一种新颖的基于二分法和模糊控制的移动机器人避障系统*

2018-10-17 06:37金兆远胡凌燕熊鹏文吴承哲
传感技术学报 2018年9期
关键词:偏右盲区移动机器人

金兆远,胡凌燕,熊鹏文,彭 杰,吴承哲

(南昌大学信息工程学院,江西 南昌 330031)

机器人作为现代工业发展的重要基础,已经成为衡量一个国家制造水平和科技水平的重要标志[1]。机器人在当前生产生活中的应用也越来越广泛,在工业、医学、农业、军事、建筑业等各个领域,都有着广阔的发展空间与应用前景[2]。

目前,机器人正朝着智能化和多样化等方向发展。智能移动机器人是一种在复杂环境下工作的机器人,具有自规划、自组织和自适应能力,其研究的核心问题是如何导航和避障[3]。为了能够获取有效的环境信息实现导航和避障功能,可以用不同的传感器完成,例如视觉,声纳和激光传感器等[4]。由于超声波传感器处理信息简单、速度快、成本低,因此被越来越多的科学家应用在移动机器人避障研究中。

目前,国内外基于超声波阵列开发出各式各样的避障算法,相似点在于主要都通过超声波传感器检测移动机器人周边环境,继而采用算法实现移动机器人的避障规划,不同之处在于各自超声波阵列的摆放、检测盲区的大小以及系统采用的算法。文献[5-7]中,均通过加载3个超声波传感器分别检测移动机器人的前方、左方和右方,实现移动机器人避障运动,此类方法优点是结构简单,算法易于实现,不足之处是盲区较大,尤其加载在体积比较大的移动机器人上,无法完全检测到周边的障碍物,从而不能实现安全避障;文献[8]在移动机器人前后各安装3个和2个超声波传感器,分别检测机器人前后的障碍物;文献[9]在移动机器人前后各安装4个超声波传感器分别检测机器人前后的障碍物。这些方法优点是能够无盲区地检测到移动机器人前后障碍物,不足之处在于没有检测机器人左方和右方障碍物情况,无法保证移动机器人转弯运动的安全性;文献[10]通过安装10个以上超声波传感器能够无盲区地检测到移动机器人周边的障碍物,文献[11-12]分别通过加载视觉传感器和红外线传感器补偿超声波传感器的检测盲区,这些方法的优点是检测范围广、避障盲区小、能够充分保证机器人运行时的安全性,不足之处在于加载传感器较多、硬件成本高、算法实现复杂,使实时性很难得到保证;在文献[13-14]中,采用6个超声波传感器构成超声波阵列,如图1所示,其中的阴影部分为超声波阵列检测范围,由图可知这两种阵列均能实现移动机器人前方及左右两侧障碍物的检测,很大程度地减小了检测盲区,但不足之处是仍然存在一些避障盲区、避障范围不够合理等。

图1 超声波阵列

针对上述避障控制系统的不足,本文设计了一种新颖的超声波避障控制系统,比传统超声波避障系统不同之处在于:仅用6个超声波传感器构成新颖的阵列实现大中型移动机器人前方及左右两侧的无盲区避障,实现机器人对周围情境的理解,规划避障路径,充分保证机器人的安全性;在避障控制算法上,采用二分法和模糊控制相结合的方法,简化了模糊控制规则使系统具有很好的实时性,能够对新增的动态障碍物避障,避免了其他避障控制算法中易出现的误避障或二次避障的情况,充分提高了机器人的避障效率。

1 移动机器人避障系统

1.1 超声波阵列设计

目前用超声波传感器阵列对环境建模的方式主要有3种:高斯分布传感器模型、中线传感器模型和均匀分布传感器模型,这些方法的不足之处在于:首先,它们都是在概率上近似得到障碍物的位置,虽然简单,但不够准确[15];再者由于它们没有确切讨论因波束角产生的避障盲区问题,从而对环境信息获取不够充分,所以类似此方法在测量区域内建模是不可能精确的。

针对上述不足,本文通过6个型号为HC-SR04超声波传感器构成特别设计的超声波阵列来实现移动机器人的避障控制。超声波传感器1~6全部安装在移动机器人的最后端一字排开如图2所示。设B为移动机器人宽度,角度α为超声波传感器的波束角(10°<α<30°)。超声波传感器1、2安装在最左端,其中1放在2的上面,超声波传感器3安装在距离最左端(1/4)B处,超声波传感器4安装在距离最左端(3/4)B处,超声波传感器5、6安装在最右端,其中6在5的上面。各传感器摆放角度以水平为基准,超声波传感器1逆时针旋转3α/2,超声波传感器2逆时针旋转α/2,超声波传感器3顺时针旋转β,超声波传感器4逆时针旋转δ,超声波传感器5顺时针旋转α/2,超声波传感器6顺时针旋转3α/2。

图2 传感器安装位置和摆放角度

图2中,β与δ推导如下:

首先,在图3中,△ABE和△DCF中

AB=DC
∠BAE=∠CDF=90°

(1)

又令AE=DF

故△ABE≌△DCF,所以有

∠ABE=∠DCF=∠f

∠ECA=∠FBD=∠e

其次,过B点和C点分别做垂直于超声波传感器3和4的垂线,即其波束角的角平分线L1和L2,

∠EBL1=∠FCL2=∠α/2
∠f+∠EBL1=|β|+90°
∠f+∠FCL2=|δ|+90°

(2)

最后,分别在△ACE和△DCF中

AE=DF

(3)

AC·tan∠(180°-α-∠f)=CD·tan∠f

式中:AC,CD,α已知,可得出∠f代入下式中有

(4)

1.2 超声波阵列检测

图3为本文超声波阵列检测范围覆盖图,其中A、B、C、D4个点分别为超声波传感器1、3、4、6摆放位置的中点,E点为超声波传感器3的波束角的左边沿与移动机器人最左侧前向延长线的交点,F点为超声波传感器4的波束角的右边沿与移动机器人最右侧前向延长线的交点。

图3 超声波检测区域

超声波传感器1覆盖的区域是8和12,超声波传感器2覆盖的区域是9和13,超声波传感器3覆盖的区域是1、2以及3,超声波传感器4覆盖的区域是1、2以及4,超声波传感器5覆盖的区域是10和14,超声波传感器6覆盖的区域是11和15,区域5和6是移动机器人前行过程中不会存在的可能盲区,只要有障碍物在阴影覆盖区,均能够检测出来。由图可以看出,在XY坐标轴第一、第二象限里的障碍物会影响到移动机器人前行和左右拐弯,本文仅采用6个超声波构成阵列就能够做到在这两个象限基本不存在检测盲区,如果在区域Ⅰ和Ⅱ里有障碍物,是不影响移动机器人前行和左右拐弯的。

另外,通过结合避障算法实现移动机器人对影响其运行的障碍物进行合理避障。如图3中区域1和区域2正好覆盖检测了与移动机器人等宽的避障区,相对与图1所示的超声波阵列系统,移动机器人的行走安全性要明显提高,检测范围也更为合理,不仅消除因避障区过小导致的盲区,而且避免避障区过大而导致的误操作,充分保障了移动机器人前行避障的准确性。

2 移动机器人避障算法

传统的模糊控制算法,由于模糊控制规则和隶属度函数的不易获取与确定,因此往往存在控制器设计复杂、算法实际应用较难等问题。

针对上述不足,本文采用二分法和模糊控制相结合的避障控制算法,该方法有效的简化模糊控制规则,提高算法的实时性,使控制系统不仅能够检测到静态障碍物,而且能够实时检测出动态增加的障碍物。在避障过程中,最重要的是检测出正前方的障碍物即区域1、2、3和4里的障碍物,其他区域的障碍物检测只是用来帮助机器人对周围环境的理解,以便机器人选择最佳避障路径。为了提高避障算法的实时性,机器人读取超声波传感器3和4检测到的距离,采用二分法快速判断机器人正前方是否有障碍物,并判断出障碍物是偏左还是偏右;再根据其他超声波传感器测量到障碍物的距离,使机器理解周围环境中障碍物的情况,然后用模糊控制算法选择最佳避障路径,确定机器人转动的方向和角度。

(5)

式中:n=B/sin(2α),f=B/sinα。图4中,Ui(i=1,2,3,4,5,6)为超声波传感器i测量到的障碍物距离。

首先,使用二分法检测移动机器人正前方障碍物情况,控制其运动状态。检测U3和U4,若两者均大于避障距离d,则该障碍物不在避障范围内,移动机器人继续保持前行。否则,移动机器人需要进入避障状态,若U3大于U4则进入避障状态1,否则进入避障状态2。

图4 避障流程

(6)

其次,基于模糊控制思想选择机器人避障方向和转角。

避障状态1:

(7)

避障状态2:

(8)

式中:TLα为左转α角度,TR 2α为右转2α角度,以此类推。

3 实验验证及结果

本实验平台为后轮驱动的移动机器人,长和宽分别为40 cm和30 cm,所用的6个超声波传感器型号为HC-SR04,实测波束角为20°,设定d=0.87 m,n=0.5 m,f=0.8 m。

图5 移动机器人避障路径

3.1 机器人避障及路径规划实验

本节结合第3节所述的障碍物分布来模拟非结构复杂环境,验证移动机器人的情景理解及规划路径能力。设置移动机器人运动起始点、终止点及障碍物分布如图5所示。在该实验中,机器人由起始点出发,沿着其运行的线路我们依次设置的障碍物情境为正前方无障碍物但左右两侧有障碍物①、直角障碍物②、正前方偏右及左前方有障碍物③、正前方偏右有障碍物④、凸形障碍物⑤、动态障碍物⑥和凹形障碍物⑦,最后到达终止点。我们在移动机器人前端中间的底部安装了一支毛笔,用于画出从起始点到终止点之间的运动轨迹。

移动机器人从起始点出发,避障路径如图5中毛笔所画的轨迹所示,能够在充满各种不同障碍物的环境中,一一顺利避障到达终止点。

3.2 移动机器人各个避障点实验分析

对图5路线中各个避障点分析,说明移动机器人对情景理解及合理规划避障路径的能力。本节所附的图为上节实验过程中各个避障点的详细实验结果。其中左图为移动机器人在各个避障点的实照,右图为在机器人在该位置时,超声波传感器实时检测到的数据。

3.2.1 正前方无障碍物,左右两侧有障碍物

在起始点①处,场景设置如图6所示。即图3区域1~区域4中无障碍物,U3和U4返回值均大于0.87 m,移动机器人继续保持前行。

图6 正前方无障碍物

图7 直角障碍物

由此可知,移动机器人正常前行时,左右两侧存在的障碍物(即使离机器人很近),只要它不会影响到移动机器人的正常前行,就不会启动避障程序,避免误判情况的发生,提高了移动机器人避障的可靠性。而在本文图1所示的超声波避障系统中,由于此时检测到移动机器人左右前方均有障碍物,机器人则会启动避障,从而产生不必要的避障处理。

3.2.2 直角障碍物

在障碍物②处,场景设置如图 7所示。即图3区域1~区域2、10和11中均有障碍物,首先U4小于U3且其返回值小于0.87 m,判断出正前方偏右有障碍物,机器人进入避障状态1;其次U2返回值大于0.8 m,移动机器人进行左转小角度避障。

由此可知,机器人会根据正前方障碍物位置情况优先选择最佳避障方向,从而可以避免对其余不必要障碍物(如图7中右前方障碍物)的判断,提高避障效率。

3.2.3 正前方偏右、小角度以及大角度左前方有障碍物

在障碍物③处,场景设置如图8所示。即图3区域1~区域2、8和9中均有障碍物,首先U4小于U3且其返回值小于0.87 m,判断出正前方偏右有障碍物,机器人进入避障状态1;其次U2小于0.8 m,则继续检测右前方障碍物情况;最后U5大于0.8 m,移动机器人选择右转小角度避障。

由此可知,移动机器人即使检测到前方偏右有障碍物,但因预判到左转后仍需要再次避障,所以会根据周围结构环境的不同,合理规划避障路径,避免二次避障可能。

图8 正前方偏右和左前方有障碍物

3.2.4 正前方偏右和右前方小角度有障碍物

在障碍物④处,场景设置如图9所示。即图3区域1~区域2中有障碍物,首先U4小于U3且其返回值小于0.87 m,判断出正前方偏右有障碍物,机器人进入避障状态1;其次U2返回值大于0.8 m,移动机器人优先左转小角度避障。

由此可知,根据正前方障碍物的不同位置,移动机器人优先选择距离障碍物较远的方向避障。

图9 正前方偏右有障碍物

图10 凸形障碍物

3.2.5 凸形障碍物

在障碍物⑤处,场景设置如图10所示。即图3区域1~区域2中有障碍物,首先U4小于U3且其返回值小于0.87 m,判断出正前方偏右有障碍物,机器人进入避障状态1;其次U2大于0.8 m,则移动机器人根据正前方障碍物检测进行左转小角度避障。

由此可知,对于凸形障碍物避障,移动机器人能进行有效的避障处理,不会被无关障碍物干扰。

3.2.6 动态障碍物

在障碍物⑥处,场景设置如图11所示。即图3区域3~区域4中有障碍物,移动机器人立即做出检测,并进行实时避障运动,由机器人移动路线可以看出,随着动态障碍物位置的不同,机器人依次进行右转小角度、左转大角度避障运动。

由此可知,对于动态障碍物,移动机器人能够实时进行避障处理,保障运行安全。

3.2.7 凹形障碍物

在障碍物⑦处,场景设置如图12所示。即图3区域1~区域2、13及14中有障碍物,首先U3和U4检测到前方有障碍物从而进行避障处理;其次左右两侧都检测到障碍物,机器人左转或右转都会发生碰撞;最后因为前方障碍物与机器人距离为45 cm,机器人长度40 cm,即使前行也无法进行有效的二次避障,实际上无法进行任何避障措施,为确保机器人安全性,故停止运动。

以上实验结果表明,本文新颖的超声波避障控制系统能够准确识别周围环境中直角、凹凸和动态等各种障碍物分布情况,实时进行规划选择最佳的避障路径,再基于二分法和模糊控制相结合的避障算法,可以很好地减少移动机器人对障碍物误判断和二次避障的可能,使移动机器人在选择避障路径时具有更好的实时性和智能性。

图11 动态障碍物

图12 凹形障碍物

4 结论

本文设计了一个新颖的超声波避障控制系统,改进了传统超声波避障的不完善之处,仅由6个超声波传感器构成特别设计的阵列,就可以完成中大型移动机器人前方及左右两侧的无盲区障碍物检测,实现机器人对周围情境的理解,从而使机器人能够选择最佳避障路 径,充分保证机器人的安全性。同时,本文基于二分法和模糊控制相结合的避障控制算法,不仅简化了模糊控制规则,提高算法实时性,而且很好地减少移动机器人对障碍物误判断和二次避障的可能,使移动机器人更具智能化。

随着机器人技术的不断发展,如多传感器信息融合、路径规划、机器人视觉等,都将是研究的热点课题。下一步将在本文工作的基础上,进一步实现多传感器信息融合,改善超声波传感器检测的不足:如光滑表面测距误差较大、波束角与障碍物所成角度过大时无法检测等,优化算法的可靠性。

猜你喜欢
偏右盲区移动机器人
与人越熟悉,狗狗尾巴摇摆越偏右?
盲区50米
移动机器人自主动态避障方法
治三叉神经痛
交叉感应环线通信盲区分析和应对
基于Twincat的移动机器人制孔系统
产能不足、去向不明,危废监管盲区依然存在
重庆事件与医保盲区
极坐标系下移动机器人的点镇定
基于引导角的非完整移动机器人轨迹跟踪控制