將下面的命令複製並貼到 BetaFlight 的 CLI 命令列。這將關閉所有 BetaFlight 高級 PID 控制功能,恢復到 PID 基本設定(這些額外的高級設定會增强 PID 控制器,使其超越理論限制)。然後進行測試飛行,飛行中儘量包含多次翻滾(Flip)及側滾(Roll)(目視飛行或 FPV 飛行均可),反復激烈的調整搖桿,然後不斷增加P值,直到看到反彈(bounce-back)狀況發生。對於目視飛行或FPV飛行,您需要仔細聽與看(現象發生得很快)。然而,在黑盒子紀錄檔(BBL)中很容易觀察。我們可以根據步驟 1 調整濾波器後的基底噪音來設定 pitch 與 roll 的 D 值(pitch 和 roll 的 D 值可以用一樣的設定)。這個做法是很主觀,完全取決於你可以容忍 PID sum 裏的 D-term 信號噪聲有多高。對於使用 4S 電池的 5 吋機,一般建議 D 值是 30 多或 40多。對於使用 6S 電池的 5 吋機,D 值可能要下調到 20 多或 30 多。對於無刷小四軸(whoop)來說,大概在 60 多或 70 多。P值則是越高越好,調高直到出現搖桿快速動作後出現過衝現象 (Overshooting),然後再稍微調低,確認在最佳的臨界阻尼狀態(Critically damped)飛行(見圖7)。同樣的,最簡單的方法是目視觀察或 FPV 飛行時的細節。如果要精確的看到飛行姿態的變化,就要查看黑盒子紀錄檔。

圖3. PID 設定頁面中的 PD balance 滑塊
這一步驟的影片教學以及黑盒子中要看哪些資料,請參考:
關於 CLI 指令,請複製貼上後,打 SAVE 保存。
#PID Gains Settings
set d_min_pitch = 0
set d_min_roll = 0
set f_pitch = 0
set f_roll = 0
set f_yaw = 0
#PID Controller Settings
set pidsum_limit = 1000
set pidsum_limit_yaw = 1000
set feedforward_transition = 0
set abs_control_gain = 0
set use_integrated_yaw = OFF
set iterm_relax_cutoff = 10
save
當找到合適的 P 與 D 比例(平衡)後,您可以重新叫出 PID 調節滑塊並調整Master Multiplier 與 PD Balance 項目,以接近您手動設置的數字。 並非所有的四軸飛機都能使用 PID 滑塊來調適。由於Betaflight 的滑塊範圍是針對使用 6S 電池的 5 吋機而設計的,如果您要調小四軸(Whoop),牙籤機(Toothpick),或是 10 吋機,滑塊可能因爲範圍不足而無法滿足調適需求。

圖4. 開啓 PID 設定頁中打開調整滑塊
在進行翻轉(flips),翻滾(rolls)和半速率移動時(就像影片中的例子),我們對飛機輸入了一個階梯函數命令,使得 PID 控制器產生階梯響應(Stepped Response)使機子的姿態發生變化。 這就是如何調適 PID 控制器的手段。圖5列出了 PID 控制器中,改變各項設定對飛機性能的影響。另外,圖7説明了在臨界阻尼(Critically damped)狀態下的階梯響應(Stepped Reponses)曲綫。
對階梯響應(Stepped Reponses)曲線調整更深入了解:
下面的圖 5 總結了在調整 PID 設定時,如果只調高 P/I/D 其中一項,另外兩項保持不變,會產生什麼效果。 例如,查看表格的第一行,如果增加 P 值,而 I值與 D 值保持不變,系統時會:
降低反應時間(Rasing Time / Response Time)(四軸機移動的速度與搖桿命令更同步)
增加過衝現象(Overshoot)狀況(如果數值過大);
小幅度增加了穩定時間(Settling time)(如果數值過大);
穩態誤差降低(Steady-State error)(最佳時);
穩定性(Stability)變差(如果數值過大)。
關鍵是要在 P 和 D 項之間取得適當的平衡值,使得階梯響應(Stepped Reponses)曲綫達到臨界阻尼(Critically damped)的狀態(請參見圖7)。 前面步驟 2 中的 CLI 命令可幫助我們隔離 P與D的互動值,讓我們可以找到 P/I/D 的完美平衡!
-
當 D_min 開啟時,其值就是 PID 控制器中的D 值。只有在激烈動作下才會把 D 值提升到 D_max 值。詳細說明請參考步驟 4 的“前饋值造成的過衝現象 (FF induced overshoot)”。
接收訊號不穩定導致的影響(Crossfire, R9 與所有 Frsky 接收都有可能發生)
-

圖6:將 PID 控制器想象成汽車避震器時各項參數的意義
圖7 概述了以上調整項目的意義。 當我們進行翻滾或側滾時,我們改變了 ”姿態命令“(我們稱為四軸飛機的姿態設定點(Setpoint),也可視為搖桿位置指令),然後 PID 控制器會對這個動作做出反應,我們就可以觀察控制器如何處理這個姿態命令的改變(也就是對階梯函數的反應)。在調適的過程中,我們必須兼顧全速率和半速率運動,觀察控制器的反應,來優化調適結果。
前文的 CLI 指令會幫我們避免 P 與 D 值互相影響(關閉前饋值(FF)及去除 I-term 的作用),讓我們能單獨調整 P 值來決定最佳的 P/D 平衡比例,尋找臨界阻尼狀態下的 PID 反應。也就是不產生過衝的最高 P/D 平衡值。

圖7 階梯函數輸入反應圖(Step Response diagram)
在這個舉例中,姿態命令在時間開始時從 0 改到 110%,然後 PID 迴路開始反應來調整四軸飛機到目標姿態。下姿態命令的是我們遙控器上的搖桿,而紅線,綠線,黃線代表在不同 PID 設定值下的陀螺儀反應(飛機位置變化)。調適的目標就是把飛機的姿態反應調到“臨界阻尼狀態”下這條綠線(反饋給 PID 迴路的陀螺儀測量值)。