您的位置 首页 kreess

從SUMO中瞭解CACC模型

CACC,全稱為cooperative adaptive cruise control,也稱協同自適應巡航控制,是應用於自動駕駛車輛跟馳研究的熱門模型。本文從幾類典型的跟馳

CACC,全稱為cooperative adaptive cruise control,也稱協同自適應巡航控制,是應用於自動駕駛車輛跟馳研究的熱門模型。本文從幾類典型的跟馳模型、CACC模型的公式理解、CACC模型在SUMO中的應用來瞭解CACC模型。

一、典型跟馳模型

跟馳模型和換道模型是交通流理論中重要的微觀控制模型。車輛處於跟馳狀態可由前後兩車的車頭間距和車頭時距判定。首個跟馳模型為1953年提出的Pipes跟馳模型,在此之後,GM模型、神經網絡模型、FVD模型、IDM模型、元胞自動模型等像雨後春筍般得到發展和應用。隨著自動駕駛技術的發展,跟馳模型從傳統模型轉向ACC、CACC模型等研究。

ACC,全稱為adaptive cruise control,也稱自適應巡航控制。在ACC系統中,後車通過雷達和紅外傳感器能夠獲得前車的速度、加速以及間距信息,從而通過調節後車速度、加速度改變兩車間距。ACC系統中響應時間較駕駛員反映時間大大降低,因此可以提高通行效率。改變IDM模型中的安全車頭時距的參數即可解釋ACC系統的控制模型。在ACC基礎上,發展得到CACC的車輛縱向控制方式。

CACC控制方式基於車-車無線通信(V2V),它打破瞭ACC模型中隻能獲取前車模型的局限,能夠獲取周圍車輛的信息(在周圍車輛也安裝CACC系統的基礎上),它獲得感知環境時更全面、精確且時延小,因此能夠進一步減小行車時延,保證行車安全。(在自動駕駛技術的研究中,有一項稱為CACC車輛退化率,即指當自動駕駛車輛的前方車輛由自動駕駛車輛變為人工駕駛車輛時,後車由CACC退化為ACC,這是在研究列隊行駛中較為重要的指標)

二、CACC公式理解

加州伯克利PATH實驗室提出的恒定車間時距策略的CACC模式是一種廣泛使用的方法。公式如下,其內涵較為簡單,通過實際與期望間距的誤差項不斷調整後車速度。

其中, x_{i} 為跟馳車輛的位移, v_{i} 為跟馳車輛速度, e 為實際距離與期望距離之間的誤差, T 為最小安全車頭時距, i-1 代表前車, v_{kprev} 為車輛前一時刻的速度。

三、模型在SUMO中的應用

SUMO文檔中對CACC的說明網址為https://sumo.dlr.de/docs/Car-Following-Models/CACC.html 。簡要翻譯一下,SUMO中的CACC模型基於三篇文獻開發,期刊來源於Transportation Research Part C和TRR。CACC模型分為四種模式,分別是速度控制模式(Speed control mode)、間距控制模式(Gap control mode)、間距接近控制模式(Gap-closing control mode)和防碰撞控制模式(Collision avoidance control mode)。

  • 速度控制模式:當車頭時距大於2s或者沒有前車在車輛的檢測范圍內時,為速度控制模式,保持駕駛員的期望行駛速度進行行駛。
  • 間距控制模式:當前後車間距小於0.2m或速度差小於0.1m/s時,該種模式被激活,與前車保持固定的車頭時距進行行駛。
  • 間距接近控制模式:當前後車頭時距小於1.5s時該模式被激活,該模式保證瞭在速度控制模式和間距控制模式的平穩過渡。
  • 防碰撞模式:當車頭時距小於1.5s或間距偏差為負值時,該模式被激活。

在三篇文獻中的解釋:

在Xiao, Wang & van Arem[1]的文章中,提出瞭三種控制模式,分別是cruising controller、gap-regulating controller以及gap-closing controller,應該就是對應SUMO中CACC的前三種控制模式瞭。在cruising模式中,車輛加速度由前一時刻的速度和期望速度之差決定。在gap-regulating controller中,其加速度的生成公式如下:

其中, k 代表仿真步長, k-1 代表前一仿真步長, d_{0} 為間距邊界值,隨速度的變化而變化。由上式可知,要求得k步車輛速度,必須知道 k-1k-2 步的信息。

同時,我們也可以發現gap-closing controller的作用,通過改變另外兩種模式下的權重值 k_{1}k_{2}k_{p}k_{d} ,使模式的轉化更為平穩。

在Xiao, Wang, Schakel & van Arem[2]的文章中提出也提出上述三種控制模式,當車輛位於gap-regulating controller狀態下時,其速度控制為:

由上式可知,要求得要求得k步車輛速度,必須知道 k-1k-2k-3 步的信息。其所需知道的信息比上一篇文章中更全面。

同時,文獻中提出的CACC車輛的雙重循環控制模型也很值得學習,如下圖。

在SUMO中關於CACC介紹的頁面中,同時提供瞭核心代碼,<SUMO_HOME>/src/microsim/cfmodels/MSCFModel_CACC.cpp,以便讀者更好的理解模型。下圖代碼為SUMO中防碰撞模式下的核心代碼,也即上述提過的gap-regulating controller狀態,由圖對比文獻可知,仿真平臺中的權重取值與文獻中稍有不同。

在瞭解瞭CACC核心思想後,補充下SUMO中車輛使用CACC跟馳模型方法,是在rou文件中設置車輛類型或車輛的carFollowModel,如下:

<vType id="Alternative" length="5" minGap="2" carFollowModel="CACC " tau="0.2" .../>

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

返回顶部