Skip to main content

ArduPilot設定

フライトモード

  • ArudPilotはフライトモードがいろいろあり、それぞれ挙動が微妙に違います

  • Stabilize、Acro, Alt-Hold, Loiter以外のモードではArm出来ないようになっていて、通常はStabilizeモードでARMし、離陸します

  • その後、Loiterモードに切り替えるとGPSが拾えていればそこで停止しますが、スティック入力には反応します

  • 完全に定点に留まり、スロットル以外には反応しなくなるPositionモードはAPMv3.2以降では廃止されました

  • Loiterモードは、なるべく現在位置に留まるように制御される為、他のモードよりも操作に対する「抵抗」を感じるモードです

  • チューニング画面からLoiter Speed (WPNAV_LOIT_SPEED) パラメーターを変更することで、よりキビキビとした動きにも出来ます

  • Loiter中の加速度はこのパラメーターで設定した値の1/2に制限されるので、完全手放しで静止させる目的場合以外は、AltHoldかStabilizeモードを使用します

  • v3.2以降であれば、LoiterよりもPosHoldモードのほうが、スティックへの反応がよいです

  • PHLD_BRAKE_ANGLEと、PHLD_BRAKE_RATEの値を上げれば、スティックを離してから停止するまでの制動距離を縮めることが可能です

Armingチェック

  • ArduPilotは、ARM前の自己診断でコンパスの診断、キャリブレーション、オフセット、さらに複数コンパスが接続されている場合はユニット間の数値の誤差などをチェックし、問題があれば手動で自己診断を解除しない限りARMできないようになっています(GPSも同様)
  • この時点でエラーがでるかどうかで、飛行中のセンサーの誤作動などはかなり防げますので、この設定は変更しないようにしましょう
  • ただし、キャリブレーションが頻繁に必要なコンパスユニットもあります

Need 3D Fix

  • GPS系のフライトモードでARMするためにはGPSの衛星捕捉数、HDOOPなどがパラメーターで設定した最低値以上である必要があります(デフォルト6以上)
  • GeoFenceを有効にしていると、GPS関連のPre-ARMチェックをオフにしていても、GPS不要モードでも、EKF_GPS_TYPE = 3 (OpticalFlow)にしていても、ARMできません

GPS Horiz Error

PixhawkのマルチカラーLEDとアラーム音のステータス一覧

フェールセーフ

  • 複数センサーがある場合、どれか一つが故障した場合でも他のセンサーの値と比較する事で、異常のあるユニットを検出して、飛行中にフェイルオーバー可能です(気圧センサーは通常1ユニットのみ)
  • 入出力専用の独立したI/Oコ・プロセッサーがあるので、固定翼機や、フライバー付きのヘリコプター等の場合、メインCPUがフリーズしても手動で下す事ができます。
  • 制御不能になった場合、APM(ArduPilot)には、場合によっては主制御用とは電源も独立したCPUからモニタリングを行い、一定の条件がそろった場合(一定時間反応がない等)に強制的にミッションを終了(意図的に墜落)する機能もあります。重量が増えるが、より安全に運用する事も可能です

設定

コンパス詳細設定

S.BUS Out

S.BUS outポートへ16CHすべてを出力する機能は長い間サポートされていませんでしたが、アップストリームのPX4Firmwareがサポートしたのをきっかけに、マスターに取り込まれました。AC3.4以降では16CH使えますが、AC3.3.3では8CHまでです。

# S.BUS出力をオン
BRD_SBUS_OUT = 1

PIDチューニング

  • Auto Tuneを使って、大まかな値を絞り込んで、その後マニュアルで細かく追い込むと楽です。
  • 初期設定値でまともに飛ばないのであれば、CH6にボリュームつまみをアサインする方法が安全です。
  • すべて手動で設定する場合も、CH6にチューニングする値を割り当て、飛行しながら調整すると楽です。

基本チューニング

CH6チューニング

Mission PlannerかAPM Planner 2.0のAdvanced Tuning画面で、CH6にボリュームノブをアサインし、ピッチとロール軸のPIDを同時に調整します

  • Extended Tuning画面のCH6 Optで、Rate Roll/Pitch kP(またはCH6_RATE_KP)を選びます
  • Minを0.08、Maxを0.25程度に設定します(この範囲でほとんどの機体がカバーできるはずです)
  • Lock Pitch and Roll Valuesにチェックを入れ、PitchとRollが同じ値になるようにします(シングルローターやGimbal搭載機などで、ピッチとロール軸で極端に回転モーメントに差がある場合は、個別に調整します)
  • Stabilizedモードで飛ばしながら、揺れ始める手前の最大ゲインを探します
  • Pを下げすぎるとスティックへの反応が鈍くなりますが、センサー/FCマウントで振動対策をしていれば揺れは収まるはずです
  • 着陸後に調整済みの値を確認し、キリのいい数値に切り捨てして書き込みます
  • CH6をオフにするのも忘れずに
  • 横風などで振動を誘発されれないように、上限よりすこし下げた値がベストです
  • 吹き下ろし、横風等、外部の影響を受けやすいようであればIを調整します

ヨー軸

  • PitchとRollが決まっても、Yawがまだ揺れるようであればYawのPを下げる方向で調整します
  • Stabilize Yaw PとRate Yaw Pのどちらが高すぎても揺れだします
  • 逆にYawのPを下げ過ぎると、方角を保てなくなるのですぐにわかります
  • ACRO_YAW_Pはヨー軸の回転速度を指定します(デフォルトの4.5だと一秒に200度回転)

AltHold

  • Pitch, Roll, Yawが安定してから、AltHoldを調整します
  • Altitude Hold Pをあげすぎると、スティックの上下に過敏に反応するようになります
  • Throttle Rateは変更不要です
  • Throttle Accelはデフォルトの半分ぐらい(P = 0.5、I = 1.0)まで下げても大丈夫です
  • Stabilizeモードでホバリング時にスロットルが70パーセント以上の場合、AltHoldに移行するのは危険です

GPSモード

  • AltHoldが決まってから、LoiterやPosHoldでの動作を確認します
  • 上記すべての調整が終わったら、最後にWaypoint/Loiterモードでのスピード調整して完了です
    • WPNAV_LOIT_SPEED = 最大速度(Loiter中の最大加速度はこの値の50%)
    • WPNAV_LOIT_MAXA = 加速度(停止状態から最大速度になるまでにかかる時間)
    • WPNAV_LOIT_MINA = 減速度(スティックをニュートラルに戻した時に機体が停止するまでの時間)

トラブルシューティング

PIDトラブルシューティング

ホバリング時に上下に揺れる

  • AltHoldやGPSモードが不安定なのであれば、まずはPixhawk内部のバロメーターに気圧調整用のスポンジがちゃんと取り付けられているか、またPixhawk本体にダウンワッシュがかかっていないか、外気圧と同じ圧力を保つ為の通気孔は確保されているか(密閉していないか)確認します
  • 上記に問題がないようであれば、WPNAV_LOIT_JERKと、WPNAV_ACCEL_Zを下げてみましょう
  • それでもまだ上下に揺れるのであれば、WPNAV_LOIT_SPEED、WPNAV_LOIT_MAXA、WPNAV_LOIT_MINAをさげてみます
  • MAXAは最大加速度、MINAはスティックを離した(センターに戻した)時にどれだけ急激にブレーキがかかるか(機体の最大傾き角)に影響します
  • どちらもWPNAV_LOIT_SPEED x 0.5が最大加速度の上限なので、WPNAV_LOIT_SPEEDが低い場合はMAXA、MINAは無視されます

AltHoldにした瞬間に急激に上昇する

どのモードでもスロットルスティックに過敏に反応する

  • Altitude Hold Pを下げます

機体がオーバーパワーで、AltHold時に上下に揺れる

  • Throttle AccelのPとIを1:2の比率を保ったまま下げます
    • この数値は絶対に上げる方向では調整しない
    • デフォルトの半分(P = 0.5、I = 1.0)程度まで下げても大丈夫

Stabilize, AltHold時は安定しているのに、GPSモードだけが不安定

  • 上下にだけ揺れる場合は、Pixhawk本体へのダウンワッシュ、バロメーターのスポンジ取り付け状況、Pixhawk内部への通気状況を確認します
  • 上記に問題がなければ、WPNAV_ACCEL_Z(上下方向の加速度)を下げます
  • Lotier時の動きがガクガクする場合は、WPNAV_LOIT_JERKを下げます
  • Loiterモード時にすりこぎ症状が出る場合は、コンパスに問題がある可能性が高いです
    • Compass Declinationを正しく設定(GPSがある場合は自動設定を使用)
    • コンパスキャリブレーションをやりなおす(気温が変わったり、飛行場所を変更するときは、できる限りやり直したほうが良い)
    • 電磁波の干渉をチェックし、特に大型機の場合や電源周りやモーターリード線とFCの距離が近い場合は、Compass Motキャリブレーションを行う
  • WPNAV_LOIT_SPEED、WPNAV_LOIT_MAXA、WPNAV_LOIT_MINAを下げてみます

大型機で、Loiterモードのみ振動が発生する場合

  • YAWが揺れる場合は、ATC_ACCEL_Y_MAXを下げます
    • デフォルトの18000の場合、一秒に180度回転しますが、大型機ではヨー軸をそんなに早く回すことはできないので、9000や6000まで落とします

PIDチューニング参考資料

Waypointトラブルシューティング

Waypoint時にYaw操作で高度が落ちる

  • Auto以外のモードでYawを最大に振った時にも高度が落ちる場合は、Yawスピードが速すぎるのでATC_SLEW_YAWを下げます

モーターとESCのレスポンスが追いついていない

  • ログでDesYawとYaw、RC Outを確認し、出力が振り切れていないか確認します

Waypoint上で進行方向を切り替える時のYawレートが速すぎる

1) WPNAV_RADIUSを広めにとる 2) Spline Waypointを使用する 3) Conditio-Yawを複数使用して、Waypointの間に徐々にノーズの方向を変える 4) WPNAV_ACCEL、WPNAV_ACCEL_Zを調整する

Waypoint参考資料

RC_OUT/AUXトラブルシューティング

  • AUX出力に繋いだランディングギヤやその他のPWM機器が動かない場合は、RC_SPEEDを50Hzに下げる