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

基于SolidWorks的机构运动仿真研究(1)

文章来源:第三维度 作者: 发布时间:2012年03月23日 点击数: 字号:

    来源:第三维度
    作者:韩锐(硕士学位论文)

    摘 要

    本文针对机构运动创新设计实验的需要,研究了在SolidWorks 平台上进行机构运动仿真与分析的方法。对使用Visual C++开发运动仿真系统需要解决的实体建模、数据库操作、数据处理、参数曲线输出、屏幕运动仿真等关键技术进行了研究。开发了机构运动仿真软件,实现了三维实体机构的运动仿真。

    首先,研究了在SolidWorks 平台上进行参数化实体建模的方法。本文对两种不同的参数化建模方法进行了比较,选择了其中一种通过修改模型参数实现参数化建模的方法,实现了简单零件的三维参数化建模,简化了建模过程,提高了建模效率。

    其次,针对不同机构的特点,采用了三种不同的算法来处理运动仿真数据,在此基础上,提出了在数据处理部分使用MATLAB C++数学函数库进行求解的方法,简化了求解的过程。通过这种方法计算出了各构件的位置、速度和加速度等运动学参数。

    建立了Access 数据库对数据统一进行管理,并将所有构件的运动学参数保存在数据库中。再次,将运动分析与SolidWorks 软件相结合,利用其提供的API 接口,在VC++6.0开发环境对下对SolidWorks 进行了二次开发,实现了简单机构的实体运动仿真和多机构组合的实体运动仿真。

    最后,利用MATLAB 软件的图形显示功能,将运动学分析结果进行了可视化处理,并以图表的方式显示出来,取得了较好的直观效果。

    1 绪论

    1.1 引言

    近些年来,随着计算机技术的发展,计算机图形处理能力日益增强,以计算机为主要工具的仿真技术也迅速发展起来,并很快应用于工程领域。在计算机辅助下进行机械零件的设计、校核,并进行系统运动仿真已经逐渐成为机械设计的发展方向。

    在传统的设计与制造过程中,首先是方案设计及论证,然后进行产品设计。在设计完成后,为了验证设计,通常要制造样机进行试验,有时这些试验甚至是破坏性的。当通过试验发现缺陷时,又要回头修改设计并再用样机验证。只有通过周而复始的设计--试验--设计过程,产品才能达到要求的性能。这一过程是冗长的,尤其对于结构复杂的系统,设计周期无法缩短,更不用谈对市场的灵活反应了。在大多数情况下,工程师往往为了保证产品按时投放市场而中断这一过程,使产品在上市时便有先天不足的毛病。在市场竞争的背景下,基于实际样机上的设计验证过程严重地制约了产品的质量的提高、成本的降低和对市场的占有。

    随着经济贸易的全球化,要想在竞争日趋激烈的市场上取胜,缩短开发周期,提高产品质量,降低成本以及对市场的灵活反应都已成为竞争者们所追求的运营方式,谁早推出产品,谁就占有市场。然而,传统的设计与制造方式却无法满足这些要求。

    计算机运动仿真作为计算机仿真技术的一个重要分支,可以归入虚拟现实技术VR(Virtual Reality)的范畴,它汇集了计算机图形学、多媒体技术、实时计算技术、人机接口技术等多项关键技术。作为一门新兴的高技术,已经成为工程技术领域计算机应用的重要方向。尤其在航天、国防及其它大规模复杂系统的研制开发过程中,计算机运动仿真已经成为不可缺少的工具。借助于这项技术,工程师们可以在计算机上建立机械系统的虚拟模型,伴之以三维可视化处理,模拟其在现实环境下系统的运动和动力特性,并根据仿真的结果来精化和优化系统的设计。计算机运动仿真技术已经越来越成为人们代替或部分代替样机制作、工艺试验,以获取所需数据结果并最终完成对产品的性能测试及验证的有力技术手段【1】。

    虚拟模型技术应当属于计算机辅助工程(CAE)的一个分支,它的核心部分是多体系统运动学与动力学建模理论及其技术实现。作为应用数学一个分支的数值算法及时地提供了求解这种问题的有效的快速算法。近年来的计算机可视化技术以及动画技术的发展为这项技术提供了友好的用户界面,CAD/FEA 等技术的发展为虚拟模型技术的应用提供了技术环境。借助于虚拟模型技术,设计过程先从整机开始,按照“由上至下”的顺序进行,这样可以避免由于系统设计方面的失误而付出的昂贵代价。

    目前,虚拟模型和计算机仿真技术【2】【3】已经广泛地应用在各个领域里:汽车制造业、工程机械、航天航空业、国防工业及通用机械制造业;所涉及到的产品从庞大的卡车到照相机的快门,天上的火箭到轮船的锚机。在各个领域里,针对各种不同的产品,虚拟模型技术都为用户节省了开支和时间,并提供了满意的设计方案。

    1.2  国内外研究现状

    虚拟模型和计算机仿真技术是一项涉及多个学科领域的前沿技术,发达国家于20 世纪80 年代提出了相关概念,这项技术在过去的10 年里获得了迅速发展并达到实用阶段。和一些先进国家相比,我国在这个领域还有一定差距,但已经引起了国家有关部门和科学家们的重视,九五规划、国家自然科学基金、国家高技术产业规划都把虚拟现实技术VR列入了研究项目。国内一些高校和研究部门在紧跟国际先进技术的同时,也积极投入到了这一领域当中,并且取得了一定的研究成果。

    清华大学计算机科学与技术系对虚拟现实和临场感方面进行了研究,在克服立体图闪烁的措施和深度感试验方面采用了一些独特的方法。他们针对室内环境的特点,提出借助图像变换,使立体视觉图像中对应水平特征呈现形状一致性,以利于实现特征匹配,并获取物体三维结构的新颖算法。

    哈尔滨工业大学机械系在机构的三维运动仿真方面进行了不少研究,他们使用OpenGL 开发的机构三维仿真软件成功地模拟出了一些常用机构的运动状态,并在此基础上加入了一些计算机辅助设计和分析的功能。该校计算机系成功地摹拟出了人的脸部动作,如表情的合成和唇动的合成。

    浙江大学CAD&CG 国家重点实验室开发出了一套桌面虚拟建筑环境实时漫游系统,实现了立体视觉,同时提供的交互工具使系统的真实感达到了较高的水平。

    北京航空航天大学计算机系着重研究了虚拟环境中物体物理特性的表示和处理,在虚拟现实的视觉接口方面开发出了部分软硬件,提供了用于飞行员训练的虚拟现实系统。

    西安交通大学信息工程研究所对立体显示技术进行了研究,提出了一种基于JPEG 标准压缩编码新方案,获得了较高的压缩比。西北工业大学在基于UG 的二次开发方面进行了不少研究。西安理工大学机械与精密仪器学院在基于SolidWorks 的二次开发方面也做了不少工作,开发了连杆机构和弧面分度凸轮的运动仿真软件。

    上海交通大学图像处理及模式识别研究所,国防科技大学计算机研究所,北京工业大学CAD 研究中心等单位也都在这一领域做了一定的工作,并取得了一定的研究成果。

    综合国内外的研究现状,为了实现构件的造型和运动仿真,采用的方法归纳起来可分为三类【4】:

    (1).开发专业的运动软件,这种方法可以进行多种机构的运动仿真和   运动学、动力学分析。这种方法的开发工作量大,开发周期长,开发的费用也很高,主要由专业的软件开发商来完成,具有代表性的软件有ADAMS。

    (2).利用具有真实感的应用软件进行三维实体造型和运动仿真,通常使用的软件是OpenGL 和3DS,OpenGL 是OpenGraphicsLib 的缩写,它独立于硬件,独立于操作系统,包含有100 多个图形函数,开发者可以通过这些函数建立三维模型。由于OpenGL 包含的图形函数的数量和功能有限,目前尚不适合构造比较复杂的机械零件,应用于运动仿真领域的也仅限于简单机构;3DS 是目前世界上应用最广泛的三维建模,动画,渲染软件, 被广泛地应用于电视及娱乐业中,该软件功能强大,使用方便,但是造型结束后实体的形状和尺寸都不能被实时或交互更改,如果用于运动仿真就显得柔性不足。

    (3). 针对成熟软件的二次开发方法。这些成熟的软件包括AutoCAD(二维)、UG、Pro/E、SolidWorks(三维)等,其中AutoCAD二次开发多用于平面图形,很少应用与三维实体造型,其余几种软件本身就是工程软件,对机械零件的造型能力很强,其二次开发的接口也比较成熟,开发具有很大的灵活性,二次开发的产品很多已经进入工程使用阶段。

    本文基于SolidWorks 进行机构运动仿真软件的开发,主要是从以下几方面考虑:

    (1).SolidWorks 是当今世界基于NT/Windows 平台的三维机械CAD软件系统的主流产品,目前已在国内外中小型企业中得到广泛应用。

    (2).易学、易用,操作过程直观、简单,功能强大。

    (3).完全汉化,使用过程中无任何语言障碍。

    (4).可向下兼容二维AutoCAD, 使得以前采用AutoCAD 进行的设计可以继续使用和转化。

    (5).根据需求,可以很方便地利用VB 和VC++对其进行二次开发。

    (6).与其它三维设计软件系统具有非常好的兼容性。

    1.3 本文的主要工作

    1.3.1 三维环境下的零件建模与装配

    为了实现机构的运动仿真,首先必须利用 SolidWorks 强大的实体造型功能构造出运动构件的三维模型,其中包括:齿条,大、小齿轮,销轮,槽轮,凸轮,杆等运动构件,以及轴、销等辅助构件,文献【5】【6】详细介绍了零件的建模方法。通过实际测量现实中运动构件的实际参数,本文在SolidWorks 中生成零件的三维实体模型。本文综合了各种机构的运动特点,仔细选择了每个零件的原点位置,并将完成建模的零件统一存放在专门的目录之中,完成三维零件库的建立。

    只有的三维实体模型还不能模拟机构的运动,需要运动的零件模型必须进行装配,这种装配通常是手动完成的。这种方法不但费时费力,而且可能产生装配错误,影响后面进行的运动仿真。本文采用程序装配的方法,自动在前一个机构的输出构件上装配新的机构。如果前面的机构不存在,则自动将主动构件的坐标原点定位于装配体的坐标原点。进行运动仿真时,首先根据需要找到并打开运动构件的三维实体模型,然后根据实际情况设置各个构件在装配体中的位置,使每个构件都正确的安装在装配体之中。

    1.3.2 实体机构的运动仿真

    完成装配的机构还不能运动,只能维持装配时的状态,为了再现机构的实际运动,必须根据不同机构的特点,计算各个构件之间的相对位置。运动参数的计算都是在机构装配时根据实际情况自动完成的,算出的结果保存在指定的Access 数据库之中。有了各个构件之间相对运动关系的数据,就可以在SolidWorks 中进行运动仿真了。各个构件的运动都是通过时间控制的,即每隔一个时间间隔就从数据库中取出算好的构件位置数据,并用此数据设置对应的构件,当时间单位足够小的时候,单步的机构运动图像在视觉上表现为连续的机构运动,从而模拟出了机构的运动状况。通过控制计时器的参数和状态,可以实现机构运动的开始,暂停,反转,停止等操作。另外,为了更清晰的展现每个机构的运动情况,各个机构还可以单独运动,使用户更清楚的了解每个机构的运动情况。为了实现构件和数据的对应,本文使用了链表,每装配一个构件就在链表上添加一个节点,每个链表元素又是一个结构体,节点的数据代表了构件和数据的对应关系,这种方法使程序具备了灵活性,用户可以动态添加构件而程序不至于陷入混乱。

    以Windows 为平台,本文利用Visual C++6.0 对SolidWorks 2001plus进行开发,生成了动态链接库,在运行SolidWorks 时加载动态链接库,以上的装配、运动等操作就会出现在SolidWorks 菜单上,可以用菜单选项实现这些操作,也可以使用工具条的按钮进行操作,使用方便。

    1.3.3 求解构件运动参数,输出计算结果

    在机构装配时完成的计算仅包含了构件的位置参数,单凭这些数据还不足以完成机构的运动分析,还需要计算构件的速度(角速度)和加速度(角加速度)。为此,本文根据不同机构的特点设计了相应的算法,并调用Matlab Math Library 实现了求解算法,求解程序被编译生成了动态链接库(DLL),在应用程序中调用相应的算法DLL 就实现了对应算法的求解,计算完成后释放这些DLL 以避免其占用系统资源,这种方法编程简便,完全脱离Matlab 环境运行,求解的结果保存在指定的Access数据库中以备查询。用户可以直接打开数据库查找指定位构件的运动参数,也可以通过菜单使用图形界面查看运动参数,本文使用的图形界面使用了Matlab 引擎,用户感兴趣的图像局部可以任意放大观看,生成的图像可以直接粘贴到Word 等字处理软件中进行保存。通过以上方法,用户可以方便的查询、保存运动仿真的结果,进一步了解构件的运动情况。

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