Doosanロボットでは、物体の位置を映像情報を通じて測定、ロボットの作業指令と連動できる2DビジョンシステムであるSVM (Smart Vision Module) を提供しています。作業対象物体に対して定義されたロボット作業座標を、基準画像と測定画像間のビジョン測定座標変位情報を用いてロボット作業座標を算出します。
タスクプログラミング環境 (Task Builder, Task Writer) で以下の命令を使用してビジョンシステムの種類を設定し、通信を接続、タスクをロード、測定された座標値を利用してオフセットされたロボット作業座標を算出することができます。詳しくはプログラミングマニュアルを参照ください。
以下は、SVM命令の統合例です。詳しくはプログラミングマニュアルを参照ください。
例) | |
---|---|
svm_connect(ip=”192.168.137.5”, port=20) | #SVMに接続します。 |
vision_test=1000 | #ビジョンジョブIDを設定します。 |
svm_set_job(vision_test) | #ジョブをロードします。 |
shoot_pos=svm_get_robot_pose(vision_test) | #目標タスクのビジョン測定位置に移動します。 |
movej(shoot_pos,v=200,a=100) | |
count=svm_get_vision_info(vision_test) | #カウントで検出されたオブジェクトの数を返します。 |
tp_popup("{0}".format(count)) | #結果を確認します。 |
pos_result=svm_get_variable(vision_test,POSX_TYPE) | #測定された位置を pos_result として返します。 |
tp_popup("{0}".format(pos_result)) | #結果を確認します。 |
Task BuilderとTask Writerを使用してビジョン命令を追加し、把持/設置するだけでなく、積み上げ (Stacking) など様々な作業を行うことができます。プログラミングの前に、SVMが事前にキャリブレーションされている必要があります。
エンドエフェクタメニューで使用したいグリッパーを設定します。
Visionコマンドを追加し、PickコマンドをVisionコマンドサブに属するようにタスクリストを作成します。 (Vision とVision Endの間にPickを追加します。)Pickのプロパティで必要な条件を設定します。
ビジョン作業(変数)を選択します。(事前にWorkcell Managerで作成したビジョン作業を選択できます。)詳しくは「How to Smart Vision Moduleの接続と基本設定」もしくはリファレンスマニュアルをご参照ください。
「ビジョン測定位置に移動」を有効にして、移動ボタンを押し、ロボットを測定位置に移動させます。
※「ビジョン測定位置に移動」を使用するには、ワークセルマネージャでキャリブレーションが必要です。キャリブレーションを行わないと、目的の位置に移動できません。
青丸のボタンを押し、その後黄丸のボタンを押すとWorkcell Managerで登録したビジョン作業に基づき、オブジェクトを検出します。
Visionコマンドをクリックし、プロパティでビジョン作業を選択し、ビジョン測定位置に移動をアクティブにした後、移動を押してビジョン測定位置に移動します。
オブジェクトを画面の中央に配置し、青丸ボタンを押したあと、黄丸ボタンを押します。測定結果は変数形式で保存されます。
リスタートの回数を入力します。 0~3の間で入力可能で、測定失敗時1秒後に入力した回数だけ再測定します。最終失敗時に、対処方法としてスキップとストップを選択できます。
タスクリストで、VisionとEnd Visionの間にMove Lを追加します。タスク座標系を使用するすべてのモーションが利用可能であり、ビジョン作業失敗時にはこのMove Lは実行されません。ビジョン検出成功時、移動する位置をポーズ保存ボタンを使って保存します。
ビジョン測定位置に移動を有効にして変数を選択します。ビジョン作業(変数)を選択します。(事前にWorkcell Managerで作成したビジョン作業を選択できます。)詳しくはHow toのSmart Vision Moduleの接続と基本設定」もしくはリファレンスマニュアルをご参照ください。
「ビジョン測定位置に移動」を有効にして、移動ボタンを押し、ロボットを測定位置に移動させます。無効にすると、通常のMove Lと同じ動作をしますのでご注意ください。
このコースでは、Doosanロボットが提供するSVMを使用したプログラミング方法について学びました。ビジョン命令 (DRL) を使用したり、Task Bulider、Task Writerを使用して、把持/設置などの作業を簡単にプログラムできます。より詳細な使用方法は、 リファレンスマニュアル/プログラミングマニュアル を参照してください。
※本資料に掲載されている全ての内容および全てのデザインは、Doosan Roboticsが著作権および知的財産権を有しています。従って、これらをDoosan Roboticsの書面による許可なく使用、複製、または配布することを禁じます。なお、Doosan Roboticsの特許権等を不正に使用、改変した場合、その責任はすべてお客様にあることをご了承ください。