劉保瑞,劉楊斌
(淮南職業(yè)技術(shù)學院 a.機電工程學院,b.智能與電氣工程學院,安徽 淮南 232001)
移動機器人的避碰功能是導(dǎo)航控制的重要組成部分,如何在復(fù)雜的未知環(huán)境中處理機器人與可移動障礙物的避碰問題,是相關(guān)領(lǐng)域的難點和熱點。目前全局路徑規(guī)劃算法使用先驗信息來構(gòu)建完整的環(huán)境模型,從而嘗試找到最佳解決方案;局部導(dǎo)航算法使用板載傳感器來感知局部環(huán)境,并周期性獲取未知環(huán)境的小片段。導(dǎo)航控制領(lǐng)域已經(jīng)提出動態(tài)窗口、曲率速度等導(dǎo)航方法,但僅考慮了靜止障礙物的情況。對于移動障礙物的避碰問題,目前常用速度障礙法(velocity obstacle approach,VOA)、碰撞錐法等,這些方法假定了關(guān)于障礙物的速度值及其變化是規(guī)律性的,這與真實環(huán)境仍有較大差異。此外,這些方法的計算量很大,嚴重影響控制系統(tǒng)的實時性與穩(wěn)定性。
假設(shè)移動機器人是由標準非完整模型描述的Dubins’Car,角速度受到嚴格限制,在此基礎(chǔ)上,提出基于集成環(huán)境表示的未知動態(tài)環(huán)境中移動機器人導(dǎo)航方法,該模型主要用于描述輪式機器人,描述許多輪式機器人的運動,算法的有效性經(jīng)過了計算機仿真和PioneerP3-DX移動輪式機器人本體實驗的驗證。
由于工作環(huán)境不同,移動機器人所采用的路徑規(guī)劃手段也有區(qū)別,每種方法均有其所適應(yīng)的場景?,F(xiàn)有的路徑規(guī)劃算法對于具有靜態(tài)障礙物的環(huán)境已經(jīng)具有較好的效果,但是對于密集、多變的動靜態(tài)混合型障礙物仍難以滿足應(yīng)用需求[6-8]。鑒于此,從對環(huán)境和障礙物的描述手段上進行改進,提出一種集成環(huán)境表示方法,通過這種方法實現(xiàn)反應(yīng)式的路徑規(guī)劃。
本文提出導(dǎo)航算法如下:
(1)
(2)
最后,規(guī)定方向C(t)定義為:
(3)
(a) 區(qū)間定義
(b) 方向C(t)定義
(4)
針對具有靜態(tài)和動態(tài)障礙物環(huán)境,對輪式移動機器人的無碰撞導(dǎo)航算法應(yīng)用效果進行計算機模擬仿真。仿真環(huán)境為MobotSim和Matlab,采用δ= 0.1 s作為采樣周期。
案例用于驗證導(dǎo)航算法處理復(fù)雜環(huán)境中靜態(tài)障礙的基本能力,為簡化計算而限制障礙物的形狀,在仿真中,障礙物的形狀是隨機的和不規(guī)則的,如圖2(a)所示。從圖2(a)中描繪的機器人所規(guī)劃的最終路徑可知,移動機器人能夠通過障礙物之間的空位繞過,或穿過靜態(tài)障礙物。函數(shù)m(t)和控制輸入ω(t)的值分別如圖2(b)和圖2(c)所示。
圖2 雜亂靜態(tài)環(huán)境機器人導(dǎo)航仿真結(jié)果Fig.2 Simulation results of robot navigation in chaotic static environment
在圖3中,移動機器人在具有4個移動障礙物的動態(tài)環(huán)境中遵從導(dǎo)航進行運動。機器人的當前航向以實線箭頭表示,并且預(yù)期方向(空位中間)以虛線箭頭表示,虛線表示機器人的感知范圍。一旦機器人感知到一個(如圖3(a))或更多(圖3(b)和(c))障礙物,機器人將其航向轉(zhuǎn)向安全方向以避開障礙物。此外,在如圖3(b)所示的“被困”情況下,機器人能夠決定是否經(jīng)過空位穿行,僅當空位大于2dsafe時,機器人能夠經(jīng)過障礙物之間的間隙穿行。如圖3(c)所示,若空間不夠,則機器人繞行。總路徑如圖3(d)所示。
圖3 帶有移動障礙物的雜亂動態(tài)環(huán)境中導(dǎo)航Fig.3 Navigation in cluttered dynamic environment with moving obstacles
該導(dǎo)航算法相對于速度障礙物方法 (VOA) 的性能對比通過圖4、圖5進行展示。在仿真中,由VOA估計的速度障礙以灰色圓圈描繪,一些潛在安全區(qū)域被這些速度障礙物占據(jù),導(dǎo)航算法有效地利用這些條件并且以較短路徑繞過障礙物。所提出導(dǎo)航算法的性能在左側(cè)列中的圖中呈現(xiàn),VOA的性能在右側(cè)列中呈現(xiàn)。
圖4 性能比較:兩個方形障礙物并排移動Fig.4 Performance comparison: two square obstacles move side by side
(a) 本文導(dǎo)航算法
(b) 速度障礙物方法圖5 性能比較:機器人在擁擠的環(huán)境中導(dǎo)航Fig.5 Performance comparison: robot navigation in crowded environment
計算機仿真可更直觀地呈現(xiàn)算法的性能優(yōu)勢以及最終效果,并在仿真的基礎(chǔ)上進行ActivMedia Pioneer 3-DX機器人的本體實驗。為了增加實驗論證的充分準確性,在算法執(zhí)行端也增加了與VOA算法的對比實驗。
機器人的測距通過SICK激光雷達及前后共計16個超聲傳感器進行,保持與仿真中相同的采樣周期δ= 0.1 s。機器人的計劃路徑用虛線表示,而障礙物的路徑用實線表示。圖6呈現(xiàn)了相對簡單的場景中,機器人在具有許多障礙物的靜態(tài)環(huán)境中導(dǎo)航的結(jié)果。在圖6(a)-圖6(c)中,展示使用該算法的機器人繞過每個障礙物時所處的實時位置,整個路徑如圖6(d)所示。
圖6 簡單環(huán)境中的避障路徑規(guī)劃Fig.6 Obstacle avoidance path planning in simple environment
圖7(a)-圖7(c)中呈現(xiàn)了機器人在“被困”情況下的規(guī)劃結(jié)果。障礙物正朝著機器人移動,機器人感知到自己被困在兩個障礙物之間,并確認空位夠大可以繞過。圖7(d)所示為機器人所采用的整體路徑。
圖7 機器人“被困”后的規(guī)劃結(jié)果Fig.7 Planning results after the robot is “trapped”
為驗證所提出的導(dǎo)航算法對于環(huán)境中同時存在靜態(tài)和動態(tài)障礙物情況下的規(guī)劃結(jié)果,實施如圖8所示的實驗。圖8(a)-圖8(c)呈現(xiàn)了各時間節(jié)點處機器人的狀態(tài),圖8(d)展示了其整體路徑。
圖8 帶有靜態(tài)和移動障礙物的簡單環(huán)境規(guī)劃Fig.8 Simple environmental planning with static and moving obstacles
引入靜態(tài)和移動混合的兩種障礙物,對環(huán)境的復(fù)雜度進行提升,驗證該算法在較為復(fù)雜環(huán)境下對于靜態(tài)、動態(tài)障礙物的適應(yīng)能力。如圖9(a)-圖9(c) 所示,靜態(tài)障礙物之間的距離更加緊密,且有人在其中移動。圖9(d) 展示了這種復(fù)雜環(huán)境中機器人規(guī)劃的最終路徑。
圖9 帶有靜態(tài)和移動障礙物的復(fù)雜環(huán)境規(guī)劃Fig.9 Complex environment planning with static and moving obstacles
針對傳統(tǒng)速度障礙物模型,對比實驗同樣按照相同的環(huán)境及設(shè)備進行,機器人在動態(tài)障礙物的情況下規(guī)劃路徑的時間相比本文算法時間過長,且存在避障失敗的情況,比率達到60%。對本文提出算法的實際應(yīng)用相較于仿真環(huán)境而言,實際環(huán)境中機器人的測距以及定位精度均有所不及,使得仿真結(jié)果相對于機器人本體實驗更加理想。
復(fù)雜環(huán)境中的機器人無碰撞路徑規(guī)劃問題一直是機器人導(dǎo)航領(lǐng)域的一個難點,障礙物模型的復(fù)雜度以及準確性是嚴重制約路徑規(guī)劃性能的一大因素。 通過改進對環(huán)境、機器人以及障礙物3者之間關(guān)系的描述方式,提出一種對于障礙物形態(tài)、環(huán)境復(fù)雜度均有較強適應(yīng)性的規(guī)劃算法。從傾向于理想化、理論化的計算機仿真到機器人本體實驗,對于障礙物的靜態(tài)以及動態(tài)兩種形態(tài),環(huán)境的簡單和密集等情況逐一進行了驗證。從結(jié)果可以看出,該算法對于未知的復(fù)雜動態(tài)環(huán)境中移動機器人的無碰撞路徑規(guī)劃具有良好的性能以及較強的穩(wěn)定性和適應(yīng)性。