robot turning in place towards the obstacle using dwa_local_planner [closed]

asked 2016-01-20 16:33:25 -0500

Naman gravatar image

Hi all,

I have a mobile robot with lidar, Kinect, wheel_enoders and IMU which is able to navigate properly using move_base. I am using SBPL_Lattice_Planner as the global planner which works perfectly. I am using dwa_local_planner as the local planner and sometimes, it generates in place velocities towards the obstacle although the global plan is good. I have attached two images below which shows this clearly :

Before Planning:

image description

After Planning:
image description

As you can see in the second image, the robot turned clockwise towards the obstacle. It is really weird because the robot had enough space to turn anti-clockwise and go towards the goal instead of going in the wrong direction.

dwa_local_planner_params.yaml

#For full documentation of the parameters in this file, and a list of all the
#parameters available for DWAPlannerROS, please see
#http://www.ros.org/wiki/dwa_local_planner

DWAPlannerROS:
  acc_lim_x: 2.5
  acc_lim_y: 0
  acc_lim_th: 3.0
  max_trans_vel: 0.3
  min_trans_vel: 0.1
  max_vel_x: 0.3
  min_vel_x: 0.0
  max_vel_y: 0
  min_vel_y: 0
  max_rot_vel: 0.6
  min_rot_vel: 0.4

  yaw_goal_tolerance: 0.20
  xy_goal_tolerance: 0.20
  latch_xy_goal_tolerance: false

  sim_time: 1.5
  sim_granularity: 0.025
  vx_samples: 10
  vy_samples: 0
  vtheta_samples: 20
  controller_frequency: 10
  penalize_negative_x: true

  path_distance_bias: 1.0
  goal_distance_bias: 0.8
  occdist_scale: 0.05
  forward_point_distance: 0.0
  stop_time_buffer: 0.2
  scaling_speed: 0.25
  max_scaling_factor: 0.2

  oscillation_reset_dist: 0.05

  prune_plan: false  

  sim_period: 0.1
  rot_stopped_vel: 0.01
  trans_stopped_vel: 0.01

Does anyone have any idea why is this happening? Any suggestions will be appreciated.

Naman

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2017-02-15 20:39:29.972229

Comments

Have you tried to set the min_rot_vel value to a negative one ?

F.Brosseau gravatar imageF.Brosseau ( 2016-01-21 01:58:11 -0500 )edit

If that works, it would contradict documentation...

~<name>/min_rot_vel (double, default: 0.4)
The absolute value of the minimum rotational velocity for the robot in rad/s
jorge gravatar imagejorge ( 2016-01-21 10:44:54 -0500 )edit

I was using this for a project. I have installed the source of BaseLocalPlanner package and modiied them. And I have in a config file the following code :

gen.add("min_vel_theta", double_t, 0, "The absolute value of the minimum rotational velocity for the robot in rad/s", -1.0, -20.0, 0.0)
F.Brosseau gravatar imageF.Brosseau ( 2016-01-22 02:00:17 -0500 )edit

I don't know if it was the latest version used in the projet and I don't have access to this code anymore.

F.Brosseau gravatar imageF.Brosseau ( 2016-01-22 02:01:20 -0500 )edit

Interesting contradiction... @Naman, you should definitely give @F.Brosseau a try!

jorge gravatar imagejorge ( 2016-01-22 04:42:49 -0500 )edit