Files
lms-nav2-gazebo-control/src/control_pkg/config/control_2d_sim_mkmini.yaml
T

126 lines
4.0 KiB
YAML

# File: mkmini/control_2d.yaml
# Description: Control parameters for MK-Mini (2D LiDAR)
controller_server:
ros__parameters:
use_sim_time: True
# Reeds-Shepp paths switch direction at cusps. A faster control loop keeps
# the simulated tricycle from overshooting those short reverse segments.
controller_frequency: 20.0
min_x_velocity_threshold: 0.001
min_y_velocity_threshold: 0.0
min_theta_velocity_threshold: 0.001
failure_tolerance: 1.0
progress_checker_plugin: "progress_checker"
goal_checker_plugins: ["general_goal_checker"]
controller_plugins: ["FollowPath"]
progress_checker:
plugin: "nav2_controller::SimpleProgressChecker"
required_movement_radius: 0.2
movement_time_allowance: 20.0
general_goal_checker:
plugin: "nav2_controller::SimpleGoalChecker"
xy_goal_tolerance: 0.5
yaw_goal_tolerance: 2.0
stateful: True
FollowPath:
plugin: "nav2_regulated_pure_pursuit_controller::RegulatedPurePursuitController"
# Required to track reverse segments generated by the Reeds-Shepp planner.
allow_reversing: true
use_dynamic_window: false
use_velocity_scaled_lookahead_dist: false
use_rotate_to_heading: false
use_collision_detection: true
use_regulated_linear_velocity_scaling: true
use_cost_regulated_linear_velocity_scaling: true
# Keep the carrot before the next direction-change cusp. A long
# lookahead makes a car-like controller cut across short reverse arcs.
desired_linear_vel: 0.4
min_approach_linear_velocity: 0.08
lookahead_dist: 0.35
cost_scaling_dist: 0.6
cost_scaling_gain: 1.0
approach_velocity_scaling_dist: 1.0
regulated_linear_scaling_min_radius: 1.35
regulated_linear_scaling_min_speed: 0.1
max_allowed_time_to_collision_up_to_carrot: 2.0
local_costmap:
local_costmap:
ros__parameters:
update_frequency: 10.0
publish_frequency: 5.0
global_frame: odom
robot_base_frame: base_link
use_sim_time: True
rolling_window: true
width: 3
height: 3
resolution: 0.05
# Match the MK-mini Gazebo collision bounds used by the global planner.
footprint: "[ [0.44, 0.42], [0.44, -0.42], [-0.44, -0.42], [-0.44, 0.42] ]"
plugins: ["obstacle_layer", "inflation_layer"]
inflation_layer:
plugin: "nav2_costmap_2d::InflationLayer"
cost_scaling_factor: 4.0
inflation_radius: 0.5
obstacle_layer:
plugin: "nav2_costmap_2d::ObstacleLayer"
enabled: True
origin_z: 0.0
z_resolution: 0.05
z_voxels: 16
max_obstacle_height: 2.0
mark_threshold: 0
observation_sources: scan
scan:
topic: /scan
max_obstacle_height: 2.0
clearing: True
marking: True
data_type: "LaserScan"
raytrace_max_range: 4.0
raytrace_min_range: 0.0
obstacle_max_range: 3.0
obstacle_min_range: 0.0
always_send_full_costmap: True
behavior_server:
ros__parameters:
costmap_topic: local_costmap/costmap_raw
footprint_topic: local_costmap/published_footprint
cycle_frequency: 10.0
behavior_plugins: ["backup", "drive_on_heading", "wait"]
backup:
plugin: "nav2_behaviors/BackUp"
drive_on_heading:
plugin: "nav2_behaviors/DriveOnHeading"
wait:
plugin: "nav2_behaviors/Wait"
assisted_teleop:
plugin: "nav2_behaviors/AssistedTeleop"
global_frame: odom
robot_base_frame: base_link
transform_tolerance: 1.0
use_sim_time: true
simulate_ahead_time: 2.0
max_rotational_vel: 1.0
min_rotational_vel: 0.4
rotational_acc_lim: 3.2
velocity_smoother:
ros__parameters:
use_sim_time: True
smoothing_frequency: 20.0
scale_velocities: False
feedback: "OPEN_LOOP"
max_velocity: [0.5, 0.0, 0.5]
max_accel: [0.5, 0.0, 0.5]
max_decel: [-0.5, 0.0, -0.5]
odom_topic: "/odom_custom"
odom_duration: 0.1
deadband_velocity: [0.0, 0.0, 0.0]
velocity_timeout: 1.0