论文部分内容阅读
虚拟人运动建模与仿真技术的研究是一项涉及到物理学、机器人学、生物力学和计算机图形学等多学科交叉的具有挑战性的课题。基于物理模型的虚拟人运动仿真是计算机图形学与动画技术的研究热点,但对于运动学与动力学计算的算法却一直没有得到深入研究。研究人员通常是直接使用传统机器人学的运动建模与仿真控制技术。然而,由于人体模型庞大的自由度与复杂的运动链结构,人体模型的运动控制技术与机器人系统相比难度要高得多。因此,基于物理的人体运动建模与仿真迫切需要更为高效的运动生成与控制技术。本文首先介绍了人体运动建模与仿真的背景与意义,简要介绍当前国内外研究现状。然后,本文对以下几方面进行了深入研究:逆运动学算法、变结构运动链建模、多刚体系统正动力学计算与人体伸及运动仿真。本文的主要工作与创新点如下:(1)当前逆运动学求解算法,计算开销大,生成姿态不自然。针对该问题,提出双向启发式逆运动学求解算法BHIK。BHIK算法将寻找关节位置的问题转换为寻找直线上某个点的计算问题,通过双向迭代过程来计算关节位置,通过每次调解单个关节角度来缩小系统误差。算法将关节约束分解为旋转与定位两个部分,在每一步迭代计算中应用关节约束,从而实现关节的移动范围控制。BHIK算法在迭代计算中避免了关节的旋转操作,利用二维约束椭圆简化约束问题求解,克服了当前逆运动学方法时间复杂度高以及易产生奇异性的问题。(2)针对在人体运动模型中运动链结构变化问题,提出杆件连通性描述方法,该描述法利用指针表明相邻杆、父子杆与虚拟杆关系,便于实现动力学递归计算。通过将原始闭链切分为若干关节得到虚拟开链结构,然后利用开链结构驱动关节角度雅可比矩阵,给出一般闭运动链与开运动链的动力学方程。该方法有效解决了传统动力学计算方法无法直接应用于闭式运动链的问题。基于本文提出的杆件连通性描述方法与闭运动链的动力学方程,提出一种基于分析法的碰撞接触模型,采用试差法来寻找满足单面约束的约束条件与约束力。(3)针对单位矢量法在人体模型正向动力学求解中复杂度过高的问题,提出连接切分算法CCA。CCA算法通过逐个增加和移除关节,实现连接与切分目标运动链。初始状态所有关节被移除,并且连杆完全不受约束。在连接阶段,逐个增加关节创建目标链。在切分阶段以连接阶段的逆向顺序移除关节,求解完整运动链的约束力和关节加速度。在以上研究的基础上,探讨人体伸及运动的分层控制策略,构建了人体伸及运动实验原型,验证了研究成果的正确性和有效性。