法律状态公告日
法律状态信息
法律状态
2016-08-24
授权
授权
2015-09-16
实质审查的生效 IPC(主分类):B25J19/00 申请日:20150529
实质审查的生效
2015-08-19
公开
公开
技术领域
本发明涉及一种基于非最小化最优化算法的机器人手眼标定方法,涉及工业机器人视觉 标定技术领域,可以用于机器人手术等技术领域。
背景技术
机器人手眼标定是机器视觉中一个基本问题。机器人进行的具体操作主要是通过位于机 器人手臂最后一节的末端执行器完成的,末端执行器也就是机器人的“手”,为了对机器人的 操作进行定位,末端执行器上通常固定有相机,作为机器人的“眼”。一般来说,相机只能拍 摄镜头对面的物体,而不能拍摄自身所在的末端执行器,因此不能用相机直接拍摄的方法来 确定机器人手的位置。机器人手眼标定就是测量相机和末端执行器之间的相对位置和方向关 系,以便确定机器人末端执行器的实际位置。手眼标定的精确性部分决定了机器视觉应用于 机器人时的精度,因此在实际应用中十分重要。
手眼关系的计算一般要求机器人至少独立运动2次,而且2次运动的旋转轴不得平行。 进行在线手眼标定时,机器人运动是由具体应用确定的,而并非专门为手眼标定而设计,所 以在机器人运动时采集到的运动数据就很可能有不适于手眼标定的情形。另外,采样运动中 旋转角度过小或者平移过大,或者2次运动的旋转轴之间的夹角过小时,都会使最后标定结 果产生较大的误差。为了避免上述情况,实际应用中需要进行运动选择,以便挑选合适的运 动数据进行手眼标定运算。
发明内容
本发明的目的就是为解决上述问题,提供一种基于非最小化最优化算法的机器人手眼标 定方法,它具有利用特征值计算求解手眼标定方程。该方法能够简化计算过程,并且使手眼 标定结果更加准确。
为了实现上述目的,本发明采用如下技术方案:
一种基于非最小化最优化算法的机器人手眼标定方法,包括如下步骤:
步骤(1):利用运动选择算法,筛选机器人末端执行器的运动数据;计算每组运动数据 对应的从相机到世界坐标系的变换矩阵A和机器人基部到末端执行器的变换矩阵B;
步骤(2):利用步骤(1)的从相机到世界坐标系的变换矩阵A和机器人基部到末端执 行器的变换矩阵B,同时假设待测的从相机到末端执行器的手眼标定矩阵为X,利用变换矩 阵A、变换矩阵B和手眼标定矩阵X构造手眼标定方程;
步骤(3):利用非最小化最优化算法对步骤(2)的手眼标定方程进行求解,得到非最小 化最优化解,然后利用该非最小化最优化解得到手眼标定矩阵X。
所述步骤(1)的利用运动选择算法,筛选机器人末端执行器的运动数据的步骤为:
从机器人末端执行器上的摄像机记录的运动中获取运动数据集,根据手眼标定需求,设 定最优化误差阈值;
对于运动数据集中的第一个运动,构建第一个运动数据矩阵;
由第一个运动数据矩阵计算出第一个最优化矩阵;
求解第一个最优化矩阵的特征值,找到最小的特征值及最小的特征值对应的特征向量;
判断最小特征值是否大于最优化误差阈值,如果大于,则从运动数据集和第一个运动数 据矩阵中移除此次运动,否则保留;
随后选取下一个运动,重复计算步骤直到获得适当数量的运动为止。
所述步骤(1)的利用运动选择算法,筛选机器人末端执行器的运动数据的步骤为:
步骤(1-1):从摄像机记录的运动中获取N个运动,N>2,N为整数;构建运动数据集 C和d,C={Ci},d={di},i=1,2,…,N。根据手眼标定精度需求,设定最优化误差阈值e;Ci的 参数含义是运动数据集C的第i组运动数据;di的参数含义是运动数据集d的第i组运动数据;
步骤(1-2):对于运动数据集中第1个运动,i=1,构建第1个运动数据矩阵 U(1)=[C1-d1];C1的参数含义是运动数据集C的第1组运动数据,d1的参数含义是运动数 据集d的第1组运动数据;
步骤(1-3):由第一个运动数据矩阵U(1)计算第一个最优化矩阵V(1),
其中,u1代表U(1)的第1行,上标T表示转置;
求解V(1)的最小特征值λ(1),以及最小的特征值对应的特征向量
步骤(1-4):如果λ(1)>e,则从C,d和U(1)中移除第1个运动,否则保留;
步骤(1-5):对于第i个运动,构建第i个运动数据矩阵
求解V(i)的最小特征值λ(i)以及对应的特征向量,如果λ(i)>e,则从C,d和U(i)中移除第 i个运动,否则保留;U(i-1)的参数含义是第i-1个运动数据矩阵;ui的参数含义是代表U(i)的 第i行;uiT是ui的转置;
步骤(1-6):反复进行步骤(1-5)计算,直到获得足够数量的运动记录为止。
所述步骤(3)的步骤为:
步骤(3-1):通过引入张量积和列向量算子,将步骤(2)的手眼标定方程变形,得到一 个线性的最优化方程;
步骤(3-2):利用线性的最优化方程,定义最优化矩阵V,并利用V构造最优化代价方 程J(y);
步骤(3-3):将最优化代价方程转换为估算方程,对估算方程求解特征值,最小特征值 对应的特征向量,即是最优化代价方程的非最小化最优化解;利用非最小化最优化解,即可 得到手眼标定矩阵X。
所述步骤(1)中,从相机到世界坐标系的变换矩阵A和机器人基部到末端执行器的变 换矩阵B,形式分别为:
其中,R代表旋转矩阵,代表平移分量,下标i表示第i个运动。
Ai的参数含义是从相机到世界坐标系的第i个变换矩阵;
的参数含义是从相机到世界坐标系的第i个变换矩阵的旋转矩阵;
的参数含义是从相机到世界坐标系的第i个变换矩阵的平移分量;
0T的含义是0矩阵的转置;
Bi的参数含义是机器人基部到末端执行器的第i个变换矩阵;
的参数含义是机器人基部到末端执行器的第i个变换矩阵的旋转矩阵;
的参数含义是机器人基部到末端执行器的第i个变换矩阵的平移分量。
所述步骤(2)中,待测的从相机到末端执行器的手眼标定矩阵X为:
其中,
RX的参数含义是待测的从相机到末端执行器的旋转矩阵;
的参数含义是待测的从相机到末端执行器的平移分量;
所述步骤(2)中,手眼标定方程为:
其中,表示张量积,vec表示列向量算子,I9表示9×9的单位矩阵,09×3表示9×3的零 矩阵;09×1的参数含义是9×1的零矩阵;I3的参数含义是3×3的单位矩阵;
的参数含义是机器人基部到末端执行器的第i个变换矩阵的平移分量的转置;
vec(RX)的参数含义是RX的列向量算子;
RX表示X的旋转矩阵;
如果M是m×n的矩阵,m,n∈R,元素由Mij表示,1≤i≤m,1≤j≤n,P是任意矩阵, 那么,张量积表示为:
列向量算子vec(M)=[M11,…,M1n,…,M21,…,Mmn]T;
其中,Mmn的参数含义是矩阵M的第m行第n列的元素。
所述步骤(3-1)的步骤为:
令
利用手眼标定方程,得到一个线性的最优化方程:
Cix=di。
其中,x表示一个矢量。
所述步骤(3-2)的步骤为:
将线性最优化方程变形为:
构造运动数据矩阵U:
令
构造最优化代价方程J(y):
其中,ui代表U的第i行,最优化矩阵V定义为:
其中,012×1表示12×1的零矩阵;
CN的参数含义是运动数据集C的第N组运动数据;
dN的参数含义是运动数据集d的第N组运动数据;
y的参数含义是最优化矩阵V的最小特征值λ对应特征向量;
yT的参数含义是最优化矩阵V的最小特征值λ对应特征向量的转置;
所述步骤(3-3)的步骤为:
为了使J→0,把估算方程写为:
Vy=λy
由于运动数据矩阵U中包含噪声干扰,最优化矩阵V的秩恒大于12,最优化矩阵V的最小 特征值λ对应特征向量y,y即是代价方程J的非最小化最优化解;得到矩阵V之后,得到y的估 计值
由此解出x,进而可得到手眼标定矩阵X。
本发明的有益效果:与现有技术相比,本发明的机器人手眼标定算法,可以测量固定在 机器人手臂末端的相机和机器人末端执行器之间的相对位置和方向关系,实现方法简单,计 算量小,而且不需要考虑初始值的设定,结果准确,计算耗时短,实用性强,可以广泛应用 于医学、工业等方面的机器人测量。
附图说明
图1是手眼标定图示;
图2是本发明的整体方法流程图;
图3是运动选择算法流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
A非最小化最优化
系统如图1所示,机器人基部通过第一旋转轴与机器人手臂连接,所述机器人手臂包括 由第二旋转轴连接的第一节手臂和第二节手臂,第二节手臂末端附有末端执行器,末端执行 器上固定有摄像机。机器人通过手臂进行运动,末端执行器随之移动到相应位置,运动时基 部保持固定。
如图2所示,
1.确定从相机到世界坐标系的变换矩阵Ai和机器人基部到末端执行器的变换矩阵Bi。
1)利用运动选择算法,选取机器人末端执行器的N个运动;
2)对于第i个运动,i=1,2,…,N,测量并计算从相机到世界坐标系的变换矩阵Ai,以及 从机器人基部到末端执行器的变换矩阵Bi,形式分别为:
其中R代表旋转矩阵,代表平移分量。
3)设待测的从相机到末端执行器的变换矩阵为:
2.构造手眼标定方程
其中表示张量积,vec表示列向量算子。
如果M是m×n的矩阵,P是p×o矩阵,那么张量积可以表示为:
列向量算子vec(M)=[M11,…,M1n,…,M21,…,Mmn]T
3.利用非最小化最优化算法,求解x的最优解。
1)令
利用手眼标定方程,得到一个线性的最优化方程:
Cix=di
2)将线性最优化方程变形为:
令
构造最优化代价方程:
其中ui代表U的第i行。最优化矩阵V定义为:
3)为了使J→0,把估算方程写为:
Vy=λy
由于U中包含噪声干扰,矩阵V的秩恒大于12,V的最小特征值λ对应特征向量y,y即是代 价方程J的非最小化最优化解。得到矩阵V之后,可以得到y的估计值:
由此可以解出x。
如图3所示,B运动选择(Motion Selection)
在非最小化最优化过程中,运动数据选择比较简单。运动选择需要事先设定一个最优化 误差阈值e,然后对摄像机记录的一系列运动依次进行筛选,选出适合进行手眼标定的运动。 运动选择的算法如下:
算法:
1.从摄像机记录的运动中获取一组运动数据集C={Ci,i=1,2,…},d={di,i=1,2,…}, 并设定阈值e。
2.对于第1个运动,i=1,构建运动数据矩阵U(1)=[C1-d1]。
3.由U(1)计算最优化矩阵V(1),求解V(1)的最小特征值λ(1),以及 对应的特征向量
4.如果λ(1)>e,则从C,d和U(1)中移除第1个运动,否则保留。
5.对于第i个运动,i=2,3…,构建运动数据矩阵
6.反复进行第5步计算,直到获得足够数量的运动记录为止。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限 制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付 出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
机译: 一种基于指针的对象获取方法,用于对计算机系统的信息进行有形处理,该方法基于一种自然语言,并且该机器人或机器人的人工智能系统对该计算机系统的接收信号作出反应,该计算机系统具有相应的关联机器人或机器人的人工智能,该机器人或机器人的人工智能计算机系统的相应思想得到证实
机译: 一种基于选择性搜索算法的测距仪的制造方法,该方法能够最小化应用于该测距仪对智能机器人的外部指定的影响
机译: 一种基于用户可反馈的机器人生成图像的方法和系统以及一种非瞬态计算机可读记录介质