基于点云的机器人钢网焊接路径规划方法
2021-07-20张园凯马立新王秀晶崔毅刚田新诚
张园凯,马立新,王秀晶,崔毅刚,田新诚
1. 山东大学 山东济南 250061
2. 欧德神思软件系统(北京)有限公司 山东济南 250101
3.中国重汽集团济南动力有限公司 山东济南 250220
1 序言
当前,焊接机器人的示教回放模式在工业生产中仍然发挥着重要的作用。这种模式下,在焊接前,复杂的示教和编程工作必不可少,且这项工作对操作人员的技术水平有很高的要求。为了克服上述问题,许多研究者利用不同传感器对不同工件进行焊缝提取和焊接路径规划进行了研究。
在进行焊接机器人的研究中,三维视觉传感器应用较为广泛。机器人焊接任务中常用的三维视觉传感器有线性结构光视觉传感器[1]和三维面阵结构光视觉传感器[2]。线性结构光只能获得局部信息,多用于焊缝的在线识别和跟踪,不适用于焊接机器人的离线三维路径规划。三维面阵结构光可以获取焊接环境的全局信息,适用于焊接机器人的离线三维路径规划。采用三维面阵结构光传感器产生工件点云并对点云进行处理,已经成为一种实现焊接机器人的无示教、免编程进行路径规划的新方案。
随着社会和基础设施建设的发展,钢笼、钢网等结构件得到了广泛的应用,但钢网焊接时交叉点较多,导致示教过程繁琐。采用点云处理对钢网焊接路径进行规划,是解决焊接机器人焊接前复杂的示教和编程问题的重要方法。
本文提出了一种基于点云的钢网焊接路径自动规划方法,实现了焊接机器人的焊接路径规划,无需示教和编程。
2 试验平台配置与框架
2.1 试验系统
试验平台的机器人焊接系统如图1所示。该系统由焊接执行系统和三维视觉系统两部分组成。焊接执行系统包括焊枪、送丝器、机械臂、机器人控制器和十字钢网,用于完成钢网交叉点的焊接。该三维视觉系统[3]包括三维面阵结构光相机和工业计算机(IPC),用于获取摄像机视野内的十字钢网的三维信息。
图1 机器人焊接系统
本文采用的钢网模型如图2所示,钢网模型的上下钢筋搭接处有缝隙。上部钢筋由左右两个固定尺寸的支撑板支撑。
图2 钢网模型
2.2 系统框架
在基于点云的钢网焊接路径规划过程中,首先,通过工业机器人控制器将机械臂移动到钢网上方,将摄相机视场调整到合理范围,记录此点位为拍摄点。对于一张钢网,由于相机视场拍摄到的交叉点有限,所以我们连续移动机械臂,多次记录拍摄点生成拍摄路径;然后,机器人控制器依次从IPC读取拍摄点,并控制机械臂到达该点,打开相机拍摄形成点云,通过MicroB传输到IPC;最后,IPC通过相关点云处理方法计算出3D摄相机视野内钢网的焊接路径,并将焊接路径发送给机器人控制器。待机器人按照机器人控制器指令完成当前拍摄点的焊接任务后,再继续下一个拍摄点的焊接任务。
3 点云预处理
3.1 点云滤波
初始钢网点云包含了相机视场内的所有特征,为了防止不相关特征对钢网焊接路径规划的干扰,对初始钢网点云采用直通滤波进行过滤。直通滤波器的原理是沿着指定的维度执行截取,也就是说,删掉指定范围内或外的值[4]。该方法对初始点云的过滤主要是去除支撑平台的点云。由于拍摄距离和姿势基本不变,所以第一次拍摄时确定的滤波参数可以在后续拍摄中使用,提高了处理效率。直通滤波示意如图3所示。
图3 直通滤波示意
点云直通滤波后,还剩下钢网点云和背景点云。此时,通过点云分割去除背景点云,即可得到独立的钢网点云。利用点云库中的平面点云分割算法去除背景平面点云。当使用点云库中的点云分割算法时,首先,选择模型类型为平面(SACMODEL PLANE);然后,使用随机样本一致性(RANSAC)方法作为选择的鲁棒估计,得到了该平面。最后,通过设置距离阈值对平面模型点云和离群点云进行分类,所有距离小于阈值的点视为内点,其他点视为离群点,保留内点就可得到去除平面后的钢网点云。背景平面点云的厚度约为6mm,因此将距离阈值设为6mm。背景点云去除后的钢网点云如图4所示。
图4 去除背景后的钢网点云
3.2 独立钢筋点云分割
在钢网焊接路径规划过程中,需要对钢筋点云进行线性拟合等操作。因此,可以通过点云聚类的方法将同一钢筋的点云分为同一类,形成独立的钢筋点云,以便于后续操作。
钢筋点云聚类的方法与点云平面分割方法相似。使用点云库里的线性模型(S A C M O D E L LINE)。直线也用RANSAC方法[5]作为选择的鲁棒估计,再通过设置距离阈值确定内点和离群点。通过程序设置,迭代进行拟合,将每条线的内部点分别存储,获得4个独立的钢筋点云,分割完成的点云如图5所示,其中4种颜色代表4根钢筋。
图5 分割完成后的钢筋点云
4 焊接路径规化
通过点云预处理操作,将钢网点云划分为独立的钢筋点云。在此基础上,获取钢网的焊接点坐标,最终实现钢网的焊接路径规划。
4.1 基于半径离群点去除的点云滤波
如图6所示,当3D相机主光轴与钢网平面的夹角为90°±5°时,捕获的点云是每根钢筋的上半部分,并且点云沿z轴逐渐稀疏。此时,采用SVD方法对各钢筋点云进行线性拟合。根据奇异值分解法的原理,拟合直线位于钢筋点云中心轴线与上表面之间。
图6 钢网点云的三视图
图7为十字交叉钢筋的俯视图,从中可以看出,十字交叉的两根钢筋的公垂线是上层钢筋的上表面与下层钢筋的上表面连接的。为了对公垂线的精确求解,需要对钢筋点云拟合线在其上表面的定位进行约束。因此,我们需要使用点云滤波去除钢材两侧的稀疏点,将钢筋上表面的剩余点云作为拟合线的样本点。根据图8中半径离群点去除原理:计算每个点半径d内点的个数,当半径内点的数目小于设定的数目时,该点被删除。滤波完成后的钢网点云如图9所示。
图7 十字交叉钢筋俯视图
图8 半径离群点移除原理
图9 半径离群点移除后钢网点云的三视图
4.2 基于SVD的直线拟合
基于SVD方法拟合空间直线的思路很简单,即最小化所有样本点到拟合直线的距离。
矩阵A的奇异值分解由式(2)求得。
U是一个n×n的正交矩阵。S是一个由r个奇异值沿对角线从大到小排列的方阵,其中,r是矩阵A的秩。V是一个3×3沿列方向从大到小排列的奇异向量矩阵,得到直线的方向与最大奇异值对应的奇异向量相同,因此选择V矩阵的第一列作为拟合直线的方向,将三行一列的奇异向量矩阵表示为Vd。已知直线过点,且求得直线的方向向量Vd,从而得到直线的参数方程为:
拟合线的长度可根据式(3)确定,最后得到的拟合直线如图10所示。
图10 点云直线拟合后的三视图
4.3 求交叉直线的公垂线
在得到钢筋点云的拟合直线后,需要找到交叉拟合直线的公垂直线。如图11所示,1号钢筋和3号钢筋的拟合直线分别设为AB和CD,AB和CD的公垂线是MN。
图11 交叉拟合直线的公垂线
由图11可以得到向量之间的关系式(4):
利用式(4)可以求得k1、k2,进而求得点M、N的坐标。最终求得交叉拟合直线的公垂线段,如图12所示。
图12 钢网交叉处的公垂线
4.4 求交叉钢筋的间隙宽度和焊接点的坐标
焊接路径规划需根据交叉钢筋的间隙宽度确定。当间隙宽度小于2mm时,钢网焊接采用点焊。当间隙宽度大于2mm时,钢网焊接采用弧焊。因此,在确定焊接路径之前,应先计算交叉钢筋的间隙宽度。在得到公垂线段的两个端点MN的坐标后,根据得到的MN长度利用式(5)求得。
公垂线段MN的长度是指下钢筋上表面到上钢筋上表面的距离。因此,公垂线段MN的长度减去上钢筋的直径dup可以得到交叉钢筋之间的间隙宽度。焊接前上钢筋直径已准确测量。
在得到交叉钢筋的间隙宽度后,我们开始规划焊接路径。如图13所示,点P为上下钢筋间隙的中点,点E1是P沿着方向取钢筋1的半径dup/2得到的。点F1、F2是P分别沿着方向取钢筋3的半径ddown/2得到的。点G1、H1是点E1分别沿着方向取钢筋3的半径ddown/2得到的。
图13 焊接路径规划示意
5 试验与结果
在获得钢网焊接路径后,通过误差分析和焊接平台试验结果分析,验证了基于点云的钢网焊接路径规划方法的可行性和准确性。
5.1 误差分析
误差分析是为了验证基于点云的钢网焊接路径规划方法是否满足焊接精度要求,并验证其可行性。首先,求出焊接路径规划所需点的坐标,利用相关点计算出了交叉钢筋的间隙宽度,并与实际交叉钢筋的间隙宽度进行了比较,计算出其误差。最后,根据此误差确定了基于点云的钢网焊接路径规划方法的可行性。在本试验中,3D相机视场中有4根两两交叉的钢筋,生成4个焊接位置。4个焊接位置的交叉钢筋计算见表1。
表1 4个焊接位置的间隙两端的坐标 (mm)
根据间隙两端的坐标,得到了4个焊接位置的间隙宽度和误差,结果见表2。通过计算出的交叉间隙宽度与实际间隙宽度的比较,可以发现最大误差为0.75mm,最小误差为0.49mm,平均误差为0.635mm。相机本身精度为±0.5 mm[7],考虑到3D相机的拍摄误差,可以得出计算得到的交叉钢筋间隙宽度与实际间隙宽度之间的误差满足精度要求。因此,基于点云的钢网焊接路径规划方法是可行的,满足了焊接精度的要求。
表2 4个焊接位置的间隙宽度和误差(mm)
5.2 焊接平台试验结果分析
焊接机器人需要进行合理准确的手眼标定,以实现焊枪前端对焊点位置的准确定位。本试验的手眼标定原理[8]如图14所示。
图14 手眼标定原理
在手眼标定方法中,式(7)适用于机器人运动过程中的任意两种姿态。
根据式(7),我们进行多次标定计算,最后选择误差较小的外部转换矩阵末端T相机。
我们记录了3D相机的拍摄位姿(-272.08,647.67,419,-174.76,3.37,20.09)。根据拍照姿态和外部矩阵,得到了机器人底座坐标系中4个焊接位置的焊点对应的焊枪前端坐标,结果见表3。同时,通过手工教学获得了机器人坐标系中4个焊接位置的焊点对应的焊枪前端坐标,结果见表4。
表3 手眼标定后获得的焊点对应焊枪前端坐标(mm)
最后分析了表3和表4中对应焊点坐标的空间距离误差,误差均在1mm以内,如图15所示。通过实际操作的试验和误差分析,发现所有的误差都≤1mm,在允许的合理范围内,不影响焊接效果。试验证明,本文提出的方法可以在不进行示教和编程的情况下准确地实现焊接路径规划。
图15 焊点坐标与手工教学之间的误差分析
表4 手工教学获得的焊点对应的焊枪前端坐标 (mm)
6 结束语
本文研究了一种基于点云的焊接机器人钢网焊接路径规划方法,为精确规划钢网焊接路径和独立焊接奠定了基础,省去了焊接路径规划中复杂的示教和编程工作。
1)将三维面阵结构光相机应用于工业焊接场景,可以快速方便地获取工件的点云,提高了焊接效率。
2)该方法解决了钢网焊接前复杂的示教和编程问题。通过点云库与数学理论的结合,可以准确地规划钢网的焊接路径,无需在焊接前进行示教和编程,即可完成焊接任务。
3)通过分析基于点云的方法误差和焊接平台试验结果,验证了钢网焊接路径规划方法的可行性和准确性。