轨迹优化相关概念澄清

本章定位:澄清轨迹优化中容易混淆的概念,包括离线/在线、开环/闭环、前馈/反馈三组概念的区别与联系。


三组容易混淆的概念

轨迹优化领域有三组分类概念,它们经常被混用,但实际上是三个不同维度的分类:

维度分类核心问题
维度 1:优化时机离线 vs. 在线什么时候计算控制策略?
维度 2:控制方式开环 vs. 闭环是否使用当前状态反馈?
维度 3:力矩来源前馈 vs. 反馈力矩从哪里来?

维度 1:离线优化 vs. 在线优化(Optimization Timing)

定义

离线优化在线优化
计算时机任务执行前预先计算任务执行中实时计算
计算频率一次(或偶尔重新计算)每帧/每隔几帧
输出完整的轨迹/策略当前步的轨迹/策略
计算时间可以很长(秒/分钟级)必须很短(毫秒级)

代表方法

离线优化在线优化
轨迹优化CMA-ES、iLQR、DDPMPC、SAMCON
学习方法DeepMimic(训练阶段)DeepMimic(推理阶段)

优缺点对比

维度离线优化在线优化
计算成本低(只做一次)高(持续计算)
抗扰动能力❌ 弱(无法应对意外)✅ 强(可实时调整)
适用场景预先制作动作库实时交互控制

直观类比

离线优化在线优化
开车出门前查好导航路线根据实时路况调整路线
做饭按菜谱步骤执行根据食材状态调整火候
结果路线最优但怕堵车可避开拥堵但计算成本高

维度 2:开环控制 vs. 闭环控制(Control Architecture)

定义

开环控制闭环控制
是否使用反馈❌ 不使用当前状态✅ 使用当前状态
输入仅初始状态 + 预设指令初始状态 + 实时状态反馈
抗扰动能力❌ 弱(扰动后无法恢复)✅ 强(可纠正偏差)
输出预设动作序列根据状态调整的动作

框图对比

开环控制

初始状态 → 控制器 → 动作序列 → 执行 → 结果

闭环控制

              ┌──────────────┐
              │              │
              ▼              │
目标状态 → (+) → 控制器 → 执行 → 当前状态
              ▲              │
              │              │
              └─────传感器───┘
                (状态反馈)

代表方法

开环控制闭环控制
轨迹跟踪纯轨迹跟踪(无 PD)PD 跟踪、MPC
特点简单但脆弱鲁棒但复杂

优缺点对比

维度开环控制闭环控制
结构简单✅ 简单❌ 需要传感器/反馈
抗扰动❌ 无✅ 强
精度❌ 依赖模型精度✅ 可纠正误差
稳定性❌ 可能发散✅ 通常稳定

直观类比

开环控制闭环控制
投篮闭眼投出,不调整看着篮筐,实时调整
开车闭眼开,只靠预设方向盘看着路,随时修正方向
结果有扰动就偏离可抵抗扰动

维度 3:前馈控制 vs. 反馈控制(Torque Source)

定义

前馈控制反馈控制
力矩来源预先计算的力矩 $\tau^*$根据误差计算的力矩
计算公式$\tau = f(\text{模型}, \text{目标})$$\tau = k_p e + k_d \dot{e}$
是否需要模型✅ 需要(逆动力学)⚠️ 需要较少
响应速度快(无需等待误差)慢(需要误差出现)

公式对比

前馈控制: $$ \tau_{\text{feedforward}} = \text{InverseDynamics}(q^, \dot{q}^, \ddot{q}^*) $$

反馈控制(PD): $$ \tau_{\text{feedback}} = k_p (q^* - q) + k_d (\dot{q}^* - \dot{q}) $$

复合控制(前馈 + 反馈): $$ \tau = \underbrace{\tau_{\text{feedforward}}}{\text{前馈}} + \underbrace{k_p (q^* - q) + k_d (\dot{q}^* - \dot{q})}{\text{反馈}} $$


代表方法

前馈控制反馈控制
方法轨迹优化的控制轨迹、逆动力学PD 控制、 Stable PD
特点精确但需要模型鲁棒但有稳态误差

优缺点对比

维度前馈控制反馈控制
响应速度✅ 快(预先计算)❌ 慢(需误差出现)
模型依赖❌ 高(需要精确模型)✅ 低
抗扰动❌ 弱✅ 强
稳态误差✅ 无❌ 有(需要误差才能输出力矩)

直观类比

前馈控制反馈控制
弹琴记住谱子,凭肌肉记忆弹奏听音准,实时调整手指
开车上山凭经验预先踩油门看速度表,慢了加油快了收油
最佳方案记住谱子 + 听音调整(前馈 + 反馈)

三组概念的关系

核心区别

概念对核心问题与其他概念的关系
离线 vs. 在线什么时候计算?决定前馈力矩的计算时机
开环 vs. 闭环是否用反馈?闭环 = 有反馈控制
前馈 vs. 反馈力矩从哪里来?前馈通常来自离线/在线优化

常见组合方案

方案 1:离线优化 + 前馈 + 反馈(最常用)

离线轨迹优化 → 目标轨迹 (q*, q̇*) + 控制轨迹 (τ*)
                        ↓
              在线 PD 控制:τ = τ* + k_p·e + k_d·ė
                        ↓
              闭环控制(前馈 + 反馈)
维度选择说明
优化时机离线预先计算轨迹和控制
控制方式闭环使用 PD 反馈
力矩来源前馈 + 反馈$\tau = \tau^* + \text{PD}$

优点

  • 前馈提供主要驱动力(60-80%)
  • 反馈负责抗扰动和纠偏(20-40%)
  • 计算成本低(离线优化一次)

适用场景:动捕跟踪、预先制作的动作


方案 2:在线优化 + 前馈 + 反馈(MPC)

每帧:
  1. 测量当前状态 x
  2. 在线优化 → 新目标轨迹 + 新控制轨迹 (τ*)
  3. PD 控制:τ = τ* + k_p·e + k_d·ė
维度选择说明
优化时机在线每帧重新优化
控制方式闭环使用当前状态反馈
力矩来源前馈 + 反馈$\tau = \tau^* + \text{PD}$

优点

  • 可应对动态变化的环境
  • 可处理突发扰动

缺点

  • 计算成本高
  • 需要高效求解器

适用场景:实时交互、复杂地形行走


方案 3:纯反馈(DeepMimic)

RL 策略 → 目标轨迹 (q*, q̇*)
              ↓
PD 控制:τ = k_p·e + k_d·ė(无前馈)
维度选择说明
优化时机离线(训练)训练一次,推理多次
控制方式闭环使用 PD 反馈
力矩来源纯反馈$\tau = \text{PD}$ only

优点

  • 无需轨迹优化
  • 策略可泛化

缺点

  • 需要大量训练
  • 稳态误差较大

适用场景:通用角色控制、游戏 AI


完整对比表

方案优化时机控制方式力矩来源抗扰动计算成本代表方法
方案 1离线闭环前馈 + 反馈轨迹优化 + PD
方案 2在线闭环前馈 + 反馈✅✅MPC
方案 3离线闭环纯反馈DeepMimic
方案 4离线开环纯前馈最低纯轨迹跟踪

关键要点总结

  1. 三组概念是不同维度的分类

    • 离线/在线:什么时候计算
    • 开环/闭环:是否用反馈
    • 前馈/反馈:力矩从哪里来
  2. 常见组合方案

    • 最佳实践:离线优化 + 闭环控制 + 前馈 + 反馈
    • 实时应用:在线优化(MPC)+ 闭环控制
    • 学习方法:离线训练 + 闭环控制 + 纯反馈
  3. 概念关系

    • 离线/在线优化 → 输出前馈力矩
    • 开环/闭环 → 决定是否使用反馈
    • 前馈/反馈 → 力矩的两个来源,可以组合使用
  4. 选择建议

    • 需要抗扰动 → 闭环 + 反馈
    • 需要精确跟踪 → 加前馈
    • 计算资源有限 → 离线优化
    • 环境动态变化 → 在线优化(MPC)

📚 深入学习


本文出自 CaterpillarStudyGroup,转载请注明出处。 https://caterpillarstudygroup.github.io/GAMES105_mdbook/