ADAMS-STEP函数
ADAMS的step函数
![ADAMS的step函数](https://img.taocdn.com/s3/m/bf748deffbb069dc5022aaea998fcc22bcd1437e.png)
一、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函数的最全用法
![ADAMS中step函数和If函数的最全用法](https://img.taocdn.com/s3/m/2e06c6efaff8941ea76e58fafab069dc50224747.png)
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函数
![adams STEP函数](https://img.taocdn.com/s3/m/238abd130b4e767f5acfcec8.png)
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 step函数弧度
![adams step函数弧度](https://img.taocdn.com/s3/m/ad94f7d79a89680203d8ce2f0066f5335a81676c.png)
adams step函数弧度
在数值解法中,我们通常需要通过迭代来逐步逼近一个解。
每一次迭代都会涉及到一个步长,该步长就是让我们从当前位置走向下一个位置的距离。
阿达姆斯步长法就是一种常见的选取步长的方法。
具体而言,阿达姆斯步长法是一种多步方法,即它同步长法一样,需要用到前面若干个时间点的解对当前时间点的解进行预测。
具体来说,它需要利用已有的y1,y2,y3...yn 求出目前未知的yn+1值,那么阿当斯算法的求解流程是这样的:
1.给连续n个点求出其初步的近似值
2.把这些初始值代入Admas公式中,求得y(n+1)
3.将y(n+1)代入欧拉公式,得到y(n+1)的更精确的近似值
4.重复上述过程,直到所得的y(n+1)值满足要求。
adams STEP函数
![adams STEP函数](https://img.taocdn.com/s3/m/e7a0d20eb9d528ea80c77970.png)
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)。
关于STEP函数的问题
![关于STEP函数的问题](https://img.taocdn.com/s3/m/4a2908daa58da0116c174903.png)
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虽然在ADAMS的帮助文档有些说明,但实际使用时初学者可能往往遇到困难,现根据自己已往的经验对一些常用的函数作一介绍,并相应给出了实例,充实论坛,也方便后学的同志。
一、几个常用函数的说明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 AKISPL的拟合曲线如下:自变量(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 AKISPL的拟合曲线如下:二、实例说明1、分段函数的表示在ADMA中如何输入力或位移、速度、加速度等的分段曲线,这一直是一个值得注意的问题。
Adams2019进阶学习——函数的使用
![Adams2019进阶学习——函数的使用](https://img.taocdn.com/s3/m/d8b64a681611cc7931b765ce05087632311274e0.png)
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中step函数用法
![adams中step函数用法](https://img.taocdn.com/s3/m/03f371ce9f3143323968011ca300a6c30c22f1ea.png)
adams中step函数用法Adams中的步进函数(STEP)是解决非线性问题时常用的一种函数。
STEP函数可以在一段时间内或工况的某个阶段实现指定变量值的突变,结构模型内的力、压力、限位、速度、加速度等物理量,均可通过STEP函数来实施渐变或突变控制。
STEP函数语法格式一般为:STEP (TIME,current_time, initial_value,final_value)。
在Adams中,STEP函数按照工况的进程,即当前的仿真时间,返回一个在指定初始时间和结束时间之间连续变化的值。
在步进函数的语法格式中,current_time是计算结果的时间点,initial_value是初始值,final_value是结束时的值。
如果STEP函数的时间参数设定为实际工况时间,那么在仿真过程中,STEP函数的取值将根据实际工况时间的推移按预设的规律进行变化。
例如,如果STEP函数的语法格式为:STEP(TIME, 0, 0, 5, 1),其含义是在0s到5s的时间段内,步进值从0变化到1。
其中,0s即初始时间,5s即结束时间,步进值在这一时间段,从0线性变化到1。
其他的时间点这个值为0。
在这中间的区间,会按照线性变化的规则进行变化。
Adams中的步进函数STEP的值在指定的开始和结束时间以外默认为0,仅在指定的时间范围内,从初值变化到终值。
此外,STEP函数的设定并不影响仿真的总时间,仅仅是根据仿真过程中的实时时间给予特定变量一个与时间有关的值。
在实际应用中,STEP函数常用于仿真模型中的变量控制,如控制负载的施加、初始状态的设定、运动驱动的调控等。
通过灵活使用STEP函数,能够更准确地模拟现实工况的动态响应过程。
总的来说,Adams中的STEP函数能够非常便利地实现在仿真过程中的变量控制,对于处理复杂工况和非线性问题有着重要的应用价值。
Adams常用函数介绍
![Adams常用函数介绍](https://img.taocdn.com/s3/m/f42b1c2a580102020740be1e650e52ea5518cea1.png)
Adams常用函数介绍常数函数常用的常数函数(contant):PI圆周率;RTOD弧度转化为度数时的乘积系数,值为180/PI;DTOR度数转化为弧度时的乘积系数,值为PI/180。
运动副的驱动函数常用的驱动函数STEP格式:STEP(某,某0,h0,某1,h1)参数说明:某―自变量,可以是时间或时间的任一函数;某0―自变量的STEP函数开始值;某1―自变量的STEP函数结束值;h0―当前时间点相对于上一时间点的函数值增量;h1―当前时间点相对于上一时间点的函数值增量。
做减速运动,速度由300d变为0d,如下图所示。
STEP函数是一个用三次多项式构造而成的阶跃函数,STEP5是用五次多项式构造而成的。
注意:1)Adam函数中,参数可以为常量、设计变量、表达式、测量、模型元素的参数(通过函数构造器中的gettingobjectdata-inertobjectname)等。
2)要重视测量在函数表达式中的应用,使用测量可以省去很多函数的使用。
如:build-meaure-pointtopoint可以测量两个对象(如marker点)在某一方向上的相对位移、角位移、速度、角速度、加速度、角加速度等值,这样就没必要使用D某(OBJECT,OBJECT,OBJECT)等函数了。
4)在添加运动副时,要重视视图定向的选择。
因为运动副的方向为normaltogrid,视图定向决定着运动副的正负方向。
其中,角速度的方向应采用右手法则确定。
5)驱动函数定义时,位移、速度的初始值IC(initialcondition)的设定:(1)只对滑移副有用,对旋转副没用(对旋转副可能也有用?但是很不好用。
如小车车轮和小车架之间的旋转副,设定了两者的相对旋转角度对小车架相对于轨道的位置也没用)。
(2)所设定的是运动副中第一个零件相对于第二个零件的相对位移或速度,是相对值。
(3)在进行动力学仿真或运动学仿真等时,都会自动进行装配计算,即初始条件计算。
ADAMS-STEP函数
![ADAMS-STEP函数](https://img.taocdn.com/s3/m/23d23e9b51e79b89680226a3.png)
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常用函数的说明
![ADAMS常用函数的说明](https://img.taocdn.com/s3/m/73aab5735acfa1c7aa00ccf4.png)
一、几个常用函数的说明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, Derivati ve Order)参数说明:First Independent Variable ——spline中的第一个自变量Second Independent Variable(可选) ——spline中的第二自变量Spline Name ——数据单元spline的名称Derivative Order(可选) ——插值点的微分阶数,一般用0就可以了例如:function = AKISPL(DX(marker_1, marker_2), 0, spline_1)spline_1用下表中的离散数据定义:AKISPL的拟合曲线如下:二、实例说明1、分段函数的表示在ADMA中如何输入力或位移、速度、加速度等的分段曲线,这一直是一个值得注意的问题。
adams step函数弧度
![adams step函数弧度](https://img.taocdn.com/s3/m/681fbd2c58eef8c75fbfc77da26925c52cc591fc.png)
adams step函数弧度
AdamsStep函数是一种常见的分段函数,常用于数值计算和数学建模中。
它的定义如下:
对于任意实数 x,Adams Step 函数 S(x) 的值为:
S(x) = 0, x < 0
S(x) = nπ, n ≤ x < n+1/2
S(x) = (n+1)π, n+1/2 ≤ x < n+1
其中 n 为整数。
可以看出,Adams Step 函数的值在每个半整数处发生突变,从而形成了一系列“台阶”。
在一些数学应用中,我们需要将角度值转换为弧度值,这时可以使用 Admas Step 函数来实现。
通常情况下,我们将角度值除以 180,再乘以π,即可得到相应的弧度值。
例如,要将 90°转换为弧度值,可以计算:
90° / 180 ×π = π/2
然后再使用 Adams Step 函数将结果转换为最接近的半整数倍
的π值,即:
S(π/2) = π
因此,90°对应的弧度值为π。
使用 Admas Step 函数进行角度值到弧度值的转换,可以避免出现小数和无限循环的情况,从而提高计算的精确度和稳定性。
- 1 -。
Adams的step函数驱动转速和转矩的心得
![Adams的step函数驱动转速和转矩的心得](https://img.taocdn.com/s3/m/8203f71510a6f524ccbf85f2.png)
将会产生10d/s的速度突变。
施加1.2e7的转矩
将会产生100d/s的突变
所以在工程应用中可以先试着设定一个理想的转矩。产生一个理想的转速。
同理可以采用转矩来驱动,但是无法找到时间和位移的关系。
在马达驱动下再给丝杠添加力矩的心得。
在1000d/s的转速下给丝杠添加力矩
但是该力矩非常的大达到1e8才有这样的突变
当转速达到6000d/s时同样的转矩产生的效果如果所示
1000d/s,h10mm,转矩1e9时转速的突变和位移的突变如图所示。
ime,1.01,0,1.02,-200d*time)这样的200d*time相当于实际角速度的150倍。也就是仿真时会出现30000d/s的速度。而且时间为1s时设置为200d*time,实际会到达30000d/s,若要在2s时实际到达30000d/s的话step设置成100d*time。
(2)
1000d/s,h10mm,转矩1e8
(1)
(2)
1000d/s,h10mm,转矩1e7
(1)
(2)
这是在1000d/s的转速下,电机驱动的转矩图,由下图可以看出,当x=0.403,对应的转矩为1591.0885N*mm。是非常小的转矩这也说明了当轴在转动时没有传递很大的转矩,只是克服了滑块移动所需的力矩。测量某个力矩可以直接在运动副或驱动上右键选择measure即可。
在1000ds的转速下给丝杠添加力矩但是该力矩非常的大达到1e8才有这样的突变当转速达到6000ds时同样的转矩产生的效果如果所示1000dsh10mm转矩1e9时转速的突变和位移的突变如图所示
adams_step函数用法讨论
![adams_step函数用法讨论](https://img.taocdn.com/s3/m/b2db79313968011ca30091e8.png)
为了各位兄弟能够更好的找的自己需要的东西,我稍微整理了一番:step函数用法讨论:请教一个关于STEP函数得问题:/forum/post/ ... 1&age=30#300135怎样用step函数: /forum/post/ ... 1&age=30#143349看看我的step函数有什么错: /forum/post/ ... 1&age=30#401184怎么输入这个函数: /forum/post/ ... =1&age=30#28098关于step的一点问题: /cgi-bin/ut/ ... amp;bpg=1&age=0大家能否讨论一下函数的运用: /forum/post/ ... 1&age=30#211704这个step函数什么意思?与以往的不一样: [url]/forum/viewthread.php?tid=381524[/url]step函数应用成功案例:[原创]step的两种表示方法: /forum/viewthread.php?tid=371352这个step函数应该怎么写: /forum/viewthread.php?tid=405846关于STEP函数和分段添加力: /forum/viewthread.php?tid=64505如何添加瞬时作用力: /forum/viewthread.php?tid=61940如何添加力函数?高手请进: /forum/viewthread.php?tid=409716【分享】小车一个,请大家评价: /forum/viewthread.php?tid=8147【原创】来一个分段函数,大家来写写: /cgi-bin/ut/topic_show.cgi?id=45277&h=1#237239如何使一个加速运动的物体以一定的速度匀速运动?: /forum/viewthread.php?tid=58760如何实现分段函数运动: /forum/viewthread.php?tid=364094如何写分段变加速度函数: /forum/viewthread.php?tid=380220关于加速减速运动: /forum/viewthread.php?tid=249955。
ADAMS常用函数总结
![ADAMS常用函数总结](https://img.taocdn.com/s3/m/c4bc28aedd3383c4bb4cd2da.png)
ADAMS常用函数总结在使用adams的过程中,由于函数比较多,大概有11种之多,如 1、Displacement& nbspFunction 2  Spline Functions 6、  Force in Object Functions 7、 Resultant&nb User-Written Subroutine& nbspInvocation 11、Constants & Variables。
在adams中也有帮助文档,但是对于初学者来说还是有一定的难度的,基于这种情况我总结了一下几种常用的函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.5 1.0 if time > 2.53、AKISPL函数格式:AKISPL (First Independent Variable,& nbspSecond Independent Variable,Splin 参数说明: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.64、碰撞函数impact其实质是:用只抗压缩的非线性的弹簧阻尼方法近似计算出单边碰撞力。
ADAMS中step函数的用法
![ADAMS中step函数的用法](https://img.taocdn.com/s3/m/d77a70b80029bd64783e2cc7.png)
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常用函数总结
![ADAMS常用函数总结](https://img.taocdn.com/s3/m/4389220d59fb770bf78a6529647d27284b7337a0.png)
ADAMS常用函数总结ADAMS常用函数总结在使用adams的过程中,由于函数比较多,大概有11种之多,如1、Displacement Function 2、Velocity Functions 3、Acceleration Functions 4、Contact Functions 5、Spline Functions 6、Force in Object Functions 7、Resultant Force Functions 8、Math Functions 9、Data Element Access 10、User-Written Subroutine Invocation 11、Constants & Variables。
在adams中也有帮助文档,但是对于初学者来说还是有一定的难度的,基于这种情况我总结了一下几种常用的函数,希望能够起到抛砖引玉的作用!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 IndependentVariable,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.64、碰撞函数impact其实质是:用只抗压缩的非线性的弹簧阻尼方法近似计算出单边碰撞力。
adams的step函数
![adams的step函数](https://img.taocdn.com/s3/m/12ca92b68662caaedd3383c4bb4cf7ec4afeb623.png)
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函数的用法
![ADAMS中step函数的用法](https://img.taocdn.com/s3/m/ca23a3c1680203d8cf2f2409.png)
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)这两种都是错误的表示的方法,不信你自己可以试试的总结:从上面的例子中大家可以清楚的看出,增量式明显比嵌入式要简洁的多,但是嵌入式却比增量式思路要清晰、严谨的多,他们各有自己的优点,所以大家可以针对性的使用他们,习惯用什么方式就用什么方式,当然他们还有其他的不同点我还没想到的,也欢迎你多多提出意见。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Displacement Variable
实时位移变量值,通过DX、DY、DZ、DM等函数实时测量。
Velocity Variable
实时速度变量值,通过VX、VY、VZ、VM等函数实时测量。
gger for Displacement Variable
激发碰撞力的位移测量值。
Stiffness Coefficient or K
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
当时间处于一个step函数的时间范围内时,即上式中t1~t2,t3~t4,t5~t6时,v的值由三次样条函数确定;当时间处于两个step函数相邻的时间范围内时,即上式中t2~t3,t4~t5时,v的值是恒定的,且v2=v3,v4=v5
注意:如果想设置出阶梯形数据,可以把处于一个step函数的时间范围缩短,即把t1~t2,t3~t4,t5~t6的时间差缩短。
模拟运行之后,我measure了它的角速度,发现图像是类似正弦波的曲线(看图)。
按说匀速转动测得的曲线是类似方波的阶跃直线啊,这怎么回事呢?还是说,step函数所实现的本来就不是匀速转动?
具体抽象后的模型见下图,非常简单,下面一个杆和大地固定,上、下两个杆建一旋转副,在旋转上加上驱动,要实现上面的杆绕下面的杆旋转半周停止,测该关节上的力矩,我输入的驱动函数为step5(time,0,0,2,180d),结果测得的力矩曲线如图所示,这结果不对啊,照理按能量守恒应该是个类似于正选函数的曲线,正负各半圈,可现在却是全正了,请教出现该问题的原因及解决措施,想了很久了,实在没办法,辛苦各位老大们帮忙看看
在定义接触力时Normal Force有两个选项:
1、Restitution(Define arestitution-basedcontact);
2、Impact(Define an impactcontact)
第二个选项就是利用IMPACT函数,它能方便地表达那种间歇碰撞力
(即达到某一位移值才激发的碰撞力)。
它的参数意义及力学基础:
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)
On if s <=so
IMPACT函数的数学计算公式为:
MAX {0, K(so - s)**e - Cv *STEP (s, so- d, 1, so ,0)}
参数说明:
s ——位移变量
v ——速度变量
so——碰撞力的激发位移值
K ——刚度系数
C ——阻尼系数
D——阻尼逐渐增大的位移值
回复:【讨论】关于分段函数的添加
给你一个提示
if(time-1:1,0,if(time-2:0,-1,-1))
可以迭代使用if语句
我想让一根轴实现间歇的匀速旋转,就用step函数写了如下命令:
step(time,0,0,4,180d)-step(time,32,0,36,180d)就是从0--4秒,正向旋转180度,32--36秒反向旋转180度
个人认为,step函数有这样一个规律:当时间处于一个step函数中的两个时间值之间时,v值是由三次样条函数确定的,当时间处于相邻两个step函数的时间值之间时,v值是恒定的。无论是嵌套使用还是叠加使用。
step函数嵌套在第一个值的位置时:
step(time,t1,step(time,t2,v2,t3,v3),t4,v4)且t1<t2<t3<t4时
有
t<t1:v=v1
t=t1~t4:v值由三次样条函数确定
t>t4:v=v4
此时两个step函数相邻时间段时,v值不恒定的原因是被同一step函数中相邻时间段的v值淹没了。
即:在t1~t2,t3~t4段时间内,v值是恒定的,但在t1~t4时间段v值又是由三次样条函数确定的的,叠加之后仍是和三次样条函数确定的值相关。
如果相邻两个step函数的时间发生重叠,即t3<t2时,在t2~t3时间段v值是由三次样条函数确定的。原因同上,也是恒定值被这个值淹没了
1.。
刚度系统。
Stiffness Force Exponent
非线性弹簧力指数。
Damping Coefficient or C
阻尼系数。
Damping Ramp-up Distance
当碰撞力被激发阻尼逐渐增大的位移值。
4、Impact函数的力学基理:
IMPACT函数值由自变量值决定其有无:
IMPACT = Offif s > so