Difference between revisions of "ROS (Robot Operating System)"

From GICL Wiki
Jump to: navigation, search
(Localization)
Line 23: Line 23:
 
<pre>$ roslaunch p2os_launch teleop_keyboard.launch</pre>
 
<pre>$ roslaunch p2os_launch teleop_keyboard.launch</pre>
  
== 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/Pose ===
 
* http://answers.ros.org/question/12663/gps-navigation
 
* http://ros.org/wiki/robot_pose_ekf
 
  
It looks like for the pose we need to use robot_pose_ekf to:
+
== rviz ==
* Merge sensor data from the GPS and P2OS interface.
+
To get rviz to work put this in your .bashrc:
* Apply the EKF filter to this data.
+
<pre>export OGRE_RTT_MODE=FBO</pre>
* Publish the information on the message bus for the nav stack to use.
+
 
+
TODO
+
We need to get this working to have the robot pose: http://ros.org/wiki/urdf/Tutorials/Using%20urdf%20with%20robot_state_publisher
+
* Do http://ros.org/wiki/navigation/Tutorials/RobotSetup step-by-step.
+
 
+
!! - Updated April 19th
+
 
+
* http://ros.org/wiki/ROS/Higher-Level%20Concepts
+
* http://ros.org/wiki/tf
+
* http://www.ros.org/wiki/stage
+
* http://www.ros.org/wiki/base_local_planner
+
* http://ros.org/wiki/navigation
+
* http://ros.org/wiki/robot_pose_ekf/Tutorials/AddingGpsSensor
+
* http://ros.org/wiki/robot_pose_ekf
+
* http://ros.org/wiki/amcl
+
* http://ros.org/wiki/tf/Tutorials/Introduction%20to%20tf
+
* http://www.ros.org/doc/api/nav_msgs/html/msg/Odometry.html
+
* http://www.ros.org/doc/api/sensor_msgs/html/msg/Imu.html
+
* http://www.ros.org/wiki/navigation/Tutorials/RobotSetup
+
 
+
== Point Cloud Library ==
+
* http://www.pointclouds.org
+
* http://www.ros.org/wiki/pcl
+
== SLAM, tf, Navigation ==
+
* This diagram is important http://www.ros.org/wiki/navigation/Tutorials/RobotSetup?action=AttachFile&do=get&target=overview_tf.png.
+
* Currently we don't think we have any sensor transforms.
+
* tf references a "world frame" -- is this our map?
+
 
+
== To get rviz to work put this in your .bashrc ==
+
export OGRE_RTT_MODE=FBO
+

Revision as of 14:18, 29 April 2012

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


rviz

To get rviz to work put this in your .bashrc:

export OGRE_RTT_MODE=FBO