コマンド 2001: ゲートモーションによるPTP動作で移動
ゲートモーションPTP動作で動かします。
コマンド書式
- オプション
目標位置の指定方法や各種オプションを指定します。このコマンドは、オプションの指定により必要となる引数の数が可変です。引数の数に影響する指定は、スピード/アクセルの指定と目標位置の指定方法です。その他のオプションは影響しません。
オプションによる引数2以降は、「2」以降にしたがってください。
オプションは引数1で指定します。
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数1 | 15 | Till / Find / Sense | Til, Find, Senseオプションを指定 0 = 指定しない 1 = Till 2 = Find 3 = Sense |
| 14 | |||
| 13 | 並列処理 | 並列処理を行うかを選択 0 = なし 1 = あり | |
| 12 | CP | パスモーションを行うかを指定 0 = なし 1 = あり | |
| 11 | スピード / アクセル | 動作実行前に、スピード/アクセルの設定を行うかを指定 0 = 設定しない 1 = Speedのみ設定 2 = SpeedSのみ設定 3 = SpeedRのみ設定 4 = Accelのみ設定 5 = AccelSのみ設定 6 = AccelRのみ設定 7 = SpeedとAccelを設定 8 = SpeedSとAccelSを設定 9 = SpeedRとAccelRを設定 | |
| 10 | |||
| 9 | |||
| 8 | |||
| 7 | 予約 | 0を設定 | |
| 6 | アーチ | アーチを使用する場合: 0から6の整数でアーチ番号を指定 アーチを使用しない場合: 7を指定 | |
| 5 | |||
| 4 | |||
| 3 | 予約 | 0を設定 | |
| 2 | 目標位置指定方法 | 目標位置の指定方法を選択 0 = ポイント番号による指定 1 = パレットによる位置指定 2 = パレットによる座標指定 | |
| 1 | |||
| 0 |
- 目標位置指定方法にポイント番号による指定を選択、スピード/アクセル指定なし
この場合は、引数2までを使用します。
コマンド番号, 引数1, 引数2
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数2 | 15 | ポイント番号 | 目標位置をポイント番号で指定 |
| 14 | |||
| | | |||
| 1 | |||
| 0 |
- 目標位置指定方法にパレットによる位置指定を選択、スピード/アクセル指定なし
この場合は、引数3までを使用します。
コマンド番号, 引数1, 引数2, 引数3
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数2 | 15 | パレット番号 | 使用するパレット番号を指定 |
| 14 | |||
| | | |||
| 1 | |||
| 0 |
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数3 | 15 | 位置 | パレットの位置を指定 |
| 14 | |||
| | | |||
| 1 | |||
| 0 |
- 目標位置指定方法にパレットによる座標指定を選択、スピード/アクセル指定なし
この場合は、引数4までを使用します。
コマンド番号, 引数1, 引数2, 引数3, 引数4
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数2 | 15 | パレット番号 | 使用するパレット番号を指定 |
| 14 | |||
| | | |||
| 1 | |||
| 0 |
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数3 | 15 | 列 | パレットの列を指定 |
| 14 | |||
| | | |||
| 1 | |||
| 0 |
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数4 | 15 | 行 | パレットの行を指定 |
| 14 | |||
| | | |||
| 1 | |||
| 0 |
- 目標位置指定方法にポイント番号による指定を選択、スピード/アクセル指定あり
この場合は、引数3までを使用します。
コマンド番号, 引数1, 引数2, 引数3
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数2 | 15 | ポイント番号 | 目標位置をポイント番号で指定 |
| 14 | |||
| | | |||
| 1 | |||
| 0 |
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数3 | 15 | Speed / SpeedS / SpeedR | 選択した種別の速度テーブルの番号を0から15の整数で指定 * 設定がない場合は0を指定 |
| | | |||
| 8 | |||
| 7 | Accel / AccelS / AccelR | 選択した種別の加減速テーブルの番号を0から15の整数で指定 *設定がない場合は0を指定 | |
| | | |||
| 0 |
- 目標位置指定方法にパレットによる位置指定を選択、スピード/アクセル指定あり
この場合は、引数4までを使用します。
コマンド番号, 引数1, 引数2, 引数3, 引数4
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数2 | 15 | パレット番号 | 使用するパレット番号を指定 |
| 14 | |||
| | | |||
| 1 | |||
| 0 |
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数3 | 15 | 位置 | パレットの位置を指定 |
| 14 | |||
| | | |||
| 1 | |||
| 0 |
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数4 | 15 | Speed / SpeedS / SpeedR | 選択した種別の速度テーブルの番号を0から15の整数で指定 *設定がない場合は0を指定 |
| | | |||
| 8 | |||
| 7 | Accel / AccelS / AccelR | 選択した種別の加減速テーブルの番号を0から15の整数で指定 *設定がない場合は0を指定 | |
| | | |||
| 0 |
- 目標位置指定方法にパレットによる座標指定を選択、スピード/アクセル指定あり
この場合は、引数5までを使用します。
コマンド番号, 引数1, 引数2, 引数3, 引数4, 引数5
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数2 | 15 | パレット番号 | 使用するパレット番号を指定 |
| 14 | |||
| | | |||
| 1 | |||
| 0 |
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数3 | 15 | 列 | パレットの列を指定 |
| 14 | |||
| | | |||
| 1 | |||
| 0 |
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数4 | 15 | 行 | パレットの行を指定 |
| 14 | |||
| | | |||
| 1 | |||
| 0 |
| bit | 名称 | 説明 | |
|---|---|---|---|
| 引数5 | 15 | Speed / SpeedS / SpeedR | 選択した種別の速度テーブルの番号を0から15の整数で指定 *設定がない場合は0を指定 |
| | | |||
| 8 | |||
| 7 | Accel / AccelS / AccelR | 選択した種別の加減速テーブルの番号を0から15の整数で指定 *設定がない場合は0を指定 | |
| | | |||
| 0 |
応答書式
以下を参照して下さい。
解説
アームを、現在位置から指定位置まで、ゲートモーション (まず垂直方向に上昇し、それから水平移動し、最後に垂直方向に下降する、門型動作)によりPTP動作します。
Jump命令は、いわゆる「アーチモーション (アーチ型動作)」によってアームを現在位置から目標座標まで移動させます。いわば、3つの動きを1回で行うステートメントと考えることができます。例えば、アーチ番号が定義されていれば、1回のJump 命令で次の3つの動作を行います。
- 初めに、第3関節だけが、Jumpコマンド中のアーチ番号が演算するZ軸の高さまで動作します。
- 次に、アームは、LimZが指定するZ制限位置に達するまでZ軸方向に上昇しながら、目標座標に水平移動します。それから、第1関節, 第2関節, 第4関節のそれぞれの動作を行いながらZ軸方向に下降を始めます。アームは最終的なX, Y, U座標位置が得られるまで動作します。
- アームは、ターゲットのZ座標位置が得られるまでZ軸方向のみの移動を行い、目標座標が得られたところでJump命令が終了します。
目標座標 (移動の目的位置)は、Jump命令の中で指定することができないので、Jump命令が実行される前にティーチングしておく必要があります。Jump移動の加速と減速は、Accelによって行います。また、移動の速度は、Speedによって行います。
垂直6軸型マニピュレーターに対してJumpを実行することはできません。Jump3を使用してください。
CPについて
CPパラメーターをつけた場合には、動作の減速開始時に次の動作命令の加速を重ね合わせることが可能です。この場合には、目標座標には位置決めされません。アーチ番号について
Jumpのアーチの型は、Jumpコマンド中で指定されるアーチ番号によって変更することができます。これによって、第1関節, 第2関節, 第4関節の各関節が動く前に、どれだけZ軸方向に動かしておきたいか決めることができます。Jump命令で有効に使えるアーチ番号値は、0から7までの値です。0から6までの値に対するArchテーブル値の設定は、ユーザーがArchコマンドによって定義することができるようになっています。しかし、7は常に、「ゲートモーション」を定義しています。「ゲートモーション」とは、マニピュレーターが、第1関節, 第2関節, 第4関節の各関節を動かす前に、第3関節だけを先に、LimZで定義される座標位置まで移動させる動きのことです。この「ゲートモーション」では、LimZが定義するZ制限値まで移動してから初めて、第1関節, 第2関節, 第4関節の各関節の動作が始まります。第1関節, 第2関節, 第4関節の各関節が、それぞれの最終目標座標位置まで移動すると、第3関節が、目標座標で定義される最終Z座標位置を目指して下降します。次の図は「ゲートモーション」の動きを表わします。記号 説明 a 現在位置 b 目標座標 LimZについて
LimZ Z座標値は、現在設定されているローカル座標系の水平移動面におけるZ座標の最高値を指定します。指定されたアーチ設定によっては、LimZ値に達する前に、第1関節, 第2関節, 第4関節の各関節が動き始めることもあるかも知れませんが、LimZ値は、常に、その移動におけるZ座標方向の上限値を定義しています。
LimZによって指定される高さ方向の制限値は、ローカルロボット座標系でのZ座標値です。つまり、それは、ArmやTool座標のZ座標値ではありません。したがって、作業高の異なるツールやハンドを使用する場合は、十分注意し、必要な処置を行ってください。Senseについて
Senseは、第3関節が最終の下降動作を行う前に、入力条件またはメモリーI/O条件をチェックしたいときなどに使います。問題がなければ、マニピュレーターのアームは、目標座標の上 (最終的に第3関節の動作を残すだけになっている位置)に停止して、このコマンド (Jump)の実行が終了したことになります。ただし、Senseで指定した条件を検知しても、マニピュレーターのアームは、すぐには停止しないので注意してください。記号 説明 a 条件チェック b 動作終了 c 目標座標
コマンド番号952を使用して、Sense条件が成立してマニピュレーターのアームが目標座標の前で停止したか、あるいは、Sense条件が成立せずマニピュレーターのアームはそのまま目標座標に停止したか、を確認することができます。
- Tillについて
オプションのTillを使って、Jumpを実行する前に、マニピュレーターを減速して停止させる条件を設定することができます。あらかじめTillコマンドで設定された条件にしたがって、入力がオンかオフかをチェックして、アームを減速し、停止させることができます。
注意
Jumpは垂直6軸型マニピュレーターには使用できません。
Jump3かJump3CPを使用してください。
アーチ番号指定しない場合
アーチ番号オプションに7を設定すると、上記でも説明されているとおり、Arch値が7の場合、「ゲートモーション」移動 (上記参照)になります。Jump とJump3/Jump3CP の違い
Jump3とJump3CPは、垂直6軸型マニピュレーターで使用することができますが、Jumpは使用することができません。水平多関節型マニピュレーター (RSシリーズを含む)で、Z軸方向に上昇と下降を行う場合は、Jumpを使用すると動作時間が短縮できます。Jump3の接近動作や退避動作は、Z軸以外の方向に行うこともできます。Jump とGo の違い
JumpとGoの、最も重要な違いは、Goの場合、全関節の動きがシンクロしており、各関節は同時に動き始め、同時に停止します。Jumpでは、動作の始めと終わりに垂直方向だけの第3関節移動があります。デバイスの吸着や配置などの作業には、このコマンドを使用してください。Jumpにおける減速停止
Jumpでは、アームは必ず減速しながら目標座標に停止します。Jumpにおける適正速度と加速指示
Jump動作のマニピュレーターの速度と加減速は、それぞれSpeedとAccelよって設定します。SpeedとAccelは、JumpやGoなど、あくまでもポイントからポイントへ動作する場合についてのみ設定できる命令であることに注意してください。例えば、MoveやArcのような直線および円弧補間動作を行う命令の場合は、SpeedSやAccelSの命令を使用してください。また、Jumpの場合は、第3関節の上昇移動、第4関節の回転を含む水平動作、そして第3関節の下降について、速度と加減速を別々に設定することができます。JumpのPass機能
下降動作量が0のJumpにCPパラメーターを設定した場合、そのJumpの水平動作が減速停止することなく、直後に続くPTP動作と滑らかに接続できます。
また、直前のPTP動作命令にCPパラメーターをつけた場合、上昇動作量が0のJumpは、そのPTP動作が減速停止することなく、Jumpの水平動作と滑らかに接続できます。
これは、通常のJumpの水平動作 (1つのPTP動作)を、いくつかのPTP動作が滑らかに接続する動作に置きかえたい場合に便利です。アーチ使用時の重要事項
アーチモーションは、第3関節の上昇または下降動作と、横方向動作の合成を軌跡制御上で行うため、実際の軌跡を保証できるものではありません。動作速度やアームの動き方によってその軌跡は変化します。実際の軌跡は、作業で使用する実速度と姿勢で確認してください。- 同じ位置で、同じアーチ番号を持つJump命令を実行しても、高速動作時と比較して低速時の軌跡は低くなります。したがって、高速で障害物に衝突しないことを確認しても、低速で動作すると衝突する可能性がありますので注意してください。
- 低速動作時より高速動作の方が、垂直上昇量が増え、垂直下降量が減る傾向にあります。期待した垂直下降距離が出ない場合は、速度や減速度を下げるか、下降距離を長めに設定してください。
- 同じ距離の動作であっても、アームの動き方によって軌跡は変化します。アームの動き方による軌跡の変化はさまざまですが、一般的な水平多関節型マニピュレーターを例とすると、第1アームを大きく動かすほど垂直上昇量が増え、垂直下降量が減る傾向が強くなります。期待した垂直下降距離が出ない場合は、速度や減速度を下げるか、下降距離を長めに設定してください。
起こりやすいエラー
LimZ値の設定が低すぎる場合:
第3関節のアーム位置が、LimZの設定値よりも高い位置にある状態で、Jumpが実行されると、エラー4005になります。
使用例
ポイント番号指定でポイント1を指定、オプションなしで設定
| コマンド | 応答 |
| 07D1H 0070H 0001H | 07D1H 0000H 0000H |
パレット位置指定でパレット15を指定、位置10、オプションなしで設定
| コマンド | 応答 |
| 07D1H 0071H 000FH 000AH | 07D1H 0000H 0000H |
パレット座標指定でパレット15を指定、列 = 1、行 = 3、オプションなしで設定
| コマンド | 応答 |
| 07D1H 0072H 000FH 0001H 0003H | 07D1H 0000H 0000H |
ポイント番号指定でポイント1を指定、スピード/アクセル = Speedのみ設定、テーブル番号 = 8で設定
| コマンド | 応答 |
| 07D1H 0170H 0001H 0800H | 07D1H 0000H 0000H |