【免费下载链接】Robotics_Tutorial
体系化的机器人教学文档,涵盖数学基础、C++进阶、规划控制、SLAM等
Robotics Tutorial 是一套体系化的机器人教学文档,覆盖数学基础、C++进阶、SLAM、移动机器人规划控制等完整知识体系。其中「不确定性规划」专题(Part-U)系统拆解了鲁棒MPC、机会约束、分支场景规划、POMDP 与 CVaR 五种安全方法,帮助你在真实机器人系统中做出正确的选型判断。本文为你绘制一张完整的方法地图。
为什么需要不确定性规划方法地图?
🤖 确定性 MPC 默认三条假设:模型准确、扰动可忽略、观测完美。一旦这三条破裂——四足上斜坡打滑、无人机被阵风吹偏、自动驾驶车看不清他车意图——名义规划器就会翻车。
不确定性规划专题给出的答案是:不同来源的不确定性,需要不同的"安全谱"来应对。该专题位于 30_不确定性规划/ 目录下,由 1 篇总论 + 5 条路线章 + 1 篇综合附录构成:
| 章节 | 主题 | 核心方法 |
|---|---|---|
| U0 总论 | 五范式坐标系与选型逻辑 | 不确定性四分类 |
| U1 分支场景 | 离散多模态未来 | MPDM、EPSILON、Multi-stage NMPC |
| U2 鲁棒规划 | 有界扰动硬保证 | Tube MPC、CBF-QP、GP-MPC |
| U3 机会约束 | 概率扰动可控风险 | CC-MPC、IRA、CC-RRT |
| U4 POMDP | 感知端认知不确定性 | POMCP、DESPOT、SARSOP |
| U5 风险敏感 | 尾部灾难性风险 | CVaR-MPC、分布式 RL |
| 附录 | 横向对比与选型决策树 | 综合 Benchmark |
五条安全谱:从最保守到最进取一张表看懂
🧭 五种路线本质上是在回答同一个问题——"安全到底意味着什么"——的五种不同答案:
| 维度 | 鲁棒规划 | 机会约束 | CVaR | POMDP | 分支/Contingency |
|---|---|---|---|---|---|
| 不确定性表征 | 有界集合 $w\in\mathcal{W}$ | 概率分布 | 分布+风险偏好 $\alpha$ | 后验信念 $b(x)$ | 离散场景集+概率 |
| 安全保证 | 集合内 100% | 违反概率 $\le\delta$ | 尾部平均受控 | 期望回报最优 | 各分支可行 |
| 保守度 | 最高 | 中($\delta$ 可调) | 可调($\alpha$ 调) | 中 | 中—低 |
| 主攻入口 | 执行端(有界扰动) | 执行端(概率扰动) | 评估端(代价尾部) | 感知端(状态不可见) | 交互端(离散意图) |
| C++ 生态 | 强(acados/OCS2) | 弱 | 弱 | 中—强 | 中 |
💡核心洞察:五条路线不是互斥的"单选题",而是可叠加的"工具层"。真实系统常常是:用分支处理他车意图,分支内部用机会约束处理连续扰动,整体再用 CBF 兜一道瞬时安全底线。
快速选型指南:你的问题该走哪条路线
拿到一个真实问题,按四个问题快速定位(源自 70_综合对比与附录.md 的选型决策树):
Q1:瓶颈是"看不清状态"吗?→ 是:POMDP/Belief 规划(U4)Q2:未来是几种离散的可能(他车变道/不变道)?→ 是:分支/场景规划(U1)Q3:扰动有界且需要"碰一次都不行"的硬保证?→ 是:鲁棒规划 Tube MPC(U2)Q4:能容忍小概率违反,想换流畅性?→ 机会约束(U3);特别在意罕见灾难 → CVaR(U5)
对应关系一目了然:
- 有界集合扰动 + 硬安全要求 →Rigid Tube MPC
- 高斯扰动 + 可接受小概率违反 →CC-MPC + IRA
- 离散意图不确定性(他车/行人) →MPDM / EPSILON
- 感知不确定性(遮挡、传感器受限) →DESPOT / POMCP
- 灾难性尾部后果(载人、医疗) →CVaR-MPC / IQN
- 连分布都不知道(sim-to-real) →分布鲁棒 DR-CC / DR-CVaR
⚠️最常见选型错误:把"看不清状态"(感知端,该用 U4)误当成"状态有扰动"(动力学端,用 U2/U3),结果机器人既不主动探索、又过度保守。记住口诀:U4 是"我不知道我在哪",U2/U3 是"我知道我在哪但会被推偏"。
五大路线精读:各章看点速览
鲁棒规划 Tube MPC:工程生态最强,优先学习
Tube MPC 的精髓是把"在线对抗扰动"拆成离线算不变管道 $\Omega$+在线解名义 MPC,鲁棒性代价主要由离线买单,因此能上嵌入式实时系统。CBF-QP 安全滤波器还能套在任意控制器(包括 RL 策略)外面实时拦截危险动作。C++ 生态成熟:acados、OCS2、Crocoddyl 直接可用。详见 30_鲁棒规划与安全滤波.md。
机会约束:把"安全"变成可分配的风险预算
机会约束的精髓是把安全从布尔判断变成连续资源:违反概率 $\delta$ 可以分配到每一步、每一个约束上。高斯假设下的解析收紧把概率约束化为确定性约束($\Phi^{-1}(1-\delta)\times$ 标准差),IRA 迭代风险分配进一步大幅降低保守度。注意陷阱:$\delta$ 通常是每步/每约束的上界,整条轨迹的联合失败率会累积放大,需用 union bound 或风险分配重算预算。详见 40_机会约束规划.md。
分支场景规划:为多种离散未来各备一条策略
当未来是"让行/抢行"这类离散模态时,单轨迹规划器会陷入 frozen robot(僵住)或决策振荡。分支规划用"共享干 + 加权分支"化解:当前动作对所有分支都安全,未来分叉时各自优化。代表方法 MPDM、EPSILON(引导式分支控制树规模)。详见 20_分支场景规划.md。
POMDP:看不清世界时,在 belief 空间上做决策
POMDP 的关键转变是把决策对象从"点估计"升级为"状态后验分布"。belief update 就是贝叶斯滤波——SLAM 工程师已经天天在做,POMDP 只是在 belief 之上加决策,并显式权衡"行动"与"为了看清而探索"。DESPOT 用确定化稀疏 belief 树实现大规模在线求解,C++ 生态成熟。详见 50_POMDP与Belief规划.md。
CVaR:期望与最坏情况之间的连续旋钮
机会约束只看"会不会出事"(违反概率),CVaR 还看"出事有多惨"(最坏 $(1-\alpha)$ 尾部的平均损失)。$\alpha$ 从 0 到 1 扫描,策略从"激进省时"平滑过渡到"保守避险"。它与分布式 RL(C51/QR-DQN/IQN)交界最深。详见 60_风险敏感规划CVaR.md。
推荐学习路径与阅读时间
📚 官方推荐顺序(从工程直观走向理论深度):
U2 鲁棒MPC/CBF(建立工程手感) → U3 机会约束(硬约束过渡到概率约束) → U5 CVaR(概率语言到风险公理化) → U1 分支场景(多模态离散未来) → U4 POMDP(理论压轴,DESPOT 主项目)| 阅读方式 | 时间 | 适合谁 |
|---|---|---|
| 精读(含推导+实现) | 4–6 小时/章 | 第一次系统进入的读者 |
| 速读(抓主线+本质洞察) | 1.5–4 小时/章 | 有 MPC 背景、要快速建图 |
| 速查(只看对比表+决策树) | 20 分钟 | 已在学习、回来查选型 |
🎯工程落地建议:U2 生态最成熟(直接买库),U3/U5 生态几乎空白(原创贡献沃土)——想快速交付选 U2/U4,想做有影响力的研究选 U3/U5。
章节资料快速导航
| 资料 | 相对路径 |
|---|---|
| 总论导论 | 10_不确定性规划总论.md |
| 分支场景规划 | 20_分支场景规划.md |
| 鲁棒规划与安全滤波 | 30_鲁棒规划与安全滤波.md |
| 机会约束规划 | 40_机会约束规划.md |
| POMDP与Belief规划 | 50_POMDP与Belief规划.md |
| 风险敏感规划CVaR | 60_风险敏感规划CVaR.md |
| 综合对比与选型附录 | 70_综合对比与附录.md |
| 移动规控方向总大纲 | 移动规控方向_总大纲.md |
💬一句话总结:不确定性规划的核心不是"调大安全裕度",而是先判断不确定性从哪个入口进入(执行端/感知端/交互端/评估端),再选最轻量够用的路线,必要时正交叠加。掌握这张方法地图,你就从"记住五个算法"升级到了"会选路线"。
【免费下载链接】Robotics_Tutorial
体系化的机器人教学文档,涵盖数学基础、C++进阶、规划控制、SLAM等
相关推荐
WebAssembly 非确定性(Nondeterminism)全解析:有限的、局部的执行结果不确定性如何被规范约束
WebAssembly 非确定性(Nondeterminism)全解析:有限的、局部的执行结果不确定性如何被规范约束 导读 本文系统讲解 WebAssembly
编程语言SolidCraft约束系统完全指南:如何完全约束草图并看懂自由度提示
SolidCraft约束系统完全指南:如何完全约束草图并看懂自由度提示 SolidCraft 是一款用纯 Rust 编写的开源参数化 3D CAD 应用,支持桌
图形学3D渲染桌面应用MCP 服务skfolio 不确定性集合与鲁棒优化:Bootstrap 方法抵御市场估计误差
skfolio 不确定性集合与鲁棒优化:Bootstrap 方法抵御市场估计误差 skfolio 是构建在 scikit learn 之上的 Python 投资
金融科技数据科学
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考