# Base local vs DWA planner for omnidirectional platform

I have a omnidirectional mobile platform , which it has the follow measures:

length:2550 mm
width:1700 mm


The cinematic measures are:

Max Linear Velocity:          1m/sec
Max Linear Acceleration    0.15m/sec

Max Angular Velocity (rotation):    0.8 rad/sec


As you can see, the acceleration limits are too small. I need to use a path planner to send trajectories to the robot driver. To take advantage of the benefits of omnidirectional movement, is important that the planner be capable of plan paths in all direction, backward, and lateral inclusive. I have used both planners, Base Local and DWA and with DWA the results are a disaster. I have a doubt with the planner parameters: For example: in Base Local, are this the correct value of parameters?

  transform_tolerance: 0.3
max_vel_x: 1.0
min_vel_x: 0.1 Can i put here a negative value of the max_vel_x, so that the robot moves backward?

max_rotational_vel: 0.8
min_in_place_rotational_vel: 0.1

acc_lim_th: 0.12
acc_lim_x: 0.15
acc_lim_y: 0.15

holonomic_robot: true
y_vels: '-1.0, -0.1, 0.1, 1.0'

xy_goal_tolerance: 0.1
yaw_goal_tolerance: 0.1

vx_samples: 3
vtheta_samples: 20
controller_frequency: 10.0
sim_time: 1.7
sim_granularity: 0.025
meter_scoring: true

pdist_scale: 0.2
gdist_scale: 0.8
occdist_scale: 0.01

dwa: false
oscillation_reset_dist: 0.05


The problem is that the plan generates paths like a car, no like a holonomic robot, that is to say, if i send a goal pose in the same direction but a little before that the robot is, it should moves backward simply, instead, it makes a 180 degrees rotation, then moves straight, and finally makes a 180 degrees rotation again. This is no good for me.

The DWA parameter values are:

acc_lim_x: 0.15
acc_lim_y: 0.15
acc_lim_th: 0.12

max_vel_x: 1.0
min_vel_x: -1.0
max_vel_y: 1.0
min_vel_y: -1.0
max_trans_vel: 1.0
min_trans_vel: 0.1
max_rot_vel: 0.8
min_rot_vel: 0.1

yaw_goal_tolerance: 0.1
xy_goal_tolerance: 0.1

sim_time: 1.7
sim_granularity: 0.025

vx_samples: 8
vy_samples: 10
vtheta_samples: 20

penalize_negative_x: false
# controller_frequency: 20.0

path_distance_bias: 24.0
goal_distance_bias: 32.0
occdist_scale: 0.01
forward_point_distance: 0.0
stop_time_buffer: 0.5

scaling_speed: 0.25
max_scaling_factor: 0.2

oscillation_reset_dist: 0.05
rot_stopped_vel: 0.01
trans_stopped_vel: 0.01
sim_period: 0.1
use_dwa: false


For global plan i use the navfn planner.

Is something wrong? Apologies because the text is so large. Thank you very much for your help ;)

edit retag close merge delete

1

Did you try setting min_vel_x to a negative value for base_local_planner?

( 2014-03-12 08:59:22 -0500 )edit

Yes, I tried. But with the same results. I need the DWA planner to take advantage of the benefits of omnidirectional movement. Thank you very much for your contribution

( 2014-03-13 04:32:04 -0500 )edit
1

DWA planner is not very good at handling omnidirectional robot, try teb_local_planner or eband_local_planner

( 2018-06-19 07:00:43 -0500 )edit