1、S1-1ADM701,Section 1,November 2010Copyright 2010 MSC.Software CorporationMSC.Software 公司成都办事处公司成都办事处MSC.ADAMS 初级培训教程初级培训教程2010年年11月月(ADM701 教程讲解及练习)教程讲解及练习)Part Number:ADAM*V2005*Z*FSP*Z*SM-ADM701-NT1S1-2ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation23.0 推荐的经验推荐的经验本章内容:本章内容:建模
2、过程的一般方法建模经验:Parts建模经验:Constraints建模经验:Compliant Connections建模经验:Run-time Functions调试模型的技巧(DEBUGGING TIPS)S1-3ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation建模过程的一般方法建模过程的一般方法爬爬 走走 跑跑从实际工程的角度不断的理解机构的工作原理使用过去成功的建模技巧成块的建立模型定期测试,不断改进模型在建立动力学模型之前建立运动学模型在使用载荷驱动模型之前最好先用强制运动驱动模型使用起始速度为
3、 0 的强制运动可以先借助简单小模型来调试复杂模型S1-4ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation建模经验:建模经验:PARTS几何外形关联错误几何外形关联错误几何外形错误的加在了别的部件上。质量特性质量特性使用从 CAD 软件生成的几何外形(IGES、STL等等)可能会导致不精确的质量特性。保证转动惯量矩阵是合理的。使用 aggregate mass 工具可以快速的检查系统的质量和转动惯量。使用 Table Editor 可以快速的进行检查并处理每个部件的质量和转动惯量方面可能存在的问题特别小的
4、质量和转动惯量将导致离谱的高的系统频率。初始速度检查一下各部件的初始速度是一致的(可以查看输出的.out 文件)。S1-5ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation建模经验:建模经验:PARTS(续续)哑物体哑物体(Dummy parts)如果可能的话,尽量避免使用。如果确实需要,应该将其六个自由度全部约束,并赋以 0.0 的质量(而绝对不是 1e-20)。设计布置设计布置(Design configuration)建立模型,接近装配位置。建立模型,接近稳定的静平衡位置,如果可能的话。S1-6ADM
5、701,Section 1,November 2010Copyright 2010 MSC.Software Corporation建模经验:建模经验:CONSTRAINTS固定副固定副不需要,因为两个或多个部件之间如果没有相对运动,可以组合或直接合并为一个部件。使用固定副联结的额外部件会增加你系统中不必要的方程数量。将一个部件锁到大地上时,可能会由于很大的力臂导致巨大的力矩出现。如果确实需要,请将固定副加在轻的部件的质心上如果要将一个部件锁到大地上,可以考虑赋予其一个很大的质量和转动惯量,使其像大地一样运动。注意:注意:无论何时,只要有可能,就避免使用固定副。S1-7ADM701,Secti
6、on 1,November 2010Copyright 2010 MSC.Software Corporation建模经验:建模经验:CONSTRAINTS(续续)万向节约束万向节约束当万向节约束夹角达到 90 时会出现矩阵奇异的情况。强制运动强制运动强制运动应该只是时间的函数。注意:注意:避免冗余约束。S1-8ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation建模经验:建模经验:COMPLIANT CONNECTIONS弹簧阻尼器弹簧阻尼器保证弹簧阻尼器端部的两个标记点(DM(I,J)永远不重合。避免将弹
7、簧的刚度系数设为非常大的常数。避免将弹簧的阻尼系数设为 0。衬套力衬套力(Bushings)避免衬套力出现过大的转动。S1-9ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation建模经验:建模经验:RUN-TIME FUNCTIONSFunction Builder辅助完成函数建立。辅助完成函数语法校验。(部分)函数绘图功能。速度函数速度函数确认速度函数语法的正确。比如在一个阻尼力的函数表达式中:-c*VX(i,j,j,_),少了第四项。样条函数 使用光滑连续样条函数描述近似力。扩展样条数据的范围,使其超过需
8、要的范围。在运动驱动函数中使用三次样条(CUBSPL)比使用 Akima样条好。在力函数中使用 Akima 样条(AKISPL)比使用 Cubic样条好 Akima 插值方法计算起来更为快捷,可以用来定义曲面,但其导数通常情况下是不连续的。S1-10ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation建模经验:建模经验:RUN-TIME FUNCTIONS(续续)IMPACTs/BISTOPs在定义 IMPACT 或 BISTOP 函数中不要使用 1.0 作为指数。使用 IMPACTs/BISTOPs 建的模
9、型,在进行静力学求解时,相对于设计位置,应该会有轻微的压入。轮胎轮胎(Tires)使用轮胎建的模型,在进行静力学求解时,相对于设计位置,应该会有轻微的压入。如果只是后侧的轮胎有压入,表明静平衡的状态是有问题的,可能是“handstand”的情况,需要重新考虑静平衡分析。测试测试(Measures)设置你的 run-time 函数的测试。设置你的 run-time 函数各分量的测试。保证你所定义的函数不被 0 除。S1-11ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation建模经验:建模经验:RUN-TIME
10、 FUNCTIONS(续续)单位问题单位问题在模型中使用一致的单位(time,mass,stiffness,damping,and so on)。使用合适的单位(mass,force,time,and so on),不会出现过大或过小的数值出现。小心模型中不要出现如 1e+23 或 1e-20这样的数据。使用合适的长度单位 当模拟大的模型如飞机在跑道上,长度单位为 millimeters 似乎就不是很合适,相反的,要模拟一个比较小的模型,比如一个有动力的窗户开关模型 (由很多小的运动部件组成),长度单位为 meters 似乎也不是很合适。使用合适的时间单位 对于高频系统,如果使用 millis
11、econds 作为时间的单位就比使用 seconds作为时间的单位要合适。重力加速度重力加速度检查重力加速度的大小和方向。检查多元重力加速度的分量。S1-12ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation调试模型的技巧调试模型的技巧(DEBUGGING TIPS)模型校验模型校验可以列出运动部件和各种约束的数目。可以列出按照 Grueblers 公式计算的和系统中实际的自由度数。可以列出系统中所存在的冗余约束。给出系统中不一致的力、约束等等。有助于确定并减少引起出现警告的原因(不要忽略)。模型的拓扑结构
12、关系模型的拓扑结构关系文本方式或图形方式给出模型的拓扑结构关系Table Editor 可以按照表格方式给出模型中各对象的属性。S1-13ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation调试模型的技巧调试模型的技巧(DEBUGGING TIPS)(续续)图标所反映的信息图标所反映的信息在设计布置状态下分开的图标可能意味着定义的约束或载荷有问题。Table Editor是观察和修改模型比较方便的方式(尤其对于大的模型)。交互式仿真交互式仿真缺省状态是打开的(ON)。S1-14ADM701,Section 1
13、,November 2010Copyright 2010 MSC.Software Corporation模型显示更新模型显示更新当 ADAMS/Solver 进行仿真时,你可以选择不同的更新显示模式,以便于迅速的得到图形方面的反馈信息,如在每个:Output stepIntegration stepIteration仿真过程中图标打开与否仿真过程中图标打开与否有助于监视模型中各对象的动作行为。调试模型的技巧调试模型的技巧(DEBUGGING TIPS)(续续)S1-15ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corp
14、oration用户子程序用户子程序检查一下是否存在。在调试模型时,尽量减少使用用户子程序,从而减少错误来源。重力加速度重力加速度将重力加速度取消有助于快速找出错误并使调试过程易于进行。调试模型的技巧调试模型的技巧(DEBUGGING TIPS)(续续)S1-16ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation静力学分析静力学分析(Statics)只要可能,先进行静力学分析。如果静力学分析失败:打开 Model display update=at every iteration 以得到更多的视觉方面的信息。
15、找出并减少不需要的静平衡状态 可能存在多于一个的静平衡状态,ADAMS/Solver 可能分析得到你不想要的静平衡状态。检查一下模型中是否存在浮动的可动部件。检查一下所施加载荷的符号。取不同的求解参数 Alimit/Tlimit/Maxit/Stability 设置。检查一下接触力是否已经处于接触状态,如果没有接触,试着修改模型,使其接触。运行一次初始的动力学分析,这有助于确定模型仿真为什么没有找到静平衡位置。调试模型的技巧调试模型的技巧(DEBUGGING TIPS)(续续)S1-17ADM701,Section 1,November 2010Copyright 2010 MSC.Softw
16、are Corporation动力学分析动力学分析如果积分器一开始就失败:检查一下所加载荷的符号和大小。查看加速度,从中分析出出现了什么情况。先进行静力学分析试一下准静力学分析(quasi-static simulation)。试一下改变积分器求解的参数初始步长的设置 HINIT。试一下其它的积分器。调试模型的技巧调试模型的技巧(DEBUGGING TIPS)(续续)S1-18ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation调试模型的技巧调试模型的技巧(DEBUGGING TIPS)(续续)如果积分器仿真
17、过程中出现失败:看一下仿真结果的动画和输出曲线直至出现失败时刻,从中分析出现了什么情况。减少积分器求解的参数步长的设置 -HMAX。设置积分步长,不要漏掉重要的时间点。缩短积分步长,通过设置最大的积分步长,HMAX,使其小于冲击时间的长度。使用 HMAX,使 ADAMS/Solver 的解算过程类似于定步长的积分器。减小误差。试一下其它的积分器。S1-19ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation如果积分器的积分步长已经非常小:看看是否在载荷或运动驱动中存在突然改变的情形。减小模型以得到更为和谐的数
18、值。在在 time=0 时的初始速度时的初始速度使用.out 文件检查初始速度条件。调试模型的技巧调试模型的技巧(DEBUGGING TIPS)(续续)S1-20ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构问题描述问题描述确定要将开关机构向前向后扳动所需要最小的力。Left followerLeft contactRight followerRight contactBaseActuatorS1-21ADM701,Section 1,November 2010Copyr
19、ight 2010 MSC.Software Corporation练习练习 23:开关机构开关机构模型描述模型描述给出的开关机构模型中的部件包含一系列的几何外形和质量特性:S1-22ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构开关模型中还定义了一系列的构造点,可以用来定义模型中其它辅助的对象来描述模型,它们是:开关模型视图定义绝对坐标系 X 方向为向前的方向,而+Z 方向为向上的方向(参见问题描述部分)。S1-23ADM701,Section 1,November 2
20、010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构第一步:使用约束测试模型的右半部分第一步:使用约束测试模型的右半部分你可以将开关模型分为两个部分。在本练习中,首先将模型的右半部分进行约束并进行运动学的分析,再借助动画验证运动过程是否正确。然后在右半部分增加弹簧和接触力以完成机构的定义。然后再增加模型右半部分一些细节方面的定义。最后加上左半部分并完成整个系统级的仿真。这一步侧重点在于理解 crawl-walk-run 的建模方法。这一步,将先学习“爬行”。导入模型:导入模型:1.从目录 exercise_dir/switch_w
21、orkshop 下启动 ADAMS/View。2.从目录 exercise_dir/switch_workshop 下导入模型命令文件switch_start_new.cmd。此文件中包含建立名为 switch 的机构的命令。S1-24ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构设置模型的工作环境:设置模型的工作环境:1.关闭工作网格。2.修改原来 ADAMS/View 中视图的设置,使得可以从更为合适的角度观察模型。从菜单 Tools 下选择 Command Navi
22、gator。Command Navigator 窗口出现。3.在 Command Navigator 中菜单 View 下选择 Management 然后再选择Orient。前面已经提到,开关模型视图定义为绝对坐标系 X 方向为向前的方向,而+Z 方向为向上的方向。4.预置正视图的定义,所有其它的视图会基于正视图的定义确定。保证预置视图(front、top等等)都基于全局坐标系正确的定义。5.设置部件 actuator 的透明度(transparency)为 80%,在部件 actuator 上点击鼠标右键并选择 Appearance。6.关掉部件 base 上几何外形 base_main_g
23、eo 的显示。7.将部件 left_contact 和 left_follower 暂时失效。S1-25ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构8.关掉部件 left_contact 和 left_follower 的显示。9.设置重力加速度为沿着绝对坐标系-z 轴的方向。设置好的模型看起来应该如下图所示:S1-26ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23
24、:开关机构开关机构增加约束:增加约束:1.在设计点 POINT_1 上将部件 actuator 约束到部件 base 上,使其只留下一个相对于绝对坐标系的 g 轴转动。在部件 base(大地部件)上定义一个参考标记点,其方向为绝对坐标系的方向,定义此标记点的目的就是更容易选取绝对坐标系的矢量方向,设置该标记点的图标和颜色使其更容易看到,方便后面参考使用。Point_1S1-27ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构2.在设计点 POINT_2 上将部件 right
25、_follower 约束到部件 actuator 上,使其只留下一个相对于绝对坐标系的 zg 轴移动。Point_2S1-28ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构3.将部件 right_follower 的底部顶点与部件 right_contact 的上面曲线之间建立约束。在建立 curve-to-curve 约束时,先选择部件 right_follower 上底部红色的圆.right_follower_circle_geo,该圆平行于绝对坐标系的 X-Z 平面
26、,再选择样条曲线 right_contact_upper_bspline。S1-29ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构4.在设计点 POINT_8 上将部件 right_contact 约束到部件 base 上,使其只留下一个相对于绝对坐标系 g 方向的移动自由度。这一点从直觉上看起来可能不够合理,但这样做,能够保证模型中没有冗余的约束。另外,在进行仿真之前,移去所有的冗余约束是一种比较好的建模经验。Point_8S1-30ADM701,Section 1,N
27、ovember 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构5.在 actuator-to-base 回转副上添加一个约束驱动,使部件 actuator按照幅值为15.1 度周期为 1 秒的正弦方式进行振动。测试模型:1.校验模型 你的系统中应该有 0 个自由度,并且没有冗余约束。如果不是这样,检查你的模型看看什么地方出了问题。2.使用 1 秒钟 100 步进行一次运动学的仿真,看看机构运动的情况。3.存储模型。S1-31ADM701,Section 1,November 2010Copyright 2010 MSC.S
28、oftware Corporation练习练习 23:开关机构开关机构第二步:使用前后的接触力定义模型的右半部分第二步:使用前后的接触力定义模型的右半部分改变加在部件 right_contact 上的约束,使其能够转动并与部件 base 上右侧前后的端部的几何外形发生接触碰撞(该部件将像锯条一样来回运动),使用前面生成的 curve-to-curve 约束。在这一步你将开始“走“。在部件 right_contact 和部件 base 之间增加详细的连接关系:1.移去部件 right_contact 和部件 base 之间在设计点 POINT_8 处的移动副。2.在部件 right_contac
29、t 和部件 base 之间在设计点 POINT_13 处增加约束,使部件 right_contact 只能相对于绝对坐标系的 g 轴转动。S1-32ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构Point_13S1-33ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构3.在部件 right_contact 的前端和部件 base 的右前角处定义一个 s
30、phere-to-plane 的接触碰撞力。提示:可以使用已有的right_contact.PLANE_72 和 base.ELLIPSOID。注意:使用几何外形球对平面的碰撞有助于加快解算的速度。S1-34ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构定义碰撞接触力的参数如下:Stiffness:1e5(milliNewton/mm)Force exponent:2.2Damping:1e2(milliNewton-sec/mm)Penetration depth:1e
31、-3 mmStatic friction:offDynamic friction:offS1-35ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构4.在部件 right_contact 的后端和部件 base 的右后角处定义一个 sphere-to-plane 的接触碰撞力。提示:可以使用已有的right_contact.PLANE_128 和 base.ELLIPSOID_73。注意:注意:定义碰撞接触力的参数与前同。S1-36ADM701,Section 1,Novem
32、ber 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构在模型的右半部分增加弹簧力:1.在部件 right_follower 上的 POINT_2 点处和部件 actuator 上的POINT_4 点处建立弹簧力,使用下面的参数:Stiffness:600(milliNewton/mm)Damping:0.1(milliNewton-sec/mm)Free length:9 mm建立弹簧时你需要使用标记点,因此首先需要分别在对应部件对应的设计点上生成一个标记点。Point_4Point_2S1-37ADM701,Sectio
33、n 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构2.使用下面用户输入的参数覆盖原缺省的弹簧几何外形设置:Coil count:10Diameter of spring:2.5 mmDamper diameter at ij:0,0Tip length at ij:0,0Cup length at ij:0,0在没有任何对象被选情况下,从菜单 Edit 下选择 Modify。按照 geometry 过滤模型中的对象,然后双击 SPRING_1再选择 spring_graphic(注意不是 damper
34、_graphic)。要使其比较突出,可以将其颜色改为 white。S1-38ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构测试模型:测试模型:校验模型现在系统应该有一个自由度和一个冗余约束。在现在情况下,冗余约束会有影响么?S1-39ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构要替换部件 right_follower 对部件 right_conta
35、ct 的 curve-to-curve 的约束为碰撞载荷:1.移去在部件 right_follower 上顶部圆和部件 right_contact 上曲线之间的 curve-to-curve 的约束。2.在部件 right_follower 上顶部圆和部件 right_contact 上曲线之间建立一个 curve-to-curve 的接触碰撞力,使用前面第 28 页片子中第三步相同的曲线和前面第 34页片子中第三步相同的接触参数。注意:注意:输入 I 和 J 曲线后,要按一下键盘上的 Enter键以使其起作用。S1-40ADM701,Section 1,November 2010Copyri
36、ght 2010 MSC.Software Corporation练习练习 23:开关机构开关机构测试模型:测试模型:1.校验模型现在你的系统中应该有两个自由度,而没有冗余约束。2.仿真模型设置 Update Graphics 为 Never。打开 Debug/EPRINT,这样的话你可以直接监视 ADAMS/Solver的仿真。(在主工具箱 Main Toolbox 的底部的下拉式菜单将 NoDebug 改为 EPrint)。进行一次 1 秒钟 200 步的动力学仿真。3.动画回放一下仿真的结果,看看机构的运动过程是否正确。S1-41ADM701,Section 1,November 201
37、0Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构生成部件生成部件 actuator 和部件和部件 base 之间的止档力:之间的止档力:1.在部件 actuator 的顶部和部件 base 之间生成一个 sphere-to-plane 接触碰撞力。当部件 actuator 转动时,部件上的球将于部件 base 上的与 Y-Z 平面平行的表面相碰撞,使用下列参数来定义:Sphere:在部件 actuator 上在设计点 POINT_12 处半径为 0.5 mm的球体。Plane::在设计点 POINT_10 处平行于绝对坐标系 Y-
38、Z 平面的小平面。Contact parameters:与前面第 34 页片子相同的参数。S1-42ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构首先在部件 actuator 上设计点 POINT_12 处生成一个半径为 0.5mm 的球体,用此球体定义 sphere-to-plane 的碰撞接触力。然后在部件 base 上在设计点 POINT_10 处生成一个小平面。注意:注意:要生成这个小平面,你需要先设置工作网格的中心位置和方向。设置其中心位置为 POINT_10
39、处,方向为绝对坐标系的Y-Z 平面,同时你需要减小工作网格的尺寸(比如,size=20),确认你在选择点的时候是网格点而不是几何特征点。Point_12Point_10S1-43ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构生成的小平面应该如下图所示:同样,使用第 34 页的接触参数来定义。S1-44ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构2.
40、生成接触碰撞力后,将球体和小平面的显示设为透明,等效于将其隐去。3.在部件 actuator 的后部和部件 base 之间再生成一个 sphere-to-plane 的接触碰撞力,使用下面的参数:Sphere:部件 actuator 上在设计点 POINT_11 处半径为 0.5 mm的小球。Plane:部件 base 上在设计点 POINT_9 处与绝对坐标系 Y-Z 平面平行的小平面。Contact parameters:与第 34页的参数同。Point_11Point_9S1-45ADM701,Section 1,November 2010Copyright 2010 MSC.Softw
41、are Corporation练习练习 23:开关机构开关机构首先在部件 actuator 上设计点 POINT_11 处生成一个半径为 0.5mm 的小球,使用此小球来定义 sphere-to-plane 的接触力。然后在部件 base 上设计点 POINT_9 处生成一个平行于绝对坐标系 Y-Z 平面的小平面。注意:注意:要生成这个小平面,你需要先设置工作网格的中心位置和方向。设置其中心位置为 POINT_9 处,方向为绝对坐标系的Y-Z 平面,同时你需要减小工作网格的尺寸(比如,size=20),确认你在选择点的时候是网格点而不是几何特征点。你需要将此小平面旋转 180,这样的话,该几何
42、外形的定位标记点才指向部件 actuator。4.生成接触碰撞力后,将球体和小平面的显示设为透明。S1-46ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构使用约束驱动方式作为输入测试模型:1.检验模型。你的系统中应该有两个自由度,并且没有冗余约束存在。2.仿真模型,观察一下模型运动情况是否正确。使用积分器 GSTIFF,SI2 Formulation。提示:提示:从菜单 Settings 下选择 Solver 然后再选择 Dynamics。进行 1 秒钟 200 步的动力
43、学分析之前先进行一下静力学分析。.3.绘制你刚刚生成的两个力的幅值随时间的变化曲线,如果这两个力的值没有返回非 0 的数值,你需要再进一步的检查一下模型。4.在 ADAMS/PostProcessor 中绘制在部件 actuator 上回转副的力矩(由于输入的驱动引起的)随时间的变化情况。在同一页面上,显示模型的动画,你能够解释曲线么?直觉上是否正确?S1-47ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构S1-48ADM701,Section 1,November 20
44、10Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构S1-49ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构使用力来驱动模型:使用力来驱动模型:1.移去加在部件 actuator 和部件 base 之间回转副上的约束驱动。2.在部件 actuator 上设计点 POINT_15 处沿着绝对坐标系 XG 方向添加一个力,该力为随部件一起运动(moving with the body),使用下面的函数表示:f(t)
45、=-200*timePoint_15S1-50ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构测试模型:测试模型:1.校验模型你的系统中应该有三个自由度,并且没有冗余约束存在。2.生成一个基于在部件 right_contact 和部件 base 之间右后侧的接触力幅值名为contact_force 的函数测试。3.生成一个传感器,当上一步所生成的测试大于等于 1mN(误差为 1e-3 mN)时触发。触发后,ADAMS/Solver 应该停止当前的仿真步并继续进行后面的脚本仿
46、真步。使用 Function Builder 的辅助功能完成函数测试的建立。在 Function Builder,可以取得测试所需要的对象,选择 Browse 然后再选择想要测试的碰撞力 contact_force,将对象的名称加在表达式中即可。S1-51ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构记住,加在模型中的力是时间的函数。在你运行仿真前,你并不知道扳动开关需要多大的力,因此你也就不知道需要仿真多长时间。由于这个原因,你需要定义传感器。在做仿真的时候,可以先进行
47、较长的仿真时间,让传感器在满足触发条件时去自动的停止仿真过程。4.使用下列 ADAMS/Solver 的命令建立仿真脚本进行脚本式仿真以观察模型的运动过程是否正确:INTEGRATOR/SI2,GSTIFFEQUIL/STATIC,ALIMIT=0.1d,TLIMIT=1,MAXIT=50SIMULATE/STATICSSIMULATE/DYNAMIC,END=10.0,DTOUT=.01DEACTIVATE/SENSOR,ID=SIMULATE/DYNAMIC,DURATION=0.5,DTOUT=.01使用此脚本进行仿真,直到传感器被触发时,然后将传感器失效再进行后面的 0.5 秒钟的动力
48、学仿真。5.存储你的模型。S1-52ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构第三步:细化机构的右半部分第三步:细化机构的右半部分将原来在设计点 POINT_13 处的约束(部件 lower_contact 和部件 base 之间的回转副)替换为更为真实的连接关系,以得到更为逼真的动力学效应,如滑动和脱开等。要细化部件要细化部件 right_contact 上的连接关系:上的连接关系:1.移去部件 right_contact 和部件 base 之间在设计点 POINT
49、_13 处的回转副。Point_13S1-53ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构2.在部件 right_contact 和部件 base 之间在设计点 POINT_8 处加约束,使部件 right_contact 只允许沿着绝对坐标系的 zg 方向移动和相对于 g 方向的转动。你将生成两个原始约束(点线约束和平行约束)。你需要保证每个原始约束的 J 标记点都属于部件 base,而不属于部件 right_contact。这一点对仿真结果的影响很大,如果不是很理解
50、的话,请咨询有关帮助或直接向老师提问Point_8S1-54ADM701,Section 1,November 2010Copyright 2010 MSC.Software Corporation练习练习 23:开关机构开关机构3.在部件 right_contact 上的曲线 underside和部件 base 上设计点 POINT_13 处生成 point-to-curve 的接触碰撞力,使用第618 页的接触参数,除了 刚度 stiffness 设为 1e8 N/mm 外。首先在部件 base 上设计点 POINT_13 处生成一个标记点,用此标记点作为定义 point-to-curve