本發(fā)明涉及一種地圖的構(gòu)建方法,尤其是一種機器人導航的地圖的構(gòu)建方法,屬于通信技術(shù)領(lǐng)域。
背景技術(shù):
隨著機器人技術(shù)的發(fā)展,機器人的應用越來越多,而移動機器人因其能夠更靈活地參與到人類生活和工作的空間,受到廣泛關(guān)注。
機器人在空間中自由地移動,也就是機器人自主導航,其實現(xiàn)需要機器人擁有其能夠識別所在空間的地圖,以此為參照,再通過準確的定位和可靠的運動系統(tǒng)來保障其能夠順利地由起始位置駛向目標位置。因此擁有一張機器人能夠識別的地圖,就成了實現(xiàn)機器人自主導航的首要任務。目前這張地圖的獲取主要通過同時定位與地圖構(gòu)建(SLAM)的方法來實現(xiàn),地圖文件的格式為PGM,配套的還有一個YAML格式的地圖描述文件。PGM格式的地圖文件是一種點陣式的圖像文件,YAML格式的地圖描述文件是一種文本文件。
目前同時定位與地圖構(gòu)建的實現(xiàn),通常需要人工輔助機器人在空間中進行探索。這個過程通常進度較慢,尤其是在大空間中,耗時較多,而且容易受到環(huán)境和自身條件的限制和影響,因此應用場景也會受到很多限制。通常使用的傳感器有激光測距儀、超聲測距儀和攝像機。如果使用激光測距儀來進行同時定位與地圖構(gòu)建,會遇到有些透光材質(zhì)如玻璃,所得到的地圖會與實際環(huán)境有很大差別,會忽略掉玻璃等透光材質(zhì)的障礙物。如果使用超聲測距儀來進行同時定位與地圖構(gòu)建,會遇到分辨率的問題,因為超聲發(fā)出后,以某個波束回傳的數(shù)據(jù)來確定這個波束角范圍內(nèi)障礙物,所以波束角的大小決定了對障礙物的分辨程度,常用的超聲測距儀的波束角較大,容易引入較多干擾數(shù)據(jù),而且如果遇到吸音材質(zhì),也會影響構(gòu)建地圖的效果。如果使用攝像機,會受到環(huán)境光照情況的限制,這在實際應用中受環(huán)境約束較大。當然,也可以多種傳感器同時使用,彼此彌補優(yōu)缺點,但這對數(shù)據(jù)融合算法要求較高,也會增加硬件的成本。
實際應用中,即便是硬件條件都滿足的情況下,還是會遇到一些問題。有時會因為輪子打滑或者機械故障等,造成建了一半的地圖出現(xiàn)錯亂,之前的工作全都歸零,要重新開始,這就大大加重了工作量,尤其是在大空間并且環(huán)境條件復雜的情況下,可能需要多次嘗試。還有的情況是地圖出現(xiàn)斷裂,在某個位置出現(xiàn)局部整塊的傾斜,使得整個地圖像是被撕裂了。有時工作空間非常大,構(gòu)建地圖的工作無法當天一次性完成,或者因為電量原因無法繼續(xù)建圖,只能獲得局部的地圖,很難得到一張完整的空間地圖。
在硬件和軟件條件都滿足并且沒有故障的情況下,實際應用時,會有人員或車輛等動態(tài)的障礙物出現(xiàn)在空間中,這就有可能在同時定位與地圖構(gòu)建所得到的地圖中留下障礙物的標記,但這個障礙物是動態(tài)的,只是在構(gòu)建地圖的瞬間在那個位置,而地圖更多的是要標記已存在的固定的障礙物所在的位置,所以這樣的地圖的參考價值就降低了,機器人自主導航時可能會為自己設置一個莫須有的只存在于地圖上的障礙物。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提供一種用于機器人導航的地圖的構(gòu)建方法,使得人能夠提前參與到對機器人導航時可能感知到的空間的預先編輯,增加了機器人導航地圖的來源。
按照本發(fā)明提供的技術(shù)方案,所述用于機器人導航的地圖的構(gòu)建方法,其特征是,包括以下步驟:
(1)從數(shù)據(jù)庫中讀取描述已知環(huán)境中已有的障礙物空間位置的DWG格式的圖紙,對圖紙的信息進行識別,獲得圖形信息;
(2)根據(jù)步驟(1)獲得的圖形信息,按照PGM格式的圖像文件的格式要求重新繪制圖形;
(3)保存步驟(2)得到的PGM圖像文件并生成相應的描述文件。
進一步的,所述步驟(1)中障礙物包括建筑、園區(qū)。
進一步的,所述步(1)中識別的圖形信息包括直線的起止點坐標、圓的圓心坐標和半徑、以及圓弧的圓心坐標、半徑和起止點的弧度。
進一步的,所述步驟(2)中繪制圖形時,對于直線,根據(jù)直線的斜率分類:若直線斜率的絕對值小于1,從起點開始在X軸上以地圖分辨率對應的距離等間隔地對直線進行采樣,根據(jù)直線方程求出采樣點在Y軸上對應的坐標值;若直線斜率的絕對值大于1,從起點開始在Y軸上以地圖分辨率對應的距離等間隔地對直線進行采樣,根據(jù)直線方程求出采樣點在X軸上對應的坐標值。
進一步的,所述步驟(2)中繪制圖形時,對于圓,以圓心為坐標原點的坐標軸將圓分為四個部分,從第二象限的四分之一圓的左端開始在X軸上變間隔地對圓進行采樣,越靠近左端采樣間隔越小,越靠近右端采樣間隔越大,采樣間隔不超過地圖分辨率對應的距離,根據(jù)圓的方程求出采樣點在Y軸上對應的坐標值,再根據(jù)圓的對稱性,得到與采樣點對應的其余四分之三圓上點的坐標。
進一步的,所述步驟(2)中繪制圖形時,對于圓弧,根據(jù)圓心坐標、半徑和起止點的弧度,通過圓的方程計算出起止點的坐標;從起點開始,以地圖分辨率對應距離的弧長等間隔地對圓弧進行采樣,根據(jù)圓心坐標、半徑和起點的弧度,通過圓的方程計算出各采樣點的坐標。
進一步的,所述步驟(3)中描述文件為YAML格式的文本文件。
本發(fā)明具有以下有益效果:本發(fā)明將已有的DWG格式文件對空間精確描述的優(yōu)勢應用到了機器人導航中,使得人能夠提前參與到對機器人導航時可能感知到的空間的預先編輯,從而增加了機器人導航地圖的來源。
附圖說明
圖1為本發(fā)明所述用于機器人導航的地圖的構(gòu)建方法的流程圖。
圖2為對斜率絕對值小于1的直線采樣的示意圖。
圖3為斜率絕對值小于1的直線轉(zhuǎn)換前后的效果對比示意圖。
圖4為對斜率絕對值大于1的直線采樣的示意圖。
圖5為斜率絕對值大于1的直線轉(zhuǎn)換前后的效果對比示意圖。
圖6為對圓進行采樣的示意圖。
圖7為圓轉(zhuǎn)換前后效果的對比圖。
圖8為對圓弧進行采樣的示意圖。
圖9為圓弧轉(zhuǎn)換前后效果的對比圖。
具體實施方式
下面結(jié)合具體附圖對本發(fā)明作進一步說明。
考慮到現(xiàn)有技術(shù)中利用同時定位與地圖構(gòu)建的方法構(gòu)建地圖時遇到的問題,本發(fā)明采用計算機輔助設計的方法來繪制機器人工作空間的地圖,然后再通過軟件將其轉(zhuǎn)換為機器人能夠識別的地圖。這樣就可以直接由人來為機器人設計或繪制工作空間,而不只是單純由機器人自身來構(gòu)建地圖,并且可以避免因為軟硬件限制和故障或者動態(tài)障礙物干擾造成難以獲得工作空間完整地圖的困境。
因為目前一般的建筑或者園區(qū)都有現(xiàn)成的DWG格式的圖紙,所以可以通過參考這些圖紙或者以這些圖紙為基準快速繪制所需要的地圖,這就大大提高了獲取工作空間地圖的效率。計算機輔助設計得到的圖紙格式為DWG,這是一種帶有形狀、相對位置和距離信息的圖紙文件,本發(fā)明的重點就是將DWG格式的圖紙轉(zhuǎn)換為PGM格式的圖像文件。
如圖1所示,本發(fā)明所述用于機器人導航的地圖的構(gòu)建方法,包括以下步驟:
(1)從數(shù)據(jù)庫中讀取建筑或者園區(qū)等已有的DWG格式的圖紙;
使用開源包LibreDWG對DWG文件進行讀取,對文件中的直線、圓和圓弧進行識別,若是直線可獲得起止點坐標,若是圓可獲得圓心坐標和半徑,若是圓弧可獲得圓心坐標、半徑和起止點的弧度;
(2)根據(jù)步驟(1)獲得的圖形信息,按照PGM格式的圖像文件的格式要求重新繪制圖形,具體如下:
a、對于直線,根據(jù)直線的斜率分類:若直線斜率的絕對值小于1,從起點開始在X軸上以地圖分辨率對應的距離等間隔地對直線進行采樣(如圖2所示),根據(jù)直線方程求出采樣點在Y軸上對應的坐標值;若直線斜率的絕對值大于1,從起點開始在Y軸上以地圖分辨率對應的距離等間隔地對直線進行采樣(如圖4所示),根據(jù)直線方程求出采樣點在X軸上對應的坐標值。轉(zhuǎn)換效果如圖3和圖5所示,圖3中左側(cè)為DWG文件,右側(cè)為PGM文件;圖5中左側(cè)為DWG文件,右側(cè)為PGM文件。圖中DWG格式的圖形光滑,PGM格式的圖形粗糙,這是因為轉(zhuǎn)換時引入了很多小格子造成的。
b、對于圓,以圓心為坐標原點的坐標軸將圓分為四個部分,從第二象限的四分之一圓的左端開始在X軸上變間隔地對圓進行采樣(如圖6所示),越靠近左端采樣間隔越小,越靠近右端采樣間隔越大,采樣間隔不超過地圖分辨率對應的距離,根據(jù)圓的方程求出采樣點在Y軸上對應的坐標值,再根據(jù)圓的對稱性,可以得到與采樣點對應的其余四分之三圓上點的坐標。轉(zhuǎn)換效果如圖7所示,左側(cè)為DWG文件,右側(cè)為PGM文件。
c、對于圓弧,根據(jù)圓心坐標、半徑和起止點的弧度,可以通過圓的方程計算出起止點的坐標。從起點開始,以地圖分辨率對應距離的弧長等間隔地對圓弧進行采樣(如圖8所示),根據(jù)圓心坐標、半徑和起點的弧度,可以通過圓的方程計算出各采樣點的坐標。轉(zhuǎn)換效果如圖9所示,左側(cè)為DWG文件,右側(cè)為PGM文件;
(3)保存步驟(2)得到的PGM圖像文件并生成相應的YAML格式的文本文件;
因為機器人導航需要地圖文件的描述文件,因此需要生成與地圖文件相匹配的YAML格式的描述文件。
本發(fā)明通過對描述已知環(huán)境已有的建筑或園區(qū)等障礙物空間位置的DWG格式的圖紙,在地圖構(gòu)建過程中進行人為的預先編輯,增加了機器人導航地圖的有效來源。