劉 杰,閆清東,唐正華
(1.北京理工大學機械與車輛學院,北京100081;2.裝甲兵學院模擬訓練中心,安徽蚌埠233050)
避障是自主移動機器人系統能否成功應用的關鍵問題之一,目前對于避障問題的研究已經形成了很多成熟的理論,矢量場直方圖[1](Vector Field Histogram,VFH)理論就是其中之一。
矢量場直方圖是一種以超聲波為探測器的機器人新的避障方法,該方法的提出解決了虛擬勢場法(Virtual Force Field,VFF)[2]在實際應用中出現的數據激變問題,即合排斥力的方向和大小在柵格減少時會出現很大的變化。為了改進VFH算法在應用過程中存在的問題,文獻[3]提出了VFH+算法,文獻[4]將 VFH+算法進行了進一步改進,提出了VFH*算法。隨后,國內的研究者提出了考慮障礙物速度的VFH#[5]算法以及完善初始環境信息提取的 PVFH 算法[6]。
然而,不論是 VFH的原始算法還是改進版本[7-9],通過分析會發現一個最根本的問題是,算法是結合當時的環境設備提出的,即上述算法的環境傳感器均為超聲波探測儀,正是因為超聲波傳感器對環境信息的檢測的不完全可靠性,使得研究者不得不提出各種處理數據的方法,如采用柵格化的數據信息以及設置置信度等手段,以應對其產生的大量的數據誤差[10-11]。隨著科技的發展,激光雷達的應用則完全可以解決數據精度帶來的環境探測問題。為此,本文以二維激光雷達為環境探測儀,應用VFH算法的思想,對移動機器人進行室外避障規劃的仿真研究。
激光雷達采集的是以移動機器人為中心的極坐標系下的障礙物距離值,而VFH算法是將障礙物對移動機器人的影響量化為各個測量方向上的極線障礙強度值[12]。移動機器人會在低于確定閾值的角度范圍內選擇其移動方向,它的不足之處是閾值的設置需要依據移動機器人的實際運行狀態,沒有統一的理論。閾值過大時,將使一些可行通道被忽略,導致移動機器人不能通過狹窄的通道,喪失到達目標點的能力,如圖1(a)所示;閾值過小時,移動機器人會難于發現前方的障礙物,高速行進時會由于來不及躲避障礙物而發生碰撞,如圖1(b)所示。

圖1 閾值與避障的關系
激光雷達測距儀的量程選為180°/1°,即雷達每一次采集181個數據。根據激光雷達采集的環境數據,建立以激光雷達為中心的極坐標系下環境信息,為了規劃機動平臺的避障運行方向,需要對該極坐標系與機動平臺行進的全局直角坐標進行坐標變換。變換規則如圖2所示。圖2展示了機器人的極坐標系與直角坐標系之間的位置關系。

圖2 坐標變換示意圖
α為機器人在直角坐標系中的航向角,β為極坐標系-直角坐標系坐標變換角。

則已知極坐標系下障礙物A的方向角為O,其在直角坐標系系下方向角Φ表示為:

式(2)即為航向角的極坐標系與直角坐標系轉換公式。
本文的航向閾值設置規則如下:

其中,dsmax為可設置的最大閾值;drT為激光雷達與目標點之間的距離;Ni為自適應常數。當R為固定增量,ds0為非航向方向設置的相應閾值,定義如下:

其中,λ>1為安全距離放大系數;D為機器人從最大速度狀態減速到靜止狀態所行進的距離;a為減速加速度。假設機器人的 vmax=1.2 m/s,a=-1 m/s2,可得機器人的最短行駛距離D=0.72 m。為了保證安全,此處設置 λ=1.4。設 R=0.1,則ds0=1 m,dsmax=2.5 m。
在建立了激光雷達極坐標環境地圖之后,為了確定機動平臺的最終避障行進方向,首先需要根據環境地圖確定平臺可通過的扇區區間,然后從中選取最適當的扇區區間,最后確定轉向方向,具體步驟如下:
(1)自由扇區的確定
定義 在極坐標環境地圖中,如果θ角度方向的距離 dθ<ds,或者 dθ=ds且 dd<0.5(0.5 為機動平臺的車寬),則該區域稱為峰扇區;否則為谷扇區,亦稱候選波谷。其中,dd的定義如下:

其中,φ為包含θ在內的連續dθ>ds區域的角度值。
依據上述定義確定的谷扇區即稱為自由扇區,亦即機動平臺可通行的方向。
(2)平臺轉向方向的確定
首先,在平臺直角坐標系下,利用式(7)計算目標點與機動平臺的夾角α,如圖3所示。

其中,(xg,yg)和(xr,yr)分別為目標點與激光雷達的當前直角坐標系下的直角坐標。通過坐標變換,將α轉換到以激光雷達為中心的極坐標系,并用α1表示。

圖3 測量位置關系示意圖
由圖3可知,drT恰好經過障礙物B,因此,設置障礙物B的數據閾值為dsmax=2.5 m。而障礙物A與障礙物C的數據閾值設為dsmax=1.5 m,該閾值主要是為了避免機器人與障礙物發生碰撞。
經過轉換,從極坐標環境示意圖中可以看出,在機動平臺的前方共有4 個候選方向:θ1,θ2,θ3,θ4。而與r-Target方向最接近的2個扇區的角度為θ2與θ3。同時,通過計算得知,2個扇區均為自由扇區,可以作為機動平臺的候選航向。分別計算2個候選扇區與O-Target方向的角度差β1與β2,通過比較可以得知β1<β2,即通過θ3扇區到達目標點行程更近,因此,確定θ3扇區為機動平臺的最終航向扇區。
(3)轉向角度的計算
已知θ3扇區的起始方向OB的角度為α1,終止方向OC的角度為α2,則最終確定在激光雷達極坐標系下,機動平臺的行進方向為φ:

則最終機動平臺的航向為:

根據上述算法設計規則,避障控制算法的控制流程如圖4所示。仿真實驗是在機器人仿真器MobileSim中進行,通過Mapper3軟件構建機器人的環境地圖,并導入MobileSim中。在VS2010開發環境中,通過C++編程實現算法控制。

圖4 控制算法流程
移動機器人的起點坐標為(0,0),終點坐標為(12 000,8 000),單位為mm。圖中雜亂無章放置的多邊形棕色區域表示環境中的障礙物。初始航向角設置為0°,行進過程中以勻速行駛,框圖曲線表示移動機器人在避障規劃中的行進路線。仿真環境設置如圖5所示,圖中為機器人行進過程中,激光雷達的數據測量過程。

圖5 仿真環境中的激光雷達探測環境信息
圖6(a)到圖6(e)分別給出了不同行駛速度下,移動機器人的避障規劃結果。障礙物避障閾值統一設置為2 500 mm,從圖6(a)到圖6(e)對應的行駛速度 分 別 為 400 mm/s,700 mm/s,800 mm/s,900 mm/s以及 1 000 mm/s。

圖6 移動機器人的避障規劃結果
由仿真曲線可知,移動機器人的行進速度低于800 mm/s時,應用本文提出的避障算法都可以順利地穿越障礙物區域到達目標點。當行駛速度大于800 mm/s時,算法控制的機器人亦會到達目標點,但是移動機器人在行駛過程中與障礙物會發生輕微的碰撞,如當800 mm/s行駛時,機器人在障礙物A點處恰好繞行;當行駛速度為900 mm/s時,機器人會與障礙物A點發生輕微碰撞,而恰好繞行障礙物B點;當行駛速度達到1 000 mm/s時,機器人則會與障礙物A點以及障礙物B點都發生輕微的碰撞。圖7給出了機器人行駛速度高于800 mm/s時,機器人的航向角變化情況;由圖可知,隨著移動機器人行進速度的增大,機器人在行進過程中航向角的變化幅度是增加的。

圖7 避障過程航向角變化曲線
仿真過程中發現,環境數據閾值的設置對于移動機器人的避障規劃有著至關重要的影響。環境閾值設置過大,機器人會喪失發現可行方向的機會;環境閾值設置過小,則會加大候選方向的面積,進而使移動機器人的航向角對于目標方向而言有較大的變化,這種變化不利于機器人運動控制的穩定性。對于前者,根據機器人的行進速度,本文設置機器人行駛速度大于800 mm/s時,機器人的航向閾值為2 500 mm/s,采樣時間縮短為0.5 s;行進速度低于800 mm/s時,航向閾值為2 000 mm/s;
本文的機器人航向是取與目標點相關的2個障礙物之間的距離中線,如圖8所示。

圖8 可行空間角度的確定
根據算法計算,機器人為了避開障礙物,目標航向應該為π-θ/2角度。在這種情況下,轉向角度將使機器人遠離障礙物的同時,使得機器人的航向角變化過大,增加目標性運動的代價,不利于機器人的運動控制。故本文設置了如下轉向角度限制:當行駛速度小于800 mm/s時,最大自由扇區極限設計為30°,即θ最大為30°;當行駛速度大于800 mm/s時,最大自由扇區極限設計為20°,即θ最大為20°。
根據上述方法,當機器人以900 mm/s行駛時,仿真實驗結果如圖9所示。驗證了這樣的設置既保障平臺的安全航向方向,又減少了平臺航向角的劇烈變化。

圖9 900 mm/s行駛時的仿真實驗結果
本文基于激光雷達傳感器提出一種移動機器人新的避障方法,該方法具有計算量小、實時性高等優點,適用于移動機器人的實時避障規劃。利用障礙物方向與目標方向之間的位置關系,確定算法的不同自由方向安全閾值;同時針對不同行進速度,通過設置最大航向角度,解決了閾值不足時,移動機器人出現的航向劇變問題。仿真結果表明,即使在復雜的障礙物環境中,該方法控制的機器人仍能夠安全無碰撞地到達目的地。
[1] Borestein J,Koren Y.The Vector Field Histogram-fast Obstacle AvoidanceforMobileRobots[J].IEEE Transactions on Robotics and Automation,1991,7(3):278-288.
[2] Borestein J,Koren Y.Real-time Obstacle Avoidance for Fast Mobile Robots[J].IEEE Transactions on Systems,Man,andCybemetics,1989,19(5):1179-1187.
[3] Ulrich I,Borenstein J.VFH +:Reliable Obstacle Avoidance for Fast Mobile Robots[C]//Proceedings of International Conference on Robotics & Automation.Washington D.C.,USA:IEEE Press,1998.1572-1577.
[4] Ulrich I,Borenstein J. VFH *:Local Obstacle Avoidance with Look-ahead Verification[C]//Proceedings of International Conference on Robotics&Automation.Washington D.C.,USA:IEEE Press,2000:2505-2511.
[5] 章蘇書,吳 敏,曹衛華.一種局部動態環境下的避障算法[J].計算機技術與自動化,2003,22(1):12-16.
[6] 廖小翔,胡旭東,武傳宇.基于高斯概率分布場的VFH避障算法的研究[J].機械設計與研究,2005,21(1):31-34.
[7] 許心德,關勝曉.未知環境下基于VFH*的機器人避障[J].計算機仿真,2010,27(3):156-160.
[8] Kazem B I,Hamad A H,Mozael M M.Modified Vector Field Histogram with a Neural Network Learning Model for Mobile Robot Path Planning and Obstacle Avoidance[J].International Journal of Advancements in Computing Technology,2010,5(2):166-173.
[9] Goh Wooi-Boon,Chan Kai-Yun.Part-based Shape Recognition Using Gradient Vector Field Histograms[C]//Proceedings of the 10th International Conferenceon ComputerAnalysisofImagesand Patterns.Berlin,Germany:Springer,2009:402-409.
[10] 曹衛華,吳凈斌,吳 敏,等.無路標環境下遙操作機器人 SLAM 系統[J].智能系統學報,2010,5(3):240-246.
[11] 徐 璐,陳陽舟,居鶴華.基于動態行為控制的移動機器人自主避障[J].計算機工程,2007,33(14):180-182.
[12] 徐玉華,張崇魏,徐海琴.基于激光測距儀的移動機器人避障新方法[J].機器人,2010,32(2):179-183.