准备:思岚A2激光雷达、ubuntu22.04+ros2-humble
前言
随着ros被ros2逐渐的取代,本文主要介绍ros2怎么驱动激光雷达,以思岚A2激光雷达为例!
一、下载驱动
https://github.com/Slamtec/sllidar_ros2.git
二、安装
新建一个工作空间
mkdir laser_ws && cd laser_ws/
mkdir src && cd src/
git clone https://github.com/Slamtec/sllidar_ros2.git
cd ..
colcon build --symlink-install
三、测试
把激光雷达的usb接到你的PC,虚拟机运行ubuntu22.04需要注意是否接上。
查看所有的USB设备
ls /dev/ttyUSB*
可以看到激光雷达的端口是
/dev/ttyUSB0
给端口权限
sudo chmod 777 /dev/ttyUSB0
source install/setup.bash
ros2 launch sllidar_ros2 sllidar_launch.py
ros2 topic list
接着我们订阅/scan这个话题,并用可视化界面查看数据
rviz2
把Fixed Frame 改为 雷达的固定坐标系 laser,添加 LaserScan 查看雷达数据
可以看到雷达驱动成功,拿到数据!
接着我们可以给端口起个别名,这样每次插拔这个雷达就不用给权限也不会导致端口冲突!
cd src/sllidar_ros2/scripts/
gedit create_udev_rules.sh
修改一下改为当前目录
保存运行
. create_udev_rules.sh
查看端口别名是否修改成功
ls -l /dev/ | grep ttyUSB
可以看到修改成功!后面运行ros2程序的时候就可以直接使用/dev/rplidar这个别名了!
给串口起别名可以看我这篇文章!
总结
本文使用了ROS2驱动了思岚A2激光雷达,并且在rviz2中显示了雷达数据,还根据激光雷达的芯片型号给激光雷达串口起别名!