单级倒立摆的模糊控制 联系客服

发布时间 : 星期日 文章单级倒立摆的模糊控制更新完毕开始阅读937bc35e581b6bd97f19eaec

由此式可将状态空间表达式线性化,并得

dx1dt?x2

dx2dt??gl?x1?1ml2ut2

若所测x1用度表示,x2用每秒度表示,当取l=g和m=180?g2时,线性离散时间状态空间表达式可用矩阵查分方程表式

??????x1?k?1??x1?k??x2?k? x2?k?1??x1?k??x2?k??u?k?

在此问题中,设上述两变量的论域为?2??x1?2?和?5rads?x2?5rads,则设计步骤为

第1步。首先,对x1在其论域上建立三个隶属度函数,即如图 1所示的正值(P)、零(Z)和负值(N)。然后,对x2在其论域上亦建立3个隶属度函数,即图2所示的正值(P)、零(Z)和负值(N)。

图2-3 输入x1的分区

图2-4输入x2的分区

第2步。为划分控制空间(输出),对u?k?在其论域上建立5个隶属度函数,

?24?u?k??24,如图3(注意,图上划分为7段,但此问题中只用了5段)。

图2-5输出u的分区

第3步。用表1所示的3*3规则表的格式建立9条规则(即使我们可能不需要这么多)。本系统中为使倒立摆系统稳定,将用到?和d?dt。表中的输出即为控制作用u(t)。 X1 x2 P Z N P PB P Z Z P Z N N Z N NB 表1模糊控制规则表

第4步。我们可用表1中规则导出该控制问题的模型。并用图解法来推导模糊运算。假设初始条件为

x1?0??1? 和 x2?0???4rads

然后,我们在上例中取离散步长0?k?3,并用矩阵差分方程式导出模型的四部循环式。模型的每步循环式都会引出两个输入变量的隶属度函数,规则表产生控制作用u(k)的隶属度函数。我们将用重心法对控制作用的隶属度函数进行精确化,用递归差分方程解得新的x1和x2值为开始,并作为下一步递归差分方程式的输入条件。

分别为x1和x2的初始条件。从模糊规则表(表1)有

If(x1=P)and(x2=Z),then(u=P) If(x1=P)and(x2=N),then(u=Z) If(x1=Z)and(x2=Z),then(u=Z) If(x1=Z)and(x2=N),then(u=N)

表示了控制变量u的截尾模糊结果的并。利用重心法精确化计算后的控制值为u=-2。

在已知u=-2控制下,系统的状态变为

x1?1??x1?0??x2?0???3 x2?1??x1?0??x2?0??u?0???1

依次类推,可以计算出下一步的控制输出u(1)。模糊控制器能够满足倒立摆的运动控制。

3、模糊控制器的建立

3.1 在MTALAB中的fuzzy 控制器的建立与封装

在命令窗口中输入:fuzzy。在模糊控制编辑器中可进行控制器的相关设置,然后回车可得出如下图所示:

图3-1 模糊控制器设置界面

然后对其各个变量进行设置其步骤如下图3-2:

对输入变量X1进行设置如下图3-3所示:

变量X2的设置如下图3-4所示: