EBand_local_planner does not take velocity limits into account

asked 2018-02-12 11:32:48 -0500

Totalq gravatar image

Hello.

I am deeply concerned about EBand planner. I use navigation stack in order to navigate robot - omni-wheel model simulated in Gazebo. Robots receives cmd_vel and streams feedback data over /odom topic.

I checked all of the local planners available and actually EBand planner is the only one which runs properly (rest of them makes robot rotating in place, more or less). Almost. For some reason EBand planner does not take limits defined in yaml fine if the limits are high. I mean if I define velocity limits such like 0.05 for linear speed, it works, but when I want to use limits like 1.0-2.0, the speed is capped. Concerns either linear and angular velocities.

I discovered that the maximum speed depends on k_prop -> the higher it is, the faster robot can drive. Of course, higher value of k_prop means oscillations. Is that a normal behavior? How can I fix it?

The is my base_local_planner_params.yaml

EBandPlannerROS:

#Common Parameters
  xy_goal_tolerance: 0.2
  yaw_goal_tolerance: 0.2
  rot_stopped_vel: 0.01
  trans_stopped_vel: 0.01

#Trajectory Controller Parameters
  max_vel_lin: 2.0
  max_vel_th: 1.0
  min_vel_lin: 0.0
  min_vel_th: 0.0
  max_acceleration: 1.0
  max_translational_acceleration: 1.0
  max_rotational_acceleration: 1.0

  rotation_correction_threshold: 0.5
  differential_drive: False

  #PID
  k_prop: 3.5 // the higher it is the higher velocities robot can achieve
  k_damp: 5.0

I use global_planner/GlobalPlanner as global planner

edit retag flag offensive close merge delete