使用SLAM Toolbox 定位模式进行nav导航

写一个mapper_params_localization.yaml配置文件

复制代码
slam_toolbox:
  ros__parameters:
    # TF 相关
    odom_frame: odom
    map_frame: map
    base_frame: base_footprint
    scan_topic: /scan

    mode: localization       # 关键:纯定位
    map_file_name: /home/xxx/slam_toolbox_map   # 不写后缀,自动找 .posegraph + .data

    # 可选:启动时初始位姿
    # map_start_pose: [x, y, yaw]

编写slam_toolbox_localization.launch.py

复制代码
# slam_toolbox_localization.launch.py
# 放在你的包 my_slam_pkg/launch/ 目录下

from launch import LaunchDescription
from launch_ros.actions import Node
from launch.substitutions import LaunchConfiguration
from launch.actions import DeclareLaunchArgument
from pathlib import Path


def generate_launch_description():
    # 支持从命令行传入参数(比如 map_file / use_sim_time)
    use_sim_time = LaunchConfiguration('use_sim_time')
    params_file = LaunchConfiguration('slam_params_file')

    declare_use_sim_time = DeclareLaunchArgument(
        'use_sim_time',
        default_value='false',
        description='Use simulation (Gazebo) clock if true'
    )

    declare_params_file = DeclareLaunchArgument(
        'slam_params_file',
        default_value=str(
            Path(__file__).parent.parent / 'config' / 'mapper_params_localization.yaml'
        ),
        description='Full path to the slam_toolbox localization parameter file'
    )

    slam_toolbox_node = Node(
        package='slam_toolbox',
        executable='sync_slam_toolbox_node',    # 或 online_async_slam_toolbox_node,看你喜欢哪种
        name='slam_toolbox',
        output='screen',
        parameters=[
            params_file,
            {'use_sim_time': use_sim_time}
        ]
    )

    return LaunchDescription([
        declare_use_sim_time,
        declare_params_file,
        slam_toolbox_node
    ])

启动服务

复制代码
ros2 launch my_slam_pkg slam_toolbox_localization.launch.py \
  use_sim_time:=True \
  slam_params_file:=/home/your_name/my_slam_pkg/config/mapper_params_localization.yaml
相关推荐
别动我齐刘海4 小时前
机器学习基础2——C++、OpenCV、点云、Open3D
c++·人工智能·opencv·机器学习·计算机视觉·机器人·ros2
消失的旧时光-19435 小时前
第 4 篇:TCP 字节流中的粘包、半包与机器人协议解析
机器人·tcp·通信协议·半包·粘包
某林2126 小时前
从“仿真能跑”到“真机能走”:一套轮腿机械狗强化学习系统的工程化实践
人工智能·stm32·嵌入式硬件·架构·机器人·机械狗
消失的旧时光-19438 小时前
补充篇:机器人为什么都需要“指令中心”?——从服务机器人到割草机器人
机器人·割草机·commandcenter
热心市民R先生8 小时前
如何在CSDN博客编辑器中导入自己的Markdown文件
机器人
M-Robots echo8 小时前
王成录:M-Robots 积木式架构,解决机器人软硬件重复开发难题
机器人·开源鸿蒙·开源社区·m-robots·王成录
热心市民R先生8 小时前
【无标题】
机器人
具身智能进化论1 天前
协作机器人产业进入规模化部署期,未来几年的增长从何而来
大数据·运维·人工智能·机器人·自动化·工厂方法模式
极新1 天前
中国机器人、AI、创新药出海:这次出海的重头戏
人工智能·机器人
Axis tech1 天前
人形机器人训练:从工人动作到机器人作业技能
机器人