把持と配置を実行
Mech-Visionソリューションを使用して段ボール箱の位置姿勢を取得した後、ロボットが段ボール箱の把持・配置を繰り返し実行するためにMech-Vizプロジェクトの構築が必要です。
動画:把持と配置
|
今回作成したプロジェクトは下図のような流れで処理を行います。
ロボットとシーンの設定
ロボットの把持・配置時に周囲の対象物との衝突を避けるため、衝突検出のためのロボットハンドモデルとシーンモデルをプロジェクトに追加する必要があります。設定手順は下図に示します。
ロボットハンドモデルのインポートと設定
|
ロボットハンドのインポートと設定を行う目的は、ロボットハンドのモデルを仮想空間に表示し、衝突検出に利用できるようにするためです。
ロボットハンドのモデルのインポート
-
の + をクリックします。
リソースとは、ロボットやロボットハンド、対象物、シーンの物体など、プロジェクトを構築するための要素を指します。
-
表示される画面でOBJ形式の衝突モデルのファイルを選択して 開く をクリックします。
-
モデルのインポートが完了すると、モデルライブラリでインポートしたモデルが表示できるようになります。
ワークフローの構築
モデルの設定が完了したら、ワークフローの構築を行います。プリセットプログラムの機能は、ステップライブラリからプロジェクト編集エリアにステップをドラッグし、ステップパラメータを設定し、ステップをつなぐことで実現します。
|
「初期位置」を定義
初期位置はロボット動作の開始位置だけでなく、安全な位置でもあります。この位置で、ロボットが把持する対象物や周囲の機器から離れ、カメラの視野を遮らないようにする必要があります。
ロボットをカスタイズされた初期位置に移動させた後、ステップライブラリから 移動 を選択し、プロジェクト編集エリアにドラッグして「初期位置」という名前を付けます。ツールバーの ロボットを同期させる をクリックし、現在ロボットにいる位置姿勢を記録します。
撮影をトリガー
ステップ |
ビジョン処理による認識 |
説明 |
Mech-Visionプロジェクトを実行し、ビジョン結果を取得します。 |
操作 |
ステップライブラリから ビジョン処理に認識 を選択し、プロジェクト編集エリアにドラッグします。 |
パラメータ設定 |
ビジョンサービス名 のドロップダウンリストでSingle_Case_Cartonsを選択します。 |
サンプル図 |
ビジョン結果があるかどうかを確認するために、「ビジョン処理による移動」の後にビジョン処理の結果をチェックを追加します。
ステップ |
ビジョン処理の結果をチェック |
説明 |
ビジョン結果があるかどうかを確認します。 |
操作 |
ステップライブラリから ビジョン処理の結果をチェック を選択し、プロジェクト編集エリアにドラッグします。 |
パラメータ設定 |
パラメータの調整は不要です。 |
把持位置に近接する経路点に移動
段ボール箱を把持する際、ロボットが初期位置から把持位置まで直接移動すると、段ボール箱と衝突する可能性があります。したがって、ビジョン結果を取得した後、相対移動 ステップを使用してロボットを経路点に近接する位置に移動させる必要があります。
ステップ |
相対移動 |
説明 |
ビジョン結果に従って移動します。 |
操作 |
ステップライブラリから 相対移動 を選択し、プロジェクト編集エリアにドラッグして「経路点に近接1」という名前を付けます。 |
パラメータ設定 |
相対移動基準点 では、移動基準 を 次の経路点に対して に設定し、目標点タイプ を ロボットハンド に設定し、Z軸 の座標を適切な値(-300mmなど)に設定します。 |
サンプル図 |
|
段ボール箱の把持
ロボットが把持位置に近接する経路点に移動すると、次の2つの手順で箱を把持できます。
-
手順1:ビジョン処理による移動ステップを使用して、ロボットを段ボール箱の把持位置に移動させます。
-
手順2:DOを設定ステップを使用して、ロボットが吸盤を通して段ボール箱の把持をさせます。
詳細は以下の通りです。
ステップ |
ビジョン処理による移動 |
説明 |
ビジョン結果に従って移動します。 |
操作 |
ステップライブラリから ビジョン処理による移動 を選択し、プロジェクト編集エリアにドラッグします。 |
パラメータ設定 |
ビジョンサービス名 のドロップダウンリストでSingle_Case_Cartonsを選択します。 |
サンプル図 |
ステップ |
DOを設定 |
説明 |
吸盤を制御して段ボール箱を吸着します。 |
操作 |
ステップライブラリから DOを設定 を選択し、プロジェクト編集エリアにドラッグして「箱吸着」という名前を付けます。 |
パラメータ設定 |
DO値とDOポートを1に設定します。このパラメータ値は参考値であり、実際の現場要件に応じて設定してください。 |
サンプル図 |
ロボットが移動する前に吸盤が箱をしっかりと吸着するために、待つステップを追加します。
ステップ |
待つ |
説明 |
ロボットが箱の把持に失敗するのを防ぎます。 |
操作 |
ステップライブラリから 待つ を選択し、プロジェクト編集エリアにドラッグして「把持待ち」という名前を付けます。 |
パラメータ設定 |
待ち時間を1000msに設定します。 |
サンプル図 |
把持位置から離れる経路点に移動
ロボットが箱を把持した後、箱とシーン物体との衝突を防ぐための相対移動を使用して、ロボットを把持位置から離れる経路点に移動させます。
ステップ |
相対移動 |
説明 |
ビジョン結果に従って移動します。 |
操作 |
ステップライブラリから 相対移動 を選択し、プロジェクト編集エリアにドラッグして「経路点から離れる」という名前を付けます。 |
パラメータ設定 |
相対移動基準点 では、移動基準 を 次の経路点に対して に設定し、目標点タイプ を ロボットハンド に設定し、Z軸 の座標を箱の高さより大きい値に設定します。例えば、段ボール箱の高さが500mmの場合、Z を-600mmに設定します。 |
サンプル図 |
|
把持・配置経路の最適化
衝突を避けるために、経路点から離れた後に中間点を追加するための移動ステップが必要です。これにより、把持・配置経路の最適化を実現しています。
ステップ |
移動 |
説明 |
把持・配置経路を最適化します。 |
操作 |
ステップライブラリから 移動 を選択し、プロジェクト編集エリアにドラッグして「中間点」という名前を付けます。 |
パラメータ設定 |
目標点タイプを関節角度を設定し、関節角度の各値を設定します。 |
サンプル図 |
|
配置位置に近接する経路点に移動
ロボットが箱を配置する前に、箱とシーンとの衝突を防ぐための相対移動ステップを使用して、ロボットを配置位置に近接する経路点に移動させます。
ステップ |
相対移動 |
説明 |
ビジョン結果に従って移動します。 |
操作 |
ステップライブラリから 相対移動 を選択し、プロジェクト編集エリアにドラッグして「経路点に近接2」という名前を付けます。 |
パラメータ設定 |
相対移動基準点 では、移動基準 を 次の経路点に対して に設定し、目標点タイプ を ロボットハンド に設定し、Z軸 の座標を適切な値(-200mm など)に設定します。 |
サンプル図 |
|
段ボール箱の配置
ロボットが配置位置に近接する経路点に移動すると、次の2つの手順で手順で箱を配置できます。
-
手順1:移動ステップを使用して、ロボットを配置位置に移動させます。
-
手順2:DOを設定ステップを使用して、吸盤の吸着を解除して箱を配置します。
詳細は以下の通りです。
ステップ |
移動 |
説明 |
ロボットを配置位置に移動させます。 |
操作 |
ステップライブラリから 移動 を選択し、プロジェクト編集エリアにドラッグして「配置位置」という名前を付けます。 |
パラメータ設定 |
TCP位置姿勢を配置位置とするために、それを正しく設定する必要があります。 |
サンプル図 |
ステップ |
DOを設定 |
説明 |
吸着を解除して箱を配置します。 |
操作 |
ステップライブラリから DOを設定 を選択し、プロジェクト編集エリアにドラッグして「箱吸着解除」という名前を付けます。 |
パラメータ設定 |
DO値を0に、DOポートを1に設定します。このパラメータ値は参考値であり、実際の現場要件に応じて設定してください。 |
サンプル図 |
吸盤の吸着解除に時間がかかるので、ロボットが箱の配置に失敗するのを防ぐために待つステップを追加する必要があります。
ステップ |
待つ |
説明 |
ロボットが箱の配置に失敗するのを防ぎます。 |
操作 |
ステップライブラリから 待つ を選択し、プロジェクト編集エリアにドラッグして「配置待ち」という名前を付けます。 |
パラメータ設定 |
待ち時間を1000msに設定します。 |
サンプル図 |