思岚科技 RPLIDAR A1M8 + ROS 上手使用
- 一、开箱图
- 二、文档和SDK下载 `官网链接`
- 三、SDK 安装
- 四、SDK 使用
- 五、小结
一、开箱图
- 型号 RPLIDAR A1
- 配料
激光雷达
一台 +usb
转接板一块 +转接线
一条
二、文档和SDK下载 官网链接
- RPILIDAR A1M8 简介与规格书 Datasheet
- RPILIDAR 标准版SDK使用简介
- RPILIDAR 通讯接口协议和应用手册 Protocol
- 在线文档 Online Doc
- RPILIDAR A1 开发套装使用手册 User manual
- RPILIDAR SDK Github
- RPILIDAR ROS_SDK Github
- RPILIDAR ROS WIKI
三、SDK 安装
-
官方提供了纯
C++
和ROS
节点两种形式的SDK
,ROS
版SDK
中已经包含了C++
的SDK
(版本稍晚),不需要单独下载C++
版本的SDK
。 -
这里我们主要使用
ROS
来测试,从官网的github
克隆仓库到我们的ROS
工作空间的src
下,然后编译工作空间:$ cd ~/catkin_ws/src $ git clone https://github.com/robopeak/rplidar_ros.git $ cd .. $ catkin_make
-
这里插播一条小经验,有时候我们编译完功能包,利用
rosrun
或者roslaunch
的时候,可能出现tab
键按下没有提示出我们新增的节点或launch文件的情况,比如上述SDK
编译完,输入roslaunch rp
然后按tab
应该会自动补全剩下的lidar_ros
,可是系统没有补全。原因可能有三个:- 没有
source setup
- 没有加入
ros
环境变量 - 三是没有更新目录。
前两个问题可以通过编辑
~/.zshrc
(对应zsh
)或者~/.bashrc
(对应bash
) 在后面添加如下两条语句来解决,不需要每次在命令行下source
,注意工作空间
的名字换成你自己的。export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/catkin_ws/src source ~/catkin_ws/devel/setup.zsh
如果上述已经完成,仍然不能自动补全,使用下面的命令来更新目录:
$ rospack profile
- 没有
-
我这里编译没有问题,用
tab
提示看看我们现在都有什么node
和launch
:
四、SDK 使用
-
直接贴官网github的说明
-
这里有三种
launch
文件,分别是普通xx.launch
,test_xx.launch
,view_xx.launch
,后缀a3
对应a3
版本雷达,无后缀的对应a1/a2
版本,第一个是纯节点,需要自己查看输出信息,第二个是在命令行窗口直接输出测量数据,第三个是利用rviz
展示测量数据,这里直接运行第三个节点,命令和截图如下。$ roslaunch rplidar_ros view_rplidar.launch
-
同时,还有两个可运行的节点和两个脚本文件,脚本文件用于设置串口及设备,详见
ros wiki
和源码,rplidarNode
节点运行起来,查看节点信息如下:$ roscore $ rosrun rplidar_ros rplidarNode $ rosnode info /rplidar_node
-
这里看到有两个发布话题,无订阅话题,四个服务,另外一个节点是
rplidarNodeClient
客户端节点,保持上面的节点在运行,同时运行这个客户端接节点,也查看一下节点信息:$ rosrun rplidar_ros rplidarNodeClient $ rosnode info /rplidar_node_client
- 看到这个客户端订阅了
/scan
也就是上一个节点发布的测量数据话题,并且运行这个节点会在命令行输出扫描信息,到这里,测试基本结束了。
五、小结
- 这款激光雷达配套的
ROS
示例代码比较简洁,编译过程很顺利,没有遇到问题,测试节点和launch
文件都没有遇到什么问题。