本发明涉及一种标定方法,具体为一种基于外部标识的相机与机器人几何中心位置的标定方法。
背景技术:
随着科技的发展,机器人已经被广泛应用在各个领域中,代替人们完成各种各样的工作,例如在养殖场中,可以代替工作人员对养殖场的各个养殖区域进行巡检,从而减轻工作人员的劳动强度,且巡检精度更高。但是机器人进行巡检过程中,需要通过对目标物进行定位,其主要是通过安装在机器人上的相机对目标物进行拍照、然后通过对所拍摄的图像进行处理,得到目标物相对于相机坐标系的位姿,且通过求得相机在机器人坐标系之间的位姿,通过这两个位姿关系,即可求得目标物在机器人坐标系中的位姿,这样,机器人便可以根据这个位姿关系对目标物进行定位。但是目前计算相机在机器人坐标系之间的位姿是通过手工测量而得来的,测量误差较大。
技术实现要素:
本发明在于克服现有技术的不足,提供一种基于外部标识的相机与机器人几何中心位置的标定方法,所述标定方法可以求得相机在机器人坐标系中的相机坐标,相较于手工测量的方式而言,精度更高。
本发明解决上述技术问题的技术方案是:
一种基于外部标识的相机与机器人几何中心位置的标定方法,包括以下步骤:
(1)、建立世界坐标系,在世界坐标系中保持机器人不动,将相机沿着机器人坐标系的x轴或y轴的正方向或负方向移动,同时利用外部标识记录下相机在移动过程中所经过的n个位置点xn,xn={(x1,y1),(x2,y2)……(xn,yn)};
(2)、对记录到的n个位置点进行处理,将其拟合到一条方向向量
(3)、将相机安装在机器人上,并使用外部标识对相机进行多次定位,获得k个定位点xk,xk={(x1,y1),(x2,y2)……(xk,yk)};
(4)、对获得的k个定位点xk按照每个定位点到世界坐标系的原点之间的距离进行排序,取最中间的距离值所对应的定位点的位置坐标作为相机位置x=(xk/2,yk/2);
(5)、控制机器人做原地转向运动,同时利用外部标识记录下该原地转向过程中相机所经过的m个点xm,xm={(x1,y1),(x2,y2)……(xm,ym)};
(6)、对上述m个点xm任取3个不同的点求这3个点对应的圆心坐标,共求得
(7)、设机器人真实的几何中心为(x,y),对所求得的
(8)、根据所求得的最佳的方向向量
优选的,在步骤(2)中,求取最佳的方向向量
(2-1)、在n个位置点xn中任取两个位置点,求得两个位置点组成的向量,共求得(n-1)!个向量,
(2-2)、求得(n-1)!个向量与世界坐标系的x轴或y轴的夹角,共可求得(n-1)!个夹角,θ(n-1)!={θ1,θ2,……};
(2-3)、对求得的(n-1)!个夹角进行排列,取最中间的夹角所对应的向量
(2-4)、求公式(1)对初值向量
优选的,在步骤(2-4)中,通过
优选的,在步骤(2-1)中,在求取向量时只能将下标较小的位置点作为起点。
优选的,在步骤(6)中,圆心坐标的求取步骤为:设任取得的3个旋转过程中相机所经过的点记为(xi,yi),(xj,yj),(xk,yk),求(xi,yi)和(xj,yj)连线的垂直平分线,再求(xj,yj)和(xk,yk)连线的垂直平分线,最后求这两条垂直平分线的交点,该交点即为这三个点对应的圆心。
优选的,在步骤(7)中,求得的
优选的,在得到初值(xb,yb)后,通过以下计算公式来求得机器人真实的几何中心;
首先分别求f(x,y)对x和y的偏导数,得到f(x,y)对x得偏导数为g(x),对y得偏导数为h(y),将(xb,yb)分别代入g(x)和h(y)中,得到了函数f(x,y)在(xb,yb)处的下降方向,计算出新的点(xn,yn)=(xb,yb)-(g(xb),h(yb));将该点(xn,yn)作为新的初值(xb,yb)再重复以上步骤,直到得出一个点(x,y),将该点(x,y)代入f(x,y)中后,使得f(x,y)的值符合精度要求,则该点(x,y)为机器人真实的几何中心。
本发明与现有技术相比具有以下的有益效果:
1、本发明通过建立世界坐标系,让相机和机器人在世界坐标系下做特定的运动(例如相机的直线运动和机器人的原地旋转运动),记录下这些特定运动中的相机的位置,并利用这些记录下的位置求得在世界坐标系中机器人坐标系的位置和相机的位置,并通过这两个位置便可以求得它们之间的位置关系,即求得相机在机器人坐标系中的位置坐标。相较于手工测量的方式而言,精度更高。
2、本发明的基于外部标识的相机与机器人几何中心位置的标定方法克服了传统手工测量中存在的缺陷,提高了标定精度,有利于提高机器人在定位过程中的定位精度,具有很好的应用前景。
附图说明
图1为本发明的基于外部标识的相机与机器人几何中心位置的标定方法的流程框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
参见图1,本发明的基于外部标识的相机与机器人几何中心位置的标定方法,包括以下步骤:
(1)、建立世界坐标系,在世界坐标系中保持机器人不动,将相机沿着机器人坐标系的x轴或y轴的正方向或负方向移动,同时利用外部标识记录下相机在移动过程中所经过的n个位置点xn,xn={(x1,y1),(x2,y2)……(xn,yn)};
(2)、对记录到的n个位置点进行处理,将其拟合到一条方向向量
具体步骤为:
(2-1)、在n个位置点xn中任取两个位置点,求得两个位置点组成的向量,共求得(n-1)!个向量,
(2-2)、求得(n-1)!个向量与世界坐标系的x轴或y轴的夹角,共可求得(n-1)!个夹角,θ(n-1)!={θ1,θ2,……};
(2-3)、对求得的(n-1)!个夹角进行排列,取最中间的夹角所对应的向量
(2-4)、求公式(1)对初值向量
首先通过
(3)、将相机安装在机器人上,并使用外部标识对相机进行多次定位,获得k个定位点xk,xk={(x1,y1),(x2,y2)……(xk,yk)};
(4)、对获得的k个定位点xk按照每个定位点到世界坐标系的原点之间的距离进行排序,取最中间的距离值所对应的定位点的位置坐标作为相机位置x=(xk/2,yk/2);
(5)、控制机器人做原地转向运动,同时利用外部标识记录下该原地转向过程中相机所经过的m个点xm,xm={(x1,y1),(x2,y2)……(xm,ym)};
(6)、对上述m个点xm任取3个不同的点求这3个点对应的圆心坐标,其中,圆心坐标的求得步骤为:设任取得的3个旋转过程中相机所经过的点记为(xi,yi),(xj,yj),(xk,yk),求(xi,yi)和(xj,yj)连线的垂直平分线,再求(xj,yj)和(xk,yk)连线的垂直平分线,最后求这两条垂直平分线的交点,该交点即为这三个点对应的圆心。
据此,共求得
(7)、设机器人真实的几何中心为(x,y),对所求得的
首先分别求f(x,y)对x和y的偏导数,得到f(x,y)对x得偏导数为g(x),对y得偏导数为h(y),将(xb,yb)分别代入g(x)和h(y)中,得到了函数f(x,y)在(xb,yb)处的下降方向,计算出新的点(xn,yn)=(xb,yb)-(g(xb),h(yb));将该点(xn,yn)作为新的初值(xb,yb)再重复以上步骤,直到得出一个点(x,y),将该点(x,y)代入f(x,y)中后,使得f(x,y)的值符合精度要求,则该点(x,y)为机器人真实的几何中心。
(8)、根据所求得的最佳的方向向量
本实施例中的外部标识可以是任何一种能够给装在机器人上的相机定位的技术手段,比如可以是根据装在机器人上的相机拍摄到的图片确定相机在世界坐标系中坐标的技术,也可以是外部用另外一个相机去捕捉装在机器人上的相机位置的技术。
上述为本发明较佳的实施方式,但本发明的实施方式并不受上述内容的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、块合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
1.一种基于外部标识的相机与机器人几何中心位置的标定方法,其特征在于,包括以下步骤:
(1)、建立世界坐标系,在世界坐标系中保持机器人不动,将相机沿着机器人坐标系的x轴或y轴的正方向或负方向移动,同时利用外部标识记录下相机在移动过程中所经过的n个位置点xn,xn={(x1,y1),(x2,y2)……(xn,yn)};
(2)、对记录到的n个位置点进行处理,将其拟合到一条方向向量
(3)、将相机安装在机器人上,并使用外部标识对相机进行多次定位,获得k个定位点xk,xk={(x1,y1),(x2,y2)……(xk,yk)};
(4)、对获得的k个定位点xk按照每个定位点到世界坐标系的原点之间的距离进行排序,取最中间的距离值所对应的定位点的位置坐标作为相机位置x=(xk/2,yk/2);
(5)、控制机器人做原地转向运动,同时利用外部标识记录下该原地转向过程中相机所经过的m个点xm,xm={(x1,y1),(x2,y2)……(xm,ym)};
(6)、对上述m个点xm任取3个不同的点求这3个点对应的圆心坐标,共求得
(7)、设机器人真实的几何中心为(x,y),对所求得的
(8)、根据所求得的最佳的方向向量
2.根据权利要求1所述的基于外部标识的相机与机器人几何中心位置的标定方法,其特征在于,在步骤(2)中,求取最佳的方向向量
(2-1)、在n个位置点xn中任取两个位置点,求得两个位置点组成的向量,共求得(n-1)!个向量,
(2-2)、求得(n-1)!个向量与世界坐标系的x轴或y轴的夹角,共可求得(n-1)!个夹角,θ(n-1)!={θ1,θ2,……};
(2-3)、对求得的(n-1)!个夹角进行排列,取最中间的夹角所对应的向量
(2-4)、求公式(1)对初值向量
3.根据权利要求2所述的基于外部标识的相机与机器人几何中心位置的标定方法,其特征在于,在步骤(2-4)中,通过
4.根据权利要求2所述的基于外部标识的相机与机器人几何中心位置的标定方法,其特征在于,在步骤(2-1)中,在求取向量时只能将下标较小的位置点作为起点。
5.根据权利要求1所述的基于外部标识的相机与机器人几何中心位置的标定方法,其特征在于,在步骤(6)中,圆心坐标的求取步骤为:设任取得的3个旋转过程中相机所经过的点记为(xi,yi),(xj,yj),(xk,yk),求(xi,yi)和(xj,yj)连线的垂直平分线,再求(xj,yj)和(xk,yk)连线的垂直平分线,最后求这两条垂直平分线的交点,该交点即为这三个点对应的圆心。
6.根据权利要求1所述的基于外部标识的相机与机器人几何中心位置的标定方法,其特征在于,在步骤(7)中,求得的
7.根据权利要求6所述的基于外部标识的相机与机器人几何中心位置的标定方法,其特征在于,在得到初值(xb,yb)后,通过以下计算公式来求得机器人真实的几何中心;
首先分别求f(x,y)对x和y的偏导数,得到f(x,y)对x得偏导数为g(x),对y得偏导数为h(y),将(xb,yb)分别代入g(x)和h(y)中,得到了函数f(x,y)在(xb,yb)处的下降方向,计算出新的点(xn,yn)=(xb,yb)-(g(xb),h(yb));将该点(xn,yn)作为新的初值(xb,yb)再重复以上步骤,直到得出一个点(x,y),将该点(x,y)代入f(x,y)中后,使得f(x,y)的值符合精度要求,则该点(x,y)为机器人真实的几何中心。
技术总结