CN112515556B - 一种环境地图的处理方法及其装置、电子设备 - Google Patents
一种环境地图的处理方法及其装置、电子设备 Download PDFInfo
- Publication number
- CN112515556B CN112515556B CN202011126899.3A CN202011126899A CN112515556B CN 112515556 B CN112515556 B CN 112515556B CN 202011126899 A CN202011126899 A CN 202011126899A CN 112515556 B CN112515556 B CN 112515556B
- Authority
- CN
- China
- Prior art keywords
- environment map
- map
- environment
- difference
- characters
- 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
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/24—Floor-sweeping machines, motor-driven
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4061—Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及地图构建技术领域,公开一种环境地图的处理方法及其装置、电子设备。方法包括:获取相邻两帧的第一环境地图与第二环境地图;将第二环境地图与所述第一环境地图进行比对,得到所述第二环境地图相对所述第一环境地图的差异编码数据,并将其写入预设文件中以形成差异特征地图。因此,本方法无需上传完整帧环境地图,只需上传差异特征地图,用户终端结合上一帧环境地图和差异特征地图也可以得到完整帧环境地图,相对而言,本方法无需占用较多带宽网络流量,便可以快速上传差异特征地图至用户终端,有利于用户终端及时快速更新环境地图。
Description
技术领域
本发明涉及地图构建技术领域,具体涉及一种环境地图的处理方法及其装置、电子设备。
背景技术
扫地机器人在清扫时,需要把探测到的环境地图不断更新和上传至用户终端,用户终端可以显示探测到的环境地图,以便及时了解扫地机器人的作业规划和性能。
传统扫地机器人更新环境地图时,需要耗费较大带宽网络流量向用户终端上传完整帧环境地图。然而,在室内空间中,诸如桌子、椅子、墙壁、床等物体的位置基本不变,上一帧环境地图与当前帧环境地图在地图内容上大部分是重叠的,相对而言,上传完整帧环境地图是比较浪费带宽网络流量的作法,不利于用户终端及时快速更新环境地图。
发明内容
本发明实施例的一个目的旨在提供一种环境地图的处理方法及其装置、电子设备,其有利于快速更新环境地图。
在第一方面,一种环境地图的处理方法,包括:
获取第一环境地图与第二环境地图,其中,所述第一环境地图和所述第二环境地图为基于同一环境感测装置构建的相邻两帧环境地图,所述第二环境地图为当前帧环境地图,所述第一环境地图为上一帧环境地图;
将所述第二环境地图与所述第一环境地图进行比对,得到所述第二环境地图相对所述第一环境地图的差异编码数据,并将其写入预设文件中以形成差异特征地图。
可选地,所述将所述第二环境地图与所述第一环境地图进行比对,得到所述第二环境地图相对所述第一环境地图的差异编码数据,包括:
判断所述第二环境地图是否相对所述第一环境地图增加地图尺寸;
若判断为是,则确定所述第二环境地图包括基础区域和扩展区域,其中,所述基础区域为所述第二环境地图中与所述第一环境地图轮廓对齐的部分,所述扩展区域为所述第二环境地图中相对所述第一环境地图扩展的部分;选择所述扩展区域的编码数据作为所述第二环境地图相对所述第一环境地图的差异编码数据。
可选地,所述判断所述第二环境地图是否相对所述第一环境地图增加地图尺寸的步骤后,还包括:
若判断为是,还选择所述基础区域相对所述第一环境地图的差异编码数据,作为所述第二环境地图相对所述第一环境地图的差异编码数据。
可选地,所述判断所述第二环境地图是否相对所述第一环境地图增加地图尺寸的步骤后,还包括:
若判断为否,则确定所述第二环境地图为与所述第一环境地图轮廓对齐的基础区域,选择所述第二环境地图与所述第一环境地图的差异编码数据,作为所述第二环境地图相对所述第一环境地图的差异编码数据。
可选地,所述确定所述第二环境地图中的扩展区域,包括:
获取预设坐标系,所述预设坐标系具有第一基准方向和第二基准方向,所述第一基准方向与所述第二基准方向相垂直;
计算所述第二环境地图相对所述第一环境地图在第一基准方向上的第一扩展区域,和/或,
计算所述第二环境地图相对所述第一环境地图在第二基准方向上的第二扩展区域,和/或,
计算所述第二环境地图相对所述第一环境地图在与第一基准方向相反方向上的第三扩展区域,和/或,
计算所述第二环境地图相对所述第一环境地图在与第二基准方向相反方向上的第四扩展区域。
可选地,所述差异编码数据包括坐标数据和对应所述坐标数据的差异编码字符,所述将其写入预设文件中以形成差异特征地图,包括:
根据预设数值变换方式,将所述坐标数据映射成位置编码字符;
将与所述坐标数据对应的预设标记符、所述差异编码字符和位置编码字符映射于所述差异特征地图。
可选地,所述将所述第二环境地图与所述第一环境地图进行比对,得到所述第二环境地图相对所述第一环境地图的差异编码数据,并将其写入预设文件中以形成差异特征地图包括:
在所述第二环境地图的同一第N行/列中,当连续比对到差异编码字符时,则确定与所述差异编码字符的连续出现次数对应的长度编码字符,根据所述N行/列和所述差异编码字符在所述预设文件查找与所述长度编码字符对应的存储位置,将长度编码字符更新所述存储位置中,其中,N为大于或等于0的整数。
可选地,所述存储位置的存储容量为一个字节,所述差异编码字符的存储位置在所述长度编码字符的存储位置之后,所述将长度编码字符更新所述存储位置包括:
当连续出现次数累计大于或等于一个所述字节能够表示字符的数量阈值时,将所述差异编码字符的存储位置后退一个字节进行存储,从所述长度编码字符的存储位置开始写入连续出现次数对应的长度编码字符。
可选地,所述编码字符为ASCII码,所述编码字符的取值范围为0x2e-0x7e。
可选地,所述并将其写入预设文件中以形成差异特征地图的步骤之后,所述方法还包括:按照预设周期将所述差异特征地图发送至目标终端,以使所述目标终端按照所述差异特征地图更新地图。
可选地,所述第一环境地图和所述第二环境地图分别由第一栅格地图和第二栅格地图转换形成,所述获取第一环境地图与第二环境地图包括:
通过所述环境感测装置采集相邻两帧的第一栅格地图和第二栅格地图;
所述第一栅格地图和所述第二栅格地图分别按照预设转换方式转换为所述第一环境地图和所述第二环境地图,其中,所述第一环境地图和所述第二环境地图采用编码字符表示,所述编码字符的取值范围为0x2e-0x7e,所述第一栅格地图和所述第二栅格地图采用栅格值表示,所述栅格值的取值范围为0、1和2。
在第二方面,本发明实施例提供一种环境地图的处理装置,包括:
地图获取模块,用于获取第一环境地图与第二环境地图,其中,所述第一环境地图和所述第二环境地图为基于同一环境感测装置构建的相邻两帧环境地图,所述第二环境地图为当前帧环境地图,所述第一环境地图为上一帧环境地图;
地图比对模块,用于将所述第二环境地图与所述第一环境地图进行比对,得到所述第二环境地图相对所述第一环境地图的差异编码数据,并将其写入预设文件中以形成差异特征地图。
在第三方面,一种非易失性可读存储介质,所述非易失性可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使电子设备执行任一项所述的环境地图的处理方法。
在第四方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使电子设备执行上述环境地图的处理方法。
在第五方面,本发明实施例提供一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的环境地图的处理方法。
本发明与现有技术相比至少具有以下有益效果:在本发明实施例提供的环境地图的处理方法中,首先,获取第一环境地图与第二环境地图,其中,第一环境地图和第二环境地图为基于同一环境感测装置构建的相邻两帧环境地图,第二环境地图为当前帧环境地图,第一环境地图为上一帧环境地图。其次,将第二环境地图与第一环境地图进行比对,得到第二环境地图相对第一环境地图的差异编码数据,并将其写入预设文件中以形成差异特征地图,因此,本方法无需上传完整帧环境地图,只需上传差异特征地图,用户终端结合上一帧环境地图和差异特征地图也可以得到完整帧环境地图,相对而言,本方法无需占用较多带宽网络流量,便可以快速上传差异特征地图至用户终端,有利于用户终端及时快速更新环境地图。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明实施例提供的一种机器人的结构示意图;
图2为本发明实施例提供的机器人与外部终端的通信示意图;
图3a为本发明实施例提供的一种环境地图的处理方法的流程示意图;
图3b为本发明实施例提供的分别使用正方形编码方式、水平编码方式及垂直编码方式组合4个相邻栅格值的示意图;
图3c为图3a所示的步骤S32的一种流程示意图;
图3d为图3a所示的步骤S32的另一种流程示意图;
图4为本发明实施例提供的第二环境地图由第一环境地图扩展得到的示意图;
图5a为本发明实施例提供的机器人选择扩展区域的编码数据作为第二环境地图相对第一环境地图的差异编码数据的流程示意图;
图5b为本发明实施例提供的机器人将差异编码数据写入预设文件中以形成差异特征地图的流程示意图;
图5c为为图3a所示的步骤S32的又另一种流程示意图;
图5d为本发明实施例提供的另一种环境地图的处理方法的流程示意图;
图6是本发明实施例提供的一种环境地图的处理装置的结构示意图;
图7是本发明实施例提供的一种电子设备的电路结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本发明所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
本发明实施例的环境地图的处理方法,可以在任何合适类型、具有运算能力的处理器的电子设备中执行,例如台式计算机、智能手机、平板电脑或机器人等。其中,本发明实施例的机器人可以被构造成任何合适形状,以便实现特定业务功能操作,例如,本发明实施例机器人可以为清洁机器人、宠物机器人、搬运机器人、看护机器人等等。其中,清洁机器人包括且不限于扫地机器人、吸尘机器人、拖地机器人或洗地机器人。
本发明实施例的环境地图的处理装置可以作为其中一个软件或者硬件功能单元,独立设置在电子设备,也可以作为整合在处理器中的其中一个功能模块,执行本发明实施例的环境地图的处理方法。
请参阅图1,在一些实施例中,机器人100包括控制器11、环境感测装置12、无线通信模块13、清洁组件14以及驱动组件15。
控制器11作为机器人100的控制核心,可以采用多种路径规划算法控制机器人实施遍历工作。
在一些实施例中,控制器11采用SLAM(simultaneous localization andmapping,即时定位与建图技术)技术,根据环境数据构建地图和定位。控制器11基于被建立好的地图以及机器人的位置,通过全覆盖路径规划算法指示机器人完全遍历一个环境空间。
在一些实施例中,在机器人100遍历时,环境感测装置12获取遍历区域的环境数据,其中,该遍历区域的环境数据可以为整片遍历区域的图像数据或雷达点云数据,亦可以为整片遍历区域中局部遍历区域的图像数据或雷达点云数据。控制单元11根据遍历区域的环境数据生成地图,该地图已指示自移动机器人100需要遍历的区域以及位于遍历区域中的障碍物所在的坐标位置。在其他实施方式中,自移动机器人100也可以通过陀螺仪进行定位、创建地图。
当机器人100每遍历完一个位置或区域后,机器人100基于该地图,标记该位置或区域已被遍历。并且,由于障碍物在地图中是以坐标方式被标记,机器人遍历时,可以根据当前位置对应的坐标点与障碍物涉及的坐标点,判断与障碍物之间的距离,从而实现环绕障碍物作遍历工作。同理,位置或区域已遍历而被标记后,当机器人100下一个位置将会移动至该位置或该区域时,机器人100基于该地图以及该位置或该区域的标记,作出转弯调头或者停止遍历的策略。
在一些实施例中,控制器11可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,控制器11还可以是任何传统处理器、控制器、微控制器或状态机。控制器11也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
环境感测装置12用于采集机器人100的一些运动参数及环境空间各类数据,环境感测装置12包括各类合适传感器,诸如摄像头、惯性测量单元、陀螺仪、磁场计、加速度计或速度计、激光雷达或者声波雷达等等任意一种或几种。
请参阅图2,在一些实施例中,机器人100通过无线通信模块13与外部终端200无线通信,无线通信模块13与控制器11电连接。遍历时,用户通过外部终端200向机器人100发送控制指令,无线通信模块13接收控制指令并向控制器11发送该控制指令,控制器11根据该控制指令控制机器人100完成遍历工作。在一些实施例中,外部终端200包括且不限于智能手机、遥控器、智能平板等等终端。
在一些实施例中,无线通信模块13包括广播接收模块、移动通信模块、无线互联网模块、短距离通信模块和定位信息模块的其中一种或多种的组合。
清洁组件14用于清洁地面,清洁组件14可被配置成任意清洁结构,例如,在一些实施例中,清洁组件14包括清洁电机及辊刷,辊刷的表面设置有清洁部,辊刷通过驱动机构与清洁电机连接,清洁电机与控制器连接,控制器可以向清洁电机发送指令,控制清洁电机驱动辊刷转动,使得其清洁部能够有效地清洁地面。
驱动组件15用于驱动机器人100行进或后退,清洁时,控制器11向驱动组件15发送控制指令,驱动组件15根据控制指令带动清洁组件14完成清洁工作。
在一些实施例中,驱动组件15包括左轮驱动组件和右轮驱动组件。以左轮驱动组件为例,其包括电机、轮驱动机构、左轮,电机的转轴与轮驱动机构连接,左轮与轮驱动机构连接,电机与控制器连接,电机接收控制器11发送的控制指令而转动其转轴,并通过轮驱动机构将扭矩传输至左轮,实现左轮的转动;同时结合右驱动组件,从而驱动机器人100行进或后退。
本发明实施提供一种环境地图的处理方法。请参阅图3a,环境地图的处理方法S300包括:
S31、获取第一环境地图与第二环境地图;
在本实施例中,环境地图由机器人的环境感测装置感测得到,其中,环境感测装置包括摄像头,环境地图可基于摄像头采集的环境图像生成,或者,环境感测装置包括激光雷达,环境地图可基于激光雷达采集的激光点云数据生成。
作业时,机器人控制环境感测装置持续感测周围环境,从而得到不同时刻下的若干帧环境地图。在本实施例中,第一环境地图和第二环境地图为基于同一环境感测装置构建的相邻两帧环境地图,第二环境地图为当前帧环境地图,第一环境地图为上一帧环境地图,例如,机器人在t1时刻得到第一环境地图,在t2时刻得到第二环境地图,其中,t1与t2是相邻两个采集时刻,因此,对于t2时刻而言,第二环境地图为当前帧环境地图,第一环境地图为上一帧环境地图。
可以理解的是,第一环境地图和第二环境地图的尺寸可以相同,亦可以不同,例如,机器人在相同位置下的相同采集角度下,得到第一环境地图和第二环境地图的尺寸可以是相同的,或者,机器人已经将目标区域全部探测完,不会出现新增区域,在后续不同时刻得到的第一环境地图和第二环境地图也可以是相同的。再例如,机器人在不同位置或者在不同采集角度下得到第一环境地图和第二环境地图的尺寸可以是不同的。
还可以理解的是,由于第二环境地图可由第一环境地图扩展得到,因此,第二环境地图的尺寸至少是不会小于第一环境地图的尺寸的。
本文所阐述的尺寸包括环境地图的宽和/或高,本文涉及的尺寸不同包括两者宽不同但高相同、两者宽相同但高不同及两者宽高都不同。
可以理解的是,第一环境地图或第二环境地图可以为栅格地图,亦可以为在栅格地图的基础上作了编码处理的编码地图。
S32、将第二环境地图与第一环境地图进行比对,得到第二环境地图相对第一环境地图的差异编码数据,并将其写入预设文件中以形成差异特征地图。
在本实施例中,机器人可以选择任意合适搜索匹配算法,将第二环境地图与第一环境地图进行比对,以得到差异编码数据。
综上所述,本方法无需上传完整帧环境地图,只需上传差异特征地图,用户终端结合上一帧环境地图和差异特征地图也可以得到完整帧环境地图,相对而言,本方法无需占用较多带宽网络流量,便可以快速上传差异特征地图至用户终端,有利于用户终端及时快速更新环境地图。
在一些实施例中,第一环境地图和第二环境地图分别由第一栅格地图和第二栅格地图转换形成,在步骤S31中,机器人通过环境感测装置采集相邻两帧的第一栅格地图和第二栅格地图,第一栅格地图和第二栅格地图分别按照预设转换方式转换为第一环境地图和第二环境地图,其中,第一环境地图和第二环境地图采用编码字符表示。第一栅格地图和第二栅格地图采用栅格值表示,栅格值的取值范围为0、1和2。
栅格地图由目标区域的环境图像生成,每个栅格地图都由若干栅格组成,由于目标区域的环境比较复杂,为了表达目标区域中各个局部区域的特征,于是,可以根据图像中各个物体的情况,给每个栅格配置相应的栅格状态。栅格状态用于表征图像中此处像素点的情况,由于像素点可以属于已探测到的障碍物的像素,也可以属于已探测到的无障碍物的像素,也可以属于尚未知悉此处状态的像素,因此,栅格状态包括无障碍物状态、有障碍物状态及未知状态,相应的,每个栅格状态都可以被量化表示,例如,栅格的栅格值为0,其表示无障碍物状态。栅格值为1,其表示有障碍物状态。栅格值为2,其表示未知状态。可以理解的是,本领域技术人员可以根据业务规则需要,自行定义栅格的栅格状态及为每个栅格状态配置任意合适的栅格值,例如,栅格值为3,其表示低矮障碍物状态。
机器人根据栅格地图生成环境地图时,首先,根据预设编码方式,依序组合至少两个相邻栅格值,得到若干个组合码。其次,根据预设映射关系,依序将每个组合码映射为对应的编码字符,得到环境地图。相较于所述第一栅格地图和所述第二栅格地图利用栅格值记录环境信息,所述第一环境地图和所述第二环境地图中利用编码字符记录环境信息,所需的编码字符的数量更少,使得地图数据量更小更为直观,便于将所述第一环境地图和所述第二环境地图进行快速比对,最终等到的差异特征地图的数据量更少,便于传输和存储。
在一些实施例中,预设编码方式包括水平编码方式、垂直编码方式或正方形编码方式,在本文中,定义:在水平编码方式中,最左列为最高有效位MSB,最右列为最低有效位LSB。在垂直编码方式中,最高行为最高有效位MSB,最低行为最低有效位LSB。在正方形编码方式中,最左列最上行为最高有效位MSB,最右列最下行为最低有效位LSB。可以理解的是,上述各个编码方式中,MSB和LSB可以由用户根据业务规则自行定义,并不局限于上文提供的。
在一些实施例中,机器人可以组合两个相邻栅格值,亦可以组合3个相邻栅格值、4个相邻栅格值……P个相邻栅格值。机器人每组合一组至少两个相邻栅格值,便可以得到一个组合码,组合完当前至少两个相邻栅格值,再依序继续组合下一组的至少两个相邻栅格值,例如,在第1行中,栅格1至栅格12的栅格值分别为0012 0112 0221。机器人按照水平编码方式,先组合“0012”,得到一个组合码。接着,再组合“0112”,来得到另一个组合码。接着,再组合“0221”,得到另一个组合码。
在水平编码方式中,每个组合码由栅格地图中同一行的N个相邻栅格值组成得到。在垂直编码方式中,每个组合码由栅格地图同一列的N个相邻栅格值组成得到。在正方形编码方式中,每个组合码由栅格地图由连续N行N列的栅格值组成,其中,N为大于或等于2的正整数。在本实施方式中,N为2,在实施方式中,N也可以为3、4或5等,可以根据需要自行设置。采用上述任意一种编码方式,可以依序将所述栅格地图中的栅格转换成若干个组合码。
请参阅图3b,每个组合码G由4个相邻栅格值组成得到。采用正方形编码方式时,其在栅格地图的每行中以2个栅格值为步长,与此同时,在对应列中以2个栅格值为步长进行组合,得到组合码G为{0,2,2,1}。采用水平编码方式时,其在栅格地图的每行中,组合相邻4个栅格值,得到组合码G为{0,2,2,1}。采用垂直编码方式时,其在栅格地图的每列中,组合相邻4个栅格值,得到组合码G为{0,2,2,1}。
在一些实施例中,预设映射关系由用户根据业务规则自行定义,在预设映射关系下,每个组合码都有对应的编码字符,例如,组合码“0012”对应十六进制的编码字符“3”,组合码“0112”对应十六进制的编码字符“<”,组合码“0221”对应十六进制的编码字符“G”。
在一些实施例中,环境地图中的编码字符的取值范围为0x2e-0x7e。编码字符可以为任意合适编码协议下的编码字符,亦可以为自定义协议下的编码字符,例如,本文的编码字符支持ASCII码编码协议,编码字符为ASCII码,如上所示的编码字符中,组合码“0012”在ASCII编码表中,对应的是十六进制的0x33,“0x33”对应的编码字符为“3”。组合码“0112”对应十六进制为0x3C,“0x3C”对应的编码字符为“<”。组合码“0221”对应十六进制为0x47,“0x47”对应的编码字符为“G”。
一般的,由于第二环境地图可由第一环境地图扩展得到,因此,第二环境地图至少部分尺寸是与第一环境地图相匹配的,通常的,考虑到两帧环境地图的时间间隔不长,第二环境地图中与第一环境地图轮廓对齐的部分,相对第一环境地图而言,是不容易变动的,因此,在其可以只对扩展部分提取差异编码数据。
在一些实施例中,请参阅图3c,步骤S32包括:
S321、判断第二环境地图是否相对第一环境地图增加地图尺寸,若是,跳转至S322,若否,跳转至S324;
S322、确定第二环境地图包括基础区域和扩展区域,其中,基础区域为第二环境地图中与第一环境地图轮廓对齐的部分,扩展区域为第二环境地图中相对第一环境地图扩展的部分;
S323、选择扩展区域的编码数据作为第二环境地图相对第一环境地图的差异编码数据;
S324、确定第二环境地图为与第一环境地图轮廓对齐的基础区域,选择第二环境地图与第一环境地图的差异编码数据,作为第二环境地图相对第一环境地图的差异编码数据。
在本实施例中,举例而言,第一环境地图的宽度为bw,高度为bh。第二环境地图的宽度为cw,高度为ch。由于第二环境地图可由第一环境地图扩展得到,当bw≠cw或者bh≠ch或者bw≠cw且bh≠ch时,可以视为第二环境地图相对第一环境地图增加地图尺寸。若判断到bw=cw且bh=ch,则可以视为第二环境地图并未相对第一环境地图增加地图尺寸。
为了更加全面完整地提取出第二环境地图相对第一环境地图的差异编码数据,在一些实施例中,请参阅图3d,步骤S32还包括步骤S325,在步骤S325中,当判断到第二环境地图相对第一环境地图增加地图尺寸时,机器人还选择基础区域相对第一环境地图的差异编码数据,作为第二环境地图相对第一环境地图的差异编码数据。
机器人可以在第一环境地图的基础上,向左方向和/或右方向和/或顶部方向和/或底部方向扩展得到第二环境地图。因此,在一些实施例中,机器人确定第二环境地图中的扩展区域时,首先,机器人获取预设坐标系,预设坐标系具有第一基准方向和第二基准方向,第一基准方向与第二基准方向相垂直。
其次,机器人计算第二环境地图相对第一环境地图在第一基准方向上的第一扩展区域,和/或,计算第二环境地图相对第一环境地图在第二基准方向上的第二扩展区域,和/或,计算第二环境地图相对第一环境地图在与第一基准方向相反方向上的第三扩展区域,和/或,计算第二环境地图相对第一环境地图在与第二基准方向相反方向上的第四扩展区域。
举例而言,请参阅图4,第一环境地图的宽度为bw,高度为bh。第二环境地图的宽度为cw,高度为ch。第一基准方向为正X轴所在的方向,第二基准方向为正Y轴所在的方向,与第一基准方向相反的方向为负X轴所在的方向,与第二基准方向相反的方向为负Y轴所在的方向。第一扩展区域ΔS1的宽度drw,第二扩展区域ΔS2宽度为dth,第三扩展区域ΔS3的宽度为dlw,第四扩展区域ΔS4的宽度为dbh。由于第一环境地图与第二环境地图的宽度、高度及坐标系都已知,因此可以分别计算第一扩展区域ΔS1、第二扩展区域ΔS2、第三扩展区域ΔS3及第四扩展区域ΔS4中任意一个编码字符所在的坐标。
可以理解的是,机器人既可以将全部扩展区域中每个栅格值或编码字符作为差异编码数据,亦可以结合业务场景禁止将指定栅格值或者指定编码字符作为差异编码数据,亦即忽略指定栅格值或者指定编码字符。
举例而言,环境地图采用编码字符表示,例如采用上述所阐述的编码方式得到的环境地图,在此类环境地图中,一般的,由于栅格状态比较少,例如栅格状态为3种,并且对于室内空间,栅格状态不是无障碍物状态,就是障碍物状态或者未知状态,变化状态比较少,室内空间的障碍物比较固定,因此,在编码文件中,有一些编码字符在编码文件出现的频率远高于其它编码字符,例如编码字符为“~”表示未知状态,在环境地图中出现的频率远高于其它编码字符。
为了尽可能降低环境地图的文件大小,在一些实施例中,可以将编码字符“~”作为指定编码字符,机器人依序逐个搜索扩展区域的每个编码字符,判断当前编码字符是否为指定编码字符,若是,禁止当前编码字符作为差异编码字符,若否,将当前编码字符写入预设文件中。
举例而言,若环境地图中出现指定编码字符“~”,则不将此类指定编码字符“~”写入预设文件,亦即,生成的差异特征地图不包含指定编码字符“~”。若环境地图中的编码字符不是“~”,则写入预设文件中。
因此,机器人在每个扩展区域中,区别化地生成差异编码数据以尽可能降低环境地图的文件大小,但又可以保证差异数据的完整性,请参阅图5a,机器人在每个扩展区域中选择差异编码数据的流程如下,可以理解的是,下文的搜索方向可以选择行搜索方向,亦可以选择列搜索方向,在不同扩展区域,其搜索方向可以相同,亦可以不同,比如,在第一扩展区域与第三扩展区域中,可以选择列搜索方向。在第二扩展区域和第四扩展区域中,可以选择行搜索方向。
下面,本文结合图5a,详细说明在第三扩展区域中提取差异编码数据的过程,在其它扩展区域中提取差异编码数据的原理相同,以此类推。请参阅图5a,机器人选择扩展区域的编码数据作为第二环境地图相对第一环境地图的差异编码数据的过程如下:
S51、按照行搜索方向,判断第i行第j列的编码字符是否为指定编码字符,i和j整数,若否,跳转至S52,若是,跳转至S58;
S52、若否,提取第i行第j列的编码字符作为差异编码数据,执行步骤S53;
S53、判断第j列是否为扩展区域的末列,若是,跳转至S54,若否,跳转至S57;
S54、判断i行是否为扩展区域的末行,若是,跳转至S55,若否,跳转至S56;
S55、结束搜索操作,提取全部差异编码字符;
S56、赋值i=i+1,j=0,返回步骤S51;
S57、赋值j=j+1,返回步骤S51;
S58、禁止第i行第j列的编码字符作为差异编码数据,返回步骤S53。
在本实施例中,采用上述方法可以提取扩展区域的差异编码数据。
为了保证差异编码数据能够准确还原环境地图的信息,又能够尽量降低文件大小,本方法还需要记录差异编码字符及差异编码字符的坐标数据,因此,在一些实施例中,差异编码数据包括坐标数据和对应坐标数据的差异编码字符,请参阅图5b,将差异编码数据写入预设文件中以形成差异特征地图的步骤包括:
S326、根据预设数值变换方式,将坐标数据映射成位置编码字符;
S327、将与坐标数据对应的预设标记符、差异编码字符和位置编码字符映射于差异特征地图。
一般的,编码字符的数量是有限制的,例如,编码字符为ASCII码,编码字符的取值范围为0x2e-0x7e,一个字节最多能够表达81种,一个编码字符可以表示一行或一列,若差异编码字符所在的行或列大于或等于81时,一个字节无法有效地表达出差异编码字符的坐标数据。因此,本方法可以开辟多个字节来表达超过行号或列号大于或等于81时的坐标数据。然而,为了方便后期解码还原回栅格地图时,用户终端或者其它设备需要知悉当前差异编码字符的行号或列号占据一个字节还是两个以上字节,因此,在生成差异特征地图时,写下位置编码字符和差异编码字符的同时,还需要写下与坐标数据对应的预设标记符。
在一些实施例中,坐标数据包括行坐标和列坐标,位置编码字符包括行坐标编码字符和列坐标编码字符,机器人根据预设数值变换方式,将坐标数据映射成位置编码字符时,判断行坐标是否满足编码字符对应的编码取值范围,以及列坐标是否满足编码字符对应的编码取值范围,例如,编码取值范围为0x2e-0x7e。
若判断行坐标满足编码字符对应的编码取值范围,则选择第一预设数值变换方式,将行坐标转换为行坐标编码字符,第一预设数值变换方式为X+0x2e=Y,X为行坐标。例如,行坐标为25,25小于81,则满足编码字符对应的编码取值范围,X=25的十六进制=0x19,因此Y=0x19+0x2e=0x47,“0x47”在ASCII中的对应的编码字符为“G”。
若判断行坐标不满足编码字符对应的编码取值范围,则选择第二预设数值变换方式:将行坐标转换为多个行坐标字符,多个行坐标对应的编码数值均满足编码字符对应的编码取值范围,多个行坐标对应的编码数值与行坐标呈预设函数关系,第二预设数值变换方式为:L0=len/81+0x2e,L1=len%81+0x2e,len为行坐标。例如,行坐标为150,150大于81,为了使用两个字节存储150,首先,将150除以81,取商和余数,商为1,余数为69,将商1转换为编码字符“/”,将余数转换为编码字符“s”。
同理可得,若判断列坐标满足编码字符对应的编码取值范围,则选择第一预设数值变换方式,将列坐标转换为列坐标编码字符;若判断列坐标不满足编码字符对应的编码取值范围,则选择第二预设数值变换方式:将列坐标转换为多个列坐标字符,多个列坐标对应的编码数值均满足编码字符对应的编码取值范围,多个列坐标对应的编码数值与列坐标呈预设函数关系。
在一些实施例中,将与坐标数据对应的预设标记符、差异编码字符和位置编码字符映射于差异特征地图时,考虑到行号或列号可能超过一个字节所能够表示的编码字符数量阈值,因此,当行号和/列号小于编码字符数量阈值时,开辟一个字节进行存储,若大于或等于,开辟两个字节进行存储。
举例而言,按照列搜索方向,在所搜索的列号都小于81的前提下:
当差异编码字符的行号小于81,在预设文件的当前位置写入预设标记字符“-”,接下来的第二个字节、第三个字节分别写列坐标编码字符和行坐标编码字符,第四个字节写入当前差异编码字符。
当差异编码字符的行号大于或等于81,在预设文件的当前位置写入预设标记字符“%”,接下来的第二个字节写入列坐标编码字符,第三个字节、第四两个字节分别写行坐标编码字符,第五个字节写入当前差异编码字符。
再举例而言,按照列搜索方向,在所搜索的列号出现大于或等于81的前提下:
当差异编码字符的行号小于81,在预设文件的当前位置写预设标记字符“+”,第二个字节、第三个字节写入列坐标编码字符,第四个字节写行坐标编码字符,第五个字节写当前差异编码字符。
当差异编码字符的行号大于或等于81,在预设文件的当前位置写预设标记字符“!”,第二个字节、第三个字节写列坐标编码字符,第四个字节、第五个字节写行坐标编码字符,第六个字节写当前差异编码字符。
因此,在本实施例中,机器人可以将每个差异编码数据的坐标编码字符和对应坐标数据的差异编码字符一个一个地写入预设文件中,以生成差异特征地图,亦可以将连续出现的差异编码字符通过一定规则变换,简要地写入预设文件中。
可以理解的是,“连续出现”的含义可以定义为差异编码字符连续出现M次以上,亦即,按照搜索方向,相邻两个差异编码字符的行号或列号的差值为1。其中,M可以为2、3或其它数值。
可以理解的是,在连续出现的差异编码字符中,每相邻两个的差异编码字符可以相同,亦可以不同。
为了进一步降低文件大小,在一些实施例中,机器人将差异编码数据写入预设文件中以形成差异特征地图时,请参阅图5c,步骤S32包括:
S328、在第二环境地图的同一第N行/列中,当连续比对到差异编码字符时,则确定与差异编码字符连续次数对应的长度编码字符;
S329、根据N行/列和差异编码字符在预设文件查找与长度编码字符对应的存储位置,将长度编码字符更新存储位置,其中,N为大于或等于0的整数。
举例而言,在已写下第一差异编码字符的坐标编码字符及实际编码字符下,在相同行/列中,当连续比对到差异编码字符时,在第二差异编码字符的目标存储位置写入连续标记字符,在邻接目标存储位置的后面存储位置依序写入连续出现次数对应的长度编码字符及第二差异编码字符,并将以后差异编码字符依序写在所述第二差异编码字符之后,并更新连续出现次数对应的长度编码字符。
再举例而言,按照列搜索方向,在第1列第3行中,当机器人第一次比对到差异编码字符时,机器人在第一字节写入第一差异编码字符的行坐标编码字符,第二个字节写入列坐标编码字符,第三个字节写入第一差异编码字符。
接着,当机器人在第1列第4行中,机器人第二次比对到第二差异编码字符,于是,机器人在第二差异编码字符的当前存储位置写入连续标记字符“'”,再在下两个字节写入连续出现次数2对应的长度编码字符,再在接着长度编码字符后面的存储位置写入第二差异编码字符。
再接着,当机器人在第1列第5行中,机器人第三次比对到第三差异编码字符,于是,机器人在与长度编码字符对应的存储位置中更新长度编码字符为连续出现次数3对应的编码字符,并在第二差异编码字符后面的存储位置写入第三差异编码字符,以此类推。
在一些实施例中,当未连续比对到差异编码字符时,在当前差异编码字符的存储位置写入当前差异编码字符与上一个差异编码字符的行号差值/列号差值的差值编码字符,并在差值编码字符的后面存储位置存储当前差异编码字符。
举例而言,当机器人在第1列第6行、第7行、第8行、第9行中,机器人比对到编码字符都属于指定编码字符“~”,机器人都未将第1列第6行、第7行、第8行、第9行的编码字符写入预设文件中。
当机器人在第1列第10行中,第三次比对到第三差异编码字符时,于是,机器人在当前差异编码字符的存储位置写入“5”对应的差值编码字符,并在“5”的差值编码字符的后面存储位置存储当前差异编码字符。
可以理解的是,本文所涉及的差异编码字符、长度编码字符、标记字符的存储顺序可以灵活调整,上文提供的只是一种示意性实施例,并不对本发明的保护范围构成任何限定。
在一些实施例中,存储位置的存储容量为一个字节,差异编码字符的存储位置在长度编码字符的存储位置之后,机器人将长度编码字符更新存储位置时,当连续出现次数累计大于或等于一个字节能够表示字符的数量阈值时,将差异编码字符的存储位置后退一个字节进行存储,从长度编码字符的存储位置开始写入连续出现次数对应的编码字符。
举例而言,当连续出现次数累计大于或等于一个字节能够表示字符的数量阈值时,使用另一个连续标记字符替代原有连续标记字符,在邻接第二差异编码字符的存储位置的后面两个存储位置写入连续出现次数对应的长度编码字符,并将排列在第二差异编码字符之后的编码字符后退一个字节进行存储。
再举例而言,当连续出现次数累计大于或等于81时,使用“”(空格)作为另一个连续标记字符替代原有连续标记字符“'”,并且使用两个字节来记录长度编码字符,并排列在第二差异编码字符之后的编码字符后退一个字节进行存储。
因此,采用本方法,其能够进一步降低环境地图的文件大小,大大降低传输环境地图所占用的带宽网络资源。
机器人将差异编码字符写入预设文件中以形成差异特征地图之后,在一些实施例中,请参阅图5d,环境地图的处理方法S300还包括步骤S33,在步骤S33中,机器人按照预设周期将差异特征地图发送至目标终端,以使目标终端按照差异特征地图更新地图,因此,用户便可以在目标终端随时查看机器人探测到地图和作业规划。在一些实施例中,目标终端包括手机、电脑或服务器等终端。
需要说明的是,在上述各个实施方式中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施方式的描述可以理解,不同实施方式中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
作为本发明实施方式的另一方面,本发明实施方式提供一种环境地图的处理装置。其中,环境地图的处理装置可以为软件模块,所述软件模块包括若干指令,其存储在存储器内,处理器可以访问该存储器,调用指令进行执行,以完成上述各个实施方式所阐述的刀具状态监控方法。
在一些实施方式中,环境地图的处理装置亦可以由硬件器件搭建成的,例如,环境地图的处理装置可以由一个或两个以上的芯片搭建而成,各个芯片可以互相协调工作,以完成上述各个实施方式所阐述的环境地图的处理方法。再例如,环境地图的处理装置还可以由各类逻辑器件搭建而成,诸如由通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合而搭建成。
请参阅图6,环境地图的处理装置600包括地图获取模块61与地图比对模块62,地图获取模块61用于获取第一环境地图与第二环境地图,其中,所述第一环境地图和所述第二环境地图为基于同一环境感测装置构建的相邻两帧环境地图,所述第二环境地图为当前帧环境地图,所述第一环境地图为上一帧环境地图;地图比对模块62用于将所述第二环境地图与所述第一环境地图进行比对,得到所述第二环境地图相对所述第一环境地图的差异编码数据,并将其写入预设文件中以形成差异特征地图。
因此,本装置无需上传完整帧环境地图,只需上传差异特征地图,用户终端结合上一帧环境地图和差异特征地图也可以得到完整帧环境地图,相对而言,本装置无需占用较多带宽网络流量,便可以快速上传差异特征地图至用户终端,有利于用户终端及时快速更新环境地图。
在一些实施例中,地图比对模块62用于判断所述第二环境地图是否相对所述第一环境地图增加地图尺寸;若判断为是,则确定所述第二环境地图包括基础区域和扩展区域,其中,所述基础区域为所述第二环境地图中与所述第一环境地图轮廓对齐的部分,所述扩展区域为所述第二环境地图中相对所述第一环境地图扩展的部分;选择所述扩展区域的编码数据作为所述第二环境地图相对所述第一环境地图的差异编码数据。
在一些实施例中,地图比对模块62用于若判断为是,还选择所述基础区域相对所述第一环境地图的差异编码数据,作为所述第二环境地图相对所述第一环境地图的差异编码数据。
在一些实施例中,地图比对模块62用于若判断为否,则确定所述第二环境地图为与所述第一环境地图轮廓对齐的基础区域,选择所述第二环境地图与所述第一环境地图的差异编码数据,作为所述第二环境地图相对所述第一环境地图的差异编码数据。
在一些实施例中,地图比对模块62具体用于获取预设坐标系,所述预设坐标系具有第一基准方向和第二基准方向,所述第一基准方向与所述第二基准方向相垂直;计算所述第二环境地图相对所述第一环境地图在第一基准方向上的第一扩展区域,和/或,计算所述第二环境地图相对所述第一环境地图在第二基准方向上的第二扩展区域,和/或,计算所述第二环境地图相对所述第一环境地图在与第一基准方向相反方向上的第三扩展区域,和/或,计算所述第二环境地图相对所述第一环境地图在与第二基准方向相反方向上的第四扩展区域。
在一些实施例中,地图比对模块62具体用于根据预设数值变换方式,将所述坐标数据映射成位置编码字符;将与所述坐标数据对应的预设标记符、所述差异编码字符和位置编码字符映射于所述差异特征地图。
在一些实施例中,地图比对模块62具体用于在所述第二环境地图的同一第N行/列中,当连续比对到差异编码字符时,则确定与所述差异编码字符的连续出现次数对应的长度编码字符,根据所述N行/列和所述差异编码字符在所述预设文件查找与所述长度编码字符对应的存储位置,将长度编码字符更新所述存储位置中,其中,N为大于或等于0的整数。
在一些实施例中,所述存储位置的存储容量为一个字节,所述差异编码字符的存储位置在所述长度编码字符的存储位置之后,在一些实施例中,地图比对模块62具体用于当连续出现次数累计大于或等于一个所述字节能够表示字符的数量阈值时,将所述差异编码字符的存储位置后退一个字节进行存储,从所述长度编码字符的存储位置开始写入连续出现次数对应的编码字符。
在一些实施例中,所述编码字符为ASCII码,所述编码字符的取值范围为0x2e-0x7e。
在一些实施例中,请继续参阅图6,所述装置还包括地图发送模块63,地图发送模块63用于按照预设周期将所述差异特征地图发送至目标终端,以使所述目标终端按照所述差异特征地图更新地图。
在一些实施例中,地图获取模块61用于通过所述环境感测装置采集相邻两帧的第一栅格地图和第二栅格地图;所述第一栅格地图和所述第二栅格地图分别按照预设转换方式转换为所述第一环境地图和所述第二环境地图,其中,所述第一环境地图和所述第二环境地图采用编码字符表示,所述编码字符的取值范围为0x2e-0x7e,所述第一栅格地图和所述第二栅格地图采用栅格值表示,所述栅格值的取值范围为0、1和2。
需要说明的是,上述环境地图的处理装置可执行本发明实施方式所提供的环境地图的处理方法,具备执行方法相应的功能模块和有益效果。未在环境地图的处理装置实施方式中详尽描述的技术细节,可参见本发明实施方式所提供的环境地图的处理方法。
请参阅图7,图7是本发明实施例提供的一种电子设备的电路结构示意图,其中,电子设备可以为任意合适类型的设备或电子产品。如图7所示,电子设备700包括一个或多个处理器71以及存储器72。其中,图7中以一个处理器71为例。
处理器71和存储器72可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器72作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的环境地图的处理方法对应的程序指令/模块。处理器71通过运行存储在存储器72中的非易失性软件程序、指令以及模块,从而执行环境地图的处理装置的各种功能应用以及数据处理,即实现上述方法实施例提供的环境地图的处理方法以及上述装置实施例的各个模块或单元的功能。
存储器72可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器72可选包括相对于处理器71远程设置的存储器,这些远程存储器可以通过网络连接至处理器71。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器72中,当被所述一个或者多个处理器71执行时,执行上述任意方法实施例中的环境地图的处理方法。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图7中的一个处理器71,可使得上述一个或多个处理器可执行上述任意方法实施例中的环境地图的处理方法。
本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使所述电子设备执行任一项所述的环境地图的处理方法。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种环境地图的处理方法,其特征在于,包括:
获取第一环境地图与第二环境地图,其中,所述第一环境地图和所述第二环境地图为基于同一环境感测装置构建的相邻两帧环境地图,所述第二环境地图为当前帧环境地图,所述第一环境地图为上一帧环境地图;
将所述第二环境地图与所述第一环境地图进行比对,得到所述第二环境地图相对所述第一环境地图的差异编码数据,并将其写入预设文件中以形成差异特征地图,其中,所述将所述第二环境地图与所述第一环境地图进行比对,得到所述第二环境地图相对所述第一环境地图的差异编码数据,包括:
判断所述第二环境地图是否相对所述第一环境地图增加地图尺寸;
若判断为是,则确定所述第二环境地图包括基础区域和扩展区域,其中,所述基础区域为所述第二环境地图中与所述第一环境地图轮廓对齐的部分,所述扩展区域为所述第二环境地图中相对所述第一环境地图扩展的部分;选择所述扩展区域的编码数据作为所述第二环境地图相对所述第一环境地图的差异编码数据。
2.根据权利要求1所述的方法,其特征在于,所述判断所述第二环境地图是否相对所述第一环境地图增加地图尺寸的步骤后,还包括:
若判断为是,还选择所述基础区域相对所述第一环境地图的差异编码数据,作为所述第二环境地图相对所述第一环境地图的差异编码数据。
3.根据权利要求1所述的方法,其特征在于,所述判断所述第二环境地图是否相对所述第一环境地图增加地图尺寸的步骤后,还包括:
若判断为否,则确定所述第二环境地图为与所述第一环境地图轮廓对齐的基础区域,选择所述第二环境地图与所述第一环境地图的差异编码数据,作为所述第二环境地图相对所述第一环境地图的差异编码数据。
4.根据权利要求1所述的方法,其特征在于,所述确定所述第二环境地图中的扩展区域,包括:
获取预设坐标系,所述预设坐标系具有第一基准方向和第二基准方向,所述第一基准方向与所述第二基准方向相垂直;
计算所述第二环境地图相对所述第一环境地图在第一基准方向上的第一扩展区域,和/或,
计算所述第二环境地图相对所述第一环境地图在第二基准方向上的第二扩展区域,和/或,
计算所述第二环境地图相对所述第一环境地图在与第一基准方向相反方向上的第三扩展区域,和/或,
计算所述第二环境地图相对所述第一环境地图在与第二基准方向相反方向上的第四扩展区域。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述差异编码数据包括坐标数据和对应所述坐标数据的差异编码字符,所述将其写入预设文件中以形成差异特征地图,包括:
根据预设数值变换方式,将所述坐标数据映射成位置编码字符;
将与所述坐标数据对应的预设标记符、所述差异编码字符和位置编码字符映射于所述差异特征地图。
6.根据权利要求1至4任意一项所述的方法,其特征在于,所述将所述第二环境地图与所述第一环境地图进行比对,得到所述第二环境地图相对所述第一环境地图的差异编码数据,并将其写入预设文件中以形成差异特征地图包括:
在所述第二环境地图的同一第N行/列中,当连续比对到差异编码字符时,则确定与所述差异编码字符的连续出现次数对应的长度编码字符,根据所述N行/列和所述差异编码字符在所述预设文件查找与所述长度编码字符对应的存储位置,将长度编码字符更新所述存储位置中,其中,N为大于或等于0的整数。
7.根据权利要求6所述的方法,其特征在于,所述存储位置的存储容量为一个字节,所述差异编码字符的存储位置在所述长度编码字符的存储位置之后,所述将长度编码字符更新所述存储位置包括:
当连续出现次数累计大于或等于一个所述字节能够表示字符的数量阈值时,将所述差异编码字符的存储位置后退一个字节进行存储,从所述长度编码字符的存储位置开始写入连续出现次数对应的长度编码字符。
8.根据权利要求1至4任一项所述的方法,其特征在于,所述编码字符为ASCII码,所述编码字符的取值范围为0x2e-0x7e。
9.根据权利要求1至4任一项所述的方法,其特征在于,所述并将其写入预设文件中以形成差异特征地图的步骤之后,所述方法还包括:按照预设周期将所述差异特征地图发送至目标终端,以使所述目标终端按照所述差异特征地图更新地图。
10.根据权利要求1至4任一项所述的方法,其特征在于,所述第一环境地图和所述第二环境地图分别由第一栅格地图和第二栅格地图转换形成,所述获取第一环境地图与第二环境地图包括:
通过所述环境感测装置采集相邻两帧的第一栅格地图和第二栅格地图;
所述第一栅格地图和所述第二栅格地图分别按照预设转换方式转换为所述第一环境地图和所述第二环境地图,其中,所述第一环境地图和所述第二环境地图采用编码字符表示,所述编码字符的取值范围为0x2e-0x7e,所述第一栅格地图和所述第二栅格地图采用栅格值表示,所述栅格值的取值范围为0、1和2。
11.一种环境地图的处理装置,其特征在于,包括:
地图获取模块,用于获取第一环境地图与第二环境地图,其中,所述第一环境地图和所述第二环境地图为基于同一环境感测装置构建的相邻两帧环境地图,所述第二环境地图为当前帧环境地图,所述第一环境地图为上一帧环境地图;
地图比对模块,用于将所述第二环境地图与所述第一环境地图进行比对,得到所述第二环境地图相对所述第一环境地图的差异编码数据,并将其写入预设文件中以形成差异特征地图,其中,所述地图比对模块具体用于:判断所述第二环境地图是否相对所述第一环境地图增加地图尺寸;若判断为是,则确定所述第二环境地图包括基础区域和扩展区域,其中,所述基础区域为所述第二环境地图中与所述第一环境地图轮廓对齐的部分,所述扩展区域为所述第二环境地图中相对所述第一环境地图扩展的部分;选择所述扩展区域的编码数据作为所述第二环境地图相对所述第一环境地图的差异编码数据。
12.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至10任一项所述的环境地图的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011126899.3A CN112515556B (zh) | 2020-10-20 | 2020-10-20 | 一种环境地图的处理方法及其装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011126899.3A CN112515556B (zh) | 2020-10-20 | 2020-10-20 | 一种环境地图的处理方法及其装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112515556A CN112515556A (zh) | 2021-03-19 |
CN112515556B true CN112515556B (zh) | 2022-02-18 |
Family
ID=74979179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011126899.3A Active CN112515556B (zh) | 2020-10-20 | 2020-10-20 | 一种环境地图的处理方法及其装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112515556B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112926514A (zh) * | 2021-03-26 | 2021-06-08 | 哈尔滨工业大学(威海) | 一种多目标检测及跟踪方法、系统、存储介质及应用 |
CN113449058B (zh) * | 2021-06-25 | 2023-06-02 | 安克创新科技股份有限公司 | 一种地图数据传输方法、清洁机器人及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933056A (zh) * | 2017-12-18 | 2019-06-25 | 九阳股份有限公司 | 一种基于slam的机器人导航方法以及机器人 |
CN111426312A (zh) * | 2020-03-31 | 2020-07-17 | 上海擎朗智能科技有限公司 | 定位地图的更新方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4711994B2 (ja) * | 2007-03-30 | 2011-06-29 | アイシン・エィ・ダブリュ株式会社 | ナビゲーション装置及びその地図データ更新方法 |
JP5452442B2 (ja) * | 2010-10-25 | 2014-03-26 | 株式会社日立製作所 | ロボットシステム及び地図更新方法 |
JP6571102B2 (ja) * | 2014-10-29 | 2019-09-04 | 株式会社トヨタマップマスター | 地図更新システム、ナビゲーション装置、サーバ装置、地図更新方法、ナビゲーション方法、サーバ装置の制御方法、コンピュータプログラム、コンピュータプログラムを記録した記録媒体 |
CN105116785B (zh) * | 2015-06-26 | 2018-08-24 | 北京航空航天大学 | 一种多平台远程机器人通用控制系统 |
CN107291879B (zh) * | 2017-06-19 | 2020-04-28 | 中国人民解放军国防科学技术大学 | 一种虚拟现实系统中三维环境地图的可视化方法 |
CN111339228B (zh) * | 2020-02-18 | 2023-08-11 | Oppo广东移动通信有限公司 | 一种地图更新方法、设备、云服务器和存储介质 |
-
2020
- 2020-10-20 CN CN202011126899.3A patent/CN112515556B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933056A (zh) * | 2017-12-18 | 2019-06-25 | 九阳股份有限公司 | 一种基于slam的机器人导航方法以及机器人 |
CN111426312A (zh) * | 2020-03-31 | 2020-07-17 | 上海擎朗智能科技有限公司 | 定位地图的更新方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112515556A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107160395B (zh) | 地图构建方法及机器人控制系统 | |
US11086016B2 (en) | Method and apparatus for tracking obstacle | |
CN111700546B (zh) | 一种移动机器人的清扫方法及移动机器人 | |
CN112515556B (zh) | 一种环境地图的处理方法及其装置、电子设备 | |
CN110786783B (zh) | 清洁机器人的清洁方法及清洁机器人 | |
CN107677279A (zh) | 一种定位建图的方法及系统 | |
KR20210116576A (ko) | 시각적 로봇 기반의 과거 지도 이용 방법 | |
CN112075879A (zh) | 一种信息处理方法、装置及存储介质 | |
CN111152266B (zh) | 一种清洁机器人的控制方法及系统 | |
CN113455965B (zh) | 清洁机器人控制方法、装置、介质和清洁机器人 | |
CN112526985B (zh) | 一种行走禁区规划方法及其装置、自移动机器人 | |
CN113674351B (zh) | 一种机器人的建图方法及机器人 | |
CN114089752A (zh) | 机器人的自主探索方法、机器人及计算机可读存储介质 | |
CN112084853B (zh) | 一种脚印预测方法、脚印预测装置及人形机器人 | |
CN109528095B (zh) | 扫地记录图的校准方法、扫地机器人及移动终端 | |
CN112486182B (zh) | 一种实现未知环境地图构建与路径规划的扫地机器人及其使用方法 | |
CN112750180A (zh) | 一种地图优化方法及清洁机器人 | |
CN112527929B (zh) | 一种栅格地图编码方法及其装置、电子设备 | |
CN112515565B (zh) | 一种清洁分区相邻判断方法及清洁机器人 | |
CN109389677B (zh) | 房屋三维实景地图的实时构建方法、系统、装置及存储介质 | |
CN114577216A (zh) | 导航地图构建方法、装置、机器人及存储介质 | |
CN114862953A (zh) | 一种基于视觉特征和3d激光的移动机器人重定位方法及装置 | |
KR20220071112A (ko) | 자율 주행을 위한 지도 생성 및 관리 방법 그리고 이를 이용한 위치 인식 방법 및 장치 | |
CN112904365A (zh) | 地图的更新方法及装置 | |
CN116182840B (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 | ||
CP03 | Change of name, title or address |
Address after: 518110 1701, building 2, Yinxing Zhijie, No. 1301-72, sightseeing Road, Xinlan community, Guanlan street, Longhua District, Shenzhen, Guangdong Province Patentee after: Shenzhen Yinxing Intelligent Group Co.,Ltd. Address before: 518110 Building A1, Yinxing Hi-tech Industrial Park, Guanlan Street Sightseeing Road, Longhua District, Shenzhen City, Guangdong Province Patentee before: Shenzhen Silver Star Intelligent Technology Co.,Ltd. |
|
CP03 | Change of name, title or address |