具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请提供的机器人的清洁控制方法可应用于机器人在对预设清洁区域进行清洁的场景中,其中预设清洁区域可以由用户自主设定,如在室内场景中,预设清洁区域可以包括客厅、厨房、卧室以及餐厅等,还可以将预设清洁区域设定为整个室内区域。
该机器人的清洁控制方法的执行主体可以为能够凭借一定的人工智能自动完成对地面清洁工作的清洁机器人,如扫地机器人、拖地机器人或扫拖一体机。
为了说明本申请的技术方案,下面通过具体实施例来说明。
参照图1,示出了本申请实施例一提供的一种机器人的清洁控制方法的流程示意图,如图所示该机器人的清洁控制方法可以包括如下步骤:
步骤101,若在机器人沿第一行进方向进行清洁时检测到障碍物,则控制机器人对障碍物进行沿边清洁,并实时获取机器人与第一行进方向所在直线的第一距离。
在本申请实施例中,障碍物包括但不限于实体障碍物、虚拟墙壁、实体墙壁、悬崖以及台阶等。
在本申请实施例中,机器人可以通过沿边传感器、近红外传感器、碰撞传感器、距离传感器感知周围的环境信息对障碍物进行检测,当检测到障碍物时,借助沿边传感器或测距传感器控制机器人沿着障碍物进行沿边清洁。机器人可以通过机身上设置的距离传感器实时获取机器人与第一行进方向所在直线的第一距离。其中,距离传感器可以是激光测距传感器、超声波传感器或红外线传感器,也可以是其他能够测距的传感器,在此不做限定。
示例性地,如图3所示的预设清洁区域可以是由实体墙壁围成的清洁区域,标识1为机器人朝第一行进方向行进的路径。当机器人启动后,首先沿第一行进方向的行进路径行进,机器人实时检测前方的障碍物,当检测到前方的实体墙壁时,则控制机器人沿实体墙壁的边沿行进(即沿实体墙壁进行沿边清洁),同时获取机器人在标识2路径上行进的距离,(即该机器人与第一行进方向所在直线的第一距离),当沿实体墙壁边沿行进一定的距离时,可以控制机器人旋转,进而转换行进路径。
可选地,若在所述机器人沿第一行进方向进行清洁时检测到障碍物,则控制所述机器人对所述障碍物进行沿边清洁,包括:
若在机器人沿第一行进方向进行清洁时检测到障碍物,则检测机器人的机身两侧是否为待清洁区域;
若机身两侧中的一侧为待清洁区域,则控制机器人沿障碍物对待清洁区域进行清洁;
若机身两侧均为待清洁区域,则控制机器人沿障碍物对与区域清洁方向相反的待清洁区域进行清洁;
在完成对与区域清洁方向相反的待清洁区域的清洁时,控制机器人沿障碍物对与区域清洁方向相同的待清洁区域进行清洁。
其中,区域清洁方向为机器人在初始清洁该区域时,从清洁区域指向待清洁区域的方向,待清洁区域是指预设清洁区域内的未清洁区域。当机器人沿第一行进方向进行清洁时检测到障碍物,检测机器人的机身两侧是否为待清洁区域可以通过机器人在应用程序中的建图定位中查找待清洁区域来检测。
在本申请实施例中,当机器人沿第一行进方向进行清洁时检测到障碍物,检测判断机器人的机身两侧是否为待清洁区域,若只有一侧为待清洁的区域,则控制机器人沿障碍物边缘向待清洁区域行进,若两侧都为待清洁的区域,则控制机器人沿障碍物边缘向与区域清洁方向相反的一侧进行清洁,直到完成对与区域清洁方向相反一侧的清洁,再控制机器人沿障碍物边缘向与区域清洁方向相同的一侧进行清洁。
示例性地,如图3所示,标识3为机器人的行进路径,当机器人沿该行进路径行进时检测到实体墙壁,此时需要检测机身两侧是否为待清洁区域,通过在建图定位的地图中查找可得清洁路径1所在的区域为已清洁区域,而清洁路径4所在的区域为待清洁区域,故应控制机器人沿着实体墙壁边缘向待清洁区域行进(即沿清洁路径4行进)。
可选地,若在机器人沿第一行进方向进行清洁时检测到障碍物,则控制机器人沿障碍物进行清洁还包括:
若在机器人沿障碍物对与区域清洁方向相反的待清洁区域进行清洁时检测到障碍物,检测到机身两侧均为待清洁区域,则控制机器人沿障碍物对与区域清洁方向相同的待清洁区域进行清洁;
在完成对与区域清洁方向相同的待清洁区域的清洁时,控制机器人沿障碍物对与区域清洁方向相反的待清洁区域进行清洁。
在本申请实施例中,在机器人沿障碍物对与区域清洁方向相反的待清洁区域进行清洁时检测到障碍物,若机身两侧均为待清洁区域,则首先清洁与区域清洁方向相同的区域,在完成与区域清洁方向相同的区域的清洁后,再对与区域清洁方向相反的区域进行清洁,直至完成整个预设清洁区域的清洁,对机身两侧的区域进行检测并按照上述方案进行清洁,可以加快机器人的清洁进程。
示例性地,如图4所示,机器人的清洁顺序为点①—点②—点③—点④—点⑤—点④—点②—点③—点⑥,当机器人第一次经过点③时,区域清洁方向为由点①所在的区域指向点⑥所在区域的方向(即在图4中为由上至下的方向)检测机身两侧是否为待清洁区域,此时机身两侧均为待清洁区域,首先控制机器人沿障碍物对与区域清洁方向相反的待清洁区域进行清洁,即控制机器人沿实体墙壁向点③上方的区域方向进行清洁,当从点③沿行进路径行进至点⑦时,检测到已清洁区域边界(机器人此时将已清洁区域边界视为虚拟墙障碍物),需控制机器人沿区域边界进行沿边清洁,即控制机器人向点⑦上方的区域方向进行清洁,沿图4中规定的路径进行清洁至点⑤的位置,在完成点③上方区域的清洁后,在按照规定的路径完成点③下方区域的清洁,直至完成图4中整个预设清洁区域的清洁。
应理解,在本申请实施例中,区域清洁方向为机器人在初始清洁该区域时,从清洁区域指向待清洁区域的方向,且一个预设清洁区域中包含一个区域清洁方向。
步骤102,当第一距离等于预设距离时,确定机器人在当前时刻所处的位置指向第一行进方向的起点的方向为第二行进方向。
其中,预设距离是指预先设置的机器人相邻第一行进方向所在直线之间的距离,通过设置该预设距离可以控制机器人沿障碍物边缘的行进距离,该预设距离可以小于或等于机器人的清洁组件的宽度,可以使机器人的清洁轨迹更加的密集,在保证机器人完成沿障碍物边缘进行清洁的目标下,提高整个预设清洁区域的清洁率,清洁组件包括但不限于机器人的滚刷和拖布。根据机器人的实际工作场景考虑,该预设距离也可以大于机器人的清洁组件的宽度。
在本申请实施例中,在机器人沿障碍物边缘进行清洁时,可以通过距离传感器采集到的第一距离与预设距离的大小关系,控制机器人的转向操作,当采集到的第一距离等于预设距离时,确定机器人在行进到第一距离等于预设距离时所处的位置指向第一行进方向起点的方向为第二行进方向。其中,第一行进方向与第二行进方向相交,可以减少障碍物边缘的漏扫率。
示例性地,如图3所示,标识1为机器人的在第一行进方向上的行进路径,标识2为机器人沿障碍物行进的路径(即测量第一距离的路径),当行进至第一距离等于预设距离时,控制机器人沿标识为3的路径进行转向操作,标识为3的路径的行进方向为机器人行进到第一距离等于预设距离时所处的位置指向第一行进方向起点的方向,即第二行进方向。
步骤103,控制机器人沿第二行进方向进行清洁。
其中,第二行进方向是指上述步骤102中,机器人在行进到第一距离等于预设距离时所处的位置指向第一行进方向起点的方向。
在本申请实施例中,当机器人沿障碍物边缘行进到预设距离或机器人遇到其他障碍物时,控制机器人进行转向,旋转至机器人当前时刻所处的位置指向第一行进方向起点的方向,并控制机器人按照该方向进行清洁。
示例性地,如图3所示,标识为2的为机器人沿实体墙壁行进至与第一行进方向所在直线间隔预设距离的路径,机器人沿路径2所在的方向进行沿边清洁,并在采集的第一距离等于预设距离时控制机器人转向,标识为3的为机器人朝着第二行进方向行进的路径,控制机器人按照该行进方向向第一行进方向起点的位置进行清洁,可以完成该部分的区域清洁,在完成区域清洁的过程中兼顾墙体清洁,不仅有利于机器人的建图定位,还可以提高机器人清洁过程中的沿边覆盖率。
由上可知,本申请实施例在机器人沿第一行进方向进行清洁时检测到障碍物时,首先控制机器人对障碍物进行沿边清洁,同时获取机器人与第一行进方向所在直线的第一距离,机器人遇到障碍物就进行沿边清洁,减少了沿边漏扫的现象。在上述第一距离等于预设距离时,确定机器人在当前时刻所处的位置指向第一行进方向的起点的方向为第二行进方向,通过本方法,可确定第一行进方向与第二行进方向相交,提高了机器人的沿边清洁覆盖率。在确定出第二行进方向后,控制机器人沿第二行进方向进行清洁。由上可知,本申请技术方案在进行区域清洁的同时可以兼顾沿边清洁,在清洁过程中采用旋转路径的方式更有利于建图定位,并提高了机器人的沿边清洁覆盖率。
参照图2,示出了本申请实施例二提供的一种机器人的清洁控制方法的流程示意图,如图所示该机器人的清洁控制方法可以包括如下步骤:
步骤201,若在机器人沿第一行进方向进行清洁时检测到障碍物,则控制机器人对障碍物进行沿边清洁,并实时获取机器人与第一行进方向所在直线的第一距离。
其中,在机器人对障碍物进行沿边清洁时,控制机器人处于一种沿障碍物边缘进行清洁的工作模式,在该工作模式下可控制机器人沿障碍物边缘进行清洁。
在本申请实施例中,机器人可以通过其机身上安装的碰撞传感器来检测障碍物,并通过碰撞传感器检测机器人是否受到碰撞,使机器人可以沿障碍物进行清洁并沿着障碍物的边缘行进。
可选地,该机器人的清洁控制方法还包括:
若在机器人沿障碍物进行清洁的过程中,检测到机器人受到碰撞,则控制机器人朝免受碰撞的方向移动;
若在移动过程中未检测到机器人受到碰撞,则控制机器人朝产生碰撞的方向移动。
其中,机器人是否受到碰撞可以通过机器人机身上安装的碰撞传感器是否检测到碰撞信息来判断,若检测到碰撞信息,则确定机器人受到碰撞,若未检测到碰撞信息,则确定机器人未受到碰撞。检测机器人碰撞信息的传感器可以是能够采集机器人碰撞信息的任意传感器,在此不做限定。
在本申请实施例中,控制机器人沿障碍物的边缘进行清洁可以通过以下方式:首先在机器人沿第一行进方向进行清洁的过程中,通过碰撞传感器采集到的碰撞信息控制机器人进行转向操作,转向至沿障碍物边缘行进的方向,在转向后机器人沿障碍物进行清洁的过程中,若在机器人机身的第一侧检测到碰撞信息,控制机器人朝机身的第二侧的方向进行移动(此时机身的第二侧的方向即为免受碰撞的方向),控制机器人朝机身的第二侧的方向进行移动可以使机器人减小与障碍物边缘的摩擦,从而增加机器人的寿命。机器人一直朝机身的第二侧移动,当移动到机身的第一侧检测不到碰撞信息时,说明机器人此时不再与墙壁边缘摩擦,再控制机器人朝机身的第一侧的方向移动(此时机身的第一侧的方向即为产生碰撞的方向),如此循环,可控制机器人一直沿障碍物的边缘进行清洁,从而使机器人在沿障碍物边缘进行清洁的过程中不脱离障碍物的边缘。
需要说明的是,上述机器人机身的第一侧与第二侧构成了机器人的整个机身,即将机器人的机身划分为两半,其中一半为机身的第一侧,另一半为机身的第二侧。
应理解,上述若在机器人机身的第一侧检测到碰撞信息,此时与障碍物的边缘碰撞接触的一侧为机身的第一侧,即机身的第一侧的方向为产生碰撞的方向,机身的第二侧的方向为免受碰撞的方向。
还应该理解的是,若在机器人机身的第二侧检测到碰撞信息,此时与障碍物的边缘碰撞接触的一侧为机身的第二侧,即机身的第二侧的方向为产生碰撞的方向,机身的第一侧的方向为免受碰撞的方向。
由上可知,机器人机身的第一侧和机器人机身的第二侧是相对于与障碍物的边缘碰撞接触来说的,并不是固定设置的。
步骤202,当第一距离等于预设距离时,确定机器人在当前时刻所处的位置指向第一行进方向的起点的方向为第二行进方向。
本实施例步骤202与前述实施例中步骤102类似,可以相互参阅,本实施例在此不再赘述。
步骤203,控制机器人沿第二行进方向进行清洁。
本实施例步骤203与前述实施例中步骤103类似,可以相互参阅,本实施例在此不再赘述。
步骤204,若在控制机器人沿第二行进方向进行清洁时检测到障碍物,则控制机器人对障碍物进行沿边清洁,并实时获取机器人与第一行进方向所在直线的第二距离。
其中,控制机器人沿第二行进方向进行清洁时检测到障碍物包括:机器人沿第二行进方向行进至第一行进方向起点的位置时检测到障碍物,或者机器人沿第二行进方向进行清洁的过程中检测到障碍物。
在本申请实施例中,若在控制机器人沿第二行进方向行进至第一行进方向起点的位置时检测到障碍物,其实施步骤与在第一行进方向清洁时检测到障碍物相同,即控制机器人对障碍物进行沿边清洁,并实时获取机器人与第一行进方向所在直线的第二距离。
示例性地,如图3所示的预设清洁区域。标识为3的为机器人朝着第二行进方向行进的路径,在到达第一行进方向的起点位置时检测到实体墙壁障碍物,此时控制机器人进行转向,对实体墙壁进行沿边清洁,同时获取标识4路径所在直线的距离(即该机器人与第一行进方向所在直线的第二距离),当沿实体墙壁边沿行进一定的距离时,可以控制机器人旋转,进而转换行进路径。
应理解,上述沿实体墙壁边沿行进一定的距离中,一定的距离可以是指预设距离,该预设距离同步骤202中的预设距离相等。
可选地,若在机器人沿第二行进方向清洁至第一行进方向的起点之前检测到障碍物,则控制机器人对障碍物进行沿边清洁,直到回到第二行进方向继续前进。
其中,在机器人沿第二行进方向清洁至第一行进方向起点之前检测到障碍物时,可以通过控制机器人对障碍物进行沿边清洁之后回到第二行进方向继续执行清洁工作。
可选地,控制机器人对障碍物进行沿边清洁,直到回到第二行进方向继续前进包括:
控制机器人朝着区域清洁方向的反方向对障碍物进行沿边清洁,当机器人沿边至与第一行进方向所在直线的第一距离等于预设距离的位置时,回到能够朝着第二行进方向行进的位置,旋转至第二行进方向继续前进。
在本申请实施例中,机器人在第二行进方向进行清洁的过程中检测到障碍物,要首先控制机器人朝着区域清洁方向的反方向对障碍物进行沿边清洁,以避免因出现障碍物导致原清洁路径周边的清洁区域不被清洁的现象出现。
具体地,当控制机器人朝着区域清洁方向的反方向对障碍物进行沿边清洁时,可以控制机器人沿障碍物进行沿边清洁至第一距离等于预设距离的位置,之后再控制机器人回到可以与第二行进方向所在直线的延长线相连接的位置,旋转至与第二行进方向相同的方向后继续前进完成清洁工作,采用这种方案能够提高机器人对障碍物进行沿边清洁时的沿边覆盖率。
示例性地,如图5所示,为机器人在第二行进方向上检测到障碍物的一种应用场景示意图,机器人的清洁顺序为点⑧—点⑨—点⑩—点
—点
—点
—点
,当机器人从点⑧沿第二行进方向行进的过程中检测到障碍物时(此时第二行进方向所在的直线为点⑧与点
相连接的直线),控制机器人由点⑨沿障碍物向上进行沿边清洁,经过点⑩和点
行进至点
的位置,此时点
至第一行进方向的距离等于预设距离,由于点
位于点⑧与点
相连接的直线,而且又位于障碍物的边沿上,故再控制机器人回到点
的位置上,旋转至第二行进方向,向点
的方向继续行进。
应理解,上述示例性图5中,点⑧、点
和点
位于一条直线上,即第二行进方向所在的直线。
可选地,控制机器人对障碍物进行沿边清洁,直到回到第二行进方向继续前进包括:
控制机器人朝着区域清洁方向的反方向对障碍物进行沿边清洁,当机器人沿边至能够朝着第二行进方向行进的位置时,旋转至第二行进方向继续前进。
在本申请实施例中,当控制机器人朝着区域清洁方向的反方向对障碍物进行沿边清洁时,当机器人沿障碍物进行沿边清洁至能够朝着第二行进方向行进的位置时,还可以直接控制机器人进行旋转至第二行进方向继续前进完成清洁工作。
示例性地,如图6所示,为机器人在第二行进方向上检测到障碍物的另一种应用场景示意图,机器人的清洁顺序为点
—点
—点
—点
—点
—点
—点
—点
—点
—点
—点
。当机器人在第二行进方向上检测到障碍物时,首先控制机器人朝着区域清洁方向的反方向对障碍物进行沿边清洁,机器人由点
行进至点
的位置,由于点
位于点
与点
相连接的直线上(即点
位于能够朝着第二行进方向行进的位置上),此时控制机器人直接旋转至第二行进方向,向点
的方向继续行进。
应理解,由点
向点
的方向直接行进,会导致点
至点
的障碍物沿边部分不能及时清洁,故设置在由点
沿区域清洁方向的反方向进行清洁时对整个障碍物进行沿边清洁,(包括点
至点
的沿边清洁),沿边清洁结束后继续执行如步骤101至步骤104的清洁工作。
步骤205,当第二距离等于预设距离时,确定机器人在当前时刻所处的位置指向第一行进方向。
在本申请实施例中,确定机器人在当前时刻所处的位置指向第一行进方向可以通过控制机器人旋转至第一行进方向。
应理解,本步骤中的第一行进方向与步骤201中的第一行进方向的方向相同,即本步骤中第一行进方向所在直线与步骤201中的第一行进方向所在直线的关系为平行关系。
步骤206,控制机器人沿第一行进方向进行清洁。
其中,第一行进方向所在直线与步骤201中第一行进方向所在直线为平行关系,控制机器人沿第一行进方向进行清洁即返回执行步骤201。
步骤207,若第一距离小于预设距离,则控制机器人对障碍物进行部分沿边后回到第一行进方向继续前进。
其中,在第一距离小于预设距离时,即机器人无法按照图3中设定的路径进行清洁,此时需控制机器人对障碍物进行部分沿边后回到第一行进方向继续前进。
具体地,当在机器人的第一距离小于预设距离,无法按照图3中设定的路径进行清洁时,可以参见图4中在第一行进方向上检测到障碍物的情况。例如当机器人由点⑤行进至点④时,控制机器人沿障碍物边缘向点④上方区域行进进行沿边清洁,此时采集的第一距离小于预设距离,则控制机器人对障碍物边缘进行部分沿边,由于控制机器人由点⑤行进至点④的行进路径的方向与第一行进方向相同,则在对障碍物进行部分沿边之后回到第一行进方向继续前进,(即控制机器人沿第一行进方向由点④行进至点②),执行步骤201的操作。
应理解,对上述步骤201至步骤207重复循环执行,可以完成对当前预设待清洁区域的清洁工作。
可选地,在完成对当前预设待清洁区域的清洁时,控制机器人停止清洁工作。
在本申请实施例中,在完成对当前预设待清洁区域的清洁时,可通过程序设定直接控制机器人停止清洁工作。
可选地,控制机器人停止清洁工作之后还包括:
控制机器人停留在停止清洁工作时所处的位置上;
或者控制机器人返回目标充电座进行充电。
在本申请实施例中,控制机器人返回目标充电座进行充电可以通过设置回充模式来实现。其中,回充模式是指一种控制机器人返回目标充电座进行充电的工作模式,该模式可以在机器人自身电量不足时、接收到用户发送的控制回充指令时或机器人完成预设待清洁区域的清洁任务后自动开启。
示例性地,若机器人在清洁过程中检测到自身电量不足,则控制机器人返回目标充电座进行充电,充电完成后继续对未完成的预设清洁区域进行清洁。
示例性地,若机器人在完成预设清洁区域的清洁后,自身电量充裕,可以控制机器人停留在停止清洁工作时所处的位置上,或者也可以控制机器人返回目标充电座进行充电。
需要说明的是,若机器人在清洁过程中,程序出现紊乱,导致机器人无法按照设定的路径进行清洁,此时可通过机器人机身上的操作面板、配套使用的遥控器或机器人对应的应用程序(Application,APP)来下发外部指令,以使机器人由当前模式切换为正常工作模式。其中,正常工作模式即按照上述步骤所规定的路径进行清洁工作的模式。
本申请实施例相较于实施例一来说,不仅考虑了机器人在第一行进方向上检测到障碍物的应用场景,还考虑了机器人在第二行进方向上检测到障碍物的应用场景,并针对机器人在第二行进方向上检测到障碍物提出了两种对应的实时方案,可使机器人应对不同应用场景下的突发状况,提高机器人的灵活性以及在不同场景下的清洁覆盖率。同时,在机器人完成对预设清洁区域的清洁工作后,可控制机器人停留在停止工作时所处的位置上或者控制机器人返回目标充电座进行充电多种实施方式,本申请的技术方案不仅提高了机器人的清洁效率,还优化了该机器人的智能化效果。
参照图7,示出了本申请实施例三提供的一种机器人的清洁控制装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分,机器人的清洁控制装置具体可以包括如下模块:
距离获取模块701,用于若在机器人沿第一行进方向进行清洁时检测到障碍物,则控制机器人对障碍物进行沿边清洁,并实时获取机器人与第一行进方向所在直线的第一距离;
方向确定模块702,用于当第一距离等于预设距离时,确定机器人在当前时刻所处的位置指向第一行进方向的起点的方向为第二行进方向;
清洁控制模块703,用于控制机器人沿第二行进方向进行清洁。
在本申请实施例中,上述机器人的清洁控制装置还包括:
沿边模块,用于若在控制机器人沿第二行进方向进行清洁时检测到障碍物,则控制机器人对障碍物进行沿边清洁,并实时获取机器人与第一行进方向所在直线的第二距离;
方向模块,用于当第二距离等于预设距离时,确定机器人在当前时刻所处的位置指向所述第一行进方向;
控制模块,用于控制机器人沿第一行进方向进行清洁。
在本申请实施例中,上述沿边模块具体可以包括如下子模块:
沿边清洁子模块,用于若在机器人沿第二行进方向清洁至第一行进方向的起点之前检测到障碍物,则控制机器人对障碍物进行沿边清洁,直到回到第二行进方向继续前进。
在本申请实施例中,上述沿边清洁子模块具体可以包括如下单元:
第一旋转单元,用于控制机器人朝着区域清洁方向的反方向对障碍物进行沿边清洁,当机器人沿边至与第一行进方向所在直线的第一距离等于预设距离的位置时,回到能够朝着第二行进方向行进的位置,旋转至第二行进方向继续前进。
在本申请实施例中,上述沿边清洁子模块具体还可以包括如下单元:
第二旋转单元,用于控制机器人朝着区域清洁方向的反方向对障碍物进行沿边清洁,当机器人沿边至能够朝着第二行进方向行进的位置时,旋转至第二行进方向继续前进。
在本申请实施例中,上述机器人的清洁控制装置还包括:
距离判断模块,用于若第一距离小于预设距离,则控制机器人对障碍物进行部分沿边后回到第一行进方向继续前进。
在本申请实施例中,距离获取模块701具体可以包括如下子模块:
第一检测子模块,用于若在机器人沿第一行进方向进行清洁时检测到障碍物,则检测机器人的机身两侧是否为待清洁区域;
第一控制子模块,用于若机身两侧中的一侧为待清洁区域,则控制机器人沿障碍物对待清洁区域进行清洁;
第二控制子模块,用于若机身两侧均为待清洁区域,则控制机器人沿障碍物对与区域清洁方向相反的待清洁区域进行清洁;
清洁控制子模块,用于在完成对与区域清洁方向相反的待清洁区域的清洁时,控制机器人沿障碍物对与区域清洁方向相同的待清洁区域进行清洁。
在本申请实施例中,距离获取模块701具体还可以包括如下子模块:
方向控制子模块,用于若在机器人沿障碍物对与区域清洁方向相反的待清洁区域进行清洁时,检测到机身两侧均为待清洁区域,则控制机器人沿障碍物对与区域清洁方向相同的待清洁区域进行清洁;
反向控制子模块,用于在完成对与区域清洁方向相同的待清洁区域的清洁时,控制机器人沿障碍物对与区域清洁方向相反的待清洁区域进行清洁。
需要说明的是:上述实施例提供的机器人的清洁控制装置在进行机器人的控制时,仅以上述各模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的机器人的清洁控制装置与机器人的清洁控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本申请实施例四提供的机器人的结构示意图。如图8所示,该实施例的机器人800包括:至少一个处理器810(图8中仅示出一个)处理器、存储器820以及存储在所述存储器820中并可在所述至少一个处理器810上运行的计算机程序821,所述处理器810执行所述计算机程序821时实现上述任意机器人的清洁控制方法实施例中的步骤。
所述机器人800可以是指能够凭借一定的人工智能自动完成对地面清洁工作的清洁机器人,如扫地机器人、拖地机器人或扫拖一体机。该机器人可包括,但不仅限于,处理器810、存储器820。本领域技术人员可以理解,图8仅仅是机器人800的举例,并不构成对机器人800的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器810可以是中央处理单元(Central Processing Unit,CPU),该处理器810还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器820在一些实施例中可以是所述机器人800的内部存储单元,例如机器人800的硬盘或内存。所述存储器820在另一些实施例中也可以是所述机器人800的外部存储设备,例如所述机器人800上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器820还可以既包括所述机器人800的内部存储单元也包括外部存储设备。所述存储器820用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器820还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本申请实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当所述计算机程序产品在机器人上运行时,使得所述机器人执行时实现可实现上述各个方法实施例中的步骤。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。