目 录
一、 倒立摆系统介绍„„„„„„„„„„„„„„„„2
1.1倒立摆系统简介„„„„„„„„„„„„„„„„„ 2 1.2 倒立摆组成及其原理„„„„„„„„„„„„„„„2 1.3 倒立摆特性„„„„„„„„„„„„„„„„„„„3
二、 一级倒立摆„„„„„„„„„„„„„„„„„„3
2.1一级倒立摆建模„„„„„„„„„„„„„„„„„ 3 2.2 一级倒立摆控制方法„„„„„„„„„„„„„„ 11 2.2.1 单输入—单输出控制方法„„„„„„„„„„„ 11 超前滞后控制方法
2.2.2 单输入—多输出控制方法„„„„„„„„„„„ 22 双PID控制方法
2.2.3 多输入—多输出控制方法„„„„„„„„„„„ 30 极点配置法 二次线性最优控制法
三、 二级倒立摆„„„„„„„„„„„„„„„„„ 36
3.1二级倒立摆建模„„„„„„„„„„„„„„„„„36 3.2 二级倒立摆控制方法„„„„„„„„„„„„„„ 46 3.2.1 二次线性最优控制法„„„„„„„„„„„„„ 46 3.2.2 基于融合技术的模糊控制法„„„„„„„„„„ 48
四、 总结„„„„„„„„„„„„„„„„„„„„ 60 五、 参考文献„„„„„„„„„„„„„„„„„„ 63
1
倒立摆控制实验 钟辉 胡登军 吕江伟
一、倒立摆系统介绍
1.1倒立摆系统简介
倒立摆是机器人技术、控制理论、计算机控制等多个领域、多种技术的有机 结合,其被控系统本身又是一个绝对不稳定、高阶次、多变量、强耦合的非线性 系统,可以作为一个典型的控制对象对其进行研究。最初研究开始于二十世纪 50 年代,麻省理工学院(MIT)的控制论专家根据火箭发射助推器原理设计出一级倒立摆实验设备。近年来,新的控制方法不断出现,人们试图通过倒立摆这样一个典型的控制对象,检验新的控制方法是否有较强的处理多变量、非线性和绝对不稳定系统的能力,从而从中找出最优秀的控制方法。倒立摆系统作为控制理论研究中的一种比较理想的实验手段,为自动控制理论的教学、实验和科研构建一个良好的实验平台,以用来检验某种控制理论或方法的典型方案,促进了控制系统新理论、新思想的发展。由于控制理论的广泛应用,由此系统研究产生的方法和技术将在半导体及精密仪器加工、机器人控制技术、人工智能、导弹拦截控制系统、航空对接控制技术、火箭发射中的垂直度控制、卫星飞行中的姿态控制和一般工业应用等方面具有广阔的利用开发前景。平面倒立摆可以比较真实模 拟火箭的飞行控制和步行机器人的稳定控制等方面的研究。
1.2倒立摆组成及其原理
倒立摆的组成包括计算机、运动控制卡、伺服系统、倒立摆本体和光电码盘、反馈测量元件等几大部分,组成一个闭环系统。对于直线型倒立摆,可以根据伺服电机自带的码盘反馈通过换算获得小车的位移,小车的速度信号可以通过差分法得到;各个摆杆的角度由光电码盘测得并直接反馈到控制卡,速度信号可以通过差分方法得到。计算机从运动控制卡中实时读取数据,确定控制策略(电机的输出力矩),并发送给运动控制卡。运动控制卡经过DSP 内部的控制算法实现该控制决策,产生相应的控制量,使电机转动,带动小车运动,保持摆杆平衡。
2
倒立摆控制实验 钟辉 胡登军 吕江伟
倒立摆控制原理的结构图如下:
1.3倒立摆的特性
倒立摆都具有以下的特性: 1) 非线性
倒立摆是一个典型的非线性复杂系统,实际中可以通过线性化得到系统的近 似模型,线性化处理后再进行控制。也可以利用非线性控制理论对其进行控制。 倒立摆的非线性控制正成为一个研究的热点。 2) 不确定性
主要是模型误差以及机械传动间隙,各种阻力等,实际控制中一般通过减少 各种误差来降低不确定性,如通过施加预紧力减少皮带或齿轮的传动误差,利用 滚珠轴承减少摩擦阻力等不确定因素。 3) 耦合性
倒立摆的各级摆杆之间,以及和运动模块之间都有很强的耦合关系,在倒立 摆的控制中一般都在平衡点附近进行解耦计算,忽略一些次要的耦合量。 4) 开环不稳定性
倒立摆的平衡状态只有两个,即在垂直向上的状态和垂直向下的状态,其中 垂直向上为绝对不稳定的平衡点,垂直向下为稳定的平衡点。 5) 约束
由于机构的,如运动模块行程,电机力矩等。为了制造方便和 降低成本,倒立摆的结构尺寸和电机功率都尽量要求最小,行程对倒立摆的 摆起影响尤为突出,容易出现小车的撞边现象。
二、一级倒立摆
2.1一级倒立摆建模
对于倒立摆系统,由于其本身是自不稳定的系统,实验建模存在一定的困难。 但是忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可 以在惯性坐标系内应用经典力学理论建立系统的动力学方程。下面我们采用其中 的牛顿-欧拉方法建立直线型一级倒立摆系统的数学模型。
2.1.1牛顿力学方法建立模型
在忽略了空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和
3
倒立摆控制实验 钟辉 胡登军 吕江伟
匀质杆组成的系统,如图所示。
我们不妨做以下假设: 符号 符号说明 M 小车质量 m 摆杆质量 b 小车摩擦系数 l 摆杆转动轴心到杆质心的长度 摆杆惯量 I F 加在小车上的力 x 小车位置 摆杆与垂直向上方向的夹角 摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下) 图是系统中小车和摆杆的受力分析图。其中,N 和P 为小车与摆杆相互作用 力的水平和垂直方向的分量。
注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而 矢量方向定义如图所示,图示方向为矢量正方向。
分析小车水平方向所受的合力,可以得到以下方程:
4
倒立摆控制实验 钟辉 胡登军 吕江伟
(2-1)
由摆杆水平方向的受力进行分析可以得到下面等式:
FbxNMxNmddt22 (xlsin) (2-2)
cosml2sin mlx即: Nm(2-3)
把这个代入上式中,就得到了第一个运动方程:
cosml2sinF (2-4)bxml(Mm)x
为了推出系统的第二个运动方程,我们对摆杆竖直方向上的合力进行分析,得到
下面的方程
Pmgmddt22(lcos) (2-5)
sinml2cos Pmgml(2-6)
力矩平衡方程如下:
PlsinNlcosI(2-7)
注意:此方程中力矩的方向,由于, coscos ,
sinsin ,故等式前面有负号。
合并两个方程,约去P和N,得到第二个运动方程:
mglsinmlcos(Iml)x2 (2-8)
设(是摆杆与垂直向上方向之间的夹角),假设与1(单位是弧度)相比很小,即1,则可以进行近似处理:cos1,sin,
(ddt)0。用u来代表被控对象的输入力F,线性化后得到两个运动方程如
2下:
对上式进行拉普拉斯变换,得到:
5
倒立摆控制实验 钟辉 胡登军 吕江伟
注意:推导传递函数时假设初始条件为0。
由于输入为角度,求解方程组的第一个方程,可以得到:
X(s)[,则有: x如果令vImlml2gs2](s)
(s)V(s)ml(Iml)smgl222
把上式代入方程组的第二个方程,得到:
Iml2Imlg2(Mm)(s)sbsmlml整理后得到传递函数:
g2(s)sml(s)sU(s) sml(s)U(s)s4qb(Iml)q22s22s3(Mm)mglqs2bmglq
s其中q(mM)(Iml)(ml)
设系统状态空间方程为:
解代数方程,整理后得到状态空间方程为: x,方程组对0x0x0012(Iml)bI(Mm)Mml0mlbI(Mm)Mml2202mgl22I(Mm)Mml0mgl(Mm)I(Mm)Mml2002Imlx0xI(Mm)Mml100mlI(Mm)Mml22u6
倒立摆控制实验 钟辉 胡登军 吕江伟
x1y00001x0x0u00 由方程组的第一个方程为:
mglml (Iml)x2对于质量均匀分布的摆杆有:
I13ml
2于是可以得到:
(ml312mglml ml)x2化简得到:
3g4l34l x,,},u'则有: x设X{x,x0x0x0010000003g4l0x010xu10 304lx1y00001x0x0u00
7
倒立摆控制实验 钟辉 胡登军 吕江伟
2.1.2系统物理参数
实际系统的模型参数如下; 符符号说明 号 M 小车质量 m 摆杆质量 b 小车摩擦系数 l 摆杆转动轴心到杆质心的长度 I 摆杆惯量 具体数值 1.096Kg 0.109Kg 0.1N/m/sec 0.25m 0.0034Kg*m*m 2.1.3实际系统模型
把上述参数带入,可以得到系统的实际模型。 摆杆角度和小车位移传递函数:
(s)X(s)0.02725s220.0102125s0.26705
摆杆角度和小车加速度之间的传递函数为;
(s)V(s)0.027250.0102125s0.2670522
摆杆角度和小车所受外界作用力的传递函数:
(s)U(s)2.35655s32s0.0883167s2.30942s
以小车加速度作为输入的系统状态方程:
0xx000100000029.40x00x1u10 03x1y00001x0x0u00
8
倒立摆控制实验 钟辉 胡登军 吕江伟
2.1.4系统可控性分析
对于连续时间系统:
AXBuXyCXDu
系统状态完全可控的条件为:当且仅当向量组B, AB,..., An−1B是线性无关的,或
nn维矩阵BABAn1B的秩为n。
系统的输出可控性的条件为:当且仅当矩阵CBCABCA2BCAn1BD的秩等于输出向量y的维数
应用以上原理对系统可控性分析,
00A00100000029.400 1001B
031C000010 00D0
代入上式,并在MATLAB中计算: clear;
A=[ 0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0]; B=[ 0 1 0 3]';
C=[ 1 0 0 0;0 1 0 0]; D=[ 0 0 ]';
cona=[B A*B A^2*B A^3*B];
cona2=[C*B C*A*B C*A^2*B C*A^3*B D]; rank(cona) rank(cona2)
9
倒立摆控制实验 钟辉 胡登军 吕江伟
可以得到: ans = 4 ans = 2
可以看出,系统的状态完全可控性矩阵的秩等于系统的状态变量维数,系统 的输出完全可控性矩阵的秩等于系统输出向量y 的维数,所以系统可控,因此可 以对系统进行控制器的设计,使系统稳定。
2.1.5系统阶跃响应分析
上面已经得到系统的状态方程,先对其进行阶跃响应分析,在 MATLAB 中 键入以下命令: clear;
A=[ 0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0]; B=[ 0 1 0 3]';
C=[ 1 0 0 0;0 1 0 0]; D=[ 0 0 ]';
step(A, B ,C ,D)
得到如下计算结果:
可以看出,在单位阶跃响应作用下,小车位置和摆杆角度都是发散的。
10
倒立摆控制实验 钟辉 胡登军 吕江伟
2.2一级倒立摆控制方法
2.2.1单输入—单输出控制方法
频率响应超前-滞后控制方法
系统对正弦输入信号的响应,称为频率响应。在频率响应方法中,我们在一 定范围内改变输入信号的频率,研究其产生的响应。
频率响应可以采用以下三种比较方便的方法进行分析,一种为伯德图或对数 坐标图,伯德图采用两幅分离的图来表示,一幅表示幅值和频率的关系,一幅表 示相角和频率的关系;一种是极坐标图,极坐标图表示的是当从0 变化到无穷大时,向量G(j)/G(j)的轨迹,极坐标图也常称为奈奎斯特图,奈奎斯特稳定判据使我们有可能根据系统的开环频率响应特性信息,研究线性闭环系统的稳定性和相对稳定性。
2.2.1.1频率响应分析
前面我们已经得到了直线一级倒立摆的物理模型,实际系统的开环传递函数 为:
(s)V(s)0.027250.0102125s0.267052
其中输入为小车的加速度V(s),输出为摆杆的角度(s)。 在MATLAB 下绘制系统的Bode 图和奈奎斯特图。 绘制Bode 图的命令为: Bode(sys)
绘制奈魁斯特图的命令为: Nyquist(sys)
在MATLAB 中键入以下命令: clear;
num=[0.02725];
den=[0.0102125 0 -0.26705]; z=roots(num); p=roots(den); subplot(2,1,1) bode(num,den) subplot(2,1,2) nyquist(num,den)
11
倒立摆控制实验 钟辉 胡登军 吕江伟
得到如下图所示的结果: z =
Empty matrix: 0-by-1 p = 5.1136 -5.1136
可以得到,系统没有零点,但存在两个极点,其中一个极点位于右半s 平面, 根据奈奎斯特稳定判据,闭环系统稳定的充分必要条件是:当从− ∞到+ ∞变化时,开环传递函数G(j)沿逆时针方向包围-1点p圈,其中p为开环传递函数在右半S 平面内的极点数。对于直线一级倒立摆,由图 3-21 我们可以看出,开环传递函数在S 右半平面有一个极点,因此G(j)需要沿逆时针方向包围-1 点一圈。可以看出,系统的奈奎斯特图并没有逆时针绕-1 点一圈,因此系统不稳定,需要设计控制器来镇定系统。
2.2.1.2频率响应设计
直线一级倒立摆的频率响应设计可以表示为如下问题: 考虑一个单位负反馈系统,其开环传递函数为:
12
倒立摆控制实验 钟辉 胡登军 吕江伟
(s)V(s)0.027250.0102125s0.267052
设计控制器Gc(s),使得系统的静态位置误差常数为20,相位裕量为50o, 增益裕量等于或大于10 分贝。 根据要求,控制器设计如下:
1) 选择控制器,上面我们已经得到了系统的Bode 图,可以看出,给系统 增加一个超前校正就可以满足设计要求,设超前校正装置为:
Ts1sKcs1T1
Gc(s)KcTs1T已校正系统具有开环传递函数Gc(s)G(s) 设
G1(s)KG(s)0.02725K0.0102125s0.267052
式中KKc
2) 根据稳态误差要求计算增益K,
sKp10.02725T20210.0102125s0.26705limGc(s)G(s)limKcs0s0
sT可以得到:
Kc196K
于是有:
G1(s)KG(s)0.027251960.0102125s0.26705
2
13
倒立摆控制实验 钟辉 胡登军 吕江伟
3) 在MATLAB中画出G1(s) 的Bode图:
4) 可以看出,系统的相位裕量为0,根据设计要求,系统的相位裕量为
50,因此需要增加的相位裕量为50,增加超前校正装置会改变Bode 图的
幅值曲线,这时增益交界频率会向右移动,必须对增益交界频率增加所造成 的G1(j) 的相位滞后增量进行补偿,因此,假设需要的最大相位超前量m 近 似等于55 因为
sinm11
计算可以得到:0.0994
5)确定了衰减系统,就可以确定超前校正装置的转角频率1T和1T,
可以看出,最大相位超前角m发生在两个转角频率的几何中心上,即
14
倒立摆控制实验 钟辉 胡登军 吕江伟
1(T),在1(T)点上,由于包含(Ts1)/(Ts1)项,
所以幅值的变化为:
1jT1jT1/(T)1j11j1
又
110.099410.0255
其中G1(j)10.02555分贝对应于40.405rad/s,我们选择此频率作为新的增益交界频率c这一频率相应于1T1T,即c1T ,于是
c12.73879
1T6) 于是校正装置确定为:
Gc(s)Kcc128.15688
Ts1Ts1KKcs12.73879s128.15688
Kc1971.8310
15
倒立摆控制实验 钟辉 胡登军 吕江伟
7) 增加校正后系统的bode图和奈魁斯特图如下:
从 Bode 图中可以看出,系统具有要求的相角裕度和幅值裕度,从奈魁斯 特图中可以看出,曲线绕-1 点逆时针一圈,因此校正后的系统稳定。 得到系统的单位阶跃响应如下:
可以看出,系统在遇到干扰后,在1 秒内可以达到新的平衡,但是超调 量比较大。
16
倒立摆控制实验 钟辉 胡登军 吕江伟
8)为使系统获得快速响应特性,又可以得到良好的静态精度,我们采用滞后-超前校正(通过应用滞后-超前校正,低频增益增大,稳态精度提高,又可以增加系统的带宽和稳定性裕量), 设滞后-超前控制器为:
11(s)(s)T1T2Gc(s)Kc 1(s)(s)T2T29)根据《机械控制理论基础》教材设计滞后-超前控制器。设控制器为:
11(s)(s)T1T2s12.73879s2Gc(s)Kc1451.1138 1s128.15688s0.1988(s)(s)T2T2可以得到静态误差系数:
KplimGc(s)G(s)s0lim1451.1138s0s12.73879s128.15688s2s0.19880.027250.0102125s0.267052
148.1比超前校正提高了很多,因为-2 零点和-0.1988 极点比较接近,所以对相
角裕度影响等不是很大,滞后-超前校正后的系统Bode 图和奈魁斯特图如下 所示:
17
倒立摆控制实验 钟辉 胡登军 吕江伟
2.2.1.3超前—滞后方法的实验仿真
打开“L1dofFreq.mdl”,在MATLAB Simulink 下对系统进行仿真(本
例和以下的例子都不再仔细说明每步的操作方法,详细的步骤请参见前一章 内容).
(进入MATLAB Simulink 实时控制工具箱“Googol Education Products”打 开“Inverted Pendulum\\Linear Inverted Pendulum\\Linear 1-Stage IP Experiment\\ Frequency Response Experiments ” 中的“ Frequency Response Control Simulink”)
双击“Controller2”设置校正器参数:
18
倒立摆控制实验 钟辉 胡登军 吕江伟
点击“”得到以下仿真结果:
从仿真结果,可以很明显的看出,系统稳态误差很小,响应速度很快。
2.2.1.4超前—滞后方法的实验
1) 进入 MATLAB Simulink 实时控制工具箱“Googol Education Products” 打开“ Inverted Pendulum\\Linear Inverted Pendulum\\Linear 1-Stage IP Experiment\\ Frequency Response Experiments”中的“Frequency Response Control Demo”(详细的超作步骤请参考前一张根轨迹校正控制实验):
19
倒立摆控制实验 钟辉 胡登军 吕江伟
2) 双击 Controller2,设置上面计算和仿真得到的参数。
3)双击“Scope”观察运行结果
20
倒立摆控制实验 钟辉 胡登军 吕江伟
从运行结果可以看出,使用超前滞后控制方法,摆角的控制稳态误差很小,且抗干扰能力很强,但由于这种方法是单输入-单输出控制,没有实现小车的位置控制。所以小车一直会朝一个方向运动。
2.2.2单输入—多输出控制方法
双PID控制方法
一、倒立摆系统的PID控制介绍
PID控制器是最早发展起来的控制策略之一,其之所以能在工业工程控制和过程控制中具有广泛地应用,一方面是由于PID 控制器具有简单而固定的形式,在很宽的条件范围内都能保持很好的鲁棒性;另一方面是因为PID 控制器允许工程技术人员以一种简单而直接的方式来调节系统。
PID控制器是一种有运算放大器组成的器件,通过对输入和输出之间的误差(或偏差)进行比例(P),积分(I)和微分(D)的线性组合以形成控制规律,对被控对象进行校正和控制其传递函数为: G(s)=Kp+Ki/s+Kd*s 式中:Kp为比例系数;Ki为积分系数;Kd为微分系数.
简单说来,PID控制器各环节所以作用如下:
1)比例控制号
的作用是对当前的偏差信号
进行比例运算后作为控制信存在,比例控制器就能即时
输出,比例控制的特点是,只要偏差信号
产生与偏差成正比例的控制信号。比例系数在阶跃响应的早期,偏差
越大,比例控制的作用就越强,
很大,可以使被控量上升
很大,所以控制信号
的很快,改善系统的快速性。但是,被控量上升过快可能产生较大的超调,甚至引起震荡,使系统的稳定性劣化。 2)积分控制可以积累系统从
时刻到当前时刻的
的全部历史过程。
系统进入稳态后,静态误差往往很长时间不变号,经过足够长的时间,静态误差夫人积分结果终能将输出足够大的控制信号
来消除静态误差。因此,引入积
分控制的作用是消除静态误差,但是如果对象的响应比较慢,在阶跃响应的早期,可能会出现长时间不变号得大偏差,产生过大偏差的积分值控制器饱和。因此要适当选择积分控制的参数。 3)微分控制
正比于偏差信号
的当前变化率
,有点当前的偏差变
,导致积分
化率能够预见未来的偏差,决定控制信号的符号和大小。微分控制智能对偏差的变化率敏感,对于固定不变的偏差
,微分控制不起作用。对于设定值的阶跃
21
倒立摆控制实验 钟辉 胡登军 吕江伟
变化,微分控制能减轻超调量,抑制震荡,改进系统的稳定性。但是当系统受到高频干扰是,对于快速变化的偏差的稳定性。如果
,微分控制的作用过于强烈,不利于系统
中的微分项过大,还可能使控制器饱和,系统阶跃响应可能
的值不宜过大。
很迟缓。因此,动用微分控制因十分谨慎,参数
二、 PID 控制参数设定
1.在Simulink 中建立如图所示的一级倒立摆仿真模型:
22
倒立摆控制实验 钟辉 胡登军 吕江伟
2.PID控制器的设计
本实验采用遗传算法来整定PID参数,遗传算法的过程如图所示
1. 基于遗传算法的PID寻优的优点
在PID控制器参数优化中可采用遗传算法。遗传算法因利用了生物进化和遗传的思想,所以有许多与传统优化算法不同的特点,主要有:
1)擅长全局搜索,鲁棒性高,并具有获得全局最优解的能力; 2)对搜索空间和目标函数没有任何特殊的要求(如凸性),只利用适应值信息,而不需要导数等其它辅助信息,因而适用范围更广;
3)从问题解的串集而不是从单个解开始搜索最优解,故有隐含的并行性; 4)是对问题参数的编码(染色体)群进行进化,而不是参数本身;
5)是随机搜索而非确定性搜索过程,且此随机搜索具有一定的方向性,可指导搜索向着最优解前进。故其效率远远高于一般的随机方法。
2. 基于遗传算法的PID寻优的方法
2.1 参数解码与编码
由于优化的PID参数Kp、Ki、Kd均为实数,而本次又采用二进制编码。因为是多参数优化问题,故需进行多参数映射编码。它是把每个参数先进行二进制编码得到子串,再把这些子串连成一个完整的染色体,即个体。对应的编码形式如下:
Kp1Kp2Kp8Ki1Ki2Ki8 ———————>Kp
———————>Ki
23
倒立摆控制实验 钟辉 胡登军 吕江伟
Kd1Kd2Kd8 ———————>Kd
该字串的每一位只有0或1两种取值,Kp、Ki、Kd各取八位,一共24位,该字串即为遗传算法可以操作的对象。二进制数转化为十进制数用遗传算法工具箱中的函数“bs2rv”实现。 2.2.适应度函数的确定
一般的寻优方法在约束条件下可以求得满足条件的一族参数,而在本设计中,则是从该族参数中寻找一个最好的。适应函数同目标函数相关,所以,以具有约束条件的调节品质型目标函数为适应函数。所以本文仅采用偏差积分指标对控制系统进行优化,其目的只是为验证遗传算法在按照某个特定指标下优化控制参数时的效果。由于PID控制器参数优化问题是求在偏差积分指标最小情况下的Kp、Ki、Kd参数,即
所以需要对目标函数进行改造,将最小值问题转换成最大化问题,来满足遗传算法的要求。定义适应度函数f为:
0Jte(t)dtminf1J1x
0te(t)dt2.3.初始种群生成
种群即每代中所包含二进制串的个数。初始种群的选取可以采取随机方法进行。比如通过投硬币,投取一次代表一个二进制数,正面表1,反面为0。该方法产生的种群具有随机性、全面性,避免了局部最优解的问题。
初始种群可以采取随机方法进行选取。该方法产生的种群具有随机性、全面性,免了局部最优解的问题。种群中字串的个数越大,其代表性越广泛,最终进化到最优解的可能性越大,但势必造成计算时间的增加。按照Ziegler-Nichols的经验公式先计算出Kp、Ki、Kd三个参数值,然后在参数值附近生成初始群体。这样有利于缩小搜索空间,迅速找到最优解的位置。具体算法如下:首先系统只加比例环节,改变Kp的值使系统输出发生周期震荡,记录K0 (使系统输出发生周期震荡Kp的值)和T0 (震荡周期)。然后根据得到的Kp和T0的值利用公式得到
Kp0.6*K0Ki2Kp/T0,KdKpT0/8,算出参数Kp、Ki、Kd
2.4.遗传算子的确定
遗传算法的三个算子:选择概率Ps,交叉概率Pc和变异概率Pm。选择概率通过适配值来确定。交叉概率决定了交叉的次数,Pc过小导致搜索停滞不前;而太大也会使高适配置的结构被破坏掉。因此,选择概率一般选取0.40-0.99,交叉概率一般选取0.25-0.8之间,变异概率一般为0.001-0.1,太大会引起不稳定,太小难以寻到全局最优解。
所以本文采用的方法是:首先按赌轮选择机制执行遗传算法的选择功能,即各个个体被选中的概率和其适应度值成正比。适应度值大的在下一代中将有较多的子孙,相反则会被淘汰。遗传算法强调交叉操作的功能。此功能由MATLAB遗
24
倒立摆控制实验 钟辉 胡登军 吕江伟
传算法工具箱中的“select”函数来实现。从遗传算法的观点来看,解的进化主要靠选择机制和交叉策略来完成,单点交叉对保护最优解不被破坏有很重要的作用,本文选择单点交叉,由“recombin”函数来实现。交叉概率Pc=0.8。变异由函数“mut”来执行,它是根据变异概率,从群体中随机选取若干个体,对于选中的个体随机选取某一位进行取反运算,即由0→1或由1→0。本文的变异概率Pm = 0.01。
2.5.生成新一代种群
计算新群体的适应度值,然后判断是否满足终止条件。若是满足就结束遗传算法迭代,如果不满足则返回重新进行遗传操作。本文的遗传结束条件选取为遗传的。
三、 PID 控制方法仿真结果
根据上述遗传算法得到结果如下:
,
仿真结果如下所示:
,
,
可见在位移阶跃信号下,位移在2S多就稳定下来,角度的响应也比较好,
25
倒立摆控制实验 钟辉 胡登军 吕江伟
将仿真结果放大;
将仿真结果放大,我们可以看到实际上位移一直存在微小的振动,不过幅度不大,将其观测时间延长至50s,可以看出其振动情况。
最大值的数量级为负11次方数量级,已经很小了。
四、双PID控制方法的实验结果
搭建控制系统如下,如图所示,图中doublePID controller即为双PID控制器,由于实验要自动起摆,故需要自动起摆控制swing-up controller。
26
倒立摆控制实验 钟辉 胡登军 吕江伟
查看双PID控制器内部结构如下所示:
27
倒立摆控制实验 钟辉 胡登军 吕江伟
将双PID控制器封装(mask)。
输入仿真得到的参数:
28
倒立摆控制实验 钟辉 胡登军 吕江伟
点击示波器观察固高系统实验结果:
由上图可以看出,位移始终在一定范围内波动,但角度控制较好,这同前面的仿真结果恰好吻合。
2.3多输入—多输出控制
2.3.1极点配置法
2.3.1.1极点配置法原理:
控制系统的稳定性和各种品质指标,在很大程度上和该系统的极点在s平面的分布有关。在设计系统时,为了保证系统具有期望的特性,往往会给定一组期望的极点,或更具时域指标转换一组等价的期望极点,然后进行极点配置。所谓极点配置,就是通过选择反馈增益矩阵,将系统的极点恰好配置在根平面上所期望的位置,以获得所期望的动态性能。 对于一般的线性定常系统,通过状态反馈,其系统的状态空间表达式为:
x(AbK)xbuycxdu'
其中,反馈矩阵K为1n的矩阵。
该系统的闭环特征多项式为
fk(s)|sI(AbK)|
假设任意提出的n个期望闭环极点为1,2,3,4,5,...,n(注意,期望的闭环
29
倒立摆控制实验 钟辉 胡登军 吕江伟
极点可以是负实数也可以是具有负实部地共轭复数对),则期望的闭环系统特征多项式为
f(s)(s1)(s2)(s3)...(sn)sasfk(s)和f(s)两个多项式s**n*1n1as*2n2as*3n3...a*n
的对应项系数相等,得到n个代数方程,即可求得
K[k1,k2,...,kn]
另外,matlab软件中已有现成的求反馈矩阵K的函数。其语法是
Kplace(A,B,P)
其中,K,A,B,P分别是反馈矩阵,状态矩阵和所配置的极点向量。
2.3.1.2极点的选择:
一般希望的n个极点中,选其中一对为主导极点s1和s2,其他的为远极点,
并且认为系统的性能主要由系统的主导极点来决定,远极点只是有微小的影响。 根据二阶系统的关系式,先确定出主导极点。二阶系统的性能指标如下:
12petpn12
2bn12ts424424n根据所要求的系统性能指标,可以求得,,n,从而求得闭环主导极点。
s1,2njn12
远极点选择得使它和原点的距离大于5|s1|。这样,便可以确定出所希望的极点,然后再用上面提到的求法求出反馈矩阵K。
2.3.1.3本次实验极点配置法的应用:
本次实验中,系统共有4个极点。我们如下设定性能:
12pe45%
tsn230
倒立摆控制实验 钟辉 胡登军 吕江伟
0.707,n2.829从而得到
从而得到s1和s2
s1,22.0352.035j
另外取s3,4100.00001j 从而最终得到需要配置的极点向量
P[2.0352.035j,2.0352.035j,100.00001j,100.00001j]
又
A[0,1,0,0;0,0,0,0;0,0,0,1;0,0,29.4,0]B[0;1;0;3]
通过Kplace(A,B,P)求得最终的反馈矩阵为:
K[39.1837,26.1224,105.5279,18.0408]
2.3.1.4本次实验的结果:
(1) 仿真结果
31
倒立摆控制实验 钟辉 胡登军 吕江伟
(2) 系统的实际控制结果
(3) 结论
通过上面的仿真结果和实际控制结果可以看出,系统的稳态误差很小,系统的稳定性和抗干扰性十分好。系统在受到干扰后可以在2s内回到平衡,说明我们的控制参数设定的比较合理。
2.3.2线性最优二次控制
2.3.2.1线性最优二次控制LQR原理
对于线性系统,若取状态变量和控制变量的二次型函数的积分作为性能指标函数,则这种动态系统最优问题称为线性系统二次型性能指标的最优控制问题,简称二次型问题。由于线性二次型问题的最优解具有统一的解析表达式,且因而可导致一个简单的线性状态反馈控制律,构成闭环最优反馈控制,便于工程实现,因而在实际工程问题中得到了广泛的应用。 设线性时变系统的状态空间表达式为
x(t)A(t)x(t)B(t)u(t),x(t0)x0y(t)C(t)x(t)'
在工程实践中,总希望设计一个系统,使其输出y(t)尽量接近理想输出yr(t),
为此定义误差向量
e(t)yr(t)y(t)
32
倒立摆控制实验 钟辉 胡登军 吕江伟
因此最优控制的目的通常是设法寻找一个控制向量u(t)使误差e(t)最小。一般可用下面的泛函表示二次型性能指标
J12e(tf)Fe(tf)T12tft0[e(t)Q(t)e(t)u(t)R(t)u(t)]dtTT
上式最小的物理意义是:使系统在整个控制过程中的动态跟踪误差和控制能
量消耗,以及控制过程结束时的终端跟踪误差综合最优。在实践中,通常取F为零矩阵,则Q表示误差权重,R为控制能量权重。对于线性二次系统,在已知Q,R的条件下,可以直接利用matlab中的Klqr(A,B,Q,R)函数可求得最优的控制向量为
u(t)Kx
2.3.2.2本次实验中的LQR应用:
本次实验中,Q和R用来平衡输入量和状态量的权重。在此,我们取最简单的情况,R1,QC'*C
10'QC*C000000001000 00其中,Q11代表小车位置的权重,而Q33是摆杆角度的权重。可以通过改变
Q11,Q33来调节控制器的期望响应。
10000本次实验中,我们组取R1,R000000001000000,从而得到反馈矩阵00为
K[44.7214,28.0238,95.8467,16.6870]
33
倒立摆控制实验 钟辉 胡登军 吕江伟
2.3.2.3本次实验的结果:
本次实验的仿真结果
系统的实际控制结果
34
倒立摆控制实验 钟辉 胡登军 吕江伟
结论 通过上面的仿真结果和实际控制结果可以看出,系统的稳态误差很小,系统的稳定性和抗干扰性十分好。控制系统在干扰下可以在1.5s内回到平衡状态,相比上面的极点配置具有更好的稳定性。由此说明我们设定的控制参数比较合理。
三、二级倒立摆
3.1二级倒立摆系统物理模型
3.1.1利用拉格朗日方法建立模型
为简化系统,我们在建模时忽略了空气阻力和各种摩擦,并认为摆杆为刚体。 二级倒立摆的组成如图所示:
35
倒立摆控制实验 钟辉 胡登军 吕江伟
倒立摆参数定义如下: 符号 符号说明 M 小车质量 摆杆1的质量 m1 m2 摆杆2的质量 质量块的质量 摆杆1中心到转动中心的距离 摆杆2中心到转动中心的距离 加在小车上的力 小车位置 摆杆1与竖直方向的夹角 摆杆2与竖直方向的夹角 m3 l1 l2 F x 1 2 利用拉格朗日方程推导运动学方程: 拉格朗日方程为:
L(q,q)T(q,q)V(q,q)
其中L为拉格朗日算子,q为系统的广义坐标,T为系统的动能,V为系统的 势能。
dLdtqiLqifi
其中i1,2,3……n,fi 为系统在第i 个广义坐标上的外力,在二级倒立摆系统 中,系统的广义坐标有三个广义坐标,分别为x,1,2 首先计算系统的动能:
TTMTm1Tm2Tm3
其中TM,Tm1,Tm2,Tm3分别为小车的动能,摆杆1 的动能,摆杆2 的动能和质量块的动能。 小车的动能:
TM12Mx2
36
倒立摆控制实验 钟辉 胡登军 吕江伟
''''''Tm1Tm1Tm1,其中Tm1,Tm1分别为摆杆1的平均动能和转动动能。 Tm2Tm2Tm2,其中Tm2,Tm2分别为摆杆2的平均动能和转动动能。
''''''对于系统,设一下变量:
xpend1 摆杆1质心横坐标 yangle1 摆杆1质心纵坐标 xpend2 摆杆2质心横坐标 yangle2 摆杆2质心纵坐标
xmass 质量块质心横坐标
ymass 质量块质心纵坐标
又有:
xpend1xl1sin ypend1l1cos1xpend2x2l1sinl2sin2 ypend2lcoslcos1122xmassx2l1sin1 ymass2l1cos1则有:
Tm1'd(xpend1)2d(ypend1)2m1 2dtdt1Tm1''11222Jp11m1l1126
同理:
Tm2'd(xpend2)2d(ypend2)2m22dtdt1Tm2''
12Jp2221622m2l22
Tm3d(xmass)2d(ymass)2m32dtdt1
于是有系统的总动能:
37
倒立摆控制实验 钟辉 胡登军 吕江伟
TTMTm1Tm2Tm3221d(xpend1)d(ypend1)222Mxm1m2l2222dtdt611d(xpend2)2d(ypend2)2122m2m2l222dtdt61d(xmass)2d(ymass)2m32dtdt1
系统的势能为:
VVm1Vm2Vm3m1ypend1m2ypend2m3ymassm1l1cos1m2(2l1cos1l2cos2)2m3l1cos1
由于系统在1,2广义坐标下没有外力作用,所以有:
ddtddtLL011LL022
对于二级倒立摆系统,系统变量为:
x,,12,1,2,x为求解状态方程:
AXBuX YCX需要求解1,2
因此设:
,1,2,)x1f1(x,1,2,x,1,2,)x2f2(x,1,2,x
将在平衡位置附近进行泰勒级数展开,并线性化,可以得到:
k151k162k17x1k11xk121k132k14xk251k262k27x2k21xk221k232k24x
其中
38
倒立摆控制实验 钟辉 胡登军 吕江伟
在 Mathematics 中计算以上各式
因其余各项为0,所以这里仅列举了k12、k13、k17、k22、k23、k27 等7 项,得到结果如下:
39
倒立摆控制实验 钟辉 胡登军 吕江伟
于是得到系统的状态方程为:
40
倒立摆控制实验 钟辉 胡登军 吕江伟
3.1.2系统可控性分析
系统状态矩阵A, B,C,D如下:
利用 MATLAB 计算系统状态可控性矩阵和输出可控性矩阵的秩: clear;
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. -0.088]'; C=[ 1 0 0 0 0 0 ; 0 1 0 0 0 0 ; 0 0 1 0 0 0]; D=[ 0 0 0 ]';
cona=[B A*B A^2*B A^3*B A^4*B A^5*B];
41
倒立摆控制实验 钟辉 胡登军 吕江伟
cona2=[C*B C*A*B C*A^2*B C*A^3*B C*A^4*B C*A^5*B D]; rank(cona) rank(cona2)
得到结果如下: ans = 6 ans = 3
可以得到,系统状态和输出都可控,且系统具有可观测性。
3.1.3直线两级倒立摆MATLAB仿真
在 MATLAB Simulink 中建立直线两级倒立摆的模型:
其中“State-Space”模块为直线两级倒立摆的状态方程,双击模块打开模型:
42
倒立摆控制实验 钟辉 胡登军 吕江伟
双击“Controller”模块打开其参数设置窗口:
先设置参数为“1”。
“Disturbance”模块为外界干扰模块,其作用是给系统施加一个阶跃信号,点击 “”运行模型进行开环系统仿真。 得到运行结果如下:
43
倒立摆控制实验 钟辉 胡登军 吕江伟
从仿真结果可以看出,系统发散,为使系统稳定,需要对其添加控制器。
3.2 二级倒立摆控制方法
3.2.1直线两级倒立摆LQR控制方法
倒立摆线性二次最优控制LQR方法的原理与直线一级倒立摆线性二次最优控制方法相同。
本次实验中,Q和R用来平衡输入量和状态量的权重。在此,我们取最简单的情况,QC'*C,R1 。
Q1100Q0000Q22000000Q33000000Q44000000Q550000 00Q66其中,Q11代表小车位置的权重,Q22是摆杆1角度的权重,Q33是摆杆2角度的权重,Q44代表小车速度的权重可以通过改变,Q55代表摆杆1的角加速度权重,Q66代表摆杆2角加速度权重,通过调整Q11,Q22,Q33,Q44,Q55,Q66来调节控制器的期望响应。
44
倒立摆控制实验 钟辉 胡登军 吕江伟
1. LQR控制器设计
根据各个状态量的权重,选取Q113000,Q22500,Q33500,Q4410,
Q5520,Q6650。
利用MATLAB求出反馈矩阵 程序代码如下:
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. -0.088]'; C=[1 0 0 0 0 0; 0 1 0 0 0 0; 0 0 1 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0]; D=[0 0 0 0 0 0]';
Q1=3000;Q2=500;Q3=500;R=1;Q4=10;Q5=20;Q6=50;
Q=[Q1 0 0 0 0 0;0 Q2 0 0 0 0;0 0 Q3 0 0 0;0 0 0 Q4 0 0;0 0 0 0 Q5 0;0 0 0 0 0 Q6]; K=lqr(A,B,Q,R)
运行得到下面结果: LQR控制参数为:
K =.7723 166.86 -366.7697 48.5165 0.5036 -61.7104
45
倒立摆控制实验 钟辉 胡登军 吕江伟
2. 实验仿真
仿真模块如下:
输入参数:
46
倒立摆控制实验 钟辉 胡登军 吕江伟
仿真结果如下:
从结果可以看出,小车位置和摆杆角度基本在1秒多趋于稳定,说明系统的响应速度很快,而且系统的稳态误差较小。
3.2.2基于融合技术的模糊控制方法 3.2.2.1模糊控制理论简介
3.2.2.1.1模糊控制的特点
模糊性是人们在社会交往和生产实践中经常使用的,它提供了定性和定量、主观与客观、模糊与清晰之间的一个人为的折衷。它既不属于确定性,也有别于偶然性和随机性。模糊控制语言是一种表示人类思维活动以及复杂事物的有效的手段,因此对于那些利用传统控制方法难以实现或奏效的控制问题,采用模糊控制技术往往能迎刃而解。与传统的控制技术相比较,模糊控制具有如下的特点: (1)不需要被控对象的精确数学模型
模糊控制是利用对被控过程参数现状及其发展趋势观测和判断所产生的定性感觉来构成控制算法。因此,模糊控制器的基本出发点便是对现场操作人员或者有关专家的经验、知识以及操作数据加以总结和归纳,形成一定的规则参与控制过程。 (2)适应性强
大量的实验及研究表明,对于确定的过程对象,用模糊控制与用PID 控制效果相当,但是对于非线性和时变等一类不确定系统,模糊控制却有比较好的控制效果,同时对于非线性、噪声和纯滞后有较强的抑制能力,在这方面传统控制往往显得力不从心。
47
倒立摆控制实验 钟辉 胡登军 吕江伟
(3)系统的鲁棒性较强
由于模糊控制采用的不是二值逻辑,而是一种连续多值逻辑,所以当系统参数变化时,能比较容易实现稳定的控制,尤其是适合于非线性、时变、滞后系统的控制。
(4) 系统的规则和参数整定方便
只要通过对现场的工业过程进行定性的分析,就能比较好的建立语言变量的控制规则和系统的控制参数,有时仅修改、量化比例因子就可以适用于不同的控制对象。
(5) 结构简单系统的软硬件实现都比较方便。
硬件结构一般无特殊要求,在软件方面其算法也比较简捷。由于基本模糊控制器在实际运行时只需进行简单的查表运算,其它的过程可以离线进行,因此这种控制方法很容易被现场工程技术人员和操作者所掌握。
模糊控制技术具有上述特点,在理论上,可以充分利用专家的经验知识;在实际应用中,执行简便,开发成本低,降低了控制器的“软件成本”,同时“硬件成本”也较低。由此越来越吸引广大研究者的注意。同时模糊控制理论在各种商业产品和工业过程中做到了成功的应用。
3.2.2.1.2模糊控制器的工作原理
模糊控制是一类应用模糊集合理论,建立在模糊逻辑基础上的语言控制。一方面,模糊控制提出了一种新的机制实现基于知识(规则)甚至语义描述的控制规律;另一方面,模糊控制为非线性控制器提出了一个比较容易的设计方法,尤其是当受控对象或过程含有不确定性而很难用常规非线性控制理论处理时,更是有效。一般模糊控制系统(二阶)的基本结构如图所示。
图为一般模糊控制系统的架构。此架构包含了四个主要部分,即:模糊化、数据库、知识库、模糊推理及反模糊化。实现一步模糊控制算法的过可以描述如下:微机经过中断采样获得被控制量的精确值y ,然后将此量与给定值r 比较得到误差信号e ,一般选误差信号e 与误差信号变化率ec 作为模糊控制器的两个输入量。把e 和ec 的精确量进行模糊化变成模糊量e和ec,e和ec可用相应的
48
~~~~倒立摆控制实验 钟辉 胡登军 吕江伟
~~模糊语言表示。由e 和ec的模糊控制规则可确定的模糊关系R ,根据推理的合成规则进行模糊决策,得到模糊控制量u 。最后经过解模糊变成精确的控制量u 。
由上面的模糊控制的基本原理可以得到以下的模糊控制算法:
(1)根据本次采样得到的系统输出值,计算所选择系统的输入变量; (2)将输入量的精确值变为模糊量;
(3)根据输入变量(模糊量)和模糊控制规则,按模糊推理合成模糊控制规则计算控制量(模糊量);
(4)由上述得到的控制变量(模糊量)计算精确的控制量。
~3.2.2.2模糊融合技术与融合函数
倒立摆系统是一个复杂的、非线性的、不稳定的高阶系统。在研究倒立摆这类多变量非线性系统的模糊控制时,一个难题就是规则爆炸,比如二级倒立摆的控制涉及的状态变量共有6 个,每个变量的论域作7 个模糊集的模糊划分,这样,完备的推理规则库会包含761179 个推理规则。显然如此多的规则是不可能实现的。
本文把最优控制理论与模糊控制策略相结合。采用融合技术设计一个线性融合函数,把多个变量融合成综合误差E 和综合误差变化率EC ,这就使模糊控制器的设计大为简化。这种控制器结构如图所示。
3.2.2.2.1 融合技术
二级倒立摆系统蕴含6 个状态变量,而常见的模糊控制器是根据每一个状态变量的偏差和偏差变化率来求控制作用的。所以若直接设计模糊控制器解决二级倒立摆这样多变量系统控制问题时,不可避免会遇到规则爆炸问题,不仅使模糊控制器的设计非常复杂,也使模糊控制的执行时间大大增长,难于实时应用
众所周知,任何控制器都是一个输入输出映射变换:Y f (X ),其中X,Y 分别是控制器的输入和输出向量, f ( ) 是控制算法。对于多输入情况,要设计高维输入变量X 映射到输出变量Y 的模糊控制器,直接设计由X 到Y 的单级模糊
49
倒立摆控制实验 钟辉 胡登军 吕江伟
控制策略比较困难,我们可以模仿人类简化问题的思路,采用多级控制方式,将单一的复杂模糊控制策略转化为多级简单控制策略嵌套,表达形式如下:
上式的具体含义是先利用算法f1(),对输入变量X 进行初步处理,再利用算法f2(),根据前级算法的输出进行控制。如果算法f1()输出向量的维数小于X 的维数,那么算法f2()所要完成的控制工作就得到了简化。此时映射关系变为:
Yf2(f1(x))。可以看出,算法f1()利用系统状态的内在相关性和输入信息的融
合性,完成了组合、系统信息提取的功能,可以称为“融合函数”;算法f2()实现了根据约简因素进行推理的功能,可以称为“模糊作用函数”。基于信息融合的多输入模糊控制器设计方法就是通过融合函数进行信息合并与提取,从而实现控制问题的逐步简化得以解决的。
经典线性控制器一个很大的特点是输入信息具有直接可融合性。对于多输入单输出(MISO)系统,假定MISO 线性控制器具有以下形式:
uKX (3-1)
式中: K[k1,k2,k3,...,kN]为反馈系数,X[x1,x2,x3,...,xN]T为为控制器输入向量,N 2。
可以将式(3-1)写为:
Nuki1ixi (3-2)
为实现信息融合,基于各输入变量在系统中的实际物理意义,选择在控制中起主要作用的输入变量的两个主要状态作为“主元”,并且其相应的反馈系数不为零。其它输入变量可根据与主元的相关性和可融合性分别归并到两主元中去。称与主元归并在一起的输入变量为“副元”,对应的系数为“归并系数”。为推导方便,,假设选取x1 与xp1为主元(k10,kp10),而[x2,x3,...,xp]和
[xp2,xP3,...,xN]分别为融合到两主元中的副元组,故式(3-2)可化为:
其中,1pN,k10,kp10。
50
倒立摆控制实验 钟辉 胡登军 吕江伟
式(3-3)可表示为:
式(3-4)表明,原有的N 输入单输出控制器的作用可以看作f1(), f2()两个函数的共同作用。从物理意义上看,通过线性反馈系数得到的融合函数f1()是把其他几个状态的输入信息以一定的比例归并到主元信息,即通过一定的约束条件,将多输入的控制问题转化为部分输入的控制问题。后级模糊作用函数f2()接受融合函数输出,只需对主元进行控制,因而模糊作用函数的结构可以大大简化。
3.2.2.2.2 融合函数的设计
倒立摆是典型的单输入多输出(SIMO)系统,由已得到的二级倒立摆系统近似线性状态方程,运用线性系统的输出信息具有可直接融合的特点构造了一个线性融合函数,把倒立摆状态变量融合成综合误差E 和综合误差变化EC 。
对于本文讨论的二级倒立摆系统,小车位移、速度、摆杆角度及摆杆角速度本身存在很大的融合性和内在相关性,其线性系统的输出信息具有可直接融合性,因此可以构造线性融合函数实现降维,简化模糊控制器设计。具体过程如下: (1)求状态反馈增益矩阵K 。
利用二次最优控制理论(LQR),通过选取适当的加权矩阵Q, R,满足使倒立摆系统线性化模型的二次型性能指标J10(XQXuRu)dt为最小的条件,计算得
TT到状态反馈增益矩阵:K[Kx,K,K,Kx',K',K']。
212依照在第二章设计状态反馈控制时选取加权Q, R 的原则,此处选取加权矩阵
Q diag 500 700 0 0 0, R 1,这样计算得到对应的阵为:
K
(2)构造融合函数f1()
51
倒立摆控制实验 钟辉 胡登军 吕江伟
状态向量X[x,1,2,x',1',2']T是整个控制器的输入,施加在小车的控制力 为控制器的输出。鉴于直接设计由X 到u 的模糊控制器比较困难,故先利用信息融合完成系统状态维数的降低。在直线二级倒立摆系统中,小车直接受控制推力的作用;下摆通过小车间接受控制推力的作用;而上摆通过下摆和小车,也间接受控制推力的作用。通过从刚体运动力学角度进行分析,并结合实验验证,可以得到如下的运动规律:若要通过下摆控制上摆,下摆摆幅要大于上摆;若要通过小车控制下摆,小车摆幅要大于下摆。由此推断:上摆的稳定性比下摆的重要,下摆的稳定性比小车的稳定性重要[42]。因此选取上摆角度及其角速度为主元,下摆角度、下摆角速度、小车位移、小车速度作为副元,根据与主元的相关性和可融合性分别归并到前面两主元中去。
选取2,'2'作为整个被控系统的控制主元,相应系数记为:
[x1,x2]TKK2,K'K2'。并记融合函数的输出向量为:X,对应的归并系
数为:KxK,KxK'。有:
1222故融合函数的输入输出方程为:
利用状态反馈增益矩阵构造融合函数:
这样,融合函数f1(),通过线性组合,将6 个状态变量降为2 维,然后采用模糊逻辑提供给后级的作用函数f2()实现控制。其物理意义表示将位移和下摆角度以一定的比例转化为上摆角的辅助信号,从而归并到上摆角度的控制作用中去。
3.2.2.3模糊控制器的设计
52
倒立摆控制实验 钟辉 胡登军 吕江伟
模糊逻辑控制器简称为模糊控制器,模糊控制器的设计包括以下几项内容。 (1)确定模糊控制器的输入变量和输出变量及其论域范围; (2)设计模糊控制器的控制规则; (3)确立模糊化和非模糊化的方法;
(4)选择模糊控制器的输入变量以及输出变量的论域,并确定模糊控制器的参(如量化因子,比例因子);
(5)编制模糊控制算法的应用程序。
设计要求:本文将同时对两级摆杆的角度和小车位置进行控制。本文所使用的方
,1,2]T[0.2,0.2,0.1,0,0,0]T为初始条法是把加速度作为输入信号,以[x,1,2,x件时,系统的设计指标如下: 上摆杆角度:20.25弧度; 下摆杆角度:10.25弧度; 小车位移:x1米。
3.2.2.3.1论域及基本论域
我们把模糊控制器的输入变量误差、误差变化的实际范围称为这些变量的基
本论域。显然基本论域内的量为精确量。
设误差的基本论域为:[xe,xe], 误差变化的基本论域为:[xec,xec] 设输出控制量基本论域为:[yu,yu];
从理论上讲,增加论域中元素个数,即把等级细分,可提高控制精度,但会受到计算机字长的,另外也会增大计算量。因此,把等级分得过细,对于模糊控制显得必要性不太大。关于基本论域的选择,由于事先对被控对象缺乏先验知识,所以误差及误差变化的基本论域只能做初步的选择,待系统调整时再进一步确定。本文中模糊作用函数的两个输入变量论域分别取:e[5,5],ec[5,5]输出论域:u[15,15]。
53
倒立摆控制实验 钟辉 胡登军 吕江伟
3.2.2.3.2隶属度函数和模糊规则
由上一节的分析可以将本文中模糊作用函数2 f ()的两个输入变量、一个输出变量均采用三角形、全交迭、均匀分布的隶属函数,每个输入变量用7 个模糊子集[NB,NM,NS,ZO,PS,PM,PB]描述。为了提高模糊控制的精度,输出变量用9 个模糊子集[NB,NM,NS,NO,ZE,PO,PS,PM,PB]描述。如下图所示: 根据经验知识和以上的分析,并经过多次的仿真实验可以得到基于融合函数的模糊控制器的规则表,如下表所示:
模糊规则表
NB NM NS ZE PS PM PB NB NB NB NM NS PO PS PS NM NB NM NM NO PO PS PS NS NB NM NS NO PS PS PM ZE NB NS NS ZE PS PM PB PS NM NS NS PO PS PB PB PM NM NS NO PS PS PB PB PB NM NS NO PS PM PB PB 根据输入、输出论域上的模糊语言变量划分,设计77 49条规则的双输入单输出常规模糊控制器,其规则见上表。由此可以实现主元到控制力u 的非线性映射,使模糊作用函数的结构得以简化。
3.2.2.3.3去模糊化
在模糊控制器结构框图中,对建立的模糊规则进行模糊推理才能决策出控制变量的一个模糊子集,但它是一个模糊量而不能直接控制被控对象,还需要采取合理的方法将模糊量转化为精确量,以便最好地发挥出模糊推理结果的判决效果。把模糊量转化为精确量的过程称为清晰化,又称去模糊化。本文采用中心平
倒立摆控制实验 钟辉 胡登军 吕江伟
均解模糊法来实现去模糊化,中心平均解模糊法是在模糊系统与模糊控制中最常用的解模糊器。它计算简便,直观合理。其计算式为:
其中C 为模糊推理机输出的模糊集合。与最大隶属度法相比较,中心平均解模糊法具有更加平滑的输出推理控制,即对应与输入信号的微小变化,其推理的最终输出一般也会发生一定的变化,且这种变化明显比最大隶属度函数法要平滑。
3.2.2.3.4量化因子与比例因子
当由计算机实现模糊控制算法进行模糊控制时,每次采样得到的被控制量需经计算机计算,使得到模糊控制器的输入变量误差及误差变化率。为了进行模糊化处理,必须将输入变量从基本论域转换到相应的模糊集的论域。这中间须将输入变量乘以相应的因子,称为量化因子。
量化因子一般用K表示,在本文中误差的量化因Ke和误差变化率Kec的量化因子,分别由下面两个公式来确定:
Kenxe,Kecnxec
在模糊控制器实际工作过程中,一般误差和误差变化的基本论域选择范围要比模糊集论域选择得小,所以量化因子一般都远大于1。
此外,每次采样经模糊控制算法给出的控制量(精确量),还不能直接控制对象,还必须将其转换到控制对象能接受的基本论域中去。输出控制量u 的比例子Ku 由下式确定:
Kuumaxl
比较量化因子和比例因子,两者均是为考虑两个论域变换而引出的,但对于输入变量而言量化因子具有量化效应,而对输出而言的比例因子只起比例作用。
量化因子Ke及Kec的大小对控制系统的动态性能影响很大。Ke选的较大时,系统的超调也较大,过渡过程较长。因为Ke增大,相当于缩小了误差的基本论域,增大了误差变量的控制作用,因此导致上升时间变短,但由于出现超调,使得系统的过渡时间过长。
Ke选择较大时,超调量减少, Kec 选择越大系统超调较小,但系统的响应
速度变慢。Kec 对超调的遏制作用十分明显。
量化因子Ke和Kec 的大小意味着对输入变量误差和误差变化的不同加权程
55
倒立摆控制实验 钟辉 胡登军 吕江伟
度,Ke和Kec二者之间相互影响,在选择量化因子时要充分考虑这一点。
此外,输出比例因子u K 的大小也影响着模糊控制系统的特性。选择Ku过小会使系统动态响应过程变长,而Ku选择过大会导致系统振荡。输出比例因子Ku 作为模糊控制器的总的增益,它的大小影响着控制器的输出,通过调整Ku可以改变被控对象(过程)输入的大小。
应该指出,量化因子和比例因子的选择并不是唯一的,可能有几种不同的值,都能使系统获得较好的响应特性。对于比较复杂的被控过程,有时采用一组固定的量化因子和比例因子难以收到预期的控制效果,可以在控制过程中采用改变化量的量化因子和比例因子的方法,来调整整个控制过程中不同阶段上的控制特性,以使对复杂过程控制收到良好的控制效果。
一般而言,在确定倒立摆模糊控制器量化因子和比例因子时,总是先确定u
K ,以使得模糊控制器的输出量在一个较合适的数量级上。为了便于寻优,在倒立摆控制器的实际应用中,我们先将Ku 取为定值,然后再对量化因子进行寻优。
3.2.2.2模糊控制器的设定
归纳起来,设计模糊控制器一般要经过以下步骤: (1)确定模糊控制器的输入变量和输出变量; (2)设计模糊控制器的控制规则; (3)进行模糊化和去模糊化;
(4)选择模糊控制器的输入变量和输出变量的论域,并确定模糊控制器的参数(如量化因子、比例因子);
(5)编制模糊控制算法的应用程序;
(6)合理选择模糊控制算法的采样时间。
56
倒立摆控制实验 钟辉 胡登军 吕江伟
综上所述,基于信息融合技术的模糊控制器设计可以利用MATLAB/Fuzzy Tools 中的FIS Editor(Fuzzy Inference System)编辑将要设计的模糊控制器。如图所示:
57
倒立摆控制实验 钟辉 胡登军 吕江伟
58
倒立摆控制实验 钟辉 胡登军 吕江伟
3.2.2.3模糊控制方法仿真
仿真框图搭建如下:
59
倒立摆控制实验 钟辉 胡登军 吕江伟
位置给予一个2的阶跃信号,仿真结果如下:
从仿真结果可以看出,小车位置及摆杆的角度一开始存在振荡,但基本在2秒多趋于稳定。
四、总结
4.1实验总结
4.1.1一级倒立摆控制方法总结
针对一级倒立摆我们采用了超前滞后控制方法、双PID控制方法、状态极点配置控制方法以及二次线性最优控制方法。从各自的实验结果,我们可以看出各种控制方法都有其优缺点。具体如下: ※超前滞后控制方法:
原理简单易懂,对角度控制十分有效,但由于是单输入—单输出控制方法,无法实验对小车的位置控制。 ※双PID控制方法:
控制原理简单易懂,但控制参数不易确定。本文是通过采用遗传算法确定的控制参数。从实验结果可以看出,双PID对摆杆的角度控制效果要比小车位置控制效果好。但其抗干扰能力一般,这说明我们的控制参数选取的不是很理想,控制参数需要进一步改进。
60
倒立摆控制实验 钟辉 胡登军 吕江伟
※状态极点配置法:
该方法是通过自行设定超调量和调整时间,来求出需要配置的极点,再由需要的配置的极点得出反馈矩阵,所以方法比较灵活。从控制结果来看,系统的控制效果较好,小车位置和摆杆角度控制比较准确,而且抗干扰能力强,响应快速性好,稳定性好。 ※LQR控制方法:
该方法原理比较复杂,但实际应用比较简单。由给定的Q和R便可以求出反馈矩阵。Q和R不易确定,一般根据工程实际经验进行确定。由实验结果可以看出,该方法对小车位置和摆杆角度控制效果非常好,而且其抗干扰能力非常强,反应快速性特别好。是这几种控制方法当中效果最好的一个。
4.1.2二级倒立摆控制方法总结
※LQR控制方法:
该方法同一级倒立摆大体相似,只要确定出Q和R即可实现对二级倒立摆的控制。从仿真结果可以看出,小车的位置、上摆杆角度和下摆杆角度可以很快的达到稳定状态,反应快速性较好,系统稳态误差较小。 ※模糊控制方法:
该方法是通过融合技术,将多个变量转换单个变量,从而消除了规则爆炸情况, 使控制方法变得简单易行。从仿真结果可以看出,小车位置、上摆杆及下摆杆控制效果一般,系统响应速度不是很快,刚开始还有一定的振荡。但系统最终趋于稳定。这也说明,各部分量化因子还可以进一步修正,使系统稳定性得到进一步提高。
4.2个人总结
钟辉:
这次实验中,我们学习了实现系统控制的多种理论及方法,如超强滞后调节法、极点配置法、线性二次最优控制、模糊控制等控制方法。通过对这些理论及方法的学习,巩固了我们以前在书本上学到的知识,加深了对以前所学理论的认识。 这次实验,我们从开学前几周就开始准备,前后共花了很长的时间以及很多的精力。虽然付出很多,但也收获很多。通过这次实验,我们学会了如何将书本上的理论知识应用到实际当中。由于这次实验主要是通过个人自己学习控制理论,然后实现对一级倒立摆的控制,因此,许多东西都需要我们自己的学习,从而锻炼了我们的自觉能力以及自学能力。另外,这次实验是分组进行的,需要组员之间分工与合作,因而也培养了我们的团队意识。这次实验当中,我们遇到了好几个大的问题,如pid参数如何调节,如二级倒立摆模糊控制中的控制规则的确定等。但通过四处查阅资料,最终都被我们一一解决。因而,培养了我们的检索能力与自学能力。
这次实验,我们不仅学到很多的书本上的知识,也培养了我们的团队意识。总之,这次实验让我获益良多! 胡登军:
通过倒立摆实验我学到了很多东西,在这次试验中,我情不自禁将机械控制基础书上将的控制方法运用到倒立摆实验中,更重要的是学会其他几样重要的控制方法。从开始的现代控制理论的学习到后来的控制方法是的实现,从开始的
61
倒立摆控制实验 钟辉 胡登军 吕江伟
matlab仿真搭建到后来联接到固高实验系统的真实实验,一路上我们遇到了不少困难,但是我,们都克服了,在进行双PID实验时由于调试不出参数,花费了不少时间去摸索调PID参数的方法,后来用遗传算法寻优找到了比较好的参数,经过修改最终得到一组比较好的参数,在进行二阶模糊实验的时候由于不知道模糊规则,也不知道模糊输入是什么,后来经过查找资料运用融合函数将6个输出量融合成两个输入量,经过查找资料和调试的到一组较好的模糊规则和参数,最终取得成功,在这次试验中我学到了很多东西,
首先,通过这次试验我学会了现代控制理论的基本理论,状态空间方程、状态空间的基本变换、李雅普诺夫稳定性判据、能控性、能观性等。通过这些知识的学习,为实验的理论作支撑,是后面实验的必要保证。
其次,这次试验中的simulink仿真都是我们自己搭建、封装、运行、调试参数。通过一步一步的实践我们能熟练操作matlab仿真工具箱,在模糊控制实验中,我们学会用模糊控制工具箱,这不仅仅是学会了一门技能,更重要的是我们学会了一种方法。
再者,在这次运用模糊控制的时候,我们查找了关于模糊控制方面的知识,学习和了解了不上关于人工智能方面的知识,开拓了眼界,拓展了知识面。 在机械控制基础课程中我们学的是线性定常系统,需要写出系统的传递函数,但是模糊控制不需对系统有确定的了解,而是根据模糊化语言将输入通过隶属函数模糊化,计算将输出清晰化进行控制,这种控制在制定模糊规则的时候可以有人得经验的参与,再者.模糊控制的非线性较好相比LQR线性最优控制有较好的控制质量,响应时间短,抗干扰能力强。
这次试验中我们小组一起合作,发挥各自的特长,密切配合,比较成功。 吕江伟:
这次倒立摆实验真的让我收获很大,不仅掌握了很多控制倒立摆的方法,自学到了很多有关工程实际应用的知识,而且进一步增强了团队合作精神。
还记得刚开始拿到这个实验题目时,真的什么都不会,更不要说如何下手了。但通过后来课堂学习《机械控制理论基础》以及自学《现代控制理论》让我慢慢地对倒立摆控制方法有了了解。第八周以前是我们学习相关知识的阶段,第十周以后我们就开始了正儿八经的实战演练。
超前滞后控制方法和状态极点配置控制方法以及LQR控制方法,这三种方法我们马上就得到了解决,而且控制效果不错。当后来遇到的第一个难题就是双PID控制,因为要实现小车位置和摆杆角度控制,双PID参数真的很难确定。后来我们通过学习遗传算法,确定了六个参数。而且仿真也做得不错。但当我们去实验室进行实验时,总是控制不了一级倒立摆。后来我们改进了控制模块,让其自动摆起。没想到倒立摆立了起来而且达到了稳定。那一时刻我们内心的激动真的无法用言语表达,三个人抱在一起,心情久久不能平静。
对于二级倒立摆,因为实验仪器的缘故,我们只能做仿真。为了与其他组有区别,我们特意学习了模糊控制。在此之间我们又遇到了第二个难题,模糊控制规则如何确定。根据工程经验,我们确定了一组模糊控制规则,但仿真效果是发散的,这个问题让我纠结了好长时间。最终查找相关资料,我们确定了模糊控制规则表,当仿真时看到系统最终趋于稳定,我们终于松了一口气,倒立摆实验终于大功告成了。
总而言之,这次倒立摆实验我们花费了很多精力,也得到了理想的控制结果。平时学到的知识很少在现实生活中得到应用,而这次实验让我们将所学到的知识
62
倒立摆控制实验 钟辉 胡登军 吕江伟
应用到了工程实践中,真正体会到了什么叫做理论和实践的相结合。这次实验真的很感谢我们团队的所有成员还有老师的辛勤指导。
六、 参考文献
[1]韩瑞峰.遗传算法原理与应用实例.兵器工业出版社,2010. [2]廉小亲.模糊控制技术.中国电力出版社,2003.
[3]张德丰.MATLAB控制系统设计与仿真.电子工业出版社,2009 [4]于长官.现代控制理论及应用.哈尔滨工业出版社,2005 [6]高宪文. 二级倒立摆系统的模糊控制研究.2008
63
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务