APP下载

基于降级模糊算法的爬壁机器人避障控制

2020-08-03徐天奇

科学技术与工程 2020年19期
关键词:模糊化论域障碍物

庄 园, 滕 昊, 徐天奇*, 李 琰

(1.云南民族大学电气信息工程学院,昆明 650540; 2.北京航空航天大学自动化科学与电气工程学院,北京 100191)

爬壁机器人是集吸附、运动于一体,既可以在特定墙面上攀爬、移动,又可以完成特定作业任务的自动化机器人[1-2],现已越来越多地应用到大型储油罐表面工程上[3],但由于罐体表面安置摄像头以及一些不确定障碍物,对爬壁机器人作业存在阻碍作用,这要求爬壁机器人能够及时躲避这些障碍物并继续工作[4-6]。

爬壁机器人作业时的避障控制属于局部避障控制,现有应用于运动体局部避障的方法主要有:文献[7]应用改进可视图法,通过传感器建立障碍物与运动体之间的连线,同时建立目标点与障碍物之间的连线,将建立的各个连线组建为可视数学模型,然后指挥运动体避开障碍物最后达到目标点;文献[8]改进了人工势场法,建立目标点与运动体之间的引力,障碍物与运动体之间的斥力,通过引力与斥力的不断作用使得运动体能够灵活地避开障碍物,向目标点移动;文献[9-10]应用VFH(vector field histogram)法解决复杂模型的问题,利用高精度的传感器对作业面建模二值栅格单元,经过不断地探测,对每一个栅格内的值进行累积,控制运动体按照无障碍物的栅格行走;文献[11-12]提出模糊控制避障,将运动体与障碍物之间的距离作为模糊控制器的输入,由其内部演算输出速度与角速度,从而避开障碍物行走。

以上算法在运动体局部避障领域都取得了较好的成果,但由于爬壁机器人运动受到垂直重力、壁面吸附力以及壁面支撑力的作用,为减小复杂控制模型的影响,模糊控制因为不用考虑被控对象内部模型,在爬壁机器人避障控制中具有较好的实用性,但是在一般模糊避障控制中,仅仅将障碍物与运动体的距离量作为输入,将影响运动体到达目标的效率,所以需要对模糊算法中输入量的选取进行改进。同时考虑到爬壁机器人的作业环境及要求,受环境影响,爬壁机器人探测如果出现问题,则不能继续进行工作,所以在模糊控制避障的基础上进行增加控制策略,以提高避障的可靠性。综上分析,本文以模糊控制为基础进行避障控制系统的设计。

1 爬壁机器人避障控制系统设计

在爬壁机器人的避障行为中,传感器相当于爬壁机器人的“眼睛”,选取精度可达3 mm的HC-SR04高精度传感器以保证探测的精度,并且探测距离可以达到0~4 m[13],在罐体作业这种环境下游刃有余;传感器需要将探测信息传递给控制器处理,同时考虑到改进模糊算法的复杂度,选取STM32F103C8T6作为主控器,其内部集成ADC,且具备较高的性能与抗干扰能力。基于此,设计爬壁机器人避障控制系统结构如图1所示。

图1中,由安装于爬壁机器人本体上的超声波传感器HC-SR04探测到障碍物体的信号,经过主控制STM32F103C8T6上的AD口送入避障模糊控制器,经过避障模糊控制器的内部作用输出控制参数经过DA口转换,再通过主控器送入爬壁机器人的本体驱动单元,驱动爬壁机器人进行避障动作。另外在电机部分增加反馈,提高避障的实时性。

图1 避障控制系统结构图Fig.1 Structural diagram of obstacle avoidance control system

其中,AD转换和DA转换接口都集成在主控器STM32F103C8T6中,HC-SR04传感器为集成模块,所以根据所设计爬壁机器人避障控制系统结构中,最重要且需要填补的是避障模糊控制器部分,模糊控制器一般结构如图2所示。

图2 模糊控制器组成结构Fig.2 Composition of fuzzy controller

根据模糊控制器的组成结构,避障模糊控制器需要由以下部分组成[14-15]。

(1)确定避障模糊控制器的输入、输出变量。

(2)设计各个输入变量的基本论域,将各个变量连续论域量化为离散的模糊论域,设计量化因子完成模糊化的过程。

(3)对输入变量以及输出变量中模糊论域的变量进行取值,即确定模糊变量的隶属度函数,组成推理机中的数据库

(4)设计模糊推理的规则建立模糊规则表,模糊规则表是整个避障模糊控制器的核心,模糊规则设计的好坏,决定了避障性能的优劣,

(5)反模糊化,根据模糊规则推理出的结果进行解模糊化,输出设计的输出变量以控制爬壁机器人进行下一步动作。

基于此,下面对模糊控制器进行设计并改进。

2 避障模糊控制器设计

根据模糊控制器的结构,首先确定避障模糊控制器的输入变量与输出变量。

2.1 输入输出量选取

考虑到模糊避障控制器需要根据障碍物与爬壁机器人之间的距离来做出下一步判断,而距离量则是根据HC-SR04的探测获得,为准确反映爬壁机器人与障碍物的距离量,设置HC-SR04传感器在爬壁机器人的位置如图3所示。

图3 超声波传感器安装位置图Fig.3 Position diagram of ultrasonic sensor

图3中,将HC-SR04安装在爬壁机器人1~12位置,测取爬壁机器人与障碍物距离,记超声波传感器与障碍物的距离为di(i=1,2,…,12)。由于超声波具有反射作用,超声波反射时与发射方向存在偏角会产生误差,所以,计算爬壁机器人前进方向一边的三个超声波传感器取平均值记为df、计算前进边的左侧三个传感器取平均值记为dl、计算前进边的右侧三个传感器取平均值记为dr。若设编号为1、2、3的HC-SR04为爬壁机器人的前进方向,则有:

(1)

(2)

(3)

舍弃编号为7、8、9传感器的测量值。根据式(1)~式(3)可得爬壁机器人前方与障碍物的距离,左侧与障碍物的距离、右侧与障碍物的距离,为爬壁机器人躲避障碍物,以及转向问题做好了信息提取。

但是,距离变量只是能够识别障碍物,在避障行为中,当爬壁机器人已知障碍物距离,需要转向避开继续向目标点行进,而转向移动受目标点影响,在局部避障问题中,目标点的约束不允许爬壁机器人朝背离目标点行走。目标点与爬壁机器人之间的联系由距离与角度2个参数决定,其中,距离参数类似于障碍物与爬壁机器人之间的影响,在距离不大时有明显作用,而角度信息则会一直影响爬壁机器人的转向策略。所以,将目标点与爬壁机器人的角度信息增加到避障模糊控制器的输入变量,使得对爬壁机器人避障转向的问题约束力更强,如图4所示。

图4 爬壁机器人与目标点坐标示意图Fig.4 Diagram of coordinates between wall climbing robot and target point

目标点与爬壁机器人的航向之间的角度,记为参数α,定义目标点位于爬壁机器人前进方向的右侧则α为正值,目标点位于爬壁机器人的左侧则α为负值,根据现场爬壁机器人朝向目标点行走约束,不允许爬壁机器人背离目标点行走,所以α的取值范围为(-π, π]。

综上取避障模糊控制器的输入为df、dl、dr以及α。

爬壁机器人在避障的行为中,最根本的是行走加转向,使得爬壁机器人能够避开障碍物向目标点行走,所以选择爬壁机器人的速度v、角速度ω作为避障模糊控制器的输出。确定了输入输出参数,下面需对各个参数的基本论域与模糊论域进行设计,为模糊规则的建立奠定基础。

2.2 论域、隶属度、量化因子及比例因子的确定

2.2.1 输入变量df、dl、dr

根据HC-SR04的探测范围为[0,4],取df、dl、dr三个输入变量的基本论域均为[0,4],将基本论域量化为3个数量等级,取模糊论域取为{0,1,2}。于是得到输入变量df、dl、dr的量化因子Kd为

(4)

对于距离变量基本论域中的任意元素乘以量化因子即可得到相应的模糊论域中的元素,即对任意的di∈[0,4](i=f,l,r),通过式(5)模糊化得到相应模糊论域元素。

D=⎣Kddi+0.5」=⎣0.5di+0.5」

(5)

式(5)中:⎣ 」为向下取正算子;D为di对应的模糊论域元素。

在确定了变量论域之后需要建立模糊论域的隶属度函数来得到模糊论域元素的函数值。由于爬壁机器人与障碍物的距离的程度只能用远近来形容,因为爬壁机器人作业过程中,遇到障碍物就需要及时避开,防止躲避不及时造成损失较大,同时为简化模糊规则的设计,取df、dl、dr的模糊子集均为{S, B},S、B分别表示爬壁机器人距离障碍物的距离较小,距离较大,其隶属度函数采用等腰三角形函数来确定,如图5所示。

图5 df、dl、dr隶属度函数Fig.5 Membership function of df,dl,dr

2.2.2 输入变量α

目标点与爬壁机器人行走方向之间的角度输入变量的取值范围为(-π/2, π/2],所以取α的基本论域为(-π/2, π/2];将α的连续基本论域量化为5个等级,相应地取模糊论域为{-2,-1,0,1,2},于是得到角的量化因子Kα为

(6)

于是对应α中模糊论域的元素A为

A=⎣Kαα+0.5」=⎣1.27d+0.5」

(7)

对应于模糊论域,设计模糊子集为{NB,NS,ZO,PS,PB},分别表示α为负大、负小、0、正小、正大,其隶属度函数用等腰三角形来确定,如图6所示。

图6 α隶属度函数Fig.6 Membership function of α

2.2.3 输出变量v

现场作业中,由于爬壁机器人自身的重力较大,其速度不会太大,正常作业行走速度大约在0.5 m/s以内,所以设输出变量v的基本论域为[0,0.5],将v的连续基本论域量化为4个等级,取其模糊集合为{0,1,2,3}。所以v的比例因子Kv为

(8)

速度描述划分为模糊论域{Z,S,M,B},分别表示速度为0、速度较小、速度适中以及速度较大,其隶属度函数采用等腰三角函数确定,如图7所示。

图7 v隶属度函数Fig.7 Membership function of v

2.2.4 输出变量ω

为防止转向太快,出现意外的情况,不易控制,爬壁机器人在罐体表面作业时的角速度一般也控制在1 rad/s以内,所以取ω的基本论域为[-1,1],与输入变量α类似,由于ω的转向存在正负值和其值的大小程度,取{-2,-1,0,1,2},可得输出变量的比例因子Kω为

(9)

令ω模糊集合为{NB,NS,ZO,PS,PB},分别表示爬壁机器人向左以大弧度行走,向左以小弧度行走,直行不转向,向右以小弧度行走,向右以大弧度行走,其隶属度函数采用等腰三角形函数来确定,如图8所示。

图8 ω隶属度函数Fig.8 Membership function of ω

综上,确定输入变量与输出变量的基本论域、模糊论域、量化因子、比例因子、模糊子集以及各自的隶属度函数,基于此,下面设计模糊控制规则。

2.3 避障模糊规则设计及模糊推理

模糊控制规则是爬壁机器人避障性能的根本,将爬壁机器人避障“思路”类比于人类驾驶汽车时遇到前方障碍物躲避的思路建立模糊规则。

假设三个传感器探测到的障碍物距离均为较远,且目标点与爬壁机器人行走之间的正向夹角较大,为保证安全使爬壁机器人以中速,较大角速度行走,即:Ifdf=B,dl=B,dr=B andα=PB,thanv=M,ω=PB。

假设三个传感器角度均较远,且目标点与爬壁机器人行走之间的正向夹角较小,则可以使得爬壁机器人以高速,向右以较小角速度行走,即:Ifdf=B,dl=B,dr=B andα=PS,thanv=B,ω=PS。

同理可得:

Ifdf=B,dl=B,dr=B andα=ZO,thanv=B,ω=ZO;

Ifdf=B,dl=B,dr=B andα=NS,thanv=B,ω=NS;

Ifdf=B,dl=B,dr=B andα=NB,thanv=B,ω=NB;

Ifdf=B,dl=B,dr=S andα=PB,thanv=M,ω=PB;

Ifdf=B,dl=B,dr=S andα=PS,thanv=M,ω=PS;

Ifdf=B,dl=B,dr=S andα=ZO,thanv=B,ω=ZO;

Ifdf=B,dl=B,dr=S andα=NS,thanv=M,ω=ZO;

Ifdf=B,dl=B,dr=S andα=NB,thanv=M,ω=ZO;

由以上思路共可建立2×2×2×5=40条模糊规则,将其整理为避障模糊规则表,如表1所示。

表1 避障模糊规则

上述避障模糊规则均可用语句:Ifdr=A,df=B,dl=C andα=D thanv=E,ω=F来描述。其中,A为dr模糊论域上的元素;B为df模糊论域上的元素;C为dl模糊论域上的元素;D为α模糊论域上的元素;E为v模糊论域上的元素;E为ω模糊论域上的元素。根据Mamdani推理法[16],由表2可生成40个控制规则Rv和Rω,其公式表示为

(10)

式(10)中,×为叉乘运算算子;°为合成运算算子;i为第i条控制规则。

所以,总的模糊规则为

(11)

对于任意条件dr、df、dl以及α对应模糊论域元素A′、B′、C′以及D′,可以得到v、ω对应的模糊推理结果E′和F′分别为

(12)

由此便得到了模糊推理结果,最后还需进行解模糊化处理。

2.4 解模糊化与输出

通过推理得到的模糊推理结果仍然是模糊控制器内的数据,不能直接作用于外部控制器,而需要解模糊化将模糊信息量转化为控制器可以处理的外部数字信息量[17]。为增大爬壁机器人避障控制精度,对于信号变化较微小时,仍能做出响应,避免在重要作业时出现问题,所以应用重心法来解模糊化。对于v中模糊推理的结果,在模糊论域{0,1,2,3}上的模糊集合V,其隶属度函数与横轴组成了一块面积,取该面积的重心作为输出结果v0,有:

(13)

同理,角速度ω解模糊化的输出ω0为

(14)

由2.2.3、2.2.4节所求得的速度比例因子Kv=0.167、Kω=0.5,再根据输出变量模糊论域到基本论域的变换函数求得对应解模糊化的输出值:

(15)

将求得的输出值,传递给主从控制器分配速度、角速度值给轮部电机组,每个电机组再根据协调控制分配给各个电机转动,从而控制爬壁机器人按预定的方向转向或行走。

综上,对避障模糊控制器设计完成。但由于罐体作业环境的复杂性,考虑传感器受环境变化影响较大,保证爬壁机器人避障的高可靠性,在避障系统设计中增加优雅降级功能。

3 优雅降级策略的设计

爬壁机器人作业环境为大型油罐体表面,而大型罐体表面偶尔会出现环境突变的情况[18],比如粉尘浓度过大与罐体周围空气分子作用,再加上温度的影响,超声波传感器会出现异常情况,爬壁机器人探测不到障碍物,可能会撞上物体,因为爬壁机器人机械结构的硬度以及作业时速度不大的特点,对爬壁机器人本体影响较小,但是如果现场工作为紧急作业,将对作业的影响是巨大的,所以,在爬壁机器人“眼睛”暂时不能正常工作时,为保证爬壁机器人与障碍物相撞后,能有效进行作业,在软件设计中增加优雅降级策略,如图9所示。

图9 优雅降级控制策略Fig.9 Graceful degradation control strategy

(1)当爬壁机器人周围有障碍物时,首先判断超声波传感器HC-SR04是否正常工作,如果正常可以探测到障碍物,则启动模糊控制器进行避障。

(2)若HC-SR04受到外界影响不能正常工作,爬壁机器人不能有效避障,导致与周围障碍物碰撞,这时需要在爬壁机器人本体中增加定位芯片MPU6050[19],MPU6050中的加速度计与陀螺仪共同判断爬壁机器人是否受到冲击力作用,若受到冲击力则判断爬壁机器人与障碍物相碰撞,需要实施逃离障碍物的行为,行为可设定为反向以一定角度行走一段距离,同时可生成一定的扰动信号,防止爬壁机器人静止,避免电机堵转损坏。

(3)但是若MPU6050硬件同样受到环境影响不能有效判断冲击力,或者冲击力过小不能判断出来,则需要根据爬壁机器人因为障碍物阻碍的原因而造成电机堵转,若没有检测到堵转,通过MPU6050验证爬壁机器人的位置是否改变,不变则增加一个扰动信息使得爬壁机器人继续移动;但若是爬壁机器人的电机堵转,则采用逃离策略使得爬壁机器人离开障碍物。

4 仿真验证

根据爬壁机器人模糊控制器以及优雅降级的避障设计方案,基于MATLAN仿真平台,取爬壁机器人的工作面积为550 m×600 m,设爬壁机器人的起点为(0,0),终点为(500 m,550 m),在工作面随机分布40个障碍点,并与人工势场法作比较进行避障部分的仿真,结果如图10所示。

图10 爬壁机器人避障仿真Fig.10 Simulation of obstacle avoidance for climbing wall robot

图10中,爬壁机器人避障过程中,由于受到重力的影响,人工势场法存在一定的局限性,如图10(a),当运动到(250 m,150 m)点附近时与障碍物相碰撞,在点(300 m,200 m)左右与障碍物相碰撞,避障的可靠性较低;而在改进后的模糊控制中如图10(b),爬壁机器人能在遇到第一个障碍物时能够有效避开,并在避开之后,由于目标点变量作为模糊输入,能够很好地跟踪目标点和起点的连线进行运动,同时能够良好地避开障碍物,整个运动过程较平滑,效果较理想。

若超声波传感器工作异常导致撞到障碍物,则启用优雅降级策略,根据目标点与起始点位置,其理想轨迹斜率为500/500=1,为测试优雅降级策略,在仿真中设置点(100 m,100 m)为一半径为15 m的障碍物点,使得在碰撞该点前,HC-SR04暂定工作,其效果如图11所示。

图11 优雅降级策略避障仿真Fig.11 Obstacle avoidance simulation of elegant downgrading strategy

从图11中可以看出,当爬壁机器人碰撞到第一个障碍物时,采用了逃离行为,即以-90°的角度向左行走,之后再继续进行模糊避障。所以该策略可有效避免爬壁机器人撞上障碍物后电机堵转的情景,同时也可以继续行走至目标点进行作业,减小不必要的损失。

综上,通过仿真验证了爬壁机器人避障模糊控制器设计的可行性,以及对优雅降级策略设计的实用性。

5 爬壁机器人避障实验

为保证爬壁机器人能够在罐体表面上可靠地进行工作,下面对本文避障算法进行实验验证。将爬壁机器人置于实验钢板位置坐标(4.5,8)位置,在其下方(5,2.7)位置放置一黑色磁铁作为障碍物,并设置目标点为障碍物下方(5,0),实验过程如图12所示。

图12 爬壁机器人避障实验Fig.12 Obstacle avoidance experiment of wall-climbing robot

如图12所示,爬壁机器人探测到障碍物距离,于是在1 s内做出反应,向障碍物的右方行走,图12(c)显示已经到达(3,7)位置,在2 s时已经可以看到将要越过障碍物,这里由于实验板面积约束,发出中断使爬壁机器人停止运动,但已经能看出爬壁机器人已经探测到障碍物并进行了避障行为,说明本设计的可行性。

6 结论

设计了爬壁机器人避障控制系统,其中最主要的是避障模糊控制器的设计。

(1)根据模糊控制器的基本结构,首先确定了以3个方向探测到的距离以及目标点的角度作为输入变量,以速度、角速度作为输出变量,建立了输入输出变量的论域及其隶属度函数,同时解算出了输入各变量的量化因子和计算模糊论域的公式,可进行输入变量的模糊化;另外解算出了各输出变量的比例因子,为解模糊化奠定了基础。

(2)参考驾驶员遇到障碍物躲避的习惯,即以人的经验建立了爬壁机器人避障模糊规则表,通过总结归纳,模糊推理采用Mamdani推理法求得了控制规则Rv和Rω,给出一般条件下避障模糊推理的输出公式。

(3)将避障模糊推理的输出,根据重心法对模糊推理结果进行解模糊化,再根据输出变量的模糊论域到基本论域的变换函数与比例因子,求得实际的输出变量v和ω,控制爬壁机器人进行局部避障动作。

(4)进一步考虑爬壁机器人罐体表面的环境因素或其他因素的影响,在避障控制器的软件设计中增加优雅降级策略,使得爬壁机器人在探测传感器暂时“失灵”的情况下,能够继续进行作业。

(5)将设计好的避障模糊控制器进行仿真验证,结果表明模糊控制方法可有效躲避障碍物,最后到达目标点,整个避障过程较平滑,效果良好;同时验证了优雅降级策略的可行性,有效提高爬壁机器人作业时避障的可靠性。

(6)将避障控制算法进行了实验验证,当爬壁机器人靠近障碍物时能够有效地转向行走以躲避障碍物,说明本文设计的可行性。

猜你喜欢

模糊化论域障碍物
([0,1],[0,1])-模糊拟阵的基和秩函数
基于Simulink变论域算法仿真技术研究
着舰指挥官非对称变论域模糊引导技术
基于变论域模糊控制的Taylor逼近型内模PID算法
餐饮娱乐空间的“边界模糊化”态势探讨——餐饮娱乐空间设计专辑
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
赶飞机
双论域上基于加权粒度的多粒度粗糙集*
我国村级环境政策末端执行模糊化问题研究