Local Planner - FontysAtWork/ESA-PROJ GitHub Wiki
This page gives information about the standard local planner used in the ROS navigation stack.
We currently use the DWA Local-Planner instead of this one since according to our testing it gives better results.
The following parameters differ from their defaults.
We changed acceleration and velocity limits because the KUKA robot overcurrents, when these were set to the defaults. We lowered these in an attempt to reduced this. If you're using a different robot you should try to change these to match the limits of your robot, however be keep in mind the fact that the values can't be too high, as the robot could be accelerating too fast to get accurate sensor data.
~<name>/acc_lim_x (double, 0.5)
The x acceleration limit of the robot in meters/sec^2
~<name>/acc_lim_y (double, 0.5)
The y acceleration limit of the robot in meters/sec^2
~<name>/max_vel_x (double, 0.3)
The maximum forward velocity allowed for the base in meters/sec
~<name>/min_vel_x (double, default: 0.1)
The minimum forward velocity allowed for the base in meters/sec. It is useful to specify this to guarantee that velocity commands sent to a mobile base are high enough to allow the base to overcome friction.
~<name>/escape_vel (double, default: -0.1)
Speed used for driving during escapes in meters/sec. Note that it must be negative in order for the robot to actually reverse. A positive speed will cause the robot to move forward while attempting to escape. New in navigation 1.3.1
~<name>/holonomic_robot (bool, default: true)
Determines whether velocity commands are generated for a holonomic or non-holonomic robot. For holonomic robots, strafing velocity commands may be issued to the base. For non-holonomic robots, no strafing velocity commands will be issued.
~<name>/acc_lim_th (double, default: 3.2)
The rotational acceleration limit of the robot in radians/sec^2
~TrajectoryPlannerROS/max_rotational_vel (double, default: 1.0)
The maximum rotational velocity allowed for the base in radians/sec
~TrajectoryPlannerROS/min_in_place_rotational_vel (double, 0.05)
The minimum rotational velocity allowed for the base while performing in-place rotations in radians/sec
~<name>/yaw_goal_tolerance (double, default: 0.05)
The tolerance in radians for the controller in yaw/rotation when achieving its goal
~<name>/xy_goal_tolerance (double, default: 0.10)
The tolerance in meters for the controller in the x & y distance when achieving a goal
We upped the sim_time slightly to give the robot slightly more time when computing trajectories
~<name>/sim_time (double, 1.7)
The amount of time to forward-simulate trajectories in seconds
~<name>/sim_granularity (double, default: 0.025)
The step size, in meters, to take between points on a given trajectory
~<name>/vx_samples (integer, default: 3)
The number of samples to use when exploring the x velocity space
~<name>/vtheta_samples (integer, 6)
The number of samples to use when exploring the theta velocity space
~<name>/heading_lookahead (double, default: 0.325)
How far to look ahead in meters when scoring different in-place-rotation trajectories
~<name>/occdist_scale (double, default: 0.01)
The weighting for how much the controller should attempt to avoid obstacles
~<name>/dwa (bool, false)
Whether to use the Dynamic Window Approach (DWA)_ or whether to use Trajectory Rollout (NOTE: In our experience DWA worked as well as Trajectory Rollout and is computationally less expensive. It is possible that robots with extremely poor acceleration limits could gain from running Trajectory Rollout, but we recommend trying DWA first.)
~<name>/oscillation_reset_dist (double, 0.01)
How far the robot must travel in meters before oscillation flags are reset