LQR控制器(控制器的功能是什么)

LQR控制器是常见的最优控制器,它的主要特点是将控制量加入到了成本函数中。对于线性系统:x˙=Ax+Bu\dotx=Ax+Bux˙=Ax+Bu设计控制器u=−Kxu=-Kxu=−Kx使得J=12∫0∞xTQx+uTRu dtJ=\frac{1}{2}\int_0^\inftyx^TQx+u^TRu\,dtJ=21​∫0∞​xTQx+uTRudt最小。其中,xTQxx^TQxxTQx是状态部分,uTRuu^TRuuTRu是控制部分。为了求解K,需要引入Riccati微分方程:P

大家好,又见面了,我是你们的朋友全栈君。

LQR控制器是常见的最优控制器,它的主要特点是将控制量加入到了成本函数中。
对于线性系统:
x ˙ = A x + B u \dot x = Ax+Bu x˙=Ax+Bu
设计控制器 u = − K x u = -Kx u=−Kx使得
J = 1 2 ∫ 0 ∞ x T Q x + u T R u   d t J = \frac{1}{2}\int_0^\infty x^TQx+u^TRu \,dt J=21​∫0∞​xTQx+uTRudt
最小。其中, x T Q x x^TQx xTQx是状态部分, u T R u u^TRu uTRu是控制部分。

为了求解K,需要引入Riccati微分方程:
P A + A T P − P B R − 1 B T P + Q = 0 PA+A^TP-PBR^{-1}B^TP+Q=0 PA+ATP−PBR−1BTP+Q=0
由上式获得P后, K = R − 1 B T P K=R^{-1}B^TP K=R−1BTP
最终, J = 1 2 x ( 0 ) T P x ( 0 ) J = \frac{1}{2}x_{(0)}^TPx_{(0)} J=21​x(0)T​Px(0)​
参考:
https://blog.csdn.net/heyijia0327/article/details/39270597
https://zhuanlan.zhihu.com/p/87070103

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126056.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Hadoop、Yarn和vcpu资源的配置

    Hadoop、Yarn和vcpu资源的配置

    2022年3月13日
  • django-filter_过滤器分几种

    django-filter_过滤器分几种模版常用过滤器在模版中,有时候需要对一些数据进行处理以后才能使用。一般在Python中我们是通过函数的形式来完成的。而在模版中,则是通过过滤器来实现的。过滤器使用的是|来使用。add将传进来的参

    2022年7月29日
  • 移动端页面适配方案(viewport)[通俗易懂]

    移动端页面适配方案(viewport)[通俗易懂]通过<metaname=”viewport”>给视口设置固定的宽度,浏览器对页面自动缩放来实现页面的适配效果优点是可以使用px布局,不用额外进行rem或者vw等等单位的换算了缺点是如果是无滚动条的页面在某些设备上(例如平板这种宽高3比4的,折叠屏8比7的)由于宽高比不同有些区域会被挤到视口之外从而导致一些体验上的问题,不过demo2也给出了解决方案;这里给两个demo,demo1是有滚动条页面的示例,demo2是无滚动条页面的示例;新建一个html文件将demo复制过去在浏览器.

    2022年6月28日
  • eclipse经常卡死的解决方法总结_eclipse运行一段时间后死机

    eclipse经常卡死的解决方法总结_eclipse运行一段时间后死机使用eclipse3.6版本时,每当用alt+/或.来自动补全代码时,eclipse经常会卡死。这是eclipse3.6版本的一个bug,网上有朋友直接选择打补丁,也有人配置eclipse的Contentassist延时加长来解决这个问题。既然是版本问题,还是直接治标好了,升级新版本的eclipse解决这个问题:Help->checkforupdates选择要更新的组件

    2022年10月10日
  • intel处理器_bios cppc

    intel处理器_bios cppcC++string类的find()函数怎么用

    2022年10月23日
  • C3P0 连接池配置详解

    C3P0 连接池配置详解c3p0-config>   default-config>      property name=”acquireIncrement”>3property>        property name=”acquireRetryAttempts”>30property>        property name=”acquireRetryDelay”>1000p

    2022年5月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号