feat: support Yahboom in shared Nav2 control
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
# Yahboom Pi5 differential-drive profile. Vehicle owns /scan, /odom and TF.
|
||||
controller_server:
|
||||
ros__parameters:
|
||||
use_sim_time: false
|
||||
controller_frequency: 20.0
|
||||
min_x_velocity_threshold: 0.001
|
||||
min_y_velocity_threshold: 0.0
|
||||
min_theta_velocity_threshold: 0.001
|
||||
failure_tolerance: 0.5
|
||||
progress_checker_plugin: progress_checker
|
||||
goal_checker_plugins: [goal_checker]
|
||||
controller_plugins: [FollowPath]
|
||||
progress_checker:
|
||||
plugin: nav2_controller::SimpleProgressChecker
|
||||
required_movement_radius: 0.08
|
||||
movement_time_allowance: 10.0
|
||||
goal_checker:
|
||||
plugin: nav2_controller::SimpleGoalChecker
|
||||
xy_goal_tolerance: 0.15
|
||||
yaw_goal_tolerance: 0.2
|
||||
stateful: true
|
||||
FollowPath:
|
||||
plugin: dwb_core::DWBLocalPlanner
|
||||
debug_trajectory_details: false
|
||||
min_vel_x: -0.05
|
||||
max_vel_x: 0.2
|
||||
max_vel_theta: 1.0
|
||||
min_speed_xy: 0.0
|
||||
max_speed_xy: 0.2
|
||||
acc_lim_x: 1.5
|
||||
decel_lim_x: -1.5
|
||||
acc_lim_theta: 3.2
|
||||
decel_lim_theta: -3.2
|
||||
vx_samples: 20
|
||||
vtheta_samples: 20
|
||||
sim_time: 1.7
|
||||
transform_tolerance: 0.2
|
||||
xy_goal_tolerance: 0.15
|
||||
trans_stopped_velocity: 0.05
|
||||
short_circuit_trajectory_evaluation: true
|
||||
stateful: true
|
||||
critics: [RotateToGoal, Oscillation, BaseObstacle, GoalAlign, PathAlign, PathDist, GoalDist]
|
||||
BaseObstacle.scale: 0.02
|
||||
PathAlign.scale: 24.0
|
||||
PathAlign.forward_point_distance: 0.1
|
||||
GoalAlign.scale: 18.0
|
||||
GoalAlign.forward_point_distance: 0.1
|
||||
PathDist.scale: 24.0
|
||||
GoalDist.scale: 18.0
|
||||
RotateToGoal.scale: 24.0
|
||||
RotateToGoal.slowing_factor: 5.0
|
||||
RotateToGoal.lookahead_time: -1.0
|
||||
|
||||
local_costmap:
|
||||
local_costmap:
|
||||
ros__parameters:
|
||||
use_sim_time: false
|
||||
global_frame: odom
|
||||
robot_base_frame: base_footprint
|
||||
rolling_window: true
|
||||
width: 3
|
||||
height: 3
|
||||
resolution: 0.05
|
||||
footprint: "[[-0.165,-0.08],[-0.165,0.08],[0.125,0.08],[0.125,-0.08]]"
|
||||
update_frequency: 5.0
|
||||
publish_frequency: 2.0
|
||||
plugins: [obstacle_layer, inflation_layer]
|
||||
obstacle_layer:
|
||||
plugin: nav2_costmap_2d::ObstacleLayer
|
||||
observation_sources: scan
|
||||
scan:
|
||||
topic: /scan
|
||||
data_type: LaserScan
|
||||
marking: true
|
||||
clearing: true
|
||||
max_obstacle_height: 1.0
|
||||
inflation_layer:
|
||||
plugin: nav2_costmap_2d::InflationLayer
|
||||
inflation_radius: 0.30
|
||||
cost_scaling_factor: 3.0
|
||||
|
||||
behavior_server:
|
||||
ros__parameters:
|
||||
use_sim_time: false
|
||||
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
|
||||
global_frame: odom
|
||||
robot_base_frame: base_footprint
|
||||
transform_tolerance: 0.2
|
||||
|
||||
velocity_smoother:
|
||||
ros__parameters:
|
||||
use_sim_time: false
|
||||
smoothing_frequency: 20.0
|
||||
scale_velocities: false
|
||||
feedback: OPEN_LOOP
|
||||
max_velocity: [0.2, 0.0, 1.0]
|
||||
min_velocity: [-0.05, 0.0, -1.0]
|
||||
max_accel: [1.5, 0.0, 3.2]
|
||||
max_decel: [-1.5, 0.0, -3.2]
|
||||
odom_topic: /odom
|
||||
odom_duration: 0.1
|
||||
deadband_velocity: [0.0, 0.0, 0.0]
|
||||
velocity_timeout: 1.0
|
||||
@@ -0,0 +1,112 @@
|
||||
# Yahboom Pi5 differential-drive profile. Vehicle owns /scan, /odom and TF.
|
||||
controller_server:
|
||||
ros__parameters:
|
||||
use_sim_time: true
|
||||
controller_frequency: 20.0
|
||||
min_x_velocity_threshold: 0.001
|
||||
min_y_velocity_threshold: 0.0
|
||||
min_theta_velocity_threshold: 0.001
|
||||
failure_tolerance: 0.5
|
||||
progress_checker_plugin: progress_checker
|
||||
goal_checker_plugins: [goal_checker]
|
||||
controller_plugins: [FollowPath]
|
||||
progress_checker:
|
||||
plugin: nav2_controller::SimpleProgressChecker
|
||||
required_movement_radius: 0.08
|
||||
movement_time_allowance: 10.0
|
||||
goal_checker:
|
||||
plugin: nav2_controller::SimpleGoalChecker
|
||||
xy_goal_tolerance: 0.15
|
||||
yaw_goal_tolerance: 0.2
|
||||
stateful: true
|
||||
FollowPath:
|
||||
plugin: dwb_core::DWBLocalPlanner
|
||||
debug_trajectory_details: false
|
||||
min_vel_x: -0.05
|
||||
max_vel_x: 0.2
|
||||
max_vel_theta: 1.0
|
||||
min_speed_xy: 0.0
|
||||
max_speed_xy: 0.2
|
||||
acc_lim_x: 1.5
|
||||
decel_lim_x: -1.5
|
||||
acc_lim_theta: 3.2
|
||||
decel_lim_theta: -3.2
|
||||
vx_samples: 20
|
||||
vtheta_samples: 20
|
||||
sim_time: 1.7
|
||||
transform_tolerance: 0.2
|
||||
xy_goal_tolerance: 0.15
|
||||
trans_stopped_velocity: 0.05
|
||||
short_circuit_trajectory_evaluation: true
|
||||
stateful: true
|
||||
critics: [RotateToGoal, Oscillation, BaseObstacle, GoalAlign, PathAlign, PathDist, GoalDist]
|
||||
BaseObstacle.scale: 0.02
|
||||
PathAlign.scale: 24.0
|
||||
PathAlign.forward_point_distance: 0.1
|
||||
GoalAlign.scale: 18.0
|
||||
GoalAlign.forward_point_distance: 0.1
|
||||
PathDist.scale: 24.0
|
||||
GoalDist.scale: 18.0
|
||||
RotateToGoal.scale: 24.0
|
||||
RotateToGoal.slowing_factor: 5.0
|
||||
RotateToGoal.lookahead_time: -1.0
|
||||
|
||||
local_costmap:
|
||||
local_costmap:
|
||||
ros__parameters:
|
||||
use_sim_time: true
|
||||
global_frame: odom
|
||||
robot_base_frame: base_footprint
|
||||
rolling_window: true
|
||||
width: 3
|
||||
height: 3
|
||||
resolution: 0.05
|
||||
footprint: "[[-0.165,-0.08],[-0.165,0.08],[0.125,0.08],[0.125,-0.08]]"
|
||||
update_frequency: 5.0
|
||||
publish_frequency: 2.0
|
||||
plugins: [obstacle_layer, inflation_layer]
|
||||
obstacle_layer:
|
||||
plugin: nav2_costmap_2d::ObstacleLayer
|
||||
observation_sources: scan
|
||||
scan:
|
||||
topic: /scan
|
||||
data_type: LaserScan
|
||||
marking: true
|
||||
clearing: true
|
||||
max_obstacle_height: 1.0
|
||||
inflation_layer:
|
||||
plugin: nav2_costmap_2d::InflationLayer
|
||||
inflation_radius: 0.30
|
||||
cost_scaling_factor: 3.0
|
||||
|
||||
behavior_server:
|
||||
ros__parameters:
|
||||
use_sim_time: true
|
||||
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
|
||||
global_frame: odom
|
||||
robot_base_frame: base_footprint
|
||||
transform_tolerance: 0.2
|
||||
|
||||
velocity_smoother:
|
||||
ros__parameters:
|
||||
use_sim_time: true
|
||||
smoothing_frequency: 20.0
|
||||
scale_velocities: false
|
||||
feedback: OPEN_LOOP
|
||||
max_velocity: [0.2, 0.0, 1.0]
|
||||
min_velocity: [-0.05, 0.0, -1.0]
|
||||
max_accel: [1.5, 0.0, 3.2]
|
||||
max_decel: [-1.5, 0.0, -3.2]
|
||||
odom_topic: /odom
|
||||
odom_duration: 0.1
|
||||
deadband_velocity: [0.0, 0.0, 0.0]
|
||||
velocity_timeout: 1.0
|
||||
@@ -15,7 +15,7 @@ from nav2_common.launch import RewrittenYaml
|
||||
ARGUMENTS = [
|
||||
DeclareLaunchArgument('sim_mode', default_value='true'),
|
||||
DeclareLaunchArgument('log_level', default_value='info'),
|
||||
DeclareLaunchArgument('robot', default_value='turtlebot3', choices=['mkmini', 'fr09', 'turtlebot3']),
|
||||
DeclareLaunchArgument('robot', default_value='turtlebot3', choices=['mkmini', 'fr09', 'turtlebot3', 'yahboom']),
|
||||
DeclareLaunchArgument('level', default_value='2d'),
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user