Ask Your Question

Is there a local planner for car like motions? DWA planner struggles on path's end

asked 2016-02-10 09:55:20 -0500

Orhan gravatar image

updated 2016-10-24 09:07:40 -0500

ngrennan gravatar image


I'm using dwa_local_planner/DWAPlannerROS as local planner and, global_planner/GlobalPlanner as global planner.

When the goal point is in near to obstacles(1), Robot tries going directly to goal, it doesn't thinks about rotating at goal point. So, It stucks(2) at the end:

[ WARN] [1455116051.009469819, 8907.527000000]: DWA planner failed to produce path.
[ WARN] [1455116051.230953083, 8907.627000000]: Rotate recovery behavior started.
[ERROR] [1455116051.231075332, 8907.627000000]: Rotate recovery can't rotate in place because there is a potential collision. Cost: -1.00

Here is screenshot:

Rviz Screenshot

EDIT: I've set forward_point_distance to 0.0 and vy_samples to 0 by this answer, now robot tries better ways but struggling at goal point's near too (its not about goal tolerance, struggling at far than the 0.06). I've just updated navigation from ubuntu's repo's. I'll add screenshots after looking how the new packages works.

EDIT2: After updating navigation packages, It is trying to escape infinitely with struggling with little movements at near to end of the path, changing path_distance_bias and goal_distance_bias parameters doesn't make sense:

[ INFO] [1455190327.742058584, 6646.566000000]: Got new plan
[ INFO] [1455190327.908304049, 6646.664000000]: Got new plan
[ INFO] [1455190328.263322957, 6646.864000000]: Got new plan
[ INFO] [1455190328.617373718, 6647.064000000]: Got new plan
[ INFO] [1455190328.925895750, 6647.264000000]: Got new plan
[ INFO] [1455190329.222412376, 6647.465000000]: Got new plan

And screenshot: Struggling

Here is video. How can I configure dwa_local_planner to create 3rd screenshot's like plan? (Or Can I configure?) (Or Are there any global planner to operate this?)

Here is all parameters:


  use_dwa: true
  # Robot Configuration Parameters
  acc_lim_x: 20.0
  acc_lim_y: 0.0
  acc_lim_theta: 10.0
  acc_limit_trans: 0.1

  max_trans_vel: 0.55
  min_trans_vel: 0.01 
  trans_stopped_vel: 0.01
  rot_stopped_vel: 0.01

  max_vel_x: 0.55
  min_vel_x: -0.55

  max_vel_y: 0.0
  min_vel_y: 0.0

  max_rot_vel: 1.5
  min_rot_vel: 0.02

  # Goal Tolerance Parameters
  yaw_goal_tolerance: 0.03
  xy_goal_tolerance: 0.06
  latch_xy_goal_tolerance: false

  # Forward Simulation Parameters
  sim_time: 1.0
  sim_granularity: 0.1
  vx_samples: 15
  vy_samples: 10
  vtheta_samples: 20
  controller_frequency: 10.0

  # Trajectory Scoring Parameters
  path_distance_bias: 0.0  #32.0
  goal_distance_bias: 24.0 
  occdist_scale: 0.01 
  forward_point_distance: 0.0 # 2.0 # 0.325 
  stop_time_buffer: 0.2 
  scaling_speed: 0.25 
  max_scaling_factor: 0.2 

  #Oscillation Prevention Parameters
  oscillation_reset_dist: 0.05 
  oscillation_reset_angle: 0.2
  prune_plan: false

TrajectoryPlannerROS: # For RotateRecovery
  yaw_goal_tolerance: 0.03
  acc_lim_th: 10.0
  max_rotational_vel: 1.0
  min_in_place_rotational_vel: -1.0

EDIT3: Added video and updated some parameters.

edit retag flag offensive close merge delete



What kind of kinematic do you have? AFAIK, DWA is only suitable for differential and omnidirectional robots. Thus, if you have an ackermann kinematic, e.g. (i.e. you cannot rotate on the spot), this planner is not suitable for you. It cannot produce plans as in 3.

mgruhler gravatar image mgruhler  ( 2016-02-12 01:38:02 -0500 )edit

I'm using diff_drive_controller and my robot's rotation center isn't in the center of robot. It's in the back. I'm adding video of my desktop, and other planners are worst in this operation too.

Orhan gravatar image Orhan  ( 2016-02-12 02:20:55 -0500 )edit

Before an update, dwa_local_planner was working well. And here is why I'm using dwa_local_planner.

Orhan gravatar image Orhan  ( 2016-02-12 02:21:48 -0500 )edit

Is it possible if you could share your code @Orhangazi44 ?

murdock gravatar image murdock  ( 2016-04-24 07:03:59 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2016-02-16 01:17:09 -0500

Orhan gravatar image

updated 2016-04-20 02:57:31 -0500

Ok, I found solution myself again, but I'm writing for comunity. teb_local_planner/TebLocalPlannerROS is drawing 3rd screenshot like plan. But my robot isn't car like, it is not compatible with this planner and it isn't reaching the goal. This Question is answered. But I'll ask new Question for my robot, for teb_local_planner like global planner. Here is its path(blue one) :

EDIT: tebl_local_planner is updated. Please look at comments of this answer.

image description

edit flag offensive delete link more



just for the record: teb_local_planner supports now improved global path following (recent version 0.4). A new tutorial has been added. Maybe this could be interesting for someone ;-)

croesmann gravatar image croesmann  ( 2016-04-20 02:38:53 -0500 )edit

Thanks for an update! I'm editing :)

Orhan gravatar image Orhan  ( 2016-04-20 02:56:00 -0500 )edit

answered 2016-02-12 03:26:35 -0500

mgruhler gravatar image

Short answer (if this is wrong, I'd be happy to get corrected ;-) ):

You cannot achieve a plan as shown in your 3rd picture using DWA.

DWA (at least not the ROS implementation) is just not set up for this. It works best for round or square robots with the center in the middle. With your robot, you would need something which is similar to a planner for a car-like robot.

edit flag offensive delete link more


Is there a planners like this did you know? I updated Question, My problem isn't following path now. Now it is strugling (in video).

Orhan gravatar image Orhan  ( 2016-02-12 03:52:40 -0500 )edit

Thank you. I know this, but maybe local planner can follow a global plan like this, Are there any global planner for this operation?

Orhan gravatar image Orhan  ( 2016-02-12 03:55:16 -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: 2016-02-10 09:55:20 -0500

Seen: 2,531 times

Last updated: Apr 20 '16