《直线一级倒立摆控制器设计(哈工大).doc》由会员分享,可在线阅读,更多相关《直线一级倒立摆控制器设计(哈工大).doc(108页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date直线一级倒立摆控制器设计(哈工大2013)直线一级倒立摆控制器设计(哈工大2013)1. 概述自动控制理论(包括古典部分和现代部分)是电气工程系学生的一门必修专业基础课,课程中的一些概念相对比较抽象,如系统的稳定性、可控性、收敛速度和抗干扰能力等。倒立摆系统是一个典型的非线性、强耦合、多变量和不稳定系统,作为控制系统的被控对象,它是一个理想的教学实验设备,许多抽象的控
2、制概念都可以通过倒立摆直观地表现出来。本课程设计的目的是让学生以一阶倒立摆为被控对象,了解用古典控制理论设计控制器(如PID控制器)的设计方法和用现代控制理论设计控制器(极点配置)的设计方法,掌握MATLAB仿真软件的使用方法及控制系统的调试方法,加深学生对所学课程的理解,培养学生理论联系实际的能力。本课程设计的被控对象采用固高公司生产的GIP-100-L型一阶倒立摆系统,课程设计包括三方面的内容:(1)建立直线一级倒立摆的线性化数学模型;(2)倒立摆系统的PID控制器设计、MATLAB仿真及实物调试;(3)倒立摆系统的状态空间极点配置控制器设计、MATLAB仿真及实物调试。1.1 实验设备简
3、介一级倒立摆系统的结构示意图如图1-1所示。图1-1 一阶倒立摆结构示意图系统组成框图如图1-2所示。图1-2 一级倒立摆系统组成框图系统是由计算机、运动控制卡、伺服机构、倒立摆本体和光电码盘几大部分组成的闭环系统。光电码盘1将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,摆杆的角度、角速度信号由光电码盘2反馈给运动控制卡。计算机从运动控制卡中读取实时数据,确定控制决策(小车运动方向、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,通过皮带,带动小车运动,保持摆杆平衡。1.2设计内容1.2.1建立一级倒立摆数学模型在自动控制理论课程中,有一章专门讲述控制
4、系统的数学模型的建立方法,并将非线性数学模型在一定条件下化简成线性数学模型,在此以一级倒立摆为例,建立其数学模型,并在摆角附近将其非线性数学模型线性化,学生通过实际数学模型的推导,熟悉机理建模的一般方式,加深对控制对象的理解。1.2.2控制系统的MATLAB仿真自动控制理论(古典部分)中所讲的控制器的设计方法很多,如根轨迹设计法、频率特性设计法和PID设计法,在实际系统中PID控制器应用最多,在本课程设计中选择PID控制器,PID控制器的特点是只能对单变量(此处为摆杆角度)进行控制。在现代控制理论中,采用状态空间极点配置方法设计控制器,该方法可对多变量进行控制(如同时控制摆杆角度和小车位置),
5、在这里通过对倒立摆的控制,让学生理解基于传递函数的单变量控制和基于状态空间的多变量控制的差别。本部分课程设计的目的是学习PID控制器和状态空间极点配置控制器的设计方法,熟悉控制器设计的一般方法,了解控制器参数对系统性能指标的影响,学会根据控制指标要求和实际响应调整控制器的参数,加深学生对所学内容的理解。学生自行编制倒立摆的MATLAB控制仿真软件,自行进行控制器的设计和仿真,仿真的目的一方面是让学生得到满足系统性能指标的控制器参数,另一方面是让学生将理论分析与仿真结果进行对比,更直观地理解各参数对控制性能的影响。1.2.3. 倒立摆控制系统实物调试具体实验步骤如下:(1)将小车推到导轨正中间位
6、置,并且使摆杆处于自由下垂的静止状态;(2)给计算机和电控箱通电;(3)设置控制器参数; (4)控制倒立摆;由于PID控制只能控制摆杆的摆角,不能控制小车的位置,所以在PID控制中小车可能向一个方向运动,此时需用手轻轻扶一下摆杆,以避免小车“撞墙”。极点配置控制方式可同时对摆杆角度和小车位置进行控制,因此不会出现“撞墙”现象。()观察控制效果:用金属棒碰一下摆杆,观察倒立摆在干扰信号作用下的输出响应。若不能达到指标要求,分析原因,重新设计,直到对实际系统的控制达到满意的结果。2. 直线一级倒立摆的数学模型设计目的:建立一级倒立摆系统的数学模型,并在摆角附近将其非线性数学模型线性化,学生通过实际
7、数学模型的推导,加深对系统建模和模型线性化问题的理解。进行Matlab仿真,验证建模的准确性,了解存在不稳定极点时系统的响应。设计要求:写出系统的动态方程,得出传递函数和状态空间表达式。用Matlab进行阶跃输入仿真,对控制对象的模型加以验证。设计报告要求(1)推导一阶倒立摆的数学模型,并将其在工作点线性化,给出微分方程、传递函数和状态空间表达式三种数学模型;(2)给出单位阶跃响应曲线。(3)分析建模的准确性和系统的开环不稳定特性的响应形式。2.1 直线一级倒立摆数学模型的推导系统建模可以分为两种:机理建模和实验建模。实验建模就是通过在研究对象上加上一系列的研究者事先确定的输入信号,激励研究对
8、象并通过传感器检测其可观测的输出,应用数学手段建立起系统的输入输出关系。这里面包括输入信号的设计选取,输出信号的精确检测,数学算法的研究等等内容。机理建模就是在了解研究对象的运动规律基础上,通过物理、化学的知识和数学手段建立起系统内部的输入状态关系。对于倒立摆系统,由于其本身是自不稳定的系统,实验建模存在一定的困难。但是忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可以在惯性坐标系内应用经典力学理论建立系统的动力学方程。下面我们采用牛顿欧拉方法建立直线型一级倒立摆系统的数学模型。在忽略了空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如图 2-1
9、所示。图 2-1 直线一级倒立摆模型本系统内部各相关参数定义如下: 小车质量 摆杆质量 小车摩擦系数 摆杆转动轴心到杆质心的长度 摆杆惯量 加在小车上的力 小车位置 摆杆与垂直向上方向的夹角 摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)图2-2是系统中小车和摆杆的受力分析图。其中,和为小车与摆杆相互作用力的水平和垂直方向的分量。注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图,图示方向为矢量正方向。图 2-2 小车及摆杆受力分析应用Newton方法来建立系统的动力学方程过程如下:分析小车水平方向所受的合力,可以得到以下方程: (2-1)由摆杆水平方
10、向的受力进行分析可以得到下面等式: (2-2)即: (2-3)把这个等式代入上式中,就得到系统的第一个运动方程: (2-4)为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程: (2-5)即: (2-6)力矩平衡方程如下: (2-7)注意:此方程中力矩的方向,由于,故等式前面有负号。合并这两个方程,约去和,得到第二个运动方程: (2-8)1微分方程模型设,当摆杆与垂直向上方向之间的夹角与1(单位是弧度)相比很小,即 时,则可以进行近似处理:,。为了与控制理论的表达习惯相统一,即一般表示控制量,用来代表被控对象的输入力,线性化后得到该系统数学模型的微分方程表达式:
11、 (2-9)2传递函数模型对方程组(2-9)进行拉普拉斯变换,得到 (2-10)注意:推导传递函数时假设初始条件为0。由于输出为角度,求解方程组(2-10)的第一个方程,可以得到 (2-11)或 (2-12)如果令,则有: (2-13)把上式代入方程组(2-10)的第二个方程,得到 (2-14)整理后得到以输入力为输入量,以摆杆摆角为输出量的传递函数: (2-15)其中 3状态空间数学模型由现代控制理论原理可知,控制系统的状态空间方程可写成如下形式: (2-16)方程组(2-9)对解代数方程,得到如下解: (2-17)整理后得到系统状态空间方程: (2-18)由(2-9)的第一个方程为:对于质
12、量均匀分布的摆杆有:于是可以得到:化简得到: (2-19)设,则有: (2-20)实际系统参数如下; 小车质量 1.096 Kg 摆杆质量 0.109 Kg 小车摩擦系数 0 .1N/m/sec 摆杆转动轴心到杆质心的长度 0.25m 摆杆惯量 0.0034 kg*m*m把上述参数代入,可以得到系统的实际模型。摆杆角度和小车位移的传递函数: (2-21) 摆杆角度和小车加速度之间的传递函数为: (2-22)摆杆角度和小车所受外界作用力的传递函数: (2-23)以外界作用力作为输入的系统状态方程: (2-24)以小车加速度作为输入的系统状态方程: (2-25)需要说明的是,在固高科技所有提供的控
13、制器设计和程序中,采用的都是以小车的加速度作为系统的输入,如果需要采用力矩控制的方法,可以参考以上把外界作用力作为输入的各式。2.2 系统阶跃响应分析上面已经得到系统的状态方程,先对其进行阶跃响应分析,在MATLAB中键入以下命令:clear;A=0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0;B=0 1 0 3;C=1 0 0 0;0 1 0 0;D=0 0;step(A,B,C,D)得到如下计算结果:图 2-3 直线一级倒立摆单位阶跃响应仿真可以看出,在单位阶跃响应作用下,小车位置和摆杆角度都是发散的。3. 直线一级倒立摆PID控制器设计本章主要利用PID控制算法对直
14、线一级倒立摆系统进行控制器设计。在设计的过程中,要求熟悉控制参数、对系统性能的影响,然后按照所要求的控制指标并综合实际响应结果恰当地调整参数。运用MATLAB仿真软件可以快捷地进行系统仿真和参数调整,本章第2节的内容即是运用MATLAB软件对PID控制系统的设计和仿真。第3节中,将对控制系统进行实际的运行和参数调试,以获得一组最佳的PID控制参数。设计目的:学习PID控制器的设计方法,了解控制器各个参数对系统性能的影响,学会根据控制指标要求和实际响应调整PID控制器的参数。设计要求:设计PID控制器,使得当在小车上施加0.1N的阶跃信号时,闭环系统的响应指标为:(1)稳定时间小于5秒;(2)稳
15、态时摆杆与垂直方向的夹角变化小于0.1 弧度。设计报告要求:(1)给出系统摆杆角度和小车位置的仿真图形及控制器参数,并对各个参数对系统控制效果的影响进行说明;(2)给出实际控制曲线和控制器参数,对响应的动态和静态指标进行分析。3.1 PID控制分析在模拟控制系统中,控制器最常用的控制规律是PID控制。常规PID控制系统原理框图如图3-1所示。系统由模拟PID控制器KD(S)和被控对象G(S)组成。图3-1 常规PID控制系统图PID控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制,故称PID控制器。
16、其控制规律为或写成传递函数的形式式中:比例系数;积分时间常数;微分时间常数。在控制系统设计和仿真中,也将传递函数写成式中:比例系数;积分系数;微分系数。简单说来,PID控制器各校正环节的作用如下:(1)比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。(2)积分环节:主要用于消除稳态误差,提高系统的型别。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强。(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。这个控制问题和我们以前遇到的标
17、准控制问题有些不同,在这里输出量为摆杆的位置,它的初始位置为垂直向上,我们给系统施加一个扰动,观察摆杆的响应。系统框图如图3-2所示:图3-2 直线一级倒立摆闭环系统图图中是控制器传递函数,是被控对象传递函数。考虑到输入,结构图可以很容易地变换成图3-3 直线一级倒立摆闭环系统简化图该系统的输出为其中: 被控对象传递函数的分子项被控对象传递函数的分母项PID控制器传递函数的分子项PID控制器传递函数的分母项通过分析上式就可以得到系统的各项性能。由(2-13)可以得到摆杆角度和小车加速度的传递函数:PID控制器的传递函数为:只需调节PID控制器的参数,就可以得到满意的控制效果。前面的讨论只考虑了
18、摆杆角度,那么,在控制的过程中,小车位置如何变化呢?小车位置输出为:通过对控制量双重积分即可以得到小车位置。3.2 PID控制参数设定及MATLAB仿真对于PID控制参数,我们采用以下的方法进行设定。由实际系统的物理模型:在Simulink中建立如图3-4所示的直线一级倒立摆模型:(进入MATLAB Simulink 实时控制工具箱“Googol Education Products”打开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP Experiment PID Experiments”中的“PID Control Si
19、mulink”)。图 3-4 直线一级倒立摆PID控制MATLAB 仿真模型其中PID Controller 为封装(Mask)后的PID 控制器,双击模块打开参数设置窗口,如图3-5所示。图 3-5 PID参数设置窗口先设置PID控制器为P控制器,令,得到图3-6仿真结果:图 3-6 P控制仿真结果图()从图3-6中可以看出,控制曲线不收敛,因此增大控制量,令,得到如图3-7仿真结果:图 3-7 P控制仿真结果图()从图3-7中可以看出,闭环控制系统持续振荡,周期约为0.7s。为消除系统的振荡,增加微分控制参数,令,得到图3-8仿真结果:图3-8 PD控制仿真结果图(,)从图3-8中可以看出
20、,系统稳定时间过长,大约为4 秒,且在两个振荡周期后才能稳定,因此再增加微分控制参数,令:,。仿真得到图3-9结果:图3-9 PD控制(,)从图3-9可以看出,系统在1.5秒后达到平衡,但是存在一定的稳态误差。为消除稳态误差,我们增加积分参数,令:,得到图3-10仿真结果:图3-10 PID 控制(,)从上面仿真结果可以看出,系统可以较好的稳定,但由于积分因素的影响,稳定时间明显增大。双击“Scope1”,得到小车的位置输出曲线如图3-11所示。图 3-11 PD控制(小车位置曲线)可以看出,由于PID控制器为单输入单输出系统,所以只能控制摆杆的角度,并不能控制小车的位置,所以小车会往一个方向
21、运动。也可以采用编写M文件的方法进行仿真。直线一级倒立摆PID控制MATLAB 仿真程序如下。clear;num=0.02725;den=0.0102125 0 -0.26705;kd=10;k=40;ki=10;numPID=kd k ki;denPID=1 0;numc=conv(num,denPID)denc=polyadd(conv(denPID,den),conv(numPID,num)t=0:0.005:15;figure(1);impulse(numc,denc,t)(进入MATLAB Simulink 实时控制工具箱“Googol Education Products”打开“I
22、nverted PendulumLinear Inverted PendulumLinear 1-Stage IP Experiment PID Experiments”中的“PID Control M Files”)运行后得到如下的仿真结果:图 3-12 PID 控制MATLAB 仿真结果(脉冲干扰) 3.3 PID 控制实验MATLAB版实验软件下的实验步骤:(1) 打开直线一级倒立摆PID控制界面如图3-13所示:(进入MATLAB Simulink 实时控制工具箱“Googol Education Products”打开“Inverted PendulumLinear Inverted
23、 PendulumLinear 1-Stage IP Experiment PID Experiments”中的“PID Control Demo”) 图3-13 直线一级倒立摆MATLAB 实时控制界面2) 双击“PID”模块进入PID 参数设置,如图3-14所示,把仿真得到的参数输入PID控制器,点击“OK”保存参数。图3-14 参数设计调整(3) 点击编译程序,完成后点击使计算机和倒立摆建立连接。(4) 点击运行程序,检查电机是否上伺服。缓慢提起倒立摆的摆杆到竖直向上的位置,在程序进入自动控制后松开,当小车运动到正负限位的位置时,用工具挡一下摆杆,使小车反向运动。 (5) 实验结果如下图
24、所示:图 3-15 PID 控制实验结果1 从图3-15中可以看出,倒立摆可以实现较好的稳定性,摆杆的角度在3.14(弧度)左右。同仿真结果,PID控制器并不能对小车的位置进行控制,小车会沿滑杆有稍微的移动。在给定干扰的情况下,小车位置和摆杆角度的变化曲线如图3-16所示:图3-16 PID 控制实验结果2(施加干扰)可以看出,系统可以较好的抵换外界干扰,在干扰停止作用后,系统能很快回到平衡位置。修改PID控制参数,如图3-17所示: 图 3-17 参数设置观察控制结果的变化,可以看出,系统的调整时间减少,但是在平衡的时候会出现小幅的振荡。图3-18 PID 控制实验结果3(改变PID 控制参
25、数)实验中,采用PD控制器,设计参数为; ; 。所得仿真结果如图3-19所示。图3-19 PD控制器实验结果可以看出,倒立摆的摆角幅度在0.05弧度左右。倒立摆的位置随着时间的推移而大致呈线性变化。说明所设计的PD控制器对倒立摆的摆角控制性能较佳,但无法实现对倒立摆位置的控制。4. 直线一级倒立摆状态空间极点配置控制器设计经典控制理论的研究对象主要是单输入单输出的系统,控制器设计时一般需要有关被控对象的较精确模型,现代控制理论主要是依据现代数学工具,将经典控制理论的概念扩展到多输入多输出系统。极点配置法通过设计状态反馈控制器将多变量系统的闭环系统极点配置在期望的位置上,从而使系统满足瞬态和稳态
26、性能指标。设计目的:学习状态空间极点配置控制器的设计方法,分析各个极点变化对系统性能的影响,学会根据控制指标要求和实际响应调整极点的位置和控制器的参数。设计要求:用极点配置方法设计控制器,使得当在小车上施加0.1N的阶跃信号时,闭环系统的响应指标为:(1)要求系统调整时间小于3秒;(2)稳态时摆杆与垂直方向的夹角变化小于0.1 弧度。设计报告要求:(1)给出系统摆杆角度和小车位置的仿真控制图形及控制器参数,并对极点的位置和各个参数对系统控制效果的影响进行分析;(2)给出实际控制曲线和控制器参数,并对响应的动态和静态指标进行分析。4.1 状态空间分析状态反馈闭环控制系统原理图如图4-1所示。图4
27、-1 状态反馈闭环控制原理图状态方程为:式中:为状态向量(维),为控制向量(纯量),为维常数矩阵,为维常数矩阵。选择控制信号:求解上式,得到方程解为:可以看出,如果系统状态完全可控,选择适当,对于任意的初始状态,当趋于无穷时,都可以使趋于0。极点配置的设计步骤:(1) 检验系统的可控性条件。(2) 从矩阵的特征多项式来确定的值。(3) 确定使状态方程变为可控标准型的变换矩阵:其中为可控性矩阵,(4) 利用所期望的特征值,写出期望的多项式并确定的值。(5) 需要的状态反馈增益矩阵由以下方程确定:4.2 极点配置及MATLAB仿真前面我们已经得到了直线一级倒立摆的状态空间模型,以小车加速度作为输入
28、的系统状态方程为:于是有:,直线一级倒立摆的极点配置转化为:对于如上所述的系统,设计控制器,要求系统具有较短的调整时间(约3秒)和合适的阻尼(阻尼比)。下面采用四种不同的方法计算反馈矩阵。方法一: 倒立摆极点配置原理图如图4-2所示。图4-2 倒立摆极点配置原理图极点配置步骤如下:(1) 检验系统可控性(略)(2) 计算特征值根据要求,并留有一定的裕量(设调整时间为2秒),我们选取期望的闭环极点,其中:其中,是一对具有的主导闭环极点,位于主导闭环极点的左边,因此其影响较小,因此期望的特征方程为:因此可以得到:由系统的特征方程:因此有系统的反馈增益矩阵为:(3) 确定使状态方程变为可控标准型的变
29、换矩阵:式中:于是可以得到:(4) 状态反馈增益矩阵为:得到控制量为:;以上计算可以采用MATLAB编程计算。直线一级倒立摆状态空间极点配置MATLAB 程序1: A=0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0;B=0 1 0 3;C=1 0 0 0;0 0 1 0;D=0 0;J=-10 0 0 0;0 -10 0 0;0 0 -2-2*sqrt(3)*i 0;0 0 0 -2+2*sqrt(3)*i;pa=poly(A);pj=poly(J);M=B A*B A2*B A3*B;W=pa(4) pa(3) pa(2) 1;pa(3) pa(2) 1 0;pa(2)
30、 1 0 0;1 0 0 0;T=M*W;K=pj(5)-pa(5) pj(4)-pa(4) pj(3)-pa(3) pj(2)-pa(2)*inv(T);Ac=A-B*K;Bc=B;Cc=C;Dc=D; T=0:0.005:5;U=0.2*ones(size(T);Cn=1 0 0 0;Nbar=rscale(A,B,Cn,0,K);Bcn=Nbar*B;Y,X=lsim(Ac,Bcn,Cc,Dc,U,T); plot(T,X(:,1),-); hold on;plot(T,X(:,2),-.); hold on;plot(T,X(:,3),.); hold on;plot(T,X(:,4)
31、,*); hold on; legend(CartPos,CartSpd,PendAng,PendSpd)(进入MATLAB Simulink 实时控制工具箱“Googol Education Products”打开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP Experiment Poles Experiments”中的“Poles Control M File1”)运行得到以下结果:图4-3 极点配置仿真结果可以看出,在给定系统干扰后,倒立摆可以在2秒内很好的回到平衡位置,满足设计要求。方法二: 矩阵(ABK)的特征
32、值是方程式的根:这是s的四次代数方程式,可表示为适当选择反馈系数系统的特征根可以取得所希望的值。把四个特征根设为四次代数方程式的根,则有比较两式有下列联立方程式如果给出的是实数或共轭复数,则联立方程式的右边全部为实数。据此可求解出实数。当将特征根指定为下列两组共轭复数时又 利用方程式可列出关于的方程组:利用如下直线一级倒立摆状态空间极点配置MATLAB程序2。clear;syms a s b k1 k2 k3 k4;A=0 1 0 0;0 0 0 0;0 0 0 1;0 0 a 0;B=0 1 0 b;SS=s 0 0 0;0 s 0 0;0 0 s 0;0 0 0 s;K=k1 k2 k3
33、k4J=-10 0 0 0;0 -10 0 0;0 0 -2-2*sqrt(3)*i 0;0 0 0 -2+2*sqrt(3)*i;ans=A-B*K;P=poly(ans)PJ=poly(J)(进入MATLAB Simulink 实时控制工具箱“Googol Education Products”打开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP Experiment Poles Experiments”中的“Poles Control M File2”)求解后得,。即施加在小车水平方向的控制力:可以看出,和方法一的计算
34、结果一样。方法三:利用爱克曼公式计算爱克曼方程所确定的反馈增益矩阵为:其中 利用MATLAB 可以方便的计算,程序如下:直线一级倒立摆状态空间极点配置MATLAB 程序3(爱克曼公式)clear;A=0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0;B=0 1 0 3;M=B A*B A2*B A3*B;J=-10 0 0 0;0 -10 0 0;0 0 -2-2*sqrt(3)*i 0;0 0 0 -2+2*sqrt(3)*i;phi=polyvalm(poly(J),A);K=0 0 0 1*inv(M)*phi(进入MATLAB Simulink 实时控制工具箱“Go
35、ogol Education Products”打开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP Experiment Poles Experiments”中的“Poles Control M File3”)运行可以得到:可以看出,计算结果和前面两种方法一致。方法四:可以直接利用MATLAB的极点配置函数K,PREC,MESSAGE = PLACE(A,B,P)来计算。直线一级倒立摆状态空间极点配置MATLAB 程序4(爱克曼公式)如下所示。clear;A=0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4
36、 0;B=0 1 0 3;P=-10-0.0001*j,-10+0.0001*j,-2-2*sqrt(3)*j,-2+2*sqrt(3)*j;K=place(A,B,P)(进入MATLAB Simulink 实时控制工具箱“Googol Education Products”打开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP Experiment Poles Experiments”中的“Poles Control M File4”)为匹配place()函数,把-10,-10两个极点改成了-10-0.0001j,-10+0
37、.0001j,因为增加的虚部很小,可以忽略不计,运行得到如下结果:可以看出,以上四种方法计算结果都保持一致。图4-4状态空间极点配置图4-5 参数设定下面对以上的计算结果在MATLAB Simulink 中进行仿真,打开直线一级倒立摆的仿真模型:(进入MATLAB Simulink 实时控制工具箱“Googol Education Products”打开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP ExperimentPoles Experiments”中的“Poles Control Simulink”)其中“GL1I
38、P State-Space”为直线一级倒立摆的状态空间模型,双击打开设置窗口设置相应的参数: 双击“Controller1”模块,打开状态反馈矩阵设置窗口:把计算得到的值输入上面的窗口。运行仿真,得到以下结果:图4-6反馈矩阵参数设定图4-7状态空间极点配置仿真结果可以看出,在存在干扰的情况下,系统在3 秒内基本上可以恢复到新的平衡位置。4.3 极点配置控制实验实验步骤如下:(1) 进入MATLAB Simulink 中“ matlab6p5toolboxGoogolTechInvertedPendulum Linear Inverted Pendulum, ”目录,打开直线一级倒立摆状态空间
39、极点配置控制程序如下:(进入MATLAB Simulink 实时控制工具箱“Googol Education Products”打开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP ExperimentPoles Experiments”中的“Poles Control Demo”)图4-6状态空间极点配置实时控制程序 (2) 点击“Controller”模块设置控制器参数,把前面仿真结果较好的参数输入到模块中:图4-7 极点配置控制参数设定点击“OK”完成设定。(3) 点击编译程序,完成后点击使计算机和倒立摆建立连接。(4
40、) 点击运行程序,检查电机是否上伺服。缓慢提起倒立摆的摆杆到竖直向上的位置,在程序进入自动控制后松开。(5) 双击“Scope”观察实验结果如下图所示:图4-8状态空间极点配置实时控制结果(平衡)图4-9状态空间极点配置实时控制结果(施加干扰)可以看出,系统可以在很小的振动范围内保持平衡,小车振动幅值约为210-3 m,摆杆振动的幅值约为0.05弧度,注意,不同的控制参数会有不同的控制结果。在给定倒立摆干扰后,系统如响应如图4-9所示,从上图可以看出,系统稳定时间约为3秒,达到设计要求。5. 直线一级倒立摆LQR控制器设计直线一级倒立摆LQR 控制实时控制程序如图5-1所示。图 5-1 直线一
41、级倒立摆LQR 控制实时控制程序配置参数如图5-2所示。图 5-2 直线一级倒立摆LQR 控制参数配置在没有受到扰动的情况下,倒立摆的位置、摆角与时间之间的变化曲线如图5-3所示。图5-3 直线一级倒立摆LQR 控制实时控制结果系统保持平衡,几乎不产生振动。LQR对于倒立摆位置与角度的控制均达到了较好的控制性能。在受到扰动的情况下,倒立摆的位置、摆角与时间之间的变化曲线如图5-4所示。图5-4 直线一级倒立摆LQR 控制实时控制结果其中图片上半部分为小车的位置曲线,下半部分为摆杆角度的变化曲线,从图中可以看出,在给定外界干扰后,小车可以在5秒内回到平衡位置。达到了较好的控制效果。6. 设计总结1) 由实验中可知,倒立摆系统是一个非线性的较复杂的不稳定系