FRM-004
Formalization
Kelly(2017)直接配点轨迹优化教程的五层重建:以“连续问题→多项式样条近似→非线性规划”为主线,规范术语与约束分类(D),列出作者接受的前提(AX),重建从配点构造、插值、误差估计到网格细化与不连续性处理的论证链(AR),并分节记录作者评论与本库评论;Theorems/Evidence 层待 P3 投影回填。
| id | |
|---|---|
| updated | |
| type | formalization |
| formalizes | PPR-004 |
0. Overview
本文是 Kelly(SIAM Review 2017)直接配点(direct collocation)轨迹优化教程的形式化重建。教程的对象是单相连续时间轨迹优化问题(CPT-021)及其直接法求解:把连续问题转录(transcription)为非线性规划(CPT-022),用多项式样条近似连续函数,用配点约束(collocation constraints)在节点之间强制动力学(CPT-020)。核心问题:如何让读者能够自己实现直接配点——为此作者给出从一维玩具问题到双足行走的四个算例、两种配点方法、工程细节(初始化/误差分析/网格细化/调试/ 一致性)与实现代码。
边界:本文不展开 NLP 求解算法本身(引 [6][34][11]),不做实证级验证(DA8);数值结果为单机单例观察。重建聚焦作者逻辑(AX/AR/TH 候选),投影(CLM/EVI)待 P3 与 G1 门后进行。
1. Definitions
术语绑定(CPT 为规范定义所在;未入库概念标 CANDIDATE,不新建 CPT):
| 术语(原文) | 绑定 | 出处 |
|---|---|---|
| 轨迹优化(trajectory optimization) | CPT-021 | §1、§1.4 |
| 非线性规划(non-linear program, NLP) | CPT-022 | §1.6 |
| 配点法 / 直接转录(direct collocation / transcription) | CPT-020 | §1.5、§3、§4 |
| 打靶法(shooting) | CPT-019 | §9.5–§9.6 |
| 网格细化(mesh refinement) | CPT-023 | §5.2–§5.3 |
| bang-bang 控制 | CPT-024 | §8 |
| 一致函数(consistent function) | CPT-025 | §5.5 |
| 开环解 / 闭环解(open-loop / closed-loop solution) | CPT-026 | §9.2 |
| 松弛变量(slack variable) | CPT-027 | §8.5 |
| Runge–Kutta 方法(含配点约束的隐式 RK 等价性) | CPT-028 | §5.2、§1.1 |
| 闭环(歧义路由) | DIS-003 | §9.2 与基准文献对照 |
| 样条(spline)/ 节点(knot point)/ 配点(collocation point) | CANDIDATE | §1.5、§3.4(CPT-020 已含配点法整体,细分术语暂不立卡) |
| 直接法 / 间接法(direct / indirect method) | CANDIDATE | §1.5、§9.4(作为 CPT-021 内部方法分类) |
| Bolza / Lagrange / Mayer 形式 | CANDIDATE | §1.4(并入 CPT-021 定义) |
| 可行 / 容许 / 最优(feasible / admissible / optimal) | CANDIDATE | §1.3(并入 CPT-021 定义) |
| 谱收敛(spectral convergence) | CANDIDATE | §9.7(并入 CPT-020 定义) |
| 差分动态规划(differential dynamic programming, DDP) | CANDIDATE | §9.8(本库尚无独立定义来源,待跨源确认后立卡) |
2. Axioms
作者接受而未证明的前提(不多不少;编号 AX-n 为本文档内编号):
- AX-1(问题范围)本文只考虑单相、连续时间的轨迹优化问题——动力学在整条轨迹上连续;更一般的框架见 [51] 并仅在 §9.9 简述。
- AX-2(直接法路线)直接法先离散化再优化:把连续问题转录为非线性规划,这是本文全部方法的选择前提(§1.5–§1.6)。
- AX-3(样条近似)连续函数可用多项式样条近似;理由是多项式可由有限系数表示,且其积分与导数易于用这些系数计算(§1.5)。
- AX-4(配点约束的构造)节点之间的动力学约束由动力学积分形式的数值求积近似得到(§3.2、§4.2)。
- AX-5(阶数关系)若控制是 \(n\) 阶样条,则状态由 \(n+1\) 阶样条表示(引 [6],§3.4)。
- AX-6(求解器要求)非线性规划求解器要求目标与约束函数一致(每次调用执行相同算术运算序列)(§5.5)。
- AX-7(求解器能力边界)NLP 求解器不能保证找到解;即使找到,也只保证局部最优(§5.1)。
- AX-8(全局最优判定)不存在判定全局最优的严格方法,实践中用“多初值/多转录方法收敛到同一解”等启发式(§5.4)。
3. Theorems
待 P3 投影回填(P2 骨架阶段只列候选命题标题,不复述内容):
- TH-1(候选)梯形配点的插值阶数:控制为线性样条、状态为二次样条。锚点:§3.4、式 3.7–3.10。
- TH-2(候选)Hermite–Simpson 的中点状态可由节点状态显式表达,故分离形式(separated form)与压缩形式(compressed form)等价。锚点:§4.2、式 4.3–4.4。
- TH-3(候选)最小功块移动问题的解析解为 bang-bang 形式;当 \(u_{\max}<4\) 时问题不可行。锚点:§8.2、式 8.5。
- TH-4(候选)无控制界(\(u_{\max}\to\infty\))时最小功解为脉冲。锚点:§8.2。
- TH-5(候选)\(|\cdot|\) 可用松弛变量做数学等价重写;\(\tanh\) 与平方根光滑近似分别从下、上两侧逼近 \(|\cdot|\)。锚点:§8.5–§8.6、式 8.9–8.13。
4. Evidence
待 P3 投影回填(P2 骨架阶段只列候选观察标题):
- EV-1(候选)四个算例的数值结果与代价读数:块移动(解析解对照)、cart-pole 摆起、五连杆双足、最小功块移动(松弛变量 vs 光滑化的迭代数/求解时间对比,图 17)。锚点:§2、§6.8、§7.6、§8.7、图 9–17。
- EV-2(候选)误差估计与网格细化观察:cart-pole 与双足的动力学误差随段变化、集中在中段。锚点:§5.3、图 11、图 15。
5. Argument
重建作者的论证结构(AR-n:哪个观察/构造承重哪个判断):
- AR-1(主转录链)连续时间轨迹优化问题 → 用多项式样条近似连续函数 → 用配点约束把动力学写成节点间代数约束 → 得到 NLP。这是全文主链:§1.5–§1.6 提出,§3(梯形)与 §4(Hermite–Simpson)各自实例化,§2 与 §6–§8 用算例演示。
- AR-2(阶数-精度-成本权衡)梯形配点把目标与动力学近似为分段线性,Hermite–Simpson 近似为分段二次,故后者高阶更准;同时状态轨迹成为三次 Hermite 样条、具有连续一阶导数。这是“更高阶换取更准”的论证(§4 开头、图 5)。
- AR-3(工程可行性论证)转录后的 NLP 要能解出来,取决于:初始化(§5.1)、网格细化与误差估计(§5.2–§5.3)、函数一致性(§5.5)、调试策略(§5.4)。这组论证把“方法正确”与“实现可收敛”分开——前者是数学转录,后者是数值工程。
- AR-4(不连续性论证)最小功算例暴露两类不连续:目标中的 \(|\cdot|\) 与解中的 bang-bang 切换。前者用松弛变量(等价)或光滑化(近似)处理,后者用网格细化或多相优化处理;图 17 以迭代数/求解时间展示精度-速度权衡。作者据此主张“光滑化会改变问题本身,必须做收敛测试”。
- AR-5(方法选择论证)不存在最优方法(§9.11):间接法更准但更难;打靶适合动力学需算准而控制结构简单的情形;配点适合动力学与控制精度相当、控制结构未知的情形;接触/混合系统在多相与 through-contact 之间按“间断是否由接触力学引起、运动相序列是否已知”选择。
- AR-6(定位论证)轨迹优化给开环解,实机部署需配稳定控制器;动态规划给闭环解且(基本形式)全局最优,但受维数灾难限制(§9.2)。
6. Commentary
作者评论
- 初始化“更像艺术而非科学”;建议尝试多种初始化策略并检查它们是否收敛到同一解(§5.1)。
- 控制平方/力矩平方类目标倾向产生光滑轨迹,理由有二:转录方法假设解可由多项式样条良好近似;光滑轨迹更易用常规控制器稳定(§6.2、§7.3)。
- 光滑化根本性地改变优化问题且方式未必显然,必须对逐次减小的光滑参数做收敛测试(§8.6)。
- 网格细化的一般流程是先用较低阶方法求解、再做误差分析,据结果决定细分段还是升阶(§9.11)。
- 对混合系统,多相优化在多数情形更可取(更易计算、更准);through-contact 适合间断源于接触力学且连续运动相序列未知的情形(§9.11)。
- 路径约束使问题显著更难(§3.3、§4.3);冗余约束只会给 NLP 制造数值问题(§7.4)。
- 不一致函数(\(|\cdot|\)、\(\min\)、\(\max\)、随机数、变步长积分、迭代求根、表插值、时间步进仿真器)会显著破坏收敛(§5.5)。
本库评论
- 教程定位与时效:PPR-004 是 2017 年教程,数值生态已变化——文中求解器清单仅 FMINCON/SNOPT/IPOPT(表 2),未覆盖自动微分建模框架(如 CasADi)与现代求解器生态;本库引用其方法学内容时应以此为界。
- 数值证据强度:全部数值结果为单机单例观察(cart-pole 5.91 s/71 次迭代;双足两网格;最小功三网格 × 四处理),无重复实验或统计,按 DA8 属文献级验证的观察层,不足以支撑方法级优劣结论。
- 图 17 的解读边界:松弛变量 vs 光滑化的迭代数/时间对比是单一问题实例的观察,作者也仅表述为“该问题上”的权衡;外推为通用结论违反 A5(scope 控制)。
- 术语注意:教程中 “direct collocation” 有宽窄两义(窄义=配点,宽义含打靶),CPT-020 已记录;引用时须按语境取义。
- 未覆盖内容(超出教程范围,本 FRM 不主张):实时性(QP 特例仅一句)、不确定性下的轨迹优化、学习型先验/数据驱动方法。
7. Traceability
| 原文位置 | 层元素 |
|---|---|
| §1.1–§1.4 | CPT-021、AX-1;Bolza/Lagrange/Mayer 与可行/最优(CANDIDATE) |
| §1.5 | CPT-020、CPT-019、AX-2、AX-3、AR-1 |
| §1.6 | CPT-022 |
| §2 | AR-1、EV-1(块移动解析解对照) |
| §3.1–§3.4 | CPT-020、AX-4、AX-5、TH-1、AR-1 |
| §4.1–§4.4 | CPT-020、TH-2、AR-2 |
| §5.1 | CPT-022、AX-7、AR-3 |
| §5.2–§5.3 | CPT-023、AR-3、EV-2 |
| §5.4 | AX-8、AR-3 |
| §5.5 | CPT-025、CPT-027、AX-6、AR-3 |
| §6 | AR-1、EV-1 |
| §7 | AR-1、EV-1、EV-2 |
| §8.1–§8.2 | CPT-024、TH-3、TH-4 |
| §8.3–§8.7 | CPT-024、CPT-027、TH-5、AR-4、EV-1 |
| §9.1 | CPT-021 |
| §9.2 | CPT-026、DIS-003、AR-6 |
| §9.4–§9.8 | CPT-019、CPT-020(正交配点/DDP 为 CANDIDATE) |
| §9.9–§9.10 | AR-5 |
| §9.11 | AR-2、AR-5 |
| 附录 B | TH-3(最小功解析解推导) |
| 附录 C | TH-2(Simpson 求积/插值推导) |
| 附录 F | EV-1(双足动力学与足跟撞击映射) |
Review Log
- 2026-09-09:P2 骨架完成(Definitions/Axioms/Argument/Commentary/ Traceability 齐备;Theorems/Evidence 为 P3 待投影候选)。
- 2026-09-09:G1 通过(签发:用户,DA7)。审核报告
_issues/frm-004-g1-review.md;三项裁决:① CPT-024/CPT-027 保留为独立概念(不以单来源降级);② DIS-003 保留,不批量补路由(关键页面自带反向链接已够用);③ TH→CLM 投影范围暂不定,P3 由用户主动发起(不在 P2 后自动开始,也不登记待办)。P2 至此交付,P3 待用户发起。
关联(12)
- PPR-004 An Introduction to Trajectory Optimization: How to Do Your Own Direct Collocation
- CPT-019 shooting method
- CPT-020 collocation method
- CPT-021 trajectory optimization
- CPT-022 non-linear program
- CPT-023 mesh refinement
- CPT-024 bang-bang control
- CPT-025 consistent function
- CPT-026 open-loop vs closed-loop solution
- CPT-027 slack variable
- CPT-028 Runge-Kutta method
- DIS-003 术语“闭环”在本库的两个 referent 路由:控制论意义的闭环解/最优策略(CPT-026)与自动驾驶基准的闭环评估口径(BMK-003、BMK-006)。