コマンド説明
本節では、MCプロトコルを基づいた標準インターフェースのコマンドについて説明します。
コマンド101——Mech-Visionプロジェクトを起動
このコマンドを実行すると、Mech-Visionプロジェクトが実行され、カメラ撮影とビジョン処理による認識が行われます。Mech-Vizを使用せずMech-Visionを使用する場合に使用します。
送信コマンド
パラメータ | レジスタアドレスのオフセット |
---|---|
コマンド101 |
1 |
Mech-Visionプロジェクト番号 |
4 |
ビジョンポイントの期待数 |
3 |
ロボット位置姿勢のタイプ |
2 |
ロボット位置姿勢 |
6-17(JPs)または18-29(フランジ位置姿勢) |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、 Mech-Vision のプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
ビジョンポイントの期待数
Mech-Visionから取得したいビジョンポイントの数です。ビジョンポイントの情報に、ビジョン位置姿勢およびそれに対応する点群、ラベル、スケーリングの情報が含まれています。
-
0
: Mech-Vision プロジェクトで認識できたすべてのビジョンポイントを取得します。 -
0より大きな整数
: Mech-Vision プロジェクトで認識できた指定数のビジョンポイントを取得します。-
このパラメータの値がビジョンポイントの合計数より大きい場合、認識結果にあるすべてのビジョンポイントを取得します。
-
このパラメータの値が認識されたビジョンポイントの合計数より小さい場合、このパラメータで指定された数のビジョンポイントを取得します。
-
ビジョンポイントを取得するコマンドは102コマンドです。デフォルトの設定環境において、102コマンドで一度に最大20個のビジョンポイントしか取得できないため、必要なビジョンポイントの数が20個より多い場合、102コマンドを繰り返して実行する必要があります。 |
ロボット位置姿勢のタイプ 、 ロボット位置姿勢
-
ロボット位置姿勢のタイプ パラメータは、ロボット実機の位置姿勢を 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プロジェクトで「経路計画」ステップを使用する場合、経路計画の開始位置は、経路計画ツールで設定した初期位置です。 |
コマンド102——ビジョン目標点を取得
コマンド101—— Mech-Vision プロジェクトを起動 の後に使用します。このコマンドは、 Mech-Vision から取得したビジョンポイントを自動的にビジョン目標点に変換するために使用されます。
以下に、ビジョンポイントに含まれる位置姿勢をロボットTCPに変換する処理を示します。
-
ビジョンポイントに含まれる位置姿勢をX軸を中心に180°回転させます。
-
ロボット型番の基準座標系の定義によって、ロボットベースの高さが含まれているかどうかを判断し、それに応じて垂直方向のオフセットを増やします。
デフォルトでは、102コマンドは毎回最大20個までのビジョン目標点を取得することができます。20個以上のビジョン目標点を取得するには、すべてのビジョン目標点を得るまで、102コマンドを繰り返し実行してください。 |
送信コマンド
パラメータ | レジスタアドレスのオフセット |
---|---|
コマンド102 |
1 |
Mech-Visionプロジェクト番号 |
4 |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、 Mech-Vision のプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
返されたデータ
パラメータ | レジスタアドレスのオフセット |
---|---|
ステータスコード |
100 |
データ転送状態 |
101 |
ビジョン目標点の数 |
102 |
予約語 |
/ |
今回取得したすべてのTCP |
104 |
今回取得したすべてのラベル |
584 |
ステータスコード
コマンドが正常に実行された場合、 1100 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
このコマンドを呼び出した後、10秒以内にMech-Visionからのビジョン結果を受信しない場合、タイムアウトを表すエラーコードが返されます。
データ転送状態
このパラメータは、返されたデータは新しいビジョン目標点であるかどうかを表示するために使用されます。
1
:返されたデータが新しいビジョン目標点であることを示し、それを読み取ります。
新しく返されたデータを読み取った後、このパラメータを0にリセットします。 |
ビジョン目標点の数
このコマンドを実行して、取得したビジョン目標点の数です。
-
リクエストしたビジョン目標点の数は Mech-Vision によって認識されたビジョン位置姿勢の数よりも多い場合、 Mech-Vision によって認識されたビジョン位置姿勢の数に従って送信されます。
-
リクエストしたビジョン目標点の数は Mech-Vision によって認識されたビジョンポイントの数よりも少ない場合、リクエストした数に従って送信されます。
予約語
この予約語が使われていないため、初期値は0です。
今回取得したすべてのTCP
1つのTCPには、空間座標 (XYZ) とオイラー角 (ABC) の情報が含まれます。
今回取得したすべてのラベル
位置姿勢に対応する整数のラベルです。Mech-Vision プロジェクトでラベルは文字列タイプであり、出力する前に「ラベルマッピング」ステップを使用してラベルを整数にマッピングする必要があります。プロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
コマンド103——Mech-Visionのパラメータレシピの切り替え
このコマンドは、 Mech-Vision プロジェクトに使われるパラメータレシピを切り替える際に使用されます。 コマンド101—— Mech-Vision プロジェクトを起動 を実行する前に、このコマンドを使用する必要があります。
コマンド105——Mech-Visionの「経路計画」ステップの結果を取得
コマンド101——Mech-Vision プロジェクトを実行 を呼び出した後、このコマンドを使用して Mech-Vision の「経路計画」ステップから出力された衝突ないの把持経路を取得します。
このコマンドを使用する時、Mech-Visionの「出力」ステップの ポートタイプ を「事前定義済み(ロボット経路)」に設定する必要があります。
105コマンドを呼び出す前に、105コマンドの呼び出し回数を減らすように101コマンドの ビジョン目標点の期待数 を0に設定する必要があります。101コマンドの ビジョン目標点の期待数 を1に設定すると、105コマンドの呼び出しごとに1つの経路点のみが返され、105コマンドを複数回呼び出した場合にのみすべての経路点が返されます。 |
送信コマンド
パラメータ | レジスタアドレスのオフセット |
---|---|
コマンド105 |
1 |
Mech-Visionプロジェクト番号 |
4 |
経路点の位置姿勢タイプ |
2 |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、 Mech-Vision のプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
経路点の位置姿勢タイプ
このパラメータは、「経路計画」ステップから返された経路点の位置姿勢タイプを指定するために使用されます。
-
1
:経路点の位置姿勢は、ロボットの関節角度(JPs)の形式で返されます。 -
2
:経路点の位置姿勢は、ロボットのツール位置姿勢(TCP)の形式で返されます。
返されたデータ
パラメータ | レジスタアドレスのオフセット |
---|---|
ステータスコード |
100 |
データ転送状態 |
101 |
経路点の数 |
102 |
「ビジョン処理による移動」の位置 |
103 |
今回送信したすべての経路点の位置姿勢 |
104 |
今回送信したすべての経路点のラベル |
584 |
今回送信したすべての経路点の速度 |
624 |
ステータスコード
コマンドが正常に実行された場合、 1103 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
データ転送状態
このパラメータは、返されたデータは新しい経路点であるかどうかを表示するために使用されます。
1
:返されたデータが新しい経路点であることを示し、それを読み取ります。
新しく返されたデータを読み取った後、このパラメータを0にリセットします。 |
経路点の数
このパラメータは、このコマンドを実行した後に返された経路点の数を表します。範囲は0~20です。20以上の経路点を取得するには、このコマンドを繰り返してください。
「ビジョン処理による移動」の位置
経路計画ツールで設定された「ビジョン処理による移動」の経路点が経路全体における位置です。
例えば、経路計画は「移動_1 -> 移動_2 -> ビジョン処理による移動 -> 移動_3」のステップで構成されている場合、「ビジョン処理による移動」の位置は3です。
「ビジョン処理による移動」がなければ、このパラメータは0です。
今回送信したすべての経路点の位置姿勢
三次元座標とオイラー角、またはJPs関節角度です。位置姿勢の形式は、105コマンドの「経路点の位置姿勢タイプ」で決定されます。
今回送信したすべての経路点のラベル
位置姿勢に対応する整数のラベルです。Mech-Vision プロジェクトでラベルは文字列タイプであり、出力する前に「ラベルマッピング」ステップを使用してラベルを整数にマッピングする必要があります。プロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
今回送信したすべての経路点の速度
経路計画設定ツールで設定された速度値です。
コマンド201——Mech-Vizプロジェクトを起動
このコマンドは、 Mech-Vision と Mech-Viz の両方を使用する場合に使われます。Mech-Viz プロジェクトを実行し、対応す Mech-Vision プロジェクトを呼び出し、ビジョン結果に基づいて経路を計画する時に使用されます。
送信コマンド
パラメータ | レジスタアドレスのオフセット |
---|---|
コマンド201 |
1 |
ロボット位置姿勢のタイプ |
2 |
ロボット位置姿勢 |
6-17(JPs)または18-29(フランジ位置姿勢) |
ロボット位置姿勢のタイプ 、 ロボット位置姿勢
-
ロボット位置姿勢のタイプ パラメータは、ロボット実機の位置姿勢を 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に設定されている理由は以下の通りです。
Eye To Handモードでは、カメラはロボットが画像撮影領域と把持領域に戻る前に撮影し、次回の把持経路を計画することができます。これにより、タクトタイムの向上が可能です。
この時、 ロボット位置姿勢のタイプ が1に設定され、つまり現在の位置姿勢を Mech-Viz に送信すれば、仮想ロボットがロボット実機の経路と一致しない可能性があります。また、未知の衝突が発生する可能性もあります。
仮想ロボットは現在の位置姿勢から Mech-Viz の最初の移動ステップで設定された位置姿勢に移動しますが、ロボット実機は上記の位置姿勢に移動する前に別の位置姿勢に移動する可能性があるということです。
したがって、 ロボット位置姿勢のタイプ パラメータを2に設定する必要があります。
コマンド203——Mech-Viz分岐を選択
Mech-Viz プロジェクトに「メッセージによって異なる分岐を実行」のステップがある場合、このコマンドは Mech-Viz にある「メッセージによって異なる分岐を実行」ステップを指定された出口に沿って実行し続けることを制御します。このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクを起動 を実行してください。 Mech-Viz が「メッセージによって異なる分岐を実行」ステップまで実行されていく時、203コマンドからその分岐の出口が送信されることを待ちます。
コマンド204——移動インデックスを設定
このコマンドはステップのインデックスパラメータを設定する時に使われます。インデックスパラメータが付いたステップは「リストによる移動」、「グリッドによる移動」、「カスタマイズのパレットパターン」、「事前計画したパレットパターン」などです。通常、連続した、あるいは個別に指定された移動などの操作に使用されます。
コマンド205——計画経路を取得
コマンド201——Mech-Viz プロジェクトを起動 を実行した後、このコマンドは Mech-Viz が計画した経路を取得するために使用されます。
初期設定を使用する場合、このコマンドを一回実行すると最大20個の計画された経路点を取得できます。したがって、20以上の経路点を取得するには、このコマンドを繰り返してください。
プロジェクト内の移動ステップの経路点をロボットに送信しない場合は、ステップパラメータで「移動目標点を送信」のチェックを外してください。 |
送信コマンド
パラメータ | レジスタアドレスのオフセット |
---|---|
コマンド205 |
1 |
経路点タイプ |
2 |
経路点タイプ
このパラメータは、 Mech-Viz から返された経路点の位置姿勢タイプを指定するために使用されます。
-
1
:経路点は、ロボットの関節角度(JPs)の形式で返されます。 -
2
:経路点は、ロボットのツール位置姿勢(TCP)の形式で返されます。
返されたデータ
パラメータ | レジスタアドレスのオフセット |
---|---|
ステータスコード |
100 |
データ転送状態 |
101 |
経路点の数 |
102 |
「ビジョン処理による移動」の位置 |
103 |
今回送信したすべての経路点の位置姿勢 |
104 |
今回送信したすべての経路点のラベル |
584 |
今回送信したすべての経路点の速度 |
624 |
ステータスコード
コマンドが正常に実行された場合、 2100 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
このコマンドを呼び出した後、10秒以内にMech-Vizからのビジョン結果を受信しない場合、タイムアウトを表すエラーコードが返されます。 |
データ転送状態
このパラメータは、返されたデータは新しい経路点であるかどうかを表示するために使用されます。
1
:返されたデータが新しいビジョンポイントであることを示し、それを読み取ります。
新しく返されたデータを読み取った後、このパラメータを0にリセットします。 |
経路点の数
このパラメータは、返された経路点の数を表します。範囲は0~20です。 初期設定を使用する場合、このコマンドを一回実行すると最大20個の計画された経路点を取得できます。したがって、20以上の経路点を取得するには、このコマンドを繰り返してください。
「ビジョン処理による移動」の位置
「ビジョン処理による移動」の経路点が経路全体における位置です。
例えば、経路計画は「移動_1 -> 移動_2 -> ビジョン処理による移動 -> 移動_3」のステップで構成されている場合、「ビジョン処理による移動」の位置は3です。
「ビジョン処理による移動」がなければ、このパラメータは0です。
今回送信したすべての経路点の位置姿勢
三次元座標とオイラー角、またはJPs関節角度です。位置姿勢の形式は、205コマンドの「経路点の位置姿勢タイプ」で決定されます。
今回送信したすべての経路点のラベル
位置姿勢に対応する整数のラベルです。Mech-Vision プロジェクトでラベルは文字列タイプであり、出力する前に「ラベルマッピング」ステップを使用してラベルを整数にマッピングする必要があります。プロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
今回送信したすべての経路点の速度
移動ステップパラメータに設定されたゼロでないパーセンテージ値です。
コマンド206——DOリストを取得
このコマンドは、計画されたDOリストを取得するために使用されます。DO信号は、複数のロボットハンドまたは吸盤のパーティションを制御するために使用されます。このコマンドを実行する前に、 コマンド205——経路計画を取得 を実行してください。
プロジェクトの「DOリストを設定」のステップパラメータで以下の設定を行います。
-
「受信者」を「標準インターフェース」に設定します。
-
「ビジョン処理による移動からDOリストを取得」にチェックを入れます。
-
DOリストが必要な「ビジョン処理による移動」ステップを選択します。
返されたデータ
パラメータ | レジスタアドレスのオフセット |
---|---|
ステータスコード |
100 |
DO信号リスト |
664 |
ステータスコード
コマンドが正常に実行された場合、 2102 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
DO信号リスト
このコマンドは64個のDOポート番号を返します。有効なポート番号は0から999の範囲の正の整数で、無効なポート番号は-1(プレースホルダーとして)です。
例えば、下表の場合、返される有効なDOポート番号は1、3、5、6であり、上記ポート番号に対応する値が1に設定されることを意味します。
1 | 3 | 5 | 6 | -1 | -1 | -1 | -1 | … | -1 | -1 |
---|---|---|---|---|---|---|---|---|---|---|
1番目の整数 |
2番目の整数 |
3番目の整数 |
4番目の整数 |
5番目の整数 |
6番目の整数 |
7番目の整数 |
8番目の整数 |
… |
63番目の整数 |
64番目の整数 |
コマンド501——対象物の寸法をMech-Visionに入力
このパラメータは Mech-Vision プロジェクトに、対象物の寸法を動的に送信すること場合に使われます。Mech-Vision プロジェクトを実行する前に対象物の寸法を確認する必要があります。
Mech-Vision プロジェクトに「対象物の寸法を読み込む」ステップがあり、 パラメータから対象物の寸法を読み込む にチェックを入れる必要があります。
コマンド502——Mech-VizへTCPを送信
このコマンドは、 Mech-Viz プロジェクトにロボットTCPを動的に送信するために使用されます。このコマンドは、 コマンド201—— Mech-Viz プロジェクトを起動 を実行する前に実行する必要があります。ロボットTCPを読み取るためのステップは「外部移動」です。
サンプルプロジェクトに基づいて Mech-Viz プロジェクトを設定してください。サンプルプロジェクトは、Mech-Mindソフトウェアシステムのインストールパスにある tool/viz_project/outer_move
フォルダに格納されています。「外部移動」ステップをワークフローの適切な場所に配置します。