目次
1. はじめに
DOBOT RobotVisionKitにて認識した座標データはカメラの座標系であるため、そのままMG400, M1 Proに送信しても使用する事ができません。その為、座標データを送信する前に、DobotVisionStudioにてカメラ座標系からロボットアーム(MG400, M1 Pro)座標系に変換する処理が必要になります。それをDobotVisionStudioにおけるキャリブレーションといいます。本稿では、キャリブレーションに必要なXMLファイル(.xml)の生成の方法と、生成したXMLファイルを用いたキャリブレーションの方法をご案内します。
[注意]この記事は、DobotRobotVisionKitのセットアップが完了した状態を前提としています。セットアップがまだの方は、先に[RobotVisionKit] セットアップ方法の記事をご覧ください。
処理の大まかな流れ
①DobotVisionStudioでキャリブレーション用のプログラム(.sol)を作成し、その中でキャリブレーションファイル(.xml)を生成する。
②メインプログラムにおいて、キャリブレーションを行いたい座標データに対しキャリブレーションファイル(.xml)を適用して、変換を行う。
2. 環境
以下の環境にて、この手順が有効であることを確認しています。
OS: Windows 10(64bit)
MG400: DobotStudioPro v2.3.1, ファームウェア v1.5.7.0
RobotVisionKit: dobotVisionStudio v4.1.2
3. 手順
3-1. キャリブレーション用プログラムの概要
キャリブレーション用プログラムは以下のフローとなっています。それぞれのブロックにおける設定を次の項から説明します。
3-2. カメラからのフレーム取得
step1
フレーム取得機能を持つImage Sourceブロックをドラッグアンドドロップします。
step2
①Image Sourceブロックをダブルクリックします。新たにImage Sourceのウィンドウが表示されます。
②今回はカメラからフレームを取得するのでBasic Params→Image SourceにてCameraを指定します。
③カメラのマークをクリックすると、新たに接続するカメラの設定を行うためのCamera Setのウィンドウが表示されます。
④Device Listの+マークをクリックして、新規のカメラの設定を開きます。
step3
Common ParamsタブのCamera Connect→Choose Cameraにて接続したカメラを指定します。
[備考] プルダウンの項目にカメラが表示されない場合は、一度DobotVisionStudioを閉じ、カメラのUSBを接続しなおして再度お試しください。step4
Trigger SettingタブのTrigger Settings→Trigger SourceにてSoftwareを指定します。その後、Confirmをクリックして、Camera Setのウィンドウを閉じます。
step5
Image Sourceのウィンドウに戻ります。Basic Params→Relate Cameraにて先ほど保存した設定が表示されますので、指定します。その後、×マークをクリックしてImage Sourceのウィンドウを閉じます。
step6
フロッピーディスクのマークをクリックしてプログラムを保存します。
step7
再生のマークをクリックしてプログラムを実行します。画像右側のように、カメラのフレームが表示されれば認識は成功です。確認の際に連続再生を行った場合は、再度クリックして実行を停止してください。
3-3. フレーム内のキャリブレーションボード認識
step1
以下画像のように、フレームで表示される位置に付属のキャリブレーションボードをテープなどで固定して設置してください。
step2
①キャリブレーションボード認識機能を持つCalibBoard Calibブロックをドラッグアンドドロップします。
②Image Sourceブロックから、CalibBoard Calibブロックの方向にドラッグアンドドロップをして結線します。
step3
①CalibBoard Calibブロックをダブルクリックします。新たにCalibBoard Calibのウィンドウが表示されます。
②Basic ParamsタブのImage Input→Image SourceにてImage Source.ImageDataを指定します。
③Confirmをクリックして、CalibBoard Calibのウィンドウを閉じます。
step4
プログラムを保存し連続実行します。連続実行中にCalibBoard Calibブロックをクリックすると、以下画像のフレームのように、黄緑の表記が追加されます。この表記がされていればキャリブレーションボードの認識は成功です。確認の後は実行を停止してください。
3-4. キャリブレーションファイルの生成
step1
①キャリブレーションファイル生成機能を持つN-point Calibrationブロックをドラッグアンドドロップします。
②CalibBoard Calibブロックから、N-point Calibrationブロックの方向にドラッグアンドドロップをして結線します。
step2
①N-point Calibrationブロックをダブルクリックします。新たにN-point Calibrationのウィンドウが表示されます。
②Executeをクリックします。
③以下画像のフレームのように黄緑の表記が更に追加されます。これにより、フレーム内の9つの黄緑の+マークの位置のカメラ座標系の座標情報が取得されます。
step3
step2の状態のまま、MG400, M1 ProをLANケーブルでPCに接続して電源を入れます。
①MG400, M1 Proの起動が完了した後に、ロボットのマークをクリックします。新たにDobotPanelのウィンドウが表示されます。
②プルダウンの項目からMG400/M1 Proを選択します。
③Connectをクリックします。この処理によりMG400, M1 ProがDobotVisionStudioに接続されます。
step4
Basic ParamsタブのTranslation Numberが9であることを確認します。ペンのマークをクリックすると、新たにEdit Calibration pointsのウィンドウが開きます。
step5
①取得したカメラ座標系の9つの座標がIDと共に表示されます。IDと座標の位置関係は以下画像の通りです。
②MG400, M1 Proの座標を入力する欄です。それぞれの位置にMG400, M1 Proの手先を実際に移動させ、マップピンのマークをクリックします。この処理により、カメラ座標系とロボット座標系の対応をとります。
③CinfirmをクリックしてEdit Calibration pointsのウィンドウを閉じます。
step6
Create Calibration Fileをクリックして、キャリブレーションファイル(.xml)を保存します。
3-5. キャリブレーションファイルの適用
step1
①メインプログラムにおいて、キャリブレーションファイルによるキャリブレーション機能を持つCalibration Transformationブロックをドラッグアンドドロップします。
②キャリブレーションを行いたい座標データを出力するブロック(例:High Precision Matchブロック)より後の位置に、Calibration Transformationブロックを結線します。
step2
①Calibration Transformationブロックをダブルクリックします。新たにCalibration Transformationのウィンドウが表示されます。
②Basic ParamsタブのImage Input→Input Sourceにて、キャリブレーションを行いたい座標データを出力するブロックで用いたフレームの形式を指定します。
③Basic ParamsタブのCoord Input→Input Modeにて、By Coordinateを指定します。
④Basic ParamsタブのCoord Input→Coordinate X, Coordinate Yにて、それぞれキャリブレーションを行いたい座標データの出力を指定します。
⑤Basic ParamsタブのCoord Input→Coord Typeにて、Image Coordを指定します。
step3
①下にスクロールして、Basic ParamsタブのAlign File→Load Calibration Fileにて、生成したキャリブレーションファイルを指定します。
②Confirmをクリックして、Calibration Transformationのウィンドウを閉じます。
step4
プログラムを保存し連続実行します。連続実行中にCalibration Transformationブロックをクリックします。フレーム下部にキャリブレーションファイル適用後のデータであるTransPointX, TransPointYとそれらの値の表記がされていれば、キャリブレーションファイルの適用は成功です。TransPointX, TransPointYの座標データは、整形やTCP/IP通信によるロボットへの送信が可能です。
ご不明点等ございましたら、お気軽にdobot@techshare.co.jpまでお問い合わせください。