倒立摆系统的控制算法及仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
倒立摆系统的控制算法及仿真
1.1 倒立摆控制算法
1.1.1 倒立摆控制算法概述
单级倒立摆的稳定控制,实际上是一单输入多输出系统的稳定控制。
此时系统输入是电机控制电压u,输出是倒立摆竖直方向角度θ和旋臂位置ϕ。
对方程(2.5)进行变形即得θ与u 之间的输入输出方程,很明显,它是一个不稳定的二阶系统。
控制倒立摆使之稳定的方法很多,当前已有的倒立摆控制规律可总结为:
(1)PID控制,通过对倒立摆物理模型的分析,建立倒立摆的动力学模型,然后使用状态空间理论推导出其非线性模型,再在平衡点处进行线性化得到倒立摆系统的状态方程和输出方程,于是就可设计出PID控制器实现其控制;
(2)状态反馈H∞控制,通过对倒立摆物理模型的分析,建立倒立摆的动力学模型,然后使用状态空间理论推导出状态方程和输出方程,于是就可应用H∞状态反馈和Kalman 滤波相结合的方法,实现对倒立摆的控制;
(3)利用云模型实现对倒立摆的控制,用云模型构成语言值,用语言值构成规则,形成一种定性的推理机制。
这种拟人控制不要求给出被控对象精确的数学模型,仅仅依据人的经验、感受和逻辑判断,将人用自然语言表达的控制经验,通过语言原子和云模型转换到语言控制规则器中,就能解决非线性问题和不确定性问题;
(4)神经网络控制,业已证明神经网络(NeuralNetwork ,NN) 能够任意充分地逼近复杂的非线性关系,NN 能够学习与适应严重不确定性系统的动态特性,所有定量或定性的信息都等势分布贮存于网络内的各种神经元,故有很强的鲁棒性和容错性,也可将Q学习算法和BP神经网络有效结合,实现状态未离散化的倒立摆的无模型学习控制;
(5)遗传算法( Genetic Algorithms , GA),高晓智在Michine 的倒立摆控制Boxes 方案的基础上,利用GA 对每个BOX 中的控制作用进行了寻优,结果表明GA可以有效地解决倒立摆的平衡问题;
(6)自适应控制,主要是为倒立摆设计出自适应控制器;
(7)模糊控制,主要是确定模糊规则,设计出模糊控制器实现对倒立摆的控制;
(8)使用几种智能控制算法相结合实现倒立摆的控制,比如模糊自适应控制,分散鲁棒自适应控制等等,
(9)采用GA 与NN 相结合的算法,首先建立倒立摆系统的数学模型,然后为其设计出神经网络控制器,再利用改进的贵传算法训练神经网络的权值,从而实现对倒立摆的控制,采用GA 学习的NN 控制器兼有NN 的广泛映射能力和GA 快速收敛以及
增强式学习等性能。
1.1.2 ZWP-Ⅱ型倒立摆常用控制算法
倒立摆的稳定性控制可考验各种控制算法是否合理可靠。
一般而言,能使倒立摆获得较好控制性能的控制器是性能优良的控制器。
倒立摆作为典型的控制对象,使系统稳定的控制方法很多,控制器的实现方法也是多种多样。
目前,在ZWP-Ⅱ型倒立摆系统实现了的控制有:
(1)状态反馈确定系统的理想极点位置方法;
(2)最优控制方法;
(3)模糊控制方法;
(4)经典PID控制方法。
1.1.3 倒立摆系统控制算法小结
对于上一节的论述,在控制规律概述中(4)~(9) 等几类智能控制算法,目前在理论上仍不成熟,且由于算法相对复杂在实际系统中难于实现[5]。
利用最优控制策略中的LQR调节器和最优控制策略中的LQY 调节器,LQY控制器具有较优的鲁棒性及瞬态特性,LQR 控制器具有较优的稳态特性。
基于状态方程的极点配置法实质上是对上述状态变量的输入进行加权运算后,获得电机的控制电压U的。
采用基于状态方程的极点配置方法时,其典型步骤是:首先将系统矩阵离散化,再由性能指标确定连续期望极点再转化为离散期望极点,然后结合二者求出状态反馈阵。
由离散化后的矩阵和离散期望极点求系统特征多项式来求各状态反馈系数。
理论上模糊控制不需要被控对象的精确数学模型,可以由人的直觉和经验来确定模糊控制规则,但多次仿真证明, 倒立摆的模糊控制规则很难确定. 原因在于,对倒立摆的任一给定位置,难以确定用多大的力来使它稳定,甚至连力的方向都无法确定,如果控制规则不全,系统极易失控。
故模糊控制中,模糊规则的获取是关键问题。
对于单级倒立摆的任意位置,虽无法确定所需控制力的大小和方向,但若把摆杆控制范围限定在一定区域内,则可在这个区域内选定若干参考位置,用极点配置法或最优控制法算出稳定每个参考位置所需的力,当摆处于该控制区域内任一位置时, 就可以用这一位置附近的所有参考位置估算出该位置所需的控制力。
模糊控制定义了三个不同阶段:一是模糊化阶段,即定义输入输出变量的模糊集;二是模糊推理阶段,即建立模糊规则,这些规则能根据偏差和它的变化得出控制信号的值;三是解模糊阶段,即根据推理阶段得到的值计算实际的输出值。
经典PID控制方法,算法直接有效,可快速实现。
但是PID 控制对于设计者的设计经验要求较高,且控制误差效果没有前三种好。
综合以上,本文将基于“最优控制”和“状态反馈”两种控制算法先进行倒立摆系统的MATLAB仿真,经过比较从而确定最终控制方案。
并且这两种控制方案的仿真实现都是基于上一章得到的状态空间线性模型。
1.2 倒立摆控制算法仿真
倒立摆实物系统的仿真是控制领域中用来检验某种控制理论或方法的典型方案。
它对一类不稳定系统的控制以及对深入理解反馈控制理论具有重要的意义。
1.2.1 计算机仿真简介
计算机仿真也称计算机模拟,就是利用计算机对所研究系统的就构、功能和行为以及系统控制的主动者——人的思维过程和行为,进行动态性的比较和模仿,利用建立的仿真模型对系统进行研究和分析,并可将系统过程演示出来。
仿真分为静态方针和动态仿真[14]。
控制系统涉及的方面比较多,而且一般为处理方法复杂且与时间有关的动态系统,所以它常用动态仿真的方法。
在本文中,如不特别说明,所用到的仿真均为动态仿真。
Simulink是MATLAB提供的实现动态系统建模和仿真的一个软件包。
Simulink的每个模块对用户而言都是透明的,用户只需要知道模块的输入输出以及模块功能,而不必管模块内部是怎么实现的。
于是,留给用户的事情就是如何选取和连接这些模块来完成自己的仿真任务。
因此,大多数情况下用户不必自己动手去对模块编程,只需要把其中的参数填上即可,把精力主要放在模型的构造上。
每个仿真模块都有三个基本元素:输入向量、状态向量和输出向量。
其中状态向量是最灵活最重要的向量。
实际的对象一般比较复杂而且千差万别,如果不理用状态向量这个有效的工具就难以完成仿真任务。
仿真技术综合了当代科学技术中多种现代化尖端手段,极大地扩展了人类的视野、时限和能力,在科学技术领域起到了极其重要的作用。
近10 年来,我国仿真技术得到迅速发展。
从应用的广泛程度看,已经从早期的航空、航天、火力发电和核动力发电部门扩展到今天的军事、电子、通信、交通、舰船、冶金、建筑、气象、地质、机械制造、轻工、技术训练等多种行业和部门,其应用已渗透到系统生命周期的全过程。
1.2.2 系统方程特性分析
1.方程参数分析计算
ZWP-Ⅱ型倒立摆系统结构参数如下:
摆杆长1l =0.115 m ,摆杆质量1m =0.19 kg ,摆杆对质心转动惯量21111
12J m l = ,倒立摆长2l =0.6 m ,倒立摆质量2m =0.128 kg ,倒立摆对质心转动惯量2
222112
J m l =。
根据第二章得到的倒立摆线性系统状态方程:
X AX BU
Y CX ⎧=+⎨=⎩
(1.1)
代入ZWP-Ⅱ型倒立摆系统结构参数,利用计算机求解得到方程的具体参数及其
特征值如下:其Matlab 语言程序见附录A-1。
00100001085.8100.3580049.1700.2051A ⎡⎤⎢⎥⎢
⎥=⎢⎥-⎢⎥-⎣⎦
0067.699.73B ⎡⎤
⎢⎥
⎢
⎥=⎢⎥⎢⎥-⎣⎦
[]0100C =
0D =
同时,利用Matlab 函数得到: 系统零极点增益模型 2
57.9579 (s+6.649) (s-6.47)
(s-6.91) (s+7.116)
s (1.2)
系统传递函数模型
2432
57.96s + 10.4 s - 2493
+ 0.2051s - 49.17 s
s (1.3)
特征值为
[]007.16 6.91ans =-
由此可见,开环系统有落在坐标轴右半平面的极点,是一个不稳定的系统。
2.系统能控性和能观性
倒立摆系统的能控性及能观性同样可以由Matlab 函数中ctrb 和obsv 计算矩阵
23
O C B AB A B A B ⎡⎤=⎣⎦
23b C CA O CA CA ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦
若Co 满秩则系统是能控的,若Ob 满秩则系统是能观的,其Matlab 语言程序见附录A-2。
由Matlab 函数计算结果得知:
rank 23B AB
A B
A B ⎡⎤⎣⎦=4
rank 23C CA CA CA ⎡⎤
⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦
=4
因此,系统是能控能观的。
根据线性系统理论,该系统经适当的状态反馈之后,所得到的闭环系统时可以稳定的,控制律一定存在并且应用观测器是可以完全重构状态的。
这也是我们设计基于线性系统控制器的基础。
3.求取希望的极点
由于倒立摆系统是一个非线性系统,而且模型中某些参随着系统老化不可能十分准确,还忽略了一些因素,所以控制要求闭环系统对参数的敏感性要低一些,也就是要求闭环系统的稳定裕度要大一些。
为了不失一般性,把给定超调量p σ,过渡时间s t 作为倒立摆系统稳定控制的性能要求。
设期望超调量p σ和过渡时间s t 的主导极点对应的阻尼系数为ξ,固有频率
n ω,非主导极点的模与主导极点的模的比值p(p ≥5)。
由控制理论知识可得:
()()2
1
2
22
ln ln ⎥⎥⎦
⎤
⎢⎢⎣⎡+=p p σπσξ (1.4)
()()2
12
2
2
ln ln 4
4
⎥⎥⎦
⎤
⎢⎢⎣
⎡+=
=p p s
s n t t σσπξω (1.5)
这里我们设定:超调量为≤30%,过渡过程时间为≤3秒 ,根据上述式子计算并留有一定的余量,取=ξ0.6,=n ω4,于是希望的闭环主导极点为:
12P 、= -2.4±j1.2
非主导极点选择为10倍远取为:
4P 3、= -30±j30
1.2.3 闭环状态反馈极点配置算法仿真
闭环系统的性能取决于闭环系统的极点分布。
状态反馈极点配置法就是通过状
态反馈将系统的闭环极点配置到期望的极点位置上,从而使闭环系统特性满足要求
[16]。
基于状态反馈的极点配置法要用系统的状态空间模型,将按照线性控制理论,系
统能够通过状态反馈将闭环极点配置在S 域任意位置,前提条件是能控矩阵Co
=23
B AB A B A B ⎡⎤⎣⎦满秩,即rank(Co) = 4。
通过Matlab 函数计算我们已经知道该系统是能控而且能观的。
•
引入状态反馈调节器,极点配置的控制律为:
U R KX =-
(1.6)
这时系统的空间模型为:
()X A BK X BR Y CX
⎧=-+⎨=⎩
(1.7)
设计任务就是要计算反馈增益矩阵K ,使[A-BK]的特征值和期望的基点P 相同,并都在坐标系的左半平面内。
这样,理论上就可以实现系统的稳定。
状态反馈系统如图1.1所示。
图1.1 状态反馈系统
反馈增益K 和期望极点向量P 应与状态变量X 具有相同的维数。
根据已经求出的期望极点,将整个闭环系统的闭环极点配置为:
i P =[-2.4+1.2j,-2.4-1.2j,-30+30j,-30-30j](i=1,2,3,4)
在Matlab 中使用K=acker(A,B,P) 命令可得出反馈增益矩阵:
K=[-11.5508,-305.8094,-1.8095,-31.7583]
在初始条件X0=[0.02,-0.01,0,0], 用Matlab 实现系统零输入闭环状态反馈,仿
真得到的ϕ和θ的响应曲线如图1.2,ϕ 和θ 的响应曲线如图1.3,控制量U 的变化曲线如图1.4,其仿真程序见附录A-3。
t(s)
y (r a d )
图1.2 状态反馈ϕ和θ的响应(X0=[0.02,-0.01,0,0])
-2.5
-2
-1.5
-1
-0.5
0.5
t(s)
y (r a d )
图1.3 状态反馈ϕ
和θ 的响应(X0=[0.02,-0.01,0,0])
-6
-5
-4
-3
-2
-1
1
t(s)
u (v )
图1.4 状态反馈控制量U 的变化曲线(X0=[0.02,-0.01,0,0])
θ
ϕ
y (rad)
y (rad)
u
(v)
当取为X0=[0.02,-0.087,0,0](0.087rad 约为5︒)时,ϕ和θ响应曲线如图1.5,ϕ
和θ 的响应曲线如图1.6,其仿真程序见附录A-3。
-1
-0.8-0.6-0.4
-0.2
00.2t(s)
y (r a d )
图1.5 状态反馈ϕ和θ的响应(X0=[0.02,-0.087,0,0])
t(s)
y (r a d )
图1.6 状态反馈ϕ
和θ 的响应(X0=[0.02,-0.087,0,0])
3.2.4 最优控制策略LQR 算法仿真
根据现代控制理论,设最优控制量为:
U Klqr X = (1.8)
具体二次性能指标为
0T
T c C J X Q X U R U dt ∞
⎡⎤=+⎣
⎦⎰ (1.9)
式中: Q 为半正定实对称常数矩阵
R 为正定实对称常数矩阵
最优控制的目标就是求取U,使得性能指标式(1.9)达到最小值[17]。
在仿真时,不需要人工计算,可以由Matlab 的函数命令lqr 求出最优增益矩阵
ϕ
θ
y (rad)
y (rad)
Klqr ,在实际仿真时,通过选择合适的加权矩阵Qc 和Rc , 就可以得出用于仿真的最优增益矩阵Klqr , 这里通过比较取:
100000
001000000.10000100c Q ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦ 0.8c R =
计算得出最优增益矩阵为
Klqr=[-35.3553,-664.4138,-11.4935,-108.4784]
然后再用Matlab 中的Initial 命令,得到闭环系统在零输入条件下初始状态的各响应曲线。
为了与闭环状态反馈极点配置调节器的控制效果作比较,初始条件我们
也取为X0=[0.02,-0.01,0,0]。
ϕ和θ响应曲线如图1.7,ϕ 和θ 的响应曲线如图1.8,控制量U 的变化曲线如图1.9,其仿真程序见附录A-4。
t(s)
y (r a d )
图1.7 最优控制ϕ和θ的响应(X0=[0.02,-0.01,0,0])
t(s)
y (r a d )
图1.8 最优控制ϕ
和θ 的响应(X0=[0.02,-0.01,0,0]) ϕ
θ
y (rad)
y (rad)
-6
-5
-4
-3
-2
-1
1
t(s)
u (v )
图1.9 最优控制控制量U 的变化曲线(X0=[0.02,-0.01,0,0])
当取为X0=[0.02,-0.087,0,0](0.087rad 约为5︒)时。
ϕ和θ响应曲线如图
1.10,ϕ
和θ 的响应曲线如图3-11,其仿真程序见附录A-4。
-1
-0.8-0.6-0.4-0.2
00.2t(s)
y (r a d )
图1.10 最优控制ϕ和θ的响应(X0=[0.02,-0.087,0,0])
t(s)
y (r a d )
图1.11 最优控制ϕ
和θ 的响应(X0=[0.02,-0.087,0,0]) y (rad)
ϕ
θ
y (rad)
u (v)
3.3 仿真结论及系统控制方案确定
3.3.1 仿真结论
状态反馈控由于要人为地选择系统闭环极点,因而设计中人的主观性因素也较大,且由于从系统状态方程很难直接了解到系统的特性, 因而难于确定系统的某些性能指标。
但是其理论算法非常清晰容易掌握并且发展成熟,在设计应用中已形成一套有规律的步骤,并且有很多可以借鉴的应用经验。
因此,使用这种控制算法成功率会很高。
在工程应用中,这一点是非常值得注意的。
经过仿真得到了状态反馈矩阵,系统运行完全符合期望的性能指标,实际上在初始条件X0=[0.02,- 0.01,0,0]时,超调量只有10%左右,调整时间约为1.5s ,完全满足给定的设计要求。
控制量U 的变化也比同样条件下最优控制的小50%,这使得在系统实现上显得容易。
LQR 控制器仿真结果表明,选择了合适的 Qc 和 Rc 之后,LQR 控制器对于单级旋转倒立摆的控制比状态反馈极点配置控制器要好一些,超调量和调整时间均小于状态反馈控制,也就是前文提到的LQR 控制器具有较优的稳态特性。
在同样的初始条件下,LQR 控制器需要1.2秒就使系统达到平衡;而状态反馈极点配置控制器则需要1.8秒左右。
在利用LQR 方法调节控制器时,一个最关键的问题是二次型性能指标的选取。
一般来说,二次型性能指标与有实际工程意义的品质指标间的联系至今尚未建立[15]。
因此,确定加权阵Q 、R 是一项重要且困难的工作。
为了使问题简单及加权阵Q 的各元素具有明显的物理意义,本文将加权阵Q 选为对角阵,即 c Q =diag(1q ,2q ,3q ,4q )
(1.10)
这样,性能指标
0T
T c C J X Q X U R U dt ∞
⎡⎤=+⎣
⎦⎰
可以写成
()2
222
211
2233440
J q x
q x q x q x RU ∞=++++⎰
(1.11)
由式(1.11)可以看出,i q 是对状态i x 平方的加权(i=1,2,3,4), i q 的相对增大就是意味着对i x 的要求较严。
R 是对控制量U 的平方的加权,当R 相对较大,意味着控制费用增高,使得控制能量较小,反馈减弱,当R 相对很小时,控制费用较低,反馈增强,系统动态响应迅速。
在这次仿真过程中,经过综合比较之后选取100000
001000000.10000100c Q ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦
和0.8c R =较为理想。
在选择参数过程中得到以下几点经验:
(1)1q 的选择不能过小,当小于100就会出现超调量
(2)3q 对系统的稳定时间起着较为关键的的作用这里取0.1效果良好,如果取其小于0.1,对稳定时间的长短几乎没有什么影响。
然而若Q33大于200,稳定时间将大于3秒不能满足期望性能指标要求。
(3)2q 和4q 的改变对系统影响很小。
(4)R 的大小会对稳定时间稍有影响,但主要是对θ和ϕ的摆动幅度有很大影响,当R 小于0.8时对摆动幅度没有什么影响,当R 大于100以后,就会引起系统出现超调量。
此外,由于受到单级旋转倒立摆的直流电动机的输出量的限制(为- 12V 到+ 12V) ,所以为了保证在可控条件下使旋转倒立摆稳定,初始角度不能太大,否则将无法在直流电动机的输出量的限制范围内使系统稳定[18]。
经过仿真测试,当θ 初始角度在-15°到+15°之间,系统都可以达到稳定,即ϕ、θ、ϕ和θ最后都规于为零,如图1.12和图1.13。
从图中也可以看出若再继续增大θ 的初始角,LQR 控制方式下的倒立摆系统将先脱离稳定范围。
t(s)
y (r a d )
图1.12 状态反馈θ= -15°时系统响应曲线
ϕ
θ
ϕ
y (rad)
-3-2.5-2-1.5-1
-0.5
00.5t(s)
y (r a d )
图1.13 最优控制θ= -15°时系统响应曲线
3.3.1 倒立摆系统控制方案确定
由仿真结果及综合以上分析可以看出,状态反馈极点配置控制器和LQR 控制器控制效果是一致的,在同等初始条件下,LQR 控制器的性能指标要稍微优于状态反馈,但是这种优势并不十分明显。
而在某些方面状态反馈控制器却要优于LQR 控制,比如控制电压的变化。
因此,从系统实现的难易程度和控制算法理论的成熟性以及作者对其理解程度,最终控制方案将采用状态反馈极点配置控制。
ϕ
θ
y
(rad)。