下面是小编为大家整理的学习ADAMS已经有一段时间了,供大家参考。
学习 ADAMS 已经有一段时间了,老师说 ADAMS 中自由度问题是一个很繁琐的问题,的确如此,现在面对自己课题的时候,老是提示出现冗余约束的问题,问了好几个老师,都没有解决,只好靠自己了,清明花了几天时间,看了好几篇文章,自己仔细琢磨了和推敲,对自由度以及冗余约束的问题有了深入了解,自我感觉挺有用的,希望大家给我指点哈。我以一个长方体为模型,其在空间的自由度为中自由度问题是一个很繁琐的问题,的确如此,现在面对自己课题的时候,老是提示出现冗余约束的问题,问了好几个老师,都没有解决,只好靠自己了,清明花了几天时间,看了好几篇文章,自己仔细琢磨了和推敲,对自由度以及冗余约束的问题有了深入了解,自我感觉挺有用的,希望大家给我指点哈。我以一个长方体为模型,其在空间的自由度为 6 ,构建的模型和参考点如图下图 1 图中定义了在图中定义了在 Groud 上的参考 Marker_1,用于定位和创建运动副,构建长方体的时候自动生成了一个定位点用于定位和创建运动副,构建长方体的时候自动生成了一个定位点 Marker_2, 两个 Marker 的坐标轴均和全局坐标一直,如图 2
图 图 1
图 图 2 希望通过简单运动副来构建长方体沿轴的转动和移动(即圆柱副)、移动、转动 ( (1)添加垂直轴(简单运动副),来限制长方体的一个自由度,比如我们打算限制长方体绕)添加垂直轴(简单运动副),来限制长方体的一个自由度,比如我们打算限制长方体绕 Marker_1 的 的 Z 轴的转动,在垂直轴选项中选择 2_Bodies 2_Location,实体分别选取长方体和大地,位置分别选取长方体上的实体分别选取长方体和大地,位置分别选取长方体上的 Marker_2 大地上的 Marker_1 ,方向选取 Marker_1的 的 X 轴和 Y 轴,那么生成的 Marker_3 (长方体)和 Marker_4 (大地)的 Z 轴应该与 Marker_1的 的 X 轴和 Y 轴一直,如图 3 ,此时要保证 Marker_3 和 和 Marker_4 的 的 Z 轴垂直,那么长方体绕轴垂直,那么长方体绕 Marker_1 的 的 Z 轴的转动将被限制,即长方体只有五个自由度,即绕 Marker_1 的 的 X、 、Y 轴的转动,和沿 Marker_1 的 的 X 、Y 、Z 轴的移动
图 图 3
图 图 4 ( (2 )在步骤(1 )的基础上,添加点+ 线约束,使长方体的自由度再次减少,选择 2_Bodies 1_ocation, 实体分别选取长方体和大地,位置选取长方体上的 Marker_1, 方向选择 X 轴,那么生成的轴,那么生成的 Marker_6 长方体)和 Marker_7 (大地)的 Z 轴应该与 Marker_1 的 的 X 轴一直,如图轴一直,如图 4 ,此时长方体沿 Marker_1 的 的 Y 、Z 轴的移动将被限制,加上步骤(1)中垂直约束,长方体只剩下沿)中垂直约束,长方体只剩下沿 Marker_1 的 的 X 轴的移动,和绕 Marker_1 的 的 X 、Y 。
轴的转动三个自由度。
( (3 )在步骤(1 )和(2 )的基础上再次添加垂直轴(简单运动副)来限制长方体绕 Marker_1的 的 Y 轴的转动,选择 2_Bodies +2_Location,实体分别选取长方体和大地,位置分别选取长方体上的实体分别选取长方体和大地,位置分别选取长方体上的 Marker_2 大地上的 Marker_1 方向选取 Marker_1 的 的 X 轴和 Z 轴,那么生成的Marker_8 长方体)和 Marker_9 大地)的 Z 轴应该与 Marker_1 的 的 X 轴和 Z 轴一直,如图
5 ,要保证 Marker_8 和 和 Marker_9 的 的 Z 轴垂直,那么长方体绕 Marker_1 的 的 Y 轴的转动将被限制,到现在长方体只剩下了两个自由度,即沿轴的转动将被限制,到现在长方体只剩下了两个自由度,即沿 Marker_1 的 的 X 轴的移动和绕 Marker_1的 的 X 轴的转动两个自由度,通过在 ADAMS 中定义 Motion 仿真验证可得,自由度的个数和方向是正确的,仿真验证可得,自由度的个数和方向是正确的,
图 图 5 分别按照步骤(1 )、(2 )、(3 )得到长方体自由度如图 6-1 、6-2 、6-3 、6-4 ;定义 Motion图 如图 7-1 、7-2 ,位置选择 Marker_1, 方向选择 Z 方向,此时运行成功,如果按照图 7-3 定义绕定义绕 Y 轴转动的话,运行提示仿真错误,如图 7-4
图 图 6-1
图 图 6-2
图 图 6-3
图 图 6-4
图 图 7-1
图 图 7-2
图 图 7-3
图 图 7-4 ( (4 )在步骤(1 )、(2 )、(3 )的基础上,要使长方体只能绕 X 轴移动的一个自由度,再添加垂直轴(简单运动副),选择轴移动的一个自由度,再添加垂直轴(简单运动副),选择 2_Bodies +2_Location,实体分别选取长方体和大地,位置分别选取长方体上的实体分别选取长方体和大地,位置分别选取长方体上的 Marker_2 和大地上的 Marker_1 ,方向选取 Marker_1 的 Y 和 Z 轴,那么生成的轴,那么生成的 Marker_10( 长方体)和 和 Marker_11 (Groud)的 的 Z 轴与 Marker_1 的 的 Y 轴和 Z 轴一直,如图轴一直,如图 8 ,要保证 Marker_10 和 和 Marker_11 的 的 Z 轴垂直,那么长方体绕 Marker_1 的 的X 轴的转动将被限制,到现在长方体只剩下了一个自由度,即沿 Marker_1 的 的 X 轴的移动,通过在轴的移动,通过在 ADAMS 中定义 Motion 仿真验证可得,自由度的个数和方向是正确的
图 图 8
( (5 )在步骤(1 )、(2 )、(3 )的基础上,要使长方体只能绕 X 轴转动的一个自由度,再添加点轴转动的一个自由度,再添加点+ 面(简单运动副),选择 2_Bodies +1_Location,实体分别选取长方体和大地,选取大地上的实体分别选取长方体和大地,选取大地上的 Marker_1 ,方向选取 Marker_1 的 的 X 轴,那么生成的 Marker_10 (长方体)和 和Marker_11 (Groud)的 的 Z 轴与 Marker_1 的 的 X 轴一致,如图 9 ,那么长方体绕 Marker_1 的 的
X 轴的移动将被限制,现在长方体只剩下了一个自由度,即沿 Marker_1 的 的 X 轴的转动,通过在轴的转动,通过在 ADAMS 中定义 Motion 仿真验证可得,自由度的个数和方向是正确的
图 图 9 ( (6 )如果步骤(5 )采用添加点+ 线约束来限制长方体沿 Marker_1 的 的 X 轴移动,使其达到绕轴移动,使其达到绕 Marker_1 的 的 X 轴转动,选择 2_Bodies +1_Location,实体分别选取长方体和大地,选取大地上的实体分别选取长方体和大地,选取大地上的 Marker_1 ,方向选取 Marker_1 的 的 Z 轴,,那么长方体沿 Marker_1 的 的 X 、Y 轴的移动被限制此时验证模型提示只有一个自由度,但是出现冗余约束情况,轴的移动被限制此时验证模型提示只有一个自由度,但是出现冗余约束情况, 如下.model_1.JPRIM_2
(Inline Primitive_Joint)
Translation Along Xj ,, 图 如图 10 ,也就是说步骤(2 )中的点+ 线约束已经约束过长方体沿 Marker_6 和 和 Marker_7的 的 X 方向的移动,在坐标系 Marker_1 中就是 Y 轴方向移动被约束,如果你再用步骤(6)中点)中点+ 线约束(沿 Marker_1 的 的 Z 轴方向)约束的话,那么长方体沿 Marker_1 中就是 Y 轴方向又被约束一次,出现过约束即冗余约束。轴方向又被约束一次,出现过约束即冗余约束。
图 图 10
(7 )
用简单运动副(点+ 线、点+曲线、垂直轴等)来构造基本运动副(转动副、移动副等)的基本方法:曲线、垂直轴等)来构造基本运动副(转动副、移动副等)的基本方法:用简单运动副构建基本运动副的时候,要保证已经约束过的自由度,不再被约束(即自由状态);添加简单运动副时,要在存在的自由度中移除不需要的自由度,同时使已经约束的自由度成自由状态。用简单运动副构建基本运动副的时候,要保证已经约束过的自由度,不再被约束(即自由状态);添加简单运动副时,要在存在的自由度中移除不需要的自由度,同时使已经约束的自由度成自由状态。于 下面的话表示同时垂直于 Z 轴与 Y 轴的 X 轴的转动自由度不必要,过约束轴的转动自由度不必要,过约束 ,需要移除。
unnecessarily removes this DOF:
Revolution Between Zi&Yj
(8) 谢谢大家多多给我找出错误,谢谢 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_...
推荐访问:学习ADAMS已经有一段时间了 学习 ADAMS