CN108550318B - 一种构建地图的方法及装置 - Google Patents

一种构建地图的方法及装置 Download PDF

Info

Publication number
CN108550318B
CN108550318B CN201810199043.5A CN201810199043A CN108550318B CN 108550318 B CN108550318 B CN 108550318B CN 201810199043 A CN201810199043 A CN 201810199043A CN 108550318 B CN108550318 B CN 108550318B
Authority
CN
China
Prior art keywords
point cloud
cloud data
map
local map
data frame
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
Application number
CN201810199043.5A
Other languages
English (en)
Other versions
CN108550318A (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 Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN201810199043.5A priority Critical patent/CN108550318B/zh
Publication of CN108550318A publication Critical patent/CN108550318A/zh
Application granted granted Critical
Publication of CN108550318B publication Critical patent/CN108550318B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/005Map projections or methods associated specifically therewith
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/006Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
    • G09B29/007Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes using computer methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Administration (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Ecology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供一种构建地图的方法及装置,用于解决现有SLAM方案构建地图精确度低的技术问题。该方法包括:在控制AGV移动过程中,在不同的位置使用激光雷达对该AGV的周围环境进行扫描测距,获得包含有障碍物信息的点云数据帧;其中,该障碍物信息包括多个障碍点以及各障碍点与该AGV的相对位置信息;在扫描到的点云数据帧的数量达到预设帧数N时,基于扫描到的N帧点云数据帧生成局部地图;在确定该AGV重复经过同一位置时,计算该AGV首次经过该同一位置时生成的第一局部地图与该AGV第二次经过该同一位置时生成的第二局部地图的差异值;根据该第一局部地图与该第二局部地图的差异值对已生成的所有局部地图进行优化。

Description

一种构建地图的方法及装置
技术领域
本发明涉及导航技术领域,特别涉及一种构建地图的方法及装置。
背景技术
即时定位与地图构建(Simultaneous Localization and Mapping,SLAM)是一种真正实现全自主移动机器人的关键技术。现有SLAM构建地图的原理为:将每一次扫描到的点云数据帧与已观测信息进行匹配,增量式地生成地图。这种增量式方法构建出的地图的精确度与每一次点云数据帧的匹配精度密切相关。
然而,在实际应用中,点云数据帧与已观测信息的匹配不可能完全精确,不可避免地会存在误差,且随着时间的推移,这些误差还会被持续累积,导致最终生成的地图的精确度低。
发明内容
本发明提供一种构建地图的方法及装置,用于解决现有SLAM方案构建地图精确度低的技术问题。
第一方面,本发明实施例提供一种构建地图的方法,包括:
在控制AGV移动过程中,在不同的位置使用激光雷达对所述AGV的周围环境进行扫描测距,获得包含有障碍物信息的点云数据帧;其中,所述障碍物信息包括多个障碍点以及各障碍点与所述AGV的相对位置信息;
在扫描到的点云数据帧的数量达到预设帧数N时,基于扫描到的N帧点云数据帧生成局部地图;
在确定所述AGV重复经过同一位置时,计算所述AGV首次经过所述同一位置时生成的第一局部地图与所述AGV第二次经过所述同一位置时生成的第二局部地图的差异值;
根据所述第一局部地图与所述第二局部地图的差异值对已生成的所有局部地图进行优化。
在上述方案中,AGV在构建地图的过程中,还检测AGV是否重复经过了同一位置,如果确定AGV重复经过了同一位置,则计算AGV首次经过该同一位置时生成的局部地图与AGV第二次经过该同一位置时生成的局部地图的差异值,并根据计算得到的差异值对已生成的各个局部地图进行优化,以此实现对地图构建过程中所累积的误差的调整,提高了AGV构建地图的精确度。
可选的,所述基于扫描到的N帧点云数据帧生成局部地图,包括:按照采集时间的先后顺序,依次对所述N帧点云数据帧中的每一帧点云数据帧执行如下操作:根据历史点云数据帧的位姿,估计当前点云数据帧的M个可能位姿,所述历史点云数据帧为所述AGV在采集所述当前点云数据帧之前的预设时间范围内所采集的连续多帧点云数据帧,所述位姿包括所述AGV采集点云数据帧时的位置相对于所述AGV的初始位置的距离、偏向角;基于所述M个可能位姿,将所述当前点云数据帧映射到栅格地图M次,获得M个初始映射图;计算各个初始映射图与所述历史点云数据帧在所述栅格地图上的映射图的重合度;确定重合度最高的初始映射图所对应的可能位姿为所述当前点云数据帧的位姿;以及,根据确定出的所述N帧点云数据帧中各个点云数据帧的位姿,将所述各个点云数据帧映射到所述栅格地图上,共获得N个映射图,将所述N个映射图作为所述局部地图。
本方式通过持续生成局部地图的方式实现增量式构建地图,计算量小,能够提高构建地图的效率。
可选的,在使用激光雷达进行扫描测距时,还包括:检测地面是否有路标;在检测到路标时,将检测到的路标的相关信息添加到同时扫描到的点云数据帧中,其中所述相关信息包括检测到的路标的编号;确定所述AGV重复经过同一位置,包括:从已生成的所有局部地图中的点云数据帧中获取路标的编号;在确定任一局部地图中的点云数据帧与另一局部地图中的点云数据帧均包含有同一路标的编号时,确定所述AGV重复经过所述同一路标所在的位置。
本方式通过检测AGV是否经过相同路标确定AGV是否重复经过同一位置,提高了地图构建的效率。
可选的,所述相关信息还包括检测到的路标与所述AGV的相对位置信息;在根据所述差异值对已生成的所有局部地图进行优化之后,还包括:在确定所述AGV已检测到所有路标时,根据各个路标与所述AGV的相对位置信息,将各个路标添加到各个路标对应的局部地图中。
通过本方式,可以生成包含有路标信息的地图,提高了用户体验。
可选的,所述路标具体为二维码图像,以使得AGV可通过检测是否经过相同二维码确定是否重复经过同一位置,提高了地图构建的效率。
可选的,在基于扫描到的N帧点云数据帧生成局部地图之后,所述方法还包括:将所述N帧点云数据帧中的预设帧的位姿作为所述局部地图的整体位姿;基于所述N帧点云数据帧中各个点云数据帧的位姿、所述局部地图的整体位姿,确定所述N帧点云数据帧中各个点云数据帧与所述局部地图的相对位姿;基于所述N帧点云数据帧中各个点云数据帧与所述局部地图的相对位姿,计算所述N帧点云数据帧中各个点云数据帧与所述局部地图的误差约束项
Figure BDA0001593930040000031
对所述N帧点云数据帧中所有点云数据帧与所述局部地图的误差约束项进行求和
Figure BDA0001593930040000032
Figure BDA0001593930040000033
作为所述局部地图的整体误差约束项;
所述计算所述第一局部地图与所述第二局部地图的差异值,包括:计算所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿;基于所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿,计算所述AGV采集所述第二局部地图中各个点云数据帧与所述第一局部地图的误差约束项
Figure BDA0001593930040000034
对所述第二局部地图中所有点云数据帧与所述第一局部地图的误差约束项进行求和
Figure BDA0001593930040000035
Figure BDA0001593930040000036
作为所述第一局部地图与所述第二局部地图的差异值;
所述根据所述第一局部地图与所述第二局部地图的差异值对已生成的所有局部地图进行优化,包括:求所有局部地图的整体位姿误差约束项与所述差异值的总和:
Figure BDA0001593930040000041
采用梯度下降法调整已生成的所有局部地图中的点云数据帧的位姿,使
Figure BDA0001593930040000042
达到最小值。
本方式采用梯度下降法调整所有局部地图点云数据帧的位姿,使
Figure BDA0001593930040000043
达到最小,实现了对增量式构建地图过程中所累积的匹配误差的调整,提高了AGV构建地图的精确度。
可选的,所述计算所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿,包括:对所述第二局部地图中的每一点云数据帧均执行如下操作:根据所述第一局部地图的位姿,估计所述第二局部地图中的任一点云数据帧的K个可能位姿;基于所述K个可能位姿,将所述任一点云数据帧映射到栅格地图K次,获得K个初始映射图;计算所述K个初始映射图中各个初始映射图与所述第一局部地图的重合度;确定重合度最高的初始映射图所对应的可能位姿为所述任一点云数据帧的新位姿;根据所述任一点云数据帧的新位姿与所述第一局部地图的整体位姿,确定所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿。
本方式基于第一局部地图位姿重新计算第二局部地图中各帧点云数据帧的位姿,然后基于重新计算的各帧点云数据帧的位姿确定第二局部地图中各个点云数据帧与第一局部地图的相对位姿,使得第一局部地图与第二局部地图的差异值的计算更加准确可靠,保证优化效果,进一步提高了AGV构建地图的精确度。
第二方面,本发明实施例提供一种构建地图的装置,包括:扫描单元,用于在控制AGV移动过程中,在不同的位置使用激光雷达对所述AGV的周围环境进行扫描测距,获得包含有障碍物信息的点云数据帧;其中,所述障碍物信息包括多个障碍点以及各障碍点与所述AGV的相对位置信息;处理单元,用于在扫描到的点云数据帧的数量达到预设帧数N时,基于扫描到的N帧点云数据帧生成局部地图;在确定所述AGV重复经过同一位置时,计算所述AGV首次经过所述同一位置时生成的第一局部地图与所述AGV第二次经过所述同一位置时生成的第二局部地图的差异值;根据所述第一局部地图与所述第二局部地图的差异值对已生成的所有局部地图进行优化。
可选的,所述处理单元用于基于扫描到的N帧点云数据帧生成局部地图,包括:按照采集时间的先后顺序,依次对所述N帧点云数据帧中的每一帧点云数据帧执行如下操作:根据历史点云数据帧的位姿,估计当前点云数据帧的M个可能位姿,所述历史点云数据帧为所述AGV在采集所述当前点云数据帧之前的预设时间范围内所采集的连续多帧点云数据帧,所述位姿包括所述AGV采集点云数据帧时的位置相对于所述AGV的初始位置的距离、偏向角;基于所述M个可能位姿,将所述当前点云数据帧映射到栅格地图M次,获得M个初始映射图;计算各个初始映射图与所述历史点云数据帧在所述栅格地图上的映射图的重合度;确定重合度最高的初始映射图所对应的可能位姿为所述当前点云数据帧的位姿;以及,根据确定出的所述N帧点云数据帧中各个点云数据帧的位姿,将所述各个点云数据帧映射到所述栅格地图上,共获得N个映射图,将所述N个映射图作为所述局部地图。
可选的,所述扫描单元还用于:检测地面是否有路标;在检测到路标时,将检测到的路标的相关信息添加到同时扫描到的点云数据帧中,其中所述相关信息包括检测到的路标的编号;所述处理单元用于确定所述AGV重复经过同一位置,包括:从已生成的所有局部地图中的点云数据帧中获取路标的编号;在确定任一局部地图中的点云数据帧与另一局部地图中的点云数据帧均包含有同一路标的编号时,确定所述AGV重复经过所述同一路标所在的位置。
可选的,所述相关信息还包括检测到的路标与所述AGV的相对位置信息;所述处理单元还用于:在根据所述差异值对已生成的所有局部地图进行优化之后,在确定所述AGV已检测到所有路标时,根据各个路标与所述AGV的相对位置信息,将各个路标添加到各个路标对应的局部地图中。
可选的,所述路标具体为二维码图像。
可选的,所述处理单元还用于:在基于扫描到的N帧点云数据帧生成局部地图之后,将所述N帧点云数据帧中的预设帧的位姿作为所述局部地图的整体位姿;基于所述N帧点云数据帧中各个点云数据帧的位姿、所述局部地图的整体位姿,确定所述N帧点云数据帧中各个点云数据帧与所述局部地图的相对位姿;基于所述N帧点云数据帧中各个点云数据帧与所述局部地图的相对位姿,计算所述N帧点云数据帧中各个点云数据帧与所述局部地图的误差约束项
Figure BDA0001593930040000061
对所述N帧点云数据帧中所有点云数据帧与所述局部地图的误差约束项进行求和
Figure BDA0001593930040000062
Figure BDA0001593930040000063
作为所述局部地图的整体误差约束项;
所述处理单元用于计算所述第一局部地图与所述第二局部地图的差异值,包括:计算所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿;基于所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿,计算所述AGV采集所述第二局部地图中各个点云数据帧与所述第一局部地图的误差约束项
Figure BDA0001593930040000064
对所述第二局部地图中所有点云数据帧与所述第一局部地图的误差约束项进行求和
Figure BDA0001593930040000065
Figure BDA0001593930040000066
作为所述第一局部地图与所述第二局部地图的差异值;
所述处理单元用于根据所述第一局部地图与所述第二局部地图的差异值对已生成的所有局部地图进行优化,包括:求所有局部地图的整体位姿误差约束项与所述差异值的总和:
Figure BDA0001593930040000067
采用梯度下降法调整已生成的所有局部地图中的点云数据帧的位姿,使
Figure BDA0001593930040000068
达到最小值。
可选的,所述处理单元用于计算所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿,包括:对所述第二局部地图中的每一点云数据帧均执行如下操作:根据所述第一局部地图的位姿,估计所述第二局部地图中的任一点云数据帧的K个可能位姿;基于所述K个可能位姿,将所述任一点云数据帧映射到栅格地图K次,获得K个初始映射图;计算所述K个初始映射图中各个初始映射图与所述第一局部地图的重合度;确定重合度最高的初始映射图所对应的可能位姿为所述任一点云数据帧的新位姿;根据所述任一点云数据帧的新位姿与所述第一局部地图的整体位姿,确定所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿。
第三方面,本发明实施例提供一种构建地图的设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令执行本发明实施例第一方面或第一方面的任一种可选的实施方式所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本发明实施例第一方面或第一方面的任一种可选的实施方式所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
AGV在构建地图的过程中,还检测AGV是否重复经过了同一位置,如果确定AGV重复经过了同一位置,则计算AGV首次经过该同一位置时生成的局部地图与AGV第二次经过该同一位置时生成的局部地图的差异值,并根据计算得到的差异值对已生成的各个局部地图进行优化,以此实现对地图构建过程中所累积的误差的调整,提高了AGV构建地图的精确度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中构建地图的方法的流程示意图;
图2为本发明实施例中AGV的结构示意图;
图3为本发明实施例中仓储环境的示意图;
图4为本发明实施例中栅格地图的示意图;
图5为本发明实施例中位姿图模型的示意图;
图6为本发明实施例中栅格地图的示意图;
图7为本发明实施例中构建地图的装置的结构示意图;
图8为本发明实施例中构建地图的设备的结构示意图。
具体实施方式
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本发明实施例的描述中“多个”,是指两个或两个以上。
本发明实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
SLAM是指机器人在未知环境中,从一个未知位置开始移动,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。
现有的SLAM方案一般都是依赖于将点云数据帧与已观测信息进行匹配,并以增量的方式生成地图。
例如,专利CN201710504910.7公开了采用2D激光雷达对周围环境进行扫描,并采用占据栅格地图表示环境信息,在自动导引运输车(Automated Guided Vehicle,AGV)每一次对环境扫描得到扫描点云后,以AGV上一时刻位姿为中心遍历一定范围的位移和旋转角得到一系列虚拟位姿,并根据各个虚拟位姿以及当前占据栅格地图计算得到一系列虚拟扫描点云;将所有虚拟扫描点云与当前占据栅格地图的实际扫描点云匹配,找出匹配度最高的一组虚拟扫描点云,以其对应的虚拟位姿作为当前AGV的最优位姿;最后基于该最优位姿将当前实际扫描点云叠加至占据栅格地图中,从而实现增量式构建地图。
这种方法构建出的地图的精确度和点云数据帧的匹配精度密切相关。在实际应用中,扫描点云与已观测信息的匹配不可能完全精确,不可避免地会存在误差,且随着时间的推移,这些误差还将会持续累积。因此,现有技术存在构建地图精确度低的问题。
为了解决现有技术存在的技术问题,本发明实施例提供一种构建地图的方法,该方法可以应用于任意类型的可移动电子设备中,例如机器人、AGV、无人机、无人汽车等,本发明实施例不做具体限制。接下来本发明实施例主要以AGV为例进行详细介绍。
参照图1,本发明实施例构建地图的方法包括:
步骤101:在控制AGV移动过程中,在不同的位置使用激光雷达对所述AGV的周围环境进行扫描测距,获得包含有障碍物信息的点云数据帧。
其中,所述障碍物信息包括多个障碍点以及各障碍点与AGV的相对位置信息。该相对位置信息具体可以包括各个障碍点相对于AGV的距离和偏向角。
其中,在使用激光雷达进行扫描测距时,还可以进一步包括:检测地面是否有路标;在检测到路标时,将检测到的路标的相关信息添加到同时扫描到的点云数据帧中。所述路标的具体实现方式可以有多种,如二维码图像、数字路标等,本发明实施例不做具体限制。在本发明实施例接下来的描述中,主要以二维码图像路标为例说明。二维码图像的相关信息包括二维码的编号、二维码与AGV的相对位置信息(包括距离、偏向角)。
步骤102:在扫描到的点云数据帧的数量达到预设帧数N时,基于扫描到的N帧点云数据帧生成局部地图。
具体的,确定所述N帧点云数据帧中的每一帧点云数据帧的位姿;根据确定出的所述N帧点云数据帧中各个点云数据帧的位姿,将所述各个点云数据帧映射到所述栅格地图上,共获得N个映射图,将所述N个映射图作为所述局部地图。其中,所述位姿为AGV采集点云数据帧时的位置相对于所述AGV的初始位置的距离及偏向角。
其中,确定所述N帧点云数据帧中的每一帧点云数据帧的位姿,包括:按照采集时间的先后顺序,依次针对所述N帧点云数据帧中的每一帧点云数据帧,根据历史点云数据帧的位姿估计当前点云数据帧的M个可能位姿,所述历史点云数据帧为所述AGV在采集所述当前点云数据帧之前的预设时间范围内所采集的连续多帧点云数据帧;基于所述M个可能位姿,将所述当前点云数据帧映射到栅格地图M次,获得M个初始映射图;计算各个初始映射图与所述历史点云数据帧在所述栅格地图上的映射图的重合度;确定重合度最高的初始映射图所对应的可能位姿为所述当前点云数据帧的位姿。
其中,预设帧数N的选取原则可以为:使得AGV在获得N帧点云数据帧的过程中最多只扫描到一个路标(一个路标可被扫描到多次)。如果生成的局部地图对应的点云数据帧中包含有路标的编号,则采用该编号对局部地图进行标记,比如将该编号作为该局部地图的编号。
在基于扫描到的N帧点云数据帧生成局部地图之后,还可以进一步包括:将所述N帧点云数据帧中的预设帧的位姿作为所述局部地图的整体位姿;基于所述N帧点云数据帧中各个点云数据帧的位姿、所述局部地图的整体位姿,确定所述N帧点云数据帧中各个点云数据帧与所述局部地图的相对位姿;基于所述N帧点云数据帧中各个点云数据帧与所述局部地图的相对位姿,计算所述N帧点云数据帧中各个点云数据帧与所述局部地图的误差约束项:
Figure BDA0001593930040000101
对所述N帧点云数据帧中所有点云数据帧与所述局部地图的误差约束项进行求和:
Figure BDA0001593930040000111
Figure BDA0001593930040000112
作为所述局部地图的整体误差约束项。其中ξF,i为该局部地图中的第i帧点云数据帧的位姿,ξS,j为该局部地图的整体位姿,ξi,j为该局部地图中的第i帧点云数据帧与该局部地图整体的相对位姿,e(ξF,i,ξS,j,ξi,j)为相对位姿的误差函数,∑i,j为Fi与Sj之间的相对位姿ξi,j的协方差矩阵。所述预设帧可以为N帧点云数据帧中的任意指定帧,例如第N/2帧,本发明实施例不做具体限制。
步骤103:在确定所述AGV重复经过同一位置时,计算所述AGV首次经过所述同一位置时生成的第一局部地图与所述AGV第二次经过所述同一位置时生成的第二局部地图的差异值。
其中,所述确定所述AGV重复经过同一位置,具体可以包括:从已生成的所有局部地图中的点云数据帧中获取路标的编号;在确定任一局部地图中的点云数据帧与另一局部地图中的点云数据帧均包含有同一路标的编号时,确定所述AGV重复经过所述同一路标所在的位置。对应步骤102具体实施方式,在各个局部地图均被标记时,所述确定所述AGV重复经过同一位置的具体实现方式还可以为:获取所有局部地图的的编号;在确定任一局部地图与另一局部地图的编号相同时,确定所述AGV重复经过该编号的路标所在的位置。
其中,计算所述第一局部地图与所述第二局部地图的差异值的具体实施方式包括:
步骤一:计算所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿。
具体的,针对所述第二局部地图中的每一点云数据帧,根据所述第一局部地图的位姿,估计所述第二局部地图中的任一点云数据帧的K个可能位姿;基于所述K个可能位姿,将所述任一点云数据帧映射到栅格地图K次,获得K个初始映射图;计算所述K个初始映射图中各个初始映射图与所述第一局部地图的重合度;确定重合度最高的初始映射图所对应的可能位姿为所述任一点云数据帧的新位姿;根据所述任一点云数据帧的新位姿与所述第一局部地图的整体位姿,确定所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿。
步骤二:基于所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿,计算所述AGV采集所述第二局部地图中各个点云数据帧与所述第一局部地图的误差约束项
Figure BDA0001593930040000121
其中,ξF,i为第二局部地图中的第i帧点云数据帧的位姿,ξS,m为第一局部地图的整体位姿,ξi,m为所述第二局部地图中的第i帧点云数据帧与第一局部地图的相对位姿,∑i,m为估算Fi与Sm之间的相对位姿ξi,m的协方差矩阵,e(ξF,i,ξS,m,ξi,m)为相对位姿误差函数。
步骤三:对所述第二局部地图中所有点云数据帧与所述第一局部地图的误差约束项进行求和
Figure BDA0001593930040000122
Figure BDA0001593930040000123
作为所述第一局部地图与所述第二局部地图的差异值。
步骤104:根据所述第一局部地图与所述第二局部地图的差异值对已生成的所有局部地图进行优化。
具体的,求所有局部地图的整体位姿误差约束项与所述差异值的总和,即
Figure BDA0001593930040000124
然后采用梯度下降法调整已生成的所有局部地图中的点云数据帧的位姿,使得
Figure BDA0001593930040000125
达到最小值为止。
在具体实施过程中,在根据所述差异值对已生成的所有局部地图进行优化之后,如果所述AGV已检测到所有路标,则可以进一步根据各个路标与所述AGV的相对位置信息,将各个路标添加到各个路标对应的局部地图中,获得包含有路标信息的全局地图;如果所述AGV未检测到所有路标,则可重复执行上述步骤101至104,直到所有路标均被检测到为止,然后生成包含有路标信息的全局地图。
在上述方案中,AGV在构建地图的过程中,还进行闭环检测,即检测AGV是否重复经过了同一位置,如果确定AGV重复经过了同一位置,则计算AGV首次经过该同一位置时生成的局部地图与AGV第二次经过该同一位置时生成的局部地图的差异值,并根据计算得到的差异值对已生成的各个局部地图进行优化,以此实现对增量式构建地图过程中所累积的匹配误差的调整,提高了AGV构建地图的精确度。并且,上述方案在构建地图、闭环检测以及地图优化等过程中,均是以局部地图为基本计算单位,计算量小,提高了AGV构建地图的效率。
为了便于本领域技术人员更加清楚地理解本发明实施例技术方案,接下来,例举本发明的一种可能的应用场景,并在该场景下对本发明实施例技术方案的具体实施方式进行详细说明:
参照图2,本例中的AGV包括移动底盘(包括电机、控制器、嵌入式计算机)、2D激光雷达、二维码扫描装置(由朝下扫描的摄像头与预置了二维码识别程序的嵌入式计算设备组成)。
参照图3,该AGV可用于仓储环境下的二维码地图构建。该仓储环境包括货架、工作台等仓储功能部件,仓储环境地面上按一定间距铺设有二维码,每个二维码对应唯一的身份标识编号(identification,ID)。AGV使用2D激光雷达扫描环境轮廓,如图3虚线条所示,同时二维码扫描装置扫描地上的二维码信息。AGV沿着箭头方向前进,覆盖所有二维码,在重复经过至少一个二维码时形成闭环。AGV行进过程中对仓储环境充分扫描,最终生成一张包含了所有二维码位姿信息的占据栅格地图。
AGV在该仓储环境下构建地图的具体过程包括:
步骤(一):获取点云数据帧。
AGV前进过程中,使用2D激光雷达持续不断地扫描周围环境,得到点云数据帧。与此同时,AGV上的二维码扫描转置不断地扫描地面检查是否存在二维码,若恰好扫描到一个二维码,则记录其信息Qi={id,ξQ,i},其中id为二维码编号,ξQ,i为二维码在点云坐标系中的位姿,ξq_i=[xQ,iyQ,iθQ,i]T,xQ,i、yQ,i为障碍点相对于AGV的2D位移,θQ,i为2D旋转角;
点云数据帧可表示为Fi={Pi,QiF,i},其中Pi={pi,1,pi,2,…,pi,k}为2D点云,pi,k=[xi,kyi,k]T为一个2D障碍点的坐标,Qi为二维码信息,ξF,i表示该点云数据帧的位姿。若扫描得到某点云数据帧时,AGV的二维码扫描装置扫描得到二维码信息,则Qi为二维码信息,否则Fi中Qi为空。
步骤(二):生成局部地图。
当点云数据帧达到预设帧数N时,将最近的N帧点云数据帧进行匹配,以生成局部地图。其中,N帧点云数据帧的匹配过程包括步骤(a)至步骤(h):
(a)初始化。对占据栅格地图的每一个栅格,初始化设置其概率值为0;
(b)将一帧点云数据帧做模拟投影。设当前点云数据帧的位姿初始值为
Figure BDA0001593930040000141
设当前其估计的位姿为
Figure BDA0001593930040000142
其中初始值
Figure BDA0001593930040000143
与历史帧的位姿相关,比如初始值可以为上一帧点云数据帧的位姿。参照图4,将点云投影至占据栅格地图:
Figure BDA0001593930040000144
其中,
Figure BDA0001593930040000145
表示从第i帧点云数据帧对应的点云坐标系映射到世界坐标系(即栅格地图)的位姿变换矩阵,不同帧点云的点云坐标可以不同,所有点云数据帧的世界坐标系相同。di,k表示该点云帧内第k个障碍点与AGV的距离值,θi,k表示该障碍点相对于AGV的偏移角度,r表示栅格地图的分辨率,
Figure BDA0001593930040000146
Figure BDA0001593930040000147
即为第k个障碍点在点云坐标系中的横纵坐标,ui,k和vi,k分别表示该障碍点对应在栅格地图上的横纵坐标;图4中黑色填充的栅格表征历史帧的投影,斜线图案填充的栅格表征当前帧点云数据帧的投影;
(c)计算模拟投影对应的得分值。将该帧点云数据帧投影至占据栅格地图后,得到一系列栅格集合Gi={(ui,1,vi,1),(ui,2,vi,2),...,(ui,k,vi,k)},则可以计算该投影对应得分值如下:
Figure BDA0001593930040000148
其中f(ui,k,vi,k)为栅格(ui,k,vi,k)被障碍物占据的概率值,K为栅格集合内栅格的总数,Δx、Δy、Δθ分别为
Figure BDA0001593930040000149
Figure BDA00015939300400001410
三个分量的差值,wT为平移权重,wR为旋转权重;
f(ui,k,vi,k)的计算方式为:
Figure BDA0001593930040000151
其中,foccupy为预设值,f′(ui,k,vi,k)为本次投影前的栅格的概率值;
(d)重复(b)~(c),确定出使得分值为最大值的位姿,即
Figure BDA0001593930040000152
(e)更新占据栅格地图的概率值。根据(d)中得到的ξF,i将点云数据帧重新投影至占据栅格地图,得到栅格集合Gi={(ui,1,vi,1),(ui,2,vi,2),...,(ui,k,vi,k)}。遍历Gi,按以下方式更新每个栅格的概率值:
Figure BDA0001593930040000153
其中,foccupy为预设值,f′(ui,k,vi,k)为更新前栅格的概率值,f(ui,k,vi,k)为更新后栅格的概率值;
(f)重复(b)~(e)过程,直到N帧点云数据帧处理完毕;
(g)更新局部地图的二维码信息。局部地图用Sj={F1,F2,...,FN,Qj,ξS,j}表示。其中取第N/2帧点云数据帧的位姿作为局部地图的位姿,即ξS,j=ξF,N/2;同时局部地图的二维码信息Qj的取值方法为:若N帧点云数据帧对应的二维码信息均为空,则令Qj为空,否则在扫描到二维码信息的点云数据帧集合中选取预设帧(比如距离ξS,j最近的点云数据帧),以该数据帧包含的二维码信息Qi作为局部地图的二维码信息Qj的值;
(h)更新位姿图。计算Sj内所有点云数据帧位姿相对于局部地图的位姿误差约束项,并添加到所有局部地图的整体位姿误差约束项中,即
Figure BDA0001593930040000154
其中
Figure BDA0001593930040000155
表示所有局部地图的整体位姿误差约束项,初始为0,随着局部地图数量的增加
Figure BDA0001593930040000161
不断累加。
Figure BDA0001593930040000162
表示局部地图Sj中的第i帧点云数据帧Fi相对于Sj的位姿误差约束项,表示为
Figure BDA0001593930040000163
其中e(ξF,iS,j,ξi,j)为相对位姿误差函数,∑i,j为Fi与Sj之间的相对位姿ξi,j的协方差矩阵。
步骤(三),查找闭环。
设已生成的局部地图集合为{S1,S2,...,Sj-1},当生成Sj后进行闭环查找,其方法为:遍历{S1,S2,...,Sj-1},查找是否存在与Sj包含同一个二维码id的局部地图;
若不存,则重复上述步骤(一)、(二);
若存在,假设与Sj包含同一个二维码id的局部地图为Sm,则遍历Sj内的N帧点云数据帧,对Sj内每一帧执行操作:计算第i帧点云数据帧Fi位姿与Sm位姿之间的平移量,在确定其小于一定阈值时,计算Fi与Sm之间的相对位姿ξi,m。参照图5所示,在位姿图模型中待优化节点ξF,i与ξS,m构成的边表征误差约束项
Figure BDA0001593930040000164
其中∑i,m为估算Fi与Sm之间的相对位姿ξi,m的协方差矩阵,e(ξF,i,ξS,m,ξi,m)为相对位姿误差函数。计算
Figure BDA0001593930040000165
之后,将其加入到位姿图的整体误差中,即
Figure BDA0001593930040000166
步骤(四),优化位姿。采用梯度下降法不断调整所有局部地图的以及各局部地图中的点云数据帧的位姿,直到总体误差
Figure BDA0001593930040000167
达到最小。
步骤(五),优化完成后,判断AGV是否已覆盖所有二维码;否为否,则重复步骤(一)至(四);若为是,则生成二维码地图。
其中,生成二维码地图的具体实现过程包括:遍历占据栅格地图的所有栅格,若栅格的概率值大于一定阈值则将该栅格设置为障碍物属性,否则设置为可通行属性,同时根据优化后的二维码位姿在栅格地图中标记二维码位置,例如图6所示。
在本实施例中,AGV在仓储环境中构建地图时,通过检测是否重复经过同一二维码位置确定已生成的局部地图是否构成闭环,并在确定生成的局部地图构成闭环时,计算AGV首次经过该同一二维码位置时生成的局部地图与AGV第二次经过该同一二维码位置时生成的局部地图的差异值,并根据计算得到的差异值对已生成的局部地图进行优化,以此实现对增量式构建地图过程中所累积的匹配误差的调整,提高了AGV构建地图的精确度。并且,上述实施例在构建地图、闭环检测以及地图优化等过程中,均是以局部地图为基本计算单位,计算量小,提高了AGV构建地图的效率。
基于同一发明构思,本发明实施例还提供一种构建地图的装置,参照图7,该装置包括:
扫描单元201,用于在控制AGV移动过程中,在不同的位置使用激光雷达对所述AGV的周围环境进行扫描测距,获得包含有障碍物信息的点云数据帧;其中,所述障碍物信息包括多个障碍点以及各障碍点与所述AGV的相对位置信息;
处理单元202,用于在扫描到的点云数据帧的数量达到预设帧数N时,基于扫描到的N帧点云数据帧生成局部地图;在确定所述AGV重复经过同一位置时,计算所述AGV首次经过所述同一位置时生成的第一局部地图与所述AGV第二次经过所述同一位置时生成的第二局部地图的差异值;根据所述第一局部地图与所述第二局部地图的差异值对已生成的所有局部地图进行优化。
可选的,所述处理单元202用于基于扫描到的N帧点云数据帧生成局部地图,包括:
按照采集时间的先后顺序,依次对所述N帧点云数据帧中的每一帧点云数据帧执行如下操作:根据历史点云数据帧的位姿,估计当前点云数据帧的M个可能位姿,所述历史点云数据帧为所述AGV在采集所述当前点云数据帧之前的预设时间范围内所采集的连续多帧点云数据帧,所述位姿包括所述AGV采集点云数据帧时的位置相对于所述AGV的初始位置的距离、偏向角;基于所述M个可能位姿,将所述当前点云数据帧映射到栅格地图M次,获得M个初始映射图;计算各个初始映射图与所述历史点云数据帧在所述栅格地图上的映射图的重合度;确定重合度最高的初始映射图所对应的可能位姿为所述当前点云数据帧的位姿;
根据确定出的所述N帧点云数据帧中各个点云数据帧的位姿,将所述各个点云数据帧映射到所述栅格地图上,共获得N个映射图,将所述N个映射图作为所述局部地图。
可选的,所述扫描单元201还用于:检测地面是否有路标;在检测到路标时,将检测到的路标的相关信息添加到同时扫描到的点云数据帧中,其中所述相关信息包括检测到的路标的编号;所述处理单元202用于确定所述AGV重复经过同一位置,包括:从已生成的所有局部地图中的点云数据帧中获取路标的编号;在确定任一局部地图中的点云数据帧与另一局部地图中的点云数据帧均包含有同一路标的编号时,确定所述AGV重复经过所述同一路标所在的位置。
可选的,所述相关信息还包括检测到的路标与所述AGV的相对位置信息;所述处理单元202还用于:在根据所述差异值对已生成的所有局部地图进行优化之后,在确定所述AGV已检测到所有路标时,根据各个路标与所述AGV的相对位置信息,将各个路标添加到各个路标对应的局部地图中。
可选的,所述路标具体为二维码图像。
可选的,所述处理单元202还用于:在基于扫描到的N帧点云数据帧生成局部地图之后,将所述N帧点云数据帧中的预设帧的位姿作为所述局部地图的整体位姿;基于所述N帧点云数据帧中各个点云数据帧的位姿、所述局部地图的整体位姿,确定所述N帧点云数据帧中各个点云数据帧与所述局部地图的相对位姿;基于所述N帧点云数据帧中各个点云数据帧与所述局部地图的相对位姿,计算所述N帧点云数据帧中各个点云数据帧与所述局部地图的误差约束项
Figure BDA0001593930040000181
对所述N帧点云数据帧中所有点云数据帧与所述局部地图的误差约束项进行求和
Figure BDA0001593930040000182
Figure BDA0001593930040000183
作为所述局部地图的整体误差约束项;
所述处理单元202用于计算所述第一局部地图与所述第二局部地图的差异值,包括:计算所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿;基于所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿,计算所述AGV采集所述第二局部地图中各个点云数据帧与所述第一局部地图的误差约束项
Figure BDA0001593930040000191
对所述第二局部地图中所有点云数据帧与所述第一局部地图的误差约束项进行求和
Figure BDA0001593930040000192
Figure BDA0001593930040000193
作为所述第一局部地图与所述第二局部地图的差异值;
所述处理单元202用于根据所述第一局部地图与所述第二局部地图的差异值对已生成的所有局部地图进行优化,包括:求所有局部地图的整体位姿误差约束项与所述差异值的总和:
Figure BDA0001593930040000194
采用梯度下降法调整已生成的所有局部地图中的点云数据帧的位姿,使
Figure BDA0001593930040000195
达到最小值。
可选的,所述处理单元202用于计算所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿,包括:对所述第二局部地图中的每一点云数据帧均执行如下操作:根据所述第一局部地图的位姿,估计所述第二局部地图中的任一点云数据帧的K个可能位姿;基于所述K个可能位姿,将所述任一点云数据帧映射到栅格地图K次,获得K个初始映射图;计算所述K个初始映射图中各个初始映射图与所述第一局部地图的重合度;确定重合度最高的初始映射图所对应的可能位姿为所述任一点云数据帧的新位姿;根据所述任一点云数据帧的新位姿与所述第一局部地图的整体位姿,确定所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿。
以上各单元所执行操作的具体实现方式可以参照本发明实施例上述构建地图的方法中对应步骤的具体实现方式,本发明实施例不再赘述。
基于同一发明构思,本发明实施例还提供一种构建地图的设备,参照图8,该设备包括:至少一个处理器301,以及与所述至少一个处理器301通信连接的存储器302;其中,所述存储器302存储有可被所述至少一个处理器301执行的指令,所述至少一个处理器301通过执行所述存储器302存储的指令执行本发明实施例上述构建地图的方法。
基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本发明实施例上述构建地图的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种构建地图的方法,其特征在于,包括:
在控制自动导引运输车AGV移动过程中,在不同的位置使用激光雷达对所述AGV的周围环境进行扫描测距,获得包含有障碍物信息的点云数据帧;其中,所述障碍物信息包括多个障碍点以及各障碍点与所述AGV的相对位置信息;
在扫描到的点云数据帧的数量达到预设帧数N时,基于扫描到的N帧点云数据帧生成局部地图;
在确定所述AGV重复经过同一位置时,计算所述AGV首次经过所述同一位置时生成的第一局部地图与所述AGV第二次经过所述同一位置时生成的第二局部地图的差异值;
根据所述第一局部地图与所述第二局部地图的差异值对已生成的所有局部地图进行优化。
2.如权利要求1所述的方法,其特征在于,所述基于扫描到的N帧点云数据帧生成局部地图,包括:
按照采集时间的先后顺序,依次对所述N帧点云数据帧中的每一帧点云数据帧执行如下操作:根据历史点云数据帧的位姿,估计当前点云数据帧的M个可能位姿,所述历史点云数据帧为所述AGV在采集所述当前点云数据帧之前的预设时间范围内所采集的连续多帧点云数据帧,所述位姿包括所述AGV采集点云数据帧时的位置相对于所述AGV的初始位置的距离、偏向角;基于所述M个可能位姿,将所述当前点云数据帧映射到栅格地图M次,获得M个初始映射图;计算各个初始映射图与所述历史点云数据帧在所述栅格地图上的映射图的重合度;确定重合度最高的初始映射图所对应的可能位姿为所述当前点云数据帧的位姿;
根据确定出的所述N帧点云数据帧中各个点云数据帧的位姿,将所述各个点云数据帧映射到所述栅格地图上,共获得N个映射图,将所述N个映射图作为所述局部地图。
3.如权利要求1或2所述的方法,其特征在于,在使用激光雷达进行扫描测距时,还包括:
检测地面是否有路标;在检测到路标时,将检测到的路标的相关信息添加到同时扫描到的点云数据帧中,其中所述相关信息包括检测到的路标的编号;
确定所述AGV重复经过同一位置,包括:
从已生成的所有局部地图中的点云数据帧中获取路标的编号;在确定任一局部地图中的点云数据帧与另一局部地图中的点云数据帧均包含有同一路标的编号时,确定所述AGV重复经过所述同一路标所在的位置。
4.如权利要求3所述的方法,其特征在于,所述相关信息还包括检测到的路标与所述AGV的相对位置信息;在根据所述差异值对已生成的所有局部地图进行优化之后,还包括:
在确定所述AGV已检测到所有路标时,根据各个路标与所述AGV的相对位置信息,将各个路标添加到各个路标对应的局部地图中。
5.如权利要求3所述的方法,其特征在于,所述路标具体为二维码图像。
6.如权利要求1或2所述的方法,其特征在于,在基于扫描到的N帧点云数据帧生成局部地图之后,所述方法还包括:
将所述N帧点云数据帧中的预设帧的位姿作为所述局部地图的整体位姿;基于所述N帧点云数据帧中各个点云数据帧的位姿、所述局部地图的整体位姿,确定所述N帧点云数据帧中各个点云数据帧与所述局部地图的相对位姿;基于所述N帧点云数据帧中各个点云数据帧与所述局部地图的相对位姿,计算所述N帧点云数据帧中各个点云数据帧与所述局部地图的误差约束项
Figure FDA0002344361460000021
对所述N帧点云数据帧中所有点云数据帧与所述局部地图的误差约束项进行求和
Figure FDA0002344361460000022
Figure FDA0002344361460000023
作为所述局部地图的整体误差约束项;其中,i为所述N帧点云数据帧第i帧点云的标识号,i为小于或等于N的正整数;j为所述局部地图的标识号;
所述计算所述第一局部地图与所述第二局部地图的差异值,包括:
计算所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿;基于所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿,计算所述AGV采集所述第二局部地图中各个点云数据帧与所述第一局部地图的误差约束项
Figure FDA0002344361460000031
对所述第二局部地图中所有点云数据帧与所述第一局部地图的误差约束项进行求和
Figure FDA0002344361460000032
Figure FDA0002344361460000033
作为所述第一局部地图与所述第二局部地图的差异值;其中,m为所述第二局部地图的标识号;
所述根据所述第一局部地图与所述第二局部地图的差异值对已生成的所有局部地图进行优化,包括:
求所有局部地图的整体位姿误差约束项与所述差异值的总和:
Figure FDA0002344361460000034
Figure FDA0002344361460000035
采用梯度下降法调整已生成的所有局部地图中的点云数据帧的位姿,使
Figure FDA0002344361460000036
达到最小值。
7.如权利要求6所述的方法,其特征在于,所述计算所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿,包括:
对所述第二局部地图中的每一点云数据帧均执行如下操作:根据所述第一局部地图的位姿,估计所述第二局部地图中的任一点云数据帧的K个可能位姿;基于所述K个可能位姿,将所述任一点云数据帧映射到栅格地图K次,获得K个初始映射图;计算所述K个初始映射图中各个初始映射图与所述第一局部地图的重合度;确定重合度最高的初始映射图所对应的可能位姿为所述任一点云数据帧的新位姿;根据所述任一点云数据帧的新位姿与所述第一局部地图的整体位姿,确定所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿。
8.一种构建地图的装置,其特征在于,包括:
扫描单元,用于在控制AGV移动过程中,在不同的位置使用激光雷达对所述AGV的周围环境进行扫描测距,获得包含有障碍物信息的点云数据帧;其中,所述障碍物信息包括多个障碍点以及各障碍点与所述AGV的相对位置信息;
处理单元,用于在扫描到的点云数据帧的数量达到预设帧数N时,基于扫描到的N帧点云数据帧生成局部地图;在确定所述AGV重复经过同一位置时,计算所述AGV首次经过所述同一位置时生成的第一局部地图与所述AGV第二次经过所述同一位置时生成的第二局部地图的差异值;根据所述第一局部地图与所述第二局部地图的差异值对已生成的所有局部地图进行优化。
9.如权利要求8所述的装置,其特征在于,所述处理单元用于基于扫描到的N帧点云数据帧生成局部地图,包括:
按照采集时间的先后顺序,依次对所述N帧点云数据帧中的每一帧点云数据帧执行如下操作:根据历史点云数据帧的位姿,估计当前点云数据帧的M个可能位姿,所述历史点云数据帧为所述AGV在采集所述当前点云数据帧之前的预设时间范围内所采集的连续多帧点云数据帧,所述位姿包括所述AGV采集点云数据帧时的位置相对于所述AGV的初始位置的距离、偏向角;基于所述M个可能位姿,将所述当前点云数据帧映射到栅格地图M次,获得M个初始映射图;计算各个初始映射图与所述历史点云数据帧在所述栅格地图上的映射图的重合度;确定重合度最高的初始映射图所对应的可能位姿为所述当前点云数据帧的位姿;
根据确定出的所述N帧点云数据帧中各个点云数据帧的位姿,将所述各个点云数据帧映射到所述栅格地图上,共获得N个映射图,将所述N个映射图作为所述局部地图。
10.如权利要求8或9所述的装置,其特征在于,所述扫描单元还用于:检测地面是否有路标;在检测到路标时,将检测到的路标的相关信息添加到同时扫描到的点云数据帧中,其中所述相关信息包括检测到的路标的编号;
所述处理单元用于确定所述AGV重复经过同一位置,包括:从已生成的所有局部地图中的点云数据帧中获取路标的编号;在确定任一局部地图中的点云数据帧与另一局部地图中的点云数据帧均包含有同一路标的编号时,确定所述AGV重复经过所述同一路标所在的位置。
11.如权利要求10所述的装置,其特征在于,所述相关信息还包括检测到的路标与所述AGV的相对位置信息;
所述处理单元还用于:在根据所述差异值对已生成的所有局部地图进行优化之后,在确定所述AGV已检测到所有路标时,根据各个路标与所述AGV的相对位置信息,将各个路标添加到各个路标对应的局部地图中。
12.如权利要求10所述的装置,其特征在于,所述路标具体为二维码图像。
13.如权利要求8或9所述的装置,其特征在于,所述处理单元还用于:
在基于扫描到的N帧点云数据帧生成局部地图之后,将所述N帧点云数据帧中的预设帧的位姿作为所述局部地图的整体位姿;基于所述N帧点云数据帧中各个点云数据帧的位姿、所述局部地图的整体位姿,确定所述N帧点云数据帧中各个点云数据帧与所述局部地图的相对位姿;基于所述N帧点云数据帧中各个点云数据帧与所述局部地图的相对位姿,计算所述N帧点云数据帧中各个点云数据帧与所述局部地图的误差约束项
Figure FDA0002344361460000051
对所述N帧点云数据帧中所有点云数据帧与所述局部地图的误差约束项进行求和
Figure FDA0002344361460000052
Figure FDA0002344361460000053
作为所述局部地图的整体误差约束项;其中,i为所述N帧点云数据帧第i帧点云的标识号,i为小于或等于N的正整数;j为所述局部地图的标识号;
所述处理单元用于计算所述第一局部地图与所述第二局部地图的差异值,包括:计算所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿;基于所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿,计算所述AGV采集所述第二局部地图中各个点云数据帧与所述第一局部地图的误差约束项
Figure FDA0002344361460000054
对所述第二局部地图中所有点云数据帧与所述第一局部地图的误差约束项进行求和
Figure FDA0002344361460000055
Figure FDA0002344361460000056
作为所述第一局部地图与所述第二局部地图的差异值;其中,m为所述第二局部地图的标识号;
所述处理单元用于根据所述第一局部地图与所述第二局部地图的差异值对已生成的所有局部地图进行优化,包括:求所有局部地图的整体位姿误差约束项与所述差异值的总和:
Figure FDA0002344361460000061
采用梯度下降法调整已生成的所有局部地图中的点云数据帧的位姿,使
Figure FDA0002344361460000062
达到最小值。
14.如权利要求13所述的装置,其特征在于,所述处理单元用于计算所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿,包括:
对所述第二局部地图中的每一点云数据帧均执行如下操作:根据所述第一局部地图的位姿,估计所述第二局部地图中的任一点云数据帧的K个可能位姿;基于所述K个可能位姿,将所述任一点云数据帧映射到栅格地图K次,获得K个初始映射图;计算所述K个初始映射图中各个初始映射图与所述第一局部地图的重合度;确定重合度最高的初始映射图所对应的可能位姿为所述任一点云数据帧的新位姿;根据所述任一点云数据帧的新位姿与所述第一局部地图的整体位姿,确定所述第二局部地图中各个点云数据帧与所述第一局部地图的相对位姿。
15.一种构建地图的设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令执行权利要求1至8中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行权利要求1至8中任一项所述的方法。
CN201810199043.5A 2018-03-12 2018-03-12 一种构建地图的方法及装置 Active CN108550318B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810199043.5A CN108550318B (zh) 2018-03-12 2018-03-12 一种构建地图的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810199043.5A CN108550318B (zh) 2018-03-12 2018-03-12 一种构建地图的方法及装置

Publications (2)

Publication Number Publication Date
CN108550318A CN108550318A (zh) 2018-09-18
CN108550318B true CN108550318B (zh) 2020-09-29

Family

ID=63516037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810199043.5A Active CN108550318B (zh) 2018-03-12 2018-03-12 一种构建地图的方法及装置

Country Status (1)

Country Link
CN (1) CN108550318B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558471B (zh) * 2018-11-14 2020-10-16 广州广电研究院有限公司 栅格地图的更新方法、装置、存储介质和系统
CN111383261B (zh) * 2018-12-27 2023-06-20 浙江舜宇智能光学技术有限公司 移动机器人、及其位姿估计方法和位姿估计装置
CN109613548B (zh) * 2018-12-28 2022-12-23 芜湖哈特机器人产业技术研究院有限公司 一种基于图优化的激光雷达路标地图构建方法
CN109613547B (zh) * 2018-12-28 2022-05-27 芜湖哈特机器人产业技术研究院有限公司 一种基于反光板的占据栅格地图构建方法
WO2020133415A1 (en) 2018-12-29 2020-07-02 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for constructing a high-definition map based on landmarks
CN110008851B (zh) * 2019-03-15 2021-11-19 深兰科技(上海)有限公司 一种车道线检测的方法及设备
CN110288708B (zh) * 2019-05-05 2023-06-16 深圳大学 一种地图构建方法、装置及终端设备
CN110297224A (zh) * 2019-08-01 2019-10-01 深圳前海达闼云端智能科技有限公司 激光雷达的定位方法、装置、机器人及计算设备
CN110861082B (zh) * 2019-10-14 2021-01-22 北京云迹科技有限公司 辅助建图方法、装置、建图机器人及存储介质
CN110715655A (zh) * 2019-10-21 2020-01-21 兰剑智能科技股份有限公司 基于实时更新地图的agv定位方法、装置及系统
CN111060135B (zh) * 2019-12-10 2021-12-17 亿嘉和科技股份有限公司 一种基于局部地图的地图修正方法及系统
WO2021128297A1 (zh) * 2019-12-27 2021-07-01 深圳市大疆创新科技有限公司 三维点云地图构建方法、系统和设备
CN113252022B (zh) * 2020-02-11 2024-09-10 北京图森智途科技有限公司 一种地图数据处理方法及装置
CN113252051A (zh) * 2020-02-11 2021-08-13 北京图森智途科技有限公司 一种地图构建方法及装置
CN113465614B (zh) * 2020-03-31 2023-04-18 北京三快在线科技有限公司 无人机及其导航地图的生成方法和装置
CN111508072B (zh) * 2020-04-23 2023-07-04 东软睿驰汽车技术(上海)有限公司 地图构建方法、装置、电子设备及存储介质
CN111504335B (zh) * 2020-04-23 2022-08-05 东软睿驰汽车技术(上海)有限公司 地图构建方法、装置、电子设备及存储介质
CN111679677B (zh) * 2020-06-24 2023-10-03 浙江华睿科技股份有限公司 Agv的位姿调整方法、装置、存储介质、电子装置
CN113759369B (zh) * 2020-06-28 2023-12-05 北京京东乾石科技有限公司 基于双多线雷达的建图方法和装置
CN111881233B (zh) * 2020-06-28 2022-01-18 广州文远知行科技有限公司 分布式点云地图构建方法和装置、服务器、计算机可读存储介质
CN111735463B (zh) * 2020-07-28 2020-11-24 北京云迹科技有限公司 一种建图方法及装置
CN112286201A (zh) * 2020-11-09 2021-01-29 苏州罗伯特木牛流马物流技术有限公司 Agv导航控制系统及方法
CN112685527B (zh) * 2020-12-31 2024-09-17 北京迈格威科技有限公司 建立地图的方法、装置和电子系统
CN112987010B (zh) * 2021-01-28 2024-07-19 上海思岚科技有限公司 一种用于机器人的多雷达建图的系统及方法
CN114236564B (zh) * 2022-02-23 2022-06-07 浙江华睿科技股份有限公司 动态环境下机器人定位的方法、机器人、装置及存储介质
CN114842458B (zh) * 2022-06-29 2022-11-04 小米汽车科技有限公司 障碍物检测方法、装置、车辆和存储介质
CN115451938A (zh) * 2022-08-12 2022-12-09 深圳市优必选科技股份有限公司 一种栅格地图构建方法、栅格地图构建装置及电子设备
CN117824667B (zh) * 2024-03-06 2024-05-10 成都睿芯行科技有限公司 一种基于二维码和激光的融合定位方法及介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61209316A (ja) * 1985-03-14 1986-09-17 Nissan Motor Co Ltd 車両用経路誘導装置
JP2008164831A (ja) * 2006-12-27 2008-07-17 Aisin Aw Co Ltd 地図情報生成システム
CN103869814B (zh) * 2012-12-17 2017-04-19 联想(北京)有限公司 一种终端定位和导航方法以及可移动的终端
CN103901885B (zh) * 2012-12-28 2016-10-05 联想(北京)有限公司 信息处理方法和信息处理设备
CN105527968A (zh) * 2014-09-29 2016-04-27 联想(北京)有限公司 信息处理方法和信息处理装置
CN104764457B (zh) * 2015-04-21 2017-11-17 北京理工大学 一种用于无人车的城市环境构图方法
CN104850615A (zh) * 2015-05-14 2015-08-19 西安电子科技大学 一种基于g2o的SLAM后端优化算法方法
CN105004340B (zh) * 2015-07-14 2018-02-13 沈向东 结合惯性导航技术和指纹定位技术的定位误差修正方法
CN105760811B (zh) * 2016-01-05 2019-03-22 福州华鹰重工机械有限公司 全局地图闭环匹配方法及装置
CN105702151B (zh) * 2016-03-31 2019-06-11 百度在线网络技术(北京)有限公司 一种室内地图构建方法及装置
KR101902775B1 (ko) * 2016-04-12 2018-11-30 (주)다비오 지도 제작 장치
CN106125730B (zh) * 2016-07-10 2019-04-30 北京工业大学 一种基于鼠脑海马空间细胞的机器人导航地图构建方法
CN106767820B (zh) * 2016-12-08 2017-11-14 立得空间信息技术股份有限公司 一种室内移动定位与制图方法
CN107239076B (zh) * 2017-06-28 2020-06-23 仲训昱 基于虚拟扫描与测距匹配的agv激光slam方法
CN107515891A (zh) * 2017-07-06 2017-12-26 杭州南江机器人股份有限公司 一种机器人地图制作方法、装置和存储介质
CN107741745B (zh) * 2017-09-19 2019-10-22 浙江大学 一种实现移动机器人自主定位与地图构建的方法
CN107764270A (zh) * 2017-10-19 2018-03-06 武汉工控仪器仪表有限公司 一种激光扫描式室内地图生成和更新装置及方法

Also Published As

Publication number Publication date
CN108550318A (zh) 2018-09-18

Similar Documents

Publication Publication Date Title
CN108550318B (zh) 一种构建地图的方法及装置
CN110874100B (zh) 用于使用视觉稀疏地图进行自主导航的系统和方法
CN111536964B (zh) 机器人定位方法及装置、存储介质
CN110009718B (zh) 一种三维高精度地图生成方法及装置
EP3671121A1 (en) Map creation method for mobile robot and path planning method based on map
EP2671384B1 (en) Mobile camera localization using depth maps
CN112179330A (zh) 移动设备的位姿确定方法及装置
US20130244782A1 (en) Real-time camera tracking using depth maps
US20110052043A1 (en) Method of mobile platform detecting and tracking dynamic objects and computer-readable medium thereof
CN112363158B (zh) 机器人的位姿估计方法、机器人和计算机存储介质
CN112880694B (zh) 确定车辆的位置的方法
KR102695522B1 (ko) 이미지 인식 모델을 트레이닝시키는 장치 및 방법과 이미지 인식 장치 및 방법
CN110986945B (zh) 基于语义高度地图的局部导航方法和系统
Konrad et al. Localization in digital maps for road course estimation using grid maps
CN112287824B (zh) 基于双目视觉的三维目标检测方法、装置及系统
CN109727285B (zh) 使用边缘图像的位置和姿态确定方法和系统
CN110260866A (zh) 一种基于视觉传感器的机器人定位与避障方法
CN110705385B (zh) 一种障碍物角度的检测方法、装置、设备及介质
Hähnel Mapping with mobile robots.
EP3842836A1 (en) Method, apparatus and storage medium for positioning object
CN117824667B (zh) 一种基于二维码和激光的融合定位方法及介质
CN115962773A (zh) 一种移动机器人同步定位与地图构建方法、装置和设备
CN113223064A (zh) 一种视觉惯性里程计尺度的估计方法和装置
Wang et al. 3D-LIDAR based branch estimation and intersection location for autonomous vehicles
CN112733971A (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