機器人地圖構建存儲方法
【專利摘要】本發明公開了一種機器人地圖構建存儲方法,運用電子羅盤、里程計結合GPS來實現機器人定位和坐標計算,在創建地圖數據前機器人首先沿著邊界線圍繞工作區域運行一圈,建立地圖邊界數據,并推算出地圖數據與存儲單元地址的映射關系,然后機器人在區域內運行并建立內部地圖數據。地圖數據的格式為:{X坐標,Y坐標,地圖柵格屬性},為了便于數據存取,數據按照一定規律映射在存儲空間內。
【專利說明】機器人地圖構建存儲方法
【技術領域】
[0001]本發明屬于機器人【技術領域】,涉及一種構建地圖信息的方法。
【背景技術】
[0002]目前市場上的大多數割草機器人的割草路徑都是隨機的,因此導致割草機除完草后的草坪略顯凌亂,同時割草實現對工作區域的完全遍歷需要花費更多時間,導致效率較低,而非智能式割草機雖然能在人工的操作下割出平整的草坪,但是比較費時費力,因此將自動定位技術與割草機相結合來實現割草機的定向定位,并運用地圖構建技術實現機器人的自主路徑規劃,最終割出平整規則的草坪。
【發明內容】
[0003]技術問題:本發明提供一種實現割草機器人的自動路徑規劃,能夠快速完成地圖數據存儲和讀取,提高地圖構建和使用的效率的機器人地圖構建存儲方法。
[0004]技術方案:本發明的機器人地圖構建與存儲方法,包括以下步驟:
[0005]I)將基站坐標設為機器人起始坐標(? y0),并設定機器人從基站出發時,工作區域內X坐標的最大值Xmax的初始值、最小值Xmin的初始值,y坐標的最大值ymax的初始值、最小值 Yniin 的初始值分別為 χ_ = X。,Xniin = X。,ymax = i0,ymax = y0 ;
[0006]2)然后機器人從基 站出發,沿著工作區域的邊界線運行一周后返回基站,運行過程中,按照如下方式不斷更新X坐標的最大值Xmax、最小值Xmin, I坐標的最大值ymax、最小值ymin:在任意i時刻分別對比坐標(Xi, Yi)與上一次更新的xmax、Xmin、ymax、ymin的大小關系,若Xi < Xmin則xmin = Xi,否則Xmin的值保持不變,若Xi > Xmax則Xniax = Xi,否則χ_的值保持不變,若Yi < ymin則Yniin = yi,否則ymin的值保持不變,若Yi > ymax則ymax = Ii,否則ymax的值保持不變,其中,O^yi)為i時刻時機器人的坐標;
[0007]3)根據機器人沿邊界線運行一周后最終更新得到的xmax、Xfflin, yfflax, yfflin,確定表征邊界線最大范圍的四個坐標點分別為(xa,ymax)、(xb, ymin)、(xmax.ya)、(xmin.yb),其中xa為
對應的橫坐標、xb為ymin對應的橫坐標,ya為Xmax對應的橫坐標,yb為Xmin對應的橫坐標;
[0008]然后根據這四個表征邊界線最大范圍的坐標計算出工作區域內X坐標最大差值Xmax = Xmax_Xmin 和 I 坐標最大差值 Ymax = Ymax-Ymin ;
[0009]同時計算出工作區域的中心坐標(X。,y。),其中,X。=[ (xmax+xmin) 2], yc =
[(Ymax+Ymin) /2];
[0010]4)根據下式計算出表征地圖大小的參數η:n = [Χ/2Δ]+1 ;
[0011]其中Λ為正方形地圖柵格的邊長,X為工作區域最大范圍內X坐標最大差值Xmax和I坐標最大差值Ymax的較大值,即當Xmax≤Yfflax時,X = Xfflax,而Xmax < Yfflax時,X = Yfflax ;
[0012]5)根據表征地圖大小的參數η實現地圖數據與存儲單元地址的映射,具體方法為:將所有地圖柵格的數據按照Ixi, yi,地圖柵格屬性}的格式存儲在存儲單元中,其中每個地圖柵格數據占用存儲單元空間大小為m字節,地圖中心坐標(X。,yc)存儲在存儲單元的起始地址,該起始地址在存儲單元中與最小地址的偏移量為k,k > O,其他坐標(Xi,yi)的存儲位置根據下式求得的該坐標與最小地址的偏移量來確定:
[0013]M(2n+l)m+Nm+k ;
[0014]其中,Μ、N由以下方法確定:
[0015]L1 = (X1-Xc)/ Δ,L2 = (Y1-Yc) / Δ ;
[0016]當L1X)時,M = 2|Lj,當 L^O 時,M = 2 | L11-1 ;
[0017]當L2>0 時,N = 2 I L21 ,當 L2〈0 時,N = 2 | L21 -1。
[0018]本發明方法的優選方案中,步驟5)中的地圖柵格屬性由多種與機器人地圖相關的元素組成,包括用于表征地圖柵格內的環境的屬性和表征機器人是否經過此地圖柵格的屬性。
[0019]本系統的方法能夠 完成機器人地圖的創建與存儲,從而實現機器人的自主定位導航,在創建地圖數據時機器人首先圍繞工作區域運行一圈,根據傳感器計算出的坐標值計算出地圖邊界的數據,并生成地圖數據與存儲單元地址的映射關系,然后機器人在邊界區域內建立內部地圖數據,并更新數據存儲器中的地圖屬性;在地圖坐標建立后,機器人按照地圖運行,機器人通過定位后讀取當前坐標以及相鄰四個坐標的數據,根據前進方向以及相鄰坐標的柵格特性來判斷機器人的下一步動作和運行方向,在機器人工作電壓不足時,機器人自動存儲當前坐標與航向并返回基站充電,完成充電后讀取上次記錄的坐標和航向,并自動規劃最優路徑到達坐標位置,然后繼續工作。本發明方法中,機器人通過定位導航傳感器構建出地圖數據,并將地圖數據與存儲單元地址一一映射,方便大量地圖數據的存儲與讀取。
[0020]有益效果:本發明與現有技術相比,具有以下優點:
[0021]本發明能夠很好地實現地圖數據的構建與存儲,該方法中機器人地圖數據為柵格形式,使用柵格地圖的屬性能夠很好地描述地圖環境,鑒于柵格地圖的數據量較大的原因,在建立地圖時,機器人從基站出發,沿著繞邊界線運行,運行過程中不斷推算當前的坐標,在運行一周后獲取表征地圖大小的四個重要特征坐標點,分別為地圖橫坐標最大和最小的兩個點,以及縱坐標最大和最小的兩個點,然后根據這四個特征坐標點自主生成地圖數據與存儲單元地址映射關系,通過地址映射的建立將地圖數據與存儲單元緊密結合起來,不僅能夠實現地圖數據的快速讀取與存儲,同時采用參數調節的方式可以使該方法在不同的地圖大小下均能適用,使機器人能夠在任何工作環境下運行。
[0022]通過該方法建立地圖數據后,地圖數據具有唯一性,即存儲單元的內容與整個環境地圖坐標一一對應,當機器人運行過程中需要調用地圖時,只需要計算出當前坐標對應于映射圖中的參數即可快速讀取地圖數據,能夠保證機器人對環境地圖有一個很清晰的認知。
【專利附圖】
【附圖說明】
[0023]圖1為柵格地圖示意圖;將地圖用柵格的形式表示,每個格點中的數字代表該柵格內的屬性;
[0024]圖2為沿邊界運行圖;通過該方式確定地圖的大小與參數;
[0025]圖3為存儲單元地址映射圖;表示地圖數據與存儲單元地址的映射關系。【具體實施方式】
[0026]下面對本發明技術方案進行進一步詳細說明。
[0027]本發明方法中,所述的機器人主要是割草機器人,它是一種四輪式機器人,后兩輪為差動輪,能夠實現機器人任意方向的運動,機器人由鋰電池供電,在一定的區域范圍內自主工作,該區域由邊界線人為圈定,可以為任意形狀和大小,邊界線為通電導線,導線內通有特定的邊界信號,該邊界信號由充電基站發出,同時基站能夠給機器人提供充電的來源,當機器人電量不足時會自動沿著邊界線返回基站充電,充滿電后自動出基站工作,機器人通過安裝在機器人內部的感應線圈接收邊界線發出的電磁信號來識別機器人處于邊界線的內部或外部。同時,該機器人還能夠通過霍爾傳感器識別外部障礙物,當機器人被抬起或者遇到障礙物時霍爾傳感器會發出信號,從而實現機器人的環境識別。
[0028]在建立地圖時,機器人能夠運用電子羅盤、里程計、GPS實現自主定位導航,通過電子羅盤測量航向角,然后結合里程計航位推算出機器人的相對坐標,再根據GPS的坐標進行絕對定位和誤差消除,最終得到機器人任意時刻的坐標(xk,yk)。具體推算方法如下:
[0029]割草機器人在運行時可以認為是在一定的二維平面的運行,構建一個局部的平面直角坐標系,設X為局部平面直角坐標系的正東方向,I為局部平面直角坐標系的正北方向。設割草機器人初始時刻h的位置Rtl坐標為(?,%),航向角為Qtl,根據&、時間段內的運行距離以及航向角可以推算出h時刻的坐標位置。
[0030]設Rci和R1之間的距離為Stl,該量由機器人上的里程計測量得出,當足夠小時認為機器人做直線運動,因此可以可以得到R1的坐標為:
[0031]X1 = x0+S0 cos Θ 0
[0032]Y1 = y0+S0 sin θ 0
[0033]根據上式遞推可以得到R2的坐標為:
[0034]x2 = X^S1 cos θ χ = x0+S0 cos Θ ^S1 cos θ χ
[0035]J2 = Y^S1 sin θ χ = y0+S0 sin θ ^S1 sin θ χ
[0036]按照此規律遞推可以推算出任意時刻tk位置Rk的坐標為:
【權利要求】
1.一種機器人地圖構建存儲方法,其特征在于,該方法包括以下步驟: 1)將基站坐標設為機器人起始坐標(X(l,y。),并設定機器人從基站出發時,工作區域內X坐標的最大值Xmax的初始值、最小值Xmin的初始值,I坐標的最大值ymax的初始值、最小值Yrnin 的初始值分別為 Xmax = X。,Xmin = X。,Ymax = Ymax = Υθ ; 2)然后機器人從基站出發,沿著工作區域的邊界線運行一周后返回基站,運行過程中,按照如下方式不斷更新X坐標的最大值Xmax、最小值xmin,y坐標的最大值ymax、最小值ymin: 在任意i時刻分別對比坐標(X^yi)與上一次更新的xmax、xmin、ymax、ymin的大小關系,若Xi < Xmin則xmin = Xi,否則Xmin的值保持不變,若Xi > Xmax則Xniax = Xi,否則χ_的值保持不變,若Yi < ymin則Yniin = yi,否則ymin的值保持不變,若Yi > ymax則ymax = Ii,否則ymax的值保持不變,其中,O^yi)為i時刻時機器人的坐標; 3)根據機器人沿邊界線運行一周后最終更新得到的xmax、xmin、ymax、ymin,確定表征邊界線最大范圍的四個坐標點分別為(xa,ymax)、(xb, ymin)、(xmax, ya)、(xmin, yb),其中xa為y_對應的橫坐標、xb為ymin對應的橫坐標,ya為Xmax對應的橫坐標,yb為Xmin對應的橫坐標; 然后根據這四個表征邊界線最大范圍的坐標計算出工作區域內X坐標最大差值Xmax =Xmax_Xmin 和 I 坐標最大差值 Ymax = Ymax-Ymin ; 同時計算出工作區域的中心坐標(X。,y。),其中,X。= [ (xmax+xmin) 2], y。=[(Ymax+Ymin) 2]; 4)根據下式計算出表征地圖大小的參數η: η = [Χ/2 Δ ]+1 ; 其中Λ為正方形地圖柵格的邊長,X為工作區域最大范圍內X坐標最大差值Xmax和y坐標最大差值Ymax的較大值,即當Xmax≤Yfflax時,X = Xfflax,而Xmax < Yfflax時,X = Yfflax ; 5)根據表征地圖大小的參數η實現地圖數據與存儲單元地址的映射,具體方法為: 將所有地圖柵格的數據按照Ixi,yi,地圖柵格屬性}的格式存儲在存儲單元中,其中每個地圖柵格數據占用存儲單元空間大小為m字節,地圖中心坐標(X。,yc)存儲在存儲單元的起始地址,該起始地址在存儲單元中與最小地址的偏移量為k,k > 0,其他坐標(Xi,yi)的存儲位置根據下式求得的該坐標與最小地址的偏移量來確定:
M(2n+l)m+Nm+k ; 其中,Μ、N由以下方法確定:
L1 = (X1-Xc) / Δ,L2 = (Y1-Yc) / Δ ;
當 L1X)時,M = 2 I L11,當 L^O 時,M = 2 I L11 -1 ;
當 L2>0 時,N = 2|L2|,當 L2〈0 時,N = 2 I L21-1。
2.根據權利要求1所述的機器人地圖構建存儲方法,其特征在于,所述步驟5)中的地圖柵格屬性由多種與機器人地圖相關的元素組成,包括用于表征地圖柵格內的環境的屬性和表征機器人是否經過此地圖柵格的屬性。
【文檔編號】G05D1/02GK104035444SQ201410305239
【公開日】2014年9月10日 申請日期:2014年6月27日 優先權日:2014年6月27日
【發明者】王興松, 鄭鑫 申請人:東南大學