跳转至

时空联合规划专题 · 总论与导读

所属:移动机器人规控方向 · 经典规控范式横切专题层(第四层)· 专题三定位:本文是整个"时空联合规划"专题(T1–T6 六章 + 综合对比附录)的**总论与导读**——它不讲具体算法,而是回答四个先于一切的问题:这个专题到底在解决什么问题?它为什么值得花 3–4 个月系统学?六章是怎么串成一条线的?你该带着什么样的"地图"进入后面的章节? 文档类型:专题导论(综述/导读性质,几乎无代码)。 怎么用这篇导论:第一次接触本专题时通读一遍,建立全局地图;学每一章前回看对应段落,确认"我现在在地图的哪个位置、这一章要补的是哪个洞";全部学完后再读一次"三大认知跨越",检验自己是否真的完成了思维方式的转变。


〇、写在最前面:这个专题与你已学内容的关系

如果你是按推荐路径走到这里的,你大概已经具备这样一套能力:完成了 v8 SLAM 主线(定位与建图)、Part 0 公共基础(凸优化 / QP / 非线性优化),以及至少一个方向增量(无人机的轨迹生成、机械臂的运动规划、或自动驾驶的某个模块)。

换句话说,你已经会"规划一条轨迹"了——你能用 MINCO 给四旋翼生成一条 min-snap 轨迹,能用 TOPP-RA 给机械臂做时间参数化,能用 A* 在栅格地图上找一条路。

那为什么还需要一个专门的"时空联合规划"专题?

因为你已掌握的那些方法,绝大多数都建立在一个**你可能没意识到的隐含假设**上——空间和时间可以分开处理。先决定走哪条路(空间),再决定走多快(时间);或者反过来,先有了路再配速度。这个"先后分开"的范式有个正式名字,叫 路径-速度解耦(Path-Velocity Decomposition,PVD),它是整个经典规划栈的地基。

这个假设在很多场景下成立、好用、且高效——这正是它能成为工业基线的原因。但在另一大类场景下,它会**悄无声息地失效**:

  • 一辆车正在从匝道加塞进你的车道。你该减速让它(不变路径、改速度),还是加速超过它(不变路径、改速度),还是变道避开(改路径)?这三个选择里,"走哪"和"多快"是缠在一起的——你没法先定路径再定速度,因为最优的路径取决于你打算用什么速度通过。
  • 一群无人机要穿过一片树林。每架的避障路径,取决于其他架在每个时刻飞到了哪里。N 架飞机的时空轨迹相互耦合,没法各自先规划路径再协调速度。
  • 一个机械臂要在传送带上的物体经过时抓取它。抓取点的空间位置,和物体到达的时刻死死绑定。

这些场景的共同点是:空间和时间不可分离。这就是本专题要攻克的核心问题,也是它区别于你已学方向的本质所在。

本质洞察(这个专题的一句话灵魂):你之前学的规划,多数是在"空间"和"时间"两个维度上**分而治之**;时空联合规划要教你的,是在某些场景下这种分治**必然失效**,以及当它失效时,如何在一个统一的框架里**同时**决定"走哪"和"何时多快"。整个专题的六章,就是从"理解分治为何失效"(T1)到"各种联合化手段"(T2–T6)的完整演进。

它在横切专题层里的位置

本专题是"经典规控范式横切专题层"的专题三。这一层一共三个专题,各自处理一类经典规划栈未能正面解决的难题,它们是**正交的三个维度**:

  • 专题一 · 不确定性规划:处理"模型/感知**不确定**"——风扰、地形未知、传感器噪声、他车意图模糊。当你不能假设"模型已知、感知完美"时进入这里。
  • 专题二 · 博弈规划:处理"他人是有**目标**的决策者"——他车不是被动障碍物,而是会对你的行为做出反应的理性 agent。当你不能假设"环境中的其他主体行为固定可预测"时进入这里。
  • 专题三 · 时空联合规划(本专题):处理"空间和时间**不可分离**"——在动态交互环境中,路径选择和速度选择相互耦合,必须在同一个优化/搜索框架里同时决定。

三个专题如何区分:用一句话记住它们的分工——不确定性规划放松了"世界是确定的"假设,博弈规划放松了"他人是被动的"假设,时空联合规划放松了"空间时间可分离"假设。三者正交,可以独立学,也常常组合出现(一个真实的城市路口规划,往往三者都需要)。本专题假设世界确定、他人行为给定,只专注攻克"时空耦合"这一个维度——把一个难题单独拎出来讲透,是教学的必要简化。


一、这个专题到底在解决什么问题

上一节给了直觉,这一节把问题讲精确。

从一个具体困境说起

设想你已经用学过的方法搭了一个规划器,它是"两阶段"的:第一阶段在静态地图上规划一条几何路径 \(\sigma(s)\)\(s\) 是沿路弧长),第二阶段在这条固定的路径上规划速度剖面 \(s(t)\)(什么时刻走到路径的哪个位置)。这就是 PVD。

现在动态障碍来了——一个行人正在横穿马路。你的规划器会遇到两种典型的失败:

  • "路径可行但速度不可行":第一阶段选定的几何路径很漂亮(贴着车道中心),但第二阶段发现,沿这条路径无论怎么调速度,都会在行人横穿的那一刻撞上他——因为路径已经定死,速度的自由度不够躲开时空上的那个"障碍点"。
  • "速度可行但路径不可行":反过来,如果先定了一个保守的速度剖面(慢慢开),第一阶段又可能找不到能配合这个速度的安全路径。

问题的根源是:行人是一个时空障碍——他在特定的时刻出现在特定的位置。要躲开他,你需要协调"我在那个时刻走到哪里",这同时牵涉路径(走到哪里)和速度(那个时刻)。两阶段分开,就破坏了这种协调。

问题的精确表述

把它写成数学。一条完整的轨迹是 \(\mathbf r(t) = (x(t), y(t))\)——每个时刻车在哪。PVD 把它拆成两个函数的复合:

\[\mathbf r(t) = \sigma(s(t))\]

其中 \(\sigma(\cdot)\) 是几何路径(与时间无关的纯空间曲线),\(s(t)\) 是速度剖面(弧长随时间的变化)。拆分的代价是丢失了 \(\sigma\)\(s\) 之间的耦合——它们被分两步独立优化,但最优的轨迹要求它们协同。

时空联合规划做的,是不拆——直接在包含时间的空间里求解完整轨迹。它有两条技术路线:

  • 把时间作为搜索维度:在 \((s, l, t)\)\((x, y, t)\) 这样的"时空联合空间"里搜索/构造安全区域(T2 的走廊、SIPP 等)。
  • 把时间作为优化变量:在完整状态 \((x, y, \theta, v, t)\) 上一次性优化整条轨迹,时间或段时长 \(\Delta T_i\) 直接是决策变量(T3 的连续优化)。

无论哪条,核心都是**让空间和时间在同一个问题里被同时决定**,而不是分两步。

本质洞察("联合"二字的确切含义):时空联合规划的"联合",指的不是"既规划空间又规划时间"(PVD 也规划了两者,只是分两步)——而是"在**同一个**优化/搜索过程里**同时**决定空间和时间,让两者的耦合被显式建模"。这一字之差是整个专题的分水岭:PVD 是"分步规划空间和时间",时空联合是"联合规划时空"。后面六章的所有方法,都是在回答同一个问题——当分步失效时,如何把这一步'合'起来做,以及为此要付出什么代价

为什么这个问题值得专门学

你可能会问:既然 PVD 在很多场景够用,为什么要为它的失效场景专门学一个 3–4 个月的专题?三个理由:

  1. 失效场景恰恰是最有价值的场景。高速公路巡航(PVD 够用)已经相对成熟;真正的难题、也是自动驾驶/机器人落地的瓶颈,正是城市路口、动态交互、多机协调这些 PVD 失效的场景。攻克它们,才是规控能力的真正分水岭。
  2. 它的数学和工程是通用的。时空联合规划用的 QP/NLP/MPC/图搜索框架,是规控领域的通用语言——学透它们,对不确定性规划、博弈规划、乃至你自己方向的深入都有直接帮助(见后面的"技能迁移速查")。
  3. 它正处在学术与产业的最前沿。从经典的时空走廊、连续优化,到 2024–2026 的端到端与扩散式生成,这个专题串起了规控领域近十年最活跃的演进——理解这条线,你就站在了领域的前沿视角上。

二、先备一份"数学语言"清单

进入六章之前,先认识本专题反复出现的几样数学工具。这不是要你现在就掌握它们(Part 0 和各方向增量已经给了基础),而是让你在读到时能立刻认出"哦,这是我见过的那个东西"。时空联合规划没有发明全新的数学——它是在用你已熟悉的工具,去攻一个新的问题结构。

工具 在本专题里做什么 你在哪里见过它
二次规划(QP) SL 图路径优化、ST 图速度精修(piecewise-jerk QP)——把局部规划写成凸 QP 实时求解 Part 0 凸优化;MPC 的子问题
非线性规划(NLP) OBCA 泊车、Bertha 连续优化、CPC 时间最优——非凸的完整轨迹优化 无人机 D 系列轨迹优化;Ipopt
图搜索(A*/Dijkstra) 时空格搜索、SIPP、CBS 低层搜索——在离散化的时空图上找路 SLAM 的路径搜索;A*
稀疏非线性最小二乘 TEB 用 g2o 把轨迹建成超图优化——和 SLAM 后端同一套 v8 SLAM 的 Ceres/g2o 后端
MPC(滚动时域) 几乎所有在线规划器的执行框架——规划一段、执行一截、滚动重规划 不确定性规划 U2;控制课
L-BFGS / 梯度优化 MINCO 的时间分配优化——利用闭式梯度高效求解 无人机 MINCO;数值优化
动态规划(DP) ST 图上的粗粒度速度决策(让/抢)——在离散网格上找最优子结构 算法基础;强化学习的 DP

理论-工程桥接(这份清单的用意):看这张表,你应该有种"原来如此"的踏实感——时空联合规划不是要你从零学一门新数学,而是把你工具箱里已有的 QP、NLP、图搜索、因子图、MPC,重新组合起来攻一个新问题。难点不在工具本身,而在"如何把'空间时间不可分离'这个问题,翻译成这些工具能处理的形式"。这正是六章要教的——每一章都是一种"翻译方式":T1 翻译成两个解耦 QP,T2 翻译成时空图搜索,T3 翻译成联合 NLP,以此类推。


三、六章整体路线图

下面这张图是整个专题的骨架——它展示了六章如何从"理解解耦"一路演进到"学习生成"。先看图建立全局感,再看逐章导读理解每一步的动机。

方向增量完成(无人机 D 系列 / 机械臂 M 系列 / 自驾模块 ...)
         │  你此时的状态:
         │   - 有轨迹优化 / MPC 的工程经验
         │   - 但规划器要么只规划路径、要么只规划速度(PVD 两阶段解耦)
         │   - 面对动态障碍(加塞、横穿、多机避碰)频繁遇到
         │     "路径可行但速度不可行"或反过来的困境
┌──────────────────────────────────────────────────────┐
│ T1:Frenet 坐标系、ST 图与路径-速度解耦(2 周)         │
│   PVD 奠基 / Frenet (s,l) / SL 图 / ST 图 / DP+QP 速度  │
│   【理解"为什么解耦"——也理解它何时失效】              │
│   【⚪ 自驾为主,但 PVD 思想通用】                      │
└──────────────────────────────────────────────────────┘
         ▼  解耦在强耦合处失效 → 需要在联合空间里圈安全区
┌──────────────────────────────────────────────────────┐
│ T2:时空走廊与时空搜索(2-3 周)                        │
│   SSC / 时空格 / SIPP / Hybrid A*+时间                  │
│   【从"解耦"到"联合搜索/走廊"——第一步联合化】        │
│   【⚪ 自驾+无人机——走廊方法跨方向复用】               │
└──────────────────────────────────────────────────────┘
         ▼  搜索给出骨架后 → 需要连续优化精修到最优
┌──────────────────────────────────────────────────────┐
│ T3:时空轨迹优化(2-3 周)                              │
│   CILQR / TEB / OBCA / MINCO 时间分配 / CPC            │
│   【从"搜索"到"连续优化"——时间作为决策变量】         │
│   【✅ 全方向核心——MPC/NLP 框架通用】                 │
└──────────────────────────────────────────────────────┘
         ▼  学术方法要落地 → 看工业系统怎么权衡取舍
┌──────────────────────────────────────────────────────┐
│ T4:Apollo / Autoware 工业框架深度剖析(2-3 周)        │
│   EM Planner / PW-Jerk QP / Open Space / Autoware BPP  │
│   【从"学术方法"到"工业代码"——理解取舍】             │
│   【❌ 自动驾驶专属——但架构思想通用】                  │
└──────────────────────────────────────────────────────┘
         ▼  单体掌握后 → 扩展到 N 体共享时空的去冲突
┌──────────────────────────────────────────────────────┐
│ T5:多智能体时空协调(2-3 周)                          │
│   CBS / ECBS / LaCAM / SIPP / ORCA / EGO-Swarm / MADER│
│   【从"单智能体"到"多智能体时空去冲突"】             │
│   【✅ 全方向核心——多机/仓储/编队都需要】             │
└──────────────────────────────────────────────────────┘
         ▼  显式方法掌握后 → 看数据驱动的前沿范式
┌──────────────────────────────────────────────────────┐
│ T6:端到端与扩散式时空规划(2 周)                      │
│   UniAD / VAD / PLUTO / Diffusion Planner / EMMA       │
│   【从"经典优化"到"学习生成"——2024-2026 前沿】      │
│   【⚪ 自驾+机械臂——扩散策略跨方向】                  │
└──────────────────────────────────────────────────────┘
   末附:综合对比与附录(四范式对比 / 选型决策 / 论文清单 / 学习路线)

全部投入:6 章共 ~12–16 周,全职等效约 3–4 个月;业余 15–20 小时/周约 6–8 个月。

逐章导读:每一章在补哪个洞

路线图给了顺序,但真正重要的是**理解这个顺序背后的因果**——为什么是这个顺序,每一章解决了前一章留下的什么问题。下面逐章讲清。

T1 · Frenet 坐标系、ST 图与路径-速度解耦 — 这是整个专题的**反面基线与基础语言**。它教两件事:一是 PVD 这套解耦范式怎么工作(Frenet 坐标把弯道"拉直"、SL 图管路径、ST 图管速度、QP 求解),二是——更重要的——它在什么场景下失效(强耦合的加塞、无保护左转)。你必须先懂解耦、并亲眼看到它失效,才能理解后面五章的每一个设计动机都是"在补解耦留下的洞"。读完 T1,你会拥有一把尺子:判断"何时解耦够用、何时必须联合"。

T2 · 时空走廊与时空搜索 — 解耦失效后的**第一步联合化**。T1 把空间和时间分两步;T2 第一次把它们放进同一个空间——直接在 \((s,l,t)\) 三维里,把安全可通行区域表示成一串凸多面体(时空走廊),动态障碍自动成为其中的"禁入区"。它补的洞是:让"何时该在哪"成为一个可以统一搜索/约束的对象,而不是事后拼接。SIPP(把时间压缩成安全间隔)、时空格搜索是这一章的核心工具。

T3 · 时空轨迹优化 — 从"搜索"到"连续优化"的跃迁。T2 的走廊给出了安全区域的骨架,但骨架内的轨迹还需要精修到最优、且严格满足动力学。T3 把**时间直接作为优化变量**,在完整状态空间一次性求解整条时空轨迹——CILQR(约束迭代 LQR)、TEB(时间弹性带)、OBCA(泊车的碰撞对偶化)、MINCO(无人机时间分配)、CPC(时间最优穿桩)。这是"时空联合"最纯粹的形态,也是全方向通用的数学核心(MPC/NLP 框架到处都用得上)。

T4 · Apollo / Autoware 工业框架深度剖析 — 从"学术方法"到"工业代码"。前三章是方法,T4 看真实工业系统怎么把它们落地、怎么在"理论最优"和"工程现实(实时性、可靠性、可维护性)"之间权衡取舍。Apollo 的 EM Planner(PVD + EM 迭代的工业实现)、piecewise-jerk QP、Open Space Planner(泊车)、Autoware 的行为规划——这一章教你读工业级 C++ 规划代码,理解"为什么工业选择了看似不那么先进的方法"。

T5 · 多智能体时空协调 — 从"单体"到"多体"的维度扩展。前四章都是"我一个智能体如何在时空里规划";T5 处理"N 个智能体如何在**共享**的时空里互不冲突"。这把问题从多项式复杂度推到 NP-hard——CBS(冲突基搜索)、ECBS/LaCAM(大规模 MAPF)、ORCA(速度空间避碰)、EGO-Swarm/MADER(无人机集群)。它补的洞是:当时空被多个主体共享时,约束变得相互耦合,需要全新的协调机制。这也是仓储、编队、集群方向的核心。

T6 · 端到端与扩散式时空规划 — 从"经典优化"到"学习生成"的范式切换。前五章都是人手设计代价、约束、求解器;T6 让神经网络从数据直接学出"观测 → 时空轨迹"的映射——UniAD(模块化端到端)、PLUTO(模仿学习闭环 SOTA)、Diffusion Planner(扩散式生成)。它天然产出时空联合轨迹(直接输出 \((x(t),y(t))\),从不分路径速度),但留下了新问题:黑盒、难以形式化验证安全。这是 2024–2026 的前沿,也是理解"学习方法替换掉了什么、又留下什么没解决"的关键一章。

本质洞察(路线图的内在逻辑):这六章不是六个独立主题的拼盘,而是**一条由"动机链"串起的演进**——每一章都始于"前一章的方法在某种场景下不够用",终于"一种新的应对"。T1 解耦失效 → T2 联合搜索;T2 只有骨架 → T3 连续优化精修;T3 是学术方法 → T4 工业落地;T4 是单体 → T5 多体;T5 仍是显式设计 → T6 数据驱动。理解这条动机链,比记住每章的算法更重要——因为它告诉你每个方法"为什么存在、解决了谁的问题"。这也是为什么强烈建议按 T1→T6 的顺序学:每一章都站在前一章的肩膀上。

与机械臂/无人机方向的横向对照

时空联合规划不是自动驾驶专属——它的思想在无人机、机械臂方向都有对应形态。下表帮你把已学方向的知识和本专题挂钩:

维度 时空联合规划(本专题) 无人机方向 机械臂方向
时空联合的形态 Frenet ST 图 + 时空走廊 + CILQR + MAPF MINCO 时间分配 + 动态障碍走廊 TOPP-RA 时间参数化 + Ruckig OTG
典型参数空间 \((s,l,t)\) Frenet 或 \((x,y,\theta,v,t)\) \((x,y,z,t)\) 3D 欧氏 + 时间 \((s,\dot s)\) 相平面 或 \((q,t)\) 关节空间
工业框架 Apollo / Autoware PX4 / Betaflight MoveIt 2 / ros2_control
多智能体 MAPF(CBS/LaCAM/ORCA) EGO-Swarm / MADER 双臂协调 / TAMP
学习前沿 UniAD / Diffusion Planner / EMMA Swift / SimpleFlight Diffusion Policy

对比性思维(同一思想的三种方言):看这张表的横向对应——无人机的 MINCO 时间分配、机械臂的 TOPP-RA 时间参数化、自驾的 ST 图速度规划,本质都是"在给定/联合的空间上处理时间维度"的不同方言。学会本专题,你不只学会自驾的时空规划,还能看懂无人机和机械臂里对应的时间处理手法——因为它们共享同一套"如何把时间纳入规划"的底层逻辑。这正是"横切专题"的意义:它横跨多个方向,提炼共性。


四、三大认知跨越(本专题的灵魂)

如果说六章是"知识",那么下面三个"认知跨越"就是贯穿这些知识的"思维转变"。学完本专题,知识会逐渐淡忘,但这三个认知转变应当永久地改变你看规划问题的方式。 这一节值得在学前读一遍建立预期、学后再读一遍检验自己。

跨越一:从"先路径后速度"到"路径和速度同时决定"

转变前的思维:规划 = 先找一条几何路径,再在路径上配速度。这是 PVD(Path-Velocity Decomposition,Kant & Zucker 1986),是经典栈的地基,也是你之前多数方法的隐含假设。

为什么需要转变:PVD 在弱耦合场景(高速公路:路基本是直的,主要决定速度)下完全够用、且高效。但在强耦合场景下失效——城市交叉路口,你必须**同时**决定"绕行还是直行"(路径)和"加速还是减速"(速度),因为最优路径取决于你打算用的速度,反之亦然。两者相互约束,分两步必然次优甚至无解。

转变后的思维:把时间 \(t\) 或段时间 \(\Delta T_i\) 作为**优化变量**或**搜索维度**,在一个统一的框架里一次性产出完整轨迹 \((x(t), y(t), \theta(t), v(t))\)。路径和速度不再分两步,而是同一个解的两个侧面。

本质洞察(跨越一的核心):PVD 的"先后分开"本质是一种**用问题分解换求解效率**的工程妥协——把一个难的联合问题拆成两个易解的子问题。这个妥协在弱耦合时几乎无损,在强耦合时却会丢掉决定性的信息。跨越一要你建立的判断力是:面对一个规划场景,先问"路径和速度耦合强不强"——弱则放心解耦(快、够用),强则必须联合(慢、但正确)。这不是"联合一定比解耦好",而是"看场景下菜"。整个专题的 T1 就是教你练就这个判断。

跨越二:从"静态环境"到"动态环境的时空几何"

转变前的思维:碰撞检测是一个**空间**问题——"这个位置有没有障碍?"地图是静态的 \((x,y)\) 占据栅格,规划就是在没有障碍的空间里找路。

为什么需要转变:动态环境里,障碍会动。一个横穿的行人,此刻在路左、一秒后在路中、两秒后在路右。问"路中有没有障碍"是没有意义的——必须问"在我经过路中的那个时刻,行人在不在路中"。碰撞检测从此带上了时间维。

转变后的思维:碰撞检测是一个**时空**问题——"这个位置**在这个时刻**有没有障碍?"于是产生了一整套时空几何的表示:

  • ST 图(Station-Time):把动态障碍投影成"沿路弧长 \(s\) — 时间 \(t\)"平面上的阻挡多边形——障碍在哪个时段挡住了路的哪一段,一目了然。
  • 时空走廊:把安全可通行区域表示为 \((s,l,t)\) 三维空间中的凸多面体序列——"在这段时间,车必须待在这个时空立方体内"。
  • SIPP 的安全间隔:把每个位置的"安全通行时段"编码为图的边权——本质是把时间维压缩成若干连续的"安全窗口"。

本质洞察(跨越二的核心):这个跨越的钥匙是一句话——时间是碰撞检测的一个维度。一旦你接受"障碍不是一个空间物体,而是一个时空物体(在特定时刻占据特定位置)",ST 图、时空走廊、SIPP 这些看似不同的工具就统一了:它们都是"如何表示和搜索时空中的安全区域"的不同方案。这个认知会彻底改变你对"地图"的理解——地图不再是静态的 \((x,y)\) 平面,而是动态的 \((x,y,t)\) 体积。T2 整章就是在训练这个时空几何的直觉。

跨越三:从"单智能体轨迹"到"多智能体时空去冲突"

转变前的思维:规划是"**我**如何在 \((x,y,t)\) 空间里找一条无碰撞轨迹"。环境里的其他物体是给定的障碍。

为什么需要转变:在多机系统里(仓储 AGV、无人机编队、多车协调),其他智能体不是给定的障碍——它们也在同时规划,它们的轨迹和你的相互影响。你的安全路径取决于别人走哪,别人的也取决于你。N 个智能体的时空约束是耦合的

转变后的思维:问题变成"N 个智能体如何在**共享**的 \((x,y,t)\) 空间里找到**互不冲突**的轨迹"。这就是 MAPF(Multi-Agent Path Finding),一个组合优化问题:

  • CBS(冲突基搜索):双层搜索——先各自规划,发现冲突就对冲突双方加约束重规划。最优但 NP-hard。
  • LaCAM:惰性约束添加,能解上万 agent 的超大规模实例。
  • ORCA:在速度空间用半平面约束做去中心化的反应式避碰。

计算复杂度从单智能体的多项式,跳到 NP-hard——这是质的飞跃。

本质洞察(跨越三的核心):这个跨越的关键认知是——N 个智能体的时空约束是耦合的,不能各自独立规划再拼起来。单体规划的"我找我的路"在多体世界里失效,因为"我的路"和"你的路"通过"不能在同一时刻占据同一位置"这个约束绑死了。这就是为什么 MAPF 是 NP-hard:你不能分解它。理解"耦合不可分解",你才能理解 CBS 为什么要用双层搜索(在"联合"和"分解"之间找平衡)、为什么大规模要牺牲最优性(LaCAM)。T5 整章就是在这个"耦合"上做文章。

三个跨越的统一

三个跨越看似各讲一件事,其实指向同一个主题——打破"可分离"的幻觉

  • 跨越一打破"空间和时间可分离"(PVD 的分步);
  • 跨越二打破"碰撞检测和时间可分离"(静态地图的幻觉);
  • 跨越三打破"多个智能体的规划可分离"(各自规划的幻觉)。

本质洞察(贯穿三大跨越的总主线):时空联合规划的全部认知,浓缩成一句话就是——现实世界的规划问题,常常在你以为可以"分开处理"的地方,其实是"耦合"的。空间与时间耦合、碰撞与时间耦合、智能体之间耦合。经典栈为了求解效率假设它们可分(这在很多场景成立),而这个专题教你识别"何时这种假设破裂",以及破裂时如何在统一框架里处理耦合。学完六章,你看任何规划问题的第一个反射,都应该变成:"这里有没有我以为可分、实则耦合的维度?"——这个反射,就是这个专题给你的最大财富。


五、你的已有技能如何迁移过来

好消息是:你不是从零开始。SLAM 和各方向增量积累的能力,大量可以直接迁移到本专题。下表把对应关系列清楚——它的用意是消除你对"又要学一大套新东西"的畏难,让你看到自己其实已经握着大半套工具

你已有的技能(来自 SLAM / 方向增量) 在时空联合规划中的对应 迁移难度
Eigen 矩阵运算 CILQR 的 Jacobian/Hessian 组装、QP 矩阵构建 零迁移
Ceres 非线性最小二乘 TEB 用 g2o hyper-graph 做稀疏优化——结构完全类似
GTSAM 因子图 GPMP2 的 GP 先验 + 障碍因子 ↔ SLAM 的先验 + 观测因子——数学同构
A* / Dijkstra 图搜索 时空格搜索 / SIPP / CBS 低层搜索——直接复用 零迁移
PCL 点云处理 时空走廊的 3D 碰撞检测——但表示从点云变为凸多面体
ROS2 节点 / 消息 Apollo CyberRT / Autoware ROS2——直接复用
占据栅格地图 ST 图的构建——概念类似但轴从 \((x,y)\) 变为 \((s,t)\)
VIO / LiDAR SLAM 为规划提供定位和地图——你的核心竞争力不变 零迁移

三组"零迁移"的能力——你已经会的

表里标"零迁移"的三项,是你**几乎不用学新东西就能直接用**的:

  • Eigen 矩阵运算:时空联合规划的优化器(CILQR、QP)本质是大量矩阵运算。你在 SLAM 里组装 Jacobian、Hessian 的手感,在这里组装 QP 的 \(P\)\(A\) 矩阵时原样适用——只是矩阵的含义从"重投影误差对位姿的导数"变成"轨迹代价对决策变量的导数"。
  • A* / 图搜索:T2 的时空格搜索、SIPP,T5 的 CBS 低层搜索,骨子里都是 A*。你在 SLAM/路径规划里写过的 A*,加一个时间维或换个状态定义就能用。
  • VIO / SLAM 本身:规划需要定位和地图作为输入——这正是你 SLAM 的看家本领。你的核心竞争力不仅没作废,反而是规划得以运行的前提

两组"低迁移"——结构同构,认出来就行

  • Ceres → TEB 的 g2o:TEB 把轨迹建模成一个超图(hyper-graph),节点是轨迹点和时间间隔,边是各种约束(动力学、障碍、平滑)——然后用 g2o 做稀疏非线性优化。这和你在 SLAM 后端用 Ceres/g2o 优化位姿图是**同一套数学**,只是图的语义不同。认出这个同构,TEB 就不再陌生。
  • GTSAM → GPMP2:GPMP2(高斯过程运动规划)用 GP 先验 + 障碍因子构造因子图——这和 SLAM 的先验 + 观测因子结构上完全一致。会 GTSAM 的因子图,GPMP2 的数学就是顺理成章的。

理论-工程桥接(迁移的本质):为什么这么多能力能直接迁移?因为**规控领域共享一套底层数学**——优化(QP/NLP/最小二乘)、搜索(A*/DP)、概率推断(因子图)。SLAM 和规划是这套数学的两个应用面:SLAM 用它做"状态估计",规划用它做"决策"。工具相同,只是目标函数和约束的含义不同。这意味着你学本专题的真正成本,不是"学新工具",而是"学如何把时空耦合问题翻译成这些已知工具能解的形式"——而这,正是六章的核心教学内容。带着"我已经会大半工具"的底气进入 T1 吧。


六、如何使用这套教材

这个专题有六章正文 + 一章综合对比附录,体量不小(~12–16 周)。怎么用得高效,这里给几条实操建议。

八段式结构:每章长什么样

本专题每一章都遵循统一的**八段式结构**(与无人机/机械臂方向大纲对齐),知道这个结构能帮你快速定位:

  1. 科研发展脉络 — 这章的方法是怎么一步步演进出来的(历史与动机)。
  2. 教学目标 — 学完应该会什么(先看这个,建立预期)。
  3. 前置依赖 — 学这章前该具备什么(不足就先补)。
  4. 核心知识点 — 这章的主体(方法、推导、代码)。
  5. 前沿工作与开放问题 — 这章方向上还没解决的问题(研究视角)。
  6. 项目精读清单 — 该读哪些论文/代码(配合附录 A/B)。
  7. 实战练习(A 型 + B 型 + 思考题) — A 型偏复现、B 型偏深读、思考题偏判断。
  8. 预计学习时间 — 时间预算。

怎么用八段式:每开一章,先读"教学目标"和"前置依赖"——确认你想学的和这章给的对得上、且你具备前置。学的过程聚焦"核心知识点"。学完用"实战练习"检验。"科研脉络"和"前沿工作"提供研究视角,时间紧可略读、想深入则细读。这个固定结构让你在六章之间切换时不会迷失。

三种学习节奏

根据你的时间和目标,选一种节奏(综合对比附录的附录 D 有更细的四条专项路线):

  • 完整路线(12–16 周):按 T1→T6 顺序全学,尊重动机链,建立完整心智模型。适合时间充裕、想扎实掌握的人。
  • 速成路线(6 周):T1(1w) → T3(2w) → T4(2w, 只读 Apollo) → T5(1w, 只跑 CBS+LaCAM)。保数学核心 + 工业代码 + 多体基础,跳过 T2 细节和 T6。适合要快速形成战斗力的人。
  • 专项路线:做自驾走"自驾专项"(重 T4),做集群走"多机专项"(重 T5)。适合目标明确的人。

三条贯穿全专题的主线,学时盯住它们

无论哪种节奏,学习时盯住这三条主线,能让零散的知识点串成体系:

  1. "时空联合程度"主线:每学一个方法,问它"把空间和时间联合到什么程度"——PVD 半联合、走廊联合搜索、连续优化完全联合、端到端天然联合。这条线让你看清方法间的递进关系。
  2. "计算负担放哪里"主线:每个方法把计算压在在线还是离线?这决定了它的实时性和能力上限(综合对比章详述)。
  3. "前沿 vs 落地"主线:越前沿的方法(T6)C++ 生态越不成熟、越难上车;越成熟的(T1/T4)越能落地。这条线帮你判断学习投入的方向(求落地还是求前沿)。

本质洞察(学习这个专题的元方法):六章会教你几十个方法,但**真正要带走的不是方法清单,而是上面三条主线给你的"判断框架"——给一个新问题,你能判断它需要多强的时空联合(主线一)、该把计算放哪(主线二)、该选成熟还是前沿的方法(主线三)。方法会过时(2024 的 SOTA 到 2027 可能就旧了),但这套判断框架不会。**学知识的同时,刻意训练这个框架——这才是把一个专题真正"学进去"的标志。


七、章节索引与导航

本专题的完整内容如下。每章都是可独立阅读的成稿,但推荐按顺序学(动机链)。

章节 标题 范式定位 共享标记
T1 Frenet 坐标系、ST 图与路径-速度解耦 解耦基线(反面教材 + 基础语言) ⚪ 自驾为主
T2 时空走廊与时空搜索 第一步联合化(联合搜索) ⚪ 自驾+无人机
T3 时空轨迹优化 连续优化(完全联合) ✅ 全方向核心
T4 Apollo / Autoware 工业框架 工业落地(取舍) ❌ 自驾专属
T5 多智能体时空协调 多体扩展(去冲突) ✅ 全方向核心
T6 端到端与扩散式时空规划 学习生成(数据驱动) ⚪ 自驾+机械臂
综合对比与附录 横向综合 + 参考资料 ✅ 全方向

共享标记的含义(便于跨方向复用): - ✅ 全方向共享:T3、T5 的方法(连续优化、多智能体协调)是规控通用的,无论你做自驾、无人机还是机械臂都用得上。 - ⚪ 部分共享:T1、T2、T6 主要面向自驾,但思想(PVD、走廊、扩散策略)可迁移到其他方向。 - ❌ 特定方向:T4 是自动驾驶专属(Apollo/Autoware),但其架构思想(分层、生成-验证)通用。

给不同方向读者的建议:**做自驾**的,六章全相关,按顺序学。**做无人机**的,重点 T2(走廊)、T3(MINCO/CPC 你可能已在 D 系列见过,这里是更系统的视角)、T5(EGO-Swarm/MADER)。**做机械臂**的,重点 T3(连续优化)、T6(Diffusion Policy 源于机械臂)。**做多机/仓储**的,T5 是核心,T2 的 SIPP 是基础。

详细教学大纲(六章逐节)

上面的索引表给了"一句话定位",下面这份大纲展开到**每章的核心知识点、关键论文、配套项目产出**——它是从六章正文成稿提炼的真实骨架(小节标题、难度、方法均与正文一致)。难度标记:⭐ 必学 / ⭐⭐ 核心 / ⭐⭐⭐ 进阶。

一条贯穿全专题的累积项目主线(务必注意):T1–T5 共享**同一个累积项目——"T 线规划器"。它从 T1 的解耦 QP 起步,逐章升级:T1 搭出能跑的最小解耦规划器(Frenet 库 → SL/path QP → ST/DP → speed QP → EM 外循环),T2 把运动层换成走廊 QP,T3 升级到时空联合的连续优化,T5 再扩展成多智能体协调器。**这条主线让六章不是孤立的知识,而是一个"越长越强"的系统——强烈建议跟着做,学完你手里是一个真能跑的时空规划器,而不只是一堆概念。


T1 · Frenet 坐标系、ST 图与路径-速度解耦 ⭐⭐ · 算法工程教学(text:code ≥ 60:40)

定位:解耦范式的**反面基线 + 基础语言**——先懂解耦为何够用、何时失效,才能理解后五章的动机。 前置:Part 0 凸优化/QP、v8 Ch11(Eigen)、v8 Ch17(Ceres/非线性优化直觉)。 核心知识点:PVD 数学形式化(轨迹拆成 \(\sigma(s)\)\(s(t)\)、解耦成立的前提)· Frenet \((s,l)\) 正逆变换与曲率退化 \(1-\kappa_r l\) · SL 图 + piecewise-jerk 路径 QP · ST 图 + DP-ST 速度搜索("何时到哪")· piecewise-jerk speed QP(向心加速度折减)· EM 迭代为何只保证单调不增不保证全局最优 · 解耦失效场景(cut-in、无保护左转)。 关键论文:Werling et al.(ICRA 2010 / IJRR 2012)Frenet 末端状态采样;Kant & Zucker(1986)PVD 奠基。 配套项目:搭出累积项目主干 PlanOneCycle——一个无外部依赖、能跑的最小解耦时空规划器(含一份独立可编译的 Frenet 正逆变换)。 逐节:§T1.1 PVD 形式化 ⭐⭐ / §T1.2 Frenet 详解 ⭐⭐ / §T1.3 SL 图 + path QP ⭐⭐⭐ / §T1.4 ST 图 + DP ⭐⭐ / §T1.5 speed QP ⭐⭐⭐ / §T1.6 EM 迭代 ⭐⭐⭐ / §T1.7 完整管线实战 ⭐⭐。

T2 · 时空走廊与时空搜索 ⭐⭐

定位:解耦失效后的**第一步联合化**——第一次把空间和时间放进同一个搜索/约束空间。 前置:T1(Frenet/ST)、凸优化基础。 核心知识点:时空格搜索(状态/运动基元/DAG、homotopy 类)· SIPP 把时间维压缩成"安全区间"· SSC 时空语义走廊(cube 序列 + Bézier 凸包 + QP)· IRIS/SFC 从地图自动生成凸走廊(椭球膨胀 + 串接)· 走廊 vs 搜索的互补与组合。 关键论文:Phillips & Likhachev(ICRA 2011)SIPP;Ding et al.(RA-L 2019)SSC/EPSILON;Liu et al.(2017)安全飞行走廊。 配套项目:把累积项目的运动层升级为走廊 QP;三份"无外部依赖能跑"的代码——完整时空格、完整 SIPP、凸包性质验证。 逐节:§T2.1 时空格 ⭐⭐ / §T2.2 SIPP ⭐⭐⭐ / §T2.3 SSC ⭐⭐⭐ / §T2.4 IRIS/SFC ⭐⭐ / §T2.5 走廊 vs 搜索选型 ⭐⭐ / §T2.6 动态绕障完整管线 ⭐⭐。

T3 · 时空轨迹优化 ⭐⭐⭐ · 理论密度最高的一章

定位:从"搜索"到"连续优化"——把时间直接作为决策变量,时空联合最纯粹的形态;全方向通用核心。 前置:T2(走廊)、最优控制基础。 核心知识点:统一问题形式 · CILQR(log-barrier 把约束变成代价)· TEB(让"段时间"成优化变量、g2o 软约束)· OBCA(强对偶让非凸避障变光滑)· MINCO(参数映射 \(c=M(q,T)\) 把高维系数压成低维)· CPC(互补约束实现时间最优)· 求解器选型(OSQP/Ipopt/CasADi)与实时性对比。 关键论文:Chen/Zhan/Tomizuka(ITSC 2017)CILQR;Rösmann et al.(RAS 2017)TEB;Zhang/Liniger/Borrelli(T-AC 2020)OBCA;Zhepei Wang et al.(T-RO 2022)MINCO/GCOPTER;Foehn/Romero/Scaramuzza(Science Robotics 2021)CPC;Ziegler et al.(IV 2014)Bertha 工业级联合 NLP。 配套项目:把累积项目的运动层升级到时空联合连续优化——Optimize 接收 T2 的 corridor + warm_start,输出联合轨迹。 逐节:§T3.1 CILQR ⭐⭐⭐ / §T3.2 TEB ⭐⭐ / §T3.3 OBCA ⭐⭐⭐ / §T3.4 MINCO ⭐⭐⭐ / §T3.5 CPC ⭐⭐⭐ / §T3.6 方法选型指南 ⭐⭐。

T4 · Apollo / Autoware 工业框架深度剖析 ⭐⭐⭐ · 🏭 工业框架

定位:从"学术方法"到"工业代码"——看两个经过大规模实战的工业系统如何把前三章的方法落地、如何权衡取舍。 前置:T1–T3(理论基础)。 核心知识点:Apollo Planning 三层架构(Scenario / Stage / Task)· Apollo SL+ST 双图管线的 EM 迭代(E-step 投影、M-step 优化、path↔speed 交替)· Apollo Open Space(Hybrid A* + OBCA 两段式,主链路唯一真正的时空联合,用于泊车)· Autoware Universe 六层流水线 + pluginlib 热插拔 · 两种工业取舍对比 · 工业栈为何坚持解耦、以及新范式的位置。 关键论文:Fan et al.(arXiv 2018)Apollo EM Planner。 配套项目:源码走读——精读 Apollo modules/planning(工业级 C++),把 §T4.2 的 EM 迭代、§T4.3 的 Open Space 对照本章公式逐段读通;理解 Apollo vs Autoware 的架构取舍空间。 逐节:§T4.1 Apollo 架构 ⭐⭐ / §T4.2 EM 迭代详解 ⭐⭐⭐ / §T4.3 Open Space(泊车联合)⭐⭐⭐ / §T4.4 Autoware 流水线 ⭐⭐⭐ / §T4.5 两框架对比 ⭐⭐ / §T4.6 工业为何坚持解耦 ⭐⭐。

T5 · 多智能体时空协调 ⭐⭐⭐ · ✅ 全方向核心

定位:从"单体"到"多体"——N 个智能体如何在**共享**时空里互不冲突,复杂度从多项式跳到 NP-hard。 前置:T3(轨迹优化)、图搜索算法。 核心知识点:CBS 冲突基搜索(双层:高层冲突树 + 低层单 agent 搜索,最优但 NP-hard)· LaCAM(配置空间搜索 + 惰性后继 + PIBT,万级 agent)· ORCA(速度障碍、半平面、各担一半责任的去中心化避碰)· EGO-Swarm(B-spline 凸包 + 碰撞惩罚 + 拓扑逃逸的连续轨迹互斥)· MADER/RMADER(分离超平面硬约束保证、通信延迟鲁棒)· 三类方法(离散 MAPF / 速度避碰 / 轨迹级)的统一视角与选型。 关键论文:Sharon et al.(AIJ 2015)CBS;Okumura(AAAI 2023)LaCAM;van den Berg et al.(ISRR 2011)ORCA/RVO2;Zhou et al.(ICRA 2021 / Science Robotics 2022)EGO-Swarm;Tordesillas & How(T-RO 2022)MADER;Kondo et al.(RA-L 2023)RMADER。 配套项目:把累积项目从单机规划扩展为**多智能体协调器**(承接 T1–T3 的单机规划层,本章加多机去冲突);含可运行的 CBS / LaCAM / ORCA 最小实现。 逐节:§T5.1 CBS ⭐⭐⭐ / §T5.2 LaCAM ⭐⭐⭐ / §T5.3 ORCA ⭐⭐⭐ / §T5.4 EGO-Swarm ⭐⭐⭐ / §T5.5 MADER/RMADER ⭐⭐⭐ / §T5.6 谱系与选型 ⭐⭐。

T6 · 端到端与扩散式时空规划 ⭐⭐ · 🔬 前沿 · 论文解读教学

定位:从"经典优化"到"学习生成"——让神经网络从数据直接学出时空轨迹(天然输出 \((x(t),y(t))\)),2024–2026 前沿。 前置:T3(轨迹优化)、深度学习基础。 核心知识点:三篇核心论文深度解读 + 非核心群 + 安全架构——UniAD(planning-oriented 端到端,query 贯通感知-预测-规划六任务,两阶段训练)· Diffusion Policy(动作序列去噪、receding horizon、多模态从随机起点而来、位置 vs 速度控制)· PLUTO(纵横解耦 + 对比模仿学习 CIL + 六个数据增强 + 辅助损失,首次模仿学习闭环超规则派)· 非核心群(VAD / Hydra-MDP / Diffusion Planner / EMMA)· 安全过滤架构(学习生成 + 经典栈兜底的"生成-验证"范式)· nuScenes 开环评估的批判。 关键论文:UniAD(Hu et al., CVPR 2023 Best Paper, arXiv:2212.10156);Diffusion Policy(Chi et al., RSS 2023 / IJRR 2024, arXiv:2303.04137);PLUTO(Cheng et al., arXiv:2404.14327);Diffusion Planner(Zheng et al., ICLR 2025 Oral, arXiv:2501.15564)。 配套项目:复现指南——先用 diffusers + nuScenes 入门,再上 nuPlan 闭环;动手把"动作扩散"改造成"时空轨迹扩散"。 结构:核心论文 A UniAD ⭐⭐⭐ / B Diffusion Policy ⭐⭐⭐ / C PLUTO ⭐⭐⭐ / 非核心论文群 / 安全过滤架构。

附 · 综合对比与附录 ✅ 全方向

定位:专题收官的横向综合 + 长期参考资料。 核心内容:四范式深度对比(PVD 半联合 → 走廊联合搜索 → 连续优化完全联合 → 端到端天然联合,各讲"换来/付出"+ 三视角分析)· C++ 生态成熟度对比("前沿性与可落地性反相关"的反直觉结论)· 选型决策(场景 → 方法决策流程图 + 三法则)· 附录 A 27 篇论文分级清单 · 附录 B 23 个开源项目分优先级 · 附录 C 跨大纲衔接点 · 附录 D 四条学习路线 · 附录 E 20 张方法卡片速查。

这份大纲怎么用:它是你的"进度条"和"定位器"。学之前**通读一遍,对每章的内容密度与配套项目有数(比如看到 T3 的五个方法 CILQR/TEB/OBCA/MINCO/CPC,就知道这章是连续优化的"方法大全";看到累积项目主线,就知道 T1–T5 是一个越长越强的系统);**学之中**对照逐节列表确认"我学到哪、还剩几节、项目升级到哪一层";**学之后**回看,凡是能对着小节标题说出"这节讲了什么、解决谁的问题、给项目加了什么"的,才算真的掌握。特别提醒:**每章末尾那一两节往往是"选型 / 实战 / 对比"(如 §T3.6、§T4.6、§T5.6、各章的"完整管线实战")——它们把前面的单点方法收拢成可用的判断,是把知识变成能力的地方,别跳过。

八、结语:带着这张地图出发

你现在站在整个时空联合规划专题的入口。回顾一下这篇导论给你的东西:

  • 一个核心问题(第一节):空间和时间在动态交互环境中不可分离,经典的"先路径后速度"会失效。
  • 一份工具清单(第二节):QP、NLP、图搜索、因子图、MPC——你大半已经会,本专题教你如何用它们攻新问题。
  • 一张路线图(第三节):六章从"理解解耦失效"到"学习生成"的动机链。
  • 三个认知跨越(第四节):打破"空间时间可分""碰撞与时间可分""多体可分"三个幻觉——这是要永久带走的思维转变。
  • 一份迁移清单(第五节):你的 SLAM/方向增量能力如何直接迁移过来。
  • 一套使用方法(第六、七节):八段式结构、三种节奏、三条主线、章节索引。

本质洞察(最后一句叮嘱):这个专题最容易陷入的误区,是把它学成"几十个时空规划算法的清单"。但算法只是表象——真正的内核是一个判断力:识别一个规划问题里'你以为可分、实则耦合'的维度,并在统一框架里处理这种耦合。带着这个内核去读六章,每个算法你都会看到它"在补哪个耦合的洞、付出了什么代价";只记算法,你会淹没在细节里。地图已经在你手上——它的中心是"耦合"二字。现在,进入 T1,从理解"解耦为何够用、又为何失效"开始。

学完六章后,如果你想继续——当规划要面对"模型/感知不确定",去**不确定性规划**专题;当他车从被动障碍变成有目标的博弈对手,去**博弈规划**专题。这两条延伸,都从本专题"世界确定、他人被动"的假设的裂缝出发。但那是后话。眼下,T1 在等你。


(时空联合规划专题·总论与导读 完。本文为专题导论,不含具体算法推导与代码——那些在 T1–T6 六章正文中。论文/实验室信息基于 2026 年 4 月调研。)