CN114080583B - 视觉教导和重复移动操纵*** - Google Patents

视觉教导和重复移动操纵*** Download PDF

Info

Publication number
CN114080583B
CN114080583B CN202080050023.7A CN202080050023A CN114080583B CN 114080583 B CN114080583 B CN 114080583B CN 202080050023 A CN202080050023 A CN 202080050023A CN 114080583 B CN114080583 B CN 114080583B
Authority
CN
China
Prior art keywords
task
teaching
environment
robotic device
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202080050023.7A
Other languages
English (en)
Other versions
CN114080583A (zh
Inventor
J·马
J·彼得森
U·纳加拉詹
M·拉斯基
D·赫尔米克
J·博德斯
K·尚卡尔
K·斯通
M·巴伊拉查里亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Research Institute Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Research Institute Inc filed Critical Toyota Research Institute Inc
Publication of CN114080583A publication Critical patent/CN114080583A/zh
Application granted granted Critical
Publication of CN114080583B publication Critical patent/CN114080583B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/375673-D vision, stereo vision, with two cameras
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40136Stereo audio and vision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40543Identification and location, position of components, objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40564Recognize shape, contour of object, extract position and orientation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

提出了用于控制机器人设备的方法。该方法包括在任务环境内放置机器人设备。该方法还包括将任务环境中场景的任务图像的描述符映射到教导环境的教导图像。该方法还包括基于映射定义任务图像和教导图像之间的相对变换。此外,该方法包括基于相对变换更新一组参数化行为的参数以执行与教导图像对应的任务。

Description

视觉教导和重复移动操纵***
相关申请的交叉引用
本申请要求于2019年9月13日提交的题为“VIRTUAL TEACH AND REPEAT FORMOBILE MANIPULATION SYSTEM”的美国临时专利申请第16/570,852号的权益,该申请要求于2019年7月23日提交的题为“KEYFRAME MATCHER”的美国临时专利申请第62/877,792号、于2019年7月23日提交的题为“VISUAL TEACH AND REPEAT FOR MANIPULATION-TEACHINGVR”的美国临时专利申请第62/877,791号、以及于2019年7月23日提交的题为“VISUALIZATION”的美国临时专利申请第62/877,793号的权益,其公开内容通过引用整体并入。
技术领域
本公开的特定方面通常涉及机器人设备,并且更具体地,涉及用于通过被参数化为可重复行为的虚拟现实(VR)动作来教导机器人设备的***和方法。
背景技术
人们在家中或其他环境中执行的任务变化很大。随着机器人辅助技术改进,机器人将被编程以执行人们在环境(诸如房屋)中执行的多种任务。这使得开发有成本效率的专用解决方案变得困难。此外,环境、对象和任务是高度非结构化和多样化的。虽然有些对象和任务是类似的,但机器人也可能遇到许多独特的对象和任务。
目前,机器人可以被编程和/或教导以执行任务。在传统***中,任务特定于方向和起点。当对象的起点和/或方向/定位与所编程或所教导的任务不一致时,期望改进机器人辅助***以执行相同的任务。
发明内容
在本公开的一个方面,公开了一种用于控制机器人设备的方法。该方法包括在任务环境内放置机器人设备。该方法还包括将任务环境中场景的任务图像的描述符映射到教导环境的教导图像。该方法还包括基于映射定义任务图像和教导图像之间的相对变换。该方法还包括基于相对变换更新一组参数化行为的参数以执行与教导图像对应的任务。
在本公开的另一方面,公开了一种其上记录有非暂时性程序代码的非暂时性计算机可读介质。该程序代码用于控制机器人设备。该程序代码由处理器执行并且包括在任务环境内放置机器人设备的程序代码。该程序代码还包括将任务环境中场景的任务图像的描述符映射到教导环境的教导图像的程序代码。该程序代码还包括基于映射定义任务图像和教导图像之间的相对变换的程序代码。该程序代码还包括基于相对变换更新一组参数化行为的参数以执行与教导图像对应的任务的程序代码。
本公开的另一方面涉及一种用于控制机器人设备的装置。该装置具有存储器和耦合到该存储器的一个或多个处理器。该一个或多个处理器被配置为在任务环境内放置机器人设备。该一个或多个处理器还被配置为将任务环境中场景的任务图像的描述符映射到教导环境的教导图像。该一个或多个处理器还被配置为基于映射定义任务图像和教导图像之间的相对变换。该一个或多个处理器还被配置为基于相对变换更新一组参数化行为的参数以执行与教导图像对应的任务。
这已经相当宽泛地概述了本公开的特征和技术优点,以便可以更好地理解下面的具体实施方式。下面将描述本公开的附加特征和优点。本领域技术人员应当理解,本公开可以容易地用作修改或设计用于实现与本公开相同目的的其他结构的基础。本领域技术人员也应该认识到,这样的等效构造未背离所附权利要求中阐述的本公开的教导。当结合附图考虑时,从以下描述中将更好地理解在其组织和操作方法两者方面被认为是本公开的特征的新颖特征以及进一步的目的和优点。然而,应当清楚地理解,提供每一附图仅用于说明和描述的目的,并不旨在作为对本公开的限制的限定。
附图说明
当与附图结合使用时,本公开的特征、性质和优点将从下面阐述的具体实施方式变得更加明显,在附图中相同的附图标记在全文中相应地标识。
图1说明了根据本公开的各个方面的操作员在训练期间使用虚拟现实平台控制机器人设备的示例。
图2A说明了根据本公开的各个方面的机器人设备在环境中操作的示例。
图2B说明了根据本公开的各个方面的提供给机器人设备的操作员的视频馈送的示例。
图3A说明了机器人设备相对于图1所说明的环境和起始位置,从不同起始位置但相同环境执行任务的示例。
图3B说明了机器人设备相对于图1所说明的环境和起始位置,从不同起始位置和类似但不同环境执行任务的示例。
图4说明了根据本公开的各个方面的机器人设备在环境中操作的示例。
图5是说明根据本公开的各个方面的机器人控制***的硬件实现的示例的图。
图6说明了根据本公开的各个方面的用于所教导的行为的图序列的示例。
图7说明了根据本公开的各个方面的用于机器人***的软件模块的示例。
图8说明了根据本公开的各个方面的用于控制机器人设备的方法。
具体实施方式
下面结合附图阐述的具体实施方式旨在作为对各种配置的描述并且不旨在表示可以实践在此描述的概念的唯一配置。具体实施方式包括用于提供对各种概念的透彻理解的特定细节。然而,对于本领域技术人员来说显而易见的是,可以在没有这些特定细节的情况下实践这些概念。在某些情况下,众所周知的结构和组件以框图形式示出以避免混淆这些概念。
基于所述教导,本领域技术人员应当理解,本公开的范围旨在覆盖本公开的任何方面,无论是独立于本公开的任何其他方面还是与本公开的任何其他方面结合实施。例如,可以使用任何数量的所阐述的各个方面来实现装置,或者可以实践方法。此外,本公开的范围旨在覆盖使用除了/不同于本公开阐述的各个方面之外的其他结构、功能或结构和功能来实践的这种装置或方法。应当理解,本公开的任何方面都可以由权利要求的一个或多个元素体现。
词语“示例性”在本文中用于意味着“用作示例、实例或说明”。在本文中描述为“示例性”的任何方面不一定被解释为优于或胜于其他方面。
尽管在本文中描述了特定方面,但是这些方面的许多变化和排列落入本公开的范围内。尽管提到了优选方面的一些益处和优点,但本公开的范围不旨在限于特定的益处、用途或目标。相反,本公开的各个方面旨在广泛地适用于不同的技术、***配置、网络和协议,其中一些在附图中和以下优选方面的描述中通过示例的方式说明。具体实施方式和附图仅是对本公开的说明而非限制,本公开的范围由所附权利要求及其等效物限定。
世界人口正在老龄化,65岁以上的人口与65岁以下人口的比率在未来十年内大幅增加。机器人辅助***可以辅助人们在适当的地方更长寿,并过上更高质量的生活。当然,机器人辅助***不限于辅助老年人。机器人辅助***可以对各种环境和/或所有年龄段的人都有帮助。
目前,机器人可以被编程和/或被教导以执行任务。该任务特定于方向和起点。通常,当对象的起点和/或方向/定位与所编程或所教导的任务不一致时,机器人无法执行相同的任务。在本公开中,机器人辅助***的机器人还可以被称为机器人设备。
机器人在物理上能够进行移动操纵。机器人的可操纵性是根据关节配置改变末端执行器位置的能力。在一种配置中,机器人还配备了自动全身控制和规划。这使人/人类操作员能够在虚拟现实(VR)中无缝演示任务空间末端执行器运动,而很少或根本不关心运动学约束或机器人的姿势。该机器人包括在平移/倾斜云台上的一个或多个视场红-绿-蓝和深度(RGB-D)传感器,这给予了人类操作员在虚拟现实中执行任务的重要情境。RGB-D图像是RGB图像与其对应的深度图像的组合。深度图像是图像通道,其中每个像素与像平面和RGB图像中对应对象之间的距离有关。
然后本公开的各个方面涉及移动操纵硬件和软件***(例如,机器人设备),该***在利用来自人类操作员在虚拟现实中的演示被教导任务之后,能够在不同环境中自主地执行复杂的人类级别的任务。例如,人类操作员可以通过虚拟现实平台在环境中操作机器人设备来教导机器人设备在环境中操作。
在一方面,机器人设备被放置在环境中并且场景的图像数据被收集。然后机器人设备被控制(例如,通过虚拟现实界面)以执行任务。在虚拟现实中将人类操作员的视野限制到训练期间机器人设备的视野,确保机器人设备具有充足的信息以自行执行任务。
向机器人设备教导动作/任务的方法可以包括通过虚拟现实界面将操作员执行的行为参数化。例如,虚拟现实界面可以包括操作员在穿戴描绘VR环境的头戴式设备时操纵的飞浆(paddle)、手持控制器、画笔工具(paintbrush tools)、擦拭工具(wiping tools)和/或放置工具(placement tools)的使用。从而,人类操作员不是教导直接的任务空间运动,而是教导一组参数化的原语(或行为)。参数化的原语组合了无碰撞运动规划(collision free motion planning)和混合(位置和力)笛卡尔控制,以在执行期间减少所教导的参数并提供鲁棒性。
参数化行为是指通过将任务分块成较少数量的离散行为来学习该任务。每个行为由一组参数(诸如关节角度变化、旋转角度等)定义。这些参数的值可以基于机器人在执行任务时的情况被配置和更新。可以从一个学习的任务中学习和提取参数化行为,并将其与其他任务组合以形成更大的任务。可以实施参数化行为(诸如打开具有旋转把手的门),以执行打开任何门把手(例如,需要三十(30)度旋转的门把手或需要六十(60)度或更多旋转的门把手)。例如,旋转度数可以是定义打开具有旋转门把手的门的参数化行为的一个参数。
所执行的任务被定义为参数化行为集合并且与执行动作的场景的图像数据相关。使用鲁棒学习密集视觉关键点嵌入(robust learned dense visual keypointembedding)将参数化行为链接到场景,并利用基于虚拟现实的场景相关部分的掩码。在一种配置中,将测试图像的像素与参考图像的像素进行比较。参考图像可以被称为关键帧。可以在训练期间获得关键帧。关键帧的使用为姿态和图像变换提供了不变性。当匹配像素的数量大于阈值时,视觉***确定测试图像与关键帧匹配。在一种配置中,视觉***比较像素描述符以识别测试图像和关键帧的匹配像素。像素描述符包括像素级信息和深度信息。像素级信息包括诸如像素的RGB值以及图像内的像素/周围像素的上下文之类的信息。
为了执行任务,机器人设备可以被放置(相对于训练期间的初始位置)在相同或类似的环境中。机器人设备可以被放置在不同的起始定位,并且可选地以不同的起始姿态(例如,将关节角度调整到不同的起始位置)相对。机器人可以被分配执行相同的任务(例如,一组参数化行为)(诸如拿起瓶子、打开柜子和将瓶子放在柜子内)的任务(无需人类操作员的控制)。例如,机器人可以通过更新在虚拟现实控制序列期间所教导的行为参数来执行相同的任务。可以基于机器人的当前姿态和/或定位,相对于训练期间使用的姿态和/或定位来更新参数。
为了更新参数,机器人设备捕获场景的初始图像并将像素和/或密集神经网络描述符从新图像映射到训练期间的图像,其被称为关键帧。关键帧是带有深度信息的图像的快照,机器人设备可以看到该图像。映射定义了新图像和训练期间的图像(例如,关键帧)之间的相对变换。
相对变换提供了关键帧到新图像的映射。可以通过匹配不同图像中的像素和/或密集神经网络描述符来执行映射。相对变换可以由机器人的x轴位置、y轴位置、z轴位置、滚动、俯仰和偏航的变化来定义。相对变换可用于将参数化行为的参数从所教导的参数更新为观察到的情况。
相对变换可以应用于参数化行为。通过对参数化行为应用相对变换,即使起始位置和/或姿态已经改变,机器人设备也可以执行与先前教导的相同的任务。机器人***可以连续地将来自当前场景的像素和/或密集神经网络描述符映射到来自关键帧的那些像素和/或密集神经网络描述符,使得可以连续对参数化行为进行调整。例如,相对变换可以应用于由一组参数化行为定义的所教导的动作(诸如拉开抽屉、打开门、拿起杯子或瓶子等)。
在一些方面,动作可以与整个场景相关和/或特定于对象。例如,拿起瓶子的动作可以包括使用与整个场景相关的关键帧来导航到瓶子,并且一旦接近瓶子,就可以独立于环境分析特定于瓶子的关键帧。导航行为可用于将机器人从一个点移动到另一点。这可以允许机器人定位可能在环境内任何地方的对象(诸如瓶子),然后在“拿起”动作的训练期间,无论其定位于何处,都可以执行诸如“拿起”瓶子之类的任务。操纵行为用于移动机器人的各个部件(例如,躯干和/或手臂)以与所期望对象接触。
图1说明了根据本公开的各个方面的操作员100在训练期间使用虚拟现实平台控制机器人设备106的示例。如图1所示,操作员100装备有视觉***102和用于控制机器人设备106的运动控制器104(例如,手势跟踪***)。视觉***102可以提供视频馈送以及捕获操作员100的注视。操作员100可以在远离机器人106的定位的定位处。在本示例中,机器人设备106位于厨房108中并且操作员100在与厨房108不同的定位的定位(诸如机器人控制中心114)处。
视觉***102可以提供机器人设备106的定位的视频馈送。例如,视觉***102可以基于机器人设备106的前视视角提供厨房108的视图。可以提供其他视角(诸如360度视图)。经由机器人设备106的一个或多个视觉传感器(诸如摄像机)提供视角。视觉***102不限于如图1所示的头戴式设备。视觉***102也可以是监视器110、图像投影仪或能够显示来自机器人设备106的视频馈送的其它***。
机器人设备106的一个或多个动作可以经由运动控制器104来控制。例如,运动控制器104捕获操作员100的手势并且机器人设备106模仿捕获到的手势。操作员100可以经由运动控制器104控制机器人设备106的移动、四肢运动和其他动作。例如,操作员100可以控制机器人设备106抓住桌子120上的瓶子116并打开柜子118并且将瓶子116放在柜子118中。在这种情况下,瓶子116处于直立位置或姿态。操作员100执行的行为通过虚拟现实界面被参数化。每个行为由一组参数定义(诸如关节角度变化、旋转角度等)。这些参数的值可以基于机器人在执行任务时的情况被配置和更新。可以从学习的任务中学习和提取参数化行为,并将其与其他任务组合在一起形成更大的任务。
在一方面,用于训练的虚拟现实界面可以包括穿戴头戴式设备和手持控制器的用户,该控制器允许机器人运动的交互式操作控制。虚拟现实头戴式设备中描绘的环境是从机器人设备106看到的真实环境的虚拟现实环境(诸如图1中描绘的视图)。另一视图可以包括如下面图2A和图2B中描绘的操作员视图。在一些方面,用户界面提供画笔工具来注释或突出要对其施加作用的对象(诸如台面上的瓶子)。例如,通过可以由虚拟现实生成器生成的所描绘的环境体素图,操作员/用户可以绘制要与之交互的对象占据的体素图的片段。其他用户工具包括擦除工具或放置工具,操作员可以在应被执行动作的体素图中绘制框。
本公开的各个方面不限于经由运动控制器104来捕获操作员100的手势。可以设想其他类型的手势捕获***。操作员100可以经由无线连接112控制机器人设备106。另外,机器人设备106可以经由无线连接112向操作员100提供反馈(诸如视频馈送)。
图2A说明了根据本公开的各个方面的操作员(未示出)在用餐环境202中控制机器人设备200的示例。为清楚起见,图2A提供了用餐环境202的俯视图。如图2A所示,用餐环境202包括餐桌204、水槽206、带有勺子218的抽屉208和柜台210。操作员在远离用餐环境202的定位处。
在图2A的示例中,机器人设备200已经被控制以将盘子212、刀214和叉子216放置在餐桌204上。在将盘子212、刀214和叉子216放置在餐桌204上之后,操作员可以朝向勺子218做手势。该手势可以包括肢体222朝向勺子218的移动220、将视野224(例如,注视)引导朝向勺子218、将机器人设备200朝向勺子移动,和/或其他动作中的一个或多个。
图2B说明了根据本公开的各个方面的提供给操作员的显示器250的示例。显示器250可以是视觉***(诸如头戴式设备、监视器或其他类型的显示器)。如图2B所示,显示器250包括从机器人设备200的视觉传感器提供的视频馈送252。例如,基于机器人设备200的视场224,视频馈送252显示水槽206、柜台210、抽屉208和勺子218。在一种配置中,点云表示(未示出)可以与视频馈送252重叠。操作员可以基于视频馈送252通过环境(诸如用餐环境202)引导机器人设备200。
显示器250还可包括用于向操作员提供通知的屏幕指示区域254。如图2B所示,屏幕指示区域254不同于视频馈送252。或者,屏幕指示区域254可以与视频馈送252重叠。
在一种配置中,与机器人控制***相关联的机器人设备200识别机器人设备200附近的任务图像的场景。例如,机器人设备200识别机器人设备200的视场224中的潜在目标。在该示例中,水槽206、柜台210、抽屉208和勺子218被识别为潜在目标。例如,机器人设备可以被分配布置桌子204的任务,其包括将勺子218从抽屉208运送到餐桌204。因此,抽屉208中的勺子218被认为是该任务的潜在目标。
例如,可以教导机器人设备200抓握一个或多个勺子218并执行动作(例如,将勺子218放在桌子204上)。因此,机器人设备200可以打开附接到肢体222的手以准备抓握一个或多个勺子218。作为另一示例,机器人设备200可以调整手势或当前运动以改进动作。机器人设备200可以调整肢体222的接近角度以改进勺子218的抓握。手势、运动和/或肢体的调整可以被参数化并被存储用于与特定场景相关联的特定任务。
图3A说明了机器人设备306相对于图1所说明的环境和起始位置从不同起始位置但相同环境执行任务的示例。机器人设备306在利用来自人类操作员在虚拟现实中的演示(例如,单个演示)被教导任务之后,在真实家里自主地执行复杂的人类级别的任务。例如,人类操作员可以教导机器人设备306在教导环境中操作,如图1-图2所说明的。教导环境对应于训练厨房108,并且任务环境对应于任务厨房308A。
尽管图1的训练厨房108与图3A的厨房308A相同,但厨房308A不必与厨房108相同。例如,任务厨房308A可包括位于与训练厨房108类似的定位的不同的冰箱、不同的桌子(例如桌子320)、不同的烤箱、不同的柜子等。例如,当机器人设备306被分配执行任务(例如,一组参数化行为)(诸如拿起瓶子(例如,图1的瓶子116或图3A的瓶子316)、打开柜子(例如,图1的柜子118或图3A的柜子318)以及将瓶子放在柜子内)的任务时(不受人类操作员的控制),在虚拟现实控制序列期间所教导的行为的参数被更新。
由于机器人设备306的初始位置不同于机器人设备106的初始位置,机器人设备306被指定为更新一组参数化行为。另外,由于机器人设备306的初始位置的差异,与新任务相关联的起始图像可能不同于机器人设备针对其训练的任务的起始图像。
为了更新参数,机器人设备306从机器人设备306在任务环境内的初始位置捕获场景的新任务图像(例如,使用视觉或高分辨率相机)。在一方面,机器人设备306的初始位置偏离机器人设备306被教导以使用虚拟现实(VR)界面在教导环境中(例如,在图1中)执行任务的起始条件或位置。例如,与起始条件或位置的偏离包括机器人设备的不同起始定位和/或姿态。
例如,当机器人设备306被分配拿起瓶子316、打开柜子118、并将瓶子316放在柜子318内的任务时,机器人设备306基于从新图像到训练期间的图像的映射像素和/或描述符(例如,密集神经网络描述符)更新其参数。映射定义新图像和训练期间的图像之间的相对变换。
相对变换通过匹配不同图像中的像素和/或密集神经网络描述符将训练图像映射到新图像。相对变换可以通过机器人设备306的x轴位置、y轴位置、z轴位置、滚动、俯仰和偏航的改变来定义。相对变换用于将参数化行为的参数从所教导的参数更新为观察到的情况。例如,对应于导航行为和/或操纵行为的参数化行为可以被调整以补偿机器人设备的起始定位和/或姿态的变化。
图3B说明了机器人设备306相对于图1所说明的环境和起始位置从不同起始位置和类似但不同环境执行任务的示例。厨房308B不同于图1的训练厨房108。例如,图1的放置瓶子116的桌子120与图3的示例中放置瓶子316的桌子320在不同的定位处。此外,图3B中的瓶子316的放置不同于图1的瓶子116的放置。另外,图3B中机器人设备306的起始位置不同于图1的机器人设备106的起始位置。
当机器人设备306被分配拿起瓶子316、打开柜子318并将瓶子316放在柜子318内的任务时,机器人设备306被指定更新一组参数化行为,因为机器人设备306的初始位置和瓶子316的放置不同于训练期间机器人设备106的初始位置和瓶子116的放置(见图1)。例如,机器人设备306可以调整与机器人设备的肢体(例如,图2的肢体222)的接近角度相对应的参数化行为,以改进对瓶子316的抓握。
机器人控制***不限于对所识别的目标执行动作。本公开的各个方面还可用于导航自主或半自主车辆(诸如汽车)。如图4所示,操作员可以经由用户界面(诸如遥控器)控制环境(诸如城市402)中的车辆400(例如,自主车辆)。操作员可以在远离车辆400的城市402的定位处。如这里所讨论的,可以经由车辆400上的一个或多个传感器向操作员提供视频馈送。传感器可以包括相机(诸如光检测和测距(LiDAR)传感器、无线电检测和测距(RADAR)传感器和/或其他类型的传感器)。
如图4所示,操作员控制车辆400沿着第一街道404朝与第二街道406的交叉路口移动。为了避免与第一建筑物408的碰撞,车辆400需要在交叉路口处右转412或左转414。与机器人设备类似,通过虚拟现实界面将操作员执行的行为进行参数化。
如所讨论的,本公开的各方面涉及移动操纵硬件和软件***,该***能够在利用来自人在虚拟现实中的演示被教导任务之后,在现实世界环境中自主地执行人类级别的任务。在一种配置中,使用移动操纵机器人。机器人可以包括全身任务空间混合位置/力控制。此外,如所讨论的,将与场景的鲁棒学习密集视觉嵌入表示相链接的参数化原语教导给机器人。最后,可以生成所教导的行为的任务图。
本公开的各方面不是编程或训练机器人以识别固定的一组对象或执行预定义的任务,而是使机器人能够从人类演示中学习新的对象和任务。机器人可以在自然变化的条件下自主执行学习的任务。机器人不使用先前的对象模型或地图,并且根据一个示例可以被教导将给定的一组行为与任意场景和对象相关联。视觉***在现有的监督和非监督数据集上被离线训练,***的其余部分可以在没有额外训练数据的情况下正常工作。
与教导直接任务空间运动的传统***相比,本公开的各个方面教导一组参数化行为。这些行为组合了无碰撞运动规划和混合(位置和力)笛卡尔末端执行器控制,在执行过程中最小化所教导的参数并提供了鲁棒性。
在一种配置中,计算特定于任务的学习密集视觉逐像素嵌入。这些逐像素嵌入将参数化行为与场景链接。由于链接,***可以通过牺牲对新情况的泛化来以高鲁棒性处理不同的环境。
可以利用视觉输入条件并基于成功的退出标准独立地教导任务的行为。这些行为可以在动态任务图中链接在一起。因为行为是链接的,机器人可以复用行为来执行任务序列。
机器人可以包括多个自由度(DOF)。例如,机器人可以包括31个自由度(DOF),分为五个子***:底盘、躯干、左臂、右臂和头部。在一种配置中,底盘包括四个驱动和可转向轮(例如,总共八个DOF),可实现“伪完整”移动性。驱动/转向致动器组可以包括各种电机和齿轮箱。躯干可以包括五个DOF(偏航-俯仰-俯仰-俯仰-偏航)。每个臂可以包括七个DOF。头部可以是两个DOF的平移/倾斜头部。每个臂也可以包括具有欠致动手指的单个DOF手爪。本公开的各个方面不限于上面讨论的机器人。设想了其他配置。在一个示例中,机器人包括定制工具(诸如海绵(sponge)或swiffer工具)。
在一种配置中,力/扭矩传感器与机器人集成以测量与环境的相互作用力。例如,力/扭矩传感器可以被放置在每个臂的手腕处。感知传感器可以被整合在头部上以提供广阔的视野,同时还在VR情境中提供机器人和人以执行任务。
本公开的各个方面提供用于控制机器人的若干抽象级别。在一种配置中,最低控制级别提供对所有机器人的DOF的实时协调控制。实时控制可以包括关节控制和部件控制。关节控制实现低级别设备通信并以通用方式暴露(expose)设备命令和状态。此外,关节控制支持致动器、力传感器和惯性测量单元。关节控制可以在运行时被配置以支持不同的机器人变化。
部件控制可以通过将机器人分成多个部件(例如,右臂、头部等)并为每个部件提供一组参数化的控制器来处理机器人的更高级别的协调。部件控制可以提供针对以下的控制器:关节位置和速度;关节导纳;相机外观;底盘位置和速度;以及混合任务空间姿态、速度和导纳控制。
末端执行器任务空间控制提供用于控制机器人的另一抽象级别。这种抽象级别解决了机器人的姿态,以实现这些期望的运动。用于混合笛卡尔控制的全身逆运动学(IK)被公式化为二次规划(quadratic program)并被求解。部件可能受关节位置、速度、加速度和重力扭矩的线性约束。
全身IK可用于笛卡尔姿态目标的运动规划。在一种配置中,占用的环境体素配备有球体和囊体。将体素碰撞约束添加到二次规划IK中,以防止机器人与世界之间的碰撞。可以使用快速探索随机树(rapidly exploring random tree,RRT),在笛卡尔空间中以二次规划IK作为节点之间的转向函数进行采样,来执行运动规划。
笛卡尔空间中的规划导致自然和直接的运动。使用二次规划IK作为转向函数提高了规划的可靠性,因为可以使用相同的控制器来规划和执行,从而减少两者之间可能的差异。类似地,关节位置目标的运动规划将RRT与充当转向函数的部件控制关节位置控制器结合使用。
下一抽象级别定义参数化行为。在一种配置中,参数化行为是可以被参数化并被一起排序以完成任务的原语动作。行为可以包括但不限于:操纵动作(诸如抓、提、放、拉、缩、擦、关节移动、直接控制);导航操作(诸如使用速度命令驾驶、使用位置命令驶入、以及使用主动避障跟随路径);以及其他辅助动作(诸如看和停)。
每个行为可以具有不同类型的单个或多个动作(诸如针对一个或多个机器人的部件的关节或笛卡尔移动)。每个动作可以使用不同的控制策略(诸如位置、速度或导纳控制),并且还可以选择使用运动规划来避开外部障碍物。机器人的运动,无论其是否使用运动规划,都避免自碰撞并满足运动控制约束。
每个行为可以由不同的动作参数化,这些动作又将具有它们自己的参数。例如,抓握行为可以包含四个参数:手爪角度、6D接近、抓握和(可选的)手爪的提升姿态。在该示例中,这些参数定义了以下预定义的动作序列:(1)将手爪打开到所期望的手爪角度;(2)规划并执行手爪到6D接近姿态的无碰撞路径;(3)将手爪移动到6D抓握姿态并在接触时停止;(4)关闭手爪;以及(5)将手爪移动到6D提升姿态。
控制抽象的最终级别是任务。在一种配置中,任务被定义为使机器人能够在人类环境中操纵和导航的行为序列。任务图(见图5)是有向(循环或非循环)的图,以不同的任务作为节点并且以不同的转换条件作为边,包括故障检测和故障恢复。边缘条件包括每个行为执行的状态、使用力/扭矩传感器检查手中的对象、语音命令以及处理不同对象和环境的关键帧匹配。
根据本公开的各个方面,感知流水线被设计为向机器人提供对其周围环境的理解。感知流水线还为机器人提供给定已教导的任务识别要采取的动作的能力。在一种配置中,通过将多个深度图像投影到高分辨率彩色立体对的一个宽视场图像(例如,宽视场左图像)中来创建融合的RGB-D图像。该***运行一组深度神经网络以提供各种像素级分类和特征向量(例如嵌入)。基于从教导序列中召回的视觉特征,像素级分类和特征向量被累积到时间3D体素表示中。像素级分类和特征向量可用于召回要执行的动作。
在一种配置中,未定义对象类别。此外,不假设对象或环境的模型。不是明确地检测和分割对象以及明确地估计6-DOF对象姿态,而是可以为各种任务产生密集的像素级嵌入。来自教导序列的参考嵌入可用于执行每个行为分类或姿态估计。
训练的模型可以是完全卷积的。在一种配置中,输入图像中的像素分别被映射到嵌入空间中的点。嵌入空间被赋予度量,该度量由损失函数隐式定义并且训练过程由模型输出定义。经训练的模型可用于各种任务。
在一种配置中,在给定单个注释示例的情况下,经训练的模型检测语义类的所有对象。可以通过将注释上的嵌入与在其他区域中看到的嵌入进行比较来检测语义类的对象。可以使用判别性损失函数训练该模型。
可以训练模型以确定对象实例。该模型识别和/或计数单独的对象。可以训练模型以预测每个像素处的向量(2D嵌入)。该向量可以指向包含该像素的对象的质心。在运行时,指向同一质心的像素可以被分组以分割场景。运行时执行可以在3D中进行。
也可以针对3D对应关系来训练模型。该模型生成对视图和光照不变的每像素嵌入,以便场景中给定3D点的任何视图都映射到相同的嵌入。可以使用损失函数来训练该模型。
将每个RGB-D帧的逐像素嵌入(和深度数据)融合到动态3D体素图中。每个体素累积一阶和二阶位置、颜色以及嵌入统计信息。动态对象的到期基于体素到深度图像的反向投影。使用基于语义和实例标签以及几何接近度的标准图形分割来分割体素图。体素图还被折叠成具有立体图和可穿越性分类统计信息的2.5D图。
体素图用于无碰撞的全身运动规划,而2.5D图用于无碰撞的底盘运动。对于3D碰撞检查,可以使用贪婪方法(greedy approach)将图中的体素分组为囊体。被分割的对象可以由行为使用以在抓握对象时将对象附加到手上。
可以用一次完成的教导方法(one-shot teaching approach)来教导机器人,使得机器人识别场景中(或特定操纵对象的)与来自先前教导的任务记录的特征高度相关的特征。当用户演示任务时,特征以关键帧的形式被保存在整个任务中。关键帧可以是包含具有每像素深度(如果有效)的多维嵌入的RGB图像。
假设当前图像与教导时存在的参考足够类似,嵌入充当可以在运行时建立每像素对应关系的特征描述符。由于深度存在于(大部分)每个像素处,因此可以使用对应关系来求解当前图像和参考图像之间的增量姿态。可以使用欧几里得约束检测正常值(Inlier),并应用带有RANSAC的Levenberg-Marquardt最小二乘函数来求解6-DOF姿态。
增量姿态用作校正,可以应用该校正以使所教导的行为序列适用当前场景。因为可以在每个像素处定义嵌入,所以关键帧可以宽如包括图像中的每个像素,或可以窄如仅使用用户定义的掩码中的像素。如所讨论的,用户可以通过将图像的区域选择性地注释为与任务相关或在对象上来定义掩码。
除了视觉感测之外,在一种配置中,机器人收集并处理音频输入。音频提供另一组嵌入作为教导机器人的输入。例如,机器人通过提问和理解来自人的口头语言响应来获取音频输入。可以使用定制关键字检测模块来理解语音响应。
机器人可以使用全卷积关键字识别模型(fully-convolutional keyword-spotting model)来理解自定义唤醒字(wakeword)、一组对象(例如,“杯子”或“瓶子”)和一组定位(例如,“柜子”或“冰箱”)。在一种配置中,模型以一定间隔(诸如每32毫秒)监听唤醒字。当检测到唤醒字时,机器人寻找以检测对象或定位关键字。在训练过程中,人为添加噪声以使识别更加鲁棒。
如所讨论的,为了向机器人教导任务,操作员使用一组VR模式。每个行为可以有用于设置和命令该行为的特定参数的对应VR模式。取决于参数的类型,每个行为模式可以包括定制的可视化,以辅助设置每个参数。例如,在设置拉门运动的参数时,铰链轴被标记并被可视化为线,并且手爪的候选拉动姿态被限制落在围绕铰链的弧上。为了辅助教导过程,使用了若干实用的VR模式(诸如恢复行为、用相关对象注释环境以及在VR世界中重新放置虚拟机器人、相机图像和菜单)。
在执行期间,机器人的姿态和环境部件可能与训练期间使用的不同。特征匹配可用于找到环境中与所教导的特征类似的特征。可以从匹配的特征对应关系中建立姿态增量。用户所教导的行为由计算的姿态增量转换。在一种配置中,将多个关键帧传递给匹配问题。基于对应关系的数量选择最佳匹配关键帧。
图5是说明根据本公开的各个方面的机器人控制***500的硬件实现的示例的图。机器人控制***500可以是自主或半自主***的组件(诸如车辆、机器人设备528或其他设备)。在图5的示例中,机器人控制***500是机器人设备528的组件。机器人控制***500可用于通过根据相对变换基于更新一组参数化行为的参数来控制机器人设备528的动作以在任务环境中执行任务。
机器人控制***500可以用总线架构来实现,总线架构通常由总线530表示。取决于机器人控制***500的特定应用和总体设计约束,总线530可以包括任意数量的互连总线和桥接器。总线530将包括由处理器520、通信模块522、定位模块518、传感器模块502、移动模块526、存储器524、任务模块508和计算机可读介质514表示的一个或多个处理器和/或硬件模块的各种电路链接在一起。总线530还可以链接各种其他电路(诸如本领域众所周知的定时源、***设备、电压调节器和电源管理电路),因此将不再进一步描述。
机器人控制***500包括耦合到处理器520、传感器模块502、任务模块508、通信模块522、定位模块518、移动模块526、存储器524和计算机可读介质514的收发器516。该收发器516耦合到天线534。收发器516通过传输介质与各种其他设备通信。例如,收发器516可以经由来自机器人设备528的操作员的传输接收命令(例如,发起任务)。如本文所讨论的,操作员可以在远离机器人设备528的定位的定位处。在一些方面,还可以经由例如任务模块508在机器人设备528中发起任务。
机器人控制***500包括耦合到计算机可读介质514的处理器520。处理器520执行处理,包括存储在提供根据本公开的功能的计算机可读介质514上的软件的执行。该软件在由处理器520执行时使机器人控制***500执行针对特定设备(诸如机器人设备528或模块502、508、514、516、518、520、522、524、526中的任一模块)描述的各种功能。计算机可读介质514还可用于存储在执行软件时由处理器520操纵的数据。
传感器模块502可用于经由不同的传感器(诸如第一传感器506和第二传感器504)获得测量值。第一传感器506可以是用于捕获2D图像的视觉传感器(诸如立体相机或RGB相机)。第二传感器504可以是测距传感器(诸如LiDAR传感器或RADAR传感器)。当然,本公开的各个方面不限于上述传感器,因为其他类型的传感器(诸如例如热传感器、声纳传感器和/或激光传感器)也可考虑用于传感器504、506中的任一个。第一传感器506和第二传感器504的测量值可以由处理器520、传感器模块502、通信模块522、定位模块518、移动模块526、存储器524中的一个或多个结合计算机可读介质514处理以实现这里描述的功能。在一种配置中,由第一传感器506和第二传感器504捕获的数据可以作为视频馈送经由收发器516被传输给操作员。第一传感器506和第二传感器504可以耦合到机器人设备528或可以与机器人设备528通信。
定位模块518可以用于确定机器人设备528的定位。例如,定位模块518可以使用全球定位***(GPS)来确定机器人设备528的定位。通信模块522可用于促进经由收发器516的通信。例如,通信模块522可被配置为经由不同的无线协议(诸如WiFi、长期演进(LTE)、3G等)提供通信能力。通信模块522还可用于与机器人设备528的不是机器人控制***500的模块的其他组件通信。
移动模块526可以用于促进机器人设备528和/或机器人设备528的组件(例如,四肢、手等)的移动。作为示例,移动模块526可以控制四肢538和/或轮子532的移动。作为另一示例,移动模块526可以与机器人设备528的电源(诸如发动机或电池)通信。当然,本公开的各方面不限于经由推进器提供移动,而是设想用于提供移动的其他类型的组件(诸如踏板、鳍和/或喷气发动机)。
机器人控制***500还包括用于存储与机器人设备528和任务模块508的操作相关的数据的存储器524。模块可以是在处理器520中运行的、驻留在/存储在计算机可读介质514和/或存储器524中的软件模块、耦合到处理器520的一个或多个硬件模块、或其某种组合。
任务模块508可以与传感器模块502、收发器516、处理器520、通信模块522、定位模块518、移动模块526、存储器524和计算机可读介质514通信。在一种配置中,任务模块508包括参数化行为模块510、动作模块512和对象识别模块536。对象识别模块536可以识别机器人设备528附近的对象。也就是说,基于经由传感器模块502从传感器504、506接收的输入,对象识别模块536识别对象(例如,目标)。对象识别模块536可以是经训练的对象分类器(例如,人工神经网络)。
所识别的对象可以被输出到参数化行为模块510以将来自当前场景的像素和/或密集神经网络描述符映射到来自关键帧的像素和/或密集神经网络描述符,使得可以对参数化行为连续进行调整或更新。例如,调整可以基于任务图像和教导图像(例如,关键帧)之间基于映射的相对变换。一组参数化行为的参数的更新基于相对变换。动作模块512促进对机器人设备执行包括所更新的参数化行为的动作/任务。参数化行为可以被存储在存储器524中。例如,所更新的参数化行为被输出到至少移动模块526以控制机器人设备528执行所更新的参数化行为。
图6说明了根据本公开的各个方面的用于所教导的行为的图序列600的示例。如图6所示,图序列600包括开始节点602和结束节点604。图序列600可以基于所感测的视觉输入、音频输入或其他条件分支或循环。
例如,如图6所示,在开始节点602之后,机器人可以执行“listen_for_object(监听对象)”行为。在这个示例中,机器人确定它是否已经感测到与杯子或瓶子相对应的视觉或音频输入。在此示例中,基于所感测的输入对应于杯子还是瓶子,执行不同的行为序列。本公开的各个方面不限于图6中所示的行为。
图7说明了根据本公开的各个方面的用于机器人***的软件模块的示例。图7的软件模块可以使用图5的硬件***的一个或多个组件(诸如处理器520、通信模块522、定位模块518、传感器模块502、移动模块526、存储器524、任务模块508、和计算机可读介质514)。本公开的各个方面不限于图7的模块。
如图7所示,机器人可以接收音频数据704和/或图像数据/输入702。图像输入702可以是RGB-D图像。音频网络706可以以一定间隔监听唤醒字。音频网络706接收原始音频数据704以检测唤醒字并从原始音频数据704中提取关键字。
神经网络(诸如密集嵌入网络708)接收图像数据702。可以以一定间隔接收图像数据702。密集嵌入网络708处理图像输入702并且输出图像输入702的嵌入710。嵌入710和图像数据702可以被组合以生成体素图712。嵌入710还可以被输入到关键帧匹配器712。
关键帧匹配器712将嵌入710与多个关键帧进行比较。当嵌入710对应于关键帧的嵌入时,识别匹配关键帧。嵌入710可以包括像素描述符、深度信息和其他信息。
任务模块714可以接收一个或多个任务图716。任务模块714提供对来自关键帧匹配器712的请求的响应。关键帧匹配器712将任务与匹配的关键帧相匹配。可以从任务图716确定任务。
任务模块714还可以向行为模块718传输行为请求。行为模块718向任务模块714提供行为状态。另外,行为模块718可以从关键帧匹配器712请求关于匹配关键帧和对应任务的信息。关键帧匹配器712向行为模块718提供关于匹配关键帧和对应任务的信息。行为模块718还可以从体素图712接收体素。
在一种配置中,行为模块718响应于运动规划请求从运动规划器720接收运动计划。行为模块718还从部件控制模块722接收部件状态。响应于接收到部件状态,行为模块718向部件控制模块722传输部件命令。最后,部件控制模块722从关节控制模块724接收关节状态。部件控制模块722响应于接收到关节状态而向关节控制模块724传输关节命令。
图8说明了根据本公开的一个方面的用于控制机器人设备的方法800。在块802处,机器人设备在执行任务时被放置在任务环境内。机器人设备被放置在偏离机器人设备被教导在教导环境中使用虚拟现实(VR)界面执行任务的起始条件或位置。任务环境与教导环境类似或相同。
在块804处,当机器人设备的任务是执行一组参数化行为时,这些行为是在与任务相关联的虚拟现实控制序列中被教导的,任务环境中场景的任务图像的像素和/或神经网络描述符被映射到教导环境中的教导图像。在块806处,基于映射定义任务图像和教导图像之间的相对变换。在块808处,基于相对变换更新一组参数化行为的参数以在任务环境中执行任务。
上述方法的各种操作可以由能够执行对应功能的任何合适的装置来执行。该装置可以包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)或处理器。通常,在图中所说明的操作中,这些操作可以具有对应的具有类似编号的对应装置加功能组件。
如这里所使用的,术语“确定”包含多种动作。例如,“确定”可以包括运算、计算、处理、推导、调查、查找(例如,在表、数据库或另一数据结构中查找)、查明(ascertaining)等。另外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、挑选、建立等。
如这里所使用的,涉及项目列表中的“至少一个”的短语是指那些项目的任何组合,包括单个成员。例如,“a、b或c中的至少一个”旨在涵盖:a、b、c、a-b、a-c、b-c和a-b-c。
可以利用根据本公开配置的处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)信号或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散硬件组件或其设计用于执行本文所述功能的任何组合来实现或执行结合本公开描述的各种说明性逻辑块、模块和电路。处理器可以是微处理器、控制器、微控制器或如本文所述专门配置的状态机。如本文所述,处理器还可以被实现为计算设备的组合(例如DSP和微处理器的组合)、多个微处理器、与DSP核结合的一个或多个微处理器,或者这种其他特殊配置。
结合本公开描述的方法或算法的步骤可以直接体现在硬件中、在由处理器执行的软件模块中、或者在两者的组合中。软件模块可以驻留在存储装置或机器可读介质中,包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移动磁盘、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储设备,或可用于以指令或数据结构的形式承载或存储所需程序代码并且可以由计算机访问的任何其他介质。软件模块可以包括单个指令或多个指令,并且可以分布在若干不同的代码段、不同的程序之间以及跨多个存储介质。存储介质可以耦合到处理器,使得处理器可以从存储介质读取信息以及向存储介质写入信息。或者,存储介质可以集成到处理器。
本文公开的方法包括用于实现所述方法的一个或多个步骤或动作。在不脱离权利要求的范围的情况下,方法步骤和/或动作可以彼此互换。换言之,除非指定了步骤或动作的特定顺序,否则在不脱离权利要求的范围的情况下可以修改特定步骤和/或动作的顺序和/或使用。
所描述的功能可以以硬件、软件、固件或其任何组合实现。如果以硬件实现,则示例硬件配置可以包括设备中的处理***。处理***可以用总线架构来实现。取决于处理***的特定应用和总体设计约束,总线可以包括任意数量的互连总线和桥接器。总线可以将包括处理器、机器可读介质和总线接口的各种电路链接在一起。总线接口可用于经由总线将网络适配器等连接到处理***。网络适配器可用于实现信号处理功能。对于特定方面,用户界面(例如,键盘、显示器、鼠标、操纵杆等)还可以连接到总线。总线还可以链接本领域众所周知的各种其他电路(诸如定时源、***设备、电压调节器、电源管理电路等),因此将不再进一步描述。
处理器可以负责管理总线和处理,包括存储在机器可读介质上的软件的执行。无论是指软件、固件、中间件、微代码、硬件描述语言还是其他,软件应被解释为装置指令、数据或其任何组合。
在硬件实现中,机器可读介质可以是与处理器分离的处理***的一部分。然而,如本领域技术人员将容易理解的,机器可读介质或其任何部分可以在处理***的外部。通过示例的方式,机器可读介质可以包括传输线、由数据调制的载波和/或与设备分离的计算机产品,所有这些都可以由处理器通过总线接口访问。替代地或另外地,机器可读介质或其任何部分可以集成到处理器中(诸如可以具有高速缓存和/或专用寄存器文件的情况)。尽管所讨论的各种组件可以被描述为具有特定定位(诸如本地组件),但是它们也可以以各种方式被配置(诸如特定组件被配置为分布式计算***的一部分)。
处理***可以配置有提供处理器功能的一个或多个微处理器和提供机器可读介质的至少一部分的外部存储器,所有这些都通过外部总线架构与其他支持电路被链接在一起。或者,处理***可包括用于实现本文所述的神经元模型和神经***的模型的一个或多个神经形态处理器。作为另一选择,处理***可以用专用集成电路(ASIC)来实现,其中处理器、总线接口、用户接口、支持电路和机器可读介质的至少一部分被集成到单个芯片中,或具有一个或多个现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、分立硬件组件或任何其他合适的电路,或可以执行在整个本公开中描述的各种功能的任何电路组合。本领域技术人员将认识到如何根据特定应用和强加在整个***上的整体设计约束来最好地实现处理***的所描述的功能。
机器可读介质可以包括多个软件模块。软件模块可以包括传输模块和接收模块。每个软件模块可以驻留在单个存储设备中或跨多个存储设备被分发。举例来说,当触发事件发生时,可以将软件模块从硬盘驱动加载到RAM中。在软件模块的执行过程中,处理器可以将某些指令加载到高速缓存中以提高访问速度。然后可以将一个或多个高速缓存线加载到专用寄存器文件中用于处理器执行。当在下面提及软件模块的功能时,将理解这种功能是在执行来自该软件模块的指令时由处理器实现的。此外,应当理解,本公开的各个方面导致对实现这些方面的处理器、计算机、机器或其他***的功能的改进。
如果以软件实现,则这些功能可以作为一个或多个指令或代码在计算机可读介质上被存储或被传输。计算机可读介质包括计算机存储介质和通信介质两者,包括促进将计算机程序从一个地方传送到另一地方的任何存储介质。此外,任何连接都被恰当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线(DSL)或无线技术(诸如红外线(IR)、无线电和微波)从网站、服务器或其他远程源传输软件,那么同轴线缆、光纤线缆、双绞线、DSL或无线技术(诸如红外线、无线电和微波)都被包括在介质的定义中。如本文所用,盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘和盘,其中盘通常以磁性方式再现数据,同时盘利用激光以光学方式再现数据。因此,在一些方面,计算机可读介质可以包括非暂时性计算机可读介质(例如,有形介质)。此外,对于其他方面,计算机可读介质可以包括暂时性计算机可读介质(例如,信号)。上述的组合还应被包括在计算机可读介质的范围内。
因此,特定方面可以包括用于执行本文呈现的操作的计算机程序产品。例如,这样的计算机程序产品可以包括其上存储(和/或编码)有指令的计算机可读介质,该指令可由一个或多个处理器执行以执行本文所述的操作。对于特定方面,计算机程序产品可以包括包装材料。
此外,应当理解,用于执行本文描述的方法和技术的模块和/或其他适当的装置可以在应用时由用户终端和/或基站下载和/或以其他方式获得。例如,这样的设备可以耦合到服务器以促进用于执行本文描述的方法的装置的传送。或者,可以经由存储装置提供本文描述的各种方法,使得用户终端和/或基站在将存储装置耦合或提供到设备时可以获得各种方法。此外,可以利用用于向设备提供本文描述的方法和技术的任何其他合适的技术。
应当理解,权利要求不限于上述的精确配置和组件。在不脱离权利要求的范围的情况下,可以对上述方法和装置的布置、操作和细节进行各种修改、改变和变化。

Claims (20)

1.一种控制机器人设备的方法,包括:
在任务环境内放置机器人设备;
将任务环境中场景的任务图像中与第一像素分组相关联的多个任务图像像素描述符映射到教导环境的教导图像中与第二像素分组相关联的多个教导图像像素描述符,所述多个任务图像像素描述符基于对应的像素值被映射到所述多个教导图像像素描述符,所述多个任务图像像素描述符中的每一个任务图像像素描述符与所述第一像素分组中的一个像素的相应第一像素值相关联,所述多个教导图像像素描述符中的每一个教导图像像素描述符与所述第二像素分组中的一个像素的相应第二像素值相关联;
基于映射所述多个任务图像像素描述符定义任务图像和教导图像之间的相对变换,所述相对变换指示任务图像和教导图像之间的三维3D空间的一个或多个点的变化;
基于相对变换更新与所述教导图像相关联的一组参数化行为中的一个或多个参数;以及
基于更新所述一个或多个参数执行与所述一组参数化行为相关联的任务。
2.如权利要求1所述的方法,其中,所述一组参数化行为包括当训练所述机器人设备以利用虚拟现实界面执行所述任务时由用户执行的行为。
3.如权利要求1所述的方法,还包括以一定间隔将所述多个任务图像像素描述符映射到所述多个教导图像像素描述符。
4.如权利要求1所述的方法,其中:
机器人设备在任务环境中的位置与在教导环境中的训练期间所使用的位置不同,以及
任务环境与教导环境相同。
5.如权利要求4所述的方法,其中,机器人设备在任务环境内的起始定位和/或姿态与机器人设备在教导环境内的起始定位和/或姿态不同。
6.如权利要求4所述的方法,其中,在其上执行所述任务的对象在任务环境中的起始定位和/或姿态与在其上执行所述训练的对象在教导环境中的起始定位和/或姿态不同。
7.如权利要求1所述的方法,其中,所述描述符包括像素描述符或神经网络描述符。
8.一种用于控制机器人设备的装置,所述装置包括:
存储器;以及
耦合到存储器的至少一个处理器,所述至少一个处理器被配置为:
在任务环境内放置机器人设备;
将任务环境中场景的任务图像中与第一像素分组相关联的多个任务图像像素描述符映射到教导环境的教导图像中与第二像素分组相关联的多个教导图像像素描述符,所述多个任务图像像素描述符基于对应的像素值被映射到所述多个教导图像像素描述符,所述多个任务图像像素描述符中的每一个任务图像像素描述符与所述第一像素分组中的一个像素的相应第一像素值相关联,所述多个教导图像像素描述符中的每一个教导图像像素描述符与所述第二像素分组中的一个像素的相应第二像素值相关联;
基于映射所述多个任务图像像素描述符定义任务图像和教导图像之间的相对变换,所述相对变换指示任务图像和教导图像之间的三维3D空间的一个或多个点的变化;
基于相对变换更新与所述教导图像相关联的一组参数化行为中的一个或多个参数;以及
基于更新所述一个或多个参数执行与所述一组参数化行为相关联的任务。
9.如权利要求8所述的装置,其中,所述一组参数化行为包括当训练所述机器人设备以利用虚拟现实界面执行所述任务时由用户执行的行为。
10.如权利要求8所述的装置,其中,所述至少一个处理器还被配置为以一定间隔将所述多个任务图像像素描述符映射到所述多个教导图像像素描述符。
11.如权利要求8所述的装置,其中:
机器人设备在任务环境中的位置与在教导环境中的训练期间所使用的位置不同,以及
任务环境与教导环境相同。
12.如权利要求11所述的装置,其中,机器人设备在任务环境内的起始定位和/或姿态与机器人设备在教导环境内的起始定位和/或姿态不同。
13.如权利要求11所述的装置,其中,在其上执行所述任务的对象在任务环境中的起始定位和/或姿态与在其上执行所述训练的对象在教导环境中的起始定位和/或姿态不同。
14.如权利要求8所述的装置,其中,所述描述符包括像素描述符或神经网络描述符。
15.一种其上记录有用于控制机器人设备的程序代码的非暂时性计算机可读介质,所述程序代码由处理器执行并且包括:
在任务环境内放置机器人设备的程序代码;
将任务环境中场景的任务图像中与第一像素分组相关联的多个任务图像像素描述符映射到教导环境的教导图像中与第二像素分组相关联的多个教导图像像素描述符的程序代码,所述多个任务图像像素描述符基于对应的像素值被映射到所述多个教导图像像素描述符,所述多个任务图像像素描述符中的每一个任务图像像素描述符与所述第一像素分组中的一个像素的相应第一像素值相关联,所述多个教导图像像素描述符中的每一个教导图像像素描述符与所述第二像素分组中的一个像素的相应第二像素值相关联;
基于映射所述多个任务图像像素描述符定义任务图像和教导图像之间的相对变换的程序代码,所述相对变换指示任务图像和教导图像之间的三维3D空间的一个或多个点的变化;
基于相对变换更新与所述教导图像相关联的一组参数化行为中的一个或多个参数的程序代码;以及
基于更新所述一个或多个参数执行与所述一组参数化行为相关联的任务的程序代码。
16.如权利要求15所述的非暂时性计算机可读介质,其中,所述一组参数化行为包括当所述机器人设备被训练以利用虚拟现实界面执行所述任务时由用户执行的行为。
17.如权利要求15所述的非暂时性计算机可读介质,其中,所述程序代码还包括以一定间隔将所述多个任务图像像素描述符映射到所述多个教导图像像素描述符的程序代码。
18.如权利要求15所述的非暂时性计算机可读介质,其中:
机器人设备在任务环境中的位置与在教导环境中的训练期间所使用的位置不同,以及
任务环境与教导环境相同。
19.如权利要求18所述的非暂时性计算机可读介质,其中,机器人设备在任务环境内的起始定位和/或姿态与机器人设备在教导环境内的起始定位和/或姿态不同。
20.如权利要求18所述的非暂时性计算机可读介质,其中,在其上执行所述任务的对象在任务环境中的起始定位和/或姿态与在其上执行所述训练的对象在教导环境中的起始定位和/或姿态不同。
CN202080050023.7A 2019-07-23 2020-07-22 视觉教导和重复移动操纵*** Active CN114080583B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201962877792P 2019-07-23 2019-07-23
US201962877793P 2019-07-23 2019-07-23
US201962877791P 2019-07-23 2019-07-23
US62/877,792 2019-07-23
US62/877,791 2019-07-23
US62/877,793 2019-07-23
US16/570,852 2019-09-13
US16/570,852 US11580724B2 (en) 2019-07-23 2019-09-13 Virtual teach and repeat mobile manipulation system
PCT/US2020/043144 WO2021016394A1 (en) 2019-07-23 2020-07-22 Visual teach and repeat mobile manipulation system

Publications (2)

Publication Number Publication Date
CN114080583A CN114080583A (zh) 2022-02-22
CN114080583B true CN114080583B (zh) 2023-12-08

Family

ID=74189690

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202080050025.6A Pending CN114127805A (zh) 2019-07-23 2020-06-05 深度网络的训练方法
CN202080050426.1A Pending CN114127806A (zh) 2019-07-23 2020-06-05 增强来自机器人设备的视觉输出的***和方法
CN202080050040.0A Pending CN114097004A (zh) 2019-07-23 2020-06-10 基于视觉嵌入的自主任务性能
CN202080050023.7A Active CN114080583B (zh) 2019-07-23 2020-07-22 视觉教导和重复移动操纵***

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN202080050025.6A Pending CN114127805A (zh) 2019-07-23 2020-06-05 深度网络的训练方法
CN202080050426.1A Pending CN114127806A (zh) 2019-07-23 2020-06-05 增强来自机器人设备的视觉输出的***和方法
CN202080050040.0A Pending CN114097004A (zh) 2019-07-23 2020-06-10 基于视觉嵌入的自主任务性能

Country Status (5)

Country Link
US (6) US11113526B2 (zh)
EP (4) EP4004828A4 (zh)
JP (4) JP2022542858A (zh)
CN (4) CN114127805A (zh)
WO (4) WO2021015869A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113526B2 (en) 2019-07-23 2021-09-07 Toyota Research Institute, Inc. Training methods for deep networks
US11685045B1 (en) * 2019-09-09 2023-06-27 X Development Llc Asynchronous robotic control using most recently selected robotic action data
US20210101280A1 (en) * 2019-10-02 2021-04-08 Baker Hughes Oilfield Operations, Llc Telemetry harvesting and analysis from extended reality streaming
US11328170B2 (en) * 2020-02-19 2022-05-10 Toyota Research Institute, Inc. Unknown object identification for robotic device
US11813748B2 (en) * 2020-10-13 2023-11-14 Google Llc Simulating multiple robots in virtual environments
US20220197277A1 (en) * 2020-12-23 2022-06-23 Qatar Foundation For Education, Science And Community Development Telepresence control schemes for hazardous environments
IT202100003821A1 (it) * 2021-02-19 2022-08-19 Univ Pisa Procedimento di interazione con oggetti
US20220355692A1 (en) * 2021-05-05 2022-11-10 Abb Schweiz Ag Systems and Methods for Electric Vehicle Charging Using Machine Learning
GB2616001A (en) * 2022-02-17 2023-08-30 Roke Manor Res Limited Remote visual inspection guidance
US20230286161A1 (en) * 2022-03-11 2023-09-14 Boston Dynamics, Inc. Systems and Methods for Robotic Manipulation Using Extended Reality
CN116823838B (zh) * 2023-08-31 2023-11-14 武汉理工大学三亚科教创新园 高斯先验标签分配与特征解耦的海洋船舶检测方法与***

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1324184A2 (en) * 2001-12-28 2003-07-02 Hewlett-Packard Company System and method for managing a moveable media library with library partitions
DE102005009437A1 (de) * 2005-03-02 2006-09-07 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Einblenden von AR-Objekten
KR20170061686A (ko) * 2014-09-02 2017-06-05 엠비엘 리미티드 전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템
CN107610579A (zh) * 2017-09-05 2018-01-19 芜湖瑞思机器人有限公司 基于vr***控制的工业机器人示教***及其示教方法
CN108333941A (zh) * 2018-02-13 2018-07-27 华南理工大学 一种基于混合增强智能的云机器人协作学习方法
CN108619723A (zh) * 2018-04-18 2018-10-09 咪咕互动娱乐有限公司 一种应用操作的处理方法、装置以及存储介质
CN109153123A (zh) * 2016-05-20 2019-01-04 谷歌有限责任公司 与基于捕获物体的图像并且基于用于环境中的未来机器人运动的参数来预测机器人环境中的物体运动有关的机器学习方法和装置
CN109213306A (zh) * 2017-06-30 2019-01-15 沈阳新松机器人自动化股份有限公司 一种机器人远程控制平台及其设计方法

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3834297B2 (ja) * 2003-05-12 2006-10-18 ファナック株式会社 画像処理装置
WO2005098729A2 (en) * 2004-03-27 2005-10-20 Harvey Koselka Autonomous personal service robot
JP2005308993A (ja) * 2004-04-20 2005-11-04 Matsushita Electric Ind Co Ltd 学習支援システム
JP2007026309A (ja) * 2005-07-20 2007-02-01 Fuji Xerox Co Ltd 画像形成装置及びその制御方法
US7836437B2 (en) * 2006-02-10 2010-11-16 Microsoft Corporation Semantic annotations for virtual objects
JP4320363B2 (ja) * 2006-05-25 2009-08-26 豪洋 石崎 作業ロボット
US8121347B2 (en) 2006-12-12 2012-02-21 Rutgers, The State University Of New Jersey System and method for detecting and tracking features in images
JP5037248B2 (ja) * 2007-07-17 2012-09-26 株式会社日立製作所 情報収集システムおよび情報収集ロボット
WO2009024349A1 (en) * 2007-08-22 2009-02-26 Honda Research Institute Europe Gmbh Estimating objects proper motion using optical flow, kinematics and depth information
FR2946160B1 (fr) 2009-05-26 2014-05-09 Aldebaran Robotics Systeme et procede pour editer et commander des comportements d'un robot mobile.
JP2013022705A (ja) 2011-07-25 2013-02-04 Sony Corp ロボット装置及びロボット装置の制御方法、コンピューター・プログラム、並びにロボット・システム
US8996174B2 (en) * 2012-06-21 2015-03-31 Rethink Robotics, Inc. User interfaces for robot training
US9186793B1 (en) * 2012-08-31 2015-11-17 Brain Corporation Apparatus and methods for controlling attention of a robot
US9940553B2 (en) * 2013-02-22 2018-04-10 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates
US9542626B2 (en) 2013-09-06 2017-01-10 Toyota Jidosha Kabushiki Kaisha Augmenting layer-based object detection with deep convolutional neural networks
EP3055744B1 (en) * 2013-10-07 2018-06-13 ABB Schweiz AG A method and a device for verifying one or more safety volumes for a movable mechanical unit
US9259844B2 (en) * 2014-02-12 2016-02-16 General Electric Company Vision-guided electromagnetic robotic system
EP3159121A4 (en) 2014-06-17 2018-05-16 Yujin Robot Co., Ltd. Device for updating map of mobile robot and method therefor
US9579790B2 (en) * 2014-09-17 2017-02-28 Brain Corporation Apparatus and methods for removal of learned behaviors in robots
US9630318B2 (en) 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
JP2016107379A (ja) * 2014-12-08 2016-06-20 ファナック株式会社 拡張現実対応ディスプレイを備えたロボットシステム
WO2016103065A1 (en) * 2014-12-23 2016-06-30 Husqvarna Ab Robotic vehicle with adjustable operating area
CN104732518B (zh) 2015-01-19 2017-09-01 北京工业大学 一种基于智能机器人地面特征的ptam改进方法
CN104808590B (zh) 2015-02-14 2017-01-25 浙江大学 一种基于关键帧策略的移动机器人视觉伺服控制方法
US9643314B2 (en) * 2015-03-04 2017-05-09 The Johns Hopkins University Robot control, training and collaboration in an immersive virtual reality environment
US9922271B2 (en) 2015-03-20 2018-03-20 Netra, Inc. Object detection and classification
US9868211B2 (en) * 2015-04-09 2018-01-16 Irobot Corporation Restricting movement of a mobile robot
US9646655B2 (en) 2015-08-31 2017-05-09 Fuji Xerox Co., Ltd. Systems and methods for interaction-based analysis and visualization of remote collaboration sessions
US9904867B2 (en) * 2016-01-29 2018-02-27 Pointivo, Inc. Systems and methods for extracting information about objects from scene information
WO2017196822A1 (en) * 2016-05-09 2017-11-16 Grabango Co. System and method for computer vision driven applications within an environment
CN106023211B (zh) 2016-05-24 2019-02-26 深圳前海勇艺达机器人有限公司 基于深度学习的机器人图像定位方法及***
US10105847B1 (en) * 2016-06-08 2018-10-23 X Development Llc Detecting and responding to geometric changes to robots
US10055667B2 (en) * 2016-08-03 2018-08-21 X Development Llc Generating a model for an object encountered by a robot
US9964955B2 (en) 2016-08-04 2018-05-08 Canvas Technology, Inc. System and methods of determining a geometric pose of a camera based on spatial and visual mapping
JP2018055429A (ja) * 2016-09-29 2018-04-05 ファナック株式会社 物体認識装置および物体認識方法
US10162360B2 (en) * 2016-12-01 2018-12-25 GM Global Technology Operations LLC Vehicle environment imaging systems and methods
KR101850410B1 (ko) * 2016-12-26 2018-04-20 한국생산기술연구원 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치 및 방법
JP2018122376A (ja) * 2017-01-31 2018-08-09 セイコーエプソン株式会社 画像処理装置、ロボット制御装置、及びロボット
ES2957271T3 (es) * 2017-02-25 2024-01-16 Diligent Robotics Inc Sistemas, aparatos y métodos para el aprendizaje y la ejecución de habilidades robóticas
WO2018158248A2 (de) * 2017-03-02 2018-09-07 RobArt GmbH Verfahren zur steuerung eines autonomen,mobilen roboters
KR102024092B1 (ko) * 2017-07-12 2019-09-23 엘지전자 주식회사 이동 로봇 시스템 및 그 제어방법
CN112088070A (zh) * 2017-07-25 2020-12-15 M·奥利尼克 用于操作机器人***并执行机器人交互的***及方法
US10354139B1 (en) * 2017-09-07 2019-07-16 X Development Llc Generating and utilizing spatial affordances for an object in robotics applications
WO2019060787A1 (en) * 2017-09-21 2019-03-28 Lexset.Ai Llc DETECTION OF AT LEAST ONE OBJECT IN AN IMAGE, OR A SEQUENCE OF IMAGES, AND DETERMINATION OF A CATEGORY AND AT LEAST ONE DESCRIPTOR FOR EACH OF THESE OBJECTS, GENERATION OF SYNTHETIC LEARNING DATA, AND FORMATION OF A NEURONAL NETWORK USING SYNTHETIC LEARNING DATA
US10607079B2 (en) * 2017-09-26 2020-03-31 Toyota Research Institute, Inc. Systems and methods for generating three dimensional skeleton representations
BR112020008021A2 (pt) 2017-10-24 2020-10-27 L'ORéAL S.A. dispositivos de computação, método para gerar uma cnn treinada para processar imagens e métodos para processar uma imagem
WO2019089018A1 (en) * 2017-10-31 2019-05-09 Hewlett-Packard Development Company, L.P. Mobile robots to generate reference maps for localization
US10346721B2 (en) * 2017-11-01 2019-07-09 Salesforce.Com, Inc. Training a neural network using augmented training datasets
JP6972962B2 (ja) * 2017-11-22 2021-11-24 コニカミノルタ株式会社 物体追跡装置、物体追跡方法、および、物体追跡プログラム
US11771283B2 (en) * 2017-12-06 2023-10-03 BISSELL , Inc. Method and system for manual control of autonomous floor cleaner
US10380751B1 (en) * 2017-12-12 2019-08-13 The Government Of The United States Of America, As Represented By The Secretary Of The Navy Robot vision in autonomous underwater vehicles using the color shift in underwater imaging
US10810427B1 (en) * 2017-12-15 2020-10-20 AI Incorporated Methods for an autonomous robotic device to identify locations captured in an image
US10981272B1 (en) * 2017-12-18 2021-04-20 X Development Llc Robot grasp learning
JP6641447B2 (ja) * 2017-12-26 2020-02-05 キヤノン株式会社 撮像装置及びその制御方法、プログラム、記憶媒体
US10913154B2 (en) * 2018-01-02 2021-02-09 General Electric Company Systems and method for robotic learning of industrial tasks based on human demonstration
US11097418B2 (en) * 2018-01-04 2021-08-24 X Development Llc Grasping of an object by a robot based on grasp strategy determined using machine learning model(s)
US11340630B2 (en) * 2018-03-30 2022-05-24 Brain Corporation Systems and methods for robust robotic mapping
US10332261B1 (en) * 2018-04-26 2019-06-25 Capital One Services, Llc Generating synthetic images as training dataset for a machine learning network
US11189078B2 (en) * 2018-06-20 2021-11-30 Google Llc Automated understanding of three dimensional (3D) scenes for augmented reality applications
US10636114B2 (en) * 2018-08-04 2020-04-28 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for scan-matching oriented visual slam
US11030458B2 (en) * 2018-09-14 2021-06-08 Microsoft Technology Licensing, Llc Generating synthetic digital assets for a virtual scene including a model of a real-world object
US10824923B1 (en) * 2019-01-23 2020-11-03 Facebook Technologies, Llc System and method for improving localization and object tracking
US10870204B2 (en) * 2019-01-25 2020-12-22 Mujin, Inc. Robotic system control method and controller
JP7203474B2 (ja) * 2019-02-20 2023-01-13 富士フイルム株式会社 マンモグラフィ装置及びプログラム
US11113526B2 (en) 2019-07-23 2021-09-07 Toyota Research Institute, Inc. Training methods for deep networks
US11529737B2 (en) * 2020-01-30 2022-12-20 Raytheon Company System and method for using virtual/augmented reality for interaction with collaborative robots in manufacturing or industrial environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1324184A2 (en) * 2001-12-28 2003-07-02 Hewlett-Packard Company System and method for managing a moveable media library with library partitions
DE102005009437A1 (de) * 2005-03-02 2006-09-07 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Einblenden von AR-Objekten
KR20170061686A (ko) * 2014-09-02 2017-06-05 엠비엘 리미티드 전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템
CN109153123A (zh) * 2016-05-20 2019-01-04 谷歌有限责任公司 与基于捕获物体的图像并且基于用于环境中的未来机器人运动的参数来预测机器人环境中的物体运动有关的机器学习方法和装置
CN109213306A (zh) * 2017-06-30 2019-01-15 沈阳新松机器人自动化股份有限公司 一种机器人远程控制平台及其设计方法
CN107610579A (zh) * 2017-09-05 2018-01-19 芜湖瑞思机器人有限公司 基于vr***控制的工业机器人示教***及其示教方法
CN108333941A (zh) * 2018-02-13 2018-07-27 华南理工大学 一种基于混合增强智能的云机器人协作学习方法
CN108619723A (zh) * 2018-04-18 2018-10-09 咪咕互动娱乐有限公司 一种应用操作的处理方法、装置以及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ogata H等."Robotic assembly operation teaching in a virtual environment".《Robotics & automation IEEE transactions on》.1994,10(3),第391-399页. *

Also Published As

Publication number Publication date
US11113526B2 (en) 2021-09-07
EP4004670A4 (en) 2023-09-06
EP4003668A1 (en) 2022-06-01
CN114127805A (zh) 2022-03-01
WO2021015883A1 (en) 2021-01-28
EP4003666A4 (en) 2023-09-06
US20210023707A1 (en) 2021-01-28
CN114080583A (zh) 2022-02-22
WO2021016394A1 (en) 2021-01-28
EP4004828A4 (en) 2023-10-18
CN114097004A (zh) 2022-02-25
US11580724B2 (en) 2023-02-14
US20220165057A1 (en) 2022-05-26
EP4003666A1 (en) 2022-06-01
JP2022542241A (ja) 2022-09-30
JP2022544007A (ja) 2022-10-17
US11694432B2 (en) 2023-07-04
US20210027058A1 (en) 2021-01-28
JP2022542858A (ja) 2022-10-07
WO2021015869A1 (en) 2021-01-28
US20230154015A1 (en) 2023-05-18
US11288883B2 (en) 2022-03-29
US20210023703A1 (en) 2021-01-28
JP2022542239A (ja) 2022-09-30
EP4004828A1 (en) 2022-06-01
EP4003668A4 (en) 2023-09-06
US20210027097A1 (en) 2021-01-28
US11741701B2 (en) 2023-08-29
CN114127806A (zh) 2022-03-01
EP4004670A1 (en) 2022-06-01
WO2021015868A1 (en) 2021-01-28

Similar Documents

Publication Publication Date Title
CN114080583B (zh) 视觉教导和重复移动操纵***
US20210205986A1 (en) Teleoperating Of Robots With Tasks By Mapping To Human Operator Pose
US20070299559A1 (en) Evaluating Visual Proto-objects for Robot Interaction
CN110785268A (zh) 用于语义机器人抓取的机器学习方法和装置
Bajracharya et al. A mobile manipulation system for one-shot teaching of complex tasks in homes
US11097414B1 (en) Monitoring of surface touch points for precision cleaning
US20240153314A1 (en) Engagement Detection and Attention Estimation for Human-Robot Interaction
Mühlig et al. Human-robot interaction for learning and adaptation of object movements
Xue et al. Gesture-and vision-based automatic grasping and flexible placement in teleoperation
Ovur et al. Naturalistic robot-to-human bimanual handover in complex environments through multi-sensor fusion
Oh et al. A system for traded control teleoperation of manipulation tasks using intent prediction from hand gestures
WO2023100282A1 (ja) データ生成システム、モデル生成システム、推定システム、学習済みモデルの製造方法、ロボット制御システム、データ生成方法、およびデータ生成プログラム
Khurana Human-Robot Collaborative Control for Inspection and Material Handling using Computer Vision and Joystick
Zeng et al. Object manipulation learning by imitation
Halodová¹ et al. Check for updates Adaptive Image Processing Methods for Outdoor Autonomous Vehicles
Zhang et al. Learning Descriptor of Constrained Task from Demonstration
Joshi Antipodal Robotic Grasping using Deep Learning
KR20240081551A (ko) 로봇 제어를 위한 데이터셋 획득 시스템 및 방법
Chaudhary et al. Visual Feedback based Trajectory Planning to Pick an Object and Manipulation using Deep learning
Pence Autonomous Mobility and Manipulation of a 9-DoF WMRA
Yu et al. Robotic Arm Control With Human Interactionl
Prats et al. Towards an Assistive Mobile Manipulator
Li et al. A reusable robotic grasping creator

Legal Events

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

Effective date of registration: 20240305

Address after: Aichi

Patentee after: Toyota Motor Corp.

Country or region after: Japan

Address before: California, USA

Patentee before: Toyota Research Institute, Inc.

Country or region before: U.S.A.