从软件赋能到软件定义——智能网联汽车开发的转型

除了芯片外,智能网联汽车产业还面临着其他的机遇和挑战。作为与智慧城市、智能交通、智慧能源跨界融合的关键节点,整个行业正围绕软件定义汽车这个主题重新审视汽车的开发。

本文来自数字经济杂志,作者/周斌MathWorks公司中国区汽车行业专家。

除了芯片外,智能网联汽车产业还面临着其他的机遇和挑战。作为与智慧城市、智能交通、智慧能源跨界融合的关键节点,整个行业正围绕软件定义汽车这个主题重新审视汽车的开发。本土汽车供应商,汽车芯片公司都需要努力拥抱汽车行业合作创新的大环境,融入到全球汽车行业的研发体系当中去,从而站在新的高度与同行展开竞争。

回顾一下汽车行业的历史,从上个世纪七八十年代电控系统开始逐步应用到车辆,到如今一辆典型的中高端车型上有50个以上的ECU,覆盖了从驱动到底盘、车身、辅助驾驶、信息娱乐等各个系统。在这个阶段软件大大提升了硬件的能力,可以看作行业的第一次数字化转型。

而随着社会对交通清洁和安全的期望进一步提升,以及互联网和移动数字体验的深入人心,公众希望在出行方式上保持这种体验的连续性。在这样的背景下,行业迎来了以电动化、智能化、共享化和网联化为标志的第二次数字转型。其中软件承担了前所未有的技术创新重任,软件定义汽车也得到了业界的广泛认可。与此同时,中国智能网联汽车成功经历了第一阶段的电动化,即将迈进第二阶段的智能化。而作为核心硬件,智能网联汽车的发展肯定离不开汽车芯片的研发。

现在国内对芯片包括汽车芯片的研发高度重视,也受到了资本的广泛关注,中国芯正迎来黄金时代。目前国产汽车芯片主要聚焦在高性能AI芯片、座舱芯片、域控制器、车载微控制器以及新能源功率芯片等几个方面。许多芯片厂商也正在积极努力通过严苛的车规级认证标准,以期进入汽车供应链。但我们也看到国产汽车芯片企业有待提高的一些地方,比如:第一,对芯片配套的底层软件的可靠性和功能安全性的关注不足。所有芯片都需要附带底层软件才能让客户真正使用起来。如驱动、AUTOSAR底层软件包、CPU自我安全检测程序等。当然,也有走在前面的公司,MathWorks已经和部分国内芯片制造商有合作项目,用形式化检查工具验证微控制器底层软件。第二,芯片内部的核心算法的研发并不多见。智能网联汽车需要许多新的芯片,比如毫米波雷达芯片、激光雷达芯片、摄像头处理芯片、车联网通信芯片、电机控制芯片。除了通用计算单元,这些芯片还需要在内部集成通信、图像、雷达等信号处理和电机控制等算法模块,以提高计算性能,降低功耗和成本。这些算法在研发过程中也要满足汽车功能的安全标准,才能最终硬化为芯片的一部分。在这方面MathWorks有很多经验,比如NXP在雷达芯片的算法开发过程中借助MathWorks测试验证套件在早期发现设计缺陷。第三,芯片公司与汽车公司之间缺乏共同语言。MathWorks收到很多国内芯片公司求助,希望用基于模型的设计方法开发应用示例给汽车客户,比如新能源车电机控制、自动驾驶路径规划控制等等。这种现象全球范围内都在普遍发生,智能网联汽车把整车厂和芯片公司拉近到了前所未有的近距离,有人戏称芯片公司现在已经是整车厂的一级供应商了。MathWorks公司在汽车和半导体这两个领域都有着丰富的经验,十分愿意帮助双方搭建沟通的桥梁。

除了芯片外,智能网联汽车产业还面临着其他的机遇和挑战。作为与智慧城市、智能交通、智慧能源跨界融合的关键节点及其产业生态重构的重大机遇,整个行业正围绕软件定义汽车这个主题重新审视汽车的开发。本土汽车供应商、汽车芯片公司都需要努力拥抱汽车行业合作创新的大环境,融入到全球汽车行业的研发体系当中去,从而站在和跨国芯片公司同样的高度去竞争。

通过与汽车客户的密切合作,MathWorks看到了诸多关键挑战,譬如如何优化系统和软件的架构?如何将数字能力和工程能力结合构筑虚拟化的开发流程等。为了应对这些挑战,MathWorks围绕系统、软件和数据,仍在不断提升相应的产品和平台,帮助本土企业加速四个重要能力的发展。第一,系统工程:Simulink从集成仿真平台拓展到系统工程平台,应对多学科多领域复杂系统设计,构建系统和软件架构模型,开展分析和权衡,实现早期需求验证。第二,软件工厂:基于模型设计可以与软件工厂协同发展,对接持续集成环境实现可配置可复用软件、高效自动化流程,满足快速开发迭代和可靠质量安全。第三,数据驱动:MATLAB的AI开发能力以面向工程和端到端的工作流为核心,助力机器学习和深度学习等人工智能算法的工程应用,充分挖掘车队数据和工程数据创造新价值。第四,虚拟车辆:围绕通用的工作流,Simulink提供了强大的平台。而且该平台非常灵活,可根据需求进行方案定制,利用构建的虚拟车辆早期集成软件算法,实现车辆完整功能行为的仿真,从而开展原型设计、虚拟标定和虚拟验证。

软件的重要性毋庸置疑,甚至业内有预测——未来车辆的价值将主要由软件功能和软件服务来定义。特斯拉自动驾驶的不断迭代及其订阅服务的成功,不仅引领了汽车开发和业务模式的创新,也让自动驾驶备受关注,成为炙手可热的应用研发领域。

自动驾驶涵盖了广泛的自动化水平,从高级驾驶辅助系统(ADAS)到全自动驾驶(AD)。随着自动驾驶级别不断升高,功能复杂度和场景数量急剧增加,但运行的限制越来越少,测试要求越来越高,这使得在虚拟世界中进行场景仿真的需求变得愈发重要。开发这些自动驾驶应用需要掌握多领域技能,从规划与控制到检测、定位、跟踪和融合等感知领域的技能,特别是在一个可以为日益复杂的软件提供设计、验证和部署支持的环境中。但这样的工作往往在实际的工程研发中十分困难和耗时,需要强有力的工具支持才能实现。这正是MathWorks所开发的MATLAB、Simulink、RoadRunner等平台的价值所在。

仿真虚拟世界

对于自动驾驶仿真,首先需要创建能够反映现实世界的场景。Driving Scenario Designer驾驶场景设计器工具可用于编辑ADAS和自动驾驶的测试场景,获得一个由MATLAB绘图工具生成的含道路、车辆的轻量级显示界面,同时也可以编写MATLAB代码来创建测试场景。这个工具支持一系列地图格式的导入,内部也提供了很多预先创建好的NCAP法规场景,用于一系列ADAS功能的标准化测试。导出的数据文件可直接由Simulink模型读取,直接运行仿真。也可以导出OpenDRIVE和OpenSCENARIO文件,在其他自动驾驶仿真软件中运行仿真。除此之外,也可以使用RoadRunner及其系列产品为自动驾驶仿真创建高保真的3D动态场景。

扩充面向实际道路的测试场景是验证ADAS和自动驾驶的重要课题。一个典型的驾驶场景由道路和交通参与者组成,测试工程师可以从地图数据导入道路,根据已有的知识人工编辑交通参与者,然后通过参数化的方法批量生成场景的变种。也可以采用记录的实车数据,将实际场景中的交通参与者添加到虚拟的道路上。自动驾驶测试场景库通常是两者的结合。

使用MATLAB可完成从记录的实车数据合成驾驶场景的完整流程,包括从OpenDRIVE、OpenStreetMap、HERE HD Map等导入路网,基于GPS和车道线信息等添加自行车,基于毫米波雷达或激光雷达目标列表添加其他车辆,将虚拟场景与参考视频进行对比。福特汽车和通用汽车等用户都建立了类似流程,分析和仿真来自实车数据的驾驶场景,验证各自的ADAS和自动驾驶系统。

培养多领域技能

在ADAS/AD应用中,不仅要有检测目标(行人、车辆、停车标志)的感知系统,该系统还必须与其他系统相集成,以进行定位、路径规划、控制等。开发这种复杂的系统需要多领域技能等等,如自适应巡航控制、自动紧急制动。

以高速公路变道为例。开发此功能的工作流包括:在立方体世界中合成场景,设计规划器,使用MPC设计控制,车辆动力学建模,以及最后可视化结果以通过仿真深入。另一个示例是自动泊车服务。开发此功能的工作流将引导客户从路径规划开始,直到轨迹生成,再到车辆控制。这方面的其他示例包括使用非线性MPC的轨迹生成和跟踪,以及用于使用强化学习的自动搜索和泊车任务的控制器。

交付ADAS/AD软件

在部署到产品之前,通过仿真和准确性测试来验证模型是否正常工作,以及多个系统构成的系统内所有成员能否良好地协同工作是至关重要的。要在部署前实现上述程度的准确性和稳健性,工程师必须确保系统在任何情况下都能以预期方式作出响应。在此阶段应提出的问题包括:第一,每个算法/功能的整体性能如何?第二,系统的整体性能如何?第三,它在每种场景下的表现是否均符合预期?第四,模型是否已涵盖各种边缘情形?

一旦算法在功能上是正确的,就需要将其实现为嵌入式软件。在生成代码之前,可以将设定添加到模型中,以确保仿真模型和实现的代码在整个开发过程中保持功能上的一致。以最终实现这些算法所用的语言来准备它们。指定的硬件环境可以是桌面端、云、边缘或深度嵌入式设备。实现的灵活性使得工程师有充分的回旋余地在各种环境中部署算法,而无需重写原始代码。

工程师可以将算法部署为独立可执行文件(包括Web App)或用于面向服务的架构(ROS、AUTOSAR)和实时硬件(CPU、GPU、FPGA)的代码(用于GPU、HDL的C、C++、CUDA代码)。通过这些部署途径,可以与150多个工具接口进行集成,还可以与CAN、FMI/FMU、Python和ONNX进行集成。此外,工具还需要适合通用软件开发工作流,例如持续集成、自动化测试、代码分析和ISO 26262。

因此,作为行业可靠的合作伙伴,MathWorks将始终致力于为整车企业和供应商提供不断完善、持续迭代的软件工具、产品支持和解决方案,助力智能网联汽车产业行业创造新的价值驱动力。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论