feat: support Yahboom in shared Nav2 planning

This commit is contained in:
2026-09-22 11:12:05 +09:00
parent b9da8b0c30
commit 3dd7c324e0
3 changed files with 133 additions and 1 deletions
@@ -0,0 +1,66 @@
# Yahboom Pi5 differential-drive profile. Vehicle owns /scan, /odom and TF.
bt_navigator:
ros__parameters:
use_sim_time: false
global_frame: map
robot_base_frame: base_footprint
odom_topic: /odom
default_nav_to_pose_bt_xml: ''
default_nav_through_poses_bt_xml: ''
navigators: [navigate_to_pose]
navigate_to_pose:
plugin: nav2_bt_navigator/NavigateToPoseNavigator
bt_loop_duration: 20
default_server_timeout: 2000
wait_for_service_timeout: 4000
bt_navigator_navigate_to_pose_rclcpp_node:
ros__parameters:
use_sim_time: false
planner_server:
ros__parameters:
use_sim_time: false
expected_planner_frequency: 20.0
planner_plugins: [GridBased]
GridBased:
plugin: nav2_navfn_planner/NavfnPlanner
tolerance: 0.5
use_astar: false
allow_unknown: true
global_costmap:
global_costmap:
ros__parameters:
use_sim_time: false
global_frame: map
robot_base_frame: base_footprint
update_frequency: 5.0
publish_frequency: 2.0
transform_tolerance: 0.5
resolution: 0.05
footprint: "[[-0.165,-0.08],[-0.165,0.08],[0.125,0.08],[0.125,-0.08]]"
track_unknown_space: true
plugins: [static_layer, obstacle_layer, inflation_layer]
static_layer:
plugin: nav2_costmap_2d::StaticLayer
map_subscribe_transient_local: true
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
waypoint_follower:
ros__parameters:
use_sim_time: false
loop_rate: 20
stop_on_failure: false
@@ -0,0 +1,66 @@
# Yahboom Pi5 differential-drive profile. Vehicle owns /scan, /odom and TF.
bt_navigator:
ros__parameters:
use_sim_time: true
global_frame: map
robot_base_frame: base_footprint
odom_topic: /odom
default_nav_to_pose_bt_xml: ''
default_nav_through_poses_bt_xml: ''
navigators: [navigate_to_pose]
navigate_to_pose:
plugin: nav2_bt_navigator/NavigateToPoseNavigator
bt_loop_duration: 20
default_server_timeout: 2000
wait_for_service_timeout: 4000
bt_navigator_navigate_to_pose_rclcpp_node:
ros__parameters:
use_sim_time: true
planner_server:
ros__parameters:
use_sim_time: true
expected_planner_frequency: 20.0
planner_plugins: [GridBased]
GridBased:
plugin: nav2_navfn_planner/NavfnPlanner
tolerance: 0.5
use_astar: false
allow_unknown: true
global_costmap:
global_costmap:
ros__parameters:
use_sim_time: true
global_frame: map
robot_base_frame: base_footprint
update_frequency: 5.0
publish_frequency: 2.0
transform_tolerance: 0.5
resolution: 0.05
footprint: "[[-0.165,-0.08],[-0.165,0.08],[0.125,0.08],[0.125,-0.08]]"
track_unknown_space: true
plugins: [static_layer, obstacle_layer, inflation_layer]
static_layer:
plugin: nav2_costmap_2d::StaticLayer
map_subscribe_transient_local: true
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
waypoint_follower:
ros__parameters:
use_sim_time: true
loop_rate: 20
stop_on_failure: false
@@ -15,7 +15,7 @@ from nav2_common.launch import RewrittenYaml
ARGUMENTS = [ ARGUMENTS = [
DeclareLaunchArgument('sim_mode', default_value='true'), DeclareLaunchArgument('sim_mode', default_value='true'),
DeclareLaunchArgument('log_level', default_value='info'), DeclareLaunchArgument('log_level', default_value='info'),
DeclareLaunchArgument('robot', default_value='fr09', choices=['mkmini', 'fr09', 'turtlebot3']), DeclareLaunchArgument('robot', default_value='fr09', choices=['mkmini', 'fr09', 'turtlebot3', 'yahboom']),
DeclareLaunchArgument('level', default_value='3d'), DeclareLaunchArgument('level', default_value='3d'),
] ]