藍(lán) 丹,樊東紅,陳 強(qiáng),危 維
(1.廣西生態(tài)工程職業(yè)技術(shù)學(xué)院汽車與信息工程學(xué)院,廣西 柳州 545004;2.廣西民族師范學(xué)院數(shù)理與電子信息工程學(xué)院,廣西 崇左 532200;3.柳州電信分公司,廣西 柳州 545004)
隨著互聯(lián)網(wǎng)、大數(shù)據(jù)以及人工智能等高新技術(shù)在車輛領(lǐng)域的廣泛運(yùn)用,車輛正由人工操控加速向智能化系統(tǒng)控制轉(zhuǎn)變,智能車輛已成為產(chǎn)業(yè)技術(shù)的戰(zhàn)略制高點(diǎn),受到廣泛研究人員的關(guān)注[1-3]。路徑規(guī)劃作為智能車輛的核心技術(shù)之一,其主要功能是根據(jù)給定的環(huán)境模型,在一定約束條件下,規(guī)劃出一條連接車輛當(dāng)前位置和目標(biāo)位置的無(wú)碰撞路徑,是確保車輛正常行駛的關(guān)鍵,也是智能車輛技術(shù)研究中的重點(diǎn)[4-6]。
當(dāng)前,大量學(xué)者對(duì)智能車輛路徑規(guī)劃問(wèn)題開展了廣泛的研究:文獻(xiàn)[7]運(yùn)用人工勢(shì)場(chǎng)算法對(duì)車輛進(jìn)行局部路徑規(guī)劃,實(shí)現(xiàn)了車輛在滿足動(dòng)力學(xué)約束以及平穩(wěn)性、安全性要求前提下的避障換道,但僅限于規(guī)避靜態(tài)障礙物;文獻(xiàn)[8]在傳統(tǒng)人工勢(shì)場(chǎng)算法中引入速度斥力勢(shì)場(chǎng),以此規(guī)劃出車輛運(yùn)動(dòng)的動(dòng)態(tài)路徑,實(shí)現(xiàn)了車輛的動(dòng)態(tài)避障,且能滿足車輛轉(zhuǎn)向要求;文獻(xiàn)[9-11]進(jìn)一步對(duì)傳統(tǒng)人工勢(shì)場(chǎng)算法進(jìn)行改進(jìn),引入調(diào)節(jié)因子,進(jìn)行車輛運(yùn)動(dòng)的路徑規(guī)劃,較好的克服了陷入局部最優(yōu)且不適用于動(dòng)態(tài)環(huán)境等問(wèn)題。以上是傳統(tǒng)的人工勢(shì)場(chǎng)法在車輛路徑規(guī)劃中的應(yīng)用。隨著人工智能技術(shù)的快速發(fā)展,模糊邏輯算法、遺傳算法、快速擴(kuò)展隨機(jī)樹等智能算法在車輛路徑規(guī)劃問(wèn)題中也得到了較好的應(yīng)用。文獻(xiàn)[12]提出了一種分層分級(jí)的模糊控制方法,通過(guò)設(shè)計(jì)避障控制器和目標(biāo)趨向控制器實(shí)現(xiàn)了車輛的運(yùn)動(dòng)避障,減少了算法的計(jì)算量;文獻(xiàn)[13]對(duì)傳統(tǒng)遺傳算法進(jìn)行改進(jìn),提出了一種車輛路徑規(guī)劃方法,大大提高了系統(tǒng)收斂速度;文獻(xiàn)[14]設(shè)計(jì)期望避障路徑模型,提出一種改進(jìn)RRT路徑規(guī)劃算法,較好的解決了傳統(tǒng)RRT算法隨機(jī)性太大導(dǎo)致的路徑不平滑問(wèn)題,使得規(guī)劃路徑能夠滿足車輛動(dòng)力學(xué)約束。
本文針對(duì)智能車輛路徑規(guī)劃問(wèn)題,提出一種改進(jìn)蟻群智能路徑規(guī)劃方法,較好地解決了傳統(tǒng)蟻群算法搜索時(shí)間長(zhǎng)和容易陷入局部最優(yōu)等缺陷,在提高算法效率的同時(shí)保證了路徑的平滑性并能實(shí)現(xiàn)實(shí)時(shí)動(dòng)態(tài)避障,有效提高了車輛行駛的安全性。
在t時(shí)刻,螞蟻k從柵格i轉(zhuǎn)移到柵格j的概率為:
(1)
式中,Jk(i)表示螞蟻k下一步可選柵格的集合。τij表示當(dāng)前路徑的信息素濃度,ηij表示一個(gè)啟發(fā)因子,α和β分別表示信息素和期望啟發(fā)因子的相對(duì)重要程度。
式(1)中,ηij具體表達(dá)式為:
(2)
式中,d(j,G)表示柵格j到目標(biāo)柵格G的距離。
信息素更新公式為:
(3)
式中,λ為局部信息素?fù)]發(fā)速率,表示全局信息素?fù)]發(fā)速率,Δτij表示全局信息素濃度,Q為正常數(shù),Lk為第k只螞蟻在本次周游中的最短路徑長(zhǎng)度。
根據(jù)以上原理,算法的主要流程為:
步驟1:創(chuàng)建柵格化地圖環(huán)境,輸入由0和1組成的矩陣表示需要尋找最優(yōu)路徑的地圖,其中0表示可行道路,1表示障礙物;
步驟2:信息素矩陣、初始點(diǎn)、終止點(diǎn)、啟發(fā)因子等各類參數(shù)初始化設(shè)置;
步驟3:選擇從初始柵格下一步的可行柵格,并根據(jù)路徑的信息素濃度,通過(guò)公式(1)求得前往每個(gè)節(jié)點(diǎn)的概率,通過(guò)輪盤算法獲得下一步的初始柵格;
步驟4:更新柵格路徑以及路程;
步驟5:重復(fù)步驟3、4,直到螞蟻到達(dá)目標(biāo)柵格或者無(wú)路可走;
步驟6:重復(fù)步驟3、4、5,直到m只螞蟻迭代結(jié)束;
步驟7:按公式(3)更新信息素矩陣,沒有到達(dá)目標(biāo)柵格的螞蟻除外;
步驟8:重復(fù)步驟3~7,直到n代螞蟻全部迭代結(jié)束。
從算法的基本原理和主要流程來(lái)看,傳統(tǒng)蟻群算法主要存在以下缺陷[16]:
(1)由于螞蟻尋找路徑的隨機(jī)性比較大,且初始時(shí)刻各路徑的信息素大致相同,導(dǎo)致了搜索時(shí)間較長(zhǎng);
(2)根據(jù)路徑選擇概率公式,螞蟻會(huì)朝著信息素濃度較大的路徑前進(jìn),但當(dāng)搜索規(guī)模較大時(shí),容易陷入局部最優(yōu)。
在傳統(tǒng)蟻群算法中,從螞蟻選擇概率公式(1)可以看出,螞蟻在選擇下一步移動(dòng)?xùn)鸥駮r(shí),取決于信息素濃度τij以及僅包含柵格j到目標(biāo)柵格G的距離信息的啟發(fā)信息ηij,完全沒有考慮障礙柵格信息,算法通過(guò)提供的先驗(yàn)位置信息,判斷可行區(qū)域,能夠?qū)崿F(xiàn)有效靜態(tài)避障,但對(duì)于動(dòng)態(tài)障礙物,此法失效。為保證螞蟻能夠有效實(shí)現(xiàn)動(dòng)態(tài)避障,現(xiàn)將障礙柵格信息引入選擇概率中。改進(jìn)后的路徑選擇概率公式為:
(4)
(5)
式中,d(i,b)表示障礙柵格與自由柵格的距離,γ為障礙距離的啟發(fā)因子,用以表示δib(t)的重要程度。
同時(shí)為了增加路徑選擇的多樣性,避免算法陷入局部最優(yōu),對(duì)啟發(fā)式因子ηij進(jìn)行改進(jìn):
(6)
式中,C為正常數(shù)。
在傳統(tǒng)蟻群算法中的初期時(shí),螞蟻每進(jìn)行一次移動(dòng)時(shí),走過(guò)路徑的信息素都會(huì)按照一定的揮發(fā)速率而減弱,當(dāng)搜索問(wèn)題規(guī)模較大時(shí),可能會(huì)導(dǎo)致該條路徑信息素?fù)]發(fā)至0,從而較低算法搜索能力,為此,對(duì)局部信息素?fù)]發(fā)系數(shù)改進(jìn)如下:
(7)
式中,0.95λ(t)表示取95%的信息素?fù)]發(fā)因子的上限,λmin表示信息素?fù)]發(fā)因子的下限。
同時(shí),為避免某條路徑信息素濃度過(guò)大或過(guò)小,而導(dǎo)致出現(xiàn)搜索停滯,對(duì)其做出范圍限制如下:
(8)
通過(guò)改進(jìn)局部信息素?fù)]發(fā)系數(shù)以及限定信息素濃度的閾值,能有效防止某條路徑上的信息素濃度過(guò)高或過(guò)低,從而實(shí)現(xiàn)在保證路徑選擇多樣性的同時(shí),提高算法的局部搜索能力和收斂性。
圖1為智能車輛簡(jiǎn)化模型,考慮車輛處于較低速度行駛狀態(tài),此時(shí)車輛運(yùn)行相對(duì)穩(wěn)定,車輛轉(zhuǎn)向靈敏性可通過(guò)轉(zhuǎn)向半徑來(lái)表示,具體表達(dá)式為[8]:
(9)
式中,R為車輛轉(zhuǎn)向半徑,δ為車輛前輪轉(zhuǎn)向角,L為車輛軸距。
當(dāng)車輛進(jìn)入彎道轉(zhuǎn)向時(shí),應(yīng)滿足:
(10)
式中,車輛轉(zhuǎn)向角通常在30°~40°,乘用車輛軸距一般在2.3~2.45 m之間,取δmax=40°,取Lmax=2.45 m。
圖1 智能車輛模型
傳統(tǒng)蟻群算法的路徑規(guī)劃并沒有考慮路徑拐點(diǎn)的轉(zhuǎn)彎半徑,而車輛在行駛過(guò)程中為避免側(cè)翻,需滿足一定的轉(zhuǎn)向特性,為此,本文在改進(jìn)傳統(tǒng)蟻群算法路徑選擇概率和信息素更新方式的基礎(chǔ)上,再通過(guò)樣條插值方法對(duì)規(guī)劃路徑進(jìn)行平滑處理,使得其轉(zhuǎn)向半徑滿足公式(10),從而確保車輛行駛的穩(wěn)定性。
綜上所述,改進(jìn)后的蟻群算法基本流程如圖2所示。
圖2 改進(jìn)蟻群算法流程圖
為驗(yàn)證本文所提改進(jìn)蟻群路徑規(guī)劃算法的有效性,以智能車為對(duì)象,采用柵格地圖環(huán)境進(jìn)行對(duì)比仿真實(shí)驗(yàn)。
在柵格地圖中,分別通過(guò)用0和1表示可行區(qū)域和障礙物區(qū)域,為充分驗(yàn)證本文所提算法的有效性,分別創(chuàng)建如圖3a所示的20×20的靜態(tài)方格地圖,以下稱為1號(hào)地圖,該地圖中僅存在靜態(tài)障礙物,以及如圖3b所示的11×15的動(dòng)態(tài)車道地圖,以下稱為2號(hào)地圖,該地圖存在靜態(tài)和動(dòng)態(tài)兩種障礙物。
(a) 1號(hào)靜態(tài)方格地圖
(b) 2號(hào)動(dòng)態(tài)車道地圖圖3 柵格地圖環(huán)境
圖中,黑色方格表示靜態(tài)障礙物以及車道邊界等不可行區(qū)域,紅色方格代表起點(diǎn),藍(lán)色方格代表終點(diǎn),黃色方格代表動(dòng)態(tài)障礙物,其沿x軸方向移動(dòng)。
分別使用傳統(tǒng)蟻群算法和本文改進(jìn)蟻群算法在1號(hào)地圖和2號(hào)地圖進(jìn)行仿真實(shí)驗(yàn),仿真參數(shù)設(shè)置為:螞蟻個(gè)數(shù)M為50,迭代次數(shù)K為100,信息素全局蒸發(fā)系數(shù)為0.8,信息素局部蒸發(fā)系數(shù)λ為0.6,重要程度參數(shù)α為2,β為4,信息素強(qiáng)度Q為2。得到仿真結(jié)果如圖4~圖6所示。
1號(hào)地圖仿真結(jié)果如圖4所示。
(a) 傳統(tǒng)蟻群算法路徑規(guī)劃結(jié)果
(b) 本文改進(jìn)蟻群算法路徑規(guī)劃結(jié)果圖4 1號(hào)地圖中仿真結(jié)果
表1 1號(hào)地圖仿真結(jié)果數(shù)據(jù)
分析1號(hào)地圖兩種算法仿真結(jié)果,從圖4a中可以看出,傳統(tǒng)蟻群算法可有效避開已知靜態(tài)障礙物,而規(guī)劃出一條全局路徑;從圖4b中可以看出,本文改進(jìn)的蟻群算法能夠有效避開圖中靜態(tài)障礙物,且規(guī)劃出的路徑相對(duì)較為平滑;從表1所示的仿真結(jié)果對(duì)比中可以看出,改進(jìn)蟻群算法較傳統(tǒng)蟻群算法最優(yōu)路徑長(zhǎng)度減少了17.5%,運(yùn)行時(shí)間減少了75.8%。
1號(hào)地圖兩組仿真實(shí)驗(yàn)重點(diǎn)證明了改進(jìn)算法在收斂速度和全局優(yōu)化上較傳統(tǒng)算法具有明顯的優(yōu)越性。
2號(hào)地圖仿真結(jié)果如圖5所示。
(a) 初始狀態(tài)路徑規(guī)劃結(jié)果
(b) 動(dòng)態(tài)障礙位置變化后路徑規(guī)劃結(jié)果圖5 2號(hào)地圖中傳統(tǒng)蟻群算法仿真結(jié)果
分析2號(hào)地圖傳統(tǒng)蟻群算法仿真結(jié)果,從圖5可以看出,初始狀態(tài)時(shí)該算法能夠較好的同時(shí)避開動(dòng)態(tài)和靜態(tài)障礙物,而當(dāng)動(dòng)態(tài)障礙物位置發(fā)生變化時(shí),由于算法中的路徑選擇概論并沒有對(duì)動(dòng)態(tài)障礙物位置信息進(jìn)行更新,所以路徑規(guī)劃結(jié)果不會(huì)發(fā)生變化,無(wú)法有效避開位置更新后的動(dòng)態(tài)障礙物。
分析2號(hào)地圖改進(jìn)蟻群算法仿真結(jié)果,從圖6可以看出,初始狀態(tài)時(shí)該算法能夠較好的同時(shí)避開動(dòng)態(tài)和靜態(tài)障礙物,當(dāng)動(dòng)態(tài)障礙物位置發(fā)生變化時(shí),由于改進(jìn)算法中的路徑選擇概率引入了動(dòng)態(tài)障礙物位置信息,因而能根據(jù)動(dòng)態(tài)障礙的實(shí)時(shí)位置進(jìn)行路徑規(guī)劃,從而有效避開動(dòng)態(tài)障礙物,且規(guī)劃出的路徑平滑性較好。
(a) 初始狀態(tài)路徑規(guī)劃結(jié)果
(b) 動(dòng)態(tài)障礙位置變化后路徑規(guī)劃結(jié)果圖6 2號(hào)地圖中改進(jìn)蟻群算法仿真結(jié)果
2號(hào)地圖兩組仿真實(shí)驗(yàn)結(jié)果重點(diǎn)證明了改進(jìn)算法在動(dòng)態(tài)避障以及路徑平滑上較傳統(tǒng)算法具有明顯優(yōu)越性。
本文針對(duì)智能車輛路徑規(guī)劃問(wèn)題,提出一種改進(jìn)蟻群智能路徑規(guī)劃方法,較好的解決了傳統(tǒng)蟻群算法搜索時(shí)間長(zhǎng)和容易陷入局部最優(yōu)等缺陷,在提高算法效率的同時(shí)保證了路徑的平滑性并能實(shí)現(xiàn)實(shí)時(shí)動(dòng)態(tài)避障,進(jìn)一步提高了車輛行駛的安全性。兩種不同工況下的對(duì)比仿真實(shí)驗(yàn)充分驗(yàn)證了所提改進(jìn)蟻群算法具有以下優(yōu)越性:一是通過(guò)在概率轉(zhuǎn)移公式中引入障礙物位置信息,實(shí)現(xiàn)了動(dòng)態(tài)避障;二是通過(guò)改進(jìn)信息素更新方式,提高了算法的收斂性;三是通過(guò)樣條插值方法提高了路徑的平滑性。