1. 简介
序列凸优化(Successive Convexification, SCvx)由华盛顿大学Behçet Açıkmeşe教授课题组提出,最初用于可重复使用火箭(Reusable Launch Vehicle, RLV)定点降落轨迹优化
传统的轨迹优化问题往往是非凸的(如非线性约束、非线性动力学),上一篇博文介绍的无损凸优化LCvx是对其中一类问题的凸化求解 (LCvx文章)
SCvx是在LCvx基础上,对轨迹优化问题的更一般化凸化求解,其核心思想是:
- 每一步都在当前轨迹附近线性化动力学与约束,从而构造凸子问题
- 将复杂的非凸轨迹优化问题转换为一系列凸子问题(通常为二阶锥规划SOCP)求解
- 通过迭代更新策略(信赖域trust region, 罚函数penalty),收敛到原问题的局部最优解
与 LCvx 不同,SCvx 并不要求问题满足严格的“无损凸化”条件,而是通过迭代求解凸子问题逐渐逼近解,因此适用范围更广,在机器人和无人机领域都得到了广泛研究

2. 快速入门
2.1 核心推导
考虑一般的非凸最优控制问题:
min x , u J ( x , u ) s . t . x ˙ = f ( x , u ) g ( x , u ) ⩽ 0 \begin{array}{l} \underset{\boldsymbol{x},\boldsymbol{u}}{\min}\,\,J\left( \boldsymbol{x},\boldsymbol{u} \right)\\ \mathrm{s}.\mathrm{t}.\,\,\,\, \dot{\boldsymbol{x}}=\boldsymbol{f}\left( \boldsymbol{x},\boldsymbol{u} \right)\\ \,\quad\,\,\,\,\, \boldsymbol{g}\left( \boldsymbol{x},\boldsymbol{u} \right) \leqslant 0\\\end{array} x,uminJ(x,u)s.t.x˙=f(x,u)g(x,u)⩽0
经过离散化(常用后向差分),将连续时间问题离散为有限维优化问题
在当前参考轨迹 ( x ˉ , u ˉ ) \left( \bar{\boldsymbol{x}},\bar{\boldsymbol{u}} \right) (xˉ,uˉ)附近,对非线性动力学做一阶泰勒展开:
x k + 1 = f ( x ˉ k , u ˉ k ) + A k ( x k − x ˉ k ) + B k ( u k − u ˉ k ) + v k \boldsymbol{x}_{k+1}= \boldsymbol{f}\left( \bar{\boldsymbol{x}}_k,\bar{\boldsymbol{u}}_k \right) +\boldsymbol{A}_k\left( \boldsymbol{x}_k-\bar{\boldsymbol{x}}_k \right) +\boldsymbol{B}_k\left( \boldsymbol{u}_k-\bar{\boldsymbol{u}}_k \right)+\boldsymbol{v}_k xk+1=f(xˉk,uˉk)+Ak(

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



