CN109947094A - 行进方法、自移动设备及存储介质 - Google Patents

行进方法、自移动设备及存储介质 Download PDF

Info

Publication number
CN109947094A
CN109947094A CN201910101021.5A CN201910101021A CN109947094A CN 109947094 A CN109947094 A CN 109947094A CN 201910101021 A CN201910101021 A CN 201910101021A CN 109947094 A CN109947094 A CN 109947094A
Authority
CN
China
Prior art keywords
virtual wall
mobile device
front region
travel
wall zone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910101021.5A
Other languages
English (en)
Other versions
CN109947094B (zh
Inventor
许开立
单俊杰
汤进举
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ecovacs Robotics Suzhou Co Ltd
Original Assignee
Ecovacs Robotics Suzhou Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ecovacs Robotics Suzhou Co Ltd filed Critical Ecovacs Robotics Suzhou Co Ltd
Priority to CN201910101021.5A priority Critical patent/CN109947094B/zh
Publication of CN109947094A publication Critical patent/CN109947094A/zh
Application granted granted Critical
Publication of CN109947094B publication Critical patent/CN109947094B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本申请实施例提供一种行进方法、自移动设备及存储介质。在本申请实施例中,以环境地图中标记的热度值为基础,自移动设备可确定行进方向前方是否出现虚拟墙区域,并在出现虚拟墙区域的情况下,针对虚拟墙区域进行避让,可避免反复进入虚拟墙区域(一般是困难区域);进一步,在满足避让失败条件的情况下,可尝试通过行进前方区域出现的虚拟墙区域继续行进,在一定程度上可降低自移动设备因热度值不断标记而被虚拟墙困住的概率。

Description

行进方法、自移动设备及存储介质
技术领域
本申请涉及人工智能技术领域,尤其涉及一种行进方法、自移动设备及存储介质。
背景技术
随着人工智能技术的发展,家用电器也趋向于智能化。例如,扫地机器人可自动完成地面清扫任务,将用户从清洁工作中解放出来。在实际应用中,扫地机器人等自移动设备在行进过程中很容易被困住,致使无法完成任务。
发明内容
本申请的多个方面提供一种行进方法、自移动设备及存储介质,用以降低自移动设备在行进过程中被困的概率,提高行进效率。
本申请实施例提供一种行进方法,适于自移动设备,所述方法包括:基于环境地图中标记的热度值,识别自移动设备行进方向前方区域是否出现虚拟墙区域;若出现虚拟墙区域,控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让;以及在满足避让失败条件时,控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进。。
本申请实施例还提供一种自移动设备,包括:设备本体,所述设备本体上设有一个或多个处理器,以及一个或多个存储计算机指令的存储器;所述一个或多个处理器,用于执行所述计算机指令,以用于:基于环境地图中标记的热度值,识别自移动设备行进方向前方区域是否出现虚拟墙区域;若出现虚拟墙区域,控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让;以及在满足避让失败条件时,控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:基于环境地图中标记的热度值,识别自移动设备行进方向前方区域是否出现虚拟墙区域;若出现虚拟墙区域,控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让;以及在满足避让失败条件时,控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进。
在本申请实施例中,以环境地图中标记的热度值为基础,自移动设备可确定行进方向前方区域是否出现虚拟墙区域,并在出现虚拟墙区域的情况下,针对虚拟墙区域进行避让,可避免反复进入虚拟墙区域(一般是困难区域);进一步,在满足避让失败条件的情况下,可尝试通过行进前方区域出现的虚拟墙区域继续行进,在一定程度上可降低自移动设备因热度值不断标记而被虚拟墙困住的概率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请示例性实施例提供的一种行进方法的流程示意图;
图1b为本申请示例性实施例提供的另一种行进方法的流程示意图
图2a为本申请示例性实施例提供的再一种行进方法的流程示意图;
图2b为本申请示例性实施例提供的又一种行进方法的流程示意图;
图3为本申请示例性实施例以形象化方式示出的扫地机器人检测到的虚拟墙的示例图;
图4a和图4b为本申请示例性实施例提供的扫地机器人被虚拟墙困住以及脱困的状态示意图;
图5为本申请示例性实施例提供的扫地机器人被虚拟墙困住的状态示意图;
图6为本申请示例性实施例提供的自移动设备的结构示意图;
图7为本申请示例性实施例提供的扫地机器人的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在实际应用中,扫地机器人等自移动设备在行进过程中很容易被困住,致使无法完成任务。针对该技术问题,在本申请一些实施例中,以环境地图中标记的热度值为基础,自移动设备可确定行进方向前方区域是否出现虚拟墙区域,并在出现虚拟墙区域的情况下,针对虚拟墙区域进行避让,可避免反复进入虚拟墙区域(一般是困难区域);进一步,在满足避让失败条件的情况下,可尝试通过行进前方区域出现的虚拟墙区域继续行进,在一定程度上可降低自移动设备因热度值不断标记而被虚拟墙困住的概率。
在本申请实施例中,自移动设备可以是任何能够在其所在环境中高度自主地进行空间移动的机械设备,例如,可以是机器人、无人车、净化器等。其中,机器人可以包括扫地机器人、擦玻璃机器人、家庭陪护机器人、迎宾机器人等。
在本申请实施例中,以环境地图中标记的热度值为基础。环境地图中标记有自移动设备作业环境中困难区域对应的热度值,热度值表示对应位置的脱困难度。在一种可选实施例中,随着被困时间或脱困时间的上升,热度值越高,对应位置的脱困难度越大。当然,随着被困时间或脱困时间的上升,热度值越低,对应位置的脱困难度越大,也是一种可选实施方式。在本申请下述实施例中,以随着被困时间或脱困时间的上升,热度值越高,对应位置的脱困难度越大为例进行说明。
其中,困难区域是指自移动设备行进困难的区域,可以包括自移动设备被困住、被卡住或反复进入的区域等。根据应用场景和自移动设备实现形态的不同,困难区域也会有所不同。以应用于家庭环境中的扫地机器人为例,对扫地机器人来说,家庭环境中存在的困难区域可以是多个连续的U型椅、吧台椅、茶几、沙发、餐桌等腿部区域,也可能是地毯区域等。
在自移动设备行进过程中,在碰到复杂环境时,可能发生被困的情况。为了避免自移动设备反复被困,自移动设备会在环境地图中标记困难区域的热度值,而且随着自移动设备在某一个固定区域脱困时间或被困时间的增加,该区域的热度值会不断升高。可选地,自移动设备在环境地图中标记热度值的初始位置,可以是自移动设备刚检测到被困时所在的位置,之后根据自移动设备脱困动作所消耗的时间,不断累加该位置的热度值,例如每隔4s将热度值加1,直至成功脱困。可选地,自移动设备刚检测到被困时所在的位置可以是自移动设备首次触发脱困动作时所在的位置。根据应用场景和自移动设备实现形态的不同,自移动设备触发的脱困动作也会有所不同。以扫地机器人为例,其触发的脱困动作可以是撞板动作,但不限于此。扫地机器人发生撞板时,一般会采取先后退再旋转的动作躲避障碍物。这里的撞板动作可以是先后退再旋转的动作。其中,旋转可以是向左旋转,也可以是向右旋转。
可选地,自移动设备可以以环境地图为基础,直接在环境地图上相应位置或区域标记热度值,从而得到标记有热度值的环境地图;或者,也可以复制一份环境地图,在复制版本上标记热度值,从而得到标记有热度值的环境地图。另外,环境地图上不仅可以标记困难区域的热度值,也可以标记非困难区域的热度值;其中,困难区域的热度值要高于非困难区域的热度值,并且热度值越高,相应位置或区域的脱困难度就越大。
当热度值高于热度阈值后,自移动设备可以把高于热度阈值的区域视为虚拟墙区域。虚拟墙是一个设给自移动设备的假设墙,看不到,也摸不到,但可被自移动设备识别到。对自移动设备来说,虚拟墙是一种障碍物,不可通过,一旦识别到虚拟墙,自移动设备需要进行避让,以避免进入该虚拟墙对应的困难区域,起到脱困的作用。为便于描述,将虚拟墙对应的困难区域称为虚拟墙区域。为了便于理解虚拟墙以及虚拟墙区域的概念,在图3中,以扫地机器人为例,对虚拟墙进行了形象化的图示。在图3中,灰色方块代表扫地机器人工作区域中出现的虚拟墙或虚拟墙区域,理想情况下,灰色方块代表的区域也是扫地机器人被困的区域。
基于上述标记有热度值的环境地图以及虚拟墙的概念,本申请示例性实施例提供的一种适用于自移动设备的行进方法,如图1a所示,该方法包括:
11、基于环境地图中标记的热度值,识别自移动设备行进方向前方区域是否出现虚拟墙区域;若判断结果为是,即出现虚拟墙区域,执行步骤12;若判断结果为否,沿当前行进方向继续行进。
12、控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让。
13、在满足避让失败条件时,控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进。
对自移动设备来说,可能会因为各种原因在其所处环境中行进。例如,在创建环境地图时,自移动设备需要在其所处环境中行进,以便对其所处环境进行遍历,进而基于遍历到的环境数据构建环境地图。又例如,在执行一些作业任务时,自移动设备需要在其所处环境中行进,以便更好地执行作业任务。例如,扫地机器人执行清扫任务时,需要在待清扫区域内行进,以便对待清扫区域进行清扫。又例如,跟随机器人执行跟随任务时,也需要行进,以便跟随待跟随对象。
在本实施例中,并不限定自移动设备行进的原因,也不限定自移动设备行进的场景。在行进过程中,自移动设备可以从环境地图中,获取行进方向前方区域内的热度值,该热度值表示对应位置的脱困难度。可选地,热度值越大,表示对应位置的脱困难度越大。
可选地,在行进过程中,自移动设备可以实时地从环境地图中获取行进方向前方区域内的热度值。或者,在行进过程中,自移动设备可以周期性地从环境地图中获取行进方向前方区域内的热度值。本实施例并不限定周期的取值,例如周期的长度可以是100ms、500ms、50ms、1s等,具体可根据自移动设备的行进速度适应性设置。例如,假设自移动设备在1s内的行进方向不会有太大变化,故可以将1s设置为这里的周期,则自移动设备可以每隔1s从环境地图中获取行进方向前方区域内的热度值。
本实施例并不对“前方区域”的大小、形状等做限定,可结合自移动设备的大小以及自移动设备所在环境区域的大小等因素适应性设定。在一可选实施例中,前方区域可以是一扇形区域,该扇形区域以自移动设备当前位置为圆心,且圆心角小于180度。基于此,可以从环境地图中,选择自移动设备行进前方以自移动设备当前位置为圆心的扇形区域内的热度值。进一步,该扇形区域的圆心角的范围可以是90-160度,例如可以是140度,但不限于此。进一步可选地,该扇形区域的半径可小于等于自移动设备的半径。
在获取行进方向前方区域内的热度值之后,可基于所获取的热度值判断是否出现虚拟墙区域。例如,可以将所获取的热度值与当前用于判断是否出现虚拟墙的热度阈值进行比较;若所获取的热度值大于或等于当前用于判断是否出现虚拟墙的热度阈值,确定行进方向前方区域出现虚拟墙区域。
在行进方向前方区域出现虚拟墙区域的情况下,控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让,可避免反复进入虚拟墙区域(一般是困难区域)。进一步,设置避让失败条件,并在满足避让失败条件的情况下,可控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进,这在一定程度上可降低自移动设备因热度值不断标记而被虚拟墙困住的概率,从整体上提高行进效率。
在此说明,在本申请各实施例中,自移动设备在执行避让动作前后,其行进方向一般会不同。另外,避让失败是指自移动设备执行避让动作之后,其行进方向前方区域依旧出现虚拟墙区域;这里的虚拟墙区域可以能是避让之前的虚拟墙区域,也可能是新出现的虚拟墙区域,具体是哪种虚拟墙区域一定程度上可由自移动设备避让动作的幅度决定。例如,若自移动设备避让动作的幅度较大,已经避开了之前的虚拟墙区域,则避让失败的情况是指在其执行避让动作后的行进方向前方区域出现新的虚拟墙区域。
在本申请各实施例中,并不限定控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进的实施方式。下面对此进行举例说明:
方式A:在满足避让失败条件时,可以不再考虑虚拟墙发挥的作用,直接控制自移动设备沿当前行进方向继续行进。
方式B:在满足避让失败条件时,可以消除自移动设备行进方向前方区域出现的虚拟墙区域,并控制自移动设备沿当前行进方向继续行进。
进一步,在方式B中,消除自移动设备行进方向前方区域出现的虚拟墙区域,可以采用但不限于以下任一方式:
可选方式b1:将当前用于判断是否出现虚拟墙的热度阈值增大,直至消除自移动设备行进方向前方区域出现的虚拟墙区域。
可选方式b2:将自移动设备行进方向前方区域内的热度值降低,直至消除自移动设备行进方向前方区域出现的虚拟墙区域。
可选方式b3:同时采用“将当前用于判断是否出现虚拟墙的热度阈值增大”和“将自移动设备行进方向前方区域内的热度值降低”两种方式,直至消除自移动设备行进方向前方区域出现的虚拟墙区域。
在可选方式b1中,在自移动设备行进过程中,可基于环境地图中标记的热度值,识别自移动设备行进方向前方区域是否出现虚拟墙区域;若出现虚拟墙区域,控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让;在满足避让失败条件时,将当前用于判断是否出现虚拟墙的热度阈值增大,直至消除自移动设备行进方向前方区域出现的虚拟墙区域,之后控制自移动设备沿当前行进方向继续行进。其中,在将热度阈值增大到大于自移动设备行进方向前方区域内的热度值的情况下,自移动设备行进方向前方区域原先出现的虚拟墙区域就不再是虚拟墙区域,即被消除。在这期间,热度阈值被增大的次数可能是一次,也可能是多次。
在可选方式b2中,在自移动设备行进过程中,可基于环境地图中标记的热度值,识别自移动设备行进方向前方区域是否出现虚拟墙区域;若出现虚拟墙区域,控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让;在满足避让失败条件时,将自移动设备行进方向前方区域内的热度值降低,直至消除自移动设备行进方向前方区域出现的虚拟墙区域,之后控制自移动设备沿当前行进方向继续行进。其中,在将自移动设备行进方向前方区域内的热度值降低到小于当前热度阈值的情况下,自移动设备行进方向前方区域原先出现的虚拟墙区域就不再是虚拟墙区域,即被消除。在这期间,热度值被降低的次数可能是一次,也可能是多次。
其中,可选方式b3是可选方式b1和b2的组合,即为了消除自移动设备行进方向前方区域出现的虚拟墙区域,可以一方面增大热度阈值,另一方面降低行进方向前方区域内的热度值,提高消除自移动设备行进方向前方区域出现的虚拟墙区域的速度,具体实施过程不再详述。
图1b为本申请示例性实施例提供的另一种行进方法的流程示意图。如图1b所示,该方法包括:
101、从环境地图中获取自移动设备行进方向前方区域内的热度值。
102、若所获取的热度值大于或等于当前用于判断是否出现虚拟墙的热度阈值,确定自移动设备行进方向前方区域出现虚拟墙区域。
103、控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让。
104、若此次避让失败,且满足避让失败条件,则将当前用于判断是否出现虚拟墙的热度阈值增大,直至消除自移动设备行进方向前方区域出现的虚拟墙区域,并控制自移动设备沿当前行进方向继续行进。
在本实施例中,并不限定自移动设备行进的原因,也不限定自移动设备行进的场景。在行进过程中,自移动设备可以从环境地图中,获取行进方向前方区域内的热度值,该热度值表示对应位置的脱困难度。可选地,热度值越大,表示对应位置的脱困难度越大。
在获取行进方向前方区域内的热度值之后,可以根据行进方向前方区域内的热度值和当前用于判断是否出现虚拟墙的热度阈值,确定行进方向前方区域是否出现虚拟墙区域。例如,可以将行进方向前方区域内的热度值和当前用于判断是否出现虚拟墙的热度阈值进行比较;若行进方向前方区域内的热度值大于或等于当前用于判断是否出现虚拟墙的热度阈值,则确定行进方向前方区域出现虚拟墙区域;反之,确定行进方向前方区域未出现虚拟墙区域。
在确定行进方向前方区域出现虚拟墙区域的情况下,可控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让。在理想情况下,虚拟墙区域代表的区域是困难区域,对虚拟墙区域进行避让,目的是为了避免进入困难区域;若避让成功,意味着自移动设备成功避开了行进前方的困难区域;若避让失败,意味着自移动设备未能避开行进前方的困难区域,可以继续进行避让。其中,避让失败的情况可能是未能避开原本需要避让的虚拟墙区域,也可能是避开了原本需要避让的虚拟墙区域,但又碰到了另一个虚拟墙区域。
在实际应用中,如果自移动设备在较小环境区域中作业,若该较小环境区域中障碍物的数量较多,自移动设备可能会反复被困,那么随着热度值的不断增加,虚拟墙区域的数量也会不断增多,这些虚拟墙区域有可能形成一个封闭的区域,把自移动设备困在该封闭的区域中,导致无法继续行进,作业失败。又或者,自移动设备进入一个只有唯一出入口的区域内,例如卧室或阳台区域,自移动设备在卧室或阳台的门口被卡住,因此卧室或阳台的门口区域会被识别为虚拟墙,这样自移动设备就会被困在卧室或阳台上,导致无法去其它区域继续执行作业任务。
为了减少上述情况的发生概率,在本实施例中,设置避让失败条件,在每次避让失败的情况下,自移动设备判断是否满足避让失败条件,若满足避让失败条件,则将当前用于判断是否出现虚拟墙的热度阈值增大。这样,在后续行进过程中,基于增大后的热度阈值确定后续行进方向前方区域是否出现虚拟墙区域,由于用于判断是否出现虚拟墙的热度阈值增大了,在热度阈值增大之前会识别出的虚拟墙区域,在热度阈值增大之后可能就不再是虚拟墙区域了,这样可以消除自移动设备行进方向前方区域出现的虚拟墙区域,自移动设备可沿着当前行进方向继续行进,可以降低自移动设备被虚拟墙困住的概率,从整体上提高行进效率。
例如,原来用于判断虚拟墙的热度阈值为10,某区域的热度值是12,则该区域的热度值12大于热度阈值10,故该区域会被识别为虚拟墙区域,自移动设备无法从该区域通过,需要对该区域进行避让;当增大热度阈值后,增大后的热度阈值为20,该区域的热度值为12小于增大后的热度阈值20,该区域不再被识别为虚拟墙区域,则自移动设备可以尝试从该区域通过继续行进。
其中,在整个行进过程中,自移动设备可以周期性或时不时从环境地图中获取行进方向前方区域内的热度值,根据所获取的行进方向前方区域内的热度值和当前热度阈值,识别行进方向前方区域是否出现虚拟墙区域;若未出现虚拟墙区域,则可以沿着当前行进方向继续行进;若出现虚拟墙区域,则判断是否满足避让失败条件,若满足避让失败条件,可以增大当前热度阈值,直至自移动设备脱离虚拟墙区域的围困,能够继续行进为止。
在本申请实施例中,不对“避让失败条件”做具体限定,可以根据应用场景灵活设定。本申请实施例提供几种可选实施方式,下面分别进行说明:
可选实施方式1:在该实施方式中,将虚拟墙次数作为避让失败条件;若虚拟墙次数达到设定的次数阈值,则确定满足避让失败条件;若虚拟墙次数未达到设定的次数阈值,则确定不满足避让失败条件。关于次数阈值的取值可适应性设定,本实施例对此不做限定。
基于此,如图2a所示,为本申请示例性实施例提供的再一种行进方法的过程包括:
21a、在行进过程中,从环境地图中获取自移动设备行进方向前方区域内的热度值。
22a、根据行进方向前方区域内的热度值和当前用于判断是否出现虚拟墙的热度阈值,识别行进方向前方区域是否出现虚拟墙区域;若判断结果为是,执行步骤23a;若判断结果为否,执行步骤27a。
23a、针对行进方向前方区域出现的虚拟墙区域进行避让,并将虚拟墙次数增大设定的次数步长值,并执行步骤24a。
24a、判断避让结果;若避让失败,执行步骤25a;若避让成功,执行步骤28a。
25a、判断虚拟墙次数是否达到设定的次数阈值;若判断结果为是,则确定满足避让失败条件,执行步骤26a;若判断结果为否,则确定不满足避让失败条件,返回继续执行步骤21a。
26a、将当前用于判断是否出现虚拟墙的热度阈值增大,并将虚拟墙次数置为0,返回继续执行步骤21a。
27a、沿当前行进方向继续行进,并继续执行步骤21a。
28a、沿避让后产生的行进方向继续行进,并继续执行步骤21a。
在本实施例中,并不限定次数步长值的数值,例如可以是1、2、3等。优选地,次数步长值为1。
在本实施例中,在自移动设备行进过程中,如果行进方向前方区域出现虚拟墙区域,自移动设备对虚拟墙区域进行避让,一旦避让成功,可避免进入困难区域。另外,自移动设备还会统计识别到虚拟墙的次数,简称为虚拟墙次数,并在避让失败的情况下,判断虚拟墙次数是否达到设定的次数阈值,若达到设定的次数阈值,可增大热度阈值,这样在后续行进过程中,便可基于增大后的热度阈值确定后续行进方向前方区域是否出现虚拟墙区域,有利于减少在行进方向前方区域内出现的虚拟墙区域的数量,进而降低自移动设备被虚拟墙困住的概率。再者,在本实施例中,每次增大当前用于判断是否出现虚拟墙的热度阈值之后,会将虚拟墙次数重新置为0,这可以限制增大热度阈值的速度;然而,如果在增大热度阈值之后,自移动设备仍无法脱困,那么当虚拟墙次数再次达到设定的次数阈值时,会继续增大热度阈值,这样循环若干次之后,热度阈值会增大到足够使自移动设备成功脱困。
值得说明的是,除了通过设置次数阈值来限制增大热度阈值的速度之外,也可以在每次避让失败之后,就增大一次热度阈值。简单来说,在增大热度阈值之后,自移动设备继续基于增大后的热度阈值判断其行进方向前方区域是否出现虚拟墙区域,若出现虚拟墙区域,继续对出现的虚拟墙区域进行避让;若避让失败,则继续增大热度阈值,然后继续执行基于增大后的热度阈值判断其行进方向前方区域是否出现虚拟墙区域的操作及后续操作,直至行进结束。
可选地,在图2a中,虚拟墙次数可以是识别到同一虚拟墙的次数。换句话说,自移动设备可针对碰到的每个虚拟墙分别统计检测到的次数。
假设自移动设备碰到虚拟墙区域A,一方面针对虚拟墙区域A进行避让,另一方面将虚拟墙区域A对应的虚拟墙次数加1,例如虚拟墙次数4+1=5次;若针对虚拟墙区域A的避让失败,判断加1后的虚拟墙次数(例如5次)是否达到设定的次数阈值,以次数阈值为5为例。若虚拟墙区域A对应的加1后的虚拟墙次数达到设定的次数阈值,则将当前的热度阈值增大,例如增大后的热度阈值=8*2=16,并基于增大后的热度阈值判断后续行进方向前方区域是否出现虚拟墙区域,并将虚拟墙区域A对应的加1后的虚拟墙次数置为0。假设后续行进前方又出现虚拟墙区域B,一方面针对虚拟墙区域B进行避让,另一方面将虚拟墙区域B对应的虚拟墙次数加1,例如虚拟墙次数4+1=5次;若针对虚拟墙区域B的避让失败,判断加1后的虚拟墙次数是否达到设定的次数阈值;若虚拟墙区域B对应的加1后的虚拟墙次数达到设定的次数阈值,则将当前的热度阈值继续增大,例如再次增大后的热度阈值为16*2=32,将虚拟墙区域B对应的加1后的虚拟墙次数置为0,并基于再次增大后的热度阈值判断后续行进方向前方区域是否出现虚拟墙区域,直至作业结束。其中,若虚拟墙区域A对应的加1后的虚拟墙次数未达到设定的次数阈值,则仍以当前的热度阈值(例如8),判断后续行进方向前方区域是否出现虚拟墙区域。同理,若虚拟墙区域B对应的加1后的虚拟墙次数未达到设定的次数阈值,则仍以当前的热度阈值(例如16),判断后续行进方向前方区域是否出现虚拟墙区域。值得说明的是,在此过程中,可能多次碰到同一虚拟墙区域,例如多次碰到虚拟墙区域A。
可选地,在图2a中,虚拟墙次数可以是识别到不同虚拟墙区域的次数之和。换句话说,自移动设备记录一个虚拟墙次数,用于记录识别到虚拟墙区域的总次数。
假设自移动设备碰到虚拟墙区域A,一方面针对虚拟墙区域A进行避让,另一方面将虚拟墙次数加1;若针对虚拟墙区域A的避让失败,判断加1后的虚拟墙次数是否达到设定的次数阈值。假设当前虚拟墙次数为4,设定的次数阈值为5,则虚拟墙次数4+1=5,可见加1后的虚拟墙次数达到设定的次数阈值(例如5),则将当前的热度阈值增大,例如由10增大为15,并基于增大后的热度阈值判断后续行进方向前方区域是否出现虚拟墙区域,并将虚拟墙次数置为0。假设后续行进前方出现虚拟墙区域B,一方面针对虚拟墙区域B进行避让,另一方面将虚拟墙次数0加1;若针对虚拟墙区域B的避让失败,判断加1后的虚拟墙次数是否达到设定的次数阈值;加1后的虚拟墙次数为1,未达到设定的次数阈值5,仍以当前的热度阈值(例如15),判断后续行进方向前方区域是否出现虚拟墙区域,直至作业结束。值得说明的是,在此过程中,可能多次碰到同一虚拟墙区域,例如多次碰到虚拟墙区域A。
在图2a所示实施例中,在虚拟墙次数达到设定的次数阈值时,以增大热度阈值为例进行说明,但并不限于此。例如,在自移动设备行进过程中,如果行进方向前方区域出现虚拟墙区域,自移动设备对虚拟墙区域进行避让,一旦避让成功,可避免进入困难区域。另外,自移动设备还会记录虚拟墙次数,并在避让失败的情况下,判断虚拟墙次数是否达到设定的次数阈值,若未达到设定的次数阈值,继续对行进方向前方区域出现的虚拟墙区域进行避让,直至虚拟墙次数达到设定的次数阈值或避让成功;若达到设定的次数阈值,可降低行进方向前方区域内的热度值,这样在后续行进过程中,便可基于经过降低后的热度值识别行进方向前方区域是否出现虚拟墙区域,有利于减少在行进方向前方区域内出现的虚拟墙区域的数量,进而降低自移动设备被虚拟墙困住的概率。再者,在本实施例中,在每次将自移动设备行进方向前方区域内的热度值降低后,将虚拟墙次数重新置为0,这可以限制降低热度值的速度;然而,如果在降低降低行进方向前方区域内的热度值之后,自移动设备仍无法脱困,那么当虚拟墙次数再次达到设定的次数阈值时,会继续降低行进方向前方区域内的热度值,这样循环若干次之后,热度值会降低到足够使自移动设备成功脱困。
值得说明的是,除了通过设置次数阈值来限制降低热度值的速度之外,也可以在每次避让失败之后,就对行进方向前方区域内的热度值进行一次降低。简单来说,在降低行进方向前方区域内的热度值之后,自移动设备继续基于降低后的热度值判断其行进方向前方区域是否出现虚拟墙区域,若出现虚拟墙区域,继续对出现的虚拟墙区域进行避让;若避让失败,则继续降低行进方向前方区域内的热度值,然后继续执行基于降低后的热度值判断其行进方向前方区域是否出现虚拟墙区域的操作及后续操作,直至行进结束。
同理,若自移动设备同时采用降低行进方向前方区域内的热度值的方案和增大当前用于判断是否出现虚拟墙的热度阈值的方案,那么可以在每次将当前用于判断是否出现虚拟墙的热度阈值增大,且将行进方向前方区域内的热度值降低后,将虚拟墙次数重新置为0,以限制增大热度阈值和降低热度值的速度。
可选实施方式2:在该实施方式中,将距离上一次增大热度阈值的时间间隔作为避让失败条件;若距离上一次增大热度阈值的时间间隔大于设定的时间阈值,则确定满足避让失败条件;若距离上一次增大热度阈值的时间间隔小于或等于设定的时间阈值,则确定不满足避让失败条件。
基于此,如图2b所示,为本申请示例性实施例提供的又一种行进方法的过程包括:
21b、在行进过程中,从环境地图中获取自移动设备行进方向前方区域内的热度值。
22b、根据行进方向前方区域内的热度值和当前用于判断是否出现虚拟墙的热度阈值,识别行进方向前方区域是否出现虚拟墙区域;若判断结果为是,执行步骤23b;若判断结果为否,执行步骤27b。
23b、针对行进方向前方区域出现的虚拟墙区域进行避让。
24b、判断避让结果;若避让失败,执行步骤25b;若避让成功,执行步骤28b。
25b、判断距离上一次增大热度阈值的时间间隔是否大于设定时间阈值;若判断结果为是,则确定满足避让失败条件,执行步骤26b;若判断结果为否,则确定不满足避让失败条件,返回继续执行步骤21b。
26b、将当前用于判断是否出现虚拟墙的热度阈值增大,并记录本次增大热度阈值的时间,返回继续执行步骤21b。
27b、沿当前行进方向继续行进,并继续执行步骤21b。
28b、沿避让后产生的行进方向继续行进,并继续执行步骤21b。
在本实施例中,并不限定设定时间阈值的数值,例如可以是5秒钟、10秒钟、3秒钟、1分钟等。
在本实施例中,在自移动设备行进过程中,如果行进方向前方区域出现虚拟墙区域,自移动设备对虚拟墙区域进行避让,一旦避让成功,可避免进入困难区域。另外,自移动设备还会将设定的时间阈值作为增大热度阈值的时间间隔,以便在限制增大热度阈值的速度的情况能够不断增大热度阈值,基于此,在避让失败的情况下,可判断距离上一次增大热度阈值的时间间隔是否大于设定时间阈值,若判断结果为大于,可继续增大热度阈值,这样在后续行进过程中,便可基于增大后的热度阈值确定后续行进方向前方区域是否出现虚拟墙区域,有利于减少在行进方向前方区域内出现的虚拟墙区域的数量,进而降低自移动设备被虚拟墙困住的概率。
在本申请各实施例中,并不限定增大热度阈值的实施方式。例如,可以按照设定的增长步长,对当前用于判断是否出现虚拟墙的热度阈值进行加性增大,也可以理解为线性增大。可选地,设定的增长步长可以是1,2,5,10等。或者,也可以按照设定的增长倍数,对当前用于判断是否出现虚拟墙的热度阈值进行指数倍增大,也可以理解为乘性增大。可选地,设定的增长倍数可以是2倍,3倍,4倍等。
进一步可选地,可以设定对热度阈值进行增长的上限值,当对热度阈值进行增长的次数达到上限值时,不再继续对热度阈值进行增长。在这种情况下,若自移动设备依旧被虚拟墙困住,可选地,自移动设备可以发出报警信息,由用户手动帮助其脱困。
在本申请各实施例中,并不限定自移动设备针对行进方向前方区域出现的虚拟墙区域进行避让的实施方式。例如,可以控制自移动设备触发撞板事件的动作,以达到对其行进方向前方区域出现的虚拟墙进行避让的目的。其中,撞板事件的动作一般包括先后退再旋转的动作。
进一步,若自移动设备工作在右沿边模式,可控制自移动设备触发右侧撞板事件的动作,以对其行进方向前方区域出现的虚拟墙区域进行避让。右沿边模式是指自移动设备贴着墙走,且不管怎么转动其右侧始终贴着墙的一种行进模式;相应地,右侧撞板事件的动作是指先后退再左转的动作。若自移动设备工作在左沿边模式,可控制自移动设备触发左侧撞板事件的动作,以对其行进方向前方区域出现的虚拟墙区域进行避让。左沿边模式是指自移动设备贴着墙走,且不管怎么转动其左侧始终贴着墙的一种行进模式;相应地,左侧撞板事件的动作是指先后退再右转的动作。其中,后退方向是指与自移动设备当前行进方向相反的方向。
值得说明的是,自移动设备除了触发撞板动作,对其行进方向前方区域出现的虚拟墙区域进行避让之外,也可以直接调整当前行进方向,以对其行进方向前方区域出现的虚拟墙区域进行避让。例如,可以将当前行进方向调整至偏离虚拟墙区域的位置,然后继续行进。当然,在继续行进过程中,仍会不断判断行进方向前方是否出现虚拟墙区域。
在此说明,在识别到虚拟墙区域后,可以对虚拟墙区域进行避让,并在完成避让动作之后,继续识别后续行进方向前方区域是否出现虚拟墙区域。
在本申请一些可选实施例中,在识别到行进方向前方区域出现虚拟墙区域的情况下,可在环境地图上添加虚拟墙标记;相应地,在基于增大后的热度阈值或基于行进方向前方区域内降低后的热度值,将虚拟墙标记对应的虚拟墙消除(即原来识别到的虚拟墙区域不再是虚拟墙区域)的情况下,可以将虚拟墙标记从环境地图上取消。进一步可选地,自移动设备还可以将带有虚拟墙标记的环境地图输出给用户,以供用户查看虚拟墙标记。进一步,用户还可以对虚拟墙标记进行修正,例如调整虚拟墙的位置,大小等。
场景实施例:下面以扫地机器人为例,结合扫地机器人的应用场景对本申请实施例进行详细说明:
在实际应用中,扫地机器人在清扫复杂环境时,例如多个连续的U型椅、吧台椅等,很容易被困住,即使脱困之后也可能再次进入被困区域,再次被困。针对这个问题,在本实施例中,扫地机器人通过环境地图来标记扫地机器人在脱困时反复清扫的区域,随着被困时间的上升,这些区域的热度值(HeatValue),会比其他区域高;进一步,通过设定合适的热度阈值(Threshold),例如5,可将热度值高的区域标记为虚拟墙。如图3所示,为扫地机器人在清扫过程中标记出的虚拟墙区域示例,共有3个虚拟墙区域,从左至右分别为虚拟墙区域D1、D2和D3,3个虚拟墙区域对应的热度值分别是10、6和8,均大于热度阈值5。
在图3所示的3个虚拟墙区域中,有可能3个虚拟墙区域都是扫地机器人正常被困所标记的热度值产生的正常虚拟墙,也有可能部分虚拟墙区域是因为扫地机器人坐标跳跃时误标记的热度值产生的虚拟墙区域,对此本申请实施例不做限定。无论是何种原因出现的虚拟墙区域,当扫地机器人检测到时,都会无法通过。若扫地机器人位于图3所示区域内,扫地机器人会被自己标记的虚拟墙区域困住,需要执行下面的操作才可以进行脱困。
在本实施例中,扫地机器人在清扫过程中,会在其行进前方角度140度,半径15厘米的扇形区域内检测是否出现虚拟墙区域,如图4a所示。在图4a中,扫地机器人在其前方角度140度,半径15厘米的扇形区域内检测到虚拟墙区域D1,故会触发右侧撞板的动作对虚拟墙区域D1进行避让,以避免进入虚拟墙区域D1,提高脱困效率。这里的角度140度,半径15厘米均为示例性说明,扫地机器人的尺寸和形状不同,这些取值也会有所不同。
在本实施例中,扫地机器人每次检测到虚拟墙区域或者说每次触发右侧撞板的动作对虚拟墙区域进行避让,还会将计数值(Count)累加1,该计数值用于统计检测到虚拟墙区域的次数,该次数也是对虚拟墙区域进行避让的次数。如果一直检测到虚拟墙区域,一方面会不断针对检测到的虚拟墙区域触发右侧撞板动作以进行避让,另外计数值也会不断累加,当计数值大于设定的次数阈值5时,则把热度阈值Threshold的乘以2,此时的热度阈值Threshold变为10,此时将计数值清0,并再次基于热度阈值10判断当前行进前方扇形区域内的热度值是否会出现虚拟墙区域。如果不出现虚拟墙区域,则沿着当前行进方向继续执行清扫任务;如果仍出现虚拟墙区域,继续针对该虚拟墙区域触发右侧撞板动作,并对计数值继续进行累加,当计数值再次累加到次数阈值5时,把热度阈值Threshold的乘以2,此时的热度阈值Threshold变为20,再次提高热度阈值Threshold,直至扫地机器人成功脱困为止。
接续图4a,继续参见图4b,扫地机器人避开虚拟墙区域D1之后,又会碰到虚拟墙区域D2,如果按照本实施例的方式,在计数值达到次数阈值5时,热度阈值Threshold会变为10,则按照热度阈值10做判断时,原本的虚拟墙区域D2的热度值为6小于热度阈值10,故原本的虚拟墙区域D2将不再是虚拟墙区域,那么当扫地机器人避让后的行进方向朝向原本虚拟墙区域D2时,就可以尝试通过原本虚拟墙区域D2(现在已不再是虚拟墙区域),脱离被困,继续执行清扫任务。
除了图3所示的场景之外,扫地机器人还有可能进入一个死胡同,唯一的出口还被自己标记的虚拟墙给封住,如图5所示。在图5中,扫地机器人进入一个只有唯一出口的区域,该区域的出口被标记为虚拟墙区域,其热度是10,而当前热度阈值为5,如果扫地机器人无法突破虚拟墙区域就会一直被困在该区域。在本实施例中,扫地机器人在检测到虚拟墙区域后,一方面针对虚拟墙区域进行避让,另一方面会不断累加计数值,计数值表示检测到虚拟墙区域的次数;当计数值达到次数阈值时,会增大热度阈值,随着热度阈值的不断增大,出口处的虚拟墙区域将不再是虚拟墙区域,这样扫地机器人就可以从该出口出去,脱离被困状态,有利于继续执行作业任务。
值得说明的是,在扫地机器人行进方向前方区域内的虚拟墙区域被消除后,扫地机器人可以尝试通过,而尝试通过结果可能是成功通过,也可能是被困住。例如,若被消除的虚拟墙区域原本就是被误标记出来的,那么扫地机器人尝试通过时,会成功;若被消除的虚拟墙区域是真实的困难区域,那么扫地机器人尝试通过时,有可能再次被困在该困难区域中。
需要说明的是,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图6为本申请示例性实施例提供的一种自移动设备的结构示意图。如图6所示,该自移动设备包括:设备本体60,设备本体60上设有一个或多个处理器601,以及一个或多个存储计算机指令的存储器602。
进一步,如图6所示,设备本体60上包括一些驱动组件608,驱动组件608可以包括驱动轮、驱动电机、万向轮等,用以驱动设备本体60自主移动。除此之外,设备本体60上还可以包括:通信组件603、撞板传感器607、显示器604、电源组件605、音频组件606等其它组件。本实施例仅示意性给出部分组件,并不意味着自移动设备只包括这些组件。值得说明的是,在图6以虚线框示出的组件均为可选组件,而非必要组件。
其中,一个或多个处理器601,用于执行一个或多个存储器602中存储的计算机指令,以用于:
基于环境地图中标记的热度值,识别自移动设备行进方向前方区域是否出现虚拟墙区域;
若出现虚拟墙区域,控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让;以及
在满足避让失败条件时,控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进。
可选地,热度值表示对应位置的脱困难度。可选地,热度值越大,表示对应位置的脱困难度越大。
在一可选实施例中,一个或多个处理器601在识别自移动设备行进方向前方区域是否出现虚拟墙区域时,具体用于:从环境地图中获取自移动设备行进方向前方区域内的热度值;若所获取的热度值大于或等于当前用于判断是否出现虚拟墙的热度阈值,确定自移动设备行进方向前方区域出现虚拟墙区域。
进一步可选地,一个或多个处理器601在获取自移动设备行进方向前方区域内的热度值时,具体用于:从环境地图中获取行进方向前方一扇形区域内的热度值;其中,扇形区域以自移动设备当前位置为圆心,且圆心角小于180度。
进一步可选地,扇形区域的圆心角是90度-160度,例如可以是140度。扇形区域的半径小于等于自移动设备的半径。
在一可选实施例中,一个或多个处理器601在控制自移动设备针对虚拟墙进行避让时,具体用于:控制自移动设备触发撞板事件的动作,以对其行进方向前方区域出现的虚拟墙进行避让;或者,控制自移动设备调整当前行进方向,以对其行进方向前方区域出现的虚拟墙进行避让。
进一步可选地,一个或多个处理器601在控制自移动设备触发撞板事件的动作时,具体用于:若自移动设备工作在右沿边模式,控制自移动设备触发右侧撞板事件的动作,以对其行进方向前方区域出现的虚拟墙进行避让;或者,若自移动设备工作在左沿边模式,控制自移动设备触发左侧撞板事件的动作,以对其行进方向前方区域出现的虚拟墙进行避让。
在一可选实施例中,一个或多个处理器601在控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进时,具体用于:在满足避让失败条件时,消除自移动设备行进方向前方区域出现的虚拟墙区域,并控制自移动设备沿当前行进方向继续行进。
进一步可选地,一个或多个处理器601在消除自移动设备行进方向前方区域出现的虚拟墙区域,可执行至少一种操作:
将当前用于判断是否出现虚拟墙的热度阈值增大,直至消除自移动设备行进方向前方区域出现的虚拟墙区域;
将自移动设备行进方向前方区域内的热度值降低,直至消除自移动设备行进方向前方区域出现的虚拟墙区域。
进一步可选地,一个或多个处理器601在将当前用于判断是否出现虚拟墙的热度阈值增大时,具体用于:按照设定的增长步长,对当前用于判断是否出现虚拟墙的热度阈值进行加性增大;或者,按照设定的增长倍数,对当前用于判断是否出现虚拟墙的热度阈值进行指数倍增大。
进一步可选地,一个或多个处理器601还用于:在自移动设备行进方向前方区域出现虚拟墙区域的情况下,将虚拟墙次数增大设定的次数步长值;在控制自移动设备对行进方向前方区域出现的虚拟墙区域避让失败的情况下,判断虚拟墙次数是否达到设定的次数阈值;若判断结果为是,确定满足避让失败条件。
可选地,上述虚拟墙次数是指识别到同一虚拟墙区域的次数。或者,上述虚拟墙次数是识别到不同虚拟墙区域的次数之和。
进一步可选地,一个或多个处理器601还用于:在每次将当前用于判断是否出现虚拟墙的热度阈值增大后,将虚拟墙次数重新置为0;或者,在每次将自移动设备行进方向前方区域内的热度值降低后,将虚拟墙次数重新置为0;或者,在每次将当前用于判断是否出现虚拟墙的热度阈值增大,且将自移动设备行进方向前方区域内的热度值降低后,将虚拟墙次数重新置为0。
进一步可选地,一个或多个处理器601还用于:在控制自移动设备对行进方向前方区域出现的虚拟墙区域避让失败的情况下,判断距离上一次增大热度阈值的时间间隔是否大于设定时间阈值;若判断结果为是,确定满足避让失败条件;以及在将当前用于判断是否出现虚拟墙的热度阈值增大之后,标记本次增大热度阈值的时间。
可选地,一个或多个处理器601还用于:若自移动设备行进方向前方区域出现虚拟墙区域,在所述环境地图上添加虚拟墙标记;以及在消除所述虚拟墙标记对应的虚拟墙区域的情况下,将所述虚拟墙标记从所述环境地图上取消。
本申请实施例提供的自移动设备可以是机器人、无人车、空气净化器等各种可自主移动的设备。
在一可选实施例中,上述实施例提供的自移动设备可实现为扫地机器人。如图7所示,本实施例的扫地机器人700包括:机械本体701,机械本体701上设有一个或多个处理器702、一个或多个存储计算机指令的存储器703以及通信组件704。通信组件704可以是Wifi模块、红外模块或蓝牙模块等。
机械本体701上除了设有一个或多个处理器702、通信组件704以及一个或多个存储器703之外,还设置有扫地机器人700的一些基本组件,例如撞板传感器709、视觉传感器706、电源组件707、驱动组件708等等。视觉传感器可以是摄像头、相机等。可选地,驱动组件708可以包括驱动轮、驱动电机、万向轮等。进一步,如图7所示,扫地机器人700还可以包括清扫组件707,清扫组件707可以包括清扫电机、清扫刷、起尘刷、吸尘风机等。不同扫地机器人700所包含的这些基本组件以及基本组件的构成均会有所不同,本申请实施例仅是部分示例。
值得说明的是,一个或多个处理器702、一个或多个存储器703可设置于机械本体701内部,也可以设置于机械本体701的表面。
机械本体701是机器人700赖以完成作业任务的执行机构,可以在确定的环境中执行处理器702指定的操作。其中,机械本体701一定程度上体现了扫地机器人700的外观形态。在本实施例中,并不限定扫地机器人700的外观形态,例如可以是圆形、椭圆形、三角形、凸多边形等。
一个或多个存储器703,主要用于存储计算机指令,该计算机指令可被一个或多个处理器702执行,致使一个或多个处理器702可以控制机器人700执行相应任务。除了存储计算机指令之外,一个或多个存储器703还可被配置为存储其它各种数据以支持在机器人700上的操作。这些数据的示例包括用于在机器人700上操作的任何应用程序或方法的指令,机器人700所在环境/场景的环境地图等等。
一个或多个处理器702,可以看作是扫地机器人700的控制系统,可用于执行一个或多个存储器703中存储的计算机指令,以控制扫地机器人700执行相应任务。例如,一个或多个处理器702执行一个或多个存储器703中存储的计算机指令,可用于:
基于环境地图中标记的热度值,识别扫地机器人700行进方向前方区域是否出现虚拟墙区域;
若出现虚拟墙区域,控制扫地机器人700对行进方向前方区域出现的虚拟墙区域进行避让;以及
在满足避让失败条件时,控制扫地机器人700尝试通过行进方向前方区域出现的虚拟墙区域继续行进。
在一可选实施例中,一个或多个处理器702在识别扫地机器人700行进方向前方区域是否出现虚拟墙区域时,具体用于:从环境地图中获取扫地机器人700行进方向前方区域内的热度值;若所获取的热度值大于或等于当前用于判断是否出现虚拟墙的热度阈值,确定扫地机器人700行进方向前方区域出现虚拟墙区域。
进一步,一个或多个处理器702在从环境地图中获取扫地机器人700行进方向前方区域内的热度值时,具体用于:从环境地图中获取扫地机器人行进方向前方一扇形区域内的热度值;其中,所述扇形区域以扫地机器人当前位置为圆心,且圆心角小于180度。
可选地,扇形区域的圆心角是90度-160度,例如可以是140度。可选地,扇形区域的半径小于等于扫地机器人700的半径。
在一可选实施例中,一个或多个处理器702在控制扫地机器人针对虚拟墙进行避让时,具体用于:控制扫地机器人触发撞板事件的动作,以对其行进方向前方区域出现的虚拟墙区域进行避让;或者,控制扫地机器人调整当前行进方向,以对其行进方向前方区域出现的虚拟墙区域进行避让。
进一步可选地,一个或多个处理器702在控制扫地机器人触发撞板事件的动作时,具体用于:若扫地机器人工作在右沿边模式,控制扫地机器人触发右侧撞板事件的动作,以对其行进方向前方区域出现的虚拟墙区域进行避让;或者,若扫地机器人工作在左沿边模式,控制扫地机器人触发左侧撞板事件的动作,以对其行进方向前方区域出现的虚拟墙区域进行避让。
在一可选实施例中,一个或多个处理器702在控制扫地机器人尝试通过行进方向前方区域出现的虚拟墙区域继续行进时,具体用于:在满足避让失败条件时,消除扫地机器人行进方向前方区域出现的虚拟墙区域,并控制扫地机器人沿当前行进方向继续行进。
进一步可选地,一个或多个处理器702在消除扫地机器人行进方向前方区域出现的虚拟墙区域,可执行至少一种操作:
将当前用于判断是否出现虚拟墙的热度阈值增大,直至消除扫地机器人行进方向前方区域出现的虚拟墙区域;
将扫地机器人行进方向前方区域内的热度值降低,直至消除扫地机器人行进方向前方区域出现的虚拟墙区域。
进一步可选地,一个或多个处理器702在将当前用于判断是否出现虚拟墙的热度阈值增大时,具体用于:按照设定的增长步长,对当前用于判断是否出现虚拟墙的热度阈值进行加性增大;或者,按照设定的增长倍数,对当前用于判断是否出现虚拟墙的热度阈值进行指数倍增大。
进一步可选地,一个或多个处理器702还用于:在扫地机器人行进方向前方区域出现虚拟墙区域的情况下,将虚拟墙次数增大设定的次数步长值;在控制扫地机器人对行进方向前方区域出现的虚拟墙区域避让失败的情况下,判断虚拟墙次数是否达到设定的次数阈值;若判断结果为是,确定满足避让失败条件。
可选地,上述虚拟墙次数是指识别到同一虚拟墙区域的次数。或者,上述虚拟墙次数是识别到不同虚拟墙区域的次数之和。
进一步可选地,一个或多个处理器702还用于:在每次将当前用于判断是否出现虚拟墙的热度阈值增大后,将虚拟墙次数重新置为0;或者,在每次将扫地机器人行进方向前方区域内的热度值降低后,将虚拟墙次数重新置为0;或者,在每次将当前用于判断是否出现虚拟墙的热度阈值增大,且将扫地机器人行进方向前方区域内的热度值降低后,将虚拟墙次数重新置为0。
进一步可选地,一个或多个处理器702还用于:在控制扫地机器人对行进方向前方区域出现的虚拟墙区域避让失败的情况下,判断距离上一次增大热度阈值的时间间隔是否大于设定时间阈值;若判断结果为是,确定满足避让失败条件;以及在将当前用于判断是否出现虚拟墙的热度阈值增大之后,标记本次增大热度阈值的时间。
可选地,一个或多个处理器702还用于:若扫地机器人行进方向前方区域出现虚拟墙区域,在所述环境地图上添加虚拟墙标记;以及在消除所述虚拟墙标记对应的虚拟墙区域的情况下,将所述虚拟墙标记从所述环境地图上取消。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被一个或多个处理器执行时,致使一个或多个处理器实现以下动作:
基于环境地图中标记的热度值,识别自移动设备行进方向前方区域是否出现虚拟墙区域;
若出现虚拟墙区域,控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让;以及
在满足避让失败条件时,控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进。
值得说明的是,除上述动作之外,计算机程序被一个或多个处理器执行时,还能致使一个或多个处理器实现上述行进方法实施例中的其它操作。
上述实施例中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可以包括近场通信(NFC)模块,射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术等。
上述实施例中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述实施例中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述实施例中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (21)

1.一种行进方法,适于自移动设备,其特征在于,所述方法包括:
基于环境地图中标记的热度值,识别自移动设备行进方向前方区域是否出现虚拟墙区域;
若出现虚拟墙区域,控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让;以及
在满足避让失败条件时,控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进。
2.根据权利要求1所述的方法,其特征在于,在满足避让失败条件时,控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进,包括:
在满足避让失败条件时,消除自移动设备行进方向前方区域出现的虚拟墙区域,并控制自移动设备沿当前行进方向继续行进。
3.根据权利要求2所述的方法,其特征在于,消除自移动设备行进方向前方区域出现的虚拟墙区域,包括以下至少一种方式:
将当前用于判断是否出现虚拟墙的热度阈值增大,直至消除自移动设备行进方向前方区域出现的虚拟墙区域;
将自移动设备行进方向前方区域内的热度值降低,直至消除自移动设备行进方向前方区域出现的虚拟墙区域。
4.根据权利要求3所述的方法,其特征在于,将当前用于判断是否出现虚拟墙的热度阈值增大,包括:
按照设定的增长步长,对当前用于判断是否出现虚拟墙的热度阈值进行加性增大;或者
按照设定的增长倍数,对当前用于判断是否出现虚拟墙的热度阈值进行指数倍增大。
5.根据权利要求3所述的方法,其特征在于,还包括:
在自移动设备行进方向前方区域出现虚拟墙区域的情况下,将虚拟墙次数增大设定的次数步长值;
在控制自移动设备对行进方向前方区域出现的虚拟墙区域避让失败的情况下,判断虚拟墙次数是否达到设定的次数阈值;
若判断结果为是,确定满足避让失败条件。
6.根据权利要求5所述的方法,其特征在于,所述虚拟墙次数是指识别到同一虚拟墙区域的次数;或者,所述虚拟墙次数是识别到不同虚拟墙区域的次数之和。
7.根据权利要求5所述的方法,其特征在于,还包括:
在每次将当前用于判断是否出现虚拟墙的热度阈值增大后,将虚拟墙次数重新置为0;或者
在每次将自移动设备行进方向前方区域内的热度值降低后,将虚拟墙次数重新置为0;或者
在每次将当前用于判断是否出现虚拟墙的热度阈值增大,且将自移动设备行进方向前方区域内的热度值降低后,将虚拟墙次数重新置为0。
8.根据权利要求3所述的方法,其特征在于,还包括:
在控制自移动设备对行进方向前方区域出现的虚拟墙区域避让失败的情况下,判断距离上一次增大热度阈值的时间间隔是否大于设定时间阈值;
若判断结果为是,确定满足避让失败条件;以及
在将当前用于判断是否出现虚拟墙的热度阈值增大之后,标记本次增大热度阈值的时间。
9.根据权利要求1-8任一项所述的方法,其特征在于,基于环境地图中标记的热度值,识别自移动设备行进方向前方区域是否出现虚拟墙区域,包括:
从环境地图中获取自移动设备行进方向前方区域内的热度值;
若所获取的热度值大于或等于当前用于判断是否出现虚拟墙的热度阈值,确定自移动设备行进方向前方区域出现虚拟墙区域。
10.根据权利要求9所述的方法,其特征在于,从环境地图中获取自移动设备行进方向前方区域内的热度值,包括:
从环境地图中,获取自移动设备行进方向前方一扇形区域内的热度值;其中,所述扇形区域以自移动设备当前位置为圆心,且圆心角小于180度。
11.根据权利要求10所述的方法,其特征在于,所述扇形区域的半径小于等于所述自移动设备的半径。
12.根据权利要求1-8任一项所述的方法,其特征在于,控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让,包括:
控制自移动设备触发撞板事件的动作,以对其行进方向前方区域出现的虚拟墙区域进行避让;或者,
控制自移动设备调整当前行进方向,以对其行进方向前方区域出现的虚拟墙区域进行避让。
13.根据权利要求12所述的方法,其特征在于,控制自移动设备触发撞板事件的动作,以对其行进方向前方区域出现的虚拟墙区域进行避让,包括:
若自移动设备工作在右沿边模式,控制自移动设备触发右侧撞板事件的动作,以对其行进方向前方区域出现的虚拟墙区域进行避让;
若自移动设备工作在左沿边模式,控制自移动设备触发左侧撞板事件的动作,以对其行进方向前方区域出现的虚拟墙区域进行避让。
14.根据权利要求2-8任一项所述的方法,其特征在于,还包括:
若自移动设备行进方向前方区域出现虚拟墙区域,在所述环境地图上添加虚拟墙标记;以及
在消除所述虚拟墙标记对应的虚拟墙区域的情况下,将所述虚拟墙标记从所述环境地图上取消。
15.一种自移动设备,其特征在于,包括:设备本体,所述设备本体上设有一个或多个处理器,以及一个或多个存储计算机指令的存储器;
所述一个或多个处理器,用于执行所述计算机指令,以用于:
基于环境地图中标记的热度值,识别自移动设备行进方向前方区域是否出现虚拟墙区域;
若出现虚拟墙区域,控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让;以及
在满足避让失败条件时,控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进。
16.根据权利要求15所述的自移动设备,其特征在于,所述一个或多个处理器具体用于:在满足避让失败条件时,消除自移动设备行进方向前方区域出现的虚拟墙区域,并控制自移动设备沿当前行进方向继续行进。
17.根据权利要求16所述的自移动设备,其特征在于,所述一个或多个处理器具体用于执行以下至少一种操作:
将当前用于判断是否出现虚拟墙的热度阈值增大,直至消除自移动设备行进方向前方区域出现的虚拟墙区域;
将自移动设备行进方向前方区域内的热度值降低,直至消除自移动设备行进方向前方区域出现的虚拟墙区域。
18.根据权利要求17所述的自移动设备,其特征在于,所述一个或多个处理器还用于:
在自移动设备行进方向前方区域出现虚拟墙区域的情况下,将虚拟墙次数增大设定的次数步长值;
在控制自移动设备对行进方向前方区域出现的虚拟墙区域避让失败的情况下,判断虚拟墙次数是否达到设定的次数阈值;
若判断结果为是,确定满足避让失败条件。
19.根据权利要求17所述的自移动设备,其特征在于,所述一个或多个处理器还用于:
在控制自移动设备对行进方向前方区域出现的虚拟墙区域避让失败的情况下,判断距离上一次增大热度阈值的时间间隔是否大于设定时间阈值;
若判断结果为是,确定满足避让失败条件;以及
在将当前用于判断是否出现虚拟墙的热度阈值增大之后,标记本次增大热度阈值的时间。
20.根据权利要求15-19任一项所述的自移动设备,其特征在于,所述自移动设备为机器人、无人车或空气净化器。
21.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
基于环境地图中标记的热度值,识别自移动设备行进方向前方区域是否出现虚拟墙区域;
若出现虚拟墙区域,控制自移动设备对行进方向前方区域出现的虚拟墙区域进行避让;以及
在满足避让失败条件时,控制自移动设备尝试通过行进方向前方区域出现的虚拟墙区域继续行进。
CN201910101021.5A 2019-01-31 2019-01-31 行进方法、自移动设备及存储介质 Active CN109947094B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910101021.5A CN109947094B (zh) 2019-01-31 2019-01-31 行进方法、自移动设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910101021.5A CN109947094B (zh) 2019-01-31 2019-01-31 行进方法、自移动设备及存储介质

Publications (2)

Publication Number Publication Date
CN109947094A true CN109947094A (zh) 2019-06-28
CN109947094B CN109947094B (zh) 2020-06-09

Family

ID=67006540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910101021.5A Active CN109947094B (zh) 2019-01-31 2019-01-31 行进方法、自移动设备及存储介质

Country Status (1)

Country Link
CN (1) CN109947094B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110385719A (zh) * 2019-07-23 2019-10-29 珠海市一微半导体有限公司 机器人判断是否碰撞虚拟墙的方法和芯片以及智能机器人
CN113467452A (zh) * 2021-07-02 2021-10-01 追觅创新科技(苏州)有限公司 移动机器人的避让方法及装置、存储介质及电子装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106272420A (zh) * 2016-08-30 2017-01-04 北京小米移动软件有限公司 机器人及机器人控制方法
CN106774294A (zh) * 2015-11-20 2017-05-31 沈阳新松机器人自动化股份有限公司 一种移动机器人虚拟墙设计方法
CN107807641A (zh) * 2017-10-25 2018-03-16 上海思岚科技有限公司 用于移动机器人避障的方法
CN108829115A (zh) * 2018-10-09 2018-11-16 上海岚豹智能科技有限公司 一种机器人的运动控制方法及其计算设备
EP3428762A1 (en) * 2017-07-12 2019-01-16 LG Electronics Inc. -1- Moving robot and controlling method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106774294A (zh) * 2015-11-20 2017-05-31 沈阳新松机器人自动化股份有限公司 一种移动机器人虚拟墙设计方法
CN106272420A (zh) * 2016-08-30 2017-01-04 北京小米移动软件有限公司 机器人及机器人控制方法
EP3428762A1 (en) * 2017-07-12 2019-01-16 LG Electronics Inc. -1- Moving robot and controlling method
CN107807641A (zh) * 2017-10-25 2018-03-16 上海思岚科技有限公司 用于移动机器人避障的方法
CN108829115A (zh) * 2018-10-09 2018-11-16 上海岚豹智能科技有限公司 一种机器人的运动控制方法及其计算设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110385719A (zh) * 2019-07-23 2019-10-29 珠海市一微半导体有限公司 机器人判断是否碰撞虚拟墙的方法和芯片以及智能机器人
CN110385719B (zh) * 2019-07-23 2020-08-28 珠海市一微半导体有限公司 机器人判断是否碰撞虚拟墙的方法和芯片以及智能机器人
CN113467452A (zh) * 2021-07-02 2021-10-01 追觅创新科技(苏州)有限公司 移动机器人的避让方法及装置、存储介质及电子装置
WO2023273899A1 (zh) * 2021-07-02 2023-01-05 追觅创新科技(苏州)有限公司 移动机器人的避让方法及装置、存储介质及电子装置

Also Published As

Publication number Publication date
CN109947094B (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
CN109195751B (zh) 用于基于区分类的机器人的可配置操作的系统和方法
CN105283108B (zh) 机器人清扫机及其控制方法
CN104414590B (zh) 机器人吸尘器及其控制方法
KR102616863B1 (ko) 로봇 청소기 및 로봇 청소기의 청소 경로 계획 방법
CN105491931A (zh) 机器人清扫机及其控制方法
US20190346849A1 (en) Robot with automatic styles
CN112650205B (zh) 一种清洁监控方法、清洁设备、服务器及存储介质
US10660496B2 (en) Cleaning robot and method of controlling the cleaning robot
US6667592B2 (en) Mapped robot system
CN109947094A (zh) 行进方法、自移动设备及存储介质
CN111328386A (zh) 通过自主移动机器人对未知环境的探察
CN107643755A (zh) 一种扫地机器人的高效控制方法
CN107550399A (zh) 定时清扫方法及装置
CN107518833A (zh) 一种扫地机器人的障碍物识别方法
CN110051292A (zh) 一种扫地机器人控制方法
CN112401763A (zh) 扫地机器人的控制方法、扫地机器人以及计算机可读存储介质
CN105759961A (zh) 智能设备以及智能设备控制方法
CN105283109A (zh) 机器人清扫机及其控制方法
CN108176050A (zh) 寻路方法和装置
CN106813357A (zh) 智能空气净化方法及装置、云端系统
CN105144708A (zh) 用于视频监视的自动学习的智能巡视
CN108008409A (zh) 区域轮廓绘制方法及装置
CN107256121A (zh) 控件的控制方法及装置、计算机装置和可读存储介质
US11173372B1 (en) User identification and tracking system for artificial cave obstacle course
CN111839328B (zh) 清洁方法、擦窗机器人及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant