先看一下adams中创建request的界面,通过界面可以看到创建request的方式中有通过marker的方式,如下图所示:

那么选定了marker就能输出force吗?中间原理是怎么样的?
一、先看一下Adams中的力是如何产生的。
Adams中的力通常来源于已下几种情况:
二、再看一下Marker的作用。
在 ADAMS 中,Marker 是固定在刚体上的局部坐标系,用于定义几何、运动、力和约束的位置与方向。每个 Marker 有位置(原点)和姿态(坐标轴方向)。
这两个 Marker 定义了力作用的方向和参考坐标系。
三、ADAMS 如何“知道”输出力?
ADAMS 并不是凭空知道两个 Marker 之间有 force,而是因为在这两个 Marker 之间或它们所属的物体之间,已经存在某种力或约束关系。
情况 1:通过约束(Joint)产生的力
例如,你在一个铰链(Revolute Joint)中指定了 I Marker 和 J Marker。ADAMS 在求解动力学方程时,会计算该约束为了满足运动学条件而必须施加的 反力 和 反力矩。
✅ 所以,ADAMS 能输出力,是因为它已经在该 Marker 对上计算了约束力。
情况 2:通过力元(Force Element)产生的力
例如,你在两个 Marker 之间定义了一个弹簧-阻尼器(Spring-Damper)或力元(SFORCE)。
✅ 这时,ADAMS 输出的是该力元在当前时间步计算出的力。
情况 3:接触力
如果使用接触算法(如Impact函数),ADAMS 会根据两个接触点(通常由 Marker 定义)之间的穿透、速度等计算接触力。
四、坐标系与输出方向。
ADAMS 输出的力是 在哪个 Marker 的坐标系下表达的?
五、总结
换句话说:
ADAMS 能输出两个 Marker 之间的力,是因为它基于已有的物理模型(约束、力元、接触等)在求解过程中已经计算出了这些力,而 Request 只是选择性地提取和输出这些计算结果。Marker 提供了力和力矩的参考位置和方向。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删