Savaresi《Active Braking Control Systems Design for Vehicles》Ch2 & Ch3 重點整理
Savaresi《Active Braking Control Systems Design for Vehicles》Ch2 & Ch3 重點整理
著重與你 FSAE / QuarterCar / TC 專案直接相關的部分:輪胎模型、單/雙輪模型、線性化、以及連續作動器下的輪滑率控制架構與 PI 設計。
Ch2:Control-oriented Models of Braking Dynamics
2.1 章節定位
- 目的:建立「控制導向」的制動動力學模型,之後所有 ABS/TC/穩定控制的設計都建立在這些模型上。
- 使用兩種車輛模型:
- Single-corner model:單一輪子 + 一半車身質量,適合 local ABS/TC 控制器設計與分析。
- Double-corner model:前後兩輪 + 動態荷重轉移,適合研究前後軸耦合與 ABS/TC 性能邊界。
2.2 輪胎–路面接觸力(Tyre–road Contact Forces)
- 接觸點受力分解:
- 垂直力:$F_z$
- 縱向力:$F_x$(驅動/制動)
- 橫向力:$F_y$(轉向)
- 一般寫成:
- $F_x = F_x(F_z, \alpha_t, \gamma, \lambda)$
- $F_y = F_y(F_z, \alpha_t, \gamma, \lambda)$
- $\alpha_t$:輪胎側偏角;$\gamma$:外傾角;$\lambda$:縱向滑移率。
2.2.1 縱向滑移率定義
- 完整定義(含側偏): $$ \lambda = \frac{v - \omega r \cos(\alpha_t)}{\max{v, \omega r \cos(\alpha_t)}} $$
- 只看直行縱向($\alpha_t \approx 0$、煞車時 $v \ge \omega r$):
$$
\lambda = \frac{v - \omega r}{v}, \quad \lambda \in [0,1]
$$
- $\lambda = 0$:純滾動
- $\lambda = 1$:輪鎖死(ABS 想避免的狀態)
2.2.2 正規化摩擦係數
- 為了讓模型與 $F_z$ 分離,定義:
- $\mu_x = F_x/F_z$
- $\mu_y = F_y/F_z$
- 因此:
- $F_x = F_z \mu_x(\alpha_t, \gamma, \lambda)$
- $F_y = F_z \mu_y(\alpha_t, \gamma, \lambda)$
- 在控制設計中,多半假設 $F_x, F_y$ 對 $F_z$ 近似線性(大荷重才會明顯飽和)。
2.2.1 摩擦模型:Pacejka(Magic Formula)
- 書中先介紹完整 Pacejka Magic Formula(長版),說明真實輪胎在不同 $F_z$、$\alpha_t$、$\gamma$ 下的 Fx, Fy 如何用一大堆參數擬合。
- 對縱向力:
- 形式類似:$F_x = D_x \sin{C_x \arctan[B_x \kappa - E_x(\cdots)]}$
- $\kappa$ 為歸一化 slip,$D_x, C_x, B_x, E_x$ 等為由實驗擬合的常數。
- 對橫向力有類似結構,只是參數與輸入換成 $\alpha_t$。
- 重點:Pacejka 非常準,但不適合做解析穩定性推導(太多參數)。因此書後面轉用簡化模型。
2.2.1 簡化摩擦模型:Burckhardt
- 為了分析方便,書中採用 Burckhardt 模型 近似縱向摩擦曲線: $$ \mu(\lambda; \vartheta_r) = \vartheta_{r1}\bigl(1 - e^{-\lambda \vartheta_{r2}}\bigr) - \lambda \vartheta_{r3} $$
- 三個參數 $\vartheta_r = [\vartheta_{r1}, \vartheta_{r2}, \vartheta_{r3}]$ 可以描述各種路況(乾、溼、雪、石板路)。
- 書中給出典型值(例如乾柏油 $\mu_{peak} \approx 1.2$ 等),並畫出 $\mu(\lambda)$ 在不同路面的形狀:
- 對所有路面:$\mu(\lambda)$ 在某個 $\lambda_{peak}$ 有峰值,之後下降。
- $\lambda = 0$:無縱向力;$\lambda = 1$:縱向力低於峰值且橫向力幾乎消失(車失去方向性)。
給你的應用:你之前用的 $\mu(\lambda) = c \sin(b \arctan(a\lambda))$ 其實就是 Burckhardt/簡化 Pacejka 的特例,書中分析完全可以直接套用到你的 Simulink Plant。
2.3 Single-corner Model(單輪模型)
- 結構:一個輪胎 + 對應的四分之一或半車身質量(制動方向)。
- 動態方程(縱向):
- 輪子: $$ J \dot{\omega} = -T_b - r F_x $$
- 車身: $$ m \dot{v} = F_x $$
- 其中 $F_x = F_z \mu(\lambda)$、$\lambda = (v - \omega r)/v$。
- 這就是你 QuarterCar Plant 的原型,只是書中是煞車($-T_b$),你現在換成驅動($+T_{drive}$)。
2.5.1 單輪滑移率動態與平衡點
- 書中將車速 $v$ 視為「慢變參數」,推導出只看 $\lambda$ 的一階系統: $$ \dot{\lambda} = -\frac{1-\lambda}{J\omega}\bigl(\Psi(\lambda) - T_b\bigr) $$ 其中 $\Psi(\lambda) \approx r F_z \mu(\lambda)$。
- 結論:
- 給定常制動扭矩 $T_b$,最多有兩個平衡點(與 $\Psi(\lambda)$ 曲線的交點)。
- 小的那一個 $\lambda_1$:穩定(在 $\mu(\lambda)$ 峰值左邊)。
- 大的那一個 $\lambda_2$:不穩定(在峰值右邊)。
- 當 $T_b > \max_\lambda \Psi(\lambda)$ 時,無平衡點 → 系統會一直往 $\lambda \to 1$(輪鎖死)。
這段就是在數學上證明:若直接開迴路施加大煞車扭矩,輪胎運作在 μ 曲線右邊(滑移大),是天生不穩定,必須靠 ABS/TC 控制器把 λ 拉回峰值左側。
2.5.1 線性化與傳遞函數(單輪)
-
在某個工作點 $(\lambda, v, T_b)$ 作小訊號線性化,定義:
- $\delta T_b = T_b - \bar T_b$
- $\delta \lambda = \lambda - \bar \lambda$
-
使用一階 Taylor 展開:
- $\mu(\lambda) \approx \mu(\bar\lambda) + \mu_1(\bar\lambda),\delta\lambda$
- $\mu_1(\bar\lambda) = \partial \mu/\partial \lambda |_{\bar\lambda}$(摩擦曲線斜率)。
-
得到以 $\delta T_b$ → $\delta \lambda$ 的傳遞函數: $$ G_\lambda(s) = \frac{\delta \lambda(s)}{\delta T_b(s)} = \frac{r}{J v},\frac{1}{s + a(\bar\lambda)} $$
- $a(\bar\lambda)$ 是跟 $\mu(\bar\lambda), \mu_1(\bar\lambda), m, J, r, v$ 有關的常數,符號會隨 linearisation 點在 μ 曲線的哪一邊而改變。
-
對 輪速 $\omega$ 與 歸一化減速度 $\eta = -\dot v/g$ 也有類似的 SISO 傳遞函數,方便設計輪速/減速度控制器。
結論:在固定車速近似下,單輪滑移率對制動扭矩的開迴路模型是一階系統,很適合用 PI/PID 直接調參,也解釋了為何你現在用 PI lambda-loop 感覺「像一階系統」。
2.4 / 2.5.2 Double-corner Model(前後兩輪 + 荷重轉移)
- 引入:
- 前輪、後輪各自有 $\lambda_f, \lambda_r$,且 $F_{zf}, F_{zr}$ 會隨制動動態改變(荷重轉移)。
- 推導出 2×2 MIMO 線性系統: $$ \begin{bmatrix} \delta \lambda_f \ \delta \lambda_r \end{bmatrix} = \begin{bmatrix} G_{ff}(s) & G_{fr}(s) \ G_{rf}(s) & G_{rr}(s) \end{bmatrix} \begin{bmatrix} \delta T_{bf} \ \delta T_{br} \end{bmatrix} $$
- 分析重點:
- 對角項 $G_{ff}, G_{rr}$:類似 single-corner 的一階行為。
- 交叉項 $G_{fr}, G_{rf}$:描述前輪制動對後輪滑移、及其反向影響。
- 強調:在合理慣量與距離參數下,系統行為在高頻與單輪模型相似,且可以視為「弱耦合」,因此 實務上可用前/後軸各自一個 SISO ABS/TC 控制器。
對你 FSAE 後驅電車:以後若要加入前輪制動、或四輪獨立 ABS,可以參考這章分析前後輪 slip 耦合,決定是否需要 MIMO 控制或相對 slip 控制(書中建議後輪上用 relative slip 會比較 robust)。
Ch3:Braking Control Systems Design – Continuous Actuators
這章就是在單/雙輪模型上疊控制器,重點是 連續可調的制動作動器(EHB / EMB),等價到你的「馬達扭矩可連續控制」的 TC 情境。
3.1 問題設定
- 假設制動作動器可近似為一階系統 + delay:
$$
G_{caliper}(s) = \frac{\omega_{act}}{s + \omega_{act}} e^{-s\tau}
$$
- 書中例子:$\omega_{act} \approx 70,\text{rad/s}, ; \tau \approx 10,\text{ms}$。
- 目標:
- 設計 輪滑率控制器 讓 $\lambda$ 追踪設定值 $\lambda_{ref}$(接近 μ 峰值)。
- 提供啟用/解除 ABS 的 supervisory 邏輯(因為不是隨時都要控制器介入)。
3.2 Wheel Slip Control(輪滑率控制)
- 優缺點比較:
- 輪減速度控制($\dot \omega$ 或 $\eta$):量測容易,但對路況敏感,常用 heuristic threshold 而不是純線性控制。
- 輪滑率控制($\lambda$):理論漂亮、動態 robust,易延伸到 TC / ESC;缺點是 $v$ 需要估測,低速 & 低 slip 區段難搞。
- 書中的設計方向:主力放在 slip control,配合良好的車速估測與啟閉策略。
3.4 線性輪滑率控制器設計
- 使用 Ch2 線性化得到的 SISO 模型: $$ G_\lambda(s) = \frac{\delta \lambda(s)}{\delta T_b(s)} = \frac{k}{s + a} $$
- 控制器選擇:
- 標準 PI:$C(s) = K_p + K_i/s$。
- 目標閉迴路:一階或二階期望響應(指定頻寬、阻尼)。
- 調參考點:
- 在 乾地、代表車速 的工作點做設計,確保此點 closed-loop 穩定且響應良好。
- 再檢查其他路況(濕地、冰雪)與車速下的 robust 性能。
- 若需要,加入 anti-windup 與輸出飽和處理(因為制動扭矩有限)。
對你的 TC:等效就是讓 $T_{drive}$ 經過 min() / saturator,再由 PI 控 $\lambda$,結構跟書的 ABS 幾乎一樣,只是扭矩作用方向相反。
3.6 效能分析與數值範例
- 書中利用 Single-corner 模型 + EMB 作動器,跑一系列數值實驗:
- 比較 open-loop 煞車 vs slip control 煞車的煞停距離與穩定性。
- 改變 Kp, Ki,看 $\lambda$ 超調、settling time 的差異。
- 檢查不同路況(用 Burckhardt 參數換 μ 曲線)下控制器的穩健性。
- 報告中會畫:
- $\lambda(t)$、$v(t)$、$T_b(t)$ 曲線。
- 以此為根據,建議 Kp/Ki 的可接受範圍。
你可以把這一段流程直接套用到 FSAE TC:先用 simulation 掃一圈 Kp/Ki,在不同 μ 路況下看 $\lambda(t)$、$a_x(t)$、$wheel torque(t)$,再把最穩定的一組下到 STM32 實車測試。
3.7 啟用 / 關閉邏輯(Activation & Deactivation)
- ABS/TC 不應該一直啟用,必須符合某些條件才接管輪胎扭矩:
- 警戒條件:
- 車速高於門檻(例如 > 10 km/h)。
- 踏板輸入達到一定強度(ABS)或油門足夠大(TC)。
- 輪滑率或減速度超過閾值。
- 解除條件:
- 車速太低(< 幾 km/h)。
- $\lambda$ 或 $\eta$ 已回到安全範圍一段時間。
- 警戒條件:
- 這部分書中給的是邏輯結構與典型閾值設定範例,可以直接翻成你的 traction mode 切換邏輯。
3.8 基於 Double-corner 的控制器分析
- 目的:確認 Ch2 double-corner 耦合對前/後軸 slip control 的影響。
- 結論:
- 若各軸各有一個獨立的 slip controller,且調參得當,系統可視為「弱耦合」,不一定需要 full MIMO 控制。
- 後軸控制若改用 relative slip(如 $\lambda_r - \lambda_f$)會更 robust,尤其在大制動+轉彎情境下。
未來你如果做四輪或前後軸共用控制器,可以參考這邊決定量測與控制輸出的型態(絕對 $\lambda$ vs 相對 $\lambda$)。
給你專案可以直接用的幾點
-
輪胎模型選擇:
- 如果你用簡化 Pacejka($\mu = c \sin(b \arctan(a\lambda))$),可以把它視為 Burckhardt/魔術公式的一種,Ch2 的線性化與穩定性結果都適用。
-
控制設計基礎:
- 以 Ch2 單輪線性模型建 $G_\lambda(s)$,在乾地代表點做 PI 設計,再在濕地、雪等 μ 模型下驗證 robust 性能。
-
實作結構:
- 用 Ch3 的架構:
lambda_ref -> PI -> torque_limit -> plant,加上啟閉邏輯與扭矩飽和,直接對應你的 STM32 + motor inverter TC 架構。
- 用 Ch3 的架構:
-
未來擴充:
- 若你導入 FSAE TTC data 擬合完整 Magic Formula,Ch2/Ch3 的分析仍成立,只是 $\mu(\lambda)$ 會更接近真實胎;等價於把 roadCoeffs 換成高精度版本。