第2章无人艇局部危险避障算法研究
水面無人艇局部危險避障算法研究
Local Risk Obstacle Avoidance Algorithm of USV
博主 的碩士畢業(yè)論文
第2章 無人艇局部危險避障算法研究
2.1 無人艇局部危險避障概述
作為一種無人操作的海洋自主運載器,水面無人艇既然具備自主能力,就需要與外界環(huán)境進行交互,從而需要能夠進行全局路徑規(guī)劃,以及進行局部危險狀況下的避障。
水面無人艇的全局路徑規(guī)劃,為無人艇規(guī)劃出了一條在已知靜態(tài)海洋環(huán)境信息下的最優(yōu)路徑。無人艇在航行過程中,處在不可預見和高度動態(tài)的海洋環(huán)境中,障礙物很可能出現(xiàn)在已經(jīng)規(guī)劃好的全局路徑上。無人艇必須對這些不可預測的事件以某種方式做出反應,使之仍然能順利到達目標、完成任務,而可靠的避障算法正是提高無人艇智能化的主要障礙 [6] 。因此,在全局路徑規(guī)劃的基礎(chǔ)上,還需要進行實時的局部危險避障,才能滿足無人艇順利執(zhí)行任務的需求。目前,無人艇動態(tài)目標及危險區(qū)域的相關(guān)避障方法的研究,正是水面無人艇研究的熱點和重要方向,也是一項實現(xiàn)無人艇智能化的關(guān)鍵技術(shù) [2] 。
在無人艇航行過程中,無人艇必須對一些不可預知的事件(避障、風浪等)做出反應,根據(jù)傳感器探測的數(shù)據(jù)調(diào)整航向和航速,進行局部危險避障,使無人艇仍能順利到達目標。因此,局部危險避障必須速度快、實時和效率高 [18] ,但是如果缺乏全局路徑規(guī)劃的指導,局部危險避障將無法指導無人艇到達目的地,甚至很容易失去目標,掉入局部陷阱區(qū)域。然而如果沒有局部危險避障,無人艇無法躲避未知危險事件,無法順利到達目標點,全局路徑規(guī)劃的結(jié)果也將是徒勞的。因而對于無人艇的全局路徑規(guī)劃和局部危險避障來說,兩者有著非常強的互補性,只有兩者互相結(jié)合才能順利可靠的完成無人艇的任務需要。
所謂水面無人艇的局部危險避障,是指以全局路徑為指導,通過傳感器信息確定無人艇的實時位置,及得到局部范圍內(nèi)障礙物的分布情況;尋找一種滿足一定評價標準的運動方案,調(diào)整航向和航速,高度智能化、自適應地避開海面上的靜動態(tài)障礙物。
處在海洋中進行自主航行的水面無人艇,在進行全局路徑規(guī)劃及局部危險避障時,需要滿足一定的約束條件才可以規(guī)劃出一條快速、穩(wěn)定、可靠的無人艇避障路徑。這些約束條件包括無人艇自身的航行機動約束、障礙物約束以及符合國際海上避碰規(guī)則公約的約束。
1) 航行機動約束
水面無人艇在海面高速航行時不僅需要考慮無人艇的最小回轉(zhuǎn)半徑,還要考慮其與障礙物直接的安全距離約束和航行時無人艇較大的慣性。
在復雜的海面環(huán)境中,無人艇處于無限流場中運動,因為自身的慣性較大,會導致無人艇在避障過程中出現(xiàn)較大的誤差,導致避障失敗。如果規(guī)劃出的避障策略忽略了其最小回旋半徑,則會導致輸出角速度過大,從而出現(xiàn)側(cè)滑甚至側(cè)翻的事故;如果沒有考慮與障礙物之間的安全距離約束,則無人艇微小的誤差以及各種不確定性因素的出現(xiàn),都可能造成無法彌補的損失。
2) 障礙物約束
處在復雜海洋環(huán)境中做任務的水面無人艇,會遇到各種外在障礙物以及海風、海浪、海流的影響。而這些外在障礙物包括:海岸、湖岸、河岸,船只,淺水障礙(暗礁、沙洲、魚類等),水面障礙物(浮標、橋梁等)。
3) 國際海上避碰規(guī)則公約的約束
水面無人艇在海面航行過程中,為了避免對海上其它船只、人員的人身和財產(chǎn)安全及無人艇自身的安全造成威脅,在進行避障的過程中必須滿足一定的規(guī)則。國際海上避碰規(guī)則公約(International Regulations for Preventing Collisions At Sea,1972 / COLREGS)的13、14、15條,分別對無人艇在航行過程中可能出現(xiàn)的碰撞局面:追越、正面相遇和交叉相遇做出了規(guī)定,詳見第4.2節(jié)。
在滿足了各種約束的前提下可得到的避碰策略包括:
①不改變速度,但修改原路徑;
②減速,在原軌跡上航行;
③速度大小和方向同時改變。
2.2 自主移動機器人危險避障算法
國內(nèi)對水面無人艇局部危險避障算法的研究雖然較少,但對自主移動機器人的研究較為廣泛,在避障方面的研究也有不少成果,很多危險避障方法都可以經(jīng)過改動引入到水面無人艇局部危險避障中來。
在自主移動機器人領(lǐng)域里,局部危險避障充分體現(xiàn)了機器人的智能化。自主移動機器人的局部危險避障是指在機器人移動期間,接到傳感器接收到的外界環(huán)境信息時,為了避免和真實環(huán)境中的障礙物碰撞,而改變機器人已規(guī)劃的運行軌跡 [19] 。最終機器人的移動路徑,即與最終目標位置和距最終目標的相對位置有關(guān),又與傳感器接到的當前或者最近信息有關(guān)。到目前為止,各國的研究者提出了許多避障算法,這些算法都不同程度的依賴于全局路徑規(guī)劃及地圖和對于全局地圖的精確定位,如Bug算法、向量場直方圖法、氣泡帶法、曲率速度法、動態(tài)窗口法、Schlegel避障法等。下面簡單的介紹幾種典型的機器人避障方法。
1) Bug算法
Bug算法 [20] 是避障算法中較為簡單的一種,其基本思想就是在機器人前進的路途中遇到障礙物時,沿著障礙物的輪廓并繞開障礙物行進。在Bug算法的基本思想上,存在Bug1算法、Bug2算法、正切Bug算法這三種擴展方法。
2) 向量場直方圖法
針對使用Bug算法進行避障時,機器人的行為在每時刻都只與最近的傳感器的讀數(shù)有關(guān),1991年Borenstein, J和Koren, Y提出了向量場直方圖法 [21] (VFH,Vector Field Histogram)。該方法通過創(chuàng)建局部地圖來描述圍繞機器人的環(huán)境信息,以克服Bug算法的不足。VFH法雖然使得機器人可以在多障礙物中穿梭,但該方法并沒有將機器人的動力學和運動學考慮進去,最終導致機器人在現(xiàn)實中很難完成該算法計算出的路徑。后來在VFH算法的基礎(chǔ)上,Ulrich和Borenstein又提出了VFH+ [22] 和VFH* [23] 。
中國海洋大學的馬闖等 [24] 也提出了一種改進的 VFH,實現(xiàn)了USV在三維空間內(nèi)的實時避障。
3) 曲率速度法
1996年Simmons提出了曲率速度法(CVM) [25] ,該方法可將機器人的運動學約束和某些動力學約束同時進行考慮。CVM法在剛開始就把機器人和環(huán)境中的物理約束考慮到速度空間中,而速度空間由轉(zhuǎn)動速度ω和平移速度ν組成,且假定機器人是沿著曲率為c=ω/ν的圓弧前進。但正是因為該方法將障礙物的形狀簡化為圓形,會導致發(fā)生局部極小的現(xiàn)象。
為了解決CVM法的不足,Ko和Simmons在1998年對CVM法進行了改進,提出了道路曲率法(LCM, Lane curvature method) [26] 。實驗證明該方法比CVM法有更好的性能,但對于目標函數(shù)參數(shù)的選擇要求較高。
4) 動態(tài)窗口法
Fox,Burgard和Thrun在1996年首先提出了動態(tài)窗口法 [27] ,該方法將運動學約束考慮到了機器人的危險避障中。由于該方法沒有全局的思考,又被稱之為局部動態(tài)窗口法。該方法結(jié)合機器人的當前速度,將機器人的加速能力及時間周期考慮進去,選擇能在下一周期內(nèi)到達的速度空間(ν,ω)的動態(tài)窗口。然后將動態(tài)窗口收縮,保存那些確保機器人在碰到障礙之前能夠停住的速度空間(ν,ω)。最后,將目標函數(shù)施加到動態(tài)窗口中被留下來的容許的速度元素,就可以選擇新的運動方向,確定機器人下一步的速度和角速度,從而實現(xiàn)避障。
然而局部動態(tài)窗口法并沒有進行全局的考慮,所以Brock和Khatib于1999年提出了全局動態(tài)窗口法 [28] 。該方法可以無需完整的環(huán)境先驗知識,使得動態(tài)窗口法具有了全局規(guī)劃的優(yōu)勢。
2008年,浙江大學電氣工程學院的李國陽 [29] 等在動態(tài)窗口方法的基礎(chǔ)上,提出了復雜環(huán)境下有導向動態(tài)窗口方法。并通過機器人進行實際的聲吶導航實驗,證明了該算法能夠使機器人適應于非結(jié)構(gòu)化、密集、復雜環(huán)境下的局部導航控制。
哈爾濱工程大學的唐平鵬等 [30,31] 采用分層策略將動態(tài)窗口引用到了USV局部危險避障中,在艏向窗口和線速度窗口中分別利用切線法和弧線法求出避障角速度和線速度。并將角速度緩沖模型引入,以提升避障過程中艇體的穩(wěn)定性。
5) 接近圖法
針對VFH在較為雜亂的空間中使得機器人不能較好避障的缺點,Minguez等提出了接近圖法(nearness diagram,ND)。之后,Minguez等在ND算法的基礎(chǔ)上加入了全局推理,得到了全局接近圖法(global nearness diagram,GND)。
哈爾濱工程大學的王敏捷等 [32,33] 便采用了近域圖(ND)法進行局部避障,并引入模糊理論平滑速度輸出,和將結(jié)合混沌思想的 Q 學習機制引入,來提高USV的自適應性。
6) ASL算法
ASL算法 [34] 最先是為大型展覽會機器人開發(fā)的避障算法,由瑞士聯(lián)邦理工大學提出,使得機器人可以在十分擁擠的展覽會中穿行。該算法將NF1、彈性帶和動態(tài)窗口三種方法合并起來,通過不斷的規(guī)劃,可以得到使機器人平滑移動的路徑。
上面描述的方法都是非常經(jīng)典的局部危險避障方法。然而,在自主移動機器人領(lǐng)域里,還有很多非常好的避障方法,如梯度法、加上動態(tài)約束法等。當然,隨著智能算法的發(fā)展,如遺傳算法、模糊邏輯算法、神經(jīng)網(wǎng)絡(luò)算法、蟻群算法、粒子群算法等,越來越多的學者也將一些智能算法引入機器人乃至USV的局部危險避障中來,也得到了不錯的避障效果。
如哈爾濱工程大學的祖?zhèn)?span id="ozvdkddzhkzd" class="MathJax_Preview"> [35] ,就將粒子群優(yōu)化算法(PSO)應用到了水下潛器在線實時路徑規(guī)劃,充分利用了該算法的全局尋優(yōu)能力強和求解速度快的優(yōu)點,很好的提高了路徑規(guī)劃的效率和性能。江蘇科技大學的莊肖波,齊亮 [36] 將蟻群算法(ACA)引入避碰規(guī)劃中,實現(xiàn)了USV對運動目標的避碰。
2.3 無人艇局部危險避障算法研究現(xiàn)狀
2.3.1 國外無人艇局部危險避障算法研究現(xiàn)狀
國外對水面無人艇的研究起步較早,在局部危險避障方面世界各地也都展開了相應的研究,研究成果也頗為豐富。
美國麻省理工學院海洋工程中心的Benjamin M R 等 [37] 提出了一種新的USV移動規(guī)劃方法;該方法是基于行為控制框架的間隔規(guī)劃多目標最優(yōu)化算法,并依據(jù)國際海上避碰規(guī)則公約中的相關(guān)條例對避障動作進行選擇;該方法能夠很好的滿足USV航行約束條件,并且實現(xiàn)多任務的同步。馬里蘭大學帕克分校的Svec P 等 [38] 提出了一種基于軌跡規(guī)劃的可預見性算法,提到了三種基于路徑規(guī)劃的障礙物避障方法:方法一采用圍繞各個障礙物的邊緣前進,這種保守的方法來進行軌跡規(guī)劃;方法二通過一個可預見的規(guī)劃模塊進行計算,該規(guī)劃模塊可通過預測海浪對當前路徑的影響,來重新規(guī)劃最新的軌跡;方法三是將啟發(fā)式的A*算法與局部邊界最優(yōu)結(jié)合進行避碰。維拉諾瓦大學的Soltan R A 等 [39] 提出了基于非線性滑模控制的方法,該方法將軌跡規(guī)劃、跟蹤和協(xié)調(diào)控制結(jié)合起來進行考慮;但其限制因素是,只有當USV的初始化條件在期望的軌跡上時才能保證位置跟蹤。美國海軍圣地亞哥空間和海戰(zhàn)系統(tǒng)中心Larson J等 [40] 采用Morphin算法 [41] 處理局部危險避障,將遠場協(xié)商避障模塊與近場反應式避障模塊相結(jié)合來實現(xiàn)避障;但未考慮無人艇的運動特性和當前運動狀態(tài),使得其避障性能受到影響。
意大利熱那亞大學的Casalino G 等 [42] 將無人艇路徑規(guī)劃分為三層結(jié)構(gòu):第一層采用A*算法,根據(jù)當前環(huán)境下的靜態(tài)障礙物計算得到全局路徑;第二層通過對周圍的運動障礙物信息進行分析,采用基于行為的方法來實現(xiàn)反應式危險避障,并局部修改第一層所設(shè)計的路徑;第三層為當運動障礙物的信息不可用時,進行反應式危險避障。Caccia M等 [43] 提出了基于視線(1ine-of-sight,LOS)的規(guī)劃算法,并應用在了“Sesamo”號USV上。
英國普利茅斯大學的Naeem W等 [44] 提出了遺傳算法非線性預測控制思想,應用在了“Springer”號雙體USV上,進行實時避障。
法國的Petres C等 [45] 采用人工勢場法進行自動駕駛帆船的實時避障。
韓國國立昌原大學的Lee S等 [46] 利用了模糊邏輯結(jié)合虛擬力場的方法,并滿足國際海上避碰行為規(guī)則公約的相關(guān)約束實現(xiàn)了海上自動駕駛船舶的避碰。
2.3.2 國內(nèi)無人艇局部危險避障算法研究現(xiàn)狀
國內(nèi)在無人艇局部危險避障方面起步較晚,但目前也有所進展。
哈爾濱工程大學的莊佳園等 [47] 設(shè)計了一種基于航海雷達圖像處理的規(guī)劃方法,采用Dijkstra算法搜索局部最佳路徑。之后設(shè)計了一種符合國際海上避碰行為規(guī)則公約的相對坐標系動態(tài)避障方法,以處理USV的應激避障問題 [48] 。王敏捷等 [32,33] 便采用了近域圖(ND)法進行局部避障,并引入模糊理論平滑速度輸出,和將結(jié)合混沌思想的 Q 學習機制引入,來提高USV的自適應性。唐平鵬等 [30,31] 采用分層策略將動態(tài)窗口引用到了USV局部危險避障中,在艏向窗口和線速度窗口中分別利用切線法和弧線法求出避障角速度和線速度。并將角速度緩沖模型引入,以提升避障過程中艇體的穩(wěn)定性。盧艷爽 [18] 采用了融合海事規(guī)則和障礙物信息不確定性建模的速度避障法,實現(xiàn)了USV的局部危險避障;其局限性在于USV航行路徑要保證與已經(jīng)規(guī)劃好的路徑非常近或處在該路徑上,當已經(jīng)規(guī)劃好的路徑穿過事先未知障礙物較多時,此方法會表現(xiàn)得很不理想。
大連海事大學的王哲 [49] 建立了評判碰撞危險度的模型,深入分析了航速及航向改變對DCPA與TCPA的影響,建立了USV避碰系統(tǒng)的知識庫。該方法適用于寬敞的海面,但不適用于狹水道及交通繁忙水域;且研究中只考慮了一個障礙物的情況,并未針對多個障礙物進行相關(guān),具有一定的局限性。
中國海洋大學的馬闖等 [24] 在通過在USV上布置水上水下兩層聲納來獲取現(xiàn)實環(huán)境中障礙物的三維信息,提出了一種改進的 VFH算法,實現(xiàn)了USV在三維空間內(nèi)的實時在線避障;但采用VFH法會出現(xiàn)局部最小的情況,并產(chǎn)生震蕩軌跡。
江蘇科技大學的莊肖波,齊亮 [36] 將蟻群算法(ACA)引入避碰規(guī)劃中,實現(xiàn)了USV對運動目標的避碰;但該方法容易出現(xiàn)停滯現(xiàn)象,收斂速度得不到保證。
總的來說,國外在無人艇局部危險避障方面研究比較深入,也提出了各種危險避障方法,有些技術(shù)已經(jīng)較為成熟并得到了實際應用。而國內(nèi)這方面的研究起步較晚,相關(guān)的實際應用產(chǎn)品也較少,很多技術(shù)僅處在理論研究階段 [33] 。
博主 的碩士畢業(yè)論文
===========文檔信息============
版權(quán)聲明:非商用自由轉(zhuǎn)載-保持署名-注明出處
署名(BY) :dkjkls(dkj卡洛斯)
文章出處:http://my.csdn.net/dkjkls
總結(jié)
以上是生活随笔為你收集整理的第2章无人艇局部危险避障算法研究的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序入门与实战之阅读列表与setD
- 下一篇: The Sixty-first Of W