基于像素点的工作区域规划方法、芯片及机器人与流程
未命名
08-06
阅读:241
评论:0
1.本发明涉及激光建图定位的技术领域,尤其涉及基于像素点的工作区域规划方法、芯片及机器人。
背景技术:
2.具有激光导航的清洁机器人在室内工作区域进行清扫作业时,会将整个室内工作区域分割为多个mxn的子区域,一般是物理环境内的4米乘以4米的区域。
3.清洁机器人在室内工作区域的停靠位置是不稳定,如果单纯以清洁机器人所在的坐标位置点为中心,分别向四个关于清洁机器人所在的坐标位置点中心对称的方向扩展2米长度距离就形成第一个子区域,则所述第一个子区域内框定的障碍物的位置分布特征是随机的,导致所述第一个子区域内框定的障碍物不一定是完整的或规则的,所以,清洁机器人在所述第一个子区域内规划的导航路径较为复杂,且可能清洁不到更多有效的区域(包括空旷区域)。
技术实现要素:
4.针对上述技术问题,本发明公开基于激光数据的地图工作区域规划方法、芯片及机器人,解决具有地图导航功能的移动机器人规划工作区域的问题。具体的技术方案如下:基于像素点的工作区域规划方法,该工作区域规划方法包括在机器人构建的地图内,对预配置地图区域内的障碍像素点的数量进行逐行逐列的统计;根据相应行中的障碍像素点的数量和相应列中的障碍像素点的数量,扩展得到机器人工作区域。
5.进一步地,所述根据相应行中的障碍像素点的数量和相应列中的障碍像素点的数量,扩展得到机器人工作区域的方法包括在预配置地图区域内,根据边界障碍行中包括的障碍像素点的数量,沿着相应的列方向扩展列预设边界距离,获得第一有效行边界和第二有效行边界;其中,第一有效行边界和第二有效行边界分别属于预配置地图区域的对应一行像素点组成;在预配置地图区域内,根据边界障碍列中包括的障碍像素点的数量,沿着相应的行方向扩展行预设边界距离,获得第一有效列边界和第二有效列边界;其中,第一有效列边界和第二有效列边界分别属于预配置地图区域的对应一列像素点组成;然后将第一有效行边界、第二有效行边界、第一有效列边界和第二有效列边界相交围成的区域设置为所述机器人工作区域。
6.进一步地,所述边界障碍行包括第一边界障碍行和第二边界障碍行;第一边界障碍行包括的障碍像素点的数量大于第二边界障碍行包括的障碍像素点的数量时,或机器人在所述预配置地图区域内搜索到第一边界障碍行但搜索不到第二边界障碍行时,从第一边界障碍行开始,沿着第一列方向遍历列预设边界距离,得到行边界;然后将第一边界障碍行设置为所述第一有效行边界,同时将行边界设置为第二有效行边界;第一边界障碍行包括的障碍像素点的数量小于第二边界障碍行包括的障碍像素点的数量时,或机器人在所述预配置地图区域内搜索到第二边界障碍行但搜索不到第一边界障碍行时,从第二边界障碍行
开始,沿着第二列方向遍历列预设边界距离,得到行边界;然后将第二边界障碍行设置为所述第一有效行边界,同时将行边界设置为第二有效行边界;其中,第一列方向与第二列方向相反。
7.进一步地,所述边界障碍列包括第一边界障碍列和第二边界障碍列;第一边界障碍列包括的障碍像素点的数量大于第二边界障碍列包括的障碍像素点的数量时,或机器人在所述预配置地图区域内搜索到第一边界障碍列但搜索不到第二边界障碍列时,从第一边界障碍列开始,沿着相应的行方向遍历行预设边界距离,得到列边界;然后将第一边界障碍列设置为所述第一有效列边界,同时将列边界设置为第二有效列边界;第一边界障碍列包括的障碍像素点的数量小于第二边界障碍列包括的障碍像素点的数量时,或机器人在所述预配置地图区域内搜索到第二边界障碍列但搜索不到第一边界障碍列时,从第二边界障碍列开始,沿着相应的行方向遍历行预设边界距离,得到列边界;然后将第二边界障碍列设置为所述第一有效列边界,同时将列边界设置为第二有效列边界;其中,第一行方向与第二行方向相反。
8.进一步地,所述边界障碍行包括第一边界障碍行和第二边界障碍行;第一边界障碍行包括的障碍像素点的数量等于第二边界障碍行包括的障碍像素点的数量时,从第一边界障碍行开始,沿着由第一列方向遍历列预设边界距离,得到行边界;然后将第一边界障碍行设置为所述第一有效行边界,同时将行边界设置为第二有效行边界;或者,第一边界障碍行包括的障碍像素点的数量等于第二边界障碍行包括的障碍像素点的数量时,从第二边界障碍行开始,沿着由第二列方向遍历列预设边界距离,得到行边界;然后将第二边界障碍行设置为所述第一有效行边界,同时将行边界设置为第二有效行边界;其中,第一列方向与第二列方向相反。
9.进一步地,所述边界障碍列包括第一边界障碍列和第二边界障碍列;第一边界障碍列包括的障碍像素点的数量等于第二边界障碍列包括的障碍像素点的数量时,从第一边界障碍列开始,沿着第一行方向遍历行预设边界距离,得到列边界;然后将第一边界障碍列设置为所述第一有效列边界,同时将列边界设置为第二有效列边界;或者,第一边界障碍列包括的障碍像素点的数量等于第二边界障碍列包括的障碍像素点的数量时,从第二边界障碍列开始,沿着第二行方向遍历行预设边界距离,得到列边界;然后将第一边界障碍列设置为所述第一有效列边界,同时将列边界设置为第二有效列边界;其中,第一行方向与第二行方向相反。
10.进一步地,机器人在所述预配置地图区域内搜索不出所述边界障碍列时,存在以下步骤以机器人的位置点为扩展起点,沿着第一行方向,在与扩展起点相距行预设边界距离的一半的第一预设位置点处,设置出垂直于第一行方向的列边界,并将垂直于第一行方向的列边界设置为所述第一有效列边界;以机器人的位置点为扩展起点,沿着第二行方向,在与扩展起点相距行预设边界距离的一半的第二预设位置点处,设置出垂直于第二行方向的列边界,并将垂直于第二行方向的列边界设置为所述第二有效列边界;其中,第一行方向与第二行方向相反。
11.进一步地,机器人在所述预配置地图区域内搜索不出所述边界障碍行时,存在以下步骤以机器人的位置点为扩展起点,沿着第一列方向,在与扩展起点相距列预设边界距离的一半的第三预设位置点处,设置出垂直于第一列方向的行边界,并将垂直于第一列方
向的行边界设置为所述第一有效行边界;以机器人的位置点为扩展起点,沿着第二列方向,在与扩展起点相距列预设边界距离的一半的第四预设位置点处,设置出垂直于第二列方向的行边界,并将垂直于第二列方向的行边界设置为所述第二有效行边界;其中,第一列方向与第二列方向相反。
12.进一步地,第二边界障碍行被第一有效列边界和第二有效列边界分割出第二边界障碍行线段,其中,第二边界障碍行线段的长度等于行预设边界距离;第一边界障碍行被第一有效列边界和第二有效列边界分割出第一边界障碍行线段,其中,第一边界障碍行线段的长度等于行预设边界距离;第一边界障碍列被第一有效行边界和第二有效行边界分割出第一边界障碍列线段,其中,第一边界障碍列的长度等于列预设边界距离;第二边界障碍列被第一有效行边界和第二有效行边界分割出第二边界障碍列线段,其中,第二边界障碍列的长度等于列预设边界距离。
13.进一步地,所述对预配置地图区域内的障碍像素点的数量进行逐行逐列的统计的方法包括对预配置地图区域进行图像处理;在经过图像处理的预配置地图区域内标记出障碍像素点和非障碍像素点,其中,障碍像素点是用于表示预配置地图区域中的障碍物的像素点,非障碍像素点是用于表示预配置地图区域中的非障碍物的像素点;通过逐行统计所述预配置地图区域内的障碍像素点的数量来标记边界障碍行;通过逐列统计所述预配置地图区域内的障碍像素点的数量来标记边界障碍列。
14.进一步地,所述通过逐行统计预配置地图区域内的障碍像素点的数量来标记边界障碍行的方法具体包括在经过图像处理的预配置地图区域内,每当统计到一行像素点中存在的障碍像素点的数量大于行数量阈值,则将该行标记为障碍行;每当遍历完一行像素点或标记出一个障碍行,则继续遍历下一行像素点;如此重复,直至遍历完经过图像处理的预配置地图区域内所有行,然后将列方向上的直线距离最大的两个障碍行都标记为边界障碍行;其中,行数量阈值是预配置地图区域在行方向上所占据的直线长度的预设倍数;预设倍数设置为大于0且小于1。
15.进一步地,列方向是所述预配置地图区域的纵坐标轴方向,行方向是所述预配置地图区域的横坐标轴方向;在所述预配置地图区域内,标记出两个边界障碍行,其中一个边界障碍行的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最大纵坐标,另一个边界障碍行的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最小纵坐标;其中,每个障碍行中所有像素点的纵坐标都相等;其中,行数量阈值是预配置地图区域在横坐标轴方向上的长度的预设倍数。
16.进一步地,沿着第一列方向逐行遍历经过图像处理的预配置地图区域内的像素点,每当统计到一行像素点中存在的障碍像素点的数量大于行数量阈值,则将该行标记为障碍行;每当遍历完一行像素点或标记出一个障碍行,则沿着第一列方向继续遍历下一行像素点;如此重复,若检测到存在障碍行,则将与机器人的位置点的距离最远的障碍行标记为第一边界障碍行;若检测到不存在障碍行,则确定机器人搜索不到第一边界障碍行;沿着第二列方向逐行遍历经过图像处理的预配置地图区域内的像素点,每当统计到一行像素点中存在的障碍像素点的数量大于行数量阈值,则将该行标记为障碍行;每当遍历完一行像素点或标记出一个障碍行,则沿着第二列方向继续遍历下一行像素点;如此重复,若检测到存在障碍行,则将与机器人的位置点的距离最远的障碍行标记为第二边界障碍行;若检测
到不存在障碍行,则确定机器人搜索不到第二边界障碍行;其中,第一列方向与第二列方向相反;其中,第一边界障碍行和第二边界障碍行都属于边界障碍行。
17.进一步地,第二列方向是纵坐标轴正方向时,第一列方向是纵坐标轴负方向;或者,第二列方向是纵坐标轴负方向时,第一列方向是纵坐标轴正方向。
18.进一步地,所述通过逐列统计预配置地图区域内的障碍像素点的数量来标记边界障碍列的方法具体包括在经过图像处理的预配置地图区域内,每当统计到一列像素点中存在的障碍像素点的数量大于列数量阈值,则将该列标记为障碍列;每当遍历完一列像素点或标记出一个障碍列,则继续遍历下一列的像素点;如此重复统计,直至遍历完经过图像处理的预配置地图区域内所有列,然后将行方向上的直线距离最大的两个障碍列都标记为边界障碍列;其中,列数量阈值是预配置地图区域在列方向上所占据的直线长度的预设倍数;预设倍数大于0且小于1。
19.进一步地,行方向是所述预配置地图区域的横坐标轴方向;在所述预配置地图区域内,标记出两个边界障碍列,其中一个边界障碍列的像素点的横坐标是所有障碍列的像素点的横坐标当中的最大横坐标,另一个边界障碍列的像素点的横坐标是所有障碍列的像素点的横坐标当中的最小横坐标;其中,每个障碍列中所有像素点的横坐标都相等;其中,列数量阈值是预配置地图区域在纵坐标轴方向上的宽度的预设倍数。
20.进一步地,沿着第一行方向逐列遍历经过图像处理的预配置地图区域内的像素点,每当统计到一列像素点中存在的障碍像素点的数量大于列数量阈值,则将该列标记为障碍列;每当遍历完一列像素点或标记出一个障碍列,则沿着第一行方向继续遍历下一列像素点;如此重复,若检测到存在障碍列,则将与机器人的位置点的距离最远的障碍列标记为第一边界障碍列;若检测到不存在障碍列,则确定机器人搜索不到第一边界障碍列;沿着第二行方向逐列遍历经过图像处理的预配置地图区域内的像素点,每当统计到一列像素点中存在的障碍像素点的数量大于列数量阈值,则将该列标记为障碍列;每当遍历完一列像素点或标记出一个障碍列,则沿着第二行方向继续遍历下一列像素点;如此重复,若检测到存在障碍列,则将与机器人的位置点的距离最远的障碍列标记为第二边界障碍列;若检测到不存在障碍列,则确定机器人搜索不到第二边界障碍列;其中,第一行方向与第二行方向相反;其中,第一边界障碍列和第二边界障碍列都属于边界障碍列。
21.进一步地,第二行方向是横坐标轴正方向时,第一行方向是横坐标轴负方向;或者,第二行方向是横坐标轴负方向时,第一行方向是横坐标轴正方向。
22.进一步地,机器人的位置点是位于预配置地图区域的内部;在所有标记出的障碍行当中,边界障碍行是在相应列方向上距离机器人的位置点最远的障碍行;在所有标记出的障碍列当中,边界障碍列是在相应行方向上距离机器人的位置点最远的障碍列。
23.进一步地,所述预配置地图区域是以机器人的位置点为对称中心的地图区域;其中,预配置地图区域是矩形区域。
24.进一步地,对预配置地图区域进行图像处理的方法包括:对所述预配置地图区域进行闭操作,使得所述预配置地图区域中标记的障碍物的轮廓线得到完整的描述,其中,所述闭操作用于连接所述预配置地图区域中的连通域;其中,所述预配置地图区域是属于机器人构建出的用于描述障碍物的位置特征的特定尺寸的图像区域。
25.进一步地,所述闭操作包括将所述预配置地图区域进行二值化处理,获得二值化
地图;然后对二值化地图进行图像膨胀处理,再对经过图像膨胀处理后的二值化地图进行图像腐蚀处理,使得部分表示非障碍物的像素点被配置为表示障碍物的像素点;其中,二值化地图中,表示障碍物的像素点的像素值和表示非障碍物的像素点的像素值不同。
26.一种芯片,内置控制程序,所述控制程序用于控制机器人执行所述工作区域规划方法。
27.一种机器人,该机器人内置所述的芯片。
28.本发明的有益技术效果在于,根据机器人构建的地图中的表示障碍物的像素点数量信息,在特定地图区域内提取出最为边缘且彼此相交的边界障碍行和边界障碍列,框定出一个机器人工作区域,作为机器人在相应的工作环境内的最优的一个工作区域,从而以每行每列中的表示障碍物的像素点的数量和与机器人的位置点的距离信息为依据的第一个工作区域的规划,使得所述第一个工作区域内框定的障碍物的轮廓线尽可能是完整的或规则的,既简化室内工作区域的工作路径的规划,又能在尽可能远的距离内遍历到足够多的空旷区域,使得机器人在所述第一个工作区域内移动到更多有效的工作区域。
附图说明
29.图1是本发明的一种实施例公开的基于像素点的工作区域规划方法的流程示意图。
30.图2是本发明的一种实施例公开的预配置地图区域内的障碍像素点的分布示意图,其中,障碍像素点是黑色的,空旷区域是白色的;位置点o是机器人的位置点。
31.图3是本发明的一种实施例公开经过图像处理的预配置地图区域内的障碍像素点的分布示意图,其中,线段ab和线段cd都处于同一边界障碍行,线段ef和线段mn都处于同一边界障碍列,线段ab、线段cd、线段ef和线段mn都是由障碍像素点依次连接成的线段。
32.图4是本发明的一种实施例公开的由图3中的边界障碍行和边界障碍列确定的机器人工作区域pqrs的示意图,其中,机器人工作区域pqrs中包括第一有效行边界pq、第二有效行边界rs、第一有效列边界qs和第二有效列边界pr。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
34.需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的地图方位或像素点的位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置、边界、像素点、单位格、线段或元件必须具
有特定的方位、以特定的方位构造和遍历操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。
35.作为一种实施例,本发明实施例提供的一种基于像素点的工作区域规划方法,该工作区域规划方法是由像素点处理装置执行,该像素点处理装置可以由软件和/或硬件实现,一般设置在安装有测距传感器的机器人中,则该类型的机器人可以作为工作区域规划方法的执行主体,以在开始移动之前规划出所需工作的区域,测距传感器包括视觉传感器和/或激光传感器,其中,视觉传感器和/或激光传感器可以检测到障碍物,比较常用的场景有,激光传感器发射的激光束扫描到机器人的机身周边物体表面反射回的数据形成周边物体的点云数据,则可以将机身周边物体识别为障碍物并转换标记到地图中,其中,点云数据包括激光传感器的激光光束扫描到的障碍物表面的位置信息,这个地图是机器人预先构建的地图(包括地图坐标系),可以归属于slam技术对机器人的周围环境所构建出的栅格地图。
36.如图1所示,所述工作区域规划方法基本包括:步骤s1、在机器人构建的地图内,框定出与机器人的位置点相关联的预配置地图区域,然后执行步骤s2。机器人在开始执行工作任务之前,先在预先构建的地图内框定出一个预配置地图区域,以便于机器人从当前位置点前往所述预配置地图区域内的第一个工作区域(后续步骤规划出的局部地图区域)执行工作任务。优选地,为了便于控制机器人在第一个工作区域内开始执行沿边行走,则将机器人的位置点设置为预配置地图区域的中心,同时便于在预配置地图区域内标记出合理的区域边界及其所能围成的第一个工作区域。
37.需要说明的是,机器人所处的工作区域是室内工作区域,比如机器人是清洁机器人或智能安防机器人时,该机器人所处的工作区域是室内工作区域,一般是家居环境区域,没有被障碍物完全占据,在该工作区域内,越完整的障碍物或越规则的障碍物占据的区域越大,预留出的空旷区域就越多,反之在该工作区域内预留出的空旷区域就越少。此时,本实施例则通过执行所述工作区域规划方法来获取具有更多的空旷区域的第一个工作区域,便于机器人在该第一个工作区域内比较顺利地按照规划路径移动,简化路径规划的难度。
38.另一方面,第一个工作区域的选择是比较重要的,比如在一个4米乘以4米的房间内,如果清洁机器人的第一个工作区域覆盖整个房间的平面区域,则机器人只需要沿边行走一次,清扫一次就可以完成清扫任务,相比之下,在一个4米乘以4米的房间内强制分为四个子区域以进行清扫任务,则需要先后沿边行走四次与清扫四次,并且需要三个导航路径,则规划出的整体清扫路径肯定比在所述第一个工作区域内规划出的路径复杂。其中,第一个工作区域的长度和宽度都是预先根据实际工作环境的尺寸和机器人的工作范围进行适应性的配置。
39.步骤s2、对预配置地图区域内的障碍像素点的数量进行逐行逐列的统计,然后机器人执行步骤s3。在机器人执行所述步骤s2的过程中,机器人逐行逐列地对预配置地图区域内的障碍像素点进行数量统计,在具体一行和具体一列中的障碍像素点的数量达到相应的预设阈值时,可以确定机器人遍历至所需工作区域的边界,此时,在具体行和具体列框定出一个矩形区域,等效于由线段围成一个矩形区域。
40.具体地,机器人内部的控制器实时读取激光传感器采集到的激光点云数据或包括激光点云数据的深度图像,构建起点云模型以创建点云地图,由激光雷达坐标系或像素坐标系转换为世界坐标系,将点云地图投影并转换为可用于导航的二维栅格地图,即所述预配置地图区域,作为二维点云地图,反映机器人在行进平面所探测的环境信息。所述预配置地图区域是一种地图图像,以便于对地图图像中的像素点进行相关的图像处理操作。在所述预配置地图区域的地图坐标系中,即二维栅格坐标系中,所述预配置地图区域的地图坐标系的原点可定义在机器人的驱动轮、激光传感器的装配位置或机体中心位置,在此不作限制。
41.优选地,所述预配置地图区域内的每个像素点可以都使用特定尺寸的单位格表示,这里的特定尺寸的单位格是前述二维栅格地图中的每个栅格,像素点是所述预配置地图区域中单元像素,即栅格作为所述预配置地图区域中的单位栅格,使得一个像素点对应一个栅格;进一步地,所述预配置地图区域在将像素点配置为栅格的地图配置条件下,机器人将一个像素点配置为5厘米乘以5厘米的单元格,作为填充所述预配置地图区域的栅格,此时,栅格等效于5厘米乘以5厘米的单元格,且一个像素点是对应一个单元格。优选地,在所述预配置地图区域中,每个栅格的坐标是该栅格的左下角点的坐标、该栅格的左上角点的坐标或该栅格的右下角点的坐标,在一些实施场景下,使用栅格的中心位置表示被扫描区域的真实地理位置,每个栅格的坐标会使用该栅格的中心位置的坐标表示。其中,该栅格的相关边角点及中心位置的坐标还可以表示该栅格在所述预配置地图区域中的行序号和列序号,横坐标等于列序号,纵坐标等于行序号。因此,步骤s2对预配置地图区域内的障碍像素点的数量的逐行统计等效于对纵坐标相等的栅格坐标(像素点的坐标)的数量的统计,步骤s2对预配置地图区域内的障碍像素点的数量的逐列统计等效于对横坐标相等的栅格坐标(像素点的坐标)的数量的统计。
42.在一些实施例中,机器人的激光传感器采集的每个激光点对应的栅格或视觉传感器采集的每个路标对应的栅格在所述预配置地图区域内使用像素点表示;像素点对应的栅格的坐标是激光点转换到所述预配置地图中坐标,也称之为激光点的地图坐标,相应地,激光点对应的栅格是对应为或直接理解为激光点对应的地图坐标点;激光点对应的栅格的坐标是直接理解为激光点的地图坐标。
43.步骤s3、根据相应行中的障碍像素点的数量和相应列中的障碍像素点的数量,扩展得到机器人工作区域。其中,相应行中的障碍像素点是可以使用特定纵坐标的障碍像素点来表示,等效于使用水平线来表示;相应列中的障碍像素点是可以使用特定横坐标的障碍像素点来表示,等效于使用竖直线来表示。在本实施例中,为了扩展出一个矩形的机器人工作区域,需要扩展搜索出满足障碍像素点的数量统计要求的两条水平线和满足障碍像素点的数量统计要求的两条竖直线,从而围成的机器人工作区域(所述预配置地图区域内的一个工作分区)的轮廓边界规整合理,而且机器人工作区域内框定的障碍物趋向于完整的或规则的。
44.需要说明的是,扩展是可以选择从包括特定数量的障碍像素点的一行开始进行,在每列上进行逐个像素的遍历,直至遍历完一个列预设边界距离为止,其中,列预设边界距离相应地配置为矩形的机器人工作区域的宽度;扩展还可以选择从包括特定数量的障碍像素点的一列开始,在每行上进行逐个像素的遍历,直至遍历完一个行预设边界距离为止,其
中,行预设边界距离相应地配置为矩形的机器人工作区域的长度。综上,前述步骤s1至步骤s3所述的工作区域规划方法,既简化室内工作区域的工作路径的规划,又能在尽可能远的距离内遍历到足够多的空旷区域。
45.在本实施例中,机器人工作区域是机器人构建出的第一个工作区域的地图区域,可以标记有机器人所在的房间区域中的距离最远的障碍物,以使得机器人在第一个工作区域内存在足够大的可通行区域(即空旷区域),其中,机器人的第一个工作区域的面积小于机器人所在的房间区域的面积。优选地,所述预配置地图区域是矩形地图区域。在一些实施例中,所述预配置地图区域是属于机器人的激光传感器采集的激光点所映射出的特定尺寸的图像,以像素点为单位组成元素,每个像素点都可以视为栅格(特定尺寸的单位格)。
46.需要说明的是,在所述预配置地图区域内,每个障碍物都是由像素值相同且相邻接的像素点组成,使得每个障碍物在所述预配置地图区域内可以由相邻接的栅格组合成,其中,组成障碍物的像素点是障碍像素点,具体是障碍物在二维地图中的投影区域内的像素点。
47.具体地,使用现有技术公开的连通域分析对所述预配置地图区域进行处理,能够将不同位置处的障碍物标记为由不同像素值的像素点组成,且不同位置处的障碍物是由不同颜色的像素点组成;需要说明的是,连通域是由像素值相等且位置相邻的像素点组成的图像区域,本实施例使用像素点表示所述预配置地图区域内的栅格时,连通域则是由具有相同像素值的相邻栅格组成的栅格集合,优选地,将一个像素点配置为5厘米乘以5厘米的单元格,作为填充所述预配置地图区域的栅格。另外,同一个连通域内的每个栅格或每个像素点都有相同的连通像素数量,一个连通域的大小就是相连通的像素点的个数,组成连通域的像素点的数量能反映障碍物的尺寸。对应到图2和图3中,障碍物都是由黑色像素点组成,属于黑色像素点的集合,简化所述预配置地图区域内的障碍像素点的统计操作。
48.作为一种实施例,所述根据相应行中的障碍像素点的数量和相应列中的障碍像素点的数量,扩展得到机器人工作区域的方法包括:机器人在预配置地图区域内,根据边界障碍行中包括的障碍像素点的数量,沿着相应的列方向扩展列预设边界距离,获得第一有效行边界和第二有效行边界,实质上是从边界障碍行上的像素点开始,按照预设扩展步长,可以将相邻两个像素点之间的纵坐标差设置为预设扩展步长,沿着相应的列方向进行像素点的扩展操作,获取到第一有效行边界与第二有效行边界之间框定的地图区域;边界障碍行或边界障碍行中的特定长度的像素点集合被配置为第一有效行边界,第一有效行边界可以是一条直线或一条线段;而第二有效行边界则是从边界障碍行上的像素点开始扩展得到的,第一有效行边界中的每个像素点与第二有效行边界在相应列方向上的像素点的距离是相等,第二有效行边界可以是一条直线或一条线段。需要说明的是,第一有效行边界和第二有效行边界分别属于预配置地图区域的对应一行像素点组成。
49.机器人在预配置地图区域内,根据边界障碍列中包括的障碍像素点的数量,沿着相应的行方向扩展行预设边界距离,获得第一有效列边界和第二有效列边界,实质上是从边界障碍列上的像素点开始,按照预设扩展步长,可以是将相邻两个像素点之间的横坐标差设置为预设扩展步长,沿着相应的行方向进行像素点的扩展操作,获取到第一有效列边界与第二有效列边界之间框定的地图区域;边界障碍列或边界障碍列中的特定长度的像素
点集合被配置为第一有效列边界,第一有效列边界可以是一条直线或一条线段;而第二有效列边界则是从边界障碍列上的像素点开始扩展得到的,第一有效列边界中的每个像素点与第二有效列边界在相应行方向上的像素点的距离是相等,第二有效列边界可以是一条直线或一条线段。需要说明的是,第一有效列边界和第二有效列边界分别属于预配置地图区域的对应一列像素点组成。需要说明的是,第一有效列边界和第二有效列边界分别属于预配置地图区域的对应一列像素点组成。
50.在此基础上,第一有效行边界会同时与第一有效列边界和第二有效列边界相交,第二有效行边界会同时与第一有效列边界和第二有效列边界相交;则机器人将第一有效行边界、第二有效行边界、第一有效列边界和第二有效列边界相交围成的区域设置为所述机器人工作区域;此时,第二有效行边界被第一有效列边界和第二有效列边界分割出第二边界障碍行线段,其中,第二边界障碍行线段的长度等于从边界障碍行开始,沿着相应的列方向扩展的长度;第一有效行边界被第一有效列边界和第二有效列边界分割出第一边界障碍行线段,其中,第一边界障碍行线段的长度等于从边界障碍行开始,沿着相应的列方向扩展的长度;第一有效列边界被第一有效行边界和第二有效行边界分割出第一边界障碍列线段,其中,第一边界障碍列线段的长度等于从边界障碍列开始,沿着相应的行方向扩展的长度;第二有效列边界被第一有效行边界和第二有效行边界分割出第二边界障碍列线段,其中,第二边界障碍列线段的长度等于从边界障碍列开始,沿着相应的行方向扩展的长度。本实施例规划出的机器人工作区域具有规整合理的边界,本实施例提及的机器人工作区域虽然是由第一有效行边界、第二有效行边界、第一有效列边界和第二有效列边界围成的,但实际上是第一有效行边界、第二有效行边界、第一有效列边界和第二有效列边界相交而围成的封闭区域,该机器人工作区域实际覆盖的区域是该封闭区域,该封闭区域具体包括该封闭区域中所有的像素点的集合,以及第一有效行边界、第二有效行边界、第一有效列边界和第二有效列边界在该封闭区域的边界中的重合部分的像素点。
51.作为实施例一,所述边界障碍行包括第一边界障碍行和第二边界障碍行。第一边界障碍行包括的障碍像素点的数量大于第二边界障碍行包括的障碍像素点的数量时,或机器人在所述预配置地图区域内搜索到第一边界障碍行但沿着相应的列方向搜索不到第二边界障碍行时,从第一边界障碍行开始,机器人内部的控制单元沿着相应的列方向遍历列预设边界距离,可以理解为沿着第一列方向遍历所述列预设边界距离,则在所述预配置地图区域内得到行边界,则行边界的像素点在每列(对应的列方向)上与第一边界障碍行的相应像素点的距离等于列预设边界距离;然后将第一边界障碍行设置为所述第一有效行边界,同时将行边界设置为第二有效行边界;需要说明的是,第一边界障碍行、第一有效行边界、第二边界障碍行和第二有效行边界可以都由直线来表示,则在预配置地图区域内是由纵坐标值表示。优选地,所述相应的列方向的具体来源是:在所述预配置地图区域对应的坐标系内,第一边界障碍行内所有的像素点的纵坐标都相等,当第一边界障碍行内的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最大纵坐标时,第一边界障碍行接近所述预配置地图区域的最上边缘,为了更加完整地遍历所述预配置地图区域,所述相应的列方向是纵坐标轴的负方向,其中,第二边界障碍行的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最小纵坐标。在遍历过程中,机器人内部的控制单元所遍历到的像素点不一定都计入机器人工作区域内;在一些实施例中,第一边界障碍行和第二边界障碍行之间
所限定的区域是足够远的,以使得所述第一有效行边界和所述第二有效行边界之间所限定的区域内能够容纳足够多的空旷区域,使得机器人在对应区域内遍历到更多有效的工作区域。列预设边界距离是机器人预先设定的,可以依据机器人在所处的房间区域内的沿边行走的特征设定的。值得注意的是,当机器人所处的区域在相应的列方向的延伸区域较为空旷时,机器人在其有效的探测范围内,沿着相应的列方向是搜索不到第二边界障碍行,而只能在相应的列方向的反方向上搜索到第一边界障碍行,所以只能从第一边界障碍行开始,沿着由第一边界障碍行指向第二边界障碍行的列方向进行遍历。
52.作为实施例二,第一边界障碍行包括的障碍像素点的数量小于第二边界障碍行包括的障碍像素点的数量时,或机器人在所述预配置地图区域内搜索到第二边界障碍行但搜索不到第一边界障碍行时,从第二边界障碍行开始,机器人内部的控制单元沿着相应的列方向遍历列预设边界距离,可以理解为沿着第二列方向遍历所述列预设边界距离,得到行边界,则行边界的像素点在每列(对应的列方向)上与第二边界障碍行的相应像素点的距离等于列预设边界距离;然后将第二边界障碍行设置为所述第一有效行边界,同时将行边界设置为第二有效行边界。需要说明的是,第二边界障碍行和第二有效行边界可以都是由直线来表示,则在预配置地图区域内是由纵坐标值表示;其中,所述第二列方向与所述第一列方向相反,且都垂直于列方向。优选地,所述相应的列方向的具体来源是:在所述预配置地图区域对应的坐标系内,第二边界障碍行内所有的像素点的纵坐标都相等,当第二边界障碍行内的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最小纵坐标时,第二边界障碍行接近所述预配置地图区域的最下边缘,为了更加完整地遍历所述预配置地图区域,所述相应的列方向是纵坐标轴的正方向,则若预先搜索到第一边界障碍行,则所述相应的列方向是由第二边界障碍行指向第一边界障碍行的方向,其中,第一边界障碍行的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最大纵坐标。在遍历过程中,机器人内部的控制单元所遍历到的像素点不一定都计入机器人工作区域内;由第二边界障碍行指向第一边界障碍行的列方向是垂直于第一边界障碍行或第二边界障碍行,在一些实施例中,第一边界障碍行和第二边界障碍行之间所限定的区域是足够远的,以使得所述第一有效行边界和所述第二有效行边界之间所限定的区域内能够容纳足够多的空旷区域,使得机器人在相应行边界线框定的区域内移动过更多有效的工作区域。列预设边界距离是机器人预先设定的,可以依据机器人在所处的房间区域内的沿边行走的特征设定的。值得注意的是,当机器人所处的区域在相应的列方向的延伸区域较为空旷时,机器人在其有效的探测范围内,沿着相应的列方向是搜索不到第一边界障碍行。
53.综合实施例一和实施例二可知,实现根据边界障碍行中包括的障碍像素点的数量,沿着相应的列方向扩展列预设边界距离,可以是沿着与搜索所述边界障碍行的方向相反的方向去扩展列预设边界距离,获得第一有效行边界和第二有效行边界,得到相应的行位置处的边界线或纵坐标信息。需要补充的是,前述的遍历实际是机器人沿着列方向检测像素点的操作,每检测一个像素点则计数一次,并记录从上一个像素点到当前一个像素点的坐标距离,同时累加在先获得的坐标距离,获得从第一边界障碍行到到当前一个像素点的垂直距离(当前一个像素点在一个列方向上与第一边界障碍行的像素点的距离),或者获得从第二边界障碍行到到当前一个像素点的垂直距离(当前一个像素点在一个列方向上与第二边界障碍行的像素点的距离)。在一些实施场景中,在检测到地图区域的一个像素行中
障碍像素点的数量满足阈值条件、且障碍像素点的位置处于一定的边界位置(距离机器人较远的位置)处时,确定机器人所需框定的工作区域内所覆盖的障碍物的边界轮廓是完整的或规则的。
54.作为实施例三,所述边界障碍列包括第一边界障碍列和第二边界障碍列。第一边界障碍列包括的障碍像素点的数量大于第二边界障碍列包括的障碍像素点的数量时,或机器人在所述预配置地图区域内搜索到第一边界障碍列但沿着相应的列方向搜索不到第二边界障碍列时,从第一边界障碍列开始,机器人内部的控制单元沿着由相应的行方向遍历行预设边界距离,可以理解为沿着第一行方向遍历行预设边界距离,在所述预配置地图区域内得到列边界,则列边界的像素点在每行(对应的行方向)上与第一边界障碍列的相应像素点的距离等于所述行预设边界距离;然后将第一边界障碍列设置为所述第一有效列边界,同时将列边界设置为第二有效列边界;需要说明的是,第一边界障碍列和第一有效列边界可以都是由直线来表示,则在预配置地图区域内是由横坐标值表示;优选地,所述相应的行方向的具体来源是:在所述预配置地图区域对应的坐标系内,第一边界障碍列内所有的像素点的横坐标都相等,当第一边界障碍列内的像素点的横坐标是所有障碍行的像素点的横坐标当中的最小横坐标时,第一边界障碍列接近所述预配置地图区域的最左侧边缘,为了更加完整地遍历所述预配置地图区域,所述相应的行方向是横坐标轴的正方向,其中,第二边界障碍列的像素点的横坐标是所有障碍列的像素点的横坐标当中的最小横坐标。在遍历过程中,所遍历到的像素点不一定都计入机器人工作区域内;在一些实施例中,第一边界障碍列和第二边界障碍列之间所限定的区域是足够远的,以使得所述第一有效列边界和所述第二有效列边界之间所限定的区域内能够容纳足够多的空旷区域,使得机器人在相应的区域内遍历到更多有效的工作区域。行预设边界距离是机器人预先设定的,可以依据机器人在所处的房间区域内的沿边行走的特征设定的。值得注意的是,当机器人所处的区域在相应的列方向的延伸区域较为空旷时,机器人在其有效的探测范围内,沿着相应的列方向是搜索不到第二边界障碍行,只能在相应的列方向的反方向上搜索到第一边界障碍行,所以只能从第一边界障碍列开始,沿着由第一边界障碍列指向第二边界障碍列的行方向进行遍历。
55.作为实施例四,第一边界障碍列包括的障碍像素点的数量小于第二边界障碍列包括的障碍像素点的数量时,或机器人在所述预配置地图区域内搜索到第二边界障碍列但搜索不到第一边界障碍列时,从第二边界障碍列开始,机器人内部的控制单元沿着相应的行方向遍历行预设边界距离,可以理解为沿着第二行方向遍历行预设边界距离,得到列边界,则列边界的像素点在每行(对应的行方向)上与第二边界障碍列的相应像素点的距离等于所述行预设边界距离;然后将第二边界障碍列设置为所述第一有效列边界,同时将列边界设置为第二有效列边界。需要说明的是,第二边界障碍列和第二有效列边界可以都是由直线来表示,则在预配置地图区域内是由横坐标值表示;第一列方向与第二列方向是相反的,且都垂直于行方向。优选地,所述相应的行方向的具体来源是:在所述预配置地图区域对应的坐标系内,第二边界障碍列内所有的像素点的横坐标都相等,当第二边界障碍行内的像素点的横坐标是所有障碍行的像素点的横坐标当中的最大横坐标时,第二边界障碍列接近所述预配置地图区域的最右侧边缘,为了更加完整地遍历所述预配置地图区域,所述相应的行方向是横坐标轴的负方向,其中,第一边界障碍列的像素点的横坐标是所有障碍行的
像素点的横坐标当中的最小横坐标。在遍历过程中,所遍历到的像素点不一定都计入机器人工作区域内;由第二边界障碍列指向第一边界障碍列的行方向是垂直于第一边界障碍列或第二边界障碍列,在一些实施例中,第一边界障碍列和第二边界障碍列之间所限定的区域是足够远的,以使得所述第一有效列边界和所述第二有效列边界之间所限定的区域内能够容纳足够多的空旷区域,使得机器人在相应的列边界线框定的区域内移动过更多有效的工作区域。行预设边界距离是机器人预先设定的,可以依据机器人在所处的房间区域内的沿边行走的特征设定的。值得注意的是,当机器人所处的区域在相应的列方向的延伸区域较为空旷时,机器人在其有效的探测范围内,沿着相应的行方向是搜索不到第一边界障碍列。所以只能从第二边界障碍列开始,沿着由第二边界障碍列指向第一边界障碍列的行方向进行遍历。
56.综合实施例三和实施例四,实现根据边界障碍列中包括的障碍像素点的数量,沿着相应的行方向扩展行预设边界距离,可以是沿着与搜索所述边界障碍列的方向相反的方向去扩展行预设边界距离,获得第一有效列边界和第二有效列边界,得到相应的列位置处的边界线或横坐标信息。需要补充的是,前述的遍历实际是机器人沿着行方向检测像素点的操作,每检测一个像素点则计数一次,并记录从上一个像素点到当前一个像素点的坐标距离,同时累加在先获得的坐标距离,获得从第一边界障碍列到当前一个像素点的垂直距离(当前一个像素点在一个行方向上与第一边界障碍列的像素点的距离),或者获得从第二边界障碍列到当前一个像素点的垂直距离(当前一个像素点在一个行方向上与第二边界障碍列的像素点的距离)。在一些实施场景中,在检测到地图区域的一个像素列中障碍像素点的数量满足阈值条件、且障碍像素点的位置处于一定的边界位置(距离机器人较远的位置)处时,确定机器人所需框定的工作区域内所覆盖的障碍物的边界轮廓是完整的或规则的。
57.需要说明的是,第二行方向是横坐标轴正方向时,第一行方向是横坐标轴负方向;或者,第二行方向是横坐标轴负方向时,第一行方向是横坐标轴正方向。
58.作为实施例五,所述边界障碍行包括第一边界障碍行和第二边界障碍行;第一边界障碍行包括的障碍像素点的数量等于第二边界障碍行包括的障碍像素点的数量时,从第一边界障碍行开始,机器人内部的控制单元沿着第一列方向遍历列预设边界距离,得到行边界;优选地,当第一边界障碍行内的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最大纵坐标时,第一边界障碍行接近所述预配置地图区域的最上边缘,为了更加完整地遍历所述预配置地图区域,所述第一列方向是纵坐标轴的负方向,其中,第二边界障碍行的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最小纵坐标。其中,本实施例中确定第一边界障碍行和第二边界障碍行都是预先搜索出的;则行边界的像素点在每列(对应的列方向)上与第一边界障碍行的相应像素点的距离等于列预设边界距离;然后将第一边界障碍行设置为所述第一有效行边界,同时将行边界设置为第二有效行边界;需要说明的是,第一边界障碍行和第一有效行边界可以都是由直线来表示,则在预配置地图区域内是由纵坐标值表示;在一些实施例中,第一边界障碍行和第二边界障碍行之间所限定的区域是足够远的,以使得所述第一有效行边界和所述第二有效行边界之间所限定的区域内能够容纳足够多的空旷区域。列预设边界距离是机器人预先设定的,可以依据机器人在所处的房间区域内的沿边行走的特征设定的或房间区域的实际轮廓边界大小。在一些实施例中,当机器人所处的区域在相应的列方向的延伸区域较为空旷时,机器人在其有效的探测
范围内,沿着相应的列方向是搜索不到第二边界障碍行只能搜索到第一边界障碍行,所以只能从第一边界障碍行开始,在相应的列方向的反方向(由第一边界障碍行指向第二边界障碍行的列方向)上进行遍历。从而实现根据边界障碍行中包括的障碍像素点的数量,沿着相应的列方向扩展列预设边界距离,获得第一有效行边界和第二有效行边界。
59.作为实施例六,第一边界障碍行包括的障碍像素点的数量等于第二边界障碍行包括的障碍像素点的数量时,从第二边界障碍行开始,机器人内部的控制单元沿着第二列方向遍历列预设边界距离,得到行边界;优选地,当第二边界障碍行内的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最小纵坐标时,第二边界障碍行接近所述预配置地图区域的最下边缘,为了更加完整地遍历所述预配置地图区域,所述第二列方向是纵坐标轴的正方向,其中,第一边界障碍行的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最小纵坐标。其中,本实施例中确定第一边界障碍行和第二边界障碍行都是预先搜索出的;则行边界的像素点在每列(对应的列方向)上与第二边界障碍行的相应像素点的距离等于列预设边界距离;然后将第二边界障碍行设置为所述第一有效行边界,同时将行边界设置为第二有效行边界。需要说明的是,第二边界障碍行和第二有效行边界可以都是由直线来表示,则在预配置地图区域内是由纵坐标值表示;在遍历过程中,机器人内部的控制单元所遍历到的像素点不一定都计入机器人工作区域内;由第二边界障碍行指向第一边界障碍行的列方向是垂直于第一边界障碍行或第二边界障碍行,在一些实施例中,第一边界障碍行和第二边界障碍行之间所限定的区域是足够远的,以使得所述第一有效行边界和所述第二有效行边界之间所限定的区域内能够容纳足够多的空旷区域。列预设边界距离是机器人预先设定的,可以依据机器人在所处的房间区域内的沿边行走的特征设定的或由房间区域的轮廓边界覆盖范围决定。在一些实施例中,当机器人所处的区域在相应的列方向的延伸区域较为空旷时,机器人在其有效的探测范围内,沿着相应的列方向是搜索不到第一边界障碍行,只能在相应的列方向的反方向上搜索到第二边界障碍行,所以只能从第二边界障碍行开始,沿着由第二边界障碍行指向第一边界障碍行的列方向进行遍历。从而实现根据边界障碍行中包括的障碍像素点的数量,沿着相应的列方向扩展列预设边界距离,获得第一有效行边界和第二有效行边界。
60.作为实施例七,所述边界障碍列包括第一边界障碍列和第二边界障碍列;第一边界障碍列包括的障碍像素点的数量等于第二边界障碍列包括的障碍像素点的数量时,从第一边界障碍列开始,机器人内部的控制单元沿着第一行方向遍历行预设边界距离,得到列边界,优选地,当第一边界障碍列内的像素点的横坐标是所有障碍行的像素点的横坐标当中的最小横坐标时,第一边界障碍列接近所述预配置地图区域的最左侧边缘,为了更加完整地遍历所述预配置地图区域,所述第一行方向是横坐标轴的正方向,其中,第二边界障碍列的像素点的横坐标是所有障碍列的像素点的横坐标当中的最小横坐标。其中,本实施例中确定第一边界障碍列和第二边界障碍列都是预先搜索出的;则列边界的像素点在每行(对应的行方向)上与第一边界障碍列的相应像素点的距离等于所述行预设边界距离;然后将第一边界障碍列设置为所述第一有效列边界,同时将列边界设置为第二有效列边界;需要说明的是,第一边界障碍列和第一有效列边界可以都是由直线来表示,则在预配置地图区域内是由横坐标值表示;在遍历过程中,第一边界障碍列所遍历到的像素点不一定都计入机器人工作区域内;在一些实施例中,第一边界障碍列和第二边界障碍列之间所限定的
区域是足够远的,以使得所述第一有效列边界和所述第二有效列边界之间所限定的区域内能够容纳足够多的空旷区域。行预设边界距离是机器人预先设定的,可以依据机器人在所处的房间区域内的沿边行走的特征设定的。值得注意的是,当机器人所处的区域在相应的行方向的延伸区域较为空旷时,机器人在其有效的探测范围内,沿着相应的行方向是搜索不到第二边界障碍列,只能搜索到第一边界障碍列,所以只能从第一边界障碍列开始,沿着由第一边界障碍列指向第二边界障碍列的行方向进行遍历。
61.作为实施例八,第一边界障碍列包括的障碍像素点的数量等于第二边界障碍列包括的障碍像素点的数量时,从第二边界障碍列开始,机器人内部的控制单元沿着第二行方向遍历行预设边界距离,得到列边界,优选地,当第二边界障碍列内的像素点的横坐标是所有障碍行的像素点的横坐标当中的最大横坐标时,第二边界障碍列接近所述预配置地图区域的最右侧边缘,为了更加完整地遍历所述预配置地图区域,所述第二行方向是横坐标轴的负方向,其中,第一边界障碍列的像素点的横坐标是所有障碍列的像素点的横坐标当中的最小横坐标。其中,本实施例中确定第一边界障碍列和第二边界障碍列都是预先搜索出的;则机器人识别到列边界的像素点在每行(对应的行方向)上与第二边界障碍列的相应像素点的距离等于所述行预设边界距离;然后将第一边界障碍列设置为所述第一有效列边界,同时将列边界设置为第二有效列边界。需要说明的是,第二边界障碍列和第二有效列边界可以都是由直线来表示,则在预配置地图区域内是由横坐标值表示;在遍历过程中,所遍历到的像素点不一定都计入机器人工作区域内;由第二边界障碍列指向第一边界障碍列的行方向是垂直于第一边界障碍列或第二边界障碍列,在一些实施例中,第一边界障碍列和第二边界障碍列之间所限定的区域是足够远的,以使得所述第一有效列边界和所述第二有效列边界之间所限定的区域内能够容纳足够多的空旷区域。行预设边界距离是机器人预先设定的,可以依据机器人在所处的房间区域内的沿边行走的特征设定的。值得注意的是,当机器人所处的区域在相应的列方向的延伸区域较为空旷时,机器人在其有效的探测范围内,沿着相应的行方向是搜索不到第一边界障碍列,所以只能从第二边界障碍列开始,沿着由第二边界障碍列指向第一边界障碍列的行方向进行遍历。
62.综合实施例一至八,第一有效列边界、第二有效列边界、第三有效列边界和第四有效列边界相交围成一个矩形区域,该矩形区域的长度等于行预设边界距离,该矩形区域的宽度等于列预设边界距离。前述实施例一至八根据同一行方向或列方向上的扩展距离,在所述预配置地图区域内选择障碍像素点的数量合理的像素行(一行相邻接的像素点组成)以及像素列(一列相邻接的像素点组成),并标记出第一有效列边界、第二有效列边界、第三有效列边界和第四有效列边界,围成矩形区域,即所述机器人工作区域,则所述机器人工作区域的轮廓边界可以相互对齐以使得房间区域划分更为规整合理,也确保围成所述机器人工作区域的轮廓边界能够框定出用于机器人连续沿边行走的矩形工作区域。
63.作为实施例九,对于机器人在所述预配置地图区域内搜索不出所述边界障碍列的场景,即机器人在所述预配置地图区域内搜索不出所述第一边界障碍列和所述第二边界障碍列,但与前述实施例提及的遍历无关,而是在执行前述实施例提及的遍历之前的搜索操作。则机器人确定在所述预配置地图区域内不存在所述边界障碍行时,存在以下步骤:以机器人的位置点为扩展起点,沿着第一行方向,在与扩展起点相距行预设边界距离的一半的第一预设位置点处,设置出垂直于第一行方向的列边界,并将垂直于第一行方向的列边界
设置为所述第一有效列边界,可以在一些实施例中将第一预设位置点配置为所述第一有效列边界的中点;以机器人的位置点为扩展起点,沿着第二行方向,在与扩展起点相距行预设边界距离的一半的第二预设位置点处,设置出垂直于第二行方向的列边界,并将垂直于第二行方向的列边界设置为所述第二有效列边界,可以在一些实施例中将第二预设位置点配置为所述第二有效列边界的中点。在本实施例中,第一行方向与第二行方向相反,具体是第二行方向是横坐标轴正方向时,第一行方向是横坐标轴负方向;或者,第二行方向是横坐标轴负方向时,第一行方向是横坐标轴正方向;从而能描述出所述预配置地图区域的x轴方向上的局部区域轮廓特征,可以作为机器人的第一个工作区域的边界线。
64.作为实施例十,对于机器人在所述预配置地图区域内搜索不出所述边界障碍行的场景,即机器人在所述预配置地图区域内搜索不出所述第一边界障碍行和所述第二边界障碍行,但与前述实施例提及的遍历无关,而是在执行前述实施例提及的遍历之前的搜索操作。则机器人确定在所述预配置地图区域内不存在所述边界障碍列时,存在以下步骤:以机器人的位置点为扩展起点,沿着第一列方向,在与扩展起点相距列预设边界距离的一半的第三预设位置点处,设置出垂直于第一列方向的行边界,并将垂直于第一列方向的行边界设置为所述第一有效行边界,可以在一些实施例中将第三预设位置点配置为所述第一有效行边界的中点;以机器人的位置点为扩展起点,沿着第二列方向,在与扩展起点相距列预设边界距离的一半的第四预设位置点处,设置出垂直于第二列方向的行边界,并将垂直于第二列方向的行边界设置为所述第二有效行边界,可以在一些实施例中将第四预设位置点配置为所述第二有效行边界的中点;其中,第一列方向与第二列方向相反,具体是第二列方向是纵坐标轴正方向时,第一列方向是纵坐标轴负方向;或者,第二列方向是纵坐标轴负方向时,第一列方向是纵坐标轴正方向;从而能描述出所述预配置地图区域的y轴方向上的局部区域轮廓特征,可以作为机器人的第一个工作区域的边界线。
65.在前述实施例中,第二边界障碍行被第一有效列边界和第二有效列边界分割出第二边界障碍行线段,其中,第二边界障碍行线段的长度等于行预设边界距离。和/或第一边界障碍行被第一有效列边界和第二有效列边界分割出第一边界障碍行线段,其中,第一边界障碍行线段的长度等于行预设边界距离;和/或第一边界障碍列被第一有效行边界和第二有效行边界分割出第一边界障碍列线段,其中,第一边界障碍列的长度等于列预设边界距离。和/或第二边界障碍列被第一有效行边界和第二有效行边界分割出第二边界障碍列线段,其中,第二边界障碍列的长度等于列预设边界距离。对应到图4中,边界障碍行和边界障碍列确定的机器人工作区域pqrs。其中,机器人工作区域pqrs中包括第一有效行边界pq、第二有效行边界rs、第一有效列边界qs和第二有效列边界pr。结合图3和图4线段ab和线段cd都处于同一边界障碍行,线段ef和线段mn都处于同一边界障碍列,线段ab、线段cd、线段ef和线段mn都是由障碍像素点依次连接成的线段。从而通过第一有效行边界、第二有效行边界、第一有效列边界和第二有效列边界围成一个规整合理的矩形区域。
66.作为一种实施例,所述对预配置地图区域内的障碍像素点的数量进行逐行逐列的统计的方法包括,机器人对预配置地图区域进行图像处理,即将图2所示的地图区域处理为图3所示的地图区域;机器人在经过图像处理的预配置地图区域内标记出障碍像素点和非障碍像素点,其中,障碍像素点是用于表示预配置地图区域中的障碍物的像素点,非障碍像素点是用于表示预配置地图区域中的非障碍物的像素点;非障碍像素点包括用于表示不被
障碍物占据的位置的像素点、以及未被机器人识别和标记的像素点,未被机器人标记的像素点用以代表未知位置点。障碍像素点依次连接成障碍物线段,包括图3的线段ab、线段cd、线段ef和线段mn。然后,机器人通过逐行统计所述预配置地图区域内的障碍像素点的数量来标记出边界障碍行,同时通过逐列统计所述预配置地图区域内的障碍像素点的数量来标记出边界障碍列,对应到图3,线段ab和线段cd都处于同一边界障碍行,线段ef和线段mn都处于同一边界障碍列。从而结合预配置地图区域内相应行列位置及其包括的像素点数量信息确定出适用于围成前述机器人工作区域的边界、以及前述机器人工作区域的覆盖范围,并且尽可能地覆盖到距离机器人较远处的障碍物的完整的或规整的轮廓线。
67.作为一种实施例,所述通过逐行统计预配置地图区域内的障碍像素点的数量来标记边界障碍行的方法具体包括,机器人在经过图像处理的预配置地图区域内,每当统计到一行像素点中存在的障碍像素点的数量大于行数量阈值,则将该行标记为障碍行;然后在该行中继续遍历完剩余的像素点或直接换行继续遍历。每当遍历完一行像素点或标记出一个障碍行,则继续遍历下一行像素点。如此重复,直至遍历完经过图像处理的预配置地图区域内所有行,包括沿着列方向遍历完经过图像处理的预配置地图区域内所有像素点,或者没有遍历完经过图像处理的预配置地图区域内所有行的像素点但已经标记出所有的障碍行。然后将列方向上的直线距离最大的两个障碍行都标记为边界障碍行;其中,行数量阈值是预配置地图区域在行方向上所占据的直线长度的预设倍数;预设倍数设置为大于0且小于1,与作为区域边界的障碍物的尺寸相关联;优选地,预设倍数是0.1。行数量阈值用以表示预设障碍物在所述预配置地图区域内沿着行方向分布的障碍像素点依次连接形成的最小线段长度,使得一行像素点中存在的障碍像素点的数量大于行数量阈值时才能被识别为在该行像素点可以组成机器人工作区域的边界,其中,预设障碍物是属于长度较大的障碍物,可以是连续型障碍物,比如,墙体、或一个墙面缺口的两端,缺口可以是房间的门洞,门洞两侧的障碍物是同一房间内的四面墙壁,四面墙壁是连续的、一体的,不属于孤立障碍物。
68.需要说明的是,列方向是所述预配置地图区域的纵坐标轴方向,行方向是所述预配置地图区域的横坐标轴方向;在所述预配置地图区域内,本实施例标记出两个边界障碍行时,其中一个边界障碍行的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最大纵坐标,另一个边界障碍行的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最小纵坐标;其中,每个障碍行中所有像素点的纵坐标都相等;其中,行数量阈值是预配置地图区域在横坐标轴方向上的长度的预设倍数。综上,本实施例能够在预配置地图区域内,沿着列方向获取最上和最下的两个障碍行,提取出最为边缘的两个边界障碍行,在这两个边界障碍行之间能够覆盖相应距离机器人的位置点最远的障碍物的较为完整或规整的轮廓线,使得机器人构建的第一个工作区域沿着列方向覆盖更多空旷区域,以简化机器人的路径规划方式。
69.作为一种逐行遍历像素点的实施例,沿着第一列方向逐行遍历经过图像处理的预配置地图区域内的像素点,可选地,从预配置地图区域最上边开始自上而下地遍历,第一列方向是预配置地图区域的纵坐标轴的负方向。每当统计到一行像素点中存在的障碍像素点的数量大于行数量阈值,则将该行标记为障碍行;每当遍历完一行像素点或每当标记一个障碍行,则沿着第一列方向继续遍历下一行像素点;如此重复,若检测到存在障碍行,则将
与机器人的位置点的垂直距离最远的障碍行标记为第一边界障碍行。在图3中,线段ab和线段cd的长度明显大于其下方的离散的黑色小线段,且在预配置地图区域内在列方向上距离机器人的位置点o较远,故在图3所示的预配置地图区域内将线段ab和线段cd所在的一行标记为第一边界障碍行;若沿着第一列方向检测到不存在障碍行,则确定机器人搜索不到第一边界障碍行,此时机器人已经遍历完所述经过图像处理的预配置地图区域内所有像素点,其中,位置点o是机器人的位置点。
70.需要说明的是,第二列方向是纵坐标轴正方向时,第一列方向是纵坐标轴负方向;或者,第二列方向是纵坐标轴负方向时,第一列方向是纵坐标轴正方向;其中,每个障碍行中所有像素点的纵坐标都相等;其中,行数量阈值是预配置地图区域在横坐标轴方向上的长度的预设倍数。优选地,预设倍数是0.1。
71.作为另一种逐行遍历像素点的实施例,沿着第二列方向逐行遍历经过图像处理的预配置地图区域内的像素点,可选地,从预配置地图区域的最下边开始自下而上的遍历,第二列方向是预配置地图区域的纵坐标轴的正方向。每当统计到一行像素点中存在的障碍像素点的数量大于行数量阈值,则将该行标记为障碍行;每当遍历完一行像素点或每当标记一个障碍行,则沿着第二列方向继续遍历下一行像素点;如此重复,若检测到存在障碍行,则将与机器人的位置点的距离最远的障碍行标记为第二边界障碍行;若沿着第二列方向检测到不存在障碍行,则确定机器人搜索不到第二边界障碍行,此时机器人已经遍历完所述经过图像处理的预配置地图区域内所有像素点。
72.综上逐行遍历像素点的实施例,根据机器人构建的地图中的表示障碍物的像素点数量信息,在特定地图区域内提取出最为边缘的边界障碍行,框定出机器人工作区域在地图区域中的横向边界,以便于沿着尽可能远处的障碍物的轮廓进行沿边行走,也使得机器人构建的第一个工作区域沿着相应列方向覆盖更多空旷区域,以简化机器人的路径规划方式。
73.作为一种实施例,所述通过逐列统计预配置地图区域内的障碍像素点的数量来获得边界障碍列的方法具体包括,机器人在经过图像处理的预配置地图区域内,每当统计到一列像素点中存在的障碍像素点的数量大于列数量阈值,则将该列标记为障碍列;每当遍历完一列像素点或每当标记一个障碍列,则继续遍历下一列的像素点;如此重复统计,直至遍历完经过图像处理的预配置地图区域内所有列,包括沿着行方向遍历完经过图像处理的预配置地图区域内所有像素点,或者没有遍历完经过图像处理的预配置地图区域内所有列的像素点但已经标记出所有的障碍列。然后将该行方向上的直线距离最大的两个障碍列都标记为边界障碍列;其中,列数量阈值是预配置地图区域在列方向上所占据的直线长度的预设倍数;预设倍数大于0且小于1,优选地,预设倍数是0.1。列数量阈值用以表示预设障碍物在所述预配置地图区域内沿着列方向分布的障碍像素点依次连接形成的最小线段长度,使得一列像素点中存在的障碍像素点的数量大于列数量阈值时才能被识别为在该列像素点可以组成机器人工作区域的边界,其中,预设障碍物是属于长度较大的障碍物,可以是连续型障碍物,比如,墙体、或一个墙面缺口的两端,缺口可以是房间的门洞,门洞两侧的障碍物是同一房间内的四面墙壁,四面墙壁是连续的、一体的,不属于孤立障碍物。
74.需要说明的是,行方向是所述预配置地图区域的横坐标轴方向,本实施例标记出两个边界障碍列时,其中一个边界障碍列的像素点的横坐标是所有障碍列的像素点的横坐
标当中的最大横坐标,另一个边界障碍列的像素点的横坐标是所有障碍列的像素点的横坐标当中的最小横坐标;其中,每个障碍列中所有像素点的横坐标都相等;其中,列数量阈值是预配置地图区域在纵坐标轴方向上的宽度的预设倍数。综上,本实施例能够在预配置地图区域内,沿着行方向获取最左和最右的两个障碍列,提取出最为边缘的两个边界障碍列,在这两个边界障碍列之间能够覆盖相应距离机器人的位置点最远的障碍物的较为完整或规整的轮廓线,使得机器人构建的第一个工作区域沿着相应行方向覆盖更多空旷区域,以简化机器人的路径规划方式。
75.作为一种逐列遍历像素点的实施例,沿着第一行方向逐行遍历经过图像处理的预配置地图区域内的像素点,可选地,从预配置地图区域的最左侧的边界开始自左向右的遍历,第一行方向是预配置地图区域的横坐标轴的正方向。每当统计到一列像素点中存在的障碍像素点的数量大于列数量阈值,则将该列标记为障碍列;每当遍历完一列像素点或每当标记一个障碍列,则沿着第一行方向继续遍历下一列像素点;如此重复,若检测到存在障碍列,则将与机器人的位置点的垂直距离最远的障碍列标记为第一边界障碍列;若沿着第一行方向检测到不存在障碍列,则确定机器人搜索不到第一边界障碍列。在图3中,线段ef和线段mn的长度明显大于其左侧的离散的黑色小线段,且在预配置地图区域内在行方向上距离机器人的位置点o较远,故在图3所示的预配置地图区域内将线段ef和线段mn所在的一列标记为第一边界障碍列;其中,位置点o是机器人的位置点。
76.需要说明的是,第二列方向是纵坐标轴正方向时,第一列方向是纵坐标轴负方向;或者,第二列方向是纵坐标轴负方向时,第一列方向是纵坐标轴正方向;其中,每个障碍行中所有像素点的纵坐标都相等;其中,行数量阈值是预配置地图区域在横坐标轴方向上的长度的预设倍数。优选地,预设倍数是0.1。
77.作为另一种逐列遍历像素点的实施例,沿着第二行方向逐行遍历经过图像处理的预配置地图区域内的像素点,可选地,从预配置地图区域的最右侧的边界开始遍历,第二行方向是预配置地图区域的横坐标轴的负方向。每当统计到一列像素点中存在的障碍像素点的数量大于列数量阈值,则将该列标记为障碍列;每当遍历完一列像素点或每当标记一个障碍列,则沿着第二行方向继续遍历下一列像素点;如此重复,若检测到存在障碍列,则将与机器人的位置点的距离最远的障碍列标记为第二边界障碍列;若沿着第二行方向检测到不存在障碍列,则确定机器人搜索不到第二边界障碍列,此时机器人已经遍历完所述经过图像处理的预配置地图区域内所有像素点。
78.综上逐列遍历像素点的实施例,根据机器人构建的地图中的表示障碍物的像素点数量信息,在特定地图区域内提取出最为边缘的边界障碍列,框定出机器人工作区域在地图区域中的纵向边界,以便于沿着尽可能远处的障碍物的轮廓进行沿边行走,也使得机器人构建的第一个工作区域沿着相应行方向上覆盖更多空旷区域,以简化机器人的路径规划方式。
79.优选地,机器人的位置点是位于预配置地图区域的内部,如图4所示,机器人的位置点位于已经框定的机器人工作区域pqrs中;具体地,在所有标记出的障碍行当中,边界障碍行是在相应列方向上距离机器人的位置点最远的障碍行;在所有标记出的障碍列当中,边界障碍列是在相应行方向上距离机器人的位置点最远的障碍列。从而在同一地图区域内获取最上和最下的两个障碍行、以及最左和最右的两个障碍列。
80.优选地,所述预配置地图区域是以机器人的位置点为对称中心的地图区域;其中,预配置地图区域是矩形区域。以便于从机器人的位置点开始,以机器人的位置点为扩展起点进行不同坐标轴方向(包括行方向和列方向)的区域扩展,直至分别达到扩展第一有效行边界、第二有效行边界、第一有效列边界和第二有效列边界,并在此基础上相交围成一个规整合理的矩形区域,也便于机器人从预配置地图区域的对称中心开始,导航至第一有效行边界、第二有效行边界、第一有效列边界或第二有效列边界,然后在相应的矩形区域内进行沿边行走,但第一有效行边界、第二有效行边界、第一有效列边界或第二有效列边界不一定都是墙体。
81.在前述实施例中,对预配置地图区域进行图像处理的方法包括:对所述预配置地图区域进行闭操作,使得所述预配置地图区域中标记的障碍物的轮廓线得到完整的描述,所述闭操作被配置为在步骤s1和步骤s2之间执行。其中,所述闭操作用于连接所述预配置地图区域中的连通域;其中,所述预配置地图区域是属于机器人构建出的用于描述障碍物的位置特征的特定尺寸的图像区域。优选地,所述预配置地图区域可以是以机器人的位置点为对称中心的3.5m*3.5m的矩形区域,是从机器人预先构建的全局地图中截取出来的局部地图区域。
82.具体地,所述闭操作包括,机器人先将所述预配置地图区域进行二值化处理,获得二值化地图;然后对二值化地图进行图像膨胀处理,再对经过图像膨胀处理后的二值化地图进行图像腐蚀处理,使得部分表示非障碍物的像素点被配置为表示障碍物的像素点,以将未经过图像膨胀处理和图像腐蚀处理的二值化地图中障碍物的轮廓线中的缺口得到填充,则图2的像素点a和像素点b之间的离散点集合经过闭操作后变为图3的线段ab,图2的像素点c和像素点d之间的离散点集合经过闭操作后变为图3的线段cd,图2的像素点e和像素点f之间的离散点集合经过闭操作后变为图3的线段ef,图2的像素点m和像素点n之间的离散点集合经过闭操作后变为图3的线段mn。其中,二值化地图中,表示障碍物的像素点的像素值和表示非障碍物的像素点的像素值不同,一般地,像素值为255的像素点被配置为组成障碍物,像素值为0的像素点被配置为组成非障碍物。由于二值化后的地图,本来连接在一起的同一个障碍物可能被分为多段,原因可能是机器人预先构建的地图不稳定,或者激光数据不稳定,导致地图不能反映实际;则本实施例通过前述闭操作修复同一障碍物间缺失的部分。
83.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电 连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器 (rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其
他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
84.在上述实施例中,以可执行扫地任务的机器人(简称为扫地机器人)为例对本技术技术方案进行了示例性说明,但并不限于扫地机器人。本技术各实施例中的机器人泛指任何能够在其所在环境中高度自主地进行空间移动的机械设备,例如,可以是扫地机器人、陪护机器人或引导机器人等,也可以是净化器、无人驾驶车辆等。当然,对于不同机器人形态,其所执行的工作任务也会有所不同,对此不做限定。
85.要理解本文所述的工作区域规划方法对应的实施例可以在机器人静止状态下,由硬件、软件、固件、中间件、微代码或其任意组合来实现。对于硬件实现方式,处理单元可以在一个或多个专用集成电路(asic) 、数字信号处理器(dsp) 、数字信号处理器件(dspd) 、可编程逻辑器件(pld) 、现场可编程门阵列(fpga) 、处理器、控制器、微控制器、微处理器、被设计以执行本文所述功能的其他电子单元、或其组合内实现。当以软件、固件、中间件或微代码、程序代码或代码段来实现实施例时,可以将它们存储在诸如存储组件的机器可读介质中。
86.在前述实施例的基础上,本发明另一实施例还公开一种芯片,内置控制程序,所述控制程序用于控制机器人执行前述实施例所述的工作区域规划方法。所述芯片根据机器人构建的地图中的表示障碍物的像素点数量信息,在特定地图区域内提取出最为边缘且彼此相交的边界障碍行和边界障碍列,框定出一个机器人工作区域,作为机器人在相应的工作环境内的最优的一个工作区域,从而以每行每列中的表示障碍物的像素点的数量和与机器人的位置点的距离信息为依据的第一个工作区域的规划,使得所述第一个工作区域内框定的障碍物的轮廓线尽可能是完整的或规则的,既简化室内工作区域的工作路径的规划,又能在尽可能远的距离内遍历到足够多的空旷区域,使得机器人在所述第一个工作区域内移动到更多有效的工作区域。
87.要理解本技术所述的工作区域规划方法对应的实施例可以由硬件、软件、固件、中间件、微代码或其任意组合来实现。对于硬件实现方式,处理单元可以在一个或多个专用集成电路(asic) 、数字信号处理器(dsp) 、数字信号处理器件(dspd) 、可编程逻辑器件(pld) 、现场可编程门阵列(fpga) 、处理器、控制器、微控制器、微处理器、被设计以执行本文所述功能的其他电子单元、或其组合内实现。当以软件、固件、中间件或微代码、程序代码或代码段来实现实施例时,可以将它们存储在诸如存储组件的机器可读介质中。
88.本发明另一实施例还公开一种机器人,该机器人的机体顶部可以装配有支持360度探测的激光传感器,该机器人内置上述实施例所述的芯片,用于在机器人构建的地图内,对预配置地图区域内的障碍像素点的数量进行逐行逐列的统计,然后根据相应行中的障碍像素点的数量和相应列中的障碍像素点的数量,扩展得到机器人工作区域,作为机器人在相应的工作环境内的最优的一个工作区域,具体的规划方法参阅前述实施例,在此不再赘述。一般地,根据沿边导航的实现需求,机器人装配的激光雷达和视觉传感器可以为多个,设置在不同位置,以达到获得机身周边障碍物点云数据的目的。其中,激光传感器支持实时扫描构建激光地图,并存储到机器人内置所述的芯片中。
89.上述实施例只为说明本发明的技术构思及特点,其目的是让熟悉该技术领域的技术人员能够了解本发明的内容并据以实施,并不能以此来限制本发明的保护范围。凡根据本发明精神实质所作出的等同变换或修饰,都应涵盖在本发明的保护范围之内。
技术特征:
1.基于像素点的工作区域规划方法,其特征在于,该工作区域规划方法包括:在机器人构建的地图内,对预配置地图区域内的障碍像素点的数量进行逐行逐列的统计;根据相应行中的障碍像素点的数量和相应列中的障碍像素点的数量,扩展得到机器人工作区域。2.根据权利要求1所述工作区域规划方法,其特征在于,所述根据相应行中的障碍像素点的数量和相应列中的障碍像素点的数量,扩展得到机器人工作区域的方法包括:在预配置地图区域内,根据边界障碍行中包括的障碍像素点的数量,沿着相应的列方向扩展列预设边界距离,获得第一有效行边界和第二有效行边界;其中,第一有效行边界和第二有效行边界分别属于预配置地图区域的对应一行像素点组成;在预配置地图区域内,根据边界障碍列中包括的障碍像素点的数量,沿着相应的行方向扩展行预设边界距离,获得第一有效列边界和第二有效列边界;其中,第一有效列边界和第二有效列边界分别属于预配置地图区域的对应一列像素点组成;然后将第一有效行边界、第二有效行边界、第一有效列边界和第二有效列边界相交围成的区域设置为所述机器人工作区域。3.根据权利要求2所述工作区域规划方法,其特征在于,所述边界障碍行包括第一边界障碍行和第二边界障碍行;第一边界障碍行包括的障碍像素点的数量大于第二边界障碍行包括的障碍像素点的数量时,或机器人在所述预配置地图区域内搜索到第一边界障碍行但搜索不到第二边界障碍行时,从第一边界障碍行开始,沿着第一列方向遍历列预设边界距离,得到行边界;然后将第一边界障碍行设置为所述第一有效行边界,同时将行边界设置为第二有效行边界;第一边界障碍行包括的障碍像素点的数量小于第二边界障碍行包括的障碍像素点的数量时,或机器人在所述预配置地图区域内搜索到第二边界障碍行但搜索不到第一边界障碍行时,从第二边界障碍行开始,沿着第二列方向遍历列预设边界距离,得到行边界;然后将第二边界障碍行设置为所述第一有效行边界,同时将行边界设置为第二有效行边界;其中,第一列方向与第二列方向相反。4.根据权利要求2所述工作区域规划方法,其特征在于,所述边界障碍列包括第一边界障碍列和第二边界障碍列;第一边界障碍列包括的障碍像素点的数量大于第二边界障碍列包括的障碍像素点的数量时,或机器人在所述预配置地图区域内搜索到第一边界障碍列但搜索不到第二边界障碍列时,从第一边界障碍列开始,沿着相应的行方向遍历行预设边界距离,得到列边界;然后将第一边界障碍列设置为所述第一有效列边界,同时将列边界设置为第二有效列边界;第一边界障碍列包括的障碍像素点的数量小于第二边界障碍列包括的障碍像素点的数量时,或机器人在所述预配置地图区域内搜索到第二边界障碍列但搜索不到第一边界障碍列时,从第二边界障碍列开始,沿着相应的行方向遍历行预设边界距离,得到列边界;然后将第二边界障碍列设置为所述第一有效列边界,同时将列边界设置为第二有效列边界;其中,第一行方向与第二行方向相反。5.根据权利要求2所述工作区域规划方法,其特征在于,所述边界障碍行包括第一边界障碍行和第二边界障碍行;
第一边界障碍行包括的障碍像素点的数量等于第二边界障碍行包括的障碍像素点的数量时,从第一边界障碍行开始,沿着由第一列方向遍历列预设边界距离,得到行边界;然后将第一边界障碍行设置为所述第一有效行边界,同时将行边界设置为第二有效行边界;或者,第一边界障碍行包括的障碍像素点的数量等于第二边界障碍行包括的障碍像素点的数量时,从第二边界障碍行开始,沿着由第二列方向遍历列预设边界距离,得到行边界;然后将第二边界障碍行设置为所述第一有效行边界,同时将行边界设置为第二有效行边界;其中,第一列方向与第二列方向相反。6.根据权利要求2所述工作区域规划方法,其特征在于,所述边界障碍列包括第一边界障碍列和第二边界障碍列;第一边界障碍列包括的障碍像素点的数量等于第二边界障碍列包括的障碍像素点的数量时,从第一边界障碍列开始,沿着第一行方向遍历行预设边界距离,得到列边界;然后将第一边界障碍列设置为所述第一有效列边界,同时将列边界设置为第二有效列边界;或者,第一边界障碍列包括的障碍像素点的数量等于第二边界障碍列包括的障碍像素点的数量时,从第二边界障碍列开始,沿着第二行方向遍历行预设边界距离,得到列边界;然后将第一边界障碍列设置为所述第一有效列边界,同时将列边界设置为第二有效列边界;其中,第一行方向与第二行方向相反。7.根据权利要求2所述工作区域规划方法,其特征在于,机器人在所述预配置地图区域内搜索不出所述边界障碍列时,存在以下步骤:以机器人的位置点为扩展起点,沿着第一行方向,在与扩展起点相距行预设边界距离的一半的第一预设位置点处,设置出垂直于第一行方向的列边界,并将垂直于第一行方向的列边界设置为所述第一有效列边界;以机器人的位置点为扩展起点,沿着第二行方向,在与扩展起点相距行预设边界距离的一半的第二预设位置点处,设置出垂直于第二行方向的列边界,并将垂直于第二行方向的列边界设置为所述第二有效列边界;其中,第一行方向与第二行方向相反。8.根据权利要求2所述工作区域规划方法,其特征在于,机器人在所述预配置地图区域内搜索不出所述边界障碍行时,存在以下步骤:以机器人的位置点为扩展起点,沿着第一列方向,在与扩展起点相距列预设边界距离的一半的第三预设位置点处,设置出垂直于第一列方向的行边界,并将垂直于第一列方向的行边界设置为所述第一有效行边界;以机器人的位置点为扩展起点,沿着第二列方向,在与扩展起点相距列预设边界距离的一半的第四预设位置点处,设置出垂直于第二列方向的行边界,并将垂直于第二列方向的行边界设置为所述第二有效行边界;其中,第一列方向与第二列方向相反。9.根据权利要求3至8任一项所述工作区域规划方法,其特征在于,第二边界障碍行被第一有效列边界和第二有效列边界分割出第二边界障碍行线段,其中,第二边界障碍行线段的长度等于行预设边界距离;
第一边界障碍行被第一有效列边界和第二有效列边界分割出第一边界障碍行线段,其中,第一边界障碍行线段的长度等于行预设边界距离;第一边界障碍列被第一有效行边界和第二有效行边界分割出第一边界障碍列线段,其中,第一边界障碍列的长度等于列预设边界距离;第二边界障碍列被第一有效行边界和第二有效行边界分割出第二边界障碍列线段,其中,第二边界障碍列的长度等于列预设边界距离。10.根据权利要求3至8任一项所述工作区域规划方法,其特征在于,所述对预配置地图区域内的障碍像素点的数量进行逐行逐列的统计的方法包括:对预配置地图区域进行图像处理;在经过图像处理的预配置地图区域内标记出障碍像素点和非障碍像素点,其中,障碍像素点是用于表示预配置地图区域中的障碍物的像素点,非障碍像素点是用于表示预配置地图区域中的非障碍物的像素点;通过逐行统计所述预配置地图区域内的障碍像素点的数量来标记边界障碍行;通过逐列统计所述预配置地图区域内的障碍像素点的数量来标记边界障碍列。11.根据权利要求10所述工作区域规划方法,其特征在于,所述通过逐行统计预配置地图区域内的障碍像素点的数量来标记边界障碍行的方法具体包括:在经过图像处理的预配置地图区域内,每当统计到一行像素点中存在的障碍像素点的数量大于行数量阈值,则将该行标记为障碍行;每当遍历完一行像素点或标记出一个障碍行,则继续遍历下一行像素点;如此重复,直至遍历完经过图像处理的预配置地图区域内所有行,然后将列方向上的直线距离最大的两个障碍行都标记为边界障碍行;其中,行数量阈值是预配置地图区域在行方向上所占据的直线长度的预设倍数;预设倍数设置为大于0且小于1。12.根据权利要求11所述工作区域规划方法,其特征在于,列方向是所述预配置地图区域的纵坐标轴方向,行方向是所述预配置地图区域的横坐标轴方向;在所述预配置地图区域内,标记出两个边界障碍行,其中一个边界障碍行的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最大纵坐标,另一个边界障碍行的像素点的纵坐标是所有障碍行的像素点的纵坐标当中的最小纵坐标;其中,每个障碍行中所有像素点的纵坐标都相等;其中,行数量阈值是预配置地图区域在横坐标轴方向上的长度的预设倍数。13.根据权利要求12所述工作区域规划方法,其特征在于,沿着第一列方向逐行遍历经过图像处理的预配置地图区域内的像素点,每当统计到一行像素点中存在的障碍像素点的数量大于行数量阈值,则将该行标记为障碍行;每当遍历完一行像素点或标记出一个障碍行,则沿着第一列方向继续遍历下一行像素点;如此重复,若检测到存在障碍行,则将与机器人的位置点的距离最远的障碍行标记为第一边界障碍行;若检测到不存在障碍行,则确定机器人搜索不到第一边界障碍行;沿着第二列方向逐行遍历经过图像处理的预配置地图区域内的像素点,每当统计到一行像素点中存在的障碍像素点的数量大于行数量阈值,则将该行标记为障碍行;每当遍历完一行像素点或标记出一个障碍行,则沿着第二列方向继续遍历下一行像素点;如此重复,
若检测到存在障碍行,则将与机器人的位置点的距离最远的障碍行标记为第二边界障碍行;若检测到不存在障碍行,则确定机器人搜索不到第二边界障碍行;其中,第一列方向与第二列方向相反;其中,第一边界障碍行和第二边界障碍行都属于边界障碍行。14.根据权利要求13所述工作区域规划方法,其特征在于,第二列方向是纵坐标轴正方向时,第一列方向是纵坐标轴负方向;或者,第二列方向是纵坐标轴负方向时,第一列方向是纵坐标轴正方向。15.根据权利要求11所述工作区域规划方法,其特征在于,所述通过逐列统计预配置地图区域内的障碍像素点的数量来标记边界障碍列的方法具体包括:在经过图像处理的预配置地图区域内,每当统计到一列像素点中存在的障碍像素点的数量大于列数量阈值,则将该列标记为障碍列;每当遍历完一列像素点或标记出一个障碍列,则继续遍历下一列的像素点;如此重复统计,直至遍历完经过图像处理的预配置地图区域内所有列,然后将行方向上的直线距离最大的两个障碍列都标记为边界障碍列;其中,列数量阈值是预配置地图区域在列方向上所占据的直线长度的预设倍数;预设倍数大于0且小于1。16.根据权利要求15所述工作区域规划方法,其特征在于,行方向是所述预配置地图区域的横坐标轴方向;在所述预配置地图区域内,标记出两个边界障碍列,其中一个边界障碍列的像素点的横坐标是所有障碍列的像素点的横坐标当中的最大横坐标,另一个边界障碍列的像素点的横坐标是所有障碍列的像素点的横坐标当中的最小横坐标;其中,每个障碍列中所有像素点的横坐标都相等;其中,列数量阈值是预配置地图区域在纵坐标轴方向上的宽度的预设倍数。17.根据权利要求16所述工作区域规划方法,其特征在于,沿着第一行方向逐列遍历经过图像处理的预配置地图区域内的像素点,每当统计到一列像素点中存在的障碍像素点的数量大于列数量阈值,则将该列标记为障碍列;每当遍历完一列像素点或标记出一个障碍列,则沿着第一行方向继续遍历下一列像素点;如此重复,若检测到存在障碍列,则将与机器人的位置点的距离最远的障碍列标记为第一边界障碍列;若检测到不存在障碍列,则确定机器人搜索不到第一边界障碍列;沿着第二行方向逐列遍历经过图像处理的预配置地图区域内的像素点,每当统计到一列像素点中存在的障碍像素点的数量大于列数量阈值,则将该列标记为障碍列;每当遍历完一列像素点或标记出一个障碍列,则沿着第二行方向继续遍历下一列像素点;如此重复,若检测到存在障碍列,则将与机器人的位置点的距离最远的障碍列标记为第二边界障碍列;若检测到不存在障碍列,则确定机器人搜索不到第二边界障碍列;其中,第一行方向与第二行方向相反;其中,第一边界障碍列和第二边界障碍列都属于边界障碍列。18.根据权利要求17所述工作区域规划方法,其特征在于,第二行方向是横坐标轴正方向时,第一行方向是横坐标轴负方向;或者,第二行方向是横坐标轴负方向时,第一行方向是横坐标轴正方向。19.根据权利要求15所述工作区域规划方法,其特征在于,机器人的位置点是位于预配
置地图区域的内部;在所有标记出的障碍行当中,边界障碍行是在相应列方向上距离机器人的位置点最远的障碍行;在所有标记出的障碍列当中,边界障碍列是在相应行方向上距离机器人的位置点最远的障碍列。20.根据权利要求19所述工作区域规划方法,其特征在于,所述预配置地图区域是以机器人的位置点为对称中心的地图区域;其中,预配置地图区域是矩形区域。21.根据权利要求10所述工作区域规划方法,其特征在于,对预配置地图区域进行图像处理的方法包括:对所述预配置地图区域进行闭操作,使得所述预配置地图区域中标记的障碍物的轮廓线得到完整的描述,其中,所述闭操作用于连接所述预配置地图区域中的连通域;其中,所述预配置地图区域是属于机器人构建出的用于描述障碍物的位置特征的特定尺寸的图像区域。22.根据权利要求21所述工作区域规划方法,其特征在于,所述闭操作包括:将所述预配置地图区域进行二值化处理,获得二值化地图;然后对二值化地图进行图像膨胀处理,再对经过图像膨胀处理后的二值化地图进行图像腐蚀处理,使得部分表示非障碍物的像素点被配置为表示障碍物的像素点;其中,二值化地图中,表示障碍物的像素点的像素值和表示非障碍物的像素点的像素值不同。23.一种芯片,内置控制程序,所述控制程序用于控制机器人执行权利要求1至22任一项所述工作区域规划方法。24.一种机器人,其特征在于,该机器人内置权利要求23所述的芯片。
技术总结
本发明公开基于像素点的工作区域规划方法、芯片及机器人,该工作区域规划方法包括在机器人构建的地图内,对预配置地图区域内的障碍像素点的数量进行逐行逐列的统计;根据相应行中的障碍像素点的数量和相应列中的障碍像素点的数量,扩展得到机器人工作区域,作为机器人的第一个工作区域,既简化室内工作区域的工作路径的规划,又能在尽可能远的距离内遍历到足够多的空旷区域,使得机器人在所述第一个工作区域内移动到更多有效的工作区域。工作区域内移动到更多有效的工作区域。工作区域内移动到更多有效的工作区域。
技术研发人员:黄惠保 陈卓标 周和文 孙明 徐松舟
受保护的技术使用者:珠海一微半导体股份有限公司
技术研发日:2022.01.25
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种乳清蛋白粉固体饮料及其制备方法与流程 下一篇:工业触摸一体机的制作方法
