UR CBシリーズ(Polyscope 3.9以上)

現在ご覧いただいているのは最新版の内容です(V2.1.2)。異なるバージョンを参照する場合は、画面右上のボタンから切り替えが可能です。

■ ご利用中のバージョンが分からない場合や、サポートが必要な場合はお気軽にサポート窓口までご連絡ください。

プラグインのインストールと設定

以下では、UR CBシリーズロボットのMech-Mind 3D Vision Interface(URCapプラグイン)のインストールと設定について説明します。

前提条件

Mech-MindビジョンシステムとPolyscopeがバージョンの最小要件を満たすことを確認します。

Polyscopeのバージョンを確認するには、メイン画面の バージョン情報 をクリックします。

setup robot cb
about cb

URCapプラグインのインストール

URCapプラグインをインストールするには、以下の手順を実行します。

  1. Mech-VisionとMech-Vizソフトウェアのインストールディレクトリにある Communication Component\Robot_Interface\Robot_Plugin\UR_URCAP\Polyscope フォルダから、拡張子が.urcapのファイルをコピーして、USBメモリに貼り付けます。

  2. USBメモリをティーチペンダントに差し込みます。

  3. メイン画面の ロボットの設定 をクリックします。

    setup robot cb
  4. ロボットの設定 画面で、左側パネルの URCaps を選択します。

    urcaps button cb
  5. URCaps 画面で、+ をクリックしてUSBメモリに切り替え、URCapプラグイン(.urcapファイル)を見つけます。

    urcaps screen cb
  6. 設置するURCapを選択してください 画面で、URCapプラグインを選択し、開く をクリックします。すると、URCapプラグインが自動的にインストールされます。

  7. 再起動 をクリックすると、変更が有効になります。

    restart urcaps cb

これで、URCapプラグインは正常にティーチペンダントにインストールされます。

インストール後、ロボットのIPアドレスを設定する必要があります(ロボットの設定>ネットワーク で設定可能)。ロボットのIPアドレスは、IPCのIPアドレスと同じネットワークセグメント内にある必要があります。

Mech-Mind 3D Vision Interfaceの使用

使用する前に、Mech-VisionとMech-Viz(必要な場合)プロジェクトが実行可能で、Mech-MindのIPCがロボットに接続されていることを確認してください。

Mech-Mind 3D Vision Interfaceを使用するには、以下の設定が必要になります。

  1. Mech-Visionを起動します。表示される画面に応じて、以下のようにソリューションの作成方法を選択します。

    • ようこそ画面が表示されたら、ソリューションを新規作成 をクリックして新しい空白のソリューションを作成します。

    create solution 1
    • メイン画面が表示されたら、メニューバーの ファイル  ソリューションを新規作成 をクリックして新しい空白のソリューションを作成します。

    create solution 2
  2. Mech-Visionのツールバーで ロボット通信設定 をクリックします。

  3. ロボット通信設定 の画面で以下の設定を行います。

    1. ロボットを選択 のドロップダウンボックスをクリックし、適応可能なロボット を選択して ロボット型番を選択 をクリックします。表示される画面で特定のロボット型番を選択して 次へ をクリックします。

    2. 通信方式 の画面で、インターフェースサービスのタイプ標準インターフェース に、通信プロトコルTCP Server に、プロトコル形式ASCII に選択します。

    3. 詳細設定 を展開し、一度に送信する位置姿勢の最大数15 に設定します。

    4. ポート番号を50000(固定値、変更不可)に設定します。設定したポート番号が他のプログラムに使用されていないことを確認してください。

    5. (オプション) ソリューションを開くとインターフェースサービスを自動的に起動 にチェックを入れることを推奨します。

    6. 適用 をクリックします。

tcp ascii urcap
  1. Mech-Visionのメイン画面で、ツールバーのインターフェースサービスが起動されていることを確認します。

    interface service

Mech-Visionでインターフェースサービスを起動した後、UR ティーチペンダントで以下の操作を行って、インターフェースサービスに接続します。

  1. メイン画面の ロボットのプログラム をクリックします。

  2. 設置設定 タブに切り替え、左側パネルから Network Settings を選択します。すると、URCapプラグインの ネットワーク設定 画面が表示されます。

    network settings cb
  3. MechMind IPC IP AddressPort No. をそれぞれMech-Mind IPCのIPアドレスとポート番号(Mech-Visionの通信設定で設定されたポート番号と一致する必要があります)に設定し、Apply をクリックします。

  4. Connection Test をクリックします。

    • 接続に成功した場合は、下図のようなステータスメッセージが返されます。

      connection pass
    • 接続に失敗した場合は、下図のようなステータスメッセージが返されます。

      connection failed

    これはテスト目的のみに使用されます。接続に成功すると自動的に切断されます。したがって、Mech-Visionのログバーの コンソール タブにクライアント接続とクライアント切断のメッセージが表示されます。

プラグインによる自動キャリブレーション

標準インターフェース通信設定が完了した後、ロボットを接続して自動キャリブレーションを行うことができます。自動キャリブレーションは、下図のようなフローで行います。

calibration process

注意事項

キャリブレーションを実行する際に、ロボットを接続し、Mech-Visionソフトウェア画面に ロボットとの接続を待機中… が表示された場合、本文に記載された手順に従い、ロボット側で操作を行ってください。操作が完了した後、Mech-Visionソフトウェアで残りの手順を続けて実行してください。

キャリブレーションプログラムの作成

  1. ティーチペンダントで ロボットのプログラム  プログラム を選択し、空のプログラム をクリックします。

  2. 構造  URCaps を選択し、URCaps タブで Mech-Mind Calibrate をクリックします。Calibrate サンプルプログラムノードは、左側パネルの ロボットプログラム に自動的に作成されます。

    add calibrate node cb

    作成されたサンプルプログラムノードはテンプレートです。キャリブレーションプログラムをさらに設定し、キャリブレーションの初期位置を設定する必要があります。

キャリブレーションの初期位置を設定

  1. Calibrate ノードをダブルクリックし、右側パネルの コマンド タブから、Receive Point Type from Mech-Vision を実際の状況に応じて設定します。

    set calibrate node cb
  2. 次へ をクリックして MoveJ ノードへ進み、右側の 移動 パネルで動作タイプ(MoveJ、MoveLまたはMoveP)設定し、TCPを設定ツールフランジの利用 に設定して、ウェイポイントがフランジ位置姿勢として記録されるようにします。

    set movej cb
  3. ロボットを手動でキャリブレーションの初期位置に移動させます。

    キャリブレーションの開始点は、キャリブレーションボードの位置と点群品質を確認 する時にロボットがいた位置を選択することができます。

  4. ティーチペンダントの画面に戻り、左側パネルの start_pose ノードを選択し、右側の ウェイポイント パネルで ウェイポイントを設定 をクリックします。すると、移動 タブが表示されます。

    teach startpoint cb
  5. 移動 タブでは、ロボットが現在適切なフランジ位置にいることを確認し、OK をクリックします。

    confirm waypoint cb

キャリブレーションプログラムを実行

  1. 左側パネルの ロボットプログラム プログラムツリーを選択し、このプログラムを1回のみ実行するために、右側パネルで 無限ループ のチェックを外します。

    run calibrate cb
  2. 安全のため、ロボットの速度を適切な値、例えば10%に調整してください。

  3. 下部にある run cb ボタンをクリックしてプログラムを実行することができます。

  4. Mech-Visionの キャリブレーション 画面では、ロボットを接続 の下に「接続済み」の状態が表示され、ボタンが ロボットとの接続を待機中… から 接続を切断 に変わったら、次へ をクリックします。

    start calilbration1
  5. 次に、キャリブレーションを実行 の4番目の手順(動作経路を設定)および残りの設定を実行します。以下の内容をご参照ください。

    • Eye to handカメラ取り付け方式の場合、こちらのマニュアル を参照して残りの操作を実行してください。

    • Eye to handカメラ取り付け方式の場合、こちらのマニュアル を参照して残りの操作を実行してください。

後で使用するためにキャリブレーションプログラムを保存するには、ファイル  名前を付けて保存... を選択します。

save program cb

キャリブレーションが完了したら、把持・配置プログラム を作成してURロボットを制御し、ビジョンシステムによる把持と配置を実行します。

把持・配置プログラムを作成

URCapプラグインは、ごくわずかなプログラミング作業で作成できる把持・配置のサンプルノードを提供します。

把持・配置のサンプルプログラムノードには、3つのオプションが提供されています。

  • With Mech-Vision(picking points):これは、Mech-Visionプロジェクト(「経路計画」ステップを含まない)のみを使用し、ロボットがMech-Vizによって計画された動作経路を必要としない場合に適しています。

  • With Mech-Vision(picking path):これは、Mech-Visionプロジェクト(「経路計画」ステップを含む)のみを使用し、ロボットがMech-Vizによって計画された動作経路を必要としない場合に適しています。

  • With Mech-Viz:これは、Mech-VizプロジェクトとMech-Visionプロジェクトを併用し、ロボットに衝突のない動作経路を提供する場合に適しています。

  • 以下の例は、現在使用中のロボットハンドとツールセンターポイント(TCP)が正しく設定されていることを前提としています。

  • ユーザーは実際の状況に応じて、このプログラムを基に変更を加える必要があります。このプログラムをそのまま使用しないでください。

With Mech-Vision(picking points)

With Mech-Vision(picking points)のプログラムを作成するには、以下の手順を実行します。

  1. With Mech-Vision(picking points)のオプションを選択します。

    1. ティーチペンダントで ロボットのプログラム  プログラム  空のプログラム を選択します。

    2. 構造  URCaps を選択し、URCaps タブで Mech-Mind Pick and Place をクリックします。 Pick and Place サンプルプログラムノードは、左側パネルの ロボットプログラム に自動的に作成されます。

      add pick place node cb
    3. コマンド タブに切り替え、 With Vision(picking points) をクリックします。

      select pick place option cb
    4. プログラムテンプレートが自動的にプログラムツリーの Pick and Place ノードに追加されたら、次へ をクリックします。

      display vision option cb
  2. Mech-Mind Connect ノードを選択し、右側パネルで Host IP がMech-MindのIPCのIPアドレスであることを確認します。

    verify host ip vision cb
  3. 画像撮影点を設定します。

    1. ロボットを手動で適切な位置に移動させます。Mech-Visionはここで撮影をトリガーします。

      • Eye in Handの場合、ロボットがワークの上方に配置する必要があります。

      • Eye to Handの場合、ロボットがカメラの視野を遮らないように配置する必要があります。

    2. ティーチペンダント画面に戻り、次へ をクリックし、MoveJ ノードへ進みます。右側の 移動 パネルで動作タイプ(MoveJ、MoveLまたはMoveP)を設定し、TCPを設定アクティブTCPを使用 に設定し、次へ をクリックします。

      set movej capture cb
    3. 右側の ウェイポイント パネルで ウェイポイントを設定 をクリックします。すると、移動 タブが表示されます。

      set waypoint capture cb
    4. 移動 タブでは、ロボットの現在TCP位置姿勢が適切であることを確認し、OK をクリックします。

      confirm waypoint cb
    5. 画像撮影点を設定したら、次へ をクリックします。

  4. Mech-Visionプロジェクトを実行します。

    1. 右側の Trigger Mech-Vision パネルで Type of robot pose to sendMech-Vision Project ID および Num of expected poses パラメータをそれぞれ設定します。各パラメータの説明は下表の通りです。

      trigger vision cb
      パラメータ 説明

      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は認識されたすべての位置姿勢を返します。

    2. (オプション)Set the Recipe ID をクリックすると、Set Recipe ID ノードは、プログラムツリーの Trigger Mech-Vision ノードの下に自動的に追加されます。

      Set Recipe ID ノードをダブルクリックし、右側の Set Recipe ID パネルで Project parameter recipe ID のパラメータ値を設定します。Mech-Vision Project ID のパラメータ値は、前のノードで設定した値と一致している必要があります。その後、次へ をクリックします。

      set receipe id
  5. 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 を設定することはできません。
    receive vision result cb
    • Result typeBasic に設定されている場合、Return pose typePose のみに設定可能です。これは、受信する位置姿勢がロボットのツール位置姿勢であることを意味します。その他のパラメータの説明は下表の通りです。

      パラメータ 説明

      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 typeCustom に設定されている場合、Return pose typePose のみに設定可能です。これは、受信する位置姿勢がツール位置姿勢であることを意味します。その他のパラメータの説明は下表の通りです。また、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 に保存されます。

  6. 最初の把持点を取得するため、以下の設定を行います。

    pick_index:=…​ ノードをダブルクリックし、右側のパネルで の値を 1 に設定します。その後、次へ をクリックします。

    set pick index cb
    pick_indexの設定は、後続のpick変数への代入に使用されます。数値1は、受信した最初の把持点の位置姿勢を変数 pick に代入することを意味し、数値2は、2番目の把持点の位置姿勢を pick に代入することを意味します。以下同様に続きます。この設定は、本サンプルプログラムをループ処理によって「1回の認識で複数把持」する機能へ拡張するために使用されます。
  7. 把持作業に関する設定を行います。

    一回の把持作業は、3つの動作で構成されます:1つ目はPick_aboveで、ロボットは直線運動で把持のアプローチ点に移動させます。2つ目はPickで、ロボットは把持点に移動して対象物を把持します。3つ目はPick_departで、ロボットは対象物を把持したまま、直線運動で把持位置から離れます。

    1. 右側パネルで Pick_abovePick_depart のパラメータ DistCoordinates をそれぞれ設定し、次へ をクリックします。

      set distance coordinates cb
    2. MoveJ ノードを選択し、右側の 移動 パネルで初期設定を使用し、次へ をクリックします。

    3. pick_above ノードを選択し、右側の ウェイポイント パネルの初期設定を使用し、次へ をクリックします。

    4. MoveL ノードを選択し、右側の 移動 パネルの初期設定を使用し、次へ をクリックします。

    5. pick ノードを選択し、右側の ウェイポイント パネルの初期設定を使用し、次へ をクリックします。

    6. 必要に応じて、pick ノードの後にロボットハンドの制御ロジックを追加することができます。

    7. MoveJ ノードを選択し、右側の 移動 パネルで初期設定を使用し、次へ をクリックします。

    8. pick_depart ノードを選択し、右側の ウェイポイント パネルの初期設定を使用し、次へ をクリックします。

  8. 配置作業に関する設定を行います。

    1. 次へ をクリックして MoveJ ノードへ進みます。

    2. MoveJ ノードを選択し、右側の 移動 パネルで初期設定を使用し、次へ をクリックします。

    3. ロボットを手動で、把持する対象物を配置するための正確な位置に移動させます。

    4. ティーチペンダントの画面に戻り、右側の ウェイポイント パネルで ウェイポイントを設定 をクリックします。すると、移動 タブが表示されます。

      set waypoint place cb
    5. 移動 タブでは、ロボットが現在適切なフランジ位置にいることを確認し、OK をクリックします。

      confirm waypoint cb
    6. 配置時のロボットの位置姿勢を設定したら、次へ をクリックします。

    7. 必要に応じて、place ノードの後にロボットハンドの制御ロジックを追加することができます。

これで、Mech-Vision(把持位置姿勢)を使用する簡単な把持・配置プログラムの作成が完了しました。下部にある run cb をクリックしてプログラムを実行することができます。

With Mech-Vision(picking path)

With Mech-Vision(picking path)のプログラムを作成するには、以下の手順を実行します。

  1. With Mech-Vision(picking path)のオプションを選択します。

    1. ティーチペンダントで ロボットのプログラム  プログラム  空のプログラム を選択します。

    2. 構造  URCaps を選択し、URCaps タブで Mech-Mind Pick and Place をクリックします。 Pick and Place サンプルプログラムノードは、左側パネルの ロボットプログラム に自動的に作成されます。

      add pick place node cb
    3. コマンド タブに切り替え、 With Vision(picking path) をクリックします。

      select pick place option cb
    4. プログラムテンプレートが自動的にプログラムツリーの Pick and Place ノードに追加されたら、次へ をクリックします。

      display vision path option cb
  2. With Mech-Vision(picking points) の手順2を参照して、 Host IP が Mech-Mind IPCのIPアドレスであることを確認します。

  3. With Mech-Vision(picking points) の手順3を参照して、画像撮影点を設定します。

  4. With Mech-Vision(picking points) の手順4を参照して、Mech-Visionプロジェクトを実行します。

  5. Mech-Visionの結果の受信形式を設定します。

    Receive Mech-Vision Result ノードをクリックし、Result type および Return pose type を設定した後、Set variables for saving returned data で設定を行います。その後、次へ をクリックします。

    本サンプルの機能はMech-Visionから計画された経路を取得することを目的としているため、Result type には Planned path のみを設定可能です。
    receive vision path result cb
    • Result typePlanned path に設定されている場合、Return pose typePose であれば、受信する位置姿勢がツール位置姿勢であることを意味します。その他のパラメータの説明は下表の通りです。

      パラメータ 説明

      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 typePlanned path に設定されている場合、Return pose typeJps であれば、受信する位置姿勢が関節角度であることを意味します。ラベルやツールなどのパラメータの説明については、上表の通りです。デフォルトでは、関節角度データは jps[] 配列変数に保存されます。jps[] 配列変数は直接使用しないでください。ユーザーは、この配列変数を抽出した後でなければ、関節角度を使用することはできません。本サンプルにおいては、以下の手順で関節角度を抽出できます。

      • Receive Mech-Vision Result ノードをダブルクリックし、Return pose typeJps に設定します。

      • target := pose[j] ノードをダブルクリックし、構造  URCaps  MM Extract JPS を順にクリックします。すると、Extract Jps ノードが追加されます。

        get vis jps 1
      • Extract Jps ノードをダブルクリックし、Variable Input にチェックを入れます。Extract index numberj を選択し、Save to variable nametarget と入力します。

        get vis jps 2
      • target := pose[j] ノードをダブルクリックし、構造 をクリックし、編集オプションから 削除 をクリックします。

        get vis jps 3
  6. ロボットが「経路計画」ステップによって出力された経路(アプローチ点、把持点、離れる点(配置点は除く))に従って動作するように、ロボットの動作ループを設定します。MoveLノードとMoveJノードの設定方法は、With Mech-Vision(picking points) の手順7をご参照ください。

    • 実際には、ロボットの動作ループに複数の「pick_above MoveJ」ノード、1つの「pick MoveL」ノード、複数の「pick_depart MoveJ」ノードが含まれる可能性があります。

    • Receive Mech-Vision Result ノードで位置姿勢やラベルなどのパラメータの初期変数名を変更した場合は、それに合わせてこの手順の変数名も変更する必要があります。

  7. With Mech-Vision(picking points) の手順8を参照して、配置作業に関する設定を行います。

これで、Mech-Vision(把持経路)を使用する簡単な把持・配置プログラムの作成が完了しました。下部にある run cb をクリックしてプログラムを実行することができます。

With Mech-Viz

With Mech-Vizの把持・配置プログラムを作成するには、以下の手順を実行します。

  1. With Mech-Vizのオプションを選択します。

    1. ティーチペンダントで ロボットのプログラム  プログラム  空のプログラム を選択します。

    2. 構造  URCaps を選択し、URCaps タブで Mech-Mind Pick and Place をクリックします。Pick and Place サンプルプログラムノードは、左側パネルの ロボットプログラム に自動的に作成されます。

      add pick place node cb
    3. コマンド タブに切り替え、With Mech-Viz をクリックします。

      select pick place option cb
    4. プログラムテンプレートが自動的にプログラムツリーの Pick and Place ノードに追加されたら、次へ をクリックします。

      display viz option cb
  2. Mech-Mind Connect ノードを選択し、右側パネルで Host IP がMech-MindのIPCのIPアドレスであることを確認します。

    verify host ip viz cb
  3. With Mech-Vision(picking points) の手順3を参照して、画像撮影点を設定します。

  4. Mech-Vizプロジェクトを実行します。

    1. 右側の Trigger Mech-Viz パネルで Type of robot pose to send パラメータを設定します。パラメータ値の説明は下表の通りです。

      trigger viz cb
      パラメータ 説明

      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にスキップしてインデックス値を設定します。

    2. (オプション)プログラムツリーで Set Branch Value ノードを選択し、右側パネルで Branch Step IDExit port number パラメータを設定し、次へ をクリックします。

      set branch value cb
    3. (オプション)プログラムツリーで Set Index Value ノードを選択し、右側パネルで Move Step IDIndex value パラメータをそれぞれ設定し、次へ をクリックします。

      set index value cb
  5. Mech-Vizの結果の受信形式を設定します。

    プログラムツリーで Receive Mech-Viz Result ノードをダブルクリックし、Mech-Vizの結果を保存するための変数名を設定します。その後、次へ をクリックします。

    receive viz result cb
    • Return pose typePose の場合、受信した位置姿勢タイプはツール位置姿勢を意味します。その他のパラメータの説明は下表の通りです。

      パラメータ 説明

      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 typeJps の場合、受信した位置姿勢タイプは関節角度を意味します。ラベルやツールなどのパラメータの説明については、上表の通りです。デフォルトでは、関節角度データは jps[] 配列変数に保存されます。jps[] 配列変数は直接使用しないでください。ユーザーは、この配列変数を抽出した後でなければ、関節角度を使用することはできません。本サンプルにおいては、以下の手順で関節角度を抽出できます。

      • Receive Mech-Viz Result ノードをダブルクリックし、Return pose typeJps に設定します。

      • target := pose[j] ノードをダブルクリックし、構造  URCaps  MM Extract JPS を順にクリックします。すると、Extract Jps ノードが追加されます。

        get viz jps 1
      • Extract Jps ノードをダブルクリックし、Variable Input にチェックを入れます。Extract index numberj を選択し、Save to variable nametarget と入力します。

        get viz jps 2
      • target := pose[j] ノードをダブルクリックし、構造 をクリックし、編集オプションから 削除 をクリックします。

        get viz jps 3
  6. ロボットがMech-Vizで計画された経路(アプローチ点、把持点、離れる点(配置点は除く))に従って動作するように、ロボットの動作ループを設定します。MoveLノードとMoveJノードの設定方法は、With Mech-Vision(picking points) の手順7をご参照ください。

    • 実際には、ロボットの動作ループに複数の「pick_above MoveJ」ノード、1つの「pick MoveL」ノード、複数の「pick_depart MoveJ」ノードが含まれる可能性があります。

    • Receive Mech-Viz Result ノードで位置姿勢やラベルなどのパラメータの初期変数名を変更した場合は、それに合わせてこの手順の変数名も変更する必要があります。

  7. With Mech-Vision(picking points) の手順8を参照して、配置作業に関する設定を行います。

これで、Mech-Vizを使用する簡単な把持・配置プログラムの作成が完了しました。下部にある run cb をクリックしてプログラムを実行することができます。

この情報は役に立ちましたか?

ご意見・ご要望がございましたら、以下よりお寄せください:

Mech-Mindは、お客様のプライバシーを重視しています

このサイトでは最高の体験を提供するために Cookie を使用しています。サイトの閲覧を続ける場合、Cookie の使用に同意したことになります。「拒否する」を選択すると、このサイトを訪れた際に追跡や記憶が行われないように単独の Cookie が使用されます。