RSシリーズのアーム姿勢
RSシリーズは、その動作エリア内のポイントにおいて、次の図に示す異なるアーム姿勢で動作させることができます。
左腕系のアーム姿勢
右腕系のアーム姿勢
J1 F0 のアーム姿勢
J1 F1 のアーム姿勢
J2 F0 のアーム姿勢
J2 F1 のアーム姿勢
RSシリーズのアーム姿勢を指定する場合は、スラッシュ (/)とその後ろに、以下を記述してください。
- L (左ハンド姿勢)、またはR (右ハンド姿勢)
- J1F0、またはJ1F1
- J2F0、またはJ2F1
RSシリーズでは、その一部の動作エリア内のポイントにおいて、第1関節や第2関節を360度回転しても同じ位置姿勢を実現することができます。このようなポイントを区別するためのポイント属性として、J1FlagとJ2Flagがあります。
J1Flagを指定する場合は、スラッシュ (/)とその後ろに以下を記述してください。
- J1F0 (-90 < J1関節角度 <= 270)
- またはJ1F1 (-270 < J1関節角度 <= -90 または270 < J1関節角度 <= 450)
J2Flagを指定する場合は、スラッシュ (/)とその後ろに以下を記述してください。
- J2F0 (-180 < J2関節角度 <= 180)
- またはJ2F1 (-360 < J2関節角度 <= -180 または 180 < J2関節角度 <= 360)
アーム姿勢は次の8通りの組み合わせが可能ですが、ポイントによってはすべての組み合わせが動作可能とは限りません。
アーム姿勢の組み合わせ
- 1: /R /J1F0 /J2F0
- 2: /L /J1F0 /J2F0
- 3: /R /J1F1 /J2F0
- 4: /L /J1F1 /J2F0
- 5: /R /J1F0 /J2F1
- 6: /L /J1F0 /J2F1
- 7: /R /J1F1 /J2F1
- 8: /L /J1F1 /J2F1
特異姿勢
アーム姿勢が切り替わる境界での姿勢を特異姿勢と呼びます。
腕特異姿勢: 右ハンド姿勢と左ハンド姿勢が切り替わる境界 (X=0, Y=0)
特異姿勢の近傍でのロボットの動作は、以下に挙げるいくつかの注意が必要です。
特異姿勢近傍でのPTP動作
特異姿勢近傍のあるポイントP1からP1+X(10)のようなポイント演算により作成されたポイントに動作するとき、アーム姿勢の指定が適切でないためロボットが意図しない動作をすることがあります。
たとえば、右腕姿勢をもつあるポイントからポイント演算で得られる別のポイントへ動作するとき、同じ右腕姿勢のまま動作すると、第1軸が大きく (約180°)回転した姿勢に動作することがあります。この場合、左腕姿勢に切り替えて手首特異姿勢を通過させると自然な動作となります。
このような現象は、ポイント演算のみでなく、パレット命令でポイントを自動生成する場合や、ビジョンの結果に基づきポイントを生成する場合も同様です。
ただし、このようなケースに対しユーザーがプログラムによりアーム姿勢を適切に指定することは困難です。そこで、アーム姿勢を適切に変更するためのコマンドとして、STM関数とLJM関数があります。STM関数は、ロボットの動作時間が最小になるようにアーム姿勢を適切に変換します。LJM関数は、ロボットの関節移動量が少なくなるようにアーム姿勢を適切に変換します。どちらを使うか迷った場合は、STM関数を使うことを推奨します。
STM関数とLJM関数の詳細は、以下のマニュアルを参照してください。
"SPEL+ランゲージリファレンス"
また、STM関数やLJM関数を使わずに、プログラム中の特定区間に含まれる動作命令に対しそれぞれの関数を自動的に適用するため、AutoSTMコマンドとAutoLJMコマンドがあります。
AutoSTMコマンドとAutoLJMコマンドの詳細は、以下のマニュアルを参照してください。
"SPEL+ランゲージリファレンス"
また、コントローラーの環境設定により、コントローラー起動時にAutoLJM機能をオンすることができます。ただし、コントローラー環境設定の中でAutoLJM機能を常時有効にしてしまうと、お客様が意図して関節を大きく移動しようとした動作命令に対しても自動的に関節移動量が少なくなる姿勢に変更して動作してしまいます。AutoLJMコマンド、またはLJM関数で意図した動作になるようにプログラムすることをお勧めします。
すべてのポイントをティーチングで指定する場合には、アーム姿勢も記憶されるため、LJM関数やAutoLJMを使うことなく、ティーチングした位置姿勢に動作します。逆にLJMやAutoLJMを使用することでティーチングした姿勢と異なる姿勢に動作することがあります。
特異姿勢近傍でのCP動作 (CP動作時の特異姿勢通過機能)
特異姿勢近傍でMoveなどのCP動作を実行すると、関節速度が急激に大きくなり加速度エラーが発生したり、関節移動量が大きくなり周辺装置と干渉したりする可能性があります。特に、腕特異姿勢近傍では第1関節が大きく変化します。
Epson RC+ 8.0は、上記の腕特異姿勢近傍を通過するCP動作命令実行中に、加速度エラーを発生させないために、特異姿勢通過機能を持っています。特異姿勢通過機能はCP動作実行中に特異姿勢に近づいたとき、加速度エラーを回避するために、速度は維持したまま、本来の軌跡とは異なる軌跡を通過し、特異姿勢から離れた後、通常の軌跡に戻ります。
本来の軌跡とは異なる軌跡を通過するため、目標ポイントに指定した姿勢と一致しない姿勢に到達することがあります。このときCP動作命令をCP Onで使用している場合、一致しなかった姿勢フラグに応じて、エラー4274からエラー7278が発生します。上記のエラーを回避するためには、CP Offで動作するか、目標ポイントの姿勢フラグを動作完了時の姿勢フラグと一致させてください。CP Offで動作した場合、上記のエラーは発生せず、その位置から次の動作を実行することができます。
特異姿勢通過機能の詳細は、以下のマニュアルを参照してください。
"SPEL+ランゲージリファレンス - AvoidSingularityステートメント"
特異姿勢通過機能は、デフォルト設定で有効になっています。軌跡精度を重視するために、速度を落としてエラーを回避したいような場合には、AvoidSingularity コマンドを"SING_VSD"に設定して、可変速度CP動作機能を有効にすることができます。可変速度CP動作機能は、垂直6軸ロボット (N シリーズを含む)、およびRSシリーズロボットがCP 動作実行中に特異姿勢に近づいたとき、加速度エラーや過速度エラーを回避するために、軌跡は維持したまま、速度を自動的に抑制し、特異姿勢から離れた後、通常の速度指令に戻すことができます。軌跡を維持して特異点近傍を通過するため、第1, 第2, 第4, 第6 関節が大きく動作することがあります。AvoidSingularity コマンドを"3"に設定した場合、動作前とアーム姿勢は変化しません。
特異姿勢回避機能でもエラーを回避することができない場合には、PTP動作を用いて関節の移動量が少なくなる動作にしたり、ロボットの設置位置やハンドのオフセット量などを変更したりして、特異姿勢近傍でのCP動作を回避してください。