机器人导航路径的搜索方法技术

技术编号:16816170 阅读:70 留言:0更新日期:2017-12-16 09:55
本发明专利技术属于一种机器人导航路径的搜索方法及芯片,通过采用分区搜索的方式,每次只在一个栅格区域内,搜索与该区域相邻的待过栅格区域的交界线上的交接点,从而确定从出发位置点到交接点之间的路径。当一个栅格区域搜索完后,就释放内存,然后再搜索下一个待过栅格区域,最终形成从出发位置点到第一交接点、第二交接点、第N+1交接点和目标位置点的导航路径。如此,可以减小路径搜索时的内存占用量,提高路径搜索效率,同时扩大了搜索的应用范围,满足不同的搜索需求。

【技术实现步骤摘要】
机器人导航路径的搜索方法及芯片
本专利技术涉及机器人领域,具体涉及一种机器人导航路径的搜索方法及芯片。
技术介绍
扫地机器人,又称自动打扫机、智能吸尘、机器人吸尘器等,是智能家用电器的一种,能凭借一定的人工智能,自动在房间内完成地板清理工作。扫地机器人需要按照一定的路径规划来覆盖整个房间区域,完成清扫的目的。路径规划,有随机清扫和规划清扫两种。随机清扫,是指机器人根据一定的移动算法,如三角形、五边形轨迹尝试性的覆盖作业区,如果遇到障碍,则执行对应的转向函数。这种方法是一种以时间换空间的低成本策略,如不计时间可以达到100%覆盖率。随机覆盖法不用定位、也没有环境地图,也无法对路径进行规划。规划清扫,是指机器人行走过程中建立起环境地图,实时分析地图,将房间划分成不同区域,分区域清扫。这种方法效率高,在保证覆盖率的前提下,能够以最快的速度完成清扫。目前,有的规划清扫方式采用的是路径搜索算法,其中,A*(A-Star)算法是一种栅格地图中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。算法中的距离估算值与实际值越接近,最终搜索速度越快。但是,A*算法有一个最主要的缺点:A*算法非常消耗内存,每个加入被搜索的栅格,都要消耗十几个字节,因此当栅格地图很大时,对内存的消耗非常大,从而降低搜索效率,导致该算法的应用受到一定局限性。
技术实现思路
为解决上述问题,本专利技术提供了一种机器人导航路径的搜索方法及芯片,通过采用分区搜索的方式来提高机器人路径搜索的效率,从而扩大搜索应用范围。本专利技术的具体技术方案如下:本专利技术所述的机器人导航路径的搜索方法,包括如下步骤:基于机器人的行进路径创建栅格地图;基于栅格地图进行区域划分,形成多个栅格区域;基于目标位置点,确定从出发位置点到达目标位置点需要经过的待过栅格区域;基于出发位置点所在的起点栅格区域,搜索所述起点栅格区域与相邻的第一待过栅格区域交界线上的第一交接点;确定所述第一交接点后,再搜索所述第一待过栅格区域与相邻的第二待过栅格区域交界线上的第二交接点;以此类推,确定所述第N交接点后,最后搜索所述第N待过栅格区域与相邻的目标位置点所在目标栅格区域交界线上的第N+1交接点;从出发位置点到第一交接点、第二交接点、第N+1交接点和目标位置点构成的路径作为导航路径;其中,所述N为自然数。进一步地,所述基于机器人的行进路径创建栅格地图,包括如下步骤:机器人在行进过程中,基于栅格单元的形式,标示行进过的栅格单元为已行进单元,标示碰到障碍物的栅格单元为障碍单元,标示未行进过的栅格单元为未行进单元;基于所述已行进单元、障碍单元和未行进单元,创建所述栅格地图。进一步地,所述基于栅格地图进行区域划分,形成多个栅格区域,包括如下步骤:以出发点为原点,构建XY轴坐标系;将预定长度和预定宽度的方形区域作为栅格区域排布在XY轴坐标系中;其中,由已行进单元构成的栅格区域或者由已行进单元和障碍单元构成的栅格区域为已行进区域,由障碍单元和未行进单元构成的栅格区域为未行进区域。进一步地,所述基于目标位置点,确定从出发位置点到达目标位置点需要经过的待过栅格区域,包括如下步骤:确定出发位置点所在的起点栅格区域;确定与所述起点栅格区域相邻的已行进区域的权值;选择权值最小的已行进区域作为第一待过栅格区域;再确定与所述第一待过栅格区域相邻的已行进区域的权值;选择权值最小的已行进区域作为第二待过栅格区域;以此类推,选择权值最小的已行进区域作为第N待过栅格区域,所述第N待过栅格区域与所述目标栅格区域相邻;其中,如果有两个或者两个以上相邻的已行进区域的权值最小且相同,则随机选择并确定其中一个作为待过栅格区域;所述相邻为一个栅格区域与另一个栅格区域之间通过一条共同的边连接。进一步地,所述已行进区域的权值的确定,包括如下步骤:基于XY轴坐标系,赋予每个排布在XY轴坐标系中的栅格区域坐标值;确定出发位置点所在的起点栅格区域的坐标值为(SX,SY);确定已行进区域的坐标值为(CX,CY);确定目标位置点所在目标栅格区域的坐标值为(DX,DY);确定从起点栅格区域到所述已行进区域的第一开销为K1,K1=sqrt((CX-SX)*(CX-SX)+(CY-SY)*(CY-SY)),其中,sqrt为开平方根;确定从目标栅格区域到所述已行进区域的第二开销为K2,K2=abs(CX-DX)+abs(CY-DY),其中,abs为绝对值;确定所述已行进区域的权值为Q,Q=K1+K2。进一步地,搜索并确定交界线上的交接点,包括如下步骤:确定所述相邻的栅格区域的交界线;判断所述交界线上的第一参考交接点是否第一接近出发位置点或者上一个交接点,且所述第一参考交接点的通过性是否大于预设宽度;如果是,则确定第一参考交接点为交接点;如果否,则判断所述交界线上的第二参考交接点是否第二接近出发位置点或者上一个交接点,且所述第二参考交接点的通过性是否大于预设宽度;如果是,则确定第二参考交接点为交接点;如果否,则判断所述交界线上的第三参考交接点的通过性是否大于其它参考交接点的通过性,且大于预设宽度;如果是,则确定第三参考交接点为交接点;如果否,则搜索失败;其中,所述通过性为基于参考交接点为中心的连续排布的已行进单元所组成的通过宽度。进一步地,搜索并确定交界线上的交接点,包括如下步骤:确定所述相邻的栅格区域的交界线;判断所述交界线上的第一参考交接点是否第一接近出发位置点或者上一个交接点,所述第一参考交接点的通过性是否大于预设宽度,且所述第一参考交接点与所述出发位置点或者上一个交接点之间的路径是否为有效路径;如果是,则确定第一参考交接点为交接点;如果否,则判断所述交界线上的第二参考交接点是否第二接近出发位置点或者上一个交接点,所述第二参考交接点的通过性是否大于预设宽度,且所述第二参考交接点与发位置点或者上一个交接点之间的路径是否为有效路径;如果是,则确定第二参考交接点为交接点;如果否,则判断所述交界线上的第三参考交接点是否第三接近出发位置点或者上一个交接点,所述第三参考交接点的通过性是否大于预设宽度,且所述第三参考交接点与发位置点或者上一个交接点之间的路径是否为有效路径;如果是,则确定第三参考交接点为交接点;以此类推,如果所述交界线上的所有参考交接点不能确定为交接点,则选取上一个交接点所在的交界线上的另一个参考交接点作为新的交接点,再分别与所述相邻的栅格区域的交界线上的参考交接点进行判断,直到确定所述参考交接点能够作为交接点;如果上一个交接点所在的交界线上的所有参考交接点作为新的交接点,都不能确定所述相邻的栅格区域的交界线上的交接点,则搜索失败;其中,所述通过性为基于参考交接点为中心的连续排布的已行进单元所组成的通过宽度。进一步地,所述搜索失败后,还包括如下步骤:选择与所述搜索失败对应的栅格区域相邻的另一个已行进区域作为交换区域;确定所述搜索失败对应的栅格区域与所述交换区域的交界线;判断所述交界线上的第一参考交接点是否第一接近上一个交接点,所述第一参考交接点的通过性是否大于预设宽度,且所述第一参考交接点与上一个交接点之间的路径是否为有效路径;如果是,则确定第一参考交接点为第一交换点;如果否,则判断所述交界线上的第二参考交接点是否第二接近上一个交接点,所述第本文档来自技高网...
机器人导航路径的搜索方法

【技术保护点】
一种机器人导航路径的搜索方法,其特征在于,包括如下步骤:基于机器人的行进路径创建栅格地图;基于栅格地图进行区域划分,形成多个栅格区域;基于目标位置点,确定从出发位置点到达目标位置点需要经过的待过栅格区域;基于出发位置点所在的起点栅格区域,搜索所述起点栅格区域与相邻的第一待过栅格区域交界线上的第一交接点;确定所述第一交接点后,再搜索所述第一待过栅格区域与相邻的第二待过栅格区域交界线上的第二交接点;以此类推,确定所述第N交接点后,最后搜索所述第N待过栅格区域与相邻的目标位置点所在目标栅格区域交界线上的第N+1交接点;从出发位置点到第一交接点、第二交接点、第N+1交接点和目标位置点构成的路径作为导航路径;其中,所述N为自然数。

【技术特征摘要】
1.一种机器人导航路径的搜索方法,其特征在于,包括如下步骤:基于机器人的行进路径创建栅格地图;基于栅格地图进行区域划分,形成多个栅格区域;基于目标位置点,确定从出发位置点到达目标位置点需要经过的待过栅格区域;基于出发位置点所在的起点栅格区域,搜索所述起点栅格区域与相邻的第一待过栅格区域交界线上的第一交接点;确定所述第一交接点后,再搜索所述第一待过栅格区域与相邻的第二待过栅格区域交界线上的第二交接点;以此类推,确定所述第N交接点后,最后搜索所述第N待过栅格区域与相邻的目标位置点所在目标栅格区域交界线上的第N+1交接点;从出发位置点到第一交接点、第二交接点、第N+1交接点和目标位置点构成的路径作为导航路径;其中,所述N为自然数。2.根据权利要求1所述的搜索方法,其特征在于:所述基于机器人的行进路径创建栅格地图,包括如下步骤:机器人在行进过程中,基于栅格单元的形式,标示行进过的栅格单元为已行进单元,标示碰到障碍物的栅格单元为障碍单元,标示未行进过的栅格单元为未行进单元;基于所述已行进单元、障碍单元和未行进单元,创建所述栅格地图。3.根据权利要求2所述的搜索方法,其特征在于:所述基于栅格地图进行区域划分,形成多个栅格区域,包括如下步骤:以出发点为原点,构建XY轴坐标系;将预定长度和预定宽度的方形区域作为栅格区域排布在XY轴坐标系中;其中,由已行进单元构成的栅格区域或者由已行进单元和障碍单元构成的栅格区域为已行进区域,由障碍单元和未行进单元构成的栅格区域为未行进区域。4.根据权利要求3所述的搜索方法,其特征在于:所述基于目标位置点,确定从出发位置点到达目标位置点需要经过的待过栅格区域,包括如下步骤:确定出发位置点所在的起点栅格区域;确定与所述起点栅格区域相邻的已行进区域的权值;选择权值最小的已行进区域作为第一待过栅格区域;再确定与所述第一待过栅格区域相邻的已行进区域的权值;选择权值最小的已行进区域作为第二待过栅格区域;以此类推,选择权值最小的已行进区域作为第N待过栅格区域,所述第N待过栅格区域与所述目标栅格区域相邻;其中,如果有两个或者两个以上相邻的已行进区域的权值最小且相同,则随机选择并确定其中一个作为待过栅格区域;所述相邻为一个栅格区域与另一个栅格区域之间通过一条共同的边连接。5.根据权利要求4所述的搜索方法,其特征在于:所述已行进区域的权值的确定,包括如下步骤:基于XY轴坐标系,赋予每个排布在XY轴坐标系中的栅格区域坐标值;确定出发位置点所在的起点栅格区域的坐标值为(SX,SY);确定已行进区域的坐标值为(CX,CY);确定目标位置点所在目标栅格区域的坐标值为(DX,DY);确定从起点栅格区域到所述已行进区域的第一开销为K1,K1=sqrt((CX-SX)*(CX-SX)+(CY-SY)*(CY-SY)),其中,sqrt为开平方根;确定从目标栅格区域到所述已行进区域的第二开销为K2,K2=abs(CX-DX)+abs(CY-DY),其中,abs为绝对值;确定所述已行进区域的权值为Q,Q=K1+K2。6.根据权利要求2所述的搜索方法,其特征在于:搜索并确定交界线上的交接点,包括如下步骤:确定所述相邻的栅格区域的交界线;判断所述交界线上的第一参考交接点是否第一接近出发位置点或者上一个交接点,且所述第一参考交接点的通过性是否大于预设宽度;如果是,则确定第一参考交接点为交接点;如果否,则判断所述交界线上的第二参考交接点是否第二接近出发位置点或者上一个交接点,且所述第二参考交接点的通过性是否大于预设宽度;如果是,则确定第二参考交接点为交接点;如果否,则判断所述交界线上的第三参考交接点的通过性是否大于其它参考交接点的通过性,且大于预设宽度;如果是,则确定第三参考交接点为交接点;如果否,则搜索失败;其中,所述通过性为基于参考交接点为中心的连续排布的已行进单元所组成的通过宽度。7.根...

【专利技术属性】
技术研发人员:李明肖刚军李根唐
申请(专利权)人:珠海市一微半导体有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1