笔记92:连续状态空间方程转化为离散状态空间方程的详细推导 + 离散LQR控制器详细推导

1)离散LQR的推导原理:


拉格朗日乘子法都是在等式约束下用的;

对这个性能函数J运用拉格朗日乘子法后,得到的函数是二次型函数(即转化为了最优化控制问题)二次型函数只有一个极值点而且是极小值点,那么极小值就是最小值;

使用Frenet坐标系中的车辆动力学方程作为约束条件;


a

a

a

a

a

a

2)离散状态空间方程推导:


注:这里的推导省略了一个求逆的运算,因为dt就是采样周期,而采样周期一般取值很小所以这里可以忽略不计,减少计算量;


a

a

a

a

a

a

3)DLQR的求解方程推导:


注:本质上是求U_{k}的值使得性能函数J取得最小值;

解释:因为X_{k+1}中的所有的值都是受U_{k}决定的,因为本来X_{k+1}U_{k}的值是存在一个关系,这个关系由离散动力学方程描述出来,所以当指定了U_{k}的值的时候,该动力学方程就成为了一个确定的微分方程了,求解这个微分方程就可以将X_{k+1}求解出来,所以真正的未知数只有U_{k}一个(X_{k}是已知初始条件),所以用拉格朗日乘子法求J的最小值本质上就是求一系列适合的U_{k}的值,使得代价函数J的值最小;

得到新的性能函数J:加入了拉格朗日乘子之后

得到性能函数的偏导数:

最终得到:

求解\lambda _{k}的递推式:

为什么要求\lambda _{k}的递推式:是因为由2式知要想求U_{k},则必须要先知道\lambda _{k+1}求出U_{k}以后LQR问题就解决了;

将求\lambda _{k}的递推式改为求P_{k}的递推式:

里卡提(Riccati)方程(一个迭代公式)有一个很好的性质:


a

a

a

a

a

a

4)DLQR算法总结:


a

对LQR算法本质的总结:

  • 利用性能函数J作为目标;
  • 利用Frenet上的动力学方程作为(等式)约束条件;
  • 使用拉格朗日乘子法计算J的极小值点处U的值在这一步中经过数学推导,可以不用计算复杂的拉格朗日乘子法,直接用现成的里卡提公式就可以计算出极小值点处U的值)

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值