一種移動機器人障礙物檢測及避讓方法和系統(tǒng)的制作方法
【技術(shù)領域】
[0001] 本發(fā)明設及一種移動機器人障礙物檢測及避讓方法及系統(tǒng),實現(xiàn)自動檢測障礙物 狀態(tài)并智能避障。屬于移動機器人智能控制領域。
【背景技術(shù)】
[0002] 近年來,隨著移動機器人的快速發(fā)展,障礙物檢測和避讓是其智能化水平的重要 體現(xiàn)。良好的避障功能是移動機器人安全行走的重要保障。
[0003] 遇障繞行式避障是現(xiàn)有的常見的避障方法,即移動機器人不管遇到靜態(tài)障礙物還 是動態(tài)障礙物都選擇繞行W避障。該方法雖然解決了避障問題,但是就動態(tài)障礙物而言,比 如行走路徑上出現(xiàn)多個行人,如果采用該方法,移動機器人會多次繞行從而與規(guī)劃的路徑 大相徑庭,且移動機器人的運種行為不符合人的思維邏輯。
[0004] 為了解決移動機器人檢測、避讓障礙物及行走路徑更能滿足所規(guī)劃路徑運一問 題,本文采用一種基于測距傳感器的障礙物檢測及避讓方法及系統(tǒng),通過判斷障礙物的狀 態(tài),然后控制移動機器人針對障礙物的狀態(tài)采取對應的避障措施。在移動機器人領域,該方 法可提升移動機器人應急處理能力,更符合路徑規(guī)劃者的意愿及人的思維邏輯,使移動機 器人自主避障更加智能化。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明解決了移動機器人障礙物檢測及避讓,使得行走路徑更能滿足所規(guī)劃路徑 的問題。
[0006] 為了實現(xiàn)上述目的,本發(fā)明提供了一種移動機器人障礙物檢測及避讓方法,獲取 檢測區(qū)域內(nèi)障礙物的信息,根據(jù)獲取的障礙物信息判斷檢測區(qū)域內(nèi)障礙物的狀態(tài),所述狀 態(tài)包括靜態(tài)或動態(tài);
[0007]W及,根據(jù)障礙物的狀態(tài)確定移動機器人的避讓策略。
[0008] 本技術(shù)方案對障礙物的狀態(tài)進行判斷,既無需所有障礙物都繞行,也無需所有障 礙物都等待。不僅可W避免繞行時碰撞動態(tài)障礙物,還可W避免存在多個動態(tài)障礙物時,移 動機器人多次繞行從而與規(guī)劃的路徑大相徑庭。
[0009] 優(yōu)選地,所述獲取檢測區(qū)域內(nèi)障礙物的信息具體為,
[0010] S100 :輸入柵格地圖、規(guī)劃路徑及移動機器人的位置信息;
[0011]S200:獲取環(huán)境分布信息;
[0012]S300:獲取障礙物信息并在柵格地圖上標注,對地圖上每個柵格處障礙物存在的 時間計時;
[0013] 所述根據(jù)獲取的障礙物信息判斷檢測區(qū)域內(nèi)障礙物的狀態(tài),W及,根據(jù)障礙物的 狀態(tài)確定移動機器人的避讓策略具體為,
[0014] S400:根據(jù)設定的檢測距離,計算路徑上障礙物檢測區(qū)域;
[0015] S500:獲取檢測區(qū)域內(nèi)障礙物的計時數(shù)據(jù);
[0016]S600:根據(jù)計時數(shù)據(jù)判斷檢測區(qū)域內(nèi)有無障礙物,若無障礙物則通過,若有則判斷 障礙物為動態(tài)或靜態(tài),并根據(jù)判斷結(jié)果確定移動機器人執(zhí)行的避讓策略。
[0017] 本優(yōu)選技術(shù)方案根據(jù)障礙物出現(xiàn)的時間調(diào)整不同的避障策略,若在設定時間內(nèi)障 礙物離開,或者若障礙物出現(xiàn)后在段時間內(nèi)離開,移動機器人可繼續(xù)按照規(guī)劃的路徑行走, 更加滿足路徑規(guī)劃者的需求。
[0018] 進一步優(yōu)選地,S300具體包括W下步驟:
[0019]S310:首先在柵格地圖上的每個柵格設置一個計時器,并對其初始化;
[0020] S320 :獲取障礙物信息;
[0021]S330:將障礙物信息標注到柵格地圖;
[0022] S340 :遍歷柵格地圖;
[0023] S350 :判斷當前柵格是否存在障礙物,若是,則計時器加1,否則計時器置0。
[0024] 本優(yōu)選技術(shù)方案提供了對地圖上每個柵格處障礙物存在的時間計時的具體方法, 在柵格地圖上的每個柵格設置一個計時器判斷當前柵格是否存在障礙物,若是,則計時器 加1,否則計時器置0。后續(xù)步驟判斷中,計時器為0則判斷沒有障礙物(障礙物已走開也 是相同情況)。障礙物如果一直存在,則計時器循環(huán)累加,達到后續(xù)步驟的第二設定值,則認 為是靜止障礙物。 陽0巧]進一步優(yōu)選地,S300具體包括W下步驟:
[00%] S310 :首先在柵格地圖上的每個柵格設置一個計時器,并對其初始化;
[0027] S320 :獲取障礙物信息;
[00測 S330 :將障礙物信息標注到柵格地圖; W29] S340 :遍歷柵格地圖;
[0030]S350:判斷當前柵格是否存在障礙物,若是,轉(zhuǎn)S352,否則轉(zhuǎn)S351 ;S351:計時器加 1 ;
[0031]S352:判斷計時器是否小于第一設定值,若是則轉(zhuǎn)S353,否則轉(zhuǎn)S354;
[0032] S353 :計時器置 0,轉(zhuǎn)S320 ;
[0033] S354 :計時器減去第一設定值,轉(zhuǎn)S320。
[0034] 本優(yōu)選技術(shù)方案提供了另一種對地圖上每個柵格處障礙物存在的時間計時的具 體方法,相比上一個方案,增加了對計時器是否小于第一設定值的判斷。運個第一設定值 的存在是為了確認是否確實障礙物已經(jīng)走開。若萬一掃描存在問題,對沒有走開的障礙物 掃描失誤,則移動機器人會發(fā)生碰撞。而設置第一設定值后,開始發(fā)現(xiàn)有障礙物,則計時器 不為0,后續(xù)發(fā)現(xiàn)障礙物消失后,不會立即置零,而是減去一個第一設定值,經(jīng)過若干次循 環(huán)后,發(fā)現(xiàn)仍然沒有障礙物,當此時計時器減去若干個第一次設定值,減小到小于第一設定 值,計時器則進一步置0。后續(xù)步驟判斷中,計時器為0則判斷沒有障礙物(障礙物已走開 也是相同情況)。障礙物如果一直存在,則計時器循環(huán)累加,達到后續(xù)步驟的第二設定值,貝U 認為是靜止障礙物。
[0035] 進一步優(yōu)選地,S600具體為:
[0036] 判斷計時數(shù)據(jù)是否大于0即是否存在障礙物,若是表示存在,轉(zhuǎn)S601,否則轉(zhuǎn) S602 ;
[0037] S601 :判斷計時器數(shù)據(jù)是否大于第二設定值,即判斷障礙物的狀態(tài)為靜態(tài)還是動 態(tài),若是轉(zhuǎn)S604,否則轉(zhuǎn)S603 ;
[0038] S602:移動機器人按所述規(guī)劃路徑行走;
[0039] S603:存在動態(tài)障礙物,開始減速和定時計時,并轉(zhuǎn)S605;
[0040] S604 :存在靜態(tài)障礙物,移動機器人減速繞行;
[0041] S605 :判斷定時開始到當前時間是否在設定的定時時間內(nèi),若是,轉(zhuǎn)S400,否則轉(zhuǎn) S606 ;
[0042] S606 :移動機器人減速繞行。
[0043] 本優(yōu)選方案中,對靜態(tài)障礙物直接繞行。而對動態(tài)障礙物,則先進行減速和定時計 時,如果定時計時超過設定時間,則進行繞行,否則繼續(xù)等待。
[0044] 進一步優(yōu)選地,S603中,減速方式具體如下; 陽045] 確定移動機器人的速度系數(shù)speet化ctor的計算公式為
Pi為檢測到障礙物時移動機器人的位置;P2為移動機器人的當前位置;P3為安全等待位置。
[0046] 本優(yōu)選方案提供實時計算速度,運樣可W實現(xiàn)均勻減速,減少速度對移動機器人 的損害。
[0047] 進一步優(yōu)選地,步驟S600后進一步包括:
[0048] S700 :判斷移動機器人是否完成行走任務,若是則輸出路徑行走完成信息,否則轉(zhuǎn) S300。
[004