區域性路徑規劃 - 01 曲線插值法
阿新 • • 發佈:2022-03-03
區域性路徑規劃之曲線插值法
演算法簡介
-
曲線插值法是在滿足某些特定條件下,對路徑曲線的擬合。
-
常見的擬合曲線有:多項式曲線、雙圓弧段曲線、正弦函式曲線、貝塞爾曲線、B樣條曲線等;
演算法思想
-
曲線插值法的核心思想是基於預先構造的曲線型別,根據車輛期望達到的狀態(比如要求車輛到達某點的速度和加速度為期望值),將此期望值作為邊界條件代入曲線型別進行方程求解,獲得曲線的相關係數;
-
曲線所有的相關係數一旦確定,軌跡規劃隨之完成。
多項式曲線
-
多項式曲線分為三次多項式曲線、五次多項式曲線、七次多項式曲線;
-
我們注意到上述的多項式曲線都是奇數次,事實上,多項式曲線一般而言都是奇數次,這是由邊界條件引起的。邊界條件一般包括車輛的起始狀態和終止狀態(如換道軌跡的起點狀態和終點狀態),由於偶數個狀態導致有唯一解的方程係數為偶數,故偶數個係數的多項式也就是奇數多項式
-
三次多項式曲線:最多能確定每一個期望點的兩個維度的期望狀態,一般來說就是位置和速度
- 五次多項式曲線:最多能確定每一個期望點的三個維度的期望狀態,一般來說就是位置、速度和加速度
- 七次多項式曲線
以五次多項式為例的曲線插值法
- 首先,我們定義如下的五次多項式:
-
我們將起始時刻定義為\(t_0\)
- 起始時刻的位置方程:
- 起始時刻的速度方程:
- 起始時刻的加速度方程:
-
同理,我們可以構造終止時刻\(t_1\)的的橫向和縱向方程,這裡就不再詳細描述;
-
我們將起始位置和終止位置的橫縱向方程統一用矩陣表達為:
- 對上述矩陣進行求解(\(A=T^{-1} \times X\),\(B=T^{-1} \times Y\)),我們可以得到唯一的係數矩陣解,即得到唯一的多項式曲線,該曲線上每一點的導數代表著車輛經過該點時的速度。多項式曲線插值法軌跡規劃出的曲線是路徑+速度的耦合結果。
注意:曲線插值法得到的軌跡曲線是關於時間\(t\)的函式,而非座標\(y\)關於座標\(x\)的函式。
與雙圓弧段換道軌跡進行對比:
- 雙圓弧段換道軌跡由弧AC+線段CD+弧DF構成,如下圖所示:
- 在C點,軌跡曲率由弧AC段的定值突變為0,考慮到方向盤的轉角是一個連續緩變的過程,為了讓車輛能夠完全跟隨軌跡,車輛行駛到C點後必須速度為0,讓方向盤回正後才能沿給定的軌跡繼續行駛,因此雙圓弧段換道無法應用於行車路徑規劃,而應用於泊車路徑規劃。
程式碼實現
待更新,後續會上傳到Github上。