コマンド説明
コマンド101——Mech-Visionプロジェクトを起動
このコマンドを実行すると、Mech-Visionプロジェクトが実行され、カメラ撮影とビジョン処理による認識が行われます。Mech-Vizを使用せずMech-Visionを使用する場合に使用します。
入力パラメータ
パラメータ | 説明 |
---|---|
Vision_Proj_Num |
Mech-Visionプロジェクト番号 |
Req_Pose_Num |
ビジョンポイントの期待数 |
Robot_Pose_Type |
ロボット位置姿勢のタイプ |
Robot_Pose |
ロボット位置姿勢 |
Start_Vision |
トリガー信号 |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
ビジョンポイントの期待数
Mech-Visionから取得したいビジョンポイントの数です。ビジョンポイントの情報に、ビジョン位置姿勢およびそれに対応する点群、ラベル、スケーリングの情報が含まれています。
-
0
:Mech-Visionプロジェクトで認識できたすべてのビジョンポイントを取得します。 -
0より大きな整数
:Mech-Visionプロジェクトで認識できた指定数のビジョンポイントを取得します。-
このパラメータの値がビジョンポイントの合計数より大きい場合、認識結果にあるすべてのビジョンポイントを取得します。
-
このパラメータの値がビジョンポイントの合計数より小さい場合、このパラメータで指定された数のビジョンポイントを取得します。
-
ビジョンポイントを取得するコマンドは102コマンドです。デフォルトの設定環境において、コマンド102の1回の実行で最大20のビジョンポイントを取得することができます。20ビジョンポイント以上取得する必要がある場合は、コマンド102を繰り返し実行してください。 |
ロボット位置姿勢のタイプ 、 ロボット位置姿勢
-
Robot_Pose_Type:ロボットの位置姿勢形式で、ロボット実機の位置姿勢をMech-Visionに送信する形式を指定します。範囲は0~3です。
-
Robot_Pose:ロボットの位置姿勢で、この値はRobot_Pose_Typeのパラメータ値によって異なります。データ型は2次元配列Array[0..1, 0..5] of DIntです。Array[0]はロボットの現在の関節角度、Array[1]はロボットの現在のフランジ位置姿勢となります。
Robot_Pose_TypeとRobot_Poseパラメータ値の関係と説明は以下の通りです。
Robot_Pose_Type パラメータ値 | Robot_Pose パラメータ値 | 説明 | 適用シーン |
---|---|---|---|
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プロジェクトに「経路計画」ステップがあり、ロボット側から「経路計画」ステップの開始位置を設定する必要があります。 |
JPSとフランジ位置姿勢の浮動小数点数型データを、10000倍して32ビットの符号付整数に変換し、Robot_Pose配列に設定します。 |
トリガー信号
Mech-Visionプロジェクトを実行し、立ち上がりエッジが持つと有効になります。
コマンド102——ビジョン目標点を取得
コマンド101——Mech-Visionプロジェクトを実行 の後に使用されます。Mech-Visionの認識結果(ビジョンポイント)に対応するロボット位置姿勢とラベルを取得します。ロボットの位置姿勢はツール位置姿勢(TCP)の形式です。
Mech-Centerは、ビジョンポイントを対応するロボットTCPに自動的に変換します。変換過程は次の通りです。
-
ビジョンポイントに含まれる位置姿勢をX軸を中心に180°回転させます。
-
対応するロボット型番の基準座標系定義にロボットベースの高さが含まれているかどうかを認識し、それに応じて垂直方向のオフセットを増やします。
102コマンドは毎回最大20個までのTCP を取得することができます。20個以上のTCPを取得したい場合、すべてのTCPを得るまで、102コマンドを繰り返し実行してください。 |
入力パラメータ
パラメータ | 説明 |
---|---|
Vision_Proj_Num |
Mech-Visionプロジェクト番号 |
Get_VisData |
コマンドトリガー信号 |
Data_Ready |
データ読み取り可能な信号 |
Send_Pose_Num |
TCP数 |
Start_Empty |
データ削除トリガー信号 |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
コマンドトリガー信号
この信号は、このコマンドのトリガーとなり、立ち上がりエッジを持つと有効になります。
データ読み取り可能な信号
この信号は、位置姿勢データが読み取れることを示すもので、複数のロボット位置姿勢データを受信する場合にのみ使用されます。
TCP数
このコマンドを実行して、取得したTCPの数です。
データ削除トリガー信号
取得したTCPとラベルデータをクリアするための信号で、設定すると有効になります。
出力パラメータ
パラメータ | 説明 |
---|---|
Target_Pose |
今回取得したすべてのTCP |
Target_Label |
今回取得したすべてのラベル |
今回取得したすべてのTCP
1つのTCPには、姿勢座標 (XYZ) と方向オイラー角 (ABC) の情報が含まれます。
今回取得したすべてのラベル
位置姿勢に対応する整数のラベルです。Mech-Vision プロジェクトでラベルは文字列タイプであり、出力する前に「ラベルマッピング」ステップを使用してラベルを整数にマッピングする必要があります。プロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
コマンド103——Mech-Visionのパラメータレシピの切り替え
Mech-Visionプロジェクトにパラメータレシピを切り替えます。
パラメータレシピを切り替えることで、Mech-Visionプロジェクトの各ステップのパラメータを変更することができます。
パラメータレシピには点群マッチングモデル、画像マッチングテンプレート、ROI、信頼度のしきい値などのパラメータの設定が含まれています。
コマンド101——Mech-Visionプロジェクトを実行 を実行する前に、このコマンドを実行する必要があります。 |
入力パラメータ
パラメータ | 説明 |
---|---|
Vision_Proj_Num |
Mech-Visionプロジェクト番号 |
Vision_Recipe_Num |
Mech-Visionレシピ番号 |
Switch_Recipe |
トリガー信号 |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
Mech-Visionレシピ番号
Mech-Visionプロジェクト内のテンプレートレシピの番号であり、正の整数です。
をクリックして、パラメータレシピを変更することができます。トリガー信号
Mech-Visionプロジェクトのレシピを切り替えるために使用され、立ち上がりエッジを持つと有効になります。
コマンド105——Mech-Visionの「経路計画」ステップの結果を取得
101コマンドを呼び出した後、このコマンドを使用してMech-Visionの「経路計画」ステップから出力された衝突ないの把持経路を取得します。
このコマンドを使用する時、Mech-Visionの「出力」ステップの ポートタイプ を「事前定義済み(ロボット経路)」に設定する必要があります。
コマンド101の Req_Pose_Num を必ず0に設定してからこのコマンドを呼び出すと、コマンドの呼び出し回数が減ります。コマンド101の Req_Pose_Num を1に設定すると、このコマンドの呼び出しごとに1つの経路点のみが返され、このコマンドを複数回呼び出した場合のみすべての経路点が返されます。 |
入力パラメータ
-
Vision_Proj_Num:Mech-Visionプロジェクト番号は、Mech-Visionプロジェクトリストで確認できます。プロジェクト前の数字はプロジェクト番号を表します。
-
Request_Pose_Type:「経路計画」ステップから返された経路点のタイプを指定するために使用されます。
-
1
:経路点は、ロボットの関節角度(JPs)の形式で返されます。 -
2
:経路点は、ロボットのツール位置姿勢(TCP)の形式で返されます。
-
-
Get_VisData:Mech-Visionの「経路計画」ステップの結果を取得します。
-
Data_Ready:複数グループのロボット位置姿勢の受信専用で、位置姿勢が読み取れることを示す信号です。
-
Send_Pose_Num:送信された位置姿勢の数であり、すなわちビジョンから返された認識結果の数で、範囲は[0,20] です。
-
Start_Empty:取得した全てのCamera_User.Target_Pose、Camera_User.Target_LabelとCamera_User.Speed_Percentageデータが削除され、設定が有効になります。
出力パラメータ
-
Target_Pose:経路点のTCPであり、データ型はArray[0..19, 0..5] of DIntです。この配列データを10000で割って使用する必要があります。
-
Target_Label:Mech-Visionで認識される対象物のラベル情報であり、データ型はArray[0..19] of UDIntです。返されるラベルの値は整数です。
-
Target_Speed:経路計画設定ツールでこの移動ステップが設定されている速度パラメータです。範囲は[1-100]です。
コマンド201——Mech-Vizプロジェクトを起動
このコマンドは、Mech-VisionとMech-Vizの両方を使用する場合に使われます。Mech-Vizプロジェクトを開始し、対応するMech-Visionプロジェクトを呼び出し、Mech-VizがMech-Visionのビジョン結果に基づいてロボットの動作経路を計画する時に使用されます。
Mech-Vizでは、 自動的に読み込む にチェックを入れる必要があります。
Mech-Mindソフトウェアシステムのインストールディレクトリ(Mech-Center/tool/viz_project)フォルダには、サンプルプロジェクトがあり、それら基づいて修正することが可能です。
標準インターフェースに使用されるMech-Vizサンプルプロジェクトの詳細な説明については、標準インターフェースのサンプルプロジェクトをご参照ください。
入力パラメータ
パラメータ | 説明 |
---|---|
Robot_Pose_Type |
ロボット位置姿勢のタイプ |
Robot_Pose |
ロボット位置姿勢 |
Start_Viz |
トリガー信号 |
ロボット位置姿勢のタイプ 、 ロボット位置姿勢
-
Robot_Pose_Type:ロボットの位置姿勢形式で、ロボット実機の位置姿勢をMech-Vizに送信する形式を指定します。範囲は0~2です。
-
Robot_Pose:ロボットの位置姿勢で、この値はRobot_Pose_Typeのパラメータ値によって異なります。データ型は2次元配列Array[0..1, 0..5] of DIntです。Array[0]はロボットの現在の関節角度、Array[1]はロボットの現在のフランジ位置姿勢となります。
Robot_Pose_TypeとRobot_Poseパラメータ値の関係と説明は以下の通りです。
Robot_Pose_Type パラメータ値 | Robot_Pose パラメータ値 | 説明 | 適用シーン |
---|---|---|---|
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モードでは Robot_Pose_Type を2に設定する理由は以下の通りです。
Eye To Handモードでは、カメラはロボットが画像撮影領域と把持領域に戻る前に撮影し、次回の把持経路を計画することができます。これにより、タクトタイムの向上が可能です。 この場合、 Robot_Pose_Type を1に設定すると、ロボットの現在の位置姿勢がMech-Vizの仮想ロボットに送信され、仮想ロボットとロボット実機の経路が予測不可能な衝突を起こす可能性があります。 仮想ロボットは現在の位置姿勢からMech-Vizでの最初の移動ステップで設定された位置姿勢に移動しますが、ロボット実機は上記の位置姿勢に移動する前に別の位置姿勢に移動する可能性があるということです。 したがって、 Robot_Pose_Type パラメータを2に設定する必要があります。 |
JPSとフランジ位置姿勢の浮動小数点数型データを、10000倍して32ビットの符号付整数に変換し、Robot_Pose配列に設定します。 |
トリガー信号
Mech-Vizプロジェクトを実行し、立ち上がりエッジが持つと有効になります。
コマンド202—— Mech-Vizプロジェクを停止
コマンド203——Mech-Viz分岐を選択
このコマンドは、Mech-Vizプロジェクトの分岐を指定する場合に使われます。分岐メカニズムは「メッセージによって異なる分岐を実行」によって作成されたら、このコマンドがステップの出口を指定することで実現します。
このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクを起動 を実行してください。
Mech-Vizプロジェクトが「メッセージによって異なる分岐を実行」に実行すると、このコマンドによって出口を指定するのを待ちます。
入力パラメータ
パラメータ | 説明 |
---|---|
Branch_Name |
分岐ステップID |
Branch_Exit_Port |
出口番号 |
Set_Branch |
トリガー信号 |
分岐ステップID
このパラメータは、分岐選択が行われる「メッセージによって異なる分岐を実行」を指定するために使用されます。
このパラメータ、つまり、「メッセージによって異なる分岐を実行」のステップIDは正の整数である必要があります。ステップIDは、ステップパラメータで読み取りを行います。
出口番号
このパラメータは、プロジェクトが「メッセージによって異なる分岐を実行」ステップに沿って実行される出口を指定します。Mech-Vizプロジェクトはこの出口に従って実行し続けます。パラメータの値は正の整数です。
- NOTE
-
-
分岐の出口番号はMech-Vizで表される出口番号 + 1になります。例えば、番号が0の場合、出口番号は1です。
-
出口番号は、1 から始まる出口のインデックス番号です。たとえば、指定された出口が左から右に2番目の出口である場合、番号は2です。
-
トリガー信号
設定のトリガーに使用され、立ち上がりエッジを持つと有効になります。
コマンド204——移動インデックスを設定
このコマンドはMech-Vizステップの 現在のインデックス パラメータを設定する場合に使われます。このパラメータが設定可能なステップは「リストによる移動」、「グリッドによる移動」、「カスタマイズのパレットパターン」、「事前計画パレットパターン」などです。
このコマンドを実行する前に、 コマンド201——Mech-Vizプロジェクを起動 を実行してください。
入力パラメータ
パラメータ | 説明 |
---|---|
Index_Name |
ステップID |
Index_Counter |
インデックス值 |
Set_Index |
トリガー信号 |
ステップID
このパラメータはどのステップがインデックスを設定する必要かを指定します。
このパラメータ、つまり、インデックス付きのステップのステップIDは正の整数である必要があります。ステップIDは、ステップパラメータで読み取りを行います。
インデックス值
このステップの次の実行に変更されるべきインデックス値です。
このコマンドを送信すると、Mech-Vizの現在のインデックス値がこのパラメータの値から1を引いた値に変更されます。
Mech-Vizの現在のインデックス値は、Mech-Vizプロジェクトがこのコマンドで指定したステップまで実行されたときにのみ、1を加算して、このパラメータ値に変更されます。
トリガー信号
インデックス値の設定をトリガーするために使用され、立ち上がりエッジを持つと有効になります。
コマンド205——Mech-Vizの計画経路を取得
このコマンドはMech-Vizから計画した経路を取得するために使用されます。コマンド201——Mech-Vizプロジェクトを起動 を実行してから、このコマンドを用いて計画経路を取得します。
プロジェクト内の移動ステップの目標点をロボットに送信しない場合は、ステップパラメータで「移動目標点を送信」のチェックを外してください。 |
デフォルトの設定環境において、このコマンドで一度に最大20個の経路点しか取得できないため、必要な経路点の数が20個より多い場合、このコマンド繰り返して実行する必要があります。 |
入力パラメータ
パラメータ | 説明 |
---|---|
Req_Pose_Type |
目標点タイプ |
Get_VizData |
トリガー信号 |
Data_Ready |
データ読み取り可能な表示信号 |
Send_Pose_Num |
送信した位置姿勢の数 |
Start_Empty |
データ削除トリガー信号 |
目標点タイプ
このパラメータはMech-Vizからどのような形式で目標点を返すかを指定します。
-
1
:目標点は、ロボットの関節角度(JPs)の形式で返されます。 -
2
:目標点は、ロボットのツール位置姿勢(TCP)の形式で返されます。
トリガー信号
Mech-Vizプロジェクトによって計画した経路を取得するために使用され、立ち上がりエッジを持つと有効になります。
データ読み取り可能な表示信号
この信号は、位置姿勢データが読み取れることを示すもので、複数のロボット位置姿勢データを受信する場合にのみ使用されます。
送信した位置姿勢の数
このパラメータは今回このコマンドを実行して、返された経路にある目標点の数を表します([位置姿勢、ラベル、速度(%)])。
デフォルトの設定環境において、経路に20以上の目標点が含まれている場合、このコマンドを複数回実行してください。
デフォルトの範囲は0~20です。
データ削除トリガー信号
取得された全てのTarget_Pose、Target_LabelとSpeed_Percentageデータが削除されます。設定すると有効になります。
出力パラメータ
パラメータ | 説明 |
---|---|
Target_Pose |
今回送信したすべての目標点の位置姿勢 |
Target_Label |
今回送信したすべての目標点のラベル |
Target_Speed |
今回送信したすべての目標点の速度 |
今回送信したすべての目標点の位置姿勢
三次元座標とオイラー角、またはJPs関節角度です。位置姿勢の形式は、205コマンドの「経路点の位置姿勢タイプ」で決定されます。
今回送信したすべての目標点のラベル
位置姿勢に対応する整数のラベルです。Mech-Visionプロジェクトでラベルは文字列タイプであり、出力する前に「ラベルマッピング」ステップを使用してラベルを整数にマッピングする必要があります。
プロジェクトにラベルが含まれていない場合、このパラメータの初期値は0です。
今回送信したすべての目標点の速度
移動ステップパラメータに設定されたゼロでないパーセンテージ値です。
位置姿勢の送受信について、通信制御プロセをご参照ください。Data_Ready、Data_Acknowledge、Command_Complete信号を用いて、プロセスのコントロールを行います。 |
グローバルラベルFromCameraの返されたデータ
FromCamera.STATUS_CODE:ステータスコード
コマンドが正常に実行された場合、 2100 のステータスコードが返されます。エラーが発生した場合、エラーを表すエラーコードが返されます。
このコマンドを実行する時、Mech-Vizから結果が返されていない場合(まだ実行中)、Mech-CenterはMech-Vizからの結果を待って、それをロボットに送信します。デフォルトの場合、タイムアウト時間は10秒であり、待ち時間が超えるとタイムアウトエラーをロボットに返します。 |
FromCamera.VISUAL_POINT_INDEX:「ビジョン処理による移動」ステップの位置
プロジェクトにおけるステップ「ビジョン処理による移動」の位置です。「ビジョン処理による移動」は、ビジョン位置姿勢へ移動する移動ステップです。
例えば、「移動_1 ->移動_2 -> ビジョン処理による移動 ->移動_3」のロジックにおいて、ステップ「ビジョン処理による移動」の位置は3です。
ステップ「ビジョン処理による移動」がなければ、このパラメータは0です。
コマンド206——DOリストを取得
このコマンドは、計画されたDOリストを取得するために使用されます。DO信号は、複数のロボットハンドまたは吸盤のパーティションを制御するために使用されます。
このコマンドを実行する前に、 コマンド205 を実行してMech-Vizの計画経路を取得する必要があります。
サンプルプロジェクトに基づいてMech-Vizプロジェクトを設定し、プロジェクトに使用される吸盤設定ファイルを設定してください。サンプルプロジェクトは、Mech-Mindソフトウェアシステムのインストールパスにある (Mech-Center/tool/viz_project) の suction_zone となります。
プロジェクトの「DOリストを設定」ステップのパラメータで以下の設定を行います。
-
「受信者」を「標準インターフェース」に設定します。
-
「ビジョン処理による移動からDOリストを取得」にチェックを入れます。
-
DOリストが必要な「ビジョン処理による移動」ステップを選択します。
コマンド501——対象物の寸法をMech-Visionに入力
このパラメータはMech-Visionプロジェクトに、対象物の寸法を動的に送信すること場合に使われます。Mech-Visionプロジェクトを実行する前に対象物の寸法を確認する必要があります。
Mech-Vision プロジェクトに「対象物の寸法を読み込む」ステップがあり、 パラメータから対象物の寸法を読み込む にチェックを入れる必要があります。
入力パラメータ
パラメータ | 説明 |
---|---|
Vision_Proj_Num |
Mech-Visionプロジェクト番号 |
External_Input_Box_Dimension |
対象物の寸法 |
Set_Box_Dimension |
トリガー信号 |
Mech-Visionプロジェクト番号
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。
対象物の寸法
Mech-Visionプロジェクトに入力される対象物の長さ、幅、高さです。寸法の値は、「対象物の寸法を読み込む」ステップによって読み取られます。
単位はミリメートル(mm)です。
対象物の実際の寸法は、10000倍にしてExternal_Input_Box_Dimensionに送信する必要があります。 |
ここでExternal_Input_Box_Dimensionと機能関数MM_Set_PoseのExternal_Input_Poseが、ラベル構造ToCameraのEXT_INPUT_DATAラベルに対応していますが、設定する値が異なると同時に有効にはなりません。 |
トリガー信号
対象物の寸法をMech-Visionに送信するために使用され、立ち上がりエッジを持つと有効になります。
コマンド502——Mech-VizへTCPを送信
このコマンドは、 Mech-Vizプロジェクトへ動的にTCPを送信する場合に使われます。ロボットのTCPを読み取るステップは「外部移動」です。
サンプルプロジェクトに基づいてMech-Vizプロジェクトを設定してください。サンプルプロジェクトは、Mech-Mindソフトウェアシステムのインストールパスにある tool/viz_project/outer_move
フォルダに格納されています。
「外部移動」ステップをワークフローの適切な場所に配置します。
コマンド201——Mech-Vizプロジェクトを起動 を実行する前に、このコマンドを実行する必要があります。
入力パラメータ
パラメータ | 説明 |
---|---|
External_Input_Pose |
ロボットTCP |
Set_Input_Pose |
トリガー信号 |
ロボットTCP
このパラメータは「外部移動」の目標ポイントのTCPデータを設定します。
ロボットのTCPデータ(ミリメートル単位)を10000倍して、Ext_Input_Dataの値を設定する必要があります。 |
トリガー信号
TCP設定のトリガーに使用され、立ち上がりエッジを持つと有効になります。
コマンド901——ソフトウェアの起動状態を取得
このコマンドは、Mech-Vision、Mech-Viz、Mech-Centerの起動状態を取得するために使用されます。
現在、このコマンドはMech-Visionのみ対応できます。