一种基于非最小化最优化算法的机器人手眼标定方法
【技术领域】
[0001] 本发明涉及一种基于非最小化最优化算法的机器人手眼标定方法,涉及工业机器 人视觉标定技术领域,可以用于机器人手术等技术领域。
【背景技术】
[0002] 机器人手眼标定是机器视觉中一个基本问题。机器人进行的具体操作主要是通过 位于机器人手臂最后一节的末端执行器完成的,末端执行器也就是机器人的"手",为了对 机器人的操作进行定位,末端执行器上通常固定有相机,作为机器人的"眼"。一般来说,相 机只能拍摄镜头对面的物体,而不能拍摄自身所在的末端执行器,因此不能用相机直接拍 摄的方法来确定机器人手的位置。机器人手眼标定就是测量相机和末端执行器之间的相对 位置和方向关系,以便确定机器人末端执行器的实际位置。手眼标定的精确性部分决定了 机器视觉应用于机器人时的精度,因此在实际应用中十分重要。
[0003] 手眼关系的计算一般要求机器人至少独立运动2次,而且2次运动的旋转轴不得 平行。进行在线手眼标定时,机器人运动是由具体应用确定的,而并非专门为手眼标定而设 计,所以在机器人运动时采集到的运动数据就很可能有不适于手眼标定的情形。另外,采样 运动中旋转角度过小或者平移过大,或者2次运动的旋转轴之间的夹角过小时,都会使最 后标定结果产生较大的误差。为了避免上述情况,实际应用中需要进行运动选择,以便挑选 合适的运动数据进行手眼标定运算。
【发明内容】
[0004] 本发明的目的就是为解决上述问题,提供一种基于非最小化最优化算法的机器人 手眼标定方法,它具有利用特征值计算求解手眼标定方程。该方法能够简化计算过程,并且 使手眼标定结果更加准确。
[0005] 为了实现上述目的,本发明采用如下技术方案:
[0006] 一种基于非最小化最优化算法的机器人手眼标定方法,包括如下步骤:
[0007] 步骤(1):利用运动选择算法,筛选机器人末端执行器的运动数据;计算每组运动 数据对应的从相机到世界坐标系的变换矩阵A和机器人基部到末端执行器的变换矩阵B;
[0008] 步骤(2):利用步骤(1)的从相机到世界坐标系的变换矩阵A和机器人基部到末 端执行器的变换矩阵B,同时假设待测的从相机到末端执行器的手眼标定矩阵为X,利用变 换矩阵A、变换矩阵B和手眼标定矩阵X构造手眼标定方程;
[0009] 步骤(3):利用非最小化最优化算法对步骤(2)的手眼标定方程进行求解,得到非 最小化最优化解,然后利用该非最小化最优化解得到手眼标定矩阵X。
[0010] 所述步骤(1)的利用运动选择算法,筛选机器人末端执行器的运动数据的步骤 为:
[0011] 从机器人末端执行器上的摄像机记录的运动中获取运动数据集,根据手眼标定需 求,设定最优化误差阈值;
[0012] 对于运动数据集中的第一个运动,构建第一个运动数据矩阵;
[0013] 由第一个运动数据矩阵计算出第一个最优化矩阵;
[0014] 求解第一个最优化矩阵的特征值,找到最小的特征值及最小的特征值对应的特征 向量;
[0015] 判断最小特征值是否大于最优化误差阈值,如果大于,则从运动数据集和第一个 运动数据矩阵中移除此次运动,否则保留;
[0016] 随后选取下一个运动,重复计算步骤直到获得适当数量的运动为止。
[0017] 所述步骤(1)的利用运动选择算法,筛选机器人末端执行器的运动数据的步骤 为:
[0018] 步骤(1-1):从摄像机记录的运动中获取N个运动,N> 2,N为整数;构建运动数 据集C和d,C= {Cj,d= {dj,i= 1,2,…,N。根据手眼标定精度需求,设定最优化误 差阈值e;(;的参数含义是运动数据集C的第i组运动数据;di的参数含义是运动数据集d 的第i组运动数据;
[0019] 步骤(1-2):对于运动数据集中第1个运动,i= 1,构建第1个运动数据矩阵U(1) =[Ci-dJA的参数含义是运动数据集C的第1组运动数据,di的参数含义是运动数据集 d的第1组运动数据;
[0020] 步骤(1-3):由第一个运动数据矩阵U(1)计算第一个最优化矩阵V(1),
【主权项】
1. 一种基于非最小化最优化算法的机器人手眼标定方法,其特征是,包括如下步骤: 步骤(1):利用运动选择算法,筛选机器人末端执行器的运动数据;计算每组运动数据 对应的从相机到世界坐标系的变换矩阵A和机器人基部到末端执行器的变换矩阵B; 步骤⑵:利用步骤⑴的从相机到世界坐标系的变换矩阵A和机器人基部到末端执 行器的变换矩阵B,同时假设待测的从相机到末端执行器的手眼标定矩阵为X,利用变换矩 阵A、变换矩阵B和手眼标定矩阵X构造手眼标定方程; 步骤(3):利用非最小化最优化算法对步骤(2)的手眼标定方程进行求解,得到非最小 化最优化解,然后利用该非最小化最优化解得到手眼标定矩阵X。
2. 如权利要求1所述的一种基于非最小化最优化算法的机器人手眼标定方法,其特征 是,所述步骤(1)的利用运动选择算法,筛选机器人末端执行器的运动数据的步骤为: 从机器人末端执行器上的摄像机记录的运动中获取运动数据集,根据手眼标定需求, 设定最优化误差阈值; 对于运动数据集中的第一个运动,构建第一个运动数据矩阵; 由第一个运动数据矩阵计算出第一个最优化矩阵; 求解第一个最优化矩阵的特征值,找到最小的特征值及最小的特征值对应的特征向 量; 判断最小特征值是否大于最优化误差阈值,如果大于,则从运动数据集和第一个运动 数据矩阵中移除此次运动,否则保留; 随后选取下一个运动,重复计算步骤直到获得适当数量的运动为止。
3. 如权利要求1所述的一种基于非最小化最优化算法的机器人手眼标定方法,其特征 是,所述步骤(1)的利用运动选择算法,筛选机器人末端执行器的运动数据的步骤为: 步骤(1-1):从摄像机记录的运动中获取N个运动,N> 2,构建运动数据集C和d,C= {A},d=汕},1 = 1,2, 根据手眼标定的精度需求,设定最