一種劃分移動機器人室內區域動態覆蓋方法及其裝置的制造方法
【技術領域】
[0001]本發明涉及移動機器人導航領域,尤其涉及一種基于人們對環境的認知,從而實現劃分移動機器人室內區域動態覆蓋方法及其裝置。
【背景技術】
[0002]隨著技術的發展進步,移動機器人被廣泛地使用以輔助或替代人類完成一些重復性較高、技術含量較低的任務,如產品裝配、掃地等,其中,掃地機是移動機器人的典型應用,如果其路徑或行為規劃不合理,則將出現覆蓋效率低、路徑重復率高等問題,因而工作過程可以等價為解決區域覆蓋的問題。
[0003]目前,根據是否進行區域劃分的標準,區域覆蓋算法主要可以分為兩類:第一種為對整體區域進行劃分,在劃分的基礎上實現子區域覆蓋,最終實現整個區域的覆蓋,如牛耕式分割算法、梯形分割算法、Morse分解算法等;第二種為不進行區域劃分,將環境作為整體實現區域覆蓋,如波陣面法、旋轉生成樹法等。
[0004]在這兩種方法中,通過對區域進行劃分,實現機器人的區域覆蓋更加符合人類的認知習慣,因而現階段在移動機器人在使用過程中,普遍采用第一種區域覆蓋算法,但是,當前的區域覆蓋算法主要集中在考慮子區域的覆蓋策略,而缺少對整體環境的考量。
【發明內容】
[0005]針對上述問題,本發明從人類對環境認知習慣的角度出發,對室內環境進行了兩次劃分,其中,第一次劃分保證了室內區域中具有一定功能區域的完整性,第二次劃分將具有一定功能的區域劃分為行走機器人能夠行走的獨立子區域,并在獨立子區域內部實現機器人行為規劃,控制機器人完成獨立子區域的覆蓋。
[0006]本發明提供的劃分移動機器人室內區域動態覆蓋方法及其裝置,具體方案如下:
[0007]—種劃分移動機器人室內區域動態覆蓋方法,至少包括以下步驟:
[0008]SI利用柵格法對移動機器人的室內區域進行環境建模,通過對柵格地圖的每一列進行掃描將所述室內區域進行兩次劃分,將所述室內區域劃分為獨立子區域塊和獨立區域塊,其中,所述獨立區域塊中包含多個相互鄰接的獨立子區域塊;
[0009]S2基于反向查找的方式和最小樹原則分別獲取所述獨立子區域塊和所述獨立區域塊中包含的每個所述獨立子區域塊的拓撲規劃順序;
[0010]S3根據所述拓撲規劃順序基于Dijkstra算法獲取所述移動機器人在所述室內區域內的最優路徑。
[0011]在本技術方案中,從人類對環境認知習慣的角度出發,對室內環境進行了兩次劃分:第一次劃分保證環境中具有一定功能的區域的完整性,例如,辦公室,走廊等區域,這種劃分方式符合人類的認知習慣,方便用戶的認知和實現對機器人的操控;第二次劃分從機器人行為規劃的角度出發,對第一次劃分出來的具有一定功能的區域進行二次劃分,將其劃分為移動機器人能夠行走的子區域(包括獨立子區域塊和獨立區域塊),并在子區域內部實現機器人行為規劃,使用Dijkstra算法獲取所述移動機器人在所述室內區域內的最優路徑,控制機器人完成子區域的覆蓋。
[0012]優選地,在步驟SI中,具體包括以下步驟:
[0013]Sll載入所述靜態柵格地圖,分別以柵格為單位進行訪問和存儲,同時對所述柵格地圖進行膨脹;
[0014]S12對所述柵格地圖中的每一列進行掃描,記錄并存儲每一列掃描的起始點,障礙物的上下邊緣點以及所述移動機器人相對于所述障礙物的位置信息,其中,所述起始點,障礙物的上下邊緣點形成掃描點;
[0015]S13根據比對前一次掃描記錄和當前掃描記錄將所述室內區域劃分為所述獨立子區域塊,同時通過檢視相鄰兩個掃描點之間是否存在所述障礙物以判定所述獨立子區域塊之間的鄰接性,多個相互鄰接的所述獨立子區域塊形成所述獨立區域塊。
[0016]在本技術方案中,通過對柵格地圖中每一列進行掃描,且通過比對前一次掃描記錄和當前掃描記錄對區域進行劃分。同時本技術方案中,對環境中可能出現的動態障礙物進行了考量,當環境中出現動態障礙物,在每次規劃中,掃描點都將出現不同,移動機器人根據每次掃描的點進行快速響應,避開動態障礙物,并重新規劃路徑,完成區域的覆蓋。
[0017]優選地,在步驟I中,將所述室內區域劃分為所述獨立子區域塊和所述獨立區域塊之后,還包括以下步驟:
[0018]S14針對所述柵格地圖中的每一個非障礙物點,使用直線模擬激光束對其四周環境進行掃描,記錄當前移動機器人所在節點與障礙物點之間的距離;
[0019]S15根據所述距離判定是否為所述室內區域中門口的位置,若判定其為門口點,則將該節點封閉,形成完整的功能區域;
[0020]S16通過與長度比率閾值的比較判定走廊區域;
[0021]S17通過對所述走廊區域使用直線模擬激光進行掃描,同時記錄每道激光掃描到的障礙物點的位置,判定所述走廊區域的主方向。
[0022]在本技術方案中,即為實現對室內區域進行一次規劃的具體步驟,當然,在這里,針對走廊的位置給出了具體的識別步驟,這種方式,符合人類的認知習慣,方便用戶的認知和實現對機器人的操控。移動機器人在室內移動時,根據一次劃分的結果,分別在每個劃分出來的功能區域內進行區域覆蓋,從而實現整體的區域覆蓋,即當同時需要對辦公室和走廊進行區域覆蓋時,則首先對辦公室內的區域進行覆蓋,過后在對走廊中的區域進行覆蓋。
[0023]優選地,在步驟S2中,具體包括以下步驟:
[0024]S21判斷未規劃的獨立子區域塊的數量,若所述數量為0,則拓撲規劃結束;
[0025]S22若所述數量不為0,則獲取當前獨立子區域塊鄰接的未規劃的獨立子區域塊,若當前獨立子區域塊鄰接的未規劃的獨立子區域塊的數量為0,則當前獨立子區域塊鄰接的獨立子區域塊拓撲規劃結束;
[0026]S23通過反向查找方式在列隊中查找其中存在鄰接區域但沒有被規劃的獨立子區域塊的數量,若其數量為0,則拓撲規劃結束;
[0027]S24若其數量為1,則對查找到的唯一的所述獨立子區域塊進行規劃;
[0028]S25若其數量大于1,則基于最小樹原則對所述獨立子區域進行拓撲規劃。
[0029]優選地,在步驟S25中,基于最小樹原則對所述獨立子區域進行拓撲規劃,具體包括以下步驟:
[0030]S251獲取當前未規劃獨立子區域為根的樹的第一層節點數,同時獲取每個所述第一層節點距離所述移動機器人所在節點的最小值,并記錄取得所述最小值對應的未規劃獨立子區域的數量;
[0031]S252若數量為1,則對相應的唯一的未規劃獨立子區域進行規劃,同時跳轉至步驟S21,直至所述第一層節點規劃結束;
[0032]S253獲取當前未規劃獨立子區域為根的樹的第二層節點數,同時獲取每個所述第二層節點距離所述移動機器人所在節點的最小值,并記錄取得所述最小值對應的未規劃獨立子區域的數量;
[0033]S254若數量為1,則對相應的唯一的未規劃獨立子區域進行規劃,同時跳轉至步驟S21,直至所述第二層節點規劃結束。
[0034]在本技術方案中,基于最小樹原則快速的對未規劃的獨立子區域塊進行規劃,能夠規劃出最佳的拓撲路徑。
[0035]優選地,在步驟S25中,若出現多個相同規格的樹,則分別獲取當前移動機器人所在節點至所述樹的最小距離,通過比較所述最小距離,獲取最小值,隨后跳轉至步驟S21。
[0036]優選地,所述移動機器人以“L”型路徑往返運動。
[0037]—種劃分移動機器人室內區域動態覆蓋裝置,所述裝置至少包括:
[0038]掃描單元,其對柵格地圖的每一列進行掃描將所述室內區域進行兩次劃分,將所述室內區域劃分為獨立子區域塊和獨立區域塊;
[0039]存儲單元,用于存儲所述掃描單元掃描障礙物獲取的數據,以及拓撲規劃過程中的數據;
[0040]拓撲規劃單元,根據所述存儲單元中存儲的所述障礙物的數據,對所述獨立子區域塊進行拓撲規劃;
[0041]路徑生成單元,根據所述拓撲規劃順序基于Di jkstra算法獲取所述移動機器人在所述室內區域內的最優路徑。
[0042]優選地,所述掃描單元對所述室內區域進行兩次劃分,具體包括:
[0043]一次劃分:將所述室內區域進行功能劃分,以保障劃分區域的完整性;
[0044]二次劃分:將一次劃分之后的區域劃分為所述行走機器人的行走區域,包括所述獨立子區域塊和所述獨立區域塊,同時對所述行走區域進行規劃,實現所述行走機器人的區域覆蓋。
[0045]在本技術方案中,從人類對環境認知習慣的角度出發,對室內環境進行了兩次劃分:第一次劃分保證環境中具有一定功能的區域的完整性,例如,辦公室,走廊等區域,這種劃分方式符合人類的認知習慣,方便用戶的認知和實現對機器人的操控;第二次劃分從機器人行為規劃的角度出發,對第一次劃分出來的具有一定功能的區域進行二次劃分,將其劃分為移動機器人能夠行走的子區域,并在子區域內部實現機器人行為規劃,控制機器人完成子區域的覆蓋。