根据上述分析可知,二次型性能指标(4.3)的物理意义是:使系统在控制过程中的动态误差与能量消耗,以及控制结束时的系统稳态误差综合最优。至此,从性能指标的物理意义来看,权矩阵F、Q(t) 和R(t)都必须取为非负矩阵,不能取为负定矩阵;否则具有大误差和控制能量消耗很大的系统,仍然会有一个小的性能指标,从而违背了最优控制的原意。至于要求权矩阵R(t)正定,那是由于最优空置律的需要,以保证最优解的存在。
4.3 二次最优控制的MATLAB应用
4.3.1 MATLAB软件介绍
经过30余年的补充与完善以及多个版本的升级换代,MATLAB已经发展成一个包含众多工程计算、仿真功能及工具的庞大系统,是目前世界上最流行的仿真计算软件。MATLAB软件和工具箱(TOOLBOX)以及Simulink仿真工具,为自动控制系统的计算与仿真提供了强有力的支持。
4.3.2 MATLAB程序设计
在上述的球杆系统的频率响应控制中,多处运用到了MATLAB的程序设计,在本课题的二次最优控制设计中也将用到MATLAB来求解满足系统性能指标的反馈矩阵K.
MATLAB程序的基本设计原则如下所述:
%后面的内容是程序的注解,要善于运用注解使程序更具可读性。
养成在程序开头使用clear指令清除变量的习惯,以消除工作空间中其他变量对程序的影响,但是要注意在子程序中不要用clear。
参数值要集中放在程序的开始部分,以便文护。要充分利用MATLAB工具箱提供的指令来执行所要进行的运算,在语句行之后输入分号使其及中间结果不在屏幕上显示,以提高执行速度。
input指令可以用来输入一些临时数据;对于大量参数,则通过建立一个存储参数子程序,在主程序中通过子程序的名称来调用。
程序尽量模块化,即采用主程序调用子程序的方法,将所有子程序合并在一起执行全部操作。
充分利用Debugger来进行程序的调试(设置断点、单步执行、连续执行),并利用其他工具箱或图形用户界面(GUI)的设计技巧,将设计结果集成到一起。
设置好MATLAB的工作路径,以便程序运行。
4.3.3 Simulink的简介
本课题的二次最优控制仿真模型将在Simulink中搭建,对参数进行调整设置,以使系统的输出满足设计要求,一个典型的Simulink模型由以下三种类型的模块构成:
信号源模块
信号源为系统的输入,它包括常数信号源、函数信号发生器以及用户自己在MATLAB中创建的自定义信号。
被模拟的系统模块
系统模块作为仿真的中心模块,它是Simulink仿真建模所要解决的主要部分。
输入显示模块
系统的输出由显示模块接受。输出显示的形式包括图形显示、示波器显示和输出到文件或MATLAB工作空间三种,输出模块主要在Sinks库中。
构成Simulink模型的三种模块结构关联如图4.1所示
图4.1 构成Simulink模型的模块结构关联图
4.3.4 MATLAB/Simulink在线性二次型最优控制中的应用
在MATLAB中,有专门求解连续系统线性二次型最优控制问题的函数lqr()、lqr2()及lqry(),常见的调用格式为:
[K,P,E]=lqr(A,B,Q,R,N)
[K,P,E]=lqr2(A,B,Q,R,N)
[K,P,E]=lqry(sys,Q,R,N)
其中,输入的参数中,A为系统的状态转移矩阵,B为输入矩阵,Q为给定的半正定矩阵,R为给定的正定矩阵,N为性能指标中交叉乘积项的加权系数矩阵。返回参数中,K表示最优反馈矩阵,P是Riccati方程P’+PA+ATP+Q-PBR-1BTP=0的解,E则是A-BK的特征值。lqr和lqr2在调用上完全相同,只是使用的算法不用。Lqry用于求解二次型状态调节器的特例,采用输出反馈代替状态反馈。此时,最优控制为: 基于LQR球杆系统的控制方法研究与设计仿真(10):http://www.youerw.com/zidonghua/lunwen_1299.html