martinpan 发表于 2004-5-17 15:22:35

【讨论】关于加速减速运动

我希望机构的执行端沿一圆周作加速减速运动,于是定义了以下函数:
X方向位置:      
200*cos( (step(time,0,0,0.5,2*pi)+step(time,0.5,0,1,-2*pi)) *time)
Y方向位置:
200*sin((step(time,0,0,0.5,2*pi)+step(time,0.5,0,1,-2*pi)) *time)
仿真结果走不出一个圆,走到大半就回头走了!
但如果以下面的函数定义,就能走出一个圆了:
X方向位置:
200*cos( step(time,0,0,0.5,2*pi)*time)
Y方向位置:
200*sin(step(time,0,0,0.5,2*pi)*time)
请问为什么会出现这样的问题, 两式仅差一个STEP函数喔?
那请问要沿圆周作加速减速运动应如何定义位置函数? 谢谢.

martinpan 发表于 2004-5-18 23:21:51

回复: 【讨论】关于加速减速运动

再问

岳小戈 发表于 2004-5-19 09:16:38

回复: 【讨论】关于加速减速运动

你给出的第一个函数step(time,0,0,0.5,2*pi)+step(time,0.5,0,1,-2*pi)图形如下:

岳小戈 发表于 2004-5-19 09:18:03

回复: 【讨论】关于加速减速运动

1s以后值为零

chenjbao 发表于 2004-5-19 09:19:50

回复: 【讨论】关于加速减速运动

martinpan 老兄您好,您将200*cos( (step(time,0,0,0.5,2*pi)+step(time,0.5,0,1,-2*pi)) *time)后的-2*PI更改为4*pi就可以了,在理论上也是说得的过去的,我试过了,可以的,仅供你参考,祝你好运/

martinpan 发表于 2004-5-19 16:13:38

回复: 【讨论】关于加速减速运动

chenjbao,非常感谢您的帮助。
可你的方法仅仅是加大了电机的角速度,但并没有解决根本的问题。仅仅是走了一圈才往回走而不是原来那样走半圈就往问走。
我的目标是使执行端从0秒时开始以STEP函数的方式沿圆周加速运动;到0.5秒时开始以STEP函数的方式减速运动;到1秒末刚好停下来。

chenjbao 发表于 2004-5-20 09:49:08

回复: 【讨论】关于加速减速运动

martinpan 老兄您好。我分析了一下您的问题,我感觉如果是-2PI的话,不可能继续往前走,因为adams 认定的坐标系是逆时针为正方向,顺时针为正方向,你看看加速度可不可以。不过如果加速度那样计算可能会带来麻烦, 祝你成功

martinpan 发表于 2004-5-20 13:14:21

回复: 【讨论】关于加速减速运动

可我定义的是位置函数啊。应该没有顺时针逆时针的问题吧?
如果要实现我所要的运动,应如何定义函数?

martinpan 发表于 2004-5-21 10:19:53

回复: 【讨论】关于加速减速运动

如果要实现我所要的运动,应如何定义函数?

weibindong 发表于 2004-6-4 17:07:49

回复: 【讨论】关于加速减速运动

    step函数本身就是先加速后减速的,用下面的函数做1s的仿真也可以满足转一圈先加速后减速的要求(如附件),当然,根据需要也可以去掉*time。
X方向位置:
200*cos( step(time,0,0,1,2*pi)*time)
Y方向位置:
200*sin( step(time,0,0,1,2*pi)*time)
    用下面的函数当然要转回去了,因为逆时针方向为正。
X方向位置:
200*cos( (step(time,0,0,0.5,2*pi)+step(time,0.5,0,1,-2*pi)) *time)
Y方向位置:
200*sin( (step(time,0,0,0.5,2*pi)+step(time,0.5,0,1,-2*pi)) *time)

qq734658327 发表于 2013-5-20 17:01:59

:hug::hug::hug:
页: [1]
查看完整版本: 【讨论】关于加速减速运动