本文中的PPT来自于Shashua教授18年3月在德国Dresden的演讲,演讲内容可以去Mobileye的官网观看,这里整理了下笔记。
另外还参考了下面文章:Mobileye的RSS安全模型究竟有哪些技术要点
Mobileye于2017年被英特尔公司以153亿美元收购。作为开发高级驾驶辅助系统(ADAS)的全球先行者,其目标是开发和推广以视觉为主的自动驾驶技术。
基于多年在汽车辅助驾驶领域的成功经验,Mobileye开发了一个名为RSS (Responsibility Sensitive Safety)的责任敏感安全模型,以期通过数学的方式来界定“安全状态”。在“安全状态”中,无论其他车辆做出任何反应,自动驾驶汽车都不可能引发事故。
当今社会对自动驾驶汽车的接受程度依赖于一个最重要的因素:技术开发者衡量风险、确保安全的能力。但是,绝对的安全并不存在。如下图所示,假设在高速路上,蓝色车辆(自动驾驶)行驶在中间车道,突然右侧某辆车由于某种原因偏离当前车道并撞向黄色汽车。此时,蓝色汽车无论是加速、刹车,还是躲避到其他车道都可能会引起碰撞。那么,蓝色车辆是否可以采取有效的方法来躲避碰撞?我们该如何解决这个问题?
或许最直接的反应是不允许自动驾驶汽车进入这种场景,但这种场景在高速公路上很常见,不允许自动驾驶汽车支持这种场景就意味着自动驾驶汽车不可用。如果允许自动驾驶汽车在这种场景使用,绝对的“安全”就不存在。那么,我们所谓的安全是指什么呢?
目前业界比较常用的一种方法是通过已经测试了多少里程来从统计意义上证明安全。根据统计结果,目前人类驾驶汽车事故的死亡率是10^-6次/小时,如果想让社会接受机器代替人类驾驶,那么比较合理的假设是死亡率要降低3个量级,即10^-9次/小时。可是,要保证达到10^-9次/小时死亡率的安全性,大概需要30亿英里的测试数据,而且每次软件升级后都需要完成这个量级的测试,这显然是不可能实现的。因此,尝试使用数据驱动的统计方法来保证安全性,声称随着测试里程的增加而增加了安全性的说法并不严谨。
此外还有一种方法,被称作最佳装备论(Best Practice)。厂家宣称自己拥有最好的传感器、有冗余备份、高性能软件、充分的验证、足够多的里程…因此是“安全”的。但是,和里程统计论一样,这种方法也不能充分证明其安全性,还会让厂家走上军备竞赛的不归路,导致最终只是进行了一场昂贵的科学实验
Mobileye受到AEB测试的启发,AEB的测试机构只关心FN但却不在意FP,因为首先FP对安全危害没有那么大,其次这个很影响行车体验,OEM会努力改善这个指标。
因此,Mobileye提出了RSS(Responsibility Sensitive Safety)模型,其目标是通过一些数学公式从理论上来保证自动驾驶汽车的安全行驶,并通过形式化以下人类驾驶中比较具有主观性的几个常识确保自动驾驶汽车永远不会主动导致事故发生,这些常识包括:
RSS模型要达到的目标具有两重含义:
1.自动驾驶汽车本身不会导致事故(卷入事故和导致事故是完全不同的概念,如上文提到的例子,自动驾驶汽车可能卷入事故,但它不是事故的责任方)
2.自动驾驶汽车应该在其它车辆发生错误时做出正确反应
RSS要做的就是在事故发生前设定游戏规则,主要用于自动驾驶系统中的决策部分,可以让其它OEM厂家将此模型直接放入他们的决策系统,从而促进行业标准,提高自动驾驶的整体安全。
总的来说,RSS通过形式化以下4个“常识”规则来确定“谁需要对事故负责”:
既然RSS是形式模型,就必须符合如下标准,才能被称之为一个好的形式模型:
这里说了下几个重要的概念 安全距离,什么是危险情况,危险激活时刻,合适的反应,责任归属。
安全距离是指在最恶劣的情况下仍可以避免碰撞的距离。最恶劣的情况是指前车以最大刹车加速度开始刹车,后车发现后有一定的反应时间,并在反应时间内仍以最大加速度前进,然后改成以最小刹车加速度刹车,直到危险解除。因此,最小安全距离的计算公式如下:
参数:Vf前车速度,Vr后车速度,反应时间ρ、最小刹车加速度αmin,brake、最大刹车加速度αmax,brake以及最大加速度αmax,accel
说明:
-上述公式中的参数应该是法规制定的合理值。
-人类驾驶汽车和自动驾驶汽车的参数可以不同。比如自动驾驶汽车的反应时间一般会比人类短,而且自动驾驶汽车可以比人类驾车的刹车更有效。因此,自动驾驶汽车的αmin,brake可以设置得更大些。
-不同路况下可以设置不同的参数(湿滑路面、冰、雪等)。
上面的公式计算的是同向行驶车辆的安全距离,如果是反向行驶,就是有对向车辆驶来的情况,安全距离计算公式如下:
因突然并线而导致的追尾,责任在实施并线的车辆。这在现阶段的交通法规中,也是这么定责的,但这并不意味着自动驾驶汽车就可以不作为,RSS模型认为,即使旁边车道的车辆突然插入了自动驾驶车辆的前方,只要有足够的距离进行刹车,自动驾驶汽车也必须进行刹车避免碰撞。
这里的负号是因为定义方向的原因,其实最后都是加的绝对值。
多条道路交叉或汇合时就会涉及到路权。有些道路的优先级高于其他道路,在这些道路上行驶的汽车就拥有路权。RSS模型涉及到部分场景的解决方法,后期仍然需要扩展模型,并对安全距离的计算进行必要调整。
为了更好地理解路权,我们需要先定义一个名词:纵向顺序(Longitudinal Ordering),用来代表距离交叉点的直线距离。如下图所示,左图中,在纵向顺序上红车在蓝车前面,因为Dred < Dblue;右图反之。
和上文提到的公式化安全距离一样,我们同样可以定义多道路交叉时的纵向安全距离。如下图所示,蓝车拥有路权,优先级高,那么红车必须在进入路口前的安全距离内进行刹车,从而保证蓝车正常行驶。
如前文所述,RSS并不是刻板地以路权做为唯一判断,比如在下图中,红车来不及刹车闯入了蓝车的车道,蓝车也要采取刹车以避免碰撞。甚至,RSS模型还可以支持轻微横向位移来避免撞击。
对于行人,首先需要明确行人的路线和优先级。某些地方行人的路线很明确,如人行道或者交叉路口的斑马线。这些地方自动驾驶汽车在自己车道上行驶时,一般无需担心行人会突然闯进来,车有优先权,但是也必须遵循灵活运用路权的原则。
但在有些地方,如居民区内,行人路线不明确,这时必须谨慎驾驶,给行人更高的优先权。考虑到人类的反应时间大概是500ms,最大加速度是2m/s²(博尔特的加速度是3.09m/s²)。那么,根据之前的公式,车辆与行人之间的安全距离是50cm,行驶时必须保证处于这个安全距离之外。
另外,需要格外注意有遮挡的环境。下图中的车辆正在通过一排停车位,一名儿童突然以速度10km/h的速度跑过来(比如在追球)。根据计算,10km/h的速度必须要保持15m的安全距离才可能避免碰撞发生。但此时汽车侧方的视野只有0.3m,显然无法满足安全要求。在这种情况下,RSS模型做了如下定义:
-在车辆可以发现目标的第一时间(Te)到反应时间结束时(Te + ρ),车辆没有加速,且到发生撞击或者完全停下来的时刻(Ts),车辆一直以不低于αmin,brake的加速度在刹车。
-从Te到Ts这段时间内,车辆的平均速度低于行人的平均速度。
这种情况下车辆是没有责任的。这个定义隐含的论点是:在发生撞击的时刻,车辆的速度比行人的速度低,或者两者都移动得很慢,从而使撞击的伤害降到最低。
在这些不确定性高,视眼有限的场景,基本上都是要考虑 worst case。
对于可靠性,Mobileye使用了NHTSA的场景进行测试,cover了99.4%的碰撞情况。
对于可用性,Shashua讲的比较有意思,他提到了蝴蝶效应,一个无辜的行动造成了之后的事故,这个不具有可用性,因为从计算的角度,很难去验证合适的响应。另外就是在验证合适响应的时候,你需要检验是其实是不同的关系组合,可以是不同的单个车辆,也可以是任意车辆的组合,后者从计算的角度看不具有可用性。
可以的安全验证,符合RSS合适响应的驾驶策略不会对事故负责,或者说不会直接造成事故或者做了合适的规避。这个其实是RSS的精髓,我自己不惹事,即便别人惹我也不是我的错。
和AEB类似,Mobileye认为只要验证规划就可以了,因为OEM有责任做好之前的感知模块。
需要注意的是,RSS描述的不是驾驶策略,而是对驾驶策略的结果进行安全判定,通过这种种规则的设定,Mobileye希望将自动驾驶汽车打造成一个经验老道的人类“老司机”,这个“老司机”心中有一杆关于“安全”的秤,知道什么样的情形下该采取何种行为,来提前预防、及时避免事故的发生,以及在事故无法避免时,如何将伤亡降到最低。同时,保护OEM厂商的正当权益,避免受到来自社会或监管方不合理的责任分配。
另一方面,RSS在定义不同场景下的危险情况、正确反应、事故责任划分中,是基于人类驾驶员的常识,而非仅仅法律法规,因此目前Mobileye正在积极推广RSS模型,希望能在业界、政策制定者、学者等社会团体之间达成共识,促进自动驾驶产业的发展。