一级倒立摆的LQR控制器设计(一).doc

上传人:小飞机 文档编号:2791757 上传时间:2023-02-25 格式:DOC 页数:17 大小:198.50KB
返回 下载 相关 举报
一级倒立摆的LQR控制器设计(一).doc_第1页
第1页 / 共17页
一级倒立摆的LQR控制器设计(一).doc_第2页
第2页 / 共17页
一级倒立摆的LQR控制器设计(一).doc_第3页
第3页 / 共17页
一级倒立摆的LQR控制器设计(一).doc_第4页
第4页 / 共17页
一级倒立摆的LQR控制器设计(一).doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《一级倒立摆的LQR控制器设计(一).doc》由会员分享,可在线阅读,更多相关《一级倒立摆的LQR控制器设计(一).doc(17页珍藏版)》请在三一办公上搜索。

1、精选优质文档-倾情为你奉上沈阳航空航天大学课 程 设 计(论文)题目 一级倒立摆的LQR控制器设计(一)班 级 学 号 69 学 生 姓 名 杨 贺 指 导 教 师 王 昱 目 录.1 倒立摆的背景及简介.1 0.2 MATLAB简介及应用. 1一级倒立摆模型和线性二次最优控制LQR基本理论.4 1.1 一级倒立摆模型基本理论.4 1.2 线性二次最优控制LQR基本理论.7002345专心-专注-专业直线一级倒立摆LQR控制器的设计(一)杨贺 沈阳航空航天大学自动化学院摘要:倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台,对倒立摆的控制可以

2、用拉格朗日方法建模,设计倒立摆二次型最优LQR控制器,通过MATLAB仿真和实际系统实验,实现对倒立摆的稳定控制。建立模型,确定参数,进行控制算法设计、系统调试和分析等步骤实现。关键词:倒立摆;状态反馈;MATLAB仿真0. 前言0.1 倒立摆的背景及简介 倒立摆的最初研究开始于20世纪50年代,由美国麻省理工学院的控制论专家根据火箭发射助推器原理设计,倒立摆系统是一个经典的快速、多变量、非线性、绝对不稳定系统,是用来检验某种控制理论或方法的经典方案。倒立摆控制理论产生的方法和技术在半导体及精密仪器加工、机器人技术、导弹拦截控制系统和航空器对接控制技术等方面具有广阔的开发利用前景。因此研究倒立

3、摆系统具有重要的实践意义,一直受到国内外学者的广泛关注。倒立摆的种类很多,有悬挂式倒立摆、平行倒立摆、环形倒立摆、平面倒立摆;倒立摆的级数可以是一级、二级、三级、四级乃至多级;倒立摆的运动轨道可以是水平的,还可以是倾斜的,控制电机可以是单电机,也可以是多级电机。倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。对倒立摆这样的一个典型被控对象进行研究,无论在理论上和方法上都具有重要意义。不仅由于其级数增加而产生的控制难度是对人类控制能

4、力的有力挑战,更重要的是实现其控制稳定的过程中不断发现新的控制方法,探索新的控制理论,并进而将新的控制方法应用到更广泛的受控对象中。各种控制理论和方法都可以在这里得以充分实践,并且可以促成相互间的有机结合。0.2 MATLAB简介及应用 对于倒立摆的研究,用到的最多的软件就是MATLAB,这次课设也不例外,所以在这里,对MATLAB进行一些简单的介绍。在20世纪70年代中期,Cleve Moler博士和其同事在美国国家科学基金的资助下开发了调用EISPACK和LINPACK的FORTRAN子程序库。EISPACK是特征值求解的FORTRAN程序库,LINPACK是解线性方程的程序库。在当时,这

5、两个程序库代表矩阵运算的最高水平。到20世纪70年代后期,身为美国New Mexico大学计算机系系主任的Clev e Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发现学生用FORTRAN编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK和LINPACK的接口程序。Cleve Moler给这个接口程序取名为MATLAB,该名为矩阵(matrix)和实验室(laboratory)两个英文单词的前三个字母的组合。在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。1983年春天

6、,Cleve Moler到Stanford大学讲学,MATLAB深深地吸引了工程师John Little。John Little敏锐地觉察到MATLAB在工程领域的广阔前景。同年,他和 Cleve Moler、Sieve Bangert一起,用C语言开发了第二代专业版。这一代的MATLAB语言同时具备了数值计算和数据图示化的功能。1984年,Cleve Moler和 John Lithe成立了MathWorks公司,正式把MATLAB推向市场,并继续进行MATLAB的研究和开发。在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类。一类是数值计算型软件,如 MATLA

7、B、Xmath、Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,如Mathematica、Maple等,这类软件以符号计算见长,能给出解析解和任意精度解,其缺点是处理大量数据时效率较低。MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算、文字处理、可视化建模和实时控制能力,开发了适合多学科、多部门要求的新一代科技应用软件MATLAB。经过多年的国际竞争,MATLAB 已经占据了数值型软件市场的主导地位。在MATLAB进入市场前,国际上的许多应用软件包都是直接以FORTRAN和C语言等编程语言开发的

8、。这种软件的缺点是使用面窄、接口简陋、程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。MATLAB的出现,为各国科学家开发学科软件提供了新的基础。在MATLAB问世不久的20世纪80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。时至今日,经过Math Works公司的不断完善,MATLAB已经发展成为适合多学科、多种工作平台的功能强劲的大型软件。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB已经成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生、硕士生

9、、博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编

10、译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。 MATLAB是一个高级的/阵列语言,它控制语句、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的基础上的,因此语法特征与C+语言极为相似,而且更加简单,更加符合科技人员学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个的重要原因。MATLAB自产生之时起就具有方便的数据可视化功能,以将向量和用图

11、形表现出来,并且可以对图形进行标注和打印。高层次的作图包括和的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以

12、得到满足。MATLAB对许多专门的都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。,诸如数据采集、数据库接口、样条拟合、优化、求解、信号处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非控制设计、实时快速原型及半仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。1. 一级倒立摆模型和线性二次最优控制LQR基本理论1.1 一级倒立摆模型基本理论直线一级倒立摆建模:小车由电机通过同步带驱动在滑杆上

13、来回运动,保持摆杆平衡。电机编码器和角编码器向运动卡反馈小车和摆杆位置(线位移和角位移)。导轨截面成H 型,小车在轨道上可以自由滑动,其在轨道上的有效运行长度为1米。轨道两端装有电气限位开关,以防止因意外失控而撞坏机构。倒立摆系统由水平移动的小车及由其支撑的单节倒立摆构成。控制输入为驱动力F(N),是由拖动小车的直流伺服电机提供的;被控制量是摆杆与垂直位置方向夹角(rad)和小车的位移x(m)。 图1 倒立摆系统假定倒立摆系统的参数如下。摆杆的质量:m=0.1g;摆杆的长度:2l=1m;小车的质量:M=1kg;重力加速度:g=10/s2;摆杆惯量:I=0.003kgm2;摆杆的质量在摆杆的中心

14、。 分析小车水平方向所受的合力,可以得到以下的方程: (1)由摆杆水平方向的受力进行分析可以得到下面的等式: (2)将此等式代入上述等式中,可以得到系统的第一个运动方程: (3) 为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到 下面的方程: (4)力矩平衡方程如下: (5)合并这两个方程,约去P和N,得到第二个运动方程: (6)微分方程模型:设=+,当摆杆与垂直向上方向之间的夹角与1(单位是弧度)相比很小时,即1时,则可以进行如下近似处理: (7)线性化后得到该系统数学模型的微分方程表达式: (8)传递函数模型:对上述方程组进行拉氏变换后得到: (9) 解上述方程可

15、得输入量为加速度,输出量为摆杆摆角的传递函数: (10)输入量为力,输出量为摆角的传递函数: (11) (12)状态空间数学模型控制系统的状态空间方程可写成如下形式: (13)解代数方程可得如下解: (14)整理后可得系统的状态空间方程: (15) (16)对于质量均匀分布的摆杆,其转动惯量为: (17)代入微分方程模型中得: (18)化简后可得: (19)设 则有: (20) 课程设计要求:熟悉倒立摆实际控制系统;对倒立摆系统建模;进行控制算法设计;进行系统调试和分析;利用MATLAB高级语言编程,实现倒立摆稳定控制;实时输出波形,得出结论。1.2 线性二次最优控制LQR基本理论 最优控制理

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

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

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

19、来,最优控制可分为静态最有和动态最有两类。静态最优是指在稳定情况下实现最优,它反映系统达到稳态后的静态关系。系统中的各变量不随时间变化,而只表示对象在稳定情况下各参数之间的关系,其特性用代数方程来描述。大多数的生产过程受控对象可以用静态最优控制来处。LQR (linear quadratic regulator)即调节器 ,其对象是现代控制理论中以形式给出的 ,而为对象状态和控制输入的二次型函数。LQR是指设计出的控制器 K要使目标函数J取最小值,而 K由Q 与 R 唯一决定,故此 Q、 R 的选择尤为重要。LQR理论是现代控制理论中发展最早也最为成熟的一种状态空间设计法。特别可贵的是 ,LQ

20、R可得到状态反馈的最优控制规律 ,易于构成闭环最优控制。而且 MATLAB 的应用为LQR 理论仿真提供了条件 ,更为我们实现稳、准、快的控制目标提供了方便。对于的控制器设计问题,如果其性能指标是和(或)的函数的积分,则这种动态系统的称为线性系统二次型性能指标的最优控制问题,简称为线性二次型最优控制问题或线性二次问题。线性问题的最优解可以写成统一的解析表达式和实现求解过程的规范化,并可简单地采用状态线性反馈构成闭环,能够兼顾多项性能指标,因此得到特别的重视,为现代控制理论中发展较为成熟的一部分。LQR最优控制利用廉价成本可以使原系统达到较好的性能指标(事实也可以对不稳定的系统进行整定) ,而且

21、方法简单便于实现 ,同时利用MATLAB强大的功能体系容易对系统实现仿真。 LQR控制器是应用线性二次型最优控制原理设计的控制器。它的任务在于,当系统状态由于任何原因偏离了平衡状态时,能在不消耗过多能量的情况下,保持系统状态各分量仍接近于平衡状态。线性二次型最优控制研究的系统是线性的或可线性化的,并且性能指标是状态变量和控制变量的二次型函数的积分。本实验的主要内容是让实验者了解并掌握线性二次最优控制LQR控制的原理和方法,并对直线一级倒立摆进行控制实验。线性二次最优控制LQR基本原理为,由系统方程: 确定下列最佳控制向量的矩阵K: 使得性能指标达到最小值: 式中 Q正定(或正半定)厄米特或实对

22、称阵 R为正定厄米特或实对称阵下面是最优控制LQR控制原理图:图2 最优控制LQR控制原理图方程右端第二项是是考虑到控制能量的损耗而引进的,矩阵Q和R确定了误差和能量损耗的相对重要性。并且假设控制向量u(t) 是无约束的。对线性系统:根据期望性能指标选取Q和R,利用MATLAB命令lqr就可以得到反馈矩阵K的值。 K=lqr(A,B,Q,R)改变矩阵Q的值,可以得到不同的响应效果,Q值越大(在一定范围之内),系统抵抗干扰的的能力越强,调整时间越短。但是Q不能过大,其影响将在实验结果中阐释。因此,在本题目中,对于Q与R的选择很重要,只有选择好合适的Q与R才能得到MATLAB仿真的到正确的结果。本

23、题目的重点就是选择合适的Q与R。这需要通过反复的实验得出相对比较理想的Q与R。得到满足课设要求的结果。2. 方案设计 LQR控制电路的原理框图LQR控制器设计MATLAB仿真倒立摆模型 图3 LQR控制电路的原理框图 直线一级倒立摆系统的系统状态方程:四个状态量,分别代表小车位移、小车速度、摆杆角度和摆杆角速度,输出包括小车位置和摆杆角度。设计控制器使得当给系统施加一个阶跃输入时,摆杆会摆动,然后仍然回到垂直位置,小车可以到达新的指定位置。假定全状态反馈可以实现(4个状态量都可测),找出确定反馈控制规律的向量K,用MATLAB中的lqr函数,可以得到最优控制器对应的K。Lqr函数允许选择两个参

24、数R和Q,这两个参数用来平衡输入量和状态量的权重。假定R=1,Q=C*C.其中代表小车位置权重,而是摆杆角度的权重。当然,也可以通过改变Q矩阵中的非零元素来调节控制器已得到期望的响应。3. 软件编程 编程思路:在MATLAB中输入倒立摆模型中A阵、B阵、C阵以及自己选定Q阵与R阵,通过MATLAB中的LQR算法算出K阵。最后通过响应的画图程序仿真出响应的倒立摆阶跃响应曲线。 本次课设主要用到的是MATLAB进行仿真,程序如下: clear; A= 0 1 0 0; %输入矩阵A 0 0 0 0; 0 0 0 1; 0 0 29.4 0; B= 0 1 0 3; %输入矩阵B C= 1 0 0

25、0; %输入矩阵C 0 0 1 0; D= 0 0 ; %输入矩阵D Q11=1000; Q33=200; %确定Q11与Q33 Q=Q11 0 0 0; %确定矩阵Q 0 0 0 0; 0 0 Q33 0; 0 0 0 0; R = 1; %确定R值 K = lqr(A,B,Q,R) %算出K阵 Ac = (A-B*K); Bc = B; Cc = C; Dc = D; T=0:0.005:5; %确定T值 U=0.2*ones(size(T); %确定U值 Y,X=lsim(Ac,Bc,Cc,Dc,U,T); %得到相应 plot(T,X(:,1),-);hold on; %绘制响应曲线

26、plot(T,X(:,2),-.);hold on; plot(T,X(:,3),.);hold on; plot(T,X(:,4),-) legend(CartPos,CartSpd,PendAng,PendSpd) %图例 运行程序即可得到K值。4. 系统设计和结果分析根据LQR的基本理论和方案的设计以及MATLAB程序,在MATLAB中进行仿真,得到结果。取=1,=1时,可得K = -1 -1.7855 25.422 4.6849。此时系统的响应曲线如下图:图4 系统阶跃响应曲线1从图中可以看出,响应的超调量很小,但稳定时间和上升时间偏大,小车的位置没有跟踪输入,而是反方向移动。当缩短稳

27、定时间和上升时间,可以发现:在Q矩阵中,增加使稳定时间和上升时间变短,并且使摆杆的角度变化减小。显然这个结果是不符合要求的,不能实现对倒立摆的控制。所以要改变Q与R,经过反复的调试,得出比较合理的数值。这里取=4500,=150,可得K =-67.0820 -36.6380 107.8510 19.7621,系统响应曲线如下: 图5 系统响应曲线2综上,通过增大Q矩阵中的和,系统的稳定时间和上升时间变短,超调量和摆杆的角度变化也同时减小。这样的Q与R是符合要求的。5. 结论及进一步设想LQR控制器是应用线性二次型最优控制原理设计的控制器。因此,只要建立合适的数学模型,通过现代理论的知识,试出比

28、较合适的矩阵,设计合适的LQR控制器,并通过MATLAB进行实现控制系统的仿真,算出合适的K矩阵,得到了符合要求的仿真结果,即一级倒立摆的各种状态量及控制量的响应曲线,就可以控制倒立摆了。由仿真的结果,可以看出本次试验基本上完成了课设的要求,达到了课设的目的,但由于知识有限,设计的Q与R阵还有一些缺陷。进一步设想:LQR最优算法是否能与其他算法一起作用来控制系统呢?如果不能,为什么,如果能,得到的控制器对于问题的控制会更准确方便,还是会适得其反呢。这个问题有时间要探究一下。参考文献1 原思聪. MATLAB语言与应用技术. 北京: 国防工业出版社, 20111 郝裕森,戴先中. 过程控制工程.

29、 北京:机械工业出版社,20102 于海生,丁军航等. 可微型计算机控制技术. 北京:清华大学出版社,20103 刘慧颖 MATLAB R2006a基础教程. 北京:清华大学出版社,20074 程武山 智能控制理论、方法与应用. 北京:清华大学出版社,20095 智能控制及其MATLAB实现.北京:电子工业出版社,20056 帅黎、陈铁军等. 智能控制实验与综合设计指导 北京:清华大学出版社,20087 何正风 MATLAB动态仿真实例教程. 北京:人民邮电出版社,20128 李人厚,王拓 智能控制理论和方法. 西安:西安电子科技大学出版社,2013 课设体会通过本次课设,我对LQR算法有了一

30、定的了解,还了解了一些倒立摆的控制方法以及建模问题。对MATLAB的应用也更加的熟练了,真可谓受益匪浅。对于有些自己不懂的知识,多看书,多请教同学与老师,多探讨。既能学到东西又能和同学们多沟通,多接触,一举多得,通过这次课设,我熟悉了倒立摆实际控制系统的硬件结构形式和倒立摆控制系统软件。同时复习了MATLAB应用的一些知识,看到了自己的不足,也学习了许多。培养了对于科学严谨的态度。最后,要特别感谢王昱老师对我的耐心指导,在我有不明白的时候给我及时的讲解,让我更加深刻的了解我的课设内容,更让我学到更多的知识,教会了我一些解决问题的方法,对我的影响很大,特此,表示感谢! 2013年7月 12日完成

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号