February 18, 2011AR.Drone プロポで操縦したいAR.Droneという空飛ぶおもちゃですが、iPhoneやiPadなどの高度な機器からの操縦を前提されているため、ラジコンに関わっていると少々物足りない気分になってきます。ラジコンといったら、iPhoneやiPadではなく、もちろんプロポですよね! というわけでAR.Droneをプロポで手動操縦する手段をここしばらくの間調べています。ある程度情報が集まったので、まとめておきたいと思います。 Yellow Jacketを使って手動コントロール実は既にプロポによってAR.Droneを制御する方法が編み出されています。『RC Controlled AR.Drone』に書いてあることなのですが、追加搭載したYellow Jacketという無線LAN装備のArduino互換基板、およびラジコン受信機が、IPhoneのフリをすることで可能になります。この方法、AR.Droneの安定制御を生かしつつプロポによる手動制御を可能にしているので、確かによくできています。 しかしながら、無線リンクが冗長(プロポから受信機へのラジコンと、yellow jacketからAR.Drone基板への無線LANの2リンク)であり、またAR.Droneの制御を切って真の手動制御を行うことはできないので、僕は満足がいきません(笑)。Arduino互換機を使っている点もマイナスです(笑)。 モータを直たたきしたいそういうわけで、AR.Droneの中央の基板を経由せずに、四隅にあるモータをコントロールしている基板(BrushLess Controller (BLC)と呼ばれたり、Electric speed controller (ESC)と呼ばれている)に直接プロポから指令を送れないか、検討しています。といってもラジコン受信機から出るPWM信号を、AR.DroneのBLCが解釈できるわけではないようです。 基板を観察してみた結果、AR.Droneの中央の基板と、四隅のBLCはTX/RX共通のシリアル通信、および汎用I/O接続されていることがわかりました。またオシロをあててみた結果、指令はシリアル通信に頼っているようで、これでモータの回転を制御したり、BLC基板上にあるLEDの光り方を調整しているようです。この通信規約(プロトコル)がわかれば、BLCを思いのまま制御できプロポを使った完全手動操縦への道も開けることになりますが、これは現在調査中です。なおシリアル通信の規格は115200bpsで、スタートビット/ストップビットは1bit、パリティなしです。 さらにですが、このシリアル通信は中央の基板においてはメインチップのARM9を組み込んだSoCのParrot6上のシリアルポートに接続されているようです。Parrot6ではLinuxが動いているのですが、『Let’s get serial!』によるとBLCと接続されているシリアルポートは/dev/ttyPA1に割り当てられているようです。オシロを当てずとも、このシリアルポートのデータの流れを見ていれば、先ほどのプロトコルは解析できそうですね。 おまけ情報ですが、AR.DroneはLinuxを搭載しているということもあり、ソフトウェアの一部がGPLというソースを公開しなければならないライセンスの元に開発されていることがわかりました。ソースを公開することに関して議論が行われた形跡を『Where are the LINUX gpl stuff for the arm9 board are avaiable?』に見ることができます。現在はGPL分をはじめとして一部はここやここでソースが公開されています。 ※その後、AR.Drone上でソフトを動かす方法を調べてみました。 コメント
コメントする
|
スポンサード リンク
|