工业机器人六自由度装配序列规划下避障研究

2024-01-26 09:19李林峻李坤全王旭辉
机械设计与制造 2024年1期
关键词:萤火虫力矩叶片

李林峻,李坤全,王旭辉,刘 洋

(1.河南工程学院工程训练中心,河南 郑州 451191;2.河南财经政法大学计算机学院,河南 郑州 450000)

1 引言

在目前的科研中,工业机器人是重要的课题之一,其应用范围广泛。工业机器人能取代人来做各种高风险、高难度的工作。比如,利用工业机器人来焊线路板,或者拆卸炸药等。我国对智能制造逐渐重视,工业智能化迅速地发展起来,尤其是六自由度工业机器人,由于具有较强的灵活性及广泛的应用性,被越来越多的领域所青睐,比如物流搬运、汽车焊接、娱乐服务、太空探索等方面[1-2]。在实际工作中,一般都会有另外的设备、部件存在于机器人附近,甚至有的工作还需要和工作人员协同完成[3-4],因此为了使机器人能够顺利地完成工作任务,就需要对其活动路径进行合理规划,实现对周围障碍物智能、有效地躲避。

近年来,国内外诸多学者关于工业机器人避障路径的规划问题进行了大量研究,并取得了一定的成果,如文献[5]提出了基于决策力的机械臂避障算法。该方法利用闭环控制系统对预规划轨迹进行滤波,保证机器人运动的平稳性和稳定性;采用动态斥力场实现机器人原始避障能力;并为了模拟人类复杂的避障行为和即时决策机制,引入了参数化决策力对所有可行运动进行优化,实现自适应避障规划。但该方法在移动障碍物数量较多的情况下,其避障的成功率难以保障。文献[6]提出首先运用球形包围盒与空间叠加思想对机械臂进行碰撞检测,然后通过关节参数优化的方法实现对机械臂关节活动路线规划。但该方法中设置了大量参数,影响收敛速度,导致效率下降。文献[7]首先运用六次多项式制定机械臂活动轨迹,然后进行碰撞检测并建立适应度函数,最后采用遗传算法优化出无碰撞的路径。但该方法着重对机械臂末端进行碰撞检测,忽视了整体的碰撞问题,运行效率不理想。由此导致上述现有方法在机械臂避障路径的规划性能上均有所欠缺。

针对上述问题,提出工业机器人六自由度装配序列规划下避障研究,优良的装配序列不但能减少生产周期,还能减少生产成本,通过实验研究,所设计方法可以有效、合理地实现对六自由度工业机器人智能避障,具有较好的应用性。

2 六自由度机器人装配序列智能避障

2.1 装配序列可行性及适应度函数构建

装配序列规划是工业生产中非常关键的一步,为了提升六自由度机器人工作可靠性,采用装配序列规划的方式对其进行装配,为六自由度机器人避障提供可靠的支撑。

2.1.1 顶角叶片重力矩差和叶片重力矩分布的干涉关系分析

将六自由度机器人各个零件安装到装配体上时,首先要注意的是零件在进行装配时其序列是否可行。其中装配的可行性指在假设按坐标轴方向安装零件时,不和别的零件产生干涉[8]。评判装配可行性时,顶角叶片重力矩差和叶片重力矩分布的干涉关系是重要影响因素,必须加以考虑[9]。首先要取得装配的信息资料,根据资料再进行顶角叶片重力矩差和叶片重力矩分布的干涉关系分析,完成干涉矩阵设计,为后续构建适用度函数提供依据。

假设六自由度机器人装配体由数量为n的零件构成,描述为{Q1,Q2,…,Qn},干涉矩阵描述为B=(Iijx,Iijy,Iijz,)n×n,其中Iijx是零件Qi叶片重力与Qj的叶片重力矩分布干涉情况,方向为+x,表达式如下:

依据式(1)干涉矩阵的特性,当方向为-x时,可以得出I+ijx=I-ijx。同理通过上述方法可依次类推出其他方向的顶角叶片重力矩差和叶片重力矩分布的干涉关系[10],为零件可行性判断提供支撑。

设定没有进行装配的一个零件序列用B′=(Q1,Q2,…,Qi-1)描述,那么该零件Qi的几何可行性则通过下面公式进行判断:

式中:c—轴向方位,且c的数量是6。如果C=0时,那么说明在此方位上的六自由度机器人装配方案可行,如果C≠0,说明出现了干涉现象。当通过式(2)判断出六自由度机器人装配序列方案可行时,即可进行下一步操作,构建适应度函数,以实现六自由度机器人装配序列方案是否达到最佳的判断。

2.1.2 适应度函数的构建

分析装配序列的可行性后,需要构建适应度函数,判断六自由度机器人装配序列方案是否达到最佳。将装配效率最高、成本最小的装配序列作为根本目标,影响该目标的主要影响因素为平稳性、装配方向调整次数及工具更换次数,将这三个主要因素作为约束条件,建立适应度函数,具体步骤如下:

(1)平稳性分析。通过构建拆卸支撑矩阵的方法可以对六自由度机器人装配的平稳性进行分析。拆卸支撑矩阵描述为:

式中:Aij—矩阵中的一个元素,通常描述Qi对Qj的重力支撑关系。如果Qi能平稳支撑Qj,那么A=1,否则A=0。设定待装配的零件数量用n′描述,这部分零件决定了已装配零件Qi对于装配体的平稳性,利用下属公式来实现平稳性的判断:

若F>0,则说明平稳,若F=0,则说明不平稳。如果出现不平稳操作就会使装配时间增多,为了对该惩罚因子进行量化,可以添加计数器,用ve描述,对于整个装配序号来说,每次产生不平稳操作,计数器就进行加1处理。

(2)装配方向调整次数。对装配方向进行调整,就会相应地增加装配时间,因此在可行装配序列中设置计数器vd,用来记录装配方向调整次数,随着组装方向的调节,计数器就同样进行加1处理。

(3)更换装配工具的频次。在进行装配时,应减少更换工具的次数,同样地在装配序列中设置计数器vo,用于记录工具的更换次数,工具更换一次,计数器就加1。

依据上述三个影响装配效率及成本的约束,对六自由度机器人装配序列规划的适应度函数进行设置,描述为:

式中:a—装配平稳性;b—方向调整次数;c—更换装配工具的频次的权重,且a+b+c=1。根据式(5)的结果来实现六自由度机器人智能避障效果是否达到最佳的判断,当函数D值越小,说明装配序列的效率越高,成本越低,证明该装配序列越好。在完成上述装配序列可行性以及装配方案最佳的判断后,为实现机器人的有效地避开障,接下来对其装配序列方案进行进一步的规划。

2.2 离散化萤火虫算法下六自由度机器人装配序列规划

2.2.1 基本萤火虫算法

在完成装配序列可行性C、稳定性F和适配性D判断后,规划装配序列,以提高六自由度机器人的避障效果。关于萤火虫算法的可行解是通过萤火虫来描述,其适应度由萤光素即萤火虫的亮度来描述,单只萤火虫在迭代的过程中,寻找比自己萤光素多的个体建立邻域集[11],该步骤需在其能感知的区域中进行。当全部的个体都完成感知后,调整感知区域半径及亮度,随后进行下一次迭代。反复操作,最后萤火虫将汇集几个拥有较多萤光素个体的附近,详细步骤如下:

(1)随机设定可行解的数量为m′,表示为x1,x2,…,xm′。

(2)更新萤光素。在进行第k次迭代时,萤火虫xi′更新的亮度描述为:

式中:ℓ—萤光素挥发因子;δ—更新率;f(xi′)—xi′的目标函数,且ℓ ∈(0,1)、δ∈(0,1)。

(3)设定萤火虫感知区域半径用Ri′(k)描述,根据上述式(6)更新后的萤光素,选取萤光素多于本身的萤火虫构建邻域集Ni′(k),为后续位置的更新奠定基础,Ni′(k)描述为;

式中:ri′—xi′的感知半径;‖ • ‖—欧氏距离。

(4)更新萤火虫的位置。萤火虫xi′向xj′移动的公式为:

式中:s—移动步长。

(5)更新感知范围半径。在式(8)更新后的萤火虫位置的基础上,萤火虫在进行第k次迭代时,其感知范围半径更新描述为:

式中:ε—感知范围最新系数;Rs—半径最大值;Nt—能汇聚萤火虫数量的临界值。

(6)根据式(9)更新后的感知范围半径来评判当前迭代次数是否达到预设值,如达到要求则算法结束,反之,则返回至步骤二重新进行运算。

2.2.2 萤火虫算法的离散化

萤火算法是用来处理持续状态下的组合优化问题,但装配序列规划属于离散情况下的组合优化问题。

为此依据装配序列规划的特点,重新定义了萤火虫算法中的萤火虫xi′向xj′移动有关操作,使得到的装配序列规划更好,具体操作如下:

(2)位置和方向相运算执行分离散化操作,以得到相应编码向量的解码,以完成最佳装配序列规划,其解码式表示如下:

式中:—t时刻萤火虫xj′所在的位置—t时刻萤火虫xj′所在的位置;⊕—操作符号。

首先对进行编码操作,生成行向量,再将其和行向量进行加法运算求取新的编码向量,最后对进行解码操作得到替代xi′(k+1)带入式(9)中进行迭代,以快速达到预期条件,获得最优的萤火虫感知范围半径更新值,即得到最佳装配序列规划。为确保六自由度机器人避障路径规划效果,接下来采用改进RRT*算法对所得最佳装配序列规划进行调整修正。

2.3 改进RRT*算法下六自由度机器人避障路径规划

2.3.1 改进RRT*算法

在得到最佳装配序列规划后,对其进行进一步的调整修正,以确保六自由度机器人避障路径规划效果。RRT算法属于搜索算法,该算法获取样本运用的是随机采样的方式,之后将其保存至树状的结构里,再运用树状结构的分支向未被搜索的区域进行探索,直到找到目标。改进RRT*是依据RRT算法的优势,重新选取父节点,以此实现节点持续为邻域内最优,最终使算法收敛于全局最优。

因为RRT*算法具有较大的随机性,所以应对其采样节点实行相应的控制。设定以目标偏置概率p′选取的基准点当作采样点,以提升随机树扩展整体的导向性。通过改变步长的方法扩展随机树节点,若采样点Wrand与距离其最近的节点Wnear间的距离小于扩展步长临界值Sstep,则Wrand为新节点;若大于临界值,则以Sstep为基础向随机点的位置进行扩展。重复上述操作,直至达到目标点位置,扩展公式描述为:

式中:Wnew—新节点。从随机树节点扩展控制及扩展能力检测方面对RRT*算法进行了优化,通过式(11)完成对所得最佳装配序列规划的调整修正,实现精准高效的六自由度机器人避障路径规划。

(1)随机树节点扩展控制策略

为提升算法收敛速度,让随机树迅速地扩展到目标范围,可根据场景中障碍物数量的信息对扩展控制半径进行改变。

(2)随机树节点扩展能力检测策略

由于采用改进的RRT*规划机器人的末端轨迹时,未考虑到机器人的整体碰撞,会造成规划出的路径会产生碰撞或机器人无法到达预期位置,体现在应用中便是该节点为无效节点[12]。另外,当一个有效的结点被过度地扩张时,该算法本身就具有随机性,会造成的浪费,以至于随机树会出现很多无用节点,使路径规划失败。所以在对路径规划前,可先检测随机树节点扩展能力,以避免上述问题的出现。若某一节点Wnear出现多次扩展失效时,则认定其扩展能力弱,记作障碍节点,并对此节点中的信息进行相应的保存。若下一次随机树进行扩展时,仍以障碍节点Wnear作为随机节点Wrand的邻近节点,那么新节点Wnew′便会生成于相反方向。

2.3.2 六自由度机器人避障路径规划步骤

具体路径规划步骤如下:

(1)计算顶角叶片重力矩差和叶片重力矩分布的干涉关系,计算约束条件,设置适应度函数,生成最佳装配序列规划。

(2)随机生成采样点Wrand。

(3)遍历随机树找到距离Wrand最近的节点Wnear,并判断其是否为障碍节点,若不是,则通过式(11)得到新节点Wnew;若是,则新节点Wnew′生成于相反方向。

(4)判断生成的新节点即六自由度机器人末端是否产生碰撞,若出现碰撞,返回(2);反之遍历随机树找到新节点领域内代价最小的节点Wnearest作为新节点的父节点。

(5)判断新节点及其父节点构成的线段即六自由度机器人连杆是否产生碰撞,若出现碰撞现象,则重新返回至(2);如未产生碰撞,跳至下一步。

(6)判断树节点是否到达目标点领域,若未到达目标点领域,则返回(2);反之则按照父节点生成路径,即六自由度机器人的避障路径,最终获取更加满意的避障效果。

3 实验分析

将某型号的六自由度机器人作为实验对象进行测试,以验证所提方法的应用效果。该机器人臂展为650mm,重量为40kg,额定负载为4.5kg。在该六自由度机器人工作空间内设置了一个不规则的顶角叶片重力矩差和叶片重力矩分布,对所提方法应用后的避障效果进行了检测。通过GAZEBO 软件来进行三维建模,实现对所提方法的检验,该软件启动之后,三维模拟结果,如图1所示。图1中有SCENE OBjECTS选项卡,用来添加场景物体,可添加已有模型或者SOLIDWORS构建的模型。

图1 六自由度机器人的三维模拟效果Fig.1 3D Simulation Effect of Six Degrees of Freedom Manipulator

总计60次装配试验,统计不平稳操作、装配方向调整以及装配工具更换次数的实验结果,如表1所示。

表1 装配序列规划效果Tab.1 Assembly Sequence Planning Effect

分析表1数据可知,所提方法规划的六自由度机器人装配序列各项指标均较小,可有效获取装配效率最高、成本最小的装配序列。实现六自由度机器人低成本、高效率无损装配。为验证所提方法的装配序列规划下六自由度机器人的避障效果,接下来在存在障碍物的环境中,对机器人整体移动时的避障路径进行了规划,所得实验结果,如图2所示。

图2 六自由度机器人整体移动时避障路径规划效果Fig.2 Obstacle Avoidance Path Planning Effect of Six Degrees of Freedom Robot During Overall Movement

图2中,一色区域代表障碍物,另一色线条代表六自由度机器人整体移动时的行动轨迹,A代表起始点,B代表目标点。从图中可知,利用所提方法为六自由度机器人整体移动时规划的路径可以准确地判断障碍物的位置,并进行有效避让,最终以最优的线路从起始点到达目标点。由此可能看出,利用所提方法规划出六自由度机器人的避障路径合理且有效。

因机器人避障路径规划的效率及准确性与改进的RRT*算法存在直接的关系,因此选择该六自由度机器人末端的笛卡尔路径作为路径代价,对改进的RRT*算法的渐进优化能力进行测试,得到的结果,如图3所示。从图3可看出,路径代价会随着迭代次数的增加而迅速接近最佳值。迭代次数在50之前,路径代价优化速度较快,由6400迅速降至2000;当迭代次数为200时,路径代价已接近最优值,且变化曲线已处于收敛状态。由此说明改进的RRT*算法的收敛速度快,渐进优化能力较好,可为六自由度机器人的避障效果提供保障。

图3 路径代价的变化趋势Fig.3 The Trend of Path Cost Changes

为了对所提方法进行全方面的衡量,设置三维实验场景,大小为(2000×2000×2000),步长为12mm,最大迭代次数为2200次,目标偏置概率为0.6,同时在实验空间中设置了不同数量障碍物,边长分别为50mm、60mm、70mm、80mm、90mm,经过测试得出的实验结果,如表2所示。

表2 六自由度机器人避障路径规划测试结果Tab.2 Test Results of Six Degrees of Freedom Robot Obstacle Avoidance Path Planning

由表2可知,在不同障碍物环境下,利用所提方法规划出的避障路径,均能有效地避让开障碍物,成功率均处于99.4%以上,并且避障路径规划时间较短,平均用时为2.72s,由此可以看出,所提方法具有较好的适应能力和有效性。

为进一步验证六自由度机器人的避障路径规划效果,进行动态避障测试,在三维模拟场景中,进行10次测试,每次放置的移动障碍物呈递增趋势,来观察机器人是否能够及时避障,并合理规划出路径,统计其规划避障路径成功率结果,如图4所示。

图4 六自由度机器人动态避障成功率结果图Fig.4 Dynamic Obstacle Avoidance Success Rate of 6-DOF Robot

由图4可知,随着移动障碍物数量的增多,其规划避障路径成功率呈现下降趋势。通过所提方法对六自由度机器人进行动态避障路径规划的成功率始终高于预期结果90%,当移动障碍物数量达到10时,其规划避障路径成功率为91.8%。

根据所得结果,可进一步说明所提方法具有较好的适应能力和有效性,应用性强。

为验证所提方法对机器人避障的准确性,将避障误差作为衡量指标进行测试,得到的实验结果,如图5所示。

图5 六自由度机器人智能避障误差测试结果图Fig.5 Test Results of Intelligent Obstacle Avoidance Error of Six Degrees of Freedom Robot

由图5可知,通过所提方法对六自由度机器人智能避障误差较小,最高值不超过0.1,尤其当信噪比为4dB时,避障误差已降至0.02,当信噪比为8dB时,避障误差已基本接近0。由此可以看出,所提方法的准确性和稳定性均较高。

综上所述,所研究方法对六自由度机器人的智能避障有着较好的效果,比较适合用于避障路径的规划。

4 结论

六自由度机器人在作业时,存在的顶角叶片重力矩差难以保证、叶片重力矩分布不够均衡的问题,导致出现碰撞风险。这里提出解决办法,通过分析六自由度机器人装配序列中,顶角叶片重力矩差和叶片重力矩分布产生的干涉关系,依据装配平稳性、方向调整次数及更换装配工具的频次作为约束条件,设置干涉关系矩阵和适应度函数;通过离散化萤火虫算法获取六自由度机器人装配序列最优解。

实验证明,所提方法可准确地判断障碍物的位置,并有效避让,具有较好的渐进优化能力,收敛速度较快;有效避让开障碍物的成功率均处于99.4%以上,且避障路径规划时间短,平均用时为2.72s,准确性和稳定性高,具有较好的性能。

猜你喜欢
萤火虫力矩叶片
月季叶片“雕刻师”
两种喷涂方法在TRT叶片上的对比应用及研究
萤火虫
萤火虫
发动机阻力矩计算和起动机介绍
小型力矩电机波动力矩的测量
弹性负载力矩下舵偏转角度的测量方法
抱抱就不哭了
基于D-最优化理论的陀螺仪力矩反馈测试法
夏天的萤火虫