一种应用于类人形骨架的反向动力学解算方法及装置制造方法及图纸

技术编号:14778263 阅读:123 留言:0更新日期:2017-03-09 14:10
本发明专利技术公开了一种应用于类人形骨架的反向动力学解算方法及装置,该方法包括:设定类人形骨架的初始姿态;设置类人形骨架中至少一个关节的目标姿态及对应关节的解算参数;根据初始姿态、目标姿态和解算参数进行反向动力学解算处理,得到类人形骨架的最终姿态。这样能够使得复杂的树状类人形骨架到达其目标状态,并且可以对任意的关节进行单独或全身反向动力学解算。

【技术实现步骤摘要】

本专利技术涉及反向动力学领域,更具体地,本专利技术涉及一种应用于类人形骨架的反向动力学解算方法及装置
技术介绍
反向动力学是一种通过先确定子骨骼的位置,然后反求推导出其所在骨骼链上n级父骨骼位置,从而确定整条骨骼链的方法。反向动力学是依据某些子关节的最终位置、角度,来反求出整个骨架的形态。它的特点是工作效率高,大大减少了需要手动控制的关节数目,缺点是求解方程组需要耗费较多的计算机资源,在关节数增多的时候尤其明显。但是,目前现有的反向动力学解算方法够解决指定末端姿态后计算关节朝向的问题,但这些方法只能应用于简单的链式骨架上,不能处理类人形骨架复杂的树状结构。
技术实现思路
本专利技术的一个目的是提供一种能够处理类人形骨架复杂的树状结构的反向动力学解算的新技术方案。根据本专利技术的第一方面,提供了一种应用于类人形骨架的反向动力学解算方法,包括:设定所述类人形骨架的初始姿态;设置所述类人形骨架中至少一个关节的目标姿态及对应所述关节的解算参数;根据所述初始姿态、所述目标姿态和所述解算参数进行反向动力学解算处理,得到所述类人形骨架的最终姿态。可选的是,所述设定所述类人形骨架的初始姿态之前还包括:标记所述类人形骨架中的关键关节、及所述类人形骨架的朝向;将所述类人形骨架设置为T形或者A形姿态。可选的是,所述目标姿态包括目标位置和/或目标朝向。可选的是,如果所述关节无法到达目标位置时,通过拉动机制调动所述类人形骨架的其他部位以使所述关节达到所述目标姿态。可选的是,所述方法还包括对所述关节的旋转角度进行约束处理。根据本专利技术的第二方面,提供了一种应用于类人形骨架的反向动力学解算装置,包括:初始设置模块,用于设定所述类人形骨架的初始姿态;目标设置模块,用于设置所述类人形骨架中至少一个关节的目标姿态及对应所述关节的解算参数;解算模块,用于根据所述初始姿态、所述目标姿态和所述解算参数进行反向动力学解算处理,得到所述类人形骨架的最终姿态。可选的是,所述装置还包括:标记模块,用于标记所述类人形骨架中的关键关节、及所述类人形骨架的朝向;姿态设置模块,用于将所述类人形骨架设置为T形或者A形姿态。可选的是,所述目标姿态包括目标位置和/或目标朝向。可选的是,所述装置还包括拉动模块,用于如果所述关节无法到达目标位置时,通过拉动机制调动所述类人形骨架的其他部位以使所述关节达到所述目标姿态。可选的是,所述装置还包括约束模块,用于对所述关节的旋转角度进行约束处理。本专利技术的专利技术人发现,在现有技术中,存在不能处理类人形骨架复杂的树状结构的问题,本专利技术的实施例中,通过对类人形骨架的中相应关节的初始姿态、目标姿态和对应的解算参数进行反向动力学解算处理,能够使得复杂的树状类人形骨架到达其目标状态,并且可以对任意的关节进行单独或全身反向动力学解算。因此,本专利技术所要实现的技术任务或者所要解决的技术问题是本领域技术人员从未想到的或者没有预期到的,故本专利技术是一种新的技术方案。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明被结合在说明书中并构成说明书的一部分的附图示出了本专利技术的实施例,并且连同其说明一起用于解释本专利技术的原理。图1为根据本专利技术一种应用于类人形骨架的反向动力学解算方法的一种实施方式的流程图;图2为单位球面上的切向量场的示意图;图3为根据本专利技术一种应用于类人形骨架的反向动力学解算装置的一种实施结构的方框原理图。具体实施方式现在将参照附图来详细描述本专利技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。为了解决现有技术中存在的反向动力学解算方法不能处理类人形骨架复杂的树状结构的问题,提供了一种应用于类人形骨架的反向动力学解算方法及装置,图1为根据本专利技术一种应用于类人形骨架的反向动力学解算方法的一种实施方式的流程图。如图1所示,本专利技术方法包括如下步骤:步骤S101,设定类人形骨架的初始姿态。步骤S102,设置类人形骨架中至少一个关节的目标姿态及对应的解算参数,其中,目标姿态包括目标位置和/或目标朝向。步骤S103,根据初始姿态、目标姿态和解算参数进行反向动力学解算处理,得到类人形骨架的最终姿态。具体的,对于类人形骨架的四肢,在本专利技术的一个具体实施例中,可以是利用传统的解三角形方法求解。为了保证解的稳定性,需先构造单位球面上的切向量场F(p):F(p)RotationFromTo((1,0,0),p)*(0,1,0),p≠(-1,0,0)(0,1,0),p=(-1,0,0)]]>其中,向量p为三维空间中的任一单位向量;RotationFromTo函数接受两个参数,这两个参数都是三维空间中的单位向量,并返回表示第一个参数到第二个参数的最近旋转的四元数;该向量场的可视化结果见图1。将四肢的三个关节所在的平面作为解算平面,将解算平面法线作为末端关节方向的函数,将按照上述向量场确定的解算平面作为零平面。任给一个三关节结构,该结构的姿态角定义为零平面法线方向到该结构解算平面法线方向的夹角。在进行反向动力学解算前,可以预先计算结构起始状态的姿态角,得到解算结果后,调整解算结果的姿态角至与原姿态角相同,从而可以得到稳定的姿态变化过程。对于类人形骨架的脊椎,则需要同时考虑末端关节的目标位置和目标朝向。由于脊椎关节数目较多,为了得到唯一的解,总是假设所有的关节绕着相同的轴旋转。为了使末端关节到达目标朝向,只需计算当前末端关节的朝向到目标朝向的旋转,并将这一旋转的角度按一定权重分配到脊椎中的各个关节上。为了使末端关节到达目标位置,以目标位置所在的方向为目标,按另一不同的权重为关节分配旋转角度,并通过回溯法优化其角度值,最终使末端关节位于目标方向上。在进行实际解算时,迭代地执行上述两个步骤,直至结果收敛。这样,本专利技术反向动力学解算方法就可以应用于复杂的树状类人形骨架,并且可以对类人形骨架的四肢和脊椎中的任意关节进行单独的反向动力学解算。并且,在关节的目标姿态和解算参数连续变化时,所得到的解算结果是稳定的,不会产生突变。为了获得更真实的人体姿态,在本专利技术的另一个具体实施例中,本专利技术的方法还可以进一步定义关节的角度约束。不同于传统的欧拉角表示,本专利技术采用一种新的用角度表示旋转的方法,其三个分量的取值范围都在[-180°,180°)。任给一单位四元数q和一个单位向量v,记qθ为表示绕v旋转θ的旋转的单位四元数,θ∈[-π,π),令Angle(q)=2*arccos(|q.w|),即取旋转角度的函数,令f(θ)=min{Angle(qqθ-1),Angle(qθ-1q)本文档来自技高网...
一种应用于类人形骨架的反向动力学解算方法及装置

【技术保护点】
一种应用于类人形骨架的反向动力学解算方法,其特征在于,包括:设定所述类人形骨架的初始姿态;设置所述类人形骨架中至少一个关节的目标姿态及对应所述关节的解算参数;根据所述初始姿态、所述目标姿态和所述解算参数进行反向动力学解算处理,得到所述类人形骨架的最终姿态。

【技术特征摘要】
1.一种应用于类人形骨架的反向动力学解算方法,其特征在于,包括:设定所述类人形骨架的初始姿态;设置所述类人形骨架中至少一个关节的目标姿态及对应所述关节的解算参数;根据所述初始姿态、所述目标姿态和所述解算参数进行反向动力学解算处理,得到所述类人形骨架的最终姿态。2.根据权利要求1所述的反向动力学解算方法,其特征在于,所述设定所述类人形骨架的初始姿态之前还包括:标记所述类人形骨架中的关键关节、及所述类人形骨架的朝向;将所述类人形骨架设置为T形或者A形姿态。3.根据权利要求1所述的反向动力学解算方法,其特征在于,所述目标姿态包括目标位置和/或目标朝向。4.根据权利要求1所述的反向动力学解算方法,其特征在于,如果所述关节无法到达目标位置时,通过拉动机制调动所述类人形骨架的其他部位以使所述关节达到所述目标姿态。5.根据权利要求1所述的反向动力学解算方法,其特征在于,所述方法还包括对所述关节的旋转角度进行约束处理。6.一种应用于类人形骨架的反向动力学解算装置,其...

【专利技术属性】
技术研发人员:储备
申请(专利权)人:完美世界北京数字科技有限公司
类型:发明
国别省市:北京;11

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1