单级倒立摆系统的建模与控制器设计.docx
《单级倒立摆系统的建模与控制器设计.docx》由会员分享,可在线阅读,更多相关《单级倒立摆系统的建模与控制器设计.docx(29页珍藏版)》请在冰豆网上搜索。
单级倒立摆系统的建模与控制器设计
单级倒立摆系统的建模与控制器设计
摘要:
本文主要研究的是单级倒立摆的建模、控制与仿真问题。
倒立摆是一类典型的快速、多变量、非线性、强耦合、自然不稳定系统。
由于在实际中有很多这样的系统,因此对它的研究在理论上和方法论上均有深远的意义。
本文首先建立了单级倒立摆的数学模型,对其进行了近似线性化处理,得到了它的状态空间描述,并对系统的开环特性进行了仿真和分析。
然后,基于极点配置方法设计了单级倒立摆系统的控制器。
最后,用Matlab对系统进行了数值仿真,验证了所设计的控制算法的有效性。
1、绪论1
2、单级倒立摆系统的建模与分析3
2.1单级倒立摆系统的建模3
2.2单级倒立摆系统的模型分析6
3、单级倒立摆系统的极点配置控制器设计11
3.1单级倒立摆系统控制器设计的目标11
3.2单级倒立摆系统的能控性分析11
3.3单级倒立摆系统的极点配置控制器设计12
3.4闭环系统仿真分析13
4、PID控制器的设计与分析18
4.1、PID控制的基本原理18
4.2、方案设计18
4.3、PID控制设计分析20
4.4、软件仿真调试结果20
4.5、与极点控制器结果对比分析22
5、结论23
致谢24
参考文献25
1、绪论
倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。
对倒立摆系统的研究能有效的反映控制中的许多典型问题:
如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。
通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。
通过对它的研究不仅可以解决控制中的理论和技术实现问题,还能将控制理论涉及的主要基础学科:
力学,数学和计算机科学进行有机的综合应用。
其控制方法和思路无论对理论或实际的过程控制都有很好的启迪,是检验各种控制理论和方法的有效的“试金石”。
倒立摆的研究不仅有其深刻的理论意义,还有重要的工程背景。
在多种控制理论与方法的研究与应用中,特别是在工程实践中,也存在一种可行性的实验问题,使其理论与方法得到有效检验,倒立摆就能为此提供一个从理论通往实践的桥梁,目前,对倒立摆的研究已经引起国内外学者的广泛关注,是控制领域研究的热门课题之一。
倒立摆不仅仅是一种优秀的教学实验仪器,同时也是进行控制理论研究的理想实验平台。
由于倒立摆系统本身具有的高阶次、不稳定、多变量、非线性和强耦合特性,许多现代控制理论的研究人员一直将它视为典型的研究对象,不断从中发掘出新的控制策略和控制方法,相关的科研成果在航天科技和机器人学方面获得了广阔的应用。
二十世纪九十年代以来,更加复杂多种形式的倒立摆系统成为控制理论研究领域的热点,每年在专业杂志上都有大量的优秀论文出现。
因此,倒立摆系统在控制理论研究中是一种较为理想的实验装置。
倒立摆主要应用在以下几个方面:
(1)机器人的站立与行走类似于双倒立摆系统,尽管第一台机器人在美国问世至今已有三十年的历史,机器人的关键技术--机器人的行走控制至今仍未能很好解决。
(2)在火箭等飞行器的飞行过程中,为了保持其正确的姿态,要不断进行实时控制。
(3)通信卫星在预先计算好的轨道和确定的位置上运行的同时,要保持其稳定的姿态,使卫星天线一直指向地球,使它的太阳能电池板一直指向太阳。
(4)侦察卫星中摄像机的轻微抖动会对摄像的图像质量产生很大的影响,为了提高摄像的质量,必须能自动地保持伺服云台的稳定,消除震动。
(5)为防止单级火箭在拐弯时断裂而诞生的柔性火箭(多级火箭),其飞行姿态的控制也可以用多级倒立摆系统进行研究。
由于倒立摆系统与双足机器人、火箭飞行控制和各类伺服云台稳定有很大相似性,因此对倒立摆控制机理的研究具有重要的理论和实践意义。
倒立摆有多种控制方法[1,2]。
对倒立摆这样的一个典型被控对象进行研究,无论在理论上和方法上都具有重要意义。
不仅由于其级数增加而产生的控制难度是对人类控制能力的有力挑战,更重要的是实现其控制稳定的过程中不断发现新的控制方法,探索新的控制理论,并进而将新的控制方法应用到更广泛的受控对象中。
当前,倒立摆的控制方法可分为:
(1)线性理论控制方法
将倒立摆系统的非线性模型进行近似线性化处理,获得系统在平衡点附近的线性化模型,然后再利用各种线性系统控制器设计方法,如PID控制、状态反馈控制、LQR控制等,得到期望的控制器。
(2)非线性理论控制方法
由于线性控制理论与倒立摆系统多变量、非线性之间的矛盾,人们意识到针对多变量、非线性对象,采用具有非线性特性的多变量控制是解决多变量、非线性系统的必由之路。
因此人们先后开展了倒立摆系统的非线性控制方法研究,如文献[3]等。
2、单级倒立摆系统的建模与分析
2.1单级倒立摆系统的建模
单级倒立摆系统的建模属于单一刚性铰链、两自由度动力学问题,因此,依据经典力学的牛顿定律即可满足要求。
在忽略了空气流动,各种摩擦之后,可将倒立摆系统抽象成小车和匀质杆组成的系统,如图1所示。
图1单级倒立摆模型示意图
图1中,各量的含义如下:
M小车质量0.5Kg
m摆杆质量0.2Kg
l摆杆转动轴心到杆质心的长度0.3m
I摆杆惯量0.006kg·m2
F加在小车上的力
x小车位移
φ摆杆与垂直向上方向的夹角
θ摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)
下面对这个系统进行受力分析。
下图2是系统中小车和摆杆的受力分析图。
其中,N和P为小车与摆杆相互作用力的水平和垂直方向的分量。
图2倒立摆模型受力分析
应用Newton方法来建立系统的动力学方程过程如下所述。
分析小车水平方向所受的力,可以得到以下方程:
(1)
由摆杆水平方向的受力进行分析可以得到下面等式:
(2)
即
(3)
把式(3)代入式
(1)中,得系统的第一个运动方程:
(4)
对摆杆垂直方向上的受力进行分析,可以得到下面方程:
(5)
即
(6)
摆杆的力矩平衡方程如下:
(7)
合并方程(6)和(7),约去
和
,并由
得到系统的第二个运动方程:
(8)
设
(
是摆杆与垂直向上方向之间的夹角),假设
与1(单位是弧度)相比很小,即
<<1,则可以进行近似处理:
,
,
。
用
来代表被控对象的输入力
,线性化后两个运动方程如下:
(9)
方程组(9)对
解代数方程,得到解如下:
(10)
令
,
,
,
于是可得系统的状态空间表达式如下所示:
(11)
2.2单级倒立摆系统的模型分析
根据小车质量,摆杆质量,摆杆转动轴心到杆质心的长度和摆杆质量的具体数值,用Matlab求出系统的状态空间方程各矩阵,其m-文件内容如下所示:
程序1:
M=0.5;
m=0.2;
I=0.006;
g=9.8;
l=0.3;
A=[0100
003*M*g/(4*M+m)0
0001
003*(M+m)*g/((4*M+m)*l)0];
B=[0
4/(4*M+m)
0
3/((4*M+m)*l)];
C=[1000
0010];
D=[0
0];
执行上面的文件,就可以在Matlab的命令窗口中得到如下所示的系统状态空间方程的A,B,C和D矩阵:
a=
x1x2x3x4
x10100
x2006.6820
x30001
x40031.180
b=
u1
x10
x21.818
x30
x44.545
c=
x1x2x3x4
y11000
y20010
d=
u1
y10
y20
Continuous-timemodel.
根据经验可知,对于一阶倒立摆,如果没有加以控制,当摆杆有一个小的偏角时,或者摆杆初始位置在竖直状态但小车受到一个初始干扰外力,摆杆必然会倒下来,也就是说,上述倒立摆模型中的零平衡点是不稳定平衡点。
下面我们将进一步通过Matlab仿真来对这一现象进行考证。
首先,我们考证摆杆不受外力干扰,但是摆杆有一个小的初始偏角的情况。
源程序如下:
程序2:
M=0.5;
m=0.2;
I=0.006;
g=9.8;
l=0.3;
A=[0100
003*M*g/(4*M+m)0
0001
003*(M+m)*g/((4*M+m)*l)0];
B=[0
4/(4*M+m)
0
3/((4*M+m)*l)];
C=[1000
0010];
D=[0
0];
T=0:
0.005:
10;
U=zeros(size(T));
X0=[000.0010];
[Y,X]=lsim(A,B,C,D,U,T,X0);
plot(T,Y(:
1),T,Y(:
2),'-.')
axis([02.50100])
gridon
于是可以得到系统的开环初值响应的曲线如下:
图3系统开环初值响应曲线
由系统的开环初值响应曲线可知,系统是不稳定的,这与我们的经验是相符合的。
其次,我们考证摆杆初始位置在竖直状态,但是小车受到一个脉冲干扰的情况。
源程序如下:
程序3:
M=0.5;
m=0.2;
I=0.006;
g=9.8;
l=0.3;
A=[0100
003*M*g/(4*M+m)0
0001
003*(M+m)*g/((4*M+m)*l)0];
B=[0
4/(4*M+m)
0
3/((4*M+m)*l)];
C=[1000
0010];
D=[0
0];
T=0:
0.005:
10;
U=zeros(size(T));
U
(1)=0.1;
X0=[0000];
[Y,X]=lsim(A,B,C,D,U,T,X0);
plot(T,Y(:
1),T,Y(:
2),'-.')
axis([02.50100])
gridon
于是可以得到系统的开环脉冲干扰响应的曲线如下:
图4系统开环脉冲响应曲线
由系统的开环脉冲干扰响应曲线可知,系统是不稳定的,这与我们的经验也是相符合的。
最后,我们通过比较严格的手段来分析系统的稳定性。
我们知道,线性定常系统的稳定性由系统矩阵的特征值决定,若系统矩阵的特征值的实部均不大于零,则系统就是稳定的;否则系统就是不稳定的。
下面,我们将根据开环系统矩阵的特征值来判断开环系统的的稳定性。
求开环系统矩阵特征值的Matlab源程序为:
程序4:
M=0.5;
m=0.2;
I=0.006;
g=9.8;
l=0.3;
A=[0100
003*M*g/(4*M+m)0
0001
003*(M+m)*g/((4*M+m)*l)0];
B=[0
4/(4*M+m)
0
3/((4*M+m)*l)];
C=[1000
0010];
D=[0
0];
Eig(A)
于是,我们可以得到如下结果:
ans=
0
0
5.5841
-5.5841
显然,因为系统有一个特征值为正实数5.5841,故系统是不稳定的。
3、单级倒立摆系统的极点配置控制器设计
3.1单级倒立摆系统控制器设计的目标
在本设计中,单级倒立摆系统控制器设计的目标是:
通过对小车的左右移动使得摆杆保持在竖直的位置。
且对于小车所给的阶跃输入信号,满足如下设计指标:
●小车位置x和摆杆角度θ的稳定时间小于5秒;
●位置x的上升时间小于0.5秒;
●摆杆角度的超调量小于20度(0.35弧度)。
3.2单级倒立摆系统的能控性分析
本论文采用极点配置法设计倒立摆系统的控制器。
为此,首先需要分析系统的能控性。
下面采用matlab来分析系统的能控性,接代码1,其源代码如下:
程序5:
M=0.5;
m=0.2;
I=0.006;
g=9.8;
l=0.3;
A=[0100
003*M*g/(4*M+m)0
0001
003*(M+m)*g/((4*M+m)*l)0];
B=[0
4/(4*M+m)
0
3/((4*M+m)*l)];
C=[1000
0010];
D=[0
0];
CM=ctrb(A,B);
rank(CM)
于是,我们可以得到如下结果:
ans=4
于是,可以得知系统的能控性矩阵的秩为4,因此该系统是能控的。
故可以采用极点配置法设计倒立摆系统的控制器。
3.3单级倒立摆系统的极点配置控制器设计
为了满足给定的设计指标,我们选取系统的闭环主导极点为:
其它极点为:
设系统的全状态反馈控制律为:
其中,v为外部参考输入信号,增益矩阵K采用极点配置方法进行求取,可以采用Matlab中的函数来直接进行计算。
采用Matlab求取极点配置控制器源程序如下:
程序6:
M=0.5;
m=0.2;
I=0.006;
g=9.8;
l=0.3;
A=[0100
003*M*g/(4*M+m)0
0001
003*(M+m)*g/((4*M+m)*l)0];
B=[0
4/(4*M+m)
0
3/((4*M+m)*l)];
C=[1000
0010];
D=[0
0];
P=[-2.1+6.6776j-2.1-6.6776j-16.8+6.6776j-16.8-6.6776j];
K=place(A,B,P)
运行上述代码可以得到如下结果:
K=-608.4115-114.6973363.953754.1949
闭环系统的状态空间表达式如下所示:
(12)
其中,
3.4闭环系统仿真分析
为了验证我们所设计的控制器的有效性,我们就需要对闭环系统进行仿真分析。
首先,我们考察摆杆不受外力干扰,但是摆杆有一个小的初始偏角的情况。
源程序如下:
程序7:
M=0.5;
m=0.2;
I=0.006;
g=9.8;
l=0.3;
A=[0100
003*M*g/(4*M+m)0
0001
003*(M+m)*g/((4*M+m)*l)0];
B=[0
4/(4*M+m)
0
3/((4*M+m)*l)];
C=[1000
0010];
D=[0
0];
P=[-2.1+6.6776j-2.1-6.6776j-16.8+6.6776j-16.8-6.6776j];
K=place(A,B,P);
Ac=A-B*K;
Cc=C-D*K;
T=0:
0.005:
10;
U=zeros(size(T));
X0=[000.10];
[Y,X]=lsim(Ac,B,Cc,D,U,T,X0);
plot(T,Y(:
1),T,Y(:
2),'-.')
axis([02.50100])
gridon
于是可以得到系统的闭环初值响应的曲线如下:
图5系统开环初值响应曲线
由系统的闭环初值响应曲线可知,系统是稳定的,摆杆在有初始偏角的情况下能保持在竖直位置。
其次,我们考证摆杆初始位置在竖直状态,但是小车受到一个脉冲干扰的情况。
源程序如下:
程序8:
M=0.5;
m=0.2;
I=0.006;
g=9.8;
l=0.3;
A=[0100
003*M*g/(4*M+m)0
0001
003*(M+m)*g/((4*M+m)*l)0];
B=[0
4/(4*M+m)
0
3/((4*M+m)*l)];
C=[1000
0010];
D=[0
0];
T=0:
0.005:
10;
U=zeros(size(T));
U
(1)=0.1;
X0=[0000];
[Y,X]=lsim(A,B,C,D,U,T,X0);
plot(T,Y(:
1),T,Y(:
2),'-.')
gridon
于是可以得到系统的闭环环脉冲干扰响应的曲线如下:
图6系统开环脉冲响应曲线
由系统的开环脉冲干扰响应曲线可知,闭环系统是稳定的,摆杆在小车受到脉冲干扰的情况下能保持在竖直位置。
最后,我们考察闭环系统的阶跃响应。
相应的源代码如下:
程序9:
M=0.5;
m=0.2;
I=0.006;
g=9.8;
l=0.3;
A=[0100
003*M*g/(4*M+m)0
0001
003*(M+m)*g/((4*M+m)*l)0];
B=[0
4/(4*M+m)
0
3/((4*M+m)*l)];
C=[1000
0010];
D=[0
0];
T=0:
0.005:
10;
U=ones(size(T));
[Y,X]=lsim(A,B,C,D,U,T);
plot(T,Y(:
1),T,Y(:
2),'-.')
gridon
于是可以得到闭环系统的阶跃响应的曲线如下:
图7闭环系统阶跃响应曲线
由闭环系统的阶跃响应曲线可知,对x和θ的过渡过程时间为小于5s,对x的上升时间小于0.5s,θ的最大摆度为0.0068,全部符合性能指标要求。
仿真结果验证了,我们所设计的极点配置控制器的有效性。
4、PID控制器的设计与分析
4.1、PID控制的基本原理
PID控制电路的主要原理是将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制。
表1:
各个控制环节的特点及作用
环节名称
特点及作用
比例控制(P)
减少了系统稳态误差,提高了系统精度,但是降低了系统的相对稳定性。
积分控制(I)
在系统前向通道加入积分环节,提高系统的类型,改善系统的稳定性能,但是,同样会降低系统的相对稳定性,对系统的动态分析不利。
比例+微分控制(PD)
比例加微分控制引入了开环零点,从而增加了系统的相角裕度,提高了系统的相对稳定性,改善了动态性能。
比例+积分+微分(PID)
在比例+积分+微分的控制中,系统被引入了两个零点,使系统的相角裕度大大提高,特别适用于大惯性环节。
4.2、方案设计
M小车质量0.5Kg
m摆杆质量0.2Kg
l摆杆转动轴心到杆质心的长度0.3m
I摆杆惯量0.006kg·m2
F加在小车上的力
x小车位移
φ摆杆与垂直向上方向的夹角
θ摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)
由以下公式计算
(13)
将式子(13)进行拉普拉斯变换得到公式
(14)
由于输出为角度φ,求解方程组的第一个方程,可以得到
(15)
角度与位置的传递函数:
(16)
如果令V=X’’,得到角度与速度的传递函数:
(17)
把上式代入方程组的第二个方程,得到:
(18)
整理后得到传递函数:
(19)
4.3、PID控制设计分析
首先,对于倒立摆系统输出量为摆杆的角度,它的平衡位置为垂直向上的情
况。
系统控制结构框图8如下:
图8:
系统控制框图
图中KD(s)是控制器传递函数,G(s)是被控对象传递函数。
考虑到输入r(s)=0,结构图可以很容易的变换成:
图9:
控制器传递函数
4.4、软件仿真调试结果
图10:
KP=10,Ki=5,Kd=10时系统仿真图
图11:
KP=10,Ki=10,Kd=5时系统仿真图
图12:
KP=10,Ki=10,Kd=1时系统仿真图
图13:
KP=80,Ki=20,Kd=1时系统仿真图
由以上仿真图可以看出PID的不同值,可以得到不同的控制结果:
表2:
不同参数对系统性能的影响
4.5、与极点控制器结果对比分析
通过与极点配置器的仿真结果对比分析,两种控制方法得到相似的控制结果。
两种控制结果相吻合。
5、结论
本文研究了单级倒立摆的建模、控制与仿真问题。
首先建立了单级倒立摆的数学模型,对其进行了近似线性化处理,得到了它的状态空间描述,并对系统的开环特性进行了仿真和分析。
然后,基于极点配置方法设计了单级倒立摆系统的控制器。
最后,用对系统进行了数值仿真分析,仿真结果验证了所设计的控制器的有效性。
致谢
经过一个学期的学习,以及在廉自生老师的指导下,我们小组成员经过团结协作完成了对单级倒立摆系统的仿真与控制。
感谢在完成论文过程中给予我们帮助的廉自生老师以及给予我们宝贵意见的其他同学!
参考文献
[1]薛安客,王俊宏.倒立摆控制仿真与实验研究现状[J].杭州电子工业学院学学报.2002,21(6):
25-27.
[2]吕庆莉.单级倒立摆系统分析与设计. 陕西科技大学学报.2009,27(6):
121-128.
[3]李洪兴,苗志宏,王加银.四级倒立摆系统的变论域自适应模糊控制.中国科学E辑.2002,32
(1):
65-75.
[4]王正林,郭阳宽.过程控制与Simulink应用[M].北京:
电子工业出版社,2006,52-71.
[5]黄忠霖.控制系统MATLAB计算及仿真[M].北京:
国防工业出版社,2006.
[6]黄永安,马路,刘慧敏.MATLAB7.0/Simulink6.0建模仿真开发与高级工程应用[M].北京:
清华大学出版社,2005.