软件模块化 助力自动驾驶汽车系统研发
发布时间:2018-12-03   作者:Sebastian Klaas
  • 自动代客停车是软件框架的实际应用的一个例子。
  • 用于自动驾驶的 EB robinos框架的总体架构。
  • 环境模型由四个主要部分组成:对象融合,自由空间和障碍融合,道路融合和交通规则融合。
  • 该框架还允许从1级功能升级到更高级的3级或4级功能。

如今,增加功能性是大多数驾驶辅助(ADAS)功能,甚至包括SAE 1级至4级自动驾驶系统的研发趋势,但这同时也会将让车辆所处的软件环境和相应的研发流程变得更加复杂。这是为什么?

 

简单来说,这是因为随着功能性的不断增加,牵涉的 ECU 数量也会增加。由于现有功能和系统架构在设计之初大多并未考虑 SAE 3 级和 SAE 4 级自动驾驶的需求,因此,尽管各级自动驾驶系统在功能方面的重复性较高,但真正想要在不同级别系统之间实现功能模块的复用却并不容易,甚至是完全不可能的。

 

各代车型间的软件模块复用也有类似的问题,传感器、促动器、融合模块、功能模块及控制模块等,都必须从软件和硬件角度进行重新整合。这些问题都会导致此类项目中功能复杂度的非线性增长。

 

模块复用的挑战还不止于此。比如,当涉及多方研发时,不同团队之间的衔接和协调也会不可避免地产生额外开销。此外,商业战略方面的考虑也必不可少:自动驾驶系统离不开“环境模型”和“精准定位功能”等基础软件,但这些功能本质上很难实现差异化。因此,即便OEM推出各式各样的驾驶辅助系统或操纵系统,但在环境模型和定位上,它们无法与竞争对手真正拉开差距。

 

但尽管如此,厂商仍需要不断投入资源,对这些基础模块进行不断完善,而这些资源本可以被用来开发差异性更高的组件,比如人机接口。这其实让厂商陷入一种两难境地:随着 SAE 3 级或 SAE 4 级自动驾驶系统的推广,驾驶员将驾驶任务交给汽车后将有大量时间使用 HMI 功能,因此 HMI 研发的重要性毋庸置疑。但与此同时,“环境模型”和“定位功能”等基础模块又对汽车厂商需要全权负责的车辆安全性和可靠性至关重要。正因如此,厂商也必须高度严肃对待安全性和可靠性问题,基础模块的完善不能忽略。

 

使用软件框架加速研发

 

在此背景之下,软件框架应运而生。这种软件框架可以被视为一组自动驾驶系统设计与开发的基本构件,可在自动驾驶系统研发中发挥显著优势。Elektrobit 公司的 EB robins 即为这样一种非常典型的软件框架,其基本架构可见图 2。

 

EB robins 参考架构可以支持 SAE 1 级到 SAE 4 级等全部自动驾驶级别,在未来 SAE 5 级自动驾驶解决方案的开发中也将发挥重要作用。当然,在 SAE 5 级自动驾驶解决方案的研发中,动态情景的数量将显著增加,相应的系统和软件架构也需要经过重大改动。

 

这种软件框架具有模块化设计的特点,可以在最大范围内实现灵活复用和规模化。标准化的模块和接口定义可以降低复杂开发项目的开销。此外,这些软件模块在应用时并不区别具体的硬件和传感器,因此可以轻松、快速地应用至不同厂商选择的不同硬件平台上。

 

正如上文所示,软件框架的应用不受具体硬件影响,而且还可以支持一些类似传感器融合等必要功能。这种标准化、模块化的措施,不仅清晰定义了一种功能性的架构,并让软件之间、以及软件和外部接口之间的开放交互成为可能。所以从这些方面考虑,软件框架又可以进一步降低研发复杂度、投入和成本。

 

除了“环境模型”、“传感器融合”和“精准定位”等基础模块,软件框架还包括“安全检测”等诊断模块,可以对传感器和软件模块进行不间断监测,确保其正常工作。此外,框架中的“监管模块”还可以管理算法冗余,监督关键功能的执行情况,比如在碰撞发生后检查路线规划情况,或检查运动管理模块的正常运行等。

 

自动驾驶汽车差异化功能和非差异化功能的研发对软件框架的要求是不同的。对于差异化功能,厂商可能更愿意倚靠内部研发力量,并着重于品牌特有的外观和体验,而“环境模块”等非差异化功能则更容易从标准化和规模化研发中受益。通过软件架构,研发人员可以在电脑上快速构建原型设计,并随后在 Adaptive AUTOSAR 或 Linux 等环境中开始运行。

 

此外,设计人员还可以根据客户需求,轻松增加/移除特定构件,真正利用最少的研发、应用和测试资源,实现软件构件的复用。

 

供研发人员使用的模块构件

 

全面了解各种特定功能模块还可以协助研发人员更好地理解特定模块构件的应用范围和交互。

 

举例而言,“环境模型”(如图 3 所示)共包括 4 个主要组成部分。“目标融合”可基于各种追踪边界框模型(bounding box model),将雷达、激光雷达、摄像头及更多传感器捕捉的目标进行融合,从而更加完整地进行目标描述,提供包括目标相对位置、尺寸、活动、分类(比如车辆、自行车、行人)等各类信息。

 

“空地和障碍物融合”则主要基于一种多边曲线,描述车辆周围的空地及栏杆和交通信号灯等静态障碍物。出于这个目的,“空地和障碍物融合”模型主要使用环境传感器提供的原始和建模数据,确定车辆可选的行驶路线。“道路融合”则可以利用摄像头信号(识别的道路标记)和“空地和障碍物融合”信息(道路静止设施等),确定道路的几何形状。此外,“道路融合”还可以结合道路移动目标轨迹信息和数字地图数据,更加全面地描绘道路的几何形状。

 

“交通规则融合”则可以处理从摄像头或数字地图获得的交通标志、信号灯、人行横道等信息,并输出类似限速标准、禁止通信或先行通过等规则信息。

 

“环境模型”采用模块化设计且支持升级,可以灵活应用至从基础 SAE 1 级到先进 SAE 3 或 SAE 4 级自动驾驶系统(图4)。大多数情况下,“环境模型”的应用仅需适配传感器等少量硬件设备,即可在不同系统中进行实现。

 

“定位模块”的工作则与“环境模块”紧密相关,该模块可基于测距法、回转仪、加速表和 GPS 信号,提供非常准确的车辆位置和轨迹信息,因此也是所有基于“地理位置”功能的基础,比如路线规划和自动停车等。此外,“定位模块”还可以为车间通信、车载通话和导航等应用提供必需的位置信息。

 

“外推组件”也是“定位模块”的另一个重要组成部分,可以基于车辆的当下运动情况,预估车辆的未来位置,在一定程度上对“融合功能”等其他应用进行补充,从而避免延迟可能带来的影响。此外,系统中还有一个“电子地平线模块”,可针对前方道路,为预测性的驾驶员辅助功能提供高度准确的实时信息。这也将促进过弯超速预警、自适应弯道照明、交通标志显示、里程判断、道路跟随、节油驾驶等功能的集成,并为一些 SAE 3 级和 SAE 4 级自动驾驶功能提供更多有用信息。

 

软件框架中的各类构件,通常都是在基于多工处理控制器的车辆网络架构上工作。Elektrobit 公司 EB corbo 软件套装集成了运行多工处理控制器的所有必备元素,可以进行安全快速的高性能运算,且能提供运行环境、软件功能和一些内置安全功能。该套装专门设计了一个非常高效的管理程序,可支持多操作系统的运行,比如针对自适应应用的AUTOSAR Runtime (简称AUTOSAR Adaptive) 或 Linux 操作系统。

 

自动驾驶级别的进化及相应的标准化

 

为了促进现有系统架构中的集成,EB robinos 自动驾驶软件架构还包含一款软件工具链,可在项目的前期调研、预先设计、概念构设、实际研发和最终量产等不同研发测试阶段,轻松进行软件模块的配置和适配。

 

这种集中式功能框架支持各类以服务为导向的安全项目研发,也可以用于研发人员的培训。采用模块化功能设计,可支持 SAE 1 级到 SAE 4 级自动驾驶系统,还能在车辆功能与设计提升方面发挥明显作用。此外,值得一提的是,为了真正实现灵活集成,行业内必须形成一套通用的标准接口定义,用于软件架构中不同功能模块之间,以及与外部模块的通信与交互。

 

值得高兴的是,汽车行业已开始进行多项旨在建立明确标准化的接口定义与规格的工作。Elektrobit 公司也一直积极配合相关标准化组织的工作,长期致力于相关标准的建立。

 

软件框架的进一步推广,有助于研发人员和厂商缩短产品上市时间,推动非差异化组件的规模化处理,显著降低研发复杂度、投入和成本,从而提高品牌竞争力,在保证 SAE 5 级驾驶功能的基础上,为消费者提供更多更好的功能。

等级

打分

  • 2分
  • 4分
  • 6分
  • 8分
  • 10分

平均分