轨迹优化方法对比与分类

本章定位:全面梳理轨迹优化领域的知识体系,通过多维度分类、方法对比和关系图谱,建立对各种优化方法的整体认知。


⭐ 重要概念区分:框架 vs. 求解器

在轨迹优化领域,需要区分控制框架具体求解器

控制框架具体求解器
定义定义"何时优化、如何执行"的控制范式实际求解优化问题的算法
代表MPC(模型预测控制)LQR、iLQR、DDP、CMA-ES、SAMCON
关系框架可以结合不同的求解器求解器可以服务于不同的框架
类比汽车的"自动驾驶系统"汽车的"发动机"(汽油/柴油/电动)

MPC 框架 + 不同求解器

MPC 框架(滚动时域优化)
    │
    ├─ 结合 LQR 求解器     →  LQR-MPC(仅限线性系统)
    │
    ├─ 结合 iLQR 求解器    →  iLQR-MPC(适用于平滑非线性问题)⭐最常用
    │
    ├─ 结合 DDP 求解器     →  DDP-MPC(适用于高精度需求)
    │
    ├─ 结合 CMA-ES        →  Sampling-MPC(适用于不可微问题)
    │
    ├─ 结合 SAMCON        →  粒子滤波 MPC(适用于角色控制)
    │
    └─ 结合凸优化         →  Convex-MPC(适用于凸问题)

关键理解

  • MPC 不是算法,是框架 —— 它定义了"每帧优化、只执行第一步"的思想
  • 求解器是具体实现 —— 它实际计算最优控制序列
  • 同一个 MPC 框架,换不同求解器,适用于不同问题

一、方法全景图(Mind Map)

mindmap
  root((轨迹优化方法))
    按优化时机
      离线优化
        CMA-ES
        iLQR
        DDP
        :: icon(fa fa-clock-o)
        一次性计算
        适用于动作生成
      在线优化
        MPC
        SAMCON
        :: icon(fa fa-refresh)
        每帧重新计算
        适用于实时控制
    按求解方法
      解析法
        LQR
        :: icon(fa fa-check)
        闭式解
        仅限线性系统
      数值法
        基于梯度
          iLQR 一阶
          DDP 二阶
        无梯度
          CMA-ES
          SAMCON
      学习法
        DeepMimic
        AMP
        :: icon(fa fa-brain)
        训练一次推理多次
    按控制方式
      开环控制
        纯轨迹跟踪
        :: icon(fa fa-chain)
        无反馈
      闭环控制
        PD 控制
        MPC
        :: icon(fa fa-sync)
        状态反馈
    按力矩来源
      前馈控制
        逆动力学
        轨迹优化输出
        :: icon(fa fa-forward)
      反馈控制
        PD 控制
        :: icon(fa fa-undo)
      复合控制
        前馈 + 反馈
        :: icon(fa fa-plus)
    典型应用场景
      动作生成
        iLQR DDP CMA-ES
      实时控制
        MPC SAMCON
      通用策略
        DeepMimic AMP

二、三组核心分类概念

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

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

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

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

代表方法

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

优缺点对比

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

直观类比

离线优化在线优化
开车出门前查好导航路线根据实时路况调整路线
做饭按菜谱步骤执行根据食材状态调整火候

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

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

框图对比

开环控制

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

闭环控制

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

优缺点对比

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

维度 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{反馈}} $$

优缺点对比

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

四、四种维度分类法

轨迹优化方法可以从四个维度进行分类:


维度 1:按优化时机(输入信息)

离线优化在线优化
输入仅参考轨迹参考轨迹 + 当前状态
优化频率一次(整条轨迹)每帧/实时(滚动优化)
代表方法CMA-ES、iLQR、DDP、DeepMimic(训练)MPC、SAMCON、DeepMimic(推理)
优点可预先计算、推理快可应对扰动、鲁棒性强
缺点无法应对扰动计算成本高

维度 2:按求解方法

解析法(闭式解)数值法(迭代)学习法(数据驱动)
核心思想公式直接求解迭代优化逼近最优学习策略生成轨迹
代表方法LQRiLQR、DDP、CMA-ES、SQPDeepMimic、AMP、SAC
梯度需求N/A需要(一阶/二阶/零阶)需要/不需要
收敛速度瞬时慢→快(取决于方法)训练慢、推理快
适用系统线性非线性任意
泛化能力N/A无(每任务一次)有(可处理新情况)

维度 3:按是否需要梯度

基于梯度无梯度(零阶)
特点收敛快、需要可微模型收敛慢、适用于任意问题
代表方法iLQR、DDP、SQP、IPOPTCMA-ES、SAMCON
适用场景平滑问题、精确跟踪非凸问题、接触频繁

维度 4:按优化变量

状态优化控制优化同时优化
优化变量仅状态轨迹 \((q, \dot{q})\)仅控制轨迹 \((\tau)\)两者都优化
代表方法运动规划逆动力学大多数轨迹优化方法
特点简单但可能不可行保证物理可行最完整但计算复杂

维度 5:按是否需要模型(Model-based vs. Model-free)

Model-basedModel-free
核心区别需要已知的动力学模型 \(f(s,a)\)无需显式模型,通过采样学习
代表方法iLQR, DDP, MPCCMA-ES, SAMCON, Deep RL
样本效率高(利用模型信息)低(需要大量采样)
计算成本高(需要计算梯度/雅可比)中/高(取决于采样数量)
适用场景平滑、可微、模型已知黑盒、不可微、模型未知

Model-based 方法的局限

Model-based 方法要求动力学函数 \(f(s,a)\) 是已知的,但实际情况可能是:

问题说明示例
未知的(Unknown)系统动力学未知新型机器人、未知环境
不精确的(Inaccurate)模型存在误差测量误差、问题简化
性质很差的(Poorly-behaved)梯度不能提供有用信息接触频繁、高度非线性

注意:Model-free 不是完全不需要「模型」——它通过采样直接从 \(s_t\) 得到 \(s_{t+1}\),只是不需要显式的动力学函数。

方法选择建议

  • 模型精确 + 平滑问题 → Model-based(iLQR/DDP)
  • 模型未知/接触复杂 → Model-free(CMA-ES/RL)

四、完整方法对比表

方法时机求解类型梯度闭式解适用场景
LQR离线/在线解析法N/A线性系统
iLQR离线/在线数值法一阶⚠️ 每轮闭式平滑非线性问题
DDP离线/在线数值法二阶⚠️ 每轮闭式高精度需求
CMA-ES离线数值法零阶非凸/不可微问题
SAMCON在线数值法零阶角色实时控制
MPC在线数值法取决于求解器⚠️实时控制 + 约束
DeepMimic离线训练 + 在线推理学习法一阶通用策略学习
AMP离线训练 + 在线推理学习法一阶无标注模仿学习

数值优化方法详细对比

方法梯度需求适用维度收敛速度适用于角色
CMA-ES无需低维✅ 简单动作
SAMCON无需中维✅ 常用
iLQR一阶高维✅ 常用
DDP二阶高维很快⚠️ 计算复杂
MPC取决于求解器中 - 高维快(热启动)✅ 实时控制

五、方法详解

1. LQR - Linear Quadratic Regulator

核心思想:线性系统 + 二次代价 → 闭式解

特点说明
假设线性动力学 + 二次目标函数
优点闭式解、计算瞬时
缺点仅适用于线性系统
适用线性系统或局部近似

2. iLQR - Iterative LQR

核心思想:迭代线性化 + LQR 求解

特点说明
优点收敛快、适用于平滑问题
缺点需要可微模型、可能陷入局部最优
适用轨迹优化、局部修正

3. DDP - Differential Dynamic Programming

核心思想:基于二阶泰勒展开的动态规划

特点说明
优点二阶收敛、精度高
缺点计算复杂、需要二阶导数
适用高精度轨迹优化

4. CMA-ES

核心思想:进化策略,通过采样和选择迭代优化

特点说明
优点无需梯度、适用于非凸问题
缺点样本效率低、收敛慢
适用低维问题、目标函数不平滑

5. SAMCON

核心思想:采样模型预测控制,结合 CMA-ES 和 MPC

特点说明
优点适用于角色控制、可处理复杂约束
缺点需要大量采样
适用轨迹跟踪、平衡控制

6. MPC - Model Predictive Control

核心思想:滚动时域优化,每帧基于当前状态重新规划未来 N 步,只执行第一步

特点说明
优点闭环最优、显式处理约束、应对扰动
缺点计算成本高、模型依赖
适用实时控制、复杂约束场景

7. DeepMimic/AMP

核心思想:学习策略生成轨迹

特点说明
优点泛化能力强、推理快速
缺点需要大量训练、可解释性低
适用通用角色控制、游戏 AI

六、轨迹优化 vs. 策略优化

重要区分:轨迹优化和策略优化是两种不同的优化范式。

轨迹优化策略优化
输出一条轨迹 \((\mathbf{x}{0:T}, \mathbf{u}{0:T})\)一个策略函数 \(\pi(\mathbf{s}; \theta)\)
优化对象有限维向量(轨迹点)函数参数 \(\theta\)(如神经网络权重、线性策略矩阵)
泛化能力❌ 仅适用于该轨迹✅ 可处理新状态
计算成本中(秒级)高(分钟级)
代表方法iLQR、DDP、CMA-ES(优化轨迹)CMA-ES(优化参数)、强化学习

用采样方法学习策略(CMA-ES)

CMA-ES 既可以优化轨迹,也可以优化策略参数:

用 CMA-ES 学习线性反馈策略:

1. 参数化策略:a = M·δs + â
   - M: 反馈矩阵
   - â: 前馈项

2. 用 CMA-ES 优化参数 (M, â)
   - 采样候选参数 {θᵢ}
   - 仿真评估每个候选策略
   - 更新高斯分布的均值和方差

3. 输出最优策略参数 θ*

工程实践要点(Liu et al. 2012 - Terrain Runner):

技巧说明
手动选择状态仅选择关键状态(根结点旋转、质心位置/速度、支撑脚位置)
手动选择控制仅对少数关键关节加反馈
矩阵分解\(M_{12×9} = M_{12×3} · M_{3×9}\),减少优化变量

注意:这里的策略优化仍然是离线优化,不同于强化学习的在线学习。


七、常见组合方案

方案 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离线开环纯前馈最低纯轨迹跟踪

七、轨迹优化 vs. 强化学习

维度轨迹优化DeepMimic/AMP
输出单一轨迹 \(\mathbf{x}_{0:T}\)策略 \(\pi(\mathbf{a}
计算时机离线优化(每任务一次)训练一次,在线推理
泛化能力无(仅适用于该轨迹)有(可处理新情况)
计算成本高(分钟级)低(毫秒级推理)
适用场景特定动作生成通用角色控制

关系

  • 轨迹优化结果可作为 RL 的参考轨迹
  • RL 可学习模仿轨迹优化的行为

八、方法选择建议

问题类型 → 推荐方法
─────────────────────────
线性系统 → LQR
平滑非线性 → iLQR/DDP
接触频繁/不可微 → CMA-ES
实时控制 → MPC/SAMCON
需要泛化 → DeepMimic/AMP
离线制作动作 → iLQR/DDP/CMA-ES

选择流程图

flowchart TD
    A[开始:选择优化方法] --> B{系统是否线性?}
    B -->|是 | C[LQR]
    B -->|否 | D{是否可微/平滑?}
    D -->|是 | E{需要实时控制吗?}
    D -->|否 | F[CMA-ES]
    E -->|否 | G{精度要求?}
    G -->|高 | H[DDP]
    G -->|一般 | I[iLQR]
    E -->|是 | J[MPC/SAMCON]
    D -->|需要泛化 | K[DeepMimic/AMP]
    
    style C fill:#90EE90
    style F fill:#FFE4B5
    style H fill:#87CEEB
    style I fill:#87CEEB
    style J fill:#DDA0DD
    style K fill:#FFB6C1

九、关键要点总结

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

  • 离线/在线:什么时候计算
  • 开环/闭环:是否用反馈
  • 前馈/反馈:力矩从哪里来

四种分类维度

  • 按优化时机:离线优化 vs. 在线优化
  • 按求解方法:解析法 (LQR) vs. 数值法 (iLQR/DDP/CMA-ES) vs. 学习法 (DeepMimic/AMP)
  • 按梯度需求:基于梯度 (iLQR/DDP) vs. 无梯度 (CMA-ES/SAMCON)
  • 按优化变量:状态优化 vs. 控制优化 vs. 同时优化

常见组合方案

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

概念关系

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

选择建议

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

📚 深入学习


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