基于进化算法的工业机器人自动路径规划

2023-10-21 01:17陈旸CHENYang
价值工程 2023年28期
关键词:适应性适应度交叉

陈旸CHEN Yang

(漳州职业技术学院智能制造学院,漳州 363000)

0 引言

随着人力成本的日益增加,工业机器人在工业生产领域的应用也愈加广泛,但是在采用工业机器人取代传统人力资源时,制约工业机器人生产效率提升的一个关键环节就是路径规划。若采用传统的示教方式进行工业机器人路径规划,一是需要耗费大量的人力与时间,二是由肉眼通过观察得出的规划路径未必是工业机器人的最优运动路径,因此,工业机器人路径规划就成为了工业机器人工业应用中一个非常重要的部分。

1 工业机器人自动路径规划进化算法

已有许多文献研究过了二维空间中机械手的进化算法路径规划[1-3]。染色体由轨迹点列表组成,表示笛卡尔空间中的点或机器人在某一点的关节轴角度,由浮点数或二进制数进行表示。在适应性计算中,许多课题研究都会综合考虑路径长度、轴移动角度、工具中心点(TCP)到目标位置的距离以及可能发生的碰撞。

进化算法(Evolutionary Algorithms)是一种基于种群的搜索算法,它模仿生物进化行为,通过适应性函数判断最优解[4]。进化算法基于达尔文的进化论[5],通过选择算法遗传优秀特征[6]。不同种类的进化算法在染色体的表示上有所不同,例如遗传算法(GA)用二进制数表示染色体,进化策略用实数表示染色体。

进化算法的基本流程图如图1 所示。先进行种群初始化,然后使用适应性函数筛选出优秀个体,接下来执行交叉和变异操作,直到筛选出符合要求的个体或达到固定的迭代次数。

图1 进化算法流程图

适应性函数的设计是决定进化算法能否正确收敛的重要因素。算法3 是适应性函数的伪代码,该伪代码由三个因素组成:路径适应度(PF)、关节适应度(AF)和碰撞适应度(CF)。适应性函数公式如下:

在算法1 中,单点交叉操作的迭代是通过群体的所有染色体的列表来完成的。对于每次迭代,都会生成一个随机数。如果该值小于交叉率(CR),则选择并克隆两条连续的染色体。在下一步骤中,在CrossoverSingle 函数中执行最后的单点交叉。为此,首先随机确定种子点,然后交换代表染色体的两个轨迹点列表中位于种子点前的部分。

算法1:交叉操作

根据算法2 中所示的步骤执行突变操作。该算法在群体的所有染色体的列表中迭代。每个染色体都会产生一个随机数。如果该值较小,则应用突变率(MR)对算子进行突变。最后在单点突变过程中执行突变操作。

算法2:突变操作

进化算法的结束条件可以根据实际需求进行设定,通常会选择超过最大迭代次数,低于某个适应度阈值或超过预定义时间。在本文中,如果在设定的迭代次数内找到无碰撞路径或者在1200 秒之内没有找到符合要求的路径则算法中止。

算法3:适应性函数值计算

2 测试结果分析

我们在仿真环境中进行统计分析,比较不同参数(如突变率(MR)、交叉率(CR)或选择方法(SM))的影响。仿真环境采用ABB 公司提供的软件RobotStudio 进行搭建。如图2 所示。

图2 仿真测试环境

许多参数对进化算法得到的路径结果质量有直接影响。为了确定最佳参数集,进行了一系列测试。首先,确定算法计算需要的参数值:

①起点(WP)1 至5(默认值:2,步长:1,最佳值:3)。

②突变率(MR):决定参与突变的染色体数量,0.1 至0.5(默认值:0.3,步长:0.1,最佳值:0.3)。

③交叉率(CR):决定定参与交叉的染色体数量,0.1至0.8(默认值:0.75,步长:0.1,最佳值:0.6)。

④随机部分选择(RPS):决定用于构成新种群的随机生成的染色体数量。该值用于控制使用选择算子从新群体中选择的染色体数量和随机添加到新群体中的染色体数量,0.0 到0.5(默认值:0.1,步长:0.1,最佳值:0.1)。

所有组合中的每个参数集都运行了十次,并根据路径长度、轴移动和计算时间对结果进行了比较。运行次数设置为10 次,因为初步测试表明,10 次测试的结果方差值较低。表1 显示了分批实验的结果。它显示了所找到的解决方案的成功率、路径长度、计算时间和关节移动角度。成功率是成功找到路径的运行次数与总运行次数之间的比率。例如,80%的成功率表明,在给定的时间内,十次运行中有八次可以找到符合要求的路径。

表1 算法运行结果

3 总结

在本文中,我们提出了一种进化算法,该算法能够在单个机器人场景中计算6 自由度工业机器人的路径。基于成功率、路径长度(PL)、关节轴移动角度(AM)和计算时间等维度对该算法进行了评估。研究表明,进化算法在工业机器人路径规划中起到了巨大的作用。进化算法的一大优点是,外轴有效位置的计算可以通过适应度函数直接集成到路径规划算法中[7]。未来的研究应该进一步仔细考虑进化算法的深度应用,例如整体进化算法(用于优化问题)和模糊搜索逻辑(用于搜索问题)。

猜你喜欢
适应性适应度交叉
谷子引种适应性鉴定与筛选初报
改进的自适应复制、交叉和突变遗传算法
健全现代金融体系的适应性之“点论”
大型飞机A380-800在既有跑道起降的适应性研究
连一连
基于空调导风板成型工艺的Kriging模型适应度研究
基于Fast-ICA的Wigner-Ville分布交叉项消除方法
固有免疫和适应性免疫与慢性丙肝的研究进展
双线性时频分布交叉项提取及损伤识别应用
少数民族大学生文化适应度调查