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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux struts2漏洞,Struts2漏洞分析,漏洞波及全系版本

    linux struts2漏洞,Struts2漏洞分析,漏洞波及全系版本Struts漏洞分析ApacheStruts团队已经发布了Struts2.3.15.1安全更新版本。在Struts2.3.15.1版本之前,存在着严重的安全漏洞,如果现在一些比较大的网站是用JAVA做的,没有把版本升级,还用的是Strtus2.3.15.1版本之前的话,那么你们就要小心,服务器被黑了哦。下面就来说一下之前版本,Struts2的漏洞是如何产生的,我们自己去做,该如何的去解决这个…

    2022年7月19日
    10
  • 医疗大数据平台的主流解决方案和设计

    医疗大数据平台的主流解决方案和设计  从价值服务提供的角度来看,这是一个需要对来自多源异构(时间序列)数据进行高效处理提供各种公共能力的资源池,也是促使用户/患者与医护人员及机构进行服务提供和安全可靠交互的控制中心。其主要特征包括平台的开放性、模块化、灵活性和可扩展性等,它肩负着多重重要的角色:一是需要支持多种可穿戴设备和数据类型的标准化接入,并具备大规模接入并发处理能力;必须尽量采用国内外标准化组织及行业通用的标准化协议和规…

    2022年5月8日
    49
  • 利用python pip以及pyCharm安装requests第三方库「建议收藏」

    利用python pip以及pyCharm安装requests第三方库「建议收藏」在利用python进行进行数据爬虫的时候,我们通常会使用requests第三方库,安装requests的方法通常有以下几种:1)利用pip进行安装pipinstallrequests2)下载代码后安装$gitclonegit://github.com/kennethreitz/requests.git$cdrequests$pythonsetup.pyinstall3)利用…

    2022年8月28日
    0
  • 安装python时出现的错误0x80072efd及0x80072f7d的解决方法

    安装python时出现的错误0x80072efd及0x80072f7d的解决方法0x80072efd:是下载不了dubuggingsymbols和debugbinaries的问题。要翻墙。或者把2个Download的安装选项取消,就可以完成了。0x80072f7d:修改了EXE文件名称安装成功感觉问题解决的十分不靠谱,感谢https://blog.csdn.net/quantum7/article/details/81738839,脑残丞相的提醒,他安装时也…

    2022年10月25日
    0
  • 解决 SVN Skipped ‘xxx’ — Node remains in conflict

    解决 SVN Skipped ‘xxx’ — Node remains in conflict

    2021年10月19日
    59
  • 使用Ahk2Exe工具将AutoHotKey脚本打包到Windows可执行文件

    使用Ahk2Exe工具将AutoHotKey脚本打包到Windows可执行文件写在前面的两点说明:1、我的操作系统版本为Win7,AutoHotKey版本为1.1.23.05。2、因AutoHotKey单词太长,所以在下文中统一用缩写AHK代替。方法一:通过Windows上下文菜单快速创建EXE文件用鼠标右键单击ahk文件,在弹出的上下文菜单中点击“C…

    2025年6月5日
    0

发表回复

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

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