へっぽこ元ロボコニスト

ロボコンに燃え尽きた自分が日々の出来事を書くだけのブログです

2019/5/3(UnityでArucoUnityを実行できる環境を作る)

久しぶりに他人が作った英語のリファレンスを何時間も読んだ

前回の記事です
mozyanari.hatenablog.com

ArUcoのライブラリの中に,estimatePoseSingleMarkersという関数があります
マーカーの姿勢と位置を計測できる関数で,ロボットにマーカを置いてロボットまでの相対位置を取得しようと考えています
しかし,この関数を実行するには,①InputArray cameraMatrix ②InputArray distCoeffsが必要です
docs.opencv.org

①は3×3のカメラ行列で,②は今回は1×5行列のレンズ歪みパラメータです
②はリファレンスによると1×4や1×12のものもあるらしいです

つまり,事前にこれらのパラメータを取得しないといけません

ですので,Unity上でこれらのパラメータを取得します

これらのプログラムを一から書くのはとても面倒なので今回は以下のプログラムを使いました
normanderwan.github.io

このプログラムはかなり優秀で,キャリブレーション用のボードを自作できたり,魚眼カメラ,ステレオカメラのキャリブレーションもできます
ただ,今回は普通のwebカメラキャリブレーションを最短で行うことを目標にします

必要なもの

  • Unity 2018.2.21f1 (64-bit)
  • ArucoUnity(Commits on Jan 12, 2019のものを使いました)

github.com

  • ArucoUnityPlugin(ArucoUnityPlugin-v2.0.1-Windows.zipを使いました)

github.com

UnityでArucoUnityを実行できる環境を作る
原文
github.com

UnityでArucoUnityを開きます
ただ,昔のバージョンで作られたので
f:id:masanari7430:20190503170717p:plain
このような警告が出ますが,2018のバージョンで開いても大丈夫なのでこのままオープンします
開くとArucoUnityPluginが無いと警告されます

次に,警告されたArucoUnityPluginをUnityに入れます
f:id:masanari7430:20190503171030p:plain
ArucoUnityPluginの中のPluginsのフォルダを,UnityのAssets/ArucoUnityの中にドラッグ&ドロップで入れます

最後にこれを読み込ますためにUnityを再起動します
すると,警告がすべてなくなっていると思います

次は,キャリブレーション用マーカの作成です