主要内容

lqg

Linear-Quadratic-Gaussian (LQG)设计

语法

reg = lqg (sys、QXU QWV)
reg = lqg (sys、QXU QWV,气)
reg = lqg (sys、QXU QWV,气,“1景深”)
reg = lqg (sys、QXU QWV,气,2自由度)
“当前”reg = lqg (___)
(注册、信息)= lqg (___)

描述

reg = lqg (sys、QXU QWV)计算最优linear-quadratic-Gaussian (LQG)监管机构注册状态空间模型给定一个sys的植物和加权矩阵QXUQWV。动态监管机构注册使用测量y来生成控制信号u调节y在零值。使用积极的反馈连接这个监管机构装置的输出y

LQG监管机构最小化代价函数

J = E { lim τ 1 τ 0 τ ( x T , u T ] x u ( x u ] d t }

植物方程

d x / d t = 一个 x + B u + w y = C x + D u + v

过程的噪声w和测量噪声v高斯白噪声的协方差:

E ( ( w v ] ( w v ] ) = W V

reg = lqg (sys、QXU QWV,气)使用定位点命令r和测量y生成控制信号u注册积分作用,确保了吗y跟踪命令r

的LQG伺服控制器最小化代价函数

J = E { lim τ 1 τ 0 τ ( ( x T , u T ] x u ( x u ] + x T x ) d t }

在哪里x跟踪误差的积分吗r- - - - - -y。MIMO系统,r,y,x必须具有相同的长度。

reg = lqg (sys、QXU QWV,气,“1景深”)计算一个自由度伺服控制器e=r- - - - - -y而不是[r;y)作为输入。

reg = lqg (sys、QXU QWV,气,2自由度)相当于LQG (sys、QXU QWV气)以前和生产两个自由度的伺服控制器。

“当前”reg = lqg (___)使用“当前”卡尔曼估计,它使用x(n|n)时的状态估计计算一个离散时间系统LQG调节器。

(注册、信息)= lqg (___)返回控制器和估计量增益矩阵结构信息以前的语法。您可以使用控制器和估计的收益,例如,在观察者实现控制器的形式。有关更多信息,请参见算法

例子

Linear-Quadratic-Gaussian (LQG)监管机构和伺服控制器的设计

这个例子展示了如何设计一个linear-quadratic-Gaussian (LQG)监管机构,一个一个自由度LQG伺服控制器,和两个自由度的LQG伺服控制器后系统。

工厂有三个州(x),两个控制输入(u),三个随机输入(w),一个输出(y),测量噪声的输出(v),和下面的状态和测量方程。

d x d t = 一个 x + B u + w y = C x + D u + v

在哪里

一个 = ( 0 1 0 0 0 1 1 0 0 ] B = ( 0.3 1 0 1 0.3 0.9 ] C = ( 1.9 1.3 1 ] D = ( 0.53 0.61 ]

系统噪声协方差如下数据:

n = E ( w w T ) = ( 4 2 0 2 1 0 0 0 1 ] R n = E ( v v T ) = 0.7

监管机构,使用以下成本函数定义之间的权衡调节性能和控制工作:

J ( u ) = 0 ( 0.1 x T x + u T ( 1 0 0 2 ] u ) d t

伺服控制器,使用以下成本函数定义跟踪性能之间的权衡和控制工作:

J ( u ) = 0 ( 0.1 x T x + x 2 + u T ( 1 0 0 2 ] u ) d t

设计这个系统的LQG控制器:

  1. 创建MATLAB中状态空间系统通过输入下面命令窗口:

    A = [0 1 0 0 0 1; 1 0 0];B = (0.3 - 1, 0 1, -0.3 - 0.9);C = (1.9 - 1.3 (1);D = (0.53 - -0.61);sys = ss (A, B, C, D);

  2. 定义噪声协方差数据和加权矩阵通过键入以下命令:

    nx = 3;%的状态数纽约= 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);气=眼睛(纽约);

  3. 形成了LQG调节器通过键入下面的命令:

    KLQG = lqg (sys、QXU QWV)
    这个命令返回以下LQG调节器:
    A = x1_e x2_e x3_e x1_e x2_e -6.212 -3.814 -4.136 -4.038 -3.196 -1.791 -1.418 -1.973 -1.766 x3_e B = y₁x1_e 2.365 x2_e 1.432 x3_e 0.7684 C = x1_e x2_e x3_e u1 u2乐队-0.02904 0.0008272 0.0303 -0.7147 -0.7115 -0.7132 D = y₁u1 u2 0输入组:名字渠道测量1输出组:名字渠道控制1、2的连续时间模型。

  4. 形成了一个自由度LQG伺服控制器通过键入下面的命令:

    KLQG1 = lqg (sys、QXU QWV,气,1景深的)
    这个命令返回以下LQG伺服控制器:
    A = x1_e x2_e x3_eξ1 x1_e x3_e x2_e 0.9018 -7.626 -5.068 -4.891 -5.108 -4.146 -2.362 0.6762 -2.121 -2.604 -2.141 0.4088(ξ1 0 0 0 0 B = e1 x1_e -2.365 x2_e -1.432 x3_e -0.7684ξ1 1 C = x1_e x2_e x3_eξ1 u1 u2 -1.492 -1.388 -1.131 0.5578 -0.5388 -0.4173 -0.2481 0.5869 D = e1 u1 u2 0输入组:名字通道错误1输出组:名字渠道控制1、2的连续时间模型。

  5. 形成了两个自由度的LQG伺服控制器通过键入下面的命令:

    KLQG2 = lqg (sys、QXU QWV,气,2自由度的)
    这个命令返回以下LQG伺服控制器:
    A = x1_e x2_e x3_eξ1 x1_e x3_e x2_e 0.9018 -7.626 -5.068 -4.891 -5.108 -4.146 -2.362 0.6762 -2.121 -2.604 -2.141 0.4088(ξ1 0 0 0 0 B = r1 y1 x1_e 0 2.365 1.432 x3_e x2_e 0 0 0.7684ξ1 1 1 C = x1_e x2_e x3_eξ1 u1 u2 -1.492 -1.388 -1.131 0.5578 -0.5388 -0.4173 -0.2481 0.5869 D = r1 y1 u1 0 0 u2 0 0输入组:名字渠道选点1测量2输出组:名字渠道控制1、2的连续时间模型。

提示

算法

控制器方程是:

  • 持续时间:

    d x e = 一个 x e + B u + l ( y C x e D u ) u = K x x e K x

  • 对于离散时间:

    x ( n + 1 | n ] = 一个 x ( n | n 1 ] + B u ( n ] + l ( y ( n ] C x ( n | n 1 ] D u ( n ] )

    • 延迟估计量:

      u ( n ] = K x x ( n | n 1 ] K x ( n ]

    • 目前估计量:

      u ( n ] = K x x ( n | n ] K x ( n ] K w w ( n | n ] = K x x ( n | n 1 ] K x ( n ] ( K x x + K w w ) y n n ( n ]

      y n n ( n ] = y ( n ] C x ( n | n 1 ] D u ( n ]

在这里,

  • 一个,B,C,D的整数矩阵LQG监管机构,注册

  • x跟踪误差的积分吗r- - - - - -y

  • Kx,Kw,K,l,x,w控制器和估计量增益矩阵中返回吗信息

版本历史

之前介绍过的R2006a