我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>VR>行业资讯>行业知识

论计算机虚拟现实模拟仿真方法

文章来源:第三维度 作者: 发布时间:2013年08月06日 点击数: 字号:

    来源:第三维度
    作者:曹伟、张忠利、姜斌、李醒飞

    摘要 本文讨论了计算机仿真方法的四种基本类型,提出了其具有方法论意义的一般模式。同时,本文还论述了计算机仿真方法的特点及其在科研中的作用,并论证了其在科学方法论体系中的独立地位。

    1 概述

    计算机仿真(ComputerSimulation)又称计算机模拟(ComputerAnalogy)或计算机实验。

    所谓计算机仿真就是建立系统模型的仿真模型进而在电子计算机上对该仿真模型进行模拟实验(仿真实验)研究的过程。计算机仿真方法即以计算机仿真为手段,通过仿真模型模拟实际系统的运动来认识其规律的一种研究方法。计算机仿真方法有时也称计算机仿真技术,这二者有时又简称计算机仿真。

    计算机仿真方法的产生是与电子计算机技术的发明和应用紧密相联的。1946年2月世界上第一台电子计算机ENIAC在美国诞生,到四十年代末期首台模拟式电子计算机就被用于三自由度飞机系统的仿真。五十年代末期到六十年代,由于宇航科技发展的迫切需要,美国科研人员又创造了混合计算机系统(由数学计算机和模拟计算机通过一套混合接口联接而成),这使得人们能对较复杂系统的行为进行仿真研究。七十年代以来,随着数字计算机运算速度的大大提高以及相应的仿真软件的不断完善,数字计算机仿真得到很快发展,其应用范围也由各种工程领域扩展到非工程领域进入九十年代,计算机仿真技术又朝向智能化仿真(仿真技术与人工智能相结合)、分布式并行处理仿真、仿真支持系统等方向发展。目前,无论在科学研究还是技术开发抑或工业设计中,计算机仿真方法都显示出强大的威力,已成为人们研究复杂系统时不可或缺的一种手段。

    计算机仿真方法在各种工程领域和非工程领域中有许多成功应用的范例,其成效十分显著,影响也很大。

    在宇航工业中,有著名的“阿波罗登月仿真系统该系统包括混合计算机、运动仿真器、月球仿真器、驾驶舱、视景系统等,可实现在计算机上预先对登月计划进行分析、设计与检验,同时还可对宇航员进行仿真操作训练(共进行五年),从而大大降低了实际登月的风险系数“。

    在非工程领域,著名的例子有罗马俱乐部建立的“世界模型仿真系统。该系统选择五个能影响世界未来发展的重要因素,即人口增长、工业发展、环境污染、资源消耗和食品供应,来预测世界未来发展的趋向并据此提出了“零增长方案C23。

    尽管该模型仿真的最后结果引起了世界范围的广泛争论,但其研究方法却具有开创性。在非工程系统的仿真中,我国科学家建立的中国人口模型仿真系统也获得很大的成功,在国内外学术界颇有影响。

    该仿真系统成功地预测了未来一百年我国人口发展的趋势,为制定科学的人口政策提供了理论依据。

    上述计算机仿真方法的成功范例,大大提高了这一 方法在科学研究和技术开发中的地位,引起科学界和工业界的广泛关注与重视。

    2 计算机仿真方法的基 本类型

    由于电子计算机分为模拟计算 机、 数字计算机、混合计算机和全数字并行处理计算机,因而相应就存在模拟计算机仿真方法、数字计算机仿真方法、混合计算机仿真方法和全数字并行计算机仿真方法等四大类仿真方法这四种类型的计算机仿真方法无论在硬件结构、软件编制还是算法选择上都存在很大差异,因而需要分别加以详述。

    (1) 模拟计算机仿真方法(模拟仿真方法)

    模拟仿真的工具是模拟计算机。模拟计算原理是以实际系统的数学模型与模拟计算机中具有模型特征的典型硬件电路间的相似性为基础的。这些电路由各种基本运算部件,如加法器、乘法器、比例器、积分器、函数器等组成,其输入输出均是电压不同的电压值即代表数学方程中的不同变量(通常以±10伏或±1o0伏作为机器变量的满标度)。基本计算部件可以联接起来,这样就能完成较复杂的数学运算模拟计算机仿真即是一种建立在不同物理系统的数学模型相似基础上的仿真方法。由此,实际系统中的各种物理量,如速度、距离、角度、重量等都可用按一定比例变换后的电压来表示。根据相似原理,实际系统中某一物理量随时间变化的动态关系和模拟计算机上与该物理量对应的电压随时间的变化关系是相似的。这样,逻辑上的必然结果就是,实际系统的数学方程和模拟计算机上的解题方程存在相似关系只要实际系统可以用微分方程、代数方程或逻辑方程描述出来,那么就可在模拟计算机上进行仿真实验模拟计算机是一种并行运算的装置,即所有运算部件都在同一时间进行运算。因而编制模拟计算机的运算程序,也就是设计模拟运算部件的连接框图‘即排题板),这与编制数字计算机的程序完全不同。

    模拟计算机由于其本身硬件上的特殊之处,从而导致模拟计算机仿真具有运算速度快、仿真时间标尺可任意设定、易于和实物相联构成仿真器等优点。模拟计算机仿真的不足是,其运算精度较低、逻辑控制功能较差、自动化程度也较低。

    (2) 数字计算机仿真方法(数字仿真方法)

    数字仿真的工具是通用数字计算机。数字计算机的运算对象是二进制数码,因而机器变量表现为离散的形式,这同时要求将连续的数学运算转换为离散的数值计算,否则计算机无法识别。

    数字计算机的上述特点,决定了数字仿真模型的建立与模拟仿真有很大不同:它不是建立在数学模型相似的基础上,而是建立在离散数值计算的基础上。由此,数字计算机仿真需要研究各种仿真算法,即必须选择合适的数值计算公式,这样才能实现系统模型的离散化,也才能最终建立起合适的仿真模型。仿真模型确立后,即可运用适当的算法语言编制仿真程序数字仿真具有运算精度高、逻辑判断功能强、使用方便灵活(系统参数可随意调整)等优点。但其不足是,对复杂动态系统难以实现实时仿真;进行实物或半实物仿真时需配备模/数(A)、数/模(D/A)转换装置。

    (3)混合计算机仿真方法(混合仿真方法)

    混合仿真的工具是混合计算机。混合计算机是由模拟计算机、数字计算机以及专用的混合接口(A、D/A转换装置)组成的计算机系统。混合计算机仿真可充分发挥模拟计算机和数字计算机两者各自的长处,即模拟计算机的高速处理能力以及数字计算机的高精度、高存贮及强逻辑功能。因此,混合计算机可用来处理复杂、快速系统的实时仿真问题。

    由于混合计算机硬件构造上的特点,其所用的混合软件与数字计算机相比要复杂得多(详见第三部分中的“仿真程序的编制)。

    混合仿真的优点是,它可充分发挥模拟仿真和数字仿真各自的优势,从而提高人们处理复杂工程系统仿真时的能力混合仿真的不足在于,其硬件与软件均较为复杂、造价高昂,故仅在宇航、航空等少数领域应用。

    (4)全数字并行计算机仿真方法(并行仿真方法)

    并行仿真的工具是全数字并行计算机。并行计算机突破了传统计算机的速度限制,满足了特大型复杂动态系统实时仿真的需要。

    并行计算机系统的设计目的是为了利用多个计算机资源去完成某个单一的作业(即并行处理),以获得很高的处理速度。并行计算机的结构若从资源开发的角度可分为空间并行处理和时间并行处理两大类。空间并行处理又分为阵列处理(单指令多数据流——SIMD系统)和功能并行处理(多指令多数据流——MIMD系统)。时间并行处理主要指上述计算机仿真方法的成功范例,大大提高了这一方法在科学研究和技术开发中的地位,引起科学界和工业界的广泛关注与重视。

    2 计算机仿真方法的基本类型

    由于电子计算机分为模拟计算机、数字计算流水线处理(多指令单数据流——MISD系统)。

    上述两大类并行处理系统在硬件与软件的设计和实现上都存在一些有待解决的问题。

    并行仿真就是利用并行计算机系统在多台处理机上对同一复杂模型进行并行求解,以便大大缩短仿真运行时间,或者实现对该系统的实时求解与控制。并行仿真不管是在专用仿真汁算机或是通用阵列计算机上实施,都需要解决如下一些复杂的问题:

    ① 设计实用可靠的并行仿真算法;

    ② 合理解决计算任务在各台处理机上的分配问题;

    ⑧ 各处理机间的通讯方式;

    ④ 并行仿真算法在并行计算机上的实现问题。

    并行仿真的最大优点,是其具有极高的处理速度,因而可方便地实现特大型复杂系统的实时仿真。并行仿真存在的主要问题是其硬件与软件还难以实现最佳匹配,使得并行计算机的优势难以充分发挥。

    3 计算机仿真方法的一般模式

    尽管计算机仿真方法有四种基本类型,且各类型之间存在着较大差异,但从方法论角度看,这四种不同类型的计算机仿真方法在一般模式上却是相同的,即①针对所要研究的系统的特点,依据有关理论和实验数据,建立起系统模型;②根据所用计算机的类型,设计该系统模型的仿真模型;③根据所研究问题的需要,编制合适的计算机程序;⑧在计算机上运行该程序,进行仿真实验;⑤分析并处理仿真的最终结果,以便对前述相关步骤进行修改、调整或补充。这一模式可用下面的框图表示:

论计算机虚拟现实模拟仿真方法

    对于不同类型的计算机仿真方法,上述各步的具体内容有很大区别,需分别加以讨论。

    (1) 系统模型的建立

    系统模型通常是用形式化语言描述的数学方程或逻辑方程,它反映了实际系统内外诸因素的本质联系。在建立系统模型的过程中,一般都要忽略一些次要因素的影响并舍去某些不可观测的变量,因而系统模型只是实际系统的一个简化模型(一级近似)。

    系统模型的建立除了要遵循通常数学模型建立的基本原则外,还应考虑下面一些特殊要求:

    ① 简明性。一个复杂系统一般由许多子系统构成,因而相应的系统模型也由许多子模型组成。简明性原则要求,各子模型之间的相互耦合要尽可能少,即除了研究所必需的信息联系外,其它一律不予考虑,以使系统结构尽量简明。此原则的目的主要是为了简化系统模型,同时缩短计算机运算时间。

    ② 切题性。切题性原则要求,系统模型应该只包括与研究目的有关的方面,无关方面可不必考虑。由此,在计算机仿真方法中,同一一个实际系统其模型可有多个。研究目的不同,相应的模型也不同。

    ⑧ 集合性。这一原则要求,对一个实际系统的分割应尽量少一些,或日系统的内部要素应尽可能合并为大的实体,即集合性要高。

    (2) 仿真模型的设计

    仿真模型反映的是系统模型和计算机间的相互关系,其核心表现为一种算法。仿真模型的的足使系统模型能被计算机接受并在其上顺利运行。由于算法设计存在着一定误差,因而仿真模型对于实际系统是一个二次简化模型(二级近似)。

    在模拟仿真中,仿真模型由各种线性运算部件(运算放大器、加法器、积分器、系数器等)组成的物理模型构成。这可看作是由运算部件形成的“硬件算法。为了保证模型的运算精度,各部件的误差必须限制在一定的范围内。

    在数字仿真中,仿真模型通常表现为一个近似的数值‘算公式(仿真算法)。对于连续系统,一般用微分方程描述;而对于离散系统,一般用差分方程描述。在连续系统的数字仿真中,仿真算法的选择一般要求有较高的求解精度和求解速度,同时要求能自动启步并采用定步长。常用的仿真算法有欧拉法、四阶龙格一库塔法、屠斯丁法、状态转换法等。

    在混合仿真中,仿真模型也是。混合的,它一般被配置在模拟计算机和数字计算机两个部分,模型中的快速运算任务由模拟计算机承担,而逻辑推导和高精度计算任务则由数字计算机承担。

    在并行仿真中,仿真模型显得较为复杂。因为其算法必须结合计算机硬件和软件的特点才能设计出来。目前的并行算法都是针对SIMD或MIMD系统的,且大多数倾向于前者。针对SIMD的并行算法的依据是,P个多处理机在同一时刻对各自的数据执行同一运行指令;针对MIMD的并行算法的依据则是,P个多处理机在同一时刻对各自的数据执行不同的运算指令。

    (3) 仿真程序的编制

    仿真模型在实际运行之前,必须编制相应的仿真程序,即计算机能够识别并执行的各种指令。仿真程序可利用各种专用或通用仿真语言如CSMP、CSSL、SBASIC、LNCSS、GASPIV、ACSL等进行编制。由于各种语言在性能上存在差异,因而仿真程序(或日程序模型)是实际系统的第三次简化(三级近似)。

    对于模拟仿真,其仿真程序较为特殊,它的编制是指按照运算步骤设计框图,将相应运算部件的输入和输出连接起来这些输入和输出通常都被接到一个统一的排题板上,并依一定规律配置连接孔。

    对于数字仿真,其程序可按照前述各种专用或通用仿真语言进行编制。从功能角度看,仿真程序一般包括五大部分,即准备及输入程序段、运行程序段、运算程序段、存贮程序段、输出程序段在这五部分中.不少程序段是经常重复出现的,如输入、输出和运算程序段等。为方便使用,它们一般被编成通用的子程序模块,可随时调用。对于一些特殊的应用领域,还可建立专门的应用程序包,通过一个主程序模块即可调用各种子程序模块。

    对于混合仿真,其所用的混合软件要比数字仿真复杂得多,它必须考虑以’Fz个因素:①混合软件应使数字计算机具备实时操作的能力,即快速响应和处理外部中断的能力,以确保数字计算机、模拟计算机以及中间接【1这三者在运算过程中的同步。②混合软件应使两种类型计算机的程序设计语言保持一致,同时还应具备人对机器实行干预的功能。⑧混合软件应顾及模拟计算机和中间接口部分的一般操作程序的应用。

    对于并行仿真,其程序必须考虑并行计算机硬件结构的特点,否则机器的效率将:k受影响。有些并行算法也与机器的硬件结构有关.因而一些算法适合在流水线向量机上运行。而另一些算法却只适合在阵列机上运行。这与串行计算机仿真程序设计时不用考虑机器硬件结构迥然有异。

    (4) 仿真实验的实施

    仿真实验就是将仿真程序在计算机上运行。为使“实验顺利进行,还需设计一个方便合理的实验程序。该程序可利用各种通用计算机语言编制。

    从功能角度看,实验程序一般包括六个方面,即运算过程中对设备状态的监视和对程序错误的诊断;运算过程中参数的调整;运算过程中数据的处理与文件的整理;对各种专用子程序包和数据的调集;利用合理方便的计算机语言自动产生和修改部分程序等。

    实验程序对计算机仿真的顺利实施起着相当重要的辅助作用。同时,它的优劣还会直接影响仿真实验的效果。

    (5) 仿真结果的分析

    仿真实验获得的结果应按照研究目的的要求进行分析和评价,以确定是否修改、调整或补充实验过程中的有关步骤。一般来说,结果分析要包括仿真模型应用的分析与评价、仿真算法的应用与评价以及前二者的调整、修改等三个方面。其中第三方面通常可由计算机自动完成。

    在上述系统模型的建立、仿真模型的设计、仿真程序的编制以及仿真实验的实施等过程中,涉及到一系列认识论问题,需加以专门讨论。限于篇幅,作者将另文详述。
   
    4 计算机仿真方法的特点、地位与作用

    (1) 计算机仿真方法的特点

    由前述对计算机仿真方法的有关论述,可以看出它有如下显著的特点:

    ① 模型参数任意调整。模型参数可根据要求通过计算机程序随时进行调整、修改或补充,使人们能掌握各种可能的仿真结果,为进一步完善研究方案提供了极大的方便。这正是计算机仿真被称为“计算机实验”的原因。这种“实验与通常的实物实验比,具有运行费用低、无风险以及方便灵活等优点。

    ② 系统模型快速求解。借助于先进的计算机系统,人们在较短时间内就能知道仿真运算的结果(数据或图象),从而为人类的实践活动提供强有力的指导。这是通常的数学模型方法所无法实现的。

    ③ 运算结果准确可靠。只要系统模型、仿真模型和仿真程序是科学合理的,那么计算机的运算结果一定准确无误(除非机器有故障)。因此,人们可毫无顾虑地应用计算机仿真的结果。

    ④ 实物仿真形象直观。把仿真模型、计算机系统和物理模型及实物联结在一起的实物仿真(有些还同时是实时仿真),形象十分直观,状态也很逼真。因而在一些工程技术领域如宇宙航行、核电站控制等发挥了独特的作用。

    (2) 计算机仿真方法的地位

    从方法论角度看,人类过去所使用的科研方法可分为两大类,一类是实验方法(含观察方法);

    另一类是理论方法(核心是数学与逻辑方法)。近代科学诞生后,四百多年来这两大类方法在科学探索中发挥了重要作用,取得了以麦克斯韦电磁理论和爱因斯坦相对论为代表的一系列辉煌成就,使人类的科学水平大大提高。随着计算机技术的产生和发展,计算机仿真方法也应运而生,它在科学研究和技术开发中的独特作用愈益突显。国外有些学者将其看作介于实验方法和理论方法之间的第三类研究方法,这颇有道理。

    在现行的科学方法论体系中,计算机仿真方法仅在数学模型方法中(称为“数学实验”)被简单提及,且未对其基本类型、一般模式、基本特点及其在科学方法论中的地位与作用问题进行深入分析和研究。这显然没有反映并总结概括出计算机仿真方法已取得的成果。

    我们认为,计算机仿真方法是一种综合了实验方法与理论方法各自的优势,但又具备自己独特之处的全新的研究方法,其在科学方法论体系中应处于独立的地位,不能仅仅归于数学方法中。理由如下:

    在计算机仿真方法中,尽管其系统模型建立的原则与数学方法中数学模型的建立原则基本相同,但由于有计算机的参与,因而随后还须设计仿真模型,编制仿真程序,最后实施仿真实验。由此可见,计算机仿真方法要比单纯的数学方法复杂得多,加上它借助计算机系统去完成高速求解和逻辑判断任务,因而它相对于数学方法是一次重大的飞跃,可以说是方法论意义上的一次质变。

    从实践角度看,不少学科领域的科学家利用计算机仿真方法进行了全新的理论探索和应用研究,取得了许多用其它方法无法得到的重大成果。从方法论角度上说,任何一个学科只要理论上较完备,就可借助计算机仿真方法进行开拓性的研究。正因此,在1995年的香山科学讨论会上,与会学者特别强调应加强对计算机仿真的理论与应用研究。

    (3) 计算机仿真方法的作用

    计算机仿真方法的独特作用主要表现为以下四个方面:

    ①优化系统设计。对于复杂系统的研究,一般要求达到最优化,为此必须对系统的结构和参数反复进行修改和调整。这只有借助计算机仿真方法才能方便、快捷地实现。

    ②降低实验成本。对于复杂的工程系统,如果直接进行实物实验,则费用会很高。而用计算机仿真手段就可大大降低相关费用。以航空工业为例,一般单次实飞的成本为l万至l亿美元(依不同机型而定)。若用仿真手段,费用仅为上述成本的1/lO~l/5,且设备可重复使用。

    ③减少失败风险。对于一些难度高、危险大的复杂工程系统,如载人宇宙飞行,若直接实验,一旦失败则无论在经济上还是政治上都是难以承受的。为了减少风险,必须先进行计算机仿真实验,以提高成功率。

    ④提高预测能力。对于各种非工程复杂系统,如经济、军事、社会等系统,几乎不可能进行直接实验研究,因而也很难准确预测其发展趋势。但计算机仿真实验却可以在给定的边界条件下,推演出此类系统的变化趋势,从而为人们制定对策提供可靠的依据。

    可以预计,计算机仿真方法将在未来的科学研究和技术开发中发挥越来越在的作用。

    注释及参考文献

    (1) 王正中:《系统仿真技术》,年,第l8页。科学出版社1986

    (2) 王正中:《系统仿真技术》,年,第200页。科学出版社1986

    (3) 郭云芳等:《计算机仿真技术》,北京航空航天大学出版社l991年,第309页。
   
    (4) M.MichellWaldrop:((Complexity——TheEmermngScienceoftheEdgeofOrderandCha·os》转引自《复杂科学与模拟真实》(齐若兰译)《中外科技政策与管理》1995年9期第ll0页。

    (5) 王正中:《系统仿真技术》,科学出版社1986年,第6页。

    (6) 关士续等:《自然辩证法概论》,高等教育出版社1989年,第六章第四节“数学方法。

    (7) 郑积源:《科学技术简史》,上海人民出版社1985年,第十章第四节计算机革命。

    【作者简介】

    曹伟,1963年生,科学技术哲学硕士,现为天津大学人文系科技管理研究所讲师。

    张忠利,1966年生,哲学硕士,现为天津大学人文系哲学室讲师。

    姜斌,1966年生,工学博士,现为天津大学电子学院讲师。

    李醒飞,1966年生,工学博士,现为天津大学精仪学院博士后。

  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料