天天看點

自動駕駛運動規劃-Dubins曲線

如下圖所示,Simple Car模型是一個表達車輛運動的簡易模型。Simple Car模型将車輛看做平面上的剛體運動,剛體的原點位于車輛後輪的中心;x軸沿着車輛主軸方向,與車輛運動方向相同;車輛在任意一個時刻的姿态可以表述為(x, y, 

自動駕駛運動規劃-Dubins曲線

)。車輛的運動速度為s;方向盤的轉角為

自動駕駛運動規劃-Dubins曲線

,它與前輪的轉角相同;前輪和後輪中心的距離為L;如果方向角的轉角固定,車輛會在原地轉圈,轉圈的半徑為

自動駕駛運動規劃-Dubins曲線

自動駕駛運動規劃-Dubins曲線

在一個很短的時間

自動駕駛運動規劃-Dubins曲線

内,可以認為車輛沿着後輪指向的方向前進,當

自動駕駛運動規劃-Dubins曲線

趨于0時,有:

自動駕駛運動規劃-Dubins曲線

根據數學定義:

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

将2) 和3)代入1)中,得到:

自動駕駛運動規劃-Dubins曲線

顯然,

自動駕駛運動規劃-Dubins曲線

自動駕駛運動規劃-Dubins曲線

是5)式的一個解,兩側乘以速度s等式仍然滿足。是以有:

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

自動駕駛運動規劃-Dubins曲線

表示車輛前進的距離,則有:

自動駕駛運動規劃-Dubins曲線

根據三角幾何,有:

自動駕駛運動規劃-Dubins曲線

将9)式代入8)式,得到:

自動駕駛運動規劃-Dubins曲線

8)式兩側同除以dt, 并根據

自動駕駛運動規劃-Dubins曲線

,得到:

自動駕駛運動規劃-Dubins曲線

至此得到了車輛的運動模型(Motion Model)。

然後引入Action變量,假設車輛運動速度s和方向盤轉角

自動駕駛運動規劃-Dubins曲線

由Action變量

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

指定,得到:

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

假設車輛按照常量速度運作: 

自動駕駛運動規劃-Dubins曲線

,最大轉向角度為

自動駕駛運動規劃-Dubins曲線

,最小轉彎半徑

自動駕駛運動規劃-Dubins曲線

,起點為

自動駕駛運動規劃-Dubins曲線

, 終點為

自動駕駛運動規劃-Dubins曲線

,我們目标是求解從起

自動駕駛運動規劃-Dubins曲線

點到終點

自動駕駛運動規劃-Dubins曲線

的最短行駛距離。求解最短距離的過程就是優化如下Cost的過程。

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

是到達

自動駕駛運動規劃-Dubins曲線

所需的時間,

自動駕駛運動規劃-Dubins曲線

,當

自動駕駛運動規劃-Dubins曲線

不可達時,

自動駕駛運動規劃-Dubins曲線

由于速度

自動駕駛運動規劃-Dubins曲線

是恒定的,根據前面提到的車輛的運動模型:

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

其中:

自動駕駛運動規劃-Dubins曲線

。将13)和14)代入12),可看到,最短行駛距離隻與時間

自動駕駛運動規劃-Dubins曲線

有關。

令S為車輛直行的Motion Primitive,L和R分别為車輛左轉和右轉的Motion Primitive,可以證明,任意起點到終點的Dubins最短路徑可以由不超過三個Motion Primitives構成。由三個Motion Primitives構成的序列稱為一個Word。由于兩個連續的、相同的Motion Primitive可以合并為一個Motion Primitive,是以所有可能的Word有10中組合,Dubins證明最優的Word組合隻能是如下6個組合之一:

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

其中,

自動駕駛運動規劃-Dubins曲線

自動駕駛運動規劃-Dubins曲線

,這裡注意,

自動駕駛運動規劃-Dubins曲線

大于

自動駕駛運動規劃-Dubins曲線

,如果小于

自動駕駛運動規劃-Dubins曲線

,一定有其它的序列優于該序列。

假設兩個最小轉彎半徑構成的Circle為 

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

,半徑分别為

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

,圓心分别為

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

1)首先構造C1和C2的圓心

自動駕駛運動規劃-Dubins曲線

自動駕駛運動規劃-Dubins曲線

的向量

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

2)構造C1和C2的外切線切點構成的向量

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

3)構造垂直于

自動駕駛運動規劃-Dubins曲線

的機關法向量n,修改

自動駕駛運動規劃-Dubins曲線

的使其平行于

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

根據法向量的定義:

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

根據機關向量的定義:

自動駕駛運動規劃-Dubins曲線

,代入上式得到:

自動駕駛運動規劃-Dubins曲線

16)式兩側同除以D,得到:

自動駕駛運動規劃-Dubins曲線

注意,這裡

自動駕駛運動規劃-Dubins曲線

實際是将向量

自動駕駛運動規劃-Dubins曲線

機關化。

根據向量點乘的數學定義:

自動駕駛運動規劃-Dubins曲線

是以:

自動駕駛運動規劃-Dubins曲線

等于向量

自動駕駛運動規劃-Dubins曲線

與法向量n的夾角的餘弦。為了友善書寫,定義一個常量

自動駕駛運動規劃-Dubins曲線

等式17)中隻有n是未知數。

5)将向量

自動駕駛運動規劃-Dubins曲線

旋轉角度C就得到向量n。假設

自動駕駛運動規劃-Dubins曲線

,根據向量旋轉的數學定義:

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

6)計算出n之後,就可以很友善的計算出外切線的切點

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

。從C1的圓心出發,沿着向量n的方向,距離為

自動駕駛運動規劃-Dubins曲線

的位置即為切點

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

亦然。

RSR、LSL、RSL、LSR是CSC類型的行駛曲線,該類型曲線首先計算兩個圓的切點,然後車輛沿着最小轉彎半徑構成的圓周行駛到第一個圓的切點,然後直行到第二個圓的切點,再沿着最小轉彎半徑構成的圓周行駛到目的地。下面我們以RSR軌迹為例看看如何計算行駛曲線。

假設起點

自動駕駛運動規劃-Dubins曲線

和終點

自動駕駛運動規劃-Dubins曲線

,最小轉彎半徑為

自動駕駛運動規劃-Dubins曲線

。然後我們計算起點和終點的圓心。

起點的圓心為:

自動駕駛運動規劃-Dubins曲線

終點的圓心為:

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

得到起點和終點的圓心之後,可以利用3.1小節的切點計算方法,得到切點

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

。然後就可以得到車輛的行駛軌迹,該軌迹分為三段:start到

自動駕駛運動規劃-Dubins曲線

的圓周弧;

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

的直線距離;

自動駕駛運動規劃-Dubins曲線

到Goal的圓周弧。至此我們得到了RSR的行駛曲線。

自動駕駛運動規劃-Dubins曲線

如下圖所示,

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

的圓心為

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

是與

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

相切的圓,圓心為

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

根據數學關系,可得到:

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

自動駕駛運動規劃-Dubins曲線

自動駕駛運動規劃-Dubins曲線

自動駕駛運動規劃-Dubins曲線

的夾角,已知三角形的三個邊的長度,根據餘弦定理,有:

自動駕駛運動規劃-Dubins曲線

最終可得到:

自動駕駛運動規劃-Dubins曲線

注意此處為LRL模式時,

自動駕駛運動規劃-Dubins曲線

需要加上

自動駕駛運動規劃-Dubins曲線

;為RLR模式時,

自動駕駛運動規劃-Dubins曲線

需要減去

自動駕駛運動規劃-Dubins曲線

然後計算

自動駕駛運動規劃-Dubins曲線

和計算

自動駕駛運動規劃-Dubins曲線

就變得很容易。定義向量

自動駕駛運動規劃-Dubins曲線

,将向量縮放到

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

最後可以得到交點

自動駕駛運動規劃-Dubins曲線

。按照同樣的過程可以計算得到

自動駕駛運動規劃-Dubins曲線

。然後就可以得到start到

自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線
自動駕駛運動規劃-Dubins曲線

到Goal的圓周弧的三段軌迹組成的行駛曲線。

自動駕駛運動規劃-Dubins曲線

我們向往遠方,卻忽略了此刻的美麗