Ask Your Question

Problem with local planner using navigation stack

asked 2015-10-12 05:18:37 -0500

mohsen1989m gravatar image

updated 2015-10-12 05:22:31 -0500

Hello guys,

I am trying to run my robot with navigation stack. It is a four track differential robot as it is shown in the picture below. I am using gmapping instead of amcl so I will discover and update the map as I go along.

image description

I followed all the step in navigation stack tutorial and my mapping and localization seem to work fine.

However, there are some issues:

1- under local_costmap topic I have neither obstacles nor inflated obstacles. instead I have this:

image description

2- when I send a goal to navigation stack the global path is fine, but strange curly local path is being created and the robot as a result wanders around the global path. Please take a look at this video that I recorded of my screen.

I am considering everything 2D so in the TF tree (base_link - base_laser) I ignore height of the my laser scanner. Here is my parameters:

cost_map common parameters
obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[0.5, -0.45], [-0.5, -0.45], [-0.5, 0.45], [0.5, 0.45], [0.6, 0.0]]
#robot_radius: ir_of_robot
inflation_radius: 0.1

observation_sources: SICK

SICK: {sensor_frame: base_laser, data_type: LaserScan, topic: /scan, marking: true, clearing: true}

  global_frame: /map
  robot_base_frame: base_link
  update_frequency: 3
  static_map: true
  map_type: costmap

  global_frame: odom
  robot_base_frame: base_link
  update_frequency: 5.0
  publish_frequency: 2.0
  static_map: false
  rolling_window: true
  width: 6.0
  height: 6.0
  resolution: 0.05
  map_type: costmap

  max_vel_x: 0.25
  min_vel_x: 0.1
  max_vel_theta: 0.5
  min_in_place_vel_theta: 0.2

  acc_lim_theta: 1.2
  acc_lim_x: 1.5
  acc_lim_y: 1.5

  xy_goal_tolerance: 0.2
  yaw_goal_tolerance: 0.09
  holonomic_robot: false

  meter_scoring: true
  sim_time: 0.5
  sim_granularity: 0.025
  angular_sim_granularity: 0.025
  vx_samples: 3
  vtheta_samples: 20

Any ideas how to solve the problem?

Thank you very much in advance :)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-10-14 08:50:14 -0500

mohsen1989m gravatar image

Finally found the problem. there was a different standard in defining positive radial speed in my robot. In other words, either clockwise rotation is a positive or negative value .

I already figured out this mismatch in defining odometry, the problem was I forgot to apply the same idea in the speed command that I was sending to the rover.

edit flag offensive delete link more


Hi, I am having the same problem as you described: "when I send a goal to navigation stack the global path is fine, but strange curly local path is being created and the robot as a result wanders around the global path." However in your video I don't see this behaviour, I only see your robot turning in place. Also I don't understand how a mismatch in the positive or negative rotations would influence the local path, since this path is made before your robot actually moves. Did you have the same behaviour as you see in my video?:

SimonDahrs gravatar image SimonDahrs  ( 2019-12-17 04:46:19 -0500 )edit

Hi @SimonDahrs, maybe your local costmap is not good. Check this guide:, it was very useful for me.

schulze18 gravatar image schulze18  ( 2020-02-17 06:15:01 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2015-10-12 05:18:37 -0500

Seen: 293 times

Last updated: Oct 14 '15