摘 要:本文以YDLIDAR X4激光雷达为研究对象,介绍了YDLIDAR X4激光雷达在ROS系统当中建立扫描点阵地图的方法。包括了YDLIDAR X4激光雷达与ROS系统之间的通信方式,YDLIDAR X4激光雷達的工作参数。在ROS系统中安装与启动YDLIDAR X4激光雷达、以及通过rviz进行雷达数据可视化显示,形成地图建立。
关键词:ROS;激光雷达;通信;地图建立
YDLIDAR X4激光雷达是深圳越登智能科技有限公司(YDLIDAR,这家公司属于EAI)研发的一款 360 度二维测距产品。下文简称X4,该产品三角测距原理,并配以相关光学、电学、算法设计,实现高 频高精度的距离测量,在测距的同时,机械结构 360 度旋转,不断获取角度信息,从而实现 了 360 度扫描测距,输出扫描环境的点云数据。
X4 对外提供了 PH2.0-8P 母座接口,该接口有系统供电、数据通信和电机控制的功能接口。 图为X4的具体引脚分布。X4 的供电电压默认为5V直流。X4与外部设备通讯采用 3.3V 电平的串口通信,用户可通过产品上的物理接口,连接外部系统和X4,并按照系统的通信协议进行通讯来实时获取扫描的点云数据、设备信息、设备状态,并可设置设备工作模式等。图1位X4硬件接口引脚分布[1]。
X4同时具备了控制雷达扫描速度的功能,X4自带电机调速功能的电机驱动器,外设可通过接口中的 M_EN 和 M_SCTR 两个管脚输入 控制信号来对 X4 的电机进行控制。M_EN 为电机的使能信号,高电平使能;M_SCTR 为电 机速度控制信号,可电压调速。
ROS系统是起源于2007年斯坦福大学人工智能实验室的项目与机器人技术公司Willow Garage的个人机器人项目(Personal Robots Program)之间的合作,2008年之后就由Willow Garage来进行推动。ROS系统是用于机器人的一种后操作系统,或者说次级操作系统。它提供类似操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获取、建立、编写和运行多机整合的程序。
ROS系统与X4的连接需要几个步骤。第一个是在控制端安装好X4的串口驱动。驱动安装包可以在YDLIDAR X4激光雷达产品官网上下载到。X4在购买时配套了一个USB转接版,在串口驱动安装好后,接通X4激光雷达,会生成对应串口功能。
第二是要从github下载x4的ROS驱动源码。驱动源码应该下载到ROS工作空间下src目录中,可在src目录下打开终端,输入如下载命令。也可以在终端输入cd~/catkin_ws/src指令打开ROS工作空间:git clone https://github.com/EAIBOT/ydlidar.git。下载完源码后,接下来就可以在ROS系统的工作空间根目录下执行catkin_make来编译该源码软件包。
第三启动雷达有两个launch文件,一个lidar.launch是直接执行启动雷达进行扫描测距,另外一个是lidar_view.launch不仅可以启动雷达,还可以顺带启动rviz来将雷达数据可视化显示。第一种启动方式是使用lidar.launch来直接启动雷达,启动命令如下:roslaunch ydlidar lidar.launch。第二种启动方法是使用lidar_view.launch来启动雷达并同时在ROS系统中打开了rviz,进行雷达数据点阵的显示:roslaunch ydlidar lidar_view.launch。两种方法都使用了roslaunch自动启动ROS节点的命令工具[2]。
完成以上三步,就可以在ROS系统中的rviz中显示出X4扫描采集到的数据点阵图。rviz表示ROS visualization,用于机器人传感器和算法三维可视化系统。X4 在扫描过程中将以顺时针方向转动记录距离测量数据。X4在rviz中显示是以坐标系形式显示,工作过程中rviz中将存在基座标与用户坐标,其中用户坐标系的原点就是X4所在地图位置。为了准确显示X4相对方向,X4给出了坐标轴参考方向如下图。Z轴垂直与XY面向上。
本文介绍了一款激光雷达YDLIDAR X4在ROS操作系统当中建立地图的方式。该操作方式简单。能够快速启动X4在rviz中显示出扫描地图。为机器人后续自动规划路径提供了帮助。
参考文献:
[1]YDLIDAR XA数据使用手册
[2]Morgan Quigley.ROS机器人编程实践[M].北京:机械工业出版社
作者简介:
秦禹 (1990-),男,汉族,福建南平人(籍贯),硕士(学历),讲师(职称),研究方向:机械工程.