一级倒立摆的LQR控制器设计_第1页
一级倒立摆的LQR控制器设计_第2页
一级倒立摆的LQR控制器设计_第3页
一级倒立摆的LQR控制器设计_第4页
一级倒立摆的LQR控制器设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、()44必噩IWMJgq w机藏盘1皿睫(权氽)甜KH编炽编s啪卅垃幅帅黑 黑探理强刑朴 690Z0Z0 寸 OOZ 咿 我 ZOZOZO寸0 掇 取 TOC o 1-5 h z HYPERLINK l bookmark12 o Current Document 0.前言10.1倒立摆的背景及简介1 HYPERLINK l bookmark15 o Current Document 0.2 MATLAB简介及应用1 HYPERLINK l bookmark18 o Current Document 一级倒立摆模型和线性二次最优控制LQR基本理论41.1 一级倒立摆模型基本理论41.2线性二次最

2、优控制LQR基本理论7 HYPERLINK l bookmark113 o Current Document 方案设计10 HYPERLINK l bookmark120 o Current Document 软件编程10 HYPERLINK l bookmark124 o Current Document 系统调试和结果分析12 HYPERLINK l bookmark134 o Current Document 结论及进一步设想13 HYPERLINK l bookmark137 o Current Document 参考文献14 HYPERLINK l bookmark149 o Cur

3、rent Document 课设体会15直线一级倒立摆LQR控制器的设计(一)杨贺沈阳航空航天大学自动化学院摘要:倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学 及开展各种控制实验的理想实验平台,对倒立摆的控制可以用拉格朗日方法建模,设 计倒立摆二次型最优LQR控制器,通过MATLAB仿真和实际系统实验,实现对倒立 摆的稳定控制。建立模型,确定参数,进行控制算法设计、系统调试和分析等步骤实 现。关键词:倒立摆;状态反馈;MATLAB仿真0.前言0.1倒立摆的背景及简介倒立摆的最初研究开始于20世纪50年代,由美国麻省理工学院的控制论专家根 据火箭发射助推器原理设计,倒立摆

4、系统是一个经典的快速、多变量、非线性、绝对 不稳定系统,是用来检验某种控制理论或方法的经典方案。倒立摆控制理论产生的方 法和技术在半导体及精密仪器加工、机器人技术、导弹拦截控制系统和航空器对接控 制技术等方面具有广阔的开发利用前景。因此研究倒立摆系统具有重要的实践意义, 一直受到国内外学者的广泛关注。倒立摆的种类很多,有悬挂式倒立摆、平行倒立摆、 环形倒立摆、平面倒立摆;倒立摆的级数可以是一级、二级、三级、四级乃至多级; 倒立摆的运动轨道可以是水平的,还可以是倾斜的,控制电机可以是单电机,也可以 是多级电机。倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及 开展各种控制实

5、验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多 典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。对倒 立摆这样的一个典型被控对象进行研究,无论在理论上和方法上都具有重要意义。不 仅由于其级数增加而产生的控制难度是对人类控制能力的有力挑战,更重要的是实现 其控制稳定的过程中不断发现新的控制方法,探索新的控制理论,并进而将新的控制 方法应用到更广泛的受控对象中。各种控制理论和方法都可以在这里得以充分实践, 并且可以促成相互间的有机结合。0.2 MATLAB简介及应用对于倒立摆的研究,用到的最多的软件就是MATLAB,这次课设也不例外,所 以在这里,对MATLAB

6、进行一些简单的介绍。在20世纪70年代中期,Cleve Moler博士和其同事在美国国家科学基金的资助下 开发了调用EISPACK和LINPACK的FORTRAN子程序库。EISPACK是特征值求解的FORTRAN程序库,LINPACK是解线性方程的程序库。在当时,这两个程序库代 表矩阵运算的最高水平。到20世纪70年代后期,身为美国New Mexico大学计算机系系主任的Clev e Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库, 但他发现学生用FORTRAN编写接口程序很费时间,于是他开始自己动手,利用业余 时间为学生编写EISPACK和LINP

7、ACK的接口程序。Cleve Moler给这个接口程序取 名为MATLAB,该名为矩阵(matrix)和实验室(laboratory)两个英文单词的前三个 字母的组合。在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并 作为面向大众的免费软件广为流传。1983年春天,Cleve Moler到Stanford大学讲学,MATLAB深深地吸引了工程师John Little。John Little敏锐地觉察到MATLAB在工程领域的广阔前景。同年,他和Cleve Moler、Sieve Bangert一起,用C语言开发了第二代专业版。这一代的MATLAB语言同 时具备了数值计算和数据图

8、示化的功能。1984年,Cleve Moler和 John Lithe成立了MathWorks公司,正式把MATLAB推向 市场,并继续进行MATLAB的研究和开发。在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为 两大类。一类是数值计算型软件,如MATLAB、Xmath、Gauss等,这类软件长于数 值计算,对处理大批数据效率高;另一类是数学分析型软件,如Mathematica、Maple 等,这类软件以符号计算见长,能给出解析解和任意精度解,其缺点是处理大量数据 时效率较低。MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力 的基础上,又率先在专

9、业水平上开拓了其符号计算、文字处理、可视化建模和实时控 制能力,开发了适合多学科、多部门要求的新一代科技应用软件MATLAB。经过多 年的国际竞争,MATLAB已经占据了数值型软件市场的主导地位。在MATLAB进入市场前,国际上的许多应用软件包都是直接以FORTRAN和C 语言等编程语言开发的。这种软件的缺点是使用面窄、接口简陋、程序结构不开放以 及没有标准的基库,很难适应各学科的最新发展,因而很难推广。MATLAB的出现, 为各国科学家开发学科软件提供了新的基础。在MATLAB问世不久的20世纪80年 代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。时至今日,经过Math

10、 Works公司的不断完善,MATLAB已经发展成为适合多学 科、多种工作平台的功能强劲的大型软件。在国外,MATLAB已经经受了多年考验。 在欧美等高校,MATLAB已经成为线性代数、自动控制理论、数理统计、数字信号 处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;成为攻读学位的大 学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB 被广泛用于科学研究和解决各种具体问题。MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件, 其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗 -完整版学习资料分享-口、编辑

11、器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随 着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精 致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的 MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编 程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及 时地报告出现的错误及进行出错原因分析。MATLAB是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输 入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步, 也可以先编写好一个较大的复杂

12、的应用程序(M文件)后再一起运行。新版本的 MATLAB语言是基于最为流行的C+语言基础上的,因此语法特征与C+语言极为 相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计 算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB 能够深入到科学研究及工程计算各个领域的重要原因。MATLAB自产生之时起就具 有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标 注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。 可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改 进和完善,使

13、它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面 的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的 光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能 力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函 数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面 (GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说, 它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同 的方

14、法而不需要自己编写代码。领域,诸如数据采集、数据库接口、概率统计、样条 拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系 统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地 图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、 DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。1. 一级倒立摆模型和线性二次最优控制LQR基本理论1.1 一级倒立摆模型基本理论直线一级倒立摆建模:小车由电机通过同步带驱动在滑杆上来回运动,保持摆杆 平衡。电机编码器和角编码器向运动卡反馈小车和摆杆位置(线位

15、移和角位移)。导 轨截面成H型,小车在轨道上可以自由滑动,其在轨道上的有效运行长度为1米。轨-完整版学习资料分享-立摆系统定倒立的参数道两端装有电气限位开关,以防止因意外失控而撞坏机构。倒立摆系统由水平移动的 小车及由其支撑的单节倒立摆构成。控制输入为驱动力尸(N),是由拖动小车的直流 伺服电机提供的;被控制量是摆杆与垂直位置方向夹角(rad)和小车的位移x(m)o图1倒假 摆系统 如下。摆杆的质量:m=0.1g;摆杆的长度:2l=1m;小车的质量:M=1kg;重力加速度:g=10/s2;摆杆惯量:I=0.003kgm2;摆杆的质量在摆杆的中心。分析小车水平方向所受的合力,可以得到以下的方程:

16、Mx = F - bx- N(1)由摆杆水平方向的受力进行分析可以得到下面的等式:N = m(x +1sin9 )dt 2(2)将此等式代入上述等式中,可以得到系统的第一个运动方程: Cg 2 c(M + m) x + bx + ml G cos0 - ml 0 sin 0= F(3)为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面的方程:d 2P - mg = -m - (l cos 0 )(4)力矩平衡方程如下:一Pl sin 0 一 Nl cos 0 = IG(5)合并这两个方程,约去P和N,得到第二个运动方程:(I + ml 2) 0+ mgl sin 0

17、 = 一 ml X cos 0(6)微分方程模型:设。二兀+ 6,当摆杆与垂直向上方向之间的夹角6与1(单位是 孤度)相比很小时,即O 1时,则可以进行如下近似处理:cos 0 = -1sin 0 = -(半)2= 0dt(7)线性化后得到该系统数学模型的微分方程表达式:,、,】,(I + ml 2)。一 mgl = ml x|( M + m) X+ bX- ml。= u(8)传递函数模型:对上述方程组进行拉氏变换后得到:(I + ml2) (s)s2 - mgl (s) = mlX (s)s2(M + m) X (s) s 2 + bX (s) - ml (s) s 2 = U (s)(9)

18、解上述方程可得输入量为加速度,输出量为摆杆摆角的传递函数:-完整版学习资料分享-4 (s) _mlV(s) (I + ml2)s2 -mgl(10)输入量为力,输出量为摆角的传递函数:mlS24(s) _qU (s)b( I + ml 2)(M + m)mglbmgls4 +s3 s2 sqq q(11)q=(M+m)(I+ml) - (ml)2(12)状态空间数学模型控制系统的状态空间方程可写成如下形式:X = AX + BuY = CX + Du(13)解代数方程可得如下解:%-(I + ml 2)bm 2 gl 2人(I + ml 2) TOC o 1-5 h z x =:% +:,4

19、+:, uI (M + m) + Mml 2I (M + m) + Mml 2I (M + m) + Mml 24=4乘 -mlb mgl (M + m) ,ml4 =x + 4 +u、I (M + m) + Mml 2I (M + m) + Mml 2I (M + m) + Mml 2(14)整理后可得系统的状态空间方程:xx001-(I + ml 2)bI (M + m) + Mml 20m 2 gl 2I (M + m) + Mml 200 x x+0I + ml 2I (M + m) + Mml 24=0001400-mlbmgl (M + m)04ml4I (M + m) + Mml

20、 2I (M + m) + Mml 2I (M + m) + Mml 2(15)01(16)对于质量均匀分布的摆杆,其转动惯量为:I = ml 23(17)代入微分方程模型中得:(3 ml 2 + ml 2)一 mgl4 = ml X(18)化简后可得:朋 3g入 3.4=二4+x4l4l(19)设 x = x X 4 4t,u = X 则有:x0100 x=004000L0 001(20)课程设计要求:熟悉倒立摆实际控制系统;对倒立摆系统建模;进行控制算法设 计;进行系统调试和分析;利用MATLAB高级语言编程,实现倒立摆稳定控制;实 时输出波形,得出结论。1.2线性二次最优控制LQR基本理

21、论最优控制理论的形成和发展和整个现代自动控制理论的形成和发展十分不开的。 在20世纪50年代初期,就有人开始发表从工程观点研究最短时间控制问题的文章, 尽管其最优性的证明多半借助于几何图形,仅带有启发性质,但毕竟为发展现代控制 理论提供了第一批实际模型。由于最优控制问题引人注目的严格表述形式,特别是空 间技术的迫切需求,从而吸引了大批科学家的密切注意。经典变分理论只能解决一类 简单的最优控制问题,因为它只对无约束或开集性约束是有效的。而实际上碰到的更 多的是容许控制属于闭集的一类最优控制问题,这就要求人们去探索、求解最优控制 问题的新途径。在种种新方法中,有俩种方法最富成效:一种是苏联学者庞特

22、里亚金 的“极大值原理”;另一类是美国学者贝尔曼的“动态规划”。受力学中哈密顿原理的 启发,庞特里亚金等人把“极大值原理”作为一种推测首先推测出来,随后不久又提 供了一种严格的证明,并于1958年在爱丁堡召开的国际数学会议上首先宣读。“动态 规划”是贝尔曼在1953-1957年逐步创立的,他依旧最优性原理发展了变分学中的哈 密顿一雅可比理论,构成了 “动态规划”。它是一种适用于计算机计算,处理问题范 围更广的方法。在现代控制理论的形成和发展中,极大值原理、动态规划和卡尔曼的 最优估计理论都起过重要的推动作用。现代控制理论的形成和发展和数字计算机的飞速发展和广约应用密不可分。由于 计算机的“在线

23、”参与控制,这样,既不要求把控制器归结为简单的校正网络,也不 一定要求有封闭形式的解析解,因此,使得最优控制的工程实现了可能。反过来又提 出了许多新的理论问题,导致最优控制的直接和间接计算方法的大批研究成果的出 现,进一步推动了控制理论的发展。现代控制理论的形成和发展和数字计算机的飞速 发展和广约应用密不可分。由于计算机的“在线”参与控制,这样,既不要求把控制 器归结为简单的校正网络,也不一定要求有封闭形式的解析解,因此,使得最优控制 的工程实现了可能。反过来又提出了许多新的理论问题,导致最优控制的直接和间接 计算方法的大批研究成果的出现,进一步推动了控制理论的发展。最优控制的含义就是将通常的

24、最优控制问题抽象成一个数学问题,并且用数学语 言严格的表示出来,最优控制可分为静态最有和动态最有两类。静态最优是指在稳定 情况下实现最优,它反映系统达到稳态后的静态关系。系统中的各变量不随时间变化, 而只表示对象在稳定情况下各参数之间的关系,其特性用代数方程来描述。大多数的 生产过程受控对象可以用静态最优控制来处。LQR (linear quadratic regulator)即线性二次型调节器,其对象是现代控制理论中以 状态空间形式给出的线性系统,而目标函数为对象状态和控制输入的二次型函数。 LQR最优设计是指设计出的状态反馈控制器K要使二次型目标函数J取最小值,而K 由权矩阵Q与R唯一决定

25、,故此Q、R的选择尤为重要。LQR理论是现代控制理 论中发展最早也最为成熟的一种状态空间设计法。特别可贵的是,LQR可得到状态线性反馈的最优控制规律,易于构成闭环最优控制。而且MATLAB的应用为LQR理 论仿真提供了条件,更为我们实现稳、准、快的控制目标提供了方便。对于线性系统的控制器设计问题,如果其性能指标是状态变量和(或)控制变量的 二次型函数的积分,则这种动态系统的最优化问题称为线性系统二次型性能指标的最 优控制问题,简称为线性二次型最优控制问题或线性二次问题。线性二次型问题的最 优解可以写成统一的解析表达式和实现求解过程的规范化,并可简单地采用状态线性 反馈控制律构成闭环最优控制系统

26、,能够兼顾多项性能指标,因此得到特别的重视, 为现代控制理论中发展较为成熟的一部分。LQR最优控制利用廉价成本可以使原系统达到较好的性能指标(事实也可以对不 稳定的系统进行整定),而且方法简单便于实现,同时利用MATLAB强大的功能体系 容易对系统实现仿真。LQR控制器是应用线性二次型最优控制原理设计的控制器。它的任务在于,当系 统状态由于任何原因偏离了平衡状态时,能在不消耗过多能量的情况下,保持系统状 态各分量仍接近于平衡状态。线性二次型最优控制研究的系统是线性的或可线性化 的,并且性能指标是状态变量和控制变量的二次型函数的积分。本实验的主要内容是 让实验者了解并掌握线性二次最优控制LQR控

27、制的原理和方法,并对直线一级倒立 摆进行控制实验。线性二次最优控制LQR基本原理为,由系统方程:X=AX+Bu确定下列最佳控制向量的矩阵K:u (t)=- K*x (t)使得性能指标达到最小值:J = j8(x*QX + u*Ru )dt0式中Q一正定(或正半定)厄米特或实对称阵R一为正定厄下面是最优控制米特或实对称阵LQR控制原理图:图2最优控制LQR控制原理图方程右端第二项是是考虑到控制能量的损耗而引进的,矩阵Q和R确定了误差和能量损耗的相对重要性。并且假设控制向量u(t)是无约束的。对线性系统:X = AX + BuY = CX根据期望性能指标选取Q和R,利用MATLAB命令lqr就可以

28、得到反馈矩阵K 的值。K=lqr(A,B,Q,R)改变矩阵Q的值,可以得到不同的响应效果,Q值越大(在一定范围之内),系 统抵抗干扰的的能力越强,调整时间越短。但是Q不能过大,其影响将在实验结果中 阐释。因此,在本题目中,对于Q与R的选择很重要,只有选择好合适的Q与R 才能得到MATLAB仿真的到正确的结果。本题目的重点就是选择合适的Q与R。这需要通过反复的实验得出相对比较理想 的Q与R。得到满足课设要求的结果。方案设计LQR控制电路的原理框图倒立摆模型* LQR控制器设* MATLAB 仿图3 LQR控制电路的原理框图直线一级倒立摆系统的系统状态方程:x.010.x0000.=0000002

29、9.40010 x 1000y =0=0010_|L0四个状态量x,x,0,0分别代表小车位移、小车速度、摆杆角度和摆杆角速 度,输出y = L,0包括小车位置和摆杆角度。设计控制器使得当给系统施加一个阶跃 输入时,摆杆会摆动,然后仍然回到垂直位置,小车可以到达新的指定位置。假定全状态反馈可以实现(4个状态量都可测),找出确定反馈控制规律的向量K,用MATLAB中的lqr函数,可以得到最优控制器对应的K。Lqr函数允许选择两个 参数R和Q,这两个参数用来平衡输入量和状态量的权重。假定R=1,Q=C*C.其中Q1,1 代表小车位置权重,而Q33是摆杆角度的权重。当然,也可以通过改变Q矩阵中的非

30、零元素来调节控制器已彳得到期望的响应。软件编程编程思路:在MATLAB中输入倒立摆模型中A阵、B阵、C阵以及自己选定Q 阵与R阵,通过MATLAB中的LQR算法算出K阵。最后通过响应的画图程序仿真 出响应的倒立摆阶跃响应曲线。本次课设主要用到的是MATLAB进行仿真,程序如下:clear;A= 0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0;B= 0 1 0 3;C= 1 0 0 0;0 0 1 0;D= 0 0 ;Q11=1000; Q33=200;Q=Q11 0 0 0;0 0 0 0;0 0 Q33 0;0 0 0 0;R = 1;K = lqr(A,B,Q,R)A

31、c = (A-B*K); Bc = B; Cc = C; Dc = D;T=0:0.005:5;U=0.2*ones(size(T);Y,X=lsim(Ac,Bc,Cc,Dc,U,T);plot(T,X(:,1),-);hold on;plot(T,X(:,2),-.);hold on;plot(T,X(:,3),.);hold on;plot(T,X(:,4),-)%输入矩阵A%输入矩阵B%输入矩阵C%输入矩阵D%确定Q11与Q33%确定矩阵Q%确定R值%算出K阵%确定T值%确定U值%得到相应%绘制响应曲线%图例legend(CartPos,CartSpd,PendAng,PendSpd)

32、运行程序即可得到K值。系统设计和结果分析根据LQR的基本理论和方案的设计以及MATLAB程序,在MATLAB中进行仿 真,得到结果。取 Q =1,Q =1 时,可得 K = -1 -1.7855 25.422 4.6849。此时系统的响应曲线如下图:图4系统阶跃响应曲线1从图中可以看出,响应的超调量很小,但稳定时间和上升时间偏大,小车的位置没有跟踪输入,而是反方向移动。当缩短稳定时间和上升时间,可以发现:在Q矩阵 中,增加Q”使稳定时间和上升时间变短,并且使摆杆的角度变化减小。显然这个结 果是不符合要求的,不能实现对倒立摆的控制。所以要改变Q与R,经过反复的调试, 得出比较合理的数值。这里取Qu=4500,Q33=150,可得 K =-67.0820 -36.6380 107.851019.7621,系统响应曲线如下:0.020.0150.010.0050-0.005-0.01-0.0150.511.522.533.544.5CartPosCartSpd, PendAngP

温馨提示

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

评论

0/150

提交评论