賽車的數學簡化
[!NOTE] 賽車是在非線性、不確定且受限的動力系統中,持續求解最短時間軌跡的最佳化問題。
一條理想賽車線大致要滿足:位於賽道邊界內、曲率平順、避免不必要的方向變化,並讓入彎、彎心與出彎連成連續軌跡,同時在多個彎之間做全局取捨。這和參數曲線(如 B-spline)的思路很接近:車手不是逐點決策,而是在腦中形成一條連續路徑。
路線可用參數曲線表示
\[\mathbf{r}(s)=\begin{bmatrix} x(s)\\ y(s) \end{bmatrix}\]其曲率
\[\kappa(s)=\frac{x'(s)\,y''(s)-y'(s)\,x''(s)}{\left(x'(s)^2+y'(s)^2\right)^{3/2}}\]會直接影響能維持的速度:曲率越小、速度越高。在最簡化的摩擦圓模型中,過彎極速大致是
\[v_{\max}(s)\approx\sqrt{\frac{\mu g}{|\kappa(s)|}}\]其中 $\mu$ 是摩擦係數、$g$ 是重力加速度。所以路線越能壓低關鍵位置的曲率,理論上過彎速度就越高。
但賽車線不只是找「最圓」或「最短」的曲線:
- 最短距離未必最快
- 最大化單一彎的彎心速度,可能犧牲下一個彎
- 晚頂點增加行駛距離,卻能改善出彎加速
- 排位賽與正賽的最佳路線不同
- 輪胎過熱時,原本最快的線可能不再最優
車手其實是在對多個互相衝突的條件做最佳化,而不是套用一條固定的幾何規則。
嚴格說,這也不是「曲線擬合」,而是「軌跡最佳化」。曲線擬合是先有一組資料點、再找曲線去逼近;但賽車沒有預先給定的正確點,車手是主動選擇路徑、速度、煞車點與油門,本質上是一個以總時間為目標的 optimal control problem:
\[\min_{\mathbf{u}(t),\,T} T\]受限於車輛動態與賽道、摩擦等約束:
\[\dot{\mathbf{x}}(t)=f\bigl(\mathbf{x}(t),\mathbf{u}(t),\theta(t)\bigr)\] \[\mathbf{r}(t)\in\text{track boundaries},\quad \text{tire forces}\in\text{friction envelope}\]其中 $\mathbf{x}(t)$ 是車輛狀態、$\mathbf{u}(t)$ 是控制輸入(方向盤、油門、煞車)、$\theta(t)$ 是外部條件(路面摩擦、輪胎溫度、風向)。真正被最佳化的不只是平面上的 $(x, y)$ 曲線,而是一條高維軌跡
\[(x,y,v,\psi,\dot\psi,\beta,\text{tire state},t)\]同時包含位置、速度、車身姿態與輪胎狀態。
「混沌系統」是合理的比喻,但技術上略重。賽車確實對初始條件敏感。煞車點差一公尺、輪胎溫度差幾度、或前車尾流,都可能改變整個彎,但這種不可預測性多半來自量測誤差、隨機擾動、對手決策與未建模的動力學,而不是嚴格數學意義上的 chaos。描述成非線性、時變、帶不確定性的系統會更精確。
表示法上,Bézier curve 適合描述平滑形狀,卻不易單獨控制局部曲率。實務上更常用 B-spline,或更貼切的 clothoid(迴旋曲線)——它的曲率隨路徑長度線性變化:
\[\kappa(s)=\kappa_0+as\]這正好對應車手漸進轉動與回正方向盤的動作,比單純的圓弧更接近真實走線。