




已阅读5页,还剩62页未读, 继续免费阅读
(机械制造及其自动化专业论文)基于vega+prime+votex的虚拟手抓取过程仿真与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 虚拟手交互技术是人机交互研究领域的研究热点。虚拟抓取是用户与虚拟环 境中的物体进行交互的一种自然直观的方式,用户可以在虚拟手交互过程中体验 到较强的沉浸感。本文围绕如何在虚拟环境中实现自然逼真的抓取过程展开研究。 通过对虚拟手在抓取过程中的功能进行分析,提出了包含皮肤层、运动层、碰 撞检测层的三层结构的虚拟手模型;利用数据手套和位置跟踪器等交互设备,实 现了从人手到虚拟手的运动映射;根据虚拟手抓过程中碰撞检测精度要求高的特 点,提出了基于相交矢量和o b b 包围盒技术的二次碰撞检测方案;在对现有的基 于几何和物理的抓取规则进行分析的基础上,依据运动学和动力学原理,制定了 基于静摩擦力临界状态的力封闭抓取规则。最后,在v c + + 环境下,利用v e g ap r i m e v o r t e x 平台对虚拟手抓取过程进行了仿真。 关键词:人机交互虚拟手碰撞检测抓取规则 a b s t r a c t v i r t u a lh a n di so n eo ft h eh o t t e s tt o p i c si nh u m a n - c o m p u t e ri n t e r a c t i o n v i r t u a l g r a s pi san a t u r a li n t u i t i v ew a yf o rt h eu s e rt oi n t e r a c t 、) l ,i t l lt h ev i r t u a lo b j e c t si nv i r t u a l e n v i r o n m e n t ,a n di tc a nm a k eu s e rf e e li m m e r s i o nw h i l ei n t e r a c t i o n t h em a i nj o bo f t h i sp a p e ri sh o wt oa c h i e v ean a t u r a la n dr e a l i s t i cc o u r o fg r a s p i n gi nt h ev i r t u a l e n v i r o n m e n t b a s e do nt h ea n a l y s i so ff u n c t i o n so ft h ev i r t u a lh a n dd u r i n gt h ec o u r s eo f g r a s p i n g ,a3 - l a y e rv i r t u a lh a n dm o d e li sp r o p o s e d , w h i c hc o n s i s t so fs k i nl a y e r , k i n e m a t i c sl a y e ra n dc o l l i s i o nd e t e c t i o nl a y e r b ya p p l y i n gt h ei n t e r a c t i o ne q u i p m e n t s i n c l u d i n gg l o v ea n d m o t i o nt r a c k i n g ,t h em e t h o do fm o t i o nm a p p i n gf r o mh u m a nh a n d t ov i r t u a lh a n di si m p l e m e n t e d a c c o r d i n gt ot h eh i 【g ha c c u r a c yi nc o l l i s i o nd e t e c t i o no f g r a s p i n g ,an e wm e t h o do fc o l l i s i o nd e t e c t i o nb a s e do nl i n es e g m e n t sa n do b b h o u n d i n gb o xi sr a i s e d o nt h eb a s i so fs t u d yo fg r a s p i n gr u l e sb a s e do ng e o m e t r ya n d p h y s i c s , w ep r e s e n t ag r a s p i n gr o l eb a s e do nt h ec r i t i c a ls t a t eo fs t a t i c f r i c t i o n ,a c c o r d i n gt ok i n e m a t i c sa n dd y n a m i c s f i n a l l y , a ni n t e r a c t i o np l a t f o r mo f v i r t u a lh a n di sd e v e l o p e du n d e rv c 斗_ 卜6 0a n dv e g ap r i m ev o r t e x ,a n dt h eg r a s p i n go n o b j e c t sb yv i r t u a lh a n di si m p l e m e n t e d k e y w o r d s :h u m a n - c o m p u t e ri n t e r a c t i o n v i r t u a lh a n dc o l l i s i o nd e t e c t i o n g r a s p i n gr u l e 第一章绪论 第一章绪论 1 1 论文背景和意义 虚拟现实( v i r t u a lr e a l ) 技术是一种综合应用各种技术设计逼真的人工环境, 能有效地模拟人在自然环境中视、听、触等各种感知行为的高级人机交互技术。 它汇集了计算机图形学、多媒体技术、人工智能、人机接口技术、传感器技术、 高度并行的实时计算技术和人的行为学研究等多项技术,为人类提供了一个由计 算机生成的、能给人以多种感官反馈的虚拟环境,在这个环境中人们可以不受时 空限制去经历和体验世界上早己发生或尚未发生的事情。虚拟现实技术有三个重 要的基本特征:沉浸性( t m m e r a i o a ) 、交互性( i n t e r a c t i o n ) 、想象性( i m a g i n a t i o n ) i j , 也被叫做r o 交互性是指用户与虚拟环境中各种对象相互作用的能力,它是人机 和谐的关键性因素。交互功能的优劣,对于用户在视景仿真中的真实性感受发挥 着至关重要的作用。 在传统的人机交互系统中,将用户和计算机视为两个独立的实体,人是操作 者,机器只是被动的反应:在一般的计算机系统中,人是用户,人与计算机之间 以一种对话方式工作;在虚拟现实中,人是主动参与者,并且可以有许多参与者 在虚拟环境中协同工作。人们的交互工具也早己不再满足于简单的鼠标键盘,而 是通过传感器设备与计算机之间进行交互,使用户可以通过感官( 主要是视觉、听 觉和部分触觉) 与虚拟环境中的物体或研究对象进行主动的交互和信息交流。 虚拟手技术的出现,使人机交互变得更加真实和直接,它利用计算机生成一 个虚拟手模型作为人手在虚拟环境中的替代者,操作者通过一些外设将人手的操 作信息传递给虚拟场景中的虚拟手模型,并从虚拟环境中得到信息反馈,从而实 现与虚拟环境的交互。虚拟手作为人手的化身与虚拟环境进行交互,既符合人的 思维方式和行为习惯,又使得人机交互更为自然和谐。目前,虚拟手交互技术已 应用于医疗、娱乐、教育、工业等多个领域。 本文以虚拟手的抓取技术为研究重点,从虚拟手的视觉效应、运动效应、碰 撞检测效应出发,建立了外形逼真,运动灵活,能够实施精确碰撞检测的虚拟手 三维模型。基于v i s u a lc + + 和v e g ap r i m ev o r t e x 平台,采用数据手套和位置跟踪器, 对虚拟手的抓取过程进行仿真,其意义在于通过运动映射,将人手的操作信息传 递给虚拟手,使虚拟手可以表达人的手势,并可以像在现实生活中一样自然灵活 地直接操纵虚拟环境中的物体,与虚拟环境进行实时交互,使操作者有较强的沉 浸感。 基于v e g ap r i m ev o r t e x 的虚拟手抓取过程仿真与实现 2 虚拟手交互技术现状 在虚拟环境中,用户希望能用手直接操作和控制虚拟物体。通过数据手套,把 手的状态信息输入计算机,用虚拟手作为人手的化身,真实手控制着虚拟手在虚 拟环境中穿行、抓取、释放虚拟物体,并得到相应的图像信息,就好像用户用自 己的手直接操作虚拟物体一样。这种交互方式不仅符合人的思维方式和行为习惯, 而且使得人机交互更为自然和直接。因此,近年来研究和分析手的运动模型是人 机交互领域( h c i ) 的一个热点。 经典的虚拟手交互技术是为用户提供一个外形像真实手的三维光标,它的运动 与手部位置跟踪器的运动相对应,对物体的选择和操作包括简单的接触、移动和 旋转。这种技术是现实世界中交互过程的一种抽象,虽然直观,但是用户只能抓 取手触及范围内的物体,而且无法实现虚拟手的弯曲,在视觉效果上动作显得僵 硬,无法满足虚拟现实要求的沉浸感。日本广岛大学的p o u p y r c v 等人提出的g o g o 技术【2 l 通过对虚拟手可到达范围进行一个非线性的映射,使用户可以对远距离的物 体进行操作。“世界缩影( w o r l d i n m i n i a t u r e ) 技术【3 】给用户提供一个可以用手握 住的虚拟现实系统的模型,用户通过与w i m 模型的交互可以实现对虚拟物体的直 接操作。 在早期的抓取系统中,抓取判别十分简单,一旦检测到抓取成立,就简单地将 物体固定到虚拟手的坐标系上。日本爱知工业大学的1 w a t a 4 1 在虚拟手模型上放置 1 6 个测试点,当检测到大拇指上的测试点和其它任意一根手指上的测试点与物体 发生接触,则认为物体可以被抓取。b e r g a m a s c o s j 提出了一种基于物理的抓取判别, 综合考虑了静摩擦力,动摩擦力,法向接触力和外力,但是力的计算也是基于放 置在手掌和手指指骨上的控制点构成的网格。h i r o t a 和h i r o s c 6 1 在虚拟手模型表面 放置一些测试点,利用这些测试点相对于四面体网格模型物体的运动来进行碰撞 检测判断和力的计算。这些方法的不足在于,只有当测试点足够稠密到可以覆盖 整个虚拟手时,碰撞检测才会准确。 在虚拟抓取过程中面临的一个重要问题是虚拟手和被抓取物体之间会发生穿 刺现象,这给用户造成视觉上的虚假。z a c h m a n n 和r e t t i n 9 1 7 1 提出了基于启发式碰 撞分析的抓取系统,通过最小化过程求解避免虚拟手指戳入物体的关节弯曲角度 向量。b o u l i e t 踟则通过每次伸展一个关节来调整手指姿态避免刺入物体。德国伊尔 默瑙工业大学的u l l m a r m l 9 1 通过与跟踪的手姿态相匹配的“鬼手( g h o s th a n d s ) 进行 抓取判别,而实际显示给用户的是刚好搭在被抓物体表面的虚拟手。b o r s t 川,k o - k k e v i s 1 1 1 和w e s t c n h o f e r 1 2 i 通过动力学控制或者弹簧系统解决视觉上的虚拟手戳入 物体问题。但是这些方法需要大量的参数调整,而且目前基于物理的方法大多无 第一章绪论 3 法满足交互实时性的要求。 在抓取规划方面,机器人和虚拟人领域已有相关的研究工作。d e g l i n n o c e n t i 和b u c c i a - r e l l i i s ! 给出了根据虚拟手和虚拟物体接触点的位置判断抓取稳定性的方 法。u l l m a n n 提出了针对多边形形状的基于规则的抓取判别方法【9 l 。a n d r e wt m i l l e r t l 3 l 将物体看做球体,圆柱,圆锥和长方体等基本形状的集合,利用一组规则 生成一些预抓取姿态,对于要抓取的模型找出最合适的抓取姿态呈现给用户。但 这些方法真实感稍显不足。肖伟【1 4 】对虚拟环境下的启发式抓取方法进行了研究, 丰富了抓取规则,但是缺少力反馈的计算,在真实感方面仍有所欠缺。z h e n h u a - z h u t s l 首次利用预先构造的指尖运动轨迹与虚拟物体进行碰撞检测来提高交互速 度和避免虚拟手手指戳入物体。 数据手套的出现推动了虚拟手操作技术的发展,数据手套通过捕获手指的运动 使用户与虚拟环境进行交互。抓取操作是虚拟手交互中最常用的动作。虚拟抓取 的难点在于如何保证抓取的稳定性和抓取判别的效率。浙江大学的万华根等【1 q 对 虚拟装配过程中的虚拟手操作进行了研究,并自主研制了数据手套。香港中文大 学的l i u 等【1 7 l 对基于力反馈和触觉反馈的虚拟手抓取操作进行了研究,在虚拟环境 中采用力反馈方式来完成模型的抓取等操作,由于受力学计算的复杂性以及目前 虚拟设备的功能及性能限制,很难满足实时性要求。而在无力反馈或触觉反馈环 境中,实现模型的抓取需解决虚拟手对模型的穿透和对模型的精确操作等关键问 题。 1 3 1 主要工作 3 论文主要工作和章节安排 本文跟踪了虚拟手交互技术的最新发展方向,在广泛查阅国内外有关文献的 基础上,掌握了虚拟手交互技术研究工作的最新进展情况。在分析和比较现有众 多技术手段的基础上,建立了具有三层结构的虚拟手模型;提出了基于相交矢量 和o b b 方向包围盒的二次碰撞的碰撞检测方案;对基于物理的抓取判别方法进行 了改进,提出了基于静摩擦临界状态的力封闭判别法。最后,利用v e g ap r i m e 软件 的刚体动力学仿真模块v o r t e x ,设计了虚拟手抓取试验平台,对上述虚拟手抓取技 术进行了验证。 1 3 2 章节安排 第一章绪论:介绍了本课题的背景和意义,对虚拟手交互技术的发展现状进 4 基于v e g ap r i m ev o r t e x 的虚拟手抓取过程仿真与实现 行了介绍,总结归纳了近年来提出的典型方法并分析了它们的优缺点。最后简要 介绍了本文的主要内容。 第二章虚拟手抓取技术概述:从人机交互的角度对虚拟手抓取过程进行分 析,提出虚拟手抓取的人机交互框架体系,并对抓取流程进行简要介绍,最后明 确了虚拟手抓取过程中的关键技术。 第三章虚拟手建模与运动映射:依据虚拟手在抓取过程中具备的功能,提出 并建立了包含皮肤层、运动层、碰撞检测层在内具有三层次结构的虚拟手模型。 简要介绍了运动映射的实现方法。 第四章碰撞检测:对常用碰撞检测方法进行了简要介绍,分析了它们各自的 优缺点和适用范围,提出了基于相交矢量和o b b 轴向包围盒的二次碰撞的碰撞检 测方案,并介绍了其基本原理。 第五章抓取判别:介绍了现有的两种抓取判别方法,即基于几何条件的抓取 方法,基于物理的抓取方法,分析了它们的优缺点。在对虚拟手抓取过程进行了 动力学分析的基础上,讨论了静摩擦力作用的规律,提出了基于静摩擦临界状态 的力封闭判别法。最后,对在抓取的手指数量条件进行了明确。 第六章基于v e g ap r i m ev o r t e x 的虚拟手抓取过程的实现:采用w i n d o w sx p 操 作系统、v is u a ls t u d i o n e t2 0 0 3 、v e g ap r i m e 2 2 、c r e a t o r 3 0 ,以及数据手套 5 d td a t ag l o v e5 和位置跟踪器f l o c ko f b i r d s ,开发了虚拟手抓取实验平台,简要 介绍了手指转动功能和碰撞检测功能的实现,对本文提出的虚拟手的虚拟手抓取 技术进行了验证。 第七章总结与展望:对本文所做的工作进行了回顾,并对于虚拟手技术在今 后的发展进行了展望。 第二章虚拟手抓取技术概述 第二章虚拟手抓取技术概述 虚拟手抓取过程本质上是虚拟手人机交互的过程。本章将从人机交互的角度 对虚拟手抓取过程进行分析,提出虚拟手抓取的人机交互框架体系,并对抓取流 程进行简要介绍,最后明确虚拟手抓取过程中的关键技术。 2 1 虚拟手抓取技术的框架体系 虚拟手抓取操作是通过数据手套,把操作者手的位置和姿态信息输入到计算 机,用一个虚拟手代替操作者的手在虚拟环境中运动,实现抓取、移动和释放物 体。为了实现虚拟手真实地抓取物体,并使抓取姿态自然,抓取规则的建立是非 常重要的。当虚拟手和虚拟物体之间的关系满足了抓取规则,则认为虚拟手抓取 了物体,此时将物体的基坐标系附着在虚拟手模型上,从而使手的移动带动虚拟 物体的移动,当到达目的地后,松开手指,此时虚拟手和虚拟物体之间的关系不 再满足抓取规则,从而解除附着关系,物体被释放。 亿 虚拟手抓取过程本质上是人机交互的过程,操作者通过一些虚拟外设将人手 的操作信息传递给虚拟场景中的虚拟手模型,从而控制虚拟手在虚拟空间中的运 动,并通过虚拟手对虚拟场景中的物体进行虚拟操作,其框架体系如图2 1 所示。 该框架体系可分为三大部分:操作者、外设和虚拟操作环境,三个部分相互作用, 构成一个闭合回路。 图2 1 虚拟手抓取技术框架体系 ( 1 ) 操作者 操作者是交互框架体系中的能动主体。由于现在的计算机技术还远未达到计 6基于v e g ap r i m ev o r t e x 的虚拟手抓取过程仿真与实现 算机可以为人类做好一切工作的水平,所以在一个任务的完成过程中,操作者提 供必要的智力参与是必须的,必须为整个体系提供智能支持。 操作者在整个交互体系中的作用是发出操作命令,并根据得到的信息反馈及 时更正和调节自己的操作。操作者控制着整个交互的进程,什么时候开始操作, 什么时候结束操作,操作什么,怎样操作都是由操作者来控制的。当然,操作者 对整个系统进行控制,并不是说系统交互进程的每一步都由操作者来严格控制, 而是对其中的关键的,计算机难以确定的步骤加以控制;对那些确定的,可以用 现有的数学水平精确表达的步骤则由计算机自主完成。 ( 2 ) 外设 由于操作者不可能直接进入虚拟环境中进行操作,只能通过人手在虚拟环境 中的代理( 虚拟手) 来完成虚拟操作。操作者是通过虚拟外设来和虚拟操作环境实 现交互的。虚拟外设分两部分,一部分是输入设备,一部分是输出设备。本文采 用的输入设备包括位置跟踪器和数据手套,它们利用数据线与计算机相连,通过 运动映射控制虚拟环境中虚拟手的位置姿态,完成虚拟手的交互操作,包括对虚 拟物体的抓握、移动或旋转及释放过程。输出设备是显示器,用于视觉反馈。由 于本文采用的数据手套不具备力觉反馈功能,所以不进行力觉反馈。 ( 3 ) 虚拟操作环境 虚拟操作环境是在计算机内生成的一个模仿真实环境的虚拟环境,主要由虚 拟手、虚拟物体和相应的虚拟场景组成。虚拟环境必须借助渲染引擎完成渲染和 生成,也就是对视景仿真的场景驱动,虚拟手在视景仿真中完成对虚拟物体的交 互操作任务。在交互过程中为了避免虚拟手穿越虚拟物体,可以采用检测碰撞及 碰撞响应等方法,再通过制定虚拟手抓规则避免交互操作过程中手势失真、误抓 等不真实现象,从而提高交互的逼真性,增强用户的沉浸感。 2 2 虚拟手抓取流程 基于虚拟手的抓取操作与传统的抓取操作相比,更加高效、自然。采用数据 手套和位置跟踪设备等虚拟外设取代鼠标、键盘等输入设备,这样操作者就可以 把日常生活中的一些经验直接用于操作中,操作者不需要专门的培训,交互效率 会大大提高。典型的虚拟手抓取操作流程如图2 3 所示。 虚拟手的抓取操作的基本过程可分为以下九步: ( 1 ) 操作者根据要完成的操作任务,发出操作动作; ( 2 ) 位置跟踪器测出人手在工作空间中的具体位置,数据手套测量出人手各个 关节的原始数据。这些数据通过计算机数据接口传送给计算机中生成的虚拟操作 环境; 第二章虚拟手抓取技术概述 ( 3 ) 计算机根据所得到的人手运动原始数据计算出虚拟手运动所需要的各个参 数,并根据这些参数来更新虚拟手在虚拟操作空间中的位置和姿态; ( 4 ) 虚拟手与虚拟操作对象( 虚拟物体) 间进行碰撞检测。如果两者之间没有碰 撞,进程转到信息反馈一步;如果两者之间有碰撞,转入下一步,即判断虚拟手 与虚拟物体间是否满足稳定抓持条件。 ( 5 ) 如果虚拟手与虚拟物体之间满足稳定抓持条件,则虚拟物体的坐标系与虚 拟手的坐标系固连,即虚拟物体被虚拟手抓取,虚拟物体随虚拟手一起被平移, 旋转,即虚拟手对虚拟物体进行虚拟操作,这些虚拟操作的结果经过计算机的处 理,以视觉的形式反馈给操作者; ( 6 ) 如果虚拟手与虚拟物体之间不满足稳定抓持条件,则保持虚拟手与虚拟物 体各自的坐标关系,即虚拟物体没有被虚拟手所操作,然后将此结果以视觉的形 式反馈给操作者; 图2 3 虚拟手抓取操作流程 ( 7 ) 操作者接到反馈信息后,根据操作任务的需要,调整手的位置和姿态: 8 基于v e g ap r i m ev o r t e x 的虚拟手抓取过程仿真与实现 ( 8 ) 数据手套和位置跟踪器测得手的位置和姿态信息,并将该信息传送给虚拟 操作环境,开始新一轮的操作循环; ( 9 ) 如此不断循环,直到完成操作任务。 2 3 虚拟手抓取关键技术 根据前面对于虚拟手抓取技术的分析可以知道,要实现虚拟手的抓取过程须 考虑以下几个关键的技术问题: ( 1 ) 虚拟手建模技术:虚拟手建模是虚拟手交互功能实现的前提,一个良好的虚 拟手模型可以提高交互的实时性和高效性。过于复杂的虚拟手模型会增加计算机 的计算量,导致系统运行滞后;过于简单的虚拟手模型不能满足交互的功能; ( 2 ) 运动映射技术:人手和虚拟手处于两个不同的世界中,要使虚拟手具备人手 的运动能力,必须指定切实可行的运动映射方案,将虚拟外设测量到的人手运动 数据转化为虚拟手的运动参数; ( 3 ) 碰撞检测技术:在虚拟手的抓取过程中,碰撞检测技术发挥着重要的作用, 它可以防止虚拟手与物体接触时停止运动,防止发生“穿透”等不真实现象的发 生。碰撞检测方法必须既精确又高效,这样才能提高仿真的效率和真实感。 ( 4 ) 虚拟手抓取判别技术:抓取规则对于抓取的效率和抓取的真实感起着决定 性作用,要制定高效的虚拟手抓取规则和算法,并根据这些操作来改变虚拟物体 的运动参数和位置。 在以下各章里,本文将对上述的关键技术进行详细地探讨,并针对这些技术 问题提出相应的解决方案。 2 4 小结 本章从人机交互的角度对虚拟手抓取过程进行了分析,概括了虚拟手抓取的 基本过程,提出虚拟手抓取的人机交互框架体系,并对每个组成部分进行了简要 介绍。在此基础上,对抓取流程进行了归纳总结,提出了虚拟手抓取过程中的关 键技术。 第三章虚拟手建模与运动映射 9 第三章虚拟手建模与运动映射 虚拟手模建模是虚拟手抓取过程实现的前提,一个好的虚拟手模型可以大大 提高系统仿真的效率和真实感。本章我们将在分析虚拟手功能的基础之上,确定 虚拟手建模的标准和要求,提出功能完备,又易于实现的虚拟手模型,最后介绍 虚拟手的运动映射方法。 3 1 虚拟手的功能 虚拟手是人手在虚拟环境中的代理,人手的抓取功能通过虚拟手体现出来。虚 拟手在抓取过程中的具有如下的功能: 1 ) 视觉显示:虚拟手的外形代表虚拟世界中人手的形象,虚拟手外形是否真实 直接关系到抓取过程的真实感,逼真的虚拟手外形能够使人产生“身临其境”的 感觉,能够增强系统的沉浸感。 2 ) 运动仿真:数据手套和位置传感器采集到人手的动态位置和姿态信息后,通 过一定的转换产生虚拟手的运动控制数据,虚拟手在这些数据的控制之下产生相 应的位置姿态的变化,能够实现虚拟手与人手的同步一致的运动,从而使人手的 运动映射到虚拟现实系统中去,人手的运动性能和操作功能都可以通过虚拟手在“ 虚拟现实系统中实现。 3 ) 碰撞检测:在虚拟现实系统中,虚拟手要对物体进行操作必须先接触,然 而在接触时如果虚拟手不能及时停止运动就会产生“穿透 现象,影响系统仿真 的真实感。因此,虚拟手必具备精确的碰撞检测功能,能够在虚拟手接触物体时 提示操作者,防止穿透现象的发生。并且能够提供接触点的信息,如:接触点坐 标,法向矢量,穿透量等。 3 2 虚拟手三层结构模型 根据以上分析的虚拟手的功能,我们将虚拟手模型划分为三个层次:皮肤层, 运动层,碰撞检测层,如图3 1 所示。其中,皮肤层用来实现虚拟手视觉显示功 能,运动层实现虚拟手的运动学仿真功能,碰撞检测层实现虚拟手的碰撞检测功 能。 在虚拟手模型中,皮肤层、碰撞检测层、运动层依据其功能构成一个复杂的整 体,从位置跟踪器和数据手套获取的数据用来驱动运动层的骨骼结构;皮肤层与相 应的骨骼绑定,骨骼运动带动皮肤层运动,用于视觉显示;碰撞检测层是是依据皮 肤层的几何特征建立的几何体,皮肤层的运动带动了碰撞检测层的运动,碰撞检测 l o 基于v e g ap r i m ev o r t e x 的虚拟手抓取过程仿真与实现 层与虚拟场景中的物体做碰撞检测和计算接触力。 图3 1 虚拟手三层结构模型 3 3 皮肤层建模 皮肤模型是虚拟手的曲面几何模型。人手的复杂结构使得虚拟手的形状建模 同样十分复杂,相关的几何建模技术有很多,比如多边形模型,参数曲面模型和 隐式曲面模型等。其中,多边形网格模型是三维物体的一种基本的表示方式。对 于虚拟手皮肤的模型,本文采用多边形网格表示。虚拟手皮肤模型一方面需要能 够比较好地反映虚拟手的外形,另一方面为了满足交互实时性的要求,多边形网 格不能过于复杂。考虑到人手的形状和解剖学结构,为了便于绘制和控制手的运 动,本文采用三角形网格模型来作为虚拟手的皮肤模型。 p o s e rp r o 是一款人体三维动画制作软件 1 8 j 它提供了丰富多彩的人体三维模 型,使用这些模型可轻松快捷地设计人体造型和动作,免去了人体建模的繁琐工 作。它提供了专业级别的应用集成,例如b 4 位渲染引擎,并支持网络渲染。如果 配合p h o t o s h o p 还可以制作出精美绝伦的静帧效果。很多影视广告和特效中的角色 模型都可以在p o s e r 中直接调用。p o s e r 强大的人体造型设计功能也是该软件的成 功之处,利用其特殊的工具,可以很迅速地完成人物地姿态塑造工作。 因此,没有必要利用软件重新绘制人手模型,可以直接使用p o s e r 人体库中的 人手模型u 驯。因为自己创建的人手模型,如果没有专业知识,不仅很粗糙而且缺 乏真实感,不能达到要求。p o s e r 的模型材质和动画还可以导出到其它大型的三维 软件中,如3 d s m a x 和c r e a t o r 等。将p o s e r 中的人手模型导出,再导入到c r e a t o r 第三章虚拟手建模与运动映射 中,得到的虚拟手片面模型如图3 - 2 所示。 图3 2 虚拟手皮肤层模型 3 4 运动层建模 运动层即虚拟手的骨骼结构,如图3 3 所示,通过设置骨骼关节处的自由度, 可以控制骨骼的运动,从而控制整个虚拟手的运动。要建立骨骼,首先要确定关 节的位置,本文利用p o s c r 软件提供的b v h 运动数据文件来确定关节的坐标。 图3 3 人手的骨骼结构 1 2 基于v e g ap r i m ev o r t e x 的虚拟手抓取过程仿真与实现 3 4 1 b v h 运动数据文件 b i o v i s i o n 公司开发b v h 数据文件,是一种描述动作捕获的数据文件格式。这 种文件描述人体动画十分逼真。并且b y h 文件来源相当广泛,易于制作。它可以 利用3 d m a x ,p o s e r 等软件制作。而且这种文件是以文本形式存储的,对于使用 者操作简单,容易明白,使用简单,如图3 4 所示。 b v h 文件包括骨架信息和关键帧数据块两个组成部分。骨架信息按树型结构 组织,其定义了从根“r o o t 节点到终端节点“e n ds i z e 的数据扫描,对于 每个节点还包括偏移信息和旋转度。根节点还包含了模型在三维场景中的坐标值; 非根节点只含有偏移量和旋转度。 h i e r a r c h y r o o tw o r l d r o o t o f f s e t0o0 c h a - d i e l s3x p o s i t i o ny p o s i t i o nz p o s i t i o n j 0 1 i t ! b o d y :1 o f f s e t - 0 0 0 0 0 00 4 9 6 0 0 00 0 0 0 0 0 0 c h a h h e l s9x p o s i t i o ny p o s i t i o nz p o s i t i o nz r o t a t i o nx r o t a t i o ny r o t a t i o n x s c a l ev s c a l ez s c a l e j o i l i th i p :1 o f f s e t_ a 盯0 0 0 一_ 帖10 0 0 一_ 日0 4 0 0 0 c h a h h e l s9x p o s i t i o nv p o s i t i o nz p o s i t i o nx r o t a t i o nz r o t a t l o n y r o t a t i o nx s c a l ey s c a l ez s c a l e j o i 町w a i s t :1 帅t i o h f r a n e 5 :3 i f r a mt i n e :口帕3 3 3 3 _ _ _ _ _ l1 11 _ l _ b 日- 11 1i 口口_ b 口11 10 口00 _ 111 _ _ - _ 日_ 6 的日_ 11 19 3 1 3 2 e - 0 1 01 1 9 2 1 e - 0 0 7 - 7 帖嘶e - 0 0 9 - 0 盯9 5 3 20 _ 0 0 1 2 2 5 91 11 - 1 8 t 6 e - 0 0 90 - 0 0 1 9 5 3 101 1 13 7 2 5 3 e - 0 0 90 - 1 8 6 2 6 e - 0 0 9 - 0 0 1 8 3 3 l 口0 0 1 0 9 8 5 - 0 乾0 们1 9 8 0 2 e - 0 06 p 8 卑p e - 0 0 9 - 0 0 0 9 7 6 6 6 - 0 日舯7 7 8 9 - 0 明乾2 阱11 12 9 8 0 2 e - 0 啊- 1 1 9 2 1 e 图3 4b l l 文件数据格式 骨架信息数据块以“h i e r a r c h y ”作为关键字开头,然后依次定义根节点和 第三章虚拟手建模与运动映射 各个子节点。“o f f s e t ”关键字用来定义本节点针对父节点的偏移量。而对于根 节点,x ,y z 三个坐标偏移量均为o 。关键字“c h a n n e l s ”,它给出了关于每个 节点c h a n n e l 的个数和名称。根节点有6 个c h a n n e l s 组成,分别为:x p o s i t i o n , y p o s i t i o n ,z p o s i t i o n a ,x r o t a t i o n 和y r o t a t i o n 。它们分别表示根节点在三维场景中 的x y z 坐标位置以及在z 轴、x 轴和y 轴上的旋转分量。非根节点只有3 个c h a n n e l 值,非根节点只需要记录旋转分量而无需记录节点在三维场景中的坐标位置。因 为通过计算父节点的位置以及本节点针对于父节点的偏移位置和旋转分量来获得 非根节点的坐标位置。定义完一个节点后,关键字“j o i n t 定义子节点。用关键 字“e n ds i z e 定义末端节点。 关键帧数据块以关键字“m o t i o n ,这部分是用来存放运动帧信息。关键字 “f r a m e s 定义了帧数,关键字“f r a m et i m e ”定义每一帧的播放时间,如果文件 数据是0 0 2 5 ,那么表示采用每帧播放时间为0 0 2 5 s ,即每秒播放4 0 帧。定义完 这些信息,接下来就是每帧的实际数据,它对应了骨架信息提供的每一个节点。 根节点的平移量为o f f s e t 与m o t i o n 定义的平移量之后。节点的平移信息来自 骨架信息中的o f f s e t ,旋转信息则来自m o t i o n 定义的数据部分。叶子节点没 有旋转分量。 3 4 2 创建骨骼 人手大拇指有三节指骨( 近指骨、远指骨和拇指掌骨) ,其余四个手指各有三 节指骨( 近指骨、中指骨和远指骨) 。每个手指均有三个关节。拇指的关节为:拇指 指尖关节( i p ) ,拇指掌指关节( t m c p ) 和拇指腕掌关节( t - c m ) ,其中i p 有一个 自由度,t - m c p 和t - c m 各有两个自由度。其余四个手指的关节为:远端指间关节 ( d i p ) ,近端指间关节( p i p ) 和掌指关节( m c p ) ,其中d i j 和p i j 有一个自由度, m p j 有两个自由度。手掌有两个自由度。因此,手的运动受到关节的限制,而一 个关节的运动会受到其他关节的影响。 在3 d s m a x 中,按照b v h 文件中给出的关节相对位置偏移量,如表3 1 所 示,由腕关节开始逐步添加骨骼,完成后虚拟手骨骼系统如图3 5 所示。 表3 1 手指各关节相对偏移量( 单位:米) 相对偏移量 关节名称 x 方向y 方向z 方向 拇指根关节与手腕关节 一0 0 0 5 7 6 0- 0 0 0 5 0 0 10 0 1 9 8 4 3 拇指中关节与根关节 - 0 0 0 8 0 0 0- 0 0 0 4 0 0 00 0 1 0 0 0 0 拇指远端关节与中关节 - 0 0 0 5 0 0 0- 0 0 0 1 0 0 00 0 0 5 0 0 0 1 4 基于v e g ap r i m ev o r t e x 的虚拟手抓取过程仿真与实现 食指根关节与手腕关节 - 0 0 3 1 7 6 00 0 0 0 0 0 10 0 2 7 8 4 3 食指中关节与根关节 一0 0 1 0 2 0 4- 0 0 0 0 7 6 20 0 0 8 0 3 6 食指远端关节与中关节 - 0 0 0 7 2 0 10 0 0 1 2 4 l0 0 0 5 8 4 1 中指根关节与手腕关节 - 0 0 3 7 7 6 0- 0 0 0 2 0 0 10 0 1 9 8 4 3 中指中关节与根关节 - 0 0 1 2 5 4 90 0 0 1 0 0 20 0 0 5 9 0 9 中指远端关节与中关节 - 0 0 1 1 9 8 8- 0 0 0 2 7 4 60 0 0 5 9 5 8 无名指根关节与手腕关节 - 0 0 3 8 7 6 0- 0 0 0 6 0 0 10 0 1 0 8 4 3 无名指中关节与根关节 - 0 0 1 4 2 9 5- 0 0 0 1 0 0 30 0 0 2 5 1 7 无名远端关节与中关节 一0 0 1 1 1 0 40 0 0 2 4 4 20 0 0 3 3 6 3 小拇指根关节与手腕关节- 0 0 3 9 7 6 0 - 0 0 1 0 0 0 1 0 0 0 3 8 4 3 小拇指中关节与根关节 一0 0 0 8 0 0 0 - 0 0 0 2 0 0 00 0 0 0 0 0 0 小拇指远端关节与中关节- 0 0 0 7 0 0 0 - 0 0 0 2 0 0 00 0 0 2 0 0 0 小 一 匹 图3 5 虚拟手骨骼结构 本文将皮肤层作为刚体来处理,将每一节指段的皮肤层与相应的骨骼坐标系固 定,这样骨骼的转动就可以带动皮肤层的转动,从而实现对手指转动的控制。 第三章虚拟手建模与运动映射 3 5 皮肤裂缝的处理 将皮肤层按刚性处理,这样做的好处是运动模拟只需要非常低的计算资源,因 此可以得到快速的运动序列,但是缺点也是十分显著。这种皮肤模型各部位皮肤 网格各自独立,不是无缝连接,在关节点附近相互贯通,运动时皮肤分段之间可 以看到明显的不连贯,而且这种方法把皮肤网格当作刚体处理,完全没有考虑肌 肉的隆起等变形效果,所以逼真度不高。图3 6 是刚性变形的虚拟手皮肤模型, 可以看到明显的不连续现象。 图3 6 是刚性皮肤变形的不连续现象 基于以上的分析,我们可以采取两种方法来解决这个问题: ( 1 ) 蒙皮法:将关节周围的皮肤网格作为可变形的柔性体来处理,当关节转动 时,按照预先设置的权重,控制皮肤网格顶点位移,避免出现裂纹; ( 2 ) 创建关节体:由关节体来填充出现的间隙。 3 5 1 蒙皮方法 蒙皮方法也叫骨架子空间变形法( s k e l e t a ls u b s p a c ed e f o r m a t i o n , s s d ) ,是一 种经典的皮肤变形方法,其基本思想是:皮肤网格顶点的变形和一段或多段骨骼的 运动相关,首先分别得到皮肤顶点随各段相关骨骼刚性位移后的位置,再将这些 位置值进行加权求和,得到皮肤项点的新位置。 蒙皮方法本质上是一种插值算法,其基本原理可以用下式表示: 霪一缓蕤貉缓嘲黔鬈鼍骥 1 6 基于v e g ap r i m ev o r t e x 的虚拟手抓取过程仿真与实现 v = im ,d ,。vd 式( 3 一1 ) i il yc oi :1 式( 3 - 2 ) j r i = l 其中,v d 是变形前的皮肤顶点坐标,d i 表示在初始参考姿态下与皮肤顶点相 关的第i 段骨骼的由局部坐标到全局坐标的转换矩阵,d :1v :i 表示在第i 段骨骼局 部坐标系中皮肤顶点的坐标值,m i 表示第i 段骨骼在当前帧中由局部坐标到全局坐 标的转换矩阵,i 表示第i 段骨骼对于当前顶点的权值,v 表示变形后的皮肤顶点 坐标。 蒙皮方法可以实现关节转动是手指皮肤的连续性,但是也存在一定的局限性。 首先,这种方法要先人工指定各控制点的权值,而求要求使用者有很丰富的经验。 其次,对身体的某些灵活区域,如转动角度较大的关节变形时有可能严重的“塌 陷”失真现象,如图3 7 所示。 3 5 2 创建关节 图3 7 关节转动塌陷 创建关节来填充转动间隙与蒙皮方法相比是一种与人手生理结构不相符的方 法,因为蒙皮方法将手指皮肤按柔性来处理,而创建关节方法的前提是将手指皮 肤看作是刚性的,由关节表面来替代手指皮肤断裂的部分。然而,蒙皮的方法有 其与生俱来的缺陷:需要对皮肤网格顶点位置进行实时运算,会占用较多的系统 资源,并且网格顶点的权重设置比较复杂,需要较强的专业技能和经验,如果设 第三章虚拟手建模与运动映射 置不好,就会出现“塌陷”失真现象。 指段的旋转是绕关节点的空间定点转动。因此,关节可以设置为一个球体u 剀, 这个方法可以有效地填充转动间隙,但是在真实性上还有待于进一步改进,原因 在于手指关节的外形不是规则的球体,两侧较宽,上下扁平,其横截面类似于椭 圆形,如图3 8 所示。 基于以上分析,本文将关节模型设置为椭球体,为此,我们就要得到椭球体的 长轴、短轴、高度尺寸。我们以指段的端面作为近似的关节截面,由于指段的端 面边界是不在一个平面内的空间封闭曲线,我们首先将其投影在关节截面所在的 坐标平面上,由此我们便得到了近似于椭圆的关节截面边界曲线,如图3 9 所示。 图3 8 关节截面外形 图3 9 关节截面近似椭圆边界 将上述得到的近似椭圆边界绕其对称轴进行旋转,可以得到表面不规则的椭 球体。如图3 1 0 所示为椭球形关节,由图可以看出,椭球形关节能够较好地和关 节外形拟合。 1 8 基于v e g ap r i m ev o r t e x 的虚拟手抓取过程仿真与实现 图3 1 0 椭球形关节 3 6 碰撞检测层 碰撞检测层用来判断虚拟手是否与虚拟场景中的物体发生碰撞,如果它们之间 发生碰撞,则需要对从数据手套获取的关节弯曲数据进行调整,然后再驱动皮肤 层的变形,这样能够避免手指戳入物体。 皮肤层是由三角形网格构成的,如果直接将虚拟手的皮肤层模型与被抓取的虚 拟物体进行碰撞检测,则会耗费很多的计算时间,如果依据皮肤的几何特征,建 立能够代替皮肤的相对简单几何体来进行碰撞检测,将大大提高系统的计算速度。 为此,本文在皮肤层的外层附加了一个碰撞检测层。 由于文本将采用二次碰撞的碰撞检测方法( 在第四章详述) ,即b u m p 线段检 测法和o b b 方向包围盒检测法,所以碰撞检测层由手指每段骨骼的o b b 包围盒 和添加在其上检测线段组成,如图3 1 1 和图3 1 2 所示。 图3 1 1 虚拟手0 b b 包围盒图3 1 2 虚拟手b u - i p 相交矢量 第三章虚拟手建模与运动映射 1 9 3 7 运动映射 运动映射的本质是通过跟踪人手的运动来控制虚拟手的运动,目的是让虚拟 手实现近似与人手的运动和操作功能。人手到虚拟手的运动映射的主要方法分为 四类:指尖映射、关节角映射、关键点映射和基于被操作物体的映射【2 l 】。本文对于 从人手指到虚拟手指的运动映射采用关节角映射:各指段的关节角转动值取数据 手套上相应转动关节的传感值。从人手掌到虚拟手掌的运动映射采用关键点映射: 将虚拟手掌坐标系原点与固定在人手掌上的位置传感器对应,位置传感器在空间 的位姿数据即经过转换即为虚拟手在虚拟空间的位姿数据1 2 2 1 。 3 7 1 手掌运动映射 本文采用的位置跟踪器为f l o c ko f b i r d s ,如图3 1 3 所示。它是由美国a c s m o n 公司研制而成矧,其主要组件有发射器( t r a n s m i t t e r ) 、接收器( r e c e i v e r ) 、电子单元 ( e l e c t r o n i c u n i t ) 、三维鼠标( 一种接受设备) 。f l a c ko f b i r d s 是6 自由度的跟踪器, 属于电磁式方位跟踪器,其原理是由发射器( 固定一于某
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 露天水族工程方案(3篇)
- 客户工程的管理方案(3篇)
- 酒店开业工程筹备方案(3篇)
- 公路货运行业数字化转型中的物流园区智慧物流系统建设与实施报告
- 新能源储能电池热管理技术创新在能源产业能源市场中的应用报告
- 洞察2025年:医药企业研发管线抗病毒药物研发成功案例报告
- 碳五碳六异构化装置操作工应急处置考核试卷及答案
- 新型环保包装材料在环保产业市场前景鉴定报告
- 物料索道操作工适应性考核试卷及答案
- 木刻水印雕刻版员理论知识考核试卷及答案
- 月子会所运营方案
- 排污单位自行监测方案编制模板
- 工作安全分析JSA杜邦
- YY 1727-2020口腔黏膜渗出液人类免疫缺陷病毒抗体检测试剂盒(胶体金免疫层析法)
- 粘膜免疫系统概述
- 10室外配电线路工程定额套用及项目设置
- 钢板桩及支撑施工方案
- 急救中心急救站点建设标准
- 冷藏车保温箱冰排使用记录
- 幼儿园课件我从哪里来
- 精细化学品化学-课件
评论
0/150
提交评论