ジョイントを作る

  • Algoryx Momentumを使い、AGXのジョイント(Constraint)を作る

完成の状態

  • RigidBody同士を接続したジョイントができる

../../../../_images/joint_final.drawio.svg

Detect Joints機能でジョイントを作る

表 3 Detect Joints機能で作るコンポーネントのペアとジョイントの種類 [1]

Component1(Rigid Body1)

Component2(Rigid Body2)

ジョイントの種類

ジョイント名

TrackFrame

Sprocket_[L|R]

Hinge

Hinge_Sprocket_[L|R]

TrackFrame

Idler_[L|R]

Hinge

Hinge_Idler_[L|R]

TrackFrame

UpperRoller_[L|R]X

Hinge

Hinge_Roller_[L|R]X

TrackFrame

LowerRoller_[L|R]X

Hinge

Hinge_Roller_[L|R]X

UpperFrame

BoomCylinderTube_R

Hinge

Hinge_UpperStructure_BoomCylinderTube

BoomShape

Arm

Hinge

Hinge_Arm

BoomPistonRodPin

BoomShape

Hinge

Hinge_BoomPistonRod_Boom

BoomShape

ArmCylinderTube

Hinge

Hinge_Boom_ArmCylinderTube

Arm

BucketShape

Hinge

Hinge_Bucket

ArmPistonRod

Arm

Hinge

Hinge_ArmPistonRod_Arm

Arm

BucketCylinderTube

Hinge

Hinge_Arm_BucketCylinderTube

Arm

ILinkPin

Hinge

Hinge_Arm_ILink

HLink

BucketShape

Hinge

Hinge_HLink_Bucket

BucketPistonRod

ILinkPin

Hinge

Hinge_BucketPistonRod_ILink

ILinkPin

HLink

Hinge

Hinge_ILink_HLink

Boom_CylinderTube_L

Boom_PistonRod_L

Prismatic

Prismatic_Boom

ArmCylinderTube

ArmPistonRod

Prismatic

Prismatic_Arm

BucketCylinderTube

BucketPistonRod

Prismatic

Prismatic_Bucket

  1. メニューバーの Momentum を選択する

  2. ツールバーの Detect Joints を選択する。Detect Joints パネルにジョイントで接続可能なコンポーネント(RigidBody)のペアが表示される。

  3. 表 3 を参照し、Detect Joints パネルでジョイントを接続するコンポーネントのペアを選択し、Design ウィンドウのツールガイドボタンからジョイントを作る [1]。例えば、TrackFrameIdler_L を接続する場合は下図のとおりである。

  4. Structure パネルから作成したジョイントを選択する。Properties パネルの Joint セクションの Component[1|2]Rigid Body[1|2] を確認しながら、表 3 の通りジョイント名を設定する。

Detect Joints機能で見つからなかったジョイントを作る

Hinge_Slewを作る

  1. メニューバーの Momentum を選択し、ツールバーの Hinge を選択する

  2. UpperStructureTrackFrame を接続するジョイントを作る。Design ウィンドウで Ctrl を押しながら、UpperStructure の下部を選択する

  3. 続けて TrackFrame の回転台側面を選択してジョイントを作る。ジョイント名を Hinge_Slew とする。

Hinge_Boomを作る

  1. ツールバーから Hinge を選択する

  2. UpperStructureBoom を接続するジョイントを作る。Design ウィンドウで Ctrl を押しながら、UpperStructure の下部を選択する

  3. 続けて Boom 根本の穴を選択してジョイントを作る。ジョイント名を Hinge_Boom とする。

ジョイントの軸方向と位置を調整する

ホイールジョイントの軸方向を調整する

ホイールを接続するジョイントのZ軸をワールド座標系のY軸方向に合わせる。

  1. mMove ツールを選択する(またはメニューバーから Sketch または Design タブを選択し、Move ツールボタンを選択する)

  2. Structure パネルからホイールを接続するジョイントを選択する。ここでは例として Hinge_Sprocket_L を扱う。

  3. X軸回りのギズモを選択し、Space を選択する。180 を入力し、Z軸を反転する。

  4. 全てのホイールジョイントのZ軸の向きを確認し、方向を揃える

その他のHingeジョイントの軸方向を調整する

  1. 上記 と同じ手順で Hinge_Slew を除くHingeジョイントのZ軸をワールド座標系のY軸方向に合わせる。

Hinge_Boom の軸位置を調整する

  1. Moveツール m を選択する

  2. Structure パネルから Hinge_Boom を選択する

  3. UpTo を選択後、近くにある座標系オブジェクト TF_Origin を選択し、ジョイントの軸位置を合わせる

Hinge_Slew の軸方向と位置を調整する

  1. Moveツール m を選択する

  2. Structure パネルから Hinge_Slew を選択する

  3. UpTo を選択後、近くにある座標系オブジェクト TF_Connect_UpperStructure を選択し、ジョイントの軸位置を合わせる

  4. Hinge_Slew のZ軸が既にワールドのZ軸方向に向いている場合は以降の調整は不要。

  5. もう一度、Moveツール mHinge_Slew を選択する

  6. X軸回りを選択し、Space を選択する。180 を入力し、Z軸を上向きに反転する。

ジョイントのRigidBodyペアの順序を修正する

表 4 ジョイントのRigidBodyペアの順序

Joint

RigidBody1(子)

RigidBody2(親)

Hinge_Sprocket_[L|R]

RB_Sprocket_[L|R]

RB_TrackFrame

Hinge_Idler_[L|R]

RB_Idler_[L|R]

RB_TrackFrame

Hinge_UpperRoller_[L|R]X

RB_UpperRoller_[L|R]X

RB_TrackFrame

Hinge_LowerRoller_[L|R]X

RB_LowerRoller_[L|R]X

RB_TrackFrame

Hinge_Slew

RB_UpperStructure

RB_TrackFrame

Hinge_Boom

RB_Boom

RB_UpperStructure

Hinge_Arm

RB_Arm

RB_Boom

Hinge_Bucket

RB_Bucket

RB_Arm

Prismatic_Boom

RB_BoomPistonRod

RB_BoomCylinderTube

Prismatic_Arm

RB_ArmPistonRod

RB_ArmCylinderTube

Prismatic_Bucket

RB_BucketPistonRod

RB_BucketCylinderTube

Hinge_UpperStructure_BoomCylinderTube

RB_BoomCylinderTube

RB_UpperStructure

Hinge_BoomPistonRod_Boom

RB_Boom

RB_BoomPistonRod

Hinge_Boom_ArmCylinderTube

RB_ArmCylinderTube

RB_Boom

Hinge_ArmPistonRod_Arm

RB_Arm

RB_ArmPistonRod

Hinge_Arm_BucketCylinderTube

RB_BucketCylinderTube

RB_Arm

Hinge_BucketPistonRod_ILink

RB_ILink

RB_BucketPistonRod

Hinge_Arm_ILink

RB_ILink

RB_Arm

Hinge_ILink_HLink

RB_HLink

RB_ILink

Hinge_HLink_Bucket

RB_Bucket

RB_HLink

AGXでは、ジョイントを駆動すると、Rigid Body2(親)に対してRigid Body1(子)がジョイントの軸方向定義に沿って動作する。 次の手順で 表 4 のとおり、ジョイントのRigid Bodyペアの順番の修正し、相対角度、速度の符号を整理する。

  1. Simulation Structure パネルから Simulation (Group by Rigid Bodies) を選択する。コンテキストメニューを開き、Group by Joints を選択し、Jointの一覧を表示する。

  2. Properties パネルの Joint セクションの Rigid Body1Rigid Body2 を確認する。順番が 表 4 と異なっている場合は Reverse DirectionTrue に設定し、順番を反転させる。