Skip to main content

ツールオフセットの構成

ツールオフセットを設定することにより、キネマティクスのフランジ座標系(XYZ)とキネマティクスのTCP座標系(X'Y'Z ')の間のオフセットを設定できます。このツールオフセットは、後続のすべての動きに作用します。

_sm_tool_and_flange_cooordinate_system.png

TCP:ツールセンターポイント

ツールオフセットはシフトによって指定されます v=(x,y,z) とローテーション r=(A,B,C) ZYZオイラー角で。シフトと回転は、キネマティクスのフランジ座標系を基準にして表されます。

ツールオフセットを設定すると、現在のキネマティクスと互換性がなくなる場合があります。その結果、ツールオフセットによってキネマティクスが方向を達成できなくなる可能性があります。この状況では、エラーが発生し、ツールオフセットは無視されます。たとえば、キネマティクスのZ方向にツールオフセットを設定できます。 Kin_Scara2_Z一方、X方向またはY方向の部品のオフセットはエラーになります。運動学にこのような制限がある場合は、 運動学

機能ブロック:SMC_GroupSetTool

機能ブロックは、入力で指定された工具オフセットを構成します ToolOffset (タイプ MC_COORD_REF)軸グループの場合。ただし、軸グループが状態にある限り GroupDisabled また GroupErrorStopいいえ ツールオフセットを設定できます。

ツールが現在のキネマティクスと互換性がない場合、POUはエラーを発行します SMC_AXIS_GROUP_TOOL_OFFSET_INCOMPATIBLE_WITH_KINEMATICS。このエラーは、インターフェイスが ISMKinematicsWithOrientationImage キネマティクスの説明には実装されていません。

機能ブロック:SMC_GroupReadTool

この機能ブロックは工具オフセットを読み取ります:出力 ToolOffset (タイプ MC_COORD_REF)。このプロセスでは、入力 ReadMode アクティブな移動のツール、最後にコマンドされた移動、または軸グループに現在設定されているツールを読み取るかどうかを決定します。

互換性のあるキネマティクス

すべてのキネマティクスがすべてのツールオフセットをサポートしているわけではありません。次のリストは、どのツールがどのキネマティクスに適しているかを示しています。

キネマティクス

互換性のあるツール

SCARA2キネマティクス Kin_Scara2_Z

Z方向に位置がオフセットされ、方向がオフセットされている工具

SCARA3キネマティクス Kin_Scara3_Z

すべてのツール

極運動学 Kin_PolarKin_Polar_Z

Z方向に位置がオフセットされ、方向がオフセットされている工具

3軸多関節ロボット Kin_Pos_RRR

方向にオフセットがある工具

6軸多関節ロボット Kin_ArticulatedRobot_6DOF

すべてのツール

4軸パレタイザー Kin_4AxisPalletizer

すべてのツール

バイポッド Kin_Bipod_Rotary

すべてのツール

5軸ガントリー Kin_5Axes

すべてのツール

ガントリーシステム

すべてのツール

Hガントリーシステム

すべてのツール

Tガントリーシステム

すべてのツール

ロータリーまたはリニア三脚

すべてのツール

ヒント

キネマティックシステムに方向の3自由度がない場合は、すべてのツールオフセットに互換性があるとは限りません。

カスタムキネマティクスの場合

ツールオフセットでカスタムキネマティクスを使用するには、 ISMKinematicsWithOrientationImage インターフェース。カスタム位置運動学にツールオフセットを追加するには、まずインターフェースを実装する必要があります。 ISMPositionKinematics2

インターフェイス:ISMKinematicsWithOrientationImage

キネマティックインターフェースはメソッドを提供します GetFlangeOrientationImage 変数を使って mR_Flange データ型の SMC_Matrix3、フランジのコマンドされた方向が含まれています。結果として、メソッドは可能な結果の方向を返します oriInfo データ型として OrientationSpace

インターフェイスの動作

  • 特に、指令された方向でのフランジの方向がわかっている場合、 dof = zero 返され、 mOriZero 既知の方向に設定されます。

  • オリエンテーションの場合 R フランジのは、フォームで部分的にしか知られていません R*vU = vRot (どこ vUvRot 既知の単位ベクトルです)、 dof = one が返されます。mOriZero 到達可能なスペースの方向に設定されます。

  • さもないと、 dof = three が返されます。

計算された方向を考慮してフランジ位置を一意に計算できる場合、指定されたツールオフセットはキネマティクスと互換性があります。これは、計算された方向がキネマティクスによって達成できる場合に常に当てはまります。ツールオフセットは、すべての方向に到達できない場合にのみ互換性がない可能性があります。また、その方法が GetFlangeOrientationImage 戻り値 dof = zero、その後、すべてのツールオフセットに互換性があります。メソッドが返す場合 dof = one、次に工具位置オフセットのみ v_off 単位ベクトルに平行 vU 互換性があります。この場合、 R*v_off = R*vU*x = vRot*x 方向行列の未知の部分に依存しません R。これには、次のような工具オフセットも含まれます。 v_off = 0 (ここで、x = 0)。もしも dof = three が返されると、x / y / zにオフセットのない位置シフトのみが互換性があります。

実装上の注意

  • インターフェイスを実装する ISMOrientationKinematicsWithOriImage2 オリエンテーションキネマティクス用。次に、ツールオフセットを使用して、方向キネマティクスと位置キネマティクスを結合できます。インターフェイスにはメソッドがあります GetOrientationImage2 変数を使って VAR_IN_OUT CONSTANT mR_Flange データ型の SMC_Matrix3、フランジのコマンドされた方向が含まれています。

  • メソッドは csTooloriinfo データ型 OrientationSpace 方向運動学の基本座標系で。

  • さらに、メソッドはに戻ります bActive からの自由度かどうか orinfo アクティブです(TRUE)またはパッシブ(FALSE)。

アクティブな自由度の例: Kin_CAxis。 z軸を中心とした回転は、方向運動学軸によって制御されます。

受動的な自由度の例: Kin_Wrist2。残りの自由度は、ユーザーがプログラムした方向を指すZ軸を中心としたX / Yの回転です。

重要

工具交換時の最後の指令動作と新動作の両方がCP動作(直線動作または回転動作)の場合、後続動作のバッファモードを以下から変更します。 Blending また AbortingBuffered

重要

後に新しい工具オフセットを設定する場合 MC_GroupInterrupt と前に MC_GroupContinue、その後、古いツールオフセットが中断された動きに使用されます。新しいツールオフセットは、後で命令される移動にのみ使用されます。

重要

キネマティクスが変更されたとき(MC_SetKinTransform)、ツールオフセットがリセットされます(シフトなし、回転なし)。