Note: This tutorial assumes that you have completed the previous tutorials: Setting up for TidyupRobot. |
Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
Building maps for TidyupRobot
Description: This tutorial describes how to build a 2D and 3D octomap for use in the Tidyup Robot project.Keywords: tidyup, gmapping, octomap
Tutorial Level: ADVANCED
Next Tutorial: Teaching locations for running TidyupRobot
Contents
Creating a 2D map
robot start
rosrun rviz rviz
- Add an rviz map display on topic /map
Tuck the arms: roslaunch pr2_tuckarm tuck_arms.launch
Run teleop (preferably on the robot): roslaunch pr2_teleop teleop_joystick.launch
Run gmapping: rosrun gmapping slam_gmapping scan:=base_scan _odom_frame:=odom_combined
Save the map when done (before you kill gmapping): rosrun map_server map_saver -f map-tidyup
- Your map is saved locally as map-tidyup.pgm with parameters in map-tidyup.yaml
- Move the map files to tidyup_launch_tut/maps.
Creating a 3D map
robot start
rosrun rviz rviz
- Add an rviz map display on topic /map
Tuck the arms: roslaunch pr2_tuckarm tuck_arms.launch
Run teleop (preferably on the robot): roslaunch pr2_teleop teleop_joystick.launch
Load previously created map onto the map server: rosrun map_server map_server map-tidyup.yaml
Run the PR2 localization: roslaunch tidyup_executive amcl_node.xml
- Initialize the robot pose in rviz and localize robot by driving around
Start the octomap server and create a 3D map using the Kinect: roslaunch tidyup_executive octomap_mapping.launch
Save the octomap: rosrun octomap_server octomap_saver octomap-tidyup.bt
- Copy the octomap to: tidyup_launch_tut/maps