一年以上ほったらかしにしてしまいましたが、これをちょこっと紹介する機会があり、分かりにくいところを直したので、2017年11月にQiitaも更新してみました。
https://qiita.com/i386koba/items/873869926bde7614b128
を見ていただければ、よりわかりやすいかと思います。
本業はプログラムとはあまり縁がないプリント基板関係なのですが、題名のアイデアを思いついてから、個人的に暇を見つけてコードを書き、2年余りかかりました。
とりあえず、少々の知識とお金(3万円~)があればDIYして実験してもらえるかな?のレベルになりましたので投稿してみます。
2017,11,11現在、うまくいてません。
自身のIDではうまくいっていますが、新規のIDでは、UserRecoverableAuthIOExceptionでcom.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException が出てしまいます。
本来、携帯電話網を使って地球の裏側からでも操縦できる風景が撮りたいのですが、ほとんどラジコンと同じくらいの距離で操作している、なんのアピール感もない動画ですみません。
まだ動作中に思いがけない不具合がでるかもで、遠方までテストできませんでした。
そろそろ新たなバージョンを撮影しに行きます。
#仕組み
格安スマートフォンをラジコン(RC)模型にのせて、スマートフォンのカメラ映像とGPS、センサ情報をWebRTC(SkyWay)により携帯電話ネットワーク(LTE)を通じてインターネットにつながったPCやタブレットのWeb画面上からカメラや位置を確認しながら、Web画面の操縦をWebRTCでスマフォのBluetoothでRC模型に送信し、RCを遠隔操作することができます。
#似たような仕組みと違い
- Sky Drone FPV https://www.indiegogo.com/projects/sky-drone-fpv#/
携帯電話通信用USBモデムをマイコンにつなぎマルチコプターをFPV操縦しています。携帯電話網を使うところは一緒ですが、スマフォの機能をマイコンに実装しているためハードウェアが複雑そう。空をとぶのは憧れます。
- Unlimited Range FPV RC Car http://ramicaza.com/project.php?project=rover
携帯電話通信用USBモデムでRCカーをFPV操縦しています。携帯電話網を使うところは一緒ですが、こちらもスマフォの機能をマイコンに実装しているためハードウェアが複雑。
- Double Robotics http://www.doublerobotics.com/
上部のハードウェアはタブレット端末なんでしょうか?詳細は知りませんが、テレビで見ました。
- Segway: 移動時以外はヒト型ロボットとして使用可能な新型セグウェーを発表
http://business.newsln.jp/news/201601071310250000.html
Segwayに専用ハードウェアを付けているようです。携帯電話網を使うかはわかりませんが、ネットには繋がるようです。3Dカメラが乗っている専用ハードウェア部分はスマフォにすればいいかと思います。
- PhoneDrone
https://www.kickstarter.com/projects/137596013/phonedrone-let-your-smartphone-be-your-personal-dr
スマフォをマルチコプターにのせる構想。携帯電話網で操作できるかは不明です。
まだあるかもしれませんが、全く同じ仕組は見かけていません。いつ同じものが発表されてしまうかひやひやしています。
さて、上記のようにマイコンに携帯電話通信用USBモデムというアイデアはありますが、スマフォにはカメラ、GPS,加速度センサーなど、FPVや操縦に必要な装置が一式乗っています。
マルチコプターなんかは、加速度センサ情報をAndroidでPIDして姿勢制御できれば、マルチコプターコントローラーの代わりになるかもしれないので挑戦したいところです。
#題名のソース一式
ドロイドローン(仮)プロジェクトとしてまとめておりDroidrone(GitHub) にあります。
最近本業が忙しくほとんど手がつけれていない状態です。
なんとかドキュメントを充実させていきます。
#格安携帯
フリーテルのFTJ152Aつかいました。ヨドバシで13500円。
Android 4.0.3以上、GPS,磁気センサー、Bluetoothのある端末なら使えます。
スマフォを買い替えた時の古いAndroidがSIMフリーなら、格安SIMを積んで使えるかと思います。
#開発環境
- AndroidアプリはAndroid StudioでJava。
- WebRTCはSkyWayを利用しています。
- Web画面はNetbeansでHTML5とJavascript。
- マイコンのスケッチはArduinoIDEでC/C++。
- 特殊なものはありません。