当前位置:首页 >> 机械/仪表 >>

基于虚拟现实技术的机构运动参数PC测监控系统研究


分类号:tHl2
10710—20060222

疑步太津
硕士学位论文
基于虚拟现实技术的机构运动参数Pc 测监控系统研究

牛路明

导师姓名职称 申请学位级别 论文提交日期 学位授予单位

张伟社教授

答辩委员会主席

张晓钟教授 张晓钟教授惠记庄教授

学位论文评阅人





基于虚拟现实技术(VirtuaI ReaIity)的虚拟试验技术(VirtuaI E×periment)

是一种先进的计算机仿真技术,它在“体验"试验过程,分析、理解仿真的结果,+减少 试验费用,缩短研究开发时间等方面具有独特的优势,是科学界和工程界所关注的技术 之一。论文对基于VR的机构运动参数虚拟测试系统进行了研究,提出了基于VR的虚 拟测试系统的设计模式,研究了基于VR的四杆机构运动参数虚拟测试系统的实现。主
要内容如下:

(1)对计算机仿真技术的应用研究现状和发展趋势进行调研与分析,探索了基于
COM技术的DirectX应用开发四杆机构运动仿真设计模式。

(2)依据PCL.818HG数据采集卡的规格特性,应用VC++6.0开发了四杆机构运动 参数测试软件,在JCP一5型机构运动实验台的基础上构建了曲柄摇杆机构运动参数测试
实验台。

(3)分析了Direct3D程序框架特点,提出了其结合3ds MaX进行四杆机构运动仿 真的实现模式。并探索了3ds MaX模型数据导入Direct3D环境时,数据优化传递方法。 (4)对曲柄摇杆机构运动状态进行了实验测试。测量摇杆实际角速度变化情况, 并绘制成角速度变化曲线,同时观察测试界面上曲柄摇杆机构摇杆的摆动情况是否与实 际摇杆机构基本一致。 本文的连杆机构仿真软件的设计既利用了专业三维建模软件3ds Max7.0在建立模 型方便精确的特点,又利用了DirectX的实现交互性特点,避免了各自的缺陷,并在 VC++6.0的开发环境中使两者高效的结合起来,实现连杆机构运动仿真显示与参数的仿
真测试等。

关键词:VC++6.0;四杆机构;虚拟现实技术;虚拟测试系统

Abstract

Virrtual is
a11

Reality.based(virtual Reality)of the

virtual test


technology(Virtual Experiment)

advanced computer simulation technology,it has

unique adVantage in experience test,

aIlalysis,

aIld understanding of simulation aJld reducing test cost and shortening the research

development

time.Which

have received tremendous attention from academia and industry.

The Paper mentions the VR-based vinual test system design model and achieVes the virtualtest system,VR-based vinual body motion
as

p删eters.The
computer

chiefs contents

are

showed

f0110ws:

(1)

With

analysis

of

me

application

of

simulation

technology

and

moVement development trends,the paper explores the design pattems of DirectX 4-linkage
virtualtest.based
on

COM the realization of motion simulation model.
PCL.8 1 8HG data acquisition card specification f.eatures,the system

(2)Based

on

and build the develops the test soRware of 4一liI墩age movement parameters wim VC++6.0 test-bed of the craJ出-rocker mechanism parameters,in the JCP一5.

(3)ARer

Analysis of me Direct3D

Fr锄e、vork

f.eatures,me paper comes up with me

realization of 4一linkage motion simulation model wim the 3ds Max.It also explores the method of optimization when 3ds max data is transferred to Direct3d enViroIlment.

(4)Completing experiment

of crank—rocker mechanism,the soRware measures angular

velocity and draws the angular velocity cuⅣe,、Ⅳhile observing the swing of rocker
crank.rocker mechanism in the test interfIace.From this,we the r-0cker in the actual sitIlation. In the paper,he design of simulation soRware makes precision of the
use can see

whether it is

s锄e

wim

of the characteristics of

Max7.0 model to professional tllree。dimensional modeling soRware 3ds

facilitate the establishrnent oC but also me realization interactive f.eatures of the DirectX aIld avoids their shortcomings.In VC++6.O development environment,efjEicient combining me two to ac|lieve 1inkage the simulation test and the

par锄eters

of motion simulation shows.

Keywords:VC++6.O;four institutions;virtual realit),;Virtual test system



论文独创性声明
本人声明:本人所呈交的学位论文是在导师的指导下,独立进行研究工 作所取得的成果。除论文中已经注明引用的内容外,对论文的研究做出重 要贡献的个人和集体,均已在文中以明确方式标明。本论文中不包含任何 未加明确注明的其他个人或集体已经公开发表的成果。 本声明的法律责任由本人承担。

论文作者签名:

。a|年6月1日

论文知识产权权属声明
本人在导师指导下所完成的论文及相关的职务作品,知识产权归属学 校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权 利。本人离校后发表或使用学位论文或与该论文直接相关的学术论文或成 果时,署名单位仍然为长安大学。 (保密的论文在解密后应遵守此规定)

论文储签名:牛。嘲
导师签名:彩佛缸

。c7年b月}日

嵋年6月/日

长安大学硕:t:学位论文

第一章 弟一早
1.1课题研究背景和发展趋势

珀 绪



下匕

本文是在JCP一5型机构运动实验台的基础上搭建四杆机构测试实体,PCL.818HG数 据采集卡作为数据传输桥梁,计算机为界面管理,控制和数据处理终端。主要研究设计 的是以计算机和其它辅助硬件所组成的测控系统,整个测控系统与传统的测控方式不同 在于,传统的测控系统几乎都是有硬件电路设备所组成,而本文所要完成的是由软件来 替代一部分硬件。并且整个测控系统的核心使软件。应用程序软件是为了实现某种测控 功能所专门编写的测控软件,例如数据采集程序、输入和输出管理程序、测控算法程序 和报警处理程序等【l】。为了实现某种特定的测控功能在编写测控软件时,必须考虑到测 控对象的参数特点和所需完成的测控功能。 近年来由于计算机技术的不断发展和普及,以及现代化生产等方面的需要,由计算 机测试和控制来完成的项目越来越多,测控的种类,范围日渐扩大。测控所达到的性能 指标要求也越来越高,并且对测控设备的成本有了更高层次的要求,这就需要我们对已 有的测控设备和测控手段进行不断的改进和完善。组建自动化的测控系统,使测控系统 逐步向智能化、自动化和虚拟化发展演变。 近年来伴随着计算机技术及其它硬件、软件设备的不断进步和发展,使得测控仪器
的软件化,虚拟化成为了可能。将传统测控仪器的数据处理、数据分析、处理结果显示

及控制决策等部分,使用软件来替代己上部分这样就形成了现实意义上的虚拟仪器【2I
(VinuM Instrument,VI)。

而真正高性能的VI系统必须有高性能的软件系统作为支撑。在VI系统中,硬件系统 只是完成辅助工作的例如完成信号的传递,而软件系统才是整个VI系统的核心所在【3J。 把原先需要硬件测控系统或部分硬件设备才能完成的测控任务,通过软件来完成这些测 控项目,实现用软件来替代硬件,而且尽可能多的用软件来替代硬件,也就是“软件就 是仪器”【4】。虚拟仪器技术的应用大大的减低了在探索,研究中不必要的浪费,对测控系 统的进一步研究和完善提供了有力的实践手段,并成为了现代计算机测控技术的发展方 向【51。 VI的目的在于为了实现不同的测控任务功能,无需重新组建不同的硬件系统,在一 套硬件系统的基础上通过对软件系统的修改,调整,以实现不同的测控目的。这样就可 以大大的减少不必要的资源浪费,同时也提高了整个测控系统的开发效率。

第一章绪论

常用的计算机总线结构分为PCI(Peripheral
Standard

Component

Interconnect)和ISA(Industrial

Architecture)两种,就是为了完成某种测控任务在计算机的数据总线上扩展添加

相应的测控元件,并且有效使用计算机已有的数据总线,与计算机组成一测控仪器。由 于PCI这种总线结构在价格、性能等面优于ISA的总线结构形式【61,因此目前所使用的
数据总线结构大都选用PCI的总线结构形式。

在开发本文的四杆机构仿真测控系统,当然使用LabVIEW、Lab.windows/CVI等这 些专业VI开发软件可以做到方便,快捷。但是使用这类专业大型的开发软件在本系统 中来看,所需的费用显然是过高,不能被接受的。而本文的所使用的硬件设备是由试验 台、计算机、数据采集卡等组成的一软硬件测控系统。并且硬件核心是研华公司生产的 PCL.818HG数据采集卡,厂家为了方便用户的使用同时提供链接该数据采集卡所使用 的相应开发VC、VB函数库。为了节约整个测控系统的开发成本,在本文中所使用的开 发方式就是采用VC++6.0软件开发测控界面,配合使用研华数据采集卡所提供的相应的 开发函数库,完成整个测控系统的开发。 近年来,由于计算机网络技术的不断进步和发展,为虚拟仪器测控技术的发展提供 了进一步发展的条件,将虚拟仪器测控技术与计算机网络技术这两种技术结合使用,则 产生了“网络化虚拟仪器”。网络化虚拟仪器可以利用不同地域不同环境的软硬件测控 设备,实现资源的最优化配置,更有效,更方便的使用设备资源,来完成不同的测控任 务17】。网络化虚拟仪器必然成为今后的研究、应用的又一个研究重点。

1.2课题研究目的和意义
本文研究的目的是通过计算机完成对执行机构运动速度的控制,绘制出执行机构的 特性曲线,测量出执行机构的相关各项参数等。本文以四杆机构为例,用编写的测控软 件,通过按键的形式可完成四杆机构的转速控制,绘制出从动杆的角速度变化规律曲线 图,测量出该机构的各项参数。计算机与执行机构之间的控制信息数据以及测量数据的 传输是通过PCL.8 1 8HG数据采集卡完成的。 在对四杆机构的转动速度控制的同时,通过PCL一818HG数据采集卡,将转动机构转 速信息传入PC机,利用相应程序对信息进行识别和转换,最后传送至仿真程序,以实 现连杆机构的适时动画仿真显示和交互式控制,完成连杆机构的远程监控等。 该实验台的软硬件系统均采用开放模式,使用者可以通过增减硬件设备来修改或完 善该实验台的操作功能。同时编写相应的测控程序,在该实验台上进行调试和验证。



长安人学硕士学位论文

1.3论文主要内容
论文研究的主要内容如下: (1)对计算机仿真技术的应用研究现状和发展趋势进行调研与分析,探索了基于
COM技术的DirectX应用丌发四杆机构运动仿真设计模式。

(2)依据PCL.818HG数据采集卡的规格特性,应用VC++6.0开发了四杆机构运动 参数测试软件,在JCP一5型机构运动实验台的基础上构建了曲柄摇杆机构运动参数测试
实验台。 (3)分析了Direct3D程序框架特点,提出了其结合3ds Max进行四杆机构运动仿

真的实现模式。并探索了3ds Max模型数据导入Direct3D环境时数据优化传递方法。 (4)对曲柄摇杆机构运动状态进行了实验测试。测量摇杆实际角速度变化情况, 并绘制成角速度变化曲线,同时观察测试界面上曲柄摇杆机构摇杆的摆动情况是否与实 际摇杆机构基本一致。



第二章计算机仿真及实现方法

第二章计算机仿真及实现方法
2.1

计算机仿真技术

2.1.1计算机仿真技术的发展 由于计算机仿真技术所带来的巨大的社会经济效益,以及它在高技术科技产品的方

案设计、加工生产、结果评估等各个研发生产阶段中的实用价值,计算机仿真技术越来
越受到它的使用者的关注。同时计算机仿真技术的应用理论以及其相关的技术手段的发

展和进步,使得计算机仿真技术得到更进一步的发展和应用。在研究解决复杂的系统时 应用计算机仿真技术,可以有效的降低整个系统的创建成本,计算机仿真技术是在整个 实体模型系统创建之前,可对系统进行反复、多次、充分的研究和实验【8】,起到对真实 系统模型的内在关系等各方面信息的充分理解,从而在真实的系统建立之前完成对该系 统的修改和完善,起到更加有效的对系统的资源进行管理和应用的作用,这样一来可以 大大的降低在系统研究、设计、创建等过程中不必要的资源浪费。计算机仿真技术的应 用为复杂系统的研究提供了有效的研究手段和途径。
2.1.2计算机可视化仿真

计算机可视化仿真技术的应用为我们的社会生活和生产带来了巨大的经济效益,有 效的控制了设计、实验等一系列的研究成本,虽然计算机仿真技术作为一种新兴起的技 术学科,但是它在人们的生产和生活中存在巨大的实用价值,因此计算机可以化仿真计 算机得到了广泛的认可和快速的发展【8】。计算机可视化仿真技术,是由多种学科相结合 而成的一种新型学科,它所涉及的方面非常的广泛,包括有计算机技术、网络技术、计 算机图形图像处理等多个技术领域。目前由于计算机技术的不断发展和进步,计算机软 件和硬件产品的价格更能为人们所接受,计算机仿真技术在逐步大量的应用于科学生产 的各个领域,并且计算机仿真技术不断向计算机可视化这一方向发展,计算机可视化仿
真。

作为一种新型仿真技术,可视化仿真结合了系统建模技术和计算机可视化技术。它
的目的就是用图形或图像的方式把系统表现出来,跟踪、驾驭仿真计算过程和处理后期 结果,对仿真软件开发界面的可视化实现也是一个方面。可视化仿真的建模过程的特点 主要有直观、迅速、形象等。使用可视化仿真技术建立系统,能够用形象、直观的图形 把所设计的各个模块表示出来。同时运用输入设备对系统控制和修正。来实现仿真的目


长安人学硕士学位论文

的。三维图形技术很大程度上发展了可视化仿真技术,使得普通用户能够改变以前的习
惯,从二维世界进入三维世界。综合运用三维图像技术,不仅能够使做出得物体与模型

具有立体感和真实感,同时更重要的是能够模拟仿真现实世界。

2.2三维可视化仿真的实现方法
实现三维可视化的模拟仿真软件和函数库很多,我们经常用到的三维动画,建模软
件有MAYA、SoRimage、Rhino、3ds Ma)(、Solidworks、Pro/E、UG等,三维图形函数

库主要有OpenGL、DirectX等。这些软件都各具特点适用于不同的应用领域,比如说,
MAYA、Sommage、3ds

Max像这类三维造型软件,它们属于无量化的三维造型软件,

不需要有精确的尺寸要求,但是这类软件在创建三维造型时候具有快速、便捷的优点, 多用于三维动画和广告设计等领域。而Solid、vorks、Pro/E、UG等这类软件通常应用于 机械加工生产等方面,它在创建模型的过程中需要精确建模,可以直接用建好的模型编
程完成产品的加工设计等。

2.2.1面向对象的三维可视化仿真开发平台
程序设计史上的一个具有里程碑意义的进步就是程序的设计开发从面向过程转到 了面向对象p,10,11】。所谓面向对象的程序设计是指在编程中,不限制使用编程语言的种

类,只要能实现结果即可。 所谓面向对象的程序设计方法就是把用类将消息以及处理这些消息的响应函数封 装到一起。对象就是类对应的变量。通过属性定义对象的状态特性,通过方法定义对象 的行为特性。这种程序设计方法流畅易通,可读性强,开发维护方便,类的使用又提高 了程序的重用性,从而可以大大提高程序开发效率,降低开发的难度【101。 针对面向对象的设计方法开发了面向对象程序语言。源于C语言的C++语言就是 适用于面向对象程序开发方法的编程语言。当前比较流行的C++语言开发平台有两个,
分别是Borlalld C++和Visual C++,而由微软公司开发的Visual C++6.O就是优秀的C++ 语言可视化编程平台,它主要面向Windows编程。编程人员可以用它来便捷的构建专 业的Windows应用程序。 在众多的类中,MFC(MicrosoR
Fundamental

Class)类是C++的应用程序接口VC++

6.0是强大的编程工具,有内置的图形库,和其它的编程语言如VB、VF等相比,在图

形程序的开发极具优势,极大的提高了在Windows基础上的程序开发效率。

第二章计算机仿真及实现方法

2.2.2计算机三维图形渲染库的选用 实现图形图像的三维显示,作为三维图形的渲染开发库的API(Application

Progr锄ming Interface)有许多种。目前,有以下两种程序接口API逐渐成为了图形图
像系统开发领域的主流API【12】:它们是:Microsof提供的DirectX 3D和SGI公司的
OpenGL。 l、openGL

OpenGL作为三维图形图像的渲染库API已广为人知,它在2000年以前由世界上 多家著名的计算机公司SGI、MicrosoR、IBM和Intel等的联合推动下形成了最早的3D
API标准。制定了一基于GL标准的通用开放型的二维图形图像渲染函数库。OpenGL 与DirectX 3D一样它们的一个显著的特点就是,图形图像渲染库的运行,调用不受硬件

系统条件的限制,渲染库API的使用可以运行在不同的硬件系统和软件操作系统中,也
就是说硬件系统的无关性。这就大大的发挥出了作为底层渲染函数库的开发优势。但是 OpenGL与DirectX 3D一样也存在图形建模时由于没有高级图形建模命令所带来的不

便,并且OpenGL这种图形渲染函数库,多用于商业性应用的开发,所以使用该图形刀= 发库,必然导致软件开发成本的提高,因此在本课题的虚拟连杆机构运动仿真测控系统 的开发中没有使用OpenGL作为底层的图形渲染函数库。
2、DirectX

微软公司所丌发Windows操作系统为PC电脑的软件开发提供了很好的支持,无疑

是最为优秀的开发平台之一。在Windows操作系统的基础上开发应用软件,不受某种开 发语言或某种开发平台的限制,开发人员可以根据个人的条件选用不同的丌发平台,并 且软件所最终实现的细节也无需开发人员来管理,windows系统会通过理想代码的转
译,帮助开发者完成细节部分的显示。然而,为了开发画面更为精细,流畅的三维图形

图像,Windows图形设备接口GDI所达到的效果不尽人意,所以为了弥补Windows

GDI

在三维图形图像处理时所表现出的不足,以及争夺在三维图形图像处理领域的市场,微 软开发了更为高性能的三维图形图像处理、开发的程序接口DirectX【131。 微软所开发的DirectX三维图形图像丌发平台,从1995年问世的DirectXl.O到如今 的DirectX9.O,在整个发展过程中在DirectX7.O推出以前来看,DirectX与OpenGL的竞
争总是处于弱势,然而到了2000年微软推出的DirectX8.O,其取消了硬件的转译和光照

也是就取消了(Trallsfoming

and“ght

T&L)的概念,而提供更高性能的顶点着色引

擎和象素着色引擎,使得DirectX8.0在三维图形图像处理和渲染取得了更加优异的性能,


长安大学硕十学位论文

再加上DirectX8.0在三维视频和音频等方面作了大量重要的完善使得DirectX8.O的综合 性能大大超越了OpenGL,并且微软对DirectX开发平台的更新以免费的形式提供给程 序开发人员使用,综合以上原因本文采用Directx9.Oc作为虚拟仿真四杆机构测控系统
的三维仿真显示图形渲染库接口。
2.3 Di


rectX禾口COM技术

本文中的连杆机构的虚拟运动场景采用了微软公司开发的Directx 9.0c作为底层三

维图形开发函数库。DirectX9.O是为了在Windows系统的基础上实现三维图形交互式动 画的一组API程序接口函数。在Windows桌面系统开发应用程序调用API函数最终完 成整个软件系统的建立完成交互式控制。 而通常情况下,实现创建模型的三维运动场景所调用的DirectX
3D

API程序接口函

数,都是在位于操作系统内核与硬件电路之间的接口层,即硬件抽象层(Hardware
Abstraction

Layer,HAL)上完成的【乃】,硬件抽象层的目的在于将硬件抽象化,硬件

抽象层这一技术的应用,充分的利用到硬件为系统带来的加速功能,隐藏了不同 的平台间进行操作带来的硬件接口的繁琐设置,可在不同软件操作系统上进行移 植,不受硬件设备的限制,即使得系统具有硬件无关性。 Win32应用程序、Direct3D API、Windows图形设备接口GDI、硬件抽象层HAL和 设备驱动程序接口DDI之间的关系如图2.1所示【14】。可见Direct3D API由硬件抽象层 HAL和Windows图形设备接口GDI一样都可以通过图形设备驱动程序接口DDI来对图
形硬件进行控制,但Direct3D API更优于windows图形设备接口GDI的是,它是由硬

件抽象层HAL来控制图形硬件系统,以做到更有效、更充分的使用图形硬件设备,充 分发挥硬件对三维图形图像显示的加速性能。



wn32戍用程序


GDI

图2.1 Win32应用程序、Direct3D API、GDI、HAL和驱动程序接口DDI的关系图


第二章计算机仿真及实现方法

2.4基于COM技术的D i rectX应用开发
2.4.1

COM使用基础

COM对象在被应用程序调用时,通常是一个黑匣子。它通常是作为一个DLL动态 库被调用。像普通的DLL动态库一样,COM对象提供多种方法供应用程序调用来完成 所有它所支持的任务。应用程序和COM对象相互作用的方法与它和C++对象之间的相 似,但它也有一些不同。 COM对象进行了更加严格的封装。不仪能创建它并能调用所有的公有方法。一个 COM对象的公有方法被集成到一个或多个接口。为了使用某个方法,必须创建这个对 象并从它这里得到恰当的接口。一个接口一般包括一组相关的方法,由它们提供对该对 象特定属性的访问。比如,接口IDirect3DCubeTexture9提供的方法使用户能操作立方体 纹理资源。任何非接口提供的方法都不能使用。 COM对象具有如下特点【141: (1)COM对象的创建方法与C++对象不完全相同。有几个不同的方法可以创建 CoM对象,但它们都包括具体的COM技术。MicrosoR
数用于简化DirectX对象的创建。 (2)必须使用具体的COM技术来控制对象的生命期。
DirectX

API提供了很多帮助函

(3)COM对象无需明确加载。COM对象通常位于一个DLL动态库中,但无需明 确加载该动态库或连接到静态库来使用COM对象。每个COM对象都有一个唯一的注 册标识符用来创建对象。COM会自动加载正确的DLL动态库。 (4)COM是个二进制文件。许多语言都可以使用COM对象,无需知道该对象的 源代码。例如:MicrosoR
2.4.2 D i Visual

Basic应用程序可以使用C++写成的COM对象。

rectX浏览器

该工具用来加载并渲染效果文件(.仅文件)或网格模型文件(.X文件),浏览查
看效果或网格模型。同时,它还可以用来对效果文件或网格模型文件进行一定的修改, 并查看修改后的效果或网格模型是否满足需要。

如果当前的效果文件或网格模型文件被DirectX Viewer加载之后,又进行了一番修 改,那么DirectXviewer将自动重新加载该文件。



长安人学Ⅻ士学位沦立

l、【0pen】按钮

从【升始】菜单中按F列步骤即可以打丌Di眦tX vie眦r,(程序,MicrosoR Directx

sDK,Direct)(uti矾e仰jrectxvjewer)泼工具界面如图2 2所示:

图2.2

Djrectx

vie-er编译界面

对于加载好的对琢,叮以用鼠标控制其观察方向和角度,左键拖拽控制该对琢的旋 转,右键拖拽控制观察摄影机的旋转,中键滚轮控制摄影机的前后移动,甜观察界面进 行放大缩小。用鼠标拖拽界面旋转效果如图2.3所示:

隰燕燕焉。’——————]


囤2
3 Directx

vi删旋转结果

2、【vi洲】按钮 单击【vicw】按钮将打丌查看对话框,可以通过该对话框改变对当前几何体的观察 方式,用以查看当前几何体,如图2.4所示。

第=章计算机仿真&实现方&

图2



Dlrectx

v㈣r编译器view对话框

该对话框巾各个选项的含义如表2.1所示。
表2一l
Directx

vi钾er编译器vi押对话框参数设置含义

从一副dds纹理巾加载环境映射 改变填充模式(自动、线或面模式) S眦jmics

显示显卡、刷新率、显示格式及其他信息 当单击了【Ren璐h】按钮后,刷新该浏览器

A由acency

Bi㈣“
Bounds

用紫色线条绘制连接信息

用绿色线条绘制bjnom“s信息 州白色线条绘制该对象所在&方体的边界 用橙红色线条绘制折缝(cmas韩)

Edg%

用紫色线条绘制该对象中所有三角形的边 州红色线条绘制该对象中所有顶点的法向量
用黄色的小正方形示意该对象中的所有顶点

N岍腿ls
Poims

T抽gcms
Clnse

用蓝色线条绘制该对象中所有顶点的切线向量 关闭当前对话框

3、【Effect 0ption】按钮

单击【E舵ct Option】按钮将弹出效果按钮对话框,用以对效果参数进行测试,如
图2.5所示。

K蜜^学顷七学值论文

图2



Direc戗vlewer编译器Effect optlon对话框

改对话框中各个选项的含义如表2-2所示。
表2—2
Directx

vie艴r编译器Effect option对话框参数含义

Tcchniaue

选择一项渲染技术

P器sType
lknne8

i羞墓i!:;碧盏i乒染所有通道?渲染指定通道’渲染指
效聚通道索引号 为效果指定绑定的数据 当编译渲染器时指定头文件的路径 强制ⅢcPu调试象索渲染器,井显吓调试信息

P*slnd“
II”ludes

DebugP㈨ShadeB
Dcbug vencx ShadeB

强制川cPu调试顶点渲染器,井显示凋试信息 为渲染器的编译嚣启Hj或禁JH优化操作
启J{J或禁用HLsL渲染器 府坩或禁JI】预演染器

oDtimi趾s Shaders
validak S}mders A】】owPreshade# AlIow Pa州al P"cjsiOn

Pm&rDv…ic FJow,
Avoid Dvnamic FIow

肩Ⅲ或禁埘部分精确(panial
启川或禁Hj动态流控制

prec;sion)

2 4 3 Di

rectx组成部分

Direct)(主要由以下几个部分组成,它们包括㈦‘4’:Direct)(Graphics、DirecⅡ“put、

第二章计算机仿真及实现方法

DirectPlay、DirectSound、DirectMusic、DirectSetup、DirectShow。其中DirectX 是由Direct3D和DirectDraw所组成。

Graphics

应用程序、DirectX、GDI和硬件设备之间的关系构成【15】,如图2.6所示。

图2.6 DirectX组件构成及其与Win32的关系

2.5常用的三维仿真软件及其区别介绍
目前用于三维动画仿真建模的软件很多,比如说,Rhino(犀牛)、3ds Max、Maya、
SoRImage、Solidworks,Pro/E,UG等,这些造型软件各有特点并且适用于不同的领域。 通常认为Maya,soRimage,rhino(犀牛)3dsmax等属于一类,这些软件的应用特点是

无量化的概念建模,不需要很精确。但是很方便快捷。并且该类软件侧重于影视,动画, 广告制作等行业。Solidworks,Pro/E,UG等CAD(计算机辅助设计)软件,为一类,该 类三维设计软件的特点是精确产品建模,可以直接对做好的模型进行编程,完成模具等工 业产品的加工生产,该类以机械设计为主。 当然,三维设计软件也没有明确的划分,完成某个产品的三维造型设计通常需要结 合使用多个软件,扬长避短。以本人参与的一个具体三维造型制作为例,就是在制作一
个大的三维实体罩的,小的部件用Pro/E,UG等精确工具建模,再导入3ds MaX软件中 完成整个模型的拼接,渲染及后期制作。 1、Maya Maya是由美国著名的Autodesk公司推出的强大的三维动画制作软件【161,主要应用 在影视广告,角色动画,电影特技等领域。Maya功能强大,灵活易用,制作效率高,

12

长安人学硕上学位论文

渲染真实感强,是很高端的三维制作软件。电影一样的真实效果让其身价高昂,声名显

赫。她不仅包括常用的三维和视觉效果制作的功能,还集成了Alias/WaVe舶nt最先进
数字效果技术,从而使其建模、数字化布料模拟、毛发渲染、运动等技术更加逼真强大。
2、SoRImage

SOFTIMAGE公司是加拿大Avid公司推出的专业动画设计师设计软件。高端三维 制作软件SoRImage 3D的运行平台是SGI工作站和Windows NT平台,被动画师成功运

用在电影、电视和交互制作的领域中。像《失落的世界》、《金刚》、《第五元素》等 电影中的很多数字虚拟镜头都是通过SOFTIMAGES 3D制作完成的,创造了超凡的视觉
效果【17】。它的工作界界面方便高效、动画制作快速高质量,使制作者有非常自由的想象

空间来创造出完美逼真的艺术作品,目前己被AutoDesk公司收购。
3、3ds Max 3D Studio

Ma)【,简称3ds Max,是Autodesk公司开发的基于PC操作系统的三维动

画制作软件。它的低门槛使它广泛应用于广告、影视、多媒体制作、工业设计、建筑设 计、游戏、辅助教学以及工程可视化等领域。3DS MAX强大的角色动画功能使它被广 泛地应用于电视及娱乐业中,如视频游戏的制作和片头动画等。而在国内发展的相对比 较成熟的建筑设计领域中,3DS MAX的使用率也是十分高的‘1 81。
由So衔mage和Maya的介绍可知,这两钟三维建模软件具有很强的建模能力,属

于顶级的三维动画软件,并且都达到电影级别高端三维建模软件,它经常被应用于电影、 电视等三维交互式场景的建立。而本文所要实现的三维造型比较简单以及3ds MaX软件 拥有大量的学习、实验资源。因此,课题选用3ds Max7.0作为连杆机构的建模软件。

2.6四杆机构的基本概念
2.6.1连杆机构的基本型式 如图2.7所示的平面连杆机构【191。其中,AoBo为机架,AoA和BoB为连架杆,AB 为连杆,主动杆AoA可绕其轴心Ao作圆周运动称之为曲柄。从动杆BoB可绕其轴心 Bo做一定幅度的往返摇摆称之为摇杆。主动杆AoA与从动杆BoB由A B杆相连,称A B 为连杆。图2.7所示的连杆机构为曲柄连杆机构中最为基本也是最为重要的一种形式, 其它的连杆模型可看做是由该基本四杆机构模型变形而来。

第二章计算机仿真及实现方法



图2.7平面四杆机构

2.6.2曲柄摇杆机构辅助计算方法 通常情况下对曲柄摇杆的计算存在两种方法,一种是几何法,另一种是代数法。几 何法方便,直观但是相对不够精确。而代数法属于精确计算,以往由于计算上的障碍多 数采用几何法。但近年来,随着计算机技术的发展和应用,使用代数法来计算曲柄摇杆 的相应参数成为一种有效的手段。而在曲柄摇杆的运动机构分析中最为基本的是对其进 行位移的分析,通过对位移进行分析才能进一步分析速度、加速度等一系列运动参数【20】。 采用代数法进行分析曲柄摇杆机构,最重要的是建立正确的数学模型,在该数学模型的 基础上建立反映该运动系统的方程。 2.6.3曲柄摇杆机构运动分析 下面使用代数法对最为基础的平面曲柄摇杆机构的位移量进行分析讨论,如图2.8 所示的曲柄摇杆机构模型,假设我们已经确定了该机构中四杆的长度为Ll、L2,L3、L4 以及曲柄的角速度为∞l,初始转角为(pl使用代数法来计算由于曲柄转动速度的变化, 导致从动件连杆和摇杆相应的一系列的参数变化情况【2¨。 l、四杆机构位移量计算 如图2.8所示我们把这一曲柄摇杆机构模型ABCD,认为它的四个杆件构成一个封 闭的矢量四边形,用‘,乞,厶,‘来分别代表组成这一矢量四边形的各个杆件的矢量,则 该矢量四边形所构成的矢量方程是:‘+乞2厶+‘

14

K安大学硕十学位论文

图2.8曲柄摇杆机构

将矢量方程表示成复数:

‘P‘仇+乞P坤2=么+乞g‘鸭
设定角Q以逆时针方向旋转为正方向。 将(2.1)式以欧拉定理展开得:

(2.1)

‘(cos仍+fsin仍)+乞(cos眈+fsin仍)=‘+乞(cos%+fsin仍)
令展开式的实部和虚部分别相等,得到:

‘cos妒l+乞cos%=‘+厶cos仍

厶sin缈l+乞sin缈2=乞sin%
将方程组中Q2消去得到:

(2.2)

彳cos吼+Bsin93+C=O
系数为:

(2.3)

彳=么一‘c。s%;曰=一‘sin缈,;c=二£二掣
cos铑=鬻筹
15

解得:

sin%=等器
位移量(p3为:

将其带入(2.2)式消元,可以得到留(纯/2)的一元二次方程,可以得到,摇杆的角

第一二章计算机仿真及实现方法

%2

2口,c留——百i一
,、

。B±√彳2+B2一c2

‘2-4)

本文中的从动件3的初始位置为图中ABCD位置装配,所以构件3的角位移(p3为:

鸭砌吆型铲
(2.1)式对时间求导得到:

从而可以得到构件2的角位移(p2为:

眈钏阳留石意
B+厶sin够, 2、曲柄摇杆速度计算



@-5)

‘∞l彪7竹+乞∞2据‘妒2=乞∞3把‘仍
给(2.6)式两边分别乘上2叫P2得到:

(2—6)

厶qf∥‘仇一忱’+乞哆彪必经一仍’=乞皑彪7‘伤一娩’
以欧拉定理展开上式实部:

皑:q掣型础


(2-7)

1乞sin(仍一仍)

…。

给(2.7)式两边分别乘以g一‘伤得:

‘∞lfg‘‘锻一伤’+乞哆,eK仍一伤’=乞皑f

。、一。、‘sin(缈l一仍) ∞,=一∞,—L————二-L—二=一


(2.8)

‘Z2sln(缈2一仡)

3、曲柄摇杆加速度计算
(2—7)式对时间求导得:

-厶∞12P‘竹+乞a2把。吼一如∞22P7仍=厶a3据。伤一厶∞32e‘吼
I I













.,一j

(2.9)

给上式两边分别乘以P叫讫得:

一‘∞12PK竹一吼’+乞a2f一乞哆2=乞倪3彪K仍一仍’一乞鸭28文仍一吼’
取宴部得:
16

长安人学硕士学位论文

a3



,2%2+,lq2cos(仍一仍)一厶鸭2cos(%一92) 乞sin(铑一仍)

(2.10)

给(2.9)式两边分别乘以P叫仍,得:

.‘∞12P文砚一亿’+乞a2zP戎讫一仍’一乞哆2P文讫一仍’=乞a3f一乞q2
取实部得:

a2=垫兰盆竺誓?止姿竺型
Z2sln

(2Ⅲ)

L仍一仍)

2.6.4平面四杆机构的急回特性 曲柄摇杆机构急回特性在曲柄摇杆机构如图2.9所示【221,AB为曲柄是原动件等角 速度转动,BC为连杆,CD为摇杆,当CD杆处于ClD位置为初始位置,C2D终止位 置,摇杆在两极限位置之问所夹角度称为摇杆的摆角,用m表示。当摇杆CD由ClD
摆动到c2D位置时,所需时间为tl,平均速度为v12 q岛止?曲柄AB以等角速度顺时 针从ABl

转到AB2,转过角度为:巾l=180。+o,当摇杆CD由C2D摆回到ClD位

置时,所需时间为t2,平均速度为屹2 q岛乜,曲柄AB以等角速度顺时针从AB2转到
ABl,转过的角度为:中2=180。.o, 因此,
V2>Vl


由于曲柄AB等角速度转动,所以巾l>由2,tl>t2,

图2.9曲柄摇杆机构

由此可见,主动件曲柄AB以等角速度转动时,从动件摇杆CD往复摆动的平均速 度不相等。往往我们把进程平均速度定为Vl,而空行程返回速度则为V2,显而易见,
从动件返回程速度比进程速度快。这个性质称为机构的急回特性【15】。我们把回程平均速 度与进程平均速度之比称为速度变化系数,用K表示
17

第二章计算机仿真及实现方法

q岛

芷:盗:。坌:蔓:旦
珂 q呸
fl f2



臣:望塑
180。一目

一.式中。称为极位夹角,即摇杆在极限位置时,曲柄两位置之间所夹锐角。

p:180。盟
尺+1

….o表示了急回程度的大小,o越大急回程度越强,o=O,机构无急回特性。 2.6.5连杆机构运动模型及仿真设计思路
本文使用3ds Max7.O建立连杆机构模型,是利用了3ds Max7.0这一专业的三维建

模软件在建立模型的过程中,具有方便、直观的建模特点,并且可以根据模型的相应参 数要求,所建立的模型外观更为精细美观,同时保留了很多模型原有的细节部分。但是 使用3dsMa)(软件所建立的模型要实现交互式控制,几乎是无法实现的。3dsMax软件建 立的模型动画,其运动过程只能在软件中提前设定,即实现的是关键帧动画。同样使用 Direct3D图形库绘制函数构建连杆机构模型,由于其没有提供建模所用到的高级建模命 令,它建立三维模型的方式是通过程序的办法来实现的,建模过程不直观,使得利用 Direct3D图形库建立和修改模型的效率很低【23】。因此综合两种建模软件的优点而提出 的一种优化的创建方法是:使用专业三维建模软件完成模型的创建,再将创建好的模型 文件转换成Direct3D程序,这样做的优点是既利用了专业三维建模软件3ds MaX7.0 在建立模型过程中方便、直观的特点,又利用了Direct3D实现交互性的特点,扬长避 短,这样建立的模型可以做到精细美观又达到交互式控制这一要求。本文中就是采用这
种方法,即先用3ds Max7.0三维建模软件构建连杆机构的三维模型,再将其模型文件通

过Direct3D提供的外挂程序转换成Direct3D所能识别的程序代码,以实现人机交互式 控制。

很显然,曲柄摇杆机构为了使得杆件能够产生运动,杆件间必须存在一定的间刚241。
在机构的运转过程中,由于杆件间的间隙的存在必然会对摇杆的各个参数比如,角位移、 角速度、角加速度等产生影响。并且在运转过程中杆件必然会出现短暂的失去接触这一 现象。当杆件再次接触时,会产生不同程度的碰撞,这样对摇杆的各个参数会产生更大
的影响。

18

长安大学硕i学位论文

图z10四杆机构模型

本文构建的四杆机构仿真的思路主要是在计算机上模拟现实中四杆机构由丁各方 面的原因(杆件由于运动受力相互挤压产生形变;卡T件相互问存在间隙导致运动时的摇 摆等),导致从动件3的角位移、角速度、角加速度产生的误差,并与理论理想状态下 运动参数进彳J:比对。文中仅对由于朴件之间的间隙导致从动件在运动中产生的微小摇 摆,使得从动件的角速度产生误差的方面,进行研究。其它角位移、角加速度的验证方 法千HH,本文不再进行验证。如图2.10中,认为A、B、D点位置丰『件『uJ的连接为理论 状态,忽略其形变、问隙、朴件间摩擦和重力等所造成的影响。c点位置秆件问的连接 为间隙杆模型,然后认为杆件间的『HJ隙为根无质量的,长度为径向『fI|隙的‘,J、段刚体 杆。在该条件F模拟卜动杆1带动从动杆3由于运动速度的变化使得从动杆3在c点位 兄产生微小的摇摆或震动导致从动轩3测得的帽应参数产牛谋筹。


7微机上虚拟现实的Di rectx 3D实现
本文所设计研究的三维J墨|像同步显示属于桌I蝴檀拟环境口”,整个测控系统的核心

硬件就是PcL广818HG型数据采集卡和计算机,在}P算机上实现虚拟现实的主要工具采
JlJ visuaI
c++6

O,r发软件的控制界面,Dircct3D完成虚拟场景的建立。测拄系统以

windows操作系统为软件基础,实现应用软件的编写以对话框的形式吁用户进行信息交 流,用户通过训算机h的测控软件完成曲柄摇打机构的交互式控制。
2 7 1 Di

rect3D程序基本框架

Dired3D是Dirccf)(中最为复杂也是功能最为强大的功能组件,它几乎整合了

第二章计算机仿真及实现方法

DirectX中大部分的API程序接口,使用Direct3D来创建三维图形仿真系统,基本上可 以做到以假乱真的视觉效果,然而创建Direct3D的程序总体框架却非常的简单明了,

Direct3D的程序框架主要由以下的5个部分组成【13】。
1.创建Windows窗口。

2.对Direct3D对象的初始化。
3.Direct3D程序中的消息循环。

4.对Direct3D所创建的三维图形进行渲染。 5.对初始化所创建的所有COM对象进行清除,释放Direct3D资源,退出程序。
2.7.2 D i rectX

3D顶点坐标变换

在Direct3D程序设计中,为了将空间中的三维物体在显示器这样的一个二维平面上 进行显示,必须将空间中的三维物体坐标转换为二维坐标系统,该过程称之为世界坐标 到屏幕坐标的转换,即顶点坐标变换。在Direct3D中的三维坐标到二维坐标的变换是通 过矩阵变换的形式来完成的。我们可以将这一转换过程想象成对三维物体的摄像过程, 通过对三维物体的摄像,将三维物体显示到计算机屏幕上【26】。 利用Direct3D实现对三维物体的渲染,需要经过两个步骤,第一步称为坐标转换和 光照即T&L,在这个过程中需要完成三维物体的坐标顶点、纹理坐标等一系列坐标信息 的变换,以及三维物体所选用的不同纹理信息由于光照的原因而产生的不同变化。第二 步的操作为,对渲染图元进行光栅化处理。如图2.11为三维物体在Direct3D中完成渲 染的整个步骤【23】。当然在完成3D物体的渲染的过程中不是一定要完成所有的各个步骤, 有时根据不同的情况,可以省略其中的某个过程。

|非T&L顶点卜—巾 矩眸卜一
T&L

q T扎质点卜—忡 纹理卜_啼 图元卜_一
相关渲染状态{r—一
20

照明卜
l相关藩染状态卜—~
I I

阶 段

光 栅 化 处 理 阶 段




》 的





图2.11 3D对象渲染的两个步骤

长安人学硕士学位论文

使用Direct3D在对3D物体进行渲染时,其中顶点坐标变换和光照处理足渲染过程
最为重要的一步,应用程序根据用户的需要对T&L图元进行处理,得到需要的渲染结

果,这一过程我们称之为T&L流水线,也口LI顶点变换流水线,其实现过程如图2.12所
示【27】。

图2.12

T&L流水线

2.7.3计算机图形系统

1、系统的组成 计算机图形系统应由计算机硬件设备及相应的程序系统即软件两部分组成。但从严 格意义上来说,使用系统的人也是这个系统的组成部分。在整个系统运行时,人始终处 于主导地位。可以说一个非交互式计算机图形系统只是通常的计算机系统外加图形设 备,而一个交互式计算机图形系统则是人与计算机及图形设备防调运行的系统【28】。如图
2.13所示。

图2.13计算机图形系统

2l

第二章计算机仿真及实现方法

2、系统的基本功能 作为一个图形系统,至少应具有计算、存储、输入、输出、对话等5个方面的基本 功能,如图2.14所示。

图2.14图形系统功能

(1)计算功能 图形系统应能实现实际过程中所需要的计算、变换、分析等功能,如直线、曲线、 等几何要素的生成,坐标的集合变换,线段、形体的求交、裁剪计算以及点的包含性检
查等。

(2)存储功能 在图形系统的存储器中,应能存放所设计的各种形体的集合数据及形体之间的相互 关系,并可实现对有关数据的实时检索以及保存对图形的删除、增加、修改等信息。 (3)输入功能 图形系统应能够将所设计形体的几何参数(例如大小、位置)以及各种命令输入到


系统中去。

(4)输出功能 图形系统应能在显示屏幕上显示设计过程当前的状态,经过删除、增加、修改后的
结果。在得到满意的设计结果或有其他输出要求时,应能通过其他设备实现输出。

(5)对话功能 图形系统应能通过图形显示器及其他人机交互设备直接进行人机通信。利用定位、 拾取等手段,输入或获取各种参数,统属能领会人的意图,接收各种命令,实现删除、
增加、修改等操作,并能观察设计结果。

长安大学硕.I:学位论文

2.7.4变换视景中坐标空间
显示器所呈现的二维景象,是经过顶点变换、程序转译、光照等一系列的转换,最

后通过显示器对二维场景进行投影显示,所完成的。通常认为三维模型渲染过程中的顶 点坐标变换是通过复合矩阵运算的来。创建整个模型场景是通过将各个三维模型自身的 顶点坐标原点经过一系列的矩阵换算得到在世界坐标空问中实现使用共同坐标原点的 变换。最终在显示器这样的一个二维场景进行投影显示。这个过程就是世界空间变换‘261。 三维图形完成这一系列的矩阵换算过程称之为场景模型的变换。其具体过程如图如图
2.15所示。
世界空问变换

图2.15场景模型变换序列

2.7.5三维视景的坐标系统和旋转矩阵

直角坐标系、极坐标系、球坐标系为三维图形系统中常用的坐标系统。平常所说的 笛卡尔坐标系就是直角坐标系统,是各个三维软件常采用的坐标系统【261。在笛卡尔坐标 系中,用x,y和z坐标值来表示空间中的某个任意点。而直角坐标体统又分两种,它 们分别是:左手坐标系和右手坐标系。如前所述Direct3D采用的是左手坐标系,如图
2.16所示,可以看出:x轴为屏幕的右方,y轴为屏幕的上方,z轴则平行于观察者视线。

通常在Direct3D环境中,不存在实际距离的概念,也就忽略了单位尺寸的初始化。 但是在虚拟现实的系统中,虚拟距离的变化与机构的运动是密切相关的,如果没有统一 的计量单位,则模拟现实机构的运动就会失真。所以为了单位统一,在建模的时候都设 定了厘米为基本单位。就是说建立模型场景中的基本单位厘米是和虚拟现实的场景中的
基本单位是一致的,这样就避免了后续的模拟失真。

第二章计算机仿真及实现方法





图2.16 DirectX系统所采用的坐标系

在将一系列的单个模型整合到一个模拟场景中时,单个模拟物体是按照各自的坐标 而创建的,将多个单个模型放置到一个大的世界空间中,各个模型通过调整各自的坐标 系来,使得整合后的场景使用一个坐标系统,图2.17所示为模型各自的坐标系统与世界 空间坐标的对应关系。

坐椽系2

图2.17世界坐标系与模型的本地坐标系

实现模型物体的运动仿真的动作,是通过一系列的矩阵变换而完成的,具体变换过
程如下式:

M。
[x’y’
z’

M2
M22

M13

M14 M24
M弘

1】_[x





l】

M2l

鸭l 心2 鸭。 %2

鸩3 托。 鸩3

M44

将任意一点P(x,y'z)转换到另一点P’(x’,y’,z’)。上式也可以表示为以下
形式: P’(x’,y’,z’)=P(x,y; z)宰Mworld

Mworld指得是世界变换矩阵。在实现模型物体的一系列运动动作是通过世界变换
矩阵来完成的。 1、平移

对模型物体进行平移操作,通过下面的平移变换矩阵实现:

24

长安人学硕士学位论文

l O

0 l O

0 O 1

0 0 O l

【x’y’z’

1】_[x





1】



瓦 2、旋转





对模型物体进行旋转操作,是通过下面的四阶矩阵完成点(x,y,z)绕x轴旋转
0角,成为点(X’,y’,z’):
l O O cos日 一sinp O 0 sin口 cosD O O O 0 1

[x’

y’

z’

1】_[X





l】

0 0

绕y轴旋转0角的变换矩阵为:
cos口 0 0 1 O O 一sin9 0 cos9 0 O O O l

[X’y’

z’

1】_[x





l】

sin臼 0

绕z轴旋转0角的变换矩阵为:
cos9 一sin日 sina cos臼 0 O O O 1 0 O 0 0 1

[x’

y’

z’

1】-[x





1】

O O

3、缩放 对模型物体进行缩放操作,是通过以下变换矩阵,可以完成将点(x,y,z)在x、
y、z轴上分别缩放Sx,Sy,Sz成为新点(x’,y’,z’)。 最
Q 0 s O 0


O 0 sz O

0 0 o 1

【x’y’z’

1】_[x





1】

O O

使用Direct3D所实现的三维物体运动模型,所要完成的动作不会是仅仅使用某一矩 阵变换实现的简单动作,如平移、旋转、缩放。通常情况下,所要完成的动作是以上三 种动作的组合来实现一组复杂矩阵变换【291,这时我们可以对三维物体进行矩阵变换的组 合使用来实现三维物体的一组复杂的动作。

25

第三章实验台测控方案设计

第三章实验台测控方案设计
本文利用Visual C++6.O语言和Direct)(图形库。以PCL.818HG多功能数据采集卡

和计算机作为硬件核心,开发了一具有多种功能的机械装置参数PC测控综合实验台。 利用此实验台完成对交流电机转速的控制,从而起到对连杆机构运动状态的控制。完成 连杆机构的参数运动规律曲线的绘制并同步显示电机所带动的连杆机构的即时运动状 态。实现连杆机构运动状态的远程控制等。

3.1交流电机变速控制方案设计
l、交流电动机速度控制方法 由电机学理论我们可以得知,交流电动机的转速公式为:

,?=—土ll—s) ,?:盟(1一s)


其中s:!型
门5

(3.1)

其中:f定子电源频率;p-磁极对数;刀。一定子旋转磁场转速;n一转子转速。 对于进给系统常使用的交流同步电机,其没有转差率,因此交流同步电机的转速公
式为:

万=——2


60一

(3.2)

由式(3.1)、(3.2)可知,对于交流电动机来说,改变定子电源频率就可以控制其 转动速度,这就是我们通常所讲的变频调速。本文选用上述方法来控制交流电动机的变 速。 本文在文献[30]的开放式硬件系统之上增加部分新的硬件设备和程序代码以实现新 的功能以构成四杆机构的闭环控制系统。系统各部分的主要功能如下。 计算机:计算机的功能包括管理人机交互界面、对控制系统的实时监控等。例如管 理鼠标和键盘等输入设备、控制指令的专递以及监控外部信号等。 变频器:接收数据采集卡发送的(0.10v)的模拟量控制电压,完成输出相应的变 频电压以控制四杆机构主动杆的旋转速度。 数据采集卡:研华公司为此卡配备了综合高效的以供用户使用的接口函数。调用这 些接口函数,并配合变频器的使用就可以实现电动机运转速度的控制。 旋转编码器:旋转编码器的主要功能足检测电动机的即时运动状态,以每旋转一周 输出1200个脉冲数的方法对转动机构进行记录。 系统在数据采集卡与变频器之间使用信号隔离器。一方面防止外部设备对内部信号
26

长安大学硕十学位论文

系统的干扰,另一方面对整个测控系统起到了保护作用,有效的避免强电对计算机控制 系统的破坏,有效的提高了测控系统的安全性和准确性。

3.2实验台主要硬件设备及性能参数介绍
3.2.1研华PCL一81 8HG数据采集卡规格

PCL.818HG数据采集卡数据采集的方式有三种,分别是采用查询、中断和DMA方 式。其中,查询方式和中断方式相对来说会对CPU的处理上很耗时,不能够满足项目 的实际需要,因此,DMA方式是数据采集最快捷的方式。通常情况下A/D转换在后台 就可以完成了,DMA方式采集数据使用的是双数据缓冲技术,当A/D在后台进行数据 转换时,采集的数据同时也可以被程序访问,并通过控制器发送到内存中,这样便节省
了处理器工作的时间。 那么,PCL.818HG数据采集卡具有五种测量和控制函数,分别有两种十二位的转

换器,分别是√怕转换器,D/A转换器,采样平率最大的为100l洫为~D,并能对数
字量的输出,输入以及可编程计时或计数。 PCL.818HG数据采集卡同时与CJC电路接线端子板组合,可以不用外部的信号调
理板就可以直接测量到低电平的热电偶信号。 在本文设计的系统中,数据采集的方式为最快捷的DMA方式,其中,PCL。818HG

数据采集卡是外界电信号与计算机之间的通道,它整个控制的过程就是将外部的各种信 号统一起来,并将计算机发送给它~D转换的信号进行控制,然后以模拟或者数字信号 发送到外部设备,控制系统过程如图3.1所示【311。

图3.1

PCL一818HG采集卡信号转化及传递的过程

在图3.1所示中,从左向右的过程即为数据采集过程,是通过传感器在本文中通过
旋转编码器将即时检测的转速信号传输给数据采集卡,经数据采集卡的编译将数字信号

再传送给计算机,由计算机将转译后的信息通过仿真程序同步显示执行机构的运动状 态。从右到左的过程是计算机将按键指令通过软件系统利用相应的程序,对信息进行识
27

第三章实验台测摔方案设计

别和转换,再经由数据采集卡对执行机构完成控制的过程。该卡不同输入方式的增益如
表3.1所示【321。 表3—1
输入方式 8路差分 16路簟端

PCL一818HG不同输入方式的增益
增 益

×0.5,l,5,10,50,100,500或1000 ×O.5,1,5,lO,50,100,500或1000

PCL.818HG采用输入范围通道可配置、自通道扫描方式。其模拟量输入规格如表 3.2所示,模拟量输出规格如表3.3所示。
表3—2
一般规格 分辨率
12bits PCL一8

18HG模拟输入规格
输入范同(V) 触发模式 触发器/毫j: 件/外部脉 冲 数据传输模式 软件传输/单个 DMA通道传 输

通道数 16路单 端/8路 差分

板载FIFo
lK samples

采样速率
100l(S/s

单极性
0~100~l O ̄0.1 0~0.0l

双极性
—lO,5,l,0.5 O.1.0.05 0.01.0.005

表3—3

PCL一818HG模拟输出规格

3.2.2变频器的选用

变频器是将50Hz或60Hz的工频电源改换成各种所需的交流电源,来实现对电动 机实现变速控制的设备。本文中采用单相交流220V/1A的电容启动型电动机用于测试机 构的动力部件。本文根据使用要求,选用北京同森科技有限公司的的单相输入单相输出 变频器。主要目的是能够利用变频器对该电机进行控制。根据电机效率和功率综合影响 系数确定所选变频器功率。计算得出单相交流220V/lA电机所需功率为289W。因此对 应所选变频器的功率必须大于等于该值。本文根据北京同森科技有限公司生产的变频器 规格,选用TS2904PT2M单相输入单相输出变频器,该变频器参数如下表3—4所示【33】。
表3。4 Ts2904PT2变频器技术规格(单相220V)
适配电机 400W 续表3.4 输 频率精度 数字设定为 0.0lHz,模拟 设定为2%


额定电流
2.5A

输 额定电压 单相AC220V
(1 50V—280V)

入 额定频率
50/60Hz

控制方式 SPWM电 压矢量

输 出 额定l乜压 单相220V

频率范围
0.1Hz ̄ 650Hz

转折频率 可在30“50 Hz内任选

过载能力 150%,1分 钟

频率设定 数字设定或外

运转停止 键盘或外 部信号

加减速时间 O.1~3000秒 (达到最大频 率)

部信号(肛lO
V,4—20mA)

28

长安人学硕士学位论文

3.2.3变频器电气线路连接

本文的选用TS2904PT2M单相输入单相输出变频器,其主回路接线端子如图3.2所
示。主回路功能端子介绍如表3—5所示【331。

匝亘亘亘虱
R S PE U V

图3.2变频器主回路端子图

表3—5主回路端子功能
端子名称
R S PE U V

端 电源输入端子220V相线(火线) 电源输入端子零线 地线 变频器输出端子 变频器输{Jj端子







TA TC TB

Sl

S2

S3

SC SC

S4

S5

S6

S7 VD FV FI CM FM DT+DT一

图3.3变频器控制回路端子图

各功能端子功能如表3.6所示【331。
表3—6变频器控制回路端子端子功能 端子符号 名 称 功 能


TC TB SC Sl S2 S3 S4 S5 S6 VD FV FI

正常运转时“TC”与“TB”相通。出现故障时“TC”与 “1’A”相通。本接点使用窖量达DC30V5A,AC250V5A 出厂时设置为故障报警。 信号地 多功能输入端子 多功能输入端f 多功能输入端子 多功能输入端子 多功能输入端子 多功能输入端子 直流电』K输出 模拟量输入端 模拟埘输入端 信号地 Sl—s7端f的公共端 出厂时设置为正转运行指令 出厂时设置为反转运行指令 出厂时设置为点动 出厂时设置为外部复位(须订货前通知) 出厂时设置为滑行停止(须订货前通知) 出厂时设置为多段速端予l(须订货前通知)
10V/10mA O.10V 4~20mA

CM

这个地是和电源隔离的

根据变频器主回路端子功能表,将外部220V电源经熔断器和断路器后接入R端和 S端。PE端为保护性接地端,接地线即可。U端和V端经热继电器后接电机电源线。 与本系统测试有关的控制回路端子图如图3.3所示。出厂时Sl端子已设为正转运行端
子,S2端子设为反转运行端子,S3端子设为点动状态端子。Sl端子连接信号地SC就

第三章实验台捌榨方案设计

实现了电动机的正传指令。s2端子连接信号地sc则实现电动机反转指令。而电动机运 转速度的快慢取决于变频器模拟量输入的大小,即Fv值。 完成娈频器连接线路后的变频器状态图3.4所示。

图3 4变频器线路连接

变频器的运行是通过其自身的功能参数设定,并经过线路连接设置其所实现的功 能,配合数据采集卡的信号电压输入完成对电机转速的控制。屯机正转的继电器控制原
理图如图3 5所示,图rrl各个电气元件的型号选定参考了文献口4】。
sBl sB2 KA lHL 2HL

停止按钮升关 运行按钮)r关 中间继电器 运行指示灯 停止指示舢

圈3 5变频器正转运行控制指令继电器原理图


2.4变频器功能参数设置 在本文的设计应用中,变频器由采集卡传送过来的(0一lOv)模拟量控制信号电压,

由于输入信号电压的变化导致变频器输出应变的不同频率的交流电源,实现对交流电机 的变速控制。在该测控系统中主要用到的变频器功能代码为N-003,N.004,N_010,
30

长安人学硕上学位论文

N.013,N.03 1,N.048其功能代码含义如表3.7所示f33】。变频器的LED监视器上:运

行中显示设定频率、输出电压、输出电流、同步转速等。参数代码从n』00—n』89。
功能为粗黑体时参数在变频器运行时不能更改。
表3—7变频器主要功能代码含义 代码
n n n n n n

功能 输入给定选择 操作方式 最大频率 S曲线选择 电机标称电流 输入模拟信号种 类

参数 0:键珊设定l:模拟给定2:串行口3:由端子增减频率 O:键盘设定l:端子2:串行口
20.00…650.0HZ

出厂设置
l 0 50.00 0.0 16.0 O

003 004 010 013 031 048

0.O…40.O秒 0.0…600.OA,设定电机铭牌上的额定电流 0:频率指令由FV(0一lOV)控制l:频率指令由FI(4 —20MA)控制

3.2.5信号隔离器的选用

信号隔离器是用来减少信号转换过程中的回路干扰,抑制电流尖峰,在高电压时进 行保护。信号隔离器的应用范围很广,如信号输送过程的转换、数据的采集、DCS集散 控制等。在本虚拟现实系统的设计中选择了MMT.VID标准信号隔离器,也就是电压/ 电压传感器。该传感器的原理是通过使用频率调制和光电隔离,从而完全隔离输入输出 和电源,实时监测控制输入端的信号,然后将转换好的模拟的电压信号传送到输出端。 MMT.VID标准信号隔离器的优点有模拟精度高、温度影响小、工作性能稳定、抗干扰 能力强、隔离性好等等,所以它的使用范围比较广。它的技术参数如表3.8所示【35】。
表3—8 MMT—VID标准信号隔离器的技术参数 型号
MMT—VID

电源电压 12V(DC)

输入信号
0.10V

输出信号
0一10V

精度等级 O.1级

输入阻抗 lM欧

隔离耐压
1.5kV/lmin

负载能力
6mA

(O一5V)

(0—5V)

MMT.VID标准信号隔离器的原理框图如图3.6所示【35】。
\\ \\
.1_-

Adjusl
.D

-二’

D|K


或模 以信号输入
N DC:0.10V ,d一,,nmA、

ln



//

//

妒睁曼c

Ratio

0V 上 Out DC:0一10V
rn.气v、

图3.6删T_vID标准信号隔离器的原理框图 3.2.6转速传感器的选用

本课题对摇杆角速度等参数的测量,是通过绑接在电动机转动轴上的转速传感器即
3l

第三章实验台测控方案设计

转速编码器输出的电脉冲值进行换算得来。文中选用的传感器为光电轴角编码器,由于 该传感器的价格以及结构连接特点因此在本中选用作为转速传感器测量元件。光电轴角 编码器由于其性价特点属于低端较为常用的转动速度测量元件,通常认为此种测量传感 器有绝对型、增量型和复合光电轴角这三种类型。这三种类型的转动传感器由于其各具 特点,性能参数和技术指标的不同适用于不同的范围和领域。 光电轴角传感器是通过光电转换,将连接轴的转速信息等参数以电脉冲值的形式输 出,绝对型和增量型光电轴角传感器在实际工程中有非常广泛的应用,在此对这两种类 型的传感器给出简单的说明。
1、增量型轴角传感器 增量型轴角编码器技术特点【36】:

(1)编码器轴的旋转是以电脉冲值的形式输出,其旋转速度及电脉冲输出数值需
连接外部计数元件测算记录。

(2)编码器轴旋转一周所输出的电脉冲值为固定值,其计数零点可以任意设定,
对输出的电脉冲值以累加的形式输出。

2、绝对式轴角编码器 绝对型轴角编码器技术特点【36】:
(1)通常情况下绝对型编码器所测量的范围:Oo~3600,编码器轴旋转时可输出

与其旋转位置相对应的编码,这样就省略了外接判向元件,可以通过输出代码的变化规 律得到其旋转位置和旋转方向。 (2)绝对型编码器有相应的零点代码判断转轴的起始位置,并且对最后结束测量 的位置以相应代码的形式给予记录。 3、光电轴角编码器使用原理 本课题所选用的数据中间传输硬件为研华PCL.818HG数据采集卡,该卡自带有一 个计数通道,可以对转速编码器输出脉冲值进行计数测量,以实现对连杆机构转动轴的 转动速度进行计数测量,换算出摇杆的角速度值,根据以上两种类型的转速传感器的技 术特点,本文选用增量型光电轴编码器作为执行机构的速度测量计数元件。 使用研华PCL一81 8HG数据采集卡的自带计数通道,由Nyquist采样定理可知,对编 码器输出的脉冲值不发生漏测误差,计数器的采样频率要不小于编码器输出脉冲频率的
2倍【3引。

由于本文实验的电动机经过减速装置,实验的皮带轮转速为12转/mill左右,本文
32

长生人学坝+学位论文

最终选用无锡瑞普科技公司出品的zKP3.808—401G一1200Bzl,05c型增量式光电轴角编
{q器。

其主要性能指标如表3—9所示口卅。
表3_9疆他808-40I一61200BzI/%c型编码器技术参数
电源电压 输出电脏 消耗电流 响应,频二社 输出波形 载空比 0~200KHz(或按律广要求) 方渡 DC十5V±5%或十4 5~13
2V、

肩动力矩
3v



0005Nm(+25℃)

高电平;85%vcc,低电平10

展人径向负荷

最人轴向负荷
培大机械转速 噍量 约018 kg

完成硬件设备接线的系统蚓如罔3 7所示。

凹3.7完成线路连接后的系统翻

第四章连杆机构运动仿真软件开发

第四章

连杆机构运动仿真软件开发

4.1在Windows窗口中构建应用程序框架
本文所实现的三维物体运动仿真的交互式控制系统。运用Visual C++6.O和DirectX
3D这两个关于图形开发库和高级的丌发语言作为工具来构建虚拟现实系统。本文主要

以Windows系统为基础,编写消息机制的应用程序来实现特定功能。程序中使用 Windows编程的结构作为整体构架。在现实连杆机构的三维运动图像窗口显示时,运用
了Direct3D的图形功能。 4.1.1创建Windows窗口

在Windows系统的平台上编写应用程序,其主要特点是多线程和多任务,并且程 序是由一系列的事件信息作为程序的驱动而运行的。通过消息来实现程序响应用户触发 的事件【38】。作为连接用户与应用程序的中问环节,消息在整个应用程序中是一个极为重 要的部分。窗口会在Windows程序运行的过程中产生各种即时的消息。消息的产生唯 一的确定了某一事件。对Windows系统的应用程序给出某项命令,比如,按下鼠标 Windows应用程序会对这一命令作出相应的反映,都会有应用程序接受Windows发送
过来的一个消息作出相应的处理。

应用程序处理消息队列罩的消息,是通过GetMessage()来实现的,GetMessage()函 数在程序运行过程中,循环检索那些在消息队列中等待的消息,当程序遇到WM QUIT 消息指令时退出应用程序。当遇到别的消息时,windows由DispatchMessage()函数将该 消息发送到相应的函数中对该消息进行响应。具体的消息循环处理机制如4.1所示。

图4.1 WindoWs的事件消息循环处理机制
34

睦安大学硕十学位论文

4 1

2创建Direct3D程序框架 安装了Dimd3D


oc后,就14以使用Di他ct3D sDK示例程序浏览器牛成个

Diren3D应用程序框架,具体步骤如下㈣:
(1)运行Direct3D示例程序浏览器。

(2)在Di珲d3DsDK示例程序浏览器界面左上角的下拉列表中选择“Direct3D 如图4

9”,

2所示在“show”选项框中选择“c++”和“s唧pks”选项,然后选择“EmplyProjec,

工程,再选择“Ins协IlProiect”。

图4 2选择EⅢptyProJect项

(3)在弹出的对话框中输入新建上程的名称AppFrame和凌工程所在的日录,单击
Inst甜l按钮即可,如图4 3所示。

图4 3创建工程

(4)系统将自动完成工程的创建,然后弹出如图4 4所示的对蹯框,询问是否想现 在查看创建的工程文件夹中的内容。

第Uq帝连杆机构运动仿真软件开发

宙蕾墨雹田量墨雹薯置■圈懿蘩鏊3鼙:“
s一一Ⅱly…“ed
E、、hPhm。
ew

woⅢd…1Jk巾”1

th…nten㈨f

t his

f01d“nc

医噩耍囵亘箜I
|耋I
4 4

ADpFr锄e工程创建成功

(5)确认,查看创建的工程文件{|∈中的内窬,选择安装的开发环境相对应的工程 文件,即可打丌新创建的工程。 (6)编译并运行所新建的工程。
4 1

3使用Dired3D程序框架 创建好的Direct3D应用程序框架中,其中最辛要的两个文件是Dxuth和

Dxut。pp。DxuT框架的作用是设景接口程序。DxuT框架在合适的时机调用桐应的 库喃数,为实现某项操作功能,我们只需要在这些库函数巾填写相应的程序代码,来完 成所要实现的功能。 DxuT框架程序的整个“生命周期”可以划分为3个阶段:启动、运行和结束。 第一阶段:启动。 DxuT框架依次执行IsDcviceAcceptable()、ModifyDevices喊ings()、

onc瑚teDevice()和OnRes时Device()4个函数。
第=阶段:运行。 DxuT框架程序调用回调函数MsgPro“)处理各类消息,并在空闲时间反复涸用

OnFra眦M州)和011FmmeR∞d叫)两个函数进行场景渲染。在每一帧中,程序为实现
舛场景的刷新,为用户输入的响应而编写的代码通常写在函数OllFr啪eMove()中,例如
本文中设置世界变换矩阵实现物体的运动。 第三阶段:退出。

在退出程序时,DxuT框架会依次调用0IlLonDevice()和OnDes叻yDe“c“)回调
函数。在OIILog∞evic“)中释放函数OnRcsctDe“ce()中创建的资源,在函数 onDenroyDe“cc()中释放函数oncr∞teDevice()中创建的资源。


2三维物体模型的构建
通常情况下,所创建的三维运动物体模型,为了对三维物体或三维场景的更加真实

的模拟,需要所创建的模型保留模型原本的细节部分,也就是说创建的模型会越大,细
36

K安大学硕十学位论文

节部分更多,但然在对模型进行处理和渲染时,速度会减慢。一般情况下,一种更优的 制作模型方式是采用在专业的三维模型软件(如3ds Ma)【、Maya、SoRimage)中完成模
型的创建再将模型加载到Direct环境中完成对网格模型的交互式控制。 4.2.1用Direct3D函数创建模型

Direct3D是三维图形渲染处理有力的编程函数库,它为实现三维图像效果提供了一 系列处理手段函数,实现网格模型的顶点转换、光照处理、纹理信息和交互式动画是 Direct3D所擅长的,但对现实生活中的三维物体的造型方面,Direct3D没有提供类似3ds Max等专业建模软件中的高级建模命令【291,用Direct3D实现模型的创建和修改是通过 程序的方法来实现的,而通常情况下,我们所要建立三维模型运动系统中的模型是由许 多个点、线、多边形的基础图元组成,可以想象,用Direct3D的程序方法来创建一个或 多个三维物体是非常困难和不科学的。而使用专业的三维建模软件创建模型,如3ds Max、Maya等三维建模软件,这类建模软件提供了高级的建模命令,在建模过程中可 对模型的创建实现可视化的建模条件,同时可以使得所建模型更加精细、准确。大大提 高了模型造型效率。
4.2.2用3ds Max7.O构建模型
3D Studio

Max,简称为3ds Max或MAX,是Autodesk公司开发的基于PC系统的

三维动画渲染和制作软件【391,其前身是基于DOS操作系统的3D Studio系列软件,最新 版本是2010。本文选用3ds Max7.O作为连杆机构三维场景的模型建立软件,主要考虑

是由于本文所要创建的三维动画场景比较简单,场景内的三维物理模型较少,并且使用
3ds

Max创建三维物体模型存在大量的学习资料和实例可供参考。主要用到的3ds MaX

命令包括,3ds Max基本体的创建、布尔运算、IK肢体解算器、渲染、光照等。
3ds

Max为模型制作者提供了非常方便的观察,修改视角。在3ds Max软件平台上

可以非常方便的制作出精细美观的三维物体模型,通过其提供的各种控制命令可以直观
的完成整个三维场景的创建,然而如前所述,使用3ds MaX所创建的三维物体动画,需

要在创建模型的同时对其运动规律进行设定,设置好的三维物体动画可以按照一定的程 序完成动画,在动画运转的过程中则无法实现对其运动规律的即时控制,即关键帧动画,
单纯的使用3ds Max来实现交互式动画目前看来是难以实现的,实现三维物体模型的交

互式控制动画,则需要结合应用程序编程平台和三维图形渲染函数库来共同丌发实现
【401。

37

第阴章连杆机构运动仿真软件开发

4.2.3导入3ds Max7.0模型 (1)三维模型基础 利用3ds Ma)(制作的三维模型可以用Direct3D来支持。首先模型制作人员或三维设 计者在3ds MaX软件中制作出三维模型,然后通过由Direct3D提供的外挂程序将制作好

的三维模型转化成后缀名是.X的文件,这种文件可以被Direct3D识别应用,然后将转 换后的.X文件导入Direct3D中,进行后续的渲染工作。过程如图4.5所示【231。 使用三维建模软件制作模型

{7

l通过相应的插件导出.x格式模型文件


I在o i rect3D程序载入.x文件格式模型


在D i rect3D程序中渲染模型对象
图4.5 Direct3D模型显示过程

(2)模型文件格式转换 通常三维设计人员在3ds MaX、Maya等三维建模软件来制作模型文件,而这些做好 的文件是无法直接在Direct3D程序中使用的‘251。通常的做法是利用一些转换工具或插 件将制作好的模型文件转换成和Direct3D接口通用的文件格式也就是Direct3D兼容的 格式。较常采用的是与Direct3D兼容的木.X文件格式。可以利用Direct3D提供的将3ds Max和Maya模型文件转换为宰.X文件格式的相关插件【23】。转换后的木.X文件模型通常 是网格(mesh)模型即模型表面是由许多三角形网格拼接而成。对于那些有实力的开发 公司如大型的游戏公司,也可以开发符合自己实际需要的模型格式转换工具。而对于普 通的三维图形和游戏开发人员来说,枣.X文件格式就有实用性和经济性的优点,而且
Direct3D已经为宰.X文件模型提供了大量内置的支持,所以采用木.X文件格式还是很实 用的。

众所周知,三维建模软件中的坐标系是右手坐标系,而Direct3D则采用的是左手坐 标系,当模型文件格式转换工具或插件没有考虑到这个差异性时,转换后的模型由于坐
38

长安大学硕卜学位论文

标系统不同就变成了原来模型的镜像结果,对于左右对称的物体来说是没有问题的,而 对于那些左右不对称的物体显示的结果就会异常。通常可以采用两个方法来解决这个问 题。一种是将制作好的模型在原三维软件中进行镜像操作,然后再将镜像后的文件进行 转换,这样转换之后的模型就和实际期望相同;第二种方法是开发专门的转换工具,调 整转换之后的模型,达到和实际物体相同的结果。针对3ds MaX模型的Direct3D导出 插件就没有考虑到左手坐标系与右手坐标系的问题,所以在用这个插件时应考虑模型的
转换后的结果。
(3)3ds

MaX制作的模型转换为.X文件模型

使用DirectX 9SDK提供的插件可以将3ds Max中的三维模型导出,生成.X文件。 如果先安装了3ds Max,那么Directx 9SDK安装程序将自动为3ds Max寻找并加载相 关插件。如果在安装了DirectX9 SDK之后安装3ds Ma)(,则需要编辑安装目录下的

plugin.ini文件,即在该文件的【Directories]部分的最后一行添加一下一条命令:
【Directories】…… DirectX={SDK

R00T)\Utilitie姻in\Plugins\Max\Max7

然后就可以对文件格式进行转换了,具体模型格式转换步骤如下: ①运行3ds Ma)【,打开要转换的3ds Max模型文件。 ②在3ds Max的菜单栏中选择【文件】一>【导出】菜单项。 ⑨在弹出的对话框中选择导出文件类型为,一c.x文件类型,设置好生成文件的路径, 并给文件取一个相应的名称,如图4.6所示。 ④单击“保存”按钮,三维模型就会被转换为Direct3D函数库可以识别的.x文件
格式。 (4)在Direct3D程序中载入模型

在Direct3D中使用.X文件对三维网格模型进行渲染时,需要将.X文件所带有的顶 点信息,材质和纹理等信息。利用网格模型接口ID3DxMESH加载到计算机系统内存中 来完成渲染任务,使用D3DXCreateMesh()函数来定义所要创建的对象。
该函数声明如下:

39

第四章连杆机构运动仿真软件开发

酉■塑旷
图4.6 3ds瞻x文件导入Direct3D
HRESULll D3DXCmmeMesh

fDWORD

N明lFace‰
Numvenices. oDtjons

DWORD DWORD
CaNST

DWORD+pDec】a叫jon,

LPDIRE∞DDEVICE90Dev;ce.
LPD3DXMESH +ppMesh



其中:参数N眦Faces表示创建网格模型的多边形数目。
参数Num、,ernces表示仓Ⅱ建网格模型的顶点数日。 参数OptioIls表示是。个或多个枚举类型D3DxMEsH值的组合,指定生诚的 Di托n3D网格模型的缓冲区属性。一般情况下,参数O州on置为
D3DMEsH sYsTEMMEM或D3DxMEsH

MANAGED,表示对Dircct3D顶点缓冲区

和索引缓冲区使用D3DPOOL sYsTEMMEM或D3DP00L MANAOED内存。 参数pD∞lamtion指定生成的网格模型的顶点信息,其作用类似于灵活顶点格式, 表示顶点包含哪些具体数据。其类型LPD3DvERTE)口!LEMENT表示顶点元素,这种表 示顶点格式的方式用于可编程流水线中,在此不用考虑该曲数。 参数pDevice为指向Direc0D设备的指针。 参数ppMesh为指向创建网格模型对象指针的地址。用于返回创建的对象。

(5)使用Di舢D的.x文件创建三维仿真运动模型


长安大学硕上学位论文

在实现三维物体的运动模型的创建过程中,

获取.X文件所带的顶点信息、颜色信

息以及纹理信息等,是通过D3DXLoadMeshFromX()函数所实现的。
该函数的声明为:
HRESUI_T D3DXLoadMeshFmmX

(LPSTR DWoRD

pFilename, Options,

LPDIRECT3DDEVICE9 pDeVice,

LPD3DxBUFFER奉ppAdjacency,
LPD3DXBUFFER奉ppMaterials,
LPD3DXBUFFER幸ppE仃.ectInstances,

PDWoRD pNumMaterials,
LPD3DXMESH木ppMesh

);

其中:pFilen锄e是一个指向需要载入的.X数据文件的磁盘路径和文件名的字符串。
Options表示是一个或多个枚举类型D3DXMESH值的组合。 ppAdjacency指向用来存储包含每个多边形周围多边形信息缓冲区内存地址。 ppMaterials是指向用来存储模型材质和纹理文件名的缓冲区地址。 ppE仃ectInstances指向用来存储模型效果实例的缓冲区内存地址。 pN眦1Materials为整数类型,存储材质数目。
(6)三维运动模型的渲染 由ID3DXMesh所创建的三维运动物体,ID3DXMesh程序接口的使用将网格模型的

一系列网格信息封装在对应的程序对象中。使得该COM对象具有所创建的网格模型的
综合特性。 ID3DXMesh:.DrawSubset()函数的声明如下:

HI也SUL,T

DrawSubaset(DWORD AttribId);

其中参数AtttrbId用于指明渲染网格模型中的第几个子模型。 程序Mesh中,渲染模型的核心代码如下:
If(SUCCEEDED(gj)d3dDeVice->BeginScene())) {setwbrldMatriX(); f0“Dw0RD
i=O;

//设置世界矩阵 i<g_dwNumMaterials;
i十+



//逐个渲染子网格模型

<鲫d3dDevice一>SetMaterial(&g_pMeshMaterials【i】);∥设置材料和纹理
&Jd3dDeVice一>SetTeXture(O,&JMeshTeXtures[i】); g_pMesh->Drawsubset(i);//渲染予模型 )
41

第叫章连杆机构遥动仿真软件开发

鲫d3dDcv阱->EndsceneO;
4 2

),/场景渲染结束

4三维模型旋转 在本文中所要实现的是,曲柄摇杆机构的运动是由电动机带动主动杆l绕A轴旋转

再带动2、3杆完成整个机构的运动,如图4 7所示:

一●。 …,r一一一

‘ ‘T11-

, _I?''

=』_

{,_

一,I,4-^’●

H1N’。
一 1

图4 7四杆机构三维图像模型

4 2

5通过矩阵变换实现三维模型的旋转 使用计算机创建实现三维物体运动仿真模型创建巾,通常情况F确定个三维物体

模型的位置和模型状态,需要6个参数,卡迪尔坐标系下的3个x,y,z坐标值和3个 欧拉角值即横滚急、俯仰角和偏航角值,卡迪尔坐标下的3个x,y,z分量值是我们常 用的描述坐标空问的方法,比较容易理解。F面给出3个欧拉角(偏航角,俯仰角,横 混角)的定义。 我们把物体绕自身y轴所旋转过的角度定义为偏航角表示为”w;将物体绕自身x 轴旋转过的角度定义为俯仰角表示为pitch;把物体绕自身z轴旋转过的角度定义为横混 角表示为roll。在三维图形创建过程中,创建的三维物体模型的位置以及姿态三维图形 的程序足通过该模型的世界矩阵来唯一确认其在三维空问里的位置以及姿态的。凼此为 了在三维程序中唯一确定该三维物体模型的即时状态就是通过这6个参数来控制反应其

即时状态的吲。使用卡迪尔坐标系下的3个参数,可以反映三维物体一定的位置和形态。
但是当三维模型发生旋转变化或三维物体发生旋转或位移等一系列运动变化时,就需要 6个参数同时使用才能够正确完整的确定三维物体当前的运动状态及位置。如图4.8所 示。当我们要完成三维物体的旋转操作时,就是把图中这三个向量vL_ook、vup、vRi皿n
42

长安大学硕士学位论文

中的两个向量绕另外一个向量做旋转变换。如同中我们把vUp和v砌曲t向量绕着vL00k
向量旋转就是完成了对三维物体横滚操作。
VUp



/..
图4.8

/vLo

vUp和vRight向量绕着vL00k向量旋转

要完成三维物体的旋转、位移等一系列的运动变换,其实就是将这6个参数应用于 偏航、俯仰和横滚这三个旋转矩阵中,来实现三维物体的运动操作的。 在三维图像程序中这一系列的运动变换是通过调用D3DXMatrixRotationAxis()函数 来实现的,该函数的声明如下:
D3DXM ATRIX幸D3DXMatrixRotationAxis(D3DXMATRIX牛pout,
COINST D3DXVECToR3幸pV,FLoAT

Angle);

其中:pout指向生成的旋转矩阵;pV指定旋转轴;Angle指定旋转角度。
函数D3DXMatrixIbtationAxis()用于构建一个可绕任何轴旋转的矩阵。构建偏航、 俯仰和横滚矩阵的示例代码如下:
D3DXMatrixRotationAxis(&matYaw, &vUp,fYaw); 依011); //fYaw为绕vUp向量旋转的角度 //依01l为绕vLook向量旋转的角度

D3DXMatI?ixRotationAxis(&matRoll,&vLook,

D3DxMatrixRotationAxis(&matPitch,&vRi曲t,fPitch);//fPitch为绕vRi曲t向量旋转的角度

有了偏航、俯仰和横滚矩阵,就可以使用函数D3DxVec3TrallsforIllcoord()完成这种
向量旋转的计算,该函数声明如下:

D3DXVECToR3幸D3DVec3Transfo肌Coord(D3DXVECToR3幸pOut,
CoNST

D3DXVECTOR3}pV CoNST

D3DXMATRlX木);

其中:pOut为变换之后的三维向量;pV为变换之前的三维向量;pM为变换矩阵。

函数D3DxVec3Transfo肌C00rd()通过一个给定的矩阵来变换一个3D向量。以下程
序具体说明了实现这种旋转的核心代码内容。
D3DXV.ec31YansfomCoord(&vLook,&vLook,&matYaw); D3DxVec3TransfonTlC00rd(&VRi曲t,&VRi曲t,&matYaw);
D3DxVec3Tr肌sfomlCoord(&vLook,&vLook,&matPitch);//绕vRi曲t渲染vL00k和vup向量 D3DXV-ec31’ransformCoord(&VUp,
&VUp,

&matPitch);

D3DXVec3Transfo珊Coord(&vRi曲t,&vRight,&matRoll);∥绕vLook渲染vRight和vUp向量
43

第【r【|章连杆机构运动仿真软件开发

D3DXVec3。l伯nstornlCoord(&VUp,

&VUp,

&matRoll);

4.2.6通过四元数实现模型旋转+ 在本文中为了实现对程序设计的优化,实现主动杆的旋转也可以使用四元数来取代 旋转矩阵,使用四元数实现模型的旋转可使程序更加简洁‘231。它可用于描述3D空间中
绕任意轴的任意旋转。使用}Jq元数来代替旋转矩阵具有以下优点: 四元数占用的系统资源比矩阵要少,一些操作在视觉上会显得更为平滑,比如可以

在两个四元数之间作捅值运算;在程序中将3个欧拉角转换成一个四元数,用一个四元 数可以代替三个旋转矩阵。Direct3D的扩展实用库函数D3DXQuatenionRotation YawPitchRoll()提供了将3个欧拉角转换为一个四元数的功能,该函数声明如下:
D3DXQUATERNl0N木D3DXQuatemionRotationYawPitchRoll(D3DXQATERNIoN幸pOut,FLoAT
FLOAT Pitch,FLoAT Roll); yaw,

其中:pout指向生成的四元数;Y.aw、Pitch、Roll分别为偏航角、俯仰角和横滚角。

由于Direct3D变换引擎需要用矩阵来执行旋转,所以需要将四元数转换为矩阵格 式。Direct3D扩展实用库函数D3DXMatrixRotationQuatemion()提供了将四元数转换成
矩阵的功能,该函数声明如下:
D3DXMATRIX木D3DXMatrixRotationQuatemion(D3DXM[ATRIX宰pout,
CCINST

D3DXQUATERNIoN牛PQ);

其中:pOut指向生成的矩阵;pQ为输入的四元数。 通过四元数实现本文中连杆机构模型转动,同样可以完成模型的运动位置和姿态, 但是实现代码要简洁得多。

4.3骨骼动画网格模型
骨骼动画的基本原理是模仿现实世界中角色自身的动作,并为其添加一套骨骼,同 时对需要依附于该骨骼进行确定顶点,结果是依附骨骼的顶点被骨骼运动就能牵引着一 同运动‘411。在三维图形编程里,角色的躯体是由网格模型来表示的,网格模型通常由大 量三角形图元素组成,而三角形又是由顶点组成的。骨骼动画是通过网格模型并且在网 络模型中以树状层次结构存在,只有相对运动才能够实现动画,角色模型的整个骨骼框 架是很多骨骼连接到根骨上,其实根骨骼一直就存在于整个骨骼结构中。骨骼动画中每
一个骨骼是由初始变换矩阵和组合变换矩阵两种组成的,初始变换矩阵指的是骨骼的初

始位置,组合变换矩阵主要是骨骼的多种变换。当我们把骨骼模型建立完毕需要渲染时, 需要将骨骼模型中每一个部分结构进行调整,把上层骨骼与下层骨骼的运动实现连续的
44

长安大学硕±学位论文

变换,进行组合联动。 3dsMax7.0中的B谛ed骨骼如图4.9所示。

,t

¥口:…一

2生

…“。


!。’旦旦…H},面__

…-

图4

3ds‰中的毗ped骨骼

本文所设计的四杆机构运动仿真与骨骼动画中人物手臂的运动帽类似。山子骨骼带 动父骨骼完成运动。制作成3ds M“中的骨骼模型如围4 10所示。
P’、。。魁日广j


E矗脯再。日目厂jF十rA寸q骧r————]‘Hr



图410骨髂模型变形

第州章连杆机构运动仿真软件开发

制作成四杆机构如图4 11所示。
、i-.,十p1‘E’1p

^Ⅱ∞ntEi=口jE£jj!=!,=j■■■■■Ⅱ∞t#∞“



_r。jlg=i“]u

0虮’rji、厂

i。、v-,“一二

’12,!f-一一
图411制作成四轩机构

一“

通过Dj眦OD配套插件将3ds文件转换为x文件,导入Direct环境如图4.12所示。

图4 12.x文件导入Direct环境
4 3

1骨骼动画类的设计与实现

本文制作的四杆机构模型是基于Dj删3D的骨骼动画类所实现的,即主动杆摇杆的
运转带动从动件完成一组运动模拟现实动画,杆件间存在相互约束和联系。三维骨骼动

长安大学硕士学位论文

画的实现是,通过使用Direct3D提供的相应成员函数或结构对所实现的骨骼动画的相关

信息数据进行加载和保存,比如对骨骼动画的骨骼架构、动画模型、顶点网格数据等一 系列的骨骼动画的相关操作信息进行加载到相应的成员函数和结构中,这样实际上就是 完成了将骨骼类动画的相关数据信息进行了封装,便于对该类的应用和操作。下来就是 对这一数据操作信息进行渲染操作。类CAnimMesh是实现骨骼动画中最关键的一个类, 该类封装了骨骼动画所要实现的具体细节和相关操作并且该类是实现外界函数调用的 唯一接口,它的成员函数负责提取和加载.X网格模型文件中的相关操作信息,包括动画 模型等相关数据,并最终实现骨骼动嘶网格模型的动画模型的渲染和信息处理。实现网 格模型的渲染后,为了对渲染好的骨骼动画网格模型实施动画,需要使用相应的成员函 数或结构体加载网格模型的动画信息数据和骨骼动i画的框架结构,并使用对应的成员函
数对以上的两个动画数据信息进行相应的处理。
4.3.2

CAnimMesh类的设计与实现

类CAnimMesh是制作三维骨骼动画中最关键的一个类,所有与骨骼动画相关的具
体实现细节都封装在该类中,该类分别在AnimMesh.h和AnimMesh.cpp文件中定义和

实现。该类的具体实现是通过以下6组成员函数完成的。
(1)函数LoadFromXFile() (2)函数UpdateFrameMatrices() (3)函数DrawMeshContainer() (4)函数DrawFranle()

(5)渲染网数Render()
(6)OnCreate()和OnDestroy()函数 4.3.3骨骼动画类的使用

使用CAnimMesh类包含了3个步骤:
(1)创建网格模型

在回调函数0nCreateDevice()中创建CAnimMesh类的实例代码为:鲫Mesh=
CAnimMesh();y—j迮TURN(&一pMesh一>onCreate(pd3dDeVice,
L”emr.x”));

47

降三乏l
第叫章连杆机构运动仿真软件开发

图4.13交互式控制四杆机构模型 (2)渲染网格模型

在回调隔数OnFmmeRcnde玎)中渲染网格模型,代码为:帅№曲)
Rende《&g_mmw叫】d,fE】apsedTime+0 001);

(3)释放网格模型

在回调函数OnDestroyDevice()中释放网格模型,代码为:叫Mesh—>onD船们y();
利用骨骼动画类制作奉文中的四杆机构模型,其运动实例界而如图。通过数字键盘 t的1~4可完成四杆机构的运动控制。运行控制效果如圈4.13所示。


4运动机构交互式控制
本文所实现的三维连杆机构的运动仿真平台,用户通过应用程序以按键的形式实现

对连杆机构的运动状态进行控制,主要控制命令包括启动、加速、减速和停止,在对四 杆机构的转动速度控制的同时,通过PcL 818HG数据采集卡,将转动机构转速信息传八 Pc机,利用相应程序对信息进行识别和转换,最后传送至仿真程序,以实现连杆机构 的三维图像同步显示和交互式控制。同时绘制参数理论值变化规律曲线以及参数实测值 变化规律曲线。其最大特点是可以完成对摇杆机构的运动状态进行即时控制,即实现摇 杆机构的人机交互式控制,该功能足否成功的实现足虚拟仿真系统建立的一个重要体现
142J。

4 5 3ds

Max模型导入Dj rect3D环境时的优化技术

(1)在使用3dsM瓤工具制作网格文件时,3dsM娃软件会与中文文字输入软件发

&宜大学硕上学位论义

生冲突,导致如3ds M“7 O软件无法运行,如果制作的模型没有存盘,则该模型文件将 会丢失,只能重新建模。 (2)在3ds M强7 0软件中建模时,不能使用M“软件自带的动画里的lK解算器 下的任何模拟动画的解算功能(HI解算器、HD解算器、IK肢体解算器等)3dsMax7.0 中的动画解算器会与Dife吐3D冲突导致在导八x文件时发生错误,使得网格模型中的 各个零部件失去存3ds Max软件中原有的模型状态。模型导入错误如图4 14所示。

图t“.x文件导入Direct3D环境出错 (3)_L|j 3dsMax7 0软件建立网格模型时应尽可能的减少多边形的数量,以及模型

中看不剑的细节。(如模型的片段数:模型细部的倒角处理)由于多边形和圆弧面的增

多会使得Di眦t)(viewcr在编译时速度变慢。
(4)在制作=三维模型时,应使得制作的网格模型的各个部什的比例与实际物体的 比例保持~致.这样爿能保证所做的模型更加真实的模拟现实物体,而日制作的模型场 景经常足由多个独啦模型组合而成的所以,在制作模型的过程中就使得模型具有实际物 体的比例,避免在程序中使用程序命令来对模型进行调整,这样可以大大的降低程序丌 发的难度。 (5)制作好的剐格模型在进行渲染处理时,由于DirecI)(3D中没有时光源进行默 认暧置,所以在制作模型时候需要对模型进行预先的光源醴冒处理。

(6)所宦愧的三维物体模型在实现旋转动莉时,其自身的坐标系统会随着动画的
旋转而不断调整变化。三维物体的旋转是围绕各自的坐标系统旋转的,并不足以世界坐

第四章连杆机构运动仿真软件开发

标系为参考坐标系旋转的。但三维仿真动画运转一定时间后,本身相互垂直的坐标轴也
会因为旋转动画的调整而变的不再相互垂直,需要编写修正程序专门对其不垂直的这一

现象进行调整,如果忽略了这一点会导致三维物体模型运动失真。

长安大学硕±学位论文

第五章实验台测监控软件使用说明
本实验所使用的实验台架足采用电机.行星齿轮减速器-主动皮带轮-从动皮带轮的 传动系,所使用的屯机为单相交流220w1A的电容启动型电动机。从动皮带轮的最高转 速为12转,分钟左右。州丰T机构的运动速度由采集卡输山的控制电艇o~lov电压进行 拄制。测控软件丰对话框点击系统内容简介如图5 l所示。


1实验台测监控软件界面说明

_{}㈠警善}『{}{_|
1■■■■■■■■■■■■■■■_ ■■■■■■■■■■■■■■■_

~。一㈡!_■■■■_|

t■■■■■■■■■■■■■■■_j ?■■■■■■■■■■■■■■■_{

笫五审宴验台测监控软件使用说明

控制界面分为Ji个区域:测量参数曲线显示区、控制电压曲线显示区、四杆机构运 动仿真显示区、测量结果显示区和四杆机构运动控制区。 (1)测量参数曲线显示区:根据变频器的外部控制信号和变频器的输出频率的对 应关系,结合执行电动机减速机和皮带轮的传动比,将连杆尺寸(Ⅲ)L1=80×20×5,
L2=300×20×5,L3=200×20×5,

L4=390x20×5,间隙杆尺寸为O 5×20×5以及主

动件杆l的转角中,角速度u-通过程序讨算抉算出从动杆3的角速度的理论值和仿真 值,在程序中绘制出其规律变化曲线,红色为理论规律曲线,蓝色为仿真规律曲线,绿 色为实测规律曲线(如圈5 4所示)。通过三组规律曲线实时的反应出杆件之间的间隙 对角速度规律产生的影响。 (2)控制电压曲线显示区:即时的反应控制界面上的启动,加速和减速命令所对 应的采集卡输出的控制电压(O~10v)的变化以曲线的形式直观的显示出来。 (3)四杆机构运动仿真显示区:当采集卡向电机变速器什发出非零控制信号时, 埘面巾的四杆机构,随控制电压的变化发生转速的变化,生动杆1带动从动杆2、3。运 动速度的快慢由采集卡所输出的控制电压信号的大小而变化,直观的显示r四杆机构的 即时运动状态。

图5.3参数设置界面

(4)测量结果显示区:显示电机运转过程中的晟大转速,当前转速,角位移,角
52

长安人学硕士学位论文

速度的各项参数及控制信号电压。 (5)四杆机构运动控制区:完成四杆机构的运动控制包括设置、启动、加速、减 速、保存和返回等命令按钮。单击设置按钮则弹出运动控制参数设置对话榧(如瑚5 所示),利用该对再眶,可以完成控制输出前的基本设置,如采集卡型弓、输出通道、 计数器通道、扫描时间的设臂。启动和停止按钮用r启动或停止控制输出;点击保存按 钮可以将测得的转速数据以记!忙扛文件的格式保存到文件中:申击返回按钮,程序退出 机构运动控制系统。 文测结果如图5.4所示。


I_|_
月t醒
●^#t

Ⅷ一一L…』…一^r^一M…一。 ———————竺竺型些————-二u-一
E日玉于壬{;|j王E目三j;壬乇j
‘【二]二葺二】二L七土二E=i二[f丰j二]二E士一

,卜卜_n}}+{斗_}斗—刊+HH

“‘9^h咖

i匪誊霸篓鞋


j伸t}’’n_¨‘

辅●&#

?8≈^§#



女-^i&_^g*●埘【
&*B々
jH*
“’

.,|

djj_+土平七_卜卜E吲—kf¨卜1 ‘问寻寻千千手#F日j二#苹事{二] ’日二丰二#丰#=目;二#丰#嗣二::日习



h“



v‰l、、v

豳圜盈圜
图5 4测试结果图

2测试结果分析与评价
(I)由1二本文所使用的电动机皮带轮转速较慢,罐高转述夫概12转/分钟左右,文

中仿真杆件之间的问隙鼍很小(0 5mm),从角速度仿真规律曲线测试结果可以看到, 仿真曲线与理论角速度规律曲线重合度较高,因此运动副问隙对摇杆角速度的影响较
小。

(2)实测摇杆角速度变化规律曲线,变化规律不明显跳动较大。由于实际测量时,


第五章实验台测监控软件使用说明

给杆件之问的间隙较大。在曲柄运动的一个周期中,运动副元素之间产生了多次分离。
再由于测量精度,杆件之间的摩擦、重力以及杆件在运动时间隙将引起惯性力的急剧变

化,杆与杆之间产生了较强的碰撞;机构转速越高,运动副元素之间的冲击就越严重, 运动副问隙对摇杆角速度的实测影响十分明显。 (3)经过调节可以使得,测试界面上的曲柄摇杆机构摇杆的摆动情况与实际摇杆 机构的运转状态基本一致。 (4)测量结果显示区,连杆机构的最大转速、当前转速、控制信号电压等各项参 数显示比较准确,较好的完成了测量任务。

长安人学硕士学位论文

第六章结论及展望
6.1结论
本文研究的目的是通过计算机完成对执行机构运动速度的控制,适时的显示机构的 真实运动等。本文以四杆机构为例,用编写的测控及仿真软件,通过按键的形式可完成 四杆机构的转速控制,绘制出从动件3的角速度变化规律曲线图,测量出该机构的各项
参数等。

在对四杆机构的转动速度控制的同时,通过PCL一818HG数据采集卡,将转动机构转 速信息传入PC机,利用相应程序对信息进行识别和转换,最后传送至仿真程序,以实 现连杆机构的三维图像同步显示和交互式控制。本文所得主要结论如下: (1)针对PcL一818HG数据采集卡接口特点,应用Ⅵsual C++编写机构参数测试数 据采集与处理软件,不仅简单易行、采集与处理速度快,而且能设计更友好的界面。 (2)将专业建模软件3ds Max7.0、高性能的三维图形执行和开发平台——DirectX、 VC++可视化编程平台集成,开发四杆机构参数测试仿真实验台不仅可行,而且能实现 数据共享,大大提高开发速度。 (3)将闭环控制应用于四杆机构参数测试实验台,通过计算机发出控制指令启动、 加速、减速、停止等。PCL。818HG数据采集卡接收控制指令编译成(O~10V)的控制 电压给执行机构,再通过编码器、采集卡将转速信息回传给计算机软件中的仿真程序。 通过该组信息绘制出理论和实测的角速度变化规律曲线,并同时显示四杆机构的适时运 动状态,实现连杆机构的运动监控与交互控制。 (4)通过验证表明,该软件系统可以完成对曲柄摇杆机构摇杆的角速度测试、绘
制理论和实测角速度曲线、同步动画显示运动状态等。

6.2展望
本文通过对连杆机构运动参数PC测监控实验台设计与研究,基本完成了预期所要 实现的功能,但由于时间的仓促和作者水平有限,实验台测监控系统的操作界面以及功 能还需进一步改进和完善。
具体有以下几点:

(1)本文中的四杆机构模型不够美观,操作界面不尽合理,可以对其进行修改。 角速度变化规律曲线显示界面较小,难以将特性规律曲线细节之处更清晰的表现出来,
55

第六章结论及展望

建议将规律变化曲线单独处理在一个对话框中。
(2)在操作界面中扩充更多的功能内容,将PCL.818HG数据采集卡的性能更充分 的发挥出来。

(3)本文仅对连杆机构在低速状态下,杆件间的间隙造成摇杆角速度变化的研究。
可在本文的基础上对该机构在高速运转时,摇杆的角位移以及角加速度等其它参数的变

化规律进行研究。 (4)PC测监控系统开发技术可应用于各种机械设备工作的远程监控,将其与虚拟 技术结合,可使远程监控结果表达呈现动画的效果,应进一步研究与开发。

长安大学硕上学位论文

参考文献
…高春甫,艾学忠.微机测控技术[M】.科学出版社2005
【2】薛新红.虚拟仪器技术的发展现状和前景展望【J】.现代测量与实验室管理,2006.4:8~12 【3】瞿翌,邓居祁,盛旺.虚拟仪器的现状与研究方向[J】.低压电器,2007.1:45~48 【4】
GoLDBERG

H.、枷at

is

Virtual

Instrument[J】.

1EEE

Instrumentation



MeaSurement

Magazine.

2000,3.4:lO~13

[5】瞿墨.基于虚拟仪器的输水管路泄漏检测系统[J】.电气自动化,2005,27.1:54~56 【6】NationalInStruments Corp.2003一Another Stmng Yearfor PXI【Z】.2003 【7】美国国家仪器公司中国分公司.虚拟仪器软件[J】.仪表技术,2004.4:55~56 [8】钟登华,郑家样,刘东海等著.可视化仿真技术及其应用【M】.北京:中国水利水电出版社,2002.3 【9】孔月萍,刘树林等.面向对象建模技术及其实现【J】.西安矿业学院学报,1999,19.3:268~272 [10】高守传,聂云铭,郑静编.Ⅵsual C++6.0开发指南[M】.北京:人民邮电出版社,2007.10 [11】(美)Joey F.George著,梁金昆译.面向对象的系统分析与设计【M】.北京:清华大学出版社,
2005

【12】季军杰.Direct3D和OpenGL的分析与比较【J】.计算机时代,1999.9:36~37 [13】叶至军编著.Visual
C++/DirectX9

3D游戏开发导引【M】.北京:人民邮电出版社,2006

【14】(美)Frank D.Luna著.Direct)(9.0 3D游戏开发编程基础[M】.北京:清华大学出版社,2007 【15】Microsoft.DirectX
9.O SDK Update(June 2005).http:,/Insdn.Microsoft.com/directx, 2009

【16】‘茁玉敏,芮鸿编著.Maya 8.O从入门到精通.普及版[M】.

北京:电子工业出版社,2007

【17】中国电视艺术家协会卡通艺术委员会组编.三维动画影像基础SoRimage/XSI【M】.湖南:湖南 大学出版社,2007 【18】周兆祥主编.
3ds

ma)(7.O三维动画设计与制作[M】.北京:人民邮电出版社,2005

【19】周永清.曲柄滑块机构仿真实验教学的研究【J】.实验技术与管理,2008.3:65~68 [20】郭蓉.平面连杆机构计算机辅助设计方法的研究【D】.合肥:合肥工业火学,2005.8 【2l】高慧琴主编.机械原理【M】.北京:国防工业出版社,2009 【22】 平面四杆机构的传动特性【EB/OL】

,b业;纽塑迎曼hin垦:£鲴丛曼星堕:曼Q旦筠画坠型

型丛!IQ三丛:三:三6:三:3:h!堕,2009
【23】王德才,杨关胜,孙玉萍.精通Directx 3D图形与动画程序设计【M】.北京:人民邮电出版社,
2007.5

【24】王华杰,张军.
89~9l

含连杆摇杆运动副间隙四杆机构动力学仿真研究【J】.襄樊学院学报,2006.9:

【25】尚晶晶编著.Djrect3D游戏开发技术详解[M】.北京:人民邮电出版社,2006 [26】万斌等.Ⅵsual

C抖OpenGl DirectX三维动画编程宝典[M】.北京:北京希望电子出版社,2005.5

【27】王其东,杨凤生.基于Directx的汽车虚拟实验场的建立[J】.计算机应用与软件,2007.5:110~
57

参考文献

112

[28】张彩明,杨兴强,李学庆等编著.计算机图形学.第2版【M】.北京:科学出版社,2008 [29】乔林等.Visual c++6.O高级编程技术一DIREcTx篇[M】.中国铁道出版社,2000.8 【30】刘保国.机械装置参数PC测控综合实验台的设计与研究[D】.西安:长安大学,2008.6

【3l】何正林,赵望达.基于PcL一818HG型数据采集卡的火灾后砼结构损伤测试系统的设计【J】.国
外电子元器件.2006.4:4~6

【32】研华科技.eAutomation产品选型目录v01.23 1A:5~55
【33】同森变频调速器TS2900系列O.2.1.5KW用户手册.北京同森科技有限责任公司

【34】周治鹏.电气设备安装、使用与维修问答[M】.北京:机械工业出版社,2003.7
【35】MMT-VID标准信号隔离器(电压/电压传感器)使用说明书.2008.3 【36】增量式编码器分类样本.无锡市瑞普科技有限公司.2006.2 【37】张伟社.Visual c++界面与cAD开发基础[M】.西安:陕西科学技术出版社,2004.9 【38】高守传,聂云铭,郑静编著.Visual c++6.0开发指南【M】.北京:人民邮电出版社,2007.10 【39】国家动画教学研究基地主编.3ds 社,2006 【40】商书元,张军,李柯等.基于Direct)(的可视化仿真系统【J】.军械工程学院学报,2002.1:56~
59 maX

7.O中文版动画制作案例教程[M】.北京:人民邮电出版

【4l】黄海燕编著.模神3ds

max

9人体高级建模宝典[M】.北京:电子工业出版社,2007

[42】陈涛,魏朗.人一车一路虚拟仿真中人机交互模块开发[J】.微计算机信息,2006,22.7:283~
2RS

58

长安人学硕上学位论文

致谢
在老师的精心指导和同学们的帮助下,我的毕业论文得以顺利完成。在此我首先要 感谢我的导师张伟社教授,在三年的研究生学习、生活过程中,张老师培养了我认真严 谨的学术态度,而且在张老师的学术造诣也深深影响着我,让我懂得学无止境,精益求 精。三年中张老师在生活上也给予了我很多的关怀和帮助,让我懂得很多做人的道理。 在此我还要感谢我的同门王凯、严朝宁和陈娇红同学,在参与实际项目、室内完成实验 以及论文写作过程中,他们给予很大的帮助。同时我还要感谢许许多多帮助过我的老师
和同学们。

笔者:牛路日月
2009年5月

59


相关文章:
虚拟现实技术的应用研究
虚拟现实技术的应用研究_IT/计算机_专业资料。虚拟现实技术的应用研究来源:毕业论文网 摘要:随着计算机技术的迅猛发展,虚拟现实技术的应用日趋广泛和深入。基于此,...
虚拟现实技术及其应用
分类,虚拟现实技术的应用领域,虚拟现实技术的研究现状...4、分布式 VR 系统:指基于网络构建的虚拟环境,将...市场上已经推出了多款 VR 环境下 的电脑游戏,带给...
虚拟现实技术应用实例研究报告
虚拟现实技术应用实例研究报告_互联网_IT/计算机_...想定, 测试表明该系统有 助于提高培训人员的技术...约束满意度 和约束运动等关键技术, 运用了各种优化...
虚拟现实技术简介
仿真技术、立体投 影、影视动画、非线性编辑、电脑...3 4、虚拟现实 虚拟现实是空间信息可视化进一步研究...基于其享式或 3D 综合环境等应用系统上的实验平台,...
浅析虚拟现实技术
计算机图形学在虚拟现实方面的应用与研究虚拟现实(...躯干的运动等人体力学运动; 最后虚拟现实技术主要利用...图像生成和显示系统是 虚拟环境系统的重要组成部分,...
虚拟现实技术在医学领域的应用概述
虚拟现实按表现形式大致可以分为参数化虚 拟现实和...进行虚 拟现实技术在医学领域方面的研究开发工作;...VR技术可以用作医学教学、新生培训、技能测试、技术 ...
虚拟现实技术教学大纲
了解虚拟现实的建模技术,掌握应用系统开发的基本技能...第一节 VR 的计算机体系结构 绘制流水线;基于 PC ...掌握运动建模 3.掌握行为建模 4. 掌握模型管理技术...
虚拟现实技术论文
虚拟现实是利用电脑模拟产生一个三度空间的虚拟世界,...系统、 电子学和多媒体技术等多学科融合技术, 研究...即对两个几何模型中 所有几何元素进行两两测试, ...
开题报告-基于虚拟现实技术的三维校园漫游系统的设计与...
(论文)题目 基于虚拟现实技术的三维校园漫游系统的设计与实现 本课题国内外研究动态及意义: 随着计算机技术,特别是计算机图形学、三维仿真技术以及虚拟现实技术 的飞速...
虚拟现实技术对旅游业的影响及应用前景
专题讨论与研究 题目:虚拟现实技术对旅游业的影响及...建立一套基于虚拟现实技术的 3 维信息系统,不仅可以...虚拟场景生成技术可以通过旧图像、地理参数等真实再现...
更多相关标签: