10.07.2015 Views

High level software architecture for autonomous mobile robot

High level software architecture for autonomous mobile robot

High level software architecture for autonomous mobile robot

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5Implementation and testsThe <strong>architecture</strong> was implemented and tested on <strong>autonomous</strong> <strong>mobile</strong> plat<strong>for</strong>mBender II: a medium size wheeled <strong>robot</strong> with Ackerman steering, <strong>for</strong> both indoor/outdoorenvironment, equipped with odometry IRC sensors, compass, GPSmodule, CCD camera and laser range finder. Rear wheels are independentlydriven by separate Maxon RE40 DC motors with planetary gears 43:1 and chaindrives. Steering is controlled with Hitec HS-5745MG servo. Ground plan dimensionsare 600x325mm, total weight is 20kg. Batteries used are LA 2x12V, 7.2Ah,allowing about 90 minutes operating range. The control <strong>software</strong> runs on IntelMini-ITX board, which uses a simple bus driver board connected through a USBto-UARTconverter to drive the onboard RS-485 bus. All hardware devices are interconnectedby this bus (except the SICK laser scanner connected directly to thecomputers COM port). Every bus device type is controlled by a dedicated low<strong>level</strong> <strong>software</strong> layer class. Due to independently driven rear wheels the <strong>robot</strong> isequipped with a <strong>software</strong> differential, implemented by the middle-<strong>level</strong> <strong>software</strong>that also provides modules exploiting the bus devices. For example, there is anodometry module that periodically asks <strong>for</strong> data from both encoders and per<strong>for</strong>msa simple data fusion. On top of the SW differential and odometry modules is basedthe algorithm caring <strong>for</strong> the <strong>robot</strong>s ride.<strong>High</strong> <strong>level</strong> <strong>software</strong> is based on previously described <strong>architecture</strong>. It is implementedin C# with time critical routines written in various languages. Localizationroutines use PCSM algorithm [4], planning algorithms are based on Rapidly ExploringRandom Trees [5] with path smoothness and optimization module. Dynamicobstacle recognition is based on laser range finder data analysis (indoor) togetherwith image processing (outdoor).Figure 5. Robot track example

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!