CN110825832B - Slam地图更新方法、装置及计算机可读存储介质 - Google Patents
Slam地图更新方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110825832B CN110825832B CN201911085149.3A CN201911085149A CN110825832B CN 110825832 B CN110825832 B CN 110825832B CN 201911085149 A CN201911085149 A CN 201911085149A CN 110825832 B CN110825832 B CN 110825832B
- Authority
- CN
- China
- Prior art keywords
- slam map
- map
- slam
- preset
- corrected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- 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
- 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
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; 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/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- 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/23—Updating
Abstract
本发明公开了一种SLAM地图更新方法。该方法包括:启动车体的多点导航程序,以控制所述车体到达预设起点位姿;启动车体的建图程序,并通过所述多点导航程序控制所述车体依次遍历当前SLAM地图中的预设遍历点,以通过所述建图程序将所述预设起点作为坐标原点进行建图,得到新建SLAM地图;获取所述新建SLAM地图对应的修正SLAM地图,并将所述当前SLAM地图更新为所述修正SLAM地图。本发明还公开了一种SLAM地图更新装置及计算机可读存储介质。本发明能够实现在提高SLAM地图更新效率的同时,保证更新地图的质量。
Description
技术领域
本发明涉及智能导航技术领域,尤其涉及一种SLAM地图更新方法、装置及计算机可读存储介质。
背景技术
AGV(Automated Guided Vehicle),即自动导航搬运车,也被称作搬运机器人,是现代智能物流系统中的重要环节,通过AGV配合各类机械臂实现货物的自动装卸和搬运,可彻底将人力从搬运环节解放出来,减少企业的职工需求,降低人力成本。
AGV在未知环境中需要进行自主导航,利用已创建的地图和当前位置进行实时定位,同时利用自身传感器的数据在定位的基础上进行建图,这就是机器人的即时定位与地图构建(Simultaneous Localization and Mapping,SLAM)。基于现有的SLAM导航应用中,导航定位的精度取决于建图的质量,所以必须及时地更新环境地图,以保证导航定位的应用精度。目前,由于自动建图可能会存在路线不可控的情况,导致更新地图质量较差,因此,为保证更新地图的质量,通常是通过人工操作AGV车体进行运动建图的,进而更新地图,但由于应用场景的面积通常较大,SLAM地图更新频率较高(通常为每日一更新),会导致SLAM地图更新效率较低。
发明内容
本发明的主要目的在于提供一种SLAM地图更新方法、装置及计算机可读存储介质,旨在实现在提高SLAM地图更新效率的同时,保证更新地图的质量。
为实现上述目的,本发明提供一种SLAM地图更新方法,所述SLAM地图更新方法包括:
启动车体的多点导航程序,以控制所述车体到达预设起点位姿;
启动车体的建图程序,并通过所述多点导航程序控制所述车体依次遍历当前SLAM地图中的预设遍历点,以通过所述建图程序将所述预设起点作为坐标原点进行建图,得到新建SLAM地图;
获取所述新建SLAM地图对应的修正SLAM地图,并将所述当前SLAM地图更新为所述修正SLAM地图。
可选地,所述获取所述新建SLAM地图对应的修正SLAM地图的步骤包括:
按第一预设参数对所述新建SLAM地图进行划分,得到对应的多个第一划分区域;
从所述第一划分区域中筛选得到第一目标划分区域,并获取所述第一目标划分区域中连续边缘对应的斜率;
根据所述斜率确定旋转角度,并基于所述旋转角度对所述新建SLAM地图进行旋转修正,得到修正SLAM地图。
可选地,所述从所述第一划分区域中筛选得到第一目标划分区域的步骤包括:
分别在各第一划分区域内搜索连续边缘的像素点,得到第一像素点集;
遍历所述第一像素点集中的各第一像素点,得到各第一划分区域内的连续边缘的几何面积及斜率信息;
基于所述几何面积、所述斜率信息和第一预设阈值范围,对所述第一划分区域进行筛选,得到第一目标划分区域;
所述根据所述斜率确定旋转角度,并基于所述旋转角度对所述新建SLAM地图进行旋转修正,得到修正SLAM地图的步骤包括:
对所述斜率进行聚类,得到第一聚类结果,并根据所述第一聚类结果确定旋转角度;
以预设坐标原点为旋转圆心,按所述旋转角度和预设旋转方向对所述新建SLAM地图进行旋转修正,得到修正SLAM地图。
可选地,所述获取所述新建SLAM地图对应的修正SLAM地图的步骤还包括:
基于所述新建SLAM地图生成对应的地图修正请求,并发送至预设工作端;
接收所述预设工作端基于所述地图修正请求返回的与所述新建SLAM地图对应的修正SLAM地图。
可选地,所述将所述当前SLAM地图更新为所述修正SLAM地图的步骤之前,所述SLAM地图更新方法还包括:
获取所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值,并检测所述质量匹配值是否大于预设阈值;
若所述质量匹配值大于预设阈值,则执行步骤:将所述当前SLAM地图更新为所述修正SLAM地图。
可选地,所述获取所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值的步骤包括:
获取所述修正SLAM地图中的第一目标交叉点集,并获取所述当前SLAM地图中的第二目标交叉点集;
将所述第一目标交叉点集与所述第二目标交叉点集进行比对,得到损失交叉点;
基于所述损失交叉点和所述第一目标交叉点集计算损失面积,基于所述第一目标交叉点集计算所述修正SLAM地图对应的第一面积,并根据所述损失面积和所述第一面积计算得到质量对比权重值;
基于所述第二目标交叉点集计算所述当前SLAM地图对应的第二面积,并根据所述第二面积和所述第一面积计算得到差异系数;
基于所述质量对比权重值和所述差异系数计算得到所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值。
可选地,所述获取所述修正SLAM地图中的第一目标交叉点集的步骤包括:
按第二预设参数对所述修正SLAM地图进行划分,得到对应的多个第二划分区域;
分别在各第二划分区域内搜索连续边缘的像素点,得到第二像素点集,并获取所述第二像素点集中各第二像素点的坐标;
分别对各第二划分区域内的各第二像素点的坐标进行聚类,得到第二聚类结果;
根据所述第二聚类结果获取所述修正SLAM地图中的第一交叉点集及所述第一交叉点集中各第一交叉点的坐标,并根据所述第一交叉点的坐标和第二预设阈值范围,从所述第一交叉点集中筛选得到第一目标交叉点集。
可选地,所述获取所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值的步骤还包括:
基于所述修正SLAM地图和所述当前SLAM地图生成对应的质量评定请求,并发送至预设工作端;
接收所述预设工作端基于所述质量评定请求返回的所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值。
可选地,所述将所述当前SLAM地图更新为所述修正SLAM地图的步骤之后,所述SLAM地图更新方法还包括:
获取所述修正SLAM地图对应的第一质心坐标,并获取所述当前SLAM地图对应的第二质心坐标;
计算所述第一质心坐标和所述第二质心坐标之间的偏差值;
获取所述预设遍历点在所述当前SLAM地图中的坐标,并根据所述预设遍历点在所述当前SLAM地图中的坐标、所述第二质心坐标和所述偏差值对所述预设遍历点的坐标进行修正更新,得到所述预设遍历点在所述修正SLAM地图中的坐标。
可选地,所述SLAM地图更新方法还包括:
根据所述当前SLAM地图、所述新建SLAM地图、所述修正SLAM地图、修正更新前后的预设遍历点的坐标生成对应的SLAM地图更新报告;
将所述SLAM地图更新报告发送至预设工作端,或将所述SLAM地图更新报告存储至预设数据库。
此外,为实现上述目的,本发明还提供一种SLAM地图更新装置,所述SLAM地图更新装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的SLAM地图更新程序,所述SLAM地图更新程序被所述处理器执行时实现如上所述的SLAM地图更新方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有SLAM地图更新程序,所述SLAM地图更新程序被处理器执行时实现如上所述的SLAM地图更新方法的步骤。
本发明提供一种SLAM地图更新方法、装置及计算机可读存储介质,通过启动车体的多点导航程序,以控制车体到达预设起点位姿;启动车体的建图程序,通过多点导航程序控制车体依次遍历当前SLAM地图中的预设遍历点,从而在遍历的同时完成建图,即通过建图程序将预设起点作为坐标原点进行建图,得到新建SLAM地图;然后获取新建SLAM地图与当前SLAM地图之间的质量匹配值,并在检测到质量匹配值大于预设阈值时,将当前SLAM地图更新为新建SLAM地图。通过上述方式,本发明实施例通过多点导航程序遍历预设遍历点进行建图,即在固定的多点导航模式下进行智能遍历建图,可保证自主建图的稳定性和可靠性,保证新建SLAM地图的质量,相比于人工建图,还可以提高SLAM地图更新效率,同时,在得到新建SLAM地图之后,通过对新建SLAM地图进行修正,得到修正SLAM地图,进而将当前SLAM地图更新为修正SLAM地图,可进一步提高更新地图的可靠性,进而保证下一次自动建图时所得到的SLAM地图的质量。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的SLAM地图更新装置结构示意图;
图2为本发明SLAM地图更新方法第一实施例的流程示意图;
图3为本发明SLAM地图更新方法涉及的当前SLAM地图的一示意图;
图4为本发明SLAM地图更新方法涉及的新建SLAM地图的一示意图;
图5为本发明SLAM地图更新方法涉及的修正SLAM地图的一示意图;
图6为本发明SLAM地图更新方法第八实施例的流程示意图;
图7为本发明SLAM地图更新方法第九实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的SLAM地图更新装置结构示意图。
如图1所示,该SLAM地图更新装置可以包括:处理器1001,例如CPU(CentralProcessing Unit,中央处理器),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真Wireless-Fidelity,Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的SLAM地图更新装置结构并不构成对SLAM地图更新装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及SLAM地图更新程序。
在图1所示的SLAM地图更新装置中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的SLAM地图更新程序。
在本实施例中,SLAM地图更新装置包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的SLAM地图更新程序,其中,处理器1001调用存储器1005中存储的SLAM地图更新程序时,并执行以下SLAM地图更新方法的各个步骤。
基于上述硬件结构,提出本发明SLAM地图更新方法各个实施例。
本发明提供一种SLAM地图更新方法。
参照图2,图2为本发明SLAM地图更新方法第一实施例的流程示意图。
在本实施例中,该SLAM地图更新方法包括:
步骤S10,启动车体的多点导航程序,以控制所述车体到达预设起点位姿;
在本实施例中,先启动车体的多点导航程序,以控制车体到达预设起点位姿。其中,车体为自动执行工作的机器终端,且车体至少包括一个或者一个以上的机器终端,包括但不限于仓储机器、服务机器、无人驾驶汽车或者无人驾驶卡车等等。预设起点位姿,包括起点位置和姿态,是工作人员预先设定。
步骤S20,启动车体的建图程序,并通过所述多点导航程序控制所述车体依次遍历当前SLAM地图中的预设遍历点,以通过所述建图程序将所述预设起点作为坐标原点进行建图,得到新建SLAM地图;
在车体到达预设起点位姿时,启动车体的建图程序,然后通过多点导航程序控制车体依次遍历当前SLAM(Simultaneous Localization and Mapping,即时定位与地图构建)地图中的预设遍历点,从而在遍历的同时完成建图,具体的,通过建图程序将预设起点作为坐标原点进行建图,得到新建SLAM地图。其中,当前SLAM地图可以是通过人工操控AGV车体,以预设起点位姿为起点,遍历预设遍历点建图得到的,也可以是根据上述方式自动建图得到的。需要说明的是,对于新业务场景的首次建图,需通过人工建立,后续则可以按照本实施例中的方案进行自动建图。
例如,图3中示出了一当前SLAM地图及遍历路径的示意图,在图3中,1.1表示墙体,1.2-1.4表示柱子;2表示带激光雷达的车体;A-D表示建图遍历点。具体的,可以先启动AGV车体的多点导航程序,以控制车体到达预设起点位姿(如图3中的A点),然后启动建图程序,将预设起点设为建图坐标原点,依次遍历当前SLAM地图中的ABCD四点,进行自动建图,以得到新建SLAM地图。在完成建图后,可关闭建图程序。
步骤S30,获取所述新建SLAM地图对应的修正SLAM地图,并将所述当前SLAM地图更新为所述修正SLAM地图。
由于SLAM建图是以起点姿态为参考,可能会因为起点姿态的微小偏差造成地图整体角度偏差,因此,在获取到新建SLAM地图之后,会先对新建SLAM地图进行旋转修正,从而得到修正SLAM地图,进而将当前SLAM地图更新为该修正SLAM地图。其中,修正SLAM地图的获取过程为:先按第一预设参数对新建SLAM地图进行划分,从而得到对应的多个第一划分区域;然后,分别在各第一划分区域内搜索连续边缘的像素点,记为第一像素点集,并遍历第一像素点集中的各第一像素点,得到各第一划分区域内的连续边缘的几何面积及斜率信息;再基于几何面积、斜率信息和第一预设阈值范围,对第一划分区域进行筛选,得到第一目标划分区域,进而获取第一目标划分区域内对应斜率信息中的斜率,对斜率进行聚类,得到第一聚类结果,并根据第一聚类结果确定旋转角度,最后,以预设坐标原点为旋转圆心,按旋转角度和预设旋转方向对新建SLAM地图进行旋转修正,得到修正SLAM地图。具体的执行过程可参照下述第二实施例。
本发明实施例提供一种SLAM地图更新方法,通过启动车体的多点导航程序,以控制车体到达预设起点位姿;启动车体的建图程序,通过多点导航程序控制车体依次遍历当前SLAM地图中的预设遍历点,从而在遍历的同时完成建图,即通过建图程序将预设起点作为坐标原点进行建图,得到新建SLAM地图;然后获取新建SLAM地图对应的修正SLAM地图,并将当前SLAM地图更新为修正SLAM地图。通过上述方式,本发明实施例通过多点导航程序遍历预设遍历点进行建图,即在固定的多点导航模式下进行智能遍历建图,可保证自主建图的稳定性和可靠性,保证新建SLAM地图的质量,相比于人工建图,还可以提高SLAM地图更新效率,同时,在得到新建SLAM地图之后,通过对新建SLAM地图进行修正,得到修正SLAM地图,进而将当前SLAM地图更新为修正SLAM地图,可进一步提高更新地图的可靠性,进而保证下一次自动建图时所得到的SLAM地图的质量。
进一步地,基于上述第一实施例,提出本发明SLAM地图更新方法的第二实施例。
在本实施例中,作为修正SLAM地图的其中一种获取方式,步骤“获取所述新建SLAM地图对应的修正SLAM地图”可以包括:
步骤a1,按第一预设参数对所述新建SLAM地图进行划分,得到对应的多个第一划分区域;
在本实施例中,由于SLAM建图是以起点姿态为参考,可能会因为起点姿态的微小偏差造成地图整体角度偏差,因此,在获取到新建SLAM地图之后,需先对新建SLAM地图进行旋转修正。具体的,先按第一预设参数对新建SLAM地图进行划分,从而得到对应的多个第一划分区域,其中,第一预设参数可以为100pix*100pix,由于雷达扫描的地图精度一般是1个pix约5cm*5cm的范围,对应的第一划分区域相当于实际地图的5m*5m,当然,第一预设参数可以根据实际情况预先进行设定,此处并不用于限定本发明。例如图4中,示出了部分划分得到的第一划分区域S1。
步骤a2,从所述第一划分区域中筛选得到第一目标划分区域,并获取所述第一目标划分区域中连续边缘对应的斜率;
在获取到第一划分区域后,先从第一划分区域中筛选得到第一目标划分区域,其中,步骤“从所述第一划分区域中筛选得到第一目标划分区域”包括:
步骤a21,分别在各第一划分区域内搜索连续边缘的像素点,得到第一像素点集;
步骤a22,遍历所述第一像素点集中的各第一像素点,得到各第一划分区域内的连续边缘的几何面积及斜率信息;
步骤a23,基于所述几何面积、所述斜率信息和第一预设阈值范围,对所述第一划分区域进行筛选,得到第一目标划分区域;
然后,分别在各第一划分区域内搜索连续边缘(如图4中的L)的像素点,得到第一像素点,并遍历第一像素点集中的各第一像素点,对各第一像素点的面积进行累计,得到各第一划分区域内的连续边缘的几何面积;同时通过趋势函数获取得到各第一划分区域内的连续边缘的斜率信息。需要说明的是,若第一划分区域内的像素点可构成一直线,则得到的斜率信息为该直线的斜率;若第一划分区域内的像素点构成一折线,则得到的斜率信息为“不存在斜率”。例如,图4中(B)处的第一划分区域内的第一像素点集中的第一像素点构成的是折线,对应的斜率信息为不存在斜率。对于像素点的搜索,由于新建SLAM地图通常都是经处理的灰度图,只包括像素值为0和1的像素点,其中像素值为0的像素点表示地图背景,像素值为1的像素点表示边缘点(如墙壁、柱子边缘等),因此在搜索连续边缘的像素点时,可通过遍历各像素点的像素值,搜索得到像素值为1的像素点。
此外,需要说明的是,第一像素点集中的“第一”只是为了便于与后续涉及的像素点进行区分,即仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。
在获取到各第一划分区域内的连续边缘的几何面积和斜率信息后,基于几何面积、斜率信息和第一预设阈值范围,对第一划分区域进行筛选,得到第一目标划分区域。具体的,筛选几何面积在第一预设阈值范围内的连续边缘、且斜率信息为一斜率,即可得到第一目标划分区域,其中,第一预设阈值范围可设为10-15pix(包含端点)。例如,图4中(A)处第一划分区域内的连续边缘的几何面积不在第一预设阈值范围内而被筛除,即(A)处第一划分区域不在第一目标划分区域内。
在筛选得到第一目标划分区域之后,获取第一目标划分区域中连续边缘对应的斜率,即为上述第一目标划分区域对应斜率信息中的斜率。
步骤a3,根据所述斜率确定旋转角度,并基于所述旋转角度对所述新建SLAM地图进行旋转修正,得到修正SLAM地图。
在得到第一目标划分区域的斜率后,根据该斜率确定旋转角度,并基于旋转角度对新建SLAM地图进行旋转修正,得到修正SLAM地图。
具体的,步骤a3包括:
步骤a31,对所述斜率进行聚类,得到第一聚类结果,并根据所述第一聚类结果确定旋转角度;
先对斜率进行聚类,得到第一聚类结果,进而根据第一聚类结果确定旋转角度。其中,步骤“根据所述第一聚类结果确定旋转角度”包括:
步骤a311,根据所述第一聚类结果获取第一预设排名的斜率集合,并计算各斜率集合的斜率平均值;
在获取到各直线方程对应的斜率,并进行聚类后,根据第一聚类结果获取第一预设排名的斜率集合,并计算各斜率集合的斜率平均值。其中,第一预设排名可以设为前4名,若未聚类出4类,则前4名的斜率集合即为所有聚类得到的斜率集合。
步骤a312,根据各斜率集合的斜率平均值判断是否存在垂直组合;
步骤a313,若存在垂直组合,则获取所述垂直组合对应的斜率平均值,记为第一斜率平均值,并确定所述第一斜率平均值对应角度中的最大值为旋转角度;
步骤a314,若不存在垂直组合,则获取所述第一聚类结果中第一排名的斜率集合所对应的斜率平均值,记为第二斜率平均值,并确定所述第二斜率对应的角度为旋转角度。
在计算得到各斜率集合的斜率平均值之后,根据各斜率集合的斜率平均值判断是否存在垂直组合,即检测是否存在两斜率平均值的乘积为-1,或接近于-1(在一定范围内)。若存在垂直组合,则获取该垂直组合对应的斜率平均值,记为第一斜率平均值,可以理解,第一斜率平均值包括2个值,对应的角度也有2个,然后确定第一斜率平均值对应角度中的最大值为旋转角度。若不存在垂直组合,则获取第一聚类结果中第一排名的斜率集合所对应的斜率平均值,记为第二斜率平均值,可以理解,第二斜率平均值包括1个值,则确定第二斜率对应的角度为旋转角度。
步骤a32,以预设坐标原点为旋转圆心,按所述旋转角度和预设旋转方向对所述新建SLAM地图进行旋转修正,得到修正SLAM地图。
在确定得到旋转角度之后,以预设坐标原点为旋转圆心,按旋转角度和预设旋转方向对新建SLAM地图进行旋转修正,得到修正SLAM地图。例如,新建SLAM地图是以图3当前SLAM地图中的A点为起点,开启建图程序后,遍历B、C、D后得到的,则以A点为旋转圆心,按上述确定得到的旋转角度和预设旋转方向对图4中的新建SLAM地图进行旋转修正,得到修正SLAM地图(如图5所示)。其中,预设旋转方向可以为顺时针或逆时针,依实际情况进行设定。
通过上述方式,可确定新建SLAM地图所需旋转修正的旋转角度,进而对新建SLAM地图进行旋转修正,得到修正SLAM地图,进一步提高更新地图的可靠性,进而保证下一次自动建图时所得到的SLAM地图的质量。
进一步地,基于上述第一实施例,提出本发明SLAM地图更新方法的第三实施例。
在本实施例中,作为修正SLAM地图的另一种获取方式,步骤“获取所述新建SLAM地图对应的修正SLAM地图”还可以包括:
步骤a6,基于所述新建SLAM地图生成对应的地图修正请求,并发送至预设工作端;
步骤a7,接收所述预设工作端基于所述地图修正请求返回的与所述新建SLAM地图对应的修正SLAM地图。
在本实施例中,可通过人工修正的方式对新建SLAM地图进行旋转修正,得到修正SLAM地图。具体的,可基于新建SLAM地图生成对应的地图修正请求,并发送至预设工作端,以使得对应的工作人员对该新建SLAM地图进行旋转修正,然后,接收工作人员通过该预设工作端基于该地图修正请求返回的与新建SLAM地图对应的修正SLAM地图,进而继续执行后续步骤,具体的执行过程可参照上述对应实施例,此处不作赘述。
进一步地,基于上述第一实施例至第三实施例,提出本发明SLAM地图更新方法的第四实施例。
在本实施例中,在步骤“将所述当前SLAM地图更新为所述修正SLAM地图”之前,该SLAM地图更新方法还包括:
步骤A,获取所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值,并检测所述质量匹配值是否大于预设阈值;
在自动建图得到修正SLAM地图之后,需先检测修正SLAM地图的质量是否符合建图质量要求,以确定该修正SLAM地图是否可以在新业务中使用。具体的,可获取修正SLAM地图与当前SLAM地图之间的质量匹配值,然后,检测质量匹配值是否大于预设阈值。
其中,对于质量匹配值的获取,可以包括但不限于以下两种方法:(1)通过自动化程序进行处理、计算;(2)通过人工审核处理。对于第(1)种方法,可以先对修正SLAM地图进行旋转修正,从而得到修正SLAM地图,然后获取修正SLAM地图中的第一目标交叉点集(即修正SLAM地图中的外围交叉点的集合),进而采用同样的方法获取当前SLAM地图中的第二目标交叉点集(即当前SLAM地图中的外围交叉点的集合),然后,基于第一目标交叉点集和第二目标交叉点集计算得到修正SLAM地图与当前SLAM地图之间的质量对比权重值(记为K)和差异系数(记为S),进而基于质量对比权重值K和差异系数S计算得到质量匹配值V。对于第(2)种方法,可以基于修正SLAM地图和当前SLAM地图生成对应的质量评定请求,并发送至预设工作端,以使得对应的工作人员进行审核处理,然后接收预设工作端基于该质量评定请求返回的与修正SLAM地图与当前SLAM地图之间的质量匹配值。
此外,预设阈值可设为90%-98%(包含端点)范围内的一个值,优选可设为95%-98%(包含端点)范围内的一个值,如95%,当然,该预设阈值并不限于上述取值范围,可依据实际应用的业务场景和实际需求进行设定。
若所述质量匹配值大于预设阈值,则执行步骤:将所述当前SLAM地图更新为所述修正SLAM地图。
若检测到质量匹配值大于预设阈值,则说明地图质量符合建图质量要求,此时,则将当前SLAM地图更新为修正SLAM地图。
通过上述方式,在得到修正SLAM地图之后,获取修正SLAM地图与当前SLAM地图之间的质量匹配值,并在检测到质量匹配值满足条件,即判定修正SLAM地图的质量符合建图质量要求时,才更新SLAM地图,可进一步确保更新地图的质量。
进一步地,基于上述第四实施例,提出本发明SLAM地图更新方法的第五实施例。
在本实施例中,作为质量匹配值的其中一种获取方式,步骤A包括:
步骤A1,获取所述修正SLAM地图中的第一目标交叉点集,并获取所述当前SLAM地图中的第二目标交叉点集;
在旋转修正得到修正SLAM地图后,获取修正SLAM地图中的第一目标交叉点集(即修正SLAM地图中的外围交叉点的集合),进而采用同样的方法,获取当前SLAM地图中的第二目标交叉点集(即当前SLAM地图中的外围交叉点的集合)。其中,对于目标交叉点集的获取,以修正SLAM地图中第一目标交叉点集的获取为例进行说明。先按第二预设参数对修正SLAM地图进行划分,从而得到对应的多个第二划分区域(如图5中的S2);然后,分别在各第二划分区域内搜索连续边缘的像素点,得到第二像素点集,并获取第二像素点集中各第二像素点的坐标;分别对第二划分区域内的各第二像素点的坐标进行聚类,得到第二聚类结果,再根据第二聚类结果获取修正SLAM地图中的第一交叉点及及该第一交叉点集中各第一交叉点的坐标,进而根据第一交叉点的坐标和第二预设阈值范围,从所述第一交叉点集中筛选得到第一目标交叉点集。具体的执行过程可参照下述第六实施例。
步骤A2,将所述第一目标交叉点集与所述第二目标交叉点集进行比对,得到损失交叉点;
在获取到修正SLAM地图中的第一目标交叉点集,并获取到当前SLAM地图中的第二目标交叉点集之后,将第一目标交叉点集与第二目标交叉点集进行比对,得到损失交叉点。具体的,在修正SLAM地图的第一目标交叉点集中查找是否存在处于距第二目标交叉点集中的第二目标交叉点预设范围内的点,进而根据查找结果、第二目标交叉点集确定损失交叉点。
步骤A3,基于所述损失交叉点和所述第一目标交叉点集计算损失面积,基于所述第一目标交叉点集计算所述修正SLAM地图对应的第一面积,并根据所述损失面积和所述第一面积计算得到质量对比权重值;
然后,基于损失交叉点和第一目标交叉点集中的第一目标交叉点计算损失面积,基于第一目标交叉点集中的第一目标交叉点计算修正SLAM地图对应的第一面积(记为S1),并根据损失面积和第一面积计算得到质量对比权重值。其中,质量对比权重值K=损失面积/第一面积。
当第一目标交叉点集与第二目标交叉点集进行比对,查找到两者之间相对应交叉点的数量大于3个时,第一面积则按第一目标交叉点集中的第一目标交叉点所构成的多边形面积进行计算,损失面积按第一目标交叉点集中的第一目标交叉点与损失交叉点所构成的多边形面积与第一目标交叉点集中的第一目标交叉点构成的多边形面积之间的差值进行计算。其中,对于多边形面积的计算,可以通过将交叉点所构成的多边形划分成三角形、计算各三角形面积之和的方式进行计算。
需要说明的是,当第一目标交叉点集与第二目标交叉点集进行比对,查找到两者之间相对应交叉点的数量为3个时,第一面积按3个交叉点构成的最大矩形面积进行计算,损失面积按3个交叉点构成的最大矩形面积与3个交叉点构成的三角形面积之间的差值进行计算。
当第一目标交叉点集与第二目标交叉点集进行比对,查找到两者之间相对应交叉点的数量小于3个时,则返回对应的错误提示信息。
步骤A4,基于所述第二目标交叉点集计算所述当前SLAM地图对应的第二面积,并根据所述第二面积和所述第一面积计算得到差异系数;
然后,基于第二目标交叉点集计算当前SLAM地图对应的第二面积,其中,第二面积则是指由第二目标交叉点集中的第二目标交叉点构成的多边形的面积。在得到第二面积(记为S2)后,根据第二面积S2和第一面积S1计算得到差异系数S,对应的,S=|S2-S1|/S2。
步骤A5,基于所述质量对比权重值和所述差异系数计算得到所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值。
在计算得到质量对比权重值K和差异系数S之后,基于质量对比权重值K和差异系数S计算得到修正SLAM地图与当前SLAM地图之间的质量匹配值V。具体的,V=(1-K)*(1-S)。
通过上述方式,可实现对新建SLAM地图质量的智能量化评估,进而可根据质量匹配值直接判定新建SLAM地图的质量好坏,无需人工对新建SLAM地图进行审核评定,可节省对新建SLAM地图的质量审核时间、提高审核效率,可进一步提高SLAM地图更新效率。
进一步地,基于上述第五实施例,提出本发明SLAM地图更新方法的第六实施例。在本实施例中,步骤“获取所述修正SLAM地图中的第一目标交叉点集”包括:
步骤A11,按第二预设参数对所述修正SLAM地图进行划分,得到对应的多个第二划分区域;
在本实施例中,先按第二预设参数对修正SLAM地图进行划分,从而得到对应的多个第二划分区域,其中,第二预设参数可以为40pix*40pix,对应的第二划分区域相当于实际地图的2m*2m,当然,第二预设参数可以根据实际情况预先进行设定,此处并不用于限定本发明。例如图5中,示出了部分划分得到的第二划分区域S2。
步骤A12,分别在各第二划分区域内搜索连续边缘的像素点,得到第二像素点集,并获取所述第二像素点集中各第二像素点的坐标;
然后,分别在各第二划分区域内搜索连续边缘的像素点,得到第二像素点集,并获取第二像素点集中各第二像素点的坐标,其中,第二像素点集的搜索方法与第一像素点集的搜索方法相同,可参照上述第二实施例。同样的,第二像素点集中的“第二”只是为了便于与上述涉及的第一像素点集进行区分,即仅用于描述目的,无其他实质意义。
步骤A13,分别对各第二划分区域内的各第二像素点的坐标进行聚类,得到第二聚类结果;
步骤A14,根据所述第二聚类结果获取所述修正SLAM地图中的第一交叉点集及所述第一交叉点集中各第一交叉点的坐标,并根据所述第一交叉点的坐标和第二预设阈值范围,从所述第一交叉点集中筛选得到第一目标交叉点集。
在获取到第二像素点集中各第二像素点的坐标后,分别对各第二划分区域内的各第二像素点的坐标进行聚类,得到第二聚类结果,然后根据第二聚类结果获取修正SLAM地图中的第一交叉点集及第一交叉点集中各第一交叉点的坐标。具体的,获取第二聚类结果中各第二划分区域内排名前2名的坐标集合,统计对应第二划分区域内像素点的总数目,然后从这2个坐标集合中分别取出大于对应第二划分区域内像素点的总数目的90%的x坐标和y坐标(表明该第二划分区域内存在垂直和水平相交的两种边缘),进而根据这2个坐标集合分别计算得到x坐标的平均值xavg和y坐标的平均值yavg,即得到该第二划分区域内的交叉点的坐标(xavg,yavg)。例如图5所示,可根据上述方法得到各第二划分区域内满足条件的交叉点,即第一交叉点(如图5所示P11),其中,第一目标交叉点集的第一目标交叉点属于第一交叉点。
在获取到第一交叉点集及第一交叉点集中各第一交叉点的坐标后,根据第一交叉点的坐标和第二预设阈值范围,从所述第一交叉点集中筛选得到第一目标交叉点集。具体的,可以根据第一交叉点的坐标获取x坐标中的最大值xmax和最小值xmin、y坐标中的最大值ymax和最小值ymin,然后根据第二预设阈值范围,确定对应的x坐标范围和y坐标范围,从第一交叉点中筛选x坐标和y坐标均在x坐标范围和y坐标范围内的交叉点,即为第一目标交叉点(如图5所示的P12),所有的第一目标交叉点构成第一目标交叉点集。其中,第二预设阈值范围包括预设x坐标的阈值范围和预设y坐标的阈值范围,例如,预设x坐标的阈值范围为1以内,预设y坐标的阈值范围为2以内,可确定得到对应的x坐标范围为[xmin-1,xmin+1]、[xmax-1,xmax+1],y坐标范围为[ymin-1,ymin+1]、[ymax-1,ymax+1]。
对应的,步骤“获取所述当前SLAM地图中的第二目标交叉点集”包括:
步骤A15,按所述第二预设参数对所述当前SLAM地图进行划分,得到对应的多个第三划分区域;
步骤A16,分别在各第三划分区域内搜索连续边缘的像素点,得到第三像素点,并获取所述第三像素点集中各第三像素点的坐标;
步骤A17,分别对各第三划分区域内的各第三像素点的坐标进行聚类,得到第三聚类结果;
步骤A18,根据所述第三聚类结果获取所述当前SLAM地图中的第二交叉点及所述第二交叉点集中各第二交叉点的坐标,并根据所述第二交叉点的坐标和所述第二预设阈值范围,从所述第二交叉点集中筛选得到第二目标交叉点集。
对应的,采用同样的方法获取当前SLAM地图中的第二目标交叉点集,即,先按第二预设参数对当前SLAM地图进行划分,得到对应的多个第三划分区域;分别在各第三划分区域内搜索连续边缘的像素点,得到第三像素点集,并获取第三像素点集中各第三像素点的坐标;然后,分别对各第三划分区域内的各第三像素点的坐标进行聚类,得到第三聚类结果,进而根据第三聚类结果获取当前SLAM地图中的第二交叉点集及第二交叉点集中各第二交叉点的坐标,并根据第二交叉点的坐标和第二预设阈值范围,从第二交叉点中筛选得到第二目标交叉点集。具体的执行过程与上述修正SLAM地图中的第一目标交叉点集的获取过程相似,可参照上述实施例。
进一步地,基于上述第四实施例至第六实施例,需要说明的是,在步骤A之前,该SLAM地图更新方法还可以包括:
对所述修正SLAM地图和所述当前SLAM地图进行特征匹配,得到所述修正SLAM地图与所述当前SLAM地图之间的图像匹配值;判断所述图像匹配值是否大于或等于预设阈值;若所述图像匹配值大于或等于预设阈值,则执行步骤A:获取所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值,并检测所述质量匹配值是否大于预设阈值;若所述图像匹配值小于预设阈值,则生成对应的第一错误提示信息。
在本实施例中,在对新建SLAM地图进行旋转修正,得到修正SLAM地图之后,可以先将修正SLAM地图与当前SLAM地图进行图像匹配比对,以验证旋转得到的修正SLAM地图的角度和大致的轮廓边缘与当前SLAM地图是否大致匹配,即初步检测新建SLAM地图的质量。
具体的,先对修正SLAM地图和当前SLAM地图进行特征匹配,得到修正SLAM地图与当前SLAM地图之间的图像匹配值,其中,特征匹配的过程可采用通用的OpenCV(开源计算机视觉库)特征匹配算法,例如,kNN(k-NearestNeighbor,K最近邻)算法、Brute-Force(暴力)匹配算法、FLANN(Fast Approximate Nearest Neighbor Search Library,快速最近邻逼近搜索函数库)算法,具体的特征匹配过程、图像匹配值的获取过程与现有技术相似,此处不作赘述。然后,判断图像匹配值是否大于或等于预设阈值,其中,预设阈值可以设为90%-99%(包括端点),优选可设为95%,当然也可以根据实际需要预先进行设定。
若判定图像匹配值大于或等于预设阈值,则初步判定新建SLAM地图的质量在可接受范围内,此时,可继续执行后续步骤,即获取修正SLAM地图与当前SLAM地图之间的质量匹配值,并检测质量匹配值是否大于预设阈值,具体的执行过程可参照对应实施例。
若图像匹配值小于预设阈值,则说明修正SLAM地图与对比地图的大致匹配度都未达到,初步判定新建SLAM地图的质量不在可接受范围内,此时,则无需再继续执行后续步骤,直接生成对应的第一错误提示信息,并显示或发送至对应的预设工作端,以告知对应的工作人员,经初步的匹配判定,该新建SLAM地图的质量不在可接受范围内。
即,在得到修正SLAM地图之后,可初步验证旋转得到的修正SLAM地图的角度和大致的轮廓边缘与当前SLAM地图是否大致匹配,即初步判定新建SLAM地图的质量是否在可接受范围内,当不在可接受范围内时,及时进行错误提示,并停止后续的质量评定过程,以避免无效的计算处理占用服务器资源。
进一步地,基于上述第四实施例至第六实施例,还需要说明的是,在步骤A5之前,该SLAM地图更新方法还包括:
检测所述质量对比权重值是否在第三预设阈值范围内,并检测所述差异系数是否在第四预设阈值范围内;若所述质量对比权重值在第三预设阈值范围内,且所述差异系数在第四预设阈值范围内,则执行步骤A5:基于所述质量对比权重值和所述差异系数计算得到所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值;若所述质量对比权重值不在第三预设阈值范围内,且/或所述差异系数不在第四预设阈值范围内,则生成对应的第二错误提示信息。
在本实施例中,在计算得到修正SLAM地图与当前SLAM地图之间的质量对比权重值和差异系数之后,可先检测质量对比权重值和差异系数是否均在对应的预设阈值范围内,以确定是否有必要继续执行后续的评定过程,在检测到任一参数(质量对比权重值K和差异系数S)不在对应的预设阈值范围内时,及时进行错误提示,并停止后续的质量评定过程,以避免无效的计算处理占用服务器资源。
具体的,先检测质量对比权重值K是否在第三预设阈值范围内,并检测差异系数S是否在第四预设阈值范围内,其中,第三预设阈值范围可设定为K≤5%,第四预设阈值范围可设定为S≤5%,可以理解,第三预设阈值范围与第四预设阈值范围的设定,可以相同,也可以不同,可根据实际需要预先进行设定。
若检测到质量对比权重值K在第三预设阈值范围内,且差异系数S在第四预设阈值范围内,说明两个参数K和S均满足对应的要求,此时,则继续执行后续步骤:基于质量对比权重值和差异系数计算得到修正SLAM地图与当前SLAM地图之间的质量匹配值。
若检测到质量对比权重值K不在第三预设阈值范围内,且/或差异系数S不在第四预设阈值范围内,即至少一个参数不满足对应的要求时,此时,则无需再继续执行后续步骤,直接生成对应的第二错误提示信息,并显示或发送至对应的预设工作端,以告知对应的工作人员,相关的质量评定参数(质量对比权重值K和/或差异系数S)不在对应的预设阈值范围内,不满足要求。
当然,可以理解,在具体实施时,可在计算得到质量对比权重值K之后,即上述步骤A4之后,检测质量对比权重值是否在第三预设阈值范围内,若检测到质量对比权重值K不在第三预设阈值范围内,则无需再计算差异系数S,及时进行错误提示,以避免后续无效的计算处理占用服务器资源。
进一步地,基于上述第四实施例,提出本发明SLAM地图更新方法的第七实施例。
在本实施例中,作为质量匹配值的另一种获取方式,步骤A还可以包括:
步骤A6,基于所述修正SLAM地图和所述当前SLAM地图生成对应的质量评定请求,并发送至预设工作端;
步骤A7,接收所述预设工作端基于所述质量评定请求返回的所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值。
在本实施例中,可通过人工审核的方式对修正SLAM地图进行旋转修正,得到修正SLAM地图,并得到质量匹配值。具体的,可基于修正SLAM地图和当前SLAM地图生成对应的质量评定请求,并发送至预设工作端,以使得对应的工作人员根据该修正SLAM地图和当前SLAM地图进行处理、审核,然后,接收工作人员通过该预设工作端基于该质量评定请求返回的修正SLAM地图与当前SLAM地图之间的质量匹配值,进而继续执行后续步骤,具体的执行过程可参照上述对应实施例,此处不作赘述。
进一步地,基于上述第一实施例至第三实施例,提出本发明SLAM地图更新方法的第八实施例。
在本实施例中,参照图6,在步骤S30之后,该SLAM地图更新方法还包括:
步骤S40,获取所述修正SLAM地图对应的第一质心坐标,并获取所述当前SLAM地图对应的第二质心坐标;
步骤S50,计算所述第一质心坐标和所述第二质心坐标之间的偏差值;
步骤S60,获取所述预设遍历点在所述当前SLAM地图中的坐标,并根据所述预设遍历点在所述当前SLAM地图中的坐标、所述第二质心坐标和所述偏差值对所述预设遍历点的坐标进行修正更新,得到所述预设遍历点在所述修正SLAM地图中的坐标。
在本实施例中,在将当前SLAM地图更新为修正SLAM地图之后,为便于车体进行下一次自动更新建图,还需对遍历点的坐标进行对应的更新。具体的,先获取修正SLAM地图对应的第一质心坐标,并获取当前SLAM地图对应的第二质心坐标。其中,质心坐标可基于地图的外围交叉点进行获取,即,根据修正SLAM地图中的第一目标交叉点集获取对应的第一质心坐标,并根据当前SLAM地图中的第二目标交叉点集获取当前SLAM地图对应的第二质心坐标,具体的,可以采用OpenCV函数得到质心坐标。
然后,计算第一质心坐标和第二质心坐标之间的偏差值,其中,偏差值包括x轴方向的偏差值△x和y轴方向的偏差值△y,例如,若修正SLAM地图的第一质心坐标为(x1,y1),当前SLAM地图的第二质心坐标为(x0,y0),可计算得到x轴方向的偏差值△x=x1-x0,y轴方向的偏差值△y=y1-y0。
最后,获取预设遍历点在当前SLAM地图中的坐标,并根据预设遍历点在当前SLAM地图中的坐标、第二质心坐标和偏差值对预设遍历点的坐标进行修正更新,得到预设遍历点在修正SLAM地图中的坐标。假设预设遍历点A、B、C、D在当前SLAM地图中的坐标分别为A(xA0,yA0)、B(xB0,yB0)、C(xC0,yC0)、D(xD0,yD0),由于建图中均是以预设遍历点A作为坐标原点,则A(xA0,yA0)=(0,0),对应的,预设遍历点A在修正SLAM地图中的坐标A1(xA1,yA1)=(0,0)。对于预设遍历点B、C、D在修正SLAM地图中的坐标B1(xB1,yB1)、C1(xC1,yC1)和D1(xD1,yD1),计算过程如下:先计算当前SLAM地图对应第二质心距离坐标原点的距离△L=(x0 2+y0 2)1/2,然后,分别计算B1、C1、D1点距离坐标原点的距离△LB、△LC和△LD,得到△LB=(xB0 2+yB0 2)1/2,△LC=(xC0 2+yC0 2)1/2,△LD=(xD0 2+yD0 2)1/2,最后可计算得到B1、C1和D1的坐标,其中,B1的坐标:xB1=xB0+△x*(△LB/△L),yB1=yB0+△y*(△LB/△L),同理,可得到C1和D1的坐标。
通过上述方式,在将当前SLAM地图更新为修正SLAM地图之后,对各预设遍历点的坐标进行对应的更新,得到预设遍历点在更新后的修正SLAM地图中的坐标位置,从而可便于车体根据更新后的预设遍历点的坐标进行下一次自动更新建图。
进一步地,基于上述第八实施例,提出本发明SLAM地图更新方法的第九实施例。
在本实施例中,参照图7,在上述步骤S60之后,该SLAM地图更新方法还包括:
步骤S70,根据所述当前SLAM地图、所述新建SLAM地图、所述修正SLAM地图、修正更新前后的预设遍历点的坐标生成对应的SLAM地图更新报告;
步骤S80,将所述SLAM地图更新报告发送至预设工作端,或将所述SLAM地图更新报告存储至预设数据库。
在本实施例中,在对预设遍历点的坐标修正完成之后,可根据当前SLAM地图、新建SLAM地图、修正SLAM地图、修正更新前后的预设遍历点的坐标生成对应的SLAM地图更新报告。其中,SLAM地图更新报告的格式可以预先设定,此外,SLAM地图更新报告除可包括当前SLAM地图、新建SLAM地图、修正SLAM地图、修正更新前后的预设遍历点的坐标外,还可以包括当前SLAM地图和修正SLAM地图中的各栈板货物点的坐标等其他信息。
然后,将SLAM地图更新报告发送至预设工作端,或将SLAM地图更新报告存储至预设数据库,以供工作人员查看。
通过上述方式,生成SLAM地图更新报告,可便于工作人员查看SLAM地图更新前后的信息,提升用户体验。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有SLAM地图更新程序,所述SLAM地图更新程序被处理器执行时实现如以上任一项实施例所述的SLAM地图更新方法的步骤。
本发明计算机可读存储介质的具体实施例与上述SLAM地图更新方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种SLAM地图更新方法,其特征在于,所述SLAM地图更新方法包括以下步骤:
启动车体的多点导航程序,以控制所述车体到达预设起点位姿;
启动车体的建图程序,并通过所述多点导航程序控制所述车体依次遍历当前SLAM地图中的预设遍历点,以通过所述建图程序将所述预设起点作为坐标原点进行建图,得到新建SLAM地图;
获取所述新建SLAM地图对应的修正SLAM地图,获取所述修正SLAM地图中的第一目标交叉点集,并获取所述当前SLAM地图中的第二目标交叉点集;
将所述第一目标交叉点集与所述第二目标交叉点集进行比对,得到损失交叉点;
基于所述损失交叉点和所述第一目标交叉点集计算损失面积,基于所述第一目标交叉点集计算所述修正SLAM地图对应的第一面积,并根据所述损失面积和所述第一面积计算得到质量对比权重值;
基于所述第二目标交叉点集计算所述当前SLAM地图对应的第二面积,并根据所述第二面积和所述第一面积计算得到差异系数;
基于所述质量对比权重值和所述差异系数计算得到所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值,检测所述质量匹配值是否大于预设阈值;
若所述质量匹配值大于预设阈值,则将所述当前SLAM地图更新为所述修正SLAM地图;
其中,获取所述修正SLAM地图中的第一目标交叉点集的步骤包括:
按第二预设参数对所述修正SLAM地图进行划分,得到对应的多个第二划分区域;
分别在各第二划分区域内搜索连续边缘的像素点,得到第二像素点集,并获取所述第二像素点集中各第二像素点的坐标;
分别对各第二划分区域内的各第二像素点的坐标进行聚类,得到第二聚类结果;
根据所述第二聚类结果获取所述修正SLAM地图中的第一交叉点集及所述第一交叉点集中各第一交叉点的坐标,并根据所述第一交叉点的坐标和第二预设阈值范围,从所述第一交叉点集中筛选得到第一目标交叉点集;
其中,采用同样的方法获取当前SLAM地图中的第二目标交叉点集。
2.如权利要求1所述的SLAM地图更新方法,其特征在于,所述获取所述新建SLAM地图对应的修正SLAM地图的步骤包括:
按第一预设参数对所述新建SLAM地图进行划分,得到对应的多个第一划分区域;
从所述第一划分区域中筛选得到第一目标划分区域,并获取所述第一目标划分区域中连续边缘对应的斜率;
根据所述斜率确定旋转角度,并基于所述旋转角度对所述新建SLAM地图进行旋转修正,得到修正SLAM地图。
3.如权利要求2所述的SLAM地图更新方法,其特征在于,所述从所述第一划分区域中筛选得到第一目标划分区域的步骤包括:
分别在各第一划分区域内搜索连续边缘的像素点,得到第一像素点集;
遍历所述第一像素点集中的各第一像素点,得到各第一划分区域内的连续边缘的几何面积及斜率信息;
基于所述几何面积、所述斜率信息和第一预设阈值范围,对所述第一划分区域进行筛选,得到第一目标划分区域;
所述根据所述斜率确定旋转角度,并基于所述旋转角度对所述新建SLAM地图进行旋转修正,得到修正SLAM地图的步骤包括:
对所述斜率进行聚类,得到第一聚类结果,并根据所述第一聚类结果确定旋转角度;
以预设坐标原点为旋转圆心,按所述旋转角度和预设旋转方向对所述新建SLAM地图进行旋转修正,得到修正SLAM地图。
4.如权利要求1所述的SLAM地图更新方法,其特征在于,所述获取所述新建SLAM地图对应的修正SLAM地图的步骤还包括:
基于所述新建SLAM地图生成对应的地图修正请求,并发送至预设工作端;
接收所述预设工作端基于所述地图修正请求返回的与所述新建SLAM地图对应的修正SLAM地图。
5.如权利要求1所述的SLAM地图更新方法,其特征在于,所述获取所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值的步骤还包括:
基于所述修正SLAM地图和所述当前SLAM地图生成对应的质量评定请求,并发送至预设工作端;
接收所述预设工作端基于所述质量评定请求返回的所述修正SLAM地图与所述当前SLAM地图之间的质量匹配值。
6.如权利要求1至4中任一项所述的SLAM地图更新方法,其特征在于,所述将所述当前SLAM地图更新为所述修正SLAM地图的步骤之后,所述SLAM地图更新方法还包括:
获取所述修正SLAM地图对应的第一质心坐标,并获取所述当前SLAM地图对应的第二质心坐标;
计算所述第一质心坐标和所述第二质心坐标之间的偏差值;
获取所述预设遍历点在所述当前SLAM地图中的坐标,并根据所述预设遍历点在所述当前SLAM地图中的坐标、所述第二质心坐标和所述偏差值对所述预设遍历点的坐标进行修正更新,得到所述预设遍历点在所述修正SLAM地图中的坐标。
7.如权利要求6所述的SLAM地图更新方法,其特征在于,所述SLAM地图更新方法还包括:
根据所述当前SLAM地图、所述新建SLAM地图、所述修正SLAM地图、修正更新前后的预设遍历点的坐标生成对应的SLAM地图更新报告;
将所述SLAM地图更新报告发送至预设工作端,或将所述SLAM地图更新报告存储至预设数据库。
8.一种SLAM地图更新装置,其特征在于,所述SLAM地图更新装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的SLAM地图更新程序,所述SLAM地图更新程序被所述处理器执行时实现如权利要求1至7中任一项所述的SLAM地图更新方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有SLAM地图更新程序,所述SLAM地图更新程序被处理器执行时实现如权利要求1至7中任一项所述的SLAM地图更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911085149.3A CN110825832B (zh) | 2019-11-07 | 2019-11-07 | Slam地图更新方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911085149.3A CN110825832B (zh) | 2019-11-07 | 2019-11-07 | Slam地图更新方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825832A CN110825832A (zh) | 2020-02-21 |
CN110825832B true CN110825832B (zh) | 2022-08-19 |
Family
ID=69553338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911085149.3A Active CN110825832B (zh) | 2019-11-07 | 2019-11-07 | Slam地图更新方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825832B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625612B (zh) * | 2020-05-26 | 2023-07-18 | 北京百度网讯科技有限公司 | 高精地图的纠偏方法和装置、电子设备和存储介质 |
CN114683270A (zh) * | 2020-12-30 | 2022-07-01 | 深圳乐动机器人有限公司 | 一种基于机器人的构图信息采集方法及机器人系统 |
CN113295176A (zh) * | 2021-05-27 | 2021-08-24 | 上海商汤临港智能科技有限公司 | 地图更新方法、地图更新装置及计算机可读存储介质 |
CN115700507B (zh) * | 2021-07-30 | 2024-02-13 | 北京小米移动软件有限公司 | 地图更新方法及其装置 |
CN114240976B (zh) * | 2021-12-17 | 2022-10-14 | 广州小鹏自动驾驶科技有限公司 | 一种地图迭代切分方法、装置、设备及存储介质 |
US20230194298A1 (en) * | 2021-12-20 | 2023-06-22 | Here Global B.V. | Method, apparatus, and computer program product for correcting lane geometry in map data |
CN117233751B (zh) * | 2023-11-08 | 2024-02-02 | 江苏筑升土木工程科技有限公司 | 一种基于探地雷达的道路地下病害体全生命周期管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074638A (zh) * | 2018-07-23 | 2018-12-21 | 深圳前海达闼云端智能科技有限公司 | 融合建图方法、相关装置及计算机可读存储介质 |
CN109887053A (zh) * | 2019-02-01 | 2019-06-14 | 广州小鹏汽车科技有限公司 | 一种slam地图拼接方法及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE792273A (fr) * | 1971-12-07 | 1973-03-30 | Netlon Ltd | Perfectionnements a la production de filets en plastiques extrudes |
CN100549613C (zh) * | 2007-10-31 | 2009-10-14 | 天津大学 | 基于多质心相对位置不变性的测量微结构旋转运动方法 |
CA2866919C (en) * | 2012-03-30 | 2018-08-21 | Smart Technologies Ulc | Method for generally continuously calibrating an interactive input system |
CN103294980A (zh) * | 2013-06-18 | 2013-09-11 | 四川大学 | 基于图像处理的微型qr码识别方法 |
JP6571102B2 (ja) * | 2014-10-29 | 2019-09-04 | 株式会社トヨタマップマスター | 地図更新システム、ナビゲーション装置、サーバ装置、地図更新方法、ナビゲーション方法、サーバ装置の制御方法、コンピュータプログラム、コンピュータプログラムを記録した記録媒体 |
KR102332752B1 (ko) * | 2014-11-24 | 2021-11-30 | 삼성전자주식회사 | 지도 서비스를 제공하는 전자 장치 및 방법 |
CN108007453A (zh) * | 2017-12-11 | 2018-05-08 | 北京奇虎科技有限公司 | 基于点云的地图更新方法、装置及电子设备 |
CN109163724A (zh) * | 2018-09-07 | 2019-01-08 | 五邑大学 | 基于Turtlebot2机器人构建地图的多目标点自主导航方法 |
CN110260856A (zh) * | 2019-06-26 | 2019-09-20 | 北京海益同展信息科技有限公司 | 一种建图方法和装置 |
CN110260857A (zh) * | 2019-07-02 | 2019-09-20 | 北京百度网讯科技有限公司 | 视觉地图的校准方法、装置及存储介质 |
-
2019
- 2019-11-07 CN CN201911085149.3A patent/CN110825832B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074638A (zh) * | 2018-07-23 | 2018-12-21 | 深圳前海达闼云端智能科技有限公司 | 融合建图方法、相关装置及计算机可读存储介质 |
CN109887053A (zh) * | 2019-02-01 | 2019-06-14 | 广州小鹏汽车科技有限公司 | 一种slam地图拼接方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110825832A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825832B (zh) | Slam地图更新方法、装置及计算机可读存储介质 | |
CN108253958B (zh) | 一种稀疏环境下的机器人实时定位方法 | |
US20210063577A1 (en) | Robot relocalization method and apparatus and robot using the same | |
US20220253039A1 (en) | Information processing method, information processing system, and program | |
CN111746525B (zh) | 泊车路径规划方法、装置、设备及存储介质 | |
CN110789529B (zh) | 车辆的控制方法、装置及计算机可读存储介质 | |
US11393063B2 (en) | Object detecting method, object detecting device, and robot system | |
CN114494453A (zh) | 基于雷达和相机的自动装卸车方法及自动装卸车系统 | |
CN115880953B (zh) | 无人机的管控方法及智慧路灯系统 | |
CN110736456A (zh) | 稀疏环境下基于特征提取的二维激光实时定位方法 | |
CN114943952A (zh) | 多相机重叠视域下障碍物融合方法、系统、设备和介质 | |
CN110853008B (zh) | Slam地图质量评定方法、装置及计算机可读存储介质 | |
CN108705530B (zh) | 一种工业机器人路径自动修正的方法及系统 | |
JP6849262B1 (ja) | 情報処理方法、情報処理システム、プログラム | |
CN114777770A (zh) | 机器人定位方法、装置、控制终端以及可读存储介质 | |
CN115847426A (zh) | 机器人运动控制方法、装置、电子设备和存储介质 | |
CN115902843A (zh) | 一种多激光雷达标定方法、装置及电子设备 | |
CN111812668B (zh) | 绕机检查装置及其定位方法、存储介质 | |
CN115741683A (zh) | 机器人回充定位识别方法、装置、计算机设备及存储介质 | |
CN115273066A (zh) | 货架识别方法、装置、电子设备及机器可读存储介质 | |
CN113643359A (zh) | 一种目标对象定位方法、装置、设备及存储介质 | |
CN115268469B (zh) | 机器人的沿墙角度校准方法、装置、终端设备及存储介质 | |
CN116222537A (zh) | 错误关键帧的过滤方法、装置、终端设备以及存储介质 | |
CN114839987A (zh) | 机器人的移动控制方法、装置、设备及存储介质 | |
EP4170388A1 (en) | Method and system for spatial static map construction |
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 |