DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

草刈りロボットを作りたいプロジェクト ③カメラの実験 単眼カメラでもミラーを使えばカメラ1台で立体視できるんじゃないの?

第2回からかなり間が開きました。

dreamerdream.hateblo.jp

 

今回はロボットへ付けるカメラを探していたのですが、ふと疑問が湧いたのでその実験報告です。

 

よくデュアルカメラで映像の遠近を認識しているロボットがありますよね?

単眼カメラだと物体までの距離が解らないので、

f:id:DreamerDream:20210323135758p:plain

このようにカメラを左右に二台配置して対象物の差分から距離を算出するという方法です。

 

f:id:DreamerDream:20210323135809p:plain

 

 

これ、もしかしてミラーを適切に配置すれば単眼カメラでも映像を分割して同じように2つの映像から距離算出が出来るのでは?と思い立ちました。しかし、調べて見てもそのような事例は見当たりませんでした。

 

 

<構想>

図の黄緑の鏡でカメラを2分割して青色の鏡の角度を変えることで映像の方向を変えます。すると赤色の線でうまく映像が2分割されるんじゃないの?

取得した映像をプログラムで修正してやればカメラ1台分のリソースを節約することができるのでは?

f:id:DreamerDream:20210323135817p:plain

 

 

 

ということで早速実験です。

まずはミラーが4枚必要です。

手元にミラーが無かったのですがHDDドライブを分解したときに出てきたプロッタを発見しました。これはミラーといっても遜色ないぐらい鏡面なんです(写真はキズ予防の為にマスキングテープを貼って少し切った後です)。
f:id:DreamerDream:20210323134723p:plain

厚さ1mmのアルミ板ですがカッターで頑張れば辛うじて切れます。

実験に丁度良いサイズのミラーが手に入りました。

f:id:DreamerDream:20210323134735p:plain

 

後の複雑な部品は3Dプリンターの出番です。 

3Dプリンターは単なる思いつきをすぐ現実に召還してしまえる本当に素晴らしいマシンです。

dreamerdream.hateblo.jp

 

作成した装置です。

センターには90度(各45度)固定のミラーを配置してあり、外側のミラーは真ん中のアームを前後させることで左右同時に角度を変更出来るようになっています。

f:id:DreamerDream:20210323134746p:plain

 

カメラをセットすれば完成です。

f:id:DreamerDream:20210323134757p:plain

 

想像以上に本体はゴツくなってしまいました。

f:id:DreamerDream:20210323134809p:plain

 

<実験>

単眼カメラ(装置無し)で対象物を撮影したものです。

当然ながら狙い通りの普通の映像が取得できました。

f:id:DreamerDream:20210323134821p:plain

 

続いて、装置を装着して対象物を撮影したものです。

f:id:DreamerDream:20210323134834p:plain

 

一見して「なるほど!」という結果ですね。

映像の取得には大成功ですが、単純にミラーを配置しただけだと映像を取得出来る範囲が限られてしまうようです。

2分割しているので映像の横幅も最大で半分です。

その中でミラーの型がそのまま映像に反映されているので実質使えそうな映像範囲はこの程度ということになってしまいます↓

f:id:DreamerDream:20210323142623p:plain

ミラーを大きくしたり曲げたりレンズを入れたりすれば解決するような気もしますがそんな面倒なことするぐらいなら素直にカメラ2台取り付けた方が遥かに簡単!というわけでおそらく事例が無い訳ですね。ナルホド

 

場合によってはこの方法で使えるものもあるかもしれませんが今回の目的はロボットの走行なので撮影範囲が問題になると使えそうにありません。

ということで実験結果として「出来なくはないが用途は限られる」と今回は結論付けておきます。

 

 

 

kampa.me