倒立摆的LQR控制器算法的设计与仿真
- 格式:doc
- 大小:171.35 KB
- 文档页数:8
摘要倒立摆系统是一个非线性自然不稳定系统, 是进行控制理论教学及开展各种控制实验的理想实验平台。
许多抽象的控制概念如控制系统的稳定性、可控性、系统收敛速度和系统抗干扰能力等,都可以通过倒立摆系统直观的表现出来。
除教学用途外,倒立摆系统的高阶次、不稳定、多变量、非线性和强耦合等特性使得许多现代控制理论的研究人员一直将它视为研究对象。
本课题以固高倒立摆系统为研究对象,通过Simulink搭建非线性模型然后将其线性化,并与数学方法近似的线性模型进行了比较。
采用根轨迹法设计出确定参数下的使系统稳定的控制器,并将其应用于倒立摆实际控制中,在摆杆角度控制器方面获得了很好的的控制效果。
最后,在MATLAB/Simulink环境下分别观察了线性模型和非线性模型的仿真情况。
本文以直线一级倒立摆系统为核心,掌握了在倒立摆系统控制方面国内外的研究情况。
通过实现对倒立摆的稳定控制,进而掌握了控制系统设计的一些基本方法。
一、绪论(一)课题研究的背景及意义倒立摆的最初研究始于上世纪50年代,由美国麻省理工学院(MIT)的控制论专家根据火箭发射助推器的原理设计而来,随着研究的深入和实际问题的推动而不断发展至今,已发展出了三级摆和四级摆。
这些研究成果具有重要的工程前景,在控制等领域中发挥了巨大的作用。
作为研究控制理论的一种非常典型的实验装置,倒立摆系统具有形象直观、结构简单、成本低廉、构件组成参数和形状易于改变的特点。
倒立摆是多种技术、多个领域的有机结合,包括机器人技术、控制理论技术、计算机控制技术等。
很多抽象的控制概念,如控制系统的稳定性、系统的可控性、系统收敛速度和抗干扰能力等,都可通过倒立摆系统直观形象的表现出来。
倒立摆控制系统本身又是一个多变量、高阶次、强耦合的非线性自然不稳定系统系统,在自动控制领域中,倒立摆仿真或者实物控制实验,已成为检验一种新的控制理论是否有效的试金石,同时也是产生一种新的控制方法所必须依据的基础实验平台。
倒立摆控制系统的Simulink 仿真本文针对一个倒立摆系统进行了系统的建模、求解、控制系统的设计,并且使用Simulink 对控制算法进行了仿真。
一、模型的描述倒立摆系统如图(1),设有一个倒立摆装在只能沿x 轴方向移动的小车上,图中1m 为小车的质量,2m 为摆球的质量,g 为重力加速度,l 为摆长,J 为摆的转动惯量。
当小车受到外力()f t 的作用时,小车产生位移()x t ,且摆产生角位移()t θ。
二、模型的建立下面针对该倒立摆系统进行建模求解。
当小车1m 在外力作用下产生位移()x t 时,摆球受力情况如图(2)所示。
图中2m g 为摆球2m 所受重力,222()d x t m dt 为x 方向的惯性力,2sin ()m g t θ为垂直于摆杆方向的重力分量。
在x 方向上,小车的惯性力矩为212()d x t m dt ,摆球产生的位移量为()sin ()x t l t θ+;在垂直于摆杆的方向上,摆球的转动惯性力为22()d t J dt θ;222()d x t m dt的分力为222()cos ()d x t m t dt θ。
图(1)装有倒立摆的小车 图(2)倒立摆受力图根据牛顿运动定律,按照力的平衡原理,可以分别列出该系统在x 方向上和垂直于摆杆方向上的的运动方程222122222()()[sin ()]()d x t d x t d l t m m m f t dt dt dt θ++=(1) 222222()()cos ()sin ()d t d x t J m l t m lg t dt dtθθθ+= (2) 三、模型的求解3.1微分方程组的求解联立式(1)、(2),经过方程组的恒等变形得2222222122222()()2[()cos ()]sin 2()2sin ()()2()d x t d t m m J m l t m l g t Jm l t dt dtJf t θθθθ+-=-++ (3) 2222222212221222()()[cos ()()]sin ()cos ()()()sin ()()d t d t m l t m m J m l t t dt dtm m m lg t m lf t θθθθθθ-+=-++ (4) 由式(3)、(4)令''121343()(),(),()(),()()x t t x x t x t x t x t x t θ====,可建立如下的微分方程组进行求解'12'2222221222222122'34'222422222122()()1()()(sin ()cos ()()()sin ()cos ()()())()()1()()(sin 2()2sin ()()2())2[()cos ()]x t x t d t x t x m l t t m m m lg t m l t m m J dt m lf t x t x t d t x t m l g t Jm l t Jf t m m J m l t dt θθθθθθθθθ⎧=⎪⎪=-+⎪-+⎪+⎨==-+++-⎪⎪⎪⎪⎩3.2控制系统的分析与设计在该模型中,对该倒立摆系统实施角度环、速度换的控制,并假设小车在运行过程中受到空气阻力,阻力大小与小车的速度成正比。
摘要提出了一种利用模糊控制器进行倒立摆控制的方法,建立了倒立摆的数学模型,并进行了计算机仿真,仿真结果表明,该方案可以得到较为满意的结果。
关键词倒立摆模糊控制器计算机仿真1引言倒立摆小车系统如图1所示。
它由质量为 M的小车,长为2 L 的倒立摆构成。
倒立摆质量为m,铰链在小车上。
小车在控制函数f =u(t)的作用下,沿滑轨在x方向运动,使倒立摆在垂直平面内稳定。
x=0.05 m, 倒立摆的角度=0.08 rad。
我们通常用状态空间法来解决多输入、输出的问题。
对这个倒立摆问题我们尝试控制倒立摆的角度theta和小车的位置x。
要求小车应在5 s内到达期望位置,并且上升时间在5 s之内,同时限制倒立摆的最大角度为2°(0.35弧度),在5 s内稳定。
其中:M—小车的质量(M=1 kg);m—倒立摆的质量(m=0.1 kg);F—加给小车的外力;b—小车的摩擦系数(50 N/s);2 L —倒立摆的长度(2 L=2 m);x —小车的位置。
2系统分析与建模经分析,系统的动力学方程组为:由于φ较小,系统的动力学方程组可线性化为:计算A的极点为0,-5.1188,-2.6013,2.7476,有一个极点在右半平面,原系统是不稳定的。
而根据原系统的可控性,rank([B AB A2B A3B])=4,因而是可控的,可以任意配置系统的极点。
在matlab中,命令lqr (A,B,Q,R)可解连续时间的线性二次型调节器问题,并可解与其有关的黎卡提方程。
该命令可计算最佳反馈增益矩阵K,并且产生性能指标:在约束方程条件下达到极小的反馈控制律:u=-Kx。
可求得:K=[-22.3607,-30.1549,-142.8290,-52.2546 ],此时系统的极点分别为-4.33082.1985i,-2 56330.4834i,都处于s左半平面,系统是稳定的。
系统对应的响应曲线为图2所示。
由图2知线性化的系统达到了二次型最佳控制条件下的设计要求。
新疆大学研究生课程考试(查)论文2009 —2010 学年第二学期最优控制理论及参数优化课程名称:最优控制理论及参数优化任课教师:谢丽蓉学院:电气工程学院专业:控制理论与控制工程学号:107550900956姓名:黄振中成绩:倒立单摆LQR 控制器设计方法的研究黄振中 谢丽蓉(新疆大学 电气工程学院,新疆 乌鲁木齐 830047)摘要:采用LQ 校正、参考输入及状态观测器的设计方法来设计最优二次控制器,选取加权矩阵Q 和R 使控制器的性能达到最优。
从介绍代数Riccati 方程求解着手,利用MATLAB 的强大计算功能及仿真能力,不断的调整参数得到设计结果并画出系统的输出响应曲线。
很多文献介绍了基于输出反馈的PID 控制系统,但其控制效果不理想,主要原因是系统的高阶次和多变量。
本文采用基于状态空间设计法的LQR 最优调节器,较好地兼顾了系统的鲁棒稳定性和快速性,倒立摆的实例说明了该方法的有效性。
[关键词]:LQR 控制器;MATLAB;Riccati 方程;倒立单摆系统 1引言倒立摆系统是非线性、强藕合、多变量和自然不稳定的系统. 在控制过程中, 它能有效的反映控制理论中诸如系统稳定性、可控性、鲁棒性、系统收敛速度、随动性以及跟踪等问题, 是检验各种控制理论的理想模型. 线性二次型最优控制(LinearQuadratic Regulator —LQR) 问题在现代控制理论中占有非常重要的位置. 由于线性二次型(LQ) 性能指标易于分析、处理和计算,而且通过线性二次型最优设计方法得到的控制系统具有较好的鲁棒性与动态特性等优点,线性二次型在控制界得到普遍重视. 通过倒立摆LQR 最优控制系统设计与研究,并从实时控制效果出发,找出系统的动态响应与加权阵Q 和R 之间的变化规律,并用于指导实践[1]。
1线性二次型最优控制器设计对于线性系统,若取状态变量和控制变量的二次型函数的积分作为性能指标,这种动态系统最优化问题称为线性系统二次型性能指标的最优控制问题,简称线性二次问题。
(二○○七 年 六 月本科毕业设计说明书 题 目:一阶倒立摆最优控制器的设计 学生姓名:xx 学 院:xx 系 别:xx 专 业:xx 班 级:xx 指导教师:xx摘要倒立摆系统的控制研究长期以来被认为是控制理论及其应用领域里能引起人们极大兴趣的问题。
它是检验各种新的控制理论和方法的有效性的著名实验装置。
作为一个高阶、非线性不稳定系统,倒立摆的稳定控制相当困难,对该领域的学者来说是一个极具挑战性的难题。
首先,本文阐述倒立摆系统控制的研究发展过程,介绍了倒立摆系统的结构,并详细推导了一级倒立摆的数学模型,为更高层次的控制规律的研究提供了一个途径。
其次,研究倒立摆系统的各种控制方法。
其中包括有经典控制理论中的PID控制方法和最优控制理论中的极点配置法、LQR法。
在MATLAB/SIMULINK的环境下,作了大量的系统仿真研究工作,比较了各种控制方法。
最后,发现经过最优控制方法校正后的系统的性能优于经典控制方法校正后的系统的性能,而且最优控制较易实现。
关键词:倒立摆系统;经典控制理论;最优控制理论;系统仿真AbstractThe control of inverted pendulum system has long been considered an intriguing problem for control theory and its applications. It is well known as a test bed for new control theory and techniques. As a highly nonlinear and unstable system, the stabilization control of inverted pendulum system is a primary challenge for researchers in this field because of the difficulty of the problem.Firstly, after introducing the development and current situation of inverted pendulum system research, the mechanism of inverted pendulum are presented. Mathematical model of the higher one level inverted pendulum is particularly educed in this chapter. Secondly, the thesis discusses mainly the control methods of inverted pendulum system based on the PID of classic control theories, the Pole arrangement and the LQR of modern control theories. And many system simulation researches on the stability of inverted pendulum have been done in the environment of MATLAB /SIMLTLINK. Finally, we will find that the performance of system which was adjusted by optimal control theory is better than the performance of system which was adjusted by classic control theory, and the optimal control is easier success than classic control.Keywords: Inverted pendulum system; Classic control theory; Optimal control theory;System simulation目录引言 (1)第一章绪论 (2)1.1 问题的提出及研究意义 (2)1.1.1 问题的提出 (2)1.1.2 研究意义 (2)1.2 本论文主要研究的内容 (2)第二章单级倒立摆数学模型 (4)2.1单级倒立摆数学模型的结构 (4)2.2系统的数学模型推导 (5)2.2.1 不考虑摩擦时的传递函数及状态方程 (5)2.2.2 考虑摩擦时的传递函数及状态方程 (8)第三章单级倒立摆PID控制器设计与仿真 (11)3.1理论分析 (11)3.2PID控制器的设计与仿真 (12)第四章现代控制理论在控制倒立摆系统中的应用 (20)4.1状态空间极点配置法 (20)4.1.1 理论分析 (20)4.1.2 状态空间极点配置法的设计及仿真 (20)4.2基于LQR的倒立摆最优控制系统研究 (24)4.2.1 理论分析 (24)4.2.2 LQR控制器的设计与仿真 (25)结论 (28)参考文献 (30)谢辞 (31)引言杂技顶杆表演之所以为人们熟悉,不仅是其技艺的精湛,更重要的是其物理与控制系统的稳定性密切相关。
LQR控制器算法的设计与仿真 4.1 线性二次最优控制的概述 应用经典控制理论设计控制系统,能够解决很多简单、确定系统的实际设计问题。但是对于诸多新型而复杂的控制系统,例如多输入多输出系统与阶次较高的系统,往往得不到满意的结果。这时就需要有在状态空间模型下建立的最优控制策略。 最优控制是现代控制理论的核心。所谓最优控制,就是在一定条件下,在完成所要求的控制任务时,使系统的某种性能指标具有最优值。根据系统不同的用途,可提出各种不用的性能指标。最优控制的设计,就是选择最优控制,以使某一种性能指标为最小。 最优控制就是在满足一定的约束条件下,寻求最优控制策略,使系统的某种性能指标具有最优值的一种控制方法。对于一个线性系统,如果其性能泛函是状态变量或控制变量的二次型函数的积分,则这样的最优控制问题就称为线性二次型最优控制问题,而利用线性二次型性能指标设计的控制器就被称作线性二次型最优(Linear Quadratic Regulator)控制器,缩写为LQR控制器[15]。 利用线性二次型最优控制算法不仅易于分析、处理和计算,得到的系统控制方法还具有较好的鲁棒性与动态特性以及能够获得线性反馈结构等优点,而且特别可贵的是,线性二次型最优控制得到状态线性反馈的最优控制规律,易于构成闭环最优控制。而且,MATLAB的应用为线性二次型最优控制的理论仿真提供了很好的条件,更为实现稳、准、快的控制目标提供了方便。因而线性二次型控制器已经成为自动控制系统中反馈控制设计的一种重要的控制方法,在实际的控制系统设计中得到了广泛的应用。
4.2 线性二次最优控制的原理 线性二次最优控制的控制原理框图如图:
图4.1 LQR控制系统结构图 K y u R XAXBUYCXDU
Fig 4.1 Conventional LQR control system structure 对于状态方程式所表示的连续时间的线性被控对象有: 0)0(),()()(xxtButAxtx (4-1)
上式中,x(t)为n维状态向量;u(t)为m维控制向量;A,B分别为n×n及n×m阶的常数矩阵。在进行线性二次最优控制系统设计时,比较令人感兴趣的是如何选择控制向量u(t),使得给定的性能指标达到最小,线性二次最优调节器( LQR) 是针对系统状态方程,寻找最优控制,使得控制性能指标 J 达到最小,其中 Q、R 分别表示了对状态变量和输入变量的加权值。 二次型性能指标函数:
dtRUUQXXJTT)( (4-2)
则有如下状态反馈控制律: )()(tKxtU (4-3)
式中,K 为最优反馈矩阵: PBRKT1 (4-4) 在式(4-4)中,P为Riccati方程非负定对称解。而Riccati方程为:
01QPBPBRPAPATT (4-5)
如此,可得到状态反馈增益向量K: PBRKT1 (4-6)
由此可见最优控制器的设计的关键是选择合适的加权矩阵Q和R,并根据式(4-6)可以算出P,这样就能求出反馈增益K了。而加权矩阵Q和R的具体作用为:Q中某元素相对增加时,其对应的状态变量的响应速度增加,其他状态变量的响应速度相对减慢;R增加时,控制力减小,角度变化变小,跟随速度变慢。改变矩阵Q的值,可以得到不同的响应效果,Q主对角线元素的值在一定范围之内越大,系统调整时间越短,而且抵抗干扰的能力越强,但是Q不能过大,不然将对实验结果有一定的影响[16]。 上述推导过程即为线性二次最优控制的控制原理。而当今现在,随着计算机技术的飞速发展,已经可以不使用上述公式进行繁琐的计算,而利用 MATLAB的lqr命令轻松的得到反馈矩阵K的值:
(,,,)KlqrABQR
4.3 二次最优控制器的参数调整 二次最优控制器的参数调整关键在于选择好合适的加权矩阵Q和R,这样就能得出反馈增益K[17]。其中,加权矩阵中的Q和R的具体作用为:Q中某元素相对增加时,其对应的状态变量的响应速度增加,其他状态变量的响应速度相对减慢;R增加时,控制力减小,角度变化变小,跟随速度变慢。而在实际应用中,通常将R值进行固定,然后对Q进行调整以得到较好的控制效果[18]。所以,在这里,选取R=0.003。 在LQR控制器设计中,选取R=0.003,Q阵为对角阵:
4,400003,300002,200001,1QQQQQ
(4-7) 其中,Q1,1代表小车位置的权重(即x),Q2,2代表小车速度的权重(即x),
Q3,3代表摆杆角度的权重(即),Q4,4代表摆杆角速度的权重(即)。而在该实验中,只考虑小车的位移及摆杆的摆动角度问题,所以,可以将Q2,2和Q4,4都定义为0,这样,只需要调整Q1,1和Q3,3。则Q的矩阵可以变换为:
000003,30000000001,1QQQ
(4-8) 接下来,根据第二章所建立的系统的状态空间表达式:
uxxxx
32597.2000503.10058199.2600556.001000072547.100241.000010
(4-9) uxxxy000100
0001
(4-10) 可以得到:
058199.2600556.001000072547.100241.000010
A
,32597.2000503.10B
01000001C
,00D
那么,首先取Q1,1=Q3,3=1的时候,在MATLAB的输入界面输入以下程序: %最优控制 A=[ 0 1 0 0; 0 -0.00241 1.72547 0; 0 0 0 1; 0 -0.00556 26.58199 0]; B=[ 0 1.00503 0 2.32597]'; C=[ 1 0 0 0; 0 0 1 0]; D=[ 0 0 ]'; %求向量K Q11=1; Q22=0; Q33=1; Q44=0; Q=[Q11 0 0 0; 0 Q22 0 0; 0 0 Q33 0; 0 0 0 Q44]; R = [0.003]; K = lqr(A,B,Q,R) %计算LQR控制矩阵 Ac = [(A-B*K)]; Bc = [B]; Cc = [C]; Dc = [D]; %求阶跃响应 XO=[0.01 -0.001 0.001 -0.001];%初始状态 t=0:0.005:5; U=20*ones(size(t)); [Y,X]=lsim(Ac,Bcn,Cc,Dc,U,t,XO); yl=Y(:,1); y2=Y(:,2); plot(t,yl,'r-',t,y2,'b-'); legend('小车位置','摆杆角度'); axis([0 5 -30 30]); grid 可以得到如下的仿真结果: K = -18.26 -14.51 66.35 13.42 系统的阶跃响应曲线如下图所示。
图4.2 Q1,1=Q3,3=1时倒立摆系统阶跃响应图 Fig.4.2 When Q1,1=Q3,3 = 1 inverted pendulum system step response figure
由这个图可以看出,小车的位移和角度在2.5秒的时候就基本能达到稳定,而且就小车位移而言,开始时候产生的超调还是相对较小的。但是,摆杆的角度,在开始时候的超调量有些偏大。而倒立摆系统对摆杆角度的超调量的要求比较严格,需要将摆杆角度的超调量控制在尽量小的范围内。又可根据Q值变化对系统的影响,增大Q3,3值可以减小超调量,但是同时也会增加系统的响应时间,反之则超调量增大,响应时间减小;增大Q1,1可以增大系统的超调量,而减小系统的响应时间,反之则超调量减小,响应时间增大。所以,在这里,为了达到更好的实验效果,尝试增大Q3,3值以减小系统的超调量,同时,考虑适当的增大Q1,1来抵消Q3,3变化产生的响应时间增长的影响。经过多次尝试之后,在Q1,1=5,Q3,3=80时,得到: K= -47.46 -44.64 230.12 34.07 系统的阶跃响应曲线如下图所示: