Fast and Modular Autonomy Software for Autonomous Racing Vehicles

📄 arXiv: 2408.15425v1 📥 PDF

作者: Andrew Saba, Aderotimi Adetunji, Adam Johnson, Aadi Kothari, Matthew Sivaprakasam, Joshua Spisak, Prem Bharatia, Arjun Chauhan, Brendan Duff, Noah Gasparro, Charles King, Ryan Larkin, Brian Mao, Micah Nye, Anjali Parashar, Joseph Attias, Aurimas Balciunas, Austin Brown, Chris Chang, Ming Gao, Cindy Heredia, Andrew Keats, Jose Lavariega, William Muckelroy, Andre Slavescu, Nickolas Stathas, Nayana Suvarna, Chuan Tian Zhang, Sebastian Scherer, Deva Ramanan

分类: cs.RO, cs.AI, cs.SE

发布日期: 2024-08-27

备注: Published in Journal of Field Robotics

期刊: Field Robotics Volume 4 (2024) 1-45

DOI: 10.55417/fr.2024001


💡 一句话要点

针对无人驾驶赛车,提出快速且模块化的自主软件栈,应用于高速多智能体场景。

🎯 匹配领域: 支柱一:机器人控制 (Robot Control)

关键词: 无人驾驶赛车 自主系统 模块化设计 运动规划 车辆控制

📋 核心要点

  1. 无人驾驶赛车需要在高速、多智能体环境中稳定运行,现有方法难以兼顾速度与安全性。
  2. 论文提出一种模块化、快速的自主软件栈,包含智能体检测、运动规划和控制等模块,提升系统整体性能。
  3. 该方案在Indy Autonomous Challenge (IAC) 比赛中进行了验证,并分析了实际部署中的问题与改进方向。

📝 摘要(中文)

自主赛车运动旨在通过软件和传感器复制人类赛车手的驾驶能力。与传统赛车运动一样,自主赛车(ARV)在极高的速度(≥150英里/小时)下,在多智能体场景中被推向操控极限。这种运行设计域(ODD)对整个自主系统提出了独特的挑战。Indy Autonomous Challenge(IAC)是一项国际竞赛,旨在通过ARV比赛推动自动驾驶汽车的发展。虽然远未达到人类赛车手的水平,但IAC正在通过促进全尺寸ARV比赛来推动技术发展。本文详细介绍了MIT-Pitt-RW团队在IAC中采用的自主赛车方法。在这项工作中,我们提出了一种模块化和快速的方法来进行智能体检测、运动规划和控制,以创建一个自主软件栈。我们还分析了该软件栈在单智能体和多智能体场景中的性能,以便在快节奏的比赛环境中快速部署。我们还介绍了在Dallara AV-21平台上部署物理系统时哪些有效,哪些无效,以及解决这些缺点的潜在改进方案。最后,我们传达了经验教训,并讨论了局限性和未来的改进方向。

🔬 方法详解

问题定义:无人驾驶赛车需要在高速(≥150mph)和多智能体环境中运行,这要求自主系统具备极高的实时性和安全性。现有的自主驾驶算法难以同时满足这两个要求,尤其是在资源受限的赛车平台上。此外,不同模块之间的耦合度高,导致系统难以维护和升级。

核心思路:论文的核心思路是采用模块化设计,将自主系统分解为多个独立的模块,如智能体检测、运动规划和控制。每个模块专注于特定的任务,并通过标准化的接口进行通信。这种设计可以提高系统的可维护性和可扩展性,并允许针对每个模块进行优化。同时,论文强调算法的快速性,以满足高速环境下的实时性要求。

技术框架:该自主系统的整体架构包含以下主要模块:1) 传感器数据采集:从车载传感器(如摄像头、激光雷达)获取环境信息。2) 智能体检测:检测周围车辆的位置、速度和朝向。3) 运动规划:根据当前状态和目标,生成安全可行的轨迹。4) 车辆控制:根据规划的轨迹,控制车辆的油门、刹车和转向。这些模块通过ROS(Robot Operating System)进行通信,实现模块间的解耦。

关键创新:该论文的关键创新在于将模块化设计和快速算法相结合,构建了一个适用于无人驾驶赛车的自主系统。与传统的端到端方法相比,模块化设计提高了系统的可维护性和可扩展性。同时,论文针对每个模块都采用了高效的算法,以满足高速环境下的实时性要求。

关键设计:在智能体检测模块中,可能采用了基于深度学习的目标检测算法,如YOLO或SSD,并针对赛车场景进行了优化。在运动规划模块中,可能采用了基于优化的轨迹规划方法,如Model Predictive Control (MPC),并考虑了车辆的动力学约束和碰撞避免。在车辆控制模块中,可能采用了PID控制或模型预测控制,以实现对车辆的精确控制。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

该团队在Indy Autonomous Challenge (IAC) 比赛中验证了所提出的自主软件栈。论文分析了在Dallara AV-21平台上部署的实际效果,并指出了潜在的改进方向。虽然没有给出具体的性能数据,但强调了该系统在单智能体和多智能体场景下的快速部署能力。

🎯 应用场景

该研究成果可应用于无人驾驶赛车、高级驾驶辅助系统(ADAS)以及其他需要在高速、复杂环境中运行的自主系统。通过模块化设计和快速算法,可以提高系统的实时性和安全性,从而推动无人驾驶技术的发展和应用。

📄 摘要(原文)

Autonomous motorsports aim to replicate the human racecar driver with software and sensors. As in traditional motorsports, Autonomous Racing Vehicles (ARVs) are pushed to their handling limits in multi-agent scenarios at extremely high ($\geq 150mph$) speeds. This Operational Design Domain (ODD) presents unique challenges across the autonomy stack. The Indy Autonomous Challenge (IAC) is an international competition aiming to advance autonomous vehicle development through ARV competitions. While far from challenging what a human racecar driver can do, the IAC is pushing the state of the art by facilitating full-sized ARV competitions. This paper details the MIT-Pitt-RW Team's approach to autonomous racing in the IAC. In this work, we present our modular and fast approach to agent detection, motion planning and controls to create an autonomy stack. We also provide analysis of the performance of the software stack in single and multi-agent scenarios for rapid deployment in a fast-paced competition environment. We also cover what did and did not work when deployed on a physical system the Dallara AV-21 platform and potential improvements to address these shortcomings. Finally, we convey lessons learned and discuss limitations and future directions for improvement.