Skip to main content
2D 激光雷达 SLAM 示例应用程序基于 Cartographer,能够基于 2D 激光雷达传感器完成室内地图构建和定位。它适用于机器人的室内导航。

图:2D 激光雷达 SLAM 的示例结果

2D lidar SLAM 的管道流程

图:2D 激光雷达 SLAM 的管道流程

2D 激光雷达 SLAM 管道中使用的 ROS 节点

2D 激光雷达 SLAM 中使用的 ROS 话题/服务

表:2D 激光雷达 SLAM 中使用的 ROS 话题

ROS 话题类型发布者
/tracked_posegeometry_msgs.msg.PoseStampedcartographer_node
/tftf2_msgs.msg.TFMessagecartographer_node
/submap_listcartographer_ros_msgs.msg.SubmapListcartographer_node
/scan_matched_points2sensor_msgs.msg.PointCloud2cartographer_node
/mapnav_msgs.msg.OccupancyGridcartographer_occupancy_grid_node

表:2D 激光雷达 SLAM 中使用的 ROS 服务

ROS 服务类型提供者
/qrb_slam_commandqrb_ros_slam_msgs.srv.SlamCommandcartographer_node

前提条件

运行开箱即用的 2D lidar SLAM

1

设置机器人底盘

注意 以下配置仅适用于 Qualcomm 的机器人底盘。如果您使用的是自定义或第三方机器人底盘,请跳过此配置步骤,并应用适合您自己机器人底盘的配置。
  1. 打开一个连接到设备的新终端。
  2. 选择机器人底盘型号。
    • 0604 AMR:robot_base(默认)
    • Mini AMR:robot_base_mini
  3. (可选)如果您没有将超声波传感器连接到 MCB,请禁用超声波紧急停止。
  4. 启动机器人底盘 AMR。
2

设置 2D 激光雷达

在新终端中,运行以下命令。
3

运行 2D 激光雷达 SLAM

在新终端中,运行以下命令。
4

运行 qrb_slam_service_request 脚本

在新终端中,运行以下命令。
5

开始建图

在上一步打开的终端中,使用键盘发送控制指令,例如启动建图过程。