360°激光测距的可移动三维建模方法
2019-02-22倪晋平孟炳全
吴 笛,倪晋平,陈 丁,李 海,孟炳全
(西安工业大学 陕西省光电测试与仪器技术重点实验室。 陕西 西安 710021)
0 引 言
近些年,公共安全已经成为社会发展中的重要问题. 依靠科技加强公共安全体系是非常有效的措施. 目前,传统的人力对封闭空间的探测,已经因为其危险系数高、操作复杂等原因逐渐被质疑. 与此同时,激光技术,工业自动化技术,远程控制技术等新技术的发展与应用已成为当今科技领域发展的主流. 因此高度重视运用科技提高应对突发公共事件的能力,使用高科技产品对危险高发的地区进行监控、报警及预防具有十分重大的意义.
如今,对于环境探测的研究越来越多. 郭啸宇, 张建荣设计了基于单片机STC89C52RC的无线环境探测小车[1],实现了对目标环境温度以及光照度的探测,但没有进行建模; 陶重犇提出了一种基于人的运动信息与位置信息融合的方法进行3D环境语义地图建模,实现了室内3D语义建图[2],但只是对常规环境的建模. 以上研究均未用到测量性能优越的激光测距法对室外或危险环境进行探测.
本文设计的基于360°激光测距的可移动3D建模系统可以代替传统的人力在危险的空间中进行探测. 根据360°激光传感器传回的信息对空间进行建模,移动平台用于携带两个激光遥感器. 远程数据以同步的方式在水平和垂直方向收集,并被传输到上位机. 上位机对接收到的距离数据执行数据融合操作. 同时,下位机将实时拍摄到的图像数据向主机进行传输. 用户实现了对移动平台周围环境的完整扫描并获取最终的3D模型. 操作人员可安全地得到空间内的结构信息,避免了潜在的人员伤亡. 本设计可以广泛应用于公共安全和国防安全领域,具有巨大的实用价值和广阔应用前景.
1 系统总体方案
可移动3D建模系统由激光测距传感器,移动平台,下位机和上位机构成,如图 1 所示.
图 1 总体框图Fig.1 Overall block diagram
激光测距传感器选用RPLIDAR A1型激光雷达; 图像采集传感器只需要传输图像以便对移动平台进行远程控制,不需要做其它图像处理,所以1 200万像素的家用摄像头足够完成这项任务; 移动平台为自制4轮差速控制的遥控车,车身结构稳定,具有一定的行驶精度. 移动平台的远程遥控和图像传输选用Wi-Fi频段,传感器的数据单独选用2.4 G频段; 下位机使用功能强大的STM32系列微处理器,需要控制移动平台与传感器之间的通信,并负责与上位机之间的数据通信; 上位机需要显示下位机采集的图像、发出信号控制移动平台的移动,并处理大量的数据,进行数据融合和算法分析,故选用PC机.
2 测距系统及移动平台的设计
2.1 激光测距系统的构成
激光测距技术凭借其精度高,非接触式,实时性好以及在特殊环境下的工作能力等优势在国内的生产和科研领域中得到了快速的发展. 使用激光作为测距仪器具有散射少,亮度高和能量集中等优点,因此在距离测量中更为有效,而传统的接触式测量技术很难达到这些要求. 在科学技术不断创新发展的今天,激光测距将承担更多更重要的任务[3]. 目前常用的激光测距系统由于实现方法及应用场景的区别,主要分为脉冲法、相位法、干涉法和三角法. 本设计采用的是三角法激光测距.
图 2 RPLIDAR A1系统构成示意图Fig.2 Schematic diagram of the RPLIDAR A1 system
本系统采用SLAMTEC研发的RPLIDAR A1模块,主要分为激光测距核心部分和使核心高速旋转的机械部分. 系统供电后,测量核心将开始顺时针旋转,用户可以通过PLIDAR A1通信接口获取RPLIDAR扫描范围数据. RPLIDAR A1拥有自己的速度和自适应检测系统. 雷达的扫描频率将根据电机的实际速度自动调整. 外部系统可以通过通讯接口获取当前雷达的实际速度,如图 2 所示. RPLIDAR A1模块使用测距系统与电机系统单独的电源模式,外部系统需要分别为这两个部分供电以确保扫描测距数据的精确性.
RPLIDAR A1的测距范围是0.15~6 m,扫描角度为0~360°,测距分辨率小于0.5 mm,测量频率大于2 000 Hz,扫描频率为5.5 Hz,激光器的功率为3 mV,测量系统电压为5 V,电机系统电压为5 V.
2.2 远程智能移动平台
2.2.1 核心系统
移动平台采用自制4轮差速控制遥控车,选用STM32F407ZGT6型号的主控微处理器. STM32系列具有ARM Cortex-M内核,是专为要求高性能、低成本、低功耗的嵌入式应用而设计的. Cortex-M4内核是STM32F4xx中最具代表性的,处理器内核带有FPU的ARM32位 Cortex-M4 CPU、一个自适应实时加速器 (ART加速器),且加速器可在Flash存储器中实现零等待状态运行、主频高达168 MHz,具有DSP指令集[4].
2.2.2 图像采集系统
OV7670传感器(见图 3)用于拍摄图像,并由两个舵机组成云台控制传感器的水平以及垂直方向上的俯仰角,STM32控制舵机运行并采集OV7670捕获的图像.
图 3 OV7670驱动电路Fig.3 OV7670 drive circuit
图 4 舵机驱动电路Fig.4 Steering gear drive circuit
利用 STM32 的外部 I/O 中断来快速捕获 OV7670 传感器的帧同步信号,再将每帧图像的原始数据通过无线的方式传输到上位机,并形成一个流畅的视频. 同时,利用STM32的定时器生成PWM波,通过调节占空比对云台上的两个舵机(见图 4)进行控制.
2.2.3 电机控制系统
STM32对电机同样采用PWM(Pulse Width Modulation )控制方式,将4个电机分为左右两组,通过调整PWM波的占空比来控制电机的转速,以达到差速控制遥控车转向的目的[5].
3 上位机软件系统设计
3.1 软件开发环境
使用LabVIEW编写上位机主要软件,以获得具有数据收集和数据融合功能的虚拟仪器. LabVIEW是由NI公司开发的一种程序开发环境,它提供了许多类似于传统仪器(如示波器和万用表)的控件,并可用于创建用户界面. LabVIEW 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码[6].
3.2 同步定位与地图构建
本系统的三维建模过程实际上是解决一个SLAM(Simultaneous Localization and Mapping,同步定位与地图构建)的问题,是一种机器人自主定位与导航的有效解决方法[7]. SLAM问题可以描述为:机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航[8].
3.3 数据的前期处理
有关SLAM的数据是通过激光雷达采集到的. 如果将传感器采集的原始数据直接应用到SLAM中,由于传感器采集的数据不能完全准确,将会导致粒子分布过于集中,粒子样本集的多样性降低,最终将导致对样本数据的过度信任,定位结果出现错误. 所以需要根据传感器的精确度和环境特点等,对数据进行筛选,剔除错误数据.
3.4 误差分析
本系统中,有关SLAM的数据是通过激光雷达采集到的. 激光雷达采集到的数据是以激光雷达为坐标原点进行360°旋转扫描而得到的,因此结果会有3种噪声数据,分别为:测量固有的误差、测量失效的误差以及随机误差. 在SLAM前必须对数据进行前期处理,筛选出有效数据. 对于测量失效误差和随机误差可以通过对激光雷达发送的数据报文进行甄别来尽可能消除. 在激光雷达测量过程中,如果接收到的激光出现异常激光雷达就会发送特定的字符串,对于激光出现异常的判断是由激光雷达自主完成的. 在实际使用时只需要通过检查激光雷达发送的数据报文就能剔除测量失效的数据. 对于测量固有误差,激光雷达通过标定对测量结果进行修正,在一定程度上消除了测量固有误差.
硬件上,激光雷达的测量精度与移动平台运动时绕X,Y轴产生的抖动会对最终的模型构建产生影响. 在该算法中,移动平台的位置计算存在一定的不确定性,根据时间关系将移动平台的连续运动过程分为离散的系统状态,形成马尔科夫链,将上一时刻的定位结果作为下一时刻定位算法的输入,利用传感器获得移动和环境测距信息进行实时定位并使用定位结果进行实时的地图构建.
4 系统试验及结果
本设计由激光测距传感器、移动平台、下位机和上位机构成的可移动3D建模系统实物如图 5 所示.
图 5 3D建模系统实物Fig.5 Physical model of 3D modeling system
移动平台顶端搭载的是RPLIDAR A1激光测距传感器,以360°旋转的方式进行扫描; 前端为摄像头,用以对周围环境拍摄,并上传图像到上位机; 移动平台的主体为基于STM32的控制单元,其中又分为2.4 G无线通信、WIFI[9]通信、云台与电机控制3部分; 上位机在PC机上实现,分别显示摄像头传回的视频图像以及实时建模结果,并对移动平台进行控制.
图 6 为本设计的模拟试验. 上位机控制移动平台在实地环境中行进,左上角图片为上位机显示的由下位机传输的前方物体的视频图像; 右上角图片则为对周围环境的实时测距建模结果[10]. 模拟试验可顺利进行,并可得出正确数据.
图 6 模拟验证实验Fig.6 Simulation verification experiment
5 结 论
通过多次实验,基于360°激光测距的可移动3D建模系统对于简单、规则的现实环境可以进行实时定位和地图构建,其中涉及到的定位和导航算法具有很高的研究价值,这类算法在无人驾驶和导弹自主导航领域也具有很高的实用价值. 在对激光雷达探测到的数据进行分析处理时,本文只对移动平台在室内规则环境下进行初步分析处理,是一种基于理想化模型的处理方法,而实际环境远比这复杂. 经研究,还可以利用基于卡尔曼滤波[11]和马尔可夫链的分析方法对数据进行处理,但必须找到一种最优的算法,更进一步地对实时定位和地图构建知识进行深入研究. 因此,实时定位和地图构建的研究将会是一项非常艰难但又极具研究价值的课题.