单级倒立摆稳定控制实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.实验目的
1.了解单级倒立摆的原理与数学模型的建立;
2.掌握LQR控制器的设计方法;
3.掌握基于LQR控制器的单级倒立摆稳定控制系统的仿真方法。
二.实验内容
图1 一级倒立摆原理图
一级倒立摆系统的原理框图如上所示。系统包括计算机、运动控制卡、伺服机构、倒立摆本体和光电码盘几大部分,组成了一个闭环系统。光电码盘1将连杆的角度、角速度信号反馈给伺服驱动器和运动控制卡,摆杆的角度、角速度信号由光电码盘2反馈回控制卡。计算机从运动控制卡中读取实时数据,确定控制决策,并由运动控制卡来实现该控制决策,产生相应的控制量,驱动电机转动,带动连杆运动,保持摆杆的平衡。
在忽略了空气阻力,各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如下图2所示。
图2 直线一级倒立摆系
统
其中:
M小车质量
m 摆杆质量
b 小车摩擦系数
l 摆杆转动轴心到杆质心的长度
I 摆杆惯量
F 加在小车上的力
x 小车位置
φ 摆杆与垂直向上方向的夹角
θ 摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)
下图是系统中小车和摆杆的受力分析图。其中,N 和P 为小车与摆杆相互作用力的水平和垂直方向的分量。
注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图所示,图示方向为矢量正方向。
图3 (a )小车隔离受力图;
(b ) 摆杆隔离受力图
分析小车水平方向所受的合力,可以得到以下方程:
Mx F bx N =-- (1)
由摆杆水平方向的受力进行分析可以得到下面等式:
()2
2sin d N m x l dt
θ=+ (2) 即:2cos sin N mx ml ml θθθθ=+-
为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:
()2
2cos d P mg m l dt
θ-= (3) 即: 2sin cos P mg ml ml θθθθ-=--
力矩平衡方程如下:
sin cos Pl Nl I θθθ--= (4)
注意:此方程中力矩的方向,由于θπφ=+,cos cos φθ=-,sin sin φθ=-故等式前面有负号。
合并这两个方程,约去P 和N ,得到第二个运动方程:
()2
sin cos I ml mgl mlx θθθ++= (5) 设θπφ=+(φ是摆杆与垂直向上方向之间的夹角),假设φ与1(单位为弧度)相比很小,即1φ<<,则可以进行近似处理:cos 1θ=-,sin θφ=-,2
0d dt θ⎛⎫= ⎪⎝⎭
,用来u 代表被控对象的输入力F ,线性化后两个运动方程如下: ()()2I ml mgl mlx M m x bx ml u φφφ⎧+-=⎪⎨++-=⎪⎩ (6) 系统状态空间方程为:
X AX Bu y CX Du
⎧=+⎨=+⎩ (7) 即: ()()()()()()()()()2222222222010000
00001000I ml b I ml x x m gl x x I M m Mml I M m Mml I M m Mml u mgl M m ml mlb I M m Mml I M m Mml I M m Mml φφφφ⎡⎤⎡⎤⎢⎥⎢⎥-++⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥++++++⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥+⎣⎦⎣⎦-⎢⎥⎢⎥⎢⎥⎢⎥++++++⎣⎦⎣⎦
1000000100x x x y u φφφ⎡⎤⎢⎥⎡⎤⎡⎤⎡⎤⎢⎥==+⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎢⎥⎣⎦
(8) 2. 倒立摆系统LQR 控制器设计与仿真
最优控制理论主要是依据庞德里亚金的极值原理,通过对性能指标的优化寻找可以使目标极小的控制器。其中线性二次型性能指标因为可以通过求解Riccatti 方程得到控制器参数,并且随着计算机技术的进步,求解过程变得越来越简便,因而在线性多变量系统的控制器设计中应用较广。利用线性二次型性能指标设计的控制器称作LQR 控制器。前面我们已经得到了直线一级倒立摆系统的比较精确的动力学模型,下面我们针对直线型一级倒立摆系统应用LQR 法设计与调节控制器,控制摆杆保持倒立平衡的同时,跟踪小车的位置。
实际系统的模型参数如下:
M 小车质量 1.096 Kg
m 摆杆质量 0.109 Kg
b 小车摩擦系数 0 .1N/m/sec
l 摆杆转动轴心到杆质心的长度 5m
I 摆杆惯量 0.0034 kg*m*m
T 采样频率 秒
注意:在进行实际系统的MATLAB 仿真时,请将采样频率改为实际系统的采样频率。请用户自行检查系统参数是否与实际系统相符,否则请改用实际参数进行实验。
由倒立摆系统状态方程:
0100000.1818 2.67270 1.181820001000.454531.18180 4.5455x x x x u φφφφ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦⎣⎦
1000000100x x x y u φφφ⎡⎤⎢⎥⎡⎤⎡⎤⎡⎤⎢⎥==+⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎢⎥⎣⎦
(9)
应用线性反馈控制器,控制系统结构如图4。图中,R 是施加在小车上的阶跃输入,四个状态量x ,x ,φ,φ分别代表小车位移、小车速度、摆杆位置和摆杆角速度,输出[]T
y x φ=包括小车位摆杆角度。设计控制器使得当给系统施加一个阶跃输入时,摆杆会置和摆动,然后仍然回到垂直位置,小车可以到达新的指定位置。
系统的开环极点可以用Matlab 程序求出。开环极点为0,,,,可以看出,有一个极点位于右半S 平面,这说明开环系统不稳定。
假设全状态反馈可以实现(四个状态量都可测),找出确定反馈控制规律K 。。用Matlab 中的lqr 函数,可以得到最优控制器对应的K 。lqr 函数允许选择两个参数(R 和Q ),这两个参数用来平衡输入量和状态量。最简单的情况是假设R=1,
*Q C C '=.当然,也可以通过改变Q 矩阵中的非调节控制器以得到期望的响应。
图4 控制系统结构
三. 实验代码
A=[0 1 0 0 ;0 0;0 0 0 1;0 0];
B=[0;;0;];
C=[1 0 0 0;0 0 1 0];
D=[0;0];
Q=[1 0 0 0;0 0 0 0;0 0 1 0;0 0 0 0];
R=2;
x0=[2;0;-3;0];
K=lqr(A,B,Q,R);
csys=ss(A-B*K,B,[],[]);
[y,t,x]=initial(csys,x0);
Plot(t,x)
四. 实验数据与处理