任子玉
摘要:避障路徑規劃是智能車技術的關鍵部分,避障路徑規劃具有重大研究意義與應用前景。對智能車輛自主避障路徑規劃進行了綜述,分析了人工勢場法、智能優化算法、強化學習等避障算法,指出任何一種有效的智能車避障系統均不能只依靠單一算法操作,因此結合多種避障路徑規劃算法應用于實際,是未來的研究熱點與難點。
關鍵詞:智能控制;避障規劃;人工勢場法;強化學習;智能算法
DOIDOI:10.11907/rjdk.171628
中圖分類號:TP301
文獻標識碼:A文章編號:16727800(2017)010020904
0引言
1950年初,美國生產的第一臺自動引導車輛開啟了智能車輛(Intelligent Vehicle IV)發展之路[1]。1960年,通用汽車就已經測試了汽車自動駕駛測試軌道、車道跟蹤、車道變換和自動跟蹤功能。現今,美國卡內基梅隆Navlab、德國慕尼黑大學、意大利帕爾瑪大學VisLab以及谷歌的無人駕駛汽車都在智能車輛領域取得了突破性進展。,由國防科技大學自主研制的紅旗HQ3無人車也完成了從長沙到武漢286公里的高速全程無人駕駛試驗。智能車輛的發展需要經歷兩個階段,初級階段是生產具有輔助駕駛系統ADAS及各類自動駕駛系統的智能車輛,終極階段則是實現完全的無人駕駛。
研究智能車輛可以有效地提升車輛行駛安全性,降低交通事故發生的概率。避障問題是智能車領域的關鍵環節與研究熱點,由于復雜的周圍環境及智能車本身是一個非線性實變系統,整個控制系統無法用簡單的數學模型來描述,根據車輛行駛壞境實現有效避障的難度很大,所以智能車需要安裝避障路徑規劃系統。避障規劃又叫局部路徑規劃,是一種動態路徑規劃,主要用于探測障礙物,并跟蹤障礙物移動軌跡推算下一步可能位置,最終繪制出一幅障礙物地圖[2]。避障規劃不僅要考慮空間還要考慮時間序列,這是智能車難度最高的環節。避障規劃的重點在于避障算法的設計,避障規劃算法主要有傳統算法、圖形法、仿生學算法以及智能算法等。本文將介紹智能車自主避障路徑規劃的多種方法,其中包括人工勢場法、智能優化算法及強化學習,并針對不同算法的缺點提出相應的改進措施。
1人工勢場法(APF)
人工勢場法(Artificial Potential Field,簡稱APF)是由Khatib于1986年提出的一種虛擬力法,它是傳統算法的代表,由目標引力與周圍障礙物斥力共同作用控制智能車的運動軌跡[3]。人工勢場法的最終目的是找到一個連續路徑可以使智能車從初始位置到目標位置,同時避免與障礙物碰撞。
1.1傳統人工勢場法
傳統人工勢場法中,障礙物是具有正勢能的排斥力,而目標是具有負勢能的吸引力。人工勢場的定義是:
智能車與目標的引力函數:
Uatt(q)=12ερ2(q,qgoal)(1)
式(1)中,ε是尺度因子,ρ(q,qgoal)表示物體當前狀態與目標的距離。引力就是引力場對距離的導數,所以這時負梯度為:
Fatt(q)=-Uatt(q)=ξ(qgoal-q)(2)
智能車對障礙物的斥力場為:
Urep(q)=12η1ρ(q,qobs)-1ρ\-0,if ρ(q,qobs)≤ρ\-00,if ρ(q,qobs)>ρ\-0(3)
式(3)中的η代表斥力因子,ρ(q,qobs)代表智能車和障礙物之間的距離,ρ0代表每個障礙物的影響半徑。斥力就是斥力場的負梯度:
Frep(q)=-Urep(q)=
η1ρ(q,qobs)-1ρ\-01ρ2(q,qobs)ρ(q,qobs),if ρ(q,qobs)≤ρ\-00,if ρ(q,qobs)>ρ\-0(4)
引力場與斥力場矢量相加后就是合力的場,合力也是引力與斥力的疊加,所以合勢場為[4]:
U(q)=Uatt(q)+Urep(q)(5)
相應智能車在運動中的合力為:
F(q)=-U(q)=Fatt(q)+Frep(q)(6)
人工勢場法有助于控制智能車實時避障,并且規劃相對安全的路徑。但是當遇到引力與斥力剛好大小相等、方向相反的某一個點時,智能車會陷入局部最優解或者產生震蕩擺動現象;當目標位置附近有障礙物時,斥力遠遠大于引力,智能車就會很難到達目標位置;當物體離目標位置相對較遠時,引力遠遠大于斥力,此時可能忽略相對較小的斥力,智能車就有可能碰到障礙物。
1.2改進方法
對于人工勢場法避障規劃存在的問題有以下改進方法:
1.2.1局部最優改進方法
局部最優問題是人工勢場法的重要問題,一種解決方法是改變力的方向,將斥力旋轉固定的角度;另一種解決方法是加一個隨機擾動,避免智能車產生局部最優值。
1.2.2碰到障礙物改進方法
由于引力遠大于斥力,智能車有可能與障礙物產生碰撞。針對此問題,可以通過增大智能車受到的斥力避免碰撞,具體做法就是擴大斥力的作用范圍[5];此外也可以通過修正引力函數解決,避免由于離目標位置太遠導致引力過大。將引力場增加一個范圍限定,如式(7)所示。
Uatt(q)=12ερ2(q,qgoal),ρ(q,qgoal)≤d*goald*goalερ(q,qgoal)-12ε(d*goal)2,ρ(q,qgoal)>d*goal (7)
式(7)中,d*goal 給定一個閾值限制智能車與目標位置間的距離,相應的引力負梯度也就是引力相應變成:
Fatt(q)=ε(qgoal-q),ρ(q,qgoal)≤d*goal
d*goalε(qgoal-q)ρ(q-qgoal),ρ(q,qgoal)>d*goal(8)endprint
1.2.3達不到目標點改進方法
當目標位置附近有障礙物時,斥力將遠遠大于引力,智能車輛會很難到達目標位置,可以通過引入一種新的斥力函數解決問題。考慮到目標及智能車距離的影響,新的斥力函數為:
Urep(q)=12η(1ρ(q,qobs)-1ρ\-0)2ρn(q,qgoal),if ρ(q,qobs)≤ρ\-00,if ρ(q,qobs)>ρ\-0 (9)
增加一個斥力函數后,智能車靠近目標時斥力場會增大,但是此時兩者間距離逐漸減少,所以在一定程度上可以起到對斥力場的拖拽作用,從而避免了智能車與障礙物碰撞。
1.2.4無法避開動態障礙物改進方法[6]
為了使智能車能夠同時避開靜態障礙物與動態障礙物,可以在式(3)的斥力函數中增加速度因子,并且在驗證過程中設置3種情況:障礙物從側面靠近智能車、障礙物從側面遠離智能車、智能車超過障礙物。基于速度的改進算法成功避免了人工勢場法存在的問題,并且能夠規劃出完整平滑的路徑。
此外,還有很多人工勢場改進方法:區域隔離法、高斯組合隸屬函數法、人為隨機波動引入法等[7]。
2智能優化算法
傳統算法無法處理未知障礙物的避障問題,隨著智能技術的日益發展,人們發現模糊邏輯算法、神經網絡法、遺傳算法等各種智能優化算法是可以解決智能車的避障問題的。智能優化算法是一種啟發式優化算法,包括模糊邏輯算法、遺傳算法、蟻群算法、粒子群算法、模擬退火算法、神經網絡算法、禁忌搜索算法等。
2.1模糊邏輯算法
模糊邏輯(Fuzzy Logic,簡稱FL)算法是將模糊控制中感知與動作智能結合起來[8]。關鍵在于建立合適的模糊控制器,有3個主要特點:①用語言變量代替數學變量;②用模糊控制條件語句描述變量之間的關系;③用模糊算法描述復雜關系[9]。
模糊邏輯算法成功地處理了定位精度差的問題,但是不能夠自主學習且缺乏靈活性,確定了模糊規則與隸屬度后無法更改。
2.2神經網絡法
神經網絡(Neural Network,簡稱NN)是一種模仿生物結構與功能的模型,也是一種非線性數據建模工具[10]。神經網絡算法在模糊規則與隸屬度確定上具有較強靈活性。神經網絡可以將傳感器收集到的信息數據看作輸入,智能車下一位置的運動方向看作輸出,剔除冗余與對立樣本,得到最終的樣本集[11]。神經網絡的學習規則簡單、自主學習能力強,但若從傳感器得到的數據不完整,神經網絡就無法進行下去,而且泛化能力差,所以在避障規劃應用上并不成功[12]。
2.3遺傳算法
遺傳算法(Genetic Algorithm,簡稱GA)是借鑒了達爾文進化論與孟德爾遺傳學說的一種隨機化搜索方法[13]。遺傳算法使用的是適者生存原則,它通過復制或選擇算子、交叉算子、變異算子等一步步進化后,輸出當下最優值。遺傳算法具有并行計算能力、群體搜索特性與可擴展性,一般不需要輔助信息,但是效率比其它智能優化算法低,而且在利用選擇交叉算子時,會丟失一些優秀的基因片段,從而導致過早收斂。此外,在編碼環境中會有較長的計算時間與很大的數據存儲空間需求[14]。
2.4模糊邏輯算法、神經網絡法與遺傳算法結合
為了提高智能車避障路徑規劃效率,可將多種智能優化算法相結合,形成新的優化方法,從而實現高效率避障[1519]。
2.4.1模糊邏輯與遺傳算法結合
經研究,可運用模糊邏輯與遺傳算法兩種智能算法實現智能車的安全避障。設計模糊控制器,如圖1所示,將超聲波傳感器獲取的目標方向與距離綜合信息作為輸入,智能車的速度、轉角作為輸出,分別建立速度與轉角的模糊規則。因遺傳算法能得到全局最優解且不需要輔助信息,可將避障模糊控制器完善到最優,從而實現避障優化[20]。
2.4.2模糊邏輯與神經網絡結合
針對智能車避障過程中影響因素復雜及難以建立精確模型的問題,可采用超聲波傳感器與定位傳感器獲取智能車所處環境的輸入信息,利用同時具有模糊邏輯與神經網絡優點的神經網絡記憶模糊控制規則,建立起多層BP神經網絡。經過測試發現該算法具有很強適應性,能夠幫助智能車完成安全避障[21]。
2.4.3神經網絡與遺傳算法結合
針對智能車避開動態障礙物,采用一種基于神經網絡與遺傳算法的避障結合方法[22],提出一種神經網絡模型,通過簡化編碼方式并確定動態環境的適應度函數,利用遺傳算法中復制或選擇算子、交叉算子、變異算子等一步步進化后,尋找出最優解,使智能車在動態環境中也能完成有效避障。
3強化學習算法
強化學習是指智能車利用本身的傳感器不斷與環境相互作用來獲得之前未知的環境知識,是一種仿生算法[23]。智能車感知到環境中的一個狀態并根據上一次的狀態轉移過程獲得一個獎賞,利用學習到的策略知識,將當前環境狀態映射到自身動作,并作用于環境,環境產生一個狀態轉移過程,使得智能車感知到一個新狀態,如此循環往復。
強化學習的4個要素為:策略、獎賞、值函數及非必需的環境模型[24]。①策略是從周圍環境感知的形態到在此環境下可采用一種映射;②獎賞,也就是立即回報,表示智能車的眼前目標;③值函數是智能車獲得的所有獎賞累加的期望值,可以看作智能車的長期回報,指明了智能車在長期運行過程中動作選擇的標準;④環境模型給出了狀態轉移過程中詳細的概率分布。在經典強化學習算法中,Sarsa算法與QLearning算法都能在有限時間內解決智能車避障問題,并給出最優解[25]。強化學習具有在線學習與自主學習的特點。
3.1基于神經網絡的強化學習
強化學習在一定程度上會占用大量內存,而且要經過層層收斂,學習速度較慢。因此,神經網絡的Qlearning算法可以改善存儲空間不足問題,通過神經網絡來逐漸逼近Q函數,在獲得智能車的狀態后不斷更新Q值[26]。根據BP算法訓練神經網絡,最后使智能車完成避障[27]。endprint
3.2基于強化學習的HSIC算法
仿人智能控制(HSIC)是在功能與結構上模擬對人的控制,是接近于人的思維方式[28]。它可以實現在線特征辨識與特征記憶,并且達到分層遞階信息處理效果,廣泛應用于啟發式及直接推理邏輯方面。仿人智能控制的算法是:
u=Kpe+kKp∑n-1i=1em,i, e·e·>0∪ e=0∩e·≠0kKp∑n-1i=1em,i, e·e·<0∪ e·=0(10)
式(10)中,u為控制輸出,Kp、k分別為比例系數與抑制系數,e為誤差。
仿人智能控制可以實現多模態控制,因而能適用于有多性能指標要求的控制系統,并可應用于各種復雜控制過程。伴隨著控制問題復雜性的不斷增加,控制參數在不確定因素的影響下無法在運行過程中保持恒定,加入強化學習模塊,有利于實現實時控制。基于強化學習的仿人智能控制器如圖2所示。強化學習在環境作用下優化控制器參數包括以下6個步驟:①獲取當前學習系統狀態,隨機初始化各參數;②調整狀態值,計算調整后的Q值;③找到Q值中最大值;④計算相應的評價函數值;⑤若此時r=0,停止學習,更新Q,輸出調整后的參數結果;⑥若此時r≠0,重復上述過程[29]。當得到最適合的控制器參數時,便停止學習優化參數,整個基于強化學習的仿人智能控制就此結束。
圖2仿人智能控制器
4結語
人工勢場法、智能優化算法與強化學習算法等都可在一定程度上解決智能車自主避障路徑規劃問題,每種算法都有其優缺點:人工勢場法是模擬力場的算法,它計算簡明、應用廣泛,但會產生局部最優、達不到目標位置及碰到障礙物問題;遺傳算法具有并行計算能力、群體搜索特性及可擴展性,一般不需要輔助信息,但它的效率比其它智能優化算法低;模糊邏輯算法成功處理了定位精度差的問題,但該算法不能夠自主學習且缺乏靈活性,確定了模糊規則與隸屬度后無法更改;神經網絡算法學習規則簡單、自主學習能力強,但很難應用于復雜多變的環境。此外智能水滴算法[30]、基于粒子群算法[31]等同樣可以應用于智能車避障問題。任何一種有效的智能車避障系統均不能依靠單一方法進行路徑規劃,因此利用多種算法進行避障路徑規劃,是未來該領域的研究重點與難點。
參考文獻參考文獻:
[1]孫玉輝.面向自主駕駛的智能車輛導航平臺技術研究[D].南京:東南大學,2014.
[2]FUJIMORI A,NIKIFORUK P N,GUPTA M M. Adaptive navigation of mobiie robots with obstacie avoidance[J]. IEEE Transactions on Robotics and Automation,1997,134:596601.
[3]SABER R O,MURRAY R M.Flocking with obstacle avoidance:cooperation with limited communication in mobile networks[C].Proc of IEEE Conf on Decision and Contr01.Piscataway:IEEE Press,2003:20222028.
[4]修彩靖,陳慧.基于改進人工勢場法的無人駕駛車輛局部路徑規劃的研究[J].汽車工程,2013,39(9):808811.
[5]GP MIN,JH JEON,CL MIN. Obstacle avoidance for mobile robots using artificial potential field approach with simulated annealing[C]. IEEE International Symposium on Industrial Electronics,2001(3):15301535.
[6]杜,郭達,張新鋒.智能車避障路徑規劃方法研究[J].汽車節能,2016(3):1722.
[7]劉琨,張永輝,任佳.基于改進人工勢場法的無人船路徑規劃算法[J].海南大學學報:自然科學版,2016,34(2):99104.
[8]馮冬青,謝宋和.模糊智能控制[M].北京:化學工業出版社,1998.
[9]李鴻明.基于模糊控制的規則化描述方法研究[D].合肥:合肥工業大學,2010.
[10]郭琦,洪炳熔.基于人工神經網絡實現智能機器人的避障軌跡控制[J].機器人,2002,24(6):508512.
[11]沈顯慶,汪才杰.智能機器人的模糊神經網絡避障算法[J].黑龍江科技學院學報,2012,22(6):613616.
[12]汪明磊.智能車輛自主導航中避障路徑規劃與跟蹤控制研究[D].合肥:合肥工業大學,2013.
[13]SC YUN,V GANAPATHY,LO CHONG.Improved genetic algorithms based optimum path planning for mobile robot[J].International Conference on Control Automation Robotics & Vision,2011,20(1):15651570.
[14]周嘉,賈麗媛.改進的遺傳算法在全局優化中的應用與研究[J].科學時代,2011(12):139140.
[15]YANG S X,LUO C. A neurai network approach to compiete coverage path pianning[C]. IEEE Transactions on Systems,Man and Cybernetics,2004(34):718724.endprint
[16]ZARATE L E,BECKER M,GARRIDO B D M,et al. An artificiai neurai network structure abie to obstacie avoidance behavior used in mobiie robots [C]. IEEE 28th Annuai Conference of the Industriai Eiectronics Society,2002(3):24572461.
[17]DEI H A R,MEDRANO M N,MARTIN D B B. A simple approach to robot navigation based on cooperative neurai networks[C]. IEEE 28th Annuai Conference of the Industriail Eiectronics Society,2002(3):24212426.
[18]WOONGGIE H,SEUNGMIN B,TAEYONG K. Genetic aigorithm based path pianning and dynamic obstacie avoidance of mobiie robots [C]. IEEE Internationai Conference on ComputationaiCybernetics and Simuiation,1997(3):27472751.
[19]SADATI N,TAHERI J. Genetic aigorithm in robot path pianning probiem in crisp and fuzzified environments[C]. IEEE Internationai Conference on Industriai Technoiogy,2002(1):1114.
[20]胡永仕,張陽.基于遺傳模糊算法的智能車輛避障路徑規劃研究[J].福州大學學報:自然科學版,2015,43(2):219224.
[21]丁吉,段鎖林,任富強,等.基于模糊規劃器的輪式移動機器人避障研究[J].常州大學學報:自然科學版,2010,22(4):3438.
[22]陳華華,杜歆,顧偉康.基于神經網絡和遺傳算法的機器人動態避障路徑規劃[J].傳感技術學報,2004(4):551555.
[23]KAELBLING L P,LITTMAN M L,MOORE A W.Reinforcement learning:a survey[J].Intelligence Research,1996,4(3):237285.
[24]胡裕靖.多智能體強化學習中的博弈、均衡和知識遷移[D].南京:南京大學,2015.
[25]劉忠,李海紅,劉全.強化學習算法研究[J].計算機工程與設計, 2008,29(22):58055809.
[26]喬俊飛,侯占軍,阮曉鋼.基于神經網絡的強化學習在避障中的應用[J].清華大學學報:自然科學版,2008,48(S2):17471750.
[27]唐鵬,李小堅.強化學習在移動機器人避障上的應用[J].科學家,2016,4(5):58.
[28]李祖樞.仿人智能控制[M].北京:國防工業出版社,2003.
[29]C YE,NC YUNG,D WANG.A fuzzy controller with supervised learning assisted reinforcement learning algorithm for obstacle avoidance[J]. Systems Man & Cybernetics Part B Cybernetics IEEE Transactions on,2003,33(1):1727.
[30]宋曉琳,潘魯彬,曹昊天.基于改進智能水滴算法的汽車避障局部路徑規劃[J].汽車工程,2016,38(2):185191.
[31]黃神,孫德寶,秦元慶.基于粒子群算法的移動機器人路徑規劃[J].測控技術,2006,25(4):4950.
責任編輯(責任編輯:何麗)endprint