直线一级倒立摆机理建模.docx
《直线一级倒立摆机理建模.docx》由会员分享,可在线阅读,更多相关《直线一级倒立摆机理建模.docx(26页珍藏版)》请在冰豆网上搜索。
直线一级倒立摆机理建模
上海电力学院课程设计报告
课名:
自动控制原理应用实践
题目:
倒立摆控制装置
院系:
自动化工程学院
专业:
测控技术与仪器
班级:
2011151班
姓名:
马玉林
学号:
20112515
时间:
2014年1月14日
倒立摆系统按摆杆数量的不同,可分为一级,二级,三级倒立摆等,多级摆的摆杆之间属于自有连接(即无电动机或其他驱动设备)。
对倒立摆系统的研究能有效的反映控制中的许多典型问题:
如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。
通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。
倒立摆的控制问题就是使摆杆尽快地达到一个平衡位置,并且使之没有大的振荡和过大的角度和速度。
当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。
1.1倒立摆的控制方法
倒立摆系统的输入来自传感器的小车与摆杆的实际位置信号,与期望值进行比较后,通过控制算法得到控制量,再经数模转换驱动直流电机实现倒立摆的实时控制。
直流电机通过皮带带动小车在固定的轨道上运动,摆杆的一端安装在小车上,能以此点为轴心使摆杆能在垂直的平面上自由地摆动。
作用力u平行于铁轨的方向作用于小车,使杆绕小车上的轴在竖直平面内旋转,小车沿着水平铁轨运动。
当没有作用力时,摆杆处于垂直的稳定的平衡位置(竖直向下)。
为了使杆子摆动或者达到竖直向上的稳定,需要给小车一个控制力,使其在轨道上被往前或朝后拉动。
本次设计中我们采用其中的牛顿-欧拉方法建立直线型一级倒立摆系统的数学模型,然后通过开环响应分析对该模型进行分析,并利用学习的古典控制理论和Matlab/Simulink仿真软件对系统进行控制器的设计,主要采用根轨迹法,频域法以及PID(比例-积分-微分)控制器进行模拟控制矫正。
2直线倒立摆数学模型的建立
直线一级倒立摆由直线运动模块和一级摆体组件组成,是最常见的倒立摆之一,直线倒立摆是在直线运动模块上装有摆体组件,直线运动模块有一个自由度,小车可以沿导轨水平运动,在小车上装载不同的摆体组件。
系统建模可以分为两种:
机理建模和实验建模。
实验建模就是通过在研究对象上加上一系列的研究者事先确定的输入信号,激励研究对象并通过传感器检测其可观测的输出,应用数学手段建立起系统的输入-输出关系。
这里面包括输入信号的设计选取,输出信号的精确检测,数学算法的研究等等内容。
鉴于小车倒立摆系统是不稳定系统,实验建模存在一定的困难。
因此,本文通过机理建模方法建立小车倒立摆的实际数学模型,可根据微分方程求解传递函数。
2.1微分方程的推导(牛顿力学方法)
微分方程的推导在忽略了空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如图1所示。
做以下假设:
M小车质量m摆杆质量
b小车摩擦系数I摆杆惯量
F加在小车上的力x小车位置
摆杆与垂直向上方向的夹角
摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)
图2-1直线一级倒立摆模型
系统中小车和摆杆的受力分析图是图2。
其中,N和P为小车与摆杆相互作用力的水平和垂直方向的分量。
注意:
在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图2所示,图示方向为矢量正方向。
图2-2小车及摆杆受力分析
分析小车水平方向所受的合力,可以得到以下方程:
(2-1)
由摆杆水平方向的受力进行分析可以得到下面等式:
(2-2)
即:
(2-3)
把这个等式代入式
(1)中,就得到小车运动方程(第一个运动方程):
(2-4)
为了推出摆杆的运动方程(第二个运动方程),对摆杆垂直方向上的合力进行分析,
可以得到下面方程:
(2-5)
(2-6)
力矩平衡方程如下:
(2-7)
注意:
方程中力矩的方向,由于
(6)和(3)代入(7),约去P和N,得到摆杆运动方程(第二个运动方程):
(2-8)
设
(
是摆杆与垂直向上方向之间的夹角),假设
与1(单位是弧度)相比很小,即
,则可以进行线性化近似处理:
用
来代表被控对象的输入力
,线性化后两个运动方程如下:
进行拉氏变换,得:
(2-9)
由于输出为角度
,求解方程组的第一个方程,可以得到:
,即:
(2-10)
(10)式称为摆杆角度与小车位移的传递函数
如令
,则有:
(2-11)
(11)式称为摆杆角度与小车加速度间的传递函数,由于伺服电机的速度控制易于实现在实验中常采用此式。
把(10)式代入(9)式的第二个方程中,得到:
(2-12)
其中,
(12)式称为摆杆角度与外加作用力间的传递函数
2.2实际系统的模型参数
M:
小车质量1.096kg
m:
摆杆质量0.109kg
b:
小车摩擦系数0.1N/sec
l:
摆杆转动轴心到杆质心的长度0.25m
I:
摆杆惯量0.0034kgm2
代入模型参数得
3开环系统的时域分析
3.1摆杆角度为输出响应的时域分析
本系统采用以小车的加速度作为系统的输入,摆杆角度为输出响应,此时的传递函数为
当输入为小车加速度时摆杆角度的单位阶跃响应
在matlab中建立m文件
oloop1.m
内容如下:
m=[0.02725];
n=[0.01021250-0.26705];
t=0:
0.1:
20;
step(m,n,t)
axis([040100])
图3-1摆杆角度的单位阶跃响应曲线图
当输入为小车加速度时摆杆角度的单位脉冲响应
在matlab中建立m文件命名为
oloop2.m
内容如下:
m=[0.02725];
n=[0.01021250-0.26705];
t=0:
0.1:
20;
impulse(m,n,t)
axis([040100])
图3-2摆杆角度的单位脉冲响应曲线图
3.2小车位置为输出响应的时域分析
采用以小车的加速度作为系统的输入,小车位置为响应,则此时的传递函数为
(3-3)
图3-3小车位置的单位脉冲响应曲线图
图3-4小车位置的单位阶跃响应曲线图
由于以上时域分析中所有的传递函数的响应图都是发散的,所以系统不稳定,需要校正。
四根轨迹设计
4.1原系统的根轨迹分析
本系统采用以小车的加速度作为系统的输入,摆杆角度为输出响应,
2、在matlab中输入以下程序求出传函
clc
clear
A=[0100;0000;0001;0029.40];
B=[0;1;0;3];
C=[1000;0010];
D=0;
Sys=ss(A,B,C,D);
sy=tf(Sys)
结果为1
#1:
---
S^2
3
#2:
-------------------------
s^2-8.882e-016s-29.4
则可知G1(s)=1/s^2;取近似值G2(s)=3/(s^2-29.4)
3、绘制原根轨迹图
num=[1];
den=[100];
rlocus(num,den)
图四:
小车位移根轨迹图
num=[3];
den=[10-29.4];
rlocus(num,den)
图五:
摆杆角度的根轨迹图
4、绘制系统伯德图:
num=3;den=[10-29.4];
ss=tf(num,den);bode(ss)
图六:
摆杆角度的bode图
num=1;den=[100];
ss=tf(num,den);
bode(ss)
图七:
小车位移的bode图
可以看出,系统无零点,有两个极点,并且有一个极点为正。
画出系统闭环
传递函数的根轨迹如图,可以看出闭环传递函数的一个极点位于右半平面,并且有一条根轨迹起始于该极点,并沿着实轴向左跑到位于原点的零点处,这意味着无论增益如何变化,这条根轨迹总是位于右半平面,即系统总是不稳定的。
4.2串联超前校正装置设计
对此系统设计控制器,使得校正后系统的要求如下:
调整时间:
ts=2s
最大超调量:
p《=60%
4.2.1确定闭环期望极点的位置
sigma=0.6;
zeta=(((log(1/sigma))^2)/((pi)^2+(log(1/sigma))^2))^0.5
结果为
zeta=
0.1605
由于原系统存在两个零点处极点,等幅振荡,故取期望阻尼系数满足zeta=0.6,另外,系统过渡过程时间与系统阻尼比和无阻尼自然频率的关系,可选omiga=5。
输入:
zeta=0.6;
omiga=5;
d=[12*zeta*omigaomiga*omiga];
roots(d)
结果为
ans=
-3.0000+4.0000i
-3.0000-4.0000i
4.2.2超前校正传递函数设计
未校正系统的根轨迹在实轴和虚轴上,不通过闭环期望极点,因此需要对系统进行超前校正,设控制器为:
4.2.3校正参数计算
输入:
n0=1;
d0=[100];
s1=-3+4j;
fai0=180-angle(polyval(n0,s1)/polyval(d0,s1))*180/pi
结果为:
fai0=
73.7398
将超前校正网络的零点配置在期望主导极点的正下方,取z=3。
再考虑从超前校正装置的极点位置,由相角条件可知,期望极点与校正装置极点的相角应满足:
fai0+fai1=90,
所以fai1=16.2602。
过s1,做角度为16.26度的直线,计算该直线的实轴的交点:
s1=-3+4j;
fai1=16.26;
p=abs(real(s1))+(abs(imag(s1))/tan(fai1*pi/180))
结果为
p=
16.7145
则超前校正为
Gc1(s)=K1(s+3)/(s+16.7145)
校正后的系统的开环传递函数为
G(s)=K1(s+3)/(s^2*(s+16.7145))
4.2.5matlab环境下串联超前校正后的根轨迹图
num=[13];
den=[116.714500];
rlocus(num,den)
图4-2串联超前校正后系统的根轨迹图
由图可知,系统的三条根轨迹都有位于左半平面的部分,选取适当的K就可以稳定系统。
K1=89.4
4.2.6系统校验动态性能指标
nopen=[89.4268.2];
dopen=[116.714589.4268.2];
ss=tf(nopen,dopen);
step(ss)
串联超前校正后系统的单位阶越响应
由图可知ts<2s,sigma<60%;满足要求
4.3、对于G2(s)
4.3.1确定期望主导极点
sigma=0.6;
zeta=(((log(1/sigma))^2)/((pi)^2+(log(1/sigma))^2))^0.5
结果为
zeta=
0.1605
取期望阻尼系数满足zeta=0.5,另外,系统过渡过程时间与系统阻尼比和无阻尼自然频率的关系,可选omiga=4。
输入:
zeta=0.5;
omiga=4;
d=[12*zeta*omigaomiga*omiga];
roots(d)
结果为
ans=
-2.0000+3.4641i
-2.0000-3.4641i
4.3.2绘制原根轨迹图
num=[3];
den=[10-29.4];
rlocus(num,den)
摆杆角度原根轨迹
原系统根轨迹位于s平面的实轴。
不通过期望主导极点,选择超前校正。
4.3.3计算超前校正产生的超前相角
输入:
n0=3;
d0=[10-29.4];
s1=-2.0000+3.4641i;
fai0=180-angle(polyval(n0,s1)/polyval(d0,s1))*180/pi
结果为:
fai0=
20.3293
将超前校正网络的零点配置在期望主导极点的正下方,取z=2。
再考虑从超前校正装置的极点位置,由相角条件可知,期望极点与校正装置极点的相角应满足:
fai0+fai1=90,所以fai1=69.6707。
过s1,做角度为69.67度的直线,计算该直线的实轴的交点:
输入:
s1=-2+3.4641j;
fai1=69.67;
p=abs(real(s1))+(abs(imag(s1))/tan(fai1*pi/180))
结果为:
p=
3.2835
则超前校正为Gc2(s)=K2(s+2)/(s+3.2835)
校正后的系统的开环传递函数为
G(s)=K2(s+2)/((s^2-29.4)*(s+3.2835))
绘制根轨迹图
nopen=[12];
dopen=conv([10-29.4],[13.2835]);
rlocus(nopen,dopen)
摆赶角度原根轨迹图
由图可知K2=43.2
4.3.5系统校验动态性能指标
nopen=[43.286.4];
dopen=[13.283513.8-10.1349];
ss=tf(nopen,dopen);
step(ss)
摆赶角度原单位原单位阶越响应
由图可知ts<2s,sigma<60%;满足要求。
五频域设计方案:
原系统被控对象传递函数:
该系统伯德图(右图):
num=3;
den=[10-29.4];
ss=tf(num,den);
bode(ss)
摆赶角度原伯德图
由图可知,
=180度PM不存在
系统要求为PM>
,GM>10dB
5.1、若使用超前矫正:
=50-0+10=
α=13.92
5.2、求w
│G(j
)│=1/
w^2=3
+29.4=40.59w=6.37
5.3、求参数T
T=1/(w*sqrt(a))=0.099
Gc(s)=Kc*(1+0.3693s)/(1+0.099s)
=3*Kc*(1+0.3693s)/((1+0.099s)(s^2-29.4))
取Kc=100
用MATLAB进行仿真:
num=[110.79300];
den=conv([129.4],[0.0991]);
ss=tf(num,den);
rltool(ss)
得伯德图:
摆杆角度校正后伯德图
由图可知符合要求。
六、实践总结:
本次实践是建立在自动控制原理的理论学习基础上,而之前也在实验课上学习过MATLAB软件的使用方法,因此我对本次实践作业有着较为清晰的认识。
通过设计PID控制器和频域设计法两种方法按要求调整系统,在实践过程中让我更加深刻的理解了理论课中有关奈氏图、伯德图、相位裕量增益裕量和P、PI、PID控制器的知识点,并通过直线一级倒立摆模型的建模和控制,对自动控制原理这门专业的实际应用有了一些了解。
通过本次实践大大提高了我的专业水平,为今后的专业应用打好了基础。
相信在今后的学习中我将能更好地投入自动化专业的学习和研究。