一种离散系统线性二次型最优控制的算法设计
姓名: 专业: 学号:
一种离散系统线性二次型最优控制的算法设计
一:背景意义
对于许多的控制系统, 为得到满意的控制效果, 需根据建立的系统数学模型, 选择一个容许的控制规律, 在一定的条件下, 使得控制系统在完成所要求的控制任务时, 使给定的某一性能指标达到最优值, 极小值或极大值, 以使某一种性能指标为最小, 实现最优控制. 常用的性能指标有积分型性能指标如最小时间控制和最小能量控制; 末值型性能指标如机床工作台移动准确停止控制和复合型性能指标等. 线性二次型最优控制是一种常用的最优
控制系统设计方法. 这种方法中的性能指标是对象状态与控制输入的二次型函数, 在线性系统的约束条件下, 选择控制输入使得二次型函数达到最小。 二:模型描述
离散线性定常系统:
⎧x (k +1) =Ax (k ) +Bu (k ) ⎨
⎩y (k ) =Cx (k ) +Du (k ) (1)
式中, x(k)为 n 维状态向量; u(k)为p 维控制向量;A 为 n×n 非奇异阵; B为n ×p 矩阵, 当其可控性矩阵的秩为n, 选择完全可控线性离散系统的性能指标为:
1T 1N -1T
J =x (N ) Sx (N ) +∑x (k ) Qx (k ) +u T (k ) Ru (k ) (2) 22K =0
[]
Q 为 n×n 维正定或半正定实对称矩阵; R 为 p×p 维正定实对称矩阵; S 为 n×n 维正定或半正定实对称矩阵。
若选择最优反馈距阵为
(3) K (k ) =R -1B T (A T ) -1[P (k ) -Q ] 则其对应的最优控制序列和最优性能指标分别表示为公式(4)和(5):
u *(k ) =-K (k ) x (K ) =-R -1B T (A T ) -1[P (k ) -Q ]x (k )
(4)
(k =0, 1, 2.... N -1)
1T
J =x (0) P (0) x (0)
2
*
其中P (k ) =Q +A T P -1(k +1) +BR -1B
[
T -1
]
(5)
A
3、最优控制序列的确定
三:程序及仿真图
clear;
a=2;b=0.5;c=1;d=0;Q=[100 0;0 1];R=[1]; A=[a 0;-c*a 1];B=[b;-c*b];KX=dlqr(A,B,Q,R); k1=-KX(2);k2=KX(1);axc=[(a-b*k2) b*k1;(c* a+c*b*k2)(1-c*b*k1)];
bxc=[0;1];cxc=[1 0];dxc=[0];dstep(axc,bxc,cxc, dxc,1,100) 计算出的稳态最优反馈增益矩阵为
K=[3.8785-0.1743]
图2
一种离散系统线性二次型最优控制的算法设计
姓名: 专业: 学号:
一种离散系统线性二次型最优控制的算法设计
一:背景意义
对于许多的控制系统, 为得到满意的控制效果, 需根据建立的系统数学模型, 选择一个容许的控制规律, 在一定的条件下, 使得控制系统在完成所要求的控制任务时, 使给定的某一性能指标达到最优值, 极小值或极大值, 以使某一种性能指标为最小, 实现最优控制. 常用的性能指标有积分型性能指标如最小时间控制和最小能量控制; 末值型性能指标如机床工作台移动准确停止控制和复合型性能指标等. 线性二次型最优控制是一种常用的最优
控制系统设计方法. 这种方法中的性能指标是对象状态与控制输入的二次型函数, 在线性系统的约束条件下, 选择控制输入使得二次型函数达到最小。 二:模型描述
离散线性定常系统:
⎧x (k +1) =Ax (k ) +Bu (k ) ⎨
⎩y (k ) =Cx (k ) +Du (k ) (1)
式中, x(k)为 n 维状态向量; u(k)为p 维控制向量;A 为 n×n 非奇异阵; B为n ×p 矩阵, 当其可控性矩阵的秩为n, 选择完全可控线性离散系统的性能指标为:
1T 1N -1T
J =x (N ) Sx (N ) +∑x (k ) Qx (k ) +u T (k ) Ru (k ) (2) 22K =0
[]
Q 为 n×n 维正定或半正定实对称矩阵; R 为 p×p 维正定实对称矩阵; S 为 n×n 维正定或半正定实对称矩阵。
若选择最优反馈距阵为
(3) K (k ) =R -1B T (A T ) -1[P (k ) -Q ] 则其对应的最优控制序列和最优性能指标分别表示为公式(4)和(5):
u *(k ) =-K (k ) x (K ) =-R -1B T (A T ) -1[P (k ) -Q ]x (k )
(4)
(k =0, 1, 2.... N -1)
1T
J =x (0) P (0) x (0)
2
*
其中P (k ) =Q +A T P -1(k +1) +BR -1B
[
T -1
]
(5)
A
3、最优控制序列的确定
三:程序及仿真图
clear;
a=2;b=0.5;c=1;d=0;Q=[100 0;0 1];R=[1]; A=[a 0;-c*a 1];B=[b;-c*b];KX=dlqr(A,B,Q,R); k1=-KX(2);k2=KX(1);axc=[(a-b*k2) b*k1;(c* a+c*b*k2)(1-c*b*k1)];
bxc=[0;1];cxc=[1 0];dxc=[0];dstep(axc,bxc,cxc, dxc,1,100) 计算出的稳态最优反馈增益矩阵为
K=[3.8785-0.1743]
图2