基于障碍像素点的边界配置方法、芯片及机器人与流程
未命名
08-06
阅读:63
评论:0

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