Constraint: Mate

Model ElementConstraint_MATEを使用して、形状プリミティブ間の一般的な嵌合拘束を指定します。

説明

Constraint_MATEConstraint_JointConstraint_Jprimの違いは、嵌合形状間の距離、接触、一致関係に基づいてより一般的な拘束が指定される点です。

フォーマット

<Constraint_Mate
     id             =     "integer"   
   [ label          =     "string" ]     
     i_marker_id    =     "integer"     
     j_marker_id    =     "integer" 
   {     
     type           =     "COI_POI_SPH"
     radius         =     "real"
   |     
     type           =     "DIS_POI_ POI"
     dist           =     "real"
   |     
     type           =     "DIS_POI_SPH"
     dist           =     "real"     
     radius         =     "real"
   |     
     type           =     "DIS_SPH_SPH"
     dist           =     "real"     
     iradius        =     "real"     
     jradius        =     "real"
   |     
     type           =     "TAN_SPH_SPH"
     iradius        =     "real"     
     jradius        =     "real"
   |     
     type           =     "COI_POI_CYL"
     radius         =     "real"
   |     
     type           =     "DIS_POI_LIN"
     dist           =     "real"
   |     
     type           =     "DIS_POI_CYL"
     dist           =     "real"     
     radius         =     "real"
   |     
     type           =     "DIS_SPH_LIN"
     dist           =     "real"     
     radius         =     "real"
   |     
     type           =     "DIS_SPH_CYL"
     dist           =     "real"     
     iradius        =     "real"     
     jradius        =     "real"
   |     
     type           =     "TAN_SPH_LIN"
     radius         =     "real"
   |     
     type           =     "TAN_SPH_CYL"
     iradius        =     "real"     
     jradius        =     "real"
   |     
     type           =     "COI_LIN_CYL"
     radius         =     "real"
   |     
     type           =     "DIS_LIN_LIN"
     dist           =     "real"
   |     
     type           =     "DIS_LIN_CYL"
     dist           =     "real"     
     radius         =     "real"
   |     
     type           =     "DIS_CYL_CYL"
     dist           =     "real"     
     iradius        =     "real"     
     jradius        =     "real"
   |     
     type           =     "TAN_LIN_CYL"
     radius         =     "real"
   |     
     type           =     "TAN_CYL_CYL"
     iradius        =     "real"     
     jradius        =     "real"
   |     
     type           =     "COI_LIN_PLA"
   |     
     type           =     "COI_POI_POI"
   |     
     type           =     "COI_POI_LIN"
   |     
     type           =     "COI_LIN_LIN"
   |     
     type           =     "DIS_LIN_PLA"
     dist           =     "real"
   |     
     type           =     "DIS_PLA_CYL"
     dist           =     "real"     
     radius         =     "real"
   |     
     type           =     "TAN_PLA_CYL"
     radius         =     "real"
   |     
     type           =     "DIS_SPH_PLA"
     dist           =     "real"     
     radius         =     "real"
   |     
     type           =     "TAN_SPH_PLA"
     radius         =     "real"
   |     
     type           =     "COI_POI_CON"
     radius         =     "real"     
     height         =     "real"
   |     
     type           =     "DIS_SPH_CON"
     dist           =     "real"     
     iradius        =     "real"     
     jradius        =     "real"     
     height         =     "real"
   |     
     type           =     "TAN_SPH_CON"
     iradius        =     "real"     
     jradius        =     "real"     
     height         =     "real"
   |     
     type           =     "DIS_PLA_CON"
     dist           =     "real"     
     radius         =     "real"     
     height         =     "real"
   |     
     type           =     "TAN_PLA_CON"
     radius         =     "real"     
     height         =     "real"
   }
   [ is_virtual     =    {"FALSE" | "TRUE"} ]
</Constraint_Mate>

属性

id
要素識別番号(整数 > 0)。これは、すべてのConstraint_MATE要素の中で一意の番号です。
label
Constraint_MATE要素の名前。
i_marker_id
1つ目のボディ上の結合を定義するReference_Markerを指定します。ボディは、剛体、弾性体、またはポイントボディのいずれかです。このパラメータは必須です。
j_marker_id
2つ目のボディ上の結合を定義するReference_Markerを指定します。ボディは、剛体、弾性体、またはポイントボディのいずれかです。
type
i_marker_idj_marker_idの間の嵌合のタイプを指定します。
は、次のいずれかにできます:
Type
拘束数
COI_POI_SPH
1
DIS_POI_POI
1
DIS_POI_SPH
1
DIS_SPH_SPH
1
TAN_SPH_SPH
1
COI_POI_CYL
1
DIS_POI_LIN
1
DIS_POI_CYL
1
DIS_SPH_LIN
1
DIS_SPH_CYL
1
TAN_SPH_LIN
1
TAN_SPH_CYL
1
COI_LIN_CYL
3
DIS_LIN_LIN
2
DIS_LIN_CYL
2
DIS_CYL_CYL
2
TAN_LIN_CYL
2
TAN_CYL_CYL
2
COI_LIN_PLA
2
COI_POI_POI
3
COI_POI_LIN
2
COI_LIN_LIN
4
DIS_LIN_PLA
2
DIS_PLA_CYL
2
TAN_PLA_CYL
2
DIS_SPH_PLA
1
TAN_SPH_PLA
1
COI_POI_CON
1
DIS_SPH_CON
1
TAN_SPH_CON
1
DIS_PLA_CON
3
TAN_PLA_CON
3

このパラメータは必須です。これらの嵌合タイプの詳細については、コメントをご参照ください。

dist
DIS_mate拘束によって拘束された2つのパート間の距離。このオプションは、嵌合拘束専用です。
radius
嵌合拘束で指定された円 / 球の半径。このオプションは、嵌合拘束専用です。
i radius
嵌合拘束で指定されたIパートの円 / 球の半径。このオプションは、嵌合拘束専用です。
j radius
嵌合拘束で指定されたJパートの円 / 球の半径。このオプションは、嵌合拘束専用です。
height
嵌合拘束で指定されたパートの高さ。このオプションは、嵌合拘束専用です。
is_virtual
仮想拘束なのか通常の拘束なのかを定義します。is_virtualTRUEに設定されている場合、拘束は仮想拘束として実装されます。is_virtualFALSEに設定されている場合、拘束は通常の代数拘束として実装されます。このパラメータは省略可能です。デフォルトはFALSEです。仮想ジョイントの詳細については、Constraint: Jointコメント22をご参照ください。

例1

以下は、TAN_PLA_CONタイプのConstraint_Mateの実装です:

<Constraint_Mate
     id                  = "301002"
     type                = "TAN_PLA_CON"
     i_marker_id         = "30103071"
     j_marker_id         = "30102030"
     radius              = "600."
     height              = "800."     
  />

Iマーカーは平面に関連付けられており、Jマーカーは円錐に関連付けられています。

例2

以下は、1つのConstraint_Mate要素を使用して、2つのADAMS GCON要素と同じ拘束を実現する方法を示しています:

GCON/1
, I = 5
, FUNCTION = DZ(5,6,6)-0.035000
GCON/2
, I = 5
, FUNCTION = UVZ(5)*UVZ(6)
<Constraint_Mate
     id            = "1"
     type          = "TAN_PLA_CYL"
     i_marker_id   = "6"
     j_marker_id   = "5"
     radius        = "0.035"
  />

代わりに、以下のようにGCON要素をコメントアウトして、MATE要素を挿入することで、ADMファイルを変更することもできます。

GCON/1
, I = 5
, FUNCTION = DZ(5,6,6)-0.035000
GCON/2
, I = 5
, FUNCTION = UVZ(5)*UVZ(6)
MATE/1
, TAN_PLA_CYL
, I = 6 , J = 5
, RADIUS = 0.035

MATE要素は、ADAMSではサポートされていないことに留意してください。

例3

以下は、TAN_PLA_CYLタイプの嵌合の例です:

<Constraint_Mate
     id          = "301002"
     type        = "TAN_PLA_CYL"
     i_marker_id = "1" 
     j_marker_id = "2"
     radius      = "60."
   />
次の図は、モデルのコンフィギュレーションを示しています。Reference_Marker 1は平面上にあり、そのZ軸は平面に対して垂直です。Reference_Marker 2の原点は円筒の底面上にあり、そのZ軸は円筒軸に沿っています。


図 1.

コメント

  1. Constraint_MATEのタイプは、AAA_BBB_CCCという形で記述されます。AAAは以下のいずれかのタイプです:
    1. DIS - 距離
    2. TAN - 接触
    3. COI - 一致
    BBBとCCCは以下のいずれかのタイプです:
    1. SPH - 球
    2. PLA - 平面
    3. CYL - 円筒
    4. LIN - 直線
    5. CON - 円錐
    6. POI - ポイント
  2. IDがi_marker_idおよびj_marker_idReference_Marker要素は、それぞれBBBとCCCのグラフィックが付加されるボディに属しています。
  3. POIおよびSPHの場合、Reference_Marker要素の原点は、それぞれポイント上および球中心にあります。Reference_Markerの向きはどちらでもかまいません。

    PLAの場合、Reference_Markerの原点は平面内にあり、Z軸は平面に対して垂直です。

    LINの場合、Reference_Markerの原点はライン上にあり、Z軸はラインに沿っています。

    CYLの場合、Reference_Markerの原点は円筒の一方の底面の中心にあり、Z軸は円筒軸に沿い、反対側の底面に向かっています。

    CONの場合、Reference_Markerの原点は円錐の底面の中心にあり、Z軸は軸に沿い、円錐の頂点に向かっています。

  4. DIST引数をゼロに設定すると、DISタイプのConstraint_MateTANタイプのConstraint_Mateに変わります。
  5. ソルバーでは、Constraint_Mateに含まれているグラフィックプリミティブは無限の寸法を有しているものとして扱われますが、グラフィック自体の寸法は有限の可能性があることに留意することが重要です。
  6. Constraint_Mate要素を使用して、ADAMS GCON要素の機能の一部を実装できます。例のセクションをご参照ください。