1. 获取并编译驱动
在终端中执行以下命令
# 进入你的 ROS 2 工作空间
cd ~/ros2_ws/src
# 克隆 ros2 分支的代码
git clone -b ros2 https://github.com/Slamtec/rplidar_ros.git
# 回到工作空间根目录编译
cd ~/ros2_ws
colcon build --symlink-install --packages-select rplidar_ros
# 加载环境变量
source install/setup.bash
2. 启动雷达
根据资料,新驱动提供了更灵活的启动方式,可以直接在命令中指定串口号
# 启动 C1 并指定串口
ros2 launch sllidar_ros2 sllidar_c1_launch.py serial_port:=/dev/ttyUSB0
启动后验证
雷达节点成功运行后,可以通过以下命令确认它是否在正常工作:
ros2 topic list | grep scan:检查是否有 /scan 这个雷达数据话题。
ros2 topic echo /scan --once:如果终端输出了一长串角度和距离数据,说明雷达已经在正常发布数据了。
ros2 topic hz /scan:检查数据发布频率,C1 的典型值约为 10 Hz。
启动效果如下:
charlie@charlie-ThinkPad-E480:~/ros2_ws$ source install/setup.bash
charlie@charlie-ThinkPad-E480:~/ros2_ws$ ros2 launch sllidar_ros2 sllidar_c1_launch.py serial_port:=/dev/ttyUSB0
[INFO] [launch]: All log files can be found below /home/charlie/.ros/log/2026-07-14-10-10-59-092898-charlie-ThinkPad-E480-129348
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [sllidar_node-1]: process started with pid [129367]
[sllidar_node-1] [INFO] [1784038259.567354563] [sllidar_node]: SLLidar running on ROS2 package SLLidar.ROS2 SDK Version:1.0.1, SLLIDAR SDK Version:2.1.0
[sllidar_node-1] [INFO] [1784038260.076190228] [sllidar_node]: SLLidar S/N: F779E0F6C1E092D8A19E9FF967D54616
[sllidar_node-1] [INFO] [1784038260.076350682] [sllidar_node]: Firmware Ver: 1.02
[sllidar_node-1] [INFO] [1784038260.076427962] [sllidar_node]: Hardware Rev: 18
[sllidar_node-1] [INFO] [1784038260.079207830] [sllidar_node]: SLLidar health status : 0
[sllidar_node-1] [INFO] [1784038260.079290443] [sllidar_node]: SLLidar health status : OK.
[sllidar_node-1] [INFO] [1784038260.371552194] [sllidar_node]: current scan mode: Standard, sample rate: 5 Khz, max_distance: 16.0 m, scan frequency:10.0 Hz,
雷达驱动跑起来之后,要看到 SLAM 建图效果,核心就是用 SLAM Toolbox 这个算法包来接收雷达数据,并生成地图,最后在 RViz 里把它显示出来。
整个过程就像流水线:雷达数据(/scan) → SLAM算法(slam_toolbox) → 地图数据(/map) → 可视化显示(rviz2)。
未完待续