未知环境下移动机器人路径规划模糊控制器的设计
2018-07-31沈飞
沈 飞
(汉江师范学院 汽车与电子信息工程系,十堰 442000)
移动机器人路径规划是智能机器人研究的一项重要课题,路径规划主要解决3个问题:①使机器人能从初始位置运动到目标位置;②用一定的算法使机器人能避开障碍物;③在完成以上任务的前提下尽可能优化机器人运行轨迹。局部路径规划是在障碍物位置信息未知的环境中,移动机器人仅通过传感器感知周围局部环境和自身状态,从而实现自主避障和路径规划。目前常用的局部路径规划方法主要有人工势场法[1]、模糊逻辑算法、蚁群算法和遗传算法等[2]。与其它几种方法相比,模糊逻辑算法较具有计算量较小,对环境依赖性小,实时性好的优点,对于处理未知或发生变化的环境下的路径规划问题,显示出较大的优越性和较强的适应性。
在此,介绍了一种移动机器人路径规划模糊控制器的设计方案,并且针对超声波传感器在实际测距时存在的问题提出改进措施,最后通过软件仿真和移动机器人试验平台,对整个设计方案进行了有效性验证。
1 模糊控制器设计
移动机器人路径规划模糊逻辑控制器,利用安装在机器人上的超声波传感器测量与周围障碍物的距离,获取机器人左方、左前方、前方、右前方、右方等5个方向上的测距值,以及预设目标点位置与运动方向夹角信息,以此作为模糊控制器的输入量。模糊控制器对输入变量行模糊推理,得到的模糊输出量是机器人运动方向转角。超声波扫描方向和范围如图1所示,模糊控制功能如图2所示。
图1 超声波扫描方向Fig.1 Ultrasonic scanning direction
图2 模糊控制功能Fig.2 Fuzzy control function
1.1 输入输出变量模糊化
移动机器人路径规划模糊控制系统设计了6个输入信号和1个输出信号。6个输入信号分别为5个方向上的超声波传感器测量的与障碍物的距离值,以及当前机器人运动方向和目标方位的夹角;输出信号为运动方向转角。d1,d2,d3,d4,d5分别为左方、左前方、前方、右前方和右方的测距值;α为机器人当前运动方向与目标方位的夹角;θ为输出的机器人运动方向转角。
超声波测得的距离值d的论域为[0.2,2]m,用语言变量近(NA)、远(FA)来描述;夹角α的论域为[-90°,90°],用语言变量负大(LB)、负小(LS)、正前(Z)、正小(RS)、正大(RB)描述。 输入变量的隶属度函数如图3所示。
图3 输入变量的隶属度函数Fig.3 Membership function of inuput variables
转角 θ 的论域为[-90°,90°],机器人下一步运动方向为左方(TL)、左前方(TLB)、前方(TF)、右前方(TRB)和右方(TR)。输出变量的隶属度函数如图4所示。
图4 输出变量的隶属度函数Fig.4 Membership function of output variables
1.2 模糊推理及路径规划
模糊推理规则是按照人的知觉推理的一种语言表示形式,反映了输入输出变量之间的关系。制定模糊推理规则[3]参考借鉴了人类驾驶车辆的知识和经验,主要实现2个目标:当移动机器人距离障碍物较近时,应改变当前的行进方向以避开障碍物;行进方向趋向目标点。
当机器人距离周围障碍物较远时,机器人的方向转角θ主要由机器人的运动方向与目标方位的角度差α来决定,目的是使机器人的运动方向尽可能趋向目标(α→0),以最短的距离和最少的时间到达目标点;当机器人距离一个或多个障碍物较近时,根据移动机器人距离周围障碍物的远近以及分布情况,采取以避开障碍物为优先控制目标建立模糊控制规则,同时兼顾考虑运动方向与目标方位夹角减小的控制目标。采用IF THEN形式[5]制定的模糊控制规则为
If d1 is FA and d2 is FA and d3 is FA and d4 is FA and d5 is NA and α is LS then θ is TLB
例如,预到达的目标点在机器人当前运动方向的左前方且周围只有一个障碍物的情况下,即α为LS,可编写的模糊规则见表1。
表1 目标方位为左前方的模糊规则Tab.1 Fuzzy rules of left front in direction of target
综合输入变量所有可能的情况共得到5×25=160条模糊规则[6],经过对规则表中的输入变量进行编码并进行特征简化,最终得到30条控制规则,大大提高了模糊控制的实时性。机器人控制器在获取外部障碍物的距离和分布情况以及目标方位夹角情况下,通过模糊推理,得到运动方向的判定。
2 系统硬件结构与数据处理
该移动机器人平台以TI公司的MSP430F5529单片机为核心,设计移动机器人路径规划模糊控制系统。MSP430F5529单片机具有丰富的片内资源,128 kB的Flash程序存储器,8 k的RAM,59个可复用的I/O口,16个12位的ADC通道,2个定时器均具有7个可配置的捕获/比较寄存器,并设有JTAG和SBW两种接口进行在线编程和调试,方便开发。
移动机器人平台由运动机构、传感器测距模块、系统控制模块和电机驱动模块共同组成,如图5所示。运动机构由2个驱动轮和1个支撑轮组成,呈倒三角形分布。其中,2个驱动轮分别由1个步进电机驱动,便于调速和转向;后面的支撑轮没有动力驱动,起支撑和辅助转向的作用。系统控制模块主要负责测距数据处理、模糊逻辑控制以及各种控制信号输出。电机驱动模块由2块步进电机驱动器组成,用于控制两2个电机的起动停止、差速转向和速度。
图5 移动机器人平台Fig.5 Mobile robot platform
2.1 超声波测距模块
为了避免因为安装多个超声波传感器带来的交叉干扰问题[4-6],传感器测距模块由1个超声波传感器和1个舵机组成,超声波传感器模块安装在舵机上,通过控制单片机输出脉冲的占空比可以使舵机在0°~180°之间以任意角度旋转,从而实现超声波传感器对移动机器人左方、左前方、前方、右前方和右方的障碍物距离的测量。
超声波传感器的测距原理,是借助超声脉冲回波渡越时间法来实现的,若超声波脉冲由传感器发出到接收所经历的时间为t,超声波在空气中传播速度为c,则从传感器到障碍物的距离d为[7]
机器人在运动过程中因为与障碍物的距离不断地发生变化,使得超声波传感器每次接收到返回波信号的时间不会完全相同,即测量的时间t会存在一定的误差。另外,超声波传感器测距受障碍物尺寸和形状以及机器人运动时产生的震动等因素影响,容易发生声波的散射、折射和多次反射等现象,测距误差可达cm级。相比之下,当移动机器人静止不动时,超声波测距的不确定因素减少了,测距的精度也就相应得到了提高。因此,考虑将超声波测距动作分为2种情况,即机器人在运动过程中的测距和在静止状态下的测距,对这2种不同情况采用不同的策略来处理测距数据。
2.1.1 运动过程中测距数据处理
由于在机器人运动过程中超声波测距存在上述多种不确定因素,导致采集的数据存在较大误差。因此,移动机器人在运动过程中舵机不启动,超声波传感器只对机器人当前运动方向的正前方障碍物进行探测,并对连续采集的若干次测距数据采用中位值平均滤波法进行处理,处理结果作为当前的测距值。 假定,连续采样数据为x(i)(1≤i≤N),N为样本序列的长度;从采样值中去掉1个最大值xmax和1个最小值xmin,然后计算N-2个数据的算术平均值,得到滤波后的测距值,其中取N=3~9,即
在移动机器人平台避障试验中,取N=7,有效地抑制了回波中的串扰,减小了运动中超声波测距误差,保证了机器人的运行速度平稳。
2.1.2 机器人静止时测距数据
当距离前方障碍物很近时,移动机器人停止前进并启动舵机旋转进行180°扫描,让超声波传感器分别获取5个方向上的障碍物距离[8],并将这些数据送到模糊控制器做进一步处理。在传感器进行旋转扫描测距时,只要保证2次启动超声波测距的时间间隔大于超声波探测系统的扫描周期,即可消除随机干扰,减少测距误差。
2.2 电机驱动模块
系统选用由芯片TB6560为核心的步进电机驱动器来完成移动机器人的速度和方向控制,具有稳定性高、抗干扰能力强的特点。该驱动器可驱动35 V,3 A以下的步进电机,采用细分控制和衰减设置可以有效地消除电机振动。通过接收单片机的16位定时器产生的2路PWM信号以及方向控制信号、使能信号,即可灵活地控制,2个步进电机的转速、运动方向以及启动停止。
根据障碍物和机器人距离远近的变化,需要实时调整机器人的行进速度,防止机器人因移动速度过快而撞上障碍物[7]。当机器人离障碍物较远时,机器人全速前进;当与障碍物较近时,将机器人的速度降低至原来的1/2;当离障碍物很近时,机器人停止前进。
3 系统仿真与试验
为了验证模糊控制方法的有效性,采用Mobotsim机器人运动仿真软件建立系统仿真模型[9],进行编程与仿真。在该软件环境中先对障碍物进行随机布置,并对移动机器人进行基本的参数配置,其中对机器人前方±90°的范围内设置5个测距传感器,传感器相互间隔45°,发射角25°。按照上述模糊控制方法设计程序,并运行仿真以检验模糊控制规则的有效性。仿真显示出机器人的运动轨迹如图6所示,模糊避障控制器能有效地避开机器人周围的障碍物,到达系统设定的目标点。
图6 机器人模糊避障仿真效果Fig.6 Simulation effect of robot fuzzy obstacle avoidance
对移动机器人平台进行测试,在设定前方的目标点的方位和坐标的情况下,机器人能自主避开所遇到的各种障碍物,到达目标位置[10],试验场景如图7所示。
图7 移动机器人试验场景Fig.7 Mobile robot test scene
4 结语
文中讨论了一种移动机器人在未知环境下的实时导航和路径规划的系统设计方案;采用了单个超声波传感器和舵机转向机构组成的测距平台;通过传感器感知环境障碍物信息,应用模糊控制算法实现路径规划,并提出了超声波传感器在测距过程中存在的问题和实际解决办法,减小了障碍物距离测量值的误差。仿真和试验结果均表明,移动机器人在障碍物较少的情况下,能有效地避开周围环境中的障碍物并到达指定的目标位置。