CN111795687B - 一种机器人地图更新方法、装置、可读存储介质及机器人 - Google Patents
一种机器人地图更新方法、装置、可读存储介质及机器人 Download PDFInfo
- Publication number
- CN111795687B CN111795687B CN202010604039.XA CN202010604039A CN111795687B CN 111795687 B CN111795687 B CN 111795687B CN 202010604039 A CN202010604039 A CN 202010604039A CN 111795687 B CN111795687 B CN 111795687B
- Authority
- CN
- China
- Prior art keywords
- map
- subgraph
- robot
- frame data
- global map
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000005457 optimization Methods 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 25
- 238000010586 diagram Methods 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/003—Maps
- G09B29/005—Map projections or methods associated specifically therewith
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请属于机器人技术领域,尤其涉及一种机器人地图更新方法、装置、计算机可读存储介质及机器人。所述方法包括:在机器人的建图过程中,依次生成各个子图;其中,每个子图均为包括若干帧数据的局部地图;根据各个子图构建全局地图;执行回环优化,并从各个子图中选取目标子图,所述目标子图为帧数据中的机器人位姿在回环优化前后发生变化的子图;根据所述目标子图对所述全局地图进行更新,得到更新后的全局地图。该方法仅涉及到部分子图的局部更新,极大减少了计算量,提高了地图更新的效率,可以在较短的时间内即完成地图更新,减小了地图更新对机器人定位的影响,避免了出现机器人位姿出错甚至丢失的情况。
Description
技术领域
本申请属于机器人技术领域,尤其涉及一种机器人地图更新方法、装置、计算机可读存储介质及机器人。
背景技术
同步定位与地图构建(Simultaneous Localization And Mapping,SLAM)技术是移动机器人的核心技术。基于机器人的工作环境复杂多变的因素,一种稳定、高效的SLAM技术方案在移动机器人的应用中起着决定性作用。
现有的地图构建方案多适用于较小的场景,而针对商场、办公楼、停车场等大场景下,由于SLAM系统缓存的帧数据量极大,同时考虑机器人有限的计算资源情况下,全局地图的更新耗时较长,此时机器人若仍在持续行走过程中,则会存在机器人无法进行定位导致机器人位姿出错甚至丢失的风险。
发明内容
有鉴于此,本申请实施例提供了一种机器人地图更新方法、装置、计算机可读存储介质及机器人,以解决现有技术中全局地图的更新耗时较长,存在无法进行定位导致位姿出错甚至丢失的风险的问题。
本申请实施例的第一方面提供了一种机器人地图更新方法,可以包括:
在机器人的建图过程中,依次生成各个子图;其中,每个子图均为包括若干帧数据的局部地图;
根据各个子图构建全局地图;
执行回环优化,并从各个子图中选取目标子图,所述目标子图为帧数据中的机器人位姿在回环优化前后的变化量大于预设阈值的子图;所述预设阈值设置的越大,则地图更新的计算量越小,精度越低,反之,所述预设阈值设置的越小,则地图更新的计算量越大,精度越高;
将所述目标子图从所述全局地图中清除;
对所述目标子图进行更新,得到更新后的目标子图;
将更新后的目标子图添加入所述全局地图中,得到更新后的全局地图。
进一步地,所述在机器人的建图过程中,依次生成各个子图,包括:
获取当前帧数据,并计算所述当前帧数据与当前子图的起始帧数据之间的距离;
若所述当前帧数据与所述当前子图的起始帧数据之间的距离小于或等于预设的距离阈值,则将所述当前帧数据添加入所述当前子图中;
若所述当前帧数据与所述当前子图的起始帧数据之间的距离大于所述距离阈值,则生成新的当前子图,并将所述当前帧数据设置为新的当前子图的起始帧数据。
进一步地,所述获取当前帧数据,包括:
获取预设的传感器采集的传感器数据;
根据所述传感器数据计算机器人位姿;
将所述传感器数据和所述机器人位姿封装为所述当前帧数据。
可选地,所述目标子图可以为栅格地图;
所述将所述目标子图从所述全局地图中清除,包括:
在所述全局地图中减去所述目标子图中各个地图点的占用概率值;
所述将更新后的目标子图添加入所述全局地图中,包括:
在所述全局地图中加上更新后的目标子图中各个地图点的占用概率值。
可选地,所述目标子图可以为特征点地图;
所述将所述目标子图从所述全局地图中清除,包括:
在所述全局地图中删除所述目标子图中的各个特征点;
所述将更新后的目标子图添加入所述全局地图中,包括:
在所述全局地图中添加更新后的目标子图中的各个特征点。
进一步地,所述根据各个子图构建全局地图,包括:
分别将各个子图由各自的子图坐标系变换至全局地图坐标系,得到全局地图坐标系下的各个子图;
分别将全局地图坐标系下的各个子图添加入所述全局地图中。
本申请实施例的第二方面提供了一种机器人地图更新装置,可以包括:
子图生成模块,用于在机器人的建图过程中,依次生成各个子图;其中,每个子图均为包括若干帧数据的局部地图;
全局地图构建模块,用于根据各个子图构建全局地图;
目标子图选取模块,用于执行回环优化,并从各个子图中选取目标子图,所述目标子图为帧数据中的机器人位姿在回环优化前后的变化量大于预设阈值的子图;所述预设阈值设置的越大,则地图更新的计算量越小,精度越低,反之,所述预设阈值设置的越小,则地图更新的计算量越大,精度越高;
全局地图更新模块,用于将所述目标子图从所述全局地图中清除;对所述目标子图进行更新,得到更新后的目标子图;将更新后的目标子图添加入所述全局地图中,得到更新后的全局地图。
进一步地,所述子图生成模块可以包括:
帧数据获取单元,用于获取当前帧数据;
距离计算单元,用于计算所述当前帧数据与当前子图的起始帧数据之间的距离;
帧数据添加单元,用于若所述当前帧数据与所述当前子图的起始帧数据之间的距离小于或等于预设的距离阈值,则将所述当前帧数据添加入所述当前子图中;
子图新建单元,用于若所述当前帧数据与所述当前子图的起始帧数据之间的距离大于所述距离阈值,则生成新的当前子图,并将所述当前帧数据设置为新的当前子图的起始帧数据。
进一步地,所述帧数据获取单元可以包括:
传感器数据获取子单元,用于获取预设的传感器采集的传感器数据;
位姿计算子单元,用于根据所述传感器数据计算机器人位姿;
帧数据封装子单元,用于将所述传感器数据和所述机器人位姿封装为所述当前帧数据。
可选地,所述目标子图可以为栅格地图;
所述子图清除单元具体用于在所述全局地图中减去所述目标子图中各个地图点的占用概率值;
所述子图添加单元具体用于在所述全局地图中加上更新后的目标子图中各个地图点的占用概率值。
可选地,所述目标子图可以为特征点地图;
所述子图清除单元具体用于在所述全局地图中删除所述目标子图中的各个特征点;
所述子图添加单元具体用于在所述全局地图中添加更新后的目标子图中的各个特征点。
进一步地,所述全局地图构建模块可以包括:
坐标系变换单元,用于分别将各个子图由各自的子图坐标系变换至全局地图坐标系,得到全局地图坐标系下的各个子图;
全局地图构建单元,用于分别将全局地图坐标系下的各个子图添加入所述全局地图中。
本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种机器人地图更新方法的步骤。
本申请实施例的第四方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种机器人地图更新方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述任一种机器人地图更新方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例在机器人的建图过程中,依次生成各个子图;其中,每个子图均为包括若干帧数据的局部地图;根据各个子图构建全局地图;执行回环优化,并从各个子图中选取目标子图,所述目标子图为帧数据中的机器人位姿在回环优化前后发生变化的子图;根据所述目标子图对所述全局地图进行更新,得到更新后的全局地图。在本申请实施例中,全局地图是由各个子图构建而成,在回环优化后,无需对整个的全局地图进行更新,而仅需选取出帧数据中的机器人位姿在回环优化前后发生变化的目标子图,根据目标子图来对全局地图进行更新,即这是仅涉及到部分子图的局部更新,极大减少了计算量,提高了地图更新的效率,可以在较短的时间内即完成地图更新,减小了地图更新对机器人定位的影响,避免了出现机器人位姿出错甚至丢失的情况。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例中一种机器人地图更新方法的一个实施例流程图;
图2为根据目标子图对全局地图进行更新的示意流程图;
图3为本申请实施例中一种机器人地图更新装置的一个实施例结构图;
图4为本申请实施例中一种机器人的示意框图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
一般情况下,机器人会通过自身搭载的特定的传感器以固定频率探测周围环境,并发布探测信息。机器人的SLAM模块则接收最新的传感器数据,利用机器人内部的定位模块进行机器人定位,之后,机器人的地图生成模块利用定位结果将传感器数据更新至全局地图中,输出更新后的地图。该地图一方面被传递给定位模块以进行后续的机器人定位,另一方面被发送给机器人的可视化模块以及其它若干模块。
由于定位模块每次定位均存在细小误差,当机器人运行较长时,定位误差会不断累积,进而导致机器人的全局位姿存在较大误差,在此基础上产生的地图误差也越来越大,进而导致定位精度越来越低。此时需要机器人的回环模块进行回环优化,来调整历史帧数据中的机器人位姿来消除定位的误差。由于历史的机器人位姿进行了调整,需要由历史的所有的传感器数据和调整后的位姿重新构建全局地图。
当机器人行走路径较长,缓存的传感器的数据较多时,回环后由历史帧数据生成新的全局地图,计算量较大,计算耗时较长。此时当机器人仍在行走时,依赖地图的定位模块则无法继续进行机器人定位工作,进而影响后续的整个建图过程。因此,快速的地图生成与更新方法对机器人定位和后续的建图模块极为重要。
回环优化利用图优化的方式对记录的历史的机器人位姿进行优化,当发生多次回环或者距离回环点较远时,大量的机器人的位姿在优化前后变化较小甚至不发生变化。在这种情况下,基于所有帧数据的全局地图更新方法是不必要的。根据这一理解,本申请实施例中提出了一种基于部分变化区域更新的全局地图的更新方法来对全局地图进行快速地更新。
请参阅图1,本申请实施例中一种机器人地图更新方法的一个实施例可以包括:
步骤S101、在机器人的建图过程中,依次生成各个子图。
其中,每个子图均为包括若干连续的帧数据的局部地图,其中具体记录了以下内容:对一定数量的帧数据的索引;子图坐标系,用于记录该子图与全局地图间的变换关系,该子图的第一帧数据所记录的机器人位姿为该子图的位姿,同时为了降低后续计算量,子图的姿态与全局地图坐标系保持一致;局部地图,即由上述帧数据所建立的基于子图坐标系下的局部地图。
在子图的构建过程中,所述机器人可以实时获取当前帧数据。具体地,可以首先获取预设的传感器采集的传感器数据,然后,根据所述传感器数据计算机器人位姿,最后,将所述传感器数据和所述机器人位姿封装为所述当前帧数据。特殊地,对于第一次获取的传感器数据,则需要首先进行机器人位姿的初始化,然后将第一次获取的传感器数据和初始化的机器人位姿封装为所述当前帧数据。
在获取到当前帧数据之后,则可以计算所述当前帧数据与当前子图的起始帧数据之间的距离。若两者之间的距离小于或等于预设的距离阈值,则将所述当前帧数据添加入所述当前子图中。具体地,可以将当前帧数据中的机器人位姿变换至当前子图的子图坐标系下,然后将当前帧数据中的传感器数据和变换后的机器人位姿注册到当前子图的局部地图。若两者之间的距离大于所述距离阈值,则生成新的当前子图,并将所述当前帧数据设置为新的当前子图的起始帧数据。所述距离阈值可以根据实际情况进行设置,本申请实施例对其不作具体限定。
优选地,还可以将各个帧数据依次加入预先设置的帧数据队列中,以便于后续进行帧数据遍历。
容易理解地,在初始状态下,并不存在任何的子图,此时可以构建第一个子图,将其作为当前子图,并将获取到的若干帧数据依次添加入该子图中,当获取到的帧数据与该子图的起始帧数据之间的距离足够大时,则构建第二个子图,将该子图作为当前子图,并不断重复以上过程,从而构建出第三个子图、第四个子图、……、以此类推。
步骤S102、根据各个子图构建全局地图。
具体地,可以分别将各个子图由各自的子图坐标系变换至全局地图坐标系,得到全局地图坐标系下的各个子图,然后分别将全局地图坐标系下的各个子图添加入所述全局地图中。需要注意的是,全局地图的构建过程可以是与子图的构建过程同步进行的,即每完成一个子图的构建后,则将该子图添加入全局地图中,逐步地使全局地图构建完整。
优选地,还可以将各个子图依次加入预先设置的子图队列中,以便于后续进行子图遍历。
步骤S103、执行回环优化,并从各个子图中选取目标子图。
所述目标子图为帧数据中的机器人位姿在回环优化前后发生变化的子图。
在建图的过程中,机器人可以根据帧数据队列中存储的帧数据不断地进行回环检测,当检测到回环时,则根据回环检测结果对帧数据队列中存储的帧数据进行回环优化,对帧数据中累积的位姿误差进行校正。当发生多次回环或者距离回环点较远时,大量的帧数据中的机器人位姿在回环优化前后变化较小甚至不发生变化,只有部分的帧数据中的机器人位姿在回环优化前后会发生明显变化。在本申请实施例的一种具体实现中,可以设置位姿变化的阈值,只有当某一帧数据中的机器人位姿在回环优化前后的变化量大于该阈值时,才将其视为发生变化。需要注意的是,该阈值设置的越大,则地图更新的计算量越小,但精度也会越低,反之,该阈值设置的越小,则地图更新的计算量越大,但精度也会越高,其具体取值可以根据实际情况进行设置,本申请实施例对此不作具体限定。
在执行回环优化后,遍历子图序列中的所有子图,通过子图中存储的帧数据索引,检查帧数据中的位姿是否发生变化,只要某一子图中存在发生变化的帧数据,则将其视为目标子图。
步骤S104、根据所述目标子图对所述全局地图进行更新,得到更新后的全局地图。
如图2所示,步骤S104具体可以包括如下过程:
步骤S1041、将所述目标子图从所述全局地图中清除。
针对不同的传感器数据,需要采用不同的方法来实现清除。具体地,若所述目标子图为由激光传感器构建的栅格地图,则其中的地图点存储的是该点被障碍物占用的概率值,可以在所述全局地图中减去所述目标子图中各个地图点的占用概率值,从而实现对所述目标子图的清除。若所述目标子图为由视觉传感器构建的特征点地图,则可以直接在所述全局地图中删除所述目标子图中记录的各个特征点。
步骤S1042、对所述目标子图进行更新,得到更新后的目标子图。
具体的,可以根据目标子图所索引的帧数据重新更新目标子图,并重新计算其子图位姿。利用重新计算后的子图位姿,将目标子图由对应的子图坐标系变换至全局地图坐标系,由于全局坐标系与子图坐标系姿态保持一致,两者之间只存在位置偏差,两者之间的变换能够快速地完成。
步骤S1043、将更新后的目标子图添加入所述全局地图中,得到更新后的全局地图。
对应于步骤S1041,针对不同的传感器数据,需要采用不同的方法来添加子图。具体地,若所述目标子图为由激光传感器构建的栅格地图,则可以在所述全局地图中加上所述目标子图中各个地图点的占用概率值。若所述目标子图为由视觉传感器构建的特征点地图,则可以直接在所述全局地图中添加更新后的目标子图中的各个特征点。
综上所述,本申请实施例在机器人的建图过程中,依次生成各个子图;其中,每个子图均为包括若干帧数据的局部地图;根据各个子图构建全局地图;执行回环优化,并从各个子图中选取目标子图,所述目标子图为帧数据中的机器人位姿在回环优化前后发生变化的子图;根据所述目标子图对所述全局地图进行更新,得到更新后的全局地图。在本申请实施例中,全局地图是由各个子图构建而成,在回环优化后,无需对整个的全局地图进行更新,而仅需选取出帧数据中的机器人位姿在回环优化前后发生变化的目标子图,根据目标子图来对全局地图进行更新,即这是仅涉及到部分子图的局部更新,极大减少了计算量,提高了地图更新的效率,可以在较短的时间内即完成地图更新,减小了地图更新对机器人定位的影响,避免了出现机器人位姿出错甚至丢失的情况。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的一种机器人地图更新方法,图3示出了本申请实施例提供的一种机器人地图更新装置的一个实施例结构图。
本实施例中,一种机器人地图更新装置可以包括:
子图生成模块301,用于在机器人的建图过程中,依次生成各个子图;其中,每个子图均为包括若干帧数据的局部地图;
全局地图构建模块302,用于根据各个子图构建全局地图;
目标子图选取模块303,用于执行回环优化,并从各个子图中选取目标子图,所述目标子图为帧数据中的机器人位姿在回环优化前后发生变化的子图;
全局地图更新模块304,用于根据所述目标子图对所述全局地图进行更新,得到更新后的全局地图。
进一步地,所述子图生成模块可以包括:
帧数据获取单元,用于获取当前帧数据;
距离计算单元,用于计算所述当前帧数据与当前子图的起始帧数据之间的距离;
帧数据添加单元,用于若所述当前帧数据与所述当前子图的起始帧数据之间的距离小于或等于预设的距离阈值,则将所述当前帧数据添加入所述当前子图中;
子图新建单元,用于若所述当前帧数据与所述当前子图的起始帧数据之间的距离大于所述距离阈值,则生成新的当前子图,并将所述当前帧数据设置为新的当前子图的起始帧数据。
进一步地,所述帧数据获取单元可以包括:
传感器数据获取子单元,用于获取预设的传感器采集的传感器数据;
位姿计算子单元,用于根据所述传感器数据计算机器人位姿;
帧数据封装子单元,用于将所述传感器数据和所述机器人位姿封装为所述当前帧数据。
进一步地,所述全局地图更新模块可以包括:
子图清除单元,用于将所述目标子图从所述全局地图中清除;
子图更新单元,用于对所述目标子图进行更新,得到更新后的目标子图;
子图添加单元,用于将更新后的目标子图添加入所述全局地图中,得到更新后的全局地图。
可选地,所述目标子图可以为栅格地图;
所述子图清除单元具体用于在所述全局地图中减去所述目标子图中各个地图点的占用概率值;
所述子图添加单元具体用于在所述全局地图中加上更新后的目标子图中各个地图点的占用概率值。
可选地,所述目标子图可以为特征点地图;
所述子图清除单元具体用于在所述全局地图中删除所述目标子图中的各个特征点;
所述子图添加单元具体用于在所述全局地图中添加更新后的目标子图中的各个特征点。
进一步地,所述全局地图构建模块可以包括:
坐标系变换单元,用于分别将各个子图由各自的子图坐标系变换至全局地图坐标系,得到全局地图坐标系下的各个子图;
全局地图构建单元,用于分别将全局地图坐标系下的各个子图添加入所述全局地图中。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
图4示出了本申请实施例提供的一种机器人的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。
如图4所示,该实施例的机器人4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个机器人地图更新方法实施例中的步骤,例如图1所示的步骤S101至步骤S104。或者,所述处理器40执行所述计算机程序42时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块301至模块304的功能。
示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述机器人4中的执行过程。
本领域技术人员可以理解,图4仅仅是机器人4的示例,并不构成对机器人4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人4还可以包括输入输出设备、网络接入设备、总线等。
所述处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA) 或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述机器人4的内部存储单元,例如机器人4的硬盘或内存。所述存储器41也可以是所述机器人4的外部存储设备,例如所述机器人4上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述机器人4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述机器人4所需的其它程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (9)
1.一种机器人地图更新方法,其特征在于,包括:
在机器人的建图过程中,依次生成各个子图;其中,每个子图均为包括若干帧数据的局部地图;
根据各个子图构建全局地图;
执行回环优化,并从各个子图中选取目标子图,所述目标子图为帧数据中的机器人位姿在回环优化前后的变化量大于预设阈值的子图;所述预设阈值设置的越大,则地图更新的计算量越小,精度越低,反之,所述预设阈值设置的越小,则地图更新的计算量越大,精度越高;
将所述目标子图从所述全局地图中清除;
对所述目标子图进行更新,得到更新后的目标子图;
将更新后的目标子图添加入所述全局地图中,得到更新后的全局地图。
2.根据权利要求1所述的机器人地图更新方法,其特征在于,所述在机器人的建图过程中,依次生成各个子图,包括:
获取当前帧数据,并计算所述当前帧数据与当前子图的起始帧数据之间的距离;
若所述当前帧数据与所述当前子图的起始帧数据之间的距离小于或等于预设的距离阈值,则将所述当前帧数据添加入所述当前子图中;
若所述当前帧数据与所述当前子图的起始帧数据之间的距离大于所述距离阈值,则生成新的当前子图,并将所述当前帧数据设置为新的当前子图的起始帧数据。
3.根据权利要求2所述的机器人地图更新方法,其特征在于,所述获取当前帧数据,包括:
获取预设的传感器采集的传感器数据;
根据所述传感器数据计算机器人位姿;
将所述传感器数据和所述机器人位姿封装为所述当前帧数据。
4.根据权利要求1所述的机器人地图更新方法,其特征在于,所述目标子图为栅格地图;
所述将所述目标子图从所述全局地图中清除,包括:
在所述全局地图中减去所述目标子图中各个地图点的占用概率值;
所述将更新后的目标子图添加入所述全局地图中,包括:
在所述全局地图中加上更新后的目标子图中各个地图点的占用概率值。
5.根据权利要求1所述的机器人地图更新方法,其特征在于,所述目标子图为特征点地图;
所述将所述目标子图从所述全局地图中清除,包括:
在所述全局地图中删除所述目标子图中的各个特征点;
所述将更新后的目标子图添加入所述全局地图中,包括:
在所述全局地图中添加更新后的目标子图中的各个特征点。
6.根据权利要求1至5中任一项所述的机器人地图更新方法,其特征在于,所述根据各个子图构建全局地图,包括:
分别将各个子图由各自的子图坐标系变换至全局地图坐标系,得到全局地图坐标系下的各个子图;
分别将全局地图坐标系下的各个子图添加入所述全局地图中。
7.一种机器人地图更新装置,其特征在于,包括:
子图生成模块,用于在机器人的建图过程中,依次生成各个子图;其中,每个子图均为包括若干帧数据的局部地图;
全局地图构建模块,用于根据各个子图构建全局地图;
目标子图选取模块,用于执行回环优化,并从各个子图中选取目标子图,所述目标子图为帧数据中的机器人位姿在回环优化前后的变化量大于预设阈值的子图;所述预设阈值设置的越大,则地图更新的计算量越小,精度越低,反之,所述预设阈值设置的越小,则地图更新的计算量越大,精度越高;
全局地图更新模块,用于将所述目标子图从所述全局地图中清除;对所述目标子图进行更新,得到更新后的目标子图;将更新后的目标子图添加入所述全局地图中,得到更新后的全局地图。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的机器人地图更新方法的步骤。
9.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的机器人地图更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010604039.XA CN111795687B (zh) | 2020-06-29 | 2020-06-29 | 一种机器人地图更新方法、装置、可读存储介质及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010604039.XA CN111795687B (zh) | 2020-06-29 | 2020-06-29 | 一种机器人地图更新方法、装置、可读存储介质及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111795687A CN111795687A (zh) | 2020-10-20 |
CN111795687B true CN111795687B (zh) | 2022-08-05 |
Family
ID=72804662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010604039.XA Active CN111795687B (zh) | 2020-06-29 | 2020-06-29 | 一种机器人地图更新方法、装置、可读存储介质及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111795687B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596064B (zh) * | 2020-11-30 | 2024-03-08 | 中科院软件研究所南京软件技术研究院 | 激光与视觉融合的一体化室内机器人全局定位方法 |
CN112595323B (zh) * | 2020-12-08 | 2024-12-17 | 深圳市优必选科技股份有限公司 | 机器人及其建图方法和装置 |
CN114683270A (zh) * | 2020-12-30 | 2022-07-01 | 深圳乐动机器人有限公司 | 一种基于机器人的构图信息采集方法及机器人系统 |
CN112700497B (zh) * | 2021-01-04 | 2023-06-09 | 歌尔股份有限公司 | 回环检测方法、装置、设备及计算机可读存储介质 |
CN112991515B (zh) * | 2021-02-26 | 2022-08-19 | 山东英信计算机技术有限公司 | 一种三维重建方法、装置及相关设备 |
CN115830095A (zh) * | 2021-09-15 | 2023-03-21 | 中兴通讯股份有限公司 | 点云生成方法、装置、电子设备、系统和计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN107544507A (zh) * | 2017-09-28 | 2018-01-05 | 速感科技(北京)有限公司 | 可移动机器人移动控制方法及装置 |
CN110645998A (zh) * | 2019-09-10 | 2020-01-03 | 上海交通大学 | 一种基于激光点云的无动态物体地图分段建立方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018125938A1 (en) * | 2016-12-30 | 2018-07-05 | DeepMap Inc. | Enrichment of point cloud data for high-definition maps for autonomous vehicles |
CN109993813B (zh) * | 2017-12-29 | 2023-06-27 | 长城汽车股份有限公司 | 创建地图的方法、装置、车辆及可读存储介质 |
CN108256060B (zh) * | 2018-01-16 | 2021-02-09 | 广州视源电子科技股份有限公司 | 一种闭环检测方法、装置、终端及存储介质 |
CN108303710B (zh) * | 2018-06-12 | 2018-11-02 | 江苏中科院智能科学技术应用研究院 | 基于三维激光雷达的无人机多场景定位建图方法 |
CN110163968B (zh) * | 2019-05-28 | 2020-08-25 | 山东大学 | Rgbd相机大型三维场景构建方法及系统 |
CN111076733B (zh) * | 2019-12-10 | 2022-06-14 | 亿嘉和科技股份有限公司 | 一种基于视觉与激光slam的机器人室内建图方法及系统 |
CN111024100B (zh) * | 2019-12-20 | 2021-10-29 | 深圳市优必选科技股份有限公司 | 一种导航地图更新方法、装置、可读存储介质及机器人 |
CN111177295A (zh) * | 2019-12-28 | 2020-05-19 | 深圳市优必选科技股份有限公司 | 建图重影消除方法、装置、计算机可读存储介质及机器人 |
CN111207753A (zh) * | 2020-02-13 | 2020-05-29 | 苏州大学 | 一种多玻璃隔断环境下的同时定位与建图的方法 |
-
2020
- 2020-06-29 CN CN202010604039.XA patent/CN111795687B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN107544507A (zh) * | 2017-09-28 | 2018-01-05 | 速感科技(北京)有限公司 | 可移动机器人移动控制方法及装置 |
CN110645998A (zh) * | 2019-09-10 | 2020-01-03 | 上海交通大学 | 一种基于激光点云的无动态物体地图分段建立方法 |
Non-Patent Citations (2)
Title |
---|
Local map update for large scale SLAM;J. Aulinas 等;《ELECTRONICS LETTERS》;20100415;第46卷(第8期);第564-U36页 * |
导航电子地图增量式更新服务模式;郭鹏 等;《地理信息世界》;20110831(第4期);第57-61页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111795687A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111795687B (zh) | 一种机器人地图更新方法、装置、可读存储介质及机器人 | |
CN111536964B (zh) | 机器人定位方法及装置、存储介质 | |
CN108319655B (zh) | 用于生成栅格地图的方法和装置 | |
CN112100298A (zh) | 一种建图方法、装置、计算机可读存储介质及机器人 | |
CN111176301A (zh) | 地图构建方法以及扫地机器人的清扫方法 | |
CN110260856A (zh) | 一种建图方法和装置 | |
CN112917467B (zh) | 机器人的定位及地图构建方法、装置及终端设备 | |
CN112700497B (zh) | 回环检测方法、装置、设备及计算机可读存储介质 | |
CN111540027B (zh) | 一种检测方法、装置、电子设备及存储介质 | |
CN114119886A (zh) | 高精地图点云重建方法、装置、车辆、设备和存储介质 | |
CN111177295A (zh) | 建图重影消除方法、装置、计算机可读存储介质及机器人 | |
CN113435462B (zh) | 定位方法、装置、电子设备和介质 | |
CN114036253A (zh) | 高精地图数据处理方法、装置、电子设备和介质 | |
CN110457407B (zh) | 用于处理点云数据的方法和装置 | |
CN113295160A (zh) | 基于视觉导航的地图加载方法、装置、设备及存储介质 | |
CN110887490B (zh) | 一种激光定位导航的关键帧选取方法、介质、终端和装置 | |
CN113781569A (zh) | 一种回环检测方法和装置 | |
CN117739954A (zh) | 地图局部更新方法、装置及电子设备 | |
CN114299192B (zh) | 定位建图的方法、装置、设备和介质 | |
CN111858789A (zh) | 路网数据处理方法、装置、电子设备和存储介质 | |
CN114187397B (zh) | 虚拟毛发渲染方法、装置、介质、电子设备及程序产品 | |
CN113297259B (zh) | 机器人及其环境地图构建方法和装置 | |
CN115393816A (zh) | 车道线生成方法、装置、计算机设备和存储介质 | |
CN115731215A (zh) | 一种回环检测方法、装置、电子设备及存储介质 | |
CN117968735B (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 |