线性二次型控制器(LQR)——轨迹跟踪器
1 概念

2 线性时变系统的跟踪问题


3 线性定常系统的跟踪问题
公式18--22为求解的关键 根据20、21分别求出P、g的值则通过18可求得期望的输出u
4 实例分析

5 仿真实验
先将上面的状态方程简化

建立模型



6 计算程序
1 clear
2 clc
3 A=[0,1; 0,-2];
4 B=[0;20];
5 C=[1,0] ;
6 Q=1;
7 R=1;
8 yr=1;
9
10 syms x1 x2 %syms表示定义变量
11 P=are( A, B*inv(R)*B', C'*Q*C )
12
13 g=inv(P*B*inv(R)*B'-A')*C'*Q*yr
14
15 u=-inv(R)*B'*(P*[x1; x2]-g)
Matlab矩阵运算函数-are函数
1、area函数:Riccati方程求解
2、用法说明
Riccati方程的一般格式是:A'x+xA-xBx+C=0
x=are(A,B,C) A、B、C为上述描述的Riccati方程的系数矩阵,x是方程的解
3、用法实例
1 >> A = [2 4 3;5 7 3;8 9 2]
2
3 B = [3 6 4;7 3 9;4 8 2]
4
5 C = [3 5 1;6 7 2;8 9 3]
6 x = are(A,B,C)
运行结果
A =
2 4 3
5 7 3
8 9 2 B =
3 6 4
7 3 9
4 8 2 C =
3 5 1
6 7 2
8 9 3 x =
0.5085 1.1173 0.3129
1.1480 1.0844 0.6190
0.6894 0.8121 0.2959
线性二次型控制器(LQR)——轨迹跟踪器的更多相关文章
- 《Entity Framework 6 Recipes》中文翻译系列 (40) ------ 第七章 使用对象服务之从跟踪器中获取实体与从命令行生成模型(想解决EF第一次查询慢的,请阅读)
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-5 从跟踪器中获取实体 问题 你想创建一个扩展方法,从跟踪器中获取实体,用于数 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (45) ------ 第八章 POCO之获取原始对象与手工同步对象图和变化跟踪器
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 8-6 获取原始对象 问题 你正在使用POCO,想从数据库获取原始对象. 解决方案 ...
- HTML5-新API-geolocation-实例-距离跟踪器
<body onLoad="loadDemo()"> <header> <h1>oldmeter演示</h1> <h4> ...
- Linux IO性能分析blktrace/blk跟踪器
关键词:blktrace.blk tracer.blkparse.block traceevents.BIO. 本章只做一个记录,关于优化Block层IO性能方法工具. 对Block层没有详细分析,对 ...
- 【文献08】多移动机器人轨迹跟踪控制系统设计与实现-运动学ADRC控制
参考: 陈俊, 俞立, 滕游. 多移动机器人轨迹跟踪控制系统设计与实现[J]. 计算机测量与控制, 2017(7). https://drive.wps.cn/view/p/28819052019?f ...
- [转].NET 性能测试工具 -- 事件跟踪器(ETW)
.NET 性能测试工具 -- 事件跟踪器(ETW) 内容预告: Windows内置工具(性能计数器) 事件跟踪器(WPT,PerfMoniter,PerfView,自定义ETW) 时间分析 内存分配分 ...
- Android 获取控件滑动速度,速度跟踪器VelocityTracker;
VelocityTracker 速度跟踪器 在写关于Android滑动的控件,如果用户手指在屏幕上(当前位置 - 起始位置 > 某个数值)就做一个界面切换,但是总感觉太生硬,只有满足上面的条件才 ...
- Meteor跟踪器(Tracker)
跟踪器是用于当模板会话变量发生了变化自动更新的一个小型库. 为了向你展示跟踪器是如何工作的,我们将创建按钮将用于更新会话. meteorApp/import/ui/meteorApp.html < ...
- 线性二次型调节器LQR/LQC算法解析及求解器代码(matlab)
参考链接:http://120.52.51.14/stanford.edu/class/ee363/lectures/dlqr.pdf 本文参考讲义中的第20页PPT,根据Hamilton-Jacob ...
随机推荐
- 多个n维向量围成的n维体积的大小
前言 上周我们数学老师给了我们一道题,大意就是两个向量a和b,一个点M=$x*a+y*b$,x,y有范围,然后所有M组成的面积是一个定值,求x+y的最小值.当然这是道小水题,但我在想,如果把两个向量变 ...
- 2020ICPC上海站 C. Sum of Log
题目大意: 给定T组X,Y,对于每组X,Y,求上面式子 的值,其中 当x为真时等于1,其他情况等于0. 其中. 思路: 对X,Y一起进行数位DP,我们把每一位枚举数字的上限以及数字之前是否有前导 ...
- Netty与Spring Boot的整合
最近有朋友向我询问一些Netty与SpringBoot整合的相关问题,这里,我就总结了一下基本整合流程,也就是说,这篇文章 ,默认大家是对netty与Spring,SpringMVC的整合是没有什 ...
- C++ 字符串 string
1.使用前应先包含头文件string.h,有的是cstring #include<string> 这样才能正确的cin和cout字符串. cin时,是按照空格.TAB和换行进行分割的 例如 ...
- (六)目标检测算法之YOLO
系列文章链接: (一)目标检测概述 https://www.cnblogs.com/kongweisi/p/10894415.html (二)目标检测算法之R-CNN https://www.cnbl ...
- 简单实现一个快速传输电子书到kindle的小项目
前言 最近翻出来好久没有看的kindle,准备继续我的阅读之路.当然,也是因为发现了一个非常好的获取电子书资源的网站,又燃起了我的阅读兴趣. 然而,往kindle里传输电子书的方式一共有四种: 直接在 ...
- 微信小程序yansongda 支付宝测试
小程序支付接入文档 1:php 框架composer 安装yansongda插件 composer require yansongda/pay:^2.10 -vvv 2:支付宝沙箱支付获取自己Appi ...
- JDBC学习一---JDBC入门
原文链接 今天开始会写一系列 Java 后端学习的笔记,一方面是为了以后翻阅查看,更主要的原因是通过写作输出的方式让自己的印象更深,避免遗忘. 首先是简单记录下自己学习使用 JDBC 的历程,由于目前 ...
- 一比一还原axios源码(八)—— 其他功能
到此,我们完成了axios的绝大部分的功能,接下来我们来补全一下其他的小功能. 一.withCredentials 这个参数可以可以表明是否是一个跨域的请求.那这个的使用场景是啥呢?就是我们在同域的 ...
- 从此 Typora 代码块有了颜色
起因 平时喜欢用typora记笔记,但是typora默认代码块没有指定语言,没有高亮看着很不舒服,所以用Autohotkey花了半天写了个脚本,按自己的快捷键就可以自动生成代码块并添加语言,这样就方便 ...