论文部分内容阅读
基于物理的人体运动合成是一种通过计算关节力矩进而驱动人体运动的计算机动画技术,在逼真人体动画制作、人体运动生物力学分析、辅助体育训练等领域起着重要的作用。本文以实时合成物理真实的人体运动为研究目标,重点对描述人体运动的低维物理模型、肢体的轨迹跟踪生成、人体关节力矩优化计算模型等关键技术进行了深入的研究,并取得如下研究成果: (1)提出了一种基于二阶倒立摆的人体运动合成方法 物理平衡是人体运动合成领域中的重要研究内容。大多数学者通过控制质心与接触中心的相对位置来保持人体运动的平衡。但是,通过直接调节关节力矩不易控制物理平衡。为此,研究者们使用低维物理模型描述人体运动,用来理解人体运动的物理规律。现有低维物理模型包括一阶倒立摆、弹簧倒立摆。这些模型均无法描述膝关节的运动,无法控制下肢关节力矩,进而导致其生成的运动中下肢动作不自然,与生物力学规律不符。 本文提出一种参数化的二阶倒立摆模型,用于描述人体质心的运动情况,通过控制二阶倒立摆的运动,从而可以实时控制人体运动平衡,生成生物力学意义上更加真实的人体运动。实验结果表明,二阶倒立摆模型能够实时控制人体运动平衡的同时,生成视觉上与生物力学意义上更加真实地下肢运动。如以人体步行为例,二阶倒立摆模型能够在0.001s之内计算出下一个步态周期的质心运动;与弹簧倒立摆方法相比较,二阶倒立摆生成的运动中膝关节力矩与真实人体运动中的力矩误差减少82.02%。 (2)提出了一种基于凸规划的人体肢体轨迹跟踪方法 轨迹跟踪问题是指在限定关节力矩、关节角度、关节旋转速度、关节旋转加速度等参数的变化范围的情况下,计算合适的关节力矩,使肢体末端位置在力矩的驱动下准确地沿给定的轨迹平稳运动且在指定的时间通过指定的位置。不同于一般的运动合成需要在时间和空间上同时优化,轨迹跟踪问题的关节数据已知,只需要求解轨迹的时间函数。人体运动合成中经典的轨迹规划法直接求解该问题耗时将超过数个小时,而经典的优化控制数值求解方法如动态规划法求解该问题也将耗时数分钟,无法实时求解。 本文提出一种基于凸规划的人体肢体轨迹跟踪方法。给定肢体末端轨迹,针对轨迹跟踪不能实时计算的问题,我们通过添加约束,将原始非凸的轨迹跟踪问题转化为一个凸规划问题,进而转化为一个二阶锥规划进行求解,从而可以达到对末端肢体的实时跟踪控制。与动态规划法相比,本文方法求解时间效率提高74.34%,能够在0.887s之内完成5自由度的上臂轨迹跟踪优化计算。 (3)提出了一种基于分块的人体运动跟踪控制器 基于物理的人体运动合成与控制方法并不直接控制人体运动参数,而是通过计算关节力矩合成人体运动,间接控制人体运动参数。传统的时空约束方法在整个时间域上进行优化得到满足用户参数控制的运动,而控制器方法也是通过离线优化的方法训练控制器参数,从而得到满足用户控制参数与环境约束的人体运动。近年来,实时控制人体运动参数的常见方法是多目标约束局部优化方法,通过构建局部多目标优化模型,实时合成人体运动。这些优化模型的目标函数中既有各关节的跟踪误差项,又有高层任务控制项,甚至生物力学最优原理项与物理平衡项。这些优化目标项不仅物理意义不同,设置权重因子需要丰富经验,甚至各目标项之间可能相互冲突,这种情况下使用加权优化的方法求解该模型往往得不到理想结果。 本文提出一种基于分块的人体运动跟踪控制器,首先将人体进行分块,每一块控制变量分别控制不同的部分,根据高层任务参数与人体平衡控制机制,基于低维物理模型分别生成各块在下一周期中的参照运动;然后根据各块物理意义不同,使用层次化跟踪控制器计算关节力矩,驱动各关节跟踪参照运动,实时合成全身运动。与现有方法相比,该算法无需优化设置多个目标函数的权重系数或者设定各优化目标项优化优先级。实验结果表明,该算法能够实时合成体现人体自然特征的运动,并且能够实时调节步幅、步频、抬腿高度、手臂摆幅、地面高度等各种控制参数,每一帧关节力矩计算耗时0.01s以内。