VRML课件第四章虚拟环境的物理建模
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2 虚拟现实的物理建模技术
为了使VR可靠,并把用户定位在其中,虚拟物体(包括用户的图像)必须象真的一样。
至少固体不应彼此穿过,物体在被推拉抓取时应按予期方式运动。
VR的物理属性往往用微分方程来描述,它构成动力学系统。
这种动力学系统由系统分析和系统仿真来研究。
系统仿真实际上就是动力学系统的物理仿真。
在日常观察尺度上物体属性的分析在经典力学领域,这是成熟的规律。
但是力学课程一般用于理解物体属性,而这里更注意经典力学怎样支持VR属性。
经典处理可以提供要求的数学基础,但不是直接涉及问题。
经典力学的仿真广泛用于帮助工程设计和分析。
虽然这些传统仿真提供属性的数值规律,但还没有满足VR要求。
在工程实践中,仿真是长的推理活动。
工程师一般花很多时间手工开发系统的数学模型。
模型再转换成仿真软件和参数选择。
这样仿真才能运行。
在进行设计时,初始方程必须修改,并重新运行仿真。
与此对比,VR的力学仿真必须可靠地、无缝地、自动地、实时地运行。
在世界建模的范围内,任何可能发生的情况必
须正确处理。
近年来,计算机图形的研究开始涉及这类仿真提出的问题,这称为基于物理的建模。
下面综述现有的技术。
基于物理模型的动画技术,尽管比传统动画技术的计算复杂性高,但能逼真地模拟自然物理现象。
基于物理模型的动画,大致可分为三类,刚体运动模拟、塑性物体变形运动模拟、流体运动模拟。
4.2.1 固体的建模
刚体运动模拟方面,重点在于采用牛顿动力学方程来模拟。
Witkin利用Lagrangian动力学方程及时空约束和能量约束方程来进行运动仿真。
Hahn采用解析方法来计算刚体碰撞时产生的冲量。
他假设两个刚体在接触时只有一点接触。
这是理想化的。
为了防止非完全弹性碰撞时刚体间的相互贯穿,把碰撞接触模拟为一个屡次发生碰撞的序列。
Hahn采用层次包围盒技术来加速多面体场景的碰撞检测。
Moore提出了两个有效的碰撞检测算法,其一处理三角剖分的物体表面,另一个处理多面体环境的碰撞检测。
他利用一个刚体上各顶点的运动轨迹与另一刚体上各面片进行求交测试。
固体不能彼此穿过,这是我们日常见到的物理世界的一个方面。
在放一个杯子在桌上时,杯子稳定地放在桌上,不会
浮起也不会穿进去。
在到达和抓取时,我们依靠固体的手与物体接触(机械手利用力控制和柔顺运动)。
在站立和行走时也依靠与地面的接触。
防止穿透问题有三个主要部分。
首先,必须检测碰撞。
其次,为响应碰撞应调节物体速度。
最后,如果碰撞,响应不引起物体立刻分开,必须计算和施加接触力,直到分开。
碰撞检测的处理通常是通过检测每次修改位置时的物体重叠。
如果发现重叠,就发出碰撞信号,系统状态就返回碰撞的时刻,碰撞响应就计算并施加。
确定任意一对物体是否重叠的几何问题有大量研究。
这个问题在机器人学,机械CAD,计算机图形学方面都引起关注。
凸多面体的强重叠检测是直接的,这是检查每个物体的每个顶点与另一个物体的每个面。
更有效的方案使用约束体积和空间划分,避免尽可能多的检查。
对于屈面物体还没有一般的方法。
事实上,每次修改检查物体重叠还不足以确保无穿透,因为在以前的布局和新的布局之间物体可能相碰和彼此穿透。
这并不奇怪,一个快速运动物体(如子弹)可能整个穿透一个薄的物体(如墙),而没有检测出碰撞。
Lin描述了可靠的方法,用于有恒定线性和角速度的凸多面体。
碰撞响应涉及到施加冲击,产生速度的瞬间变化以防止穿
透。
经典力学容易处理碰撞响应,不存在任何困难。
问题在于对具体材料怎样开发精确的碰撞模型,但许多VR应用不要求这种程度的真实。
为处理连续的多物体接触,必须计算在接触点交换的约束力,并识别停止接触的瞬间。
确定哪个接触停止是个困难问题,它要求组合搜索。
许多虚拟世界系统呈现刚性的物体运动,有碰撞检测和响应。
Baraff的系统也处理多物体连续接触和曲面上的摩擦力。
4.2.2 约束和联接的物体的建模
除了简单物体(如刚体)外,还应该能处理有运动部件的物体(开关的门,转动的把手和开关等)。
原则上,仿真简单物体(如刚体)的能力,加上防止穿透的能力,足够建模多数复合物体。
例如,运动的桌子抽屉的构造通过建模在导槽中滑动的块,构造门是通过详细建模铰链的刚性部件。
实际上,用直接几何约束综合这种详细交互的效果还不很有效。
例如,滑动块和导槽设想为一对重合的直线,每个物体上一条线。
铰链表示为理想的转动关节。
铰链的物体(刚体的关节装配)的仿真和分析被广泛应用,特别是在机械手中。
除了传统技术(如拉格朗日动态法),
还开发了流线递归方程,可能在线性时间内仿真运动链的动态,而拉格朗日动态要求N3时间。
这些方法只适于较长的链(N>9),而且其初始形式不容易处理在部件连接图中的闭环。
仿真约束系统的另一个途径建立在经典的拉格朗日乘子法之上,每个时间步解一个线性方程,得到一组约束力。
这个途径有几个优点。
首先,它是一般方法,允许任意完全的约束施加于任意物体。
其次,它提供在进行中的构造和修改,这对VR是重要的。
最后,形成线性系统的约束矩阵是稀疏的,这反映了通常每个物体不是直接连到另一物体。
使用这种稀疏的数值方法可以得到与递归方法可比的性能。
4.2.3 非刚体的建模
真实物理世界中,许多物体在运动中会产生变形,这就是柔性物体。
Terzopoulos采用连续弹性理论来模拟物体的变形和运动。
考虑物体的分布式物理属性(如质量和弹性等),模拟了柔性物体对外力的动力学响应。
但是当物体的刚性增加时,模型会出现数值不稳定(病态)现象。
以后完善了的变形模型能够模拟各种变形效果,包括:完全弹性变形、非完全弹性变形、塑性变形、断裂等。
大量工作是用有限元法仿真连续动态。
多数研究可能仅仅关系到构造普通VR,这些环境不要求细粒度的非刚性建模,可能的例外是虚拟手术。
但是对科学和工程的交互式连续分析可能成为VR的重要的专门应用,只要计算能力可以支持。
Baraff等人提出柔软物体动态的简化模型。
模型的一般概念是只用少量全局参数表示物体形状,并根据这些变量形成动态方程。
这些简化模型只注意物体粗略的变形,但最终提供了很高的性能。
这可能是要求简单非刚性的VR的最合适的选择。
特殊形式的非刚性建模,是交互地雕刻自由形式表面。
一般思想是用仿真的柔软材料作为雕刻媒体。
Celniker使用软的薄纸,Szeliski用一团定向粒子形成平滑表面。
被计算机图形和工程的要求推动,为了支持各种物体细节层次和交互的真实的和基于物理的环境,Metaxas为形状和非刚性运动合成开发了一个通用框架。
这个框架描述新的一类动态变形部件模型。
模型有全局变形参数(它由少数参数表示物体粗略形状)以及局部变形参数(它利用复杂的有限元技术表示物体细节)。
全局变形由非线性参数方程确定。
这个模型比线性变形和平方变形更一般。
用很快的动态约束技术扩大基本拉格朗日方程的运动,这增加了合成相联模型的能力。
另一个快速算法计算在复杂的柔软多物体对象与被
仿真环境碰撞时发生的作用力。
流体运动模拟,从流体力学中选取适当的流体运动方程,进行适当的简化,通过数值求解得到各时刻流体的形状和位置。
现在已有模拟水流、波浪、瀑布、喷泉、溅水、船迹、气体等流体效果的模型。
4.2.4 自主智能体(Agent)的建模
许多VR应用领域要求仿真自主智能体,如训练、教育和娱乐等领域。
这些智能体起的作用是对手,训练者,同伴,或只是增加信任感的多余者。
让被仿真的人完全可信,还是科学幻想小说的素材,但简单的智能体对VR往往是足够的。
构造仿真的自主智能体引用很多技术,包括机器人学、计算机动画、人工智能和最优化,也涉及社会学和心理学等领域。
Agent的建模不同于一般的数学建模,它是行为建模。
行为建模的一个应用是计算机生成兵力(Computer Generated Forces,CGF)建模。
CGF是用计算机模型实现参与仿真的作战人员和武器系统等仿真对象,目的在于减少真实作战人员和武器系统参与仿真。
密歇根大学开发了基于符号表示和规则推理的Agent建模环境Soar,可以建立行为模型的规则库和推理引擎。
由美国陆军STRICOM资助,Loral System公司和Saic公司分别
开发了半自主兵力生成系统ModSAF和CCTT SAF。
前者行为模型采用有限状态机,后者采用基于规则的知识。
基于Agent的建模框架包括三个部分。
(1)感知部分,用来接受外界信息。
(2)认知处理部分,包括形势评估、决策制订、规划、学习等,还与工作存储器(存放当前信息)和长期存储器(存放知识和任务)。
(3)行为输出部分,输出行为并影响外界环境。
1.形势评估的技术
形势评估是对当前形势的估计和对未来形势的预测。
主要技术包括:
黑板系统在黑板系统中,当前状态被分解为不同部分,并加到黑板上适当位置。
分析这些信息,并预测未来发展,结果也加在黑板上。
专家系统即产生式规则系统,包括规则库、事实库、推理引擎。
遵循“匹配—选择—应用”的循环。
这是常用的技术。
基于范例的推理系统的知识用一组范例库表示,一个范例用一组特征来表示。
所有范例有同样的数据结构。
当出现新的形势(目标范例)时,它与库中的范例比较,找出最接近的范例,实现评估。
贝叶斯信任网这是基于贝叶斯定理。
当已知状态S的先
验概率,且观察到状态S的相关事件E,则可以计算状态S 的后验概率。
2.决策制订的技术
决策制订可以使用上述的形势评估的技术,也可使用下述的基于效用理论的决策。
状态的效用值由效用函数计算,是状态的非线性函数。
基本的效用理论设在当前的状态下,采用的决策方案为Ai,产生的可能状态为Sj,每个状态的效用值为U(Sj),概率是Pj,则该决策的期望效用值为E(Ai)=∑Pj U(Sj)。
期望效用值最大的方案是最佳方案。
多属性效用理论当影响效用值的因素不只一个时,需要用适当的方法计算效用值,在各属性满足互斥条件,即各自的效用值互相独立时,可以用加法计算效用值。
随机效用理论用随机变量计算效用值,有更好的灵活性和可变形。
3.规划的技术
规划就是制订部队作战方案。
主要技术包括:
产生式规则或决策表这是常用的技术。
但是对规则库或决策表中不存在的情况不能处理。
组合式搜索或遗传算法计算代价高,一般用作辅助手
段。
能产生完整的规划,并在新情况下规划新的方案。
采用规划模板或基于范例的推理规划模板与作战条例一致,用来把作战任务规划成行动计划。
两种方法都采用经验知识,符合人的行为,但灵活性和适应性较差。
基于仿真的规划它对可供选择的规划进行仿真,实现快速评估、修改、细化和优化。
4.学习的技术
学习过程最难实现,多数仿真系统没有学习功能。
常用技术包括:
基于规则的模型当出现新情况或冲突时,问题求解过程进行求解,构成新的规则。
在有噪声时,灵活性较差。
基于范例的模型它再现了人的学习过程。
通过存储过去求解问题的经验(即范例),当出现新问题时,利用与已知范例的相似性进行求解、更新及存储。
神经网络技术首先根据问题需要确定网络结构和神经元的响应函数,然后用样本的输入和输出调整网络的连接权值。
其他模型如模拟退火方法,遗传算法等。
5.多Agent的技术
当不同的Agent之间实现协同工作时,需要多Agent技术。
核心问题是,多Agent之间的协调工作,以及共同适应(Coadapted)问题。
它研究将多个Agent组织成一个群体,并使各个Agent有效地协调合作,产生共同适应行为,达到总体上解决问题。
主要方法包括:
基于符号推理系统的协调方法;
基于行为主义的协调方法;
基于进化机制的协调方法。
第4.2节小结
第4.2节介绍了虚拟现实中的物理建模。
固体建模在于采用牛顿动力学方程来模拟。
建模是应该考虑,固体不能彼此穿过。
约束和联接的物体建模的传统技术是拉格朗日动态法。
非刚体建模中,大量工作是用有限元法仿真连续动态。
VR应用领域要求仿真自主智能体。