- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈基于VPython的机构运动仿真研究及实现
摘要:近年来有许多针对机构运动学虚拟仿真技术的 研究,用来辅助教学。其中,采用VPython对机构运动学 教学进行三维图形编程是一种易学易用、功能强大的选择。 通过建立机构运动的数学模型和参数化绘图,实现了常用 平面连杆机构的运动分析和仿真,展示了 VPython用于辅 助教学的设计思想与实现方法,从而降低仿真开发难度, 提高了机构研究设计的效
率和效果。关键词:曲柄滑块机构;Python ; VPython; 虚拟仿真;三维图像编程
1引言
在机构运动学的教学中,人们经常用虚拟的三维软件 来形象直观地表达机构运动过程。用于机械动态模拟的方 法和软件很多,其中VPython是建构在Python程序设计语 言之上的一个模块,它在可视觉化方面有丰富的功能及方 便的操作介面。应用VP ython我们可以创造一个能够实现 交互的虚拟世界,可编写某一机构的具有交互作用的三维 动画,进而更加形象地表示机构的外形、运动过程、工作 状态等[1]。同时,由于V Python的简单易学,在机械设计 课程中加入简单的VPyth on程序编写,可以使那些非程序 设计人员体验到编程的乐趣。
基于这样的设计思想,本文介绍了用VPyt hon虚拟仿 真曲柄滑块机构的运动设计与实现。
2基本技术介绍
Python是一种面向对象的程序语言(OOP),于1990年
由荷兰科学家Gui dovanRosse m所发明。相较于其它编程
语言,Pytho n极其简单易学。它内置了许多常用的高级数 据结构(如字典、列表、集合等)和功能模块(如文本处 理、网络、多媒体、数据库和GUI等),使人们可以把精力 集中在要解决的问题算法上,而不用考虑低层实现细节。
Pyt hon开发效率非常高,据估计,实现同样功能程序,
Python的开发周期比Java开发的缩短4~6倍。初学者通过 很短时间的学习即可写出复杂的程序[2, 3]o
V Python是一个建立在Python上的视觉化图形模块, 其创立者是美国卡内基美隆学生DavidShe rero VPytho n 能使三维可视编程更容易。它提供了一组三维元件(素材), 如球状体,柱状体和线型等。通过Vector操作函数可以很 容易进行时空变换。进而,允许用户用鼠标直接操作屏幕 上[1]对象。
目前,VPython广泛应用于高等数学、平面几何、地理
和物理等教学中,并取得了较好的教学效果[2]。
3机构运动分析的数学模型
机构运动建模
该曲柄滑块机构包括3个运动构件,各构件和杆矢的 方位角如图1所示。构件1 (0B)作匀角速圆周运动,构件 2 (BC)作复杂的平面运动,其运动方式可分解为随同构件 1的转动和绕B点的转动。构件3 (C)为往复运动[4, 5] o 假定C块中心点与A处于同一水平面上。
图1曲柄滑块机构示意图
运动分析
经分析得知,只要确定了各构件在某一时刻相对于初 始位置的转动角度,就可以确定各构件在这一时刻的位置 及运动方向,进而模拟出整个机构的运动。
下面用矢量方程解析法来分析各构件转角之间的关系:
如图1所示,在机构示意图中建立直角坐标系,以0 为原点,0C为X轴,在0点垂直0C向上为y轴。并标出各 杆矢的方位角。其中,B0与X轴正向夹角为a; BC与X轴 正向夹角为B。杆1匀角速度转动,其转角大小随时间变 化。杆1是原动件,其它各杆都随杆1运动。
可视a为已知,0点坐标为(0, 0),设0 B与BC的长 度分别为rl与r2,且是设定量,则可求在任意时刻,B点
(XB,YB) , C点(Xc, Yc)的运动轨迹。
由已知可得:转角B与转角a的关系式: rlsin a =r2sin B (1)
B点坐标为:
XB = r lcos a (2)
YB =rlsina (3)
C点坐标为:
Xc = r lcos a r2cos B (4)
Yc = 0(5)
由(1)式得出:
B =arcsin(rlsin a /r2) (6)
把(6)式代入(4)得:
Xc = rlcos a r2co s[arcsin(r lsin a /r2) ] (7)
所以可知在任意时刻,B与C点轨迹都是rlr2及c[的 关系式。
因为杆1为等角速圆周运动,设角速度为3, 3为常量, Q 0为杆1初始角,故a=a03t。又r 1 r2已知,故 氏C两点的坐标是随a也即随时间t变化的函数。
4仿真及实现
程序设计思想
首先我们在VPythonfor idle开发环境中导入Visual 与ma th模块,三维物体都处在Visual的s cene类中显示 与控制。(程序中出现在“#”后的为程序的注释,以增加 程序的可读性与可维护性,程序运行时会忽略。下同。)先 进行scene相关属性的设置
□
文档评论(0)