357285475 发表于 2011-12-27 10:57:00

ADAMS中实现直线来回往复运动的函数

最近做一个直线电机模拟,需要用到来回直线运动函数,用step函数还是实现不了,求指点。。。。。。。

malianwei 发表于 2011-12-28 20:33:41

没人回复?

joinyff323 发表于 2011-12-29 12:23:51

malianwei 发表于 2011-12-28 20:33 static/image/common/back.gif
没人回复?

用正弦或余弦函数试试看。

357285475 发表于 2012-1-1 21:02:22

joinyff323 发表于 2011-12-29 12:23 static/image/common/back.gif
用正弦或余弦函数试试看。

正弦或余弦函数怎么写哈?这个函数能实现来回直线运动吗?谢谢哈

fridecailei 发表于 2012-1-4 10:48:27

357285475 发表于 2012-1-1 21:02 static/image/common/back.gif
正弦或余弦函数怎么写哈?这个函数能实现来回直线运动吗?谢谢哈

step(time,0,0,10,100)+step(time,10,0,20,-100) 你试试这个是不是你想要的曲线

357285475 发表于 2012-1-10 10:34:39

fridecailei 发表于 2012-1-4 10:48 static/image/common/back.gif
step(time,0,0,10,100)+step(time,10,0,20,-100) 你试试这个是不是你想要的曲线

可以了,谢谢哈!!!!!新年快乐

potiscar 发表于 2012-1-18 21:43:58

上面的step函数时间只有20啊~后面就运动不下去了,
觉得sin和cos还是不错的
A*sin(2*PI/T*time)
A处代入幅值,T处代入周期,,,
楼上的Step可以写成100*sin(2*PI/20*time),
不过step是线性变化,sin是非线性变化

未知可否!:)

xiaoyu163168 发表于 2012-11-29 20:59:06

potiscar 发表于 2012-1-18 21:43 static/image/common/back.gif
上面的step函数时间只有20啊~后面就运动不下去了,
觉得sin和cos还是不错的
A*sin(2*PI/T*time)


我现在也遇到这个问题,但是我的情况是要运动到一边之后暂停一段时间,再返回运动,可以用什么表达式吗?

potiscar 发表于 2013-1-9 02:08:08

xiaoyu163168 发表于 2012-11-29 20:59 static/image/common/back.gif
我现在也遇到这个问题,但是我的情况是要运动到一边之后暂停一段时间,再返回运动,可以用什么表达式吗? ...

看要求了,step和if都可以实现

peter_evi 发表于 2013-1-9 18:36:29

T1时间内运行S1,暂停到T2时间,从T2到T3时间内回行S2的函数可以这么写:
1, step(time,0,0,T1,S1)+step(time,T1,0,T2,0)+step(time,T2,0,T3,-S2)
2, IF(time-T1:S1/T1*time,S1,IF(time-T2:S1,S1,S1-S2/(T3-T2)*(time-T2)))
3, IF(time-T1:S1*sin(0.5*PI/T1*time),S1,IF(time-T2:S1,S1,S1-S2*sin(0.5*PI/T3)*time))
没有验证,请大家指正。另外7楼的驱动函数是不是有点问题?100*sin(2*PI/20*time)应该写为ABS(100*sin(2*PI/20*time))吧。
页: [1]
查看完整版本: ADAMS中实现直线来回往复运动的函数