本申请涉及机械臂技术领域,特别是涉及一种手眼标定评估方法及机器人。
背景技术:
手眼标定指建立机械臂基座和相机坐标系的相对关系,使得视觉传感器捕抓到的物体能在机械臂基座坐标系里表达。高精度的手眼标定是完成操作任务的前提。机械臂是一种机械部件和电器元件相结合的设备。机械臂通常包括视觉传感器、主体、基座及主控部件等。视觉传感器相对于基座是固定的。机械臂可以是机器人上的一部分,也可以是单独的设备。机械臂可以通过一系列电动机和活动关节的控制实现对机械臂主体部分的移动,并使得机械臂末端到达预定位置。
在确定手眼标定转换关系时,可以在机械臂末端安装标定板,移动机械臂到不同位姿,分别记录多组机械臂末端在基座坐标系中的位姿、标定板相对于相机坐标系的位姿。通过记录的多组数据,采用优化方法求解相机坐标系相对于基座坐标系的变换关系(即手眼标定变化关系)。但是求解结果为近似值。因此,存在对求解的手眼标定的精度进行评估的需求。
技术实现要素:
本申请实施例的目的在于提供了一种手眼标定评估方法及机器人,以实现对手眼标定的精度进行评估。
第一方面,本申请实施例提供了一种手眼标定评估方法,所述方法包括:
获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;所述标记物位于所述机械臂末端的预设位置处;
基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系;其中,所述标准手眼标定变换关系用于表示视觉传感器所在的相机坐标系相对于基座坐标系的变换关系,所述第一位姿信息为所述机械臂末端在所述基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在所述相机坐标系中的位姿信息;
获取所述机械臂的测量手眼标定变换关系;
基于所述标准手眼标定变换关系,确定所述测量手眼标定变换关系的标定精度。
可选的,所述基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定参量的步骤,包括:
基于公式axb=c,确定标准手眼标定变换关系;其中,所述x为所述标准手眼标定变换关系,所述b为所述第一位姿信息,所述a为根据所述第二位姿信息得到的视觉传感器在所述标记物坐标系中的位姿信息,所述c为所述第一变换关系。
可选的,采用以下方式确定所述第二位姿信息:
在所述机械臂末端根据所述第一位姿信息完成移动任务时,获取所述机械臂的视觉传感器采集的包含所述标记物的图像;
基于预设的标记物特征,从所述图像中检测所述标记物,并确定所述标记物在所述相机坐标系中的第二位姿信息。
第二方面,本申请实施例提供了一种定位精度确定方法,该方法包括:
获取第一位姿信息和对应的第二位姿信息,获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;其中,所述标记物位于所述机械臂末端的预设位置处,所述第一位姿信息为所述机械臂末端在基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在视觉传感器所在的相机坐标系中的位姿信息;
根据所述第一变换关系和所述第二位姿信息,确定所述机械臂末端在所述相机坐标系中的第三位姿信息;
基于所述第三位姿信息,根据预设的手眼标定变换关系,确定所述机械臂末端在所述基座坐标系中的第四位姿信息;
以所述第四位姿信息为测量位姿信息,以所述第一位姿信息为标准位姿信息,确定所述机械臂的定位精度。
可选的,在确定所述定位精度之后,所述方法还包括:
在确定所述机械臂末端待移动的目标位姿信息时,根据所述定位精度对所述目标位姿信息进行修正;
根据修正后的目标位姿信息,控制所述机械臂的各个关节进行移动,以使所述机械臂末端移动所述目标位姿信息。
第三方面,本申请实施例提供了一种手眼标定确定方法,所述方法包括:
获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;所述标记物位于所述机械臂末端的预设位置处;
基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系;
其中,所述标准手眼标定变换关系用于表示视觉传感器所在的相机坐标系相对于基座坐标系的变换关系,所述第一位姿信息为所述机械臂末端在所述基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在所述相机坐标系中的位姿信息。
第四方面,本申请实施例提供了一种机器人,该机器人包括:处理器、机械臂和视觉传感器;
处理器,用于获取所述机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系;获取所述机械臂的测量手眼标定变换关系;基于所述标准手眼标定变换关系,确定所述测量手眼标定变换关系的标定精度;
其中,所述标记物位于所述机械臂末端的预设位置处;所述标准手眼标定变换关系用于表示所述视觉传感器所在的相机坐标系相对于基座坐标系的变换关系,所述第一位姿信息为所述机械臂末端在所述基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在所述相机坐标系中的位姿信息。
可选的,处理器,基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定参量时,包括:
基于公式axb=c,确定标准手眼标定变换关系;其中,所述x为所述标准手眼标定变换关系,所述b为所述第一位姿信息,所述a为根据所述第二位姿信息得到的视觉传感器在所述标记物坐标系中的位姿信息,所述c为所述第一变换关系。
可选的,视觉传感器,在所述机械臂末端根据所述第一位姿信息完成移动任务时,采集包含所述标记物的图像;
所述处理器,还用于获取所述视觉传感器采集的所述图像;基于预设的标记物特征,从所述图像中检测所述标记物,并确定所述标记物在所述相机坐标系中的第二位姿信息。
第五方面,本申请实施例还提供了另一种机器人,该机器人包括:处理器、机械臂和视觉传感器;
处理器,用于获取第一位姿信息和对应的第二位姿信息,获取所述机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;根据所述第一变换关系和所述第二位姿信息,确定所述机械臂末端在所述相机坐标系中的第三位姿信息;基于所述第三位姿信息,根据预设的手眼标定变换关系,确定所述机械臂末端在所述基座坐标系中的第四位姿信息;以所述第四位姿信息为测量位姿信息,以所述第一位姿信息为标准位姿信息,确定所述机械臂的定位精度;
其中,所述标记物位于所述机械臂末端的预设位置处,所述第一位姿信息为所述机械臂末端在基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在所述视觉传感器所在的相机坐标系中的位姿信息。
可选的,该机器人还包括:驱动部件;
所述处理器,还用于在确定所述定位精度之后,且确定所述机械臂末端待移动的目标位姿信息时,根据所述定位精度对所述目标位姿信息进行修正;
根据修正后的目标位姿信息,控制所述驱动部件,以使所述驱动部件驱动所述机械臂的各个关节进行移动,以便所述机械臂末端移动所述目标位姿信息。
第六方面,本申请实施例还提供了另一种机器人,该机器人包括:处理器、机械臂和视觉传感器;
所述处理器,用于获取所述机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系;
其中,所述标记物位于所述机械臂末端的预设位置处;所述标准手眼标定变换关系用于表示所述视觉传感器所在的相机坐标系相对于基座坐标系的变换关系,所述第一位姿信息为所述机械臂末端在所述基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在所述相机坐标系中的位姿信息。
第七方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;
处理器,用于获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系;获取所述机械臂的测量手眼标定变换关系;基于所述标准手眼标定变换关系,确定所述测量手眼标定变换关系的标定精度;
其中,所述标记物位于所述机械臂末端的预设位置处;所述标准手眼标定变换关系用于表示所述视觉传感器所在的相机坐标系相对于基座坐标系的变换关系,所述第一位姿信息为所述机械臂末端在所述基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在所述相机坐标系中的位姿信息。
可选的,所述处理器,基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定参量时,包括:
基于公式axb=c,确定标准手眼标定变换关系;其中,所述x为所述标准手眼标定变换关系,所述b为所述第一位姿信息,所述a为根据所述第二位姿信息得到的视觉传感器在所述标记物坐标系中的位姿信息,所述c为所述第一变换关系。
可选的,所述处理器还用于采用以下操作确定所述第二位姿信息:
在所述机械臂末端根据所述第一位姿信息完成移动任务时,获取所述机械臂的视觉传感器采集的包含所述标记物的图像;
基于预设的标记物特征,从所述图像中检测所述标记物,并确定所述标记物在所述相机坐标系中的第二位姿信息。
第八方面,本申请实施例还提供了另一种电子设备,该电子设备包括:处理器和存储器;
所述处理器,用于获取第一位姿信息和对应的第二位姿信息,获取所述机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;根据所述第一变换关系和所述第二位姿信息,确定所述机械臂末端在所述相机坐标系中的第三位姿信息;基于所述第三位姿信息,根据所述标准手眼标定变换关系或所述测量手眼标定变换关系,确定所述机械臂末端在所述基座坐标系中的第四位姿信息;以所述第四位姿信息为测量位姿信息,以所述第一位姿信息为标准位姿信息,确定所述机械臂的定位精度;
其中,标记物位于所述机械臂末端的预设位置处,所述第一位姿信息为所述机械臂末端在基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在视觉传感器所在的相机坐标系中的位姿信息。
第九方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;
所述处理器,用于获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系;
其中,所述标记物位于所述机械臂末端的预设位置处;所述标准手眼标定变换关系用于表示视觉传感器所在的相机坐标系相对于基座坐标系的变换关系,所述第一位姿信息为所述机械臂末端在所述基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在所述相机坐标系中的位姿信息。
本申请实施例提供的手眼标定评估方法及机器人,可以获取末端坐标系相对于标记物坐标系的第一变换关系,基于第一变换关系以及机械臂末端在基座坐标系中的位姿信息、标记物在相机坐标系中的位姿信息,确定相机坐标系相对于基座坐标系的变换关系。标记物位于机械臂末端的预设位置处,因此标记物相对于机械臂末端的位置是已知的,也就是末端坐标系与标记物坐标系的变换关系是已知的。在能准确地确定末端坐标系与标记物坐标系的变换关系的情况下,可以根据末端、标记物、视觉传感器、基座之间坐标系的相互变换关系,精确地确定手眼标定变换关系。将该值作为标准值,即能够对测量手眼标定变化关系进行精度的评估。因此本申请实施例能够实现对手眼标定的精度进行评估。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种手眼标定评估方法的流程示意图;
图2a为本申请实施例提供的机械臂各部分的一种连接关系示意图;
图2b为本申请实施例提供的标记物的几种示例图;
图2c为本申请实施例提供的基座、视觉传感器、机械臂末端、标记物之间坐标转换关系的一种原理图;
图3为本申请实施例提供的一种定位精度确定方法的流程示意图;
图4为本申请实施例提供的一种手眼标定确定方法的流程示意图;
图5~图7为本申请实施例提供的几种机器人的结构示意图;
图8~图10为本申请实施例提供的几种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了实现对手眼标定的精度进行评估,本申请实施例提供了手眼标定评估方法及机器人、电子设备。为了实现对机械臂的定位精度进行评估,本申请实施例提供了定位精度确定方法及机器人、电子设备。为了更精确地确定手眼标定的变换关系,本申请实施例还提供了手眼标定确定方法及机器人、电子设备。下面通过具体实施例,对本申请进行详细说明。
图1为本申请实施例提供的一种手眼标定评估方法的流程示意图。该方法应用于电子设备。该电子设备可以为具有计算处理功能的设备。该电子设备也可以是机械臂设备,也可以为包含机械臂系统的机器人,也可以是机械臂设备或者机器人之外的其他设备。
机械臂通常包括主体11、基座12、视觉传感器13和主控制器14等结构,参见图2a所以为各部分的连接关系。其中,主体可以包括各个关节111和末端112。视觉传感器13也可以为相机,视觉传感器所在的坐标系为相机坐标系。主控制器14可以位于基座内部。视觉传感器13可以安装于基座内部或外部,其相对于基座的位置和姿态固定。
本实施例的方法包括如下步骤:
步骤s101:获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系。
其中,标记物位于机械臂末端的预设位置处。标记物坐标系可以为以标记物的中心为原点,x、y轴位于标记物所在平面的坐标系。末端坐标系可以为以机械臂末端上的点为原点,x、y轴位于机械臂末端上的预设平面的坐标系。z轴为垂直于x、y轴所在平面的轴。
机械臂末端的预设位置可以是机械臂在结构设计阶段预留的位置,该位置与机械臂末端之间的相对位置固定。预设位置的大小可以根据标记物的大小确定。第一变换关系可以是根据机械臂末端与预设位置之间的相对位置预先确定的。
上述标记物可以采用aruco标记,也可以采用自定义的标记图像。aruco标记是二进制平方标记图像,它由一个宽的黑边和一个内部的二进制矩阵组成,内部的矩阵决定了它的标识(identity,id)。黑色的边界有利于快速检测到标记物图像,二进制编码可以验证id。aruco标记的大小决定了内部矩阵的大小。aruco标记的大小为5cm×5cm。参见图2b,该图2b为几种aruco标记的示例图。
标记物可以长期固定在预设位置,也可以在使用时放置在上述预设位置。当标记物位于上述预设位置时,标记物与预设位置完全精确契合,这样使得末端坐标系与标记物坐标系之间的变换关系精确地为上述第一变换关系。
步骤s102:基于第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系。
其中,标准手眼标定变换关系用于表示视觉传感器所在的相机坐标系相对于基座坐标系的变换关系。第一位姿信息为机械臂末端在基座坐标系中的位姿信息,第二位姿信息为标记物在相机坐标系中的位姿信息。第一位姿信息和第二位姿信息为机械臂末端处于一种位姿时对应的两个位姿信息。位姿信息包括位置和姿态等信息。
例如,位姿信息可以以下4*4阶的矩阵表示:
其中,
相机坐标系可以为以视觉传感器的成像平面中心为原点,x、y轴位于成像平面的坐标系。基座坐标系可以为以基座底面的中心点为原点,x、y轴位于基座底面所在平面的坐标系。z轴为垂直于x、y轴所在平面的轴。
本步骤可以包括获取第一位姿信息和第二位姿信息。具体的,可以从记录的位姿信息中选择第一位姿信息和第二位姿信息。
在一种实施方式中,本步骤具体可以包括:
基于公式axb=c,确定标准手眼标定变换关系。其中,x为标准手眼标定变换关系,b为第一位姿信息,a为根据第二位姿信息得到的视觉传感器在标记物坐标系中的位姿信息。c为第一变换关系。对第二位姿信息对应的矩阵求逆可以得到视觉传感器在标记物坐标系中的位姿信息。
参见图2c,该图2c为基座、视觉传感器、机械臂末端、标记物之间转换关系的一种原理图。其中,{b}为基座坐标系,{c}为相机坐标系。c为机械臂末端(箭头尾部)在标记物坐标系(箭头头部)中的位姿信息,也是标记物坐标系到末端坐标系的变换(第一变换关系)。b为机械臂末端在基座坐标系中的位姿信息(第一位姿信息),即基座坐标系到末端坐标系的变换。a为视觉传感器在标记物坐标系中的位姿信息,即标记物坐标系到相机坐标系的变换。其中,a1、b1和a2、b2分别为机械臂末端在不同位置处的a、b的具体取值。
上述a、b、c、x均为齐次变换矩阵,例如可以为4×4阶。在a、b、c均已知时,可以根据上述公式axb=c确定x的值,该值即为精确确定的标准手眼标定变化关系。
例如,已知的c可以为下面的齐次变换矩阵:
其中,
步骤s103:获取机械臂的测量手眼标定变换关系。
本步骤具体可以从保存的测量手眼标定变换关系中获取。测量手眼标定变化关系可以是采用以下方式确定的。
参见图2c,当机械臂末端位于不同位姿时,分别记录机械臂在每种位姿下机械臂末端在基座坐标系中的位姿信息b以及标记物在相机坐标系中的位姿信息a,对a求逆可以得到视觉传感器在标记物坐标系中的位姿信息a,即a=a-1。根据上述axb=c可以得到
aixbi=c(公式1)
以c作为未知量,为了消除该未知量,将机械臂在不同位姿下的b、a数据代入上述aixbi=c公式,可以得到a1xb1=a2xb2。即
(a-12a1)x=x(b2b-11)(公式2)
上述公式2为经典的ax=xb(此处a=a-12a1,b=b2b-11)。为了求解公式2,可以采用tsai-lenz算法(两步法,先求坐标系之间的旋转矩阵r,再求平移矩阵t)、navy算法(利用李群知识求解)、inria算法以及对偶四元数手眼定标算法。测量标定时需要获得30组以上位姿信息并采用优化方法求解。
例如,以下为一系列a和b中的一组:
根据多组a和b,求解上述公式2得到测量手眼标定变换关系如下:
步骤s104:基于标准手眼标定变换关系,确定测量手眼标定变换关系的标定精度。
本步骤具体可以确定标准手眼标定变换关系与测量手眼标定变换关系之间的差异量。根据预设的差异量与精确度的对应关系,确定上述差异量对应的精确度,作为测量手眼变换关系的精确度,即实现对测量手眼变换关系的评估。
根据公式x=qx0,可以得到测量手眼标定变换关系相对于标准手眼标定变换关系的误差精度q,即q=x0-1x。其中,x0为标准手眼标定变换关系,x为测量手眼标定变换关系。
在得到误差精度之后,当该误差精度小于预设误差阈值时,可以认为标准手眼标定变换关系比较准确。
由于标准手眼标定变换关系是根据末端坐标系相对于标记物坐标系的变换关系,以及机械臂末端在基座坐标系中的位姿信息,标记物在相机坐标系中的位姿信息计算得到的;与测量手眼标定变换关系的计算方式不同,可以以标准手眼标定变换关系作为接近真值的参考值,对测量手眼标定变换关系进行评估。如果二者之间误差较小,则认为测量手眼标定变换关系比较准确。
由上述内容可知,本实施例中,标记物位于机械臂末端的预设位置处,因此标记物相对于机械臂末端的位置是已知的,也就是末端坐标系与标记物坐标系的变换关系是已知的。在能准确地确定末端坐标系与标记物坐标系的变换关系的情况下,可以根据末端、标记物、视觉传感器、基座之间坐标系的相互变换关系,精确地确定手眼标定变换关系。将该值作为标准值,即能够对测量手眼标定变化关系进行精度的评估。因此本实施例能够实现对手眼标定的精度进行评估。
在具体实施例时,也可以采用精度较高的三坐标测量仪或者激光跟踪仪确定机械臂的手眼标定变换关系,作为标准手眼标定变换关系。但是这种方法需要用到昂贵的设备,实施过程比较复杂。而采用图1所示实施例的评估方式无需昂贵的设备,实施过程比较简单,并且能够提供比较精确的评估结果。
在本申请的另一实施例中,基于图1所示实施例,可以采用以下步骤1a和2a确定第二位姿信息:
步骤1a:在机械臂末端根据第一位姿信息完成移动任务时,获取机械臂的视觉传感器采集的包含上述标记物的图像。
上述图像可以是从保存的图像中获取。机械臂可以接收移动任务,该移动任务包含第一位姿信息。该第一位姿信息即为机械臂待移动至的目标位姿。主控制器在接收到该目标位姿时,可以控制各个关节进行转动和/或平移,以使机械臂末端达到第一位姿信息。
步骤2a:基于预设的标记物特征,从上述图像中检测上述标记物,并确定标记物在相机坐标系中的第二位姿信息。
其中,标记物特征可以为标记物上的二维图案色彩特征和/或标记物的大小特征。从上述图像中检测上述标记物,即从图像中检测出标记物的坐标区域。
确定标记物在相机坐标系中的第二位姿信息时,可以确定标记物上各个角点的坐标位置,根据各个角点的坐标位置得到标记物的第二位姿信息。除了该例子以外,实现该技术特征的其他方式均属于本申请实施例的保护范围。
综上,本实施例提供了确定第一位姿信息和第二位姿信息的具体实施方式。
机械臂可能会因为时间迁移、负载、制造误差、关节控制误差等原因,导致定位误差增加,本实施例还可以对机械臂的定位精度进行评估。
图3为本申请实施例提供的一种定位精度确定方法的流程示意图。该方法应用于电子设备。该电子设备可以为具有计算处理功能的设备。该电子设备也可以是机械臂设备,也可以为包含机械臂系统的机器人,也可以是机械臂设备或者机器人之外的其他设备。该方法包括:
步骤s301:获取第一位姿信息和对应的第二位姿信息,获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系。
其中,标记物位于机械臂末端的预设位置处,第一位姿信息为机械臂末端在基座坐标系中的位姿信息,第二位姿信息为标记物在视觉传感器所在的相机坐标系中的位姿信息。
步骤s302:根据第一变换关系和第二位姿信息,确定机械臂末端在相机坐标系中的第三位姿信息。
本步骤具体可以采用以下实施方式确定第三位姿信息d:
d=c-1a
其中,c为第一变换关系,a为第二位姿信息。c-1为对c求逆,c-1表示标记物坐标系相对于末端坐标系的变换关系。上述a、c、d均为齐次变换矩阵。
步骤s303:基于第三位姿信息,根据预设的手眼标定变换关系,确定机械臂末端在基座坐标系中的第四位姿信息。
其中,预设的手眼标定变换关系可以为标准手眼标定变换关系或测量手眼标定变换。
具体的,为了提高准确性和可靠性,本步骤可以基于第三位姿信息,根据测量手眼标定变换关系,确定机械臂末端在基座坐标系中的第四位姿信息。由于测量手眼标定变换关系是根据一系列测量数据确定的,相对于标准手眼标定变换关系更可靠。因此根据测量手眼标定变换关系确定的第四位姿信息更准确、可靠。
本步骤具体可以采用以下实施方式确定第四位姿信息e:
e=x-1d-1
其中,d为第三位姿信息,x为标准手眼标定变换关系或测量手眼标定变换关系。上述e、x、d均为齐次变换矩阵。
步骤s304:以第四位姿信息为测量位姿信息,以第一位姿信息为标准位姿信息,确定机械臂的定位精度。
其中,第一位姿信息在本实施例中可以理解为名义位姿或者理想位姿,即根据运动正解得到的位姿。测量位姿和名义位姿可能存在差别。定位精度可以理解为定位误差。
第四位姿信息为机械臂末端移动至第一位姿信息时,通过视觉传感器采集的图像确定的测量位姿。在确定机械臂的定位精度时,可以采用以下公式确定第四位姿信息和第一位姿信息之间的差异信息,作为机械臂的定位精度k:
k=b-1e
其中,b-1为b矩阵的逆矩阵,b为第一位姿信息,e为第四位姿信息。
综上,本实施例中,可以根据机械臂以第一位姿信息为目标进行移动后得到的第二位姿信息,结合第一变换关系,确定第三位姿信息;基于第三位姿信息和手眼标定变换关系,确定第四位姿信息;以第四位姿信息为测量位姿信息,以第一位姿信息为标准位姿信息,可以确定机械臂的定位精度,即实现基于机械臂末端预设位置处的标记物对机械臂的定位精度进行评估,能够实现对机械臂定位精度的评估。
在本申请的另一实施例中,基于图3所示实施例,在确定定位精度之后,该方法还包括以下步骤1c~2c。
步骤1c:在确定机械臂末端待移动的目标位姿信息时,根据上述定位精度对目标位姿信息进行修正。
其中,目标位姿信息可以是基座坐标系中的位姿信息。根据上述定位精度对目标位姿信息进行修正时,可以确定修正后的目标位姿信息为dk。其中,d为目标位姿信息,k为机械臂的定位精度。d、k均为矩阵。
本步骤具体可以在定位精度大于预设的精度阈值时,根据上述定位精度对目标位姿信息进行修正。
步骤2c:根据修正后的目标位姿信息,控制机械臂的各个关节进行移动,以使机械臂末端移动目标位姿信息。
具体的,可以根据修正后的目标位姿信息,确定各个关节的移动量信息,基于各个移动量信息,控制机械臂的各个关节进行移动。其中,移动量信息包括转动量和/或平移量。
当执行主体为机械臂的主控制器时,主控制器可以根据修正后的目标位姿信息,控制机械臂的各个关节进行移动,以使以使机械臂末端移动目标位姿信息。
当执行主体不为机械臂的主控制器时,作为执行主体的电子设备可以将修正后的目标位姿信息发送至主控制器,由主控制器控制机械臂的各个关节进行移动,以使以使机械臂末端移动目标位姿信息。
综上,本实施例中,可以在确定定位精度之后,对机械臂的目标位姿信息进行修正,以便使机械臂末端准确地移动目标位姿信息,减小机械臂的定位误差。
图3所示实施例与图1所示实施例为基于同一发明构思得到的实施例,图3所示实施例的具体实施方式均可以采用图1所示方法实施例中的内容。
图4为本申请实施例提供的一种手眼标定确定方法的流程示意图。该方法应用于电子设备。该电子设备可以为具有计算处理功能的设备。该电子设备也可以是机械臂设备,也可以为包含机械臂系统的机器人,也可以是机械臂设备或者机器人之外的其他设备。该方法包括以下步骤:
步骤s401:获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系。
其中,标记物位于所述机械臂末端的预设位置处。标记物坐标系可以为以标记物的中心为原点,x、y轴位于标记物所在平面的坐标系。末端坐标系可以为以机械臂末端上的点为原点,x、y轴位于机械臂末端上的预设平面的坐标系。z轴为垂直于x、y轴所在平面的轴。
机械臂末端的预设位置可以是机械臂在结构设计阶段预留的位置,该位置与机械臂末端之间的相对位置固定。预设位置的大小可以根据标记物的大小确定。第一变换关系可以是根据机械臂末端与预设位置之间的相对位置预先确定的。
上述标记物可以采用aruco标记,也可以采用自定义的标记图像。aruco标记是二进制平方标记图像,它由一个宽的黑边和一个内部的二进制矩阵组成,内部的矩阵决定了它的id。黑色的边界有利于快速检测到标记物图像,二进制编码可以验证id。aruco标记的大小决定了内部矩阵的大小。
标记物可以长期固定在预设位置,也可以在使用时放置在上述预设位置。当标记物位于上述预设位置时,标记物与预设位置完全精确契合,这样使得末端坐标系与标记物坐标系之间的变换关系精确地为上述第一变换关系。
步骤s402:基于第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系。
其中,标准手眼标定变换关系用于表示视觉传感器所在的相机坐标系相对于基座坐标系的变换关系。第一位姿信息为机械臂末端在基座坐标系中的位姿信息,第二位姿信息为标记物在所述相机坐标系中的位姿信息。第一位姿信息和第二位姿信息为机械臂末端处于一种位姿时对应的两个位姿信息。位姿信息包括位置和姿态等信息。
相机坐标系可以为以视觉传感器的成像平面中心为原点,x、y轴位于成像平面的坐标系。基座坐标系可以为以基座底面的中心点为原点,x、y轴位于基座底面所在平面的坐标系。z轴为垂直于x、y轴所在平面的轴。
本步骤可以包括获取第一位姿信息和第二位姿信息。具体的,可以从记录的位姿信息中选择第一位姿信息和第二位姿信息。
本步骤具体可以包括以下实施方式:基于公式axb=c,确定标准手眼标定变换关系。
其中,x为标准手眼标定变换关系,b为第一位姿信息,a为根据第二位姿信息得到的视觉传感器在标记物坐标系中的位姿信息。c为第一变换关系。
综上,本实施例中,标记物位于机械臂末端的预设位置处,因此标记物相对于机械臂末端的位置是已知的,也就是末端坐标系与标记物坐标系的变换关系是已知的。在能准确地确定末端坐标系与标记物坐标系的变换关系的情况下,可以根据末端、标记物、视觉传感器、基座之间坐标系的相互变换关系,精确地确定手眼标定变换关系。因此,本实施例可以更精确地确定手眼标定变换关系。
在本申请的另一实施例中,基于图4所示实施例,可以采用以下步骤1d和2d确定第二位姿信息:
步骤1d:在机械臂末端根据第一位姿信息完成移动任务时,获取机械臂的视觉传感器采集的包含标记物的图像。
上述图像可以是从保存的图像中获取。机械臂可以接收移动任务,该移动任务包含第一位姿信息。该第一位姿信息即为机械臂待移动至的目标位姿。主控制器在接收到该目标位姿时,可以控制各个关节进行转动和/或平移,以使机械臂末端达到第一位姿信息。
步骤2d:基于预设的标记物特征,从图像中检测所述标记物,并确定标记物在相机坐标系中的第二位姿信息。
其中,标记物特征可以为标记物上的二维图案色彩特征和/或标记物的大小特征。从上述图像中检测上述标记物,即从图像中检测出标记物的坐标区域。
确定标记物在相机坐标系中的第二位姿信息时,可以确定标记物上各个角点的坐标位置,根据各个角点的坐标位置得到标记物的第二位姿信息。除了该例子以外,实现该技术特征的其他方式均属于本申请实施例的保护范围。
综上,本实施例提供了确定第一位姿信息和第二位姿信息的具体实施方式。
图4所示实施例与图1所示实施例为基于同一发明构思得到的实施例,图4所示实施例的具体实施方式均可以采用图1所示方法实施例中的内容。
图5为本申请实施例提供的一种机器人的结构示意图。本实施例与图1所示方法实施例相对应。该机器人包括:处理器501、机械臂502和视觉传感器503。
处理器501,用于获取机械臂502末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;基于第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系;获取机械臂502的测量手眼标定变换关系;基于标准手眼标定变换关系,确定测量手眼标定变换关系的标定精度;
其中,标记物位于机械臂502末端的预设位置处;标准手眼标定变换关系用于表示视觉传感器503所在的相机坐标系相对于基座坐标系的变换关系,第一位姿信息为机械臂502末端在基座坐标系中的位姿信息,第二位姿信息为标记物在相机坐标系中的位姿信息。
在一种具体实施方式中,处理器501可以通过驱动部件与机械臂502连接。处理器501可以与视觉传感器503通信连接。
在本申请的另一实施例中,在图5所示实施例中,处理器501,基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定参量时,包括:
基于公式axb=c,确定标准手眼标定变换关系;其中,所述x为所述标准手眼标定变换关系,所述b为所述第一位姿信息,所述a为根据所述第二位姿信息得到的视觉传感器在所述标记物坐标系中的位姿信息,所述c为所述第一变换关系。
在本申请的另一实施例中,在图5所示实施例中,视觉传感器503,在所述机械臂502末端根据所述第一位姿信息完成移动任务时,采集包含所述标记物的图像;
处理器501,还用于获取视觉传感器503采集的图像;基于预设的标记物特征,从图像中检测标记物,并确定标记物在相机坐标系中的第二位姿信息。
图6为本申请实施例提供的另一种机器人的结构示意图。本实施例与图3所示方法实施例相对应。该机器人包括:处理器601、机械臂602和视觉传感器603。
处理器601,用于获取第一位姿信息和对应的第二位姿信息,获取所述机械臂602末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;根据所述第一变换关系和所述第二位姿信息,确定所述机械臂602末端在所述相机坐标系中的第三位姿信息;基于所述第三位姿信息,根据预设的手眼标定变换关系,确定所述机械臂602末端在所述基座坐标系中的第四位姿信息;以所述第四位姿信息为测量位姿信息,以所述第一位姿信息为标准位姿信息,确定所述机械臂602的定位精度;
其中,所述标记物位于所述机械臂602末端的预设位置处,所述第一位姿信息为所述机械臂602末端在基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在所述视觉传感器603所在的相机坐标系中的位姿信息。
在一种具体实施方式中,处理器501可以与视觉传感器503通信连接。
在本申请的另一实施例中,图6所示实施例的机器人还包括:驱动部件(图中未示出)。处理器601可以通过驱动部件与机械臂502连接。具体的,驱动部件可以为电动机。
处理器601,还用于在确定所述定位精度之后,且确定机械臂602末端待移动的目标位姿信息时,根据所述定位精度对所述目标位姿信息进行修正;根据修正后的目标位姿信息,控制所述驱动部件,以使所述驱动部件驱动所述机械臂602的各个关节进行移动,以便机械臂602末端移动目标位姿信息。
图7为本申请实施例提供的另一种机器人的结构示意图。本实施例与图4所示方法实施例相对应。该机器人包括:处理器701、机械臂702和视觉传感器703;
处理器701,用于获取机械臂702末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;基于第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系;
其中,标记物位于机械臂702末端的预设位置处;标准手眼标定变换关系用于表示视觉传感器703所在的相机坐标系相对于基座坐标系的变换关系,第一位姿信息为机械臂末端在基座坐标系中的位姿信息,第二位姿信息为标记物在相机坐标系中的位姿信息。
在一种具体实施方式中,处理器701可以通过驱动部件与机械臂702连接。处理器701可以与视觉传感器703通信连接。
在本申请的另一实施例中,在图7所示实施例中,处理器701,基于第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定参量时,具体包括:
基于公式axb=c,确定标准手眼标定变换关系;其中,x为标准手眼标定变换关系,b为第一位姿信息,a为根据第二位姿信息得到的视觉传感器在所述标记物坐标系中的位姿信息,c为第一变换关系。
在本申请的另一实施例中,在图7所示实施例中,视觉传感器703,在机械臂702末端根据第一位姿信息完成移动任务时,采集包含标记物的图像;
处理器701,还用于获取视觉传感器703采集的图像;基于预设的标记物特征,从图像中检测标记物,并确定标记物在相机坐标系中的第二位姿信息。
由于上述图5-图7所示机器人实施例是基于方法实施例得到的,与该方法具有相同的技术效果,因此机器人实施例的技术效果在此不再赘述。对于机器人实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
图8为本申请实施例提供的电子设备的一种结构示意图。本实施例与图1所示方法实施例相对应。该电子设备可以为具有计算处理功能的设备。该电子设备也可以是机械臂设备,也可以为包含机械臂系统的机器人,也可以是机械臂设备或者机器人之外的其他设备。该电子设备可以包括:处理器801和存储器802。
处理器801,用于获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系;获取所述机械臂的测量手眼标定变换关系;基于所述标准手眼标定变换关系,确定所述测量手眼标定变换关系的标定精度;
其中,所述标记物位于所述机械臂末端的预设位置处;所述标准手眼标定变换关系用于表示所述视觉传感器所在的相机坐标系相对于基座坐标系的变换关系,所述第一位姿信息为所述机械臂末端在所述基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在所述相机坐标系中的位姿信息。
存储器802,用于存储第一变换关系、第一位姿信息和第二位姿信息等。
在本申请的另一实施例中,基于图8所示实施例,处理器801,基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定参量的时,包括:
基于公式axb=c,确定标准手眼标定变换关系;其中,所述x为所述标准手眼标定变换关系,所述b为所述第一位姿信息,所述a为根据所述第二位姿信息得到的视觉传感器在所述标记物坐标系中的位姿信息,所述c为所述第一变换关系。
在本申请的另一实施例中,基于图8所示实施例,处理器801可以采用以下操作确定第二位姿信息:
在所述机械臂末端根据所述第一位姿信息完成移动任务时,获取机械臂的视觉传感器采集的包含标记物的图像;
基于预设的标记物特征,从所述图像中检测所述标记物,并确定所述标记物在所述相机坐标系中的第二位姿信息。
图9为本申请实施例提供的电子设备的一种结构示意图。本实施例与图3所示方法实施例相对应。该电子设备可以为具有计算处理功能的设备。该电子设备也可以是机械臂设备,也可以为包含机械臂系统的机器人,也可以是机械臂设备或者机器人之外的其他设备。该电子设备可以包括:处理器901和存储器902。
处理器901,用于获取第一位姿信息和对应的第二位姿信息,获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;根据所述第一变换关系和所述第二位姿信息,确定所述机械臂末端在所述相机坐标系中的第三位姿信息;基于所述第三位姿信息,根据所述标准手眼标定变换关系或所述测量手眼标定变换关系,确定所述机械臂末端在所述基座坐标系中的第四位姿信息;以所述第四位姿信息为测量位姿信息,以所述第一位姿信息为标准位姿信息,确定所述机械臂的定位精度;
其中,标记物位于机械臂末端的预设位置处,第一位姿信息为机械臂末端在基座坐标系中的位姿信息,第二位姿信息为标记物在视觉传感器所在的相机坐标系中的位姿信息。
在本申请的另一实施例中,基于图9所示实施例,处理器901,还用于:
在确定所述定位精度之后,在确定所述机械臂末端待移动的目标位姿信息时,根据所述定位精度对所述目标位姿信息进行修正;
根据修正后的目标位姿信息,控制所述机械臂的各个关节进行移动,以使所述机械臂末端移动所述目标位姿信息。
图10为本申请实施例提供的电子设备的一种结构示意图。本实施例与图4所示方法实施例相对应。该电子设备可以为具有计算处理功能的设备。该电子设备也可以是机械臂设备,也可以为包含机械臂系统的机器人,也可以是机械臂设备或者机器人之外的其他设备。该电子设备包括:处理器1001和存储器1002。
处理器1001,用于获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;基于第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系;
其中,所述标记物位于所述机械臂末端的预设位置处;所述标准手眼标定变换关系用于表示视觉传感器所在的相机坐标系相对于基座坐标系的变换关系,所述第一位姿信息为所述机械臂末端在所述基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在所述相机坐标系中的位姿信息。
存储器1002,用于存储第一变换关系、第一位姿信息和第二位姿信息等。
在本申请的另一实施例中,基于图10所示实施例,处理器1001,基于第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定参量时包括:
基于公式axb=c,确定标准手眼标定变换关系;其中,所述x为所述标准手眼标定变换关系,所述b为所述第一位姿信息,所述a为根据所述第二位姿信息得到的视觉传感器在所述标记物坐标系中的位姿信息,所述c为所述第一变换关系。
在本申请的另一实施例中,基于图10所示实施例,处理器1001还用于采用以下操作确定第二位姿信息:
在机械臂末端根据所述第一位姿信息完成移动任务时,获取所述机械臂的视觉传感器采集的包含所述标记物的图像;
基于预设的标记物特征,从所述图像中检测所述标记物,并确定所述标记物在所述相机坐标系中的第二位姿信息。
由于上述图8-图10所述设备实施例是基于方法实施例得到的,与该方法具有相同的技术效果,因此设备实施例的技术效果在此不再赘述。对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
上述各个实施例中的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现本申请实施例提供的手眼标定评估方法。该手眼标定评估方法包括:
获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;所述标记物位于所述机械臂末端的预设位置处;
基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系;其中,所述标准手眼标定变换关系用于表示视觉传感器所在的相机坐标系相对于基座坐标系的变换关系,所述第一位姿信息为所述机械臂末端在所述基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在所述相机坐标系中的位姿信息;
获取所述机械臂的测量手眼标定变换关系;
基于所述标准手眼标定变换关系,确定所述测量手眼标定变换关系的标定精度。
综上,本实施例中,标记物位于机械臂末端的预设位置处,因此标记物相对于机械臂末端的位置是已知的,也就是末端坐标系与标记物坐标系的变换关系是已知的。在能准确地确定末端坐标系与标记物坐标系的变换关系的情况下,可以根据末端、标记物、视觉传感器、基座之间坐标系的相互变换关系,精确地确定手眼标定变换关系。将该值作为标准值,即能够对测量手眼标定变化关系进行精度的评估。因此本实施例能够实现对手眼标定的精度进行评估。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现本申请实施例提供的手眼标定确定方法。该定位精度确定方法包括:
获取第一位姿信息和对应的第二位姿信息,获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;其中,所述标记物位于所述机械臂末端的预设位置处,所述第一位姿信息为所述机械臂末端在基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在视觉传感器所在的相机坐标系中的位姿信息;
根据所述第一变换关系和所述第二位姿信息,确定所述机械臂末端在所述相机坐标系中的第三位姿信息;
基于所述第三位姿信息,根据预设的手眼标定变换关系,确定所述机械臂末端在所述基座坐标系中的第四位姿信息;
以所述第四位姿信息为测量位姿信息,以所述第一位姿信息为标准位姿信息,确定所述机械臂的定位精度。
本实施例中,可以根据机械臂以第一位姿信息为目标进行移动后得到的第二位姿信息,结合第一变换关系,确定第三位姿信息;基于第三位姿信息和手眼标定变换关系,确定第四位姿信息;以第四位姿信息为测量位姿信息,以第一位姿信息为标准位姿信息,可以确定机械臂的定位精度,即实现基于机械臂末端预设位置处的标记物对机械臂的定位精度进行评估,能够实现对定位精度的评估。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现本申请实施例提供的手眼标定确定方法。该手眼标定确定方法包括:
获取机械臂末端所在的末端坐标系相对于标记物所在的标记物坐标系的第一变换关系;所述标记物位于所述机械臂末端的预设位置处;
基于所述第一变换关系,以及第一位姿信息和第二位姿信息,确定标准手眼标定变换关系;
其中,所述标准手眼标定变换关系用于表示视觉传感器所在的相机坐标系相对于基座坐标系的变换关系,所述第一位姿信息为所述机械臂末端在所述基座坐标系中的位姿信息,所述第二位姿信息为所述标记物在所述相机坐标系中的位姿信息。
综上,本实施例中,标记物位于机械臂末端的预设位置处,因此标记物相对于机械臂末端的位置是已知的,也就是末端坐标系与标记物坐标系的变换关系是已知的。在能准确地确定末端坐标系与标记物坐标系的变换关系的情况下,可以根据末端、标记物、视觉传感器、基座之间坐标系的相互变换关系,精确地确定手眼标定变换关系。因此,本实施例可以更精确地确定手眼标定变换关系。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本申请的保护范围内。