轨迹优化入门必备 — 序列凸优化SCvx

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(

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值