CN110851556B - 移动机器人建图方法、装置、设备及存储介质 - Google Patents
移动机器人建图方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110851556B CN110851556B CN201911143467.0A CN201911143467A CN110851556B CN 110851556 B CN110851556 B CN 110851556B CN 201911143467 A CN201911143467 A CN 201911143467A CN 110851556 B CN110851556 B CN 110851556B
- Authority
- CN
- China
- Prior art keywords
- map
- mapping
- data sequence
- reconstructed
- building
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 189
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012937 correction Methods 0.000 claims description 44
- 238000010276 construction Methods 0.000 claims description 28
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- 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/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明实施例公开了一种移动机器人建图方法、装置、设备及存储介质,该方法包括:接收到扩展建图指令后,获取移动机器人上次建图对应的建图数据序列;基于所述建图数据序列生成所述上次建图对应已建地图的重构地图;基于所述重构地图确定本次建图对应的扩展建图起点,并从所述扩展建图起点开始采集所述本次建图所需的本次激光数据;基于已采集的本次激光数据结合所述重构地图得到扩展地图,将所述扩展地图作为新的重构地图并更新所述建图数据序列,返回执行扩展建图起点的确定操作直至接收到建图结束指令。本发明实施例可以使机器人在已有建图的基础上进行扩展建图,而无需从头开始建图,提高了对已建地图的利用率。
Description
技术领域
本发明实施例涉及地图构建技术领域,尤其涉及一种移动机器人建图方法、装置、设备及存储介质。
背景技术
在移动机器人的实际使用中,工作环境一般是未知的。在未知的环境中,机器人必须通过建图来对当前工作环境进行正确且有效的探测,只有构建出高精度的地图,机器人后续才有可能进行正确的定位和导航。
即时定位与地图构建(simultaneous localization and mapping,SLAM)是当前主流的建图思路,借助SLAM算法,机器人可以在未知环境中,从一个未知的位置开始移动,并在移动的过程中根据位置估计和传感器数据进行自身定位,同时用增量式的方法进行地图构建。
然而,当前的SLAM算法依然存在许多问题。当前主流的SLAM算法只能以未知环境作为起始进行建图,难以在已建地图的基础上进行地图的扩建。
发明内容
本发明实施例提供一种移动机器人建图方法,以实现在已有建图的基础上进行扩展建图,提高对已建地图的利用率。
第一方面,本发明实施例提供了一种移动机器人建图方法,该方法包括:
接收到扩展建图指令后,获取移动机器人上次建图对应的建图数据序列;
基于所述建图数据序列生成所述上次建图对应已建地图的重构地图;
基于所述重构地图确定本次建图对应的扩展建图起点,并从所述扩展建图起点开始采集所述本次建图所需的本次激光数据;
基于已采集的本次激光数据结合所述重构地图得到扩展地图,将所述扩展地图作为新的重构地图并更新所述建图数据序列,返回执行扩展建图起点的确定操作直至接收到建图结束指令。
第二方面,本发明实施例还提供了一种移动机器人建图装置,该装置包括:
序列获取模块,用于接收到扩展建图指令后,获取移动机器人上次建图对应的建图数据序列;
地图重构模块,用于基于所述建图数据序列生成所述上次建图对应已建地图的重构地图;
起点确定模块,用于基于所述重构地图确定本次建图对应的扩展建图起点,并从所述扩展建图起点开始采集所述本次建图所需的本次激光数据;
扩展建图模块,用于基于已采集的本次激光数据结合所述重构地图得到扩展地图,将所述扩展地图作为新的重构地图并更新所述建图数据序列。
第三方面,本发明实施例还提供了一种移动机器人,该移动机器人包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例第一方面所述的移动机器人建图方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例第一方面所述的移动机器人建图方法。
本发明实施例基于上次建图保存的建图数据序列,以对上次建图进行重构,得到上次建图对应已建地图的重构地图,并在重构地图的基础上采集新的激光数据进行扩展建图,而无需通过重新采集上次建图对应的激光数据从头开始建图,由此提高了对已有建图数据的利用率。
附图说明
图1是本发明实施例一提供的一种移动机器人建图方法的流程示意图;
图2是本发明实施例二提供的一种移动机器人建图方法的流程示意图;
图3是本发明实施例三提供的一种移动机器人建图装置的结构示意图;
图4是本发明实施例四提供的一种移动机器人的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种移动机器人建图方法的流程示意图,本实施例可适用于在已有建图的基础上进行扩展建图,从而提高对已有建图数据的利用率的情况,该方法可以由移动机器人建图装置来执行,该装置可以通过软件和/或硬件的方式实现,并可集成在移动机器人中。
可以理解的是,现有主流的SLAM算法均是在未知环境(指完全未进行过建图的环境)中选择起始点进行建图,而难以在已建地图的基础上进行扩展建图,若要实现扩展建图的效果,只能先重新扫描已建地图对应的实体场景,采集对应的激光数据,重新生成已建地图,并继续扫描对应已建地图以外的实体场景,实现扩展建图,由此无法实现对原有已建地图数据的充分利用,降低了建图效率。本发明实施例的主要目的即在于,在建图时及时将对应的建图数据(包括激光数据、节点数据以及边数据)进行序列化保存,并在接收到扩展建图指令后,调取上次建图对应保存的建图数据序列,实现对上次建图对应已建地图的重构,由此在所得重构地图的基础上进行扩展建图,而无需通过重新采集上次建图对应的激光数据从头开始建图,从而有效提高了对已有建图数据的利用率。
如图1所示,本实施例提供的移动机器人建图方法,具体包括如下步骤:
S101、接收到扩展建图指令后,获取移动机器人上次建图对应的建图数据序列。
其中,所述扩展建图指令是指由用户触发的用于使移动机器人在上次建图对应已建地图的基础上进行扩展建图的指令。所述建图数据序列可以理解为移动机器人在建图时对应保存的序列化数据。
可选地,所述建图数据序列包括激光数据序列、节点数据序列以及边数据序列;其中,所述激光数据序列为由所述移动机器人扫描目标建图区域所得的激光数据组成的数据序列;所述节点数据序列为由所述移动机器人扫描所述目标建图区域时所记录的各位姿节点组成的数据序列;所述边数据序列为由各相邻位姿节点相连所得的边组成的数据序列。
可以理解的是,移动机器人从一个未知的位置开始移动,并在移动的过程中根据位置估计和传感器数据进行自身定位,用增量式的方法进行地图构建。相应地,对建图数据序列进行保存时,也呈现增量式的效果。因此,对于一次建图,可以理解为是一次增量式建图过程。
S102、基于所述建图数据序列生成所述上次建图对应已建地图的重构地图。
其中,所述重构地图可以理解为对所述上次建图对应已建地图的重现。
可以理解的是,非扩展建图时,移动机器人是一边采集激光数据,一边生成对应地图;而扩展建图时,在起初对上次建图对应已建地图的重构阶段,移动机器人只要一边读取上次建图对应已建地图的激光数据,一边复原上次建图对应的已建地图即可。
可选地,从所述建图数据序列中依次读取上次建图对应保存的上次激光数据;基于所读取的上次激光数据进行二次建图,并将二次建图所得的地图确定为所述上次建图对应已建地图的重构地图。
其中,所述上次激光数据即所述已建地图对应的激光数据。
S103、基于所述重构地图确定本次建图对应的扩展建图起点,并从所述扩展建图起点开始采集所述本次建图所需的本次激光数据。
其中,所述扩展建图起点可以理解为移动机器人在得到所述上次建图对应已建地图的重构地图之后,在所述重构地图的基础上进行扩展建图的起始点。所述本次激光数据是指在所述重构地图基础上进行扩展建图所需的激光数据,可以理解为扫描对应所述重构地图之外的实体场景所得的激光数据。
可以理解的是,在得到所述上次建图对应已建地图的重构地图之后,移动机器人可以在对应所述重构地图之外的实体场景中选取任意一个可行点作为扩展建图起点,并从所述扩展建图起点开始扫描周边环境,以采集扩展建图所需的激光数据。
S104、基于已采集的本次激光数据结合所述重构地图得到扩展地图,将所述扩展地图作为新的重构地图并更新所述建图数据序列,返回执行扩展建图起点的确定操作直至接收到建图结束指令。
其中,所述扩展建图可以理解为本次建图对应得到的地图,所述扩展建图包括所述上次建图对应的重构地图。所述建图结束指令是指由用户触发的用于使移动机器人结束本次建图的指令。
可以理解的是,基于所述本次激光数据可以得到对应的增量式地图,将所述增量式地图与所述重构地图结合即为所述扩展地图。而在没有接收到建图结束指令时,通过在每次增量式建图之后,将所得的扩展地图及建图数据序列确定为新的重构地图和建图数据序列,循环执行该增量式建图过程,直至接收到所述建图结束指令。
本发明实施例基于上次建图保存的建图数据序列,以对上次建图进行重构,得到上次建图对应已建地图的重构地图,并在重构地图的基础上采集新的激光数据进行扩展建图,而无需通过重新采集上次建图对应的激光数据从头开始建图,由此提高了对已有建图数据的利用率,并使得移动机器人建图操作更加简便、高效。
实施例二
图2是本发明实施例二提供的一种移动机器人建图方法的流程示意图,本实施例在实施例一的基础上进一步优化。本实施例将所述基于所述建图数据序列生成所述上次建图对应已建地图的重构地图,具体化为:从所述建图数据序列中依次读取上次建图对应保存的上次激光数据;基于所读取的上次激光数据进行二次建图,并将二次建图所得的地图确定为所述上次建图对应已建地图的重构地图。
本实施例还将所述建图数据序列,具体化为:所述建图数据序列包括激光数据序列、节点数据序列以及边数据序列;
相应地,本实施例还将所述更新所述建图数据序列,具体化为:获取采集所述本次激光数据时记录的至少一个位姿节点,并基于各相邻位姿节点得到对应的边;将所述本次激光数据以及各所述位姿节点和边分别添加至所述建图数据序列包含的激光数据序列、节点数据序列以及边数据序列中,以更新所述建图数据序列。
本实施例在基于所述建图数据序列生成所述上次建图对应已建地图的重构地图之后,还优化增加了:如果接收到地图修正指令,则基于所述地图修正指令对所述重构地图进行修正,得到新的重构地图和建图数据序列。
如图2所示,本实施例提供的移动机器人建图方法,具体包括如下步骤:
S201、接收到扩展建图指令后,获取移动机器人上次建图对应的建图数据序列。
S202、从所述建图数据序列中依次读取上次建图对应保存的上次激光数据。
S203、基于所读取的上次激光数据进行二次建图,并将二次建图所得的地图确定为所述上次建图对应已建地图的重构地图。
示例性的,当上次建图结束时,点击保存地图,触发建图数据序列化,将所有数据保存到相应文件中。其中建图数据包括:激光数据以及节点和边数据。当点击扩展建图时,读取上次地图对应的所有建图数据,此时类似短时间内重新进行了一次全新的建图,并且重新进行了一次地图构建。同时,由于保留了上次建图对应的所有节点和边数据,因此,可以直接用于之后进行扩展建图时的地图优化。
S204、判断是否接收到地图修正指令;若是,则执行S205;否则,执行S206。
可以理解的是,建图时经常会出现动态障碍物,例如移动的行人,正在搬运的箱子等,此时,机器人会将该障碍物误作为当前地图的一部分进行建图,若该动态障碍物移走,机器人行驶到相同位置时,本次激光数据和上次激光数据之间很有可能产生误匹配,最终导致定位不准或定位错误,此时就需要修正地图;而现有的SLAM算法在修正地图时通常是对建图所得的图片类型数据进行直接修改,例如对图片进行重新裁剪和绘制,该方法虽然实现和操作都较为简单,但并没有修正实际建图数据。此外,对地图上障碍物的添加,现有方案只能通过手动画图方法直接绘图来修改,而手动绘图效率低、效果差,且如果若绘图不够精准,则会严重影响后续的定位和导航,而如果重新建图,则会消耗大量的时间,效率很低。因此,本发明实施例在上述扩展建图方法的基础上还给出了地图修正方案。
S205、基于所述地图修正指令对所述重构地图进行修正,得到新的重构地图和建图数据序列,返回执行S204。
可以理解的是,对所述重构地图的修正操作可以包括对所述重构地图上指定区域的删除、修改和替换等任意一个或多个操作。
可选地,本发明实施例在对所述重构地图进行修正时分为两部分,一是删除原有地图和数据,二是重建新的地图和数据。
具体地,所述基于所述地图修正指令对所述重构地图进行修正,得到新的重构地图和建图数据序列,可进一步优化为如下步骤:
S11、确定所述地图修正指令在所述重构地图上指定的修正区域,并删除所述重构地图上所述修正区域对应的已建地图,以更新所述重构地图。
其中,所述修正区域可以理解为由用户触发的地图修正指令中所指定的需要进行修正的地图区域。
S12、获取当前建图数据序列,并删除所述当前建图数据序列中所述修正区域对应的激光数据,以更新所述当前建图数据序列。
可选地,从所述当前建图数据序列包含的节点数据序列中确定所述修正区域对应的目标节点;从所述当前建图数据序列包含的激光数据序列中确定各所述目标节点对应的激光数据;将各所述目标节点对应位于所述修正区域的激光数据删除。
S13、采集对应所述修正区域的新的激光数据,结合所述重构地图得到修正地图,并对应生成新的当前建图数据序列。
S14、将所述修正地图确定为新的重构地图,并将所述当前建图数据序列确定为新的建图数据序列。
示例性的,当机器人在建图或者扩展建图状态时,点击“清除区域”按钮,选择地图上需要清除的区域,回车后选中区域的地图数据变成灰色,成为未知区域。进行继续建图或者扩展建图时,机器人再次走过相同地方时,新的激光数据会填充原先被删除的地图数据,并对删除区域进行重新建图,完成修改地图的功能。
对于已经建图完成的图像或者完成部分建图的图像,通过机器人的用户界面获取清除区域。遍历清除区域周围的所有节点,并遍历这些节点的所有激光数据。若该节点有激光数据在清除区域中,则重置该节点在该方向的激光数据;否则,激光数据不变。
由于激光数据从原先的连续数据的转化为有大量被重置的数据,因此需要对这些数据进行特殊处理。对于某一束激光数据,若由于数据删除操作导致所保留的有效数据少于设定比例,例如10%,则可以认为该激光数据无效,并忽略该激光数据,防止后续建图产生误匹配而导致建图完全错误情况的发生。当机器人重新走过删除区域时,可能会产生新增节点,并将新增节点与删除区域周围的原有节点建立新的连接。这些原有节点对应激光数据可能全部保留,也可能有部分数据由于删除操作而被重置。而通过建立新增节点与原有节点间新的连接,使得删除区域的新激光数据和执行删除区域以外的地图产生了联系,从而能正确的填充原先被删除的内容,并确保新的激光数据不会“带偏”整个原有的地图,也能保证新的激光数据不是与周边原有数据的简单叠加而没进行整体的优化。
S206、基于所述重构地图确定本次建图对应的扩展建图起点,并从所述扩展建图起点开始采集所述本次建图所需的本次激光数据。
可以理解的是,扩展建图开始时,扩展建图起点可以与上次建图对应节点中最近的节点相连,形成边,若扩展建图起点与最近的节点距离过远,则不形成边,只形成单独的节点。
S207、基于已采集的本次激光数据结合所述重构地图得到扩展地图,将所述扩展地图作为新的重构地图。
可选地,当由于操作失误、传感器错误等重大问题,导致扩展建图失败时,可以取消当前的扩展建图,恢复原先的重构地图,再对原先的重构地图进行再次扩展建图操作,从而减少一次扩展建图失败造成的影响。
可选地,在撤销扩展建图时,可以执行一键撤销操作,以将现有扩展建图恢复至最初的重构地图,也可以进行逐步撤销操作,一次只撤销一部分扩展建图,逐步撤销顺序可按照扩展建图的时序逆序执行。
S208、获取采集所述本次激光数据时记录的至少一个位姿节点,并基于各相邻位姿节点得到对应的边。
S209、将所述本次激光数据以及各所述位姿节点和边分别添加至所述建图数据序列包含的激光数据序列、节点数据序列以及边数据序列中,以更新所述建图数据序列。
S210、判断是否接收到地图修正指令;若是,则执行S211;否则,执行S212。
S211、基于所述地图修正指令对所述重构地图进行修正,得到新的重构地图和建图数据序列,返回执行S210。
S212、判断是否接收到建图结束指令;若是,则执行S213,否则,返回执行S206。
S213、结束建图。
可以理解的是,无论是对地图的重构、扩展还是修正,都是对上次地图对应已建地图及建图数据序列的更新,因此,在执行完对地图的重构、扩展或修正操作后,都把更新后的地图和建图数据序列当作新的重构地图和建图数据序列,以便于在未接收到建图结束指令时,循环执行上述增量式建图过程,所述增量式建图过程可以包括对地图的重构、扩展或修正等一个或多个操作。
本发明实施例基于上次建图保存的建图数据序列,以对上次建图进行重构,得到上次建图对应已建地图的重构地图,并在重构地图的基础上采集新的激光数据进行扩展建图,而无需通过重新采集上次建图对应的激光数据从头开始建图,由此提高了对已有建图数据的利用率,并使得移动机器人建图操作更加简便、高效。此外,针对建图过程中的地图修正,提出了通过修改激光数据对地图进行修正的方法,该方法可以对当前地图进行多次修改,对当前地图的利用率教高,人工干预少,地图质量高,能够确保后续建图过程中移动机器人的精确定位。
实施例三
图3是本发明实施例三提供的一种移动机器人建图装置的流程示意图,本实施例可适用于已有建图的基础上进行扩展建图,从而提高对已有建图数据的利用率的情况,该装置可以通过软件和/或硬件的方式实现,该装置具体包括:序列获取模块301、地图重构模块302、起点确定模块303以及扩展建图模块304,其中,
序列获取模块301,用于接收到扩展建图指令后,获取移动机器人上次建图对应的建图数据序列;
地图重构模块302,用于基于所述建图数据序列生成所述上次建图对应已建地图的重构地图;
起点确定模块303,用于基于所述重构地图确定本次建图对应的扩展建图起点,并从所述扩展建图起点开始采集所述本次建图所需的本次激光数据;
扩展建图模块304,用于基于已采集的本次激光数据结合所述重构地图得到扩展地图,将所述扩展地图作为新的重构地图并更新所述建图数据序列。
在上述各实施例的基础上,地图重构模块302,包括:
数据读取单元,用于从所述建图数据序列中依次读取上次建图对应保存的上次激光数据;
二次建图单元,用于基于所读取的上次激光数据进行二次建图,并将二次建图所得的地图确定为所述上次建图对应已建地图的重构地图。
在上述各实施例的基础上,所述建图数据序列包括激光数据序列、节点数据序列以及边数据序列;
相应地,扩展建图模块304,包括:
节点获取单元,用于获取采集所述本次激光数据时记录的至少一个位姿节点,并基于各相邻位姿节点得到对应的边;
序列更新单元,用于将所述本次激光数据以及各所述位姿节点和边分别添加至所述建图数据序列包含的激光数据序列、节点数据序列以及边数据序列中,以更新所述建图数据序列。
在上述各实施例的基础上,所述移动机器人建图装置,还包括:
地图修正模块,用于基于所述地图修正指令对所述重构地图进行修正,得到新的重构地图和建图数据序列。
在上述各实施例的基础上,所述地图修正模块,包括:
地图删除单元,用于确定所述地图修正指令在所述重构地图上指定的修正区域,并删除所述重构地图上所述修正区域对应的已建地图,以更新所述重构地图;
数据删除单元,用于获取当前建图数据序列,并删除所述当前建图数据序列中所述修正区域对应的激光数据,以更新所述当前建图数据序列;
地图修正单元,采集对应所述修正区域的新的激光数据,结合所述重构地图得到修正地图,并对应生成新的当前建图数据序列;
数据更新单元,用于将所述修正地图确定为新的重构地图,并将所述当前建图数据序列确定为新的建图数据序列。
在上述各实施例的基础上,所述数据删除单元,包括:
节点确定子单元,用于从所述当前建图数据序列包含的节点数据序列中确定所述修正区域对应的目标节点;
数据确定子单元,用从所述当前建图数据序列包含的激光数据序列中确定各所述目标节点对应的激光数据;
数据删除子单元,用于将各所述目标节点对应位于所述修正区域的激光数据删除。
本发明实施例所提供的移动机器人建图装置可执行本发明任一实施例所提供的移动机器人建图方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例4提供的一种移动机器人的结构示意图,如图4所示,该移动机器人包括处理器40、存储器41、输入装置42和输出装置43;该移动机器人中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;该移动机器人中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的移动机器人建图方法对应的程序指令/模块(例如,移动机器人建图装置中的序列获取模块301、地图重构模块302、起点确定模块303以及扩展建图模块304)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行该移动机器人的各种功能应用以及数据处理,即实现上述的移动机器人建图方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至该移动机器人。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置42可用于接收输入的数字或字符信息,以及产生与该移动机器人的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种移动机器人建图方法,该方法包括:
接收到扩展建图指令后,获取移动机器人上次建图对应的建图数据序列;
基于所述建图数据序列生成所述上次建图对应已建地图的重构地图;
基于所述重构地图确定本次建图对应的扩展建图起点,并从所述扩展建图起点开始采集所述本次建图所需的本次激光数据;
基于已采集的本次激光数据结合所述重构地图得到扩展地图,将所述扩展地图作为新的重构地图并更新所述建图数据序列,返回执行扩展建图起点的确定操作直至接收到建图结束指令。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任一实施例所提供的移动机器人建图方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述移动机器人建图装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.一种移动机器人建图方法,其特征在于,包括:
接收到扩展建图指令后,获取移动机器人上次建图对应的建图数据序列;
基于所述建图数据序列生成所述上次建图对应已建地图的重构地图;
基于所述重构地图确定本次建图对应的扩展建图起点,并从所述扩展建图起点开始采集所述本次建图所需的本次激光数据;
基于已采集的本次激光数据结合所述重构地图得到扩展地图,将所述扩展地图作为新的重构地图并更新所述建图数据序列,返回执行扩展建图起点的确定操作直至接收到建图结束指令;
其中,所述基于所述建图数据序列生成所述上次建图对应已建地图的重构地图,包括:
从所述建图数据序列中依次读取上次建图对应保存的上次激光数据;
基于所读取的上次激光数据进行二次建图,并将二次建图所得的地图确定为所述上次建图对应已建地图的重构地图,其中,移动机器人边读取上次建图对应已建地图的激光数据,边复原上次建图对应的已建地图。
2.根据权利要求1所述的方法,其特征在于,所述建图数据序列包括激光数据序列、节点数据序列以及边数据序列;
相应地,所述更新所述建图数据序列,包括:
获取采集所述本次激光数据时记录的至少一个位姿节点,并基于各相邻位姿节点得到对应的边;
将所述本次激光数据以及各所述位姿节点和边分别添加至所述建图数据序列包含的激光数据序列、节点数据序列以及边数据序列中,以更新所述建图数据序列。
3.根据权利要求1所述的方法,其特征在于,在基于所述建图数据序列生成所述上次建图对应已建地图的重构地图之后,还包括:
如果接收到地图修正指令,则基于所述地图修正指令对所述重构地图进行修正,得到新的重构地图和建图数据序列。
4.根据权利要求3所述的方法,其特征在于,所述基于所述地图修正指令对所述重构地图进行修正,得到新的重构地图和建图数据序列,包括:
确定所述地图修正指令在所述重构地图上指定的修正区域,并删除所述重构地图上所述修正区域对应的已建地图,以更新所述重构地图;
获取当前建图数据序列,并删除所述当前建图数据序列中所述修正区域对应的激光数据,以更新所述当前建图数据序列;
采集对应所述修正区域的新的激光数据,结合所述重构地图得到修正地图,并对应生成新的当前建图数据序列;
将所述修正地图确定为新的重构地图,并将所述当前建图数据序列确定为新的建图数据序列。
5.根据权利要求4所述的方法,其特征在于,所述删除所述当前建图数据序列中所述修正区域对应的激光数据,包括:
从所述当前建图数据序列包含的节点数据序列中确定所述修正区域对应的目标节点;
从所述当前建图数据序列包含的激光数据序列中确定各所述目标节点对应的激光数据;
将各所述目标节点对应位于所述修正区域的激光数据删除。
6.一种移动机器人建图装置,其特征在于,包括:
序列获取模块,用于接收到扩展建图指令后,获取移动机器人上次建图对应的建图数据序列;
地图重构模块,用于基于所述建图数据序列生成所述上次建图对应已建地图的重构地图;
起点确定模块,用于基于所述重构地图确定本次建图对应的扩展建图起点,并从所述扩展建图起点开始采集所述本次建图所需的本次激光数据;
扩展建图模块,用于基于已采集的本次激光数据结合所述重构地图得到扩展地图,将所述扩展地图作为新的重构地图并更新所述建图数据序列;
其中,地图重构模块包括:
数据读取单元,用于从所述建图数据序列中依次读取上次建图对应保存的上次激光数据;
二次建图单元,用于基于所读取的上次激光数据进行二次建图,并将二次建图所得的地图确定为所述上次建图对应已建地图的重构地图,其中,移动机器人边读取上次建图对应已建地图的激光数据,边复原上次建图对应的已建地图。
7.根据权利要求6所述的装置,其特征在于,还包括:
地图修正模块,用于基于所述地图修正指令对所述重构地图进行修正,得到新的重构地图和建图数据序列。
8.一种移动机器人,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5任一项所述的移动机器人建图方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的移动机器人建图方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911143467.0A CN110851556B (zh) | 2019-11-20 | 2019-11-20 | 移动机器人建图方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911143467.0A CN110851556B (zh) | 2019-11-20 | 2019-11-20 | 移动机器人建图方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110851556A CN110851556A (zh) | 2020-02-28 |
CN110851556B true CN110851556B (zh) | 2023-02-17 |
Family
ID=69603267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911143467.0A Active CN110851556B (zh) | 2019-11-20 | 2019-11-20 | 移动机器人建图方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851556B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115468556A (zh) * | 2022-07-29 | 2022-12-13 | 深圳市普渡科技有限公司 | 更新虚拟墙的方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104914865A (zh) * | 2015-05-29 | 2015-09-16 | 国网山东省电力公司电力科学研究院 | 变电站巡检机器人定位导航系统及方法 |
CN108763287A (zh) * | 2018-04-13 | 2018-11-06 | 同济大学 | 大规模可通行区域驾驶地图的构建方法及其无人驾驶应用方法 |
CN109658445A (zh) * | 2018-12-14 | 2019-04-19 | 北京旷视科技有限公司 | 网络训练方法、增量建图方法、定位方法、装置及设备 |
CN110146098A (zh) * | 2019-05-06 | 2019-08-20 | 北京猎户星空科技有限公司 | 一种机器人地图扩建方法、装置、控制设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2812723C (en) * | 2010-09-24 | 2017-02-14 | Evolution Robotics, Inc. | Systems and methods for vslam optimization |
US9811731B2 (en) * | 2013-10-04 | 2017-11-07 | Qualcomm Incorporated | Dynamic extension of map data for object detection and tracking |
EP3078935A1 (en) * | 2015-04-10 | 2016-10-12 | The European Atomic Energy Community (EURATOM), represented by the European Commission | Method and device for real-time mapping and localization |
CN109358342B (zh) * | 2018-10-12 | 2022-12-09 | 东北大学 | 基于2d激光雷达的三维激光slam系统及控制方法 |
CN109459033A (zh) * | 2018-12-21 | 2019-03-12 | 哈尔滨工程大学 | 一种多重渐消因子的机器人无迹快速同步定位与建图方法 |
CN109682373B (zh) * | 2018-12-28 | 2021-03-09 | 中国兵器工业计算机应用技术研究所 | 一种无人平台的感知系统 |
-
2019
- 2019-11-20 CN CN201911143467.0A patent/CN110851556B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104914865A (zh) * | 2015-05-29 | 2015-09-16 | 国网山东省电力公司电力科学研究院 | 变电站巡检机器人定位导航系统及方法 |
CN108763287A (zh) * | 2018-04-13 | 2018-11-06 | 同济大学 | 大规模可通行区域驾驶地图的构建方法及其无人驾驶应用方法 |
CN109658445A (zh) * | 2018-12-14 | 2019-04-19 | 北京旷视科技有限公司 | 网络训练方法、增量建图方法、定位方法、装置及设备 |
CN110146098A (zh) * | 2019-05-06 | 2019-08-20 | 北京猎户星空科技有限公司 | 一种机器人地图扩建方法、装置、控制设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110851556A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111951397B (zh) | 一种多机协同构建三维点云地图的方法、装置和存储介质 | |
EP3486676B1 (en) | Method and apparatus for updating network real time kinematic (rtk) reference station network | |
JP4833273B2 (ja) | ストレージ装置、リストア方法およびリストアプログラム | |
CN110851556B (zh) | 移动机器人建图方法、装置、设备及存储介质 | |
JP6015670B2 (ja) | 画像処理装置及び画像処理方法 | |
KR20210042279A (ko) | 포인트 클라우드를 업데이트하는 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
EP3474143A1 (en) | Method and apparatus for incremental recovery of data | |
CN111272181B (zh) | 构建地图的方法、装置、设备和计算机可读介质 | |
CN114090337A (zh) | 一种基于快照的快速合成备份及恢复方法 | |
CN113191412A (zh) | 设备重定位方法、装置、计算机设备和存储介质 | |
JP7215971B2 (ja) | 記憶機器のデータ位置の処理方法及び処理装置、コンピュータ機器並びにコンピュータ読み取り可能な記憶媒体 | |
CN112950710A (zh) | 位姿确定方法、装置、电子设备和计算机可读存储介质 | |
WO2013089260A1 (ja) | 画像処理システム及び画像処理方法 | |
JP5292384B2 (ja) | グラフインデックス再構成装置 | |
CN113760234B (zh) | 一种软件开发方法和系统 | |
CN114020840A (zh) | 一种数据处理方法、装置、服务器、存储介质及产品 | |
WO2018177193A1 (zh) | 一种软件升级方法及装置 | |
US11662882B2 (en) | User-interface driven creation and distribution of computer applications | |
CN110018784B (zh) | 数据处理方法、装置及计算设备 | |
CN111858158A (zh) | 数据处理方法、装置及电子设备 | |
CN112799948A (zh) | 网页数据处理方法、装置、电子设备及存储介质 | |
CN114064174B (zh) | 一种页面控制的方法、装置及存储介质 | |
CN117076095B (zh) | 一种基于dag的任务调度方法、系统、电子设备及存储介质 | |
CN112346913B (zh) | 数据恢复方法、装置、设备及存储介质 | |
JP2003271408A (ja) | 電子データの更新方法及びパッチデータ作成方法 |
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: 215200 standard plant 7, Dongyun Science Park, No. 558, Shanhu West Road, Wujiang Economic and Technological Development Zone, Suzhou, Jiangsu Province Applicant after: Suzhou Bozhong intelligent robot Co.,Ltd. Address before: 215200 No. 666 Hu Xin Road, Wujiang economic and Technological Development Zone, Suzhou, Jiangsu Applicant before: SUZHOU BOZHONG ROBOT Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |