FSAE-E 循跡控制 (TC) 系統開發與驗證計畫
這份筆記旨在規劃一套循跡控制系統 (Traction Control System, TC) 的開發與驗證流程,主要參考 Pengcheng Ji 的碩士論文(UTAS, 2020)中所提出的方法。
https://repositorio-aberto.up.pt/bitstream/10216/152698/2/640636.pdf
1. 作法 (Methodology) - 核心技術理論
本計畫的 TC 系統是基於滑移率控制 (Slip Ratio Control)。核心作法是限制馬達輸出扭矩,使驅動輪的滑移率維持在一個「最佳抓地力」的目標區間。
參考論文的關鍵技術包含:
- 控制架構:
- 高階控制器 (High-Level): 計算「目標滑移率」,並根據當前滑移率,決定需要介入多少 (例如:使用 PID 控制器)。
- 低階控制器 (Low-Level): 負責執行高階控制器的扭矩指令。
- 馬達控制 (Motor Control):
- 永磁同步馬達 (PMSM) 為控制目標。
- 採用直接轉矩控制 (DTC) 或其他向量控制技術,以實現「精確且快速」的扭矩響應。
- 研究 MTPA (最大轉矩電流比) 和弱磁控制,以確保馬達在全速域都能高效輸出。
- 車輛建模 (Modelling):
- 輪胎模型: 使用 Magic Formula (MF) 來描述滑移率與摩擦力之間的非線性關係(這是 TC 演算法的靈魂)。
- 車輛模型: 至少使用四分之一車輛模型來模擬縱向動態。
[!] 關鍵前提: 此方法最佳適用於「後輪獨立馬達獨立驅動」的架構。 此 TC 只能進行「總扭矩」限制,無法處理左/右輪的獨立打滑。
2. 階段 (Phases) - 開發流程
將整個開發案切分為四大階段:
階段一:硬體盤點與參數確認
- 參數蒐集 (必要):
- 車輛參數:車重、軸距、重心高。
- 輪胎參數:(最難但最重要) 透過實驗取得 Magic Formula 的係數,或至少取得輪胎靜摩擦係數。
- 感測器確認: 具備 4 顆輪速感測器 (Wheel Speed Sensors)、IMU (G值/偏航速率)。
階段二:模擬 (Simulation)
- 環境建立: 在 MATLAB/SIMULINK 中重現論文的模擬環境。
- 模型建立: 建立自己的馬達、控制器和車輛模型。
- 參數替換: 將階段一蒐集到的「自家車輛參數」輸入模型。
- 演算法開發: 在 SIMULINK 中設計你的高低階 TC 控制器。
- 模擬驗證: 跑模擬,確認 TC 演算法能有效將滑移率控制在目標值。
階段三:實作 (Implementation)
- 程式碼轉換: 將 SIMULINK 模型轉換為 C/C++ 程式碼 (例如使用 Embedded Coder),或手動編寫。
- 控制器整合: 將 TC 演算法燒錄至 VCU (車輛控制器)。
- CAN Bus 設定: 確保 VCU 能高頻 (建議 100Hz+) 讀取 4 顆輪速、油門踏板,並能即時「覆蓋」駕駛的扭矩請求,向馬達控制器 (Inverter) 發送「限制後的扭矩指令」。
- 數據紀錄 (Logging) 設定: 確保階段三:驗證流程所需的所有數據都能被即時紀錄。
階段四:驗證與調校 (Validation & Tuning)
- 參照下方的「驗證流程」進行 A/B Test。
- 調校 (Tuning): * 目標滑移率: 調整你的
Target_Slip_Ratio(例如 10%? 15%?),找到最佳平衡點。- PID 調校: 調整 TC 控制器的 Kp, Ki, Kd 值,改善 TC 介入的「體感」。
- 太「粗暴 (Harsh)」:介入太快,車輛會頓挫。
- 太「軟弱 (Soft)」:介入太慢,輪胎仍在空轉,TC 沒效果。
- PID 調校: 調整 TC 控制器的 Kp, Ki, Kd 值,改善 TC 介入的「體感」。
3. 驗證流程 (Validation Process)
驗證的核心是 A/B Test:在相同條件下,比較 TC 開啟 (ON) vs TC 關閉 (OFF)。
3.1 用數據說話 (Data Logging)
[目標] 證明 TC 確實「介入」,並且「有效控制」了滑移率。
[必錄數據 (100Hz+)]
TCS_Active(布林值): TC 是否正在介入 (1=介入, 0=待機)Slip_Ratio_RL,Slip_Ratio_RR: (計算值) 左/右後輪滑移率Target_Slip_Ratio: (演算法目標值)Requested_Torque: (來自油門) 駕駛想要的扭矩Commanded_Torque: (TC 輸出) 演算法「實際」發給馬達的扭矩Wheel_Speed_FL,FR,RL,RR: 四輪輪速Longitudinal_G: (來自 IMU) 縱向 G 值 (加速度)Yaw_Rate: (來自 IMU) 偏航速率 (打轉速度)
[測試情境]
-
直線起步 (0-60kph 加速測試)
- TC OFF (對照組):
- 會看到:
Slip_Ratio瞬間飆升、Wheel_Speed_RR遠高於Wheel_Speed_FR、Commanded_Torque=Requested_Torque。
- 會看到:
- TC ON (實驗組):
- 必須看到:
TCS_Active變為 1 ->Commanded_Torque<Requested_Torque->Slip_Ratio被抑制在Target_Slip_Ratio附近。 - 成功指標: 0-60kph 加速時間更短,
Longitudinal_G曲線更飽滿。
- 必須看到:
- TC OFF (對照組):
-
出彎 (Corner Exit) 測試
- TC OFF (對照組):
- 會看到:出彎補油 -> 失去抓地力,輪速飆高 ->
Yaw_Rate劇烈變化 -> 車輛打轉 (Spin)。
- 會看到:出彎補油 -> 失去抓地力,輪速飆高 ->
- TC ON (實驗組):
- 必須看到:
TCS_Active啟動 -> 輸出扭矩被限制 ->Yaw_Rate保持平穩 -> 車輛穩定出彎。
- 必須看到:
- TC OFF (對照組):
3.2 眼見為憑 (Video Recording)
[目標] 直觀展示 TC 效果,並輔助數據分析。
- [必拍角度 1] GoPro 對準「驅動輪」用慢速攝影:
- TC OFF: 輪胎瘋狂空轉。
- TC ON: 輪胎仍會滑移(這是必要的),但被控制住,車輛明顯在「前進」而非「原地刨」。
- [必拍角度 2] GoPro 對準「駕駛與儀表板」:
- 確認車輛行駛方向。
- 確認儀表板上的「TC 啟動燈」是否如預期閃爍。
- [必拍角度 3] 車外側錄:
- TC OFF: 車尾劇烈擺動 (Fishtail)。
- TC ON: 車身動態穩定。
3.3 [進階] 空拍機鳥瞰 (Drone View)
[目標] 驗證 TC 對「側向滑移 (Sideslip)」的 間接 的幫助。
- TC OFF: 空拍機將拍到車輛(尤其在出彎時)的「指向」和「行進軌跡」不一致,車尾向外甩,即「側滑角」過大。
- TC ON: 空拍機將拍到 TC 透過防止「縱向空轉」,進而成功抑制了「側向滑移」的發生。車輛軌跡非常乾淨,車身指向與行進方向一致。