MPO_500 Navigation Setup

Launch File

1. SLAM map building with MPO_500:

roslaunch neo_mpo_500 mpo_500_gmapping.launch

2. Navigation of MPO_500:

roslaunch neo_mpo_500 mpo_500_nav.launch


After the launch of the gmapping.launch file, the robot should be moved around the environment with the help of joystick until the map of that environment is built. Thereafter the map built is saved as a file by the following command:

rosrun map_server map_saver -f /tmp/my_map

Autonomous Navigation

First the built map has to be added to the .bashrc file,

(Example) export MAP_NAME=neobotixmap.yaml

{i} The following are the necessary parameters to be set before commanding robot for autonomous navigation:

AMCL Parameters

1. Parameters and launch file

Costmap Parameters

1. Global costmap parameters

2. Local costmap parameters

3. Common costmap parameters

Local Planners

Available local planners:

1. Teb local planner

Shows omni-directional behavior

2. DWA local planner

Shows no omni-directional behavior

3. Trajectory local planner

Shows no omni-directional behavior

4. EBand local pLanner

Shows no omni-directional behavior

Nodes and Topics Interaction

Map_server Node

Map server node publishes information on map resolution, map width and height and map origin over the topic /map_metadata and also publishes the map saved in the disk over the topic /map which is converted from colour values in the map to ternary occupancy values(free:0, occupied:100, unknown:-1).


AMCL node fetching information of laser scanned map data over the topic /map, scans data over the topic /cob_scan_unifier/scan_unified and initialpose gives the pose estimate of the robot.

Move_base Node

Subricbed Topics - /map data, /odometry data, /tf information and also the /scan data.

Based on the goal set, the /move_base node sends velocity commands to the /mecanum_node over the topic /cmd_vel to move the robot around.

In Rviz

Localize the MPO_500

When starting up, the MPO_500 does not know where it is. To provide him its approximate location on the map:

  1. Click the "2D Pose Estimate" button
  2. Click on the map where the MPO_500 approximately is located and drag in the direction the robot is pointing.

Repeat the procedure unitl the robot's amcl pose arrays are in-line with the walls.

Set the fixed frame to "map" in Rviz global options to use the "2D Pose Estimate button".


The teleoperation can be run simultaneously with the navigation stack. It will override the autonomous behavior if commands are being sent. It is often a good idea to teleoperate the robot after seeding the localization to make sure it converges to a good estimate of the position.

Send a navigation goal

To send a goal:

  1. Click the "2D Nav Goal" button
  2. Click on the map where you want the robot to drive and drag in the direction the robot should be pointing at the end.

Wiki: Robots/neobotix/mpo_500/navigation_setup (last edited 2017-11-21 10:29:18 by Harsha Nagaraja)