首页 / 专利库 / 人工智能 / 人工智能 / 机器人技术 / 机器人 / 地图处理方法、移动机器人及计算机可读存储介质

地图处理方法、移动机器人及计算机可读存储介质

阅读:583发布:2020-05-08

专利汇可以提供地图处理方法、移动机器人及计算机可读存储介质专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种地图处理方法、 电子 装置及计算机可读存储介质。所述方法从地图中提取障碍物图像信息存入第一地图图像,以及提取非障碍物图像信息存入第二地图图像;遍历地获取第二地图图像中每个非障碍物轮廓点在所述第一地图图像中的对应 位置 的预设搜索间距内最近的所述障碍物的位置点作为障碍物轮廓位置点,并将其添加到输出地图中,可以进一步对对障碍物轮廓的做二次确认,使得地图更加准确;输出的地图图像中障碍物和非障碍物区域互相贴近,且障碍物只保留与非障碍物区域贴近的障碍物边界,使得地图更加简洁,线条更加平滑。,下面是地图处理方法、移动机器人及计算机可读存储介质专利的具体信息内容。

1.一种地图处理方法,其特征在于,包括:
获取地图信息;
根据预设的提取规则,从所述地图信息中提取障碍物图像信息存入第一地图图像,以及从所述地图信息中提取非障碍物图像信息存入第二地图图像;
从所述第二地图图像中获取多个非障碍物轮廓的集合;
遍历所述集合的每个非障碍物轮廓的每个非障碍物轮廓点在所述第一地图图像中的对应位置的邻近的预设搜索间距内存在的障碍物,并确定所述集合对应的障碍物轮廓位置点;
对所述集合对应的障碍物轮廓位置点进行拟合,以得到障碍物轮廓;
根据多个所述非障碍物轮廓以及所述障碍物轮廓,计算得到输出地图图像。
2.如权利要求1所述的地图处理方法,其特征在于,所述遍历所述集合的每个非障碍物轮廓的每个非障碍物轮廓点在所述第一地图图像中的对应位置的邻近的预设搜索间距内存在的障碍物,并确定所述集合对应的障碍物轮廓位置点,包括:
在一个非障碍物轮廓点在所述第一地图图像中的对应位置的邻近的预设搜索间距内存在所述障碍物时,将距离所述一个非障碍物轮廓点的最近的障碍物的位置点确定为所述一个非障碍物轮廓点对应的障碍物轮廓位置点。
3.如权利要求1所述的地图处理方法,其特征在于,所述根据预设的提取规则,从所述地图信息中提取障碍物图像信息存入第一地图图像之后,还包括:
对所述第一地图图像中的障碍物图像信息做闭运算,以得到代表障碍物图像轮廓的连续闭合区域。
4.如权利要求1所述的地图处理方法,其特征在于,所述根据预设的提取规则,从所述地图信息中提取非障碍物图像信息存入第二地图图像之后,所述方法还包括:
对所述第二地图图像做滤波处理确定多个区域;
对所述多个区域中符合第一预设条件的区域填充,得到填充的区域,其中,所述第一预设条件的区域包括:孤立区域,面积小于或者等于第一面积阈值的区域中一种或者多种的组合;
从所述填充后的区域中删除符合第二预设条件的区域,得到剩余后的区域,其中,所述第二预设条件的区域包括:狭长、孤立、面积小于或者等于第二面积阈值的区域中一种或者多种的组合;
将所述剩余后的区域进行连接得到至少一个连续闭合区域,对所述至少一个连续闭合区域做边缘处理得到处理后的第二地图图像。
5.如权利要求1所述的地图处理方法,其特征在于,所述从所述第二地图图像中获取多个非障碍物轮廓的集合,包括:
从所述第二地图图像中的所述非障碍物图像信息提取多个原始非障碍物轮廓;
判断所述原始非障碍物轮廓的轮廓周长和/或轮廓面积是否达到对应的预设阈值;
将所述轮廓周长和/或轮廓面积达到对应的预设阈值的所述原始非障碍物轮廓,作为所述非障碍物轮廓,并存入所述集合。
6.如权利要求1所述的地图处理方法,其特征在于,所述对所述障碍物轮廓位置点进行拟合,以得到障碍物轮廓包括:
对所述障碍物轮廓位置点按照预设的计算单元进行竖直方向和平方向的直线拟合;
其中,所述计算单元为竖直方向上或者水平方向上预设个数的连续栅格的集合;所述直线拟合的条件包括:相拟合的两条直线的首尾距离小于预设距离阈值;相拟合的两条直线的长度之和大于预设长度阈值。
7.如权利要求3所述的地图处理方法,其特征在于,所述根据所述非障碍物轮廓以及所述障碍物轮廓,计算得到输出地图图像包括:
根据所述非障碍物轮廓、所述障碍物轮廓以及未知区域信息,在所述输出地图图像中将所述障碍物轮廓使用第一值进行标识,将所述非障碍物轮廓围绕形成的非障碍物图像使用第二值进行标识,以及将所述未知区域信息和所述障碍物轮廓围绕的障碍物内部区域使用第三值进行标识。
8.如权利要求1所述的地图处理方法,其特征在于,所述方法还包括步骤:
将所述障碍物轮廓位置点以及所述非障碍物轮廓记录在第三地图中。
9.一种移动机器人,包括存储单元、处理单元及存储在所述存储单元上并可在处理单元上运行的计算机程序,其特征在于,所述处理单元执行所述程序时实现如权利要求1至8任一项所述的地图处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的地图处理方法的步骤。

说明书全文

地图处理方法、移动机器人及计算机可读存储介质

技术领域

[0001] 本发明涉及机器人自动控制领域,具体而言,尤其涉及一种地图处理方法、移动机器人及计算机可读存储介质。

背景技术

[0002] 目前,可移动机器人,例如扫地机器人中,建图与导航是实现其移动功能的关键技术。移动机器人主要依据距离传感器、图像传感器等方式测量的环境信息,构建障碍物地图用于导航,同时将地图能显示到终端,让用户观察其工作状态。在完成建图后,需要对初步建完的地图做进一步处理后才用于显示,简单的阈值化处理使得障碍物不连续、墙壁厚度过大。
[0003] 另外,移动机器人在将地图显示在与移动机器人通信的终端上时,现有技术中会过度修改障碍物的形状,导致显示在终端上的地图表现不美观,具体表现为:一、终端上显示的地图上障碍物过度拟合使得边界歪扭,无法显示直障碍物;
二、通过提取了墙体障碍并滤波和填洞处理,能消除部分因激光误差导致的错误障碍,但得到障碍物厚度过厚,与实际不符。
[0004] 三、现有技术中对轮廓的简单的二值滤波处理导致障碍物变形严重,影响了终端上显示的地图的美观。
[0005] 有鉴于此,有必要提供一种新的应用于移动机器人的地图处理方法,以解决上述技术问题。

发明内容

[0006] 本发明的主要目的在于提供一种地图处理方法,以解决现有的地图构建方法中障碍物不连续,墙壁厚度过大,地图不美观等技术问题。
[0007] 为实现上述目的,本发明提供了一种地图处理方法,包括:获取地图信息;
根据预设的提取规则,从所述地图信息中提取障碍物图像信息存入第一地图图像,以及从所述地图信息中提取非障碍物图像信息存入第二地图图像;
从所述第二地图图像中获取多个非障碍物轮廓的集合;
遍历所述集合的每个非障碍物轮廓的每个非障碍物轮廓点在所述第一地图图像中的对应位置的邻近的预设搜索间距内存在的障碍物,并确定所述集合对应的障碍物轮廓位置点;
对所述集合对应的障碍物轮廓位置点进行拟合,以得到障碍物轮廓;
根据多个所述非障碍物轮廓以及所述障碍物轮廓,计算得到输出地图图像。
[0008] 进一步地,所述遍历所述集合的每个非障碍物轮廓的每个非障碍物轮廓点在所述第一地图图像中的对应位置的邻近的预设搜索间距内存在的障碍物,并确定所述集合对应的障碍物轮廓位置点,包括:在一个非障碍物轮廓点在所述第一地图图像中的对应位置的邻近的预设搜索间距内存在所述障碍物时,将距离所述一个非障碍物轮廓点的最近的障碍物的位置点确定为所述一个非障碍物轮廓点对应的障碍物轮廓位置点。
[0009] 进一步地,所述根据预设的提取规则,从所述地图信息中提取障碍物图像信息存入第一地图图像之后,还包括:对所述第一地图图像中的障碍物图像信息做闭运算,以得到代表障碍物图像轮廓的连续闭合区域。
[0010] 进一步地,所述根据预设的提取规则,从所述地图信息中提取非障碍物图像信息存入第二地图图像之后,还包括:对所述第二地图图像做滤波处理确定多个区域;
对所述多个区域中符合第一预设条件的区域填充,得到填充的区域,其中,所述第一预设条件的区域包括:孤立区域,面积小于或者等于第一面积阈值的区域中一种或者多种的组合;
从所述填充后的区域中删除符合第二预设条件的区域,得到剩余后的区域,其中,所述第二预设条件的区域包括:狭长、孤立、面积小于或者等于第二面积阈值的区域中一种或者多种的组合;
将所述剩余后的区域进行连接得到至少一个连续闭合区域,对所述至少一个连续闭合区域做边缘处理得到处理后的第二地图图像。
[0011] 进一步地,所述从所述第二地图图像中获取多个非障碍物轮廓的集合,包括:从所述第二地图图像中的所述非障碍物图像信息提取多个原始非障碍物轮廓;
判断所述原始非障碍物轮廓的轮廓周长和/或轮廓面积是否达到对应的预设阈值;
将所述轮廓周长和/或轮廓面积达到对应的预设阈值的所述原始非障碍物轮廓,作为所述非障碍物轮廓,并存入所述集合。
[0012] 进一步地,所述对所述障碍物轮廓位置点进行拟合,以得到障碍物轮廓包括:对所述障碍物轮廓位置点按照预设的计算单元进行竖直方向和平方向的直线拟合;
其中,所述计算单元为竖直方向上或者水平方向上预设个数的连续栅格的集合;所述直线拟合的条件包括:相拟合的两条直线的首尾距离小于预设距离阈值;相拟合的两条直线的长度之和大于预设长度阈值。
[0013] 进一步地,所述根据所述非障碍物轮廓以及所述障碍物轮廓,计算得到输出地图图像包括:根据所述非障碍物轮廓、所述障碍物轮廓、以及所述未知区域信息,在所述输出地图图像中将所述障碍物轮廓使用第一值进行标识,将所述非障碍物轮廓围绕形成的非障碍物图像使用第二值进行标识,以及将所述未知区域信息和所述障碍物轮廓围绕的障碍物内部区域使用第三值进行标识。
[0014] 进一步地,所述方法还包括步骤:将所述障碍物轮廓位置点以及所述非障碍物轮廓记录在第三地图中。
[0015] 本发明还提供一种一种移动机器人,包括存储单元、处理单元及存储在所述存储单元上并可在处理单元上运行的计算机程序,所述处理单元执行所述程序时实现上述的地图处理的步骤。
[0016] 本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的地图处理方法。
[0017] 本发明实施例的技术方案,从原始的地图信息中,根据预设的提取规则提取障碍物图像信息存入第一地图图像以及从所述地图信息中提取非障碍物图像信息存入第二地图图像;从所述第二地图图像中获取多个非障碍物轮廓的集合,遍历所述集合的每个非障碍物轮廓的每个非障碍物轮廓点在所述第一地图图像中的对应位置的邻近的预设搜索间距内存在的障碍物,并确定所述集合对应的障碍物轮廓位置点;对所述集合对应的障碍物轮廓位置点进行拟合,以得到障碍物轮廓,然后根据多个所述非障碍物轮廓以及所述障碍物轮廓,计算得到输出地图图像。从而实现把地图转换为非障碍物分布图与障碍物分布图,在非占据区域的非障碍物轮廓上寻找设定邻域在障碍物分布图中的障碍物值,并将其添加到输出地图中;输出的地图图像中障碍物和非障碍物区域互相贴近,且障碍物只保留与非障碍物区域贴近的像素(障碍物边界),使得地图更加简洁,线条更加平滑;同时,在非占据区域的非障碍物轮廓上寻找设定邻域在障碍物分布图中的障碍物值,可以进一步对对障碍物轮廓的做二次确认,使得地图更加准确,更符合实际的探测情况。附图说明
[0018] 图1为本申请一实施例中的移动机器人的结构框图;图2为本申请一实施例中的移动机器人的底部示意图;
图3为本申请一实施例中移动机器人的顶部示意图;
图4为本申请一实施例中的移动机器人的底部另一示意图;
图5为本发明一个实施例中地图处理方法的应用场景图;
图6为现有技术中的一个示例中的移动机器人的地图处理结果显示界面图;
图7为本发明一实施例中地图处理方法的流程图
图8为本发明一实施例中步骤S12的流程示意图;
图9为本发明一实施例中地图处理方法中部分步骤的流程示意图;
图10为本发明一实施例中地图处理方法中步骤S13的流程示意图;
图11为本发明一实施例中的障碍物轮廓点提取方式示意图;
图12为本发明一实施例中步骤S14遍历得到的障碍物轮廓示意图;
图13为本发明一实施例中步骤S15拟合后的得到的障碍物轮廓示意图。

具体实施方式

[0019] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0020] 需要说明的是,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。例如,A“和/或”B,包括:A、B、A和B以及A或B的情况。
[0021] 请参阅图1,图1为本申请一实施例中的移动机器人的结构框图,移动机器人属于自主移动机器人,例如为扫地机器人等,本申请中的移动机器人以扫地机器人为例来说明。另外,在本申请的其他实施例中,移动机器人还可以是实现其他功能的自主移动机器人。如图1所示,所述移动机器人10包括:图像采集单元110、电池单元120、驱动单元130、左轮131、右轮132、导向轮133、清扫单元140、处理单元150、存储单元160以及障碍物检测单元170。
[0022] 图像采集单元110用于采集移动机器人10当前环境的图像。图像采集单元110包括二维摄像头、三维摄像头中的一个或者多个摄像头。例如,一个二维摄像头可以被置于移动机器人10的上表面或者移动机器人10的前部,如图3所示,并且采集移动机器人10前方的图像。
[0023] 再例如,一个三维摄像头被置于移动机器人10的前部,并且采集移动机器人10查看的三维图像,如图3所示。三维图像包括关于从待采集对象到待采集对象的二维图像的距离的信息。可以采用立体相机模或深度传感器模块作为三维摄像头。
[0024] 图像采集单元110可以包括TOF深度传感器、RGB图像传感器或结构光图像传感器中的一个或多个。
[0025] 图像采集单元110可以进一步包括图形处理单元,其根据需要处理采集的图像。如改变摄像头采集的图像的尺寸或分辨率
[0026] 请一并参阅图2,图2为本申请一实施例中的移动机器人的底部示意图,及如图4所示,图4为本申请一实施例中的移动机器人的底部另一示意图。如图2所示,电池单元120包括充电电池、分别与充电电池连接的充电电路及充电电池的电极。充电电池的数量为一个或多个,充电电池可以为移动机器人10提供运行所需的电能。电极可以设置在移动机器人10的机身侧面或者机身底部。电池单元120还可以包括电池参数检测组件,电池参数检测组件用于检测电池参数,例如,电压电流、电池温度等。在移动机器人10的工作模式切换到回充模式时,移动机器人10开始寻找充电桩,并利用充电桩为移动机器人10充电。
[0027] 驱动单元130包括用于施加驱动电机。驱动单元130连接清扫单元140、左轮131、右轮132和导向轮133。在处理单元150的控制下,驱动单元130可以驱动清扫单元140、左轮131、右轮132和导向轮133。或者,驱动单元130包括:清扫驱动单元、左轮驱动单元、右轮驱动单元和导向轮驱动单元,清扫驱动单元与清扫单元140连接,左轮驱动单元与左轮
131连接,右轮驱动单元与右轮132连接,导向轮驱动单元与导向轮133连接。此外,所述驱动单元130还可包括水机驱动单元。
[0028] 左轮131及右轮132(其中左轮、右轮也可以称为行进轮、驱动轮)分别以对称的方式居中地布置在移动机器人10的机器主体的底部的相对侧,且至少部分位于移动机器人10的壳体内,使所述移动机器人10在地面上移动。在执行清洁期间执行包括向前运动、向后运动及旋转的运动操作。导向轮133可设置在机器主体前部或者后部。
[0029] 清扫单元140包括:主刷141、一个或者多个边刷142、水箱组件180。主刷141安装在移动机器人10的机体底部。可选地,主刷141是以滚轮型相对于接触面转动的鼓形转刷。边刷142安装在移动机器人10的底面的前端的左右边缘部分。即,边刷142被大致安装在多个行进轮的前方。边刷142用于清扫主刷141不能清扫的清扫区域。而且,边刷142不仅可以原地旋转,而且可以被安装为向移动机器人10的外部突出,以使得可以扩大移动机器人10清扫的区域。
[0030] 如图4所示,水箱组件180附接在移动机器人10的底盘90上,水箱组件180包括拖布1801及水箱1802。水箱1802用于向地面洒水,拖布1801用于地面的拖地。
[0031] 移动机器人10还包括风机(图未示),风机内置于机体的内部,风机用于产生吸尘所需的风力
[0032] 障碍物检测单元170用于对移动机器人10的周侧环境进行检测,从而发现障碍物、墙面、台阶和用于对移动机器人10进行充电的充电桩等环境物体。障碍物检测单元170还用于向控制模块提供移动机器人10的各种位置信息和运动状态信息。障碍物检测单元170可包括陡壁接近度传感器171(也称悬崖传感器)、超声传感器、红外传感器、磁力计、三轴加速度计、陀螺仪里程计激光雷达传感器LDS、声波传感器、摄像头、霍尔传感器等。本实施例对障碍物检测单元170的个数及所在位置不作限定。
[0033] 处理单元150设置在移动机器人10的机体内的电路板上,可以根据障碍物检测单元170反馈的周围环境物体的信息和预设的定位算法,绘制移动机器人10所处环境的即时地图。处理单元150还可以根据陡壁接近度传感器171、超声传感器、红外传感器、磁力计、加速度计、陀螺仪、里程计等装置反馈的距离信息和速度信息综合判断移动机器人10当前所处的工作状态。处理单元150可以被一个或多个应用专用集成电路(ASIC)、数字信号处理单元150(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程阵列(FPGA)、处理单元150、微处理单元150、微处理单元150或其他电子元件实现。
[0034] 存储单元160用于存储指令和数据,所述数据包括但不限于:地图数据、控制移动机器人10操作时产生的临时数据,如移动机器人10的位置数据、速度数据等等。处理单元150可以读取存储单元160中存储的指令执行相应的功能。存储单元160可以包括随机存取存储单元(Random Access Memory,RAM)和非易失性存储单元(Non-Volatile Memory,NVM)。非易失性存储单元可以包括硬盘驱动器(Hard Disk Drive,HDD),固态硬盘(Solid State Drives,SSD),磁盘驱动器(Silicon disk drive,SDD),只读存储单元(Read-Only Memory,ROM),只读光盘(Compact Disc Read-Only Memory,CD-ROM),磁带,软盘,光数据存储设备等。
[0035] 可以理解的是,在一个或者多个实施例中,移动机器人10还可以包括输入输出单元、位置测量单元、无线通信单元、显示单元等。
[0036] 请参阅图3,图3为本申请一实施例中移动机器人的顶部示意图。其中,图3和图2分别为移动机器人10在两个不同视角的示意图。如图3所示,图像采集单元110设置在移动机器人10的侧面,用于采集前方环境图像。如图2所示,移动机器人10的底部设置有左轮131、右轮132,导向轮133、清扫单元140、电池单元120。用封盖将电池单元120中的充电电池封装在在移动机器人10的内部,防止其掉落。充电电池的电极121和电极122中的一个为正极,另一个为负极。
[0037] 需要说明的是,移动机器人10中的各单元或组件之间的连接关系不限于图1所示的连接关系。例如,处理单元150与其他单元或组件之间可以通过总线连接。
[0038] 需要说明的是,移动机器人10还可以包括其他单元或组件,或者,仅包括上述部分单元或组件,本申请实施例对此不作限定,仅以上述移动机器人10为例进行说明。
[0039] 本申请实施例提供的地图处理方法,可以应用于如图5所示的应用环境中。如图5所示,移动机器人10与终端20相通信。移动机器人10可以是清洁机器人等等。终端20包括但不限于智能手表、智能手机、(智能)电视机或者平板电脑服务器端等。移动机器人10的控制可以借助终端20实现。例如终端20通过网络30与移动机器人10进行无线通信(比如通过基于IEEE 802.11标准或者类似标准的无线网)。终端20上可以显示移动机器人10工作环境的地图。这些地图可以由移动机器人10自行生成并发送给终端20的或者从外部提供。用户可以将移动机器人10的应用区域电子地图显示在一个人机界面(比如平板电脑20,参见图1)上,并借助该地图控制和监视机器人。比如用户可以定义标准工作范围,具体操作方法是(比如):用户通过手动或者自动化方式选择地图中的子范围、将其永久存储并可随时为清洁工作选定所存储子范围。通过机器人在机器人应用区域现有地图中的定位,移动机器人
10还可以在清洁期间和/或清洁完成后,将需清洁范围以及清洁成果显示在人机界面(比如平板电脑20,参见图5)上等等。
[0040] 请参考图6,为现有技术的一个示例中的移动机器人的地图处理结果显示界面图,在现有技术生成的地图中得到的障碍物区域中可以明显的看到,例如墙体A、墙体B、墙体C存在厚度不均匀的情况,墙体的边界有歪扭等等。
[0041] 请参阅图7,在一个实施例中,提供一种地图处理方法,以该方法应用于图1中的应用环境为例进行说明,包括如下步骤:步骤S11,获取地图信息。
[0042] 其中,所地图信息为移动机器人10侦测到的或者录入的原始地图信息。
[0043] 在本实施例中,例如移动机器人10为扫地机器人时,通常会具备激光探测器或者红外探测器。扫地机器人探测外界的障碍物,激光探测信息包括激光探测射线的观测范围以及探测到的外界障碍物到机器人的距离信息,机器人的定位信息为当前机器人的位置信息,采集激光数据同时结合当前的定位信息,能够表示障碍物在栅格地图中的位置,依据激光探测射线的观测范围统计栅格对应单元格的占据信息。其中,占据信息包括当前单元格有障碍物或无障碍物。由于外界环境不一定是静止的,且激光传感器的观测过程存在误差,观测空间中的某一位置的障碍物存在情况不能被恒定地描述,其状态受外界环境,激光传感器以及当前机器人的运动状况影响。因而采用障碍物占据的概率来描述观测空间中的障碍物存在情况,其中一种较为简洁的实施方式是使用占据概率栅格地图描述观测空间,即地图为栅格地图,通过SLAM算法定位机器人位置同时更新观测空间的障碍物状况,可以得到障碍物的占据概率栅格地图。占据概率栅格地图中概率越高的位置是障碍物的可能性越大,通过设定阈值就可以转变为障碍物、非障碍物和未知区域的地图。例如A阈值和B阈值,A阈值大于B阈值,当占据概率大于A阈值时,认为该位置是障碍;当占据概率小于B阈值时,则认为该位置是非障碍;如果占据概率在A阈值到B阈值之间,则认为该位置是未知的。
[0044] 步骤S12,根据预设的提取规则,从所述地图信息中提取障碍物图像信息存入第一地图图像,以及从所述地图信息中提取非障碍物图像信息存入第二地图图像。
[0045] 在一实施例中,地图为栅格地图时,由于根据占据概率栅格地图中占据概率可以代表栅格对应位置的是障碍物、非障碍物还是未知区域。障碍物、非障碍区域是移动机器人10能探测的区域,而未知区域则包含可探测和不可探测区域,一般作为占据概率栅格地图的背景显示。障碍物、非障碍物区域需要分开处理,而未知区域可以是作为是障碍物地图、非障碍物地图的背景值,例如在障碍物地图中,1代表障碍物,0代表未知区域;在非障碍地图中,1代表非障碍物,0代表未知区域。
[0046] 具体的,请一并结合图8,在一具体实施例中,步骤S12可以包括:步骤S121,将所述地图信息中占据概率大于第一阈值的栅格对应的位置信息作为所述障碍物图像信息存入所述第一地图图像;
步骤S122,将所述地图信息中占据概率小于第二阈值的栅格对应的位置信息作为所述非障碍物图像信息存入所述第二地图图像。
[0047] 其中,所述第一阈值大于所述第二阈值。
[0048] 具体的,依据预设第一阈值、第二阈值将地图中的概率值转换为障碍区域、非障碍区域和未知区域第一阈值大于第二阈值,当占据概率大于第一阈值时,认为该位置是障碍,将所述地图信息中占据概率大于第一阈值的栅格对应的位置信息作为所述障碍物图像信息存入所述第一地图图像;当占据概率小于第一阈值且大于第二阈值时,认为该位置是未知区域;当占据概率小于第二阈值时,认为该位置时非障碍区域,将所述地图信息中占据概率小于第二阈值的栅格对应的位置信息作为所述非障碍物图像信息存入所述第二地图图像。在其他的实施例中,占据概率可表示为概率越高是非障碍的可能性越大,此时第一阈值与第二阈值的大小关系及阈值化条件将翻转。
[0049] 在上述实施例中,分别存储在第一地图图像和第二地图图像。将障碍物部分和非障碍物部分分开处理,是为了对两部分分别做不同的滤波运算处理。
[0050] 优选的,在一较佳实施例中,可以对步骤S12之后得到的第一地图图像和第二地图图像做滤波处理,以得到连续、平滑的图像。
[0051] 具体的,在第一地图图像中的障碍物图像中可能存在障碍物断裂的情况,即本应是一个连续的障碍物区域,但在第一地图图像中出现不连续的情况(例如一堵墙被分成两段),可以采用:对所述第一地图图像中的障碍物图像信息做闭运算,以得到代表障碍物图像轮廓的连续闭合区域。
[0052] 具体的,由于移动机器人10所构建的初始地图存在噪声,在对地图信息做了阈值化处理后原本连续且闭合的非障碍物区域可能分裂成多个不规整的区域,或者较小的区域、孤立区域等等,而为了得到规整的连续闭合区域,针对非障碍物图像,可以采用:对所述第二地图中的非障碍物图像信息做图像滤波处理和/或边缘处理,以获得规整的代表非障碍物图像轮廓的连续闭合区域。所述图像滤波处理包括但不限于:图像的膨胀、腐蚀、开运算、闭运算、孔洞填充等及其若干组合。所述边缘处理包括,但不限于:边缘增强、边缘平滑及其若干组合。
[0053] 进一步地,请一并结合图9,所述对所述第二地图中的非障碍物图像信息做图像滤波处理和/或边缘处理包括:步骤S91,对第二地图图像做滤波处理确定多个区域。通常的,所述第二地图中的非障碍物图像信息中的零散区域,通常代表的是边缘死角、误测等,因此对零散区域需要做进一步处理;具体的,在步骤S91中采用滤波处理可以有效地确定出零散区域。
[0054] 步骤S92,对所述多个区域中符合第一预设条件的区域填充,得到填充的区域,其中第一预设条件的区域包括但不限于:孤立区域,面积小于或者等于第一面积阈值的区域一种或者多种的组合。在步骤S92中,孤立区域,面积小于或者等于第一面积阈值的区域通常代表的是孔洞,对该孔洞做填充处理。
[0055] 步骤S93,从填充后的区域中删除符合第二预设条件的区域,得到剩余后的区域,其中所述第二预设条件的区域包括但不限于狭长、孤立、面积小于或者等于第二面积阈值的区域一种或者多种的组合。在步骤S93中,在填充的区域中删除狭长、孤立、面积小于或者等于第二面积阈值的区域,进一步补全死角和误测。
[0056] 步骤S94,将剩余后的区域进行连接得到至少一个连续闭合区域,对至少一个连续闭合区域做边缘处理得到处理后的第二地图图像。
[0057] 通过上述操作填充操作和开运算,能够减少孤立区域,面积较小的区域对第二地图图像的影响,从而做了闭运算后能够得到大小及面积规整的区域,再对连续闭合区域做边缘处理后可以使边缘更加光滑。
[0058] 在上述实施例的技术方案中,将障碍物部分和非障碍物部分分开分别做不同的滤波运算处理,相对于现有技术部分将障碍物部分和非障碍物部分分一起做简单的二值滤波处理,能够更大程度上保留障碍物的特征,从而能够减少障碍物的变形,使地图上的障碍物的显示更美观。
[0059] 步骤S13,从所述第二地图图像中获取多个非障碍物轮廓的集合。
[0060] 具体的,第二地图图像中的非障碍物图像信息中可以提取出非障碍物轮廓点,连续的(或者连续且闭合的)非障碍物轮廓点形成一个完整的非障碍物轮廓。将从所述第二地图图像中获取的多个非障碍物轮廓的存入一个集合。
[0061] 具体的,在一较佳实施例中,请一并结合图10,从所述第二地图图像中获取的多个非障碍物轮廓的集合的具体步骤可以包括:步骤S31,从所述第二地图图像中的所述非障碍物图像信息提取多个原始非障碍物轮廓;
步骤S32,判断所述原始非障碍物轮廓的轮廓周长和/或轮廓面积是否达到对应的预设阈值;
步骤S33,将所述轮廓周长和/或轮廓面积达到对应的预设阈值的所述原始非障碍物轮廓,作为所述,并存入所述集合。
[0062] 在本实施例中,通过剔除小面积,小周长的非障碍物轮廓,可以排除小障碍物,例如凳子的腿脚等等,使得整个地图就保存比较清晰比较大的障碍物。
[0063] 步骤S14,遍历所述集合的每个非障碍物轮廓的每个非障碍物轮廓点在所述第一地图图像中的对应位置的邻近的预设搜索间距内存在的障碍物,并确定所述集合对应的障碍物轮廓位置点。
[0064] 在本实施例中,所述预设搜索间距邻近每个非障碍物轮廓点在所述第一地图图像中的对应位置。在每个非障碍物轮廓点在所述第一地图图像中的对应位置的邻近区域内搜索障碍物,障碍物只保留与非障碍物区域贴近的像素(障碍物边界),障碍物和非障碍物区域互相贴近,这样能使障碍物区域与非障碍区域划分的更清楚,能够使标记出的障碍物的厚度接近真实的障碍物。
[0065] 在一实施例方式中,在一个非障碍物轮廓点在所述第一地图图像中的对应位置的预设搜索间距内存在所述障碍物时,将距离所述非障碍物轮廓点的最近障碍物的位置点确定为所述一个非障碍物轮廓点对应的障碍物轮廓位置点。这样距离所述非障碍物轮廓点的最近障碍物的位置点确定为所述一个非障碍物轮廓点对应的障碍物轮廓位置点,可以能使障碍物区域与非障碍区域划分的更精准,能够使标记出的障碍物的厚度更接近真实的障碍物。
[0066] 在一具体实施例中,针对集合中每个非障碍物轮廓的每个非障碍物轮廓点,通过按照预定的顺序遍历判断每个非障碍物轮廓的每个非障碍物轮廓点在所述第一地图图像中的对应位置的预设搜索间距内是否存在障碍物,在存在所述障碍物时,将距离所述非障碍物轮廓点最近的所述障碍物的位置点作为障碍物轮廓位置点。
[0067] 请一并结合图11,具体的,斜线栅格代表未知区域,网格线栅格代表障碍物区域,白色栅格代表非障碍物区域;例如,针对非障碍物轮廓上的轮廓点O(a,b)(其中a为栅格在第二地图图像中的横坐标,b为栅格在第二地图图像中的纵坐标),轮廓点(a,b)在所述第一地图图像中的对应位置O’(a’,b’)的预设搜索间距(例如3个栅格距离)内,被实线框框住的网格线栅格均为轮廓点O(a,b)的预设搜索间距内存在的障碍物。按照箭头的方向,遍历计算每个非障碍物轮廓的每个非障碍物轮廓点在3个栅格距离内是否存在障碍物。
[0068] 请再次参考图11,轮廓点O(a,b)在所述第一地图图像中的对应位置(a’,b’)的预设搜索间距(例如3个栅格距离)内,网格线栅格1、2、3、4、5、6、7、8、9均为存在的障碍物,其中,网格线栅格4距离所述非障碍物轮廓点O(a,b)最近,所述障碍物的位置点4作为障碍物轮廓位置点。
[0069] 对所述集合中的每个非障碍物轮廓点,通过按照预定的顺序遍历判断每个非障碍物轮廓的每个非障碍物轮廓点在所述第一地图图像中的对应位置的预设搜索间距内是否存在障碍物后,就能得到所述集合对应的障碍物的轮廓点,这样后续就可以针对所述集合对应的障碍物的轮廓点进行拟合,得到障碍物的轮廓。
[0070] 请一并结合图6和图12,图12为本发明一实施例中步骤S14遍历得到的障碍物轮廓示意图。通过遍历非障碍物轮廓点,在非障碍物轮廓点的设定阈值内寻找障碍物,将距离非障碍物轮廓点最近的障碍物点标记为最终的障碍物,图12可以看到处理后的墙体厚度变得均匀,墙体没有出现歪扭,呈直线型,而且在终端上显示更美观。
[0071] 步骤S15,对所述集合对应的障碍物轮廓位置点进行拟合,以得到障碍物轮廓。
[0072] 具体的,一般来说由于传感器在测距时会不可避免地存在精度误差,导致获取的障碍物轮廓不平整,通过对所述障碍物轮廓位置点进行拟合,以得到平滑、连续的障碍物轮廓。在一具体示例中,对所述障碍物轮廓位置点按照预设的计算单元进行竖直方向和水平方向的直线拟合;其中,所述计算单元为竖直方向上或者水平方向上预设个数的连续栅格的集合;所述直线拟合的条件包括:相拟合的两条直线的首尾距离小于预设距离阈值,从而避免过度拟合将非障碍物区域拟合成障碍物区域;相拟合的两条直线的长度之和大于预设长度阈值,从而避免将曲线误拟合成直线。
[0073] 请一并结合图6和图13,图13为本发明一实施例中步骤S15拟合后的得到的障碍物轮廓示意他,从图13中可以看出,在墙体A、墙体B和墙体C等处由于传感器噪声导致这些地方墙体轮廓出现了很多歪曲的地方,通过对障碍物做水平和垂直方向的直线拟合,使得歪曲的障碍物轮廓变得平滑、完整。
[0074] 步骤S16,根据多个所述非障碍物轮廓以及所述障碍物轮廓,计算得到输出地图图像。
[0075] 在本实施中,输出的地图图像中障碍物轮廓为经步骤S15拟合处理处理过的,障碍物和非障碍物区域互相贴近,且障碍物只保留与非障碍物区域贴近的像素(障碍物边界);进一步的,障碍物内部则可以被标记为未知区域,更符合实际的探测情况。
[0076] 具体的,在一较佳示例中,为了更形象更直观的标识地图中的不同区域,可以根据所述非障碍物轮廓、所述障碍物轮廓、以及所述未知区域信息,在所述输出地图图像中将所述障碍物轮廓使用第一值进行标识,将所述非障碍物轮廓围绕形成的非障碍物图像使用第二值进行标识,以及将所述未知区域信息和所述障碍物轮廓围绕的障碍物内部区域使用第三值进行标识,例如以RGB,BGR等标准色彩存储格式进行标识和存储。一般的,在机器人上执行此算法,一般以3个不同值互斥地存储,可以减少存储的数据量,方便后续压缩传输;在终端上执行此算法,则输出的是可直接显示的标准格式(依照接口不同一般是RGB,BGR,RGBA等)。
[0077] 进一步地,在一优选的实施例中,所述方法还包括步骤:将所述障碍物轮廓位置点以及所述非障碍物轮廓记录在第三地图图像中。其中步骤S15中对所述障碍物轮廓位置点进行拟合可以在所述第三地图图像中进行处理。
[0078] 本实施例的技术方案中,通过从原始的障碍物占据概率栅格地图的地图信息中,根据预设的提取规则提取障碍物图像信息存入第一地图图像,以及从所述地图信息中提取非障碍物图像信息存入第二地图图像;根据从所述第二地图图像中获取的多个非障碍物轮廓的集合,遍历地判断所述集合的每个非障碍物轮廓点在所述第一地图图像中的对应位置的预设搜索间距内,是否存在障碍物;在存在所述障碍物时,将距离所述非障碍物轮廓点最近的所述障碍物的位置点作为障碍物轮廓位置点进行标记;对所述障碍物轮廓位置点进行拟合,以得到障碍物轮廓;根据所述非障碍物轮廓以及所述障碍物轮廓,计算得到输出地图图像;把障碍物占据概率地图转换为非障碍物分布图与障碍物分布图,在非占据区域的非障碍物轮廓上寻找设定邻域在障碍物分布图中的障碍物值,并将其添加到输出地图中;输出的地图图像中障碍物和非障碍物区域互相贴近,且障碍物只保留与非障碍物区域贴近的像素(障碍物边界),使得地图更加简洁,线条更加平滑;同时,在非占据区域的非障碍物轮廓上寻找设定邻域在障碍物分布图中的障碍物值,可以进一步对对障碍物轮廓的做二次确认,使得地图更加准确;另外,障碍物内部则可以被标记为未知区域,更符合实际的探测情况。
[0079] 请再次结合图1-11,本发明提供的一种移动机器人10,所述处理单元150存储单元160存储的所述程序时实现上述任一实施例的地图处理方法的步骤。
[0080] 需要说明的是,由于清洁机器人10的处理单元150执行计算机程序时实现上述的地图处理方法的步骤,因此上述方法的所有实施例均适用于该移动机器人10,且均能达到相同或相似的有益效果。
[0081] 发明还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中的地图处理方法。
[0082] 需要说明的是,由于计算机可读存储介质的计算机程序被处理器执行时实现上述的控制方法,因此上述方法的所有实施例均适用于该计算机可读存储介质,且均能达到相同或相似的有益效果。
[0083] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈