CN117957095A - 从演示中学习确定机器人感知运动 - Google Patents
从演示中学习确定机器人感知运动 Download PDFInfo
- Publication number
- CN117957095A CN117957095A CN202280062519.5A CN202280062519A CN117957095A CN 117957095 A CN117957095 A CN 117957095A CN 202280062519 A CN202280062519 A CN 202280062519A CN 117957095 A CN117957095 A CN 117957095A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- robot
- learning model
- data
- robotic device
- 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
- 230000033001 locomotion Effects 0.000 title description 35
- 238000010801 machine learning Methods 0.000 claims abstract description 151
- 230000008447 perception Effects 0.000 claims abstract description 151
- 238000012549 training Methods 0.000 claims abstract description 88
- 238000000034 method Methods 0.000 claims abstract description 72
- 230000007613 environmental effect Effects 0.000 claims description 34
- 238000005259 measurement Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 14
- 239000012636 effector Substances 0.000 description 11
- 230000015654 memory Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 239000013598 vector Substances 0.000 description 8
- 210000000707 wrist Anatomy 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 210000000245 forearm Anatomy 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000002787 reinforcement Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 239000012530 fluid Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 210000002310 elbow joint Anatomy 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000003205 muscle Anatomy 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- 210000003857 wrist joint Anatomy 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- QBWCMBCROVPCKQ-UHFFFAOYSA-N chlorous acid Chemical compound OCl=O QBWCMBCROVPCKQ-UHFFFAOYSA-N 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- -1 for motion capture) Chemical compound 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
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/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- 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
- B25J9/162—Mobile manipulator, movable base with manipulator arm mounted on it
-
- 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/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
-
- 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
- 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/35—Nc in input of data, input till input file format
- G05B2219/35145—Voxel map, 3-D grid map
-
- 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/40391—Human to robot skill transfer
-
- 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/40452—Evaluation function derived from skilled, experimented operator data
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
Abstract
一种方法包括,对于包括感知系统的机器人设备,确定表示机器人设备在环境中的至少一个未来路径的机器人规划器状态。该方法还包括通过将至少机器人规划器状态输入到基于训练数据训练的机器学习模型中来确定感知系统轨迹,该训练数据包括对应于多个操作者指导的感知系统轨迹的至少多个机器人规划器状态。该方法还包括由机器人设备控制感知系统移动通过所确定的感知系统轨迹。
Description
相关申请的交叉引用
本申请要求2021年9月16日提交的美国临时专利申请第63/244,902号的优先权,其公开内容通过引用整体结合于此。
背景技术
随着技术的进步,各种类型的机器人设备正在被创造出来,用于执行可以帮助用户的各种功能。机器人设备可用于涉及材料处理、运输、焊接、装配和分配等的应用。随着时间的推移,这些机器人系统的操作方式变得更加智能、高效和直观。随着机器人系统在现代生活的许多方面变得越来越普遍,人们希望机器人系统是高效的。因此,对高效机器人系统的需求有助于在致动器、运动、传感技术以及部件设计和组装方面开辟创新领域。
发明内容
示例实施例涉及通过从演示中学习的感知轨迹确定方法。机器人设备可以包括可移动的感知系统。机器人设备可以使用根据训练数据训练的机器学习模型来确定移动其感知系统的轨迹,该训练数据包括表示机器人设备的至少一个未来轨迹的机器人规划器状态和相应的操作者指导的感知系统轨迹。
在实施例中,一种方法包括,对于包括感知系统的机器人设备,确定表示机器人设备在环境中的至少一个未来路径的机器人规划器状态。该方法还包括通过将至少机器人规划器状态输入到基于训练数据训练的机器学习模型中来确定感知系统轨迹,该训练数据包括对应于多个操作者指导的感知系统轨迹的至少多个机器人规划器状态。该方法还包括由机器人设备控制感知系统移动通过所确定的感知系统轨迹。
在另一种实施例中,机器人设备包括感知系统和控制系统。控制系统可被配置为确定表示机器人设备在环境中的至少一个未来路径的机器人规划器状态。控制系统还可以被配置为通过将至少机器人规划器状态输入到基于训练数据训练的机器学习模型中来确定感知系统轨迹,该训练数据包括对应于多个操作者指导的感知系统轨迹的至少多个机器人规划器状态。控制系统还可以被配置成控制感知系统移动通过所确定的感知系统轨迹。
在另一种实施例中,提供了非暂时性计算机可读介质,其包括可由至少一个处理器执行的程序指令,以使至少一个处理器执行功能。所述功能包括,对于包括感知系统的机器人设备,确定表示机器人设备在环境中的至少一个未来路径的机器人规划器状态。该功能还包括通过将至少机器人规划器状态输入到基于训练数据训练的机器学习模型中来确定感知系统轨迹,该训练数据包括对应于多个操作者指导的感知系统轨迹的至少多个机器人规划器状态。这些功能还包括控制感知系统移动通过所确定的感知系统轨迹。
在进一步的实施例中,提供了一种系统,该系统包括用于为包括感知系统的机器人设备确定表示机器人设备在环境中的至少一个未来路径的机器人规划器状态的部件。该系统还包括用于通过将至少机器人规划器状态输入到基于训练数据训练的机器学习模型中来确定感知系统轨迹的部件,该训练数据包括对应于多个操作者指导的感知系统轨迹的至少多个机器人规划器状态。该系统还包括用于控制感知系统移动通过所确定的感知系统轨迹的部件。
前面的概述只是说明性的,并不打算以任何方式限制。除了上面描述的说明性方面、实施例和特征之外,通过参考附图和下面的详细描述以及附图,进一步的方面、实施例和特征将变得显而易见。
附图说明
图1示出了根据示例实施例的机器人系统的配置。
图2示出了根据示例实施例的移动机器人。
图3示出了根据示例实施例的移动机器人的分解图。
图4示出了根据示例实施例的机械臂。
图5是根据示例实施例示出机器学习模型的训练和推理阶段的图。
图6是根据示例实施例的方法的框图。
图7A描绘了根据示例实施例的环境。
图7B描述了根据示例实施例在环境中收集的传感器数据。
图7C描绘了根据示例实施例的用于确定感知系统轨迹的机器学习模型。
图7D描绘了根据示例实施例的控制其感知系统移动通过感知系统轨迹的机器人设备。
图8A描绘了根据示例实施例的环境。
图8B描述了根据示例实施例在环境中收集的传感器数据。
图8C描绘了根据示例实施例的操作者确定的感知系统轨迹。
图8D描绘了根据示例实施例的用于确定感知系统轨迹的机器学习模型。
具体实施方式
本文描述了示例方法、设备和系统。应该理解,这里使用的单词“示例”和“示例性”是指“作为示例、实例或说明”。这里描述为“示例”或“示例性”的任何实施例或特征不一定被解释为优于或优于其他实施例或特征,除非如此指明。在不脱离本文呈现的主题范围的情况下,可以利用其他实施例,并且可以进行其他改变。
因此,这里描述的示例实施例并不意味着是限制性的。容易理解的是,本公开的方面,如本文总体描述并在附图中示出的,可以以各种不同的配置来排列、替换、组合、分离和设计。
在整个说明书中,冠词“一”或“一个”用于介绍示例实施例的元素。任何对“一”或“一个”的引用都是指“至少一个”,任何对“该”的引用都是指“至少一个”,除非另有说明,或者除非上下文另有明确规定。在所描述的至少两个术语的列表中使用连词“或”的目的是表示任何所列术语或所列术语的任何组合。
使用诸如“第一”、“第二”、“第三”等序号是为了区分各自的元素,而不是表示这些元素的特定顺序。为了本说明的目的,术语“多个”和“多个”指的是“两个或更多”或“一个以上”。
此外,除非上下文另有建议,否则每个图中所示的特征可以彼此结合使用。因此,附图通常应被视为一个或多个整体实施例的组成方面,理解为并非所有所示的特征对于每个实施例都是必要的。在图中,相似的符号通常标识相似的组件,除非上下文另有规定。此外,除非另有说明,否则附图不是按比例绘制的,仅用于说明目的。此外,附图只是代表性的,并没有显示所有的组成部分。例如,可能没有显示附加的结构或约束部件。
此外,本说明书或权利要求中对元素、块或步骤的任何列举都是为了清楚起见。因此,这种列举不应被解释为要求或暗示这些元素、块或步骤遵循特定的安排或以特定的顺序执行。
I.概述
机器人设备可以包括感知系统,以促进导航和任务完成。感知系统可以包括相机、LIDAR传感器和/或有助于更好地理解环境的其他传感器。感知系统可以由机器人设备独立控制,以从不同角度观察环境。例如,机器人设备可以具有感知系统,该感知系统包括具有360度水平视场的LIDAR传感器和云台相机,云台相机可以具有比LIDAR传感器更有限的视场,但是可以提供LIDAR传感器可能无法提供的关于环境的附加信息。因此,可以控制云台相机平移和/或倾斜,以便在有限的当前视场之外收集数据。例如,云台相机可能只能看到它所面对的方向上的对象,而它可能无法看到它所面对的相反方向或它所面对的方向的一侧的对象。为了在机器人设备不面对的方向上观察对象,机器人设备可以控制云台相机在那些方向上转动和观察对象。例如,机器人设备可以打算向后移动,并且机器人设备可以控制云台相机旋转180度以观察机器人设备后面。在一些示例中,LIDAR传感器也可以被控制以收集其当前视场之外的数据。另一种变化可以是感知系统可以作为一个整体来控制,以收集LIDAR传感器和/或云台相机视场之外的数据。
在这些示例中可能出现的一个挑战是确定机器人设备应该如何控制感知系统和/或感知系统中的传感器。例如,机器人设备可以正在具有许多障碍物的拥挤环境中导航。机器人设备可以打算向前导航,但是机器人设备可以检测到它前面的对象。因为感知系统可能不能同时观察环境的每个区域,所以机器人设备可能需要控制感知系统来观察其他潜在路径中的障碍物,包括机器人设备的右侧和左侧。在某些情况下,低效的控制方法可能会导致机器人设备笨拙地将其感知系统从一侧拉到另一侧,以确定向哪个方向移动。然而,这可能提供了不太理想的响应时间和用户体验。
此外,感知系统可能涉及多个过程,并且可能难以确定优先处理哪个过程。例如,感知系统可用于确定关于对象的细节、确定变化环境的状态、找到环境中的特定对象等等。因此,可能难以确定这些过程中的哪一个在另一个之前进行,并且低效的优先化可能导致机器人设备花费更多的时间来执行任务,不能执行时间敏感的任务(例如,在行走的人离开环境之前观察他们),以及其他问题。
本文提供了基于由一个或多个操作者控制的感知系统轨迹,通过数据驱动方法确定如何控制机器人设备的感知系统的方法。在一些示例中,操作者(例如,远程人类操作者)的任务可以是基于从机器人设备接收的数据手动控制感知系统。由远程操作者控制的感知系统的轨迹和来自机器人设备的各种传感器数据可以被存储并用于训练可以输出感知系统轨迹的机器学习模型。然后,每当机器人设备运行时,机器学习模型可用于确定感知系统轨迹。这种方法可以是确定感知系统轨迹的更简化的方法,并且可以促进感知系统更直观的移动,这可以产生更好的用户体验。
操作者可以以多种方式操作机器人设备的感知系统。在一些示例中,当机器人设备在环境中导航时,操作者可以与机器人设备一起行走。操作者可以使用与机器人设备通信的控制系统(例如,操纵杆控制器)来引导感知系统。然而,这种方法可能导致不太准确的训练数据,因为没有向操作者呈现机器人设备收集的数据,而是依赖于操作者的感知和记忆。或者,该系统可以包括具有屏幕的计算设备(可以附接到机器人设备)。机器人设备可以向操作者呈现传感器数据,并且基于所呈现的传感器数据,操作者可以使用与机器人设备通信的控制系统来引导感知系统。因为向操作者呈现机器人设备收集的传感器数据,所以这种方法可以产生更准确的训练数据。
在进一步的示例中,操作者可以被呈现传感器数据并远程操作机器人设备。例如,远程操作者可以位于从机器人设备接收传感器数据的基站中,该传感器数据可能包括LIDAR数据、相机数据等等。传感器数据可以在呈现给操作者之前被处理成操作者友好的格式。此外,可以向远程操作者呈现指示机器人设备打算导航到下一步的位置的数据,并且远程操作者可以基于机器人设备打算导航到下一步的位置和表示环境的传感器数据来决定如何控制感知系统。远程操作者的控制指令可以被传送回机器人设备,并且可以基于这些控制指令来控制感知系统。该过程可以在相同环境中或在各种环境中继续,直到收集到足够的训练数据。
附加地或替代地,确定如何控制感知系统可为远程操作员提供沉浸式体验。例如,远程操作者可以使用虚拟现实头戴式耳机,该头戴式耳机显示机器人设备正在其中操作的环境的表示。可以使用从机器人设备传送的传感器数据来创建机器人设备正在其中运行的环境的表示。因为向操作者呈现由机器人设备收集的环境数据,所以感知系统轨迹可以更准确,并且在感知系统移动之后收集的附加传感器数据可以更好地捕获环境信息。
在一些示例中,机器人设备可以确定它打算导航到下一个的路径,并且操作者可以仅控制机器人设备的感知系统。机器人设备可以向远程操作者发送所收集的传感器数据和指示机器人设备打算导航到下一个位置的路径。远程操作者可以基于收集的传感器数据和机器人设备的预期轨迹来确定将感知系统移动到哪里。或者,机器人设备可以仅发送收集的传感器数据,并且远程操作者可以在发送关于移动机器人设备到哪里的指示之前确定移动机器人设备到哪里。在实践中,机器人设备确定预期路径的情况可以促进更简化的训练数据收集,因为更少的变量可以依赖于操作者的决定。
传感器数据和操作者指导的感知系统轨迹可以在各种环境中并使用各种操作者来确定,这也可以促进更好的预测。例如,传感器数据可以从拥挤的环境(其中感知系统可能必须移动更多以获得对环境和环境中对象的准确感知)中收集,从稀疏的环境(其中感知系统可能不需要同样多的轨迹来获得对环境的准确感知)中收集,从具有许多移动对象的环境(其中感知系统可能需要收集更频繁的更新)中收集,从具有较少移动对象的环境(其中感知系统可能不需要收集同样多的更新)中收集,等等。
由机器人设备收集的传感器数据、机器人设备的预期未来路径和机器人设备的操作者确定的感知轨迹可以存储在服务器中、机器人设备上和/或操作者的计算设备上,以用于确定未来感知系统轨迹。
在一些示例中,机器学习模型可用于在对存储的数据进行训练后确定未来的感知系统轨迹。机器学习模型可以将规划器状态作为输入,该规划器状态可以包括机器人设备在环境中的至少一个未来路径。例如,如果机器人设备位于某个位置并且计划向前导航,则规划器状态可以包括未来路径可以从机器人设备直接向前的指示。规划器状态可以包括坐标、方向和/或指示未来路径的其他信息,坐标可以指示机器人设备的当前位置和机器人设备的未来位置。机器学习模型可以输出感知系统轨迹,其中每个轨迹指示如何控制感知系统在不连续的时间段内移动。
机器学习模型还可以将跟踪器状态作为附加输入,跟踪器状态可以包括环境信息。例如,跟踪器状态可以包括从机器人设备收集并由人类操作者查看的LIDAR传感器数据。跟踪器状态还可以包括环境中对象运动的表示。例如,机器人设备可以在有汽车的环境中操作,并且汽车可以正在接近机器人设备。因此,跟踪器状态可以包括对象正在接近的指示以及通过感知系统传感器检测到的对象的位置。
为了训练机器学习模型,表示机器人设备的至少一个未来路径的规划器状态、表示环境信息的跟踪者状态以及操作者控制的轨迹可以组合到训练数据集中。规划器状态和跟踪器状态可以是机器学习模型的输入,并且可以基于预测的操作者控制的轨迹与实际的操作者控制的轨迹相比较来调整机器学习模型的权重。在一些示例中,规划器状态和跟踪器状态可以是包括机器人设备或对象的当前位置、未来位置、速度或其组合的指示的向量。
在一些示例中,规划器和/或跟踪器状态可以是一个或多个机器学习模型的输出。例如,指示机器人设备的未来路径的规划器状态可以由机器学习模型确定,并且该机器学习模型可以将输出馈送到确定感知系统轨迹的另一个机器学习模型中。在确定感知系统轨迹的机器学习模型的输入也包括跟踪器状态的示例中,跟踪器状态也可以使用单独的机器学习模型来确定,并且该单独的机器学习模型可以将输出馈送到确定感知系统轨迹的机器学习模型中。此外,规划器和跟踪器状态可以由单个机器学习模型确定,其中单个机器学习模型的输出被输入到确定感知系统轨迹的机器学习模型中。在一些示例中,确定规划器和跟踪器状态的机器学习模型可以包括自回归网络,例如递归神经网络(RNN)、变换器和/或长短期记忆(LSTM)网络。
在一些示例中,机器学习模型可以基于包括来自各种环境和各种操作者的训练数据的大数据集来训练。在根据来自各种环境和各种操作者的训练数据进行训练之后,机器学习模型可以基于机器人设备操作的特定环境进行微调。例如,可以基于数据集来训练机器学习模型,该数据集包括拥挤环境、空旷环境、快速变化环境、慢速变化环境等的感知系统轨迹。机器人设备可以确定它位于仓库内部,并发送消息来根据特定的仓库数据和相关联的感知系统轨迹微调预训练的机器学习模型。在一些示例中,可以在机器人设备接收到它已经被重新定位到新环境的指示之后,对环境进行分类并微调预训练的机器学习模型。在进一步的示例中,可以周期性地对环境进行分类并微调预训练的机器学习模型,可能是当机器人设备在夜间空闲时。
I I.机器人系统示例
图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可以配置有可移动的末端执行器或手指,其可以根据需要或期望被替换或改变。在一些实施方式中,机器人系统100可以包括一个或多个可拆卸或可更换的电池单元、控制系统、电源系统、缓冲器或传感器。在一些实现中可以包括其他类型的可移动组件。
机器人系统100可以包括布置成感测机器人系统100的各个方面的传感器112。传感器112可以包括一个或多个力传感器、扭矩传感器、速度传感器、加速度传感器、位置传感器、接近传感器、运动传感器、定位传感器、负载传感器、温度传感器、触摸传感器、深度传感器、超声波测距传感器、红外传感器、对象传感器或相机等。在一些示例中,机器人系统100可以被配置为从物理上与机器人分离的传感器(例如,位于其他机器人上或位于机器人操作的环境内的传感器)接收传感器数据。
传感器112可以向处理器102提供传感器数据(可能通过数据107的方式),以允许机器人系统100与其环境的交互,以及监控机器人系统100的操作。传感器数据可用于评估控制系统118对机械部件110和电气元件116的启动、移动和停用的各种因素。例如,传感器112可以捕获对应于环境的地形或附近对象的位置的数据,这可以帮助环境识别和导航。
在一些示例中,传感器112可以包括RADAR(雷达)(例如,用于远程对象检测、距离确定或速度确定)、LIDAR(激光雷达)(例如,用于短程对象检测、距离确定或速度确定)、SONAR(声纳)(例如,用于水下对象检测、距离确定或速度确定)、VICON(例如,用于运动捕捉)、一个或多个相机(例如,用于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可以感测世界坐标系(world frame)中相对于重力矢量的速度和加速度。然后,可以基于IMU在机器人系统100中的位置和机器人系统100的运动学特性,将IMU感测到的速度和加速度转换为机器人系统100的速度和加速度。
机器人系统100可以包括本文未明确讨论的其他类型的传感器。附加地或替代地,机器人系统可以使用特定的传感器用于这里未列举的目的。
机器人系统100还可以包括一个或多个电源114,该电源114被配置为向机器人系统100的各种组件供电。在其他可能的动力系统(power system)中,机器人系统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、桅杆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可以是7DOF机械臂。如上所述,臂206的前两个自由度可以包括在中部204中。如图2和图3所示,剩余的五个DOF可以包括在臂206的独立部分中。臂206可以由塑料整体连杆结构制成。臂206内部可以容纳独立的致动器模块、本地电机驱动器和通孔电缆。
EOAS208可以是臂206末端的末端执行器。EOAS208可以允许机器人200操纵环境中的对象。如图2和图3所示,EOAS208可以是夹持器,例如欠驱动夹持器(underactuatedpinch gripper)。夹持器可以包括一个或多个接触传感器,例如力/扭矩传感器和/或非接触传感器,例如一个或多个相机,以便于对象检测和夹持器控制。EOAS208也可以是不同类型的夹持器,例如吸力夹持器或不同类型的工具,例如钻头或刷子。EOAS208也可以是可更换的或包括可更换的组件,例如夹持器抓爪。
桅杆210可以是臂206的肩部偏转J0关节和感知壳体212之间的相对长而窄的组件。桅杆210可以是位于移动基座202前面的堆叠塔架的一部分。桅杆210可以相对于移动基座202固定。桅杆210可以与中部204同轴。桅杆210的长度可以促进感知套件214对由EOAS208操纵的对象的感知。桅杆210可以具有这样的长度,即当肩部俯仰J1关节垂直向上旋转时,臂206的二头肌的最高点大致与桅杆210的顶部对齐。当肩部俯仰J1关节垂直向上旋转时,桅杆210的长度可以足以防止感知壳体212和臂206之间的碰撞。
如图2和图3所示,桅杆210可以包括被配置成收集关于环境的深度信息的3DLIDAR传感器。3D LIDAR传感器可以耦合到桅杆210的切开部分,并以向下的角度固定。LIDAR位置可以针对定位、导航和前悬崖检测进行优化。
感知壳体212可以包括构成感知套件214的至少一个传感器。感知壳体212可以连接到平移/倾斜控件,以允许感知壳体212的重新定向(例如,观看由EOAS208操纵的对象)。感知壳体212可以是固定到移动基座202的堆叠塔架的一部分。感知壳体212的后部可以与桅杆210同轴。
感知套件214可以包括被配置成收集代表机器人200的环境的传感器数据的传感器套件。感知套件214可以包括红外(IR)辅助的立体深度传感器。感知套件214还可以包括广角红-绿-蓝(RGB)相机,用于人机交互和上下文信息。感知套件214还可以包括用于对象分类的高分辨率RGB相机。还可以包括围绕感知套件214的面部光圈,用于改善人机交互和场景照明。在一些示例中,感知套件214还可以包括被配置成将图像和/或视频投影到环境中的投影仪。
图4示出了根据示例实施例的机械臂。机械臂包括7个DOF:肩部偏转J0关节、肩部俯仰J1关节、二头肌滚动J2关节、肘部俯仰J3关节、前臂滚动J4关节、手腕俯仰J5关节和手腕滚动J6关节。每个关节可以耦合到一个或多个致动器。耦合到关节的致动器可操作以引起链节沿着运动链(以及附接到机器人臂的任何末端执行器)向下移动。
肩部偏转J0关节允许机器人臂朝向机器人的前部和后部旋转。这种运动的一个有益用途是允许机器人捡起机器人前面的对象,并快速将该对象放置在机器人的后部(以及反向运动)。这种运动的另一个有益用途是将机器人臂从机器人后面的收起配置快速移动到机器人前面的活动位置(以及反向运动)。
肩部俯仰J1关节允许机器人抬起机器人臂(例如,使得二头肌达到机器人上的感知套件水平)和降低机器人臂(例如,使得二头肌刚好在移动基座上方)。该运动有利于允许机器人在环境中的不同目标高度水平上有效地执行操纵操作(例如,顶部抓取和侧面抓取)。例如,肩部俯仰J1关节可以旋转到垂直向上的位置,以允许机器人容易地操纵环境中桌子上的对象。肩部俯仰J1关节可以旋转到垂直向下位置,以允许机器人容易地操纵环境中地面上的对象。
二头肌滚动J2关节允许机器人旋转二头肌,以相对于二头肌移动肘部和前臂。该运动可能特别有利于通过机器人的感知套件促进EOAS的清晰视图。通过旋转二头肌滚动J2关节,机器人可以踢出肘部和前臂,以改善对保持在机器人夹持器中的对象的视线。
沿着运动链向下移动,提供交替的俯仰和滚动关节(肩部俯仰J1关节、二头肌滚动J2关节、肘部俯仰J3关节、前臂滚动J4关节、手腕俯仰J5关节和手腕滚动J6关节)以改善机械臂的可操作性。手腕俯仰J5关节、手腕滚动J6关节和前臂滚动J4关节的轴相交,以减少手臂运动来重新定向对象。为了改善对象旋转,提供手腕滚动J6点而不是手腕中的两个俯仰关节。
在一些示例中,诸如图4所示的机械臂可以能够在示教模式下操作。特别地,示教模式可以是机器人臂的操作模式,其允许用户与机器人臂进行物理交互并引导机器人臂执行和记录各种运动。在示教模式中,基于旨在教导机器人如何执行特定任务的教导输入,外力被施加(例如,由用户施加)到机械臂。因此,机械臂可以基于来自用户的指令和指导来获得关于如何执行特定任务的数据。除了其他可能性之外,这种数据可以涉及机械部件的多个配置、关节位置数据、速度数据、加速度数据、扭矩数据、力数据和功率数据。
在示教模式期间,用户可以在一些示例中抓住EOAS或手腕,或者在其他示例中抓住机械臂的任何部分,并通过物理移动机械臂来提供外力。特别地,用户可以引导机械臂抓取对象,然后将对象从第一位置移动到第二位置。当用户在示教模式期间引导机械臂时,机器人可以获得并记录与移动相关的数据,使得机械臂可以被配置为在独立操作期间(例如,当机械臂在示教模式之外独立操作时)在未来时间独立执行任务。在一些示例中,外力也可以由物理工作空间中的其他实体施加,例如由其他对象、机器或机器人系统施加,以及其他可能性。
图5示出了示出根据示例实施例的经训练的机器学习模型532的训练阶段502和推理阶段504的图500。一些机器学习技术包括在训练数据的输入集上训练一个或多个机器学习算法,以识别训练数据中的模式,并提供关于训练数据(中的模式)的输出推理和/或预测。所得到的经过训练的机器学习算法可以被称为经训练的机器学习模型。例如,图5示出了训练阶段502,其中一个或多个机器学习算法520正在训练数据510上被训练,以成为经训练的机器学习模型532。然后,在推理阶段504期间,经训练的机器学习模型532可以接收输入数据530和一个或多个推理/预测请求540(可能作为输入数据530的一部分),并响应地提供一个或多个推理和/或预测550作为输出。
这样,经训练的机器学习模型532可以包括一个或多个机器学习算法520的一个或多个模型。机器学习算法520可以包括但不限于:人工神经网络(例如,本文描述的卷积神经网络、递归神经网络、贝叶斯网络、隐马尔可夫模型、马尔可夫决策过程、逻辑回归函数、支持向量机、合适的统计机器学习算法和/或启发式机器学习系统)。机器学习算法520可以是有监督的或无监督的,并且可以实现在线和离线学习的任何合适组合。
在一些示例中,机器学习算法520和/或经训练的机器学习模型532可以使用设备上的协处理器来加速,例如图形处理单元(GPU)、张量处理单元(TPU)、数字信号处理器(DSP)和/或专用集成电路(ASIC)。这种设备上协处理器可用于加速机器学习算法520和/或经训练的机器学习模型532。在一些示例中,经训练的机器学习模型532可以被训练、驻留和执行,以在特定计算设备上提供推理,和/或以其他方式可以为特定计算设备进行推理。
在训练阶段502期间,可以通过使用无监督、有监督、半监督和/或强化学习技术提供至少训练数据510作为训练输入来训练机器学习算法520。无监督学习包括将训练数据510的一部分(或全部)提供给机器学习算法520,以及机器学习算法520基于所提供的训练数据510的一部分(或全部)确定一个或多个输出推理。监督学习包括向机器学习算法520提供一部分训练数据510,机器学习算法520基于所提供的部分训练数据510确定一个或多个输出推理,并且机器学习模型可以基于与训练数据510相关联的正确结果来改进。在一些示例中,机器学习算法520的监督学习可以由用于训练输入的一组规则和/或一组标签来管理,并且该组规则和/或一组标签可以用于校正机器学习算法520的推理。
半监督学习包括对训练数据510的一部分但不是全部具有正确的结果。在半监督学习期间,对具有正确结果的训练数据510的一部分使用监督学习,而对不具有正确结果的训练数据510的一部分使用无监督学习。强化学习包括机器学习算法520接收关于先前推理的奖励信号,其中奖励信号可以是数值。在强化学习期间,机器学习算法520可以输出推理并接收作为响应的奖励信号,其中机器学习算法520被配置为尝试最大化奖励信号的数值。在一些示例中,强化学习还利用值函数,该值函数提供表示奖励信号随时间提供的数值的预期总和的数值。在一些示例中,机器学习算法520和/或经训练的机器学习模型532可以使用其他机器学习技术来训练,包括但不限于增量学习和课程学习。
在一些示例中,机器学习算法520和/或经训练的机器学习模型532可以使用迁移学习技术。例如,迁移学习技术可以包括经训练的机器学习模型532在一组数据上被预训练,并且使用训练数据510被额外训练。更具体地,机器学习算法520可以根据来自一个或多个计算设备的数据进行预训练,并且将得到的经训练的机器学习模型提供给计算设备CD1,其中CD1旨在在推理阶段504期间执行经训练的机器学习模型。然后,在训练阶段502期间,可以使用训练数据510额外训练预训练的机器学习模型,其中训练数据510可以从计算设备CD1的内核和非内核数据中导出。使用CD1的数据的训练数据510对机器学习算法520和/或预训练的机器学习模型的这种进一步训练可以使用监督或无监督学习来执行。一旦机器学习算法520和/或预训练的机器学习模型已经在至少训练数据510上被训练,训练阶段502就可以完成。经训练的所得的机器学习模型可以用作经训练的机器学习模型532中的至少一个。
特别地,一旦训练阶段502已经完成,如果还没有在计算设备上的话,经训练的机器学习模型532可以被提供给计算设备。推理阶段504可以在经训练的机器学习模型532被提供给计算设备CD1之后开始。
在推理阶段504期间,经训练的机器学习模型532可以接收输入数据530,并生成和输出关于输入数据530的一个或多个相应的推理和/或预测550。这样,输入数据530可以用作经训练的机器学习模型532的输入,用于向核组件和非核组件提供相应的推理和/或预测550。例如,经训练的机器学习模型532可以响应于一个或多个推理/预测请求540来生成推理和/或预测550。在一些示例中,经训练的机器学习模型532可以由其他软件的一部分来执行。例如,经训练的机器学习模型532可以由推理或预测守护进程执行,以便随时可用于根据请求提供推理和/或预测。输入数据530可以包括来自执行经训练的机器学习模型532的计算设备CD1的数据和/或来自除CD1之外的一个或多个计算设备的输入数据。
输入数据530可以包括这里描述的训练数据。其他类型的输入数据也是可能的。
推理和/或预测550可以包括由对输入数据530(和训练数据510)操作的经训练的机器学习模型532产生的任务输出、数值和/或其他输出数据。在一些示例中,经训练的机器学习模型532可以使用输出推理和/或预测550作为输入反馈560。经训练的机器学习模型532还可以依赖过去的推理作为生成新推理的输入。
在训练之后,神经网络的训练版本可以是经训练的机器学习模型532的例子。在该方法中,一个或多个推理/预测请求540的示例可以是预测输入训练示例的分类的请求,并且推理和/或预测550的相应示例可以是预测的分类输出。
图6是根据示例实施例的方法600的框图。块602、604和606可以统称为方法600。在一些示例中,图6的方法600可以由控制系统执行,例如机器人系统100的控制系统118。在进一步的示例中,图6的方法600可以由远离机器人设备的计算设备或服务器设备来执行。在进一步的示例中,方法600可以由一个或多个处理器(例如处理器102)来执行存储在数据存储器(例如数据存储器104)中的程序指令(例如程序指令106)。方法600的执行可以涉及机器人设备,例如关于图1-4示出和描述的机器人设备。此外,方法600的执行可以涉及远离机器人设备和机器人系统100的计算设备或服务器设备。在方法600的执行中也可以使用其他机器人设备。在进一步的示例中,方法600的一些或所有块可以由远离机器人设备的控制系统来执行。在又一些示例中,方法600的不同块可以由位于机器人设备上和/或远离机器人设备的不同控制系统来执行。
本领域技术人员将理解,图6的框图示出了本公开的某些实现的功能和操作。在这点上,框图的每个块可以表示程序代码的模块、片段或一部分,其包括可由一个或多个处理器执行的一个或多个指令,用于实现过程中的特定逻辑功能或步骤。程序代码可以存储在任何类型的计算机可读介质上,例如,包括磁盘或硬盘驱动器的存储设备。
此外,每个块可以表示被连接以执行该过程中的特定逻辑功能的电路。如本领域合理技术人员所理解的,替代实施方式包括在本申请的示例实施方式的范围内,其中功能可以与所示或所讨论的顺序不一致地执行,包括基本并发或相反的顺序,这取决于所涉及的功能。
在框602,方法600包括,对于包括感知系统的机器人设备,确定表示机器人设备在环境中的至少一个未来路径的机器人规划器状态。例如,机器人设备可以是机器人200,并且感知系统可以包括感知外壳212和感知套件214。在一些示例中,感知系统可以包括传感器,例如LIDAR传感器和/或一个或多个相机的系统,以及其他可能的传感器。这些传感器可以共同收集环境数据,并且机器人设备可以基于所收集的环境数据构建环境的一个或多个地图。表示机器人设备在环境中的至少一个未来路径的机器人规划器状态可以基于这些地图。
图7A描绘了示例环境700,包括机器人设备702、桌子710和对象712。在环境700中,机器人设备702可以朝向桌子710导航,如箭头708所示。箭头708可以表示机器人设备在环境中的未来路径的指示。机器人设备702可以具有由线704和706指示的视场。
在一些示例中,包括机器人设备702的未来路径的机器人规划器状态可以是任务驱动的。例如,在图7A中,机器人设备702的任务可以是从桌子710拾取对象712。因此,机器人设备702可以确定到对象712的最短路径,并且机器人规划器状态因此可以指示机器人设备的未来路径由箭头708指示。实际上,除了其他可能性之外,机器人规划器状态可以由二维或三维坐标、或者二维或三维向量(包括方向的坐标)来指示。坐标可以对应于x轴和y轴上的位置,或者x轴、y轴和z轴上的位置。
在一些示例中,可以基于从环境收集的数据来确定包括机器人设备的未来路径的机器人规划器状态。例如,机器人设备可以使用试探法分析从LIDAR传感器和从一个或多个相机的系统获得的数据,以获得可驱动区域。然后可以通过选择可驱动区域来确定机器人设备的未来路径。可驱动区域的选择可以是任务驱动的。换句话说,如果存在多个可驱动区域,机器人设备可以确定有助于推进任务的方向上的路径。例如,机器人设备702可能已经被分配了从桌子710拾取对象712的任务,并且机器人设备702可能已经确定其自身右侧、中心和左侧的区域是可驱动的。然而,机器人设备可以确定由箭头708指示的中心方向是到对象712的最有效路径,因此机器人设备可以确定机器人规划器状态由箭头708指示。
在一些示例中,包括机器人设备的未来路径的机器人规划器状态可以基于陈旧性测量来确定。陈旧性测量可以基于先前收集的传感器数据,并指示对象位置和对象位置处的对象最后被检测到的时间。机器人设备可以确定机器人规划器状态,该状态指示机器人设备的未来路径朝向未过期的区域(例如,已经在阈值时间量内从该区域收集了传感器数据)和/或避开过期的区域(例如,还没有在阈值时间量内从该区域收集传感器数据)。例如,机器人设备702可以在两个可能的路径之间做出决定:直行或左转。机器人设备左侧的区域可以是陈旧的,因此机器人设备可以确定指示至少一个未来路径的机器人规划器状态在箭头708的方向上,以避开具有陈旧数据的路径。
在进一步的示例中,可以基于机器学习模型来确定包括机器人设备的未来路径的机器人规划器状态。机器学习模型可以从环境、任务相关信息(例如,目标的位置)、机器人设备在环境中的位置或其任意组合中获取传感器数据,并输出机器人规划器状态。使用机器学习模型计算的机器人规划器状态可以由坐标和向量表示,和/或由多维层输出表示。例如,多维层可以表示几个坐标和/或向量,以及由坐标/向量表示的每个路径可行的概率。
回到图6,在框604,方法600包括通过将机器人规划器状态至少输入到机器学习模型中来确定感知系统轨迹。在一些示例中,可以为未来的某个时间帧(例如,未来的一秒钟)确定感知系统轨迹。因为环境的变化可能缓慢发生,所以代表机器人设备未来路径的机器人规划器状态可能是确定感知系统轨迹的主要因素之一。
感知系统轨迹可以是机器人设备702可以控制感知系统移动的轨迹。控制感知系统移动通过感知系统轨迹可能有助于收集关于环境的附加信息。例如,机器人设备从收集的环境数据构建的环境地图可以具有机器人设备没有收集任何数据的位置的多个空白区域。附加地或替代地,机器人设备构建的环境地图可以具有机器人设备最近没有收集数据的位置的多个过期区域。因为机器人导航和机器人性能的其他方面可能基于这些地图,空白点和过期区域可能导致机器人设备基于不准确和/或不完整的数据操作,这可能影响机器人性能。因此,机器人设备感知系统的运动对于填补这些信息空白可能变得更加重要。
图7B是由机器人设备在环境700中观察到的环境的传感器数据720的描述,包括桌子710和桌子710上的对象712。如图所示,传感器数据720可以提供关于环境的有限信息。例如,回到上面的例子,机器人设备的任务可以是从桌子710拾取对象712。然而,因为传感器数据720示出了不可驱动的区域,所以机器人设备可以控制感知系统来寻找可驱动区域。
可以通过使用机器学习模型来确定移动感知系统的方向。图7C描绘了示例机器学习模型734,其可用于确定感知系统轨迹736。机器学习模型734可以至少将机器人规划器状态732作为输入。机器人规划器状态732可以包括机器人的预期行进的至少一个方向,如箭头708所示。如后面所讨论的,除了机器人规划器状态732之外,机器学习模型734还可以接受输入。这些输入可以包括跟踪器状态、当前感知系统状态、体素图和/或陈旧性测量。这些输入可以作为向量或多维矩阵输入到机器学习模型734中,然后机器学习模型734可以使用这些向量或多维矩阵来确定和输出感知系统轨迹736。
回到图6,在框606,该方法包括由机器人设备控制感知系统移动通过确定的感知系统轨迹。在一些示例中,在移动通过确定的感知系统轨迹之后,机器人设备可以收集额外的传感器数据。附加地或替代地,在控制感知系统通过感知系统轨迹之后,机器人设备可以被控制沿着由机器人规划器状态指示的路径移动。此外,在控制感知系统通过感知系统轨迹之后,机器人设备可以接收附加的传感器数据,并基于接收到的传感器数据更新任何环境表示。
例如,图7D描绘了机器人设备702控制其感知系统移动通过确定的感知系统轨迹736。如上所述,机器人设备702可以通过将传感器数据720和/或由箭头708指示的机器人规划器状态输入到机器学习模型中(可能与其他数据一起)来确定感知系统轨迹736。机器人设备702可以在已经移动其感知系统通过确定的感知系统轨迹736之后收集附加数据,例如传感器数据760。
如上所述,可以通过应用机器学习模型来确定感知系统轨迹。可以使用至少包括机器人规划器状态和操作者确定的感知系统轨迹的训练数据来训练机器学习模型。作为示例,图8A描绘了示例环境800,其包括机器人设备802。环境800还包括移动机器人设备814,其在箭头816的方向上导航。机器人设备802可以在其感知系统中使用传感器来收集传感器数据。图8B是由机器人设备在环境800中观察到的环境的传感器数据820的描述,包括桌子810和桌子810上的对象812。传感器数据820还可以包括在箭头816的方向上导航的移动机器人设备814。
使用该传感器数据,操作者可以确定移动机器人设备802的感知系统的方向。图8C描绘了机器人设备802和确定的感知系统轨迹872。机器人设备802可以已经收集了传感器数据820,并且机器人规划器状态(例如,机器人设备802打算导航的方向)可以由箭头806指示。传感器数据820和由箭头806指示的机器人设备的未来路径可以被发送给操作者,操作者可以确定移动感知系统的轨迹。确定感知系统轨迹的过程可以以各种方式发生。
如上所述,并且在一些示例中,操作者可以通过能够直接控制机器人设备的移动的操作者设备(例如,操纵杆控制器)来引导感知系统。操作者设备可以接近机器人设备802或集成到机器人设备中。操作者可以出现在机器人设备802旁边,以观察与机器人设备802观察到的环境相似的环境视图。例如,操作者可以观察到如传感器数据820所示的环境的类似视图。操作者可以假设机器人设备802的未来路径是机器人设备802面对的方向和/或机器人设备802的感知系统面对的方向,例如如箭头806所示。操作者可以使用这些关于机器人设备的未来路径的假设来确定移动机器人设备802的感知系统所通过的方向。附加地或替代地,操作者设备可以包括屏幕,通过该屏幕,由机器人设备802获得的传感器数据820和机器人设备802的未来路径可以呈现给操作者。
在进一步的示例中,操作者可以远程控制机器人设备802。机器人设备802可以将表示机器人设备的至少一个未来路径的传感器数据820和机器人规划器状态(如箭头806所示)发送到远程操作者设备,其中远程操作者可以查看传感器数据820和机器人设备的未来路径(如箭头806所示)。如上所述,可以使用操作者的沉浸式设备来实现查看传感器数据820和机器人设备的未来路径。例如,远程操作者设备可以是虚拟现实头戴式耳机,其显示机器人设备正在其中操作的环境的表示。基于传感器数据和机器人设备的未来路径,远程操作者可以决定沿着感知系统轨迹872移动感知系统可以是下一个逻辑步骤。远程操作者设备可以向机器人设备802发送指示沿着感知系统轨迹872移动感知系统的指令。机器人设备802可以执行指令,之后机器人设备802可以收集传感器数据860。
不管使用什么方法来指导机器人设备的感知系统的移动,操作者指导的感知系统轨迹可以通过向操作者设备发送至少一个未来的机器人路径来收集。传感器数据、环境地图和其他环境数据也可以被发送到操作者设备。操作者设备可以接收并显示接收到的未来机器人路径和接收到的环境数据。监控操作者设备的操作者可以确定移动感知系统的轨迹,并且所确定的感知系统轨迹可以被传输到机器人设备。机器人设备可以接收指令并通过感知系统轨迹移动感知系统。
在某些情况下,可以重复该过程以收集与不同情况下的感知系统轨迹相关的附加数据。例如,在按照指示移动感知系统之后,机器人设备可以收集附加的传感器数据,并确定机器人设备的进一步未来路径(其可以与机器人设备的先前的未来路径相同)。机器人设备的进一步未来路径和附加传感器数据可以被传输到操作者设备,以便操作者确定进一步的感知系统轨迹。
在一些示例中,在监控操作者设备的操作者确定移动感知系统所通过的轨迹之后,操作者设备可以将至少未来机器人路径和确定的感知系统轨迹发送到服务器设备以存储为训练数据。操作者设备还可以发送接收到的传感器数据和用于确定所确定的感知系统轨迹的任何其他环境数据,以存储为训练数据。服务器设备可以将该信息与由各种操作者使用从在各种环境中操作的机器人设备收集的各种远程设备确定的其他感知系统轨迹一起存储。
与机器人设备和环境的操作相关的其他数据也可以被发送到操作者设备,并存储为与确定的感知系统轨迹相关联的训练数据。例如,环境可以包括各种对象,包括移动/可移动的对象,如图8A-8C所示。具体地,传感器数据820描绘了机器人设备814在箭头816的方向上导航。因此,为了确定机器人设备802的感知系统轨迹,跟踪环境中的对象(包括机器人设备814)可能是有用的。
跟踪环境中的项目可以通过跟踪器状态来完成,可以通过使用感知系统和感知系统上的传感器(例如,LIDAR传感器、相机等)监控环境中的对象来确定跟踪器状态。跟踪器状态可以指示对象位置和/或对象的边界框,以及每个对象的轨迹。如上所述,位置和边界框可以由坐标表示,轨迹可以由坐标、向量等表示。在图8A-8C中,跟踪器状态可以包括机器人设备814的位置和表示机器人设备814导航方向的箭头816。
在一些示例中,训练数据可以包括环境中对象的坐标位置和每个相应对象的边界框、指示对象在环境中移动的方向的跟踪器状态、指示可驱动区域、占用区域等的感知系统状态。对应于过去环境数据的陈旧性测量。在一些示例中,这些因素可以包括在训练数据中,作为机器学习模型用来确定感知系统轨迹的输入。这些因素可以在下面进一步详细讨论。
在一些示例中,训练数据中的每个元素(例如,输入和相关联的输出)可以与一个或多个标签相关联,例如环境的特征(例如,杂乱的办公环境、仓库等)、收集数据的时间、收集数据时与机器人设备的操作相关的任务信息等等。这些标签可用于组织数据并促进更准确的预测。在一些示例中,数据可以存储在远程设备和/或机器人设备中,以代替存储在服务器设备中或除了存储在服务器设备中之外。该数据可用作机器学习模型的训练数据,该机器学习模型可用于确定机器人设备的感知系统轨迹。
图8D描绘了机器学习模型884,其可以在包括机器人规划器状态890的机器人规划器状态和包括跟踪器状态892的跟踪器状态的输入和包括感知系统轨迹872的感知系统轨迹的输出上进行训练。机器人规划器状态890可以至少包括机器人设备的预期行进的方向,如箭头806所示。跟踪器状态892可以至少包括环境中对象的预期行进方向,例如机器人804的行进方向,如箭头802所示。
一般来说,用于确定感知系统轨迹的机器学习模型至少可以将机器人规划器状态作为输入。然而,除了机器人规划器状态之外,机器学习模型还可以接受其他输入,包括跟踪器状态、当前感知系统状态、体素图和陈旧性测量。这些可能的机器学习模型输入的任何组合可以用作机器学习模型的输入,以确定感知系统轨迹。
在一些示例中,机器学习模型可以将当前感知系统状态作为附加输入。当前感知系统状态可以表示环境中的对象位置(例如,图8A-8D的机器人设备802)。在其他示例中,机器学习模型可以将环境的体素图作为输入。环境的体素图可以是环境的三维表示,包括被占据的单元和未被占据的单元,其中每个单元表示环境中的三维空间。
在进一步的示例中,机器学习模型可以将对应于过去环境数据的陈旧性测量作为附加输入。例如,陈旧性测量可以指示对象位置和上次检测到该对象位置的对象的时间。如果对象位置在机器人设备附近并且预期对机器人设备可见,则操作者可以基于陈旧性数据决定和/或机器学习模型可以确定感知系统应该被控制以查看对象位置。
在一些示例中,机器学习模型可以首先在一整套训练数据上进行训练,包括机器人规划器状态和与各种环境、操作者、一天中的时间、任务等相关联的相应感知系统轨迹。在对整个训练数据集进行训练之后,机器学习模型然后可以对特定于机器学习模型的应用的训练数据的子集进行训练。
例如,机器人设备可以对其所在的环境进行分类。这可以基于从感知系统中的传感器获得的传感器数据和/或基于来自机器人设备创建的环境地图的数据。替代地或附加地,机器人设备可以访问存储在机器人设备或服务器设备上的环境特征。通过使用这些信息源,机器人设备802可以确定它正在办公环境中导航,并且基于具有标签“办公环境”的训练数据的子集来指导经训练的机器学习模型进行微调(例如,进一步训练)。作为另一个例子,机器人设备802可以确定环境相对较空,并且基于没有标签“拥挤”的训练数据的子集来指导经训练的机器学习模型进行微调。其他例子也是可能的。
在一些示例中,机器学习模型可以被周期性地训练或微调。例如,机器学习模型可以在大量训练数据已经在服务器设备中建立之后被训练。可以使用包括一定数量的可用机器人规划器状态和相关联的感知系统轨迹的训练数据来训练机器人设备,并且机器人设备可以跟踪存储在服务器设备上的进一步的机器人规划器状态和相关联的感知系统轨迹的数量。如果存储在服务器设备上的进一步的机器人规划器状态和相关联的感知系统轨迹的数量超过阈值数量,则机器人设备可以基于包括进一步的机器人规划器状态和相关联的感知系统轨迹的训练数据来重新训练机器学习模型。每当机器人设备移动到另一环境时,每隔几天周期性地,在操作者中断时,或其任何组合,可以训练或微调机器学习模型。
机器学习模型的训练和微调可以发生在任何设备上,包括但不限于机器人设备、服务器设备、操作者设备之一或另一设备。经训练的机器学习模型可以被传输到机器人设备,并且机器人设备可以输入必要的输入(例如,机器人规划器状态、跟踪器状态、当前感知系统状态、体素图、陈旧性测量和/或由机器学习模型指定的它们的组合)以确定感知系统轨迹。
三.结论
本公开不限于本申请中描述的特定实施例,这些实施例旨在作为各个方面的图示。在不脱离其精神和范围的情况下,可以进行许多修改和变化,这对于本领域技术人员来说是显而易见的。除了这里列举的那些之外,本公开范围内的功能等效的方法和设备对于本领域技术人员来说将从前述描述中显而易见。这种修改和变化旨在落入所附权利要求的范围内。
以上详细描述参照附图描述了所公开的系统、设备和方法的各种特征和功能。在附图中,相似的符号通常标识相似的组件,除非上下文另有规定。这里和附图中描述的示例实施例并不意味着是限制性的。在不脱离这里呈现的主题的精神或范围的情况下,可以利用其他实施例,并且可以进行其他改变。容易理解的是,本公开的方面,如本文一般描述的,并在附图中示出的,可以以各种不同的配置来排列、替换、组合、分离和设计,所有这些都在本文中明确地考虑。
表示信息处理的方框可以对应于可以被配置成执行本文描述的方法或技术的特定逻辑功能的电路。替代地或附加地,表示信息处理的方框可以对应于程序代码(包括相关数据)的模块、片段或一部分。程序代码可以包括一个或多个可由处理器执行的指令,用于实现方法或技术中的特定逻辑功能或动作。程序代码或相关数据可以存储在任何类型的计算机可读介质上,例如包括磁盘或硬盘驱动器或其他存储介质的存储设备。
计算机可读介质还可以包括非暂时性计算机可读介质,例如短期存储数据的计算机可读介质,如寄存器存储器、处理器高速缓存和随机存取存储器(RAM)。计算机可读介质还可以包括存储程序代码或数据较长时间的非暂时性计算机可读介质,例如辅助或持久长期存储器,例如只读存储器(ROM)、光盘或磁盘、光盘只读存储器(CD-ROM)。计算机可读介质也可以是任何其它易失性或非易失性存储系统。例如,计算机可读介质可以被认为是计算机可读存储介质或有形存储设备。
此外,表示一个或多个信息传输的方框可以对应于同一物理设备中的软件或硬件模块之间的信息传输。然而,其他信息传输可以在不同物理设备中的软件模块或硬件模块之间进行。
图中所示的特定安排不应被视为限制性安排。应该理解,其他实施例可以或多或少地包括给定图中所示的每个元件。此外,可以组合或省略一些所示的元素。此外,示例实施例可以包括图中未示出的元素。
虽然本文已经公开了各种方面和实施例,但是其他方面和实施例对于本领域技术人员来说将是显而易见的。这里公开的各个方面和实施例是为了说明的目的,而不是为了限制,真实范围由以下权利要求指示。
Claims (20)
1.一种方法,包括:
对于包括感知系统的机器人设备,确定表示机器人设备在环境中的至少一个未来路径的机器人规划器状态;
通过将至少所述机器人规划器状态输入到基于训练数据训练的机器学习模型中来确定感知系统轨迹,所述训练数据包括对应于多个操作者指导的感知系统轨迹的至少多个机器人规划器状态;和
通过机器人设备控制感知系统移动通过所确定的感知系统轨迹。
2.根据权利要求1所述的方法,其中所述方法还包括:
通过机器人设备确定表示当前环境信息的跟踪器状态,其中跟踪器状态也被输入到机器学习模型中,其中训练数据包括对应于多个操作者指导的感知系统轨迹的多个跟踪器状态,并且已经使用包括多个跟踪器状态的训练数据来训练机器学习模型。
3.根据权利要求2所述的方法,其中所述跟踪器状态包括多个对象位置和多个对象轨迹,其中所述多个对象位置的每个对象位置对应于所述多个对象轨迹中的一个对象轨迹。
4.根据权利要求3所述的方法,其中所述对象位置每个由指示对象边界框的多个坐标表示。
5.根据权利要求1所述的方法,其中所述方法还包括:
确定当前感知系统状态,其中当前感知状态包括环境中对象位置的多个指示,其中当前感知状态也被输入到机器学习模型中,其中训练数据包括多个感知状态,并且已经使用包括多个感知状态的训练数据来训练机器学习模型。
6.根据权利要求1所述的方法,其中所述方法还包括:
根据从感知系统接收的环境数据确定环境的体素图,其中所述体素图也被输入到机器学习模型中,其中所述训练数据包括多个不同环境的多个体素图,并且已经使用包括所述多个不同环境的多个体素图的训练数据来训练机器学习模型。
7.根据权利要求1所述的方法,还包括:
确定对应于过去环境数据的陈旧性测量,其中陈旧性测量和相应的过去环境数据也被输入到机器学习模型中,其中训练数据包括多个陈旧性测量和多个过去环境数据,并且已经使用包括多个陈旧性测量和多个过去环境数据的训练数据来训练机器学习模型。
8.根据权利要求7所述的方法,其中确定所述陈旧性测量是在确定所述机器人规划器状态之前,其中确定所述机器人规划器状态是基于所确定的陈旧性测量。
9.根据权利要求1所述的方法,其中所述机器人规划器状态是表示所述机器人设备在所述环境中的至少一个未来路径的多个坐标。
10.根据权利要求1所述的方法,其中所述机器学习模型是第一机器学习模型,并且其中所述机器人规划器状态是第二机器学习模型的输出。
11.根据权利要求1所述的方法,其中所述机器人规划器状态是第二机器人规划器状态,其中所述方法还包括:
确定第一机器人规划器状态和对应于所述第一机器人规划器状态的环境数据;
向远程设备发送机器人数据,所述机器人数据包括所述第一机器人规划器状态和环境数据,其中所述机器人数据被呈现给所述远程设备处的操作者;
从所述远程设备接收第一操作者指导的感知系统轨迹;和
存储要包括在训练数据中的第一操作者指导的感知系统轨迹。
12.根据权利要求1所述的方法,其中所述多个机器人规划器状态包括从多个机器人设备收集的、在多个环境中收集的、并呈现给多个操作者以确定所述多个操作者指导的感知系统轨迹的机器人规划器状态。
13.根据权利要求1所述的方法,其中所述方法还包括:
从感知系统接收代表环境的传感器数据,其中所述传感器数据也被输入到所述机器学习模型中,其中所述训练数据还包括与所述多个机器人规划器状态和所述多个操作者指导的感知系统轨迹相关的训练传感器数据;
至少基于所述传感器数据确定环境表示;
在控制所述感知系统移动通过所确定的感知系统轨迹之后,从所述感知系统接收附加的传感器数据;和
基于所述附加传感器数据更新所述环境表示。
14.根据权利要求1所述的方法,其中所述方法还包括:
识别环境分类,其中基于微调训练数据进一步训练机器学习模型,微调训练数据包括在根据识别的环境分类分类的一个或多个其他环境中收集的机器人规划器状态和操作者指导的轨迹。
15.根据权利要求1所述的方法,其中机器人设备的至少一个未来路径由对应于x轴和y轴上的位置的一对坐标数或对应于x轴、y轴和z轴上的位置的三个坐标数表示。
16.根据权利要求1所述的方法,其中所述方法还包括:
在控制感知系统移动通过所确定的感知系统轨迹之后,控制机器人设备沿着环境中的至少一个未来路径移动。
17.一种机器人设备,包括:
感知系统;和
控制系统,其配置为:
确定表示所述机器人设备在环境中的至少一个未来路径的机器人规划器状态;
通过将至少所述机器人规划器状态输入到基于训练数据训练的机器学习模型中来确定感知系统轨迹,所述训练数据包括对应于多个操作者指导的感知系统轨迹的至少多个机器人规划器状态;和
控制感知系统移动通过所确定的感知系统轨迹。
18.根据权利要求17所述的机器人设备,其中所述机器人设备的感知系统包括LIDAR传感器和多个相机,其中所述控制系统还被配置为:
从所述LIDAR传感器和所述多个相机接收环境数据;
基于所述环境数据,确定表示当前环境信息的跟踪器状态,其中所述跟踪器状态也被输入到所述机器学习模型中,其中所述训练数据包括多个跟踪器状态,其中所述机器学习模型已经使用包括所述多个跟踪器状态的训练数据来训练。
19.根据权利要求17所述的机器人设备,其中所述控制系统进一步配置为:
确定对应于过去环境数据的陈旧性测量,其中陈旧性测量和相应的过去环境数据也被输入到机器学习模型中,其中训练数据包括多个陈旧性测量和多个过去环境数据,并且已经使用包括多个陈旧性测量和多个过去环境数据的训练数据来训练机器学习模型。
20.一种非暂时性计算机可读介质,包括可由至少一个处理器执行以使所述至少一个处理器执行功能的程序指令,所述功能包括:
对于包括感知系统的机器人设备,确定表示机器人设备在环境中的至少一个未来路径的机器人规划器状态;
通过将至少所述机器人规划器状态输入到基于训练数据训练的机器学习模型中来确定感知系统轨迹,所述训练数据包括对应于多个操作者指导的感知系统轨迹的至少多个机器人规划器状态;和
控制感知系统移动通过所确定的感知系统轨迹。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163244902P | 2021-09-16 | 2021-09-16 | |
US63/244,902 | 2021-09-16 | ||
PCT/US2022/076445 WO2023044356A1 (en) | 2021-09-16 | 2022-09-14 | Learning from demonstration for determining robot perception motion |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117957095A true CN117957095A (zh) | 2024-04-30 |
Family
ID=83658351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280062519.5A Pending CN117957095A (zh) | 2021-09-16 | 2022-09-14 | 从演示中学习确定机器人感知运动 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230084774A1 (zh) |
EP (1) | EP4401930A1 (zh) |
CN (1) | CN117957095A (zh) |
WO (1) | WO2023044356A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118143950B (zh) * | 2024-04-16 | 2024-08-13 | 江苏宁昆机器人智能科技有限公司 | 基于高级感知的工业机器人精准作业方法及系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1920393A2 (en) * | 2005-07-22 | 2008-05-14 | Yogesh Chunilal Rathod | Universal knowledge management and desktop search system |
US9626566B2 (en) * | 2014-03-19 | 2017-04-18 | Neurala, Inc. | Methods and apparatus for autonomous robotic control |
US9880561B2 (en) * | 2016-06-09 | 2018-01-30 | X Development Llc | Sensor trajectory planning for a vehicle |
US10987804B2 (en) * | 2016-10-19 | 2021-04-27 | Fuji Xerox Co., Ltd. | Robot device and non-transitory computer readable medium |
US11148288B2 (en) * | 2017-02-25 | 2021-10-19 | Diligent Robotics, Inc. | Systems, apparatus, and methods for robotic learning and execution of skills |
US11514293B2 (en) * | 2018-09-11 | 2022-11-29 | Nvidia Corporation | Future object trajectory predictions for autonomous machine applications |
US11584004B2 (en) * | 2019-12-17 | 2023-02-21 | X Development Llc | Autonomous object learning by robots triggered by remote operators |
EP4115347A1 (en) * | 2020-03-06 | 2023-01-11 | Embodied Intelligence, Inc. | Trajectory optimization using neural networks |
US11768504B2 (en) * | 2020-06-10 | 2023-09-26 | AI Incorporated | Light weight and real time slam for robots |
JP7492440B2 (ja) * | 2020-11-10 | 2024-05-29 | 株式会社日立製作所 | ロボット制御システム、ロボット制御方法及びプログラム |
WO2022170279A1 (en) * | 2021-02-08 | 2022-08-11 | Diligent Robotics, Inc. | Systems, apparatuses, and methods for robotic learning and execution of skills including navigation and manipulation functions |
-
2022
- 2022-09-14 CN CN202280062519.5A patent/CN117957095A/zh active Pending
- 2022-09-14 EP EP22786702.5A patent/EP4401930A1/en active Pending
- 2022-09-14 WO PCT/US2022/076445 patent/WO2023044356A1/en active Application Filing
- 2022-09-14 US US17/932,271 patent/US20230084774A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4401930A1 (en) | 2024-07-24 |
US20230084774A1 (en) | 2023-03-16 |
WO2023044356A1 (en) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114728417B (zh) | 由远程操作员触发的机器人自主对象学习的方法及设备 | |
US20230247015A1 (en) | Pixelwise Filterable Depth Maps for Robots | |
US11642780B2 (en) | Monitoring of surface touch points for precision cleaning | |
US11945106B2 (en) | Shared dense network with robot task-specific heads | |
US11915523B2 (en) | Engagement detection and attention estimation for human-robot interaction | |
US11766783B2 (en) | Object association using machine learning models | |
CN114072255A (zh) | 移动机器人传感器配置 | |
US20230084774A1 (en) | Learning from Demonstration for Determining Robot Perception Motion | |
US11407117B1 (en) | Robot centered augmented reality system | |
US20220374295A1 (en) | Systems and Methods for Inter-Process Communication within a Robot | |
US11618167B2 (en) | Pixelwise filterable depth maps for robots | |
WO2022115816A1 (en) | Fusing a static large field of view and high fidelity moveable sensors for a robot platform | |
US20240202969A1 (en) | Depth-Based 3D Human Pose Detection and Tracking | |
US12090672B2 (en) | Joint training of a narrow field of view sensor with a global map for broader context | |
WO2024107837A1 (en) | Semantic heat map for robot object search | |
US12085942B1 (en) | Preventing regressions in navigation determinations using logged trajectories | |
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 |