亚马逊云AWS 大模型训练自动驾驶技术
欢迎来到雲闪世界,亚马逊AWS雲服务器。经典的模块化自动驾驶系统通常由感知、预测、规划和控制组成。直到 2023 年左右,AI(人工智能)或 ML(机器学习)主要在大多数量产自动驾驶系统中增强感知,其影响力在下游组件中逐渐减弱。与规划堆栈中 AI 的低集成度形成鲜明对比的是,端到端感知系统(例如 BEV或鸟瞰感知管道)已部署在量产车辆中。
2023年之前的自动驾驶堆栈经典设计
原因有很多。与机器学习驱动的功能(可能需要几天或几周)相比,基于人工框架的传统堆栈更易于解释,并且可以更快地迭代以修复现场测试问题(数小时内)。但是,让随时可用的人类驾驶数据闲置是没有意义的。此外,增加计算能力比扩大工程团队更具可扩展性。
幸运的是,学术界和工业界都有强烈的趋势来改变这种情况。首先,下游模块越来越多地由数据驱动,并且也可以通过不同的接口集成,例如CVPR 2023 的最佳论文 UniAD中提出的接口。此外,在不断增长的生成式人工智能浪潮的推动下,单一统一的视觉-语言-动作 (VLA) 模型显示出处理复杂机器人任务(学术界的RT-2,工业界的 TeslaBot 和 1X)和自动驾驶(学术界的GAIA-1、DriveVLM和工业界的 Wayve AI 驱动程序、Tesla FSD)的巨大潜力。这将人工智能和数据驱动开发的工具集从感知堆栈带到了规划堆栈。
这篇博文旨在以速成课程的形式介绍规划堆栈的问题设置、现有方法和挑战,供感知工程师参考。作为一名感知工程师,我终于在过去几周有时间系统地学习经典规划堆栈,我想分享我学到的东西。我还将从 AI 从业者的角度分享我对 AI 如何提供帮助的看法。
本篇文章的目标读者是自动驾驶领域的人工智能从业者,特别是感知工程师。
文章有点长(11100 字),下面的目录很可能会帮助那些想要使用关键字进行快速 ctrl+F 搜索的人。
目录 (ToC) 为什么要学习规划?
什么是规划?
问题表述 规划词汇表 行为规划 弗雷内特系统与笛卡尔系统
经典工具——规划三驾马车
搜索 采样 优化 规划的行业实践 路径速度解耦规划 联合时空规划
决策是
什么以及为什么? MDP 和 POMDP 价值迭代和策略迭代 AlphaGo 和 MCTS——当网络遇到树 自动驾驶中的 MPDM(和后继者)
决策的行业实践 树 没有树
自我反思
为什么在规划中使用 NN? 那么 e2e NN 规划器呢? 我们可以不用预测吗? 我们可以只用网络而不用树吗? 我们可以使用 LLM 进行决策吗?
进化趋势
为什么要学习规划?
这就给我们带来了一个有趣的问题:在人工智能时代,为什么要学习规划,特别是经典的堆栈?
从解决问题的角度来看,更好地了解客户的挑战将使您作为感知工程师能够更有效地为下游客户提供服务,即使您的主要重点仍然放在感知工作上。
机器学习是一种工具,而不是解决方案。解决问题的最有效方法是将新工具与领域知识相结合,尤其是那些具有坚实数学公式的工具。受领域知识启发的学习方法可能更具有数据效率。随着规划从基于规则的系统过渡到基于机器学习的系统,即使早期的原型和端到端系统产品已经面世,仍然需要能够深入了解规划和机器学习基础知识的工程师。尽管发生了这些变化,但经典方法和学习方法可能会在相当长的一段时间内继续共存,也许会从 8:2 转变为 2:8 的比例。对于在这个领域工作的工程师来说,了解这两个世界几乎是必不可少的。
从价值驱动开发的角度来看,了解传统方法的局限性至关重要。这种洞察力使您能够有效地利用新的 ML 工具来设计一个解决当前问题并产生直接影响的系统。
此外,规划是所有自动驾驶代理的关键部分,而不仅仅是自动驾驶。了解规划是什么以及它如何工作将使更多的机器学习人才能够研究这个令人兴奋的主题,并为真正自主的代理的开发做出贡献,无论是汽车还是其他形式的自动化。
什么是规划?
问题表述
作为自动驾驶汽车的“大脑”,规划系统对于车辆的安全高效行驶至关重要。规划器的目标是生成安全、舒适、高效的轨迹,以达到目标。换句话说,安全性、舒适性和效率是规划的三个关键目标。
作为规划系统的输入,所有感知输出都是必需的,包括静态道路结构、动态道路代理、占用网络产生的自由空间以及交通等待条件。规划系统还必须通过监测加速度和抖动来确保车辆舒适度,以实现平稳轨迹,同时考虑交互和交通礼仪。
规划系统以一系列航点的形式生成轨迹,供自主车辆的低级控制器跟踪。具体来说,这些航点代表自主车辆在一系列固定时间戳的未来位置。例如,每个点可能相隔 0.4 秒,覆盖 8 秒的规划范围,总共有 20 个航点。
经典的规划堆栈大致包括全局路线规划、局部行为规划和局部轨迹规划。全局路线规划在全球地图上提供从起点到终点的道路级路径。局部行为规划决定接下来几秒钟的语义驾驶行为类型(例如跟车、轻推、侧行、让行和超车)。根据行为规划模块确定的行为类型,局部轨迹规划生成短期轨迹。全局路线规划通常在设置导航后由地图服务提供,这超出了本文的讨论范围。从现在开始,我们将重点关注行为规划和轨迹规划。
行为规划和轨迹生成可以明确地协同工作,也可以组合成一个过程。在显式方法中,行为规划和轨迹生成是在分层框架内运行的不同过程,工作频率不同,行为规划为 1-5 Hz,轨迹规划为 10-20 Hz。尽管在大多数情况下效率很高,但适应不同的场景可能需要进行重大修改和微调。更先进的规划系统将两者组合成一个优化问题。这种方法确保了可行性和最优性,没有任何妥协。
规划设计方法分类(aws雲服务器、GCP谷歌云服务协助完成)
规划术语
您可能已经注意到,上一节中使用的术语与图片并不完全一致。没有每个人都使用的标准术语。无论是在学术界还是在工业界,工程师使用不同的名称来指代同一概念,使用相同的名称来指代不同的概念的情况并不少见。这表明自动驾驶中的规划仍处于积极发展阶段,尚未完全融合。
在这里,我列出了这篇文章中使用的符号并简要解释了文献中出现的其他概念。
-
规划:与控制并行的顶级概念,用于生成轨迹航点。规划和控制统称为 PnC(规划和控制)。
-
控制:一个顶级概念,它接收轨迹航点并生成高频转向、油门和制动命令以供执行器执行。与其他领域相比,控制相对成熟,超出了本文的讨论范围,尽管 PnC 的概念很常见。
-
预测:一个顶级概念,用于预测除自车以外的交通代理的未来轨迹。预测可以被视为其他代理的轻量级规划器,也称为运动预测。
-
行为规划:产生高级语义动作(例如变道、超车)并通常生成粗略轨迹的模块。它也被称为任务规划或决策,特别是在交互环境中。
-
运动规划:一个模块,它采用语义动作并在规划范围的持续时间内产生平滑、可行的轨迹航点,以便控制执行。它也被称为轨迹规划。
-
轨迹规划:运动规划的另一个术语。
-
决策:以交互为重点的行为规划。如果没有自我代理交互,则简称为行为规划。它也被称为战术决策。
-
路线规划:寻找道路网络中的首选路线,也称为任务规划。
-
基于模型的方法:在规划中,这指的是传统规划堆栈中使用的手工制作的框架,而不是神经网络模型。基于模型的方法与基于学习的方法形成对比。
-
多模态性:在规划的背景下,这通常指多个意图。这与感知的多模态传感器输入或多模态大型语言模型(如 VLM 或 VLA)背景下的多模态性形成对比。
-
参考线:基于全局路线信息和本车辆的当前状态的局部(几百米)粗略路径。
-
Frenet 坐标:基于参考线的坐标系。Frenet 将笛卡尔坐标中的曲线路径简化为直线隧道模型。有关更详细的介绍,请参阅下文。
-
轨迹:三维时空曲线,在笛卡尔坐标中为 (x, y, t),在弗雷内特坐标中为 (s, l, t)。轨迹由路径和速度组成。
-
路径:二维空间曲线,在笛卡尔坐标中为(x,y),在弗雷内坐标中为(s,l)。
-
语义动作:具有明确人类意图的动作(例如跟车、轻推、侧行、让行、超车)的高级抽象。也称为意图、策略、操作或原始动作。
-
动作:没有固定含义的术语。它可以指控制的输出(执行器执行的高频转向、油门和刹车命令),也可以指规划的输出(轨迹航点)。语义动作是指行为预测的输出。
不同的文献可能使用不同的符号和概念。以下是一些示例:
-
决策系统:有时也包括规划和控制。(来源:自动驾驶城市车辆的运动规划和控制技术调查和BEVGPT)
-
运动规划:有时是顶层规划概念,包括行为规划和轨迹规划。(来源:利用流体动力学实现自动驾驶汽车的通用运动规划)。
-
规划:有时包括行为规划、运动规划,也包括路线规划。
这些变化说明了术语的多样性和该领域的不断发展的性质。
行为规划
作为一名机器学习工程师,你可能会注意到行为规划模块是一个大量手工制作的中间模块。其输出的具体形式和内容尚无共识。具体来说,行为规划的输出可以是自我操作的参考路径或对象标签(例如从左侧或右侧通过,通过或让行)。“语义动作”一词没有严格的定义,也没有固定的方法。
行为规划和运动规划的分离提高了解决自动驾驶汽车极高维动作空间的效率。自动驾驶汽车的动作通常需要以 10 Hz 或更高的频率进行推理(以航路点为时间分辨率),并且大多数这些动作都相对简单,例如直行。分离后,行为规划层只需要以相对粗略的分辨率推理未来场景,而运动规划层则根据行为规划做出的决策在局部解空间中运行。行为规划的另一个好处是将非凸优化转化为凸优化,我们将在下文进一步讨论。
弗雷奈特系统与笛卡尔系统
Frenet 坐标系是一种广泛采用的系统,值得专门介绍一下。Frenet 框架通过独立管理相对于参考路径的横向和纵向运动来简化轨迹规划。sss 坐标表示纵向位移(沿道路的距离),而 lll(或 ddd)坐标表示横向位移(相对于参考路径的侧面位置)。
Frenet 将笛卡尔坐标系中的弯曲路径简化为直线隧道模型。这种转换将弯曲道路上的非线性道路边界约束转换为线性约束,大大简化了后续的优化问题。此外,人类对纵向和横向运动的感知不同,Frenet 框架允许对这些运动进行单独且更灵活的优化。
笛卡尔框架到 Frenet 框架的转换示意图(来源:Cartesian Planner)
Frenet 坐标系要求道路图形整洁、结构化且曲率低。实际上,它更适用于曲率较小的结构化道路,例如高速公路或城市快速路。然而,Frenet 坐标系的问题会随着参考线曲率的增加而加剧,因此在曲率较大的结构化道路上应谨慎使用,例如