无人驾驶赛车驰骋印第安纳波利斯赛车场赛道
数字孪生和仿真是赢得 Indy 自动驾驶挑战赛的关键
在 2021 年 10 月一个阳光明媚的星期六,九辆赛车以超过 240 公里/小时(150 英里/小时)的速度疾驰在印第安纳波利斯赛车场上。但这些车上一个车手都没有。
这些赛车在全球首届高速自动驾驶汽车比赛暨 Indy 自动驾驶挑战赛 (IAC) 中展开了同场竞技。来自全球 21 所大学的 9 支团队参加了此次对抗赛。这些团队的设计都立足于相同的硬件,即 Dallara AV-21 赛车。
这款赛车的流线型底盘由意大利赛车厂商 Dallara 制造,其外观与典型的 Indy 赛车无异。车内的转向、动力总成和制动系统也都相同。但相似之处仅此而已。为了实现自动化,IAC 赛车经过了改装,配备有传感器(雷达、摄像头和激光雷达),以及运行在强大的英特尔® 和 NVIDIA® 芯片上的可编程控件。
鉴于硬件不能进行任何修改,每辆赛车的性能完全取决于控制它的算法。换而言之,当赛车飞驰在 4 公里(2.5 英里)的椭圆形赛道上时,安全地操控它是关键所在。在当天比赛结束时,来自德国慕尼黑工业大学的 TUM Autonomous Motorsport 团队以 218 公里/小时(136 英里/小时)的最快两圈均速将 100 万美元大奖收入囊中。
这支团队参与自动驾驶赛车的研究可追溯至 2017 年。当时,四名博士生为参加 Roborace 竞赛而组建了该团队。Roborace 是面向开发自动驾驶汽车的学生团队的竞赛。TUM Autonomous Motorsport 正是帮助 Roborace 测试比赛形式的两个团队之一。到 2020 年初报名参加 IAC 时,TUM 团队已经发展壮大,拥有 15 名博士生和 40 名本科生。
无论是 Roborace 还是 IAC,TUM 团队都与 Speedgoat® 进行了合作。Speedgoat 致力于开发旨在与 MATLAB® 和 Simulink® 深度融合的先进实时测试系统。通过将 Simulink 和 Speedgoat 的实时硬件结合使用来设计和仿真赛车的控制系统,TUM 团队可以在控制软件部署到车上之前做到精益求精。
“这使我们能够在要求最苛刻的场景中测试我们的软件,从具有高保真度车辆动态模型的单车排位赛圈,到多达 8 辆自动驾驶赛车竞逐的多车场景,”TUM Autonomous Motorsport 领队、博士研究生 Alexander Wischnewski 说道。“该软件使用自动代码生成技术部署在自动驾驶赛车上,并且可以与第三方软件库轻松集成。”
不容有误
赛车运动历来都是展现尖端汽车技术的舞台。IAC 也不例外。赛事组织者寻求通过为赛事开发的技术提升自动驾驶车辆在高速行驶时的安全性。
Wischnewski 表示,自动驾驶归结为四个部分。首先是使用赛车的摄像头和传感器来检测目标并感知周围环境,“观察其他赛车在赛道上的位置以及赛道边界。”其次是预测 — 旁边的赛车将有何动向。然后,赛车利用感知和预测数据来规划自己的行动。第四部分是运动控制:将行动计划转化为具体的刹车、油门和转向指令。
对于公路和赛道上行驶的无人驾驶汽车,设计这四个部分会面临不同的挑战。例如,Indy 自动驾驶赛车不必担心行人和红绿灯,但必须在以 240 公里/小时的速度行驶时安全地通过急转弯并避开其他赛车。确保这种安全性意味着要完成无数小时的艰苦仿真。
“没有犯错的余地,”Wischnewski 表示。“不能出现一次故障,因为这对车辆来说将不啻为一场灾难。最艰巨的一项挑战莫过于成功地完成验证环节。只有经过数千小时的驾驶仿真,才能在进行软件更改时,对该软件进行全面的测试,然后再将其添加到汽车上。”
在赛车驶入印第安纳波利斯赛车场参加赛道练习赛之前,该挑战赛已经开始好几个月了。各团队必须在难度级别越来越高的仿真比赛中对他们的自动驾驶赛车软件进行基准测试,从独自进行快速跑圈,到多达八辆赛车在多场预赛中竞逐的终极仿真比赛。
TUM 团队使用 Simulink 设计了他们的运动控制软件,并使用 Simulink 的代码生成功能生成了 C++ 代码。接下来是在仿真器中测试和验证软件的关键阶段。为此,他们利用了 Simulink 的车辆和环境建模功能,以便能够在逼真的虚拟环境中为自己的赛车和其他八个竞争对手的赛车精准地建模。
为了测试控制软件的实时工作情况,该团队构建了硬件在环 (HIL) 仿真器设置,将赛车和赛道环境仿真器与赛车的控制计算机连接在一起。
借助 Vehicle Dynamics Blockset™,他们开发了赛车的物理和运动模型,并使用 Simulink Real-Time™ 工具链将其部署在 Speedgoat 的高性能机器上。
“TUM IAC 团队选择了一种全面的车辆动力学建模方法。他们对参赛车辆的各个方面进行了建模,包括动力总成、悬架系统、轮胎等,”Speedgoat 技术营销主管 Christoph Hahn 表示。
Speedgoat 与 Simulink 的紧密集成使仿真尽可能地接近了真实情况。“在 MathWorks 发布新版本的当天,Speedgoat 推出了新的模块集,以确保 Speedgoat 的所有硬件仍受支持。此外,Speedgoat 提供的 I/O 模块的范围也很广。几乎支持来自各行各业的所有协议、连接器和插头。”
通过在强大的目标硬件上运行多辆汽车的数字孪生,该团队能够切实感受到汽车在不同比赛场景中的表现。然后,他们可以基于这种了解修改控制软件,以便从开发环境顺利过渡到赛道上的真实车辆。
“我们使用 Speedgoat 硬件构建的实时 HIL 仿真是我们取得成功的关键因素之一,”Wischnewski 表示。“它也使我们的方法从其他许多不依赖于实时多车仿真的方法中脱颖而出。”
从仿真到现实
实际测试始于 2021 年 6 月。那时,TUM 团队才拿到 Dallara AV-21 实车来测试他们的软件。这支来自德国的团队使用开源 Docker® 平台连接由 Simulink 生成的 C++ 代码,以将他们的应用部署到汽车的计算机上。
该团队的获胜优势源自他们在仿真阶段进行了全方位的自我挑战。
Wischnewski 表示,该团队的获胜优势源自他们在仿真阶段进行了全方位的自我挑战。“我们将 30% 的资源都投入到了仿真。为了让仿真环境尽可能逼真,我们可是费尽心机刁难彼此。我们还主动挖掘仿真中出现的故障,而不是依赖于简单的模型。”
这些努力终于在 IAC 上得到了回报。虽然 IAC 的目标是成为全球首场多车竞逐的自动驾驶比赛,但这场赛事更像是速度和安全性的双重较量:赛车每次都要绕着椭圆形赛道行驶。
TUM Autonomous Motorsport 与 PoliMOVE(视频所有权:Indy 自动驾驶挑战赛)
赛车需要驶出维修通道,依次完成一个暖胎圈、两个计时圈和一个冷胎圈;最后一圈需要绕过充气障碍物。只有四支团队能够通过计时赛。在热身赛中,来自阿拉巴马大学和米兰理工大学的 PoliMOVE 团队创下了 252 公里/小时(157 英里/小时)的最快速度,但他们的赛车在进入第二圈时撞到了墙上。
TUM Autonomous Motorsport 表现稳定,以最快的两圈平均速度稳居第一。1 月 7 日,IAC 第二轮比赛在拉斯维加斯举行。这是一场每次有两辆赛车进行正面交锋的淘汰赛。该团队在这场比赛中依然有着出色的表现。
决赛再次在 TUM 和 PoliMOVE 这两支团队之间展开。双方赛车并驾齐驱,时速都超过了 260 公里/小时。比赛进行中,一个微小的控制错误使 TUM 的赛车在 4 号弯道末端滑行到草地,让他们来到了第二名的位置。好在算法帮助赛车控制住旋转,让它安全地停了下来。
就在三天前,TUM 刚刚宣布成立 driveblocks,这是一家将为全自动驾驶汽车开发安全、可扩展平台的衍生公司。该公司将商用车辆作为首要目标,旨在实现安全可靠的自动货运。
身为公司的联合创始人兼首席技术官,Wischnewski 对于将自动驾驶汽车带到现实世界的热情依然不减,即使他已经完成了博士学位。凭借在自动驾驶赛车研究中获得的丰富经验,他如今计划将公司的愿景变为现实。