倒立摆系统的建模及Matlab仿真设计

倒立摆系统的建模及Matlab仿真设计
倒立摆系统的建模及Matlab仿真设计

倒立摆系统的建模及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 dt

d m dt z d M =++)sin (22

22θ

即: 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 M

M mg z

1)(1

-+=+-=θθ

θ

2.2列写系统的状态空间表达式。

选取系统变量4321,,,x x x x , []T

x x x x x 4321,,,=则

u Ml

x Ml m M x

x x u M

x M mg x x x 1

)(134433221-+==+-==

[]Cx

x x y Bu Ax u Ml M x Ml

g m M M

mg

z z dt d x ===+=??????

?

???????-+??????????

???

?

+-

=????

????????=000110100)(0

010

0000000

1

1θθ 代入数据计算得到:

[][]0,0001,1010,01100

1000010000

1

0==-=?

?

???

?

???

???-=D C B A T 3.设计控制器

3.1判断系统的能控性和稳定性

[

]

?????

????

???----==01101110100101101

032B A B

A A

B B

Q k ,rank(k Q )=4,故被控对象完全可控 由特征方程 0)11(22=-=-λλλA I 解得特征值为 0,0,11±。出现大于零的特征值,故被控对象不稳定

3.2确定希望的极点

希望的极点n=4,选其中一对为主导极点1s 和2s ,另一对为远极点,认为系统性能主要由主导极点决定,远极点只有微小影响。根据二阶系统的关系式,先确定主导极点

1.02

1≤=--

?πξ

σe p 可得59.0≥ξ,于是取6.0=ξ;取误差带02.0=?有n

s t ξω4

=

,则 1.67=n ω,闭环

主导极点为22,11ξξω-±-=j s n =-1±0.8j,远极点选择使它和原点的距离大于主导极点与原点距离的5倍,取154,3-=s

3.3采用状态反馈方法使系统稳定并配置极点

状态反馈的控制规律为kx u -=,[]32

1

k 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----=k

4.设计全维观测器

4.1判断系统的能观性

[]

?

?

????

???

???--==1000

01000010

00

1)()(3

2C A C A C A C

Q 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 ⑧

比较以上两式系数,解得观测器反馈矩阵[]T

G 6498414826

2594

96--=

5.降维状态观测器的设计

5.1建立倒置摆三维子系统动态方程

设小车位移z 由输出传感器测量,因而无需估计,可以设计降维(三维)状态观测器,通过重

新排列被控系统变量的次序,把需由降维状态观测器估计的状态变量与输出传感器测得的状态变量分离开。将z 作为第四个状态变量,则被控系统的状态方程和输出方程变换为

[]???

?

?

???????=?????

???????-+???????????????????

???

??-=????????????z z y u z z

z z dt d θθθ

θθθ 10000101000100110010

00010 ⑨

简记为:

[]?

?

?

???==??

????+????????????=??????21121212221

1211210x x I y y u b b x x A A A A x x

式中

[]

T z

x θθ =1,????

?

?????-=011

100010

11A ,[]T A 00012

=,T b ]101[1-= y z x ==2,[]T

A 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 ==--='222 z '为子系统输出量。故倒置摆三维子系统动态方程为

[]????

??????='??????????-+????????????????????-=??????????θθθθθθ z

z u z z dt d 0011010110100010

5.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,故该子系统可观测 降维状态观测器动态方程的一般形式为()()()[]y h x

y A h A h A h A u b h b A h A +=-+-+-+-=ωωω122122*********

式中h=[]T

h h h 210

。考虑被控对象参数,单倒置摆降维观测器动态方程的一般形式为

y h h h x y h h h h h h h h u h h h ??

??

?

?????+=????

??????+-+---+??

???

?????-+???????

???----=21011202101202

10111010111001ωωω

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 的源程序 %倒立摆系统建模分析

相关主题
相关文档
最新文档