当前位置:首页 > [讲义]线二级倒立摆的控制问题的研究和matlab仿真
河南理工大学毕业设计(论文)说明书
律U??t???KX?t?,使得如下性能指标最小化:
J?1X?tf2?TFX?tf??1fTT?XtQtXt?Ut?R?t?U?t??dt ??????????t20(3-7)
其中Q?t?和F为半正定阵,R?t?是正定矩阵。Q?t?和R?t?分别是对状态
1变量和控制量的加权阵,X?tf2?TFX?tf?表示的是最终误差,从理论上讲
积分项中的第一项已经包含了终端误差的成分,但是如果要特别强调终值误差,则可以加上这一项,反之就可以不用加了。由此可知二次型性能指标的最优控制问题实质上就是:要求用较小的控制能量来获得较小的误差的最优控制。
一般情况下加权阵取为定常矩阵即Q和R,首先构造一个哈密尔顿函数:
1H???XT?t?QX?t??UT?t?RU?t????T??AX?t??BU?t??? (3-8) ??2当输入信号不受约束时,则可对哈密尔顿函数求导并令其值为0,求出最
?H??RU?t??BT??t??0,从而得到最优控制信号为: 小值?UU??t??R?1BT??t? (3-9)
其中??t?可由下式求出:??t???P?t?X?t?,P?t?即为黎卡提微分方程的解:
??t???P?t?A?ATP?t??P?t?BR?1BPT?t??Q (3-10) P??t??0,故: 当tf??,P?t?趋近于一个常值矩阵,且PPA?ATP?PBR?1BPT?Q?0 (3-11) 此式称为黎卡提矩阵代数方程。因此可得状态反馈量:K?R?1BTP。由此可见最优控制器的设计的关键是选择合适的加权阵Q和R,并据此计算出黎卡提矩阵代数方程中的P,就可以求出反馈增益K。
25
河南理工大学毕业设计(论文)说明书
3.2.2 Q, R阵的选择
在利用LQR方法设计控制器时,一个最关键的问题是二次型性能指标的选取。二次型性能指标与实际工程意义的品质指标间的联系至今未完全建立。因此,确定加权阵Q, R是一项重要且困难的工作。
一般来说,加权矩阵Q和R的选取是在立足提高控制性能与降低控制能量消耗的折中上考虑的。为了使问题简单,且使加权阵Q和R的各元素有明显的物理意义,通常将加权阵Q和R选为对角阵。这样可以看出q1是对状态
xi平方的加权,q1相对增大就意味着对xi的要求较严;R是对控制量u平方的加权,当R相对较大,意味着控制费用增高,使得控制能量较小,反馈减弱,当R相对很小时,控制费用较低,反馈增强,系统动态响应迅速。
对于二级倒立摆系统,二次型性能指标应能使其在调节过程中不偏离倒立摆的控制区域且尽可能在系统的线性范围内,根据前面对二级倒立摆运动分析,在考虑倒立摆系统的各个状态时,上摆偏角?2应比下摆的偏角
?1重要,下摆的偏角?1应比小车的位移x重要,因此要在选择加权矩阵Q
和R时反映这些要求。
26
河南理工大学毕业设计(论文)说明书
第四章 控制系统的MATLAB仿真
4.1 仿真软件的介绍 4.1.1 MATLAB简介
MATLAB是在20世纪80年代初期,由美国的MathWorks软件开发公司正式推出的一种数学工具软件,它以矩阵运算为基础,把计算、可视化、程序设计有机地融合到一个简单易学的交互式工作环境中。
MATLAB拥有功能强大、丰富的函数工具箱,可以实现科学计算、符号运算、算法研究、数学建模和仿真、数据分析和可视化、科学工程绘图以及图形用户界面设计等强大功能。
经过这些年的不断更新,它的交互性越来越好,功能也越来越强大,目前,MATLAB软件已成为了国际上公认的、应用最广泛的优秀数学应用软件之一,MATLAB为用户提供了丰富而实用的资源,它涵盖了许多门类的科学研究,如数学、控制、通信、数字信号处理、数字图像处理和经济等。 MATLAB语言具有如下特点: (1)编程效率高
它是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,且比Basic、Fortean和C等语言更加接近我们书写计算公式的思维方式,用MATLAB编写程序犹如在演算纸上排列出公式与求解问题。因此,MATLAB语言也可以通俗地称为演算纸式科学算法语言。由于它编写简单,所以编程效率高,易学易懂。 (2)语句简单,用户使用方便
MATLAB语言是一种解释执行的语言(在没被专门的工具编译之前),它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。人们用任何一种语言编写程序和调试程序一般都要经过4个步骤:编辑、编译、连接以及执行和调试。各个步骤之间是顺序关系,编程的过程就是在它们之间做瀑布型的循环。MATLAB语言与其他语言相比,较好地解决了上述问题,把编辑、编译、连接和执行融为一体。它能在同一画面上进行灵活操作,快速排除程序中的书写错误、语法错误乃至语义错误,从而加快
27
河南理工大学毕业设计(论文)说明书
了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。 (3)扩展能力强
MATLAB语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且MATLAB的库函数同用户文件在形式上一样,所以用户文件也可以作为MATLAB的库函数来调用。因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高MATLAB的使用效率和扩充其他功能。 (4)方便的绘图功能
MATLAB的绘图功能十分方便,它有一系列绘图函数(命令),例如线性坐标、对数坐标、半对数坐标以及极坐标,均只需调用不同的绘图函数(命令),在图上标出图题、XY轴标注,格(栅)绘制也只需调用相应的命令,简单易行。
正是由于这些特点,是MATLAB语言得到了广泛的应用。
4.1.2 MATLAB7.0简介
虽然经过Math Works公司的不但改进升级,现在已经推出了MATLAB R2008a,但由于使用习惯、计算机硬件资源的限制及新功能学习的滞后等原因,目前MATLAB7.0仍被广泛使用。本文即以MATLAB7.0及其附带的Simulink 6.0仿真软件作为仿真软件。
MATLAB7.0是一个由MATLAB工作环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统和MATLAB应用程序接口五大部分组成的功能强大的系统。MATLAB7.0分为主包和数十个可选的工具箱(Tool boxs)组成。主包有功能丰富和完备的数学函数库,大量繁杂的数学运算和分析可直接调用MATLAB函数求解。MATLAB的每一个工具箱都为特定的学科和研究领域提供了丰富的分析处理工具,如控制系统工具箱(Control Systems Toolbox)、信号处理工具箱(Signal Processing Toolbox)、通信工具箱(Communication Toolbox)、神经网络工具箱(Neural Networks Toolbox)、小波分析工具箱(Wavelets Toolbox)和仿真工具箱(Simulation Toolbox)等。对于我们自动化专业的仿真而言,我们主要用到的是Simulink工具
28
共分享92篇相关文档