1、xxx 科技大学课程设计I摘 要倒立摆系统是一个典型的快速、多变量、非线性、不稳定系统,对倒立摆的控制研究无论在理论上和方法上都有深远的意义。本论文以实验室原有的直线一级倒立摆实验装置为平台,重点研究其PID控制方法,设计出相应的PID控制器,并将控制过程在MATLAB上加以仿真。本文主要研究内容是:首先概述自动控制的发展和倒立摆系统研究的现状;介绍倒立摆系统硬件组成,对单级倒立摆模型进行建模,并分析其稳定性;研究倒立摆系统的几种控制策略,分别设计了相应的控制器,以MATLAB为基础,做了大量的仿真研究,比较了各种控制方法的效果;借助固高科技MATLAB实时控制软件实验平台;利用设计的控制方法
2、对单级倒立摆系统进行实时控制,通过在线调整参数和突加干扰等,研究其实时性和抗千扰等性能;对本论文进行总结,对下一步研究作一些展望。关键词:一级倒立摆,PID,MATLAB 仿真xxx 科技大学课程设计II目 录第 1 章 MATLAB 仿真软件的应用 .91.1 MATLAB 的基本介绍 .91.2 MATLAB 的仿真 .91.3 控制系统的动态仿真 101.4 小结 12第 2 章 直线一级倒立摆系统及其数学模型 132.1 系统组成 132.1.1 倒立摆的组成 142.1.2 电控箱 142.1.3 其它部件图 142.1.4 倒立摆特性 152.2 模型的建立 152.2.1 微分方
3、程的推导 162.2.2 传递函数 172.2.3 状态空间结构方程 182.2.4 实际系统模型 202.2.5 采用 MATLAB 语句形式进行仿真 .21第 3 章 直线一级倒立摆的 PID 控制器设计与调节 343.1 PID 控制器的设计 .343.2 PID 控制器设计 MATLAB 仿真 36结 论 .41致 谢 .42参考文献 43xxx 科技大学课程设计1xxx 科技大学课程设计2xxx 科技大学课程设计3第 1 章 MATLAB 仿真软件的应用1.1 MATLAB 的基本介绍MTALAB系统由五个主要部分组成,下面分别加以介绍。(1)MATALB语言体系:MATLAB是高层
4、次的矩阵数组语言具有条件控制、函数调用、数据结构、输入输出、面向对象等程序语言特性。利用它既可以进行小规模编程,完成算法设计和算法实验的基本任务,也可以进行大规模编程,开发复杂的应用程序。 (2)MATLAB工作环境:这是对MATLAB提供给用户使用的管理功能的总称包括管理工作空间中的变量据输入输出的方式和方法,以及开发、调试、管理M文件的各种工具。 (3)图形句相系统:这是MATLAB图形系统的基础,包括完成2D和3D数据图示、图像处理、动画生成、图形显示等功能的高层MATLAB命令,也包括用户对图形图像等对象进行特性控制的低层MATLAB命令,以及开发GUI应用程序的各种工具。 (4)MA
5、TLAB数学函数库:这是对MATLAB使用的各种数学算法的总称包括各种初等函数的算法,也包括矩阵运算、矩阵分析等高层次数学算法。 (5)MATLAB应用程序接口(API):这是MATLAB为用户提供的一个函数库,使得用户能够在MATLAB环境中使用c程序或FORTRAN程序,包括从MATLAB中调用于程序(动态链接),读写MAT文件的功能。 可以看出MATLAB是一个功能十分强大的系统,是集数值计算、图形管理、程序开发为一体的环境。除此之外,MA丁LAB还具有根强的功能扩展能力,与它的主系统一起,可以配备各种各样的工具箱,以完成一些特定的任务。MATLAB有几种在不同电脑作业系统的版本,例如在
6、视窗3.1上的MATLAB for Windows, SIMULINK,在麦金塔上的MATLAB for Macintch,另外还有在Unix上的各种工作站版本。基本上这些版本主要是提供方便的操作环境,采用图形介面 6。1.2 MATLAB 的仿真工具SIMULINKMATLAB的SIMULINK子库是一个建模、分析各种物理和数学系统的软件。由于在WINDOWS界面下工作,所以对控制系统的方块图编辑、绘制很方便。MATLAB命令窗口启动SIMULINK程序后,出现的界面如下。分别为信号源、输出、离散系统库、线性系统库、非线性系统库、系统连接及扩xxx 科技大学课程设计4展系统。下面分别介绍:(
7、1)信号源程序提供了八种信号源,分别为阶跃信号、正弦波信号、白噪声、时钟、常值信号、文件、信号发生器等可直接使用。而信号发生器(singal gein)可产生正弦波、方波、锯齿波、随机信号等。(2)信号输出程序提供了三种输出方式,可将仿真结果通过三种方式之一如仿真窗口、文件等形式输出。(3)离散系统程序提供了五种标准模式,延迟、零-极点、滤波器、传递函数、状态空间等。并且每种标准模式都可方便地改变参数以符合被仿真系统。(4)线性系统程序提供了七种标准模式,加法器、比例、积分器、微分、传递函数、零-极点、状态空间等。同离散系统一样,每种标准模式都可方便地改变参数以符合被仿真系统。(5)非线性系统
8、非线性系统库提供了十三种常用标准模式,如绝对值、乘法、函数、回环特性、死区特性、斜率、继电器特性、饱和特性、开关特性等。(6)系统连接系统连接库提供了四种模式,输入、输出、多路转换等。(7)系统扩展考虑到各种复杂系统的要求,另外提供了十二种类型的扩展系统库,每一种又有不同的选择模式。1.3 控制系统的动态仿真由于SIMULINK提供了丰富的数学模型,且兼容于WINDOWS,所以用WINDOWS提供的简单命令即形成各种复杂的系统模型。下面分别介绍。连续系统某一位置随动系统的方块图如下所示图 1.1 传递函数图xxx 科技大学课程设计5根据SIMULINK提供的方框图,转换为符合仿真要求的图形:图
9、 1.2 传递函数方块图输入仿真时间、仿真步长,选择数值计算方法即得到系统的阶跃响应。图 1.3 K4 系统阶跃响应图 1.4 校正系统阶跃响应如果系统的动态响应特性不好,可以调出扩展库中的各种调节器,以改善系统的动态响应。比如引入典型的PID调节器,加入调节器后的系统响应如上图所示。(2)非线性系统某一带有死区的随动系统如下图所示。死区范围0.5,从系统的阶跃响应可以看出,由于系统的非线性,使得原来无差系统变为有差系统,同样可以引入各种调节器来校正系统,改善系统的动态响应。图 1.5 非线性系统方框图xxx 科技大学课程设计6(3)离散系统从离散系统库调出离散模型,得到系统的方框图和系统的阶
10、跃响应如图所示。图 1.6 离散系统图图 1.7 非线性系统阶跃响应图 1.8 离散系统阶跃响应1.4 小结MATLAB的SIMULINK对控制系统可以方便地进行仿真计算,分析控制系统的瞬态响应及稳态指标,同时仿真结果可以用图形和数据文件输出,数据文件可以在别的系统中应用。不仅对单变量,而且对多变量及状态空间均可仿真计算,确实是一种方便、有效的工具。限于篇幅,MATLAB的其它功能,如控制系统的频域、时域分析另文介绍。xxx 科技大学课程设计7第 2 章 直线一级倒立摆系统及其数学模型GIP 系列倒立摆系统是固高科技有限公司为全方位满足各类电机拖动和自动控制课程的教学需要而研制、开发的实验教学
11、平台。GIP 系列的主导产品由直线运动型、旋转运动型和平面运动型三个子系列组成。直线运动倒立摆的基本模块为直线运动控制模块,该模块由交流/直流伺服电机驱动滑动小车沿直线轴承滑动,完成定位控制和速度跟踪的任务。在滑动小车上加装一个单摆系统,构成经典的控制教学产品:单节倒立摆系统,可完成各类控制课程的教学实验,让学生具有一个可供实验验证的平台。该系统可用测试、研究和开发各类新的控制算法 7。2.1 系统组成倒立摆系统包含倒立摆本体、电控箱及由运动控制卡和普通PC机组成的控制平台等三大部分。系统组成框图如图 3.1。图 2.1 倒立摆系统框图xxx 科技大学课程设计82.1.1 倒立摆的组成小车由电
12、机通过同步带驱动在滑杆上来回运动,保持摆杆平衡。电机编码器和角编码器向运动卡反馈小车和摆杆位置(线位移和角位移),如图3.2 。2.1.2 电控箱电控箱内安装有如下主要部件: 交流伺服驱动器I/O 接口板开关电源 开关、指示灯等电气元件 2.1.3 其它部件图 2.3 电气控制箱电机倒立摆使用的电机是由日本松下公司提供的小型小惯量电机(MSMA系列,200W)。电机配有专门的驱动器。编码器倒立摆系统使用的是光电编码器,其工作原理是:利用一块特制的光栅板作为位移检测元件,光栅板上方格之间的距离为0.5mm左右。编码器内部有一个发光元件和两个聚焦透镜,发射光经过透镜聚焦后从底部的小孔向下射出,照在
13、编码器下面的光栅板上,再反射回编码器器内。当在光栅板上转动编码器时,由于光栅板上明暗相间的条纹反射光有强弱变化,编码器内部将强弱变化的反射光变成电脉冲,对电脉冲进行计数即可测出移动的距离。控制卡倒立摆还使用了由固高提供的控制卡,型号是GT-400-SV卡。SV卡的特点是输出类型可以是模拟量或者是脉冲量,它还采用了PID滤波器,外加速度和加速度前馈。通过调节,设置合适的参数,可提高控制系统的速度和精度。图 2.2 一级倒立摆的模型示意图Fy 小 车MFxO 摆 杆 (2L,m)u n(t)x 驱 动电 机角 度传 感 器位 置传 感 器导 轨 G(x ,yG)xxx 科技大学课程设计92.1.4
14、 倒立摆特性虽然倒立摆的形式和结构各异,但所有的倒立摆都具有以下的特性:非线性 倒立摆是一个典型的非线性复杂系统,实际中可以通过线性化得到系统的近似模型,线性化处理后再进行控制,也可以利用非线性控制理论对其进行控制,倒立摆的非线性控制正成为一个研究的热点。不确定性 主要是模型误差以及机械传动间隙,各种阻力等,实际控制中一般通过减少各种误差,如通过施加预紧力减少皮带或齿轮的传动误差,利用滚珠轴承减少摩擦阻力等不确定因素。耦合性 倒立摆的各级摆杆之间,以及和运动模块之间都有很强的耦合关系,倒立摆的控制中一般都在平衡点附近进行解耦计算,忽略一些次要的耦合量。 开环不稳定性 倒立摆的稳定状态只有两个,
15、即在垂直向上的状态和垂直向下的状态,其中垂直向上为绝对不稳定的平衡点,垂直向下为稳定的平衡点。 约束限制由于机构的限制,如运动模块行程限制,电机力矩限制等。为制造方便和降低成本,倒立摆的结构尺寸和电机功率都尽量要求最小,行程限制对于倒立摆的摆起尤为突出,容易出现小车的撞边现象。2.2 模型的建立系统建模可以分为两种:机理建模和实验建模。实验建模就是通过在研究对象上加上一系列的研究者事先确定的输入信号,激励研究对象并通过传感器检测其可观测的输出,应用数学手段建立起系统的输入输出关系。这里面包括输入信号的设计选取,输出信号的精确检测,数学算法的研究等等内容。机理建模就是在了解研究对象的运动规律基础
16、上,通过物理、化学的知识和数学手段建立起系统内部的输入状态关系。 对于倒立摆系统,由于其本身是自不稳定的系统,实验建模存在一定的困难。但是经过小心的假设忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可以在惯性坐标系内应用经典力学理论建立系统的动力学方程。下面我们采用其中的牛顿欧拉方法建立直线型一级倒立摆系统的数学模型。xxx 科技大学课程设计102.2.1 微分方程的推导在忽略了空气阻力,各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如下图3.4所示图 3 . 4 直 线 一 级 倒 立 摆 系 统我们不妨做以下假设:M小车质量、m摆杆质量、b小车摩擦系数
17、、l摆杆转动轴心到杆质心的长度、I 摆杆惯、F加在小车上的力、x 小车位置、摆杆与垂直向上方向的夹角、摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)。图3.5是系统中小车和摆杆的受力分析图。其中, N 和 P 为小车与摆杆相互作用力的水平和垂直方向的分量。注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图所示,图示方向为矢量正方向:图 3 . 5 (a )小车隔离 受力图 (b )摆 杆隔离 受力图分析小车水平方向所受的合力,可以得到以下方程:NxbFM (2.1)由摆杆水平方向的受力进行分析可以得到下面等式: xxx 科技大学课程设计11sin12l
18、kdmN即 : (2.2)icosllx把这个等式代入上式中,就得到系统的第一个运动方程: (2.3)FmlbMmsins2为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程: 即: (2.4)cos2ldtgP cossin2llgP力矩平衡方程如下: (2.5)INllcoin方程中力矩的方向,由于 ,故等式前面有负sini,cs, 号。合并这两个方程,约去P和N,得到第二个运动方程:(2.6)osin2xmlglmlI 设 ( 是 摆 杆 与 垂 直 向 上 方 向 之 间 的 夹 角 ) , 假 设 与1( 单 位 是 弧 度 ) 相 比 很 小 , 即
19、 1, 则 可 以 进 行 近 似 处 理 : 。 用 u 代 表 被 控 对 象 的 输 入 力 F , 线性化后两个运动方程如下: (2.7)umlxbMglI23.2.2 传递函数对方程组(3.7)进行拉普拉斯变换,得到 (2.8)sUmlsbXsmMglI 22注意:推导传递函数时假设初始条件为0。由于输出为角度,求解方程组(3.8)的第一个方程,可以得到:(2.9)sglIsX2)(0,sin,1codtxxx 科技大学课程设计12把上式代入方程组(3.8)的第二个方程,得到:sUmlsgmlIbsgmlIM 2222(2.10)整理后得到传递函数:(2.11)sqbmglsqlMs
20、qmlIbslU23242其中: 22llIq3.2.3 状态空间结构方程系统状态空间方程为 (2.12)DnCXyBuAx方程组(3.12)对 解代数方程,得到解如下:, uMmlIMmlIglxMmlIb lIlIlIx 222 2222 )()( (2.13)整理后得到系统状态空间方程: 2 222 222010010 0Ilbx xIlgl mmImullMl IMIMIl (2.14)xxx 科技大学课程设计13(2.15)uxxy001由公式(3.7)的第一个方程为:(2.16)xmlglI2对于质量均匀分布的摆杆有:(2.17)231lI于是可以得到:(2.18)xmlglm2化
21、简得到:(2.19)xl43设 ,则有:xuxX,(2.20)uxxyulxlg 01043014301实际的系统模型如下:M 小车质量 1.096 Kg m 摆杆质量 0.109 Kg b 小车摩擦系数 0 .1N/m/sec l 摆杆转动轴心到杆质心的长度 0.2 5m I 摆杆惯量 0.0034 kg*m*m T 采样频率 0.005秒 注意:在进行实际系统的MATLAB仿真时,我们将采样频率改为实际系统的采样频xxx 科技大学课程设计14率。我们的在实际操作中自行检查系统参数是否与实际系统相符,否则的改用实际参数进行实验。 2.2.4 实际系统模型把上述参数代入,可以得到系统的实际模型
22、 摆杆角度和小车位移的传递函数:(2.21)26705.01ssX摆杆角度和小车加速度之间的传递函数为:(2.22)26705.01ssV摆杆角度和小车所受外界作用力的传递函数: (2.23) 30942.16.27083.3 sssU以外界作用力作为输入的系统状态方程:(2.24)uxxyuxx 010356.20817.825.7256. 10093.81.以小车加速度作为输入的系统状态方程:uxx 3014.2901(2.25)uxxy1xxx 科技大学课程设计15需要说明的是,在固高科技所有提供的控制器设计和程序中,采用的都是以小车的加速度作为系统的输入,如果、用户需要采用力矩控制的方
23、法,可以参考以上把外界作用力作为输入的各式。2.2.5 采用 MATLAB 语句形式进行仿真仿真程序如图2.6所示图 2.6 系统数学模型仿真程序可得仿真曲线和结果如图2.7和2.8所示xxx 科技大学课程设计16图 2.7 系统数学模型仿真曲线图 2.8 系统仿真系数xxx 科技大学课程设计17第 3 章 直线一级倒立摆的 PID 控制器设计与调节3.1 PID 控制器的设计首先,对于倒立摆系统输出量为摆杆的角度,它的平衡位置为垂直向上。系统控制结构框图如下:图 3.1 倒立摆系统控制结构图中KD(s)是控制器传递函数,G(s)是被控对象传递函数。考虑到输入r(S)=0,结构图可以很容易的变
24、换成:图 3.2 倒立摆系统控制结构该系统的输出为:(3.1) sFnumPIDdenPIusdenIusGksy11其中,NUM被控对象传递函数的分子项 den被控对象传递函数的分母项 numpid PID控制器传递函数的分子项 xxx 科技大学课程设计18denpid PID控制器传递函数的分母项 被控对象的传递函数是: (3.2)denumsqbglsqmlMsqlIbslU23242其中, 22llImPID控制器的传递函数为:(3.3)2sKsKsKDIpDIP需仔细调节PID控制器的参数,以得到满意的控制效果。 前面的讨论只考虑了摆杆角度,那么,在我们施加控制的过程中,小车位置如何
25、变化呢考虑小车位置,得到改进的系统框图如下:图 3.3 改进型系统结构框图其中,G是摆杆传递函数,G是小车传递函数。由于输入信号,所以可以把结构图转换成:图 3.4 改进型系统结构框图其中,反馈环代表我们前面设计的控制器。 小车位置输出为:xxx 科技大学课程设计19(3.4)sFdenPIDumsFGKDsX1212其中, 21,denumn分别代表被控对象1和被控对象2传递函数的分子和分母。和代表PID控制器传递函数的分子和分母。下面我们来求,根据前面的推导:(3.5)sglIsX2可以推出小车位置的传递函数为:(3.6)其中, 22mllIMmq可以看出,小车的传递函数可以简化成:(3.
26、7)sFnuPIDkdenPIDusX12根据建模结果仔细计算并寻找合适的理论PID控制参数。进入matlab command窗口,键入pl1-pid.m,进行仿真实验,仔细检查系统硬件连接。通过调整参数可以控制摆杆竖直向上,此时可能需用手轻轻扶一下摆杆,以避免小车“撞墙”。 如果控制效果不理想,调整控制器参数,直到获得较好的控制效果 9。3.2 PID 控制器设计 MATLAB 仿真仿真中倒立摆的参数为:M 小车质量 1.096 Kg 、m 摆杆质量 0.109 Kg 、b 小车摩擦系数 0 .1N/m/sec 、l 摆杆转动轴心到杆质心的长度 0.2 5m 、I 摆杆惯量 0.0034 k
27、g*m*m 、T 采样频率 0.005秒。我们设计的技术要求:设计PID控制器,使得当在小车上施加1N的脉冲信号时,闭环系统的响应指标为:1.稳定时间小于5秒,sqbglsqlslIbsUXsG232422xxx 科技大学课程设计202.稳态时摆杆与垂直方向的夹角变化小于0.1弧度,所以MATLAB仿真如图5.5所示。图 3.5 PID 系统控制器 MATLAB 仿真xxx 科技大学课程设计21图 3.6 求两个多项式之和函数 polyadd.m xxx 科技大学课程设计22图 3.7 PID 控制脉冲响应仿真曲线xxx 科技大学课程设计23图 3.8 PID 系统 MATLAB 仿真系数结果
28、对仿真曲线的分析:经过模拟仿真,可以得到如图5.7的曲线,由图可以看出曲线在5秒之内就进入了稳态,达到了设计要求的指标xxx 科技大学课程设计24结 论本次毕业设计的内容主要是关于直线一级倒立摆系统的PID控制设计,其中涉及了关于自动控制方面的很多知识,尤其是PID控制。也有关于数学建摸方面的知识以及MATLAB软件的应用。此次毕业设计任务是建立直线一级倒立摆系统的数学模型,在系统内加一个PID控制器,使其构成一个闭环系统,并进行MATLAB仿真,给出实际控制曲线和控制器参数并进行分析。设计指标为1.稳定时间小于5秒。2.稳态时摆杆与垂直方向的夹角变化小于0.1弧度。经过假设忽略了一些次要的因
29、素后,但仿真出来的结果还有一个不稳定的系统。即仿真是一个不稳定的曲线,因此要在开环系统中要加一个反馈,即加入一个PID控制,使系统稳定。在设计PID控制器时,给小车上施加1N的脉冲信号。满足其两个指标后,系统在很短的时间里稳定下来,因此在这次毕业设计中,直线一级倒立摆系统在PID控制器作用下才稳定。通过模拟仿真,证明此次的 Kdpi,的取值比较合理,能使系统达到设计所要求的相应指标,应该说此次设计是成功的!xxx 科技大学课程设计25xx 工业大学本科生毕业设计26参考文献1黄坚.自动控制原理及其应用M.北京:高等教育出版社,2004.1 2孙德宝.自动控制原理M.北京:化学工业出版社,200
30、2.7 3胡寿松.自动控制原理(第四版)M.北京:科学出版社,2001.2 4周伯敏.自动控制理论M.北京:机械工业出版社,1999.15夏德钤,翁贻芳.自动控制理论M.北京:机械工业出版社,2004.16刘时鹏.MATLAB 环境下直线单级倒立摆系统实时控制实验的研究与设计R.重庆大学自动化学院,2004.67实验室.倒立摆系统实验指导书R.8刘金琨. 先进 PID 控制及其 MATLAB 仿真M.北京:电子工业出版社,2003.1 9陶永华.新型 PID 控制及其应用M.北京:机械工业出版社,2002.910 Katsuhiko Ogata.卢伯英等译.现代控制工程M.北京:电子工业出版社,2000.511薛定宇.控制系统仿真与计算机辅助设计M.北京:机械工业出版社,2005.112张晓华.控制系统数字仿真与 CADM.北京:机械工业出版社,1999.10