一种用于机械手定位目标的方法、装置及机械手与流程

文档序号:16846639发布日期:2019-02-12 22:22阅读:201来源:国知局
一种用于机械手定位目标的方法、装置及机械手与流程

本发明属于工业机械臂技术领域,尤其涉及一种用于机械手定位目标的方法、装置及机械手。



背景技术:

在工厂里,通常会用到机械手对产品的进行一系列的操作,例如,利用机械手对产品进行抓取,因此,这就涉及到机械手对产品的定位问题,只有机械手成功定位产品中的目标位置,才能通过改变其自身的姿态从而进行后续的操作。



技术实现要素:

有鉴于此,本发明实施例提供了一种用于机械手定位目标的方法、装置及机械手,以解决现有技术中机械手对产品中的目标进行定位的问题。

本发明实施例的第一方面提供了一种用于机械手定位目标的方法,包括:

获取相机拍摄目标的目标图像,所述相机置于所述机械手末端;

确定所述目标图像中的目标点,并计算所述目标点的像素坐标;

基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标;所述第一坐标系变换矩阵为标定板坐标系到所述像素坐标系的单应性矩阵的逆矩阵;所述第二坐标系变换矩阵为所述标定板坐标系到所述相机坐标系的变换矩阵;所述第三坐标系变换矩阵为所述相机坐标系到所述机械手末端坐标系的变换矩阵;所述第四坐标系变换矩阵为所述机械手末端坐标系到所述机械手坐标系的变换矩阵。

本发明实施例的第二方面提供了一种用于机械手定位目标的装置,包括:

图像获取单元,用于获取相机拍摄目标的目标图像,所述相机置于所述机械手末端;

第一确定单元,用于确定所述目标图像中的目标点,并计算所述目标点的像素坐标;

第二确定单元,用于基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标;所述第一坐标系变换矩阵为标定板坐标系到所述像素坐标系的单应性矩阵的逆矩阵;所述第二坐标系变换矩阵为所述标定板坐标系到所述相机坐标系的变换矩阵;所述第三坐标系变换矩阵为所述相机坐标系到所述机械手末端坐标系的变换矩阵;所述第四坐标系变换矩阵为所述机械手末端坐标系到所述机械手坐标系的变换矩阵。

本发明实施例的第三方面提供了一种机械手,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上第一方面所述方法的步骤。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上第一方面所述方法的步骤。

本发明实施例与现有技术相比存在的有益效果是:

本发明实施例提供了一种用于机械手定位目标的方法、装置及机械手,首先获取相机拍摄目标的目标图像,所述相机置于所述机械手末端;然后确定所述目标图像中的目标点,并计算所述目标点的像素坐标;最后基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。可见,通过上述方式,能够将拍摄得到的目标的像素转换到机械手坐标系中的坐标,从而让机械手得知目标点的位置,进行后续的加工操作等,并且,上述方法还对第三坐标系变换矩阵进行了修正,这样,得到的第三坐标系变换矩阵将更为准确,从而进一步的提高了定位的精度。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明实施例一提供的一种用于机械手定位目标的方法的流程示意图;

图2示出了本发明实施例一提供的机械手和相机的位置示意图;

图3示出了坐标系变换的示意图;

图4示出了本发明实施例一提供的第三坐标系变换矩阵的计算流程示意图;

图5示出了本发明实施例二提供的一种用于机械手定位目标的装置的结构组成示意图;

图6示出了本发明实施例三提供的一种机械手的设备示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解的是,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一

图1示出了本发明实施例一提供的一种用于机械手定位目标的方法的实现流程。本实施例中的用于机械手定位目标的方法的执行主体可以包括但不限于机械手。

本发明实施例提供的用于机械手定位目标的方法,详述如下:

s101、获取相机拍摄目标的目标图像,所述相机置于所述机械手末端。

如图2所示,相机置于所述机械手末端。

s102、确定所述目标图像中的目标点,并计算所述目标点的像素坐标。

所述目标点,为目标图像中能够反映目标位置是否放置在标准位置的像素点。

在本发明实施例中,可以获取多个目标点,以对目标的位置进行更为准确的分析。

所述像素坐标,为目标点在像素坐标系的坐标。

s103、基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。

所述坐标系,用于反映空间或平面中的点的位置。坐标系中的点的坐标值,反映该点所在的具体位置。例如,平面坐标系中的点c的坐标值为(0,0),反映点c在原点位置。

所述坐标系变换矩阵,为反映两个坐标系之间变换关系的矩阵。

如图3所示,坐标系1中的点可以通过坐标系1与坐标系2之间的坐标系变换矩阵变换到坐标系2中的对应点。例如,坐标系1中的点为p1,坐标系变换矩阵为t,将坐标系1中的点p1变换到坐标系2中的点p2=tp1

在本发明实施例中,所述第一坐标系变换矩阵为标定板坐标系到所述像素坐标系的单应性矩阵的逆矩阵;所述第二坐标系变换矩阵为所述标定板坐标系到所述相机坐标系的变换矩阵;所述第三坐标系变换矩阵为所述相机坐标系到所述机械手末端坐标系的变换矩阵;所述第四坐标系变换矩阵为所述机械手末端坐标系到所述机械手坐标系的变换矩阵。具体的,基于所述单应性矩阵和相机的内参矩阵,确定所述第二坐标系变换矩阵。

根据投影集合的知识可知,物理坐标系(如上所述的)与像素坐标系中的变换矩阵是一个单应性矩阵,且单应性矩阵是一个3×3的矩阵,单应性矩阵可以是相机内参矩阵和外参矩阵的乘积。

所述内参矩阵,只与相机结构,比如相机的焦距,在相机没有物理改变的情况下,相机的内参矩阵是不变的。

所述外参矩阵,是指相机坐标系与参考平面坐标系(在本发明实施例中,参考平面坐标系为标定板坐标系)之间的关系,包括平移矩阵和旋转矩阵。其中,所述平移矩阵,为能够将坐标进行平移变换的矩阵;所述旋转矩阵,为能够将坐标进行旋转变换的矩阵。平移是指点从一个位置到另一个位置的直线移动。旋转是指以坐标原点为中心进行的旋转。

例如,假设坐标系a通过延x、y、z轴做平移运动得到坐标系b,平移分量为t1,t2和t3;假设空间中有一点c,该点坐标系a中的坐标为ca(x1,y1,z1),在坐标系b中的坐标cb(x2,y2,z2),则坐标ca和cb的计算关系为ca=tcb:

同样,假设坐标系b分别绕z、y和x轴做旋转运动得到坐标系c,旋转分量分别为w、v和u;假设空间中有一点c,该点坐标系b中的坐标为cb(x2,y2,z2),在坐标系c中的坐标为cc(x3,y3,z3),则坐标cb和cc的计算关系为cb=rz(w)ry(v)rx(u)cc=rcc:

其中,矩阵就是平移矩阵t,矩阵r就是旋转矩阵。

由此可见,空间中的点c经过平移和旋转运动从坐标系a变换到了坐标系c,具体的是先从坐标系a变换到坐标系b,再从坐标系b变换到坐标系c,于是有:ca=trcc。

在本发明实施例中,第二标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵的矩阵类别均是外参矩阵。

在本发明实施例中,步骤s103所述基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标,包括:

基于所述像素坐标和第一坐标系变换矩阵,确定所述目标点在标定板坐标系中的标定板坐标;

基于所述标定板坐标和所述第二坐标系变换矩阵,确定所述目标点在相机坐标系中的相机坐标;

基于所述相机坐标和所述第三坐标系变换矩阵,确定所述目标点在机械手末端坐标系中的机械手末端坐标;

基于所述机械手末端坐标和所述第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。

例如,假设目标点的像素坐标为qp,目标点在机械手中的坐标为bp,则所述基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标,包括:bp=t4t3t2h-1qp,其中,h-1为第一坐标系变换矩阵,t2为第二坐标系变换矩阵,t3为第三坐标系变换矩阵,t4为第四坐标系变换矩阵。

在本发明实施例中,在步骤s101获取相机拍摄目标的目标图像之前,还包括:计算所述第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵。

在本发明实施例中,取标定板上四个点的坐标,通过相机拍照,求得这四个点坐标的像素坐标,建立8个方程,求得单应性矩阵。由于该方法就是基于现有的求单应性矩阵的方法,所以不再对其进行过多的论述,大致如下。

例如,假设m表示像素坐标(u,v,1),m表示世界坐标系坐标(x,y,z,1),a表示相机的内参数矩阵,s表示尺度因子,r表示旋转矩阵,t表示平移矩阵,于是可以得到如下的摄像机模型:

sm=a[rt]m,

其中,α=f/dx,β=f/dy,表示像素点在x、y方向上的尺度的偏差。令z=0,将sm=a[rt]m转换为:

于是,a[r1r2t]就是单应性矩阵,记为h=a[r1r2t]。最后,取标定板上四个点的坐标,通过相机拍照,求得这四个点坐标的像素坐标,建立8个方程,就可以求得单应性h。

在本发明实施例中,相机的内参矩阵也可以用张正友标定算法计算出来。

令[h1h2h3]=λa[r1r2t],于是有:r1=h1a-1,r2=h2a-1,进一步的,由于旋转矩阵r中r1和r2正交,且|r2|=|r1|=1,于是可以得出:

由于h1,h2通过求解单应性矩阵已经得到,所以,未知量就只剩内参矩阵a了,包含5个参数,为了求解这五个参数,需要至少3个单应性矩阵(这样就需要至少3幅标定板平面的图像),从而得到6个方程,以对5个内参进行求解。

在本发明实施例中,由于单应性矩阵h为内参矩阵和外参矩阵的乘积,因此只要知道了单应性矩阵h和内参矩阵a,就能求解出第二坐标系变换矩阵,即外参矩阵。同时,第四坐标系变换矩阵可以通过机械手末端(机械手末端的一点,可以根据实际情况进行选取)相对于机械手(整个机械手设备中的一个点,可以根据实际情况进行选取)的位置和机械手末端的姿态得出,即只要确定了机械手末端的位置和姿态,就能计算出第四坐标系变换矩阵。

最后,所述计算所述第三坐标系变换矩阵,包括:

s201、通过所述相机获取机械手末端在预设个数的姿态下标定板的标定板图像,并确定机械手末端在不同姿态下的第四坐标系变换矩阵;分别基于每个所述标定板图像,确定对应姿态下的第二坐标系变换矩阵。

在本发明实施例中,需要说明的是,在标定板和机械手不动的情况下改变机械手末端姿态以此获取不同姿态下的标定板图像,即标定板坐标系的原点和机械手坐标系的原点在世界坐标系中的位置不变,而机械手末端坐标系和相机坐标系的原点在世界坐标系中的位置改变。

在本发明实施例中,需要说明的是,第一坐标系a到第二坐标系b的坐标系变换矩阵表示为:第二坐标系b到第一坐标系a的坐标系变换矩阵表示为:

在本发明实施例中,假设通过相机获取了机械手末端在5中不同姿态下标定板的标定板图像,并确定机械手末端在不同姿态下的第四坐标系变换矩阵为:i=1,2,3,4,5,由于第四坐标系变换能够根据机械手末端的位置和姿态得到,所以是已知的。

由于有5个不同的姿态,所以可以得到五个不同的第二坐标系变换矩阵:i=1,2,3,4,5,如上所述的计算单应性矩阵的方法和计算内参矩阵的方法,所以不同姿态下的第二坐标系变换矩阵也可以计算出来,故第二坐标系变换矩阵也是已知的。

s202、基于每个所述第二坐标系变换矩阵和每个第四坐标系变换矩阵,得到包含所述第三坐标系变换矩阵的方程。

根据步骤s101至步骤s103可知,标定板坐标系中的点c可以通过多次坐标系变换转换到机械手坐标系中,故有:其中,pp是点c在标定板中的坐标,bp是点c在机械手坐标系中的坐标。

需要说明的是,虽然机械手通过不同的姿态拍摄标定板照片,但是相机是一直处于机械手末端的,即虽然机械手末端呈现出了不同的姿态,但是,相机和机械手末端的相对位置是没有发生任何改变的,即第三坐标系变换矩阵虽然是未知的,需要求解的,但是是固定的。同时,虽然机械手的姿态在改变,但是点c在标定板中是没有移动的,又由于机械手也没有移动,所以pp和bp的值不变。

由于得到了5个不同姿态的图像,所以可以根据上述公式得到5个方程:

根据上述5个方程有:进一步的,在方程的左边乘以矩阵得到:在方程的右边乘以矩阵得到:由于矩阵和矩阵是已知的,所以是已知的,令于是有:ax=xb。方程ax=xb即是包含所述第三坐标系变换矩阵的方程。

s203、对所述方程进行求解,以得到所述方程的目标解矩阵,并对所述目标解矩阵进行修正,将经过修正的目标解矩阵确定为所述第三坐标系变换矩阵。

经过矩阵变换可以发现,最终得到的方程ax=xb是一个简化的超定方程,超定方程式没有准确解的,只有近似解。于是,在本发明实施例中,为了便于求解方程剔除了方程中的旋转矩阵部分得到只有平移矩阵部分的方程:

将方程中的展开,有:

其中,rij=ai1×b1j+ai2×b2j+ai3×b3j。

进一步的,令点c在机械手坐标系中的坐标令点c在相机坐标系中的坐标:于是,方程可以表示为:

由于本发明实施例通过改变机械手末端的姿态获取了5副图片,所以可以得到5个上述方程于是有:

由于有5副图片,每幅图片可以得到一个矩阵方程

以5副图片中的任意一副图片为基准消除矩阵方程中的[xbybzb]t,可以得到4个矩阵方程:

所以可以得到12个方程,且由于上述方程是个超定方程,所以没有准确的解,所以通过12个方程只能求解出的近似值,需要进一步的对得到的进行修正,以得到ax=xb矩阵方程的目标解矩阵。

具体的,通过上述方法求解得到的由于中的旋转矩阵具有正交特性,所以保持vx不变,利用vx叉乘vy得到新的vz(即vz=vx×vy),利用新的vz叉乘vx,得到新的vy(即vy=vz×vx),以此得到修正后的旋转矩阵

计算修正后的旋转矩阵的欧拉角u0、v0和w0,以此得到修正后的将该修正后的代入方程ax=xb,并且提取ax的旋转子矩阵ra和xb的旋转子矩阵rb。

任意给定一个矩阵v,求解欧式距离||rav-rbv||的最小值。以u0、v0和w0作为种子,[u0-10,u0+10]、[v0-10,v0+10]、和[w0-10,w0+10]作为解空间,设置起始搜索步长(起始搜索步长设置为相对较大的角度,比如1度),采用全局最优求解算法,通过在每一轮搜索完成后,缩小解空间[u0-10,u0+10]、[v0-10,v0+10]、和[w0-10,w0+10]并同时缩小搜索步长的方法迭代搜索。当步长缩小到预设值时得到的欧拉角即为最终的欧拉角u0、v0和w0。然后通过u0、v0和w计算得到最后的旋转矩阵

具体的,求解平移矩阵部分。通过目测机械末端到相机的距离,根据经验,设置平移矩阵的搜索范围为z=[zmin,zmax],以相对较大的距离作为起始搜索步长,求解欧式距离||ax-xb||的最小值。ax矩阵的旋转子矩阵ra已经通过上述方法求解得到,平移部分的tz分量是预先设置的,通过对ax=xb进行奇异值分解算法,得到平移部分的tx和ty分量。当z的搜索步长达到预定值的时候,此时得到最优解的tx、ty和tz即为所求。

通过上述两步最优迭代求解算法,对目标解矩阵进行了修正,得到了经过修整的目标解矩阵的旋转子矩阵和平移分量,将此时得到的经过修正的目标解矩阵确定为所述第三坐标系变换矩阵

上述方案,首先获取相机拍摄目标的目标图像,所述相机置于所述机械手末端;然后确定所述目标图像中的目标点,并计算所述目标点的像素坐标;最后基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。可见,通过上述方式,能够将拍摄得到的目标的像素转换到机械手坐标系中的坐标,从而让机械手得知目标点的位置,进行后续的加工操作等,并且,上述方法还对第三坐标系变换矩阵进行了修正,这样,得到的第三坐标系变换矩阵将更为准确,从而进一步的提高了定位的精度。

作为本发明一种可选的实施例,在步骤s103基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标之前,还包括:根据所述相机的畸变系数,对所述像素坐标进行畸变矫正,得到无畸变的像素坐标。

相应的,步骤103基于所述像素坐标和从像素坐标系到机械手坐标系的坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标,包括:基于所述无畸变的像素坐标和从像素坐标系到机械手坐标系的坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。

相机畸变实际上是光学透镜固有的透视失真的总称,也就是因为透视原因造成的失真,这种失真对于图像的成像质量是非常不利的,所以在进行目标定位之前,需要消除畸变,以得到无畸变或者畸变尽可能小的图像。

在本发明实施例中,相机的畸变包括径向畸变和切向畸变。利用张正友标定算法,可以求得相机的畸变系数(包括径向畸变系数和切向畸变系数),然后再基于该畸变系数,对像素坐标进行畸变校正,得到更小的畸变的像素坐标。

在获取到畸变系数之后,采用如下方法进行畸变校正。

假设获取到的径向畸变系数为:k,切向畸变系数为:p,像素坐标为:(u,v),那么通过如下公式进行畸变校正,得到无畸变的像素坐标为:(u',v')。

其中,r1=u×u+v×v,r2=r1×r1,r3=r1×r2。

在本发明实施例中,在步骤s103确定所述目标点在所述机械手坐标系中的坐标之后,还包括:

若所述坐标与标准坐标的差异度超过预设值,则反馈提示信息;所述标准坐标,为所述目标放置在标准位置时,所述目标点在所述机械手坐标系中的坐标。

所述差异度,为基于坐标值计算得到的差异。例如,计算得到的目标点的坐标为(5,6),标准坐标为(5.5,6.7),计算差异度为:((5-5.5)2+(6-6.7)2)1/2

所述标准位置,为目标点放置的正确的位置,如果目标点没有放置在该标准位置上,机械手可能没法很好的执行后续的操作。

在这里,将计算得到的目标点在机械手坐标系中的坐标与标准坐标进行比较,若差异度超过预设值,则认为目标没有放置在标准位置上,需要对目标的位置进行调整,否则机械手可能没法很好的执行后续的操作,于是反馈了提醒信息,让工作人员对目标的摆放位置进行查看。

实施例二

图5示出了本发明实施例五提供的一种用于机械手定位目标的装置200,包括:

图像获取单元110,用于获取相机拍摄目标的目标图像,所述相机置于所述机械手末端;

第一确定单元120,用于确定所述目标图像中的目标点,并计算所述目标点的像素坐标;

第二确定单元130,用于基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标;所述第一坐标系变换矩阵为标定板坐标系到所述像素坐标系的单应性矩阵的逆矩阵;所述第二坐标系变换矩阵为所述标定板坐标系到所述相机坐标系的变换矩阵;所述第三坐标系变换矩阵为所述相机坐标系到所述机械手末端坐标系的变换矩阵;所述第四坐标系变换矩阵为所述机械手末端坐标系到所述机械手坐标系的变换矩阵。

上述装置,首先获取相机拍摄目标的目标图像,所述相机置于所述机械手末端;然后确定所述目标图像中的目标点,并计算所述目标点的像素坐标;最后基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。可见,通过上述方式,能够将拍摄得到的目标的像素转换到机械手坐标系中的坐标,从而让机械手得知目标点的位置,进行后续的加工操作等,并且,上述方法还对第三坐标系变换矩阵进行了修正,这样,得到的第三坐标系变换矩阵将更为准确,从而进一步的提高了定位的精度。

在本发明实施例中,所述装置100,还包括:

畸变矫正单元,用于根据所述相机的畸变系数,对所述像素坐标进行畸变矫正,得到无畸变的像素坐标;

相应的,所述第二确定单元130包括:

无畸变坐标确定单元,用于基于所述无畸变的像素坐标和从像素坐标系到机械手坐标系的坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。

在本发明实施例中,所述第二确定单元,包括:

第一坐标确定单元,用于基于所述像素坐标和第一坐标系变换矩阵,确定所述目标点在标定板坐标系中的标定板坐标;第二坐标确定单元,用于基于所述标定板坐标和所述第二坐标系变换矩阵,确定所述目标点在相机坐标系中的相机坐标;第三坐标确定单元,用于基于所述相机坐标和所述第三坐标系变换矩阵,确定所述目标点在机械手末端坐标系中的机械手末端坐标;第四坐标确定单元,用于基于所述机械手末端坐标和所述第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。

在本发明实施例中,所述装置100,还包括:

计算单元,用于在图像获取单元获取相机拍摄目标的目标图像之前,计算所述第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵;

所述计算单元包括:

第一计算单元,用于通过所述相机获取机械手末端在预设个数的姿态下标定板的标定板图像,并确定机械手末端在不同姿态下的第四坐标系变换矩阵;分别基于每个所述标定板图像,确定对应姿态下的第二坐标系变换矩阵;

第二计算单元,用于基于每个所述第二坐标系变换矩阵和每个第四坐标系变换矩阵,得到包含所述第三坐标系变换矩阵的方程;

第三计算单元,用于对所述方程进行求解,以得到所述方程的目标解矩阵,并对所述目标解矩阵进行修正,将经过修正的目标解矩阵确定为所述第三坐标系变换矩阵。

在本发明实施例中,所述装置100,还包括:

提示单元,用于在第二确定单元确定所述目标点在所述机械手坐标系中的坐标之后,若所述坐标与标准坐标的差异度超过预设值,则反馈提示信息;所述标准坐标,为所述目标放置在标准位置时,所述目标点在所述机械手坐标系中的坐标。

需要说明的是,本发明实施例二提出的为用于机械手定位目标的装置100与本发明方法实施例提出的用于机械手定位目标的方法基于相同的发明构思,装置实施例与方法实施例中的相应技术内容可互相适用,此处不再详述。

实施例三

图6是本发明实施例三提供的一种机械手200的示意图。如图6所示的本实施例中的设备200可以包括:处理器210、存储器220以及存储在存储器220中并可在处理器210上运行的计算机程序230。处理器210执行计算机程序230时实现上述方法实施例中的步骤。存储器220用于存储计算机程序,所述计算机程序包括程序指令。处理器210用于执行存储器220存储的程序指令。其中,处理器210被配置用于调用所述程序指令执行以下操作:

获取相机拍摄目标的目标图像,所述相机置于所述机械手末端;

确定所述目标图像中的目标点,并计算所述目标点的像素坐标;

基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标;所述第一坐标系变换矩阵为标定板坐标系到所述像素坐标系的单应性矩阵的逆矩阵;所述第二坐标系变换矩阵为所述标定板坐标系到所述相机坐标系的变换矩阵;所述第三坐标系变换矩阵为所述相机坐标系到所述机械手末端坐标系的变换矩阵;所述第四坐标系变换矩阵为所述机械手末端坐标系到所述机械手坐标系的变换矩阵。

上述机械手设备,首先获取相机拍摄目标的目标图像,所述相机置于所述机械手末端;然后确定所述目标图像中的目标点,并计算所述目标点的像素坐标;最后基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。可见,通过上述方式,能够将拍摄得到的目标的像素转换到机械手坐标系中的坐标,从而让机械手得知目标点的位置,进行后续的加工操作等,并且,上述方法还对第三坐标系变换矩阵进行了修正,这样,得到的第三坐标系变换矩阵将更为准确,从而进一步的提高了定位的精度。

进一步的,处理器210还用于:

在所述基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标之前,根据所述相机的畸变系数,对所述像素坐标进行畸变矫正,得到无畸变的像素坐标;

基于所述无畸变的像素坐标和从像素坐标系到机械手坐标系的坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。

进一步的,处理器210还用于:

基于所述像素坐标和第一坐标系变换矩阵,确定所述目标点在标定板坐标系中的标定板坐标;基于所述标定板坐标和所述第二坐标系变换矩阵,确定所述目标点在相机坐标系中的相机坐标;基于所述相机坐标和所述第三坐标系变换矩阵,确定所述目标点在机械手末端坐标系中的机械手末端坐标;基于所述机械手末端坐标和所述第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。

进一步的,处理器210还用于:

在所述获取相机拍摄目标的目标图像之前,计算所述第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵;

通过所述相机获取机械手末端在预设个数的姿态下标定板的标定板图像,并确定机械手末端在不同姿态下的第四坐标系变换矩阵;分别基于每个所述标定板图像,确定对应姿态下的第二坐标系变换矩阵;

基于每个所述第二坐标系变换矩阵和每个第四坐标系变换矩阵,得到包含所述第三坐标系变换矩阵的方程;

对所述方程进行求解,以得到所述方程的目标解矩阵,并对所述目标解矩阵进行修正,将经过修正的目标解矩阵确定为所述第三坐标系变换矩阵。

进一步的,处理器210还用于:

在所述确定所述目标点在所述机械手坐标系中的坐标之后,若所述坐标与标准坐标的差异度超过预设值,则反馈提示信息;所述标准坐标,为所述目标放置在标准位置时,所述目标点在所述机械手坐标系中的坐标。

应当理解,在本发明实施例中,所称处理器210可以是中央处理单元(centralprocessingunit,cpu),该处理器210还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器220可以包括只读存储器和随机存取存储器,并向处理器210提供指令和数据。存储器220的一部分还可以包括非易失性随机存取存储器。例如,存储器220还可以存储设备类型的信息。

需要说明的是,本发明实施例三提出的机械手与本发明方法实施例提出的用于机械手定位目标的方法基于相同的发明构思,设备实施例与方法实施例中的相应技术内容可互相适用,此处不再详述。

实施例四

在本发明的实施例四中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:

获取相机拍摄目标的目标图像,所述相机置于所述机械手末端;

确定所述目标图像中的目标点,并计算所述目标点的像素坐标;

基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标;所述第一坐标系变换矩阵为标定板坐标系到所述像素坐标系的单应性矩阵的逆矩阵;所述第二坐标系变换矩阵为所述标定板坐标系到所述相机坐标系的变换矩阵;所述第三坐标系变换矩阵为所述相机坐标系到所述机械手末端坐标系的变换矩阵;所述第四坐标系变换矩阵为所述机械手末端坐标系到所述机械手坐标系的变换矩阵。

上述计算机可读存储介质,首先获取相机拍摄目标的目标图像,所述相机置于所述机械手末端;然后确定所述目标图像中的目标点,并计算所述目标点的像素坐标;最后基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。可见,通过上述方式,能够将拍摄得到的目标的像素转换到机械手坐标系中的坐标,从而让机械手得知目标点的位置,进行后续的加工操作等,并且,上述方法还对第三坐标系变换矩阵进行了修正,这样,得到的第三坐标系变换矩阵将更为准确,从而进一步的提高了定位的精度。

进一步的,所述计算机程序被处理器执行时还实现:

在所述基于所述像素坐标、第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标之前,根据所述相机的畸变系数,对所述像素坐标进行畸变矫正,得到无畸变的像素坐标;

基于所述无畸变的像素坐标和从像素坐标系到机械手坐标系的坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。

进一步的,所述计算机程序被处理器执行时还实现:

基于所述像素坐标和第一坐标系变换矩阵,确定所述目标点在标定板坐标系中的标定板坐标;基于所述标定板坐标和所述第二坐标系变换矩阵,确定所述目标点在相机坐标系中的相机坐标;基于所述相机坐标和所述第三坐标系变换矩阵,确定所述目标点在机械手末端坐标系中的机械手末端坐标;基于所述机械手末端坐标和所述第四坐标系变换矩阵,确定所述目标点在所述机械手坐标系中的坐标。

进一步的,所述计算机程序被处理器执行时还实现:

在所述获取相机拍摄目标的目标图像之前,计算所述第一坐标系变换矩阵、第二坐标系变换矩阵、第三坐标系变换矩阵和第四坐标系变换矩阵;

通过所述相机获取机械手末端在预设个数的姿态下标定板的标定板图像,并确定机械手末端在不同姿态下的第四坐标系变换矩阵;分别基于每个所述标定板图像,确定对应姿态下的第二坐标系变换矩阵;

基于每个所述第二坐标系变换矩阵和每个第四坐标系变换矩阵,得到包含所述第三坐标系变换矩阵的方程;

对所述方程进行求解,以得到所述方程的目标解矩阵,并对所述目标解矩阵进行修正,将经过修正的目标解矩阵确定为所述第三坐标系变换矩阵。

进一步的,所述计算机程序被处理器执行时还实现:

在所述确定所述目标点在所述机械手坐标系中的坐标之后,若所述坐标与标准坐标的差异度超过预设值,则反馈提示信息;所述标准坐标,为所述目标放置在标准位置时,所述目标点在所述机械手坐标系中的坐标。

所述计算机可读存储介质可以是前述任一实施例所述的设备的内部存储单元,例如设备的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序及所述设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

需要说明的是,本发明实施例四提出的计算机可读存储介质与本发明方法实施例提出的为用于机械手定位目标的方法基于相同的发明构思,计算机可读存储介质实施例与方法实施例中的相应技术内容可互相适用,此处不再详述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1