LQR 控制学习-LQR控制 MATLAB官方教程-LQR 控制器_状态空间系统Matlab/Simulink建模分析

LQR控制本blog主要记录LQR线性二次调制系统的,学习教程为两个B站的教学视频。状态空间4-LQR控制MATLAB官方教程视频链接:[原创翻译]状态空间4-LQR控制MATLAB官方教程[原创翻译]状态空间4-LQR控制MATLAB官方教程作者使用直白的例子去描述LQR的costfunctionQ为状态量的惩罚代价、R为推进器(输入)的惩罚代价,通过构建J

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

LQR 控制

本blog主要记录LQR 线性二次调制系统的,学习教程为两个B站的教学视频。

状态空间4-LQR控制 MATLAB官方教程

视频链接: [原创翻译]状态空间4-LQR控制 MATLAB官方教程

[原创翻译]状态空间4-LQR控制 MATLAB官方教程

作者使用直白的例子去描述LQR的cost function Q为状态量的惩罚代价、R为推进器(输入)的惩罚代价,通过构建J 目标方程,以是的J最小的目的,求解K,从而得到最低成本下的增益矩阵。
在这里插入图片描述
在这里插入图片描述

LQR-UFO实验:

matlab 官方代码
原视频网址

test1

我们调节 Q矩阵,penalize angular error (角度误差代价) 为 1,penalize angular rate 为0.01 (角速度代价),角度误差代价比角速度代价要大得多。R = 1 (执行器输入代价)。
在这里插入图片描述
结果如下所示,在R penalize angular error 代价较大得情况下,使用lqr,Angular Error最后能收敛,并且没有出现较大幅度的超调。
在这里插入图片描述

test2

调节Q矩阵,penalize angular error (角度误差代价) 为 1,penalize angular rate 为100 (角速度代价)
在这里插入图片描述
结果如下所示,可以看到,加速度比较快的达到收敛,并趋于稳定,但相应Angular Error没办法保证收敛。
在这里插入图片描述

test3

调节R矩阵 Penalize thruster effort 执行器代价为3
在这里插入图片描述
结果如下所示,燃烧的燃料明显少了
在这里插入图片描述

【Advanced控制理论】8_LQR 控制器_状态空间系统Matlab/Simulink建模分析

视频链接:【Advanced控制理论】8_LQR 控制器_状态空间系统Matlab/Simulink建模分析

【Advanced控制理论】8

先上公式

目的求解合适的Acl闭环矩阵
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

先上公式

在这里插入图片描述

test1 开环系统

simulink 仿真模型下载

设置K1 、K2 = 0,使用scope检测开环系统下 ,x1 位移;x2 速度;u 负反馈输入
在这里插入图片描述
如下所说,可看到,在开环系统下,x1 x2趋向发散
在这里插入图片描述

test2 加入负反馈输入,构建闭环系统,lqr求解参数K

在这里插入图片描述
将通过自行设置的Q R,求解出的K,写进simlink中的k1 k2
在这里插入图片描述
结果如下所示,可看出加入闭环系统后,x1 x2 都趋于收敛
在这里插入图片描述

test3 修改R,对照实验

将整个闭环封装成三输出的Subsysytem,进行对照实验
在这里插入图片描述
将Q矩阵设置为单位阵,R(执行器代价) 设置为原来的100倍,R = 10,并将计算出来的K1、K2输入到中,观察scope输出
在这里插入图片描述
对比结果如下所示,黄色为上述test2的实验结果,蓝色为test3的实验结果,如下图所示,scope1中黄线的收敛速度明显比蓝线要快,如scope3所示,当提升了R的损失权值后,输入(蓝线)要更平稳一些。对于两个系统来说,最终结果都是一样的,最后都实现了状态的收敛。对于黄线来说,我们更看重的是收敛的效果、响应速度,而对于蓝线来说,我们更看重的是能耗问题。
在这里插入图片描述

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126480.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • WinRAR去除广告,亲测可用

    WinRAR去除广告,亲测可用原文地址:最新去除中文winrar压缩软件弹出广告方法-百度经验(baidu.com) 此文用作备用文,在原文看不到的情况下,参考本文。感谢原文作者!!! 安装RAR简体中文版 下载并安装Restorator2007 找到RAR安装文件夹,可以双击打开RAR.exe看是否弹出广告 打开Restorator2007 选着左上角“文件-打开”,在“C:\ProgramFiles\WinRAR”文件夹中打开“WinRAR.exe” 打开后.

  • hibernate Java 时间和日期类型的 Hibernate 映射

    hibernate Java 时间和日期类型的 Hibernate 映射

    2021年11月29日
  • 3阶有向完全图的所有非同构的子图(不同钩子图个数)

    子图同构问题本质上就是一种匹配,VF2算法加了很多feasibilityrules,保证了算法的高效性。这里只是实现最基本的判断子图同构的算法:参考文献有(其实google一把就能出来这些):http://stackoverflow.com/questions/8176298/vf2-algorithm-steps-with-examplehttp://www.zhihu

  • 六个主要的社会网络分析软件的比较

    六个主要的社会网络分析软件的比较
    UCINET简介  
        UCINET为菜单驱动的Windows程序,可能是最知名和最经常被使用的处理社会网络数据和其他相似性数据的综合性分析程序。与UCINET捆绑在一起的还有Pajek、Mage和NetDraw等三个软件。UCINET能够处理的原始数据为矩阵格式,提供了大量数据管理和转化工具。该程序本身不包含网络可视化的图形程序,但可将数据和处理结果输出至NetDraw、Pajek、Mage和KrackPlot等软件作图。UCINET包含大量包括探测凝聚子群(cliq

  • Netty系列三、Netty实战篇

    Netty系列三、Netty实战篇文章目录一、传递POJO二、GoogleProtobuf三、TCP粘包与拆包四、心跳检测五、Netty整合Log4j六、WebSocket七、Netty群聊八、Netty实现RPC服务调用九、短连接与长连接配合示例代码​ 这一篇我们就玩起来,通过一些常用的实战问题,来理解如何使用Netty进行网络编程。一、传递POJO​ 第一个示例参见示例代码中的com.roy.netty.pojoTransfer。​ 这个示例实现的功能是这样的:1、客户端建立连接后,就会往服务端发送一个User对象。

    2022年10月28日
  • 调用ShellExecute所须要头文件

    调用ShellExecute所须要头文件

发表回复

您的电子邮箱地址不会被公开。

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