CN114037807A - 低内存占用的链式栅格地图构建方法、装置及计算机设备 - Google Patents
低内存占用的链式栅格地图构建方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN114037807A CN114037807A CN202111405590.2A CN202111405590A CN114037807A CN 114037807 A CN114037807 A CN 114037807A CN 202111405590 A CN202111405590 A CN 202111405590A CN 114037807 A CN114037807 A CN 114037807A
- Authority
- CN
- China
- Prior art keywords
- map
- map block
- marking
- cleaning robot
- world coordinate
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
低内存占用的链式栅格地图构建方法,该方法包括:信息采集步骤,驱动清洁机器人运动,并且在运动过程中基于机器人经过的栅格进行信息的采集;标记步骤,根据机器人采集的所述信息在一个地图区块当中对对应的点位执行标记动作,所述地图区块包括了世界坐标系中的若干连续的点位;地图区块定义步骤,当所述标记动作超出地图区块中记载的点位的范围时,定义一个新的地图区块,并且在所述新的地图区块内对对应的点位执行标记动作。该方案通过地图构建的过程增加地图区块,对内存的操作更为灵活对内存的占用与已经构建的地图的实际大小更为匹配,该方案在地图构建的过程当中,内存利用效率高。
Description
技术领域
本申请涉及地图构建技术领域,尤其涉及低内存占用的链式栅格地图构建方法、装置及计算机设备。
背景技术
清洁机器人根据地图导航,对一个区域实施清洁。在运行过程当中,清洁机器人需要构建清扫区域的地图,以实现后续的导航,和对清洁区域的清洁进度进行管理。现有的扫地考虑到清洁机器人本身运算资源有限,通常采用栅格地图的形式进行地图的构建和管理。其中大型栅格地图,是在构建地图的过程当中,一次性构建整张地图,这就意味着需要提前根据内存占用情况考虑好整张地图的大小,并且在地图的构建和使用的整个过程当中,占用与整张地图大小相当的内存资源,内存资源的利用率低。
发明内容
本申请实施例的目的在于提出一种能够提升地图构建过程中内存利用效率的低内存占用的链式栅格地图构建方法、装置及计算机设备,
为了解决上述技术问题,本申请实施例提供一种内存占用的链式栅格地图构建方法,采用了如下所述的技术方案:
低内存占用的链式栅格地图构建方法,该方法包括:
信息采集步骤,驱动清洁机器人运动,并且在运动过程中基于机器人经过的栅格进行信息的采集;
标记步骤,根据机器人采集的所述信息在一个地图区块当中对对应的点位执行标记动作,所述地图区块包括了世界坐标系中的若干连续的点位;
地图区块定义步骤,当所述标记动作超出所述地图区块中记载的点位的范围时,在内存中指定连续的存储空间以存储一个新的地图区块,之后在所述新的地图区块内对对应的点位执行标记动作。
进一步的,所述信息采集步骤具体包括:当清洁机器人运动过程中处于非碰撞状态时,确定清洁机器人在世界坐标系中的位置。
进一步的,所述标记步骤中,在非碰撞状态下,所述点位的标记动作具体包括:
根所述清洁机器人在世界坐标系中的位置,将地图区块中与清洁机器人位置对应的点位标记为可通过区域。
进一步的,所述信息采集步骤具体包括:当清洁机器人运动过程中处于碰撞状态时,确定清洁机器人在世界坐标系中的位置,以及清洁机器人的前进方向。
进一步的,所述标记步骤中,在碰撞状态下,所述点位的标记动作具体包括:
根据所述清洁机器人在世界坐标系中的位置,将地图区块中与清洁机器人位置对应的点位标记为可通过区域;
根据清洁机器人的前进方向,将地图区块中与清洁机器人位置对应的点位沿所述前进方向相邻的点位标记为障碍物区域。
进一步的,所述世界坐标系中的位置的确定方法,具体包括:
连续通过里程计和陀螺仪获取清洁机器人的移动距离和移动方向;
将所述移动距离和移动方向映射在所述世界坐标系中;
根据所述移动距离和移动方向在所述世界坐标系中的映射,确定清洁机器人在世界坐标系中的位置。
进一步的,所述地图区块在内存中存储有相邻地图区块的所述存储空间的地址,所述地址与地图区块的边界相对应。
进一步的,所述低内存占用的链式栅格地图构建方法还包括:边界检查步骤,根据所述清洁机器人在世界坐标中的位置,以及清洁机器人的前进方向,判断所述标记动作是否超出地图区块中记载的点位的范围,当标记动作没有超出地图区块中记载的点位的范围时,执行标记步骤。
进一步的,所述边界检查步骤,还包括:当标记动作没有超出地图区块中记载的点位的范围时,执行查询步骤,根据清洁机器人在世界坐标系中的位置对应的所述地图区块的边界,遍历查找与所述边界对应的相邻的地图区块是否存在,当存在时,则在所述相邻的地图区块中对对应的点位进行标记;当不存在时,则执行地图区块定义步骤。
进一步的,所述低内存占用的链式栅格地图构建方法还包括,运行区域检查步骤,根据所述清洁机器人在世界坐标中的位置,判断所述清洁机器人在世界坐标系中的位置是否超出了预设的最大坐标范围,当清洁机器人在世界坐标系中的位置超出了预设的最大坐标范围时,停止运行。
为了解决上述技术问题,本申请实施例还提供一种低内存占用的链式栅格地图构建装置,采用了如下所述的技术方案:
低内存占用的链式栅格地图构建装置,包括:
信息采集模块,驱动清洁机器人运动以获取清洁机器人在世界坐标系中的位置,以及清洁机器人的前进方向;
标记模块,根据清洁机器人在世界坐标系中的位置,以及清洁机器人的前进方向,在一个地图区块当中对对应的点位进行标记,所述地图区块包括了世界坐标系中的若干连续的点位;
地图区块定义模块,当所述标记超出地图区块中记载的点位的范围时,在内存中指定连续的存储空间以存储一个新的地图区块,之后在所述新的地图区块内对对应的点位进行标记。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的低内存占用的链式栅格地图构建方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的低内存占用的链式栅格地图构建方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:信息采集步骤基于栅格地图的绘制方法采集信息,具体在一种实施例当中采集清洁机器人在运行过程中检测到清洁机器人的位置和前进方向,标记步骤根据清洁机器人基于栅格地图的绘制方法采集的信息,对世界坐标系下地图区块中的点位进行标记,其中地图区块包含的点位规模以及排列方式根据硬件资源的情况,预先设置,无需包含整块地图的要求。
地图区块定义步骤在标记动作超出现有地图区块中记载的点位的范围时,定义新的地图区块,能够根据清洁机器人运动过程中对地图构建过程的积累,进行添加,只有在现有的地图区块无法满足标记动作的执行时才通过划出一片连续的存储空间定义新的地图区块。该方案通过地图构建的过程增加地图区块,对内存的操作更为灵活对内存的占用与已经构建的地图的实际大小更为匹配,该方案在地图构建的过程当中,内存利用效率高。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1根据本申请的低内存占用的链式栅格地图构建方法的一个实施例的流程图;
图2是图1中步骤S100的一种具体实施方式的流程图;
图3是图1中步骤S200的一种具体实施方式的流程图;
图4是图1中步骤S100的一种具体实施方式的流程图;
图5是在图1中低内存占用的链式栅格地图构建方法的一个实施例的基础之上附加技术方案的流程图;
图6是根据本申请的低内存占用的链式栅格地图构建装置的一个实施例的结构示意图;
图7是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
参考图1,示出了根据本申请的低内存占用的链式栅格地图构建方法的一个实施例的流程图。
低内存占用的链式栅格地图构建方法,该方法包括:
步骤S100:信息采集步骤,驱动清洁机器人运动,并且在运动过程中基于机器人经过的栅格进行信息的采集;
步骤S200:标记步骤,根据机器人采集的所述信息在一个地图区块当中对对应的点位执行标记动作,所述地图区块包括了世界坐标系中的若干连续的点位;
步骤S300:地图区块定义步骤,当所述标记动作超出地图区块中记载的点位的范围时,在内存中指定连续的存储空间以存储一个新的地图区块,之后在所述新的地图区块内对对应的点位执行标记动作。
具体的,信息采集步骤基于栅格地图的绘制方法采集信息,具体在一种实施例当中采集清洁机器人在运行过程中检测到清洁机器人的位置和前进方向,标记步骤根据清洁机器人基于栅格地图的绘制方法采集的信息,对世界坐标系下地图区块中的点位进行标记,以在一个地图区块中实施对地图的构建,其中地图区块包含的点位规模以及排列方式根据硬件资源的情况,预先设置,无需包含整块地图的要求。
地图区块定义步骤在标记动作超出现有地图区块中记载的点位的范围时,定义新的地图区块,能够根据清洁机器人运动过程中对地图构建过程的积累,进行添加,只有在现有的地图区块无法满足标记动作的执行时才定义新的地图区块。该方案通过地图构建的过程增加地图区块,对内存的操作更为灵活对内存的占用与已经构建的地图的实际大小更为匹配,该方案在地图构建的过程当中,内存利用效率高。
进一步的,所述步骤S100:信息采集步骤具体包括:步骤S101:当清洁机器人运动过程中处于非碰撞状态时,确定清洁机器人在世界坐标系中的位置。
具体的,对通行区域的信息采集,是在非碰撞状态下进行的,需要将清洁机器人在世界坐标系中的位置标记在地图区块的点位上。将通行区域的位置直接通过世界坐标系中的位置体现,该方案有利于提升地图绘制的速度。
进一步的,所述步骤S100:信息采集步骤具体包括:步骤S102:当清洁机器人运动过程中处于碰撞状态时,确定清洁机器人在世界坐标系中的位置,以及清洁机器人的前进方向。
具体的,对障碍物的检测,因为清洁机器人无法运行到障碍物上,需要根据清洁机器人在世界坐标系中的位置,以及清洁机器人的前进方向,推定清洁机器人所在位置的前进方向的相邻位置标记在地图区块的点位上。该方案提升地图绘制过程中障碍物标记的准确性。
进一步的,所述步骤S102:障碍物检测步骤中,所述清洁机器人的碰撞状态的获取具体通过开关型传感器和/或数值型传感器获取。
具体的,开关型传感器通过开关状态识别清洁机器人周边障碍物的存在,而数值型传感器通过获取数字信号,通过滤波得到相应的参数,检测清洁机器人周边障碍物的存在,该方案提升了障碍物检测方式的多样性,提升了障碍物检测的效率和可靠性。
进一步的,所述步骤S200:标记步骤中,在碰撞状态下,所述点位的标记动作具体包括:
步骤S201:根据所述清洁机器人在世界坐标系中的位置,将地图区块中与清洁机器人位置对应的点位标记为可通过区域;
步骤S202:根据清洁机器人的前进方向,将地图区块中与清洁机器人位置对应的点位沿所述前进方向相邻的点位标记为障碍物区域。
具体的,对地图区块的标记,是根据机器人在世界坐标下所在位置和前进方向相邻的栅格在世界坐标系下所在的位置,确定需要对地图区块进行标记的点位,具体将机器人在世界坐标系下所在位置在地图区块中标记为可通过区域,将机器人前进方向相邻的栅格在世界坐标系下所在的位置,在地图区块中标记为障碍物区域。该方案在清洁机器人检测到障碍物的状态下,分别将可通过区域和障碍物区域标记在地图上,该方案提升了地图绘制的效率。
所述步骤S200:标记步骤中,在非碰撞状态下,所述点位的标记动作具体包括:
步骤S203:根据清洁机器人在世界坐标系中的位置,将地图区块中与清洁机器人位置对应的点位标记为可通过区域。
对地图区块的标记,是根据机器人在世界坐标下所在位置,确定需要对地图区块进行标记的点位,具体将机器人在世界坐标系下所在位置在地图区块中标记为可通过区域。
进一步的,世界坐标系中的位置的确定方法,具体包括:
步骤S103:连续通过里程计和陀螺仪获取清洁机器人的移动距离和移动方向;
步骤S104:将所述移动距离和移动方向映射在所述世界坐标系中;
步骤S105:根据所述移动距离和移动方向在所述世界坐标系中的映射,确定清洁机器人在世界坐标系中的位置。
具体的,通过对里程计和陀螺仪获得的清洁机器人活动路径在世界坐标系中进行映射,该方案能够高效提升清洁机器人所在位置的获取效率。
进一步的,地图区块定义步骤中,所述新的地图区块的定义方法,包括在内存中指定连续的存储空间,并通过上述存储空间定义世界坐标系中连续的所述点位。
具体的,当原有的地图区块,无法满地图绘制过程中,对点位的标记操作时,通过新增地图区块对整体的地图信息进行扩展,一个地图区块当中包含一定量点位的描述,这些点位在一个区域中连续存在,并且排列方式根据预先设定确定,同时在内存中分配连续的存储空间对新的地图区块中点位的内容进行存储,该方案能够根据地图绘制的需求,随时新增地图区块,以提升内存的利用率。
在一种实施例当中,清洁机器人在世界坐标系当中的所在位置是可通过区域,而这一位置在某个地图区块当中对应了一个点位,此时这一点位描述为可通过区域,清洁机器人在碰撞状态下,说明清洁机器人前进时发生了碰撞,清洁机器人所在位置的栅格是可通过区域,而清洁机器人所在位置的前进方向的相邻的栅格是障碍物区域,而障碍物所在栅格的位置,在某个地图区块当中对应了一个点位,此时将这一点位描述为障碍物区域。
清洁机器人连续行走的过程当中,地图区块中的每个点位被陆续标记,形成有效的地图信息,而地图区块是需要存储在存储器中供其他进程调取查看的,在存储的过程当中,针对每个地区区块分配一个连续的存储空间,在这个连续的存储空间当中,存储地图区块中每个点位的信息,如此,一张完整的地图氛围了若干地图区块,根据地图区块的多少大小,去分配存储资源,这样每次分配的存储资源少,并且能得道更充分的利用。而一个地图区块的信息,被连续存储在分配的存储空间当中,对这一地图区块的存取效率更高,存储空间的利用率更高。
进一步的,根据地图区块当中点位的排列规则,对点位的信息在存储空间内的存储位置进行排列,进一步便于寻址以提升存储空间的利用率。
进一步的,所述地图区块在内存中存储有相邻地图区块的所述存储空间的地址,所述地址与地图区块的边界相对应。
具体的,各个地图区块之间通过地址信息相互联系,每个地图区块保存有相邻地图区块对应的存储空间在内存当中的地址,并且上述地址与地图区块的边界相对应,如果清洁机器人运行到地图区块的一个边界,通过地图边界与相邻地图区块对应存储空间的地址的对应关系,清洁机器人可以直接在相邻地图区块对应的存储空间内寻址,找到需要执行标记动作的点位,并执行标记动作。该方案提升了地图标记的效率,提升了内存的寻址效率,提升了内存的使用效率。
进一步的,所述低内存占用的链式栅格地图构建方法还包括:步骤S400:边界检查步骤,根据所述清洁机器人在世界坐标中的位置,以及清洁机器人的前进方向,判断所述标记动作是否超出地图区块中记载的点位的范围当标记动作没有超出地图区块中记载的点位的范围时,执行步骤S200:标记步骤。
具体的,在执行标记步骤之前,首先判断清洁机器人是否运行到了地图区块的边界,该方案提升在地图区块边缘位置执行标记动作的过程中的效率。
进一步的,所述步骤S400:边界检查步骤,还包括:当标记动作没有超出地图区块中记载的点位的范围时,则执行步骤S500:查询步骤,根据清洁机器人在世界坐标系中的位置对应的所述地图区块的边界,遍历查找与所述边界对应的相邻的地图区块是否存在,当存在时,,则执行步骤S600:在所述相邻的地图区块中对对应的点位进行标记;当不存在时,则执行地图区块步骤S300:定义步骤。
具体的,该方案能够防止对一个世界坐标系的区域重复进行地图区域的定义工作,提升地图绘制的效率。
进一步的,所述低内存占用的链式栅格地图构建方法还包括,步骤S700:运行区域检查步骤,根据所述清洁机器人在世界坐标中的位置,判断所述清洁机器人在世界坐标系中的位置是否超出了预设的最大坐标范围,当清洁机器人在世界坐标系中的位置超出了预设的最大坐标范围时,停止运行。
具体的,清洁机器人可能因为清洁区域过大,或家庭大门无意被打开等情况运行了果园的距离,该方案能够防止清洁机器人运行超过可控区域。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图6,作为对上述图2所示方法的实现,本申请提供了一种低内存占用的链式栅格地图构建装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
低内存占用的链式栅格地图构建装置,包括:
信息采集模块100,用于驱动清洁机器人运动,并且在运动过程中基于机器人经过的栅格进行信息的采集;
标记模块200,用于根据机器人采集的所述信息在一个地图区块当中对对应的点位执行标记动作,所述地图区块包括了世界坐标系中的若干连续的点位;
地图区块定义模块300,当所述标记超出地图区块中记载的点位的范围时,在内存中指定连续的存储空间以存储一个新的地图区块,之后在所述新的地图区块内对对应的点位进行标记。
地图区块定义步骤在标记动作超出现有地图区块中记载的点位的范围时,定义新的地图区块,能够根据清洁机器人运动过程中对地图构建过程的积累,进行添加,只有在现有的地图区块无法满足标记动作的执行时才定义新的地图区块。该方案通过地图构建的过程增加地图区块,对内存的操作更为灵活对内存的占用与已经构建的地图的实际大小更为匹配,该方案在地图构建的过程当中,内存利用效率高。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图7,图7为本实施例计算机设备基本结构框图。
所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(App l i cat i onSpec i f i c I ntegrated Ci rcu it,AS I C)、可编程门阵列(F i e l d-Programmabl e Gate Array,FPGA)、数字处理器(D i gita l S i gna l Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如低内存占用的链式栅格地图构建方法的程序代码等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的程序代码或者处理数据,例如运行所述低内存占用的链式栅格地图构建方法的程序代码。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有低内存占用的链式栅格地图构建程序,所述低内存占用的链式栅格地图构建程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的低内存占用的链式栅格地图构建方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (13)
1.低内存占用的链式栅格地图构建方法,其特征在于,该方法包括:
信息采集步骤,驱动清洁机器人运动,并且在运动过程中基于机器人经过的栅格进行信息的采集;
标记步骤,根据机器人采集的所述信息在一个地图区块当中对对应的点位执行标记动作,所述地图区块包括了世界坐标系中的若干连续的点位;
地图区块定义步骤,当所述标记动作超出所述地图区块中记载的点位的范围时,在内存中指定连续的存储空间以存储一个新的地图区块,之后在所述新的地图区块内对对应的点位执行标记动作。
2.根据权利要求1所述的低内存占用的链式栅格地图构建方法,其特征在于,所述信息采集步骤具体包括:当清洁机器人运动过程中处于非碰撞状态时,确定清洁机器人在世界坐标系中的位置。
3.根据权利要求2所述的低内存占用的链式栅格地图构建方法,其特征在于,所述标记步骤中,在非碰撞状态下,所述点位的标记动作具体包括:
根据所述清洁机器人在世界坐标系中的位置,将地图区块中与清洁机器人位置对应的点位标记为可通过区域。
4.根据权利要求1所述的低内存占用的链式栅格地图构建方法,其特征在于,所述信息采集步骤具体包括:当清洁机器人运动过程中处于碰撞状态时,确定清洁机器人在世界坐标系中的位置,以及清洁机器人的前进方向。
5.根据权利要求4所述的低内存占用的链式栅格地图构建方法,其特征在于,所述标记步骤中,在碰撞状态下,所述点位的标记动作具体包括:
根据所述清洁机器人在世界坐标系中的位置,将地图区块中与清洁机器人位置对应的点位标记为可通过区域;
根据清洁机器人的前进方向,将地图区块中与清洁机器人位置对应的点位沿所述前进方向相邻的点位标记为障碍物区域。
6.根据权利要求2至5任意一项所述的低内存占用的链式栅格地图构建方法,其特征在于,所述世界坐标系中的位置的确定方法,具体包括:
连续通过里程计和陀螺仪获取清洁机器人的移动距离和移动方向;
将所述移动距离和移动方向映射在所述世界坐标系中;
根据所述移动距离和移动方向在所述世界坐标系中的映射,确定清洁机器人在世界坐标系中的位置。
7.根据权利要求6所述的低内存占用的链式栅格地图构建方法,其特征在于,所述地图区块在内存中存储有相邻地图区块的所述存储空间的地址,所述地址与地图区块的边界相对应。
8.根据权利要求7所述的低内存占用的链式栅格地图构建方法,其特征在于,所述低内存占用的链式栅格地图构建方法还包括:边界检查步骤,根据所述清洁机器人在世界坐标中的位置,以及清洁机器人的前进方向,判断所述标记动作是否超出地图区块中记载的点位的范围,当标记动作没有超出地图区块中记载的点位的范围时,执行标记步骤。
9.根据权利要求8所述的低内存占用的链式栅格地图构建方法,其特征在于,所述边界检查步骤,还包括:当标记动作没有超出地图区块中记载的点位的范围时,执行查询步骤,根据清洁机器人在世界坐标系中的位置对应的所述地图区块的边界,遍历查找与所述边界对应的相邻的地图区块是否存在,当存在时,则在所述相邻的地图区块中对对应的点位进行标记;当不存在时,则执行地图区块定义步骤。
10.根据权利要求9所述的低内存占用的链式栅格地图构建方法,其特征在于,所述低内存占用的链式栅格地图构建方法还包括,运行区域检查步骤,根据所述清洁机器人在世界坐标中的位置,判断所述清洁机器人在世界坐标系中的位置是否超出了预设的最大坐标范围,当清洁机器人在世界坐标系中的位置超出了预设的最大坐标范围时,停止运行。
11.低内存占用的链式栅格地图构建装置,其特征在于,包括:
信息采集模块,用于驱动清洁机器人运动,并且在运动过程中基于机器人经过的栅格进行信息的采集;
标记模块,用于根据机器人采集的所述信息在一个地图区块当中对对应的点位执行标记动作,所述地图区块包括了世界坐标系中的若干连续的点位;
地图区块定义模块,当所述标记超出地图区块中记载的点位的范围时,在内存中指定连续的存储空间以存储一个新的地图区块,之后在所述新的地图区块内对对应的点位进行标记。
12.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于:所述处理器执行所述计算机程序时实现如权利要求1至10中任一项所述的低内存占用的链式栅格地图构建方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的低内存占用的链式栅格地图构建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111405590.2A CN114037807B (zh) | 2021-11-24 | 2021-11-24 | 低内存占用的链式栅格地图构建方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111405590.2A CN114037807B (zh) | 2021-11-24 | 2021-11-24 | 低内存占用的链式栅格地图构建方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114037807A true CN114037807A (zh) | 2022-02-11 |
CN114037807B CN114037807B (zh) | 2023-03-28 |
Family
ID=80138803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111405590.2A Active CN114037807B (zh) | 2021-11-24 | 2021-11-24 | 低内存占用的链式栅格地图构建方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114037807B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100040279A1 (en) * | 2008-08-12 | 2010-02-18 | Samsung Electronics Co., Ltd | Method and apparatus to build 3-dimensional grid map and method and apparatus to control automatic traveling apparatus using the same |
CN105865449A (zh) * | 2016-04-01 | 2016-08-17 | 深圳杉川科技有限公司 | 基于激光和视觉的移动机器人的混合定位方法 |
US20170116781A1 (en) * | 2015-10-21 | 2017-04-27 | Nokia Technologies Oy | 3d scene rendering |
KR20180078736A (ko) * | 2016-12-30 | 2018-07-10 | 부산대학교 산학협력단 | 중복 그리드 기법을 이용한 실내 지도 생성 장치 및 방법 |
US20190164445A1 (en) * | 2017-11-27 | 2019-05-30 | Cae Inc. | Method and system for simulating a radar image |
CN112558611A (zh) * | 2020-12-15 | 2021-03-26 | 深圳市云视机器人有限公司 | 一种路径规划方法、装置、计算机设备及存储介质 |
US20210169049A1 (en) * | 2017-12-07 | 2021-06-10 | Amicro Semiconductor Co., Ltd. | Method for Monitoring Pet by Robot based on Grid Map and Chip |
CN113383304A (zh) * | 2019-03-15 | 2021-09-10 | 英特尔公司 | 数据初始化技术 |
CN113607156A (zh) * | 2020-09-24 | 2021-11-05 | 深圳市云鼠科技开发有限公司 | 栅格地图构建方法 |
-
2021
- 2021-11-24 CN CN202111405590.2A patent/CN114037807B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100040279A1 (en) * | 2008-08-12 | 2010-02-18 | Samsung Electronics Co., Ltd | Method and apparatus to build 3-dimensional grid map and method and apparatus to control automatic traveling apparatus using the same |
US20170116781A1 (en) * | 2015-10-21 | 2017-04-27 | Nokia Technologies Oy | 3d scene rendering |
CN105865449A (zh) * | 2016-04-01 | 2016-08-17 | 深圳杉川科技有限公司 | 基于激光和视觉的移动机器人的混合定位方法 |
KR20180078736A (ko) * | 2016-12-30 | 2018-07-10 | 부산대학교 산학협력단 | 중복 그리드 기법을 이용한 실내 지도 생성 장치 및 방법 |
US20190164445A1 (en) * | 2017-11-27 | 2019-05-30 | Cae Inc. | Method and system for simulating a radar image |
US20210169049A1 (en) * | 2017-12-07 | 2021-06-10 | Amicro Semiconductor Co., Ltd. | Method for Monitoring Pet by Robot based on Grid Map and Chip |
CN113383304A (zh) * | 2019-03-15 | 2021-09-10 | 英特尔公司 | 数据初始化技术 |
CN113607156A (zh) * | 2020-09-24 | 2021-11-05 | 深圳市云鼠科技开发有限公司 | 栅格地图构建方法 |
CN112558611A (zh) * | 2020-12-15 | 2021-03-26 | 深圳市云视机器人有限公司 | 一种路径规划方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
曲丽萍 等: "《未知环境下智能机器人自主导航定位方法与应用》", 28 February 2017, 哈尔滨工业大学出版社 * |
Also Published As
Publication number | Publication date |
---|---|
CN114037807B (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3566821B1 (en) | Robot movement control method, and robot | |
EP4074563A1 (en) | Trajectory prediction method and related device | |
CN109540155A (zh) | 一种扫地机器人的路径规划与导航方法、计算机装置以及计算机可读存储介质 | |
CN112674653B (zh) | 障碍物位置标记方法、装置、计算机设备及存储介质 | |
CN109813310B (zh) | 地下作业设备定位方法、装置、系统及存储介质 | |
CN110834631A (zh) | 一种行人避让方法、装置、车辆及存储介质 | |
CN111152266B (zh) | 一种清洁机器人的控制方法及系统 | |
CN107765694A (zh) | 一种重定位方法、装置及计算机可读取存储介质 | |
CN112644480B (zh) | 一种障碍物检测方法、检测系统、计算机设备和存储介质 | |
CN109839112B (zh) | 地下作业设备定位方法、装置、系统及存储介质 | |
CN110533699B (zh) | 基于光流法的像素变化的动态多帧测速方法 | |
CN105606113A (zh) | 快速规划最优路径方法及装置 | |
CN112558611B (zh) | 一种路径规划方法、装置、计算机设备及存储介质 | |
CN114431771B (zh) | 一种扫地机器人清扫方法及相关装置 | |
CN114037807B (zh) | 低内存占用的链式栅格地图构建方法、装置及计算机设备 | |
CN112690710A (zh) | 障碍物通过性判断方法、装置、计算机设备及存储介质 | |
WO2024099113A1 (zh) | 机器人的限速方法、装置及电子设备 | |
CN112987709A (zh) | 一种路径规划方法、系统及作业机器人 | |
CN110189536A (zh) | 一种停车场车辆监控方法、装置及终端 | |
CN115641436A (zh) | 一种区域分割的方法、装置及机器人装置 | |
CN113031586B (zh) | 基于地图的充电导航方法、装置、计算机设备及存储器 | |
CN111443693A (zh) | 区块超边界处理方法、电子设备及计算机可读存储介质 | |
CN112947478B (zh) | 机器人绕柱脱困方法、装置、计算机设备及存储介质 | |
CN113985885B (zh) | 设备作业控制方法、装置、计算机设备和存储介质 | |
CN113124849A (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 |