Roger2013 发表于 2013-12-30 20:52:52

ADAMS仿真中利用位移函数DM出错


如图所示,一个滑块,一个固定点,利用位移函数DM来对滑块进行运动仿真;
对滑块定义一个滑移副,方向向上,再对Jiont1(滑移副)进行函数定义。如下图所示:

进行函数校验时,函数正确,
函数定义如下:
dm(.model_1.ground.MARKER_4,.model_1.PART_2.cm)
错误如下:
ERROR:      MOTION WEIyi_hanshu.general_motion_1.motion_t3 has been declared to depend on the DM function.
   Motions can only be functions of TIME.
ERROR:   Model did not pass verification phase






alsoran 发表于 2014-1-1 13:38:45

你定义了Z方向的速度的值是两个坐标之间距离,虽然量纲不一样,但是本身没有问题。
问题是,所谓驱动其实是一个已知的函数,比如时间的函数。
但是你定义的函数实际上是一个微分方程形式的函数(v = dx/dt = f(x)),这个函数不是已知的。
加了这个motion的实质是对原本的动力学方程增加了额外的方程,导致方程组互斥。

yangmiaopeter 发表于 2013-12-30 22:13:18

Motions can only be functions of TIME.
就这句话来说的话,应该是驱动只能是时间的函数,你的驱动定义有问题

Roger2013 发表于 2013-12-31 09:23:18

yangmiaopeter 发表于 2013-12-30 22:13
Motions can only be functions of TIME.
就这句话来说的话,应该是驱动只能是时间的函数,你的驱动定义有 ...

驱动我是在Impose Motion中引入的,如上述图片的左边窗口所示,
Tra ZVelo(time)=dm(.model_1.ground.MARKER_4,.model_1.PART_2.cm)

Roger2013 发表于 2013-12-31 09:24:42

Roger2013 发表于 2013-12-31 09:23
驱动我是在Impose Motion中引入的,如上述图片的左边窗口所示,
Tra ZVelo(time)=dm(.model_1.ground.M ...

这样定义有什么不对吗?

Roger2013 发表于 2014-1-2 14:57:35

alsoran 发表于 2014-1-1 13:38
你定义了Z方向的速度的值是两个坐标之间距离,虽然量纲不一样,但是本身没有问题。
问题是,所谓驱动其实是 ...

敢问如何设置函数?我的目的是让滑块的速度随着两点之间的距离而改变,
当距离越小时,速度越小;当距离越大时,速度越大;
那应该如何设置函数来实现这个运动过程?

alsoran 发表于 2014-1-2 17:28:30

Roger2013 发表于 2014-1-2 14:57
敢问如何设置函数?我的目的是让滑块的速度随着两点之间的距离而改变,
当距离越小时,速度越小;当距离 ...

加约束方程试试,general constraints

Roger2013 发表于 2014-1-2 17:35:43

alsoran 发表于 2014-1-2 17:28
加约束方程试试,general constraints

我就是要利用DM函数啊,怎么弄啊?

alsoran 发表于 2014-1-8 11:54:56

Roger2013 发表于 2014-1-2 17:35
我就是要利用DM函数啊,怎么弄啊?

写关于速度的约束方程啊,vx(marker_1) - dm(marker_1,marker_2) = 0 这种形式

Roger2013 发表于 2014-1-8 18:18:46

alsoran 发表于 2014-1-8 11:54
写关于速度的约束方程啊,vx(marker_1) - dm(marker_1,marker_2) = 0 这种形式

嗯,我试试!
页: [1]
查看完整版本: ADAMS仿真中利用位移函数DM出错