一级倒立摆系统最优控制.doc_第1页
一级倒立摆系统最优控制.doc_第2页
一级倒立摆系统最优控制.doc_第3页
一级倒立摆系统最优控制.doc_第4页
一级倒立摆系统最优控制.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 倒立摆系统是一个典型的快速、多变量、非线性、不稳定系统,许多抽象的控制理论概念都可以通过倒立摆实验直观的表现出来。因此,倒立摆系统经常被用来检验控制策略的实际效果。应用上,倒立摆广泛应用于航空航天控制、机器人,杂项顶杆表演等领域,研究倒立摆的精确控制对工业复杂对象的控制也有着重要的工程应用价值。 本文以固高公司生产的GIP-100-L型一阶倒立摆系统为研究对象,对直线一级倒立摆模型进行了建模,控制算法的仿真对比,并得出了相应的结论。 文中介绍了倒立摆的分类、特性、控制目标、控制方法等以及倒立摆控制研究的发展及其现状。利用牛顿力学方法推到了直线以及倒立摆的动力学模型,求出其传递函数及其状态空间方程。 在建立了系统模型的基础下,本文还研究了倒立摆系统的线性二次型最优控制问题,并且使用了MATLAB软件进行仿真,通过改变LQR模块及状态空间模块中的参数,在仿真中取得了不同的控制效果,最终得到了最好的控制效果。 关键字:一级倒立摆线性系统、数学建模、最优控制、LQR、仿真 1目录1 一阶倒立摆的概述11.1倒立摆的起源与国内外发展现状11.2倒立摆系统的组成11.3倒立摆的分类:11.4倒立摆的控制方法:22一阶倒立摆数学模型的建立32.1概述32.2数学模型的建立42.4实际参数代入:53定量、定性分析系统的性能73.1对系统的稳定性进行分析73.2 对系统的能空性和能观测性进行分析:84线性二次型最优控制设计94.1线性二次最优控制简介94.2 直线一级倒立摆LQR控制算法104.3 最优控制MATLAB仿真18总结21参考文献221 一阶倒立摆的概述1.1倒立摆的起源与国内外发展现状 倒立摆的最初研究开始于二十世纪五十年代,麻省理工学院的控制理论专家根据火箭助推器原理设计出来一级倒立摆实验设备。倒立摆作为一个典型的不稳定,严重非线性例证被正式提出于二十世纪六十年代后期。国内,在倒立摆系统实验平台先后出现了多种控制算法。用状态空间法设计的比例微分控制器来实现单机倒立摆的稳定控制;利用最优状态调节器实现双电机三集倒立摆实物控制;用变结构方法实现倒立摆的控制。用神经网络的自学习模糊控制器的输入输出的对比,引起其他学者的关注,之后不断出现实时学习神经网络的方法来控制倒立摆。图1 一级倒立摆1.2倒立摆系统的组成倒立摆系统由计算机,运动控制卡,伺服机构,传感器和倒立摆本体五部分构成。1.3倒立摆的分类:1,根据摆杆数目的不同,可以把倒立摆分为一级,二级和三级倒立摆等2,根据摆杆间连接形式不同,可以把倒立摆系统分为并联式倒立摆和串联式倒立摆;3根据运动轨道的不同,可以把倒立摆系统分为倾斜轨道倒立摆和水平轨道倒立摆;4根据控制电机的不同,可以把倒立摆分为多电机倒立摆和单电机倒立摆5根据摆杆与小车的连接方式不同,可以把倒立摆分为刚性摆和柔性摆6根据运动方式不同,可以把倒立摆分为平面倒立摆,直线倒立摆和旋转倒立摆。1.4倒立摆的控制方法:1)PID控制:该方法出现的最早,首先是对倒立摆系统进行力学分析,并在牛顿定律基础上得到运动方程,然后在平衡点附近对其进行线性化求出传递函数,最后在要求系统的特征方程应有全部左半平面的根的条件下,设计闭环系统控制器。2)状态反馈控制:极点配置法是在动态特性和稳态特性都满足的条件下,将多变量闭环倒立摆系统极点配置在期望的位置上,来设计状态反馈控制器3)线性二次型最优控制(LQR)LQR最优控制是通过寻找最佳状态反馈控制规律使期望的性能指标达到最小。212一阶倒立摆数学模型的建立2.1概述倒立摆系统其本身是自不稳定系统,实验建模存在一些问题和困难,在忽略掉一些次要的因素后,倒立摆系统是一个典型的运动的刚体系统,可以再惯性坐标系中运用经典力学对它进行分析,来建立系统动力学方程。在忽略掉了空气阻力和各种摩擦力之后,可以讲一阶倒立摆系统抽象成小车和均匀杆组成的系统,一阶倒立摆系统的结构示意图如下:图2 一阶倒立摆系统的结构示意图定义的参数为: 小车质量 摆杆质量 小车摩擦系数 摆杆惯量 u 加在小车上的力 小车位置 摆杆转动轴心到杆质心的长度 摆杆与垂直向下方向的夹角(摆杆初始位置为竖直向下)得到小车和摆杆的受力图:图3 小车和摆杆的受力图2.2数学模型的建立 根据牛顿第二定律对系统进行分析可以得出 式(1) 求导可得 式(2) 整理可得 式(3) 又对系统的力矩进行分析,由力矩平衡可得 式(4) 求导整理可得 式(5) 因为方程为非线性方程,需做线性化处理。由于控制的目的是保持倒摆直立,因此在施加合适u的条件下,可认为、均接近零,此、,且可忽略和项,于是可得 式(6) 联立方程并化简有 式(7) 式(8) 令 式(9)选取小车的位移及速度、倒摆的角位置及其角速度作为状态变量,为输出变量病考虑恒等式,可列出系统的状态空间表达式为2.4实际参数代入:GIP-100-L型一阶倒立摆系统,系统内部各相关参数为:小车质量 0.5 Kg ;摆杆质量0.2 Kg ;小车摩擦系数0.1 N/m/sec ; 摆杆转动轴心到杆质心的长度0.3 m ;摆杆惯量0.006 kg*m*m ;采样时间0.005秒;G=9.8N/m。将上述参数代入得实际模型:3定量、定性分析系统的性能3.1对系统的稳定性进行分析 根据零极点在复平面的分布情况可以判断系统的稳定性,若系统的零极点在右办平面存在,则系统是不稳定的。在MATLAB中运行以下程序:A= 0 1 0 0; 0 -0.1818 2.6727 0; 0 0 0 1; 0 -0.4545 31.1818 0; B= 0 1.8182 0 4.5455;C=1 0 0 0;0 0 1 0;D=0 0;z,p,k=ss2zp(A,B,C,D)impulse(A,B,C,D)z = -4.9498 0.0000 4.9498 0.0000p = 0 -5.6041 -0.1428 5.5651k = 1.8182 4.5455图四、系统位移的角度脉冲响应由图可得,系统在单位脉冲的输入作用下,小车的位移和摆杆的角度都是发散的,同时,由以上程序的零极点得极点有一个大于零,因此系统不稳定。3.2 对系统的能空性和能观测性进行分析:A= 0 1 0 0; 0 -0.1818 2.6727 0; 0 0 0 1; 0 -0.4545 31.1818 0; B= 0 1.8182 0 4.5455;C=1 0 0 0;0 0 1 0;D=0;Qc=ctrb(A,B);Qo=obsv(A,C);rank(Qc)rank(Qo)ans = 4ans = 4因此系统为完全能观测和完全能控的。4线性二次型最优控制设计4.1线性二次最优控制简介 最优控制理论是现代控制理论中的重要内容,近几十年的研究与应用使最优控制理论成为现代控制中的一大分支。由于计算机的发展已使过去认为不能实现的计算成为很容易的事情,所以最优控制的思想和方法已在工程技术实践中得到越来越广泛的应用。应用最优控制理论和方法可以在严密的数学基础上找出满足一定性能优化要求的系统最优控制规律。现代控制理论最突出的特点是将控制对象用状态时间表达式的形式表示出来,这样便于对多输入多输出系统进行分析和设计。最优控制主要是通过对性能指标的优化寻找可以使目标极小的控制器。如果系统是线性的,性能泛函是状态变量或控制量的二次型函数的积分,则这样的最优控制问题称为线性二次型最优控制问题。线性二次型最优控制算法是现代控制理论中的一种重要的、基本的方法。线性二次型性能指标易于分析。处理和计算,而且通过线性二次型最优设计方法得到的系统控制方法,具有较好的鲁棒性与动态特性以及能够获得线性反馈结构等优点,因此在实际的控制系统设计中得到了广泛的应用。LQR算法的目的是在一定性能指标下,使系统的控制效果最佳,即利用最少的控制能量来达到最小的状态误差。 被控系统的状态方程为: 式(10)寻找一个状态反馈控制率,使得如下指标达到最小值 式(11)式中Q和R分别是X和u的加权矩阵,用来平衡状态向量和输入向量的权重,确定了误差和能量损耗的相对重要性;Q为半正定阵,R为正定阵。 假设控制向量是无约束的,根据最优控制理论,可以得到最优控制率为: 式(12)式中,K为最优反馈增益矩阵,P为常数正定矩阵,且P必须满足黎卡提代数方程: 式(13) 因此,系统的设计归结于对黎卡提方程的求解,获得P,进而求出最有反馈增益矩阵K。4.2 直线一级倒立摆LQR控制算法Q,R分别用来对状态向量x,控制向量u引起的性能度量的相对重要性进行加权。在实际运算中我们运用Matlab控制系统工具箱中的“lqr”函数直接进行运算。利用lqr函数,我们需要提供两个权值矩阵:Q、R。通常我们取R=1,而对于Q我们只能通过不断的凑取来得到。Q的第一次取值Q=diag(1,0,1,0)源代码如下:A= 0 1 0 0; 0 -0.1818 2.6727 0; 0 0 0 1; 0 -0.4545 31.1818 0; B= 0 1.8182 0 4.5455;C=1 0 0 0;0 0 1 0;D=0;Q=diag(1,0,1,0);R=1;K,P,e=lqr(A,B,Q,R)Ac=A-B*K;Bc=B;Cc=C;Dc=D;T=0:0.02:6;U=ones(size(T);Y,X=lsim(Ac,Bc,Cc,Dc,U,T);plot(T,Y(:,1),.-,T,Y(:,2);xlabel(Time(sec);ylabel(Response);grid;legend(cart,pendulum)K = -1.0000 -1.6567 18.6852 3.4594P = 1.5567 1.2067 -3.4594 -0.7027 1.2067 1.4554 -4.6826 -0.9466 -3.4594 -4.6826 31.6315 5.9838 -0.7027 -0.9466 5.9838 1.1397e = -0.8494 + 0.8323i -0.8494 - 0.8323i -5.5978 + 0.4070i -5.5978 - 0.4070i 图5 LQR选择试凑因为此次取值调节时间为3.5秒过久,不满足性能要求。因此不满意,再次对Q取值:Q=diag(100,0,100,0)源代码如下: A= 0 1 0 0; 0 -0.1818 2.6727 0; 0 0 0 1; 0 -0.4545 31.1818 0; B= 0 1.8182 0 4.5455; C=1 0 0 0;0 0 1 0; D=0; Q=diag(100,0,100,0);R=1; K,P,e=lqr(A,B,Q,R) Ac=A-B*K; Bc=B; Cc=C; Dc=D; T=0:0.02:6; U=ones(size(T); Y,X=lsim(Ac,Bc,Cc,Dc,U,T); plot(T,Y(:,1),.-,T,Y(:,2); xlabel(Time(sec); ylabel(Response); grid; legend(cart,pendulum) K = -10.0000 -8.0284 37.6564 7.0198 P = 79.2841 31.4249 -70.1978 -14.7699 31.4249 17.6819 -40.8858 -8.8390 -70.1978 -40.8858 129.5617 24.6386 -14.7699 -8.8390 24.6386 5.0799 e = -6.5028 + 3.6216i -6.5028 - 3.6216i -2.2437 + 1.7339i -2.2437 - 1.7339i 图6 LQR选择试凑此次取值满足要求,x的调节时间还是过久,而且系统的稳定性能也不满足性能要求。因此需要再次取值。 Q=diag(1000,0,100,0)源代码如下A= 0 1 0 0; 0 -0.1818 2.6727 0; 0 0 0 1; 0 -0.4545 31.1818 0; B= 0 1.8182 0 4.5455;C=1 0 0 0;0 0 1 0;D=0;Q=diag(1000,0,100,0);R=1;K,P,e=lqr(A,B,Q,R)Ac=A-B*K;Bc=B;Cc=C;Dc=D;T=0:0.02:6;U=ones(size(T);Y,X=lsim(Ac,Bc,Cc,Dc,U,T);plot(T,Y(:,1),.-,T,Y(:,2);xlabel(Time(sec);ylabel(Response);grid;legend(cart,pendulum)K = -31.6228 -19.2443 63.6488 12.3949P = 605.3955 183.2469 -391.9623 -80.2557 183.2469 70.8708 -157.0365 -32.5820 -391.9623 -157.0365 384.5905 76.8172 -80.2557 -32.5820 76.8172 15.7597e = -6.5861 + 5.2115i -6.5861 - 5.2115i -4.1804 + 1.5795i -4.1804 - 1.5795i 图7 LQR选取试凑因为位移x的稳态误差超过了要求,需要增大控制位移x的权重,再次对Q取值Q=diag(5000,0,100,0)源代码如下A= 0 1 0 0; 0 -0.1818 2.6727 0; 0 0 0 1; 0 -0.4545 31.1818 0; B= 0 1.8182 0 4.5455;C=1 0 0 0;0 0 1 0;D=0;Q=diag(5000,0,100,0);R=1;K,P,e=lqr(A,B,Q,R)Ac=A-B*K;Bc=B;Cc=C;Dc=D;T=0:0.02:6;U=ones(size(T);Y,X=lsim(Ac,Bc,Cc,Dc,U,T);plot(T,Y(:,1),.-,T,Y(:,2);xlabel(Time(sec);ylabel(Response);grid;legend(cart,pendulum)K = -70.7107 -37.8344 105.5295 20.9238P = 1.0e+003 * 2.6682 0.7119 -1.4795 -0.3003 0.7119 0.2289 -0.4892 -0.0999 -1.4795 -0.4892 1.0858 0.2189 -0.3003 -0.0999 0.2189 0.0446e = -8.4910 + 7.9283i -8.4910 - 7.9283i -4.7592 + 0.8309i -4.7592 - 0.8309i图8 LQR选取试凑此次对Q的取值满足系统的性能要求,由此可取 Q=diag(5000,0,100,0)4.3 最优控制MATLAB仿真MATLAB软件是目前国际上最流行、应用最广泛的科学与工程计算软件,具有高级的数学分析和运算能力,可以如上编写MATLAB程序计算倒立摆系统的状态反馈增益K。同时还具有强大的动态系统的分析和仿真能力。以下是用MATLAB软件中SIMULINK工具箱设计仿真一级倒立摆系统。应用MATLAB中的SIMULINK设计一级倒立摆系统的放在仿真模型如图所示:图9一级倒立摆仿真结构图根据仿真结构图实验可以得出在阶跃信号下系统中位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论