# 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$）。

---

## 給你專案可以直接用的幾點

1. **輪胎模型選擇**：
   - 如果你用簡化 Pacejka（$\mu = c \sin(b \arctan(a\lambda))$），可以把它視為 Burckhardt/魔術公式的一種，Ch2 的線性化與穩定性結果都適用。

2. **控制設計基礎**：
   - 以 Ch2 單輪線性模型建 $G_\lambda(s)$，在乾地代表點做 PI 設計，再在濕地、雪等 μ 模型下驗證 robust 性能。

3. **實作結構**：
   - 用 Ch3 的架構：`lambda_ref -> PI -> torque_limit -> plant`，加上啟閉邏輯與扭矩飽和，直接對應你的 STM32 + motor inverter TC 架構。

4. **未來擴充**：
   - 若你導入 FSAE TTC data 擬合完整 Magic Formula，Ch2/Ch3 的分析仍成立，只是 $\mu(\lambda)$ 會更接近真實胎；等價於把 roadCoeffs 換成高精度版本。