TCP/IP コマンド
以下では、TCP/IP通信プロトコルを基づいた標準インターフェースのコマンドについて説明します。これらのコマンドを使用する前に、以下のことに注意してください。
-
コマンド受送信:ロボットまたは上位システム(クライアント)はMech-Mindビジョンシステム(サーバー)にコマンドを送信し、Mech-Mindビジョンシステムは処理されたデータをロボットまたは上位システムに返します。
-
コマンドのデータ転送形式:ASCIIおよびHEX(16進数)をサポートしています。
-
ASCII形式の文字列はデータの区切り文字として英字のカンマを使用し、末尾の終了文字は \r で表します。以下では、すべてASCII形式の文字列を使用し、末尾の終了文字(\r)を省略しています。例えば、ロボットがビジョンシステムに103コマンドを送信する場合、末尾の終了文字を追加するとコマンドは以下のような形式になります。
103,1,2\r
-
HEX(16進数)のバイトオーダーは、ビッグエンディアン(big-endian)とリトルエンディアン(little-endian)に分かれます。コマンドを送信する際、バイト長は固定で64です。バイト長が64に満たない場合、残りのバイトは0で埋められます。バイト長が64を超える場合、ビジョンシステムは余分なバイトを無視します。
ASCII形式の文字列「103,1,2」を例に、ビッグエンディアン形式でコマンドを送信するとコマンドは以下のような形式になります。10進数の103に対応する16進数は67です。16進数67をビッグエンディアンのバイトオーダーで表すと、00 00 00 67となります。
00 00 00 67 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
リトルエンディアン形式でコマンドを送信すると、コマンドは以下のような形式になります。16進数67をリトルエンディアンのバイトオーダーで表すと、67 00 00 00となります。
67 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-
-
コマンドのデータ単位:
-
関節角度の単位は度(°)です。
-
ロボットのフランジ位置姿勢またはロボットのツール位置姿勢は位置と姿勢で構成されています。位置(XYZ座標値)の単位はミリメートル(mm)で、姿勢はオイラー角で表され、単位は度(°)です。
-
-
ビジョンポイントまたは経路点:
-
ビジョンポイント:Mech-Visionが認識した対象物で、1つのビジョンポイントには対象物の位置姿勢、ラベル、速度、対象物の寸法、カスタマイズされたデータなどが含まれます。
-
経路点:ロボットが計画された経路に沿って1つずつ到達する必要のあるポイントで、経路点にはロボットの位置姿勢、ラベル、運動タイプ、速度などが含まれます。経路点は次の2つの種類に分けられます。
-
「ビジョン処理による移動」の経路点:「ビジョン処理による移動」ステップに対応する経路点。
-
「ビジョン処理による移動」の以外の経路点:「ビジョン処理による移動」ステップ以外の移動ステップに対応する経路点。
-
-
コマンド一覧
100コマンド——Mech-Visionプロジェクトを実行して結果を取得
コマンド機能
このコマンドは、Mech-Visionプロジェクトに使用されるパラメータレシピを設定し、Mech-Visionプロジェクトを実行し、ビジョンシステムによって出力されたビジョンポイント、経路点またはカスタマイズされたデータを返します。プロジェクトにパラメータレシピがない場合はスキップでき、パラメータレシピ設定の詳細は 103コマンド——Mech-Visionのパラメータレシピを切り替える をご参照ください。Mech-Visionプロジェクトを実行するには、 101コマンド——Mech-Visionプロジェクトを実行 をご参照ください。ビジョンポイントの詳細は 102コマンド——ビジョン結果を取得 をご参照ください。経路点の詳細は 105コマンド——Mech-Visionから計画された経路を取得 をご参照ください。カスタマイズされたデータの詳細は 110コマンド——Mech-Visionからカスタマイズされたデータを取得 をご参照ください。
ロボットは動作する前に、ビジョンシステムが撮影して結果を返すのを待つ必要があります。 |
送信形式
100,Mech-Visionプロジェクト番号,パラメータレシピ番号,返されたデータ形式,ロボットの関節角度,ロボットのフランジ位置姿勢
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
パラメータレシピ番号
Mech-Visionプロジェクト内のパラメータレシピの番号であり、正の整数です。番号の有効範囲は1~99です。パラメータレシピ番号を確認するには、 パラメータレシピの番号を確認 をご参照ください。
Mech-Visionプロジェクトにパラメータレシピを切り替える必要がない場合は、このパラメータを0に設定します。 |
返されたデータ形式
返されたデータ形式 の値 |
説明(詳細は下記の 返されたデータ形式 をご参照ください) |
1 |
100,ステータスコード,すべてのビジョンポイントが取得されたかどうか,ビジョンポイントの数,予約語,ビジョンポイント1(ツール位置姿勢,ラベル,速度),ビジョンポイント2(ツール位置姿勢,ラベル,速度),... |
2 |
100,ステータスコード,すべてのビジョンポイントが取得されたかどうか,カスタマイズされたデータの数(N),位置姿勢,ラベル,カスタマイズされたデータ1,...,カスタマイズされたデータN |
3 |
100,ステータスコード,すべての経路点が取得されたかどうか,経路点の数,経路全体における「ビジョン処理による移動」のインデックス,経路点1(関節角度,ラベル,速度),経路点2(関節角度,ラベル,速度),... |
4 |
100,ステータスコード,すべての経路点が取得されたかどうか,経路点の数,経路全体における「ビジョン処理による移動」のインデックス,経路点1(ツール位置姿勢,ラベル,速度),経路点2(ツール位置姿勢,ラベル,速度),... |
ロボットの関節角度、ロボットのフランジ位置姿勢
ロボットの現在の関節角度とフランジ位置姿勢をMech-Visionプロジェクトに送信します。
返されたデータ形式
返されたデータ形式1
100,ステータスコード,すべてのビジョンポイントが取得されたかどうか,ビジョンポイントの数,予約語,ビジョンポイント1(ツール位置姿勢,ラベル,速度),ビジョンポイント2(ツール位置姿勢,ラベル,速度),...
ステータスコード
コマンドが正常に実行された場合、ステータスコードは 1100 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
すべてのビジョンポイントが取得されたかどうか
このパラメータは、すべてのビジョンポイントが取得されたかどうかを示し、値は0または1です。
-
0:取得されていないビジョンポイントがあります。
-
1:すべてのビジョンポイントが取得されました。
|
ビジョンポイントの数
このパラメータは、取得されたビジョンポイントの数を示します。
予約語
この予約語が使われていないため、初期値は0です。
ビジョンポイント
取得された各ビジョンポイントは8つのデータで構成され、最初の6つはツール位置姿勢、7番目はラベル、最後は速度を示します。
-
ツール位置姿勢:ロボットのツール位置姿勢。
ビジョンポイントの対象物の位置姿勢(つまり「出力」ステップの「poses」のデータ)は、ビジョンシステムにより、対応するロボットのツール位置姿勢に自動的に変換されます。
-
対象物の位置姿勢を四元数からオイラー角の形式に変換します。
-
対象物の位置姿勢をX軸を中心に180°回転させ、Z軸が下を向くようにします。
-
-
ラベル:位置姿勢に対応する整数のラベル(「出力」ステップの「labels」ポートのデータ)。
-
ラベルは数値文字列である必要があります。ラベルが数値文字列でない場合は、「出力」ステップの前に「ラベルマッピング」ステップを追加してラベルを数値文字列にマッピングする必要があります。
-
「出力」ステップに「labels」ポートがない場合は、ラベルの値はデフォルトで0になります。
-
-
速度:初期値は0です。Mech-Visionが出力されたビジョンポイントには、対象物の位置におけるロボットの速度に関する情報が含まれていません。
返されたデータ形式2
100,ステータスコード,すべてのビジョンポイントが取得されたかどうか,カスタマイズされたデータの数(N),位置姿勢,ラベル,カスタマイズされたデータ1,...,カスタマイズされたデータN
ステータスコード
コマンドが正常に実行された場合、ステータスコードは 1100 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
すべてのビジョンポイントが取得されたかどうか
このパラメータは、すべてのビジョンポイントが取得されたかどうかを示し、値は0または1です。
-
0:取得されていないビジョンポイントがあります。
-
1:すべてのビジョンポイントが取得されました。
|
カスタマイズされたデータの数
すべてのカスタマイズされたポートのデータの合計です。例えば、「出力」ステップのポートデータは、以下のデータから構成されます。ここで、「customData1」と「customData2」はカスタマイズされたポートで、次元はそれぞれ3と2です。したがって、カスタマイズされたデータの合計数は3+2=5です。
ポート名 |
poses |
labels |
customData1 |
customData2 |
ポートデータ |
[ [0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0] ] |
[ "0", "1" ] |
[ [0, 0, 1], [1, 0, 0] ] |
[ [0, 0], [1, 1] ] |
行の次元(リスト内の要素数) |
2 |
2 |
2 |
2 |
列の次元(リスト内の個々の要素の次元数) |
7 |
1 |
3 |
2 |
位置姿勢
1つのビジョンポイントのロボットのツール位置姿勢です。ビジョンシステムは、ビジョンポイントの対象物の位置姿勢(つまり「出力」ステップの「poses」ポートのデータ)を対応するロボットのツール位置姿勢に自動的に変換します。変換流れを下図に示します。
-
対象物の位置姿勢を四元数からオイラー角の形式に変換します。
-
対象物の位置姿勢をX軸を中心に180°回転させ、Z軸が下を向くようにします。
ラベル
1つのビジョンポイントのラベル(「出力」ステップの「labels」ポートのデータ)です。
|
カスタイズされたデータ
1つのビジョンポイントのすべてのカスタマイズされたポートのデータで、その数は カスタマイズされたデータ の数と同じです。例えば、「出力」ステップの各ポートのデータは下表の通りである場合、ロボットが取得した最初のビジョンポイントの カスタマイズされたデータ は[0, 0, 1] と [0, 0]であり、ロボットが取得した2番目のビジョンポイントの カスタマイズされたデータ は[1, 0, 0] と [1, 1]です。
ポート名 |
poses |
labels |
customData1 |
customData2 |
ポートデータ |
[ [0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0] ] |
[ "0", "1" ] |
[ [0, 0, 1], [1, 0, 0] ] |
[ [0, 0], [1, 1] ] |
最初のビジョンポイント |
[0, 0, 0, 1, 0, 0, 0] |
0 |
[0, 0, 1] |
[0, 0] |
2番目のビジョンポイント |
[0, 0, 0, 1, 0, 0, 0] |
1 |
[1, 0, 0] |
[1, 1] |
カスタマイズされたデータは、カスタマイズされたポート名のA–Zの順に並べられています。 |
返されたデータ形式3
100,ステータスコード,すべての経路点が取得されたかどうか,経路点の数,経路全体における「ビジョン処理による移動」のインデックス,経路点1(関節角度,ラベル,速度),経路点2(関節角度,ラベル,速度),...
ステータスコード
コマンドが正常に実行された場合、ステータスコードは 1103 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
すべての経路点が取得されたかどうか
このパラメータは、すべての経路点が取得されたかどうかを示し、値は0または1です。
-
0:取得されていない経路点があります。
-
1:すべての経路点が取得されました。
|
経路点の数
このパラメータは、取得された経路点の数を示します。
経路全体における「ビジョン処理による移動」のインデックス
このパラメータは、経路全体における経路計画設定ツールの「ビジョン処理による移動」ステップに対応する経路点(「ビジョン処理による移動」の経路点)の位置を示します。経路全体に「ビジョン処理による移動」の経路点がない場合、このパラメータは0となります。
例えば、経路全体が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」という経路点で構成されている場合、「ビジョン処理による移動」の経路点の位置は3です。
経路点
取得された各経路点は8つのデータで構成され、最初の6つは関節角度、7番目はラベル、最後は速度を示します。
-
関節角度:ロボットの関節角度(JPs)。
-
ラベル:位置姿勢に対応する整数のラベル(「出力」ステップの「labels」ポートのデータ)。
-
ラベルは数値文字列である必要があります。ラベルが数値文字列でない場合は、「出力」ステップの前に「ラベルマッピング」ステップを追加してラベルを数値文字列にマッピングする必要があります。
-
「出力」ステップに「labels」ポートがない場合は、ラベルの値はデフォルトで0になります。
-
-
速度:経路計画設定ツールで設定された速度値(パーセンテージで表す)。
返されたデータ形式4
100,ステータスコード,すべての経路点が取得されたかどうか,経路点の数,経路全体における「ビジョン処理による移動」のインデックス,経路点1(ツール位置姿勢,ラベル,速度),経路点2(ツール位置姿勢,ラベル,速度),...
ステータスコード
コマンドが正常に実行された場合、ステータスコードは 1103 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
すべての経路点が取得されたかどうか
このパラメータは、すべての経路点が取得されたかどうかを示し、値は0または1です。
-
0:取得されていない経路点があります。
-
1:すべての経路点が取得されました。
|
経路点の数
このパラメータは、取得された経路点の数を示します。
経路全体における「ビジョン処理による移動」のインデックス
このパラメータは、経路全体における経路計画設定ツールの「ビジョン処理による移動」ステップに対応する経路点(「ビジョン処理による移動」の経路点)の位置を示します。経路全体に「ビジョン処理による移動」の経路点がない場合、このパラメータは0となります。
例えば、経路全体が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」という経路点で構成されている場合、「ビジョン処理による移動」の経路点の位置は3です。
経路点
取得された各経路点は8つのデータで構成され、最初の6つはツール位置姿勢、7番目はラベル、最後は速度を示します。
-
ツール位置姿勢:ロボットのツール位置姿勢。
-
ラベル:位置姿勢に対応する整数のラベル(「出力」ステップの「labels」ポートのデータ)。
-
ラベルは数値文字列である必要があります。ラベルが数値文字列でない場合は、「出力」ステップの前に「ラベルマッピング」ステップを追加してラベルを数値文字列にマッピングする必要があります。
-
「出力」ステップに「labels」ポートがない場合は、ラベルの値はデフォルトで0になります。
-
-
速度:経路計画設定ツールで設定された速度値(パーセンテージで表す)。
実行例
サンプル1:返されたデータ形式1
-
ロボットはビジョンシステムに以下のコマンドを送信します。1はビジョンシステムがデータ形式1を返すことを示します。
100, 1, 2, 1, 5.18, 14.52, 4.03, 0.09, 72.44, 5.15, 549.56, 50.0, 647.01, 180.0, -1.0, 180.0
-
ビジョンシステムは以下の結果をロボットに返します。1は、合計1つのビジョンポイントを取得したことを示します。
100, 1100, 1, 1, 0, 95.7806, 644.5677, 401.1013, 91.1206, -171.1301, 180.0, 0, 0
サンプル2:返されたデータ形式2
-
ロボットはビジョンシステムに以下のコマンドを送信します。2はビジョンシステムがデータ形式2を返すことを示します。
100, 1, 0, 2, 5.18, 14.52, 4.03, 0.09, 72.44, 5.15, 549.56, 50.0, 647.01, 180.0, -1.0, 180.0
-
ビジョンシステムは以下の結果をロボットに返します。2はカスタマイズされたデータの数を示し、カスタマイズされたデータは12と22です。
100, 1100, 1, 2, 592.6891, -256.7424, -56.6007, 0.0723, 1.1348, -176.355, 2, 12, 22
サンプル3:返されたデータ形式3
-
ロボットはビジョンシステムに以下のコマンドを送信します。3はビジョンシステムがデータ形式3を返すことを示します。
100, 1, 2, 3, 5.18, 14.52, 4.03, 0.09, 72.44, 5.15, 549.56, 50.0, 647.01, 180.0, -1.0, 180.0
-
ビジョンシステムはロボットにすべての経路点(合計3つ、位置姿勢タイプは関節角度)を返し、2番目の経路点は「ビジョン処理による移動」の経路点です。
100, 1100, 1, 3, 2, 8.3077, 15.1634, -142.1778, -2.7756, -31.4404, -96.9490, 0, 64, 8.2425, 12.1301, -141.7587, -2.5135, -34.8905, -97.1911, 0, 32, 9.3077, 16.1634, -145.1778, -9.7756, -30.4404, -86.9490, 1, 64,
サンプル4:返されたデータ形式4
-
ロボットはビジョンシステムに以下のコマンドを送信します。4はビジョンシステムがデータ形式4を返すことを示します。
100, 1, 2, 4, 5.18, 14.52, 4.03, 0.09, 72.44, 5.15, 549.56, 50.0, 647.01, 180.0, -1.0, 180.0
-
ビジョンシステムはロボットにすべての経路点(合計3つ、位置姿勢タイプはツール位置姿勢)を返し、2番目の経路点は「ビジョン処理による移動」の経路点です。
100, 1100, 1, 3, 2, 1149.114, -298.9656, 274.9219, -0.0977, -1.3863, -175.9702, 0, 7, 1149.8416, -296.8585, 245.0048, -0.0977, -1.3863, -175.9702, 2, 7, 1149.114, -298.9656, 274.9219, -0.0977, -1.3863, -175.9702, 0, 7
101コマンド——Mech-Visionプロジェクトを実行
コマンド機能
このコマンドは、Mech-Visionプロジェクトを実行するために使用されます。Mech-Visionプロジェクトの実行中、ビジョンシステムはカメラ撮影を行い、一連のビジョンアルゴリズムで画像データを処理し、一連のビジョンポイントまたは経路点を生成します。
|
呼び出し順序
-
プロジェクトのステップパラメータは、Mech-Visionプロジェクトを実行する前に設定する必要があります。したがって、 103コマンド——Mech-Visionのパラメータレシピを切り替える または 501コマンド——Mech-Visionプロジェクトに対象物の寸法を入力 コマンドは 101コマンド——Mech-Visionプロジェクトを実行 コマンドの前に呼び出す必要があります。
-
Mech-Visionプロジェクトが実行された後、ビジョンシステムはビジョンポイントまたは経路点を取得できます。したがって、 101コマンド——Mech-Visionプロジェクトを実行 コマンドは 102コマンド——ビジョン結果を取得 、 105コマンド——Mech-Visionから計画された経路を取得 または 110コマンド——Mech-Visionからカスタマイズされたデータを取得 コマンドの前に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
101,Mech-Visionプロジェクト番号,ビジョンポイントまたは経路点の予期数,ロボットの位置姿勢タイプ,ロボットの位置姿勢
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
ビジョンポイントまたは経路点の予期数
Mech-Visionプロジェクトから取得されたビジョンポイントまたは経路点の予期数となります。
このパラメータは、Mech-Visionプロジェクトに「経路計画」ステップがある場合、経路点の予期数を示します。そうでない場合、ビジョンポイントの予期数を示します。 |
-
0:Mech-Visionプロジェクトからすべてのビジョンポイントまたは経路点を取得します。
-
0より大きい整数:Mech-Visionプロジェクトから指定数のビジョンポイントまたは経路点を取得します。
-
Mech-Visionプロジェクトから出力されたビジョンポイントまたは経路点の合計数が、指定されたパラメータ値より小さい場合、出力されたすべてのビジョンポイントまたは経路点が取得されます。
-
Mech-Visionプロジェクトから出力されたビジョンポイントまたは経路点の合計数が、指定されたパラメータ値以上である場合、指定された数のビジョンポイントまたは経路点が取得されます。
-
|
ロボットの位置姿勢タイプ 、 ロボットの位置姿勢
-
ロボットの位置姿勢タイプ は、ロボット実機の位置姿勢をMech-Visionプロジェクトに送信する方式を設定します。パラメータ範囲は0~3です。
-
ロボットの位置姿勢 は、 ロボットの位置姿勢タイプ によって決定されます。
2つのパラメータの値と関係と説明は以下の通りです。
ロボットの位置姿勢タイプ | ロボットの位置姿勢 | 詳細 | 適用シーン |
---|---|---|---|
0 |
0, 0, 0, 0, 0, 0 |
Mech-Visionプロジェクトにロボットの位置姿勢を送信する必要がありません |
カメラがEye to Hand方式で取り付けられている場合。Mech-Visionプロジェクトで「経路計画」ステップを使用する場合、経路計画の開始位置は、経路計画設定ツールで設定した初期位置となります。 |
1 |
ロボットの現在の関節角度とフランジ位置姿勢 |
Mech-Visionプロジェクトにロボットの現在の関節角度とフランジ位置姿勢を送信する必要があります |
カメラがEye in Hand方式で取り付けられている場合。この設定は、直行ロボット以外のほとんどのロボットに適用されます。 |
2 |
ロボットの現在のフランジ位置姿勢 |
Mech-Visionプロジェクトにロボットの現在のフランジ位置姿勢を送信する必要があります |
カメラがEye in Hand方式で取り付けられている場合。ロボットに関節角度データはなく、フランジ位置姿勢データのみある場合に適用可能です(例えば直行ロボット)。 |
3 |
ロボット経路計画の開始位置の関節角度 |
Mech-Visionプロジェクトにロボット経路計画の開始位置の関節角度を送信する必要があります |
カメラがEye to Hand方式で取り付けられている場合。Mech-Visionプロジェクトに「経路計画」ステップがあり、ロボット側から「経路計画」ステップの開始位置を設定する必要がある場合に適用可能です。 |
返されたデータ形式
101,ステータスコード
ステータスコード
コマンドが正常に実行された場合、ステータスコードは 1102 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
実行例
サンプル1
-
カメラがEye in Hand方式で取り付けられている場合、ロボットはビジョンシステムに以下のコマンドを送信します。1は、ロボットが現在の関節角度とフランジ位置姿勢をビジョンシステムに送信することを示します。
101, 1, 0, 1, 5.18, 14.52, 4.03, 0.09, 72.44, 5.15, 549.56, 50.0, 647.01, 180.0, -1.0, 180.0
-
ビジョンシステムは以下の結果をロボットに返します。1102は、Mech-Visionプロジェクトが正常にトリガーされたことを示します。
101, 1102
サンプル2
-
カメラがEye to Hand方式で取り付けられている場合、ロボットはビジョンシステムに以下のコマンドを送信します。3は、ロボットがティーチポイントの関節角度をビジョンシステムに送信することを示します。
101, 1, 0, 3, 5.18, 14.52, 4.03, 0.09, 72.44, 5.15
-
ビジョンシステムは以下の結果をロボットに返します。1102は、Mech-Visionプロジェクトが正常にトリガーされたことを示します。
101, 1102
サンプル3
-
Mech-Visionプロジェクト2が登録されていない場合は、ロボットはビジョンシステムに以下のコマンドを送信します。
101, 2, 10, 0, 0, 0, 0, 0, 0, 0
-
ビジョンシステムは以下の結果をロボットに返します。1011は、Mech-Visionプロジェクトが登録されていないことを示します。
101, 1011
102コマンド——ビジョン結果を取得
コマンド機能
このコマンドは、Mech-Visionによって出力されたビジョン結果(一連のビジョンポイント)を取得するために使用されます。ビジョンポイントの対象物の位置姿勢(つまり「出力」ステップの「poses」のデータ)は、ビジョンシステムにより、対応するロボットのツール位置姿勢に自動的に変換されます。変換流れを下図に示します。
-
対象物の位置姿勢を四元数からオイラー角の形式に変換します。
-
対象物の位置姿勢をX軸を中心に180°回転させ、Z軸が下を向くようにします。
呼び出し順序
このコマンドは、 101コマンド——Mech-Visionプロジェクトを実行 コマンドの後に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
102,Mech-Visionプロジェクト番号
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
返されたデータ形式
102,ステータスコード,すべてのビジョンポイントが取得されたかどうか,ビジョンポイントの数,予約語,ビジョンポイント1(ツール位置姿勢,ラベル,速度),ビジョンポイント2(ツール位置姿勢,ラベル,速度),...
ステータスコード
コマンドが正常に実行された場合、ステータスコードは 1100 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
すべてのビジョンポイントが取得されたかどうか
このパラメータは、すべてのビジョンポイントが取得されたかどうかを示し、値は0または1です。
-
0:取得されていないビジョンポイントがあります。
-
1:すべてのビジョンポイントが取得されました。
|
ビジョンポイントの数
このパラメータは、取得されたビジョンポイントの数を示します。デフォルトでは、一度にビジョンシステムによって送信されるビジョンポイントの最大数は20個であるため、このパラメータの最大初期値は20となります。 Mech-Visionでは、ツールバーから
をクリックします。実際の状況に応じて最大数の初期値を変更することができますが、最大数の上限は30です。予約語
この予約語が使われていないため、初期値は0です。
ビジョンポイント
取得された各ビジョンポイントは8つのデータで構成され、最初の6つはツール位置姿勢、7番目はラベル、最後は速度を示します。
-
ツール位置姿勢:ロボットのツール位置姿勢。
ビジョンポイントの対象物の位置姿勢(つまり「出力」ステップの「poses」のデータ)は、ビジョンシステムにより、対応するロボットのツール位置姿勢に自動的に変換されます。
-
対象物の位置姿勢を四元数からオイラー角の形式に変換します。
-
対象物の位置姿勢をX軸を中心に180°回転させ、Z軸が下を向くようにします。
-
-
ラベル:位置姿勢に対応する整数のラベル(「出力」ステップの「labels」ポートのデータ)。
-
ラベルは数値文字列である必要があります。ラベルが数値文字列でない場合は、「出力」ステップの前に「ラベルマッピング」ステップを追加してラベルを数値文字列にマッピングする必要があります。
-
「出力」ステップに「labels」ポートがない場合は、ラベルの値はデフォルトで0になります。
-
-
速度:初期値は0です。Mech-Visionが出力されたビジョンポイントには、対象物の位置におけるロボットの速度に関する情報が含まれていません。
実行例
サンプル1
-
ロボットはビジョンシステムに以下のコマンドを送信します。
102, 1
-
ビジョンシステムは以下の結果をロボットに返した場合、コマンドが正常に実行されたことを示します。1は、合計1つのビジョンポイントを取得します。
102, 1100, 1, 1, 0, 95.7806, 644.5677, 401.1013, 91.1206, -171.1301, 180.0, 0, 0
ビジョンシステムは以下の結果をロボットに返した場合、コマンドの実行中にエラーが発生したことを示します。1002は、ビジョン結果がないことを示します。
102, 1002
サンプル2
以下のサンプルを実行すると、22個のビジョンポイントが取得されます。
-
ロボットが101コマンドをビジョンシステムに送信します。0は、すべてのビジョンポイントを取得することを示します。
101, 1, 0, 1, -0, -20.6323, -107.8121, -0, -92.8181, 0.0016
ビジョンシステムは以下の結果をロボットに返します。1102は、Mech-Visionプロジェクトが正常にトリガーされたことを示します。
101, 1102
-
ロボットが102コマンドをビジョンシステムに送信し、20個のビジョンポイントを取得します。
102, 1
ビジョンシステムは以下のデータをロボットに返します。0はすべてのビジョンポイントが取得されていないことを示し、20は20個のビジョンポイントが取得されたことを示します。
102, 1100, 0, 20, 0, 95.7806, 644.5677, 401.1013, 31.1206, ...
-
ロボットが102コマンドをビジョンシステムに再度送信し、残りのビジョンポイントを取得します。
102, 1
ビジョンシステムは以下のデータをロボットに返します。1はすべてのビジョンポイントが取得されたことを示し、2は残りの2つのビジョンポイントが取得されたことを示します。
102, 1100, 1, 2, 0, 315.2017, 592.1261, 399.6052, 126.1960, ...
103コマンド——Mech-Visionのパラメータレシピを切り替える
コマンド機能
このコマンドは、Mech-Visionプロジェクトに使用するパラメータレシピを切り替えるために使用されます。下図は、Mech-VisionプロジェクトのレシピAまたはレシピBの手動切り替えを示しています。パラメータレシピの詳細については、 パラメータレシピ をご参照ください。
呼び出し順序
このコマンドは、 101コマンド——Mech-Visionプロジェクトを実行 コマンドの前に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
103,Mech-Visionプロジェクト番号,パラメータレシピ番号
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
パラメータレシピ番号
Mech-Visionプロジェクト内のパラメータレシピの番号であり、正の整数です。番号の有効範囲は1~99です。パラメータレシピ番号を確認するには、 パラメータレシピの番号を確認 をご参照ください。
返されたデータ形式
103,ステータスコード
ステータスコード
コマンドが正常に実行された場合、ステータスコードは 1107 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
105コマンド——Mech-Visionから計画された経路を取得
コマンド機能
このコマンドは、Mech-Visionによって計画された経路(一連の経路点)を取得するために使用されます。ここでの経路は、経路計画設定ツールによって計画されます。下図に示すように、 エディタを開く をクリックして経路計画設定ツールを開くことができます。「経路計画」ステップの詳細については、 経路計画 をご参照ください。
Mech-Visionの「出力」ステップの ポートタイプ パラメータを「事前定義済み(ロボット経路)」に設定する必要があります。 |
呼び出し順序
このコマンドは、 101コマンド——Mech-Visionプロジェクトを実行 コマンドの後に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
105,Mech-Visionプロジェクト番号,経路点の位置姿勢タイプ
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
経路点の位置姿勢タイプ
このパラメータは、取得する経路点の位置姿勢タイプを指定するために使用されます。
-
1:ロボットの関節角度(JPs)。
-
2:ロボットのツール位置姿勢。
返されたデータ形式
105,ステータスコード,すべての経路点が取得されたかどうか,経路点の数,経路全体における「ビジョン処理による移動」のインデックス,経路点1(位置姿勢,ラベル,速度),経路点2(位置姿勢,ラベル,速度),...
ステータスコード
コマンドが正常に実行された場合、ステータスコードは 1103 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
すべての経路点が取得されたかどうか
このパラメータは、すべての経路点が取得されたかどうかを示し、値は0または1です。
-
0:取得されていない経路点があります。
-
1:すべての経路点が取得されました。
|
経路点の数
このパラメータは、取得された経路点の数を示します。デフォルトでは、一度にビジョンシステムによって送信される経路点の最大数は20個であるため、このパラメータの最大初期値は20となります。 Mech-Visionでは、ツールバーから
をクリックします。実際の状況に応じて最大数の初期値を変更することができますが、最大数の上限は30です。105コマンド——Mech-Visionから計画された経路を取得 コマンドを呼び出す前に、 105コマンド——Mech-Visionから計画された経路を取得 コマンドの呼び出し回数を減らすように 101コマンド——Mech-Visionプロジェクトを実行 コマンドの ビジョンポイントまたは経路点の予期数 を0に設定する必要があります。101コマンド——Mech-Visionプロジェクトを実行 コマンドの ビジョンポイントまたは経路点の予期数 が1に設定されている場合、 105コマンド——Mech-Visionから計画された経路を取得 を一回呼び出すと1つの経路点のみが取得され、すべての経路点を取得するには、このコマンドを複数回呼び出す必要があります。 |
経路全体における「ビジョン処理による移動」のインデックス
このパラメータは、経路全体における経路計画設定ツールの「ビジョン処理による移動」ステップに対応する経路点(「ビジョン処理による移動」の経路点)の位置を示します。経路全体に「ビジョン処理による移動」の経路点がない場合、このパラメータは0となります。
例えば、経路全体が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」という経路点で構成されている場合、「ビジョン処理による移動」の経路点の位置は3です。
経路全体を受信するにはこのコマンドを複数回送信する必要がある場合、このパラメータは、コマンドが実行された後の最初の返された結果では計画された経路全体における「ビジョン処理による移動」の経路点の位置を示し、その後の返された結果では残りの経路点における「ビジョン処理による移動」の経路点の位置を示します。 |
例えば、Mech-Visionによって計画された経路が4つの経路点から構成され、4つ目の経路点が「ビジョン処理による移動」の経路点であると仮定します。
-
ロボットがこのコマンドを初めて送信します。
105, 1, 1
ビジョンシステムは以下の結果をロボットに返します。2は最初に合計2つの経路点が取得されたことを示し、4は経路全体における「ビジョン処理による移動」の位置を示します。
105, 1103, 0, 2, 4, 0.0, 0.0, 0.0, 0.0, 69.0, 0.0, 0, 7, 73.0, 0.0, 0.0, 0.0, 69.0, 0.0, 0, 7
-
ロボットがこのコマンドを2回目に送信します。
105, 1, 1
ビジョンシステムは以下の結果をロボットに返します。最初の2は2回目の取得が残りの2つの経路点を取得したことを示し、2番目の2は残りの2つの経路点における「ビジョン処理による移動」の経路点の位置を示します。
105, 1103, 1, 2, 2, -77.0, 0.0, 0.0, 0.0, 69.0, 0.0, 0, 7, -26.6781, 55.4142, 45.0133, -7.3735, -10.948, 160.5773, 2, 7
経路点
取得された各経路点は8つのデータで構成され、最初の6つは位置姿勢、7番目はラベル、最後は速度を示します。
-
位置姿勢:ロボットのツール位置姿勢または関節角度(JPs)。位置姿勢タイプは、このコマンド送信時に設定された 経路点の位置姿勢タイプ パラメータによって決定されます。
-
ラベル:位置姿勢に対応する整数のラベル(「出力」ステップの「labels」ポートのデータ)。
-
ラベルは数値文字列である必要があります。ラベルが数値文字列でない場合は、「出力」ステップの前に「ラベルマッピング」ステップを追加してラベルを数値文字列にマッピングする必要があります。
-
「出力」ステップに「labels」ポートがない場合は、ラベルの値はデフォルトで0になります。
-
-
速度:経路計画設定ツールで設定された速度値(パーセンテージで表す)。
実行例
-
ロボットが以下のコマンドをビジョンシステムに送信し、Mech-Visionプロジェクト1から出力された経路点を取得します。2は、経路点の位置姿勢タイプがツール位置姿勢であることを示します。
105, 1, 2
-
ビジョンシステムは以下の結果をロボットに返した場合、コマンドが正常に実行されたことを示します。ビジョンシステムはすべて(合計5つ)の経路点をロボットに返し、3番目の経路点が「ビジョン処理による移動」の経路点となります。
105, 1103, 1, 5, 3, 1030.0, 0, 1260.0, 0.0, 90.0, -0.0, 0, 7, 1149.114, -298.9656, 274.9219, -0.0977, -1.3863, -175.9702, 0, 7, 1149.8416, -296.8585, 245.0048, -0.0977, -1.3863, -175.9702, 2, 7, 1149.114, -298.9656, 274.9219, -0.0977, -1.3863, -175.9702, 0, 7, 1030.0, 0, 1260.0, 0.0, 90.0, -0.0, 0,7
ビジョンシステムは以下の結果をロボットに返した場合、コマンドの実行中にエラーが発生したことを示します。1020は、Mech-Visionプロジェクトが起動されていないことを意味します。
105, 1020
106コマンド——Mech-Visionから吸盤のDO信号リストを取得
コマンド機能
このコマンドは、Mech-Visionプロジェクトによって計画された複数パーティション吸盤の制御信号を取得するために使用されます。このコマンドを使用する前に、DO信号を設定する必要があります。
「経路計画」ステップのパラメータから エディタを開く をクリックします。表示された経路計画設定ツールでロボットハンド名をダブルクリックし、 ロボットハンドの種類 を デパレタイズ用吸盤 に選択します。 デパレタイズ用吸盤設定 をクリックし、実際の状況に応じてDO信号を設定します。
呼び出し順序
このコマンドは、 100コマンド——Mech-Visionプロジェクトを実行して結果を取得 、 105コマンド——Mech-Visionから計画された経路を取得 または 111コマンド——Mech-Visionから「ビジョン処理による移動」の計画結果を取得 コマンドの後に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
106,Mech-Visionプロジェクト番号
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
返されたデータ形式
106,ステータスコード,DO信号1,DO信号2,...,DO信号64
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 1106 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
DO信号
このコマンドは64個のDO信号を返します。有効なDO信号は0から999までの非負整数であり、無効なDO信号は-1(プレースホルダ値)です。
例えば下表の場合、返された有効なDO信号は1、3、5、6で、これは上記のDO信号に対応する値がONに設定されていることを示します。
1番目 |
2番目 |
3番目 |
4番目 |
5番目 |
6番目 |
7番目 |
8番目 |
… |
63番目 |
64番目 |
1 |
3 |
5 |
6 |
-1 |
-1 |
-1 |
-1 |
… |
-1 |
-1 |
実行例
-
ロボットはビジョンシステムに以下のコマンドを送信します。
106, 1
-
ビジョンシステムは以下の結果をロボットに返します。その中、有効なDO信号は11、12となります。
106, 1106, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
110コマンド——Mech-Visionからカスタマイズされたデータを取得
コマンド機能
このコマンドは、Mech-Visionの「出力」ステップからカスタマイズされたデータを取得するために使用されます。 カスタマイズされたポートを設定するには、「出力」ステップのパラメータで エディタを開く をクリックし、表示された画面で設定を行います。その中、事前定義された通信キー名はカスタマイズされたポート名です。例えば、下図の「customeData1」ポートと「customeData2」ポートはカスタマイズされたポートです。
|
呼び出し順序
このコマンドは、 101コマンド——Mech-Visionプロジェクトを実行 コマンドの後に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
110,Mech-Visionプロジェクト番号
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
返されたデータ形式
110,ステータスコード,すべてのビジョンポイントが取得されたかどうか,カスタマイズされたデータの数(N),位置姿勢,ラベル,カスタマイズされたデータ1,...,カスタマイズされたデータN
ステータスコード
コマンドが正常に実行された場合、ステータスコードは 1100 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
すべてのビジョンポイントが取得されたかどうか
このパラメータは、すべてのビジョンポイントが取得されたかどうかを示し、値は0または1です。
-
0:取得されていないビジョンポイントがあります。
-
1:すべてのビジョンポイントが取得されました。
|
カスタマイズされたデータの数
すべてのカスタマイズされたポートのデータの合計です。例えば、「出力」ステップのポートデータは、以下のデータから構成されます。ここで、「customData1」と「customData2」はカスタマイズされたポートで、次元はそれぞれ3と2です。したがって、カスタマイズされたデータの合計数は3+2=5です。
ポート名 |
poses |
labels |
customData1 |
customData2 |
ポートデータ |
[ [0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0] ] |
[ "0", "1" ] |
[ [0, 0, 1], [1, 0, 0] ] |
[ [0, 0], [1, 1] ] |
行の次元(リスト内の要素数) |
2 |
2 |
2 |
2 |
列の次元(リスト内の個々の要素の次元数) |
7 |
1 |
3 |
2 |
位置姿勢
1つのビジョンポイントのロボットのツール位置姿勢です。ビジョンシステムは、ビジョンポイントの対象物の位置姿勢(つまり「出力」ステップの「poses」ポートのデータ)を対応するロボットのツール位置姿勢に自動的に変換します。変換流れを下図に示します。
-
対象物の位置姿勢を四元数からオイラー角の形式に変換します。
-
対象物の位置姿勢をX軸を中心に180°回転させ、Z軸が下を向くようにします。
ラベル
1つのビジョンポイントのラベル(「出力」ステップの「labels」ポートのデータ)です。
|
カスタイズされたデータ
1つのビジョンポイントのすべてのカスタマイズされたポートのデータで、その数は カスタマイズされたデータ の数と同じです。例えば、「出力」ステップの各ポートのデータは下表の通りである場合、ロボットが取得した最初のビジョンポイントの カスタマイズされたデータ は[0, 0, 1] と [0, 0]であり、ロボットが取得した2番目のビジョンポイントの カスタマイズされたデータ は[1, 0, 0] と [1, 1]です。
ポート名 |
poses |
labels |
customData1 |
customData2 |
ポートデータ |
[ [0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0] ] |
[ "0", "1" ] |
[ [0, 0, 1], [1, 0, 0] ] |
[ [0, 0], [1, 1] ] |
最初のビジョンポイント |
[0, 0, 0, 1, 0, 0, 0] |
0 |
[0, 0, 1] |
[0, 0] |
2番目のビジョンポイント |
[0, 0, 0, 1, 0, 0, 0] |
1 |
[1, 0, 0] |
[1, 1] |
カスタマイズされたデータは、カスタマイズされたポート名のA–Zの順に並べられています。 |
実行例
Mech-Visionプロジェクトの「出力」ステップの各ポートデータが下図に示す通りであると仮定します。次に、 101コマンド——Mech-Visionプロジェクトを実行 と 110コマンド——Mech-Visionからカスタマイズされたデータを取得 コマンドを実行してカスタマイズされたデータを取得する方法について説明します。
-
ロボットが101コマンドをビジョンシステムに送信し、すべて(合計2つ)のビジョンポイントを取得します。
101, 1, 0, 0
ビジョンシステムは以下の結果をロボットに返します。その結果は、101コマンドが正常に実行されたことを示します。
101, 1102
-
ロボットが110コマンドをビジョンシステムに送信し、最初のビジョンポイントのすべてのデータを取得します。
110, 1
ビジョンシステムは以下の結果をロボットに返します。その中、カスタマイズされたデータは11、21となります。
110, 1100, 0, 2, 1150.1272, -297.2476, -55.0715, -0.1087, -1.6156, -176.1518, 1, 11, 21
-
ロボットが110コマンドをビジョンシステムに再度送信し、2番目のビジョンポイントのすべてのデータを取得します。
110, 1
ビジョンシステムは以下の結果をロボットに返します。その中、1はすべてのビジョンポイントが取得されたことを示し、カスタマイズされたデータは12、22となります。
110, 1100, 1, 2, 592.6891, -256.7424, -56.6007, 0.0723, 1.1348, -176.355, 2, 12, 22
111コマンド——Mech-Visionから「ビジョン処理による移動」の計画結果を取得
コマンド機能
このコマンドは、Mech-Visionプロジェクトの「ビジョン処理による移動」の計画結果を取得するために使用されます。ここでの「ビジョン処理による移動」の計画結果は、経路計画設定ツールの「ビジョン処理による移動」ステップが計画されたデータのことで、把持するワークのラベル、把持されたワークの合計数、今回把持されたワークの数、吸盤のエッジコーナー番号、TCPオフセット、ワーク群の向き、単体ワークの向き、ワーク群の寸法が含まれます。
送信形式
111,Mech-Visionプロジェクト番号,経路点の位置姿勢タイプ
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
経路点の位置姿勢タイプ
このパラメータは、取得する経路点の位置姿勢タイプを指定するために使用されます。
-
1:ロボットの関節角度(JPs)。
-
2:ロボットのツール位置姿勢。
返されたデータ形式
111,ステータスコード,すべての経路点が取得されたかどうか,経路点のタイプ,位置姿勢,移動方式,ツール番号,速度,「ビジョン処理による移動」の計画結果
ステータスコード
コマンドが正常に実行された場合、ステータスコードは 1103 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
すべての経路点が取得されたかどうか
このパラメータは、すべての経路点が取得されたかどうかを示し、値は0または1です。
-
0:取得されていない経路点があります。
-
1:すべての経路点が取得されました。
|
経路点のタイプ
経路点のタイプ の値 |
経路点のタイプ |
データ情報 |
0 |
「ビジョン処理による移動」の以外の経路点 |
位置姿勢、移動方式、ツール番号、速度 |
1 |
「ビジョン処理による移動」の経路点 |
位置姿勢、移動方式、ツール番号、速度、「ビジョン処理による移動」の計画結果 |
位置姿勢
経路点の位置姿勢は、コマンド送信時に指定された 経路点の位置姿勢タイプ パラメータの値によって、ロボットの関節角度かツール位置姿勢のどちらかになります。
移動方式
-
1:関節運動。
-
2:直線運動。
ツール番号
ロボットがその経路点に移動するときに使用するロボットハンドの番号です。-1である場合、ロボットハンドが使用されないことを示します。
速度
経路計画設定ツールで設定されたシミュレーション速度の値(パーセンテージで表す)です。
「ビジョン処理による移動」の計画結果
「ビジョン処理による移動」の計画結果には、以下のデータが含まれます。
名前 | 詳細 | 次元 |
---|---|---|
把持するワークのラベル |
10個の整数で構成され、デフォルトは10個のゼロです。 |
10 |
把持されたワークの合計数 |
累計で把持されたワークの数です。 |
1 |
今回把持されたワークの数 |
今回把持されたワークの数です。 |
1 |
吸盤のエッジコーナー番号 |
この吸盤に使用されているエッジコーナー番号です。 |
1 |
TCPオフセット |
ロボットハンド中心からのワーク群の中心のXYZオフセットです。 |
3 |
ワーク群の向き |
吸盤の長辺に対するワーク群の向きです。0は平行、1は垂直を意味します。 |
1 |
単体ワークの向き |
吸盤の長辺に対する単体ワークの向きです。0は平行、1は垂直を意味します。 |
1 |
ワーク群の寸法 |
今回把持されたワーク群の長さ、幅、高さです。 |
3 |
実行例
-
ロボットはビジョンシステムに以下のコマンドを送信します。
111, 1, 2
-
ビジョンシステムは以下の結果をロボットに返します。
詳細 データ 送信コマンド
111
ステータスコード
1103
すべての経路点が取得されたかどうか
1
経路点のタイプ
1
位置姿勢
95.7806, 644.5677, 401.1013, 91.1206, -171.1301, 180.0
移動方式
1
ツール番号
0
速度
55
「ビジョン処理による移動」の計画結果
把持するワークのラベル
1, 1, 1, 0, 0, 0, 0, 0, 0, 0
把持されたワークの合計数
100
今回把持されたワークの数
3
吸盤のエッジコーナー番号
28
TCPオフセット
95.7806, 644.5677, 0
ワーク群の向き
0
単体ワークの向き
0
ワーク群の寸法
600, 800, 300
200コマンド——Mech-Vizプロジェクトを実行して計画経路を取得
コマンド機能
このコマンドは、Mech-Vizプロジェクトの実行をトリガーし、「メッセージによって異なる分岐を実行」ステップの出口番号を設定し、Mech-Vizプロジェクトによって計画された動作経路を返します。Mech-Vizプロジェクトを実行するには、 201コマンド——Mech-Vizプロジェクトを実行 をご参照ください。プロジェクトに「メッセージによって異なる分岐を実行」ステップがない場合はスキップでき、分岐出口設定の詳細は 203コマンド——Mech-Vizの分岐ステップの出口を設定 をご参照ください。計画された動作経路の詳細は 205コマンド——Mech-Vizから計画された経路を取得 をご参照ください。
Mech-Vizプロジェクトに複数の「メッセージによって異なる分岐を実行」ステップがある場合、このコマンドは使用できません。 |
送信形式
200,「メッセージによって異なる分岐を実行」ステップ番号,分岐出口番号,経路点の位置姿勢タイプ,ロボットの関節角度,ロボットのフランジ位置姿勢
「メッセージによって異なる分岐を実行」のステップ番号
このパラメータは、「メッセージによって異なる分岐を実行」ステップ番号を指定するために使用されます。正の整数である必要があります。
Mech-Vizプロジェクトに「メッセージによって異なる分岐を実行」ステップがない場合は、このパラメータを0に設定します。 |
分岐出口番号
「メッセージによって異なる分岐を実行」ステップの出口番号を指定します。その値は正整数です。このパラメータをNに設定すると、Mech-Vizプロジェクトは「メッセージによって異なる分岐を実行」ステップのN-1番号に沿って実行を継続します。 例えば、ロボットが「200,2,1,…」をビジョンシステムに送信した場合、Mech-Vizプロジェクトがステップ番号が2の「メッセージによって異なる分岐を実行」ステップまで実行すると、出口0から実行を継続します。
Mech-Vizプロジェクトに「メッセージによって異なる分岐を実行」ステップがない場合は、このパラメータを0に設定します。 |
経路点の位置姿勢タイプ
このパラメータは、取得する経路点の位置姿勢タイプを指定するために使用されます。
-
1:ロボットの関節角度(JPs)。
-
2:ロボットのツール位置姿勢。
ロボットの関節角度、ロボットのフランジ位置姿勢
ロボットの現在の関節角度とフランジ位置姿勢をMech-Vizプロジェクトに送信します。
返されたデータ形式
200,ステータスコード,すべての経路点が取得されたかどうか,経路点の数,経路全体における「ビジョン処理による移動」のインデックス,経路点1(位置姿勢,ラベル,速度),経路点2(位置姿勢,ラベル,速度),…
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 2100 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
すべての経路点が取得されたかどうか
このパラメータは、すべての経路点が取得されたかどうかを示し、値は0または1です。
-
0:取得されていない経路点があります。
-
1:すべての経路点が取得されました。
|
経路点の数
このパラメータは、取得された経路点の数を示します。
経路全体における「ビジョン処理による移動」のインデックス
このパラメータは、経路全体におけるMech-Vizプロジェクトの「ビジョン処理による移動」ステップに対応する経路点(「ビジョン処理による移動」の経路点)の位置を示します。経路全体に「ビジョン処理による移動」の経路点がない場合、このパラメータは0となります。
例えば、経路全体が「移動_1」、「移動_2」、「「ビジョン処理による移動」、「移動_3」という経路点で構成されている場合、「ビジョン処理による移動」の経路点の位置は3です。
経路点
取得された各経路点は8つのデータで構成され、最初の6つは位置姿勢、7番目はラベル、最後は速度を示します。
-
位置姿勢:ロボットのツール位置姿勢または関節角度(JPs)。位置姿勢タイプは、このコマンド送信時に設定された 経路点の位置姿勢タイプ パラメータによって決定されます。
-
ラベル:位置姿勢に対応する整数のラベル(「出力」ステップの「labels」ポートのデータ)。
-
ラベルは数値文字列である必要があります。ラベルが数値文字列でない場合は、「出力」ステップの前に「ラベルマッピング」ステップを追加してラベルを数値文字列にマッピングする必要があります。
-
「出力」ステップに「labels」ポートがない場合は、ラベルの値はデフォルトで0になります。
-
-
速度:移動ステップのパラメータで設定された速度パラメータの値(パーセンテージで表す)。
実行例
-
ロボットが以下のコマンドをビジョンシステムに送信し、Mech-Vizプロジェクトの実行をトリガーし、ステップ番号5の「メッセージによって異なる分岐を実行」が出口2から実行を継続し、Mech-Vizプロジェクトから出力された経路点(位置姿勢タイプは関節角度)を取得します。
200, 5, 3, 1, 5.18, 14.52, 4.03, 0.09, 72.44, 5.15, 549.56, 50.0, 647.01, 180.0, -1.0, 180.0
-
ビジョンシステムは以下の結果をロボットに返した場合、コマンドが正常に実行されたことを示します。ビジョンシステムはすべて(合計2つ)の経路点をロボットに返し、2番目の経路点が「ビジョン処理による移動」の経路点となります。
200, 2100, 1, 2, 2, 8.3077, 15.1634, -142.1778, -2.7756, -31.4404, -96.9490, 0, 64, 8.2425, 12.1301, -141.7587, -2.5135, -34.8905, -97.1911, 0, 32
201コマンド——Mech-Vizプロジェクトを実行
コマンド機能
このコマンドは、Mech-Vizプロジェクトの実行をトリガーするために使用されます。Mech-Vizは、Mech-Visionから出力されたビジョン結果に基づいてロボットの動作経路を計画します。
Mech-Vizのリソースパネルでプロジェクトを右クリックし、 自動的に読み込む にチェックを入れます。 |
呼び出し順序
プロジェクトのステップパラメータは、Mech-Vizプロジェクトを実行する前に設定する必要があります。したがって、 207コマンド——Mech-Vizのステップパラメータを読み取る または 208コマンド——Mech-Vizのステップパラメータを設定 コマンドは 201コマンド——Mech-Vizプロジェクトを実行 コマンドの前に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
201,ロボットの位置姿勢タイプ,ロボットの位置姿勢
ロボットの位置姿勢タイプ 、 ロボットの位置姿勢
-
ロボットの位置姿勢タイプ は、ロボット実機の位置姿勢をMech-Vizプロジェクトに送信する方式を設定します。パラメータ範囲は0~2です。
-
ロボットの位置姿勢 は、 ロボットの位置姿勢タイプ によって決定されます。
2つのパラメータの値と関係と説明は以下の通りです。
ロボットの位置姿勢タイプ | ロボットの位置姿勢 | 詳細 | 適用シーン |
---|---|---|---|
0 |
0, 0, 0, 0, 0, 0 |
Mech-Vizプロジェクトにロボットの位置姿勢を送信する必要がありません。Mech-Vizプロジェクトでの仮想ロボットは初期位置姿勢(JPs = [0, 0, 0, 0, 0, 0] )から最初の経路点に移動します。 |
カメラがEye to Hand方式で取り付けられている場合。 |
1 |
ロボットの現在の関節角度とフランジ位置姿勢 |
Mech-Vizプロジェクトにロボットの現在の関節角度とフランジ位置姿勢を送信する必要があり、Mech-Vizプロジェクトでの仮想ロボットは受信された位置姿勢から最初の経路点に移動します。 |
カメラがEye in Hand方式で取り付けられている場合は推奨。 |
2 |
ロボット側でカスタマイズされた関節角度 |
Mech-Vizプロジェクトにロボットのティーチポイント(現在の関節角度ではない)を送信する必要があります。これは、ロボットが画像撮影領域の外にいるとき(下図に示す)、Mech-Vizプロジェクトが次回の経路を事前に計画することをトリガーするために使用されます。Mech-Vizプロジェクトでの仮想ロボットは受信された最初のティーチポイントから最初の経路点に移動します。 |
カメラがEye to Hand方式で取り付けられている場合は推奨。 |
カメラがEye to Hand方式で取り付けられている場合は、 ロボットの位置姿勢タイプ を2に設定することを推奨する理由は何ですか?
下図に示すように、ロボットは配置領域で動作しています。
この場合、 ロボットの位置姿勢タイプ を 1 に設定すると、ロボットの現在の位置姿勢がMech-Vizに送信され、ロボット実機は最初の経路点に移動する前に他の位置に移動する可能性があります。仮想ロボットは現在の位置からMech-Vizプロジェクトの最初の経路点に移動し、この移動中に衝突が検出されるため警告が表示される可能性があります。
この場合、 ロボットの位置姿勢タイプ を 2 に設定すると、ロボット側で設定されたティーチポイントがMech-Vizに送信されます。これにより、配置領域でロボット実機はMech-Vizをトリガーして次回の経路を事前に計画し、タクトタイムの向上が可能になります。
これが、カメラがEye to Hand方式で取り付けられている場合、 ロボットの位置姿勢タイプ を2に設定することを推奨する理由です。
返されたデータ形式
201, ステータスコード
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 2103 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
実行例
サンプル1
-
カメラがEye in Hand方式で取り付けられている場合、ロボットはビジョンシステムに以下のコマンドを送信します。1は、ロボットが現在の関節角度とフランジ位置姿勢をビジョンシステムに送信することを示します。
201, 1, 5.18, 14.52, 4.03, 0.09, 72.44, 5.15, 549.56, 50.0, 647.01, 180.0, -1.0, 180.0
-
ビジョンシステムは以下の結果をロボットに返します。2103は、Mech-Vizプロジェクトが正常にトリガーされたことを示します。
201, 2103
サンプル2
-
カメラがEye to Hand方式で取り付けられている場合、ロボットはビジョンシステムに以下のコマンドを送信します。2は、ロボットがティーチポイントの関節角度をビジョンシステムに送信することを示します。
201, 2, 5.18, 14.52, 4.03, 0.09, 72.44, 5.15
-
ビジョンシステムは以下の結果をロボットに返します。2103は、Mech-Vizプロジェクトが正常にトリガーされたことを示します。
201, 2103
202コマンド—— Mech-Vizプロジェクトを停止
呼び出し順序
このコマンドは、 201コマンド——Mech-Vizプロジェクトを実行 コマンドの後に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
返されたデータ形式
202, ステータスコード
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 2104 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
203コマンド——Mech-Vizの分岐ステップの出口を設定
コマンド機能
このコマンドは、「メッセージによって異なる分岐を実行」ステップの出口を設定するために使用されます。Mech-Vizプロジェクトが「メッセージによって異なる分岐を実行」ステップに実行すると、このコマンドによって出口を指定するのを待ちます。
呼び出し順序
このコマンドは、 201コマンド——Mech-Vizプロジェクトを実行 コマンドの後に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
203,ステップ番号,分岐出口番号
ステップID
このパラメータは、「メッセージによって異なる分岐を実行」ステップ番号を指定するために使用されます。正の整数である必要があります。ステップ番号はステップパラメータで取得することができます。例えば、上図のステップ番号は1です。
分岐出口番号
「メッセージによって異なる分岐を実行」ステップの出口番号を指定します。その値は正整数です。このパラメータをNに設定すると、Mech-Vizプロジェクトは「メッセージによって異なる分岐を実行」ステップのN-1番号に沿って実行を継続します。 例えば、ロボットが「203,2,1」をビジョンシステムに送信した場合、Mech-Vizプロジェクトがステップ番号が2の「メッセージによって異なる分岐を実行」ステップまで実行すると、出口0から実行を継続します。
返されたデータ形式
203, ステータスコード
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 2105 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
204コマンド——Mech-Vizの現在のインデックスを設定
コマンド機能
このコマンドは、インデックス付きのステップの現在のインデックス値を設定するために使用されます。インデックス付きのステップとは、「グリッドによる移動」、「リストによる移動」、「事前計画パレットパターン」、「カスタマイズのパレットパターン」など、「インデックス」パラメータを含むステップのことです。
呼び出し順序
通常、インデックス付きのステップの前に「メッセージによって異なる分岐を実行」ステップがあり、ロボットはまず 201コマンド——Mech-Vizプロジェクトを実行 コマンドを呼び出し、次に 204コマンド——Mech-Vizの現在のインデックスを設定 コマンドを呼び出し、最後に 203コマンド——Mech-Vizの分岐ステップの出口を設定 コマンドを呼び出します。これにより、Mech-Vizは現在のインデックス値を設定するのに十分な時間を持つことができます。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
204,ステップ番号,現在のインデックス
ステップ番号
このパラメータは、インデックス付きのステップのステップ番号を指定するために使用されます。正の整数である必要があります。ステップ番号はステップパラメータで取得することができます。例えば、上図のステップ番号は3です。
現在のインデックス
このパラメータは、インデックス付きのステップの現在のインデックス値を指定するために使用されます。その値は正の整数となります。このパラメータ値がNに設定されている場合、対応するステップの現在のインデックス値はN-1となります。例えば、ロボットが「204,2,1」をビジョンシステムに送信した場合、ステップ番号2のステップの現在のインデックス値が0です。
返されたデータ形式
204,ステータスコード
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 2106 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
205コマンド——Mech-Vizから計画された経路を取得
コマンド機能
このコマンドは、Mech-Vizプロジェクトによって計画された動作経路(一連の経路点)を取得するために使用されます。
経路点:ロボットが計画された経路に沿って1つずつ到達する必要のあるポイントで、経路点にはロボットの位置姿勢、ラベル、運動タイプ、速度などが含まれます。経路点は次の2つの種類に分けられます。
|
呼び出し順序
このコマンドは、 201コマンド——Mech-Vizプロジェクトを実行 コマンドの後に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
205,経路点の位置姿勢タイプ
経路点の位置姿勢タイプ
このパラメータは、取得する経路点の位置姿勢タイプを指定するために使用されます。
-
1:ロボットの関節角度(JPs)。
-
2:ロボットのツール位置姿勢。
返されたデータ形式
205,ステータスコード,すべての経路点が取得されたかどうか,経路点の数,経路全体における「ビジョン処理による移動」のインデックス,経路点1(位置姿勢,ラベル,速度),経路点2(位置姿勢,ラベル,速度),...
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 2100 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
すべての経路点が取得されたかどうか
このパラメータは、すべての経路点が取得されたかどうかを示し、値は0または1です。
-
0:取得されていない経路点があります。
-
1:すべての経路点が取得されました。
|
経路点の数
このパラメータは、取得された経路点の数を示します。デフォルトでは、一度にビジョンシステムによって送信される経路点の最大数は20個であるため、このパラメータの最大初期値は20となります。 Mech-Visionでは、ツールバーから
をクリックします。実際の状況に応じて最大数の初期値を変更することができますが、最大数の上限は30です。経路全体における「ビジョン処理による移動」のインデックス
このパラメータは、経路全体におけるMech-Vizプロジェクトの「ビジョン処理による移動」ステップに対応する経路点(「ビジョン処理による移動」の経路点)の位置を示します。経路全体に「ビジョン処理による移動」の経路点がない場合、このパラメータは0となります。
例えば、経路全体が「移動_1」、「移動_2」、「「ビジョン処理による移動」、「移動_3」という経路点で構成されている場合、「ビジョン処理による移動」の経路点の位置は3です。
経路全体を受信するにはこのコマンドを複数回送信する必要がある場合、このパラメータは、コマンドが実行された後の最初の返された結果では計画された経路全体における「ビジョン処理による移動」の経路点の位置を示し、その後の返された結果では残りの経路点における「ビジョン処理による移動」の経路点の位置を示します。 |
例えば、Mech-Vizによって計画された経路が4つの経路点から構成され、4つ目の経路点が「ビジョン処理による移動」の経路点であると仮定します。
-
ロボットがこのコマンドを初めて送信します。
205, 1
ビジョンシステムは以下の結果をロボットに返します。2は最初に合計2つの経路点が取得されたことを示し、4は経路全体における「ビジョン処理による移動」の位置を示します。
205, 2100, 0, 2, 4, 0.0, 0.0, 0.0, 0.0, 69.0, 0.0, 0, 7, 73.0, 0.0, 0.0, 0.0, 69.0, 0.0, 0, 7
-
ロボットがこのコマンドを2回目に送信します。
205, 1
ビジョンシステムは以下の結果をロボットに返します。最初の2は2回目の取得が残りの2つの経路点を取得したことを示し、2番目の2は残りの2つの経路点における「ビジョン処理による移動」の経路点の位置を示します。
205, 2100, 1, 2, 2, -77.0, 0.0, 0.0, 0.0, 69.0, 0.0, 0, 7, -26.6781, 55.4142, 45.0133, -7.3735, -10.948, 160.5773, 2, 7
経路点
取得された各経路点は8つのデータで構成され、最初の6つは位置姿勢、7番目はラベル、最後は速度を示します。
-
位置姿勢:ロボットのツール位置姿勢または関節角度(JPs)。位置姿勢タイプは、このコマンド送信時に設定された 経路点の位置姿勢タイプ パラメータによって決定されます。
-
ラベル:位置姿勢に対応する整数のラベル(「出力」ステップの「labels」ポートのデータ)。
-
ラベルは数値文字列である必要があります。ラベルが数値文字列でない場合は、「出力」ステップの前に「ラベルマッピング」ステップを追加してラベルを数値文字列にマッピングする必要があります。
-
「出力」ステップに「labels」ポートがない場合は、ラベルの値はデフォルトで0になります。
-
-
速度:移動ステップのパラメータで設定された速度パラメータの値(パーセンテージで表す)。
実行例
-
ロボットが以下のコマンドをビジョンシステムに送信し、Mech-Vizプロジェクトから出力された経路点(位置姿勢タイプは関節角度)を取得します。
205, 1
-
ビジョンシステムは以下の結果をロボットに返した場合、コマンドが正常に実行されたことを示します。ビジョンシステムはすべて(合計2つ)の経路点をロボットに返し、2番目の経路点が「ビジョン処理による移動」の経路点となります。
205, 2100, 1, 2, 2, 8.3077, 15.1634, -142.1778, -2.7756, -31.4404, -96.9490, 0, 64, 8.2425, 12.1301, -141.7587, -2.5135, -34.8905, -97.1911, 0, 32
206コマンド——吸盤のDO信号リストを取得
コマンド機能
このコマンドは、Mech-Vizプロジェクトによって計画された複数パーティション吸盤の制御信号を取得するために使用されます。このコマンドを使用する前に、DO信号と「DOを設定」ステップを設定する必要があります。
-
Mech-Vizでは、ロボットハンド名をダブルクリックし、 ロボットハンドの種類 を デパレタイズ用吸盤 に選択します。 デパレタイズ用吸盤設定 をクリックし、実際の状況に応じてDO信号を設定します。
-
「DOを設定」ステップを設定します。
-
「DOを設定」ステップは、「ビジョン処理による移動」ステップの後につなぐ必要があります。
-
受信者 を 標準インターフェース に設定します。
-
実行モード では、 ソース に ビジョン処理による移動 を選択し、 「ビジョン処理による移動」を選択 を使用する「ビジョン処理による移動」ステップ名、すなわち「DOを設定」ステップの前にある「ビジョン処理による移動」ステップ名、例えば下図では「ビジョン処理による移動_1」を選択します。
-
呼び出し順序
このコマンドは、 200コマンド——Mech-Vizプロジェクトを実行して計画経路を取得 、 205コマンド——Mech-Vizから計画された経路を取得 または 210コマンド——Mech-Vizから「ビジョン処理による移動」の計画結果またはカスタマイズされたデータを取得 コマンドの後に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
返されたデータ形式
206,ステータスコード,DO信号1,DO信号2,...,DO信号64
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 2102 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
DO信号
このコマンドは64個のDO信号を返します。有効なDO信号は0から999までの非負整数であり、無効なDO信号は-1(プレースホルダ値)です。
例えば下表の場合、返された有効なDO信号は1、3、5、6で、これは上記のDO信号に対応する値がONに設定されていることを示します。
1番目 |
2番目 |
3番目 |
4番目 |
5番目 |
6番目 |
7番目 |
8番目 |
… |
63番目 |
64番目 |
1 |
3 |
5 |
6 |
-1 |
-1 |
-1 |
-1 |
… |
-1 |
-1 |
実行例
-
ロボットはビジョンシステムに以下のコマンドを送信します。
206
-
ビジョンシステムは以下の結果をロボットに返します。その中、有効なDO信号は11、12となります。
206, 2102, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
207コマンド——Mech-Vizのステップパラメータを読み取る
呼び出し順序
このコマンドは、 201コマンド——Mech-Vizプロジェクトを実行 コマンドの前に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
207,構成ID
構成ID
このパラメータは、property_configファイルで指定された 構成ID フィールドとなります。
Mech-Visionでは、ツールバーの をクリックし、 プロパティ設定 をクリックしてproperty_configファイルを開きます。 |
このコマンドを使用する前に、あらかじめproperty_configファイルに、ステップ番号と、パラメータ名に対応するキー名を、以下の形式で指定しておく必要があります。
read,構成ID,ステップ番号,パラメータ名に対応するキー名
read |
ステップパラメータ値の読み取りに使用する行を指定します。 |
構成ID |
唯一の番号を正の整数で指定します。1つの構成IDは、1つのステップパラメータ値を読み取るためにのみ使用できます。複数のステップパラメータ値を読み取る場合は、異なる構成IDを使用してください。 |
ステップ番号 |
読み取るパラメータが属するステップのステップ番号を指定します。 |
キー名 |
読み込むパラメータに対応するキー名を指定します。 |
|
例えば、property_configファイルに以下の内容を追加します。5は構成ID、3はステップ番号、xCountはパラメータ名に対応するキー名を示します。ロボットが「207,5」コマンドを送信した後、xCountに対応するパラメータ値が取得されます。
read, 5, 3, xCount
property_configファイルには複数のreadコマンドを設定することができますが、各readコマンドの構成IDは唯一である必要があります。 |
返されたデータ形式
207,ステータスコード,ステップパラメータ値
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 2109 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
ステップパラメータ値
読み込まれたステップのパラメータ値です。
|
実行例
以下では、「カウンター」ステップ(ステップ番号が1)を例に、 現在の計数 のパラメータ値を読み取ります。
-
キークエリツール で 現在の計数 のキー名(すなわち下図のcurrentCount)を取得します。
-
property_configファイルに、以下の内容を追加して保存します。10は構成IDを示し、このIDはファイルで唯一である必要があります。1は「カウンター」ステップのステップ番号を示します。currentCountは 現在の計数 パラメータに対応するキー名を示します。
read, 10, 1, currentCount
-
Mech-Visionのツールバーでインターフェースサービスを再起動します。
-
ロボットが以下のコマンドをビジョンシステムに送信します。10は構成IDを示します。
207, 10
-
ビジョンシステムは以下の結果をロボットに返します。0は読み取る 現在の計数 (currentCount)のパラメータ値となります。
207, 2109, 0
208コマンド——Mech-Vizのステップパラメータを設定
呼び出し順序
このコマンドは、 201コマンド——Mech-Vizプロジェクトを実行 コマンドの前に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
208,構成ID
構成ID
このパラメータは、property_configファイルで指定された構成IDのフィールドとなります。
Mech-Visionでは、ツールバーの をクリックし、 プロパティ設定 をクリックしてproperty_configファイルを開きます。 |
このコマンドを使用する前に、あらかじめproperty_configファイルに、ステップ番号、パラメータ名に対応するキー名とパラメータ値を、以下の形式で指定しておく必要があります。
write,構成ID,ステップ番号,パラメータ名に対応するキー名,パラメータ値
write |
ステップパラメータ値の設定に使用する行を指定します。 |
構成ID |
番号(唯一でない)を正の整数で指定します。 |
ステップ番号 |
設定するパラメータが属するステップのステップ番号を指定します。 |
キー名 |
設定するパラメータに対応するキー名を指定します。 |
パラメータ値 |
設定するパラメータ値を指定します。 |
|
例えば、property_configファイルに以下の内容を追加します。6は構成ID、3はステップ番号、xOffsetはパラメータ名に対応するキー名、0.000000はパラメータの設定値を示します。ロボットが「208,6」コマンドを送信した後、ビジョンシステムはxOffsetに対応するパラメータ値を0.000000に設定します。
write, 6, 3, xOffset, 0.000000
property_configファイルには、複数のwriteコマンドを設定でき、設定する構成IDを重複させることができます。つまり、同じ構成IDを使用して複数のパラメータ値を設定することができます。 例えば、property_configファイルの内容は以下の通りです。ロボットが「208,1」コマンドを送信した後、ビジョンシステムはxOffset、yOffsetとzOffsに対応するパラメータ値をそれぞれ0.000000、1.000000と2.000030に設定します。
|
返されたデータ形式
208,ステータスコード
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 2108 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
実行例
以下では、「待つ」ステップ(ステップ番号は3)を例に、 待ち時間 のパラメータ値を設定します。
-
キークエリツール で 待ち時間 のキー名(すなわち下図のwaitTime)を取得します。
-
property_configファイルに、以下の内容を追加して保存します。11は構成IDを示します。3は「待つ」ステップのステップ番号を示します。waitTimeは、 待ち時間 パラメータに対応するキー名を示します。1000は設定する待ち時間が1000msであることを示します。
write, 11, 3, waitTime, 1000
-
Mech-Visionのツールバーでインターフェースサービスを再起動します。
-
ロボットが以下のコマンドをビジョンシステムに送信します。11は構成IDを示します。
208, 11
-
ビジョンシステムは以下の結果をロボットに返します。2108は、パラメータ値が正常に設定されたことを示します。
208, 2108
210コマンド——Mech-Vizから「ビジョン処理による移動」の計画結果またはカスタマイズされたデータを取得
コマンド機能
このコマンドは、Mech-Vizプロジェクトの「ビジョン処理による移動」の計画結果またはカスタマイズされたデータを取得するために使用されます。
-
ここでの「ビジョン処理による移動」の計画結果は、Mech-Vizの「ビジョン処理による移動」ステップが計画されたデータのことで、把持するワークのラベル、把持されたワークの合計数、今回把持されたワークの数、吸盤のエッジコーナー番号、TCPオフセット、ワーク群の向き、単体ワークの向き、ワーク群の寸法が含まれます。
-
ここでのカスタマイズされたデータは、Mech-Visionの「出力」ステップのカスタマイズされたポートのデータがMech-Vizの転送によって得られたデータのことです。 カスタマイズされたポートを設定するには、「出力」ステップのパラメータで エディタを開く をクリックし、表示された画面で設定を行います。その中、事前定義された通信キー名はカスタマイズされたポート名です。例えば、下図の「customeData1」ポートと「customeData2」ポートはカスタマイズされたポートです。
|
送信形式
210,返されたデータ形式
返されたデータ形式
返されたデータ形式 の値 |
返されたデータ形式 の説明(Mech-Visionプロジェクトにカスタマイズされたポートがない場合は カスタマイズされたデータ がなく、詳細は下記の 返されたデータ形式 をご参照ください) |
|
経路点のタイプ |
データ情報 |
|
1 |
「ビジョン処理による移動」の以外の経路点 |
位置姿勢(関節角度形式)、移動方式、ツール番号、速度 |
「ビジョン処理による移動」の経路点 |
位置姿勢(関節角度形式),移動方式,ツール番号,速度,カスタマイズされたデータの数(N),カスタマイズされたデータ1,...,カスタマイズされたデータN |
|
2 |
「ビジョン処理による移動」の以外の経路点 |
位置姿勢(ツール位置姿勢の形式)、移動方式、ツール番号、速度 |
「ビジョン処理による移動」の経路点 |
位置姿勢(ツール位置姿勢の形式),移動方式,ツール番号,速度,カスタマイズされたデータの数(N),カスタマイズされたデータ1,...,カスタマイズされたデータN |
|
3 |
「ビジョン処理による移動」の以外の経路点 |
位置姿勢(関節角度形式)、移動方式、ツール番号、速度 |
「ビジョン処理による移動」の経路点 |
位置姿勢(関節角度形式)移動方式,ツール番号,速度,「ビジョン処理による移動」の計画結果,カスタマイズされたデータの数(N),カスタマイズされたデータ1,...,カスタマイズされたデータN |
|
4 |
「ビジョン処理による移動」の以外の経路点 |
位置姿勢(ツール位置姿勢の形式)、移動方式、ツール番号、速度 |
「ビジョン処理による移動」の経路点 |
位置姿勢(ツール位置姿勢の形式)移動方式,ツール番号,速度,「ビジョン処理による移動」の計画結果,カスタマイズされたデータの数(N),カスタマイズされたデータ1,...,カスタマイズされたデータN |
このコマンドにより取得された「ビジョン処理による移動」の経路点には、「ビジョン処理による移動」の計画結果またはカスタマイズされたデータが格納されます。しかし、 205コマンド——Mech-Vizから計画された経路を取得 コマンドにより取得された「ビジョン処理による移動」の経路点には上記のデータは格納されません。 |
返されたデータ形式
210,ステータスコード,すべての経路点が取得されたかどうか,経路点のタイプ,位置姿勢,移動方式,ツール番号,速度,「ビジョン処理による移動」の計画結果,カスタマイズされたデータの数(N),カスタマイズされたデータ1,...,カスタマイズされたデータN
|
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 2100 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
すべての経路点が取得されたかどうか
このパラメータは、すべての経路点が取得されたかどうかを示し、値は0または1です。
-
0:取得されていない経路点があります。
-
1:すべての経路点が取得されました。
|
経路点のタイプ
経路点のタイプ の値 |
経路点のタイプ |
データ情報 |
0 |
「ビジョン処理による移動」の以外の経路点 |
位置姿勢、移動方式、ツール番号、速度 |
1 |
「ビジョン処理による移動」の経路点 |
位置姿勢、移動方式、ツール番号、速度、「ビジョン処理による移動」の計画結果、カスタマイズされたデータ(Mech-Visionプロジェクトにカスタマイズされたポートがない場合はなし) |
位置姿勢
経路点の位置姿勢は、コマンド送信時に指定された 返されたデータ形式 パラメータの値によって、ロボットの関節角度かツール位置姿勢のどちらかになります。
移動方式
-
1:関節運動。
-
2:直線運動。
ツール番号
ロボットがその経路点に移動するときに使用するロボットハンドの番号です。-1である場合、ロボットハンドが使用されないことを示します。
速度
移動ステップのパラメータで設定された速度パラメータの値はMech-Vizで設定されたグローバル速度に乗算され、パーセンテージで表します。
「ビジョン処理による移動」の計画結果
「ビジョン処理による移動」の計画結果には、以下のデータが含まれます。
名前 | 詳細 | 次元 |
---|---|---|
把持するワークのラベル |
10個の整数で構成され、デフォルトは10個のゼロです。 |
10 |
把持されたワークの合計数 |
累計で把持されたワークの数です。 |
1 |
今回把持されたワークの数 |
今回把持されたワークの数です。 |
1 |
吸盤のエッジコーナー番号 |
この吸盤に使用されているエッジコーナー番号です。 |
1 |
TCPオフセット |
ロボットハンド中心からのワーク群の中心のXYZオフセットです。 |
3 |
ワーク群の向き |
吸盤の長辺に対するワーク群の向きです。0は平行、1は垂直を意味します。 |
1 |
単体ワークの向き |
吸盤の長辺に対する単体ワークの向きです。0は平行、1は垂直を意味します。 |
1 |
ワーク群の寸法 |
今回把持されたワーク群の長さ、幅、高さです。 |
3 |
カスタマイズされたデータの数
すべてのカスタマイズされたポートのデータの合計です。例えば、「出力」ステップのポートデータは、以下のデータから構成されます。ここで、「customData1」と「customData2」はカスタマイズされたポートで、次元はそれぞれ3と2です。したがって、カスタマイズされたデータの合計数は3+2=5です。
ポート名 |
poses |
labels |
customData1 |
customData2 |
ポートデータ |
[ [0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0] ] |
[ "0", "1" ] |
[ [0, 0, 1], [1, 0, 0] ] |
[ [0, 0], [1, 1] ] |
行の次元(リスト内の要素数) |
2 |
2 |
2 |
2 |
列の次元(リスト内の個々の要素の次元数) |
7 |
1 |
3 |
2 |
カスタイズされたデータ
1つのビジョンポイントのすべてのカスタマイズされたポートのデータで、その数は カスタマイズされたデータ の数と同じです。例えば、「出力」ステップの各ポートのデータは下表の通りである場合、ロボットが取得した最初のビジョンポイントの カスタマイズされたデータ は[0, 0, 1] と [0, 0]であり、ロボットが取得した2番目のビジョンポイントの カスタマイズされたデータ は[1, 0, 0] と [1, 1]です。
ポート名 |
poses |
labels |
customData1 |
customData2 |
ポートデータ |
[ [0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0] ] |
[ "0", "1" ] |
[ [0, 0, 1], [1, 0, 0] ] |
[ [0, 0], [1, 1] ] |
最初のビジョンポイント |
[0, 0, 0, 1, 0, 0, 0] |
0 |
[0, 0, 1] |
[0, 0] |
2番目のビジョンポイント |
[0, 0, 0, 1, 0, 0, 0] |
1 |
[1, 0, 0] |
[1, 1] |
カスタマイズされたデータは、カスタマイズされたポート名のA–Zの順に並べられています。 |
実行例
-
ロボットはビジョンシステムに以下のコマンドを送信します。
210, 4
-
ビジョンシステムは以下の結果をロボットに返します。
詳細 データ 送信コマンド
210
ステータスコード
2100
すべての経路点が取得されたかどうか
1
経路点のタイプ
1
位置姿勢
95.7806, 644.5677, 401.1013, 91.1206, -171.1301, 180.0
移動方式
1
ツール番号
0
速度
55
「ビジョン処理による移動」の計画結果
把持するワークのラベル
1, 1, 1, 0, 0, 0, 0, 0, 0, 0
把持されたワークの合計数
100
今回把持されたワークの数
3
吸盤のエッジコーナー番号
28
TCPオフセット
95.7806, 644.5677, 0
ワーク群の向き
0
単体ワークの向き
0
ワーク群の寸法
600, 800, 300
Custom data(カスタマイズされたデータ)
カスタマイズされたデータの数
5
カスタマイズされたポートaのデータ
0, 0, 1
カスタマイズされたポートbのデータ
2, 2
501コマンド——Mech-Visionプロジェクトに対象物の寸法を入力
コマンド機能
このコマンドは、対象物の寸法をMech-Visionプロジェクトに入力するために使用されます。下図に示すように、入力される対象物の寸法は、「対象物の寸法を読み込む」ステップの 箱の寸法設定 パラメータ値となります。
呼び出し順序
このコマンドは、 101コマンド——Mech-Visionプロジェクトを実行 コマンドの前に呼び出す必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
送信形式
501,Mech-Visionプロジェクト番号,長さ,幅,高さ
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
長さ,幅,高さ
Mech-Visionプロジェクトに入力される対象物寸法(ミリメートル単位)です。寸法値は、「対象物の寸法を読み込む」ステップで読み込まれ、 X軸における長さ 、 Y軸にける長さ 、 Z軸における長さ に記入されます。
返されたデータ形式
501, ステータスコード
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 1108 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
601コマンド——「通知」ステップのメッセージを取得
コマンド機能
Mech-VisionプロジェクトまたはMech-Vizプロジェクトが「通知」ステップまで実行すると、ビジョンシステムは「通知」ステップで事前設定されたメッセージを返します。
このコマンドを使用する前に、「通知」ステップで以下の設定を行う必要があります。
-
Mech-Visionプロジェクトの「通知」ステップ
-
「通知」ステップを他のステップの右側につなぎます(ここでは、「出力」ステップを例とします)。
-
「出力」ステップのパラメータで 出力がある場合に制御フローをトリガー にチェックを入れます。
-
「通知」ステップのパラメータで、サービス名に Standard Interface Notify(変更不可) を入力し、メッセージに 1001 (実際の状況に応じて変更可能で、正の整数の入力が必要)入力します。
-
-
Mech-Vizプロジェクトの「通知」ステップ
-
「通知」ステップをワークフローの適切な場所に配置し、その他のステップをつなぎます。
-
「通知」ステップのパラメータで、「受信者」を 標準インターフェース に選択し、メッセージに 1000 (実際の状況に応じて変更可能で、正の整数の入力が必要)を入力します。
-
呼び出し順序
このコマンドは、 101コマンド——Mech-Visionプロジェクトを実行 または 201コマンド——Mech-Vizプロジェクトを実行 コマンドの直後に呼び出される必要があります。
すべてのコマンドの呼び出し順序については、 標準インターフェースコマンドの呼び出しフロー をご参照ください。
701コマンド——キャリブレーション
コマンド機能
このコマンドは、ロボットのハンドアイキャリブレーション(外部パラメータのキャリブレーション)を実行するために使用されます。このコマンドは、Mech-Visionのキャリブレーションツールと併用する必要があります。キャリブレーションツールは、Mech-Visionのツールバーの カメラキャリブレーション(標準モード) をクリックして開きます。キャリブレーション中、まずロボットはキャリブレーションの初期位置に移動し、このコマンドによりキャリブレーションの初期位置をビジョンシステムに送信します。次に、ビジョンシステムは次のキャリブレーションポイントの位置をロボットに返します。最後に、ロボットが受信したキャリブレーションポイントに移動した後、次のキャリブレーションポイントの位置を受信するためにこのコマンドを再度送信します。このようにして、キャリブレーションが終了するまで繰り返します。
送信形式
701,キャリブレーションのステータス,フランジ位置姿勢,関節角度
キャリブレーションのステータス
-
0:キャリブレーションプロセスを開始するようMech-Visionに通知します。
-
1:ロボットは前のキャリブレーションポイントに正常に到達しました。
-
2:ロボットは前のキャリブレーションポイントに到達できませんでした。
フランジ位置姿勢
ロボットの現在のフランジ位置姿勢です。
関節角度
ロボットの現在の関節角度(JPS)です。
返されたデータ形式
701,ステータスコード,キャリブレーションのステータス,次のキャリブレーションポイントのフランジ位置姿勢,次のキャリブレーションポイントの関節角度
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 7101 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
キャリブレーションのステータス
-
0:キャリブレーションが実行しています。
-
1:キャリブレーションが完了しました。
次のキャリブレーションポイントのフランジ位置姿勢
ロボットが移動する次のキャリブレーションポイントのフランジ位置姿勢データとなります。
次のキャリブレーションポイントの関節角度
ロボットが移動する次のキャリブレーションポイントの関節角度データとなります。
実行例
-
ロボットが以下のコマンドをビジョンシステムに送信します。0はキャリブレーションプロセスを開始するようMech-Visionに通知することを示し、その後の位置姿勢データはキャリブレーションの初期位置を示します。
701, 0, 1371.62147, 25.6, 1334.3529, 148.58471, -179.24347, 88.75702, 88.86102, -7.11107, -28.82309, -0.44014, -67.6509, 31.4764
ビジョンシステムは以下の結果をロボットに返します。0はキャリブレーション実行中であることを示し、その後の位置姿勢データは次のキャリブレーションポイントの位置を示します。
701, 7101, 0, 1271.6969, -74.3374, 1334.34094, -3128.422, 179.2412, -91.11236, 93.28109, -12.0273, -32.8811, -0.37183, -68.41364, 27.02411
-
ロボットが以下のコマンドをビジョンシステムに送信します。1はロボットが正常にキャリブレーションの初期位置に到達したことを示し、その後の位置姿勢データは前回送信したコマンドによって返された次のキャリブレーションポイントの位置姿勢データとなります。
701, 1, 1271.6969, -74.3374, 1334.34094, -3128422, 1792412, -91.11236, 93.28109, -12.0273, -32.8811, -0.37183, -68.41364, 27.02411
ビジョンシステムは以下の結果をロボットに返します。0はキャリブレーション実行中であることを示し、その後の位置姿勢データは次のキャリブレーションポイントの位置を示します。
701, 7101, 0, 1471.62226, -74.40452, 1334.34235, 148.56924, -179.24432, 88.74148, 92.8367, -2.14999, -24.25433, -0.39222, -67.23261, 27.485225
-
前の手順を数回繰り返し、その後のキャリブレーションポイントを取得します。
-
ビジョンシステムは以下の結果をロボットに返します。1は、キャリブレーションが完了したことを示します。これで、キャリブレーションプロセス全体が終了しました。
701, 7101, 1, 1371.62147, 25.6, 1334.3529, 148.58471, -179.24347, 88.75702, 88.86102, -7.11107, -28.82309, -0.44014, -67.6509, 31.4764
901コマンド——ソフトウエアのステータスを取得
返されたデータ形式
901,ステータスコード
ステータスコード
このコマンドが正常に実行された場合、ステータスコードは 1101 となります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細は 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。