APP下载

基于单线激光雷达的廊道环境数字重构技术

2021-06-26蒋玉林赵建国

科学技术与工程 2021年15期
关键词:里程计移动机器人激光雷达

蒋玉林, 杨 炯, 梁 杰, 赵建国

(郑州大学机械与动力工程学院, 郑州 450001)

近年来,众多学者们对计算机视觉领域不断深入研究,基于激光测量技术的测绘方法和三维重建方法成了各行各业的热门研究方向。隧道测量是其中一个重要的应用场景,为了提高测量效率和精度,一般利用车载激光雷达对隧道断面进行多次扫描,建立整个隧道的三维立体模型,再对比分析实际数据与测量的误差,从而获得隧道的形变信息[1]。在三维重建领域,如何快速、准确地获取目标物体的三维数字化模型是该领域的重要研究任务,学者们做了大量的研究,提出了多种重建方法,这些方法中使用的传感器主要有两种基于视觉传感器[2]和激光雷达传感器[3]。视觉传感器主要获取目标物体三维深度信息,但数据量大、处理复杂且精度低。激光雷达传感器测量精度高,采集速度快,但是三维激光雷达价格昂贵,因此大量研究人员多以二维激光雷达为基础,额外增加机械结构,以实现三维雷达的扫描功能。

Liu等[4]提出了利用移动设备上的RGB-D传感器和惯性测量单元(inertial measurement unit,IMU)对动态场景进行扫描的方法,将输入的深度图像分割成静态或动态,并将深度图像集成到基于体素的表示中,实验结果表明该方法动态场景重建效果好。陈颖等[5]以双目相机和电动云台搭建立体视觉系统,通过双目相机获取场景的点云信息,然后通过特征匹配和点云配准融合实现对室内全景的重建。由于视觉方法受环境影响较大,动态性低,而且容易产生累计误差,所以精度较低。郑道岭[6]提出了一种基于多传感器融合的重建方法,利用激光雷达获取场景深度信息值,视觉进行运动估计和三维建图,将两者信息进行融合极大地提升了建图性能,但是传感器的标定和数据的融合变得十分困难。段清明等[7]使用2D激光雷达和数码舵机配合搭建旋转云台作为三维数据采集装置,该方法可以实现对扫描范围和精度的控制,但是扫描范围有限且全局坐标标定变得困难。

现主要针对廊道、隧道测量等工业应用,在前人的研究基础之上,对现有方法进行改进,提出了一种基于单线激光雷达的数字重构系统。该系统以移动机器人为移动平台,搭载单线激光雷达传感器,实现三维雷达扫描功能,可以完成廊道环境的自动化数据采集和实时场景重构。为了保证数据采集精度,首先要解决移动机器人运动偏离的问题,本系统采用一种模糊PID闭环控制,对移动机器人实现精确控制。针对2D点云到3D点云转换问题,提出了一种里程计数据和激光雷达传感器数据融合的方法。最后通过MATLAB中的点云可视化模块实现三维点云的可视化,完成廊道环境的数字重构。以廊道和管道为实验场景进行自动化数据采集和数字重构,并与实验场景进行对比。

1 系统硬件构成

本文中设计的数字重构系统硬件构成示意图如图1所示。系统可分为3个主要模块:①雷达扫描模块;②移动机器人控制模块;③控制与数据采集单元模块。雷达扫描模块主要由一个单线激光雷达构成。移动机器人控制模块是以Arduino mega单片机为主要核心的控制系统组成。控制与数据采集模块通过串口将运动指令发送给单片机系统,单片机系统接收数据并运用下文中的运动学模型算法式(1)解算出各个轮子的转速和方向,然后把解算数据以脉冲宽度调制(pulse width modulation,PWM)信号的形式发送给电机驱动器,控制电机转速。电机、电机驱动器以及编码器形成了一个闭环控制系统,其闭环控制的反馈量来自于4个编码器测得的电机转速。控制与数据采集单元模块由一个小型笔记本电脑构成,搭载在移动机器人上。单片机和控制与数据采集单元模块之间通过串口实现数据交流。主要任务包括:

图1 系统硬件构成示意图Fig.1 System hardware structure diagram

(1)接收控制与数据采集模块发送的控制命令,如启动、停止、速度反馈调节等等,单片机系统向控制与数据采集模块实时发送由编码器采集的机器人里程,发送频率为100 ms/次,大于雷达扫描模块转动一圈的时间125 ms。

(2)控制与数据采集模块采用多线程并行的方式,一个线程负责通过串口接收雷达采集到的角度距离值,另一线程不断接收单片机系统发送的机器人里程计,将两份数据同时存储起来,这样就得到每一帧激光雷达数据和该时刻对应的机器人位姿信息[8],最后使用坐标变换公式[式(2)]计算出所有激光点在三维空间中的坐标信息。

2 系统数字重构过程

如图2所示为数字重构系统处理过程流程图,单片机系统接收编码器获取到的数据,并对其进行计算处理,得到4轮角速度信息,通过串口将数据上传到控制与数据采集单元模块进行运动解算,得出该时刻移动机器人的里程信息。上位机以多线程并存的方式运行,一个线程读取单线激光雷达采集到的角度距离信息,另一线程接收单片机系统上传的机器人里程计。控制与数据采集单元模块接收激光雷达采集到的环境角度距离信息并以帧为最小单位存储,里程计按照时间顺序存储容器中。将每一帧原始点云和与之对应的里程计值进行数据融合,并运用线性插值方法求解该帧点云中的所有数据点对应的里程计值,也就是将每一帧所有激光点转换到里程计坐标系下,再把里程计坐标系下的所有激光点转换到世界坐标系下,完成所有2D点云到3D点云的坐标转换,最后进行场景合成实现廊道环境的数字重构。

2.1 移动机器人控制模块设计

2.1.1 机器人控制模块运动学模型[9-10]分析

(1)

式(1)中:ω1、ω2、ω3、ω4为移动机器人4轮角速度;r为麦克纳姆轮半径;a为两前轮轮心距离的1/2;b为前轮与后轮轮心距离的1/2;vx、vy分别为移动机器人在平面x、y方向上行驶的速度;ωz为移动机器人绕z轴的转动角速度。

2.1.2 模糊PID控制器设计

移动机器人控制模块采用基于参数分配器的模糊PID控制[11]对整个控制模块形成双闭环控制,其结构简图如图3所示。

图3 移动机器人控制模块系统结构简图Fig.3 System structure diagram of mobile robot control module

首先控制与数据采集单元模块以报文的形式将机器人的运动控制参数发送给单片机系统,单片机系统经过分析处理得到相应的控制参数vx、vy、ωz,然后使用式(1)计算得出机器人四轮转动的角速度,传送至PID控制器,PID控制器输出规定的PWM控制信号,通过参数分配器将各轮转速分配给与其对应的电机驱动器,进行PID调节控制,使各轮的转速与预期速度保持一致。在电机转动的同时,其尾部安装的编码器可以实时测得各轮转速反馈到PID模糊控制器,通过模糊控制器对PID控制参数kp、ki、kd形成不断的动态修正,对机器人控制模块进行PID控制,整个控制过程形成了可以进行实时反馈的双闭环控制系统,保证了机器人在数据采集过程中保持直线运动状态,提高了数据采集的准确性。

2.2 坐标转换

因为单线激光雷达采集到的数据是极坐标[12]形式,所以就要把这些数据点转换为直角坐标形式,设空间中点云坐标形式为(d,α,ρ),其中d为里程计传感器获得的当前激光点在水平方向的里程值,α为单线激光雷达当前的测量角度,ρ为当前激光点到雷达中心的距离,于是当前激光点的三维空间坐标为(x,y,z)。

(2)

2.3 数据融合

数字重构系统在工作的状态下,移动机器人控制模块由车轮上的编码器获取里程计数据,雷达扫描模块采集廊道环境竖直截面的角度距离信息,本文提出了一种里程计数据和激光雷达传感器数据融合的方法[13]。假设知道激光雷达采集到的某一帧数据点的开始时刻和结束时刻分别为tm、tn,相邻的两束激光时间差值为Δt,单片机系统上传的里程计数据根据时间的先后顺序存储到容器中,采集到的第一个里程计值的时间戳≤tm,最后一个里程计值的时间戳≥tn。数据融合的过程,就是将该帧的激光数据点中所有的激光点找到一个与之对应的里程计数值,也就是计算{tm,tm+Δt,…,tn}时刻系统对应的里程数值,按照里程计数据把采集到的所有数据点统一到世界坐标系下,最终实现了二维点云到三维点云的转换,最后利用MATLAB中的点云可视化模块[14]将坐标转换后的三维点云显示出来,实现环境的数字重构。

(1)计算tm、tn时间点机器人对应的里程计数值。如果里程计容器和雷达扫描模块采集的数据刚好时间同步,设第i和第j个数据点对应的时刻分别为tm、tn,于是可以求出m、n时刻对应的里程计值,可计算得到

pm=DataContainer(i)

(3)

pn=DataContainer(j)

(4)

(2)里程计容器与雷达扫描模块采集的数据不同步,可以设tm时刻里程计队列中找不到与之对应的里程计值,那么我们就需要进行线性插值,假设在里程计容器中可以找到e、f时刻的里程值,且e

pe=DataContainer(e)

(5)

pf=DataContainer(f)

(6)

(7)

(8)

(9)

(4)已知pm、ps、pn,可以插值一条二次曲线,即

P(t)=At2+Bt+C,tm≤t≤tn

(10)

(5)接下来,用分段线性函数对二次曲线进行近似。如果分段数不低于3时,产生的误差则可忽略。在tm、tn时间段内,共有K个位姿{pm,pm+1,…,pm+k-2,pn},每个数据点对应的里程值可以通过线性插值的方法计算。可以设在pm~pm+1范围内共有N个里程数值,可以得到

(11)

(6)每个激光数据对应的里程计值{p1,p2,…,pn}通过上述步骤插值得到,将所得到的数据代入式(2),计算出的数据点就是融合后的三维空间点云,最后重新封装并发布出去。

3 实验结果

3.1 实验条件

数字重构系统的扫描频率为8 Hz,即每秒重构出8个竖直的截面。雷达扫描模块以2 000次/s的测距频率工作,机器人的移动速度为3 m/s。

表1为实验软硬件详细介绍。为了验证本文设计搭建的数字重构系统的可靠性和稳定性,分别在两种实验环境中进行测试。

表1 实验软硬件详细介绍

(1)实验环境1为室外的管道,管道内壁的长宽高分别为2.38 m×0.72 m×0.72 m,其测试实验场景如图4(a)所示。

(2)实验环境2为室内的走廊,廊道环境的长宽高分别为7 m×2.22 m×2.53 m,其测试实验场景如图4(c)所示。首先对数字重构系统进行启动通电完成系统初始化,系统开始自动采集实验环境的三维点云数据,再使用MATLAB软件处理采集到数据点实现点云可视化,完成实验场景的数字重构,最后与实际实验场景进行对比。

3.2 实验结果分析

数字重构系统在实验环境1和实验环境2下的重构结果分别如图4(b)、图4(d)所示。从图中可以直观地看出,实验环境1的纹理信息重构清晰,实验环境2中的门框、消防栓、灯等结构特征信息明显,重构效果好。

图4 实际实验场景和数字重构结果Fig.4 Actual experimental scenario and digital reconstruction result

如图表2所示,对比实验场景原始数据和数字重构结果可以得出,本文设计的数字重构系统实现了两种实验场景的重构,数字重构的结果与实际数据进行比较,误差在2~6 mm,重构特征明显,精度高。

表2 实验场景原始数据与重构结果对比

4 结 论

(1)基于单线激光雷达和移动机器人,设计了一个廊道环境的数字重构系统。系统以自行设计搭建的移动机器人为移动平台,搭载单线激光雷达传感器。介绍了系统软硬件模块,提出了一种里程计数据和激光雷达传感器数据融合的方法,并详细介绍了系统数字重构过程、移动机器人控制模块、坐标转换以及数据融合过程。

(2)通过实验测试,结果表明,该系统可以实现对廊道环境的数字重构且能较为准确的重构出一般结构的几何特征,重构特征明显、重构精度高且稳定性强。

猜你喜欢

里程计移动机器人激光雷达
室内退化场景下UWB双基站辅助LiDAR里程计的定位方法
移动机器人自主动态避障方法
法雷奥第二代SCALA?激光雷达
基于激光雷达夜间观测提取重力波方法的定量比较
移动机器人路径规划算法综述
室内环境下移动机器人地图构建与路径规划技术
里程计技术发展综述
基于激光雷达的多旋翼无人机室内定位与避障研究
基于多传感器融合的机器人编队ADRC控制
SINS/OD组合导航系统转弯误差补偿*