尹 芳,杨路飞,宋少云
(武汉工业学院机械工程学院,湖北武汉430023)
然而,对机械玩具进行仿真的相关研究在国内期刊上很少见到。中科院自动化研究所的张志刚等[1]从仿生学的角度出发,按照一系列步骤,编制了机器鱼的设计与仿真软件,实现了由生物特征到机器鱼实现的过渡,方便了机器鱼的设计;广东番禺职业技术学院的廖春蓝[2]在SolidWorks中使用Animator对一个电动飞机进行运动学的仿真,作者发现它能够把玩具的复杂机构运动过程生动的表达出来,对于教学和科研都具有积极的意义。
笔者在对市场上数十种机械玩具做了测绘,建模和仿真后,研究了其中的一些关键技术并提出了一套解决方案。在仿真的玩具之中,一款白鳍豚顶球玩具设计最巧妙,也很有代表性,这里主要以它为例来阐述玩具动力学仿真中的一些关键技术。
一个拆去了一半外壳的白鳍豚顶球玩具如图1所示。该玩具在上紧发条以后,会出现两种状态。第一种状态是白鳍豚站立,球在上方连续旋转,而身体则一顿一顿的往前移动;第二种状态是到某个时刻,白鳍豚突然倒地,然后围绕一个点转圈,转到一定圈数后,白鳍豚又突然直立,转入第一种状态。
图1 白鳍豚玩具的三维模型
图2是根据图1绘制的机构运动简图。为清晰起见,这里面忽略了发条牙箱和玩具外壳。发条牙箱是一个靠卷簧驱动的齿轮减速器,其高速轴与图2中的标准齿轮3相连,而其低速轴则与变齿距的不完全齿轮4的轴相连接。这样,从发条牙箱出发,有两套独立的传动系统。上面一支,从标准齿轮3经过冠齿轮2进行速度变向,冠齿轮2与球1同轴,该轴可以在壳体的通孔中匀速回转,这是一个顶球动作,速度很快。另外一支,低速轴的运动从变齿距的不完全齿轮4传出,传到不完全齿轮6,而该齿轮上固定了白鳍豚的两鳍6'。为了保证不完全齿轮6的回位,这里也使用了弹簧5。整套机构最巧妙的地方就在齿轮4和齿轮6的设计上。齿轮4的变节距产生了一顿一顿的效果,而其无齿部分使得4和6发生脱离,在脱离的时候,由于从4到5的传动被中断,从而使得两鳍6'不能与地接触,平衡被破坏而倒地,一旦倒地后,由于球1仍旧在转动,这种转动被地面所限制,从而产生一个静摩擦力,该摩擦力对白鳍豚身体的触地点产生一个力矩,驱动白鳍豚开始定轴转动。
塑料玩具的外表面一般都是比较复杂的曲面,如何对这些复杂的曲面反求而进行三维建模,有许多方法。经过反复摸索,笔者得出了一种简化的建模方法(因白鳍豚玩具的外壳相对简单,这里以另一款金鱼玩具的外壳建模来说明)。
首先,对现有的外壳表面数据点取样。其方法如下。
(1)把玩具外壳放置在白纸上。
我来到了一座大厦前,大厦的玻璃幕墙上正在实时转播着地球人和外星人大军作战的情况。只见外星人的飞碟纷纷被击落了,眼看着人类就要胜利了,忽然有几架外星人的飞碟使用了吸物技术(一种能吸走轻型物体的科技),把地球士兵的氧气面罩全部吸走。只见一排排刚才还在英勇作战的士兵,丢掉了手中的武器,张着嘴巴大口地呼吸,但是空气中没有一点点氧气!一排排的地球士兵涨着通红的脸,成片地跪倒在地上,失去了战斗力。形势瞬间发生了逆转,地球人被外星人打败了,失去抵抗能力的地球人被外星人的飞碟肆意攻击……
(2)用铅笔沿着外壳的轴线方向的两侧绘制曲线。
(3)把两侧曲线均匀分为合适的等分(设为N等分)。
(4)用铝丝沿着等分在外壳上弯折,使之与玩具的表面紧密贴合。
(5)取下铝丝,在白纸上描出其曲线轮廓。
(6)以此把所有等分处的曲线轮廓描出。
(7)对各条曲线轮廓再等分,用直尺测量出各点的坐标。
接着,根据上述取样所得到的等分曲线,在某三维软件中建模。(下面以Pro/E为例来说明)首先在Pro/E中以某一个面为基准,创建N个平行面如图3(a),接着分别在各个平面上创建曲线,这些曲线来自于上述取样的曲线如图3(b),然后使用混合曲面的方式依次连接各曲线,并设定其距离,得到玩具的外壳如图3(c)。
图3 玩具壳外表面的建模
使用上述方法,可以生成大多数玩具的外壳。不过有些外壳形状复杂,此时可以把它先分解成为几个相对规则的部分,然后对每一部分采取上述方法来建模,最后再把这些部分拼接在一起,形成一个完整的外壳。
玩具的外壳除了起到装饰性的作用以外,还起到了机架的容纳,支撑作用。因此在外壳的内面,结构也是十分复杂的。白鳍豚玩具的外壳内面结构如图4(a)所示,在其内表面上,存在着很多凸台,凹槽,狭长板等结构,这些结构主要用于定位发条牙箱,齿轮,弹簧等结构,其位置是很重要的。这些小结构的位置和形状尺寸很难直接测绘,为此,本文采用了变通的方法。
首先,把该外壳平置在桌面上,正对着照相,然后把相片导入到计算机并存储为JPG格式,打开AutoCAD,把该图片插入到AutoCAD中并放大到合适的大小,然后在AutoCAD中,先取一个关键点(一般是某个孔的中心)作为坐标原点,然后测量其它关键点与该原点的距离,从而得到这些内部结构之间的相对位置。显然,这些相对距离与实际结构之间的相对距离是不一样的。为了得到其实际值,只需要在实际结构上找比较好测量的两个点来测量其距离,然后与图中的距离相比较,从而得到一个比例,然后在AutoCAD中移走此图片,而把尺寸按照此比例放缩到实际尺寸即可,如图4(b)。
图4 玩具内表面的AutoCAD辅助定位法
白鳍豚玩具在桌面上产生的各种动作,从力学角度考虑,它属于多刚体动力学领域。而ADAMS是做计算多刚体动力学计算最有效的软件之一[3]。为了在ADAMS中对该白鳍豚玩具进行动力学仿真,需要一整套严格的步骤,阐述如下。
(1)导出三维模型。在白鳍豚玩具的三维建模软件中,把整个装配体导出为Parasolid格式。
(2)在ADAMS中导入三维模型。从菜单file>import对话框中,选择parasolid格式类型,导入模型。
(3)浏览模型并重命名。使用tools>Database Navigator打开数据库导航器,勾选HighLight并依次浏览各个零件,删除不需要的零件,然后逐个的给需要的零件重命名。重命名的目的是为了便于下面的施加约束。
(4)设置各个零件的质量属性。使用Database Navigator导航,依次选中各个零件,设置其质量(由体积以及密度来定义),输入各个零件的密度,并开启重力,设置合适的重力方向。
(5)休眠所有构件。为了保证约束的施加成功,需要逐个调试约束,这样,需要先休眠所有构件,并隐藏外壳以便观察内部结构。
(6)激活原动件以及固定在其上的零件。首先激活发条牙箱,并在它和ground之间施加固定副。
(7)激活与牙箱直接相连接并有相对运动的构件并施加运动副。这里面以转动副居多,每激活一个构件后,施加运动副,然后在该运动副上施加一个驱动,考察其运动的可靠性。
(8)重复(7),直到所有构件都被激活并施加了约束。注意要删去前面为了调试而用的运动约束。
(9)创建地面,在地面和白鳍豚的身体两鳍之间建立CONTACT,并删除发条牙箱与GROUND之间的固定副,并做仿真。
按照上述方法对白鳍豚做的仿真如图5所示。图5(a)是直立状态,白鳍豚一顿一顿的往前移动,同时球在高速旋转;图5(b)是倒地状态,白鳍豚围绕壳与地面的触点而转动。
图5 白鳍豚的仿真效果
对市场上现有的机械玩具进行测绘,建模,装配并做仿真,无论对于工程力学,机械原理的教学,还是对于玩具的创新设计及改进设计,都具有重要的意义。在对数十种机械玩具做测绘仿真的基础上,研究了其中的一些关键技术,并阐明了解决方法。这些方法对于玩具的类似研究会具有一定的参考意义。
[1] 张志刚,王硕,桑海泉.仿生机器鱼玩具的机构设计、仿真与实现[J].机器人技术与应用,2004(3):31-35.
[2] 廖春蓝.基于SolidWorks Animator的玩具机构动态仿真研究[J].广东番禺职业技术学院学报,2009,8(1):49-52.
[3] 宋宇,陈无畏,陈黎卿.基于 ADAMS与MATLAB的车辆稳定性控制联合仿真研究[J].机械工程学报,2011,47(16):86-92.