基于投票算法的自动驾驶容错控制

PART 3 系统可靠性

5 自主安全驾驶的外感受容错控制

5.1 引言

近几十年来,技术进步的普及速度显著加快。在过去30年中,个人计算机、互联网、移动网络以及许多其他创新彻底改变了人类的生活。除了科幻般的设想外,我们还致力于寻找可替代重复性、体力要求高的任务的方案,用人能力范围之外的机器或机器人,或在人类监督下的计算机程序来取而代之。在这些机器中,汽车彻底改变了数百万人的日常交通,自汽车普及以来,汽车数量持续稳步增长。汽车数量的激增引发了许多问题,例如交通拥堵、由温室气体导致的空气污染,以及与液体和固体排放(机油和重金属)相关的土壤污染。事故仍然是道路相关问题中最严重的问题之一。法国道路交通安全观察站(L’observatoire national interministériel de la sécurité routière – ONISR)2015年的年度报告[ONS 16]显示,与前一年相比,道路交通事故相关的死亡人数上升了1.7%,总计造成3,616例死亡。尽管这一数字相较于20世纪80年代已有所下降,但仍不可接受。在全球范围内,每年有超过125万人死于道路交通事故。因此,问题指向了这些事故的主要原因,并促使我们思考应克服哪些障碍以减少道路交通事故数量。事实上,事故技术分析[ONS 16]表明,驾驶员仍是事故的主要原因:速度因素占事故总数的32%(主要或次要原因)酒后驾驶导致21%的事故,非法药物导致9%的事故。注意力不足、危险超车、困倦、变道和疾病占事故原因的31%。车辆因素仅占事故的1%。

已识别的原因 在一次致命事故中 百分比
速度 32%
酒精 21%
未让行 13%
其他原因 12%
非法药物 9%
未知原因 9%
注意力不足 7%
危险超车 4%
疾病 3%
困倦或疲劳 3%
逆向驾驶 2%
变道 2%
障碍物 2%
车辆因素 1%
电话使用 1%
与前车未保持安全距离 车辆 1%
总计 122%

表5.1. 2015年法国事故主要原因(来源:ONSIR)——由于考虑了多重原因,总计为122%

不同年龄组的事故原因并不相同。事实上,新手和老年人犯的错误主要与未让行有关。而酒精和速度是年轻人发生大多数事故的原因。各年龄组的事故归因率如图5.1中的直方图所示。

示意图0

图5.1。按年龄组划分的事故原因统计(来源:ONSIR)。有关该图的彩色版本,请参见: www.iste.co.uk/vanderhaegen/automation.zip

事故很少由单一原因引发,通常是多种因素共同作用的结果,其中速度往往是加剧事故严重性的因素。例如,服用违禁药物后驾驶可能导致超速和注意力不足,进而引发危险超车。尽管如此,2015年法国大多数道路交通事故的主要原因仍是人为因素。事实上,人类驾驶员在驾驶过程中需要执行一系列操作:感知环境、分析并理解环境、制定驾驶策略并通过执行器实施该策略。疲劳、分心、误判、意识丧失等因素可能在这些操作中的任何一个环节引发错误,最终导致事故发生。除了道路安全性之外,燃油消耗也是人类驾驶员关注的问题。

此外,巴思和博里邦颂在[BAR 09]中证明,采用生态驾驶系统可节省10%至20%的燃油。另一方面,这一经济驾驶方式有助于减少二氧化碳和氮氧化物向大气中的排放,从而降低大气污染。[BOU 10, HAJ 10]

为了应对这些挑战,研究人员和工程师引入了各种高级驾驶辅助系统(ADAS)。这可以解释主动安全系统的设计,例如防碰撞系统[JUN 04]和车道偏离预警系统,以避免事故的发生,或采用智能测速监控系统,旨在优化燃油消耗,如[BAR 08, AKH 16]所介绍,或降低在道路弯道上的风险[GLA 10, GAL 13]。然而,由于主动安全系统仅限于特定情况,并且这些系统与驾驶员之间的交互仍然存在问题且不够明确,因此难以实现预期效果。事实上,近年来发生的多起事故正是由此引发由于人类与机器之间的误解,或至少是机器本身的局限性所致。这类技术限制主要涉及导航系统,可能会显示并不存在的道路路段,一名使用Waze应用程序的美国司机就遇到了这种情况,他在冰面破裂前驾车穿越了一片结冰的湖面[法新社18]。

示意图1

图5.2. 车辆自动化等级(来源:Argus)

自动驾驶似乎为上述问题提供了全局性解决方案。理想情况下,对于自动驾驶车辆,所有涉及感知、定位、规划和控制的任务都应由传感器、算法和执行器[JO14]完成,仅允许驾驶员选择目标目的地。基于这一原则,全球多个自动驾驶汽车项目正处于研究阶段,例如谷歌的GoogleCar/Waymo。其他企业则专注于特定运行区域,如雷诺或通用汽车的原型车。目标是实现高级别的自动化(即根据国际汽车工程师学会[SAE16]定义的4级或5级,如图5.2所示),在故障情况或特定环境内运行时(4级),或将驾驶员视为后备方案,在所有可能情况下实现完全自主化(5级),通过自主监控车辆周围环境、传感器与算法的性能,并采取相应措施以保持车辆处于安全状态。鉴于需要考虑的道路场景极为广泛,实现自动化任务显得十分困难,车辆必须能够应对各种损害,尤其是自身感知手段出现的故障。因此,诊断是检测和隔离传感器故障的关键步骤,一旦发生此类出现,以实现由容错控制增强的稳定和安全的驾驶。在本章中,我们将介绍一种基于投票算法的容错控制架构图,用于诊断外感受传感器的故障。

本章内容安排如下:第5.2节阐述了问题的建模;第5.3节专注于容错控制的架构;第5.4节详细介绍了投票算法;第5.5节展示了数字仿真结果;第5.6节得出了结论。

5.2 问题的表述

鉴于车辆可能遇到的各种情况和问题,本章将重点讨论需要调节车间距离的问题。然而,测量车间距离的实际问题在于现有技术无法在所有工作模式下正常运行。通过使用多种传感器技术并融合数据,有助于克服单个传感器的局限性。然而,如果传感器存在硬件或软件故障,则数据融合可能会受到影响,从而导致测量结果错误。因此,有必要管理这些测量值的可靠性,并确保容错性,以保障自主模式下的安全运行[MAR 09]。

该主题在[MAR 09]中已有部分研究,作者提出了一种简单的切换策略,用于在三个控制回路之间进行选择,每个控制回路包含一个特定的传感器(雷达、激光雷达和摄像头)、一个状态观测器以及一个控制器。切换机制从位于鲁棒无故障不变集内的控制回路中,选择使二次准则最小化的那个。然而,该方法在纵向跟踪情况下存在局限性,因为它未考虑前车方向。在[REA 15, REA 16]中提出了一种多传感器融合架构,以最小化传感器故障的影响。该技术基于一种由支持向量机(SVM)模块控制的融合结构,用于实现故障检测。

故障检测模块比较了以下输出之间的差异:
– 两种局部融合结构,每种均使用一个Velodyne传感器和一个视觉传感器;
– 一个主融合结构。

Velodyne传感器在两种局部融合结构中均被视为参考传感器。此外,融合数据基于SVM模块生成的权重。该技术的目的是确保一旦检测到障碍物,即可测量障碍物与自动驾驶汽车之间的距离。该方法的缺点在于其采用级联检测器,可能会增加计算时间。

在此背景下,我们提出一种基于投票算法的方法,以减少传感器故障的影响并确保安全的自动驾驶。该方法已被广泛用于解决容错问题。事实上,由于其设计和实现简便,该技术已广泛应用于工程领域。它已被应用于许多领域,如笔迹学[ONA 16], 医疗监控[GAL 15], 电动汽车[BOU 13, RAI 16, SHA 17]和航空学[KAS 14]。

5.3 容错控制架构

为了确保其可靠性,自动驾驶汽车配备了三种可用于纵向控制的传感器技术:远程雷达、激光雷达和计算距离的Mobileye智能摄像头。这些传感器各有特定的局限性,在某些情况下无法发挥最佳性能。例如,由于激光雷达基于发射和接收光谱光波,因此在恶劣天气(如雾、大雨或粉尘颗粒)存在时,可能导致异常检测。

此外,激光雷达无法检测颜色或对比度,且不能保证对物体性质的良好识别。另一方面,由于前后车辆之间的速度差异,雷达可能无法检测到前方车辆。当摩托车手或其他车辆位于车道中心之外时,雷达也可能无法检测到它们。此外,如果智能摄像头的镜头部分或完全被遮挡,其功能可能无法充分发挥。该智能摄像头也不能保证100%检测到前方车辆。因此,天气条件会极大地影响智能摄像头的识别和响应能力。

正如我们之前提到的,每个传感器都有其局限性,这些局限性主要取决于所采用的技术及其工作区域。由于软件或硬件故障,每个传感器在其工作区域内都可能出现故障,导致错误的距离测量。为了解决这些故障,容错控制应管理所有可能的情况,并保持自动驾驶的稳定和安全,如图5.3所示。投票算法旨在通过比较正常信号来诊断故障传感器,以确保稳定和安全的驾驶。

示意图2

图5.3 基于投票算法的容错控制架构

监控速度由参考速度生成模块设定。后者根据安全距离关系推导得出,该关系源于以下关系[TOU 08]:

$$ d_{FTC} = hV_x + d_{stop} \quad [5.1] $$

然后,由方程[5.1], 我们可以推导出参考速度如下:

$$ V_{ref} = \frac{d_{FTC} - d_{stop}}{h} \quad [5.2] $$

其中 $ d_{stop} $ 表示停车时应保持的距离,$ h $ 表示车距时间(通常为一到三秒)。

5.3.1 车辆动力学建模

车辆动力学以其高度复杂性和强耦合性而著称。为了阐明控制车辆行为的动力学特性,有必要引入一系列简化假设,以降低模型复杂度[HED 97, BOU 17b]:
– 每个传感器仅考虑一个故障;
– 假设道路为平坦路面(无坡度、无倾斜);
– 不考虑车辆的横向动力学;
– 不考虑滚动、侧倾和俯仰运动。

考虑到所做的假设,车辆的纵向动力学可以表示如下:

$$
\begin{cases}
m\dot{V_x} = \sum_{i=1}^{4} F_{x_i}(t) - F_a(t), \quad i = 1,…,4 \
\bar{J_r}\dot{\omega_{r_i}}(t) = T_m(t) - rF_{x_i}(t) - rF_{r_i}(t) - T_{b_i}(t), \quad i = 1,2 \
J_r\dot{\omega_{r_i}}(t) = -rF_{x_i}(t) - rF_{r_i}(t) - T_{b_i}(t), \quad i = 3,4
\end{cases}
\quad [5.3]
$$

采用自行车模型[HED 97, BOU 17a]时:

$ T_{bf} = T_{b1} + T_{b2}, T_{br} = T_{b3} + T_{b4}, T_{rf} = r(F_{r1} + F_{r2}), T_{rr} = r(F_{r3} + F_{r4}), F_{xf} = F_{x1} + F_{x2}, F_{xr} = F_{x3} + F_{x4}, \dot{\omega_{rf}} = \dot{\omega_{r1}} = \dot{\omega_{r2}}, \dot{\omega_{rr}} = \dot{\omega_{r3}} = \dot{\omega_{r4}}, \bar{J_r} = \bar{J_{r1}} + \bar{J_{r2}}, $ and $ J_r = J_{r3} + J_{r4}. $

得到以下方程:

$$
\begin{cases}
m\dot{V_x} = F_{xf}(t) + F_{xr}(t) - F_a(t) \
\bar{J_r}\dot{\omega_{rf}}(t) = T_m(t) - rF_{xf}(t) - T_{rf}(t) - T_{bf}(t) \
J_r\dot{\omega_{rr}}(t) = -rF_{r}(t) - T_{rr}(t) - T_{br}(t)
\end{cases}
\quad [5.4]
$$

将 $ F_{xf} $ 和 $ F_{xr} $ 代入方程[5.3]中,得到:

$$
m\dot{V_x} = \frac{1}{r}[T_m(t) - T_{bf}(t) - T_{br}(t) - T_{rf}(t) - T_{rr}(t) - \bar{J_r}\dot{\omega_{rf}}(t) - J_r\dot{\omega_{rr}}(t)] - F_a(t) \quad [5.5]
$$

示意图3

图5.4. 车辆的纵向动力学

符号表示 定义 Unit
m 车辆质量 kg
$ V_x $ 车速 $ ms^{-1} $
$ F_{x_i} $ $ i^{th} $ 车轮‐地面接触力 N
$ F_a $ 空气动力 N
$ \bar{J_r} $ 前轴总惯性 $ kgm^2 $
$ J_{ri} $ $ i^{th} $ 前轮的惯性 $ kgm^2 $
$ \dot{\omega} $ $ i^{th} $ 车轮的角加速度 $ rad.s^{-1} $
$ T_m $ 发动机联轴器 $ Nm $
r 车轮半径 m
$ F_{ri} $ $ i^{th} $ 车轮的滚动摩擦 N
$ T_{bi} $ $ i^{th} $ 车轮的制动扭矩 $ Nm $
$ T_{rf/r} $ 滚动阻力:前轴与后轴 $ Nm $
$ J_{ri} $ $ i^{th} $ 后轮的惯性 $ kgm^2 $
$ J_r $ 后轴的总惯性 $ kgm^2 $

表5.2. 车辆参数

同时,假设在整个操作过程中车轮不打滑。这一假设可以通过以下方程来解释:

$$ \lambda = \frac{r\omega_r - V_x}{\max(r\omega_r,V_x)} = 0 $$ 这导致 $ r\omega_r = V_x $,然后是 $ r\dot{\omega_r} = \dot{V_x} $。将方程[5.5]中的 $ \dot{\omega_r} $ 替换后得到:

$$ (m + \frac{\bar{J_r}}{r^2} + \frac{2J_r}{r^2})\dot{V_x} = \frac{1}{r}[T_m(t) - T_{bf}(t) - T_{br}(t) - T_{rf}(t) - T_{rr}(t)] - F_a(t) \quad [5.6] $$

然后我们采用以下符号表示:

$$ T_b = T_{bf}(t) + T_{br}(t), T_r = T_{rf}(t) + T_{rr}(t) $$

方程[5.6]变为:

$$ J_{eq}\dot{V_x} = T_{eq}(t) - aV_x(t) - bV_x^2(t) \quad [5.7] $$

其中:

$$ J_{eq} = m + \frac{\bar{J_r}}{r^2} + \frac{2J_r}{r^2} $$

$$ T_{eq}(t) = T_m(t) - T_b(t) - T_r(t) $$

$$ F_a(t) = aV_x(t) + bV_x^2(t) $$

$ a $、$ b $、$ T_{eq}(t) $、$ T_b(t) $、$ T_r(t) $ 以及 $ F_a(t) $ 均为气动系数。表示制动和加速转矩。为了克服与制动和加速动力学相关的延迟问题,我们假设加速/制动对由一个一阶方程控制,其表达式如下:

$$ \dot{T_{eq}}(t) = \frac{1}{\tau}(-T_{eq}(t) + u(t)) \quad [5.8] $$

最后,车辆的纵向动力学由以下关系式[PHA 97]表示:

$$
\begin{bmatrix}
\dot{V_x}(t) \
\dot{T_{eq}}(t)
\end{bmatrix}
=
\begin{bmatrix}
-\frac{a}{J_{eq}} & -\frac{1}{J_{eq}} \
0 & -\frac{1}{\tau}
\end{bmatrix}
\begin{bmatrix}
V_x \
T_{eq}
\end{bmatrix}
+
\begin{bmatrix}
0 \
\frac{1}{\tau}
\end{bmatrix}
u(t)
+
\begin{bmatrix}
-\frac{b}{J_{eq}} \
0
\end{bmatrix}
V_x^2
\quad [5.9]
$$

5.4 投票算法

如图5.3所示,投票算法仅通过使用传感器测量信号即可选择安全距离测量。该距离是通过比较传感器/处理单元产生的信号后,由投票逻辑选择最可靠的信号而获得的。用于此任务的投票技术包括:最大似然、加权平均和基于历史的加权平均。

5.4.1 最大似然投票 (MLV)

关于MLV的首项工作发表于[LEU 95]。该方法的基本思想是从输入信号中选择一个具有最高可靠性概率的信号。因此,对于每个分配给传感器的动态可靠性,表示为 $ f_i $,其中 $ i = 1,2,\ldots,N $,代表传感器数量,条件概率 $ \Delta_i $ 根据以下方程计算[KIM 96, RAI 16]:

$$
\Delta_i =
\begin{cases}
f_i, & \text{if } |x_k - x_i| \leq D_{max} \
\frac{1}{N-1-f_i}, & \text{if not}
\end{cases}
\quad [5.10]
$$

在我们的案例研究中,我们使用三个传感器(智能相机、雷达和激光雷达),因此 $ N = 3 $。$ D_{max} $ 是一个固定的实数,对应于阈值(该阈值固定为参考范围的10%,以评估噪声对投票算法的影响),其中 $ x_k $ 是参考输入。

每个输入传感器的概率通过以下公式计算:

$$
\chi_i = \frac{\prod_{i=1}^{N} \Delta_i}{\sum_{i=1}^{N} \prod_{i=1}^{N} \Delta_i} \quad [5.11]
$$

示意图4

图5.5. 最大似然算法

然后以满足最大似然的方式选择输出信号:

$$ y = \arg\min_{\chi_i} x_i \quad [5.12] $$

5.4.2 加权平均(WA)

加权平均方法基于分配给每个传感器的权重系数。因此,该算法的输出表示测量信号的加权平均值。此外,当使用加权平均时,输出信号被确定为冗余输入的连续函数。事实上,该技术旨在减小瞬态效应,从而不允许进行切换,并将故障传感器隔离,对其赋予零权重(或在实际情况下为最小权重)[BRO 75]。因此,考虑输入信号 $ x_i $,其中 $ i = 1,2,\ldots,N $,$ N $ 为传感器数量,输出信号 $ y $ 由以下方程确定:

$$
y = \frac{\sum_{i=1}^{N} w_i x_i}{\sum_{i=1}^{N} w_i} \quad [5.13]
$$

其中 $ w_i $,$ i = 1,2,\ldots,N $ 为权重系数。这些系数对应于所有输入信号相对于其他信号的逆距离之和,因此当信号彼此接近时,意味着具有较高的权重。

示意图5

图5.6. 加权平均算法(WA)

此外,权重按如下方式获得:

$$
w_p = \sum_{i<j}^{N} k_{ij}, \quad p = 1,\ldots,N \quad [5.14]
$$

其中 $ k_{ij} $ 是输入信号之间距离的倒数,由以下方式表示:

$$
k_{ij} =
\begin{cases}
10^{-5}, & \text{if } |x_i - x_j| = 0 \
\frac{1}{|x_i - x_j|}, & \text{if not}
\end{cases}
\quad [5.15]
$$

5.4.3 基于历史的加权平均 (HBWA)

该技术的基本思想是利用能够反映传感器状态的历史信息。实际上,随着时间的推移,每个传感器都会累积一个可靠性指数,从而使算法输出时选择具有最高可靠性的传感器。Latif‐Shabgahi、Bass和Bennett[LAT 01]提出了该技术的两种理念。第一种称为“基于一致状态指示器的加权平均算法(WA)”,采用基于指示器状态的动态权重函数,权重与指示器的历史成正比。第二种方法称为“模块剔除加权平均算法(WA)”,先计算指示器历史的平均值,然后将历史指示器低于该平均值的所有输入视为不可靠,因此将其权重设为零。HBWA技术基于以下介绍的算法:

1) 对于输入信号 $ x_i $ 和 $ x_j $,系数 $ k_{ij} $ 按以下形式计算:

$$ k_{ij} = |x_i - x_j| \quad [5.16] $$

其中 $ i,j = 1,2,\ldots,N $ 和 $ i \neq j $。

2) 使用可调阈值参数 $ a $ 和 $ q $,每个输入的一致水平由以下给出:

$$
s_{ij} =
\begin{cases}
1, & \text{if } k_{ij} \leq a \
\left(\frac{q-1}{q}\right)\left(1-\frac{k_{ij}}{qa}\right), & \text{if } a < k_{ij} < qa \
0, & \text{if } qa \leq k_{ij}
\end{cases}
\quad [5.17]
$$

3) 共识水平 $ S_i $ 的计算方法如下:

$$ S_i = \frac{\sum_{j=1,i\neq j}^{N} s_{ij}}{N-1} \quad [5.18] $$

4) 输入 $ i $ 的权重 $ w_i $ 按以下形式计算:

$$
w_i =
\begin{cases}
0, & \text{if } S_i = 0 \text{ or } P_i(n) < P_{avg}(n) \
\frac{S_i}{S_i - 1}, & \text{if not}
\end{cases}
\quad [5.19]
$$

其中 $ P_i(n) $ 和 $ P_{avg}(n) $ 分别是 $ i^{th} $ 传感器在 $ n^{th} $ 计算周期内的状态指示器以及在 $ n^{th} $ 计算周期内指示状态的平均值。这些内容将在后面讨论。

5) 然后使用传感器 $ x_i $ 的输入信号和权重 $ w_i $ 计算初始输出,记为 $ \bar{y} $:

$$ \bar{y} = \frac{\sum_{i=1}^{N} w_i x_i}{\sum_{i=1}^{N} w_i} \quad [5.20] $$

其中 $ i = 1,2,\ldots,N $。

6) 为了确定适当的最终输出,计算初始输出信号与每个传感器的输入信号之间的距离:

$$ k_{\bar{y}i} = |\bar{y} - x_i| \quad [5.21] $$

其中 $ i = 1,2,\ldots,N $。

7) 最终输出 $ y $ 由以下方程表示:

$$ y = \arg\min_{\bar{y}_i} x_i \quad [5.22] $$

8) 在 $ n^{th} $ 投票周期中记录 $ i^{th} $ 传感器的 $ H(n) $ 历史,基于每个传感器 $ x_i $ 与最终输出 $ y $ 之间的距离,计算当前周期的共识 $ h(n) $ 水平:

$$
h(n) =
\begin{cases}
1, & \text{si } k_{ij} \leq a \
\left(\frac{q-1}{q}\right)\left(1-\frac{k_{ij}}{qa}\right), & \text{si } a < k_{ij} < qa \
0, & \text{si } qa \leq k_{ij}
\end{cases}
\quad [5.23]
$$

此后,历史如下所示:

$$ H_i(n) = \sum_{n=1}^{N} h_i(n) \quad [5.24] $$

9) 第 $ n^{th} $ 投票周期中 $ i^{th} $ 输入的 $ P_i(n) $ 状态指示器通过以下方程计算:

$$ P_i(n) = \frac{H_i(n)}{n} \quad [5.25] $$

10) 最后,$ P_{avg}(n) $ 平均状态在 $ n^{th} $ 投票周期的指示器确定如下:

$$ P_{avg}(n) = \frac{\sum_{i=1}^{N} P_i(n)}{N} \quad [5.26] $$

示意图6

图5.7. 基于历史的加权平均算法

PART 3 系统可靠性

5 自主安全驾驶的外感受容错控制

5.5 仿真结果

在本节中,我们将介绍从容错控制架构中获得的仿真结果。第一步是确定 MLV和HBWA的阈值参数。为此,我们采用基于扩展仿真的迭代方法。阈值参数如下:$ a = 0.007 $、$ q = 700 $ 和 $ D_{max} = 1.37 $。每个传感器在其工作范围内具有可变的可靠性。

另一方面,每种传感器技术的可靠性各不相同。因此,激光雷达被认为比其他两种更可靠,且其可靠性不受障碍物距离变化的影响。此外,激光雷达的可靠性固定为 $ f_{Lidar} = 99\% $,而雷达在较长距离上更为可靠,前提是满足可靠性关系 $ f_{Radar} = 0.00067 \cdot d + 0.95 $。智能摄像头在较短距离上具有更高的精度,其可靠性表达式为 $ f_{camera} = -0.0013 \cdot d + 0.97 $。

示意图7

图5.8. 根据三种不同的传感器技术,可靠性随距离的变化

在本次仿真中,我们采用了一个场景:自动驾驶汽车在跟随前导车辆时,根据自身的速度保持相应的安全距离。该场景如图5.3所示。因此,前导车辆从一个以 20 米/秒 的速度行驶,并保持恒定直至 $ t = 25 $ s。自动驾驶汽车最初以 25 米/秒 的速度行驶,随后迅速稳定并保持 20 米/秒,以确保符合公式[5.2]所规定的安全距离。在 $ t = 25 $ s 时,前导车辆迅速踩下刹车,并于 $ t = 33 $ s 时达到零速度,之后保持静止状态。

示意图8

图5.9。不同传感器测量的故障仿真。有关此图的彩色版本,请参见: www.iste.co.uk/vanderhaegen/automation.zip

示意图9

图5.10. 前导车辆的速度曲线

通过调节车间距离,自动驾驶汽车也迅速刹车直至停止。当车辆停止时,前导车辆与自动驾驶汽车之间的距离等于3米,即公式[5.2]中定义的距离 $ d_{stop} $;在本例中,当该停车距离达到3米时即被考虑。在 $ t = 40 $ s 时刻,前导车辆开始加速,并稳定在 20 米/秒 的速度直到 $ t = 60 $ s,随后开始刹车,以在 $ t = 65 $ s 时达到零速度,并保持静止状态至 $ t = 75 $ s,此时前导车辆重新加速并达到 12 米/秒 的速度。因此,自动驾驶汽车根据前导车辆的速度进行调节和适应,始终保持合适的安全距离。

为了分别测试第5.4节中开发的投票算法,我们将模拟外感受传感器(激光雷达、雷达和摄像头)上发生的故障。图5.9表示对传感器故障的模拟,这些故障通常与产生零信号的完全故障相关。此外,雷达的故障模拟发生在 $ t = [7\,s,\,13\,s] $,摄像头的故障模拟发生在 $ t = [64\,s,\,74\,s] $,激光雷达的故障模拟发生在 $ t = [35\,s,\,41\,s] \cup [130\,s,\,170\,s] $。

为了确保对注入故障具有一定的容错性,投票算法的目的是检测故障传感器,并选择最可靠的测量值。因此,生成的参考速度将最能代表实际情况,从而最大化被控车辆的安全性。

我们测试的第一个算法是最大似然算法。图5.11显示了MLV算法的输出与实际车间距离(参考距离)的对比情况。MLV算法的输出似乎准确反映了两车之间的实际距离(每个传感器均有相应的检测率和错误率),传感器上模拟的故障已被消除。这与投票逻辑始终在选定的距离范围内选择最可靠的传感器有关。因此,图5.12展示了输出算法中传感器之间的切换情况。此外,由于激光雷达具有最高的可靠性,因此在正常情况下始终优先选用激光雷达。然而,一旦激光雷达发生故障,算法将根据测得的距离范围选择最可靠的传感器。因此,在 $ t = [35\,s,\,41\,s] $ 时,由于距离较短且摄像头在此情况下更具可靠性,算法选择摄像头;而在 $ t = [130\,s,\,170\,s] $ 时,算法选择雷达,因为雷达在该距离下更为适用。

示意图10

图5.11. 使用最大似然投票(MLV)算法的车间距离。本图的彩色版本请见:www.iste.co.uk/vanderhaegen/automation.zip

示意图11

图5.12. 使用最大似然投票(MLV)算法的传感器切换

对于第二种算法,图5.13显示了该算法的输出与参考距离(实际距离)的对比。加权平均算法的输出似乎与实际距离略有偏差。这种偏差可以解释为:该算法的输出是根据其从传感器输入计算出的系数进行加权的结果。因此,该输出代表了在输入端接收的三个信号的融合。此外,如果我们考虑图5.14中所示的三个传感器权重的变化,就会注意到当传感器发生故障时,其权重并未完全消失,这会影响算法提供的结果。另外,即使所有传感器都在正常工作条件下运行,权重计算机制也会偏向提供最接近结果的传感器,这可能对算法的正常运行产生不利影响。

示意图12

图5.13。使用加权平均(WA)算法的车间距离。有关此图的彩色版本,请参见: www.iste.co.uk/vanderhaegen/automation.zip

示意图13

图5.14。加权平均(WA)算法的权重。有关此图的彩色版本,请参见: www.iste.co.uk/vanderhaegen/automation.zip

与加权平均算法(WA)不同,基于历史的加权平均算法提供了更好的结果。图5.15显示了HBWA算法的输出,从中可以看出其能够准确表示车间距离。

示意图14

图5.15 使用基于历史的加权平均(HBWA)算法的车间距离。有关此图的彩色版本,请参见:www.iste.co.uk/vanderhaegen/automation.zip

示意图15

图5.16. 状态指标的演变(HBWA)。有关此图的彩色版本,请参见: www.iste.co.uk/vanderhaegen/automation.zip

通过记录每个传感器的状态(图5.16),该技术优先选择在正常工作条件(无故障)下运行时间最长的传感器;而与加权平均(WA)不同,加权平均的输出是三个输入的平均值,基于历史的加权平均算法(HBWA)则从三个传感器中选择其中一个。该选择取决于历史设定的限制,以及与三个传感器加权平均值最接近的传感器。

图5.17展示了三种投票技术在算法输出的车间距离上的对比,可以看出 MLV和HBWA技术相较于WA技术具有明显优势,而前两者之间的差异较小。其中,后者仍然是最强大的算法,前提是能够准确反映每个传感器的可靠性。

另一方面,由于参考速度(图5.18中的对比)是直接根据投票算法输出的车间距离计算得出的,因此速度参考曲线的表现形式与车间距离的变化趋势一致。这证明了参考速度的生成依赖于投票算法的正常运行。

自动驾驶汽车的动态性能还取决于算法的性能,这一点可以从速度(图5.19)和加速度(图5.20)曲线的对比中推断出来。在速度曲线中,加权平均算法(WA)的参考速度变化剧烈,而MLV的变化较小,这一点十分明显。这些速度上的变化会影响加速度,尽管在当前研究的情况下仍被视为可接受。

示意图16

图5.17 使用三种算法的车间距离比较。有关此图的彩色版本,请参见: www.iste.co.uk/vanderhaegen/automation.zip

示意图17

图5.18. 参考速度比较。有关本图的彩色版本,请参见: www.iste.co.uk/vanderhaegen/automation.zip

示意图18

图5.19. 速度曲线比较。对于此图的彩色版本,请访问: www.iste.co.uk/vanderhaegen/automation.zip

示意图19

图5.20。加速度曲线对比。有关此图的彩色版本,请参见: www.iste.co.uk/vanderhaegen/automation.zip

5.6 结论

道路事故统计数据指出,人为因素是导致事故的主要原因之一。作为解决方案,通过优化能耗等方式,在不同驾驶操作中以自动驾驶替代驾驶员,这在减少交通事故及其他社会问题(如交通相关的污染)方面显得尤为合适。然而,这需要传感器技术能够在车辆可能遇到的各种情况下提供可靠且稳健的信息。

为解决纵向自动驾驶中外感受传感器故障的问题,本文对三种投票算法(MLV、WA和HBWA)进行了比较研究。事实上,该方法已证明其在故障传感器诊断方面的有效性和高效性。此外,基于历史的加权平均(HBWA)算法相较于其他两种算法表现出更优的性能。HBWA算法的高效性源于其能够从三个传感器中选择一个此前未发生过故障的传感器。这一能力相较于MLV算法具有显著优势,因为MLV算法一旦检测到故障会立即进行切换。另一方面,由于存在抖动效应,MLV和HBWA的阈值参数设定仍然难以确定。此外,还需对工作范围进行充分研究,因为固定阈值无法在整个运行范围内保证良好性能。

本研究展示的结果表明,投票算法可以确保自动驾驶汽车的容错性。事实上,诊断故障的能力是为了利用其他传感器,确保自动驾驶汽车的安全稳定轨迹,从而最大限度地保障车内乘客的安全性。一方面,投票算法在设计和实现上的简洁性能够保证这一能力;另一方面,这些算法识别故障传感器所需的计算时间较少,因此我们更倾向于使用投票算法,而非需要大量计算时间的数据融合方法。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值