Set up mppi
This commit is contained in:
@@ -14,6 +14,7 @@ bt_navigator:
|
|||||||
- compute_path_error_code
|
- compute_path_error_code
|
||||||
- follow_path_error_code
|
- follow_path_error_code
|
||||||
|
|
||||||
|
|
||||||
behavior_server:
|
behavior_server:
|
||||||
ros__parameters:
|
ros__parameters:
|
||||||
local_costmap_topic: local_costmap/costmap_raw
|
local_costmap_topic: local_costmap/costmap_raw
|
||||||
@@ -48,17 +49,19 @@ global_costmap:
|
|||||||
publish_frequency: 1.0
|
publish_frequency: 1.0
|
||||||
global_frame: map
|
global_frame: map
|
||||||
robot_base_frame: base_footprint
|
robot_base_frame: base_footprint
|
||||||
robot_radius: 0.17
|
robot_radius: 0.18
|
||||||
track_unknown_space: false
|
track_unknown_space: false
|
||||||
rolling_window: false
|
rolling_window: false
|
||||||
plugins: ["static_layer", "inflation_layer"]
|
plugins: ["static_layer", "inflation_layer"]
|
||||||
static_layer:
|
static_layer:
|
||||||
plugin: "nav2_costmap_2d::StaticLayer"
|
plugin: "nav2_costmap_2d::StaticLayer"
|
||||||
|
footprint_clearing_enabled: false
|
||||||
map_subscribe_transient_local: True
|
map_subscribe_transient_local: True
|
||||||
inflation_layer:
|
inflation_layer:
|
||||||
plugin: "nav2_costmap_2d::InflationLayer"
|
plugin: "nav2_costmap_2d::InflationLayer"
|
||||||
cost_scaling_factor: 3.0
|
footprint_clearing_enabled: false
|
||||||
inflation_radius: 0.25
|
cost_scaling_factor: 12.0
|
||||||
|
inflation_radius: 0.40
|
||||||
always_send_full_costmap: True
|
always_send_full_costmap: True
|
||||||
|
|
||||||
local_costmap:
|
local_costmap:
|
||||||
@@ -67,12 +70,14 @@ local_costmap:
|
|||||||
update_frequency: 5.0
|
update_frequency: 5.0
|
||||||
publish_frequency: 2.0
|
publish_frequency: 2.0
|
||||||
footprint: "[[-0.13, 0.16], [0.13, 0.16], [0.13, -0.16], [-0.13, -0.16]]"
|
footprint: "[[-0.13, 0.16], [0.13, 0.16], [0.13, -0.16], [-0.13, -0.16]]"
|
||||||
global_frame: odom
|
footprint_padding: 0.02
|
||||||
|
#robot_radius: 0.18
|
||||||
|
global_frame: map
|
||||||
robot_base_frame: base_footprint
|
robot_base_frame: base_footprint
|
||||||
rolling_window: true
|
rolling_window: true
|
||||||
width: 2
|
width: 1
|
||||||
height: 2
|
height: 1
|
||||||
resolution: 0.025
|
resolution: 0.01
|
||||||
introspection_mode: "disabled"
|
introspection_mode: "disabled"
|
||||||
plugins: ["static_layer", "inflation_layer"]
|
plugins: ["static_layer", "inflation_layer"]
|
||||||
static_layer:
|
static_layer:
|
||||||
@@ -80,8 +85,8 @@ local_costmap:
|
|||||||
map_subscribe_transient_local: True
|
map_subscribe_transient_local: True
|
||||||
inflation_layer:
|
inflation_layer:
|
||||||
plugin: "nav2_costmap_2d::InflationLayer"
|
plugin: "nav2_costmap_2d::InflationLayer"
|
||||||
cost_scaling_factor: 3.0
|
cost_scaling_factor: 10.0
|
||||||
inflation_radius: 0.25
|
inflation_radius: 0.45
|
||||||
|
|
||||||
planner_server:
|
planner_server:
|
||||||
ros__parameters:
|
ros__parameters:
|
||||||
@@ -107,13 +112,51 @@ controller_server:
|
|||||||
progress_checker:
|
progress_checker:
|
||||||
plugin: "nav2_controller::SimpleProgressChecker"
|
plugin: "nav2_controller::SimpleProgressChecker"
|
||||||
required_movement_radius: 0.05
|
required_movement_radius: 0.05
|
||||||
movement_time_allowance: 10.0
|
movement_time_allowance: 5.0
|
||||||
goal_checker:
|
goal_checker:
|
||||||
plugin: "nav2_controller::SimpleGoalChecker"
|
plugin: "nav2_controller::SimpleGoalChecker"
|
||||||
xy_goal_tolerance: 0.10
|
xy_goal_tolerance: 0.10
|
||||||
yaw_goal_tolerance: 0.10
|
yaw_goal_tolerance: 0.10
|
||||||
stateful: True
|
stateful: True
|
||||||
FollowPath:
|
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
|
||||||
|
# vtheta_samples: 20
|
||||||
|
# sim_time: 1.7
|
||||||
|
# linear_granularity: 0.05
|
||||||
|
# angular_granularity: 0.025
|
||||||
|
# transform_tolerance: 0.2
|
||||||
|
# xy_goal_tolerance: 0.10
|
||||||
|
# trans_stopped_velocity: 0.25
|
||||||
|
# short_circuit_trajectory_evaluation: True
|
||||||
|
# limit_vel_cmd_in_traj: False
|
||||||
|
# stateful: True
|
||||||
|
# critics: ["RotateToGoal", "Oscillation", "ObstacleFootprint", "GoalAlign", "PathAlign", "PathDist", "GoalDist"]
|
||||||
|
# ObstacleFootprint.scale: 1.00
|
||||||
|
# PathAlign.scale: 32.0
|
||||||
|
# GoalAlign.scale: 24.0
|
||||||
|
# PathAlign.forward_point_distance: 0.05
|
||||||
|
# GoalAlign.forward_point_distance: 0.05
|
||||||
|
# PathDist.scale: 32.0
|
||||||
|
# GoalDist.scale: 24.0
|
||||||
|
# RotateToGoal.scale: 32.0
|
||||||
|
# RotateToGoal.slowing_factor: 5.0
|
||||||
|
# RotateToGoal.lookahead_time: -1.0
|
||||||
plugin: "nav2_mppi_controller::MPPIController"
|
plugin: "nav2_mppi_controller::MPPIController"
|
||||||
time_steps: 56
|
time_steps: 56
|
||||||
model_dt: 0.05
|
model_dt: 0.05
|
||||||
@@ -137,16 +180,29 @@ controller_server:
|
|||||||
gamma: 0.015
|
gamma: 0.015
|
||||||
motion_model: "DiffDrive"
|
motion_model: "DiffDrive"
|
||||||
visualize: true
|
visualize: true
|
||||||
|
publish_optimal_trajectory: true
|
||||||
regenerate_noises: true
|
regenerate_noises: true
|
||||||
TrajectoryVisualizer:
|
TrajectoryVisualizer:
|
||||||
trajectory_step: 5
|
trajectory_step: 5
|
||||||
time_step: 3
|
time_step: 3
|
||||||
|
TrajectoryValidator:
|
||||||
|
# The validator can be configured with additional parameters if needed.
|
||||||
|
plugin: "mppi::DefaultOptimalTrajectoryValidator"
|
||||||
|
collision_lookahead_time: 1.0 # Time to look ahead to check for collisions
|
||||||
|
consider_footprint: true # Whether to consider the full robot's footprint (or circle) in trajectory validation collision checks
|
||||||
AckermannConstraints:
|
AckermannConstraints:
|
||||||
min_turning_r: 0.2
|
min_turning_r: 0.2
|
||||||
critics: [
|
critics:
|
||||||
"ConstraintCritic", "CostCritic", "GoalCritic",
|
[
|
||||||
"GoalAngleCritic", "PathAlignCritic", "PathFollowCritic",
|
"ConstraintCritic",
|
||||||
"PathAngleCritic", "PreferForwardCritic"]
|
"CostCritic",
|
||||||
|
"GoalCritic",
|
||||||
|
"GoalAngleCritic",
|
||||||
|
"PathAlignCritic",
|
||||||
|
"PathFollowCritic",
|
||||||
|
"PathAngleCritic",
|
||||||
|
"PreferForwardCritic",
|
||||||
|
]
|
||||||
ConstraintCritic:
|
ConstraintCritic:
|
||||||
enabled: true
|
enabled: true
|
||||||
cost_power: 1
|
cost_power: 1
|
||||||
@@ -172,7 +228,7 @@ controller_server:
|
|||||||
cost_weight: 3.81
|
cost_weight: 3.81
|
||||||
near_collision_cost: 253
|
near_collision_cost: 253
|
||||||
critical_cost: 300.0
|
critical_cost: 300.0
|
||||||
consider_footprint: false
|
consider_footprint: true
|
||||||
collision_cost: 1000000.0
|
collision_cost: 1000000.0
|
||||||
near_goal_distance: 1.0
|
near_goal_distance: 1.0
|
||||||
trajectory_point_step: 2
|
trajectory_point_step: 2
|
||||||
|
|||||||
Reference in New Issue
Block a user