MultiwiiのPIDのチューニングとかGPSちゃんと拾えてるかとか、PCを接続しないとわからないのはとても不便。
Multiwii にはそのためにBluetoothで接続するポートがアサインされている。
Multiwii PROだとシリアルで接続できる。
まず、Hobbykingでこれを買う。
そんだら、こんなかんじで接続する。
あとは、AndroidでMultiwii EZ-GUIで接続すればOK。PASSCodeは1234だよ。
なかなか便利。donateしてあげて。
MultiwiiのPIDのチューニングとかGPSちゃんと拾えてるかとか、PCを接続しないとわからないのはとても不便。
Multiwii にはそのためにBluetoothで接続するポートがアサインされている。
Multiwii PROだとシリアルで接続できる。
まず、Hobbykingでこれを買う。
そんだら、こんなかんじで接続する。
あとは、AndroidでMultiwii EZ-GUIで接続すればOK。PASSCodeは1234だよ。
なかなか便利。donateしてあげて。
RedparkのiPhoneのDockをシリアルに変換できるボードを買った。
Redpark – Console Cable – L2-RJ45V
この製品を発見したので、windows機を飛ばそうと思ってたのだけど、iPhoneを飛ばすことにした。
ArduinoのMultiwiiボードをモーターの制御だけに使うことにする。
iPhoneのジャイロと加速度センサーと電子コンパスとGPSで姿勢制御させる。そんでモーターの情報だけArduinoにシリアルで送信してモーターを回す。
PIDのコードはそんなにむつかしくないので、CoreMotionから姿勢をとって、目標の姿勢に向かう制御を適当に書いてみた。
その結果がこれ。
これ別に自分で振り回してるわけじゃないんだ。かってに振り回されちゃうわけ。
プロペラの推力の応答性が悪いから発振してしまう。
これはあかん。ジャイロをみて、角速度も制御しないといけないぽい
ちっこいとなんか取り回しやすいかなーとおもって、小さいMultiwiiボードも買った。
MWC MultiWii SE V3.0 フライトコントロールボード ミニ飛行機用標準タイプ
だそうです。
こいつでも飛ばせそうよ。
iPhoneをフライトコントローラーにするのはこいつでやる予定。
僕のスキルでやる場合
1.Multiwiiのソースを読んで、そこに位置推定を組み込む
2.Multiwiiはモータの制御とRCデータのリードだけ、データを全部Androidに送ってすべての制御をAndroidでやる
の2つの方法がある気がします。
これはAndroidフラグなのでは無いかと思う。JAVAがいやだ。
MultiwiiとNAZAを比較するとやはりNAZAは別次元で安定している。
これは以前述べたとおりで、GPSだけで位置を推定しているとは思えない動きをする。
そんなわけで、少し加速度とかジャイロから位置を推定するアルゴリズムについて調べてた。
やはりある。AR.Drone2.0もカルマンフィルタを用いた位置推定をしてる
僕がMultiwiiのソースをちらりと読む感じ位置の推定は行っていないように思う。(チラリとしかみてないから自信ないよ!)
もしそうならカルマンフィルタなりを実装するとNAZAバリに安定した飛行ができるかもしれない。
それやりたいやりたい。もっと小さいマルチコプターにもきっと応用できる。半導体パワーとソフトウェアのエンジニアリングが必要
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のボードの設定を頑張ってる。
2.3に変更してからちゃんとキャリブレーションして、少しコントロールのゲインを落としたらわりと飛ぶようになってきた
でも、WinGUIを接続してGPSの精度を確認していると相当フラフラしている。これでは多分GPS HOLDとか無理っぽい。
その状態のマウントはこんな感じ。
NAZAとか他の人をみても、モーターから離した位置にGPSをおいてる。
離した所にGPSを置くのが良いのかもしれない仮説から、レゴで適当にジグを作る。
かなり精度は向上した。GPS HOLDでもそこそこ飛ぶ感じ。まだ全然NAZAのようには飛ばないけど、良くなった。
GPSは上に付けるの意味ある!
なんとか飛ばせそう。
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がちゃんとコンフィグされているか調査!
Multiwiiのドキュメントからオレオレ解釈。あっているかどうかしらん
以上のモードからするとNAZAのGPSモードのような適当にGPSが補正してくれるようなモードはないような気がする。
NAZAとMultiwiiを比べるとNAZAが圧倒的に安定感がある。今のところMultiwiiは手放しは無理。Multiwiiはナノスパイダー ととても良く似た動きをする。