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=210xTQx+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+ATPPBR1BTP+Q=0
由上式获得P后, K = R − 1 B T P K=R^{-1}B^TP K=R1BTP
最终, J = 1 2 x ( 0 ) T P x ( 0 ) J = \frac{1}{2}x_{(0)}^TPx_{(0)} J=21x(0)TPx(0)
参考:
https://blog.csdn.net/heyijia0327/article/details/39270597
https://zhuanlan.zhihu.com/p/87070103

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

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

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


相关推荐

  • 服务器异地灾备_华为idc解决方案

    服务器异地灾备_华为idc解决方案说明两地三中心:两地是指同城、异地三中心是指生产中心、同城容灾中心、异地容灾中心。备端在线两地三中心灾备方案网络设计如下:容灾系统衡量指标衡量容灾系统的主要指标有RPO(RecoveryPointObject):灾难发生时允许丢失的数据量RTO(RecoveryTimeObjective):系统恢复的时间容灾半径:生产系统和容灾系统之间的距离ROI(R…

    2022年4月20日
    189
  • [技术干货]高并发下如何保证接口的幂等性?

    [技术干货]高并发下如何保证接口的幂等性?

    2022年2月18日
    46
  • 开源中国招聘新增两大功能,让你的声音更有影响力[通俗易懂]

    开源中国招聘新增两大功能,让你的声音更有影响力

    2022年3月4日
    41
  • 激活成功教程山西网通、电信的禁止路由共享(网络尖兵类软件)转载

    激活成功教程山西网通、电信的禁止路由共享(网络尖兵类软件)转载近段时间来 很多地方的电信 ISP 使用了一个叫 网络尖兵 的设备来限制用户共享上网 给大家带来了许多不便 经过手们不懈的努力 现在已经能激活成功教程 网络尖兵 要注意把 网络尖兵 和最近受病毒攻击事件相区别 受病毒攻击时 ADSLMODEM 一般要重启才能用 而受 网络尖兵 影响的等上几分钟就可以继续上网了 而且打开一个网页要经常刷新好几次才能打得开 经过研究发现它是采用多种方法探测用户是否用共享方

    2025年11月9日
    1
  • docker 镜像导入导出_docker常用镜像

    docker 镜像导入导出_docker常用镜像将本机的镜像导出到压缩包,使用save和load进行导入和导出查看镜像列表dockerimages导出镜像dockersave0fdf2b4c26d3>images.tar同时导出多个dockersave-oimages.tarelastest/etm:2.4.0elastest/etm-jenkins:1.2.0导入镜像dockerload<images.tar…

    2025年9月12日
    6
  • c语言buffer用法_c++ stringbuffer

    c语言buffer用法_c++ stringbufferringbuffer实质上是在一块连续的内存上对数据进行写入和读取,只是在写入和读取的时候有些不同。每次读取的时候都要从开辟空间的地址加上一个读取的偏移量读取,相对应的,写入的时候也要从开辟空间的地址加上一个写入的偏移量来写入。重点也就在读取和写入数据上面。下面从代码上面来说一下。首先定义一个ringbuffer的结构体typedefstruct{uint8_t*buf…

    2025年10月23日
    3

发表回复

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

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