移动机器人运动控制的模糊逻辑系统设计
发布时间:2008/8/20 0:00:00 访问次数:593
经典控制理论对于解决线性定常系统的控制问题是很有效的,然而,对于非线性时变系统却难以奏效。随着计算机的应用和发展,自动控制理论取得了飞跃性的发展。基于状态变量描述的现代控制理论对于解决线性或非线性、定常或时变的多输入与多输出系统的控制问题,已获得了广泛和成功的应用。但是,无论采用经典控制理论还是现代控制理论的控制系统,都需要事先知道被控对象(或过程)的精确数学模型,然后根据数学模型以及给定的性能指标,来选择适当的控制规律,来进行控制系统设计。然而,在许多情况下,被控对象的精确数学模型很难建立,这样,对于这类对象或过程就很难进行自动控制。
事实上,对于复杂的、多因素影响的生产过程,即使不知道该过程的数学模型,有经验的操作人员也能根据长期的观察和操作经验进行有效地控制,而采用传统的自动控制方法的效果则并不理想。然而,能否把人的操作经验总结为若干条控制规则,并设计一个装置去执行这些规则,从而对系统进行有效的控制?模糊控制理论和方法便由此而生。
1 模糊控制原理
模糊逻辑控制系统可用来代替经典控制系统或与经典控制系统一起来控制机器人。通过应用模糊逻辑,机器人可以变得更独特、更具有智能和更加有用。本文根据模糊控制理论为移动机器人的运动控制设计一个模糊逻辑系统。以使移动机器人能根据地形坡度和地形类别来自主的调节自身的运动速度,从而完成机器人运动的自动控制。
2 移动机器人的模糊逻辑控制器设计
2.1 确定模糊控制器的输入变量和输出变量
根据本设计的目的,为使移动机器人能根据地形的坡度和地形的类别自主地调节
自身的运动速度,本系统可设计为双输入单输出系统,将地形坡度和地形的类别作为两个输入,而将移动机器人的运动速度作为控制输出。
2.2 模糊化
模糊化是将输入和输出值转换为其隶属度函数的过程。模糊化的结果是一组如图2所示的图形,它描述了不同模糊变量中不同值的隶属度。为了定义模糊地形坡度、模糊地形类别和模糊运动速度的变量,这里将期望的地形坡度范围固定在-45°~+45°,并划分成五个隶属度函数,分别是“负大”、“负”、“水平”、“正”、“正大”。小于-45°的坡度一概看作“负大”,而大于+45°则被认定为“正大”。类似的,地形类别也划分成四个隶属度函数,分别是“很粗糙”、 “粗糙”、“平缓”、“平坦”。其中所有粗糙程度大于100%的都被认定为“很粗糙”。而输出的移动机器人的运动速度(在0~20英里/小时之间)则被分成“很慢”、“慢”、“中”、“快”、“很快”。
根据输入变量和输出变量的模糊化(其中地形坡度和地形类别为输入变量;速度为输出变量),便可为每个隶属度函数选择其他域,并对其进行不同的划分,以确定隶属度函数交叠的不同区域,然后设置非对称的隶属度函数。
2.3 规则库的形成
由于地形坡度有五个隶属度函数,地形类别有四个隶属度函数,这样,总共就会有5×4=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 清晰化
经典控制理论对于解决线性定常系统的控制问题是很有效的,然而,对于非线性时变系统却难以奏效。随着计算机的应用和发展,自动控制理论取得了飞跃性的发展。基于状态变量描述的现代控制理论对于解决线性或非线性、定常或时变的多输入与多输出系统的控制问题,已获得了广泛和成功的应用。但是,无论采用经典控制理论还是现代控制理论的控制系统,都需要事先知道被控对象(或过程)的精确数学模型,然后根据数学模型以及给定的性能指标,来选择适当的控制规律,来进行控制系统设计。然而,在许多情况下,被控对象的精确数学模型很难建立,这样,对于这类对象或过程就很难进行自动控制。
事实上,对于复杂的、多因素影响的生产过程,即使不知道该过程的数学模型,有经验的操作人员也能根据长期的观察和操作经验进行有效地控制,而采用传统的自动控制方法的效果则并不理想。然而,能否把人的操作经验总结为若干条控制规则,并设计一个装置去执行这些规则,从而对系统进行有效的控制?模糊控制理论和方法便由此而生。
1 模糊控制原理
模糊逻辑控制系统可用来代替经典控制系统或与经典控制系统一起来控制机器人。通过应用模糊逻辑,机器人可以变得更独特、更具有智能和更加有用。本文根据模糊控制理论为移动机器人的运动控制设计一个模糊逻辑系统。以使移动机器人能根据地形坡度和地形类别来自主的调节自身的运动速度,从而完成机器人运动的自动控制。
2 移动机器人的模糊逻辑控制器设计
2.1 确定模糊控制器的输入变量和输出变量
根据本设计的目的,为使移动机器人能根据地形的坡度和地形的类别自主地调节
自身的运动速度,本系统可设计为双输入单输出系统,将地形坡度和地形的类别作为两个输入,而将移动机器人的运动速度作为控制输出。
2.2 模糊化
模糊化是将输入和输出值转换为其隶属度函数的过程。模糊化的结果是一组如图2所示的图形,它描述了不同模糊变量中不同值的隶属度。为了定义模糊地形坡度、模糊地形类别和模糊运动速度的变量,这里将期望的地形坡度范围固定在-45°~+45°,并划分成五个隶属度函数,分别是“负大”、“负”、“水平”、“正”、“正大”。小于-45°的坡度一概看作“负大”,而大于+45°则被认定为“正大”。类似的,地形类别也划分成四个隶属度函数,分别是“很粗糙”、 “粗糙”、“平缓”、“平坦”。其中所有粗糙程度大于100%的都被认定为“很粗糙”。而输出的移动机器人的运动速度(在0~20英里/小时之间)则被分成“很慢”、“慢”、“中”、“快”、“很快”。
根据输入变量和输出变量的模糊化(其中地形坡度和地形类别为输入变量;速度为输出变量),便可为每个隶属度函数选择其他域,并对其进行不同的划分,以确定隶属度函数交叠的不同区域,然后设置非对称的隶属度函数。
2.3 规则库的形成
由于地形坡度有五个隶属度函数,地形类别有四个隶属度函数,这样,总共就会有5×4=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 清晰化