把持と配置を実行
Mech-Visionソリューションでワークの位置姿勢を取得した後、ロボットがワークの把持・配置を繰り返し実行するためにMech-Vizプロジェクトの構築が必要です。
本ガイドでは、衝突検出のためにロボットハンドの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 に設定します。 |
サンプル図 |