线性二次型控制器(LQR)——轨迹跟踪器
阅读原文时间:2023年07月10日阅读:2

公式18--22为求解的关键     根据20、21分别求出P、g的值则通过18可求得期望的输出u

先将上面的状态方程简化

建立模型

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

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章