一种手眼标定及坐标转换方法与流程

文档序号:16764311发布日期:2019-01-29 17:54阅读:1643来源:国知局
一种手眼标定及坐标转换方法与流程

本发明涉及手眼标定技术领域,尤其涉及一种手眼标定及坐标转换方法。



背景技术:

在视觉反馈的果蔬采摘机器人控制中,手眼系统的标定(即相机坐标系与机械臂坐标系的转换)非常重要,直接影响机器人的作业精度。双目立体视觉是一种使用较多的目标识别与定位的方法。因为世界坐标系和摄像机坐标都是右手坐标系,所以其不会发生形变。我们想把世界坐标系下的坐标转换到摄像机坐标下的坐标。

对于视觉系统与其他坐标系之间的标定方法,近年来,很多学者进行了大量的研究。有学者提出通过标定摄像机之间拍摄标定目标,完成了系统间的标定,但标定过程需要多个摄像机同时工作,标定过程较为复杂;有学者提出通过最小二乘法完成了基于双目视觉的采摘机器人手眼标定,但将人工示教引入到标定过程,增大了标定误差,误差达到10mm以上,其次,固定双目立体视觉因为其相机固定的结构特点,拍摄范围有限,在相机安装之后就限定了机械臂的运动空间,导致采集数据样本分布过于集中,可能得到过多线性相关的无效数据,导致标定误差的增大。



技术实现要素:

基于背景技术存在的技术问题,本发明提出了一种手眼标定及坐标转换方法;

本发明提出的一种手眼标定及坐标转换方法,包括:

s1、在机械臂末端设置靶标;

s2、控制机械臂末端从起始坐标点运动到终点坐标点,在机械臂末端从起始坐标点运动到终点坐标点的过程中,记录靶标在机器臂坐标系下的三维坐标,并通过驱动机构驱动相机x、y、z三轴移动并记录机械臂末端上靶标在相机坐标系下的三维坐标;

s3、重复执行n次步骤s2,得到n组靶标在机器臂坐标系下的三维坐标、n组靶标在相机坐标系下的三维坐标,其中,每次执行步骤s2时,起始坐标点和终点坐标点均为对应取值范围内的随机坐标点;

s4、将靶标在相机坐标系下的三维坐标与靶标在机器臂坐标系下的三维坐标代入相机坐标系与机器臂坐标系之间的映射矩阵,并求解所述映射矩阵,得到n组拟合点;

s5、根据n组初始拟合点绘制残差图,根据残差图去除n组初始拟合点中m组离群点,得到n-m个目标拟合点,将n-m组目标拟合点代入相机坐标系与机器臂坐标系之间的映射矩阵,即可将得到相机坐标系与机械臂坐标系之间的矩阵变换关系。

优选地,所述机械臂为六自由度机械臂。

优选地,所述通过驱动机构驱动相机x、y、z三轴移动,具体包括:驱动机构包括第一驱动机构、第二驱动机构和第三驱动机构,所述第一驱动机构驱动相机x轴移动,所述第二驱动机构驱动相机y轴移动,所述第三驱动机构驱动相机z轴移动。

优选地,所述相机坐标系与机器臂坐标系之间的映射矩阵,具体包括:

其中,t=(tx,ty,tz,1)t为相机坐标系的原点在机械臂坐标系中的坐标,r为机械手坐标系相对摄像机坐标系旋转的4×4正交矩阵,xc、yc、zc为相机坐标系下的坐标,xr、yr、zr为机械臂坐标系下的坐标。

优选地,步骤s5,具体包括:

根据n组初始拟合点绘制残差图;

去除残差图中置信区间均不包含零点的m组离群点,得到n-m个目标拟合点;

将n-m组目标拟合点代入相机坐标系与机器臂坐标系之间的映射矩阵,即可将得到相机坐标系与机械臂坐标系之间的矩阵变换关系。

本发明通过可驱动相机x、y、z三轴移动的驱动机构驱动相机x、y、z三轴移动,并拍摄机械臂末端的靶标,可以调整相机的位置扩大了相机拍摄的范围,可为标定程序采集足够的样本数据,避免相机固定无法拍摄到机械臂末端的靶标,简化手眼标定过程,通过获取贴在机械手上标靶坐标,结合机械臂运动参数,建立了标定方程组,求解出了手眼系统之间的转换矩阵,并验证转换矩阵拟合误差,然后将误差较大的离群点剔除,再次求解转换矩阵时,减小标定误差。

附图说明

图1为本发明提出的一种手眼标定及坐标转换方法的流程示意图。

具体实施方式

参照图1,本发明提出的一种手眼标定及坐标转换方法,包括:

步骤s1,在机械臂末端设置靶标,所述机械臂为六自由度机械臂。

在具体方案中,在机械臂的末端贴上靶标,机械臂采用六自由度机械臂,机械臂的每一个自由度是由其操作机的独立驱动关节来实现的,关节和自由度在表达机械臂的运动灵活性方面是意义相通的。六自由度机械臂有六个独立驱动的关节结构,能在其工作空间中实现靶标的任意位置和姿态。

步骤s2,控制机械臂末端从起始坐标点运动到终点坐标点,在机械臂末端从起始坐标点运动到终点坐标点的过程中,记录靶标在机器臂坐标系下的三维坐标,并通过驱动机构驱动相机x、y、z三轴移动并记录机械臂末端上靶标在相机坐标系下的三维坐标,所述通过驱动机构驱动相机x、y、z三轴移动,具体包括:驱动机构包括第一驱动机构、第二驱动机构和第三驱动机构,所述第一驱动机构驱动相机x轴移动,所述第二驱动机构驱动相机y轴移动,所述第三驱动机构驱动相机z轴移动。

在具体方案中,控制机械臂末端从起始坐标点运动到终点坐标点,并记录机械臂末端从起始坐标点运动到终点坐标点的过程中,靶标在机器臂坐标系下的三维坐标,同时,通过可驱动相机x、y、z三轴移动的驱动机构驱动相机x、y、z三轴移动,拍摄机械臂末端的靶标,并记录机械臂末端上靶标在相机坐标系下的三维坐标,x、y、z三轴移动的驱动机构可以调整相机的位置扩大了相机拍摄的范围,可为标定程序采集足够的样本数据。

步骤s3,重复执行n次步骤s2,得到n组靶标在机器臂坐标系下的三维坐标、n组靶标在相机坐标系下的三维坐标,其中,每次执行步骤s2时,起始坐标点和终点坐标点均为对应取值范围内的随机坐标点。

在具体方案中,重复步骤s2,直至得到n组靶标在机器臂坐标系下的三维坐标、n组靶标在相机坐标系下的三维坐标。

步骤s4,将靶标在相机坐标系下的三维坐标与靶标在机器臂坐标系下的三维坐标代入相机坐标系与机器臂坐标系之间的映射矩阵,并求解所述映射矩阵,得到n组拟合点,所述相机坐标系与机器臂坐标系之间的映射矩阵,具体包括:

其中,t=(tx,ty,tz,1)t为相机坐标系的原点在机械臂坐标系中的坐标,r为机械手坐标系相对摄像机坐标系旋转的4×4正交矩阵,xc、yc、zc为相机坐标系下的坐标,xr、yr、zr为机械臂坐标系下的坐标。

在具体方案中,可将相机坐标系与机器臂坐标系之间的映射矩阵转换为并展开,得到

对n个在摄像机坐标系中的坐标已知的空间点,每个空间点都符合上式的方程,于是可得所示的3n个方程构成的方程组:

并改写为ar=b,由于只有参数矩阵的秩和未知参数个数相等时才可以求解,即最少需要四个线性无关的点才能求解r、t将n个点坐标带入ar=b,其求解实际上转换为最小二乘问题,此时r的解可用最小二乘线性回归求得:r=(at·a)-1·at·b。

步骤s5,根据n组初始拟合点绘制残差图,根据残差图去除n组初始拟合点中m组离群点,得到n-m个目标拟合点,将n-m组目标拟合点代入相机坐标系与机器臂坐标系之间的映射矩阵,即可将得到相机坐标系与机械臂坐标系之间的矩阵变换关系,具体包括:根据n组初始拟合点绘制残差图;去除残差图中置信区间均不包含零点的m组离群点,得到n-m个目标拟合点;将n-m组目标拟合点代入相机坐标系与机器臂坐标系之间的映射矩阵,即可将得到相机坐标系与机械臂坐标系之间的矩阵变换关系。

因为在参与标定的n组初始拟合点中存在误差大的离群点,根据n组初始拟合点绘制残差图,从残差图可以看出残差离零点的远近,当残差的置信区间均包含零点,这说明回归模型能较好的符合原始数据,否则视为异常点,为使得标定结果有较大的适用范围,选取的标定点也尽量分散。

通过n-m(10)组坐标点求得变换矩阵后,为测试标定结果,将果实任意放置在7个位置,由相机获取果实三维信息后经矩阵转换为机械臂坐标后,再由相机评测机械臂末端与果实之间位置差值,在相机坐标系下,结果如下表:

由实验结果可见,最大标定误差为6.08mm,满足采摘机器人抓取果实要求。实际上,此误差是一综合误差,它把立体视觉模块自身等环节的测量误差也包含其中。

本实施方式通过可驱动相机x、y、z三轴移动的驱动机构驱动相机x、y、z三轴移动,并拍摄机械臂末端的靶标,可以调整相机的位置扩大了相机拍摄的范围,可为标定程序采集足够的样本数据,避免相机固定无法拍摄到机械臂末端的靶标,简化手眼标定过程,通过获取贴在机械手上标靶坐标,结合机械臂运动参数,建立了标定方程组,求解出了手眼系统之间的转换矩阵,并验证转换矩阵拟合误差,然后将误差较大的离群点剔除,再次求解转换矩阵时,减小标定误差。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

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