




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南科技大学毕业论文二级倒立摆的组成及原理毕业设计第一章 倒立摆控制系统组成1.1 倒立摆本体一. 倒立摆本体主要由以下几个部分组成:l 基座图1-1 倒立摆本体l 直流伺服电机l 同步带l 带轮l 滑竿l 摆杆l 角编码器l 限位开关图1-2 电气控制箱二. 电控箱内安装有如下主要部件:l 直流伺服驱动器l I/O接口板l 开关电源l 开关、指示灯等电气元件三. 控制平台主要由以下部分组成:l 与IBM PC/AT机兼容的PC机(公司不提供),带PCI/ISA 总线插槽l GT400-SV-PCI、GM400运动控制卡l GT400-SV-PCI、GM400运动控制卡用户接口软件l 演示实验软件1.2 GT-400-SV四轴运动控制器简介一.引言GT-400-SV四轴运动控制器的核心由ADSP2181数字信号处理器和FPGA组成。它适用于广泛的应用领域,包括机器人、数控机床、木工机械、印刷机械、装配线、电子加工设备等。GT-400-SV运动控制器以IBM-PC为主机,提供标准的ISA总线和PCI总线。同时提供RS232串行通讯和PC104通讯接口,方便用户配置系统硬件。该运动控制器提供C语言函数库实现复杂的控制功能,用户能够将这些控制函数灵活地与自己控制系统所需的数据处理、界面显示、用户接口等部分集成在一起,建造符合特定应用要求的控制系统,以适应各种应用对象的要求。使用该运动控制器,要求使用者必须具有C语言编程(在Windows环境下使用动态连接库)的经验。IBMPC-AT计算机GT-400-SV将四轴电机控制集成在同一运动控制器上,具有功能强、性能高、价格低、使用方便的特点,适用于模拟量控制及脉冲控制的交流或直流伺服电机、步进电机等多种控制场合。采用该运动控制器进行控制时,用户需要一台IBM-PC或其兼容机、一套运动控制器及配套的连接电缆和接口端子板、电机及驱动器和外部接口电源等硬件。这些部件之间的典型连接如图1.3所示。图 1.3 采用四轴运动控制器组成的控制系统框图PC机通过主机通讯接口与GT-400-SV运动控制器交换信息。包括向运动控制器发出运动控制指令,并通过该接口获取运动控制器的当前状态和相关控制参数。运动控制器完成实时轨迹规划、位置闭环伺服控制、主机命令处理和控制器I/O管理。运动控制器通过编码器接口,获得运动位置反馈信息,通过四路模拟电压输出(或脉冲输出)接口控制伺服电机实现主机要求的运动。运动控制器还提供八路限位开关(每轴二路)输入,四路原点开关(每轴一路)输入,四路伺服电机驱动器报警信号(每轴一路)输入,四路伺服电机驱动器使能信号(每轴一路)输出,四路伺服电机驱动器复位信号(每轴一路)输出以及十六路通用数字量输出接口、十六路通用数字量输入接口。实现复杂灵活的运动控制。3.2 GT-400-SV技术指标 GT-400-SV四轴运动控制器提供的主要功能有:控制功能l 看门狗实时监测DSP的工作状态。l 基于坐标系编程的连续轨迹控制,可实现空间直线、圆弧插补运动。l 提供程序缓冲区,实现运动轨迹预处理,以获得高质量的运动控制,并降低主机通讯实时性的要求。l 面向各控制轴实现点到点运动控制,具有可编程S-曲线、梯形曲线、速度控制和电子齿轮运动控制方式。l 使用32位(二进制)有效数字计算,实现高精度的轨迹控制。l 伺服控制采用可编程数字PID+速度前馈+加速度前馈滤波方式。l 可编程设置伺服周期。四轴伺服(插补)周期为162微秒。l 硬件捕获编码器Index信号和系统原点Home信号;保证控制系统具有较高的重复定位精度。l 可编程设置跟随误差极限、加速度极限、控制输出极限等参数,实现安全可靠的控制。输入/输出接口l 4路(每轴一路)四倍频增量光电编码器反馈信号接口,输入信号频率最高可达8MHz。l 2路四倍频增量光电编码器辅助反馈信号接口(可选),适应用户特殊功能要求,输入信号频率最高可达8MHz。l 4路控制输出信号,提供16位D/A模拟电压控制信号(10V)用于伺服电机控制;或最高频率 1MHz脉冲控制信号,用于步进电机及脉冲方式控制的伺服电机控制(可选)。两种控制信号能够自由组合。l 8路光电隔离限位开关信号输入接口。l 4路光电隔离原点信号输入接口。l 4路光电隔离驱动器报警信号输入接口。l 4路光电隔离驱动器使能信号输出接口。l 4路光电隔离驱动器复位信号输出接口。l 16路光电隔离通用数字输入信号接口。l 16路光电隔离通用数字输出信号接口。l 1路编码器锁存输入信号接口,同时锁存所有的编码器信号(占用1路通用数字输入信号接口。可选功能)。总线接口l 标准的PCI总线。l 标准的RS232串行通讯总线。系统软件l Windows环境GT-400-SV 演示软件。l 用户接口函数库。(l DOS环境C语言程序示例。l Windows 98/2000/NT设备驱动程序。l 面向数控系统的扩展函数库(可选)。两级倒立摆系统GIP-200-L的组成框图如下图所示。图1.4 两级倒立摆系统GIP-200-L的组成框图图1.4两级倒立摆系统GIP-200-L的组成框图系统包括计算机、运动控制卡、伺服机构、倒立摆本体和光电码盘几大部分,组成了一个闭环系统。光电码盘1将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,下面一级摆杆(和小车相连)的角度、角速度信号由光电码盘2反馈回控制卡和伺服驱动器,上面一级摆杆的角度和角速度信号则由光电码盘3反馈。计算机从运动控制卡中读取实时数据,确定控制决策(小车向哪个方向移动、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,带动小车运动,保持两节摆杆的平衡。第二章 MATLAB 工具简介2.1 MATLAB 系统 MATLAB 的生产和数学计算是紧密联系在一起70年代后期,美国新墨西哥州大学计算机系主任Clever Molar博士,开发了MATLAB(即矩阵实验室),在以后的几年里,MATLAB 在多所大学里被作为教学辅助软件使用,并作为面向大众的免费软件广为流传。 80年代中期,Clever Molar 和John Little采用C语言重新编写了MATLAB的核心,合作开发了MATLAB第二代专业版,大大提高了它的运算效率。1984年,他们成立了Math works 公司,并将MATLAB正式推向商业市场。Math Works 公司刚刚正式推出MATLAB时,MATLAB数学处理的内核是针对数值计算编写的,对处理大批数据效率很高。而另一些数学软件,例如Mathematics,则以符号计算见长,能给出解析解和任意精度解。而处理大量数据则效率不高。Math works公司顺应多功能需求的潮流,经过几十年的研究,不断完善和图示能力的基础上,又率先开发了符号计算、文字处理、可视化建模和实施控制能力,目前,MATLAB 已经占据了数值型软件市场的主导地位。2.2 MATLAB系统功能及特点 MATLAB 由主包和功能各异的工具箱组成,其最基本的数据结构是矩阵,也就是说它的操作对象是依矩阵为单位的,随着MAATLAB 不断的发展和各种工具箱的不断开发,它已经成为一种功能强大的综合性的实时工程计算软件,广泛应用于各种领域。 MATLAB 系统共有5个主要部分构成:1) MATLAB 语言;2) MATLAB 工作环境;3) MATLAB 数学函数库;4) MATLAB 图形处理系统;5) MATLAB 应用程序接口。1. MATLAB 语言MATLAB 语言是一种面向对象的高级语言,正如前面所述,它以矩阵作为最基本的数据结构。MATLAB 在工程计算方面具有其他高级语言无法比拟的优越性,它即计算、数据可视化、程序设计于一体,并能将数学问题和解决方案以用户熟悉的数学符号表示出来,因而被称为“科学便信使”的科学工程计算语言。2. MATYLAB 工作环境MATLAB工作环境是一个集成的工作空间,它给用户提供了管理变量和输入输出数据的功能,并提供了用于管理调试M文件的工具。它主要包括以下部分:1) 命令窗口;2) M文件编辑调试器;3) MATLAB 工作空间;4) 在线帮助文档;3. MATLAB 数学函数库MATLAB 数学函数库中包括了大量数学函数,即有求和、取正选、指数运算、等简单函数,也包括了矩阵转置、博里叶变换、矩阵分解、 求解线性方程组等复杂函数。MATLAB的核心中,因此运行的效率很高;第二重是M文件提供外部函数,它们极大地扩展了MATLAB的功能,并使MATLAB具有了很高的可扩充性,使MATLAB能够应用于越来越多的科学领域。4. MATLAB 图形处理系统MATLAB 具有强大的图形处理功能,用于使科学计算的结果可视化。MATLAB 图形处理系统的功能主要包括:1) 二维图形的绘制和处理;2) 三维图形的绘制和处理;3) 图形用户界面的定制。5.MATLAB应用程序接口MATLAB 应用程序接口(API)是一个让MATLAB语言同C、FORTRAN等其他高级语言进行交互的函数库,该函数库的函数通过动态连接来读写MATLAB文件。 MATLAB应用程序接口的主要功能如下:1) 在MATLAB中输入和输出数据;2) 在MATLAB中调用C和FORTRAN程序;3) 在MATLAB和其它应用程序中建立客户机服务器的关系。经过多年的完善和发展,MATLAB除了原有的数值计算功能之外,还具备了越来越多的其它功能:A. 数值计算功能MATLAB具有出色的数值计算能力,它的计算速度快、精度高、收敛性好、函数库功能强大,这是使它优于其它数值计算软件的决定因素之一。B. 符号计算功能在解决数学问题的过程中,用户往往要进行大量的符号计算和推导,为了增强MATLAB的符号计算功能,1993年Math works公司向加拿大滑铁卢大学购买了具有强大计算能力的数学软件MAPLE的使用权,并以MAPLE的内核作为符号计算的引擎。C. 数学分析和可视化功能在科学计算中科学计算中,科学技术人员经常会对大量的原始数据而无从下手。但如果能将这些数据以图形的形式显示出来,则往往能揭示其本质的内在关系,正是基于这种考虑,MATLAB实现了强大的数据分析和可视化功能。 4Simulink动态仿真功能Simulik时MATLAB为模拟动态系统而提供的一个面向用户的交互式程序,它采用鼠标驱动方式,允许用户在屏幕上绘制框图,模拟系统并能动态地控制系统。它还提供了两个应用程序扩展集,分别是Simulink EXTESONS和BLOCKSETS。Simulink EXTENSIONS是支持在Simulink环境中进行系统开发的一些可选择的工具类应用程序,包括以下几个工具:1) Stateflow;2) Simulink Accelerator;3) Real-Time Workshop。BLOXKSETS视为特殊应用领域而设计的Simulink程序集,它包括以下几个领域:1) 数字信号处理;2) 非线性控制设计;3) 通信;4) 定点。2.3 MATLAB应用工具箱介绍 在本章第二小节已经介绍过,MATLAB由主包和各种工具箱组成。主包是MATLABHEXIN核心,完成通用的计算功能,而各种工具箱实际上是扩展的有专门功能的函数,用来为不同专业的技术人员服务。例如:1) 为控制系统提供线性矩阵不等式控制工具箱;2) 为神经网络领域提供的神经网络工具箱;3) 为信号处理领域提供的信号处理工具箱和小波工具箱;4) 为模糊逻辑领域提供的模糊逻辑工具箱;经过实践的检验,Mathworks公司推出的各种工具现已在各学科的研究领域发挥着巨大的作用,不同的用户在使用相应的工具箱时能大大减小编程的复杂度,提高工作效率。毫无疑问,MATLAB能在数学应用软件中成为主流,是离不开各种功能强大的工具箱的。1 模糊逻辑工具箱,用于解决模糊逻辑问题,包括:1) 友好的交互设计界面;2) 自适应神经模糊学习;3) 支持Simulink动态仿真。2 优化工具,包括:1) 线性规划和二次规划;2) 求函数的最大值和最小值;3) 约束条件下的优化;4) 非线性方程求解;3 样条工具箱,包括:1) 分段多项式和B样条;2) 曲线拟合及平滑;3) 函数的微积分;4 统计工具箱,包括:1) 概率分布和随机数的生成;2) 多变量分析;3) 回归分析;4) 假设检验。5 偏微分方程工具箱,包括:1) 二维偏微分方程的图形处理;2) 自适应曲面绘制;3) 有限元方法。 6 信号处理工具箱,包括:1) 数字和模拟滤波器设计、应用及方真;2) 谱分析和估计;3) FFT变换;4) DCT变换。7 小波工具箱,包括:1) 基于小波的分析和综合;2) 连续和离散小波变换及小波包;3) 一维、二维小波;4) 自适应去噪和压缩。8 通信工具箱,包括:1) 信号编码;2) 调制解调;3) 滤波器和均衡器设计;4) 通道模型;5) 多路访问;6) 错误控制编码。9 控制系统工具箱,包括:1) 连续、离散系统设计;2) 传递函数和状态空间;3) 频域、时域响应;4) 跟轨迹和极点配置。10 现行矩阵不等式工具箱,包括:1) LMI的基本用途;2) LMI的问题解决方案。11 频率系统辨识工具箱,包括:1) 辨识具有未知延时的离散和连续系统;2) 计算幅值/相位、零点/极点的置信区间;3) 设计周期激励信号、最小峰值、最优能量。2.4 MATLAB在控制系统中的应用 对于从事控制系统研究与设计的技术人员来说,MATLAB为实用的工具。这不仅是因为它能解决控制理论中大量存在的矩阵问题,更因为它提供了强有力的工具箱支持。控制系统设计与仿真直接相关的工具有控制系统、系统辨识、信号处理、优化等。一些先进和流行的控制策略,如:鲁棒控制、-分析与综合、神经网络、模型预测控制、非线性控制设计、模糊逻辑等工具箱。 目前理论结合工业界广泛应用和研究的控制算法,几乎都可以在MATLAB中找到相应的工具箱,下面简单介绍一下最基本的控制系统工具箱。控制系统工具箱的内容几乎涵盖了经典控制理论和现代控制理论的主要内容,其中包括的命令有:1) 模型建立:将模型并串联接,构成反馈,形成状态空间模型,建立随机模型等。2) 模型转换:完成连续-离散模型、状态空间-传递函数模型、零极点-状态空间模型等。3) 模型转化:完成平衡法实现,模型降阶,最小实现等功能。4) 模型实现:规范性实现、可控阶梯阵、客观阶梯阵、相似变换。5) 模型特征:噪声方差、可控可观阵、向前通道增益、阻尼、自然频率、特征值和特征向量、传输零点、多项式零点。6) 时域响应:单位阶跃响应、脉冲响应、零输入响应、任意输入的连续、离散仿真。7) 频域响应:Bode图、尼奎斯曲线、增益与相位裕量、拉氏变换的频率响应。8) 跟轨迹:零极点分布图、根轨迹图。9) 增益选择:SOSI极点配置、估计器设计、调节器设计。由以上这些内容可以看到,以往觉得很难分析的问题,MATLAB的控制工具箱都提供了现成的命令。比如根轨迹绘制,原来需要一整套复杂的规则,画出的还只是近似图形,现在用MATLAB程序输入参数,图形结果就清楚地呈现在眼前。画Bode图,无论多么复杂,总能得到满意的结果。经典控制理论中所涉及到的时域、频域分析中的各类问题,都能通过控制系统工具箱中的指令,或是直接、或是组合一下就会得到解决。而现代控制理论中的工作量将大大减轻。可以这样说,MATLAB是目前控制工程师作理论分析和实际设计时所能找到的最有用的助手。总之,MATLAB利用了现代计算机技术所提供的软件资源和先进的思想,是一个非常先进而且使用便利的优秀仿真软件。MATLAB的推广和应用,将会使科技工程人员从各类繁琐的计算工作中解脱出来,有时间思考和研究更重要的问题。第三章 状态反馈控制原理3.1 线性反馈控制系统的基本结构及特征在现控制理论中,控制系统由受控对象和反馈控制器两部分构成的闭环系统。在经典理论中习惯于用输出反馈,而在现控制理论中则更多地采用状态反馈。由于状态反馈能提供更丰富的状态信息和可供选择的自由度,因而使系统容易获得优异的性能。一. 状态反馈状态反馈是将系统的每一个状态变量乘以相应的反馈系数,绕反馈到输入端与参考输入相加形成控制律,作为受控系统的控制输入。图3-1是一个多输入-多数出系统状态反馈的基本结构。图3-1 多输入-多输出系统的状态反馈结构 图中受控系统的状态空间表达式为 (3-1) 式中 。若D=0, 则受控系统 (3-2)简记为。状态线性反馈控制u为u= (3-3)其中 维参考输入;维状态反馈系 数阵或状态反馈增益阵。对单输入系统,为维行矢量。 把式(3-3)带入式(1)整理可得状态反馈闭环系统的状态空间表达式 (3-4)若D=0,则 (3-5)简记为 。闭环系统的传递函数矩阵 (3-6)比较开环系统与闭环系统可见,状态反馈阵的引入,并不增加系统的维数,但可通过的选择自由的改变闭环系统的特征值,从而使系统获得所要求的性能。 3.2 线性系统二次型最优控制问题本文所研究由倒立摆系统可近似为线性系统,其性能泛函时状态变量控制变量的二次型函数的积分,这样的最优控制问题称为线性二次型最优控制问题。简称线性二次型。线性二次型问题解出的控制规律是状态变量的线性函数,因而通过状态反馈便可实现闭环最优控制。一. 二次型性能泛函二次型性能泛函的一般形势如下: (3-7)式中 维半正定的状态加权矩阵;维半正定的控制加权矩阵;维半正定的终端加权矩阵。在工程实际中,和,是对称矩阵而且常取对角阵。下面对性能泛函中各项的物理意义作一解析。被积函数中第一项,若表示误差失量,那么表示误差平方。因为半正定,所以只要出现误差,总是非负的。若,若增大,也增大。由此可见,是用以衡量误差大小的代价函数,越大,则支付的代价越大。在是标量函数的情况下,那么表示误差平方的积分。通常是对角线常阵,对角线上的元素分别表示对相应误差分量的重视程度。越加被重视的误差分量,希望他越小,相应地,其加权系数就应取得越大。如果对误差在变动过程中不同阶段有不同的强调时,那么, 就相应取成时变的。被积函数中第二项,表示动态过程中对控制的约束。因为正定,所以只要存在控制,总是正的。如果把看作电压或电流函数的话,那么与功率成正比,而 则表示在0,区间内消耗的能量。因此,是用来衡量控制功率大小的代价函数。式中第二项突出了对终端误差的要求,叫做终端代数函数。,的加权意义与相仿。如果最优控制目标是使,则实质在于用不大的控制,来保持较小的误差,从而达到能量和误差综合最优的目的。二有限时间状态调节器问题状态调节器的任务在于,当系统状态由于任何原因偏离了平衡状态时,能在不消耗过多能量的情况下,保持系统状态个分量仍接近平衡状态。研究这类问题,通常把初始状态矢量看作扰动,而把零状态作平衡状态。于是调节器问题就变为寻求最优控制规律,在有限时间区间内内,将系统从初始状态转移到零点附近,并使给定的性能泛函取极值。设线性时变系统的状态空间表达式为 (3-8) 式中分别为维矢量;维状态矩阵;维控制矩阵;维输出矩阵。性能泛函为 (3-9)式中 维半正定的状态加权矩阵;维半正定的控制加权矩阵;维半正定的终端加权矩阵。设取值不受限制.寻求最优控制,使取极值。根据极小值原理,引入维协态矢量构造哈密尔顿函数 3-10)最优控制应试取极值,因不受限制,则成立由于正定、对称,得 (3-11)又因正定,故由式(3-11)所确定的最优控制,对于取极小值来说,既是必要的,又是充分的。由正则方程可解出和的关系 (3-12) (3-13)边界条件 (3-14)联立求解式(3-12)和(3-13),可求得和。从式(3-11)可知是的线性函数。为了使能有状态反馈实现,尚应求出和的变换矩阵,设 (3-15)式中维实对称正定矩阵,待定。把式(3-15)带入式(3-11)可得 (3-16) (3-17)式中维最优反馈增益矩阵。闭环系统方程为 (3-18)式(3-16)说明,对于线性二次问题,最优控制可由全部状态变量构成的线性反馈来实现。闭环系统的结构如图3.2所示。图3.2 线性二次型最优反馈系统 将式(3-15)代入正则方程,消去,得 (3-19) (3-20)将式(15)求导数,得 (3-21)把式(3-20) 代入式(3-21)并注意到式(3-19)得整理得 (3-22)边界条件 (3-23)式(3-22)为黎卡提矩阵微分方程。这是一个非线性微分方程。由于是一个对称阵,所以实际只需解个微分方程组,便可确定的所有元素。由于黎卡提矩阵微分方程是非线性的,通常不能直接求得解析解,但可以用数字计算机进行离散计算。综上所述,线性调节器的设计步骤如下:1)根据工艺要求和工程实践经验,选定加权矩阵、。2) 由、按照式(22)和式(17),求解黎卡提矩阵微分方程,得矩阵。3) 由式(3-17)和式(3-16)求反馈增益矩阵及最优控制。4) 解式(3-20)求相应的最优轨线。5) 计算性能泛函最优值 (3-24)显然,在任意时刻性能泛函为 当时,即为式(3-9)中终端性能的最优值。上述由全状态构成的闭环最优控制系统是渐进稳定的。三无限时间状态调节器问题上面讨论的状态调节器,虽然最优反馈是线性的,然而由于控制时间区间是有限的,因而这种系统是时变的。就是在状态方程和性能泛函都是定常的的情况也是如此。这就大大增加了系统结构的复杂性。问题的症结在于矩阵是时变的。随着趋向无穷, 将趋于某常数,可见最优反馈的时变系统也随之转化为定常系统 (3-25)能控,性能泛函为 (3-26)其中不受限制,是半正定的常数矩阵,为正定的常数矩阵。则最优控制存在,且唯一: (3-27)式中 维正定的常数矩阵,满足下列黎卡提矩阵微分方程 (3-28)最优轨线是下列线性定常齐次方程的解: (3-29) 性能泛函的最小值为 (3-30)对于无限时间状态调节器,强调以下几点:1)适用于线性定常系统,且要求系统完全能控,而在有限时间状态调节器中则不强调这一点。因为在无限时间状态调节器中,控制区间扩大至无穷,倘若系统不能控,则无论哪一个控制矢量都将由于,而使性能泛函趋于无穷,从而无法比较其优劣。因此,能控条件是从保证性能泛函的优劣进行比较的角度考虑的。2)在性能泛函中,由于,而使终端泛函失去了意义,即。3)与有限时间调节器一样,最优控制也是全状态反馈的线性反馈,结构图也与前面的相同。但是,这里的是维的是对称矩阵,是黎卡提矩阵代数方程的解。因此,构成的是一个线性定常闭环系统。4)闭环系统是渐进稳定的,即系统矩阵的特征值全为负实部,而不论原受控系统的特征值如何。第四章 二级倒立摆系统状态反馈控制器的设计4.1 数学模型建立在忽略了空气流动,各种摩擦之后,可将倒立摆系统抽象成小车、匀质杆和质量块组成的系统,如图4.1所示。图4.1二级倒立摆系统M : 小车质量 1.32 Kg: 摆杆1质量 0.04 Kg: 摆杆2质量 0.132 Kg: 质量块的质量 0.208 Kg: 摆杆1与垂直向上方向的夹角: 摆杆2与垂直向上方向的夹角: 摆杆1转动中心到杆质心的距离0.09m: 摆杆2转动中心到杆质心的距离 0.27m: 作用在系统上的外力X: 小车位移利用拉格朗日方程推导倒立摆运动学方程拉格朗日方程为 其中,为拉格朗日算子,为系统的广义坐标,为系统的动能,为系统的势能。拉格朗日方程由广义坐标和表示为: 其中,为系统沿该广义坐标方向上的外力,在本系统中,设系统的三个广义坐标分别是。首先计算系统的动能: 小车动能,摆杆1动能,摆杆2动能,质量块动能。而 ,其中, ,其中, 则 同样可以求出 因此,可以得到系统动能系统的势能为:至此得到拉格朗日算子L:由于因为在广义坐标上均无外力作用,有以下等式成立: (4-1) (4-2)展开(4-1)、(4-2)式,分别得到(4-3)、(4-4)式 (4-3) (4-4)将(4-3)、(4-4)式对求解代数方程,得到以下两式(4-5)(4-6)表示成以下形式: (4-7) (4-8)取平衡位置时各变量的初值为零,将(4-7)式在平衡位置进行泰勒级数展开,并线性化,令带入(4-5)式,得到线性化之后的公式 (4-9)将(4-8)式在平衡位置进行泰勒级数展开,并线性化,令带入(4-6)式,得到 (4-10)现在得到了两个线性微分方程,由于我们采用加速度作为输入,因此还需加上一个方程 (4-11)取状态变量如下:由(4-9),(4-10),(4-11)式得到状态空间方程如下:将以下参数代入求出各个K值如下:得到状态方程各个参数矩阵: 4.2 系统开环响应和Matlab 仿真一状态空间法状态空间法可以进行单输入多输出系统设计,因此在这个实验中,我们将同时对两个摆杆的角度和小车位置进行控制。给小车施加一个阶跃输入信号,以求取系统的阶跃响应用下面的Matlab程序可以计算出系统状态空间方程的A,B,C和D矩阵,并可以给出输入为0.2 m的阶跃信号时系统的响应曲线。A=0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 77.0642 -21.1927 0 0 0 0 -38.5321 37.8186 0 0 0;B=0 0 0 1 5.7012 -0.0728;C=1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0;D=0;T=0:0.005:5;U=0.2*eye(size(T);Y,X=lsim(A,B,C,D,U,T);figureplot(T,Y)axis(0,5,-10,10);legend(小车,摆杆一,摆杆二)执行该m文件,得到开环系统阶跃响应的曲线如下图所示,从图中可以看出,小车位置以及摆杆角度都是发散的,开环系统不稳定。图4.2开环系统的阶跃相应曲线4.3 倒立摆系统控制算法的状态空间法设计一.理论分析我们把系统当作多输出系统,用状态空间法设计一个对摆杆位置和小车位移都进行控制的控制器。系统状态方程为 这个问题可以使用完全状态反馈来解决。控制系统如下图。图中,R是施加在小车上的阶跃输入,状态量,分别代表小车位移、摆杆1位置、摆杆2位置、小车速度、摆杆1角速度和摆杆2角速度,输出。我们要设计一个控制器,使得当给系统施加一个阶跃输入时,小车跟踪该输入信号,摆杆会摆动,然后仍然回到垂直位置。 图4.3 设计的第一步是确定系统的特征值,用Matlab程序可以求出特征值为9.5972,4.7725,-9.5972,-4.7725,0,0,由此可以看出,开环系统不稳定。第二步、假设全状态反馈可以实现(6个状态量都可测),找出确定反馈控制规律的向量。用Matlab中的函数,也可以得到最优控制器对应的。函数允许你选择两个参数和,这两个参数用来平衡系统对输入量和状态量的敏感程度。最简单的情况是假设,为单位矩阵。当然,也可以通过改变矩阵中的非零元素来调节控制器以得到期望的响应。其中, 代表小车位置的敏感程度,而和是摆杆1和摆杆2角度的敏感程度,输入的敏感程度是1。下面来求矩阵,Matlab语句为,求得LQR控制的阶跃响应如图4.4所示图4.4 LQR控制的阶跃响应曲线其中,虚线代表摆杆的角度,实线代表小车位置。从图上可以看出响应时间过长,效果不很理想,因此需要对控制器参数进行调整。取=200=100=100则K =14.1421,104.9884,-172.1327,14.9357,3.2989,-28.6966响应曲线如图4.5所示:图4.5 调整参数后系统的LQR控制的阶跃响应曲线 二. Matlab程序实现1确定系统特征值的程序如下 p = eig(A)2求向量:R=1N=0 0 0 0 00 K=lqr(A,B,Q,R,N)2计算LQR控制的阶跃响应并画出曲线:Ac=(A-B*K);T=0:0.005:10;U=0.2*eye(size(T);Y,X=lsim(Ac,B,C,D,U,T);figureplot(T,Y)legend(小车,摆杆一,摆杆二)Two Stage Inverted PendulumINTRODUCTIONSo far, in the application note series, we have provided several examples showing how to create fuzzy controllers with FIDE. However, these examples do not provide topics on implementation of the designed system. In this application note, we use an example of an inverted pendulum to provide details on all aspects of fuzzy logic based system design.We will begin with system design; analyzing control behavior of a two-stage inverted pendulum. We will then show how to design a fuzzy controller for the system. We will describe a control curve and how it differs from that of conventional controllers when using a fuzzy controller. Finally, we will discuss how to use this curve to define labels and membership functions for variables, as well as how to create rules for the controller. SYSTEM DESIGN Two stage inverted pendulum is illustrated in Figure 1. A servo motor Figure 1 Two Stage Inverted Pendulumproduces a force f to move a cart in order to balance the two stage inverted pendulum on the cart, i.e., to keep q 1 and q 2to be zero. q 1 is the angle of the first stage pendulum from the vertical direction, while q 2 is the angle of the second stage pendulum from the vertical direction. These two angles are measured with two potentiometers. Figure 2 shows the control system diagram. There are two control loops in this system. The inner loop is for controlling the first stage Pendulum;the outer loop is for controlling the second stage. Without outer loop this becomes a single-stage inverted pendulum system. In that case, our control target is q 1 = 0. However when we have two stages, the control target for the first stage is no longer q 1 = 0. Instead, we have to adjust the first stage to a suitable angle in accordance with the angle of the second stage(see Figure 3). In other words, in a two stage inverted pendulum system, the purpose of the outer loop is to produce an angle for the first stage to follow. Figure 2 Two Stage Inverted Pendulum Control System We may summarize the control strategy for a two stage inverted pendulum as follows: l According to the angle of the second stage q 2, determine an angle q for the first stage. We set q = q 2. l Adjust the first stage to achieve q 1= q . Because the target of the outer loop is q 2 = 0, the final target of the system is q 1 = q 2 = 0.Figure 3 Control StrategyCONTROLLER DESIGN To create a fuzzy controller, let us start with analyzing control behaviors of the inverted pendulum system. For simplicity, we will use a single stage inverted pendulum shown in Figure 4. Basically, a controller should reflect the relation between two variables q and f. In other words, if we know the relation between q and f , we can use it to write control rules. We know if q is large, f should be large; and if q is small, f should be small too. Figure 4 Single Stage Inverted PendulumControl CurveThe relation between q and f can be denoted as a control curve (Figure 5). Using conventional PID controller, this control curve is a straight line (Figure 5a). However, the relation between q and f is nonlinear because force f should increase very fast when angle q is large in order to achieve q = 0. This improves response because the force is larger than that given by the linear curve when error is large. On the other hand, when angle q is very small, force f should be very small to reduce overshooting. A typical nonlinear control curve is shown in Figure 5b. For the system we developed, the actual control curve is a little different from that in Figure 5b. Because of the physical characteristics, such as friction, force should be larger than a threshold value in order to move the cart. In addition, as a limitation of the output of a servo motor, force reaches its maximum value at a certain angle. The control curve for the actual inverted pendulu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时尚潮流商品销量统计表
- 药厂卫生知识培训课件
- 安徒生童话选集读后感400字15篇
- 1.4 进位乘法 课件 北京版数学三年级上册
- 多功能养殖设备采购协议
- 爸爸妈妈感谢你们800字(7篇)
- 烫伤预防及护理
- 户外广告场地租用合同6篇
- 财务报告生成与财务分析工具
- 媒体合作协议详细内容规范
- 2025年度中职学校教师培训工作计划
- 2025年4月自考00107现代管理学试题及答案含评分标准
- 烟气脱硝工艺培训课件
- 2025建筑工程施工标准合同
- 仪表安全培训课件
- 电能质量技术 绪论、第1章 电能质量概述
- 汽车维修工(新能源汽车电控技术)赛项竞赛规程
- 2025年中职高考对口升学(旅游概论)真题试卷附参考答案
- 2025年大学生创业与实践课程考试卷及答案
- 2025年人教版小学数学二年级下册期末考试卷(附答案解析)
- 电商模特合同协议
评论
0/150
提交评论