ROS (Robot Operating System)
(→Localization) |
|||
| Line 25: | Line 25: | ||
== Navigation == | == 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. | 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 === | + | === 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: | ||
| + | * Merge sensor data from the GPS and P2OS interface. | ||
| + | * Apply the EKF filter to this data. | ||
| + | * Publish the information on the message bus for the nav stack to use. | ||
| + | |||
TODO | TODO | ||
We need to get this working to have the robot pose: http://ros.org/wiki/urdf/Tutorials/Using%20urdf%20with%20robot_state_publisher | We need to get this working to have the robot pose: http://ros.org/wiki/urdf/Tutorials/Using%20urdf%20with%20robot_state_publisher | ||
Revision as of 14:14, 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
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
It looks like for the pose we need to use robot_pose_ekf to:
- Merge sensor data from the GPS and P2OS interface.
- Apply the EKF filter to this data.
- 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
- 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