はじめに:PX4とArduPilot
先にPX4によるラジコン飛行機の自動操縦について紹介させて頂きましたが、その後PX4と双璧を成すArduPilot(APMの別名)についても実際に試験をしてその機能を確認しました。この度その全機能試験を完了したので、ここでPX4との違いを主に解説したいと思います。尚、筆者の知る限りこのような報告は初めてのものと思われます。
使用したFMUと試験機
今回はMicro Pixと言うPixhawk系の小型FMU(Flight Management Unit、FCU:Flight Control Unitとも)を使用しました。それをXbee通信装置と共にPX4の試験にも使用した小型機に搭載しました。尚、ArduPilotにはグライダーを自動ソアリングさせるという極めて魅力的な機能もあります。その機能確認にはDurandalという最新FMUを購入してASK-18グライダーに搭載/試験しました。それについての詳細は次回説明します。GCSはPX4と同じQGroundControl(QGC)です。
使用したOSとファームウェア
ArduPilotではOSはPixhawk系の標準OSであるNuttXと、比較的新しいChibiというものの2種類から選択するようになっています。マニュアルによると同ソフトのOSは今後Chibiに徐々に移行するようですのでこれを採用しました。NuttXより軽量 のようです。
PX4では一つのファームウェアですべての対象物を制御できましたが、ArduPilotでは専用のファームウェアに分割されています。固定翼機用のArduPlaneというファームウェアをインストールしました。
セットアップでの相違
PX4ではAirframeと言う枠で制御対象を選択する必要がありましたが、ArduPilotでは個別のファームウェアになっているのでその表示がありません。またPX4の時にあったGyroの較正画面もありません。これはArduPilotではセットアップ時にGyroのキャリブレーションは行わず、毎飛行前に自動で行われるからです。温度変化や時間経過でジャイロのドリフトが生じることを考慮してこのようにしたものと思われます。コンパス較正もPX4のように図示はされず、機体をぐるぐる回転させる指示が出るだけと言う細かい相違がありますが、概ね同じです。
フライトモード
PX4には10のフライトモードがありましたが、ArduPilotには15あります。同じような機能のフライトモードでも名称が異なるものがあります。一つづつ試験で確認した結果次のように対応付けることが出来ました。
ArduPilotのフライトモード | 対応するPX4のフライトモード |
---|---|
ACROモード | ACROモード |
AUTOモード | MISSIONモード |
AUTOTUNEモード | ― |
CRUISEモード | ― |
CIRCLEモード | ― |
FBWAモード | STABILIZEDモード |
FBWBモード | ALTITUDEモード |
GUIDEDモード | POSITIONモード |
LANDモード | LANDINGモード |
LOITERモード | HOLDモード |
MANUALモード | MANUALモード |
RTLモード | RETURNモード |
STABILIZEモード | ― |
TAKEOFFモード | TAKEOFFモード |
TRAININGモード | ― |
更にArduPilotにはFlight Features(特別飛行機能)と称して、上のフライトモードを補完する次のような機能があります。これらはPX4には存在しません。
Flight Featuresの機能例
- Inverted Flight(背面飛行):S/W操作でどのフライトモードも背面飛行で実施できる。
- Stall Prevention(失速防止機能):低速旋回中の失速を防止するために、バンク角に制限をかけたり、安全に旋回できるように速度がコントロールされる。
- Soaring(ソアリング):グライダーの自動ソアリング機能。上のフライトモードを自動的に組み合わせて実現する。
また、PX4では操縦者はMISSIONモードやRETURNモードのような自律飛行ではフライトモードの切り替えしかできませんが、ArduPilotでは操縦者の操舵を自動操縦にオーバーライドすることができます。ArduPilotの大きな特徴と言って良いでしょう。
ArduPilotのフライトモードの確認
全フライトモードを一つづつ試験してPX4と比較しましたが個々のフライトモードの比較を記すと長くなるので割愛します。代表的なものの試験結果を下記に記します。
AUTOTUNE(自動チューニング)モード
これは個々の機体に最適なPID制御ゲインを自動的にチューニングする機能で、PX4には無い機能です。ロール軸のチューニングにはロールスティックを左右一杯に切り返す操作を20回以上繰り返します。ピッチ軸ではエレベータスティック操作を同様に行います。切替し毎にロールのPゲインが5%毎変化してチューニングが行われます。このモードを用いるには最初にチューニングレベルをパラメータ「AUTOTUNE_LEVEL」で指定します。デフォルトは6で中級者向けのチューニングが行われます。実際に試験してみて簡単にチューニングできることが判りました。極めて実用価値の高い機能です。
FBWA(Fly-By-Wire A)フライバイワイヤーAモード
PX4のSTABILIZEDモードと同じでシステムがロールとピッチの姿勢を保持してくれるので飛行が極めて容易になります。PX4の場合と同じようにArduPilotの基本フライトモードになります。
操縦は姿勢制御(Attitude Control)になりますので機体の傾きは操縦桿の傾きに比例します。操縦桿から手を離すと水平飛行をしますが、風があれば流されます。ロール角の制限はパラメータ「LIM_ROLL_CD」で、ピッチ角は「LIM_PITCH_MAX」で制限されます。PX4のSTABILIZEDモードと同等の制御性能が得られることを確認しました。
GUIDED(誘導)モード
これはミッションを指定せずにGCS(地上局)を用いて地図上の特定ポイントに機体を誘導させるモードです。PX4にはありません。
地図上の行かせたい場所をクリックすれば、機体はそこまで飛行して到着したらLOITER(旋回)モードに入ります。カメラを積んで空中撮影する場合にいちいちウェイポイントを定めたミッション飛行をせずに、この機能で臨機応変に目標を修正する使い方ができるので便利です。実用価値のありそうなモードであることが確認できました。
TRAINING(練習)モード
このモードは初心者がマニュアルの操縦を練習するモードです。このモードに入れるとラダーとスロットルは自由に使えますが、ロールとピッチ角は制限されて限界を超えることがありません。これで過大な操作による飛行困難を回避しています。更にロール操作には失速防止機能が働いて、失速を起こさないバンク角に自動的に制限されます。このモードもPX4にはありません。
しかし実際に試験してみると制限角をかなりオーバーシュートします。その上レートコントロールにバンク角制限がかかると突然舵が効かなくなった感じがして余り気持ちの良いものではありません。マニュアルモードの練習にはむしろACROモードでレートを下げて行った方が素直であろうと感じました。このモードの様子は判りましたがその実用価値は?です。
次回:Flight Features(特別飛行機能)の検証
-
ArduPilotによるラジコン飛行機の自動操縦をPX4と比較(2)
オープンソースの自動操縦システムとして有名なArduPilotについて、PX4と比較しての解説記事を河上 宣道さんに寄稿いただきます。後編の今回は、操縦性の向上に重要なFlight Features(特別飛行機能)と呼ばれる機能群について解説します。