用於機器人導航的地圖的構建方法與流程
2023-09-19 04:15:55 1

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