MP-500 Autonomous Navigation

http://www.neobotix-robots.com/mobile-robot-mp-500.html


SLAM (slam_gmapping) with MoveBase

Launch

roslaunch neo_mp_500 navigation_basic_slam.launch

Nodes

Autonomous navigation consists of two main parts.

  • Localization
  • Path planning and execution

In this case localization is done by gmapping, a SLAM-Algorithm.

Within ROS there is a powerful package called move_base for path planning and execution using different plugins.

The following sections will cover the basics to use those packages together with Neobotix mobile robots.

SLAM gmapping

Coming Soon

Map Server

Coming Soon

Move Base

Coming Soon

Usage

Start RVIZ

For the MP-500 we created a ready to use RVIZ configuration, that can be extended to your needs.

Usually you want to launch RVIZ on a different PC that is connected to the same network as the MP-500. The PC has to be configured to connect to the remote ROS-Master. For help visit NetworkSetup

roslaunch neo_mp_500 rviz_navigation.launch

Create a map

After all packages in bringup.launch and navigation_basic_slam.launch are started up, gmapping starts to create the map immediately using the given sensor data. To extend the map, move the robot around using the joystick. To observe the grow of the map you can use RVIZ.

Hint: move the MP-500 slowly and steadily while gmapping creates the map, to get a better result

Save current map

As soon as you are satisfied with the map you can save it to a file using map_server.

rosrun map_server map_saver -f myfilename

This command creates a myfilename.pgm and myfilename.yaml within your active folder.

Define a goal position

Sending a goal position to move_base can be done in different ways:

  1. Open RVIZ and push the 2D Nav Goal button

  2. Publish geometry_msgs/PoseStamped to topic move_base_simple/goal

  3. Using actions


AMCL with MoveBase

Launch

roslaunch neo_mp_500 navigation_basic_amcl.launch

Nodes

Autonomous navigation consists of two main parts.

  • Localization
  • Path planning and execution

In this case localization is done using an algorithm called amcl. amcl uses a given map to match data in form of sensor_msgs/LaserScan with the occupied parts of the map.

Within ROS there is a powerful package called move_base for path planning and execution using different plugins.

The following sections will cover the basics to use those packages together with Neobotix mobile robots.

AMCL

Coming Soon

Map Server

Coming Soon

Move Base

Coming Soon

Usage

Define a map to use with amcl

As descried above, amcl uses a given map. On default, maps are stored in neo_mp_500/configs/navigation/maps/. Put both files (.pgm and .yaml) into this folder. You can have multiple maps stored there.

To select a map add the following command to you ~/.baschrc

export MAP_NAME=mynewmap

Define a goal position

Sending a goal position to move_base can be done in different ways:

  1. Open RVIZ and push the 2D Nav Goal button

  2. Publish geometry_msgs/PoseStamped to topic move_base_simple/goal

  3. Using actions


Wiki: Robots/neobotix/mp_500/navigation_setup (last edited 2019-04-30 14:49:12 by NeoNik)