在 SAE J3016:2018 中确认的六个等级的车辆自动化系统中,一至二级被称为驾驶员辅助系统,三级以上则被划分为自动驾驶系统,三级以上自动驾驶功能中车辆和驾驶员责任的分割带来了功能责任的交割,进而带来了功能设计和系统架构上的变革。
以 TTTech zFAS 在 Audi A8 量产的自动驾驶功能 Traffic Jam Pilot(交通拥堵驾驶)为例,在功能上简要地说就是,用户在功能设计运行区间内启动功能后,车辆通过环境建模做出路径规划和控制,实现车道线内的自动跟车功能。
Pic Source: https://www.audi-technology-portal.de/en/electrics-electronics/driver-assistant-systems/audi-a8-audi-ai-traffic-jam-pilot
Audi A8 在前向传感器方案上选择了一枚前向激光雷达,一枚前向长距离毫米波雷达,两枚中距离毫米波角雷达,一枚前向广角镜头和两枚侧鱼眼镜头。在传感器性质方面可以实现物体识别,车道线识别,相对距离测距等功能。
自量产以来,Audi A8 的传感器方案就受到了大量的关注,激光雷达的存在必要性饱受争议,但究其传感器选型的本质原因,除了性能要求外,安全要求也是其中的必要考量因素。
Pic Source: https://www.audi-technology-portal.de/en/electrics-electronics/driver-assistant-systems/audi-a8-audi-ai-traffic-jam-pilot
根据 ISO26262-4 中「车辆 E/E 系统故障导致的安全违规行为」以及 SOTIF 中「导致 E/E 无故障系统下错误传感器数据以及基于处理算法在传感器输入上应该避免和减轻的,以使系统处于安全状态」的需求。在出现故障时,系统必须关闭或必须通过(紧急)操作驱动。这意味着在 SAE Level 3 之后,特别是在 SAE Level 4 之后,有必要为失效操作提供功能安全、系统可用性和系统冗余的创新解决方案。
创新解决方案在系统安全领域中的要求可以理解为如果出现功能失效,必须在短时间内使系统保持在开启状态。为了达成这一目标,一方面可以通过设计风险最小化的简单功能达到功能失效状态下风险控制的目标,另一方面则可以通过正确开发系统安全架构机制和失效操作安全架构机制的方式来控制风险。
SAE Level 3 的功能设计受限于高速公路等设计运行区间,而设计运行区间在不同时间空间上体现出的性质往往不同,在无相关规范指导的情况下,系统安全架构机制和失效操作安全机制就成为了良好的风险控制首选方案。目前在系统安全架构机制上大体分为两种,传统的 Fail-safe 安全机制以及现代的 Fail-operational 安全机制,Fail-safe 安全机制要求系统监控关键的部件以达到失效后系统关断的目的,如在功能运行过程中监控摄像头系统,在摄像头无法正常工作时关闭系统以避免系统危害。
上图是经典的驾驶辅助系统高等级功能架构模块示意图,Sensor,Processing,Actuator 为系统正常工作状态下的功能通道,下方位置的 Monitoring 模块通过信息的反馈监控功能的状态。这种基于 Fail-safe 安全机制的架构方案在实现上与传统 ECU 相似,在系统架构中使用 SEooC 的方式满足功能安全的需求。但尽管功能安全的需求在 Fail-safe 的方案下可以被满足,自动驾驶功能本身「性质」的需求却无法满足。
在 TJP 状态下 50KM/H 工作的过程中,当驾驶员并未做好驾驶准备时出现了 Fail-safe 架构下的系统失效,系统突然的宕机会严重影响驾驶安全性,造成最高 AIS 6 等级的人身伤害。
Pic Source: SAE J3016:2018
Ref:SAE J3016:2018 Use case sequence for a level 3 feature showing ADS engaged, occurrence of a failure or out-of-ODD condition, and the fallback-ready user performing the fallback, or, if the fallback-ready user fails to do so, a failure mitigation strategy, such as stop-in-lane.
Fail-operational 安全架构的存在解决了系统突然失效宕机可能造成的危害,这种架构可以实现关键系统模块的冗余,通过在两个或者多个不同的硬件和软件中实现多样性部署的方式,在系统失效的情况下提供备用解决方案。这些不同的硬件和软件可能有不同的物理特性,甚至来自于不用的开发团队和公司,作用就是提供关键信息的异构冗余。在 Fail-operational 的安全架构下有多种设计思路,常见的有 1-Out-Of-2 Safety Architecture (1oo2),2-Out-Of-3 Safety Architecture (2oo3) etc。
Pic Source: SAE International
1-Out-Of-2 Safety Architecture (1oo2)的安全架构往往由两个独立的处理单元组成,两个独立的处理单元能够独立控制执行器,当一个处理单元发生故障时,通过诊断模块提供的故障信息,系统仍可在第二通道运行,这种解决方案通常存在于一些低成本的关键零部件中。
Pic Source: SAE International
2-Out-Of-3 Safety Architecture (2oo3)的安全架构被广泛地应用在航空电子设备中,在这种安全架构方案下,三个独立的处理单元互相冗余并两两校验在输出端使用两个独立的判断单元对处理单元的输出进行校验,若三路输出一致则系统工作正常,若一路出现故障系统依然可以继续运行另外两路运算单元,这种高成本的解决方案在价格高昂的同时也会带来开发过程中如功耗散热问题的大量技术难题和供应链管理的复杂问题。
若将 Fail-operational 安全架构的思想扩展到 SAE Level 3 以上的具体自动驾驶系统开发中,系统失效状态下的鲁棒性就是一个关键的议题,如果系统在失效状态下在车辆道路上突然停止工作,结合高鲁棒性和成本的考虑,在自动驾驶控制器的选择上可以使用 1oo2 的解决方案。
Pic Source: SAE International
这种设计模式要求异构的传感器输入被独立地处理,异构的传感器摄像头,毫米波雷达以及激光雷达(等)提供冗余的感知方案,这也就解释了 Audi A8 上搭载激光雷达的必要性。
在功能正常运行的过程中,摄像头提供物体车道线 2D 信息,毫米波雷达提供物体相对位置信息,激光雷达提供物体车道线信息,通过冗余的传感器融合方案提供冗余的车道线和物体关键信息,Core 1 和 Core 2 两块高性能处理器同时工作处理功能逻辑,并将输出传递到安全芯片的 Core 3 上进行对比。当对比结果出现偏差则进入降级失效通道,运行在 Core 1 或 Core 2 上的安全停车功能。
Pic Source: Visteon
在 1oo2 的架构层面思想下,TJP 的功能在逻辑层面上可以被分解为三个通道,通道 1 和通道 2 互相独立,互相冗余,在正常工作状态下相互校验工作。在两异构通道输出不同时,由 Safe Chip 上的故障检测机制转入第三通道进行紧急操作至安全状态。
Plus:可适应面向SAE Level 4的系统安全架构方案
在面向如 TJP 一类 SAE Level 3 功能 ASIL D 安全目标的解决方案中,根据 ISO26262 5&6 的需求,系统安全概念在 SoC 上功能安全的要求可以分为软件和硬件两个层面,软件部分在 SEooC 概念下,通过 AUTOSAR 的方式提供高内聚低耦合的系统组件架构要求。
硬件层面上功能安全对于 SoC 的要求则主要体现在单点失效度量 Single-Point Fault Metric 和潜在故障度量 Latent Fault Metric 两个方面,前者表示系统故障的鲁棒性以及在故障情况下对于非故障功能的影响程度,值越高,必须采取的措施越多,后者则更关注系统故障之后带来的故障分析。
从系统安全概念层面分解下来对于硬件上的需求首先是具有锁步功能的多核处理器以支持高性能计算需求下的冗余方案,其次需要具有内存保护系统,信号量可以支持多个系统定时器的硬件扩展,以支持闪存分段和功能隔离的需求。内部的自检功能和每个 CPU 的单独重置功能以支持系统层面功能安全等等。
许多安全相关的应用功能将陆续在未来的几年内被应用于量产车型,随着自动驾驶接管任务越来越多的趋势增加,未来的自动驾驶汽车需要强制性更高的可用度,低成本的安全架构方案将极大程度地减少系统成本,收割更多的市场空间。