控制系统课程设计直线一级倒立摆控制器设计_第1页
控制系统课程设计直线一级倒立摆控制器设计_第2页
控制系统课程设计直线一级倒立摆控制器设计_第3页
控制系统课程设计直线一级倒立摆控制器设计_第4页
控制系统课程设计直线一级倒立摆控制器设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Harbin Institute of Technology课程设计说明书论文课程名称: 控制系统设计课程设计 设计题目:直线一级倒立摆控制器设计院 系: 班 级: 设 计 者: 学 号: 指导教师: 罗晶 周乃馨 设计时间: 2021.9.22021.9.13 哈尔滨工业大学教务处哈尔滨工业大学课程设计任务书 姓 名: 院 系:英才学院 专 业: 班 号: 任务起至日期: 2021 年 9 月 2 日至 2021 年 9 月 13 日 课程设计题目: 直线一级倒立摆控制器设计 技术参数和设计要求:本课程设计的被控对象采用固高公司的直线一级倒立摆系统GIP-100-L。系统内部各相关参数为:小

2、车质量 0.5 Kg ;摆杆质量0.2 Kg ;小车摩擦系数0.1 N/m/sec ; 摆杆转动轴心到杆质心的长度0.3 m ;摆杆惯量0.006 kg*m*m ;采样时间0.005秒。设计要求:1推导出系统的传递函数和状态空间方程。用Matlab进行阶跃输入仿真,验证系统的稳定性。2设计PID控制器,使得当在小车上施加0.1N的脉冲信号时,闭环系统的响应指标为:1稳定时间小于5秒;2稳态时摆杆与垂直方向的夹角变化小于0.1 弧度。3设计状态空间极点配置控制器,使得当在小车上施加的阶跃信号时,闭环系统的响应指标为:1摆杆角度和小车位移的稳定时间小于3秒2的上升时间小于1秒3的超调量小于20度弧

3、度4稳态误差小于2%。 工作量:1. 建立直线一级倒立摆的线性化数学模型;2. 倒立摆系统的PID控制器设计、MATLAB仿真及实物调试;3. 倒立摆系统的极点配置控制器设计、MATLAB仿真及实物调试。 工作方案安排:第3周 1建立直线一级倒立摆的线性化数学模型;2倒立摆系统的PID控制器设计、MATLAB仿真;3倒立摆系统的极点配置控制器设计、MATLAB仿真。第4周 1实物调试;2撰写课程设计论文。 同组设计者及分工:各项工作独立完成。 指导教师签字_ 年 月 日 教研室主任意见: 教研室主任签字_ 年 月 日*注:此任务书由课程设计指导教师填写。第一章 直线一级倒立摆数学模型的推导及建

4、立系统建模可以分为两种:机理建模和实验建模。实验建模就是通过在研究对象上加上一系列的研究者事先确定的输入信号,鼓励研究对象并通过传感器检测其可观测的输出,应用数学手段建立起系统的输入输出关系。这里面包括输入信号的设计选取,输出信号的精确检测,数学算法的研究等等内容。机理建模就是在了解研究对象的运动规律根底上,通过物理、化学的知识和数学手段建立起系统内部的输入状态关系。 对于倒立摆系统,由于其本身是自不稳定的系统,实验建模存在一定的困难。但是经过小心的假设忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可以在惯性坐标系内应用经典力学理论建立系统的动力学方程。下面我们采用其中的牛顿

5、欧拉方法建立直线型一级倒立摆系统的数学模型。 在忽略了空气阻力,各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统. 以下图是系统中小车和摆杆的受力分析图。其中,N和P为小车与摆杆水平和垂直方向的分量。图1-1a小车隔离受力图 b摆杆隔离受力图本系统相关参数定义如下: M : 小车质量 m:摆杆质量 b:小车摩擦系数 l:摆杆转动轴心到杆质心的长度 I:摆杆惯量 F:加在小车上的力 x:小车位置 :摆杆与垂直向上方向的夹角 :摆杆与垂直向下方向的夹角考虑到摆杆初始位置为竖直向下 注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如下图,图示方向为矢量正

6、方向。应用牛顿方法来建立系统的动力学方程过程如下:分析小车水平方向受到的合力,可以得到下面等式: 1-1由摆杆水平方向的受力进行分析可以得到下面等式: 1-2 1-3 把这个等式代入上式中,就得到系统的第一个运动方程: 1-4 为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程: 1-5 1-6 力矩平衡方程如下: 1-7 注意:此方程中力矩的方向,由于,故等式前面有负号。 合并这两个方程,约去P和N ,得到第二个运动方程: 1-8微分方程模型 设是摆杆与垂直向上方向之间的夹角,假设与1单位是弧度相比很小,即,那么可以进行近似处理:。用u来代表被控对象的输入力F

7、 ,线性化后两个运动方程如下: 1-9 传递函数 对以上微分方程组进行拉普拉斯变换,得到 1-10 注意:推导传递函数时假设初始条件为0。 由于输出为角度为,求解方程组上述方程组的第一个方程,可以得到 1-11或者 1-12如果令,那么有 1-13把上式代入10式,那么有: 1-14整理得到以输入力为输入量,摆杆角度为输出量的传递函数: 1-15其中 状态空间数学模型由现代控制原理可知,控制系统的状态方程可写成如下形式: 1-16可得代数方程,得到如下解: 1-17整理后得到系统状态空间方程: 1-18由(1-9)的第二个方程为:对于质量均匀分布的摆杆有:于是可以得到:化简得到: 1-19设,

8、那么有: 1-20实际系统参数如下:M : 小车质量 0.5kg m:摆杆质量 0.2kg b l:摆杆转动轴心到杆质心的长度 I:摆杆惯量 0.006kg*m*m 把上述参数带入,可以得到系统的实际模型。摆杆角度和小车位移的传递函数: 1-21摆杆角度和小车加速度之间的传递函数: 1-22摆杆角度和小车所受外界作用力的传递函数 1-23以外界作用力作为输入的系统状态方程: 1-24以小车加速度作为输入系统的系统状态方程: 1-25在matlab中键入以下命令:得到如下结果:图1-2 直线一阶倒立摆单位阶跃响应仿真可以看出,在单位阶跃响应作用下,小车位置和摆杆角度都是发散的。第二章 直线一级倒

9、立摆PID控制器设计本章主要利用PID控制算法对直线一级倒立摆系统进行控制器设计。在设计的过程中,要求熟悉控制参数、对系统性能的影响,然后按照所要求的控制指标并综合实际响应结果恰当地调整参数。运用MATLAB仿真软件可以快捷地进行系统仿真和参数调整,本章第2节的内容即是运用MATLAB软件对PID控制系统的设计和仿真。第3节中,将对控制系统进行实际的运行和参数调试,以获得一组最正确的PID控制参数。设计目的:学习PID控制器的设计方法,了解控制器各个参数对系统性能的影响,学会根据控制指标要求和实际响应调整PID控制器的参数。设计要求:设计PID控制器,使得当在小车上施加0.1N的阶跃信号时,闭

10、环系统的响应指标为:1稳定时间小于5秒;2稳态时摆杆与垂直方向的夹角变化小于0.1 弧度。设计报告要求:1给出系统摆杆角度和小车位置的仿真图形及控制器参数,并对各个参数对系统控制效果的影响进行说明;2给出实际控制曲线和控制器参数,对响应的动态和静态指标进行分析。D控制系统原理框图如下所示,系统由模拟PID控制器KDS和被控对象GS组成。PID控制器是一种线性控制器,它根据给定值r(t)与实际输出值y(t)构成控制偏差e(t)将偏差的比例P,积分I和微分D通过线性组个构成控制量,对被控对象进行控制,谷称为PID控制器。其控制规律为:或写成传递函数的形式:在控制系统设计和仿真中,也将传递函数写成:

11、简单来说,PID控制器各个校正环节的作用如下:1 比例环节:成比例的反响控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。2积分环节:主要用于消除稳态误差,提高系统的型别。积分作用的强弱取决于积分时间常数T1,T1越大,积分作用越弱,反之那么越强。3 微分环节:反映偏差信号的变化趋势变化速率,并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。 这个控制问题,输出量为摆杆的位置,它的初始位置为垂直向上,我们给系统一个扰动,观察摆杆的响应,系统框图如下:图2-1直线一级倒立摆PID控制系统框图中KD(s)是控制器传递

12、函数,G(s)是被控对象传递函数。考虑到输入r(s)=0,结构图可以很容易的变换成图2-2 直线一级倒立摆PID控制简化系统框图 该系统的输出为 其中,num被控对象传递函数的分子项 den被控对象传递函数的分母项 numPIDPID 控制器传递函数的分子项 denPIDPID 控制器传递函数的分母项 通过分析上式可以得到系统的各项性能。由2-13可以得到摆杆角度和小车加速度的传递函数:PID控制器的传递函数为:只需调节PID控制器的参数,就可以得到满意的效果。小车的位置输出为:通过对控制量双重积分可以得到小车的位置。2.2 PID控制参数设定及MATLAB仿真通过不断的调试,最后=120,=

13、100,=20。系统MATLAB仿真模型如下:图2-3一阶倒立摆PID控制MATLAB仿真模型其输入0.1N的脉冲响应如下:图2-4直线一阶倒立摆PID控制仿真结果图可以看出,在3.68s的时候系统已经稳定了,并且在稳态时摆杆与垂直方向的夹角变化小于0.1弧度。由于PID控制器为单输入单输出系统,所以只能控制小车摆杆的角度,并不能控制小车的位置。2.3 PID控制实验MATLAB版实验软件下的实验步骤:(1) 翻开直线一级倒立摆PID控制界面如图2-5所示:进入MATLAB Simulink 实时控制工具箱“Googol Education Products翻开“Inverted Pendul

14、umLinear Inverted PendulumLinear 1-Stage IP Experiment PID Experiments中的“PID Control Demo 2) 双击“PID模块进入PID 参数设置,如图2-6所示,把仿真得到的参数输入PID控制器,点击“OK保存参数。图2-5直线一级倒立摆MATLAB 实时控制界面 图2-6 参数设计调整(3) 点击编译程序,完成后点击使计算机和倒立摆建立连接。(4) 点击运行程序,检查电机是否上伺服。缓慢提起倒立摆的摆杆到竖直向上的位置,在程序进入自动控制后松开,当小车运动到正负限位的位置时,用工具挡一下摆杆,使小车反向运动。 (5

15、) 实验结果如以下图所示:图2-7 PID控制实验结果1图2-8 PID控制实验结果2施加干扰从图2-7中可以看出,倒立摆可以实现较好的稳定性,摆杆的角度在3.14弧度左右。PID控制器并不能对小车的位置进行控制,小车会沿滑杆有稍微的移动。在给定干扰的情况下,小车位置和摆杆角度的变化曲线如图2-8所示,可以看出,系统可以较好的抵换外界干扰,在干扰停止作用后,系统大约3.2s到达稳态,稳态时摆杆与垂直方向的夹角变化远小于0.1弧度。2.4 PID系统的优缺点优点:PID控制优点明显,应用广泛。PID能消除稳态误差;同时可以减少超调量,克服振荡,使系统的稳定性提高;并且能加快系统的动态响应速度,减

16、小调整时间,从而改善系统的动态性能。缺点:PID控制的过度期比拟长,上升过程中波动明显;当然,较好的PID控制效果是以被控对象的精确数学模型为前提的,当被控对象的数学模型未知时,PID控制的调试将会有很大的难度。第三章 状态空间极点配置控制器设计经典控制理论的研究对象主要是单输入单输出的系统,控制器设计时一般需要有关被控对象的较精确模型,现代控制理论主要是依据现代数学工具,将经典控制理论的概念扩展到多输入多输出系统。极点配置法通过设计状态反响控制器将多变量系统的闭环系统极点配置在期望的位置上,从而使系统满足瞬态和稳态性能指标。设计目的:学习状态空间极点配置控制器的设计方法,分析各个极点变化对系

17、统性能的影响,学会根据控制指标要求和实际响应调整极点的位置和控制器的参数。设计要求:设计状态空间极点配置控制器,使得当在小车上施加的阶跃信号时,闭环系统的响应指标为:1摆杆角度和小车位移的稳定时间小于3秒2的上升时间小于1秒3的超调量小于20度弧度4稳态误差小于2%。设计报告要求:1给出系统摆杆角度和小车位置的仿真控制图形及控制器参数,并对极点的位置和各个参数对系统控制效果的影响进行分析;2给出实际控制曲线和控制器参数,并对响应的动态和静态指标进行分析。3.1 状态空间分析状态反响闭环控制系统原理图如图3-1所示。图3-1 状态反响闭环控制原理图状态方程为:式中:为状态向量维,为控制向量纯量,

18、为维常数矩阵,为维常数矩阵。选择控制信号:求解上式,得到方程解为:可以看出,如果系统状态完全可控,选择适当,对于任意的初始状态,当趋于无穷时,都可以使趋于0。极点配置的设计步骤:(1) 检验系统的可控性条件。(2) 从矩阵的特征多项式来确定的值。(3) 确定使状态方程变为可控标准型的变换矩阵:其中为可控性矩阵,(4) 利用所期望的特征值,写出期望的多项式并确定的值。(5) 需要的状态反响增益矩阵由以下方程确定:3.2 极点配置及MATLAB仿真前面我们已经得到了直线一级倒立摆的状态空间模型,以小车加速度作为输入的系统状态方程为:于是有:,直线一级倒立摆的极点配置转化为:选,解得=0.59,wn

19、=3.39,=0.804,符合要求。求得闭环主导极点为:,选取另两个极点为-14,-14。那么:对于如上所述的系统,设计控制器,要求系统具有较短的调整时间约3秒和适宜的阻尼。下面采用四种不同的方法计算反响矩阵。方法一: 倒立摆极点配置原理图如图3-2所示。图3-2 倒立摆极点配置原理图极点配置步骤如下:(1) 检验系统可控性略(2) 计算特征值根据要求,并留有一定的裕量设调整时间为2秒,我们选取期望的闭环极点,其中:其中,是一对具有的主导闭环极点,位于主导闭环极点的左边,因此其影响较小,因此期望的特征方程为:因此可以得到:由系统的特征方程:因此有系统的反响增益矩阵为:(3) 确定使状态方程变为

20、可控标准型的变换矩阵:式中:于是可以得到:(4) 状态反响增益矩阵为:得到控制量为:;以上计算可以采用MATLAB编程计算。直线一级倒立摆状态空间极点配置MATLAB 程序1: clear;A=0 1 0 0;0 0 0 0;0 0 0 1;0 0 24.5 0;B=0 1 0 2.5'C=1 0 0 0;0 0 1 0;D=0 0'J=-14 0 0 0;0 -14 0 0;0 0 -2-2.74*i 0;0 0 0 -2+2.74*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

21、(2) 1 0;pa(2) 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,

22、X(:,3),'.');hold on;plot(T,X(:,4),'-');hold on;legend('CartPos','CartSpd','PendAng','PendSpd')进入MATLAB Simulink 实时控制工具箱“Googol Education Products翻开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP Experiment Poles Experiments中的“Poles Control

23、M File1”运行得到以下结果:运行结果如下:K = 图3-3极点配置仿真结果可以看出,给定系统干扰后,倒立摆可以在2s内很好的回到平衡位置方法二: 矩阵ABK的特征值是方程式的根:这是s的四次代数方程式,可表示为适中选择反响系数系统的特征根可以取得所希望的值。把四个特征根设为四次代数方程式的根,那么有比拟两式有以下联立方程式如果给出的是实数或共轭复数,那么联立方程式的右边全部为实数。据此可求解出实数。当将特征根指定为以下两组共轭复数时又 利用方程式可列出关于的方程组:利用如下直线一级倒立摆状态空间极点配置MATLAB程序2。clear;syms a s b k1 k2 k3 k4;A=0

24、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 k4;J=-14 0 0 0;0 -14 0 0;0 0 -2-2.74*i 0;0 0 0 -2+2.74*i;ans=A-B*K;P=poly(ans)PJ=poly(J)进入MATLAB Simulink 实时控制工具箱“Googol Education Products翻开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP Experimen

25、t Poles Experiments中的“Poles Control M File2”求解后得K = 。即施加在小车水平方向的控制力:可以看出,和方法一的计算结果一样。方法三:利用爱克曼公式计算爱克曼方程所确定的反响增益矩阵为:其中 利用MATLAB 可以方便的计算,程序如下:直线一级倒立摆状态空间极点配置MATLAB 程序3爱克曼公式clear;A=0 1 0 0;0 0 0 0;0 0 0 1;0 0 24.5 0;B=0 1 0 2.5'M=B A*B A2*B A3*B;J=-14 0 0 0;0 -14 0 0;0 0 -2-2.74*i 0;0 0 0 -2+2.74*i

26、;phi=polyvalm(poly(J),A);K=0 0 0 1*inv(M)*phi 进入MATLAB Simulink 实时控制工具箱“Googol Education Products翻开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP Experiment Poles Experiments中的“Poles Control M File3”运行可以得到:K = 。可以看出,计算结果和前面两种方法一致。方法四:可以直接利用MATLAB的极点配置函数K,PREC,MESSAGE = PLACE(A,B,P)来计算。直

27、线一级倒立摆状态空间极点配置MATLAB 程序4爱克曼公式如下所示。clear;A=0 1 0 0;0 0 0 0;0 0 0 1;0 0 24.5 0;B=0 1 0 2.5'M=B A*B A2*B A3*B;J=-14 0 0 0; 0 -14 0 0; 0 0 -2-2.74*i 0; 0 0 0 -2+2.74*i;phi=polyvalm(poly(J),A);K=0 0 0 1*inv(M)*phi进入MATLAB Simulink 实时控制工具箱“Googol Education Products翻开“Inverted PendulumLinear Inverted P

28、endulumLinear 1-Stage IP Experiment Poles Experiments中的“Poles Control M File4”为匹配place()函数,把-14,-14两个极点改成了-14-0.0001j,-14+0.0001j,因为增加的虚部很小,可以忽略不计,运行得到如下结果:K =。可以看出,以上四种方法计算结果都保持一致。极点配置实验实验步骤如下:(1) 进入MATLAB Simulink 中“ matlab6p5toolboxGoogolTechInvertedPendulum Linear Inverted Pendulum, 目录,翻开直线一级倒立摆状态空间极点配置控制程序如下:进入MATLAB Simulink 实时控制工具箱“Googol Education Products翻开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP ExperimentPoles Experiments中的“Poles Control Demo图3-8状态空间极点配置实时控制程序 图3-9 极点配置控制参数设定(2) 点击“Controller模块设置控制器参数,把前面仿真结果较好的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论