R是对称正定加权矩阵,她反映的是对状态X和控制U中各分量重要性的重视程度。从优先角度,即降低控制系统能量要求出发,让Q不变,R减小。这时,由Riccati方程求得的系统反馈增益阵K增大。调整时间与超调量就会减小,上升时间与稳态误差也会减小。但是系统稳定性很差,控制过程噪声很大。
第一项 反映控制性能,控制性能项越小,状态衰减到0的速度越快,振荡越小,控制性能越好;第二项 反映对控制能量的限制。通常在状态X衰减速度越快的情况,控制能量,也就是U就越大,对系统的控制也就越好。对给定系统(-1)和保证一定性能指标的前提下,设计一个控制器U,使J达到Jmin。
假定系统的状态是可以直接测量的,且考虑到控制器是状态反馈控制器的因素,那么就可以证明,最优控制器具有以下线性状态反馈形式,在以下形式下,可使性能指标(4-2)达到最小化Jmin:
式中,P为常数对称正定矩阵,即为Riccati矩阵方程的解。可有下列的代数Riccati方程求得:
(4-5)
设定加权矩阵Q和R如下:
Q为调节系统的稳定时间,设定不同的Q的值可以调节控制系统的稳定时间.
根据设计题意,Q的取值为 .
Q、R的选择一般无规律可循,主要取决于设计者的经验,这里提供2个选择的一般原则 [18]:
1)通常选用Q和R为对角线矩阵,实际应用中,通常将R值固定,然后改变Q的数值,最优控制的确定通常在经过仿真或实际比较后得到.当控制输入只有1个时,R成为1个标量数.
2)Q的选择不唯一.这表明当得到的控制器相同时,可以有多种Q值的选择,其中总有1个对角线形式的Q.
4.3 Matlab仿真
Matlab的控制系统工具箱供了lqr( )函数,可用于求解线性连续系统二次型状态最优控制的函数,格式为 :
[K,S,E]=lqr[A,B,R,N]
式中:A,B为系统状态空间表达式中的矩阵;Q和R为线性二次型的性能式中的矩阵;N为线性二次型的性能指标式中为交叉乘积项的加权阵,N=0时,Riccati方程成立。K和S 分别对应是最优控制方程式中的矩阵K和矩阵P;E为最优控制闭环系统的特征值,即det(λI –[A-B])=0的根[14]。
已知实验室移动机器人的质量m=2.8kg,小车轮子直径r=4.28CM ,小车身长为23CM,宽L为20CM,高为20CM。则转动惯量J=0.031kg.m^2,J1=J2=1.28*10^-3 kg.m^2,
b=[0.0424 0.0424 -0.003317 0.00128 0;0.0424 0.0424 0.003317 0 0.00128]; B=pinv(b) 主程序为
syms x y d m n;X=[x;y;d;m;n];X0=[0;0;0;0;0];
A=[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];
B=[5.8949 5.8949;5.8949 5.8949;-140.2930 140.2930;27.1579 -26.9799;-26.9799 27.1579];
R=[1 0;0 1];
Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];
N=[0 0;0 0;0 0;0 0;0 0];
[K,S,E]=lqr(A,B,Q,R,N)
U=-inv(R)*(B’)*S*X
J=(1/2)*[(X’)*Q*X+(U’)*R*U]
d=eig(A-B*inv(R)*(B’)*S)
K = 0.4999 0.4999 -0.6822 0.1392 -0.1241 0.4999 0.4999 0.6822 -0.1241 0.1392 S = 1.0e+007 * 1.0975 -1.0873 -0.0452 -0.4581 -0.2237 -1.0873 1.0769 0.0444 0.4573 0.2272 -0.0452 0.0444 0.0148 0.0662 -0.0103 -0.4581 0.4573 0.0662 0.2005 -0.1425 -0.2237 0.2272 -0.0103 -0.1425 -0.0890 matlab移动机器人的最优二次控制+数学模型(12):http://www.youerw.com/zidonghua/lunwen_146.html