NVIDIA DRIVE Labs:安全力场SFF如何保护车辆不受碰撞

2019-08-06 17:27

#自动驾驶

观看之前一下
内容介绍
安全力场 (Safety Force Field,SFF) 是一种稳固可靠的驾驶策略,能够分析并预测车辆所处环境。


自动驾驶实验室

这是NVIDIA DRIVE Labs自动驾驶实验室系列视频的第八集,在上一集中我们介绍了NVIDIA如何借助高精度神经网络LaneNet DNN预测车道线。在自动驾驶实验室系列视频中,我们将以工程技术为重点的视角关注实现自动驾驶汽车的各个挑战以及NVIDIA DRIVE AV软件团队如何应对这些问题。

任务:
保护车辆不受碰撞

方法:
安全力场(Safety Force Field,SFF)


NVIDIA安全力场(SFF)软件专为避免碰撞而设计。它好比一个独立的监督员,对车辆主要规划和控制系统的操作进行监督,既可以人为操作也可以自主运行。

具体而言,SFF会对主要系统的控制决策进行实时复核。如果SFF判定控制操作不安全,它将否决并纠正主要系统的决策。

SFF是经过验证且安全的。就是说,如果所有道路参与者都遵守SFF规则,并且感知和车辆控制都在预先设计的范围内运行,就能通过数学的方式证明SFF可实现零碰撞。


安全力场SFF如何运作


SFF利用来自不同类型传感器的感知数据,计算出一个基于物理的正向仿真,其中包含周围交通环境中所有的感知对象。

SFF通过正向计算为他们制定一个安全程序,即一条让每个对象都能够安全抵达目的地的轨道。例如,一个安全程序可以定义为车辆仅执行制动操作,另一个可以定义为车辆与交通方向保持一致进行转向然后制动。

每个对象都会产生出一条运动轨迹,或者可以说,每个对象在执行一个安全程序时在物理层面都会占据时空中的体积,我们称之为车辆的“所有空间”。

在物理层面上,如果不同对象的所有空间有所重叠,那么他们就有在未来某一时间同时占有相同空间的风险,即发生碰撞。当所有空间发生重叠时,SFF会立即命令这些对象采取行动来缓解危险情形,并为每个对象计算出最佳的实时控制指令。

为了针对每个对象制定“最佳”的控制指令,SFF利用了一种叫做安全潜力的数学函数,该函数可以计算出给定情况的安全性数值。SFF针对各个对象所有空间的重叠进行扰动分析,以确定何种控制操作能够避免碰撞,以及与基本的安全程序相比可以优化到何种程度。


图:本车的所有空间(黄色)与左转车辆的所有空间(粉色)有所重叠,且该车辆没有适当为本车让行,表明有发生碰撞的可能。本车中运行的SFF做出了制动决策以避免碰撞。

在所有的控制指令中,SFF选择了制动与转向组合,该组合对主要系统所规划的控制操作干扰最小,同时可以实现与安全程序一样的安全性。

在运行过程中,SFF可以将车辆转向和制动操作相结合。当紧急制动无效时,转向操作模仿了人类驾驶员正确的直觉,这一操作可将车辆带到避免碰撞的范围内。

SFF会对车辆执行安全程序的情况进行仿真,而不是让其以观察得到的速度和加速度继续前行。这是因为安全程序始终由安全允许的控制操作所定义。安全程序会一直进行正向仿真,直到场景中所有的对象都到达既定目的地。至此,SFF可以保证不会发生任何碰撞。

纵向横向因素均需考虑

SFF正向仿真和碰撞核查是通过GPU计算加速在三维时间空间内进行的。SFF并没有将这些操作根据纵向和横向进行拆解,而是在3D的环境下运行,这就需要更高的计算能力。

综合考虑纵向和横向的因素是至关重要的。因为在现实世界的交通环境中,很多操作既不属于完全的纵向也不属于完全的横向,综合考虑可以让驾驶变得更加安全(例如在拥挤的交通环境中变道)。

此外,在一些特定的实际场景中,比如缺少车道线标记和在停车场驾驶的情况下,我们甚至很难分辨出哪个方向为纵向。SFF独特的地方之一就在于它能够轻松处理这些复杂的驾驶场景。

针对车上的实际应用,SFF还设定了安全程序预留空间。因为考虑到现实世界的反应时间,以及其他自动驾驶车辆软件组件和子系统可能带来的缺陷和延迟。
订阅英伟达 NVIDIA 技术月刊
输入电子邮件,订阅 NVIDIA 加速计算或深度学习电子月刊
订阅