今天是ROS小车想法实现的第一步,将手里的思岚雷达A1使用起来。
首先是从思岚的GitHub仓库下载雷达的ROS包,下载zip然后解压或者直接使用git命令克隆下来即可。我本人在这里使用的是git。
运行:git clone https://github.com/Slamtec/rplidar_ros.git
这里需要注意一下clone的位置,最好是clone到ros工作空间下的src文件夹下面。
当然也可以任意放置,clone完成后将其拷贝到src文件夹下面就好。
然后就可以直接到工作空间下进行编译。
运行:
cd catkin_ws/
catkin_make
编译完成后(如果编译顺利的话),会生成如下两个节点。
最后在工作空间source一下。
运行:source ~/catkin_ws/devel/setup.sh
采坑记录:我自己在使用catkin_make编译后,并没有生成上述的两个节点。编译没有出错,但是确实是没有生成节点。暂时没有找到问题原因。
解决:直接使用单独编译命令编译rplidar_ros包
运行:catkin_make -DCATKIN_WHITELIST_PACKAGES="rplidar_ros"
执行命令后,成功生成两个节点。
接下来就是连接并测试雷达。
连接好雷达后,我们会发现雷达的端口号是:ttyUSB0.(这是正常情况,因为launch文件中默认使用的就是ttyUSB0,如果连接上发现是ttyUSB1的话,需要在launch文件中做相应修改).
接下来就可以使用了。
首先开启ros节点管理器rosmaster,使用roscore开启即可。(当然也可以不使用,但是建议还是开启为好。)
运行:roslaunch rplidar_ros view_rplidar.launch
注意,我在这里遇到了通信失败的报错:Error, cannot bind to the specified serial port /dev/ttyUSB0.
这个错误的原因是没有赋予相应串口权限,所以直接赋予权限即可。
赋予权限:sudo chmod 777 /dev/ttyUSB0
(这里最好直接使用777,因为我最开始使用了755同样不能和端口通信)
这样运行就可以直接在rviz中看到我们雷达的扫描数据。直接起飞。
结果:
接下来的计划:在树莓派上安装Ubuntu mate并测试使用雷达。