我们在此介绍一种基于机器学习的自动校准方法
该纵向自动校准系统已经部署
到百度阿波罗百辆以上的自驾车辆
(仅包括混合动力系列车辆和电子交付)
车辆)自2018年4月开始。截至2018年8月27日,它已经测试了超过两千小时,一万公里
(6213英里)并且被证明是有效的。
此外,车辆动力学通常
在驾驶过程中发生显著变化(即负载变化、车辆
零件随时间磨损、表面摩擦[4])和手动
校准不可能覆盖它们。
综上所述,令人惊讶的是,大多数研究论文并没有试图解决这一手动校准难题。人们可以把这归因于这样一个事实,即大多数以研究为导向的项目只关注很少的车辆。为了解决这一特定于工业的问题,本文提出了一种基于离线模型和在线学习的新型自动校准(纵向动力学)系统。
以前的研究已经调查了纵向控制
算法,并将其视为一项具有挑战性的任务
问题[5]、[6]、[7]。一个主要挑战在于使命
不可能-建立精确的纵向车辆
实时动态[8]、[9]、[10]。一种带参数的控制模型
精确的纵向车辆动力学桥梁之间的间隙
所需速度和车辆节流/制动指令。
一种流行的解决方案是建立这种状态空间关系
基于牛顿公式[11]、[12]、[13]、[14]。然而,
传动系统、动力传动系系统和执行器系统
这些都非常复杂。不仅很难对所有这些进行建模
但它也需要不可接受的计算时间
涉及更多的系统。
在本文中,我们将从
另一种观点。我们考虑整个纵向
控制算法作为一个端到端问题,可以
分两步解决:(1)基于人类驾驶数据,我们
首先产生一个校准表,它需要节流门,制动器,
和速度作为输入,并输出加速度(2) 然后
复杂的在线算法可以正确地更新表格
涵盖各种车辆动态。我们的结果表明
自动校准系统确实节省了大量的成本
缩短了时间,提高了控制精度。校准正在进行中
而且自动化和智能化,因此,适用于
大规模自动驾驶车辆部署
:离线模型根据手动驾驶数据生成一个初始校准表,该表最能反映
车辆行驶时的纵向性能。这个离线算法的工作流程包括:(1)采集人
驱动数据,(2)预处理数据并选择输入特点:(3)通过机器生成校准表
学习模式。
:在线算法即时调整
自动驾驶中基于实时反馈的离线表格
模式它的目标是根据当前的车辆动力学进行最佳匹配
基于手动驾驶数据建立的离线模型。该算法必须处理的几个挑战包括频繁的
车辆载荷变化与机械部件疲劳从长远来看。在线算法的工作流程包括:
(1) 实时收集车辆状态和反馈(2)预处理和过滤数据,(3)调整校准表
因此。
B. Data Preprocessing
因为真实世界的数据总是带有噪音,所以它是真实的
对离线模型和在线模型的数据预处理至关重要
学习算法。请注意,由于数据来源不同,
脱机时使用单独的数据预处理方法
模型和在线学习算法。
1) 离线模型数据预处理:离线模型
人工驾驶数据作为输入。节流/制动值,
选择速度和纵向加速度作为特征
对于这个模型。请注意,节流模型和制动模型
他们分别接受训练
由于人类驾驶数据天生就有噪音且不均匀(即速度/加速度分布不均匀 在驾驶过程中),阿波罗控制模块需要执行几个步骤清除数据。首先,等式2中的平均滤波器用于
平滑数据。此外,等式3用于移除具有横向摆动的数据。
最后但并非最不重要的一点是,等式4被强制删除
异常值。
2) Online Learning Data Preprocessing: Online learning
algorithm frequently adjusts calibration table built by offline
model, on the basis of real-time vehicular status feedback in
self-driving mode. The selected features for this algorithm
are: a) throttling/braking commands; b) speed; c) desired
acceleration; d) actual acceleration.
2) 在线学习数据预处理:在线学习
算法经常调整离线建立的校准表
模型,基于实时车辆状态反馈
自动驾驶模式。此算法的选定功能
是:a)节流/制动指令;b) 速度;c) 期望加速度d) 实际加速度
同样仅使用符合等式3的数据。同时,由于涉及某些微分技术(详见下一节),我们使用等式5来保证整个控制命令序列的单调性。
至于实时数据采集,人们会期望
响应延迟(即节流/制动之间的时间
正在发送的命令和相应的加速度
(已执行)由车辆执行器引起。这种拖延是不可避免的
影响数据质量,这是一种常见且有用的技术
是以合理的延迟从传感器收集数据
估计[21]。在我们的例子中,我们测量加速度
通过IMU(惯性测量单元),200毫秒后
发送节流/制动命令,作为由该命令驱动的实际加速。巴特沃斯低传球
滤波器,阶数为3,截止频率为2 Hz,
然后用于消除高频波动。万一
200毫秒的延迟估计可能并不总是正确的
适当情况下,等式6用于进一步确保数据一致性。
下边这个用于强化约束
伪算法1演示了脱机操作的过程
模型训练过程。数据首先按照第II-B.1节(第1行至第8行)所述进行预处理,然后,
建立了不同的节流和制动模型
(第9行至第10行)。离线算法模型中使用标准的三层前馈神经网络,带有一个sigmoid
函数为激活函数,均方误差为
成本函数。该网络是使用Tensorflow和
内置的Adam优化器。相比之下,我们评估了
基于多元传统机器学习的回归方法
脱机模式:
高斯过程回归[22],具有多项式核。它是一种无模型算法,用于解决不同领域的回归问题[23]、[24]、[25]、[26]。
线性回归,一种基本的线性回归模型
内核
支持向量机[27],具有多项式核。
•M5P[28],M5模型树。
•随机林[29],具有100次迭代。
这些方法的实施和评估采用了
WEKA[30]。可以找到详细的设置和参数
在韦卡。
D. Online Learning Algorithm
对于每个控制周期,在线学习算法都会更新
基于实时车辆反馈的校准表。一旦
调整后,新表从下一个表开始立即生效
控制周期。伪算法2给出了实现
实时校准过程的细节。
首先通过第1行到第5行对数据进行预处理
速度和实际速度已经收敛(等式8),算法停止校准过程(第6行到第7行)。
除距离因素外,相似性成本(costsimilarity)是
定义为等式13。通常,相似性成本
保留原始表。这是因为我们假设
初始表格相当准确,不应修改
在任何短时间内都会发生显著的变化。
使用两种类型的车辆(表一)测试
不同算法下的性能:(1)混合乘客
车辆-林肯MKZ(2) 仅电子交付车辆
-Neolix AX1[31]1。
B离线模型评估
离线模型在Lincoln MKZ上进行了交叉试验
验证和道路性能。在本节中,测试车辆
被置于中等负荷,例如两名乘客加上标准
车载设备,总共约200公斤。
Lincoln MKZ的动力系统比Neolix AX1更复杂。因此,如果离线校准模型有效
在Lincoln MKZ上很好,在Neolix AX1上应该可以很好地工作
也是(确实如此,请参见下一节)。

1) 交叉验证:表II显示了中所述离线校准模型的十倍交叉验证结果
第II-C节。注意,MAE指的是平均绝对误差,
而RMSE是指均方根误差。
在所有测试的算法中,高斯过程回归,
首先对线性回归、支持向量机进行了研究
由于他们的表现不佳,他们被解雇了。随机森林
相当好,但最好的结果是使用神经网络,这在一般情况下,能够实现
与节流的[0,4]m/s2有效范围和制动的[6,0]m/s2有效范围相比,精度在3%以内。综上所述,选择神经网络作为离线校准模型。
使用阿波罗校准工具生成手动校准表。????
在这份手稿中,我们提出了一个纵向控制
校准算法,包括离线校准
模型和在线校准算法。对于离线用户
校准模型,我们已经测试了相当多的机器
学习技巧(见表二),并最终发现
端到端解决方案(神经网络)。我们也尝试过
多种数据预处理方法,以获得干净、可靠的数据
从大量数据和噪音中提取有用数据(参见
第II-B节)。与离线校准相反,我们选择了
在线校准的无模型方法。具体来说,是在线的
以梯度下降方式进行校准(参见
第II-D节)。因为在线校准运行频率很高
(即在我们的例子中为100 Hz),梯度下降是一种更可靠的方法
更新校准表的方法,无需选择
一个错误的模型。
结果表明,启用校准后,我们的测试
在控制精度方面,车辆表现明显更好
(速度/站错误)。此外,该算法已得到验证
部署到多个百度阿波罗自动驾驶车辆,包括标准混合动力家庭车辆和电子车辆
仅限送货车辆。截至2018年8月27日,已
测试时间超过两千小时,大约十小时
数千公里(6213英里)道路测试。