forked from zbw/yiliao2026
83 lines
5.5 KiB
YAML
83 lines
5.5 KiB
YAML
slam_toolbox:
|
||
ros__parameters:
|
||
|
||
# ============================ Solver 插件参数 ======================================
|
||
solver_plugin: solver_plugins::CeresSolver
|
||
ceres_linear_solver: SPARSE_NORMAL_CHOLESKY
|
||
ceres_preconditioner: SCHUR_JACOBI
|
||
ceres_trust_strategy: LEVENBERG_MARQUARDT
|
||
ceres_dogleg_type: TRADITIONAL_DOGLEG
|
||
ceres_loss_function: None
|
||
|
||
# ============================ ROS 基础参数 =========================================
|
||
odom_frame: odom # 里程计坐标系
|
||
map_frame: map # 地图坐标系
|
||
base_frame: base_link # 机器人基座坐标系(与 URDF 根帧一致)
|
||
scan_topic: /scan # 激光雷达话题
|
||
use_map_saver: true # 启用地图保存功能
|
||
mode: mapping # mapping = 定位 + 实时建图(地图可更新)
|
||
|
||
# ============================ 已有地图加载(在其基础上继续更新)==========================
|
||
# 启动时暂不加载(注释掉),通过服务在启动后手动加载:
|
||
# ros2 service call /slam_toolbox/deserialize_map slam_toolbox/srv/DeserializePoseGraph "{filename: '/home/guoch/test_ws/src/gc_navigation2_slamtoolbox/maps/my_map.posegraph', match_type: 1}"
|
||
# map_file_name: /home/guoch/test_ws/src/gc_navigation2_slamtoolbox/maps/my_map.posegraph
|
||
map_start_pose: [-2.0, -2.0, 0.0] # 初始位姿 [x, y, yaw](map 坐标系下)
|
||
# map_start_at_dock: true # 或从 docking 位姿启动(与 pose 互斥)
|
||
|
||
# ============================ 调试与性能 ===========================================
|
||
debug_logging: false # 调试日志(生产环境关闭)
|
||
throttle_scans: 10 # 每 N 帧激光处理一次(1=全部处理)
|
||
transform_publish_period: 0.02 # TF 发布周期(秒),0=不发布里程计
|
||
map_update_interval: 3.0 # /map 话题更新间隔(秒),越小越实时
|
||
resolution: 0.05 # 地图分辨率(米/像素)
|
||
restamp_tf: false # 是否重新打时间戳
|
||
min_laser_range: 0.0 # 激光最小有效距离(米)
|
||
max_laser_range: 20.0 # 激光最大有效距离(米)
|
||
minimum_time_interval: 0.5 # 最小处理时间间隔(秒)
|
||
transform_timeout: 0.2 # TF 查找超时(秒)
|
||
tf_buffer_duration: 30.0 # TF 缓冲区时长(秒)
|
||
stack_size_to_use: 40000000 # 栈大小(序列化大地图需要)
|
||
enable_interactive_mode: true # 交互模式:允许外部工具编辑地图
|
||
|
||
# ============================ 通用建图参数 =========================================
|
||
use_scan_matching: true # 启用扫描匹配
|
||
use_scan_barycenter: true # 使用扫描重心
|
||
minimum_travel_distance: 0.1 # 最小移动距离触发处理(米)
|
||
minimum_travel_heading: 0.1 # 最小转向角度触发处理(弧度)
|
||
check_min_dist_and_heading_precisely: false
|
||
scan_buffer_size: 5 # 扫描缓冲区大小(越大匹配越稳定)
|
||
scan_buffer_maximum_scan_distance: 5.0 # 缓冲区最大扫描距离
|
||
link_match_minimum_response_fine: 0.1 # 精细匹配最小响应
|
||
link_scan_maximum_distance: 1.5 # 链接扫描最大距离
|
||
|
||
# ============================ 回环检测参数 =========================================
|
||
do_loop_closing: true # 启用回环检测(消除累积误差)
|
||
loop_match_minimum_chain_size: 10 # 最小回环链大小
|
||
loop_match_maximum_variance_coarse: 3.0 # 粗匹配最大方差
|
||
loop_match_minimum_response_coarse: 0.35 # 粗匹配最小响应
|
||
loop_match_minimum_response_fine: 0.45 # 精细匹配最小响应
|
||
loop_search_maximum_distance: 3.0 # 回环搜索最大距离
|
||
|
||
# ============================ 相关性匹配 - 扫描匹配参数 ==============================
|
||
correlation_search_space_dimension: 0.5 # 搜索空间维度
|
||
correlation_search_space_resolution: 0.01 # 搜索空间分辨率
|
||
correlation_search_space_smear_deviation: 0.1 # 搜索空间平滑偏差
|
||
|
||
# ============================ 相关性匹配 - 回环检测参数 ==============================
|
||
loop_search_space_dimension: 8.0 # 回环搜索空间维度
|
||
loop_search_space_resolution: 0.05 # 回环搜索分辨率
|
||
loop_search_space_smear_deviation: 0.03 # 回环搜索平滑偏差
|
||
|
||
# ============================ 扫描匹配器参数 ========================================
|
||
distance_variance_penalty: 0.5 # 距离方差惩罚
|
||
angle_variance_penalty: 1.0 # 角度方差惩罚
|
||
|
||
fine_search_angle_offset: 0.00349 # 精细搜索角度偏移
|
||
coarse_search_angle_offset: 0.349 # 粗搜索角度偏移
|
||
coarse_angle_resolution: 0.0349 # 粗搜索角度分辨率
|
||
minimum_angle_penalty: 0.9 # 最小角度惩罚
|
||
minimum_distance_penalty: 0.5 # 最小距离惩罚
|
||
use_response_expansion: true # 使用响应扩展
|
||
min_pass_through: 2 # 最小通过次数
|
||
occupancy_threshold: 0.1 # 占据阈值
|