把持と配置を実行
Mech-Visionソリューションでワークの位置姿勢を取得した後、ロボットがワークの把持・配置を繰り返し実行するためにMech-Vizプロジェクトの構築が必要です。
本ガイドでは、衝突検出のためにロボットハンドのOBJ形式のモデルファイルが必要です。ロボットハンドのOBJ形式のモデルファイルを事前に準備してください。 |
今回作成したプロジェクトは下図のような流れで処理を行います。
ロボットとシーンの設定
ロボットの把持・配置時に周囲の対象物との衝突を避けるため、衝突検出のためのロボットハンドモデル、シーンモデル、箱モデルをプロジェクトに追加する必要があります。
ロボットハンドモデルのインポートと設定
ロボットハンドとは、ロボット先端に取り付けられ、対象物を扱う/把持するための装置を指します。 |
ロボットハンドのインポートと設定を行う目的は、ロボットハンドのモデルを仮想空間に表示し、衝突検出に利用できるようにするためです。
ロボットハンドのモデルのインポート
-
の+をクリックします。
リソースとは、ロボットやロボットハンド、対象物、シーンの物体など、プロジェクトを構築するための要素を指します。
-
表示される画面でOBJ形式の衝突モデルのファイルを選択して開くをクリックします。
-
モデルのインポートが完了すると、モデルライブラリでインポートしたモデルが表示できるようになります。
シーンモデルのインポートと設定
シーンモデルをインポートして設定する目的は、実際の作業現場を再現することで、ロボットの動作経路を計画できるようにすることです。
箱モデルの追加と設定
-
「箱モデル」を追加して設定します。
の+をクリックします。
表示される画面で、「把持ボックス」を物体名と入力し、「箱」をシーンモデルとして選択します。測定された実際の箱の寸法に従って「物体の寸法」を設定してから、OKをクリックします。
設定されると、「把持ボックス」が仮想空間に表示できるようになります。
-
「把持ボックス」モデルを調整します。
実際の箱の位置を取得するために、Mech-Visionプロジェクトを実行して実際の箱の点群をMech-Vizに送信する必要があります。その後、実際の箱の点群に応じて「把持ボックス」モデルの位置を調整します。
マウスの左ボタンを押しながら Ctrl を押し、「把持ボックス」モデルの座標軸をドラッグして位置を調整します。調整完了後、「把持ボックス」モデルは以下のような位置になります。
-
「配置ボックス」モデルを追加して設定します。
下図に示すように、上記と同様な方法で「配置ボックス」モデルを追加して設定します。
これで、Mech-Vizプロジェクトに必要なリソースの追加と設定が完了しました。
ワークフローの構築
モデルの設定が完了したら、ワークフローの構築を行います。プリセットプログラムの機能は、ステップライブラリからプロジェクト編集エリアにステップをドラッグし、ステップパラメータを設定し、ステップをつなぐことで実現します。
|
「初期位置」を定義
初期位置はロボット動作の開始位置だけでなく、安全な位置でもあります。この位置で、ロボットが把持する対象物や周囲の機器から離れ、カメラの視野を遮らないようにする必要があります。
ロボットをカスタイズされた初期位置に移動させた後、ステップライブラリから移動を選択し、プロジェクト編集エリアにドラッグして「初期位置」という名前を付けます。ツールバーのロボットを同期させるをクリックし、現在ロボットにいる位置姿勢を記録します。
カメラ撮影
ステップ |
ビジョン処理による認識 |
説明 |
Mech-Visionプロジェクトを実行し、ビジョン結果を取得します。 |
操作 |
ステップライブラリから「ビジョン処理による移動」を選択し、プロジェクト編集エリアにドラッグします。 |
パラメータ設定 |
ビジョンサービス名のドロップダウンリストでGeneral Workpiece Recognitionを選択します。 |
サンプル図 |
ビジョン結果があるかどうかを確認するために、「ビジョン処理による移動」の後にビジョン処理の結果をチェックを追加します。
ステップ |
ビジョン処理の結果をチェック |
説明 |
ビジョン結果があるかどうかを確認します。 |
操作 |
ステップライブラリから「ビジョン処理の結果をチェック」を選択し、プロジェクト編集エリアにドラッグします。 |
パラメータ設定 |
パラメータの調整は不要です。 |
経路点に近接する位置に移動
ビジョン結果を取得したら、相対移動ステップを使用してロボットを経路点に近接する位置に移動させます。
ステップ |
相対移動 |
説明 |
ビジョン結果に従って移動します。 |
操作 |
ステップライブラリから「相対移動」を選択し、プロジェクト編集エリアにドラッグして「経路点に近接」という名前を付けます。 |
パラメータ設定 |
移動基準を次の経路点に対してに設定し、目標点タイプをロボットハンドに設定し、Z軸の座標を-200mmに設定します。 |
サンプル図 |
|
ワークの把持
ロボットが経路点に近接する位置に移動したら、次の2つの手順で把持するように制御することができます。
-
手順1:ビジョン処理による移動ステップを使用して、ロボットをワークの位置に移動させます。
-
手順2:DOを設定ステップを使用して、ロボットハンドを開いてワークを把持します。
詳細は以下の通りです。
ステップ |
ビジョン処理による移動 |
説明 |
ビジョン結果に従って移動します。 |
操作 |
ステップライブラリから「ビジョン処理による移動」を選択し、プロジェクト編集エリアにドラッグします。 |
パラメータ設定 |
ビジョンサービス名のドロップダウンリストでGeneral Workpiece Recognitionを選択します。 |
サンプル図 |
ステップ |
DOを設定 |
説明 |
ロボットハンドを開いてワークを把持します。 |
操作 |
ステップライブラリから「DOを設定」を選択し、プロジェクト編集エリアにドラッグして「ハンド開」という名前を付けます。 |
パラメータ設定 |
DO値とDOポートを1に設定します。 |
サンプル図 |
ロボットハンドが開くのに時間がかかるので、ロボットが把持しても、何も把持しないように待つのステップを追加する必要があります。
ステップ |
待つ |
説明 |
ロボットが把持しても、何も把持しないことを防ぎます。 |
操作 |
ステップライブラリから「待つ」を選択し、プロジェクト編集エリアにドラッグして「把持待ち」という名前を付けます。 |
パラメータ設定 |
待ち時間を1000msに設定します。 |
サンプル図 |
経路点から離れる位置に移動
ロボットがワークを把持したら、相対移動ステップを使用してロボットを経路点から離れる位置に移動させます。
ステップ |
相対移動 |
説明 |
ビジョン結果に従って移動します。 |
操作 |
ステップライブラリから「相対移動」を選択し、プロジェクト編集エリアにドラッグして「経路点から離れる」という名前を付けます。 |
パラメータ設定 |
移動基準を次の経路点に対してに設定し、目標点タイプをロボットハンドに設定し、Z軸の座標を-200mmに設定します。 |
サンプル図 |
|
ワークの配置
ロボットがワークを把持したら、次の2つの手順でワークを配置ボックスに配置します。
-
手順1:移動ステップを使用して、ロボットを配置ボックスの位置に移動させます。
-
手順2:DOを設定ステップを使用して、ロボットハンドを閉じてワークを配置します。
詳細は以下の通りです。
ステップ |
移動 |
説明 |
ロボットを配置ボックスの位置に移動させます。 |
操作 |
ステップライブラリから「移動」を選択し、プロジェクト編集エリアにドラッグして「配置位置」という名前を付けます。 |
パラメータ設定 |
TCP位置姿勢を配置位置とするために、それを正しく設定する必要があります。 |
サンプル図 |
ステップ |
DOを設定 |
説明 |
ロボットハンドを閉じてワークを配置します。 |
操作 |
ステップライブラリから「DOを設定」を選択し、プロジェクト編集エリアにドラッグして「ハンド閉」という名前を付けます。 |
パラメータ設定 |
DO値を0に、DOポートを1に設定します。 |
サンプル図 |
ロボットハンドが閉じるのに時間がかかるので、ロボットがワークの配置に失敗するのを防ぐために待つステップを追加する必要があります。
ステップ |
待つ |
説明 |
ロボットがワークの配置に失敗するのを防ぎます。 |
操作 |
ステップライブラリから「待つ」を選択し、プロジェクト編集エリアにドラッグして「配置待ち」という名前を付けます。 |
パラメータ設定 |
待ち時間を1000msに設定します。 |
サンプル図 |