基于单线激光雷达的低速车辆前向地形构建*
2022-12-10杨淑君李忠利高永升杨永军韦宇豪
杨淑君,李忠利,贾 方,高永升,杨永军,韦宇豪
(1.河南科技大学 车辆与交通工程学院,河南 洛阳 471003;2.拖拉机动力系统国家重点实验室,河南 洛阳 471003)
0 引 言
激光雷达是无人驾驶汽车环境感知技术中常用传感器之一,其测量精度高、速度快[1~4],目前乘用车无人驾驶研究一般采用多线激光雷达,但是多线激光雷达使用成本过于昂贵, 对其大范围使用造成了一定的限制[5~7]。拖拉机和工程机械等低速车辆具有行驶速度低,运行工况单一和环境条件简单等特点,针对低速车辆对环境感知的要求,本文提出了一种基于单线激光雷达的低速车辆前向地形构建系统。
1 地形构建实验系统
1.1 系统组成
地形构建系统实验平台组成如图1所示,单片机通过发送脉冲信号控制步进电机的转速和方向,单线激光雷达通过步进电机摆动测量物体的距离,通过陀螺仪测量三轴姿态角,通过轮速测量仪测量车辆的前进位移。
图1 地形构建实验系统平台
1.2 系统原理
单线激光扫描示意如图2所示,本文设计一个机械结构将单线激光雷达与步进电机的旋转轴固定连接,将整个结构与地面倾斜一定的角度安装在车辆上,安装角度记为θy,通过步进电机带动单线激光雷达在y轴方向呈一定的角度α摆动,一次摆动可以得到单行地面信息,汽车行驶时便能得到多行信息,最后通过坐标变换以及点云数据处理可以得到前方地形的信息。
图2 单线激光雷达扫描示意
1.3 关键参数确定
根据车速确定安全距离,由安全距离、激光雷达安装高度、车辆离地间隙确定安装角度θ1;由电机转动角度和车身宽度确定安装角度θ2,图2中单线激光安装时与地面的最大倾斜角度θy取θ1,θ2中最小值
(1)
(2)
式中M为车辆需要识别的最短距离即安全距离,h1为安装高度,h2为障碍物高度,b为车身的宽度,α为电机摆动角度。
2 数据获取
通过上位机软件进行数据的获取与保存,本文使用C#语言在Visual Studio 2017开发环境下进行上位机的开发。单片机通过RS—232串口将步进电机的角度数据以及轮速仪测量仪的位移数据发送给上位机,单线激光雷达和陀螺仪直接通过USB转TTL串口模块将距离数据以及侧倾角、俯仰角、偏航角发送给上位机。
3 三维地形重构
3.1 数据预处理
3.1.1 剔除异常数据
本文选用的单线激光雷达是一种FS020微型高速激光测距模组,测量距离0.15~20 m,受到环境或者目标表面影响会有错误点以及异常数据点,通过设定阈值进行错误点和异常数据的查找与剔除。
3.1.2 小波变换去噪
由于传感器设备在使用过程中会产生频率随时间发生变化的非平稳信号,在测量中会有较为明显有用的突变信号。小波分析系数稀疏分布,使信号变换后的熵较低,能够很好地表示信号的非平稳性,具有多分辨率的特性,可以很好地保护有用的尖峰信号和突变信号[8,9]。
傅里叶变换
(3)
对信号F(x)的连续小波变换则定义
(4)
式中ω为频率,a为伸缩因子,τ为平移因子。
对采样后的信号进行小波多尺度分解,将原信号分解为低频近似信号和高频细节信号
f(x)=An+Dn+Dn-1+…+D2+D1
(5)
式中f(x)为代表信号,A为低频近似信号,D为高频细节信号,n为代表分解层数
本文选用MATLAB工具箱中提供的Daubecheies(dbN)小波系,又叫紧支集正交小波,N为小波的阶数。(dbN)小波系具有较好的正交性,可使得信号重构过程比较光滑,利用函数Wavedec对信号进行分解,利用Wrcoef函数对信号重构。
3.2 坐标系的建立与变换
单线激光雷达获取的距离信息和步进电机得到的角度信息,能够得到物体在传感器二维直角坐标系下的位置,将传感器坐标系绕y轴旋转得到三维载体坐标系。由于载体坐标系在不断变化,需要将载体坐标系转换为大地坐标系。
3.2.1 坐标变换
将图2所示中单线激光雷达摆动扫描面记为以单线激光雷达为极点、距离L为极径的极坐标系,将极坐标转换为以单线激光雷达为原点的直角坐标系OXrYr,如图3所示
图3 单线激光雷达坐标系
xr=L×sinβ
(6)
yr=L×cosβ
(7)
3.2.2 坐标旋转
如图4所示建立以低速车辆前进方向为Xo轴、垂直于前进方向为Yo轴、垂直地面为Zo轴的一个三维载体坐标系OXoYoZo,将单线激光雷达坐标系OXrYr通过绕y轴旋转θy变换为载体坐标系
图4 载体坐标系
xo=xr×cosθy
(8)
yo=yr
(9)
zo=xr×sinθy+h1
(10)
由于车辆在行驶时的振动、颠簸,采用陀螺仪测量车辆的三轴姿态角,经坐标变换修正由于车辆行驶时造成的坐标轴偏移,记载体坐标系为O系、大地坐标为W系,初始状态时两个坐标系重合,首先将O系绕Zo轴旋转ψ,然后绕Yo轴旋转θ,最后绕Xo轴旋转φ,经过三个欧拉角转动后得到车辆的最终姿态[10,11],大地坐标系下的一个矢量rw=(xw,yw,zw)与载体坐标系下的矢量ro=(xo,yo,zo)之间的关系可以表示为
(11)
记
(12)
(13)
3.2.3 坐标平移
车辆前进过程中,随着车辆和物体间距离的变化需要不断地进行数据序列x向坐标平移。通过轮速测量仪可求得车辆的位移,已知车轮每转一周,轮速测量仪输出1 000个脉冲,则位移为
S=m×D×π/1 000
(14)
式中m为轮速测量仪输出脉冲数;D为车轮直径。
车辆在第n时刻的坐标记为(xwn,ywn,zwn),车辆位移记为Sn
(15)
将修正后的空间位置再重新记为rw。
3.3 网格化处理
将去噪后的数据在Surfer 8.0软件中先进行网格化处理,在软件中选用准确插值中的一种带线性插值的三角剖分法,该方法速度快,能够采用所有数据点去构造三角形,使数据得到很好的体现,最终生成test.grd文件,在map中选择Surface map生成表面图[12]。
4 实验验证
4.1 实验方案
如图5所示,将该小车作为移动平台,本文设计的地形构建系统在该移动平台上进行实验验证,步进电机和激光雷达的安装角度为18.2°,将陀螺仪放置在步进电机后方,轮速测量仪放置在右前轮,在实验中使车辆发生侧倾、俯仰和偏航以引起姿态角的变化,验证方案的可行性。
图5 系统安装示意
为了能够模拟车辆前方的沟壑,目标物体选用的形状如图6所示,由8个盒子围绕而成,物体外侧大小129 cm×90 cm×17 cm,中间区域为43 cm×30 cm×17 cm。根据安装高度117 cm,安装角度18.2°和区域宽度30 cm,可得到激光雷达能够测得的深度为9.8 cm。
图6 目标物体
4.2 实验结果
在室外进行3次数据采集,将采集后的数据进行预处理,如图7所示,对部分异常数据进行剔除。将剔除异常点后的数据通过小波分析进行去噪处理,本文在MATLAB工具箱中选用db4小波基对信号进行5层分解,将每层分解后的近似系数进行重构,如图8所示。
图7 剔除异常数据点
图8 信号重构曲线
由图8可知,分解层数越多,重构后信号的光滑性越好,选用第5层重构后的数据在Surfer 8.0生成三维图,如图9所示,去噪后得到的三维图较为光滑,形状比较规则。
图9 地面三维表面
4.3 误差分析
根据表1的实验数据分析可得,误差主要来源于单线激光雷达硬件本身、安装角度和陀螺仪数据校准。其中外围物体的长度的误差大是由于安装角度的原因,导致测量物体两侧时瞄准角度小,接收信号较弱,误差增大;内围凹陷区域形状较为不规则,其主要误差来源于陀螺仪校准时不准确,导致试验过程中偏离测量的正向位置。
表1 实验数据以及误差
5 结 论
本文根据搭建的地形构建实验平台进行多次实验验证,通过设计的上位机程序进行数据采集、数据同步、坐标变换、点云修正、数据保存和网格化处理,在Surfer 8.0生成的三维表面图,通过与实际物体尺寸对比,误差在合理范围内,实验结果表明了该系统能够很好的满足低速车辆前向地形的构建需要。