2022年MathWoRks中国汽车年会于2022年8月2日至11日在线举行,活动内容涵盖近30场技术演讲及3场专题实践活动,涉及车载软件、自动驾驶、虚拟车辆和人工智能等多个领域。

在20世纪七八十年代,电控系统逐渐被应用于汽车领域,软件显著提升了硬件性能,这标志着行业首次数字化转型。此过程面临多项挑战,例如设计阶段各方利益相关者难以有效评审,实施阶段发现错误过晚导致修复成本高昂,以及汽车工程师对软件开发的不熟悉。在此背景下,基于模型的方法应运而生,通过建模和仿真实现设计的可执行性和易理解性,系统化的测试可提前发现问题,而自动代码生成技术则解放了工程师的手,免去手动编写代码的繁琐。

随着社会对清洁和交通安全的期望不断提高,互联网和移动数字体验深入人心,公众希望出行方式能够保持这种体验的连续性。在此背景下,行业迎来了以电动化、智能化和网联化为特征的第二次数字化转型,软件在这一过程中承担了前所未有的创新角色,进而催生了“软件定义汽车”的概念。

这一转型对组织架构和开发体系产生了颠覆性影响,企业需提升虚拟化开发的比例,重构供应链体系,并加强员工的知识和技能培训。在软件开发体系方面,面对算力集中化,如何优化系统和软件架构?如何构建人工智能算法的开发与集成能力?如何将素质能力与工程能力结合,建立虚拟化的开发流程?

系统工程能力能够推动软件创新及系统级优化,而软件工厂的能力则确保持续快速交付高质量的软件产品。数据驱动的能力则将人工智能算法整合进软件中。虚拟车辆的能力则是将以上三者进行整合,助力引入虚拟原型、虚拟集成和虚拟验证的概念。

具体而言,系统工程是解决复杂多学科系统设计的流程。复杂系统开发常面临多重约束,如功能和性能的期望、成本预算和进度要求等。在软件定义汽车时代,车辆系统不仅涉及机械电子控制,还引入了计算机视觉、信号处理、传感器融合和路径规划等新学科。这些新功能的出现为车辆设计带来了更多可能性。

在第一次数字化转型中,基于模型的设计方法发挥了重要作用。那么,基于模型的设计与基于模型的系统工程之间有什么联系呢?基于模型的设计侧重于软件,而基于模型的系统工程则关注在软件开发之前的阶段,以市场需求、客户需求和法律法规作为输入,通过场景分析推导出系统应具备的功能,进行架构设计和功能分配,从而形成软件设计需求和硬件接口规范,随后进入基于模型的设计阶段。

软件工厂的核心目标是持续交付高质量的软件产品,除了软件本身,还包括文档、报告和工件等输出。对于回归测试、度量统计和报告生成等高频任务也应实现自动化。同时,在尚未自动化的流程阶段,需尽量识别并填补标准规范的空白。因此,关键问题在于:何时在软件工厂引入高频任务并实现自动化?

基于模型设计的典型流程为:首先导入设计需求,创建软件架构,使用图形化建模替代传统文档设计规范,以便更易理解和仿真。随着设计细节逐渐融入可执行规范,我们可以生成用于产品和代码生成的模型。

经过仿真测试后,这样的模型能够生成代码并编译下载到目标硬件中执行。在这一流程中,仿真是关键,填补了需求验证的空白,但仅此还不够。对于安全关键应用的高质量软件,需采用更严格的方法进行补充验证,包括建立需求与软件架构之间的追溯关系,对可执行规范的模型进行评审和静态分析,对生成的代码进行背靠背测试,最终在单元级验证完成后进行软件集成测试。

数据驱动的首要任务是集成人工智能算法,并增强原有系统。这其中面临一些挑战:如何将AI与现有技术集成?如何解决原始数据的复杂性和质量问题?现有人员如何提升人工智能算法开发技能?对于具体组织来说,数据驱动成功的标志是能交付基于AI的产品和服务。因此,数据驱动需面对的问题是企业如何将真实系统与AI连接?如何实现数据科学家与工程师的有效协作?

对此,MathWoRks建议工程师与数据科学家将AI整合进整个系统设计流程中,主要分为四个阶段:数据准备、算法建模、仿真测试和算法部署。
在数据准备阶段,清洗和预处理数据至关重要。如果数据不足,可以通过仿真生成。在这一阶段,具备专业知识的工程师是处理数据的最佳人选。
在模型设计与调试阶段,自动化训练步骤可提供可视化的方法来理解和编辑深度学习网络。同时,可借助特定平台加速训练,实现与主流AI网络的互联互通。算法开发完成后,应将其整合入更大系统中进行仿真测试,以确保基于AI的感知、定位、路径规划和控制算法的协同。
在最后的算法部署阶段,AI算法应采用自动代码生成技术,以消除手动编码的错误,并通过灵活配置实现从嵌入式到企业系统或云端的多种平台的灵活部署。这一端到端的工作流是实现数据驱动落地的基础。

虚拟车辆允许功能设计者在几分钟内以适当细节集成系统、软件与数据,创建用于功能仿真的虚拟车辆,开展原型设计、虚拟标定和虚拟验证。虚拟车辆的核心是仿真集成平台,该平台应具备丰富的开箱即用功能,并保持接口开放性,以便进行定制扩展,通过集成仿真实现最大程度的流程前置。
