ROS (Robot Operating System)

From GICL Wiki
Revision as of 12:36, 29 April 2012 by Jryan (Talk | contribs)

Jump to: navigation, search

We're using ROS to do our work so we can easily translate it to the robot. http://www.ros.org/wiki/

Contents

p2os

The ROS stack for hooking up to the pioneer. Here is an example of our robot using ROS and the navigation system: http://youtu.be/f3Iu2t0d3xo

Installing

http://www.ros.org/wiki/p2os/Tutorials/Getting%20Started%20with%20p2os

After following the directions above, we have to set the p2os/port to our cable's device name:

$ rosparam set p2os/port /dev/ttyUSB0

Running

Run on the base:

$ rosrun p2os_driver p2os

Run on the computer controlling the base:

$ rosrun p2os_dashboard p2os_dashboard

If you get an error like:

P2OS connection opening serial port /dev/ttyS0...

This command should fix it:

$ rosparam set p2os/port /dev/ttyUSB0

Control with Keyboard

After starting the p2os driver and everything, you can control the robot via keyboard with:

$ roslaunch p2os_launch teleop_keyboard.launch

Navigation

There are two major parts to getting Navigation setup/working. First we have to setup the robot, and the ROS software to publish the needed information on the ROS message bus. Then we have to setup the navigation package to interact with these messages.

Localization

TODO We need to get this working to have the robot pose: http://ros.org/wiki/urdf/Tutorials/Using%20urdf%20with%20robot_state_publisher

!! - Updated April 19th

Point Cloud Library

SLAM, tf, Navigation

To get rviz to work put this in your .bashrc

export OGRE_RTT_MODE=FBO