CN113126632B - 虚拟墙划定和作业方法、设备及存储介质 - Google Patents

虚拟墙划定和作业方法、设备及存储介质 Download PDF

Info

Publication number
CN113126632B
CN113126632B CN202010042464.4A CN202010042464A CN113126632B CN 113126632 B CN113126632 B CN 113126632B CN 202010042464 A CN202010042464 A CN 202010042464A CN 113126632 B CN113126632 B CN 113126632B
Authority
CN
China
Prior art keywords
virtual wall
target object
end point
determining
designated
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.)
Active
Application number
CN202010042464.4A
Other languages
English (en)
Other versions
CN113126632A (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 CN202010042464.4A priority Critical patent/CN113126632B/zh
Publication of CN113126632A publication Critical patent/CN113126632A/zh
Application granted granted Critical
Publication of CN113126632B publication Critical patent/CN113126632B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (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和图1c为本申请实施例提供的虚拟墙划定的场景示意图;
图1d、图1e和图1f为本实施例提供的虚拟墙端点确定的场景示意图;
图2为本申请实施例提供的一种作业方法的流程示意图;
图3为本申请实施例提供的一种自主移动设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有虚拟墙设置方便性和灵活性较差的技术问题,在本申请一些实施例中,在进行虚拟墙划定时,可获取目标对象的姿态数据,并根据该姿态数据,确定虚拟墙的端点位置;之后,基于虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙。这种虚拟墙设置方式可根据目标对象的指示,灵活设定虚拟墙,有助于提高虚拟墙设置的方便性和灵活性,进而有助于提高用户体验。
以下结合附图,详细说明本申请各实施例提供的技术方案。
应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。
图1a为本申请实施例提供的一种虚拟墙划定方法的流程示意图。如图1a所示,该方法包括:
101、响应于指示划定虚拟墙的指令,获取目标对象的姿态数据。
102、根据目标对象的姿态数据,确定虚拟墙的端点位置。
103、基于虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙。
本实施例提供的虚拟墙划定方法适用于自主移动设备。虚拟墙是指设定的虚拟屏障,在实际作业环境中不存在对应的实体屏障。自主移动设备可为可自主移动的机器人、无人驾驶车辆或无人机等。本实施例并不限定机器人、无人驾驶车辆和无人机的形状,例如机器人可以是圆形、椭圆形、三角形、凸多边形或人型等。又例如,无人驾驶车辆可以为小型汽车、大巴或货运车等等。又例如,无人机为单旋翼无人机、双旋翼无人机、或四旋翼无人机等。其中,自主移动设备可以通过安装软件、应用程序(Application,APP),或者在相应器件中写入程序代码来实现本实施例提供的自主移动设备进行虚拟墙划定方法的逻辑。
在本实施例中,自主移动设备可在移动的基础上完成一定作业任务。下面以机器人和无人机为例,进行示例性说明。例如,在超市、商场等购物场景中,购物车机器人需要跟随顾客移动,以容纳顾客选购的商品。又例如,在一些公司的仓储分拣场景中,分拣机器人需要跟随分拣人员移动到货架拣货区,然后开始分拣订单货物。又例如,在家庭清扫场景中,扫地机器人需要清扫客厅、卧室、厨房等区域;擦窗机器人需要擦洗门窗上的玻璃等。又例如,在酒店、商场或家庭清洁场景中,空气净化机器人可自主移动,并在自主移动过程中吸附、过滤各种空气污染物,有效提高空气清洁度。对于无人机,无人机也可在飞行过程中完成相应的作业任务。例如,对于农用无人机,该无人机可在飞行过程中进行洒水、施肥或撒药等。又例如,对于侦查类无人机,侦查类无人机可在飞行过程中进行目标识别和跟踪等。在这些应用场景中,机器人在自主移动过程中,完成相应的作业任务。
无论哪种实现形式的自主移动设备,其在自主移动过程中,都需要实现路径或作业区域的规划。在实际应用中,一些没有障碍物的工作环境中,也需要进行路径或区域规划。在本实施例中,可通过设置虚拟墙的方式在自主移动设备的作业区域增设屏障,进而实现路径或区域规划。下面主要针对虚拟墙的划定方式进行示例性说明。
在本实施例中,指示划定虚拟墙的指令用于指示自主移动设备开始划定虚拟墙,即指示划定虚拟墙的指令可触发自主移动设备进入划定虚拟墙模式。相应地,自主移动设备可响应指示划定虚拟墙的指令,启动划定虚拟墙的操作。其中,自主移动设备的实现形态不同,指示划定虚拟墙的指令的实现形式也有所差别。在一些实施例中,自主移动设备上设置有音频组件,并支持语音交互功能,相应地,指示划定虚拟墙的指令可为语音指令。该语音指令中携带有指示划定虚拟墙的语音信号,例如“请设置虚拟墙”等。
在另一些实施例中,自主移动设备上设置有通信组件,用户可通过其控制终端向自主移动设备发送指示划定虚拟墙的指令。例如,用户的终端设备上安装有与自主移动设备适配的APP,该APP具有指示自主移动设备划定虚拟墙的功能。相应地,用户可通过操作APP上的相关控件,向自主移动设备发送指示划定虚拟墙的指令。在又一些实施例中,自主移动设备上设置有划定虚拟墙的相关按键,当相关按键被按下时,自主移动设备接收到指示划定虚拟墙的指令。在该实施例中,可设置按键检测单元,该按键检测单元与自主移动设备的控制系统相连接;当按键检测单元检测到按键被按下时,按键检测单元与控制系统连接的端口接收到高电平信号或低电平信号,即认为自主移动设备接收到指示划定虚拟墙的指令。
在本实施例中,用户可通过姿势、动作等来指定虚拟墙的端点。相应地,自主移动设备可获取目标对象的姿态数据,并根据目标对象的姿态数据,确定虚拟墙的端点位置。其中,目标对象可为发出指示划定虚拟墙的指令的用户,也可为其他用户。目标对象的姿态数据包括:目标对象的位置、方向、姿势、动作等等,但不限于此。
进一步,可基于虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙。在本实施例中,环境地图可预设在自主移动设备中,也可为实时构建的环境地图。例如,可为自主移动设备实时构建的环境地图。可选地,自主移动设备可利用即时定位与地图构建(simultaneous localization and mapping,SLAM)技术实时构建环境地图。可选地,自主移动设备可采集当前所在位置的周围环境信息,并根据当前所在位置的周围环境信息,构建环境地图。
可选地,自主移动设备可根据虚拟墙的端点位置,在环境地图中添加边界,并将添加的边界作为虚拟墙。或者,自主移动设备也可根据虚拟墙的端点位置,设置各位置点的属性,即将位于虚拟墙的位置点的属性设置为存在障碍物的属性。这样,对于自主移动设备来说,自主移动设备在自主移动过程中,便可将虚拟墙所在位置作为障碍物所在位置,进行路径或区域规划。
在一些实施例中,自主移动设备可根据虚拟墙,确定目标区域,其中,虚拟墙为目标区域的一条边界。进一步,自主移动设备可在目标区域内执行作业任务。可选地,可以虚拟墙为边界,将作业区域划分为包含自主移动设备当前所在位置的第一区域和不包含自主移动设备当前所在位置的第二区域。
进一步,在一些应用场景中,用户希望自主移动设备在其当前所在区域,而不要越过虚拟墙执行作业任务。基于此,可将第一区域作为目标区域。在另一些应用场景中,用户希望自主移动设备越过虚拟墙,到另一区域执行作业任务。基于此,可将第二区域作为目标区域。相应地,自主移动设备可从当前所在位置越过设置的虚拟墙,到达第二区域,并在第二区域执行作业任务。
在本实施例中,在进行虚拟墙划定时,自主移动设备可获取目标对象的姿态数据,并根据该姿态数据,确定虚拟墙的端点位置;之后,基于虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙。这种虚拟墙设置方式可根据目标对象的指示,灵活设定虚拟墙,有助于提高虚拟墙设置的方便性和灵活性,进而有助于提高用户体验。
在本申请实施例中,不限定获取目标对象的姿态数据的实现方式。在一些实施例中,自主移动设备上设置有图像采集设备。其中,图像采集设备可以为摄像头、激光传感器或红外传感器等视觉传感器。其中,摄像头可为双目摄像头、单目摄像头或景深摄像头等,但不限于此。进一步,图像采集设备可采集目标对象的图像,为了便于描述和区分,将图像采集设备采集到的包含目标对象的图像,定义为待检测图像。相应地,步骤101的一种可选实施方式为:采集包含目标对象的待检测图像;对待检测图像进行姿态识别,以得到目标对象的姿态数据。可选地,可对待检测图像进行关键点检测,以得到目标对象的关键点;并根据目标对象的关键点之间的几何关系,确定目标对象的姿态数据。例如,根据目标对象的关键点之间的几何关系,确定目标对象的姿势、动作等。在另一些实施例中,目标对象可佩戴可穿戴设备,自主移动设备可安装相应的感应装置。感应装置可获取可穿戴设备的状态信息。相应地,步骤101的另一种实施方式为:自主移动设备可根据可穿戴设备的状态信息,确定目标对象的姿态数据。例如,自主移动设备可根据可穿戴设备的状态信息,确定目标对象的姿势、动作等。
在本申请实施例中,用户可用指定部位指定虚拟墙的端点。指定部位可为目标对象的手臂、腿或身体等部位。用户可站在某个位置,利用其指定部位指向虚拟墙的端点。例如,在清洁场景中,用户可用手或脚指向地面的某个位置,并将该位置作为虚拟墙的端点位置。
基于上述分析,目标对象的姿态数据可包括目标对象的指定部位产生的姿态数据。例如,在一种应用场景中,如图1b所示,目标对象可用指定部位指定虚拟墙的端点等。图1b中仅以指定部位为目标对象的手臂进行示例,并不对其构成限定。基于此,步骤102的一种可选实施方式为:从目标对象的姿态数据中,识别出目标对象的指定部位产生的姿态数据;根据指定部位产生的姿态数据,确定虚拟墙的端点位置。
进一步,在实际应用中,目标对象可指定虚拟墙的起始端点和终止端点。相应地,自主移动设备可从指定部位产生的姿态数据中,识别出指定部位在指示虚拟墙的起始端点时产生的第一姿态数据和在指示虚拟墙的终止端点时产生的第二姿态数据;并根据第一姿态数据和第二姿态数据,确定虚拟墙的起始端点和终止端点的位置。
在本申请实施例中,目标对象可先指定虚拟墙的一个端点,再指定另一个端点。可选地,目标对象可用同一指定部位指定虚拟墙的一个端点,再指定另一个端点。例如,图1b所示,目标对象用右手臂先指定虚拟墙的一个端点A;再用右手臂指定虚拟墙的另一端点B。可选地,目标对象也可先用一个指定部位指定虚拟墙的一个端点,再用另一指定部位指定虚拟墙的另一个端点。例如,用户可用左手臂或右手臂指定虚拟墙的一个端点,再用同一手臂或另一手臂指定虚拟墙的另一端点。或者,目标对象可同时指定虚拟墙的起始端点和终止端点。例如,如图1c所示,目标对象可同时用左右手臂指定虚拟墙的起始端点C和终止端点D。
可选地,对于目标对象先指定虚拟墙的一个端点,再指定另一端点的应用场景,指定部位为1个。在该应用场景中,目标对象可向自主移动设备发出分别指示设置起始端点和指示设置终止端点的指令。在本申请实施例中,为了便于描述和区分,将指示设置起始端点的指令,定义为第一指令;并将指示设置终止端点的指令,定义为第二指令。相应地,自主移动设备可接收第一指令,并获取指定部位在第一指令到达后的设定时段内产生的姿态数据,作为第一姿态数据;进一步,自主移动设备还可接收指示设置终止端点的第二指令,并获取指定部位在第二指令到达后的设定时段内产生的姿态数据,作为第二姿态数据。其中,第一指令的到达时间早于第二指令的到达时间。可选地,目标对象在自主移动设备接收到第一指令设定时段后,再发出第二指令。例如,设定时段为1min,目标对象可在自主移动设备接收到第一指令1min后,再发出第二指令。这样,可防止设置终止端点的姿态数据和设置起始端点的姿态数据存在交叉。
可选地,对于目标对象可同时指定虚拟墙的起始端点和终止端点的情况,指定部位为2个。例如,2个指定部位可为左右手臂。相应地,自主移动设备可将两个指定部位产生的姿态数据,分别作为第一姿态数据和第二姿态数据。
可选地,指定部位产生的姿态数据可为指定部位上的关键点的姿态数据。在本实施例中,指定部位上的关键点的数量为多个。在本申请实施例中,多个是指2个或2个以上。为了便于描述和区分,将指定部位上的关键点的姿态数据称为一组姿态数据,其中每个姿态数据对应一个关键点。
在本实施例中,为了提高确定出的虚拟墙的端点位置的精度,可获取指定部位在指定起始端点时产生的多组姿态数据,并对这多组姿态数据相应求均值,得到一组姿态数据均值,并将该组姿态数据均值作为第一姿态数据。同理,还可获取指定部位在指定终止端点时产生的多组姿态数据,并计算这多组姿态数据的均值,得到另一组姿态均值数据,作为第二姿态数据。值得说明的是,在本实施例中,对于确定同一端点的多组姿态数据,计算多组姿态数据的均值是指:计算每个关键点对应的姿态数据的均值,进而得到一组姿态数据均值。
在本申请实施例中,指定部位产生的姿态数据包括:指定部位的位置,确定地说,可以为指定部位上各关键点的位置。为了便于描述和区分,将确定指定部位的位置所采用的坐标系,定义为第一坐标系。相应地,将环境地图所在的坐标系,定义为第二坐标系。在本实施例中,可根据指定部位在第一坐标系中的位置,确定指定部位所在的直线;并计算该直线与作业平面的交点的坐标。为了便于描述和区分,将该直线与作业平面的交点,定义为第一交点。计算出的第一交点的坐标为第一交点在第一坐标系中的坐标。进一步,可根据第一坐标系与第二坐标系之间的对应关系,将第一交点的坐标映射到第二坐标系,得到第一交点在第二坐标系中的坐标。接着,便可基于第一交点在第二坐标系中的坐标以及环境地图,确定虚拟墙的端点位置,即确定虚拟墙的端点在环境地图中的位置。
在本实施例中,作业平面是指自主移动设备执行作业任务的平面。对于地面作业机器人来说,作业平面为地面。其中,地面作业机器人可为扫地机器人、导购机器人、仓储用机器人等等。对于墙面作业机器人来说,作业平面可为墙壁所在平面;对于擦窗机器人来说,作业平面可为待清洁的玻璃所在平面;等等,但不限于此。
可选地,对于指定部位上的关键点在第一坐标系中的位置,可对待检测图像进行关键点检测,得到目标对象的关键点在待检测图像中的像素坐标;进一步,从目标对象的关键点中选择出指定部位上的关键点。进一步,可利用深度传感器或双目深度恢复技术对目标对象进行三维测量,得到目标对象的高度以及目标对象与自主移动设备之间的距离,进而,根据目标对象的高度、目标对象与自主移动设备之间的距离以及指定部位上的关键点在待检测图像中的像素坐标,计算指定部位上的关键点在第一坐标系中的位置,在该实施方式中,第一坐标系可为世界坐标系。或者,还可根据指定部位上的关键点在待检测图像中的像素坐标以及图像采集设备采集待检测图像时的位姿,计算指定部位上的关键点在第一坐标系中的位置。在该实施方式中,第一坐标系可为图像采集设备所在坐标系。
进一步,为了提高确定出的虚拟墙的端点位置的精度,可获取指定部位在同一端点时产生的多组姿态数据,关于多组姿态数据的解释可参见上述实施例的相关内容,在此不再赘述。进一步,每组姿态数据包括:指定部位在第一坐标系中的一组位置;根据一组位置,可确定一条指定部位所在的直线,进而得到指定部位所在的多条直线。进一步,可计算每条直线与作业平面的交点的坐标,并计算这些交点的均值坐标,作为第一交点的坐标。之后,根据这些交点的均值坐标(第一交点的坐标),确定虚拟墙的端点位置。这样,有助于降低指定部位的摆动对端点的确定造成的影响,进而有助于提高确定出的虚拟墙的端点位置的准确度。
进一步,为了降低将用户日常产生的姿态数据误认为是用来指示划定虚拟墙的概率,可针对虚拟墙的设置指定特定的指定动作。该指定动作可用于指示划定虚拟墙。相应地,自主移动设备在识别到用户发出指定动作的情况下,才执行虚拟墙划定操作。基于此,在本实施例中,还可根据指定部位产生的姿态数据,识别指定部位是否发出指定动作;以及在识别出指定部位发出指定动作的情况下,根据指定部位产生的姿态数据,确定虚拟墙的端点位置。
进一步,根据人体工学特征,用户在指向某个位置时,一般胳膊的大臂小臂会呈一条直线,且胳膊与身体呈一定角度。基于此,可对指定部位的位置进行线性拟合,得到线性拟合度。进一步,若线性拟合度大于或等于预设的线性度阈值,则确定指定部位发出指定动作。或者,可根据指定部位的位置,确定指定部位所在直线与作业平面的垂线的夹角;进一步,若该夹角属于预设的角度范围,则确定指定部位发出指定动作。在本申请实施例中,不限定角度范围的取值,其可根据人体工学的结构特征进行灵活设定。可选地,角度范围可为[30°,90°],即若指定部位所在直线与作业平面的垂线的夹角大于或等于30°,且小于或等于90°,则确定指定部位发出指定动作。
在一些应用场景中,为了提高确定出虚拟墙的端点的准确度,在确定同一端点时,可采集目标对象的多组姿态数据。相应地,还可计算这多组姿态数据的变化率;若多组姿态数据的变化率小于或等于设定的变化率阈值,则确定指定部位发出指定动作。
值得说明的是,上述识别指定部位是否发出指定动作的实施方式可单独实施,也可多种结合实施。例如,可在线性拟合度大于或等于预设的线性度阈值,且指定部位所在直线与作业平面的垂线的夹角属于预设的角度范围的情况下,确定指定部位发出指定动作。
进一步,自主移动设备可根据指定部位发出指定动作的数量,确定指定部位的数量。例如,若有1个指定部位发出指定动作,则确定指定部位为1个;若有2个指定部位发出指定动作,则确定指定部位为2个。
在另一些实施例中,用户还可在虚拟墙的端点做出指定动作,相应地,自主移动设备在识别出用户做出该指定动作时,将用户做出指定动作所在的位置,作为虚拟墙的端点位置。例如,用户可在某个位置竖起一根手指,自主移动设备可将用户竖起一根手指时的位置,作为虚拟墙的端点位置。相应地,自主移动设备可对目标对象进行姿态识别,并在识别出目标对象作出指定动作的情况下,将目标对象作出指定动作的位置,作为虚拟墙的端点位置。
在本申请实施例中,无论针对上述对于目标对象先指定虚拟墙的一个端点,再指定另一端点的应用场景,还是针对目标对象同时指定两个端点的应用场景,最终都会得到两个第一交点。相应地,两个第一交点在第二坐标系中分别对应的一个坐标点,为了便于描述和区分,将每个第一交点在第二坐标系中对应的坐标点,定义为第一坐标点。其中,关于每个第一交点的坐标的计算方式均可参见上述实施例的相关内容,在此不再赘述。
进一步,在实际应用中,自主移动设备所在作业区域可能存在障碍物,例如,墙壁、家具、门窗等,这些障碍物在环境地图中一般以边界的形式进行存储。对于二维环境地图来说,边界可以为投影至作业平面的边界线;对于三维环境地图来说,边界可以为与作业平面垂直的边界面。自主移动设备在划定虚拟墙时,可借助这些障碍物对应的边界,形成封闭的虚拟墙,即虚拟墙与实际障碍物之间不存在缝隙。基于此,可根据两个第一交点在第二坐标系中的坐标以及环境地图,判断两个第一坐标点之间是否存在目标边界;若判断结果为否,则将第一坐标点的坐标(即两个第一交点在第二坐标系中的坐标)作为虚拟墙的端点位置;或者,将第一坐标点的连线的延长线与其它边界的第二交点的坐标作为虚拟墙的端点位置;其中,其它边界为:与第一坐标点的连线的延长线相交的边界中与第一坐标点距离最近的边界。例如,如图1d所示,两个第一坐标点A和B之间不存在目标边界,则可将第一坐标点A和B分别作为虚拟墙的端点;相应地,第一坐标点A和B的坐标便为虚拟墙的端点位置。或者,如图1d所示,也可将第一坐标点A和B的连线的延长线分别与边界1和边界2的交点E和F,作为虚拟墙的端点;相应地,交点E和F的坐标便为虚拟墙的端点位置。
相应地,若两个第一坐标点之间存在目标边界,则可将两个第一坐标点的连线与目标边界的交点的坐标作为虚拟墙的端点位置。可选地,两个第一坐标点之间存在目标边界,可以理解为:两个第一坐标点之间存在1个或多个目标边界。其中,对于两个第一坐标点之间存在1个目标边界的情况,如图1e所示,可将第一坐标点A和B的连线与目标边界1的交点E作为虚拟墙的一个端点;并将第一坐标点B作为虚拟墙的另一端点;或者将第一坐标点A和B的连线的延长线与边界2的交点F作为虚拟墙的另一端点。对于两个第一坐标点之间存在多个目标边界的情况,如图1f所示,两个第一坐标点之间存在2个目标边界,即边界1和2,则可将两个第一坐标点A和B的连线与目标边界1和2的交点E、F作为虚拟墙的两个端点。
本申请实施例提供的虚拟墙划定方式还可应用于作业区域的确定中。例如,自主移动设备可根据目标对象的姿态数据,确定目标对象指示的目标位置;并将该目标位置所在的区域设置为目标作业区域或禁止作业区域。可选地,可根据目标对象指示的目标位置,确定目标位置所在的区域,进一步,将该目标位置所在的区域的可通过边界的端点作为虚拟墙的端点,并在环境地图中目标位置所在的区域的可通过边界设定为虚拟墙。例如,在家庭清扫的应用场景中,用户指示的目标位置位于厨房所在区域。相应地,自主移动设备可将厨房的门所在边界设置为虚拟墙;等等,但不限于此。又例如,在仓储应用场景中,用户指示的目标位置位于某个存储区域。相应地,自主移动设备可将该存储区域的所有可通过边界设置为虚拟墙;等等,但不限于此。
本申请实施例提供的虚拟墙划定方法适用于多种应用场景中。下面结合几种场景的应用场景,进行示例性说明。
应用场景1:
在应用场景1中,本申请各实施例的自主移动设备具体为扫地机器人。用户使用扫地机器人执行清扫任务,每次清扫任务需要清扫的区域具有随机性。在实际应用中,即便对于现有的区域,用户也可能有些区域不想让扫地机器人进行清扫。例如,在一些场景下,客厅和餐厅相连,但是用户并不想扫地机器人进入餐厅,只允许扫地机器人在客厅进行清扫。或者,在又一些应用场景中,对于某个比较脏的区域,用户希望扫地机器人在该区域多进行清扫。在这些场景下,便可通过本实施例提供的虚拟墙划定方式划定虚拟墙,以使扫地机器人在指定区域内执行清扫任务,而不会进入到其它区域。
在该应用场景中,用户可向扫地机器人发出指示划定虚拟墙的指令。相应地,扫地机器人响应该指令,进入虚拟墙划定模式。在该场景下,用户可通过姿势、动作指定虚拟墙的端点。相应地,扫地机器人可获取用户的姿态数据;并根据用户的姿态数据,确定虚拟墙的端点位置。进一步,基于虚拟墙的端点位置,在清扫区域对应的环境地图中设置虚拟墙。
进一步,扫地机器人便可以虚拟墙为边界,在目标区域内执行清扫任务。在一些场景下,目标区域可为扫地机器人当前位置所在区域,这样扫地机器人便可从当前位置直接开始执行清扫作业。在另一些场景下,目标区域为不包含扫地机器人当前所在位置的另一区域,这样,扫地机器人便可从当前位置移动至目标区域,并在目标区域执行清扫任务。无论是哪种场景,虚拟墙均为目标区域的一条边界,即扫地机器人在目标区域执行清扫任务时,虚拟墙为不可通过边界。
应用场景2:
在应用场景2中,本申请各实施例的自主移动设备具体为在商场、超市等购物场所使用的导购机器人或购物车机器人。导购机器人在商场或超市中跟随客人,为客人介绍产品。在该应用场景中,在导购机器人跟随客人一段时间后,客人可能不想让其继续跟随。在这样的应用场景中,客人便可自主划定虚拟墙,使得导购机器人不再跟随客人移动。
在该应用场景中,客人可向导购机器人发出指示划定虚拟墙的指令。相应地,导购机器人响应该指令,进入虚拟墙划定模式。在该场景下,客人可通过姿势、动作指定虚拟墙的端点。相应地,导购机器人可获取目标对象的姿态数据;并根据目标对象的姿态数据,确定虚拟墙的端点位置。进一步,基于虚拟墙的端点位置,在导购区域对应的环境地图中设置虚拟墙。进一步,导购机器人便可以虚拟墙为边界,不再跟随客人移动。
应用场景3:
在应用场景3中,本申请各实施例的自主移动设备具体为分拣机器人。分拣机器人可自主移动到货架拣货区,并分拣订单货物。在该应用场景中,有些货架拣货区可能不需要分拣,而在需要分拣的货区和不需要分拣的货区之间并未有明显的屏障进行划分。为了将需要分拣的货区和不需要分拣的货区进行划分,使分拣机器人不进入不需要分拣的货区,分拣人员便可划定虚拟墙。
在该应用场景中,分拣人员可向分拣机器人发出指示划定虚拟墙的指令。相应地,分拣机器人响应该指令,进入虚拟墙划定模式。在该场景下,用户可通过姿势、动作指定虚拟墙的端点。相应地,分拣机器人可获取分拣人员的姿态数据;并根据分拣人员的姿态数据,确定虚拟墙的端点位置。进一步,基于虚拟墙的端点位置,在分拣区域对应的环境地图中设置虚拟墙。
进一步,扫地机器人便可以虚拟墙为边界,在目标分拣区域内执行分拣任务。在一些场景下,目标分拣区域为分拣机器人当前位置所在区域,这样分拣机器人便可在当前分拣区域直接开始执行分拣作业。在另一些场景下,目标区域为不包含分拣机器人当前所在位置的另一区域,这样,分拣机器人便可从当前位置移动至目标分拣区域,并在目标分拣区域执行分拣任务。
应用场景4:
在应用场景4中,本申请各实施例的自主移动设备具体为空气净化机器人。空气净化机器人可自主移动,并在自主移动过程中吸附、过滤各种空气污染物,有效提高空气清洁度。用户使用空气净化机器人执行空气净化任务,每次净化任务需要净化的区域具有随机性。在实际应用中,即便对于现有的区域,用户也可能有些区域不想让空气净化机器人进行空气净化。例如,在商场清扫场景下,A区和B区相连,但是用户并不想空气净化机器人进入A区,只允许空气净化机器人在B区进行空气净化。或者,在又一些应用场景中,对于某个空气污染比较严重的区域,用户希望空气净化机器人在该区域多进行空气净化。在这些场景下,便可通过本实施例提供的虚拟墙划定方式划定虚拟墙,以使空气净化机器人在指定区域内执行空气净化任务,而不会进入到其它区域。
在该应用场景中,用户可向空气净化机器人发出指示划定虚拟墙的指令。相应地,空气净化机器人响应该指令,进入虚拟墙划定模式。在该场景下,用户可通过姿势、动作指定虚拟墙的端点。相应地,空气净化机器人可获取用户的姿态数据;并根据用户的姿态数据,确定虚拟墙的端点位置。进一步,基于虚拟墙的端点位置,在空气净化区域对应的环境地图中设置虚拟墙。
进一步,空气净化机器人便可以虚拟墙为边界,在目标区域内执行空气净化任务。在一些场景下,目标区域可为空气净化机器人当前位置所在区域,这样空气净化机器人便可从当前位置直接开始执行空气净化作业。在另一些场景下,目标区域为不包含空气净化机器人当前所在位置的另一区域,这样,空气净化机器人便可从当前位置移动至目标区域,并在目标区域执行空气净化任务。无论是哪种场景,虚拟墙均为目标区域的一条边界,即空气净化机器人在目标区域执行空气净化任务时,虚拟墙为不可通过边界。
应用场景5:
在应用场景5中,本申请各实施例的自主移动设备具体为农用无人机。农用无人机可自主飞行,并在自主飞行过程中进行洒水、施肥或喷药等作业。用户使用农用无人机执行洒水、施肥或喷药任务,每次的作业区域具有随机性。在实际应用中,即便对于现有的区域,用户也可能有些区域不想让农用无人机进行洒水、施肥或喷药等。例如,在一种场景下,A菜区和B玉米地区域相连,但是农用无人机本次喷洒的农药并不适合喷洒在A菜区的蔬菜上;又例如,对于B玉米地区域中有些子区域虫害严重,用户希望农用无人机在该区域加大农药喷洒量。在这些场景下,便可通过本实施例提供的虚拟墙划定方式划定虚拟墙,以使农用无人机在指定区域内进行喷药,而不会进入到其它区域。
在该应用场景中,用户可向农用无人机发出指示划定虚拟墙的指令。相应地,农用无人机响应该指令,进入虚拟墙划定模式。在该场景下,用户可通过姿势、动作指定虚拟墙的端点。相应地,农用无人机可获取用户的姿态数据;并根据用户的姿态数据,确定虚拟墙的端点位置。进一步,基于虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙。
进一步,农用无人机便可以虚拟墙为边界,在目标区域内执行空气净化任务。在一些场景下,目标区域可为农用无人机当前位置所在区域,这样农用无人机便可从当前位置直接开始洒水、施肥或喷药。在另一些场景下,目标区域为不包含农用无人机当前所在位置的另一区域,这样,农用无人机便可从当前位置移动至目标区域,并在目标区域洒水、施肥或喷药。无论是哪种场景,虚拟墙均为目标区域的一条边界,即农用无人机在目标区域洒水、施肥或喷药时,虚拟墙为不可通过边界。
应用场景6:
在应用场景6中,本申请各实施例的自主移动设备具体为侦查无人机。侦查无人机可自主飞行,并在自主飞行过程对目标进行识别和跟踪。在一些应用场景中,用户在使用侦查无人机对目标进行识别和跟踪时,无人机只能在规定区域内进行飞行,不能越域。
在该应用场景中,用户可向侦查无人机发出指示划定虚拟墙的指令。相应地,侦查无人机响应该指令,进入虚拟墙划定模式。在该场景下,用户可通过姿势、动作指定虚拟墙的端点。相应地,侦查无人机可获取用户的姿态数据;并根据用户的姿态数据,确定虚拟墙的端点位置。进一步,基于虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙。
进一步,侦查无人机便可以虚拟墙为边界,在目标区域内进行目标识别和跟踪。在一些场景下,目标区域可为侦查无人机当前位置所在区域,这样侦查无人机便可从当前位置直接开始进行目标识别和跟踪。在另一些场景下,目标区域为不包含侦查无人机当前所在位置的另一区域,这样,农用无人机便可从当前位置移动至目标区域,并在侦查区域进行目标识别和跟踪。无论是哪种场景,虚拟墙均为目标区域的一条边界,即侦查无人机在目标区域进行目标识别和跟踪时,虚拟墙为不可通过边界。
相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行以下步骤:响应于指示划定虚拟墙的指令,获取目标对象的姿态数据;根据所述目标对象的姿态数据,确定虚拟墙的端点位置;并基于所述虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙。
可选地,一个或多个处理器还可执行虚拟墙划定方法中各步骤的具体实施方式中的相关内容,在此不再赘述。
除了上述虚拟墙划定方法之外,本申请实施例还提供自主移动设备的作业方法。如图2所示,该作业方法包括:
201、响应于指示划定虚拟墙的指令,获取目标对象的姿态数据。
202、根据目标对象的姿态数据,确定虚拟墙的端点位置。
203、基于虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙。
204、在虚拟墙确定的目标区域内,执行作业任务;其中,该目标区域为作业区域的部分区域。
本实施例提供的作业方法同样适用于自主移动设备。关于步骤201-203的描述和实现方式可参见上述实施例步骤101-103的相关内容,在此不再赘述。
在步骤204中,虚拟墙可确定目标区域,该目标区域为步骤203中的作业区域的部分区域。虚拟墙为目标区域的虚拟屏障,这样,自主移动设备便可在目标区域内执行作业任务,而不跨过虚拟墙进入其它区域。
在本实施例中,在进行虚拟墙划定时,自主移动设备可获取目标对象的姿态数据,并根据该姿态数据,确定虚拟墙的端点位置;之后,基于虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙,并由虚拟墙确定目标区域。这种虚拟墙设置方式可根据目标对象的指示,灵活设定虚拟墙,有助于提高虚拟墙设置的方便性和灵活性,进而有助于提高用户体验。
在本申请实施例中,自主移动设备可根据虚拟墙,确定目标区域,其中,虚拟墙为目标区域的不可通过边界。进一步,自主移动设备可在目标区域内执行作业任务。可选地,可以虚拟墙为边界,将作业区域划分为包含自主移动设备当前所在位置的第一区域和不包含自主移动设备当前所在位置的第二区域。进一步,在一些应用场景中,用户希望自主移动设备在其当前所在区域,而不要越过虚拟墙执行作业任务。基于此,可将第一区域作为目标区域。在另一些应用场景中,用户希望自主移动设备越过虚拟墙,到另一区域执行作业任务。基于此,可将第二区域作为目标区域。相应地,自主移动设备可从当前所在位置越过设置的虚拟墙,到达第二区域,并在第二区域执行作业任务。
相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述作业方法中的步骤,主要包括:响应于指示划定虚拟墙的指令,获取目标对象的姿态数据;根据所述目标对象的姿态数据,确定虚拟墙的端点位置;基于所述虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙;以及在所述虚拟墙确定的目标区域内,执行作业任务;其中,所述目标区域为所述作业区域的部分区域。
可选地,一个或多个处理器还可执行作业方法中各步骤的具体实施方式中的相关内容,在此不再赘述。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101和102的执行主体可以为设备A;又比如,步骤101的执行主体可以为设备A,步骤102的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
除了上述方法实施例之外,本申请实施例还提供相应的自主移动设备。下面对本申请提供的自主移动设备进行示例性说明。
图3为本申请实施例提供的自主移动设备的结构示意图。如图3所示,该自主移动设备包括:机体30a。机体30a上设置有存储器30b和处理器30c。值得说明的是,存储器30b和处理器30c可设置于机体30a的内部,也可以设置于机体30a的表面。
机体30a主要是指自主移动设备的机身,可包括自主移动设备的执行机构,可以在确定的环境中执行处理器30c指定的操作。其中,机体30a一定程度上体现了自主移动设备的外观形态。在本实施例中,并不限定自主移动设备的外观形态。自主移动设备的实现形态不同,机体30a的外观形态也就不同。例如,自主移动设备可为机器人。机器人可以是人形机器人,则机体30a可以包括但不限于:机器人的头部、手部、腕部、臂部、腰部和基座等机械结构。另外,机器人也可以是所示形态相对简单一些的非人形机器人。例如圆形、圆角矩形等等。又例如,自主移动设备可为无人驾驶车辆,机体30a的外观则可呈现为车型。又例如,自主移动设备可以为无人机,机体30a的外观则可呈现为机型,例如,可以为单旋翼无人机、双旋翼无人机或四旋翼无人机等等。
值得说明的是,机体30a上还设置有自主移动设备的一些基本组件,例如驱动组件、里程计、电源组件、显示屏等等。可选地,驱动组件可以包括驱动轮、驱动电机、万向轮等。不同自主移动设备所包含的这些基本组件以及基本组件的构成均会有所不同,本申请实施例列举的仅是部分示例。
在本实施例中,存储器30b主要用于存储计算机程序,这些计算机程序可被处理器30c执行,致使处理器30c控制自主移动设备实现相应功能、完成相应动作或任务。
在本实施例中,处理器30c为自主移动设备的控制单元。处理器30c可耦合至存储器30b,用于执行计算机程序以用于:响应于指示划定虚拟墙的指令,获取目标对象的姿态数据;根据所述目标对象的姿态数据,确定虚拟墙的端点位置;基于所述虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙。
可选地,自主移动设备可包括:音频组件30d,并支持语音人机交互功能。相应地,第一指令和第二指令可为语音指令。或者,自主移动设备可包括:通信组件30e。相应地,第一指令和第二指令可为通信指令。该通信指令的实现形态由通信组件30e的实现形态确定。
在一些实施例中,处理器30c在确定虚拟墙的端点位置时,具体用于:从所述目标对象的姿态数据中,识别出所述目标对象的指定部位产生的姿态数据;根据所述指定部位产生的姿态数据,确定虚拟墙的端点位置。
进一步,处理器30c在确定虚拟墙的端点位置时,具体用于:从所述指定部位产生的姿态数据中,识别出所述指定部位在指示虚拟墙的起始端点时产生的第一姿态数据和在指示虚拟墙的终止端点时产生的第二姿态数据;根据所述第一姿态数据和所述第二姿态数据,确定虚拟墙的起始端点和终止端点的位置。
进一步,若所述指定部位为一个,处理器30c在识别出所述指定部位在指示虚拟墙的起始端点时产生的第一姿态数据和在指示虚拟墙的终止端点时产生的第二姿态数据时,具体用于:接收指示设置起始端点的第一指令,并获取所述指定部位在所述第一指令到达后的设定时段内产生的姿态数据,作为第一姿态数据;并接收指示设置终止端点的第二指令,并获取所述指定部位在所述第二指令到达后的设定时段内产生的姿态数据,作为第二姿态数据;其中,所述第一指令的到达时间早于所述第二指令的到达时间。
可选地,自主移动设备可包括:音频组件30d,并支持语音人机交互功能。相应地,第一指令和第二指令可为语音指令。或者,自主移动设备可包括:通信组件30e。相应地,第一指令和第二指令可为通信指令。该通信指令的实现形态由通信组件30e的实现形态确定。
或者,指定部位为两个,则处理器30c在从指定部位产生的姿态数据中,识别出指定部位在指示虚拟墙的起始端点时产生的第一姿态数据和在指示虚拟墙的终止端点时产生的第二姿态数据时,具体用于:将两个指定部位产生的姿态数据,分别作为所述第一姿态数据和所述第二姿态数据。
在另一些实施例中,指定部位产生的姿态数据包括:指定部位在第一坐标系中的位置。相应地,处理器30c在确定虚拟墙的端点位置时,具体用于:根据所述指定部位在第一坐标系中的位置,确定所述指定部位所在直线;计算所述指定部位所在直线与作业平面的第一交点的坐标;根据所述第一坐标系与所述环境地图所在第二坐标系之间的对应关系,将所述第一交点的坐标映射到所述第二坐标系,以得到所述第一交点在所述第二坐标系中的坐标;基于所述第一交点在所述第二坐标系中的坐标,确定虚拟墙的端点位置。
进一步,第一交点为两个。处理器30c在确定虚拟墙的端点位置时,具体用于:根据所述两个第一交点在所述第二坐标系中的坐标以及所述环境地图,判断所述两个第一交点在所述第二坐标系中的第一坐标点之间是否存在目标边界;若判断结果为否,则将所述两个第一交点在所述第二坐标系中的坐标作为所述虚拟墙的端点位置;或者,将所述第一坐标点的连线的延长线与其它边界的第二交点的坐标作为所述虚拟墙的端点位置;其中,所述其它边界为:与所述第一坐标点的连线的延长线相交的边界中与所述第一坐标点距离最近的边界。相应地,若判断结果为是,则将所述第一坐标点的连线与所述目标边界的交点的坐标作为所述虚拟墙的端点位置。
可选地,确定同一端点的姿态数据为多组。处理器30c在确定所述指定部位所在直线时,具体用于:根据所述指定部位在第一坐标系中的多组位置,确定所述指定部位所在的多条直线;所述计算所述指定部位所在直线与作业平面的第一交点的坐标,包括:计算所述指定部位所在多条直线与作业平面的交点的均值坐标,并将所述均值坐标作为所述第一交点的坐标。
在又一些实施例中,自主移动设备还包括:图像采集设备30f。相应地,处理器30c在获取目标对象的指定部位的姿态数据时,具体用于:响应于指示划定虚拟墙的指令,控制图像采集设备30f获取包含目标对象的待检测图像;对待检测图像进行姿态识别,以获取所述目标对象的姿态数据。
进一步,处理器30c在获取所述目标对象的姿态数据时,具体用于:对所述待检测图像进行关键点检测,以确定所述目标对象的关键点;根据所述关键点之间的几何关系,确定所述目标对象的姿态数据。
可选地,处理器30c在确定虚拟墙的端点位置时,具体用于:根据所述指定部位产生的姿态数据,识别所述指定部位是否发出指定动作;所述指定动作用于指示划定虚拟墙;以及在识别出所述指定动作的情况下,根据所述指定部位产生的姿态数据,确定虚拟墙的端点位置。
可选地,指定部位产生的姿态数据包括:所述指定部位的位置。相应地,处理器30c在识别所述指定部位是否发出指定动作时,具体用于执行以下至少一种操作:
对所述指定部位的位置进行线性拟合,以得到线性拟合度;若所述线性拟合度大于或等于预设的线性度阈值,则确定所述指定部位发出指定动作;
根据所述指定部位的位置,确定所述指定部位所在的直线与作业平面的垂线的夹角;若所述夹角属于预设的角度范围,则确定所述指定部位发出指定动作;
确定同一端点的姿态数据为多组,则若所述多组姿态数据的变化率小于或等于设定的变化率阈值,则确定所述指定部位发出指定动作。
可选地,处理器30c还用于:在在作业区域对应的环境地图中设置虚拟墙之后,根据所述虚拟墙,确定目标区域;并在所述目标区域内执行作业任务;所述虚拟墙为所述目标区域的一条边界;
进一步,处理器30c在确定目标区域时,具体用于:以所述虚拟墙为边界,将所述作业区域划分为包含所述自主移动设备当前所在位置的第一区域和不包含所述自主移动设备当前所在位置的第二区域;将所述第一区域或所述第二区域作为所述目标区域。
在本申请实施例中,处理器30c还用于:响应于指示划定虚拟墙的指令,获取目标对象的姿态数据;根据所述目标对象的姿态数据,确定虚拟墙的端点位置;基于所述虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙;在所述虚拟墙确定的目标区域内,执行作业任务;其中,所述目标区域为所述作业区域的部分区域。
在本申请实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在自主移动设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可选地,处理器可以为中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)或微控制单元(Microcontroller Unit,MCU);也可以为现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程阵列逻辑器件(ProgrammableArray Logic,PAL)、通用阵列逻辑器件(General Array Logic,GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件;或者为先进精简指令集(RISC)处理器(Advanced RISC Machines,ARM)或系统芯片(System on Chip SOC)等等,但不限于此。在本申请实施例中,处理器还具有外围电路(图3中未示出)
在本申请实施例中,通信组件被配置为便于自主移动设备和其他设备之间有线或无线方式的通信。自主移动设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G,5G或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在本申请实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
在本申请实施例中,电源组件被配置为自主移动设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
在本实施例中,音频组件可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。例如,对于具有语言交互功能的自主移动设备,可通过音频组件实现与用户的语音交互等。
需要说明的是,上述图3中仅为自主移动设备的结构框图,并不对其形状和各组件的设置位置进行限制。另外,除图3所示组件之外,自主移动设备还可以根据应用需求包含相应地组件,例如传感器等等,图3中未示出。对于清洁设备来说,自主移动设备还可包含清洁组件、溶液桶、回收装置等等,但不限于此。
本实施例提供的自主移动设备,在进行虚拟墙划定时,自主移动设备可获取目标对象的姿态数据,并根据该姿态数据,确定虚拟墙的端点位置;之后,基于虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙。这种虚拟墙设置方式可根据目标对象的指示,灵活设定虚拟墙,有助于提高虚拟墙设置的方便性和灵活性,进而有助于提高用户体验。
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (17)

1.一种虚拟墙划定方法,适用于自主移动设备,其特征在于,所述方法包括:
所述自主移动设备响应于指示划定虚拟墙的指令,获取目标对象的姿态数据;
根据所述目标对象的姿态数据,确定虚拟墙的端点位置;
基于所述虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙;
其中,所述根据所述目标对象的姿态数据,确定虚拟墙的端点位置,包括:
从所述目标对象的姿态数据中,识别出所述目标对象的指定部位产生的姿态数据;
根据所述指定部位产生的姿态数据,确定虚拟墙的端点位置,包括:
从所述指定部位产生的姿态数据中,识别出所述指定部位在指示虚拟墙的起始端点时产生的第一姿态数据和在指示虚拟墙的终止端点时产生的第二姿态数据;
根据所述第一姿态数据和所述第二姿态数据,确定虚拟墙的起始端点和终止端点的位置。
2.根据权利要求1所述的方法,其特征在于,若所述指定部位为一个;所述从所述指定部位产生的姿态数据中,识别出所述指定部位在指示虚拟墙的起始端点时产生的第一姿态数据和在指示虚拟墙的终止端点时产生的第二姿态数据,包括:
接收指示设置起始端点的第一指令,并获取所述指定部位在所述第一指令到达后的设定时段内产生的姿态数据,作为第一姿态数据;
接收指示设置终止端点的第二指令,并获取所述指定部位在所述第二指令到达后的设定时段内产生的姿态数据,作为第二姿态数据;
其中,所述第一指令的到达时间早于所述第二指令的到达时间。
3.根据权利要求1所述的方法,其特征在于,若所述指定部位为两个,则所述从所述指定部位产生的姿态数据中,识别出所述指定部位在指示虚拟墙的起始端点时产生的第一姿态数据和在指示虚拟墙的终止端点时产生的第二姿态数据,包括:
将两个指定部位产生的姿态数据,分别作为所述第一姿态数据和所述第二姿态数据。
4.根据权利要求1所述的方法,其特征在于,所述指定部位产生的姿态数据包括:所述指定部位在第一坐标系中的位置;所述根据所述指定部位产生的姿态数据,确定虚拟墙的端点位置,包括:
根据所述指定部位在第一坐标系中的位置,确定所述指定部位所在直线;
计算所述指定部位所在直线与作业平面的第一交点的坐标;
根据所述第一坐标系与所述环境地图所在第二坐标系之间的对应关系,将所述第一交点的坐标映射到所述第二坐标系,以得到所述第一交点在所述第二坐标系中的坐标;
基于所述第一交点在所述第二坐标系中的坐标,确定虚拟墙的端点位置。
5.根据权利要求4所述的方法,其特征在于,所述第一交点为两个;所述基于所述第一交点在所述第二坐标系中的坐标,确定虚拟墙的端点位置,包括:
根据所述两个第一交点在所述第二坐标系中的坐标以及所述环境地图,判断所述两个第一交点在所述第二坐标系中的第一坐标点之间是否存在目标边界;
若判断结果为否,则将所述两个第一交点在所述第二坐标系中的坐标作为所述虚拟墙的端点位置;或者,将所述第一坐标点的连线的延长线与其它边界的第二交点的坐标作为所述虚拟墙的端点位置;
其中,所述其它边界为:与所述第一坐标点的连线的延长线相交的边界中与所述第一坐标点距离最近的边界。
6.根据权利要求5所述的方法,其特征在于,还包括:
若判断结果为是,则将所述第一坐标点的连线与所述目标边界的交点的坐标作为所述虚拟墙的端点位置。
7.根据权利要求4所述的方法,其特征在于,确定同一端点的姿态数据为多组;所述根据所述指定部位在第一坐标系中的位置,确定所述指定部位所在直线,包括:
根据所述指定部位在第一坐标系中的多组位置,确定所述指定部位所在的多条直线;
所述计算所述指定部位所在直线与作业平面的第一交点的坐标,包括:
计算所述指定部位所在多条直线与作业平面的交点的均值坐标,并将所述均值坐标作为所述第一交点的坐标。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述响应于指示划定虚拟墙的指令,获取目标对象的指定部位的姿态数据,包括:
响应于指示划定虚拟墙的指令,获取包含所述目标对象的待检测图像;
对所述待检测图像进行姿态识别,以获取所述目标对象的姿态数据。
9.根据权利要求8所述的方法,其特征在于,所述对所述待检测图像进行姿态识别,以获取所述目标对象的姿态数据,包括:
对所述待检测图像进行关键点检测,以确定所述目标对象的关键点;
根据所述关键点之间的几何关系,确定所述目标对象的姿态数据。
10.根据权利要求1-7任一项所述的方法,其特征在于,所述根据所述指定部位产生的姿态数据,确定虚拟墙的端点位置,包括:
根据所述指定部位产生的姿态数据,识别所述指定部位是否发出指定动作;所述指定动作用于指示划定虚拟墙;
以及在识别出所述指定动作的情况下,根据所述指定部位产生的姿态数据,确定虚拟墙的端点位置。
11.根据权利要求10所述的方法,其特征在于,所述指定部位产生的姿态数据包括:所述指定部位的位置;所述根据所述指定部位产生的姿态数据,识别所述指定部位是否发出指定动作,包括执行以下至少一种操作:
对所述指定部位的位置进行线性拟合,以得到线性拟合度;若所述线性拟合度大于或等于预设的线性度阈值,则确定所述指定部位发出指定动作;
根据所述指定部位的位置,确定所述指定部位所在的直线与作业平面的垂线的夹角;若所述夹角属于预设的角度范围,则确定所述指定部位发出指定动作;
确定同一端点的姿态数据为多组,则若所述多组姿态数据的变化率小于或等于设定的变化率阈值,则确定所述指定部位发出指定动作。
12.根据权利要求1-7任一项所述的方法,其特征在于,在作业区域对应的环境地图中设置虚拟墙之后,还包括:
根据所述虚拟墙,确定目标区域;并在所述目标区域内执行作业任务;所述虚拟墙为所述目标区域的一条边界。
13.根据权利要求12所述的方法,其特征在于,所述根据所述虚拟墙,确定目标区域,包括:
以所述虚拟墙为边界,将所述作业区域划分为包含所述自主移动设备当前所在位置的第一区域和不包含所述自主移动设备当前所在位置的第二区域;
将所述第一区域或所述第二区域作为所述目标区域。
14.一种作业方法,适用于自主移动设备,其特征在于,包括:
所述自主移动设备响应于指示划定虚拟墙的指令,获取目标对象的姿态数据;
根据所述目标对象的姿态数据,确定虚拟墙的端点位置;
基于所述虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙;
在所述虚拟墙确定的目标区域内,执行作业任务;其中,所述目标区域为所述作业区域的部分区域;
其中,所述根据所述目标对象的姿态数据,确定虚拟墙的端点位置,包括:
从所述目标对象的姿态数据中,识别出所述目标对象的指定部位产生的姿态数据;
从所述指定部位产生的姿态数据中,识别出所述指定部位在指示虚拟墙的起始端点时产生的第一姿态数据和在指示虚拟墙的终止端点时产生的第二姿态数据;
根据所述第一姿态数据和所述第二姿态数据,确定虚拟墙的起始端点和终止端点的位置。
15.一种自主移动设备,其特征在于,包括:机体,以及设置于所述机体上的存储器和处理器;其中,所述存储器用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
响应于指示划定虚拟墙的指令,获取目标对象的姿态数据;
根据所述目标对象的姿态数据,确定虚拟墙的端点位置;
基于所述虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙;
其中,所述处理器在根据所述目标对象的姿态数据确定虚拟墙的端点位置时,具体用于:
从所述目标对象的姿态数据中,识别出所述目标对象的指定部位产生的姿态数据;
从所述指定部位产生的姿态数据中,识别出所述指定部位在指示虚拟墙的起始端点时产生的第一姿态数据和在指示虚拟墙的终止端点时产生的第二姿态数据;
根据所述第一姿态数据和所述第二姿态数据,确定虚拟墙的起始端点和终止端点的位置。
16.一种自主移动设备,其特征在于,包括:机体,以及设置于所述机体上的存储器和处理器;其中,所述存储器用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
响应于指示划定虚拟墙的指令,获取目标对象的姿态数据;
根据所述目标对象的姿态数据,确定虚拟墙的端点位置;
基于所述虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙;
在所述虚拟墙确定的目标区域内,执行作业任务;所述作业区域包括所述目标区域;
其中,所述处理器在根据所述目标对象的姿态数据确定虚拟墙的端点位置时,具体用于:
从所述目标对象的姿态数据中,识别出所述目标对象的指定部位产生的姿态数据;
从所述指定部位产生的姿态数据中,识别出所述指定部位在指示虚拟墙的起始端点时产生的第一姿态数据和在指示虚拟墙的终止端点时产生的第二姿态数据;
根据所述第一姿态数据和所述第二姿态数据,确定虚拟墙的起始端点和终止端点的位置。
17.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被自主移动设备的一个或多个处理器执行时,致使所述一个或多个处理器执行以下步骤:
响应于指示划定虚拟墙的指令,获取目标对象的姿态数据;
根据所述目标对象的姿态数据,确定虚拟墙的端点位置;
基于所述虚拟墙的端点位置,在作业区域对应的环境地图中设置虚拟墙;
所述一个或多个处理器在根据所述目标对象的姿态数据,确定虚拟墙的端点位置时,具体用于执行:
从所述目标对象的姿态数据中,识别出所述目标对象的指定部位产生的姿态数据;
从所述指定部位产生的姿态数据中,识别出所述指定部位在指示虚拟墙的起始端点时产生的第一姿态数据和在指示虚拟墙的终止端点时产生的第二姿态数据;
根据所述第一姿态数据和所述第二姿态数据,确定虚拟墙的起始端点和终止端点的位置。
CN202010042464.4A 2020-01-15 2020-01-15 虚拟墙划定和作业方法、设备及存储介质 Active CN113126632B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010042464.4A CN113126632B (zh) 2020-01-15 2020-01-15 虚拟墙划定和作业方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010042464.4A CN113126632B (zh) 2020-01-15 2020-01-15 虚拟墙划定和作业方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113126632A CN113126632A (zh) 2021-07-16
CN113126632B true CN113126632B (zh) 2022-08-16

Family

ID=76771882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010042464.4A Active CN113126632B (zh) 2020-01-15 2020-01-15 虚拟墙划定和作业方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113126632B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111830998B (zh) * 2020-06-05 2023-01-03 科沃斯机器人股份有限公司 作业方法、虚拟墙添加方法、设备及存储介质
CN113465588A (zh) * 2021-06-09 2021-10-01 丰疆智能科技股份有限公司 导航虚拟墙的自动生成方法、装置、电子设备及存储介质
CN113703439A (zh) * 2021-07-23 2021-11-26 科沃斯机器人股份有限公司 自主移动设备控制方法、装置、设备及可读存储介质
CN117835884A (zh) * 2021-12-31 2024-04-05 深圳市闪至科技有限公司 机器人的控制方法、控制机器人回基座的方法、装置及机器人
CN115639820B (zh) * 2022-10-18 2023-08-01 未岚大陆(北京)科技有限公司 虚拟墙的设置方法、自主移动设备和计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105407774A (zh) * 2013-07-29 2016-03-16 三星电子株式会社 自动清扫系统、清扫机器人和控制清扫机器人的方法
CN108903816A (zh) * 2018-06-21 2018-11-30 上海与德通讯技术有限公司 一种清扫方法、控制器及智能清扫设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019136255A (ja) * 2018-02-08 2019-08-22 東芝ライフスタイル株式会社 自走式電気掃除機
CN109330494A (zh) * 2018-11-01 2019-02-15 珠海格力电器股份有限公司 基于动作识别的扫地机器人控制方法、系统、扫地机器人

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105407774A (zh) * 2013-07-29 2016-03-16 三星电子株式会社 自动清扫系统、清扫机器人和控制清扫机器人的方法
CN108903816A (zh) * 2018-06-21 2018-11-30 上海与德通讯技术有限公司 一种清扫方法、控制器及智能清扫设备

Also Published As

Publication number Publication date
CN113126632A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
CN113126632B (zh) 虚拟墙划定和作业方法、设备及存储介质
US11320834B2 (en) Methods and systems for mapping, localization, navigation and control and mobile robot
EP4140381A1 (en) Obstacle avoidance method and apparatus for self-walking robot, robot, and storage medium
EP3417350B1 (de) Verfahren zur steuerung eines autonomen mobilen roboters
CN110605713B (zh) 机器人定位方法、机器人及存储介质
WO2020140271A1 (zh) 移动机器人的控制方法、装置、移动机器人及存储介质
CN113116224B (zh) 机器人及其控制方法
US20200178748A1 (en) Robot vacuum cleaner and cleaning route planning method thereof
US20170364087A1 (en) Self-Propelled Surface-Traveling Robot System and Method for Returning to Primary Charging Base
CN109871420B (zh) 地图生成和分区方法、装置及终端设备
Chatterjee et al. Vision based autonomous robot navigation: algorithms and implementations
WO2020015548A1 (zh) 机器人控制方法、机器人及存储介质
CN109933061A (zh) 基于人工智能的机器人及控制方法
CN108549088A (zh) 基于机器人的定位方法、设备、系统及存储介质
CN107992091B (zh) 一种基于信号强度的平衡车跟随方法和系统
KR20200099611A (ko) 로봇 자율 모션 계획 및 내비게이션을 위한 시스템 및 방법들
CN207051738U (zh) 一种移动电子设备
CN112806912B (zh) 机器人的清洁控制方法、装置及机器人
US20230195130A1 (en) Information collection method, device and storage medium
CN108459593A (zh) 一种具备扫地功能的人机智能合作机器人系统
CN111655105A (zh) 借助自主式移动机器人进行的地板处理
CN113475977A (zh) 机器人路径规划方法、装置及机器人
CN113703439A (zh) 自主移动设备控制方法、装置、设备及可读存储介质
CN111338330B (zh) 作业位置确定方法、自移动设备及存储介质
CN203241822U (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