CN111580525B - 沿边行走中返回起点的判断方法、芯片及视觉机器人 - Google Patents
沿边行走中返回起点的判断方法、芯片及视觉机器人 Download PDFInfo
- Publication number
- CN111580525B CN111580525B CN202010456802.9A CN202010456802A CN111580525B CN 111580525 B CN111580525 B CN 111580525B CN 202010456802 A CN202010456802 A CN 202010456802A CN 111580525 B CN111580525 B CN 111580525B
- Authority
- CN
- China
- Prior art keywords
- map
- area
- edge
- preset
- cleaning robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
- G05D1/0236—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0225—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Abstract
本发明公开沿边行走中返回起点的判断方法、芯片及视觉机器人,该判断方法包括:判断移动机器人当前位置与预设沿边起点的相对位置关系是否符合重合误差条件,是则确定移动机器人已经返回预设沿边起点,否则确定移动机器人没有返回预设沿边起点。该技术方案设置清洁机器人当前位置和预设沿边起点的相对位置关系的判断条件来衡量机器人在构建的全局地图中位置漂移程度,使得清洁机器人能够克服全局地图中位置漂移带来的定位误差,实现精准判断出移动机器人是否返回所述预设沿边起点。
Description
技术领域
本发明涉及扫地机器人沿边行走的技术领域,尤其涉及一种基于移动机器人沿边行走过程中返回起点的判断方法、芯片及视觉机器人。
背景技术
扫地机器人常常通过沿边一圈来清扫房间里的各个边边角角。由于机器人视觉惯导传感器构建的地图会随着时间的推移而出现漂移误差,当地图漂移值过大时,地图定位的错误概率增大,从而影响机器人根据构建的地图对自身位置实现实时定位,使得如何判断扫地机器人沿边行走是否回到起点一直都是困扰扫地机器人的一个难点。
发明内容
为了解决上述技术问题,本发明公开一种依靠全局栅格地图实现精准判断移动机器人是否返回起点的方法,具体的技术方案如下:
一种沿边行走过程中返回起点的判断方法,包括:判断移动机器人当前位置与预设沿边起点的相对位置关系是否符合重合误差条件,是则确定移动机器人已经返回预设沿边起点,否则确定移动机器人没有返回预设沿边起点。该技术方案设置清洁机器人当前位置和预设沿边起点的相对位置关系的判断条件来衡量机器人在构建的全局地图中位置漂移程度,使得清洁机器人能够克服全局地图中位置漂移带来的定位误差,实现精准判断出移动机器人是否返回所述预设沿边起点。
进一步地,所述移动机器人当前位置与预设沿边起点的相对位置关系符合重合误差条件包括:移动机器人当前位置在全局栅格地图的栅格坐标点与预设沿边起点在全局栅格地图的栅格坐标点的线段距离符合预设漂移阈值条件,且移动机器人当前位置和预设沿边起点之间搜索出的最优路径符合预设重合定位条件。该技术方案同时设置清洁机器人当前位置和预设沿边起点的相对栅格位置关系及其优化路径的判断条件检测出地图漂移情况下的清洁机器人定位回预设沿边起点的误差大小。
进一步地,所述预设漂移阈值条件是移动机器人当前位置在全局栅格地图的栅格坐标点与所述预设沿边起点在全局栅格地图的栅格坐标点的线段距离小于预设漂移误差门限值;当移动机器人当前位置在全局栅格地图的坐标点与所述预设沿边起点在全局栅格地图的坐标点的连线距离大于或等于预设漂移误差门限值时,确定移动机器人没有返回所述预设沿边起点。该技术方案利用清洁机器人当前位置与所述预设沿边起点在全局栅格地图的坐标连线距离作为机器人返回所述预设沿边起点的预判条件,排除过于严重的地图漂移对清洁机器人返回所述预设沿边起点带来的影响。
进一步地,所述预设重合定位条件是移动机器人当前位置和预设沿边起点之间搜索出的最优路径包含的栅格数小于预设路径栅格数;在移动机器人当前位置在全局栅格地图的栅格坐标点与所述预设沿边起点在全局栅格地图的栅格坐标点的连线距离符合所述预设漂移阈值条件的前提下,如果移动机器人当前位置和所述预设沿边起点之间搜索出的最优路径包含的栅格数大于预设路径栅格数,则确定移动机器人没有返回所述预设沿边起点。在前述技术方案的基础上,利用清洁机器人当前位置和所述预设沿边起点之间搜索出的最优路径长度,判断确定清洁机器人当前位置和所述预设沿边起点的重合定位条件,当路径长度足够小时,在定位误差允许的范围内可以认为清洁机器人当前位置和所述预设沿边起点是重合的。提高机器人的定位精度。
进一步地,所述移动机器人当前位置和预设沿边起点之间搜索出的最优路径是:根据所述移动机器人当前位置和所述预设沿边起点,利用A*算法求出最短路径以作为移动机器人导航回所述预设沿边起点的最优路径。帮助机器人以最短路径返回所述预设沿边起点。
进一步地,在判断移动机器人当前位置与预设沿边起点的相对位置关系是否符合重合误差条件之前,还包括:判断清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上所框定的地图区域面积与清洁机器人所遍历过的地图区域的面积的比值是否符合预设覆盖率条件,是则判断移动机器人当前位置与预设沿边起点的相对位置关系是否符合重合误差条件。该技术方案能够利用清洁机器人的沿边行走路径在全局地图上框定的区域面积的判断条件来衡量机器人在复杂多变清扫场景中沿边的覆盖范围,同时结合清洁机器人当前位置和预设沿边起点的相对位置关系,克服复杂多变清扫场景造成机器人对完整沿全局工作区域一圈行走的误判,实现清洁机器人精准判断出是否通过沿边行走返回所述预设沿边起点,以更好地适用于家居环境,实现跨多个子工作区域连续清扫作业。
进一步地,在判断清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上所框定的地图区域面积与清洁机器人所遍历过的地图区域的面积的比值是否符合预设覆盖率条件的同时,清洁机器人在这个全局工作区域内从预设沿边起点开始作沿边行走,并计算清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上所框定的地图区域面积以及清洁机器人所遍历过的地图区域的面积。保证机器人实时判断是否返回预设沿边起点的准确性。
进一步地,所述预设覆盖率条件是清洁机器人的沿边行走路径在水平坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值大于预设覆盖率,且清洁机器人的沿边行走路径在竖直坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值大于预设覆盖率;其中,全局坐标轴方向包括水平坐标轴方向和竖直坐标轴方向;当清洁机器人的沿边行走路径在水平坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值小于或等于预设覆盖率,或者,清洁机器人的沿边行走路径在竖直坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值小于或等于预设覆盖率时,确定清洁机器人没有完整地沿所述全局工作区域行走一圈。该技术方案从机器人行走的覆盖率角度出发,充分考虑清洁机器人的沿边行走路径在竖直坐标轴方向或水平坐标轴方向上所框定的地图区域面积对沿边行走返回起点的影响,从而将其与清洁机器人所有遍历过的地图区域的面积的比值作为覆盖率的判断量。
进一步地,在清洁机器人在这个全局工作区域内从预设沿边起点开始作沿边行走之前,还包括:控制清洁机器人按照预设清扫方式对全局工作区域进行清扫遍历,并根据清扫遍历过程中记录的信息构建起全局栅格地图;其中,所述清洁机器人所有遍历过的地图区域的面积是从清洁机器人按照预设清扫方式对全局工作区域进行清扫遍历时开始计算的;根据所述全局栅格地图的尺寸大小设置地图遍历块的边长,进而在地图遍历块的边长的基础上,通过计算全局栅格地图的尺寸大小和地图遍历块的边长的比值关系确定所述全局栅格地图的各个全局坐标轴方向上的地图遍历块的覆盖数量;然后结合地图遍历块的边长及其个数计算地图遍历块的映射坐标,将地图遍历块布局到所述全局栅格地图的每一行和每一列;其中,所述全局栅格地图的每一行的地图遍历块都设置在所述水平坐标轴方向上且在所述竖直坐标轴方向上的投影重合,所述全局栅格地图的每一列的地图遍历块都设置在所述竖直坐标轴方向上且在所述水平坐标轴方向上的投影重合;其中,每一个地图遍历块都是依据其映射坐标合并所述全局栅格地图的栅格而成的。该技术方案有规则地将全局工作区域分割为地图遍历块,这些行列规则排布的地图遍历块能够反映出全局工作区域的环境特征,适用于处理各种尺度的全局栅格地图,提高算法的自适应程度;同时,节约全局地图中的栅格面的运算资源,加快数据处理速度。
进一步地,当清洁机器人遍历过所述地图遍历块内部的任一栅格时,标记对应的地图遍历块为已走过的地图遍历块;当清洁机器人沿边行走入所述地图遍历块的内部时,同时标记地图遍历块为沿边地图遍历块和已走过的地图遍历块,使得所述沿边行走路径由沿边地图遍历块组成。相对于栅格标记方式,地图遍历块记录更大的路径区域范围,减小标记同一段路径所用的标记块的数目,降低了对清洁机器人的算力要求和存储空间要求,减少建图时间。
进一步地,所述计算清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上所框定的地图区域的面积包括:计算清洁机器人的沿边行走路径在全局栅格地图的竖直坐标轴方向上所框定的地图区的域面积和计算清洁机器人的沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区域的面积;计算清洁机器人的沿边行走路径在全局栅格地图的竖直坐标轴方向上所框定的地图区域的面积的方法包括:判断所述全局栅格地图的每一列的地图遍历块中是否存在所述沿边地图遍历块,是则在对应一列上,统计最下端的所述沿边地图遍历块至最上端的所述沿边地图遍历块之间的地图遍历块的数目,记为清洁机器人的沿边行走路径在这一列所框定的地图区域的面积;其中,清洁机器人的沿边行走路径在每一列所框定的地图区域包括同一列最下端的所述沿边地图遍历块和最上端的所述沿边地图遍历块;当按照前述步骤判断完所述全局栅格地图的所有列的地图遍历块时,将清洁机器人的沿边行走路径在每一列所框定的地图区域的面积之和设置为清洁机器人的沿边行走路径在全局栅格地图的竖直坐标轴方向上所框定的地图区域的面积;计算清洁机器人的沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区域的面积的方法包括:判断所述全局栅格地图的每一行中是否存在所述沿边地图遍历块,是则在对应一行上,统计最左端的所述沿边地图遍历块至最右端的所述沿边地图遍历块之间的地图遍历块的数目,记为清洁机器人的沿边行走路径在这一行所框定的地图区域的面积;其中,清洁机器人的沿边行走路径在每一行所框定的地图区域包括同一行最左端的所述沿边地图遍历块和最右端的所述沿边地图遍历块;当按照前述步骤判断完所述全局栅格地图的所有行的地图遍历块时,将清洁机器人的沿边行走路径在每一行所框定的地图区域的面积之和设置为清洁机器人的沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区域的面积。
与现有技术相比,在全局栅格地图每一列地图遍历块中,通过统计最下端的所述沿边地图遍历块与最上端的所述沿边地图遍历块之间所包含的地图遍历块的数目,来计算出沿边行走路径在全局栅格地图的竖直坐标轴方向上所框定的地图区域的面积;在全局栅格地图每一行地图遍历块中,通过统计最左端的所述沿边地图遍历块与最右端的所述沿边地图遍历块之间所包含的地图遍历块的数目,来计算出沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区域的面积;该技术方案让沿边行走路径在全局坐标系的每一坐标轴方向上所框定的地图区域的面积都能完整地代表清洁机器人当前沿边行走的覆盖范围,地图遍历块的使用也减小现有技术全局地图中的栅格面积的运算量。
一种芯片,内置控制程序,所述控制程序用于控制移动机器人执行所述判断方法。
一种视觉机器人,该视觉机器人内置所述的芯片,用于在视觉机器人执行所述判断方法的过程中克服地图漂移的影响,以实现准确判断视觉机器人回到所述预设沿边起点。
附图说明
图1是本发明实施例的一种沿边行走过程中返回起点的判断方法的流程图。
图2是本发明实施例的移动机器人在全局工作区域内完整地沿边一圈并返回预设沿边起点A的工作场景示意图(忽略墙体宽度的影响)。
图3是移动机器人在全局工作区域内所标记的沿边地图遍历块(斜线填充方框)在X轴方向上框定的区域面积不符合预设覆盖率条件的工作场景示意图。
图4是移动机器人当前位置和预设沿边起点之间线段长度满足预设漂移阈值条件的工作场景示意图(忽略墙体宽度的影响)。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
作为一种实施例,本发明公开一种沿边行走过程中返回起点的判断方法,包括:判断移动机器人当前位置与预设沿边起点的相对位置关系是否符合重合误差条件,是则确定移动机器人已经返回预设沿边起点,否则确定移动机器人没有返回预设沿边起点。具体地,所述清洁机器人当前位置与预设沿边起点的相对位置关系符合重合误差条件包括:清洁机器人当前位置在全局栅格地图的栅格坐标点与预设沿边起点在全局栅格地图的栅格坐标点的线段距离符合预设漂移阈值条件,且清洁机器人当前位置和预设沿边起点之间搜索出的最优路径符合预设重合定位条件。
所述预设漂移阈值条件是移动机器人当前位置在全局栅格地图的栅格坐标点与所述预设沿边起点在全局栅格地图的栅格坐标点的线段距离小于预设漂移误差门限值;当移动机器人当前位置在全局栅格地图的坐标点与所述预设沿边起点在全局栅格地图的坐标点的连线距离大于或等于预设漂移误差门限值时,确定移动机器人没有返回所述预设沿边起点。该技术方案利用清洁机器人当前位置与所述预设沿边起点在全局栅格地图的坐标连线距离作为机器人返回所述预设沿边起点的预判条件,排除过于严重的地图漂移对清洁机器人返回所述预设沿边起点带来的影响。
所述预设重合定位条件是移动机器人当前位置和预设沿边起点之间搜索出的最优路径包含的栅格数小于预设路径栅格数;在移动机器人当前位置在全局栅格地图的栅格坐标点与所述预设沿边起点在全局栅格地图的栅格坐标点的连线距离符合所述预设漂移阈值条件的前提下,如果移动机器人当前位置和所述预设沿边起点之间搜索出的最优路径包含的栅格数大于预设路径栅格数,则确定移动机器人没有返回所述预设沿边起点。在前述技术方案的基础上,利用清洁机器人当前位置和所述预设沿边起点之间搜索出的最优路径长度,判断确定清洁机器人当前位置和所述预设沿边起点的重合定位条件,当路径长度足够小时,在定位误差允许的范围内可以认为清洁机器人当前位置和所述预设沿边起点是重合的。提高机器人的定位精度。
作为一种实施例,如图1所示,本发明实施例公开一种基于沿边行走过程中返回起点的判断方法,包括:步骤S101、控制清洁机器人按照预设清扫方式对全局工作区域进行清扫遍历,并根据清扫遍历过程中记录的信息构建起全局栅格地图,如图2和图4的工作场景示意图所示,房间区域#1、#2和#3对应的栅格地图区域都标记有弓字形清扫路径,即清洁机器人在本实施例中按照弓字形清扫对全局工作区域进行清扫遍历,实现对全局工作区域的全面覆盖清扫遍历,根据清扫遍历过程中记录的清扫环境信息同步构建起全局栅格地图,然后进入步骤S102。
步骤S102、在清洁机器人完成全局工作区域的清扫并标记相关遍历信息在全局栅格地图中后,控制清洁机器人在这个全局工作区域内从预设沿边起点开始作沿边行走,同时计算清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上所框定的地图区域面积以及清洁机器人所遍历过的地图区域的面积,然后进入步骤S103。如图2至图4所示,清洁机器人在同一个全局工作区域内从预设沿边起点开始作沿边行走,计算清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上虚线框定的地图区域面积以及清洁机器人所遍历过的地图区域的面积,包括房间区域#1、#2和#3中的虚线框定地图区域和弓字形路径所标记的区域的面积。其中,清洁机器人所有遍历过的地图区域的面积是从清洁机器人按照预设清扫方式对全局工作区域进行清扫遍历时开始累加计算的,也包括清洁机器人的沿边行走所遍历的区域的面积,实际上是清洁机器人按照预设清扫方式对全局工作区域预先清扫遍历的地图区域面积和清洁机器人当前的沿边行走路径所覆盖地图区域面积之和。
图1的步骤S103至步骤S106所述的判断方法的基本构思是:当清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上所框定的地图区域面积与清洁机器人所遍历过的地图区域的面积的比值都符合预设覆盖率条件,且清洁机器人当前位置与预设沿边起点的相对位置关系符合重合误差条件时,确定清洁机器人能够沿着图2所示的全局工作区域行走返回所述预设沿边起点A。本发明实施例综合考虑家庭服务机器人的工作环境中存在大量的墙壁等静态障碍物、多种动态障碍物、房门的开关状态等复杂多变环境对家庭服务机器人跨子工作区域连续服务产生影响等各种因素,利用清洁机器人的沿边行走路径在全局地图上框定的区域面积的判断条件来衡量机器人在复杂多变清扫场景中沿边的覆盖范围,同时设置清洁机器人当前位置和预设沿边起点的相对栅格位置关系的判断条件来衡量机器人在构建的全局地图中位置漂移程度,然后基于前述两种判断条件,克服复杂多变清扫场景造成机器人对沿边行走返回出发点的误判,以更好地适用于家居环境,实现跨多个子工作区域连续清扫作业。
具体地,步骤S103、判断清洁机器人的沿边行走路径在各个全局坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值是否都大于预设覆盖率,即判断是否同时满足清洁机器人的沿边行走路径在水平坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值大于预设覆盖率,且清洁机器人的沿边行走路径在竖直坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值大于预设覆盖率,如果这两个判断条件同时成立,则进入步骤S104,否则进入步骤S107。本实施例中,所述预设覆盖率条件是清洁机器人的沿边行走路径在水平坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值大于预设覆盖率,且清洁机器人的沿边行走路径在竖直坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值大于预设覆盖率;其中,所述全局坐标轴方向包括水平坐标轴方向和竖直坐标轴方向;当清洁机器人的沿边行走路径在水平坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值小于或等于预设覆盖率,或者,清洁机器人的沿边行走路径在竖直坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值小于或等于预设覆盖率时,确定清洁机器人没有完整地沿行走所述全局工作区域一圈,可能没有返回所述预设沿边起点。优选地,预设覆盖率设置为2/3,这个预设覆盖率和清洁机器人本身的尺寸和沿边行走路径环境相关,使用者可以根据需求自行修改。本实施例从机器人行走区域的覆盖率角度出发,充分利用清洁机器人的沿边行走路径在竖直坐标轴方向或水平坐标轴方向上所框定的地图区域面积代表沿边行走的区域覆盖完整性,进而判断沿边一圈的完整性。
在清洁机器人按照预设清扫方式对全局工作区域进行清扫遍历之前,所述判断方法还包括:步骤S1、根据全局栅格地图的尺寸大小(包括地图长度和宽度)设置地图遍历块的边长,使得地图遍历块建立方法在全局栅格地图中占据足够大的栅格区域;步骤S2、结合全局栅格地图的尺寸大小和步骤S1确定的地图遍历块的边长的比值关系,计算全局栅格地图的各个全局坐标轴方向上(包括全局坐标系的X轴和Y轴方向)的地图遍历块的覆盖数量,其中,地图遍历块相当于全局栅格地图划分出的子区域;步骤S3、根据步骤S2确定的地图遍历块的覆盖数量的约束作用,对步骤S1确定的地图遍历块的边长进行逐行逐列的累加操作,以计算出每个地图遍历块的映射坐标,使得地图遍历块建立在所述全局栅格地图的每一行和每一列,即地图遍历块的覆盖数量可以确定出全局栅格地图的边界信息,约束地图遍历块在所述全局栅格地图的每一行和每一列的分布数量和位置,其中,每一个地图遍历块都是依据其映射坐标及其边长合并对应的栅格而成。本发明将地图中每行每列的栅格合并建立起一定尺寸大小和数量的地图遍历块,每一个地图遍历块都与实际环境中占据一个小块区域对应,只要将栅格的大小设置的稍微大一些,可以规划出机器人的大体路径即可,减少计算量,易于机器人进行地图信息的处理;所述地图遍历块建立方法实现将大尺度全局栅格地图划分为多个地图子区域,降低了对移动机器人的导航定位算力要求和地图数据存储空间要求,节约全局地图中的栅格面的运算资源,加快数据处理速度。可运用于路径规划、沿边行走、回充路径规划的覆盖率和区域面积计算。需要说明的是,所述全局栅格地图的每一行的地图遍历块都设置在水平坐标轴方向上且在竖直坐标轴方向上的投影重合,所述全局栅格地图的每一列的地图遍历块都设置在竖直坐标轴方向上且在水平坐标轴方向上的投影重合;全局坐标轴方向包括竖直坐标轴方向和水平坐标轴方向。本发明将全局地图上的栅格逐行逐列地合并建立为规则分布的地图遍历块。等效于将全局地图分割成一块一块的小地图块。
优选地,对地图遍历块预先设置一个标准边长E,其最大值可以设置为16,使得每一个地图遍历块最大填充16X16个栅格。本实施例的全局工作区域对应的所述全局栅格地图是矩形地图,填充覆盖所述全局栅格地图的地图遍历块是正方形,当所述全局栅格地图的长和宽都大于E的2倍时,所述地图遍历块的边长设为E;当所述全局栅格地图的长和宽都大于E但小于E的2倍时,则设置所述地图遍历块的边长设为E的一半;当所述全局栅格地图的长小于或等于E,或者所述全局栅格地图的宽小于或等于E,设置所述地图遍历块的边长设为E的四分之一。与现有技术相比,每16X16个地图栅格构成的地图遍历块实现对所述全局栅格地图的栅格膨胀处理,使得地图遍历块在全局栅格地图中占据足够大的栅格区域,方便机器人遍历标记适应范围上的地图路径信息。从而将栅格的大小设置的稍微大一些,只需要规划出机器人的大体路径即可,减少计算量,适合使用于路径规划、沿边行走、回充路径规划。
在本实施例中,计算所述全局栅格地图的有效长度与所述地图遍历块的边长的比值,并加一处理,获得全局栅格地图的竖直坐标轴方向上建立的地图遍历块的覆盖数量;计算所述全局栅格地图的有效宽度与所述地图遍历块的边长的比值,并加一处理,获得全局栅格地图的水平坐标轴方向上建立的地图遍历块的覆盖数量。这里的加一处理的必要性在于,软件系统在所述全局栅格地图的有效长度与所述地图遍历块的边长的比值时会取整,忽略掉小数部分,所以需要加一处理保证前述覆盖数量的地图遍历块完整记录实际覆盖的全局工作区域,提高空间区域的冗余度。
在按照前述方法确定所述地图遍历块的边长的基础上,通过计算确定所述全局栅格地图的各个全局坐标轴方向上的地图遍历块的个数,具体分为:所述全局栅格地图的所述竖直坐标轴方向(即长度方向上)的地图遍历块的个数H=全局栅格地图的有效长度与所述地图遍历块的边长的比值+1,所述全局栅格地图的所述水平坐标轴方向(即宽度方向上)的地图遍历块的个数W=全局栅格地图的有效宽度与所述地图遍历块的边长的比值+ 1。本实施例中的有效长度和有效宽度包括让机器人遍历的栅格区域,用于构建所述地图遍历块。
接着,计算每一个所述地图遍历块所对应的栅格坐标,具体包括:步骤S31、以全局栅格地图的左下角栅格位置为参考原点,然后进入步骤S32;以全局栅格地图的左下角为参考原点,计算所述地图遍历块的映射坐标。假设minx、miny分别为全局栅格地图的参考原点坐标,也分别等效于全局栅格地图X轴上的最小坐标值和全局栅格地图Y轴上的最小坐标值;i设置为所述地图遍历块在X轴方向上相对于参考原点的偏移量,i+1相当于在水平坐标轴方向上已经确定映射坐标的地图遍历块的个数;j设置为所述地图遍历块在Y轴方向上相对于参考原点的偏移量,j+1相当于在竖直坐标轴方向上已经确定映射坐标的地图遍历块的个数;e为所述地图遍历块的边长; X(i,j)是所述地图遍历块在全局栅格地图的水平坐标轴方向上的映射坐标,Y(i,j)是所述地图遍历块在全局栅格地图的竖直坐标轴方向上的映射坐标。步骤S32、从这个参考原点坐标位置(minx,miny)开始,将竖直坐标轴上的参考原点坐标加上地图遍历块的边长,来计算确定当前的地图遍历块在竖直坐标轴上的映射坐标,即j=0时获得在竖直坐标轴上的最小映射坐标Y(i,j)=j*e+ miny=miny,同时确定当前的地图遍历块在水平坐标轴上的映射坐标与参考原点在水平坐标轴上的坐标minx相等,然后进入步骤S33。步骤S33、判断在竖直坐标轴方向上已经确定映射坐标的地图遍历块的个数j是否小于全局栅格地图的竖直坐标轴方向上的地图遍历块的覆盖数量H,是则进入步骤S34,否则进入步骤S35。步骤S34、将当前确定的地图遍历块在竖直坐标轴上的映射坐标加上地图遍历块的边长,计算确定出同一竖直坐标轴方向上相邻的地图遍历块在竖直坐标轴上的映射坐标,即Y(i,j+1)= (j+1)*e+ miny,形成同一竖直坐标轴方向上相邻的Y轴映射坐标,每进入步骤S34一次,j就自动加一;同时确定同一竖直坐标轴方向上相邻的地图遍历块在水平坐标轴上的映射坐标X(i,j+1)与当前确定的地图遍历块在水平坐标轴上的映射坐标X(i,j)相同,然后返回步骤S33,实现在同一竖直坐标轴方向的覆盖数量的约束作用下,逐行确定出同一竖直坐标轴方向上的每个地图遍历块的映射坐标。步骤S35、将当前确定的地图遍历块在水平坐标轴上的映射坐标加上地图遍历块的边长,计算确定同一水平坐标轴方向上相邻的地图遍历块在水平坐标轴上的映射坐标,即i=0时获得在水平坐标轴上的最小映射坐标X(i,j)= i*e+ minx=minx,其中每进入步骤S35一次,i就自动加一;同时确定同一水平坐标轴方向上相邻的地图遍历块在竖直坐标轴上的映射坐标Y(i+1,j)与当前确定的地图遍历块在竖直坐标轴上的映射坐标Y(i,j)相同,然后进入步骤S36,实现在同一水平坐标轴方向的覆盖数量的约束作用下,逐列确定出同一水平坐标轴方向上的每个地图遍历块的映射坐标。步骤S36、判断在水平坐标轴方向上已经确定映射坐标的地图遍历块的个数i是否小于全局栅格地图的水平坐标轴方向上的地图遍历块的覆盖数量W,是则返回步骤S33,否则确定已经逐行逐列地计算出所述全局栅格地图中的每个地图遍历块的映射坐标,使得所述全局栅格地图的每一行和每一列都建立起所述地图遍历块,完成所述全局栅格地图的区块化处理。前述步骤的每行每列特指所述地图遍历块在所述全局栅格地图中分布的每行每列。前述实施例根据前述步骤确定的地图遍历块的覆盖数量所起到的地图边界约束作用,对确定的地图遍历块的边长进行逐行逐列的累加操作,包括先遍历当前一列,再遍历下一列,直到遍历完水平坐标轴方向上的分布的所有列的地图遍历块,从而确定每个地图遍历块的映射坐标,将地图遍历块构建到所述全局栅格地图的每一行的规则区域块和每一列的规则区域块上,实现在全局栅格地图分割为所述地图遍历块。
因此,判断所述全局栅格地图的一个栅格位置坐标(a,b)是否属于一个所述遍历地图块的方法包括:判断a是否同时满足大于或等于X(i,j),且小于或等于X(i,j)+e-1;同时判断b是否同时满足大于或等于Y(i,j),且小于或等于Y(i,j)+e-1;当这个栅格位置坐标(a,b)同时满足上面两个判断条件时,则确定这个栅格位置坐标(a,b)位于所述地图遍历块内。当清洁机器人按照所述预设清扫方式遍历过所述地图遍历块内部的任一栅格时,比如清洁机器人遍历栅格位置坐标(a,b)时,标记对应所属的地图遍历块为已走过的地图遍历块;当清洁机器人沿边行走入所述地图遍历块的内部并遍历至栅格位置坐标(a,b)时,同时标记地图遍历块为沿边地图遍历块和已走过的地图遍历块,使得所述沿边行走路径在所述全局栅格地图上由沿边地图遍历块组成,沿边地图遍历块标记为图2至4的斜线填充方框所示,使得图示的清洁机器人在全局工作区域内沿边行走路径由沿边地图遍历块组成,已经遍历的清扫路径由已走过的地图遍历块组成,相对于逐个栅格标记的方式,地图遍历块记录更大的路径区域范围,减小标记同一段路径所用的标记块的数目,降低了对清洁机器人的算力要求和存储空间要求,减少建图时间。
具体地,前述计算清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上所框定的地图区域的面积包括:计算清洁机器人的沿边行走路径在全局栅格地图的竖直坐标轴方向上所框定的地图区的域面积和计算清洁机器人的沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区域的面积。
计算清洁机器人的沿边行走路径在全局栅格地图的竖直坐标轴方向上所框定的地图区域的面积的方法包括:判断所述全局栅格地图的每一列的地图遍历块中是否存在一个或一个以上所述沿边地图遍历块,是则在对应一列上,统计最下端的所述沿边地图遍历块至最上端的所述沿边地图遍历块之间的地图遍历块的数目,或者统计最上端的所述沿边地图遍历块至最下端的所述沿边地图遍历块之间的地图遍历块的数目,并记为清洁机器人的沿边行走路径在这一列所框定的地图区域的面积,否则不计算清洁机器人的沿边行走路径在这一列所框定的地图区域的面积;具体地,在统计计算清洁机器人的沿边行走路径在这一列所框定的地图区域的面积的过程中,从这一列的所述地图遍历块在Y轴方向上最小映射坐标开始,沿着同一Y轴方向逐个检测所述地图遍历块是否为沿边地图遍历块(斜线填充方框),每检测到所述地图遍历块为沿边地图遍历块时进行加一统计,当检测完述全局栅格地图的所述竖直坐标轴方向(即长度方向上)的H个地图遍历块后,记录偏离原点位置最远的所述沿边地图遍历块坐标位置和偏离原点位置最近的所述沿边地图遍历块的坐标位置,同时统计获得这两个所述沿边地图遍历块之间所包括的地图遍历块的个数,也包括这两个所述沿边地图遍历块在内,如果这一列上检测的所述地图遍历块只有一个沿边地图遍历块(斜线填充方框),也加一统计在内,从而框定计算出清洁机器人的沿边行走路径在这一列地图区域的面积;如果这一列上没有沿边地图遍历块,则无法框定计算出清洁机器人的沿边行走路径在这一列地图区域的面积,但是,不管是否存在所述沿边地图遍历块,本实施例保持计算清洁机器人已走过的地图遍历块的数目,表示清洁机器人已走过的地图区域面积。
如图3的实施场景所示,房间区域#2的最左端一列的地图遍历块全部是清洁机器人沿边行走过程中遍历过的12个所述沿边地图遍历块,则在这一列最上端的所述沿边地图遍历块至最下端的所述沿边地图遍历块之间的地图遍历块的数目12记为所述清洁机器人的沿边行走路径在这一列所框定的地图区域的面积;房间区域#2的最右端一列的地图遍历块部分是清洁机器人沿边行走过程中遍历过的所述沿边地图遍历块,其余可能是空闲栅格区域合并而成的,或者是启动沿边行走之前,清洁机器人在房间区域#2内进行弓字形清扫所遍历标记的所述已走过的地图遍历块,则在这一列最上端的所述沿边地图遍历块至最下端的所述沿边地图遍历块之间的地图遍历块的数目12记为所述清洁机器人的沿边行走路径在这一列所框定的地图区域的面积;当按照前述步骤判断完房间区域#2的所有列的地图遍历块时,框定一个矩形虚线区域N1N2N11N7,这个矩形虚线区域N1N2N11N7内部所有的地图遍历块的数目是清洁机器人的沿边行走路径在房间区域#2的竖直坐标轴方向上所框定的地图区域的面积。
同理,房间区域#1的最左端一列的地图遍历块全部是清洁机器人沿边行走过程中遍历过的所述沿边地图遍历块,则在这一列最上端的所述沿边地图遍历块至最下端的所述沿边地图遍历块之间的地图遍历块的数目3记为所述清洁机器人的沿边行走路径在这一列所框定的地图区域的面积;房间区域#1的最左端的连续相邻两列都只有一个位于最下端的所述沿边地图遍历块,其余可能是空闲栅格区域合并而成的,或者是启动沿边行走之前,清洁机器人在房间区域#1内进行弓字形清扫所遍历标记的所述已走过的地图遍历块,则在这两列也用于计算所述清洁机器人的沿边行走路径在对应列所框定的地图区域的面积;当按照前述步骤判断完房间区域#1的所有列的地图遍历块时,框定一个矩形虚线区域N9N6N8N10以其左端的5个所述沿边地图遍历块,它们内部所包括的所有地图遍历块的数目是是清洁机器人的沿边行走路径在房间区域#1的竖直坐标轴方向上所框定的地图区域的面积,然后加上前述的矩形虚线区域N1N2N11N7内部所有的地图遍历块的数目,则获得清洁机器人的沿边行走路径在全局栅格地图的竖直坐标轴方向上所框定的地图区域的面积。值得注意的是,由于图3所示的房间区域#3的大门紧闭,不同于图2和图4的房间区域#3的大门是开启的,所以,清洁机器人不在图3所示的房间区域#3内沿边行走过,不需要计入其沿边行走路径在房间区域#3的竖直坐标轴方向上所框定的地图区域的面积。本实施例让沿边行走路径在全局坐标系的竖直坐标轴方向上所框定的地图区域的面积都能完整地代表清洁机器人当前沿边行走路径的Y轴方向的覆盖范围情况,反映房间边界环境特征,地图遍历块的使用也减小现有技术全局地图中的栅格面积的运算量。其中,图3的全局工作区域的房间区域之间的墙体,比如房间区域#3和房间区域#2之间的墙体M1、房间区域#3和房间区域#1之间的墙体M2、房间区域#2和房间区域#1之间的墙体M3的宽度相对于清洁机器人的机体尺寸可忽略不计,则清洁机器人从房间区域#1进入房间区域#2的沿边行走过程中,清洁机器人跨越墙体M3所遍历的地图遍历块的边长可忽略不计。
计算清洁机器人的沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区域的面积的方法包括:判断所述全局栅格地图的每一行的地图遍历块中是否存在一个或一个以上所述沿边地图遍历块,是则在对应一行上,统计最左端的所述沿边地图遍历块至最右端的所述沿边地图遍历块之间的地图遍历块的数目,或者统计最右端的所述沿边地图遍历块至最左端的所述沿边地图遍历块之间的地图遍历块的数目,并记为清洁机器人的沿边行走路径在这一行所框定的地图区域的面积,否则不计算清洁机器人的沿边行走路径在这一行所框定的地图区域的面积;具体地,在统计计算清洁机器人的沿边行走路径在这一行所框定的地图区域的面积的过程中,从这一行的所述地图遍历块在X轴方向上最小映射坐标开始,沿着同一X轴方向逐个检测所述地图遍历块是否为沿边地图遍历块(斜线填充方框),每检测到所述地图遍历块为沿边地图遍历块时进行加一统计,当检测完述全局栅格地图的所述水平坐标轴方向(即宽度方向上)的W个地图遍历块后,记录偏离原点位置最远的所述沿边地图遍历块坐标位置和偏离原点位置最近的所述沿边地图遍历块的坐标位置,同时统计获得这两个所述沿边地图遍历块之间所包括的地图遍历块的个数,也包括这两个所述沿边地图遍历块在内,如果这一行上检测的所述地图遍历块只有一个沿边地图遍历块(斜线填充方框),也加一统计在内,从而累计计算出清洁机器人的沿边行走路径在这一列地图区域的面积;如果这一行上没有沿边地图遍历块,则无法框定计算出清洁机器人的沿边行走路径在这一行地图区域的面积,但是,不管是否存在所述沿边地图遍历块,本实施例保持计算清洁机器人已走过的地图遍历块的数目,表示清洁机器人已走过的地图区域面积。
如图3的实施场景所示,房间区域#2的最上端一行的地图遍历块全部是清洁机器人沿边行走过程中遍历过的8个所述沿边地图遍历块,则在这一行最左端的所述沿边地图遍历块至最右端的所述沿边地图遍历块之间的地图遍历块的数目8,记为所述清洁机器人的沿边行走路径在这一行所框定的地图区域的面积。沿着所述竖直坐标轴(Y轴)方向自上往下计数,第二行和第三行的两端都存在所述沿边地图遍历块,这两行的内侧的地图遍历块部分是清洁机器人沿边行走过程中遍历过的所述沿边地图遍历块,其余可能是空闲栅格区域合并而成的,或者是启动沿边行走之前,清洁机器人在房间区域#2内进行弓字形清扫所遍历标记的所述已走过的地图遍历块,则可以计算清洁机器人的沿边行走路径在这两行所框定的地图区域的面积;计数到第四行时,第四、五和六行上都只是存在一个所述沿边地图遍历块,也用于统计计算清洁机器人的沿边行走路径在对应行所框定的地图区域的面积,因而清洁机器人的沿边行走路径在上述六行中框定一个矩形虚线区域N1N2N3N4和三个所述沿边地图遍历块。当按照前述步骤判断至房间区域#2的第七行时,判断到房间区域#2和房间区域#1内在这一行上都标记有沿边地图遍历块,然后统计这一行房间区域#2的最左端的所述沿边地图遍历块至房间区域#1最右端的所述沿边地图遍历块之间的地图遍历块的数目为14个,记为所述清洁机器人的沿边行走路径在这一行所框定的地图区域的面积,此时室内墙体的宽度小于清洁机器人本身的尺寸,可忽略不计。当按照前述步骤判断至图3所示的工作场景最下端一行的地图遍历块时,框定一个矩形虚线区域N5N6N7N8,这个矩形虚线区域N5N6N7N8内部所有的地图遍历块的数目是,清洁机器人沿着所述竖直坐标轴(Y轴)方向自上往下计数第七至十二行的沿边行走路径在水平坐标轴方向上所框定的地图区域的面积,然后加上前述的矩形虚线区域N1N2N3N4内部所有的地图遍历块的数目,则获得清洁机器人的沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区域的面积。本实施例让沿边行走路径在全局坐标系的水平坐标轴方向上所框定的地图区域的面积都能完整地代表清洁机器人当前沿边行走的X轴方向覆盖范围情况,地图遍历块的使用也减小现有技术全局地图中的栅格面积的运算量。
在图3的实施场景中,清洁机器人是沿边行走至房间区域#3的大门边缘,但是大门没有打开,清洁机器人只能沿着大门的边缘继续在房间区域#2内继续沿边行走,清洁机器人在当前位置处计算获得清洁机器人的沿边行走路径在全局栅格地图的竖直坐标轴方向上所框定的地图区域的面积为矩形虚线区域N1N2N11N7的面积、矩形虚线区域N9N6N8N10以其左端的5个所述沿边地图遍历块的面积之和,已经大于清洁机器人所有已遍历的地图区域面积的预设覆盖率2/3,但是,清洁机器人在当前位置处计算获得清洁机器人的沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区的域面积为矩形区域N1N2N3N4的面积、矩形区域N5N6N7N8的面积以及它们之间的3个所述沿边地图遍历块的面积之和还不能占据清洁机器人所有已遍历的地图区域面积的2/3,可以确定清洁机器人还没有完整地沿完所述全局工作区域一圈并返回所述预设沿边起点A,毕竟预先清扫过的房间区域#3没有被沿边遍历过,但是清洁机器人从房间区域#2继续沿边行走的过程中,可以实现第一次返回房间区域#1的所述预设沿边起点A,所以在本实施例中,清洁机器人的沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区的域面积是否大于清洁机器人所有已遍历的地图区域面积的2/3,不是必要的判断条件。
综上,与现有技术相比,本实施例在全局栅格地图每一列地图遍历块中,通过统计最下端的所述沿边地图遍历块与最上端的所述沿边地图遍历块之间所包含的地图遍历块的数目,来计算出沿边行走路径在全局栅格地图的竖直坐标轴方向上所框定的地图区域的面积;在全局栅格地图每一行地图遍历块中,通过统计最左端的所述沿边地图遍历块与最右端的所述沿边地图遍历块之间所包含的地图遍历块的数目,来计算出沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区域的面积;进而让沿边行走路径在全局坐标系的每一坐标轴方向上所框定的地图区域的面积都能完整地代表清洁机器人当前沿边行走的覆盖范围,地图遍历块的使用也减小现有技术全局地图中的栅格面积的运算量。
步骤S104、判断清洁机器人当前位置在全局栅格地图的栅格坐标点与所述预设沿边起点在全局栅格地图的栅格坐标点的线段距离是否小于预设漂移误差门限值,是则进入步骤S105,否则进入步骤S107。这里设置预设漂移误差门限值的判断依据在于:由于清洁机器人的用于定位的视觉传感器误差的积累,所以图2至4所示的全局栅格地图中可能出现地图漂移误差,使得清洁机器人当前位置会存在地图栅格位置漂移的现象,只要所述预设沿边起点A和清洁机器人当前位置的连线的线段长度处于一定地图漂移误差范围之内,可以认为机器人从当前位置开始是可以返回所述预设沿边起点;当所述预设沿边起点A和清洁机器人当前位置的连线的线段长度超出地图漂移误差范围时,说明清洁机器人当前位置的栅格坐标漂移程度过于严重,以致于清洁机器人无法回到所述预设沿边起点A。
如图4所示的工作场景实施例,墙体M2的宽度、墙体M1的宽度和墙体M3的宽度由于都小于清洁机器人本身的尺寸,前述的墙体所占据的栅格大小可忽略不计,清洁机器人从房间区域#1内的预设沿边起点A开始,沿着所述全局工作区域作沿边行走,逆时针沿所述全局工作区域一圈行走至房间区域#3的位置D,同时清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上虚线框定的地图区域都是矩形区域P1P2P3P4,矩形区域P1P2P3P4的面积与清洁机器人所遍历过的地图区域的面积的比值大于所述预设覆盖率,满足所述预设覆盖率条件。
当清洁机器人当前位置D在全局栅格地图的坐标点与所述预设沿边起点A在全局栅格地图的坐标点的连线距离小于预设漂移误差门限值时,清洁机器人当前位置D、所述预设沿边起点A和用于隔离它们的墙体M2都会在一定的地图漂移误差范围内进行漂移,其中墙体M2在漂移的过程中保持隔开清洁机器人当前位置D和所述预设沿边起点A,使得所述预设沿边起点A不会漂移至清洁机器人当前位置D处。此时清洁机器人还在房间区域#3中,与房间区域#1仍有一墙之隔,清洁机器人没有返回所述预设沿边起点,所以仍需要进入步骤S105作进一步的栅格数据判断。
另一方面,如果当清洁机器人当前位置在全局栅格地图的坐标点与所述预设沿边起点A在全局栅格地图的坐标点的连线距离大于或等于预设漂移误差门限值时,全局栅格地图的漂移已经超出视觉清洁机器人所允许的地图漂移误差范围,确定清洁机器人当前位置与所述预设沿边起点之间存在较为严重地图漂移误差的问题,使得清洁机器人无法从当前位置返回所述预设沿边起点A。因此,步骤S104的实施例利用清洁机器人当前位置与所述预设沿边起点在全局栅格地图的坐标连线距离作为机器人返回所述预设沿边起点的预判条件。
步骤S105、判断清洁机器人当前位置和所述预设沿边起点A之间搜索出的最优路径包含的栅格数是否小于预设路径栅格数,是则进入步骤S106,否则进入步骤S107。优选地,当清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上所框定的地图区域面积与清洁机器人所遍历过的地图区域的面积的比值都符合预设覆盖率条件,且清洁机器人当前位置在全局栅格地图的栅格坐标点与预设沿边起点在全局栅格地图的栅格坐标点的线段距离符合预设漂移阈值条件时,如果清洁机器人当前位置和预设沿边起点之间搜索出的最优路径符合预设重合定位条件,那么确定清洁机器人通过沿边行走返回所述预设沿边起点。
如图2所示,墙体M2的宽度、墙体M1的宽度和墙体M3的宽度由于都小于清洁机器人本身的尺寸,前述的墙体所占据的栅格大小可忽略不计,清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上虚线框定的地图区域都是矩形区域O1O2O3O4,同时在清洁机器人当前位置在全局栅格地图的栅格坐标点与所述预设沿边起点A在全局栅格地图的栅格坐标点的连线距离符合所述预设漂移阈值条件的前提下,所述清洁机器人当前位置和所述预设沿边起点A之间搜索出的最优路径包含的栅格数小于所述预设路径栅格数时,确定本实施例搜索出的清洁机器人当前位置与所述预设沿边起点A之间的可通行路径距离符合所述预设重合定位条件,进而根据获知实际返回所述预设沿边起点A规划路径的情况,认为清洁机器人当前位置能够与所述预设沿边起点重合,使得清洁机器人通过沿图2所示的全局工作区域行走返回所述预设沿边起点A。另外,如果清洁机器人当前位置和所述预设沿边起点之间搜索出的最优路径包含的栅格数大于预设路径栅格数,则清洁机器人在当前位置处搜索不出所述预设沿边起点A,确定清洁机器人当前位置已经偏离所述预设沿边起点A,可以认为是清洁机器人远离所述预设沿边起点A。该步骤S105利用清洁机器人当前位置和所述预设沿边起点之间搜索出的最优路径长度,判断确定清洁机器人当前位置和所述预设沿边起点的重合定位条件,帮助机器人根据该步骤选择的最短路径从当前位置返回所述预设沿边起点。进一步地提高清洁机器人沿边返回出发点的定位精准性。
优选地,所述清洁机器人当前位置和预设沿边起点之间搜索出的最优路径是:根据所述机器人当前位置和所述预设沿边起点,利用A*算法求出最短路径以作为机器人导航回所述预设沿边起点的最优路径,帮助机器人以最短路径返回所述预设沿边起点。由于A*算法搜索起始位置与目标位置之间的最优路径是常规算法,在此不再赘述。
步骤S106、确定清洁机器人已经返回所述预设沿边起点。
步骤S107、确定清洁机器人没有返回所述预设沿边起点。
上述实施例中,所述预设覆盖率、所述预设漂移误差门限值和所述预设路径栅格数均和清洁机器人本身的尺寸和沿边行走路径相关,使用者可以根据需求自行修改。图2至4的实施例中,如果希望清洁机器人清扫的全局区域再大或再小一些,可对应增大或减小所述预设覆盖率;又如清洁机器人的机身尺寸较大时,对应增加所述预设漂移误差门限值和所述预设路径栅格数。
本发明实施例还公开一种芯片,内置控制程序,所述控制程序用于控制清洁机器人前述判断方法,使得控制程序包括所述判断方法的部分或全部步骤。要理解本文所述的实施例可以由硬件、软件、固件、中间件、微代码或其任意组合来实现。对于硬件实现方式,处理单元可以在一个或多个专用集成电路(ASIC) 、数字信号处理器(DSP) 、数字信号处理器件(DSPD) 、可编程逻辑器件(PLD) 、现场可编程门阵列(FPGA) 、处理器、控制器、微控制器、微处理器、被设计以执行本文所述功能的其他电子单元、或其组合内实现。当以软件、固件、中间件或微代码、程序代码或代码段来实现实施例时,可以将它们存储在诸如存储组件的机器可读介质中。
一种视觉机器人,该视觉机器人内置所述的芯片,用于在视觉机器人执行所述判断方法的过程中克服地图漂移的影响。需要说明的是,只有视觉导航的清洁机器人使用前述预设漂移阈值条件进行当前位置在全局栅格地图中的漂移判断,惯性导航的清洁机器人不能用这个方法,因为惯性导航过程中栅格地图具备大概率出错的机会,而激光导航构建的地图相对精准,基本不会出现激光栅格地图漂移的问题,但成本较高和软件控制较为复杂。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
上述实施例只为说明本发明的技术构思及特点,其目的是让熟悉该技术领域的技术人员能够了解本发明的内容并据以实施,并不能以此来限制本发明的保护范围。凡根据本发明精神实质所作出的等同变换或修饰,都应涵盖在本发明的保护范围之内。
Claims (11)
1.一种沿边行走过程中返回起点的判断方法,包括:
判断移动机器人当前位置与预设沿边起点的相对位置关系是否符合重合误差条件,是则确定移动机器人已经返回预设沿边起点,否则确定移动机器人没有返回预设沿边起点;
在判断移动机器人当前位置与预设沿边起点的相对位置关系是否符合重合误差条件之前,还包括:判断清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上所框定的地图区域面积与清洁机器人所遍历过的地图区域的面积的比值是否符合预设覆盖率条件,是则判断移动机器人当前位置与预设沿边起点的相对位置关系是否符合重合误差条件;
计算清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上所框定的地图区域的面积包括:计算清洁机器人的沿边行走路径在全局栅格地图的竖直坐标轴方向上所框定的地图区的域面积和计算清洁机器人的沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区域的面积;
计算清洁机器人的沿边行走路径在全局栅格地图的竖直坐标轴方向上所框定的地图区域的面积的方法包括:判断所述全局栅格地图的每一列的地图遍历块中是否存在沿边地图遍历块,是则在对应一列上,统计最下端的沿边地图遍历块至最上端的沿边地图遍历块之间的地图遍历块的数目,记为清洁机器人的沿边行走路径在这一列所框定的地图区域的面积;其中,清洁机器人的沿边行走路径在每一列所框定的地图区域包括同一列最下端的沿边地图遍历块和最上端的沿边地图遍历块;当按照前述步骤判断完所述全局栅格地图的所有列的地图遍历块时,将清洁机器人的沿边行走路径在每一列所框定的地图区域的面积之和设置为清洁机器人的沿边行走路径在全局栅格地图的竖直坐标轴方向上所框定的地图区域的面积;
计算清洁机器人的沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区域的面积的方法包括:判断所述全局栅格地图的每一行中是否存在沿边地图遍历块,是则在对应一行上,统计最左端的沿边地图遍历块至最右端的沿边地图遍历块之间的地图遍历块的数目,记为清洁机器人的沿边行走路径在这一行所框定的地图区域的面积;其中,清洁机器人的沿边行走路径在每一行所框定的地图区域包括同一行最左端的沿边地图遍历块和最右端的沿边地图遍历块;当按照前述步骤判断完所述全局栅格地图的所有行的地图遍历块时,将清洁机器人的沿边行走路径在每一行所框定的地图区域的面积之和设置为清洁机器人的沿边行走路径在全局栅格地图的水平坐标轴方向上所框定的地图区域的面积。
2.根据权利要求1所述判断方法,其特征在于,所述移动机器人当前位置与预设沿边起点的相对位置关系符合重合误差条件包括:
移动机器人当前位置在全局栅格地图的栅格坐标点与预设沿边起点在全局栅格地图的栅格坐标点的线段距离符合预设漂移阈值条件,且移动机器人当前位置和预设沿边起点之间搜索出的最优路径符合预设重合定位条件。
3.根据权利要求2所述判断方法,其特征在于,所述预设漂移阈值条件是移动机器人当前位置在全局栅格地图的栅格坐标点与所述预设沿边起点在全局栅格地图的栅格坐标点的线段距离小于预设漂移误差门限值;
当移动机器人当前位置在全局栅格地图的坐标点与所述预设沿边起点在全局栅格地图的坐标点的连线距离大于或等于预设漂移误差门限值时,确定移动机器人没有返回所述预设沿边起点。
4.根据权利要求3所述判断方法,其特征在于,所述预设重合定位条件是移动机器人当前位置和预设沿边起点之间搜索出的最优路径包含的栅格数小于预设路径栅格数;
在移动机器人当前位置在全局栅格地图的栅格坐标点与所述预设沿边起点在全局栅格地图的栅格坐标点的连线距离符合所述预设漂移阈值条件的前提下,如果移动机器人当前位置和所述预设沿边起点之间搜索出的最优路径包含的栅格数大于预设路径栅格数,则确定移动机器人没有返回所述预设沿边起点。
5.根据权利要求4所述判断方法,其特征在于,所述移动机器人当前位置和预设沿边起点之间搜索出的最优路径是:
根据所述移动机器人当前位置和所述预设沿边起点,利用A*算法求出最短路径以作为移动机器人导航回所述预设沿边起点的最优路径。
6.根据权利要求1所述判断方法,其特征在于,在判断清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上所框定的地图区域面积与清洁机器人所遍历过的地图区域的面积的比值是否符合预设覆盖率条件的同时,清洁机器人在这个全局工作区域内从预设沿边起点开始作沿边行走,并计算清洁机器人的沿边行走路径在全局栅格地图的各个全局坐标轴方向上所框定的地图区域面积以及清洁机器人所遍历过的地图区域的面积。
7.根据权利要求6所述判断方法,其特征在于,所述预设覆盖率条件是清洁机器人的沿边行走路径在水平坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值大于预设覆盖率,且清洁机器人的沿边行走路径在竖直坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值大于预设覆盖率;其中,全局坐标轴方向包括水平坐标轴方向和竖直坐标轴方向;
当清洁机器人的沿边行走路径在水平坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值小于或等于预设覆盖率,或者,清洁机器人的沿边行走路径在竖直坐标轴方向上所框定的地图区域面积与清洁机器人所有遍历过的地图区域的面积的比值小于或等于预设覆盖率时,确定清洁机器人没有完整地沿所述全局工作区域行走一圈。
8.根据权利要求7所述判断方法,其特征在于,在清洁机器人在这个全局工作区域内从预设沿边起点开始作沿边行走之前,还包括:
控制清洁机器人按照预设清扫方式对全局工作区域进行清扫遍历,并根据清扫遍历过程中记录的信息构建起全局栅格地图;其中,所述清洁机器人所有遍历过的地图区域的面积是从清洁机器人按照预设清扫方式对全局工作区域进行清扫遍历时开始计算的;
根据所述全局栅格地图的尺寸大小设置地图遍历块的边长,进而在地图遍历块的边长的基础上,通过计算全局栅格地图的尺寸大小和地图遍历块的边长的比值关系确定所述全局栅格地图的各个全局坐标轴方向上的地图遍历块的覆盖数量;
然后结合地图遍历块的边长及其个数计算地图遍历块的映射坐标,将地图遍历块布局到所述全局栅格地图的每一行和每一列;
其中,所述全局栅格地图的每一行的地图遍历块都设置在所述水平坐标轴方向上且在所述竖直坐标轴方向上的投影重合,所述全局栅格地图的每一列的地图遍历块都设置在所述竖直坐标轴方向上且在所述水平坐标轴方向上的投影重合;
其中,每一个地图遍历块都是依据其映射坐标合并所述全局栅格地图的栅格而成的。
9.根据权利要求8所述判断方法,其特征在于,当清洁机器人遍历过所述地图遍历块内部的任一栅格时,标记对应的地图遍历块为已走过的地图遍历块;
当清洁机器人沿边行走入所述地图遍历块的内部时,同时标记地图遍历块为沿边地图遍历块和已走过的地图遍历块,使得所述沿边行走路径由沿边地图遍历块组成。
10.一种芯片,内置控制程序,其特征在于,所述控制程序用于控制移动机器人执行权利要求1至9中任一项所述判断方法。
11.一种视觉机器人,其特征在于,该视觉机器人内置权利要求10所述的芯片,用于在视觉机器人执行权利要求1至9中任一项所述判断方法的过程中克服地图漂移的影响,以实现准确判断视觉机器人回到所述预设沿边起点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010456802.9A CN111580525B (zh) | 2020-05-26 | 2020-05-26 | 沿边行走中返回起点的判断方法、芯片及视觉机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010456802.9A CN111580525B (zh) | 2020-05-26 | 2020-05-26 | 沿边行走中返回起点的判断方法、芯片及视觉机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111580525A CN111580525A (zh) | 2020-08-25 |
CN111580525B true CN111580525B (zh) | 2023-05-05 |
Family
ID=72126925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010456802.9A Active CN111580525B (zh) | 2020-05-26 | 2020-05-26 | 沿边行走中返回起点的判断方法、芯片及视觉机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111580525B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698657A (zh) * | 2020-12-28 | 2021-04-23 | 湖南格兰博智能科技有限责任公司 | 一种扫地机器人路径规划方法 |
CN112859862A (zh) * | 2021-01-15 | 2021-05-28 | 珠海市一微半导体有限公司 | 一种利用充电桩进行地图修正的方法及系统 |
CN113031616B (zh) * | 2021-03-12 | 2023-08-01 | 湖南格兰博智能科技有限责任公司 | 一种清洁机器人返回路径规划方法、系统和清洁机器人 |
CN115363478A (zh) * | 2021-05-17 | 2022-11-22 | 尚科宁家(中国)科技有限公司 | 一种清洁机器人重定位失败的清洁方法和清洁机器人 |
CN113804209B (zh) * | 2021-05-27 | 2024-01-09 | 中国人民解放军战略支援部队信息工程大学 | 一种四角格网高精度长距离越野路径规划方法 |
CN113344263B (zh) * | 2021-05-28 | 2022-12-27 | 深圳市无限动力发展有限公司 | 沿边行走过程的轨迹闭合判断方法、装置及计算机设备 |
CN113344265B (zh) * | 2021-05-28 | 2023-04-04 | 深圳市无限动力发展有限公司 | 轨迹闭合判断方法、装置、计算机设备和存储介质 |
CN114427310A (zh) * | 2022-02-18 | 2022-05-03 | 智橙动力(北京)科技有限公司 | 泳池边缘清洗方法、装置、电子设备及计算机存储介质 |
CN117193277A (zh) * | 2022-05-30 | 2023-12-08 | 珠海一微半导体股份有限公司 | 基于地图区域轮廓的设置方法与机器人沿边结束控制方法 |
CN117652916A (zh) * | 2022-08-18 | 2024-03-08 | 科沃斯家用机器人有限公司 | 清洁设备的控制方法、清洁设备及存储介质 |
CN116274170B (zh) * | 2023-03-27 | 2023-10-13 | 中建三局第一建设工程有限责任公司 | 一种激光清洗设备的控制方法、系统及相关装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2344900A (en) * | 1998-12-18 | 2000-06-21 | Notetry Ltd | Robotic floor cleaning device with obstacle detection |
CN107340768A (zh) * | 2016-12-29 | 2017-11-10 | 珠海市微半导体有限公司 | 一种智能机器人的路径规划方法 |
CN107703930A (zh) * | 2017-10-11 | 2018-02-16 | 珠海市微半导体有限公司 | 机器人的续扫控制方法 |
CN108196555A (zh) * | 2018-03-09 | 2018-06-22 | 珠海市微半导体有限公司 | 自主移动机器人沿边行走的控制方法 |
CN108507578A (zh) * | 2018-04-03 | 2018-09-07 | 珠海市微半导体有限公司 | 一种全局边界地图的构建方法及其导航方法 |
CN108919814A (zh) * | 2018-08-15 | 2018-11-30 | 杭州慧慧科技有限公司 | 割草机工作区域生成方法、装置及系统 |
CN110244720A (zh) * | 2019-06-04 | 2019-09-17 | 浙江海洋大学 | 用于海上无人艇的路径规划方法及系统 |
CN110286669A (zh) * | 2018-03-19 | 2019-09-27 | 科沃斯机器人股份有限公司 | 自移动机器人的行走作业方法 |
CN110361017A (zh) * | 2019-07-19 | 2019-10-22 | 西南科技大学 | 一种基于栅格法的扫地机器人全遍历路径规划方法 |
WO2019201188A1 (zh) * | 2018-04-15 | 2019-10-24 | 张舒怡 | 机器人的路径规划 |
-
2020
- 2020-05-26 CN CN202010456802.9A patent/CN111580525B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2344900A (en) * | 1998-12-18 | 2000-06-21 | Notetry Ltd | Robotic floor cleaning device with obstacle detection |
CN107340768A (zh) * | 2016-12-29 | 2017-11-10 | 珠海市微半导体有限公司 | 一种智能机器人的路径规划方法 |
CN107703930A (zh) * | 2017-10-11 | 2018-02-16 | 珠海市微半导体有限公司 | 机器人的续扫控制方法 |
CN108196555A (zh) * | 2018-03-09 | 2018-06-22 | 珠海市微半导体有限公司 | 自主移动机器人沿边行走的控制方法 |
CN110286669A (zh) * | 2018-03-19 | 2019-09-27 | 科沃斯机器人股份有限公司 | 自移动机器人的行走作业方法 |
CN108507578A (zh) * | 2018-04-03 | 2018-09-07 | 珠海市微半导体有限公司 | 一种全局边界地图的构建方法及其导航方法 |
WO2019201188A1 (zh) * | 2018-04-15 | 2019-10-24 | 张舒怡 | 机器人的路径规划 |
CN108919814A (zh) * | 2018-08-15 | 2018-11-30 | 杭州慧慧科技有限公司 | 割草机工作区域生成方法、装置及系统 |
CN110244720A (zh) * | 2019-06-04 | 2019-09-17 | 浙江海洋大学 | 用于海上无人艇的路径规划方法及系统 |
CN110361017A (zh) * | 2019-07-19 | 2019-10-22 | 西南科技大学 | 一种基于栅格法的扫地机器人全遍历路径规划方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111580525A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111580525B (zh) | 沿边行走中返回起点的判断方法、芯片及视觉机器人 | |
CN111596662B (zh) | 一种沿全局工作区域一圈的判断方法、芯片及视觉机器人 | |
CN108507578B (zh) | 一种机器人的导航方法 | |
CN111857127B (zh) | 一种机器人沿边行走的清洁分区规划方法、芯片及机器人 | |
CN111830970B (zh) | 一种机器人沿边行走的区域清扫规划方法、芯片及机器人 | |
CN109974725B (zh) | 一种路网拓扑构建方法、导航路径计算方法及装置 | |
CN111638713B (zh) | 可通行区域的框定方法、面积计算方法、芯片及机器人 | |
CN112137529B (zh) | 一种基于密集障碍物的清扫控制方法 | |
CN104615138A (zh) | 一种划分移动机器人室内区域动态覆盖方法及其装置 | |
US20230337880A1 (en) | Method for Establishing Map Traversal Blocks of Global Grid Map, Chip, and Mobile Robot | |
CN105606102B (zh) | 一种基于格网模型的pdr室内定位方法及系统 | |
CN108444484B (zh) | 一种构建栅格地图的控制方法和芯片及机器人 | |
CN111906779B (zh) | 一种越障结束判断方法、越障控制方法、芯片及机器人 | |
CN109211238B (zh) | 一种实时定位防穿越优化方法 | |
CN111938513A (zh) | 一种机器人越障的沿边路径选择方法、芯片及机器人 | |
CN111552290B (zh) | 一种机器人沿墙找直线的方法及清扫方法 | |
CN112539749A (zh) | 机器人导航方法、机器人、终端设备及存储介质 | |
CN103596263A (zh) | 一种室内定位中获取位置的方法及装置 | |
CN113467482A (zh) | 一种自清洁的清洁机器人清扫路径规划方法及清洁机器人 | |
CN114035572A (zh) | 一种割草机器人的避障巡回方法及系统 | |
CN114217622A (zh) | 一种基于bim的机器人自主导航方法 | |
CN110686693A (zh) | 封闭场景内路网信息的构建方法 | |
CN112155477B (zh) | 一种基于栅格地图的密集障碍物点标记方法 | |
CN116138688A (zh) | 一种弓扫运动引导方法 | |
CN116942018A (zh) | 基于特定介质区域的机器人控制方法、机器人及芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd. Address before: Room 105-514, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |