机器人地图构建存储方法

文档序号:6306158阅读:175来源:国知局
机器人地图构建存储方法
【专利摘要】本发明公开了一种机器人地图构建存储方法,运用电子罗盘、里程计结合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日
【发明者】王兴松, 郑鑫 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1