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的损失权值后,输入(蓝线)要更平稳一些。对于两个系统来说,最终结果都是一样的,最后都实现了状态的收敛。对于黄线来说,我们更看重的是收敛的效果、响应速度,而对于蓝线来说,我们更看重的是能耗问题。

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

  1. stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

  2. 机器翻译学习1:pytorch官方教程与代码逐行详解

    官方教程网址:https://pytorch.org/tutorials/intermediate/seq2seq_translation_tutorial.html 代码所需数据源:https:// ...

  3. matlab直接扩频序列,直接序列扩频系统matlab仿真.doc

    直接序列扩频系统matlab仿真.doc --0--直接序列扩频通信系统仿真一.实验的背景及内容1.直接扩频通信的背景扩频通信,即扩展频谱通信(SpreadSpectrumCommunication) ...

  4. 模糊逻辑控制器在matlab中调用,模糊逻辑控制器结构与设计(matlab).ppt

    模糊逻辑控制器结构与设计(matlab) ● 模糊控制系统的设计关键问题 (1)模糊策略及其模糊算子的解释 (2)论域的离散化和规范化:输入输出空间的模糊分割:基本模糊集合隶属度函数的选择 (3)过程 ...

  5. matlab如何创建callback函数_如何学好MATLAB GUI

    差不多有一个月的时间没有写一些总结了,所以今天打算聊聊之前写的几篇文章. 8月可以说是我的GUI月,因为发的4篇文章,全是关于GUI的. 这可能就是我写文章的一个陋习,写起GUI就是连着好几篇,写爬虫 ...

  6. matlab用lism求零输入响应,信号与系统matlab课后作业_北京交通大学讲解.docx

    信号与系统matlab课后作业_北京交通大学讲解.docx 信号与系统MATLAB平时作业 学院 电子信息工程学院 班级 姓名 学号 教师 钱满义 MATLAB习题 M3-1 一个连续时间LTI系统满 ...

  7. matlab 2ask解调程序,2ask调制解调系统matlab源程序.doc

    2ask调制解调系统matlab源程序.doc 2ASK 调制解调系统 MATLAB 源程序 %产生数字基带信号 figure( Name , 数字信号调制过程中波形及其频谱 , NumberTitl ...

  8. 双反馈直流matlab仿真,双闭环直流调速系统MATLAB仿真[行业二类]

    <双闭环直流调速系统MATLAB仿真[行业二类]>由会员分享,可在线阅读,更多相关<双闭环直流调速系统MATLAB仿真[行业二类](5页珍藏版)>请在人人文库网上搜索. 1.双 ...

  9. 终身学习--启程篇:清华大学 《ARM控制器与嵌入式系统》

    转眼间听<樊登读书>也有两年了,这段时间听了一篇关于终身学习的文章,很有感触,在大厂干了十几年,自己做过项目开发,也带过好几个版本,但是在大厂做项目一般都只做一个模块,不可能端到端都是一个 ...

  10. [TFF学习]官方教程jupyter运行记录_联邦学习之图像分类任务_1

    chapter_1 检查系统环境和第三方库是否安装完毕 在Web服务器, gui应用程序和jupyter笔记本运行python程序时,出现 "RuntimeError: This event ...

最新文章

  1. 简述Linux C下线程池的使用
  2. oracle系列(三)oracle的配置与管理
  3. 主从数据库之互为主备
  4. 事物的开始和结束命令分别是什么_AutoCAD小秘密065:LOFT命令,创建天圆地方
  5. powershell 学习地址
  6. STL --- UVA 123 Searching Quickly
  7. 状态栏和navigationbar 关联上,结构体总是通过被复制的方式在代码中传递,因此请不要使用引用计数。...
  8. SystemTimer,TimerTaskList等源码分析
  9. python02_python常用数据类型字符串
  10. 欧洲半导体三巨头的守旧与拓新
  11. JQuery:视频+实战总结
  12. 根据中心点、半径长度和角度画点
  13. 【小知识】二分类问题,应该选择sigmoid还是softmax?
  14. python怎么创建文本文件
  15. 【办公自动化】国土“三调”用地分类“一键”转南京分类
  16. 虚拟服务器443端口开启,服务器开启443端口
  17. Linux基础命令实例
  18. 廖碧儿现身亲吻爱犬 徐濠萦惋惜惠妮休斯顿离世
  19. 前后端分离详解(转发)
  20. camunda 流程执行追踪_Camunda流程调用梳理

热门文章

  1. 手机组态软件 APP监控台达PLC C#全套源代码
  2. 如何Vue项目中加载字体的最佳做法
  3. python处理词项的停用词_词项邻近 停用词 词干还原
  4. Oracle数据库 查询所有表
  5. Android 设置背景透明度
  6. java单例模式与线程安全
  7. 微信小程序商城毕业设计毕设作品(8)毕业设计论文
  8. 路畅畅云固件升级教程_【图】【折腾导航】路畅导航固件升级、刷机、实现一机多图教程!...
  9. 《FLUENT 14流场分析自学手册》——1.5 湍流模型
  10. Python爬虫实现英汉互译