UR Eシリーズ(Polyscope 5.3以上)
以下では、UR(ユニバーサルロボット)Eシリーズロボットの標準インターフェース通信設定について説明します。
プラグインのインストールと設定
以下では、UR EシリーズロボットのMech-Mind 3D Vision Interface(URCapプラグイン)のインストールと設定について説明します。
前提条件
Mech-MindビジョンシステムとPolyscopeが バージョンの最小要件 を満たすことを確認します。
Polyscopeのバージョンを確認するには、ティーチペンダントの右上隅にあるハンバーガーボタンをクリックし、バージョン情報 を選択します。

URCapプラグインのインストール
URCapプラグインをインストールするには、以下の手順を実行します。
-
Mech-VisionとMech-Vizソフトウェアのインストールディレクトリにある
Communication Component\Robot_Interface\Robot_Plugin\UR_URCAP\Polyscope
フォルダから、拡張子が.urcapのファイルをコピーして、USBメモリに貼り付けます。 -
USBメモリをティーチペンダントに差し込みます。
-
ティーチペンダントの右上隅にあるハンバーガーボタンをクリックし、ロボットの設定 を選択します。
-
設定画面 で、
を選択します。 -
+ をクリックしてUSBメモリに切り替え、URCapプラグインファイルを見つけます。
-
設置するURCapを選択してください 画面で、対応するURCapプラグインファイルを選択し、開く をクリックします。すると、URCapプラグインが自動的にインストールされます。
-
再起動 をクリックすると、変更が有効になります。
これで、URCapプラグインは正常にティーチペンダントにインストールされます。
インストール後、ロボットのIPアドレスを設定する必要があります(設定>システム >ネットワーク で設定可能)。ロボットのIPアドレスは、IPCのIPアドレスと同じネットワークセグメント内にある必要があります。 |
Mech-Mind 3D Vision Interfaceの使用
使用する前に、Mech-VisionとMech-Viz(必要な場合)プロジェクトが実行可能で、Mech-MindのIPCがロボットに接続されていることを確認してください。 |
Mech-Mind 3D Vision Interfaceを使用するには、以下の設定が必要になります。
-
Mech-Visionを起動します。表示される画面に応じて、以下のようにソリューションの作成方法を選択します。
-
ようこそ画面が表示されたら、ソリューションを新規作成 をクリックして新しい空白のソリューションを作成します。
-
メイン画面が表示されたら、メニューバーの
をクリックして新しい空白のソリューションを作成します。
-
-
Mech-Visionのツールバーで ロボット通信設定 をクリックします。
-
ロボット通信設定 の画面で以下の設定を行います。
-
ロボットを選択 のドロップダウンボックスをクリックし、適応可能なロボット を選択して ロボット型番を選択 をクリックします。表示される画面で特定のロボット型番を選択して 次へ をクリックします。
-
通信方式 の画面で、インターフェースサービスのタイプ を 標準インターフェース に、通信プロトコル を TCP Server に、プロトコル形式 を ASCII に選択します。
-
詳細設定 を展開し、一度に送信する位置姿勢の最大数 を 15 に設定します。
-
ポート番号を50000(固定値、変更不可)に設定します。設定したポート番号が他のプログラムに使用されていないことを確認してください。
-
(オプション) ソリューションを開くとインターフェースサービスを自動的に起動 にチェックを入れることを推奨します。
-
適用 をクリックします。
-

-
Mech-Visionのメイン画面で、ツールバーのインターフェースサービスが起動されていることを確認します。
Mech-Visionでインターフェースサービスを起動した後、UR ティーチペンダントで以下の操作を行って、インターフェースサービスに接続します。
-
ティーチペンダントの上部にある 設置設定 をクリックし、
を選択します。すると、URCapプラグインの ネットワーク設定 画面が表示されます。 -
Mech-Mind IPC IP Address と Port No. をそれぞれ Mech-Mind IPCのIPアドレスとポート番号(Mech-Visionの通信設定で設定されたポート番号と一致する必要があります)に設定し、 Apply をクリックします。
-
Connection Test をクリックします。
-
接続に成功した場合は、下図のようなステータスメッセージが返されます。
-
接続に失敗した場合は、下図のようなステータスメッセージが返されます。
これはテスト目的のみに使用されます。接続に成功すると自動的に切断されます。したがって、Mech-Visionのログバーの コンソール タブにクライアント接続とクライアント切断のメッセージが表示されます。
-
プラグインによる自動キャリブレーション
標準インターフェース通信設定が完了した後、ロボットを接続して自動キャリブレーションを行うことができます。自動キャリブレーションは、下図のようなフローで行います。

注意事項
キャリブレーションを実行する際に、ロボットを接続し、Mech-Visionソフトウェア画面に ロボットとの接続を待機中… が表示された場合、本文に記載された手順に従い、ロボット側で操作を行ってください。操作が完了した後、Mech-Visionソフトウェアで残りの手順を続けて実行してください。
|
キャリブレーションプログラムの作成
-
ティーチペンダントの上部にある 新規... をクリックし、プログラム を選択して新しいプログラムを作成します。
-
上部にある プログラム をクリックし、
を選択します。Calibrate サンプルプログラムノードは、左側パネルの ロボットプログラム に自動的に作成されます。作成されたサンプルプログラムノードはテンプレートです。キャリブレーションプログラムをさらに設定し、キャリブレーションの初期位置を設定する必要があります。
キャリブレーションの初期位置を設定
-
Calibrate ノードをクリックし、右側パネルの コマンド タブから、Receive Point Type from Mech-Vision を実際の状況に応じて設定します。
-
MoveJ ノードをクリックし、右側の 移動 パネルで動作タイプ(MoveJ、MoveLまたはMoveP)を設定し、TCPを設定 を アクティブTCPの無視 に設定して、ウェイポイントがフランジ位置姿勢として記録されるようにします。
-
ロボットを手動でキャリブレーションの初期位置に移動させます。
キャリブレーションの開始点は、キャリブレーションボードの位置と点群品質を確認 する時にロボットがいた位置を選択することができます。
-
ティーチペンダント画面で start_pose ノードをクリックします。右側の ウェイポイント パネルで ウェイポイントを設定 をクリックします。すると、移動 タブが表示されます。
-
移動 タブでは、ロボットが現在適切なフランジ位置にいることを確認し、OK をクリックします。
キャリブレーションプログラムを実行
-
左側パネルで ロボットプログラム をクリックします。このプログラムを1回のみ実行するために、右側パネルで 無限ループ のチェックを外します。
-
安全のため、ロボットの速度を適切な値、例えば10%に調整してください。
-
下部にある
ボタンをクリックしてプログラムを実行することができます。
-
Mech-Visionの キャリブレーション 画面では、ロボットを接続 の下に「接続済み」の状態が表示され、ボタンが ロボットとの接続を待機中… から 接続を切断 に変わったら、次へ をクリックします。
-
次に、キャリブレーションを実行 の4番目の手順(動作経路を設定)および残りの設定を実行します。以下の内容をご参照ください。
後で使用するためにキャリブレーションプログラムを保存するには、上部にある
を選択します。
キャリブレーションが完了したら、把持・配置プログラム を作成してURロボットを制御し、ビジョンシステムによる把持と配置を実行します。
把持・配置プログラムを作成
URCapプラグインは、ごくわずかなプログラミング作業で作成できる把持・配置のサンプルノードを提供します。
把持・配置のサンプルプログラムノードには、3つのオプションが提供されています。
-
With Vision(picking points):これは、Mech-Visionプロジェクト(「経路計画」ステップを含まない)のみを使用し、ロボットがMech-Vizによって計画された動作経路を必要としない場合に適しています。
-
With Vision(picking path):これは、Mech-Visionプロジェクト(「経路計画」ステップを含む)のみを使用し、ロボットがMech-Vizによって計画された動作経路を必要としない場合に適しています。
-
With Mech-Viz:これは、Mech-VizプロジェクトとMech-Visionプロジェクトを併用し、ロボットに衝突のない動作経路を提供する場合に適しています。
|
With Mech-Vision(picking points)
With Mech-Vision(picking points)のプログラムを作成するには、以下の手順を実行します。
-
With Mech-Vision(picking points)のオプションを選択します。
-
ティーチペンダントの上部にある 新規... をクリックし、プログラム を選択して新しいプログラムを作成します。
-
上部にある プログラム をクリックし、
を選択します。Pick and Place サンプルプログラムノードは、左側パネルの ロボットプログラム に自動的に作成されます。 -
右側パネルの コマンド タブで、With Mech-Vision(picking points) をクリックします。プログラムテンプレートは、プログラムツリーの Pick and Place ノードに自動的に追加されます。
-
-
Mech-Mind Connect ノードをクリックし、右側の Mech-Mind Connect パネルで Host IP が Mech-Mind のIPCのIPアドレスであることを確認します。
-
画像撮影点を設定します。
-
ロボットを手動で適切な位置に移動させます。Mech-Visionはここで撮影をトリガーします。
-
Eye in Handの場合、ロボットがワークの上方に配置する必要があります。
-
Eye to Handの場合、ロボットがカメラの視野を遮らないように配置する必要があります。
-
-
プログラムツリーの MoveJ ノードをクリックします。右側の 移動 パネルで動作タイプ(MoveJ、MoveLまたはMoveP)を設定し、TCPを設定 を アクティブTCPを使用 に設定します。
-
プログラムツリーの Capture_image ノードをクリックします。右側の ウェイポイント パネルで ウェイポイントを設定 をクリックします。すると、移動 タブが表示されます。
-
移動 タブでは、ロボットの現在TCP位置姿勢が適切であることを確認し、OK をクリックします。
-
-
Mech-Visionプロジェクトを実行します。
-
プログラムツリーの Trigger Mech-Vision ノードをクリックします。右側の Trigger Mech-Vision パネルで Type of robot pose to send、Mech-Vision Project ID および Num of expected poses パラメータをそれぞれ設定します。各パラメータの説明は下表の通りです。
パラメータ 説明 Type of robot pose to send(ロボット位置姿勢のタイプ)
Mech-Visionプロジェクトに送信するロボットの位置姿勢タイプを指定します。本例では、Current position を選択しています。
-
Current position:ロボットの現在の関節角度およびフランジ位置姿勢をMech-Visionプロジェクトに送信します。カメラの取り付け方式がEye in Handの場合、必ずこのパラメータを使用してください。
-
Predefined JPs:ユーザーが事前に定義した関節角度をMech-Visionプロジェクトに送信します。この関節角度データは、Mech-Visionプロジェクト内の「経路計画」ステップに開始点として使用されます。つまり、ロボットはこの開始点から経路計画の最初の経路点に移動します。カメラの取り付け方式がEye To Handで、プロジェクト内に「経路計画」ステップが存在し、かつ事前撮影が必要な場合にこのパラメータを使用してください。
Mech-Vision Project ID(Mech-Visionプロジェクト番号)
Mech-Visionのプロジェクト番号です。Mech-Visionのプロジェクトリストで確認可能で、プロジェクト名の前に表示される数字がプロジェクト番号を表します。
Num of expected poses(返された位置姿勢の数)
Mech-Visionによって出力される位置姿勢の数を指定します。
-
値を0に設定した場合:Mech-Visionは認識されたすべての位置姿勢を返します。
-
値を1~20の整数に設定した場合:認識された位置姿勢の総数が指定した値より多い場合、Mech-Visionは指定した数の位置姿勢を返します。認識された位置姿勢の総数が指定した値より少ない場合、Mech-Visionは認識されたすべての位置姿勢を返します。
-
-
(オプション)Set Recipe ID をクリックすると、Set Recipe ID ノードは、プログラムツリーの Trigger Mech-Vision ノードの下に自動的に追加されます。
Set Recipe ID ノードをクリックし、右側の Set Recipe ID パネルで Project parameter recipe ID のパラメータ値を設定します。Mech-Vision Project ID のパラメータ値は、前のノードで設定した値と一致している必要があります。
-
-
Mech-Visionの結果の受信方式を設定します。
プログラムツリーで Receive Mech-Vision Result ノードをクリックし、Result type および Return pose type を設定した後、Set variables for saving returned data で設定を行います。
本サンプルの機能はMech-Visionから把持点を取得することを目的としているため、Result type には Basic または Custom のみを設定可能であり、Planned path を設定することはできません。 -
Result type が Basic に設定されている場合、Return pose type は Pose のみに設定可能です。これは、受信する位置姿勢がロボットのツール位置姿勢であることを意味します。その他のパラメータの説明は下表の通りです。
パラメータ 説明 Pose(位置姿勢)
ここでの位置姿勢とは、ロボットのツール位置姿勢を指します。Mech-Visionが出力する対象物の位置姿勢(「出力」ステップの poses ポートのデータ)は、ビジョンシステムによって自動的に対応するロボットのツール位置姿勢に変換されます。ロボットがアクティブなTCPを持っていれば、直接この位置姿勢へ移動可能です。デフォルトでは、位置姿勢は配列変数 pose[] に保存され、配列のインデックスは1から開始します。
Label(ラベル)
位置姿勢に対応するラベルで、整数値となります。デフォルトでは、ラベルは配列変数 label[] に保存され、配列のインデックスは1から開始します。
Total Received(受信した位置姿勢の数)
Mech-Visionから受信した位置姿勢の数です。デフォルトでは、受信数は変数 total_recv に保存されます。
Status Code(ステータスコード)
Mech-Visionから返されたステータスコードです。11xxは正常なステータスコードを示し、10xxはエラーコードを示します。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。デフォルトでは、ステータスコードは変数 status_code に保存されます。
Last Data(すべてのウェイポイントを取得済みか)
Mech-Visionからすべての認識済み位置姿勢を取得したかどうかを示します。値は0または1です。0は未取得、1はすべて取得済みを表します。デフォルトでは、この情報は変数 last_data に保存されます。
-
Result type が Custom に設定されている場合、Return pose type は Pose のみに設定可能です。これは、受信する位置姿勢がツール位置姿勢であることを意味します。その他のパラメータの説明は下表の通りです。また、Mech-Visionの「出力」ステップの ポートタイプ パラメータを「カスタム」に設定し、「poses」ポートが存在する必要があります。
パラメータ 説明 Pose(位置姿勢)
ここでの位置姿勢とは、ロボットのツール位置姿勢を指します。Mech-Visionが出力する対象物の位置姿勢(「出力」ステップの poses ポートのデータ)は、ビジョンシステムによって自動的に対応するロボットのツール位置姿勢に変換されます。ロボットがアクティブなTCPを持っていれば、直接この位置姿勢へ移動可能です。デフォルトでは、位置姿勢は配列変数 pose[] に保存され、配列のインデックスは1から開始します。
Label(ラベル)
位置姿勢に対応するラベルで、整数値となります。デフォルトでは、ラベルは配列変数 label[] に保存され、配列のインデックスは1から開始します。
Custom data(カスタムデータ)
位置姿勢に対応するカスタムデータです。デフォルトでは、カスタムデータは配列変数 custom_data[] に保存され、配列のインデックスは1から開始します。
Total Received(受信した位置姿勢の数)
Mech-Visionから受信した位置姿勢の数です。デフォルトでは、受信数は変数 total_recv に保存されます。
Status Code(ステータスコード)
Mech-Visionから返されたステータスコードです。11xxは正常なステータスコードを示し、10xxはエラーコードを示します。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。デフォルトでは、ステータスコードは変数 status_code に保存されます。
Last Data(すべてのウェイポイントを取得済みか)
Mech-Visionからすべての認識済み位置姿勢を取得したかどうかを示します。値は0または1です。0は未取得、1はすべて取得済みを表します。デフォルトでは、この情報は変数 last_data に保存されます。
-
-
最初の把持点を取得するため、以下の設定を行います。
pick_index:=… ノードをクリックし、右側のパネルで 式 の値を 1 に設定します。
pick_indexの設定は、後続のpick変数への代入に使用されます。数値1は、受信した最初の把持点の位置姿勢を変数 pick に代入することを意味し、数値2は、2番目の把持点の位置姿勢を pick に代入することを意味します。以下同様に続きます。この設定は、本サンプルプログラムをループ処理によって「1回の認識で複数把持」する機能へ拡張するために使用されます。 -
把持作業に関する設定を行います。
一回の把持作業は、3つの動作で構成されます:1つ目はPick_aboveで、ロボットは直線運動で把持のアプローチ点に移動させます。2つ目はPickで、ロボットは把持点に移動して対象物を把持します。3つ目はPick_departで、ロボットは対象物を把持したまま、直線運動で把持位置から離れます。
-
pick ノードをクリックし、右側パネルで Pick_above と Pick_depart に対して Dist と Coordinates をそれぞれ設定します。
-
pick ノードの下の MoveJ ノードをクリックし、右側の 移動 パネルの初期設定を使用します。
-
pick_above ノードをクリックし、右側の ウェイポイント パネルの初期設定を使用します。
-
MoveL ノードをクリックし、右側の 移動 パネルの初期設定を使用します。
-
pick ノードをクリックし、右側の ウェイポイント パネルの初期設定を使用します。
-
必要に応じて、pick ノードの後にロボットハンドの制御ロジックを追加することができます。
-
MoveJ ノードをクリックし、右側の 移動 パネルの初期設定を使用します。
-
pick_depart ノードを選択し、右側の ウェイポイント パネルの初期設定を使用します。
-
-
配置作業に関する設定を行います。
-
place ノードの下の MoveJ ノードをクリックし、右側の 移動 パネルの初期設定を使用します。
-
ロボットを手動で、把持する対象物を配置するための正確な位置に移動させます。
-
ティーチペンダントの画面に戻り、MoveJ ノードの下の place ノードをクリックし、右側の ウェイポイント パネルで ウェイポイントを設定 をクリックします。すると、移動 タブが表示されます。
-
移動 タブでは、ロボットが現在適切なフランジ位置にいることを確認し、OK をクリックします。
-
必要に応じて、place ノードの後にロボットハンドの制御ロジックを追加することができます。
-
これで、Mech-Vision(把持位置姿勢)を使用する簡単な把持・配置プログラムの作成が完了しました。下部にある をクリックしてプログラムを実行することができます。
With Mech-Vision(picking path)
With Mech-Vision(picking path)のプログラムを作成するには、以下の手順を実行します。
-
With Mech-Vision(picking path)のオプションを選択します。
-
ティーチペンダントの上部にある 新規... をクリックし、プログラム を選択して新しいプログラムを作成します。
-
上部にある プログラム をクリックし、
を選択します。Pick and Place サンプルプログラムノードは、左側パネルの ロボットプログラム に自動的に作成されます。 -
右側パネルの コマンド タブで、With Mech-Vision(picking path) をクリックします。プログラムテンプレートは、プログラムツリーの Pick and Place ノードに自動的に追加されます。
-
-
With Mech-Vision(picking points) の手順2を参照して、Host IP が Mech-Mind IPCのIPアドレスであることを確認します。
-
With Mech-Vision(picking points) の手順3を参照して、画像撮影点を設定します。
-
With Mech-Vision(picking points) の手順4を参照して、Mech-Visionプロジェクトを実行します。
-
Mech-Visionの結果の受信方式を設定します。
Receive Mech-Vision Result ノードをクリックし、Result type および Return pose type を設定した後、Set variables for saving returned data で設定を行います。
本サンプルの機能はMech-Visionから計画された経路を取得することを目的としているため、Result type には Planned path のみを設定可能です。 -
Result type が Planned path に設定されている場合、Return pose type が Pose であれば、受信する位置姿勢がツール位置姿勢であることを意味します。その他のパラメータの説明は下表の通りです。
パラメータ 説明 Pose(位置姿勢)
ここでの位置姿勢とは、ロボットのツール位置姿勢を指します。デフォルトでは、位置姿勢は配列変数 pose[] に保存され、配列のインデックスは1から開始します。
Label(ラベル)
位置姿勢に対応するラベルで、整数値となります。デフォルトでは、ラベルは配列変数 label[] に保存され、配列のインデックスは1から開始します。
ToolId(ツール番号)
位置姿勢に対応するロボットハンドの番号で、値は整数です。デフォルトでは、ロボットハンドの番号は配列変数 tool_id[] に保存され、配列の開始インデックスは1から開始します。
Total Received(受信した位置姿勢の数)
Mech-Visionから受信した位置姿勢の数です。デフォルトでは、受信数は変数 total_recv に保存されます。
Status Code(ステータスコード)
Mech-Visionから返されたステータスコードです。11xxは正常なステータスコードを示し、10xxはエラーコードを示します。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。デフォルトでは、ステータスコードは変数 status_code に保存されます。
Picking point index(把持位置姿勢のインデックス)
経路全体における経路計画設定ツールの「ビジョン処理による移動」ステップに対応する経路点(「ビジョン処理による移動」の経路点)の位置を示します。経路全体に「ビジョン処理による移動」の経路点がない場合、このパラメータは0になります。デフォルトでは、把持位置姿勢のインデックスが変数 vision_point に保存されます。
例えば、計画された経路が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」で構成されている場合、「ビジョン処理による移動」の位置番号は3になります。
Last Data(すべてのウェイポイントを取得済みか)
Mech-Visionからすべての計画された経路の位置姿勢を取得したかどうかを示します。値は0または1です。0は未取得、1はすべて取得済みを表します。デフォルトでは、この情報は変数 last_data に保存されます。
-
Result type が Planned path に設定されている場合、Return pose type が Jps であれば、受信する位置姿勢が関節角度であることを意味します。ラベルやツールなどのパラメータの説明については、上表の通りです。デフォルトでは、関節角度データは jps[] 配列変数に保存されます。jps[] 配列変数は直接使用しないでください。ユーザーは、この配列変数を抽出した後でなければ、関節角度を使用することはできません。本サンプルにおいては、以下の手順で関節角度を抽出できます。
-
Receive Mech-Vision Result ノードをクリックし、Return pose type を Jps に設定します。
-
target := pose[j] ノードをクリックし、画面最左側のパネルで
を順にクリックします。すると、Extract Jps ノードが追加されます。 -
Extract Jps ノードをクリックし、Variable Input にチェックを入れます。Extract index number に j を選択し、Save to variable name に target と入力します。
-
target := pose[j] ノードをクリックし、下部のツールバーにある 削除 をクリックすると、そのノードが削除されます。
-
-
-
ロボットが「経路計画」ステップによって出力された経路(アプローチ点、把持点、離れる点(配置点は除く))に従って動作するように、ロボットの動作ループを設定します。MoveLノードとMoveJノードの設定方法は、With Mech-Vision(picking points) の手順7をご参照ください。
-
実際には、ロボットの動作ループに複数の「pick_above MoveJ」ノード、1つの「pick MoveL」ノード、複数の「pick_depart MoveJ」ノードが含まれる可能性があります。
-
Receive Mech-Vision Result ノードで位置姿勢やラベルなどのパラメータの初期変数名を変更した場合は、それに合わせてこの手順の変数名も変更する必要があります。
-
-
With Mech-Vision(picking points) の手順8を参照して、配置作業に関する設定を行います。
これで、Mech-Vision(把持経路)を使用する簡単な把持・配置プログラムの作成が完了しました。下部にある をクリックしてプログラムを実行することができます。
With Mech-Viz
With Mech-Vizの把持・配置プログラムを作成するには、以下の手順を実行します。
-
With Mech-Vizのオプションを選択します。
-
ティーチペンダントの上部にある 新規... をクリックし、プログラム を選択して新しいプログラムを作成します。
-
上部にある プログラム をクリックし、
を選択します。Pick and Place サンプルプログラムノードは、左側パネルの ロボットプログラム に自動的に作成されます。 -
右側パネルの コマンド タブで、With Mech-Viz をクリックします。プログラムテンプレートは、プログラムツリーの Pick and Place ノードに自動的に追加されます。
-
-
Mech-Mind Connect ノードをクリックし、右側の Mech-Mind Connect パネルで Host IP が Mech-Mind のIPCのIPアドレスであることを確認します。
-
With Mech-Vision(picking points) の手順3を参照して、画像撮影点を設定します。
-
Mech-Vizプロジェクトを実行します。
-
Trigger Mech-Viz ノードをクリックし、右側の Trigger Mech-Viz パネルで Type of robot pose to send パラメータを設定します。パラメータ値の説明は下表の通りです。
パラメータ 説明 Type of robot pose to send(ロボット位置姿勢のタイプ)
Mech-Vizプロジェクトに送信するロボットの位置姿勢タイプを指定します。
-
Current Position:ロボットの現在の関節角度およびフランジ位置姿勢をMech-Vizプロジェクトに送信します。カメラの取り付け方式がEye in Handの場合、必ずこのパラメータを使用してください。
-
Predefined JPs:ユーザーが事前に定義した関節角度をMech-Vizプロジェクトに送信します。ロボットが撮影エリアの外にある状態で、あらかじめMech-Vizプロジェクトに次の経路を計画させたい場合に使用します。カメラの取り付け方式がEye to Handで、かつ事前撮影が必要な場合は、このパラメータを使用します。
-
Mech-Vizプロジェクト内に分岐ステップがある場合は、Set branch exit port をクリックし、手順bにスキップして分岐出口を設定します。
-
Mech-Vizプロジェクト内にインデックス付きのステップがある場合は、Set Index Value をクリックし、手順cにスキップしてインデックス値を設定します。
-
-
(オプション)Set Branch Value ノードをクリックし、右側パネルで Branch Step ID および Exit port number を設定します。
-
(オプション)プログラムツリーで Set Index Value ノードをクリックし、右側パネルで Move Step ID および Index value を設定します。
-
-
Mech-Vizの結果の受信形式を設定します。
Receive Mech-Viz Result ノードをクリックし、Mech-Vizの結果を保存するための変数名を設定します。
-
Return pose type が Pose の場合、受信した位置姿勢タイプはツール位置姿勢を意味します。その他のパラメータの説明は下表の通りです。
パラメータ 説明 Pose(位置姿勢)
ここでの位置姿勢とは、ロボットのツール位置姿勢を指します。デフォルトでは、位置姿勢は配列変数 pose[] に保存され、配列のインデックスは1から開始します。
Label(ラベル)
位置姿勢に対応するラベルで、整数値となります。デフォルトでは、ラベルは配列変数 label[] に保存され、配列のインデックスは1から開始します。
ToolId(ツール番号)
位置姿勢に対応するロボットハンドの番号で、値は整数です。デフォルトでは、ロボットハンドの番号は配列変数 tool_id[] に保存され、配列の開始インデックスは1から開始します。
Total Received(受信した位置姿勢の数)
Mech-Vizから受信した位置姿勢の数です。デフォルトでは、受信数は変数 total_recv に保存されます。
Status Code(ステータスコード)
Mech-Visionから返されたステータスコードです。21xxは正常なステータスコードを示し、20xxはエラーコードを示します。詳細については、標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。デフォルトでは、ステータスコードは変数 status_code に保存されます。
Picking point index(把持位置姿勢のインデックス)
経路全体におけるプロジェクト内の「ビジョン処理による移動」ステップに対応する経路点(「ビジョン処理による移動」の経路点)の位置を示します。経路全体に「ビジョン処理による移動」の経路点がない場合、このパラメータは0になります。デフォルトでは、把持位置姿勢のインデックスが変数 vision_point に保存されます。
例えば、計画された経路が「移動_1」、「移動_2」、「ビジョン処理による移動」、「移動_3」で構成されている場合、「ビジョン処理による移動」の位置番号は3になります。
Last Data(すべてのウェイポイントを取得済みか)
Mech-Vizからすべての計画された経路の位置姿勢を取得したかどうかを示します。値は0または1です。0は未取得、1はすべて取得済みを表します。デフォルトでは、この情報は変数 last_data に保存されます。
-
Return pose type が Jps の場合、受信した位置姿勢タイプは関節角度を意味します。ラベルやツールなどのパラメータの説明については、上表の通りです。デフォルトでは、関節角度データは jps[] 配列変数に保存されます。jps[] 配列変数は直接使用しないでください。ユーザーは、この配列変数を抽出した後でなければ、関節角度を使用することはできません。本サンプルにおいては、以下の手順で関節角度を抽出できます。
-
Receive Mech-Viz Result ノードをクリックし、Return pose type を Jps に設定します。
-
target := pose[j] ノードをクリックし、画面最左側のパネルで
を順にクリックします。すると、Extract Jps ノードが追加されます。 -
Extract Jps ノードをクリックし、Variable Input にチェックを入れます。Extract index number に j を選択し、Save to variable name に target と入力します。
-
target := pose[j] ノードをクリックし、下部のツールバーにある 削除 をクリックすると、そのノードが削除されます。
-
-
-
ロボットがMech-Vizで計画された経路(アプローチ点、把持点、離れる点(配置点は除く))に従って動作するように、ロボットの動作ループを設定します。MoveLノードとMoveJノードの設定方法は、With Mech-Vision(picking points) の手順7をご参照ください。
-
実際には、ロボットの動作ループに複数の「pick_above MoveJ」ノード、1つの「pick MoveL」ノード、複数の「pick_depart MoveJ」ノードが含まれる可能性があります。
-
Receive Mech-Viz Result ノードで位置姿勢やラベルなどのパラメータの初期変数名を変更した場合は、それに合わせてこの手順の変数名も変更する必要があります。
-
-
With Mech-Vision(picking points) の手順8を参照して、配置作業に関する設定を行います。
これで、Mech-Vizを使用する簡単な把持・配置プログラムの作成が完了しました。下部にある をクリックしてプログラムを実行することができます。