【分享】一篇非常好的关于“多余自由度”的文章,与大家分享
Warning about redundant constraint equations.This article applies to ADAMS/Chassis, ADAMS/View, ADAMS/Solver, ADAMS/Car, ADAMS/Driveline, ADAMS/Pre, ADAMS/Motorsports, ADAMS/Aircraft, ADAMS/Rail, ADAMS/Engine (no specific release) on all platforms.
--------------------------------------------------------------------------------
Question
What does it mean when I get a warning that certain constraints are redundant
or unnecessarily remove certain DOF?
--------------------------------------------------------------------------------
Answer
Constraints in ADAMS remove degrees of freedom (DOF) from the system by adding
algebraic constraint equations to the governing system of DAEs (Differential
and Algebraic equations).The different constraints in the ADAMS constraints
library remove different types and number of DOF. Joints can remove anywhere
from 1 to 6 DOF, depending on their type.For instance:
Fixed joints remove 6 DOF: 3 translational & 3 rotational;
Revolute joints remove 5 DOF: 3 translational & 2 rotational;
Spherical joint remove 3 DOF: 3 translational & 0 rotational;
Translational joints remove 5 DOF: 2 translational & 3 rotational;
InLine joints remove 2 DOF: 2 translational & 0 rotational;
etc., etc.
(For more information on the type and number of DOF removed, or conversely
allowed, by each joint in ADAMS, see the section on Constraints in the Using
ADAMS/View manual.)
Mathematically, however, ADAMS represents similar constrained DOF with similar
algebraic equations.Six algebraic equations used by ADAMS to represent DOF
constrained by joints are as follows:
Xi-Xj = 0 (eq. 1)
Yi-Yj = 0 (eq. 2)
Zi-Zj = 0 (eq. 3)
Zi.Xj = 0 (eq. 4)
Zi.Yj = 0 (eq. 5)
Xi.Yj = 0 (eq. 6)
Eq. 1-3 constrain translational DOF while eq. 4-6 constrain rotational DOF.
The English translation of these mathematical equations is as follows where,
of the 2 parts connected by the joint, the I marker is on the first part and
the J marker is on the second part:
1) Xi-Xj = 0 means that the global X coordinate of the I marker must always
remain identical to the X coordinate of the J marker.
2) Yi-Yj = 0 means that the global Y coordinate of the I marker must always
remain identical to the Y coordinate of the J marker.
3) Zi-Zj = 0 means that the global Z coordinate of the I marker must always
remain identical to the Z coordinate of the J marker.
4) Zi.Xj = 0 means that the Z axis of the I marker must always remain
perpendicular to the X axis of the J marker (which means no rotation about the
common Y axis).
5) Zi.Yj = 0 means that the Z axis of the I marker must always remain
perpendicular to the Y axis of the J marker (which means no rotation about the
common X axis).
6) Xi.Yj = 0 means that the X axis of the I marker must always remain
perpendicular to the Y axis of the J marker (which means no rotation about the
common Z axis).
(The . notation in equations 4-6 signifies a dot product operation.Recall
that when the dot product of two vectors = 0, the vectors are perpendicular.)
Each Fixed joint in your model uses 6 equations (eq. 1-6) while a Spherical
uses 3 equations (eq. 1-3), a Revolute uses 5 equations (eq. 1-5), a
Translational uses a different 5 equations (eq. 1,2,4-6), an InLine uses 2
equations (eq. 1-2), etc.
Notice how each of these five joints uses equations #1 & 2?Any such
duplication of constrained DOF can lead to overconstraining your system, or
introduce what are known as redundant constraint equations.
ADAMS outputs warning messages to try to help you understand which equations
are redundant and therefore which DOF are unnecessarily removed.
____________________________
Example 1)If, in your model, Joint_7 is a Revolute joint and ADAMS gives you
the 2 warning messages that:
WARNING:
Joint_7 unnecessarily removes Rotation Between Zi and Xj
Joint_7 unnecessarily removes Rotation Between Zi and Yj
then you have 2 redundant constraint equations.To get rid of them, you could
change Joint_7 from a Revolute to a Spherical joint.These messages indicate
that the rotational constraint eqs. 4 & 5 introduced by the Revolute joint are
not needed.Therefore you could safely replace it with a Spherical joint that
does not use these equations).
____________________________
Example 2)If, in your model, Joint_29 is a Translational joint and ADAMS
gives you the 3 warning messages that:
WARNING:
Joint_29 unnecessarily removes Rotation Between Zi and Xj
Joint_29 unnecessarily removes Rotation Between Zi and Yj
Joint_29 unnecessarily removes Rotation Between Xi and Yj
then you could change Joint_29 from a Translational to an InLine joint.
____________________________
Example 3) If you build a fourbar mechanism with 4 revolute joints you will
receive something similar to the following warning messages:
Joint_1 unnecessarily removes Rotation Between Zi and Xj
Joint_1 unnecessarily removes Rotation Between Zi and Yj
Joint_3 unnecessarily removes Rotation Between Zi and Xj
These messages indicate that Revolute Joint_1 could safely be changed to a
Spherical joint and Revolute Joint_4 could be changed to a Universal or Hooke
joint.Doing so would get rid of your redundant constraint warnings and could
possibly improve the performance of your solution.Alternatively, by changing
just one of the Revolute joints to an InLine joint you would also remove your
redundancies.There is almost always more than one way to remove redundant
constraints.The best way to proceed is to select your joint types to make
them match the way your physical system can move. .
Remember that ADAMS will not be able to calculate joint reaction forces in any
directions associated with redundant constraint equations since it
automatically removes these equations when it performs a simulation.So you
might also want to select your joint types based on where you want to measure
joint reaction forces.
回复: 【分享】一篇非常好的关于“多余自由度”的文章,与大家分享
说说我自己关于红色部分的理解。多余自由度是你加的约束有重合的部分而造成的。Adams怎么表示限制自由度的呢?就是你在加载约束时,Adams会自动在First rigid body和Second rigid body自动添加I marker和J marker,而I marker标记在First rigid body上,而J marker标记在Second rigid body上。
(eq. 1) 当I marker的X坐标和J marker的X坐标相减始终为零的时候,就说明了First rigid body和Second rigid body在坐标系的X轴方向没有相对运动,也就是限制了First rigid body和Second rigid body在X轴方向上的相对移动,也就限制了X轴方向上的移动自由度。
同理,(eq. 2) 和(eq. 3) 限制了在Y轴方向上的移动自由度和Z轴方向上的移动自由度
(eq. 4) 说的是I marker的Z轴坐标和J marker的X轴坐标的乘积始终为零,那就意味着First rigid body和Second rigid body在I marker和J marker所拥有的共同的Y轴方向上没有相对转动,也就限制了Y轴方向上的转动自由度。
同理,(eq. 5)和 (eq. 6)是不能围绕着X轴和 Z轴做相对的转动,也就是限制了I marker或者J markerX轴和Z轴方向上的转动自由度。
最重要的是最后一段话,你说加载的约束是应该根据你的模型来调整的。你所认为关键的部分的约束一定不要变,其他地方地方出现过约束了,你可以改变。
如果有不对的地方,还请高手补充修改。
回复: 【分享】一篇非常好的关于“多余自由度”的文章,与大家分享
很不错啊,原来这种有问题我只会删MARKER,paor兄真是厉害,学习能力超强回复: 【分享】一篇非常好的关于“多余自由度”的文章,与大家分享
呵呵,也是碰到问题了,自己慢慢找的.问一下,bubu01,你说的"原来这种有问题我只会删MARKER",删除掉marker可以解除过约束吗?你说的意思是什么意思?能不能仔细说说。 我也是学了一段时间慢慢明白这些的,打算说出来的,翻到这里发现已经有了,谢谢楼主终于明白了,感谢
一直不太清楚约束的问题,老是模模糊湖,谢谢请教
0 Gruebler Count (approximate degrees of freedom)8 Moving Parts (not including ground)
4 Spherical Joints
3 Translational Joints
1 Fixed Joints
3 Hooke Joints
3 Motions
1 Degrees of Freedom for .parallel
There is one redundant constraint equation.
This constraint: unnecessarily removes this DOF:
.parallel.MOTION_D1(Translational Motion) Translation Along Zj
Model verified successfully
3个Motions加到机构上后,机构的自由度应该为0,现在提示出现一个自由度,一个冗余约束,请问下,如何解决呢?
[ 本帖最后由 htzhang333 于 2007-10-15 19:12 编辑 ] 受益匪浅,非常感谢!
联系版主及其它高手
关于多余自由度的问题,已在7楼详细描述,急切希望高手给予指导,谢谢我的QQ联系方式:504682337 我还在等待,怎没下文呀 so cool! thank you!:handshake 受益匪浅,但还有好多地方不懂. This constraint: unnecessarily removes this DOF:
.parallel.MOTION_D1(Translational Motion) Translation Along Zj
=============
这个motion是没用的啊 过约束可以改变约束样式啊,比如把旋转该为点线接触 1# paor815 dinga 哎只看懂了一半,还是回去断续学习了 东西是好东西,暂时还不懂呵呵 谢谢分享! 看不懂……回去发奋! 哎,慢慢改约束!
没有学明白
页:
[1]
2