CN116400813B - 一种训练样本的生成方法、装置、存储介质及电子设备 - Google Patents
一种训练样本的生成方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116400813B CN116400813B CN202310676111.3A CN202310676111A CN116400813B CN 116400813 B CN116400813 B CN 116400813B CN 202310676111 A CN202310676111 A CN 202310676111A CN 116400813 B CN116400813 B CN 116400813B
- Authority
- CN
- China
- Prior art keywords
- target
- user
- joint
- positions
- determining
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000012549 training Methods 0.000 title claims abstract description 68
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 230000009471 action Effects 0.000 claims abstract description 116
- 230000033001 locomotion Effects 0.000 claims abstract description 90
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 67
- 241000282414 Homo sapiens Species 0.000 claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 15
- 230000005484 gravity Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 88
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 210000004556 brain Anatomy 0.000 description 4
- 238000012804 iterative process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000001149 cognitive effect Effects 0.000 description 2
- 210000003414 extremity Anatomy 0.000 description 2
- 210000004394 hip joint Anatomy 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 210000000629 knee joint Anatomy 0.000 description 2
- 210000002414 leg Anatomy 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 101100443238 Caenorhabditis elegans dif-1 gene Proteins 0.000 description 1
- 101100261000 Caenorhabditis elegans top-3 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 210000000544 articulatio talocruralis Anatomy 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000000610 foot bone Anatomy 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本说明书公开了一种训练样本的生成方法、装置、存储介质及电子设备。该训练样本的生成方法包括:通过佩戴在用户指定部位的虚拟现实VR设备,采集用户执行指定动作后,指定部位的位姿信息,根据位姿信息,确定指定部位对应的运动数据,根据运动数据,以及用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,确定用户在执行指定动作后全身的骨骼和关节对应的运动数据,作为目标数据,根据目标数据生成训练样本并存储。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种训练样本的生成方法、装置、存储介质及电子设备。
背景技术
随着科技的不断发展,云脑机器人已经成为人工智能和机器人领域的重要研究方向。云脑机器人能够借助脑科学和类人认知计算方法,通过云计算、大数据处理技术,增强机器人感知、环境理解和认知决策能力。通过场景感知模型从多个感官模态获取数据,对多模态数据整合形成知觉,用于认知计算。通过云脑控制的分层递阶结构,人机交互及传动与控制器件等,来执行对行为的控制,使得机器人能够完成复杂、动态环境下的主动服务和自适应操作。
然而,目前在对机器人的行为动作进行训练的过程中,无法获取到与人体运动学模型相符的训练样本,导致对机器人的训练效果较差,无法流畅的完成各种行为动作,甚至无法执行相应的动作控制指令。
因此,如何生成与人体运动学模型相符的训练样本,从而对机器人的行为动作进行精准的训练,是一个亟待解决的问题。
发明内容
本说明书提供一种训练样本的生成方法、装置、存储介质及电子设备。以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种训练样本的生成方法,包括:
通过佩戴在用户指定部位的虚拟现实VR设备,采集所述用户执行指定动作后,所述指定部位的位姿信息;
根据所述位姿信息,确定所述指定部位对应的运动数据;
根据所述运动数据,以及所述用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,确定所述用户在执行所述指定动作后全身的骨骼和关节对应的运动数据,作为目标数据;
根据所述目标数据生成训练样本并存储。
可选地,所述指定部位包括:所述用户的头部、所述用户双臂末端中的至少一种。
可选地,根据佩戴在用户指定部位的虚拟现实VR设备,采集所述用户执行指定的动作后,所述指定部位的位姿信息之前,所述方法还包括:
根据所述人体的实际骨骼和关节结构,构建有限元模型;
根据预设的形状信息、质量信息、重心信息以及所述有限元模型,在所述VR设备提供的虚拟环境中构建所述用户对应的数字模型。
可选地,根据佩戴在用户指定部位的虚拟现实VR设备,采集所述用户执行指定动作后,所述指定部位的位姿信息,具体包括:
确定所述指定部位在所述数字模型上对应的关节点,作为目标关节点;
根据所述指定部位的位姿信息,确定所述用户执行所述指定动作后,所述目标关节点在所述虚拟环境中对应的位姿信息;
根据所述位姿信息,确定所述指定部位对应的运动数据,具体包括:
根据目标关节点在所述虚拟环境中对应的位姿信息,确定所述目标关节点在所述虚拟环境中的运动数据。
可选地,确定所述指定部位在所述虚拟环境中的数字模型上对应的关节点,作为目标关节点,具体包括:
根据所述数字模型中各骨骼和关节点之间的连接关系,确定所述数字模型包含的至少一个铰接体,一个铰接体对应一条由骨骼和关节点组成的连接链路;
确定所述目标关节点所属的铰接体,作为目标铰接体。
可选地,根据所述运动数据,以及所述用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,确定所述用户在执行所述指定动作后全身的骨骼和关节对应的运动数据,作为目标数据,具体包括:
根据所述目标关节点在所述虚拟环境中对应的初始位置,确定所述目标铰接体中的其他关节点对应的初始位置,以及,确定所述用户执行所述指定动作后所述目标关节点在所述虚拟环境中所处的位置,作为目标位置;
根据所述目标关节点和所述其他关节点对应的初始位置,以及所述目标位置,确定各关节点在所述用户执行所述指定动作后对应的位置;
确定每个铰接体中包含的各关节点在所述用户执行所述指定动作后在所述虚拟环境中对应的位置,并根据所述数字模型中的每个关节点对应的位置,确定所述目标数据。
可选地,根据所述目标关节点和所述其他关节点对应的初始位置,以及所述目标位置,确定各关节点在所述用户执行所述指定动作后对应的位置,具体包括:
确定所述目标铰接体首端的关节点,作为根关节点,以及,确定所述根关节点与所述目标关节点之间的其他关节点,作为中间关节点;
若所述目标铰接体中各关节点之间的距离之和,大于所述根关节点的初始位置与所述目标位置之间的距离,则以最小化所述目标关节点的位置与所述目标位置之间的距离,以及使所述根关节点始终位于所述初始位置为目标,对所述用户执行所述指定动作后各中间关节点的位置以及所述目标关节点的位置进行调整,得到调整后位置;
根据所述调整后位置以及所述根关节点对应的初始位置,确定所述各关节点在所述用户执行所述指定动作后对应的位置。
可选地,所述方法还包括:
若所述目标铰接体中各关节点之间的距离之和,小于所述根关节点的初始位置与所述目标位置之间的距离,则以所述各关节点之间的距离之和不小于所述根关节点的初始位置与所述目标位置之间的距离为目标,对所述根关节点对应的初始位置进行调整。
可选地,针对所述目标铰接体中包含的每个关节点,该关节点在每次调整时对应的初始位置、调整后位置以及与该关节点相邻的上一个被调整的关节点的调整后位置在同一直线上。
可选地,根据佩戴在用户指定部位的虚拟现实VR设备,确定所述用户执行指定的动作后,所述指定部位的位姿信息之前,所述方法还包括:
根据所述用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,以执行动作时各骨骼以及关节之间的运动不相互冲突为目标,确定所述用户执行不同的动作时,各关节的角度变化范围,作为约束范围。
可选地,根据所述运动数据,以及所述用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,确定所述用户在执行所述指定动作后全身的骨骼和关节对应的运动数据,作为目标数据,具体包括:
根据所述运动数据以及所述约束范围,确定所述用户在执行所述指定动作时全身的骨骼和关节对应的运动数据,作为目标数据。
可选地,根据所述目标关节点和所述其他关节点对应的初始位置,以及所述目标位置,确定各关节点在所述用户执行所述指定动作后对应的位置,具体包括:
根据所述目标关节点以及所述其他关节点对应的初始位置、所述目标位置以及所述约束范围,确定所述各关节点在所述用户执行所述指定动作后对应的位置。
可选地,所述方法还包括:
获取所述训练样本;
将所述训练样本输入待训练的机器人模型,并向所述机器人模型发送执行所述指定动作的控制指令;
确定所述目标机器执行所述指定动作后,所述机器人模型的骨骼和关节的实际运动轨迹,并以最小化所述实际运动轨迹与所述训练样本中所述用户的骨骼和关节的运动轨迹之间的偏差为优化目标,对所述机器人模型进行训练。
可选地,所述方法还包括:
在所述虚拟环境中构建虚拟显示装置;
当用户在所述虚拟环境中执行指定动作时,将所述数字模型以及所述数字模型对应的运动姿态映射至所述虚拟显示装置,并向所述用户进行展示。
本说明书提供了一种训练样本的生成装置,包括:
采集模块,通过佩戴在用户指定部位的虚拟现实VR设备,采集所述用户执行指定动作后,所述指定部位的位姿信息;
第一确定模块,根据所述位姿信息,确定所述指定部位对应的运动数据;
第二确定模块,根据所述运动数据,以及所述用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,确定所述用户在执行所述指定动作后全身的骨骼和关节对应的运动数据,作为目标数据;
生成模块,根据所述目标数据生成训练样本并存储。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述训练样本的生成方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的训练样本的生成方法中,服务器通过佩戴在用户指定部位的虚拟现实VR设备,采集用户执行指定动作后,指定部位的位姿信息,根据位姿信息,确定指定部位对应的运动数据,根据运动数据,以及用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,确定用户在执行指定动作后全身的骨骼和关节对应的运动数据,作为目标数据,根据目标数据生成训练样本并存储。
从上述方法可以看出,本说明书能够根据通过VR设备采集的指定部位的位姿信息,确定出在人体的实际骨骼和关节结构以及执行不同动作时人体各骨骼和关节之间的位姿关系的约束下,全身的骨骼和关节对应的目标数据,以根据该目标数据生成训练样本,该训练样本与人体运动学模型相符,使得经过该训练样本训练后的机器人能够流畅、合理的执行各种动作,并且不同部位以及肢体之间的运动不会发生冲突。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中提供的一种训练样本的生成方法的流程示意图;
图2为本说明书中提供的一种数字模型的结构示意图;
图3为本说明书中提供的一种数字模型各关节点的约束范围示意图;
图4为本说明书中提供的一种关节点的位置确定方法示意图;
图5为本说明书中提供的一种关节点位置的迭代过程示意图;
图6为本说明书提供的一种训练样本的生成装置的示意图;
图7为本说明书中提供的一种应于图1的电子设备的示意结构图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中提供的一种训练样本的生成方法的流程示意图,包括以下步骤:
S101:通过佩戴在用户指定部位的虚拟现实VR设备,采集所述用户执行指定动作后,所述指定部位的位姿信息。
随着科技的发展,云脑机器人也得到了广泛的应用,对于一些类人机器人或者虚拟环境中的类人模型而言,如何能是其执行不同动作指令时的动作姿态和各部位的运动轨迹与人类更加接近,已经成为一项各重要的研究方向,其中,最重要的就是能够获取与人体运动学模型相符的训练样本,从而通过该训练样本对机器人进行训练,进而使训练完成的机器人能够流畅的完成各种动作指令。
基于此,本说明书提供了一种训练样本的生成方法,其中,相比于3D计算机图形应用在计算机中所提供得虚拟环境,虚拟现实(Virtual Reality,VR)设备所提供的虚拟环境具有高度的沉浸感,应用中的运动控制和行为动作较为逼真,而且人工智能可为不同场景下的运动控制和行为适应提供约束和规则,以对目标做出的合理动作决策。因此,本说明书可以通过佩戴在用户指定部位的虚拟现实VR设备,确定用户执行指定动作后,指定部位的位姿信息。
在实际应用中,VR设备通常会包含有头部的VR眼镜以及固定在用户两只手臂末端或者双手上的VR控制器,因此,上述指定部位可以包括用户头部、用户左臂末端、用户右臂末端中的至少一种。
需要说明的是,在本说明书中用于实现训练样本的生成方法的执行主体可以是服务器等指定设备,为了便于描述,本说明书仅以服务器是执行主体为例,对本说明书提供的一种训练样本的生成方法进行说明。
其中,服务器可以根据人体的实际骨骼和关节结构,构建有限元模型,进而根据目标对象各部位的预设形状信息、质量信息、重心信息以及上述有限元模型,在VR设备提供的虚拟环境中构建该目标对象对应的数字模型(虚拟机器人)。为了便于理解,本说明书提供了一种数字模型的结构的示意图,如图2所示。
图2为本说明书中提供的一种数字模型的结构示意图。
其中,数字模型的各关节点与人体实际关节相对应,各关节点之间的连线可以等效为人体骨骼,在实际应用的中机器人的各关节点可以通过相应的连接装置代替骨骼进行连接。另外,每一个关节点又与实际机器人的关节坨机相对应,每个关节点在x、y、z轴构建的坐标系下都会有一定的旋转范围约束。
需要说明的是,该数字模型中包含的各关节点与用户的各关节相对应,各关节点之间的连接结构与用户各关节之间的骨骼相对应。当服务器采集到用户指定部位的运动数据后,可以将运动数据输入该数字模型,从而通过该数字模型确定出用户全身的关节和骨骼以及数字模型的全部关节点和骨骼的运动数据。
在本说明书中,上述目标对象可以为实际的类人机器人或人形机器人(如双足机器人),当然,也可以为虚拟环境中的类人模型,本说明书对此不做具体限定。
另外,服务器还可以根据人体的实际骨骼和关节结构以及在执行不同动作时人体各骨骼和关节之间所满足的约束关系,以执行动作时各骨骼以及关节之间的运动不相互冲突为目标,确定所述用户执行不同的动作时,各关节的角度变化范围,作为约束范围。
例如,当用户双腿的膝盖关节发生弯曲时,用户必然会保持半下蹲或者下蹲的姿态,此时为了使人体能够保持平衡,并且维持正常的半下蹲或者下蹲姿态,人体的髋关节、踝关节会根据其与膝盖关节之间所满足的约束关系,也发生相应的转动,并带动胯骨和脚骨的移动。
服务器可以通过该约束范围构建数字机器人的骨骼运动模型,以用于对机器人骨骼和关节点运动知识表达,其中,数字机器人的关节点可以与实际机器人本体的关节坨机相对应,该约束范围可以用来表征实际机器人本体的各关节坨机在预设时间内的转角度数范围,从而避免机器人本体在实际运动中与其他障碍物发生碰撞,以及机器人本体的不同结构(包括不同的骨骼和关节)之间发生碰撞。该预设时间可以根据实际情况进行设定,本说明书对此不做具体限定。
为了便于理解,本说明书提供了一种数字模型运动时各关节点的约束范围示意图,如图3所示。
图3为本说明书中提供的一种数字模型各关节点的约束范围示意图。
其中,图中的方框表示数字模型的各关节点,实线表示当前动作各关节点所允许转动的范围,当执行不同的动作时,不同的关节点以及骨骼之间的转动范围会形成不同的约束,从而防止不同关节点以及骨骼之间发生碰撞。
进一步的,服务器可以通过VR设备确定用户指定部位所对应的关节点,作为目标关节点,进而根据用户执行指定动作后指定部位的位姿信息,确定目标关节点在虚拟环境中对应的位姿信息。
例如,当在虚拟环境中模拟击打乒乓球的动作时,乒乓球的运动轨迹决定了球拍的运动轨迹,而球拍又与数字模型相绑定,当数字模型握住球拍移动至乒乓球所在的位置后,该数字模型(虚拟机器人)持拍手臂末端的位置即可作为目标位置。
在此过程中,用户全身的骨骼和关节都会产生相应的运动轨迹以及位姿信息,并且用户的各骨骼与关节会同时避免与其他动态障碍物发生碰撞(包括不同骨骼之间的自碰撞)。
S102:根据所述位姿信息,确定所述指定部位对应的运动数据。
S103:根据所述运动数据,以及所述用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,确定所述用户在执行所述指定动作后全身的骨骼和关节对应的运动数据,作为目标数据。
服务器可以根据用户执行指定动作后指定部位的位姿信息,指定部位的初始位姿信息以及移动过程中指定部位的速度和加速度,确定在用户执行指定动作过程中,指定部位对应的运动数据。于此同时,服务器还可以进一步根据目标关节点在虚拟环境中对应的位姿信息,确定目标关节点在所述虚拟环境中的运动数据。
实际应用中的机器人通常由多个铰接体构成,一个铰接体可以认为是由刚性链节组成的链条,通过末端的旋转连接,因此,服务器可以根据数字模型中各骨骼和关节点之间的连接关系,确定数字模型包含的至少一个铰接体,而一个铰接体对应一条骨骼和关节点连接而成的连接链路。例如,数字模型的一条胳膊即可作为一个由胳膊的骨骼和关节点组成的铰接体。
另外,服务器还可以确定出数字模型中目标关节点所属的铰接体,作为目标铰接体。
服务器可以根据目标关节点在虚拟环境中对应的初始位置,确定目标铰接体中的其他关节点对应的初始位置,而后服务器可以根据目标关节点和该目标铰接体中其他关节点对应的初始位置,以及上述目标位置,确定各关节点在用户执行所述指定动作后对应的位置。
具体的,服务器可以确定目标铰接体首端的关节点,作为根关节点,以及,确定根关节点与目标关节点之间的其他关节点,作为中间关节点。
若目标铰接体中各关节点之间的距离之和大于根关节点的初始位置与目标位置之间的距离,则服务器可以以最小化目标关节点的位置与目标位置之间的距离,以及使根关节点始终位于初始位置为目标,对用户执行指定动作后各中间关节点的位置以及目标关节点的位置进行调整,得到调整后位置,进而根据调整后位置以及根关节点对应的初始位置,确定各关节点在用户执行所述指定动作后对应的位置。
需要说明的是,在此过程中针对目标铰接体中包含的每个关节点,该关节点在每次调整时对应的初始位置、调整后位置以及与该关节点相邻的上一个被调整的关节点的调整后位置在同一直线上。为了便于理解,本说明书提供了一种关节点的位置确定方法示意图,如图4所示。
图4位本说明书中提供的一种关节点的位置确定方法示意图。
其中,关节点p1、p2、p3、p4连接成一个铰接体,每个关节点对应的初始位置分别为P1、P2、P3、P4,p1为根关节点,p4为目标关节点,p2、p3为中间关节点,Target为目标位置,目标关节点p4需要先从初始位置P4移动至目位置Target,通过链节向后传递所需的移动,使得p4带动p3移动至,p3带动p2移动至/>,p2带动p1移动至/>。其中P3、/>和Target保持在同一直线上,P2、/>和/>保持在同一直线上,P1、/>和/>保持在同一直线上。
由于在此过程中根关节点p1的初始位置发生了改变,因此,服务器需要使根关节点p1从回到初始位置/>,此时可以对各关节点的位置进行反向推导,先使p1从移动至/>,并按照同样的方法带动关节点p2、p3、p4进行移动,从而完成一次迭代。
服务器可以按照上述迭代过程不断的对p2、p3、p4的位置进行调整,直至调整后目标关节点p4的位置与目标位置Target之间的距离小于预设距离,说明目标关节点与目标位置之间的距离达到最小化,此时可以得到各中间关节点以及目标关节点对应的调整后位置。
需要说明的是,在每一次迭代的过程中根关节点最后可以保持在初始位置,而目标关节点对应的调整后位置与目标位置不断接近。
在此过程中,各关节点的位置向目标位置的方向进行调整的公式可以表示为:
其中,对于关节点,/>,/>为中间值,/>为关节点/>与关节点/>之间的距离,当各关节点的位置向目标位置的方向进行调整时,的值增大,/>减小,此时/>的值增大,/>的值减小,目标关节点带动各中间关节点以及根关节点向目标位置移动。
而后服务器可以使根关节点可以带动各中间关节点以及目标关节点向根关节点的初始位置移动,在此过程中,各关节点的位置向根关节点的初始位置的方向进行调整的公式可以表示为:
其中,对于关节点,/>,当各关节点的位置向根关节点的初始位置的方向进行调整时,/>的值增大,/>的值减小,此时的值增大,/>的值减小,根关节点带动各中间关节点以及目标关节点向根关节点的初始位置移动。
另外,若目标铰接体中各关节点之间的距离之和,小于根关节点的初始位置与目标位置之间的距离,则以各关节点之间的距离之和不小于根关节点的初始位置与目标位置之间的距离为目标,对根关节点的初始位置进行调整。
当各关节点之间的距离之和大于或等于根关节点的初始位置与目标位置之间的距离时,服务器可以继续通过上述方法,对各中间关节点以及目标关节点的位置进行迭代更新。
在此过程中,对各关节点进行调整的公式可以表示为:
其中,为目标位置,对于关节点/>,/>,当根关节点带动其他关节点向目标关节点的方向移动时,/>的值减小,/>的值增大,此时的值减小,/>的值增大,根关节点带动各中间关节点以及目标关节点向目标位置移动。为了便于理解,本说明书提供了一种关节点位置的迭代过程示意图,如图5所示。
图5为本说明书中提供的一种关节点位置的迭代过程示意图。
其中,对于输入的关节点,/>,服务器可以计算各关节点间的距离/>= |/>–/>|,/>,计算根关节与目标位置的距离dif1=|–/>|,而后服务器可以确定根关节点的初始位置与目标位置之间的距离是否大于各关节点之间的距离之和。
若是,服务器可以计算目标关节点与目标位置 t间距difn = |/>– t|,若difn大于预设距离,则先按照上述各关节点的位置向目标位置的方向进行调整的公式确定各关节点位置的前推值,而后在按照上述各关节点的位置向根关节点的初始位置的方向进行调整的公式计算各关节点位置的后推值,直至difn小于预设距离,输出除根关节点为的其他关节点对应的调整后位置,根关节点保持其初始位置不变。
而若根关节点的初始位置与目标位置之间的距离不大于各关节点之间的距离之和,则服务器可以按照调整公式,对各关节点的位置进行调整。
而后服务器可以确定每个铰接体中包含的关节点在用户执行指定动作后在虚拟环境中对应的位置,并根据数字模型中的每个关节点对应的位置,确定目标数据。
进一步的,由于在数字模型中,不同的铰接体之间往往会具有一定的连接关系,如非目标铰接体腿与目标铰接体胳膊之间会通过躯干进行连接,因此,对于不包含有目标关节点的非目标铰接体而言,服务器可以通过目标铰接体中的目标关节点的位置确定出目标铰接体中所有关节点的位置,而后在这些关节点中确定出与该目标铰接体与非目标铰接体相连接的关节点,作为该非目标铰接体对应的目标关节点,从而确定出该非目标铰接体中所有关节点的位置,进而确定出数字模型全部关节点的位置。
确定出全部关节点的位置后,服务器可以生成用户在执行指定动作后全身的骨骼和关节对应的运动数据,作为目标数据;
需要说明的是,由于上述数字模型的各关节点和关节点之间的连接装置与用户全身的骨骼和关节为一一对应关系,因此,用户全身骨骼和关节对应的目标数据可以等效为数字模型对应的目标数据,已通过该数字模型对应的目标数据对实际机器人或虚拟机器人模型进行训练。
S104:根据所述目标数据生成训练样本并存储。本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种训练样本的生成方法。
生成目标数据后,服务器可以生成数字模型运动约束知识表达工具,即机器人本体各关节坨机的转角度数变化范围人机交互编辑器,用户可以通过该编辑器对数字模型的运动姿势进行调整,进而根据用户的调整生成调整后的运动数据。其中,用户可以通过该表机器对骨骼和关节的位置、关节转角度数、骨骼和关节的位姿进行调整。
另外,服务器还可以在VR设备所提供的虚拟环境中构建虚拟显示装置,当用户在所述虚拟环境中执行指定动作时,服务器可以将所述数字模型以及数字模型对应的运动姿态映射至所述虚拟显示装置,并向所述用户进行展示。
而后服务器可以根据上述运动数据,生成对实际机器人或者虚拟机器人进行训练的训练样本。
在实际对机器人的训练过程中,服务器可以先训练样本,而后将训练样本输入待训练的机器人模型,并向机器人模型发送执行指定动作的控制指令,确定目标机器模型执行指定动作后机器人模型的骨骼和关节的实际运动轨迹,并以最小化实际运动轨迹与训练样本中用户的骨骼和关节的运动轨迹之间的偏差为优化目标,对机器人模型进行训练。
训练后服务器方可将训练完成后的机器人模型部署在实际的机器人当中,从而使该机器人能够以和人类相同或者相似的动作完成系列的动作指令,当然,也可以通过展示相应的动作与用户进行交互。
从上述方法可以看出,本说明书能够根据通过VR设备采集的指定部位的位姿信息,确定出在人体的实际骨骼和关节结构以及执行不同动作时人体各骨骼和关节之间的位姿关系的约束下,全身的骨骼和关节对应的目标数据,以根据该目标数据生成训练样本,该训练样本与人体运动学模型相符,使得经过该训练样本训练后的机器人能够流畅、合理的执行各种动作,并且不同部位以及肢体之间的运动不会发生冲突。
以上为本说明书的一个或多个实施训练样本的生成方法,基于同样的思路,本说明书还提供了相应的训练样本的生成装置,如图6所示。
图6为本说明书提供的一种训练样本的生成装置的示意图,包括:
采集模块601,用于通过佩戴在用户指定部位的虚拟现实VR设备,采集所述用户执行指定动作后,所述指定部位的位姿信息;
第一确定模块602,用于根据所述位姿信息,确定所述指定部位对应的运动数据;
第二确定模块603,用于根据所述运动数据,以及所述用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,确定所述用户在执行所述指定动作后全身的骨骼和关节对应的运动数据,作为目标数据;
生成模块604,用于根据所述目标数据生成训练样本并存储。
可选地,所述指定部位包括:所述用户的头部、所述用户双臂末端中的至少一种。
可选地,所述装置还包括:
构建模块605,用于根据所述人体的实际骨骼和关节结构,构建有限元模型;根据预设的形状信息、质量信息、重心信息以及所述有限元模型,在所述VR设备提供的虚拟环境中构建所述用户对应的数字模型。
可选地,所述采集模块601具体用于,确定所述指定部位在所述数字模型上对应的关节点,作为目标关节点;根据所述指定部位的位姿信息,确定所述用户执行所述指定动作后,所述目标关节点在所述虚拟环境中对应的位姿信息;
所述第一确定模块602具体用于,根据目标关节点在所述虚拟环境中对应的位姿信息,确定所述目标关节点在所述虚拟环境中的运动数据。
可选地,所述第一确定模块602具体用于,根据所述数字模型中各骨骼和关节点之间的连接关系,确定所述数字模型包含的至少一个铰接体,一个铰接体对应一条由骨骼和关节点组成的连接链路;确定所述目标关节点所属的铰接体,作为目标铰接体。
可选地,所述第二确定模块603具体用于,根据所述目标关节点在所述虚拟环境中对应的初始位置,确定所述目标铰接体中的其他关节点对应的初始位置,以及,确定所述用户执行所述指定动作后所述目标关节点在所述虚拟环境中所处的位置,作为目标位置;根据所述目标关节点和所述其他关节点对应的初始位置,以及所述目标位置,确定各关节点在所述用户执行所述指定动作后对应的位置;确定每个铰接体中包含的各关节点在所述用户执行所述指定动作后在所述虚拟环境中对应的位置,并根据所述数字模型中的每个关节点对应的位置,确定所述目标数据。
可选地,所述第二确定模块603具体用于,确定所述目标铰接体首端的关节点,作为根关节点,以及,确定所述根关节点与所述目标关节点之间的其他关节点,作为中间关节点;若所述目标铰接体中各关节点之间的距离之和,大于所述根关节点的初始位置与所述目标位置之间的距离,则以最小化所述目标关节点的位置与所述目标位置之间的距离,以及使所述根关节点始终位于所述初始位置为目标,对所述用户执行所述指定动作后各中间关节点的位置以及所述目标关节点的位置进行调整,得到调整后位置;根据所述调整后位置以及所述根关节点对应的初始位置,确定所述各关节点在所述用户执行所述指定动作后对应的位置。
可选地,所述第二确定模块603还用于,若所述目标铰接体中各关节点之间的距离之和,小于所述根关节点的初始位置与所述目标位置之间的距离,则以所述各关节点之间的距离之和不小于所述根关节点的初始位置与所述目标位置之间的距离为目标,对所述根关节点对应的初始位置进行调整。
可选地,针对所述目标铰接体中包含的每个关节点,该关节点在每次调整时对应的初始位置、调整后位置以及与该关节点相邻的上一个被调整的关节点的调整后位置在同一直线上。
可选地,根据佩戴在用户指定部位的虚拟现实VR设备,确定所述用户执行指定的动作后,所述指定部位的位姿信息之前,所述采集模块601还用于,根据所述用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,以执行动作时各骨骼以及关节之间的运动不相互冲突为目标,确定所述用户执行不同的动作时,各关节的角度变化范围,作为约束范围。
可选地,所述第二确定模块603具体用于,根据所述运动数据以及所述约束范围,确定所述用户在执行所述指定动作时全身的骨骼和关节对应的运动数据,作为目标数据。
可选地,所述第二确定模块具体用于,根据所述目标关节点以及所述其他关节点对应的初始位置、所述目标位置以及所述约束范围,确定所述各关节点在所述用户执行所述指定动作后对应的位置。
可选地,所述生成模块604还用于,获取所述训练样本;将所述训练样本输入待训练的机器人模型,并向所述机器人模型发送执行所述指定动作的控制指令;确定所述目标机器执行所述指定动作后,所述机器人模型的骨骼和关节的实际运动轨迹,并以最小化所述实际运动轨迹与所述训练样本中所述用户的骨骼和关节的运动轨迹之间的偏差为优化目标,对所述机器人模型进行训练。
可选地,所述构建模块605还用于,在所述虚拟环境中构建虚拟显示装置;当用户在所述虚拟环境中执行指定动作时,将所述数字模型以及所述数字模型对应的运动姿态映射至所述虚拟显示装置,并向所述用户进行展示。
本说明书还提供了图所示的一种对应于图1的电子设备的示意结构图。如图7所示。
图7为本说明书中提供的一种应于图1的电子设备的示意结构图。
如图所示,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的训练样本的生成方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device, PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(HardwareDescription Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBoolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(JavaHardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby HardwareDescription Language)等,目前最普遍使用的是VHDL(Very-High-Speed IntegratedCircuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (12)
1.一种训练样本的生成方法,其特征在于,包括:
根据人体的实际骨骼和关节结构,构建有限元模型,根据预设的形状信息、质量信息、重心信息以及所述有限元模型,在虚拟现实VR设备提供的虚拟环境中构建用户对应的数字模型,通过佩戴在用户指定部位的虚拟现实VR设备,采集所述用户执行指定动作后,所述指定部位的位姿信息,其中,确定所述指定部位在所述数字模型上对应的关节点,作为目标关节点,根据所述数字模型中各骨骼和关节点之间的连接关系,确定所述数字模型包含的至少一个铰接体,一个铰接体对应一条由骨骼和关节点组成的连接链路,确定所述目标关节点所属的铰接体,作为目标铰接体,根据所述指定部位的位姿信息,确定所述用户执行所述指定动作后,所述目标关节点在所述虚拟环境中对应的位姿信息;
根据目标关节点在所述虚拟环境中对应的位姿信息,确定所述目标关节点在所述虚拟环境中的运动数据;
根据所述运动数据,以及所述用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,确定所述用户在执行所述指定动作后全身的骨骼和关节对应的运动数据,作为目标数据,其中,根据所述目标关节点在所述虚拟环境中对应的初始位置,确定所述目标铰接体中的其他关节点对应的初始位置,以及,确定所述用户执行所述指定动作后所述目标关节点在所述虚拟环境中所处的位置,作为目标位置,根据所述目标关节点和所述其他关节点对应的初始位置,以及所述目标位置,确定各关节点在所述用户执行所述指定动作后对应的位置,确定每个铰接体中包含的各关节点在所述用户执行所述指定动作后在所述虚拟环境中对应的位置,并根据所述数字模型中的每个关节点对应的位置,确定所述目标数据;
根据所述目标数据生成训练样本并存储;其中
根据所述目标关节点和所述其他关节点对应的初始位置,以及所述目标位置,确定各关节点在所述用户执行所述指定动作后对应的位置,包括:确定所述目标铰接体首端的关节点,作为根关节点,以及,确定所述根关节点与所述目标关节点之间的其他关节点,作为中间关节点,若所述目标铰接体中各关节点之间的距离之和,大于所述根关节点的初始位置与所述目标位置之间的距离,则以最小化所述目标关节点的位置与所述目标位置之间的距离,以及使所述根关节点始终位于所述初始位置为目标,对所述用户执行所述指定动作后各中间关节点的位置以及所述目标关节点的位置进行调整,得到调整后位置,根据所述调整后位置以及所述根关节点对应的初始位置,确定所述各关节点在所述用户执行所述指定动作后对应的位置。
2.如权利要求1所述的方法,其特征在于,所述指定部位包括:所述用户的头部、所述用户双臂末端中的至少一种。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标铰接体中各关节点之间的距离之和,小于所述根关节点的初始位置与所述目标位置之间的距离,则以所述各关节点之间的距离之和不小于所述根关节点的初始位置与所述目标位置之间的距离为目标,对所述根关节点对应的初始位置进行调整。
4.如权利要求1所述的方法,其特征在于,针对所述目标铰接体中包含的每个关节点,该关节点在每次调整时对应的初始位置、调整后位置以及与该关节点相邻的上一个被调整的关节点的调整后位置在同一直线上。
5.如权利要求1所述的方法,其特征在于,根据佩戴在用户指定部位的虚拟现实VR设备,确定所述用户执行指定的动作后,所述指定部位的位姿信息之前,所述方法还包括:
所述用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,以执行动作时各骨骼以及关节之间的运动不相互冲突为目标,确定所述用户执行不同的动作时,各关节的角度变化范围,作为约束范围。
6.如权利要求5所述的方法,其特征在于,根据所述运动数据,以及所述用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,确定所述用户在执行所述指定动作后全身的骨骼和关节对应的运动数据,作为目标数据,具体包括:
根据所述运动数据以及所述约束范围,确定所述用户在执行所述指定动作时全身的骨骼和关节对应的运动数据,作为目标数据。
7.如权利要求5或6任一项所述的方法,其特征在于,根据所述目标关节点和所述其他关节点对应的初始位置,以及所述目标位置,确定各关节点在所述用户执行所述指定动作后对应的位置,具体包括:
根据所述目标关节点以及所述其他关节点对应的初始位置、所述目标位置以及所述约束范围,确定所述各关节点在所述用户执行所述指定动作后对应的位置。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述训练样本;
将所述训练样本输入待训练的机器人模型,并向所述机器人模型发送执行所述指定动作的控制指令;
确定所述机器人模型执行所述指定动作后,所述机器人模型的骨骼和关节的实际运动轨迹,并以最小化所述实际运动轨迹与所述训练样本中所述用户的骨骼和关节的运动轨迹之间的偏差为优化目标,对所述机器人模型进行训练。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述虚拟环境中构建虚拟显示装置;
当用户在所述虚拟环境中执行指定动作时,将所述数字模型以及所述数字模型对应的运动姿态映射至所述虚拟显示装置,并向所述用户进行展示。
10.一种训练样本的生成装置,其特征在于,包括:
构建模块,根据人体的实际骨骼和关节结构,构建有限元模型,根据预设的形状信息、质量信息、重心信息以及所述有限元模型,在虚拟现实VR设备提供的虚拟环境中构建用户对应的数字模型;
采集模块,通过佩戴在用户指定部位的虚拟现实VR设备,采集所述用户执行指定动作后,所述指定部位的位姿信息,其中,确定所述指定部位在所述数字模型上对应的关节点,作为目标关节点,根据所述数字模型中各骨骼和关节点之间的连接关系,确定所述数字模型包含的至少一个铰接体,一个铰接体对应一条由骨骼和关节点组成的连接链路,确定所述目标关节点所属的铰接体,作为目标铰接体,根据所述指定部位的位姿信息,确定所述用户执行所述指定动作后,所述目标关节点在所述虚拟环境中对应的位姿信息;
第一确定模块,根据目标关节点在所述虚拟环境中对应的位姿信息,确定所述目标关节点在所述虚拟环境中的运动数据;
第二确定模块,根据所述运动数据,以及所述用户在执行不同动作时人体各骨骼和关节之间所满足的约束关系,确定所述用户在执行所述指定动作后全身的骨骼和关节对应的运动数据,作为目标数据,其中,根据所述目标关节点在所述虚拟环境中对应的初始位置,确定所述目标铰接体中的其他关节点对应的初始位置,以及,确定所述用户执行所述指定动作后所述目标关节点在所述虚拟环境中所处的位置,作为目标位置,根据所述目标关节点和所述其他关节点对应的初始位置,以及所述目标位置,确定各关节点在所述用户执行所述指定动作后对应的位置,确定每个铰接体中包含的各关节点在所述用户执行所述指定动作后在所述虚拟环境中对应的位置,并根据所述数字模型中的每个关节点对应的位置,确定所述目标数据;
生成模块,根据所述目标数据生成训练样本并存储;
所述第二确定模块在根据所述目标关节点和所述其他关节点对应的初始位置,以及所述目标位置,确定各关节点在所述用户执行所述指定动作后对应的位置时,具体用于,确定所述目标铰接体首端的关节点,作为根关节点,以及,确定所述根关节点与所述目标关节点之间的其他关节点,作为中间关节点,若所述目标铰接体中各关节点之间的距离之和,大于所述根关节点的初始位置与所述目标位置之间的距离,则以最小化所述目标关节点的位置与所述目标位置之间的距离,以及使所述根关节点始终位于所述初始位置为目标,对所述用户执行所述指定动作后各中间关节点的位置以及所述目标关节点的位置进行调整,得到调整后位置,根据所述调整后位置以及所述根关节点对应的初始位置,确定所述各关节点在所述用户执行所述指定动作后对应的位置。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~9任一项所述的方法。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310676111.3A CN116400813B (zh) | 2023-06-08 | 2023-06-08 | 一种训练样本的生成方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310676111.3A CN116400813B (zh) | 2023-06-08 | 2023-06-08 | 一种训练样本的生成方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116400813A CN116400813A (zh) | 2023-07-07 |
CN116400813B true CN116400813B (zh) | 2023-09-26 |
Family
ID=87008042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310676111.3A Active CN116400813B (zh) | 2023-06-08 | 2023-06-08 | 一种训练样本的生成方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116400813B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117978937A (zh) * | 2024-03-28 | 2024-05-03 | 之江实验室 | 一种视频生成的方法、装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108115681A (zh) * | 2017-11-14 | 2018-06-05 | 深圳先进技术研究院 | 机器人的模仿学习方法、装置、机器人及存储介质 |
CN109176541A (zh) * | 2018-09-06 | 2019-01-11 | 南京阿凡达机器人科技有限公司 | 一种实现机器人跳舞的方法、设备和储存介质 |
CN112959326A (zh) * | 2021-03-29 | 2021-06-15 | 深圳市优必选科技股份有限公司 | 机器人正运动学求解方法、装置、可读存储介质及机器人 |
CN114359445A (zh) * | 2021-12-29 | 2022-04-15 | 中央财经大学 | 人体骨骼关节点提取模型的训练数据生成方法及装置 |
CN115018963A (zh) * | 2022-08-09 | 2022-09-06 | 成都市谛视无限科技有限公司 | 一种基于物理仿真的人型智能体姿态生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11000950B2 (en) * | 2018-06-01 | 2021-05-11 | X Development Llc | Robotic motion planning |
-
2023
- 2023-06-08 CN CN202310676111.3A patent/CN116400813B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108115681A (zh) * | 2017-11-14 | 2018-06-05 | 深圳先进技术研究院 | 机器人的模仿学习方法、装置、机器人及存储介质 |
CN109176541A (zh) * | 2018-09-06 | 2019-01-11 | 南京阿凡达机器人科技有限公司 | 一种实现机器人跳舞的方法、设备和储存介质 |
CN112959326A (zh) * | 2021-03-29 | 2021-06-15 | 深圳市优必选科技股份有限公司 | 机器人正运动学求解方法、装置、可读存储介质及机器人 |
CN114359445A (zh) * | 2021-12-29 | 2022-04-15 | 中央财经大学 | 人体骨骼关节点提取模型的训练数据生成方法及装置 |
CN115018963A (zh) * | 2022-08-09 | 2022-09-06 | 成都市谛视无限科技有限公司 | 一种基于物理仿真的人型智能体姿态生成方法 |
Non-Patent Citations (2)
Title |
---|
Deeply feature learning by CMAC network for manipulating rehabilitation robots;Xing Li et al.;Future Generation Computer Systems;第121卷;全文 * |
基于PN Pro的人体动作捕捉及行为样本生成与实验研究;李东华;中国优秀硕士学位论文全文数据库 (信息科技辑);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116400813A (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111538949B (zh) | 冗余机器人逆运动学求解方法、装置和冗余机器人 | |
CN108241339B (zh) | 仿人机械臂的运动求解和构型控制方法 | |
Kenwright | Inverse kinematics–cyclic coordinate descent (CCD) | |
CN108058758B (zh) | 基于六自由度腿的机器人双足行走仿真评估系统及评估方法 | |
CN116400813B (zh) | 一种训练样本的生成方法、装置、存储介质及电子设备 | |
Khatib et al. | Human-centered robotics and interactive haptic simulation | |
Field et al. | Learning trajectories for robot programing by demonstration using a coordinated mixture of factor analyzers | |
JP4267508B2 (ja) | 仮想ダミーの人間工学的動きの最適化 | |
Filiatrault et al. | Human arm motion imitation by a humanoid robot | |
Yang et al. | Humanoid motion planning of robotic arm based on human arm action feature and reinforcement learning | |
Fedor | Application of inverse kinematics for skeleton manipulation in real-time | |
US9193070B2 (en) | Robot, control system for controlling motion of a controlled object, and recording medium for control program for controlling motion of a controlled object | |
WO2022005659A1 (en) | Systems, methods, and computer-readable media for task-oriented motion mapping on machines, robots, agents and virtual embodiments thereof using body role division | |
Das et al. | GeroSim: A simulation framework for gesture driven robotic arm control using Intel RealSense | |
JP5447811B2 (ja) | 経路計画生成装置および該方法ならびにロボット制御装置およびロボットシステム | |
CN111113430A (zh) | 一种机器人及其末端控制方法和装置 | |
Yamane | Kinematic redundancy resolution for humanoid robots by human motion database | |
CN113592986B (zh) | 基于神经网络的动作生成方法、装置及计算设备 | |
Joukov et al. | Human pose estimation from imperfect sensor data via the extended kalman filter | |
Qian et al. | DH Parameter Method-based Wearable Motion Tracking | |
Yuan et al. | 6-DOF Industrial Manipulator Motion Planning Based on RRT-Connect Algorithm | |
CN112936264B (zh) | 一种面向臂手假肢的拟人运动规划方法及系统 | |
Li et al. | Intelligent robotic arm for human pose recognition based on teleoperation system | |
Al Mashhadany et al. | An Analysis Review: Optimal Trajectory for 6-DOF-based Intelligent Controller in Biomedical Application | |
An et al. | NZFIK: A Fast Method for Human Pose Estimation |
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 |