文档介绍:440 2003 全国系统仿真学术年会
虚拟人运动控制的逆运动学方法研究
唐勇张国峰
(北京航空航天大学先进仿真技术航空科技重点实验室,北京,100083)
摘要研究虚拟人的运动在保证真实性的前提下,将人体的骨架模型简化为 15 个关节的关节
链,并将这一复杂的骨架表达为关节的树状层次结构。以腰关节为初始节点构造运动链,这样,
就将骨架模型中关节运动问题转化为多条运动链的处理。采用 D-H(Denavit-Hartenberg)方法建立
各关节的局部坐标系,利用 4×4 的齐次变换矩阵建立关节运动方程,然后求解逆运动学问题,
即根据给定的末端效应器位姿求解相应的关节回转角。该方法具有较好的实时性和灵活性。
关键词:虚拟现实; 虚拟人; 人体动画; 逆运动学
1 引言
虚拟人(Virtual human)是人在计算机生成空间中的几何特性与行为特性的表示,可以广
泛的应用于人机交互、运动表示、军事训练、人机工效、游戏娱乐等领域。例如:在军事上
可以用它做各种模拟训练;在航空航天上可以用它模拟太空作业等。
在人体动画领域,人体运动的主要控制方法有:⑴关键帧法[1];⑵运动学法[2][3](正向运
动学法和逆向运动学法);⑶动力学法;⑷运动捕获法。各种控制方法都有其不足的一面:
关键帧法虽然简单直观,但是人体自由度多,手工给出每个关键姿态下的每个自由度的参数
是非常繁琐和困难的,且其物理逼真性也难以验证;运动学法是借鉴机器人学处理链杆运动
的方法,该方法的优点是需要指定的数据少,具有较强的灵活性,但这种方法的缺点是计算
量比较大,在求解中要附加约束;动力学法生成的运动符合物理规律,但要求运动控制人员
确定人体各关节所受的力和力矩,而要做到这一点通常比较困难;运动捕获法是一种新兴的,
很有发展前途的控制方法,它是用传感器记录人体在三维空间的活动,然后计算机用所记录
的数据绘制人体动画,但是需要专门的传感器。
由于运动捕获方法需要专门的传感器,而并不是所有用户都拥有这类设备,而且运动学
控制方法具有较强的灵活性,可以方便的修改运动序列,同时保持较高的真实性,因此使用
运动学方法控制虚拟人的运动仍具有现实意义。
本文基于仿真研究对虚拟人的运动控制。在分析人体解剖结构的基础上,结合关节运动
的实际生理约束和运动特征对虚拟人进行建模。采用逆运动学方法对关节直接控制,实现了
周期性的行走,跑步等运动。
虚拟现实(VR)、虚拟样机(VP)、虚拟制造(VM)及 CAX 441
2 虚拟人的建模
虚拟人的建模主要包括几何建模和运动建模。
虚拟人的几何建模
虚拟人造型是基于生理解剖结构的,采用皮肤和骨架两个层次的混合模型。这样做的优
点是既可通过骨架模型来指定精确的运动、表示人体的内部结构,又可用皮肤模型来描述人
体的外部形状。
从运动学的角度来看,人体是一个多关节,多自由度(200 多个)的高度复杂的运动机构,
因而完全描述其运动是非常复杂和困难的,也是不必要的。在保证逼真性的前提下,将人体
的骨架模型简化为 15 个关节共 32 个自由度:颈(3)、胸(2)、腰(2)、髋(3)、膝(1)、踝(2)、肩
(3)、肘(1)、腕(2)。