掌桥专利:专业的专利平台
掌桥专利
首页

运动捕捉方法、装置、电子设备以及拉花系统

文献发布时间:2023-06-19 12:24:27


运动捕捉方法、装置、电子设备以及拉花系统

技术领域

本申请涉及运动捕捉技术领域,特别涉及一种运动捕捉方法、装置、电子设备以及拉花系统。

背景技术

如今,餐饮智能化越来越盛行,对餐饮的制作工艺的要求越来越高。例如,咖啡拉花是一项对制作工艺要求较高的餐饮服务之一。传统的咖啡拉花由咖啡拉花师手工拉花完成,对经验和技巧的要求较高。

目前市场上提供了一种咖啡拉花设备,其根据预设的参数控制机械臂模仿人工拉花,经过大量的调试工作后,以拉出所需花型。然而,每增加一种花型,设备就需要增加新的参数,而调试一项参数,往往需要很长一段时间,不利于实际应用。另外,由于不同的拉花设备的参数设置不相同,存在无法迁移的问题。

发明内容

本申请提供了一种运动捕捉方法、装置、电子设备以及拉花系统,其能够捕捉目标物体的运动信息,通过坐标变换得到用于控制机械臂的运动信息,以减少复杂的操作,提高准确度,且有利于解决无法迁移的问题。

第一方面,本申请提供了一种运动捕捉方法,应用于拉花系统,所述拉花系统包括相机以及机械臂,所述机械臂包括机械臂基座及机械臂末端,所述方法包括:

获取接收到的多帧图像,其中,所述多帧图像中包含目标物体,所述图像由所述相机拍摄获得;

基于所述多帧图像,获得所述目标物体的第一运动信息,其中,所述第一运动信息中包含每一帧所述图像中目标物体的第一位姿信息,所述第一位姿信息为所述目标物体在第一坐标系中的位姿信息,所述第一坐标系以所述相机为基准;

获取坐标转换关系,基于所述坐标转换关系,对所述第一位姿信息进行坐标转换,得到多个第二位姿信息,其中,所述第二位姿信息为所述机械臂末端在第二坐标系中的位姿信息,所述第二坐标系以所述机械臂基座为基准;

基于多个所述第二位姿信息,获得第二运动信息,以使得所述机械臂末端按照所述第二运动信息进行运动。

其中一种可能的实现方式中,所述目标物体包括二维码,所述相机为黑白相机。

其中一种可能的实现方式中,所述基于所述多帧图像,获得所述目标物体的第一运动信息,包括:

利用视觉识别模型对每一帧所述图像中目标物体的空间状态进行识别,以获得每一帧所述图像中目标物体的第一位姿信息。

其中一种可能的实现方式中,所述第一运动信息中还包含第一帧图像中目标物体的第一位姿信息与其他帧图像中目标物体的第一位姿信息之间的相对关系,所述基于所述坐标转换关系,对所述第一位姿信息进行坐标转换,以得到多个第二位姿信息,包括:

基于所述坐标转换关系,将第一帧图像中目标物体的第一位姿信息转换为第二位姿信息;

根据转换得到的所述第二位姿信息以及所述相对关系,得到与所述其他帧图像中目标物体的第一位姿信息相对应的多个第二位姿信息。

其中一种可能的实现方式中,所述坐标转换关系包括:

其中,

其中一种可能的实现方式中,所述第二运动信息包括机械臂六个关节轴的运动信息,所述基于多个所述第二位姿信息,获得第二运动信息,包括:

对所述第二位姿信息进行逆运动学解算,以得到所述机械臂六个关节轴的运动信息。

其中一种可能的实现方式中,在所述基于所述多帧图像,获得所述目标物体的第一运动信息之后,还包括:

对所述第一位姿信息进行滤波处理,以得到滤波处理后的第一位姿信息。

第二方面,本申请提供一种机械臂控制方法,包括:

获取由第一方面所述的方法得到的第二运动信息;

按照所述第二运动信息对机械臂进行控制。

第三方面,本申请提供一种运动捕捉装置,所述运动捕捉装置包括相机以及机械臂,所述机械臂包括机械臂基座及机械臂末端,所述运动捕捉装置还包括:

获取模块,用于获取接收到的多帧图像,其中,所述多帧图像中包含目标物体,所述图像由所述相机拍摄获得;

第一获得模块,用于基于所述多帧图像,获得所述目标物体的第一运动信息,其中,所述第一运动信息中包含每一帧所述图像中目标物体的第一位姿信息,所述第一位姿信息为所述目标物体在第一坐标系中的位姿信息,所述第一坐标系以所述相机为基准;

转换模块,用于获取坐标转换关系,基于所述坐标转换关系,对所述第一位姿信息进行坐标转换,得到多个第二位姿信息,其中,所述第二位姿信息为所述机械臂末端在第二坐标系中的位姿信息,所述第二坐标系以所述机械臂基座为基准;

第二获得模块,用于基于多个所述第二位姿信息,获得第二运动信息,以使得所述机械臂末端按照所述第二运动信息进行运动。

第四方面,本申请提供了一种电子设备,包括:

一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如第一方面或第二方面所述的方法。

第五方面,本申请提供一种拉花系统,包括:

相机,用于对目标物体进行拍摄,以获得多帧图像,并将所述多帧图像发送至控制装置;

所述控制装置,包含:

一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述系统执行时,使得所述系统执行如第一方面或第二方面所述的方法;

机械臂,用于受控于所述控制装置,以执行运动操作。

第六方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面或第二方面所述的方法。

第七方面,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行第一方面或第二方面所述的方法。

在一种可能的设计中,第七方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。

附图说明

图1为本申请运动捕捉方法一个实施例的方法示意图;

图2为本申请运动捕捉方法一个实施例的流程示意图;

图3A为本申请中拉花师拉花动作的应用示意图;

图3B为本申请中使用正方体反映二维码的空间状态示意图;

图4A为未进行滤波处理的第一位姿信息中绕X轴旋转运动数据示意图;

图4B为进行滤波处理的第一位姿信息中绕X轴旋转运动数据示意图;

图5为本申请运动捕捉方法一个实施例中相机坐标系与机械臂基座坐标系之间的坐标变换示意图;

图6为本申请运动捕捉方法一个实施例中机械臂的结构示意图;

图7为本申请机械臂控制方法一个实施例的方法示意图;

图8为本申请运动捕捉装置一个实施例的结构示意图;

图9为本申请拉花系统一个实施例的结构示意图;

图10为本申请电子设备一个实施例的结构示意图。

具体实施方式

本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。

现有技术中,咖啡拉花设备根据预设的参数控制机械臂模仿人工拉花,经过大量的调试工作后,以拉出所需花型。然而,每增加一种花型,就需要增加新的参数,而调试一项参数,往往需要很长一段时间,不利于实际应用。另外,由于不同的拉花设备的参数设置不相同,存在无法迁移的问题。

为此,本申请提出一种运动捕捉方法、装置、电子设备以及拉花系统,其能够捕捉目标物体的运动信息,通过坐标变换得到用于控制机械臂的运动信息,以减少复杂变换过程,提高准确度,且有利于解决无法迁移的问题。

举例地,所述运动捕捉方法可以捕捉咖啡拉花师在拉花过程中手上拉花杯的运动信息,然后通过坐标变换得到用于控制机械臂的运动信息,以使得机械臂能够模仿拉花师的拉花动作进行拉花操作。

也就是说,本申请提供拉花系统(或拉花设备)通过运动捕捉方法,捕捉拉花师的拉花动作,以控制机械臂复刻拉花师的拉花动作,而无需调试各种花型参数,降低了设备调试参数的困难度,节省了时间。另外,所述运动捕捉方法将捕捉到的运动信息可以通过不同的坐标转换关系进行转换,得到应用于不同的拉花设备的运动信息,有利于解决无法迁移的问题。

在本实施例中,所述运动捕捉方法应用于拉花系统,所述拉花系统可以包括相机以及机械臂,所述机械臂可以包括机械臂基座及机械臂末端。所述相机用于对目标物体(如二维码等)进行拍摄,以得到多帧图像,以捕捉到目标物体的第一运动信息(如拉花师的拉花动作等)。所述方法用于将所述第一运动信息转换为用于控制机械臂的第二运动信息。所述机械臂基座可以固定于安装平台上,拉花系统按照第二运动信息对机械臂进行控制,使得机械臂末端相对于机械臂基座进行运动,以达到模仿拉花师的拉花动作的效果。在实际应用中,机械臂末端上可以安装拉花杯,随着机械臂末端的运动,该拉花杯用于拉出相应的拉花图案,如星星、月亮、鲸鱼等花型或线条等。

图1为本申请运动捕捉方法一个实施例的方法示意图。如图1和图2所示,上述运动捕捉方法可以包括:

S101、获取接收到的多帧图像,其中,所述多帧图像中包含目标物体,所述图像由相机拍摄获得。

举例地,如图3A所示,在拉花师手持拉花杯进行拉花动作的过程中,目标物体随着拉花师手部动作而运动(如改变位置与姿势)等,而且目标物体可以一直保持在相机视野范围内,使得相机能够拍摄得到在拉花过程中目标物体运动的视频,该视频中可以包含多帧图像。在本实施例中,目标物体被固定于拉花师手持拉花杯杯把(或把手)的位置上,使得目标物体的运动信息更加拟合拉花师的拉花动作,有利于减少后续坐标变换步骤,降低误差。在其他一些实施例中,目标物体可以被固定于拉花杯杯壁上,在此不受限制。

具体地,在步骤S101中,可以通过高帧率相机录制拉花师拉花动作的视频,从该视频中截取到一个完整拉花过程(从开始拉花到结束拉花的过程)的目标视频,该目标视频中包含多帧图像。

其中一种可能的实现方式中,所述目标物体可以包括二维码,优选地,在拉花过程中,所述二维码随着拉花师手部动作而运动,所述二维码的运动信息可以用于表示拉花师手持拉花杯的拉花动作,所述二维码的运动信息可以包括在空间所处的位姿信息,如位置与姿势(如旋转角度或方向)等。所述相机优选地为黑白相机,其具有较高的帧率,可以在拉花过程中拍摄得到更多帧图像,有利于捕捉到目标物体更多的运动信息。

S102、基于所述多帧图像,获得所述目标物体的第一运动信息,其中,所述第一运动信息中包含每一帧所述图像中目标物体的第一位姿信息,所述第一位姿信息为所述目标物体在第一坐标系中的位姿信息,所述第一坐标系以所述相机为基准。

在本实施例中,所述目标物体的第一运动信息可以用于表示目标物体在空间中的运动状态。所述目标物体的第一位姿信息可以用于表示目标物体相对于相机的空间状态,如在空间中所处的位置与姿势等。

其中一种可能的实现方式中,步骤S102可以包括:利用视觉识别模型对每一帧所述图像中目标物体的空间状态进行识别,以获得每一帧所述图像中目标物体的第一位姿信息。

所述视觉识别模型可以包括apr i ltag视觉定位系统,其能够定位并识别得到图像中的二维码(如tag)的位姿信息。也就是说,所述第一位姿信息可以包括目标物体在第一坐标系(如相机坐标系)中的位置与姿势。

举例地,如图3B所示,在步骤S102中,可以使用正方体反映二维码的空间状态,通过识别正方体当前所处的位置以及旋转角度或方向,以确定二维码在空间中的位姿信息。

可以理解的是,在一次拉花过程中,根据相机拍摄得到的多帧图像,按拍摄时间顺序,可以得到多个第一位姿信息(如第一位姿信息集),以用于表示目标物体在拉花过程中的空间状态。

其中一种可能的实现方式中,在步骤S102之后,所述方法还包括:对所述第一位姿信息进行滤波处理,以得到滤波处理后的第一位姿信息。

如图4A所示为未进行滤波处理的所述第一位姿信息中绕X轴旋转运动数据示意图,如图4B为进行滤波处理的所述第一位姿信息中绕X轴旋转运动数据示意图,其中,横轴为时间,单位为s,纵轴为绕X轴的位置角度,单位为deg。

也就是说,由于相机本身的原因,在对目标物体进行拍摄的过程中,会存在一定的噪声,使得在步骤S102中获得的第一位姿信息不够平滑,因此,需要对第一位姿信息进行滤波处理,以提高数据准确性和可靠性。熟知本领域的技术人员应当理解的是,滤波处理的方法可以有多种类型,如采用滤波器进行滤波处理等,在此不受限制。

S103、获取坐标转换关系,基于所述坐标转换关系,对所述第一位姿信息进行坐标转换,得到多个第二位姿信息,其中,所述第二位姿信息为所述机械臂末端在第二坐标系中的位姿信息,所述第二坐标系以所述机械臂基座为基准。

在本实施例中,所述坐标转换关系可以根据机械臂末端与机械臂基座的相对位置关系以及相机与机械臂基座之间的坐标转换关系等确定。对于不同的拉花设备,其对应的坐标转换关系不相同。举例地,机械臂末端与机械臂基座的相对位置关系可以根据机械臂的臂长、机械臂关节轴的自由度、机械臂基座的安装位置等确定。

在步骤S103中,所述第二位姿信息可以包括机械臂末端在第二坐标系(如机械臂基座坐标系)中的位置与姿势等,以用于表示所述机械臂末端的空间状态。也就是说,根据所述坐标转换关系,将目标物体相对于相机的空间状态转换为机械臂末端相对于机械臂基座的空间状态,以使得机械臂末端可以模仿拉花师的拉花动作进行运动。

其中一种可能的实现方式中,所述第一运动信息中还包含第一帧图像中目标物体的第一位姿信息与其他帧图像中目标物体的第一位姿信息之间的相对关系,步骤S103可以包括:

S201、基于所述坐标转换关系,将第一帧图像中目标物体的第一位姿信息转换为第二位姿信息;

S202、根据转换得到的所述第二位姿信息以及所述相对关系,得到与所述其他帧图像中目标物体的第一位姿信息相对应的多个第二位姿信息。

举例地,第一帧图像中目标物体的第一位姿信息与其他帧图像中目标物体的第一位姿信息之间的相对关系可以包括相对距离以及相对旋转角度等。所述相对距离可以根据第一位姿信息中位置坐标之间的差值确定,所述相对旋转角度可以根据第一位姿信息中角度之间的差值确定。

也就是说,在一次拉花过程中,目标物体的第一运动信息可以根据第一帧图像中目标物体的第一位姿信息以及所述相对关系确定。为使机械臂末端能够模仿目标物体的运动信息进行运动,所述第一运动信息中多个第一位姿信息之间的相对关系与第二运动信息中多个第二位姿信息之间的相对关系可以相等。

可以理解的是,在步骤S201中,只需将第一帧图像中目标物体的第一位姿信息转换为机械臂末端的第二位姿信息,然后根据转换得到的所述第二位姿信息以及所述相对关系,即可得到机械臂末端的多个第二位姿信息。因此,在本方法中,可以无需将所有的第一位姿信息都根据坐标转换关系转换得到第二位姿信息,减少了坐标转换的步骤,降低了因坐标转换带来的累计误差,有利于提高了精确度。

在其他一些实施例中,每一帧图像中目标物体的第一位姿信息可以分别根据所述坐标转换关系进行转换,以得到机械臂末端的多个第二位姿信息,在此不受限制。

其中一种可能的实现方式中,所述坐标转换关系包括:

其中,

举例地,如图5所示,在相机坐标系(Camera Frame)下的任意坐标矢量S

以矩阵形式表示为:

因此,相机坐标系相对于机械臂基座坐标系的旋转矩阵可以表示为:

其中,S

举例地,如图6所示,本实施例中还提供了拉花杯杯嘴坐标系、机械臂末端坐标系以及机械臂基座坐标系之间的坐标转换关系,其中,在机械臂基座坐标系下的任意坐标矢量S

以矩阵形式表示为:

其中,

其中,

在本实施例中,机械臂末端坐标系相对于机械臂基座坐标系的旋转矩阵

S104、基于多个所述第二位姿信息,获得第二运动信息,以使得所述机械臂末端按照所述第二运动信息进行运动。

也就是说,所述拉花系统按照所述第二运动信息对机械臂进行控制,使得所述机械臂末端能够按照所述第二运动信息进行运动,以达到模仿目标物体运动(如模仿拉花师拉花动作)的效果。

其中一种可能的实现方式中,所述第二运动信息可以包括机械臂六个关节轴(如六自由度)的运动信息,步骤S104可以包括:

S105、对所述第二位姿信息进行逆运动学解算,以得到所述机械臂六个关节轴的运动信息。

举例地,在步骤S105中,可以通过机械臂建模(如DH建模等)方法对所述第二位姿信息进行运动学求解,例如,机械臂相邻关节轴之间的旋转变换关系可以由以下公式表示:

其中,S和C分别为三角函数sin和cos的缩写。

在获得到建模参数(如DH表)的情况下,分别计算得到相邻关节轴之间的齐次坐标变换矩阵,以得到关节轴末端相对于机械臂基座坐标系的位姿矩阵TCP,其中,位姿矩阵TCP可以表示为:

然后,对该位姿矩阵进行逆解算,以得到机械臂六个关节轴的运动信息。

在本实施例中,拉花系统可以根据所述机械臂六个关节轴的运动信息,经过运动规划后对机械臂进行驱动控制,使得机械臂执行相应的运动操作,使得机械臂末端能够模仿拉花师的拉花动作进行运动,以使得被安装于机械臂末端的拉花杯能够拉出所需的拉花图案。

可以理解的是,上述实施例中的部分或全部步骤骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。

图7为本申请一种机械臂控制方法一个实施例的方法示意图。如图7所示,上述机械臂控制方法可以包括:

S301、获取由图1所示方法实施例中提供的运动捕捉方法得到的第二运动信息;

S302、按照所述第二运动信息对机械臂进行控制。

所述机械臂控制方法可以应用于拉花系统(或拉花设备),以用于控制机械臂进行拉花操作等。

在步骤S301中,所述第二运动信息的获取步骤或原理可以参考图1所示方法实施例中提供的运动捕捉方法,在此不再赘述。

在步骤S302中,所述第二运动信息可以包括机械臂六个关节轴的运动信息,拉花系统可以根据所述机械臂六个关节轴的运动信息,经过运动规划后对机械臂进行驱动控制,使得机械臂执行相应的运动操作,使得机械臂末端能够模仿拉花师的拉花动作进行运动,以使得被安装于机械臂末端的拉花杯能够拉出所需的拉花图案。

进一步地,在步骤S301中,拉花系统可以接收到用户订单,其中,所述用户订单中包含目标图案(如拉花图案),从数据库(如本地数据库或云端数据库等)中获取与所述目标图案相对应的第二运动信息。也就是说,不同的目标图案对应于不同的第二运动信息,以满足多样化需求。

可以理解的是,上述实施例中的部分或全部步骤骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。

图8所示为本申请运动捕捉装置100一个实施例的结构示意图。如图8所示,上述运动捕捉装置包括相机以及机械臂,所述机械臂包括机械臂基座及机械臂末端,所述运动捕捉装置100还可以包括:

获取模块10,用于获取接收到的多帧图像,其中,所述多帧图像中包含目标物体,所述图像由所述相机拍摄获得;

第一获得模块20,用于基于所述多帧图像,获得所述目标物体的第一运动信息,其中,所述第一运动信息中包含每一帧所述图像中目标物体的第一位姿信息,所述第一位姿信息为所述目标物体在第一坐标系中的位姿信息,所述第一坐标系以所述相机为基准;

转换模块30,用于获取坐标转换关系,基于所述坐标转换关系,对所述第一位姿信息进行坐标转换,得到多个第二位姿信息,其中,所述第二位姿信息为所述机械臂末端在第二坐标系中的位姿信息,所述第二坐标系以所述机械臂基座为基准;

第二获得模块40,用于基于多个所述第二位姿信息,获得第二运动信息,以使得所述机械臂末端按照所述第二运动信息进行运动。

其中一种可能的实现方式中,所述目标物体包括二维码,所述相机为黑白相机。

其中一种可能的实现方式中,所述第一获得模块20包括:

利用视觉识别模型对每一帧所述图像中目标物体的空间状态进行识别,以获得每一帧所述图像中目标物体的第一位姿信息。

其中一种可能的实现方式中,所述第一运动信息中还包含第一帧图像中目标物体的第一位姿信息与其他帧图像中目标物体的第一位姿信息之间的相对关系,所述转换模块30包括:

基于所述坐标转换关系,将第一帧图像中目标物体的第一位姿信息转换为第二位姿信息;

根据转换得到的所述第二位姿信息以及所述相对关系,得到与所述其他帧图像中目标物体的第一位姿信息相对应的多个第二位姿信息。

其中一种可能的实现方式中,所述坐标转换关系包括:

其中,

其中一种可能的实现方式中,所述第二运动信息包括机械臂六个关节轴的运动信息,所述第二获得模块40包括:

对所述第二位姿信息进行逆运动学解算,以得到所述机械臂六个关节轴的运动信息。

其中一种可能的实现方式中,所述装置100还包括:

滤波模块50,用于对所述第一位姿信息进行滤波处理,以得到滤波处理后的第一位姿信息。

可以理解的是,图8所示实施例提供的运动捕捉装置可用于执行本申请图1所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。

应理解以上图8所示的运动捕捉装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,转换模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit;以下简称:ASIC),或,一个或多个微处理器(Digital Singnal Processor;以下简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。再如,这些模块可以集成在一起,以片上系统(System-On-a-Chip;以下简称:SOC)的形式实现。

图9为本申请拉花系统200一个实施例的结构示意图。如图9所示,拉花系统200可以包括相机210,用于对目标物体进行拍摄,以获得多帧图像,并将所述多帧图像发送至控制装置220;控制装置220;机械臂230,用于受控于所述控制装置220,以执行运动操作。

所述控制装置220,包含:

一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述系统执行时,使得所述系统执行以下步骤;

获取接收到的多帧图像,其中,所述多帧图像中包含目标物体,所述图像由所述相机拍摄获得;

基于所述多帧图像,获得所述目标物体的第一运动信息,其中,所述第一运动信息中包含每一帧所述图像中目标物体的第一位姿信息,所述第一位姿信息为所述目标物体在第一坐标系中的位姿信息,所述第一坐标系以所述相机为基准;

获取坐标转换关系,基于所述坐标转换关系,对所述第一位姿信息进行坐标转换,得到多个第二位姿信息,其中,所述第二位姿信息为所述机械臂末端在第二坐标系中的位姿信息,所述第二坐标系以所述机械臂基座为基准;

基于多个所述第二位姿信息,获得第二运动信息,以使得所述机械臂末端按照所述第二运动信息进行运动。

其中一种可能的实现方式中,所述目标物体包括二维码,所述相机为黑白相机。

其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行所述基于所述多帧图像,获得所述目标物体的第一运动信息,包括:

利用视觉识别模型对每一帧所述图像中目标物体的空间状态进行识别,以获得每一帧所述图像中目标物体的第一位姿信息。

其中一种可能的实现方式中,所述第一运动信息中还包含第一帧图像中目标物体的第一位姿信息与其他帧图像中目标物体的第一位姿信息之间的相对关系,当所述指令被所述系统执行时,使得所述系统执行所述基于所述坐标转换关系,对所述第一位姿信息进行坐标转换,以得到多个第二位姿信息,包括:

基于所述坐标转换关系,将第一帧图像中目标物体的第一位姿信息转换为第二位姿信息;

根据转换得到的所述第二位姿信息以及所述相对关系,得到与所述其他帧图像中目标物体的第一位姿信息相对应的多个第二位姿信息。

其中一种可能的实现方式中,所述坐标转换关系包括:

其中,

其中一种可能的实现方式中,所述第二运动信息包括机械臂六个关节轴的运动信息,当所述指令被所述系统执行时,使得所述系统执行所述基于多个所述第二位姿信息,获得第二运动信息,包括:

对所述第二位姿信息进行逆运动学解算,以得到所述机械臂六个关节轴的运动信息。

其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统在执行所述基于所述多帧图像,获得所述目标物体的第一运动信息之后,还执行步骤:

对所述第一位姿信息进行滤波处理,以得到滤波处理后的第一位姿信息。

其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统还执行:

获取第二运动信息;

按照所述第二运动信息对机械臂进行控制。

也就是说,所述拉花系统200可以用于执行如图1所示实施例的运动捕捉方法或如图7所示的机械臂控制方法,其功能或原理可以参考上述图1所示实施例的运动捕捉方法或如图7所示的机械臂控制方法,在此不再赘述。

可以理解的是,所述拉花系统200还可以包括通信模块,以用于信息通信等。所述拉花系统200还可以包括交互模块,以用于与用户交互等,以获取用户订单等。所述拉花系统200还可以包括报警装置,用于受控于所述控制装置220,以执行报警操作等。

应理解,本实施例拉花系统200可以包括其他不同类型的操作机构,以受控于所述控制模块,执行不同的操作,在此不受限制。

应理解,控制装置可以被实施为控制电路,控制装置中的处理器可以是片上系统SOC,该处理器中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等。

图10为本申请电子设备一个实施例的结构示意图,如图10所示,上述电子设备可以包括:一个或多个处理器;存储器;以及一个或多个计算机程序。

其中,上述电子设备可以为拉花设备或机械臂控制设备等。

其中上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述设备执行时,使得上述设备执行以下步骤:

获取接收到的多帧图像,其中,所述多帧图像中包含目标物体,所述图像由所述相机拍摄获得;

基于所述多帧图像,获得所述目标物体的第一运动信息,其中,所述第一运动信息中包含每一帧所述图像中目标物体的第一位姿信息,所述第一位姿信息为所述目标物体在第一坐标系中的位姿信息,所述第一坐标系以所述相机为基准;

获取坐标转换关系,基于所述坐标转换关系,对所述第一位姿信息进行坐标转换,得到多个第二位姿信息,其中,所述第二位姿信息为所述机械臂末端在第二坐标系中的位姿信息,所述第二坐标系以所述机械臂基座为基准;

基于多个所述第二位姿信息,获得第二运动信息,以使得所述机械臂末端按照所述第二运动信息进行运动。

其中一种可能的实现方式中,所述目标物体包括二维码,所述相机为黑白相机。

其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备执行所述基于所述多帧图像,获得所述目标物体的第一运动信息,包括:

利用视觉识别模型对每一帧所述图像中目标物体的空间状态进行识别,以获得每一帧所述图像中目标物体的第一位姿信息。

其中一种可能的实现方式中,所述第一运动信息中还包含第一帧图像中目标物体的第一位姿信息与其他帧图像中目标物体的第一位姿信息之间的相对关系,当上述指令被上述设备执行时,使得上述设备执行所述基于所述坐标转换关系,对所述第一位姿信息进行坐标转换,以得到多个第二位姿信息,包括:

基于所述坐标转换关系,将第一帧图像中目标物体的第一位姿信息转换为第二位姿信息;

根据转换得到的所述第二位姿信息以及所述相对关系,得到与所述其他帧图像中目标物体的第一位姿信息相对应的多个第二位姿信息。

其中一种可能的实现方式中,所述坐标转换关系包括:

其中,

其中一种可能的实现方式中,所述第二运动信息包括机械臂六个关节轴的运动信息,当上述指令被上述设备执行时,使得上述设备执行所述基于多个所述第二位姿信息,获得第二运动信息,包括:

对所述第二位姿信息进行逆运动学解算,以得到所述机械臂六个关节轴的运动信息。

其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备在执行所述基于所述多帧图像,获得所述目标物体的第一运动信息之后,还执行步骤:

对所述第一位姿信息进行滤波处理,以得到滤波处理后的第一位姿信息。

当上述指令被上述设备执行时,使得上述设备还执行:

获取第二运动信息;

按照所述第二运动信息对机械臂进行控制。

图10所示的电子设备可以用于执行如图1所示实施例的运动捕捉方法或如图7所示的机械臂控制方法,其功能或原理可以参考上述图1所示实施例的运动捕捉方法或如图7所示的机械臂控制方法,在此不再赘述。

如图10所示,电子设备900包括处理器910和存储器920。其中,处理器910和存储器920之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器920用于存储计算机程序,该处理器910用于从该存储器920中调用并运行该计算机程序。

上述存储器920可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。

上述处理器910可以和存储器920可以合成一个处理装置,更常见的是彼此独立的部件,处理器910用于执行存储器920中存储的程序代码来实现上述功能。具体实现时,该存储器920也可以集成在处理器910中,或者,独立于处理器910。

除此之外,为了使得电子设备900的功能更加完善,该电子设备900还可以包括摄像头930、电源940、输入单元950等中的一个或多个。

可选地,电源950用于给电子设备中的各种器件或电路提供电源。

应理解,图10所示的电子设备900能够实现本申请图1或图7所示实施例提供的方法的各个过程。电子设备900中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见本申请图1或图7所示方法实施例中的描述,为避免重复,此处适当省略详细描述。

应理解,图10所示的电子设备900中的处理器910可以是片上系统SOC,该处理器910中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等。

总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器920中。

本申请还提供一种电子设备,所述设备包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现本申请图1或图7所示实施例提供的方法。

以上各实施例中,涉及的处理器可以例如包括CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network Process Units;以下简称:NPU)和图像信号处理器(Image Signal Processing;以下简称:ISP),该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如ASIC,或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请图1或图7所示实施例提供的方法。

本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请图1或图7所示实施例提供的方法。

本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。

本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 运动捕捉方法、装置、电子设备以及拉花系统
  • 运动捕捉方法、装置、电子设备以及机械臂控制系统
技术分类

06120113283109