本申请涉及智能机器人控制技术领域,更具体而言,涉及一种行驶控制方法、行驶控制装置、智能机器人及计算机可读存储介质。
背景技术:
智能机器人在行驶过程中需要躲避障碍物,在行驶过程中将整个智能机器人作为一个整体进行检查,判断智能机器人是否会与障碍物发生碰撞,在一些工作场景中,行驶过道比较窄,且存在悬空的障碍物的情况下,由于智能机器人的本体外观和功能件的尺寸不一致,智能机器人作为一个整体进行判断时,智能机器人实际上可以通过时,容易造成错误判断智能机器人无法通过,影响智能机器人执行任务的质量。
技术实现要素:
有鉴于此,本发明旨在至少在一定程度上解决相关技术中的问题之一。为此,本申请实施方式提供一种行驶控制方法、行驶控制装置、智能机器人及计算机可读存储介质。
本申请实施方式的行驶控制方法应用于智能机器人,所述智能机器人包括本体及安装在本体上的功能件,所述功能件安装在所述本体的安装高度处,所述行驶控制方法包括:获取所述智能机器人周围预设范围内的实时二维或三维点云;依据所述实时二维或三维点云生成第一地图;依据所述实时二维或三维点云中相对于所述行驶表面的高度不高于所述安装高度的点云,生成第二地图;判断所述本体是否能以预设路径在所述第一地图中通过、且所述功能件是否能以所述预设路径在所述第二地图中通过;若是,控制所述智能机器人沿所述预设路径行驶。
本申请实施方式中,智能机器人包括本体及功能件,首先获取智能机器人周围预设范围内的实时二维或三维点云,然后根据将所有的二维或三维点云生成第一地图,将不高于功能件安装高度的点云生成第二地图,行驶过程中判断本体是否能以预设路径在第一地图中通过,且判断功能件是否能以预设路径在第二地图中通过,若是,控制智能机器人以预设路径行驶,由此,将智能机器人的本体和功能件分别在第一地图和第二地图中进行判断,能够避免智能机器人在实际行驶中,智能机器人实际能够通过,由于本体和功能件的外观尺寸不一致,导致将智能机器人作为一个整体判断时而造成行驶不通过的情况发生,同时能够增加智能机器人的可行驶区域,便于智能机器人更好地执行任务,提高智能机器人任务完成的质量。
在一些实施方式中,所述获取所述智能机器人周围预设范围内的实时二维或三维点云,包括:检测所述智能机器人周围预设范围内的检测二维或三维点云;过滤所述检测二维或三维点云中的噪点及所述行驶表面上的点云,以形成中间点云;及将所述中间点云转化至世界坐标系下,以形成所述实时二维或三维点云。
本实施方式中,首先检测智能机器人周围预设范围内的二维或三维点云,然后过滤二维或三维点云中的噪点以及行驶表面上的点云,形成中间点云,将中间点云转化至世界坐标系下,形成实时二维或三维点云,由此,使得获取的实时二维或三维点云更加准确,以使智能机器人建立的地图更加准确。
在一些实施方式中,所述依据所述实时二维或三维点云生成第一地图,包括:将所述实时二维或三维点云投影在所述行驶表面上,生成第一点云;依据所述第一点云生成所述第一地图;及将所述第一点云在所述第一地图内标记为第一颜色。
本实施方式中,首先将实时二维或三维点云投影至行驶表面上,生成第一点云,然后生成第一地图,最后在第一地图内将第一点云标记为第一颜色,由此,第一地图为二维地图,可以减少智能机器人的内存占用空间及处理器的占用率,同时将第一点云标记为第一颜色,便于智能机器人进行识别,同时便于用户区分。
在一些实施方式中,所述依据所述实时二维或三维点云中相对于所述行驶表面的高度不高于所述安装高度的点云,生成第二地图,包括:将所述实时二维或三维点云中相对于所述行驶表面的高度不高于所述安装高度的点云投影至所述行驶表面上,生成第二点云;依据所述第二点云生成所述第二地图;及将所述第二点云在所述第二地图内标记为第二颜色。
本实施方式中,首先将实时二维或三维点云中相对于行驶表面的高度不高于安装高度的点云投影至行驶表面上,生成第二点云,然后根据第二点云生成第二地图,最后在第二地图内将第二点云标记为第二颜色,由此,第二地图为二维地图,使用二维地图能够减少智能机器人的内存占用空间及处理器的占用率,同时将第二点云标记为第二颜色,便于智能机器人进行识别,同时便于用户区分。
在一些实施方式中,所述判断所述本体是否能以预设路径在所述第一地图中通过、且所述功能件是否能以所述预设路径在所述第二地图中通过,包括:判断所述本体以所述预设路径行驶时,所述本体是否会与所述第一颜色的区域发生干涉;及判断所述功能件以所述预设路径行驶时,所述功能件是否会与所述第二颜色的区域发生干涉。
本实施方式中,判断本体是否会与第一颜色的区域发生干涉,及判断功能件是否会与第二颜色的区域发生干涉,由此智能机器人能够更好地避开障碍物,而不与障碍物发生碰撞,使智能机器人在行驶时更加安全。
在一些实施方式中,所述行驶控制方法还包括:若所述本体不能以预设路径在所述第一地图中通过,和\或若所述功能件不能以所述预设路径在所述第二地图中通过;调整所述智能机器人的行驶路径,以使所述本体避开所述第一颜色的区域,且所述功能件避开所述第二颜色的区域。
本实施方式中,若本体不能以预设路径在第一地图中通过,和\或功能件不能以预设路径在第二地图中通过,智能机器人能够调整行驶路径,以使本体避开第一颜色的区域,功能件避开第二颜色的区域,由此,使智能机器人在行驶过程中能够实时对行驶路径进行调整,不会与障碍物发生碰撞,使智能机器人能够安全行驶。
在一些实施方式中,所述行驶控制方法还包括:控制所述智能机器人环绕工作区域行驶,以获取所述工作区域内的初始二维或三维点云;依据所述初始二维或三维点云生成第三地图;及依据所述第三地图生成所述预设路径。
本实施方式中,首先控制智能机器人环绕工作区域行驶,能够获取工作区域内的初始二维或三维点云,然后依据初始二维或三维点云生成第三地图,最后依据第三地图生成预设路径,根据工作区域,智能机器人规划预设路径,由此智能化机器人能够沿该预设路径行驶,便于智能机器人的安全行驶。
本申请实施方式的行驶控制装置应用于智能机器人,智能机器人包括本体及功能件,行驶控制装置包括:获取模块,所述获取模块用于获取所述智能机器人周围预设范围内的实时二维或三维点云;第一制图模块,所述第一制图模块用于依据所述实时二维或三维点云生成第一地图;第二制图模块,第二制图模块用于依据所述实时二维或三维点云中相对于所述行驶表面的高度不高于所述安装高度的点云,生成第二地图;判断模块,所述判断模块用于判断所述本体是否能以预设路径在所述第一地图中通过、且所述功能件是否能以所述预设路径在所述第二地图中通过;控制模块,所述控制模块用于在所述本体能以所述预设路径在所述第一地图中通过,且所述功能件能以所述预设路径在所述第二地图中通过时,控制所述智能机器人沿所述预设路径行驶。
本申请实施方式的行驶控制装置中,智能机器人包括本体及功能件,首先获取智能机器人周围预设范围内的实时二维或三维点云,然后根据将所有的二维或三维点云生成第一地图,将不高于功能件安装高度的点云生成第二地图,行驶过程中判断本体是否能以预设路径在第一地图中通过,且判断功能件是否能以预设路径在第二地图中通过,若是,控制智能机器人以预设路径行驶,由此,将智能机器人的本体和功能件分别在第一地图和第二地图中进行判断,能够避免智能机器人在实际行驶中,智能机器人实际能够通过,由于本体和功能件的外观尺寸不一致,导致将智能机器人作为一个整体判断时而造成行驶不通过的情况发生,同时能够增加智能机器人的可行驶区域,便于智能机器人更好地执行任务,提高智能机器人任务完成的质量。
在一些实施方式中,所述获取模块还用于:检测所述智能机器人周围预设范围内的检测二维或三维点云;过滤所述检测二维或三维点云中的噪点及所述行驶表面上的点云,以形成中间二维或三维点云;及将所述中间二维或三维点云转化至世界坐标系下,以形成所述实时二维或三维点云。
本实施方式中,首先检测智能机器人周围预设范围内的二维或三维点云,然后过滤二维或三维点云中的噪点以及行驶表面上的点云,形成中间二维或三维点云,将中间二维或三维点云转化至世界坐标系下,形成实时二维或三维点云,由此,使得获取的实时二维或三维点云更加准确,以使智能机器人建立的地图更加准确。
在一些实施方式中,所述第一制图模块还用于:将所述实时二维或三维点云投影在所述行驶表面上,生成第一点云;依据所述第一点云生成所述第一地图;及将所述第一点云在所述第一地图内标记为第一颜色。
本实施方式中,首先将实时二维或三维点云投影至行驶表面上,生成第一点云,然后生成第一地图,最后在第一地图内将第一点云标记为第一颜色,由此,第一地图为二维地图,可以减少智能机器人的内存空间及处理器的占用率,同时将第一点云标记为第一颜色,便于智能机器人进行识别,同时便于用户区分。
在一些实施方式中,所述第二制图模块还用于:将所述实时二维或三维点云中相对于所述行驶表面的高度不高于所述安装高度的点云投影至所述行驶表面上,生成第二点云;依据所述第二点云生成所述第二地图;及将所述第二点云在所述第二地图内标记为第二颜色。
本实施方式中,首先将实时二维或三维点云中相对于行驶表面的高度不高于安装高度的点云投影至行驶表面上,生成第二点云,然后根据第二点云生成第二地图,最后在第二地图内将第二点云标记为第二颜色,由此,第二地图为二维地图,使用二维地图能够减少智能机器人的内存空间及处理器的占用率,同时将第二点云标记为第二颜色,便于智能机器人进行识别,同时便于用户区分。
在一些实施方式中,所述判断模块还用于:判断所述本体以所述预设路径行驶时,所述本体是否会与所述第一颜色的区域发生干涉;及判断所述功能件以所述预设路径行驶时,所述功能件是否会与所述第二颜色的区域发生干涉。
本实施方式中,判断本体是否会与第一颜色的区域发生干涉,及判断功能件是否会与第二颜色的区域发生干涉,由此智能机器人能够更好地避开障碍物,而不与障碍物发生碰撞,使智能机器人在行驶时更加安全。
在一些实施方式中,所述控制模块还用于:若所述本体不能以预设路径在所述第一地图中通过,及\或若所述功能件不能以所述预设路径在所述第二地图中通过;调整所述智能机器人的行驶路径,以使所述本体避开所述第一颜色的区域,且所述功能件避开所述第二颜色的区域。
本实施方式中,若本体不能以预设路径在第一地图中通过,及\或功能件不能以预设路径在第二地图中通过,智能机器人能够调整行驶路径,以使本体避开第一颜色的区域,功能件避开第二颜色的区域,由此,使智能机器人在行驶过程中能够实时对行驶路径进行调整,不会与障碍物发生碰撞,使智能机器人能够安全行驶。
在一些实施方式中,所述控制模块还用于:控制所述智能机器人环绕工作区域行驶,以获取所述工作区域内的初始二维或三维点云;依据所述初始二维或三维点云生成第三地图;及依据所述第三地图生成所述预设路径。
本实施方式中,首先控制智能机器人环绕工作区域行驶,能够获取工作区域内的初始二维或三维点云,然后依据初始二维或三维点云生成第三地图,最后依据第三地图生成预设路径,根据工作区域,智能机器人规划预设路径,由此智能化机器人能够该预设路径行驶,便于智能机器人的安全行驶。
本申请实施方式的智能机器人包括:一个或多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行上述任意一个实施方式所述的行驶控制方法的指令。
本申请实施方式的智能机器人中,智能机器人包括本体及功能件,首先获取智能机器人周围预设范围内的实时二维或三维点云,然后根据将所有的二维或三维点云生成第一地图,将不高于功能件安装高度的点云生成第二地图,行驶过程中判断本体是否能以预设路径在第一地图中通过,且判断功能件是否能以预设路径在第二地图中通过,若是,控制智能机器人以预设路径行驶,由此,将智能机器人的本体和功能件分别在第一地图和第二地图中进行判断,能够避免智能机器人在实际行驶中,智能机器人实际能够通过,由于本体和功能件的外观尺寸不一致,导致将智能机器人作为一个整体判断时而造成行驶不通过的情况发生,同时能够增加智能机器人的可行驶区域,便于智能机器人更好地执行任务,提高智能机器人任务完成的质量。
本申请实施方式的计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行上述任意一个实施方式所述的行驶控制方法。
本申请实施方式的计算机可读存储介质中,智能机器人包括本体及功能件,首先获取智能机器人周围预设范围内的实时二维或三维点云,然后根据将所有的二维或三维点云生成第一地图,将不高于功能件安装高度的点云生成第二地图,行驶过程中判断本体是否能以预设路径在第一地图中通过,且判断功能件是否能以预设路径在第二地图中通过,若是,控制智能机器人以预设路径行驶,由此,将智能机器人的本体和功能件分别在第一地图和第二地图中进行判断,能够避免智能机器人在实际行驶中,智能机器人实际能够通过,由于本体和功能件的外观尺寸不一致,导致将智能机器人作为一个整体判断时而造成行驶不通过的情况发生,同时能够增加智能机器人的可行驶区域,便于智能机器人更好地执行任务,提高智能机器人任务完成的质量。
本申请的实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实施方式的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请某些实施方式的行驶控制方法的流程示意图;
图2是本申请某些实施方式的智能机器人的结构示意图;
图3是本申请某些实施方式的智能机器人的模块示意图;
图4是本申请某些实施方式的行驶控制装置的模块示意图;
图5是本申请某些实施方式的行驶控制方法的流程示意图;
图6是本申请某些实施方式的行驶控制方法的场景示意图;
图7是本申请某些实施方式的行驶控制方法的场景示意图;
图8是本申请某些实施方式的行驶控制方法的流程示意图;
图9是本申请某些实施方式的行驶控制方法的场景示意图;
图10是本申请某些实施方式的行驶控制方法的流程示意图;
图11是本申请某些实施方式的行驶控制方法的场景示意图;
图12是本申请某些实施方式的行驶控制方法的场景示意图;
图13是本申请某些实施方式的行驶控制方法的流程示意图;
图14是本申请某些实施方式的行驶控制方法的场景示意图;
图15是本申请某些实施方式的行驶控制方法的场景示意图;
图16是本申请某些实施方式的行驶控制方法的流程示意图;
图17是本申请某些实施方式的行驶控制方法的场景示意图;
图18是本申请某些实施方式的行驶控制方法的流程示意图;
图19是本申请某些实施方式的行驶控制方法的流程示意图;
图20是本申请某些实施方式的计算机可读存储介质的模块示意图。
具体实施方式
以下结合附图对本申请的实施方式作进一步说明。附图中相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。
另外,下面结合附图描述的本申请的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的限制。
在本申请中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
请参阅图1及图2,本申请实施方式的行驶控制方法应用于智能机器人100,智能机器人100包括本体40及安装在本体40上的功能件50,功能件50安装在本体40的安装高度h处,行驶控制方法包括步骤:
s010:获取智能机器人100周围预设范围内的实时二维或二维或三维点云;
s020:依据实时二维或三维点云生成第一地图;
s030:依据实时二维或三维点云中相对于行驶表面m的高度不高于安装高度h的点云,生成第二地图;
s040:判断本体40是否能以预设路径在第一地图中通过、且功能件50是否能以预设路径在第二地图中通过;和
s050:若是,控制智能机器人100沿预设路径行驶。
请参阅图3,本申请实施方式的智能机器人100包括一个或多个处理器10、存储器20及一个或多个程序,其中一个或多个程序被存储在存储器20中且被一个或多个处理器10执行,程序包括用于执行本申请实施方式的行驶控制方法的指令。处理器10执行程序时,处理器10可用于实施本申请任一实施方式的行驶控制方法。处理器10执行程序时,处理器10可用于实施步骤s010、步骤s020、步骤s030、步骤s040及步骤s050,即处理器10可用于获取智能机器人100周围预设范围内的实时二维或三维点云;依据实时二维或三维点云生成第一地图;依据实时二维或三维点云中相对于行驶表面m的高度不高于所述安装高度h的点云,生成第二地图;判断所述本体40是否能以预设路径在所述第一地图中通过、且所述功能件50是否能以所述预设路径在所述第二地图中通过;及若是,控制所述智能机器人100沿所述预设路径行驶。
请结合图4,本申请实施方式的行驶控制装置200包括获取模块210、第一制图模块220、第二制图模块230、判断模块240及控制模块250。获取模块210、第一制图模块220、第二制图模块230、判断模块240及控制模块250可分别用于实施步骤s010、步骤s020、步骤s030、步骤s040及步骤s050。即,获取模块210用于获取智能机器人100周围预设范围内的实时二维或三维点云;第一制图模块220用于依据实时二维或三维点云生成第一地图;第二制图模块230用于依据实时二维或三维点云中相对于行驶表面m的高度不高于所述安装高度h的点云,生成第二地图;判断模块240用于判断本体40是否能以预设路径在第一地图中通过、且功能件50是否能以预设路径在第二地图中通过;其中,若判断模块240输出的判断结果为是,控制模块250执行步骤s050,控制模块250即控制所述智能机器人100沿所述预设路径行驶。
本申请实施方式的行驶控制方法、行驶控制装置200及智能机器人100中,智能机器人100包括本体40及功能件50,首先获取智能机器人100周围预设范围内的实时二维或三维点云,然后根据将所有的二维或三维点云生成第一地图,将不高于功能件50安装高度h的点云生成第二地图,行驶过程中判断本体40是否能以预设路径在第一地图中通过,且判断功能件50是否能以预设路径在第二地图中通过,若是,控制智能机器人100以预设路径行驶,由此,将智能机器人100的本体40和功能件50分别在第一地图和第二地图中进行判断,能够避免智能机器人100在实际行驶中,智能机器人100实际能够通过,由于本体40和功能件50的外观尺寸不一致,导致将智能机器人100作为一个整体避障时而造成行驶不通过的情况发生,同时能够增加智能机器人100的可行驶区域,便于智能机器人100更好地执行任务,提高智能机器人100任务完成的质量。
其中,智能机器人100可以是工业机器人、农业机器人、家庭机器人、服务机器人、清洁机器人等,在此不做限制。进一步地,清洁机器人可以是扫地机、洗地机、吸尘器等智能机器人100。智能机器人100还可以包括通信接口30、清洁执行装置等元件。智能机器人100可以用于清洁地板、地砖、路面或者水泥地等表面。
具体地,智能机器人100包括本体40及功能件50,其中本体40指的是智能机器人100的机身,功能件50指的是智能机器人100的执行装置,例如当智能机器人100为洗地机时,功能件50可以是刷盘、吸水趴、尘推件等,在此不做限制。其中,功能件50安装在本体40上,且功能件50在本体40上具有一定的安装高度h,例如可以是安装在本体40的10厘米、20厘米、30厘米、35厘米、40厘米、50厘米处等,在此不做限制。其中,本体40和功能件50的外观尺寸存在差异,可以是本体40的宽度大于功能件50的宽度,也可以是本体40的宽度小于功能件50的宽度。在一个例子中,功能件50的宽度可以大于本体40的宽度。
其中,在步骤s010中,获取所述智能机器人100周围预设范围内的实时二维或三维点云,智能机器人100周围的预设范围可以是用户自己设置的范围,例如可以是以智能机器人100为中心,周围2米、3米、4米、5米、8米、10米等距离的范围,在此不做限制。其中,获取的点云为实时二维或三维点云数据,即智能机器人100上传感器等元件实时检测的二维或三维点云数据,由此,获取的点云数据更加精准、以及更加稳定。可以理解,获取的点云可以是二维点云,也可以是三维点云,在此不做限制。
步骤s020中,依据实时二维或三维点云生成第一地图,可以理解,依据获取到的所有的实时二维或三维点云数据,生成第一地图,由此,第一地图包括所有的点云数据,第一地图的数据更加准确,适用于智能机器人100及本体40导航及避障。其中,依据实时二维或三维点云生成第一地图可由第一制图模块220进行控制。
步骤s030中,依据实时二维或三维点云中相对于行驶表面m的高度不高于安装高度h的点云,生成第二地图,功能件50安装在本体40的安装高度h处,可以理解,相对于行驶表面m的高度不高于安装高度h的点云,即为在功能件50与行驶表面m之间的点云,第二地图只包括在行驶表面m与功能件50之间的点云,由此,第二地图适用于功能件50进行导航以及避障。
步骤s040,判断本体40是否能以预设路径在第一地图中通过、且功能件50是否能以预设路径在第二地图中通过,执行完步骤s040后,若步骤s040输出的结果为是,则控制模块250执行步骤s050,控制智能机器人100沿预设路径行驶。由于第一地图包括所有的点云,用第一地图进行判断本体40是否能以预设路径通过,对本体40的行驶中的判断更加精准,同时第二地图包括功能件50安装高度h以下的点云,通过第二地图判断功能件50能否以预设路径通过,可以更加精准的判断功能件50在行驶时是否会与障碍物发生碰撞。通过第一地图与第二地图分开判断本体40及功能件50能否通过,可以避免因本体40和功能件50的尺寸不一致,导致将智能机器人100作为一个整体进行判断时,实际上能够通过而被判断为不能通过的现象的发生,同时,利用第一地图及第二地图分开判断本体40及功能件50,还能够增加智能机器人100的可行驶区域,使智能机器人100行驶时更加准确以及安全,能够清洁更多的范围,实现更好地清洁效果。
进一步地,在一些实施方式中,请参阅图5,步骤s010包括步骤:
s011:检测智能机器人100周围预设范围内的检测二维或三维点云;
s012:过滤检测二维或三维点云中的噪点及行驶表面m上的点云,以形成中间点云;和
s013:将中间点云转化至世界坐标系下,以形成实时二维或三维点云。
步骤s011中,可以是智能机器人100上的传感器检测周围预设范围内的检测二维或三维点云,其中传感器可以是超声波传感器、激光传感器、图像传感器等传感器,在此不做限制。在检测完智能机器人100周围预设范围内的检测二维或三维点云后,检测到的二维或三维点云可能存在一些噪点,及其中可能还包括智能机器人100行驶表面m上的点云,进一步在步骤s012中,可以是智能机器人100上的数据过滤节点过滤检测二维或三维点云中的噪点及行驶表面m上的点云,形成中间点云,由此获得的二维或三维点云的数据更加准确,使依据实时二维或三维点云建立的地图更加精准。当然,也可以是智能机器人100上的其他节点执行步骤s012,在此不做限制。
进一步地,由于二维或三维点云是由传感器等元件获取的,二维或三维点云最开始均是形成在传感器等元件的坐标系中,为了便于进一步生成地图以及数据的统一化,需要将传感器坐标系下的二维或三维点云转化至世界坐标系中,在步骤s013中,将步骤s012中形成的中间二维或三维点云转化至世界坐标系下,形成了需要的实时二维或三维点云数据,同时得到的实时二维或三维点云同智能机器人100也在同一个坐标系下。由此,最终得到的实时二维或三维点云将更加准确,有利于智能机器人100行驶时进行避障以及导航。
获取模块210还可以用于执行步骤s011、步骤s012及步骤s013,处理器10还可以用于执行步骤s011、步骤s012及步骤s013。
请参阅图6至图8,在一些实施方式中,步骤s020包括步骤:
s021:将实时二维或三维点云d1投影在行驶表面m上,生成第一点云d11;
s022:依据第一点云d11生成第一地图t1;和
s023:将第一点云d11在第一地图t1内标记为第一颜色y1。
具体地,在步骤s010中获取到了实时二维或三维点云d1,其中实时二维或三维点云d1包括了实时获取到的所有的二维或三维点云。步骤s021中,将实时二维或三维点云d1投影在行驶表面m上,生成第一点云d11,可以理解,第一点云d11即为实时二维或三维点云d1投影在行驶表面m上的二维点云,步骤s022中,依据第一点云d11生成第一地图t1,故第一地图t1为二维地图,将第一地图t1制作成二维地图并进行后续的计算和存储,可以减少智能机器人100的内存占用空间及处理器10的占用率。最后将第一点云d11在第一地图t1内标记为第一颜色y1,便于智能机器人100进行识别,提高智能机器人100行驶的安全性。可以理解,第一颜色y1的区域即表示该区域内为障碍物。其中,第一颜色y1可以是蓝色、黑色、紫色、红色等,在此不做限制。
请参阅图7,在第一地图t1中还包括第三颜色y3,其中第三颜色y3的颜色可以是蓝色、淡蓝色、灰色、天蓝色、红色等,第三颜色y3指的是智能机器人100在行驶过程中可能会碰撞的区域,智能机器人100最好不要与第三颜色y3的区域中发生干涉,或者智能机器人100行驶到第三颜色y3的区域时需要提高警觉度。请结合图7,第一地图t1中除了第一颜色y1及第三颜色y3的区域,即,图7中的第四颜色y4的区域(图7中显示为白色),即为智能机器人100可正常行驶的区域。
在一个实施例中,在第一地图t1中,第一颜色y1为紫色,第三颜色y3为天蓝色,第四颜色y4为黑色,由此,各个区域之间的颜色各不相同,便于智能机器人100更好地进行识别,同时还便于使用的用户看懂第一地图t1。
第一制图模块220还用于执行步骤s021、步骤s022及步骤s023,处理器10还可以用于执行步骤s021、步骤s022及步骤s023。
请参阅图6、图9及图10,在一些实施方式中,步骤s030包括:
s031:将实时二维或三维点云d1中相对于行驶表面m的高度不高于安装高度h的点云d2投影至行驶表面m上,生成第二点云d21;
s032:依据第二点云d21生成第二地图t2;和
s033:将第二点云d21在第二地图t2内标记为第二颜色y2。
具体地,相对于行驶表面m的高度不高于安装高度h,即为行驶表面m与功能件50安装高度h之间的高度范围。其中,行驶表面m可以是地面、墙面、楼梯面等,在此不做限制。请再次参阅图6,实时二维或三维点云d1中包括多个高度的点云,其中,在行驶表面m与安装高度h之间的点云d2,即为相对于行驶表面m的高度不高于安装高度h的点云,将点云d2投影至行驶表面m上,生成第二点云d21。可以理解,第二点云d21即表示为相对于行驶表面m高度不超过安装高度h之间的障碍物。
进一步地,在步骤s032中,依据第二点云d21生成第二地图t2,可以理解结合第二点云d21的数据,生成了第二地图t2,由于第二点云d21为点云d2投影在行驶表面m上的点云,则第二点云d21为二维点云,由此生成的第二地图t2为二维地图,二维地图相对于三维地图占用的内存更小,运行时需要占用的处理器10资源较少,由此通过使用二维地图可以减少智能机器人100的内存占用空间及处理器10的占用率。
进一步地,在步骤s033中,将第二点云d21在第二地图t2中标记为第二颜色y2,由于第二点云d21表示障碍物信息,故将第二点云d21在第二地图t2中标记为第二颜色y2,有利于智能机器人100进行识别,能够判断为障碍物,更好地实现避障功能,同时还有利于使用的用户识别。其中,在第二地图t2中,还存在第五颜色y5及第六颜色y6,其中第五颜色y5的区域表示行驶至第五颜色y5的区域后容易发生碰撞的区域,第六颜色y6的区域表示能够正常行驶而不会发生碰撞的区域。
具体地,第二颜色y2可以是蓝色、黑色、紫色、红色、绿色等,第五颜色y5可以是蓝色、淡蓝色、灰色、天蓝色、红色等,第六颜色y6可以是黑色、白色、绿色、黄色等,在此不做限制。其中,第一颜色y1可以与第二颜色y2相同,也可以不同,第三颜色y4可以与第五颜色y5相同,也可以不同,第四颜色y4可以与第六颜色y6相同,也可以不同,在此不做限制。在一个实施例中,在第二地图t2中,第二颜色y2为紫色,第五颜色y5为天蓝色、第六颜色y6为黑色,由此,在第二地图t2中,各个区域颜色不一致,区分度高,便于识别。
进一步地,在某些实施方式中,第一地图t1及第二地图t2在智能机器人100的内部中均为栅格化地图数据,其中一个栅格表示一个字节,代表8位,其中,在第一地图t1及第二地图t2中,用数值0-255进行表示,其中,255代表未知区域,254代表已知区域内一定不能被智能机器人触碰的点,数值253再往下表示尽量不要让智能机器人100触碰的区域,0表示可行驶区域,智能机器人100可以任意在该区域内行驶。
第二制图模块230还可以用于执行步骤s031、步骤s032及步骤s033,处理器10还可以用于执行步骤s031、步骤s032及步骤s033。
请参阅图11至图13,在一些实施方式中,步骤s040包括步骤:
s041:判断本体40以预设路径行驶时,本体40是否会与第一颜色y1的区域发生干涉;和
s042:判断功能件50以预设路径行驶时,功能件50是否会与第二颜色y2的区域发生干涉。
具体地,步骤s041及步骤s042执行的先后顺序可以是先执行步骤s041,后执行步骤s042,也可以是先执行步骤s042,再执行步骤s041,还可以是步骤s041和步骤s042同时执行,在此不做限制。其中,在步骤s020及步骤s030中,分别建立了第一地图t1及第二地图t2,其中,本体40行驶时以第一地图t1进行判断,功能件50行驶通过第二地图t2进行判断,由此,能够使智能机器人更好地判断能否以预设路径进行行驶,避免因本体40及功能件50外观尺寸不一致,导致将本体40和功能件50看做一个整体造成错误判断的情况。
进一步地,第一点云d11在第一地图t1中被标记为第一颜色y1,判断本体40能否以预设路径在第一地图t1中通过,即判断本体40以预设路径行驶时,是否会与第一颜色y1的区域发生干涉,若本体40不会与第一颜色y1的区域发生干涉,则表示本体40以预设路径行驶时,不会与障碍物发生碰撞,能够安全行驶。第二点云d21在第二地图t2中被标记为第二颜色y2,判断功能件50能否以预设路径在第二地图t2中通过,即判断功能件50以预设路径行驶时,是否会与第二颜色y2的区域发生干涉,若功能件50不会与第二颜色y2的区域发生干涉,则表示功能件50以预设路径行驶时,不会与障碍物发生碰撞,能够安全行驶。
判断模块240还可以用于执行步骤s041及步骤s042,处理器10还可以用于执行步骤s041及步骤s042。
请参阅图14至图16,在一些实施方式中,行驶控制方法还包括步骤:
s060:若本体40不能以预设路径l在第一地图t1中通过,和\或若功能件50不能以预设路径l在第二地图t2中通过;
s061:调整智能机器人100的行驶路径,以使本体40避开第一颜色y1的区域,且功能件50避开第二颜色y2的区域。
本体40不能以预设路径l在第一地图t1中通过,和\或功能件50不能以预设路径l在第二地图t2中通过,智能机器人100能够自动调整行驶路径,使本体40能够避开第一颜色的区域,且功能件50避开第二颜色的区域,由此,智能机器人100在行驶的过程中一直不会与障碍物发生碰撞,使智能机器人100能够保持安全行驶。
具体地,请结合图14及图15,智能机器人100最开始以预设路径l行驶,可以理解,本体40和功能件50均是沿预设路径l行驶。在图14中,在沿预设路径l行驶的过程中,本体40不会与第一颜色y1的区域发生干涉(如虚线的本体40所示),在图15中,功能件50会与第二颜色y2的区域发生干涉(如虚线的功能件50所示),如果继续沿预设路径l行驶,可能会导致智能机器人100因与障碍物碰撞而无法正常进行工作,由此,智能机器人100调整行驶路径,将行驶路径调整为第一行驶路径l1,智能机器人100以调整后的第一行驶路径l1行驶,使本体40能够避开第一颜色y1的区域,同时功能件50也能够避开第二颜色y2的区域,以使智能机器人100安全行驶。其中,智能机器人100沿第一行驶路径l1在避开障碍物后,逐渐向预设路径l行驶,由此,智能机器人100能够始终保持安全行驶,避免因碰撞到障碍物造成智能机器人100损坏或者卡死,影响工作效率。
控制模块250还可用于执行步骤s060及步骤s061,处理器10还可用于执行步骤s060及步骤s061。
请参阅图17及图18,在一些实施方式中,行驶控制方法还包括步骤:
s070:控制智能机器人100环绕工作区域行驶,以获取工作区域内的初始二维或三维点云;
s071:依据初始二维或三维点云生成第三地图;
s072:依据第三地图生成预设路径l。
其中,智能机器人100能够根据工作区域的点云数据,自动规划预设路径l,使智能机器人100在后续执行任务的过程中能够沿该预设路径l行驶,使智能机器人100在后续执行工作任务时能够有序、有效的进行,避免在工作区域内杂乱行驶,同时使得智能机器人100的行驶更加安全。
具体地,智能机器人100在开始执行任务前,首先智能机器人100在需要执行任务的工作区域行驶一圈,直到将工作区域内的所有区域均行驶完,智能机器人100在行驶过程中,不断获取工作区域内的点云,形成初始二维或三维点云,然后依据初始二维或三维点云生成第三地图t3,由于第三地图t3包括了工作区域内的所有的点云,因此第三地图t3相对比较准确,最后依据第三地图t3生成预设路径l,便于智能机器人100后续在执行任务时沿该预设路径l行驶,使智能机器人100在执行任务时能够有效、有序进行,而不会在工作区域工作时不会杂乱行驶。
控制模块250还用于执行步骤s070、步骤s071及步骤s072,处理器10还用于执行步骤s070、步骤s071及步骤s072。
进一步地,请参阅图17及图19,在一些实施方式中,步骤s072包括步骤:
s721:本体40依据第三地图t3生成第一预设路径;
s722:功能件50依据第三地图t3生成第二预设路径;和
s723:处理第一预设路径及第二预设路径,生成预设路径。
具体地,由于本体40和功能件50的外观尺寸存在差异,因此在第三地图中的可行驶区域也存在差异,如果本体40的外观尺寸比功能件50的外观尺寸小的情况下,则本体40在第三地图中的可行驶区域相对于功能件50较大,因此,本体40和功能件50在第三地图中生成的可行驶路径可能存在一定的差异。
在图17所示的实施例中,功能件50的外观尺寸大于本体40的外观尺寸,本体40在第三地图t3中的可行驶区域为区域z2,功能件50在第三地图t3中的可行驶区域为区域z1,可以理解,本体40依据第三地图t3生成第一预设路径只要在区域z2中,本体40以第一预设路径行驶时,不会与障碍物发生碰撞,功能件50依据第三地图t3生成的第二预设路径只要在区域z1中,功能件50以第二预设路径行驶时不会与障碍物发生碰撞。由于区域z1小于区域z2,若取第一预设路径行驶,功能件50将与障碍物发生碰撞,故需要处理第一预设路径及第二预设路径,以生成预设路径,以使本体40及功能件50在预设路径行驶时,不会与第三地图中的障碍物发生碰撞。
行驶控制装置200还可用于执行步骤s721、步骤s722及步骤s723,处理器10还可执行步骤s721、步骤s722及步骤s723。
请再次参阅图3,存储器20用于存放可在处理器10上运行的计算机程序,处理器10执行程序时实现上述任一实施方式中的行驶控制方法。
存储器20可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。进一步地,智能机器人100还可包括通信接口30,通信接口30用于存储器20和处理器10之间的通信。
如果存储器20、处理器10和通信接口30独立实现,则通信接口30、存储器20和处理器10可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industrystandardarchitecture,简称为isa)总线、外部设备互连(peripheralcomponent,简称为pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器20、处理器10及通信接口30,集成在一块芯片上实现,则存储器20、处理器10及通信接口30可以通过内部接口完成相互间的通信。
处理器10可能是一个中央处理器(centralprocessingunit,简称为cpu),或者是特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者是被配置成实施本申请实施例的一个或多个集成电路。
请参阅图20,本申请实施方式的非易失性计算机可读存储介质300包括计算机可执行指令301,当计算机可执行指令被一个或多个处理器400执行时,使得处理器400执行本申请任一实施方式的行驶控制方法。
例如,计算可执行指令被处理器400执行时,处理器400用于实施步骤:
s010:依据多个传感器的检测数据识别智能机器人100的工作场景;
s020:根据工作场景匹配工作模式,工作模式关联有多个清洁执行件40的预设工作参数;
s030:控制清洁执行件40以预设工作参数执行清洁任务。
其上存储有计算机程序,该程序被处理器400执行时实现如上的行驶控制方法。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“某些实施方式”、“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个所述特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个,除非另有明确具体的限定。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。