孙涛
(广东工贸职业技术学院,广东 广州510510)
超声波传感器具有方向性好、探测范围广、短距离内被测物识别精度高的特点,可将交变状态的电信号,处理为声音信号,也可作为电信号的能量转换元件[1]。目前,超声波传感器在机器人行业,已用于避障、定位、环境探测等多个分支领域[2]。已有研究表明,超声波传感器算法是一种简单、实用的避障理论,但由于物流、电子、精密仪表等场景下工业机器人操作工况的复杂性,障碍物测距常常难以取得理想的效果。当面临障碍物时,受路面行走环境的影响,工业机器人的路径规划能力也有所欠缺[3]。传统的栅格法、神经网络法等避障算法,虽原理不一,但多数技术在实现过程中存在流程繁琐、避障灵敏度低的问题[4]。在工业机器人路径规划技术发展、转化下,遗传算法在静态、动态环境下的避障、路径规划上,均表现出突出的优势,提供一套可靠、精度高的工业机器人避障策略,是有待思考和解决的问题。
超声波传感器避障是利用该算法在工业机器人行走过程中,测量工业机器人和障碍物间的距离,以达到及时避障的目的。为了弥补超声波传感器在短距离内探测精度及路径规划性能不足的问题,在工业机器人避障中引入遗传算法实现智能化的路径规划[5]。遗传算法是在Darwin 的生物进化论、Mendel 的自然遗传学理论上发展而来,主要依托选取编码方式、初始种群产生、确定适应度函数、复制、交叉、变异、收敛判据、约束条件处理等步骤实现。该算法既体现了生物进化特性,又体现了基因遗传特性,它将遗传操作、适应度函数作为依据,在编码串种群中筛选个体,然后在个体筛查中保留适应度高的个体,将之组建为新的种群,经重组后的种群同时有着比上一代优异的个体,还保留了上一代的信息,通过各个体适应度的提升,待满足收敛条件后,待优化参数的最优解选择适应度最高的个体。遗传算法非针对参数自身,而是针对参数的编码操作,可利用目标函数开展适应度的计算,利用概率操作原则、启发式搜索方式,鲁棒性较优,保证工业机器人工作的可持续性。
基于超声波传感器的工业机器人遗传算法包含超声波传感器算法、遗传算法两部分,分别承担工业机器人障碍物检测、路径规划职能,该避障策略的总体框架如图1。
图1 基于超声波传感器的工业机器人遗传算法避障策略流程图
如图1 所示,工业机器人避障的主要程序为:在工业机器人前方、左侧、右侧3 个位置配置超声波传感器,在行进过程中接收超声波传感器探测到的障碍物信息,若无障碍物,则按照正常路线行走,在识别到障碍物时,采用遗传算法进行路径规划。首先,进行初始化设置,按照生成的方式,产生初始种群,进行插值处理。当插值成功时,工业机器人所有操作停止,在插值未成功时,工业机器人向前移动。随后,在工业机器人达到目的地后,则遗传算法整个流程结束,当因各类原因未达到目的地时,再次进行初始化设置,生成新的初始种群,如何循环操作,直至完成设定的任务要求。
超声波传感器避障是文章进行工业机器人遗传算法避障策略设计的关键,该算法利用超声波在单位时间内的移动时间、距离,掌握超声波在空气中从发射器发出信号至接收器收到回波的距离,为工业机器人提供避障指导。为了改善工业机器人在障碍物前的应变能力和精准性,确定了超声波传感器避障算法,即△t=s1t1-s2t2/s2-s1。其中,s1、s2表示已知测量距离,△t 表示延迟时间,t1、t2表示对应的测量时间。
以超声波传感器探测到的周边障碍物信息为基础,采用遗传算法为工业机器人规划最优的路径,主要程序涵盖地图创建与编码、种群初始化、适应度函数计算、操作算法、收敛判据与处理约束条件,如下所示:
2.2.1 地图创建与编码
基于栅格法原理,依据工业机器人在空间内的行走环境,建立工业机器人路径规划模型,在模型内标示环境信息,减少行走过程的碰撞问题。模型创建时,假设障碍物的位置、大小为已知条件,工业机器人处于二维平面空间,模型中用不同的颜色代表自由栅格、障碍物栅格。栅格地图中用直角坐标系描述栅格信息,编码自左下角起编码,以首个栅格(1,1)为例,栅格地图内各编号、坐标换算公式:
X=int(N/Gxize)+1
Y=N%Gsize+1
在上述表达式中,
int 表示取整操作;Gsize 表示各行栅格数。
2.2.2 种群初始化。种群初始化采用随机方式产生,由此生成和障碍物栅格不会造成冲突、碰撞的可行路径,步骤为:先产生间断路径,在各行中均利用随机方式,选取一个正常运行、无障碍的栅格,工业机器人的开始位置、目标方位分别对应首个栅格、最后一个栅格。其次,判断间断路径是否为连续路径,判定方法为:
D=max[abs(xi+1-xi),abs(yi+1-yi)]
在上述判定方法中,当D=1 时,表明两个相邻栅格间为连续关系;
当D<1 或D>1 时,代表两个相邻栅格非连续关系。
2.2.3 适应度函数计算。适应度函数在遗传算法中要求为非负值,考虑到待优化问题的目标函数可能为正值或负值,在问题优化中可将表达式以遗传算法适合求解的形式出现,保证其在优化层面上处于等价关系。假设适应度函数为f(x),目标函数为J(x),则待优化目标函数的线性方式为:
F(x)=α×J(x)+b
其中,在表达式中,α、b 均代表系数,该系数可结合期望的适应度分散水平等确定。由于最小化问题、最大化问题的特征不同,在转化中也需采用对应的转换形式。其中,Cmax 代表截止目前计算中产生的J(x)最大数值,Cmin 代表在分析中J(x)的最小值,两个数值均可参照前期的经验加以设定。适应度函数计算中,可选取如下指数函数方式:
f(x)=cJ(x)
交叉算子中采用随机的方式,在匹配池中筛选两个个体,依据交叉概率将各个个体随机配对,然后对经两两配对的个体交叉繁殖,产生新的个体。而变异算子操作中,将确定变异概率,在0-1 的区间内随机产生一个数值,通过该数值和变异概率比较,当数值低于变异概率时开展变异操作,方法为:排除起点、终点,随机选择两个栅格,最终完成变异过程。
2.2.5 收敛判据与处理约束条件。以解的层面进行遗传算法的收敛判据,判据方式为:在种群中,当某一给定值大于平均适应度的比值,或者种群中最优个体的适应度,代表算法已收敛。同时,以最优解为切入点,当连续几代,甚至在连续几十代的种群中,若发现最优解无显著的发展和变化,即代表算法收敛。在约束条件处理时,主要以字符串编码为核心,进行问题的优化,即整理待优化的问题,分析各变量的上限约束、下限约束,用实际约束变量的上限值、下限值,分别代表字符串形式的最大值、最小值。
以MATLAB 软件为基础,对基于超声波传感器的工业机器人遗传算法开展仿真分析。 以 XX 公司生产的LDARM-WL-300A 工业机器人为试验载体。该机器人定点停靠精度≤10cm,行驶最大速度18km/h。在工业机器人的前方、左侧、后侧3 个方向分别安装超声波传感器测距模块,在行驶中,利用函数line 统计、搜集机器人前方、左侧、右侧的障碍物信息,运用模糊推理测量。在仿真试验中,交叉概率通常取0.4-0.99,变异概率通常取0.0001-0.1,按照工业机器人避障仿真分析需求,设定交叉概率为0.7,变异概率为0.09,优化过程的开始为初始种群,是由算法随机产生的。为全面掌握避障策略的可靠性,分别对障碍物10 个时、障碍物15 个时、障碍物20 个时3 种情况进行仿真分析。障碍物的设置为动态障碍物,研究发现,在动态障碍物影响下,工业机器人在超声波传感器、遗传算法的联合运用下,能够达到理想的避障效果,且可以帮助工业机器人寻找到一条最佳的行走路径,提升机器人避障效率。
文章应用了超声波传感器算法、遗传算法,设计了适用于工业机器人的避障策略。由于该策略不仅关注到了工业机器人移动速度、与障碍物间的距离,还关注到了机器人的避障用时、路径规划效果、路径规划精度,在仿真分析中,该避障策略可以起到良好的避障效果,且可以保证避障的效率,节约工业机器人在工作过程中的资源投入,对于工业机器人的工作实践有着指导意义。