

連載「クアッドプレーン製作記」
- クアッドプレーンに挑戦(1)機体製作と基本設定
- クアッドプレーンに挑戦(2)初飛行までの準備とVTOL初飛行
Arming不調多発とその対策
機器の配線が完了したので調整を進めるべく電源を入れてArmingしようとしても、Warningが頻繁に発生して前に進めなくなりました。Warningは次のようなものです。
- PreArm: AHRS: not using configured AHRS type
- PreArm Check mag field (xy diff nnn>100)
尚、②のxy diff nnn>100のnnnは100より大きな数値でその時に応じて値が変わります。通常①が先に現れます。マニュアルを確認するとPre-Arm Safety Checksのタイトルの個所に、
- ①の原因はEKF3が準備できていない為で、対策はGPSが良好に受信できていることを確認すること。
- ②の原因は磁気コンパスの水平面内の強度が強すぎる、または弱すぎること。対策は、機体を周辺の金属から遠ざけること、機体内の金属物からコンパスを遠ざけること、コンパス較正をやり直すこと、及びFCU内蔵コンパスを使わないこと。
と、記されています。そこで次の実験を行いました。
実験による挙動確認
まず①の状況を確認するために室内でシステムを立ち上げてみました。当然GPSは衛星を受信できませんので①のメッセージが出されます。続いて②のWarningも何回も発出されます。しかし機体を庭先に出してGPSの受信状況を見ていると徐々に受信衛星の数が増えて、5個か6個の衛星を受信すると次のメッセージが出て①のメッセージは出なくなりました。
- EKF3 IMU0 origine set
- EKF3 IMU0 is using GPS
- AHRS: EKF3 active
ArduPilotのAHRS(Attitude and Heading Reference System: 姿勢方位基準装置)はFCU内蔵のIMU(Inertial Measument Unit:慣性計測ユニット)と、内部もしくは外部の磁気コンパスおよびGPS情報から、機体の姿勢と方位をカルマンフィルターEKF3を使って最適精度で推測計算します。そのため、GPSが十分な精度で受信できて始めてAHRS情報が得られます。
マニュアルによるとEKF3が機能するにはGPSの水平面内誤差(HDOP)が2m以下である必要があるようです。Mission PlannerでHDOPと受信衛星数を表示させて監視していると、衛星数が5乃至6個になるとHDOPが2を下回って上のメッセージが発せられます。EKF3が起動したことを意味し、AHRSの計算も行われたことから①のWarningが消えたことと理解されます。
しかし②のWarningはまだ続きます。コンパス較正をやり直しても状況は変わりません。ところが胴体左上面に貼り付けていたGPS/コンパスが偶々外れて垂れ下がった状態になった時にそのWarningも消えてArming準備完了となりました。当初「GPS/コンパスはこのように貼り付けてありました。

5つあるESCに電力を送るケーブルが作る電界から遠ざけるためにやむを得ずこのような位置に設置したのですが、未だ近すぎて干渉を起こしている可能性を否定できません。それが外れて機体の下に垂れ下がったことで干渉が減ったものと推測しました。
GPS/コンパス搭載ポストの新設
そこでこのようなポストを新設してGPS/コンパスを装着しました。尚、背中にしょっているのはXbee通信装置です。

この状態で庭先で実験を行いましたがAHRSがEKF3で正しく機能しても②のWarningが出されます。マニュアルでは周辺の金属の影響を述べて、受信衛星数のことは記されていませんが、その影響を確認すべくそのまま待ちました。団地内の庭先は周辺に住宅が密集しているために、受信衛星数は8個から中々増えません。辛抱強く待っていると10個から11個になって、HDOPが1m以下になったところで②のWarningが出なくなりArmingが可能になりました。周辺金属の問題だけでは無いようです。後日、もう少し開けた場所で再度実験したら電源ON後直ちに衛星受信数が10個以上になってArmingが可能になりました。これでPreArmのWarning問題も解決できました。
クアッドプレーンは多数のモーターへの電力ラインが機内を走るので、GPS/コンパスへの干渉を避ける工夫が殊更重要であることが判りました。
制御機能の確認
アーミングが問題なく行えるようになったので最初に地上で制御機能の確認を行いました。確認事項は次の3通りです。
地上での制御機能確認事項
- VTOLモードでの安定化機能が正しく働いているか否か。
- ホバーモード時のクアッドモーターの回転の立ち上がり方。
- ホバーから前進飛行への遷移時の推進モーターの挙動。
1. VTOLモードでの安定化機能の確認
機体が前後左右に傾いた時に正しい方向に復元モーメントが発生することの確認です。クラブ仲間のパイロットSさんに写真のように機体を頭上に持ち上げて貰って実行しました。この状態でQSTABILIZEモードでプロペラを回転させ、機体を傾けて安定化方向のモーメントが発生することを確認しました。

その結果ピッチ、ロール共に正しく安定化方向にモーメントが発生していることが確認できましたが、ヨー方向は発生モーメントが少なく良く判らないとのことでした。
2. ホバーモード時のクアッドモーターの回転の立ち上がり方
ホバーモードに入れた時、クアッドモーターはどのように回転を立ち上げるのが正常なのか私には知識がありません。そこで恐らくクアッドコプターのそれと類似であると予想してSygnusToriさん所有のクアッドコプターでモーターの立ち上がり方を実演して貰いました。それは次のようになります。
- アーミングするとプロペラが低速で回転を始める。
- スロットルを上げ50%より僅かに上にすると離陸上昇する。
- スロットルを50%に戻すとその高度でホバリングする。
- スロットルを50%より下げると降下し、50%より上げると上昇する。
3. ホバーから前進飛行への遷移時の推進モーターの挙動
マニュアルによるとホバリング状態から前進飛行に入れるにはフライトモードをFBWAモードに切り替えるように記されています。しかし、ホバリング状態ではスロットル位置が50%付近に在りますので、モード切替と共に推進モーターもいきなり50%で回転することになり、急加速が懸念されます。そのことが気になっていたので①と同じ状態で試験しました。
結果はやはりフライトモード切替と同時に推進モーターは中スロットルで回転を始めることが判りました。しかし、考えてみると飛行機を離陸させるときはかなり急激にスロットルを上げるのが普通なので、実用上は余り問題が無いであろうと納得できました。更にマニュアルを再確認すると、「遷移飛行中にスロットルを下げると機体は高度を維持したまま飛行速度が下がり、スロットルをゼロにすると前進モーターが止まってホバリングする」と、記されていますので、ゆっくり前進させたいときはモード切替後ただちにスロットルを下げれば良いことが判りました。
上記③についてスロットル位置(RCIN.C3 緑)とクアッドモーター(RCOU.C5~RCOU.C8)及び推進モーター(RCOU.C1 茶色)の回転状況を試験のログデータで確認しました。

グラフから次のことが判ります。
- QHOVERモードに入れスロットルを少し上げるとクアッドモーターが低速で回転を始める。
- スロットルを50%(RCIN.C3>1500)に上げるとクアッドモーターは急速に高回転になって垂直上昇状態に入る。
- スロットルを50%に落とすとホバリング状態と思われる回転数になる。
- その状態でFBWAモードに切り替えるとクアッドモーターはそのままで推進モーターが中速で回転する。
- FBWAモードのままでスロットルを上げると推進モータの回転も上がる。
- QHOVERモードに戻すと推進モータの回転は止まる。
4の推進モーターの挙動を見ると立ち上がりに傾斜があることが判ります。モード切替による急加速を恐れていましたが、その心配は不要のようです。他にこのデータで気になることは次の3点です。
- ア)アーミングしてもスロットルが最下位置にあるとクアッドモータが回転しない。
- イ)RCOU.C7(左前モーター)が常に最高回転になっている。
- ウ)RCOU.C8(右後モーター)の回転が常に他より低い。
これらの事象が異常なのか正常なのか考える必要があります。
最初のVTOL飛行へ向けての準備
制御機能の確認が済んだところで最初のVTOL飛行に向けて準備すべく、マニュアルを読み込んだところ色々な較正作業とパラメタ設定が必要なことが判明しました。一つづつ順番に対処することにしました。
①ESCの較正
マニュアルにはクアッドモーター制御用ESCの較正をするように記されています。これは送信機のスロットルが出す約1000μs~2000μsのPWM信号の最小/最大範囲にモーター制御をマッチさせるためです。較正手順は次のように書かれています。
マニュアルによるESCの較正手順
- FCUをUSBコードでPCに接続して電源を入れる。
- パラメタ
Q_ESC_CALを1にセットする。 - QSTABILIZEモードにする。
- Armingをしてからスロットルを最大に上げる。
- 機体のLiPoを繋ぐ。
- ESCが最大PWMを記憶してビープ音を発するまで待つ。
- スロットルを最小にしてDisarmする。
- ESCがPWMのレンジを記憶してビープ音を発するのを確認する。
ところがこの手順に従ってESC較正を行ったのですが、何度やっても8の段階のビープ音が聞こえません。諦めて次に進むことにしました。
②クアッドモーター制御用最低/最大PWM値の設定
ArduPlaneではクアッドモーターの最小/最大制御範囲のPWMをそれぞれQ_M_PWM_MINとQ_M_PWM_MAXで指定しています。そして前者はモーターが回転を始める値より20μs小さく、後者はESCの説明書に書いてある最大値に設定するように記されています。
そこで、使用しているDJI430LiteESCの説明書を見て驚きました。なんとPWMレンジではなくSignal Frequencyとして30~450Hzと記されています。PWMレンジに換算すると2222~33333μsになります。まるで範囲が異なります。そこで色々情報を集めたところ、ArduPilotのユーザーコミュニティの情報交換サイトで次の文言を見つけました。
You should have no issues with DJI ESCs and Ardupilot, I have used then extensively, you just need to be aware that DJI ESCs are not calibratable so just set your RC pwm range from 1000 to 2000 and you will be fine.
DJI 430 Lite ESCより引用
"I have used then extensively"は"I have used them extensively"の誤記と思われますが、これで、①のESC較正ができなかったことも異常ではないことが判りました。この文章に従って、
Q_M_PWM_MIN=1000Q_M_PWM_MAX=2000
と設定しました。
➂スロットルカーブの較正
クアッドモーターの推力はスロットルスティックに比例することが望まれますが、4つのモーターが回ると大量電流が必要になるために電源の電圧降下が起きて比例しなくなります。それを補正する手順です。パラメタを次のようにセットします。
Q_M_BAT_IDX=0LiPoバッテリーの1番目を動力電源に使用Q_M_BAT_VOLT_MAX=16.8LiPoは4セルで最大電圧は16.8VQ_M_BAT_VOLT_MIN=13.2LiPoは4セルで最低電圧は13.2VQ_M_OPTIONS=0電圧降下を補正する。Q_M_THST_EXPO=0.641DJI製直径9.4インチのプロペラ場合の電圧補正係数
電源容量が関与しないのは不思議ですがマニュアル通りに設定しました。
クアッドモーターのSPIN設定
クアッドモーターのSPIN(回転)に関する次の3つのパラメタを設定します。マニュアルにはデフォルト値と共に次のように記されています。
Q_M_SPIN_ARM=0.10モーターが回転を始める出力位置。Q_M_SPIN_MINを超えない。Q_M_SPIN_MIN=0.15モーターが推力を発生しだす出力位置。Q_M_SPIN_MAX=0.95推力が飽和する出力位置。
Q_M_SPIN_ARMの意味が今一つ判らなかったのですが、先のクアッドコプターのArming実演から考えて、Armした時にクアッドモーターが略推力ゼロで回転する状態にセットするパラメタと解釈しました。そこでQ_M_SPIN_ARMの値をデフォルトの0.10から0.01刻みで少しづつ上げて試験しました。その結果、Q_M_SPIN_ARM=0.15にするとArmした時にクアッドモーターが回り出しました。それより少しスロットルを上げると機体が動きそうになるのでQ_M_SPIN_MIN=0.17としました。
又、ホバリングに必要な推力の発生位置であるQ_M_THST_HOVERをデフォルトの0.35からマニュアル指示の0.25に変えました。
➄PID制御パラメタの初期値設定
マニュアルに従ってPID制御に関わる下記のパラメタの初期値を設定しました。
INS_ACCEL_FILTER=20加速度センサーのカットオフ周波数INS_GYRO_FILTER=40ジャイロセンサーのカットオフ周波数Q_A_ACCEL_P_MAX=110000ピッチ軸周りの最大角加速度Q_A_ACCEL_R_MAX=110000ロール軸周りの最大角加速度Q_A_ACCEL_Y_MAX=6750ヨー軸周りの最大角加速度Q_A_RAT_YAW_P=0.75ヨー軸レートコントローラーのPゲインQ_A_RAT_PIT_FLTD=20ピッチ軸レートコントローラーの微分周波数Q_A_RAT_PIT_FLTT=20ピッチ軸レートコントローラーの目標周波数Q_A_RAT_RLL_FLTD=20ロール軸レートコントローラーの微分周波数Q_A_RAT_RLL_FLTT=20ロール軸レートコントローラーの目標周波数Q_A_RAT_YAW_FLTE=2.5ヨー軸レートコントローラーの誤差周波数Q_A_RAT_YAW_FLTT=20ヨー軸レートコントローラーの目標周波数
最初のフライトの手順
最初のフライトは次の点を確認し、手順に沿って行います。
Q_M_SPIN_ARMが明らかにモーターが回転する出力以上にセットされていること。Q_M_SPIN_MINが明らかに最低限の推力を発生する出力以上にセットされていること。- QSTABILIZEモードで飛行すること。このモードはFCUの安定化が不安定な場合でも最大のコントロールパワーを与えてくれます。
最初の飛行時には、次のパラメタが指定値にセットされていることを確認します。
Q_A_THR_MIX_MAN=0.1Q_M_THST_HOVER=0.25(もしくは予想されるホバースロットルより小さいこと)
また、以下の点にも注意します。
- 較正された送信機を使うこと。
- ARM/DISARMを確認すること。
- 風の穏やかな日に行うこと。
初飛行の手順
- ゆっくりスロットルを上げて振動が発生しないか確認する。
- 機体が地面を離れたら、直ちにゆっくり地面に下ろしてDisArmする。
- パラメタを修正する必要があるか、再度離陸しても良いかを判断する。
- Armingして離陸する。1mの高さでホバーして、5度程度の傾きでピッチとロールを操作する。
- 発振したら直ちに着陸し、次のパラメタの値を50%減らす。
Q_A_RAT_PIT_PQ_A_RAT_PIT_IQ_A_RAT_PIT_DQ_A_RAT_RLL_PQ_A_RAT_RLL_IQ_A_RAT_RLL_D
揺れが収まるまでこの操作を続けます。この状態の機体は非常にレスポンスが鈍いことに注意します。
以上が初飛行前の準備と初飛行手順です。
初めてのVTOL飛行
いよいよ初めてのVTOL飛行です。姿勢安定のみのQSTABILIZEモードで前進用のプロペラを外した状態でVTOL飛行を行いました。次の3回の浮揚試験になりました。
3回の浮揚試験の内容と結果
- 20cm程度浮かせたところ、右旋回が止められないことが判明。直ちに着陸させ、全てのクアッドモーターを若干外向きに傾けた。
- 50cm程度浮かせたところ旋回は止まったが、主翼に振動が発生。直ちに着陸させ、⑥に記したパラメタの値を半減した。
- 振動も止まったので2m程度の高さに上げ、ピッチ、ロール、ヨーを確認。全ての舵が正常に効くことを確認した。
尚この時の試験の様子は私のブログでご覧になれます。
参考クアッドプレーンに挑戦 その12 初めてのVTOL飛行に成功! – 1/3三田式3型改1製作記
データ解析
試験結果をSDカードに記録されたデータで分析しました。
ア)飛行時の高度/旋回/振動
3回の飛行時の対地高度(紺)、旋回(オレンジ)、振動(上下加速度 緑)です。

初回浮揚では2旋転程回転しているが2回目は殆ど旋転しないこと、3回目は操縦桿の操作で旋転していることが判ります。また、2回目に大きかった上下加速度の振動が3回目には少なくなったことも明らかです。
イ)ピッチ制御特性
3回目の浮揚時に行ったピッチ操作(オレンジ)に対する機体の応答(グリーン)です。良好に応答していることが判ります。紺は対地高度です。

ウ)ロール制御特性
同じ3回目の浮揚時に行ったロール操作(オレンジ)に対する機体の応答(グリーン)です。ロール方向は慣性が大きいので大分オーバーシュートしていることが判ります。

エ)ヨー制御特性
同じくヨーの制御特性です。概ね良好な制御特性であることが判ります。

オ)電流データが採れないことが判明
クアッドモーターを回した時にどのくらいの電流が流れ、電圧降下がどの程度生じているのか確認したくバッテリー情報を読みだして驚きました。電流データ(オレンジ)が異常に少ないのです。

考えてみると当然です。先に記したようにクアッドモーターへの電力ラインは、FCUのプリント基板から取るのを嫌ってLiPoの出口に直接繋いでいます。従ってFCUに組み込まれた電流センサーはFCU内の電流しか感知していません。これは私の配線ミスです。配線をやり直すのは大変な上に余り実害はないのでこのままでいくことにしました。
尚、この試験中に脚が壊れてしまったので取り外しました。クアッドプレーンは地上運転中の脚にかかる振動荷重が通常の機体より大きいようです。
脚をスキッドに変更
後日壊れた脚に替えてスキッドを製作して交換しました。

取付個所はクアッドモーターを支えるカーボンパイプです。胴体に取り付けたこれまでの主脚より幅が広がって安定性が増しました。スキッド本体は取付金具と2本のネジで留めましたので壊れたときに交換可能です。
次回:ホバリングとロール運動を中心とするチューニング



