(七)CILQR约束条件下的ILQR求解
CILQR((Constrained Iterative Linear Quadratic Regulator)) 是为了在 iLQR 基础上扩展处理控制输入和状态约束的问题。在这种情况下,系统不仅要优化控制输入以最小化代价函数,还需要满足各种物理约束,例如控制输入的限制(如力矩或速度的上下限)、状态的约束(如位置、速度的范围),甚至是复杂的非线性约束条件。
要在 iLQR 中处理约束,通常使用多种方法,包括:
- 投影法(Projection Method)
- 惩罚函数法(Penalty Method)
- 障碍函数法(Barrier Method)
- 拉格朗日乘子法(Lagrangian Method)
- QP 求解方法(Quadratic Programming for Constraints)
下面我们详细介绍这些方法在 iLQR 中的应用以及如何通过它们处理约束。
1. 投影法(Projection Method)
投影法 是一种简单的方法,主要用于处理控制输入或状态的上下限边界约束。它通过在每次迭代后将违反约束的控制输入或状态投影到可行域内,保证最终结果满足约束。
过程:
-
迭代更新控制输入:在优化的过程中,根据 iLQR 更新控制输入
和状态
。
-
投影回可行域:如果控制输入或状态超出给定的限制,则将其投影回到约束范围内:
-
继续迭代:在投影后继续下一步