清洁机器人的地图处理方法、装置、清洁机器人及介质与流程

    专利查询2023-07-24  102



    1.本发明涉及地图处理技术领域,尤其涉及一种清洁机器人的地图处理方法、装置、清洁机器人及介质。


    背景技术:

    2.随着科学技术的飞速发展,人工智能技术越来越成熟,定位和建图功能在机器人上的运用逐渐广泛和成熟,并且定位和建图的精度也逐渐提高。其依靠传感器对周围环境的感知,同时实现对机器人自身位置和环境的描述。通过机器人当前观测和对历史建图的匹配,可确定机器人当前最新位置;当确定最新位置后,可将最新观测作用在当前位置上,实现对建图的更新和补充。
    3.但是,在相关技术中,三维重建方向的各个实现方案对算力和耗时要求过高,大部分为离线方案或者依赖于gpu,难以实现在移动机器人端算力、内存有限条件下的实时运行,即使能够在移动机器人端进行三维地图重建,也会因为移动机器人运行过程中无法对周围环境完全覆盖而导致最终生成的三维模型出现部分墙体缺失,影响美观。


    技术实现要素:

    4.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种清洁机器人的地图处理方法,该方法能够快速地对三维地图中墙体的缺失部分进行填充,优化三维地图的显示效果,改善用户体验。
    5.本发明的第二个目的在于提出一种清洁机器人的地图处理装置。
    6.本发明的第三个目的在于提出一种清洁机器人。
    7.本发明的第四个目的在于提出一种计算机可读存储介质。
    8.为达上述目的,本发明第一方面实施例提出了一种清洁机器人的地图处理方法,所述地图处理方法包括:获取三维地图,并确定所述三维地图中预设高度的参考墙体区域和待填充墙体区域;确定所述待填充墙体区域的若干空缺位置;根据所述参考墙体区域中每一位置的参考颜色对所述待填充墙体区域相应位置的空缺位置进行填充以获得目标墙体区域;根据所述目标墙体区域和所述参考墙体区域更新所述三维地图。
    9.根据本发明的地图处理方法,首先确定预设高度的参考墙体区域,然后根据预设高度的参考墙体区域每一位置的参考颜色对其他高度的待填充墙体区域的相应位置的空缺位置进行填充,并更新三维地图,从而能够快速地对三维地图中墙体的缺失部分进行填充,优化三维地图的显示效果,改善用户体验。
    10.在本发明的一些实施例中,所述确定所述三维地图中预设高度的参考墙体区域,包括:截取所述三维地图中预设高度的墙体区域;根据所述三维地图的墙体点对所述预设高度的墙体区域进行密集化处理,以获得所述三维地图中预设高度的参考墙体区域。
    11.在本发明的一些实施例中,所述确定所述三维地图中待填充墙体区域,包括:根据所述三维地图的墙体点的z轴坐标分量确定墙体的上边界高度和下边界高度;根据所述墙
    体的上边界高度和所述预设高度确定所述三维地图中第一墙体区域,并根据所述墙体的下边界高度和所述预设高度确定所述三维地图中第二墙体区域;根据所述第一墙体区域和所述第二墙体区域确定所述三维地图中待填充墙体区域。
    12.在本发明的一些实施例中,所述确定所述待填充墙体区域的若干空缺位置,包括:遍历所述待填充墙体区域的每一高度区域的每一位置,并确定与每一位置距离最近的墙体点;计算所述位置与所述位置对应的最近墙体点之间的第一距离,并在所述第一距离大于第一阈值时,将所述位置作为所述待填充墙体区域的空缺位置。
    13.在本发明的一些实施例中,在所述根据所述目标墙体区域和所述参考墙体区域更新所述三维地图之后,所述方法还包括:遍历更新后的所述三维地图的每一地图点,并确定与每一所述地图点最近的地图点;计算所述地图点与所述地图点对应的最近地图点之间的第二距离,并在所述第二距离大于第二阈值时,在所述地图点和所述地图点对应的最近地图点之间插入新的地图点;根据所述地图点的参数和所述地图点对应的最近地图点的参数确定所述新的地图点的参数。
    14.在本发明的一些实施例中,所述获取三维地图,包括:确定当前图像帧和与所述当前图像帧对应的位姿信息、局部地图、相机参数;分割所述当前图像帧以得到多个超像素区域;根据所述位姿信息和所述相机参数,将所述局部地图中的每个地图点投影至所述当前图像帧的像素平面,以得到每个地图点对应的投影坐标信息;根据每个地图点的投影坐标信息、法向量信息和深度信息,确定与某一超像素区域具有环境特征一致性的若干地图点;将若干地图点融入对应的超像素区域,以更新所述局部地图,并根据更新后的局部地图更新所述三维地图。
    15.在本发明的一些实施例中,所述当前图像帧包括时间戳对齐的彩色图像和深度图像,所述分割所述当前图像帧以得到多个超像素区域,包括:将彩色图像中坐标差值小于等于预设坐标阈值、颜色差值小于等于预设颜色阈值、深度值差值小于等于预设深度值阈值的像素点划分为一个超像素区域。
    16.为达上述目的,本发明第二方面实施例提出了一种清洁机器人的地图处理装置,所述地图处理装置包括:获取模块,用于获取三维地图,并确定所述三维地图中预设高度的参考墙体区域和待填充墙体区域;第一确定模块,用于确定所述待填充墙体区域的若干空缺位置;填充模块,用于根据所述参考墙体区域中每一位置的参考颜色对所述待填充墙体区域相应位置的空缺位置进行填充以获得目标墙体区域;更新模块,用于根据所述目标墙体区域和所述参考墙体区域更新所述三维地图。
    17.根据本发明的清洁机器人的地图处理装置,首先确定预设高度的参考墙体区域,然后根据预设高度的参考墙体区域每一位置的参考颜色对其他高度的待填充墙体区域的相应位置的空缺位置进行填充,并更新三维地图,从而能够快速地对三维地图中墙体的缺失部分进行填充,优化三维地图的显示效果,改善用户体验。
    18.为达上述目的,本发明第三方面实施例提出了一种清洁机器人,所述清洁机器人包括上述实施例所述的地图处理装置。
    19.根据本发明的清洁机器人,首先确定预设高度的参考墙体区域,然后根据预设高度的参考墙体区域每一位置的参考颜色对其他高度的待填充墙体区域的相应位置的空缺位置进行填充,并更新三维地图,从而能够快速地对三维地图中墙体的缺失部分进行填充,
    优化三维地图的显示效果,改善用户体验。
    20.为达上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有地图处理程序,该地图处理程序被处理器执行时实现上述任一实施例所述的地图处理方法。
    21.根据本发明的计算机可读存储介质,首先确定预设高度的参考墙体区域,然后根据预设高度的参考墙体区域每一位置的参考颜色对其他高度的待填充墙体区域的相应位置的空缺位置进行填充,并更新三维地图,从而能够快速地对三维地图中墙体的缺失部分进行填充,优化三维地图的显示效果,改善用户体验。
    22.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
    附图说明
    23.本技术的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
    24.图1是根据本发明一个实施例的地图处理方法的流程示意图;
    25.图2是根据本发明一个实施例的地图处理方法的场景示意图;
    26.图3是根据本发明另一个实施例的地图处理方法的流程示意图;
    27.图4是根据本发明另一个实施例的地图处理方法的流程示意图;
    28.图5是根据本发明另一个实施例的地图处理方法的流程示意图;
    29.图6是根据本发明另一个实施例的地图处理方法的流程示意图;
    30.图7是根据本发明一个实施例的地图处理方法中稠密化处理的效果示意图;
    31.图8是根据本发明另一个实施例的地图处理方法的流程示意图;
    32.图9是根据本发明另一个实施例的地图处理方法的场景示意图;
    33.图10是根据本发明一个实施例的地图处理方法中位姿矫正的效果示意图;
    34.图11是根据本发明一个实施例的地图处理装置的结构框图;
    35.图12是根据本发明一个实施例的清洁机器人的结构框图;
    36.图13是根据本发明一个实施例的电子设备的结构框图。
    具体实施方式
    37.下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
    38.为清楚说明本发明实施例的清洁机器人的地图处理方法、装置、清洁机器人及介质,下面结合图1所示的地图处理方法的流程示意图进行描述。如图1所示,本发明实施例的清洁机器人的地图处理方法包括以下步骤:
    39.s11:获取三维地图,并确定三维地图中预设高度的参考墙体区域和待填充墙体区域;
    40.s13:确定待填充墙体区域的若干空缺位置;
    41.s15:根据参考墙体区域中每一位置的参考颜色对待填充墙体区域相应位置的空
    缺位置进行填充以获得目标墙体区域;
    42.s17:根据目标墙体区域和参考墙体区域更新三维地图。
    43.根据本发明的地图处理方法,首先确定预设高度的参考墙体区域,然后根据预设高度的参考墙体区域每一位置的参考颜色对其他高度的待填充墙体区域的相应位置的空缺位置进行填充,并更新三维地图,从而能够快速地对三维地图中墙体的缺失部分进行填充,优化三维地图的显示效果,改善用户体验。
    44.具体地,清洁机器人包括但不限于扫地机器人、拖地机器人、扫拖一体机器人、草坪整理机器人等。获取到的三维地图可为清洁机器人实时生成的地图,也可为云端服务器或者清洁机器人预先存储的三维地图,在此不作限定。获取到的三维地图中墙体区域存在空缺位置,影响观感。三维地图的形式包括但不限于点云地图、统一尺寸面元地图、可变尺寸面元地图、曲面地图等。
    45.三维地图可包括多个地图点和空缺位置。地图点,可以理解为三维地图中已知坐标信息、颜色信息和法向量信息的位置,即每个地图点的坐标信息、颜色信息和法向量信息是确定的、已知的。空缺位置,可以理解为三维地图中未知坐标信息、颜色信息和法向量信息的位置,即每个空缺位置的坐标信息、颜色信息和法向量信息是空的、未知的。
    46.在三维地图中,与实际室内环境中的地面相对应的地图点可称为地面点,也即地面点能够表征实际室内环境中的地面。在三维地图中,与实际室内环境中墙体相对应的地图点可称为墙体点,也即墙体点能够表征实际室内环境中的墙体。在三维地图中,与实际室内环境中家具相对应的地图点可称为家具点,也即家具点能够表征实际室内环境中的家具。可以理解,三维地图的某一高度区域可同时包括墙体点和家具点,三维地图的某一高度区域可只包括墙体点而不包括家具点,通过选择合适的预设高度,可以保证三维地图的预设高度区域内基本只包括墙体点而不包括家具点,进而便于确定参考墙体区域。
    47.墙体点所处区域可称为墙体区域。参考墙体区域可为三维地图中未经过处理的预设高度的墙体区域,也即参考墙体区域包括三维地图中初始的预设高度的墙体点。参考墙体区域也可为三维地图中预设高度的墙体区域经过处理之后得到的新的墙体区域,也即参考墙体区域包括三维地图中初始的预设高度的墙体点和新增加的预设高度的墙体点。
    48.参考墙体区域中墙体点的数量较多,参考墙体区域中任一墙体点可作为该墙体点所在位置的竖直方向上待填充墙体区域的空缺位置的参考点,即参考墙体区域中任一墙体点的坐标可作为相应位置的空缺位置的参考坐标,参考墙体区域中任一墙体点的颜色可作为相应位置的空缺位置的参考颜色,参考墙体区域中任一墙体点的法向量可作为相应位置的空缺位置的参考法向量,进而根据参考墙体区域能够对待填充墙体区域中的空缺位置进行填充。相应位置,即参考墙体区域中墙体点所在位置的竖直方向上的待填充墙体区域的位置。
    49.待填充墙体区域,可以理解为三维地图中除预设高度外的其他高度的墙体区域。目标墙体区域,可以理解为至少部分空缺位置得到填充的待填充墙体区域。
    50.填充,可以理解为确定空缺位置的坐标信息、颜色信息和法向量信息,进而在空缺位置生成新的墙体点。
    51.在某些实施例中,请结合图2,在步骤s15中,沿着预设高度的参考墙体区域的每一位置同时竖直向上和竖直向下对待填充墙体区域的相应位置的空缺位置进行填充,即将参
    考墙体区域中每一位置的墙体点的参考颜色直接作为待填充墙体区域相应位置的空缺位置的颜色,将参考墙体区域中每一位置的墙体点的参考法向量直接作为待填充墙体区域相应位置的空缺位置的法向量,并根据参考墙体区域中每一位置的墙体点的参考坐标确定待填充墙体区域相应位置的空缺位置的坐标,根据颜色、法向量和坐标在空缺位置生成新的墙体点。
    52.在某些实施例中,在步骤s17之后,地图处理方法还包括:显示更新后的三维地图。如此,可将更新后的三维地图呈现给用户,展示室内环境细节,提升用户体验。
    53.请参阅图3,在本发明的一些实施例中,步骤s11包括:
    54.s111:截取三维地图中预设高度的墙体区域;
    55.s113:根据三维地图的墙体点对预设高度的墙体区域进行密集化处理,以获得三维地图中预设高度的参考墙体区域。
    56.如此,在三维地图中预设高度的墙体区域的墙体点的基础上增加新的墙体点,从而获得墙体点数量更多的参考墙体区域,以便更好地对待填充墙体区域的空缺位置进行填充。
    57.具体地,在某些实施例中,预设高度大于门框的下边界高度且小于门框的上边界高度。如此,参考墙体区域包括与门框区域对应的空缺位置,在根据参考墙体区域对待填充墙体区域进行填充时,能够避免将门框区域填充为墙体。可以理解,在根据参考墙体区域对待填充墙体区域进行填充的过程中,若参考墙体区域的某一位置为空缺位置,则无法对待填充墙体区域的相应位置进行填充,即若待填充墙体区域的相应位置原本为空缺位置,此时填充后该位置仍为空缺位置,若待填充墙体区域的相应位置原本为墙体点,此时则填充后该墙体点仍然保持不变。在一个例子中,考虑到1.6米高度的墙体区域内的地图点极大概率均为墙体点,且为家具点的概率较小,同时考虑到门框的高度通常为2米,1.6米高度的墙体区域能够包括与门框区域对应的空缺位置,因此将预设高度设置为1.6米。
    58.进一步地,在步骤s113中,密集化处理可包括插值处理,即根据距离预设高度的墙体区域中的空缺位置较近的若干个三维地图的初始的墙体点对预设高度的墙体区域中的空缺位置进行插值,以在预设高度的墙体区域中的空缺位置生成新的墙体点,其中,新的墙体点的颜色为该若干个(例如3个)三维地图的初始的墙体点的颜色的加权平均值。权值可以根据该初始的墙体点与新的墙体点之间的距离确定,距离越近,权值越大,距离越小,权值越大。在某些实施例中,可以采用kdtree算法确定与预设高度的墙体区域中的空缺位置较近的若干个三维地图的初始的墙体点。
    59.需要指出的是,由于插值处理是利用初始的墙体点生成新的墙体点,而新生成的墙体点不用于插值处理,因此,插值处理不会在原本的门框区域内的全部空缺位置生成新的墙体点,从而能够至少部分保留门框区域的空缺位置,避免在填充过程中门框区域的空缺位置被填充为墙体点。
    60.请参阅图4,在本发明的一些实施例中,步骤s11包括:
    61.s115:根据三维地图的墙体点的z轴坐标分量确定墙体的上边界高度和下边界高度;
    62.s117:根据墙体的上边界高度和预设高度确定三维地图中第一墙体区域,并根据墙体的下边界高度和预设高度确定三维地图中第二墙体区域;
    63.s119:根据第一墙体区域和第二墙体区域确定三维地图中待填充墙体区域。
    64.如此,能够确定待填充墙体区域。
    65.具体地,由于三维地图的每个墙体点的坐标信息是已知的,可以通过遍历每个墙体点的z轴坐标分量确定z轴坐标分量的最大值和最小值,进而根据z轴坐标分量的最大值确定墙体的上边界高度,根据z轴坐标分量的最小值确定墙体的下边界高度。
    66.进一步地,将预设高度向上至墙体的上边界高度之间的区域作为第一墙体区域,将预设高度向下至墙体的下边界高度之间的区域作为第二墙体区域,并将第一墙体区域和第二墙体区域作为待填充墙体区域。
    67.在一个例子中,预设高度为1.6米,墙体的上边界高度为3米,墙体的下边界高度为0,则高度大于1.6米且小于3米的区域作为第一墙体区域,高度大于0且小于1.6米的区域作为第二墙体区域。
    68.请参阅图5,在本发明的一些实施例中,步骤s13包括:
    69.s131:遍历待填充墙体区域的每一高度区域的每一位置,并确定与每一位置距离最近的墙体点;
    70.s133:计算位置与位置对应的最近墙体点之间的第一距离,并在第一距离大于第一阈值时,将位置作为待填充墙体区域的空缺位置。
    71.如此,能够确定待填充墙体区域的空缺位置。
    72.具体地,可以通过kdtree算法确定与待填充墙体区域的每一高度区域的每一位置距离最近的墙体点,以及每一位置与对应的最近墙体点之间的第一距离。
    73.在一个例子中,第一阈值设置为1cm,若待填充墙体区域的某一位置与距离最近的墙体点之间的第一距离大于1cm,则将该位置确定为待填充墙体区域的空缺位置。
    74.在一个例子中,第一阈值设置为2cm,若待填充墙体区域的某一位置与距离最近的墙体点之间的第一距离大于2cm,则将该位置确定为待填充墙体区域的空缺位置。
    75.请参阅图6,在本发明的一些实施例中,在步骤s17之后,方法还包括:
    76.s21:遍历更新后的三维地图的每一地图点,并确定与每一地图点最近的地图点;
    77.s23:计算地图点与地图点对应的最近地图点之间的第二距离,并在第二距离大于第二阈值时,在地图点和地图点对应的最近地图点之间插入新的地图点;
    78.s25:根据地图点的参数和地图点对应的最近地图点的参数确定新的地图点的参数。
    79.如此,对更新之后的三维地图进行全局稠密化处理,进一步优化三维地图的细节,改善三维地图的显示效果(如图7所示)。可以理解,由于在最初生成三维地图时不同环境特征(如桌子、衣柜、地面、墙体)被观测到时与传感器的距离不同、角度不同、被观测到的频率不同,导致三维地图中部分区域的地图点稀疏。虽然这部分区域的地图点稀疏,但是却保留了完整的结构信息,能够在一定程度上表征相应的环境特征,例如,桌面实际包括2000个点,而三维地图中与桌面对应的地图点只有1000个,这1000个分布稀疏的地图点保留了桌面完整的结构信息,虽然能够表征桌面,但是显示效果较差,通过本实施例的方法能够增加三维地图中与桌面对应的地图点,使得处理之后与桌面对应的地图点的数量大于1000个,从而改善三维地图中桌面的显示效果。
    80.具体地,可以通过kdtree算法确定更新后的三维地图的每一地图点最近的地图
    点,以及每两个距离最近的地图点之间的第二距离。
    81.在一个例子中,第二阈值设置为1cm,若每两个距离最近的地图点之间的第二距离大于1cm,则在此两个地图点之间插入新的地图点。
    82.在一个例子中,第二阈值设置为2cm,若每两个距离最近的地图点之间的第二距离大于2cm,则在此两个地图点之间插入新的地图点。
    83.插入的新的地图点的参数可包括坐标信息和颜色信息。可以根据两个地图点的参数线性插值获取插入的新的地图点的参数。
    84.请参阅图8,在本发明的一些实施例中,步骤s11包括:
    85.s31:确定当前图像帧和与当前图像帧对应的位姿信息、局部地图、相机参数;
    86.s33:分割当前图像帧以得到多个超像素区域;
    87.s35:根据位姿信息和相机参数,将局部地图中的每个地图点投影至当前图像帧的像素平面,以得到每个地图点对应的投影坐标信息;
    88.s37:根据每个地图点的投影坐标信息、法向量信息和深度信息,确定与某一超像素区域具有环境特征一致性的若干地图点;
    89.s39:将若干地图点融入对应的超像素区域,以更新局部地图,并根据更新后的局部地图更新三维地图。
    90.如此,能够在清洁机器人端实现低cpu/内存占用、实时的、高精度的三维重建,获得三维地图。可以理解,由于传感器的探测距离、机器人的观测方向、机器人的行走路线等限制,在生成三维地图时可能造成对某一环境特征(如桌子、衣柜、地面、墙体)只观测到部分区域,从而导致三维地图中出现部分墙体缺失的情况,影响美观。
    91.具体地,当前图像帧可包括时间戳对齐的彩色图像和深度图像,彩色图像可以通过rgb相机获取,深度图像可以通过深度相机获取,在彩色图像和深度图像的时间戳差异小于设定值时,可认为彩色图像和深度图像的时间戳对齐。
    92.位姿信息即与当前图像帧的时间戳相对齐时刻的清洁机器人的位置和朝向。位置可通过三维坐标(x,y,z)表示。朝向可通过俯仰角(pitch)、偏航角(yaw)和翻滚角(roll)表示。
    93.位姿信息可以通过里程计传感器输出的位姿信号获取。当位姿信号对应的时间戳与当前图像帧的时间戳无法对齐时,可以采用比当前图像帧的时间戳早的位姿信号和比当前图像帧的时间戳晚的位姿信号插值求得与当前图像帧的时间戳对齐的位姿信号,并根据插值得到的位姿信号确定位姿信息;当位姿信号对应的时间戳与当前图像帧的时间戳对齐时,可以直接根据时间戳对齐的位姿信号确定位姿信息。如此,保证数据的准确性,减小误差,避免生成的三维地图出现错误。
    94.里程计传感器包括但不限于激光里程计、imu里程计、视觉里程计等。值得注意的是,激光里程计输出的位姿信号不存在误差、较准确,而imu里程计和视觉里程计输出的位姿信号存在误差,根据里程计传感器的类型能够确定获得的位姿信号是否存在误差。
    95.在里程计传感器输出的位姿信号存在误差时,可以根据最近、最新获取到的预设帧数(例如10帧)的临近图像帧确定局部地图,如此,尽量避免生成的三维地图出现错误。在里程计传感器输出的位姿信号不存在误差、且清洁机器人的运行时长较短时,可以基于回环检测算法确定历史帧中与当前图像帧的位姿信息基本相同的图像帧并作为回环帧,并根
    据临近图像帧和回环帧确定局部地图;在里程计传感器输出的位姿信号不存在误差、且清洁机器人的运行时长较长时,可以基于广度优先搜索算法确定回环帧及回环帧的回环帧,并根据临近图像帧、回环帧及回环帧的回环帧确定局部地图,如此,保证生成的三维地图的精度。在一个例子中,具有回环关系的图像帧如图9所示。
    96.进一步地,在里程计传感器输出的位姿信号存在误差时,可以基于点-面icp匹配技术对局部地图进行位姿矫正,矫正效果如图10所示。即依次遍历局部地图中的每一地图点,在三维地图中找到与该地图点最近的若干个地图点,利用它们构建最小二乘平面,记录局部地图中的该地图点到该最小二乘平面的距离和该最小二乘平面的法向量,通过最小化局部地图中的全部地图点到对应最小二乘平面的距离矫正位姿信息,进而求取位姿矫正前和矫正后的相对位姿变换矩阵:t_delta=t_cur*t_pre-1
    ,对于局部地图的每一地图点的坐标p,乘以该变换矩阵t_delta以对局部地图的位置进行矫正,矫正后的局部地图的坐标p_new可由以下公式表示:p_new=t_delta*p_old。
    97.根据位姿信息t和相机参数k,将局部地图中的每个地图点p投影至当前图像帧的像素平面u:u=k*t*p,以得到每个地图点对应的投影坐标信息。当某一地图点的投影坐标信息与某一超像素区域匹配时,进一步对比该地图点与该超像素区域的法向量信息和深度信息,若两者的法向量信息和深度信息的差异小于设定值,可确定该地图点为与超像素区域具有环境特征一致性的地图点,进而可将该地图点与该超像素区域的法向量信息、坐标信息和颜色信息进行加权融合,以更新局部地图。其中,局部地图中的地图点的权重值为与其融合过的历史超像素区域的权重值的和,超像素区域的权重值根据超像素区域的深度信息确定,超像素区域的权重值为深度的倒数的平方。可以理解,融合过程节约了内存,同时也减少噪声干扰。
    98.对于没有融合的超像素区域,可以确定为当前图像帧新观测到的环境特征,利用其颜色信息、法向量信息和坐标信息,再根据当前位姿信息,将其旋转到全局坐标系下,创建新的地图点,实现对三维地图的补充。
    99.在某些实施方式中,考虑到当里程计传感器为imu里程计时,虽然开启位姿矫正功能能够极大地提升矫正后的局部地图和位姿信息的准确度,但是仍会累计少量误差,长时间运行后仍会出现漂移现象。因此需要实时维护三维地图精度,从而确保局部地图和三维地图的精确匹配。进一步地,考虑到运行环境的高度结构化,存在大量竖直和水平的平面,根据地图点的法向量信息提取出具有这些特征的地图点,并依次遍历这些地图点,根据这些地图点的最近的若干个地图点,采用构造最小二乘平面的方式,将这些地图点沿着最小二乘平面的法线方向移动到对应的最小二乘平面上,实现全部地图点关于特征中心平面收敛,这样,在下次进行icp匹配时,能够有效避免局部地图匹配到错误的三维地图位置,确保位姿矫正的准确性。
    100.在本发明的一些实施例中,当前图像帧包括时间戳对齐的彩色图像和深度图像,步骤s33包括:将彩色图像中坐标差值小于等于预设坐标阈值、颜色差值小于等于预设颜色阈值、深度值差值小于等于预设深度值阈值的像素点划分为一个超像素区域。
    101.如此,通过划分超像素区域,可以合并大量数据,节约算力,减少内存占用。可以理解,坐标邻近、颜色相近且深度值相近的像素点通常对应同一个环境特征,因此无需采用多个像素点进行描述,可以采用一个超像素区域替换多个像素点。
    102.具体地,计算超像素区域内全部像素点的颜色的平均值并作为超像素区域的颜色,计算超像素区域内全部像素点的深度值的平均值并作为超像素区域的深度值,计算超像素区域内全部像素点的法向量的平均值并作为超像素区域的法向量,从而确定超像素区域的参数。如此,提高对噪声的鲁棒性。
    103.可以理解,在其他实施例中,步骤s33还可包括:将当前图像帧平均分割为若干个矩形图块,并将每个矩形图块作为一个超像素区域。如此,能够快速确定超像素区域,当嵌入式设备运行本发明实施例的方法时,能够有效节省算力,提高效率。
    104.需要指出的是,上述所提到的具体数值只为了作为例子详细说明本发明的实施,而不应理解为对本发明的限制。在其它例子或实施方式或实施例中,可根据本发明来选择其它数值,在此不作具体限定。
    105.为了实现上述实施例,本发明实施例还提出了一种清洁机器人的地图处理装置,该地图处理装置可实现上述任一实施例的地图处理方法。图11是根据本发明一个实施例的地图处理装置的结构示意图。如图11所示,本发明提出的清洁机器人的地图处理装置100包括获取模块12、第一确定模块14、填充模块16和更新模块18。获取模块12用于获取三维地图,并确定三维地图中预设高度的参考墙体区域和待填充墙体区域。第一确定模块14用于确定待填充墙体区域的若干空缺位置。填充模块16用于根据参考墙体区域中每一位置的参考颜色对待填充墙体区域相应位置的空缺位置进行填充以获得目标墙体区域。更新模块18用于根据目标墙体区域和参考墙体区域更新三维地图。
    106.根据本发明实施例的清洁机器人的地图处理装置100,首先确定预设高度的参考墙体区域,然后根据预设高度的参考墙体区域每一位置的参考颜色对其他高度的待填充墙体区域的相应位置的空缺位置进行填充,并更新三维地图,从而能够快速地对三维地图中墙体的缺失部分进行填充,优化三维地图的显示效果,改善用户体验。
    107.在本发明的一些实施例中,获取模块12包括截取单元和密集单元。截取单元用于截取三维地图中预设高度的墙体区域。密集单元用于根据三维地图的墙体点对预设高度的墙体区域进行密集化处理,以获得三维地图中预设高度的参考墙体区域。
    108.在本发明的一些实施例中,获取模块12包括第一确定单元、第二确定单元和第三确定单元。第一确定单元用于根据三维地图的墙体点的z轴坐标分量确定墙体的上边界高度和下边界高度。第二确定单元用于根据墙体的上边界高度和预设高度确定三维地图中第一墙体区域,并根据墙体的下边界高度和预设高度确定三维地图中第二墙体区域。第三确定单元用于根据第一墙体区域和第二墙体区域确定三维地图中待填充墙体区域。
    109.在本发明的一些实施例中,第一确定模块14包括遍历单元和计算单元。遍历单元用于遍历待填充墙体区域的每一高度区域的每一位置,并确定与每一位置距离最近的墙体点。计算单元用于计算位置与位置对应的最近墙体点之间的第一距离,并在第一距离大于第一阈值时,将位置作为待填充墙体区域的空缺位置。
    110.在本发明的一些实施例中,地图处理装置100还包括遍历模块、计算模块和第二确定模块。遍历模块用于遍历更新后的三维地图的每一地图点,并确定与每一地图点最近的地图点。计算模块用于计算地图点与地图点对应的最近地图点之间的第二距离,并在第二距离大于第二阈值时,在地图点和地图点对应的最近地图点之间插入新的地图点。第二确定模块用于根据地图点的参数和地图点对应的最近地图点的参数确定新的地图点的参数。
    111.在本发明的一些实施例中,获取模块12包括第四确定单元、分割单元、投影单元、第五确定单元和更新单元。第四确定单元用于确定当前图像帧和与当前图像帧对应的位姿信息、局部地图、相机参数。分割单元用于分割当前图像帧以得到多个超像素区域。投影单元用于根据位姿信息和相机参数,将局部地图中的每个地图点投影至当前图像帧的像素平面,以得到每个地图点对应的投影坐标信息。第五确定单元用于根据每个地图点的投影坐标信息、法向量信息和深度信息,确定与某一超像素区域具有环境特征一致性的若干地图点。更新单元用于将若干地图点融入对应的超像素区域,以更新局部地图,并根据更新后的局部地图更新三维地图。
    112.在本发明的一些实施例中,分割单元还用于将彩色图像中坐标差值小于等于预设坐标阈值、颜色差值小于等于预设颜色阈值、深度值差值小于等于预设深度值阈值的像素点划分为一个超像素区域。
    113.需要指出的是,上述对地图处理方法的实施方式和有益效果的解释说明,也适应本发明的地图处理装置100,为避免冗余,在此不作详细展开。
    114.为了实现上述实施例,本发明实施例还提出了一种清洁机器人,该清洁机器人可实现上述任一实施例的地图处理方法。图12是根据本发明一个实施例的清洁机器人的结构示意图。如图12所示,本发明提出的清洁机器人1000包括上述实施例的地图处理装置100。
    115.根据本发明实施例的清洁机器人1000,首先确定预设高度的参考墙体区域,然后根据预设高度的参考墙体区域每一位置的参考颜色对其他高度的待填充墙体区域的相应位置的空缺位置进行填充,并更新三维地图,从而能够快速地对三维地图中墙体的缺失部分进行填充,优化三维地图的显示效果,改善用户体验。
    116.需要指出的是,上述对地图处理方法的实施方式和有益效果的解释说明,也适应本发明的清洁机器人1000,为避免冗余,在此不作详细展开。
    117.为了实现上述实施例,本发明实施例还提出了一种电子设备,该电子设备可实现上述任一实施例的地图处理方法。图13是根据本发明一个实施例的电子设备的结构示意图。如图13所示,本发明提出的电子设备200包括存储器22、处理器24及存储在存储器22上并可在处理器24上运行的地图处理程序26,处理器24执行地图处理程序26时,实现上述任一实施例的地图处理方法。
    118.根据本发明实施例的电子设备200,首先确定预设高度的参考墙体区域,然后根据预设高度的参考墙体区域每一位置的参考颜色对其他高度的待填充墙体区域的相应位置的空缺位置进行填充,并更新三维地图,从而能够快速地对三维地图中墙体的缺失部分进行填充,优化三维地图的显示效果,改善用户体验。
    119.具体地,电子设备200可为包括彩色相机、深度相机和里程计传感器的设备,例如清洁机器人、无人配送小车、无人机、仓储机器人、商场服务机器人、送餐机器人、手持式三维重建扫描仪、固定式三位重建扫描设备、头戴式ar仪等,此时三维地图的生成和后处理可均在同一电子设备进行。电子设备200也可为服务器、笔记本电脑、个人计算机等不包括彩色相机、深度相机和里程计传感器的设备,此时三维地图可由其他设备生成,而电子设备200能够获取到其他设备生成的三维地图,并对获取到的三维地图进行后处理,其他设备包括但不限于清洁机器人、无人配送小车、无人机、仓储机器人、商场服务机器人、送餐机器人、手持式三维重建扫描仪、固定式三位重建扫描设备、头戴式ar仪等。
    120.为了实现上述实施例,本发明实施例还提出了一种计算机可读存储介质,其上存储有地图处理程序,该地图处理程序被处理器执行时实现上述任一实施例的地图处理方法。
    121.根据本发明实施例的计算机可读存储介质,首先确定预设高度的参考墙体区域,然后根据预设高度的参考墙体区域每一位置的参考颜色对其他高度的待填充墙体区域的相应位置的空缺位置进行填充,并更新三维地图,从而能够快速地对三维地图中墙体的缺失部分进行填充,优化三维地图的显示效果,改善用户体验。
    122.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
    123.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
    124.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
    125.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
    126.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
    127.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
    128.此外,本发明实施例中所使用的“第一”、“第二”等术语,仅用于描述目的,而不可以理解为指示或者暗示相对重要性,或者隐含指明本实施例中所指示的技术特征数量。由此,本发明实施例中限定有“第一”、“第二”等术语的特征,可以明确或者隐含地表示该实施
    例中包括至少一个该特征。在本发明的描述中,词语“多个”的含义是至少两个或者两个及以上,例如两个、三个、四个等,除非实施例中另有明确具体的限定。
    129.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

    技术特征:
    1.一种清洁机器人的地图处理方法,其特征在于,包括:获取三维地图,并确定所述三维地图中预设高度的参考墙体区域和待填充墙体区域;确定所述待填充墙体区域的若干空缺位置;根据所述参考墙体区域中每一位置的参考颜色对所述待填充墙体区域相应位置的空缺位置进行填充以获得目标墙体区域;根据所述目标墙体区域和所述参考墙体区域更新所述三维地图。2.根据权利要求1所述的地图处理方法,其特征在于,所述确定所述三维地图中预设高度的参考墙体区域,包括:截取所述三维地图中预设高度的墙体区域;根据所述三维地图的墙体点对所述预设高度的墙体区域进行密集化处理,以获得所述三维地图中预设高度的参考墙体区域。3.根据权利要求1所述的地图处理方法,其特征在于,所述确定所述三维地图中待填充墙体区域,包括:根据所述三维地图的墙体点的z轴坐标分量确定墙体的上边界高度和下边界高度;根据所述墙体的上边界高度和所述预设高度确定所述三维地图中第一墙体区域,并根据所述墙体的下边界高度和所述预设高度确定所述三维地图中第二墙体区域;根据所述第一墙体区域和所述第二墙体区域确定所述三维地图中待填充墙体区域。4.根据权利要求3所述的地图处理方法,其特征在于,所述确定所述待填充墙体区域的若干空缺位置,包括:遍历所述待填充墙体区域的每一高度区域的每一位置,并确定与每一位置距离最近的墙体点;计算所述位置与所述位置对应的最近墙体点之间的第一距离,并在所述第一距离大于第一阈值时,将所述位置作为所述待填充墙体区域的空缺位置。5.根据权利要求1-4中任一项所述的地图处理方法,其特征在于,在所述根据所述目标墙体区域和所述参考墙体区域更新所述三维地图之后,所述方法还包括:遍历更新后的所述三维地图的每一地图点,并确定与每一所述地图点最近的地图点;计算所述地图点与所述地图点对应的最近地图点之间的第二距离,并在所述第二距离大于第二阈值时,在所述地图点和所述地图点对应的最近地图点之间插入新的地图点;根据所述地图点的参数和所述地图点对应的最近地图点的参数确定所述新的地图点的参数。6.根据权利要求1所述的地图处理方法,其特征在于,所述获取三维地图,包括:确定当前图像帧和与所述当前图像帧对应的位姿信息、局部地图、相机参数;分割所述当前图像帧以得到多个超像素区域;根据所述位姿信息和所述相机参数,将所述局部地图中的每个地图点投影至所述当前图像帧的像素平面,以得到每个地图点对应的投影坐标信息;根据每个地图点的投影坐标信息、法向量信息和深度信息,确定与某一超像素区域具有环境特征一致性的若干地图点;将若干地图点融入对应的超像素区域,以更新所述局部地图,并根据更新后的局部地图更新所述三维地图。
    7.根据权利要求6所述的地图处理方法,其特征在于,所述当前图像帧包括时间戳对齐的彩色图像和深度图像,所述分割所述当前图像帧以得到多个超像素区域,包括:将彩色图像中坐标差值小于等于预设坐标阈值、颜色差值小于等于预设颜色阈值、深度值差值小于等于预设深度值阈值的像素点划分为一个超像素区域。8.一种清洁机器人的地图处理装置,其特征在于,包括:获取模块,用于获取三维地图,并确定所述三维地图中预设高度的参考墙体区域和待填充墙体区域;第一确定模块,用于确定所述待填充墙体区域的若干空缺位置;填充模块,用于根据所述参考墙体区域中每一位置的参考颜色对所述待填充墙体区域相应位置的空缺位置进行填充以获得目标墙体区域;更新模块,用于根据所述目标墙体区域和所述参考墙体区域更新所述三维地图。9.一种清洁机器人,其特征在于,所述清洁机器人包括如权利要求8所述的地图处理装置。10.一种计算机可读存储介质,其特征在于,其上存储有地图处理程序,该地图处理程序被处理器执行时实现如权利要求1-7中任一项所述的地图处理方法。

    技术总结
    本发明公开了一种清洁机器人的地图处理方法、装置、清洁机器人及介质,地图处理方法包括:获取三维地图,并确定三维地图中预设高度的参考墙体区域和待填充墙体区域;确定待填充墙体区域的若干空缺位置;根据参考墙体区域中每一位置的参考颜色对待填充墙体区域相应位置的空缺位置进行填充以获得目标墙体区域;根据目标墙体区域和参考墙体区域更新三维地图。根据本发明的清洁机器人的地图处理方法、装置、清洁机器人及介质,能够快速地对三维地图中墙体的缺失部分进行填充,优化三维地图的显示效果,改善用户体验。改善用户体验。改善用户体验。


    技术研发人员:杨勇 胡瑞琪 宋昱慧
    受保护的技术使用者:深圳市杉川机器人有限公司
    技术研发日:2022.02.11
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-17709.html

    最新回复(0)