PROFINETのコマンド説明
コマンド101——Mech-Visionプロジェクトを起動
このコマンドを実行すると、Mech-Visionプロジェクトが実行され、カメラ撮影とビジョン処理による認識が行われます。Mech-Vizを使用せずMech-Visionを使用する場合に使用します。
送信コマンド
パラメータ | 説明 |
---|---|
Command |
101 |
Vision_Proj_Num |
Mech-Visionプロジェクト番号 |
Req_Pose_Num |
ビジョンポイントの期待数 |
Robot_Pose_Type |
ロボット位置姿勢のタイプ |
Robot_Pose_JPS / Robot_Pose_TCP |
ロボット関節角度/フランジ位置姿勢 |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、 Mech-Vision のプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
ビジョンポイントの期待数
Mech-Visionから取得するビジョンポイントの数です。ビジョンポイントには、ビジョン位置姿勢およびそれに対応する点群、ラベル、スケーリングの情報が含まれています。
-
0
: Mech-Vision プロジェクトで認識できたすべてのビジョンポイントを取得します。 -
0より大きな整数
: Mech-Vision プロジェクトで認識できた指定数のビジョンポイントを取得します。-
このパラメータの値がビジョンポイントの合計数より大きい場合、認識結果にあるすべてのビジョンポイントを取得します。
-
このパラメータの値がビジョンポイントの合計数より小さい場合、このパラメータで指定された数のビジョンポイントを取得します。
-
ロボット位置姿勢のタイプ 、 ロボットの関節角度/フランジ位置姿勢
-
ロボット位置姿勢のタイプ パラメータは、ロボット実機の位置姿勢をMech-Visionに送信するタイプを設定します。パラメータ範囲は0~3です。
-
ロボットの関節角度/フランジ位置姿勢 のパラメータ値は、 ロボット位置姿勢のタイプ のパラメータ値によって決定されます。
Robot_Pose_Type、Robot_Pose_JPSとRobot_Pose_TCPの説明とパラメータ値についての詳細は下表に示します。
Robot_Pose_Type | Robot_Pose_JPS | Robot_Pose_TCP | 説明 | 適用シーン |
---|---|---|---|---|
0 |
0, 0, 0, 0, 0, 0 |
0, 0, 0, 0, 0, 0 |
ロボットの位置姿勢をMech-Visionに送信する必要がありません |
カメラがEye to Hand方式で取り付けられている場合。Mech-Visionプロジェクトで「経路計画」ステップを使用する場合、経路計画の開始位置は、経路計画ツールで設定した初期位置です。 |
1 |
ロボットの現在の関節角度 |
ロボットの現在のフランジ位置姿勢 |
ロボットの現在の関節角度とフランジ位置姿勢をMech-Visionに送信する必要があります |
カメラがEye in Hand方式で取り付けられている場合、直行ロボット以外のほとんどのロボットで利用可能です。 |
2 |
0, 0, 0, 0, 0, 0 |
ロボットの現在のフランジ位置姿勢 |
ロボットの現在のフランジ位置姿勢をMech-Visionに送信する必要があります |
カメラがEye in Hand方式で取り付けられている場合。ロボットは関節角度のデータがなく、フランジ位置姿勢データのみがあります(直行ロボットなど)。 |
3 |
経路計画の開始位置におけるロボットの関節角度 |
0, 0, 0, 0, 0, 0 |
経路計画の開始位置におけるロボットの関節角度をMech-Visionに送信する必要があります |
プロジェクトは、Eye To Handモードです。Mech-Visionプロジェクトで「経路計画」ステップを使用する場合、経路計画の開始位置は、経路計画ツールで設定した初期位置です。 |
関節角度とフランジ位置姿勢の浮動小数点数のデータを10000倍して、Robot_Pose_JPSまたはRobot_Pose_TCPモジュールに設定する必要があります。 |
コマンド102——ビジョン目標点を取得
コマンド101——Mech-Visionプロジェクトを起動 の後に使用します。このコマンドは、Mech-Visionから取得したビジョンポイントを自動的にビジョン目標点に変換するために使用されます。
以下に、ビジョンポイントに含まれる位置姿勢をロボットTCPに変換する処理を示します。
-
ビジョンポイントに含まれる位置姿勢をX軸を中心に180°回転させます。
-
対応するロボット型番の基準座標系定義にロボットベースの高さが含まれているかどうかを認識し、それに応じて垂直方向のオフセットを増やします。
デフォルトでは、102コマンドは毎回最大20個までのビジョン目標点を取得することができます。20個以上のビジョン目標点を取得するには、すべてのビジョン目標点を得るまで、102コマンドを繰り返し実行してください。 |
送信コマンド
パラメータ | 説明 |
---|---|
Command |
102 |
Vision_Proj_Num |
Mech-Visionプロジェクト番号 |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、 Mech-Vision のプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
返されたデータ
パラメータ | 説明 |
---|---|
Status Code |
ステータスコード |
Send_Pose_Num |
ビジョン目標点の数 |
Send_Pose_Type |
位置姿勢のタイプ |
Target_Pose |
今回取得したすべてのTCP |
Target_Label |
今回取得したすべてのラベル |
ステータスコード
コマンドが正常に実行された場合、 1100 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
このコマンドを呼び出した後、10秒以内にMech-Visionからのビジョン結果を受信しない場合、タイムアウトを表すエラーコードが返されます。
ビジョン目標点の数
このコマンドを実行して、取得したビジョン目標点の数です。
位置姿勢のタイプ
このパラメータは、Mech-Visionから返されたビジョンポイント内の対象物の位置姿勢を、対応するTCPに自動的に変換します。
このパラメータの初期値は2であり、位置姿勢のタイプがTCPであることを表します。
今回取得したすべてのTCP
1つのTCPには、姿勢座標 (XYZ) と方向オイラー角 (ABC) の情報が含まれます。
今回取得したすべてのラベル
位置姿勢に対応する整数のラベルです。Mech-Vision プロジェクトでラベルは文字列タイプであり、出力する前に「ラベルマッピング」ステップを使用してラベルを整数にマッピングする必要があります。プロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
詳細については、 通信制御プロセス をご参照ください。Data_Ready、Data_Acknowledge、Command_Complete信号を用いて、プロセスのコントロールを行います。 |
コマンド103——Mech-Visionのパラメータレシピの切り替え
Mech-Visionプロジェクトにパラメータレシピを切り替えます。
パラメータレシピを切り替えることで、Mech-Visionプロジェクトの各ステップのパラメータを変更することができます。
パラメータレシピには点群マッチングモデル、画像マッチングテンプレート、ROI、信頼度のしきい値などのパラメータの設定が含まれています。
コマンド101——Mech-Visionプロジェクトを起動 を実行する前に、このコマンドを使用する必要があります。 |
送信コマンド
パラメータ | 説明 |
---|---|
Command |
103 |
Vision_Proj_Num |
Mech-Visionプロジェクト番号 |
Vision_Recipe_Num |
Mech-Visionレシピ番号 |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
Mech-Visionレシピ番号
Mech-Visionプロジェクト内のパラメータレシピの番号であり、正の整数です。番号の有効範囲は1~99です。Mech-Vision画面の右下隅にある
をクリックして、パラメータレシピエディタに入ります。コマンド105——Mech-Visionの「経路計画」ステップの結果を取得
101コマンドを呼び出した後、このコマンドを使用してMech-Visionの「経路計画」ステップから出力された衝突ないの把持経路を取得します。
このコマンドを使用する時、Mech-Visionの「出力」ステップの ポートタイプ を「事前定義済み(ロボット経路)」に設定する必要があります。
105コマンドを呼び出す前に、105コマンドの呼び出し回数を減らすように101コマンドの ビジョン目標点の期待数 を0に設定する必要があります。101コマンドの ビジョン目標点の期待数 を1に設定すると、105コマンドの呼び出しごとに1つの経路点のみが返され、105コマンドを複数回呼び出した場合にのみすべての経路点が返されます。 |
送信コマンド
パラメータ | 説明 |
---|---|
Command |
105 |
Vision_Proj_Num |
Mech-Visionプロジェクト番号 |
Req_Pose_Type |
経路点の位置姿勢タイプ |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、 Mech-Vision のプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
経路点の位置姿勢タイプ
このパラメータは、「経路計画」ステップから返された経路点の位置姿勢タイプを指定するために使用されます。
-
1
:経路点の位置姿勢は、ロボットの関節角度(JPs)の形式で返されます。 -
2
:経路点の位置姿勢は、ロボットのツール位置姿勢(TCP)の形式で返されます。
返されたデータ
パラメータ | 説明 |
---|---|
Status Code |
ステータスコード |
Send_Pose_Num |
経路点の数 |
Send_Pose_Type |
位置姿勢のタイプ |
Visual_Point_Index |
「ビジョン処理による移動」の位置 |
Target_Pose |
今回送信したすべての経路点の位置姿勢 |
Target_Label |
今回送信したすべての経路点のラベル |
Target_Tool_ID |
今回送信したすべての経路点のツールID |
ステータスコード
コマンドが正常に実行された場合、 1103 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
経路点の数
このパラメータは、このコマンドを実行した後に返された経路点の数を表します。範囲は0~20です。20以上の経路点を取得するには、このコマンドを繰り返してください。
位置姿勢のタイプ
このコマンドで送信される「Req_Pose_Type」の値が同じです。
-
1
: JPs -
2
: TCP
「ビジョン処理による移動」の位置
経路計画ツールで設定された「ビジョン処理による移動」の経路点が経路全体における位置です。
例えば、計画された経路が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」で構成されている場合、「ビジョン処理による移動」の位置番号は3になります。
「ビジョン処理による移動」がなければ、このパラメータは0です。
今回送信したすべての経路点の位置姿勢
三次元座標とオイラー角、またはJPs関節角度です。位置姿勢の形式は、105コマンドの「経路点の位置姿勢タイプ」で決定されます。
今回送信したすべての経路点のラベル
位置姿勢に対応する整数のラベルです。Mech-Vision プロジェクトでラベルは文字列タイプであり、出力する前に「ラベルマッピング」ステップを使用してラベルを整数にマッピングする必要があります。プロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
今回送信したすべての経路点のツールID
経路計画設定ツールで設定されたツールIDです。
コマンド201——Mech-Vizプロジェクトを起動
このコマンドは、Mech-VisionとMech-Vizの両方を使用する場合に使われます。Mech-Vizプロジェクトを開始し、対応するMech-Visionプロジェクトを呼び出し、Mech-VizがMech-Visionのビジョン結果に基づいてロボットの動作経路を計画する時に使用されます。
Mech-Vizのリソースパネルでプロジェクトを右クリックし、 自動的に読み込む にチェックを入れます。 |
送信コマンド
パラメータ | 説明 |
---|---|
Command |
201 |
Robot_Pose_Type |
ロボット位置姿勢のタイプ |
Robot_Pose_JPS / Robot_Pose_TCP |
ロボット関節角度/フランジ位置姿勢 |
ロボット位置姿勢のタイプ 、 ロボットの関節角度/フランジ位置姿勢
-
ロボット位置姿勢のタイプ パラメータは、ロボット実機の位置姿勢をMech-Vizに送信するタイプを設定します。パラメータ範囲は0~2です。
-
ロボットの関節角度/フランジ位置姿勢 のパラメータ値は、 ロボット位置姿勢のタイプ のパラメータ値によって決定されます。
Robot_Pose_Type、Robot_Pose_JPSとRobot_Pose_TCPの説明とパラメータ値についての詳細は下表に示します。
Robot_Pose_Type | Robot_Pose_JPS | Robot_Pose_TCP | 説明 | 適用シーン |
---|---|---|---|---|
0 |
0, 0, 0, 0, 0, 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 |
ロボット側でカスタマイズされた関節角度 |
0, 0, 0, 0, 0, 0 |
ロボットのティーチポイント(現在の関節角度ではない)をMech-Vizに送信する必要があります。これは、ロボットが画像撮影領域の外にいるとき(下図に示す)、Mech-Vizプロジェクトが次回の経路を事前に計画することをトリガーするために使用されます。Mech-Vizでの仮想ロボットは受信されたティーチポイントから最初の経路点に移動します。 |
カメラがEye to Hand方式で取り付けられている場合、この設定は推奨します。 |
カメラがEye to Hand方式で取り付けられている場合、Robot_Pose_Type を2に設定する理由は次の通りです。
Eye To Handモードでは、カメラはロボットが画像撮影領域と把持領域に戻る前に撮影し、次回の把持経路を計画することができます。これにより、タクトタクトの向上が可能です。
この場合で Robot_Pose_Type を1に設定すると、つまり、ロボットの現在の位置姿勢をMech-Vizの仮想ロボットに送信すると、仮想ロボットとロボット実機の経路が一致しないため予測できない衝突を起こす可能性があります。
仮想ロボットは現在の位置姿勢からMech-Vizで設定された最初の移動ステップの位置姿勢に移動しますが、ロボット実機は上記の位置姿勢に移動する前に別の位置姿勢に移動する可能性があります。
したがって、 Robot_Pose_Type パラメータを2に設定する必要があります。
コマンド203——Mech-Viz分岐を選択
Mech-Vizプロジェクトに「メッセージによって異なる分岐を実行」ステップがある場合、このコマンドはMech-Vizにある「メッセージによって異なる分岐を実行」ステップを指定された出口に沿って実行し続けることを制御します。
このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクトを起動 を実行してください。
Mech-Vizプロジェクトが「メッセージによって異なる分岐を実行」に実行すると、このコマンドによって出口を指定するのを待ちます。
コマンド204——移動インデックスを設定
このコマンドはMech-Vizステップの 現在のインデックス パラメータを設定する場合に使われます。このパラメータが設定可能なステップは「リストによる移動」、「グリッドによる移動」、「カスタマイズのパレットパターン」、「事前計画パレットパターン」などです。
このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクトを起動 を実行してください。
送信コマンド
パラメータ | 説明 |
---|---|
Command |
204 |
Viz_Task_ID |
ステップID |
Viz_Task_Value |
インデックス值 |
ステップID
このパラメータはどのステップがインデックスを設定する必要かを指定します。
このパラメータ、つまり、インデックス付きのステップのステップIDは正の整数である必要があります。ステップIDは、ステップパラメータで読み取りを行います。
インデックス值
次にこのステップが実行されたときに設定されるべき 現在のインデックス の値です。
このコマンドを送信すると、Mech-Vizの 現在のインデックス 値がこのパラメータの値から1を引いた値に変更されます。
このコマンドで指定したステップに Mech-Viz プロジェクトが実行されると、 Mech-Viz の 現在のインデックス の値が、このパラメータの値まで1つずつ増加します。
コマンド205——計画経路を取得
コマンド201——Mech-Vizプロジェクトを起動 を実行した後、このコマンドはMech-Vizが計画した経路を取得するために使用されます。
初期設定を使用する場合、このコマンドを一回実行すると最大20個の計画された経路点を取得できます。したがって、20以上の経路点を取得するには、このコマンドを繰り返してください。
プロジェクト内の移動ステップの経路点をロボットに送信しない場合は、ステップパラメータで「移動目標点を送信」のチェックを外してください。 |
送信コマンド
パラメータ | 説明 |
---|---|
Command |
205 |
Req_Pose_Type |
経路点タイプ |
経路点タイプ
このパラメータはMech-Vizからどのような形式で経路点を返すかを指定します。
-
1
:経路点は、ロボットの関節角度(JPs)の形式で返されます。 -
2
:経路点は、ロボットのツール位置姿勢(TCP)の形式で返されます。
返されたデータ
パラメータ | 説明 |
---|---|
Status Code |
ステータスコード |
Send_Pose_Num |
経路点の数 |
Send_Pose_Type |
位置姿勢のタイプ |
Visual_Point_Index |
「ビジョン処理による移動」の位置 |
Target_Pose |
今回送信したすべての経路点の位置姿勢 |
Target_Label |
今回送信したすべての経路点のラベル |
Target_Tool_ID |
今回送信したすべての経路点のツールID |
ステータスコード
コマンドが正常に実行された場合、 2100 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
このコマンドを実行する時、Mech-Vizから結果が返されていない場合(まだ実行中)、ビジョンシステムはMech-Vizからの結果を待って、それをロボットに送信します。デフォルトの場合、タイムアウト時間は10秒であり、待ち時間が超えるとタイムアウトエラーをロボットに返します。 |
経路点の数
このパラメータは、返された経路点の数を表します。範囲は0~20です。 初期設定を使用する場合、このコマンドを一回実行すると最大20個の計画された経路点を取得できます。したがって、20以上の経路点を取得するには、このコマンドを繰り返してください。
位置姿勢のタイプ
このコマンドで送信される「Req_Pose_Type」の値が同じです。
-
1
: JPs -
2
: TCP
「ビジョン処理による移動」の位置
「ビジョン処理による移動」の経路点が経路全体における位置です。
例えば、計画された経路が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」で構成されている場合、「ビジョン処理による移動」の位置番号は3になります。
「ビジョン処理による移動」がなければ、このパラメータは0です。
今回送信したすべての経路点の位置姿勢
三次元座標とオイラー角、またはJPs関節角度です。位置姿勢の形式は、205コマンドの「経路点の位置姿勢タイプ」で決定されます。
今回送信したすべての経路点のラベル
位置姿勢に対応する整数のラベルです。Mech-Visionプロジェクトでラベルは文字列タイプであり、出力する前に「ラベルマッピング」ステップを使用してラベルを整数にマッピングする必要があります。プロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
今回送信したすべての経路点のツールID
Mech-Vizプロジェクトで設定されたツールIDです。
詳細については、通信制御プロセス をご参照ください。Data_Ready、Data_Acknowledge、Command_Complete信号を用いて、プロセスのコントロールを行います。 |
コマンド206——DOリストを取得
このコマンドは、計画されたDOリストを取得するために使用されます。DO信号は、複数のロボットハンドまたは吸盤のパーティションを制御するために使用されます。
このコマンドを実行する前に、 コマンド205 を実行してMech-Vizの計画経路を取得する必要があります。
サンプルプロジェクトに基づいてMech-Vizプロジェクトを設定し、プロジェクトに使用される吸盤設定ファイルを設定してください。サンプルプロジェクトは、Mech-Mindソフトウェアシステムのインストールディレクトリ Communication Component\tool\viz_project\suction_zone
に格納されています。
Mech-Vizプロジェクトの「DOリストを設定」のステップパラメータで以下の設定を行います。
-
「受信者」を「標準インターフェース」に設定します。
-
「ビジョン処理による移動からDOリストを取得」にチェックを入れます。
-
DOリストが必要な「ビジョン処理による移動」ステップを選択します。
返されたデータ
パラメータ | 説明 |
---|---|
Status Code |
ステータスコード |
DO List |
Mech-Vizから返されたDO信号 |
ステータスコード
コマンドが正常に実行された場合、 2102 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
Mech-Vizから返されたDO信号
DO_LISTは8つの(0~7)バイトで構成され、各バイトは8ビット(0~7)で構成されます。したがって、DO_LISTの0~63ビットはそれぞれ0~63個のDO信号に対応します。たとえば、DO Listの第0ビットはDO 0信号を表し、そのビットの値がTrueの場合、そのDO信号が有効であることを示し、Falseの場合は無効であることを示します。
コマンド501——対象物の寸法をMech-Visionに入力
このパラメータはMech-Visionプロジェクトに、対象物の寸法を動的に送信すること場合に使われます。Mech-Visionプロジェクトを実行する前に対象物の寸法を確認する必要があります。
Mech-Vision プロジェクトに「対象物の寸法を読み込む」ステップがあり、 パラメータから対象物の寸法を読み込む にチェックを入れる必要があります。