概要

別々のモデルのリンク間に仮想関節を設定すると、指定したリンク間に拘束力を発生させることができます。2つのリンクはボールジョイントで接続されていると考え、指定した並進方向に拘束力を発生させます。
これを用いると、図1のように鉄棒にロボットをぶら下がらせるようなことができます。


図1 : Extra Joint Sample

ここでは、仮想関節を設定する手順を説明します。

ExtraJointアイテムの作成

他のシミュレーションと同様にアイテムを設定してプロジェクトを作成します。
アイテムビューのExtraJointフォルダを右クリックし、メニューから”作成”を選択します。
作成されたExtraJointアイテムを選択すると、プロパティビューに内容が表示されますので、ここで編集します。
プロパティの意味は以下の通りです。

name仮想関節の名前を指定します。
link1Nameボールジョイントを受けているリンク名を指定します。
link2Nameボールジョイントが付いているリンク名を指定します。
object1Namelink1Nameのモデル名を指定します。
object2Namelink2Nameのモデル名を指定します。
link1LocalPoslink1Nameリンクの拘束位置をそのリンクのローカル座標で指定します。
link2LocalPoslink2Nameリンクの拘束位置をそのリンクのローカル座標で指定します。
jointType拘束する軸数を指定します。xyz:互いに直交する3軸 xy:jointAxisで指定した軸に直交する2軸 z:jointAxisで指定した1軸
jointAxislink1Nameリンクのローカル座標で単位ベクトルを指定します。ベクトルの意味は、jointTypeの指定で変わります。

サンプルの実行

GrxUIを起動し、プロジェクトExtraJoint.xmlをloadします。
シミュレーションを開始してください。