汽车设计的创新是一种持续的驱动力,每代汽车都会出现新的特性和性能。在不断发展的汽车技术环境中,雷诺率先采用面向服务架构 (SOA) 来满足现代车辆系统的需求。这种架构方法代表了从传统框架到模块化、灵活设计的根本转变。灵活性对于集成自动驾驶等复杂功能至关重要。
SOA 允许将汽车系统分解为通过网络进行通信的单个服务,从而实现更具可扩展性和可重用的组件。这一点尤为重要,因为车辆变得越来越像“轮子上的计算机”,需要快速的开发周期和更大的灵活性来纳入新技术或更新,而无需彻底改造整个系统。
现代汽车系统日益复杂,拥有众多必须协同运行的传感器和执行器,这推动了雷诺向 SOA 的转型。采用 SOA 允许雷诺独立开发和测试不同的车辆部件,同时仍确保它们无缝协作。
从 SWU 到车辆 SOA 应用:该应用程序包含一个或多个 SWU 和客户端呼叫者。
汽车设计机器人工具
为了促进这一转变,雷诺开发了一个系统,可以在硬件上实现任何东西之前进行快速、独立的测试和原型设计。Simulink® 产品帮助雷诺简化了其与软件部门的工作并将其组合成完整的应用程序,同时考虑转向基于 SOA 的未来。
雷诺采用 ROS Toolbox 和 Simulink 等集成先进开发工具来满足这一工程需求。机器人操作系统 (ROS) 传统上与机器人技术相关,它提供了一个支持自动驾驶汽车开发的强大框架,包括允许各种软件组件之间进行有效通信的中间件功能。
这种集成可以实现高效的原型设计,尤其是在高级驾驶辅助系统 (ADAS) 测试程序中。Simulink 是雷诺工作流程中至关重要的集成工具,将基于软件的设计与基于模型的设计连接起来。ROS Toolbox 与 Simulink 的使用使雷诺能够将 ROS 作为高效原型设计的中间件,特别是在增强其 ADAS 测试程序方面。
由 Pierre Muratory 领导的集成团队专注于将 Simulink 模型部署到各种目标上,包括基于 ROS 的原型平台和生产 AUTOSAR 平台,后者是车辆软件架构的全球标准。团队进行持续集成和持续开发 (CI/CD),每当做出更改时就会自动更新每个目标的管道。
Muratory 表示:“对于开发人员来说,使用 Simulink 的优势在于它完全不受平台和目标的影响。我们使用 Simulink 作为跨平台工具,将 Simulink 模型中的相同代码源部署到不同的平台上。”
这种由 Simulink、软件工厂、CI/CD 管道和自动跨平台 ROS 代码生成支持的集成流程使雷诺能够从开发人员的模型发布快速过渡到运行用于车辆原型设计和测试的集成代码。
Muratory 表示:“使用 Simulink 和 ROS Toolbox 的持续集成流程使我们能够在不到一个小时的时间内从开发人员的发布到原型设计并在真实目标上进行部署。”
将周期时间从几天或几周显著缩短至仅仅一小时,对于雷诺的 ADAS 原型设计和早期功能验证工作来说具有重大改变。这一加速过程由 Muratory 集成团队自动生成的代码实现,使工程师能够快速启动 ROS 节点,以便在生产推出之前测试尖端功能。Pascal Bedouet 领导的团队充分利用了这种灵活性,专注于利用 ROS 基础设施实现高级通信和 ADAS 原型设计。
使用 ROS 框架进行 ADAS 原型设计。
采用 ROS 允许开发人员轻松地将开发人员 Simulink 模型与测试车辆集成。ROS 架构也与 SOA 原则非常契合,这使得雷诺能够在进行生产部署之前在 ROS 上测试未来面向服务的软件设计。在 ROS 框架上进行的测试可以确保其基于分布式服务的架构将在即将推出的 SOA 车辆平台上按预期运行。
利用 ROS 增强沟通
雷诺也采用了 ROS 2。它是 ROS 的升级版本,支持 ROS 的非营利组织 Open Robotics 计划在不久的将来停止对其的支持。ROS 2 为汽车设计提供了显著的优势。它支持对于自动驾驶功能至关重要的实时操作,并包含先进的中间件功能,有助于在车辆的互连系统之间实现更可靠的数据分发,这是早期版本的 ROS 无法实现的。
Bedouet 表示:“现在有了 ROS 2 和 DDS(数据分发服务)等新中间件,我们今天就能够达到并满足实时性能。”
MathWorks 为雷诺的转型提供了支持,包括与工程团队密切合作,将工具箱中的功能整合到 SOA 中。其中包括为系统的不同组件创建更多自定义消息、设计 Simulink ROS 2 服务器块以及满足雷诺的特定实时要求。通过与 MathWorks 的密切合作,雷诺克服了这些挑战,并且没有造成重大延误。
Muratory 表示:“采用 SOA 对雷诺来说是一项战略举措,而 Simulink 对 ROS 2 服务服务器的关键支持对于推进我们的 SOA 应用起到了重要作用。”
雷诺的反馈有助于指导 MathWorks 对 ROS Toolbox 的更新,这将使其他客户受益。MathWorks 机器人产品经理 YJ Lim 表示,这一点尤为重要,因为越来越多的汽车公司开始使用 ROS 2 进行 ADAS 开发。
具有发布者、订阅者和服务的 SOA 系统,用于使用 ROS 2 测试 ADAS 系统。(图片所有权:雷诺)
Lim 说道:“这不仅仅是雷诺的问题。这确实会帮助其他汽车团队。”
使用 ROS Toolbox 简化开发
Simulink 与 ROS Toolbox 结合使用的一个核心优势是开发人员可以专注于他们的算法,而不必处理集成细节或 ROS 框架的细节。通过雷诺集成团队使用 MATLAB® 和 Simulink 设置的持续集成工作流程,包含其设计的 Simulink 模型会自动转换为不同目标的可部署代码。
雷诺的尖端汽车软件考虑到所涉及的规模和复杂性,经常突破模拟的极限,一些模型每 10 毫秒更新一次超过 300,000 个 Simulink 信号。当遇到工具限制或性能瓶颈时,与 MathWorks 产品工程师建立直接的工作关系的能力对于找到解决方案至关重要。
Bedouet 表示:“我们确实正在开发一款大型应用程序。如果它对我们有用,那么它应该对世界上几乎所有人都有效。”
集成的 Simulink-ROS 解决方案还将使雷诺实现更高的汽车安全完整性等级 (ASIL),这是针对汽车功能安全的严格安全认证。Bedouet 设想未来与 MathWorks 合作满足这一需求以及其他不断发展的行业需求,包括 ASIL 认证。
Bedouet 表示:“获得 ASIL 等安全认证将会非常棒,如果没有经过认证的中间件,我们就无法做到这一点。”
通过率先将 SOA 原则与 ROS 框架以及使用Simulink 的基于模型的设计相结合,雷诺正在成为未来智能汽车模块化、可更新、功能丰富且经过安全认证的汽车软件系统的行业领导者。
Bedouet 表示:“MathWorks 团队的支持对我们提前部署和测试下一代 ADAS 功能起到了重要作用。这种灵活性是我们成功为车辆引入新功能的基石。”
联网汽车驾驶舱和通信网络概念。
来源:MATLAB