机械臂标定方法、装置、系统、介质、控制器及机械臂与流程

文档序号:17238193发布日期:2019-03-30 08:27阅读:237来源:国知局
机械臂标定方法、装置、系统、介质、控制器及机械臂与流程

本发明涉及机械臂控制技术领域,尤其涉及一种机械臂标定方法、装置、系统、介质、控制器及机械臂。



背景技术:

机械臂是拟人手臂、手腕和手功能的电子机械装置,可以把任意一个物件按照空间位姿的时变要求进行移动,从而完成夹持焊钳或焊枪、点焊或弧焊、搬运零件或构件、激光切割、喷涂、装配机械零部件等工业操作。

目前,通常采用示教和再现的方式,使机械臂完成相应的工业操作,其中,示教过程是一种通过执行示教动作来引导机械臂进行工业操作的过程,再现过程是一种凭借记忆力来模拟示教动作的过程。一般情况下,示教运动轨迹与机械臂运动轨迹之间存在着一定的变换关系,若要通过示教和再现的方式,使机械臂完成相应的工业操作,需要确定这种变换关系,而这种变换关系的确定过程即为机械臂标定过程。

现有技术中,一般通过人工标定方式来确定示教运动轨迹与机械臂运动轨迹之间的变换关系,这种人工标定方式的步骤较为繁琐,而且容易出错,标定结果存在误差。



技术实现要素:

本发明实施例提供了一种机械臂标定方法、装置、系统、介质、控制器及机械臂,用以解决现有技术中的机械臂标定方法存在标定步骤繁琐、标定结果不准确的问题。

本发明实施例提供的具体技术方案如下:

本发明实施例提供了一种机械臂标定方法,应用于机械臂控制器,其中,机械臂标定方法包括:

控制机械臂执行预先设定的动作;

确定机械臂执行预先设定的动作时的机械臂运动轨迹参数;

获取安装在机械臂末端控制器件上的跟踪器在机械臂执行预先设定的动作时采集的跟踪器运动轨迹参数;

基于机械臂运动轨迹参数和跟踪器运动轨迹参数,获得机械臂与跟踪器之间的运动轨迹参数变换关系。

本发明实施例提供了另一种机械臂标定方法,应用于安装在机械臂末端控制器件上的跟踪器,其中,机械臂标定方法包括:

在机械臂执行预先设定的动作时,采集跟踪器运动轨迹参数;

将跟踪器运动轨迹参数发送至机械臂控制器。

本发明实施例提供了一种机械臂标定装置,应用于机械臂控制器,其中,机械臂标定装置包括:

控制单元,用于控制机械臂执行预先设定的动作;

确定单元,用于确定机械臂执行预先设定的动作时的机械臂运动轨迹参数;

获取单元,用于获取安装在机械臂末端控制器件上的跟踪器在机械臂执行预先设定的动作时采集的跟踪器运动轨迹参数;

标定单元,用于基于确定单元确定出的机械臂运动轨迹参数和获取单元获得的跟踪器运动轨迹参数,获得机械臂与跟踪器之间的运动轨迹参数变换关系。

本发明实施例提供了另一种机械臂标定装置,应用于安装在机械臂末端控制器件上的跟踪器,其中,机械臂标定装置包括:

采集单元,用于在机械臂执行预先设定的动作时,采集跟踪器运动轨迹参数;

通信单元,用于将采集单元采集到的跟踪器运动轨迹参数发送至机械臂控制器。

本发明实施例提供了一种机械臂标定系统,包括:机械臂,机械臂控制器,以及安装在机械臂末端控制器件上的跟踪器,跟踪器与机械臂控制器通信相连,其中,

跟踪器,用于在机械臂执行预先设定的动作时,采集跟踪器运动轨迹参数并发送至机械臂控制器;

机械臂控制器,用于控制机械臂执行预先设定的动作,并确定机械臂执行预先设定的动作时的机械臂运动轨迹参数,基于确定出的机械臂运动轨迹参数和跟踪器发送的跟踪器运动轨迹参数,获得机械臂与跟踪器之间的运动轨迹参数变换关系。

本发明实施例提供了一种计算机存储介质,该计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现本发明实施例提供的上述应用于安装在机械臂末端控制器件上的跟踪器的机械臂标定方法的步骤;或者,实现本发明实施例提供的上述应用于机械臂控制器的机械臂标定方法的步骤。

本发明实施例提供了一种机械臂控制器,包括存储器、处理器和存储在存储器上的计算机程序,处理器执行计算机程序时实现本发明实施例提供的上述应用于机械臂控制器的机械臂标定方法的步骤。

本发明实施例提供了一种机械臂,包括本发明实施例提供的上述机械臂控制器。

本发明实施例的有益效果如下:

本发明实施例中,只需将跟踪器安装在机械臂末端的控制器件上并将预先设定的动作配置在机械臂控制器中,即可通过机械臂控制器与跟踪器之间的相互协作,获得机械臂与跟踪器之间的运动轨迹参数变换关系,从而实现了机械臂的自动标定,简化了人工标定的操作步骤,而且,自动标定的标定结果较为准确,误差较小,此外,通过跟踪器采集的跟踪器运动轨迹参数的精度较高,从而有效地提高了最终获得的运动轨迹参数变换关系的精准度。

附图说明

图1为本发明实施例中提供的机械臂标定系统的系统结构示意图;

图2为本发明实施例中提供的机械臂标定方法的流程示意图;

图3为本发明实施例中提供的以“机械臂控制器控制机械臂执行画圆和画球两个动作”为具体应用场景时的机械臂标定方法的具体流程示意图;

图4为本发明实施例中提供的以“机械臂控制器仅控制机械臂执行画一条弧线的动作”为具体应用场景时的机械臂标定方法的具体流程示意图;

图5为本发明实施例中提供的机械臂示教方法的流程示意图;

图6为本发明实施例中提供的应用于跟踪器的机械臂标定装置的功能结构示意图;

图7为本发明实施例中提供的应用于机械臂控制器的机械臂标定装置的功能结构示意图;

图8为本发明实施例中提供的机械臂控制器的硬件结构示意图。

具体实施方式

为了便于理解本发明,下面对本发明实施例中涉及的部分技术用语进行说明。

跟踪器,为能够定位出自身的位置坐标和姿态角度,并通过无线网络将定位出的位置坐标和姿态角度发送至机械臂控制器的一种定位设备,例如:空间跟踪定位器,或者其它能够实现上述功能的定位设备等。

预先设定的动作,为预先配置在机械臂控制器中的任意动作,例如:画一个圆、以机械臂末端为球心画一个球、画一条弧线等,其中,预先设定的动作的数目可以是一个,也可以是两个。

跟踪器运动轨迹参数,为在机械臂执行预先设定的动作时,跟踪器跟随机械臂末端控制器件一起运动时的运动轨迹参数,包括但不限于:跟踪器位置坐标和跟踪器姿态角度。

机械臂运动轨迹参数,为控制机械臂执行预先设定的动作时机械臂末端的运动轨迹参数,包括但不限于:机械臂末端位置坐标和机械臂末端姿态角度。

运动轨迹参数变换关系,为跟踪器运动轨迹参数与机械臂运动轨迹参数之间的变换关系,用于将示教运动时跟踪器采集的示教运动轨迹参数转换成机械臂末端的模拟运动轨迹参数。

在一个实施例中,运动轨迹参数变换关系可以包括但不限于:机械臂与跟踪器之间的坐标旋转变换关系、机械臂末端与跟踪器之间的位姿变换关系。其中,坐标旋转变换关系用于将示教运动时跟踪器采集的示教运动轨迹参数从跟踪器坐标系转换到机械臂坐标系;位姿变换关系用于将机械臂坐标系下的示教运动轨迹参数转换成机械臂末端的模拟运动轨迹参数,位姿变换关系可以是但不限于是:机械臂末端与跟踪器之间的姿态变换关系以及机械臂末端与跟踪器坐标系原点之间的相对位置关系。

在另一个实施例中,运动轨迹参数变换关系可以包括但不限于:机械臂与跟踪器之间的坐标变换平移关系、机械臂末端与跟踪器之间的姿态变换关系。其中,坐标变换平移关系用于在将示教运动时跟踪器采集的示教运动轨迹参数从跟踪器坐标系转换到机械臂坐标系的同时,将示教运动轨迹参数中的示教位置坐标转换成机械臂末端的模拟位置坐标,坐标变换平移关系可以是但不限于是机械臂与跟踪器之间的坐标旋转变换关系和坐标平移变换关系;姿态变换关系,用于将机械臂坐标系下的示教运动轨迹参数中的示教姿态角度转换成机械臂末端的模拟姿态角度,姿态变换关系可以是但不限于是机械臂末端与跟踪器之间的姿态变换关系。

需要说明的是,在本文中提及的“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,在本文中提及的“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在具体实践过程中,本申请的发明人发现,目前的机械臂标定方法存在标定步骤繁琐、标定结果不精确的问题,为此,本申请的发明人考虑到,可以在机械臂末端控制器件上安装一个跟踪器,并通过机械臂控制器控制机械臂执行预先设定的动作,安装在机械臂末端控制器件上的跟踪器在机械臂执行预先设定的动作时,采集跟踪器运动轨迹参数并发送至机械臂控制器,机械臂控制器就可以在确定机械臂执行预先设定的动作时的机械臂运动轨迹参数后,根据跟踪器发送的跟踪器运动轨迹参数和确定的机械臂运动轨迹参数,获得机械臂与跟踪器之间的运动轨迹参数变换关系。这样,只需将跟踪器安装在机械臂末端的控制器件上并将预先设定的动作配置在机械臂控制器中,即可通过机械臂控制器与跟踪器之间的相互协作,获得机械臂与跟踪器之间的运动轨迹参数变换关系,从而实现了机械臂的自动标定,简化了人工标定的操作步骤,而且,自动标定的标定结果较为准确,误差较小,此外,跟踪器采集到的跟踪器运动轨迹参数的精度较高,有效地提高了最终获得的运动轨迹参数变换关系的精准度。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种机械臂标定系统,参阅图1所示,本发明示例性实施方式的机械臂标定系统100包括:机械臂101,机械臂控制器102,以及安装在机械臂101末端控制器件1010上的跟踪器103,跟踪器13与机械臂控制器102通信相连,其中,

跟踪器103,用于在机械臂101执行预先设定的动作时,采集跟踪器运动轨迹参数并发送至机械臂控制器102;

机械臂控制器102,用于控制机械臂101执行预先设定的动作,并确定机械臂101执行预先设定的动作时的机械臂运动轨迹参数,基于确定出的机械臂运动轨迹参数和跟踪器发送的跟踪器运动轨迹参数,获得机械臂101与跟踪器103之间的运动轨迹参数变换关系。

在一种可能的实施方式中,跟踪器运动轨迹参数包括:跟踪器位置坐标和跟踪器姿态角度;

机械臂运动轨迹参数包括:机械臂末端位置坐标和机械臂末端姿态角度。

在一种可能的实施方式中,机械臂控制器102,用于根据预先设定的动作,获得机械臂控制信息,并基于机械臂控制信息,控制机械臂101执行预先设定的动作。

在一种可能的实施方式中,若预先设定的动作的数目为两个,则机械臂控制器102,用于基于机械臂101执行预先设定的第一动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数,得到机械臂101与跟踪器103之间的坐标旋转变换关系;基于机械臂101执行预先设定的第二动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数,得到机械臂101末端与跟踪器103之间的位姿变换关系;将坐标旋转变换关系和位姿变换关系确定为运动轨迹参数变换关系。

在一种可能的实施方式中,机械臂控制器102,具体用于采用第一算法,对机械臂101执行预先设定的第一动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数进行分析,得到坐标旋转变换关系。

在一种可能的实施方式中,机械臂控制器102,具体用于基于坐标旋转变换关系,对机械臂101执行预先设定的第二动作时的跟踪器运动轨迹参数进行坐标系转换处理,得到机械臂坐标系下的跟踪器运动轨迹参数;采用第二算法,对机械臂坐标系下的跟踪器运动轨迹参数和机械臂101执行预先设定的第二动作时的机械臂运动轨迹参数进行分析,得到机械臂101末端与跟踪器103坐标系原点之间的相对位置关系和机械臂101末端与跟踪器103之间的姿态变换关系;将相对位置关系和姿态变换关系确定为位姿变换关系。

在一种可能的实施方式中,若预先设定的动作的数目为一个,则机械臂控制器102,用于基于机械臂101执行预先设定的动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数,得到机械臂101与跟踪器103之间的坐标旋转变换关系和坐标平移变换关系,并将坐标旋转变换关系和坐标平移变换关系确定为机械臂101与跟踪器103之间的坐标变换平移关系;基于坐标旋转变换关系,对跟踪器运动轨迹参数中的跟踪器姿态角度进行坐标系转换处理,得到机械臂坐标系下的跟踪器姿态角度,并对机械臂坐标系下的跟踪器姿态角度和机械臂运动轨迹参数中的机械臂末端姿态角度进行分析,得到机械臂末端与跟踪器之间的姿态变换关系;将坐标变换平移关系和姿态变换关系确定为运动轨迹参数变换关系。

在一种可能的实施方式中,机械臂控制器102,具体用于采用第三算法,对机械臂101执行预先设定的动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数进行分析,得到坐标旋转变换关系和坐标平移变换关系。

在具体实施时,机械臂控制器102可以是集成在机械臂101内部的控制模块,也可以是独立于机械臂101存在的外部装置,比如,计算机设备,图1中仅以机械臂控制器102是独立于机械臂101存在的外部装置为例。

下面结合本发明示例性实施方式的机械臂标定系统100,对本发明实施例提供的机械臂标定方法进行详细说明。

在实际应用中,在通过本发明示例性实施方式的机械臂标定系统100对机械臂101进行自动标定之前,可以预先将跟踪器103安装到的机械臂101末端夹持的控制器件1010上,并将设定的动作配置到机械臂控制器102中,例如,以下发配置指令的方式将设定的动作配置到机械臂控制器102中,在执行完上述预处理操作后,即可通过本发明示例性实施方式的机械臂标定系统100,对机械臂101进行自动标定。

在具体实施时,参阅图2所示,本发明示例性实施方式的机械臂标定方法的流程如下:

步骤201:机械臂控制器102控制机械臂101执行预先设定的动作。

在一个实施例中,预先设定的动作的数目可以是两个,即预先设定的动作可以包括预先设定的第一动作和预先设定的第二动作。具体的,机械臂控制器102可以先根据预先设定的第一动作,获得机械臂位姿变化信息,基于机械臂位姿变化信息,获得机械臂控制信息后,基于机械臂控制信息,控制机械臂101执行预先设定的第一动作,再根据预先设定的第二动作,获得机械臂位姿变化信息,基于机械臂位姿变化信息,获得机械臂控制信息后,基于机械臂控制信息,控制机械臂101执行预先设定的第二动作。其中,预先设定的第一动作与预先设定的第二动作可以是两种不同的动作。

例如:假设预先设定的第一动作是画一个圆,预先设定的第二动作是以机械臂末端为球心画一个球。

机械臂控制器102可以先根据预先设定的第一动作“画一个圆”,获得第一机械臂位姿变化信息,根据第一机械臂位姿变化信息,生成第一机械臂控制信息后,基于第一机械臂控制信息,控制机械臂101执行预先设定的第一动作,即控制机械臂101画一个圆。

然后,机械臂控制器102再根据预先设定的第二动作“以机械臂末端为球心画一个球”,获得第二机械臂位姿变化信息,根据第二机械臂位姿变化信息,生成第二机械臂控制信息后,基于第二机械臂控制信息,控制机械臂101执行预先设定的第二动作,即控制机械臂101以机械臂末端为球心画一个球。

在另一个实施例中,预先设定的动作的数目可以是一个,具体的,机械臂控制器102可以仅根据预先设定的动作,获得机械臂位姿变化信息,基于机械臂位姿变化信息,获得机械臂控制信息后,基于机械臂控制信息,控制机械臂101执行预先设定的动作。

例如:假设预先设定的动作是画一条弧线。

机械臂控制器102可以根据预先设定的动作“画一条弧线”,获得机械臂位姿变化信息,根据机械臂位姿变化信息,生成机械臂控制信息后,基于机械臂控制信息,控制机械臂101执行预先设定的动作,即控制机械臂101画一条弧线。

步骤202:机械臂控制器102确定机械臂101执行预先设定的动作时的机械臂运动轨迹参数。

在实际应用中,机械臂运动轨迹参数包括但不限于:机械臂末端位置坐标和机械臂末端姿态角度。具体的,机械臂控制器102可以根据在获取机械臂控制信息的过程中获得的机械臂位姿变化信息,直接确定机械臂运动轨迹参数,也可以在控制机械臂101执行预先设定的动作的过程中,将机械臂101上报的运动轨迹参数确定为机械臂运动轨迹参数,本发明示例性实施方式的机械臂标定方法中,仅以将机械臂101上报的运动轨迹参数确定为机械臂运动轨迹参数为例进行说明。

在一个实施例中,若预先设定的动作的数目为两个,则机械臂控制器102可以在控制机械臂101执行预先设定的第一动作的过程中,将机械臂101上报的运动轨迹参数确定为机械臂101执行预先设定的第一动作时的机械臂运动轨迹参数,以及在控制机械臂101执行预先设定的第二动作的过程中,将机械臂101上报的运动轨迹参数确定为机械臂101执行预先设定的第二动作时的机械臂运动轨迹参数。

例如:继续沿用上例,机械臂控制器102在控制机械臂101执行预先设定的第一动作的过程中,即在控制机械臂101画一个圆的过程中,将机械臂101上报的机械臂末端位置坐标和机械臂末端姿态角度等运动轨迹参数确定为机械臂101执行画圆动作时的机械臂运动轨迹参数;以及,在控制机械臂101执行预先设定的第二动作的过程中,即在控制机械臂101以机械臂末端为球心画一个球的过程中,将机械臂101上报的机械臂末端位置坐标和机械臂末端姿态角度等运动轨迹参数确定为机械臂101执行画球动作时的机械臂运动轨迹参数。

对应的,在另一个实施例中,若预先设定的动作的数目为一个,则机械臂控制器102可以在控制机械臂101执行预先设定的动作的过程中,将机械臂101上报的运动轨迹参数确定为机械臂101执行预先设定的动作时的机械臂运动轨迹参数。

例如:继续沿用上例,机械臂控制器102在控制机械臂101执行预先设定的动作的过程中,即在控制机械臂101画一条弧线的过程中,将机械臂101上报的机械臂末端位置坐标和机械臂末端姿态角度等运动轨迹参数确定为机械臂101执行画弧动作时的机械臂运动轨迹参数。

步骤203:跟踪器103在机械臂101执行预先设定的动作时,采集跟踪器运动轨迹参数。

在实际应用中,由于跟踪器103安装在机械臂末端控制器件1010上,所以,当机械臂101在机械臂控制器102的控制下执行预先设定的动作时,跟踪器也会跟随机械臂末端控制器件1010一起运动,基于此,跟踪器103可以在机械臂101执行预先设定的动作时,采集跟踪器运动轨迹参数,其中,跟踪器运动轨迹参数包括但不限于:跟踪器位置坐标和跟踪器姿态角度。

在一个实施例中,若预先设定的动作的数目为两个,则跟踪器103可以在机械臂101执行预先设定的第一动作时采集跟踪器运动轨迹参数,以及在机械臂101执行预先设定的第二动作时采集跟踪器运动轨迹参数。

例如:继续沿用上例,跟踪器103在机械臂101执行预先设定的第一动作时,即在机械臂101执行画圆动作时,采集跟踪器位置坐标和跟踪器姿态角度等跟踪器运动轨迹参数,以及在机械臂101执行预先设定的第二动作时,即在机械臂101执行画球动作时,采集跟踪器位置坐标和跟踪器姿态角度等跟踪器运动轨迹参数。

对应的,在另一个实施例中,若预先设定的动作的数目为一个,则跟踪器103可以仅在机械臂101执行预先设定的动作时采集跟踪器运动轨迹参数。

例如:继续沿用上例,跟踪器103在机械臂101执行预先设定的动作时,即在机械臂101执行画弧动作时,采集跟踪器位置坐标和跟踪器姿态角度等跟踪器运动轨迹参数。

步骤204:跟踪器103将跟踪器运动轨迹参数发送至机械臂控制器102。

在一个实施例中,若预先设定的动作的数目为两个,则跟踪器103可以在机械臂101执行预先设定的第一动作的过程中,将采集到的跟踪器运动轨迹参数发送至机械臂控制器,以及在机械臂101执行预先设定的第二动作的过程中,将采集到的跟踪器运动轨迹参数发送至机械臂控制器102。

例如:继续沿用上例,跟踪器103在机械臂101执行预先设定的第一动作的过程中,即在机械臂101执行画圆动作的过程中,将采集到的跟踪器位置坐标和跟踪器姿态角度等跟踪器运动轨迹参数发送至机械臂控制器102,以及在机械臂101执行预先设定的第二动作的过程中,即在机械臂101执行画球动作的过程中,将采集到的跟踪器位置坐标和跟踪器姿态角度等跟踪器运动轨迹参数发送至机械臂控制器102。

对应的,在另一个实施例中,若预先设定的动作的数目为一个,则跟踪器103可以仅在机械臂101执行预先设定的动作的过程中,将采集到的跟踪器运动轨迹参数发送至机械臂控制器102。

例如:继续沿用上例,跟踪器103在机械臂101执行预先设定的动作的过程中,即在机械臂101执行画弧动作的过程中,将采集到的跟踪器位置坐标和跟踪器姿态角度等跟踪器运动轨迹参数发送至机械臂控制器102。

步骤205:机械臂控制器102获取跟踪器103在机械臂101执行预先设定的动作时采集的跟踪器运动轨迹参数。

在一个实施例中,若预先设定的动作的数目为两个,则机械臂控制器102可以在控制机械臂101执行预先设定的第一动作的过程中,将跟踪器103发送的跟踪器运动轨迹参数确定为机械臂101执行预先设定的第一动作时的跟踪器运动轨迹参数,以及在控制机械臂101执行预先设定的第二动作的过程中,将跟踪器103发送的跟踪器运动轨迹参数确定为机械臂101执行预先设定的第二动作时的跟踪器运动轨迹参数。

例如:继续沿用上例,机械臂控制器102在控制机械臂101执行预先设定的第一动作的过程中,即在控制机械臂101执行画圆动作的过程中,将跟踪器103发送的跟踪器位置坐标和跟踪器姿态角度等跟踪器运动轨迹参数确定为机械臂101执行画圆动作时的跟踪器运动轨迹参数,以及在控制机械臂101执行预先设定的第二动作的过程中,即在控制机械臂101执行画球动作的过程中,将跟踪器103发送的跟踪器位置坐标和跟踪器姿态角度等跟踪器运动轨迹参数确定为机械臂101执行画球动作时的跟踪器运动轨迹参数。

对应的,在另一个实施例中,若预先设定的动作的数目为一个,则机械臂控制器102可以在控制机械臂101执行预先设定的动作的过程中,将跟踪器103发送的跟踪器运动轨迹参数确定为机械臂101执行预先设定的动作时的跟踪器运动轨迹参数。

例如:继续沿用上例,机械臂控制器102在控制机械臂101执行预先设定的动作的过程中,即在控制机械臂101执行画弧动作的过程中,将跟踪器103发送的跟踪器位置坐标和跟踪器姿态角度等跟踪器运动轨迹参数确定为机械臂101执行画弧动作时的跟踪器运动轨迹参数。

步骤206:机械臂控制器102基于机械臂运动轨迹参数和跟踪器运动轨迹参数,获得机械臂101与跟踪器103之间的运动轨迹参数变换关系。

在一个实施例中,若预先设定的动作的数目为两个,则机械臂控制器102在获得机械臂101与跟踪器103之间的运动轨迹参数变换关系时,可以采用但不限于以下方式:

首先,机械臂控制器102可以基于机械臂101执行预先设定的第一动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数,得到机械臂101与跟踪器103之间的坐标旋转变换关系。

具体的,机械臂控制器102可以采用第一算法,对机械臂101执行预先设定的第一动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数进行分析,得到坐标旋转变换关系;其中,第一算法可以是但不限于是迭代最近点(iterativeclosestpoints,icp)算法,坐标旋转变换关系可以是但不限于是坐标旋转变换矩阵。

然后,机械臂控制器102可以基于机械臂101执行预先设定的第二动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数,得到机械臂101末端与跟踪器103之间的位姿变换关系。

具体的,机械臂控制器102可以基于坐标旋转变换关系,对机械臂101执行预先设定的第二动作时的跟踪器运动轨迹参数进行坐标系转换处理,得到机械臂坐标系下的跟踪器运动轨迹参数,并采用第二算法,对机械臂坐标系下的跟踪器运动轨迹参数和机械臂101执行预先设定的第二动作时的机械臂运动轨迹参数进行分析,得到机械臂101末端与跟踪器103之间的姿态变换关系和机械臂101末端与跟踪器103坐标系原点之间的相对位置关系,并将姿态变换关系和相对位置关系确定为机械臂101末端与跟踪器103之间的位姿变换关系;其中,第二算法可以是但不限于是球面拟合算法,姿态变换关系可以是但不限于是姿态变换矩阵,相对位置关系可以是但不限于是相对位置矩阵。

最后,机械臂控制器102可以将坐标旋转变换关系和位姿变换关系确定为机械臂101与跟踪器103之间的运动轨迹参数变换关系。

例如:继续沿用上例,机械臂控制器102采用icp算法,对机械臂101执行画圆动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数进行分析,得到机械臂101与跟踪器103之间的坐标旋转变换矩阵[r],并将坐标旋转变换矩阵[r]确定为机械臂101与跟踪器103之间的坐标系变换关系tansform1a。

机械臂控制器102基于坐标系变换关系tansform1a,即基于坐标旋转变换矩阵[r],对机械臂101执行画球动作时的跟踪器运动轨迹参数进行坐标系转换处理,得到机械臂坐标系下的跟踪器运动轨迹参数,并采用球面拟合算法,对机械臂坐标系下的跟踪器运动轨迹参数和机械臂101执行画球动作时的机械臂运动轨迹参数进行分析,得到机械臂101末端与跟踪器103之间的姿态变换矩阵[r_tcp]和机械臂101末端与跟踪器103坐标系原点之间的相对位置矩阵[t],以及基于姿态变换矩阵[r_tcp]和相对位置矩阵[t],得到机械臂101末端与跟踪器103之间的位姿变换关系tansform2a。

机械臂控制器102将坐标系变换关系tansform1a和位姿变换关系tansform2a确定为机械臂101与跟踪器103之间的运动轨迹参数变换关系tansform[tansform1a,tansform2a]。

对应的,在另一个实施例中,若预先设定的动作的数目为一个,则机械臂控制器102在获得机械臂101与跟踪器103之间的运动轨迹参数变换关系时,可以采用但不限于以下方式:

首先,机械臂控制器102基于机械臂101执行预先设定的动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数,得到机械臂101与跟踪器103之间的坐标旋转变换关系和坐标平移变换关系,并将坐标旋转变换关系和坐标平移变换关系确定为机械臂101与跟踪器103之间的坐标变换平移关系。

具体的,机械臂控制器102可以采用第三算法,对机械臂101执行预先设定的动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数进行分析,得到坐标旋转变换关系和坐标平移变换关系;其中,第三算法可以与第一算法是同一算法,也可以是不同算法,本发明示例性实施方式的机械臂标定方法仅以第三算法与第一算法是同一算法,均为icp算法为例进行说明,坐标旋转变换关系可以是但不限于是坐标旋转变换矩阵,坐标平移变换关系可以是但不限于是坐标平移变换矩阵。

然后,机械臂控制器102可以基于坐标旋转变换关系,对跟踪器运动轨迹参数中的跟踪器姿态角度进行坐标系转换处理,得到机械臂坐标系下的跟踪器姿态角度,并对机械臂坐标系下的跟踪器姿态角度和机械臂运动轨迹参数中的机械臂末端姿态角度进行分析,得到机械臂101末端与跟踪器103之间的姿态变换关系。

最后,机械臂控制器102可以将坐标变换平移关系和姿态变换关系确定为机械臂101与跟踪器103之间的运动轨迹参数变换关系。

例如:继续沿用上例,机械臂控制器102采用icp算法,对机械臂执行画弧动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数进行分析,得到机械臂101与跟踪器103之间的坐标旋转变换矩阵[r]和坐标平移变换矩阵[t],并将坐标旋转变换矩阵[r]和坐标平移变换矩阵[t]确定为坐标变换平移关系tansform1b。

机械臂控制器102基于坐标旋转变换矩阵[r],对跟踪器运动轨迹参数中的跟踪器姿态角度进行坐标系转换处理,得到机械臂坐标系下的跟踪器姿态角度,并对机械臂坐标系下的跟踪器姿态角度和机械臂运动轨迹参数中的机械臂末端姿态角度进行分析,得到机械臂101末端与跟踪器103之间的姿态变换矩阵[r_tcp],并将姿态变换矩阵[r_tcp]确定为机械臂101末端与跟踪器103之间的姿态变换关系tansform2b。

机械臂控制器102将坐标变换平移关系tansform1b和姿态变换关系tansform2b确定为机械臂101与跟踪器103之间的运动轨迹参数变换关系tansform[tansform1b,tansform2b]。

下面以“机械臂控制器102控制机械臂101执行画圆和画球两个动作”为具体应用场景,对本发明示例性实施方式的机械臂标定方法作进一步详细说明,参阅图3所示,本发明示例性实施方式的机械臂标定方法的具体流程如下:

步骤301:机械臂控制器102根据预先设定的第一动作“画一个圆”,获得机械臂位姿变化信息,并根据机械臂位姿变化信息,生成机械臂控制信息。

步骤302:机械臂控制器102根据机械臂控制信息,向机械臂101发送用于控制机械臂101执行画圆动作的控制指令。

步骤303:机械臂101根据机械臂控制器102发送的控制指令,执行画圆动作。

步骤304:机械臂101在执行画圆动作的过程中,将采集的机械臂末端位置坐标和机械臂末端姿态角度等机械臂运动轨迹参数上报至机械臂控制器102。

步骤305:跟踪器103在机械臂101执行画圆动作的过程中,将采集的跟踪器位置坐标和跟踪器姿态角度等跟踪器运动轨迹参数上报至机械臂控制器102。

步骤306:机械臂控制器102将机械臂101上报的机械臂运动轨迹参数和跟踪器103上报的跟踪器运动轨迹参数分别确定为机械臂101执行画圆动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数。

步骤307:机械臂控制器102采用icp算法,对机械臂101上报的机械臂运动轨迹参数和跟踪器103上报的跟踪器运动轨迹参数进行分析,得到机械臂101与跟踪器103之间的坐标旋转变换矩阵[r],并将坐标旋转变换矩阵[r]确定为机械臂101与跟踪器103之间的坐标旋转变换关系tansform1a。

步骤308:机械臂控制器102根据预先设定的第二动作“以机械臂末端为球心画一个球”,获得机械臂位姿变化信息,并根据机械臂位姿变化信息,生成机械臂控制信息。

步骤309:机械臂控制器102根据机械臂控制信息,向机械臂101发送用于控制机械臂101执行画球动作的控制指令。

步骤310:机械臂101根据机械臂控制器102发送的控制指令,执行以机械臂末端为球心画球的动作。

步骤311:机械臂101在执行以机械臂末端为球心画球的动作的过程中,将采集的机械臂末端位置坐标和机械臂末端姿态角度等机械臂运动轨迹参数上报至机械臂控制器102。

步骤312:跟踪器103在机械臂101执行以机械臂末端为球心画球的动作的过程中,将采集的跟踪器位置坐标和跟踪器姿态角度等跟踪器运动轨迹参数上报至机械臂控制器102。

步骤313:机械臂控制器102将机械臂101上报的机械臂运动轨迹参数和跟踪器103上报的跟踪器运动轨迹参数分别确定为机械臂101执行画球动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数。

步骤314:机械臂控制器102基于坐标旋转变换矩阵[r],对机械臂101执行画球动作时的跟踪器运动轨迹参数进行坐标系转换处理,得到机械臂坐标系下的跟踪器运动轨迹参数。

步骤315:机械臂控制器102采用球面拟合算法,对机械臂坐标系下的跟踪器运动轨迹参数和机械臂101执行画球动作时的进行分析,得到机械臂101末端与跟踪器103之间的姿态变换矩阵[r_tcp]以及机械臂101末端与跟踪器103坐标系原点之间的相对位置矩阵[t],并将姿态变换矩阵[r_tcp]和相对位置矩阵[t]确定为机械臂101末端与跟踪器103之间的位姿变换关系tansform2a。

步骤316:机械臂控制器102将坐标旋转变换关系tansform1a和位姿变换关系tansform2a确定为机械臂101与跟踪器103之间的运动轨迹参数变换关系tansform[tansform1a,tansform2a]。

下面以“机械臂控制器102仅控制机械臂101执行画一条弧线的动作”为具体应用场景,对本发明示例性实施方式的机械臂标定方法作进一步详细说明,参阅图4所示,本发明示例性实施方式的机械臂标定方法的具体流程如下:

步骤401:机械臂控制器102根据预先设定的动作“画一条弧线”,获得机械臂位姿变化信息,并根据机械臂位姿变化信息,生成机械臂控制信息。

步骤402:机械臂控制器102根据机械臂控制信息,向机械臂101发送用于控制机械臂101执行画弧动作的控制指令。

步骤403:机械臂101根据机械臂控制器102发送的控制指令,执行画弧线动作。

步骤404:机械臂101在执行画弧的动作的过程中,将采集的机械臂末端位置坐标和机械臂末端姿态角度等机械臂运动轨迹参数上报至机械臂控制器102。

步骤405:跟踪器103在机械臂101执行画弧的动作的过程中,将采集的跟踪器位置坐标和跟踪器姿态角度等跟踪器运动轨迹参数上报至机械臂控制器102。

步骤406:机械臂控制器102将机械臂101上报的机械臂运动轨迹参数和跟踪器103上报的跟踪器运动轨迹参数分别确定为机械臂101执行画弧动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数。

步骤407:机械臂控制器102采用icp算法,对机械臂101执行画弧动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数进行分析,得到机械臂101与跟踪器103之间的坐标旋转变换矩阵[r]和坐标平移变换矩阵[t],并将坐标旋转变换矩阵[r]和坐标平移变换矩阵[t]确定为坐标变换平移关系tansform1b。

步骤408:机械臂控制器102基于坐标旋转变换矩阵[r],对跟踪器运动轨迹参数中的跟踪器姿态角度进行坐标系转换处理,得到机械臂坐标系下的跟踪器姿态角度。

步骤409:机械臂控制器102对机械臂坐标系下的跟踪器姿态角度和机械臂运动轨迹参数中的机械臂末端姿态角度进行分析,得到机械臂101末端与跟踪器103之间的姿态变换矩阵[r_tcp],并将姿态变换矩阵[r_tcp]确定为机械臂101末端与跟踪器103之间的姿态变换关系tansform2b。

步骤410:机械臂控制器102将坐标变换平移关系tansform1b和姿态变换关系tansform2b确定为机械臂101与跟踪器103之间的运动轨迹参数变换关系tansform[tansform1b,tansform2b]。

进一步的,机械臂控制器102在获得机械臂101与跟踪器103之间的运动轨迹参数变换关系后,即可通过跟踪器103对机械臂101进行示教,具体的,参阅图5所示,本发明示例性实施方式的机械臂101示教方法的流程如下:

步骤501:跟踪器103采集示教运动时跟踪器103的示教运动轨迹参数。

在实际应用中,为了使跟踪器103能够及时进入和退出示教模式,在对机械臂101进行示教之前,示教人员可以手持跟踪器103执行预先设定的示教开始动作,跟踪器103在跟随人手一起运动的同时,采集自身的运动轨迹参数,根据采集到的运动轨迹参数,确定当前运动轨迹为预先设定的示教开始动作时,进入示教模式。

进一步的,示教人员在通过手持跟踪器103执行预先设定的示教开始动作,使跟踪器103进入示教模式之后,即可手持跟踪器103执行示教动作,跟踪器103在跟随人手一起执行示教动作的同时,采集示教运动轨迹参数,其中,示教运动轨迹参数包括但不限于:跟踪器示教位置坐标和/或跟踪器示教姿态角度。

例如:假设预先设定的示教开始动作为画一个圆,在对机械臂101进行示教之前,可以手持跟踪器103画一个圆,跟踪器103在跟随人手一起运动的同时,采集自身的运动轨迹参数,并根据采集到的运动轨迹参数,确定当前运动轨迹为圆形时,进入示教模式。

进一步地,示教人员在手持跟踪器103画一个圆之后,即可手持跟踪器103执行示教动作,在示教人员手持跟踪器103执行示教动作的同时,跟踪器103会实时采集跟踪器示教位置坐标和/或跟踪器示教姿态角度等示教运动轨迹参数。

步骤502:跟踪器103将示教运动轨迹参数发送至机械臂控制器102。

较佳的,为了方便跟踪器103与机械臂控制器102进行通信,跟踪器103与机械臂控制器102之间可通过全球移动通信系统(globalsystemformobilecommunication,gsm)等移动通信网络建立通信连接,这样,跟踪器103就可以将采集到的示教运动轨迹参数发送至机械臂控制器102。

步骤503:机械臂控制器102获取示教运动时跟踪器103采集的示教运动轨迹参数,并根据预先获得的跟踪器103与机械臂101之间的运动轨迹参数变换关系,将跟踪器103发送的示教运动轨迹参数转换成模拟运动轨迹参数。

在实际应用中,机械臂控制器102可以将跟踪器103上报的跟踪器示教位置坐标和/或跟踪器示教姿态角度等确定为示教运动轨迹参数。

在一个实施例中,跟踪器103与机械臂101之间的运动轨迹参数变换关系可以包括:坐标旋转变换关系和位姿变换关系,则机械臂控制器102根据预先获得的跟踪器103与机械臂101之间的运动轨迹参数变换关系,将跟踪器103发送的示教运动轨迹参数转换成模拟运动轨迹参数时,可以采用但不限于以下方式:

首先,机械臂控制器102可以根据运动轨迹参数变换关系中的跟踪器103与机械臂101之间的坐标旋转变换关系,对示教运动轨迹参数进行坐标系转换处理,得到机械臂坐标系下的示教运动轨迹参数;其中,坐标旋转变换关系可以是但不限于是坐标旋转变换矩阵。

然后,机械臂控制器102可以根据运动轨迹参数变换关系中的位姿变换关系对机械臂坐标系下的示教运动轨迹参数进行位姿转换处理,得到模拟运动轨迹参数,其中,位姿变换关系可以包括但不限于:跟踪器103坐标系原点与机械臂101末端之间的相对位置关系和跟踪器103与机械臂101末端之间的姿态变换关系,相对位置关系可以是但不限于是相对位置矩阵,姿态变换关系可以是但不限于是姿态变换矩阵。

在具体实施时,机械臂控制器102可以根据位姿变换关系中的相对位置关系,对机械臂坐标系下的示教运动轨迹参数进行位置平移处理,得到机械臂101末端的示教运动轨迹参数,并根据位姿变换关系中的姿态变换关系,对机械臂末端的示教运动轨迹参数进行姿态转换处理,得到模拟运动轨迹参数。

例如:假设坐标旋转变换关系tansform1a为坐标旋转变换矩阵[r],位姿变换关系tansform2a包含的相对位置关系为相对位置矩阵[t],位姿变换关系tansform2a包含的姿态变换关系为姿态变换矩阵[r_tcp]。

机械臂控制器102在接收到跟踪器103发送的示教运动轨迹参数后,可以根据坐标旋转变换矩阵[r],对示教运动轨迹参数进行坐标系转换处理,得到机械臂坐标系下的示教运动轨迹参数,再根据相对位置矩阵[t],对机械臂坐标系下的示教运动轨迹参数进行位置平移处理,得到机械臂101末端的示教运动轨迹参数,最后,根据姿态变换矩阵[r_tcp],对机械臂末端的示教运动轨迹参数进行姿态转换处理,得到模拟运动轨迹参数。

在另一个实施例中,跟踪器103与机械臂101之间的运动轨迹参数变换关系可以包括:坐标变换平移关系和姿态变换关系,则机械臂控制器102根据预先获得的跟踪器103与机械臂101之间的运动轨迹参数变换关系,将跟踪器103发送的示教运动轨迹参数转换成模拟运动轨迹参数时,可以采用但不限于以下方式:

首先,机械臂控制器102可以根据运动轨迹参数变换关系中的坐标变换平移关系,对示教运动轨迹参数进行坐标系转换和坐标平移处理,得到机械臂末端的示教运动轨迹参数,其中,坐标变换平移关系可以包括但不限于:坐标旋转变换关系和坐标平移变换关系。

在具体实施时,机械臂控制器102可以先根据坐标变换平移关系中的坐标旋转变换关系,对示教运动轨迹参数进行坐标系转换处理,得到机械臂坐标系下的示教运动轨迹参数,再根据坐标变换平移关系中的坐标平移变换关系,对机械臂坐标系下的示教运动轨迹参数进行位置平移处理,得到机械臂101末端的示教运动轨迹参数,其中,坐标旋转变换关系可以是但不限于是坐标旋转变换矩阵,坐标平移变换关系可以是但不限于是坐标平移变换矩阵。

然后,机械臂控制器102可以根据运动轨迹参数变换关系中的姿态变换关系,对机械臂101末端的示教运动轨迹参数进行姿态转换处理,得到模拟运动轨迹参数。

例如:假设坐标变换平移关系tansform1b包含的坐标旋转变换关系为坐标旋转变换矩阵[r],坐标变换平移关系tansform1b包含的坐标平移变换关系为坐标平移变换矩阵[t],姿态变换关系tansform2b为姿态变换矩阵[r_tcp]。

机械臂控制器102在接收到跟踪器103发送的示教运动轨迹参数后,可以先根据坐标旋转变换矩阵[r],对示教运动轨迹参数进行坐标系转换处理,得到机械臂坐标系下的示教运动轨迹参数,再根据坐标平移变换矩阵[t],对机械臂坐标系下的示教运动轨迹参数进行位置平移处理,得到机械臂101末端的示教运动轨迹参数,最后,再根据姿态变换矩阵[r_tcp],对机械臂末端的示教运动轨迹参数进行姿态转换处理,得到模拟运动轨迹参数。

步骤504:机械臂控制器102基于模拟运动轨迹参数,控制机械臂101模拟示教运动。

在实际应用中,模拟运动轨迹参数可以是机械臂末端模拟位置坐标和/或机械臂末端模拟姿态角度。具体的,机械臂控制器102可以控制机械臂101末端从当前位置坐标移动到机械臂末端模拟位置坐标;和/或,控制机械臂101末端从当前姿态角度旋转到机械臂末端模拟姿态角度。

例如:假设模拟运动轨迹参数为机械臂末端模拟位置坐标pos_1(x_1,y_1,z_1),则机械臂控制器102可以控制机械臂101末端从当前位置坐标pos_0(x_0,y_0,z_0)移动到机械臂末端模拟位置坐标pos_1(x_1,y_1,z_1)。

又如:假设模拟运动轨迹参数为机械臂末端模拟姿态角度rot_1(rx_1,ry_1,rz_1),则机械臂控制器102可以控制机械臂101末端从当前姿态角度rot_0(rx_0,ry_0,rz_0)旋转到机械臂末端模拟姿态角度rot_1(rx_1,ry_1,rz_1)。

再如:假设模拟运动轨迹参数为机械臂末端模拟位置坐标pos_1(x_1,y_1,z_1)和机械臂末端模拟姿态角度rot_1(rx_1,ry_1,rz_1),则机械臂控制器102可以控制机械臂101末端从当前位置坐标pos_0(x_0,y_0,z_0)移动到机械臂末端模拟位置坐标pos_1(x_1,y_1,z_1),以及控制机械臂101末端从当前姿态角度rot_0(rx_0,ry_0,rz_0)旋转到机械臂末端模拟姿态角度rot_1(rx_1,ry_1,rz_1)。

进一步地,在对机械臂101示教结束之后,还可以手持跟踪器103执行预先设定的示教结束动作,跟踪器103在跟随人手一起运动的同时,采集自身的运动轨迹参数,在根据采集到的运动轨迹参数,确定当前运动轨迹为预先设定的示教结束动作时,退出示教模式。需要说明的是,预先设定的示教开始动作和预先设定的示教结束动作可以是相同的动作,也可以是不同的动作,在此不作具体限定。

例如:假设预先设定的示教结束动作为画一条直线,在对机械臂101示教结束之后,可以手持跟踪器103画一条直线,跟踪器103在跟随人手一起运动的同时,采集自身的运动轨迹参数,并根据采集到的运动轨迹参数,确定当前运动轨迹为直线时,退出示教模式。

基于上述实施例,本发明实施例提供了一种机械臂标定装置,该机械臂标定装置可以应用于机械臂控制器102,参阅图6所示,本发明示例性实施方式的机械臂标定装置600至少包括:

控制单元601,用于控制机械臂101执行预先设定的动作;

确定单元602,用于确定机械臂101执行预先设定的动作时的机械臂运动轨迹参数;

获取单元603,用于获取安装在机械臂末端控制器件上的跟踪器103在机械臂101执行预先设定的动作时采集的跟踪器运动轨迹参数;

标定单元604,用于基于确定单元602确定出的机械臂运动轨迹参数和获取单元603获得的跟踪器运动轨迹参数,获得机械臂101与跟踪器103之间的运动轨迹参数变换关系。

在一种可能的实施方式中,获取单元603获得的跟踪器运动轨迹参数包括:跟踪器位置坐标和跟踪器姿态角度;确定单元602确定出的机械臂运动轨迹参数包括:机械臂末端位置坐标和机械臂末端姿态角度。

在一种可能的实施方式中,若预先设定的动作的数目为两个,则在基于确定单元602确定出的机械臂运动轨迹参数和获取单元603获得的跟踪器运动轨迹参数,获得机械臂101与跟踪器103之间的运动轨迹参数变换关系时,标定单元604用于:

基于机械臂101执行预先设定的第一动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数,得到机械臂101与跟踪器103之间的坐标旋转变换关系;

基于机械臂101执行预先设定的第二动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数,得到机械臂101末端与跟踪器103之间的位姿变换关系;

将坐标旋转变换关系和位姿变换关系确定为机械臂101与跟踪器103之间的运动轨迹参数变换关系。

在一种可能的实施方式中,在基于机械臂101执行预先设定的第一动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数,得到机械臂101与跟踪器103之间的坐标旋转变换关系时,标定单元604用于:

采用第一算法,对机械臂101执行预先设定的第一动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数进行分析,得到坐标旋转变换关系。

在一种可能的实施方式中,在基于机械臂101执行预先设定的第二动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数,得到机械臂末端101与跟踪器103之间的位姿变换关系时,标定单元604用于:

基于坐标旋转变换关系,对机械臂101执行预先设定的第二动作时的跟踪器运动轨迹参数进行坐标系转换处理,得到机械臂坐标系下的跟踪器运动轨迹参数;

采用第二算法,对机械臂坐标系下的跟踪器运动轨迹参数和机械臂101执行预先设定的第二动作时的机械臂运动轨迹参数进行分析,得到机械臂101末端与跟踪器103坐标系原点之间的相对位置关系和机械臂101末端与跟踪器103之间的姿态变换关系;

将相对位置关系和姿态变换关系确定为位姿变换关系

在一种可能的实施方式中,若预先设定的动作的数目为一个,则在基于确定单元602确定出的机械臂运动轨迹参数和获取单元603获得的跟踪器运动轨迹参数,获得机械臂101与跟踪器103之间的运动轨迹参数变换关系时,标定单元604用于:

基于机械臂101执行预先设定的动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数,得到机械臂101与跟踪器103之间的坐标旋转变换关系和坐标平移变换关系,并将坐标旋转变换关系和坐标平移变换关系确定为机械臂101与跟踪器103之间的坐标变换平移关系;

基于坐标旋转变换关系,对跟踪器运动轨迹参数中的跟踪器姿态角度进行坐标系转换处理,得到机械臂坐标系下的跟踪器姿态角度,并对机械臂坐标系下的跟踪器姿态角度和机械臂运动轨迹参数中的机械臂末端姿态角度进行分析,得到机械臂101末端与跟踪器103之间的姿态变换关系;

将坐标变换平移关系和姿态变换关系确定为机械臂101与跟踪器103之间的运动轨迹参数变换关系。

在一种可能的实施方式中,在基于机械臂101执行预先设定的动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数,得到机械臂101与跟踪器103之间的坐标旋转变换关系和坐标平移变换关系时,标定单元604用于:

采用第三算法,对机械臂101执行预先设定的动作时的机械臂运动轨迹参数和跟踪器运动轨迹参数进行分析,得到坐标旋转变换关系和坐标平移变换关系。

此外,本发明实施例还提供了另一种机械臂标定装置,该机械臂标定装置应用于安装在机械臂101末端控制器件1010上的跟踪器103,参阅图7所示,本发明示例性实施方式的机械臂标定装置700至少包括:

采集单元701,用于在机械臂101执行预先设定的动作时,采集跟踪器运动轨迹参数;

通信单元702,用于将采集单元701采集到的跟踪器运动轨迹参数发送至机械臂控制器120。

在一种可能的实施方式中,采集单元701采集到的跟踪器运动轨迹参数包括:跟踪器位置坐标和跟踪器姿态角度。

在一种可能的实施方式中,预先设定的动作的数目为一个或多个。

需要说明的是,由于本发明实施例提供的上述两种机械臂标定装置解决技术问题的原理与本发明实施例提供的机械臂标定方法相似,因此,本发明实施例提供的两种机械臂标定装置的实施可以参见本发明实施例提供的机械臂标定方法的实施,重复之处不再赘述。

在介绍了本发明示例性实施方式的机械臂标定系统、方法和装置之后,接下来,对本发明示例性实施方式的机械臂控制器进行简单介绍。

参阅图8所示,本发明示例性实施方式的机械臂控制器800可以包括处理器81、存储器82和存储在存储器82上的计算机程序,处理器81执行计算机程序时实现本发明各种示例性实施方式的机械臂标定方法中的步骤。

需要说明的是,图8所示的机械臂控制器800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

本发明示例性实施方式的机械臂控制器800还可以包括连接不同组件(包括处理器81和存储器82)的总线83。其中,总线83表示几类总线结构中的一种或多种,包括存储器总线、外围总线、局域总线等。

存储器82可以包括易失性存储器形式的可读介质,例如随机存储器(randomaccessmemory,ram)821和/或高速缓存存储器822,还可以进一步包括只读存储器(readonlymemory,rom)823。

存储器82还可以包括具有一组(至少一个)程序模块824的程序工具825,程序模块824包括但不限于:操作子系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

机械臂控制器800也可以与一个或多个外部设备84(例如键盘、遥控器等)通信,还可以与一个或者多个使得用户能与机械臂控制器800交互的设备通信,和/或与使得该机械臂控制器800能与一个或多个其它机械臂控制器800进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(input/output,i/o)接口85进行。并且,机械臂控制器800还可以通过网络适配器86与一个或者多个网络(例如局域网(localareanetwork,lan),广域网(wideareanetwork,wan)和/或公共网络,例如因特网)通信。如图8所示,网络适配器86通过总线83与机械臂控制器800的其它模块通信。应当理解,尽管图8中未示出,可以结合机械臂控制器800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、磁盘阵列(redundantarraysofindependentdisks,raid)子系统、磁带驱动器以及数据备份存储子系统等。

下面对本发明实施例提供的计算机存储介质进行介绍。本发明示例性实施方式的计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现本发明各种示例性实施方式的机械臂标定方法的步骤。具体地,该可执行程序可以内置在机械臂控制器800中,这样,机械臂控制器800就可以通过执行内置的可执行程序实现本发明各种示例性实施方式的机械臂标定方法的步骤。

此外,本发明各种示例性实施方式的机械臂标定方法还可以实现为一种程序产品,该程序产品包括程序代码,当该程序产品可以在机械臂控制器800上运行时,该程序代码用于使机械臂控制器800执行本发明各种示例性实施方式的机械臂标定方法的步骤。

本发明实施例提供的程序产品可以采用一个或多个可读介质的任意组合,其中,可读介质可以是可读信号介质或者可读存储介质,而可读存储介质可以是但不限于是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合,具体地,可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、ram、rom、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、光纤、便携式紧凑盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

本发明实施例提供的程序产品可以采用cd-rom并包括程序代码,还可以在计算设备上运行。然而,本发明实施例提供的程序产品不限于此,在本发明实施例中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户设备上执行,部分地在用户设备上执行,作为一个独立的软件包执行,部分在用户设备上执行、部分在远程计算设备上执行,或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络连接到用户计算设备,诸如通过lan或wan连接到用户计算设备;或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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