CPT-020
Concept
collocation method
| id | |
|---|---|
| updated | |
| type | concept |
| name | collocation method |
| aliases | direct collocation, direct transcription, trapezoidal collocation, Hermite–Simpson collocation, orthogonal collocation, 配点法 |
| defined-by | PPR-004 |
Definition
配点法(collocation method,在轨迹优化语境下也称 direct collocation)是求解轨迹优化问题的一类直接法:把连续时间的轨迹优化问题本身离散化,转录成非线性规划(NLP)——这一步称为转录(transcription),因此这类方法也叫 direct transcription 方法;离散化通过把问题中的连续函数逼近为多项式样条(polynomial spline)实现(PPR-004 §1.5)。
配点法的构造特征:状态与控制在各离散节点上都是 NLP 的决策变量,动力学被写成节点之间的缺陷约束(defect constraints);这些约束在所得 NLP 中等价于隐式 Runge–Kutta 积分格式(CPT-028;PPR-004 §5.2)。按插值/求积的阶数,常见形式有:
- 梯形配点(trapezoidal collocation):低阶,用梯形法则近似节点间的积分(PPR-004 §3);
- Hermite–Simpson 配点:高阶,状态轨迹为三次样条、用 Simpson 求积近似积分,精度更高(PPR-004 §4);
- 正交配点(orthogonal collocation):配点取正交多项式(Chebyshev 或 Legendre)的根,用高阶多项式逼近,具谱收敛(spectral convergence)(PPR-004 §9.7)。
Disambiguation
- 与打靶法(CPT-019)的实质区分:配点把状态作为决策变量、动力学作节点间的代数缺陷约束;打靶用仿真产生轨迹、状态不是决策变量。这是“轨迹如何被确定、谁作优化变量”的区别,与积分/求积的阶数(精度轴)正交。
- 与 direct transcription 的关系:direct transcription 是把连续问题离散成 NLP 的统称,配点与打靶都是它的实例。PPR-004 既用“direct collocation” 指配点,又把单/多重打靶列为 “direct collocation techniques”(§1.5),故该教程中 “direct collocation” 一词有宽窄两义;本卡按窄义(状态为决策变量、动力学作缺陷约束)定义。
- 实例:Posa 等 2014(PPR-003)的接触刚体轨迹优化把多接触动力学写成线性互补问题、以带互补约束的数学规划(MPCC)+ SQP 求解,属直接转录路线的实例。
关联(17)
- PPR-003 A direct method for trajectory optimization of rigid bodies through contact
- PPR-004 An Introduction to Trajectory Optimization: How to Do Your Own Direct Collocation
- FRM-004 Kelly(2017)直接配点轨迹优化教程的五层重建:以“连续问题→多项式样条近似→非线性规划”为主线,规范术语与约束分类(D),列出作者接受的前提(AX),重建从配点构造、插值、误差估计到网格细化与不连续性处理的论证链(AR),并分节记录作者评论与本库评论;Theorems/Evidence 层待 P3 投影回填。
- CPT-019 shooting method
- CPT-021 trajectory optimization
- CPT-022 non-linear program
- CPT-028 Runge-Kutta method
- EX-001 直接配点法算例(最小功双积分器):梯形配点 + 松弛变量把问题变成线性规划,N=10→160 网格下目标值 0.7958→0.76405 逼近解析 bang-off-bang 解的 0.763932,状态误差约按 O(h²) 下降,切换时刻收敛到 τ≈0.381966。
- CPT-019 co-definer shooting method
- CPT-021 co-definer trajectory optimization
- CPT-022 co-definer non-linear program
- CPT-023 co-definer mesh refinement
- CPT-024 co-definer bang-bang control
- CPT-025 co-definer consistent function
- CPT-026 co-definer open-loop vs closed-loop solution
- CPT-027 co-definer slack variable
- CPT-028 co-definer Runge-Kutta method