一种沿边起点提取方法及相关装置与流程

    专利查询2022-07-08  152



    1.本技术涉及扫地机器人技术领域,特别是涉及一种沿边起点提取方 法及相关装置。


    背景技术:

    2.随着科技的发展,扫地机器人逐渐走进大众的视野,凭借其智能、 灵活的特点为人们的日常生活提供了诸多便利。清扫是扫地机的主要任 务之一,在其执行清扫任务之前通常需要对家居环境进行地图构建。沿 边建图是目前最普遍使用的地图构建方式。其中,沿边起点的选取直接 影响到沿边建图的效率与性能,因此成为扫地机机器人领域一大研究热 点。


    技术实现要素:

    3.本技术主要解决的技术问题是提供一种沿边起点提取方法及相关 装置,实现规避干扰物对沿边起点提取算法准确度和效率的影响。
    4.为解决上述技术问题,本技术采用的一个技术方案是:提供一种沿 边起点提取方法,所述方法包括:
    5.扫地机器人获取原始局部地图;
    6.确定所述原始局部地图中的占据栅格的点云属性,并剔除点云属性 为离群点的占据栅格,获得预处理局部地图,其中,所述占据栅格的点 云属性包括核心点、所述离群点和边界点;
    7.对所述预处理局部地图执行沿边起点提取操作,获取目标沿边起 点。
    8.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种 扫地机器人,所述扫地机器人包括处理器以及与所述处理器耦接的存储 器;其中,
    9.所述存储器用于存储计算机程序;
    10.所述处理器用于运行所述计算机程序以执行如上任意一项所述的 方法。
    11.为解决上述技术问题,本技术采用的又一个技术方案是:提供一种 计算机可读存储介质,所述计算机可读存储介质存储有能够被处理器运 行的计算机程序,所述计算机程序用于实现如上任一项所述的方法。
    12.本技术的有益效果是:区别于现有技术的情况,本技术所提供的技 术方案,扫地机器人通过获取原始局部地图,然后确定原始局部地图中 的占据栅格的点云属性,并剔除点云属性为离群点的占据栅格,获得预 处理局部地图,再对预处理局部地图执行沿边起点提取操作,获取目标 沿边起点。具体是通过剔除原始局部地图中点云属性为离群点的占据栅 格,可以实现规避干扰物对沿边起点提取算法准确度和效率的影响,起 到了良好的技术效果。
    附图说明
    13.图1为本技术一种沿边起点提取方法一实施例中的流程示意图;
    14.图2为本技术一种沿边起点提取方法中的局部地图的结构示意图;
    15.图3为本技术一种沿边起点提取方法另一实施例中的流程示意图;
    16.图4为本技术一种沿边起点提取方法另一实施例中的流程示意图;
    17.图5为本技术一种沿边起点提取方法又一实施例中的流程示意图;
    18.图6为本技术一种沿边起点提取方法又一实施例中的流程示意图;
    19.图7为本技术一种沿边起点提取方法又一实施例中的流程示意图;
    20.图8为本技术一种沿边起点提取方法再一实施例中的流程示意图;
    21.图9为本技术一种沿边起点提取方法再一实施例中的流程示意图;
    22.图10为本技术一种扫地机器人一实施例中的结构示意图;
    23.图11为本技术一种计算机可读存储介质一实施例结构示意图。
    具体实施方式
    24.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案 进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用 于解释本技术,而非对本技术的限定。基于本技术中的实施例,本领域 普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例, 都属于本技术保护的范围。
    25.本技术的描述中,“多个”的含义是至少两个,例如两个,三个等, 除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变 形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、 方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地 还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、 产品或设备固有的其它步骤或单元。
    26.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构 或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置 出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的 独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本 文所描述的实施例可以与其它实施例相结合。
    27.请同时参见图1和图2,图1为本技术一种沿边起点提取方法一实 施例中的流程示意图,图2为本技术一种沿边起点提取方法中的局部地 图的结构示意图。在当前实施例中,本技术所提供的方法包括s110至 s130。
    28.s110:扫地机器人获取原始局部地图。
    29.扫地机器人在执行清扫任务时,首先会获取原始局部地图,并以原 始局部地图为依据执行下述步骤s120至步骤s130获取得到目标沿边起 点,然后基于所确定的目标沿边起点完成对家居环境的地图构建。
    30.具体地,在当前实施例中,扫地机器人所获取的局部地图中包括占 据栅格和未占据栅格。如图2所示意的,所获取的原始局部地图是以扫 地机器人当前位置为视点中心(图2中的圆点o)的栅格地图。在图2 中将原始局部地图中的占据栅格标识为黑色,未占据栅格标识为白色, 未探索区域标识为灰色。
    31.进一步地,扫地机器人可以是通过自身所设置的采集单元采集并处 理获得原始
    局部地图。在其他实施例中,扫地机器人还可以是通过自其 他专门用于采集原始局部地图的电子设备处获取得到原始局部地图。
    32.s120:确定原始局部地图中的占据栅格的点云属性,并剔除点云属 性为离群点的占据栅格,获得预处理局部地图。
    33.在获取到原始局部地图之后,进一步分别确定原始局部地图中所包 括的各个占据栅格的点云属性。其中,占据栅格的点云属性指的是该占 据栅格在家居环境中所对应的点云类型,具体地,占据栅格的点云属性 包括核心点、离群点和边界点。
    34.在确定原始局部地图中各个占据栅格的点云属性之后,进一步将原 始局部地图中点云属性为离群点的占据栅格剔除,并将完成剔除所有的 点云属性为离群点的占据栅格的局部地图输出为预处理局部地图,用于 执行下述步骤s130。
    35.进一步地,请参见图3,图3为本技术一种沿边起点提取方法另一 实施例中的流程示意图。在当前实施例中,上述步骤s120确定原始局 部地图中的占据栅格的点云属性,并剔除点云属性为离群点的占据栅 格,获得预处理局部地图,进一步包括步骤s301至步骤s303。
    36.s301:分别统计占据栅格对应的第一预设区域和第二预设区域内所 包括的第一占据栅格的数量,并分别输出为第一数量和第二数量。
    37.首先针对原始局部地图中所包括的每个占据栅格,分别统计各个占 据栅格对应的第一预设区域和第二预设区域内所包括的第一占据栅格 的数量,并将各个占据栅格对应的第一预设区域内所包括的第一占据栅 格的数量输出为第一数量,将各个占据栅格对应的第二预设区域内所包 括的第一占据栅格的数量输出为第二数量。其中,在本技术所提供的技 术方案中,第一占据栅格是用于代指各个占据栅格所对应的第一预设区 域和第二预设区域内所包括的其他占据栅格(即是指除去自身以外的占 据栅格)。
    38.如,在一实施例中,原始局部地图中包括10个占据栅格,则步骤 s301中则会分别统计确定这10个占据栅格各自所对应的第一预设区域 内所包括的第一占据栅格数量,并分别输出为各个占据栅格各自所对应 的第一数量,以及确定这10个占据栅格各自所对应的第二预设区域内 所包括的第一占据栅格的数量,并分别输出为各个占据栅格各自所对应 的第二数量,以用于后续对各个占据栅格的点云属性的判断。
    39.其中,第一预设区域和第二预设区域为以占据栅格为圆心的同心圆 区域,且第一预设区域的半径小于第二预设区域的半径。可以理解的是, 在其他实施例中,可以根据实际需求设置第一预设区域和第二预设区域 的半径。
    40.s302:分别根据占据栅格对应的第一数量和第二数量确定占据栅格 的点云属性是否为离群点。
    41.在统计得到占据栅格对应的第一预设区域和第二预设区域内所包 括的第一占据栅格的数量,并分别输出为第一数量和第二数量之后,然 后基于占据栅格对应的第一数量和第二数量,进一步确定占据栅格的点 云属性是否为离群点。
    42.进一步地,分别根据占据栅格对应的第一数量和第二数量确定占据 栅格的点云属性是否为离群点,包括:若占据栅格对应的第一数量小于 第一阈值或第二数量小于第二阈值,则确定占据栅格的点云属性为离群 点。其中,第一阈值和第二阈值均为预先设定的经验值,且第一阈值小 于第二阈值。
    43.具体地,对于某个占据栅格而言,如若其所对应的第一预设区域内 所包括的第一占据栅格数量小于第一阈值,或该占据栅格所对应的第二 预设区域内的所包括的第一占据栅格数量小于第二阈值,则确定该占据 栅格的点云属性为离群点。
    44.进一步地,若判断得到占据栅格的点云属性不是离群点,则本技术 所提供的方法还包括:进一步判断占据栅格的点云属性是否为核心点或 是否为边界点。具体地,若占据栅格对应的第一数量大于第三阈值、且 第二数量均大于第四阈值,确定占据栅格的点云属性为核心点。
    45.然后进一步将原始局部地图中除去点云属性为离群点或核心点所 剩余的占据栅格的点云属性确定为边界点。换而言之,在另一实施例中, 在分别判断得到占据栅格的点云属性既不是离群点也不是核心点之后, 也可以自动将该占据栅格归为是边界点。需要说明的是,在下述一些实 施例的阐述中,会利用占据栅格的点云属性代指该占据栅格。
    46.在又一实施例中,如若在判断得到占据栅格的点云属性不是离群点 之后,是先判断占据栅格的点云属性是否为边界点,则本技术所提供的 方法也可以是直接将点云属性即不是离群点,也不是边界点的占据的点 云属性确定为核心点。
    47.需要说明的是,虽然上述实施例中,是先判断占据栅格的点云属性 是否为离群点,然后在判断得到占据栅格的点云属性不是离群点之后, 进一步依次判断占据栅格的点云属性是否为核心点和边界点,但是在一 些实施例中,还可以设置是直接基于占据栅格所对应的第一数量与第一 阈值和第三阈值,以及第二数量与第二阈值和第四阈值之间的比对结 果,直接确定占据栅格的点云属性。
    48.s303:若是,则在局部地图中剔除点云属性为离群点的占据栅格, 获得预处理局部地图。
    49.若经过判断得到占据栅格的点云属性为离群点,则会进一步在局部 地图中剔除该点云属性为离群点的占据栅格。对于所获取的原始局部地 图中所包括的占据栅格,会比遍历每个占据栅格,分别判断每个占据栅 格的点云属性是否为离群点。
    50.在当前实施例中,通过在确定目标沿边起点之前,通过基于占据栅 格所对应的第一预设区域和第二预设区域内所包括的第一占据栅格的 数量,确定占据栅格是否为离群点,并直接剔除点云属性为离群点的占 据栅格,实现通过剔除离群点对应滤除掉家居环境中如人腿、桌腿等干 扰物,避免当该类干扰物距离扫地机器人较近时易被选取为沿边起点, 从而造成在构建家居地图时所提取的沿边路径为无效路径,无法完成构 建完整地图的任务。
    51.s130:对预处理局部地图执行沿边起点提取操作,获取目标沿边起 点。
    52.在获得预处理局部地图之后,进一步对所获得的预处理局部地图执 行沿边起点提取操作,进而获取到目标沿边起点。其中,目标沿边起点 为最终用于构建完整家居地图时所采用的沿边起点。
    53.进一步地,沿边起点提取操作包括:基于充电桩的沿边起点提取步 骤、基于直线特征的沿边起点提取步骤和基于点云聚簇的沿边起点提取 步骤。具体地,关于沿边起点提取操作的具体技术细节可以参见下文图 4至图9所对应的实施例,在此不做详细阐述。
    54.扫地机器人在获取到目标沿边起点之后,进一步基于目标沿边起点 沿边建图,以构建完整的家居地图。
    55.图1所对应的实施例中所提供的技术方案,扫地机器人通过获取原 始局部地图,然后确定原始局部地图中的占据栅格的点云属性,并剔除 点云属性为离群点的占据栅格,获得预处理局部地图,再对预处理局部 地图执行沿边起点提取操作,获取目标沿边起点。具体是通过剔除原始 局部地图中点云属性为离群点的占据栅格,可以实现规避干扰物对沿边 起点提取算法准确度和效率的影响。
    56.请参见图4,图4为本技术一种沿边起点提取方法另一实施例中的 流程示意图。在当前实施例中,上述步骤s130对预处理局部地图执行 沿边起点提取操作,获取目标沿边起点,进一步包括步骤s401至步骤 s406。
    57.s401:确定扫地机器人的当前位置距充电桩位置的距离。
    58.在获得预处理局部地图之后,进一步计算确定扫地机器人的当前位 置距充电桩所在位置的距离。具体地,可以设置是基于扫地机器人与充 电桩之间的信号交互时间和速度计算确定两者之间的距离。可以理解的 是,在其他实施例中,还可以是设置扫地机器人是基于其他的方式计算 确定自身与充电桩之间的距离,在不一一列举。
    59.s402:判断扫地机器人的当前位置距充电桩位置的距离是否小于或 等于第一距离阈值。
    60.在确定扫地机器人当前位置距充电桩所在位置之间的距离之后,进 一步判断扫地机器人的当前位置距充电桩位置的距离是否小于或等于 第一距离阈值。其中,第一距离阈值是预先设定的、用于判断是否可以 执行基于充电桩的沿边起点提取步骤的距离经验值,且第一距离阈值可 以根据实际的需求进行设置和调整,在此对第一距离阈值不做具体数值 限定。更进一步地,在其他实施例中,还可以根据实际的应用工况,设 置第一距离阈值可以根据应用工况动态调整。如,当基于下述各个步骤 依然无法提取获得目标沿边起点时(即经过步骤s403至步骤s406仍然 无法获得目标沿边起点),则可以进一步根据预先设定,动态调整第一 距离阈值,然后重新执行上述步骤s402。
    61.若判断得到扫地机器人的当前位置距充电桩位置的距离小于或等 于第一距离阈值,则执行下述步骤s403,若判断得到扫地机器人的当前 位置距充电桩位置的距离大于第一距离阈值,则进一步执行下述步骤 s404。
    62.s403:对预处理局部地图执行基于充电桩的沿边起点提取步骤,获 取目标沿边起点。
    63.当判断得到扫地机器人的当前位置距充电桩位置的距离小于或等 于第一距离阈值,进一步对预处理局部地图执行基于充电桩的沿边起点 提取步骤。具体地,基于充电桩的沿边起点提取步骤的技术细节可以参 见图5所对应的实施例。
    64.s404:判断在预处理局部地图中是否可以获得直线特征。
    65.进一步由于直线特征是在家居场景中较为普遍存在的特征,且直线 段也比较适宜作为扫地机沿边起始点,故在判断得到扫地机器人的当前 位置距充电桩位置的距离大于第一距离阈值,则进一步判断在预处理局 部地图中是否可以提取获得直线特征。
    66.具体地,在一实施例中,可以是利用霍夫变换算法在预处理局部地 图中提取直线特征,并根据霍夫变换算法的执行结果确定是否可以提取 获得直线特征。如若利用霍夫变换算法在预处理局部地图中可以提取到 至少一个直线特征,则执行下述步骤s405,若不能提取得到直线特征, 则进一步执行步骤s406。
    67.进一步地,如若在一实施例中,如若将基于霍夫变换算法在预处理 局部地图中提取直线特征记为其中,i是用于 标识所提取的直线特征的编号,对应的l(最大的直线特征编号)则可 以用于表示所提取到的直线特征的数量,表示直线特征li起始点 坐标,表示直线段li终止点坐标。若l=0,则判断得到对预处理 局部地图无法执行基于直线特征的沿边起点提取步骤,即此时需要执行 步骤s406。
    68.s405:对预处理局部地图执行基于直线特征的沿边起点提取步骤, 获取目标沿边起点。
    69.若判断得到在预处理局部地图中可以获得至少一个直线特征,则对 预处理局部地图执行基于直线特征的沿边起点提取步骤。其中,基于直 线特征的沿边起点提取步骤可以参见图6所对应的实施例。
    70.s406:对预处理局部地图执行基于点云聚簇的沿边起点提取步骤, 获取目标沿边起点。
    71.若判断得到在预处理局部地图中无法获得直线特征,则会对预处理 局部地图执行基于点云聚簇的沿边起点提取步骤。其中,基于点云聚簇 的沿边起点提取步骤可以参见图7所对应的实施例。
    72.需要说明的是,在当前实施例,按照预先设定,是先判断是否可以 对预处理局部地图执行基于充电桩的沿边起点提取步骤,若否,再判断 是否可以对预处理局部地图执行基于直线特征的沿边起点提取步骤,并 在判断对预处理局部地图也无法执行基于直线特征的沿边起点提取步 骤时,最后再对预处理局部地图执行基于点云聚簇的沿边起点提取步 骤,即是基于上述优先级顺序,执行对预处理局部地图执行沿边起点提 取操作。在其他实施例中,还可以基于家居场景的变化或实际的应用需 求,调整沿边起点提取操作中所包括的各个提取步骤的优先级顺序。(即 调整上述步骤s401至步骤s406的执行顺序)。
    73.请参见图5,图5为本技术一种沿边起点提取方法又一实施例中的 流程示意图。在当前实施例中,上述步骤s403对预处理局部地图执行 基于充电桩的沿边起点提取步骤,获取目标沿边起点,进一步包括步骤 s501至步骤s503。
    74.s501:以充电桩为中心点,以充电桩的朝向为法线方向生成第一基 准线。
    75.将充电桩所在位置作为中心点,以充电桩的朝向为法线方向,生成 第一基准线。其中,第一基准线为步骤s502中用于筛选满足第一筛选 条件的占据栅格的线,且充电桩的朝向可以指的是充电桩于扫地机器人 连接的端面的朝向。
    76.s502:针对预处理局部地图中所包括的每个点云属性为核心点的占 据栅格,筛选满足第一筛选条件的占据栅格。
    77.在生成了第一基准线之后,针对预处理局部地图中所包括的每个点 云属性为核心点的占据栅格进行筛选,将满足第一筛选条件的、且点云 属性为核心点的占据栅格保留。(在一些实施例中,也可以理解为是, 将满足第一筛选条件的核心点保留)。
    78.其中,第一筛选条件为点云属性为核心点的占据栅格与第一基准线 的距离、以及到充电桩的距离使得下述公式成立。其中,公式如下:
    [0079][0080]
    其中,公式中的λ
    d1
    、λ
    d2
    、λ
    d3
    为预先设定的用于筛选点云属性为核 心点的占据栅格的距离阈值,pb代指的是充电桩所在位置,a和b为第 一基准线在预处理局部地图中的方程式中的常数参数。
    [0081]
    s503:将满足第一筛选条件的占据栅格中与充电桩的距离最近的一 个占据栅格确定为目标沿边起点。
    [0082]
    在筛选获得满足第一筛选条件的占据栅格之后,进一步将满足第一 筛选条件的占据栅格中与充电桩的距离最近的一个占据栅格确定为目 标沿边起点。
    [0083]
    对于图5所示意的实施例中,如若以充电桩中心为中心点,以充电 桩朝向为法线方向生成一条直线,并将将第一基准线在预处理局部地图 所在坐标系中的直线方程表示为ax by 1=0。
    [0084]
    对于预处理局部地图中所保留的每个点云属性为核心点的占据栅 格pi,并记为pi=(x
    i yi)。计算每个点云属性为核心点的占据栅格到直 线ax by 1=0的距离以及到充电桩的距离,然后在基于计算所得的两个 距离,进一步确定该点云属性为核心点的占据栅格是否满足上述第一筛 选条件,并将满足第一筛选条件的、且点云属性为核心点的占据栅格保 留。在其他实施例中,也可以基于充电桩和点云属性为核心点在预处理 局部地图中的位置坐标,直接带入至上述第一筛选条件的公式,进而确 定点云属性为核心点的核心点是否满足第一筛选条件。然后提取满足第 一筛选条件的占据栅格中距离充电桩最近的占据栅格作为目标沿边起 点。
    [0085]
    请参见图6,图6为本技术一种沿边起点提取方法又一实施例中的 流程示意图。在当前实施例中,上述步骤s405对预处理局部地图执行 基于直线特征的沿边起点提取步骤,获取目标沿边起点,进一步包括步 骤s601至步骤s604。
    [0086]
    s601:利用第一算法自预处理局部地图中提取若干第一直线特征。
    [0087]
    在对预处理局部地图执行直线特征的沿边起点提取步骤时,首先利 用第一算法自预处理局部地图中提取若干第一直线特征。
    [0088]
    进一步地,第一算法包括霍夫变换算法。可以理解的是,在其他实 施例中,第一算法还可以包括其他类型的算法,在此不一一列举。
    [0089]
    s602:对若干第一直线特征进行合并/或筛选,获得至少一个第二直 线特征。
    [0090]
    在自预处理局部地图中提取获得若干第一直线特征之后,进一步对 提取所得的若干第一直线特征进行合并和/或筛选,获得至少一个第二直 线特征。
    [0091]
    需要说明是,在一些实施例中,如若步骤s601中仅仅提取获得一 个第一直线特征,则进一步可以直接将所得的一个第一直线特征输出为 第二基准线(即不执行步骤s602和步骤s603)。
    [0092]
    进一步地,对若干第一直线特征进行合并/或筛选,获得至少一个第 二直线特征,包括:针对若干第一直线特征,将满足预设合并条件的第 一直线特征合并,并将合并所得的直线特征和不满足预设合并条件的第 一直线特征输出为第三直线特征;针对每个第三直线特征,筛选与扫地 机器人之间的距离小于或等于第二距离阈值的直线特征作为第二
    直线 特征。其中,第二距离阈值为预先设定的用于筛选获得第二直线特征的 距离阈值,可以根据实际需求进行设置,预设的合并条件为第一直线特 征的相似度大于或等于预设的相似度阈值。更进一步地,预设的合并条 件还可以设置为不同的第一直线特征相互之间的夹角小于预先设定的 角度阈值,且以及相互之间的距离小于预先设定的第三距离阈值。
    [0093]
    更进一步地,在一些实施例中,还可以设置第二距离阈值根据沿边 起点实际提取工况,动态第二距离阈值。如若经过确定得到基于初始的 第一距离阈值、第二距离阈值和第二阈值等预设参数无法获取得到目标 沿边起点时,则进一步根据预先设定对上述各个预先设定的经验值中的 至少一个进行动态调整。
    [0094]
    在一实施例中,是先对若干第一直线特征进行合并,然后再对执行 完合并操作之后所得的第三直线特征执行筛选操作。
    [0095]
    在另一实施例中,如若若干第一直线特征中没有符合合并条件的, 则可以是直接将若干第一直线特征输出为第三直线特征,并对第三直线 特征执行筛选操作。
    [0096]
    s603:将距离最长的第二直线特征确定为第二基准线。
    [0097]
    在获得多个第二直线特征之后,进一步将距离最长的第二直线特征 确定为第二基准线。其中,第二基准线为在执行基于直线特征的沿边起 点提取步骤时筛选获得目标沿边起点的基准线。
    [0098]
    s604:将点云属性为核心点、且距第二基准线的距离小于第四距离 阈值以及与扫地机器人最近的占据栅格确定为目标沿边起点。
    [0099]
    在确定第二基准线之后,进一步确定各个点云属性为核心点的占据 栅格与第二基准线之间的距离,并距离第二基准线最近的点云属性为核 心点的占据栅格确定为目标沿边起点。其中,第四距离阈值为预先设定 的经验值。
    [0100]
    对于图6所示意的实施例,如若通过霍夫变换算法在预处理局部地 图中提取获得的第一直线特征为并在将特征 相似的第一直线特征进行合并。具体地,是将满足预设合并条件的第一 直线特征合并,具体是将包括相互之间的夹角小于预先设定的角度阈 值,且以及相互之间的距离小于预先设定的第三距离阈值的第一直线特 征进行合并。
    [0101]
    进一步地,若两条第一直线特征li、lj满足预设合并条件,则以两条 第一直线特征的四个顶点坐标为输入,通过最小二乘算法拟合获得合并 所得的第三直线特征的直线方程y=kx b,并将合并得到的第三直线特 征表示为其中,合并所得的第三直线特征中各个端点 的坐标可以基于下述公式确定得到,具体公式如下:
    [0102][0103]
    对于执行合并操作之后,输出的第三直线特征,进一步计算扫地机 器人当前位置到每条第三直线特征的距离,然后滤除距离大于第二距离 阈值λ
    scope
    的第三直线特征,并将
    与扫地机器人间距离小于或等于第二距 离阈值λ
    scope
    的第三直线特征确定为第二直线特征。
    [0104]
    如若获得多个第二直线特征,则会进一步提取长度最长的一条第二 直线特征作为第二基准线,进一步筛选到第二基准线距离小于第四距离 阈值的、点云属性为核心点的占据栅格;最后,选取到当前扫地机器人 位置最近的点云属性为核心点的占据栅格作为目标沿边起点。
    [0105]
    请参见图7,图7为本技术一种沿边起点提取方法又一实施例中的 流程示意图。在当前实施例中,上述步骤s406对预处理局部地图执行 基于点云聚簇的沿边起点提取步骤,获取目标沿边起点,包括步骤s701 至步骤s704。
    [0106]
    s701:针对预处理局部地图中所包括的点云属性为核心点的占据栅 格,执行核心点聚簇的操作,获得若干第一点云簇。
    [0107]
    首先是对预处理局部地图中所包括的点云属性为核心点的占据栅 格,是将以欧式距离为度量,以点云属性为核心点的占据栅格为中心, 将预设半径的搜索区域内的边界点和该核心点聚簇为同一个第一点云 簇(也可以理解为是将点云属性为边界点的占据栅格归并到核心点所对 应的第一点云簇)。最终对预处理局部地图中每个点云属性为核心点的 占据栅格进行遍历之后,进而获得多个第一点云簇s1至sk,进而获得第 一点云簇集合s={s
    1 s2ꢀ…ꢀ
    sk},其中k表示第一点云簇数量。
    [0108]
    需要说明是,可以设置同一个边界点可以被归并到不同的第一点云 簇中。在其他实施例中,还可以设置同一个边界点不会出现到不同的第 一点云簇中,边界点会被聚簇到哪一个第一点云簇,具体是根据时间确 定。比如,对于同一个边界点,会以最先归并的第一点云簇为准,即同 一个边界点如若在此之前被归并到其他的核心点所对应的第一点云簇, 则不会将该边界点再归并至其他的第一点云簇。
    [0109]
    进一步地,在一实施例中,可以设置是在某个边界点被归并到某一 个第一点云簇之后,则会对应为该边界点设置标记,用以对外告知该边 界点已经被归并到某个第一点云簇中。
    [0110]
    s702:对若干第一点云簇进行合并和/或筛选,获得至少一个第二点 云簇。
    [0111]
    在当前实施例中,在获得若干第一点云簇之后,对若干第一点云簇 进行合并/或筛选,进而获得至少一个第二点云簇。进一步地,可以是基 于不同点云簇的相似度确定是否满足合并条件。在另一实施例中,可 以是基于第一点云簇中极角最大和/或极角最小的核心点(点云属性为核 心点的占据栅格)的极角值,以及极角最大和/或极角最小的核心点与扫 地机器人当前位置的距离,确定当前第一点云簇与其他点云簇是否符合 预设的点云簇合并条件。
    [0112]
    需要说明的是,在一实施例中,如若步骤s701中仅仅获得一个第 一点云簇,则可以是将第一点云簇输出为第三点云簇,即在该实施例中 不执行步骤s702至步骤s703。
    [0113]
    在另一实施例中,如若步骤s701中获得多个第一点云簇,则会进 一步执行步骤s702至步骤s703。
    [0114]
    进一步地,请参见图8,图8为本技术一种沿边起点提取方法再一 实施例中的流程示意图。在当前实施例中,上述步骤s702对若干第一 点云簇进行合并和/或筛选,获得至少一个第二点云簇,进一步包括步骤 s801至步骤s804。
    [0115]
    s801:针对各个第一点云簇,将第一点云簇和预设数量的质心极角 与第一点云簇的质心极角按照数值大小排序相邻的第一点云簇,确定为 第一点云簇子集合。
    [0116]
    在聚簇获得若干第一点云簇之后,如若将所有的第一点云簇定义为 第一点云簇集合,则会进一步针对所得的每个第一点云簇,将第一点云 簇与该第一点云簇的质心极角的按照数值大小排序相邻的第一预设数 量的其他第一点云簇确定为第一点云簇子集合。
    [0117]
    如,在一实施例中,对于第一点云簇集合s={s
    1 s2ꢀ…ꢀ
    sk},如若按 照各个第一点云簇的质心极角从大至小的排序得到s={s

    1 s
    ′2ꢀ…ꢀs′k},则 对第一点云簇s

    i-1
    ,当预设数量设置为2时,则可以根据预先设定将质心 极角按照数值排序与第一点云簇s

    i-1
    相邻的第一点云簇s
    ′i和s

    i 1
    确定为第 一点云簇集合{s

    i-1 s

    i s

    i 1
    }。
    [0118]
    s802:针对第一点云簇子集合中所包括的第一点云簇,基于第一点 云簇中的最大极角和/或最小极角的核心点极角值,以及最大极角和/或 最小极角的核心点与扫地机器人的距离,判断第一点云簇子集合中质心 极角最大和最小的第一点云簇是否满足预设的点云簇合并条件。
    [0119]
    首先需要说明是,上述极角是以扫地机器人的中心为极点,行进方 向为极轴建立极坐标系中的极角。
    [0120]
    在判断第一点云簇集合中至少部分第一点云簇是否满足预设点云 簇合并条件时,对于上述第一点云簇子集合{s

    i-1 s

    i s

    i 1
    },首先计算当前 第一点云簇s

    i-1
    中极角最大核心点对应的极角值以及该核心点到扫 地机器人当前位置的距离并计算第一点云簇s

    i 1
    中极角最小核心点 对应的极角值以及该核心点到扫地机器人当前位置的距离同 时还计算第一点云簇s
    ′i中极角最大与最小核心点分别对应的极角值和以及该第一点云簇s
    ′i质心到扫地机器人当前位置的距离di与第一 点云簇s
    ′i中所包括点云的数量ni。其中,第一点云簇所包括的点云数量 是指的是该第一点云簇所包括核心点和边界点的数量。
    [0121]
    在分别确定了第一点云簇中所包括的第一点云簇的最大极角和/或 最小极角的核心点极角值,以及最大极角和/或最小极角的核心点与扫地 机器人的距离之后,进一步基于下述公式判断第一点云簇s

    i-1
    与s

    i 1
    是否 为同一点云簇,若是,则将第一点云簇s

    i-1
    与s

    i 1
    进行合并。其中,公式 如下:
    [0122][0123]
    其中,λn和λ
    θ
    为预先设定的点云数量阈值和角度阈值。
    [0124]
    s803:若是,则合并点云簇子集合中质心极角最大和最小的第一点 云簇,将合并所得的点云簇和不满足点云簇合并条件的第一点云簇输出 为第四点云簇。
    [0125]
    若经过判断得到第一点云簇子集合中质心极角最大和最小的第一 点云簇是否满
    足预设的点云簇合并条件,则会对两个第一点云簇执行合 并操作,并将合并所得的点云簇和不满足点云簇合并条件的第一点云簇 输出为第四点云簇。
    [0126]
    若判断得到不满足预设的点云簇合并条件,则会将继续按照第一点 云簇集合的极角排列顺序,依次遍历每个第一点云簇。若同一个第一点 云簇判断得到与多个不同的第一点云簇满足预设的点云簇合并条件,则 可以将该第一点云簇与这满足预设的点云簇合并条件的多个不同的第 一点云簇执行合并操作。
    [0127]
    进一步地,如若经过判断得到某个或多个第一点云簇与任意一个第 一点云簇均不满足预设的点云簇合并条件,则可以直接将该第一点云簇 输出为第四点云簇。
    [0128]
    在完成对第一点云簇集合中所包括的每个第一点云簇遍历完成之 后,得到多个第四点云簇时,则会进一步执行下述步骤s804。在另一实 施例中,如若经过步骤s801至步骤s803之后仅仅获得一个第四点云簇 时,则也可以设置是直接将这一个第四点云簇输出为第二点云簇,并直 接执行步骤s703或至直接执行下述步骤s704所述的内容。
    [0129]
    s804:确定每个第四点云簇的质心与扫地机器人之间的距离,并筛 选距离小于或等于第五距离阈值的第四点云簇作为第二点云簇。
    [0130]
    如若获得多个第四点云簇,则会进一步基于第四点云簇的质心与扫 地机器人之间的距离,进一步对多个第四点云簇进行筛选获得第二点云 簇。具体地,是通过确定每个第四点云簇的质心与扫地机器人之间的距 离,并筛选距离小于或等于第五距离阈值的第四点云簇作为第二点云 簇。其中,第五距离阈值为预先设置的、用于筛选第四点云簇的距离经 验值,具体可以根据实际需求进行设置调整。
    [0131]
    s703:确定第二点云簇的平整度和平整核心点,并将平整度最高的 第二点云簇确定为第三点云簇。
    [0132]
    在获得若干第二点云簇之后,进一步利用第二点云簇的平整度进一 步筛选获得第三点云簇。其中,第二点云簇的平整度和平整核心点的确 定流程具体可以参见下文图9所对应的实施例。
    [0133]
    s704:将第三点云簇中距离扫地机器人最近的平整核心点确定为目 标沿边起点。
    [0134]
    在确定了第三点云簇之后,进一步在第三点云簇中所包括核心平整 点中确定目标沿边起点,具体是第三点云簇中距离扫地机器人最近的平 整核心点确定为目标沿边起点。
    [0135]
    更进一步地,请参见图9,图9为本技术一种沿边起点提取方法再 一实施例中的流程示意图。在当前实施例中,上述步骤s703中的确定 第二点云簇的平整度和平整核心点,进一步包括步骤s901至步骤s904。
    [0136]
    s901:分别以第二点云簇中所包括的每个核心点为圆心,分别为每 个核心点确定第三预设区域内的点云。
    [0137]
    其中,第三预设区域为根据预先设定半径确定区域。具体是以第二 点云簇中所包括的每个核心点分别为圆心,分别为每个核心点确定第三 预设区域内的点云。其中,第三预设区域内的点云包括处于第三预设区 域内的核心点和边界点。
    [0138]
    s902:利用第二算法,对第三预设区域内的点云进行直线拟合得到 第三基准线。
    [0139]
    其中,第二算法包括最小二乘算法。
    [0140]
    具体地,可以是利用最小二乘算法对保留的点云进行直线拟合获得 第三基准线。
    其中,第三基准线是用于计算求取第二点云簇的平整度的 基准线。
    [0141]
    s903:将第三预设区域中所包括的点云到第三基准线的平均距离确 定为第三预设区域所对应的核心点的平整度,并将平整度小于平整度阈 值的核心点确定为第二点云簇的平整核心点。
    [0142]
    针对每个核心点(点云属性为核心点的占据栅格),分别确定每个 核心点所对应的第三预设区域中所包括的各个点云到第三基准线的距 离,并确定第三预设区域中所包括的各个点云到第三基准线的平均距 离,并将平均距离作为该核心点的平整度。
    [0143]
    在确定了低热点云簇中所包括的各个核心点的平整度之后,进一步 判断核心点的平整度是否小于平整度阈值,若是,则将平整度小于平整 度阈值的核心点归类为平整核心点。
    [0144]
    s904:将第二点云簇中所包括的平整核心点的数量确定为第二点云 簇的平整度。
    [0145]
    在确定得到第二点云簇中所包括的每个核心点的平整度,以及基于 每个核心点的平整度确定各个核心点是否为平整核心点之后,进一步统 计第二点云簇中所包括的平整核心点数量,然后将第二点云簇中所包括 的平整核心点的数量确定为第二点云簇的平整度,从而完成对第二点云 簇的平整度和平整核心点的确定。
    [0146]
    进一步地,如若通过上述图5至图7多个不同的沿边起点提取步骤 依然无法获得目标沿边起点,则可以根据设置动态调整上述第二距离阈 值和/或第五距离阈值的值,用于将筛选第二直线特征和/或第四点云簇 的距离条件进行调整,以获取到目标沿边起点。需要说明的是,在一些 实施例中,第二距离阈值和第五距离阈值值可以是相等的。
    [0147]
    请参见图10,图10为本技术一种扫地机器人一实施例中的结构示 意图。在当前实施例中,本技术所提供的扫地机器人1000包括处理器1001以及与处理器1001耦接的存储器1002。扫地机器人1000可以执 行图1至图9及其对应的任意一个实施例中所述的方法。
    [0148]
    其中,存储器1002包括本地储存(图未示),且用于存储有计算 机程序,计算机程序被执行时可以实现图1至图9及其所对应的任意一 个实施例中所述的方法。
    [0149]
    处理器1001与存储器1002耦接,处理器1001用于运行计算机程 序,以执行如上图1至图9及其对应的任意一个实施例中所述的方法。 进一步地,在一些实施例中,本技术图10所提供的扫地机器人还可以 被延伸至包括诸如移动终端、电脑终端、计算机、具备计算存储能力的 图像采集设备、服务器等可以与扫地机器人进行交互的设备中的任意一 种。
    [0150]
    参见图11,图11为本技术一种计算机可读存储介质一实施例结构 示意图。该计算机可读存储介质1100存储有能够被处理器运行的计算 机程序1101,该计算机程序1101用于实现如上图1至图9及其对应的 任意一个实施例中所描述的方法。具体地,上述计算机可读存储介质 1100可以是存储器、个人计算机、服务器、网络设备,或者u盘等其中 的一种,具体在此不做任何限定。
    [0151]
    以上所述仅为本技术的实施方式,并非因此限制本技术的专利范 围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变 换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的 专利保护范围内。
    转载请注明原文地址:https://tc.8miu.com/read-2343.html

    最新回复(0)