激光雷达初体验 - Ubuntu 18.04 + 思岚科技 RPLIDAR A1M8 + ROS 上手使用

思岚科技 RPLIDAR A1M8 + ROS 上手使用

    • 一、开箱图
    • 二、文档和SDK下载 `官网链接`
    • 三、SDK 安装
    • 四、SDK 使用
    • 五、小结

一、开箱图

  • 型号 RPLIDAR A1
  • 配料 激光雷达一台 + usb 转接板一块 + 转接线一条
    激光雷达初体验 - Ubuntu 18.04 + 思岚科技 RPLIDAR A1M8 + ROS 上手使用_第1张图片激光雷达初体验 - Ubuntu 18.04 + 思岚科技 RPLIDAR A1M8 + ROS 上手使用_第2张图片

二、文档和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节点两种形式的SDKROSSDK中已经包含了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,可是系统没有补全。原因可能有三个:

    1. 没有source setup
    2. 没有加入ros环境变量
    3. 三是没有更新目录。

    前两个问题可以通过编辑 ~/.zshrc(对应zsh)或者 ~/.bashrc (对应bash) 在后面添加如下两条语句来解决,不需要每次在命令行下source,注意工作空间的名字换成你自己的。

    export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/catkin_ws/src
    source ~/catkin_ws/devel/setup.zsh
    

    如果上述已经完成,仍然不能自动补全,使用下面的命令来更新目录:

    $ rospack profile
    
  • 我这里编译没有问题,用tab提示看看我们现在都有什么nodelaunch

    在这里插入图片描述
    在这里插入图片描述

四、SDK 使用

  • 直接贴官网github的说明
    激光雷达初体验 - Ubuntu 18.04 + 思岚科技 RPLIDAR A1M8 + ROS 上手使用_第3张图片

  • 这里有三种launch文件,分别是普通xx.launchtest_xx.launchview_xx.launch,后缀 a3对应a3版本雷达,无后缀的对应a1/a2版本,第一个是纯节点,需要自己查看输出信息,第二个是在命令行窗口直接输出测量数据,第三个是利用rviz展示测量数据,这里直接运行第三个节点,命令和截图如下。

    $ roslaunch rplidar_ros view_rplidar.launch
    

    激光雷达初体验 - Ubuntu 18.04 + 思岚科技 RPLIDAR A1M8 + ROS 上手使用_第4张图片

  • 同时,还有两个可运行的节点和两个脚本文件,脚本文件用于设置串口及设备,详见ros wiki和源码,rplidarNode节点运行起来,查看节点信息如下:

    $ roscore
    $ rosrun rplidar_ros rplidarNode
    $ rosnode info /rplidar_node
    

激光雷达初体验 - Ubuntu 18.04 + 思岚科技 RPLIDAR A1M8 + ROS 上手使用_第5张图片

  • 这里看到有两个发布话题,无订阅话题,四个服务,另外一个节点是rplidarNodeClient客户端节点,保持上面的节点在运行,同时运行这个客户端接节点,也查看一下节点信息:

    $ rosrun rplidar_ros rplidarNodeClient
    $ rosnode info /rplidar_node_client
    

激光雷达初体验 - Ubuntu 18.04 + 思岚科技 RPLIDAR A1M8 + ROS 上手使用_第6张图片

  • 看到这个客户端订阅了/scan也就是上一个节点发布的测量数据话题,并且运行这个节点会在命令行输出扫描信息,到这里,测试基本结束了。

五、小结

  • 这款激光雷达配套的ROS示例代码比较简洁,编译过程很顺利,没有遇到问题,测试节点和launch文件都没有遇到什么问题。

你可能感兴趣的:(ROS学习记录,ROS,Lidar,激光雷达,RPLIDAR)