Multiwii PROにBluetoothで接続する MultiwiiのPIDのチューニングとかGPSちゃんと拾えてるかとか、PCを接続しないとわからないのはとても不便。 Multiwii にはそのためにBluetoothで接続するポートがアサインされている。 Multiwii PROだとシリアルで接続できる。 まず、Hobbykingでこれを買う。 そんだら、こんなかんじで接続する。 あとは、AndroidでMultiwii EZ-GUIで接続すればOK。PASSCodeは1234だよ。 なかなか便利。donateしてあげて。
マルチコプターの制御をiPhoneでやることにした RedparkのiPhoneのDockをシリアルに変換できるボードを買った。 Redpark – Console Cable – L2-RJ45V この製品を発見したので、windows機を飛ばそうと思ってたのだけど、iPhoneを飛ばすことにした。 ArduinoのMultiwiiボードをモーターの制御だけに使うことにする。 iPhoneのジャイロと加速度センサーと電子コンパスとGPSで姿勢制御させる。そんでモーターの情報だけArduinoにシリアルで送信してモーターを回す。 PIDのコードはそんなにむつかしくないので、CoreMotionから姿勢をとって、目標の姿勢に向かう制御を適当に書いてみた。 その結果がこれ。 これ別に自分で振り回してるわけじゃないんだ。かってに振り回されちゃうわけ。 プロペラの推力の応答性が悪いから発振してしまう。 これはあかん。ジャイロをみて、角速度も制御しないといけないぽい
チッコイMultiwiiも買った ちっこいとなんか取り回しやすいかなーとおもって、小さいMultiwiiボードも買った。 MWC MultiWii SE V3.0 フライトコントロールボード ミニ飛行機用標準タイプ ATMEGA328P MPU6050デジタル3軸ジャイロスコープと3軸加速度センサー BMP085デジタル気圧センサー HMC5883L三軸磁気センサー デュアル·チャネル·パワー·レギュレータ、3.3V/5V 最大電流150mA/500mA デュアル·チャネル·パワーインジケータLED、3.3V red/5V緑 高輝度ステータスインジケータ青色LED 特別I2CレベルはICへ。 FTDIインタフェース、ダイオード保護と500mAの電流制限ヒューズ だそうです。 こいつでも飛ばせそうよ。 iPhoneをフライトコントローラーにするのはこいつでやる予定。
よりイカしたコードでマルチコプターを飛ばすには 僕のスキルでやる場合 1.Multiwiiのソースを読んで、そこに位置推定を組み込む 2.Multiwiiはモータの制御とRCデータのリードだけ、データを全部Androidに送ってすべての制御をAndroidでやる の2つの方法がある気がします。 これはAndroidフラグなのでは無いかと思う。JAVAがいやだ。
NAZAの位置推定について MultiwiiとNAZAを比較するとやはりNAZAは別次元で安定している。 これは以前述べたとおりで、GPSだけで位置を推定しているとは思えない動きをする。 そんなわけで、少し加速度とかジャイロから位置を推定するアルゴリズムについて調べてた。 加速度センサによる移動体の自己位置検出に関する研究 やはりある。AR.Drone2.0もカルマンフィルタを用いた位置推定をしてる 僕がMultiwiiのソースをちらりと読む感じ位置の推定は行っていないように思う。(チラリとしかみてないから自信ないよ!) もしそうならカルマンフィルタなりを実装するとNAZAバリに安定した飛行ができるかもしれない。 それやりたいやりたい。もっと小さいマルチコプターにもきっと応用できる。半導体パワーとソフトウェアのエンジニアリングが必要
プロペラとBECを購入 MultiWii用にカーボンのプロペラとBECを買った。 カーボンのプロペラは別に必要無いんだけど、かっこいいかなーと。 つけてみて回してみた。カーボンの破壊力がすごくて、とても恐ろしい。相当安定した機体じゃないとこんなもん怖くて飛ばせない。 そんなわけで、ビビってお蔵入り 10×3.8E Multistar Carbon Fiber Propellers L/H and R/H Rotation with DJI Fitting (1 pair) BECは今まではMultiwiiの電源にeneloopモバイルブースターを使っていて、そいつを一緒に飛ばしてた。重いからBECがほしい所。BECはただ単に12Vを5Vに変圧するスイッチング電源。歴史的な経緯からBEC(バッテリーを一個いらなくする回路)と呼ばれているらしい。 このBECは入力が5.5v〜23vで出力はジャンパで5vか6vを選べる。 出力側にはいい感じのコネクタが付いているからそのままMultiwiiに挿せるよ。 TURNIGY 3A UBEC w/ Noise Reduction
MultiWii PROの安定性がちょいちょい上がってきた 先週から引き続き、Multiwii PROのボードの設定を頑張ってる。 2.3に変更してからちゃんとキャリブレーションして、少しコントロールのゲインを落としたらわりと飛ぶようになってきた でも、WinGUIを接続してGPSの精度を確認していると相当フラフラしている。これでは多分GPS HOLDとか無理っぽい。 その状態のマウントはこんな感じ。 NAZAとか他の人をみても、モーターから離した位置にGPSをおいてる。 離した所にGPSを置くのが良いのかもしれない仮説から、レゴで適当にジグを作る。 かなり精度は向上した。GPS HOLDでもそこそこ飛ぶ感じ。まだ全然NAZAのようには飛ばないけど、良くなった。 GPSは上に付けるの意味ある! なんとか飛ばせそう。
NAZAの性能 Multiwii PROのMultiwiiのバージョンを2.3にあげてみた。 このへんの記事を参考にするといいかもしれない 最初GPSが発動しなかったけど、 Once your MTK GPS is configured, you can uncomment the INIT GPS line and just define the NMEA GPS line. People report gps not working if the INIT_MTK line is left enabled. とあるように、INIT GPSをコメントアウトしてNMEA GPSをdefineしたら動いたっぽい。WinGUI上ではLatLonとれてる。 でも、Multiwiiの青いLEDが2-3秒に一回ブリンクしている。これはACCとかMAGがキャリブレーションできてないと光るっぽいのだけど、キャリブレーションしても点灯にならない。もう少し調べる必要があるかもしれない。 このイマイチコンフィグが決まってないMultiwiiとNAZAの比較動画。Multiwiiは結構集中してコントロールしないとどっか言っちゃうし、上手く飛ばせない。 それに対してNAZAは手放しで大丈夫。位置も完璧にキープする。NAZAはマジ凄い。どういう制御をしているのだろう。機器の装備的には大差無いはずだから、ソフトウェアが上手く動けばNAZAの用に安定すると思うのだけど。 Multiwiiがちゃんとコンフィグされているか調査!
Multiwii2.2のフライトモード Multiwiiのドキュメントからオレオレ解釈。あっているかどうかしらん ACRO Multiwiiのデフォルトのモード。ジャイロのみで制御する。運動性は高いけど、不安定なモード。アクロバット用 ANGLE PIDやトリム、ジャイロ等がちゃんと調整されていれば安定するモード HORIZON ACROモードとANGLEモードのミックス。スティック動作がなければANGLEモードの挙動。大きくスティック入力があればACROモードのようになる。 BARO 気圧計を使った高度維持モード。スティック入力がなければ高度を維持しようとする MAG ヘリの向きをロックするモード。向きを維持しようとする。 HEADFREE ヘリの向きがどうなっても、プロポの操作は変わらないモード。NAZAでいうIOCモード HEADADJ HEADFREEの時の向きを決めるアクション GPS GPSモードではMAGモードは無視される GPS HOME コンパスとGPSを使ってARMされた場所へ帰る GPS HOLD 可能ならGPSを使って現在の位置を保持しようとする 以上のモードからするとNAZAのGPSモードのような適当にGPSが補正してくれるようなモードはないような気がする。 NAZAとMultiwiiを比べるとNAZAが圧倒的に安定感がある。今のところMultiwiiは手放しは無理。Multiwiiはナノスパイダー ととても良く似た動きをする。