线性二次型控制器(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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM