一種基于仿生觸角的機器人自主導航方法
【技術領域】
[0001] 本發明屬于智能機器人領域,具體涉及一種基于仿生觸角的機器人自主導航方 法。
【背景技術】
[0002] Bug算法是一種基于傳感器的著名導航算法,它結合全局規劃和局部規劃的特點, 其路徑規劃是在直接應用傳感信息的基礎上引入一些全局信息,但只是一種"宏觀"意義上 的理論算法,多運用于理論仿真,很難直接用于指導實際應用。Bug算法假設機器人為一個 質點,無實體物理尺寸,并要求機器人具有全方位的障礙探測和沿著障礙物邊緣繞行的能 力,這一點對于實際機器人來說是極其困難的。Bug算法核心在于如何確定朝著目標點直線 前進和沿著障礙物邊緣繞行兩種基本行走模式的切換時機以及繞行障礙物邊緣的具體方 式。
【發明內容】
[0003] 有鑒于此,本發明從仿生學的角度出發,運用神經行為學原理提出了基于仿生觸 角的機器人自主導航算法。該方法是一種實用的改進Bug算法,綜合考慮了機器人實體物理 尺寸和實際環境復雜性的影響,解決了 Bug算法兩種基本行走模式的切換時機及繞行障礙 物的具體方式,解決了 Bug算法難以實際應用的問題。
[0004] 為實現上述目的,本發明采用以下技術方案:
[0005] -種基于仿生觸角的機器人自主導航方法,所述自主導航方法從仿生學的角度出 發,提出"仿生觸角"模型來理解傳感器信息,將機器人簡化成半徑為R:的圓,R:為機器人外 接圓半徑,并包括多個檢測單元。
[0006] 進一步的,所述檢測單元分別為半圓環形觸角Dngs、Dngb和Dng。,半徑分別為R s、Rb 和R。,圓形觸角Lng,箭頭形觸角Hng,以及位于正前方位置由矩形(2RS Xa)加半圓形(半徑 Rs)組成的寬面積型觸角Sng,Dngs、Dngb用于檢測用于探測激光雷達180°范圍內最近的障礙 物點;Dng。用于檢測位于相遇點時障礙物所處的方位;Lng用于記錄依靠自身定位系統實時 得到的機器人位置;Hng用于記錄航向傳感器實時獲得的機器人航向角;Sng用于檢測當前 傳感器探測范圍內無障礙直線行走的最大距離s max;
[0007] 所述方法包括四種行走行為方式、六種行為觸發條件,所述行走方式為:對準轉 向、直線前進、避開轉向、弧線繞行,所述行為觸發條件為:對準條件、偏航條件、相遇條件、 避開條件、脫離條件、終點條件;
[0008] 所述方法步驟如下:
[0009] 步驟1:從起點S向目標點T行進,對準轉向行為觸發,判斷是否滿足對準條件,若滿 足對準條件,進行步驟2,不滿足對準條件,繼續執行對準轉向行為;
[001 0]步驟2:直線前行行為觸發,判斷是否滿足偏航條件,若滿足偏航條件,返回步驟1, 不滿足偏航條件進行步驟3;
[0011] 步驟3:判斷是否滿足偏航條件,若滿足相遇條件,進行步驟4,不滿足相遇條件,進 行步驟5;
[0012] 步驟4:避開轉向行為觸發,判斷是否滿足避開條件,若滿足避開條件,進行步驟 6,不滿足避開條件,繼續執行避開轉向行為;
[0013]步驟5:判斷是否滿足終點條件,若滿足終點條件,終點登陸,抵達目標點T,不滿足 終點條件,返回步驟2;
[0014]步驟6:弧線繞行行為觸發,判斷是否滿足相遇條件,若滿足相遇條件,返回步驟4, 不滿足相遇條件,進行步驟7;
[0015] 步驟7:判斷是否滿足脫離條件,若滿足脫離條件,返回步驟1,不滿足脫離條件,返 回步驟6。
[0016] 進一步的,所述四種行走行為方式具體如下:
[0017]對準轉向:在S、P和L處執行的旨在對準目標點T的原地轉向動作,轉向方向按最小 轉角原則來決定,直到對準目標點T對準轉向行走行為結束,其中S為起點,T為目標點,L為 機器人繞行障礙物邊緣結束時所處的位置點,P為機器人直線前進過程中航向角發生偏離 的位置點;
[0018] 直線前進:在對準目標點T后所執行的沿XT方向的直線行走動作,直到到達目標點 T(此時任務結束)或者航向角發生偏離(此時位于偏離點P)或者遇到障礙物(此時位于相遇 點H)為止,包括從S完成對準轉向行為后的直線行走動作,航向角發生偏離后對準目標點T 的直線行走動作,以及脫離障礙物邊緣后對準目標點T的直線行走動作;
[0019] 避開轉向:在障礙物邊緣繞行過程中所執行的為遠離障礙物而實施的原地轉向動 作,當處于直線前進或弧線繞行行走行為過程中遇到障礙物,即Dng s檢測到位于相遇點H, 則觸發避開轉向行走行為,直至Dngb檢測不到障礙物時避開轉向行走行為結束,Η表示機器 人碰到障礙物時所處的位置點;
[0020] 弧線繞行:在障礙物邊緣繞行過程中所執行的沿一定曲率半徑圓弧繞行行走動 作,當遇到障礙物執行的避開轉向行走行為結束時,則觸發弧線繞行行走行為,直至再次遇 到障礙物(Dng s檢測到下一個相遇點Η)或滿足脫離點條件,則弧線繞行行走行為結束。
[0021] 進一步的,所述避開轉向行為檢測過程中按施密特觸發器有Rs〈Rb以提高系統的穩 定性,所述避開轉向行為的方向確定方法是:當位于相遇點Η時障礙物位于機器人左側則原 地右轉,反之原地左轉,如果機器人避開轉向一周,則表示無法避開障礙物,停止運動,障礙 物的方向通過Dng。來檢測,設置RJRb以提高障礙物檢測的準確率,若在觸角Dng。探測范圍 內激光雷達共檢測到m個障礙物點,計算其方位角(相對于X軸)的算術平均值,記為則 有:
[0022]
[0023]定義如下的整型標志變量:
[0024]
[0025] 其中,?·^ = 0表示障礙物位于右側,?·^=1表示障礙物位于左側,當位于起點S和 脫離點L處時,該變量進行初始化有f〇bt = -l;
[0026] 弧線繞行轉彎方向與避開轉向轉彎方向對應,當遇到障礙物執行的避開轉向為原 地左轉,則弧線右轉,反之弧線左轉。
[0027] 進一步的,所述對準條件具體為:判斷對準轉向過程中機器人當前航向角是否沿 著XT方向,用于連接對準轉向與直線前進,對準條件通過Hng判斷,其定量表達式為0 r = θχτ, 其中ΘΛ機器人當前航向角,θχτ表示矢線段XT的方位角,若θτ = θχτ,直線前進觸發,否則保 持當前行為。
[0028] 進一步的,所述偏航條件具體為:判斷直線前進過程中機器人是否位于偏航點Ρ, 即當前航向角是否偏離XT方向,用于連接直線前進與對準轉向,偏航條件通過Hng判斷,其 定量表達式為I 9r-0XT| >θη,其中θη為預先設定的航向偏離閾值,若| θ「θχτ| >θη,對準轉向觸 發,否則保持當前行為。
[0029] 進一步的,所述相遇條件具體為:判斷直線前進或弧線繞行過程中是否遇到障礙 物,即是否處于相遇點Η,用于連接直線前進與避開轉向或弧線繞行與避開轉向,相遇條件 通過Dng s和Dng。判斷,其中Dngs判斷是否遇到障礙物,Dng。判斷位于相遇點Η時障礙物的方 位,其定量表達式為d min < Rs,若dmin < Rs,避開轉向觸發,否則保持當前行為,其中dmin表示激 光雷達探測范圍內機器人與障礙物之間的最近距離。
[0030] 進一步的,所述避開條件具體為:判斷避開轉向過程中是否避開障礙物,用于連接 避開轉向和弧線繞行,避開條件通過Dngb判斷,其定量表達式為d min2 Rb,若dmin2 Rb,弧線繞 行觸發,否則保持當前行為;當機器人避開轉向一周,則表示機器人無法避開障礙物,導航 任務失敗。
[0031] 進一步的,所述脫離條件具體為:判斷在弧線繞行過程中是否脫離障礙物邊緣,即 判斷是否處于脫離點L,用于連接弧線繞行與對準轉向,脫離條件通過Hng和Sng判斷,其中 定量表達式為(| QsX-9xT | <θλ | | | θρ-θχτ | < θε&&(1χτ < Smax)0R( I Qsx-θχτ | <θλ | | | θρ-θχτ | < θε&& Smax 2 Sst(3p),其中θλ為預先設定的直線重合度容差,θε*預先設定的對準角度容差,Θ 5Χ為矢 線段SX的方位角,Sstep為預先設定的脫離閾值,Smax表示XT方向可無障礙直線行走