1、雷达基础1.1、概述1.2、思岚雷达组件1.2.1、激光器1.2.2、接收器1.2.3、信号处理单元1.2.4、旋转机构1.3、单线激光雷达原理1.3.1、三角测距法1、直射式2、斜射式1.3.2、TOF飞行时间测距法1.4、激光雷达A1M81.5、应用场景1.6、A1M8使用1.6.1、构建 rplidar ros 包1.6.2、运行 rplidar ros 包1.6.3、重新映射USB串口
思岚激光雷达教程资料: http://www.slamtec.com/cn/Support
激光雷达技术邮箱地址:support@slamtec.com
激光雷达wiki:http://wiki.ros.org/rplidar
激光雷达SDK:https://github.com/Slamtec/rplidar_sdk
激光雷达ROS:https://github.com/Slamtec/rplidar_ros
激光雷达教程:https://github.com/robopeak/rplidar_ros/wiki
单线激光雷达是指激光源发出的线束是单线的雷达,具有三角测距及TOF激光雷达之分,主要以机器人领域应用居多。其扫描速度快、分辨率强、可靠性高,与多线激光雷达相比,单线激光雷达在角频率及灵敏度上反应更快捷,所以在障碍物的测距距离和精度上也更加精准。
以思岚科技的单线激光雷达为例,其主要由激光器、接收器、信号处理单元和旋转机构这4个核心组件构成。
激光器是激光雷达中的激光发射机构。在工作过程中,它会以脉冲的方式点亮。思岚科技的RPLIDAR A3系列雷达,每秒钟会点亮和熄灭16000次。
激光器发射的激光照射到障碍物以后,通过障碍物的反射,反射光线会经由镜头组汇聚到接收器上。
信号处理单元负责控制激光器的发射,以及接收器收到的信号的处理。根据这些信息计算出目标物体的距离信息。
以上3个组件构成了测量的核心部件。旋转机构负责将上述核心部件以稳定的转速旋转起来,从而实现对所在平面的扫描,并产生实时的平面图信息。
单线机械旋转机关雷达工作原理参考下图:
激光三角测距法主要是通过一束激光以一定的入射角度照射被测目标,激光在目标表面发生反射和散射,在另一角度利用透镜对反射激光汇聚成像,光斑成像在CCD(Charge-coupled Device,感光耦合组件)位置传感器上。当被测物体沿激光方向发生移动时,位置传感器上的光斑将产生移动,其位移大小对应被测物体的移动距离,因此可通过算法设计,由光斑位移距离计算出被测物体与基线的距离值。由于入射光和反射光构成一个三角形,对光斑位移的计算运用了几何三角定理,故该测量法被称为激光三角测距法。
按入射光束与被测物体表面法线的角度关系,激光三角测距法可分为斜射式和直射式两种。
如图1所示,当激光光束垂直入射被测物体表面,即入射光线与被测物体表面法线共线时,为直射式激光三角法。
当光路系统中,激光入射光束与被测物体表面法线夹角小于90°时,该入射方式即为斜射式。如图2所示的光路图为激光三角法斜射式光路图。
由激光器发射的激光与物体表面法线成一定角度入射到被测物体表面,反(散)射光经B处的透镜汇聚成像,最后被光敏单元采集。
无论是直射式还是斜射式激光三角测距法,均可实现对被测物体的高精度、非接触测量,但直射式分辨率没有斜射式高。
思岚科技的RPLIDAR系列激光雷达也采用了斜射式的激光三角测距法。每次测距过程中,RPLIDAR系列激光雷达将发射经过调制的红外激光信号,该激光信号在照射到目标物体后产生的反光将被 RPLIDAR 的视觉采集系统接收,然后经过嵌入在 RPLIDAR 内部的 DSP 处理器实时解算,被照射到的目标物体与 RPLIDAR 的距离值以及当前的夹角信息将从通讯接口中输出。在电机机构的驱动下,RPLIDAR 的测距核心将顺时针旋转,从而实现对周围环境的 360度全方位扫描测距检测。
TOF激光雷达要是基于测量光的飞行时间来获取目标物的距离。其工作原理主要表现为,通过激光发射器发出一束调制激光信号,该调制光经被测物体反射后由激光探测器接收,通过测量发射激光和接收激光的相位差即可计算出目标的距离。
在远距离物体条件下,其测量精度依旧精准、稳定。同时,TOF雷达因其超短时光脉冲的特性,在抗光干扰能力上也毫不逊色,即使在室外60Klx的强光下也能实现稳定测距及高精度建图。
总体来说,三角测距激光雷达与TOF激光雷达在实现上都有各自的难度,从原理上来说,TOF雷达的测距距离更远,在一些要求距离的场合,基本以TOF雷达居多,而三角测距激光雷达制造成本相对较低,且精度又可满足大多工业级民用要求,因此也备受业内关注。
从上图可以看出,测量半径、采样速度、旋转速度、角度分辨率等参数是雷达工作性能的重要指标。
指标 | 描述 |
---|---|
测距半径 | 雷达的测量距离范围 |
测距采样率 | 一秒内进行多少次测距输出 |
扫描频率 | 一秒内雷达进行多少次扫描 |
角分辨率 | 两个相邻测距的角度步进 |
测量分辨率/精度 | 可以感知到距离变化最小值 |
较高的扫描频率可以确保安装激光雷达的机器人实现较快速度的运动,并且保证地图构建的质量。但要提高扫描频率并不只是简单的加速激光雷达内部扫描电机旋转这么简单,对应的需要提高测距采样率。否则当采样频率固定的情况下,更快的扫描速度只会降低角分辨率。除了测距距离、扫描频率之外,测量分辨率和建图精度等参数对于激光雷达性能来说同样重要,这些都是保证机器人能拥有稳定性能的重要参数。
得益于激光雷达技术的进步,激光雷达的测量半径、测距频率、距离分辨率及角度分辨率都有了很大的提升,可以帮助各类应用获取更大场景、更丰富的轮廓信息。在机器人自主定位导航、空间环境测绘以及安保安防等诸多领域,发挥着不可或缺的重要作用。
将此项目克隆到您的 catkin 的工作区 src 文件夹
运行 catkin_make 来构建 rplidarNode 和 rplidarNodeClient
查看rplidar串口的权限:
ls -l /dev |grep ttyUSB
添加写入权限:(如/dev/ttyUSB0)
xxxxxxxxxx
sudo chmod 666 /dev/ttyUSB0
有两种方法可以运行 rplidar ros 包
xxxxxxxxxx
roslaunch rplidar_ros view_rplidar.launch
您应该在 rviz 中看到 rplidar 的扫描结果。
xxxxxxxxxx
roslaunch rplidar_ros rplidar.launch
rosrun rplidar_ros rplidarNodeClient
您应该在控制台中看到 rplidar 的扫描结果
在rplidar_ros功能包路径下,安装 USB 端口重映射:
xxxxxxxxxx
./scripts/create_udev_rules.sh
使用以下命令修改重映射:
xxxxxxxxxx
ls -l /dev | grep ttyUSB
更改 USB 端口重新映射后,更改有关 serial_port 值的启动文件。