キネマティクス

概要と主要な概念

FlexSimのキネマティクス機能を使用すると、1つの共通のインターフェイスから単一のオブジェクトに複数の移動オペレーションを実行させることができます。移動オペレーションは、それぞれ独自の加速、減速、開始速度、終了速度、最大速度特性を持つことができます。移動オペレーションは、互いに重ねて実行することも、順番に実行することもできます。

以下は、順番に実行される2つのキネマティクスの時間ベースのプロットです。

以下は、互いに重なる2つのキネマティクスの時間ベースのプロットです。

キネマティクスを使用すると、速度、速度、加速、減速などに関連するロジックの計算を簡単に処理することもできます。

たとえば、天井クレーンには通常、クレーンを駆動するモーターが複数あります。1つのモーターがレールに沿ってブリッジを駆動し、別のモーターがブリッジに沿ってトローリーを駆動し、さらに別のモーターがケーブルでフックまたはグラバーを持ち上げます。これらのモーターは、それぞれ独自の加速、減速、最大速度特性を持つことができます。キネマティクスを使用すると、単一のキネマティクスインターフェイスからこれらすべての動作を定義し、複数の異なるモーターを同時に動かして、クレーンのエンドエフェクタを非常に動的に動作させることができます。キネマティクスが導入される前、この動作をシミュレートする最も簡単な方法は、モデルツリーで3つの異なるオブジェクトを階層的に並べ、それぞれのオブジェクトに1つの動作またはキネマティックをシミュレートさせることでした。これは非常にうまくいくこともあれば、面倒でわかりにくくなることもあります。キネマティック機能は、1つのオブジェクトが複数の動作またはキネマティクスを同時に実行できるようにすることで、この問題を解決しようとします。

コマンドの概要

キネマティクスコマンドの概要を以下に示します。

  • initkinematics - キネマティクスのデータを初期化し、動作を適用するオブジェクトの開始位置や回転などのデータを保存します。
  • addkinematic - オブジェクトに移動/回転オペレーションを追加します。たとえば、5秒後に開始し、指定した加速、減速、最大速度でx方向に10単位移動するようオブジェクトに指示できます。次に、7秒後に開始し、異なる加速、減速、最大速度でy方向に10単位移動するようオブジェクトに指示できます。これら2つのオペレーションの結果、オブジェクトはx方向に移動を開始すると同時にy方向に加速を開始し、放物線状の曲線に沿って目的地に移動します。addkinematicを呼び出すたびに、オブジェクトに別のオペレーションが追加されます。
  • updatekinematics - このコマンドは、オブジェクトが再描画されるときに呼び出す必要があります。これは、現在の時間に基づいてキネマティクスの現在の位置と回転を計算し、オブジェクトの位置をその位置に設定します。

initkinematics

  • 空白ノード - initkinematicsコマンドでは、他のすべてのキネマティクスコマンドと同様に、空白ノードへの参照を最初のパラメータとして渡す必要があります。これは、キネマティック情報を格納する場所、またはキネマティック情報が格納されている場所から情報を取得するかどうかを指定します。このノードは、キネマティック機能が必要に応じてデータを格納できるように、それ以外の用途には使用されていないノードである必要があります。モデラーの場合、このノードはおそらくラベルになります。キネマティクスが初期化されると、ノードに「触らないでください」というテキストが表示されます。キネマティックオペレーションの進行中は、ツリーまたはテーブルビューでこのノードをクリックしないでください。キネマティックデータが破損する可能性があります。
  • オーバーロード - initkinematicsコマンドはオーバーロードされるため、状況に応じて2つの異なるパラメータセットを使用してinitkinematicsを呼び出すことができます。これらの2つのオーバーロードのパラメータは次のとおりです。

void initkinematics(treenode datanode, treenode object [, int flags])

  • datanode - これはキネマティックデータの空白ノードです。
  • object - これは移動を行うオブジェクトです。
  • flags - このオプションのパラメータは、キネマティックの各種のフラグを定義します。ビットまたは次の値を指定できます。
    • KINEMATIC_MANAGE_ROTATIONS - このフラグが設定されている場合、オブジェクトは常に移動方向を指します。
    • KINEMATIC_RELATIVE_LOCS - このフラグが設定されている場合、オブジェクトは、キネマティックを初期化するときのオブジェクトの回転に基づいて、そのローカル座標系に従って移動します。そうでない場合、キネマティック座標はオブジェクトのコンテナの座標系に基づきます。
    • KINEMATIC_DO_NOT_PRUNE - デフォルトでは、キネマティクスロジックは、移動を終えたキネマティクスを「整理」します。つまり、キネマティクスを特定のキネマティックの終了時間の後の時間に更新すると、そのキネマティックはキネマティクスリストから削除されます。これを望まない場合、つまりキネマティックのさまざまな時間にクエリを実行する可能性がある場合は、このフラグを設定します。
    • KINEMATIC_RESET_BUFFER - デフォルトでは、キネマティックのメモリ割り当ては速度に応じて最適化されます。つまり、メモリの再割り当ては必要なときにのみ行われ、キネマティックを初期化するときにメモリのサイズは元に戻されません。ただし、このフラグを設定すると、初期化時にデータバッファのサイズが初期サイズに変更されます。

このパラメータセットは、移動するオブジェクト(トランスポーターなど)があることを前提とします。これもまた、最初のパラメータは、空白ノードのキネマティックデータで、ラベル、属性、変数のいずれかです。2番目のパラメータは、移動を行うオブジェクトです。このコマンドは、オブジェクトの初期位置と回転を保存します。オプションのmanagerotationパラメータは1または0のいずれかです。1の場合、オブジェクトの回転は、任意の時点におけるオブジェクトの速度に従って設定されます。デフォルトでは、オブジェクトの正のx方向は、常にオブジェクトの現在の速度方向の位置を示します。これは、たとえば、移動するときに常に前方を向かせるトラックがある場合に使用されます。managerotationが0として渡された場合、オブジェクトは回転するコマンドが与えられない限り、回転しません。これについては後述します。このパラメータを指定しない場合、デフォルトではmanagerotateは0に設定されます。オプションのlocalcoordsパラメータは、後続の移動コマンドの位置の方向を指定します。たとえば、トラックが45度回転していて、x方向に5単位移動する場合、これは2つの異なる意味に解釈できます。トラックの座標系に従ってx方向に5単位移動させるのか、それともモデルの座標系(またはトラックのコンテナの座標系)に従って5単位移動させるのかということです。前者の場合、オブジェクトは実際にはモデルの座標空間に従ってx方向に3.5単位、y方向に3.5単位移動します。ただし、後者の場合は、モデルの座標空間に従ってx方向に通常の5単位移動します。localcoordsパラメータは、使用する座標系を指定します。1が渡された場合は、オブジェクトの座標系が使用されます(前者のケース)。オブジェクトが後でキネマティクスで回転する場合、オブジェクトの後続の座標系ではなく、オブジェクトの初期座標系のみが位置計算に使用されることに注意してください。0が渡された場合は、オブジェクトのコンテナの座標系が使用されます(後者のケース)。このパラメータを指定しない場合、デフォルトは0です。

void initkinematics(treenode datanode [, double x, double y, double z, double rx, double ry, double rz, int flags] )

  • datanode - これはキネマティックデータの空白ノードです。
  • x、y、z - これらはオプションの初期位置変数です。デフォルト:0, 0, 0
  • rx、ry、rz - これらはオプションの初期回転変数です。デフォルト:0, 0, 0
  • flags - 詳細については、上の最初のオーバーロードを参照してください。

このパラメータセットを使用すると、オブジェクトを参照する代わりに、初期位置および回転を明示的に渡すことができます。おそらく別のパラメータセットでオブジェクトを渡すことのほうが多いでしょうが、このパラメータセットを使用すれば究極の柔軟性が得られます。このパラメータセットは、オブジェクトの初期位置および回転を明示的に渡する場合や、位置および回転の値が必ずしもモデル内の実際の位置および回転を表していない場合に使用します。たとえば、ロボットアームをシミュレートしており、そのアームに異なる加減/減速/最大速度値で移動/回転するジョイントが複数存在するとします。アームの動きの視覚化は、明示的なFlexsimの位置/回転ではシミュレートされませんが、独自の描画コマンドとラベルまたは変数によってシミュレートされます。この場合は、キネマティクスを回転と位置に直接適用するのではなく、自分でオブジェクトに保持している情報に適用します。このような状況では、所与のキネマティクスセットは、x、y、z位置およびx、y、z回転に直接適用されると見なす必要はなく、6つの個別のキネマティック動作(それぞれ1つの軸に沿って動く)と見なすことができます。これらの6つの軸は、オブジェクトにさせる動作を表すことができます。たとえば、ロボットに4つのジョイントがあり、それぞれに回転値が1つあるとします。キネマティクスを使用してロボットの4つのジョイントを動かすには、各ジョイントでキネマティクスの1つの軸をシミュレートします。キネマティクスのx部分はジョイント1の回転に、y部分はジョイント2の回転に、z部分はジョイント3の回転に、rx部分はジョイント4の回転にそれぞれ適用されます。キネマティクスのその他の2つの部分、つまりryとrzについては、気にする必要はありません。4つの関節のそれぞれの開始回転を使用してキネマティクスを初期化し、各ジョイントに個別に適用されるキネマティクスを追加できます。次に、後でロボットアームの動きを描画するためにジョイントの現在の回転値を取得する場合は、updatekinematicsコマンドの代わりにgetkinematicsコマンドを使用して明示的に値を取得します。これらの値はオブジェクトの位置または回転に適用しません。これらのコマンドについては後で説明します。

void setkinematicsrotoffset(treenode datanode, double rx, double ry, double rz)

  • datanode - これはキネマティックデータの空白ノードです。
  • rx、ry、rz - これらは初期回転変数です。

このコマンドは、managerotationがinitkinematicsに1として渡された場合にのみ使用されます。これにより、回転の管理に使用する初期回転を設定できます。デフォルトでは、オブジェクトの正のx方向は、常にオブジェクトの現在の速度方向の位置を示します。トラックの場合は、前方に移動するように常に回転させるのではなく、後方に移動させる場合があります。ここでは、(0,0,180)の回転オフセットを指定できます。

addkinematic

double addkinematic(treenode datanode, double x, double y, double z, double targetspeed [, double acc, double dec, double startspeed, double endspeed, double starttime, int type ] )

  • datanode - これはキネマティックデータの空白ノードです。
  • x、y、z - これらはオフセット位置または回転です。
  • targetspeed - これは目標移動速度です。
  • acc - このオプションのパラメータは、加速を指定します。デフォルト:0(または無限の加速)
  • dec - このオプションのパラメータは、減速を指定します。デフォルト:0(または無限の減速)
  • startspeed - このオプションのパラメータは、初期速度を指定します。デフォルト:0
  • endspeed - このオプションのパラメータは、終了速度を指定します。デフォルト:0
  • starttime - このオプションのパラメータは、絶対開始時間を指定します。デフォルト:現在の時間
  • type - このオプションのパラメータは、適用する移動のタイプ(回転または移動)を指定します。デフォルト:KINEMATIC_TRAVEL

このコマンドは、キネマティクスのセットにキネマティックを追加します。x、y、zパラメータは、オフセット位置または回転を構成します。たとえば、位置(5,5,0)は、x方向に5、y方向に5移動するようキネマティックに指示します。これらはオブジェクトの現在の位置からのオフセットであり、絶対位置ではありません。targetspeedパラメータは、移動オペレーションの目標速度を指定します。他のパラメータはオプションです。accは加速を指定します。decは減速を指定します。startspeedはキネマティックの開始速度を指定します。この速度が目標速度よりも高い場合、オブジェクトは開始速度で開始し、目標速度まで減速します。endspeedはオペレーションの終了速度を指定します。endspeedがtargetspeedよりも大きい場合、オブジェクトはオペレーションの終了時に目標速度から終了速度まで加速します。starttimeは、現在の時間からのオフセットとしてではなく、シミュレーション時間でのキネマティックの開始時間です。typeパラメータは、キネマティックのタイプを指定します。この値は、通常はKINEMATIC_TRAVELまたはKINEMATIC_ROTATEのいずれかです。値がKINEMATIC_TRAVELの場合、オペレーションはx、y、z位置の値に適用されます。KINEMATIC_ROTATEの場合、オペレーションはrx、ry、rz回転の値に適用され、速度は単位時間あたりの度数、加速/減速は単位時間あたりの度数の二乗で定義されます。このコマンドは、このキネマティックオペレーションが終了する時間を返します。

以下は、加速と減速を使用してx方向に3、y方向に2移動するキネマティックの時間ベースのプロットです。

旋回キネマティックタイプ

KINEMATIC_TRAVELとKINEMATIC_ROTATEに加えて、3つの「旋回」キネマティックタイプがあります。これらは、移動中のオブジェクトを指定された旋回半径で特定の角度に旋回させます。このタイプのキネマティックは、KINEMATIC_TURN_XY、KINEMATIC_TURN_YZ、KINEMATIC_TURN_ZXです。これらのキネマティックタイプの場合、addkinematic()に渡すx、y、zパラメータは、次のように異なる意味を持ちます。

  • x - 開始角度(度)。角度が0の場合、旋回開始時の初期動作方向は、キネマティックタイプの名前の最初の軸と同じ方向になります。つまり、KINEMATIC_TURN_XYの場合、開始角度0は初期動作がx軸に沿った正であることを意味します。KINEMATIC_TURN_YZの場合、初期動作はy軸に沿った正です。開始角度と旋回角度を計算するときは、指定された軸を中心に右手の法則を使用します。
  • y - 旋回角度(度)オブジェクトの動きは、キネマティックタイプの名前の2つの軸によって定義される平面と平行にこの度数旋回します。つまり、KINEMATIC_TURN_XYはx/y平面内で(つまりz軸の周りを)旋回します。
  • z - 旋回半径(距離)

このキネマティックタイプの他のすべてのパラメータ(最大速度、加速、減速など)は同じです。速度は単位時間あたりの長さ単位であり、単位時間あたりの度数ではありません。

たとえば、x軸に沿った正の移動からx軸から60度離れた移動へと旋回半径5(つまり、z軸の周りを旋回)で旋回する動作を作成する場合は、次のように呼び出します。


		addkinematic(kinematics, 0, 60, 5, 1, 1, 1, 0, 0, time(),
		KINEMATIC_TURN_XY);
		

updatekinematics

void updatekinematics(treenode datanode, treenode object [, double updatetime])

  • datanode - これはキネマティックデータの空白ノードです。
  • object - これは移動を行うオブジェクトです。
  • updatetime - このオプションのパラメータは、絶対更新時間を指定します。デフォルト:現在の時間。

このコマンドは、キネマティックオペレーションの途中、通常は前描画または描画時に呼び出す必要があります。追加されたすべてのキネマティクスと現在の更新時間に従って、オブジェクトの現在の位置と回転を計算して設定します。updatetimeパラメータはオプションです。渡されない場合、現在のシミュレーション時間が使用されます。

その他のキネマティクスコマンド

double getkinematics(treenode datanode, int type [, int kinematicindex, double updatetime/traveldist])

  • datanode - これはキネマティックデータの空白ノードです。
  • type - 取得する情報のタイプを指定します(下参照)。
  • kinematicindex - このオプションのパラメータは、クエリするキネマティックを指定します。デフォルト:0(すべてのキネマティクス)
  • updatetme/traveldist - このオプションのパラメータは、パラメータタイプに応じて更新時間または移動距離のいずれかを表します。デフォルト:現在の時間。

このコマンドは、キネマティクスに関する明示的な情報を取得する場合に使用します。キネマティクスセット全体または個々のキネマティックに関する情報を取得できます。このコマンドは、キネマティクスがオブジェクトの位置や回転に直接適用されない場合、またはロジックでこの情報が必要な場合に使用します。typeパラメータは、必要な情報のタイプを指定します。これについてはすぐ後で説明します。kinematicindexパラメータはオプションで、情報を取得する個々のキネマティックを指定します。たとえば、x方向に5単位移動するキネマティックを2つ目のaddkinematicコマンドとして追加する場合は、getkinematicsコマンドにkinematicindexパラメータとして2を渡します。値を渡さない場合、またはここで値0を渡した場合、デフォルトではすべてのキネマティクスに関する情報がまとめて取得されます。updatetime/traveldistパラメータはオプションです。このパラメータの意味は、指定したtypeパラメータによって異なります。このパラメータは使用されないことがあります。情報を取得するために要求した更新時間を表すこともあります。渡されない場合、現在の時間が使用されます。KINEMATIC_ARRIVALTIMEクエリの場合、このパラメータは代わりに移動距離を表します。このパラメータの使用方法については、クエリタイプごとに説明します。

情報 typeパラメータの値 単一のキネマティック すべてのキネマティクス
場所 KINEMATIC_X
KINEMATIC_Y
KINEMATIC_Z
指定された更新時間における指定されたキネマティックの現在の位置のx、y、またはz成分を返します。たとえば時間5に開始し、x方向に10単位移動するキネマティックを追加し、時間7におけるこの特定のキネマティックのx位置を知りたい場合は、getkinematiczs(datanode, KINEMATIC_X, index, 7)を呼び出して時間7のx位置を取得できます。 指定された更新時間におけるオブジェクトのx、y、またはz位置を返します。
終了距離 KINEMATIC_ENDDIST オブジェクトの初期位置からすべてのキネマティクスの最終的な目的地までの距離を返します。ここでは、updatetimeパラメータは使用されません。
合計距離 KINEMATIC_TOTALDIST キネマティックオペレーションの合計距離を返します。 追加されたすべてのキネマティクスの距離の合計を返します。これはKINEMATIC_ENDDISTとは微妙に異なります。
たとえば、最初のキネマティックがx方向に10移動し、2番目のキネマティックがx方向に-10移動する場合、enddist値は0になりますが、totaldist値は20になります。ここでは、updatetimeパラメータは使用されません。
合計成分距離 KINEMATIC_TOTALX
KINEMATIC_TOTALY
KINEMATIC_TOTALZ
キネマティックオペレーションの合計距離のx、y、またはz成分を返します。これらはaddkinematicコマンドに渡したものと同じ値です。ここでは、updatetimeパラメータは使用されません。 追加されたすべてのキネマティクスのx、y、またはz成分の合計を返します。ここでは、updatetimeパラメータは使用されません。
累積距離 KINEMATIC_CUMULATIVEDIST 追加されたすべてのキネマティクスの累積移動距離を返します。enddistまたはtotaldistとは異なり、キネマティックオペレーション全体の実行中にオブジェクトがたどる(おそらくは曲線状の)パスの距離を計算します。ここでは、updatetimeパラメータは使用されません。注意:累積距離に関しては、旋回キネマティクスを使用している場合、その旋回キネマティクスは他の移動または旋回キネマティクスと重なってはなりません。旋回キネマティクスが他のキネマティクスと重なる場合、累積距離が正しく計算されません。
速度 KINEMATIC_VX
KINEMATIC_VY
KINEMATIC_VZ
指定された更新時間における指定されたキネマティックの現在の速度のx、y、またはz成分を返します。 指定された時間のオブジェクトのx、y、またはz速度を返します。
開始速度 KINEMATIC_STARTSPEED キネマティックの開始速度を返します。これはaddkinematicコマンドで指定するstartspeedです。ここでは、updatetimeパラメータは使用されません。
ピーク速度 KINEMATIC_PEAKSPEED キネマティックのピーク速度または「到達速度」を返します。これは通常はaddkinematicコマンドで指定される目標速度と同じですが、キネマティックが所与の移動距離で目標速度に到達できない場合は、必ずしもそうではありません。ここでは、updatetimeパラメータは使用されません。
終了速度 KINEMATIC_ENDSPEED これはキネマティックの終了速度を返します。これは通常はaddkinematicコマンドで指定する終了速度ですが、キネマティックが所与の移動距離で指定された終了速度に減速/加速できない場合は、必ずしもそうではありません。ここでは、updatetimeパラメータは使用されません。
合計速度 KINEMATIC_VELOCITY 指定された時間のキネマティックの合計速度を返します。 指定された時間の合計速度のスカラー値を返します。
加速(開始) KINEMATIC_ACC1 開始速度から目標速度まで到達するために使用される加速度値を返します。開始速度が目標速度よりも小さい場合、この値は加速値になります。そうでない場合は、負の減速値になります。ここでは、updatetimeパラメータは使用されません。
加速(停止) KINEMATIC_ACC2 目標速度から最終速度まで到達するために使用される加速度値を返します。終了速度が目標速度よりも小さい場合は、負の減速値を返します。そうでない場合は、加速値を返します。ここでは、updatetimeパラメータは使用されません。
回転 KINEMATIC_RX
KINEMATIC_RY
KINEMATIC_RZ
指定された更新時間における回転キネマティックのx、y、またはz回転を返します。 指定された更新時間におけるオブジェクトのx、y、またはz回転を返します。これは、手動で回転を管理する場合にのみ有効です。
終了回転距離 KINEMATIC_ENDRDIST オブジェクトの初期回転位置からすべてのキネマティクスの最終的な回転位置までの距離を返します。これは、手動で回転を管理する場合にのみ有効です。ここでは、updatetimeパラメータは使用されません。
合計回転距離 KINEMATIC_TOTALRDIST キネマティックオペレーションが回転キネマティックである場合、そのキネマティックオペレーションの合計回転距離を返します。 追加されたすべてのキネマティクスの回転距離の合計を返します。これは自分で回転を管理している場合にのみ有効です。ここでは、updatetimeパラメータは使用されません。
合計成分回転 KINEMATIC_TOTALRX
KINEMATIC_TOTALRY
KINEMATIC_TOTALRZ
キネマティックオペレーションが回転キネマティックである場合、そのキネマティックオペレーションの合計回転距離のx、y、またはz成分を返します。これらはaddkinematicコマンドに渡したものと同じ値です。ここでは、updatetimeパラメータは使用されません。 追加されたすべてのキネマティクスのrx、ry、またはrz成分の合計を返します。これは自分で回転を管理している場合にのみ有効です。ここでは、updatetimeパラメータは使用されません。
累積回転距離 KINEMATIC_CUMULATIVERDIST 追加されたすべてのキネマティクスの累積回転移動距離を返します。これは自分で回転を管理している場合にのみ有効です。ここでは、updatetimeパラメータは使用されません。
回転速度 KINEMATIC_VRX
KINEMATIC_VRY
KINEMATIC_VRZ
キネマティックが回転キネマティックである場合、指定された時間における指定されたキネマティックの現在の回転速度のx、y、またはz成分を返します。 指定された時間のオブジェクトのx、y、またはzの回転速度を返します。
合計回転速度 KINEMATIC_RVELOCITY キネマティックが回転キネマティックである場合、指定された時間のキネマティックの合計回転速度を返します。 これは、指定された時間の合計回転速度のスカラー値を返します。これは、手動で回転を管理する場合にのみ有効です。
開始時間 KINEMATIC_STARTTIME 指定されたキネマティックがオペレーションを開始する時間を返します。これは、キネマティックを追加したときに指定したstarttimeと同じです。ここでは、updatetimeパラメータは使用されません。 すべてのキネマティクスの最小開始時間を返します。ここでは、updatetimeパラメータは使用されません。
加速時間(開始時) KINEMATIC_ACC1TIME キネマティックが開始速度から目標速度まで加速/減速するのに費やす合計時間を返します。ここでは、updatetimeパラメータは使用されません。
到着時刻 KINEMATIC_ARRIVALTIME このクエリでは、updatetime/traveldistパラメータが、指定されたキネマティックの要求された移動距離として使用されます。指定されたキネマティックの特定の副距離の到着時間を返します。たとえば、オブジェクトにx方向に5単位移動するように指示するキネマティックを追加したものの、オブジェクトがその5単位のうち3単位だけ移動するのにかかる時間を知りたい場合は、このクエリを使用し、traveldistパラメータとして3を渡します。
ピーク時間 KINEMATIC_PEAKTIME キネマティックがピーク速度で移動するのに費やす合計時間を返します。ここでは、updatetimeパラメータは使用されません。
加速時間(停止時) KINEMATIC_ACC2TIME キネマティックが目標速度から終了速度まで加速/減速するのに費やす合計時間を返します。ここでは、updatetimeパラメータは使用されません。
終了時間 KINEMATIC_ENDTIME 指定されたキネマティックがオペレーションを完了する時間を返します。これはaddkinematicコマンドから返される終了時間と同じです。ここでは、updatetimeパラメータは使用されません。 すべてのキネマティックの最高終了時間を返します。ここでは、updatetimeパラメータは使用されません。
キネマティクスの数 KINEMATIC_NR 追加されたキネマティクスの数を返します。ここでは、updatetimeパラメータは使用されません。
旋回キネマティックデータ KINEMATIC_STARTANGLE
KINEMATIC_TURNANGLE
KINEMATIC_TURNRADIUS
旋回キネマティックの開始角度、旋回角度、旋回半径を返します。
キネマティックタイプ KINEMATIC_TYPE 指定されたキネマティックが移動オペレーションである場合はKINEMATIC_TRAVELを、回転オペレーションである場合はKINEMATIC_ROTATEをそれぞれ返します。

void profilekinematics(treenode datanode [, int index ])

  • datanode - これはキネマティックデータの空白ノードです。
  • index - このオプションのパラメータは、情報を出力する特定のインデックスのインデックスを指定します。デフォルト:0(すべてのキネマティクス)

このコマンドは、キネマティック情報を出力コンソールに出力します。indexパラメータはオプションです。渡されない場合、追加されたすべてのキネマティクスの情報が出力されます。渡された場合、インデックス変数は、情報を出力する追加されたキネマティックのインデックスです。

void deactivatekinematics(treenode datanode)

  • datanode - これはキネマティックデータの空白ノードです。

このコマンドは、updatekinematicsコマンドが呼び出されたときに位置を更新しないようキネマティクスに指示します。リセット時にこのコマンドを実行すると、オブジェクトが解放され、正投影ビューで動かせるようになります。