標準インターフェースコマンド
本文では、KawasakiロボットとMech-Mindビジョンシステム間のTCPプロトコル通信の標準インターフェースコマンドについて説明します。ここで、ロボット(クライアント)はコマンドをMech-Mindビジョンシステム(サーバー)に送信し、Mech-Mindビジョンシステムは処理されたデータをロボットに返します。
 
コマンド一覧
注意事項
- 
Kawasakiロボットのコマンドを呼び出す際には、以下のことに注意してください。 - 
複数のパラメータ は コンマ で区切る必要があります。 
- 
すべてのパラメータ はコマンド内で ローカル変数 として定義する必要があります。 
- 
コマンドのパラメータ は 入力パラメータ あるいは 出力パラメータ と定義することが可能です。 
- 
入力引数は定数、グローバル変数、ローカル変数を指定することができます。出力引数はグローバル変数、ローカル変数を指定することができます。 
 
- 
- 
コマンドのデータ単位: - 
関節角度の単位は度(°)です。 
- 
ロボットのフランジ位置姿勢またはロボットのツール位置姿勢は位置と姿勢で構成されています。位置(XYZ座標値)の単位はミリメートル(mm)で、姿勢はオイラー角で表され、単位は度(°)です。 
 
- 
- 
ビジョンポイントまたは経路点: - 
ビジョンポイント:Mech-Visionが認識した対象物で、1つのビジョンポイントには対象物の位置姿勢、ラベル、対象物の寸法、カスタマイズされたデータなどが含まれます。 
- 
経路点:ロボットが計画された経路に沿って1つずつ到達する必要のあるポイントで、1つの経路点にはロボットの位置姿勢、ラベル、移動方式などが含まれます。経路点は次の2つの種類に分けられます。 - 
「ビジョン処理による移動」の経路点:「ビジョン処理による移動」ステップに対応する経路点。 
- 
「ビジョン処理による移動」の以外の経路点:「ビジョン処理による移動」ステップ以外の移動ステップに対応する経路点。 
 
- 
 
- 
Mech-Visionプロジェクトを実行
機能
このコマンドは、Mech-Visionプロジェクトを実行するために使用されます。Mech-Visionプロジェクトの実行中、ビジョンシステムはカメラ撮影を行い、一連のビジョンアルゴリズムで画像データを処理し、一連のビジョンポイントまたは経路点を生成します。
| 
 | 
呼び出し順序
- 
プロジェクトのステップパラメータは、Mech-Visionプロジェクトを実行する前に設定する必要があります。したがって、Mech-Visionのパラメータレシピを切り替る または Mech-Visionプロジェクトに対象物の寸法を入力 コマンドは Mech-Visionプロジェクトを実行 コマンドの前に呼び出す必要があります。 
- 
Mech-Visionプロジェクトが実行された後、ビジョンシステムはビジョンポイントまたは経路点を取得できます。したがって、Mech-Visionプロジェクトを実行 コマンドは ビジョン結果を取得、Mech-Visionによって計画された計画された計画経路を取得 または Mech-Visionのカスタマイズされたデータを取得 コマンドの前に呼び出す必要があります。 
コマンド形式
mm_start_vis(.job,.pos_num_need,.sendpos_type,.#start_vis)入力パラメータ
.job
このパラメータはMech-Visionのプロジェクト番号を表し、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
.pos_num_need
このパラメータは、Mech-Visionプロジェクトから取得されるビジョンポイントまたは経路点の予期数を表します。値は0または0より大きい整数です。
| Mech-Visionプロジェクトに「経路計画」ステップがある場合、このパラメータは経路点の予期数を表します。それ以外の場合はビジョンポイントの予期数を表します。 | 
- 
0:Mech-Visionプロジェクトからすべてのビジョンポイントまたは経路点を取得します。 
- 
0より大きい整数:Mech-Visionプロジェクトから指定数のビジョンポイントまたは経路点を取得します。 - 
Mech-Visionプロジェクトから出力されたビジョンポイントまたは経路点の合計数が、指定されたパラメータ値より小さい場合、出力されたすべてのビジョンポイントまたは経路点が取得されます。 
- 
Mech-Visionプロジェクトから出力されたビジョンポイントまたは経路点の合計数が、指定されたパラメータ値より大きい場合、指定された数のビジョンポイントまたは経路点が取得されます。 
 
- 
| 
   | 
.sendpos_type
このパラメータは、ロボット実機の位置姿勢がMech-Visionプロジェクトにどのような形式で送信されるかを指定します。値が0、1、2または3です。
| .sendpos_type | 説明 | 適用シーン | 
|---|---|---|
| 0 | このコマンドは、ロボットの位置姿勢をMech-Visionプロジェクトに送信する必要はありません。 Mech-Visionプロジェクトに「経路計画」ステップがある場合、経路計画の開始位置は経路計画設定ツールで設定された初期位置となります。 | カメラの取り付け方式がEye to Handであり、かつプロジェクトで事前の撮影が不要な場合は、この設定を使用します。 | 
| 1 | このコマンドは、ロボットの現在の関節角度とフランジ位置姿勢をMech-Visionプロジェクトに送信する必要があります。 | カメラの取り付け方式がEye in Handである場合、必ずこの設定を使用する必要があります。 直行ロボットを使用するシーンを除き、ほとんどのシーンではこの設定の使用を推奨します。 | 
| 2 | このコマンドは、ロボットの現在のフランジ位置姿勢をMech-Visionプロジェクトに送信する必要があります。 | 直行ロボットを使用する場合、この設定を推奨します。 | 
| 3 | このコマンドは、カスタマイズされた関節角度をMech-Visionプロジェクトに送信する必要があります。 この関節角度データは、Mech-Visionプロジェクトの「経路計画」ステップに開始点として送信されます。つまり、ロボットはこの開始点から経路計画の最初の経路点に向かって移動します。 | カメラの取り付け方式がEye to Handで、かつプロジェクトで事前撮影が必要な場合は、この設定を使用します。 | 
| 
 | 
.#start_vis
このパラメータは、カスタマイズされた関節角度データを表します。
- 
.sendpos_typeのパラメータ値が3の場合、この関節角度データはMech-Visionプロジェクトの「経路計画」ステップに開始点として送信されます。つまり、ロボットはこの開始点から経路計画の最初の経路点に向かって移動します。 
- 
.sendpos_typeのパラメータの値が3以外の場合、このパラメータは「#start_vis」に設定できます。 
ビジョン結果を取得
機能
このコマンドは、Mech-Visionによって出力されたビジョン結果(一連のビジョンポイント)を取得するために使用されます。ビジョンポイントの対象物の位置姿勢(つまり「出力」ステップの「poses」ポートのデータ)は、ビジョンシステムによって自動的に対応するロボットのツール位置姿勢に変換されます。変換流れは以下の通りです。
| 「出力」ステップの最初の入力ポートが 対象物の中心点 である場合、「出力」ステップは 対象物の中心点 を対応する 把持点 に変換します。そのため、このコマンドを通じて取得される位置姿勢は、実際には把持点の位置姿勢であり、対象物中心点の位置姿勢ではありません。 | 
 
- 
対象物の位置姿勢を四元数からオイラー角の形式に変換します。 
- 
対象物の位置姿勢をX軸を中心に180°回転させ、Z軸が下を向くようにします。   
呼び出し順序
このコマンドは Mech-Visionプロジェクトを実行 の後に呼び出す必要があります。このコマンドを使用した後、位置姿勢データを表示するために ビジョン結果または計画された経路を保存(位置姿勢形式はツール位置姿勢) コマンドを呼び出す必要があります。
コマンド形式
mm_get_visdata(.job,.pos_num,.ret)入力パラメータ
.job
このパラメータはMech-Visionのプロジェクト番号を表し、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
出力パラメータ
.pos_num
このコマンドは、Mech-Visionが返されたビジョンポイントの数を保存するために使用されます。
.ret
このパラメータは、コマンド実行のステータスコードを保存するために使用されます。コマンドが正常に実行された場合、ステータスコードは 1100 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
| このコマンドを呼び出した後、ビジョンシステムは10秒以内に処理結果を返さない場合、タイムアウトのエラーコードが返されます。Mech-Visionでは、ツールバーから をクリックし、実際の状況に応じてタイムアウトを変更することができます。   | 
ビジョン結果または計画された経路を保存(位置姿勢形式はツール位置姿勢)
計画された経路を保存(位置姿勢形式は関節角度)
Mech-Visionのパラメータレシピを切り替る
機能
このコマンドは、Mech-Visionプロジェクトに使用するパラメータレシピを切り替えるために使用されます。下図は、Mech-VisionプロジェクトのレシピAまたはレシピBの手動切り替えを示しています。パラメータレシピの詳細については、パラメータレシピ をご参照ください。
 
呼び出し順序
このコマンドは、Mech-Visionプロジェクトを実行 コマンドの前に呼び出す必要があります。
コマンド形式
mm_switch_model(.job,.model_number)入力パラメータ
.job
このパラメータはMech-Visionのプロジェクト番号を表し、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
.model_number
このパラメータは、Mech-Visionプロジェクトのパラメータレシピ番号を表します。パラメータレシピ番号を確認するには、パラメータレシピの番号を確認 をご参照ください。
Mech-Visionによって計画された計画された計画経路を取得
機能
このコマンドは、Mech-Visionによって計画された経路(一連の経路点)を取得するために使用されます。ここでの経路は、経路計画設定ツールによって計画されます。下図に示すように、設定ツール をクリックして経路計画設定ツールを開くことができます。「経路計画」ステップの詳細については、経路計画 をご参照ください。
| Mech-Visionの「出力」ステップの ポートタイプ パラメータを「事前定義済み(ロボット経路)」に設定する必要があります。 | 
 
呼び出し順序
このコマンドは Mech-Visionプロジェクトを実行 の後に呼び出す必要があります。このコマンドを使用した後、位置姿勢データを表示するために ビジョン結果または計画された経路を保存(位置姿勢形式はツール位置姿勢) または 計画された経路を保存(位置姿勢形式は関節角度) コマンドを呼び出す必要があります。
コマンド形式
mm_get_vispath(.job,.getpos_type,.pos_num,.vispos_num,.ret)入力パラメータ
.job
このパラメータはMech-Visionのプロジェクト番号を表し、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
.getpos_type
このパラメータは、経路点の位置姿勢形式を指定するために使用されます。値は1または2です。
- 
1:関節角度。このコマンドを使用した後、関節角度データを表示するために 計画された経路を保存(位置姿勢形式は関節角度) コマンドを呼び出す必要があります。 
- 
2:ツール位置姿勢。このコマンドを使用した後、ツール位置姿勢データを表示するために ビジョン結果または計画された経路を保存(位置姿勢形式はツール位置姿勢) コマンドを呼び出す必要があります。 
出力パラメータ
.pos_num
このパラメータは、ビジョンシステムが返す経路点の数を保存します。デフォルトでは、一度にビジョンシステムによって送信される経路点の最大数は20です。したがって、このパラメータのデフォルトの最大値は20です。 Mech-Visionでは、ツールバーから をクリックします。実際の状況に応じて最大数の初期値を変更することができますが、最大数の上限は30です。
 
| Mech-Visionによって計画された計画された計画経路を取得 コマンドを呼び出す前に、必ず Mech-Visionプロジェクトを実行 コマンドの.pos_num_needを0に設定してください。これにより、Mech-Visionによって計画された計画された計画経路を取得 コマンドの呼び出し回数をを減らすことができます。Mech-Visionプロジェクトを実行 コマンドの.pos_num_needが1に設定されている場合、Mech-Visionによって計画された計画された計画経路を取得 コマンドを一回呼び出すと1つの経路点のみが取得され、すべての経路点を取得するには複数回の呼び出しが必要です。 | 
.vispos_num
このパラメータは、経路計画設定ツールでの「ビジョン処理による移動」ステップの経路点が経路全体における位置番号を表します。経路中に「ビジョン処理による移動」ステップの経路点がない場合、このパラメータの値は0になります。
例えば、計画された経路が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」で構成されている場合、「ビジョン処理による移動」の位置番号は3になります。
.ret
このパラメータは、コマンド実行のステータスコードを保存するために使用されます。コマンドが正常に実行された場合、ステータスコードは 1103 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
| このコマンドを呼び出した後、ビジョンシステムは10秒以内に処理結果を返さない場合、タイムアウトのエラーコードが返されます。Mech-Visionでは、ツールバーから をクリックし、実際の状況に応じてタイムアウトを変更することができます。   | 
Mech-Visionのカスタマイズされたデータを取得
機能
このコマンドは、Mech-Visionの「出力」ステップからカスタマイズされたポートのデータを取得するために使用されます。このコマンドを1回呼び出すと、「出力」ステップのすべてのポートデータがロボットメモリに保存されます。
カスタマイズされたポートを設定するには、「出力」ステップのパラメータで エディタを開く をクリックし、表示される画面で設定を行います。その中、事前定義された通信キー名はカスタマイズされたポート名です。例えば、下図の「customeData1」ポートと「customeData2」ポートはカスタマイズされたポートです。
| 
 | 
 
呼び出し順序
このコマンドは Mech-Visionプロジェクトを実行 の後に呼び出す必要があります。このコマンドを使用した後、ビジョンポイントの位置姿勢、ラベル、およびツールIDを取得するために mm_get_pose コマンドを呼び出す必要があります。
コマンド形式
mm_get_dydata(.job,.pos_num,.count,.ret)入力パラメータ
.job
このパラメータはMech-Visionのプロジェクト番号を表し、Mech-Visionプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を示します。
出力パラメータ
.pos_num
このコマンドは、Mech-Visionが返されたビジョンポイントの数を保存するために使用されます。
.count
このパラメータは、カスタマイズされたデータの数を保存するために使用されます。
カスタマイズされたポートの数は、すべてのカスタマイズされたポートのデータの列数の合計を指します。例えば、「出力」ステップのポートデータは、以下のデータから構成されます。ここで、「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 | 
このコマンドで取得されたカスタマイズされたデータは、vis_custom_data[]の2次元配列に保存されます。例えば、上記の表でcustomData1ポートの[0, 0, 1]は、vis_custom_data[1,1]、vis_custom_data[1,2]、vis_custom_data[1,3]にそれぞれ保存され、customData2ポートの[0, 0]はvis_custom_data[1,4]、vis_custom_data[1,5]にそれぞれ保存されます。
.ret
このパラメータは、コマンド実行のステータスコードを保存するために使用されます。コマンドが正常に実行された場合、ステータスコードは 1100 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
吸盤のDO信号を取得
機能
このコマンドは、Mech-VisionまたはMech-Vizプロジェクトによって計画された複数パーティション吸盤の制御信号を取得するために使用されます。ロボットは、吸盤のDO信号を設定 コマンドで取得したDO信号をロボットハンドに適用します。
このコマンドを使用する前に、Mech-VisionまたはMech-Vizソフトウェアで以下の設定を行う必要があります。
- 
Mech-Visionプロジェクトの設定 - 
「経路計画」ステップのパラメータで、設定ツールを開く をクリックします。全体的設定 で 箱のデパレタイジング をオンにします。   
- 
「経路計画」ステップのパラメータから 設定ツールを開く をクリックします。表示される画面でロボットハンド名をダブルクリックし、ロボットハンドの種類 を デパレタイズ用吸盤 に選択します。デパレタイズ用吸盤設定 をクリックし、実際の状況に応じてDO信号を設定します。   
 
- 
- 
Mech-Vizプロジェクトの設定 - 
Mech-Vizソフトウェアで、「ビジョン処理による移動」ステップの 把持方法 を 箱のデパレタイジング に設定します。   
- 
Mech-Vizでは、ロボットハンド名をダブルクリックし、ロボットハンドの種類 を デパレタイズ用吸盤 に選択します。デパレタイズ用吸盤設定 をクリックし、実際の状況に応じてDO信号を設定します。   
 
- 
呼び出し順序
- 
Mech-Visionによって計画された計画された計画経路を取得、Mech-Vizの計画経路を取得 または 「ビジョン処理による移動」の計画データまたはカスタマイズされたデータを取得 コマンドの後にこのコマンドを呼び出す必要があります。すなわち、ロボットはまず移動経路を取得し、その後に「ビジョン処理による移動」の経路点に対応する吸盤DO信号を取得する必要があります。 
- 
このコマンドは、吸盤のDO信号を設定 コマンドの前に呼び出す必要があります。 
コマンド形式
mm_get_dolist(.resource,.blocknum)入力パラメータ
.resource
このパラメータは、DO信号リストのソースを指定します。値が0または正整数です。
- 
0:Mech-VizからDO信号リストを取得します。 
- 
正整数:Mech-VisionからDO信号リストを取得します。ここで設定された正整数はMech-Visionプロジェクト番号となります。 
.blocknum
このパラメータは、吸盤コンフィグレータ で設定された吸盤パーティションの数です。例えば、上図で示す吸盤パーティションの数が3です。
作成されるプロジェクトによって、このコマンドによって返されるDO信号は以下のように異なります。
- 
Mech-Visionプロジェクトによって計画された吸盤の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 
- 
経路計画の 全体的設定 では、全部のビジョン処理の結果を計画 が 有効 になっている場合、Mech-Visionが同じビジョン結果に基づいて複数回の計画を行うことができます。このコマンドによって返される64個のDO信号は、すべての計画における吸盤のDO信号です。この時、吸盤パーティションの数を使用して、それぞれの計画の吸盤DO信号を区別できます。   例えば、吸盤パーティションの数が4の場合、このコマンドは64個のDO信号を返します。そのうち、4個のDO信号ごとに一回計画の複数パーティション吸盤の制御信号が含まれます。 1回目計画 2回目計画 … 16回目計画 1番目 2番目 3番目 4番目 5番目 6番目 7番目 8番目 … 61番目 62番目 63番目 64番目 1 3 4 -1 1 4 -1 -1 … -1 -1 -1 -1 
 
- 
- 
Mech-Vizプロジェクトによって計画された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 
- 
「ビジョン処理による移動」ステップでビジョン処理の結果を再使用」に チェックが入っていて、このステップががループフロー内にある場合、Mech-Vizは同じビジョン結果に基づいて複数回の計画を行うことができます。このコマンドによって返される64個のDO信号は、すべての計画における吸盤のDO信号です。この時、吸盤パーティションの数を使用して、それぞれの計画の吸盤DO信号を区別できます。   例えば、吸盤パーティションの数が4の場合、このコマンドは64個のDO信号を返します。そのうち、4個のDO信号ごとに一回計画の複数パーティション吸盤の制御信号が含まれます。 1回目計画 2回目計画 … 16回目計画 1番目 2番目 3番目 4番目 5番目 6番目 7番目 8番目 … 61番目 62番目 63番目 64番目 1 3 4 -1 1 4 -1 -1 … -1 -1 -1 -1 
 
- 
吸盤のDO信号を設定
呼び出し順序
このコマンドは 吸盤のDO信号を取得 の後に呼び出す必要があります。
サンプル
CALL mm_get_vizdata(2,posnum,vis_index,statuscode) ;receive path
CALL mm_get_dolist(0,1) ;receive DO from viz
CALL mm_get_pose(vis_index,pt1,label1,speed1) ; save the pick point to pt1
LAPPRO pt1,200
LMOVE pt1 ;move to pick point
CALL mm_set_dolist(1) ;turn on DO for picking
twait 1 ;wait for gripping
LDEPART 200上記のサンプルを実行すると、ロボットが「ビジョン処理による移動」の経路点に移動した後、「mm_set_dolist()」を呼び出して対応する吸盤のDO信号値をONに設定します。
Mech-Vizプロジェクトを実行
機能
このコマンドは、Mech-Vizプロジェクトを実行するために使用されます。Mech-Vizは、Mech-Visionの出力されたビジョン結果に基づいてロボットの動作経路を計画します。
| Mech-Vizのリソースパネルでプロジェクトを右クリックし、自動的に読み込む にチェックを入れます。 | 
呼び出し順序
プロジェクトのステップパラメータは、Mech-Vizプロジェクトを実行する前に設定する必要があります。したがって、Mech-Vizのステップパラメータを読み取る または Mech-Vizのステップパラメータを設定 コマンドは Mech-Vizプロジェクトを実行 コマンドの前に呼び出す必要があります。
コマンド形式
mm_start_viz(.sendpos_type,.#start_viz)入力パラメータ
.sendpos_type
このパラメータは、ロボット実機の位置姿勢がMech-Vizプロジェクトにどのような形式で送信されるかを指定します。値が0、1または2です。
| ロボットの位置姿勢タイプ | 説明 | 適用シーン | 
|---|---|---|
| 0 | Mech-Vizプロジェクトにロボットの位置姿勢を送信する必要がありません。Mech-Vizプロジェクトでは、仮想ロボットが設定された初期位置から最初の経路点に移動します。 | カメラが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に設定することが推奨されますか?
下図に示すように、ロボットは配置領域で動作しています。
この場合、.sendpos_type を 1 に設定すると、ロボットの現在の位置姿勢がMech-Vizに送信され、ロボット実機は最初の経路点に移動する前に他の位置に移動する可能性があります。仮想ロボットは現在の位置からMech-Vizプロジェクトの最初の経路点に移動し、この移動中に衝突が検出されるため警告が表示される可能性があります。
この場合、.sendpos_type を 2 に設定すると、ロボット側で設定されたティーチポイントがMech-Vizに送信されます。これにより、ロボット実機は配置領域でMech-Vizをトリガーして次回の経路を事前に計画し、サイクル時間を短縮することができます。
したがって、カメラがEye to Hand方式で取り付けられている場合、ロボットの位置姿勢タイプを2に設定することが推奨されます。
 
.#start_viz
このパラメータは、カスタマイズされた関節角度データを表します。
- 
.sendpos_typeのパラメータ値が2の場合、ここでの関節角度データはMech-Vizプロジェクトに開始点として送信されます。つまり、ロボットはこの開始点から経路計画の最初の経路点に向かって移動します。 
- 
.sendpos_typeのパラメータ値が2以外の場合、このパラメータは「#start_vis」に設定できます。 
Mech-Vizの分岐ステップの出口を設定
機能
このコマンドは、「メッセージによって異なる分岐を実行」ステップの出口を設定するために使用されます。Mech-Vizプロジェクトが「メッセージによって異なる分岐を実行」ステップに実行すると、このコマンドによって出口を指定するのを待ちます。
 
呼び出し順序
このコマンドは Mech-Vizプロジェクトを実行 の後に呼び出す必要があります。
Mech-Vizの現在のインデックスを設定
機能
このコマンドは、インデックス付きのステップの現在のインデックス値を設定するために使用されます。インデックス付きのステップとは、「グリッドによる移動」、「リストによる移動」、「事前計画パレットパターン」、「カスタマイズのパレットパターン」など、「インデックス」パラメータを含むステップのことです。
 
呼び出し順序
通常、インデックス付きのステップの前には「メッセージによって異なる分岐を実行」ステップがあり、ロボットはまず Mech-Vizプロジェクトを実行 コマンドを呼び出し、次に Mech-Vizの現在のインデックスを設定 コマンドを呼び出し、最後に Mech-Vizの分岐ステップの出口を設定 コマンドを呼び出します。これにより、Mech-Vizは現在のインデックス値を設定するための十分な時間が確保されます。
Mech-Vizの計画経路を取得
機能
このコマンドは、Mech-Vizプロジェクトによって計画された動作経路(一連の経路点)を取得するために使用されます。
| 経路点:ロボットが計画された経路に沿って1つずつ到達する必要のあるポイントで、1つの経路点にはロボットの位置姿勢、ラベル、移動方式などが含まれます。経路点は次の2つの種類に分けられます。 
 | 
呼び出し順序
このコマンドは、Mech-Vizプロジェクトを実行 コマンドの後に呼び出す必要があります。このコマンドを使用した後、位置姿勢データを表示するために ビジョン結果または計画された経路を保存(位置姿勢形式はツール位置姿勢) または 計画された経路を保存(位置姿勢形式は関節角度) コマンドを呼び出す必要があります。
コマンド形式
mm_get_vizdata(.getpos_type,.pos_num,.vispos_num,.ret)入力パラメータ
.getpos_type
このパラメータは、経路点の位置姿勢形式を指定するために使用されます。値は1または2です。
- 
1:関節角度。このコマンドを使用した後、関節角度データを表示するために 計画された経路を保存(位置姿勢形式は関節角度) コマンドを呼び出す必要があります。 
- 
2:ツール位置姿勢。このコマンドを使用した後、ツール位置姿勢データを表示するために ビジョン結果または計画された経路を保存(位置姿勢形式はツール位置姿勢) コマンドを呼び出す必要があります。 
出力パラメータ
.pos_num
このコマンドは、ビジョンシステムが返す経路点の数を保存するために使用されます。ビジョンシステムは、デフォルトで一度に送信できる経路点の最大数が20に設定されているため、このパラメータのデフォルト最大値も20となっています。 Mech-Visionでは、ツールバーから をクリックします。実際の状況に応じて最大数の初期値を変更することができますが、最大数の上限は30です。
 
.vispos_num
このパラメータは、Mech-Vizプロジェクトでの「ビジョン処理による移動」ステップの経路点が経路全体における位置番号を表します。経路中に「ビジョン処理による移動」ステップの経路点がない場合、このパラメータの値は0になります。
例えば、計画された経路が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」で構成されている場合、「ビジョン処理による移動」の位置番号は3になります。
.ret
このパラメータは、コマンド実行のステータスコードを保存するために使用されます。コマンドが正常に実行された場合、ステータスコードは 2100 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
| このコマンドを呼び出した後、ビジョンシステムは10秒以内に処理結果を返さない場合、タイムアウトのエラーコードが返されます。Mech-Visionでは、ツールバーから をクリックし、実際の状況に応じてタイムアウトを変更することができます。   | 
「ビジョン処理による移動」の計画データまたはカスタマイズされたデータを取得
機能
このコマンドは、Mech-Visionプロジェクトの「ビジョン処理による移動」の計画データ、またはMech-Vizプロジェクトの「ビジョン処理による移動」の計画データまたはカスタマイズされたデータを取得するために使用されます。このコマンドを1回呼び出すと、すべてのデータがロボットメモリに保存されます。
| 
 | 
- 
Mech-Visionプロジェクトの場合:ここでの「ビジョン処理による移動」の計画データは、経路計画設定ツールの「ビジョン処理による移動」ステップが計画されたデータのことで、把持するワークのラベル、把持されたワークの合計数、今回把持されたワークの数、吸盤のエッジコーナー番号、TCPオフセット、ワーク群の向き、単体ワークの向き、ワーク群の寸法が含まれます。 
- 
Mech-Vizプロジェクトの場合: - 
ここでの「ビジョン処理による移動」の計画データは、Mech-Vizの「ビジョン処理による移動」ステップが計画されたデータのことで、把持するワークのラベル、把持されたワークの合計数、今回把持されたワークの数、吸盤のエッジコーナー番号、TCPオフセット、ワーク群の向き、単体ワークの向き、ワーク群の寸法が含まれます。 
- 
カスタマイズされたデータ:Mech-Visionの「出力」ステップのカスタマイズされたポートのデータがMech-Vizの転送によって得られたデータのことです。 カスタマイズされたポートを設定するには、「出力」ステップのパラメータで エディタを開く をクリックし、表示される画面で設定を行います。その中、事前定義された通信キー名はカスタマイズされたポート名です。例えば、下図の「customeData1」ポートと「customeData2」ポートはカスタマイズされたポートです。 - 
事前定義された通信キー(下図のposes、labels、sizes、offsetsなど)で表されるポートデータは、カスタマイズされたデータではありません。 
- 
Mech-Visionの「出力」ステップの ポートタイプ パラメータを「カスタム」に設定し、「poses」ポートが存在する必要があります。 
   
- 
 
- 
呼び出し順序
このコマンドは Mech-Visionプロジェクトを実行 または Mech-Vizプロジェクトを実行 の後に呼び出す必要があります。
コマンド形式
mm_get_plandata(.resource,.getpos_type,.pos_num,.vispos_index,.ret)入力パラメータ
.resource
このパラメータは、「ビジョン処理による移動」の計画データのソースを指定します。値が0または正整数です。
- 
0:Mech-Vizから「ビジョン処理による移動」の計画データを取得します。 
- 
正整数:Mech-Visionから「ビジョン処理による移動」の計画データ取得します。ここで設定された正整数はMech-Visionプロジェクト番号となります。 
.getpos_type
このパラメータは、返されたデータの予期形式を表します。
- 
.resourceが0の場合、.getpos_typeパラメータ値の範囲は1~4になります。 .getpos_typeパラメータ値 返されたデータの予期形式 の説明(Mech-Visionプロジェクトにカスタマイズされたポートがない場合は カスタマイズされたデータ がありません) 経路点タイプ データ情報 1 「ビジョン処理による移動」の以外の経路点 位置姿勢(関節角度形式)、移動方式、ツール番号、速度 「ビジョン処理による移動」の経路点 位置姿勢(関節角度形式),移動方式,ツール番号,速度,カスタマイズされたデータ1,...,カスタマイズされたデータN 2 「ビジョン処理による移動」の以外の経路点 位置姿勢(ツール位置姿勢の形式)、移動方式、ツール番号、速度 「ビジョン処理による移動」の経路点 位置姿勢(ツール位置姿勢形式),移動方式,ツール番号,速度,カスタマイズされたデータ1,...,カスタマイズされたデータN 3 「ビジョン処理による移動」の以外の経路点 位置姿勢(関節角度形式)、移動方式、ツール番号、速度 「ビジョン処理による移動」の経路点 位置姿勢(関節角度形式),移動方式,ツール番号,速度,Mech-Vizの「ビジョン処理による移動」の計画データ,カスタマイズされたデータ1,...,カスタマイズされたデータN 4 「ビジョン処理による移動」の以外の経路点 位置姿勢(ツール位置姿勢の形式)、移動方式、ツール番号、速度 「ビジョン処理による移動」の経路点 位置姿勢(ツール位置姿勢形式),移動方式,ツール番号,速度,Mech-Vizの「ビジョン処理による移動」の計画データ,カスタマイズされたデータ1,...,カスタマイズされたデータN 
- 
.resourceが正整数の場合、.getpos_typeパラメータ値の範囲は1~2になります。 .getpos_typeパラメータ値 返されたデータの予期形式 の説明 経路点タイプ データ情報 1 「ビジョン処理による移動」の以外の経路点 位置姿勢(関節角度形式)、移動方式、ツール番号、速度 「ビジョン処理による移動」の経路点 位置姿勢(関節角度形式),移動方式,ツール番号,速度,Mech-Visionの「ビジョン処理による移動」の計画データ 2 「ビジョン処理による移動」の以外の経路点 位置姿勢(ツール位置姿勢の形式)、移動方式、ツール番号、速度 「ビジョン処理による移動」の経路点 位置姿勢(ツール位置姿勢形式),移動方式,ツール番号,速度,Mech-Visionの「ビジョン処理による移動」の計画データ 
位置姿勢
経路点の位置姿勢は、ロボット関節角度(度単位)、またはツール位置姿勢(3次元座標はミリメートル単位、オイラー角は度単位)で表されることができます。
移動方式
ロボットの移動タイプを表し、値の範囲が1または2です。
- 
1:関節運動。 
- 
2:直線運動。 
ツール番号
ロボットが経路点に移動するときに使用するロボットハンドの番号です。-1である場合、ロボットハンドが使用されないことを示します。
速度
速度の意味はプロジェクトによって異なります。詳細は以下の通りです。
- 
Mech-Visionプロジェクトの場合:速度は、経路計画設定ツールで設定されたシミュレーション速度の値(パーセンテージで表す)を指します。 
- 
Mech-Vizプロジェクトの場合:速度は、移動ステップのパラメータで設定された速度パラメータの値にMech-Vizで設定されたグローバル速度を乗算したもの(パーセンテージで表す)を指します。 
「ビジョン処理による移動」の計画データ
Mech-VisionまたはMech-Vizの「ビジョン処理による移動」ステップが計画されたデータのことで、把持するワークのラベル、把持されたワークの合計数、今回把持されたワークの数、吸盤のエッジコーナー番号、TCPオフセット、ワーク群の向き、単体ワークの向き、ワーク群の寸法が含まれます。
| 名称 | 説明 | 次元数 | 
|---|---|---|
| 把持するワークのラベル | 10個の整数で構成され、デフォルトは10個のゼロです。 | 10 | 
| 把持されたワークの合計数 | 累計で把持されたワークの数です。 | 1 | 
| 今回把持されたワークの数 | 今回把持されたワークの数 | 1 | 
| 吸盤のエッジコーナー番号 | この吸盤に使用されているエッジコーナー番号です。 | 1 | 
| TCPオフセット | ワーク群の中心がロボットハンド中心に対して持つXYZ方向のオフセットを指します。 | 3 | 
| ワーク群の向き | 吸盤の長辺に対するワーク群の向きです。0は平行、1は垂直を意味します。 | 1 | 
| 単体ワークの向き | 吸盤の長辺に対する単体ワークの向きです。0は平行、1は垂直を意味します。 | 1 | 
| ワーク群の寸法 | 今回把持されたワーク群の長さ、幅、高さです。 | 3 | 
カスタイズされたデータ
単一のビジョンポイントのすべてのカスタマイズされたポートのデータです。例えば、「出力」ステップの各ポートのデータは下表の通りである場合、ロボットが取得した最初のビジョンポイントの カスタマイズされたデータ は[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] | 
出力パラメータ
.pos_num
このコマンドは、ビジョンシステムが返す経路点の数を保存するために使用されます。
.vispos_index
このパラメータは、Mech-Vizプロジェクトでの「ビジョン処理による移動」ステップの経路点が経路全体における位置番号を表します。経路中に「ビジョン処理による移動」ステップの経路点がない場合、このパラメータの値は0になります。
例えば、計画された経路が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」で構成されている場合、「ビジョン処理による移動」の位置番号は3になります。
.ret
このパラメータは、コマンド実行のステータスコードを保存するために使用されます。コマンドによりMech-Visionプロジェクトの「ビジョン処理による移動」の計画データの取得に成功した場合、ステータスコードは 1103 になります。コマンドによりMech-Vizプロジェクトの「ビジョン処理による移動」の計画データまたはカスタマイズされたデータの取得に成功した場合、ステータスコードは 2100 になります。 コマンド実行中にエラーが発生した場合、対応するエラーコードが返されます。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。
コマンドの呼び出しに成功した場合、返されるデータは以下の固定変数に保存されます。
| データ | 変数 (i、jともに1から始まる) | 
|---|---|
| J1~J6関節角度 | vis_pos_j1[i],vis_pos_j2[i],vis_pos_j3[i],vis_pos_j4[i],vis_pos_j5[i],vis_pos_j6[i] | 
| ツール位置姿勢(XYZOAT) | vis_pos_x[i],vis_pos_y[i],vis_pos_z[i],vis_pos_o[i],vis_pos_a[i],vis_pos_t[i] | 
| 速度 | vis_pos_spd[i] | 
| 移動方式 | vis_pos_type[i] | 
| ツール番号 | vis_pos_tool[i] | 
| 「ビジョン処理による移動」であるか | vis_pos_vismove[i]が1である場合、経路点は「ビジョン処理による移動」の経路点であり、それ以外の場合は「ビジョン処理による移動」以外の経路点です。 | 
| Mech-Visionのカスタマイズされたデータ | vis_custom_data[i,j] 
 | 
| Mech-VisionまたはMech-Vizの「ビジョン処理による移動」の計画データ | vis_plan_result[i,j] vis_pos_vismove[i]が1の場合のみ、vis_plan_result[i,j]は値を持ちます。 | 
vis_plan_result[i,j]変数の詳細を下表に示します。
| データ | 説明 | 変数 | 
|---|---|---|
| 把持するワークのラベル | 10個の整数で構成され、デフォルトは10個のゼロです。 | vis_plan_result[i,1] ~ vis_plan_result[i.10] | 
| 把持されたワークの合計数 | 累計で把持されたワークの数です。 | vis_plan_result[i,11] | 
| 今回把持されたワークの数 | 今回把持されたワークの数 | vis_plan_result[i,12] | 
| 吸盤のエッジコーナー番号 | この吸盤に使用されているエッジコーナー番号です。 | vis_plan_result[i,13] | 
| TCPオフセット | ワーク群の中心がロボットハンド中心に対して持つXYZ方向のオフセットを指します。 | vis_plan_result[i,14] ~ vis_plan_result[i,16] | 
| ワーク群の向き | 吸盤の長辺に対するワーク群の向きです。0は平行、1は垂直を意味します。 | vis_plan_result[i,17] | 
| 単体ワークの向き | 吸盤の長辺に対する単体ワークの向きです。0は平行、1は垂直を意味します。 | vis_plan_result[i,18] | 
| ワーク群の寸法 | 今回把持されたワーク群の長さ、幅、高さです。 | vis_plan_result[i,19] ~ vis_plan_result[i,21] | 
Mech-Vizのステップパラメータを読み取る
呼び出し順序
このコマンドは、Mech-Vizプロジェクトを実行 コマンドの前に呼び出す必要があります。
コマンド形式
mm_get_property(.group_num,.return_value)入力パラメータ
.group_num
このパラメータは、property_configファイルで指定された 構成ID のフィールドとなります。
| Mech-Visionでは、ツールバーの をクリックし、プロパティ設定 をクリックしてproperty_configファイルを開きます。   | 
このコマンドを使用する前に、あらかじめproperty_configファイルに、ステップ番号と、パラメータ名に対応するキー名を、以下の形式で指定しておく必要があります。
read,構成ID,ステップ番号,パラメータ名に対応するキー名
| read | ステップパラメータ値の読取りに使用する行を指定します。 | 
| 構成ID | 唯一の番号を正の整数で指定します。1つの構成IDは、1つのステップパラメータ値を読み取るためにのみ使用できます。複数のステップパラメータ値を読み取る場合は、異なる構成IDを使用してください。 | 
| ステップ番号 | 読み取るパラメータが属するステップの番号を指定します。 | 
| キー名 | 読み込むパラメータに対応するキー名を指定します。 | 
| 
 | 
| property_configファイルには複数のreadコマンドを設定することができますが、各readコマンドの構成IDは一意である必要があります。 | 
Mech-Vizのステップパラメータを設定
呼び出し順序
このコマンドは、Mech-Vizプロジェクトを実行 コマンドの前に呼び出す必要があります。
コマンド形式
mm_set_property(.group_num)入力パラメータ
.group_num
このパラメータは、property_configファイルで指定された 構成ID のフィールドとなります。
| Mech-Visionでは、ツールバーの をクリックし、プロパティ設定 をクリックしてproperty_configファイルを開きます。   | 
このコマンドを使用する前に、あらかじめproperty_configファイルに、ステップ番号、パラメータ名に対応するキー名とパラメータ値を、以下の形式で指定しておく必要があります。
write,構成ID,ステップ番号,パラメータ名に対応するキー名,パラメータ値
| write | ステップパラメータ値の設定に使用する行を指定します。 | 
| 構成ID | 番号(一意でない)を正の整数で指定します。 | 
| ステップ番号 | 設定するパラメータが属するステップの番号を指定します。 | 
| キー名 | 設定するパラメータに対応するキー名を指定します。 | 
| パラメータ値 | 設定するパラメータ値を指定します。 | 
| 
 | 
サンプル
例えば、property_configファイルの内容は、1が構成ID、3がステップID、xOffset、yOffset、zOffsetがキー名、10がxOffsetに対応するパラメータ値、20がyOffsetに対応するパラメータ値、30がzOffsetに対応するパラメータ値を表します。
write,1,3,xOffset,10
write,1,3,yOffset,20
write,1,3,zOffset,30ロボットが以下のコマンドを送信した後、Mech-VizはxOffset、yOffsetとzOffsのパラメータ値をそれぞれ10、20と30に設定します。
CALL mm_set_property(1)上記のサンプルを実行すると、xOffset、yOffsetとzOffsに対応するパラメータ値がそれぞれ10、20と30に設定されます。
Mech-Visionプロジェクトに対象物の寸法を入力
機能
このコマンドは、対象物の寸法をMech-Visionプロジェクトに入力するために使用されます。下図に示すように、入力される対象物の寸法は、「対象物の寸法を読み込む」ステップの 箱の寸法設定 パラメータ値となります。
| このコマンドを使用する場合、Mech-Visionプロジェクト内には「対象物の寸法を読み込む」ステップを 1つだけ 含める必要があります。複数存在すると、ビジョンシステムがエラーを返します。 | 
 
呼び出し順序
このコマンドは、Mech-Visionプロジェクトを実行 コマンドの前に呼び出す必要があります。
「通知」ステップのメッセージを取得
機能
Mech-VisionプロジェクトまたはMech-Vizプロジェクトが「通知」ステップまで実行すると、ビジョンシステムは「通知」ステップで事前設定されたメッセージを返します。
このコマンドを使用する前に、「通知」ステップで以下の設定を行う必要があります。
- 
Mech-Visionプロジェクト内の「通知」ステップ - 
「通知」ステップを他のステップの右側につなぎます(ここでは、「出力」ステップを例とします)。   
- 
「出力」ステップのパラメータで 出力がある場合に制御フローをトリガー にチェックを入れます。   
- 
「通知」ステップのパラメータで、サービス名に Standard Interface Notify(変更不可) を入力し、メッセージに 1001 (実際の状況に応じて変更可能で、正の整数の入力が必要)入力します。   
 
- 
- 
Mech-Vizプロジェクト内の「通知」ステップ - 
「通知」ステップをワークフローの適切な場所に配置し、その他のステップをつなぎます。   
- 
「通知」ステップのパラメータで、「受信者」を 標準インターフェース に選択し、メッセージに 1000 (実際の状況に応じて変更可能で、正の整数の入力が必要)を入力します。   
 
- 
呼び出し順序
このコマンドはMech-Visionプロジェクトを実行 または Mech-Vizプロジェクトを実行 コマンドの後に 直ち に呼び出される必要があります。
キャリブレーション
機能
このコマンドは、ロボットのハンドアイキャリブレーション(外部パラメータのキャリブレーション)を実行するために使用されます。自動キャリブレーションを行うには、このコマンドをキャリブレーションツールと併用する必要があります。Mech-Visionのツールバーの カメラキャリブレーション をクリックしてキャリブレーションツールを起動できます。詳細については、自動キャリブレーション をご参照ください。
