祁 超,喻天祥,刘 坚,王冬梅,成宇韬
(上海船舶工艺研究所,上海 200032)
目前全球造船业竞争激烈,日韩及欧美等的先进造船企业在造船技术、生产效率和产品质量上处于领先地位,我国船舶工业的结构调整转型升级正面临着严峻挑战,而诸如中小组立焊接装备、管件智能加工装备等核心技术一直被国外供应商把持和封锁,为突破国外装备核心技术封锁,补齐短板,需要开展核心技术的自主研发工作[1-2]。
船舶中小组立结构件较为复杂,零件形式、尺寸各异,由于其无批量化加工的特点,因此在应用焊接装备进行中小组立焊接过程中,需要对每个零件进行路径规划。焊接路径规划技术作为焊接装备的关键技术之一,目前国内相关领域并没有成熟适用的软件。在工业领域中,通常使用示教/回放(Teaching/Playback)方法确定机器人运动路径。然而,中小组立焊接作业相对复杂,传统的机器人示教方法对操作人员要求高且难以满足生产节点要求。离线编程(Offline Programming)是一种通过对工作环境及生产对象进行建模,在虚拟环境中利用规划算法对机器人的工作路径进行预先规划的技术。使用离线编程技术生成焊接路径,整个过程在虚拟环境中进行,可有效减少对生产的影响[3-4]。
六自由度通用型机器人结构如图1所示。
图1 机器人结构示例
(1)
式中:q=(θ1θ2θ3θ4θ5θ6) 。
机器人的D-H参数如表1所示。
表1 机器人D-H参数
快速搜索随机树(Rapidly-exploring Random Tree,RRT)[5]算法具有无须预处理且搜索速度快的特点,因此在高维空间中使用具有明显优势[6]。通过RRT算法搜索构型空间,并将所得状态映射至工作空间进行约束检查,从而确定最终路径。RRT算法基本流程如下:
(1)建立随机树RT,将初始状态qi设为RT的根节点。
(2)从机器人的构型空间中随机选取状态qr。
(3)从RT中选出与qr最为接近的节点qn。
(4)计算qn到qr的方向qd,将qn沿qd扩展一段距离Δt后得到状态qs。
(5)检查qs是否满足约束且无碰撞及关节超限,若是则将qs添加至RT。
(6)重复步骤(2)~(5)直至满足目标状态qg或超过最大搜索次数N。
通过将焊接路径根据路径点分段并对每段路径应用RRT算法即可得出完整的运动路径。
对于焊接路径通常会设置如下路径点:
(1)接近点:将机器人从空间位置移动至进枪点。
(2)离开点:将机器人退枪点移动至安全的空间位置。
(3)进枪点:调整焊枪姿态准备焊接。
(4)退枪点:将焊枪撤离焊缝。
(5)焊接起终点:焊缝实际焊接部分的起终点。
图2为路径点设置示例。
位姿矩阵T也可以通过将机器人末端执行器先绕X轴旋转γ角,接着绕Y轴旋转β角,再绕Z轴旋转α角,最后将末端执行器沿坐标系的x、y、z轴分别偏移x、y、z得到。因此T可以使用式(3)表示,将矩阵中的各个元素按行列记为rij得
图2 路径点设置示例
到式(4)。
(3)
(4)
根据式(3)和式(4),可分别获得旋转角α、β、γ的值为
α=arctan 2(r21,r11)
(5)
(6)
γ=arctan 2(r32,r33)
(7)
因此,经过变换可以得到状态qs在工作空间下的状态X[7]为
X=T(qs)=(xyzαβγ)
(8)
通常在焊接路径中对于机器人的末端姿态存在不同的约束,对于末端姿态的6个分量分别定义约束检测函数cx、cy、cz、cα、cβ、cγ,若分量i满足约束则检测函数ci(i)返回0,否则返回误差值。
使用式(9)计算误差e:
e=cx(X)+cy(X)+cz(X)+cα(X)+cβ(X)+cγ(X)
(9)
若e小于等于检查精度ε则状态qs满足约束。
路径点类型不同其约束条件也不尽相同:安全点通常存在位置约束,而焊接过程点通常同时存在位置及姿态约束。
为检验路径规划效果,使用Python实现规划程序,并在1台配置2.2 GHz主频CPU、4G内存的笔记本计算机上进行仿真测试。在第1次试验中,机器人从初始关节状态qi=(0 0 0 0 0 0)移动至目标状态qg=(30 0 30 0 0 45),途中没有设置任何障碍物,机器人生成较为平滑的路径并成功抵达终点。在第2次试验中,机器人同样从初始关节状态qi=(0 0 0 0 0 0)移动至目标状态qg=(30 0 30 0 0 45),途中设置了1个50 mm×100 mm×100 mm的立方体障碍物,机器人在检测到碰撞后终止原路径方向,并通过其他分支抵达终点。2次试验的生成路径如图3所示,图中所使用的坐标系为机器人的工作空间,轨迹线为机器人末端所经过的坐标点。
图3 有无障碍物路径规划对比
中小组立工件具有形式多变、焊缝众多的特点,传统的示教方式操作复杂、对人员要求高。提出一种使用离线编程技术规划焊接路径的方法,通过使用RRT算法能够快速找出可行路径,结合路径点的设置可对每段路径分别指定约束条件,不仅保证在焊接前后机器人能尽快过渡,而且满足机器人焊接的工艺要求。如何快速、有效地确定约束条件将是后续研究的重点。