基于低成本RTK‐GPS的实时高速自动驾驶

摘要

本文研究了低成本实时动态GPS(RTK‐GPS)传感器用于自动驾驶车辆定位以实现高速驾驶的可行性。为了实现高速自动驾驶,尽管基于图像的方法结合GPS可以作为定位的良好方案,但使用低成本的RTK‐GPS位置也是一种可行选择。在高速驾驶中,获取精确的位置定位非常重要,因为定位精度不足可能会降低车辆沿目标路径航路点行驶时的驾驶稳定性。因此,本研究利用RTK‐GPS位置,在配备低成本GPS和RTKLIB的测试车辆上减少了位置误差。实现了一种改进的自适应前瞻距离纯追踪算法来控制测试车辆。通过在长度为2477米、包含多种弯道和坡度的赛道上进行实验,验证了使用RTK‐GPS位置的测试车辆在130公里/小时高速下的性能表现。测试结果表明,采用所提出的基于RTK‐GPS位置的实时自动驾驶系统,测试车辆完成一圈赛道用时111秒,未发生偏离赛道或明显的横向误差。该成绩比专业人类驾驶员创下的79秒纪录慢了32秒。

关键词 实时自动驾驶 · 图像处理 · 控制算法 · RTK‐GPS · 高速驾驶

1 引言

自车的精确位置定位是自动驾驶高速导航的关键技术之一[1]。已知仅基于图像或视觉的自动驾驶在实际道路上仍难以实现高速行驶[2]。基于摄像头的视觉或图像处理与低成本GPS相结合的高速自动驾驶,可能是经济型自动驾驶汽车的一个良好方案。本研究除了考虑两种不同传感器(视觉和GPS)的组合外,还探讨了仅基于低成本GPS实现高速自动驾驶的可行性。

全球定位系统是用于地面车辆定位的代表性传感器之一,它提供地球上的绝对位置[3]。高成本的全球定位系统接收器使用各种载波频率,如L1、L2和L5,以提供高度精确的位置。利用低成本传感器对于自动驾驶车辆的商业化至关重要[4]。然而,由于仅接收L1频率信号的低成本GPS的定位误差可能达到数十米,因此通过应用精密单点定位(PPP)、差分GPS(DGPS)和实时动态定位(RTK)方法来提高其定位精度[5–7]。已知RTK是其中最精确的方法。Alanen等人实现了一种移动式RTK系统,该系统由低成本GPS、惯性测量单元(IMU)和无线网络组成,以实现精确位置定位[8, 9]。

高桑等人开发并发布了一个开源软件包RTKLIB,该软件包通过低成本GPS提高了定位精度,其用于实现RTK的设备成本约为$400[3]。Realini等人发布了另一个基于MATLAB的开源RTK程序goGPS[10]。Pesyna等人使用精度达到厘米级的GPS天线实现了RTK[11]。此外,还有其他一些工具被开发出来并作为开源软件发布[12–15]。

本文中,第2节讨论了低成本RTK‐GPS的理论基础以及用于横向控制的具有自适应前瞻距离的纯追踪算法。第3节讨论了采用所提出的低成本RTK‐GPS实现车辆高速自动驾驶的实验设置。在第4节中,分析并讨论了RTK‐GPS系统的定位精度。最后,第5节总结了结论。

2 理论考虑

2.1 RTKLIB和NTRIP

实时动态定位(RTK)利用基于载波的相对定位,通过流动站和基准站信号之间的差异来消除位置误差。此外,RTK获取载波相位和伪距,通过双差测量方程消除卫星与接收机之间的钟差以及大气效应[6]。

已知RTKLIB使用基于以下变量的扩展卡尔曼滤波器来获取RTK‐GPS位置[3] as。

其中和 k 分别为流动站天线在k时刻的状态向量和观测向量。r 、、以及分别为流动站天线位置向量、载波相位模糊度的单差(以周为单位)、双差载波相位和伪距测量值向量。分别为[3]。车辆中RTK‐GPS的位置从r变换到c,在通用横轴墨卡托(UTM)坐标系下进行,并且在公式 (1)和(2)中考虑了L1频率,因为低成本GPS仅使用L1频率。RTKLIB支持网络RTK(NRTK),通过互联网接收被称为NTRIP(基于互联网协议的RTCM网络传输)的标准消息,以获取修正信息[18]。韩国国家地理信息研究所(NGII)通过NTRIP消息在全国范围内提供基站的修正信息,采用虚拟参考站(VRS)或面校正参数(FKP)方法[19, 20]。

示意图0

图1 展示了VRS和FKP方法的概念。VRS通过邻近基站的信息在流动站附近创建一个虚拟基准站,以实现距离改正[20]。然而,由于创建虚拟基准站需要大量计算,因此用户数量受限[20]。FKP利用邻近的基站获取包含流动站的平面参数。已知该方法的用户数量不受限制,但其定位误差大于VRS[21]。

2.2 改进的自适应前瞻距离纯追踪算法

纯追踪算法是自动驾驶车辆中用于跟踪目标路径的横向控制算法之一,该算法通过考虑预定义的前瞻距离 D来计算期望的转向角[22–24]。

然而,由于前瞻距离是固定的,该算法难以应对车速的快速变化。如果前瞻距离相对于车速过短,车辆可能会发生左右波动,从而增大航路点与车辆位置之间的横向误差,并导致偏离车道[22]。

示意图1

在具有自适应前瞻距离的纯追踪算法中,预定义的前瞻距离Dadapt可根据车速进行调整,并可表示为

其中D 和Le分别为预定义的前瞻距离D和横向误差Le,如图2[22]所示。

从图2可以看出,当车辆行驶至位置c时,其相对于连接两个航路点wi和wi+1的直线的横向误差Le可由以下公式计算:

其中∡cwi+1wi是点 wi+1到点 c 和 wi的夹角。经过一些推导,式(4) 可重写为

如图2 所示,通过采用自适应前瞻距离的纯追踪算法可被改进以主动响应车速的大幅变化。因此,可通过引入考虑车辆动力学的车速项 KvV,建立改进的自适应前瞻距离 Dmod_adapt,其表达式为

其中Kv 为常数,车辆速度为 V=(VRL +V RR)∕2 ,其中 V RL 和VRR 分别为左后轮和右后轮的轮速。尽管模型预测控制(MPC)可应用于本研究中测试车辆的横向控制,但采用改进的自适应前瞻距离的纯追踪算法更符合本研究的目的,即评估低成本RTK‐GPS定位在高速车辆定位中的可行性。

目标转向角 w可以通过结合 预定义的前瞻距离D mod_adapt和 e来获得,即车辆航向与从车辆中心 c 到修正后的自适应前瞻点连线之间的夹角。根据阿克曼转向几何关系,可表示为

其中aw是转向角与方向盘转角之间的比值,而b是车辆的轴距。

3 实验设置

实验中使用的测试车辆是由现代汽车制造的五座轿车 Avante AD(1.6升汽油发动机),该车辆已改装用于自动驾驶目的。该车辆的总长度和宽度分别约为4.6米和1.8米,轴距为2.7米。

车辆中实现的自动驾驶系统的框图如图3所示。

示意图2

在自动驾驶系统如图3所示,来自低成本GPS接收器(U‐block EVK‐M8L)和LTE调制解调器的原始GPS数据(采样率为10赫兹)以及NTRIP信息(采样率为1赫兹)被分别获取,并传输至计算机,利用RTKLIB生成采样率为10赫兹的RTK‐GPS位置。在dSPACE MicroAutobox中,将10赫兹的RTK‐GPS位置与通过CAN总线传输的100赫兹车辆传感器数据(包括车速、横摆率和转向角)通过卡尔曼滤波器进行滤波,以生成100赫兹的RTK‐GPS位置。随后生成了100赫兹的控制指令信号,用于实现车辆的自动驾驶。这使得自动驾驶系统的控制指令输出的所有工作频率保持一致,车辆传感器数据更新以及三个执行器的控制频率与100赫兹相同。控制指令信号基于改进的自适应前瞻纯追踪算法计算得出,用于控制三个电动机操作方向盘、加速踏板和制动踏板,如图3所示。该算法的输入包括调参Kv= 0.25、预定义的前瞻距离D= 5 (见公式(6))、100赫兹的RTK‐GPS位置以及预定义航路点。加速度和制动指令通过PI控制器计算,以消除目标速度与当前速度之间的误差。

自动驾驶系统所用的设备,包括EVK‐M8L GPS、MicroAutoBox II、LTE调制解调器和计算机,均安装在测试车辆的后备箱内,如图4所示。低成本GPS接收器的天线安装在车顶中心。

示意图3
示意图4

4 结果与讨论

4.1 低成本RTK‐GPS的位置精度

在试验道路上进行了两步实验,以比较使用RTKLIB的RTK‐GPS位置与低成本GPS位置(单点定位)之间的位置精度。实验采用了来自韩国INCH‐RTCM31的NTRIP消息,该基准站是距离试验道路最近的基准站。

在步骤1中,当车辆停止时,对低成本GPS与RTK‐GPS之间的位置差异进行了比较和分析。两种位置的精度在图5中进行了对比。

如图5(a)所示,测量的单点定位位置分布在10米×10米区域上,其中横向和纵向位置的标准差(STD)分别约为1.82米和3.07米。相比之下,获取的RTK‐GPS位置的标准差(STD)分别约为0.08米和0.10米。因此可以看出,RTK‐GPS位置的精度比单点定位高出约20倍。

在步骤2中,通过将单点和RTK‐GPS位置叠加到卫星地图上分析精度,同时测试车辆由熟练驾驶员驾驶,在直道和弯道的车道上行驶,如图6中黄色虚线所示。6(a)和(b)分别表示直道和弯道的结果,其中左列是单点定位(蓝色点)和右列是RTK‐GPS位置(红色点)。

示意图5

获取的单点定位与车道中心存在较大偏差,尽管车辆是沿车道中心行驶的,如图6(a)所示。相比之下,RTK‐GPS位置相较于单点定位与车道中心的偏差要小得多,如图6(b)所示。

通过两步实验,无论车辆是在直道还是弯道上行驶或停止,RTK‐GPS位置始终准确。因此,RTK‐GPS位置被应用于高速自动驾驶。

4.2 低速自动驾驶实验

在铺设了沥青的49.5米*30.0米试验场上,沿着标记的环形车道进行了一次低速自动驾驶实验,如图7(a)所示。该试验场为开阔区域,周围无高层建筑,表明不存在明显的GPS遮挡。航路点以2米间隔定义在环形车道中心,期望车速设定为6千米/小时。图7(a)显示了实验后测试车辆使用单点定位(蓝色虚线)和RTK‐GPS位置(红色实线)所行驶的轨迹。

当使用单点定位时,测试车辆从起点到Q点的整个过程中严重地左右摇摆。在Q点处,车辆完全偏离了车道,因此出于安全考虑,实验被终止。相比之下,当使用RTK‐GPS定位时,车辆沿车道中心完成了完整一圈的行驶,且目标轨迹未出现明显的位置误差。

示意图6

图7(b) 和 (c) 分别表示自动驾驶系统使用单点定位和RTK‐GPS位置所发出的转向角指令,其中转向角+) 和 (–) 值分别表示向左和向右的度数。图7(b) 和 (c) 显示,在测试车辆使用单点定位行驶时,所发出的转向角指令在左右之间出现更大且更频繁的波动,相较于使用RTK‐GPS位置的情况。

如表1所示,在RTK‐GPS位置/单点定位处,其在左右方向的最大转向角分别为 + 299/+ 477和 −36/ −171度,平均值和标准差分别为 + 102/+ 111和 + 94/ + 152度。

从图7(c) 中可以看出,在测试场地完整一圈中,有五个峰值转向角,对应于左转弯的数量。从实验结果可以看出,与单点定位相比,使用RTK‐GPS位置计算的转向角减少了不必要的操作,并提供了更加稳定的自动驾驶性能。

4.3 高速自动驾驶实验

在旌善的赛道上,基于RTK‐GPS位置进行了高速自动驾驶实验Speedium,位于韩国。如图8所示,赛道由A赛道和B赛道组成,长度分别为2577米和1375米,高速实验选择了A赛道。表2总结了A赛道的详细信息,包括最长直线段长度为640米,最大坡度约为11.77%,最大下坡坡度约为8.00%。

航路点以2.0米间隔设置在记录线上,作为目标路径,以实现最小圈速。各航路点的目标速度根据T1–T10弯道处的直线度、曲率以及赛道坡度设定在40至130公里/小时之间。

示意图7

图8 是赛道旌善速比涛的俯视图,其中标记为 ’ + ’ 的坐标为128.292509(东经)和38.002088(北纬)。A赛道用粗黑线绘制,主要覆盖有带黑点的白线,包含三个左弯道(T5、T6和T9)和七个右弯(T1–T4、T7、T8和T10),如表2所示。

高速自动驾驶实验设计为从起跑线开始,顺时针方向行驶方向如图8所示,经过十个弯道后返回起跑线完成单圈。实验过程中,车辆连续自主行驶两圈,随后采用第二圈的结果进行高速实验的分析。

实验中测试车辆的轨迹是带黑点的白线,其间隔为0.5秒。实际轨迹表明,测试车辆未偏离赛道,并在每个弯道均以外‐内‐外方式行驶。这说明车辆沿目标路径上的预定义航路点(即记录线)行驶,且无明显跟踪误差。特别是值得注意的是,车辆在包括曲率最大的十个弯道中的T4在内的每个弯道均稳定行驶,无波动现象。

然而,在图8中红色虚线框出的赛道最长直道区段上,实际轨迹出现了一些波动。这种波动是由RTK‐GPS位置误差引起的,而位置误差则是由于GPS信号接收干扰所致。如图9(a)和(b)所示,赛道最长直道区段周围的建筑结构是导致GPS信号被遮挡的主要原因。通过将摄像头拍摄的图像、激光雷达生成的点云以及全球定位系统可用于减少此类波动。

示意图8

横向误差 Le在公式(5)中定义,表示目标路径上的预定义航路点与实际轨迹上对应位置之间的横向误差 Le,如图10所示,每个弯道处的Le以单个峰值形式呈现。由于弯道处的曲率、坡度以及车辆动力学对达到目标速度的影响,赛道每个弯道处的横向误差特别大。以kph为单位的赛道上某些航路点的目标速度如图11(a)所示。Le从T1到T3逐渐减小,弯道处的目标速度从T1时的约100 kph降低到T3时的约80 kph。因此,通过比较图10中的横向误差和图11中的目标速度11(b),可以看出横向误差Le大致与车辆在每个弯道处的速度成正比。

在T4处,Lee的幅值约为0.5 m,如图10所示,该弯道具有赛道上所有弯道中的最大曲率,其Le值在十个弯道中是最小的,这是因为在T4处的目标速度被设置为最低(40 kph),如图11(b)所示。在T6处,Lee的幅值约为1.9 m,如图10所示,是所有弯道中最大的之一,因为在T6处的目标速度被设定为80 kph,相对高于相邻弯道(T5= 50 kph和T7= 75 kph),这是因为在T6到T7之间的上坡路段需要更高的发动机扭矩驱动所致。

示意图9

车辆在赛道上的目标速度和实际速度如图11所示,其中图11(a) 显示了实际速度,图11(b) 比较了目标速度与实际速度随时间的变化,图11(c) 绘制了两者之间的速度误差。

实验期间车辆的测量的平均速度约为78千米/小时。从图11(a)和(b)可以看出,自动驾驶车辆在起跑线的实际速度达到了约131千米/小时,这是实验期间速度最高。在T4处测得的最低速度约为40千米/小时。如图11(b)和(c)所示,在高速实验中,目标速度与实际速度之间的误差在大部分赛道上均小于约5千米/小时。然而,在启动后约100–111秒时,速度误差达到约15千米/小时,这是由于车辆的加速性能有限,无法在短时间内达到目标速度所致。

示意图10

整个赛道的圈速可以作为驾驶性能的一个评判标准。因此,将测试车辆在所提出的自动驾驶系统下的圈速与专业赛车在人类车手驾驶下的圈速进行了比较。这是因为目前没有相关的可比圈速数据来评估所提出的自动驾驶系统的相对性能。

本实验中,采用低成本RTK‐GPS位置的自动驾驶系统在赛道上完成单圈用时为111.11秒。相比之下,在同一赛道上,专业人类驾驶员在2016年韩国速度节预赛第5轮创下了79.09秒的赛道记录,如表3[25]所示。

与人类赛车手的记录相比,所提出系统的圈速慢了约32秒。然而值得注意的是,在实验过程中,搭载所提出自动驾驶系统的测试车辆由于安装了各种设备,比赛车重了160公斤。该专业赛车与本研究中提出的自动驾驶车辆属于同一级别,但其动力总成性能更优。

尽管测试车辆增加了重量且动力总成性能较差,但使用RTK‐GPS的所提出自动驾驶系统仍在赛道上以40–131千米/小时的速度完成了完整一圈,未出现偏离或显著的横向误差波动。因此,本研究中车辆定位的方法在结合使用摄像头和激光雷达的基于图像的方法后,将能更好地克服在真实道路条件下高速驾驶可能出现的问题。

5 结论

本研究展示了一项基于低成本RTK‐GPS定位的自动驾驶车辆高速驾驶实验及其分析。研究结果可总结如下。
– 在由量产乘用车型改装而成的专业改装车辆上,实现了基于低成本GPS接收器和RTKLIB的RTK‐GPS用于自动驾驶车辆的定位。
– 提出了一种改进的自适应前瞻距离纯追踪算法,适用于高速驾驶,并应用于自动驾驶车辆的控制。
– RTK‐GPS定位的误差范围小于0.1米,比单点定位精确约20倍。
– 搭载基于RTK‐GPS定位的自动驾驶系统的测试车辆,在长度为2577米的赛道上高速完成了完整一圈。
– 使用低成本RTK‐GPS定位的所提出自动驾驶系统在赛道上达到的最大速度和平均速度分别约为131千米/小时和78千米/小时。
– 测试车辆完成一圈的时间约为111秒。相比之下,专业人类赛车手驾驶同级别但经过专业改装、重量更轻且动力总成性能更优的车辆,在相同赛道上取得了79秒的成绩。

表3 提出的自动驾驶车辆与人工驾驶赛车的对比 [25]
提出的自动驾驶车辆 赛车
驾驶员 使用低成本的自主系统 RTK‐GPS 专业人类赛车手
车辆型号 Avante AD基础乘用车型 调校后的Avante AD运动车型
排量(立方厘米) 1591 1591
最大功率(马力@转速) 132 @ 6300 204 @ 6,000
最大扭矩(千克·米 @ 转/分钟) 16.4 @ 4,850 27.0 @ 1500–4500
Tire 锦湖 SOLUS TA31 205/55 R16 韩泰 Evo12 225/40 R18
重量(千克) 1620 1330
圈速(秒) 111.11 79.09
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐