Chapter 5: Programming - Omron Pioneer LX User Manual

Omron adept mobile robots platforms for research, education and development
Table of Contents

Advertisement

Table of Contents
All Pioneer 2/3-compatible platforms use a two-tier architecture. Pioneer LX's microcontroller with
embedded MARC firmware manages all the details of the robot's mobility and internal systems including
implementing velocity control of the robot platform, coordinating the motors, receiving encoder data,
integrating encoder and gyro data to determine an estimate for robot position, managing power to all
components, and more. MARC unifies the mobile robot base into a single system with one interface
channel through which software on the onboard computer can communicate and control the mobile robot
base Software running on the onboard PCs communicates with MARC to receive data and send
commands.
MTX IO
LCD
Panel
MTX
Sonar
Panel
Battery
Monitor
Joystick
Gyro
ARIA
Software communicates with MARC via a simple packet-based protocol (See Communication Packet
Protocol on page 117) via a serial connection between the robot and the embedded computer.
To support development of software, a C++ development library is provided called ARIA which
implements this protocol, provides interfaces to many accessory devices, and also includes many useful
tools for robotics and cross-platform programming. It is also possible to use ARIA in Python and Java via
wrapper libraries and Matlab via a MEX/C interface layer. ARIA installation packages can be found on
the CD or USB stick included with your robot, preinstalled on the onboard computer, and at
http://support.mobilerobots.com/wiki/ARIA. Future updates are availbale at this website as well. ARIA
can be used on Linux with the standard GNU C++ compiler and linker (g++), or on Windows with
Microsoft Visual C++. ARIA is provided as open-source software, under the terms of the GNU General
Public License (GPL). Full reference documentation is included. For more information about system
Page 51 of 134
Chapter 5:
Computer
Software with ARIA Library
TRANSLATIONAL VELOCITY,
ROTATIONAL VELOCITY,
Other Commands...
Robot
Command
Protocol
Robot Controller
MARCOS firmware
Motors, Encoders
Programming
POSITION (X,Y,Θ)
Other status...
Wireless Network
802.11 wifi
Ethernet
LAN
Laser
Rangefinder
Other
devices...

Advertisement

Table of Contents
loading

Table of Contents