本发明涉及四轴机械手控制领域,具体地说是涉及scara机械手固定工作平面应用场景下的相机标定及运动过程中的坐标变换。
背景技术:
随着工业化的不断发展,生产自动化水平越来越高,工业机器人应用到各个领域,大大提高了生产效率。目前,scara机械手在工业相机的视觉引导下和运动控制器的控制下可完成工件的高精度定位及装配。主要应用在工业生产流水线上,比如:pcb板上的具有规则完整平面元器件的贴装或插装、待加工工件的有序拾取并放置等。其主要完成工件的搬运和装配工作,同时,考虑到流水线上的协同作业,scara机械手的工作范围还具有可根据实际情况灵活调节的功能。
技术实现要素:
本发明的目的是为了提供一种基于scara机械手在固定工作平面应用场景下的相机标定及运动过程中的坐标变换的方法,从而实现scara机械手的精确控制。
本发明及其技术问题所采用的技术方案是:
一种基于scara机械手的相机标定和坐标变换的方法,包括步骤:
(1)首先将上视相机固定安装在工作平面以下的平台上,然后将下视相机竖直固定安装在scara机械手的第二关节末端并与机械手坐标系、即世界坐标系的z轴平行,此时下视相机可随机械手在工作范围内移动,要求位于机械手第三关节末端的吸嘴能够在上视相机中清晰成像;
(2)采用相机标定技术对上视相机进行标定,得到上视相机的参数矩阵h1;
(3)采用自制的pcb标定板,进行上下视的联合标定,得到下视相机的参数矩阵h2;
(4)计算此时下视相机标定位置的关节角度,通过坐标转换公式计算并记录此时吸嘴的世界坐标;
(5)下视相机成功标定之后,移动下视相机对pcb板上待贴装元件位置进行拍照,计算出待贴装元件的实际目标位置,包括元件中心、元件mark点的世界坐标;
(6)移动下视相机拍照待贴装元件,通过坐标转换公式,计算待贴装元件的位置,并准确吸取;
(7)在机械手移动吸嘴成功吸取到规则元件(暂定为矩形贴片元件)之后,需要进行上视相机过图校正,运用图像处理算法,准确识别元件中心、元件mark点并由标定算法获取两点的世界坐标;
(8)由步骤(5)和(7),经过计算元件中心与元件mark点组成的向量夹角,旋转u轴,保证元件姿态与目标位置平行;
(9)计算吸嘴在目标位置中的世界坐标,即让待贴装元件和目标位置重合;
(10)此时即可计算出目标位置点z(xz,yz)的坐标,控制scara机械手的吸嘴移动到目标位置点z(xz,yz)即可完成正确贴装。
进一步地,所述步骤(3)具体包括步骤:上、下相视对pcb标定板的上下两面同一位置拍照,由于上视相机已经标定成功,所以可利用上视相机得到标志点的世界坐标,并和下视相机所拍照图像中的标志点一起完成下视相机的标定,得到其参数矩阵h2。
进一步地,所述步骤(4)具体包括步骤:机械手在控制器的控制下进行移动拍照,由于机械手是关节型,关节的移动轨迹呈扇形,所以要准确获得此时图像中像点的世界坐标(xw,yw),必须知道第一关节和第二关节的旋转角度α和β,实际使用的旋转角度δ是此时位置和下视相机标定位置时的关节角度之差,并折合到第二关节上,由于下视相机与吸嘴的距离固定,所以不管机械手怎么运动,下视相机所拍图像中同一位置的像点(xp,yp)与吸嘴(xm,ym)的距离
进一步地,所述步骤(8)中,为了保证准确贴装,则待贴装元件必须和目标位置完全重合,这里首先保证待贴装元件的姿态和目标位置轮廓平行,由步骤(5)和(7),可以得出由元件中心和元件mark点的连线组成的两个向量,计算两向量的夹角η之后,控制scara机械手的u轴转动η,使待贴装元件的姿态和目标位置轮廓平行。
进一步地,所述步骤(9)中,由于元件吸取点与实际的元件中心有一定偏差,通过步骤(7),可以得出由元件中心和吸嘴的连线组成的向量
进一步地,所述步骤(10)中,所述scara机械手转动关节移动过程中,只要得到了关节旋转折合到第二关节上的旋转角度δ,控制scara机械手的u轴反向转动δ即可始终保证待贴装元件的姿态和目标位置轮廓平行,即完成正确贴装。
本发明提出的技术方案具有以下有益效果:
本发明的新颖之处体现在下视相机的标定上,采用自制的pcb标定板,上、下视联合标定,然后scara机械手属于多关节型机械手,它的移动过程涉及到关节旋转角度的变化,本技术方案给出了一套完整的坐标转换解决办法。并且针对元件中心的吸取偏差也给出了相应的解决办法。因此本发明可以实现基于scara机械手对元件的准确吸取和高精度贴装,可广泛应用在基于scara机械手的工件装配、视觉测量、平面定位之中。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明的实施例提供的基于scara机械手的相机标定和坐标转换方法的流程图。
图2是过图校正的示意图。
图3是下视相机标定在移动过程中的坐标变换示意图。
具体实施方式
下面结合附图和具体实施例对本发明的发明目的作进一步详细地描述,实施例不能在此一一赘述,但本发明的实施方式并不因此限定于以下实施例。
如图1所示,一种基于scara机械手的相机标定和坐标变换的方法,包括步骤:
步骤s1:首先将上视相机固定安装在工作平面以下的平台上,然后将下视相机竖直固定安装在scara机械手的第二关节末端并与机械手坐标系、即世界坐标系的z轴平行,此时下视相机可随机械手在工作范围内移动,要求位于机械手第三关节末端的吸嘴能够在上视相机中清晰成像。
步骤s2:采用相机标定技术对上视相机进行标定,得到上视相机的参数矩阵h1。
步骤s3:采用自制的pcb标定板,进行上下视的联合标定,即上、下视相机对着pcb上下两面同一块区域拍照,由于上视相机已标定好,可利用上视相机得到pcb标志点的世界坐标,并和下视相机所拍照图像中的标志点一起完成下视相机的标定,得到下视相机的参数矩阵h2。
步骤s4:计算此时下视相机标定位置的关节角度,并记录此时吸嘴的世界坐标,即机械手在控制器的控制下进行移动拍照,由于机械手是关节型,关节的移动轨迹呈扇形,所以要准确获得此时图像中像点的世界坐标(xw,yw),必须知道第一关节和第二关节的旋转角度α和β,实际使用的旋转角度δ是此时位置和下视相机标定位置时的关节角度之差,并折合到第二关节上,由于下视相机与吸嘴的距离固定,所以不管机械手怎么运动,下视相机所拍图像中同一位置的像点(xp,yp)与吸嘴(xm,ym)的距离
步骤s5:获取元件中心、元件mark点的世界坐标,即下视相机成功标定之后,移动下视相机对pcb板上待贴装元件位置进行拍照,计算出待贴装元件的实际目标位置,包括元件中心、元件mark点的世界坐标。
步骤s6:移动下视相机拍照待贴装元件,通过坐标转换公式,计算待贴装元件的位置,并准确吸取。
步骤s7:识别元件中心、元件mark点并由标定算法获取两点的世界坐标,即在机械手移动吸嘴成功吸取到规则元件(暂定为矩形贴片元件)之后,需要进行上视相机过图校正,运用图像处理算法,可以准确识别元件中心、元件mark点并由标定算法获取两点的世界坐标。
步骤s8:由步骤(5)和(7),经过计算元件中心与元件mark点组成的向量夹角,旋转u轴,保证元件姿态与目标位置平行,为了保证准确贴装,则待贴装元件必须和目标位置完全重合。这里首先保证待贴装元件的姿态和目标位置轮廓平行,由步骤(5)和(7),可以得出由元件中心和元件mark点的连线组成的两个向量,计算两向量的夹角η之后,控制scara机械手的u轴转动η,使待贴装元件的姿态和目标位置轮廓平行。
步骤s9:计算吸嘴在目标位置中的坐标,即让待贴装元件和目标位置重合,由于元件吸取点与实际的元件中心有一定偏差,通过步骤(7),可以得出由元件中心和吸嘴的连线组成的向量
步骤s10:scara机械手移动到目标点z(xz,yz),并在后续的scara机械手转动关节移动过程中,只要得到了关节旋转折合到第二关节上的旋转角度δ,控制scara机械手的u轴反向转动δ即可始终保证待贴装元件的姿态和目标位置轮廓平行,从而完成贴装。
图2是过图校正的示意图,下面对在机械手移动过程中的不同位置涉及到的坐标转换加以阐述:
图2中涉及4个不同位置p0、p1、p2、p3(由元件的角点mp标识)。
在p3处(目标位置)时:
由摄像头可得坐标
在p0处(校准位置)时:
由摄像头可得坐标,吸取点b(xb,yb),
进而求解出
然后判断旋转角θ的方向,利用
此时:
若式(2)>0,则u轴逆时针旋转θ;
若式(2)<0,则u轴顺时针旋转θ;
在p1处时:
由摄像头可得坐标
由
由(3),(4)解得b'点坐标:
由上式可得出关于b'点的4组解,对其进行分类讨论:
若
若
若
若
在p2处时:
由图2所示,在从p1移动到p2的过程中,由关节转动可得:
α0+α1+α2=δ(7)
其中关节j1和j2转动的α0,α1,α2,可由机械手本体自带的库函数获得。
图3为下视相机标定在移动过程中的坐标变换示意图。
如图3所示,其中j1和j2为可自由移动的转轴。o-xy为不考虑z方向时的齐次世界坐标系xy。l1、l2、l3、l4为辅助线,平行于o-xy的x轴。p1和p2为机械臂的两个位置。u1和u2为像素坐标对应的世界坐标的位置。l1和l2分别为u1和u2到吸嘴中心的连线长度。
由摄像机和机器人末端的相对位置x不变,我们可以知道l1和l2对应的直线和j2的夹角应该保持不变即:
β1=β2(8)
我们通过分析,工作平面上的点都在同一水平面下,当机器人末端带着摄像机在xy方向上平移运动时,由小孔成像的基本原理我们可知,图像坐标中的两个像素点在对应的世界坐标中的距离是保持不变的。从而由摄像机和机器人末端的相对位置保持不变的条件下,图像坐标中的标志点对应的世界坐标和机器人末端吸嘴中心的距离是恒定不变的即:
l1=l2(9)
l1:为u1到吸嘴中心的连线长度;l2:为u2到吸嘴中心的连线长度。
如图3所示,我们在机器人末端的p1位置对小臂相机ccd2进行固定相机的标定。由于工作平面在同一水平面,且摄像机光轴垂直于工作平面,所以在世界坐标系下,任意标志点p的zw=0。在这种情况下,世界坐标系与摄像机坐标系是平行平面的对应关系,因此其模型可以简化,摄像机外参数矩阵的旋转部分退化为平面旋转,且我们在固定的工作平面内不关心z向的变化。从而我们可以利用前面固定相机的标定方法,求出图像坐标与不考虑z方向时的齐次世界坐标的关系矩阵h。
假设当机器人末端带着摄像机在xy方向上平移运动到了p2位置,在拍摄的图像中有一点u2其像素坐标为(u1,v1),对应在p1位置的相同像素坐标点为u1。我们可以通过关系矩阵h获得在u1处的世界坐标,公式如下:
而吸嘴中心坐标(x1,y1)可以通过控制器获得,这样通过获得u1对应的世界坐标为(xp1,yp1)从而可以算出l1和α1:
其中:
当xp1-x1<0时,
当xp1-x1>0时,
由l1、l2平行,所以可以得到如下公式:
β1=π-θ1+α1(13)
而θ1可以通过机械臂获得:
同理可得
β2=π-θ2+α2(14)
由(8)式可得:
α2=θ2-θ1+α1(15)
在p2位置时吸嘴中心坐标为(x2,y2)可以通过控制器获得,u2对应的世界坐标为(xp2,yp2)。由l2和α2分别为直角三角形中的斜边和夹角可知(xp2,yp2):
xp2=x2+l2×sin(α2)(16)
yp2=y2+l2×cos(α2)(17)
由(15)、(16)和(17)可以得到如下式:
式中:
(x1,y1):下视相机标定位置时的吸嘴中心坐标;
(x2,y2):p2位置时的吸嘴中心坐标;
(xp1,yp1):u1对应的世界坐标;
(xp2,yp2):u2对应的世界坐标。
本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。