基于模糊神经网络的移动机器人沿墙导航控制
时间:11-21
来源:互联网
点击:
1 引言
沿墙导航控制问题是指驱动机器人在一定方向上沿墙运动,或者更一般意义上的沿着物体轮廓运动,并与墙保持一定距离。它可以看作是移动机器人智能的低层行为,当与其它高层的智能行为相结合时,可以完成复杂的任务。墙体情况可分为以下几种:
跟踪一个未知的墙体。当获得的环境信息太少或无法获得,机器人的轨迹可能会特定为“沿着右边的墙体运动直到发现第一个门口”。另外,如果移动机器人的任务是绘制全局模型,它就必须沿墙体行进将地图描述完全。
跟踪一个已知墙体。机器人按照规划好路径跟踪轨迹,为了使算法误差保持在小范围内而跟踪墙体。或者,路经规划中包括已知墙体,需要机器人沿墙行进完成特殊的任务。
目前关于移动机器人沿墙导航控制已有较多研究,大多采用声纳传感器作为环境的感知设备。算法应用则从早期的航迹推算法,发展到后来使用卡尔曼滤波,模糊控制,神经网络控制等。由于模糊逻辑技术和神经网络技术各自独到的特点,将模糊技术和神经网络有机结合组成模糊神经网络控制系统,可实现模糊规则自动提取、模糊隶属函数的自动生成及在线调节。因此本文采用模糊神经网络算法实现移动机器人的沿墙导航控制。
2 模糊神经网络结构
2.1 输入输出值模糊化
本文研究的移动机器人沿墙导航控制融合机器人声纳检测采集到的数据,判断机器人的位姿,然后通过模糊神经网络算法控制移动机器人的动作,使其在一定距离内沿墙体运。文中移动机器人侧壁上方安装有16个声纳,按顺时针排列从0#到15#。
移动机器人要避免与墙体碰撞又要保持一定距离,所以本文为每个声纳设置一个阈值,当声纳检测到的距离值大于或小于这个阈值就采取相应的动作。这样,将声纳采集的距离值与各自相应的阈值相减得到差值△di(i=O,1,2,…,15)作为模糊神经网络的一个输入;移动机器人的角度信息θ作为另外一个输入。将距离差值△di和角度θ输入模糊化如下:
距离差值△di:较小(NB),小(NS),中(Z),大(PS),较大(PB)。
角度θ:左(L),偏左(LS),正(Z),偏右(RS),右(R)。
输出变量为移动机器人的左右轮速Vl、Vr,模糊化如下:
左右轮速Vl、Vr:左转(TL),前进(G),右转(TR)。
2.2 模糊神经网络结构图
模糊神经网络结构图如图1所示,A为输入层,输入变量分别是前面所说的距离差值△di(i=0,l,2,3,4)和角度θ。A层的作用是将输入值传送到下一层。
B,C为模糊化层,即使用模糊语言来反应输入量的变化,隶属函数采用高斯函数,隶属度计算公式如下:
连接权重We、Wd决定了隶属函数的形状。
D层为模糊推理层,目的是将输入量进行综合处理,共采用了25条规则,它们由C,D,E的连接表示出来。模糊规则如下:
lf △di is M andθis N,then Vl is K and Vris L.
其中M=NB,NS,Z,PS,PB;N=L,LS,Z,RS,R;K,L=TL,G,TR。
E、F、G层为去模糊化层。F层有10个神经元,5个对应移动机器人的左轮速度,5个对应右轮速度。F层的结果隶属函数使用三角形隶属函数,目的是把在E层模糊语言描述的隶属函数转化为具体数值的隶属度。G层求解模糊结果,采用重心法,也叫加权平均法。求解过程是以控制作用论域上的点vi(i=l,2,…,n)对控制作用模糊集的隶属度u为权系数进行加权平均而求得模糊结果,对于离散论域vi:
3 沿墙导航控制计算模型
图l所示即为本文采用的BP前馈型神经网络结构,计算模型如下(I为该神经元的输入值,O为输出值,上标表示神经元所在的层):
D层:由输入变量自动生成模糊规则。
F层:输出隶属函数使用三角形函数,隶属度计算公式如下:
4 实验结果
为了验证算法的有效性,本文设计了移动机器人沿左墙行进的实验。实验环境为有两扇门的长方形走廊。其中,黑色实线为带有两扇门的墙体,蓝色曲线为移动机器人沿墙体行进的轨迹。移动机器人使用0#~4#声纳,图2为基于航迹推算法的移动机器人墙体跟踪轨迹图;图3为基于模糊神经网络的移动机器人沿墙导航控制轨迹图。
图3中,移动机器人与墙体的距离联合各声纳相对于移动机器人正前方的角度作为模糊神经网络的输入,经过融和判断来控制移动机器人的动作,靠近墙体或远离墙体。例如,O#(-90°)测得的数值为208mm,1#(-50°)测得的数值为324mm,2#(一30°)测得的数值为877mm,3#(一10°)测得的数值为1700mm,4#(10°)测得的数值为3000mm,说明移动机器人距离墙体太近,需远离以避免碰撞,此时移动机器人左轮速度为0.20m/s,右轮速度为O.08m/s。移动机器人采用模糊神经网络进行沿墙导航控制的均方误差为0.0014。单一采用航迹推算法的均方误差为0.0382。由此可见,采用模糊神经网络进行移动机器人沿墙导航控制,性能大大提高。
沿墙导航控制问题是指驱动机器人在一定方向上沿墙运动,或者更一般意义上的沿着物体轮廓运动,并与墙保持一定距离。它可以看作是移动机器人智能的低层行为,当与其它高层的智能行为相结合时,可以完成复杂的任务。墙体情况可分为以下几种:
跟踪一个未知的墙体。当获得的环境信息太少或无法获得,机器人的轨迹可能会特定为“沿着右边的墙体运动直到发现第一个门口”。另外,如果移动机器人的任务是绘制全局模型,它就必须沿墙体行进将地图描述完全。
跟踪一个已知墙体。机器人按照规划好路径跟踪轨迹,为了使算法误差保持在小范围内而跟踪墙体。或者,路经规划中包括已知墙体,需要机器人沿墙行进完成特殊的任务。
目前关于移动机器人沿墙导航控制已有较多研究,大多采用声纳传感器作为环境的感知设备。算法应用则从早期的航迹推算法,发展到后来使用卡尔曼滤波,模糊控制,神经网络控制等。由于模糊逻辑技术和神经网络技术各自独到的特点,将模糊技术和神经网络有机结合组成模糊神经网络控制系统,可实现模糊规则自动提取、模糊隶属函数的自动生成及在线调节。因此本文采用模糊神经网络算法实现移动机器人的沿墙导航控制。
2 模糊神经网络结构
2.1 输入输出值模糊化
本文研究的移动机器人沿墙导航控制融合机器人声纳检测采集到的数据,判断机器人的位姿,然后通过模糊神经网络算法控制移动机器人的动作,使其在一定距离内沿墙体运。文中移动机器人侧壁上方安装有16个声纳,按顺时针排列从0#到15#。
移动机器人要避免与墙体碰撞又要保持一定距离,所以本文为每个声纳设置一个阈值,当声纳检测到的距离值大于或小于这个阈值就采取相应的动作。这样,将声纳采集的距离值与各自相应的阈值相减得到差值△di(i=O,1,2,…,15)作为模糊神经网络的一个输入;移动机器人的角度信息θ作为另外一个输入。将距离差值△di和角度θ输入模糊化如下:
距离差值△di:较小(NB),小(NS),中(Z),大(PS),较大(PB)。
角度θ:左(L),偏左(LS),正(Z),偏右(RS),右(R)。
输出变量为移动机器人的左右轮速Vl、Vr,模糊化如下:
左右轮速Vl、Vr:左转(TL),前进(G),右转(TR)。
2.2 模糊神经网络结构图
模糊神经网络结构图如图1所示,A为输入层,输入变量分别是前面所说的距离差值△di(i=0,l,2,3,4)和角度θ。A层的作用是将输入值传送到下一层。
B,C为模糊化层,即使用模糊语言来反应输入量的变化,隶属函数采用高斯函数,隶属度计算公式如下:
连接权重We、Wd决定了隶属函数的形状。
D层为模糊推理层,目的是将输入量进行综合处理,共采用了25条规则,它们由C,D,E的连接表示出来。模糊规则如下:
lf △di is M andθis N,then Vl is K and Vris L.
其中M=NB,NS,Z,PS,PB;N=L,LS,Z,RS,R;K,L=TL,G,TR。
E、F、G层为去模糊化层。F层有10个神经元,5个对应移动机器人的左轮速度,5个对应右轮速度。F层的结果隶属函数使用三角形隶属函数,目的是把在E层模糊语言描述的隶属函数转化为具体数值的隶属度。G层求解模糊结果,采用重心法,也叫加权平均法。求解过程是以控制作用论域上的点vi(i=l,2,…,n)对控制作用模糊集的隶属度u为权系数进行加权平均而求得模糊结果,对于离散论域vi:
3 沿墙导航控制计算模型
图l所示即为本文采用的BP前馈型神经网络结构,计算模型如下(I为该神经元的输入值,O为输出值,上标表示神经元所在的层):
D层:由输入变量自动生成模糊规则。
F层:输出隶属函数使用三角形函数,隶属度计算公式如下:
4 实验结果
为了验证算法的有效性,本文设计了移动机器人沿左墙行进的实验。实验环境为有两扇门的长方形走廊。其中,黑色实线为带有两扇门的墙体,蓝色曲线为移动机器人沿墙体行进的轨迹。移动机器人使用0#~4#声纳,图2为基于航迹推算法的移动机器人墙体跟踪轨迹图;图3为基于模糊神经网络的移动机器人沿墙导航控制轨迹图。
图3中,移动机器人与墙体的距离联合各声纳相对于移动机器人正前方的角度作为模糊神经网络的输入,经过融和判断来控制移动机器人的动作,靠近墙体或远离墙体。例如,O#(-90°)测得的数值为208mm,1#(-50°)测得的数值为324mm,2#(一30°)测得的数值为877mm,3#(一10°)测得的数值为1700mm,4#(10°)测得的数值为3000mm,说明移动机器人距离墙体太近,需远离以避免碰撞,此时移动机器人左轮速度为0.20m/s,右轮速度为O.08m/s。移动机器人采用模糊神经网络进行沿墙导航控制的均方误差为0.0014。单一采用航迹推算法的均方误差为0.0382。由此可见,采用模糊神经网络进行移动机器人沿墙导航控制,性能大大提高。
- 基于MSP430的自主式移动机器人设计与实现(06-12)
- 如何制作一个最简单的机器人(02-23)
- 机器人技术的新进展(02-23)
- CAN总线技术在工业码垛机器人控制系统中的应用研究(06-27)
- 制作机器人常用传感器盘点(02-23)
- 基于LabVIEW构建智能的移动机器人及无人驾驶车(10-27)