二级倒立摆建模(二)的控制器设计

目录

一、实验题目

1.1、题目要求:二阶倒立摆控制系统设计及仿真

1.2系统参数

 二、建模

3.1系统性能分析

3.1.1能控能观判断

3.1.2稳定性判断

3.2状态反馈与观测器的设计(线性定常系统的综合)

3.3.1原理

3.2.2仿真实验图以及代码

3.2.3实验结果

3.2.4分析结果

3.3PD控制

3.3.1原理

3.3.2仿真实验图

3.3.3仿真结果

3.4基于积分性能指标的单纯性优化PD控制

3.4.1 ITAE性能指标

3.4.2单纯形优化算法

3.4.3优化代码

3.4.4实验仿真图

3.4.5仿真结果对比

3.4.6仿真结果分析

3.5自适应模糊PD控制

3.5.1模糊控制算法原理

3.5.2自适应模糊PID原理与构建

模糊规则

隶属度函数

解模糊

3.5.2仿真实验图

3.5.3仿真结果

3.5.4结果分析

4、基于最优控制方法进行设计

4.1传统LQR控制

4.1.1 LQR原理

4.1.2关键

4.1.3仿真实验图

4.1.4仿真结果

基于遗传算法整定Q、R矩阵的LQR控制

4.2.1缘由

4.2.2遗传算法原理

4.2.3优化方法

4.2.4仿真实验图

4.2.5实验结果对比

4.2.5实验结果分析

5、单纯形法优化PD与遗传算法整定LQR参数对比

5.1两种方法对比分析

6总结

参考文献


一、实验题目

1.1、题目要求:二阶倒立摆控制系统设计及仿真

忽略空气阻力和各种摩擦力之后,可视二阶直线倒立摆系统是一个运动刚体系统,其简化结构如右图所示,建模过程假设如下:

1、上、下摆杆都是在运动中不变的刚体;

2、皮带轮和传动带之间相互无滑动,传动带无伸长现象;

3、直流放大器的输出和输入之间是纯线性关系,电机电枢绕组中的电感忽略不计;

4、小车在横轴上运动时所受的摩擦阻力正比于小车的速度,下摆旋转时所受的摩擦阻力矩正比于下摆的旋转速度,上摆运动所受到的摩擦阻力矩正比于下摆和上摆的相对速度。

1.2系统参数

符号

意义

取值

M

小车的质量

1.30kg

m1

摆杆1质量

0.04kg

m2

摆杆2质量

0.13kg

m

质量块的质量

0.20kg

l1

摆杆1质心到转动中心的距离

0.09m

l2

摆杆2质心到转动中心的距离

0.27m

x

小车的位置

/rad

θ1

倒立1与垂直方向的夹角/rad

/rad

θ2

倒立2与垂直方向的夹角/rad

         /rad

g

重力加速度

9.8m/s^2

 二、建模

见下述博文:

二级倒立摆建模(二)_直线二级倒立摆状态反馈设计-CSDN博客

3.1系统性能分析

能控性矩阵:

 系统能控的充分必要条件为

能观性矩阵:

 系统能观的充分必要条件是:

相关代码

  1. %系统状态空间模型建立
  2. A=[0,0,0,1,0,0;
  3. 0,0,0,0,1,0;
  4. 0,0,0,0,0,1;0,0,0,0,0,0;
  5. 0,77.514,-21.593,0,0,0;
  6. 0,--38.757,38.019,0,0,0];
  7. B=[0,0,0,1,5.706,-0.075]';
  8. C=[1,0,0,0,0,0;0,1,0,0,0,0;0,0,1,0,0,0];
  9. D=[0,0,0]';
  10. %能控性分析
  11. Qc=ctrb(A,B);
  12. if rank(Qc)==min(size(Qc))
  13.     disp('系统能控')
  14. else
  15.     disp('系统不能控')
  16. end
  17. %能观性分析
  18. Qo=obsv(A,C);
  19. if rank(Qo)==min(size(Qo))
  20.     disp('系统能观')
  21. else
  22.     disp('系统不能观')
  23. end

实验结果是系统能控也能观。

3.1.2稳定性判断

系统渐近稳定的充分必要条件为:系统矩阵A 的所有特征值均具有负实部。

当然更简单的直接调用Isstable就可以得到。

显然该系统是不能稳定的,因此需要进行极点配置使其稳定。

  1. [z,p,k]=ss2zp(A,B,C,D,1);
  2. Flagz=0;
  3. n=length(A);
  4. for i=1:n
  5. if real(p(i))>0
  6. Flagz=1;
  7. end
  8. end
  9. if Flagz==1
  10. disp('系统不稳定');
  11. else
  12.     disp('系统是稳定的');
  13. end

3.2状态反馈与观测器的设计(线性定常系统的综合)

3.3.1原理

闭环系统极点的分布情况决定了系统的稳定性和动态品质。。状态反馈控制是指将系统的每一状态变量乘以相应的反馈系数, 反馈到输入端与参考输入相加,其和作为被控系统的控制信号。极点配置的方法可以将已给系统的闭环极点配置到所希望的位置,从而达到控制准确、快速的目的。

假设任意指定的n个闭环期望特征值(闭环极点)为\lambda _1*, \lambda _2* ,..., \lambda _n* ,假定所有的状态变量都是已知的,对于该连续时间系统设计控制器

那么

我们通过选择 使得 配置在所需要的极点上。

事实上并不是所有状态变量都是已知的,为了实现状态反馈,我们需要对状态变量进行测量,只有测量之后才能进行反馈,但实际情况中,并不是所有的状态变量都是可以测量的,所以为了实现状态反馈,就要利用已知信息(输入、输出),用模型对状态变量进行估计。

状态观测器是以系统的输入和输出之和作为输入,它的输出是估计的系统的状态 ,由此可以得到状态观测器的状态方程为:

​​​​​​​

​​​​​​​

至此我们得到了由被控对象、状态观测器、状态反馈构成的闭环系统。

由分离定理知系统的增益反馈矩阵和观测器的增益反馈矩阵可以单独设计,而实际期望的瞬态性能取决于增益反馈矩阵的设计。

​​​​​​​

因此,系统的增益反馈矩阵对应的极点应当为系统的闭环主导极点,而观测器的增益反馈矩阵是用于对状态进行重构,其速度应远大于瞬态响应的速度,特殊地可以将其极点全部配置在原点。

  1. %系统的状态空间模型参数
  2. A=[0,0,0,1,0,0;
  3. 0,0,0,0,1,0;
  4. 0,0,0,0,0,1;0,0,0,0,0,0;
  5. 0,77.514,-21.593,0,0,0;
  6. 0,--38.757,38.019,0,0,0];
  7. B=[0,0,0,1,5.706,-0.075]';
  8. C=[1,0,0,0,0,0;0,1,0,0,0,0;0,0,1,0,0,0];
  9. D=[0,0,0]';
  10. sys = ss(A,B,C,D);
  11. %得到系统零极点
  12. [p,z] = pzmap(sys)
  13. % 期望设置的极点
  14. % P = [-7.07+7.07i,-7.07-7.07i,-30,-32,-34,-36];
  15. P =[-2+2i,-2-2i,-20+5i,-20-5i,-18+6i,-18-6i];
  16. %使用 ackerman方法获得 K
  17. K = acker(A,B,P)
  18. %使用 place方法获得K
  19. %K = place(A,B,P)
  20. %配置观测器期望的极点
  21. J = [-7.07+7.07i,-7.07-7.07i,-3,-4,-5,-6];
  22. %使用 place方法获得L
  23. L  = place(A',C',J)'%%%注意这里要进行转置;
  24. %使用 ackerman方法获得 L
  25. % L = acker(A',C',J)'
  26. A_bar=A-L*C;
  27. B_Bar=B;
  28. C_Bar=C;
  29. D_Bar=D;

线性定常系统综合仿真图

线性定常系统综合仿真封装

3.2.3实验结果

图3.2 线性定常系统综合结果

3.2.4分析结果

极点选择原则:根据一定的控制性能指标,选取2个互为共扼主导极点。选取剩下的非主导极点,使最小非主导极点的模大于或等于主导极点模的10倍。

分析带观测器的极点配置的方法不是很理想,有较大的超调量,但响应速度相对较快。跟极点选择的好坏很影响实验结果。

3.3PD控制

3.3.1原理

  PD控制器的控制规律为:

​​​​​​​

 其中 为系统的设定值与传感变送回来的测量值的偏差值。

  PD控制比例、积分、微分控制都有各自的作用与特点:

  1. 比例控制可以增大或者减小控制系统的偏差信号,比例作用越强,系统的响应速度越快。但是比例作用过大,会使得系统超调增大,震荡严重。而且比例作用会存在余差无法消除。在我们生活中要求不高的系统中,经常可以看到纯比例控制系统,是一种非常常见的控制作用。
  2. 微分作用是一种超前控制,可以提高系统响应速度,降低系统的滞后,能够减小超调,克服震荡。

直线二级倒立摆系统是有一个输入三个输出的非线性时变系统。为了维持摆杆垂直于水平面的状态,需要同时对小车位置、摆杆1和摆杆2的偏离角度这三个输出量进行闭环控制。由于前人文献的研究结论表明“积分控制不适用于倒立摆控制”,文献指出二级倒立摆系统需要快速响应,积分作用带来的相角滞后是不希望的,所以采用PD-PD-PD 三回路控制方案,控制系统的结构如图 3.8 所示。

系统内需要整定的六个控制参数是小车位移K1,摆杆 1 偏移角度K2,摆杆 2 偏移角度K3 ,小车移动速度K4,摆杆 1 偏移角速度K5和摆杆 2 偏移角速度K6。由于 PD-PD-PD 三回路控制方法与状态反馈控制方法的结构相似,可借助状态反馈控制系统的极点配置方法对 PID 控制器的 6 个参数值进行选取。当对极点的取值为时,利用 MATLAB 中的极点配置函数能够得到相应的参数。由于相互关联的多回路 PID 控制系统的参数整定无特定的规律可循,只能靠个人经验和根据曲线变化试凑来对参数进行整定,具体凑试过程在此不再叙述。

K1-K6参数根据主导极点配置去确定,即选取一对靠近虚轴主导极点,其他极点远离该主导极点。这里选取极点为 P =[-2±2i,-20±4i,-18±6i]。

经过实验发现,这个3回路的PD控制的,从根本意义上说和极点配置是一回事,形式上是一样的。(PD控制的引入就是在进行极点配置),一个比较大的区别是我们可以根据经验去整定PD参数从而实现更好的参数(相当于选择了更优秀的极点)。

3.3.2仿真实验图

3.3.3仿真结果

见3.4对比图。

3.4基于积分性能指标的单纯性优化PD控制

3.4.1 ITAE性能指标

衡量控制系统性能的指标可以归纳为三个方面:准确性,稳定性,快速性。对于一个控制系统,控制器参数优化问题就是使它在满足一定约束条件的前提下,使某个目标函数达到最优(最大或最小)。对于二级倒立摆系统而言,优化问题也就是如何调整控制器参数,使系统动态性能得到优化。不同的控制过程有不同的控制要求,也就产生了各类不同的目标函数。

积分型性能指标函数反映了控制系统动态响应的综合性能指标。因为它不需要计算稳态误差e(∞) 、上升时间tr 、峰值时间tp、调整时间ts和超调量σ 等,而只用一个单一的指标函数,就能描述系统响应的优劣程度,同时可以很方便地计算控制系统的最佳控制器参数。其中ITAE 性能指标的选择性最好,其特点为动态响应的超调量很小,振荡有足够的阻尼。

ITAE            

3.4.2单纯形优化算法

基本概念:

(1)单纯形:是指n 维空间具有n+1个顶点的凸多面体。

(2)正规单纯形:如果单纯形 n+1个顶点中任意两点的距离都相等,

则称为正规单纯形。例如在 ​​​​​​​ 中,三角形是单纯形,等边三角形是正规单纯形。

(3)基本思想:在 ​​​​​​​ 中选择一个初始点 ,并构造初始单纯形 ​​​​​​​,再从初始单纯形出发,经过反射、延伸、收缩、压缩棱长等四个步骤形成新的单纯形来替换原来的单纯形,使新的单纯形不断向极小值点靠近,直到找到满足精度要求的极小值点。

在MATLAB中可以直接调用fminsearch()函数进行实现。

优化函数句柄:

  1. function ss=pole_opt(x)
  2. global K1;
  3. global K2;
  4. global K3;
  5. global K4;
  6. global K5;
  7. global K6;
  8. global i;
  9. K1=x(1);
  10. K2=x(2);
  11. K3=x(3);
  12. K4=x(4);
  13. K5=x(5);
  14. K6=x(6);
  15. i=i+1;
  16. yy=sim('myPID_contral_opt');
  17. yylong=length(yy.out);
  18. ss=yy.out(yylong);
  19. %%%%以下代码于2018版本以下可用 原因是sim函数输出在2019后面的版本改变
  20. %[tt xx yy]=sim('trials6_2');
  21. %yylong=length(yy);
  22. %ss=yy(yylong);
  23. end

调用代码

  1. close all;
  2. clear all;
  3. global K1;
  4. global K2;
  5. global K3;
  6. global K4;
  7. global K5;
  8. global K6;
  9. global i;
  10. i=0;
  11. my_poleplacement_and_observer_and_PID;
  12. K1=K(1);
  13. K2=K(2);
  14. K3=K(3);
  15. K4=K(4);
  16. K5=K(5);
  17. K6=K(6);
  18. answer=fminsearch('myPID_contral_opt',[K1 K2 K3 K4 K5 K6]);

实验整定结果

K= [0.1367    0.4673    1.8704    0.2427   -0.0295    0.2680]*1000

实验中发现这种方法整定的结果并不是很理想,超调量比原来大了很多,个人觉得是得fminsearch()优化多变量方面不太给力。

3个PD输出三个变量,每个变量的影响不太一样,所以需要给每个变量设置权值进行优化,但是权值大小很难去设定,这里简单的都设置为1,该问题就转换为极点配置的优化问题,优化代码类似,仿真图得进行调整。

3.4.4实验仿真图

图3.4-1 单纯形法优化PID参数仿真图(ITAE指标)

图3.4-1 单纯形法优化K增益仿真图(ITAE指标)

3.4.5仿真结果对比

优化结果(位移与速度)

优化结果(theta1与theta2)

3.4.6仿真结果分析

经过单纯形法优化后,上升时间变快,超调量变小,曲线波动比原来的小,尤其是theta1与theta2调节时间基本在1.5s以内效果较为不错。美中不足的是位移的调节时间较长 5s左右。

但由于是theta1与theta2的调节是稳定的关键,可以忽略这些次要因素。

3.5自适应模糊PD控制

3.5.1模糊控制算法原理

模糊控制算法就是实验人员根据实际调试经验设计出一套体现系统输入与输出关系的模糊规则,模拟人对事物的模糊推测过程,从而进行模糊性的判断。它不依赖于控制系统具体的准确的数学模型,其控制性能主要取决于设计者对控制系统的熟悉程度。模糊控制能够根据系统参数的变化和外界的干扰,实时地调整系统控制参数,抑制外部干扰,提高控制性能,具有很好的鲁棒性和错误冗余性,在实际工程应用中有着重要使用价值和广阔应用前景。

设计模糊控制器的一般步骤:

(1)确定论域的范围、隶属度函数的形状及输入及输出变量的个数。

(2)精确量的模糊化,即把语言变量的语言值装换到某适当论域上的模糊子

集。

(3)定义各语言变量数据库;

(4)设计模糊控制器控制规则;

(5)解模糊化。

3.5.2自适应模糊PID原理与构建

自适应模糊PID 控制系统结构如图2 所示。控制系统以偏差e和偏差变化率ec作为输入量,利用模糊规则进行模糊推理,输出Δkp,Δki,Δkd。对PID三个参数进行在线分析与调整,而自适应模糊PID 控制器输出u( t) 作用在执行机构上,从而使倒立摆下摆角θ1的输出y( t) 达到要求的实时稳定性。

图 3.5-1 模糊自适应PID结构图

系统采用两输入一输出的模糊控制器的形式,以密度偏差e 和偏差变化率ec 作为模糊控制器的输入量,以PID 参数的修正量Δkp,Δki,Δkd分别为模糊控制器的输出量。其变量、基本论域、模糊子集、模糊论域、量化因子、比例因子如表所示。考虑到论域覆盖范围和灵敏度,并且为了计算简便,各模糊子集采用三角形隶属函数。

由于Ki会引起滞后,为了达到实时控制的目的,这里去掉了Ki。

模糊规则

表3.5-1 ΔKp模糊规则表

表3.5-2 ΔKd模糊规则表

隶属度函数

图3.5-2 隶属度函数

输入输出的隶属度函数基本类似,只是论域大小不同,这里不再体现。

解模糊

根据已经确立的模糊控制规则和隶属度函数,采用Mamdani推理方法,面积重心法非模糊化。

​​​​​​​

3.5.2仿真实验图

图3.5-3 模糊控制工具箱

图3.5-4 模糊PID仿真图

图3.5-5 模糊PID子系统封装

3.5.3仿真结果

图3.5-6  模糊PD与PD位移响应对比

图3.5-7  模糊PD与PD theta1响应对比

图3.5-8  模糊PD与PD theta1响应对比

3.5.4结果分析

分析:加入噪声后,显然模糊自适应PID性能要好于普通的PID控制器。

模糊自适应PID的原理简单,使用方便,适应性强的特点。但存在着制时精度低、抗干扰能力差等缺点。

PID模糊控制重要的任务是找出PID的三个参数与误差e和误差变化率ec之间的模糊关系,在运行中不断检测e和ec,根据确定的模糊控制规则来对三个参数进行在线调整,满足不同e和ec时对三个参数的不同要求。

实验中可以发现仿真时间上,传统PID比模糊PID少了很多,模糊PID在推理过程中耗费了大量时间,在实际中要有所取舍,使用符合硬件条件的控制器。

4、基于最优控制方法进行设计

4.1传统LQR控制

4.1.1 LQR原理

最优控制理论是现代控制理论中的重要内容,近年来最优控制理论的研究与应用得到了较快的发展。随着计算机的快速发展使得最优控制理论的相关理念和实现方法在实际工程中得到大量的使用。最优控制理论能够找出符合系统性能要求的最优控制规律。

LQR 控制中,L 是指受控系统限定为以状态空间形式给出的线性系统,Q 是指系统性能指标函数限定为二次型函数及其积分,R 是指调节器的意思。LQR 算法的目标函数和控制对象分别是以被控对象状态结合输入组成的二次型函数和线性系统。LQR 算法的最优设计中权阵的选择特别重要,其中 Q 阵是系统性能指标函数对于状态量的权阵,属于对角阵,矩阵内的元素值的大小和该变量在性能函数中的比重有关;R 阵是系统中控制量的权重,与 Q 阵同样是对角阵,矩阵内的元素值越大,控制约束越大。LQR 理论状态空间设计方法在现代控制理论中发展最早且最为成熟,其相应的状态线性反馈的最优控制规律,易形成闭环最优控制。

连续时间LQR控制,考虑如下连续时间线性系统

\begin{cases} \dot{x}=Ax+Bu\\ y=Cx\\ \end{cases}

设它的成本函数为

J=\int_0^{\infty}{\left( x^TQx+u^TRu+2x^TNu \right) dt}

可计算得让成本最小的控制律为

u=-Kx, K=R^{-1}\left( B^TP+N^T \right)

而P是代数Riccati方程的解

A^TP+PA-\left( PB+N \right) R^{-1}\left( B^TP+N^T \right) +Q=0

系统设计 LQR 控制器主要就是对 Riccati 方程求解,得到 P 从而得到最优反馈增益矩阵 K。

4.1.2关键

虽然 LQR 控制的理论已经有了比较成熟的框架基础,若要应用在实际工程中仍然需要对许多问题进行考虑,比如:二次型性能指标中,权阵 Q 和 R 的选取就是其中一个很关键的问题。在直线二级倒立摆系统中, Q 阵(状态加权矩阵)中各值是相应的状态变量 X 平方的加权。R 值不变,增加 Q 值,系统对状态的敏感度提高,系统的抗干扰能力增强,超量减小,调整时间缩短,动态性能变好,但是会引入一些震荡,稳态误差增大,这表明改善动态性能是以能量耗散为代价的;

R 阵(控制加权矩阵)中各值是相应的控制变量 U 平方的加权。Q 值不变,增加 R 值,反馈减弱,系统对输入的敏感度降低,超量增大,调整时间增长,但是稳态误差变小,这说明能量耗散随 R 值增大而减小。另外 R 越大,控制约束越大,可能会导致控制费用的增加。

① 想要提高系统的快速性,增大 Q 矩阵值;

② 想抑制控制量的幅值及其引起的能量耗散,增加 R 矩阵值;

③ Q,R 矩阵相互制约。 因此在实际的控制系统设计中,Q、R 的参数选择需结合以上规律,并根据实际情况不断试凑获得。

4.1.3仿真实验图

图4.1-1 LQR仿真曲线图

整定的K如下;

K =[ 1.0000, 92.6761, 101.9222 ,1.9182, 5.5511,17.0201]

4.1.4仿真结果

见下面整定完成的曲线对比。

基于遗传算法整定Q、R矩阵的LQR控制

4.2.1缘由

由上面叙述可以知道人工凑试 Q 矩阵和 R 矩阵值的方法无形中加大了工作量,慢、效果不好,利用遗传算法(Genetic Algorithm)优化 Q、R 矩阵的值,从而得到最优反馈阵 K,可以节约大量的时间。

4.2.2遗传算法原理

遗传算法作为以生物进化和遗传变异为理论依据的搜索全局最优解的方法,具有较强的自适应性和较好的鲁棒性。

基本遗传算法的构成要素主要有:

(1) 染色体编码

将实际的参数集合编码成父辈个体的方法。有二进制编码、浮点数编码、实

值编码等。其中以最小字符串编码为原则的二进制编码是最为常用的编码方法。 

(2)个体适应度评价

个体适应度值越大,该个体被遗传到下一代种群中的概率就越大,个体适应度必须为正值(特殊为零)。

(3) 遗传算子

基本遗传算法有三种遗传算子:选择,交叉,变异。

选择算子简单的说就是父辈种群中被选择,能遗传到下一代的概率算子。该算子根据适应度函数值决定选择哪些父辈中优良的个体参与完成后续的进化工作,因此选择算子是进化寻找最优解过程的基石。

交叉算子模拟父辈个体中的基因相互交换产生出新个体的概率,该算子是遗传算法中产生新个体中最主要也是最重要的方式。

变异就是对个体串的某些基因位直接进行改变而产生新的突变个体的过程。

4.2.3优化方法

利用遗传算法对最优状态加权阵进行优化的最关键点在于编写合适的适应度函数,合适的适应度函数可以有效的对父辈进行选择,从而重组和变异出子辈(新的父辈),如此循环得到最终最优的染色体。

这里使用MABLAB自带遗传算法工具箱对最优状态加权阵Q和R进行优化。所以首先需要将直线二级倒立摆系统的连续系统模型进行近似离散化处理以便于编写出适应度函数。

(1)令t=kt带入连续系统状态空间模型进行离散化

​​​​​​​

(2)离散化LQR的目标函数有

​​​​​​​

(3)编写相关函数句柄

  1. function scores=lqrfitness(pop) 
  2. A=[0,0,0,1,0,0;
  3. 0,0,0,0,1,0;
  4. 0,0,0,0,0,1;
  5. 0,0,0,0,0,0;
  6. 0,77.514,-21.593,0,0,0;
  7. 0,--38.757,38.019,0,0,0];
  8. B=[0,0,0,1,5.706,-0.075]';
  9. Q=[pop(1) 0 0 0 0 0;0 pop(2) 0 0 0 0;0 0 pop(3) 0 0 0;0 0 0 pop(4) 0 0;0 0 0 0  pop(5) 0;0 0 0 0 0 pop(6)]; 
  10. R=[pop(7)]; 
  11. K=lqr(A,B,Q,R); 
  12. G=eye(6)+0.0001*A; 
  13. H=0.0001*B; 
  14. x{1}=[0.01 -0.001 0.001 -0.001 0.001 -0.001]'; 
  15. for i=1:1001 
  16.      u{i}=(-1)*K*x{i}; 
  17.      x{i+1}=G*x{i}+H*u{i}; 
  18. end 
  19. for i=1:1001 
  20.      scores=sum(x{i}'*Q*x{i}+R*u{i}^2); 
  21. end 
  22. end 

(4)实验中发现离散化整定的参数效果不是很理想,(优化得不是很明显)因此这里采用simulink仿真结果输出作为优化目标。经过整定后发现效果还可以。显然离散化后的系统跟原来的系统还是有一定的区别,因此离散化整定的参数不一定完全适合连续系统。

图4.2-0 LQR优化指标仿真图

4.2.4仿真实验图

图4.2-1 改进LQR仿真对比图

图4.2-2 遗传算法工具箱使用

4.2.5实验结果对比

图4.2-3  整定完lqr与lqr 位移响应对比

图4.2-3  整定完lqr与原lqr theta1响应对比

图4.2-4  整定完lqr与原lqr theta2响应对比

4.2.5实验结果分析

用遗传算法工具箱优化QR矩阵后求取的K值配置极点的效果要好于通过经验配置的结果,在超调量方面减少了很多,上升时间虽然慢了,但调节时间比原来的短,使用这种方法可以节约人工整定的时间。

5、单纯形法优化PD与遗传算法整定LQR参数对比

图5.1-1  整定PID(黑色)与遗整定LQR(红色)对比

5.1两种方法对比分析

将两种方法对比分析,发现整定的结果各有千秋,单纯形(ITAE指标)的侧重点应该是优化结果theta2的超调量较小,theta1的上升时间较快、存在速度变化较大的问题。遗传算法整定(LQR指标)优化结果theta1的超调量较小,theta1的上升时间较快,位移调节时间较短,速度波动较小。

总之,两种优化结果都很优秀。

6总结

本文设计的 PID 控制器、模糊PID控制器、LQR是基于线性化处理后的对象模型的,这样使得所设计的控制器接近于理想情况,仅适合仿真状态,而实际情况下,倒立摆系统是非线性的,使得情况要复杂的多,并且实际控制中存在很多干扰因素  ,这些因素会给研究造成一定的影响。

由于倒立摆系统的实时控制对实时性的要求很高,要使得系统具有优秀的控制效果,除了在软件方面,即控制算法上做出改进,还需要在硬件部分,即实验设备上加以改善,如利用单片机等微型处理器设计硬件电路以提高系统的实时性;但是由于实验条件限制,所以没有真正实践。

二级倒立摆的研究刚刚起步,希望得到各位老师的批评和指正。尽管如此,各种算法所带来的卓越控制效果以及倒立摆的精巧结果带给我的震撼,将激励我做进一步的探索。 

参考文献

[1]武俊峰, 姜欣辰. 基于粒子群算法的直线二级倒立摆LQR控制器优化控制方法[J]. 黑龙江科技大学学报, 2018(5):570-576.

[2]邢景虎, 陆华才. 二级倒立摆两种控制方法的对比研究[J]. 佳木斯大学学报(自然科学版), 2017, 035(002):263-266.

[3]窦立环. 基于自适应模糊PID的二级倒立摆稳定控制研究[J]. 工业仪表与自动化装置, 2017(6).

[4]王楠, 闻新. 基于平面二级倒立摆的LQR和FUZZY控制效果的比较[J]. 工业控制计算机, 2016, 29(011):68-70.

[5]贺美琳. 二级倒立摆控制算法的研究[D]. 内蒙古科技大学, 2015.

[6]余永俊,任一峰,安坤,常超勇.基于SimMechanics的直线二级倒立摆仿真研究[J].科学技术与工程,2020,20(20):8239-8244.

[7] 张敏. 二级倒立摆云模型PID控制研究[D].大连海事大学,2016.

[8] 马秀秀. 基于遗传算法的模糊控制器在二级倒立摆系统中的应用[D].华北电力大学,2017.

  • 26
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
matlab有关二级倒立摆PID控制-shuang_pd.mdl 直线二级倒立摆是一个单输入三输出的系统.为了使倒立摆稳定竖立,必须对小车的位置、摆杆1的偏角、摆杆2的偏角这3个输出同时进行闭环控制.若采用PID控制器,则因为一个PID控制器只能控制一个被调量,所以在此提出三回 路PID控制方案,在上图中:Pos表示小车的位移;Anglel表示摆杆l的偏角;Angle2表示摆杆2的偏角.根据文献理论“积分控制不适用于倒立摆控制”,所以这里采用PD控制策略。即采用PD—PD—PD三回路控制方案. 6个PD参数与6个状态变量一一对应.将图所示的PD—PD—PD控制结构与状态反馈控制系统的结构相比较,发现它们的结构是一样的.因此,可利用状态反馈控制系统的极点配置方法来确定PID控制器的6个参数值. 当取点为P=[-2 5i -2-5i -5 4i -5-4i -8 6i -8-6i],利用MATLAB中的极点配置函数place,可求出个K值,程序如下: A=[ 0 0 0 1 0 0; 0 0 0 0 1 0; 0 0 0 0 0 1; 0 0 0 0 0 0; 0 86.69 -21.62 0 0 0 0 -40.31 39.45 0 0 0]; B=[ 0 0 0 1 6.64 -0.088]'; P=[-2 5*i,-2-5*i,-5 4*i,-5-4*i,-8 6*i,-8-6*i]; K=place 结果:K = 46.6564 75.1740 -162.8217 25.2800 0.3594 -26.5211 6个PD参数与6个状态变量一一对应.将图所示的PD—PD—PD控制结构与状态反馈控制系统的结构相比较,发现它们的结构是一样的.因此,可利用状态反馈控制系统的极点配置方法来确定PID控制器的6个参数值. 当取点为P=[-2 5i -2-5i -5 4i -5-4i -8 6i -8-6i],利用MATLAB中的极点配置函数place,可求出个K值,程序如下: A=[ 0 0 0 1 0 0; 0 0 0 0 1 0; 0 0 0 0 0 1; 0 0 0 0 0 0; 0 86.69 -21.62 0 0 0 0 -40.31 39.45 0 0 0]; B=[ 0 0 0 1 6.64 -0.088]'; P=[-2 5*i,-2-5*i,-5 4*i,-5-4*i,-8 6*i,-8-6*i]; K=place 结果:K = 46.6564 75.1740 -162.8217 25.2800 0.3594 -26.5211
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值