学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?
激光雷达目前依然是移动机器人和特种机器人导航定位比较理想的设备之一,和其他传感器诸如摄像机、超声波传感器不同,激光雷达以其测距速度快、精度高、获取信息直观的特点,使其比摄像机和超声波传感器在航空、军事和生活等领域得到了更多的使用。机器人通过串口等连接方式获得激光扫描采集的距离和角度信息,经过CPU 的处理计算,从而得到机器人所处环境的2D/3D点云信息。如果再运用诸如SLAM 等定位算法,甚至可以得到机器人在所处环境中的方位,同时创建出机器人搜索过路径的地图。激光测距雷达在特种移动机器人的研究中已成为了和超声波传感器、相机等一样不可缺少的感知周围环境的工具。
激光雷达主要分为二维激光雷达与三维激光雷达两类。二维激光雷达扫描时采用单束点状激光,因此只能单纯采集一个平面的距离信息,他们的原理大同小异,一般都是运用了高速光学振镜来激光扫描大范围的角度,同时通过主动发射和接收反射激光束,计算两束激光相位差来得到距离信息,都是很成熟的工业级产品,拥有一般10Hz 以上的扫描频率和可靠的性能,在精度上也能达到毫米级别,唯一的缺点是他们高昂的价格让人们望而却步。
三维激光雷达,顾名思义就是可以直接得到机器人周围环境的三维立体信息,原理有两种,其中第一种是利用一个二维激光雷达在扫描平面的同时,整个雷达还在另一个平面进行旋转,从而通过两个维度的旋转来得到三维信息。第二种原理是同时有多个激光发射器排列在装置上,同时发出多道激光,64 线激光雷就是其中的代表,此激光雷达能通过64 个激光发射器同时发出64 道激光,其中激光发射器垂直安装排列在旋转的装置上,每个相邻的激光发射器之间有0.4的角度间隔。因为3D激光雷达与2D激光雷达相比能直接得到周围环境的3D 距离信息,所以现在被广泛地应用于三维重建、环境感知、路径规划等领域。但是,三维激光雷达因为其高复杂度的装置构造,自然价格是普通二维激光雷达的几十倍。
本设计中提出了一种低成本3D 激光雷达解决方案并加以实现,原理是以一个普通二维扫描激光雷达为基本设备,再在其下安装一个舵机俯仰装置,将普通二维激光雷达和数字舵机相结合,通过数字舵机在另一个轴的旋转,来对3D扫描雷达的功能进行实现。本设计中的俯仰扫描装置采用数字舵机来实现,通过单片机来控制舵机的转速和转角。
在考虑了成本、精度和稳定性等因素之后,本设计中的三维激光雷达采用了国内团队开发的低成本二维激光雷达(LIDAR)解决方案,价格便宜,而且精度稳定性较好,性价比较高。360 度2D 激光雷达能在6米范围内进行全角度激光测距扫描,能够获取所在平面包含角度和距离信息的
点云地图。在每旋转一周采样360 点的配置下,此激光雷达拥有5.5hz 的扫描频率,特殊情况下的最高扫描频率能达到10hz。此激光雷达是基于激光三角测距的原理,同时搭配一个高速的视觉采集处理装置,每秒可进行高达两千次的测距行为。启动测距功能时,经过处理的红外激光信号从激光雷达发出,此红外激光信号在碰到待测物体后将产生发射光LIDAR 的视觉采集系统可以把反射光接收。LIDAR 内部嵌有DSP 处理器,可以实时对反射光的信息进行解算,最后被照射的待测物体和激光雷达之间的距离值以及此时的转角信息将从串口或者USB 接口中输出。
本解决方案的3D 激光扫描测距系统组成如图1 所示。整个3D 激光扫描系统主要有三部分组成,分别为一个普通的2D 激光测距雷达、数字舵机俯仰装置、对数字舵机进行控制和对激光雷达数据进行采集的单片机系统。
支架和旋转轴组成的俯仰扫描装置由一个数字舵机来进行驱动。本设计采用STM32 单片机实现激光雷达数据的采集和对数字舵机的控制。STM32 单片机系统可以看作计算机上位机和激光雷达、数字舵机数据通信的桥梁。一方面,STM32 单片机系统通过无线网络或者RS-232 串口和计算机上位机进行数据通信,计算机上位机发送指令信号给单片机系统,单片机系统得到指令则将指令转化为数字舵机与激光雷达的控制信号,从而控制数字舵机回到起始角度、转动指定角度,同时控制激光雷达离开扫描采样模式进入空闲状态、测距核心软重启、进入扫描采样状态、进入扫描采样状态强制数据输出、获取设备序列号等信息、获取设备健康状态等等。另一方面,STM32 单片机通过串口接收2D激光雷达发送的距离值以及当前的转角值,然后向上位机发送当前舵机俯仰角、2D 激光雷达测出的距离值以及当前的转角。
上图为三维激光扫描雷达的实物图。