运动控制系统(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第3章 智能运动控制器设计

3.1 模糊控制技术与模糊控制器

3.1.1 模糊控制技术

1.什么是模糊控制技术

模糊控制技术以模糊数学为理论基础,“模糊理论”最早是由美国加州大学L.A Zadeh教授在1965年所发表的Information and Control期刊论文中提出的,是为了解决现实世界中普遍存在的模糊现象而发展的一门学科,其精髓是使用模糊数学模型来描述语义式的模糊信息的方法。目前在一般消费类电子产品、图像辨识处理、语音识别、智能控制及运动(智能)控制等领域都得到了广泛应用。尤其是近些年模糊控制技术与神经网络技术结合,使得机器人技术更加具有智能特征。

2.模糊理论

1)基本概念

现实生活中我们经常会听到这样的话语:今天温度真高,今天的雨真大,今天气温真低,房间很冷,这个人很漂亮、身材修长、长发飘逸等。这些话语共同的特点是很难用数量化的术语去衡量,很明显,这些话语具有一定的模糊不确定性。那么什么是模糊呢?我们认为所谓模糊应该具有以下特征:

(1)不完整(incomplete)。不完整的特点是:语言传递的信息不够完整,有可能导致无法理解对方所要表达的意思。

(2)暧昧性(ambiguity)。例如,一个画在门上的烟斗图案既可代表男厕所也可代表吸烟室。

(3)不精确性(imprecision)。例如,电视画面受到干扰导致收看效果不佳。

(4)随机性(randomness)。例如,掷色子。

(5)模糊性(fuzziness)。例如,这座山高吗?就是典型的模糊说法,因为高的标准没有确定,也即缺乏参照物。

图3-1所示是一套模糊系统的框架,由模糊规则库、输入模糊集合U、模糊推论机理和输出模糊集合V组成。

图3-1 模糊系统框架

模糊集合(Fuzzy Sets)的特点如下。

(1)不是0或1的表示方式,而是程度上“多”或“少”的差別。

(2)传统的明确集合是属于二元的,论域中的元素对某一集合的关系只有两种,也就是“属于”与“不属于”。

(3)模糊集合利用隶属函数(membership function)的大小作为主要的选择机制。例如,我们可以确定地区分男生和女生的性别,却无法明确地辨别温度的高和低。因此,要对语义中的模糊性进行数值化描述时,模糊集合是一个非常好用的工具。

2)布尔逻辑与模糊逻辑

(1)布尔逻辑。布尔函数可以用真值表表示法、布尔表达式、规范表达式表示,每个布尔函数,无论多复杂,都可以只用三个布尔算子(And、Or、Not)表示,而且可以用Nand门(可以称为与非门,是最基本的门)表示。

(2)模糊逻辑。模糊逻辑用于处理变量的归属度(membership)和确定度(degrees of certainty):

●温度—“温度很高”;

●电压—“电压有点偏低”;

●速度—“速度非常慢”。

3)模糊理论分类

图3-2所示为模糊理论框架结构图。

图3-2 模糊理论框架结构图

3.1.2 模糊PID控制器及其设计

1.模糊PID控制器

随着智能控制技术的发展,新型运动控制系统控制回路均采用模糊PID算法。

图3-3所示是一个模糊PID控制器系统框图,其基础算法是PID算法,但P、I、D参数(KPKIKD)是依据输入与输出的误差及误差的变化率来决定的。

图3-3 模糊PID控制器系统框图

模糊PID控制器按照下列步骤进行设计。

(1)根据被控制对象的线性模型和所期望的性能指标设定PID控制器增益的标称值。

(2)KPKIKD是在PID控制器增益的标称值基础上设计出的模糊调谐值。

2.PID标称值设计

图3-3所示的PID控制器的控制算法可以用式(3-1)表示。KPKIKD分别为控制器的比例、积分和微分增益系数。

(3-1)

利用Simulink Response Optimization Toolbox构建控制对象的线性模型,依据所构建的线性模型确定PID控制器增益的标称值。由Toolbox设定期望的响应,使系统达到稳态时的误差尽可能小。为了实现期望响应,设定下述参数值。

Rise time=0.1 s,Settling time=0.4 s,Overshoot=5%,%settling=0.001

最后,可以得出PID控制器的增益标称值为

KP=19.21,KD=0.3,KI=0.1

3.模糊PID控制器设计

1)模糊控制器比例增益系数KP

模糊PID控制器第一个参数是比例增益系数KPKP的输入是误差和误差变化率。图3-4所示为KP误差隶属函数。图3-5所示为KP误差变化率隶属函数。图3-6所示为KP输出值隶属函数。模糊PID控制器KP的输入与输出规则见表3-1。最后,模糊控制器KP的输出值通过采用中心面积法对KP去模糊化求得。

Z—零;N—负;P—正;VN—负大;VP—正大

图3-4 KP误差隶属函数

S—小;M—中;F—大

图3-5 KP误差变化率隶属函数

S—小;M—中;B—大;VB—比较大

图3-6 KP输出值隶属函数

表3-1 模糊PID控制器KP的输入与输出规则

注:表中各字母含义与图3-4~图3-6中相同。

2)模糊控制器微分增益系数KD

模糊PID控制器第二个参数是微分增益系数KDKD的输入是误差及误差变化率。图3-7所示为KD误差隶属函数。图3-8所示为KD误差变化率隶属函数。图3-9所示为KD输出值隶属函数。模糊PID控制器KD的输入与输出规则见表3-2。最后,模糊控制器KD的输出值通过采用中心面积法对KD去模糊化求得。

表3-2 模糊PID控制器KD的输入与输出规则

注:表中各字母含义与图3-7~图3-9中相同。

Z—零;N—负;P—正;VN—负大;VP—正大

图3-7 KD误差隶属函数

S—小;M—中;F—大

图3-8 KD误差变化率隶属函数

S—小;M—中;B—大;VB—比较大

图3-9 KD输出值隶属函数

3)模糊控制器积分增益系数KI

模糊PID控制器第三个参数是积分增益系数KIKI的输入是误差和误差变化率。图3-10所示为KI误差隶属函数。图3-11所示为KI误差变化率隶属函数。图3-12所示为KI输出值隶属函数。模糊PID控制器KI的输入与输出规则见表3-3。最后,模糊控制器KI的输出值通过采用中心面积法对KI去模糊化得到。

表3-3 模糊PID控制器KI的输入与输出规则

注:表中各字母含义与图3-10~图3-12中相同。

N—负;Z—零;P—正

图3-10 KI误差隶属函数

S—小;M—中;F—大

图3-11 KI误差变化率隶属函数

S—小;M—中;B—大

图3-12 KI输出值隶属函数

下面举一个实例。

图3-13所示为一个模糊PID实验装置,任务就是实现点对点的运动。它由一套伺服电机驱动器、伺服电机、编码器和PC组成。控制器是PC,PC上运行的控制软件是利用MATLAB的实验程序。这是一个结构简单的点对点模糊PID实验装置(旋转位置系统)。

图3-13 模糊PID实验装置

忽略系统的非线性,按照牛顿学有关定律,这套旋转位置系统实验装置的动态数学模型为

(3-2)

4.控制结果与讨论

借助点对点模糊PID实验装置,利用Simulink Optimization Toolbox设定PID参数增益标称值进行实验对比,发现采用模糊PID的方法更加有效。图3-14所示为本实验装置在输入90°步长时的系统实时响应图,图中实线部分是采用模糊PID控制算法得到的实际结果,虚线部分是采用传统经典PID算法得出的实验结果。经典PID与模糊PID性能对比见表3-4。

图3-14 输入90°步长时的系统实时响应图

表3-4 经典PID与模糊PID性能对比

从表3-4可以看出,模糊PID算法的性能要优于经典PID算法,尤其是系统的稳定时间和位置精度指标大幅度优于经典PID算法。本实验位置测量传感器是一种光纤编码器,把光纤编码器安装在负载轴上,测量负载轴的角度位置,90°时编码器的输出是4096个计数单位,也可以进行相对角度的测量。

此外,利用本实验装置还对模糊PID和经典PID的鲁棒性进行了性能对照。为了评测系统的鲁棒性,需要给旋转位置单元增加惯量。图3-15所示为增加旋转位置装置惯量后采用模糊PID与经典PID的实验结果曲线,相应的实验数据见表3-4。

从表3-4中可以得出,随着惯量的增加,模糊PID的性能没有改变,因此可以得出结论:模糊PID对惯量改变的鲁棒性要优于经典PID。

图3-15 增加惯量后的响应图

*3.1.3 双关节机械手

1.机械手结构

图3-16所示是双自由度机械手机械结构运动分析图。这个系统由两个可以旋摆的单臂(机械臂)组成,第一个单臂(机械臂1)与基座相连,臂的长度是l1;第二个单臂(机械臂2)的一个端点与第一个单臂的第二端头做轴连,另外一个端点是机械手的夹手,第二个单臂的长度是l2。系统以基座的第一个运动轴中心为坐标原点。图中符号说明:θ是机械臂与水平面之间的夹角,其中θ1是机械臂1与水平面的夹角;θ2是机械臂2与水平面的夹角。机械手夹手中心点的坐标就是(x,y)。用m表示机械臂质量;用m0表示机械手夹持的物体质量;用m1表示机械臂1的质量;用m2表示机械臂2的质量。用T表示驱动机械手所需转矩,用T1表示机械臂1所需要的转矩;用T2表示机械臂2所需要的转矩。用g表示地球重力加速度。用(xG1,yG1)表示机械臂1的几何中心点;用(xG2,yG2)表示机械臂2的几何中心点。用ω表示机械臂转动速度,用ω1表示机械臂1相对坐标原点的旋转速度;用ω2表示机械臂2相对转轴中心2的旋转速度。用(x1,y1)描述旋转轴2的平移坐标原点。

图3-16 双自由度机械手机械结构运动分析图

要实现对机械臂的控制,首先就要对夹手的坐标进行分析计算,机械手中心坐标(x,y)用式(3-3)求取。

(3-3)

那么如何有效地对机械手进行控制呢?此时有必要对机械臂的转矩计算进行分析,下面就对机械臂转矩进行研究。

(3-4)

式中,T是一个2×1维矩阵,它表示的是转轴T1和转轴T2所需的驱动转矩;J是一个2×2维矩阵,它表示的是2自由度机械臂的对称正转动惯量矩阵,分别为J11J12J21J22C(θ,)是2×2维矩阵,它表示的是科里奥利及离心力矢量矩阵;g是一个2×1维矩阵,分别是机械臂1和机械臂2的重力影响;θ分别代表每个机械臂关节的位置、速度和加速度。机械臂所需的驱动转矩就由式(3-4)求取。与式(3-4)有关的转动惯量矩阵由式(3-5)求取,科里奥利及离心力矢量矩阵由式(3-6)求取,重力影响矩阵由式(3-7)求取。

(3-5)

式中,I1I2是机械臂转轴1和2的驱动电机转子转动惯量;C1C2分别是机械臂1和机械臂2的科里奥利力。

科里奥利及离心力矢量矩阵的分项元素计算由式(3-6)求取。

(3-6)

式中,s2代表的是机械臂2的线速度。

重力矢量矩阵g1g2由式(3-7)求取。

(3-7)

2.机械手控制框图

图3-17所示是一个多输入多输出机械手模糊控制逻辑框图,很明显双自由度机械手是一个双输入双输出的控制系统。多输入多输出模糊逻辑控制器是一个组合控制器,由主模糊控制器和解耦逻辑控制器两个单元组成。主模糊逻辑控制器是指单独每一个关节的独立控制;而解耦逻辑控制是指两个机械臂复合动作时,相互对彼此动作的影响。

图3-17 多输入多输出机械手模糊控制逻辑框图

细化到双自由度机械手控制具体事例就演化为图3-18。图中,MFC是主模糊逻辑控制器;CFC是解耦逻辑控制器;e1θ1*-θ1,也就是机械臂1的角度设定值减去实际值;e2θ2*-θ2,也就是机械臂2的角度设定值减去实际值;Δe1是轴1角度差值的变化量;Δe2是轴2角度差值的变化量;T是转矩。

图3-18 双自由度机械手逻辑控制框图

有关解耦逻辑控制器的计算规则与主逻辑控制器相似,耦合逻辑控制的输出转矩也就是它的输入转矩。有关双自由度机械手的控制输入转矩由式(3-8)计算。

(3-8)

式中,Ti(k)表示主模糊控制器在i角度时刻的控制系统输入转矩;Til(k)表示相对于第i角度时刻的耦合效应控制,这是相对于耦合逻辑控制器的第i角度时刻耦合转矩。

3.模拟仿真分析

图3-19所示是双关节单输入单输出SISO模糊逻辑控制器控制的机械手操纵模式;图3-20所示是基于智能多输入多输出MIMO模糊逻辑控制器控制双关节机械手操纵模式。

图3-19 双关节单输入单输出SISO模糊逻辑控制器控制的机械手操纵模式

图3-20 基于智能多输入多输出MIMO模糊逻辑控制器控制双关节机械手操纵模式

用MATLAB/Simulink作为仿真开发工具,其具体实施系统控制框图分别见图3-19和图3-20,相对应的位置误差详见图3-21和图3-22。

图3-21 不同控制方法下关节1的位置误差

图3-22 不同控制方法下关节2的位置误差

图3-21所示是关节1的位置误差,其中图3-21(a)所示是SISO单输入单输出模糊逻辑控制器关节1的实际位置误差,单位是弧度;图3-21(b)所示是MIMO多输入多输出模糊逻辑控制器关节1的实际位置误差。

图3-22所示是关节2的位置误差,其中图3-22(a)所示是SISO单输入单输出模糊逻辑控制器关节2的实际位置误差,单位是弧度;图3-22(b)所示是MIMO多输入多输出模糊逻辑控制器关节2的实际位置误差。

表3-5是采用MATLAB/Simulink,利用图3-19及图3-20所示的控制框图(SISO单输入单输出模糊逻辑控制器与MIMO多输入多输出模糊逻辑控制器)对双关节机械手进行仿真的效果。

表3-5 SISO与MIMO结果

4.结论

上面所列举的双自由度机械手采用了两种控制策略,通过实际分析可以得出,MIMO FLC(多输入多输出模糊逻辑控制器)的控制效果明显高于SISO FLC(单输入单输出模糊逻辑控制器)的控制效果。