北京理工大学学报稿件模板

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《北京理工大学学报》(自然科学中文版)稿件模板(总6页)

--本页仅作为文档封面,使用时请直接删除即可--

--内页可以根据需求调整合适字体及大小--

基于MATLAB的单级倒立摆的LQR控制研究

王思1 31

(1.北京理工大学宇航学院,北京 100081)

摘要:以一级直线倒立摆为模型,研究线性二次型指标的最优控制问题,并利用MATLAB来设计LQR最优控制器系统。通过调整加权矩阵Q和R,使控制器的系统性能达到最优,并画出系统阶跃响应曲线。仿真结果表明该系统具有较好的稳定性和快速性。

关键词:倒立摆,LQR,MATLAB,最优控制

中图分类号:TJ765 文献标识码:A

Study of LQR Control Singe Inverted Pendulum Based on

MATLAB

Wang Si 1

(School of Aerospace Engineering, Beijing Institute of Technology, Beijing

100081, China)

Abstract: Based on single inverted pendulum model to study the line for the linear quadratic index optimal control problem, and use MATLAB to design the optimal controller system conventional LQR. Through adjusting weighted matrix Q and R, make the controller system performance to achieve optimal and draw the system order step response curve. The simulation results show that the system has a good stability and quickness.

Key word: inverted pendulum, LQR, MATLAB, optimal control

1 单级倒立摆数学模型

在忽略了空气阻力,各种摩擦后,可将一级倒立摆系统抽象成小车和均质杆组成的系统,如图1所示。

图1 一级直线倒立摆系统

假设M 为小车质量,m 为摆杆质量,b 为小车摩擦系数,l 为摆杆转动轴到杆质心的长度,F 为加在小车上的力,x 为小车位置,ϕ为摆杆与垂直向上方向的夹角,θ为摆杆和垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下),因此系统状态空间方程为:

.2222

...222....

22201000()00()()()00010()00()()()x x l ml b m gl l ml x x l M m Mml l M m Mml

l M m Mml mlb mgl M m ml l M m Mml l M m Mml l M m Mml φφφφ⎡⎤⎡⎤

⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-++⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥++++++⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥

⎢⎥⎢⎥⎢⎥⎢⎥-+⎢⎥⎢⎥⎢⎥⎢⎣⎦⎢⎥⎣⎦++++++⎣⎦⎣⎦..10000+00100u

x x x y u φφφ⎧⎪⎪⎪⎪⎪⎪⎪⎥⎨⎪

⎡⎤⎪

⎢⎥⎪

⎢⎥⎡⎤⎡⎤⎡⎤⎪

==⎢⎥⎢⎥⎢⎥⎢⎥⎪

⎣⎦⎣⎦⎣⎦⎢⎥⎪

⎢⎥⎪

⎢⎥⎣⎦⎩

(1)

其中,四个状态量x 、.x 、φ、.

φ分别代表小车位移、小车速度、摆杆位置和摆杆角速度,g 为重力加速度,输出y 包括小车位移和摆杆角度。

2 单级倒立摆LQR 控制器设计

直线一级倒立摆系统的控制问题可理解为稳态时间连续系统的状态调节器问题。该系统的状态方程为(1)式,系统的性能指标是:

1

()2T T J X QX U RU dt =+⎰∞

线性二次型调节器(LQR )就是用来确定反馈控制函数1T u KX R B PX -=-=-使得上述性能指标达到最小。其中U 不受约束,Q 和R 称为加权矩阵,为常数对称正定阵。1T K R B P -=,P 为如下Riccati 方程:10T T PA A P PBR B X Q ---+-=的半正定对称解。

MATLAB 中的LQR 函数不仅可以求解P ,还能同时求出K 。

3 LQR 最优控制器的MATLAB 实现

下面针对直线型一级倒立摆系统应用LQR 法设计与调节控制器,控制摆杆保持倒立平衡的同时,跟踪小车的位置。

表1 实际系统参数表

将实际系统参数代入(1)式,可得倒立摆系统状态方程:

..........0100000.08830.629300.88320001000.235727.82580 2.356610000+00100x x x x u x x x y u φφφφφφφ⎧⎡⎤⎡⎤

⎪⎢⎥⎡⎤⎡⎤

⎢⎥⎪⎢⎥⎢

⎥⎢⎥⎢⎥⎪⎢⎥⎢⎥⎢⎥=+⎢⎥⎪⎢⎥⎢⎥⎢⎥⎢⎥⎪⎢⎥⎢

⎥⎢⎥⎢⎥⎪⎢⎥⎣⎦⎣⎦⎢⎥⎪⎣⎦⎢⎥⎣⎦⎨⎪⎡⎤⎪⎢⎥

⎢⎥⎡⎤⎡⎤⎡⎤⎪==⎢⎥⎢⎥⎢

⎥⎢⎥⎪⎣⎦⎣⎦⎣⎦⎢⎥⎢⎥⎢⎥⎣⎦

⎪⎪ (2)

控制系统结构如图2所示,图中R是施加在小车上的阶跃输入。设计控制器使得当给系统施加一个阶跃输入时,摆杆会摆动,然后仍然回到垂直位置,小车可以到达新的指定位置。

图2 控制系统结构

假设全状态反馈可以实现,R=1,Q=C’*C= diag (1,0,1,0),用MATLAB中的LQR函数可以得到最优控制器对应的K=[ ]。系统的阶跃响应曲线如图3所示,可见系统的响应速度很慢,不太理想。

LQR函数允许选择两个参数(R和Q),这两个参数用来平衡输入量和状态量的权重。图4和图5选择了不同的Q矩阵,可以看出Q=

diag(4000,0,100,0)时系统的超调量很小,达到稳态的时间也很短,动态性能有较大改善,满足最优的设计要求。

相关文档
最新文档