CN111366163A - 一种拓扑地图的处理方法、装置及存储介质 - Google Patents

一种拓扑地图的处理方法、装置及存储介质 Download PDF

Info

Publication number
CN111366163A
CN111366163A CN201811595182.6A CN201811595182A CN111366163A CN 111366163 A CN111366163 A CN 111366163A CN 201811595182 A CN201811595182 A CN 201811595182A CN 111366163 A CN111366163 A CN 111366163A
Authority
CN
China
Prior art keywords
circle
area
walkable
contact surfaces
topological
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.)
Granted
Application number
CN201811595182.6A
Other languages
English (en)
Other versions
CN111366163B (zh
Inventor
许义恒
彭浩
郭若楠
韩松杉
张弥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Sineva Intelligent Technology Co ltd
Original Assignee
Beijing Sineva Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sineva Technology Co ltd filed Critical Beijing Sineva Technology Co ltd
Priority to CN201811595182.6A priority Critical patent/CN111366163B/zh
Publication of CN111366163A publication Critical patent/CN111366163A/zh
Application granted granted Critical
Publication of CN111366163B publication Critical patent/CN111366163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本申请公开了一种拓扑地图的处理方法、装置及存储介质,涉及拓扑地图领域,用以解决现有技术中,通过手动选点来进行拓扑节点的选择,导致选择拓扑节点不方便的问题。该方法包括:确定全局地图中的可行走区域与不可行走区域;在所述可行走区域中随机生成半径可变的圆;通过生成的圆遍历所述可行走区域,并将与所述不可行走区域的接触面的数量大于两处的位置的圆的圆心确定为拓扑节点;根据确定的拓扑节点生成拓扑地图。这样,通过生成的圆对拓扑节点的自动选择,实现了自动选点,提高了工作效率。

Description

一种拓扑地图的处理方法、装置及存储介质
技术领域
本申请涉及拓扑地图领域,尤其涉及一种拓扑地图的处理方法、装置及存储介质。
背景技术
随着科技的发展,移动机器人在的生活中出现的越来越多,比如扫地机器人、家庭机器人、AGV等。而移动机器人的运动规划能力在日常使用中变得尤为重要,规划能力主要体现在规划路径更优,规划时间更短。
规划路径时,通常基于拓扑地图进行路线规划,而拓扑地图是根据拓扑节点得到。现有技术中,通过手动选点来进行拓扑节点的选择,导致选择拓扑节点不方便。
发明内容
本申请实施例提供一种拓扑地图的处理方法、装置及存储介质。用以解决现有技术中,通过手动选点来进行拓扑节点的选择,导致选择拓扑节点不方便的问题。这样,通过生成的圆对拓扑节点的自动选择,实现了自动选点,提高了工作效率。
第一方面,本申请实施例提供了一种拓扑地图的处理方法,所述方法包括:
确定全局地图中的可行走区域与不可行走区域;
在所述可行走区域中随机生成半径可变的圆;
通过生成的圆遍历所述可行走区域,并将与所述不可行走区域的接触面的数量大于两处的位置的圆的圆心确定为拓扑节点;
根据确定的拓扑节点生成拓扑地图。
第二方面,本申请实施例提供了一种拓扑地图的处理装置,所述装置包括:
确定区域模块,用于确定全局地图中的可行走区域与不可行走区域;
生成模块,用于在所述可行走区域中随机生成半径可变的圆;
确定拓扑节点模块,用于通过生成的圆遍历所述可行走区域,并将与所述不可行走区域的接触面的数量大于两处的位置的圆的圆心确定为拓扑节点;
生成拓扑地图模块,用于根据确定的拓扑节点生成拓扑地图。
第三方面,本申请另一实施例还提供了一种计算装置,包括至少一个处理器;以及;
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例提供的一种拓扑地图的处理方法。
第四方面,本申请另一实施例还提供了一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行本申请实施例中的一种拓扑地图的处理方法。
本申请实施例提供的一种拓扑地图的处理方法、装置及存储介质,通过即时定位与地图构建技术生成全局地图,并确定全局地图中的可行走区域与不可行走区域,通过在可行走区域中生成的圆对全局地图进行选择拓扑节点,根据确定的拓扑节点生成拓扑地图。这样,通过生成的圆对拓扑节点的自动选择,实现了自动选点,提高了工作效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中拓扑地图的处理方法的流程示意图;
图2为本申请实施例中在可行走区域生成圆的示意图;
图3为本申请实施例中圆与不可行走区域的接触面大于两处示意图;
图4为本申请实施例中圆与不可行走区域的接触面大于两处示意图;
图5为本申请实施例中圆与不可行走区域的接触面大于两处示意图;
图6为本申请实施例中需要移动圆的示意图;
图7为本申请实施例中移动圆后的示意图;
图8为本申请实施例中圆为与不可行走区域接触的示意图;
图9为本申请实施例中圆与不可行走区域的接触面为一处的示意图;
图10为本申请实施例中圆与不可行走区域的接触面为两处的示意图;
图11为本申请实施例中分别生成圆的示意图;
图12为本申请实施例中选择拓扑节点的流程示意图;
图13为本申请实施例中拓扑地图的处理结构示意图;
图14为根据本申请实施方式的计算装置的结构示意图。
具体实施方式
为了可以实现自动选取拓扑节点,提高工作效率,本申请实施例中提供一种拓扑地图的处理方法、装置及存储介质。为了更好的理解本申请实施例提供的技术方案,这里对该方案的基本原理做一下简单说明:
通过SLAM(simultaneous localization and mapping,即时定位与地图构建)技术生成全局地图,并确定全局地图中的可行走区域与不可行走区域,通过在可行走区域中生成的圆对全局地图进行选择拓扑节点,根据确定的拓扑节点生成拓扑地图。这样,通过生成的圆对拓扑节点的自动选择,实现了自动选点,提高了工作效率。
下面结合参照附图对本申请实施例提供的拓扑地图的处理方法作进一步说明。图1为拓扑地图的处理方法的流程示意图,包括以下步骤:
步骤101:确定全局地图中的可行走区域与不可行走区域。
步骤102:在所述可行走区域中随机生成半径可变的圆。
其中,可行走区域与不可行走区域在全局地图中可由不同颜色来表示。在可行走区域生成半径可变的圆如图2所示,白色区域为可行走区域,灰色区域为不可行走区域。
步骤103:通过生成的圆遍历所述可行走区域,并将与所述不可行走区域的接触面的数量大于两处的位置的圆的圆心确定为拓扑节点。
步骤104:根据确定的拓扑节点生成拓扑地图。
其中,将确定的拓扑节点进行连通性分析,根据分析得到的结果生成拓扑地图。这样,通过生成的圆对拓扑节点的自动选择,实现了自动选点,提高了工作效率。
当通过本申请实施例中记载的方案生成拓扑地图后,确定机器人的起点与终点,并会根据该拓扑地图生成一条从起点到终点路径最短的路线作为预先规划的路线。其中,可采用D算法确定从起点到终点的路径最短的路线。
在本申请实施例中,机器人在按照预先规划的路线行走时,若发现地图发生变化,则会对发生变化的区域中更新拓扑节点。具体可实施为步骤A1-A6:
步骤A1:按照预先规划的路线行走,并在行走过程中实时采集图像,并通过即时定位与地图构建技术对采集的图像生成局部地图。
步骤A2:若生成的局部地图与所述全局地图中的该部分地图相比发生变化,则从生成的局部地图中确定发生变化的区域,以及确定所述发生变化的区域中的可行走区域与不可行走区域。
其中,可行走区域与不可行走区域在发生变化的区域中可由不同颜色来表示。例如全局地图中,白色表示可行走区域,黑色表示不可行走区域。
步骤A3:在所述发生变化的区域中的可行走区域随机生成半径可变的圆。
步骤A4:通过生成的圆遍历所述发生变化的区域中的可行走区域,并将与所述发生变化的区域中的不可行走区域的接触面的数量大于两处的位置的圆的圆心确定为拓扑节点。
具体实施时,可将生成的圆调整为与不可行走区域的接触面为两处,并将生成的圆在发生变化的区域中的可行走区域中移动一遍,若在移动过程中,生成的圆与不可行走区域的接触面大于两处时,将此时位置的圆的圆心作为拓扑节点。如图3所示。生成的圆与灰色的不可行走区域相交,形成了三处重叠区域(图中的黑色区域),即生成的圆与不可行走区域的接触面有三个(接触面大于两处),将此时的圆的圆心作为拓扑节点。
步骤A5:将发生变化的区域的拓扑节点与全局地图中除所述发生变化的区域之外的区域中的拓扑节点进行连通性分析。
步骤A6:根据连通性分析的结果,更新拓扑地图。
这样,当机器人在行走过程中,若地图发生变化导致无法继续采用之前规划的路线行走时,则通过对发生变化的区域的拓扑节点进行更新,实现拓扑地图的实时更新,从而根据更新的拓扑地图对路线进行重新规划,提高机器人的规划能力。
在本申请实施例中,对拓扑地图进行更新时,除了在发生变化的区域中的可行走区域中随机生成半径可变的圆,还需要对发生变化的区域中的不可行走区域是否有拓扑节点进行判断,具体实施为步骤B1-B2:
步骤B1:在所述拓扑地图中查找所述发生变化区域中的不可行走区域中是否存在拓扑节点。
步骤B2:若存在,则将所述发生变化区域中的不可行走区域中的拓扑节点删除。
当地图发生变化时,不可行走区域中可能会出现拓扑节点,因为不可行走区域中不能出现拓扑节点,所以不可行走区域中出现的拓扑节点为错误的拓扑节点,因此,需要将不可行走区域中的拓扑节点删除。而在不可行走区域中删除拓扑节点的步骤与在可行走区域中生成圆的步骤顺序不受限。这样,通过只对发生变化的区域进行拓扑节点的处理,可以节省更新拓扑地图的时间,提高了机器人的规划能力。
需要说明的是,生成拓扑地图时选择拓扑节点的方法与更新拓扑地图时选择拓扑节点的方法相同,下面对如何确定拓扑节点进行详细的说明。
在本申请实施例中,在可行走区域中随机生成半径可变的圆;通过圆遍历可行走区域,并将与不可行走区域的接触面的数量大于两处的位置的圆的圆心作为选择的拓扑节点。具体可实施为步骤C1-C6:
步骤C1:确定圆与不可行走区域的接触面的数量。
首先,判断生成的圆与不可行走区域的接触面有几处。可通过生成的圆的半径与可行走区域的路宽确定生成的圆是否与不可行走区域接触。
步骤C2:若圆与不可行走区域的接触面大于两处,则将该圆的圆心作为拓扑节点,并执行步骤C4。
步骤C3:若圆与不可行走区域的接触面不大于两处,则对圆进行调整,使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值,并执行步骤C4。
其中,使圆与不可行走区域的接触面的面积均不大于预设值是为了使生成的圆的直径稍超过可行走区域的路宽,这样生成的圆不会因面积过大导致选择的拓扑节点不准确,可以减少误差。
步骤C4:确定是否有未移动过的可行走区域。
步骤C5:若有,则将圆向未移动过的可行走区域移动后返回执行步骤B1。
步骤C6:若没有,则确定发生变化的区域的多个拓扑节点选择完毕。
这样,与现有技术相比,无需进行手动选择拓扑节点,通过在可行走区域生成圆,并根据圆与不可行走区域的接触面的数量来选择拓扑节点,即可自动进行选点,以完成新的规划路线。
在本申请实施例中,实施步骤C2确定拓扑节点之前,需要判断该圆与不可行走区域的所有接触面是否在同一个半圆内,若是,则将该圆的圆心作为拓扑节点。如图3、图4以及图5所示,图3中,生成的圆与灰色的不可行走区域相交,形成了三处重叠区域(图中的黑色区域),即有三处接触面,且这三处接触面并不在同一个半圆内;图4中,生成的圆与灰色的不可行走区域相交,形成了四处重叠区域(图中的黑色区域),即有四处接触面,且这四处接触面并不在同一个半圆内;图5中,生成的圆与灰色的不可行走区域相交,形成了三处重叠区域(图中的黑色区域),即有三处接触面,且这三处接触面并不在同一个半圆内。因此,图中的圆与不可行走区域的接触面均大于两处,且圆与不可行走区域的所有接触面均不在同一个半圆内,所以将此时圆的圆心作为拓扑节点。
若判断该圆与不可行走区域的所有接触面不在同一个半圆内,则需要对圆进行调整,并将调整后的圆的圆心作为拓扑节点。具体可实施为步骤D1-D2:
步骤D1:将圆向没有接触面的半圆的方向移动,使所有接触面不在同一个半圆内。
步骤D2:将此移动后的圆的圆心作为拓扑节点。
如图6所示,生成的圆与灰色的不可行走区域相交,形成了三处重叠区域(图中的黑色区域),即有三处接触面,且这三处接触面在同一个半圆内。因此,虽然圆与不可行走区域的接触面为三处,但是三处接触面在同一个半圆内,需要对其向右移动,使得圆与不可行走区域的所有接触面不在同一个半圆内,如图7所示,移动后的圆与灰色的不可行走区域相交,形成了四处重叠区域(图中的黑色区域),即有四处接触面,且这四处接触面并不在同一个半圆内。将此时圆的圆心作为拓扑节点。这样,将圆调整为与不可行走区域的所有接触面不在同一个半圆内,使得选择的拓扑节点更加准确。
上面介绍了圆与不可行走区域的接触面大于两处时的操作,下面对圆与不可行走区域的接触面不大于两处时的调整操作进行详细说明。
在本申请实施例中,步骤C3的情况包括:圆未与不可行走区域接触、圆与不可行走区域的接触面为一处以及圆与不可行走区域的接触面为两处。对于不同的情况,进行不同的调整。
若圆未与不可行走区域接触,则增大圆的半径并调整圆,使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值;如图8所示,图中左边的圆为未调整的圆,其直径小于可行走区域的路宽,因此,需要增大圆的半径,使圆与不可行走区域的接触面为两处,即上下各一处接触面(图中的黑色区域);且这两处的接触面的面积相同且均不大于预设值,如图8中右边的圆所示。
若圆与不可行走区域的接触面为一处,则将圆向与圆心到接触面的方向相反的方向移动,使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值;其中,若圆的直径小于可行走区域的路宽,可适当增加圆的半径;如图9所示,图中左边的圆为未调整的圆,与不可行走区域的接触面为一处,即圆与不可行走区域相交的重叠区域(图中的黑色区域);因此,将该圆向与圆心到接触面的方向相反的方向移动,即图9中的下方移动,使圆与不可行走区域的接触面为两处,即上下各一处接触面(图中的黑色区域);且这两处的接触面的面积相同且均不大于预设值,如图9中右边的圆所示。
若圆与不可行走区域的接触面为两处且存在至少一个接触面的面积大于预设值,则减小圆的半径,并使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值;如图10所示,图中左边的圆为未调整的圆,与不可行走区域的接触面为两处,即圆与不可行走区域相交的两处重叠区域(图中的黑色区域),且两处接触面的面积并不相同且均大于预设值;因此,将该圆向接触面面积小的方向移动,即图10中的下方移动,并减小圆的半径,使圆与不可行走区域的接触面为两处,即上下各一处接触面(图中的黑色区域);且这两处的接触面的面积相同且均不大于预设值,如图10中右边的圆所示。
这样,通过对圆的调整,使圆心保持在可行走区域的中心位置。使得选择的拓扑节点更加准确。
在本申请实施例中,若圆向未移动过的可行走区域移动时,未移动过的可行走区域有多处,可以生成多个圆同时移动,具体可实施为步骤E1-E2:
步骤E1:若未移动过的可行走区域有多处,则对各未移动过的可行走区域分别生成一个圆。
步骤E2:将生成的各圆向未移动过的可行走区域移动。
如图11所示,其中2为移动过的可行走区域,1和3为未移动过的可行走区域。当圆从2区域移动到交叉路口时(图11中的中间的圆),会在交叉路口生成两个圆,并分别向1区域和3区域移动。这样,通过生成多个圆进行选择拓扑节点,可以更快的选完拓扑节点,提高效率。
上面从各个方面介绍了选点时对生成的圆进行的调整,下面对通过生成的圆进行选点的整体流程作进一步说明。如图12所示。
步骤1201:在可行走区域中随机生成半径可变的圆。
步骤1202:判断圆与不可行走区域的接触面的数量是否大于两处;若是,则执行步骤1203;若不是,则执行步骤1206。
步骤1203:判断圆与不可行走区域的所有接触面是否在同一个半圆内;若是,则执行步骤1207;若不是,则执行步骤1204。
步骤1204:将该圆的圆心作为拓扑节点。
步骤1205:判断是否有未通过圆遍历过的可行走区域;若有,则执行步骤1209;若没有,则执行步骤1210。
步骤1206:对圆进行调整,使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值,并执行步骤1205。
步骤1207:将圆向没有接触面的半圆的方向移动,使所有接触面不在同一个半圆内。
步骤1208:将此移动后的圆的圆心作为拓扑节点,并执行步骤1205。
步骤1209:将圆向未移动过的可行走区域移动,并返回执行步骤1202。
步骤1210:确定多个拓扑节点选择完毕。
基于相同的发明构思,本申请实施例还提供了一种拓扑地图的处理装置。
如图13所示,该装置包括:
确定区域模块1301,用于确定全局地图中的可行走区域与不可行走区域;
第一生成圆模块1302,用于在所述可行走区域中随机生成半径可变的圆;
第一确定拓扑节点模块1303,用于通过生成的圆遍历所述可行走区域,并将与所述不可行走区域的接触面的数量大于两处的位置的圆的圆心确定为拓扑节点;
生成拓扑地图模块1304,用于根据确定的拓扑节点生成拓扑地图。
进一步的,确定拓扑节点模块1303包括:
确定数量单元,用于确定圆与不可行走区域的接触面的数量;
确定拓扑节点单元,用于若圆与不可行走区域的接触面大于两处,则将该圆的圆心作为拓扑节点,并将圆向未移动过的可行走区域移动后返回执行确定圆与不可行走区域的接触面的数量的步骤;
调整单元,用于若圆与不可行走区域的接触面不大于两处,则对圆进行调整,使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值,并将圆向未移动过的可行走区域移动后返回执行确定圆与不可行走区域的接触面的数量的步骤;
确定区域单元,用于确定是否有未移动过的可行走区域;
确定移动单元,用于若有,则返回执行将圆向未移动过的可行走区域移动的步骤;
确定选择完毕单元,用于若没有,则确定发生变化的区域的拓扑节点选择完毕。
进一步的,调整单元包括:
第一调整子单元,用于若圆未与不可行走区域接触,则增大圆的半径并调整圆,使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值;
第二调整子单元,用于若圆与不可行走区域的接触面为一处,则将圆向与圆心到接触面的方向相反的方向移动,使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值;
第三调整子单元,用于若圆与不可行走区域的接触面为两处且存在至少一个接触面的面积大于预设值,则减小圆的半径,并使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值。
进一步的,确定拓扑节点单元用于若圆与不可行走区域的接触面大于两处,则将该圆的圆心作为拓扑节点之前,所述装置还包括:
确定半圆模块,用于确定该圆与不可行走区域的所有接触面不在同一个半圆内。
进一步的,若圆与不可行走区域的接触面大于两处,但确定该圆与不可行走区域的所有接触面在同一个半圆内,所属装置还包括:
移动模块,用于将圆向没有接触面的半圆的方向移动,使所有接触面不在同一个半圆内;
第二确定拓扑节点模块,用于将此移动后的圆的圆心作为拓扑节点。
进一步的,确定拓扑节点单元以及调整单元包括:
生成圆子单元,用于若未移动过的可行走区域有多处,则对各未移动过的可行走区域分别生成一个圆;
移动子单元,用于将生成的各圆向未移动过的可行走区域移动。
进一步的,所述装置还包括:
生成局部地图模块,用于按照预先规划的路线行走,并在行走过程中实时采集图像,并通过即时定位与地图构建技术对采集的图像生成局部地图;
确定发生变化模块,用于若生成的局部地图与所述全局地图中的该部分地图相比发生变化,则从生成的局部地图中确定发生变化的区域,以及确定所述发生变化的区域中的可行走区域与不可行走区域;
第二生成圆模块,用于在所述发生变化的区域中的可行走区域中随机生成半径可变的圆;
第三确定拓扑节点模块,用于通过生成的圆遍历所述发生变化的区域中的可行走区域,并将与所述发生变化的区域中的不可行走区域的接触面的数量大于两处的位置的圆的圆心确定为拓扑节点;
分析模块,用于将发生变化的区域的拓扑节点与全局地图中除所述发生变化的区域之外的区域中的拓扑节点进行连通性分析;
更新模块,用于根据连通性分析的结果,更新拓扑地图。
进一步的,确定发生变化模块确定所述发生变化的区域中的可行走区域与不可行走区域之后,所述装置还包括:
查找模块,用于在所述拓扑地图中查找所述发生变化区域中的不可行走区域中是否存在拓扑节点;
删除模块,用于若存在,则将所述发生变化区域中的不可行走区域中的拓扑节点删除。
在介绍了本申请示例性实施方式的拓扑地图的处理的方法及装置之后,接下来,介绍根据本申请的另一示例性实施方式的计算装置。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的实施例,计算装置可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的拓扑地图的处理方法中的步骤101-104。
下面参照图14来描述根据本申请的这种实施方式的计算装置140。图14显示的计算装置140仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。该计算装置例如可以是手机、平板电脑等。
如图14所示,计算装置140以通用计算装置的形式表现。计算装置140的组件可以包括但不限于:上述至少一个处理器141、上述至少一个存储器142、连接不同系统组件(包括存储器142和处理器141)的总线143。
总线143表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器142可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1421和/或高速缓存存储器1422,还可以进一步包括只读存储器(ROM)1423。
存储器142还可以包括具有一组(至少一个)程序模块1424的程序/实用工具1425,这样的程序模块1424包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置140也可以与一个或多个外部设备144(例如指向设备等)通信,还可与一个或者多个使得用户能与计算装置140交互的设备通信,和/或与使得该计算装置140能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口145进行。并且,计算装置140还可以通过网络适配器146与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器146通过总线143与用于计算装置140的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置140使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的拓扑地图的处理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的拓扑地图的处理的方法中的步骤,执行如图1中所示的步骤101-104。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请实施方式的拓扑地图的处理方法可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (11)

1.一种拓扑地图的处理方法,其特征在于,所述方法包括:
确定全局地图中的可行走区域与不可行走区域;
在所述可行走区域中随机生成半径可变的圆;
通过生成的圆遍历所述可行走区域,并将与所述不可行走区域的接触面的数量大于两处的位置的圆的圆心确定为拓扑节点;
根据确定的拓扑节点生成拓扑地图。
2.根据权利要求1所述的方法,其特征在于,所述通过所述圆遍历所述可行走区域,并将与所述不可行走区域的接触面的数量大于两处的位置的圆的圆心作为拓扑节点,具体包括:
确定圆与不可行走区域的接触面的数量;
若圆与不可行走区域的接触面大于两处,则将该圆的圆心作为拓扑节点,并将圆向未移动过的可行走区域移动后返回执行确定圆与不可行走区域的接触面的数量的步骤;
若圆与不可行走区域的接触面不大于两处,则对圆进行调整,使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值,并将圆向未移动过的可行走区域移动后返回执行确定圆与不可行走区域的接触面的数量的步骤;
确定是否有未移动过的可行走区域;
若有,则返回执行将圆向未移动过的可行走区域移动的步骤;
若没有,则确定拓扑节点选择完毕。
3.根据权利要求2所述的方法,其特征在于,所述若圆与不可行走区域的接触面不大于两处,则对圆进行调整,使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值,具体包括:
若圆未与不可行走区域接触,则增大圆的半径并调整圆,使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值;
若圆与不可行走区域的接触面为一处,则将圆向与圆心到接触面的方向相反的方向移动,使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值;
若圆与不可行走区域的接触面为两处且存在至少一个接触面的面积大于预设值,则减小圆的半径,并使圆与不可行走区域的接触面为两处且两处接触面的面积相同且均不大于预设值。
4.根据权利要求2所述的方法,其特征在于,所述若圆与不可行走区域的接触面大于两处,则将该圆的圆心作为拓扑节点之前,所述方法还包括:
确定该圆与不可行走区域的所有接触面不在同一个半圆内。
5.根据权利要求3所述的方法,其特征在于,若圆与不可行走区域的接触面大于两处,但确定该圆与不可行走区域的所有接触面在同一个半圆内,所述方法还包括:
将圆向没有接触面的半圆的方向移动,使所有接触面不在同一个半圆内;
将此移动后的圆的圆心作为拓扑节点。
6.根据权利要求2所述的方法,其特征在于,将圆向未移动过的可行走区域移动,具体包括:
若未移动过的可行走区域有多处,则对各未移动过的可行走区域分别生成一个圆;
将生成的各圆向未移动过的可行走区域移动。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照预先规划的路线行走,并在行走过程中实时采集图像,并通过即时定位与地图构建技术对采集的图像生成局部地图;
若生成的局部地图与所述全局地图中的该部分地图相比发生变化,则从生成的局部地图中确定发生变化的区域,以及确定所述发生变化的区域中的可行走区域与不可行走区域;
在所述发生变化的区域中的可行走区域中随机生成半径可变的圆;
通过生成的圆遍历所述发生变化的区域中的可行走区域,并将与所述发生变化的区域中的不可行走区域的接触面的数量大于两处的位置的圆的圆心确定为拓扑节点;
将发生变化的区域的拓扑节点与全局地图中除所述发生变化的区域之外的区域中的拓扑节点进行连通性分析;
根据连通性分析的结果,更新拓扑地图。
8.根据权利要求7所述的方法,其特征在于,所述确定所述发生变化的区域中的可行走区域与不可行走区域之后,所述方法还包括:
在所述拓扑地图中查找所述发生变化区域中的不可行走区域中是否存在拓扑节点;
若存在,则将所述发生变化区域中的不可行走区域中的拓扑节点删除。
9.一种拓扑地图的处理装置,其特征在于,应用于机器人,所述装置包括:
确定区域模块,用于确定全局地图中的可行走区域与不可行走区域;
生成模块,用于在所述可行走区域中随机生成半径可变的圆;
确定拓扑节点模块,用于通过生成的圆遍历所述可行走区域,并将与所述不可行走区域的接触面的数量大于两处的位置的圆的圆心确定为拓扑节点;
生成拓扑地图模块,用于根据确定的拓扑节点生成拓扑地图。
10.一种计算机可读介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1-8中任一权利要求所述的方法。
11.一种计算装置,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任一权利要求所述的方法。
CN201811595182.6A 2018-12-25 2018-12-25 一种拓扑地图的处理方法、装置及存储介质 Active CN111366163B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811595182.6A CN111366163B (zh) 2018-12-25 2018-12-25 一种拓扑地图的处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811595182.6A CN111366163B (zh) 2018-12-25 2018-12-25 一种拓扑地图的处理方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN111366163A true CN111366163A (zh) 2020-07-03
CN111366163B CN111366163B (zh) 2023-06-02

Family

ID=71204497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811595182.6A Active CN111366163B (zh) 2018-12-25 2018-12-25 一种拓扑地图的处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111366163B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741422A (zh) * 2021-07-30 2021-12-03 深圳市普渡科技有限公司 机器人拓扑地图生成系统、方法、计算机设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547763A (zh) * 2012-01-29 2012-07-04 清华大学 无线网络拓扑控制方法
CN103677315A (zh) * 2013-12-03 2014-03-26 方正国际软件有限公司 一种触摸式点选线几何对象的方法及系统
WO2015120753A1 (zh) * 2014-02-12 2015-08-20 韩磊 计算机互联网多个机器人组成的电动汽车电池组更换系统
JP2015210626A (ja) * 2014-04-25 2015-11-24 株式会社日立ソリューションズ 地図のネットワークデータ自動生成装置、ネットワークデータ自動生成方法及びネットワークデータ自動生成プログラム
CN105553728A (zh) * 2015-12-18 2016-05-04 南京大学 一种基于软件定义网络技术的网络容灾恢复系统及方法
CN105629989A (zh) * 2015-12-28 2016-06-01 电子科技大学 基于最小外包圆和最大内接圆的障碍区域划分方法
CN107169611A (zh) * 2017-06-09 2017-09-15 金陵科技学院 一种图形化方式规划agv行走区域并监控其运行的方法
CN107179082A (zh) * 2017-07-07 2017-09-19 上海阅面网络科技有限公司 基于拓扑地图和度量地图融合的自主探索方法和导航方法
CN107728608A (zh) * 2016-08-10 2018-02-23 向忠宏 一种移动机器人路径规划方法
CN108592912A (zh) * 2018-03-24 2018-09-28 北京工业大学 一种基于激光雷达的室内移动机器人自主探索方法
US20220390950A1 (en) * 2021-06-04 2022-12-08 Boston Dynamics, Inc. Directed exploration for navigation in dynamic environments

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547763A (zh) * 2012-01-29 2012-07-04 清华大学 无线网络拓扑控制方法
CN103677315A (zh) * 2013-12-03 2014-03-26 方正国际软件有限公司 一种触摸式点选线几何对象的方法及系统
WO2015120753A1 (zh) * 2014-02-12 2015-08-20 韩磊 计算机互联网多个机器人组成的电动汽车电池组更换系统
JP2015210626A (ja) * 2014-04-25 2015-11-24 株式会社日立ソリューションズ 地図のネットワークデータ自動生成装置、ネットワークデータ自動生成方法及びネットワークデータ自動生成プログラム
CN105553728A (zh) * 2015-12-18 2016-05-04 南京大学 一种基于软件定义网络技术的网络容灾恢复系统及方法
CN105629989A (zh) * 2015-12-28 2016-06-01 电子科技大学 基于最小外包圆和最大内接圆的障碍区域划分方法
CN107728608A (zh) * 2016-08-10 2018-02-23 向忠宏 一种移动机器人路径规划方法
CN107169611A (zh) * 2017-06-09 2017-09-15 金陵科技学院 一种图形化方式规划agv行走区域并监控其运行的方法
CN107179082A (zh) * 2017-07-07 2017-09-19 上海阅面网络科技有限公司 基于拓扑地图和度量地图融合的自主探索方法和导航方法
CN108592912A (zh) * 2018-03-24 2018-09-28 北京工业大学 一种基于激光雷达的室内移动机器人自主探索方法
US20220390950A1 (en) * 2021-06-04 2022-12-08 Boston Dynamics, Inc. Directed exploration for navigation in dynamic environments

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王楠;马书根;李斌;王明辉;赵明扬;: "基于拓扑米制混合地图的废墟环境同步定位与地图创建" *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741422A (zh) * 2021-07-30 2021-12-03 深圳市普渡科技有限公司 机器人拓扑地图生成系统、方法、计算机设备及存储介质
CN113741422B (zh) * 2021-07-30 2024-04-12 深圳市普渡科技有限公司 机器人拓扑地图生成系统、方法、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111366163B (zh) 2023-06-02

Similar Documents

Publication Publication Date Title
US10866104B2 (en) Route-deviation recognition method, terminal, and storage medium
EP3660618A1 (en) Map construction and positioning of robot
CN110146098B (zh) 一种机器人地图扩建方法、装置、控制设备和存储介质
BR112013026178A2 (pt) método e sistema para coordenar o planejamento de trajeto
JP2022082419A (ja) 動作環境におけるルートプランを最適化するためのシステム及び方法
US10611028B1 (en) Map building and positioning of robot
CN111158384B (zh) 机器人建图方法、设备及存储介质
CN111750862A (zh) 基于多区域的机器人路径规划方法、机器人及终端设备
CN112148003B (zh) 一种基于机器人的路径优化方法、系统及电子设备
US20230063370A1 (en) Multi-robot route planning
WO2023005377A1 (zh) 一种机器人的建图方法及机器人
KR20230007256A (ko) 도로 데이터 융합의 지도 생성 방법, 장치 및 전자 기기
CN111366163B (zh) 一种拓扑地图的处理方法、装置及存储介质
CN112113579A (zh) 路径生成方法、装置、计算设备、介质与导航系统
CN116626700A (zh) 一种机器人定位方法、装置、电子设备和存储介质
CN113091743B (zh) 机器人的室内定位方法及装置
CN113790725B (zh) 路径规划方法、路径规划装置、存储介质与可移动设备
CN113739798A (zh) 路径规划方法和装置
CN113359720B (zh) 移动设备避障方法、装置、电子设备及计算机可读存储介质
CN109297480B (zh) 用于管理设备的位置的方法和系统
CN117086868B (zh) 机器人及其控制方法、装置、存储介质
CN113671958A (zh) 机器人的避障路径的确定方法、系统、电子设备和介质
CN114265404B (zh) 一种机器人诊断方法、装置、电子设备和存储介质
CN117077884B (zh) 路径规划方法、装置、计算机设备和存储介质
CN117351117B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230627

Address after: 314400 floor 3, building 5, No. 17, Caohejing Road, Haining Economic Development Zone, Haining City, Jiaxing City, Zhejiang Province

Patentee after: ZHEJIANG SINEVA INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: Building 10, jingdongbei science and Technology Park, 18 Kechuang 10th Street, Daxing District, Beijing 100176

Patentee before: BEIJING SINEVA TECHNOLOGY Co.,Ltd.