0
点赞
收藏
分享

微信扫一扫

matlab-直线一级倒立摆现代控制方法研究LQR

直线一级倒立摆控制方法研究

1 研究背景

倒立摆是一个开环不稳定的强非线性系统,其控制策略与杂技运动员顶杆平衡表演的技巧有异曲同工之处,目的在于使得摆杆处于临界稳定状态,是进行控制理论研究的典型实验平台。20世纪50年代,麻省理工学院的控制论专家根据火箭助推器原理设计出了第一套倒立摆实验设备,开启了最初的相关研究工作。倒立摆的种类丰富多样,按照其结构可将其分为:直线倒立摆、环形倒立摆以及平面倒立摆等,按照摆杆级数又可将其分为:一级、二级甚至三级等。

matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆

1 直线一级倒立摆原理

按照工作原理可将现有的直线一级倒立摆实验装置抽象成小车和摆杆组成的系统,其中小车可沿固定导轨左右移动,摆杆可绕小车与摆杆之间的铰接点自由转动,如图1所示。控制系统依据读取到的小车位置以及摆杆角度信号,通过控制作用在小车上的水平力,使其沿固定导轨左右移动,可以使得摆杆始终处于垂直向上这样一个临界稳定位置,实验装置具体参数如表1所示。

表1实验装置参数

小车质量

matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_02

摆杆质量

matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_03

小车与导轨间的阻力系数

matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_04

摆杆/小车铰接点与摆杆质心的距离

matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_05

摆杆绕其质心的转动惯量

matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_06

备注:可忽略了空气阻力以及小车与摆杆之间铰接点上的摩擦力矩

2 模型推导

设N和P为小车与摆杆相互作用力的水平和垂直方向的分量。

matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_07

图2 小车受力分析图

下面N和P为小车与摆杆相互作用力的水平和垂直方向的分量。

分析小车水平方向所受的合力,可得到方程为:

matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_08 (1)

由摆杆水平方向的受力进行分析可以得到下面等式:

matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_09 (2)

把这个等式代入(1)式中,得到系统的第一个运动方程:

matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_10 (3)

为了推出系统的第二个运动方程,对摆杆垂直方向的合力进行分析,得到下面的方程:

matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_11

matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_12 (4)

力矩平衡方程如下:

matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_13 (5)

方程中力矩的方向,由于matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_14matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_15,故等式前面有负号。合并这两个方程,约去P和N,得到第二个运动方程:

matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_16 (6)

假设matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_17与1(单位是弧度)相比很小,即matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_18,则可进行近似处理:

matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_19

matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_20代表被控对象的输入力,线性化后两个运动方程如下:

matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_21matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_22 (7)

3 现代控制理论分析

3.1 状态空间方程

已知模型的方程表达式如下:

matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_23

取状态变量为matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_24matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_25,根据空间表达式

matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_26

得到:

matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_27

带入已知数据,则状态方程可以写为:

matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_28

3.2 能控性和能观性

在MATLAB中进行计算,代码如下:

matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_29

输出结果rank(B A*B A^2*B A^3*B)=4;rank(C;C*A)=4;

则系统可观、可测。

3.3 状态反馈和状态观测器

运用MATLAB计算系统的传递函数,得到

num = 0 0 0.8864 0.0000 -26.3474

0 0 -2.3739 -0.4191 -0.0000

den = 1.0000 0.0879 -27.9913 -2.3068 0

matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_30

matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_31

系统的极点为:p1=0;p2=-0.0824;p3=-5.2935;p4=5.288

`其中极点p4在右半平面,p1在原点,由极点可以看出系统是不稳定的,图3为MATLAB中给系统一个阶跃信号的响应。

matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_32

图3 倒立摆阶跃响应

极点配置的方法就是通过一个适当的状态反馈增益矩阵将闭环系统的极点配置到任意期望的位置。matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_33,其中x是状态变量,u是控制信号,这里选取控制信号为matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_34matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_35,系统的稳态响应和瞬态响应特性由矩阵A-BK的特征决定。


设置系统的综合指标:

  • 输出超调量Mp≤10%;
  • 峰值时间tp≤2s;

系统是4阶的,则极点数n=4,根据主导二阶极点方法,选其中一对为主导极点s1和s2,另一对为远极点,并且认为系统的性能主要有主导极点决定的,远极点只有微小的影响,

根据二阶系统的关系式,先定出主导极点,

matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_36

matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_37

matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_38,可以推出matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_39matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_40,当matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_41时,matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_42,取matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_43则极点公式为matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_44,得到两个共轭极点为.

则取极点为s1=-7.07+7.07i;s2=-7.07-7.07i;matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_45

远极点应选择使得它和原点的距离远大于5|s1|,现取|s3|=6|s1|,则选择s3=s4=-60。

状态观测器期望极点选择,一般为了考虑观测器的响应速度要比闭环系统快,又要考虑干扰抑制,一般极点为闭环极点的2~5倍。观测器期望极点选取为s1=s2= s3=s4=-30,

在MATLAB中进行计算得到,代码如下:

matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_46

计算得到状态反馈阵为matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_47

状态观测器的矩阵为matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_48

3.4 仿真验算

在MATLAB>simulink中建立空间状态模型,MATLAB代码见附录,simulink模型如图4。

matlab-直线一级倒立摆现代控制方法研究LQR_控制理论_49

图4 simulink倒立摆模型

仿真结果如图,

matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_50

图5 加控制的倒立摆仿真结果

matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_51matlab-直线一级倒立摆现代控制方法研究LQR_倒立摆_52

a)小车实际位移与观测位移 b) 实际与观测位移误差

图6 加控制的小车位移

matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_53matlab-直线一级倒立摆现代控制方法研究LQR_极点配置_54

a)倒立摆实际角度与观测角度 b) 实际与观测角度误差

图7 加控制的倒立摆角度

由上面图5~7可以看出,在1s时,给系统一个阶跃信号输入,倒立摆能够尽快实现稳定,同时状态观测器与实际的系统角度、位移非常接近,误差数量级在10-19


附录

举报

相关推荐

0 条评论