周自維 周冰 趙雪
摘 要:人工勢場法應用到多自主體編隊路徑規劃中,會出現局部最優,無法繼續向目標前進,目標不可達的情況;針對這一問題文章提出了“基于隊形變換的沿墻導航法”。當機器人遇到障礙陷入局部最優時,通過將機器人隊形變形,并使用沿墻法讓機器人繞過障礙物,之后通過人工勢場法使機器人到達目標位置,從而解決了局部最優的問題。仿真結果表明提出方法的可行性和有效性。
關鍵詞:多移動機器人;隊形控制;人工勢場法;淘汰算法
1 概述
近年來,多自主體編隊已經成為多機器人系統研究領域中最重要的問題之一[1]。人工勢場法應用到多自主體編隊路徑規劃存在明顯的缺陷,例如算法容易陷入局部最優,無法繼續向目標前進,目標不可達;已經有一些方法來解決勢場法的這個缺陷。對于形狀不規則的障礙物形,我們可以把它看成凸多邊形。但是,該方法在實際使用的過程中需要對障礙物的形狀進行有效的估計和矯正,存在較大難度,并且多自主體編隊在遇到障礙物時,特別是容易陷入局部最優障礙物的時候,繼續保持編隊的隊形已經不是當前最主要的問題。所以我們提出“基于隊形變換的沿墻導航法”來解決局部存在最優的問題。當機器人和障礙物之間的距離比較小的時候,隊形將變回一字型。實驗結果表明,該方法用來解決多機器人隊形形成問題的有效性。
2 系統實現
2.1 淘汰法
2.2 人工勢場的設計
人工勢場算法中,多自主體的運動是在虛擬勢場產生的力的作用下被從起點牽引到終點,產生這種力的勢場稱為的引力場。在自主體運動環境中,會存在著一些障礙物,這些所存在的障礙物被疊加一種可以使得多自主體朝著背離障礙物方向運動相反的勢場力,這樣就可以實現避障。
在多自主體的運動中,不僅需要考慮機器人的避障,而且還需要考慮機器人的避碰問題。將機器人之間的作用力表示為Uij。
Uij應當滿足以下幾個條件:(1)當dij→0時,Uij(‖dij‖→∞);(2)當個體i和j之間的距離達到所期望值時,Uij最小,則系統勢能最小;(3)Uij在接近rij=R附近遞增。由Uij應當滿足的幾點條件,可以選擇一個在rij=d處的分段函數。當個體間的最小距離超過d時侯,就不存在相互作用,Uij的表達式如下所示。
在多自主體群集中,應當包含上述三種基本的勢場。目標點的引力場為Ua(q),障礙物的斥力場為Uij(q)以及個體之間相互的作用場Ur(q)。其中q表示多自主體的當前位置。在進行勢場疊加后可得:
2.3 隊形變換方法
各機器人到達目標位置后形成三角形,并以三角形隊形前進。當編隊遇到障礙物時,無法直接穿過障礙物,然后進行隊形變換,將隊形變成易于繞過障礙物的一字型隊形,以R1作為領導者。
離障礙物已經比較近了。此時進行第(2)步判斷。否則,如果r≥r1,那么這就說明當前編隊已經遠離其中任何一個障礙物,現在編隊就可以按照正常編隊的隊形在勢場力的作用下繼續向目標運動;(2)然后再判斷編隊中的個體與最近障礙物之間的最小距離ρ與預先設定閥值的距離二:r2的關系,當滿足r2
3 仿真實驗
為了驗證算法,文章用 Matlab 進行了理論驗證。首先設置無障仿真環境下,隨機產生三個機器人的位置,并給出目標三角形位置,使用淘汰法經過計算,各機器人合理的目標點為:R1→T2,R2→T3,R3→T1。其次,假定三個多自主體編隊,通過9個障礙物通道。其中斥力場的有效作用中半徑選擇為1m,設定閥值的距離一:d1=2.5m。閥值的距離二:d2=2m。系統首先在目標點所在的引力場和障礙物的斥力場的共同作用下,以三角形編隊向著目標點運動;此時由于接近障礙物,經過準確判斷,調整編隊的隊形為一字型,一字型編隊繼續在勢場力的作用下向著目標運動,并且輕易的繞過簡單的障礙物;當編隊與所有的障礙物之間距離較遠時,則重新啟動三角形編隊。通過仿真發現,使用傳統的人工勢場法進行機器人編隊規劃,結果機器人陷入了局部最優的困境,達到了一種穩定狀態。然而改進的人工勢場法則事先考慮到了局部最優的問題,及時的調整編隊的隊形,并且適時的啟動沿墻導航,所以就順利的通過障礙物到達目標位置。
4 結束語
人工勢場法應用到多自主體編隊路徑規劃存在明顯的缺陷,例如算法容易陷入局部最優,則無法繼續向目標前進,這就目標不可達;針對這一問題文章提出了“基于隊形變換的沿墻導航法”來解決該問題。當機器人遇到障礙陷入局部最優點時,通過將機器人隊形由三角形變為一字型,然后使用沿墻法讓機器人繼續向目標點運動,當編隊機器人距離所有障礙物較遠時,恢復三角形編隊,從而解決了局部最優的問題。
參考文獻
[1]胡瑋韜,李團結.多機器人編隊及運動控制研究[M].西安電子科技大學,2010:24-30.
[2]鄧彥松,秦開宇.多自主體編隊及協調控制研究[J].電子科技大學,2013:76-89.