CN111113429B - 一种动作模仿方法、动作模仿装置及终端设备 - Google Patents

一种动作模仿方法、动作模仿装置及终端设备 Download PDF

Info

Publication number
CN111113429B
CN111113429B CN201911418356.6A CN201911418356A CN111113429B CN 111113429 B CN111113429 B CN 111113429B CN 201911418356 A CN201911418356 A CN 201911418356A CN 111113429 B CN111113429 B CN 111113429B
Authority
CN
China
Prior art keywords
pose
key point
robot
simulated
coordinate system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911418356.6A
Other languages
English (en)
Other versions
CN111113429A (zh
Inventor
林泽才
安昭辉
刘益彰
庞建新
熊友军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Ubtech Technology Co ltd
Original Assignee
Shenzhen Ubtech Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Ubtech Technology Co ltd filed Critical Shenzhen Ubtech Technology Co ltd
Priority to CN201911418356.6A priority Critical patent/CN111113429B/zh
Publication of CN111113429A publication Critical patent/CN111113429A/zh
Application granted granted Critical
Publication of CN111113429B publication Critical patent/CN111113429B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

本申请提供了一种动作模仿方法、动作模仿装置及终端设备,该方法包括:获取待模仿对象的手指弯曲角度信息,并获取所述待模仿对象中关键点的位姿;根据所述关键点的位姿,以及所述关键点在之前时刻的历史位姿,对姿态变化量进行滤波处理,得到修正后的所述关键点的位姿;将修正后的所述关键点的位姿映射到机器人空间,得到所述机器人空间下的关键点的位姿,并基于所述手指弯曲角度信息,计算所述机器人抓取部弯曲的角度值;基于所述机器人空间下的关键点的位姿信息以及所述机器人抓取部弯曲的角度值,驱动所述机器人对所述待模仿对象的动作进行模仿。本申请可以在不增大人工工作负担的情况下,仍能使机器人实现高复杂性动作。

Description

一种动作模仿方法、动作模仿装置及终端设备
技术领域
本申请属于机器人控制技术领域,尤其涉及一种动作模仿方法、动作模仿装置及终端设备。
背景技术
目前,为了让机器人实现高复杂性的动作,事先需要编程人员对机器人进行编程,这显然会增大人工工作负担。
因此,如何在不增大人工工作负担的情况下,仍能使机器人实现高复杂性动作是目前亟待解决的技术问题。
发明内容
有鉴于此,本申请实施例提供了一种动作模仿方法、动作模仿装置及终端设备,可以在不增大人工工作负担的情况下,仍能使机器人实现高复杂性动作。
本申请实施例的第一方面提供了一种动作模仿方法,该方法包括:
获取待模仿对象的手指弯曲角度信息,并获取所述待模仿对象中关键点的位姿;
根据所述关键点的位姿,以及所述关键点在之前时刻的历史位姿,计算所述关键点的姿态变化量,对所述姿态变化量进行滤波处理,根据滤波处理后的姿态变化量以及所述历史位姿,得到修正后的所述关键点的位姿;
将修正后的所述关键点的位姿映射到机器人空间,得到所述机器人空间下的关键点的位姿,并基于所述手指弯曲角度信息,计算所述机器人抓取部弯曲的角度值;
基于所述机器人空间下的关键点的位姿信息以及所述机器人抓取部弯曲的角度值,驱动所述机器人对所述待模仿对象的动作进行模仿。
本申请实施例的第二方面提供了一种动作模仿装置,该装置包括:
信息获取模块,用于获取待模仿对象的手指弯曲角度信息,并获取所述待模仿对象中关键点的位姿;
姿态滤波模块,用于根据所述关键点的位姿,以及所述关键点在之前时刻的历史位姿,计算所述关键点的姿态变化量,对所述姿态变化量进行滤波处理,根据滤波处理后的姿态变化量以及所述历史位姿,得到修正后的所述关键点的位姿;
映射模块,用于将修正后的所述关键点的位姿映射到机器人空间,得到所述机器人空间下的关键点的位姿,并基于所述手指弯曲角度信息,计算所述机器人抓取部弯曲的角度值;
驱动模块,用于基于所述机器人空间下的关键点的位姿信息以及所述机器人抓取部弯曲的角度值,驱动所述机器人对所述待模仿对象的动作进行模仿。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面所述方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面所述方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面所述方法的步骤。
由上可见,本申请提供了一种动作模仿方法,首先,获取待模仿对象中关键点的位姿以及该待模仿对象的手指弯曲角度信息;其次,根据上述位姿,计算姿态变化量,得到修正后的位姿;然后,将修正后的位姿映射到机器人空间,得到机器人空间下的位姿,基于该机器人空间下的位姿以及待模仿对象的手指弯曲角度信息,实现对待模仿对象的动作模仿。
由此可见,本申请所提供的技术方案中,完全可以使机器人通过模仿动作,实现高复杂性动作的执行,从而能够避免事先对机器人进行复杂编程,在一定程度上简化编程负担。所以,本申请所提供的技术方案,能够在一定程度上解决了如何在不增大人工工作负担的情况下,仍能使机器人实现高复杂性的动作的技术问题。
此外,本申请所提供的技术方案中,还进一步限定了对采集的关键点姿态进行去噪的方式。由于待模仿对象的姿态可能会发生突变,直接对姿态进行去噪,可能会使得去噪后的姿态偏离待模仿对象实际所做的姿态,本申请是对两个时刻点的姿态差进行平滑处理,不仅能够保留姿态的突变信息,而且还能够在一定程度上滤除噪声,从而使得机器人能够更为逼真地模仿待模仿对象的动作。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1是本申请实施例一提供的一种动作模仿方法的实现流程示意图;
图2是本申请实施例二提供的一种动作模仿装置的结构示意图;
图3是本申请实施例三提供的终端设备的结构示意图;
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
本申请实施例提供的动作模仿方法可以适用于终端设备,示例性地,该终端设备包括但不限于:机器人、智能手机、平板电脑、笔记本、桌上型计算机、云端服务器等。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
实施例一
下面对本申请实施例一提供的一种动作模仿方法进行描述,请参阅附图1,该动作模仿方法包括:
在步骤S101中,获取待模仿对象的手指弯曲角度信息,并获取所述待模仿对象中关键点的位姿;
在本申请实施例一中,为了简化对机器人的编程负担,需要事先对待模仿对象的动作进行获取,即需要首先获取待模仿对象(比如,人)的手指弯曲角度信息,以及该待模仿对象的关键点的姿态。
目前,现有技术中存在多种不同类型的运动捕捉系统,可以采集待模仿对象中关键点的姿态,比如,现有技术提供了机械式运动捕捉系统、声学式运动捕捉系统、光学式运动捕捉系统以及电磁式运动捕捉系统等,市面上较为常见的是自然点NaturalPoint公司的光学捕捉OptiTrack运动捕捉系统。执行该步骤 S101的终端设备可以与OptiTrack运动捕捉系统通信连接,从而获取所采集的待模仿对象上关键点的空间信息。
此外,现有技术也提供了多种不同的手势识别系统来采集待模仿对象的手指弯曲角度信息,比如,可以采用北京无远弗届科技有限公司的Vrtrix数据手套来采集上述手指弯曲角度信息。执行该步骤S101的终端设备可以与Vrtrix 数据手套通信连接,从而获取该待模仿对象的手指弯曲角度信息。
在该步骤S101中,本申请并不对用于描述上述关键点的空间信息的坐标系进行限定,也即是,该步骤S101所获取的空间信息可以是世界坐标系(世界坐标系是绝对坐标系,不随待模仿对象的运动会变化)下的空间信息,或者也可以是其他坐标系(比如后续所述的胸腔坐标系)下的空间信息,本申请对此不作限定。然而,通常来说,对于OptiTrack运动捕捉系统来说,OptiTrack所采集的位姿都是在世界坐标系下的,因此,可以通过获取OptiTrack所采集的肩部、肘部以及腕部关键点在世界坐标系下的位姿,来对待模仿对象的手臂动作进行模仿。
在步骤S102中,根据所述关键点的位姿,以及所述关键点在之前时刻的历史位姿,计算所述关键点的姿态变化量,对所述姿态变化量进行滤波处理,根据滤波处理后的姿态变化量以及所述历史姿态,得到修正后的所述关键点的位姿;
通常来说,直接采集的姿态(或者对直接采集的姿态进行坐标变换后的姿态)是存在噪声的,因此,为了保证更逼真地对待模仿对象的动作进行模仿,需要对步骤S101所获取的位姿进行去噪处理。
本申请提供了一种具体的姿态(位姿中包含有位置和姿态)去噪方式,为便于后续描述,假设步骤S101获取到了关键点X的位姿,其中该位姿包括该关键点X的位置和第一姿态:
首先,获取关键点X在之前时刻的第二姿态G2,比如,该第二姿态可以是该关键点X执行该第一姿态G1的前一时刻的姿态。并根据该第二姿态以及该第一姿态计算姿态变化量
Figure BDA0002351741440000061
为便于后续描述,以下采用数学表达式来描述姿态变化量
Figure BDA0002351741440000062
的计算方式:
Figure BDA0002351741440000063
其次,对上述姿态变化量
Figure BDA0002351741440000064
进行平滑处理,得到平滑处理后的姿态变化量
Figure BDA0002351741440000065
然后,基于
Figure BDA0002351741440000066
G2以及上述函数F,计算修正后的第一姿态G1’,比如,若上述函数F具体为
Figure BDA0002351741440000067
则修正后的第一姿态G1’为
Figure BDA0002351741440000068
通常情况下,待模仿对象的姿态可能会发生突变,因此,直接对姿态进行去噪,可能会使得去噪后的姿态偏离待模仿对象实际所做的姿态,本申请提供了一种特定的姿态去噪方式,是对两个时刻点的姿态差进行平滑处理,不仅能够保留姿态的突变信息,而且还能够在一定程度上滤除噪声,从而使得机械臂能够更为逼真地模仿待模仿对象的动作。
此外,本领域技术人员应该能够理解,为了更好地模仿待模仿对象的动作,除了对姿态进行滤波之外,也可以对姿态中的位置进行滤波,具体的去噪方式可以为:先利用一阶低通滤波器去除位置中突变的数据,再利用卡尔曼滤波器对数据进行平滑处理。
通常情况下,机械臂为多自由度串联杆件结构(比如七自由度串联杆件结构),为了通过机械臂对待模仿对象的动作进行模仿,常常利用逆运动学来计算串联杆件结构中各个关节的角度,并且在逆运动学的计算过程中,通常需要将各个位姿映射到胸腔坐标系中,该胸腔坐标系为位于所述待模仿对象胸部且与所述待模仿对象躯干相对静止的坐标系。因此,基于上述分析,为了实现对待模仿对象的手臂动作的模仿,该步骤S102得到的修正后的位姿可以为在胸腔坐标系下的位姿,然而,通常情况下,市面上的运动捕捉系统所采集的位姿为世界坐标系下的位姿,也即是,上述步骤S101获取到的为腕部关键点、肘部关键点以及肩部关键点在世界坐标系下的位姿,因此,为了得到胸腔坐标系下的滤波后的位姿,该步骤S102可以为:
根据所述待模仿对象中腕部关键点在世界坐标系下的位姿,以及所述待模仿对象中该腕部关键点在所述世界坐标系下的历史位姿,计算该腕部关键点在所述世界坐标系下的姿态变化量,对该姿态变化量进行滤波处理,根据滤波处理后的姿态变化量以及所述世界坐标系下的历史位姿,得到修正后的所述待模仿对象中腕部关键点在所述世界坐标系下的位姿,将该位姿变换到胸腔坐标系下,得到修正后的所述待模仿对象中腕部关键点在所述胸腔坐标系下的位姿,其中,所述胸腔坐标系为位于所述待模仿对象胸部且与所述待模仿对象躯干相对静止的坐标系;
得到修正后的所述待模仿对象中肩部关键点和肘部关键点在所述胸腔坐标系下的位姿,其中,所述肩部关键点在所述胸腔坐标系下的位姿与所述肘部关键点在所述胸腔坐标系下的位姿与所述腕部关键点在所述胸腔坐标系下的位姿计算方式相同。
在步骤S103中,将修正后的所述关键点的位姿映射到机器人空间,得到该机器人空间下的关键点的位姿,并基于所述手指弯曲角度信息,计算所述机器人抓取部弯曲的角度值;
通常来说,机器人的手臂长度与待模仿对象的手臂长度是不同的,因此,需要将步骤S102得到的修正后的位姿映射到机器人空间。也即是,若上述步骤 S102得到的是所述待模仿对象的腕部关键点、肘部关键点以及肩部关键点分别在所述胸腔坐标系下的位姿,则映射到机器人空间后,会得到机器人空间下的腕部关键点、肘部关键点以及肩部关键点在所述胸腔坐标系下的位姿。
此外,在得到待模仿对象的手指弯曲角度信息时,可以基于机器人抓取部的可弯曲角度范围,来计算所述机器人抓取部的弯曲角度值。具体可以为:若抓取部的可运动角度范围为[0,45°],然而,步骤S101获取到的待模仿对象的手指弯曲角度为60°,则需要将获取得到的角度映射到抓取部能够弯曲的角度范围内。
具体的映射方法可以为:当获取得到的角度超过45°时,一律控制抓取部弯曲45°;或者,也可以为,将获取得到的角度线性变化至能够运动的角度范围,比如,若待模仿对象手指弯曲角度范围在[0,90°],而该抓取部可运动角度范围为[0,45°],则可以将获取得到的角度值除以2,得到该抓取部的实际运动角度值。在本申请实施例中,并不对映射角度的方式进行具体限定。
在步骤S104中,基于所述机器人空间下的关键点的位姿信息以及所述机器人抓取部弯曲的角度值,驱动所述机器人对所述待模仿对象的动作进行模仿;
根据步骤S103得到机器人抓取部的弯曲角度之后,可以直接根据该弯曲角度驱动机器人抓取部进行抓取操作。
若所述机器人的机械臂为多自由度串联杆件结构,则基于所述机器人空间下的关键点的位姿信息,驱动所述机器人对所述待模仿对象的动作进行模仿,包括:
基于所述机器人空间下的腕部关键点、肘部关键点以及肩部关键点在所述胸腔坐标系下的位姿,确定臂角值;
基于所述臂角值以及所述目标位姿,确定所述机器人的机械臂中各个关节的角度值;
基于各个关节的角度值驱动所述机器人的手臂运动,以对待模仿对象的手臂动作进行模仿。
其中,上述臂角值为臂角平面与参考平面的夹角,具体计算方法可以为:
计算臂角平面的法向量
Figure BDA0002351741440000081
计算参考平面的法向量
Figure BDA0002351741440000082
基于如下公式计算臂角ψ,该公式为:
Figure BDA0002351741440000083
此外,为了对手臂动作进行更为逼真的模仿,需要对臂角ψ的方向进行修正,具体修正方式可以为:
建立与所述法向量
Figure BDA0002351741440000091
以及所述法向量
Figure BDA0002351741440000092
均垂直的向量
Figure BDA0002351741440000093
其中
Figure BDA0002351741440000094
基于如下公式对所述臂角ψ的方向进行修正,该公式为:
Figure BDA0002351741440000095
下面假设机械臂为七自由度串联杆件结构,描述一种臂角的计算方法:
首先,假设所述七自由度串联杆件结构中,用于模仿肩部动作至模仿腕部动作的各个关节依次命名为关节i,i=1、2……7。建立参考平面以及臂角平面,所述臂角平面为
Figure BDA0002351741440000096
Figure BDA0002351741440000097
所构成的平面,所述
Figure BDA0002351741440000098
为所述机器人空间下的肩部关键点在所述胸腔坐标系的位置与腕部关键点在所述胸腔坐标系的位置之间的向量,
Figure BDA0002351741440000099
为所述机器人空间下的肩部关键点在所述胸腔坐标系的位置与肘部关键点在所述胸腔坐标系的位置之间的向量,所述参考平面为所述机器人手臂末端在基坐标系下的位姿为目标位姿,且所述七自由度串联杆件结构中关节3的角度为0时的机械臂构型平面,所述基坐标系为所述胸腔坐标系平移至所述待模仿对象的肩部关键点处所得到的坐标系,所述目标位姿为将所述机器人空间下的腕部关键点在所述胸腔坐标系下的位姿映射至所述基坐标系得到的位姿;
其次,计算所述臂角平面的法向量
Figure BDA00023517414400000910
Figure BDA00023517414400000911
并计算当所述机器人末端在基坐标系下的位姿为所述目标位姿,且关节3的角度为0时,关节1 的角度q1以及关节2的角度q2,其中:
q1=arctan2(px,py)
Figure BDA00023517414400000912
px,py以及pz
Figure BDA00023517414400000913
的三分量,lse,lsw以及lew为机器人空间下,肩部关键点在所述胸腔坐标系下的位置与肘部关键点在所述胸腔坐标系下的位置、肩部关键点在所述胸腔坐标系下的位置与腕部关键点在所述胸腔坐标系下的位置以及肘部关键点在所述胸腔坐标系下的位置与腕部关键点在所述胸腔坐标系下的位置;
再次,计算当所述机器人末端在基坐标系下的位姿为所述目标位姿,且关节3的角度为0时,机器人空间下的肘部关键点在所述胸腔坐标系下的位置Pe 0,其中:
Figure BDA0002351741440000101
根据Pe 0,确定所述机器人空间下的肩部关键点在所述胸腔坐标系的位置与Pe 0之间的向量
Figure BDA0002351741440000102
然后,计算所述参考平面的法向量
Figure BDA0002351741440000103
Figure BDA0002351741440000104
并建立与所述法向量
Figure BDA0002351741440000105
以及所述法向量
Figure BDA0002351741440000106
均垂直的向量
Figure BDA0002351741440000107
其中
Figure BDA0002351741440000108
最后,基于如下公式计算臂角ψ,该公式为
Figure BDA0002351741440000109
此外,在本申请实施例中,上述步骤S101所述的获取待模仿对象中关键点的位姿还可以包括:获取位于所述待模仿对象头部的关键点的位姿。相应地,基于所述机器人空间下的关键点的位姿信息,驱动所述机器人对所述待模仿对象的动作进行模仿,包括:利用逆运动学算法以及所述机器人空间下的头部关键点的位姿信息,计算所述串联杆件结构中各个关节的角度值;基于各个关节夹角,对所述待模仿对象的头部动作进行模仿。这样,机器人还能够对待模仿对象的头部动作进行模仿。
由此可见,本申请实施例一所提供的技术方案中,完全可以使机器人通过模仿动作,实现高复杂性动作的执行,能够在一定程度上解决了如何在不增大人工工作负担的情况下,仍能使机器人实现高复杂性的动作的技术问题。此外,本申请所提供的技术方案中,还进一步限定了对采集的关键点姿态进行去噪的方式,不仅能够保留姿态的突变信息,而且还能够在一定程度上滤除噪声,从而使得机器人能够更为逼真地模仿待模仿对象的动作。
实施例二
本申请实施例二提供了一种动作模仿装置,如图2所示,该模仿装置200 包括:
信息获取模块201,用于获取待模仿对象的手指弯曲角度信息,并获取所述待模仿对象中关键点的位姿;
姿态滤波模块202,用于根据所述关键点的位姿,以及所述关键点在之前时刻的历史位姿,计算所述关键点的姿态变化量,对所述姿态变化量进行滤波处理,根据滤波处理后的姿态变化量以及所述历史位姿,得到修正后的所述关键点的位姿;
映射模块203,用于将修正后的所述关键点的位姿映射到机器人空间,得到所述机器人空间下的关键点的位姿,并基于所述手指弯曲角度信息,计算所述机器人抓取部弯曲的角度值;
驱动模块204,用于基于所述机器人空间下的关键点的位姿信息以及所述机器人抓取部弯曲的角度值,驱动所述机器人对所述待模仿对象的动作进行模仿。
可选地,上述信息获取模块201具体用于:
获取所述待模仿对象中腕部关键点、肘部关键点以及肩部关键点在世界坐标系下的位姿。
可选地,上述姿态滤波模块202具体用于:
根据所述待模仿对象中腕部关键点在世界坐标系下的位姿,以及所述待模仿对象中该腕部关键点在所述世界坐标系下的历史位姿,计算该腕部关键点在所述世界坐标系下的姿态变化量,对该姿态变化量进行滤波处理,根据滤波处理后的姿态变化量以及所述世界坐标系下的历史位姿,得到修正后的所述待模仿对象中腕部关键点在所述世界坐标系下的位姿,将该位姿变换到胸腔坐标系下,得到修正后的所述待模仿对象中腕部关键点在所述胸腔坐标系下的位姿,其中,所述胸腔坐标系为位于所述待模仿对象胸部且与所述待模仿对象躯干相对静止的坐标系;
得到修正后的所述待模仿对象中肩部关键点和肘部关键点在所述胸腔坐标系下的位姿,其中,所述肩部关键点在所述胸腔坐标系下的位姿与所述肘部关键点在所述胸腔坐标系下的位姿与所述腕部关键点在所述胸腔坐标系下的位姿计算方式相同。
可选地,上述映射模块203具体用于:
将所述待模仿对象的腕部关键点、肘部关键点以及肩部关键点分别在所述胸腔坐标系下的位姿均映射到机器人空间,得到机器人空间下的腕部关键点、肘部关键点以及肩部关键点在所述胸腔坐标系下的位姿。
可选地,所述机器人的机械臂为多自由度串联杆件结构;
上述驱动模块204包括:
臂角计算单元,用于基于所述机器人空间下的腕部关键点、肘部关键点以及肩部关键点在所述胸腔坐标系下的位姿,确定臂角值;
关节计算单元,用于基于所述臂角值以及所述目标位姿,确定所述机器人的机械臂中各个关节的角度值;
模仿单元,用于基于各个关节的角度值驱动所述机器人的手臂运动,以对待模仿对象的手臂动作进行模仿。
可选地,上述臂角计算单元具体用于:
计算臂角平面的法向量
Figure BDA0002351741440000121
计算参考平面的法向量
Figure BDA0002351741440000122
基于如下公式计算臂角ψ,该公式为:
Figure BDA0002351741440000123
可选地,上述臂角计算单元还用于:
建立与所述法向量
Figure BDA0002351741440000124
以及所述法向量
Figure BDA0002351741440000125
均垂直的向量
Figure BDA0002351741440000126
其中
Figure BDA0002351741440000127
基于如下公式对所述臂角ψ的方向进行修正,该公式为:
Figure BDA0002351741440000131
可选地,所述机器人的头部为串联杆件结构;
上述信息获取模块201具体用于:
获取位于所述待模仿对象头部的关键点的位姿;
相应地,上述驱动模块具体用于:
利用逆运动学算法以及所述机器人空间下的头部关键点的位姿信息,计算所述串联杆件结构中各个关节的角度值,基于各个关节夹角,对所述待模仿对象的头部动作进行模仿。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例一以及方法实施例二基于同一构思,其具体功能及带来的技术效果,具体可参见相应方法实施例部分,此处不再赘述。
实施例三
图3是本申请实施例三提供的终端设备的示意图。如图3所示,该实施例的终端设备300包括:处理器301、存储器302以及存储在上述存储器302中并可在上述处理器301上运行的计算机程序303。上述处理器301执行上述计算机程序303时实现上述方法实施例中的步骤。或者,上述处理器301执行上述计算机程序303时实现上述装置实施例中各模块/单元的功能。
示例性的,上述计算机程序303可以被分割成一个或多个模块/单元,上述一个或者多个模块/单元被存储在上述存储器302中,并由上述处理器301执行,以完成本申请。上述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述上述计算机程序303在上述终端设备300 中的执行过程。例如,上述计算机程序303可以被分割成信息获取模块、姿态滤波模块、映射模块以及驱动模块,各模块具体功能如下:
获取待模仿对象的手指弯曲角度信息,并获取所述待模仿对象中关键点的位姿;
根据所述关键点的位姿,以及所述关键点在之前时刻的历史位姿,计算所述关键点的姿态变化量,对所述姿态变化量进行滤波处理,根据滤波处理后的姿态变化量以及所述历史位姿,得到修正后的所述关键点的位姿;
将修正后的所述关键点的位姿映射到机器人空间,得到所述机器人空间下的关键点的位姿,并基于所述手指弯曲角度信息,计算所述机器人抓取部弯曲的角度值;
基于所述机器人空间下的关键点的位姿信息以及所述机器人抓取部弯曲的角度值,驱动所述机器人对所述待模仿对象的动作进行模仿。
上述终端设备可包括,但不仅限于,处理器301、存储器302。本领域技术人员可以理解,图3仅仅是终端设备300的示例,并不构成对终端设备300的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如上述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器301可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述存储器302可以是上述终端设备300的内部存储单元,例如终端设备 300的硬盘或内存。上述存储器302也可以是上述终端设备300的外部存储设备,例如上述终端设备300上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,上述存储器302还可以既包括上述终端设备300的内部存储单元也包括外部存储设备。上述存储器302用于存储上述计算机程序以及上述终端设备所需的其它程序和数据。上述存储器302还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述各个方法实施例中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种动作模仿方法,其特征在于,包括:
获取待模仿对象的手指弯曲角度信息,并获取所述待模仿对象中关键点的位姿;
根据所述关键点的位姿,以及所述关键点在之前时刻的历史位姿,计算所述关键点的姿态变化量,对所述姿态变化量进行滤波处理,根据滤波处理后的姿态变化量以及所述历史位姿,得到修正后的所述关键点的位姿;
将修正后的所述关键点的位姿映射到机器人空间,得到所述机器人空间下的关键点的位姿,并基于所述手指弯曲角度信息,计算所述机器人抓取部弯曲的角度值;
基于所述机器人空间下的关键点的位姿信息以及所述机器人抓取部弯曲的角度值,驱动所述机器人对所述待模仿对象的动作进行模仿;
其中,基于所述手指弯曲角度信息,计算所述机器人抓取部弯曲的角度值,包括:
基于机器人抓取部的可弯曲角度范围,将获取得到的手指弯曲角度信息中的角度映射到抓取部能够弯曲的角度范围内,得到所述机器人抓取部的弯曲角度值。
2.如权利要求1所述的动作模仿方法,其特征在于,所述获取所述待模仿对象中关键点的位姿,包括:
获取所述待模仿对象中腕部关键点、肘部关键点以及肩部关键点在世界坐标系下的位姿。
3.如权利要求2所述的动作模仿方法,其特征在于,所述根据所述关键点的位姿,以及所述关键点在之前时刻的历史位姿,计算所述关键点的姿态变化量,对所述姿态变化量进行滤波处理,根据滤波处理后的姿态变化量以及所述历史位姿,得到修正后的所述关键点的位姿,包括:
根据所述待模仿对象中腕部关键点在世界坐标系下的位姿,以及所述待模仿对象中该腕部关键点在所述世界坐标系下的历史位姿,计算该腕部关键点在所述世界坐标系下的姿态变化量,对该姿态变化量进行滤波处理,根据滤波处理后的姿态变化量以及所述世界坐标系下的历史位姿,得到修正后的所述待模仿对象中腕部关键点在所述世界坐标系下的位姿,将该位姿变换到胸腔坐标系下,得到修正后的所述待模仿对象中腕部关键点在所述胸腔坐标系下的位姿,其中,所述胸腔坐标系为位于所述待模仿对象胸部且与所述待模仿对象躯干相对静止的坐标系;
得到修正后的所述待模仿对象中肩部关键点和肘部关键点在所述胸腔坐标系下的位姿,其中,所述肩部关键点在所述胸腔坐标系下的位姿与所述肘部关键点在所述胸腔坐标系下的位姿与所述腕部关键点在所述胸腔坐标系下的位姿计算方式相同。
4.如权利要求3所述的动作模仿方法,其特征在于,所述将修正后的所述关键点的位姿映射到机器人空间,得到所述机器人空间下的关键点的位姿,包括:
将所述待模仿对象的腕部关键点、肘部关键点以及肩部关键点分别在所述胸腔坐标系下的位姿均映射到机器人空间,得到机器人空间下的腕部关键点、肘部关键点以及肩部关键点在所述胸腔坐标系下的位姿。
5.如权利要求4所述的动作模仿方法,其特征在于,所述机器人的机械臂为多自由度串联杆件结构;
基于所述机器人空间下的关键点的位姿信息,驱动所述机器人对所述待模仿对象的动作进行模仿,包括:
基于所述机器人空间下的腕部关键点、肘部关键点以及肩部关键点在所述胸腔坐标系下的位姿,确定臂角值;
基于所述臂角值以及目标位姿,确定所述机器人的机械臂中各个关节的角度值;
基于各个关节的角度值驱动所述机器人的手臂运动,以对待模仿对象的手臂动作进行模仿。
6.如权利要求5所述的动作模仿方法,其特征在于,所述基于所述机器人空间下的腕部关键点、肘部关键点以及肩部关键点在所述胸腔坐标系下的位姿,确定臂角值,包括:
计算臂角平面的法向量
Figure 504162DEST_PATH_IMAGE001
,计算参考平面的法向量
Figure 421302DEST_PATH_IMAGE002
基于如下公式计算臂角
Figure 889455DEST_PATH_IMAGE003
,该公式为:
Figure 284664DEST_PATH_IMAGE004
7.如权利要求6所述的动作模仿方法,其特征在于,在基于公式计算臂角
Figure 99037DEST_PATH_IMAGE003
的步骤之后,还包括:
建立与所述法向量
Figure 921499DEST_PATH_IMAGE001
以及所述法向量
Figure 126216DEST_PATH_IMAGE002
均垂直的向量
Figure 75848DEST_PATH_IMAGE005
,其中
Figure 744727DEST_PATH_IMAGE006
基于如下公式对所述臂角
Figure 925041DEST_PATH_IMAGE003
的方向进行修正,该公式为:
Figure 679371DEST_PATH_IMAGE007
8.如权利要求1至7中任一项所述的动作模仿方法,其特征在于,所述机器人的头部为串联杆件结构;
所述获取所述待模仿对象中关键点的位姿,包括:
获取位于所述待模仿对象头部的关键点的位姿;
相应地,基于所述机器人空间下的关键点的位姿信息,驱动所述机器人对所述待模仿对象的动作进行模仿,包括:
利用逆运动学算法以及所述机器人空间下的头部关键点的位姿信息,计算所述串联杆件结构中各个关节的角度值;
基于各个关节的角度值,对所述待模仿对象的头部动作进行模仿。
9.一种动作模仿装置,其特征在于,包括:
信息获取模块,用于获取待模仿对象的手指弯曲角度信息,并获取所述待模仿对象中关键点的位姿;
姿态滤波模块,用于根据所述关键点的位姿,以及所述关键点在之前时刻的历史位姿,计算所述关键点的姿态变化量,对所述姿态变化量进行滤波处理,根据滤波处理后的姿态变化量以及所述历史位姿,得到修正后的所述关键点的位姿,其中,关键点的姿态变化量基于公式
Figure 354066DEST_PATH_IMAGE008
确定,
Figure 565866DEST_PATH_IMAGE009
为姿态变化量,
Figure 995711DEST_PATH_IMAGE010
的获取到的关键点的姿态,
Figure 175019DEST_PATH_IMAGE011
为关键点在之前时刻的历史位姿,F为函数;
映射模块,用于将修正后的所述关键点的位姿映射到机器人空间,得到所述机器人空间下的关键点的位姿,并基于所述手指弯曲角度信息,计算所述机器人抓取部弯曲的角度值;
驱动模块,用于基于所述机器人空间下的关键点的位姿信息以及所述机器人抓取部弯曲的角度值,驱动所述机器人对所述待模仿对象的动作进行模仿;
其中,映射模块还用于:
基于机器人抓取部的可弯曲角度范围,将获取得到的手指弯曲角度信息中的角度映射到抓取部能够弯曲的角度范围内,得到所述机器人抓取部的弯曲角度值。
10.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述动作模仿方法的步骤。
CN201911418356.6A 2019-12-31 2019-12-31 一种动作模仿方法、动作模仿装置及终端设备 Active CN111113429B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911418356.6A CN111113429B (zh) 2019-12-31 2019-12-31 一种动作模仿方法、动作模仿装置及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911418356.6A CN111113429B (zh) 2019-12-31 2019-12-31 一种动作模仿方法、动作模仿装置及终端设备

Publications (2)

Publication Number Publication Date
CN111113429A CN111113429A (zh) 2020-05-08
CN111113429B true CN111113429B (zh) 2021-06-25

Family

ID=70507084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911418356.6A Active CN111113429B (zh) 2019-12-31 2019-12-31 一种动作模仿方法、动作模仿装置及终端设备

Country Status (1)

Country Link
CN (1) CN111113429B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112276947B (zh) * 2020-10-21 2021-06-15 乐聚(深圳)机器人技术有限公司 一种机器人动作模仿方法、装置、设备及存储介质
CN112365580B (zh) * 2020-11-16 2022-10-28 同济大学 一种面向人机技能传授的虚拟作业演示系统
CN112847336B (zh) * 2020-12-24 2023-08-22 达闼机器人股份有限公司 动作学习方法、装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106078752A (zh) * 2016-06-27 2016-11-09 西安电子科技大学 一种基于Kinect的仿人机器人人体行为模仿方法
CN106625658A (zh) * 2016-11-09 2017-05-10 华南理工大学 一种实时模仿人体上半身动作的人形机器人控制方法
CN106826838A (zh) * 2017-04-01 2017-06-13 西安交通大学 一种基于Kinect视觉深度传感器的交互仿生机械臂控制方法
CN108098780A (zh) * 2016-11-24 2018-06-01 广州映博智能科技有限公司 一种新型的机器人仿人运动系统
CN109895104A (zh) * 2017-12-07 2019-06-18 广州映博智能科技有限公司 一种仿人机器人系统
CN111208783A (zh) * 2019-12-30 2020-05-29 深圳市优必选科技股份有限公司 一种动作模仿方法、装置、终端及计算机存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107921639B (zh) * 2015-08-25 2021-09-21 川崎重工业株式会社 多个机器人系统间的信息共享系统及信息共享方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106078752A (zh) * 2016-06-27 2016-11-09 西安电子科技大学 一种基于Kinect的仿人机器人人体行为模仿方法
CN106625658A (zh) * 2016-11-09 2017-05-10 华南理工大学 一种实时模仿人体上半身动作的人形机器人控制方法
CN108098780A (zh) * 2016-11-24 2018-06-01 广州映博智能科技有限公司 一种新型的机器人仿人运动系统
CN106826838A (zh) * 2017-04-01 2017-06-13 西安交通大学 一种基于Kinect视觉深度传感器的交互仿生机械臂控制方法
CN109895104A (zh) * 2017-12-07 2019-06-18 广州映博智能科技有限公司 一种仿人机器人系统
CN111208783A (zh) * 2019-12-30 2020-05-29 深圳市优必选科技股份有限公司 一种动作模仿方法、装置、终端及计算机存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Kinect的仿人机器人动作控制系统研究;程振华;《优秀硕士学位论文全文数据库 信息科技辑》;20190115;第7-56页 *

Also Published As

Publication number Publication date
CN111113429A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN111113429B (zh) 一种动作模仿方法、动作模仿装置及终端设备
US11331806B2 (en) Robot control method and apparatus and robot using the same
CN112775931B (zh) 机械臂控制方法、装置、计算机可读存储介质及机器人
CN109732593B (zh) 一种机器人的远端控制方法、装置及终端设备
US11833692B2 (en) Method and device for controlling arm of robot
CN109840508A (zh) 一个基于深度网络架构自动搜索的机器人视觉控制方法,设备及存储介质
CN112720479B (zh) 一种机器人姿态控制方法、装置及机器人
CN108334198B (zh) 基于增强现实的虚拟雕塑方法
CN113119104B (zh) 机械臂控制方法、机械臂控制装置、计算设备及系统
CN112536796A (zh) 机器人控制方法、装置、计算机可读存储介质及机器人
Maycock et al. Robust tracking of human hand postures for robot teaching
Silva et al. Sensor data fusion for full arm tracking using myo armband and leap motion
CN113070877B (zh) 一种面向七轴机械臂视觉示教的可变姿态映射方法
US11644840B2 (en) Method for controlling a robot and its end-portions and device thereof
CN112894794B (zh) 人体手臂动作模仿方法、装置、终端设备及存储介质
CN113084791B (zh) 机械臂控制方法、机械臂控制装置及终端设备
CN117325177A (zh) 一种基于动作基元的拟人运动规划方法、装置及介质
CN109333527B (zh) 一种与机器人的交互方法、装置、电子设备及存储介质
CN116030192B (zh) 一种基于动力学特征的骨骼段预处理方法及装置
CN114888809B (zh) 机器人控制方法、装置、计算机可读存储介质及机器人
CN113204892B (zh) 质心轨迹生成方法、装置、计算机可读存储介质及机器人
CN113561172A (zh) 一种基于双目视觉采集的灵巧手控制方法及装置
Ehlers et al. Self-scaling Kinematic Hand Skeleton for Real-time 3D Hand-finger Pose Estimation.
CN118123847B (zh) 一种人机协作的系统、操作控制方法及装置
CN110216676B (zh) 一种机械臂控制方法、机械臂控制装置及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant