找回密码
 注册
Simdroid-非首页
查看: 3063|回复: 29

[资料共享] 【分享】一篇非常好的关于“多余自由度”的文章,与大家分享

[复制链接]
发表于 2004-7-28 22:10:17 | 显示全部楼层 |阅读模式 来自 广东江门
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.

评分

1

查看全部评分

 楼主| 发表于 2004-7-28 22:40:09 | 显示全部楼层 来自 广东江门

回复: 【分享】一篇非常好的关于“多余自由度”的文章,与大家分享

Simdroid开发平台
说说我自己关于红色部分的理解。
多余自由度是你加的约束有重合的部分而造成的。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 marker  X轴和Z轴方向上的转动自由度。
  
最重要的是最后一段话,你说加载的约束是应该根据你的模型来调整的。你所认为关键的部分的约束一定不要变,其他地方地方出现过约束了,你可以改变。
  
如果有不对的地方,还请高手补充修改。
发表于 2004-7-30 17:54:53 | 显示全部楼层 来自 四川成都

回复: 【分享】一篇非常好的关于“多余自由度”的文章,与大家分享

很不错啊,原来这种有问题我只会删MARKER,paor兄真是厉害,学习能力超强
 楼主| 发表于 2004-8-3 09:15:37 | 显示全部楼层 来自 广东江门

回复: 【分享】一篇非常好的关于“多余自由度”的文章,与大家分享

呵呵,也是碰到问题了,自己慢慢找的.问一下,bubu01,你说的"原来这种有问题我只会删MARKER",删除掉marker可以解除过约束吗?你说的意思是什么意思?能不能仔细说说。
发表于 2006-5-8 20:06:31 | 显示全部楼层 来自 四川成都
我也是学了一段时间慢慢明白这些的,打算说出来的,翻到这里发现已经有了,谢谢楼主
发表于 2006-8-29 10:54:11 | 显示全部楼层 来自 北京交通大学

终于明白了,感谢

一直不太清楚约束的问题,老是模模糊湖,谢谢
发表于 2007-10-9 22:53:55 | 显示全部楼层 来自 江苏无锡

请教

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 编辑 ]
回复 不支持

使用道具 举报

发表于 2007-10-10 08:53:29 | 显示全部楼层 来自 湖南长沙
受益匪浅,非常感谢!
回复 不支持

使用道具 举报

发表于 2007-10-15 19:14:21 | 显示全部楼层 来自 江苏无锡

联系版主及其它高手

关于多余自由度的问题,已在7楼详细描述,急切希望高手给予指导,谢谢
我的QQ联系方式:504682337
回复 不支持

使用道具 举报

发表于 2009-2-26 10:21:02 | 显示全部楼层 来自 湖北武汉
我还在等待,怎没下文呀
回复 不支持

使用道具 举报

发表于 2009-4-14 18:53:12 | 显示全部楼层 来自 陕西宝鸡
so cool! thank you!
回复 不支持

使用道具 举报

发表于 2009-4-14 20:36:57 | 显示全部楼层 来自 湖南长沙
受益匪浅,但还有好多地方不懂.
回复 不支持

使用道具 举报

发表于 2009-4-14 21:41:02 | 显示全部楼层 来自 江苏常州
This constraint:                              unnecessarily removes this DOF:
   .parallel.MOTION_D1  (Translational Motion)   Translation Along Zj
=============
这个motion是没用的啊
回复 不支持

使用道具 举报

发表于 2009-4-18 19:36:56 | 显示全部楼层 来自 江苏镇江
过约束可以改变约束样式啊,比如把旋转该为点线接触
回复 不支持

使用道具 举报

发表于 2009-4-18 20:33:35 | 显示全部楼层 来自 吉林长春
1# paor815 dinga
回复 不支持

使用道具 举报

发表于 2009-5-2 09:06:54 | 显示全部楼层 来自 天津
哎只看懂了一半,还是回去断续学习了
回复 不支持

使用道具 举报

发表于 2009-5-23 10:30:54 | 显示全部楼层 来自 北京科技大学
东西是好东西,暂时还不懂呵呵
回复 不支持

使用道具 举报

发表于 2009-5-29 13:10:29 | 显示全部楼层 来自 湖南长沙
谢谢分享!
回复 不支持

使用道具 举报

发表于 2010-9-11 14:10:39 | 显示全部楼层 来自 山西太原
看不懂……回去发奋!
回复 不支持

使用道具 举报

发表于 2010-11-4 14:47:42 | 显示全部楼层 来自 重庆沙坪坝区
哎,慢慢改约束!
没有学明白
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-23 12:33 , Processed in 0.065288 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表