还剩28页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
摘要倒立摆系统是一个非线性自然不稳定系统是进行控制理论教学及开展各种控制实验的理想实验平台许多抽象的控制概念如控制系统的稳定性、可控性、系统收敛速度和系统抗干扰能力等,都可以通过倒立摆系统直观的表现出来除教学用途外,倒立摆系统的高阶次、不稳定、多变量、非线性和强耦合等特性使得许多现代控制理论的研究人员一直将它视为研究对象本课题以固高倒立摆系统为研究对象,通过Simulink搭建非线性模型然后将其线性化,并与数学方法近似的线性模型进行了比较采用根轨迹法设计出确定参数下的使系统稳定的控制器,并将其应用于倒立摆实际控制中,在摆杆角度控制器方面获得了很好的的控制效果最后,在MATLAB/Simulink环境下分别观察了线性模型和非线性模型的仿真情况本文以直线一级倒立摆系统为核心,掌握了在倒立摆系统控制方面国内外的研究情况通过实现对倒立摆的稳定控制,进而掌握了控制系统设计的一些基本方法
一、绪论
(一)课题研究的背景及意义倒立摆的最初研究始于上世纪50年代,由美国麻省理工学院(MIT)的控制论专家根据火箭发射助推器的原理设计而来,随着研究的深入和实际问题的推动而不断发展至今,已发展出了三级摆和四级摆这些研究成果具有重要的工程前景,在控制等领域中发挥了巨大的作用作为研究控制理论的一种非常典型的实验装置,倒立摆系统具有形象直观、结构简单、成本低廉、构件组成参数和形状易于改变的特点倒立摆是多种技术、多个领域的有机结合,包括机器人技术、控制理论技术、计算机控制技术等很多抽象的控制概念,如控制系统的稳定性、系统的可控性、系统收敛速度和抗干扰能力等,都可通过倒立摆系统直观形象的表现出来倒立摆控制系统本身又是一个多变量、高阶次、强耦合的非线性自然不稳定系统系统,在自动控制领域中,倒立摆仿真或者实物控制实验,已成为检验一种新的控制理论是否有效的试金石,同时也是产生一种新的控制方法所必须依据的基础实验平台
(二)倒立摆系统简介
1.倒立摆系统组成倒立摆系统包括倒立摆本体、电控箱、光电码盘反馈元件、以及由运动控制卡和计算机构成的控制平台等几大部分,其中电控箱由伺服驱动器和伺服电机组成如图1-1图1-1电机轴和摆杆的位置信息分别通过光电码盘1和2反馈给伺服驱动器与运动控制卡,构成了一个闭环系统计算机则利用中断(中断周期为
0.006s)从运动控制卡中实时读取出位置数据并计算电机的速率、控制量控制量通过运动控制卡转换为控制伺服驱动器的信号,使得电机通过伺服驱动器的驱动产生运动,从而保持摆杆的平衡
2.倒立摆的控制目标及控制原理
[1]倒立摆的控制问题就是使摆杆尽快地达到一个平衡位置,并且使之没有大的振荡和过大的角度和速度当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置直线倒立摆控制的目的是,小车和摆组成的系统在受到干扰后,小车处于轨道的中心位置,摆杆将保持垂直位置不倒控制原理是用一种强有力的控制方法对小车的速度作适当的控制,从而使摆杆倒置稳定与小车正上方,开始工作时,首先小车按摆杆的自由震荡频率摆动,摆杆随之大幅摆动,经过几次摆动后,摆杆能自动直立起来4.倒立摆系统研究现状
[2]
[3]倒立摆的研究可归结为以下两大问题一是如何使倒立摆快速从初始位置到竖直位置的起摆控制;二是如何达到在平衡点处的稳定控制问题目前,倒立摆的控制方法可以分为线性控制、智能控制和预测控制三大类
(三)本论文研究的主要内容
1.本论文以直线一级倒立摆为研究对象,建立数学模型,并以线性化后的状态空间方程为模型,用根轨迹法设计控制器,通过调节摆杆的角度,使当扰动为单位阶跃作用时,摆杆能稳定,当稳定时摆杆角度小于等于
0.08rad调整时间小于等于3s,然后利用Matlab中的Simulink进行仿真2.对于非线性模型,在Simulink中搭建非线性模型,并利用Simulink中的线性化分析工具进行线性化处理,得到线性化后的状态空间模型然后在Simulink中的非线性模型中添加摆杆角度的控制器,并对其进行仿真
二、MATLAB/SIMULINK工具箱简介
[5]
[8]
(一)Matlab系统简介MATLAB是由MATrix和LABoratory两单词的前三个字母组合而成.Matlab系统由Matlab开发环境、Matlab数学函数库、Matlab语言、Matlab图形处理系统和Matlab应用程序接口(API)五大部分构成自上世纪70年代发展以来,经过多年的补充完善以及数个版本的升级换代,逐渐发展为了集图形交互、通用科学计算、程序语言设计和系统控制于一体的庞大软件在以商品形式出现后的短短几年时间里,MATLAB就以其很好的开放性和运行的可靠性,使原来在控制领域的封闭式的软件纷纷淘汰20世纪90年代,MATLAB就已成为了国际控制界内公认的标准计算软件,在数值计算方面MATLAB超过了30多个数学类科技应用软件,独占鳌头
(二)Simulink及ControlSystemToolbox简介
1.SimulinkSimulink是MATLAB的一种可视化的仿真工具,它是实现动态系统建模和仿真的一个软件包,是一种基于MATLAB的框图设计环境,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中它与MATLAB最大的区别在于它与用户交互接口是基于Windows的模型化图形输入的,从而使得用户把更多的精力投入到系统模型的构建而非语言的编程上Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计
2.ControlSystemToolbox(控制系统工具箱)Matlab工具箱大致有30多个,可以分为两类功能型工具箱和领域型工具箱,控制系统工具箱是专业性很强的领域型工具箱的一种,用于完成一般控制系统工程设计,提供了功能强大的图形化用户界面的设计工具LTIViewer,用户可在图形化界面中同时通过图表得知一个或数个系统的变化,即使用者可在图形化界面中分析系统的时域特性和频域特性控制系统工具箱还提供了能够迅速完成补偿设计的图形化设计工具——SISO设计工具,可以帮助用户以图形化的方式来调整系统的增益值、分析设计系统的零极点、分析校正器,同时可以观察闭环响应与稳定裕量等
三、根轨迹设计方法及其在控制系统中的应用
[9]
[18]
[19]
(一)根轨迹方法简介1948年,伊文斯(W·R·EVANS)提出了直接由系统的开环传递函数确定系统闭环特征根的图解法,即工程上广泛使用的根轨迹法利用这一方法可以分析系统的性能,确定系统应有的结构和参数,也可用于校正装置的综合,根轨迹法的基础是系统的传递函数,这一方法仅适用于线性系统根轨迹法是一种图解方法,它是古典控制理论中对系统进行分析和综合的基本方法之一它描述的是系统某个参数通常指增益从零变化到无穷大时的闭环极点的位置变化由于根轨迹图直观地描述了系统特征方程的根(即系统的闭环极点)在s平面上的分布,因此,用根轨迹法分析自动控制系统十分方便,特别是对于高阶系统和多回路系统,应用根轨迹法比用其他方法更为方便,因此在工程实践中获得了广泛应用
(二)控制系统的根轨迹分析方法
[18]控制系统的根轨迹分析方法,是首先根据系统的结构和参数绘制出闭环系统的根轨迹图,然后再根轨迹图上分析系统的稳定性、计算系统的动态性能和稳态性能在根轨迹图上可以进行反馈系统的综合或校正
1.控制系统的设计问题根据给定的被控对象和自动控制的技术要求,进行控制器设计,使控制器与被控对象组成的系统能较好地完成自动控制任务设计问题要求设计整个控制器包括设备选型、可靠性、经济性等实际问题
2.控制系统的校正问题
[19]所谓校正,就是在系统中加入一些其参数可以根据需要而改变的机构或装置,使系统整个特性发生变化,从而满足给定的各项性能指标这一附加装置称为校正装置加入校正装置后使未校正系统的缺陷得到补偿,这就是校正作用常用的校正方式有串联校正、反馈校正、前馈校正和复合校正4种本文我们所涉及的是反馈校正
(1)超前校正网络无源超前校正网络的传递函数可写为其中a1故超前网络的负实零点总是位于其负实极点之右,起到微分作用,a的值选的越大,则超前网络的微分作用越强
(2)滞后校正网络无源滞后校正网络的传递函数可写为其中b1故滞后网络的负实极点总是位于其负实零点之右,起到积分作用
(三)根轨迹法在控制系统中的应用
[18]根轨迹法校正的特征是基于闭环系统具有一对主导闭环极点,并且,零点和附加的极点会影响响应特性,在系统中加入校正装置,相当于增加了新的开环零极点,这些零极点将使校正后的闭环根轨迹,向有利于改善系统性能的方向改变,系统闭环零极点重新布置,从而满足闭环系统性能的要求
1.开环零点对根轨迹的影响
(1)改变了实轴上根轨迹的分布
(2)改变了根轨迹渐近线的条数、与实轴的交点的坐标及夹角的大小
(3)使系统的根轨迹向左偏移提高了系统的稳定度,有利于改善系统的动态性能开环负实零点离虚轴越近,这种作用越大
(4)开环零点和极点重合或相近时,二者构成开环偶极子开环偶极子中的零点和极点对根轨迹的影响可以忽略不计通过加入开环零点构成开环偶极子的方法可抵消有损系统性能的极点对系统产生不利的影响
2.开环极点对根轨迹的影响
(1)改变了实轴上根轨迹的分布;
(2)改变了根轨迹的渐近线的条数、与实轴的交点的坐标及夹角的大小;
(3)使系统的根轨迹向右偏移降低了系统的稳定度,有损于系统的动态性能,使得系统响应的快速性变差开环负实极点离虚轴越近,这种作用越大当系统的性能指标是以最大超调量、上升时间、调整时间、阻尼比以及希望的闭环阻尼比、闭环极点无阻尼震荡频率等表示时,采用根轨迹法进行校正比较方便,在设计系统时,如果需要对增益以外的参数进行调整,则必须通过引入适当的校正装置来改变原来的零极点
四、直线一级倒立摆模型的线性化
[10]
[11]对于倒立摆系统,由于其本身是自然不稳定的系统,实验建模存在一定的困难但是经过小心的假设忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可以在惯性坐标系内应用经典力学理论建立系统的动力学方程下面是通过牛顿-欧拉方法建立的直线型一级倒立摆系统的数学模型由于状态反馈要求的被控系统是一个线性系统,而倒立摆系统本身却是一个非线性系统,因而用状态反馈控制倒立摆系统时,首先要做的是将这个非线性的系统近似为线性系统本文用两种方法进行了线性化,
1.在摆角=0附近将其非线性数学模型线性化;
2.采用Simulink搭建非线性仿真模型,并将其进行了线性化
(一)参量的假设以及系统内部各相关参数的假设
1.参量的假设M小车质量m摆杆质量b小车摩擦系数l摆杆转动轴心到杆质心的长度I摆杆惯量F加在小车上的力g重力加速度x小车的位置摆杆与垂直向上方向的夹角摆杆与垂直向下方向的夹角(初始位置为竖直向下)
2.系统内部各相关参数的假设M小车质量
1.096kgm摆杆质量
0.109kgb小车摩擦系数
0.1N/m/secl摆杆转动轴心到杆质心的长度
0.25mI摆杆惯量
0.0034kg*m*m由牛顿-欧拉方法可知倒立摆系统的非线性模型为
(二)在摆角=0附近将其非线性数学模型线性化方程中,当与1(单位为弧度)相比很小时,可进行近似处理,,,用符号u代替被控对象的输入量F,将上三等式带入,得到近似的线性模型如下从而得到倒立摆的传递函数模型为其中状态空间模型为其中,
1.利用线性化后的传递函数模型在Matlab中求解摆杆角度控制器的传递函数前面我们已经获得了倒立摆系统开环的传递函数,小车的推力作为输入(单位阶跃),倒立摆系统摆杆的角度作为输出,则被控对象的传递函数为其中令则给系统施加一个单位阶跃扰动,输出量为摆杆角度时,系统框图如4-1所示图4-1一般情况下,输入rs=0系统框图可变换成如图4-2所示图4-2其中,Gs是单位阶跃输入到摆杆角度输出的传递函数,反馈环节的Cs则是所要设计的摆杆角度的控制器
2.线性系统传递函数的Matlab描述在Matlab中,通过求解状态方程中的系数矩阵来求得系统的传递函数以下是输入为单位阶跃干扰,输出为摆杆角度的系统传递函数的m-file%直线一级倒立摆的传递函数M=
1.096;m=
0.109;b=
0.1;l=
0.25;I=
0.0034;g=
9.8;p=I*M+m+M*m*l^2;A=[0100;0-I+m*l^2*b/pm^2*g*l^2/p0;0001;0-m*l*b/pm*g*l*M+m/p0];B=[0;I+m*l^2/p;0;m*l/p];C=[1000;0010];D=[0;0];Gz=ssABCDGc=tfGzGs=zpkGz21%------end---------执行上面文件,可以依次得到系统的状态空间表达式、系统的传递函数,以及零极点增益模型如下状态空间表达式a=x1x2x3x4x10100x20-
0.
088320.62930x30001x40-
0.
235727.830b=u1x10x
20.8832x30x
42.357c=x1x2x3x4y11000y20010d=u1y10y20Continuous-timemodel.传递函数表达式Transferfunctionfrominputtooutput...
0.8832s^2-
23.09#1:---------------------------------------s^4+
0.08832s^3-
27.83s^2-
2.309s
2.357s+
1.012e-016#2:-----------------------------------s^3+
0.08832s^2-
27.83s-
2.309零极点增益表达式Zero/pole/gain:
2.3566s-------------------------------s-
5.273s+
5.278s+
0.08299
(三)采用Simulink搭建非线性仿真模型,并将其进行了线性化
1.非线性模型将其整理化简,如下式2.搭建仿真模型,如图4-3其中,x小车位置;x’小车速度;θ摆杆角度;θ’摆杆角速度;图4-3双击增益模块,打开FunctionBlockParameters如图4-4所示,并计算出非线性模型的各个增益,K1=
0.8298755186721992K2=
0.1K3=
0.02725K4=
97.9192166462668299K5=
0.267105图4-
43.在Simulink中进行线性化,采用MatlabR2010a
(1)设置线性化点在要设置的线上右键LinearizationPoint,选择InputPoint,outputPoint分别设置单位阶跃为InputPoint,小车位置和摆杆角度为outputPoint
(2)打开Tools|ControlDesign—LinearAnalysis.
(3)在ControlandEstimationToolManager窗口中,打开DefaultOperatingPoint,设置simu/Integer3的稳态值为pi,即摆杆最终为竖直状态
(4)选择LinearizationTask,单击左下角的LinearizeModel
(5)选择Model可以看到线性化后的结果,如下其中,x1,x2x3x4分别表示小车位置、小车速度、摆杆角度、摆杆角速度LinearizationResult: - ToplottheresponseofthisresultclickonthenodelabeledCustomViews. - ToexporttheresultclickontheExportToWorkspacebuttonbelow.a = x1 x2 x3 x4 x1 0 1 0 0 x2 0 -
0.08831
0.6294 0 x3 0 0 0 1 x4 0 -
0.2356
27.83 0b = u1 x1 0 x2
0.8832 x3 0 x4
2.357c = x1 x2 x3 x4 y1 1 0 0 0 y2 0 0 1 0d = u1 y1 0 y2 0Continuous-time model.StateNames:x1-Integrator1x2-Integrator2x3-Integrator3x4-Integrator4InputChannelNames:u1-FOutputChannelNames:y1-xy2-θ
(6)Simulink线性化验证由前面可知,倒立摆系统的状态空间模型的表达式为a=x1x2x3x4x10100x20-
0.
088320.62930x30001x40-
0.
235727.830b=u1x10x
20.8832x30x
42.357c=x1x2x3x4y11000y20010d=u1y10y20由此,由于Simulink方正时各个增益的计算过程存在误差,所以最终的结果会出现上面的微小误差
五、基于线性模型的根轨迹法控制器设计与调节
[4]
[6]
[12]]
[13]
[14]本章用根轨迹法设计控制器,对直线一级倒立摆系统的摆杆角度进行控制,使得当扰动为单位阶跃作用时,摆杆稳定时,角度小于等于
0.08rad调整时间小于等于3s首先,由第四章可以得到系统的开环传递函数;其次,根据开环传递函数设计控制器,用SISOTOOL进行根轨迹分析,绘制单位阶跃响应曲线来检验设计的控制器,使得满足题目中的要求
(一)系统的开环传递函数为Transferfunctionfrominputtooutput...
0.8832s^2-
23.09#1:---------------------------------------s^4+
0.08832s^3-
27.83s^2-
2.309s
2.357s+
1.012e-016#2:-----------------------------------s^3+
0.08832s^2-
27.83s-
2.309则单位阶跃输入的摆杆角度的传递函数Gs为
2.357s+
1.012e-016-----------------------------------s^3+
0.08832s^2-
27.83s-
2.309在这个表达式中存在一个滞后环节
1.012e-016,构成非最小相位系统,为了忽略此滞后环节,从而构成最小相位系统,下面在MatlabCommandWindow中键入eps,如下epsans=
2.2204e-016eps在Matlab中表示计算机的最小数,数量级一般在十的负十六次方eps也可以带参数,在Matlab命令窗口中键入helpeps或者doceps可获得eps的详细帮助信息因此在Matlab中,
2.2204e-016左右的值近似为0故在Gs表达式中的
1.012e-016也近似为
02.357s则Gs=------------------------------------s^3+
0.08832s^2-
27.83s-
2.309下面将对Gs用SISOTOOL进行根轨迹分析
(二)SISOTOOL进行根轨迹分析
[4]在MatlabCommandWindow中输入SISOTOOLGs打开SISODesignTOOL得到系统开环传递函数的根轨迹图,并调节ControlandEstimationToolsManager|ControlArchitecture窗口,使得控制器C在反馈通道如图5-1所示,图5-1打开Edit|SISOToolPreferences|Options|选择Zero/pole/gain,如图5-2所示,图5-2没有添加控制器的开环传递函数根轨迹如图5-3所示,图5-3然后在MatlabCommandWindow中再输入poleGsans=
5.2727-
5.2780-
0.0830可以看到传递函数的极点分布为两个左半平面的极点和一个右半平面的极点,以及一个在原点的零点,构成了非最小相位系统,显然,系统是不稳定,由于传递函数有一个极点位于右半平面,并且有一条根轨迹起始于该极点,并沿着实轴向左到位于原点的零点处,这意味着无论增益如何变化,这条根轨迹总是位于右半平面,即系统是不稳定,为了使系统稳定,我们需设计一个控制器进行调节
(三)根轨迹法控制器的设计
[4]
[6]闭环系统的瞬态响应的基本特特征与闭环极点的位置密切相关,如果系统有可变的环路增益,那么闭环极点的位置就会取决于所选择的环路增益,从设计的观点来看,通过增益的简单调节,有些系统的闭环极点就可以移到所需的位置而对于有些系统而言,只调节增益不能满足所需的性能要求,这是就要设计校正器,有关较正器的相关问题已在第四章提到,这里不再赘述为了解决本文系统不稳定的问题,仅仅调节增益是不可以实现的因此,需添加零极点,从而使闭环主导极点全部位于左半平面添加零极点的具体过程为1.在原点处添加极点,与原点处的零点对消从而使那条始终位于右半平面的根轨迹发生变化,使系统可以通过调节达到稳定状态具体步骤如下在SISOTOOL窗口打开校正装置参数编辑窗口选择菜单CompensatoEditor|Compensator|C|Pole/Zero|右键|AddRealPole|RealPole输入0,即在原点处添加了极点绘制根轨迹如图5-4所示图5-4增加了一个位于
(00)处的极点后,系统共有一个零点0;四个极点0,
5.2727,-
5.2780,-
0.0830这说明有三条渐近线,有一根为180度,一根为60度,还有一根为负60度这样,有两条根轨迹便一定不会进入左半平面,使得系统不稳定所以,必须设法增加一个零点,使得渐近线的数目为两条,从而确保使根轨迹位于左半平面假设只添加一个零点,令其为z,则根轨迹与实轴的分离点由公式可求得,其中,m、n分别为零点和极点的个数,d为渐近线与实轴交点的坐标,L为根轨迹分支,且L=|n-m|从而有=表示两条渐近线离开实轴的位置,则不管z取多么小的实数,根轨迹在左半平面的部分都很少,很快会进入右半平面,不能满足设计要求为此,仅仅添加一个零点是不可行的,还需再添加一个极点,构成超前校正现有2个零点,5个极点,为了保证渐近线的条数为两条,还需再添加一个零点具体的实施过程如下
2.添加零点-1,并绘制阶跃响应曲线添加零点后的根轨迹如图5-5所示,图5-5所添加的零点-1与极点0构成滞后校正,滞后校正网络实质上是一个低通滤波器,对低频信号有较高的增益,从而减小了系统的稳态误差,同时由于滞后校正在高频段的衰减作用,使增益剪切频率移到较低的频率上,保证了系统的稳定性从而有助于改善系统的稳态性能,并且能够保持理想的瞬态性能
3.添加左半平面的极点-100,由于它远离闭环主导极点,对系统的稳定性影响很小如图5-6所示,图5-
64.为保证渐近线的数目为两条,添加零点-5,为了在原点附近看到清晰的根轨迹图,我们放大在此处的根轨迹,并只截取了部分根轨迹,使得在-100处还有一个极点未表示出,根轨迹如图5-7所示,图5-7所添加的零点-5与极点-100构成超前校正器,能够产生如下影响1渐近线向左移动,有利于改善系统的瞬态性能;2改变根轨迹的分布图,使超前校正装置的零极点分布合理,并有助于改善系统的瞬态特性
5.最后拖动系统闭环主导极点,使其向左半平面移动,从而调节增益k,并同时观察阶跃响应曲线和Nyquist曲线,使得系统稳定,并同时达到设计指标,根轨迹整体图如图5-8所示,图5-8根轨迹在原点处局部放大的根轨迹如图5-9所示,图5-9由图可知其闭环主导极点的阻尼比大致在
0.7的位置绘制阶跃响应曲线和Nyquist曲线,操作步骤如下EstimationToolsManager|AnalysisPlots|plot1step|closed-loopsrtoy;plot2Nyquist|openloopL在阶跃响应曲线上右键勾选Charaterist|PeakRespose|SettingTime在Nyquist图中,右键选择zoomon-10并勾选Charaterist|PeakRespose|MinimumStabilityMargins绘制此时的阶跃响应曲线和Nyquist曲线如图5-10所示,图5-10由图5-10可以看出摆杆角度最终小于
0.08rad,稳定时间在
2.5-
3.0s之间按照操作步骤6的方法导出此时控制器的传递函数,CsZero/pole/gainfrominputInputtooutputOutput:
382.3181s+1s+5--------------------ss+100Cs=tfCsTransferfunctionfrominputInputtooutputOutput:
382.3s^2+2294s+1912-------------------------s^2+100s求解此时的开环传递函数,在Matlabcommandwindow中如下输入,open=Gs*CsZero/pole/gainfrominputInputtooutput:
900.9529ss+5s+1-----------------------------------------ss-
5.273s+
5.278s+100s+
0.08299由此可知,开环传递函数在右半平面无零点,即r=0,若系统是稳定的,根据奈氏判据,在Nyquist曲线(-1j0)左侧的正负穿越也为0,由图5-10分析可知,(-1j0)左侧的正穿越,负穿越所以此时的系统是稳定的以采样时间T=
0.005s离散控制器的传递函数,操作如下c2dCs
0.005TransferfunctionfrominputInputtooutputOutput:
382.3z^2-
755.6z+
373.3---------------------------z^2-
1.607z+
0.6065Samplingtime:
0.005与固高倒立摆的参数对比,固高倒立摆控制器参数本文所设计的控制器参数b0=
270.15b0=
382.30b1=-
531.0b1=-
755.60b2=
260.85b2=
373.30b3=
0.00b3=
0.00b4=
0.00b4=
0.00a1=
1.00a1=
1.00a2=-
1.78a2=-
1.607a3=
0.78a3=
0.6065a4=
0.00a4=
0.00通过此对比发现参数相差较大,按照如上面所述的根轨迹设计思想,进一步调节根轨迹的零极点以及闭环主导极点,从而得到更加理想的摆杆角度控制器经过多次实验得到理想的一组零极点,调整设计后的根轨迹如图5-11所示,图5-11绘制此时的阶跃响应曲线和Nyquist曲线如图5-12所示,图5-12与图5-10比较发现,摆杆角度最大值小于
0.04rad,同时调节时间也缩短了,此时的调节时间在
1.5s-
2.0s之间,满足技术指标当扰动为单位阶跃作用时,摆杆稳定时,角度小于等于
0.08rad调整时间小于等于3s因此,所设计的控制器更加满足要求
6.导出控制器的传递函数File|export,将compensatorsc的exportas修改为Cs即将摆杆角度控制器的传递函数导出,为Cs在Matlabcommandwindow中如下输入,就可以得到摆杆角度控制器的zpk模型如下,CsZero/pole/gainfrominputInputtooutputOutput:284s+
1.4s+
4.43--------------------ss+50Cs=tfCsTransferfunctionfrominputInputtooutputOutput:284s^2+1656s+1761-----------------------s^2+50s对此时的控制器传递函数进行离散化如下,c2dCs
0.005TransferfunctionfrominputInputtooutputOutput:284z^2-
560.7z+
276.7-------------------------z^2-
1.779z+
0.7788Samplingtime:
0.005与固高参数进行比较,固高倒立摆控制器参数本文所设计的控制器参数b0=
270.15b0=
284.00b1=-
531.0b1=-
560.70b2=
260.85b2=
276.70b3=
0.00b3=
0.00b4=
0.00b4=
0.00a1=
1.00a1=
1.00a2=-
1.78a2=-
1.779a3=
0.78a3=
0.7788a4=
0.00a4=
0.00发现参数更加接近,这样在固高倒立摆装置上进行实物验证,效果更理想因此,此时的Cs就是我们设计的摆杆角度控制器的传递函数
六、根轨迹法摆杆角度控制器Simulik仿真
[15]
[16]
[17]
(一)基于线性模型的Simulink仿真
1.点击Matlab工具栏的图标进入Simulink仿真窗口
2.利用Simulink的工具栏中的,打开一个新建文件,并命名为Cs
3.分别从信号源库Sources、数学运算库MathOperations、连续系统库Continuous、常用模块CommonlyUsedBlocks、输出方式库Sinks中将阶跃信号发生器Step、相加器(Sum)、状态空间模型State-Space、传递函数TransferFcn、分线器Demux、示波器Scope选中,并将其拖至模型窗口
4.按要求将各个模块如图连接好
5.修改模块参数双击sum图标,修改参数将listofsigns设置为“+-”;双击state-space图标,修改ABCD的值,使其分别为ABeye4[0;0;0;0].前提是Matlab的workspace中有AB同时eye4使得输出依次为小车位置,小车速度,摆杆摆角,摆杆角速度;双击TransferFcn图标,修改Numerator:Cs.num{11},Denominator:Cs.den{11};双击Demux,修改其参数为4路;
6.绘制完毕后,保存,如图6-1图6-
17.仿真Simulation|configurationparameters,将相对容许误差Relativetolerance修改为1e-5运行后,双击Scope和Scope2得到小车位置和摆杆角度的单位阶跃响应的曲线小车位置,如图6-2:图6-2摆杆角度,如图6-3图6-3由图可知,摆杆能够稳定,但是小车的位置不能够控制由于直线一级倒立摆是单输入单输出模型,在设计时只把摆杆角度作为控制目标,而没有涉及小车的位置,小车位移在阶跃输入下信号线性增加,所以小车在单方向运动,不能稳定在某个位置,最终会触发限位开关因此需在校正摆杆角度的控制系统上添加外环,控制小车位置此问题在本论文没有尝试解决
(二)基于非线性模型的Simulink仿真本论文第四章第三节已搭建了非线性模型,并进行了线性化,下面将观察非线性模型的Simulink仿真结果
1.添加摆杆角度控制器的非线性仿真1控制器采用线性方程仿真所设计的摆杆角度控制器,如图6-4图6-4由于仿真设置的问题,仿真效果不理想,需要改进
七、结束语本文第一部分对直线一级倒立摆系统进行整体描述,介绍了经典控制理论中的根轨迹法,以及控制系统校正的一些基础知识并且阐述了所要研究的内容采用根轨迹法设计控制器,使得当扰动为单位阶跃作用时,当摆杆稳定时,角度小于等于
0.08rad调整时间小于等于3s第二部分运用Simulink搭建直线一级倒立摆的非线性模型,并将其线性化,得到令人满意的线性模型第三部分基于线性模型,通过根轨迹法设计控制器,并用Matlab/Simulink进行仿真、检验,所设计的摆杆角度控制器Cs使得倒立摆最大摆角小于
0.04rad,调节时间在
1.5s-
2.0s之间约为
1.6s满足设计指标,并且,在固高科技的实控平台上实验,对摆杆角度进行有效控制同时,对非线性模型添加控制器Cs,由于仿真参数设置的问题,使得仿真效果不理想,需进一步改进参考文献
[1]倒立摆与自动控制原理实验.PDF固高科技公司2005年
[2]基于倒立摆系统的控制方法研究2009年1月
[3]孙灵芳.孔辉.刘长国.毕磊倒立摆系统及研究现状[期刊论文]-机床与液压20087
[4]ControlTutorialsforMATLABandSimulinkByCarnegieMellonUniversity
[5]MatlabBasicsTutorialByCarnegieMellonUniversity
[6]ControlTutorialsforMatlabByCarnegieMellonUniversity
[7]倒立摆与自动控制原理实验.PDF固高科技公司2005年
[8]Matlab
7.0实用教程张圣勤著机械工业出版社
[9]《控制工程基础》高等教育出版社2010年6月彭珍瑞主编
[10]倒立摆与自动控制原理实验.PDF固高科技公司2005年
[11]刘金琨,先进PID控制及其MATLAB仿真,北京电子工业出版社2003年
[12]计算机辅助设计与Matlab薛定宇东北大学出版社
[13]GIP-EDG.PDF固高科技深圳有限公司先进教学设备与系统事业部中国科学技术大学编著2002年8月
[14]黄忠霖.自动控制原理的MATLAB实现北京-国防工业出版社.
2007.
[15]MATLAB仿真技术与实例应用教程张森等编著
[16]精通SIMULINK系统仿真与控制沈辉编著北京大学出版社
[17]控制工程基础及MATLAB实践张若青编著高等教育出版社
[18]自动控制原理王划一主编国防工业出版社
[19]自动控制原理胡寿松主编科学出版社谢辞经过几个月的忙碌和工作,本次毕业设计已接近尾声,我的大学时光也已接近尾声,我才惊觉自己即将真正离开,人生亦从此展开新的画卷尽管不舍,却更珍惜,因为我的生命中有那么多可爱的人值得感激他们使我的大学生活充满了色彩,无论收获、遗憾,对我来说都是一笔宝贵的财富首先,感谢我的指导老师周东涛老师在我本科学习期间及毕业设计的这几个月对我的悉心指导无论是实验研究还是论文撰写,周老师都将他的知识、经验心得毫无保留的传授给我们,给我们耐心的指导,并给我搭建了良好的学习平台他渊博的理论知识、丰富的实践经验、严谨的治学态度和诲人不倦的作风,对我产生了深远的影响,让我受益终生同时,在毕业设计的整个过程中机电工程学院领导和老师们给予了大力支持和帮助,感谢领导和老师们在本次毕业设计中和大学四年里给予我们的关心和帮助,特别感谢学校开展科技立项、挑战杯等活动使我们能力上有极大的提高,希望山东大学威海分校在这条路上走的更远最后,再次向所有关心和帮助过我的老师、同学、亲人、朋友致以最衷心的感谢和最美好的祝愿!计算机运动控制卡伺服驱动器伺服电机倒立摆反馈信号光电码盘器2光电码盘器1∑∑ControllerKDsPlantGs∑PlantGsControllerCs。