SyntaxHigh

Sunday, August 17, 2014

カメラの無線機能を備えたクアッドコプターを作りたい

体調の関係で、ブレインストーミングしかしていない。なんとかまとめて今日を終わる。新しいプロジェクトのアイデアは無し。

カメラ画像をリアルタイムで母艦に送る

自分の位置を知るために、カメラをつけて母艦と通信しようと思っているのだけど、$100程度ならこのマルチコプターをそのまま使えそうだ。

AliExpress.com Product - Walkera QR W100S FPV WIFI Remote Control RC Quadcopter With HD Camera For iphone

iPhone で読めるということは、多分 Hack すればカメラ画像はとってこれるのだろう。モノを運ぶぐらいになると、もう少し大きなコプターが必要で、ブラシレスのまともなモーターを積んだものになる。

このレベルになると、$400 とかになってくるし、サイズもでかい。何か運ぶことを前提に作られているコプターは大きいので、ある程度小型である程度のものを運べる、パワフルな物を作ろうと思うと自作する必要が出てくる。

Android を使う

「カメラがついていて、無線機能もあり、ある程度の処理能力がある」というのなら Android が候補に挙がる。Raspberry Pi も同じことはできるが、アセンブリが面倒だし、カメラモジュールと分離されていて、しかもデフォルトで無線機能がついていない。

マルチコプターにAndroid? と思うかもしれないが、Android 4.0 以上ならば、カーネルを入れ替えれば USB-Serial で既存のマイコンに接続して通信することができる。また、USB Host 機能を使ってAndroid から バッテリーを取る事もできる. 

Android ならばプログラミング環境も洗練されているので開発しやすい。

例えば去年出た中華製 Z18

は2.5インチで重さが 148g なので、マルチコプターに十分積める軽さだ。CPUもMTK6572という新しいデュアルコアを積んでいるらしい。性能についてはCortex A7 1.2G らしいので、早さだけでいうと Raspberry Pi よりも良い(要確認)。

Youtube のレビューを見つけた。数年前のダメアンドロイドと比べると凄くスムーズに動いているようにみえる。

今回は大きくても「家の中の」プロジェクトなので、母艦で難しい処理をさせることができる。この場合、同じマルチコプターに乗っているマイコンとAndroidをつなぐ必要すらない場合も多い。

ただし、クローズドループで制御しなければならない場面、例えばマーカーに合うようにクアッドコプターを制御する、という場面では、ある程度速い通信が必要になる。この場合、Wifi を介するよりもシリアルでつないだほうがロバストになる。

また、ディスプレイがあることで他者との通信など「オモシロイ」ことも出来そうだ。

ちなみに、Android のUSBをシリアルに変換するには、USBhost mode 用のケーブルと USB-ttl もしくはマイコンによっては USB-ttl-RS232 変換用のボードを使う。

Wifi + カメラ の最小構成のモジュールはないか?

Wifi+カメラというと監視カメラが思い浮かぶが、2014 年にE9000 というカメラが出ている。

おそらく、価格からして STM のマイコンを使って、カメラモジュール+wifi + マイコンの最小構成をコンパクトにまとめてあるのだろう。

特徴は、なんといっても内蔵電源で動くこと。クアッドコプターにはぴったりである。

サイズ:48*48*15 mm, 重さが 35 g なので、マルチコプターに積むには良いカメラかも知れない。こいつを複数つければ簡単に画像センサのインターフェースが出来上がる。

価格が $60 と少し高いが、この機能をこの重さで実現しているのなら十分価値があると思う。価格面からすれば上のZ18と同じ値段なので、重さにこだわらない場合はAndroidを使っておけばいいのかもしれない。

また、Android と違ってこの中で処理をさせるわけではないので、クアッドコプターで直接処理する場合、マイコン側にある程度の処理機能が必要になる。

自己位置推定のためのパンティルト

現在、インスタントに実現できる自己位置推定方法というのがない。つまり、ぽん、とマーカーをひとつ貼り付けておくと、そいつを(狭い範囲でも)トラッキングしてくれるシステムが無い。大掛かりなモーションキャプチャを行う必要がある。

これは、本質的には「AとBの距離を簡単に測る小さなモジュール」というのがないということ。自己位置推定だけは、自立性を持たせて、周りの環境に情報を埋め込むほうがやりやすいと思う。

パンティルト機構のついたサーボモータのセットが $6 で売っている。こいつに上カメラをつければ、ある程度の範囲を見ながらカメラのコントロールが出来る。

AliExpress.com Product - Free Shipping 1pcs X SG90 9g Mini Micro Servo for RC for RC 250 450 Helicopter Airplane Car , 5pcs=US $ 2.68/unit !!!

自己位置推定のためのマーカーはあちこちに貼り付けるとすると、カメラ中心に考えるのが良策だ。

サーボは180度しか動かないが、フロントとレアカメラをうまく使えば360度見渡すことも可能だと思われる。この辺りはプログラミングが重要になってくるだろう。