1、xxx工业大学课程设计任务书姓 名: 院 (系):航天学院控制科学与工程系专 业: 自动化 班 号:xxx 班任务起至日期: 2014 年 09 月 09 日至 2014 年 09 月 19 日课程设计题目: 一阶倒立摆控制器设计 已知技术参数和设计要求:本课程设计的被控对象采用固高公司的一阶倒立摆系统 GIP-100-L。系统内部各相关参数为:小车质量 0.5 Kg ; 摆杆质量 0.2 Kg ; 小车摩擦系数 0.1 N/m/sec ; 摆杆转动轴心到杆质心的长度 0.3 m ; 摆杆惯量 0.006 kg*m*m ; 采样时间 0.005 秒。设计要求:1 推导出系统的传递函数和状态空间
2、方程。用 Matlab 进行阶跃输入仿真,验证系统的稳定性。2 设计 PID 控制器 ,使得当在小车上施加 0.1N 的脉冲信号时,闭环系统的响应指标为:(1 ) 稳定时间小于 5 秒;(2 ) 稳态时摆杆与垂直方向的夹角变化小于 0.1 弧度。3 设计最优控制器,使得当在小车上施加 0.2m 的阶跃信号时,闭环系统的响应指标为:(1 ) 摆杆角度 和小车位移 的稳定时间小于 3 秒(2 ) 的上升时间小于 1 秒(3 ) 的超调量小于 20 度(0.35 弧度)(4 ) 稳态误差小于 2%。工作量:1. 建立一阶倒立摆的线性化数学模型;2. 倒立摆系统的 PID 控制器设计、MATLAB 仿
3、真及实物调试;3. 倒立摆系统的状态空间极点配置控制器设计、MATLAB 仿真及实物调试。工作计划安排:第一周:()建立直线一级倒立摆的线性化数学模型;(2)倒立摆系统的 PID 控制器的设计、MATLAB 仿真;(3)极点配置控制器设计极点配置控制器设计,MATLAB 仿真。第二周: 实物调试;撰写课程设计论文。同组设计者及分工:史爽; 王天剑;左健宇各项工作独立完成指导教师签字_年 月 日 教研室主任意见:教研室主任签字_年 月 日*注:此任务书由课程设计指导教师填写。1. 直线一级倒立摆的数学模型1.1. 直线一级倒立摆数学模型的推导系统建模可以分为两种:机理建模和实验建模。实验建模就是
4、通过在研究对象上加上一系列的研究者事先确定的输入信号,激励研究对象并通过传感器检测其可观测的输出,应用数学手段建立起系统的输入输出关系。这里面包括输入信号的设计选取,输出信号的精确检测,数学算法的研究等等内容。机理建模就是在了解研究对象的运动规律基础上,通过物理、化学的知识和数学手段建立起系统内部的输入状态关系。对于倒立摆系统,由于其本身是自不稳定的系统,实验建模存在一定的困难。但是经过小心的假设忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可以在惯性坐标系内应用经典力学理论建立系统的动力学方程。下面我们采用其中的牛顿欧拉方法建立直线型一级倒立摆系统的数学模型。在忽略了空气阻
5、力,各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统。如下图所示。本系统相关参数定义如下: M 小车质量 m 摆杆质量 b 小车摩擦系数 l 摆杆转动轴心到杆质心的长度I 摆杆惯量 F 加在小车上的力 x 小车位置 摆杆与垂直向上方向的夹角 摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下 )下图是系统中小车和摆杆的受力分析图。其中,N 和 P 为小车与摆杆水平和垂直方向的分量。注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图所示,图示方向为矢量正方向。应用 Newton 方法来建立系统的动力学方程过程如下:分析小车水平方向受到的合力,可
6、以得到以下方程:由摆杆水平方向的受力进行分析可以得到下面等式:即把这个等式代入上式中,就得到系统的第一个运动方程:为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:即:注意:此方程中力矩的方向,由于 , , ,故等式前有负号。合并这两个方程,约去 P 和 N,得到第二个运动方程:1.1.1. 微分方程模型设 ,当摆杆与垂直向上方向之间的夹角 与 1(单位是弧度)相比很小,即时,则可以进行近似处理: , , 。为了与控制理论的习惯表达统一,即 u 一般表示控制量,用 u 来表示被控对象的输入力 F,线性化后得到该系统数学模型的微分方程表达式:即微分方程模型。1.
7、1.2. 传递函数模型对上述微分方程模型取拉普拉斯变换,得到:注意:推导传递函数时假设初始条件为 0。由于输出为角度 ,求解上述方程组的第二个方程,可以得到或如果令 ,则有:把上式带入方程组的第一个方程组,可以得到:整理后可以得到以输入力 u 为输入量,以摆杆摆角 为输入量的传递函数:其中1.1.3. 状态空间模型由现代控制理论原理可知,控制系统的状态空间方程可以写成如下形式:由上述数学分析,可得如下解:整理后得到系统的状态空间方程:由上述推导知:对于质量均匀分布的摆杆有:则:化简得到:设 , ,则有:实际系统参数如下:M 小车质量 0.5kgm 摆杆质量 0.2kg b 小车摩擦系数 0.1
8、N/m/sec l 摆杆转动轴心到杆质心的长度 0.3m I 摆杆惯量 0.006kg*m*m 代入上述参数,可以得到系统的实际模型:摆杆角度和小车位移的传递函数:摆杆角度和小车所受外界作用力的传递函数以外界作用力作为输入的系统状态方程:以小车加速度作为输入系统的系统状态方程:1.2. 系统阶跃响应分析上述推导我们得到了系统的状态方程,先对其进行阶跃响应分析,在 MATLAB 中键入以下命令:clearA=0 1 0 00 0 0 00 0 0 10 0 24.5 0;B=0 1 0 2.5;C=1 0 0 00 1 0 0;D=0 0;step(A,B,C,D)可以得到:可以看出,在单位阶跃
9、响应的作用下,小车位置和摆杆角度都是发散的。2. 直线一级倒立摆的 PID 控制器设计本章主要利用 PID 控制算法对直线一级倒立摆系统进行控制器设计。在设计的过程中,要求熟悉控制参数 、 、 对系统性能的影响,然后按照所要求的控制指标并综合实际响应结果恰当地调整参数。运用 MATLAB 仿真软件可以快捷地进行系统仿真和参数调整,本章第 2 节的内容即是运用 MATLAB 软件对 PID 控制系统的设计和仿真。第 3 节中,将对控制系统进行实际的运行和参数调试,以获得一组最佳的 PID 控制参数。设计目的:学习 PID 控制器的设计方法,了解控制器各个参数对系统性能的影响,学会根据控制指标要求
10、和实际响应调整 PID 控制器的参数。设计要求:设计 PID 控制器,使得当在小车上施加 0.1N 的阶跃信号时,闭环系统的响应指标为:(1)稳定时间小于 5 秒;(2)稳态时摆杆与垂直方向的夹角变化小于 0.1 弧度。设计报告要求:(1)给出系统摆杆角度和小车位置的仿真图形及控制器参数,并对各个参数对系统控制效果的影响进行说明;(2)给出实际控制曲线和控制器参数,对响应的动态和静态指标进行分析。2.1. PID 控制分析在模拟控制系统中,控制器最常用的控制规律是 PID 控制。常规 PID 控制系统原理框图如图 3-1 所示。系统由模拟 PID 控制器 KD(S)和被控对象 G(S)组成。P
11、ID 控制器是一种线性控制器,它根据给定值 与实际输出值 构成控制偏差将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制,故称 PID 控制器。其控制规律为或写成传递函数的形式式中: 比例系数; 积分时间常数; 微分时间常数。在控制系统设计和仿真中,也将传递函数写成式中: 比例系数; 积分系数; 微分系数。 简单说来,PID 控制器各校正环节的作用如下:(1)比例环节:成比例地反映控制系统的偏差信号 ,偏差一旦产生,控制器立即产生控制作用,以减少偏差。(2)积分环节:主要用于消除稳态误差,提高系统的型别。积分作用的强弱取决于积分时间常数 , 越大,积分作用越弱
12、,反之则越强。(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。这个控制问题和我们以前遇到的标准控制问题有些不同,在这里输出量为摆杆的位置,它的初始位置为垂直向上,我们给系统施加一个扰动,观察摆杆的响应。系统框图如下图所示:图中 是控制器传递函数, 是被控对象传递函数。考虑到输入 ,结构图可以很容易地变换成该系统的输出为其中:num被控对象传递函数的分子项 den被控对象传递函数的分母项 numPIDPID 控制器传递函数的分子项 denPIDPID 控制器传递函数的分母项 通过分析上式可
13、以得到系统的各项性能。由之前分期可以得到摆杆角度和小车加速度的传递函数:PID 控制器的传递函数为:只需调节 PID 控制器的参数,就可以得到满意的效果。小车的位置输出为:通过对控制量双重积分可以得到小车的位置。2.2. PID 参数设定及 MATLAB 仿真对于 PID控制参数,我们采用以下方法进行设定。由实际系统的物理模型:在 Simulink里建立如下图所示的直线一级倒立摆模型:其中 PID Controller为封装(Mask)后的 PID控制器。对 PID控制器进行参数设置。先设置 PID控制器为 P控制器,令 , 。得到仿真结果如下:可以看出,控制曲线不收敛,因此增大控制量,令 ,
14、 ,得到以下仿真结果:可以看出,闭环控制系统持续振荡,周期约为 0.7s。为消除系统振荡,增加微分控制参数 ,令 , ,得到仿真结果如下:可以看出,系统的稳定时间较长,且在两个振荡周期后才能稳定,因此再增加微分控制参数 ,令 , ,得到仿真结果如下:可以看出,系统在 1s左右即可达到平衡,但是存在一定的稳态误差。为了消除误差,我们增加积分参数 ,令 , ,得到以下仿真结果。从上面的仿真结果可以看出,系统可以较好的稳定,但由于积分因素的影响,稳定时间明显增大。从示波器 1中可以看出小车位置输出曲线如下:可以看出,由于 PID控制器为单输入单输出系统,所以只能控制摆杆的角度,并不能控制小车的位置,
15、所以小车会往一个方向运动。由自动控制原理相关知识,我们知道,对系统单位阶跃响应微分,即可得到系统的单位脉冲响应,为了得到系统的单位脉冲响应,我们在示波器前引入微分环节,仿真结果如下。可以看出,系统的性能指标符合设计要求。2.3. PID 控制实验MATLAB 版实验软件下的实验步骤:(1) 打开直线一级倒立摆 PID 控制界面如下图所示:(进入 MATLAB Simulink 实时控制工具箱“Googol Education Products”打开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP Experiment PID
16、 Experiments”中的“PID Control Demo”) (2) 双击“PID”模块进入 PID 参数设置,把仿真得到的参数输入 PID 控制器,点击“OK”保存参数。(3) 点击 编译程序,完成后点击 使计算机和倒立摆建立连接。(4) 点击 运行程序,检查电机是否上伺服。缓慢提起倒立摆的摆杆到竖直向上的位置,在程序进入自动控制后松开,当小车运动到正负限位的位置时,用工具挡一下摆杆,使小车反向运动。 (5) 实验结果如下图所示:可以看出,倒立摆有较好的稳定性,摆杆的角度在 3.14(弧度)左右。同仿真结果,小车会沿滑杆有稍微的移动。在给定干扰的情况下,小车位置和摆杆角度的变化曲线如
17、下图所示:可以看出,系统能较好的抵抗外界干扰,在干扰停止后,系统能很快回到平衡位置。值得一提的是,经过反复测试,最终采用的 PID控制参数分别为 ,与仿真所用参数相差较大。经分析为建模所用参数和实际系统参数差距较大造成的。3. 直线一级倒立摆状态空间极点配置控制器设计经典控制理论的研究对象主要是单输入单输出的系统,控制器设计时一般需要有关被控对象的较精确模型,现代控制理论主要是依据现代数学工具,将经典控制理论的概念扩展到多输入多输出系统。极点配置法通过设计状态反馈控制器将多变量系统的闭环系统极点配置在期望的位置上,从而使系统满足瞬态和稳态性能指标。设计目的:学习状态空间极点配置控制器的设计方法
18、,分析各个极点变化对系统性能的影响,学会根据控制指标要求和实际响应调整极点的位置和控制器的参数。设计要求:设计状态空间极点配置控制器,使得当在小车上施加 0.2m 的阶跃信号时,闭环系统的响应指标为:(1)摆杆角度 和小车位移 的稳定时间小于 3 秒(2) 的上升时间小于 1 秒(3) 的超调量小于 20 度(0.35 弧度)(4)稳态误差小于 2%。设计报告要求:(1)给出系统摆杆角度和小车位置的仿真控制图形及控制器参数,并对极点的位置和各个参数对系统控制效果的影响进行分析;(2)给出实际控制曲线和控制器参数,并对响应的动态和静态指标进行分析。3.1. 状态空间分析状态反馈闭环控制系统原理图
19、如图 3-1所示。状态方程为:式中: X 为状态向量(n 维), u为控制向量(纯量), A为 nn 维常数矩阵,B为 n1 维常数矩阵。选择控制信号:求解上式,得到方程解为:可以看出,如果系统状态完全可控, 选择适当,对于任意的初始状态,当 趋于无穷时,都可以使 趋于 0。极点配置的设计步骤:(1) 检验系统的可控性条件。(2) 从矩阵 的特征多项式来确定 的值。(3) 确定使状态方程变为可控标准型的变换矩阵 :其中 为可控性矩阵,(4) 利用所期望的特征值,写出期望的多项式并确定 的值。(5) 需要的状态反馈增益矩阵 由以下方程确定:3.2. 极点配置及 MATLAB 仿真前面我们已经得到
20、了直线一级倒立摆的状态空间模型,以小车加速度作为输入的系统状态方程为:于是有:, ,这里我们采用以下方法来计算反馈矩阵 K。倒立摆极点配置原理图如下所示。极点配置步骤如下:(1) 检验系统的可控性求取系统状态方程的能控矩阵 M系统是能控的。(2)计算特征值根据设计指标要求,并留有一定的裕量,我们取以下指标可以解得则可见该组参数下上升时间也满足性能指标要求。根据这组参数,我们选取期望的闭环极点则期望特征方程为则由系统的特征方程:因此有则系统的增益矩阵为(3)确定使状态方程变为可控标准型的变换矩阵其中 在(1)中已求得于是可以得到(4)状态反馈增益矩阵得到的控制量下面我们通过 Simulink进行
21、仿真。仿真框图如下所示运行仿真,得到以下结果。可以看出,在存在干扰的情况下,系统在 3s内基本上可以恢复到平衡位置。3.3. 极点配置控制实验实验步骤如下:(1) 进入 MATLAB Simulink 中“ matlab6p5toolboxGoogolTechInvertedPendulum Linear Inverted Pendulum, ”目录,打开直线一级倒立摆状态空间极点配置控制程序如下:(进入 MATLAB Simulink 实时控制工具箱“Googol Education Products”打开“Inverted PendulumLinear Inverted PendulumL
22、inear 1-Stage IP ExperimentPoles Experiments”中的“Poles Control Demo”)(2) 点击“Controller”模块设置控制器参数,把前面仿真结果较好的参数输入到模块中:点击“OK”完成设定。(3) 点击 编译程序,完成后点击 使计算机和倒立摆建立连接。(4) 点击 运行程序,检查电机是否上伺服。缓慢提起倒立摆的摆杆到竖直向上的位置,在程序进入自动控制后松开。(5) 双击“Scope”观察实验结果如下图所示:可以看出,系统在很小的振动范围内保持平衡,小车振动幅值约为 410-3 m,摆杆振动的幅值约为 0.01弧度。在给定倒立摆干扰后
23、,系统如响应如下图所示,从上图可以看出,系统稳定时间约为 2秒,X 的上升时间约为 0.6s, 的超调量约为 0.1弧度,满足性能指标,达到了设计要求。4. 设计结论及心得体会由于任务书上给定的系统参数和实际系统参数之间存在较大差距,通过 MATLAB 仿真得到的结果并不能很好的适用于实际系统中,但 MATLAB 仿真过程为实际实验提供了理论基础和良好的处理思路,很大程度上降低了实验过程中的操作的难度。在建立了直线一级倒立摆的数学模型之后,分别通过 PID 控制和极点配置控制的方法来对系统控制,使系统达到一定的性能指标。其中 PID 控制为单输入单输出控制,所以只能控制摆杆角度,而不能控制小车
24、的位置。通过状态反馈实现的极点配置,能在较好的控制摆杆的角度的情况下,也能控制小车的位置趋于稳定。本实验通过 MATLAB 仿真得到的 PID 控制参数为 , ,而实验中未达到最好的控制效果,采用的 PID 控制参数为 , 。MATLAB 仿真中应用的状态反馈增益矩阵 ,实验中采用的状态反馈增益矩阵为 。尽管最终选用的控制参数有差别,但无论是仿真还是真实实验都达到了较好的控制效果,满足了任务书中的性能指标要求。通过本次课程设计,再复习了 MATLAB常用命令的基础上,也进一步熟悉了 Simulink仿真的基本操作。同时对在自动控制原理、现代控制理论和控制系统设计中学到的知识灵活运用,更加融会贯通。仿真实验得到的结果往往不能直接应用于实验中,因为模型的抽象化建立,参数的近似选取,会带来较大误差,实际实验过程中,必须耐心调试,获得最好的实验效果。