CN120122663B 具身機器人建圖方法、具身機器人系統(tǒng)及控制設備 (臥安科技(深圳)有限公司)_第1頁
CN120122663B 具身機器人建圖方法、具身機器人系統(tǒng)及控制設備 (臥安科技(深圳)有限公司)_第2頁
CN120122663B 具身機器人建圖方法、具身機器人系統(tǒng)及控制設備 (臥安科技(深圳)有限公司)_第3頁
CN120122663B 具身機器人建圖方法、具身機器人系統(tǒng)及控制設備 (臥安科技(深圳)有限公司)_第4頁
CN120122663B 具身機器人建圖方法、具身機器人系統(tǒng)及控制設備 (臥安科技(深圳)有限公司)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

(19)國家知識產權局(12)發(fā)明專利(10)授權公告號CN120122663B(65)同一申請的已公布的文獻號(73)專利權人臥安科技(深圳)有限公司(72)發(fā)明人李建強顏世飛李建剛潘陽(74)專利代理機構華進聯(lián)合專利商標代理有限公司44224專利代理師袁武審查員童艷利具身機器人建圖方法、具身機器人系統(tǒng)及控制設備本申請涉及一種具身機器人建圖方法、具身機器人系統(tǒng)及控制設備。方法包括:在機器人處于目標場景中建圖的過程中,確定機器人的當前位置,以當前位置為中心位置生成當前平面網格;在機器人當前處于當前平面網格之內的情況下,確定所述機器人當前在當前平面網格中所處的目標格子及目標格子對應的計數(shù)值,計數(shù)值反映建圖過程中機器人經過目標格子代表的區(qū)域的時長;在目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確定為關鍵2在機器人處于目標場景中建圖的過程中,確定所述機器人的當前位置,以所述當前位置為中心位置生成當前平面網格;在所述機器人當前處于所述當前平面網格之內的情況下,確定所述機器人當前在所述當前平面網格中所處的目標格子及所述目標格子對應的計數(shù)值,所述計數(shù)值反映建圖過程中所述機器人經過所述目標格子代表的區(qū)域的時長;在所述目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確定為關鍵幀;利用所述關鍵幀中點云數(shù)據更新所述機器人的柵格地圖。2.根據權利要求1所述的方法,其特征在于,所述確定所述機器人當前在所述當前平面網格中所處的目標格子及所述目標格子對應的計數(shù)值,包括:確定歷史時間生成的歷史平面網格,所述歷史平面網格是以所述機器人在所述歷史時間所處位置為中心位置生成的平面網格;在所述歷史平面網格與所述當前平面網格相交的情況下,從所述當前平面網格中確定與所述歷史平面網格中至少一個第一格子相交的第二格子;利用所述至少一個第一格子分別對應的計數(shù)值,設置所述第二格子對應的計數(shù)值,并將所述當前平面網格中其他格子對應的計數(shù)值設置為預設數(shù)值;從所述當前平面網格中確定所述機器人當前所處的目標格子,并確定所述目標格子對應的計數(shù)值。3.根據權利要求1所述的方法,其特征在于,所述方法還包括:獲取打滑判定參數(shù),根據所述打滑判定參數(shù)進行打滑判定,得到打滑判定結果;所述在所述目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確在所述打滑判定結果為不打滑且所述目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確定為關鍵幀。4.根據權利要求3所述的方法,其特征在于,所述打滑判定參數(shù)包括里程計估計位移、定位系統(tǒng)估計位移、里程計對應的第一角度變化量及慣性測量單元對應的第二角度變化量、當前位置的第一定位得分、最近一次未發(fā)生打滑時的第二定位得分中至少一個,所述根據所述打滑判定參數(shù)進行打滑判定,得到打滑判定結果,包括:確定所述里程計估計位移與所述定位系統(tǒng)估計位移之間的位移差值;基于所述第一角度變化量和所述第二角度變化量之間的差值,確定角度變化量差值;確定所述第一定位得分與所述第二定位得分之間的得分差值;基于所述位移差值、角度變化量差值或得分差值中至少一個進行打滑判定,得到打滑判定結果。5.根據權利要求1至4中任一所述的方法,其特征在于,所述利用所述關鍵幀中點云數(shù)將所述點云數(shù)據中數(shù)據點向所述機器人的柵格地圖映射,以確定所述點云數(shù)據中的數(shù)據點對應的柵格,得到所述點云數(shù)據對應的點云柵格集合;將采集所述關鍵幀時所述機器人所處位置向所述柵格地圖映射,以確定所述機器人對3應的機器人柵格;確定所述點云柵格集合中點云柵格與所述機器人柵格之間的柵格距離;按照柵格距離對所述點云柵格集合中點云柵格進行劃分,得到多個點云柵格子集合;針對每個所述點云柵格子集合,根據所述點云柵格子集合中點云柵格對應的柵格距離確定所述點云柵格子集合對應的搜索半徑,搜索半徑與柵格距離成正相關關系;基于所述點云柵格子集合對應的搜索半徑對所述點云柵格子集合進行柵格校正,得到更新后的點云柵格子集合;利用所述更新后的點云柵格子集合更新所述柵格地圖。6.根據權利要求5所述的方法,其特征在于,所述基于所述點云柵格子集合對應的搜索半徑對所述點云柵格子集合進行柵格校正,得到更新后的點云柵格子集合,包括:將所述點云柵格子集合對應的搜索半徑,確定為所述點云柵格子集合中點云柵格對應的搜索半徑;針對所述點云柵格子集合中點云柵格,確定從所述點云柵格到所述機器人柵格之間的柵格路徑;從所述柵格路徑中搜索與所述點云柵格之間的距離小于所述搜索半徑的占用柵格,所述占用柵格代表的區(qū)域存在物體;在搜索到占用柵格的情況下,將所述點云柵格子集合中所述點云柵格更新為所述占用柵格,得到更新后的點云柵格子集合。7.根據權利要求5所述的方法,其特征在于,所述利用所述更新后的點云柵格子集合更確定所述更新后的點云柵格子集合對應的概率增量和概率減量,所述概率增量與所述點云柵格子集合中點云柵格對應的柵格距離成負相關關系,所述概率減量與所述點云柵格子集合中點云柵格對應的柵格距離成負相關關系;針對所述更新后的點云柵格子集合中端點柵格,利用所述概率增量在所述柵格地圖中增大所述端點柵格的概率值,所述端點柵格為所述更新后的點云柵格子集合中點云柵格;利用所述概率減量在所述柵格地圖中減小所述端點柵格與所述機器人柵格之間的中間柵格的概率值,柵格的概率值用于表征柵格代表的區(qū)域存在物體的概率。8.根據權利要求1至4中任一所述的方法,其特征在于,所述方法還包括:在所述機器人當前處于所述當前平面網格之外的情況下,返回確定所述機器人的當前位置,以所述當前位置為中心位置生成當前平面網格的步驟。9.根據權利要求1至4中任一所述的方法,其特征在于,所述方法還包括:在更新所述柵格地圖之后,對更新后的柵格地圖進行噪點柵格檢測,得到候選噪點柵格集合;對所述候選噪點柵格集合進行聚類,以從所述候選噪點柵格集合中確定目標噪點柵將所述目標噪點柵格的概率恢復為初始概率值,所述初始概率值表征所述目標噪點柵格對應的區(qū)域是否存在物體是未知的。10.一種具身機器人系統(tǒng),其特征在于,所平面網格確定模塊,用于在機器人處于目標場景中建圖的過程中,確定所述機器人的4當前位置,以所述當前位置為中心位置生成當前平面網格;計數(shù)值確定模塊,用于在所述機器人當前處于所述當前平面網格之內的情況下,確定所述機器人當前在所述當前平面網格中所處的目標格子及所述目標格子對應的計數(shù)值,所述計數(shù)值反映建圖過程中所述機器人經過所述目標格子代表的區(qū)域的時長;關鍵幀判定模塊,用于在所述目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情地圖更新模塊,用于利用所述關鍵幀中點云數(shù)據更新所述機器人的柵格地圖。11.一種控制設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權利要求1至9中任一項所述的方法的步驟。5技術領域[0001]本申請涉及機器人技術領域,特別是涉及一種具身機器人建圖方法、具身機器人系統(tǒng)及控制設備。背景技術[0002]隨著機器人技術的發(fā)展,機器人的種類越來越多,應用也越來越廣泛,例如機器人可以用于掃地或搬運貨物等。通常機器人在正式執(zhí)行任務之前,需要先構建地圖。[0003]傳統(tǒng)技術中,機器人建圖可以通過傳感器(雷達/攝像頭)采集環(huán)境數(shù)據(一幀一幀的),將關鍵幀包括點云數(shù)據,將點云數(shù)據填充到柵格地圖中,有點云數(shù)據點的柵格位置標記為占據,雷達中心和點云數(shù)據點之間的柵格位置被標記成可通行。通過多幀的點云累加形成一張完整的地圖。[0004]然而,由于傳統(tǒng)技術中通常根據時間/空間的變化值來決定關鍵幀,實時性較差,從而影響建圖的準確性。發(fā)明內容[0005]基于此,有必要針對上述技術問題,提供一種能夠提升建圖準確性的具身機器人[0006]一方面,本申請?zhí)峁┝艘环N具身機器人建圖方法,所述方法包括:在機器標場景中建圖的過程中,確定所述機器人的當前位置,以所述當前位置為中心位置生成當前平面網格;在所述機器人當前處于所述當前平面網格之內的情況下,確定所述機器人當前在所述當前平面網格中所處的目標格子及所述目標格子對應的計數(shù)值,所述計數(shù)值反映建圖過程中所述機器人經過所述目標格子代表的區(qū)域的時長;在所述目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確定為關鍵幀;利用所述關鍵幀中點云數(shù)據更新所述機器人的柵格地圖。[0007]另一方面,本申請還提供了一種具身機器人系統(tǒng),包括:平面網格確定模塊,用于在機器人處于目標場景中建圖的過程中,確定所述機器人的當前位置,以所述當前位置為中心位置生成當前平面網格;計數(shù)值確定模塊,用于在所述機器人當前處于所述當前平面網格之內的情況下,確定所述機器人當前在所述當前平面網格中所處的目標格子及所述目標格子對應的計數(shù)值,所述計數(shù)值反映建圖過程中所述機器人經過所述目標格子代表的區(qū)域的時長;關鍵幀判定模塊,用于在所述目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確定為關鍵幀;地圖更新模塊,用于利用所述關鍵幀中點云數(shù)據更新所述機器人的柵格地圖。[0008]另一方面,本申請還提供了一種控制設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述具身機器人建圖方法中的步驟。[0009]另一方面,本申請還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,所6述計算機程序被處理器執(zhí)行時實現(xiàn)上述具身機器人建圖方法中的步驟。[0010]另一方面,本申請還提供了一種計算機程序產品,包括計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)上述具身機器人建圖方法中的步驟。算機程序產品,在機器人處于目標場景中建圖的過程中,確定機器人的當前位置,以當前位置為中心位置生成當前平面網格,在機器人當前處于當前平面網格之內的情況下,確定機器人當前在當前平面網格中所處的目標格子及目標格子對應的計數(shù)值,計數(shù)值反映建圖過程中機器人經過目標格子代表的區(qū)域的時長,在目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確定為關鍵幀,利用關鍵幀中點云數(shù)據更新機器人的柵格地圖。從而結合機器人當前位置和當前平面網格來確定關鍵幀,并使用關鍵幀中點云數(shù)據來更新柵格地圖,提高了更新柵格地圖的實時性,有助于提升建圖準確性。附圖說明[0012]為了更清楚地說明本申請實施例或相關技術中的技術方案,下面將對本申請實施例或相關技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他相關的附圖。[0013]圖1為一個實施例中具身機器人建圖方法的流程示意圖;[0014]圖2為一個實施例中當前平面網格與歷史平面網格之間的關系示意圖;[0015]圖3為一個實施例中確定關鍵幀的原理圖;[0016]圖4為一個實施例中對柵格進行劃分區(qū)域的原理圖;[0017]圖5為一個實施例中利用搜索半徑搜索占用柵格的原理圖;[0018]圖6為一個實施例中機器人中包括的模塊框圖;[0019]圖7為一個實施例中控制設備的內部結構圖。具體實施方式[0020]為了使本申請的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本申請進行進一步詳細說明。應當理解,此處描述的具體實施例僅僅用以解釋本申請,并不用于限定本申請。[0021]本申請實施例提供的具身機器人建圖方法。本申請中機器人是一種機器人系統(tǒng),它具備感知、運動和交互能力,并且能夠與環(huán)境進行實時互動,可以通過攝像頭、激光雷達和觸覺傳感器等感知器官捕捉周邊環(huán)境的信息,且機器人為具身機器人。具身機器人可包括但不限于為,掃地機器人(也稱清潔機器人)、由掃地機驅動的拖物機器人(即掃地拖物一[0022]在一些實施例中,提供了一種具身機器人建圖方法,具身機器人中存在控制設備,該方法可以是由控制設備執(zhí)行的,如圖1所示,該具身機器人建圖方法包括步驟102至步驟[0023]步驟102,在機器人處于目標場景中建圖的過程中,確定機器人的當前位置,以當前位置為中心位置生成當前平面網格。7[0024]其中,目標場景可以是任意場景,可以但不限于是居住室內、工廠或醫(yī)院等。平面網格中包含多個矩形的格子,平面網格可以是2D(二維)直方圖。平面網格的尺寸可以根據需要設置。平面網格中格子的尺寸可以根據需要設置,例如可以為20厘米×20厘米。當前平面網格是根據機器人的當前位置生成的平面網格,當前平面網格的中心位置為該當前位[0025]步驟104,在機器人當前處于當前平面網格之內的情況下,確定機器人當前在當前平面網格中所處的目標格子及目標格子對應的計數(shù)值,計數(shù)值反映建圖過程中機器人經過目標格子代表的區(qū)域的時長。[0026]其中,計數(shù)值的最小值可以為預設數(shù)值,預設數(shù)值可以但不限于是0。若格子對應的計數(shù)值為該預設數(shù)值,則表示機器人未經過該格子代表的區(qū)域。若機器人一直處于一個再對計數(shù)值繼續(xù)增大。由于構建當前平面網格后,機器人可能走遠了或是被人抱走了,故需判斷機器人是否在當前平面網格內。[0027]在一些實施例中,具身機器人建圖方法還包括:在機器人當前處于當前平面網格之外的情況下,返回確定機器人的當前位置,以當前位置為中心位置生成當前平面網格的[0028]步驟106,在目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確定為關鍵幀。[0029]其中,計數(shù)閾值可以根據需要設置,例如可以為15。當前幀是最新對周圍環(huán)境進行采集得到的數(shù)據。當前幀可以是傳感器采集到的,傳感器可以但不限于是采集點云數(shù)據的傳感器或采集圖像的傳感器。傳感器可以但不限于是激光雷達傳感器、視覺傳感器或超聲波傳感求等中至少一種,激光雷達傳感器可以但不限于是DTOF(DirectTimeofFlight,直接飛行時間)傳感器或三角雷達中的至少一種。視覺傳感器可以但不限于深度相機。機器人上可以設置至少一個點云傳感器。當前幀中包括點云數(shù)據,點云數(shù)據由多個數(shù)據點構成,每個數(shù)據點可以包含位置信息,位置信息可以是采集數(shù)據點時該數(shù)據點與機器人或者傳感器的相對位置。[0030]具體地,在確定當前幀為關鍵幀的情況下,增大當前平面網格中目標格子對應的計數(shù)值,例如,在當前平面網格中將目標格子對應的計數(shù)值加1。[0031]在一些實施例中,在目標格子對應的計數(shù)值大于預設的計數(shù)閾值的情況下,確定當前幀是非關鍵幀,則不采用關鍵幀中點云數(shù)據(例如機器人通過雷達拍到的周圍的環(huán)境數(shù)據)更新機器人的柵格地圖(由于雷達的數(shù)據是帶噪聲的,一直更新,會把噪聲更新到地圖中)。例如,計數(shù)閾值為15,若目標格子對應的計數(shù)值為16,由于16>15,則判定當前幀是非關鍵幀。[0032]步驟108,利用關鍵幀中點云數(shù)據更新機器人的柵格地圖。[0033]其中,柵格地圖是將環(huán)境劃分為的二維網格,柵格地圖中每個柵格獨立存儲一個概率值,概率值的范圍為0~1。概率值表征柵格對應的區(qū)域被障礙物或物體占用的概率。柵格地圖可以采用二維概率矩陣M表示,二維概率矩陣M中每個元素M(i,j)代表柵格(i,j)對應的概率值,柵格(i,j)是指柵格地圖中第i行第j列的柵格。[0034]具體地,可以將關鍵幀中點云數(shù)據中數(shù)據點映射到柵格地圖中,以確定每個數(shù)據8點分別對應的柵格(稱為點云柵格),將每個數(shù)據點分別對應的點云柵格組成點云柵格集合,利用點云柵格集合中柵格更新柵格地圖。[0035]上述具身機器人建圖方法,在機器人處于目標場景中建圖的過程中,確定機器人的當前位置,以當前位置為中心位置生成當前平面網格,在機器人當前處于當前平面網格之內的情況下,確定機器人當前在當前平面網格中所處的目標格子及目標格子對應的計數(shù)值,計數(shù)值反映建圖過程中機器人經過目標格子代表的區(qū)域的時長,在目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確定為關鍵幀,利用關鍵幀中點云數(shù)據更新機器人的柵格地圖。通過結合機器人當前位置和當前平面網格來確定關鍵幀,并使用關鍵幀中點云數(shù)據來更新柵格地圖,提高了更新柵格地圖的實時性,有助于提升建圖準[0036]在一些實施例中,確定機器人當前在當前平面網格中所處的目標格子及目標格子對應的計數(shù)值,包括:確定歷史時間生成的歷史平面網格,歷史平面網格是以機器人在歷史時間所處位置為中心位置生成的平面網格;在歷史平面網格與當前平面網格相交的情況下,從當前平面網格中確定與歷史平面網格中至少一個第一格子相交的第二格子;利用至少一個第一格子分別對應的計數(shù)值,設置第二格子對應的計數(shù)值,并將當前平面網格中其他格子對應的計數(shù)值設置為預設數(shù)值;從當前平面網格中確定機器人當前所處的目標格[0037]其中,歷史平面網格是上一次生成的平面網格。歷史平面網格與當前平面網格相交是指歷史平面網格與當前平面網格具有重疊區(qū)域。如圖2所示,歷史平面網格202與當前平面網格204均為4×4的網格,歷史平面網格202與當前平面網格204之間存在重疊區(qū)域。第二格子是當前平面網格中處于重疊區(qū)域中的格子,第一格子為歷史平面網格中處于重疊區(qū)域中的格子。當前平面網格中其他格子是指當前平面網格中除第二格子之外的格子。[0038]在一些實施例中,在第二格子僅與一個第一格子相交的情況下,可以將第一格子對應的計數(shù)值,復制為第二格子對應的計數(shù)值。在第二格子與至少兩個第一格子相交的情況下,可以將該兩個第一格子分別對應的計數(shù)值進行統(tǒng)計計算例如均值計算,將計算的結果作為該第二格子對應的計數(shù)值。[0039]在一些實施例中,在歷史平面網格與當前平面網格相交的情況下,將當前平面網格中每個格子對應的計數(shù)值初始設置為預設數(shù)值,例如均設置為0。[0040]本實施例中,正常情況下,機器人行走過程中,會和原有的歷史平面網格具有交集,從而結合歷史平面網格來確定當前平面網格中格子對應的計數(shù)值,可以提升計數(shù)值的準確度和確定計數(shù)值的效率。[0041]在一些實施例中,具身機器人建圖方法還包括:獲取打滑判定參數(shù),根據打滑判定參數(shù)進行打滑判定,得到打滑判定結果;在目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確定為關鍵幀,包括:在打滑判定結果為不打滑且目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確定為關鍵幀。[0042]其中,打滑判定參數(shù)是用于判定機器人當前是否打滑的參數(shù),可以但不限于是里程計中記錄的數(shù)據和IMU(慣性測量單元,InertialMeasurementUnit)中記錄的數(shù)據等。[0043]在一些實施例中,可以根據打滑判定參數(shù)進行打滑判定,得到打滑判定結果,在打滑判定結果為不打滑的情況下,確定機器人當前在當前平面網格中所處的目標格子及目標9格子對應的計數(shù)值,在目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確定為關鍵幀。在打滑判定結果為打滑的情況下,確定當前幀是非關鍵幀。[0044]本實施例中,打滑則可以說明當前定位是不可信的,從而在打滑判定結果為不打滑且目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值的情況下,將當前幀確定為關鍵幀,可以保證關鍵幀的準確性。[0045]在一些實施例中,打滑判定參數(shù)包括里程計估計位移、定位系統(tǒng)對應的第一角度變化量及慣性測量單元對應的第二角度變化量、當前位置的第一定位得分、最近一次未發(fā)生打滑時的第二定位得分中至少一個,根據打滑判定參數(shù)進行打滑判定,得到打滑判定結果,包括:確定里程計估計位移與定位系統(tǒng)估計位移之間的位移差值;基于第一角度變化量和第二角度變化量之間的差值,確定角度變化量差值;確定第一定位得分與第二定位得分之間的得分差值;基于位移差值、角度變化量差值或得分差值中至少一個[0046]其中,里程計估計位移是指里程計估計的機器人當前發(fā)生的位移,定位系統(tǒng)估計位移是基于雷達和/或攝像頭的定位系統(tǒng)估計的位移。[0047]當前位置的定位得分指的是雷達點云定位參數(shù),和/或,視覺圖像定位參數(shù),與當前時刻機器人周圍環(huán)境的環(huán)境數(shù)據(地圖環(huán)境數(shù)據)之間的相似度匹配得分;最近一次未發(fā)生打滑時的定位得分指的是歷史定位結果對應的雷達點云定位參數(shù),和/或,視覺圖像定位參數(shù),與當前時刻機器人周圍環(huán)境的環(huán)境數(shù)據(地圖環(huán)境數(shù)據)之間的相似度匹配得分。[0048]在一些實施例中,若位移差值達到第一閾值,則機器人有可能發(fā)生了打滑。若角度變化量差值達到第二閾值,則機器人有可能發(fā)生了打滑。若得分差值達到第三閾值,則機器人有可能發(fā)生了打滑。其中,第一閾值、第二閾值[0049]在一些實施例中,若位移差值未達到第一閾值、角度變化量差值未達到第二閾值、且得分差值未達到第三閾值,則確定打滑判定結果為未發(fā)生打滑;若位移差值達到第一閾值、角度變化量差值達到第二閾值、得分差值達到第三閾值中任意一個條件成立,則確定打滑判定結果為發(fā)生打滑。[0050]如圖3所示,提供了一種確定關鍵幀的原理圖,其中,“定位是否在直方圖范圍內”是指“機器人當前是否處于當前平面網格之內”,“動態(tài)擴展直方圖”是指生成新的直方圖,“定位是否可信”是指“打滑判定結果是否為未打滑”,“直方圖柵格值是否超過閾值”是指“目標格子對應的計數(shù)值是否大于預設的計數(shù)閾值”。[0051]本實施例中,基于位移差值、角度變化量差值或得分差值中至少一個進行打滑判[0052]在一些實施例中,利用關鍵幀中點云數(shù)據更新機器人的柵格地圖,包括:將點云數(shù)據中數(shù)據點向機器人的柵格地圖映射,以確定點云數(shù)據中的數(shù)據點對應的柵格,得到點云數(shù)據對應的點云柵格集合;將采集關鍵幀時機器人所處位置向柵格地圖映射,以確定機器人對應的機器人柵格;確定點云柵格集合中點云柵格與機器人柵格之間的柵格距離;按照柵格距離對點云柵格集合中點云柵格進行劃分,得到多個點云柵格子集合;針對每個點云柵格子集合,根據點云柵格子集合中點云柵格對應的柵格距離確定點云柵格子集合對應的搜索半徑,搜索半徑與柵格距離成正相關關系;基于點云柵格子集合對應的搜索半徑對點云柵格子集合進行柵格校正,得到更新后的點云柵格子集合;利用更新后的點云柵格子集合更新柵格地圖。[0053]其中,多個點云柵格子集合是指至少兩個點云柵格子集合。數(shù)據點中可以包括坐標,可以通過坐標變化,將數(shù)據點中坐標轉換為柵格地圖中柵格坐標,該柵格坐標代表的柵格即為該數(shù)據點對應的點云柵格,柵格坐標也可以稱為柵格的索引例如上述的(i,j)。機器人柵格是指采集關鍵幀時機器人所處位置在柵格地圖中對應的柵格。[0054]具體地,針對點云柵格集合中點云柵格(例如柵格1),根據點云柵格(例如柵格1)的柵格坐標與機器人柵格的柵格坐標,計算得到點云柵格(例如柵格1)與機器人柵格之間[0055]如圖4所示,黑色圓點代表點云柵格集合中各個點云柵格,4個不同的區(qū)域對應4個不同的點云柵格子集合,中心的圓點代表機器人柵格。可以看出,將點云柵格集合按照柵格距離劃分為了4個不同的點云柵格子集合?!八阉靼霃脚c柵格距離成正相關關系”可以理解為從整體上看搜索半徑與柵格距離成正相關關系,例如,可以將點云柵格子集合中每個點云柵格對應的柵格距離進行均值計算,得到點云柵格子集合對應的平均柵格距離,搜索半徑與平均柵格距離成正相關關系。如圖4中,由于,區(qū)域1對應的柵格距離<區(qū)域2對應的柵格距離<區(qū)域3對應的柵格距離<區(qū)域4對應的柵格距離,故區(qū)域1對應的搜索半徑<區(qū)域2對應的搜索半徑<區(qū)域3對應的搜索半徑<區(qū)域4對應的搜索半徑。[0056]本實施例中,在利用關鍵幀中點云數(shù)據更新機器人的柵格地圖的過程中,采用柵格地圖對點云數(shù)據中數(shù)據點對應的柵格進行補償即糾正,使得柵格地圖的構建更精確。[0057]在一些實施例中,基于點云柵格子集合對應的搜索半徑對點云柵格子集合進行柵格校正,得到更新后的點云柵格子集合,包括:將點云柵格子集合對應的搜索半徑,確定為點云柵格子集合中點云柵格對應的搜索半徑;針對點云柵格子集合中點云柵格,確定從點云柵格到機器人柵格之間的柵格路徑;從柵格路徑中搜索與點云柵格之間的距離小于搜索半徑的占用柵格,占用柵格代表的區(qū)域存在物體;在搜索到占用柵格的情況下,將點云柵格子集合中該點云柵格更新為占用柵格,得到更新后的點云柵格子集合。[0058]其中,以點云柵格為柵格A、機器人柵格為柵格B為例,柵格路徑為從所經過的柵格組成的路徑,柵格A和柵格B為柵格路徑的兩個端點,從而可以稱為端點柵格,柵格路徑中除端點柵格之外的柵格可以稱為中間柵格。物體可以為障礙物。[0059]具體地,如圖5所示,真實點1和真實點2分別為兩個不同點云柵格子集合中點云柵格,圓圈代表機器人,由于真實點1與機器人之間的距離小于真實點2與機器人之間的距離,從而真實點1對應的搜索半徑小于真實點2對應的搜索半徑,真實點1與機器人之間的連線為柵格路徑1,從真實點2與機器人之間的連線也為柵格路徑2,由于柵格路徑1上存在一個占用柵格(即柵格路徑1與黑色障礙物相交的位置,即圖中糾正后的端點),且該占用柵格與真實點1之間的距離小于搜索半徑,從而可以將點云柵格子集合中真實點1變更為該占用柵格。而由于真實點2未搜素到占用柵格,故無需對真實點2進行糾正。[0060]本實施例中,在搜索到占用柵格的情況下,則說明該點云柵格對應的數(shù)據點的定位是不準確的,從而將點云柵格子集合中該點云柵格更新為占用柵格,得到更新后的點云柵格子集合,從而實現(xiàn)了對點云柵格的糾正。[0061]在一些實施例中,利用更新后的點云柵格子集合更新柵格地圖,包括:確定更新后的點云柵格子集合對應的概率增量和概率減量;針對更新后的點云柵格子集合中端點柵11格,利用概率增量在柵格地圖中增大端點柵格的概率值,端點柵格為更新后的點云柵格子集合中點云柵格;利用概率減量在柵格地圖中減小端點柵格與機器人柵格之間的中間柵格的概率值,柵格的概率值用于表征柵格代表的區(qū)域存在物體的概率。[0062]其中,概率增量與點云柵格子集合中點云柵格對應的柵格距離成負相關關系,概率減量與點云柵格子集合中點云柵格對應的柵格距離成負相關關系。例如,圖4中,區(qū)域1對應的概率增量>區(qū)域2對應的概率增量>區(qū)域3對應的概率增量>區(qū)域4對應的概率增量,圖4中,區(qū)域1對應的概率減量>區(qū)域2對應的概率減量>區(qū)域3對應的概率減量>區(qū)域4對應的概率減量。[0063]具體地,點云柵格可以稱為端點柵格,針對更新后的點云柵格子集合中端點柵格,從柵格地圖中確定該端點柵格以及該端點柵格的概率值,將概率增量與端點柵格的概率值相加,得到增大后的概率值,將該端點柵格的概率值變更為該增大后的概率值。[0064]在一些實施例中,對于每個端點柵格,可以確定端點柵格與機器人柵格之間的中間柵格,從柵格地圖中確定該中間柵格的概率值,將中間柵格的概率值減去概率減量,得到減小后的概率值,將柵格地圖中該中間柵格的概率值變更為該減小后的概率值。[0065]本實施例中,在利用關鍵幀中點云數(shù)據更新機器人的柵格地圖的過程中,采用分段概率(分區(qū)域)的方式更新柵格地圖中概率值,并同時使用地圖對點云進行補償,使得柵格地圖的構建更精確。[0066]在一些實施例中,具身機器人建圖方法還包括:在更新柵格地圖之后,對更新后的柵格地圖進行噪點柵格檢測,得到候選噪點柵格集合;對候選噪點柵格集合進行聚類,以從候選噪點柵格集合中確定目標噪點柵格;將目標噪點柵格的概率恢復為初始概率,初始概率表征目標噪點柵格對應的區(qū)域是否存在物體是未知的。[0067]其中,在利用更新柵格地圖之后,可以使用機器學習算法檢測可能屬于噪點的區(qū)域即候選噪點柵格,在可能屬于是噪點的區(qū)域中使用聚類算法尋找屬于噪點的區(qū)域即目標噪點柵格。[0068]具體地,在建圖之前,可以初始化一個柵格地圖,并將柵格地圖中每個柵格對應的概率值設置為初始概率值,初始概率值可以根據需要設置。在建圖過程中,通過在初始概率值的基礎上增大概率值或者減小概率值,可以區(qū)分有障礙物的區(qū)域和無障礙物的區(qū)域。[0069]在一些實施例中,可以將噪點區(qū)域(目標噪點柵格)恢復成原始的柵格概率(即將噪點區(qū)域刪除),恢復成原始較低或者原始較高的柵格概率,然后,保存柵格地圖。其中,原始較低或者原始較高的柵格概率是指初始概率值。[0070]本實施例中,在保存地圖之前,使用機器學習的方法對地圖進行檢查,去除可能屬于噪聲的部分,可以避免噪聲疊加讓地圖變得雜亂。[0071]在一些實施例中,如圖6所示,提供了一種具身機器人系統(tǒng),具身機器人系統(tǒng)可以理解為具身機器人中軟件與硬件的結合體,具身機器人系統(tǒng)包括:平面網格確定模塊602、計數(shù)值確定模塊604、關鍵幀判定模塊606和地圖更新模塊608,其中:[0072]平面網格確定模塊602,用于在機器人處于目標場景中建圖的過程中,確定機器人的當前位置,以當前位置為中心位置生成當前平面網格。[0073]計數(shù)值確定模塊604,用于在機器人當前處于當前平面網格之內的情況下,確定機器人當前在當前平面網格中所處的目標格子及目標格子對應的計數(shù)值,計數(shù)值反映建圖過程中機器人經過目標格子代表的區(qū)域的時長。[0074]關鍵幀判定模塊606,用于在目標格子對應的計數(shù)值小于或等于預設的計數(shù)閾值[0075]地圖更新模塊608,用于利用關鍵幀中點云數(shù)據更新機器人的柵格地圖。[0076]在一些實施例中,計數(shù)值確定模塊604,還用于確定歷史時間生成的歷史平面網格,歷史平面網格是以機器人在歷史時間所處位置為中心位置生成的平面網格;在歷史平面網格與當前平面網格相交的情況下,從當前平面網格中確定與歷史平面網格中至少一個第一格子相交的第二格子;利用至少一個第一格子分別對應的計數(shù)值,設置第二格子對應的計數(shù)值,并將當前平面網格中其他格子對應的計數(shù)值設置為預設數(shù)值;從當前平面網格中確定機器人當前所處的目標格子,并確定目標格子對應的計數(shù)值。[0077]在一些實施例中,關鍵幀判定模塊606,還用于獲取打滑判定參數(shù),根據打滑判定參數(shù)進行打滑判定,得到打滑判定結果;在打滑判定結果為不打滑且目標格子的計數(shù)值小于預設計數(shù)閾值的情況下,將當前幀確定為關鍵幀。[0078]在一些實施例中,打滑判定參數(shù)包括里程計估計位移、定位系統(tǒng)對應的第一角度變化量及慣性測量單元對應的第二角度變化量、當前位置的第一定位得分、最近一次未發(fā)生打滑時的第二定位得分中至少一個,關鍵幀判定模塊606,還用于確定里程計估計位移與定位系統(tǒng)估計位移之間的位移差值;基于第一角度變化量和第二角度變化量之間的差值,確定角度變化量差值;確定第一定位得分與第二定位得分之間的得分差值;基于位移差值、角度變化量差值或得分差值中至少一個進行打滑判定,得到打滑判定結[0079]在一些實施例中,地圖更新模塊608,還用于將點云數(shù)據中數(shù)據點向機器人的柵格地圖映射,以確定點云數(shù)據中的數(shù)據點對應的柵格,得到點云數(shù)據對應的點云柵格集合;將采集關鍵幀時機器人所處位置向柵格地圖映射,以確定機器人對應的機器人柵格;確定點云柵格集合中點云柵格與機器人柵格之間的柵格距離;按照柵格距離對點云柵格集合中點云柵格進行劃分,得到多個點云柵格子集合;針對每個點云柵格子集合,根據點云柵格子集合中點云柵格對應的柵格距離確定點云柵格子集合對應的搜索半徑,搜索半徑與柵格距離成正相關關系;基于點云柵格子集合對應的搜索半徑對點云柵格子集合進行柵格校正,得到更新后的點云柵格子集合;利用更新后的點云柵格子集合更新柵格地圖。[0080]在一些實施例中,地圖更新模塊608,還用于將點云柵格子集合對應的搜索半徑,確定為點云柵格子集合中點云柵格對應的搜索半徑;針對點云柵格子集合中點云柵格,確定從該點云柵格到機器人柵格之間的柵格路徑;從柵格路徑中搜索與該點云柵格之間的距離小于搜索半徑的占用柵格,占用柵格代表的區(qū)域存在物體;在搜索到占用柵格的情況下,將點云柵格子集合中該點云柵格更新為占用柵格,得到更新后的點云柵格子集合。[0081]在一些實施例中,地圖更新模塊608,還用于確定更新后的點云柵格子集合對應的概率增量和概率減量,概率增量與點云柵格子集合中點云柵格對應的柵格距離成負相關關系,概率減量與點云柵格子集合中點云柵格對應的柵格距離成負相關關系;針對更新后的點云柵格子集合中端點柵格,利用概率增量在柵格地圖中增大端點柵格的概率值,端點柵格為更新后的點云柵格子集合中點云柵格;利用概率減量在柵格地圖中減小端點柵格與機器人柵格之間的中間柵格的概率值,柵格的概率值用于表征柵格代表的區(qū)域存在物體的概[0082]在一些實施例中,平面網格確定模塊602,還用于在機器人當前處于當前平面網格之外的情況下,返回確定機器人的當前位置,以當前位置為中心位置生成當前平面網格的步驟。[0083]在一些實施例中,具身機器人還包括噪點處理模塊,噪點處理模塊用于在利用更新后的柵格子集合更新柵格地圖之后,對更新后的柵格地圖進行噪點柵格檢測,得到候選噪點柵格集合;對候選噪點柵格集合進行聚類,以從候選噪點柵格集合中確定目標噪點柵格;將目標噪點柵格的概率恢復為初始概率,初始概率表征目標噪點柵格對應的區(qū)域是否存在物體是未知的。[0084]應該理解的是,雖然如上所述的各實施例所涉及的流程圖中的各個步驟按照箭頭的指示依次顯示,但是這些步驟并不是必然按照箭頭指示的順序依次執(zhí)行。除非本文中有明確的說明,這些步驟的執(zhí)行并沒有嚴格的順序限制,這些步驟可以以其它的順序執(zhí)行。而且,如上所述的各實施例所涉及的流程圖中的至少一部分步驟可以包括多個步驟或者多個階段,這些步驟或者階段并不必然是在同一時刻執(zhí)行完成,而是可以在不同的時刻執(zhí)行,這些步驟或者階段的執(zhí)行順序也不必然是依次進行,而是可以與其它步驟或者其它步驟中的步驟或者階段的至少一部分輪流或者交替地執(zhí)行。[0085]在一些實施例中,提供了一種控制設備,該控制設備為機器人中的用于控制機器人的系統(tǒng),其內部結構圖可以如圖7所示。該控制設備包括處理器、存儲器、輸入/輸出接口 (Input/Output,簡稱I/0)和通信接口。其中,處理器、存儲器和輸入/輸出接口通過系統(tǒng)總線連接,通信接口通過輸入/輸出接口連接到系統(tǒng)總線。其中,該控制設備的處理器用于提供計算和控制能力。該控制設備的存儲器包括非易失性存儲介質和內存儲器。該非易失性存儲介質存儲有操作系統(tǒng)、計算

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論