首页 > 汽车技术 > 正文

构建自动驾驶的通用语言

2019-08-13 21:21:25·  来源:Astroys  
 
EDA行业希望助自动驾驶一臂之力。复杂的系统,无论是SoC还是自动驾驶汽车(AV),都会让设计工程师们感到沮丧。他们经过数月的艰苦工作后,还必须回过头来验证刚
EDA行业希望助自动驾驶一臂之力。
 
复杂的系统,无论是SoC还是自动驾驶汽车(AV),都会让设计工程师们感到沮丧。他们经过数月的艰苦工作后,还必须回过头来验证刚设计的系统是否真正会按照预期的方式运行。
 
对此,以色列初创公司Foretellix的CEO/联合创始人Ziv Binyamini说:“SoC和AV都构建在一个黑匣子中,这本质上很难找到隐藏在意料之外处的漏洞。”
在测试和验证SoC时,有两个措施被认为是必不可少的:代码覆盖率(code coverage),它表示代码通过激励进行测试的程度;功能覆盖率,用户可以编写某种程序逻辑来监控激励对代码覆盖的效果。Foretellix认为,当OEM测试安全时,类似的覆盖范围驱动的原则应适用于AV。
 
目前,科技公司和OEM们正在模拟器中累积着轨道、公路测试的数百万里程。例如,Waymo上个月宣布,该公司已经累积了超过1000万的实际路测里程、100亿英里的模拟路测里程。
 
但这里有一个问题,有没有人知道Waymo、Uber、Cruise和Argo AI这样的公司究竟在测试什么?他们如何衡量测试结果?他们的AV在哪些场景中进行了测试?Binyamini说:“现在AV公司们的路测里程竞赛是希望证明产品的安全性,但缺乏量化的方法来衡量证明AV安全性所需的场景数量(覆盖)。此外,他们缺乏可以提供严谨和自动化的方式来发现未知风险场景并将其变为已知的工具。”
 
这就是Foretellix发现到的机会。Foretellix基于在EDA行业成长起来的验证专家团队,正在试图将专业知识应用到AV领域。
 
例如,正如EDA行业几十年前为SoC设计人员开发了一种名为SystemVerilog的高级硬件描述和硬件验证语言那样,Foretellix正在为AV系统设计人员开发可衡量的场景描述语言(M-SDL,Measurable Scenario Description)。
 
据Foretellix称,目前美国和欧洲的一些OEM正在试用M-SDL。Binyamini表示,他们会在将行业反馈整合到语言之后,计划在夏季之后发布。他还强调M-SDL不是私有的,将在GitHub上公开。
 
Foretellix承诺,无论是在模拟器还是实际路测中,M-SDL都将提供测试结果的“统一指标”。Binyamini说:“我们还会进行随机测试,以了解哪些方案仍需要测试。” 
EDA和汽车领域的Nexus
The Linley Group的高级分析师Mike Demler指出:“Foretellix没有为AV系统设计构建验证工具。相反,它只是提出了AV的覆盖率分析工具和覆盖率驱动的验证。”
虽然“覆盖驱动验证”的想法确实来自EDA,但Demler强调说:“覆盖率是检查验证计划的工具,但它本身并不是验证工具。覆盖工具检查你的测试台是否涵盖所有可能的故障,或足够的数量以满足特定的验收标准。”
因此,在Demler看来,Foretellix对M-SDL与SystemVerilog的比较是个很大的延伸。这看起来更像是“测试计划检查器”。
尽管如此,Foretellix创始人的背景强烈暗示着他们正在努力将其在半导体行业积累的经验应用到汽车行业。 
Pentium Pro
对于那些亲历过芯片设计日益复杂时代的人来说,AV中出现的设计变化对他们来说应该一点都不陌生。Binyamini观察到这些都是芯片行业在20世纪90年代经历过的问题。
当英特尔开发Pentium Pro时,Binyamini是P6项目中的设计自动化工程师。由于P6设计是第一个X86超流水线技术,会无序的推测执行机器,处理器非常复杂。需要新的验证解决方案来应对这种复杂性。
在P6发布之前,英特尔面临着“奔腾漏洞”危机,这是早期英特尔处理器浮点的一个缺陷,1994年林奇伯格学院的教授发现了这个漏洞。到1994年12月,英特尔召回了缺陷处理器,耗资近5亿美元。这一事件使电子行业意识到几乎不可能找到复杂处理器内的所有错误和问题。
到了1997年,Binyamini加入了一家名为Verisity的初创公司,该公司于1995年由VLSI验证的领先专家Yoav Hollander创立。Verisity被称为是世界上第一家验证公司之一,其任务是提供基于覆盖驱动方法的VLSI验证工具套件。
Verisity告诉半导体行业,覆盖驱动验证是处理芯片设计复杂性的唯一方法。Hollander在Verisity期间创建了“e”验证语言,后来被纳入了标准(IEEE 1647)。
2005年,Verisity被Cadence收购,Binyamini和Hollander在接下来的十年中继续在Cadence工作,并领导着验证业务。
2015年,二人离开了Cadence。2018年他们共同创立了Foretellix,目标是解决AV行业的困境。
一方面,SoC中的设计错误可能会导致代价高昂的设计返工。如果芯片工程师花费一半的时间来设计芯片,需要另一半的时间来验证,才可以确定芯片的完成情况。另一方面,AV设计中的任何缺陷都可能会引起致命事故。
然而,在Foretellix看来,AV行业仍然停留在路测里程竞赛中,而不是安全测试和验证所需的“覆盖质量”。
高度自动化车辆中的系统非常复杂。但在测试场景中添加一些环境和行为因素(如恶劣天气、道路状况、其它车辆的切入和驶出等),测试方案会变得越来越笨重。尽管存在这些挑战,Foretellix声称其工具Foretify可以通过使用M-SDL提供“可测量的安全性”,并通过自动方式生成各种方案的组合。该工具还具有随机创建组合场景和监测检查和跟踪场景覆盖的能力。 
Foretellix工具的适用领域
 
当被问及Foretellix时,VSI Labs的Phil Magney说:“我喜欢它,它似乎适用于所有测试平台,无论你是在做模拟、x-in-loop测试、轨道测试,或是路测。他们的Foretify的解决方案可以管理所有测试格式,并提供分析和指标,以便了解何时完全覆盖。”
 
在今天的AV测试环境中,可用的指标非常有限。通常,唯一可用的方法就是AV行业一直在用的脱离次数和测试里程。
 
根据法律,主动在加州道路上进行路测的AV公司们必须披露测试里程及脱离频率。但如今许多专家都不相信脱离频率是正确的衡量指标。Edge Case Research的Phil Koopman告诉我们,脱离次数往往会激励测试的公司尽量减少干预措施。因此,这就是不安全的测试。
 
Magney也同意,说:“在开发阶段,你仍然在学习并需要将车辆暴露在各种条件下。脱离次数这个指标不可全信。通常,你会单独针对某个特定技术或方法,查看它们出问题的位置。换句话说,你没有运行完整的堆栈,因为这会使得更难以确定子系统的性能。”
 
Magney还补充道:“另一个虽已成为常识、但还是需要拿出来说的问题是,在AV开发中,前95%的工作只是一部分,剩余的部分是一个数量级更难、更危险的部分。”在他看来,那剩下的5%拥有一个巨大的、多样的、非常轻微的行为空间。Magney认为Foretellix的解决方案有助于解决那些问题。
但Magney与Demler也都一致认为Foretellix的工具更多的是关于测试覆盖率的验证而不是AV的实际开发。 
 
描述场景的语言
 
但场景描述的语言呢?M-SDL是这个领域内唯一可行的方案吗?Binyamini承认,一些公司正在标准化组内开展场景描述语言相关的工作,其他人可能正在开发内部工具。但该行业倾向于认为AV开发人员将从与其他公司的共享场景中受益,同时计划审查和复用其他公司构建的场景。
 
Binyamini表示,Foretellix正在ASAM(自动化和测量系统标准化协会)中提出M-SDL,这是一个促进汽车开发和测试工具链标准的非营利组织。
 
SDL至关重要,特别是对于寻求客观理解更接近真实世界的测试场景的测试工程师而言更是如此。
 
Binyamini还指出,统一的SDL将有助于建立透明度,使监管机构能够看到AV测试已经完成。例如,监管机构可以编制测试场景的存储库,确保OEM具有相同的理解。他补充说,由于M-SDL的编写水平较高,可供监管机构和公众来阅读,最终可能有助于赢得公众信任。
 
Magney还指出,Foretellix并不是唯一一个考虑验证自动驾驶的公司。例如,德国的Pegasus除了发布高度自动驾驶功能的场景和情况外,还致力于建立普遍接受的质量标准、工具和方法。但Magney补充说:“然而,Pegasus的目标是L2-L3,而不是L4+。Pegasus的方法使用预期分布,这有助于估计预期失败的频率。但正如Foretellix在他们的博客中指出的那样,你需要意想不到的分布确保意外失败的发生频率高于其它情况。”
 
如果一切可以如期进行,Magney认为Foretellix将通过不断更新的参数化方案库为AV验证奠定基础。然而,他告诫说:“建立场景需要时间。毕竟,为了ISO21488(SOTIF)的利益,你不了解你将要曝光的所有情况(或场景),你只会及时了解它们。” 
 
[参考文章]
EDA, AVs Find Common Language, Junko Yoshida
 
 
分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号