资源描述
. . 一级直线倒立摆系统模糊控制器设计实验指导书目录1 实验要求. 31.1 实验准备. 31.2 评分规则. 31.3 实验报告容. 31.4安全须知. 32 倒立摆实验平台介绍. 42.1 硬件组成. 42.2 软件结构. 43 倒立摆数学建模(预习容). 64模糊控制实验. 84.1 模糊控制器设计(预习容). 84.2 模糊控制器仿真. 124.3 模糊控制器实时控制实验. 125附录:控制理论中常用的MATLAB 函数.136参考文献. 141 实验要求1.1 实验准备实验准备是顺利完成实验容的必要条件。实验准备的主要容包括如下的几个方面:(1)复习实验所涉与的MATLAB 软件和模糊控制理论知识;(2)熟悉实验的容和步骤;(3)根据实验要求,作必要的理论分析与推导。1.2 评分规则实验满分为100 分,其中实验考勤与实验态度占15% ,实验预习占25% ,实验报告占60% (其术容占50% ,报告书写占10% )。(1)实验考勤与实验态度实验考勤和实验态度主要针对课的学时进行考核。(2)实验预习报告实验预习容分为两大部分,即倒立摆数学建模和模糊控制的预习容。(3)实验报告的技术容实验报告的技术容主要包括实验数据的记录与分析和实验思考题的解答。(4)实验报告书写实验报告书写水平主要考虑文字表达水平(要求层次分明、表述清晰、简洁明了)和规程度(如图是否有坐标、单位和标题、公式书写与编号是否规等)。实验报告的书写不仅表达了作者的文字功底,而且反映了作者的治学态度。提示1:报告正文原则上不超过10页。提示2:一旦发现抄袭行为,抄袭者和被抄袭者均按作弊处理。1.3 实验报告容实验报告包含以下的容。可根据实验的具体情况和要求进行适当调整。(1)理论分析的主要步骤;(2)仿真和硬件实物调试结果与分析(包括Matlab 程序或仿真模型,实物调试框图);(3)回答思考题;(4)总结实验心得与对实验的意见或建议。1.4安全须知(1)实验之前一定要做好预习。(2)为了避免设备失控时造成人身伤害,操作时人员应该与设备保持安全距离,不要站在摆的两端。(3)实验前,确保倒立摆放置平稳;要检查摆杆的可能摆动围,确保不会发生碰撞。(4)如果发生异常,马上关闭电控箱电源。(5)系统运行时禁止将手或身体的其他部位伸入小车运行轨道之间。2 倒立摆实验平台介绍倒立摆是一个典型的不稳定系统,同时又具有多变量、非线性、强耦合的特性,是自动控制理论中的典型被控对象。它深刻揭示了自然界一种基本规律,即一个自然不稳定的被控对象,运用控制手段可使之具有一定的稳定性和良好的性能。许多抽象的控制概念如控制系统的稳定性、可控性、系统收敛速度和系统抗干扰能力等,都可以通过倒立摆系统直观的表现出来。本实验以固高科技公司的单级直线倒立摆为研究对象。倒立摆实验平台分为硬件和软件两大部分。2.1 硬件组成倒立摆硬件系统由倒立摆本体、计算机(含运动控制卡)、电控箱(包括交流伺服机驱动器、运动控制卡的接口板、直流电源等)三大部分组成。倒立摆系统的本体由被控对象(小车和摆杆)、传感器(角度传感器)和执行机构(松下伺服电机与其传动装置)组成。(1)被控对象倒立摆的被控对象为摆杆和小车。摆杆通过铰链连接在小车上,并可以围绕连接轴自由旋转。通过给小车施加适当的力可以将摆杆直立起来并保持稳定的状态。(2)传感器倒立摆系统中的传感器为光电编码盘。旋转编码器是一种角位移传感器,它分为光电式、接触式和电磁感应式三种,本系统用到的就是光电式增量编码器。光电式增量编码器由发光元件、光电码盘、光敏元件和信号处理电路组成。当码盘随工作轴一起转动时,光源透过光电码盘上的光栏板形成忽明忽暗的光信号,光敏元件把光信号转换成电信号,然后通过信号处理电路的整形、放大、分频、记数、译码后输出。光电式增量编码器的测量精度取决于它所能分辨的最小角度,而这与码盘圆周所分狭缝的线数有关:=360/n ,其中n 编码器线数。对于电机编码器,在倒立摆使用中需要把编码器读数转化为小车的水平位置。(3)执行机构倒立摆系统的执行机构为松下伺服电机和与之连接的皮带轮。电机的转矩和速度通过皮带轮传送到小车上,从而带动小车的运动。电机的驱动由与其配套的伺服驱动器提供。电机的控制是通过固高公司的GT 系列运动控制器实现的。该控制器可以同步控制四个运动轴,实现多轴协调运动。运动控制器以计算机为主机,提供标准的ISA 总线或PCI 总线接口,并且可以提供RS232 串行通讯和PC104 通讯接口。运动控制器同时具有A/D 信号采集功能,从而能够将光电编码盘的信号传递到计算机。倒立摆系统中的计算机、运动控制卡、伺服驱动器、倒立摆本体(包含摆杆、小车、伺服电机、光电码盘)几大部分组成了一个闭环系统。光电码盘1将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,而光电码盘2 将摆杆的位置、速度信号反馈回控制卡。计算机从运动控制卡中读取实时数据,确定控制决策(小车向哪个方向移动、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,带动小车运动,保持摆杆平衡。2.2 软件结构倒立摆实验以MathWorks 公司的MATLAB/Simulink 软件与其实时工具箱(Real-TimeWorkshop3,简称RTW)为软件平台,实现倒立摆控制器的纯软件仿真和硬件环(Hardware-in-the-Loop)仿真实验(实物调试)。MATLAB/Simulink 是目前最为广泛使用的控制系统分析与控制器设计的软件。MATLAB 主要是以语句的形式实现仿真的功能,比较简洁,执行速度比较快;Simulink是以方框图的方式构建模型进行仿真,形象直观,简单易学。关于如何使用MATLAB/Simulink 进行控制系统的分析,请参考相关参考资料。附录给出了控制系统设计过程中常用到的指令。MATLAB/Simulink 主要是通过纯软件的方式实现系统的仿真。这种仿真方式比较便捷,但由于一个系统的数学模型与真实的系统总存在一定的差异,特别是复杂的系统,所以纯软件的仿真(以下简称“软仿真”)往往精度不高。近年来,硬件在环仿真逐步成为控制系统设计与仿真的主流,其在航空航天控制和汽车控制领域运用得尤为广泛。硬件在环仿真(又称半实物仿真)是将软件和硬件以实时的方式连接在一起进行仿真实验,不仅实现方便,而且可靠性高。以倒立摆硬件在环仿真为例,控制器的算法由Simulink 软件模块实现,而被控对象(倒立摆小车和摆杆)、传感器(编码盘)、执行机构(电机与其驱动)等是真实的硬件。MATLAB/Simulink 仿真软件与硬件之间的连接是通过以RTW 实时工具箱为核心的软件组和它们所支持的数据采集卡等硬件实现的。RTW 将MATLAB/Simulink 中的软件根据硬件系统的特点编译成可执行文件。该文件运行在独立的另一台计算机、数字信号处理器或同一计算机CPU 优先级最高的区域,实时地将指令发送给数据采集卡,同时又将数据采集卡采集到的传感器的信息反馈给MATLAB/Simulink 的软模型。硬件在环仿真有多种实现方式。本实验采用Real-Time Windows Target4的方式,即目标机(运行实时可执行文件的机器)和监控机(运行MATLAB/Simulink 软件实行监控的机器)为同一计算机的方式。MATLAB/Simulink 运行在Windows 操作系统中,而编译的可执行文件运行在CPU 优先级最高的区域。数据采集卡为固高公司的GT-400-SV 运动卡。该卡不仅实现传感器信号的采集功能,而且能够依据倒立摆控制信号的要求,计算驱动电机需要的输入信号,经过功率箱放大,驱动伺服机。硬件在环实验与传统的软仿真实验相比,需要对Simulink 模型进行编译(Build)和连接(Connect)操作。在Simulink 窗口中的“GT-400-SV Block Library”中有 “GetPos”模块对应角度传感器的信号, “GT400-SV Initialization”模块实现运动采集卡的初始化等等,如图1所示。图1GT-400-SV Block Library中倒立摆系统模块3 倒立摆数学建模与模糊控制(预习容)3.1 倒立摆系统建模被控对象模型的建立是控制器设计的基础。建立模型的方法有两大类,即基于物理原理的方式和基于辨识的方式。本章将基于牛顿力学原理建立倒立摆的微分方程。由于倒立摆是一个非线性系统,因此当我们采用线性方法进行控制器设计时,需要将非线性的模型在其工作点附近进行线性化,从而推导出倒立摆的传递函数和状态空间方程。(具体可检索相关网上数据库资料以与后面相关参考资料)在忽略了空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如图2所示:图 2.1 一级直线倒立摆模型设:M小车质量;m摆杆质量;b小车摩擦系数;l摆杆转动轴心到杆质心的长度;I摆杆惯量;F加在小车上的力;x小车位置;摆杆与垂直向上方向的夹角。参考相关参考资料可得到以小车加速度作为输入的系统状态方程为:已知 M 小车质量 1.096 Kg ;m 摆杆质量 0.109 Kg;b 小车摩擦系数 0 .1N/m/sec;l 摆杆转动轴心到杆质心的长度 0.2 5m;I 摆杆惯量 0.0034 kg*m*m,并以小车加速度作为输入的系统状态方程可化为:对于系统 系统状态完全可控的条件为:当且仅当向量组是线性无关的,或nn 维矩阵的秩为n。系统的输出可控性的条件为:当且仅当矩阵的秩等于输出向量y 的维数。应用以上原理对系统进行能控能观分析,系统的状态完全可控性矩阵的秩等于系统的状态变量维数,系统的输出完全可控性矩阵的秩等于系统输出向量 y 的维数,所以系统可控,因此可以对系统进行控制器的设计,使系统稳定。后面实验中就以上述模型为基础进行控制器设计、仿真和实物调试。3.2 模糊控制基础知识模糊控制器可以通过matlab软件编程来实现的,实现模糊控制的一般步骤如下:(1)确定模糊控制器的输入变量和输出变量(即控制量);(2)模糊化,选择模糊控制器的输入变量与输出变量的论域,量化域,并确定模糊控制器的参数(如量化因子等);(3)设计模糊控制器的控制规则,确定模糊推理规则;(4)清晰化(去模糊化)参考相关参考资料熟练掌握模糊控制器设计过程。4 模糊控制实验在控制理论中,智能控制已经扮演着越来越重要的角色。本实验研究倒立摆模糊控制器的设计与实验验证问题。1)模糊控制器设计(fis文件建立)(1)进入matlab,输入fuzzy,调出模糊控制器编辑窗口;(2)建立模糊控制器;(窗口菜单file,edit,view可调用相应命令) 其中file菜单下有new fis,新建fis文件;import,导入fis文件;export,导出fis文件。 注意:fis文件是模糊控制器的核心,simulink中Fuzzy control模块必须和fis文件相关联才能正常工作。 edit菜单下有add variable,增加输入输出维数;move:移除相应的输入,输出;rules:输入相应控制规则。点击图中的input和output模块可设计相应输入、输出变量的隶属度函数、模糊集合、论域等等。本次实验中采用默认的三角函数,输入输出围均为(-3,3),划分为7个模糊集合,具体过程如以下图所示。其中:E,EC,U的模糊隶属度函数定义如以下图(可采用不同的隶属度函数)。 控制规则如下:If (E is NB) and (EC is NB) then (U is NB)If (E is NB) and (EC is NM) then (U is NB) If (E is NB) and (EC is NS) then (U is NB) If (E is NB) and (EC is ZE) then (U is NM) If (E is NB) and (EC is PS) then (U is NM) If (E is NB) and (EC is PM) then (U is NS) If (E is NB) and (EC is PB) then (U is ZE) If (E is NM) and (EC is NB) then (U is NB) If (E is NM) and (EC is NM) then (U is NB) If (E is NM) and (EC is NS) then (U is NM) If (E is NM) and (EC is ZE) then (U is NM) If (E is NM) and (EC is PS) then (U is NS) If (E is NM) and (EC is PM) then (U is ZE) If (E is NM) and (EC is PB) then (U is PS) If (E is NS) and (EC is NB) then (U is NB) If (E is NS) and (EC is NM) then (U is NM) If (E is NS) and (EC is NS) then (U is NM) If (E is NS) and (EC is ZE) then (U is NS) If (E is NS) and (EC is PS) then (U is ZE) If (E is NS) and (EC is PM) then (U is PS) If (E is NS) and (EC is PB) then (U is PM) If (E is ZE) and (EC is NB) then (U is NM) If (E is ZE) and (EC is NM) then (U is NS) If (E is ZE) and (EC is NS) then (U is NS) If (E is ZE) and (EC is ZE) then (U is ZE) If (E is ZE) and (EC is PS) then (U is PS) If (E is ZE) and (EC is PM) then (U is PM) If (E is ZE) and (EC is PB) then (U is PM) If (E is PS) and (EC is NB) then (U is NM) If (E is PS) and (EC is NM) then (U is ZE) If (E is PS) and (EC is NS) then (U is ZE) If (E is PS) and (EC is ZE) then (U is PS) If (E is PS) and (EC is PS) then (U is PM) If (E is PS) and (EC is PM) then (U is PM) If (E is PS) and (EC is PB) then (U is PB) If (E is PM) and (EC is NB) then (U is NS) If (E is PM) and (EC is NM) then (U is PS) If (E is PM) and (EC is NS) then (U is PS) If (E is PM) and (EC is ZE) then (U is PM) If (E is PM) and (EC is PS) then (U is PM) If (E is PM) and (EC is PM) then (U is PB) If (E is PM) and (EC is PB) then (U is PB) If (E is PB) and (EC is NB) then (U is ZE) If (E is PB) and (EC is NM) then (U is PM) If (E is PB) and (EC is NS) then (U is PM) If (E is PB) and (EC is ZE) then (U is PM) If (E is PB) and (EC is PS) then (U is PB) If (E is PB) and (EC is PM) then (U is PB) If (E is PB) and (EC is PB) then (U is PB) (3)保存为RFUZZY.fis文件;(窗口菜单可调用相应命令)(4)点击export选项输出到 workspace,命名为RFUZZY。2)模糊控制器仿真 在simulink环境下建立如下仿真模型。框图中双击Fuzzy logic controller模块,输入上面编辑fis文件名RFUZZY。 模糊控制器的输出到倒立摆系统的时候反向,原因是E本来是零点和系统的输出差值,而这里模糊控制器的输入直接是系统的输出,所以控制应该反向。中间的融合矩阵K为0.9 -0.41 0 0;0 0 1 -1.78,三个量化因子分别为25,4,10。点击仿真运行按钮可得到系统输出。注意:需要改两处设置 1、融合矩阵Multiplication Matriz(K*U);2、Fuzzy logic controller模块设置为:不使用布尔变量。要求双击系统框图模型,修改状态方程不同的初始条件0.01*A 0 0 0,0 0.01*A0 0,0 0 0.01*A 0,0 0 0 0.01*A,其中A为实验组数。记录下数据,双击SCOPE模块,屏幕截图,并通过windows中画图软件保存为相应文件,书写报告用。3)模糊控制器实时控制实验 给出实物控制模块如以下图(见文件realtime1)。把仿真设计验证好的模糊控制器加入上面的仿真模型得到以下图的实物调试模块。注:实物调试模块搭建好后,请老师检查在进行实物控制。 点击编译程序,完成后点击使计算机和倒立摆建立连接;点击运行程序,提起倒立摆的摆杆到竖直向上的位置,在程序进入自动控制后松开。用手机记录下倒立摆实时运行的照片,书写报告用。同时对量化因子进行调试,获取尽可能好的结果,把优化结果记录下来。5附录:控制理论中常用的MATLAB 函数函数名称功能描述9Bandwidth 计算单输入单输出系统的带宽Bode 计算并绘制波德响应图c2d 把连续时间模型转化为离散时间模型d2c 把离散时间模型转化为连续时间模型d2d 对离散时间模型重新采样damp 计算自然频率和阻尼系数dcgain 计算低频(直流)增益esort 通过实部对连续系统的极点进行排序feedback 计算反馈闭环系统的模型freqresp 估计选定频率的频率响应gensig 产生输入信号impulse 计算并绘制脉冲响应initial 计算并绘制给定初始状态下的响应logspace 产生呈对数分布的频率的向量lsim 仿真任意输入下线性时不变系统的响应ltiview 打开LTI Viewer 的图形界面进行线性系统的响应分析margin 计算幅值和相角裕度ngrid 对尼科尔斯(Nichols)图添加网格nichols 绘制尼科尔斯图nyquist 绘制奈奎斯特图parallel 系统并联pole 计算线性时不变模型的极点pzmap 绘制线性时不变模型的零极点分布图rlocus 计算并绘制根轨迹roots 计算多项式的根series 系统串联sgrid,zgrid 为根轨迹图或者零极点图添加s/z平面网格sisotool 单输入单输出系统设计工具箱size 显示输入/输出/数组的维数step 计算阶跃响应tf 创建传递函数zero 计算线性时不变模型的零点zpk 构造零极点模型fuzzy 调用模糊控制工具箱6参考文献1 Instruction Manual of AC Servo Motor and Driver MINAS A4 Series: Panasonic.2 GT系列运动控制器用户手册: 固高科技(), 2005.3 Real-Time Workshop Users Guide: The MathWorks, 2001.4 Real-Time Windows Target: The MathWorks, 2004.5 倒立摆与自动控制原理实验: 固高科技(), 2005.6 Ogata K. Modern Control Engineering, Prentice Hall, 2001.7 吴麒, 王诗宓. 自动控制原理(上), 清华大学, 2006.8 吴麒, 王诗宓. 自动控制原理(下), 清华大学, 2006.9 Control System Toolbox Users Guide: The MathWorks, 2007.10 世敏. 控制理论专题实验指示书: 清华大学自动化系, 2007.14 / 14
展开阅读全文