一种低内存占用的链式栅格地图构建方法转让专利

申请号 : CN202011015970.0

文献号 : CN112129295B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵伟杰左海明

申请人 : 深圳市云鼠科技开发有限公司

摘要 :

本发明提供一种低内存占用的链式栅格地图构建方法,包括以下步骤S1:预设具有红外传感器、超声波传感器、碰撞开关、地磁、电子碰撞感应器、探地传感器、陀螺仪以及里程计的传感器模块以及具有信息解析单元、方位计算单元、越界检测单元、区块记录单元以及信息交互接口的地图构建模块,S2:将传感器模块所感应得到的数据信息上报到地图构建模块,并通过信息解析单元解析为地图状态信息;利用里程计和陀螺仪所获取的数据信息进行地图方向构建,计算得到正确的点位设置方位,本申请可以将地图矩阵分散到内存中,降低对连续性大型内存资源的依赖,同时又避免了稀疏地图计算资源过高的问题。

权利要求 :

1.一种低内存占用的链式栅格地图构建方法,其特征在于:包括以下步骤,S1:预设具有红外传感器、超声波传感器、碰撞开关、电子碰撞感应器、探地传感器、陀螺仪以及里程计的传感器模块以及具有信息解析单元、方位计算单元、越界检测单元、区块记录单元以及信息交互接口的地图构建模块;

S2:将传感器模块所感应得到的数据信息上报到地图构建模块,并通过信息解析单元解析为地图状态信息;利用里程计和陀螺仪所获取的数据信息进行地图方向构建,计算得到正确的点位设置方位;

S3:依据步骤S2中所获得的方位信息,判断是否超出区块边界,若超出区块边界,则继续判断是否超出地图边界,若超出地图边界,则跳转至步骤S2,若未超出地图边界,则构建新的区块,并记录该区块的编号;若未超出区块边界,则将该方位记录在对应的区块中;

S4:记录地图信息;若需要继续构建,则跳转至步骤S2,依次循环;

S5:结束构建。

2.如权利要求1所述的一种低内存占用的链式栅格地图构建方法,其特征在于:所述步骤S2中,所构建的地图采用世界坐标系,障碍点信息的设置将用户坐标系转换为世界坐标系后设置到对应的地图点中。

3.如权利要求1所述的一种低内存占用的链式栅格地图构建方法,其特征在于:所述步骤S1中,信息交互接口提供给其他模块读取信息的接口,遍历区块信息。

4.如权利要求1所述的一种低内存占用的链式栅格地图构建方法,其特征在于:所述步骤S1中的传感器模块包括可直接获取得到对应方位障碍信息的开关型传感器以及经过算法处理转换感应数据为碰撞或障碍物信息的数值型传感器;所述碰撞开关、探地传感器为开关型传感器;所述红外传感器、超声波传感器、电子碰撞感应器、陀螺仪、里程计为数值型传感器。

5.如权利要求1所述的一种低内存占用的链式栅格地图构建方法,其特征在于:所述信息解析单元用于负责将来自所述传感器模块中各传感器的感应信息进行数据处理,并转化为清扫状态信息。

6.如权利要求1所述的一种低内存占用的链式栅格地图构建方法,其特征在于:所述方位计算单元结合陀螺仪和里程计数据,依据点位设置规则,将得出的点位状态匹配到地图对应的点位中。

7.如权利要求1所述的一种低内存占用的链式栅格地图构建方法,其特征在于:所述越界检测单元通过地图构建规则或区块构建规则,检查是否超出地图或区块边界,并作出对应的反馈处理;具体包括地图超边界检查和区块超边界检查。

8.如权利要求6所述的一种低内存占用的链式栅格地图构建方法,其特征在于:所述区块记录单元记录地图信息,所有计算得到的地图点位将会记录在区块记录单元。

9.如权利要求1所述的一种低内存占用的链式栅格地图构建方法,其特征在于:所述步骤S3中,若所构建的区块超出地图边界时,则判定为超出地图边界。

10.如权利要求1所述的一种低内存占用的链式栅格地图构建方法,其特征在于:所述步骤S3中,所述构建的区块包括区块头、区块地图以及下一区块地址;当超出区块边界且满足新区块创建条件时,将新创建区块的地址记录到上一区块中。

说明书 :

一种低内存占用的链式栅格地图构建方法

[技术领域]

[0001] 本发明涉及栅格地图构建方法技术领域,尤其涉及一种应用效果突出的低内存占用的链式栅格地图构建方法。
[背景技术]
[0002] 随着智能生活,只能家具概念的普及,扫地机的使用越来越得到人的青睐,扫地机越来越多,成本越来越低,如何去从内存方面在保证系统可靠稳定的前提下,减少资源占
用,以节省成本便成为了目前扫地机行业需要考虑的问题目前的扫地机地图构建方式,包
括以下几种:
[0003] 大型栅格地图:主要针对用户表示,这种地图雷达或其他非VSLAM方案会采用这种地图构建方法,需要构建整张地图,作为栅格地图,资源占用相对较大。
[0004] 稀疏矩阵地图:主要在VSLAM方案中使用,用户不会直接看到该地图,该方法在SLAM方案中,内存占用相对适中。但是对于栅格地图来说,内存资源和计算资源的占用是非
常高的,不适用于单片机开发。
[0005] 现有的栅格地图构建方法,需要构建一整张巨型地图,需要提前考虑好内存占用,资源占用高。而稀疏地图构建方法,虽然对于SLAM开发来说占用相对较低,但是实际在单片
机环境种对计算资源和内存资源的占用还是非常高的。
[发明内容]
[0006] 为克服现有技术所存在的问题,本发明提供一种应用效果突出的低内存占用的链式栅格地图构建方法。
[0007] 本发明解决技术问题的方案是提供一种低内存占用的链式栅格地图构建方法,包括以下步骤,
[0008] S1:预设具有红外传感器、超声波传感器、碰撞开关、地磁、电子碰撞感应器、探地传感器、陀螺仪以及里程计的传感器模块以及具有信息解析单元、方位计算单元、越界检测
单元、区块记录单元以及信息交互接口的地图构建模块;
[0009] S2:将传感器模块所感应得到的数据信息上报到地图构建模块,并通过信息解析单元解析为地图状态信息;利用里程计和陀螺仪所获取的数据信息进行地图方向构建,计
算得到正确的点位设置方位;
[0010] S3:依据步骤S2中所获得的方位信息,判断是否超出区块边界,若超出区块边界,则继续判断是否超出地图边界,若超出地图边界,则跳转至步骤S2,若未超出地图边界,则
构建新的区块,并记录该区块的编号;若未超出区块边界,则将该方位记录在对应的区块
中;
[0011] S4:记录地图信息;若需要继续构建,则跳转至步骤S2,依次循环;
[0012] S5:结束构建。
[0013] 优选地,所述步骤S2中,所构建的地图采用世界坐标系,障碍点信息的设置将用户坐标系转换为世界坐标系后设置到对应的地图点中。
[0014] 优选地,所述步骤S1中,信息交互接口提供给其他模块读取信息的接口,遍历区块信息。
[0015] 优选地,所述步骤S1中的传感器模块包括可直接获取得到对应方位障碍信息的开关型传感器以及经过算法处理转换感应数据为碰撞或障碍物信息的数值型传感器;所述碰
撞开关、地磁、探地传感器为开关型传感器;所述红外传感器、超声波传感器、电子碰撞感应
器、陀螺仪、里程计为数值型传感器。
[0016] 优选地,所述信息解析单元用于负责将来自所述传感器模块中各传感器的感应信息进行数据处理,并转化为清扫状态信息。
[0017] 优选地,所述方位计算单元结合陀螺仪和里程计数据,依据点位设置规则,将得出的点位状态匹配到地图对应的点位中。
[0018] 优选地,所述越界检测单元通过地图构建规则或区块构建规则,检查是否超出地图或区块边界,并作出对应的反馈处理;具体包括地图超边界检查和区块超边界检查。
[0019] 优选地,所述区块记录单元记录地图信息,所有计算得到的地图点位将会记录在区块记录单元。
[0020] 优选地,所述步骤S3中,若所构建的区块超出地图边界时,则判定为超出地图边界。
[0021] 优选地,所述步骤S3中,所述构建的区块包括区块头、区块地图以及下一区块地址;当超出区块边界且满足新区块创建条件时,将新创建区块的地址记录到上一区块中。
[0022] 与现有技术相比,本发明一种低内存占用的链式栅格地图构建方法涉及算法领域,涉及红外传感器,超声波传感器,碰撞开关,电子碰撞,地磁,探地传感器,陀螺仪等相结
合,主要针对依赖栅格地图的机器人导航系统资源占用问题,将传感器数据融合后通过链
表形式构建栅格地图,建立一套分散式地图构建系统,设计算法灵活,管理多个分散的地图
矩阵,将原本的大型矩阵碎片化,零散化,在极端情况下,同样的内存占用可以表示更多的
地图信息。
[附图说明]
[0023] 图1是本发明一种低内存占用的链式栅格地图构建方法的流程示意图。[具体实施方式]
[0024] 为使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不
用于限定此发明。
[0025] 请参阅图1,本发明一种低内存占用的链式栅格地图构建方法1包括以下步骤,
[0026] S1:预设具有红外传感器、超声波传感器、碰撞开关、地磁、电子碰撞感应器、探地传感器、陀螺仪以及里程计的传感器模块以及具有信息解析单元、方位计算单元、越界检测
单元、区块记录单元以及信息交互接口的地图构建模块;
[0027] S2:将传感器模块所感应得到的数据信息上报到地图构建模块,并通过信息解析单元解析为地图状态信息;利用里程计和陀螺仪所获取的数据信息进行地图方向构建,计
算得到正确的点位设置方位;
[0028] S3:依据步骤S2中所获得的方位信息,判断是否超出区块边界,若超出区块边界,则继续判断是否超出地图边界,若超出地图边界,则跳转至步骤S2,若未超出地图边界,则
构建新的区块,并记录该区块的编号;若未超出区块边界,则将该方位记录在对应的区块
中;
[0029] S4:记录地图信息;若需要继续构建,则跳转至步骤S2,依次循环;
[0030] S5:结束构建。
[0031] 本申请涉及算法领域,涉及红外传感器,超声波传感器,碰撞开关,电子碰撞,地磁,探地传感器,陀螺仪等相结合,主要针对依赖栅格地图的机器人导航系统资源占用问
题,将传感器数据融合后通过链表形式构建栅格地图,建立一套分散式地图构建系统,设计
算法灵活,管理多个分散的地图矩阵,将原本的大型矩阵碎片化,零散化,在极端情况下,同
样的内存占用可以表示更多的地图信息。
[0032] 本申请目的是建立一种链式的地图构建系统,便于适应各种低资源的开发环境,还可以将地图矩阵分散到内存中,降低对连续性大型内存资源的依赖,同时又避免了稀疏
地图计算资源过高的问题。
[0033] 优选地,所述步骤S2中,所构建的地图采用世界坐标系,障碍点信息的设置将用户坐标系转换为世界坐标系后设置到对应的地图点中。
[0034] 优选地,所述步骤S1中,信息交互接口提供给其他模块读取信息的接口,遍历区块信息。
[0035] 优选地,所述步骤S1中的传感器模块包括可直接获取得到对应方位障碍信息的开关型传感器以及经过算法处理转换感应数据为碰撞或障碍物信息的数值型传感器;所述碰
撞开关、地磁、探地传感器为开关型传感器;所述红外传感器、超声波传感器、电子碰撞感应
器、陀螺仪、里程计为数值型传感器。
[0036] 优选地,所述信息解析单元用于负责将来自所述传感器模块中各传感器的感应信息进行数据处理,并转化为清扫状态信息。
[0037] 优选地,所述方位计算单元结合陀螺仪和里程计数据,依据点位设置规则,将得出的点位状态匹配到地图对应的点位中。
[0038] 优选地,所述越界检测单元通过地图构建规则或区块构建规则,检查是否超出地图或区块边界,并作出对应的反馈处理;具体包括地图超边界检查和区块超边界检查。
[0039] 优选地,所述区块记录单元记录地图信息,所有计算得到的地图点位将会记录在区块记录单元。
[0040] 优选地,所述步骤S3中,若所构建的区块超出地图边界时,则判定为超出地图边界。
[0041] 优选地,所述步骤S3中,所述构建的区块包括区块头、区块地图以及下一区块地址;当超出区块边界且满足新区块创建条件时,将新创建区块的地址记录到上一区块中。
[0042] 本申请的目的是提供一种内存占用低,可以分散的地图构建系统,并且保留了地图系统应有的尺寸规格,本地图构建系统适合应用在资源紧张的开发环境,以节省大量内
存资源。
[0043] 一、系统组成
[0044] 本系统结合了红外传感器,超声波传感器,碰撞开关,电子碰撞,地磁,探地传感器,陀螺仪等信息,通过解析后进行方位计算并做越界检测后判断是否需要记录到地图中。
[0045] 该系统由两部分组成:传感器模块和地图构建模块
[0046] 1、传感器模块
[0047] 传感器模块包括了目前扫地机中地图构建相关的所有传感器,这里将各个传感器的信息实时上报给地图构建系统,以用于地图构建系统进行实时判断和构建。
[0048] 这里传感器也分为两类:开关型和数值型
[0049] 开关型传感器:
[0050] 包含了碰撞开关,地磁,探地传感器。其信号表示为开关量,经过滤波后可以直接获取得到对应方位的障碍信息。
[0051] 数值型传感器:
[0052] 包含了红外传感器,超声波传感器,电子碰撞,陀螺仪。这类传感器数据表示为数值,滤波后需要经过算法处理转换为碰撞或障碍物信息交给地图构建模块使用。
[0053] 2、地图构建模块
[0054] 地图构建模块包含了整个地图构建方法,其中又分为5个单元:信息解析单元,方位计算单元,越界检查单元,区块记录单元,信息交互单元。
[0055] 信息解析单元:主要负责各种传感器信息的处理后,转化为清扫状态信息。
[0056] 方位计算单元:结合陀螺仪和里程计数据将该点位状态匹配到地图对应的点位中。
[0057] 越界检查单元:通过地图构建规则或区块构建规则,检查是否超出地图或区块边界,并作出对应的处理。
[0058] 区块记录单元:记录地图信息,所有的地图点位将会记录在这个单元。
[0059] 信息交互接口:提供给其他模块读取信息的接口,这里可能需要遍历区块信息。
[0060] 二、地图构建原理
[0061] 地图构建原理分为,方位判断原理,边界检查原理,区块记录原理
[0062] 1、方向判断原理
[0063] 地图构建方向主要依赖里程计和陀螺仪数据,地图使用世界坐标系,障碍点信息的设置将扫地机的用户坐标系转换为世界坐标后设置到对应的地图点中。
[0064] 2、边界检查原理
[0065] 边界检查分为地图边界检查和区块边界检查
[0066] 区块边界检查:用于确认是否需要创建新的区块节点,如果满足新的区块创建条件即超出原始区块边界,则创建新的区块并记下此区块编号。
[0067] 地图边界检查:考虑到内存占用的情况,这里也会对区块做一个上限设置,当区块设置总数超出地图边界时,则会判断为超出地图边界。
[0068] 3、区块记录原理
[0069] 区块的记录需要结合清扫规则,该规则为用户自定义规则,不同的用户会有所差异。
[0070] 节点增加的方法。
[0071] 目前,每个区块包含了区块头,区块地图,下一区块地址,三类信息。
[0072] 每当出区块超出边界时,检查确认是否满足新的区块创建条件,如果满足则创建新的区块,并将该区块地址记录到上一区块。
[0073] 三、地图构建流程
[0074] 1.传感器模块将对应的感知信息上报给地图构建模块,通过解析模块解析为地图状态信息。
[0075] 2.地图状态信息结合里程计和陀螺仪计算得到正确的点位设置方位。
[0076] 3.得出方位后首先判断是否超出区块边界,超出则继续判断是否超出地图边界。
[0077] 4.未超出地图边界的点则记录在对应的区块中,如果需要创建新的区块也会在此时创建。
[0078] 5.读取时:通过需要读取的点,遍历整个地图,查找该点位区块是否存在,如果存在,则返回该点位对应的清扫状态。
[0079] 与现有技术相比,本发明一种低内存占用的链式栅格地图构建方法1涉及算法领域,涉及红外传感器,超声波传感器,碰撞开关,电子碰撞,地磁,探地传感器,陀螺仪等相结
合,主要针对依赖栅格地图的机器人导航系统资源占用问题,将传感器数据融合后通过链
表形式构建栅格地图,建立一套分散式地图构建系统,设计算法灵活,管理多个分散的地图
矩阵,将原本的大型矩阵碎片化,零散化,在极端情况下,同样的内存占用可以表示更多的
地图信息。
[0080] 以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范
围之内。