线性二次高斯(LQG)设计
reg=lqg(系统、QXU、QWV)
reg=lqg(系统、QXU、QWV、QI)
reg=lqg(系统、QXU、QWV、QI、1dof)
reg=lqg(系统,QXU,QWV,QI,'2dof')
reg=lqg(___;,'current')
[reg,info]=lqg
reg=lqg(系统、QXU、QWV)
计算最优线性二次高斯(LQG)调节器规则
给出了状态空间模型系统
设备的配置和权重矩阵QXU
和QWV
.动态调节器规则
使用测量值Y产生控制信号U规定Y在零值附近。使用正反馈将此调节器连接到设备输出Y.
LQG调节器使成本函数最小化
以植物方程为准
工艺噪音在哪里W测量噪声v是具有协方差的高斯白噪声:
reg=lqg(系统、QXU、QWV、QI)
使用设定点命令R和测量Y生成控制信号U.规则
采取整体行动确保Y跟踪命令R.
LQG伺服控制器使成本函数最小化
哪里x我是跟踪误差的积分R-Y.对于MIMO系统,R,Y和x我长度必须相同。
reg=lqg(系统、QXU、QWV、QI、1dof)
计算一个单自由度伺服控制器,该控制器E=R-Y而不是[R;Y]作为输入。
reg=lqg(系统,QXU,QWV,QI,'2dof')
相当于LQG(系统、QXU、QWV、QI)
并产生如前所示的两自由度伺服控制器。
reg=lqg(___;,'current')
使用“当前”Kalman估计器,该估计器使用x[N|N]作为计算离散系统LQG调节器时的状态估计。
[reg,info]=lqg
返回结构中的控制器和估计器增益矩阵信息
对于前面的任何语法。例如,您可以使用控制器和估计器增益以观察者形式实现控制器。有关更多信息,请参阅算法.
线性二次高斯(LQG)调节器与伺服控制器设计
这个例子展示了如何为以下系统设计一个线性二次高斯(LQG)调节器、一个单自由度LQG伺服控制器和一个两自由度LQG伺服控制器。
这种植物有三种状态(x),两个控制输入(U),三个随机输入(W),一个输出(Y),输出的测量噪声(v),以及以下状态和测量方程。
哪里
系统具有以下噪声协方差数据:
对于监管机构,使用以下成本函数来定义监管绩效和控制努力之间的权衡:
对于伺服控制器,使用以下成本函数定义跟踪器性能和控制努力之间的权衡:
要为此系统设计LQG控制器,请执行以下操作:
通过在MATLAB命令窗口中键入以下命令来创建状态空间系统:
A=[0110;0101;1000];B=[0.31;01;-0.30.9];C=[1.91.31];D=[0.53-0.61];sys=ss(A,B,C,D);
通过键入以下命令定义噪声协方差数据和加权矩阵:
nx=3;%国家数目ny=1;%产出数量Qn=[4 2 0;2 1 0;0 0 1];Rn=0.7;R=[1 0;0 2]QXU=blkdiag(0.1*眼(nx),R);QWV=blkdiag(Qn,Rn);QI=眼(ny);
通过键入以下命令形成LQG调节器:
KLQG=lqg(系统、QXU、QWV)
A=x1_e x2_e x3_e x1_e-6.212-3.814-4.136 x2_e-4.038-3.196-1.791 x3-1.418-1.973-1.766 B=y1 x1_e 2.365 x2_e 1.432 x3_e 0.7684 C=x1_e x2_e x3-e x3-0.000820.0303 u2-0.7147-0.7115-0.711 u2 u2组:连续输入-输出时间组:2个测量组:1个信道名称:u2个信道组。
键入以下命令,形成单自由度LQG伺服控制器:
KLQG1=lqg(系统、QXU、QWV、QI、,“1dof”)
4.891 0.891 0.18 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0组:名称通道错误1输出组:名称通道nels控制1,2连续时间模型。
键入以下命令,形成两自由度LQG伺服控制器:
KLQG2=lqg(系统、QXU、QWV、QI、,“2自由度”)
4.891 0.891 0.18 8 8 8 8 8 8 8 0.0 0 0 0.7684 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 u2 0 0 0输入组:名称通道设定值1 Measu重新命名2个输出组:名称通道控制1,2个连续时间模型。
lqg
可用于连续和离散时间设备。在离散时间,lqg
使用x[N|n-1]默认情况下作为其状态估计。要使用x[N|N]作为状态估计和计算最优LQG控制器,使用“当前”
输入参数。有关状态估计器的详细信息,请参阅卡尔曼
.
当您希望在设计调节器时具有更大的灵活性时,可以使用lqr
,卡尔曼
和lqgreg
当你想在设计伺服控制器时有更多的灵活性时,你可以使用lqi
,卡尔曼
和lqgtrack
命令。有关使用这些命令以及如何决定何时使用这些命令的更多信息,请参阅调节的线性二次高斯(LQG)设计和积分作用伺服控制器的线性二次高斯(LQG)设计.
控制器方程为:
连续时间:
对于离散时间:
延迟估计数:
当前估计数:
在这里
A.,B,C和D是LQG调节器的状态空间矩阵,规则
.
x我是跟踪误差的积分R-Y.
Kx,KW,K我,L,Mx和MW控制器和估计器增益矩阵是否返回信息
.