发明名称 机器人地图构建存储方法
摘要 本发明公开了一种机器人地图构建存储方法,运用电子罗盘、里程计结合GPS来实现机器人定位和坐标计算,在创建地图数据前机器人首先沿着边界线围绕工作区域运行一圈,建立地图边界数据,并推算出地图数据与存储单元地址的映射关系,然后机器人在区域内运行并建立内部地图数据。地图数据的格式为:{X坐标,Y坐标,地图栅格属性},为了便于数据存取,数据按照一定规律映射在存储空间内。
申请公布号 CN104035444B 申请公布日期 2016.08.24
申请号 CN201410305239.X 申请日期 2014.06.27
申请人 东南大学 发明人 王兴松;郑鑫
分类号 G05D1/02(2006.01)I 主分类号 G05D1/02(2006.01)I
代理机构 江苏永衡昭辉律师事务所 32250 代理人 王斌
主权项 一种机器人地图构建存储方法,其特征在于,该方法包括以下步骤:1)将基站坐标设为机器人起始坐标(x<sub>0</sub>,y<sub>0</sub>),并设定机器人从基站出发时,工作区域内x坐标的最大值x<sub>max</sub>的初始值、最小值x<sub>min</sub>的初始值,y坐标的最大值y<sub>max</sub>的初始值、最小值y<sub>min</sub>的初始值分别为x<sub>max</sub>=x<sub>0</sub>,x<sub>min</sub>=x<sub>0</sub>,y<sub>max</sub>=y<sub>0</sub>,y<sub>max</sub>=y<sub>0</sub>;2)然后机器人从基站出发,沿着工作区域的边界线运行一周后返回基站,运行过程中,按照如下方式不断更新x坐标的最大值x<sub>max</sub>、最小值x<sub>min</sub>,y坐标的最大值y<sub>max</sub>、最小值y<sub>min</sub>:在任意i时刻分别对比坐标(x<sub>i</sub>,y<sub>i</sub>)与上一次更新的x<sub>max</sub>、x<sub>min</sub>、y<sub>max</sub>、y<sub>min</sub>的大小关系,若x<sub>i</sub>&lt;x<sub>min</sub>则x<sub>min</sub>=x<sup>i</sup>,否则x<sub>min</sub>的值保持不变,若x<sub>i</sub>&gt;x<sub>max</sub>则x<sub>max</sub>=x<sub>i</sub>,否则x<sub>max</sub>的值保持不变,若y<sub>i</sub>&lt;y<sub>min</sub>则y<sub>min</sub>=y<sub>i</sub>,否则y<sub>min</sub>的值保持不变,若y<sub>i</sub>&gt;y<sub>max</sub>则y<sub>max</sub>=y<sub>i</sub>,否则y<sub>max</sub>的值保持不变,其中,(x<sub>i</sub>,y<sub>i</sub>)为i时刻时机器人的坐标;3)根据机器人沿边界线运行一周后最终更新得到的x<sub>max</sub>、x<sub>min</sub>、y<sub>max</sub>、y<sub>min</sub>,确定表征边界线最大范围的四个坐标点分别为(x<sub>a</sub>,y<sub>max</sub>)、(x<sub>b</sub>,y<sub>min</sub>)、(x<sub>max</sub>,y<sub>a</sub>)、(x<sub>min</sub>,y<sub>b</sub>),其中x<sub>a</sub>为y<sub>max</sub>对应的横坐标、x<sub>b</sub>为y<sub>min</sub>对应的横坐标,y<sub>a</sub>为x<sub>max</sub>对应的横坐标,y<sub>b</sub>为x<sub>min</sub>对应的横坐标;然后根据这四个表征边界线最大范围的坐标计算出工作区域内x坐标最大差值X<sub>max</sub>=x<sub>max</sub>‑x<sub>min</sub>和y坐标最大差值Y<sub>max</sub>=y<sub>max</sub>‑y<sub>min</sub>;同时计算出工作区域的中心坐标(x<sub>c</sub>,y<sub>c</sub>),其中,x<sub>c</sub>=[(x<sub>max</sub>+x<sub>min</sub>)/2],y<sub>c</sub>=[(y<sub>max</sub>+y<sub>min</sub>)/2];4)根据下式计算出表征地图大小的参数n:n=[X/2Δ]+1;其中Δ为正方形地图栅格的边长,X为工作区域最大范围内x坐标最大差值X<sub>max</sub>和y坐标最大差值Y<sub>max</sub>的较大值,即当X<sub>max</sub>≥Y<sub>max</sub>时,X=X<sub>max</sub>,而X<sub>max</sub>&lt;Y<sub>max</sub>时,X=Y<sub>max</sub>;5)根据表征地图大小的参数n实现地图数据与存储单元地址的映射,具体方法为:将所有地图栅格的数据按照{x<sub>i</sub>,y<sub>i</sub>,地图栅格属性}的格式存储在存储单元中,其中每个地图栅格数据占用存储单元空间大小为m字节,地图中心坐标(x<sub>c</sub>,y<sub>c</sub>)存储在存储单元的起始地址,该起始地址在存储单元中与最小地址的偏移量为k,k≥0,其他坐标(x<sub>i</sub>,y<sub>i</sub>)的存储位置根据下式求得的该坐标与最小地址的偏移量来确定:M(2n+1)m+Nm+k;其中,M、N由以下方法确定:L<sub>1</sub>=(x<sub>i</sub>‑x<sub>c</sub>)/Δ,L<sub>2</sub>=(y<sub>i</sub>‑y<sub>c</sub>)/Δ;当L<sub>1</sub>&gt;0时,M=2|L<sub>1</sub>|,当L<sub>1</sub>&lt;0时,M=2|L<sub>1</sub>|‑1;当L<sub>2</sub>&gt;0时,N=2|L<sub>2</sub>|,当L<sub>2</sub>&lt;0时,N=2|L<sub>2</sub>|‑1。
地址 210096 江苏省南京市四牌楼2号