自動泊車路徑規劃概述

自動泊車路徑規劃概述

1.路徑規劃問題的一些概念

首先讓我們定義路徑規劃的上下文:特定的幾何形狀的機器人R在一個環境W中移動。

1.1 狀態空間

R 擁有幾個方向的自由度(如它的位姿和航向),而這幾個自由度的狀態可以衍生爲R的狀態,所有可能的狀態組成的空間稱爲一個狀態空間C

1.2 環境

一般情況下,環境W分爲障礙空間和自由空間,機器人R必須在自由空間F運動。

1.3 目標點

機器人在運動之後需要到達的一個在環境W或者狀態空間C中的點。

1.4路徑和軌跡

機器人的運動對應一系列的狀態,如果這些狀態有時間戳,我們稱爲軌跡,沒有叫做路徑。一個安全的路徑或軌跡,組成他的所有的狀態都必須是安全的。

1.5 全向性

機器人的全向性是指機器人在一個狀態c,能夠到達它的所有臨近狀態,通俗一點講就是機器人能夠到達他附近所有的區域。車輛不具有全向性,是因爲它無法進行側向移動。

1.6 可行性

非全向性是汽車的衆多動態約束中的一種,而這些約束引出了可行性路徑的概念。也就是一個可行性路徑必須滿足它所有的動態約束。

1.7 路徑規劃

基於上述的所有定義,路徑規劃的目的就是找到一條從當前狀態到目標狀態可行的安全的軌跡。

2.路徑規劃方法簡介

2.1 從幾何到可行的路徑規劃

這種類型的路徑規劃一般分爲兩個步驟。

  • 首先獲得一條從起點到終點的幾何路徑,這一步驟可通過Voronoi圖、人工勢場法、A*或者Dijstra等方法。
  • 然後考慮機器人的動態約束,去調整之前的幾何路徑,從而獲得可行的軌跡。
    這類算法的優點在於它適用性很廣,能夠適用與各種場景和各種機器人。
    缺點則是,即使生成的路徑是可行的,但是看起來非常的不自然或不可預期。

2.2 基於基本運動或者基本曲線的路徑規劃

這種類型的路徑規劃方法通過基本運動或者基本曲線來生成軌跡,他們之間的不同點在於基本運動的定義,基本運動可以是以恆定速度在恆定時間的運動,也可以連續光滑的曲線。這些曲線可以是圓弧直線、貝塞爾曲線、樣條曲線等等。
這類方法的優勢在於規劃出的軌跡是自然的,並且滿足汽車動力學約束可行的。但是,如何在狀態空間C去搜索這樣一個路徑變地更加困難,原因在於基本運動和基本曲線在狀態空間中沒有直接的數學表示。如何去解決這個困難,比較流行的方法有概率路徑規劃[Ahuactzin et al., 1991; Overmars, 1992; Sekhavat et al., 1996]、快速隨機數法[La Valle and Kuffner, 1999;La Valle, 2006].

3.基於基本運動自動泊車問題描述

3.1 自動泊車問題的特殊性

自動泊車路徑規劃的特殊性在於,基於泊車車位的類型,我們知道我們需要尋找的是那種操作路徑。

3.2 車輛模型

(1)x˙=Scos(θ) \dot{x} = Scos(\theta)\tag{1}
(2)y˙=Ssin(θ)\dot{y} = Ssin(\theta)\tag{2}
(3)θ˙=Stan(Θ)L\dot{\theta} = S\frac{tan(\Theta)}{L} \tag{3}
Note:

  • 車輛的狀態由它的位姿(x,y,θ\theta)表示,這個位置對應的是車輛後輪中心的位置
  • S代表車輛的線速度,Θ\Theta代表車輛的前輪轉角
  • L代表前後輪的軸距
    在這裏插入圖片描述

3.3 環境模型

在這裏插入圖片描述
環境模型做了一些簡化:

  • 停車位是平行與馬路的矩形區域
  • 馬路是兩條平行線內的區域

基於以上假設,環境模型可以由三個參數表示:停車位的長度d,寬度w和馬路寬度W。座標系的原點定在停車位停車位置,這樣車輛的最終的座標都會在原點。

3.4 基礎運動

在這裏插入圖片描述

我們定義基礎運動如上圖3所示,是在一段時間內,對車輛進行車速和轉角的控制,控制變量是對時間的函數。這個運動模型可以由數學表達式(4)和(5)表示,其中涉及到有六個參數:

  • λ\lambda: 運動的持續時間
  • γ\gamma: 前輪轉角方向改變的時間
  • SmaxS_{max}: 車輛的最大速度
  • Θmax\Theta_{max}: 車輛最大的前輪轉角
  • β\beta: 從0加速到SmaxS_{max}的時間
  • α\alpha: 從0達到Θmax\Theta_{max}的時間
    (4)S(t)=Smax×{t/β0t<β1βt<λβ(λt)/βλβt<λS(t)=S_{max}\times \\ \begin{cases} t/\beta &0\leq t <\beta \\ 1&\beta \leq t <\lambda-\beta \\ (\lambda-t)/\beta& \lambda-\beta \leq t <\lambda \tag{4} \\ \end{cases}
    (5)Θ(t)=Θmax×{t/α0t<α1αt<γα(γt)/αγαt<γ+α1γ+αt<γα(tλ)/αλαt<λ\Theta(t)=\Theta_{max}\times \\ \begin{cases} t/\alpha &0\leq t <\alpha \\ 1&\alpha \leq t <\gamma-\alpha \\ (\gamma-t)/\alpha& \gamma-\alpha \leq t <\gamma +\alpha \tag{5} \\ -1&\gamma +\alpha \leq t < \gamma - \alpha \\ (t - \lambda)/\alpha & \lambda - \alpha \leq t < \lambda \end{cases}
    在這裏插入圖片描述

圖4顯示了不同的γ\gamma可以獲得不同的基礎運動。綜合車輛模型和基礎運動模型,我們可以將二者對應起來:
(6)(Δx,Δy,Δθ)=M(λ,γ,Smax,Θmax,α,β) (\Delta x,\Delta y,\Delta \theta) = M(\lambda,\gamma,S_{max},\Theta_{max},\alpha,\beta) \tag{6}
這個運動模型還可以用動力學模型表示:
(7)(Δx,Δy,Δθ)T=t=0λ(x˙,y˙,θ˙)Tdt (\Delta x,\Delta y,\Delta \theta)^T = \int_{t=0}^{\lambda}(\dot{x},\dot{y},\dot{\theta})^T dt \tag{7}

3.5 垂直停車操作

在這裏插入圖片描述

如圖5所示,垂直停車操作可以分爲三步驟:

  • 第一步,調整車頭朝向
  • 第二步,向前運動,使車尾部朝向垂直車位
  • 第三步,後退泊入

這樣路徑規劃就變成了尋找3個基本運動的問題。

參考文獻

C. Pradalier, S. Vaussier and P. Corke Path planning for a Parking Assistance System: Implementation and Experimentation

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章