在这篇行业文章中,探讨了自动驾驶汽车的一些问题,包括解决方案和安全标准。
由于我们在车辆中成为“乘客”而不是“驾驶员”的门槛,“这个'东西'驱使我的安全性有多安全?”我们都在承认,在大多数情况下,自动化可能比(可能分心的)人类驾驶员更快地做出正确的决定。但如果失败怎么办?
设计和制造的硬件是否是首先为安全设计的自动驾驶汽车的“智能”?硬件不仅必须可靠,而且还能够检测故障并采取纠正(或紧急)措施。硬件还必须确保未经授权的请求者不会触及用于安全关键目的的受保护存储器。
嵌入式软件开发人员是否足够重视安全问题?我确信绝大多数人都把它作为头等大事。但是,有一些标准可以帮助开发人员确保他们的代码不仅像编写的那样安全,而且在编译后以及在目标硬件上运行时同样安全。
自动驾驶汽车由来已久
由于围绕着即将实现的自主驾驶汽车的所有新闻,许多人认为这是第一次涉足自动驾驶汽车。事实上,它们已存在很长一段时间,而不是在消费者环境中。
图1.像这种自动式割草机的自动驾驶车已经存在了一段时间。他们的操作环境与自动驾驶汽车将遇到的情况大不相同。
约翰迪尔在20世纪90年代开始了自动驾驶拖拉机的基础工作,并且拖拉机在2000年之前自行转弯。现在,除了转弯之外,拖拉机还能够完全自主运行,包括耕作和收割。广泛使用的其他自动驾驶车辆是许多在线零售商和批发商使用的“产品选择器”。例如,亚马逊在2017年初运营了超过45,000台机器人。
你的下一辆车?
尽管机器人和拖拉机公司几十年的工作,你的下一辆车不太可能是自驾车。有一个洗衣清单的项目与前面提到的自动驾驶汽车有很多不同的问题,但在这个清单的顶部是一个简单的事实 - 仓库,你的家和农场是私人的,受控的访问环境,而汽车旅行需要一个完全不同的问题集:
交通:当然,交通是最常遇到的问题,不会影响拖拉机和机器人。汽车必须首先检测并确定如何响应感测到的信息。
信号干扰:在大世界中,诸如建筑物和树木之类的东西会干扰传感器信号并产生意外结果。
黑客攻击:对于诸如无线软件更新等应用的自动驾驶汽车而言,安全的互联网通信是必不可少的。黑客攻击可能是致命的。
意外的经历:也许最邪恶的问题是当出现新的意外体验时应该做出什么决定。在拖拉机或机器人中,它可能会停止,但在汽车中,这可能不是最安全的事情ICfans。
所有这些现有问题必须解决,原因之一是:人们乘坐汽车,因此安全必须是绝对的首要任务。
几十年来,汽车已经集成了电子设备和嵌入式软件,用于动力总成控制,变速箱控制和燃油喷射等。现在,高级驾驶辅助系统(ADAS),如智能巡航控制和车道偏离警告,开始出现在车辆中,这是迈向自治的宝贝。虽然在动力总成控制中已经处理了安全问题,但ADAS故障可能导致的人类生命风险已经推动了若干标准的制定,以尽可能地降低风险。
标准确保安全性和互操作性
与自动驾驶汽车相关的主要标准是ISO 26262.其目的是确保整个汽车系统的适当安全管理。ISO 26262的一部分是优先考虑的汽车安全完整性等级(ASIL)分类。ASIL级别分类由在不同情况下硬件(或控制硬件的软件)故障可能导致的危害严重程度设置,并从A(最严格)到D(最严格)运行。
符合ISO 26262要求硬件和软件的设计是为了安全,例如使用回退路径,自我监控和冗余。硬件需要根据其运行的ASIL级别进行测试。不影响任何安全关键功能的硬件或软件(例如汽车触摸屏的GUI)具有比ADAS功能更低的ASIL分类,这可能对安全性产生重大影响。由于ADAS功能为驱动程序做出高级决策,因此它们通常必须通过高ASIL分类认证,例如ASIL-D。
图2. ASIL合规水平评估失败的潜在危险。A级有边际安全问题,而D级可能导致多人死亡和重伤。
这意味着获得ADAS产品的安全认证可能需要相当长的时间。减少获得认证的时间和成本的合理方法是使用经过预认证的硬件和软件开发工具(如编译器和LAPACK等性能库),使全系统级ISO 26262认证更加便捷,并提高安全水平。
软件开发也有一个标准。汽车SPICE(ASPICE)是用于设计和评估汽车软件开发过程的标准框架。有效的实施可带来更好的流程和更好的产品质量。
图3.使用经过安全认证的硬件和软件开发工具可以加快系统认证。
提到的另一个标准是IEEE 2020.该标准目前处于草案形式。它规定了用于测量和测试汽车图像质量的方法和指标,以确保一致性并创建跨行业参考点。这是一个尚未发布的未来标准,但将对依赖于相机,图像处理,计算机视觉和其他车辆感知技术的ADAS功能产生重要影响。
选择标准的硬件和软件
在为汽车应用选择硬件和软件时,尤其是需要严格安全认证的ADAS应用时,最佳解决方案是依靠经过验证的供应商提供针对应用而优化的产品。
对于汽车和特别是ADAS系统,使用专为安全和功耗限制而设计的处理器和其他硬件至关重要。汽车应用有几种经过验证的处理器选项。这些都符合ISO 26262标准,是最佳选择。对于ADAS应用程序,大多数应用程序包含多个内核,用于安全性和卸载协处理器的特定任务。
多核处理器可以显着提高安全性并提高性能。有些硬件安全核心集成在一起以确保内存完整性。有些还具有处理传感器数据的DSP功能。选择符合ISO 26262标准的目标处理器可以大大简化您的设计并节省认证时间。
乍一看,“编译器是一个编译器”似乎是真的,但肯定不是。所有编译器都会对从C / C ++输入生成的代码做出选择。凭借面向汽车的处理器中无数的内置功能和内核,编译器必须了解这些功能并生成针对这些功能进行优化的代码。
选择在第2级通过ASPICE认证的编译器意味着您可以放心,该产品是根据经过验证的流程开发的,使您能够满足所需的安全标准,这意味着您的应用程序更可能出错 - 自由。使用ASPICE认证的编译器不仅可以获得更好的代码,还可以节省资金。
标准:太有限了?
我被问到“标准是否限制了工程师的创造力?”坦率地说,我认为恰恰相反。标准就像任何其他设计约束一样:它们将模糊性从设计中剔除,让设计师专注于问题以及如何在约束范围内创造性地解决该问题。
当安全和操作标准成为限制因素时,必须清楚地了解必须达到的性能水平。没有必要定义已经由标准委员会定义的那些约束 - 现在可用于定义和设计创造性解决方案。使用符合ISO 26262标准的硬件和ASPICE认证的编译器也为设计人员带来了时间优势。
总而言之,汽车安全标准以及正在开发的汽车安全标准是实现更安全,更高效和最终自动驾驶车辆的关键。