解决自动驾驶的关键挑战

描述

“自动驾驶”技术建立在特定的驾驶员辅助功能之上,例如自适应巡航控制或防撞、临时监督自动驾驶仪,以及完全自动驾驶车辆,能够在完全没有人为干预的情况下从头到尾完成旅程。

美国汽车工程师协会 (SAE) 定义的五个自动驾驶级别(图 1)有助于将机器参与驾驶车辆的程度日益提高,更重要的是,也许是未来。

自动驾驶

图 1.美国 SAE 定义的 SAE 汽车自主级别。

通过这些不同的级别,显然需要越来越准确的态势感知。物体识别、空间感知和定位等任务是人类的核心技能,由于摩尔定律在芯片处理能力与成本和功耗之间的关系,现在才开始克服在机器中复制这些任务的挑战。

然而,得益于这一进步,最高水平的全自动驾驶汽车触手可及。事实上,一些备受瞩目的自动驾驶汽车项目已经完成了超过 100 万英里的全自动驾驶,仅记录了少数事故。

基于改善道路安全的理由,自动驾驶汽车有充分的理由。由于超过 80% 的道路交通事故是由人为错误造成的,因此取消人为决策可能会降低事故率。挑战在于消除人为错误,而不会引入不可接受的机器错误水平。在这个最神圣的人类活动中,对机器错误的容忍度将是极低的。

必须在确保设计及其所有元素安全的框架内开发更高 SAE 级别的自动驾驶系统。汽车安全标准 ISO 26262 通过定义一组汽车安全完整性等级 (ASIL) 和相关的允许故障率,提供了任何自主系统开发必须遵守的框架。此外,未来车辆上的自动驾驶系统也将受到从热带高温到北极寒冷等一系列恶劣环境的影响,包括发动机高温、热循环、高振动、冲击、湿度、灰尘等,挑战可操作性和可靠性。因此,除了极其强大、快速和节能之外,

多种传感方式——系统的眼睛、耳朵等

就像人类驾驶员依靠视觉信息以及声音、身体上的力甚至嗅觉来在各种环境中控制车辆并预测事件一样,自主系统依靠多种传感方式来提供原始数据用于决策。该机器比人类有一个优势,因为它可以提供更多的感官来增强在视觉光谱中工作的相机和类似于人类平衡、运动和定位感觉的惯性传感器。这些包括雷达、激光雷达、超声波、红外线、GPS 以及无线 V2X 数据,可以提供对看不见的危险的意识。

在所有这些传感模式(系统的眼睛、耳朵等)的连接处,是一个中央处理模块 (CPM),它必须根据来自各个通道的所有数据流连续做出实时决策。正是这个模块的能力定义了系统能力的限制,就可以安全执行的自动驾驶模式而言。

处理系统架构

图 2 说明了 CPM 将原始传感器数据转换为安全且适当的自动驾驶决策所需的功能。

自动驾驶

图 2. 自动驾驶和全自动驾驶汽车的集中处理模块架构。

在显示的功能中,数据聚合、预处理和分发 (DAPD) 块与不同的传感器模式接口,以在处理单元和处理单元内的加速器之间执行基本处理、路由和信息交换。

高性能串行处理根据其输入执行数据提取、传感器融合和高级决策。在某些应用中,神经网络将在高性能串行处理中实现。

安全处理根据 DAPD 设备中的预处理提供的检测环境以及神经网络加速和高性能串行处理元件的结果执行实时处理和车辆控制。

创建 CPM 给设计人员带来了几个接口、可扩展性、合规性和性能挑战。当然,严格的 SWaP-C 限制(尺寸、重量和功率 - 成本)总是伴随着汽车领域。此外,随着更高级别的自动驾驶系统通过认真的原型设计和早期部署,可预期适用的标准、最佳实践和机器学习算法将迅速发展。

为了克服这些挑战,我们可以设想一个集成的可编程解决方案,它不仅可以处理 DAPD 的接口、预处理和路由功能,而且还可以在同一设备中集成某些安全处理功能和潜在的神经网络机器学习功能。硅或作为独立的硬件加速器设备。这一机会正在推动新型汽车级可编程多处理器片上系统 (MPSoC) IC 的出现,该 IC 不仅利用摩尔技术将多个应用处理器内核和实时处理器内核与高度并行化的可编程逻辑集成在一起, 和高带宽行业标准接口,都在同一个芯片上。

借助两个锁步内核,实时处理单元 (RPU) 能够处理高达 ASIL-C 的安全关键功能。为了提供必要的功能安全,这样的 RPU 还需要能够减少、检测和缓解单个随机故障,包括硬件和单事件引发的故障。

安全处理器需要直接与车辆控制进行交互,例如转向、加速和制动。显然,在这个子系统中避免处理错误是至关重要的。除了内核的锁步功能外,其他重要的缓解措施包括支持缓存和内存上的纠错码 (ECC),以确保实现自动驾驶车辆控制所需的应用程序和数据的完整性。开机期间的内置自检 (BIST) 对于确保底层硬件在运行前没有故障以及在发现有缺陷时在设备内功能隔离内存和外围设备的能力也很重要。

就与整个车辆的传感器模式的接口而言,典型的高速接口将包括 MIPI、JESD204B、LVDS 和千兆以太网 (GigE),用于相机、雷达和激光雷达等高带宽接口。MPSoC IC 通常包含灵活的 I/O,可配置为直接与 MIPI、LVDS 和千兆位串行链路连接,从而使更高级别的协议在可编程逻辑架构中实现,通常使用 IP 内核。CAN、SPI、I2C 和 UART 等接口已经在汽车应用领域建立起来,并作为设备处理系统中的即用型功能提供。

在 MPSoC 器件的可编程逻辑结构中实施适用协议还可以轻松整合标准的任何修订或更新,同时为解决方案中支持的特定传感器接口的数量提供灵活性。

机器学习驾驶

人类每次驾驶都会获得知识和经验,我们训练的自动驾驶机器也将如此,以驾驶未来几代车辆。机器学习将在自动驾驶中发挥重要作用,以帮助在与以前遇到的任何情况相似(尽管很少,如果有的话)相同的情况下做出决策。

图像识别是目前机器学习神经网络在自动驾驶中最重要的用途之一,可帮助车辆识别重要物体,如其他车辆、行人、易受伤害的道路使用者(如骑自行车的人)、路口、十字路口、路标、障碍物等物体在路上,和其他危险。在车辆行驶时,获得这些分析的结果是时间紧迫的,并将推动对低功耗嵌入式实时机器学习系统的需求。

帧/秒/瓦是嵌入式神经网络实现的关键品质因数。轻量级的板载神经网络可以使用 C、C++ 和 OpenCL 等高级语言在 FPGA 中实现,从而可以将功能从处理器系统无缝转移到可编程逻辑。神经网络的构建者已经发现可编程逻辑中 FPGA 处理的高度并行特性,再加上没有外部内存瓶颈,与图形处理器单元 (GPU) 等替代架构相比,具有更高的确定性和响应能力。

增加帧/秒/瓦的其他工作表明,与卷积 CNN 等更传统的模型相比,像脉冲神经网络 (SNN) 这样的下一代模型可以提高吞吐量并降低功耗。多个 SNN 内核已在 FPGA 中成功实例化,以处理大量视频通道、每秒高帧数和仅几瓦的低功耗。

结论

完全自动驾驶汽车的路线图已经成熟,并且已经经历了从基本驾驶辅助系统开始的多个自动驾驶级别。显然,安全性至关重要,但可行的计算平台还必须应对极端的 SWaP-C 挑战。多处理器片上系统 IC 中的高度并行和可重新编程处理可以满足下一代自动驾驶和完全自动驾驶系统的需求。这些设备还集成了合适的安全处理器,能够满足 ISO 26262 等行业安全标准,能够满足最高级别自动驾驶的关键系统要求。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分