一级倒立摆的可视化建模与稳定控制设计.docx
《一级倒立摆的可视化建模与稳定控制设计.docx》由会员分享,可在线阅读,更多相关《一级倒立摆的可视化建模与稳定控制设计.docx(50页珍藏版)》请在冰豆网上搜索。
一级倒立摆的可视化建模与稳定控制设计
本科毕业论文
一级倒立摆的可视化建模与稳定控制设计
燕山大学
年月
本科毕业论文
一级倒立摆的可视化建模与稳定控制设计
学院:
专业:
学生姓名:
学号:
指导教师:
答辩日期:
燕山大学毕业设计(论文)任务书
学院:
电气工程学院专业(方向):
自动化系
学
号
学生
姓名
专业
班级
题
目
题目名称
一级倒立摆的可视化建模与稳定控制设计
题目性质
1.理工类:
工程设计();工程技术实验研究型();
理论研究型();计算机软件型();综合型()。
2.文管类();3.外语类();4.艺术类()。
题目类型
1.毕业设计()2.论文()
题目来源
科研课题()生产实际()自选题目()
主
要
内
容
1.学习神经网络建模原理及实现方法;
2.学习MATLAB编程与GUI设计;
3.设计基于MATLAB的一级倒立摆可视化模型及稳定控制系统;
4.仿真验证设计方案的正确性,给出最后调试结果。
基
本
要
求
1.毕业设计学位论文一份(不少于35页);2.要求条理清晰、文笔通顺、字迹工整,图形及文字符号符合国家现行标准;3.毕业论文及图纸需经指导教师审核通过(签字),并经专业(教研室)教学主任签字;4.遵守毕业设计期间的纪律,按时答疑;5.独立完成设计任务,培养基本的科研能力;6.给出程序清单,仿真结果;7.绘制A1图纸1张,符号、文字规范;8.翻译一篇与课题相关的英文文献。
9.培养学生在项目管理、经济成本、社会、健康、安全、文化、环境及可持续发展等方面意识和能力。
参
考
资
料
1.周品,MATLAB图像处理与图形用户界面设计[M],清华大学出版社;
2.丛爽.面向MATLAB工具箱的神经网络理论与应用[M].北京:
中国科学技术大学出版社,1998.
3.基于LabVIEW的倒立摆控制系统的设计与实现,微型机与应用,2011年第13期
4.相关的自查资料若干。
周次
1-4周
5-8周
9-11周
12-15周
16-17周
应
完
成
的
内
容
查阅并消化理解资料,明确设计内容,做好设计准备。
基本理论的学习,编程语言的学习;方案设计与论证。
方案设计与论证,仿真调试。
仿真验证,整理毕业设计论文。
撰写论文,绘图,准备答辩
指导教师:
职称:
教授2016年6月25日
注:
周次完成内容请指导老师根据课题内容自主合理安排。
摘要
倒立摆系统是一个典型的具有强耦合、多变量、非线性、不稳定性的系统,研究倒立摆系统在控制理论和方法上具有很深远的意义。
倒立摆系统的学习研究可以被归纳总结为对非线性、多变量、不稳定性系统的研究。
本文首先叙述了对倒立摆系统稳定性研究的意义,概况了倒立摆国内外研究动态,并简要介绍了目前存在的对倒立摆稳定性控制的各种方法。
具体对BP神经网络进行介绍,分析系统的神经网络结构。
设计出倒立摆系统的BP神经网络控制器,并利用MATLAB的仿真平台进行仿真,得到正确的仿真结果。
最后利用GUI设计可视化界面,对仿真结果进行观测。
对BP算法的系统的学习和研究,设计出一级倒立摆的BP神经网络控制器,并利用MATLAB仿真成功,对一级倒立摆的稳定性具有较好的控制。
关键词:
倒立摆;BP神经网络;MATLAB;GUI
Abstract
Invertedpendulumsystemisatypicalstrongcoupling,multivariable,nonlinear,instabilitysystems,researchofinvertedpendulumsystemhasfar-reachingsignificanceincontroltheoryandmethods.Learninginvertedpendulumsystemcanbesummarizedasnonlinearmultivariableinstabilitystudyofthesystem.
Thispaperdescribesthestudyofthestabilityoftheinvertedpendulumsystemmeaning,generalizesthependulumresearchtrends,andabriefintroductionofinvertedpendulumstabilitycontrolvariousmethodscurrentlyexist.SpecificallyonBPneuralnetworkneuralnetworkarchitectureintroducesandanalyzesthesystem.DesignedinvertedpendulumBPneuralnetworkcontroller,andusingMATLABsimulationplatformforsimulation,togetthecorrectsimulationresults.Finally,theGUIinterfacedesignvisualization,simulationresultsareobserved.
StudyBPalgorithm,designofinvertedpendulumneuralnetworkcontroller,andusingMATLABsimulationissuccessful,thestabilityofaninvertedpendulumhasbettercontrol.
Keywords:
invertedpendulum;BPneuralnetwork;MATLAB;GUI
第1章绪论
1.1倒立摆系统研究的目的和意义
倒立摆系统是一个不稳定的系统,在控制系统稳定性的学习研究方面有很广泛应用。
目前,它的研究成果已经被很多领域广泛应用。
倒立摆系统的稳定性控制的方法也是多种多样,我们可以根据需要选择不同的控制理论或方法。
由于倒立摆稳定性控制的结果可以很直观的观察到,所以可以被用来验证所使用的控制方法的控制效果。
倒立摆系统的控制系统研究收到广泛关注和重视,而且还涵盖了很多不同学科的知识,比如力学、数学、计算机、神经网络等。
是多种知识的综合,对知识的应用也是一个很大的锻炼。
倒立摆系统的研究在之后也将产生深远的影响。
倒立摆系统拥有低投入、简易的结构、直观的形象、方便仿真等特点。
所以在控制理论发展和验证过程中,被广泛应用。
而且作为一个不稳定系统,稳定性控制就是一个具有典型性的控制问题,我们可以使用一些控制理论和方法,来对其进行系统的稳定性控制,最后的控制效果也可以通过观察很直观的得到。
利用这一特性,我们也可以用来验证控制理论和方法的正确性和可行性,所以对倒立摆的稳定性控制具有很重要的意义。
不仅在控制理论发展方面有这重要作用,在军工、航空等也有很重要的作用。
因为与其有一些相似之处,其他的稳定性控制也能借鉴与倒立摆控制的经验。
在火箭、飞机、卫星等的稳定性控制也都有倒立摆控制的影子。
因此,我们对倒立摆的稳定性控制研究在当今社会有着很深远的意义和影响。
1.2倒立摆系统的分类
最初的倒立摆系统只有一种,就是直线一级倒立摆。
它由一辆可以直线运行的小车和一级摆杆构成。
摆杆一端固定在小车上,一端可以自由转动。
之后,随着倒立摆系统的发展,出现了很多各种各样立摆系统。
首先,考虑到倒立摆系统底座的运行方式的不同,可以分为三个类型,分别为直线倒立摆、环形倒立摆和平面倒立摆。
又根据摆杆数目的多少分为一级倒立摆、二级倒立摆、三级倒立摆以及及多级倒立摆等,控制难度上来说,摆杆的数量越多,系统稳定性控制难度就会增加,同时摆杆的长度也可能发生变化。
其中,直线倒立摆因为其结构简单、形象直观、成本低、产品参数容易更改等特性,被引用进很多的教学项目。
现今,倒立摆系统的稳定性控制已经有了长足的发展,而且应用的领域也越来广泛。
而其他一些比较复杂的倒立摆系统,和直线倒立摆有着相似之处,在控制方面也可以借鉴一些直线倒立摆系统的控制经验。
其中,平面倒立摆是倒立摆系统中最复杂的一种,这取决于它底座的运行方式,底座可以在平面内自由运动,而且摆杆可以任意转动,就使对其的稳定性控制增加了很多的难度。
而且在硬件的发展方面也不能有很长足的发展,更增大了平面倒立摆的实现难度。
但是,相信随着控制系统的不断发展和硬件的不断更新,在不久的将来,各种倒立摆的控制将不再是一个问题。
再考虑摆杆的材料,我们又可以对倒立摆进行分类。
主要包括:
刚体摆杆倒立摆系统和柔性摆杆倒立摆系统。
在后者的控制系统中,对摆杆的控制也已经成为了系统非线性控制的一部分。
如果考虑所进行的研究的目的和方法的不同,我们还可以将倒立摆系统进行分类。
倒立摆系统包括以下几类:
悬挂式倒立摆系统、球平衡系统和平行式倒立摆系统。
现在,在控制研究方面,我们对悬挂式倒立摆的研究最多,而且研究成果的应用也最为广泛。
悬挂式倒立摆在控制开始之前,摆杆垂直向下。
当开始控制的时候,先将摆杆在一定频率下进行摆动,随着摆动幅度的增大,摆杆会越来越接近竖直位置,当一定时间过后,摆杆接近竖直位置时,系统将对倒立摆系统进行稳定性控制,最终使倒立摆的摆杆可以处在竖直向上的位置,并保持不动。
根据小车轨道形状的差异,倒立摆系统的也可以进行分类。
小车轨道可能是水平放置的,也有可能是倾斜放置的。
我们可以根据不同情况进行相应的稳定性控制,由于机器人的步行稳定控制与小车轨道倾斜的倒立摆有类似的地方,所以对倾斜倒立摆的稳定性控制,对机器人的稳定性控制有很大的借鉴作用。
虽然,倒立摆系统有着五花八门的种类,但是不管形状结构怎么变化,本质都没有发生太大的变化。
都具有倒立摆系统所具有的特性:
非线性、多变量、强耦合、不稳定性,所以在对其的稳定性控制方面也有这类似的控制方法,能够互相借鉴经验。
1.3倒立摆系统研究的历史与现状
倒立摆系统在国外的研究起始于二十世纪六十年代。
在一九六六年,Cannon等人开拓了倒立摆系统控制的先河,对直线一直倒立摆系统进行了稳定性控制,对之后的倒立摆控制发展起到了很重要的作用。
之后,在一九七五年,Smith等人也完成了对直线一级倒立摆的稳定性控制,最优控制和状态重构被他们应用在了倒立摆稳定性控制中。
从二十世纪七十年代开始,倒立摆系统的控制研究又有了很大发展,二级倒立摆的稳定性控制也开始了研究。
在一九七二年,二级倒立摆系统的稳定性控制由Sturgen等人实现,他们所采用了模拟的方法完成了对系统的控制。
一九七八年,Furuta等人也实现了二级道理摆的稳定性控制,使用了小型计算机,接着在一九八零年,他们又完成了在倾斜轨道上的二级倒立摆的稳定性控制。
相对于国外的倒立摆系统研究,国内开始研究就要稍微晚点。
我们国家对于倒立摆系统的控制研究起始于二十世纪八十年代。
在一九八二年,西安交通大学使用最优控制和降维观测器,以模拟电路的实现形式,完成了二级倒立摆的研制和控制。
接着在一九八三年,一级倒立摆系统的稳定控制在国防科技大学得以实现。
一九八七年,上海机械学院使用微机控制的方法,分别实现了一级倒立摆系统和二级倒立摆系统的研制,而且在倾斜的轨道上面实现了对二级倒立摆系统的稳定性控制。
九十年代之后,一些新的控制思想和理论被提出来。
来自北京师范大学的李洪兴教授从本质出发,利用模糊控制的数学本质,提出了变论域自适应模糊控制的思想。
二零零一年九月十九日,李洪兴教授对三级倒立摆实物进行了实时的稳定性控制,采用的控制方法就是之前自己所提出的变论域自适应模糊控制方法,验证了控制方法的正确性,得出的结论是这种模糊控制方法可以对倒立摆系统进行良好的稳定性控制。
1.4倒立摆的控制方法
一级倒立摆系统包括一个输入对象和四个输出对象,四个输出对象包括:
摆杆角度、角速度、小车位移和速度,一个输出为力。
是一个单输入多输出的典型控制系统,我们先要对小车和摆杆进行受力分析,根据牛顿第二定律,然后建立运动方程,之后根据近似关系进行线性化处理,再进行拉布拉斯变换,得到一个传递函数,然后根据得到的传递函数,推导出一级倒立摆系统的状态空间方程,还要进行稳定性分析,和能控能观性分析,为之后控制器的设计做准备。
倒立摆系统一个典型的不稳定系统,对其进行稳定性控制是控制研究的重点,现在已经有很多的控制理论和方法被应用到倒立摆系统的控制中,主要的控制方法有一下这些:
1.PID控制
根据倒立摆的运动,进行受力分析,得到运动方程,线性化后经过拉氏变换后得到传递函数,然后得到状态空间方程进行PID控制器的设计,完成一级倒立摆的PID控制;
2.状态反馈控制
根据倒立摆的运动,进行受力分析,得到运动方程,线性化后经过拉氏变换后得到传递函数,然后得到状态空间方程,将状态反馈和Kalman滤波相结合,对倒立摆系统进行稳定性控制。
3.神经网络控制
神经网络控制可以对非常不确定性系统的动态特性就行学习和适应,可以非常接近复杂的非线性关系,网络内的神经元可以用来存储那些定量或者定性的数据,具有强鲁棒性和较大的容错率。
4.自适应控制
采用设计出自适应控制器的方法对倒立摆进行控制。
5.模糊控制
模糊控制的步骤分一下几步,第一步,我们要选定基本的语言值,第二步,进行隶属函数的选取,第三步,前两步完成之后,我们就可以建立模糊控制的规则,最后,一个系统的模糊控制器就基本完成了。
当然,除了上面提到的一些控制理论和方法外,我们还可以选择其他的控制方法,也可以将不同的控制方法结合起来,进行倒立摆系统的稳定性控制。
像神经网络PID控制、模糊神经网络控制、模糊自适应控制等等,都是结合了不同控制方法产生的新的控制方法,也能够实现都倒立摆系统的稳定性控制。
1.5神经网络控制介绍
由于神经网络控制具有速度快、适应力强、鲁棒性强等特性,被广泛应用于倒立摆系统的稳定性控制中。
神经网络控制理论被用来研究非线性系统,是在二十世纪八十年代被很多学者提出来的,引起了大家的广泛关注,也使神经网络控制得到了很大的发展。
早在一九八三年,Bartols等就设计了两个单层神经网络,采用AHc(Adaptiveheuristiecritie)学习算法实现状态离散化的倒立摆控制。
而在一九八九年,Anderosn使用Adaptiveheristiecritie和神经网络控制,利用倒立摆系统的稳定性控制。
然而这两种控制方法不能被应用在其他类系统中。
神经网络具有如下特点:
1.具有自适应能力
根据得到的数据,然后进行学习和训练,我们可以得到输入量也输出量之间的关系,然后就可以得到我们所需要的答案,这样具有更好的适应性,因为我们不是根据已知的知识和规则。
2.具有泛化能力
这里所说的泛化能力指的是,我们可以根据得到的少量的样本,进行学习和训练,使神经网络可以在设定的区域中到达需要的精度,同样可以根据不完全的数据,得到想要的结果,有很大的容错能力。
这种泛化能力在很多控制问题中有很重要的作用,因为在现实的控制问题中,我们得到的样本数据通常都是不完整的,利用这种泛化能力,我们就可以根据这些不完全的数据,得到我们想要的结果。
3.非线性映射能力
通常,系统的稳定性控制都不是一个简单的线性化关系,而是一个非常复杂的非线性关系,神经网络可以很有效的被应用到这些控制中。
为控制问题提供了一种很强力的方法。
4.高度并行处理
和传统的计算机程序相比,神经网络的处理方式是高度并行的,所以处理速度很高,神经网络可以被应用于很多方面,比如分类、预测及模式识别。
而且可以根据所得的样本数据对系统进行建模、估计和逼近。
一般来说,如果我们得到的数据不完整,我们都可以使用神经网络来进行控制。
但是在一些特殊情况下,使用神经网络控制也会有一些弊端,有时候神经网络的训练速度回很慢,需要大量数据。
1.6本论文的工作任务及设计思路
学习倒立摆系统的相关知识,进行数学建模,并利用BP算法设计神经网络控制器,在Simulink中建立一个倒立摆系统的仿真模型,加入控制器,并对控制效果进行仿真验证,最后利用GUI设计一个可视化的页面。
包括以下几个内容:
1.一级倒立摆的数学模型的建立;
2.BP神经网络控制器的设计;
3.MATLAB仿真验证,观测仿真结果;
4.GUI可视化界面的设计。
设计思路:
首先建立一级倒立摆的数学模型,然后利用MATLAB设计仿真模型,然后结合BP算法,设计BP神经网络控制器,来对一级倒立摆系统进行稳定性控制,利用Simulink仿真得到仿真结果,验证设计的正确性,最后使用GUI设计可视化界面,可以对仿真结果进行观测。
第2章一级倒立摆数学模型的建立
2.1一级倒立摆的受力分析及建模
2.1.1受力分析及运动方程推导
控制系统的数学模型的建立是研究控制系统的首要前提。
只有我们进行了系统数学模型的建立,我们才能对系统进行分析,然后才能设计控制器来对系统进行控制,然后可以验证控制方法的正确性。
现在人们使用的控制方法包括两大类:
解析法核系统辨识法。
第一种,我们可以对系统结构进行数据分析,比如受力分析等等,然后得到数学模型,我们称这样的模型为机理模型或者解析模型:
第二种,利用实验所得信息建立的模型。
倒立摆系统是个不稳定系统,通常使用第一种方法。
本文研究的一级倒立摆,属于直线倒立摆。
在轨道上面放一个可以前后运动的小车,然后小车上方固定一个摆杆,摆杆一端与小车连接并固定,另一端可以自由活动。
为了能够更加方便的进行运动方程的推导,我们不妨进行以下假设:
1.摆杆在运动中是不变形的刚体;
2.齿型带与轮之间无相对滑动,齿型带无拉长现象;
3.小车在运动过程中,摩擦系数一定;
4.忽略空气阻力。
根据我们的假设,我们可以将系统简化为小车和摆杆组成的系统,如图1.1所示。
图1.1一级倒立摆系统
可以做如下假设:
小车质量:
1.096kg
摆杆质量:
0.109kg
小车摩擦系数:
0.1N/m/s
摆杆转动轴心到杆质心的长度:
0.25m
摆杆惯量:
0.0034kg·m2
加在小车上的力
小车位置
摆杆与垂直向上方向的夹角
摆杆与垂直向下方向的夹角
图1.2是系统中小车和摆杆的受力示意图。
图1.3是摆杆的隔离受力图。
图1.2小车受力图图1.3摆杆受力图
先对小车在水平方向进行受力分析,得:
(1-1)
对摆杆进行水平方向的受力分析,得:
(1-2)
即:
(1-3)
把这个等式代入(1-1)中,就可以得到系统的第一个运动方程:
(1-4)
我们对摆杆竖直方向惊醒受力分析,得:
(1-5)
(1-6)
力矩平衡方程如下:
(1-7)
然后,得:
(1-8)
设
(
是摆杆与垂直向上方向之间的夹角),假设
与1(单位是弧度)相比很小,即
,则可以进行近似处理:
,
,
。
将以上运动方程化简,得:
(u表示水平受力F)
(1-9)
2.1.2传递函数
对式(1-9)进行拉普拉斯变换,得到:
(1-10)
由于输出为角度
,求解方程组的第一个方程,可以得到:
(1-11)
或
(1-12)
如果令
,则有:
(1-13)
将(1-13)代入(1-9),得到:
(1-14)
整理后得到传递函数:
(1-15)
其中
代入数据得:
(1-16)
2.1.3状态空间方程
设系统状态空间方程为:
(1-17)
方程组对
,
解代数方程,得到解如下:
(1-18)
整理后得到系统的状态空间方程:
(1-19)
代入数据得:
(1-20)
2.2一级倒立摆的系统分析
我们推导出了以上的空间状态方程和传递函数,还需要对系统进行稳定性分析,能控性分析和能观性分析,可以对系统的特性有更进一步的认识。
如果,最终我们能够将倒立摆的摆杆稳定在垂直朝上的位置,那么代表神经网络控制器可以对倒立摆系统进行稳定性控制。
在一级倒立摆系统的控制器设计之前,首先要对系统内进行系统分析,包括稳定性分析,和能控能观性,只有系统能控,才能设计稳定控制器。
而且不仅要要求能控,我们还要对系统进行线性化分析。
我们可以根据得到的传递函数来计算系统极点,通过判断系统极点,从而判断系统是否稳定。
2.2.1系统稳定性分析
在经典控制理论中,对线性定常系统稳定性的概念是这样定义的:
如果系统由于受到扰动作用而偏离了原来的平衡状态,当扰动去除后,如果能恢复到原来的平衡状态,则称该系统是稳定的,否则该系统是不稳定的。
我们可以求系统的极点,如果极点有不稳定极点,那么系统就是不稳定的。
系统传递函数表达式为。
利用MATLAB计算特征根,程序如下:
A=[0100;0-0.08830.62930;0001;0-0.235727.82850];
B=[0;0.8832;0;2.3566];
C=[1000;0010];
D=[0;0];
[num,den]=ss2tf(A,B,C,D);
P=roots(den)%求系统特征根
运行结果:
P=
0
5.2726
-5.2780
-0.0830
计算得到
。
因为其中一个极点为5.2727>0,所以极点位于S平面右半部,是不稳定极点,所以系统是不稳定的。
2.2.2系统能控性分析
如果系统能够被控制,那么我们就说该系统是可控系统。
一个线性定常系统(A,B,C),其状态向量x属于n维实空间,即
。
若对R
空间中任意一个状态x(t
)状态与R
空间中另任意一个状态x(t
)状态,存在一个有限的时间t
>t
及输入u(t
t
),能在t
内使x(t
)状态转移到x(t
),则系统叫做完全可控(简称可控)。
考虑线性定常系统的状态方程:
,
,
其中,x是状态向量,u是输入向量,A,B都是常数阵。
可以根据矩阵A和B确定系统的能控性。
线性定常系统对于
完全能控的充要条件是下列命题中任何一个成立:
1.矩阵
的行在[0,
)上线性独立。
2.对于任何t
t
>0和
;如下定义的格兰姆矩阵非奇异:
3.矩阵
其中
4.矩阵(Si-A)
B的行线性独立。
矩阵
称为系统的能控变换矩阵,该矩阵可以由MATLAB控制系统工具箱中的ctrb()函数自动产生出来。
其调用格式为:
矩阵的秩rank(Tc)称为系统的能控性指数,它的值是系统中能控状态的数目。
如果rank(Tc)=n,则系统完全能控。
利用MATLAB可以求出rank(
)=4,即矩阵
满秩,可知系统可控。
程序如下:
A=[0100;0-0.08830.62930;0001;0-0.235727.82850];
B=[0;0.8832;0;2.3566];
Tc=ctrb(A,B)%系统的能控