课程设计说明书(论文)
课程名称:设计题目:直线一级倒立摆控制器设计院 系:航天学院控制科学与工程系班 级:设 计 者:学 号:指导教师:设计时间:
控制系统设计课程设计 1304105 xxxxxx 1130410502 周乃新 2016.7.1——2016.7.15
哈尔滨工业大学教务处
1
目录 一、任务书…………………………………………………………………………………………….(3) 二、理论模型建立和分析………………………………………………………………………….....(6) 2.1数学模型的建立………………………………………..........................................................(6)
2.1.1 微分方程的推导……………………………..……....................................................(6) 2.1.2 微分方程模型……………………………..……..........................................................(7) 2.2传递函数 ……………………………..……............................................................................(7) 2.3状态空间数学模型……………………………..……............................................................(8) 2.4实际系统的数学模型……………………………..……........................................................(9) 三、PID控制器设计与调节……………………………..…….............................................................(10) 3.1 开环系统的阶跃响应……………………………..……........................................................(10) 3.2 PID控制器各个校正环节对系统的影响……………………………................................(10) 3.3 PID控制参数设定及MATLAB仿真……………………………...........................................(11) 3.4 PID控制实验…………………………….................................................................................(12) 四、状态空间极点配置控制器设计……………………………............................................................(14) 4.1 极点位置的确定……………………………...........................................................................(14) 4.2 状态反馈及MATLAB仿真………………………………………………...............................(14)
4.2.1 MATLAB下的仿真……………………………............................................................(14) 4.2.2 Simulink下的仿真……………………………........................................................(15) 4.3 极点配置控制实验……………………………......................................................................(16) 五、设计结论与心得体会……………………………...........................................................................(17) 2
哈尔滨工业大学课程设计任务书 姓 名: xxxxxx 院 (系):航天学院控制科学与工程系 专 业: 自动化 班 号:1304105 任务起至日期: 2016 年 7 月 1 日至 2016 年 7 月 15 日 课程设计题目: 直线一级倒立摆控制器设计 已知技术参数和设计要求: 本课程设计的被控对象采用固高公司的直线一级倒立摆系统GIP-100-L。 系统内部各相关参数为: M小车质量 0.5 Kg ;m摆杆质量0.2 Kg ;b小车摩擦系数0.1 N/m/sec ; l摆杆转动轴心到杆质心的长度0.3 m ;I摆杆惯量0.006 kg*m*m ;T采样时间0.005秒。 设计要求: 1.推导出系统的传递函数和状态空间方程。用Matlab进行阶跃输入仿真,验证系统的稳定性。 2.设计PID控制器,使得当在小车上施加0.1N的脉冲信号时,闭环系统的响应指标为: (1)稳定时间小于5秒; (2)稳态时摆杆与垂直方向的夹角变化小于0.1 弧度。 3.设计状态空间极点配置控制器,使得当在小车上施加0.2m的阶跃信号时,闭环系统的响应指标为: (1)摆杆角度和小车位移x的稳定时间小于3秒 (2)x的上升时间小于1秒 (3)的超调量小于20度(0.35弧度) (4)稳态误差小于2%。 工作量: 1. 建立直线一级倒立摆的线性化数学模型; 2. 倒立摆系统的PID控制器设计、MATLAB仿真及实物调试; 3. 倒立摆系统的极点配置控制器设计、MATLAB仿真及实物调试。 3
工作计划安排: 第1周 (1)建立直线一级倒立摆的线性化数学模型; (2)倒立摆系统的PID控制器设计、MATLAB仿真; (3)倒立摆系统的极点配置控制器设计、MATLAB仿真。 (4)实物调试; (5)撰写课程设计论文。 同组设计者及分工: 指导教师签字___________________ 年 月 日 教研室主任意见: 教研室主任签字___________________ 年 月 日 4
*注:此任务书由课程设计指导教师填
5
二、 理论模型建立和分析
系统建模可以分为两种:机理建模和实验建模。实验建模就是通过在研究对象上加上一系列的研究者事先确定的输入信号,激励研究对象并通过传感器检测其可观测的输出,应用数学手段建立起系统的输入-输出关系。这里面包括输入信号的设计选取,输出信号的精确检测,数学算法的研究等等内容。机理建模就是在了解研究对象的运动规律基础上,通过物理、化学的知识和数学手段建立起系统内部的输入-状态关系。
对于倒立摆系统,由于其本身是自不稳定的系统,实验建模存在一定的困难。但是经过小心的假设忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可以在惯性坐标系内应用经典力学理论建立系统的动力学方程。下面我们采用其中的牛顿-欧拉方法建立直线型一级倒立摆系统的数学模型。
2.1 数学模型的建立
2.1.1 微分方程的推导
在忽略了空气阻力,各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆
组成的系统. 下图是系统中小车和摆杆的受力分析图。其中,N和P为小车与摆杆水平和垂直方向的分量。
PNFMbx ImgN θp
图2.1(a)小车隔离受力图 (b)摆杆隔离受力图
本系统相关参数定义如下:
M : 小车质量 m:摆杆质量
b:小车摩擦系数 l:摆杆转动轴心到杆质心的长度 I:摆杆惯量 F:加在小车上的力
x:小车位置 φ:摆杆与垂直向上方向的夹角
θ:摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)
注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图所示,图示方向为矢量正方向。
分析小车水平方向所受的合力,可以得到以下方程:
MxFbxN (2-1) 由摆杆水平方向的受力进行分析可以得到下面等式:
d2Nm2xlsin dt (2-2)
6
即 Nmxmlcosml2sin (2-3)
把这个等式代入上式中,就得到系统的第一个运动方程:
Mmxbxmlcosml2sinF (2-4)
为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:
d2Pmgm2lcos
dt (2-5)
即
Pmgmlsinml2cos
(2-6)
力矩平衡方程如下: PlsinNlcosI (2-7)
,coscos,sinsin,故等
注意:此方程中力矩的方向,由于式前面有负号。
合并这两个方程,约去P和N ,得到第二个运动方程:
Imlmglsinmlx22cos
(2-8)
2.1.2微分方程模型
设𝜃=𝜋+𝜙(𝜙是摆杆与垂直向上方向之间的夹角),假设与1(单位是弧度)相比很小,即𝜙≪1,则可以进行近似处理:cos1,sin,(控对象的输入力F ,线性化后两个运动方程如下:
d2)0。用u来代表被dtMmxbxmlu 2Imlmglmlx (2-9)
2.2传递函数
对以上微分方程组进行拉普拉斯变换,得到
22MmX(s)sbX(s)ml(s)sU(s) 222Iml(s)smgl(s)mlX(s)s (2-10)
推导传递函数时假设初始条件为0。
由于输出为角度为𝜙,求解方程组上述方程组的第一个方程,可以得到
Iml2gX(s)2(s)mls (2-11)
或者
7
(s)mls2X(s)Iml2s2mgl如果令x,则有
(2-12)
(s)mlV(s)Iml2s2mgl把上式代入10式,则有:
(2-13)
Iml2gIml2g(s)s2b2(s)sml(s)s2U(s)Mmmlsmls
(2-14)
整理:
G1(s)(s)U(s)s4bIml2qml2sqs3Mmmgls2bmglsqq
(2-15)
22 qMmImlml其中2.3状态空间数学模型
由现代控制理论原理可知,控制系统的状态空间方程可写成如下形式:
(2-16)
代入方程组得
(2-17
整理后得到系统状态空间方程:
8
.0x:0x.0:01-(I+ml2)bI(Mm)Mml20-mblI(Mm)Mml20m2gl2I(Mm)Mml20mgl(Mm)I(Mm)Mml20.0x2(I+ml)0:2xI(Mm)Mml.u 10:ml02I(Mm)Mml.xy1000:x00010.0u
:由(4-9)的第一个方程为:
(Iml2)mglmlx
对于质量均匀分布的摆杆有:
I13ml2
于是可以得到:
(13ml2ml2)mglmlx 化简得到:
𝜙=
3𝑔3
4𝑙𝜙+4𝑙𝑥̈ 设XxxX=[xẋϕϕ]T,则有系统状态空间方程:
.x0100xx00000:x.1.0001' .0u003g03:4l:4l.xy1000x:0010.0u 0:2.4实际系统的数学模型
实际系统的参数如下:
M 小车质量 0.5 Kg
9
2-19)
2-20)
2-21)
(2-22)
(2-23) (((
m 摆杆质量 0.2 Kg
b 小车摩擦系数 0.1 N/m/sec
l 摆杆转动轴心到杆质心的长度 0.3 m
I 摆杆惯量 0.006 kg*m*m T 采样时间 0.005s
把上述参数代入式(1-13)中,可以得到实际传递函数模型
∅(𝑠)0.06
= 𝑉(𝑠)0.024𝑠2+0.588把上述参数代入式(1-23)中,可以得到实际状态空间模型
𝑥̇0𝑥̈
[]=[0∅0
0∅1
y=[
0
100000024.5
𝑥00
0][𝑥̇]+[1]𝑢
∅01
24.50∅𝑥
0000𝑥̇
][∅]+[]𝑢
0010∅三、PID控制器设计与调节
3.1 开环系统的阶跃响应
搭建Simulink模型,得到开环时的响应曲线如下:
图3.1 直线一级倒立摆单位阶跃响应
可以看出,单位阶跃响应作用下系统响应是发散的。因此,需要对系统进行闭环PID控制。
3.2 PID控制器各个校正环节对系统的影响
简单来说,PID控制器各个校正环节的作用如下:
(1) 比例环节:成比例的反应控制系统的偏差信号e(t),偏差一旦产生,控制器立即产
生控制作用,以减少偏差。
(2)积分环节:主要用于消除稳态误差,提高系统的型别。积分作用的强弱取决于积分时
间常数T1,T1越大,积分作用越弱,反之则越强。
(3) 微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,
在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。 根据上述PID对系统性能的影响来调节PID参数。
10
其中PID控制的优点为:PID控制优点明显,应用广泛。PID能消除稳态误差;同时可以减少超调量,克服振荡,使系统的稳定性提高;并且能加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。
PID控制的缺点为:PID控制的过度期比较长,上升过程中波动明显;当然,较好的PID控制效果是以已知被控对象的精确数学模型为前提的,当被控对象的数学模型未知时,PID控制的调试将会有很大的难度。
3.3 PID控制参数设定及MATLAB仿真
对于PID控制参数,我们采用以下方法进行设定。 由实际系统的物理模型:
∅(𝑠)0.06
= 𝑉(𝑠)0.024𝑠2+0.588 在Simulink中建立如图3.2所示的直线一级倒立摆模型:
图3.2 直线一级倒立摆PID控制MATLAB仿真模型
经多组调试后,选取一组较为合适的参数Kp=39,Ki=18,Kd=10。得到以下仿真结果:
图3.3 直线一级倒立摆PID控制仿真结果图(Kp=39,Ki=18,Kd=10)
小车输出位置的曲线如图3.4所示:
图3.4 直线一级倒立摆PID控制仿真结果图(小车位置)
11
可以看出,由于PID控制器为单输入单输出系统,所以只能控制摆杆角度,不能控制小车位置,所以小车会往一个方向运动。
此外也可以由M文件的方法进行仿真。程序如下:
M = 0.5; m = 0.2; b = 0.1; I = 0.006; g = 9.8; l = 0.3; num1 = [m*l];
den1 = [(I+m*l^2) 0 -m*g*l]; Kp = 39; Ki = 18; Kd = 10;
numPID = [Kd Kp Ki]; denPID = [1 0];
num = conv(num1,denPID);
den = polyadd(conv(denPID,den1),conv(numPID,num1 )); [r,p,k] = residue(num,den); s = p t=0:0.005:5;
impulse(0.1*num,den,t) grid
运行后得到如下仿真结果:
x 10-3Impulse Response1086Amplitude420-200.511.522.533.544.55Time (seconds)
图3.5 直线一级倒立摆PID控制MATLAB仿真结果图(脉冲干扰)
3.4 PID控制实验
MATLAB下直线一级倒立摆PID控制界面如图3.6所示
12
图3.6 直线一级倒立摆实时控制程序主界面
双击PID模块进行参数设置:
图3.7 输入参数(Kp=39,Ki=18,Kd=10)
运行后实验结果如3.8图所示:
图3.8 直线一级倒立摆PID控制实验结果图(施加干扰)
从图中可以看出,没有外界干扰时稳态误差在0.01弧度以下,满足要求指标。稳态时间在0.9秒左右,也满足要求指标。系统能够很好的抵抗外界干扰。从图中可以看出,倒立摆可以实现较好的稳定性,摆杆的角度在3.14(弧度)左右。PID 控制器并不能对小车的位置进行控制,小车会沿滑杆单向滑动。
13
四、状态空间极点配置控制器设计
4.1 极点位置的确定
根据要求的性能指标设计闭环主导极点,设超调量小于16.3%,调整时间小于2s
12pe0.163 (4-1)
ts4w2 ntrwn12=0.804 闭环主导极点横坐标 −ξ𝜔𝑛=2
闭环主导极点横坐标 ±𝜔𝑛√1−𝜉2=±2√3 另外两个极点的位置设为(-12,0)和(-12,0)。
4.2 状态反馈及MATLAB仿真
4.2.1 MATLAB下的仿真
确定极点后,可以利用程序计算出反馈控制率K 直线一级倒立摆状态空间极点配置程序:
M = 0.5; m = 0.2; b = 0.1; I = 0.006; g = 9.8; l = 0.3;
q = (M+m)*(I+m*l^2)-(m*l)^2; 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=[ -12 0 0 0; 0 -12 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 A^2*B A^3*B]; W=[ pa(4) pa(3) pa(2) 1; pa(3) pa(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)
14
4-2) 4-3)
( (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),'-')
legend('CartPos','CartSpd','PendAng','PendSpd') hold off grid
运行得到结果:
0.80.60.40.20-0.2-0.4-0.6-0.8-1-1.2 00.511.522.533.544.55CartPosCartSpdPendAngPendSpd
图4.1 极点配置仿真结果
反馈控制率K =[-94.0408 -39.1837 149.8163 26.8735]
4.2.2 Simulink下的仿真
打开直线一级倒立摆的仿真模型:
图4.2 直线一级倒立摆状态空间极点配置Simulink仿真界面
打开状态反馈矩阵K的设置窗口,并将计算的K值输入窗口得到如下曲线:
15
图4.3 直线一级倒立摆状态空间极点配置Simulink仿真结果
对小车施加0.1N的脉冲信号,得图示变化曲线。从上述仿真结果可以看出,在给定系统干扰的情况下,倒立摆可以在2s内很好的回到平衡位置,并且小车的位置也是可控的,满足设计要求。
4.3 极点配置控制实验。
打开零极点配置实时控制程序:
图4.4 直线一级倒立摆状态空间极点配置实时控制程序主界面
将仿真好的反馈控制矩阵K代入:
图4.5 极点配置控制参数设定对话框
在给定倒立摆干扰后,系统响应如下图所示:
16
图4.6 状态空间极点配置实时控制结果(平衡)
从上图可以看出摆杆角度和小车位移时间约为2.7秒,上升时间约为0.75秒,超调量约为0.02弧度,稳态误差约为0.3%,全部满足指标。
上式给出的状态反馈控制器,可以使处于任意初始状态得系统稳定在平衡状态,即所有状态变量都可以稳定在零状态。这意味着即使在初始状态或因存在外干扰时,摆杆稍有倾斜或小车偏离基准位置,依靠该状态反馈控制可以使摆杆垂直竖立,使小车保持在基准位置。
相对平衡状态的偏移,得到迅速修正的程度要依赖于指定的特征根的值。一般来说,将指定的特征跟配置在原点的左侧,离原点越远,控制动作就越迅速,但相应地需要更大的控制力和快速的灵敏度。特征根越往复平面的左侧配置,K值就越大。
五、设计结论与心得体会
由于倒立摆存在开环不稳定性,即倒立摆的平衡状态只有两个,即在垂直向上的状态和垂直向下的状态,其中垂直向上为绝对不稳定的平衡点,垂直向下为稳定的平衡点。所以要采用PID闭环控制。通过多组PID实验,当取值为Kp=39,Ki=18,Kd=10时,可以满足动态指标。
在进行状态反馈矩阵设计时,先根据二阶系统的动态性能指标计算出闭环主导极点,然后进行实验。通过实验得出结论,当设计闭环主导极点为-2±2√3时系统满足动态性能指标和稳态误差。
通过这次试验使我对PID有了更深的了解,以往都以为是简单地试凑,现在知道了P、I、D的各个参数对系统的影响,调节系统时就有了方向。
熟悉了建立数学模型的方法——数学建模。这次试验让我能够接触到了多种数学模型——微分方程、传递函数和状态空间模型
对MATLAB和Simulink的使用更加熟练。
17
因篇幅问题不能全部显示,请点此查看更多更全内容