移动机器人运动控制的模糊逻辑系统设计
经典控制理论对于解决线性定常系统的控制问题是很有效的,然而,对于非线性时变系统却难以奏效。随着计算机的应用和发展,自动控制理论取得了飞跃性的发展。基于状态变量描述的现代控制理论对于解决线性或非线性、定常或时变的多输入与多输出系统的控制问题,已获得了广泛和成功的应用。但是,无论采用经典控制理论还是现代控制理论的控制系统,都需要事先知道被控对象(或过程)的精确数学模型,然后根据数学模型以及给定的性能指标,来选择适当的控制规律,来进行控制系统设计。然而,在许多情况下,被控对象的精确数学模型很难建立,这样,对于这类对象或过程就很难进行自动控制。
事实上,对于复杂的、多因素影响的生产过程,即使不知道该过程的数学模型,有经验的操作人员也能根据长期的观察和操作经验进行有效地控制,而采用传统的自动控制方法的效果则并不理想。然而,能否把人的操作经验总结为若干条控制规则,并设计一个装置去执行这些规则,从而对系统进行有效的控制?模糊控制理论和方法便由此而生。
1模糊控制原理
模糊控制的原理框图如图1所示。模糊逻辑控制系统可用来代替经典控制系统或与经典控制系统一起来控制机器人。通过应用模糊逻辑,机器人可以变得更独特、更具有智能和更加有用。本文根据模糊控制理论为移动机器人的运动控制设计一个模糊逻辑系统。以使移动机器人能根据地形坡度和地形类别来自主的调节自身的运动速度,从而完成机器人运动的自动控制。
![]() |
2移动机器人的模糊逻辑控制器设计
2.1 确定模糊控制器的输入变量和输出变量
根据本设计的目的,为使移动机器人能根据地形的坡度和地形的类别自主地调节
自身的运动速度,本系统可设计为双输入单输出系统,将地形坡度和地形的类别作为两个输入,而将移动机器人的运动速度作为控制输出。
2.2 模糊化
模糊化是将输入和输出值转换为其隶属度函数的过程。模糊化的结果是一组如图2所示的图形,它描述了不同模糊变量中不同值的隶属度。为了定义模糊地形坡度、模糊地形类别和模糊运动速度的变量,这里将期望的地形坡度范围固定在-45~+45,并划分成五个隶属度函数,分别是“负大”、“负”、“水平”、“正”、“正大”。小于-45的坡度一概看作“负大”,而大于+45则被认定为“正大”。类似的,地形类别也划分成四个隶属度函数,分别是“很粗糙”、 “粗糙”、“平缓”、“平坦”。其中所有粗糙程度大于100%的都被认定为“很粗糙”。而输出的移动机器人的运动速度(在0~20英里/小时之间)则被分成“很慢”、“慢”、“中”、“快”、“很快”。
根据图2中输入变量和输出变量的模糊化(其中地形坡度和地形类别为输入变量;速度为输出变量),便可为每个隶属度函数选择其他域,并对其进行不同的划分,以确定隶属度函数交叠的不同区域,然后设置非对称的隶属度函数。
![]() |
2.3 规则库的形成
由于地形坡度有五个隶属度函数,地形类别有四个隶属度函数,这样,总共就会有54=20条规则,根据整个设计过程的系统性能要求和设计者的经验,该模型将形成含有20条规则的规则库,具体如下:
规则1:if(地形坡度is LP) and(地形类别is VR)then(速度is VS)
规则2:if(地形坡度is LP)and(地形类别is R)then(速度is S)
规则3:if(地形坡度is LP)and(地形类别is Mo)then(速度is Me)
规则4:if(地形坡度is LP)and(地形类别is S)then(速度is Me)
规则5:if(地形坡度is P)and(地形类别is VR)then(速度is VS)
规则6:if(地形坡度is P)and(地形类别is R)then(速度is S)
规则7:if(地形坡度is P)and(地形类别isMo)then(速度is Me)
规则8:if(地形坡度is P)and(地形类别is S)then(速度is F)
规则9:if(地形坡度is L)and(地形类别isVR)then(速度is S)
规则10:if(地形坡度is L)and(地形类别is R)then(速度is Me)
规则11:if(地形坡度is L)and(地形类别is Mo)then(速度is F)
规则12:if(地形坡度is L)and(地形类别is S)then(速度is VF)
规则13:if(地形坡度is N)and(地形类别is VR)then(速度is Vs)
规则14:if(地形坡度is N)and(地形类别is R)then(速度is S)
规则15:if(地形坡度is N)and(地形类别is Mo)then(速度is Me)
规则16:if(地形坡度is N)and(地形类别is S)then(速度is F)
规则17:if (地形坡度is LN)and(地形类别is VR)then(速度is VS)
规则18:if(地形坡度is LN)and(地形类别is R)then(速度is VS)
规则19:if(地形坡度is LN)and(地形类别is Mo)then(速度is s)
规则20:if(地形坡度is LN)and(地形类别is S)then(速度is Me)
图3所示是系统模糊推理规则观察器的输出结果。通过图3可以清晰地看到输入不同的地形坡度和地形类别时,其模糊推理规则所产生的输出速度的值。
![]() |
3 清晰化
清晰化是将模糊输出值转换为可供实际应用的等效清晰值的过程。即对模糊规则进行匹配并计算相应的数值,从而得到一个与不同输出模糊集隶属度函数值相关的数。清晰化的方法有很多种,两种常用的主要方法是:centroid面积中心法(又称重心法)和Mamdani(马丹尼)推理法。
3.1 centroid面积中心法
centroid面积中心法主要计算隶属度函数所包围区域的重心。对于连续论域,若U是某一变量u在论域U的模糊集合,则去模糊化的结果为:
![]() |
3.2 Mamdani(马丹尼)推理法
该方法中,每个集合的隶属度函数将在相应的隶属度值上被截去顶端,并将得到的所有隶属度函数作为“或”函数加在一起。即将每一个重复的区域作为一层相互叠加在一起,其结果将是一个代表所有区域的新区域。新区域的重心将等价于输出。
本文中的清晰化主要采用centroid面积中心法。也就是采用MATLAB模糊逻辑工具箱的解模糊化函数defuzz,该函数的功能为执行输出去模糊化,其格式为:
output=defuzz(x,mf,type)
其中:参数x是变量的论域范围;mf为待去模糊化的模糊集合;type为清晰化方法,本文主要采用centroid面积中心法。
4 模糊逻辑控制器的仿真
一般情况下,为模糊系统设计的规则必须通过仿真才能保证其对所有的输人值都能产生满意的结果,这一般可通过模糊逻辑程序来实现。程序通过运行模糊推理机来计算所有可能输入产生的输出,并作出输出值的图形来对模糊控制系统进行仿真。通过该图即可审核规则和隶属度函数是否匹配。
由2.2和2.3中的输入变量和输出变量的模糊化和规则库,可以通过MATLAB模糊推理系统的运算而得出如图4所示的三维输出结果。通过图4即可看出,本文的规则和隶属度函数匹配良好。
![]() |
5 结束语
本文针对不同路面条件下移动机器人运动控制的实际问题提出了一种解决方法。该方法把模糊逻辑推理应用到移动机器人的行为控制中,并将地形坡度和地形类别作为控制器的输入,而机器人的速度作为控制系统的输出,从而实现了对移动机器人的行为控制。通过模糊逻辑控制器的仿真结果证明:该模糊控制算法在移动机器人运动控制中能表现出良好的鲁棒性和实时性。近年来,神经网络、模糊控制等理论的研究和应用有了很大的发展,进一步了解学习和应用这些理论将是下一步的目标。
评论