毕业设计(论文)-倒立摆控制器设计与仿真根轨迹.doc_第1页
毕业设计(论文)-倒立摆控制器设计与仿真根轨迹.doc_第2页
毕业设计(论文)-倒立摆控制器设计与仿真根轨迹.doc_第3页
毕业设计(论文)-倒立摆控制器设计与仿真根轨迹.doc_第4页
毕业设计(论文)-倒立摆控制器设计与仿真根轨迹.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要倒立摆系统是一个非线性自然不稳定系统, 是进行控制理论教学及开展各种控制实验的理想实验平台。许多抽象的控制概念如控制系统的稳定性、可控性、系统收敛速度和系统抗干扰能力等,都可以通过倒立摆系统直观的表现出来。除教学用途外,倒立摆系统的高阶次、不稳定、多变量、非线性和强耦合等特性使得许多现代控制理论的研究人员一直将它视为研究对象。本课题以固高倒立摆系统为研究对象,通过simulink搭建非线性模型然后将其线性化,并与数学方法近似的线性模型进行了比较。采用根轨迹法设计出确定参数下的使系统稳定的控制器,并将其应用于倒立摆实际控制中,在摆杆角度控制器方面获得了很好的的控制效果。最后,在matlab/simulink环境下分别观察了线性模型和非线性模型的仿真情况。本文以直线一级倒立摆系统为核心,掌握了在倒立摆系统控制方面国内外的研究情况。通过实现对倒立摆的稳定控制,进而掌握了控制系统设计的一些基本方法。关 键 词倒立摆 matlab/simulink 根轨迹法 摆杆角度控制器 线性化abstract inverted pendulum system is a nonlinear natural unstable system, it is an ideal experimental platform for control theory teaching and developing various control experiments. many abstract control concept such as control system stability and controllable, system convergence speed and system anti-interference ability, can be intuitivly expressed through inverted pendulum system. except for teaching purpose, inverted pendulum system of high order times, instability, multivariable and nonlinear characteristics and strong coupling made many modern control theory researchers regard it as research object. googol inverted pendulum system is the research object in this topic, by building simulink nonlinear model and its linearization, then compared it with linear model approximated in mathematics method. design determined parameters and stable system with the root locus method, and applied to the practical control, obtained the satisfying control effect of the controller about the angle of the pendulum. finally the simulations in both linear and nonlinear models were performed in matlab/simulink. this thesis encircled the single inverted pendulum system,and reviews research status of inverted pendulum system at home and abroad. by implementing the stability control of inverted pendulum, and master the basic ideas of control system design.key wordsinverted pendulum matlab/simulin root locus method controller of angle of pendulum linearization一、 绪论(一) 课题研究的背景及意义倒立摆的最初研究始于上世纪50年代,由美国麻省理工学院(mit)的控制论专家根据火箭发射助推器的原理设计而来,随着研究的深入和实际问题的推动而不断发展至今,已发展出了三级摆和四级摆。这些研究成果具有重要的工程前景,在控制等领域中发挥了巨大的作用。作为研究控制理论的一种非常典型的实验装置,倒立摆系统具有形象直观、结构简单、成本低廉、构件组成参数和形状易于改变的特点。倒立摆是多种技术、多个领域的有机结合,包括机器人技术、控制理论技术、计算机控制技术等。很多抽象的控制概念,如控制系统的稳定性、系统的可控性、系统收敛速度和抗干扰能力等,都可通过倒立摆系统直观形象的表现出来。倒立摆控制系统本身又是一个多变量、高阶次、强耦合的非线性自然不稳定系统系统,在自动控制领域中,倒立摆仿真或者实物控制实验,已成为检验一种新的控制理论是否有效的试金石,同时也是产生一种新的控制方法所必须依据的基础实验平台。(二) 倒立摆系统简介 1. 倒立摆系统组成 倒立摆系统包括倒立摆本体、电控箱、光电码盘反馈元件、以及由运动控制卡和计算机构成的控制平台等几大部分,其中电控箱由伺服驱动器和伺服电机组成。如图1-1计算机运动控制卡伺服驱动器伺服电机倒立摆反馈信号光电码盘器 2光电码盘器 1图1-1电机轴和摆杆的位置信息分别通过光电码盘1和2反馈给伺服驱动器与运动控制卡,构成了一个闭环系统。计算机则利用中断(中断周期为0.006s)从运动控制卡中实时读取出位置数据并计算电机的速率、控制量。控制量通过运动控制卡转换为控制伺服驱动器的信号,使得电机通过伺服驱动器的驱动产生运动,从而保持摆杆的平衡。2. 倒立摆的控制目标及控制原理1倒立摆的控制问题就是使摆杆尽快地达到一个平衡位置,并且使之没有大的振荡和过大的角度和速度。当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。直线倒立摆控制的目的是,小车和摆组成的系统在受到干扰后,小车处于轨道的中心位置,摆杆将保持垂直位置不倒。控制原理是用一种强有力的控制方法对小车的速度作适当的控制,从而使摆杆倒置稳定与小车正上方,开始工作时,首先小车按摆杆的自由震荡频率摆动,摆杆随之大幅摆动,经过几次摆动后,摆杆能自动直立起来。4倒立摆系统研究现状23倒立摆的研究可归结为以下两大问题:一是如何使倒立摆快速从初始位置到竖直位置的起摆控制;二是如何达到在平衡点处的稳定控制问题。目前,倒立摆的控制方法可以分为线性控制、智能控制和预测控制三大类。(三) 本论文研究的主要内容1. 本论文以直线一级倒立摆为研究对象,建立数学模型,并以线性化后的状态空间方程为模型,用根轨迹法设计控制器,通过调节摆杆的角度,使当扰动为单位阶跃作用时,摆杆能稳定,当稳定时摆杆角度小于等于0.08rad,调整时间小于等于3s,然后利用matlab中的simulink进行仿真。2 对于非线性模型,在simulink中搭建非线性模型,并利用simulink中的线性化分析工具进行线性化处理,得到线性化后的状态空间模型。然后在simulink中的非线性模型中添加摆杆角度的控制器,并对其进行仿真。二、 matlab/simulink工具箱简介58(一)matlab系统简介matlab 是由 matrix 和 laboratory 两单词的前三个字母组合而成. matlab系统由matlab开发环境、matlab数学函数库、matlab语言、matlab图形处理系统和matlab应用程序接口(api)五大部分构成。 自上世纪70年代发展以来,经过多年的补充完善以及数个版本的升级换代,逐渐发展为了集图形交互、通用科学计算、程序语言设计和系统控制于一体的庞大软件。在以商品形式出现后的短短几年时间里,matlab就以其很好的开放性和运行的可靠性,使原来在控制领域的封闭式的软件纷纷淘汰。 20 世纪 90年代,matlab 就已成为了国际控制界内公认的标准计算软件,在数值计算方面matlab超过了 30多个数学类科技应用软件,独占鳌头。(二) simulink及control system toolbox简介1. simulink simulink是matlab的一种可视化的仿真工具,它是实现动态系统建模和仿真的一个软件包,是一种基于matlab的框图设计环境,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。它与matlab最大的区别在于它与用户交互接口是基于windows的模型化图形输入的,从而使得用户把更多的精力投入到系统模型的构建而非语言的编程上。simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。2. control system toolbox(控制系统工具箱) matlab工具箱大致有30多个,可以分为两类:功能型工具箱和领域型工具箱,控制系统工具箱是专业性很强的领域型工具箱的一种,用于完成一般控制系统工程设计,提供了功能强大的图形化用户界面的设计工具lti viewer,用户可在图形化界面中同时通过图表得知一个或数个系统的变化,即使用者可在图形化界面中分析系统的时域特性和频域特性。控制系统工具箱还提供了能够迅速完成补偿设计的图形化设计工具siso设计工具,可以帮助用户以图形化的方式来调整系统的增益值、分析设计系统的零极点、分析校正器,同时可以观察闭环响应与稳定裕量等。三、 根轨迹设计方法及其在控制系统中的应用91819(一) 根轨迹方法简介1948年,伊文斯(wrevans)提出了直接由系统的开环传递函数确定系统闭环特征根的图解法,即工程上广泛使用的根轨迹法。利用这一方法可以分析系统的性能,确定系统应有的结构和参数,也可用于校正装置的综合,根轨迹法的基础是系统的传递函数,这一方法仅适用于线性系统。根轨迹法是一种图解方法,它是古典控制理论中对系统进行分析和综合的基本方法之一。它描述的是系统某个参数(通常指增益)从零变化到无穷大时的闭环极点的位置变化。由于根轨迹图直观地描述了系统特征方程的根(即系统的闭环极点)在s平面上的分布,因此,用根轨迹法分析自动控制系统十分方便,特别是对于高阶系统和多回路系统,应用根轨迹法比用其他方法更为方便,因此在工程实践中获得了广泛应用。(二)控制系统的根轨迹分析方法18控制系统的根轨迹分析方法,是首先根据系统的结构和参数绘制出闭环系统的根轨迹图,然后再根轨迹图上分析系统的稳定性、计算系统的动态性能和稳态性能。在根轨迹图上可以进行反馈系统的综合或校正。1. 控制系统的设计问题根据给定的被控对象和自动控制的技术要求,进行控制器设计,使控制器与被控对象组成的系统能较好地完成自动控制任务。设计问题要求设计整个控制器(包括设备选型、可靠性、经济性等实际问题)。 2. 控制系统的校正问题19 所谓校正,就是在系统中加入一些其参数可以根据需要而改变的机构或装置,使系统整个特性发生变化,从而满足给定的各项性能指标。这一附加装置称为校正装置。加入校正装置后使未校正系统的缺陷得到补偿,这就是校正作用。常用的校正方式有串联校正、反馈校正、前馈校正和复合校正4种。本文我们所涉及的是反馈校正。(1)超前校正网络无源超前校正网络的传递函数可写为其中a1,故超前网络的负实零点总是位于其负实极点之右,起到微分作用,a的值选的越大,则超前网络的微分作用越强。 (2)滞后校正网络 无源滞后校正网络的传递函数可写为其中b epsans =2.2204e-016eps在matlab中表示计算机的最小数,数量级一般在十的负十六次方,eps也可以带参数,在matlab命令窗口中键入:help eps或者doc eps可获得eps 的详细帮助信息。因此在matlab中,2.2204e-016左右的值近似为0,故在gs表达式中的1.012e-016也近似为0。 2.357 s 则gs= -s3 + 0.08832 s2 - 27.83 s - 2.309下面将对gs用siso tool进行根轨迹分析。(二) siso tool进行根轨迹分析4在matlab command window中输入: sisotool(gs)打开siso design tool得到系统开环传递函数的根轨迹图,并调节control and estimation tools manager|control architecture 窗口,使得控制器c在反馈通道。如图5-1所示,图5-1打开edit|siso tool preferences|options|选择zero/pole/gain,如图5-2所示,图5-2没有添加控制器的开环传递函数根轨迹如图5-3所示,图5-3然后在matlab command window中再输入:pole(gs)ans = 5.2727 -5.2780 -0.0830可以看到传递函数的极点分布为:两个左半平面的极点和一个右半平面的极点,以及一个在原点的零点,构成了非最小相位系统,显然,系统是不稳定,由于传递函数有一个极点位于右半平面,并且有一条根轨迹起始于该极点,并沿着实轴向左到位于原点的零点处,这意味着无论增益如何变化,这条根轨迹总是位于右半平面,即系统是不稳定,为了使系统稳定,我们需设计一个控制器进行调节。(三)根轨迹法控制器的设计 46闭环系统的瞬态响应的基本特特征与闭环极点的位置密切相关,如果系统有可变的环路增益,那么闭环极点的位置就会取决于所选择的环路增益,从设计的观点来看,通过增益的简单调节,有些系统的闭环极点就可以移到所需的位置。而对于有些系统而言,只调节增益不能满足所需的性能要求,这是就要设计校正器,有关较正器的相关问题已在第四章提到,这里不再赘述。为了解决本文系统不稳定的问题,仅仅调节增益是不可以实现的。因此,需添加零极点,从而使闭环主导极点全部位于左半平面。添加零极点的具体过程为:1 在原点处添加极点,与原点处的零点对消从而使那条始终位于右半平面的根轨迹发生变化,使系统可以通过调节达到稳定状态。具体步骤如下:在sisotool窗口打开校正装置参数编辑窗口:选择菜单compensato editor|compensator|c|pole/zero|右键|add real pole| real pole,输入0 ,即在原点处添加了极点。绘制根轨迹如图5-4所示:图5-4增加了一个位于(0,0)处的极点后,系统共有一个零点: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曲线,操作步骤如下:estimation tools manager|analysis plots|plot 1 step| closed-loops r to y; plot 2 nyquist| open loop l。在阶跃响应曲线上右键勾选charaterist|peak respose|setting time。在nyquist图中,右键选择zoom on (-1,0),并勾选charaterist|peak respose|minimum stability margins。绘制此时的阶跃响应曲线和nyquist曲线如图5-10所示,图5-10由图5-10可以看出摆杆角度最终小于0.08rad,稳定时间在2.5-3.0s之间。按照操作步骤6的方法导出此时控制器的传递函数, cszero/pole/gain from input input to output output:382.3181 (s+1) (s+5)- s (s+100) cs=tf(cs)transfer function from input input to output output:382.3 s2 + 2294 s + 1912- s2 + 100 s 求解此时的开环传递函数,在matlab command window中如下输入,open=gs*cszero/pole/gain from input input to output: 900.9529 s (s+5) (s+1)-s (s-5.273) (s+5.278) (s+100) (s+0.08299)由此可知,开环传递函数在右半平面无零点,即r=0,若系统是稳定的,根据奈氏判据,在nyquist曲线(-1,j0)左侧的正负穿越也为0,由图5-10分析可知,(-1,j0)左侧的正穿越,负穿越,所以此时的系统是稳定的。 以采样时间t=0.005s离散控制器的传递函数,操作如下: c2d(cs,0.005)transfer function from input input to output output:382.3 z2 - 755.6 z + 373.3- z2 - 1.607 z + 0.6065sampling time: 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.5s2.0s之间,满足技术指标:当扰动为单位阶跃作用时,摆杆稳定时,角度小于等于0.08rad,调整时间小于等于3s。因此,所设计的控制器更加满足要求。6.导出控制器的传递函数file|export,将compensators c的export as修改为cs,即将摆杆角度控制器的传递函数导出,为cs。在matlab command window中如下输入,就可以得到摆杆角度控制器的zpk模型如下, cszero/pole/gain from input input to output output:284 (s+1.4) (s+4.43)- s (s+50) cs=tf(cs)transfer function from input input to output output:284 s2 + 1656 s + 1761- s2 + 50 s对此时的控制器传递函数进行离散化如下,c2d(cs,0.005)transfer function from input input to output output:284 z2 - 560.7 z + 276.7- z2 - 1.779 z + 0.7788sampling time: 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仿真151617(一)基于线性模型的simulink仿真1.点击matlab工具栏的图标进入simulink仿真窗口。2.利用simulink的工具栏中的,打开一个新建文件,并命名为cs。3.分别从信号源库(sources)、数学运算库(math operations)、连续系统库(continuous)、常用模块(commonly used blocks)、输出方式库(sinks)中将阶跃信号发生器(step)、相加器(sum)、状态空间模型(state-space)、传递函数(transfer fcn)、分线器(demux) 、示波器(scope)选中,并将其拖至模型窗口。4.按要求将各个模块如图连接好。5.修改模块参数:双击sum图标,修改参数:将list of signs设置为“+-”;双击state-space图标,修改a,b,c,d的值,使其分别为a,b,eye(4),0;0;0;0.前提是matlab的 workspace中有a,b。同时eye(4)使得输出依次为小车位置,小车速度,摆杆摆角,摆杆角速度; 双击transfer fcn图标,修改numerator:cs.num1,1,denominator:cs.den1,1; 双击demux,修改其参数为4路;6.绘制完毕后,保存,如图6-1。图6-17.仿真:simulation|configuration parameters,将相对容许误差relative tolerance修改为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.5s2.0s之间,约为1.6s。满足设计指标,并且,在固高科技的实控平台上实验,对摆杆角度进行有效控制。同时,对非线性模型添加控制器cs,由于仿真参数设置的问题,使得仿真效果不理想,需进一步改进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论