Arc, Arc3

Arcはベース座標系のXY平面で、アームを現在位置から指定位置まで円弧補間動作で動かします。

Arc3は3次元で、アームを現在位置から指定位置まで円弧補間動作で動かします。

この2つのコマンドは、ロボットが、水平多関節型 (RSシリーズを含む)でも垂直6軸型 (Nシリーズを含む)でも使うことができます。

書式
(1) Arc 経由座標, 目標座標 [ROT] [ CP ] [Till | Find] [!並列処理!] [SYNC]
(2) Arc3 経由座標, 目標座標 [ROT] [ECP] [ CP ] [Till | Find] [!並列処理!] [SYNC]

パラメーター

経由座標
ポイントデータ、もしくはXY関数で指定します。アームが現在位置から目標座標に移動するまでの軌道で通過しなくてはいけないポイントです。
目標座標
ポイントデータ、もしくはXY関数で指定します。アームが円弧動作で移動する到達地点、目標位置です。
ROT
ツール姿勢変化を優先させて、動作の速度、加減速度を決めます。省略可能です。
ECP
外部制御点動作を指定します。省略可能です。 (ECPオプション使用時のみ有効)
CP
パスモーションを指定します。省略可能です。
Till | Find
TillまたはFind式を記述します。省略可能です。

Till | Find
Till Sw(式) = {On | Off}
Find Sw(式) = {On | Off}
! 並列処理 !
Arcステートメントには並列処理ステートメントが使えます。省略可能です。 (詳細については "並列処理"を参照してください。)
SYNC
動作コマンドを予約します。SyncRobotsによる動作開始まで、ロボットは動作しません。省略可能です

解説
ArcとArc3は、アームを現在位置から目標座標まで、経由座標を通過して円弧補間動作で動かすときに使われます。与えられた3点 (現在地, 経由座標, 目標座標)から自動的に円弧補間軌道を演算し、目標座標に至るまで、その軌道に沿ってアームを動かします。

また、水平多関節型ロボットの場合は、現在地から目標座標の点へU座標が動きますが、垂直6軸型ロボットの場合は、現在地から目標座標に向かう最短の回転姿勢でU, V, W座標が動きます。経由座標で指定した姿勢(U, V, W)は通過しません。

使用する場合は、実際の動きを事前に確認してください。

ArcとArc3の速度と加減速度は、それぞれSpeedSとAccelSの設定値を使用します。速度と加減速度の関係については、"注意"の "Arc, Arc3をCPとともに用いる"を参照してください。ただし、ROT修飾パラメーターを指定しているときの速度と加減速度はそれぞれSpeedRとAccelRの設定値を使用します。この場合、SpeedSとAccelSの設定値は無効となります。

通常、移動距離が0で、姿勢関節のみが動作するような場合にはエラーとなります。ROT修飾パラメーターを付けてツール姿勢変化の加減速を優先することで、エラーなく動作が可能になります。ROT修飾パラメーターを付けたとき、姿勢変化がなく、移動距離が "0"でない場合には、エラーとなります。

また、移動距離に対してツール姿勢変化速度が大きすぎる場合や、指定された回転速度がマニピュレーターの限度を超えている場合もエラーとなります。その場合は指定速度を落とすか、またはROT修飾パラメーターを付けて姿勢変化の加減速度を優先するようにしてください。

ECPを使っている場合 (Arc3のみ)、指定したECP番号に対応する外部制御点で、ワークが円弧の軌道に沿って動きます。このとき先端関節の中心は、円弧軌道をたどりません。

Arc動作の速度と加速度の設定

ArcとArc3命令に対する速度と加減速度の設定は、それぞれSpeedSとAccelSにより行います。SpeedSで速度 (単位: mm/s)、AccelSで加減速度 (単位: mm/s2)を指定します。

注意


  • Arc命令は水平面においてのみ有効です

    Arc命令によって描かれる軌道はXY平面上での真円弧になります。経由座標で指定したZ座標や姿勢(U, V, W)は通過せず、現在のポイントと目標座標値を補間します。
    Arc3では3次元空間における円弧軌道を指定できます。経由座標で指定したZ座標は通過しますが、姿勢(U, V, W)は通過せず、現在のポイントと目標座標値を補間します。

  • Arc命令に対する範囲確認

    ArcとArc3ステートメントは、Arc動作に先立って軌道範囲確認の演算を行うことができません。したがって、目的位置が動作エリア内でも、軌道がエリア外にでると停止することがあります。そのとき衝撃が生じ、アームに障害を与える可能性がありますので、あらかじめプログラムを低速で走らせて軌道を確認しておくことが必要です。

  • Arc動作の設定にあたって

    Arcコマンドによる円弧動作は、現在位置から開始されるため、ArcとArc3の実行に先立って、あらかじめGoやJumpその他の関連動作コマンドを使って、ロボットのアームを適切な位置に動かしておくことが必要な場合もあります。

  • Arc, Arc3をCPとともに用いる

    CPパラメーターを使うと、動作命令は減速開始と同時に制御を次のステートメントに移します。これは、ユーザーがいくつかの動作命令をつなげ、連続した動作を一定の速度で行わせたいときに便利です。CP指定なしのArc命令, Arc3命令では、アームは必ず減速して、指定された目標座標に停止します。


起こりやすいエラー

  • ハンド(腕系)の属性を変更する

    Arc命令を使用する場合は、各ポイントのハンドの属性に注意してください。円弧補間動作の間にハンドの向きが変更されると (例えば、右腕から左腕、あるいはその逆の変更など)、エラーになります。アームの属性値(/L左腕, /R右腕)は、実際の現在位置、経由座標や目標座標と一致していなければいけません。

  • 可動範囲外にアームを動かそうとするとき

    もし指定された円弧動作が、アームを可動範囲外に動かそうとしていると、エラーになります。

参照
! 並列処理 !, AccelS, Move, SpeedS

Arc, Arc3使用例
下記は、図のような軌道を描くプログラムの例です。P100から動作を開始し、P101を経由して、P102に到着する円弧動作軌道をとります。

Function ArcTest
   Go P100
   Arc P101, P102
Fend

ヒント
初めてArc命令を使うときには、可動範囲の中にあるロボットの側のポイントを使って、簡単な円弧で試してみることをお奨めします。そのとき、実際に描かれる円弧軌道を想定してみてください。そしてアームが通常の可動範囲外を移動してしまうポイントをティーチングしないようにしてください。