一种构建栅格地图的控制方法和芯片及机器人与流程

文档序号:15252835发布日期:2018-08-24 20:08阅读:208来源:国知局

本发明涉及电子信息和智能控制技术领域,具体涉及一种构建栅格地图的控制方法和芯片及机器人。



背景技术:

目前大多数扫地机器人都是使用栅格法进行建图的,然后再更新栅格地图状态。栅格法是使用大小相同的栅格划分机器人的工作空间,并用栅格数组来表示环境,每个栅格要么处于自由空间中,要么在障碍物空间中。这种方法的优点是简单,易于实现,具有表示不规则障碍物的能力,从而为路径规划的实现带来了很多方便;缺点是表示效率不高,存在着时空开销与精度之间的矛盾。

机器人以遍历的方式创建栅格地图,机器人的出发点一般定位于栅格地图的中心点,栅格地图范围大小固定,假如机器人一直朝一个方向清扫,则地图很容易超过边界。比如机器人出发点位置的右边靠墙,左边的可清扫区域的范围比较大,那么机器人朝出发点位置的左边方向运动会导致其实际使用的地图超过边界,而出发点位置的右边方向的地图却空着没有使用,所以静态建立好的栅格地图中有一些空间被闲置而没有利用到,导致清扫面积受限。现有公布号为cn106873601a的中国专利为解决上述问题,根据实际使用地图超过边界的情况,实时平移整个栅格地图,但在地图超过边界时需要开辟内存来缓冲已经越界的栅格地图数据,待地图平移后将缓冲数据写入地图中,这一过程使得算法流程复杂,并使得硬件系统的负载加大。



技术实现要素:

本发明提供了一种构建栅格地图的控制方法,机器人的当前位置达到栅格地图边界的预设范围时,根据实际使用栅格地图的情况,对已标记栅格的坐标进行偏移。本发明的具体技术方案如下:

一种构建栅格地图的控制方法,包括如下步骤:

步骤s1:当机器人当前位置达到栅格地图边界的预设范围时,进入步骤s2,否则跳出步骤s1;

步骤s2:判断已标记栅格的坐标预偏移结果是否超过所述栅格地图边界,是则计算出坐标实际变化量,并进入步骤s3,否则跳出步骤s2;

步骤s3:根据坐标实际变化量对已标记栅格的坐标进行偏移,所述已标记栅格保持偏移前的状态信息不变。

进一步地,所述控制方法的的步骤s1的具体方法包括:

步骤s11:在所述栅格地图的x-y平面直角坐标系的第一象限内绘制机器人工作区域的边界,并记录机器人的当前位置对应的栅格坐标,并进入步骤s12;

步骤s12:判断是否,是则确定机器人的当前位置达到所述栅格地图第一边界的预设范围,并进入步骤s2;否则进入步骤s13;

步骤s13:判断是否,是则确定机器人的当前位置达到所述栅格地图第二边界的预设范围,并进入步骤s2,否则进入步骤s14;

步骤s14:判断是否,是则确定机器人的当前位置达到所述栅格地图第三边界的预设范围,并进入步骤s2,否则进入步骤s15;

步骤s15:判断是否,是则确定机器人的当前位置达到所述栅格地图第四边界的预设范围,并进入步骤s2,否则跳出步骤s1;

其中,所述栅格地图的坐标取值范围是,第一边界是直线x=0,第二边界是直线x=xn,第三边界是直线y=0,第四边界是直线y=yn,xc是机器人的当前位置对应栅格的横坐标,yc是机器人的当前位置对应栅格的纵坐标;m表示为所述栅格地图边界的预设范围内的坐标变化量;abs表示取机器人当前位置与所述栅格地图边界的距离的绝对值。

进一步地,所述控制方法的步骤s2的具体方法包括:

步骤s21:时,判断是否,是则所述已标记栅格的横坐标加上xn-maxx,并进入步骤s3,否则加上n,并进入步骤s3;

步骤s22:时,判断是否,是则所述已标记栅格的横坐标减去minx,并进入步骤s3,否则减去n,并进入步骤s3;

步骤s23:时,判断是否,是则所述已标记栅格的纵坐标加上yn-maxy,并进入步骤s3,否则加上n,并进入步骤s3;

步骤s24:时,判断是否,是则所述已标记栅格的纵坐标减去miny,并进入步骤s3,否则减去n,并进入步骤s3;

其中maxx是机器人在x轴方向上已标记栅格的最大横坐标,minx是机器人在x轴方向上已标记栅格的最小横坐标,maxy是机器人在y轴方向上已标记栅格的最大纵坐标,miny是机器人在y轴方向上已标记栅格的最小纵坐标,n表示所述栅格地图中已标记栅格的坐标在x轴或y轴方向上的参考变化量。

进一步地,所述控制方法的步骤s3的具体方法包括:

时,如果所述已标记栅格的横坐标加上xn-maxx,则所述已标记栅格的坐标往x轴正方向偏移xn-maxx个栅格,所述已标记栅格保持偏移前的状态信息不变;如果所述已标记栅格的横坐标加上n,则所述已标记栅格的坐标往x轴正方向偏移n个栅格,所述已标记栅格保持偏移前的状态信息不变;

时,如果所述已标记栅格的横坐标减去minx,则所述已标记栅格的坐标往x轴负方向偏移minx个栅格,所述已标记栅格保持偏移前的状态信息不变;如果所述已标记栅格的横坐标减去n,则所述已标记栅格的坐标往x轴负方向偏移n个栅格,所述已标记栅格保持偏移前的状态信息不变;

时,如果所述已标记栅格的纵坐标加上yn-maxy,则所述已标记栅格的坐标往y轴正方向偏移yn-maxy个栅格,所述已标记栅格保持偏移前的状态信息不变;如果所述已标记栅格的纵坐标加上n,则所述已标记栅格的坐标往y轴正方向偏移n个栅格,所述已标记栅格保持偏移前的状态信息不变;

时,如果所述已标记栅格的纵坐标减去miny,则所述已标记栅格的坐标往y轴负方向偏移miny个栅格,所述已标记栅格保持偏移前的状态信息不变;如果所述已标记栅格的纵坐标减去n,则所述已标记栅格的坐标往y轴负方向偏移n个栅格,所述已标记栅格保持偏移前的状态信息不变。

进一步地,所述已标记栅格的状态信息是机器人根据实际环境对栅格地图进行标记得到的,包括了机器人正常通过、机器人遇到障碍物和机器人进行沿边行为。

进一步地,所述坐标变化量m的数值设置为2。

进一步地,所述已标记栅格的坐标发生偏移过程中,机器人静止不动;所述已标记栅格的坐标偏移后,机器人当前位置对应的栅格坐标不在栅格地图边界的预设范围内。

进一步地,在所述栅格地图的x-y平面直角坐标系上,机器人出发点对应的栅格坐标为(xn/2,yn/2)。

一种芯片,用于存储程序,所述程序用于控制机器人执行上述的一种构建栅格地图的控制方法。

一种机器人,包括控制芯片,所述控制芯片为上述的芯片。

本发明的有益效果在于:本发明提供的一种构建栅格地图的控制方法,根据机器人当前位置达到栅格地图边界预设范围的情况,将栅格地图上已标记栅格进行偏移,在不超过所述栅格地图边界的前提下,利用栅格地图中剩余的空白栅格,扩大机器人在栅格地图中可利用的坐标区域,使得机器人在各种地形环境下充分利用栅格地图运动,有效地提高栅格地图利用率,相对于现有技术,算法步骤更为简洁,在系统内存较小的情况下,栅格地图的使用更加合理。

附图说明

图1为本发明一种构建栅格地图的控制方法流程图;

图2为机器人达到所述栅格地图的边界线x=0的预设范围时,栅格地图中已标记栅格的坐标路径示意图;

图3为附图2中已标记栅格的坐标向x轴正方向偏移xn-maxx个栅格后的已标记栅格的坐标路径示意图;

图4为附图2中已标记栅格的坐标向x轴正方向偏移n个栅格后的已标记栅格的坐标路径示意图;

图5为机器人达到所述栅格地图的边界线x=xn的预设范围时,栅格地图中已标记栅格的坐标路径示意图;

图6为附图5中已标记栅格的坐标向x轴负方向偏移minx个栅格后的已标记栅格的坐标路径示意图;

图7为附图5中已标记栅格的坐标向x轴负方向偏移n个栅格后的已标记栅格的坐标路径示意图;

图8为栅格地图坐标动态偏移前后标记栅格的变化示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。应当理解,下面所描述的具体实施例仅用于解释本发明,并不用于限定本发明。

本发明所述机器人为扫地机器人,通过距离信息传感器所获取的距离信息、角度信息传感器所获得的角度信息、碰撞检测传感器获取的碰撞信息及障碍物检测传感器获取的障碍信息来构建栅格地图,借助于该地图,可以方便地进行自定位和路径规划。本实施采用栅格化处理的地图。

机器人在运行时可以认为是在一个二维平面的运行,在机器人工作区域内任取一点,记该点为原点(0,0),任取一经过原点(0,0)的直线,以该直线为y轴,以与y轴垂直并相交于原点(0,0)的直线为x轴,建立x-y平面直角坐标系。

本发明所述机器人以弓字型行走,用于清扫空旷区域。在清扫过程会根据实际环境对栅格地图进行标记,比如栅格被标记成黑色表示扫地机器人未使用此栅格,绿色代表样机正常通过的点,红色与蓝色代表障碍物点,白色的点代表此点进行过沿边行为。

针对所述栅格地图的利用率问题,提出了一种构建栅格地图的控制方法,具体步骤包括,步骤s1:当机器人当前位置对应的栅格坐标已经达到栅格地图边界的预设范围时,进入步骤s2,否则跳出步骤s1;步骤s2:判断已标记栅格的坐标偏移结果是否超过所述栅格地图边界的坐标,是则计算出坐标实际变化量,并进入步骤s3,否则跳出步骤s2;步骤s3:根据坐标实际变化量对已标记栅格的坐标进行偏移,所述已标记栅格保持偏移前的状态信息不变。

作为其中一种实施方式,所述控制方法的步骤s1的具体方法包括,步骤s11:在x-y平面直角坐标系的第一象限内绘制机器人的工作区域边界线,其坐标取值范围是,即x轴坐标点(xn,0)所在的垂直x轴的直线x=xn、x轴坐标点(0,0)所在的垂直x轴的直线x=0、y轴坐标点(0,yn)所在的垂直y轴的直线y=yn和y轴坐标点(0,0)所在的垂直y轴的直线y=0作为栅格地图的边界,直线x=0可定义为第一边界,直线x=xn可定义为第二边界,直线y=0可定义为第三边界,直线y=yn可定义为第四边界,整个栅格地图由所述四条边界围成的区域组成;步骤s12:判断是否,即判断机器人的当前位置与所述栅格地图边界x=0的距离是否小于m,是则确定机器人的当前位置对应的栅格坐标达到所述栅格地图第一边界的预设范围,并进入步骤s2,否则进入步骤s13;步骤s13:判断是否,即判断机器人的当前位置与所述栅格地图边界x=xn的距离是否小于m,是则确定机器人的当前位置对应的栅格坐标达到所述栅格地图第二边界的预设范围,并进入步骤s2,否则进入步骤s14;步骤s14:判断是否,即判断机器人的当前位置与所述栅格地图边界y=0的距离是否小于m,是则确定机器人的当前位置对应的栅格坐标达到所述栅格地图第三边界的预设范围,并进入步骤s2,否则进入步骤s15;步骤s15:判断是否,即判断机器人的当前位置与所述栅格地图边界y=yn的距离是否小于m,是则确定机器人的当前位置对应的栅格坐标达到所述栅格地图第四边界的预设范围,并进入步骤s2,否则返回步骤s11。所述函数abs表示取机器人当前位置与所述栅格地图边界的距离的绝对值。

作为其中一种实施方式,m表示所述栅格地图边界的预设范围内的坐标变化量,所述坐标变化量m的数值设置为2,使得所述栅格地图边界的预设范围取值适中,有利于本发明所述机器人检测地图边界。

机器人在运动的时候会获取一个实时的位置参数(x,y),并进行标记,在这过程中,机器人在x轴方向上已标记栅格的最大横坐标记为maxx,已标记栅格的最小横坐标记为minx;机器人在y轴方向上已标记栅格的最大纵坐标记为maxy,已标记栅格的最小纵坐标记为miny。

作为其中一种实施方式,附图2至附图7中,将所述栅格地图中已标记栅格的坐标在x轴方向上偏移,至于y轴方向上已标记栅格的坐标偏移情况同x轴方向上已标记栅格的坐标偏移情况类似,故不再附图说明。abs表示取机器人当前位置对应栅格的坐标到所述栅格地图边界的距离的绝对值。由所述控制方法的步骤s2可知,机器人达到所述地图边界的预设范围时,已标记栅格的坐标预偏移结果是否大于所述栅格地图边界的坐标的具体判断方法如下:

在附图2、附图3和附图4中,带箭头的弓字形虚线是机器人已标记栅格的坐标路径,其中附图3和附图4中已标记栅格的坐标路径是由附图2中已标记栅格的坐标路径偏移过来的。如附图2所示,,机器人的当前位置对应的栅格坐标(xc,yc)达到所述栅格地图的边界x=0的预设范围,判断是否,是则表示所述栅格地图中已标记栅格的最大横坐标加上所述参考变化量n进行预偏移,其结果大于所述栅格地图的边界x=xn的横坐标,这超出所述栅格地图的覆盖范围,故将附图2中已标记栅格的横坐标加上偏移量xn-maxx,使得附图2中已标记栅格的坐标路径偏移得到附图3中已标记栅格的坐标路径,其中附图2的已标记栅格的最大横坐标maxx加上偏移量xn-maxx等于附图3中所述栅格地图的边界x=xn的横坐标,机器人出发点对应的栅格坐标由附图2的o(xn/2,yn/2)变为附图3的o1(xn/2+xn-maxx,yn/2),机器人当前位置对应的栅格坐标由附图2的(xc,yc)变为附图3的(xc+xn-maxx,yc);否则,将附图2所述栅格地图中已标记栅格的横坐标加上所述参考变化量n,使得附图2中已标记栅格的坐标路径偏移得到附图4中已标记栅格的坐标路径,其中附图4中已标记栅格的最大横坐标是maxx+n,机器人出发点对应的栅格坐标由附图2的o(xn/2,yn/2)变为附图4的o1(xn/2+n,yn/2),机器人当前位置对应的栅格坐标由附图2的(xc,yc)变为附图4的(xc+n,yc)。所述栅格地图完成坐标偏移过程中,已标记栅格的横坐标都加上相应的坐标偏移量,其纵坐标不变。此时,附图3中机器人当前位置对应的栅格坐标(xc+xn-maxx,yc)和附图4中机器人当前位置对应的栅格坐标(xc+n,yc)都不在对应附图中所述栅格地图边界x=0的预设范围内,机器人实际使用地图相对于所述栅格地图向x轴负方向偏移,其在x轴负方向上可利用的空白栅格增加。如果机器人的当前位置对应的栅格坐标(xc,yc)达到所述栅格地图的边界x=0的预设范围,且所述栅格地图中已标记栅格的最大横坐标等于所述栅格地图的边界x=xn的横坐标,则所述参考变化量n等于0,所述栅格地图不发生偏移,实际使用的地图长或宽真正达到了整个栅格地图的极限。

在附图5、附图6和附图7中,带箭头的弓字形虚线是机器人已标记栅格的坐标路径,其中附图6和附图7中的已标记栅格的坐标路径是由附图5偏移过来的。如附图5所示,当时,机器人的当前位置对应的栅格坐标(xc,yc)达到所述栅格地图的边界线x=xn预设范围,判断是否,是则所述栅格地图中已标记栅格的最小横坐标minx减去所述参考变化量n进行预偏移,其结果小于所述栅格地图的边界线x=0的横坐标,这超出所述栅格地图的覆盖范围,故将附图5中已标记栅格的横坐标减去偏移量minx,使得附图5中已标记栅格的坐标路径偏移得到附图6中已标记栅格的坐标路径,其中附图5中已标记栅格的最小横坐标minx减去偏移量minx等于附图6中所述栅格地图的边界x=0的横坐标,机器人出发点对应的栅格坐标由附图5的o(xn/2,yn/2)变为附图6的o1(xn/2-minx,yn/2),机器人当前位置对应的栅格坐标由附图5的(xc,yc)变为附图6的(xc-minx,yc);否则,将附图5所述栅格地图中已标记栅格的横坐标减去所述参考变化量n,使得附图5中已标记栅格的坐标路径偏移得到附图7中已标记栅格的坐标路径,其中附图7中已标记栅格的最小横坐标是minx-n,机器人出发点对应的栅格坐标由附图5的o(xn/2,yn/2)变为附图7的o1(xn/2-n,yn/2),机器人当前位置对应的栅格坐标由附图5的(xc,yc)变为附图7的(xc-n,yc)。所述栅格地图完成坐标偏移过程中,已标记栅格的横坐标都减去相应的坐标变化量,其纵坐标不变。附图6中机器人当前位置对应的栅格坐标(xc-minx,yc)和附图7中机器人当前位置对应的栅格坐标(xc-n,yc)都不在对应附图中所述栅格地图边界x=xn的预设范围内,机器人实际使用地图相对于所述栅格地图向x轴正方向偏移,其在x轴正方向上可利用的空白栅格增加。如果机器人的当前位置对应的栅格坐标(xc,yc)达到所述栅格地图的边界x=xn的预设范围,且所述栅格地图中已标记栅格的最小横坐标等于所述栅格地图的边界x=0的横坐标,所述参考变化量n等于0,所述栅格地图不发生偏移,实际使用的地图长或宽真正达到了整个栅格地图的极限。

,机器人的当前位置对应的栅格坐标(xc,yc)达到所述栅格地图的边界线y=0的预设范围,判断是否,是则表示所述栅格地图中已标记栅格的最大纵坐标加上所述参考变化量n进行预偏移,其结果大于所述栅格地图的边界线y=yn的纵坐标,这超出所述栅格地图的覆盖范围,故需将所述栅格地图中已标记栅格的坐标的最大纵坐标maxy加上偏移量yn-maxy,其结果等于所述栅格地图的边界线y=yn的纵坐标,机器人出发点对应的栅格坐标由(xn/2,yn/2)变为(xn/2,yn/2+yn-maxy),机器人当前位置对应的栅格坐标由(xc,yc)变为(xc,yc+yn-maxy);否则,把所述栅格地图中已标记栅格的纵坐标加上所述参考变化量n,机器人出发点对应的栅格坐标由(xn/2,yn/2)变为(xn/2,yn/2+n),机器人当前位置对应的栅格坐标由(xc,yc)变为(xc,yc+n)。所述栅格地图完成坐标偏移过程中,已标记栅格的横坐标不变,其纵坐标都加上相应的坐标偏移量。此时,机器人当前位置对应的栅格坐标不在所述栅格地图边界y=0的预设范围内,机器人实际使用地图相对于所述栅格地图向y轴负方向偏移,其在y轴负方向上可利用的空白栅格增加。如果机器人的当前位置对应的栅格坐标(xc,yc)达到所述栅格地图的边界y=0的预设范围,且所述栅格地图中已标记栅格的最大纵坐标等于所述栅格地图的边界y=yn的纵坐标,则所述参考变化量n等于0,所述栅格地图不发生偏移,实际使用的地图长或宽真正达到了整个栅格地图的极限。

时,机器人的当前位置对应的栅格坐标(xc,yc)达到所述栅格地图的边界线y=yn预设范围,判断是否,是则所述栅格地图中已标记栅格的最小纵坐标miny减去所述参考变化量n进行预偏移,其结果小于所述栅格地图的边界线y=0的纵坐标,这超出所述栅格地图的覆盖范围,故需将所述栅格地图中已标记栅格的坐标的最小纵坐标miny减去偏移量miny,其结果等于所述栅格地图的边界线y=0的纵坐标,机器人出发点对应的栅格坐标由o(xn/2,yn/2)变为o1(xn/2,yn/2-minx),机器人当前位置对应的栅格坐标由(xc,yc)变为(xc,yc-minx);否则,把所述栅格地图中已标记栅格的纵坐标减去所述参考变化量n,机器人出发点对应的栅格坐标由(xn/2,yn/2)变为(xn/2,yn/2-n),机器人当前位置对应的栅格坐标由(xc,yc)变为(xc,yc-n)。所述栅格地图完成坐标偏移过程中,已标记栅格的纵坐标都减去相应的坐标偏移量,其横坐标不变。此时,机器人当前位置对应的栅格坐标不在所述栅格地图边界y=yn的预设范围内,机器人实际使用地图相对于所述栅格地图向y轴正方向偏移,其在y轴正方向上可利用的空白栅格增加。如果机器人的当前位置对应的栅格坐标(xc,yc)达到所述栅格地图的边界y=yn的预设范围,且所述栅格地图中已标记栅格的最小纵坐标等于所述栅格地图的边界y=0的纵坐标,则所述参考变化量n等于0,所述栅格地图不发生偏移,实际使用的地图长或宽真正达到了整个栅格地图的极限。

由所述控制方法的步骤s3可知,根据坐标实际变化量对已标记栅格的坐标进行偏移,所述已标记栅格保持偏移前的状态信息不变。如附图2至附图7所示,由于y轴方向上已标记栅格的坐标偏移情况同x轴方向上已标记栅格的坐标偏移情况类似,故只对x轴方向上的坐标偏移情况附图说明。abs表示取机器人当前位置对应栅格的坐标到所述栅格地图边界的距离的绝对值。具体的步骤如下:

结合附图1和附图2可知,当,机器人的当前位置对应的栅格坐标达到所述栅格地图的边界x=0的预设范围,在附图3中所述已标记栅格的横坐标加上偏移量xn-maxx,表示所述已标记栅格往x轴正方向偏移xn-maxx个栅格,使得已标记栅格的最大横坐标的点偏移到所述栅格地图的边界线x=xn处,所述已标记栅格保持偏移前的状态信息不变;在附图4中,所述已标记栅格的横坐标加上所述参考变化量n,表示所述已标记栅格往x轴正方向偏移n个栅格,所述已标记栅格保持偏移前的状态信息不变。假设已标记栅格的最大横坐标maxx为10,所述栅格地图的边界x=xn的横坐标为12,当x<0的区域中存在实际环境边界x=-5,与所述栅格地图边界x=0相差5个栅格,则maxx+5>xn,为了避免所述栅格地图偏移超过边界x=12,所述栅格地图中已标记栅格在x轴方向上的偏移量为xn-maxx,使得所述栅格地图的覆盖范围从边界x=0开始往x轴负方向偏移2个栅格,不到达实际环境边界x=-5,而已标记栅格的最大横坐标10加上偏移量2等于所述栅格地图的边界x=xn的横坐标12。当所述实际环境边界x=-1与所述栅格地图边界x=0相差1个栅格时,则maxx+1≤xn,所述栅格地图中已标记栅格在x轴方向上的偏移量为1,使得所述栅格地图的覆盖范围从边界x=0开始往x轴负方向偏移1个栅格,机器人实际使用地图的边界与所述实际环境边界x=-1重合,所述栅格地图偏移完成,机器人继续运动,机器人当前位置达到地图边界的预设范围时会停止。

结合附图1和附图5可知,当时,机器人的当前位置对应的栅格坐标(xc,yc)达到所述栅格地图的边界线x=xn的预设范围,在附图6中所述已标记栅格的横坐标减去偏移量minx,表示所述已标记栅格往x轴负方向偏移minx个栅格,使得已标记栅格的最小横坐标的点偏移到所述栅格地图的边界线x=0处,所述已标记栅格保持偏移前的状态信息不变;在附图7中所述已标记栅格的横坐标减去所述参考变化量n,表示已标记栅格往x轴负方向偏移n个栅格,所述已标记栅格保持偏移前的状态信息不变。假设已标记栅格的最小横坐标minx=2,所述栅格地图的边界x=xn的横坐标为12,当x>12的区域中存在实际环境边界x=17,与所述栅格地图边界x=12相差5个栅格,则minx-5<0,为了避免所述栅格地图偏移超过边界x=0,所述栅格地图中已标记栅格在x轴方向上的偏移量为minx,使得所述栅格地图的覆盖范围从边界x=12开始往x轴正方向偏移2个栅格,不到达实际环境边界x=17,而已标记栅格的最小横坐标2减去偏移量2等于所述栅格地图的边界x=0的横坐标。当所述实际环境边界x=13与所述栅格地图边界x=12相差1个栅格时,则0,所述栅格地图中已标记栅格在x轴方向上的偏移量为1,使得所述栅格地图的覆盖范围从边界x=12开始往x轴正方向偏移1个栅格,机器人实际使用地图的边界与所述实际环境边界x=13重合,所述栅格地图偏移完成,机器人继续运动,机器人当前位置达到地图边界的预设范围时会停止。

,机器人的当前位置对应的栅格坐标达到所述栅格地图的边界线y=0的预设范围时,所述已标记栅格的纵坐标加上偏移量yn-maxy,表示所述已标记栅格往y轴正方向偏移yn-maxy个栅格,使得已标记栅格的最大纵坐标的点偏移到所述栅格地图的边界线y=yn处,所述已标记栅格保持偏移前的状态信息不变;所述已标记栅格的纵坐标加上所述参考变化量n,表示所述已标记栅格往y轴正方向偏移n个栅格,所述已标记栅格保持偏移前的状态信息不变。假设已标记栅格的最大纵坐标maxy=10,所述栅格地图的边界y=yn的纵坐标为12。当y<0的区域中存在实际环境边界y=-5,与所述栅格地图边界y=0相差5个栅格,则maxy+5>yn,为了避免所述栅格地图偏移超过边界y=12,所述栅格地图中已标记栅格在y轴方向上的偏移量为yn-maxy,使得所述栅格地图的覆盖范围从边界y=0开始往y轴负方向偏移2个栅格,不会到达实际环境边界y=-5,而已标记栅格的最大纵坐标10加上偏移量2等于所述栅格地图的边界y=yn的纵坐标12。当所述实际环境边界y=-1与所述栅格地图边界y=0相差1个栅格时,则maxy+1≤yn,所述栅格地图中已标记栅格在y轴方向上的偏移量为1,使得所述栅格地图的覆盖范围从边界y=0开始往y轴负方向偏移1个栅格,机器人实际使用地图的边界与所述实际环境边界y=-1重合,所述栅格地图偏移完成,机器人继续运动,机器人当前位置达到地图边界的预设范围时会停止。

时,机器人当前位置对应的栅格坐标达到所述栅格地图的边界线y=yn的预设范围时,所述已标记栅格的纵坐标减去偏移量miny,表示所述已标记栅格往y轴负方向偏移miny个栅格,使得已标记栅格的最小纵坐标的点偏移到所述栅格地图的边界线y=0处,所述已标记栅格保持偏移前的状态信息不变;所述已标记栅格的纵坐标减去所述参考变化量n,表示所述已标记栅格往y轴负方向偏移n个栅格,所述已标记栅格保持偏移前的状态信息不变。假设已标记栅格的最小纵坐标miny=2,所述栅格地图的边界y=yn的纵坐标为12。当y>12的区域中存在实际环境边界y=17,与所述栅格地图边界y=12相差5个栅格,则miny-5<0,为了避免所述栅格地图偏移超过边界y=0,所述栅格地图中已标记栅格在y轴方向上的偏移量为miny,使得所述栅格地图的覆盖范围从边界y=12开始往y轴正方向偏移2个栅格,不会到达实际环境边界y=17,而已标记栅格的最小纵坐标2减去偏移量2等于所述栅格地图的边界y=0的纵坐标。当所述实际环境边界y=13与所述栅格地图边界y=12相差1个栅格时,则0,所述栅格地图中已标记栅格在y轴方向上的偏移量为1,使得所述栅格地图的覆盖范围从边界y=12开始往y轴正方向偏移1个栅格,机器人实际使用地图的边界与所述实际环境边界y=13重合,所述栅格地图偏移完成,机器人继续运动,机器人当前位置达到地图边界的预设范围时会停止。

作为其中一种实施方式,所述已标记栅格的状态信息是机器人根据实际环境对栅格地图进行标记得到的,包括了机器人正常通过、机器人遇到障碍物和机器人进行沿边行为。所述控制方法的步骤s3中,需要根据坐标实际变化量对已标记栅格的坐标进行偏移,但是所述已标记栅格保持偏移前的状态信息不变。如附图8所示,的栅格环境中,标记为‘0’的栅格表示机器人正常通过,标记为‘1’的栅格表示机器人遇到障碍物。在栅格地图坐标偏移之前,栅格坐标a(2,3)处标记为‘0’,栅格坐标b(3,3)处标记为‘1’;在栅格地图坐标偏移过程中,b(3,3)偏移到b1(4,3),b1(4,3)处的栅格标记为‘1’,保留偏移前的状态信息,而b(3,3)对应栅格的状态信息被清除;a(2,3)偏移到a1(3,3),a1(3,3)处的栅格被填充地图的状态信息,标记为‘0’,保留偏移前的状态信息,而a(2,3)对应栅格的状态信息被清除。其中偏移前的a(2,3)和偏移后的a1(3,3)都对应着实际环境中的同一位置,偏移前的b(3,3)和偏移后的b1(4,3)都对应着实际环境中的同一位置。在栅格地图坐标偏移后,x轴负方向上的空白栅格区域面积相对于偏移前的增加,而x轴正方向上的空白栅格区域面积相对于偏移前的减少,x轴负方向上的空白栅格区域增加的面积等于x轴正方向上的空白栅格区域减少的面积,整个栅格地图面积大小不变。这一实施合理、有效地利用栅格地图的空间,提高了机器人建图的灵活性。

作为其中一种实施方式,机器人出发点对应的栅格坐标设置为(xn/2,yn/2),即栅格地图工作区域的中心坐标,能够兼顾到所述栅格地图在四个方向上有足够多的偏移量,使得机器人的出发点位置不因为实际地形而限制移动扫描的范围,提高地图在各个方向上的利用率。

作为其中一种实施方式,所述已标记栅格的坐标发生偏移过程中,机器人静止不动。偏移完成后,地图中的栅格数据更新,机器人实际使用地图相对于整个栅格地图有所偏移,机器人当前位置对应的栅格坐标不在所述栅格地图边界的预设范围内,相对地扩展了机器人可运动区域,但整个栅格地图的覆盖面积大小不变。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。这些程序可以存储于计算机可读取存储介质(比如rom、ram、磁碟或者光盘等各种可以存储程序代码的介质)中。该程序在执行时,执行包括上述各方法实施例的步骤。

一种芯片,用于存储程序,所述程序用于控制机器人执行上述栅格地图坐标动态偏移。所述芯片通过检测到机器人的当前位置信息,判断其是否达到栅格地图各个方向上边界的预设范围,然后再根据已标记栅格的坐标预偏移超过边界的情况,计算出栅格地图坐标的坐标实际变化量,并控制所述栅格地图坐标进行偏移。

装配所述芯片作为控制芯片的机器人,在运动过程中检测达到所述栅格地图边界的预设范围内时,停止运动,根据已标记栅格的坐标预偏移超过边界的情况,控制栅格地图坐标进行偏移。待栅格地图坐标偏移完成后,机器人当前位置坐标已经不在所述栅格地图边界的预设范围内,机器人继续运动。机器人达到所述栅格地图边界的预设范围内时,停止运动,再根据已标记栅格的坐标预偏移超过边界的情况,控制所述栅格地图坐标进行偏移。机器人通过偏移栅格地图,尽可能地使用栅格地图中可利用的栅格空间。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1