倒立摆系统课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1郑州大学振动工程研究所2009课程设计指导书(2)倒立摆系统设计及仿真第一部分目的及任务本课程设计的目的是让学生以一阶倒立摆为被控对象,了解用古典控制理论设计控制器(如PID控制器)的设计方法和用现代控制理论设计控制器(最优控制)的设计方法,掌握MATLAB仿真软件的使用方法及控制系统的调试方法,加深学生对所学课程的理解,培养学生理论联系实际的能力。本课程设计的被控对象采用固高公司生产的GIP-100-L型一阶倒立摆系统,课程设计包括五方面的内容:(1)系统选型及设计;(2)建立一阶倒立摆的线性化数学模型;(3)倒立摆系统的PID控制器设计、MATLAB仿真;(4)倒立摆系统的最优控制器设计、MATLAB仿真1;(5)论文验证及提高第二部分系统选型及设计1.1总体设计1.2传感器选型1.3采集方案选择1.4计算机选择1.5控制系统设计。要说明每一部分设计的依据是什么,具体细节可在网络上搜索查找资料,。1已知技术参数和设计要求:系统内部各相关参数为:M小车质量0.5Kg;m摆杆质量0.2Kg;b小车摩擦系数0.1N/m/sec;l摆杆转动轴心到杆质心的长度0.3m;I摆杆惯量0.006kg*m*m;T采样时间0.005秒。设计要求:1.推导出系统的传递函数和状态空间方程。用Matlab进行脉冲输入仿真,验证系统的稳定性。2.设计PID控制器,使得当在小车上施加1N的脉冲信号时,闭环系统的响应指标为:(1)稳定时间小于5秒(2)稳态时摆杆与垂直方向的夹角变化小于0.1弧度3.设计最优控制器,使得当在小车上施加0.2m的阶跃信号时,闭环系统的响应指标为:(1)摆杆角度和小车位移x的稳定时间小于5秒(2)x的上升时间小于1秒(3)的超调量小于20度(0.35弧度)(4)稳态误差小于2%。2第三部分理论建模、控制设计及仿真第1章概述1.1实验设备简介一阶倒立摆系统的结构示意图如图1所示。小车滑轨皮带电机摆杆图1一阶倒立摆结构示意图系统组成框图如图2所示。图2一阶倒立摆系统组成框图系统是由计算机、运动控制卡、伺服机构、倒立摆本体和光电码盘几大部分组成的闭环系统。光电码盘1将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,摆杆的角度、角速度信号由光电码盘2反馈给运动控制卡。计算机从运动控制卡中读取实时数据,确定控制决策(小车运动方向、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,通过皮带,带动小车运动,保持摆杆平衡。1.2设计内容1.建立一阶倒立摆数学模型在《自动控制理论》课程中,有一章专门讲述控制系统的数学模型的建立方法,并将非线性数学模型在一定条件下化简成线性数学模型,在此以一阶倒立摆为例,建立其数学模型,并在摆角0附近将其非线性数学模型线性化,学生通过实际数学模型的推导,加深对所学内容的理解。2.控制系统的MATLAB仿真《自动控制理论》(古典部分)中所讲的控制器的设计方法很多,如根轨迹设计法、频率特性设计法和PID设计法,在实际系统中PID控制器应用最多,在本课程设计中选择PID控制器,PID控制器的特点是只能对单变量(此处为摆杆角度)进行控制。在《现代控制理论》中,普遍采用的控制方法是最优控制(LQR控制),最优控制可对多变量进行控制(如同时控制摆杆角度和小车位置),由于《现代控制理论》课时较少,对最优控制的讲解也很少,在这里通过对倒立摆的控制,让学生3理解单变量控制和多变量控制的差别。本部分课程设计的目的是学习PID控制器和LQR控制器的设计方法,了解控制器参数对系统性能指标的影响,学会根据控制指标要求和实际响应调整控制器的参数,加深学生对所学内容的理解。系统的MATLAB控制软件已编好,学生在进行控制系统设计时,只需将控制器参数输入,就可观察到控制系统的输出,仿真的目的一方面是让学生得到满足系统性能指标的控制器参数,另一方面是让学生将理论分析与仿真结果进行对比,更直观地理解各参数对控制性能的影响。第2章一阶倒立摆的数学模型设计目的:建立一阶倒立摆系统的数学模型,并在摆角0附近将其非线性数学模型线性化,学生通过实际数学模型的推导,加深对系统建模和模型线性化问题的理解。对系统加入输入信号,进行Matlab仿真,理解不稳定极点对系统稳定性的影响。设计要求:写出系统的动态方程,得出传递函数和状态空间方程。用Matlab进行脉冲输入仿真,验证系统的稳定性。2.1一阶倒立摆数学模型的推导对系统建立数学模型是系统分析、设计的前提,而一个准确又简练的数学模型将大大简化后期的工作。为了简化系统分析,在实际的模型建立过程中,要忽略空气流动阻力,以及各种次要的摩擦阻力。这样,可将倒立摆系统抽象成小车和匀质刚性杆组成的系统,如下图所示。本系统内部各相关参数定义如下:M小车质量m摆杆质量b小车摩擦系数l摆杆转动轴心到杆质心的长度I摆杆惯量F加在小车上的力x小车位置摆杆与垂直向上方向的夹角摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)下图是系统中小车和摆杆的受力分析图。其中,N和P为小车与摆杆相互作用力的水平和垂直方向的分量。注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图,图示方向为矢量正方向。应用Newton方法来建立系统的动力学方程过程如下:分析小车水平方向所受的合力,可以得到以下方程:NxbFxM4由摆杆水平方向的受力进行分析可以得到下面等式:22(sin)dNmxldt即:2cossinNmxmlml把这个等式代入上式中,就得到系统的第一个运动方程:FmlmlxbxmMsincos)(2(2-1)为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:22(cos)dPmgmldt即:2sincosPmgmlml力矩平衡方程如下:INlPlcossin注意:此方程中力矩的方向,由于sinsin,coscos,,故等式前面有负号。合并这两个方程,约去P和N,得到第二个运动方程:cossin)(2xmlmglmlI(2-2)1.微分方程模型设,当摆杆与垂直向上方向之间的夹角与1(单位是弧度)相比很小,即1时,则可以进行近似处理:1cos,sin,0)(2dtd。为了与控制理论的表达习惯相统一,即u一般表示控制量,用u来代表被控对象的输入力F,线性化后得到该系统数学模型的微分方程表达式:umlxbxmMxmlmglmlI)(2(2-3)2.传递函数模型对方程组(2-3)进行拉普拉斯变换,得到)()()()()()()()(22222sUssmlssbXssXmMssmlXsmglssmlI(2-4)注意:推导传递函数时假设初始条件为0。5由于输出为角度,求解方程组(2-4)的第一个方程,可以得到)(])([)(22ssgmlmlIsX把上式代入方程组(2-4)的第二个方程,得到)()()()()()()(22222sUssmlsssgmlmlIbsssgmlmlImM整理后得到以输入力u为输入量,以摆杆摆角为输出量的传递函数:sqbmglsqmglmMsqmlIbssqmlsUssG232421)()()()(其中])())([(22mlmlImMq若取小车位移为输出量,可得传递函数:sqbmglsqmglmMsqmlIbsqmglsqmlIsUsXsG2324222)()()()()()(3.状态空间数学模型由现代控制理论原理可知,控制系统的状态空间方程可写成如下形式:DuCXYBuAXX方程组(2-3)对,x解代数方程,得到如下解:uMmlmMImlMmlmMImMmglxMmlmMImlbuMmlmMImlIMmlmMIglmxMmlmMIbmlIxxx2222222222)()()()()()()()()(整理后得到系统状态空间方程:uMmlmMImlMmlmMImlIxxMmlmMImMmglMmlmMImlbMmlmMIglmMmlmMIbmlIxx2222222222)(0)(00)()()(010000)()()(00010uxxxY00010000016以上就是一阶倒立摆小车系统的状态空间表达式。2.2系统MATLAB仿真和开环响应1.传递函数在Matlab中,拉普拉斯变换后得到的传递函数可以通过计算并输入分子和分母矩阵来实现。假设系统内部各相关参数为:M小车质量0.5Kgm摆杆质量0.2Kgb小车摩擦系数0.1N/m/secl摆杆转动轴心到杆质心的长度0.3mI摆杆惯量0.006kg*m*mT采样时间0.005秒文件trans.m用于求系统传递函数、传递函数的极点以及开环脉冲响应。%——————trans.m——————%倒立摆传递函数、开环极点及开环脉冲响应%输入倒立摆传递函数G(S)=num/denM=0.5;m=0.2;b=0.1;I=0.006;g=9.8;l=0.3;q=(M+m)*(I+m*l^2)-(m*l)^2;%计算并显示多项式形式的传递函数num=[m*l/q00]den=[1b*(I+m*l^2)/q-(M+m)*m*g*l/q-b*m*g*l/q0]%计算并显示传递函数的极点p[r,p,k]=residue(num,den);s=p%求传递函数的脉冲响应并显示t=0:0.005:5;impulse(num,den,t)%显示范围:横坐标0-1,纵坐标0-60,此条语句参数可根据仿真输出曲线调整axis([01060])grid7%——————end——————执行上面的文件,得到系统传递函数的分子(num)与分母(den)多项式的Matlab表示及系统的开环极点(s),显示结果如下所示:transnum=4.545500den=1.00000.1818-31.1818-4.45450s=-5.60415.5651-0.14280由此可知,系统传递函数的多项式表达式为:2432()4.5455()0.181831.18184.4545ssGsUsssss系统的开环极点为6041.51s、5651.52s、1428.03s、40s,由于有一个开环极点位于S平面的右半部,开环系统不稳定。MATLAB仿真的开环脉冲响应(即给系统加一个脉冲推力)曲线如下图所示,系统不稳定。00.10.20.30.40.50.60.70.80.910102030405060ImpulseResponseTime(sec)Amplitude2.状态空间法状态空间法可以进行单输入多输出系统设计,因此在这个实验中,我们将尝试同时对摆杆角度和小车位置进行控制。为了更具挑战性,给小车加一个阶跃输入信号。我们用Matlab求出系统的状态空间方程各矩阵,并仿真系统的开环阶跃响应。在这里给出一个state.m文件,执行这个文件,Matlab将会给出系统状态空间方程的A,B,C和D矩阵,并绘出在给定输入为一个0.2m的阶跃信号时系统的响应曲线。state.m程序如下:%——————state.m——————%倒立摆状态方程及开环阶跃响应%输入倒立摆相关参数8M=0.5;m=0.2;b=0.1;I=0.006;g=9.8;l=0

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功