APP下载

基于多目标遗传算法的电梯井道钻孔机器人轨迹规划

2023-11-25俞建峰化春键钱陈豪

机械与电子 2023年11期
关键词:样条种群冲击

倪 奕,俞建峰,蒋 毅,化春键,钱陈豪

(1.江南大学机械工程学院,江苏 无锡 214122;2.江苏省食品先进制造装备技术重点实验室,江苏 无锡 214122)

0 引言

随着城市化发展,高层建筑的数量不断增加,电梯的需求量急剧上升。在电梯导轨的安装过程中,频繁的钻孔操作极大地影响着施工人员的身体健康[1]。为解决该问题,使用钻孔机器人代替施工人员进行钻孔作业。

在机器人应用中,轨迹规划问题一直是机器人的研究热点。在轨迹研究方面,研究人员针对不同的轨迹插值函数进行研究,如多项式、样条、Bezier和NURBS等[2-3]。为提高机器人的工作性能,研究人员在轨迹插值函数的基础上,从最短运行时间、最小能量和最小冲击等方面进行机器人的轨迹规划研究[4-6]。机器人作业过程中,机器人的运行时间长会导致机器人零部件磨损率增加、机器人的寿命减少等,机器人的冲击过大又会导致控制器应力激励增加、机器人准确度和精度降低等问题,因此,研究机器人的多目标性能优化具有重要意义。

针对上述2个方面,本文提出一种使用带约束处理的NSGA-II遗传算法对钻孔机器人的运行轨迹进行时间和冲击性能优化的方法。

1 优化目标

1.1 机器人工作需求描述

由于钻孔机器人的工作环境处于建筑中,为避免钻孔位置处存在钢筋或障碍物等,钻孔机器人在钻孔前需要提前进行井道壁的扫描以确定最终的钻孔布局。导轨孔的预设布局如图1所示。为提高钻孔机器人的作业效率,对钻孔机器人确定钻孔布局的轨迹进行时间性能的优化。考虑到减少运行时间会给钻孔机器人带来冲击振动增加等影响,因此,将冲击性能列入优化目标。

1.2 优化问题描述

由于钻孔机器人确定钻孔布局流程的运行轨迹具有固定和重复的特性,且没有实时性要求,因此,对于钻孔机器人的轨迹规划及优化只需离线进行即可。通过对钻孔机器人进行工作分析可知,钻孔机器人轨迹的优化目标为时间和冲击。通过减少钻孔机器人的运行时间来提高钻孔机器人的运行效率,同时通过减少冲击来减少机械手关节的振动,以增加机械手的使用寿命以及防止钻孔位置的偏移过大。

定义时间的优化目标为

(1)

j为路径点的序号;tj为钻孔机器人到达路径点j所用的时间;S1为钻孔机器人从运行开始到结束的时间值。

定义冲击的优化目标为

(2)

P为机器人的关节值,P的三次导数表示t时刻钻孔机器人的加加速度;M为关节数量;S2为所有关节的平均冲击之和。

2 钻孔机器人轨迹规划

本文对钻孔机器人进行关节空间的轨迹规划,避免了因奇异点的存在而增加机器人规划的复杂度[7]。

2.1 钻孔机器人及轨迹模型建立

根据标准D-H参数法,建立钻孔机器人连杆坐标系,如图2所示。钻孔机器人的每个连杆坐标都以4个参数进行描述,如表1所示,4个参数分别为:θi、αi、ai、di。其中,i表示关节序号,θi表示连杆角度,αi表示连杆转角,ai表示连杆长度,di表示连杆偏距。

表1 5R钻孔机器人D-H参数表

图2 钻孔机器人连杆坐标系

以钻孔机器人坐标系0建立井道的空间坐标系,如图3所示,其中未标出的z轴方向为垂直纸面向外,图中单位为mm。为防止钻孔位置出现钢筋或障碍物,钻孔机器人需对预设钻孔位置进行扫描以确定实际钻孔位置。表2为钻孔机器人在某一层进行工作时预设的钻孔位置。

表2 预设的某一层的钻孔位置

图3 井道工作环境

2.2 B样条曲线轨迹插值

使用B样条曲线进行钻孔机器人的轨迹规划具有连续性好、灵活性强和轨迹平滑等优点。与多项式曲线相比,B样条曲线经过连接点时的振荡更小;与贝塞尔曲线相比,其控制点的影响更小,如使用B样条曲线时,修改其中1个控制点,只影响其周围的一小段区域,使用贝塞尔曲线时会影响整条曲线。

在确定钻孔机器人的关节路径点后,采用高次的非均匀B样条曲线对钻孔机器人进行关节空间的轨迹插值,B样条曲线的方程为:

(3)

(4)

P(u)为钻孔机器人的关节位置;dj为钻孔机器人路径的控制顶点;Nj,k为B样条曲线的基函数;k为B样条曲线的最高次幂;u为B样条曲线的时间节点。

为了使得钻孔机器人能够经过给定的路径点Pi(i=0,…,n),根据路径点和边界条件反算轨迹的控制顶点。同时,为了使得B样条曲线经过首末路径点,定义钻孔机器人关节轨迹由n+k个控制顶点dj(j=0,1,…,n+k-1)和n+2k+1个节点ui(i=0,1,…,n+2k)构成。节点矢量U中,设置首末的节点值u0=u1=…=uk=0,un+k=un+k+1=…=un+2k=1,中间节点值使用累计弦长参数化法对时间点ti进行归一化处理,即

(5)

i∈[k+1,n+k-1]

根据式(4)和式(5)可以列出n-1个插值方程,即

(6)

B样条曲线的各阶导数通过德布尔递推公式求出,即:

(7)

u∈(uk,un+k),i=0,1,…,n

(8)

j=i-k+l,…,i

最后将上述n+k个方程写成矩阵形式,即

P=N·D

(9)

矩阵P由路径点P(u)和边界条件P(l)(u)组成;D由控制点dj组成;N由各控制点前的系数组成。等式两边同时左乘N的逆矩阵,便可反算出控制点矩阵D。

2.3 运动学约束的放大

由于B样条曲线具有强凸包性质,随着B样条曲线阶数的增加,虽然曲线的光滑性得到提高,但是逼近控制点相连轨迹的程度降低,因此需要对运动学约束进行适当的放大,即

(10)

Vi,max、Ai,max、Ji,max分别为钻孔机器人第i个关节最大的角运行速度、角加速度和角加加速度;cv、ca、cj分别为角速度、角加速度和角加加速度的放大因子。可经过多次数值模拟来精确地获取该值。

3 NSGA-II优化算法

为达到提高机器人的工作效率以及减少机器人振动冲击的最终目标,定义多目标优化的数学模型为

(11)

F(x)为问题所要达成的最终目标;[f1(x),f2(x),…,fm(x)]为子目标所在的目标空间;m为目标空间中包含子目标的个数;gj(x)为不等式约束;hk(x)为等式约束。

多目标优化算法的结果往往是一个解集。在解集中,这些解有各自的优势,它们无法在所有的子目标结果上优于另一个解,这种解被称为非支配解,该解集被称为Pareto解集。

NSGA-II多目标优化算法的核心在于对种群的非支配快速排序,隐含着精英保留的机制,很大程度上增强了算法的收敛性[8]。大致流程为:先将总种群按等级划分为多个子种群,对于每一个子种群内部按拥挤度大小进行排序,如图4所示。等级高的种群支配等级低的种群,每个子种群中拥挤度高的个体排在拥挤度低的个体之前。拥挤度的计算式为

图4 非支配快速排序

(12)

dcd为个体的拥挤度;i为个体的序号;j为目标函数的序号;fj为第j个目标函数。处于边界的个体拥挤度设置为无穷值。

NSGA-II优化算法的整体流程如图5所示。

图5 NSGA-II优化算法整体流程

3.1 基于tent混沌映射的种群初始化

直接使用随机函数产生初始群体的方案易导致种群初始化时分布不均,并且可能会伴随出现收敛速度慢、陷入局部最优等问题。为了克服这些缺陷,使用基于tent混沌映射的种群初始化方案[9],通过混沌的遍历性来提高初始种群的多样性,以及有效地提升NSGA-II算法的全局搜索能力。

采用tent混沌映射产生混沌时间点序列的过程为

(13)

k为变量的维数;I为种群的规模;为了保持初始总群的随机性,u随机产生(u∈[0,1])。

将tent混沌序列映射到搜索空间,即

(14)

i为种群中个体的序号;min(ti)为变量ti的最小值;max(ti)为变量ti的最大值。

3.2 不可行值的处理策略

将时间序列作为优化算法的种群进行初始化时,必然会出现某些个体的运动学特性超出约束的现象。为了解决这个问题,定义了第3个决策变量“不可行值”。不可行值φ定义为所有不等式约束的平方和加上等式约束的平方和,即

(15)

gj()为不等式约束;hk()为等式约束;j为不等式约束的序号;k为等式约束的序号。

在种群进化的过程中,为保证种群的收敛性,在父代种群的生成过程中处理不可行值。非支配快速排序过程中,将种群分为2大类,分别为可行种群和不可行种群,可行种群按照常规流程进行非支配快速排序和拥挤度距离的排序,不可行种群仅仅根据不可行值进行排序。父代种群优先从可行种群进行选择,当可行种群的数量不满足所定义种群规模的大小时,再从不可行种群进行剩余种群的筛选。

3.3 算法性能测试

为测试NSGA-II算法的性能,使用Iss指标来评价Pareto解集的分布[10],Iss的值越小,则说明算法的分布性能越好,当Iss值为0,则表示Pareto解集中的每个解都是等距离分布。

Iss的计算式为

(16)

为清晰地表达出所有相邻个体之间欧氏距离间的变化,用Der(i)来表示欧氏距离的误差比率,Der(i)值越小则表示第i个个体和第i+1个个体之间的欧氏距离与平均值越接近,表示2个解之间的相对分布性较好。

Der(i)的计算式为

(17)

3.4 综合最优的策略选择方案

由于使用多目标优化算法所得的结果是1组Pareto解集,决策者难以从解集中确定1个综合性能最优解。为此提出一种解的评估标准“综合比较算子”,通过使用模糊隶属度函数来计算每个个体在所有目标上的隶属度[11],通过归一化隶属度之和来求解“综合比较算子”,即:

(18)

(19)

max(Si)和min(Si)分别为种群中第i个目标函数上适应度值最大和最小的个体;uall为某一个体所有目标的隶属度之和;min(uall)为最小的隶属度之和;max(uall)为最大的隶属度之和;fsyn(j)为第j个个体的综合比较算子。综合比较算子fsyn(j)的范围为[0,1],当fsyn取1时,表示当前个体在整个种群中对所有多目标的综合完成程度最高。

决策者最终可以根据单目标的综合比较算子或者多目标的综合比较算子选择出最合适的轨迹方案。

4 结果分析

本文使用带约束处理的NSGA-II算法对五自由度钻孔机器人轨迹进行优化,旨在减少运行时间和减少运行过程中的冲击。考虑到使用五次B样条曲线进行钻孔机器人轨迹规划时,在启停时刻角加加速度不为0[12],会导致启停时刻机械臂出现振动,为解决该问题,使用七次B样条曲线代替五次B样条曲线进行机器人的轨迹规划。钻孔机器人在各路径点时的关节角位移值如表3所示。

表3 钻孔机器人关节角位移值

各关节的运动学约束如表4所示。在构建钻孔机器人运行轨迹时,设定初末时刻的角速度、角加速度和角加加速度皆为0。考虑到B样条曲线的强凸包性,将角速度、角加速度和脉动的约束放大系数设置为1.8。

表4 钻孔机器人各关节运动学约束

使用NSGA-II算法进行钻孔机器人轨迹优化时,设置的种群规模、父代选择个数和迭代次数等参数如表5所示。在遗传算法中交叉和变异操作直接影响算法的收敛和寻优能力,为了使得算法扩大搜索范围和增加局部多样性,设置较高的交叉概率和较低的变异概率,经过多次试验,交叉概率设置为0.9,变异概率设置为0.14(0.14≈1/7,7为变量个数)[7]。对于分布指数,分布指数越小,新个体会向局部收敛,分布指数越大,个体间的差异增大。由于设置了高交叉概率,因此设置低交叉分布指数以增强算法收敛性,同时设置高变异分布指数使得种群经过变异后个体间存在更多的差异,以增大算法的多样性。经过多次数值测试,交叉和变异分布指数分别设置为10和20。

表5 NSGA-II算法各参数

4.1 算法性能分析

图6为使用优化算法对钻孔机器人轨迹优化后的Pareto解集,该解集为决策者提供了多种不同的运行方案。图6a和图6b分别为算法使用随机函数和tent混沌映射的种群初始化策略时所获得的Pareto解集,图6a中Pareto解集在时间性能上处于36~43 s之间,图6b中Pareto解集在时间性能上处于35~55 s之间。由此可以看出,使用tent混沌映射的种群初始化策略可靠地增加了算法的全局搜索能力。

图6 不同策略下的Pareto解集

图7 相邻个体的Der值

为评价Pareto解集的收敛性,使用单目标遗传算法对比本文所用的多目标优化算法,所得结果如表6所示。表6中带有(time)的方案表示时间性能最优的方案,带有(jerk)的方案表示冲击性能最优的方案,方案1和方案2为使用单目标遗传算法所得结果,方案3和方案4为使用多目标遗传算法所得结果,方案3和方案4分别对应图6b中的方案A和方案B。对方案1和方案3进行比较,方案3为Pareto解集中时间性能最佳的解,2个方案在时间性能上相当。对方案2和方案4进行比较,方案4为Pareto解集中冲击性能最佳的解,2个方案在冲击性能上相当。由上述2对方案的比较可知,Pareto解集的收敛性较好。

表6 各种方案的时间和冲击值

考虑到机器人的时间性能和冲击性能两者存在冲突,即运行时间短的情况下冲击过大,而冲击小的情况下运行时间过长。对钻孔机器人来说,方案3和方案4都不适用。为使钻孔机器人的时间性能和冲击性能综合较好,选用综合比较算子最大的解进行钻孔机器人的规划,Pareto解集中各解的综合比较算子fsyn如图8所示。序号为58的解的综合比较算子为1,即该解为综合最优解,该解的时间值为41.27 s,冲击值为12.80(°)/s3,其时间序列如表7所示。综合最优解相比冲击性能最优解,在运行时间上降低了11.82 s,即时间性能提升了22.26%,相比时间性能最优解,在冲击值上减少了25.6 (°)/s3,即冲击性能提升了66.67%。

表7 综合最优解的时间序列

图8 所有个体的综合比较算子

4.2 轨迹曲线结果分析

使用综合最优解对钻孔机器人进行轨迹规划后的结果如图9和图10所示。图9为钻孔机器人5个关节各时刻的角位移曲线总图,经过的路径点在曲线上标出,角位移曲线光滑且不存在突变。图10a~图10e分别为5个关节各时刻的角速度vi、角加速度ai、角加加速度ji(i=1,2,…,5)曲线。由图10可以看出,使用七阶B样条曲线对钻孔机器人轨迹进行插值,钻孔机器人的角速度、角加速度和角加加速度曲线连续且光滑。在启动和停止的时刻角速度、角加速度、角加加速度都为0,表明使用该插值曲线进行轨迹规划时钻孔机器人具有良好的启停性能。当钻孔机器人的初始角加速度或角加加速度不为0时,会使得机器人驱动器的初始期望力矩不为0,可能导致跟踪误差变大的同时引起机器人的振动。使用综合最优解对钻孔机器人进行轨迹规划不仅能够提高钻孔机器人的运行效率,而且减少了钻孔机器人的振动从而保护了机械臂中的减速器、电机等部件。

图9 钻孔机器人关节角位移曲线

图10 钻孔机器人各关节角速度、角加速度及角加加速度

5 结束语

为提高钻孔机器人的时间性能和冲击性能,本文提出了一种基于带约束处理的NSGA-II的多目标遗传算法对钻孔机器人的运行轨迹进行优化的方法。

a.使用七次B样条曲线规划钻孔机器人的轨迹,有效地解决了三次B样条曲线规划时的加加速度不连续、五次B样条曲线启停性能差等问题。

b.使用改进的NSGA-II算法解决了钻孔机器人时间和冲击性能的优化问题,并给出了多个位于Pareto前沿的轨迹方案。

c.设计了一种用来选择综合最优解的方案选择标准“综合比较算子”,选出的综合最优解具有良好的时间和冲击性能,相比单时间或单冲击的最优解,分别提升了66.67%的冲击性能和22.26%的时间性能。

猜你喜欢

样条种群冲击
山西省发现刺五加种群分布
一元五次B样条拟插值研究
中华蜂种群急剧萎缩的生态人类学探讨
三次参数样条在机床高速高精加工中的应用
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于样条函数的高精度电子秤设计
一汽奔腾CA7165AT4尊贵型车换挡冲击
巴菲特给我冲击最大
岗更湖鲤鱼的种群特征
种群增长率与增长速率的区别