小滑车倒摆系统_第1页
小滑车倒摆系统_第2页
小滑车倒摆系统_第3页
小滑车倒摆系统_第4页
小滑车倒摆系统_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

控制系统的数学模型

设有一个倒立摆安装在马达传动车上,如图2.4所示。倒立摆不是稳定的,如果没有适当的控制力作用在它上面,它将随时可能向任何方向倾倒。这里只考虑二维问题,即认为倒立摆只在图2.5所示平面内运动。控制力u作用于小车上。假设摆杆的重心位于其几何中心A。试求该系统的运动方程式。

解:(1)设输入作用力为u,输出为摆角θ。(2)写原始方程式。设摆杆中心A的坐标为,于是

画出系统隔离体受力图如图2.5所示。oF图2.5隔离体受力图yMxllθAmgVVHHlcosθo图2.4倒立摆系统yFxθmgllPMA第二章控制系统的数学模型式中,J为摆杆围绕重心A的转动惯量。摆杆重心A

沿x轴方向运动方程为摆杆重心A

沿y轴方向运动方程为即(2.1)(2.2)即摆杆围绕中心A点转动方程为小车沿x轴方向运动方程式为(2.3)(2.4)方程(2.1)~(2.4)为车载倒立摆系统运动方程组。因为还有sinθ和cosθ项,所以为非线性微分方程组。中间变量不易相消。

把J的表达式代入,联合几个方程式得到如下的非线性方程组:设则有如下非线性状态方程组:面对这样的非线性问题,我们如何处理呢?

(比它简单的问题如何解决?)线性问题如何处理?如何做线性问题的最优控制?如何把最优控制转化为模糊控制?如何把非线性问题化成若干个线性问题?多个模糊控制如何综合?线性问题的最有控制理论对于线性时不变(LTI)系统:反馈控制系统:假定有n

个传感器,使全部状态变量均可以用于反馈。(2)则有(3)输出反馈采用(4)H为常数矩阵两者比较:状态反馈效果较好;输出反馈实现较方便。线性二次型(LQ)最优控制器的任务是设定Q、R、N设计出最优控制器K(H)使线性二次型最优控制指标(代价函数):

最小由于线性二次型的性能指标易于分析、计算、处理,可得到要求的代数结果,相角裕量的优点,因而在控制系统的各个领域内都得到了广泛地重视和应用。然而,线性二次型调节器(LQR)控制的闭环系统的动态响应与加权系数矩阵Q和R之间存在着非常复杂的对应关系,这就给加权矩阵的选择带来许多困难,目前普遍采用的仿真试凑法无疑限制了LQR设计方法在工程上的推广应用。采用试凑法获得的最优控制是“人工”意义下的最优,而不是真正意义上的最优。因而采用基于仿真(Matlab)的优化方法求取最满意解是解决这类问题的最佳途径。

LQ和LQG最优控制函数

函数名称和典型输入变元功能lqr(A,B,Q,R,N)连续系统的LQ调节器设计lqr2(A,B,Q,R,N)连续系统的LQ调节器设计dlqr(A,B,Q,R)离散系统的LQ调节器设计lqry(A,B,Q,R)系统的LQ调节器设计lqrd(A,B,Q,R,Ts)连续代价函数的离散LQ调节器设计最优控制假设线性控制系统的状态方程为:寻求控制函数u(t)使得如下的二次目标函数最小:根据泛函分析的极值原理,可以得到最优控制规律:例题设系统的状态方程为:设计最优控制器KA=[0,1,0;0,0,1;-1,4,-6];B=[0,0,1]’;C=[1,0,0];D=0Q=diag([1,1,1]);R=1;K=lqr(A,B,Q,R)K1=K(1)Ac=A-B*K;Bc=B*K1;Cc=C;Dc=DStep(Ac,Bc,Cc,Dc);最优控制转化为模糊控制最优控制转化为模糊控制的困难在于没有一种好的办法来“计算”出规则,其中的可变性太多了。有概念、推理规则、推理办法、去模糊化办法。1985年日本人Takagi-Sugeno提出了一种新的模糊推理方式:函数式模糊推理。为这种转化找到了通路,kang完善了他们的想法。函数式模糊规则此种模糊规则有时又称做“Sugeno”

模糊规则”或“TSK模糊规则”。此种线性式模糊规则的优点是其参数可以很容易地从数值型数据中鉴别出来;其缺点是相较于语意式模糊规则,此种模糊规则较不具有逻辑上的意义,因此较不容易将由人类专家所提供的语意式信息和从实验中得到的数值型数据,整合起来用以建立函数模糊规则。前提:xisx0andyisy0模糊规则一:IfxisA1andyisB1

Thenzisf1(x,y)模糊规则二:IfxisA2andyisB2

Thenzisf2(x,y)令代表第i个模糊规则的权重,并且fi(x0,y0)为第i个模糊规则经过推论后所得到的结果,最后利用“加权平均法”来去模糊化,整体最后的输出z*为:

范例:函数式模糊规则(1)

Ifxissmall

Theny=2x

Ifxismedium

Theny=-x+3

Ifxislarge

Theny=x-1我们采用的是“加权平均法”来去模糊化。

如果我们在线性式的模糊规则中,使用(1)高斯函数作为隶属度函数、(2)最大乘积合成于模糊推论、以及(3)加权式平均法来去模糊化,则Takagi-

Sugeno的线性式模糊规则的输出就是:其中J

代表模糊规则数,以及代表第j

条模糊规则经过推论后所得到的结果,亦即其中p

代表输入变量的维度,以及明确输入,而权重代表输入变量对第j

条模糊规则的前鉴部的权重,可用下式求得:

其中代表对模糊集合的隶属度,结合上两式,我们可以导出一个多变量的非线性近似器(nonlinearapproximator)。事实上,若是要以一组线性式模糊规则作为通用近似器(universalapproximator),在线性式模糊规则的后部中只需要一个常数项即可,只要保留此常数项,所导出的系统输出为其中模糊规则的建立第一种也是最直接的方式就是经由询问人类专家而得。

1.人类专家往往无法完整地提供所有必需的语意式模糊规则,以致于规则库的不完全。

2.其效果则深受(1)规则库的完整与否,以及(2)所使用的隶属度函数是否能正确地反应出输入/输出变量间的模糊关系所影响。第二种取得语意式模糊规则的方式,则是经由训练法则,将数值型资料(numericaldata)中取得模糊规则,此种作法往往牵涉如何分割输入及输出变量空间,以及如何建立模糊规则中前鉴部以及后鉴部之相对应关系,这些方法所建立起来的模糊规则,可以依照输入空间的切割方式分成两类:

1.均匀式切割法:此种方法有两个主要缺点:(1)若输入向量的维度很高时,会导致模糊规则的数目增长得很快;(2)如果输入变量间的相关性(correlation)很高,将导致输入空间被分割得相当地细致,以反应出输入变量间的相关程度。2.非均匀式切割法:我们其实可以直接切割整个模糊空间成许多个模糊集合,而不是在每一输入维度上切割。这种方法虽然可以有效地降低所需的规则数目、以及反映出变量间的关连性,但付出的代价有二:(1)增加后续建模(modeling)工作的困难度(即规则数目的选定及隶属度函数的参数之调整等工作);(2)此种模糊规则较不易解读。利用类神经网络的学习特质,想办法从数值型数据中,借着链接值的调整,归纳出相关的输入/输出关系,然后,再从网络的链接值中,提取出模糊规则来。均匀式切割法:If Then

或非均匀式切割法:If Then 模糊神经网络模糊化类神经网络均匀式切割法:三种最典型的「模糊化类神经网络」分别为:(1)

适应性网络架构的模糊推论系统(adaptivenetwork-basedfuzzyinferencesystem简称为ANFIS)。(2)模糊适应性学习控制网络(fuzzyadaptivelearningcontrolnetwork简称为FALCON)。(3)倒传递模糊系统(backpropagationfuzzysystem)。

基本上,这三种网络架构中,第一层的隐藏层类神经元,所执行的是隶属度函数值的运算(即兼容程度性的计算),接下来的类神经元执行『

且(AND)』的运算,以便获得模糊规则的前部的权重,然后,有一层的类神经元执行『或(OR)』的运算,以便将所有模糊规则的前部的权重联集起来,最后位于输出层的类神经元便执行去模糊化的运算,以便提供明确的输出值。非均匀切割法:模糊化多维矩形复合式类神经网络(FuzzyHyperRectangularCompositeNeuralNetwork

简称为FHRCNN是执行非均匀式切割法的一种典型模糊化类神经网络。适应性网络架构的模糊推论系统我们令模糊系统只有二个输入变量,x,y、一个输出变量,z;因此,我们可以将函数式模糊规则(Sugeno模糊规则)表示如下:模糊规则模糊规则适应性网络架构的模糊推论系统第一层:第一层的类神经元执行输入与相关模糊集合的「兼容程度性」之运算,计算如下:第二层:第二层的类神经元标示为Π,执行的式模糊规则的「权重」计算,计算如下:第三层:第三层中的类神经元标示为N,执行的是将权重正规化运算,计算如下:第四层:第四层的类神经元执行的是,每个模糊规则之后鉴部该执行多少之运算,计算如下:第五层:第五层只有单一个类神经元,标示为Σ,计算前一层中类神经元输出值的总合,以作为最后网络的输出值:经由上述的说明可知,适应性网络架构的模糊推论系统(ANFIS)和以函数式模糊规则所组成之模糊系统是等效的。其实,网络应该安排成几层的结构,以及每一层中的类神经元所执行的运算,都是可以视其需要而加以改变的,只要每一层中的类神经元所执行的运算都是有意义的模块化函数即可。由于模糊推理本身不具备自学习功能,其应用受到了很大限制,而人工神经网络又不能表达模糊语言,实际上类似一个黑箱,缺少透明度,所以不能很好地表达人脑的推理功能。而基于自适应神经网络的模糊推理系统ANFIS(AdaptiveNetwork-basedFuzzyInferenceSystem)则可将二者有机地结合起来,既能发挥二者的优点,又可弥补各自的不足。模糊控制系统原来有一个很明显的缺点,这就是它缺乏有效的学习机制。自适应神经网络模糊控制系统的优异之处在于可以用神经网络的学习机制补偿模糊控制系统原有的缺点。MATLAB的模糊工具箱中与ANFIS设计建模相关的函数有anfis,anfisedit,genfis1,anfis功能:利用自适应神经算法进行模糊系统的训练(参数学习)。格式:[fismat1,error1,stepsize]=anfis(trnData)[fismat1,error1,stepsize]=anfis(trnData,fismat)[fismat1,error1,stepsize]=anfis(trnData,fismat,trnOpt,dispOpt)[fismat1,error1,stepsize,fismat2,error2]=anfis(trnData,trnOpt,dispOpt,chkData)[fismat1,error1,stepsize,fismat2,error2]=anfis(trnData,fismat,trnOpt,dispOpt,chkData)[fismat1,error1,stepsize,fismat2,error2]=anfis(trnData,fismat,trnOpt,dispOpt,chkData,optMethod)说明:该函数是用于Sugeno型模糊系统的参数训练的最主要的程序。它使用混合学习算法来确定模糊推理系统的参数,采用的是最小二乘和梯度下降结合的算法来训练FIS系统的隶属度函数参数,使得系统能够模拟给定的模拟数据。此函数通过一个可选的参数可以用来进行模型的有效性确认。参数fismat1为学习完成后得到的对应最小均方根误差的模糊推理系统矩阵;errorl为训练的均方根误差向量;stepsize为训练步长向量。当指定检验数据后,输出向量为五维参数向量,参数fismat2为对检验数据具有最小均方根误差的模糊推理系统error2为检验数据对应的最小均方根误差向量。trnData为用于训练学习的输入输出数据矩阵。该矩阵的每一行对应一组输入输出数据,其中最后一列为输出数据。fismat是用于指定初始的模糊推理系统参数(包括隶属度函数类型和参数)的矩阵,该矩阵可使用函数fuzzy通过模糊推理系统编辑器生成,也可使用函数genfis1由训练数据直接生成。参数trnOpt为一个五维向量,其各个分量的定义如下:trnOpt(1):训练的次数,缺省为10trnOpt(2):期望误差,缺省为0;trnOpt(3):初始步长,缺省为0.01;trnOpt(4):步长递减速率,缺省为0.9;trnOpt(5):步长递增速率,缺省为1.1。

参数dispOpt用于控制训练过程中MATLAB命令窗口的显示内容,共有四个参数,分别定义如下:dispOpt(1):显示ANFIS的信息,缺省为1;dispOpt(2)显示误差测量,缺省为1dispOpt(3):显示训练步长,缺省为1dispOpt(4)显示最终结果,缺省为1chkData,该参数为一个与训练数据矩阵有相同列数的矩阵,用于提供检验数据。函数最后一个可选的参数是optMethod,指明网络的训练算法,可以取1和0。当取1时选用(hybrid)混合算法,取0时采用反向传播算法(backpropagation),缺省时采用hybrid算法,也就是最小二乘的方向传播算法。函数genfis1利用anfis函数进行模糊系统的自适应神经网络方法建模,除了给定系统期望的输入输出数据之外,还必须提供一个初始模糊推理系统(anfis函数的第二个输入参数fismat),否则anfis函数会自动调用genfis1来按照给定的输入输出数据生成一个缺省的系统。在程序里使用genfis1函数的作用是先根据一定的专家经验给出一个系统的大致结构。这个过程有时是非常重要的。

功能:采用网格分割方式生成初始Sugeno型模糊推理系统。格式:fismat=genfis1(data)fismat=genfis1(data,numMFs,inmftype,outmftype)说明:该函数是用于建立一个初始Sugeno型模糊系统以供函数anfis训练使用,使用的是网格分割法。

在输入参数中,data为给定的输入/输出的训练数据集合。当有n个输入参数时,data是n+1列的矩阵,其中前n列是输入的变量,最后一列是对应的输出。参数numMFs:为一个整数向量,用于指定输入变量的隶属度函数个数,可以用一个数值表示所有输入变量具有相同数目的隶属度函数。如果是向量,则分别指明每一个输入变量的隶属度函数个数。参数mfType:用于指定隶属度函数的类型,为字符串数组(分别指明输入变量的隶属度类型)或是单个字符串(所有变量使用同种隶属度函数类型)。参数Outmftype:用于指定输出(MATLAB的自适应神经模糊模型只支持一个输出变量)的隶属度函数类型,取值可以是“

constant”或“

linear”。fismat为生成的模糊推理系统矩阵。例4.2建立一个模糊推理系统,对输入数据集(x=(0:0.1:10),y=sin(2*x)./exp(x/5))进行模拟,即根据一组100点数据用模糊推理机制来构造(模拟)函数Y。x=[0:0.1:10];y=sin(2*x)./exp(x./5);trnData=[x'y'];numMFs=5;%5条隶属度函数mfType='gaussmf';%采用高斯型隶属度函数,也可以选用其他种类的隶属度函数epoch_n=20;%训练的次数in_fismat=genfis1(trnData,numMFs,mfType);out_fismat=anfis(trnData,in_fismat,epoch_n);plot(x,y,'o',x,evalfis(x',out_fismat),'k');legend('TrainingData','ANFISOutput');有了模糊推理学习系统有了原始的被控系统如何把两者联系起来?解决“学习什么”的问题!!!如果是线性系统,如何控制?最优控制理论!不是线性的如何?局部线性化!!!把非线性问题化为线性问题函数在工作点附近展开,取到一阶近似。Matlab已经为我们做好了。函数:一个点不行,必须在多个点做线性化,做最优控制1.划分的模糊空间2.用上述的每个离散状态空间点X1,X2,…,Xn来线性化线性车棒模型,选择合适的LQR控制参数Q,R,N,设计出线性最优控制器K1,K2,…,Kn

。其中Q,R,N可以取为相同,也可以按需要选择不同的值,这里为了简便,选择相同的值。3.自学习模糊控制器向K1,K2,…,Kn

学习。1空间划分在每一个状态上均匀划分%函数order.mfunctionh=order(x)l=length(x);%计算输入变量个数ll=prod(x):h=[]:%计算总数据点数N=n1xn2xn3xn4fori

温馨提示

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

评论

0/150

提交评论