本發(fā)明涉及一種物料區(qū)地圖更新方法、裝置、存儲介質(zhì)及設(shè)備,屬于電子地圖。
背景技術(shù):
1、無人裝載機(jī)是在原有裝載機(jī)上加裝傳感器和控制器實現(xiàn)無人自主操控的工程機(jī)械設(shè)備,可以用于室內(nèi)拌和站等封閉場景,進(jìn)行沙石物料的連續(xù)鏟裝、轉(zhuǎn)運作業(yè)。
2、無人裝載機(jī)在室內(nèi)拌和站內(nèi)作業(yè)時,由于是室內(nèi)封閉場景,衛(wèi)星定位無法使用,可以使用基于先驗點云地圖的定位方式,因此在實時定位前,需要先構(gòu)建拌合站內(nèi)部整體先驗點云地圖。
3、專利cn115269763a公開了一種局部點云地圖更新維護(hù)方法、裝置、移動工具及存儲介質(zhì),在獲取到最新一幀的點云數(shù)據(jù)時,確定出新獲取幀中的每個點云對應(yīng)的第一數(shù)據(jù)信息,根據(jù)第一數(shù)據(jù)信息采用最近最少使用算法對局部點云地圖進(jìn)行更新。
4、專利cn113776544a公開了一種點云地圖更新方法、裝置、電子設(shè)備及定位系統(tǒng),將掃描的激光雷達(dá)點云與預(yù)存的點云地圖進(jìn)行比對,確定激光雷達(dá)點云和點云地圖的差異點,如果該地圖點的觀測概率小于預(yù)設(shè)值,則從點云地圖中刪除該點,實現(xiàn)點云地圖更新。
5、無人裝載機(jī)在料倉內(nèi)鏟裝作業(yè)的過程中,物料量是連續(xù)變化的,物料邊界也是連續(xù)變化的。為了能判定車輛鏟斗和邊界的關(guān)系,防止鏟斗在鏟裝作業(yè)時碰到側(cè)邊墻壁和料倉底部墻壁,需要及時更新物料邊界信息。同時,當(dāng)物料變化時,也需要更新當(dāng)前區(qū)域的先驗地圖,以保證激光雷達(dá)掃描結(jié)果和當(dāng)前先驗點云地圖能夠?qū)崿F(xiàn)準(zhǔn)確匹配,保證定位的準(zhǔn)確性。在鏟裝作業(yè)結(jié)束時,需要再次更新物料邊界信息并上傳到云端,輔助實現(xiàn)物料余量監(jiān)控。
6、現(xiàn)有技術(shù)提供的地圖更新方法沒有涉及拌合站場景的無人裝載機(jī)地圖更新,且對于物料區(qū)的料堆點云識別、作業(yè)邊界及料堆邊界構(gòu)建未涉及?,F(xiàn)有技術(shù)對于篩選物料變化點進(jìn)行點云地圖更新不適用。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的不足,提供一種物料區(qū)地圖更新方法、裝置、存儲介質(zhì)及設(shè)備,能夠在作業(yè)時避免因物料變化導(dǎo)致鏟斗和料倉墻體產(chǎn)生碰撞,能夠在作業(yè)后更新點云地圖和料堆邊界。為達(dá)到上述目的,本發(fā)明是采用下述技術(shù)方案實現(xiàn)的:
2、第一方面,本發(fā)明提供一種物料區(qū)地圖更新方法,包括:
3、獲取作業(yè)前的全局點云地圖、車輛端局部點云數(shù)據(jù)、車輛姿態(tài)數(shù)據(jù)以及作業(yè)前的物料區(qū)點云數(shù)據(jù);
4、基于作業(yè)前的全局點云地圖、車輛端局部點云數(shù)據(jù)和車輛姿態(tài)數(shù)據(jù)進(jìn)行車輛多點位姿計算,得到車輛關(guān)鍵點位姿和車體安全框;基于作業(yè)前的物料區(qū)點云數(shù)據(jù)進(jìn)行料堆識別并確定邊界,得到料堆邊界和作業(yè)邊界;
5、響應(yīng)于車輛關(guān)鍵點處于料堆邊界和作業(yè)邊界形成封閉區(qū)域內(nèi)且車體安全框上任一點與作業(yè)邊界的距離不小于預(yù)設(shè)距離閾值,物料裝載作業(yè)完成;
6、獲取作業(yè)后的全局點云數(shù)據(jù)、車輛端局部點云數(shù)據(jù)以及作業(yè)后物料區(qū)點云數(shù)據(jù);
7、根據(jù)作業(yè)后的全局點云數(shù)據(jù)、車輛端局部點云數(shù)據(jù)以及作業(yè)后物料區(qū)點云數(shù)據(jù)進(jìn)行全局點云地圖更新,得到作業(yè)后的全局點云地圖;根據(jù)作業(yè)后的物料區(qū)點云數(shù)據(jù)進(jìn)行料堆識別并確定邊界,得到作業(yè)后的料堆邊界。
8、結(jié)合第一方面,可選地,所述基于作業(yè)前的全局點云地圖、車輛端局部點云數(shù)據(jù)和車輛姿態(tài)數(shù)據(jù)進(jìn)行車輛多點位姿計算,得到車輛關(guān)鍵點位姿和車體安全框,包括:
9、基于作業(yè)前的全局點云地圖和車輛端局部點云數(shù)據(jù)進(jìn)行地圖匹配定位,得到采集車輛端局部點云數(shù)據(jù)的激光雷達(dá)所在點的全局位姿;
10、基于激光雷達(dá)所在點的全局位姿和車輛姿態(tài)數(shù)據(jù)進(jìn)行車輛多點位姿計算,得到車輛關(guān)鍵點位姿;其中,所述車輛關(guān)鍵點位姿包括后軸中心點、轉(zhuǎn)向點、前軸中心點、鏟斗左角點、鏟斗右角點的位姿;
11、根據(jù)車輛關(guān)鍵點位姿,計算車體安全框;其中,所述車體安全框包括前車體安全框和后車體安全框;
12、所述前車體安全框為以前軸中心點為原點建立車體坐標(biāo)系下的柵格地圖,將柵格地圖四邊坐標(biāo)轉(zhuǎn)換到全局坐標(biāo)系下,形成的坐標(biāo)點集合;
13、所述后車體安全框為以后軸中心點為原點建立車體坐標(biāo)系下的柵格地圖,將柵格地圖四邊坐標(biāo)轉(zhuǎn)換到全局坐標(biāo)系下,形成的坐標(biāo)點集合。
14、結(jié)合第一方面,可選地,所述基于作業(yè)前的物料區(qū)點云數(shù)據(jù)進(jìn)行料堆識別并確定邊界,得到料堆邊界和作業(yè)邊界,所述料堆識別包括:
15、對作業(yè)前的物料區(qū)點云數(shù)據(jù)進(jìn)行數(shù)據(jù)下采樣和鄰域點搜索,得到采樣點和鄰域點;
16、基于垂直特征自注意力機(jī)制對采樣點和鄰域點的垂直特征關(guān)系進(jìn)行學(xué)習(xí),得到垂直方向的特征;基于水平特征自注意力機(jī)制對采樣點和鄰域點的水平特征關(guān)系進(jìn)行學(xué)習(xí),得到水平方向的特征;將垂直方向的特征和水平方向的特征進(jìn)行級聯(lián)得到合并特征矢量;
17、將所述合并特征矢量依次輸入隨機(jī)池化層強(qiáng)化高概率特征、輸入上采樣層進(jìn)行原點映射,得到點云特征;
18、將所述點云特征輸入全連接層進(jìn)行點云特征與標(biāo)記結(jié)果關(guān)系轉(zhuǎn)換,得到料堆點云類別標(biāo)簽為points_l,墻壁點云類別標(biāo)簽為points_q,地面點云類別標(biāo)簽為points_d。
19、結(jié)合第一方面,可選地,所述基于作業(yè)前的物料區(qū)點云數(shù)據(jù)進(jìn)行料堆識別并確定邊界,得到料堆邊界和作業(yè)邊界,所述確定邊界包括:
20、以料倉中心位置為原點,構(gòu)建局部柵格地圖local_grid_map;
21、將標(biāo)簽為points_l的料堆點云和標(biāo)簽為points_q的墻壁點云分別投射到柵格地圖local_grid_map上,同一柵格點內(nèi)累加高度不同但是平面坐標(biāo)相同的點云;
22、以柵格地圖底邊中點柵格坐標(biāo)p_s為起點,按順時針順序依次以柵格地圖左邊、上邊、右邊的端部柵格點作為終點p_e,構(gòu)建多條直線;
23、從p_s到p_e遍歷左邊、上邊或右邊上的所有柵格點,按照和起點p_s點的距離,由近及遠(yuǎn)依次編號{p_0,p_1,p_2…p_n};
24、從{p_0,p_1,p_2…p_n}中確定邊界點,判斷條件為:
25、(a)坐標(biāo)點p_n的柵格占據(jù)值不為0;
26、(b)坐標(biāo)點p_n在0.2m范圍內(nèi),柵格占據(jù)值不為0的點不少于4個,以去除孤立虛假點p_fake;
27、(c)從p_2點開始,p_n-1,p_n-2,p_n-3連續(xù)的三個點是柵格占據(jù)值為0的空白點;
28、在同時滿足以上條件后,從p_0到p_n的占據(jù)柵格值的一階微分變化點為邊界點;
29、對料堆點云進(jìn)行柵格投影,得到的邊界點構(gòu)成料堆邊界;對墻壁點云進(jìn)行柵格投影,得到的邊界點構(gòu)成作業(yè)邊界。
30、結(jié)合第一方面,可選地,所述根據(jù)作業(yè)后的全局點云數(shù)據(jù)、車輛端局部點云數(shù)據(jù)以及作業(yè)后物料區(qū)點云數(shù)據(jù)進(jìn)行全局點云地圖更新,得到作業(yè)后的全局點云地圖,包括:
31、根據(jù)作業(yè)后的全局點云數(shù)據(jù)、車輛端局部點云數(shù)據(jù),構(gòu)建作業(yè)后全局點云數(shù)據(jù)結(jié)構(gòu);
32、根據(jù)作業(yè)后物料區(qū)點云數(shù)據(jù),通過三個平面的柵格地圖投影篩選料堆變化點;其中,所述三個平面的柵格地圖包括xoy柵格地圖、xoz柵格地圖和yoz柵格地圖;
33、將得到的料堆變化點更新到作業(yè)后全局點云數(shù)據(jù)結(jié)構(gòu)中,得到作業(yè)后的全局點云地圖。
34、結(jié)合第一方面,可選地,所述根據(jù)作業(yè)后物料區(qū)點云數(shù)據(jù),通過三個平面的柵格地圖投影篩選料堆變化點,包括:
35、將作業(yè)后物料區(qū)點云數(shù)據(jù)中的點p_n垂直投射到xoy柵格地圖、xoz柵格地圖和yoz柵格地圖上,分別得到點a、b、c;
36、響應(yīng)于作業(yè)前后點a、b、c的柵格投影值變化,點a、b、c為當(dāng)前柵格地圖上的變化點,點屬性為[change];
37、xoy柵格地圖內(nèi)的所有變化點集合為{p_xoy},點a?[x_a_map,y_a_map]為變化點集合{p_xoy}中一點;點a柵格地圖坐標(biāo)為[x_a_grid,y_a_grid],沿著點a指向點p_n方向,所有高程按照從小到大的順序排列[z_0,z_1…z_n];
38、xoz柵格地圖內(nèi)的所有變化點集合為{p_xoz},點b?[x_b_map,y_b_map]為變化點集合{p_xoz}中一點;點b柵格地圖坐標(biāo)為[x_b_grid,y_b_grid],沿著點b指向點p_n方向,所有高程按照從小到大的順序排列[y_0,y_1…y_n];
39、yoz柵格地圖內(nèi)的所有變化點集合為{p_yoz},點c?[x_c_map,y_c_map]為變化點集合{p_yoz}中一點;點c柵格地圖坐標(biāo)為[x_c_grid,y_c_grid],沿著點c指向點p_n方向,所有高程按照從小到大的順序排列[x_0,x_1…x_n];
40、對于點b,令x_b_map?=?x_a_map?=?x1,遍歷,對于(x1,z_i)得到的b點柵格地圖坐標(biāo)[x_b_grid,y_b_grid],搜索[y_0,y_1…y_n]是否有等于y_a_map的值;
41、對于點c,令y_c_map?=?y_a_map?=?y1,遍歷,對于(y1,z_i)得到的c點柵格地圖坐標(biāo)[x_c_grid,y_c_grid],搜索[x_0,x_1…x_n]是否有等于x_a_map的值;
42、如果滿足:[y_0,y_1…y_n]有等于y_a_map的值且[x_0,x_1…x_n]有等于x_a_map的值,則坐標(biāo)(x_a_map,y_a_map,z_i)為料堆變化點,點屬性設(shè)置為[reserve]。
43、結(jié)合第一方面,可選地,所述將得到的料堆變化點更新到作業(yè)后全局點云數(shù)據(jù)結(jié)構(gòu)中,得到作業(yè)后的全局點云地圖,包括:
44、將屬性為[reserve]的點插入作業(yè)后全局點云數(shù)據(jù)結(jié)構(gòu)ikd-tree中;
45、遍歷所有屬性為[reserve]的點,搜索每個[reserve]點周圍屬性為[delete]的最近點;
46、刪除作業(yè)后全局點云數(shù)據(jù)結(jié)構(gòu)ikd-tree中所有被搜索到的屬性為[delete]的最近點,得到作業(yè)后的全局點云地圖。
47、第二方面,本發(fā)明提供一種物料區(qū)地圖更新裝置,包括:
48、獲取模塊:用于獲取作業(yè)前的全局點云地圖、車輛端局部點云數(shù)據(jù)、車輛姿態(tài)數(shù)據(jù)以及作業(yè)前的物料區(qū)點云數(shù)據(jù);以及用于獲取作業(yè)后的全局點云數(shù)據(jù)、車輛端局部點云數(shù)據(jù)以及作業(yè)后物料區(qū)點云數(shù)據(jù);
49、料堆識別與邊界構(gòu)建模塊:用于基于作業(yè)前的全局點云地圖、車輛端局部點云數(shù)據(jù)和車輛姿態(tài)數(shù)據(jù)進(jìn)行車輛多點位姿計算,得到車輛關(guān)鍵點位姿和車體安全框;基于作業(yè)前的物料區(qū)點云數(shù)據(jù)進(jìn)行料堆識別并確定邊界,得到料堆邊界和作業(yè)邊界;
50、邊界關(guān)系判定模塊:用于響應(yīng)于車輛關(guān)鍵點處于料堆邊界和作業(yè)邊界形成封閉區(qū)域內(nèi)且車體安全框上任一點與作業(yè)邊界的距離不小于預(yù)設(shè)距離閾值,物料裝載作業(yè)完成;
51、更新模塊:用于根據(jù)作業(yè)后的全局點云數(shù)據(jù)、車輛端局部點云數(shù)據(jù)以及作業(yè)后物料區(qū)點云數(shù)據(jù)進(jìn)行全局點云地圖更新,得到作業(yè)后的全局點云地圖;根據(jù)作業(yè)后的物料區(qū)點云數(shù)據(jù)進(jìn)行料堆識別并確定邊界,得到作業(yè)后的料堆邊界。
52、第三方面,本發(fā)明提供一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序/指令,該計算機(jī)程序/指令被處理器執(zhí)行時,實現(xiàn)第一方面所述的物料區(qū)地圖更新方法的步驟。
53、第四方面,本發(fā)明提供一種計算機(jī)設(shè)備,其特征在于,包括:
54、存儲器,用于存儲計算機(jī)程序/指令;
55、處理器,用于執(zhí)行所述計算機(jī)程序/指令以實現(xiàn)第一方面所述的物料區(qū)地圖更新方法的步驟。
56、與現(xiàn)有技術(shù)相比,本發(fā)明實施例所提供的一種物料區(qū)地圖更新方法、裝置、存儲介質(zhì)及設(shè)所達(dá)到的有益效果包括:
57、本發(fā)明基于作業(yè)前的全局點云地圖、車輛端局部點云數(shù)據(jù)和車輛姿態(tài)數(shù)據(jù)進(jìn)行車輛多點位姿計算,得到車輛關(guān)鍵點位姿和車體安全框;基于作業(yè)前的物料區(qū)點云數(shù)據(jù)進(jìn)行料堆識別并確定邊界,得到料堆邊界和作業(yè)邊界;響應(yīng)于車輛關(guān)鍵點處于料堆邊界和作業(yè)邊界形成封閉區(qū)域內(nèi)且車體安全框上任一點與作業(yè)邊界的距離不小于預(yù)設(shè)距離閾值,物料裝載作業(yè)完成;本發(fā)明在作業(yè)時先將作業(yè)前的全局點云地圖、車輛端局部點云數(shù)據(jù)進(jìn)行匹配,保證定位的準(zhǔn)確性;本發(fā)明能夠在作業(yè)時,明確作業(yè)邊界,避免因物料變化導(dǎo)致鏟斗和料倉墻體產(chǎn)生碰撞;
58、本發(fā)明根據(jù)作業(yè)后的全局點云數(shù)據(jù)、車輛端局部點云數(shù)據(jù)以及作業(yè)后物料區(qū)點云數(shù)據(jù)進(jìn)行全局點云地圖更新,得到作業(yè)后的全局點云地圖;根據(jù)作業(yè)后的物料區(qū)點云數(shù)據(jù)進(jìn)行料堆識別并確定邊界,得到作業(yè)后的料堆邊界;本發(fā)明能夠在作業(yè)后更新點云地圖和料堆邊界;通過及時更新點云地圖,保證激光雷達(dá)點云和先驗點云地圖能夠繼續(xù)準(zhǔn)確匹配,保證定位的準(zhǔn)確性。