ADAMS教程:手把手教你为motion添加STEP函数(附:STEP函数全解析)
ADAMS的step函数
一、STEP函数是一个阶跃性的过渡函数,用来描述如驱动、载荷的上升或下降、打开或关闭。
常用来描述一个值或一个表达数需要从一个常数变成两个常数的情形。
可以在函数编辑器直接输入即可。
其语法规则是:STEP(q,q1,f1,q2,f2).其中q是变量,表示q在q1的范围时取值f1,q在q2的范围时取值f2.二、求助:关于step函数论坛上已有不少帖子进行讨论了,STEP(time,x ,x ,h ,h )函数为一连续阶梯函数,其中x ,x 是关于时间的自变量,h ,h 分别为函数的初始值和最终值。
我是新手,简单的能看明白,可是一些复杂的就不明白了,比如V el0(time)=STEP(time,0,0,2,-500)-STEP(time,8,0,10,-500)-STEP(time,30,0,32,-500)+STEP(time,33,0,35,-500)。
该如何理解啊?还有,如果我想让一个运动副速度0-5s为0,6-10s为20m/s,11-12s为0,13-16s为10m/s,到20s速度又变为0,该如何写step函数?谢谢大虾指导!~see it!/forum/post/view?bid=23&id=318421&sty=1&tpg=1&age=100step是不能加匀速度的,它加的是瞬时速度。
比如step(time,0,0,1,1)+step(time,2,0,3,2)+step(time,4,0,5,3)是0为0,1为1,2不变,3加2,4不变,5加3hehe ,step函数的意思好像和qjj8171说的有点区别呢,如果以qjj8171的说法,以函数(step(time,0,0,1,1)+step(time,2,0,3,3))*time来定义一个物体的运动,也就是说0-1时间内的速度为0了,实际不是这样的。
step函数是一个插值计算。
如step(time,2,0,3,1)那么在2-3内的计算的值是是((1-0)/(3-2))*(time-2)。
ADAMS中step函数和If函数的最全用法
step函数的两种表示方法相信大家对s tep的用法已经是相当的熟练了,在这里我只是想把自己对step的理解总结一下,希望能对大家有所帮助。
首先简要介绍下step的形式及其各个参数的物理含义:格式:STEP (x, x0, h0, x1, h1)参数说明:x ―自变量,可以是时间或时间的任一函数x0 ―自变量的ST EP函数开始值,可以是常数或函数表达式或设计变量;x1 ―自变量的ST EP函数结束值,可以是常数、函数表达式或设计变量h0 ― STEP函数的初始值,可以是常数、设计变量或其它函数表达式h1 ― STEP函数的最终值,可以是常数、设计变量或其它函数表达式而在实际的运用过程中,它有两种表示方法,一种是嵌入式:STEP (x, x0, h0, x1,(STEP (x, x1, h1, x2,(STEP (x, x2, h2, x3, h2) ))))(当然你可以嵌套更多的)另一种就是增量式:STEP (x, x0, h0, x1, h1)+STEP (x, x1, h2, x2, h3)+STEP (x, x2, h4, x3, h5)+……我常用的是后者,下面就举例(附件请参考s tep.cmd文件)说明下他们的区别。
其实他们都可以表示同一种你所需要的曲线,如下所示曲线:用嵌入式可表示为:step(time,0,0d,3,(step(time,3,0d,5,(step(time,5,5d,8,(step(time,8,5d,10,(step(time,10,0d,12,0d)))))))))用增量式表示为:step(time,3,0,5,5)+step(time,5,0,8,0)+step(time,8,0,10,-5)在使用后者的过程中很多人会误表示为:step(time,0,0d,3,0d)+step(time,3,0d,5,5d)+step(time,5,5d,8,5d)+step(time,8,5d,10,0d)+step(time,10,0d,12,0d)还有一种是错误的:step(time,3,0d,5,5d)+step(time,8,5d,10,0d)这两种都是错误的表示的方法,不信你自己可以试试的总结:从上面的例子中大家可以清楚的看出,增量式明显比嵌入式要简洁的多,但是嵌入式却比增量式思路要清晰、严谨的多,他们各有自己的优点,所以大家可以针对性的使用他们,习惯用什么方式就用什么方式,当然他们还有其他的不同点我还没想到的,也欢迎你多多提出意见。
adams STEP函数
STEP函数adams,做一个驱动,先在1秒内加速至30d/s,再匀速保持2秒,最后在3秒内减速制0d/s,用step写格式:STEP (x, x0, h0, x1, h1)参数说明:x ―自变量,可以是时间或时间的任一函数x0 ―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;x1 ―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量h0 ―STEP函数的初始值,可以是常数、设计变量或其它函数表达式h1 ―STEP函数的最终值,可以是常数、设计变量或其它函数表达式每一个叠加“+”是在前一个表达式的基础上叠加而不是一味的增加比如第二部是保持匀速所以在第一步加好的基础上增量应该是零正确的表达式:step(time,0,0,1,30)+step(time,1,0,3,0)+step(time,3,0,6,-30)adams帮助文档中解释如下:Definition Returns an array of y values, on a step curve, corresponding to the xvalues.Format STEP (A, xo, ho,x1,h1)Arguments AAn array of x values.xoValue of x at which the step starts ramping from ho to h1.hoValue of h when x is less than or equal to xo.x1Value of x at which the step function reaches h1.h1Value of h when x is greater than or equal to h1.Example The following example steps smoothly from 0.0 to 1.0 over the interval(2.0, 8.0). It has tails from 0 to 2 and from 8 to 10.STEP(SERIES(0, 0.1, 100), 2.0, 0.0, 8.0, 1.0)。
ADAMS的几个函数使用
ADAMS的几个函数使用ADAMS的几个函数使用ADAMS的函数种类比较多:1、Displacement Functions2、Velocity Functions3、Acceleration Functions4、Contact Functions5、Spline Functions6、Force in Object Functions7、Resultant Force Functions8、Math Functions9、Data Element Access10、User-Written Subroutine Invocation11、Constants & Variables一、几个常用函数的说明1、STEP函数格式:STEP (x, x0, h0, x1, h1)参数说明:x―自变量,可以是时间或时间的任一函数x0 ―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;x1 ―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量h0 ― STEP函数的初始值,可以是常数、设计变量或其它函数表达式h1 ― STEP函数的最终值,可以是常数、设计变量或其它函数表达式2、IF函数格式:IF(表达式1: 表达式2, 表达式3, 表达式4)参数说明:表达式1-ADAMS的评估表达式;表达式2-如果的Expression1值小于0,IF函数返回的Expression2值;表达式3-如果表达式1的值等于0,IF函数返回表达式3的值;表达式4-如果表达式1的值大于0,IF函数返回表达式4的值;例如:函数IF(time-2.5:0,0.5,1)结果: 0.0 if time < 2.50.5 if time = 2.51.0 if time >2.53、AKISPL函数格式:AKISPL (First Independent Variable, Second Independent Variable,Spline Name, Derivative Order) 参数说明:First Independent Variable——spline中的第一个自变量Second Independent Variable (可选) ——spline中的第二自变量Spline Name——数据单元spline的名称Derivative Order (可选) ——插值点的微分阶数,一般用0就可以了例如:function = AKISPL(DX(marker_1, marker_2, marker_2), 0, spline_1)spline_1用下表中的离散数据定义自变量(x): 函数值(y):-4.0 -3.6-3.0 -2.5-2.0 -1.2-1.0 -0.40.0 0.01 0.42 1.23 2.54 3.6二、实例说明1、分段函数的表示在ADMA中如何输入力或位移、速度、加速度等的分段曲线,这一直是一个值得注意的问题。
adams运动仿真教学
起重机的建模和仿真,如下图所示。
1)启动ADAMS1. 运行ADAMS,选择create a new model;2. modal name 中命名为lift_mecha;3. 确认gravity 文本框中是earth normal (-global Y),units文本框中是MKS;ok4. 选择setting——working grid,在打开的参数设置中,设置size在X和Y方向均为20 m,spacing在X和Y方向均为1m;ok5. 通过缩放按钮,使窗口显示所有栅格,单击F4打开坐标窗口。
2)建模1. 查看左下角的坐标系为XY平面2. 选择setting——icons下的new size图标单位为13. 在工具图标中,选择实体建模按钮中的box按钮4. 设置实体参3.53.数;On ground Length :12Height:4Depth:85. 鼠标点击屏幕上中心坐标处,建立基座部分6. 继续box建立Mount座架部件,设置参数:New partLength :3Height:3Depth: 3.5设置完毕,在基座右上角建立座架Mount部件7. 左键点击立体视角按钮,查看模型,座架Mount不在基座中间,调整座架到基座中间部位:①右键选择主工具箱中的position按钮图标中的move按钮②在打开的参数设置对话框中选择Vector,Distance项中输入3m,实现Mount 移至基座中间位置③设置完毕,选择座架实体,移动方向箭头按Z轴方向,Distance项中输入2.25m,完成座架的移动右键选择座架,在快捷菜单中选择rename,命名为Mount8. 选择setting—working grid 打开栅格设置对话框,在set location中,选择pick 选择Mount.cm座架质心,并选择X轴和Y轴方向,选择完毕,栅格位于座架中心选择主工具箱中的视角按钮,观察视图将spacing—working grid ,设置spacing中X和Y均为0.510. 选择圆柱实体绘图按钮,设置参数:New partLength:10mRadius:1m选择座架的中心点,点击左侧确定轴肩方向,建立轴肩,单击三维视图按钮,观察视图11. 继续圆柱工具,绘制悬臂①设置参数:New partLength: 13mRadius: 0.5m②选择Mount.cm作为创建点,方向同轴肩,建立悬臂③右键选择新建的悬臂,在快捷菜单中选择part_4——Rename,命名为boom④选择悬臂,移动方向沿X轴负向,实现悬臂的向左移动:1)右键选择工具箱中的position按钮中的move按钮2)在打开的参数对话框中,选择vector,distance中输入2m,点击悬臂,实现移动⑤右键点击实体建模按钮,在弹出的下一级菜单中选择导圆角工具,设置圆角半径为1.5m⑥左键选择座架上侧的两条边,点击右键,完成倒角12. 选择box按钮图标,创建铲斗①设置参数:New partLength : 4.5Height: 3.0Depth: 4.0②选择悬臂左侧中心点,命名为bucket,建立铲斗③右键选择position按钮下一级按钮move按钮④在打开的参数对话框中,选择vector,distance中输入2.25m,选择铲斗,移动方向沿全部坐标系X轴负方向,实现铲斗的横向移动⑤在主工具箱中,选择三维视图按钮,察看铲斗⑥继续选择move按钮,设置参数中选择vector,distance中输入2.0m,选择铲斗,移动方向沿全部坐标系 Z轴负方向,实现铲斗的纵向移动⑦移动完毕,选择主工具箱中的渲染按钮render,察看三维实体效果,再次选择render按钮,实体图则以线框显示⑧右键点击实体建模按钮,再弹出的下一级按钮中选择倒角工具,在打开的参数设置对话框中,设置倒角Width为1.5m,⑨选择铲斗下侧的两条边,完毕单击右键,完成倒角⑩右键选择实体建模工具按钮,再下一级按钮中选择Hollow按钮,在打开的参数设置对话框中设置参数Thickness为0.25m选择铲斗为挖空对象,铲斗上平面为工作平面,完毕点击右键挖空铲斗3)添加约束根据图示关系,添加链接①在主工具箱中,选择转动副,下方的参数设置对话框中,设置参数 2 bod——1 loc和pick feature②选择基座和座架,然后选择座架中心Mount.cm,旋转轴沿y轴正向,建立座架与基座的转动副③继续用转动副按钮,建立轴肩与座架间的转动副,设置参数为2 bod——1 loc 和Normal to grid,选择轴肩和座架,再选择座架中心点,建立转动副④继续用转动副按钮,建立铲斗与悬臂间的转动副,设置参数为2 bod——1 loc 和Normal to grid,选择铲斗与悬臂,再选择铲斗下侧中心点,建立转动副⑤选择主工具箱中的平动副,设置参数2 bod——1 loc和pick feature,选择悬臂与轴肩,再选择悬臂中心标记点,移动方向沿X轴正方向,建立悬臂和轴肩间的平动副⑥右键点击窗口右下角的Information 信息按钮,选择约束按钮,观察是否按要求施加约束,关闭信息窗口⑦检查完毕,选择仿真按钮,对系统进行仿真,观察系统在重力作用下的运动4)添加运动①选择主工具箱中的旋转运动按钮,右键点击座架中心标记点,在弹出的选择窗口中,选择JOINT_mount_ground,给座驾与基座的转动副添加转动运动②选择俯视图按钮,观察旋转运动副的箭头图标③右键点击该运动,在弹出的快捷菜单中选择motion_mount_ground——modify在修改对话框中,修改function项为360d*time④重复上述动作,在轴肩和座架之间建立旋转运动Motion_shoulder_ground,⑤右键点击该运动,在弹出的快捷菜单中选择motion_shoulder_ground——modify在修改对话框中,修改function项为-STEP(time,0,0,0.10,30d)⑥重复上述动作,在铲斗和悬臂之间建立旋转运动Motion_bucket_boom⑦设置运动函数为45d*(1-cos(360d*time))⑧右键点击主工具箱中旋转运动按钮,选择下一级平行运动按钮,点击悬臂中心平动副,在悬臂和座架间建立平行运动⑨设置平行运动函数为STEP(time,0.8,0,1,5)⑩选择主工具箱中的仿真按钮,设置仿真参数END Time:1;Steps:100,进行仿真5)测量和后处理①鼠标右键点击铲斗,打开右键快捷键,选择测量measure②系统打开参数设置对话框,将Characteristic设置为CM Point,Component 设置为Y,测量Y向位移。
adams STEP函数
STEP函数adams,做一个驱动,先在1秒内加速至30d/s,再匀速保持2秒,最后在3秒内减速制0d/s,用step写格式:STEP (x, x0, h0, x1, h1)参数说明:x―自变量,可以是时间或时间的任一函数x0―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;x1―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量h0―STEP函数的初始值,可以是常数、设计变量或其它函数表达式h1―STEP函数的最终值,可以是常数、设计变量或其它函数表达式每一个叠加“+”是在前一个表达式的基础上叠加而不是一味的增加比如第二部是保持匀速所以在第一步加好的基础上增量应该是零正确的表达式:step(time,0,0,1,30)+step(time,1,0,3,0)+step(time,3,0,6,-30)adams帮助文档中解释如下:DefinitionReturns an array of y values, on a step curve, correspondingto the x values.FormatSTEP (A, xo, ho,x1,h1)ArgumentsAAn array of x values.xoValue of x at which the step starts ramping from ho to h 1.hoValue of h when x is less than or equal to xo.x1Value of x at which the step function reaches h1.h1Value of h when x is greater than or equal to h1.ExampleThe following example steps smoothly from0.0 to1.0 over theinterval(2.0,8.0). It has tails from 0 to 2 and from 8 to10.STEP(SERIES(0,0.1, 100),2.0,0.0,8.0,1.0)。
adams函数使用方法介绍
LOC_LOCAL LOC_MIRROR LOC_ON_AXIS LOC_ON_LINE LOC_PERPENDICULAR LOC_PLANE_MIRROR LOC_RELATIVE_TO LOC_SPHERICAL LOC_X_AXIS LOC_Y_AXIS LOC_Z_AXIS
step(time,0,0,1,-30*time)+step(time,1,0,3,-30+58*(time-1))+step(time,3,0,4,8664.5*(time-3))+step(time,4,0,5,21.5-21.5*(time-4))
If函数
• 在ADMA中如何输入力或位移、速度、加速度等的分段曲 线,这一直是一个值得注意的问题。
数字表达式x取整 数字表达式x向绝对值小的方向取整 数字表达式x向绝对值大的方向取整 数字表达式x向正无穷的方向取整 数字表达式x向负无穷的方向取整 最接近数字表达式x的整数值 返回数字表达式x的整数部分
位置/方向函数
一、位置函数
LOC_ALONG_LINE LOC_CYLINDRICAL LOC_FRAME_MIRROR LOC_GLOBAL LOC_INLINE 下的坐标值并归一化
在使用后者的过程中很多人会误表示为: step(time,0,0d,3,0d)+ step(time,3,0d,5,5d)+ step(time,5,5d,8,5d)+ step(time,8,5d,10,0d)+ step(time,10,0d,12,0d) 还有一种是错误的: step(time,3,0d,5,5d)+ step(time,8,5d,10,0d) 这两种都是错误的表示的方法,不信你自己可以试试的
ADAMS使用手册
第一章ADAMS简介 (1)一、ADAMS分析流程 (1)二、ADAMS的分析和计算方法 (1)三、ADAMS特点 (2)四、Adams模块 (2)第二章ADAMS建模及仿真运行 (5)第一节ADAMS几何建模 (5)一、基本几何形状 (5)二、简单几何体 (6)三、复杂几何体 (9)四、修改构件属性 (11)第二节添加运动副 (12)一、运动副类型 (12)二、定义运动副的一些技巧 (14)第三节Adams载荷 (15)一、添加单向作用力和力矩 (16)二、添加力或力矩 (16)三、添加柔性连接 (17)四、特殊载荷 (18)第四节仿真参数控制及仿真 (19)一、仿真分析输出设置 (19)二、模型检查 (22)三、模型仿真 (23)第五节仿真后处理 (27)一、后处理基本操作 (27)二、仿真过程回放 (29)三、仿真曲线 (29)第三章ADAMS应用 (33)第一节车盖及其杠杆联动机构 (33)一、参数化建模 (33)二、设计研究 (33)三、试验设计 (33)四、优化分析 (34)五、车盖及其杠杆联动机构分析 (35)第二节航空飞行器夹紧机构 (43)一、工作原理 (43)二、建立几何模型 (44)三、挂锁仿真分析 (45)四、测试验证 (48)五、参数化模型及优化设计 (50)第三节内燃机配气机构设计与优化 (54)第一章ADAMS简介ADAMS (Automatic Dynamic Analysis Mechanical Systems)软件是美国MDI公司(Mechanical Dynamics Inc)开发的虚拟样机分析软件,是世界上应用最广泛的机械系统仿真分析软件。
利用ADAMS ,设计人员能够建立机械系统虚拟样机,在物理样机制造之前,分析其工作性能,帮助用户更好地理解系统的运动,进行多种设计方案比较和优化等。
ADAMS软件使用交互式图形环境和零件库、约束库、力库,创建机械系统运动学/动力学模型,进行系统的静力学、运动学和动力学分析,输出位移、速度、加速度和反作用力曲线。
Adams的step函数驱动转速和转矩的心得
1000d/s,h10mm,转矩1e8
(1)
(2)
1000d/s,h10mm,转矩1e7
(1)
(2)
这是在1000d/s的转速下,电机驱动的转矩图,由下图可以看出,当x=0.403,对应的转矩为1591.0885N*mm。是非常小的转矩这也说明了当轴在转动时没有传递很大的转矩,只是克服了滑块移动所需的力矩。测量某个力矩可以直接在运动副或驱动上右键选择measure即可。
同理可以采用转矩来驱动,但是无法找到时间和位移的关系。
在马达驱动下再给该力矩非常的大达到1e8才有这样的突变
当转速达到6000d/s时同样的转矩产生的效果如果所示
1000d/s,h10mm,转矩1e9时转速的突变和位移的突变如图所示。
(1)
由motion的step函数得出的角速度图。
step(time,1.01,0,1.02,-200d*time)这样的200d*time相当于实际角速度的150倍。也就是仿真时会出现30000d/s的速度。而且时间为1s时设置为200d*time,实际会到达30000d/s,若要在2s时实际到达30000d/s的话step设置成100d*time。
对于施加多大的转矩才能产生理想的速度突变还不怎么清楚。但是可以采用预测的方法。比如电机1000d/s,施加1.2e6N*mm的转矩
将会产生10d/s的速度突变。
施加1.2e7的转矩
将会产生100d/s的突变
所以在工程应用中可以先试着设定一个理想的转矩。产生一个理想的转速。
电机函数驱动法针对转速突变(也就是振动激励的方法)
Motion的step函数:
step(time,0,0,0.3,6000d*time)+step(time,1,0,1.01,200d*time)+step(time,1.01,0,1.02,-200d*time)+step(time,1.5,0,1.51,200d*time)+step(time,1.51,0,1.52,-200d*time)+step(time,2,0,2.01,200d*time)+step(time,2.01,0,2.02,-200d*time)+step(time,2.5,0,2.51,200d*time)+step(time,2.51,0,2.52,-200d*time)+step(time,3,0,3.01,200d*time)+step(time,3.01,0,3.02,-200d*time)+step(time,3.5,0,3.51,200d*time)+step(time,3.51,0,3.52,-200d*time)+step(time,4,0,4.01,200d*time)+step(time,4.01,0,4.02,-200d*time)
Adams2019进阶学习——函数的使用
Adams2019进阶学习——函数的使⽤重点介绍 IF、 STEP、 SPLINE和CONTACT函数的使⽤⼀、基本函数的定义 在动⼒学仿真中,⼒、位移等容易出现函数表达的情形,这种情况下函数的使⽤就必不可少。
函数分两类: 设计过程函数。
主要是在建⽴模型中使⽤,仿真计算过程中其值不可变。
运⾏过程函数。
在仿真计算的过程中,参与计算,随着时间的变化,可以发⽣变化的变量。
注意:有的函数既是设计过程函数,也是运⾏过程函数。
1.过渡函数(STEP)定义 在MSC.ADAMS中,STEP函数近似为⼀个理想的数学上的过渡函数(没有不连续). 避免使⽤不连续的函数,因为不连续的函数容易导致解算过程收敛困难。
STEP函数⽤来描述如驱动或载荷,上升或下降,打开或关闭。
注意:STEP函数常⽤于描述-⼀个值或-⼀个表达式需要从⼀个常数变为另-⼀个常数的情形。
STEP函数的语法规则 STEP (q, q,,f{, 92,f2)其中: q - Independent variable q1 - Initial value for q f - Initial value for f q2 - Final value for q f2 - Final value for f注意:q1< q22. MSC ADAMS中的冲击(IMPACT)函数 ◆⽤于⽤户定义的⼒函数,模拟接触、冲击、碰撞等现象。
◆⾮线性的弹簧和阻尼⼒,由两个部件之间的距离所决定的是否存在的。
◆就像⼀个单纯的压缩弹簧阻尼器,在MSC.ADAMS中,当两个部件之间的参考距离q⼩于⽤户指定的参考距离qo时,该函数起作⽤。
FIMPACT = Off,ifq> qo FIMPACT = On,ifq≤qo IMPACT函数的语法规则. IMPACT(q, q, qo,k, e, Cmaax'd) q-两个对象之间实际的距离(通常使⽤⼀⼀个位移函数定义) q-变量q的时间导数 q1o-触发距离,确定冲击⼒是否起作⽤,该参数应为⼀个实常数。
ADAMS教程很详细手把手教你学会
▪ 选取物体的方法和固定约束一样。
✓选取旋转点的方法:
▪ 当两个物体选取过后,把光标放在要旋转的圆心附近(一般靠近圆弧处),这时圆心处会有一个 白色圆圈出现。如图1;
▪ 这时点右键,弹出点的列表,在其中选取一个圆心点(后面标注center)。如图2; ▪ 选取点后,如图3显示表示铰链约束添加成功。
▪ 图标选项
✓点”settings-Icons..”,弹出如下菜单:
初始设置
模型设置
修改图标的大小
约束设置
接触设置 弹簧
所有零件可见
力的加载
仿真运算
后处理
约束设置
▪ 添加约束
✓导入模型后,原来在pro/E中的约束关系已经没有了,需要重新设置。
右键点击弹出约束菜单
安装 模型制作和导入 初始设置
固定 铰链 滑动杆
先点击选取底座
在作用点的位置点击创建点
✓翻转模检查点的位置是否正确,如果不正确,按下图选点-modify,弹出点的坐标进行修改。
弹簧
▪ 拉压弹簧
✓设置好两个点后,就可以添加弹簧了。
安装 模型制作和导入 初始设置 模型设置 约束设置 接触设置 弹簧 力的加载 仿真运算 后处理
选取拉压弹簧 再分别点取上一 步设置的两个点 结果如图
选择导入模型这一项
初始设置 模型设置 约束设置 接触设置 弹簧 力的加载 仿真运算 后处理
✓点OK后,弹出以下对话框。
设置工作目录 (存储x_t文件的目录)
文件类型选择Parasolid(*.x_t) 在此文本框中点右键,选择”Browse…” 在弹出的对话框中选择你的x_t模型。 在此文本框中点右键,选择”Model-Create” 在弹出的对话框中输入你要建立的模型的名字。
Adams初始教程之课程作业-例3.2.STEP函数的应用
例3.2.STEP函数的应用一. 启动Adams/view。
定义“model name”为“slider”,其他保持默认。
二. 创建虚拟样机1.创建长方体,在大地上创建一个规格为400mm*50mm*200mm的长方体,长方体的标志定点位于(-200,-50,0)处。
2.调整长方体的位置,单击“Set the view orientation to Right”图标,单击“Position”,右击长方体,选择“Block:Box_1 Select”命令,在“distance”文本框里输入“10cm”。
单击“move”,单击“Set the vieworientation to Front”。
3.创建正方体,创建一个200mm*200mm*200mm的正方体。
4.调整正方体的位置,单击“Set the view orientation to Right”图标,单击“Position”,右击正方体,选择“Block:Box_1 Select”命令,在“distance”文本框里输入“100”。
单击“move”,单击“Set the view orientation to Front”。
5.更改滑块质量。
将滑块质量更改为1Kg.6.创建移动副。
在大地和滑块之间创建一个沿x轴方向的移动副,然后设置摩擦属性,右击“JOINT_1”,在弹出的菜单中选择“Joint:JOINT_1→Modify”,弹出对话框,单击“Joint friction”,在“Create friction”中更改“Mu Ftatic”为“0.5”,更改“Mu Dynamic”为“0.3”,单击“Create friction”对话框的“OK”,单击“Joint friction”对话框的“OK”。
7.施加作用力。
给滑块创建一个沿x轴正方向,作用在滑块质心处。
8.更改作用力函数。
右击“SFROCE_1”,在弹出的菜单中选择“Force:SFORCE_1→Mofidy”,单击“FUNCTION BULIDER”,弹出“Function Builder”对话框,双击STEP,在“Define a runtime function ”在文本框中出现STEP函数的表达式,修改为“2+STEP(time,1,0,1.01,1)+STEP(time,2,0,2.01,1)+STEP(time,3,0,3.01,1)+STEP(time,4,0,4.01,1)+STEP(time,5,0,5.01,1)”,单击“Verify”,弹出“Information”对话框,单击“OK”,在“Function Builder”对话框中单击“OK”,在“Modify Force”对话框中单击“OK”。
ADAMS中step函数的用法
step函数的两种表示方法相信大家对step的用法已经是相当的熟练了,在这里我只是想把自己对step的理解总结一下,希望能对大家有所帮助。
首先简要介绍下step的形式及其各个参数的物理含义:格式:STEP(x,x0,h0,x1,h1)参数说明:x―自变量,可以是时间或时间的任一函数x0―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;x1―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量h0―STEP函数的初始值,可以是常数、设计变量或其它函数表达式h1―STEP函数的最终值,可以是常数、设计变量或其它函数表达式而在实际的运用过程中,它有两种表示方法,一种是嵌入式:STEP(x,x0,h0,x1,(STEP(x,x1,h1,x2,(STEP(x,x2,h2,x3,h2)))))(当然你可以嵌套更多的)另一种就是增量式:STEP(x,x0,h0,x1,h1)+STEP(x,x1,h2,x2,h3)+STEP(x,x2,h4,x3,h5)+……我常用的是后者,下面就举例(附件请参考step.cmd文件)说明下他们的区别。
其实他们都可以表示同一种你所需要的曲线,如下所示曲线:用嵌入式可表示为:step(time,0,0d,3,(step(time,3,0d,5,(step(time,5,5d,8,(step(time,8,5d,10,(step(time,10,0d,12,0d)))))))))用增量式表示为:step(time,3,0,5,5)+step(time,5,0,8,0)+step(time,8,0,10,-5)在使用后者的过程中很多人会误表示为:step(time,0,0d,3,0d)+step(time,3,0d,5,5d)+step(time,5,5d,8,5d)+step(time,8,5d,10,0d)+step(time,10,0d,12,0d)还有一种是错误的:step(time,3,0d,5,5d)+step(time,8,5d,10,0d)这两种都是错误的表示的方法,不信你自己可以试试的总结:从上面的例子中大家可以清楚的看出,增量式明显比嵌入式要简洁的多,但是嵌入式却比增量式思路要清晰、严谨的多,他们各有自己的优点,所以大家可以针对性的使用他们,习惯用什么方式就用什么方式,当然他们还有其他的不同点我还没想到的,也欢迎你多多提出意见。
ADAMS教程很详细手把手教你学会
✓点”settings-Icons..”,弹出如下菜单:
初始设置
模型设置
修改图标的大小
约束设置
接触设置 弹簧
所有零件可见
力的加载
仿真运算
后处理Leabharlann 约束设置▪ 添加约束
✓导入模型后,原来在pro/E中的约束关系已经没有了,需要重新设置。
右键点击弹出约束菜单
安装 模型制作和导入 初始设置
固定 铰链 滑动杆
✓设置弹簧参数。在弹簧上点右键,如图选择Modify,弹出弹簧属性对话框。
扭簧刚度(N•mm/dec) 扭簧在当前位置的扭矩, 逆时针为正,顺时针为 负
修改扭簧属性
力的加载
▪ 直线力
✓为了使机构动作,要加载适当的外力。
安装 模型制作和导入 初始设置 模型设置 约束设置 接触设置 弹簧 力的加载 仿真运算 后处理
选择导入模型这一项
初始设置 模型设置 约束设置 接触设置 弹簧 力的加载 仿真运算 后处理
✓点OK后,弹出以下对话框。
设置工作目录 (存储x_t文件的目录)
文件类型选择Parasolid(*.x_t) 在此文本框中点右键,选择”Browse…” 在弹出的对话框中选择你的x_t模型。 在此文本框中点右键,选择”Model-Create” 在弹出的对话框中输入你要建立的模型的名字。
✓加载拉压弹簧的时候要先设置弹簧作用点。 右键点击弹出模型子菜单
安装 模型制作和导入 初始设置 模型设置 约束设置 接触设置 弹簧 力的加载 仿真运算 后处理
选取point点 选取Add to Part
弹簧
▪ 拉压弹簧
✓然后选取弹簧作用点所在的零件,再选取弹簧作用点的位置。
安装 模型制作和导入 初始设置 模型设置 约束设置 接触设置 弹簧 力的加载 仿真运算 后处理
adams的step函数
adams的step函数
自然界中存在着许多连续的变化和离散的跳跃,而这些跳跃往往在数学中被称为“阶跃函数”。
其中最基本的一种是由英国数学家阿当斯(Adams)所发明的“Adams的step函数”,也称为“单位阶跃函数”或“海维赛德(Hewitt)函数”。
Adams的step函数是一种特殊的阶跃函数,它的定义如下:当x<0时,f(x)=0;
当x≥0时,f(x)=1。
换句话说,它在原点处突然从0跳跃到1,而其他地方都保持不变。
这种函数在信号、控制理论等领域中得到广泛应用,例如在自动控制系统中用来描述开关等离散事件的发生。
Adams的step函数还有许多重要的性质和应用,例如它是所有可积函数的极限,可以用来构造复杂的函数和方程等。
在现代数学和物理学中,阶跃函数已经成为了一种基本的数学工具,发挥着重要的作用。
- 1 -。
ADAMS中step函数的用法
step函数的两种表示方法相信大家对step的用法已经是相当的熟练了,在这里我只是想把自己对step的理解总结一下,希望能对大家有所帮助。
首先简要介绍下step的形式及其各个参数的物理含义:格式:STEP (x, x0, h0, x1, h1)参数说明:x ―自变量,可以是时间或时间的任一函数x0 ―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;x1 ―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量h0 ― STEP函数的初始值,可以是常数、设计变量或其它函数表达式h1 ― STEP函数的最终值,可以是常数、设计变量或其它函数表达式而在实际的运用过程中,它有两种表示方法,一种是嵌入式:STEP (x, x0, h0, x1,(STEP (x, x1, h1, x2,(STEP (x, x2, h2, x3, h2) ))))(当然你可以嵌套更多的)另一种就是增量式:STEP (x, x0, h0, x1, h1)+STEP (x, x1, h2, x2, h3)+STEP (x, x2, h4, x3, h5)+……我常用的是后者,下面就举例(附件请参考step.cmd文件)说明下他们的区别。
其实他们都可以表示同一种你所需要的曲线,如下所示曲线:用嵌入式可表示为:step(time,0,0d,3,(step(time,3,0d,5,(step(time,5,5d,8,(step(time,8,5d,10,(step(time,10,0d,12,0d)))))))))用增量式表示为:step(time,3,0,5,5)+step(time,5,0,8,0)+step(time,8,0,10,-5)在使用后者的过程中很多人会误表示为:step(time,0,0d,3,0d)+step(time,3,0d,5,5d)+step(time,5,5d,8,5d)+step(time,8,5d,10,0d)+step(time,10,0d,12,0d)还有一种是错误的:step(time,3,0d,5,5d)+step(time,8,5d,10,0d)这两种都是错误的表示的方法,不信你自己可以试试的总结:从上面的例子中大家可以清楚的看出,增量式明显比嵌入式要简洁的多,但是嵌入式却比增量式思路要清晰、严谨的多,他们各有自己的优点,所以大家可以针对性的使用他们,习惯用什么方式就用什么方式,当然他们还有其他的不同点我还没想到的,也欢迎你多多提出意见。
ADAMS中step函数的用法
ADAMS中step函数的用法step函数的两种表示方法相信大家对step的用法已经是相当的熟练了,在这里我只是想把自己对step的理解总结一下,希望能对大家有所帮助。
首先简要介绍下step的形式及其各个参数的物理含义:格式:STEP(x,x0,h0,x1,h1)参数说明:x―自变量,可以是时间或时间的任一函数x0―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;x1―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量h0―STEP函数的初始值,可以是常数、设计变量或其它函数表达式h1―STEP函数的最终值,可以是常数、设计变量或其它函数表达式而在实际的运用过程中,它有两种表示方法,一种是嵌入式:STEP(x,x0,h0,x1,(STEP(x,x1,h1,x2,(STEP(x,x2,h2,x3,h2)))))(当然你可以嵌套更多的)另一种就是增量式:STEP(x,x0,h0,x1,h1)+STEP(x,x1,h2,x2,h3)+STEP(x,x2,h4,x3,h5)+……我常用的是后者,下面就举例(附件请参考step.cmd文件)说明下他们的区别。
其实他们都可以表示同一种你所需要的曲线,如下所示曲线:用嵌入式可表示为:step(time,0,0d,3,(step(time,3,0d,5,(step(time,5,5d,8,(step(time,8,5d,10,(step(time,10,0d,12,0d)))))))))用增量式表示为:step(time,3,0,5,5)+step(time,5,0,8,0)+step(time,8,0,10,-5)在使用后者的过程中很多人会误表示为:step(time,0,0d,3,0d)+step(time,3,0d,5,5d)+step(time,5,5d,8,5d)+step(time,8,5d,10,0d)+step(time,10,0d,12,0d)还有一种是错误的:step(time,3,0d,5,5d)+step(time,8,5d,10,0d)这两种都是错误的表示的方法,不信你自己可以试试的总结:从上面的例子中大家可以清楚的看出,增量式明显比嵌入式要简洁的多,但是嵌入式却比增量式思路要清晰、严谨的多,他们各有自己的优点,所以大家可以针对性的使用他们,习惯用什么方式就用什么方式,当然他们还有其他的不同点我还没想到的,也欢迎你多多提出意见。
ADAMS-STEP函数
One-sided Impact (IMPACT)
1、理解:用只抗压缩的非线性的弹簧阻尼方法近似计算出单边碰撞力。
2、格式:IMPACT (Displacement Variable, Velocity Variable, Trigger for Displacement Variable, Stiffness Coefficient, Stiffness Force Exponent, Damping Coefficient, Damping Ramp-up Distance)
step函数嵌套在第二个值的位置时:
step(time,t1,v1,t2,step(time,t3,v3,t4,step(time,t5,v5,t6,v6)))且t6>t5>t4>t3>t2>t1时
有
t<t1:v=v1
t=t2:v=v3
t=t3:v=v3
t=t4:v=v5
t=t5:v=v5
t>t6:v=v6
3、参数说明:
Displacement Variable
实时位移变量值,通过DX、DY、DZ、DM等函数实时测量。
Velocity Variable
实时速度变量值,通过VX、VY、VZ、VM等函数实时测量。
Trigger for Displacement Variable
激发碰撞力的位移测量值。
Stiffness Coefficient or K
刚度系统。
Stiffness Force Exponent
非线性弹簧力指数。
Damping Cop-up Distance
当碰撞力被激发阻尼逐渐增大的位移值。
adams齿轮副添加要点
注意:代表兩齒輪的兩接頭,於接頭建構時,其Second Body必須為同一個元件,否則齒輪對的建構將不成 功。
於欄位中按右鍵,用以選取位於節點上 之Marker(稱為同速度座標點, Common Velocity Marker)。 此Marker之Z軸方向代表兩齒輪節點之 速度方向。
齒輪對(2/4)
• 範例 St建構 一半徑50mm ,長400mm的圓柱體(Part:PART_2)。 於質心及圓柱軸方向建立一旋轉接頭。 於此旋轉接頭上加一30deg/sec的Motion。 Step2. 使用Cylinder指令,在(0,150,0)處延X軸方向上,建 構一半徑100mm ,長400mm的圓柱體(Part:PART_3)。 於質心及圓柱軸方向建立一旋轉接頭。 Step3. 點選Marker指令,在(200,50,0)處建構Global XY的 Marker。 Step4. 點選Joint : Gear指令。 (出現Constrain Create Complex Joint Gear視窗)
使用cylinder指?在000處延x軸方向上建構一半徑50mm長400mm的圓柱體part
齒輪對(1/4)
• 用以定義兩齒輪間的運動關係。 • 指令:Main Toolbox→Joint : Gear (出現Constrain Create Complex Joint Gear視窗)
於欄位中按右鍵,用以選取 所要連接的兩個接頭。 此兩接頭位於代表此兩齒輪的元件上。
f13
齒輪對(3/4)
Step5. 於視窗中進行Joint Nmae及Common Velocity Marker的設定。 Step6. 進行模擬。
齒輪對(4/4)
• 修改:於欲修改之齒輪對上按右鍵,選擇Modify,開 啟Constrain Create Complex Joint Gear的視窗,可進行 各項修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ADAMS教程:手把手教你为motion添加STEP函数(附:STEP函数全
解析)
搜人鱼不如授之以渔
手把手教你为motion添加STEP函数
1
如何找到电机
单击屏幕右下角的i按钮
双击展开模型名(如:robot_new)
找到电机motion
双击其中一个
单击Modify
再点击Function(time)右面的按钮
就打开了电机控制函数的编辑器
从左下角的函数编辑栏中双击你要的函数,就可以添加到上方的编辑栏中,
但是,切记,两个STEP函数中间要添加符号+
2
接下来,解释STEP函数
STEP是递加递减函数(确切的说不应该这么解释,递加递减方便理解,姑且这么解释吧)
STEP(time, 1, 0d, 3, 10d)
其上五个变量中,第一个(time)是横坐标定义;第二个(1)是时间起点(就是说,你要他什么时候开始递加递减;现在定义为1秒);第四个(3)是时间终点(你要他什么时候结束递加递减);第三个(0d)为递加递减数值的起点(切记,其值必须为0d,所以,不必修改);第五个(10d)为相对于0点的递加递减数值,这个是你可以自行修改的;
举个例子
STEP(time,1,0d,2,20d)+STEP(time,6,0d,12,-40)
意义:一秒到2秒:从0递增至20;
2秒到6秒:保持电机输出数值为20不变;
6秒到12秒:由20递减40,结果为-20。
所以,有两个特性必须记住:1,除非输入新的STEP,否则,上一个S TEP的渐变结果将在接下来的时间里,一直保持。
2,每个STEP只能从0开始渐变,所以,每一次的STEP都是相对于上一次操作结果的累加计算。
仔细研习以上例子,这次,由你来添加,想实现可变化动作的话,自己定义吧
随文附word彩版(有图有真相,哈哈哈)。