机器人及其控制方法与流程

文档序号:25905672发布日期:2021-07-16 21:11阅读:92来源:国知局
机器人及其控制方法与流程

1.本申请涉及智能设备技术领域,尤其涉及一种机器人及其控制方法。


背景技术:

2.随着科技的发展,智能化的机器人逐渐走入人们的日常生活,为人们日常生活提供了更多的便利,用户对与机器人的互动的需求也越来越强烈。
3.现有技术中,机器人无法较好地理解用户姿态代表的控制意图。因此,有待提出一种解决方案。


技术实现要素:

4.本申请从多个方面提供一种机器人及其控制方法,用以提升机器人的控制灵活度。
5.本申请的一个方面提供一种机器人控制方法,包括:响应姿态交互唤醒指令,获取用户的姿态数据;根据所述姿态数据,确定所述用户指示的目标作业区域;所述目标作业区域与所述机器人的当前位置所属的区域为不同区域;所述机器人移动至所述目标作业区域,以执行设定的作业任务。
6.本申请的另一个方面提供一种机器人控制方法,包括:机器人本体,安装在所述机器人本体上的传感器组件、控制器以及运动组件;所述传感器组件,用于:响应用户的作业控制指令,获取用户的姿态数据;所述控制器,用于:根据所述用户的姿态数据,确定所述用户指示的目标作业位置作业区域,并控制所述运动组件移动至所述目标作业区域,以执行作业任务。
7.在本申请实施例中,机器人可响应姿态交互唤醒指令,获取用户的姿态数据,根据用户的姿态数据确定目标作业区域,并可在目标作业区域与机器人的当前位置所在区域属于不同区域的情况下,移动至目标作业区域执行设定的作业任务。进而,机器人实现了基于用户姿态进行移动作业,且不受区域划分的限制,进一步提升了机器人的控制灵活度。
附图说明
8.此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
9.图1为本申请一示例性实施例提供的机器人的结构示意图;
10.图2为本申请一示例性实施例提供的三维深度测量的原理示意图;
11.图3为本申请一示例性实施例提供的机器人控制方法的流程示意图;
12.图4a为本申请另一示例性实施例提供的机器人控制方法的流程示意图;
13.图4b为本申请一示例性实施例提供的获取姿态数据并检测关键点的示意图;
14.图4c-图4d为本申请一示例性实施例提供的根据手势对应的空间坐标确定目标作业方向的示意图;
15.图5a为本申请一应用场景实施例提供的扫地机器人的工作逻辑示意图;
16.图5b-图5d为本申请一应用场景实施例提供的扫地机器人根据用户的姿态执行清洁任务的示意图。
具体实施方式
17.为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
18.现有技术中,指定机器人的作业区域的方式较为单一。例如,针对具有清洁功能的扫地机器人而言,用户通常需要在终端设备提供的机器人的导航地图上,指定需要清扫的区域,扫地机器人根据用户在导航地图上指定的清扫区域执行清扫任务。但是,这种方式对终端设备的依赖性较高。除此之外,在一些典型的场景下,机器人的导航地图不完整,因而扫地机器人无法对导航地图不包括的区域执行清扫任务,灵活度较差。
19.针对上述技术问题,本申请一些示例性实施例提供了一种机器人以及机器人控制方法,以下将结合附图,详细说明本申请各实施例提供的技术方案。
20.应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
21.图1为本申请一示例性实施例提供的机器人的结构示意图,如图1所示,该机器人包括:本体10、安装于本体10上的传感器组件20、控制器30以及运动组件40。
22.在本实施例中,机器人指的是能够自主移动、且能够实现智能控制的电子设备。在一些场景下,机器人实现为能够执行清扫、清洁任务的机器人,例如:对地面进行清扫的扫地机器人,对地面、墙壁、天花板、玻璃、机动车进行清洁的擦洗机器人,对空气进行净化的空气净化机器人的等等。图1中,以扫地机器人为例,对本申请实施例提供的机器人进行了结构示意,但不意味着本申请提供的机器人仅可实现为扫地机器人。
23.在另一些场景下,机器人可实现为仓储物流机器人,例如货运机器人、货品投递机器人等。在又一些场景下,机器人可实现为机器人服务员,例如酒店的迎宾机器人、上菜机器人、商场或商店里的导购机器人等,不再进行图示。
24.值得说明的是,上述机器人的自主移动功能,可包括在地面上进行移动的功能,也可包括在空中进行自主飞行移动的功能。若包括在空中进行飞行移动的功能,则上述机器人可实现为无人飞行器,不再赘述。
25.当然,上述列举的机器人仅用于进行示例性说明,本实施例包含但不限于此。
26.在机器人中,传感器组件20主要用于响应用户的作业控制指令,获取用户的姿态数据。其中,姿态指的是用户呈现的姿势,例如头部姿态、手部的姿势、腿部的姿势等等。在本申请实施例的多种应用场景中,用户可通过姿态实现与机器人进行交互,用户的姿态数据,是传感器组件20对用户的姿态进行采集得到的数据。
27.其中,传感器组件20可采用任意能够对用户进行姿态数据采集的一种或者多种传感器实现,本实施例不做限制。在一些可选的实施例中,传感器组件20可实现为三维深度传感器,用以对用户进行三维测量,得到三维测量数据。其中,三维测量数据包括:拍摄所述用
户得到的图像以及用户与机器人之间的距离。其中,图像可以为rgb(红绿蓝三通道)图像或者灰度图像,用户与机器人之间的距离也称为被测对象的深度。
28.以下将结合三维深度传感器的可选实现形式,对三维深度传感器获取被测对象的rgb图像,并感知被测对象深度的实施方式进行示例性说明。
29.在一些实施例中,三维深度传感器基于双目摄像头实现,并基于双目深度恢复技术,得到三维测量数据。在这种方案中,可将两个单目摄像头固定在一个模块上,固定这两个摄像头的角度以及距离,以形成一个稳定的双目结构。
30.在这种方案中,双目摄像头对被测对象进行拍摄,可得到被测对象的rgb图像。与此同时,可基于三角测距方法以及视差原理,得到被测对象与摄像头之间的距离。两个摄像头同时照向被测对象时,每一个摄像头里都会出现被测对象的影像。两个摄像头之间存在一定距离,因此被测对象上的同一个点,经两个摄像头成像后对应的像点的位置不同。基于此,可提取两个摄像头拍摄得到的影像里的两个对应的特征点,计算这两个对应的特征点之间的距离差值。基于这两个对应的特征点之间的距离差值、两个摄像头之间的距离差值以及摄像头的焦距,即可采用三角测量法计算出被测对象到双目摄像头的基线的距离。以下将结合图2进行进一步说明。
31.如图2所示,双目摄像头之间的距离为基线距b,相机焦距为f,双目摄像头在同一时刻拍摄空间物体的同一特征点p(x
c
,y
c
,z
c
)。(x
c
,y
c
,z
c
)为特征点p在相机坐标系xyz中的坐标。特征点p(x
c
,y
c
,z
c
)经双目摄像头成像后,对应的图像坐标分别为p
left
(x
left
,y
left
),p
right
(x
right
,y
right
)。
32.双目摄像头拍摄到的图像在同一个平面上,那么特征点p成像后得到的点的在y轴上的坐标相同,即y
left
=y
right
,则由三角几何关系得到如下公式1:
[0033][0034]
其中,特征点p成像后得到的两个点的视差为:δ=x
left-x
right
。由此可计算出特征点p在相机坐标系下的三维坐标(x
c
,y
c
,z
c
):
[0035][0036]
可选地,双目摄像头可分别为红外双目摄像头,进而可基于红外灯的光照,在光线较弱甚至黑暗的环境下捕捉到被测对象的深度信息。
[0037]
在另一些实施例中,三维深度传感器可基于能够投射结构光的投影仪以及摄像头实现。摄像头可对被测对象进行拍摄,可得到被测对象的rgb图像。投影仪可向被测对象投
射已知图案的结构光,摄像头可获取反射回来的结构光形成的图案。接下来,可将投射出去的结构光的图案和反射回来的结构光的图案进行对比,基于图案对比结果以及投影仪和摄像头之间的固定距离,可采用三角测量法计算得到被测对象的深度信息。
[0038]
可选地,投影仪投射的结构光,可以是散斑结构光或者编码结构光,本实施例不做限制。
[0039]
在又一些实施例中,三维深度传感器可基于摄像头,以及激光雷达或毫米波雷达等电磁波传感器实现。摄像头可对被测对象进行拍摄,可得到被测对象的rgb图像。激光雷达或毫米波雷达发射的电磁波信号到达被测对象后返回,计算电磁波信号到达被测对象后返回的时间,基于该时间和电磁波的传输速度计算被测对象与传感器之间的距离。
[0040]
当然,上述列举的三维深度传感器的实现形式仅用于示例性说明,本实施例包含但不限于此。
[0041]
其中,控制器30用于根据传感器组件20采集到的用户的姿态数据,确定用户指示的目标作业位置作业区域,并控制运动组件40移动至目标作业区域,以执行作业任务。
[0042]
可选地,控制器30可以使用各种应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、微中控元件、微处理器、微控制单元(mcu)或其他电子元件实现,本实施例不做限制。
[0043]
其中,运动组件40指的是机器人上安装的可供机器人自主移动的器件,例如,机器人的移动底盘、滚轮等等,本实施例不做限制。
[0044]
需要说明的是,除上述实施例记载的组件之外,本申请实施例提供的机器人还可包括安装于本体10上的存储器。存储器,用于存储计算机程序,并可被配置为存储其它各种数据以支持在机器人上的操作。这些数据的示例包括用于在机器人上操作的任何应用程序或方法的指令。
[0045]
存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0046]
在一些实施例中,机器人还可包括安装于本体10上的显示组件。显示组件可包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0047]
在一些实施例中,机器人还可包括安装于本体10上的电源组件,该电源组件可为机器人上的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他为机器人生成、管理和分配电力相关联的组件,不再赘述。
[0048]
基于前述实施例提供的机器人,本申请实施例还提供一种机器人控制方法,以下将结合附图进行具体说明。
[0049]
图3为本申请一示例性实施例提供的机器人控制方法的流程示意图,如图3所示,该方法包括:
[0050]
步骤301、机器人响应姿态交互唤醒指令,获取用户的姿态数据。
[0051]
步骤302、机器人根据该姿态数据,确定用户指示的目标作业区域;该目标作业区域与机器人的当前位置所属的区域为不同区域。
[0052]
步骤303、机器人移动至目标作业区域,以执行设定的作业任务。
[0053]
其中,姿态交互指令指的是用于唤醒机器人的姿态交互功能的指令。姿态交互功能,指的是:机器人能够捕获用户的姿态、识别用户的姿态对应的交互内容,并根据识别到的交互内容,执行对应的作业任务的功能。在本实施例中,姿态交互指令,可以由用户直接发出的,也可以由用户通过终端设备发出。
[0054]
在一些实施例中,若姿态交互指令由用户直接发出,那么该姿态交互指令可实现为:用户发出的用于唤醒机器人的姿态交互功能的语音指令,例如“请看我手势”、“听我手势指挥”等语音指令。或者,该姿态交互指令可实现为:用户发出的用于唤醒机器人的姿态交互功能的手势指令,该手势指令可由用户自定义,本实施例不做限制。
[0055]
在另一些实施例中,用户可通过终端设备对机器人发起用于唤醒机器人的姿态交互功能的控制操作。基于此,该姿态交互指令可实现为:终端设备发送的用于唤醒机器人的姿态交互功能的控制指令。其中,终端设备可实现为手机、平板电脑、智能手表、智能手环、智能音箱等设备。
[0056]
通常,终端设备可包括一电子显示屏,用户可通过该显示屏发起控制机器人的操作。其中,电子显示屏可包括液晶显示器(lcd)和触摸面板(tp)。如果电子显示屏包括触摸面板,电子显示屏可以被实现为触摸屏,该触摸屏可接收来自用户的输入信号,以检测用户对机器人的控制操作。当然,在其他可选的实施例中,终端设备可包括用于向用户提供机器人控制操作的物理按键或者语音输入装置等,此处不赘述。
[0057]
其中,终端设备与机器人预先绑定,二者可通过有线或者无线通信方式与建立通信关系。基于此,用户通过终端设备向机器人发送姿态交互唤醒指令的操作,可基于终端设备与机器人之间的通信消息实现。
[0058]
其中,终端设备与机器人之间的无线通信方式包括蓝牙、zigbee、红外线、wifi(wireless-fidelity,无线保真技术)等短距离通信方式,也包括lora等远距离无线通信方式,还可包括基于移动网络的无线通信方式。其中,当通过移动网络通信连接时,移动网络的网络制式可以为2g(gsm)、2.5g(gprs)、3g(wcdma、td-scdma、cdma2000、utms)、4g(lte)、4g+(lte+)、5g、wimax等中的任意一种,本实施例不做限制。
[0059]
其中,用户的姿态数据,是对用户呈现的姿势,例如用户头部的姿势、手部的姿势、腿部的姿势进行采集得到的数据。
[0060]
在一些可选的实施方式中,用户的姿态数据可通过机器人上安装的传感器组件获取,具体可参考前述实施例的记载,此处不赘述。
[0061]
在另一些可选的实施方式,用户的姿态数据可通过用户穿戴的姿态传感器获取。例如,可通过穿戴在用户手臂上的陀螺仪、惯性传感器等获取用户的姿态数据,本实施例不做限制。
[0062]
在又一些可选的实施方式中,用户的姿态数据可通过用户所在空间内安装的多个传感器实现。例如,机器人应用在特定空间内时,可复用该空间安装的监控摄像头,对用户进行多角度拍摄,并基于多角度拍摄的结果获取用户的姿态数据,此处不赘述。
[0063]
在本申请实施例提供的应用场景中,用户可通过摆出不同的姿势来指挥机器人前
往特定的作业区域执行作业任务。例如,家庭用户可采用手臂摆出指向某一房间的姿势,以指挥扫地机器人前往被指的房间执行清扫任务。又例如,酒店领班用户用户可扭转头部,摆出面向某一区域的姿势,以指挥服务员机器人前往被指的区域执行服务任务。
[0064]
目标作业区域,即为根据用户的姿态数据识别到的用户指示机器人前往的区域。其中,目标作业区域与机器人的当前位置所属的区域为不同区域。例如,目标作业区域与机器人的当前位置不属于同一房间,或者目标作业区域与机器人的当前位置被人为划分成了两个不同的区域。在确定目标作业区域后,机器人可跨房间或者跨区域地移动至目标作业区域,执行设定的作业任务。
[0065]
在本实施例中,机器人可响应姿态交互唤醒指令,获取用户的姿态数据,根据用户的姿态数据确定目标作业区域,并可在目标作业区域与机器人的当前位置所属的区域为不同区域的情况下,移动至目标作业区域执行设定的作业任务。进而,机器人实现了基于用户姿态进行移动作业,且不受区域划分的限制,进一步提升了机器人的控制灵活度。
[0066]
图4a为本申请另一示例性实施例提供的机器人控制方法的流程示意图,如图4a所示,该方法包括:
[0067]
步骤401、机器人响应姿态交互唤醒指令,通过安装于机器人上的传感器组件,对用户进行三维测量,得到三维测量数据。
[0068]
步骤402、机器人根据该三维测量数据,获取用户的手势对应的空间坐标。
[0069]
步骤403、机器人根据用户的手势对应的空间坐标,确定用户指示的目标作业方向。
[0070]
步骤404、机器人从候选作业区域中,确定与目标作业方向适配的作业区域,作为目标作业区域,目标作业区域与机器人的当前位置所属的区域为不同区域。
[0071]
步骤405、机器人移动至目标作业区域,以执行设定的作业任务。
[0072]
在步骤401中,可选地,三维测量数据包括:拍摄用户得到的图像以及用户与所述机器人之间的距离。获取三维测量数据的具体方法可参考前述实施例的记载,此处不赘述。
[0073]
在步骤402中,根据三维测量数据,可获取用户的手势对应的空间坐标。
[0074]
可选地,针对三维测量数据中的图像,可进行图像识别,得到用户的姿态关键点。可选地,从图像上识别姿态关键点的方法,可基于深度学习算法实现。例如,可基于卷积神经网络(convolutional neural networks,cnn),或者,图卷积神经网络(graph convolutional network,gcn)训练图像识别模型。以下将以cnn为例进行示例性说明。
[0075]
可选地,可对用户的多种姿态进行拍摄,得到大量图像。接着,对图像上的姿态关键点进行标注,得到训练样本,并将训练样本输入cnn模型进行迭代训练。在训练的过程中,可将样本上标注的姿态关键点作为模型的学习目标,不断地调整cnn模型中的模型参数,直至损失函数收敛至一定范围。
[0076]
响应姿态交互唤醒指令,机器人拍摄到用户的图像后,可将该图像输入cnn模型,并根据cnn模型的输出,获取图像上的姿态关键点。
[0077]
其中,姿态关键点可包括图像上与用户的眼睛、鼻子、肩膀、手肘、手腕、臀部、膝盖、脚踝等关键部位对应的特征点,如图4b所示。识别姿态关键点的同时,还可对图像上的用户进行左右区别。
[0078]
在一些场景下,考虑到与机器人进行姿态交互的便利性,用户可采用手势与机器
人进行手势交互。以下将以手势为例,对本申请实施例提供的技术方案进行示例性说明。
[0079]
其中,手势,包括用户在运用手臂时,所展现的具体动作与体位。识别到姿态关键点后,可从姿态关键点中,确定用于表征用户的手势的目标关键点。手臂具有较高的灵活性,用户运用手臂时,可带动手指、手腕、手肘、肩膀等关节共同活动。基于此,在一些实施例中,在确定表征用户的手势的目标关键点时,可至少确定与用户的手肘对应的关键点和手腕对应的关键点,如图4c所示。在另一些实施例中,可确定与用户的肩膀、手肘以及手腕对应的三个关键点,如图4d所示。在又一些实施例中,为更准确地识别手势,在获取到肩膀对应的关键点、手肘对应的关键点以及手腕对应的关键点的同时,还可进一步获取用户的手指对应的关键点,不再进行图示。针对三维测量数据中的用户与机器人之间的距离,可根据目标关键点在图像上的坐标,从用户与机器人之间的距离中,确定目标关键点与机器人之间的距离。例如,传感器组件实现为双目摄像头时,可从双目摄像头拍摄到的图像上识别目标关键点,并基于双目深度恢复技术,从双目摄像头拍摄到的图像上,获取目标关键点对应的深度信息,作为目标关键点与机器人之间的距离。
[0080]
接下来,可根据目标关键点的坐标以及目标关键点与机器人之间的距离,确定用户的手势对应的空间坐标。应当理解,基于拍摄到的图像可获取到目标关键点在相机坐标系中的二维坐标,基于目标关键点与机器人之间的距离,可获取目标关键点在相机坐标系中的第三个维度的坐标。基于上述三个坐标,可得到目标关键点在相机坐标系中的三维坐标。
[0081]
接下来,对目标关键点在相机坐标系中的三维坐标进行坐标系转换,将相机坐标系转换为世界坐标系,即可得到用户的手势在世界坐标系对应的空间坐标。
[0082]
在步骤403中,可根据用户的手势对应的空间坐标,确定用户指示的作业方向。
[0083]
可选地,在本步骤中,可根据用户的手势对应的空间坐标进行直线拟合,得到一条空间直线。接着,将该空间直线向用户的手势的末端延伸的方向,作为用户指示的作业方向,如图4c以及图4d所示。其中,若从图像上取到的关键点包括肩膀对应的关键点,则向用户的手势的末端延伸的方向,指的是:肩膀向手肘处延伸的方向,或者肩膀向手腕处延伸的方向,或者肩膀向手指延伸的方向;若从图像上取到的关键点包括手肘对应的关键点,向用户的手势的末端延伸的方向,指的是:手肘向手腕处延伸的方向,或者手肘向手指延伸的方向,不再赘述。
[0084]
在步骤404中,目标作业区域与机器人的当前位置所属的区域为不同区域,可包括:目标作业区域与该当前位置所属的区域之间存在实体障碍物,或者存在虚拟障碍物。以下将结合不同的应用场景进行示例性说明。
[0085]
在一种典型的应用场景中,机器人实现为家庭用的扫地机器人,目标作业区域可实现为家庭中的某一房间,该房间与机器人当前所在的房间之间存在墙体或者门体。例如,机器人当前位于客厅,目标作业区域为卧室。
[0086]
在另一种典型的应用场景中,机器人实现为餐厅使用的服务员机器人。餐厅较大时,可为不同机器人划定不同的服务区域,以保证有条不紊地向顾客提供服务。在这种场景下,可在餐厅内的不同服务区域之间划定虚拟墙,以根据虚拟墙生成可供机器人使用的导航地图。该虚拟墙在实际空间中是不存在的,但可存在于机器人的导航地图上,机器人可根据虚拟墙生成的导航地图在各自规定的作业范围内进行移动作业。在这种场景下,目标作
业区域可实现为与机器人当前所在区域之间存在虚拟墙的另一区域。例如,机器人当前位于就餐区a,目标作业区域位于就餐区b,就餐区a和就餐区b之间划有虚拟墙。
[0087]
其中,候选作业区域,指的是机器人可前往并且可执行作业任务的所有区域。例如,在家庭环境中,候选作业区域包括一套房子内所有的房间。例如,在餐厅环境内,候选作业区域包括餐厅提供的所有就餐区域。又例如,在商场环境内,候选作业区域可包括商场提供的所有店铺,不再赘述。
[0088]
目标作业方向是用户指示机器人前往作业的方向。因此,获取到目标作业方向后,可从候选作业区域中,确定与目标作业方向适配的作业区域,作为目标作业区域。
[0089]
其中,用户指示的作业方向,通过空间直线向用户的手势的末端延伸的方向来表达。基于此,可计算空间直线与候选作业区域所在的平面的交点位置,并根据该交点位置,确定用户指示的目标作业区域。
[0090]
计算空间直线与候选作业区域所在的平面的交点位置时,可将候选作业区域所在平面作为一空间平面,将计算交点位置的过程,转化为计算空间直线与空间平面的交点的过程。
[0091]
通常,机器人与候选作业区域位于同一平面,若根据机器人所在空间建立三维坐标系xyz,则可将候选作业区域所在平面视为z=0的平面。
[0092]
交点位置不同时,确定用户指示的目标作业区域的实施方式也不同。以下将进行示例性说明:
[0093]
实施方式1:若该交点位置在机器人的已知作业区域内,则将交点位置所在的作业区域作为目标作业区域。其中,已知作业区域,指的是在机器人导航地图中已经包含的区域。
[0094]
实施方式2:若该交点位置不在机器人的已知作业区域内,且该空间直线与候选作业区域所在平面的夹角大于设定的角度阈值,则可从已知作业区域内,确定位于用户指示的作业方向上、且与机器人的当前位置最近的作业区域,作为目标作业区域。
[0095]
其中,空间直线与候选作业区域所在平面的夹角如图4c所示的α。其中,该设定角度阈值可根据实际需求进行设置。可选地,可根据候选区域的面积,计算能够覆盖整个候选区域的最大手势角度,并将该最大手势角度作为角度阈值。若空间直线与候选作业区域所在平面的夹角大于设定的角度阈值,则认为用户的手势的指向角度不合适,例如用户的手臂过高甚至手臂与地面平行。
[0096]
其中,从已知作业区域内,确定位于用户指示的作业方向上、且与机器人的当前位置最近的作业区域时,可将该空间直线在机器人的导航地图上进行投影,得到投影直线。接着,将导航地图上,与投影直线相交,且与机器人的当前位置最近的作业区域,作为目标作业区域。
[0097]
实施方式3:若该交点位置不在机器人的已知作业区域内,且该空间直线与平面的夹角小于或者等于角度阈值,则根据交点位置,在用户指示的作业方向上寻找所述目标作业区域。
[0098]
该空间直线与平面的夹角小于或者等于角度阈值时,可认为用户的指向角度合理,但是机器人的导航地图上存在缺失的作业区域。例如,以扫地机器人为例,用户的手势指示目标清扫区域为厨房,但是机器人的导航地图上没有厨房这一区域。
[0099]
在这种情况下,可根据交点位置,在用户指示的作业方向上寻找目标作业区域,以完成用户指示的作业任务。
[0100]
可选地,机器人可向用户指示的作业方向移动,直至遇到目标障碍物,该目标障碍物可以是墙体。遇到目标障碍物后,机器人可沿着目标障碍物的边缘向靠近该交点位置的方向进行移动,直至探测到入口。该入口通常是障碍物的阻碍消失的地方,例如墙体上开设的门。若该入口所属的作业区域不在已知作业区域内,则可将该入口所属的作业区域,作为目标作业区域。
[0101]
需要说明的是,在一些情况下,机器人探测到的入口位于机器人的导航地图上,入口所属的作业区域,为机器人的已知作业区域中的一部分。在这种情况下,机器人可认为仍未探测到目标作业区域的入口。此时,可从探测到的入口进入已知作业区域,并沿着已知作业区域内的障碍物的边缘继续向靠近交点位置的方向进行移动,直至探测到新的入口。若该新的入口所属的作业区域不在已知作业区域内,则可将该新的入口所属的作业区域,作为目标作业区域。基于此,机器人实现了前往导航地图上未包括的区域进行作业任务的功能,进一步解放了用户的双手。
[0102]
值得说明的是,机器人的导航地图,通常是根据机器人历史运动轨迹生成的,该导航地图上包含机器人的已知作业区域。例如,针对扫地机器人而言,用户首次将其放在家中使用时,扫地机器人可在家里可进入的房间进行移动清扫,并根据移动轨迹同步绘制导航地图。
[0103]
若首次清扫时,家中某个房间的门恰好处于关闭状态,导致机器人未前往该房间,那么生成的导航地图上将不包含该房间对应的地图区域。下一次使用机器人时,该房间的门由关闭变为打开,但机器人此时未获知清扫环境产生变化,因而仍旧不会及时去清扫该区域。若用户通过手势指示扫地机器人清扫该房间,那么机器人可按照上述实施方式3提供的方法,寻找该房间,并进行清扫。
[0104]
值得说明的是,在实施方式3中,机器人在用户指示的作业方向上寻找到目标作业区域后,可在目标作业区域执行作业任务,并可进一步根据执行作业任务形成的轨迹,更新已知作业区域对应的导航地图。基于此,实现了未知作业区域的探索以及导航地图的实时更新,更有利于提升后续执行作业任务的效率。
[0105]
在步骤405中,可选地,机器人移动至目标作业区域,以执行设定的作业任务时,若目标作业区域位于已知作业区域中,如实施方式1以及实施方式2,则机器人可根据已知作业区域对应的导航地图,规划去往目标作业区域的路线,并根据规划得到的去往目标作业区域的路线,移动至目标作业区域。
[0106]
在本实施例中,机器人可获取用户的三维测量数据后,可根据用户的三维测量数据获取用户指示的目标作业方向,并可从候选作业区域中,确定与目标作业方向适配的作业区域作为目标作业区域。在目标作业区域与机器人的当前位置所属的区域为不同区域的情况下,机器人可移动至目标作业区域执行设定的作业任务。进而,机器人实现了基于用户姿态进行移动作业,且不受区域划分的限制,进一步提升了用户对机器人进行控制的灵活度。
[0107]
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤401至步骤402的执行主体可以为设备
a;又比如,步骤402和402的执行主体可以为设备a,步骤403的执行主体可以为设备b;等等。
[0108]
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如401、402等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。
[0109]
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0110]
以下结合图5a-图5d,以一个具体的应用场景,对本申请实施例提供的机器人控制方法进行进一步说明。
[0111]
在一种典型的应用场景中,前述各实施例提供的机器人实现为扫地机器人。该扫地机器人可执行前述各实施例提供的机器人控制方法。
[0112]
在使用扫地机器人的过程中,用户可通过语音指令,唤醒扫地机器人的姿态交互功能,并通过手势姿态控制扫地机器人去往不同的房间进行清扫。例如,用户可对扫地机器人说:请听我指挥。扫地机器人的姿态交互功能被唤醒后,可通过其上安装的双目摄像头对用户进行拍摄,得到用户的图像。接着,采用深度学习技术,对图像上的人体成像结果进行识别,以识别到成像结果上的人体各关键点。接着,从识别到的各关键点中,选取手势对应的目标关键点,即:手肘对应的关键点、手腕对应的关键点。
[0113]
接着,基于双目深度恢复技术,从双目摄像头采集到的图像上,获取目标关键点的深度信息。基于目标关键点在图像上的坐标以及计算得到的深度信息,可得到目标关键点的三维坐标。
[0114]
接着,根据目标关键点的三维坐标,计算人体手势的指示方向,并计算人体手势在地面上指示的位置坐标,即:手肘关键点和手腕关键点形成的空间直线与地面的交点。为便于描述,将该交点描述为指示点。
[0115]
接着,判断该指示点是否在扫地机器人当前的导航地图区域内。
[0116]
一种情况如图5b所示,该指示点位于当前的导航地图区域内。这种情况下,指示点一般距离用户比较近,且指示点的位置明确。此时,机器人可直接移动到该指示点所属的房间区域清扫。在图5b的示意中,指示点位于导航地图上的房间2中,则扫地机器人可前往房间2执行清扫任务。
[0117]
另一种情况下,该指示点位于当前的导航地图区域之外。通常,这种情况下,指示点一般距离用户比较远,该情况可能由两种原因导致:
[0118]
1.用户手势指向的角度不合理,例如手势的角度过大,或者直接水平,进而导致指示点与当前的导航地图无交点或者超出了机器人能够涉足的最大范围。此时,可认为该清扫区域比较远,如图5c所示。在这种情况下,扫地机器人可跨房间寻找该指示方向上与其当前所在区域最近的房间进行清扫。
[0119]
例如,如图5c所示,指示点在机器人能够涉足的最大范围之外。房间3位于该指示方向上,且距离扫地机器人当前所在的区域最近,那么可将房间3作为目标清扫区域,扫地机器人可前往房间3执行清扫任务。
[0120]
2.用户手势指向的角度合理,但是指示点在当前的导航地图中不存在,或者,指示点位于当前的导航地图之外,但是位于机器人可涉足的最大范围内。此时,可认为导航地图
不完整,存在遗漏的房间。
[0121]
在这种情况下,如图5d所示,扫地机器人可移动至该指示方向上最近的障碍物的边沿,然后开始沿边搜索可进入的门或者入口。在搜索到门或者入口后,可进入该门或者入口所属的区域,若该区域位于当前的导航地图上,那么可在该区域内,继续移动至该指示方向上最近的障碍物的边沿,直至搜索到下一个门或者入口,且该门或者入口所属的区域不在导航地图上。
[0122]
例如,如图5d所示,扫地机器人搜索到房间1的门,并进入房间1后,发现房间1位于导航地图上,那么可继续在房间1中朝着该指示方向搜索可进入的门或者入口。扫地机器人搜索到房间3的入口后,发现房间3未在导航地图上,此时可将房间3作为目标清扫区域,并开始清扫房间3。在清扫房间3的过程中,可根据行走轨迹,记录房间3的地图,并以此更新当前的导航地图。
[0123]
基于上述实施方式,在扫地机器人的应用场景中,用户可通过姿态,便捷地与扫地机器进行交互,扫地机器人能够根据用户的指示准确地到达清扫区域,且不受障碍物(房间墙壁等)的限制,满足家庭中个性化的清扫需求,再次解放人类双手。
[0124]
在另一种典型的应用场景中,前述各实施例提供的机器人实现为空气净化机器人。该空气净化机器人可执行前述各实施例提供的机器人控制方法。
[0125]
在使用空气净化机器人的过程中,用户可通过语音指令,唤醒空气净化机器人的姿态交互功能,并通过手势姿态控制空气净化机器人去往不同的房间执行空气净化任务。例如,用户可对空气净化机器人说:请看我手势。空气净化机器人的姿态交互功能被唤醒后,可通过其上安装的双目摄像头对用户进行拍摄,得到用户的图像。接着,采用深度学习技术和双目深度恢复技术,从采集到的图像上获取用于表征用户的手势的目标关键点的三维坐标。
[0126]
接着,根据目标关键点的三维坐标,计算人体手势的指示方向,并计算人体手势在地面上指示的位置坐标,即:手肘关键点和手腕关键点形成的空间直线与地面的交点。为便于描述,将该交点描述为指示点。
[0127]
接着,判断该指示点是否在空气净化机器人当前的导航地图区域内。
[0128]
若该指示点位于当前的导航地图区域内,则机器人可根据导航地图确定行走路线,并直接移动到该指示点所属的房间区域内执行空气净化任务。
[0129]
若该指示点位于当前的导航地图区域之外,则可进一步判断用户手势指向的角度是否合理:若用户手势指向的角度不合理,则空气净化机器人可跨房间寻找该指示方向上与其当前所在区域最近的房间执行空气净化任务;若用户手势指向的角度合理,但是指示点在当前的导航地图中不存在,或者,指示点位于当前的导航地图之外,但是位于机器人可涉足的最大范围内。此时,可认为导航地图不完整,存在遗漏的房间。
[0130]
若存在遗漏房间,则空气净化机器人可移动至该指示方向上最近的障碍物的边沿,然后开始沿边搜索可进入的门或者入口。在搜索到门或者入口后,可进入该门或者入口所属的区域,若该区域位于当前的导航地图上,那么可在该区域内,继续移动至该指示方向上最近的障碍物的边沿,直至搜索到下一个门或者入口,且该门或者入口所属的区域不在导航地图上。此时,空气净化机器人可将该门或者入口所属的区域作为目标空气净化区域,并开始执行空气净化任务。在执行空气净化任务的过程中,空气净化机器人还可根据行走
轨迹,记录目标空气净化区域的地图,并以此更新当前的导航地图。
[0131]
在又一种典型的应用场景中,前述各实施例提供的机器人实现为无人飞行器。该无人飞行器可执行前述各实施例提供的机器人控制方法。
[0132]
假设无人飞行器需在一较大的园区中执行航拍任务,该园区包含多栋建筑物,在无人飞行器的导航地图上,多栋建筑分别属于不同的区域。在控制无人飞行器的过程中,用户可通过语音指令,唤醒无人飞行器的姿态交互功能,并通过手势姿态控制无人飞行器去往不同的建筑物执行拍摄任务。
[0133]
例如,用户可对无人飞行器说:请看我手势。无人飞行器的姿态交互功能被唤醒后,可通过其上安装的双目摄像头对用户进行拍摄,得到用户的图像。接着,采用深度学习技术和基于双目深度恢复技术,从拍摄得到的图像上,获取用于表征用户的手势的目标关键点的三维坐标。
[0134]
接着,根据目标关键点的三维坐标,计算人体手势的指示方向,并计算人体手势在地面上指示的位置坐标,即:手肘关键点和手腕关键点形成的空间直线与地面的交点。为便于描述,将该交点描述为指示点。
[0135]
接着,判断该指示点是否在无人飞行器当前的导航地图区域内。
[0136]
若该指示点位于当前的导航地图区域内,则机器人可根据导航地图确定飞行路线,并直接飞行到该指示点所属的房间区域内执行拍摄任务。
[0137]
若该指示点位于当前的导航地图区域之外,则可进一步判断用户手势指向的角度是否合理:若用户手势指向的角度不合理,则无人飞行器可跨区域寻找该指示方向上与其当前所在区域最近的建筑物执行拍摄任务;若用户手势指向的角度合理,但是指示点在当前的导航地图中不存在,或者,指示点位于当前的导航地图之外,但是位于园区内机器人可涉足的最大范围内。此时,可认为园区的导航地图不完整,存在遗漏的建筑物。
[0138]
若存在遗漏建筑物,则无人飞行器可沿着该指示方向飞行,直至搜索到与该指示方向对应,但不在导航地图上的新的区域。此时,无人飞行器可将该新的区域作为目标拍摄区域,并开始执行拍摄任务。在执行拍摄任务的过程中,无人飞行器还可根据目标拍摄区域的位置分布和区域面积,绘制目标拍摄区域的地图,并以此更新当前的导航地图。
[0139]
需要说明的是,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中实现机器人控制方法的各步骤。
[0140]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0141]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的控制器以产生一个机器,使得通过计算机或其他可编程数据处理设备的控制器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0142]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0143]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0144]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0145]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0146]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0147]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0148]
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1