CN116669913A - 用于精密清洁的表面触摸点监视 - Google Patents
用于精密清洁的表面触摸点监视 Download PDFInfo
- Publication number
- CN116669913A CN116669913A CN202180087649.XA CN202180087649A CN116669913A CN 116669913 A CN116669913 A CN 116669913A CN 202180087649 A CN202180087649 A CN 202180087649A CN 116669913 A CN116669913 A CN 116669913A
- Authority
- CN
- China
- Prior art keywords
- actor
- environment
- map
- static feature
- sensor data
- 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.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/02—Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
- B25J9/04—Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/007—Manipulators mounted on wheels or on carriages mounted on wheels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
- B25J11/0085—Cleaning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40411—Robot assists human in non-industrial environment like home or office
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Human Computer Interaction (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
Abstract
一种***包括机器人设备、安置在机器人设备上的传感器以及被配置为执行操作的电路。所述操作包括确定表示环境的静态特征的地图,以及从传感器接收表示环境的传感器数据。所述操作还包括基于传感器数据来确定环境内的行为者的表示,其中该表示包括表示行为者的对应主***置的关键点。所述操作还包括确定特定静态特征的一部分位于特定关键点的阈值距离内,并且基于此,更新地图以指示该部分将被清洁。所述操作还包括基于所更新的地图,使机器人设备清洁特定静态特征的该部分。
Description
相关申请的交叉引用
本申请要求2020年12月22日提交的名称为“Monitoring of Surface TouchPoints for Precision Cleaning”的美国专利申请第17/131,252号的优先权,通过引用将其合并于此,如同在本说明书中完全阐述一样。
背景技术
随着技术的进步,正在创建各种类型的机器人设备用于执行可以帮助用户的各种功能。机器人设备可以用于涉及材料处理、运输、焊接、组装和分发等的应用。随着时间的推移,这些机器人***的操作方式变得更加智能、高效和直观。随着机器人***在现代生活的许多方面变得越来越普遍,人们希望机器人***是高效的。因此,对高效机器人***的需求有助于在致动器、移动、传感技术以及组件设计和组装方面开辟创新领域。
发明内容
机器人可以用于识别和清洁已经被行为者(例如人、狗、猫或另一个机器人)触摸的表面。控制***可以从机器人上的传感器接收表示在环境中操作的行为者的传感器数据。控制***可以通过基于传感器数据生成表示行为者的对应主***置(诸如手指、手部、肘部等)的多个关键点来确定行为者的表示。基于这些关键点中的至少一些的定位,控制***可以确定行为者是否已经触摸了环境中的特征。具体而言,控制***可以确定环境中的任何特征是否已进入这些关键点中的至少一个特定关键点(例如,手部关键点)的阈值距离内。当环境特征的一部分位于特定关键点的阈值距离内时,可以指定该部分以进行清洁,并且可以更新环境的地图以指示要对该部分进行清洁。一旦行为者移动到环境的不同部分,机器人可以基于地图来清洁环境中已经被指定进行清洁的任何部分。一旦对一部分进行了清洁,可以再次更新地图以指示该部分已经被清洁。
在第一示例实施例中,一种***可以包括机器人设备、安置在机器人设备上的传感器以及被配置为执行操作的电路。所述操作可以包括确定表示环境的多个静态特征的地图,以及从传感器接收表示环境的传感器数据。所述操作还可以包括基于传感器数据来确定环境中的行为者的表示。该表示可以包括表示行为者的对应主***置的多个关键点。所述操作可以附加地包括确定环境的多个静态特征中的特定静态特征的一部分位于多个关键点中的特定关键点的阈值距离内。所述操作还可以包括基于确定该特定关键点位于该特定静态特征的该部分的阈值距离内,更新地图以指示该特定静态特征的该部分将被清洁。所述操作还可以包括基于所更新的地图,使机器人设备清洁特定静态特征的该部分。
在第二示例实施例中,一种计算机实现的方法可以包括确定表示环境的多个静态特征的地图,并且从安置在机器人设备上的传感器接收表示环境的传感器数据。该计算机实现的方法还可以包括基于传感器数据来确定环境中的行为者的表示。该表示可以包括表示行为者的对应主***置的多个关键点。该计算机实现的方法可以附加地包括确定环境的多个静态特征中的特定静态特征的一部分位于多个关键点中的特定关键点的阈值距离内。该计算机实现的方法还可以包括基于确定该特定关键点位于该特定静态特征的该部分的阈值距离内,更新该地图以指示该特定静态特征的该部分将被清洁。该计算机实现的方法还可以包括,基于所更新的地图,使机器人设备清洁特定静态特征的该部分。
在第三示例实施例中,一种非暂时性计算机可读介质可以在其上存储有指令,当由计算设备执行时,所述指令使得计算设备执行操作。所述操作可以包括确定表示环境的多个静态特征的地图,以及从安置在机器人设备上的传感器接收表示环境的传感器数据。所述操作还可以包括基于传感器数据来确定环境中的行为者的表示。该表示可以包括表示行为者的对应主***置的多个关键点。所述操作可以附加地包括确定环境的多个静态特征中的特定静态特征的一部分位于多个关键点中的特定关键点的阈值距离内。所述操作还可以包括基于确定该特定关键点位于该特定静态特征的该部分的阈值距离内,更新地图以指示该特定静态特征的该部分将被清洁。所述操作还可以包括基于所更新的地图,使机器人设备清洁特定静态特征的该部分。
在第四示例实施例中,一种***可以包括用于确定表示环境的多个静态特征的地图的部件,以及用于从安置在机器人设备上的传感器接收表示环境的传感器数据的部件。该***还可以包括用于基于传感器数据来确定环境中的行为者的表示的部件。该表示可以包括表示行为者的对应主***置的多个关键点。该***可以附加地包括用于确定环境的多个静态特征中的特定静态特征的一部分位于多个关键点中的特定关键点的阈值距离内的部件。该***还可以包括用于基于确定该特定关键点位于该特定静态特征的该部分的阈值距离内,更新该地图以指示该特定静态特征的该部分将被清洁的部件。该***还可以包括用于基于所更新的地图使机器人设备清洁特定静态特征的该部分的部件。
在第五示例实施例中,一种***可以包括传感器和被配置为执行操作的电路。所述操作可以包括确定表示环境的多个静态特征的地图,以及从传感器接收表示环境的传感器数据。所述操作还可以包括基于传感器数据来确定环境中的行为者的表示。该表示可以包括表示行为者的对应主***置的多个关键点。所述操作可以附加地包括确定环境的多个静态特征中的特定静态特征的一部分位于多个关键点中的特定关键点的阈值距离内。所述操作可以进一步包括基于确定所述特定关键点位于所述特定静态特征的该部分的阈值距离内,更新所述地图以指示所述特定静态特征的该部分被确定为已被触摸。所述操作还可以包括基于所更新的地图,显示用于指示特定静态特征的该部分被确定为已经被触摸的视觉表示。
在第六示例实施例中,一种计算机实现的方法可以包括确定表示环境的多个静态特征的地图,以及从传感器接收表示环境的传感器数据。该计算机实现的方法还可以包括基于传感器数据来确定环境中的行为者的表示。该表示可以包括表示行为者的对应主***置的多个关键点。该计算机实现的方法可以附加地包括确定环境的多个静态特征中的特定静态特征的一部分位于多个关键点中的特定关键点的阈值距离内。该计算机实现的方法还可以包括基于确定该特定关键点位于该特定静态特征的该部分的阈值距离内,更新地图以指示该特定静态特征的该部分被确定为已被触摸。该计算机实现的方法还可以包括基于所更新的地图,显示指示特定静态特征的该部分被确定为已经被触摸的视觉表示。
在第七示例实施例中,一种非暂时性计算机可读介质上可以存储有指令,当由计算设备执行时,这些指令使得计算设备执行操作。这些操作可以包括确定表示环境的多个静态特征的地图,以及从传感器接收表示环境的传感器数据。这些操作还可以包括基于传感器数据来确定环境中的行为者的表示。该表示可以包括表示行为者的对应主***置的多个关键点。这些操作可以附加地包括确定环境的多个静态特征中的特定静态特征的一部分位于多个关键点中的特定关键点的阈值距离内。这些操作可以进一步包括基于确定所述特定关键点位于所述特定静态特征的该部分的阈值距离内,更新所述地图以指示所述特定静态特征的该部分被确定为已被触摸。这些操作还可以包括基于所更新的地图,显示指示特定静态特征的该部分被确定为已经被触摸的视觉表示。
在第八示例实施例中,一种***可以包括用于确定表示环境的多个静态特征的地图的部件,以及用于从传感器接收表示环境的传感器数据的部件。该***还可以包括用于基于传感器数据来确定环境中的行为者的表示的部件。该表示可以包括表示行为者的对应主***置的多个关键点。该***可以附加地包括用于确定环境的多个静态特征中的特定静态特征的一部分位于多个关键点中的特定关键点的阈值距离内的部件。该***还可以包括用于基于确定该特定关键点位于该特定静态特征的该部分的阈值距离内,更新地图以指示该特定静态特征的该部分被确定为已被触摸的部件。该***还可以包括用于基于所更新的地图显示指示特定静态特征的该部分被确定为已经被触摸的视觉表示的部件。
通过阅读下面的详细描述,并适当参考附图,这些以及其他实施例、方面、优点和替代方案对于本领域普通技术人员来说将变得明显。此外,此处提供的本概述和其他描述和附图旨在仅通过示例的方式来说明实施例,并且同样地,许多变化是可能的。例如,结构元素和过程步骤可以被重新布置、组合、分布、消除或以其他方式改变,同时保持在所要求保护的实施例的范围内。
附图说明
图1图示了根据示例实施例的机器人***的配置。
图2图示了根据示例实施例的移动机器人。
图3图示了根据示例实施例的移动机器人的分解图。
图4图示了根据示例实施例的机器人臂。
图5A图示了根据示例实施例的与环境特征交互的行为者。
图5B图示了根据示例实施例的行为者上的关键点。
图5C图示了根据示例实施例的关键点周围的阈值距离。
图5D图示了根据示例实施例的指定进行清洁的环境的部分。
图6图示了根据示例实施例的***。
图7图示了根据示例实施例的流程图。
图8图示了根据示例实施例的流程图。
具体实施方式
在此描述了示例方法、设备和***。应当理解,在此使用的词语“示例”和“示例性的”意味着“用作示例、实例或说明”。在此描述为“示例”、“示例性”和/或“说明性”的任何实施例或特征不一定被解释为优先于或优于其它实施例或特征,除非如此陈述。因此,在不脱离在此呈现的主题的范围的情况下,可以利用其他实施例,并且可以进行其他改变。
因此,在此描述的示例实施例不意味着是限制性的。将容易理解的是,如在此一般描述的和在附图中图示的,本公开的方面可以以多种不同的配置来布置、替换、组合、分离和设计。
此外,除非上下文另有建议,否则每个图中图示的特征可以彼此组合使用。因此,附图通常应被认为是一个或多个总体实施例的组成方面,应理解并非所有图示的特征对于每个实施例都是必要的。
此外,本说明书或权利要求中的元件、块或步骤的任何列举都是为了清楚的目的。因此,这种列举不应被解释为要求或暗示这些元件、块或步骤遵循特定的布置或以特定的顺序执行。除非另有说明,否则附图不是按比例绘制的。
I.概述
机器人设备可以被配置为检测和/或清洁环境中已经被行为者触摸的表面。具体而言,机器人设备可以是移动的,并因此被配置为遍历环境。机器人设备可以在其上包括一个或多个传感器,这些传感器被配置为生成表示静态特征(诸如地面、墙壁和/或家具)以及(非静态)行为者(诸如人、动物和/或其他机器人设备)的传感器数据。一个或多个传感器可以包括例如红绿蓝(RGB)二维(2D)相机、深度(三维(3D))相机、光检测和测距(LIDAR)设备、无线电检测和测距(雷达)设备、飞行时间(ToF)相机、热感相机,和/或近红外相机,以及其他可能性。当机器人设备在环境中执行各种任务时,和/或作为专用数据收集操作的一部分,传感器数据可以被收集。
控制电路(例如,形成控制***的一部分)可以被配置为接收传感器数据,处理传感器数据,并且向机器人设备发出命令以在环境内执行各种操作。控制电路可以物理地位于机器人设备上和/或远离机器人设备。具体而言,控制电路可以被配置为生成至少表示环境的静态特征的地图。可以基于从机器人设备、从在环境中操作的一个或多个其他机器人设备和/或从遍布环境分布的一个或多个传感器获得的传感器数据来生成地图。这些静态特征的子集可以被分类为被确定为以相对高的频率与行为者交互的普通触摸/高触摸特征,并且因此可以被机器人设备监视以确定这些特征是否已经被触摸。
为了确定静态特征是否已经被行为者触摸,机器人设备可以从一个或多个传感器接收表示环境中的行为者的传感器数据。控制电路可以被配置为基于传感器数据来确定行为者的表示。具体而言,该表示可以包括表示行为者的主***置的多个关键点。例如,关键点可以表示行为者主体的解剖位置,诸如关节,并且因此可以表示脚踝、膝、臀部、肩膀、肘部、腕部、颈部和/或头部。在一些情况下,可以互连关键点以定义表示行为者主体的骨架。例如,可以通过诸如卷积神经网络(CNN)之类的机器学习模型来确定关键点。
控制电路还可以被配置为针对多个关键点中的特定关键点,确定静态特征的任何部分是否位于该特定关键点的阈值距离内。为此,控制电路可以被配置为将关键点从传感器数据的参考系变换到地图的参考系。特定关键点可表示频繁用于与环境交互的主***置,诸如臂部、手部和/或手指。在一些情况下,控制电路可以确定特定静态特征的一部分,诸如桌面,位于特定关键点的阈值距离内。基于该确定,控制电路可以被配置为更新地图以指示要清洁该特定静态特征的该部分。
具体而言,可以更新地图以指示特定静态特征的该部分被确定/估计为已经被触摸。确定/估计该部分已经被触摸可以包括该部分实际上被触摸的情况,以及该部分实际上没有被触摸但是基于特定关键点的定位看起来已经被触摸的情况。例如,可以通过更新表示地图的数据结构中的一个或多个值(例如,已触摸/未触摸标志)来将表示落在特定关键点的阈值距离内的桌面的该部分的地图子集标记为“已触摸”。
在一些情况下,地图可以将环境表示为多个体素(voxel)。可以将每个体素标记为被静态特征占据或者未被占据(例如,表示空的空间)。因此,控制电路可以被配置为识别落在特定关键点的阈值距离内的被占据的体素,并将这些体素标记为要清洁(例如,将这些体素标记为已触摸)。在其他情况下,地图可以将环境特征表示为包括顶点、边和面的多边形网格。因此,控制电路可以被配置为识别由网格表示的落入特定关键点的阈值距离内的面、顶点和/或边,并标记这些面、顶点和/或边以供清洁。地图的其他布置也是可能的。
传感器数据可以包括在不同时间点表示行为者的多个传感器数据帧。因此,当行为者与环境的各种特征交互时,被确定为涉及行为者触摸环境特征的交互可以由控制电路来检测,并且通过更新地图来指示。因此,该地图可以存储被确定为在特定时间段期间已经被行为者触摸的环境的部分的表示。当行为者离开环境的相关部分时,机器人设备可以用于清洁(例如,净化、消毒、杀菌和/或以其他方式清理)被确定为已经被触摸的环境的部分。这种清洁可以包括清洁实际上已经被触摸的部分,以及看起来已经被触摸但实际上没有被触摸的部分。一旦机器人清洁了这些部分,可以再次更新地图以指示这些部分已经被清洁,因此是“未触摸的”。
在一些实现方式中,除了确定特定静态特征是否位于特定关键点的阈值距离内之外,控制电路还可以被配置为基于由多个关键点指示的行为者的姿势和/或由多个关键点的定位随时间的改变指示的行为者的运动模式,来检测和/或验证对特定静态特征的触摸。诸如前馈人工神经网络(FF-ANN)之类的机器学习模型可以被配置为确定多个关键点的特定布置指示行为者正与该特定静态特征接合和/或进行物理接触。例如,指示行为者面向桌子的多个关键点的布置可以指示与桌子的接合,而指示行为者正沿着桌子的边缘行走的多个关键点的另一布置可以指示缺乏与桌子的接合和/或物理接触。诸如循环神经网络(RNN)或长短期记忆(LSTM)神经网络之类的另一机器学习模型可以被配置为基于对应于不同时间点的多组关键点来做出与桌子的接合和/或物理接触的类似确定。
在一些情况下,用于识别已触摸特征的传感器数据可以附加地包括由环境中的一个或多个其他机器人和/或遍布环境安装的传感器(例如,安防相机)收集的传感器数据。通过源自环境中的多个机器人和/或安装的传感器的传感器数据,可以检测到更多的触摸点,和/或由于从附加的视角观察行为者,对触摸点的检测可以更准确。例如,由于传感器数据对行为者的更完整的表示,可以更准确地确定关键点。
在一些情况下,由于在捕捉传感器数据时机器人设备相对于行为者的定位,行为者上的特定关键点可能被遮挡。例如,机器人设备可能位于行为者后面,因此可能看不到位于行为者前面的行为者的手部。因此,控制电路可以被配置为基于其他可见关键点的定位来估计一个或多个被遮挡的关键点的定位。由于对应于被遮挡的主***置的关键点的估计定位可能不如该主***置未被遮挡时的关键点的估计定位准确,所以可以增加用于检测触摸表面的阈值距离。例如,阈值距离的范围可以从与特定关键点的高置信度估计定位(例如,当完全可见时)相关联的最小阈值距离到与特定关键点的低置信度估计定位(例如,当完全被遮挡时)相关联的最大阈值距离。附加地或可替换地,当特定关键点被遮挡时,一个或多个其他关键点可以用于检测已触摸的特征。例如,当手部被遮挡时,可以替代使用臂部(例如,肘部)上的关键点而基于这些关键点进入特定特征的不同(例如,更大)阈值距离内来确定是否触摸了特定特征。
上述用于识别和清洁已触摸表面的方法提供了若干优点。具体而言,机器人设备可以能够准确地识别和清洁环境中已经实际和/或很可能被触摸的部分,而不是不加区别地清洁环境中可能已经被潜在地触摸的所有部分。这使得机器人设备减少和/或最小化清洁产品的使用,并且减少和/或最小化总的清洁时间。此外,机器人设备可以能够减少和/或最小化表面被触摸和表面被清洁之间的时间。也就是说,不是周期性地进行一般清洁(例如,每天一次,每周一次等),而是当已经触摸表面的行为者移动到离表面足够远以允许机器人在环境的相关部分中安全操作时(并且在另一个行为者触摸该表面之前),机器人设备就能够清洁该表面。此外,由于机器人设备可能不需要遵守社交距离规则,因此机器人设备能够比人类更快地执行清洁,并且具有更少的空间限制。
II.示例机器人***
图1图示了可以结合在此描述的实现方式使用的机器人***的示例配置。机器人***100可以被配置为自主地、半自主地或者使用(多个)用户提供的指示来操作。机器人***100可以以各种形式实现,诸如机器人臂、工业机器人或一些其他布置。一些示例实现方式涉及机器人***100,该机器人***100被工程化为在规模上是低成本的,并且被设计成支持各种任务。机器人***100可以被设计成能够在人周围操作。机器人***100也可以针对机器学习进行优化。在整个说明书中,机器人***100也可以被称为机器人、机器人设备和/或移动机器人以及其他名称。
如图1所示,机器人***100可以包括(多个)处理器102、数据存储装置104和(多个)控制器108,它们一起可以是控制***118的一部分。机器人***100还可以包括(多个)传感器112、(多个)电源114、机械组件110和电气组件116。尽管如此,机器人***100是为了说明的目的而图示的,并且可以包括更多或更少的组件。机器人***100的各种组件可以以任何方式连接,包括通过有线或无线连接。此外,在一些示例中,机器人***100的组件可以分布在多个物理实体中,而不是单个物理实体中。机器人***100的其他示例图示也可以存在。
(多个)处理器102可以作为一个或多个通用硬件处理器或专用硬件处理器(例如,数字信号处理器、专用集成电路等)运行。(多个)处理器102可以被配置为执行计算机可读程序指令106和操纵数据107,这两者都存储在数据存储装置104中。(多个)处理器102还可以直接或间接地与机器人***100的其他组件交互,诸如(多个)传感器112、(多个)电源114、机械组件110或电气组件116。
数据存储装置104可以是一种或多种类型的硬件存储器。例如,数据存储装置104可以包括或采取可以由(多个)处理器102读取或访问的一个或多个计算机可读存储介质的形式。一个或多个计算机可读存储介质可以包括易失性和/或非易失性存储组件,诸如光、磁、有机或另一种类型的存储器或存储装置,它们可以整体或部分地与(多个)处理器102集成。在一些实现方式中,数据存储装置104可以是单个物理设备。在其他实现方式中,数据存储装置104可以使用两个或更多个物理设备来实现,这些物理设备可以经由有线或无线通信彼此通信。如前所述,数据存储装置104可以包括计算机可读程序指令106和数据107。数据107可以是任何类型的数据,诸如配置数据、传感器数据或诊断数据,以及其他可能性。
控制器108可以包括一个或多个电气电路、数字逻辑单元、计算机芯片或微处理器,其被配置为(可能还有其他任务)在机械组件110、(多个)传感器112、(多个)电源114、电气组件116、控制***118或机器人***100的用户的任何组合之间进行接口。在一些实现方式中,控制器108可以是专门构建的嵌入式设备,用于利用机器人***100的一个或多个子***执行具体操作。
控制***118可以监视并物理改变机器人***100的操作条件。这样,控制***118可以用作机器人***100的各部分之间的链接,诸如机械组件110或电气组件116之间的链接。在一些情况下,控制***118可以用作机器人***100和另一个计算设备之间的接口。此外,控制***118可以用作机器人***100和用户之间的接口。在一些情况下,控制***118可以包括用于与机器人***100通信的各种组件,包括操纵杆、按钮或端口等。上面提到的示例接口和通信可以通过有线或无线连接或者两者来实现。控制***118也可以为机器人***100执行其他操作。
在操作期间,控制***118可以经由有线和/或无线连接与机器人***100的其他***通信,并且还可以被配置为与机器人的一个或多个用户通信。作为一个可能的示例,控制***118可以接收输入(例如,来自用户或来自另一个机器人),该输入指示执行所请求的任务的指令,诸如从一个位置拾取对象并将其移动到另一个位置。基于该输入,控制***118可以执行操作以使机器人***100进行一系列移动来执行所请求的任务。作为另一个示例,控制***可以接收指示移动到请求位置的指令的输入。作为响应,控制***118(可能在其他组件或***的帮助下)可以确定移动机器人***100通过环境到达所请求位置的方向和速度。
控制***118的操作可以由(多个)处理器102执行。可替换地,这些操作可以由(多个)控制器108或者(多个)处理器102和(多个)控制器108的组合来执行。在一些实现方式中,控制***118可以部分或全部位于机器人***100之外的设备上,因此可以至少部分地远程控制机器人***100。
机械组件110表示机器人***100的硬件,其可以使机器人***100能够执行物理操作。作为几个示例,机器人***100可以包括一个或多个物理构件,例如臂、末端执行器、头部、颈部、躯干、基座和轮子。机器人***100的物理构件或其他部分还可以包括被布置成相对于彼此移动物理构件的致动器。机器人***100还可以包括用于容纳控制***118或其他组件的一个或多个结构化主体,并且还可以包括其他类型的机械组件。给定机器人中使用的特定机械组件110可以基于机器人的设计而变化,也可以基于机器人可以被配置来执行的操作或任务而变化。
在一些示例中,机械组件110可以包括一个或多个可移除组件。机器人***100可以被配置为添加或移除这样的可移除组件,这可能涉及来自用户或另一个机器人的帮助。例如,机器人***100可以配置有可移除的末端执行器或指(digit),其可以根据需要或期望被替换或改变。在一些实现方式中,机器人***100可以包括一个或多个可移除或可替换的电池单元、控制***、电源***、缓冲器或传感器。在一些实现方式中,可以包括其他类型的可移除组件。
机器人***100可以包括被布置成感测机器人***100的各方面的(多个)传感器112。传感器112可以包括一个或多个力传感器、扭矩传感器、速度传感器、加速度传感器、定位传感器、接近传感器、运动传感器、位置传感器、负载传感器、温度传感器、触摸传感器、深度传感器、超声波范围传感器、红外传感器、对象传感器,或相机,以及其他可能性。在一些示例中,机器人***100可以被配置为从物理上与机器人分离的传感器(例如,位于其他机器人上或者位于机器人操作的环境内的传感器)接收传感器数据。
(多个)传感器112可以向(多个)处理器102提供传感器数据(可能通过数据107),以允许机器人***100与其环境交互,以及监视机器人***100的操作。传感器数据可以用于控制***118对机械组件110和电气组件116的启动、移动和停用的各种因素的评估。例如,(多个)传感器112可以捕捉对应于环境的地形或附近对象的位置的数据,这可以有助于环境识别和导航。
在一些示例中,(多个)传感器112可以包括RADAR(例如,用于长距离对象检测、距离确定或速度确定)、LIDAR(例如,用于短距离对象检测、距离确定或速度确定)、SONAR(例如,用于水下对象检测、距离确定或速度确定)、(例如,用于运动捕捉)、一个或多个相机(例如,用于3D视觉的立体相机)、全球定位***(GPS)收发器,或用于捕捉机器人***100正在操作的环境的信息的其他传感器。(多个)传感器112可实时监视环境,并检测障碍物、地形要素、天气条件、温度或环境的其他方面。在另一个示例中,(多个)传感器112可以捕获对应于目标或识别的对象的一个或多个特征的数据,例如对象的大小、形状、轮廓、结构或方向。
此外,机器人***100可以包括被配置为接收指示机器人***100的状态的信息的(多个)传感器112,包括可以监视机器人***100的各种组件的状态的(多个)传感器112。(多个)传感器112可以测量机器人***100的***的活动,并接收基于机器人***100的各种特征的操作的信息,诸如机器人***100的可延伸臂、末端执行器或其他机械或电气特征的操作。由(多个)传感器112提供的数据可以使控制***118能够确定操作中的错误,以及监视机器人***100的组件的整体操作。
作为示例,机器人***100可以使用力/扭矩传感器来测量机器人***100的各种组件上的负载。在一些实现方式中,机器人***100可以在臂或末端执行器上包括一个或多个力/扭矩传感器,以测量移动臂或末端执行器的一个或多个构件的致动器上的负载。在一些示例中,机器人***100可以在腕部或末端执行器处或附近包括力/扭矩传感器,但是不在机器人臂的其他关节处或附近。在进一步的示例中,机器人***100可以使用一个或多个定位传感器来感测机器人***的致动器的定位。例如,这种定位传感器可以感测臂或末端执行器上的致动器的伸出、缩回、定位或旋转状态。
作为另一个示例,(多个)传感器112可以包括一个或多个速度或加速度传感器。例如,(多个)传感器112可以包括惯性测量单元(IMU)。IMU可以感测世界坐标系中相对于重力矢量的速度和加速度。然后,基于机器人***100中IMU的位置和机器人***100的运动学,由IMU感测的速度和加速度可以被转换成机器人***100的速度和加速度。
机器人***100可以包括在此没有明确讨论的其他类型的传感器。附加地或替代地,机器人***可以使用特定的传感器用于在此没有列举的目的。
机器人***100还可以包括被配置为向机器人***100的各种组件供电的一个或多个电源114。在其他可能的动力***中,机器人***100可以包括液压***、电气***、电池或其他类型的动力***。作为示例说明,机器人***100可以包括被配置为向机器人***100的组件提供电荷的一个或多个电池。一些机械组件110或电气组件116可以各自连接到不同的电源,可以由相同的电源供电,或者由多个电源供电。
任何类型的电源都可以用于给机器人***100供电,诸如电力或汽油发动机。附加地或替代地,机器人***100可以包括液压***,该液压***被配置为使用流体动力向机械组件110提供动力。例如,机器人***100的组件可以基于通过液压***传输到各种液压马达和液压缸的液压流体进行操作。液压***可以通过管道、柔性软管或机器人***100的组件之间的其他链接以加压液压流体的方式传递液压动力。(多个)电源114可以使用各种类型的充电来充电,诸如到外部电源的有线连接、无线充电、燃烧或其他示例。
电气组件116可以包括能够处理、传输或提供电荷或电信号的各种机构。在可能的示例中,电气组件116可以包括电线、电路或无线通信发射器和接收器,以实现机器人***100的操作。电气组件116可以与机械组件110交互工作,以使机器人***100能够执行各种操作。例如,电气组件116可以被配置为从(多个)电源114向各种机械组件110提供电力。此外,机器人***100可以包括电动机。也可以存在电组件116的其他示例。
机器人***100可以包括主体,该主体可以连接到或容纳机器人***的附件和组件。这样,主体的结构可以在示例中变化,并且可以进一步取决于给定机器人可能已经被设计来执行的特定操作。例如,被开发来搬运重负载的机器人可能具有宽的主体,从而能够放置负载。类似地,被设计用于在密闭空间操作的机器人可能具有相对较高、较窄的主体。此外,主体或其他组件可以使用各种类型的材料开发,诸如金属或塑料。在其他示例中,机器人可以具有不同结构或由各种类型的材料制成的主体。
主体或其他组件可以包括或携带(多个)传感器112。这些传感器可以位于机器人***100上的各种位置,诸如主体、头部、颈部、基座、躯干、臂或末端执行器等。
机器人***100可以被配置为承载负载,诸如要运输的一类货物。在一些示例中,机器人***100可以将负载放置在附接到机器人***100的箱柜或其他容器中。负载还可以表示机器人***100可以利用的外部电池或其他类型的电源(例如,太阳能电池板)。承载负载表示机器人***100可以被配置的一个示例用途,但是机器人***100也可以被配置为执行其他操作。
如上所述,机器人***100可以包括各种类型的附件、轮子、末端执行器、抓取设备等等。在一些示例中,机器人***100可以包括具有轮子、踏板或一些其他移动能力形式的移动基座。此外,机器人***100可以包括机器人臂或一些其他形式的机器人操纵器。在移动基座的情况下,基座可以被认为是机械组件110中的一个,并且可以包括由一个或多个致动器驱动的轮子,除了主体的其余部分之外,所述一个或多个致动器还允许机器人臂的移动。
图2图示了根据示例实施例的移动机器人。图3图示了根据示例实施例的移动机器人的分解图。更具体地,机器人200可以包括移动基座202、中间部分204、臂206、臂端***(EOAS)208、桅杆(mast)210、感知外壳212和感知套件214。机器人200还可以包括存储在移动基座202内计算盒216。
移动基座202包括位于机器人200前端的两个驱动轮,以便为机器人200提供移动能力。移动基座202还包括附加的脚轮(未示出),以便于移动基座202在地面上的运动。移动基座202可以具有模块化架构,该架构允许容易地移除计算盒216。计算盒216可以用作机器人200的可移除控制***(而不是机械集成的控制***)。在移除外部的壳体之后,计算盒216可以被容易地移除和/或替换。移动基座202也可以被设计成允许附加的模块化。例如,移动基座202也可以被设计成使得电力***、电池和/或外部缓冲器都可以被容易地移除和/或替换。
中间部分204可以在移动基座202的前端附接到移动基座202。中间部分204包括固定到移动底座202的安装柱。中间部分204还包括用于臂206的旋转关节。更具体地,中间部分204包括臂206的前两个自由度(肩部偏转J0关节和肩部俯仰J1关节)。安装柱和肩部偏转J0关节可以形成移动基座202前面的堆叠塔的一部分。安装柱和肩部偏转J0关节可以是同轴的。可以选择中间部分204的安装柱的长度以便为臂206提供足够的高度,以在通常遇到的高度水平(例如,咖啡桌顶部和/或柜台顶部水平)执行操纵任务。中间部分204的安装柱的长度也可以允许肩部俯仰J1关节在不接触移动基座202的情况下在移动基座202上旋转臂206。
当连接到中间部分204时,臂206可以是7自由度(DOF)机器人臂。如上所述,可以在中间部分204中包括臂206的前两个自由度。如图2和3所图示,可以在臂206的独立部分中包括剩余的五个自由度。臂206可以由塑料整体连杆结构制成。臂206内部可以容纳独立的致动器模块、本地电机驱动器和通孔电缆。
EOAS 208可以是臂206末端的末端执行器。EOAS 208可以允许机器人200操纵环境中的对象。如图2和3所示,EOAS 208可以是抓取器,诸如欠致动捏合抓取器。抓取器可以包括一个或多个接触传感器,诸如力/扭矩传感器,和/或非接触传感器,诸如一个或多个相机,以便于对象检测和抓取器控制。EOAS 208也可以是不同类型的抓取器,诸如吸力抓取器,或者不同类型的工具,诸如钻头或刷子。EOAS 208也可以是可交换的,或者包括可交换的组件,诸如抓取器指。
桅杆210可以是臂206的肩部偏转J0关节和感知外壳212之间的相对长、窄的组件。桅杆210可以是移动基座202前面的堆叠塔的一部分。桅杆210可以相对于移动基座202固定。桅杆210可以与中央部分204同轴。桅杆210的长度可以便于感知套件214感知由EOAS208操纵的对象。桅杆210可以具有这样的长度,该长度使得当肩部俯仰J1关节垂直向上旋转时,臂206的肱二头肌(bicep)的最高点近似与桅杆210的顶部对齐。桅杆210的长度可以足以防止当肩部俯仰J1关节垂直向上旋转时感知外壳212和臂206之间的碰撞。
如图2和3所示,桅杆210可以包括被配置为收集关于环境的深度信息的3D激光雷达传感器。3D激光雷达传感器可以耦合到桅杆210的切开部分,并以向下的角度固定。可以针对定位、导航和前悬崖检测来优化激光雷达位置。
感知外壳212可以包括组成感知套件214的至少一个传感器。感知外壳212可以连接到平移/倾斜控制器,以允许感知外壳212的重新定向(例如,以查看由EOAS 208操纵的对象)。感知外壳212可以是固定到移动基座202的堆叠塔的一部分。感知外壳212的后部可以与桅杆210同轴。
感知套件214可以包括被配置为收集表示机器人200的环境的传感器数据的传感器套件。感知套件214可以包括红外(IR)辅助的立体深度传感器。感知套件214可以附加地包括用于人机交互和上下文信息的广角红绿蓝(RGB)相机。感知套件214可以附加地包括用于对象分类的高分辨率RGB相机。还可以包括围绕感知套件214的面部光环,用于改善人机交互和场景照明。在一些示例中,感知套件214还可以包括被配置为将图像和/或视频投影到环境中的投影仪。
图4图示了根据示例实施例的机器人臂。机器人臂包括7个自由度:肩部偏转J0关节、肩部俯仰J1关节、肱二头肌翻转J2关节、肘部俯仰J3关节,前臂翻转J4关节、腕部俯仰J5关节和腕部翻转J6关节。每个关节可以耦合到一个或多个致动器。耦合到关节的致动器可以是可操作的以使连杆沿着运动链(以及附接到机器人臂的任何末端执行器)运动。
肩部偏转J0关节允许机器人臂向机器人的前方和后方旋转。这种运动的一个有益用途是允许机器人拾取机器人前面的对象,并快速将该对象放置在机器人的后部(以及相反的运动)。这种运动的另一个有益用途是将机器人臂从机器人后面的收起的配置快速移动到机器人前面的活动位置(以及相反的运动)。
肩部俯仰J1关节允许机器人提升机器人臂(例如,使得肱二头肌达到机器人的感知套件水平)和降低机器人臂(例如,使得肱二头肌刚好在移动基座上方)。该运动有利于允许机器人在环境中的不同目标高度水平有效地执行操纵操作(例如,顶部抓握和侧部抓握)。例如,肩部俯仰J1关节可以旋转到垂直向上的位置,以允许机器人容易地操纵环境中桌子上的对象。肩部俯仰J1关节可以旋转到垂直向下的位置,以允许机器人容易地操纵环境中地面上的对象。
肱二头肌翻转J2关节允许机器人旋转肱二头肌,以相对于肱二头肌移动肘部和前臂。这种运动特别有利于便于机器人的感知套件清晰地观察EOAS。通过旋转肱二头肌翻转J2关节,机器人可以撑出肘部和前臂,以改善对在机器人抓取器中握持的对象的视线。
沿着运动链向下的移动,提供了交替的俯仰和翻转关节(肩部俯仰J1关节、肱二头肌翻转J2关节、肘部俯仰J3关节、前臂翻转J4关节、腕部俯仰J5关节和腕部翻转J6关节)来提高机器人臂的可操纵性。腕部俯仰J5关节、腕部翻转J6关节和前臂翻转J4关节的轴相交,以减少重新定向对象的臂运动。提供腕部翻转J6关节来代替腕部中的两个俯仰关节,以便改善对象的旋转。
III.示例触摸部分检测过程
图5A、5B、5C和5D图示了用于检测环境特征的被触摸部分、跟踪被触摸部分以及清洁被触摸部分的示例过程。具体而言,图5A图示了机器人200通过感知套件214中的一个或多个传感器获得传感器数据,传感器数据表示由行为者500、桌子502和杯子504占据的环境区域,如视野524所指示。行为者500的右手被示为从姿势526(用虚线表示)移动到姿势528,以便例如伸出手并抓握杯子504。
当伸出手和/或抓握杯子504时,行为者500的一个或多个主体部位可以与桌子502的区域进行物理接触。可替换地或附加地,行为者500可以出于除了从桌子502拾取对象之外的原因与桌子502交互,诸如通过倚靠在桌子502上以获得支撑,并且因此可以与桌子502进行物理接触。在一些情况下,行为者500和桌子502之间的这种接触可能会使得可能从行为者500的部位(例如,右手)转移到桌子502的细菌、病毒、汗液和/或其他不想要的物质沾污、弄脏和/或以其他方式污染桌子502。不是使机器人200不加区别地清洁整个桌子502和/或环境的其他特征,而是可以替代地将机器人200配置为识别和清洁其已经被行为者500触摸和/或看起来已经被行为者500触摸的特定部分。
为此,机器人200的控制***(例如,控制***118或类似组件)可以被配置为处理传感器数据(例如,由视野524表示的)以在其中识别表示行为者500的主体的对应主***置的多个关键点。当行为者500是人类时,多个关键点可表示人体上的预定位置,如图5B所示。这些预定主***置可以包括头部关键点506、颈部关键点508、肩部关键点510A和510B、肘部关键点512A和512B、手部关键点514A和514B、骨盆关键点516、臀部关键点518A和518B、膝关键点520A和520B以及脚部关键点522A和522B(即,关键点506-522B)。因此,至少关键点506-522B的子集可以包括人体的关节。关键点506-522B可以提供行为者500的姿势的准确表示,并且可以用比诸如行为者500的多边形网格之类的某些其他表示更少的计算量来生成和处理。
在一些实现方式中,可以省略关键点506-522B中的一些和/或可以添加其他关键点。例如,可以省略骨盆关键点516。在另一示例中,手部关键点514A和514B中的每一个可以被进一步细分成表示每只手的手指的五个或更多个关键点,以及其他可能性。关键点506-522B被示为互连以形成虚拟人体骨架。此外,关键点510B、512B和514B用与其他关键点不同的图案来绘制(并用虚线互连)以指示当机器人200从图5A和5B所示的视角观看行为者500时,关键点510B、512B和514B不可见(即,被隐藏)。
可替换地,在一些实现方式中,多个关键点可以表示机器人主体上的预定位置,或者也能够与环境中的特征进行交互的、除了人类之外的物种的行为者(例如,狗或猫)的主体上的预定位置。因此,关键点的数量和定位可以根据行为者的类型而变化。此外,关键点506-522B可替换地被称为节点。一般而言,多个关键点可以是控制***被配置为试图在捕捉的传感器数据中找到或识别的预定主***置。
控制***可以被配置为基于(i)关键点506-522B中的一个或多个关键点与(ii)特定特征的一部分之间的相对定位来确定该特定特征的该部分已被触摸。具体而言,控制***可以维护在其中至少表示环境的静态特征(诸如桌子502)的环境地图。静态特征可以包括景观特征、建筑物固定装置、家具、地面/地板和其他物理特征。静态特征可以是固定的和/或可重新定位的,但是通常可以预期在预定时间段内保持在环境中的恒定定位。在一些实现方式中,静态特征可以包括除了环境中存在的任何行为者之外的环境的任何物理特征。
可以基于机器人200在环境中移动时收集的传感器数据来生成和/或更新环境地图。例如,除了用于检测行为者500之外,由视野524表示的传感器数据可以用于生成和/或更新地图。附加地或替代地,可以基于由其他传感器生成的附加传感器数据来生成和/或更新地图。例如,其他传感器可以位于在环境中操作的其他机器人上,和/或可以分布在遍布环境中的预定位置。因此,在一些情况下,地图可以由在环境中操作的多个机器人共享。在另一个示例中,机器人200初始时可以基于预定的环境地图进行操作。由于传感器数据是由各种传感器随时间生成的,所以预定的地图可以基于传感器数据进行更新。
基于地图和多个关键点,控制***可以被配置为识别已经进入一个或多个特定关键点的阈值距离内的环境的一个或多个特征的一个或多个部分。具体而言,关键点506-522B中的一个或多个特定关键点(例如,手部关键点514A和514B)的相应定位可从传感器的参考系(被用于生成传感器数据,已基于所述传感器数据识别了关键点506-522B)变换到表示静态特征的环境的地图的参考系。因此,可以将一个或多个特定关键点表示为环境地图的一部分,并且可以直接比较一个或多个特定关键点与环境特征之间的距离。
图5C图示了确定环境特征是否在特定关键点的相应阈值距离内并因此被认为已被触摸的部分。具体而言,图5C图示了以右手关键点514A为中心的球体530。球体530的半径532可以定义相对于右手关键点514A的阈值距离。落入球体530的体积内的静态特征的任何部分可以被视为已经被行为者500触摸。
如图5C所示,桌子502的一部分与球体530的体积相交。因此,图5D图示了工作台502的部分534已经被指定由机器人200进行清洁。部分534在至少一个维度上是圆形的,因为它表示桌子502的桌面与球体530的体积的几何相交。具体地,可以更新地图以指示部分534将被机器人200清洁。例如,可以更新与地图中的部分534相关联的一个或多个变量的值(例如,清洁/脏标志、已触摸/未触摸标志等)以指示部分534将被清洁。在一些情况下,可以使用一个或多个附加模型和/或算法来确定行为者500是否想要与桌子502交互,或者球体530和桌子502之间的相交是否是行为者500在桌子附近经过而没有与桌子502和/或其上的对象接合的结果。这种附加的模型和/或算法在图6中图示并参考图6更详细地讨论。
在一个示例中,地图可以通过多个体素来表示环境。可以将每个体素标记为被静态特征占据或者未被占据(例如,表示空的空间)。每个体素还可以与相应的变量相关联,该变量的值可以指示环境的对应部分的清洁度。在一些情况下,变量可以是二元值,并且因此可以指示环境的对应部分是清洁的还是脏的,和/或已被触摸还是未被触摸过。在其他情况下,变量可以采用两个以上的值,因此可以被配置为指示各种清洁度状态。
当被占据的体素的至少一部分落在特定关键点的阈值距离内(例如,与球体530相交)时,可以将该被占据的体素标记为将被清洁。当确定与球体530相交时,可以忽略空的体素,以减少所涉及的计算量。在“清洁度”变量可以取多于两个值的情况下,变量的值可以基于体素和球体之间的相交程度。例如,完全位于阈值距离内的体素可以被标记为“非常脏”,部分位于阈值距离内的体素可以被标记为“中等脏”,而完全位于阈值距离外的体素可以被标记为“清洁”
在其他示例中,地图可以通过包括顶点、边和面的多边形网格来表示环境。因此,例如,环境特征可以被表示为多边形面的组合,而不是体素。可以基于位于阈值距离内的一个或多个顶点、边和/或面来标记多边形网格的一部分以进行清洁。地图的其他布置也是可能的。
在一些情况下,环境的地图可以将地图所表示的每个相应静态特征与相应特征的触摸频率的指示相关联。例如,桌子502的桌面可以被分类为高触摸特征,如其阴影图案所示,而桌子502的腿可以被分类为低触摸特征,如其缺乏图案所示。其他分类和/或值,例如中等触摸,也是可能的。在一些实现方式中,可以通过关联地图的每个元素(例如,体素、多边形面等)和对应的触摸频率值来表示特征的触摸频率。每个静态特征的分类可以预先定义(例如,由程序员),由机器学习算法确定,和/或基于机器人200凭经验观察的触摸频率确定。
因此,在一些情况下,控制***可以被配置为识别与球体530相交的高触摸特征,但是可能不识别落入球体530内的低触摸特征。在其他情况下,控制***可以相对于低触摸特征优先识别和/或清洁高触摸特征。因此,可以减少由控制***执行的计算量和由机器人200执行的清洁量,而不会显著降低环境的清洁度。然而,在进一步的情况下,高触摸特征和低触摸特征可以被控制***同等对待。
关键点506-522B中的其他关键点可与相应的阈值相关联。因此,附加的球体可以以这些其他关键点为中心。例如,球体530的另一实例可以以左手关键点514B为中心。在一些情况下,附加关键点可以用于表示与行为者500的每只手相关联的手指,并且这些附加关键点中的每一个可与指示对应阈值距离的对应球体相关联。在一些情况下,由于不同的大小比例,与行为者500的手指相关联的阈值距离可以不同于(例如,小于)与行为者500的手部相关联的阈值距离。类似地,在相对于其他主体部位(例如,脚部、肘部等)的关键点提供了另一相应阈值距离的情况下,该另一相应的阈值距离可以不同于针对手部和/或手指使用的阈值距离。
在一些实现方式中,与特定关键点相关联的阈值距离的值可以基于与特定关键点的识别/确定相关联的置信度值。例如,与在传感器数据中显式表示(例如,可见)和/或以相对高的细节水平(例如,分辨率)表示的主***置对应的关键点可以与相对高的置信度值相关联。另一方面,与未在传感器数据中表示和/或被表示为相对较低细节水平的另一主***置对应的关键点可与相对低的置信度水平相关联。
因此,当特定关键点以相对高的置信度被识别时(例如,当可见时),该特定关键点的阈值距离可采用第一值,并且当该特定关键点以相对低的置信度被识别时(例如,当隐藏时),可采用第二较小值。阈值距离值可以在从(i)对应于最低可允许置信度值的最大阈值到(ii)对应于最大置信度值(即100%)的最小阈值的范围变化。在一些情况下,最大和最小阈值可以是预定义的。因此,考虑到较低置信度的关键点识别,可以增加由阈值距离定义的球体的大小,从而使得环境的较大部分被认为是“已被触摸的”,并且更多的表面区域被清洁。类似地,考虑到更高置信度的关键点识别,可以减小由阈值距离定义的球体的大小,从而使得环境中的较小部分被认为是“已被触摸的”以及更少的表面区域被清洁。
当行为者500与环境交互时,也可以确定行为者500已经触摸了环境内的其他静态特征的其他部分。例如,基于在不同时间点捕捉的附加传感器数据(未示出),可以使用上述过程来确定行为者500已经触摸了桌子502的部分536,如图5D所示。因此,可以进一步更新地图以指示部分536也要被清洁。因此,该地图可以用于表示环境以及跟踪已经(可能和/或事实上)被触摸并且因此被指定由机器人200清洁的环境特征的部分。
一旦行为者500撤离桌子502周围的区域,并因此为机器人200提供足够的空间来在桌子502周围移动,机器人200就可以用于清洁桌子502的部分534和536。为此,机器人200可以包括末端执行器538,末端执行器538被配置为允许清洁环境的部分。虽然末端执行器538被示为海绵,但是末端执行器可以附加地或替代地包括一个或多个刷子、喷雾器(允许施加清洁剂)、照明器、真空吸尘器、拖把、清扫器、擦拭器和/或其他清洁工具。在一些情况下,机器人200可以配备有多个不同的末端执行器,并且可以被配置为基于例如将被清洁表面的类型/分类、待执行的清洁程度和/或所允许的清洁时间量以及其他考虑因素,从多个不同的末端执行器中选择特定的末端执行器。
在一些实现方式中,环境地图可以指示环境部分的不清洁度程度和/或环境部分要被清洁的程度。因此,更新地图以指示特定静态特征的特定部分将被清洁可以涉及更新地图以指示静态特征的部分的不清洁度程度和/或静态特征的部分将被清洁的程度。
在一个示例中,可以基于部分534和关键点514A之间的距离来更新地图以指示部分534的不清洁度程度。随着关键点514A越靠近部分534和/或其子区域,部分534和/或其子区域的不清洁度程度会增加。在另一示例中,可基于部分534在被清洁之前已位于关键点506-522B中的一个或多个特定关键点的相应阈值距离内的次数来更新地图以指示部分534的不清洁度程度。也就是说,部分534的不清洁度程度可以基于部分534被确定已经被触摸的次数,随着部分534被确定已经被触摸的次数增加,不清洁度程度增加。
可以更新该地图以跟踪不清洁度的程度。例如,由该地图表示的每个部分和/或其子区域可以与“清洁度”变量相关联,该变量的范围可以是例如从0(清洁)到100(非常脏),以及其他可能性。机器人200对部分534的清洁程度可以基于部分534的不清洁度程度,清洁程度随着不清洁度程度的增加而增加。
一旦机器人200完成部分534和536的清洁,可以更新地图的对应部分以指示部分534和536已经被清洁。在一些情况下,可以存储部分534和536被触摸的相应时间以及部分534和536被清洁的相应时间并将其用于监视与环境的各种特征相关联的触摸频率和/或清洁频率。例如,可以更新用于跟踪这些表面的触摸频率的第二地图,以将与桌子502相关联的触摸计数和清洁计数增加2和/或与部分534和536中的每一个相关联的触摸计数和清洁计数增加1。因此,可以确定环境的各种特征(或其部分)的相对触摸频率并将其用于例如确定环境的哪些特征被认为是高触摸,哪些被认为是低触摸。
除了清洁部分534和536之外或者作为清洁部分534和536的替代,机器人200和/或与其相关联的计算设备可以被配置为提供由机器人200收集的和/或包含在地图中的信息(例如,触摸次数、清洁次数、触摸程度等)的一个或多个视觉表示。在一个示例中,机器人200可以配备有投影仪,该投影仪被配置为将视觉表示投影到环境上。因此,机器人200可以使用投影仪将地图各方面的视觉表示投影到环境上。具体而言,地图的视觉表示的不同部分可以与环境特征的对应部分在空间上对齐。因此,给定的信息单元可以在视觉上覆盖在给定的信息单元描述和/或量化的环境的部分上。
例如,视觉表示的第一部分可以在空间上与桌子502的部分534对齐,以在视觉上指示部分534将被清洁,并且视觉表示的第二部分可以在空间上与桌子502的部分536对齐,以在视觉上指示部分536将被清洁。可以将视觉表示的第一和第二部分的形状和/或大小选择为匹配部分534和536的物理形状和/或大小。机器人200可以被配置为基于投影仪和被其照射的环境特征的部分的相对定位来确定梯形校正(keystone correction)并将其应用于视觉表示。地图的各方面的视觉表示到环境上的这种投影可以允许存在于环境中的行为者看到覆盖在环境上的地图的各方面。因此,在一些情况下,视觉投影可以由机器人200基于和/或响应于检测到环境中一个或多个行为者的存在而提供。
在另一示例中,机器人200和/或与其相关联的计算设备可以被配置为生成表示由机器人200收集的和/或包含在地图中的信息的图像。该图像可以从特定视角表示环境,并且可以包括覆盖在环境上的地图的空间对应方面。在一些实现方式中,由机器人200捕获的传感器数据可以包括表示环境的第一图像。可以通过将地图的各方面投影到第一图像的图像空间上来生成第二图像。例如,可以将部分534和部分536的视觉表示投影到第一图像的图像空间上,以在第二图像内指示部分534和部分536将被清洁。
可以通过将表示地图相关方面的第二图像的至少一部分***到第一图像中来生成第三图像。因此,例如,可以通过至少将表示部分534和536的第二图像的区域***到第一图像中来生成第三图像,以指示桌子502的部分534和536将被清洁。可以显示第三图像,从而允许可视地呈现地图的各方面。例如,第三图像可以包含指示环境部分的不清洁度程度的热图、环境部分的触摸历史和/或环境部分的清洁历史,以及其他可能性。因此,行为者可以使用第三图像来帮助清洁环境。
IV.示例触摸部分检测***
图6图示了***600,该***可以被配置为识别/确定被视为已被行为者触摸的环境的部分。具体而言,***600包括关键点提取模型606、关键点接近度计算器616和特征接合模型624。模型606、计算器616和模型624中的每一个都可以使用硬件组件(例如,专用电路)、软件指令(例如,被配置为在通用电路上执行)和/或其组合来实现。在一些实现方式中,***600可以形成控制***118的子集。
关键点提取模型606可以被配置为至少基于传感器数据602来识别关键点608,关键点608可以包括关键点610和关键点612至614(即,关键点610-614)。关键点610-614中的每一个可与对应的定位(例如,在传感器数据的参考系中)相关联,并且在一些情况下,可与指示对应定位的准确度的置信度值相关联。传感器数据602可通过机器人200上的一个或多个传感器来获得(例如,如图5A中的视野524所指示的),并且关键点608可对应于图5B和5C中所示的关键点505-522B。
在一些实现方式中,关键点提取模型606可以附加地被配置为基于附加传感器数据604来确定关键点608,该附加传感器数据604可从在该环境内操作的其他机器人设备上的传感器和/或位于遍布在环境中的固定位置的传感器接收。附加传感器数据604可从不同于传感器数据602的视角来表示行为者,并因此可提供关于关键点608的定位的附加信息。关键点提取模型606可以包括基于规则的算法和/或机器学习算法/模型。例如,关键点提取模型606可以包括基于用对应关键点标记的多个训练传感器数据来训练的前馈人工神经网络,以识别关键点608。
关键点接近度计算器616可以被配置为基于环境地图630和一个或多个关键点608来识别候选已触摸部分618。在一些情况下,关键点接近度计算器616可识别多个候选已触摸部分(例如,候选已触摸部分618的多个实例),但为了说明清楚起见,仅示出单个候选已触摸部分618。候选已触摸部分618的触摸坐标622可表示由环境地图630表示的、并且落在关键点620的相应阈值距离内的静态特征的部分。因此,触摸坐标622可以定义环境地图630内被确定为已经被触摸的区域和/或体积。关键点620可表示关键点608中的特定一个(例如,关键点612),并且可与通常用于交互和/或触摸表面的主***置(例如,手指、手部、臂等)相关联。
由于关键点610-614中的一些可以与可能不常用来触摸环境特征和/或与环境特征交互的主***置相关联,因此关键点接近度计算器616在一些情况下可以在识别候选已触摸部分618时忽略这些关键点。然而,在其他情况下,关键点接近度计算器616可以被配置为在识别候选已触摸部分618时考虑关键点610-614中的每一个。关键点接近度计算器616可以被配置为取决于相应关键点所表示的主***置和/或与相应关键点的估计定位相关联的置信度值,来将对应的阈值距离应用于关键点610-614中的每个相应关键点。
关键点接近度计算器616可以被配置为将一个或多个关键点608(例如,关键点612)的相应定位从传感器数据的参考系变换到环境地图630的参考系。此外,关键点接近度计算器616可以被配置为识别由环境地图630表示的静态特征和与关键点608中的一个或多个相关联的相应阈值距离“球体”之间的相交。因此,候选已触摸部分618可以指示环境中很可能已经被行为者触摸、并且因此是机器人200清洁的候选的区域。
在一些实现方式中,可以从***600中省略特征接合模型624。因此,候选已触摸部分618可以构成环境地图更新626,因为触摸坐标622可以识别环境地图630中要被清洁的区域。在其他实现方式中,特征接合模型624可以被配置为执行进一步的处理来确认和/或验证候选已触摸部分618的准确性。具体而言,特征接合模型624可以被配置为确定关键点608是否指示行为者与候选已触摸部分618所关联的环境特征接合或脱离接合,从而用作对关键点接近度计算器616的输出的确认/验证。
在一个示例中,特征接合模型624可以被配置为确定(i)由关键点608表示的行为者和(ii)候选已触摸部分618和/或环境的底层特征之间的接合的程度。例如,可以训练特征接合模型624来确定行为者是否与候选已触摸部分618接合、是否相对于候选已触摸部分618保持中立,或是否与候选已触摸部分618脱离接合。关键点608相对于彼此以及相对于候选已触摸部分618的相对定位可以提供指示接合的程度的线索。通过例如受监督的训练过程,特征接合模型624可以被配置为基于这些线索来确定接合的程度。因此,特征接合模型624可以包括一个或多个被训练来确定行为者和部分618之间的接合的程度的机器学习模型。
在另一示例中,特征接合模型624可以被配置为进一步基于行为者随时间的运动模式来确定接合的程度。例如,特征接合模型624可以被配置为考虑与最新近的传感器数据相关联的关键点608,以及从在一个或多个较早时间接收的传感器数据中提取的关键点,以便确定接合的程度。具体而言,行为者随时间的运动模式可以提供指示行为者与候选已触摸部分618的接合程度的附加线索。因此,特征接合模型624可以包括一个或多个基于时间的机器学习模型,诸如循环神经网络或长短期记忆(LSTM)神经网络,被训练成基于关键点的时间序列来确定接合的程度。
当特征接合模型624确定行为者与部分618和/或环境的底层特征接合时(例如,当由特征接合模型624确定的接合程度超过阈值接合值时),候选已触摸部分618可以用于生成环境地图更新626。也就是说,环境地图更新626可以指示触摸坐标622将被机器人200清洁。特征接合模型624因此可以发信号通知候选已触摸部分618是由行为者与候选已触摸部分618交互产生的真正类。
当特征接合模型624确定行为者没有与部分618和/或环境的底层特征接合时(例如,当由特征接合模型624确定的接合程度没有超过阈值接合值时),可以丢弃候选已触摸部分618。也就是说,可以不基于候选已触摸部分618来生成环境地图更新626。特征接合模型624因此可以发信号通知候选已触摸部分618是由于行为者的主***置进入该特征的对应阈值距离内、但行为者实际上没有与候选已触摸部分618交互而导致的假正类。
特征接合模型624因此可以帮助区分(i)行为者的主体部位位于足够靠近特征以导致生成候选已触摸部分618但实际上没有与该特征交互的情况,和(ii)行为者使主体部位位于靠近和/或接触该特征、作为与该特征的物理交互的一部分的情况。因此,特征接合模型624可以区分例如(i)图5A的行为者500走近桌子502但没有与之交互,以及(ii)行为者500从桌子502上拿起杯子504或以其他方式与桌子502交互。
附加地,通过结合特征接合模型624使用关键点接近度计算器616,可以减少和/或最小化与***600相关联的计算成本和/或由机器人200执行的清洁量。具体而言,通过相对于候选已触摸部分618而不是相对于环境中存在的任何静态特征执行特征接合模型624,可以减少和/或最小化特征接合模型624执行的处理量。由于不进入关键点608中的一个或多个关键点的相应阈值距离的特征不太可能已被行为者触摸,所以行为者和这些特征之间的接合程度可以与清洁环境的目的无关。因此,省略对不在行为者附近的特征的接合程度的确定可以使得更少地执行特征接合模型624。类似地,通过使用特征接合模型624来识别假正类的候选已触摸部分,机器人200可以专注于清洁环境中行为者很可能接合的部分,并且避免清洁环境中行为者很可能没有接合的部分。
在一些实现方式中,机器人200可以不用于监视和/或清洁环境。例如,用于检测触摸表面的传感器数据可以从位于环境内固定位置的传感器接收,并且清洁可以由人类行为者执行。具体而言,人类行为者可使用地图及其将被清洁部分的可视化来执行更有针对性的清洁过程。这种方法可以用于例如机器人设备可能无法适配和/或操作的环境中,诸如在车辆内部。具体地,该***可以用于跟踪车辆乘客触摸的表面,并且该地图可由车辆的驾驶员和/或操作者使用来清洁乘客触摸的表面。
V.附加示例操作
图7图示了与识别将被清洁的环境部分、跟踪这些部分以及由机器人清洁这些部分相关的操作的流程图。这些操作可以由机器人***100、机器人200和/或***600以及其他可能性来执行。图7的实施例可以通过移除其中所示的任何一个或多个特征来简化。此外,这些实施例可以与任何先前附图或在此以其他方式描述的特征、方面和/或实现方式相结合。
框700可以包括确定表示环境的多个静态特征的地图。
框702可以包括从安置在机器人设备上的传感器接收表示环境的传感器数据。
框704可以包括基于传感器数据确定环境中的行为者的表示。该表示可以包括表示行为者的对应主***置的多个关键点。
框706可以包括确定环境的多个静态特征中的特定静态特征的一部分位于多个关键点中的特定关键点的阈值距离内。
框708可以包括基于确定该特定关键点位于该特定静态特征的该部分的阈值距离内,更新地图以指示该特定静态特征的该部分将被清洁。
框710可以包括基于更新的地图,使机器人设备清洁该特定静态特征的该部分。
在一些实施例中,多个关键点可以表示行为者的臂部,并且特定关键点可以表示行为者的手部。
在一些实施例中,确定行为者的表示可以包括通过被训练为在表示行为者的传感器数据内识别多个关键点的机器学习模型来确定多个关键点,并将多个关键点的位置从传感器数据的参考系映射到地图的参考系。
在一些实施例中,该地图可以包括多个体素。确定多个关键点中的特定关键点位于特定静态特征的该部分的阈值距离内可以包括确定多个体素中(i)表示特定静态特征并且(ii)位于特定关键点的阈值距离内的一个或多个体素。
在一些实施例中,基于机器人设备清洁特定静态特征的该部分,可以更新地图以指示特定静态特征的该部分已经被清洁。
在一些实施例中,可以确定多个静态特征的子集,其中子集的每个相应静态特征与超过阈值频率的触摸频率相关联。该子集可以包括特定静态特征。基于确定多个静态特征的子集,可以针对子集的每个相应静态特征确定相应静态特征的一个或多个部分是否位于特定关键点的阈值距离内。基于确定相应静态特征的一个或多个部分是否位于特定关键点的阈值距离内,可以确定特定静态特征的该部分位于特定关键点的阈值距离内。
在一些实施例中,确定地图可以包括当机器人设备在环境中移动时,从传感器接收表示环境的多个静态特征中的一个或多个静态特征的附加传感器数据,并且基于附加传感器数据生成地图。
在一些实施例中,确定地图可以包括,在一个或多个其他机器人设备在环境中移动时,从安置在所述一个或多个其他机器人设备上的一个或多个其他传感器接收表示环境的多个静态特征中的一个或多个静态特征的附加传感器数据,并且基于附加传感器数据生成地图。
在一些实施例中,基于多个关键点中的关键点的相对定位,可以确定行为者与特定静态特征接合。可以进一步基于确定该行为者与该特定静态特征接合而更新该地图以指示该特定静态特征的该部分将清洁。
在一些实施例中,传感器数据可以包括表示在多个不同时间点的环境中的行为者的多个传感器数据帧。基于多个传感器数据帧,可以确定对应于多个不同时间点的行为者的多个表示。基于行为者的多个表示,可以确定行为者的运动模式。可以确定行为者的运动模式指示行为者和特定静态特征之间的接触。可以进一步基于确定行为者的运动模式指示行为者和特定静态特征之间的接触,来更新地图以指示特定静态特征的该部分将被清洁。
在一些实施例中,可以从位于环境内的附加传感器接收表示环境内的行为者的附加传感器数据。附加传感器数据可以从不同于传感器数据的角度来表示行为者。可以进一步基于附加传感器数据来确定行为者的表示。
在一些实施例中,在传感器数据内对应于特定关键点的主***置可能被遮挡。确定行为者的表示可以包括基于行为者未被遮挡的主***置来确定特定关键点在环境中的定位。
在一些实施例中,当在传感器数据内对应于特定关键点的主***置未被遮挡时,阈值距离可以具有第一值,而当在传感器数据内对应于特定关键点的主***置被遮挡时,阈值距离可以具有大于第一值的第二值。
在一些实施例中,更新地图可以包括更新该地图以指示将该特定静态特征的该部分指示为将被清洁的触摸时间。还可以将该地图配置为被更新以指示通过机器人设备清洁了该特定静态特征的该部分的清洁时间。
在一些实施例中,投影仪可以连接到机器人设备。可以使用投影仪将更新后的地图的视觉表示投影到环境上。地图的视觉表示的一部分可以与特定静态特征的该部分在空间上对齐,以从视觉上指示该特定静态特征的该部分将被清洁。
在一些实施例中,表示环境的传感器数据可以包括表示环境的第一图像。可以通过将更新的地图投影到第一图像的图像空间上来生成第二图像,以在第二图像内指示特定静态特征的部分将被清洁。可以通过将指示特定静态特征的该部分将被清洁的第二图像的至少一部分***到第一图像中来生成第三图像。可以显示第三图像。
在一些实施例中,更新地图以指示特定静态特征的该部分将被清洁可以包括基于以下一个或多个来更新地图以指示静态特征的该部分的不清洁度程度:(i)特定静态特征的该部分和特定关键点之间的距离,或者(ii)特定静态特征的该部分已位于多个关键点中的一个或多个关键点的相应阈值距离内的次数。机器人设备对特定静态特征的该部分的清洁程度可以基于静态特征的该部分的不清洁度程度。
图8图示了与识别被确定为已被触摸的环境部分、跟踪这些部分以及显示这些部分的视觉表示相关的操作的流程图。这些操作可以由机器人***100、机器人200和/或***600以及其他可能性来执行。图8的实施例可以通过移除其中所示的任何一个或多个特征来简化。此外,这些实施例可以与任何先前附图或在此以其他方式描述的特征、方面和/或实现方式相结合。
框800可以包括确定表示环境的多个静态特征的地图。
框802可以包括从传感器接收表示环境的传感器数据。在一些实现方式中,传感器可以安置在机器人设备上。
框804可以包括基于传感器数据确定环境中的行为者的表示。该表示可以包括表示行为者的对应主***置的多个关键点。
框806可以包括确定环境的多个静态特征中的特定静态特征的一部分位于多个关键点中的特定关键点的阈值距离内。
框808可以包括基于确定特定关键点位于特定静态特征的该部分的阈值距离内,更新地图以指示特定静态特征的该部分被确定为已被触摸。确定特定静态特征的该部分已被触摸可以包括基于传感器数据确定该部分看起来已经被触摸,和/或确定该部分实际上被物理触摸。
框810可以包括基于更新后的地图,显示用于指示特定静态特征的该部分被确定为已被触摸的视觉表示。该视觉表示可以是图像、视频和/或其在环境上的投影,以及其他可能性。
在一些实施例中,多个关键点可以表示行为者的臂部,并且特定关键点可以表示行为者的手部。
在一些实施例中,确定行为者的表示可以包括通过被训练来在表示行为者的传感器数据内识别多个关键点的机器学习模型来确定多个关键点,并将多个关键点的位置从传感器数据的参考系映射到地图的参考系。
在一些实施例中,该地图可以包括多个体素。确定多个关键点中的特定关键点位于特定静态特征的该部分的阈值距离内可以包括确定多个体素中的一个或多个体素,这些体素(i)表示特定静态特征并且(ii)位于特定关键点的阈值距离内。
在一些实施例中,可以基于更新的地图使机器人设备清洁特定静态特征的该部分。
在一些实施例中,基于机器人设备清洁特定静态特征的该部分,可以更新地图以指示特定静态特征的该部分已经被清洁。
在一些实施例中,可以显示附加的视觉表示来指示特定静态特征的该部分已经被清洁。
在一些实施例中,可以确定多个静态特征的子集,其中子集中的每个相应静态特征与超过阈值频率的触摸频率相关联。该子集可以包括特定静态特征。基于确定多个静态特征的子集,可以对于子集中的每个相应静态特征确定相应静态特征的一个或多个部分是否位于特定关键点的阈值距离内。基于确定相应静态特征的一个或多个部分是否位于特定关键点的阈值距离内,可以确定特定静态特征的该部分位于特定关键点的阈值距离内。
在一些实施例中,确定地图可以包括从传感器接收表示环境的多个静态特征中的一个或多个静态特征的附加传感器数据,并且基于附加传感器数据生成地图。
在一些实施例中,确定地图可以包括当一个或多个机器人设备在环境中移动时,从安置在一个或多个机器人设备上的一个或多个其他传感器接收表示环境的多个静态特征中的一个或多个静态特征的附加传感器数据,并且基于附加传感器数据生成地图。
在一些实施例中,基于多个关键点中的关键点的相对定位,可以确定行为者与特定静态特征接合。可以进一步基于确定行为者与该特定静态特征接合来更新该地图以指示该特定静态特征的该部分被确定为被触摸。
在一些实施例中,传感器数据可以包括表示在多个不同时间点在环境中的行为者的多个传感器数据帧。基于多个传感器数据帧,可以确定对应于多个不同时间点的行为者的多个表示。基于行为者的多个表示,可以确定行为者的运动模式。可以确定行为者的运动模式指示行为者和特定静态特征之间的接触。可以进一步基于确定行为者的运动模式指示行为者和特定静态特征之间的接触,来更新地图以指示特定静态特征的该部分被确定为被触摸。
在一些实施例中,可以从位于环境内的附加传感器接收表示环境内的行为者的附加传感器数据。附加传感器数据可以从不同于传感器数据的角度来表示行为者。可以进一步基于附加传感器数据来确定行为者的表示。
在一些实施例中,对应于特定关键点的主***置可以在传感器数据内被遮挡。确定行为者的表示可以包括基于行为者未被遮挡的主***置来确定特定关键点在环境中的定位。
在一些实施例中,当对应于特定关键点的主***置在传感器数据内未被遮挡时,阈值距离可以具有第一值,并且当对应于特定关键点的主***置在传感器数据内被遮挡时,阈值距离可以具有大于第一值的第二值。
在一些实施例中,更新地图可以包括更新地图以指示特定静态特征的该部分被确定为被触摸的触摸时间。
在一些实施例中,地图可以进一步被配置为被更新以指示特定静态特征的该部分被机器人设备清洁的清洁时间。
在一些实施例中,投影仪可以被配置为将视觉表示投影到环境上。视觉表示的一部分可以与特定静态特征的该部分在空间上对齐,以视觉上指示特定静态特征的该部分被确定为已经被触摸。
在一些实施例中,表示环境的传感器数据可以包括表示环境的第一图像。可以通过将更新的地图投影到第一图像的图像空间上来生成第二图像,以在第二图像内指示特定静态特征的该部分被确定为已经被触摸。可以通过将指示特定静态特征的该部分被确定为已经被触摸的第二图像的至少一部分***到第一图像中来生成视觉表示(例如,第三图像)。
在一些实施例中,更新地图以指示特定静态特征的该部分被确定为已被触摸可以包括基于以下一项或多项来更新地图以指示静态特征的该部分已被触摸的程度:(i)特定静态特征的该部分与特定关键点之间的距离,或者(ii)特定静态特征的该部分已位于多个关键点中的一个或多个关键点的相应阈值距离内的次数。特定静态特征的该部分的清洁程度可以基于静态特征的该部分已经被触摸的程度。
VI.结论
本公开不限于本申请中描述的特定实施例,这些实施例旨在说明各个方面。对于本领域的技术人员来说,显然的是,在不脱离其范围的情况下,可以进行许多修改和变化。除了在此描述的方法和装置之外,对于本领域的技术人员来说,根据前面的描述,在本公开范围内的功能等同的方法和装置是显然的。这种修改和变化旨在落入所附权利要求的范围内。
以上详细描述参考附图描述了所公开的***、设备和方法的各种特征和操作。在附图中,相似的符号通常识别相似的组件,除非上下文另有指示。在此和附图中描述的示例实施例并不意味着是限制性的。在不脱离在此呈现的主题的范围的情况下,可以利用其他实施例,并且可以进行其他改变。将容易理解的是,如在此一般描述的和在附图中图示的,本公开的方面可以以多种不同的配置来布置、替换、组合、分离和设计。
关于附图中的任何或所有消息流程图、场景和流程图,并且如在此所讨论的,根据示例实施例,每个步骤、块和/或通信可以表示信息的处理和/或信息的传输。替代实施例被包括在这些示例实施例的范围内。在这些替代实施例中,例如,被描述为步骤、块、传输、通信、请求、响应和/或消息的操作可以不按照所示或所讨论的顺序来执行,包括基本上同时或以相反的顺序,这取决于所涉及的功能。此外,更多或更少的块和/或操作可以与在此讨论的任何消息流程图、场景和流程图一起使用,并且这些消息流程图、场景和流程图可以部分地或整体地彼此组合。
表示信息处理的步骤或块可以对应于可以被配置为执行在此描述的方法或技术的特定逻辑功能的电路。替代地或附加地,表示信息处理的块可以对应于程序代码(包括相关数据)的模块、片段或一部分。程序代码可以包括可由处理器执行的一个或多个指令,用于实现方法或技术中的特定逻辑操作或动作。程序代码和/或相关数据可以存储在任何类型的计算机可读介质上,诸如包括随机存取存储器(RAM)的存储设备、磁盘驱动器、固态驱动器或另一存储介质。
计算机可读介质还可以包括非暂时性计算机可读介质,诸如短期存储数据的计算机可读介质,如寄存器存储器、处理器高速缓存和RAM。计算机可读介质还可以包括长期存储程序代码和/或数据的非暂时性计算机可读介质。因此,计算机可读介质可以包括二级或永久长期存储装置,诸如只读存储器(ROM)、光盘或磁盘、固态驱动器、压缩盘只读存储器(CD-ROM)。计算机可读介质也可以是任何其他易失性或非易失性存储***。例如,计算机可读介质可以被认为是计算机可读存储介质,或者有形存储设备。
此外,表示一个或多个信息传输的步骤或块可以对应于同一物理设备中的软件和/或硬件模块之间的信息传输。然而,其他信息传输可以在不同物理设备中的软件模块和/或硬件模块之间进行。
附图中所示的特定布置不应被认为是限制性的。应当理解,其他实施例可以包括给定附图中所示的更多或更少的每个元件。此外,一些图示的元件可以被组合或省略。此外,示例实施例可以包括附图中未图示的元件。
虽然在此已经公开了各种方面和实施例,但是其他方面和实施例对于本领域技术人员来说将是显然的。在此公开的各种方面和实施例是为了说明的目的,而不是旨在限制,真正的范围由所附权利要求指示。
Claims (20)
1.一种***,包括:
机器人设备;
安置在所述机器人设备上的传感器;和
被配置为执行操作的电路,所述操作包括:
确定表示环境的多个静态特征的地图;
从所述传感器接收表示所述环境的传感器数据;
基于所述传感器数据确定所述环境内的行为者的表示,其中所述表示包括表示所述行为者的对应主***置的多个关键点;
确定所述环境的所述多个静态特征中的特定静态特征的一部分位于所述多个关键点中的特定关键点的阈值距离内;
基于确定所述特定关键点位于所述特定静态特征的所述部分的所述阈值距离内,更新所述地图以指示所述特定静态特征的所述部分将被清洁;以及
基于所更新的地图,使得所述机器人设备清洁所述特定静态特征的所述部分。
2.根据权利要求1所述的***,其中,所述多个关键点表示所述行为者的臂部,并且所述特定关键点表示所述行为者的手部。
3.根据权利要求1所述的***,其中,确定所述行为者的表示包括:
通过被训练为在表示所述行为者的传感器数据内识别所述多个关键点的机器学习模型来确定所述多个关键点;以及
将所述多个关键点的位置从所述传感器数据的参考系映射到所述地图的参考系。
4.根据权利要求1所述的***,其中,所述地图包括多个体素,并且其中,确定所述多个关键点中的所述特定关键点位于所述特定静态特征的所述部分的阈值距离内包括:
确定所述多个体素中(i)表示所述特定静态特征并且(ii)位于所述特定关键点的所述阈值距离内的一个或多个体素。
5.根据权利要求1所述的***,其中,所述操作进一步包括:
基于所述机器人设备清洁所述特定静态特征的所述部分,更新所述地图以指示所述特定静态特征的所述部分已经被清洁。
6.根据权利要求1所述的***,其中,所述操作进一步包括:
确定所述多个静态特征的子集,其中,所述子集中的每个相应静态特征与超过阈值频率的触摸频率相关联,并且其中,所述子集包括所述特定静态特征;
基于确定所述多个静态特征的所述子集,对于所述子集中的每个相应静态特征,确定所述相应静态特征的一个或多个部分是否位于所述特定关键点的所述阈值距离内;以及
基于确定所述相应静态特征的所述一个或多个部分是否位于所述特定关键点的所述阈值距离内,确定所述特定静态特征的所述部分位于所述特定关键点的所述阈值距离内。
7.根据权利要求1所述的***,其中,确定所述地图包括:
在所述机器人设备在所述环境中移动时,从所述传感器接收表示所述环境的所述多个静态特征中的一个或多个静态特征的附加传感器数据;以及
基于所述附加传感器数据生成所述地图。
8.根据权利要求1所述的***,其中,确定所述地图包括:
在一个或多个其他机器人设备在所述环境中移动时,从安置在所述一个或多个其他机器人设备上的一个或多个其他传感器,接收表示所述环境的所述多个静态特征中的一个或多个静态特征的附加传感器数据;以及
基于所述附加传感器数据生成所述地图。
9.根据权利要求1所述的***,其中,所述操作进一步包括:
基于所述多个关键点中的关键点的相对定位,确定所述行为者与所述特定静态特征接合,其中,附加地基于确定所述行为者与所述特定静态特征接合,更新所述地图以指示所述特定静态特征的所述部分将被清洁。
10.根据权利要求1所述的***,其中,所述传感器数据包括在多个不同时间点表示所述环境内的所述行为者的多个传感器数据帧,并且其中,所述操作进一步包括:
基于所述多个传感器数据帧,确定对应于所述多个不同时间点的所述行为者的多个表示;
基于所述行为者的所述多个表示,确定所述行为者的运动模式;以及
确定所述行为者的所述运动模式指示所述行为者和所述特定静态特征之间的接触,其中,附加地基于确定所述行为者的所述运动模式指示所述行为者和所述特定静态特征之间的接触,更新所述地图以指示所述特定静态特征的所述部分将被清洁。
11.根据权利要求1所述的***,其中,所述操作进一步包括:
从位于所述环境内的附加传感器接收表示所述环境内的所述行为者的附加传感器数据,其中,所述附加传感器数据从不同于所述传感器数据的角度表示所述行为者;以及
进一步基于所述附加传感器数据确定所述行为者的表示。
12.根据权利要求1所述的***,其中,对应于所述特定关键点的所述主***置在所述传感器数据内被遮挡,并且其中,确定所述行为者的表示包括:
基于所述行为者未被遮挡的主***置确定所述特定关键点在所述环境中的定位。
13.根据权利要求1所述的***,其中,当对应于所述特定关键点的所述主***置在所述传感器数据内未被遮挡时,所述阈值距离具有第一值,并且其中,当对应于所述特定关键点的所述主***置在所述传感器数据内被遮挡时,所述阈值距离具有大于所述第一值的第二值。
14.根据权利要求1所述的***,其中,更新所述地图包括:
更新所述地图以指示所述特定静态特征的所述部分被指示为将被清洁的触摸时间,其中,所述地图被进一步配置为被更新以指示所述特定静态特征的所述部分被所述机器人设备清洁的清洁时间。
15.根据权利要求1所述的***,进一步包括连接到所述机器人设备的投影仪,其中,所述操作进一步包括:
使用所述投影仪,将所更新的地图的视觉表示投影到所述环境上,其中,所述地图的所述视觉表示的一部分与所述特定静态特征的所述部分在空间上对齐,以从视觉上指示所述特定静态特征的所述部分将被清洁。
16.根据权利要求1所述的***,其中,表示所述环境的传感器数据包括表示所述环境的第一图像,并且其中,所述操作进一步包括:
通过将所更新的地图投影到所述第一图像的图像空间上来生成第二图像,以在所述第二图像内指示所述特定静态特征的所述部分将被清洁;
通过将指示所述特定静态特征的所述部分将被清洁的所述第二图像的至少一部分***到所述第一图像中来生成第三图像;以及
显示所述第三图像。
17.根据权利要求1所述的***,其中,更新所述地图以指示所述特定静态特征的所述部分将被清洁包括:
基于以下中的一个或多个来更新所述地图以指示所述静态特征的所述部分的不清洁度程度:(i)所述特定静态特征的所述部分和所述特定关键点之间的距离,或者(ii)所述特定静态特征的所述部分已位于所述多个关键点中的一个或多个特定关键点的相应阈值距离内的次数,其中,所述机器人设备对所述特定静态特征的所述部分的清洁程度基于所述静态特征的所述部分的不清洁度程度。
18.一种计算机实现的方法,包括:
确定表示环境的多个静态特征的地图;
从安置在机器人设备上的传感器接收表示所述环境的传感器数据;
基于所述传感器数据确定所述环境内的行为者的表示,其中,所述表示包括表示所述行为者的对应主***置的多个关键点;
确定所述环境的所述多个静态特征中的特定静态特征的一部分位于所述多个关键点中的特定关键点的阈值距离内;
基于确定所述特定关键点位于所述特定静态特征的所述部分的所述阈值距离内,更新所述地图以指示所述特定静态特征的所述部分将被清洁;以及
基于所更新的地图,使得所述机器人设备清洁所述特定静态特征的所述部分。
19.根据权利要求18所述的计算机实现的方法,进一步包括:
基于所述机器人设备清洁所述特定静态特征的所述部分,更新所述地图以指示所述特定静态特征的所述部分已经被清洁。
20.一种其上存储有指令的非暂时性计算机可读介质,当由计算设备执行时,所述指令使得所述计算设备执行操作,所述操作包括:
确定表示环境的多个静态特征的地图;
从安置在机器人设备上的传感器接收表示所述环境的传感器数据;
基于所述传感器数据确定所述环境内的行为者的表示,其中,所述表示包括表示所述行为者的对应主***置的多个关键点;
确定所述环境的所述多个静态特征中的特定静态特征的一部分位于所述多个关键点中的特定关键点的阈值距离内;
基于确定所述特定关键点位于所述特定静态特征的所述部分的所述阈值距离内,更新所述地图以指示所述特定静态特征的所述部分将被清洁;以及
基于所更新的地图,使得所述机器人设备清洁所述特定静态特征的所述部分。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/131,252 US11097414B1 (en) | 2020-12-22 | 2020-12-22 | Monitoring of surface touch points for precision cleaning |
US17/131,252 | 2020-12-22 | ||
PCT/US2021/071688 WO2022140709A1 (en) | 2020-12-22 | 2021-10-01 | Monitoring of surface touch points for precision cleaning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116669913A true CN116669913A (zh) | 2023-08-29 |
Family
ID=77390136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180087649.XA Pending CN116669913A (zh) | 2020-12-22 | 2021-10-01 | 用于精密清洁的表面触摸点监视 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11097414B1 (zh) |
EP (1) | EP4251379A1 (zh) |
CN (1) | CN116669913A (zh) |
WO (1) | WO2022140709A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11097414B1 (en) * | 2020-12-22 | 2021-08-24 | X Development Llc | Monitoring of surface touch points for precision cleaning |
CN117881504A (zh) * | 2021-09-07 | 2024-04-12 | Abb瑞士股份有限公司 | 清洁工业环境中的区域的方法、控制***和清洁*** |
WO2023086879A1 (en) * | 2021-11-10 | 2023-05-19 | X Development Llc | Surface wiping tool for a robot |
CN116214522B (zh) * | 2023-05-05 | 2023-08-29 | 中建科技集团有限公司 | 基于意图识别的机械臂控制方法、***及相关设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9014848B2 (en) | 2010-05-20 | 2015-04-21 | Irobot Corporation | Mobile robot system |
US20150278860A1 (en) * | 2014-03-25 | 2015-10-01 | Google Inc. | Dynamically determining a search radius to select online content |
US9940797B2 (en) * | 2015-02-23 | 2018-04-10 | Ecolink Intelligent Technology, Inc. | Smart barrier alarm device |
US9486921B1 (en) * | 2015-03-26 | 2016-11-08 | Google Inc. | Methods and systems for distributing remote assistance to facilitate robotic object manipulation |
US9694498B2 (en) * | 2015-03-30 | 2017-07-04 | X Development Llc | Imager for detecting visual light and projected patterns |
US9911290B1 (en) * | 2015-07-25 | 2018-03-06 | Gary M. Zalewski | Wireless coded communication (WCC) devices for tracking retail interactions with goods and association to user accounts |
US9691153B1 (en) * | 2015-10-21 | 2017-06-27 | Google Inc. | System and method for using image data to determine a direction of an actor |
US10025308B1 (en) * | 2016-02-19 | 2018-07-17 | Google Llc | System and method to obtain and use attribute data |
US10122995B2 (en) * | 2016-09-22 | 2018-11-06 | X Development Llc | Systems and methods for generating and displaying a 3D model of items in a warehouse |
WO2019203878A1 (en) | 2018-04-20 | 2019-10-24 | Discovery Robotics | Apparatus and methods of a service robotic platform |
US10471591B1 (en) * | 2018-06-01 | 2019-11-12 | X Development Llc | Object hand-over between robot and actor |
US11465279B2 (en) * | 2018-11-29 | 2022-10-11 | X Development Llc | Robot base position planning |
GB2580690B (en) | 2019-01-24 | 2023-03-29 | Imperial College Innovations Ltd | Mapping an environment using a state of a robotic device |
US11097414B1 (en) * | 2020-12-22 | 2021-08-24 | X Development Llc | Monitoring of surface touch points for precision cleaning |
-
2020
- 2020-12-22 US US17/131,252 patent/US11097414B1/en active Active
-
2021
- 2021-07-22 US US17/382,561 patent/US11642780B2/en active Active
- 2021-10-01 CN CN202180087649.XA patent/CN116669913A/zh active Pending
- 2021-10-01 EP EP21801385.2A patent/EP4251379A1/en active Pending
- 2021-10-01 WO PCT/US2021/071688 patent/WO2022140709A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US11097414B1 (en) | 2021-08-24 |
WO2022140709A1 (en) | 2022-06-30 |
US20220193888A1 (en) | 2022-06-23 |
US11642780B2 (en) | 2023-05-09 |
EP4251379A1 (en) | 2023-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112074382B (zh) | 机器人以及定位机器人传感器的方法 | |
CN114728417B (zh) | 由远程操作员触发的机器人自主对象学习的方法及设备 | |
US11642780B2 (en) | Monitoring of surface touch points for precision cleaning | |
CN113840693A (zh) | 移动机器人形态学 | |
US20230247015A1 (en) | Pixelwise Filterable Depth Maps for Robots | |
US11587302B2 (en) | Shared dense network with robot task-specific heads | |
US11915523B2 (en) | Engagement detection and attention estimation for human-robot interaction | |
US11440196B1 (en) | Object association using machine learning models | |
CN116745576A (zh) | 使用机器人操纵器上的主动照射和相机复原材料属性 | |
US11407117B1 (en) | Robot centered augmented reality system | |
US20220341906A1 (en) | Mobile Robot Environment Sensing | |
EP3842888A1 (en) | Pixelwise filterable depth maps for robots | |
CN116867611A (zh) | 融合静态大视场和高保真度可移动传感器用于机器人平台 | |
EP4386671A2 (en) | Depth-based 3d human pose detection and tracking | |
EP4053804A1 (en) | Joint training of a narrow field of view sensor with a global map for broader context | |
US20230084774A1 (en) | Learning from Demonstration for Determining Robot Perception Motion | |
US11496722B1 (en) | Systems and methods for automatically calibrating multiscopic image capture systems | |
WO2024107837A1 (en) | Semantic heat map for robot object search | |
US20230145869A1 (en) | Surface Wiping Tool for a Robot | |
WO2024137503A1 (en) | Learning an ego state model through perceptual boosting |
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 |