MultiWii第2弾です!
前回,MultiWii SE V2.5 CRIUSを見ていきましたが,今回は実際に動かしてみたいと思います.
MultiWiiでは,PC上のGUIによって,ボードの設定(Configuration)ができるソフトウェアがあります.
それが,”MultiWiiConf” です.
MultiWiiConfでは,MultiWiiをマルチコプターに使用する際の,RCの設定や,姿勢制御のためのPIDコントローラのゲインを設定することができます.(他にもLCDつないでを使って設定することもできるようです.詳しくは,http://www.multiwii.com/softwareへ!)
また,つなぎながらセンサーの読み取り値とそこから計算済みの姿勢角をリアルタイムで見ることができます.
今のところ,マルチコプターを作っているわけではなく,RCもモーターも機体も手元にありませんので,今回はセンサーの値及び姿勢角の計算結果を見ていきたいと思います.
手順は次のような感じ.
- Arduino IDEをインストール
- MultiWiiのArduinoスケッチとMultiWiiConfのダウンロード
- Arduinoスケッチ中のconfig.hの編集
- MultiWii v2.5 CRIUS にスケッチを書き込む
- MultiWiiConfで値を確認
では,それぞれ詳しく見ていきましょう!
注)僕のPCは未だにWindows7なのでそこ基準の説明になります.ご了承下さい.上のバージョンも大きくは変わらないとは思いますが...
1.Arduino IDEをインストール
MultiWiiはArduinoベースで動いているので,プログラムも全てArduinoのスケッチ(Arduinoにおけるソースコードのこと)で書き込みます.
ここで,Arduinoにスケッチを書き込むための専用のソフトウェア(Arduino IDE)が必要となります.
最新版のインストーラはArduino公式サイトからダウンロードできます.(
https://www.arduino.cc/en/main/software)
インストールの手順は,次のブログ記事が参考になるかと.(「Arduino IDE インストール」で検索したらトップに出てきました)
僕は既にインストール済みなので,この手順はスキップ.
2.ArduinoスケッチとMultiWiiConfのダウンロード
MultiWiiのボードに書き込むスケッチ(Arduinoにおけるプログラムのコード)とMultiWiiConfのアプリケーションをダウンロードします.
ダウンロードはこちらからできます↓.(MultiWiiの公式サイトにもリンクがあります)
https://code.google.com/archive/p/multiwii/
一番最新の"MultiWii_2.4"をダウンロードしましょう.
3.config.hの編集
MultiWiiに書き込むArduinoスケッチは少しいじってやらないとコンパイルエラーとなり,書き込むことができません.config.hというヘッダファイルをほんの少し編集します.その編集方法です.
先ほどダウンロードしたzipファイルを解凍すると,
- MultiWii (フォルダ)
- MultiWiiConf (フォルダ)
- change.txt
とありますが,MultiWiiフォルダの下に,Arduinoのスケッチが入っています.
フォルダを開くと,ずらーっとソースファイル(.cppや.h)が並んでいますが,ここでは,"MultiWii.ino"を開きます.(.inoはArduinoスケッチの拡張子)
すると,Arduino IDEが開き,MultiWii.inoが表示されます.
MultiWii.inoにはプログラムは書いてありません.コメントのみです.
「設定するには,config.hのタブを開いてね」
と書いてあるように,config.hのタブを開きます.このタブは上のリストではたぶん見えないので右上のドロップダウンリスト(▼←コレ)から開きます.これも書いてありますね.
MultiWiiConfで動かすために編集するのはたったの2箇所です.
(1)38行目 //#define QUADP のコメントアウトをとる.(先頭の//を消す)
(2)128行目 //#define CRIUS_SE_v2_0 のコメントアウトをとる.
これだけ.これだけで動きます.
なお,(1)は,つくりたいマルチコプターの種類の決めるだけなので,MultiWiiConfで動かすだけなら,一緒に並んでるQUADXでもAIRPLANEでもどれでも動くはずです.
(2)は,今回使ってるMultiWii SE V2.5 CRIUSを使うにはこの行を有効にしなくてはいけません.他のだとうまく動かないです.
なお,config.hのコメントに丁寧にやり方が書いてあるので英語ができる方は読みながらやればいいと思います.
注)今回の目的はMultiWiiConfで動かしてみることなので,MultiWiiConf動けばいいというセッティングです.フライトコントローラーとして動かすときは,それにそってRCの設定などが必要となります.たぶん.(参考になりそうなサイト:MultiWii SE V2.5 CRIUS 設定方法 | おとなラジコン)
4.MultiWii v2.5 CRIUS にスケッチを書き込む
編集したArduinoスケッチをボードに書き込んでいきます.
まず,ボードとPCを接続します.このボードはUSB端子を持たないので,FTDI/USBの変換アダプタを使って接続します.変換アダプタをMultiWiiボード上のFTDIと書いてある6本のピンに差し込みます.
続いて,ArduinoIDEの設定をします.
(1)ArduinoIDEのツール>マイコンボードからArduino Nano w/ ATmega328を選択
(2)PCのデバイスマネージャー>ポート(COMとLPT)でFTDIアダプタのポートを確認
(3)ArduinoIDEのツール>シリアルポートから(2)で確認したポート番号を選択
これで準備は完了です.
あとは,ArduinoIDEの左上の書き込みボタン(⇒)を押してボードにスケッチを書き込みましょう.
うまく書き込めれば,下に「マイコンボードへの書き込みが完了しました。」とメッセージが出ます.
5.MultiWiiConfで値を確認
ここまでくればあとは簡単です.
まずは,MultiWiiConfを開きます.先ほどダウンロードしたMultiWii_2_4のフォルダの下の,"MultiWiiConf"フォルダを開きます.そこに,"application.xxx"といったフォルダが並んでいます.(xxxはOS名)xxxのなかから自分の環境に合ったフォルダを開きましょう.
僕の環境ではxxxはwindows32となります.その下に,MultiWiiConf.exeというアプリケーションがあるのでそれをクリックするとMultiWiiConfが開きます.
左側の"PORT COM"の下から,ボードが繋がっているポートの番号をクリックして,グラフの左上のスタートボタンを押せば,値が更新されます.
動かした様子です.
うまく動きました!動きに合わせて,グラフと姿勢指示器,方位計などが動いてるのがわかります.
これで何をめざすのか
これ,すごいですね.完成度高いですね.
こんな簡単にできてしまうのか.
なんか,ちょっと,
つまらん.笑
これをつかってなにしようか.これそのまま使って,ふつうにマルチコプターとか作っても,面白くないもんなあ.
どうしよう.
少し考えてみることとします.
次の記事.