倒立摆系统地建模及Matlab仿真
直线二级倒立摆建模与matlab仿真LQR

直线二级倒立摆建模与仿真1、直线二级倒立摆建模为进行性线控制器的设计,首先需要对被控制系统进行建模.二级倒立摆系统数学模型的建立基于以下假设:1)每一级摆杆都是刚体;2)在实验过程中同步带长保持不变;3)驱动力与放大器输入成正比,没有延迟直接拖加于小车;4)在实验过程中动摩擦、库仑摩擦等所有摩擦力足够小,可以忽略不计。
图1 二级摆物理模型二级倒立摆的参数定义如下:M 小车质量m1摆杆1的质量m2摆杆2的质量m3质量块的质量l1摆杆1到转动中心的距离l2摆杆2到转动中心的距离θ1摆杆1到转动与竖直方向的夹角θ2摆杆2到转动与竖直方向的夹角F 作用在系统上的外力利用拉格朗日方程推导运动学方程拉格朗日方程为:其中L 为拉格朗日算子,q 为系统的广义坐标,T 为系统的动能,V 为系统的势能其中错误!未找到引用源。
,错误!未找到引用源。
为系统在第i 个广义坐标上的外力,在二级倒立摆系统中,系统有三个广义坐标,分别为x,θ1,θ2,θ3。
首先计算系统的动能:其中错误!未找到引用源。
,错误!未找到引用源。
,错误!未找到引用源。
,错误!未找到引用源。
分别为小车的动能,摆杆1的动能,摆杆2的动能和质量块的动能。
小车的动能:错误!未找到引用源。
,其中错误!未找到引用源。
,错误!未找到引用源。
分别为摆杆1的平动动能和转动动能。
错误!未找到引用源。
,其中错误!未找到引用源。
,错误!未找到引用源。
分别为摆杆2的平动动能和转动动能。
对于系统,设以下变量: xpend1摆杆1质心横坐标 xpend2摆杆2质心横坐标 yangle1摆杆1质心纵坐标 yangle2摆杆2质心纵坐标 xmass 质量块质心横坐标 ymass 质量块质心纵坐标 又有:(,)(,)(,)L q q T q q V q q =-则有:系统总动能:系统总势能:则有:求解状态方程:可解得:使用MATLAB对得到的系统进行阶跃响应分析,执行命令:A=[0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 1 01;0 0 0 0 0 0;0 86.69 -21.62 0 0 0;0 -40.31 39.45 0 0 0];B=[0;0;0;1;6.64;-0.808];C=[1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0];D=[0;0;0];sys=ss(A,B,C,D);t=0:0.001:5;step(sys,t)求取系统的单位阶跃响应曲线:图2 二级摆阶跃响应曲线由图示可知系统小车位置、摆杆1角度和摆杆2角度均发散,需要设计控制器以满足期望要求。
基于Matlab的一级倒立摆模型的仿真

基于Matlab的一级倒立摆模型的仿真一.倒立摆模型的研究意义倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想的实验平台。
对倒立摆系统的研究能有效的反应控制中的典型问题:如非线性问题、鲁莽性问题、镇定问题等。
通过对倒立摆的控制,用来检测新的控制方法是否有较强的处理非线性和不稳定性问题的能力。
二.倒立摆模型的数学建模质量为m的小球固结于长度为L的细杆上(细杆质量不计),细杆和质量为M的小车铰链相接分析过程如下:如图所示,设细杆摆沿顺时针方向转东伟正方向,水平向右为水平方向上的正方向。
当细杆白顺时针想要运动时水平方向施加的里应该是水平相应。
对方程组进行拉普拉斯变化,得到摆杆角度和小车位移的传递函数:摆杆角度和小车加速度之间的传递函数:摆杆角度和小车加速度之间的传递函数:位移X对外力F的传递函数:三.在Matlab中输入得到的反馈矩阵:采用MATLAB/Simulink构造单级倒立摆状态反馈控制系统的仿真模型,如下图所示。
首先,在M A T L A B的Command Window中输入各个矩阵的值,并且在模型中的积分器中设置非零初值(这里我们设置为[0 0 0.1 0]。
然后运行仿真程序。
得到的仿真曲线从仿真结果可以看出,可以将倒立摆的杆子与竖直方向的偏角控制在θ=0(即小球和杆子被控制保持在竖直倒立状态),另外说明下黄线代表位移,紫线代表角度。
四.总结由实验中可知,倒立摆系统是一个非线性的较复杂的不稳定系统,故要满足故要满足稳定性要求,就得对系统进行线性化近似和稳定控制。
当然我们调节出来的只是一个理想模型,在实际中会更加复杂,稳定性也会更难获得。
在这次实验中掌握了倒立摆仿真的整个过程,熟悉了MATLAB仿真软件Simulingk的使用,也对系统有了更好的理解。
直线二级倒立摆系统MATLAB模型的建立与仿真

直线二级倒立摆系统模型的建立与仿真1 引言倒立摆是一个高阶次、非线性、快速、多变量、强藕合、不稳定的系统。
在控制理论发展过程中,倒立摆常常被做为典型的被控对象来验证某一理论的正确性,以及在实际应用中的可行性,通过对倒立摆引入一个适当的控制方法使之成为一个稳定系统,来检验控制方法对不稳定性、非线性和快速性系统的处理能力。
该控制方法在军工、航天、机器人等领域和一般工业过程中都有广泛应用。
本文主要讨论二级倒立摆系统模型的建立和仿真。
2二级倒立摆系统数学模型直线二级倒立摆系统是由直线运动模块和两级倒立摆组件组成。
主要包括导轨、小车和各级摆杆、编码器等元件。
由驱动电机给小车施加一个控制力,迫使小车在导轨上左右移动。
而小车的位移和各级摆杆角度由编码器测得。
倒立摆的控制目标是使倒立摆的摆杆能在有限长的导轨上快速的达到竖直向上的稳定状态,以实现系统的动态平衡,并且小车位移和摆杆角度的振荡幅度较小,系统具有一定的抗干扰能力。
系统简化后的直线二级倒立摆系统物理结构图如图2.1所示。
图1.二级倒立摆系统模型系统模型建立所用的各参数如下:应用Lagrange 方程建立的数学模型为012221221211121221222212212222cos (,)cos()cos cos()1121111121111m +m +m (m l +m L )cos m l H (m l +m L )cos J m l m L m l L m l m l L J m l θθθθθθθθθθ⎡⎤⎢⎥=++-⎢⎥⎢⎥-+⎣⎦.1011...1221212122.11222cos (,,,)0(0(112222222f m l +m L sin m l H f f m l L sin f m l L sin f f θθθθθθθθθθθθθ⎡⎤-•⎢⎥⎢⎥=--•+⎢⎥⎢⎥-•+-⎢⎥⎣⎦111()-)-) 312(,)h θθ= [0 11211()sin m l m L g θ+ 212sin m l g θ] T0h =[1 0 0]T()1121212121312022(,)(,,,),x x H H h h u θθθθθθθθθθθθ⎡⎤⎡⎤⎢⎥⎢⎥=++⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦3 倒立摆PID控制器系统PID控制是比例积分微分控制的简称。
二级倒立摆的建模与MATLAB仿真

二级倒立摆的建模与 MATLAB 仿真 刘文斌,等
二级倒立摆的建模与MATLAB仿真
刘文斌,干树川 (四川理工学院电子与信息工程系 四川自贡,643000)
取为最小值。设控制输入函数形式为: U(t)= -Kx(t) (11) 状态反馈矩阵: K = R -1B T P ( 12) 其中,P 可由 Riccati 微分方程: (13) 其中, 性能指标函数: (14)
[J].计算机测量与控制,2006,14(12):1641 - 1642 5 张 春,江 明,陈其工等.平行单级双倒立摆系统的建模与滑
模变结构控制[J].2008.1
23
图1 二级倒立摆模型
(1)
(2)
(3) 经过线性化如下: (4)
(上接第 7 页) 0; 0; 0; 0]; p=eig(A) [num,den]=ss2tf(A,B,C,D,1); printsys(num,den) Q=[1000 0 0 0 0 0; 0 0 0 0 0 0; 0 0 10 0 0 0; 0 0 0 0 0 0; 0 0 0 0 10 0; 0 0 0 0 0 0]; Tc=ctrb(A,B); rank(Tc) To=obsv(A,C); rank(To) R=1; K=lqr(A,B,Q,R); Ac=[(A-B*K)]; Bc=[B]; Cc=[C]; Dc=[D]; T=0:0.005:20; U=0.2*ones(size(T)); [Y,X]=lsim(Ac,Bc,Cc,Dc,U,T); plot(T,Y(:,1),':',T,Y(:,2),' -',T,Y(:,3),'
基于MATLAB的旋转倒立摆建模和控制仿真

倒立摆系统作为一个被控对象具有非线性、强耦合、欠驱动、不稳定等典型特点,因此一直被研究者视为研究控制理论的理想平台,其作为控制实验平台具有简单、便于操作、实验效果直观等诸多优点。
倒立摆具有很多形式,如直线倒立摆、旋转倒立摆、轮式移动倒立摆等等。
其中,旋转倒立摆本体结构仅由旋臂和摆杆组成,具有结构简单、空间布置紧凑的优点,非常适合控制方案的研究,因此得到了研究者们广泛的关注[1-2]。
文献[3]介绍了直线一级倒立摆的建模过程,并基于MATLAB 进行了仿真分析;文献[4]通过建立倒立摆的数学模型,采用MATLAB 研究了倒立摆控制算法及仿真。
在倒立摆建模、仿真和研究中大多数研究者常用理论建模方法,也可以利用SimMechanics 搭建三维可视化模型仿真;文献[5]使用SimMechanics 工具箱建立旋转倒立摆物理模型,通过极点配置、PD 控制和基于线性二次型控制实现了倒立摆的平衡控制;文献[6]通过设计的全状态观反馈控制器来实现单极旋转倒立摆SimMechanics 模型控制,表明了SimMechanics 可用于不稳定的非线性系统;文献[7]通过单级倒立摆SimMechanics 仿真,研究了Bang-Bang 控制和LQR 控制对倒立摆的自起摆和平衡控制;文献[8]基于Sim⁃Mechanics 建立了直线六级倒立摆模型,并基于LRQ 设计状态反馈器进行了仿真控制分析。
本文首先采用Lagrange 方法建立了旋转倒立摆的动力学模型,在获得了旋转倒立摆动力学微分方程后建立了s-func⁃tion 仿真模型;然后,本文采用SimMechanics 建立了旋转的可视化动力学模型。
针对两种动力学模型,采用同一个PID 控制器进行了控制,从控制结果可以看出两种模型的响应曲线完全一致,这两种模型相互印证了各自的正确性。
1旋转倒立摆系统的动力学建模旋转倒立摆是由旋臂和摆杆构成的系统,如图1所示,旋臂绕固定中心旋转(角度记为θ)带动摆杆运动,摆杆可以绕旋臂自由转动,角度记为α。
单级移动倒立摆建模及控制器设计matlab

单级移动倒立摆建模及控制器设计matlab 单级移动倒立摆是一种常见的控制系统模型,它在机器人控制、自动驾驶等领域有着广泛的应用。
本文将介绍如何使用MATLAB进行单级移动倒立摆的建模和控制器设计。
首先,我们需要了解单级移动倒立摆的基本原理。
单级移动倒立摆由一个垂直的杆和一个可以在水平方向上移动的小车组成。
小车上有一个可以旋转的杆,杆的一端连接着小车,另一端有一个质量块。
通过控制小车的位置和杆的角度,我们可以实现倒立摆的平衡。
接下来,我们开始建立单级移动倒立摆的数学模型。
首先,我们需要定义系统的状态变量。
在这个模型中,我们可以选择小车的位置x、小车的速度v、杆的角度θ和杆的角速度ω作为状态变量。
然后,我们可以根据物理原理建立系统的动力学方程。
根据牛顿第二定律和角动量守恒定律,我们可以得到如下的动力学方程:m*x'' = F - m*g*sin(θ) - m*l*θ'^2*cos(θ)m*l^2*θ'' = -m*g*l*sin(θ) + m*l*x''*cos(θ) - b*θ'其中,m是小车和质量块的总质量,l是杆的长度,F是施加在小车上的外力,g是重力加速度,b是杆的阻尼系数。
接下来,我们可以使用MATLAB进行模型的建立和仿真。
首先,我们需要定义系统的参数和初始条件。
然后,我们可以使用ode45函数来求解系统的动力学方程。
ode45函数是MATLAB中用于求解常微分方程的函数,它可以根据给定的初始条件和参数,计算出系统在一段时间内的状态变化。
在求解动力学方程之后,我们可以得到系统的状态变量随时间的变化。
通过绘制状态变量随时间的曲线,我们可以观察到系统的动态行为。
例如,我们可以绘制小车位置随时间的变化曲线,以及杆角度随时间的变化曲线。
最后,我们需要设计一个控制器来实现单级移动倒立摆的平衡。
常见的控制器设计方法包括PID控制器和模糊控制器。
倒立摆系统的建模及MATLAB仿真

(2)
方程 (1) , (2) 是非线性方程 ,由于控制的目的是 保持倒立摆直立 ,在施加合适的外力条件下 ,假定θ 很小 ,接近于零是合理的 。则 sinθ≈θ,co sθ≈1 。在 以上假设条件下 ,对方程线性化处理后 ,得倒立摆系 统的数学模型 :
( M + m) ¨x + mθl¨= f
(3)
Co nference , 1999 :230. [ 2 ] 王沉培 ,周艳红 ,周云飞. 复杂形状刀具磨削运动三维图 形仿真的研究. 中国机械工程 ,1998 ,10 (2) :1232126. [ 3 ] (美) 马尔金 1 S 著. 磨削技术理论与应用 [ M ]1 沈阳 :东 北大学出版社 ,20021
Key words inverted pendulum , model building , simulatio n under t he MA TL AB enviro nment
中图分类号 : TP273 文献标识码 :A
倒立摆系统是 1 个经典的快速 、多变量 、非线 性 、绝对不稳定系统 ,是用来检验某种控制理论或方 法的典型方案 。倒立摆控制理论产生的方法和技术 在半导体及精密仪器加工 、机器人技术 、导弹拦截控 制系统和航空器对接控制技术等方面具有广阔的开 发利用前景 。因此研究倒立摆系统具有重要的实践 意义 ,一直受到国内外学者的广泛关注 。
的稳态响应和瞬态响应特性由矩阵 A - B K 的特征
决定 。如果矩阵 K 选取适当 , 则可使矩阵 A - B K
构成 1 个渐近稳定矩阵 ,并且对所有的 x (0) ≠0 , 当
t 趋于无穷时 ,都可使 x ( t) 趋于 0 。称矩阵 A - B K
的特征值为调节器极点 。如果这些调节器极点均位
倒立摆系统地建模及Matlab仿真

倒立摆系统的建模及Matlab仿真1. 系统的物理模型考虑如图(i)所示的倒立摆系统。
图中,倒立摆安装在一个小车上。
这里仅考虑倒立摆在图面内运动的二维问题。
图(i)倒立摆系统假定倒立摆系统的参数如下。
摆杆的质量:m=0.1g摆杆的长度:l=1m小车的质量:M=1kg重力加速度:g=9.8m/ s2摆杆的质量在摆杆的中心。
设计一个控制系统,使得当给定任意初始条件(由干扰引起)时,最大超调量<10%,调节时间ts <4s,通过小车的水平运动使倒立摆保持在垂直位置。
2. 系统的数学模型2.1建立倒置摆的运动方程并将其线性化为简化问题,在数学模型中首先假设:1)摆杆为刚体;2 )忽略摆杆与支点之间的摩擦;3) 忽略小车与接触面间的摩擦。
设小车瞬时位置为乙摆心瞬时位置为(z lsin ),在u 作用下,小车及摆均产生加速远动,绕摆轴转动的惯性力矩与重力矩平衡,因而有项。
于是有(M m)z ml u z l g联立求解可得mg丄口Ml Ml根据牛顿第二定律,在水平直线远动方向的惯性力应与 平衡,于是有.2 , 2d z d / M —亏 m 2 (z dt 2 dt 2l sin即:2(M m)z ml cos ml sin即:zcosm — (z lsin ) I cos dt 22 2l cos l sin cosmglsingsin以上两个方程都是非线性方程, 为求得解析解,需作线性化处理。
由于控制的目的是保持倒立摆直 立,在试驾合适的外力条件下,假定B 很小,接近于零时合理的,则sin,cos 1,且可忽略22.2列写系统的状态空间表达式选取系统变量 X 1,X 2,X 3,X 4 , x X i ,X 2,X 3,T则X 1 X 2mg1X 2X 3UM MX 3 X 4(Mm)1X 4X 3. .. UMl Ml3. 设计控制器3.1判断系统的能控性和稳定性1,rank( QQ=4,故被控对象完全可控111 0 11 0I A 2( 2 11) 0解得特征值为0 , 0, ■ 11。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
倒立摆系统的建模及Matlab仿真1.系统的物理模型考虑如图(1)所示的倒立摆系统。
图中,倒立摆安装在一个小车上。
这里仅考虑倒立摆在图面内运动的二维问题。
图(1)倒立摆系统假定倒立摆系统的参数如下。
摆杆的质量:m=0.1g摆杆的长度:l=1m小车的质量:M=1kg重力加速度:g=9.8m/2s摆杆的质量在摆杆的中心。
设计一个控制系统,使得当给定任意初始条件(由干扰引起)时,最大超调量 ≤10%,调节时间ts ≤4s ,通过小车的水平运动使倒立摆保持在垂直位置。
2.系统的数学模型2.1建立倒置摆的运动方程并将其线性化。
为简化问题,在数学模型中首先假设:1)摆杆为刚体;2)忽略摆杆与支点之间的摩擦;3)忽略小车与接触面间的摩擦。
设小车瞬时位置为z,摆心瞬时位置为(θsin l z +),在u 作用下,小车及摆均产生加速远动,根据牛顿第二定律,在水平直线远动方向的惯性力应与u 平衡,于是有u l z dtd m dt z d M =++)sin (2222θ 即: u ml ml z m M =-++θθθθsin cos )(2&&&&&① 绕摆轴转动的惯性力矩与重力矩平衡,因而有θθθsin cos )sin (22mgl l l z dt d m =⋅⎥⎦⎤⎢⎣⎡+ 即: θθθθθθθsin cos sin cos cos 22g l l z =-+&&&&&② 以上两个方程都是非线性方程,为求得解析解,需作线性化处理。
由于控制的目的是保持倒立摆直立,在试驾合适的外力条件下,假定θ很小,接近于零时合理的,则1cos ,sin ≈≈θθθ,且可忽略θθ2&项。
于是有u ml z m M =++θ&&&&)( ③ θθg l z =+&&&&④ 联立求解可得u Ml Ml m M u MM mg z 1)(1-+=+-=θθθ&&&&2.2列写系统的状态空间表达式。
选取系统变量4321,,,x x x x , []Tx x x x x 4321,,,=则u Mlx Ml m M x x x u Mx M mg x x x 1)(134433221-+==+-==&&&&即[]Cxx x y Bu Ax u Ml M x Ml g m M Mmgz z dt d x ===+=⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡-+⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡+-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=000110100)(0010000000011θθ&&& 代入数据计算得到:[][]0,0001,1010,0110010000100001==-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=D C B A T 3.设计控制器3.1判断系统的能控性和稳定性[]⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----==01101110100101101032B A BA AB BQ k ,rank(k Q )=4,故被控对象完全可控 由特征方程 0)11(22=-=-λλλA I 解得特征值为 0,0,11±。
出现大于零的特征值,故被控对象不稳定3.2确定希望的极点希望的极点n=4,选其中一对为主导极点1s 和2s ,另一对为远极点,认为系统性能主要由主导极点决定,远极点只有微小影响。
根据二阶系统的关系式,先确定主导极点1.021≤=--ςπξσep 可得59.0≥ξ,于是取6.0=ξ;取误差带02.0=∆有ns t ξω4=,则 1.67=n ω,闭环主导极点为22,11ξξω-±-=j s n =-1±0.8j,远极点选择使它和原点的距离大于主导极点与原点距离的5倍,取154,3-=s3.3采用状态反馈方法使系统稳定并配置极点状态反馈的控制规律为kx u -=,[]321k k k k k =;状态反馈系统的状态方程为Bv x BK A x+-=)(&,其特征多项式为 0122033141010)11()()(k k k k k k BK A I ----+-+=--λλλλλ ⑤希望特征多项式为3692.49964.28632)8.01)(8.01()15(2342++++=++-++λλλλλλλj j ⑥比较以上两式系数,解得状态反馈矩阵[]92.8154.33492.499.36----=k4.设计全维观测器4.1判断系统的能观性[]⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--==100001000010001)()(32C A C A C A CQ T T T g ,rank(g Q )=4,故被控对象完全可观 4.2确定观测器的反馈增益全维观测器的动态方程为GCx Bv x GC A x++-=)&))(;其特征多项式为)11()11()11()(312021304g g g g g g GC A I --+--+-++=--λλλλλ ⑦取观测器的希望极点为:-45,-45,-3+3j ,-3-3j ;则希望特征多项式为3465013770258396)8.01)(8.01()15(2342++++=++-++λλλλλλλj j ⑧比较以上两式系数,解得观测器反馈矩阵[]TG 6498414826259496--=5.降维状态观测器的设计5.1建立倒置摆三维子系统动态方程设小车位移z 由输出传感器测量,因而无需估计,可以设计降维(三维)状态观测器,通过重新排列被控系统变量的次序,把需由降维状态观测器估计的状态变量与输出传感器测得的状态变量分离开。
将z 作为第四个状态变量,则被控系统的状态方程和输出方程变换为[]⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡z z y u z z z z dt d θθθθθθ&&&&&&1000010100010011001000010 ⑨简记为:[]⎥⎦⎤⎢⎣⎡==⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡211212122211211210x x I y y u b b x x A A A A x x &&式中[]T zx θθ&&=1,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=01110001011A ,[]T A 00012=,T b ]101[1-=y z x ==2,[]TA 00121=,21A =0,02=b ,11=I被控系统的n-q 维子系统动态方程的一般形式为v x A x +=1111&,121x A z ='式中u b u b y A v 1121=+=,z y u b y A y z &&&==--='222z '为子系统输出量。
故倒置摆三维子系统动态方程为[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡='⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡θθθθθθ&&&&&&z z u z z dt d 00110101101000105.2.判断子系统的可观测性A1=[0 -1 0;0 0 1;0 11 0];C1= [1 0 0]; Qg1=obsv(A1,C1);r=rank(Qg1)运行Matlab 程序;结果为r=3,故该子系统可观测 降维状态观测器动态方程的一般形式为()()()[]yh x y A h A h A h A u b h b A h A +=-+-+-+-=ωωω122122*********&&式中h=[]Th h h 210。
考虑被控对象参数,单倒置摆降维观测器动态方程的一般形式为y h h h x y h h h h h h h h u h h h ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+-+---+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=2101120210120210111010111001ωωω&&5.3确定三维状态观测器的反馈矩阵h三维状态观测器的特征多项式为()()()20120321111111h h h h A h A I --+--++=--λλλλ设希望的观测器闭环极点为-45,-3+3j ,-3-3j ,则希望特征多项式为()()()8102885133334523+++=-++++λλλλλλj j比较以上两式系数,解得h=[]1371-29951-故所求三维状态观测器的动态方程为y y x x y u ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎦⎤⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=113712995100000100001000016663213878230210101113711029901511ωωω&)& 6.Matlab 仿真分析6.1源程序通过Matlab 对用全维状态观测器实现状态反馈的倒置摆系统进行仿真分析,下面是文件名为Inversion_pendulum_system.m 的源程序 %倒立摆系统建模分析 %a)判断系统能控性和能观性 clear all ; clcA=[0 1 0 0;0 0 -1 0;0 0 0 1;0 0 11 0]; B=[0;1;0;-1]; C=[1 0 0 0]; D=0;Uc=ctrb(A,B);rc=rank(Uc);n=size(A);if rc==ndisp('The system is controlled.')elseif rc<ndisp('The system is uncontrolled.')endVo=obsv(A,C);ro=rank(Vo);if ro==ndisp('The system is observable.')elseif ro~=ndisp('The system is no observable.')end%b)判断系统稳定性P=poly(A),v=roots(P)Re=real(v);if(length(find(Re>0))~=0)disp('The system is unstable and the ubstable poles are:') v(find(Re>0))elsedisp('The system is stable!');end% c)极点配置与控制器-全维状态观测器设计与仿真pc=[-1+0.8*j,-1-0.8*j,-15,-15];po=[-45 -45 -3+3*j -3-3*j]; K=acker(A,B,pc),G=acker(A',C',po)'Gp=ss(A,B,C,D); %将受控过程创建为一个LTI对象disp('受控对象的传递函数模型:');H=tf(Gp)Af=A-B*K-G*C;disp('观测器——控制器模型:');Gc=ss(Af,-G,-K,0) %将观测器-控制器创建为一个LTI对象disp('观测器——控制器的极点:');f_poles=pole(Gc)GpGc=Gp*Gc; %控制器和对象串联disp('观测器——控制器与对象串联构成的闭环系统模型:'); Gcl=feedback(GpGc,1,-1) %闭环系统disp('闭环系统的极点和零点:');c_poles=pole(Gcl)c_zeros=tzero(Gcl)lfg=dcgain(Gcl) %低频增益N=1/lfg % 归一化常数T=N*Gcl; %将N与闭环系统传递函数串联x0=[100 10 30 10 0 0 0 0];%初始条件向量t=[0:0.01:1]'; %时间列向量r=0*t; %零参考输入[y t x]=lsim(T,r,t,x0); %初始条件仿真plot(t,x(:,1:4),'-.',t,x(:,5:8)) %由初始条件引起的状态响应title('\bf状态响应')legend('x1','x2','x3','x4','x1hat','x2hat','x3hat','x4hat') figure(2)step(T)title('\bf阶跃响应')figure(3)impulse(T)title('\bf脉冲响应')6.2 程序运行结果The system is controlled.The system is observable.P =1 0 -11 0 0v =3.3166-3.3166The system is unstable and the ubstable poles are: ans =3.3166K =-36.9000 -49.9200 -334.5400 -81.9200G =962594-14826-64984受控对象的传递函数模型Transfer function:s^2 - 1.776e-015 s - 10-----------------------s^4 - 11 s^2观测器——控制器模型:a =x1 x2 x3 x4 x1 -96 1 0 0 x2 -2557 49.92 333.5 81.92 x3 1.483e+004 0 0 1 x4 6.495e+004 -49.92 -323.5 -81.92b =u1x1 -96x2 -2594x3 1.483e+004x4 6.498e+004c =x1 x2 x3 x4 y1 36.9 49.92 334.5 81.92d =u1y1 0Continuous-time model.观测器——控制器的极点:f_poles =1.0e+002 *-1.4948 + 1.8786i-1.4948 - 1.8786i1.7424-0.0328观测器——控制器与对象串联构成的闭环系统模型:a =x1 x2 x3 x4 x5 x1 0 1 0 0 0 x2 0 0 -1 0 36.9 x3 0 0 0 1 0 x4 0 0 11 0 -36.9 x5 96 0 0 0 -96 x6 2594 0 0 0 -2557 x7 -1.483e+004 0 0 0 1.483e+004 x8 -6.498e+004 0 0 0 6.495e+004x6 x7 x8x1 0 0 0x2 49.92 334.5 81.92x3 0 0 0x4 -49.92 -334.5 -81.92x5 1 0 0x6 49.92 333.5 81.92x7 0 0 1 x8 -49.92 -323.5 -81.92 b =u1x1 0x2 0x3 0x4 0x5 -96x6 -2594x7 1.483e+004x8 6.498e+004c =x1 x2 x3 x4 x5 x6 x7 x8 y1 1 0 0 0 0 0 0 0d =u1y1 0Continuous-time model.闭环系统的极点和零点:c_poles =-45.0000-45.0000-15.0001-14.9999-3.0000 + 3.0000i-3.0000 - 3.0000i-1.0000 + 0.8000i-1.0000 - 0.8000ic_zeros =3.16230.2263-0.1707-3.4312-3.1623lfg =1.0000N =1.0000由控制器——全维状态观测器实现的倒立摆系统在初始条件下引起的状态变量的响应、输出变量的阶跃响应和脉冲响应如下图图(2)状态响应()t x(虚线)和()t x)(实线)图(3)阶跃响应()t y图(4)脉冲响应()t y。