线性二次型最优一阶倒立摆控制器系统设计

更新时间:2023-06-11 07:34:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

控制工程课程设计

线性二次型最优控制器设计

(一阶倒立摆)

设计者: 班 级: 学 号: 指导教师:

控制工程课程设计

线性二次型最优一阶倒立摆控制器设计

摘要:本文针对单级倒立摆系统的平衡控制问题进行了研究。倒立摆控制是一个

经典的控制平衡课题。作为一个自然不稳定系统,倒立摆一直被用作实时控制系统实验的控制设备。倒立摆的稳定控制相当困难,通过对它的研究不仅可以解决控制中的理论问题,而且在控制过程中可以有效反映控制中的关键问题。首先建立倒立摆的模型,然后进行模型验证,通过分析模型的性能,进行线性二次型最优控制器的设计,用Matlab进行仿真,通过一次次的修改参数来达到良好的性能要求。

关键词:线性二次型 倒立摆 仿真

Abstract: In this article, single-stage inverted pendulum control problem of the balance of the study. Control of inverted pendulum is a classic control subjects balance. As a naturally unstable system,inverted pendulum has been used for real-time control system controls the experiment. The stability of inverted pendulum is very difficult to control,through its research not only can solve the problem of control theory,also involved in the control theory based on three main. Firstly, the inverted pendulum model,model by analyzing the performance of the inverted pendulum,design the Linear Quadratic controller,and then use Matlab to simulate,modifying the parameters again and again to achieve good performance requirements.

Keywords: Linear Quadratic Inverted pendulum Simulate

控制工程课程设计

正文:

一、引言

倒立摆是典型的快速、多变量、非线性、绝对不稳定系统。

倒立摆系统是自动控制理论中比较典型的控制对象,许多抽象的控制理论概念如系统稳定性、可控性和系统抗干扰能力等,都可以通过倒立摆系统直观地表现出来,因此它成为了自动控制理论研究的一个较为普遍的研究对象。倒立摆系统作为一个被控对象,是快速、多变量、开环不稳定、非线性的高阶系统,必须施加十分有力的控制手段才能使之稳定。事实上,人们一直在试图寻找不同的控制方法来实现对倒立摆的控制,以便检查或说明该方法对严重非线性和绝对不稳定系统的控制能力。

MATLAB是美国Math Works软件公司于1984年推出的一种用于科学计算的高性能语言,它集数值计算、图形图像显示以及编程于一体,是常用的控制系统分析与设计工具。1990年,Math Works软件公司为MATLAB设计了新的控制系统图形化模型输入与仿真工具Simulink。这是MATLAB软件的一个扩展软件模块。该模块提供了一个建模、分析与仿真等多种物理与数学问题的软件环境,并为图形用户界面提供了动态系统的结构方块图模型,从而使用户可以既快又方便地对系统进行建模、仿真而不必书写任何代码程序。因此,该工具很快就在控制工程界获得了广泛的认可,它使仿真软件进入了系统模型的图形组态阶段。

早在20世纪50年代,麻省理工学院的控制论专家就根据火箭发射助推器原理设计出了研究一阶倒立摆的实验设备。此后关于一阶倒立摆的控制方法和思路在军工、航天、机器人领域和其它一般工业过程中都有着广泛的用途,如机器人行走过程中的平衡控制、火箭发射中的垂直度控制、卫星发射架的稳定控制、飞机安全着陆、化工过程控制以及日常生活中常见的一些重心在上、支点在下的控制问题等,均涉及到“立摆问题”。

对倒立摆的研究在现实中也有一定的指导意义,航天器的发射就是很好的例子,未来仿人类机器人的发展也离不开倒立摆模型。一直以来,很多种控制方法已经应用到倒立摆的控制当中。

二、理论基础

1、在现代控制理论中,通过极点配置使系统性能满足某种笼统性能指标的方法称为常规综合。而目标是确保系统性能指标在某种意义下的最优控制,称为最优控制。对于线性控制,如果选取状态变量和控制变量的二次型函数的积分作为性能指标,则这种动态系统最优化的问题称为线性系统二次型性能指标的最优控制

控制工程课程设计

问题,简称线性二次型问题。

使用线性二次型最优控制器进行控制系统设计和校正的最大优点是不必根据要求的性能指标确定闭环极点的位置,只需根据系统的响应曲线却找出合适的状态变量和空置量的加权矩阵。

二次型最优控制原理

设给定线性定常系统的状态方程为

二次型性能指标函数[3]:

其中:加权阵Q和R是用来平衡状态向量和输入向量的权重,Q是半正定阵,R阵是正定阵。

最优控制规律:

黎卡提矩阵方程:

则,最优反馈增益K为:

LQR参数

其中:K为最优反馈增益,P为黎卡提矩阵方程的解。

由MATLAB语句K=lqr(A,B,Q,R),取Q=diag(1000,0,70,0),求得K=[-31.623 ,-20.151,72.718,13.155],即为LQR控制器控制器参数。

MATLAB函数

① Step函数 求系统的单位阶跃响应曲线 ② lqr函数

lqr函数用来设计连续系统的LQ调节器,调用格式为[k,P,E]=lqr(A,B,Q,R), 可计算连续时间系统的最优反馈增益矩阵K。 ③ lsim函数

SYS=ss(A,B,C,D)(ss:state space model)

控制工程课程设计

用来求出lsim函数所需的系统参数“SYS”. 其调用格式为lsim(SYS,U,T)

此函数画出LTl系统SYS对由U和T描述的输人信号的时间响应。

三、对象模型建立

在忽略了空气流动阻力,以及各种摩擦之后,可将倒立摆系统抽象成小车和匀质杆组成的系统,如下图所示

其中:M:小车质量 m:为摆杆质量 J:为摆杆惯量 F:加在小车上的力 x:小车位置 θ:摆杆与垂直向上方向的夹角 l :摆杆转动轴心到杆质心的长度

根据牛顿运动定律以及刚体运动规律,可知: (1) 摆杆绕其重心的转动方程为

Fylsin Fxlcos ..........(1) J

(2) 摆杆重心的运动方程为

Fx m

d

22

dt

(x lsin )..........(2)d

22

Fy mg m

dt

(lcos ).........(3)F Fx M

dxdt

2

2

..........(4)

联立上述4个方程,可以得出

J ml2 F ml J ml2 sin . 2 m2l2gsin cos x J ml2 M m m2l2cos2 222 mlcos .F mlsin cos . M m mlgsin 2222

mlcos M m J ml

式中J为摆杆的转动惯量:J

ml3

2

为便于设计计算,并考虑到系统实际工作在平衡位置附近,

可先对系统的精

控制工程课程设计

确模型进行必要的简化处理。若只考虑θ在其工作点附近θ0=0附近( 10 10 )的细微变化,则可以近似认为:

2 0

sin cos 1

..(J ml2)F m2l2g x 2

J(M m) Mml

..

(M m)mlg mlF

2

J(M m) Mml

经过拉氏变换可得出系统的传递函数模型:

G2S

G S 2

(S)

F(S)X S

3

(4M m)LS

2

3(M m)g

2

S

4(4M m)LS 3(4M m)g

2

3(4M m)S

四、线性二次型最优控制器的设计与仿真

系统状态空间方程为

AX BuX

y CX Du

x , 方程组(2–7)对 解代数方程,得到解如下:

x x

x

(I ml)bI(M m) Mml

2

2

x

mgl

22

2

I(M m) Mml

(I ml)I(M m) Mml

2

2

u

mlbI(M m) Mml

2

x

mgl(M m)I(M m) Mml

2

ml

I(M m) Mml

2

u

(2–12)

u

整理后得到系统状态空间方程:

0 x 0 x

0 0

1

2

(I ml)bI(M m) Mml

0 mlbI(M m) Mml

2

0mgl

2

2

2

I(M m) Mml

mgl(M m)I(M m) Mml

22

0 0

2x I ml

0

xI(M m) Mml 1 0

ml

0

I(M m) Mml

2

2

x 100

y

001

x 0 x 0 u 0 0

其中,小车的质量M=0.5Kg,倒立摆的质量m=0.5kg,小车的摩擦系数b=0.1,端

控制工程课程设计

点与倒立摆质心的距离0.3m,倒立摆的惯量I=0.006kgm2,输入量u=F是施加在小车上的力。

(1) 分析原系统的开环阶跃响应。

首先求开环系统的特征值,判断其稳定性。然后根据系统的阶跃响应曲线

分析当前的运动情况与期望性能指标之间的差距,确定校正手段,编程如下: clear all

%系统参数初始化 M=0.5; m=0.2; b=0.1; i=0.006; g=9.8; l=0.3;

%系统状态方程描述 p=i*(M+m)+M*m*l^2;

A=[0 1 0 0;0 -(i+m*l^2)*b/p (m^2*g*l^2)/p 0;0 0 0 1;0 -(m*l*b)/p m*g*l*(M+m)/p 0];

B=[0;(i+m*l^2)/p;0;m*l/p]; C=[1 0 0 0;0 0 1 0]; D=[0;0];

%求解系统的特征值:

p=eig(A) %矩阵A的特征值向量 t=0:0.01:1;

step(A,B,C,D,1,t) 求的系统的特征值如下 p =

0 5.5651 -0.1428 -5.6041

系统有一个位于右半平面的极点,故不稳定。系统的阶跃响应曲线如图1所示,上图是小车坐标x的阶跃响应曲线,下图是倒立摆的垂直角度 的阶跃响应曲线。所以必须加入校正装置。

控制工程课程设计

图一

(2) 线性二次型最优控制器的设计

设计线性二次型最优控制器的关键是选择加权矩阵Q。一般来说,Q选

择的越大,系统达到稳定所需的时间越短。首先选择Q=C’*C,R=1,然后根据实际情况调节。编程如下: %Q和R矩阵的选择 x=1; y=1;

Q=[x 0 0 0;0 0 0 0;0 0 y 0;0 0 0 0]; R=1;

%求解线性二次型最优状态 K=lqr(A,B,Q,R)

%求解系统闭环状态方程 Ac=[(A-B*K)]; Bc=[B]; Cc=[C]; Dc=[D];

%输出系统阶跃仿真 T=0:0.02:5;

U=ones(size(T)); %阶跃信号 [Y,X]=lsim(Ac,Bc,Cc,Dc,U,T);

plot(T,Y(:,1),'.-',T,Y(:,2)); %绘制两条输出曲线

控制工程课程设计

title('Inverted Pendulum LQ Step Response'); xlabel('Time(sec)'); ylabel('Response'); grid;

legend('Cart','Pendulum')

此时求得的线性二次型最优状态反馈矩阵为:

K = -1.0000 -1.6567 18.6854 3.4594

图二

从图二可以看出,超调量基本满足要求,但稳定值与系统期望值相差太大(小车坐标的响应曲线稳态值为负值);另一方面过渡时间和上升时间都很大,必须重新校正。校正的方法就是加大加权矩阵Q的值。

控制工程课程设计

通过多次修改数据后仿真,当x=5000,y=100

时效果比较理想。此时状态反馈矩

K = -70.7107 -37.8345 105.5298 20.9238

控制工程课程设计

图三

从图三可知,系统响应的快速性得到了明显改善,上升时间和过渡过程时间都满足最初设计要求。

综上所述,基于最小值原理的线性二次型最优控制,通过求解代数Riccati方程,得到的状态反馈矩阵K,可以使系统的各状态获得渐进稳定特性。它的不足之处在于,加权矩阵Q、R的值与系统响应性能之间的关系是定性的,往往不能一次得到满意的结果,需要多次调整它们的值得到满意的系统响应性能。

控制工程课程设计

【参考文献】

[1] 吴忠强 《控制系统仿真及MATLAB语言》电子工业出版社 2009

[2] 楼顺天 《基于MATLAB7.x的系统分析与设计》 西安电子科大出版社 2005 [3] 曾志新 《倒立摆系统的建模与仿真》 华南理工大学,2005

[4] 刘金琨 《先进PID控制及其MATLAB仿真》 北京航空航天大学出版社,2003 [5] 胡寿松 《自动控制原理简明教程》 科学出版社,2007

本文来源:https://www.bwwdw.com/article/4eo1.html

Top