APP下载

基于模糊控制的移动机器人局部路径规划

2020-05-13李彩虹

关键词:模糊控制障碍物障碍

郭 娜,李彩虹,王 迪,张 宁,宋 莉

(山东理工大学 计算机科学与技术学院, 山东 淄博 255049)

移动机器人可以在某些环境尤其是恶劣环境下代替人类完成相应的工作,这使得移动机器人的研究在国内外受到广泛关注,而路径规划作为移动机器人完成某项工作的基础功能显得尤为重要,如何快速、准确地规划路径成为移动机器人领域的一大研究热点[1]。

移动机器人的路径规划包含全局路径规划和局部路径规划[2-3]。全局路径规划是在机器人位姿、环境和目标都已知的情形下,寻找一条从起始位置到达目标位置的无碰撞最优路径。局部路径规划是在运行环境未知的情况下实时地规划路径,移动机器人由于传感器探测距离有限以及周围环境的不确定性,很难从整体最优上进行路径规划,因此机器人从局部最优进行路径规划[4-5]。

局部路径规划的方法主要有人工势场法、模糊控制法、遗传算法、神经网络等[6-7]。人工势场法由于其操作简单、应用性强被广泛使用,但易出现因受力平衡导致局部震荡无法到达目标点的情况[8]。模糊控制具有较好的实时性[9],模拟了驾驶员在驾驶过程中面对各种情况作出反应[10-11],但在复杂环境下,如U型障碍,易出现死锁的现象。针对这种现象李擎等[12]设计了U型槽模糊控制器,能够解决U型障碍物的死锁问题,但只是针对障碍环境已知的情况下,在未知环境下并不通用。魏立新等[13]通过机器人旋转角度来判断是否进入和逃脱U型陷阱区取得了很好的效果,但在其他障碍情况下是否依然可行还有待验证。Aouf等[14]设计了去目标障碍和墙跟随的行为仲裁方法,可有效避免与凹凸障碍物的碰撞。本文针对传统模糊控制算法中存在的死锁问题,首先设计模糊控制器,设置模糊规则,然后加入障碍逃脱策略和转向策略,在各种障碍物环境下进行仿真研究。

1 模糊控制器的设计

设计模糊控制器首先要根据实际需要确定输入量和输出量,确立模糊语言变量,选择合适的隶属度函数[15],根据人类经验设计模糊控制规则[16]。本文采用模糊控制的方法,模仿人行走时行为的推理和决策过程,由测得的与障碍物的距离推理下一步的前进方向和步长。

1.1 确定输入量和输出量

移动机器人上安装了三个距离传感器,分别为正前方M、左方L和右方R,左右方向都与正前方相差30°,正前方是面向目标点的方向,如图1所示。

模糊控制器是双输入、双输出的结构,其中输入量为机器人正前方即目标点方向距障碍物的距离dM、左边距障碍物的距离减去右边距障碍物的距离dLR。输出量为机器人下一步前进方向的转角Angle以及步长Step,结构如图2所示。

图1 移动机器人探测方向Fig.1 Detection direction of mobile robot

模糊控制器的输入量要进行模糊化,也就是需要把确定的输入量转化为模糊向量。表1给出了模糊变量的论域、划分情况和语义对照。

以输入量dLR中的RB为例,RB是一个表示距障碍物左近右远的模糊集合,μRB(x)表示元素x属于集合RB的程度,取值范围为[0,1],称μRB(x)为x属于模糊集合RB的隶属度。当模糊集合RB由连续函数构成,各元素的隶属度就构成了隶属度函

图2 模糊控制器结构图Fig.2 Structure of fuzzy controller

表1 模糊语言变量语义对照表
Tab.1 Semantic comparison of fuzzy linguistic variables

模糊变量dM/mdLR/mStep/mAngle/rad论域[1,10][-10,10][0,1][-1.5,1.5]模糊语言变量及其对应语义VS很近RVB左很近右很远VS很短TRVB右大转S近RB左近右远S短TRB右小转M适中CE左右距离相同M适中CE不转B远LB左远右近B长TLB左小转VB很远LVB左很远右很近VB很长TLVB左大转

数μRB(x),此时模糊集合RB表示为

(1)

隶属度函数是用于表征模糊集合的数学工具,本文选用梯形隶属度函数,使用主观经验法来确定。梯形曲线可由4个参数a、b、c和d确定,RB的隶属度函数可表示为

(2)

通过确定各个模糊集合的隶属度函数参数,确定隶属度函数。输入量dM的隶属度函数如图3所示,其余输入输出量隶属度函数与dM的相同。

图3 输入量dM的隶属度函数Fig.3 Membership function of input dM

1.2 设置模糊规则

模糊控制器规则的设置是根据驾驶员驾驶汽车的经验,并将左、右两个传感器探测到的障碍物距离做差,减少了输入量,精简了规则数量。根据此方法一共设计了25条规则,见表2。

表2 模糊控制规则
Tab.2 Rules of fuzzy control

Angle/StepdMVSSMBVBdLRRVBTRVB/VSTRVB/STRB/MTRB/BTRB/VBRBTRVB/VSTRB/STRB/MTRB/BTRB/VBCECE/VSCE/SCE/MCE/BCE/VBLBTLVB/VSTLB/STLB/MTLB/BTLB/VBLVBTLVB/VSTLVB/STLB/MTLB/BTLB/VB

根据不同方向距障碍物的距离不同,确定合适的模糊规则,当输入量dM为VS,dLR为RVB时,输出量Step为VS,Angle为TRVB,则模糊控制规则表示为:

If (dMisVS) and (dLRisRVB)

then (StepisVS) (AngleisTRVB)

根据表2模糊控制规则的设置,得到了输入量和输出量的关系,如图4所示。

(a)Step与dM、dLR的关系

1.3 模糊推理与解模糊

常用的模糊推理有两种方法:Zadeh法和Mamdani法。Mamdani推理法是在模糊控制中普遍使用的方法,其本质是一种合成推理方法,本文采用Mamdani法进行模糊推理。

以dM= 6.93 m、dLR= -6.99 m为例,在图5所示的规则查看器中可以看出,在此状态下触发了模糊规则第21条和第24条,按照对规则取极小值和取极大值的方法,得到输出值。在第21条规则中选取极小值dLR中RVB的隶属度函数,在第24条规则中取极小值dLR中RB的隶属度函数,两条规则得到的隶属度函数再各自取极大值即可得到两个输出量的隶属度函数。

图5 模糊控制规则查看器Fig.5 Fuzzy control rule viewer

经模糊推理得到的推论结果是模糊量,要对其进行解模糊,将模糊量转化为精确量。解模糊的方法有:最大隶属度法、重心法和加权平均法等。最大隶属度法的优势是简单,选取模糊集合中隶属度最大的元素作为输出值,适用于控制要求不高的场合。重心法则是以隶属度函数曲线与横坐标围成的面积的重心作为输出值,能够得到更准确的控制量。加权平均法广泛应用于工业控制中,根据系数的选择决定系统具有不同的响应特征。本文选用重心法计算模糊推理的最终输出值,计算公式为

(3)

将推论结果的隶属度函数代入式(3)进行解模糊,得到输出量Step=1.4 m,Angle=0.6 rad。

2 局部死锁问题的逃脱策略

模糊控制模拟驾驶车辆出现的各种反应设置模糊规则,但当遇到障碍物对称或大片连续的障碍物,如U型障碍物和一字型障碍物时,会出现局部震荡也就是死锁的现象。本文针对复杂障碍物环境提出了障碍逃脱策略,算法流程如图6所示。

图6 障碍逃脱策略算法流程Fig.6 Flow chart of obstacle escape strategy algorithm

2.1 障碍逃脱策略

在机器人朝目标点方向行驶的过程中,当遇到小物体的障碍时,根据制定的模糊规则基本能够找到无碰撞的最优路径。当遇到连续复杂的障碍环境,根据模糊规则不能走出障碍陷阱区时,进入障碍逃脱策略。

判断进入逃脱策略的方法:当机器人距离目标点非常近,通过模糊规则得到的输出量在转角方向的步长已经大于在此方向上距障碍物的安全距离,就进入障碍逃脱状态。

根据进入逃脱状态前左右距障碍物距离dL和dR的比较,选定转动方向,设置转动方向标志JudgeTurn,JudgeTurn的计算公式为

(4)

以图7所示情境为例,dR大于dL,选择初始转动方向为右。机器人向右偏转一定角度θr直到前方距障碍物距离可行。设置初始偏转角度θr=0,每次循环累加固定角度及随机扰动值ε,预防陷入死循环,θr的计算公式为

(5)

图7 逃脱过程示意图Fig.7 Schematic diagram of escape process

在此方向上设立方向点,暂时将方向点代替目标点,让机器人继续沿障碍物边缘前行。以图7中方向点1为例,在F点向右偏转,当偏转到θr角度时,在此方向上探测不到障碍物,设置方向点1暂时代替目标点,机器人朝向方向点1前行。

当机器人到达方向点时,测量当前位置到目标点方向向右一定范围(例如120°)内有无障碍物,如图7中黄色扇形区域。若有障碍物,则在当前位置到目标点方向向右120°方向上设立新的方向点,沿新方向点前行;若没有障碍物,则判断走出了障碍范围,机器人将继续沿目标点方向前行。

2.2 改变转动方向策略

若障碍物环境是复杂又近似封闭的,在进入障碍逃脱状态后,很难准确判断是否走出整个障碍环境,由于初始转动方向确定后若随意改变易出现回退现象,若始终保持不变则容易在局部范围出现路径往复现象,而初始转动方向可能不是得到最优路径的选择。为了能使机器人尽可能不走回头路地到达目标点,要找到适合改变转动方向的时机。

每当下一步不可行并且指向目标点时,记录当前点,当再次到达记录点并且仍指向目标点时,改变初始转动方向。

添加了改变转动方向的行为后,在复杂的障碍物环境中,基本能够最终到达目标点,但由于视野的局限性,得到的路径并不一定最优。

3 模糊控制路径规划的仿真结果

在MATLAB R2016平台上,对本文提出的算法进行了仿真验证。图8是在各种障碍物环境下得到的路径规划仿真结果。仿真环境大小是100×100,“*”代表起始点,“▷”代表目标点,黑色区域代表障碍物。

图8(a)所示,在障碍物成离散分布的一般环境中,仅使用模糊规则就能找到最优路径。图8(b)和(e)所示,当运动到距障碍物很近的状态下,探测到右边到障碍物的距离大于左边的,选择向右转向,沿边走出障碍物,朝向目标点继续前进。图8(c)所示,探测到左边到障碍物的距离大于右边的,选择向左转向,沿边走出障碍物。图8(d)所示,当采取障碍逃脱策略运动到封闭环境的出口处时,探测到走出障碍物,朝向目标点前进,当再次运动到距障碍物很近的状态下,依然选择第一次进入逃脱状态的逃脱方向,直至走出障碍物。本文的模糊控制规则和障碍逃脱策略能够较好地找到从起始点到达目标点的较优路径。但由于机器人运动时探测距离的局限性,在进入障碍逃脱策略时根据左右探测距离的远近决定逃脱方向,如图8(f)所示,机器人在进入障碍逃脱策略时选择右转逃脱成功到达目标点。若在进入障碍逃脱策略时选择左转逃脱,则易困在障碍物内,出现路径往复的现象,无法到达目标点,如图9所示。加入了转向策略后,如图10所示,机器人能在第二次经过记录点时改变转向方向, 顺利到达目标点,虽然得到的结果经过了一段不必要的路径,但由于探测距离和对周围信息的感知有限,机器人在复杂环境中边探测边行走,能够不走回头路地到达目标点,达到了本文算法的预期。

(a)一般环境 (b)一字型障碍物

(c)U型障碍物 (d)近似封闭环境

(e)L型障碍物 (f)复杂环境图8 各种障碍物环境下的路径规划Fig.8 Path planning in various obstacle environments

图9 未使用转向策略Fig.9 Path planning without steering policy

图10 使用转向策略Fig.10 Path planning with steering strategy

4 结论

本文采用模糊控制的方法,加入了逃脱策略和转向策略解决模糊控制中易出现的死锁问题。在MATLAB R2016平台上使用本文算法进行仿真。仿真结果表明,在一般复杂环境中,能够规划出从起始点到目标点无碰撞的较优路径;在较封闭的复杂环境中,也能够规划出可行路径到达目标点。本文算法还存在路径冗余和不平滑的问题,解决这一问题可以尝试结合其他智能算法,使得能够更早地判断即将进入陷阱区,优化路径。

猜你喜欢

模糊控制障碍物障碍
为何中年婚姻障碍多
制动器液冷控制系统模糊控制策略
基于模糊控制的多圆弧路径自动平行泊车仿真
基于变论域模糊控制的Taylor逼近型内模PID算法
高低翻越
赶飞机
基于遗传算法的模糊控制在过热汽温控制系统优化中的应用
跟踪导练(四)2
月亮为什么会有圆缺
内向并不是一种障碍