πŸ‰D.10 DWB Planner

α€žα€°α€·α€€ default controller ( default local planner ) ပဲ။

နမူနာ

controller_server:
  ros__parameters:
    # controller server parameters (see Controller Server for more info)
    use_sim_time: True
    controller_frequency: 20.0
    min_x_velocity_threshold: 0.001
    min_y_velocity_threshold: 0.5
    min_theta_velocity_threshold: 0.001
    progress_checker_plugins: ["progress_checker"] # progress_checker_plugin: "progress_checker" For Humble and older
    goal_checker_plugins: ["goal_checker"]
    controller_plugins: ["FollowPath"]
    progress_checker:
      plugin: "nav2_controller::SimpleProgressChecker"
      required_movement_radius: 0.5
      movement_time_allowance: 10.0
    goal_checker:
      plugin: "nav2_controller::SimpleGoalChecker"
      xy_goal_tolerance: 0.25
      yaw_goal_tolerance: 0.25
      stateful: True
    # DWB controller parameters
    FollowPath:
      plugin: "dwb_core::DWBLocalPlanner"
      debug_trajectory_details: True
      min_vel_x: 0.0
      min_vel_y: 0.0
      max_vel_x: 0.26
      max_vel_y: 0.0
      max_vel_theta: 1.0
      min_speed_xy: 0.0
      max_speed_xy: 0.26
      min_speed_theta: 0.0
      acc_lim_x: 2.5
      acc_lim_y: 0.0
      acc_lim_theta: 3.2
      decel_lim_x: -2.5
      decel_lim_y: 0.0
      decel_lim_theta: -3.2
      vx_samples: 20
      vy_samples: 5
      vtheta_samples: 20
      sim_time: 1.7
      linear_granularity: 0.05
      angular_granularity: 0.025
      transform_tolerance: 0.2
      xy_goal_tolerance: 0.25
      trans_stopped_velocity: 0.25
      short_circuit_trajectory_evaluation: True
      stateful: True
      critics: ["RotateToGoal", "Oscillation", "BaseObstacle", "GoalAlign", "PathAlign", "PathDist", "GoalDist"]
      BaseObstacle.scale: 0.02
      PathAlign.scale: 32.0
      GoalAlign.scale: 24.0
      PathAlign.forward_point_distance: 0.1
      GoalAlign.forward_point_distance: 0.1
      PathDist.scale: 32.0
      GoalDist.scale: 24.0
      RotateToGoal.scale: 32.0
      RotateToGoal.slowing_factor: 5.0
      RotateToGoal.lookahead_time: -1.0

ControllerΒΆ

DWB Controller

Name
Description
Type
Default

critics

list of critics plugins to use

vector<string>

N/A

default_critics_namespace

Namespaces of load critics in

vector<string>

["dwb_critics"]

prune_plan

Whether to prune the path of old, passed points. (α€œα€™α€Ία€Έα€Ÿα€±α€¬α€„α€Ία€Έ,α€–α€Όα€α€Ία€α€²α€·α€žα€±α€¬α€‘α€™α€Ύα€α€Ία€α€½α€±α€€α€­α€― α€–α€Όα€α€Ία€žα€½α€¬α€Έα€α€»α€„α€Ία€Έα€›α€Ύα€­α€™α€›α€Ύα€­ )

bool

TRUE

shorten_transformed_plan

Determines whether we will pass the full plan on to the critics.

bool

TRUE

prune_distance

Distance (m) to prune backward until.

double

2.0

forward_prune_distance

Distance (m) to prune forward until. If set to -1, it will search the full path for the closest point, in the case of no replanning.

double

2.0

debug_trajectory_details

Publish debug information (on what topic???).

bool

FALSE

trajectory_generator_name

Trajectory generator plugin name.

string

β€œdwb_plugins:: StandardTrajectory Generator”

goal_checker_name

goal checker plugin name

string

"dwb_plugins:: SimpleGoalChecker”

transform_tolerance

TF transform tolerance (s)

double

0.1

short_circuit_trajectory_evaluation

Stop evaluating score after best score is found

bool

TRUE

path_distance_bias(Legacy)

Old version of PathAlign.scale, use that instead

double

N/A

goal_distance_bias(Legacy)

Old version of GoalAlign.scale, use that instead

double

N/A

occdist_scale(Legacy)

Old version of ObstacleFootprint.scale, use that instead

double

N/A

max_scaling_factor(Legacy)

Old version of ObstacleFootprint.max_scaling_factor, use that instead

double

N/A

scaling_speed(Legacy)

Old version of ObstacleFootprint.scaling_speed, use that instead

double

N/A

PathAlign.scale

Scale for path align critic, overriding local default.

double

32.0

GoalAlign.scale

Scale for goal align critic, overriding local default.

double

24.0

PathDist.scale

Scale for path distance critic, overriding local default.

double

32.0

GoalDist.scale

Scale for goal distance critic, overriding local default.

double

24.0

XYTheta Iterator

Name
Description
Type
Default

vx_samples

Number of velocity samples in the X velocity direction

int

20

vy_samples

Number of velocity samples in the Y velocity direction

int

5

vtheta_samples

Number of velocity samples in the angular velocity direction

int

20

Kinematic Parameters

Name
Description
Type
Default

max_val_theta

maximum angular velocity (rad/s)

double

0.0

min_speed_xy

minimum translation speed (m/s)

double

0.0

max_speed_xy

maximum translation speed (m/s)

double

0.0

min_speed_theta

minimum angular speed (rad/s)

double

0.0

min_vel_x

minimum velocity X (m/s)

double

0.0

min_vel_y

minimum velocity Y (m/s)

double

0.0

max_vel_x

maximum velocity X (m/s)

double

0.0

max_vel_y

maximum velocity Y (m/s)

double

0.0

acc_lim_x

maximum acceleration X (m/s^2)

double

0.0

acc_lim_y

maximum acceleration Y (m/s^2)

double

0.0

acc_lim_theta

maximum acceleration rotation (rad/s^2)

double

0.0

decel_lim_x

maximum deceleration X (m/s^2)

double

0.0

decel_lim_y

maximum deceleration Y (m/s^2)

double

0.0

decel_lim_theta

maximum deceleration rotation (rad/s^2)

double

0.0

Publisher

Name
Description
Type
Default

publish_evaluation

whether to publish the local plan evaluation

bool

TRUE

publish_global_plan

whether to publish the global plan

bool

TRUE

publish_transform_plan

whether to publish the global plan in the odometry frame

bool

TRUE

publish_local_plan

whether to publish the local planner's plan

bool

TRUE

publish_trajectories

whether to publish debug trajectories

bool

TRUE

publish_cost_grid_pc

whether to publish the cost grid

bool

FALSE

maker_lifetime

How long for the maker to remain

double

0.1

PluginsΒΆ

The plugins listed below are inside the dwb_plugins namespace.

LimitedAccelGenerator

Name
Description
Type
Defalut

sim_time

Time to simulate ahead by (s)

double

1.7

StandardTrajectoryGenerator

Name
Description
Type
Defalut

sim_time

Time to simulate ahead by (s)

double

1.7

discretize_by_time

If true, forward simulate by time. If False, forward simulate by linear and angular granularity.

bool

FALSE

time_granularity

Time ahead to project

double

0.5

linear_granularity

Linear distance forward to project

double

0.5

angular_granularity

Angular distance to project

double

0.025

include_last_point

Whether to include the last pose in the trajectory

bool

TRUE

Trajectory CriticsΒΆ

The trajectory critics listed below are inside the dwb_critics namespace.

BasicObstacleCritic

Name
Description
Type
Default

sum_scores

Whether to allow for scores to be summed up.

bool

FALSE

scale

Weighed scale for critic.

double

1.0

GoalAlignCritic

Name
Description
Type
Default

forward_point_distance

Point in front of robot to look ahead to compute angular change from. ( angular α€•α€Όα€±α€¬α€„α€Ία€Έα€œα€²α€™α€Ύα€―α€€α€­α€― တွကိချက်ရန် robot α€›α€Ύα€±α€·α€žα€­α€―α€· α€Šα€½α€Ύα€”α€Ία€Έα€•α€«)

double

0.325

aggregation_type

last, sum, or product combination methods.

string

"last"

scale

Weighed scale for critic.

double

1.0

GoalDistCritic

Name
Description
Type
Default

aggregation_type

last, sum, or product combination methods.

string

"last"

scale

Weighed scale for critic.

double

1.0

ObstacleFootprintCritic

Name
Description
Type
Default

sum_scores

Whether to allow for scores to be summed up.

bool

FALSE

scale

Weighed scale for critic.

double

1.0

OscillationCritic

Name
Description
Type
Default

oscillation_reset_dist

Minimum distance to move to reset oscillation watchdog (m). (oscillation reset α€œα€―α€•α€Ία€›α€”α€Ία€α€½α€€α€Ί α€›α€½α€±α€·α€›α€”α€Ί α€‘α€”α€Šα€Ία€Έα€†α€―α€Άα€Έ ထကွာဝေး)

double

0.05

oscillation_reset_angle

Minimum angular distance to move to reset watchdog (rad).

double

0.05

oscillation_reset_time

Duration when a reset may be called. If -1, cannot be reset..

double

-1

x_only_threshold

Threshold to check in the X velocity direction.

double

0.05

scale

Weighed scale for critic.

double

1.0

PathAlignCritic

Name
Description
Type
Default

forward_point_distance

Point in front of robot to look ahead to compute angular change from. ( angular α€•α€Όα€±α€¬α€„α€Ία€Έα€œα€²α€™α€Ύα€―α€€α€­α€― တွကိချက်ရန် robot α€›α€Ύα€±α€·α€žα€­α€―α€· α€Šα€½α€Ύα€”α€Ία€Έα€•α€«)

double

0.325

aggregation_type

last, sum, or product combination methods.

string

"last"

scale

Weighed scale for critic.

double

1.0

PathDistCritic

Name
Description
Type
Default

aggregation_type

last, sum, or product combination methods.

string

"last"

scale

Weighed scale for critic.

double

1.0

PreferForwardCritic

Name
Description
Type
Default

Penalty

penalty to apply the backward motion

double

1.0

strafe_x

Minimum X velocity before penalty.

double

0.1

strafe_theta

Minimum angular velocity before penalty

double

0.2

theta_scale

Weight for anuglar velocity component

double

10.0

scale

Weighed scale for critic.

double

1.0

RotateToGoalCritic

Name
Description
Type
Default

xy_goal_tolerance

Tolerance to meet goal completion criteria (m).

double

0.25

trans_stopped_velocity

Velocity below is considered to be stopped at tolerance met (rad/s).

double

0.25

.slowing_factor

Factor to slow robot motion by while rotating to goal.

double

5.0

lookahead_time

If > 0, amount of time to look forward for a collision for..

double

-1

scale

Weighed scale for critic.

double

1.0

TwirlingCritic

Name
Description
Type
Default

scale

Weighed scale for critic.

double

1.0

Last updated