About

This stack is an implementation of the navigation stack for the youBot. It has launch files for navigating with a map provided by map_server or without a map. When navigating without a map, slam can be performed using slam_gmapping. It also has a lowpass filter node to reduce noise from odometry.

This stack has three packages: youbot_navigation_common, youbot_navigation_local, and youbot_navigation_global.

This documentation is not yet complete.

Launch Files

base_front_hokuyo_node.launch

Launches the hokuyo_node and transform publisher for the Hokuyo laser scanner. This will generate laser scans on the topic /base_scan.

move_base_local.launch

move_base_local.launch will start all necessary nodes for navigation without a map.

bringup_navigation.launch

This calls the two launch files necessary for navigation without a map, base_front_hokuyo_node.launch and move_base_local.launch.

slam.launch

This will start SLAM from slam_gmapping. Run it after running bringup_navigation.launch if you want to generate a map of the area the robot is navigating.

move_base_global.launch

amcl.launch

Launches the Adaptive Monte-Carlo Localization node, amcl, which uses a particle filter to determine the robot's location with respect to the map.

bringup_navigation_with_map.launch

Using this Package

Before launching anything, make sure youbot_wrapper and youbot_joint_state_publisher are running from youbot_common.

For slam

Bring up the navigation nodes without a map, then launch slam.

roslaunch youbot_navigation_common bringup_navigation.launch
roslaunch slam.launch

slam.launch assumes that the Hokuyo is mounted upside down, so it launches a laser_flipper to compensate. The suggested way to map a room is to manually teleoperate the robot around the room until it is reliably mapped. This can be done with youbot_teleop.

roslaunch youbot_teleop youbot_keyboard_teleop_safe.launch

When the map of the room is sufficiently complete, save it with map_server's map_saver node.

For click-to-nav

Start a map_server with the desired map. If you just ran slam, run the map_server with the map.yaml file that map_saver created.

Bring up navigation:

roslaunch youbot_navigation_common bringup_navigation_with_map.launch

The robot should now be ready to navigate. Open rviz and add the necessary displays. You'll need a Robot Model for the youBot, a Map on the /map topic for the map, a Grid Cells on the /move_base_node/local_costmap/obstacles topic for the local map, and a Laser Scan on the /base_scan topic for the laser scan. Set the fixed frame to /map. Use the '2D Nav Goal' tool to select a desired position and orientation, then watch the robot move to them.


wpi.png

rail.png

Wiki: youbot_navigation (last edited 2013-08-01 17:47:42 by AndyWolff)