JP2021534988A - Systems, equipment, and methods for robot learning and execution of skills - Google Patents

Systems, equipment, and methods for robot learning and execution of skills Download PDF

Info

Publication number
JP2021534988A
JP2021534988A JP2021510317A JP2021510317A JP2021534988A JP 2021534988 A JP2021534988 A JP 2021534988A JP 2021510317 A JP2021510317 A JP 2021510317A JP 2021510317 A JP2021510317 A JP 2021510317A JP 2021534988 A JP2021534988 A JP 2021534988A
Authority
JP
Japan
Prior art keywords
environment
information
skill
robot device
user
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
Application number
JP2021510317A
Other languages
Japanese (ja)
Other versions
JPWO2020047120A5 (en
Inventor
ヤウ−ウェン チュウ,ビビアン
リ,シュアイ
グリーン,フォレスト
ワースノップ,ピーター
ロッカード トマス,アンドレア
Original Assignee
ディリジェント ロボティクス,インコーポレイテッド
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
Priority claimed from US16/456,919 external-priority patent/US11148288B2/en
Application filed by ディリジェント ロボティクス,インコーポレイテッド filed Critical ディリジェント ロボティクス,インコーポレイテッド
Publication of JP2021534988A publication Critical patent/JP2021534988A/en
Publication of JPWO2020047120A5 publication Critical patent/JPWO2020047120A5/ja
Pending legal-status Critical Current

Links

Images

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/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • 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/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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39546Map human grasps to manipulator grasps
    • 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/40116Learn by operator observation, symbiosis, show, watch
    • 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/40391Human to robot skill transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

スキルのロボット学習及び実行のためのシステム、装置、及び方法が記載される。ロボット装置は、メモリー、プロセッサー、センサー、及び1つ又は複数の可動コンポーネント(例えば、操作要素及び/又は搬送要素)を含み得る。プロセッサーは、メモリー、可動要素、及びセンサーに動作可能に結合され、環境(環境内に位置する1つ又は複数の物体を含む)の情報を取得するように構成され得る。いくつかの実施形態では、プロセッサーは、実演、探索、ユーザー入力などによってスキルを学習するように構成され得る。いくつかの実施形態では、プロセッサーは、スキルを実行し、及び/又は異なる挙動及び/又はアクション間でアービトレーションを行うように構成され得る。いくつかの実施形態では、プロセッサーは、環境的制約を学習するように構成され得る。いくつかの実施形態では、プロセッサーは、スキルの汎用モデルを使用して学習するように構成され得る。Systems, devices, and methods for robot learning and execution of skills are described. The robotic apparatus may include a memory, a processor, a sensor, and one or more moving components (eg, operating and / or transporting elements). The processor may be operably coupled to memory, moving elements, and sensors and configured to acquire information about the environment, including one or more objects located within the environment. In some embodiments, the processor may be configured to learn skills by demonstration, exploration, user input, and the like. In some embodiments, the processor may be configured to perform skills and / or perform arbitration between different behaviors and / or actions. In some embodiments, the processor may be configured to learn environmental constraints. In some embodiments, the processor may be configured to learn using a generic model of skill.

Description

関連出願の相互参照
[0001] 本出願は、2018年8月28日に出願された、「SYSTEMS, APPARATUS, AND METHODS FOR ROBOTIC LEARNING AND EXECUTION OF SKILLS」という名称の米国仮特許出願第62/723,694号に対する優先権を主張するものである。
Cross-reference of related applications
[0001] This application has priority over US Provisional Patent Application No. 62 / 723, 694 entitled "SYSTEMS, APPARATUS, AND METHODS FOR ROBOTIC LEARNING AND EXECUTION OF SKILLS" filed on August 28, 2018. Is to insist.

[0002] 本出願は、米国仮特許出願第62/723,694号に対する優先権を主張し、且つ2017年2月25日に出願された、「METHOD AND SYSTEM FOR ROBOTIC LEARNING OF EXECUTION PROCESSES RELATED TO PERCEPTUALLY CONSTRAINED MANIPULATION SKILLS」という名称の米国仮特許出願第62/463,628号、及び2017年2月25日に出願された、「METHOD AND SYSTEM FOR ROBOTIC EXECUTION OF A PERCEPTUALLY CONSTRAINED MANIPULATION SKILL LEARNED VIA HUMAN INTERACTION」という名称の米国仮特許出願第62/463,630号に対する優先権を主張する、2018年2月23日に出願された、「SYSTEMS, APPARATUS, AND METHODS FOR ROBOTIC LEARNING AND EXECUTION OF SKILLS」という名称の国際PCT出願第PCT/US2018/019520号の一部継続出願である、2019年6月28日に出願された、「SYSTEMS, APPARATUS, AND METHODS FOR ROBOTIC LEARNING AND EXECUTION OF SKILLS」という名称の米国特許出願第16/456,919号に対する優先権も主張する。 [0002] This application claims priority to US Provisional Patent Application No. 62 / 723,694 and is filed on February 25, 2017, "METHOD AND SYSTEM FOR ROBOTIC LEARNING OF EXECUTION PROCESSES RELATED TO PERCEPTUALLY. US Provisional Patent Application No. 62/463,628 entitled "CONSTRAINED MANIPULATION SKILLS" and "METHOD AND SYSTEM FOR ROBOTIC EXECUTION OF A PERCEPTUALLY CONSTRAINED MANIPULATION SKILL LEARNED VIA HUMAN INTERACTION" filed on February 25, 2017. International named "SYSTEMS, APPARATUS, AND METHODS FOR ROBOTIC LEARNING AND EXECUTION OF SKILLS" filed on February 23, 2018, claiming priority over US Provisional Patent Application No. 62 / 463,630. PCT Application No. PCT / US2018 / 019520, a partial continuation application, filed on June 28, 2019, is the US patent application named "SYSTEMS, APPARATUS, AND METHODS FOR ROBOTIC LEARNING AND EXECUTION OF SKILLS". It also claims priority over 16 / 456,919.

[0003] 本出願は、国際PCT出願第PCT/US2018/019520号の一部継続出願でもある。 [0003] This application is also a partial continuation of International PCT Application No. PCT / US2018 / 019520.

[0004] 上記で言及した各出願の開示内容は、その全体が本明細書に援用される。 [0004] The disclosures of each of the applications mentioned above are incorporated herein by reference in their entirety.

政府支援
[0005] 本発明は、中小企業技術革新制度のフェーズIにより、米国国立科学基金により与えられた、認可番号1621651及び1738375の下で、米国政府支援によって行われたものである。米国政府は、本発明に一定の権利を有する。
Government support
[0005] The present invention has been made with the support of the United States Government under Phase I of the Small Business Innovation Program, under authorization numbers 1621651 and 1738375, granted by the United States National Science Fund. The US Government has certain rights to the invention.

技術分野
[0006] 本開示は、一般に、スキルのロボット学習及び実行のためのシステム、装置、及び方法に関する。より詳細には、本開示は、非構造化環境でスキルの学習及び実行が可能なロボット装置に関する。
Technical field
[0006] The present disclosure generally relates to systems, devices, and methods for robot learning and execution of skills. More specifically, the present disclosure relates to a robotic device capable of learning and executing skills in an unstructured environment.

背景
[0007] ロボットは、様々なタスクの実施及び自動化のために使用され得る。ロボットは、オフィスの建物又は病院などの環境中を移動することによって、タスクを行うことができる。ロボットは、車輪、トラック、又はロボットが環境内を自律的に動き回ることを可能にする他の可動コンポーネントを装備してもよい。しかし、アーム又は他のマニピュレーターを持たないロボットは、環境内の物体を操作することができない。したがって、これらのロボットは、タスクを行う能力が限定されており、例えば、このようなロボットは、拾い上げる地点又は送り届ける地点に物体を操作する人間がいなければ、物体を拾い上げ、及び送り届けることができない場合がある。
background
[0007] Robots can be used to perform and automate various tasks. Robots can perform tasks by moving through an environment such as an office building or hospital. The robot may be equipped with wheels, trucks, or other moving components that allow the robot to move autonomously around the environment. However, a robot without an arm or other manipulator cannot manipulate objects in the environment. Therefore, these robots have limited ability to perform tasks, for example, if such robots cannot pick up and deliver an object without a person manipulating the object at the point of pick-up or delivery. There is.

[0008] アーム又は他のマニピュレーターを含むロボットは、人間がいなくても、物体を拾い上げ、及び物体をある場所へと送り届けることができ得る。例えば、グリッパーなどのエンドエフェクターを備えたアームを有するロボットは、グリッパーを用いて、複数の異なる場所から1つ又は複数の物体を拾い上げ、これらの物体を新しい場所へと送り届けることが、全て人間の手助けなしに可能である。これらのロボットは、特定のタスクを自動化し、それによって、人間のオペレーターが他のタスクに集中することを可能にするために使用され得る。しかし、ほとんどの商業用ロボットは、マニピュレーターの動作をプログラミングするという課題及び複雑さが原因で、マニピュレーターを含まない。 [0008] A robot, including an arm or other manipulator, may be able to pick up an object and deliver it to a location without humans. For example, a robot with an arm equipped with an end effector, such as a gripper, can use the gripper to pick up one or more objects from different locations and deliver these objects to new locations, all human. It is possible without help. These robots can be used to automate certain tasks, thereby allowing human operators to focus on other tasks. However, most commercial robots do not include a manipulator due to the challenges and complexity of programming the manipulator's actions.

[0009] また、ほとんどの商業用ロボットは、構造化環境(例えば、工場、倉庫など)で動作するように設計される。非構造化環境(例えば、病院及び家などの人間に関与する環境)は、ロボットをプログラミングするためのさらなる課題をもたらし得る。非構造化環境では、ロボットは、その周辺環境の完全な知識に依存することはできないが、周辺環境の変化を認識し、それらの変化に基づいて適応することができなければならない。したがって、非構造化環境では、ロボットは、自律判断を行い、及びタスクを行うことができるためには、環境に関する情報を継続的に獲得しなければならない。しばしば、ロボットの動作(例えば、環境内でのアーム又はエンドエフェクターの動作)は、環境内の物体及び他の障害物によっても制約され、ロボットの知覚及び操作の課題がさらに増す。非構造化環境の不確かで、動的な性質を考えると、ロボットは、一般的に、タスクを行うようにあらかじめプログラムされることが不可能である。 [0009] Also, most commercial robots are designed to operate in a structured environment (eg, factories, warehouses, etc.). Unstructured environments (eg, human-related environments such as hospitals and homes) can pose additional challenges for programming robots. In an unstructured environment, the robot cannot rely on complete knowledge of its surroundings, but must be able to recognize and adapt to changes in its surroundings. Therefore, in an unstructured environment, the robot must continuously acquire information about the environment in order to be able to make autonomous decisions and perform tasks. Often, the movement of the robot (eg, the movement of the arm or end effector in the environment) is also constrained by objects and other obstacles in the environment, further increasing the perceptual and operational challenges of the robot. Given the uncertain and dynamic nature of unstructured environments, robots are generally not pre-programmed to perform tasks.

[0010] したがって、あらかじめプログラムされた操作スキルに依存することなく、動的な、非構造化の環境を認識し、及びそれらの環境に適応することができ、並びに、それらの環境内でタスクを行うことができるロボットシステムに対するニーズがある。 [0010] Therefore, it is possible to recognize and adapt to dynamic, unstructured environments, and to perform tasks within those environments, without relying on pre-programmed operational skills. There is a need for a robotic system that can be done.

概要
[0011] スキルのロボット学習及び実行のためのシステム、装置、及び方法が記載される。いくつかの実施形態では、装置は、メモリー、プロセッサー、操作要素、及びセンサーのセットを含む。プロセッサーは、メモリー、操作要素、及びセンサーのセットに動作可能に結合され、並びに、センサーのセットからのセンサーのサブセットを用いて、環境の表現を取得することと、環境の表現内で複数のマーカーを識別することであって、複数のマーカーからの各マーカーが、環境内に位置する複数の物理的物体からの物理的物体に関連付けられる、識別することと、環境の表現内で複数のマーカーからの各マーカーの位置を示す情報を提示することと、複数の物理的物体からの物理的物体のセットに関連付けられた、複数のマーカーからのマーカーのセットの選択を受け取ることと、環境内の操作要素の動きに関連する複数の位置からの位置ごとに、操作要素に関連する感覚情報を取得することであって、操作要素の動きが、操作要素と物理的物体のセットとの物理的インタラクションに関連する、取得することと、感覚情報に基づいて、操作要素と物理的物体のセットとの物理的インタラクションを実行するための操作要素の動作を規定するように構成されたモデルを生成することと、を行うように構成されてもよい。
Overview
[0011] Systems, devices, and methods for robot learning and execution of skills are described. In some embodiments, the device comprises a set of memory, processor, operating elements, and sensors. The processor is operably coupled to a set of memory, operating elements, and sensors, as well as using a subset of sensors from the set of sensors to obtain a representation of the environment and multiple markers within the representation of the environment. Is to identify that each marker from multiple markers is associated with a physical object from multiple physical objects located in the environment, from multiple markers in the representation of the environment. Presenting information indicating the location of each marker in the environment, receiving a selection of a set of markers from multiple markers associated with a set of physical objects from multiple physical objects, and manipulating in the environment. Acquiring sensory information related to an operation element for each position from multiple positions related to the movement of the element, and the movement of the operation element becomes a physical interaction between the operation element and a set of physical objects. Relevant, acquiring, and generating a model that is configured to specify the behavior of the operating element to perform a physical interaction between the operating element and a set of physical objects, based on sensory information. , May be configured to do.

[0012] いくつかの実施形態では、操作要素は、複数の関節及びエンドエフェクターを含んでもよい。いくつかの実施形態では、操作要素は、基部又は搬送要素を含んでもよい。 [0012] In some embodiments, the operating element may include multiple joints and end effectors. In some embodiments, the operating element may include a base or a transport element.

[0013] 物理的物体のセットは、静止した物体、又は移動する物体であってもよい。いくつかの実施形態では、物理的物体のセットは、備品、収納容器、構造物(例えば、ドア、ハンドル、家具、壁)などを含み得る。いくつかの実施形態では、物理的物体のセットは、人間(例えば、患者、医師、看護師など)を含み得る。 [0013] The set of physical objects may be stationary or moving objects. In some embodiments, the set of physical objects may include fixtures, storage containers, structures (eg, doors, handles, furniture, walls) and the like. In some embodiments, the set of physical objects may include humans (eg, patients, doctors, nurses, etc.).

[0014] いくつかの実施形態では、複数のマーカーは、基準マーカーであり、環境の表現が、環境の視覚的表現である。 [0014] In some embodiments, the plurality of markers are reference markers and the representation of the environment is a visual representation of the environment.

[0015] いくつかの実施形態では、複数のマーカーからの2つ以上のマーカーが、物理的物体のセットからの1つの物理的物体に関連付けられてもよい。代替的又は追加的に、いくつかの実施形態では、複数のマーカーからの1つのマーカーが、物理的物体のセットからの2つ以上の物理的物体に関連付けられてもよい。 [0015] In some embodiments, two or more markers from multiple markers may be associated with one physical object from a set of physical objects. Alternatively or additionally, in some embodiments, one marker from multiple markers may be associated with two or more physical objects from a set of physical objects.

[0016] いくつかの実施形態では、方法は、センサーのセットを用いて、環境の表現を取得することと、環境の表現内で複数のマーカーを識別することであって、複数のマーカーからの各マーカーが、環境内に位置する複数の物理的物体からの物理的物体に関連付けられる、識別することと、環境の表現内で複数のマーカーからの各マーカーの位置を示す情報を提示することと、上記提示後に、複数の物理的物体からの物理的物体のセットに関連付けられた、複数のマーカーからのマーカーのセットの選択を受け取ることと、環境内の操作要素の動きに関連する複数の位置からの位置ごとに、操作要素に関連する感覚情報を取得することであって、操作要素の動きが、操作要素と物理的物体のセットとの物理的インタラクションに関連する、取得することと、感覚情報に基づいて、操作要素と物理的物体のセットとの物理的インタラクションを実行するための操作要素の動作を規定するように構成されたモデルを生成することと、を含む。 [0016] In some embodiments, the method is to use a set of sensors to obtain a representation of the environment and to identify multiple markers within the representation of the environment, from multiple markers. Each marker is associated with a physical object from multiple physical objects located in the environment, identifying and presenting information indicating the position of each marker from multiple markers in the representation of the environment. After the above presentation, receiving a selection of a set of markers from multiple markers, associated with a set of physical objects from multiple physical objects, and multiple positions related to the movement of the operating element in the environment. To acquire sensory information related to an operating element for each position from, and the movement of the operating element is related to the physical interaction between the operating element and a set of physical objects. Informedly, it involves generating a model configured to specify the behavior of the operating element to perform a physical interaction between the operating element and a set of physical objects.

[0017] いくつかの実施形態では、この方法は、特徴のセットからの第1の特徴のサブセットの選択を受け取ることをさらに含み、ここでは、第1の特徴のサブセットに関連するセンサーデータに基づき、且つ第1の特徴のセットに含まれない、特徴のセットからの第2の特徴のサブセットに関連するセンサーデータには基づかずに、モデルが生成される。 [0017] In some embodiments, the method further comprises receiving a selection of a subset of first features from a set of features, which here is based on sensor data associated with the subset of first features. And the model is generated without being based on sensor data related to a subset of the second feature from the set of features that is not included in the first set of features.

[0018] いくつかの実施形態では、方法は、センサーのセットを用いて、環境の表現を取得することと、環境の表現内で複数のマーカーを識別することであって、複数のマーカーからの各マーカーが、環境内に位置する複数の物理的物体からの物理的物体に関連付けられる、識別することと、環境の表現内で複数のマーカーからの各マーカーの位置を示す情報を提示することと、複数の物理的物体からの物理的物体のセットに関連付けられた、複数のマーカーからのマーカーのセットの選択の受け取りに応答して、操作要素と物理的物体のセットとの物理的インタラクションを実行することに関連するモデルを識別することであって、操作要素が、複数の関節及びエンドエフェクターを含む、識別することと、モデルを使用して、物理的インタラクションを実行することに関連する、複数の関節及びエンドエフェクターの動作を規定する、操作要素の軌道を生成することと、を含む。 [0018] In some embodiments, the method is to use a set of sensors to obtain a representation of the environment and to identify multiple markers within the representation of the environment, from the plurality of markers. Each marker is associated with a physical object from multiple physical objects located in the environment, identifying and presenting information indicating the position of each marker from multiple markers in the representation of the environment. Performs a physical interaction between an operating element and a set of physical objects in response to receiving a selection of a set of markers from multiple markers associated with the set of physical objects from multiple physical objects. Identifying a model associated with, wherein the operating element comprises multiple joints and end effectors, and is associated with identifying and performing physical interactions using the model. Includes the generation of trajectories of operating elements that define the behavior of joints and end effectors.

[0019] いくつかの実施形態では、上記方法は、環境の表現内で操作要素の軌道をユーザーに表示することと、表示後に、ユーザーから入力を受け取ることと、操作要素の軌道の承認を示す入力に応答して、物理的インタラクションを実行するために、操作要素(例えば、複数の関節、エンドエフェクター、搬送要素)の動作を実施することと、をさらに含む。 [0019] In some embodiments, the above method indicates displaying the trajectory of the operating element to the user within a representation of the environment, receiving input from the user after display, and approving the trajectory of the operating element. It further comprises performing the actions of operating elements (eg, multiple joints, end effectors, transport elements) in response to input to perform physical interactions.

[0020] いくつかの実施形態では、モデルが、(i)保存されたマーカーのセットと、(ii)保存されたマーカーのセットに関連する、操作要素(例えば、複数の関節、エンドエフェクター、搬送要素)の保存された軌道に沿った点における操作要素の位置、向き、又は構成の少なくとも1つを示す感覚情報と、に関連付けられる。操作要素の軌道を生成する方法は、例えば、マーカーのセット及び保存されたマーカーのセット間の変換関数を計算することと、点ごとに、変換関数を用いて、操作要素の位置又は向きの少なくとも一方を変換することと、点ごとに、操作要素(例えば、複数の関節、エンドエフェクター、搬送要素)の1つ又は複数のコンポーネントの計画された構成を、保存された軌道に沿った上記コンポーネントの構成に基づいて決定することと、点ごとに、その点に関する上記コンポーネントの計画された構成に基づいて、その点及び連続点間の軌道の一部を決定することと、を含んでもよい。 [0020] In some embodiments, the model is (i) associated with a set of conserved markers and (ii) a set of conserved markers, operating elements (eg, multiple joints, end effectors, transport). The element) is associated with sensory information indicating at least one of the position, orientation, or configuration of the operating element at a point along the conserved trajectory of the element. The method of generating the trajectory of the operating element is, for example, to calculate a conversion function between a set of markers and a set of stored markers, and pointwise, using the conversion function, at least the position or orientation of the operating element. Transforming one and, point by point, a planned configuration of one or more components of an operating element (eg, multiple joints, end effectors, transport elements) of the above components along a conserved trajectory. It may include determining on the basis of the configuration and, on a point-by-point basis, determining a portion of the orbit between the point and the continuum point based on the planned configuration of the above component for that point.

[0021] いくつかの実施形態では、ロボットデバイスは、搬送要素に関連するスキルを学習し、及び実行するように構成される。搬送要素は、例えば、車輪のセット、トラックのセット、クローラーのセット、又は第1の部屋から第2の部屋へ、若しくは建物の複数の階間などの環境内でのロボットデバイスの移動を可能にする他の適切なデバイスでもよい。ロボットデバイスが、例えば、戸口を通って、又は人間などの物体によって、第1の場所から第2の場所へと移動したときに、ロボットデバイスは、搬送要素、ロボットデバイスの周りの環境、及び/又はロボットデバイスの別のコンポーネントに関連する感覚情報を取得することによって、搬送要素に関連するスキルを学習するように構成されてもよい。感覚情報は、ロボットデバイスの動作中の特定の時点で(例えば、キーフレームで)記録されてもよい。ロボットデバイスは、感覚情報に基づいて、第1の場所から第2の場所へのロボットデバイスの移動を実行するために、搬送要素(又はロボットデバイスの他のコンポーネント(例えば、操作要素))の動作を規定するように構成されたモデルを生成するように構成されてもよい。 [0021] In some embodiments, the robotic device is configured to learn and perform skills associated with transport elements. The transport element allows the robotic device to move, for example, a set of wheels, a set of trucks, a set of crawlers, or from one room to a second room, or within an environment such as between multiple floors of a building. It may be any other suitable device. When the robotic device is moved from a first place to a second place, for example through a doorway or by an object such as a human, the robotic device is equipped with transport elements, the environment around the robotic device, and /. Alternatively, it may be configured to learn skills related to transport elements by acquiring sensory information related to another component of the robotic device. Sensory information may be recorded at specific points in time (eg, keyframes) during the operation of the robotic device. The robot device operates a transport element (or other component of the robot device (eg, an operating element)) to perform movement of the robot device from a first location to a second location based on sensory information. May be configured to generate a model configured to specify.

[0022] いくつかの実施形態では、ロボットデバイスは、スキルの汎用バージョンを用いて特化スキルを学習するように構成される。ロボットデバイスは、ある特定の環境で、汎用スキルの実行を開始し、その特定の環境でスキルの特化を必要とする実行の部分にロボットデバイスが到達すると、実行を休止することができる。次に、ロボットデバイスは、スキルのその部分の実演をユーザーに促すことができる。ロボットデバイスは、スキルの実行を続け、及び/又はスキルが完了するまで、スキルの特定の部分の実演をユーザーに促すことができる。次に、ロボットデバイスは、スキルを実行するための特化モデルを生成するために、スキルの特定の部分の実演に基づいて、汎用スキルを適応させる。 [0022] In some embodiments, the robotic device is configured to learn a specialized skill using a generic version of the skill. The robot device can start executing a general-purpose skill in a particular environment and pause execution when the robot device reaches the part of the execution that requires specialization of the skill in that particular environment. The robot device can then encourage the user to demonstrate that part of the skill. The robot device can continue to execute the skill and / or prompt the user to demonstrate a particular part of the skill until the skill is completed. The robot device then adapts the generic skill based on a demonstration of a particular part of the skill to generate a specialized model for performing the skill.

[0023] いくつかの実施形態では、ロボットデバイスは、環境的制約を学習するように構成される。ロボットデバイスは、それの周辺環境、又はその環境内の物体に関する情報を記録し、環境に関する一般知識を取得することができる。ロボットデバイスは、環境内で実行される異なる複数のスキルに関係するモデルのセットにこの一般知識を適用することができる。 [0023] In some embodiments, the robotic device is configured to learn environmental constraints. A robot device can record information about its surrounding environment or objects within that environment and obtain general knowledge about the environment. Robotic devices can apply this general knowledge to a set of models related to different skills performed in an environment.

[0024] いくつかの実施形態では、ロボットデバイスは、人間の社会環境などの動的環境内で継続的及び自律的に行動するために、挙動アービトレーションを用いることが可能である。ロボットデバイスは、様々なリソース又はコンポーネント(例えば、操作要素、搬送要素、頭部、カメラなど)を有してもよく、これらのリソースをいつ及びどのように使用するかを決定するために、アービトレーションアルゴリズムを適用することができる。アービトレーションアルゴリズムは、ロボットデバイスで捕捉されている情報に基づいて、異なる複数のアクション又は挙動が優先順位を付けられることを可能にするルールのセットを規定することができる。ロボットデバイスは、ロボットデバイスで新しい情報が捕捉されるにつれて、継続的に、異なる複数のアクション及び挙動の実行の中から決める(したがって、異なるリソース又はコンポーネントを使用する)ように構成されてもよい。挙動アービトレーションの一部として、ロボットデバイスは、あるアクションの中断を処理し、新しいアクションに切り替えるように構成されてもよい。ロボットデバイス自体、及びその周辺環境を継続的にモニタリングし、並びに継続的なアービトレーションを行うことによって、ロボットデバイスは、経時的に、社会的に適切な挙動に絶えず従事することができる。 [0024] In some embodiments, the robotic device is capable of using behavioral arbitration to behave continuously and autonomously in a dynamic environment such as the human social environment. Robotic devices may have various resources or components (eg, operating elements, transport elements, heads, cameras, etc.) and arbitration to determine when and how to use these resources. The algorithm can be applied. Arbitration algorithms can specify a set of rules that allow different actions or behaviors to be prioritized based on the information captured by the robot device. The robotic device may be configured to continually determine (and thus use different resources or components) from performing different actions and behaviors as new information is captured by the robotic device. As part of the behavior arbitration, the robot device may be configured to handle the interruption of an action and switch to a new action. By continuously monitoring the robot device itself and its surrounding environment and performing continuous arbitration, the robot device can constantly engage in socially appropriate behavior over time.

[0025] いくつかの実施形態では、ロボットデバイスは、環境に関連する社会的コンテキスト情報を受け取り、その情報を環境のナビゲーションマップと組み合わせる(例えば、ナビゲーションマップ上に社会的コンテキスト情報を重ねる)ように構成される。ロボットデバイスは、ユーザー(例えば、人間のオペレーター)によって社会的コンテキスト情報が与えられてもよく、又はロボットデバイスは、環境内のインタラクションを通して、社会的コンテキスト情報を捕捉してもよい。ロボットデバイスが、経時的に環境内で人間とのインタラクションに従事するにつれて、ロボットデバイスは、社会的コンテキスト情報を改良することができる。いくつかの実施形態では、ロボットデバイスは、環境内の特定の場所に関連する社会的コンテキスト情報に基づいて、あるタイプの挙動又はアクションをこれらの場所に関連付けるように構成されてもよい。 [0025] In some embodiments, the robot device receives social contextual information related to the environment and combines that information with the navigation map of the environment (eg, overlaying the social contextual information on the navigation map). It is composed. The robot device may be given social context information by a user (eg, a human operator), or the robot device may capture social context information through interactions within the environment. As the robot device engages in human interaction in the environment over time, the robot device can improve social contextual information. In some embodiments, the robotic device may be configured to associate certain types of behaviors or actions with these locations based on social contextual information associated with specific locations in the environment.

[0026] いくつかの実施形態では、ロボットデバイスは、人間のオペレーターと、現場で、又は人間のオペレーターによって操作される遠隔デバイスへのネットワーク接続によって、インタラクトするように構成される。人間のオペレーターは、本明細書では、「ロボットの監督者」と呼ばれ、様々なソフトウェアベースのツールを用いて、周辺環境に関する情報をロボットデバイスに知らせ、及び/又は特定のアクションを行うようにロボットデバイスに指示することができる。これらのアクションには、例えば、ナビゲーション挙動、操作挙動、頭部挙動、音声、ライトなどが含まれ得る。ロボットの監督者は、アクションの学習若しくは実行中に情報を収集し、及び/又はロボットデバイスが、その情報を用いて、今後、異なる複数のアクションの中でアービトレーションを行う能力、若しくはある特定のアクションを実行する能力を向上させることができるように、特定の挙動を良い挙動若しくは悪い挙動とタグ付けするようにロボットデバイスを制御することができる。 [0026] In some embodiments, the robotic device is configured to interact with a human operator by a network connection to a remote device operated in the field or by a human operator. Human operators, referred to herein as "robot supervisors," use a variety of software-based tools to inform robot devices about their surroundings and / or to take specific actions. You can instruct the robot device. These actions may include, for example, navigation behavior, operational behavior, head behavior, voice, lights, and the like. The robot supervisor collects information during the learning or execution of the action, and / or the ability of the robot device to use that information to arbitrate in different actions in the future, or a particular action. Robotic devices can be controlled to tag specific behaviors as good or bad so that they can improve their ability to perform.

[0027] 以下の図面及び詳細な説明を考察すれば、他のシステム、プロセス、及び特徴が、当業者には明らかとなるだろう。全てのそのような追加のシステム、プロセス、及び特徴が、本明細書の範囲内に含まれること、本発明の範囲内であること、及び添付の特許請求の範囲によって保護されることが意図される。 Other systems, processes, and features will be apparent to those of skill in the art by considering the drawings and detailed description below. It is intended that all such additional systems, processes, and features are contained within the scope of the present specification, are within the scope of the invention, and are protected by the appended claims. To.

図面の簡単な説明
[0028] 図面が主に例示を目的としたものであり、本明細書に記載される発明特定事項の範囲を限定することは意図されないことを当業者は理解するだろう。図面は、必ずしも一定の縮尺ではなく、場合によっては、本明細書に開示される発明特定事項の様々な局面は、異なる複数の特徴の理解を容易にするために、図面において、誇張して、すなわち拡大して示される場合がある。図面では、同様の参照符号は、一般に、同様の特徴(例えば、機能的に類似した、及び/又は構造的に類似した要素)を指す。
A brief description of the drawing
It will be appreciated by those skilled in the art that the drawings are intended primarily for illustration purposes and are not intended to limit the scope of the invention-specific matters described herein. The drawings are not necessarily to a constant scale, and in some cases, various aspects of the invention-specific matters disclosed herein are exaggerated in the drawings to facilitate understanding of the different features. That is, it may be shown enlarged. In the drawings, similar reference numerals generally refer to similar features (eg, functionally similar and / or structurally similar elements).

[0029]いくつかの実施形態による、ロボットデバイスを含むシステムの構成を示すブロック図である。[0029] FIG. 3 is a block diagram illustrating a configuration of a system including a robotic device according to some embodiments. [0030]いくつかの実施形態による、ロボットデバイスの構成を示すブロック図である。[0030] FIG. 3 is a block diagram showing a configuration of a robotic device according to some embodiments. [0031]いくつかの実施形態による、ロボットデバイスに関連付けられた制御ユニットの構成を示すブロック図である。[0031] FIG. 3 is a block diagram illustrating a configuration of a control unit associated with a robotic device, according to some embodiments. [0032]いくつかの実施形態による、ロボットデバイスの操作要素の模式図である。[0032] It is a schematic diagram of the operation element of the robot device according to some embodiments. [0033]いくつかの実施形態による、ロボットデバイスの模式図である。[0033] It is a schematic diagram of a robot device according to some embodiments. [0034]いくつかの実施形態による、ロボットデバイスが見る環境内の物体の模式図である。[0034] It is a schematic diagram of an object in an environment seen by a robot device according to some embodiments. [0034]いくつかの実施形態による、ロボットデバイスが見る環境内の物体の模式図である。[0034] It is a schematic diagram of an object in an environment seen by a robot device according to some embodiments. [0035]いくつかの実施形態による、ロボットデバイスが見る環境内の物体の模式図である。[0035] It is a schematic diagram of the object in the environment seen by the robot device by some embodiments. [0035]いくつかの実施形態による、ロボットデバイスが見る環境内の物体の模式図である。[0035] It is a schematic diagram of the object in the environment seen by the robot device by some embodiments. [0036]いくつかの実施形態による、ロボットデバイスによって行われる、環境のセンシング又はスキャニングを行う方法を示すフロー図である。[0036] FIG. 3 is a flow diagram illustrating a method of environmental sensing or scanning performed by a robotic device according to some embodiments. [0037]いくつかの実施形態による、ロボットデバイスによって行われるスキルの学習及び実行の方法を示すフロー図である。[0037] FIG. 6 is a flow diagram illustrating a method of learning and executing skills performed by a robotic device, according to some embodiments. [0038]いくつかの実施形態による、ロボットデバイスによって行われるスキルを学習する方法を示すフロー図である。[0038] It is a flow diagram which shows the method of learning the skill performed by a robot device by some embodiments. [0039]いくつかの実施形態による、ロボットデバイスによって行われるスキルを実行する方法を示すフロー図である。[0039] It is a flow diagram which shows the method of performing the skill performed by a robot device by some embodiments. [0040]いくつかの実施形態による、ユーザーアクションを含む、ロボット学習及び実行のためのシステムアーキテクチャを示すブロック図である。[0040] FIG. 6 is a block diagram illustrating a system architecture for robot learning and execution, including user actions, according to some embodiments. [0041]いくつかの実施形態による、環境内のロボットデバイスの動作を示すフロー図である。[0041] It is a flow diagram which shows the operation of the robot device in an environment by some embodiments. [0042]いくつかの実施形態による、ロボットの監督者などのユーザーからの入力を要求し、及びそれを受け取る方法を示すフロー図である。[0042] FIG. 6 is a flow diagram illustrating a method of requesting and receiving input from a user, such as a robot supervisor, according to some embodiments. [0043]いくつかの実施形態による、ロボットデバイスによって行われる、スキル及び環境的制約を学習する方法を示すフロー図である。[0043] FIG. 6 is a flow diagram illustrating a method of learning skills and environmental constraints performed by a robotic device, according to some embodiments. [0044]いくつかの実施形態による、ロボットデバイスによって行われる、汎用スキルモデルからスキルを学習する方法を示すフロー図である。[0044] It is a flow diagram which shows the method of learning a skill from a general-purpose skill model performed by a robot device by some embodiments. [0045]いくつかの実施形態による、ロボットデバイスによって行われる、環境的制約を学習する方法を示すフロー図である。[0045] FIG. 6 is a flow diagram illustrating a method of learning environmental constraints performed by a robotic device, according to some embodiments. [0046]いくつかの実施形態による、挙動アービトレーションを行うロボットデバイスのコンポーネントの一例を示すブロック図である。[0046] It is a block diagram which shows an example of the component of the robot device which performs the behavior arbitration by some embodiments. [0047]いくつかの実施形態による、ロボットデバイスによって生成された、環境のマップの層の模式図である。[0047] Schematic representation of layers of a map of an environment generated by a robotic device, according to some embodiments. [0048]いくつかの実施形態による、ロボットデバイスに関連付けられた制御ユニットの構成を示すブロック図である。[0048] FIG. 3 is a block diagram illustrating a configuration of a control unit associated with a robotic device, according to some embodiments. [0049]いくつかの実施形態による、ロボットデバイスによって保持されるマップに対してロボットデバイスが提供し、及びそのマップから受け取られる情報のフローを示す。[0049] In some embodiments, the flow of information provided by and received from a map by the robot device for a map held by the robot device is shown. [0050]いくつかの実施形態による、ロボットデバイスの異なる複数の学習モードを示すフロー図を示す。[0050] Shown is a flow diagram showing different learning modes of a robotic device according to some embodiments. [0051]いくつかの実施形態による、ロボットデバイスの例示的学習挙動を示すフロー図を示す。[0051] A flow diagram showing exemplary learning behavior of a robotic device according to some embodiments is shown. [0051]いくつかの実施形態による、ロボットデバイスの例示的学習挙動を示すフロー図を示す。[0051] A flow diagram showing exemplary learning behavior of a robotic device according to some embodiments is shown. [0051]いくつかの実施形態による、ロボットデバイスの例示的学習挙動を示すフロー図を示す。[0051] A flow diagram showing exemplary learning behavior of a robotic device according to some embodiments is shown.

詳細な説明
[0052] 本明細書では、スキルのロボット学習及び実行のためのシステム、装置、及び方法が記載される。いくつかの実施形態では、本明細書に記載されるシステム、装置、及び方法は、人間による実演やインタラクションによってスキルを学習し、学習したスキルを非構造化環境で実行することができるロボット装置に関する。
Detailed explanation
[0052] This specification describes systems, devices, and methods for robot learning and execution of skills. In some embodiments, the systems, devices, and methods described herein relate to robotic devices capable of learning skills through human demonstrations and interactions and performing the learned skills in an unstructured environment. ..

概要
[0053] いくつかの実施形態では、本明細書に記載されるシステム、装置、及び方法は、Learning from Demonstration(「LfD」)プロセスによってスキル(例えば、操作スキル)を学習することができるロボットに関し、このLfDプロセスでは、人間が、運動感覚教示により(例えば、物理的に、及び/又は遠隔制御により、人間が、アクションを行うようにロボットを指導する)、及び/又は人間自身がアクションを行うことにより、システムにアクションを実演する。このようなシステム、装置、及び方法は、ロボットに操作スキルをあらかじめプログラムする必要がなく、ロボットは、適応性があり、観察によってスキルを学習することができるように設計される。例えば、ロボットは、機械学習技術を用いて、操作スキルを獲得し、実行することができる。スキルの学習後に、ロボットは、異なる複数の環境でスキルを実行することができる。ロボットは、視覚データ(例えば、感知した視覚情報)に基づいて、スキルの学習及び/又は実行を行うことができる。代替的又は追加的に、ロボットは、触覚データ(例えば、トルク、力、及び他の非視覚情報)を用いて、スキルの学習及び/又は実行を行うことができる。ロボット学習は、ロボットの配備前に工場で、又はロボットの配備後に現場で(例えば、病院で)行うことができる。いくつかの実施形態では、ロボットは、ロボット工学及び/又はプログラミングの訓練を受けていないユーザーによって、スキルを教えられ、及び/又はある環境で動作するように適応することができる。例えば、ロボットは、自然な人間の挙動を利用する学習アルゴリズムを有することができ、実演プロセスを行うようにユーザーを指導することができるツールを含むことができる。
Overview
[0053] In some embodiments, the systems, devices, and methods described herein relate to robots capable of learning skills (eg, operational skills) by a Learning from Demonstration (“LfD”) process. In this LfD process, the human performs the action by kinesthetic teaching (eg, physically and / or by remote control, instructing the robot to perform the action) and / or by the human himself. By demonstrating the action to the system. Such systems, devices, and methods do not require the robot to be pre-programmed with operational skills, and the robot is designed to be adaptable and able to learn the skills by observation. For example, robots can acquire and execute operational skills using machine learning techniques. After learning the skill, the robot can perform the skill in different environments. The robot can learn and / or execute skills based on visual data (eg, perceived visual information). Alternatively or additionally, the robot can use tactile data (eg, torque, force, and other non-visual information) to learn and / or perform skills. Robot learning can be done in the factory before the robot is deployed or in the field (eg, in the hospital) after the robot is deployed. In some embodiments, the robot can be trained and / or adapted to operate in an environment by a user who is not trained in robotics and / or programming. For example, a robot can have a learning algorithm that takes advantage of natural human behavior and can include tools that can instruct the user to perform a demonstration process.

[0054] いくつかの実施形態では、ロボットは、人間とインタラクトし、人間と協力してタスクを行うように設計することができる。いくつかの実施形態では、ロボットは、一般的な社会的挙動を利用して、人間のそばで、社会的に予測可能且つ許容可能なやり方で行動することができる。可動ロボットは、ある環境内で、その環境内の人間とインタラクトしながらナビゲートするように設計することもできる。例えば、ロボットは、人間の周りをナビゲートするために特定の言葉を声に出し、人間が通れるように脇に寄り、及びナビゲーション中に視線を利用して意図的にコミュニケーションするようにプログラムすることができる。いくつかの実施形態では、ロボットは、その周囲の環境内で、ロボットが、人間の感知及び追跡を行い、その情報を用いて視線及び他の社会的挙動を生じさせることを可能にするセンサーを備えてもよい。 [0054] In some embodiments, the robot can be designed to interact with and cooperate with humans to perform tasks. In some embodiments, the robot can take advantage of common social behaviors to behave in a socially predictable and acceptable manner by humans. Movable robots can also be designed to navigate within an environment while interacting with humans in that environment. For example, a robot may be programmed to speak out a specific word to navigate around a human, to set aside for human passage, and to intentionally communicate using the line of sight during navigation. Can be done. In some embodiments, the robot provides sensors within its surrounding environment that allow the robot to sense and track humans and use that information to generate gaze and other social behaviors. You may prepare.

[0055] いくつかの実施形態では、ロボットは、目標を達成するため、又はLfDプロセス中のアクションを行うためのオプションを提案するように設計することができる。例えば、ロボットは、目標(例えば、物体を拾い上げること)を達成するための数個の異なるオプションを提案することができ、その目標を達成するためには、これらのオプションの内のどれが、効果的及び/又は効率的である可能性が最も高いかを示すことができる。いくつかの実施形態では、ロボットは、ユーザーによる入力に基づいて(例えば、ユーザーが、スキルモデルに含める関連の特徴を示す)、スキルを適応させることができる。 [0055] In some embodiments, the robot can be designed to suggest options for achieving goals or performing actions during the LfD process. For example, a robot can propose several different options to achieve a goal (eg, picking up an object), and which of these options is effective in achieving that goal. It can indicate whether it is most likely to be targeted and / or efficient. In some embodiments, the robot can adapt the skill based on user input (eg, indicating the relevant features that the user includes in the skill model).

[0056] いくつかの実施形態では、ロボットデバイスは、ロボットデバイスが事前に環境の完全な情報を持たない非構造化環境(例えば、動的及び/又は人間環境)において、スキルの学習及び/又は実行を行うことができ得る。非構造化環境は、例えば、屋内及び屋外状況を含む場合があり、環境内で移動可能な1人又は複数の人間や他の物体を含む場合がある。最も自然な環境、又は現実世界の環境が非構造化であるため、本明細書に記載されるロボットデバイス及び/又はシステムなどの、非構造化環境で適応及び動作できるロボットデバイスは、非構造化環境に適応できない既存のロボットデバイスと比べて著しい向上を提供することができる。非構造化環境には、屋内状況(例えば、建物、オフィス、家、部屋など)及び/又は他のタイプの閉じた空間(例えば、飛行機、電車、及び/又は他のタイプの移動可能な区画)、並びに屋外状況(例えば、公園、ビーチ、外庭、野原)が含まれ得る。ある実施形態では、本明細書に記載されるロボットデバイスは、非構造化病院環境で動作することができる。 [0056] In some embodiments, the robotic device learns and / or learns skills in an unstructured environment (eg, dynamic and / or human environment) in which the robotic device does not have complete information of the environment in advance. Can be done. The unstructured environment may include, for example, indoor and outdoor situations, and may include one or more people or other objects that are mobile within the environment. Robotic devices that can be adapted and operated in an unstructured environment, such as the robotic devices and / or systems described herein, are unstructured because the most natural or real-world environment is unstructured. It can provide significant improvements over existing robotic devices that are not adaptable to the environment. Unstructured environments include indoor situations (eg, buildings, offices, houses, rooms, etc.) and / or other types of closed spaces (eg, planes, trains, and / or other types of mobile compartments). , As well as outdoor conditions (eg, parks, beaches, gardens, fields). In certain embodiments, the robotic devices described herein can operate in an unstructured hospital environment.

[0057] 図1は、いくつかの実施形態によるシステム100を示すハイレベルブロック図である。システム100は、非構造化環境において、例えば操作スキルなどのスキルを学習及び実行するように構成することができる。システム100は、単一のデバイスとして実装されてもよく、又はネットワーク105に接続された複数のデバイスにわたって実装されてもよい。例えば、図1に示すように、システム100は、例えば1つ又は複数のロボットデバイス102及び110などの1つ又は複数の計算デバイス、サーバー120、及び1つ又は複数の追加の計算デバイス150を含み得る。4つのデバイスが示されているが、システム100は、具体的に図1に示されていない計算デバイスを含む、任意の数の計算デバイスを含み得ることが理解されるものとする。 [0057] FIG. 1 is a high level block diagram showing a system 100 according to some embodiments. The system 100 can be configured to learn and execute skills, such as operational skills, in an unstructured environment. The system 100 may be implemented as a single device or may be implemented across multiple devices connected to the network 105. For example, as shown in FIG. 1, the system 100 includes one or more computing devices such as, for example, one or more robotic devices 102 and 110, a server 120, and one or more additional computing devices 150. obtain. Although four devices are shown, it is understood that the system 100 may include any number of computational devices, including computational devices not specifically shown in FIG.

[0058] ネットワーク105は、有線ネットワーク及び/又は無線ネットワークとして実装され、ロボットデバイス102及び110、サーバー120、及び1つ又は複数の計算デバイス150を含む計算デバイスを動作可能に結合するために使用される、任意のタイプのネットワーク(例えば、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、仮想ネットワーク、電気通信網)でもよい。本明細書でさらに詳細に記載されるように、いくつかの実施形態では、例えば、計算デバイスは、インターネット・サービス・プロバイダー(ISP)及びインターネット(例えば、ネットワーク105)により、互いに接続されたコンピューターである。いくつかの実施形態では、任意の2つの計算デバイス間で、接続をネットワーク105により規定することができる。図1に示すように、例えば、ロボットデバイス102と、ロボットデバイス110、サーバー120、又は1つ若しくは複数の計算デバイス150のいずれか1つとの間で、接続を規定することができる。いくつかの実施形態では、これらの計算デバイスは、互いに通信する(例えば、データの送信及び/又は受信を行う)ことができ、並びに中間ネットワーク及び/又は代替ネットワーク(図1には示されない)を介してネットワーク105と通信することができる。このような中間ネットワーク及び/又は代替ネットワークは、ネットワーク105と同じタイプ及び/又は異なるタイプのネットワークであってもよい。各計算デバイスは、送信するためにネットワーク105上でデータを送信し、及び/又は他の計算デバイスの1つ又は複数からデータを受信するように構成された、任意のタイプのデバイスでもよい。 [0058] The network 105 is implemented as a wired and / or wireless network and is used to operably combine computing devices including robotic devices 102 and 110, a server 120, and one or more computing devices 150. It may be any type of network (eg, local area network (LAN), wide area network (WAN), virtual network, telecommunications network). As described in more detail herein, in some embodiments, for example, the computing device is a computer connected to each other by an Internet Service Provider (ISP) and the Internet (eg, Network 105). be. In some embodiments, the connection between any two computing devices can be defined by the network 105. As shown in FIG. 1, for example, a connection can be defined between the robot device 102 and any one of the robot device 110, the server 120, or one or more computing devices 150. In some embodiments, these computing devices are capable of communicating with each other (eg, transmitting and / or receiving data), as well as intermediate and / or alternative networks (not shown in FIG. 1). It is possible to communicate with the network 105 via the network 105. Such an intermediate network and / or an alternative network may be the same type and / or a different type of network as the network 105. Each computing device may be any type of device configured to transmit data on the network 105 for transmission and / or receive data from one or more of the other computing devices.

[0059] いくつかの実施形態では、システム100は、単一のロボットデバイス(例えば、ロボットデバイス102)を含む。ロボットデバイス102は、環境に関する情報を感知し、人間による実演及びインタラクションによってスキルを学習し、環境とインタラクトし、及び/又は人間による実演や入力によって環境的制約を学習し、及び/又はその環境でそれらのスキルを実行するように構成することができる。いくつかの実施形態では、ロボットデバイス102は、スキル及び/又は環境に関する追加情報を学習するために、自己探索を行うこと、及び/又はユーザー入力を要求することができる。ロボットデバイス例のさらに詳細な図を図2に示す。 [0059] In some embodiments, the system 100 includes a single robot device (eg, robot device 102). The robot device 102 senses information about the environment, learns skills through human demonstrations and interactions, interacts with the environment, and / or learns environmental constraints through human demonstrations and inputs, and / or in that environment. It can be configured to perform those skills. In some embodiments, the robot device 102 may perform self-search and / or require user input to learn additional information about skills and / or the environment. A more detailed diagram of an example robot device is shown in FIG.

[0060] 他の実施形態では、システム100は、複数のロボットデバイス(例えば、ロボットデバイス102及び110)を含む。ロボットデバイス102は、ネットワーク105を介して、ロボットデバイス110にデータを送信し、及び/又はロボットデバイス110からデータを受信することができる。例えば、ロボットデバイス102は、環境(例えば、物体の場所)に関してロボットデバイス102が感知した情報をロボットデバイス110に送信することができ、その環境に関する情報をロボットデバイス110から受信することができる。また、ロボットデバイス102及び110は、スキルの学習及び/又は実行を行うために、互いに対して情報を送信し、及び/又は互いから情報を受信することができる。例えば、ロボットデバイス102は、ある環境でスキルを学習し、その学習したスキルを表すモデルをロボットデバイス110に送信することができ、ロボットデバイス110は、そのモデルを受信すると、それを用いて、同じ又は異なる環境でスキルを実行することができる。ロボットデバイス102は、ロボットデバイス110と同じ又は異なる場所に位置してもよい。例えば、ロボットデバイス102及び110は、一緒にスキルを学習及び/又は実行する(例えば、重い、又は大きな物体を移動させる)ことができるように、ある建物(例えば、病院の建物)の同じ部屋に位置してもよい。或いは、ロボットデバイス102は、ある建物(例えば、病院の建物)の1階に位置し、ロボットデバイス110は、ある建物の2階に位置してもよく、これら2つのロボットデバイスは、異なる階に関する情報(例えば、これらの階で物体がある場所、リソースが存在し得る場所など)を互いに伝えるために、互いに通信することができる。 [0060] In another embodiment, the system 100 includes a plurality of robotic devices (eg, robotic devices 102 and 110). The robot device 102 can transmit data to and / or receive data from the robot device 110 via the network 105. For example, the robot device 102 can transmit information sensed by the robot device 102 regarding the environment (for example, the location of an object) to the robot device 110, and can receive information about the environment from the robot device 110. Also, robotic devices 102 and 110 can send and / or receive information from each other in order to learn and / or execute skills. For example, the robot device 102 can learn a skill in an environment and send a model representing the learned skill to the robot device 110, and when the robot device 110 receives the model, it uses the same model. Or you can perform the skill in a different environment. The robot device 102 may be located at the same or different location as the robot device 110. For example, robotic devices 102 and 110 may be in the same room in a building (eg, a hospital building) so that they can learn and / or perform skills together (eg, move heavy or large objects). It may be located. Alternatively, the robot device 102 may be located on the first floor of a building (eg, a hospital building) and the robot device 110 may be located on the second floor of a building, the two robot devices relating to different floors. They can communicate with each other to convey information (eg, where objects are on these floors, where resources can exist, etc.).

[0061] いくつかの実施形態では、システム100は、1つ又は複数のロボットデバイス(例えば、ロボットデバイス102及び/又は110)と、サーバー120とを含む。サーバー120は、ロボットデバイス102及び/又は110を管理する専用サーバーであってもよい。サーバー120は、ロボットデバイス102及び/又は110と同じ又は異なる場所に位置してもよい。例えば、サーバー120は、1つ又は複数のロボットデバイスと同じ建物(例えば、病院の建物)内に位置してもよく、ローカル管理者(例えば、病院管理者)によって管理されてもよい。或いは、サーバー120は、遠隔地(例えば、ロボットデバイスのメーカー又は供給業者に関連する場所)に位置してもよい。 [0061] In some embodiments, the system 100 includes one or more robotic devices (eg, robotic devices 102 and / or 110) and a server 120. The server 120 may be a dedicated server that manages the robot device 102 and / or 110. The server 120 may be located at the same or different location as the robot devices 102 and / or 110. For example, the server 120 may be located in the same building as one or more robotic devices (eg, a hospital building) or may be managed by a local administrator (eg, a hospital administrator). Alternatively, the server 120 may be located in a remote location (eg, a location associated with the manufacturer or supplier of the robotic device).

[0062] いくつかの実施形態では、システム100は、1つ又は複数のロボットデバイス(例えば、ロボットデバイス102及び/又は110)と、追加の計算デバイス150とを含む。計算デバイス150は、特定の機能を起動及び/又は実行するように構成された、任意の適宜の処理デバイスでもよい。例えば、病院の状況では、計算デバイス150は、ネットワーク105に接続し、ロボットデバイス102及び/又は110を含む他の計算デバイスと通信することが可能な診断及び/又は治療デバイスであってもよい。 [0062] In some embodiments, the system 100 includes one or more robotic devices (eg, robotic devices 102 and / or 110) and an additional computing device 150. The computing device 150 may be any suitable processing device configured to activate and / or perform a particular function. For example, in a hospital situation, the computing device 150 may be a diagnostic and / or therapeutic device capable of connecting to the network 105 and communicating with other computing devices including the robot device 102 and / or 110.

[0063] いくつかの実施形態では、1つ又は複数のロボットデバイス(例えば、ロボットデバイス102及び/又は110)は、ネットワーク105を介して、サーバー120及び/又は計算デバイス150と通信するように構成されてもよい。サーバー120は、ロボットデバイスから遠隔地にあり、及び/又は敷地内でロボットデバイスの近くに位置する1つ又は複数のコンポーネントを含んでもよい。計算デバイス150は、ロボットデバイスから遠隔地にあり、敷地内でロボットデバイスの近くに位置し、及び/又は1つのロボットデバイスに組み込まれた、1つ又は複数のコンポーネントを含んでもよい。サーバー120及び/又は計算デバイス150は、ユーザー(例えば、近くのユーザー又はロボットの監督者)が、ロボットデバイスの動作を制御することを可能にするユーザーインターフェースを含んでもよい。例えば、ユーザーは、ロボットデバイスによって行われる1つ又は複数のアクションの実行を中断及び/又は修正することができる。これらのアクションには、例えば、ナビゲーション挙動、操作挙動、頭部挙動、音声/ライト、及び/又はロボットデバイスの他のコンポーネントが含まれ得る。いくつかの実施形態では、ロボットの監督者は、遠隔でロボットデバイスをモニタリングし、安全目的で、その動作を制御することができる。例えば、ロボットの監督者は、人間を危険にさらすこと、又はロボットデバイスや環境内の別の物体に損傷を与えることを避けるために、アクションの実行を停止又は修正するように、ロボットデバイスに命令することができる。いくつかの実施形態では、近くのユーザーは、ロボットデバイスに対して、アクションを指導又は実演することができる。いくつかの実施形態では、ロボットデバイスは、アクションの実行時における特定の時点で、ユーザーの介入を求めるように構成されてもよい。例えば、ロボットデバイスが、そのロボットデバイス自体、及び/又はそのロボットデバイス周辺の環境に関する特定の情報を確認できないとき、ロボットデバイスが、あるアクションを完了するため、又はある特定の場所までナビゲートするための軌道を決定できないとき、ロボットデバイスが、(例えば、以下でさらに記載されるように、対話型学習テンプレートを使用した学習中に)ユーザー入力を求めるように、前もってプログラムされたときなどの時点で、ユーザーの介入を求めることができる。いくつかの実施形態では、ロボットデバイスは、学習及び/又は実行中の特定の時点で、ユーザーにフィードバックを要求することができる。例えば、ロボットデバイスは、どんな情報(例えば、操作要素又は搬送要素に関連する情報、周辺環境に関連する情報)を収集すべきか、及び/又はいつ情報を収集すべきか(例えば、実演中のキーフレームのタイミング)を指定するようにユーザーに促すことができる。代替的又は追加的に、ロボットデバイスは、ある特定のコンテキストにおいて、アクションの良い例又は悪い例として、ユーザーがロボットデバイスの過去又は現在の挙動にタグを付けることを要求することができる。ロボットデバイスは、この情報を用いて、その特定のコンテキストにおける、そのアクションの今後の実行を向上させるように構成されてもよい。 [0063] In some embodiments, one or more robotic devices (eg, robotic devices 102 and / or 110) are configured to communicate with the server 120 and / or the computing device 150 via the network 105. May be done. The server 120 may include one or more components that are remote from the robot device and / or located near the robot device on the premises. Computational device 150 may include one or more components that are remote from the robotic device, located close to the robotic device on the premises, and / or incorporated into one robotic device. The server 120 and / or the computing device 150 may include a user interface that allows a user (eg, a nearby user or a robot supervisor) to control the operation of the robot device. For example, the user can suspend and / or modify the execution of one or more actions performed by the robot device. These actions may include, for example, navigation behavior, operational behavior, head behavior, voice / light, and / or other components of the robotic device. In some embodiments, the robot supervisor can remotely monitor the robot device and control its movement for safety purposes. For example, a robot supervisor commands a robot device to stop or modify the execution of an action to avoid endangering a human or damaging the robot device or another object in the environment. can do. In some embodiments, nearby users can instruct or demonstrate actions to the robotic device. In some embodiments, the robotic device may be configured to seek user intervention at a particular point in time during the execution of the action. For example, when a robot device cannot see specific information about the robot device itself and / or the environment around the robot device, the robot device completes an action or navigates to a specific location. When the orbit of the robot device cannot be determined, such as when the robot device is pre-programmed to prompt for user input (eg, during learning using an interactive learning template, as described further below). , User intervention can be requested. In some embodiments, the robotic device can request feedback from the user at specific points during learning and / or execution. For example, what information should the robot device collect (eg, information related to operating or transporting elements, information related to the surrounding environment) and / or when information should be collected (eg, keyframes being demonstrated). You can urge the user to specify the timing). Alternatively or additionally, the robot device may require the user to tag the past or present behavior of the robot device as a good or bad example of the action in a particular context. The robot device may be configured to use this information to improve future execution of the action in that particular context.

システム及びデバイス
[0064] 図2は、いくつかの実施形態によるロボットデバイス200を模式的に示す。ロボットデバイス200は、制御ユニット202、ユーザーインターフェース240、少なくとも1つの操作要素250、及び少なくとも1つのセンサー270を含む。追加的に、いくつかの実施形態では、ロボットデバイス200は、任意選択的に、少なくとも1つの搬送要素260を含む。制御ユニット202は、メモリー220、ストレージ230、プロセッサー204、グラフィックプロセッサー205、システムバス206、及び少なくとも1つの入出力インターフェース(「I/Oインターフェース」)208を含む。メモリー220は、例えば、ランダム・アクセス・メモリー(RAM)、メモリーバッファー、ハードドライブ、データベース、消去可能なプログラマブル読み出し専用メモリー(EPROM)、電気的消去可能読み出し専用メモリー(EEPROM)、読み出し専用メモリー(ROM)、及び/又はその他であってもよい。いくつかの実施形態では、メモリー220は、環境のセンシング又はスキャニング、スキルの学習、及び/又はスキルの実行に関連するモジュール、プロセス、及び/又は機能をプロセッサー204に行わせる命令を保存する。ストレージ230は、例えば、ハードドライブ、データベース、クラウドストレージ、ネットワーク接続型ストレージデバイス、又は他のデータストレージデバイスであってもよい。いくつかの実施形態では、ストレージ230は、例えば、ロボットデバイス200の1つ又は複数のコンポーネント(例えば、操作要素250)、学習されたモデル、マーカー位置情報などに関する状態情報を含むセンサーデータを保存することができる。
Systems and devices
[0064] FIG. 2 schematically shows a robot device 200 according to some embodiments. The robot device 200 includes a control unit 202, a user interface 240, at least one operating element 250, and at least one sensor 270. Additionally, in some embodiments, the robotic device 200 optionally comprises at least one transport element 260. The control unit 202 includes a memory 220, a storage 230, a processor 204, a graphics processor 205, a system bus 206, and at least one input / output interface (“I / O interface”) 208. The memory 220 includes, for example, a random access memory (RAM), a memory buffer, a hard drive, a database, an erasable programmable read-only memory (EPROM), an electrically erasable read-only memory (EEPROM), and a read-only memory (ROM). ) And / or others. In some embodiments, the memory 220 stores instructions that cause the processor 204 to perform modules, processes, and / or functions related to environment sensing or scanning, skill learning, and / or skill execution. The storage 230 may be, for example, a hard drive, a database, cloud storage, a network-attached storage device, or another data storage device. In some embodiments, the storage 230 stores sensor data including state information about, for example, one or more components of the robotic device 200 (eg, operating element 250), learned models, marker position information, and the like. be able to.

[0065] 制御ユニット202のプロセッサー204は、環境の視察、スキルの学習、及び/又はスキルの実行に関連する機能の起動及び/又は実行を行うように構成された、任意の適宜の処理デバイスでもよい。例えば、プロセッサー204は、本明細書でさらに記載されるように、センサー情報に基づいてスキルに関するモデルを生成し、又はモデルを用いて、スキルを行うための軌道を生成することによってスキルを実行するように構成されてもよい。より詳しくは、プロセッサー204は、モジュール、機能、及び/又はプロセスを実行するように構成されてもよい。いくつかの実施形態では、プロセッサー204は、汎用プロセッサー、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、デジタル信号プロセッサー(DSP)、及び/又は同類のものであってもよい。 [0065] Processor 204 of control unit 202 may be any suitable processing device configured to inspect the environment, learn skills, and / or activate and / or perform functions related to skill execution. good. For example, processor 204 performs a skill by generating a model for the skill based on sensor information, or by using the model to generate a trajectory to perform the skill, as further described herein. It may be configured as follows. More specifically, processor 204 may be configured to execute modules, functions, and / or processes. In some embodiments, the processor 204 is a general purpose processor, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a digital signal processor (DSP), and / or the like. May be good.

[0066] グラフィックプロセッサー205は、1つ又は複数の表示機能(例えば、表示デバイス242に関連する機能)を起動及び/又は実行するように構成された、任意の適宜の処理デバイスでもよい。いくつかの実施形態では、グラフィックプロセッサー205は、例えば、専用グラフィックスカード又は統合グラフィック処理ユニットなどの低電力グラフィック処理ユニットでもよい。 [0066] The graphics processor 205 may be any suitable processing device configured to activate and / or perform one or more display functions (eg, functions associated with the display device 242). In some embodiments, the graphics processor 205 may be a low power graphics processing unit such as, for example, a dedicated graphics card or an integrated graphics processing unit.

[0067] システムバス206は、プロセッサー204、メモリー220、ストレージ230、及び/又は制御ユニット202の他のコンポーネントが互いに通信することを可能にする、任意の適宜のコンポーネントでもよい。システムバス206に接続された1つ又は複数のI/Oインターフェース208は、制御ユニット202の内部コンポーネント(例えば、プロセッサー204、メモリー220、ストレージ230)と、ユーザーインターフェース240、1つ又は複数の操作要素250、1つ又は複数の搬送要素260、及び1つ又は複数のセンサー270などの外部入出力デバイスとの間の通信を可能にする、任意の適宜のコンポーネントでもよい。 [0067] System bus 206 may be any suitable component that allows other components of processor 204, memory 220, storage 230, and / or control unit 202 to communicate with each other. One or more I / O interfaces 208 connected to system bus 206 are internal components of control unit 202 (eg, processor 204, memory 220, storage 230) and user interface 240, one or more operating elements. It may be any suitable component that allows communication with external input / output devices such as 250, one or more transport elements 260, and one or more sensors 270.

[0068] ユーザーインターフェース240は、入力を受け取り、他のデバイス及び/又はデバイスを操作するユーザー(例えば、ロボットデバイス200を操作するユーザー)に出力を送るように構成された、1つ又は複数のコンポーネントを含んでもよい。例えば、ユーザーインターフェース240は、表示デバイス242(例えば、ディスプレイ、タッチスクリーンなど)、オーディオデバイス244(例えば、マイクロホン、スピーカー)、及び任意選択的に、入力を受け取り、及び/又はユーザーに対して出力を生成するように構成された、1つ又は複数の追加の入出力デバイス(「I/Oデバイス」)246を含み得る。 [0068] The user interface 240 is configured to receive input and send output to other devices and / or users operating the device (eg, a user operating the robot device 200). May include. For example, the user interface 240 receives a display device 242 (eg, display, touch screen, etc.), an audio device 244 (eg, microphone, speaker), and optionally an input and / or outputs to the user. It may include one or more additional input / output devices (“I / O devices”) 246 configured to generate.

[0069] 1つ又は複数の操作要素250は、例えば人間を含む、静止した物体及び/又は移動する物体を操作し、及び/又はそれとインタラクトすることができる、任意の適宜のコンポーネントでもよい。いくつかの実施形態では、1つ又は複数の操作要素250は、1つ若しくは複数の軸に沿った平行移動、及び/又は1つ若しくは複数の軸を中心とした回転を提供することができる関節により互いに結合された複数のセグメントを含んでもよい。1つ又は複数の操作要素250は、任意選択的に、環境内の物体と係合すること、及び/又は別の方法でインタラクトすることができるエンドエフェクターを含んでもよい。例えば、操作要素は、物体を拾い上げるため、及び/又は物体を搬送するために、環境内の物体を解放可能に係合する(例えば、把持する)ことが可能な把持機構を含んでもよい。エンドエフェクターの他の例には、例えば、1つ若しくは複数の真空係合機構、1つ若しくは複数の磁気係合機構、1つ若しくは複数の吸引機構、及び/又はこれらの組み合わせが含まれる。いくつかの実施形態では、1つ又は複数の操作要素250は、ロボットデバイスの1つ又は複数の寸法を縮小させるために、使用していないときは、ロボットデバイス200のハウジング内に格納可能であってもよい。いくつかの実施形態では、1つ又は複数の操作要素250は、環境と、及び/又は人間を含む、環境内の1つ又は複数物体とインタラクトするように構成された頭部又は他の人型コンポーネントを含んでもよい。いくつかの実施形態では、1つ又は複数の操作要素250は、搬送要素又は基部(例えば、1つ又は複数の搬送要素260)を含んでもよい。操作要素例の詳細図が、図4に示される。 [0069] The one or more operating elements 250 may be any suitable component capable of manipulating and / or interacting with stationary and / or moving objects, including, for example, humans. In some embodiments, the one or more operating elements 250 can provide translation along one or more axes and / or rotation about one or more axes. May include a plurality of segments coupled to each other by. The one or more operating elements 250 may optionally include end effectors that can engage and / or otherwise interact with objects in the environment. For example, the operating element may include a gripping mechanism capable of releasably engaging (eg, gripping) an object in the environment for picking up and / or transporting the object. Other examples of end effectors include, for example, one or more vacuum engagement mechanisms, one or more magnetic engagement mechanisms, one or more suction mechanisms, and / or combinations thereof. In some embodiments, the one or more operating elements 250 can be stowed within the housing of the robot device 200 when not in use to reduce the dimensions of the robot device. You may. In some embodiments, the one or more operating elements 250 are heads or other humanoids configured to interact with one or more objects in the environment, including the environment and / or humans. It may include components. In some embodiments, the one or more operating elements 250 may include a transport element or base (eg, one or more transport elements 260). A detailed diagram of an example of the operation element is shown in FIG.

[0070] 1つ又は複数の搬送要素260は、例えば、車輪又はトラックなどの、移動用に構成された任意の適宜のコンポーネントでもよい。1つ又は複数の搬送要素260は、ロボットデバイス200が環境内を動き回ることを可能にするために、ロボットデバイス200の基部に設けられてもよい。例えば、ロボットデバイス200は、例えば病院などの建物中をロボットデバイス200がナビゲートすることを可能にする複数の車輪を含んでもよい。1つ又は複数の搬送要素260は、狭い空間及び/又は制限された空間(例えば、小さな通路や廊下、収納庫などの小さな部屋など)を通る移動を容易にするように設計及び/又は寸法決定することができる。いくつかの実施形態では、1つ又は複数の搬送要素260は、ある軸を中心に回転可能であってもよく、及び/又は互いに対して移動可能(例えば、トラックに沿って)であってもよい。いくつかの実施形態では、1つ又は複数の搬送要素260は、ロボットデバイスの1つ又は複数の寸法を縮小させるために、使用していないときは、ロボットデバイス200の基部内に格納可能であってもよい。いくつかの実施形態では、1つ又は複数の搬送要素260は、操作要素(例えば、1つ又は複数の操作要素250)の一部であってもよく、又はその一部を形成してもよい。 [0070] The one or more transport elements 260 may be any suitable component configured for movement, such as wheels or trucks. One or more transport elements 260 may be provided at the base of the robot device 200 to allow the robot device 200 to move around in the environment. For example, the robot device 200 may include a plurality of wheels that allow the robot device 200 to navigate, for example, in a building such as a hospital. One or more transport elements 260 are designed and / or dimensioned to facilitate movement through narrow spaces and / or restricted spaces (eg, small aisles, corridors, small rooms such as storage). can do. In some embodiments, one or more transport elements 260 may be rotatable about an axis and / or may be movable relative to each other (eg, along a track). good. In some embodiments, the transport element 260 can be stowed within the base of the robot device 200 when not in use to reduce the dimensions of the robot device. You may. In some embodiments, the one or more transport elements 260 may be part of, or part of, an operating element (eg, one or more operating elements 250). ..

[0071] 1つ又は複数のセンサー270は、環境、及び/又はロボットデバイス200周辺の環境内の物体に関する情報をロボットデバイス200が捕捉することを可能にする任意の適宜のコンポーネントでもよい。1つ又は複数のセンサー270には、例えば、撮像デバイス(例えば、RGB−D(red-green-blue-depth)カメラ又はウェブカメラなどのカメラ)、オーディオデバイス(例えば、マイクロホン)、光センサー(例えば、光検知測距(つまりライダー)センサー、色検出センサー)、固有受容センサー、位置センサー、触覚センサー、力又はトルクセンサー、温度センサー、圧力センサー、運動センサー、音検出器などが含まれ得る。例えば、1つ又は複数のセンサー270は、物体と、ロボットデバイス200の周辺の環境とに関する視覚情報を捕捉するための、カメラなどの少なくとも1つの撮像デバイスを含んでもよい。いくつかの実施形態では、1つ又は複数のセンサー270は、触覚センサー(例えば、力、振動、接触、及び他の非視覚情報をロボットデバイス200に伝達することができるセンサー)を含んでもよい。 [0071] The sensor 270 may be any suitable component that allows the robot device 200 to capture information about the environment and / or objects in the environment around the robot device 200. One or more sensors 270 may include, for example, an imaging device (eg, a camera such as an RGB-D (red-green-blue-depth) camera or a webcam), an audio device (eg, a microphone), an optical sensor (eg, eg). , Light detection ranging (ie, rider) sensor, color detection sensor), proprioception sensor, position sensor, tactile sensor, force or torque sensor, temperature sensor, pressure sensor, motion sensor, sound detector, etc. may be included. For example, one or more sensors 270 may include at least one imaging device, such as a camera, for capturing visual information about the object and the environment around the robot device 200. In some embodiments, the one or more sensors 270 may include tactile sensors (eg, sensors capable of transmitting force, vibration, contact, and other non-visual information to the robot device 200).

[0072] いくつかの実施形態では、ロボットデバイス200は、人型の特徴(例えば、頭部、胴部、腕、脚、及び/又は基部)を有してもよい。例えば、ロボットデバイス200は、目、鼻、口、及び他の人型の特徴を備えた顔を含んでもよい。これらの人型の特徴は、1つ若しくは複数の操作要素の一部を形成することができ、及び/又は1つ若しくは複数の操作要素の一部であってもよい。模式的に示されないが、ロボットデバイス200は、アクチュエーター、モーター、カプラー、コネクター、電源(例えば、内蔵バッテリー)、及び/又はロボットデバイス200の異なる複数の部分をつなぐ、作動させる、及び/又は駆動する他のコンポーネントも含み得る。 [0072] In some embodiments, the robotic device 200 may have humanoid features (eg, head, torso, arms, legs, and / or base). For example, the robot device 200 may include eyes, nose, mouth, and a face with other humanoid features. These humanoid features can form part of one or more manipulation elements and / or may be part of one or more manipulation elements. Although not schematically shown, the robot device 200 connects, operates, and / or drives different parts of the actuator, motor, coupler, connector, power supply (eg, built-in battery), and / or robot device 200. Other components may also be included.

[0073] 図3は、いくつかの実施形態による制御ユニット302を模式的に示すブロック図である。制御ユニット302は、制御ユニット202と類似したコンポーネントを含んでもよく、制御ユニット202と構造的及び/又は機能的に類似してもよい。例えば、制御ユニット302は、プロセッサー204、メモリー220、1つ又は複数のI/Oインターフェース208、システムバス206、及びストレージ230とそれぞれ構造的及び/又は機能的に類似し得るプロセッサー304、グラフィックプロセッサー305、メモリー320、1つ又は複数のI/Oインターフェース308、システムバス306、及びストレージ330を含む。 [0073] FIG. 3 is a block diagram schematically showing the control unit 302 according to some embodiments. The control unit 302 may include components similar to the control unit 202 and may be structurally and / or functionally similar to the control unit 202. For example, control unit 302 may be structurally and / or functionally similar to processor 204, memory 220, one or more I / O interfaces 208, system bus 206, and storage 230, respectively, graphic processor 305. , Memory 320, one or more I / O interfaces 308, system bus 306, and storage 330.

[0074] メモリー320は、アクティブセンシング322、マーカー識別324、学習及びモデル生成326、軌道の生成及び実行328、並びに成功モニタリング329として示される、モジュール、プロセス、及び/又は機能をプロセッサー304に実行させることができる命令を保存する。アクティブセンシング322、マーカー識別324、学習及びモデル生成326、軌道の生成及び実行328、並びに成功モニタリング329は、ハードウェアコンポーネント(例えば、センサー、操作要素、I/Oデバイス、プロセッサーなど)に結び付けられた1つ又は複数のプログラム及び/又はアプリケーションとして実装され得る。アクティブセンシング322、マーカー識別324、学習及びモデル生成326、軌道の生成及び実行328、並びに成功モニタリング329は、単一のロボットデバイス、又は複数のロボットデバイスによって実装され得る。例えば、ロボットデバイスは、アクティブセンシング322、マーカー識別324、並びに軌道の生成及び実行328を実装するように構成されてもよい。別の例として、ロボットデバイスは、アクティブセンシング322、マーカー識別324、任意選択的に学習及びモデル生成326、並びに軌道の生成及び実行328を実装するように構成されてもよい。別の例として、ロボットデバイスは、アクティブセンシング322、マーカー識別324、軌道の生成及び実行328、並びに任意選択的に成功モニタリング329を実装するように構成されてもよい。図示されないが、メモリー320は、オペレーティングシステム及び一般的なロボット動作(例えば、電源管理、メモリー割り当てなど)に関連するプログラム及び/又はアプリケーションも保存し得る。 [0074] Memory 320 causes processor 304 to perform modules, processes, and / or functions shown as active sensing 322, marker identification 324, learning and model generation 326, orbit generation and execution 328, and success monitoring 329. Save instructions that can be. Active sensing 322, marker identification 324, learning and model generation 326, orbit generation and execution 328, and success monitoring 329 were tied to hardware components (eg, sensors, operating elements, I / O devices, processors, etc.). It can be implemented as one or more programs and / or applications. Active sensing 322, marker identification 324, learning and model generation 326, orbit generation and execution 328, and success monitoring 329 may be implemented by a single robot device or multiple robot devices. For example, the robot device may be configured to implement active sensing 322, marker identification 324, and orbit generation and execution 328. As another example, the robotic device may be configured to implement active sensing 322, marker identification 324, optionally learning and model generation 326, and orbit generation and execution 328. As another example, the robotic device may be configured to implement active sensing 322, marker identification 324, orbit generation and execution 328, and optionally success monitoring 329. Although not shown, the memory 320 may also store programs and / or applications related to the operating system and general robotic operations (eg, power management, memory allocation, etc.).

[0075] ストレージ330は、スキルの学習及び/又は実行に関連する情報を保存する。ストレージ330は、例えば、状態情報331、1つ又は複数のモデル334、物体情報340、及び機械学習ライブラリー342を保存する。状態情報331は、ロボットデバイス(例えば、ロボットデバイス200)及び/又はロボットデバイスが動作している環境(例えば建物(例えば病院など))の状態に関する情報を含み得る。いくつかの実施形態では、状態情報331は、例えば、部屋、階、閉じた空間などの環境内のロボットデバイスの場所を示してもよい。例えば、状態情報331は、環境のマップ332を含んでもよく、そのマップ332内のロボットデバイスの場所を示すことができる。状態情報331は、環境内(例えば、マップ332内)の1つ又は複数の物体の1つ又は複数の場所(或いは物体を表す、及び/又は物体に関連付けられたマーカー)も含み得る。したがって、状態情報331は、1つ又は複数の物体に対するロボットデバイスの場所を識別することができる。物体には、空間又は開口部を規定する物体(例えば、戸口を規定する面又は壁)を含む、環境内に位置する、あらゆるタイプの物理的物体が含まれ得る。物体は、静止していてもよいし、或いは可動であってもよい。例えば病院などの環境内の物体の例には、設備、備品、機器、器具、家具、及び/又は人間(例えば、看護師、医師、患者など)が含まれる。 [0075] Storage 330 stores information related to skill learning and / or execution. The storage 330 stores, for example, state information 331, one or more models 334, object information 340, and machine learning library 342. The state information 331 may include information about the state of the robot device (eg, robot device 200) and / or the environment in which the robot device is operating (eg, a building (eg, a hospital, etc.)). In some embodiments, the state information 331 may indicate the location of the robotic device in an environment, such as a room, floor, closed space, and the like. For example, the state information 331 may include a map 332 of the environment and may indicate the location of the robot device in the map 332. The state information 331 may also include one or more locations (or a marker representing and / or an object associated with) one or more objects in the environment (eg, in map 332). Therefore, the state information 331 can identify the location of the robot device with respect to one or more objects. Objects can include any type of physical object located in the environment, including objects that define a space or opening (eg, a surface or wall that defines a doorway). The object may be stationary or movable. Examples of objects in an environment, such as a hospital, include equipment, fixtures, equipment, appliances, furniture, and / or humans (eg, nurses, doctors, patients, etc.).

[0076] いくつかの実施形態では、状態情報331は、図19に示されるような環境の表現又はマップを含み得る。環境のマップは、例えば、ナビゲーション層、静的意味層、社会的層、及び動的層を含み得る。例えば、実演、ユーザー入力、感知したセンサー情報などからロボットデバイスによって学習された情報は、マップの異なる複数の層に送ることができ、このロボットデバイス(及び/又は他のロボットデバイス)による後の参照のために整理することができる。例えば、ロボットデバイスは、本明細書でさらに記載されるように、環境内の異なる複数の物体(例えば、ドア)に関して学習された情報に依存して、異なる挙動(例えば、戸口を通過する前に、閉じた戸口のドアが開けられるのを待つこと、閉じた戸口を通過する前に、ドアを開けるための助けを求めること)間でアービトレーションを行うやり方を決定することができる。 [0076] In some embodiments, the state information 331 may include a representation or map of the environment as shown in FIG. The map of the environment may include, for example, a navigation layer, a static semantic layer, a social layer, and a dynamic layer. For example, information learned by a robot device from demonstrations, user inputs, sensed sensor information, etc. can be sent to multiple layers of different maps, which will be referred to later by this robot device (and / or other robot devices). Can be organized for. For example, a robotic device, as further described herein, depends on information learned about different objects (eg, doors) in the environment and has different behaviors (eg, before passing through a doorway). You can decide how to do the arbitration between (waiting for the door of the closed door to open, asking for help to open the door before going through the closed door).

[0077] 物体情報340は、環境内の1つ又は複数の物理的物体に関連する情報を含み得る。例えば、物体情報は、例えば、場所、色、形状、及び表面特徴などの、物体の異なる複数の特徴を識別又は定量化する情報を含み得る。物体情報は、物理的物体に関連付けられたコード、記号、及び他のマーカー(例えば、クイックレスポンス、つまり「QR」コード、バーコード、タグなど)も識別することができる。いくつかの実施形態では、物体情報は、環境内の物体を特徴付ける情報(例えば、戸口又は通路が閉じられている、ドアハンドルがドアハンドルの一種であるなど)を含み得る。物体情報により、制御ユニット302が、環境内で1つ又は複数の物理的物体を識別することを可能にすることができる。 [0077] Object information 340 may include information related to one or more physical objects in the environment. For example, object information may include information that identifies or quantifies different features of an object, such as location, color, shape, and surface features. The object information can also identify codes, symbols, and other markers associated with the physical object (eg, quick response, ie, "QR" code, barcode, tag, etc.). In some embodiments, the object information may include information that characterizes an object in the environment (eg, the doorway or passage is closed, the door handle is a type of door handle, etc.). Object information can allow the control unit 302 to identify one or more physical objects in the environment.

[0078] 状態情報331及び/又は物体情報340は、本明細書において使用及び記載されるように、環境的制約の例でもよい。環境的制約は、様々な寸法で提示され得る、又は見られ得る環境に関する情報を含み得る。例えば、環境的制約は、場所、時間、社会的インタラクション、具体的なコンテキストなどによって異なり得る。ロボットデバイスは、ユーザー入力、スキルの実演、環境とのインタラクション、自己探索、スキルの実行などから環境的制約を学習することができる。 [0078] The state information 331 and / or the object information 340 may be an example of environmental constraints as used and described herein. Environmental constraints may include information about the environment that can be presented or seen in various dimensions. For example, environmental constraints can vary by location, time, social interaction, specific context, and so on. Robotic devices can learn environmental constraints from user input, skill demonstrations, environmental interactions, self-search, skill execution, and so on.

[0079] 機械学習ライブラリー342は、機械学習及び/又は異なる複数のスキルのモデル生成のための異なる複数のアルゴリズムに関連する複数のモジュール、プロセス、及び/又は機能を含んでもよい。いくつかの実施形態では、機械学習ライブラリーは、隠れマルコフモデル(つまり「HMM」)などの方法を含み得る。Pythonの既存の機械学習ライブラリーの一例は、scikit-learnである。ストレージ330は、例えば、ロボットシミュレーション、モーションプランニング及び制御、運動学教示及び知覚などに関連する追加のソフトウェアライブラリーも含み得る。 [0079] The machine learning library 342 may include multiple modules, processes, and / or functions associated with different algorithms for machine learning and / or model generation of different skills. In some embodiments, the machine learning library may include methods such as a hidden Markov model (ie, "HMM"). An example of Python's existing machine learning library is scikit-learn. The storage 330 may also include, for example, additional software libraries related to robot simulation, motion planning and control, kinematics teaching and perception, and the like.

[0080] 1つ又は複数のスキルモデル334は、異なる複数のアクションを行うために生成されたモデルであり、ロボットデバイスによって学習されたスキルを表す。いくつかの実施形態では、各モデル334は、ある環境内の異なる複数の物理的物体に結び付けられたマーカーのセットに関連付けられる。マーカー情報335は、どのマーカーが、ある特定のモデル334に関連付けられているかを示すことができる。各モデル334は、運動感覚教示及び/又はスキルの他の実演中に、例えばロボットデバイスの1つ又は複数のセンサーによって収集された感覚情報336にも関連付けることができる。感覚情報336には、任意選択的に、実演中にロボットデバイスがアクションを行う際のロボットデバイスの操作要素に関連付けられた操作要素情報337が含まれ得る。操作要素情報337には、例えば、関節の位置及び構成、エンドエフェクターの位置及び構成、基部若しくは搬送要素の位置及び構成、及び/又は関節、エンドエフェクター、搬送要素などに作用する力及びトルクが含まれ得る。操作要素情報337は、スキルの実演及び/又は実行中の特定の時点(例えば、キーフレーム)で、或いはスキルの実演及び/又は実行の間中ずっと記録されてもよい。感覚情報336には、スキルが実演及び/又は実行される環境に関連付けられた情報(例えば、環境内のマーカーの場所)も含まれ得る。いくつかの実施形態では、各モデル334は、成功基準339に関連付けられてもよい。成功基準339を用いて、スキルの実行をモニタリングすることができる。いくつかの実施形態では、成功基準339は、1つ又は複数のセンサー(例えば、カメラ、力/トルクセンサーなど)を用いて感知された視覚及び触覚データに関連付けられた情報を含み得る。成功基準339は、例えば、物体の移動を視覚的に検出すること、ロボットデバイスのコンポーネントに作用する力(例えば、物体の重さ)を検知すること、ロボットデバイスのコンポーネントと物体との係合(例えば、面に作用する圧力又は力の変化)を検知することなどに結び付けられてもよい。操作スキルのロボット学習において触覚データを使用する例は、本明細書に援用される、http://ieeexplore.ieee.org/document/7463165/から入手できる、2016 IEEE Haptics Symposium (HAPTICS) (Philadelphia, PA, 2016, pp.119-125)で公表されたChuらによって執筆された「Learning Haptic Affordances from Demonstration and Human-Guided Exploration」というタイトルの論文に記載されている。操作スキルのロボット学習に視覚データを使用する例は、本明細書に援用される、https://doi.org/10.1007/s10514-015-9448-x(「Akgun論文」)から入手できる、Autonomous Robots (Volume 40, Issue 2, February 2016, pp.211-227)で公表された、Akgunらによって執筆された「Simultaneously Learning Actions and Goals from Demonstration」というタイトルの論文に記載されている。 [0080] One or more skill models 334 are models generated to perform different actions and represent skills learned by a robotic device. In some embodiments, each model 334 is associated with a set of markers associated with different physical objects in an environment. The marker information 335 can indicate which marker is associated with a particular model 334. Each model 334 can also be associated with sensory information 336 collected, for example, by one or more sensors in a robotic device during kinesthetic teaching and / or other demonstrations of the skill. The sensory information 336 may optionally include operating element information 337 associated with the operating element of the robot device when the robot device performs an action during the demonstration. The operating element information 337 includes, for example, the position and configuration of the joint, the position and configuration of the end effector, the position and configuration of the base or the transport element, and / or the force and torque acting on the joint, the end effector, the transport element, and the like. It can be. The operating element information 337 may be recorded at a specific time point (eg, keyframe) during the skill demonstration and / or execution, or throughout the skill demonstration and / or execution. Sensory information 336 may also include information associated with the environment in which the skill is demonstrated and / or performed (eg, the location of a marker within the environment). In some embodiments, each model 334 may be associated with a success criterion 339. Success criteria 339 can be used to monitor skill performance. In some embodiments, the success criterion 339 may include information associated with visual and tactile data sensed using one or more sensors (eg, camera, force / torque sensor, etc.). Success criteria 339 are, for example, visually detecting the movement of an object, detecting the force acting on a component of a robot device (eg, the weight of the object), and engaging the component of the robot device with the object (eg, the weight of the object). For example, it may be linked to detecting (change in pressure or force acting on a surface). Examples of using tactile data in robotic learning of operational skills are available herein at http://ieeexplore.ieee.org/document/7463165/, 2016 IEEE Haptics Symposium (HAPTICS) (Philadelphia, It is described in a paper entitled "Learning Haptic Affordances from Demonstration and Human-Guided Exploration" published by Chu et al., Published in PA, 2016, pp.119-125). An example of using visual data for robotic learning of operational skills is Autonomous, available from https://doi.org/10.1007/s10514-015-9448-x ("Akgun Paper"), incorporated herein by reference. It is described in a paper entitled "Simultaneously Learning Actions and Goals from Demonstration" written by Akgun et al., Published in Robots (Volume 40, Issue 2, February 2016, pp.211-227).

[0081] 任意選択的に、感覚情報336には、搬送要素情報338が含まれてもよい。搬送要素情報338は、ロボットデバイスがスキルの実演を受ける際のロボットデバイスの搬送要素(例えば、1つ又は複数の搬送要素260)の移動(例えば、戸口を通るナビゲーション、物体の搬送など)に関連付けられてもよい。搬送要素情報338は、スキルの実演及び/又は実行中の特定の時点(スキルに関連付けられたキーフレームなど)で、或いはスキルの実演及び/又は実行の間中、記録されてもよい。 [0081] Optionally, the sensory information 336 may include transport element information 338. The transport element information 338 is associated with the movement (eg, navigation through a doorway, transport of an object, etc.) of the robot device's transport element (eg, one or more transport elements 260) as the robot device undergoes a skill demonstration. May be done. Transport element information 338 may be recorded at a particular point in time during the demonstration and / or execution of the skill (such as a keyframe associated with the skill), or during the demonstration and / or execution of the skill.

[0082] いくつかの実施形態では、環境的制約(例えば、状態情報331、物体情報340など)及び/又はスキル(例えば、1つ又は複数のモデル334)の初期セットが、例えば、遠隔の管理者又は監督者によって、ロボットデバイスに提供されてもよい。ロボットデバイスは、環境又は環境内の人間(例えば、患者、看護師、医師など)とのロボットデバイス自体のインタラクション、実演などに基づいて、及び/又は追加のユーザー入力によって、環境的制約及び/又はスキルの知識を適応させ、及び/又は増大させることができる。代替的又は追加的に、ロボットの監督者は、そのロボットデバイス、又は他の1つ若しくは複数のロボットデバイス(例えば、類似した、若しくは同じ環境(例えば、病院)内の他の1つ若しくは複数のロボットデバイス)によって収集された、及び/又は外部関係者(例えば、供給業者、管理者、メーカーなど)によってロボットの監督者に提供された新しい情報に基づいて、環境的制約及び/又はスキルに関するロボットデバイスの知識を更新することができる。このような更新は、環境又はスキルに関する新しい情報が、ロボットデバイス及び/又はロボットの監督者に提供される際に、周期的及び/又は連続的に提供されてもよい。 [0082] In some embodiments, an initial set of environmental constraints (eg, state information 331, object information 340, etc.) and / or skills (eg, one or more models 334) is, for example, remote management. May be provided to the robotic device by a person or supervisor. The robotic device may be environmentally constrained and / or based on the interaction, demonstration, etc. of the robotic device itself with the environment or humans within the environment (eg, patients, nurses, doctors, etc.) and / or by additional user input. Skill knowledge can be adapted and / or increased. Alternatively or additionally, the robot supervisor may use the robot device, or one or more other robot devices (eg, similar or, one or more in the same environment (eg, hospital)). Robots regarding environmental constraints and / or skills based on new information collected by (robot devices) and / or provided to robot supervisors by outside parties (eg, suppliers, managers, manufacturers, etc.) You can update your device knowledge. Such updates may be provided periodically and / or continuously as new information about the environment or skills is provided to the robot device and / or the robot supervisor.

[0083] 図4は、いくつかの実施形態による操作要素350を模式的に示す。操作要素350は、例えば、ロボットデバイス102及び/又は200などのロボットデバイスの一部を形成してもよい。操作要素350は、関節354によって共に結合された2つ以上のセグメント352を含むアームとして実装されてもよい。関節354により、1つ又は複数の自由度が許容され得る。例えば、関節354は、1つ若しくは複数の軸に沿った平行移動、及び/又は1つ若しくは複数の軸を中心とした回転を提供することができる。ある実施形態では、操作要素350は、関節354によって提供される7つの自由度を有し得る。図4では、4つのセグメント352及び4つの関節354が示されているが、操作要素が異なる数のセグメント及び/又は関節を含み得ることを当業者は理解するだろう。 [0083] FIG. 4 schematically shows an operating element 350 according to some embodiments. The operating element 350 may form part of a robotic device such as, for example, the robotic device 102 and / or 200. The operating element 350 may be mounted as an arm comprising two or more segments 352 coupled together by a joint 354. The joint 354 may allow one or more degrees of freedom. For example, the joint 354 can provide translation along one or more axes and / or rotation about one or more axes. In certain embodiments, the operating element 350 may have seven degrees of freedom provided by the joint 354. Although four segments 352 and four joints 354 are shown in FIG. 4, one of skill in the art will appreciate that the operating elements may include different numbers of segments and / or joints.

[0084] 操作要素350は、環境内の物体とインタラクトするために使用することができるエンドエフェクター356を含む。例えば、エンドエフェクター356を使用して、異なる複数の物体と係合することができ、及び/又は異なる複数の物体を操作することができる。代替的又は追加的に、エンドエフェクター356を使用して、例えば、人間を含む、移動可能な物体又は動的物体とインタラクトすることができる。いくつかの実施形態では、エンドエフェクター356は、1つ又は複数の物体を解放可能に係合又は把持することができるグリッパーでもよい。例えば、グリッパーとして実装されたエンドエフェクター356は、物体を拾い上げて、第1の場所(例えば、収納庫)から第2の場所(例えば、オフィス、部屋など)へと移動させることができる。 [0084] The operating element 350 includes an end effector 356 that can be used to interact with objects in the environment. For example, the end effector 356 can be used to engage with and / or manipulate different objects. Alternatively or additionally, end effectors 356 can be used to interact with mobile or dynamic objects, including, for example, humans. In some embodiments, the end effector 356 may be a gripper capable of releasably engaging or gripping one or more objects. For example, an end effector 356 implemented as a gripper can pick up an object and move it from a first location (eg, storage) to a second location (eg, office, room, etc.).

[0085] 複数のセンサー353、355、357、及び358は、操作要素350の異なる複数のコンポーネント(例えば、セグメント352、関節354、及び/又はエンドエフェクター356)上に配置されてもよい。センサー353、355、357、及び358は、環境情報及び/又は操作要素情報を含む感覚情報を測定するように構成されてもよい。センサーの例には、位置エンコーダー、トルク及び/又は力センサー、接触及び/又は触覚センサー、カメラなどの撮像デバイス、温度センサー、圧力センサー、光センサーなどが含まれる。いくつかの実施形態では、セグメント352上に配置されるセンサー353は、環境に関する視覚情報を捕捉するように構成されたカメラでもよい。いくつかの実施形態では、セグメント352上に配置されるセンサー353は、セグメント352の加速度の測定、及び/又はセグメント352の移動速度及び/又は位置の計算を可能にするように構成された加速度計でもよい。いくつかの実施形態では、関節354上に配置されるセンサー355は、関節354の位置及び/又は構成を測定するように構成された位置エンコーダーでもよい。いくつかの実施形態では、関節354上に配置されるセンサー355は、関節354にかかる力又はトルクを測定するように構成された力又はトルクセンサーでもよい。いくつかの実施形態では、エンドエフェクター356上に配置されるセンサー358は、位置エンコーダー及び/又は力若しくはトルクセンサーでもよい。いくつかの実施形態では、エンドエフェクター356上に配置されるセンサー357は、エンドエフェクター356と、環境内の物体との係合を測定するように構成された接触又は触覚センサーでもよい。代替的又は追加的に、センサー353、355、357、及び358の1つ又は複数が、環境内の1つ又は複数の物体及び/又はマーカーに関する情報を記録するように構成されてもよい。例えば、エンドエフェクター356上に配置されるセンサー358は、環境内の物体の場所、及び/又はエンドエフェクター356に対する物体の位置を追跡するように構成されてもよい。いくつかの実施形態では、センサー353、355、357、及び358の1つ又は複数が、環境内で人間などの物体が移動したか否かも追跡することができる。センサー353、355、357、及び358は、ロボットデバイスに位置する計算デバイス(例えば、搭載制御ユニット(例えば、制御ユニット202及び/又は302など))に対して、これらのセンサーが記録した感覚情報を送ることができ、或いは、センサー353、355、357、及び358は、遠隔の計算デバイス(例えばサーバー(例えばサーバー120など))に感覚情報を送ることができる。 [0085] The plurality of sensors 353, 355, 357, and 358 may be arranged on a plurality of different components of the operating element 350 (eg, segments 352, joints 354, and / or end effectors 356). Sensors 353, 355, 357, and 358 may be configured to measure sensory information, including environmental information and / or operational element information. Examples of sensors include position encoders, torque and / or force sensors, contact and / or tactile sensors, imaging devices such as cameras, temperature sensors, pressure sensors, optical sensors and the like. In some embodiments, the sensor 353 located on the segment 352 may be a camera configured to capture visual information about the environment. In some embodiments, the sensor 353 located on the segment 352 is an accelerometer configured to allow measurement of the acceleration of the segment 352 and / or calculation of the moving speed and / or position of the segment 352. But it may be. In some embodiments, the sensor 355 placed on the joint 354 may be a position encoder configured to measure the position and / or configuration of the joint 354. In some embodiments, the sensor 355 located on the joint 354 may be a force or torque sensor configured to measure the force or torque exerted on the joint 354. In some embodiments, the sensor 358 located on the end effector 356 may be a position encoder and / or a force or torque sensor. In some embodiments, the sensor 357 located on the end effector 356 may be a contact or tactile sensor configured to measure the engagement of the end effector 356 with an object in the environment. Alternatively or additionally, one or more of the sensors 353, 355, 357, and 358 may be configured to record information about one or more objects and / or markers in the environment. For example, the sensor 358 placed on the end effector 356 may be configured to track the location of the object in the environment and / or the position of the object relative to the end effector 356. In some embodiments, one or more of the sensors 353, 355, 357, and 358 can also track whether an object, such as a human, has moved in the environment. Sensors 353, 355, 357, and 358 provide sensory information recorded by these sensors to computational devices (eg, on-board control units (eg, control units 202 and / or 302, etc.)) located in the robot device. Alternatively, sensors 353, 355, 357, and 358 can send sensory information to a remote computing device (eg, a server (eg, server 120, etc.)).

[0086] 操作要素350は、あるロボットデバイス(本明細書に記載されるロボットデバイスのいずれかのロボットデバイスなど)に対して操作要素350が取り外し可能に結合されることを可能にする結合要素359を任意選択的に含んでもよい。いくつかの実施形態では、操作要素350は、ロボットデバイスの定位置に結合されてもよく、及び/又はロボットデバイスの複数の場所(例えば、図5に示されるように、ロボットデバイスの胴部の右側又は左側)に結合可能であってもよい。結合要素359には、例えば、機械機構(例えば、ファスナー、ラッチ、マウント)、磁気機構、摩擦嵌め合いなどの、操作要素350をロボットデバイスに結合させることができる任意のタイプの機構が含まれ得る。 [0086] The operating element 350 is a coupling element 359 that allows the operating element 350 to be detachably coupled to a robot device, such as one of the robot devices described herein. May be optionally included. In some embodiments, the operating element 350 may be coupled in place on the robotic device and / or at multiple locations on the robotic device (eg, on the body of the robotic device, as shown in FIG. 5). It may be possible to connect to the right side or the left side). The coupling element 359 may include any type of mechanism capable of coupling the operating element 350 to the robotic device, such as, for example, mechanical mechanisms (eg, fasteners, latches, mounts), magnetic mechanisms, friction fittings, and the like. ..

[0087] 図20は、いくつかの実施形態による、ロボットシステムの制御ユニット1702を模式的に示すブロック図である。制御ユニット1702は、本明細書に記載される他の制御ユニット(例えば、制御ユニット202及び/又は302)と類似したコンポーネントを含み得る。例えば、制御ユニット1702は、制御ユニット202及び/又は302のプロセッサー、メモリー、1つ又は複数のI/Oインターフェース、システムバス、及びストレージとそれぞれ構造的及び/又は機能的に類似し得るプロセッサー1704、グラフィックプロセッサー1705、メモリー1720、1つ又は複数のI/Oインターフェース1708、システムバス1706、及びストレージ1730を含む。制御ユニット1702は、ロボットデバイス上に、及び/又は1つ若しくは複数のロボットデバイスに接続された遠隔サーバーに位置してもよい。 [0087] FIG. 20 is a block diagram schematically showing a control unit 1702 of a robot system according to some embodiments. The control unit 1702 may include components similar to other control units described herein (eg, control units 202 and / or 302). For example, control unit 1702 may be structurally and / or functionally similar to the processors, memory, one or more I / O interfaces, system buses, and storage of control units 202 and / or 302, respectively. Includes graphics processor 1705, memory 1720, one or more I / O interfaces 1708, system bus 1706, and storage 1730. The control unit 1702 may be located on the robot device and / or at a remote server connected to one or more robot devices.

[0088] メモリー1720は、アクティブセンシング1722と、スキル及び挙動の学習1724と、アクションの実行1726とを含み、任意選択的に、リソースアービトレーション1728と、データ追跡及び分析1758とを含む、モジュール、プロセス、及び/又は機能をプロセッサー1704に実行させることができる命令を保存した。アクティブセンシング1722、スキル及び挙動の学習1724、アクションの実行1726、リソースアービトレーション1728、並びにデータ追跡及び分析1758は、ハードウェアコンポーネント(例えば、センサー、操作要素、I/Oデバイス、プロセッサーなど)に結び付けられた1つ又は複数のプログラム及び/又はアプリケーションとして実装され得る。アクティブセンシング1722、スキル及び挙動の学習1724、アクションの実行1726、リソースアービトレーション1728、並びにデータ追跡及び分析1758は、単一のロボットデバイス、又は複数のロボットデバイスによって実装され得る。ある実施形態では、アクティブセンシング1722は、本明細書に記載されるように、環境のアクティブセンシング又はスキャニングを含み得る。他の実施形態では、アクティブセンシング1722は、ある環境のアクティブスキャニング、及び/又はその環境、その環境内の1つ若しくは複数の物体(例えば、環境内の人間を含む)、及び/又はロボットデバイス若しくはシステムに関連する1つ若しくは複数の状態に関連する情報の検知若しくは感知を含み得る。 [0088] Memory 1720 includes active sensing 1722, skill and behavior learning 1724, and action execution 1726, optionally including resource arbitration 1728, data tracking and analysis 1758, modules, processes. , And / or stored instructions that could cause the processor 1704 to perform the function. Active sensing 1722, skill and behavior learning 1724, action execution 1726, resource arbitration 1728, and data tracking and analysis 1758 are tied to hardware components (eg, sensors, operating elements, I / O devices, processors, etc.). It can be implemented as one or more programs and / or applications. Active sensing 1722, skill and behavior learning 1724, action execution 1726, resource arbitration 1728, and data tracking and analysis 1758 may be implemented by a single robot device or multiple robot devices. In certain embodiments, active sensing 1722 may include active sensing or scanning of the environment, as described herein. In other embodiments, the Active Sensing 1722 is an active scanning of an environment and / or an environment, one or more objects within that environment (including, for example, humans within the environment), and / or a robotic device or. It may include detection or sensing of information related to one or more states related to the system.

[0089] ストレージ330と同様に、ストレージ1730は、ある環境及び/又はその環境内の物体、並びにスキルの学習及び/又は実行(例えば、タスク及び/又は社会的挙動)に関連する情報を保存する。ストレージ1730は、例えば、状態情報1732、1つ又は複数のスキルモデル1734、物体情報1740、機械学習ライブラリー1742、及び/又は1つ若しくは複数の環境的制約1754を保存する。任意選択的に、ストレージ1730は、追跡情報1756及び/又は1つ若しくは複数のアービトレーションアルゴリズム1758も保存し得る。 [0089] Similar to storage 330, storage 1730 stores information related to an environment and / or objects within that environment, as well as learning and / or execution of skills (eg, tasks and / or social behavior). .. The storage 1730 stores, for example, state information 1732, one or more skill models 1734, object information 1740, machine learning libraries 1742, and / or one or more environmental constraints 1754. Optionally, the storage 1730 may also store tracking information 1756 and / or one or more arbitration algorithms 1758.

[0090] 状態情報1732は、ロボットデバイス(本明細書に記載されるロボットデバイスのいずれかのロボットデバイスなど)及び/又はロボットデバイスが動作している環境の状態に関する情報を含む。いくつかの実施形態では、状態情報1732は、環境内の物体に関連する、追加の静的及び/又は動的情報と共に、環境のマップを含んでもよい。例えば、状態情報1732は、ある建物のナビゲーションマップを、その建物内の物体(例えば、備品、設備など)に関する静的及び/又は動的情報、並びに、その建物内の人間及び/又は社会的状況に関連する社会的コンテキスト情報と共に含み得る。図19は、ある建物の例示的なマップ又は表現1600の模式図を提供する。表現1600は、ナビゲーション層1610、静的意味層1620、社会的層1630、及び動的層1640を含む。ナビゲーション層1610は、1つ又は複数の壁1614、1つ又は複数の階段1616、及び建物に組み込まれた他の要素(例えば、通路、開口部、境界線)を有する、1つ又は複数の階1612の数を識別することができる、建物の一般配置図又はマップを提供する。静的意味層1620は、1つ又は複数の部屋1622、1つ又は複数の物体1624、1つ又は複数のドア1626などの、建物内の物体及び/又は空間を識別する。静的意味層1620は、どの1つ又は複数の部屋1622又は他の空間に、ロボットデバイスがアクセスできるか、或いはアクセスできないかを識別することができる。いくつかの実施形態では、静的意味層1620は、ある建物内に位置する物体の3次元マップを提供することができる。社会的層1630は、社会的コンテキスト情報1632を提供する。社会的コンテキスト情報1632は、建物内の人間に関連する情報(1つ又は複数のロボットデバイスと、1人又は複数の人間との過去のインタラクションなど)を含む。社会的コンテキスト情報1632を用いて、1つ又は複数のロボットデバイスと、1人又は複数の人間とのインタラクションを追跡することができ、これらのインタラクションを用いて、あるロボットデバイスと、ある人間との1つ又は複数のインタラクションに関与するスキルの既存のモデルの生成及び/又は適応を行うことができる。例えば、社会的コンテキスト情報1632は、ある人間が、通常、ある特定の場所にいることを示すことができ、それによって、その情報の知識を持つロボットデバイスは、その人間の場所の近くにロボットデバイスが移動することを必要とするスキルの実行を適応させることができる。動的層1640は、時間と共に移動及び/又は変化し得る、建物内の1つ又は複数の物体及び他の要素に関する情報を提供する。例えば、動的層1640は、1つ又は複数の物体1642に関連する、1つ若しくは複数の移動1644及び/又は1つ若しくは複数の変化1646を追跡することができる。ある実施形態では、動的層1640は、ある物体1642の有効期限をモニタリングし、その物体1642の有効期限がいつ切れたかを識別することができる。 [0090] The state information 1732 includes information about the state of the robot device (such as any of the robot devices described herein) and / or the state of the environment in which the robot device is operating. In some embodiments, state information 1732 may include a map of the environment, along with additional static and / or dynamic information related to objects in the environment. For example, state information 1732 provides a navigation map of a building with static and / or dynamic information about objects (eg, equipment, equipment, etc.) in the building, as well as human and / or social conditions within the building. May include with social contextual information related to. FIG. 19 provides an exemplary map of a building or a schematic diagram of representation 1600. Representation 1600 includes a navigation layer 1610, a static semantic layer 1620, a social layer 1630, and a dynamic layer 1640. The navigation layer 1610 has one or more walls 1614, one or more stairs 1616, and one or more floors with other elements incorporated into the building (eg, passages, openings, boundaries). Provided is a general layout or map of a building from which the number of 1612 can be identified. The static semantic layer 1620 identifies objects and / or spaces within a building, such as one or more rooms 1622, one or more objects 1624, or one or more doors 1626. The static semantic layer 1620 can identify which one or more rooms 1622 or other spaces the robot device can or cannot access. In some embodiments, the static semantic layer 1620 can provide a three-dimensional map of an object located within a building. The social layer 1630 provides social context information 1632. Social context information 1632 includes information related to humans in a building, such as past interactions between one or more robotic devices and one or more humans. Social context information 1632 can be used to track interactions between one or more robotic devices and one or more humans, and these interactions can be used with one robotic device and one person. Existing models of skills involved in one or more interactions can be generated and / or adapted. For example, social contextual information 1632 can indicate that a person is usually in a particular location, so that a robotic device with knowledge of that information can be near that person's location. Can adapt to the execution of skills that require movement. Dynamic layer 1640 provides information about one or more objects and other elements within a building that can move and / or change over time. For example, the dynamic layer 1640 can track one or more movements 1644 and / or one or more changes 1646 associated with one or more objects 1642. In certain embodiments, the dynamic layer 1640 can monitor the expiration date of an object 1642 and identify when the object 1642 has expired.

[0091] 表現1600は、例えばロボットデバイスの制御ユニット1602が利用可能であってもよく、及び/又は制御ユニット1602によって管理されてもよい。制御ユニット1602は、本明細書に記載される他の制御ユニット(例えば、制御ユニット202、302、及び/又は1702)に類似したコンポーネントを含み得る。制御ユニット1602は、表現1600、及び1つ又は複数のロボットデバイスに関連する情報(例えば、あるロボットデバイスの要素の構成、建物内のそのロボットデバイスの場所など)を含む状態情報1604を保存する(例えば、ストレージ330及び/又は1730などの、本明細書に記載される他のストレージ要素に類似した)ストレージを含み得る。制御ユニット1602は、ロボットデバイス上に、及び/又は1つ若しくは複数のロボットデバイスに接続された遠隔サーバーに位置してもよい。1つ又は複数のロボットデバイスが、それらの周辺環境に関する情報を収集する際に、1つ又は複数のロボットデバイスが、建物の表現1600に関連する情報を含む状態情報1604の更新及び保持を行うように構成されてもよい。 [0091] Representation 1600 may be available, for example, to control unit 1602 of a robotic device and / or may be managed by control unit 1602. The control unit 1602 may include components similar to other control units described herein (eg, control units 202, 302, and / or 1702). The control unit 1602 stores the representation 1600 and state information 1604 containing information related to one or more robotic devices (eg, the configuration of elements of a robotic device, the location of that robotic device in a building, etc.). It may include storage (similar to other storage elements described herein), such as storage 330 and / or 1730. The control unit 1602 may be located on the robot device and / or at a remote server connected to one or more robot devices. As one or more robotic devices collect information about their surrounding environment, one or more robotic devices may update and retain state information 1604 containing information related to building representation 1600. It may be configured in.

[0092] いくつかの実施形態では、制御ユニット1602は、任意選択的に、データ追跡及び分析要素1606も含んでもよい。データ追跡及び分析要素1606は、例えば、1つ又は複数のロボットデバイスによって収集された情報(例えば、表現1600内に含まれる情報及び/又は他の状態情報1604)のデータ追跡及び/又は分析を行うように構成された計算要素(例えば、プロセッサー)でもよい。例えば、データ追跡及び分析要素1606は、在庫を管理する(例えば、有効期限の追跡、在庫品の使用のモニタリング及び記録、新しい在庫品の発注、新しい在庫品の分析及び推薦など)ように構成されてもよい。病院の状況では、データ追跡及び分析要素1606は、医療用品及び/又は設備の使用及び/又は保守を管理することができる。いくつかの実施形態では、データ追跡及び分析要素1606は、集計データ表示(例えば、レポート、チャートなど)を生成することができ、これらを用いて、正式な法律、規則、及び/又は基準に準拠することができる。いくつかの実施形態では、データ追跡及び分析要素1606は、病院内の患者などの人間に関連する情報を分析するように構成されてもよい。例えば、ロボットデバイスは、病院内の1人又は複数の患者に関する情報を収集し、例えば、診断検査及び/又はスクリーニングを含む様々な機能で使用する目的で分析及び/又は要約を行うために、その情報をデータ追跡及び分析要素1606に回すように構成されてもよい。いくつかの実施形態では、データ追跡及び分析要素1606は、第三者システムからの情報(例えば、病院の電子医療記録、セキュリティシステムのデータ、保険のデータ、ベンダーのデータなど)にアクセスし、及び/又はそのような情報を取得し、そのデータを、1つ若しくは複数のロボットデバイスによって収集されたデータと共に、又は1つ若しくは複数のロボットデバイスによって収集されたデータを用いずに、使用及び/又は分析することによって、データの追跡及び/又は分析機能を行うように構成されてもよい。 [0092] In some embodiments, the control unit 1602 may optionally also include a data tracking and analysis element 1606. The data tracking and analysis element 1606, for example, performs data tracking and / or analysis of information collected by one or more robotic devices (eg, information contained within representation 1600 and / or other state information 1604). It may be a computational element configured as such (for example, a processor). For example, the data tracking and analysis element 1606 is configured to manage inventory (eg, expiration tracking, monitoring and recording of inventory usage, ordering new inventory, analyzing and recommending new inventory, etc.). You may. In hospital situations, the data tracking and analysis element 1606 can control the use and / or maintenance of medical supplies and / or equipment. In some embodiments, the data tracking and analysis element 1606 can generate aggregated data displays (eg, reports, charts, etc.) using which they comply with formal laws, rules, and / or standards. can do. In some embodiments, the data tracking and analysis element 1606 may be configured to analyze human-related information such as patients in hospitals. For example, a robotic device may collect information about one or more patients in a hospital and perform analysis and / or summarization for use in various functions, including, for example, diagnostic testing and / or screening. The information may be configured to be routed to the data tracking and analysis element 1606. In some embodiments, the data tracking and analysis element 1606 accesses information from third-party systems (eg, hospital electronic medical records, security system data, insurance data, vendor data, etc.) and / Or obtain such information and use and / or use that data with or without the data collected by one or more robotic devices or without the data collected by one or more robotic devices. By analyzing, it may be configured to perform data tracking and / or analysis functions.

[0093] 図20に示されるように、1つ又は複数のスキルモデル1734は、タスク及び/又は挙動を含む、様々なアクション又はスキルの学習及び/又は実行を行うために使用することができるモデルである。1つ又は複数のモデル1734は、図3を参照して本明細書に記載されるような、1つ又は複数のモデル334に類似してもよい。例えば、1つ又は複数のモデル1734は、スキルの実行に関与する1つ又は複数の物体(例えば、ロボットデバイスによって操作される物体、スキルの実行中にロボットデバイスがインタラクトする物体、スキルを実行しながらロボットデバイスが考慮する物体)に関連する情報を含んでもよい。上記の通り、物体の例には、例えば、備品、設備、人間、及び/又は開口部(例えば、戸口)を規定する面などの静止物体及び/又は可動物体が含まれる。1つ又は複数の物体に関連する情報は、例えば、物体及び/又は物体の特徴を識別するマーカーを含み得る。追加的又は代替的に、1つ又は複数のモデル1734は、例えば、スキルの学習及び/又は実行、又はアクティブセンシング中に、ロボットデバイスによって収集された感覚情報を含んでもよい。上記の通り、感覚情報は、スキルの学習及び/又は実行を行う際のロボットデバイスの1つ若しくは複数のコンポーネント(例えば、操作要素、搬送要素)に関連する情報、及び/又はスキルが学習及び/又は実行される環境に関連する情報(例えば、環境内の1つ又は複数の物体の場所、社会的コンテキスト情報など)を含み得る。いくつかの実施形態では、モデル1734は、例えば、スキルの成功した実行を示す、ロボットデバイスの1つ又は複数のセンサーを用いて感知された視覚及び/又は触覚データなどの成功基準に関連付けられてもよい。 As shown in FIG. 20, one or more skill models 1734 can be used to perform learning and / or execution of various actions or skills, including tasks and / or behaviors. Is. One or more models 1734 may resemble one or more models 334 as described herein with reference to FIG. For example, one or more models 1734 execute one or more objects involved in the execution of a skill (eg, an object operated by a robot device, an object with which the robot device interacts during the execution of the skill, the skill). However, it may include information related to the object) considered by the robot device. As mentioned above, examples of objects include stationary and / or movable objects such as surfaces that define equipment, equipment, humans, and / or openings (eg, doorways). Information related to one or more objects may include, for example, a marker that identifies the object and / or the features of the object. Additional or alternative, one or more models 1734 may include sensory information collected by the robotic device, for example, during skill learning and / or execution, or active sensing. As described above, sensory information is information related to one or more components (eg, operating elements, transport elements) of the robot device when learning and / or executing the skill, and / or the skill learns and / or learns. Or it may include information related to the environment in which it is performed (eg, the location of one or more objects in the environment, social contextual information, etc.). In some embodiments, the model 1734 is associated with success criteria such as visual and / or tactile data sensed using one or more sensors of the robotic device, indicating successful execution of the skill, for example. May be good.

[0094] 物体情報1740は、1つ又は複数の物理的物体に関連する情報(例えば、場所、色、形状、表面特徴、及び/又は識別コード)を含み得る。機械学習ライブラリー1742は、機械学習の異なる複数のアルゴリズム及び/又は異なる複数のスキルのモデル生成に関連する複数のモジュール、プロセス、及び/又は機能を含み得る。 [0094] Object information 1740 may include information related to one or more physical objects (eg, location, color, shape, surface features, and / or identification code). The machine learning library 1742 may include multiple modules, processes, and / or functions related to model generation of different algorithms and / or different skills of machine learning.

[0095] 環境的制約1754は、環境内のロボットデバイスの動作を制限し得る、環境内の物体及び/又は状態に関連する情報を含む。例えば、環境的制約1754は、環境(例えば、備品容器、部屋、戸口など)内の物体のサイズ、構成、及び/又は場所に関連する情報、及び/又は特定のエリア(例えば、部屋、通路など)のアクセスが制限されていることを示す情報を含み得る。環境的制約1754は、環境内の1つ又は複数のアクションの学習及び/又は実行に影響を与え得る。そのため、環境的制約1754は、その環境的制約を含むコンテキスト内で実行されるスキルに関する各モデルの一部となり得る。 [0095] Environmental constraints 1754 include information related to objects and / or conditions in the environment that may limit the operation of robotic devices in the environment. For example, environmental constraints 1754 can be information related to the size, composition, and / or location of objects in the environment (eg, equipment containers, rooms, doorways, etc.) and / or specific areas (eg, rooms, passageways, etc.). ) May contain information indicating that access is restricted. Environmental constraints 1754 can affect the learning and / or execution of one or more actions in the environment. As such, the environmental constraint 1754 can be part of each model of skill performed within the context that includes the environmental constraint.

[0096] 追跡情報1756は、環境の表現(例えば、表現1600)に関連する情報、及び/又は例えば、データ追跡及び分析要素1606などのデータ追跡及び分析要素、又はデータ追跡及び分析1758を実行するプロセッサー1704によって追跡及び/又は分析される、第三者システムから取得した情報(例えば、病院の電子医療記録、セキュリティシステムのデータ、保険のデータ、ベンダーのデータなど)を含む。追跡情報1756の例には、在庫データ、サプライチェーンデータ、使用時点データ、及び/又は患者データ、並びにそのようなデータからまとめられた集計データが含まれる。 [0096] Tracking information 1756 performs information related to representations of the environment (eg, representation 1600) and / or data tracking and analysis elements such as, for example, data tracking and analysis element 1606, or data tracking and analysis 1758. Includes information obtained from third-party systems that is tracked and / or analyzed by processor 1704 (eg, hospital electronic medical records, security system data, insurance data, vendor data, etc.). Examples of follow-up information 1756 include inventory data, supply chain data, point-in-time data, and / or patient data, as well as aggregated data aggregated from such data.

[0097] 1つ又は複数のアービトレーションアルゴリズム1758は、実行すべき異なるアクション間でアービトレーション又は選択を行うためのアルゴリズムを含む(例えば、ロボットデバイスの異なる複数のリソース又はコンポーネントの使い方)。1つ又は複数のアービトレーションアルゴリズム1758は、ルールでもよく、いくつかの実施形態では、図24を参照してさらに記載されるように学習されてもよい。これらのアルゴリズムは、ロボットデバイスが管理すべき複数のリソース及び/又は目的を持つ場合に、異なる複数のアクションから選択するために、ロボットデバイスによって使用することができる。例えば、非構造化環境及び/又は動的環境(例えば、人間を含む環境)で動作するロボットデバイスは、そのロボットデバイスから異なる複数の挙動又はアクションを要求し得るいずれかの時点で、いくつかの状態にさらされ得る。そのような場合には、ロボットデバイスは、あらかじめ規定されたルール(例えば、感情状態、環境的制約、社会的に規定された制約など)に基づいて異なる優先順位を様々なアクションに割り当て得る、1つ又は複数のアービトレーションアルゴリズム1758に基づいて、異なる複数のアクションから選択するように構成されてもよい。ある実施形態では、アービトレーションアルゴリズム1758は、周辺環境、現在の状態、及び/又は他のファクターに関してロボットデバイスによって収集された情報に基づいて、異なるスコア又は値を複数のアクションに割り当てることができる。 [0097] One or more arbitration algorithms 1758 include algorithms for making arbitrations or choices between different actions to be performed (eg, how to use different resources or components of a robotic device). The arbitration algorithm 1758 may be a rule or, in some embodiments, may be learned as further described with reference to FIG. These algorithms can be used by the robot device to choose from different actions if the robot device has multiple resources and / or objectives to manage. For example, a robot device operating in an unstructured environment and / or a dynamic environment (eg, an environment containing humans) may require several different behaviors or actions from the robot device at any point in time. Can be exposed to conditions. In such cases, the robotic device may assign different priorities to various actions based on pre-defined rules (eg, emotional state, environmental constraints, socially defined constraints, etc.) 1 It may be configured to choose from a plurality of different actions based on one or more arbitration algorithms 1758. In one embodiment, the arbitration algorithm 1758 can assign different scores or values to multiple actions based on the information collected by the robotic device regarding the surrounding environment, current state, and / or other factors.

[0098] 1つ又は複数のI/Oインターフェース208及び/又は308に類似して、1つ又は複数のI/Oインターフェース1708は、制御ユニット1702の内部コンポーネントと、ユーザーインターフェース、操作要素、搬送要素、及び/又は計算デバイスなどの外部デバイスとの間の通信を可能にする任意の適宜の1つ又は複数のコンポーネントでもよい。1つ又は複数のI/Oインターフェース1708は、制御ユニット1702をネットワーク(例えば、図1に示されるようなネットワーク105)に接続することができるネットワークインターフェース1760を含み得る。ネットワークインターフェース1760は、(ロボットデバイス上、又は1つ若しくは複数のロボットデバイスと通信する別のネットワークデバイス上に位置し得る)制御ユニット1702と、1つ又は複数のロボットデバイスのモニタリング及び/又は制御を行うために、ロボットの監督者によって使用され得る計算デバイスなどの遠隔デバイスとの通信を可能にする。ネットワークインターフェース1760は、無線及び/又は有線接続をネットワークに提供するように構成されてもよい。 [0098] Similar to one or more I / O interfaces 208 and / or 308, one or more I / O interfaces 1708 may include internal components of control unit 1702 and user interfaces, operating elements, transport elements. And / or any suitable component that allows communication with external devices such as computing devices. One or more I / O interfaces 1708 may include a network interface 1760 capable of connecting the control unit 1702 to a network (eg, network 105 as shown in FIG. 1). The network interface 1760 monitors and / or controls the control unit 1702 (which may be located on the robot device or on another network device that communicates with one or more robot devices) and one or more robot devices. To do so, it allows communication with remote devices such as computing devices that can be used by robot supervisors. The network interface 1760 may be configured to provide wireless and / or wired connections to the network.

[0099] 図5は、いくつかの実施形態によるロボットデバイス400を模式的に示す。ロボットデバイス400は、頭部480、胴部488、及び基部486を含む。頭部480は、セグメント482及び1つ又は複数の関節(図示されない)によって胴部488に接続されてもよい。セグメント482は、頭部480が胴部488に対して移動することを可能にするために、移動可能であってもよく、及び/又は可撓性があってもよい。頭部480、セグメント482などは、1つ又は複数の操作要素の例となることができ、本明細書に記載される1つ又は複数の他の操作要素と類似した機能性及び/又は構造を含み得る。 [0099] FIG. 5 schematically shows a robot device 400 according to some embodiments. The robot device 400 includes a head 480, a body 488, and a base 486. The head 480 may be connected to the torso 488 by segments 482 and one or more joints (not shown). The segments 482 may be movable and / or flexible to allow the head 480 to move relative to the torso 488. The head 480, segment 482, etc. can be examples of one or more operating elements and have similar functionality and / or structure to one or more other operating elements described herein. Can include.

[0100] 頭部480は、1つ又は複数の撮像デバイス472及び/又は他のセンサー470を含む。撮像デバイス472及び/又は他のセンサー470(例えば、ライダーセンサー、運動センサーなど)は、ロボットデバイス400が環境をスキャンし、その環境の表現(例えば、視覚的表現又は他の意味的表現)を取得することを可能にすることができる。いくつかの実施形態では、撮像デバイス472は、カメラでもよい。いくつかの実施形態では、撮像デバイス472は、ロボットデバイス400の周りの環境の異なる複数のエリアに焦点を合わせるために使用することができるように、移動可能であってもよい。撮像デバイス472及び/又は他のセンサー470は、感覚情報を収集し、ロボットデバイス400に搭載された計算デバイス又はプロセッサー(例えば、制御ユニット202又は302など)に感覚情報を送ることができる。いくつかの実施形態では、ロボットデバイス400の頭部480は、人間の形を有し、1つ又は複数の人間の特徴(例えば、目、鼻、口、耳など)を含んでもよい。このような実施形態では、撮像デバイス472及び/又は他のセンサー470は、1つ又は複数の人間の特徴として実装されてもよい。例えば、撮像デバイス472は、頭部480上の目として実装されてもよい。 [0100] Head 480 includes one or more imaging devices 472 and / or other sensors 470. The imaging device 472 and / or other sensors 470 (eg, rider sensor, motion sensor, etc.) allow the robot device 400 to scan the environment and acquire a representation of that environment (eg, a visual representation or other semantic representation). Can be made possible. In some embodiments, the imaging device 472 may be a camera. In some embodiments, the imaging device 472 may be mobile so that it can be used to focus on different areas of the environment around the robot device 400. The imaging device 472 and / or another sensor 470 can collect sensory information and send the sensory information to a computing device or processor (eg, control unit 202 or 302, etc.) mounted on the robot device 400. In some embodiments, the head 480 of the robotic device 400 has a human shape and may include one or more human features (eg, eyes, nose, mouth, ears, etc.). In such embodiments, the imaging device 472 and / or the other sensor 470 may be implemented as one or more human features. For example, the imaging device 472 may be mounted as an eye on the head 480.

[0101] いくつかの実施形態では、ロボットデバイス400は、撮像デバイス472及び/又は他のセンサー470を用いて、環境内の物体(例えば、物理的構造、デバイス、物品、人間など)に関する情報を求めて、環境をスキャンすることができる。ロボットデバイス400は、アクティブセンシングに従事することができ、又はロボットデバイス400は、トリガー(例えば、ユーザーからの入力、環境内の検出事象又は変化)に応答して、センシング又はスキャニングを開始することができる。 [0101] In some embodiments, the robotic device 400 uses an imaging device 472 and / or other sensor 470 to provide information about an object in the environment (eg, physical structure, device, article, human, etc.). You can ask and scan the environment. The robot device 400 can engage in active sensing, or the robot device 400 can initiate sensing or scanning in response to a trigger (eg, user input, detection event or change in the environment). can.

[0102] いくつかの実施形態では、ロボットデバイス400は、保存された知識及び/又はユーザー入力に基づいてセンシングを行うことができる適応センシングに従事することができる。例えば、ロボットデバイス400は、ロボットデバイス400が物体に関して有する事前情報に基づいて、物体を求めてスキャンすべき環境内のエリアを識別することができる。図6Aを参照して、ロボットデバイス400は、シーン(例えば、部屋のあるエリア)をスキャンし、そのシーンの表現500を取得することができる。表現500では、ロボットデバイス400は、第1の物体550がエリア510に位置し、第2の物体560がエリア510及び530に位置することを識別する。ロボットデバイス400が、今後スキャンを行うときに、その情報を用いて物体550及び560の位置を特定することができるように、ロボットデバイス400は、それが内的に保存した環境のマップ内に、物体550及び560の場所を保存することができる。例えば、ロボットデバイス400が上記シーンに戻り、そのシーンを2回目にスキャンするときに、ロボットデバイス400は、図6Bに示されるように、シーンの異なるビューを取得してもよい。この2回目のスキャンを行うときは、ロボットデバイス400は、シーンの表現502を取得することができる。表現502で物体550及び560の位置を特定するために、ロボットデバイス400は、シーンの表現500を取得したときに、これらの物体の場所に関してロボットデバイス400が以前に保存した情報を参照することができる。ロボットデバイス400は、環境内でのロボットデバイス400の場所が変わった可能性があることを考慮することができ、物体550及び560が、表現502の異なるエリアに位置し得ることを認識することができる。この情報に基づいて、ロボットデバイス400は、物体550に関してはエリア510を見るが、物体560に関してはエリア520及び540を見ることを知ることができる。物体550及び560の場所に関して以前に保存された情報を用いることによって、ロボットデバイス400は、物体550及び560を求めて、(例えば、ズームインすることによって、エリア内でカメラをゆっくりと移動させることによって)注意深くスキャンすべきエリアを自動的に識別することができる。 [0102] In some embodiments, the robotic device 400 can engage in adaptive sensing capable of performing sensing based on stored knowledge and / or user input. For example, the robot device 400 can identify an area in an environment in which an object should be sought and scanned based on prior information that the robot device 400 has about the object. With reference to FIG. 6A, the robot device 400 can scan a scene (eg, an area with a room) and obtain a representation 500 of that scene. In representation 500, the robot device 400 identifies that the first object 550 is located in areas 510 and the second object 560 is located in areas 510 and 530. The robot device 400 can use that information to locate objects 550 and 560 in future scans, so that the robot device 400 can use it in a map of the environment it has stored internally. The location of objects 550 and 560 can be preserved. For example, when the robot device 400 returns to the scene and scans the scene for the second time, the robot device 400 may acquire different views of the scene, as shown in FIG. 6B. When performing this second scan, the robot device 400 can acquire the representation 502 of the scene. To locate objects 550 and 560 in representation 502, robotic device 400 may refer to information previously stored by robotic device 400 with respect to the location of these objects when acquiring representation 500 of the scene. can. The robot device 400 can take into account that the location of the robot device 400 in the environment may have changed and recognize that objects 550 and 560 may be located in different areas of representation 502. can. Based on this information, the robot device 400 can know that it sees the area 510 for the object 550, but sees the areas 520 and 540 for the object 560. By using previously stored information about the location of objects 550 and 560, the robot device 400 seeks objects 550 and 560 (eg, by zooming in and slowly moving the camera within the area). ) It can automatically identify areas that should be carefully scanned.

[0103] いくつかの実施形態では、ロボットデバイス400は、人間による入力に基づいて、シーンの異なるエリアのセンシング又はスキャニングをより注意深く行うことも知ることができる。例えば、人間は、あるシーンの特定のエリアが、関心のある1つ又は複数の物体を含むことをロボットデバイス400に示すことができ、ロボットデバイス400は、それらの物体を識別するために、それらのエリアをより注意深くスキャンすることができる。このような実施形態では、ロボットデバイス400は、図5に模式的に示されるように、キーボード若しくは他の入力デバイスを備えたディスプレイ、及び/又はタッチスクリーンなどの入出力デバイス440を含んでもよい。 [0103] In some embodiments, it can also be seen that the robotic device 400 performs more careful sensing or scanning of different areas of the scene based on human input. For example, a human can indicate to a robot device 400 that a particular area of a scene contains one or more objects of interest, which the robot device 400 may use to identify those objects. Areas can be scanned more carefully. In such an embodiment, the robot device 400 may include a display with a keyboard or other input device and / or an input / output device 440 such as a touch screen, as schematically shown in FIG.

[0104] いくつかの実施形態では、ロボットデバイス400は、環境をスキャンし、例えば人間などの物体が、環境内で移動していることを識別することができる。例えば、図7A及び7Bに示されるように、物体650が静止したままである一方で、物体660は、環境内で移動している場合がある。図7Aは、物体660がエリア610及び630内にあることを示すシーンの表現600を示し、図7Bは、物体660がエリア620及び640内にあることを示すシーンの表現602を示す。両表現600及び602では、物体650は、エリア610の同じ場所にとどまり得る。ロボットデバイス400は、物体660がシーン内で移動したことを識別し、それに応じて、ロボットデバイス400のアクションを調整することができる。例えば、ロボットデバイス400が、物体660とインタラクトする予定であった場合、ロボットデバイス400は、その軌道を変えること(例えば、物体660の近くに移動すること)、及び/又は操作要素若しくは物体660とインタラクトするように構成された他のコンポーネントの軌道を変えることができる。代替的又は追加的に、ロボットデバイス400が、物体650(及び/又はシーン内の別の物体)とインタラクトする予定であった場合、ロボットデバイス400は、物体650とインタラクトするためのコースを計画する間に、物体660の移動を考慮に入れることができる。いくつかの実施形態では、ロボットデバイス400は、ロボットデバイス400のアクションをほぼリアルタイムで調整することができるように、アクティブセンシングに従事することができる。 [0104] In some embodiments, the robotic device 400 can scan the environment and identify that an object, such as a human being, is moving within the environment. For example, as shown in FIGS. 7A and 7B, the object 650 may remain stationary while the object 660 may be moving in the environment. FIG. 7A shows a scene representation 600 showing that the object 660 is in areas 610 and 630, and FIG. 7B shows a scene representation 602 showing that the object 660 is in areas 620 and 640. In both representations 600 and 602, the object 650 may stay in the same place in the area 610. The robot device 400 can identify that the object 660 has moved in the scene and adjust the action of the robot device 400 accordingly. For example, if the robot device 400 was to interact with an object 660, the robot device 400 would change its trajectory (eg, move closer to the object 660) and / or with an operating element or object 660. You can change the trajectory of other components that are configured to interact. Alternatively or additionally, if the robot device 400 was to interact with the object 650 (and / or another object in the scene), the robot device 400 plans a course for interacting with the object 650. In the meantime, the movement of the object 660 can be taken into account. In some embodiments, the robot device 400 can engage in active sensing so that the actions of the robot device 400 can be coordinated in near real time.

[0105] 図5に模式的に示されるように、基部486は、車輪460として実装される1つ又は複数の搬送要素を任意選択的に含んでもよい。車輪460により、ロボットデバイス400が環境(例えば、病院)内を動き回ることを可能にすることができる。ロボットデバイス400は、アーム450として実装される少なくとも1つの操作要素も含む。アーム450は、本明細書に記載される他の操作要素(例えば、操作要素350)に構造的及び/又は機能的に類似してもよい。アーム450は、ロボットデバイス400の胴部488に固定的に取り付けられてもよく、又は任意選択的に、操作要素450は、ロボットデバイス400の結合部分484に付着し得る結合要素(例えば、結合要素359)により、胴部488に取り外し可能に結合されてもよい。結合部分484は、結合要素359と係合し、並びに、搭載計算デバイス(例えば、制御ユニット202又は302)が、アーム450のコンポーネントに電力を供給し、及び/又はそれらのコンポーネントを制御し、操作要素450上に配置されたセンサー(例えば、センサー353、355、357、及び358)によって収集された情報を受信することができるように、アーム450と搭載計算デバイスとの電気的接続を提供するように構成されてもよい。 [0105] As schematically shown in FIG. 5, the base 486 may optionally include one or more transport elements mounted as wheels 460. Wheels 460 allow the robot device 400 to move around in an environment (eg, a hospital). The robot device 400 also includes at least one operating element mounted as an arm 450. The arm 450 may be structurally and / or functionally similar to other operating elements described herein (eg, operating element 350). The arm 450 may be fixedly attached to the body 488 of the robot device 400, or optionally, the operating element 450 may attach to the coupling portion 484 of the robot device 400 (eg, coupling element). 359) may be detachably coupled to the body 488. The coupling portion 484 engages the coupling element 359 and the on-board computing device (eg, control unit 202 or 302) powers and / or controls the components of the arm 450 and operates. To provide an electrical connection between the arm 450 and the on-board computing device so that it can receive information collected by sensors located on the element 450 (eg, sensors 353, 355, 357, and 358). It may be configured in.

[0106] 任意選択的に、ロボットデバイス400は、セグメント482、胴部488、基部486、及び/又はロボットデバイス400の他の部分上に位置する、1つ又は複数の追加のセンサー470も含み得る。1つ又は複数のセンサー470は、例えば、撮像デバイス、力若しくはトルクセンサー、運動センサー、光センサー、圧力センサー、及び/又は温度センサーでもよい。センサー470により、環境に関する視覚情報及び非視覚情報をロボットデバイス400が捕捉することを可能にすることができる。 [0106] Optionally, the robot device 400 may also include one or more additional sensors 470 located on a segment 482, a body 488, a base 486, and / or other parts of the robot device 400. .. The one or more sensors 470 may be, for example, an imaging device, a force or torque sensor, a motion sensor, an optical sensor, a pressure sensor, and / or a temperature sensor. The sensor 470 can allow the robot device 400 to capture visual and non-visual information about the environment.

方法
[0107] 図8〜11は、いくつかの実施形態による、1つ又は複数のロボットデバイスを含むロボットシステム(例えば、ロボットシステム100)によって行われ得る方法700を示すフロー図である。例えば、方法700の全て又は一部は、単一のロボットデバイス(本明細書に記載されるロボットデバイスのいずれかのロボットデバイスなど)によって行われてもよい。或いは、方法700の全てが、それぞれが順番に方法700の一部を行う複数のロボットデバイスによって、連続的に行われてもよい。或いは、方法700の全て又は一部は、複数のロボットデバイスによって同時に行われてもよい。
Method
[0107] FIGS. 8-11 are flow diagrams illustrating method 700, according to some embodiments, which may be performed by a robotic system (eg, robotic system 100) comprising one or more robotic devices. For example, all or part of the method 700 may be performed by a single robotic device, such as one of the robotic devices described herein. Alternatively, all of the method 700 may be performed sequentially by a plurality of robotic devices, each of which in turn performs a portion of the method 700. Alternatively, all or part of the method 700 may be performed simultaneously by a plurality of robotic devices.

[0108] 図8に示されるように、ロボットデバイスは、702において、環境をスキャンし、環境の表現を取得することができる。ロボットデバイスは、1つ又は複数のセンサー(例えば、1つ若しくは複数のセンサー270若しくは470、及び/又は1つ若しくは複数の撮像デバイス472)を用いて、環境をスキャンすることができる。いくつかの実施形態では、ロボットデバイスは、移動可能カメラを用いて環境をスキャンすることができ、カメラの位置及び/又は焦点は、環境のシーン内の複数のエリアを捕捉するために調整することができる。704では、センシング中に収集された情報に基づいて、ロボットデバイスは、データを分析することにより、捕捉された環境の表現内の1つ又は複数のマーカーを識別することができる。マーカーは、視覚マーカー又は基準マーカー(例えば、QRコード(登録商標)、バーコード、タグなどの可視マーカー)を用いて印が付けられたシーン内の1つ又は複数の物体に関連付けられてもよい。代替的又は追加的に、ロボットデバイスは、ロボットデバイス上のメモリー(例えば、ストレージ330)に保存された物体情報(例えば、物体情報340)を用いて、物体認識により、環境内の1つ又は複数の物体に関連付けられたマーカーを識別することができる。物体情報には、例えば、場所、色、形状、及び表面特徴などの、物体の異なる複数の特徴を示す情報が含まれ得る。ある実施形態では、物体情報は、特徴空間と呼ばれる場合がある、物体の異なる複数の特徴を表す数値として、整理することができる。 [0108] As shown in FIG. 8, the robot device can scan the environment and obtain a representation of the environment at 702. The robot device can scan the environment using one or more sensors (eg, one or more sensors 270 or 470, and / or one or more imaging devices 472). In some embodiments, the robotic device can scan the environment with a mobile camera, and the position and / or focus of the camera is adjusted to capture multiple areas within the scene of the environment. Can be done. At 704, based on the information collected during sensing, the robot device can analyze the data to identify one or more markers within the representation of the captured environment. The marker may be associated with one or more objects in the scene marked with a visual marker or a reference marker (eg, a visible marker such as a QR code®, barcode, tag, etc.). .. Alternatively or additionally, the robot device uses object information (eg, object information 340) stored in a memory (eg, storage 330) on the robot device to recognize one or more objects in the environment. The marker associated with the object can be identified. The object information may include information indicating a plurality of different features of the object, such as location, color, shape, and surface features. In certain embodiments, the object information can be organized as a numerical value representing a plurality of different features of the object, which may be referred to as a feature space.

[0109] 1つ又は複数のマーカーを識別した後に、706において、ロボットデバイスは、任意選択的に、環境の表現内で、1つ又は複数のマーカーを提示することができる。いくつかの実施形態では、環境の表現は、例えば、環境の拡張ビューなどの視覚的表現でもよい。このような実施形態では、ロボットデバイスは、例えば表示画面上に、環境の視覚的表現を表示し、環境の視覚的表現内に、1つ又は複数のマーカーの場所を表示することができる。代替的又は追加的に、環境の表現は、環境内で意味マーカーによって示される1つ又は複数のマーカーの場所を有する、環境の意味的表現でもよい。 [0109] After identifying one or more markers, at 706, the robotic device can optionally present one or more markers within the representation of the environment. In some embodiments, the representation of the environment may be a visual representation, for example, an expanded view of the environment. In such an embodiment, the robot device can display a visual representation of the environment, for example on a display screen, and display the location of one or more markers within the visual representation of the environment. Alternatively or additionally, the representation of the environment may be a semantic representation of the environment having the location of one or more markers indicated by the semantic markers within the environment.

[0110] いくつかの実施形態では、ロボットデバイスは、1つ又は複数のマーカーを有する、環境の表現をユーザーに提示することができ、任意選択的に、708において、例えばユーザーインターフェース又は他のタイプのI/Oデバイスを用いて、環境の表現内の1つ又は複数のマーカーを承認するか、又は拒否するようにユーザーに促すことができる。ユーザーが1つ又は複数のマーカーを承認しない場合(708:NO)、方法700は、702に戻り、ロボットデバイスは、環境を再スキャンすることにより、環境の第2の表現を取得することができる。ユーザーが1つ又は複数のマーカーを承認する場合(708:YES)、方法700は、708に進み、そこで、ロボットデバイスは、マーカーに関連付けられた情報(例えば、場所、特徴など)をメモリー(例えば、ストレージ330)に保存することができる。例えば、ロボットデバイスは、1つ又は複数のマーカーの場所を環境の内部マップ(例えば、マップ332)に保存することができる。 [0110] In some embodiments, the robotic device can present a representation of the environment to the user, having one or more markers, optionally at 708, eg, a user interface or other type. I / O devices can be used to encourage users to approve or reject one or more markers in a representation of the environment. If the user does not approve one or more markers (708: NO), method 700 returns to 702 and the robot device can obtain a second representation of the environment by rescanning the environment. .. If the user approves one or more markers (708: YES), method 700 proceeds to 708, where the robot device stores information (eg, location, features, etc.) associated with the marker in memory (eg, location, features, etc.). , Storage 330). For example, the robot device can store the location of one or more markers in an internal map of the environment (eg, map 332).

[0111] いくつかの実施形態では、ロボットデバイスは、704において、1つ又は複数のマーカーを識別し、1つ又は複数のマーカーを承認するようにユーザーに促すことなく、そのまま、710で、1つ又は複数のマーカーの場所及び/又はマーカーに関連付けられた他の情報の保存を開始してもよい。このような実施形態では、ロボットデバイスは、1つ又は複数のマーカーの場所を、それらの場所を保存する前に分析することができる。例えば、ロボットデバイスは、(例えば、環境の以前のスキャン中に獲得された、及び/又はユーザー若しくは計算デバイスによってロボットデバイスに入力された)1つ又は複数のマーカーの場所に関する、以前に保存された情報を有し、1つ又は複数のマーカーの場所を、その以前に保存された情報と比較することによって、精度のチェック及び/又はマーカーの場所の変化を識別することができる。具体的には、ある特定のマーカーが、ロボットデバイスによって識別された場所とは異なる場所に位置すべきであることを以前に保存された情報が示す場合には、ロボットデバイスは、環境の追加的スキャンを開始することにより、マーカーの場所を保存する前に、その場所を検証することができる。代替的又は追加的に、ロボットデバイスは、マーカーの場所が変わったことを示す通知をユーザーに送ることができる。このような場合には、ロボットデバイスは、マーカーの新しい場所を保存することができるが、マーカーの場所に変化があったことを示すメッセージも保存することができる。その場合、ユーザー又は計算デバイスは、後に、メッセージを見直し、マーカーの場所の変化を一致させることができる。 [0111] In some embodiments, the robotic device identifies one or more markers in 704 and, as is, in 710, 1 without prompting the user to approve the one or more markers. The location of one or more markers and / or other information associated with the markers may be initiated. In such an embodiment, the robot device can analyze the location of one or more markers before storing those locations. For example, the robot device was previously stored with respect to the location of one or more markers (eg, acquired during a previous scan of the environment and / or entered into the robot device by the user or computing device). By having information and comparing the location of one or more markers with previously stored information, accuracy checks and / or changes in marker location can be identified. Specifically, if previously stored information indicates that a particular marker should be located at a different location than the location identified by the robot device, the robot device is an additional environment. By initiating a scan, the location of the marker can be verified before it is saved. Alternatively or additionally, the robot device can send a notification to the user that the location of the marker has changed. In such cases, the robot device can save the new location of the marker, but can also save a message indicating that the location of the marker has changed. In that case, the user or computing device can later review the message to match the change in marker location.

[0112] 図9に示されるように、方法700は、任意選択的に、712に進み、そこで、ロボットデバイスは、例えばユーザーインターフェース又は他のタイプのI/Oデバイスを用いて、環境の表現で識別された1つ又は複数のマーカーからマーカーのセットを選択するようにユーザーに促すことができる。714において、ユーザーは、選択を行うことができ、ロボットデバイスは、ユーザーから選択を受け取ることができる。或いは、いくつかの実施形態では、選択を行うようにユーザーに促す代わりに、ロボットデバイスは、マーカーのセットを自動的に選択することができる。ロボットデバイスは、特定のあらかじめ規定された、又は学習されたルール及び/又は条件に基づいて、マーカーを選択するようにプログラムされてもよい。例えば、ロボットデバイスは、1日のうちの特定の時間の間、又は建物内の人通りが少ないときに、ある特定のタイプの物体(例えば、供給品)に関連付けられたマーカーを選択するように指示され得る。後者の場合、ロボットデバイスは、建物中を能動的に移動すること(例えば、通路及び部屋を巡回及びモニタリングすること)、並びに環境のセンシング又はスキャニングを行うことによって、建物内の人通りがいつ少ないかを決定することができる。そうすることで、ロボットデバイスは、建物内の人通りが他のほとんどの時よりも少ないときに、特定の物体に関連付けられたマーカーを選択することを知ることができる。 [0112] As shown in FIG. 9, the method 700 optionally proceeds to 712, where the robotic device is represented in the environment, eg, using a user interface or other type of I / O device. The user can be prompted to select a set of markers from one or more identified markers. At 714, the user can make a selection and the robot device can receive the selection from the user. Alternatively, in some embodiments, the robot device can automatically select a set of markers instead of prompting the user to make a selection. Robotic devices may be programmed to select markers based on certain pre-defined or learned rules and / or conditions. For example, a robotic device may select a marker associated with a particular type of object (eg, supply) during a particular time of the day or when there is less traffic in the building. Can be instructed. In the latter case, the robotic device will be less crowded in the building by actively moving through the building (eg, patrol and monitoring passages and rooms) and by sensing or scanning the environment. Can be determined. In doing so, the robotic device can know to select a marker associated with a particular object when there is less traffic in the building than most other times.

[0113] ロボットデバイスが、マーカーのセットの選択をユーザーから受け取り、及び/又はマーカーのセットを自動的に選択した後に、方法700は、716のスキルの学習、又は718のスキルの実行に進むことができる。 [0113] After the robot device receives a selection of a set of markers from the user and / or automatically selects a set of markers, method 700 proceeds to learn 716 skills or execute 718 skills. Can be done.

[0114] どのような特定のスキルに関しても、ロボットデバイスがスキルを実行又は実施する前に、ロボットデバイスが、スキルを教示されることが可能である。例えば、操作スキルを獲得するために、ロボットデバイスは、ユーザー(例えば、近くのユーザー、又は遠隔に位置するロボットの監督者)又は他のロボットデバイスが、ロボットデバイスにスキルを実演することができるLfD(例えば、運動感覚教示)により、教示されることが可能である。例えば、ロボットデバイスのアームなどの操作要素は、物体とインタラクトするために、一連のウェイポイントを通って移動することができる。別の例として、ロボットデバイスの可動基部(例えば、車輪、トラック、クローラーなどの搬送要素を備えた基部)が、ユーザーによって(例えば、ジョイスティック、ユーザーインターフェース、又はその他のタイプの物理的若しくは仮想制御デバイスを用いることによって、或いはロボットデバイスを物理的に指導し、又は移動させる(例えば、引き寄せる、押す)ことによって)環境内の物体を避けてナビゲートされ得る。 [0114] For any particular skill, it is possible for the robot device to be taught the skill before the robot device performs or performs the skill. For example, in order to acquire operational skills, the robot device may allow a user (eg, a nearby user or a remotely located robot supervisor) or another robot device to demonstrate the skill to the robot device. It can be taught by (for example, kinesthetic teaching). For example, an operating element, such as an arm of a robotic device, can move through a set of waypoints to interact with an object. As another example, the movable base of a robotic device (eg, a base with transport elements such as wheels, trucks, crawlers, etc.) is placed by the user (eg, a joystick, user interface, or other type of physical or virtual control device). Can be navigated around objects in the environment by using, or by physically guiding or moving (eg, pulling, pushing) the robot device.

[0115] 運動感覚教示の場合、ユーザーは、ロボットデバイスに対してスキルを物理的に実演することができる。スキルの汎用的動作を表す集約モデルを用いて、ロボットデバイスが教示され得る、大量生産状況(例えば、製造環境など)において、訓練又は教示が行われ得る。代替的又は追加的に、ロボットデバイスが、特定の現場環境でスキルを行うことを学習できるように、ロボットデバイスが(例えば病院に)配備された後に、教示を現場で行うことができる。いくつかの実施形態では、ロボットデバイスは、現場状況で教示されることが可能であり、その後、学習したスキルに関連する情報を1つ又は複数の別のロボットデバイスに送信することによって、これらの別のロボットデバイスも、同じ現場状況で動作するときに、教示されたスキルの知識を持つことができる。このような実施形態は、複数のロボットデバイスが単一の現場で配備されている場合に役に立ち得る。その場合、各ロボットデバイスは、他のロボットデバイスに対して、それらの他のロボットデバイスが、その現場環境に関するスキルのセットをまとめて学習することができるように情報の送受信を行うことができる。 [0115] In the case of kinesthetic teaching, the user can physically demonstrate the skill to the robot device. Training or teaching can be performed in mass production situations (eg, manufacturing environments, etc.) where the robotic device can be taught using an aggregate model that represents the general-purpose movement of the skill. Alternatively or additionally, teaching can be performed in the field after the robot device has been deployed (eg, in a hospital) so that the robot device can learn to perform skills in a particular field environment. In some embodiments, the robotic device can be taught in a field situation and then these by transmitting information related to the learned skill to one or more different robotic devices. Other robotic devices can also have knowledge of the taught skills when operating in the same field situation. Such embodiments may be useful when multiple robotic devices are deployed in a single field. In that case, each robot device can send and receive information to the other robot device so that the other robot device can collectively learn a set of skills related to its field environment.

[0116] 図10に示される学習モードでは、方法700は、720〜724に進み、ここでは、ユーザーは、LfD教示プロセスを用いて、ロボットデバイスにスキルを教示することができる。ある実施形態では、スキルは、ある特定の場所にある物体を把持すること、その物体を拾い上げること、その物体を別の場所に移動させること、及びその物体をその別の場所に降ろすこととして規定され得る。別の実施形態では、スキルは、ロボットデバイスの周囲の環境(例えば、ドア)とのインタラクションに関与し得る。 [0116] In the learning mode shown in FIG. 10, the method 700 proceeds from 720 to 724, where the user can teach the skill to the robot device using the LfD teaching process. In one embodiment, the skill is defined as grasping an object at a particular location, picking it up, moving it to another location, and lowering it to another location. Can be done. In another embodiment, the skill may be involved in interacting with the environment around the robot device (eg, the door).

[0117] 720では、ユーザー(又は別のロボットデバイス)が、操作要素(例えば、操作要素250、350、若しくは450)及び/又は搬送要素(例えば、1つ若しくは複数の搬送要素260、460)を含むロボットデバイスに動作を指導することができる。例えば、ユーザーは、ある特定のスキル(例えば、人間とのインタラクション、物体との係合及び/又は物体の操作、及び/又は1人若しくは複数の人間及び/又は周辺環境との他のインタラクション)の実行に関連する実演により、ロボットデバイスの操作要素(及び/又はロボットデバイスの他のコンポーネント(例えば、搬送要素))を指導することができる。ある実施形態では、ユーザーは、ドアとインタラクトするやり方及び/又はドアを通ってナビゲートするやり方をロボットデバイスに実演することができる。ユーザーは、どのようにロボットデバイスが、例えば、それの1つ又は複数の操作要素を用いて、ドアハンドルとインタラクトするかを実演することができる。例えば、アームなどの、ロボットデバイスの操作要素は、(例えば、視覚入力によって入れられた、又は基準マーカーによって識別された)ドアハンドルに対する一連の動きを指導され得る。例えば操作要素を用いて、ドアハンドルが回される間、又はドアハンドルが回された後に、ロボットデバイスは、例えば1つ又は複数の搬送要素を移動させることによって、ドアを押し開くことを実演により指導され得る。以下でさらに説明されるように、1つ又は複数の操作要素及び1つ又は複数の搬送要素の動きの組み合わせを用いることによって、そのドア及び/又は類似のドアとの今後のインタラクションのために、スキル又は挙動を実行するためのモデルを構築することができる。 [0117] In 720, the user (or another robotic device) has an operating element (eg, operating element 250, 350, or 450) and / or a transport element (eg, one or more transport elements 260, 460). The operation can be instructed to the robot device including. For example, a user may interact with a particular skill (eg, interacting with a human, engaging with an object and / or manipulating an object, and / or interacting with one or more humans and / or the surrounding environment). Demonstrations related to execution can teach the operating elements of the robot device (and / or other components of the robot device (eg, transport elements)). In certain embodiments, the user can demonstrate to the robot device how to interact with the door and / or how to navigate through the door. The user can demonstrate how the robot device interacts with the door handle, for example, using one or more of its operating elements. For example, an operating element of a robotic device, such as an arm, may be guided by a series of movements with respect to the door handle (eg, entered by visual input or identified by a reference marker). Demonstration shows that the robotic device pushes open the door, eg, by moving one or more transport elements, while the door handle is turned, or after the door handle is turned, using, for example, an operating element. Can be instructed. As further described below, by using a combination of movements of one or more operating elements and one or more transport elements, for future interaction with that door and / or similar doors. You can build a model to perform a skill or behavior.

[0118] いくつかの実施形態では、ロボットデバイスは、局所的に存在するユーザーによって(例えば、ロボットデバイスを物理的に移動させている、及び/又はロボットデバイスに入力を与えているユーザーによって)指導されることが可能である。いくつかの実施形態では、ロボットデバイスは、例えば、遠隔又はクラウドインターフェースを用いて、ロボットデバイスから遠隔に位置するユーザー(例えば、ロボットの監督者)によって指導されることが可能である。 [0118] In some embodiments, the robotic device is instructed by a locally present user (eg, by a user who is physically moving the robotic device and / or giving input to the robotic device). It is possible to be done. In some embodiments, the robot device can be mentored by a user (eg, a robot supervisor) located remote from the robot device, eg, using a remote or cloud interface.

[0119] 操作要素(及び/又はロボットデバイスの他のコンポーネント)に動作を指導しながら、ユーザーは、操作要素の状態(例えば、関節の構成、関節力及び/又は関節トルク、エンドエフェクターの構成、エンドエフェクターの位置)、ロボットデバイスの別のコンポーネント、及び/又は環境(例えば、選択されたマーカーに関連付けられた物体の場所、及び/又は環境内の他の物体)に関する情報を捕捉すべき時をロボットデバイスに示すことができる。例えば、ロボットデバイスは、722において、操作要素の動作中のウェイポイント又はキーフレームで、操作要素及び/又は環境に関する情報を捕捉するための信号をユーザーから受信することができる。信号の受信に応答して、724において、ロボットデバイスは、そのキーフレームにおいて、操作要素、ロボットデバイスの他のコンポーネント、及び/又は環境に関する情報を捕捉することができる。操作要素情報には、例えば、関節の構成、関節トルク、エンドエフェクターの位置、及び/又はエンドエフェクタートルクが含まれ得る。環境情報は、例えば、エンドエフェクターに対する、選択されたマーカーの位置を含み、環境内の物体がいつ動いた可能性があるかをロボットデバイスに示すことができる。動作がまだ続いている場合には(728:NO)、ロボットデバイスは、さらなる複数のキーフレームで、操作要素及び/又は環境に関する情報を捕捉することを待つことができる。いくつかの実施形態では、ロボットデバイスは、ユーザーから信号を受信することなく、キーフレーム情報を捕捉するようにプログラムされてもよい。例えば、操作要素がユーザーによって動かされている間に、ロボットデバイスは、操作要素のセグメント及び関節の変化をモニタリングし、それらの変化が閾値を超えたとき、又はセグメント若しくは関節の軌道の方向変化があったときに、ロボットデバイスは、その時点がキーフレームであると自律的に選択し、そのキーフレームにおける操作要素及び/又は環境に関する情報を記録することができる。 [0119] While instructing the operating element (and / or other components of the robot device) to move, the user can use the state of the operating element (eg, joint configuration, joint force and / or joint torque, end effector configuration, etc. When to capture information about the location of the end effector), another component of the robotic device, and / or the environment (eg, the location of the object associated with the selected marker, and / or other objects in the environment). Can be shown on a robot device. For example, at 722, the robot device may receive a signal from the user at a waypoint or keyframe in operation of the operating element to capture information about the operating element and / or the environment. In response to receiving a signal, at 724, the robot device can capture information about operating elements, other components of the robot device, and / or the environment at its keyframes. The operating element information may include, for example, joint configuration, joint torque, end effector position, and / or end effector torque. The environmental information may include, for example, the position of the selected marker relative to the end effector and indicate to the robot device when an object in the environment may have moved. If the operation is still ongoing (728: NO), the robot device can wait to capture information about the operating element and / or the environment at a further number of keyframes. In some embodiments, the robotic device may be programmed to capture keyframe information without receiving a signal from the user. For example, while the operating element is being moved by the user, the robot device monitors changes in the segments and joints of the operating element, and when those changes exceed a threshold, or when the orientation of the segment or joint orbit changes. At that time, the robot device can autonomously select a keyframe at that time and record information about the operating elements and / or the environment at that keyframe.

[0120] 操作要素(及び/又はロボットデバイスの他のコンポーネント(例えば、搬送要素))の動作中に、ロボットデバイスは、730において、ユーザーから信号を受信することなく、感覚情報(例えば、操作要素、ロボットデバイスの他の1つ又は複数の要素(例えば、搬送要素)、及び/又は環境に関する情報)も、連続的又は周期的に記録することができる。例えば、ユーザーが実演を通して操作要素を動かす際に、ロボットデバイスは、セグメント及び関節の軌道、並びにそれらの構成に関する情報を記録することができる。実演中に、ロボットデバイスは、1つ又は複数の環境的制約に関する情報(例えば、環境内の1つ若しくは複数の物体に関する静的情報(例えば、戸口、備品容器などの場所若しくはサイズ)及び/又は環境内の1つ若しくは複数の物体に関する動的情報(例えば、部屋内の人通りのレベル、ロボットデバイスの周りのユーザーの動きなど))も記録することができる。いくつかの実施形態では、実演中にロボットデバイスによって記録された感覚情報は、例えば図19に示されるような環境のマップの1つ又は複数の層に対して追加及び/又は変更を行うことができる。 [0120] During the operation of the operating element (and / or other component of the robot device (eg, the transport element)), the robot device at 730 does not receive a signal from the user and the sensory information (eg, the operating element). , Other elements of the robotic device (eg, transport elements), and / or information about the environment) can also be recorded continuously or periodically. For example, as the user moves the operating elements throughout the demonstration, the robot device can record information about the trajectories of segments and joints, as well as their configurations. During the demonstration, the robot device may be informed about one or more environmental constraints (eg, static information about one or more objects in the environment (eg, location or size of doorways, fixture containers, etc.) and / or. Dynamic information about one or more objects in the environment (eg, the level of traffic in the room, the movement of the user around the robot device, etc.) can also be recorded. In some embodiments, the sensory information recorded by the robotic device during the demonstration may be added and / or modified to one or more layers of the map of the environment, eg, as shown in FIG. can.

[0121] いくつかの実施形態では、ロボットデバイスは、例えばマイクロホンなどのオーディオデバイス(例えば、244)を含んでもよく、キーフレームの画定は、音声コマンドによって制御されてもよい。例えば、ユーザーは、「指導します(I will guide you)」と話すことによって、実演する予定であることをロボットデバイスに示すことができる。「ここから開始(start here)」と話すことによって、ユーザーが最初のキーフレームを示したときに、実演が始まり得る。「ここは継続(go here)」と話すことによって、中間キーフレームを示すことができる。そして、「ここで終了(end here)」と話すことによって、実演の終了を表す最後のキーフレームを示すことができる。実演教示の適切な例が、Akgunの論文に提供されている。 [0121] In some embodiments, the robotic device may include an audio device (eg, 244) such as a microphone, and keyframe demarcation may be controlled by voice commands. For example, a user can indicate to a robot device that they are planning to demonstrate by saying "I will guide you." By saying "start here", the demonstration can start when the user points to the first keyframe. You can indicate an intermediate keyframe by saying "go here". You can then indicate the last keyframe that marks the end of the demonstration by saying "end here". A good example of demonstration teaching is provided in Akgun's paper.

[0122] いくつかの実施形態では、ロボットデバイスにスキルを実演しながら、ユーザーは、例えば、ロボットデバイスへの1つ又は複数の入力により、スキルのどの1つ又は複数の部分が汎用的なものであり、スキルのどの1つ又は複数の部分が、特定の環境又は状況に対してより固有のものであるかを示すことができる。例えば、第1の場所から第2の場所(例えば、ある部屋)へと備品を移動させ、それらの備品を第2の場所に降ろすやり方をロボットデバイスに実演しながら、第1の場所から第2の場所へとナビゲートするアクションは、汎用的なものであるが、第2の場所に備品を降ろすアクションは固有のものであり、実施するためには、環境に固有の情報(例えば、備品を降ろすための具体的なタグ又はマーカー)をさらに必要とすることを、ユーザーはロボットデバイスに示すことができる。ロボットデバイスが、後に、そのスキルに関するモデルを使用して、異なる場所間で備品を移動させるときに、ロボットデバイスは、スキルを実行する前に、荷降ろしに関する特定の情報を要求すること、及び/又はその特定の情報をスキャンすること(例えば、荷降ろしを行う前に、その場所を決定するための特定のタグに関する情報を要求及び/又はスキャンすること)を知ることができる。 [0122] In some embodiments, while demonstrating a skill to a robotic device, the user has one or more inputs to the robotic device, for example, to generalize any one or more parts of the skill. And can indicate which one or more parts of the skill are more specific to a particular environment or situation. For example, moving equipment from a first place to a second place (eg, a room) and unloading those equipment to a second place on a robot device while demonstrating to a robot device a second from the first place. The action of navigating to a location is generic, while the action of unloading equipment to a second location is unique and, in order to be carried out, environment-specific information (eg, equipment). The user can indicate to the robot device that he needs more specific tags or markers to unload). When the robot device later uses the model for that skill to move equipment between different locations, the robot device requests specific information about unloading before performing the skill, and / Or you can know to scan that particular information (eg, request and / or scan information about a particular tag to determine its location before unloading).

[0123] いくつかの実施形態では、ユーザーは、ロボットデバイスにスキルを実演した後に、汎用的若しくは固有であるスキルの部分を示し、及び/又は汎用的若しくは固有であるとユーザーが以前に示したスキルの部分を変更することができる。いくつかの実施形態では、ロボットデバイスは、スキルのセットを学習した後に、スキルのセットの部分が汎用的又は固有であるかを決定することができる。いくつかの実施形態では、ロボットデバイスは、スキルのセットの部分が汎用的又は固有であることをユーザーに推薦し、ユーザーに確認を要求することができる。ユーザーの確認に基づいて、ロボットデバイスは、このスキルのセットに関連する今後のスキルの学習及び/又は実行時に参照するために、この情報を保存することができる。代替的に、ロボットデバイスは、ユーザーの入力なしに、スキルの異なる複数の部分が汎用的又は固有であると自動的に決定及び分類することができる。 [0123] In some embodiments, the user exhibits a part of the skill that is generic or unique after demonstrating the skill to the robot device, and / or the user has previously indicated that it is generic or unique. You can change the skill part. In some embodiments, the robotic device can determine whether a portion of a set of skills is generic or unique after learning the set of skills. In some embodiments, the robotic device can recommend to the user that a portion of the skill set is generic or unique and request confirmation from the user. Based on the user's confirmation, the robot device may store this information for reference during learning and / or execution of future skills associated with this set of skills. Alternatively, the robotic device can automatically determine and classify multiple parts with different skills as generic or unique without user input.

[0124] 動作又は実演が完了すると(728:YES)、ロボットデバイスは、記録された全ての感覚情報のサブセット(例えば、操作要素情報、搬送要素情報、環境情報)に基づいて、実演されたスキルのモデルを生成することができる。例えば、732において、ロボットデバイスは、任意選択的に、例えばユーザーインターフェース又は他のタイプのI/Oデバイスを用いて、スキルの学習に関連した特徴の選択をユーザーに促すことができ、734において、ロボットデバイスは、特徴の選択をユーザーから受け取ることができる。代替的又は追加的に、ロボットデバイスは、ユーザーからの以前の命令に基づいて、モデルの生成に使用すべき特定の特徴を選択することを知ることができる。例えば、ロボットデバイスは、例えば感覚情報に基づいて、物体の拾い上げが実演されていることを認識することができ、例えば同じ又は異なる物体の拾い上げに関する過去の実演に基づいて、スキルモデルを生成するための関連特徴として含むべき、感覚情報の1つ又は複数の特徴(例えば、関節の構成、関節トルク、エンドエフェクタートルク)を自動的に選択することができる。 [0124] When the motion or demonstration is complete (728: YES), the robot device is based on a subset of all recorded sensory information (eg, operational element information, transport element information, environmental information), and the demonstrated skill. Can generate a model of. For example, at 732, the robot device can optionally prompt the user to select features related to skill learning, eg, using a user interface or other type of I / O device, at 734. The robot device can receive a selection of features from the user. Alternatively or additionally, the robot device can know to select a particular feature to be used to generate the model, based on previous instructions from the user. For example, a robotic device can recognize that object pick-up is being demonstrated, for example based on sensory information, for example to generate a skill model based on past demonstrations of the same or different object pick-up. One or more features of sensory information (eg, joint configuration, joint torque, end effector torque) that should be included as related features can be automatically selected.

[0125] 736では、ロボットデバイスは、選択された特徴を用いて、スキルのモデルを生成することができる。モデルは、保存された機械学習ライブラリー又はアルゴリズム(例えば、機械学習ライブラリー342)を用いて生成されてもよい。いくつかの実施形態では、モデルは、例えば、いくつかの隠れ状態、特徴空間(例えば、特徴ベクトルに含まれる特徴)、及びガウス分布としてモデル化された各状態に関する放出分布などの複数のパラメーターを含むHMMアルゴリズムとして表されてもよい。いくつかの実施形態では、モデルは、例えば、カーネルタイプ(例えば、線形、放射状、多項式、S字状)、費用パラメーター又は費用関数、重み(例えば、均等、クラス平衡)、損失タイプ又は損失関数(例えば、ヒンジ、方形ヒンジ)、及び解答タイプ又は問題タイプ(例えば、二重、プライマル)などのパラメーターを含み得る、サポート・ベクター・マシン、すなわち「SVM」モデルとして表されてもよい。モデルは、関連する感覚情報、及び/又はスキルの実演中にロボットデバイスによって記録された他の感覚情報に関連付けられてもよい。モデルは、スキルの実演中に操作されたマーカーのセットを示すマーカー情報、及び/又はそれらのマーカーに結び付けられた1つ若しくは複数の物理的物体に関連付けられた特徴にも関連付けることができる。ロボットデバイスは、738において、モデルをメモリー(例えば、ストレージ230又は330)に保存することができる。 [0125] At 736, the robot device can generate a model of the skill with the selected features. The model may be generated using a stored machine learning library or algorithm (eg, machine learning library 342). In some embodiments, the model has multiple parameters such as, for example, some hidden states, a feature space (eg, features contained in the feature vector), and an emission distribution for each state modeled as a Gaussian distribution. It may be expressed as an HMM algorithm including. In some embodiments, the model is, for example, a kernel type (eg, linear, radial, polynomial, S-shaped), cost parameter or cost function, weight (eg, equality, class equilibrium), loss type or loss function (eg, equality, class equilibrium). It may be represented as a support vector machine, i.e., an "SVM" model, which may include parameters such as, for example, a hinge, a square hinge), and an answer type or question type (eg, double, primal). The model may be associated with relevant sensory information and / or other sensory information recorded by the robotic device during the demonstration of the skill. The model can also be associated with marker information indicating a set of markers manipulated during the demonstration of the skill and / or features associated with one or more physical objects associated with those markers. At 738, the robot device can store the model in memory (eg, storage 230 or 330).

[0126] いくつかの実施形態では、実演に関連する情報(例えば、感覚情報、モデルなど)を用いて、例えば図19に示される表現1600などの、環境のマップ又は表現の層に追加及び/又は変更を行うことができる。例えば、図21は示す [0126] In some embodiments, demonstration-related information (eg, sensory information, models, etc.) is used to add and / or add to a map or layer of representation of the environment, such as representation 1600 shown in FIG. Or you can make changes. For example, FIG. 21 shows

[0127] 任意選択的に、740において、ロボットデバイスは、ユーザーが、スキルの別の実演を行うか否かを決定することができる。別の実演が行われる場合には(740:YES)、方法700は、720に戻り、そこで、ユーザー(又は他のロボットデバイス)は、ロボットデバイスに追加の実演を指導することができる。実演が完了した場合には(740:NO)、方法700は、任意選択的に、最初に戻り、環境の新規のスキャンを行うことができる。或いは、いくつかの実施形態では、方法700は、終了してもよい。 [0127] Optionally, at 740, the robot device can determine whether the user will perform another demonstration of the skill. If another demonstration takes place (740: YES), method 700 returns to 720, where the user (or other robot device) can instruct the robot device for additional demonstrations. When the demonstration is complete (740: NO), Method 700 can optionally return to the beginning and perform a new scan of the environment. Alternatively, in some embodiments, method 700 may be terminated.

[0128] 別の実施形態では、スキルは、2つの場所間のナビゲーション、又は環境内の物体の周り、及び/又は環境内の物体の中を通るナビゲーションなどのナビゲーション挙動でもよい。本明細書に記載されるような、操作要素を用いたスキルの学習に類似して、720において、ユーザー(又は他のロボットデバイス)は、搬送要素(例えば、1つ又は複数の搬送要素260、460)のセットを含むロボットデバイスにナビゲーション挙動を指導することができる。例えば、ユーザーは、ジョイスティック又は他の制御デバイスを使用して、搬送要素のセット(及び/又はロボットデバイスの他のコンポーネント(例えば、操作要素))の動きを制御し、及び/又はロボットデバイスがナビゲーション挙動を行うことができるように、そのような要素を物理的に指導する(例えば、ロボットデバイスを押す又は引き寄せる)ことができる。搬送要素のセット(及び/又はロボットデバイスの他のコンポーネント)の動きを制御しながら、ユーザーは、搬送要素のセットの状態(例えば、各搬送要素の角度、各搬送要素の構成、もし互いに対して移動可能であれば、搬送要素間の間隔など)、ロボットデバイスの他のコンポーネント、及び/又は環境(例えば、マップ内のロボットデバイスの場所、環境内の物体の場所及び/又は境界線)に関する情報などの感覚情報を捕捉すべき時についてロボットデバイスに信号を送ることができる。ユーザーは、搬送要素のセット(及び/又はロボットデバイスの他のコンポーネント)の移動中のキーフレームで、例えば、開始時、終了時、及び/又は第1の方向に搬送要素のセットを移動させることと、第2の方向に搬送要素のセットを移動させることとの間の転移点で、ロボットデバイスに信号を送ることができる。722でユーザーから信号を受信したことに応答して、ロボットデバイスは、移動のスナップショット(搬送要素のセット、ロボットデバイスの他のコンポーネント、及び/又は環境に関する情報を含む)をキーフレームで捕捉することができる。代替的又は追加的に、ロボットデバイスは、移動のスナップショットを捕捉すべき、搬送要素のセット(及び/又はロボットデバイスの他のコンポーネント)の移動中の時点を自律的に選択するように構成されてもよい。例えば、ロボットデバイスは、(例えば、ユーザーがロボットデバイスの制御を引き継いだとき(例えば、制御デバイスを訴えるロボットデバイスを制御することによって、又はロボットデバイスを押すことによって)などに)搬送要素のセットの角度及び/又は構成をモニタリングすることができ、ロボットデバイスが、角度及び/又は構成の変化を検出するたびに、その情報のスナップショットを自動的に捕捉することができる。いくつかの実施形態では、ロボットデバイスは、ユーザーが、ロボットデバイスの移動を制御している間、搬送要素のセット、ロボットデバイスの他のコンポーネント、及び/又は環境に関する情報を連続的に収集するように構成されてもよい。 [0128] In another embodiment, the skill may be a navigation behavior such as navigation between two locations, or navigation around and / or through an object in the environment. Similar to learning skills using operational elements, as described herein, at 720, the user (or other robotic device) has a transport element (eg, one or more transport elements 260, Navigation behavior can be taught to robotic devices including the set of 460). For example, the user uses a joystick or other control device to control the movement of a set of transport elements (and / or other components of the robot device (eg, operating elements)) and / or the robot device navigates. Such elements can be physically guided (eg, pushing or pulling a robotic device) so that they can behave. While controlling the movement of the set of transport elements (and / or other components of the robotic device), the user can use the state of the set of transport elements (eg, the angle of each transport element, the configuration of each transport element, if to each other. Information about the robot device's other components, and / or the environment (eg, the location of the robot device in the map, the location of objects in the environment, and / or boundaries), if movable, such as the spacing between transport elements. It is possible to send a signal to the robot device when it is necessary to capture sensory information such as. The user moves the set of transport elements at the moving keyframe of the set of transport elements (and / or other components of the robot device), eg, at the start, at the end, and / or in the first direction. A signal can be sent to the robot device at the transition point between moving a set of transport elements in a second direction. In response to receiving a signal from the user at 722, the robot device keyframes a snapshot of the movement, including a set of transport elements, other components of the robot device, and / or information about the environment. be able to. Alternatively or additionally, the robotic device is configured to autonomously select a moving point in time for a set of transport elements (and / or other components of the robotic device) to capture a snapshot of the movement. You may. For example, a robot device is a set of transport elements (eg, when the user takes control of the robot device (eg, by controlling the robot device that sue the control device, or by pushing the robot device)). The angle and / or configuration can be monitored and the robot device can automatically take a snapshot of that information each time it detects a change in angle and / or configuration. In some embodiments, the robotic device is such that the user continuously collects information about a set of transport elements, other components of the robotic device, and / or the environment while controlling the movement of the robotic device. It may be configured in.

[0129] 本明細書に記載されるような、操作要素を用いたスキルの学習に類似して、ロボットデバイスは、動作が完了する(728:YES)まで、搬送要素(及び/又はロボットデバイスの他のコンポーネント)の動作に関連する感覚情報の捕捉を継続することができる。ロボットデバイスは、732〜734で、任意選択的に、ナビゲーション挙動の学習に関連する特徴の選択を受け取り、及び/又は収集された感覚情報中の関連特徴を自律的に識別する(例えば、ある特定のナビゲーションスキルが実演されていることを認識し、そのスキルの学習に関連する上記特徴を識別することによって)ことができる。次に、ロボットデバイスは、736において、関連特徴に関連する感覚情報に基づいて、ナビゲーション挙動に関するモデルを生成することができ、738において、実行するロボットデバイスの軌道を生成するために後で使用することができるように、そのモデル及び感覚情報を保存することができる。 [0129] Similar to learning skills using operating elements as described herein, the robotic device is of the transport element (and / or robotic device) until the movement is complete (728: YES). It is possible to continue to capture sensory information related to the movement of other components). The robotic device, at 732-734, optionally receives a selection of features related to learning navigation behavior and / or autonomously identifies the relevant features in the collected sensory information (eg, certain identification). By recognizing that the navigation skill of is being demonstrated and identifying the above features associated with learning that skill). The robot device can then generate a model for navigation behavior at 736 based on sensory information related to the relevant features and will be used later at 738 to generate the trajectory of the robot device to perform. The model and sensory information can be stored so that it can be done.

[0130] ナビゲーション挙動の一例は、戸口を通ってナビゲートすることである。ロボットデバイスは、建物内の標準戸口を通ってナビゲートするように構成されることが可能であるが、ロボットデバイスは、非標準戸口(例えば、小さい戸口又は異形の戸口)を通ってナビゲートすることができないことがある。したがって、ロボットデバイスは、どのようにロボットデバイスが、安全に戸口を通ってナビゲートすることができるかをロボットデバイスに実演するようにユーザーに促してもよい。ロボットデバイスは、戸口の一方の側へとナビゲートし、その後、ユーザーに、他方の側へと戸口を通過するやり方をロボットデバイスに対して実演させることができる。実演中に、ロボットデバイスは、マップ内のロボットデバイスの場所、及び/又はセンサーデータ(例えば、ドアの境界線、搬送要素及び/又は操作要素の構成、並びに本明細書に記載されるような他の感覚情報)などの情報を受動的に記録することができる。いくつかの実施形態では、ロボットデバイスは、図16を参照して本明細書でさらに述べられるように、インタラクティブ学習テンプレートを用いて、戸口を通ってナビゲートするやり方を学習することができる。 [0130] An example of navigation behavior is navigating through a doorway. Robotic devices can be configured to navigate through standard doorways in a building, while robotic devices navigate through non-standard doorways (eg, small doorways or odd-shaped doorways). Sometimes you can't. Therefore, the robot device may encourage the user to demonstrate to the robot device how the robot device can safely navigate through the doorway. The robot device can navigate to one side of the doorway and then let the user demonstrate to the robot device how to pass through the doorway to the other side. During the demonstration, the robot device may include the location of the robot device in the map and / or sensor data (eg, door boundaries, transport and / or operation element configurations, and others as described herein. Information such as (sensory information) can be passively recorded. In some embodiments, the robotic device can learn how to navigate through the doorway using an interactive learning template, as described further herein with reference to FIG.

[0131] いくつかの実施形態では、ユーザーは、ロボットデバイスの近くの現場にいてもよい。他の実施形態では、ユーザーは、遠隔地に位置してもよく、(例えば、図1に示され、上記に記載したような)ロボットデバイスに対するネットワーク接続により、計算デバイス(例えば、サーバー120、計算デバイス150)から、ロボットデバイスを制御してもよい。 [0131] In some embodiments, the user may be in the field near the robot device. In other embodiments, the user may be located in a remote location and by network connection to a robotic device (eg, as shown in FIG. 1 and described above), a computing device (eg, server 120, compute). The robot device may be controlled from the device 150).

[0132] 本明細書に記載されるような、いくつかの実施形態では、ロボットデバイスは、環境内の変化をモニタリングするために、その周辺環境を能動的にスキャンすることができる。したがって、学習及び/又は実行中に、ロボットデバイスは、環境の継続的なセンシング又はスキャニングに従事し、それに応じて、環境の表現及びそのロボットデバイスが保存した環境情報を更新することができる。 [0132] In some embodiments, as described herein, the robotic device can actively scan its surrounding environment to monitor changes in the environment. Thus, during learning and / or execution, the robotic device can engage in continuous sensing or scanning of the environment and accordingly update the representation of the environment and the environmental information stored by the robotic device.

[0133] いくつかの実施形態では、ロボットデバイスは、社会的に適切な挙動、すなわち、人間とのインタラクションを考慮したアクションを学習するように構成することができる。例えば、ロボットデバイスは、人間の周りで行われる操作スキル又はナビゲーションスキルを学習するように構成することができる。ロボットデバイスは、人間のオペレーター(例えば、近くのユーザー、又は遠隔に位置するロボットの監督者)による実演によって、社会的に適切な挙動を学習することができる。いくつかの実施形態では、ロボットデバイスは、インタラクティブな状況で(例えば、人間のオペレーターが、ロボットデバイスによるスキルの自律実行に介入し、スキルを実行するやり方をロボットデバイスに実演することによって)、挙動を学習するように構成されてもよい。ロボットデバイスは、人間のオペレーターによる介入(例えば、看護師がロボットデバイスを片側に押しやること)を検出すると、ロボットデバイスが人間のオペレーターによって制御され、実演に関連する情報及び実演が行われる知覚コンテキストを受動的に記録する学習モードへと切り替えるように構成されてもよい。ロボットデバイスは、この情報を用いて、スキルの修正モデルを生成し、ロボットデバイスがそのスキルを後で実行すべき適切な社会的コンテキストにそのモデルを関連付けることができる。一例として、ロボットデバイスは、人間のオペレーターがナビゲーション計画の自律実行に介入したことを検出することができ、介入の検出に応答して、人間のオペレーターによって制御される学習モデルへと切り替えることができる。人間がいるところでは、どのようにナビゲーション計画が修正されるべきであるかを(例えば、通路が空くのを待つ代わりに、ロボットデバイスが人間を通すように通路の脇に寄るべきであることを)人間のオペレーターが実演するときに、ロボットデバイスは、その周辺環境及びそのロボットデバイス自体の動作に関する情報を記録することができる。インタラクティブ学習に関するさらなる詳細は、図16を参照して、本明細書に記載される。 [0133] In some embodiments, the robotic device can be configured to learn socially appropriate behaviors, i.e., actions that take into account human interaction. For example, a robot device can be configured to learn operational or navigation skills that occur around humans. Robotic devices can learn socially appropriate behavior through demonstrations by human operators (eg, nearby users or remote robot supervisors). In some embodiments, the robot device behaves in an interactive context (eg, by demonstrating to the robot device how a human operator intervenes in the autonomous execution of a skill by the robot device and performs the skill). May be configured to learn. When the robot device detects intervention by a human operator (eg, a nurse pushing the robot device to one side), the robot device is controlled by the human operator to provide information related to the demonstration and the perceptual context in which the demonstration is performed. It may be configured to switch to a learning mode of passive recording. The robot device can use this information to generate a modified model of the skill and associate the model with the appropriate social context in which the robot device should perform the skill later. As an example, a robotic device can detect that a human operator has intervened in the autonomous execution of a navigation plan and can switch to a learning model controlled by the human operator in response to the detection of the intervention. .. Where humans are, how the navigation plan should be modified (for example, instead of waiting for the aisle to open, the robot device should be by the side of the aisle to allow humans to pass through). ) When demonstrated by a human operator, the robot device can record information about its surroundings and the behavior of the robot device itself. Further details regarding interactive learning are described herein with reference to FIG.

[0134] 図11に示される実行モードでは、ロボットデバイスは、任意選択的に、750において、例えば、ユーザーインターフェース又は他のタイプのI/Oデバイスを用いて、学習モードでロボットデバイスによって以前に生成されたモデルなどのモデルを選択するようにユーザーに促すことができる。ロボットデバイスは、752において、モデルの選択を受け取ることができる。いくつかの実施形態では、ロボットデバイスは、ユーザーからモデルの選択を受け取ることができ、又は代替的に、ロボットデバイスは、特定のルール及び/又は条件に基づいて、モデルを自動的に選択することができる。例えば、ロボットデバイスは、それが建物のある特定のエリアにいるときに(例えば、それがある特定の部屋又は階にいるときに)、特定の時間又は曜日中などにモデルを選択するようにプログラムされてもよい。代替的又は追加的に、ロボットデバイスは、選択されたマーカーのセットに基づいて、ある特定のモデルを選択することを知ることができる。754では、ロボットデバイスは、軌道を生成し、選択されたマーカーに対してスキルを実行する前に、選択されたマーカーの近くに移動するか否かを決定することができる。例えば、ロボットデバイスは、選択されたマーカーのセット及び選択されたモデルに基づいて、スキルを実行するためにより望ましい場所に配置されるように(例えば、マーカーに対してより近く、又はより近接するように、ある特定の角度からマーカーに面するように)ロボットデバイスが移動すべきか否かを決定することができる。ロボットデバイスは、スキルの実演中に記録された感覚情報に基づいて、この決定を下してもよい。例えば、ロボットデバイスは、スキルを実演されたときに、ロボットデバイスがマーカーのより近くに配置されたことを認識し、それに応じて、その位置を調整することができる。 [0134] In the execution mode shown in FIG. 11, the robotic device is optionally previously generated by the robotic device in learning mode at 750, eg, using a user interface or other type of I / O device. You can encourage the user to select a model, such as a model that has been created. The robot device can receive a selection of models at 752. In some embodiments, the robot device can receive a model selection from the user, or, instead, the robot device automatically selects a model based on specific rules and / or conditions. Can be done. For example, a robot device is programmed to select a model at a particular time or during the day of the week when it is in a particular area of a building (eg, when it is in a particular room or floor). May be done. Alternatively or additionally, the robotic device may know to select a particular model based on the selected set of markers. At 754, the robot device can generate a trajectory and determine whether to move closer to the selected marker before performing the skill on the selected marker. For example, the robot device should be placed in a more desirable location (eg, closer or closer to the marker) to perform the skill based on the selected set of markers and the selected model. In addition, it is possible to determine whether the robot device should move (so that it faces the marker from a particular angle). The robot device may make this decision based on the sensory information recorded during the demonstration of the skill. For example, the robot device may recognize that the robot device has been placed closer to the marker when demonstrating the skill and may adjust its position accordingly.

[0135] ロボットデバイスが、選択されたマーカーに対して移動することを決定すると(754:YES)、ロボットデバイスは、756において、その位置を移動する(例えば、その場所及び/又は向きを調整する)ことができ、方法700は、702に戻ることができ、そこでロボットデバイスは、環境の表現を取得するために環境を再びスキャンする。方法700は、様々なステップを進んで754に戻ることができる。ロボットデバイスが、選択されたマーカーに対して移動しないことを決定すると(754:NO)、ロボットデバイスは、例えばロボットデバイスの操作要素に関するアクションの軌道を生成することができる。 [0135] If the robot device decides to move relative to the selected marker (754: YES), the robot device moves its position (eg, adjusts its location and / or orientation) at 756. ), Method 700 can return to 702, where the robotic device scans the environment again to obtain a representation of the environment. Method 700 can go through various steps back to 754. If the robot device decides not to move relative to the selected marker (754: NO), the robot device can generate, for example, an action trajectory for the operating element of the robot device.

[0136] 具体的には、758において、ロボットデバイスは、選択されたマーカーのセットと、本明細書において「保存されたマーカー」又は「保存されたマーカーのセット」と呼ばれる、選択されたモデルに関連付けられたマーカーのセット(例えば、ロボットデバイスがスキルを学習したとき、すなわち、選択されたモデルを生成したときに選択された1つ又は複数のマーカー)との間の変換(例えば、平行移動)を行う関数を計算することができる。例えば、ロボットデバイスは、例えばエンドエフェクターなどのロボットデバイスの一部に対して、1つ若しくは複数の特定の場所及び/又は1つ若しくは複数の向きに存在した第1のマーカーのセットを用いて、スキルを教示されることが可能であり、後に、ロボットデバイスは、操作要素に対して、1つ若しくは複数の異なる場所及び/又は1つ若しくは複数の異なる向きに存在する第2のマーカーのセットを用いて、そのスキルを実行することができる。このような場合、ロボットデバイスは、第1のマーカーのセットの1つ若しくは複数の位置及び/又は1つ若しくは複数の向きと、第2のマーカーのセットの1つ若しくは複数の位置及び/又は1つ若しくは複数の向きとの間の変換を行う変換関数を計算することができる。 [0136] Specifically, in 758, the robotic device has a selected set of markers and a selected model referred to herein as a "conserved marker" or a "conserved marker set". Transformation (eg, translation) with the associated set of markers (eg, one or more markers selected when the robot device learned the skill, i.e., generated the selected model). You can calculate the function that does. For example, a robotic device may use a set of first markers that are present at one or more specific locations and / or one or more orientations for a portion of the robotic device, such as an end effector. The skill can be taught, and later the robotic device will attach a set of second markers to the operating element that are present in one or more different locations and / or in one or more different orientations. You can use it to perform that skill. In such a case, the robot device may have one or more positions and / or one or more orientations of the first set of markers and one or more positions and / or 1 of the second set of markers. It is possible to calculate a conversion function that performs a conversion between one or more orientations.

[0137] 760では、ロボットデバイスは、スキルが教示されたときに記録された各キーフレームにおいて、計算された変換関数を使用して、操作要素の一部(例えば、操作要素のエンドエフェクター)の位置及び向きを変換することができる。任意選択的に、762において、ロボットデバイスは、あらゆる環境的制約、例えば、サイズ、構成、及び/又は場所などの、環境内の物体及び/又はエリアの特徴を考慮に入れることができる。ロボットデバイスは、環境的制約に基づいて、操作要素の動作を制限することができる。例えば、ロボットデバイスは、それが備品室でスキルを実行しようとしていることを認識すると、ロボットデバイスは、操作要素の一部が備品収納庫内で壁又は他の物理的構造と接触することを回避するために、操作要素の位置及び向きを変換するときに、備品室のサイズを考慮に入れることができる。ロボットデバイスは、例えば、備品室内の容器のサイズ、備品室内の棚の場所などの、備品室に関連する他の環境的制約も考慮に入れることができる。ロボットデバイスは、図17を参照して本明細書にさらに記載されるように、1つ又は複数の環境的制約を有する状況におけるスキルの実行に先立って、1つ若しくは複数の環境的制約に関する情報が与えられること、及び/又は1つ若しくは複数の環境的制約が教示されることが可能である。 [0137] In 760, the robot device uses a calculated transformation function at each keyframe recorded when the skill is taught to use some of the operating elements (eg, the operating element's end effector). The position and orientation can be converted. Optionally, at 762, the robotic device can take into account any environmental constraints, such as the characteristics of objects and / or areas within the environment, such as size, configuration, and / or location. Robotic devices can limit the movement of operating elements based on environmental constraints. For example, when the robot device recognizes that it is trying to perform a skill in the equipment room, the robot device avoids some of the operating elements coming into contact with walls or other physical structures within the equipment storage. Therefore, the size of the equipment room can be taken into account when converting the position and orientation of the operating elements. The robotic device can also take into account other environmental constraints associated with the equipment room, such as the size of the container in the equipment room, the location of the shelves in the equipment room, and so on. The robotic device is information about one or more environmental constraints prior to performing the skill in situations with one or more environmental constraints, as further described herein with reference to FIG. Is given and / or one or more environmental constraints can be taught.

[0138] 任意選択的に、762において、ロボットデバイスは、逆運動学方程式又はアルゴリズムを使用して、762において、キーフレームごとに操作要素の関節の構成を決定することができる。エンドエフェクター及びマーカーのセットの位置及び向きは、タスク空間(例えば、ロボットデバイスが動作しているデカルト空間)で提供されてもよく、関節の向きは、関節又は構成空間(例えば、ロボットデバイスが点で表され、nが操作要素の自由度の数である、操作要素の構成に関連付けられたn次元空間)で提供され得る。いくつかの実施形態では、逆運動学計算は、ロボットデバイスがスキルを教示されたときに記録された関節構成情報(例えば、操作要素を用いた教示実演中に記録された関節の構成)によって誘導され得る。例えば、逆運動学計算は、各キーフレームで記録された関節構成を用いて、シード値が与えられること(例えば、計算の最初の推測が与えられること、又はバイアスが与えられること)が可能である。例えば、計算された関節構成が、隣接するキーフレームの関節構成から、あらかじめ規定された量を超えて逸脱しないことを必要とするなどの追加の条件も、逆運動学計算に課され得る。764では、ロボットデバイスは、操作要素がスキルを実行するための完全な軌道を生成するために、例えば関節空間において、あるキーフレームから次のキーフレームへの関節構成間の軌道を計画することができる。任意選択的に、ロボットデバイスは、本明細書で述べられるような環境的制約を考慮に入れることができる。 [0138] Optionally, at 762, the robotic device can use inverse kinematic equations or algorithms to determine, at 762, the composition of the joints of the operating element on a keyframe-by-keyframe basis. The position and orientation of the set of end effectors and markers may be provided in the task space (eg, the Cartesian space in which the robot device is operating) and the orientation of the joints may be in the joint or constitutive space (eg, the robot device is the point). It can be provided in n-dimensional space associated with the configuration of the operating element, where n is the number of degrees of freedom of the operating element. In some embodiments, the inverse kinematics calculation is guided by joint composition information recorded when the robot device is taught the skill (eg, joint composition recorded during a teaching demonstration using operating elements). Can be done. For example, inverse kinematics calculations can be given seed values (eg, given the first guess of the calculation, or biased) using the joint composition recorded at each key frame. be. Additional conditions may also be imposed on the inverse kinematics calculation, for example, requiring that the calculated joint configuration do not deviate from the joint configuration of the adjacent key frame by more than a predetermined amount. In 764, the robotic device may plan a trajectory between joint configurations from one key frame to the next, for example in joint space, in order for the operating element to generate a complete trajectory to perform the skill. can. Optionally, the robotic device can take into account the environmental constraints as described herein.

[0139] いくつかの実施形態では、ロボットデバイスが、操作要素(例えば、エンドエフェクター)の一部の位置及び向きを変換した後に、ロボットデバイスは、タスク空間における操作要素の軌道を計画することができる。このような実施形態では、方法700は、760から直接764へと進むことができる。 [0139] In some embodiments, the robot device may plan the trajectory of the operating element in task space after the robot device has transformed the position and orientation of some of the operating elements (eg, end effectors). can. In such an embodiment, method 700 can proceed directly from 760 to 764.

[0140] 766及び768では、ロボットデバイスは、任意選択的に、ユーザーに軌道を提示し、例えば、ユーザーインターフェース又は他のI/Oデバイスを用いて、軌道の承認又は拒否をユーザーに促すことができる。代替的に、ロボットデバイスは、内部ルール及び/又は条件に基づいて、並びに関連の感覚情報を分析することによって、軌道を承認又は拒否してもよい。軌道が拒否された場合(768:NO)、ロボットデバイスは、任意選択的に、770において、選択されたモデルの1つ又は複数のパラメーターを修正することができ、758〜764において、第2の軌道を生成することができる。モデルのパラメーターは、例えば、モデル生成に含める異なる特徴(例えば、異なる感覚情報)を選択することによって修正することができる。モデルがHMMモデルである、いくつかの実施形態では、ロボットデバイスは、決定された成功又は失敗に基づいて、モデルのパラメーターを変更することができ、ここでは、ロボットデバイスは、異なるパラメーターを有する異なるモデルの対数尤度を追跡し、他のモデルよりも高い対数尤度を有するモデルを選択する。モデルがSVMモデルである、いくつかの実施形態では、ロボットデバイスは、本明細書に記載されるように、特徴空間又は構成パラメーター(例えば、カーネルタイプ、費用パラメーター又は費用関数、重み)を変更することによって、パラメーターを変更することができる。 [0140] In 766 and 768, the robotic device may optionally present the trajectory to the user and prompt the user to approve or reject the trajectory, for example using a user interface or other I / O device. can. Alternatively, the robotic device may approve or reject the trajectory based on internal rules and / or conditions and by analyzing relevant sensory information. If the orbit is rejected (768: NO), the robot device can optionally modify one or more parameters of the selected model at 770 and a second at 758-764. Orbits can be generated. The parameters of the model can be modified, for example, by selecting different features (eg, different sensory information) to include in the model generation. In some embodiments where the model is an HMM model, the robot device can change the parameters of the model based on the determined success or failure, where the robot device is different with different parameters. Track the log-likelihood of the model and select the model with the higher log-likelihood than the other models. In some embodiments where the model is an SVM model, the robotic device modifies feature space or configuration parameters (eg, kernel type, cost parameter or cost function, weights) as described herein. By doing so, the parameters can be changed.

[0141] 軌道が承認された場合には(768:YES)、ロボットデバイスは、772において、生成された軌道を実行するために操作要素を動かすことができる。操作要素が計画された軌道を実行している間、ロボットデバイスは、774において、例えば、操作要素及びロボットデバイスの他のコンポーネント上の1つ又は複数のセンサーを用いて、例えば操作要素及び/又は環境に関する情報などの感覚情報の記録及び/又は保存を行うことができる。 [0141] If the orbit is approved (768: YES), the robotic device can move the operating element at 772 to perform the generated orbit. While the operating element is performing the planned trajectory, the robot device at 774, eg, using one or more sensors on the operating element and other components of the robot device, eg, the operating element and / or Sensory information such as environmental information can be recorded and / or stored.

[0142] 任意選択的に、774において、ロボットデバイスは、スキルの実行が成功したか否か(例えば、物体とのインタラクションが、あらかじめ規定された成功基準を満たすか否か)を決定することができる。例えば、ロボットデバイスは、環境をスキャンし、例えば、1つ若しくは複数の物体の場所、及び/又は操作要素若しくはロボットデバイスの別のコンポーネントに対する、それらの物体の位置若しくは向きを含む、環境及びロボットデバイスの現在の状態を決定し、その現在の状態が、あらかじめ規定された成功基準と合致するか否かを決定することができる。あらかじめ規定された成功基準及び/又は学習された成功基準は、ユーザーによって提供されてもよく、又はいくつかの実施形態では、異なるロボットデバイス及び/又は計算デバイスによって提供されてもよい。あらかじめ規定された成功基準及び/又は学習された成功基準は、成功に関連する環境及び/又はロボットデバイスの異なる特徴に関する情報を示してもよい。いくつかの実施形態では、ユーザーは、実行が成功したことをロボットデバイスに示す入力も提供することができる。 [0142] Optionally, at 774, the robot device may determine whether the skill execution was successful (eg, whether the interaction with the object meets pre-defined success criteria). can. For example, a robotic device scans the environment and includes, for example, the location of one or more objects and / or the position or orientation of those objects with respect to an operating element or another component of the robotic device. It is possible to determine the current state of the robot and whether or not the current state meets pre-defined success criteria. Predefined success criteria and / or learned success criteria may be provided by the user, or in some embodiments, by different robotic devices and / or computational devices. Predefined success criteria and / or learned success criteria may indicate information about different characteristics of the environment and / or robotic device associated with success. In some embodiments, the user can also provide an input to indicate to the robot device that the execution was successful.

[0143] ある特定の場所で物体を把持し、及び物体を拾い上げることであるとスキルが規定される、ある特定の例では、スキルの成功は、物体に関連付けられた1つ又は複数のマーカーが、互いに対して、及び/又はロボットデバイスに対して特定の関係にあることを検出すること、又はエンドエフェクター若しくは操作要素の関節(例えば、手首関節)によって十分な力若しくはトルクが経験されている(若しくは経験された)こと(これは、操作要素が物体の重さを支えており、したがって物体を拾い上げたことを意味する)を検出することとして教示及び/又は規定され得る。実行が成功しなかった場合(776:NO)、ロボットデバイスは、任意選択的に、770において、モデルのパラメーターを修正し、及び/又は758〜764において、新しい軌道を生成してもよい。実行が成功した場合(776:YES)、成功したインタラクションに関連するデータ(例えば、実行が成功したこと、及びどのようにそれが成功したかを示すデータ)が記録されてもよく、方法700は、任意選択的に、最初に戻り、環境の新規のスキャンを行い得る。或いは、いくつかの実施形態では、方法700は、終了してもよい。 [0143] In certain cases where the skill is defined as grasping and picking up an object at a particular location, the success of the skill is one or more markers associated with the object. Sufficient force or torque has been experienced by the joints of the end effectors or operating elements (eg, wrist joints), detecting that they have a specific relationship to each other and / or to the robotic device (eg, wrist joints). Or experienced) (which means that the operating element supports the weight of the object and thus picks it up) can be taught and / or specified as detecting. If the execution is unsuccessful (776: NO), the robotic device may optionally modify the parameters of the model at 770 and / or generate a new trajectory at 758-764. If the execution was successful (776: YES), data related to the successful interaction (eg, data indicating that the execution was successful and how it was successful) may be recorded, method 700. You can optionally go back to the beginning and do a new scan of your environment. Alternatively, in some embodiments, method 700 may be terminated.

[0144] いくつかの実施形態では、ロボットデバイスは、操作要素、搬送要素、及び/又はロボットデバイスの別のコンポーネント(例えば、頭部、目、センサーなど)の1つ又は複数の動作に関与するスキルを実行するように構成される。ロボットデバイスは、操作要素に関して上記に記載したことに類似して、スキルの軌道を計画するように構成され得る。例えば、750〜752において、ロボットデバイスは、スキルのモデルのユーザー選択を促し、それを受け取ることができ、又は或いは、スキルのモデルを自律的に選択することができる。758では、ロボットデバイスは、環境内で現在識別されているマーカーのセットと、選択されたモデルに関連付けられた、保存されたマーカーのセット(例えば、ロボットデバイスがスキルを学習したときに識別され、スキルのモデルと共に保存された1つ又は複数のマーカー)との間の変換を行う関数を計算することができる。このような変換は、搬送要素又はロボットデバイスの他のコンポーネントに関連付けられたキーフレームの変換を含み得る。760では、ロボットデバイスは、計算された関数を使用して、各キーフレームで、ロボットデバイスの1つ又は複数のコンポーネントの構成を変換することができる。764では、ロボットデバイスは、各変換されたキーフレーム間のロボットデバイスの1つ又は複数のコンポーネントの軌道を計画することができる。キーフレームの変換及び/又は軌道の計画を行う間、ロボットデバイスは、任意選択的に、スキルが実行されている状況に関連するいずれかの環境的制約を考慮に入れることができる。772では、ロボットデバイスは、計画された軌道に従って、ロボットデバイスの1つ又は複数のコンポーネントの動作を実施することができる。いくつかの実施形態では、ロボットデバイスは、762において、関節構成を決定し、766において、計画された軌道をユーザーに提示し、及び/又は図11に示されるような他のオプションのステップを行ってもよい。搬送要素の動作に関与するスキルの一例は、ドアを開けることの場合がある。ユーザー(例えば、近くのユーザー、又は遠隔に位置するロボットの監督者)は、ロボットの基部を用いて(例えば、ドアを押し開くことによって)、ドアを開けることをロボットデバイスに指導することができる。ユーザーは、例えば、ジョイスティックなどの制御デバイスを使用して、又は基部を用いてドアを開けるアクションをロボットデバイスに物理的に指導すること(例えば、ロボットデバイスを押す、又は引き寄せること)によって、ロボットデバイスを指導することができる。ロボットデバイスは、ユーザーが動作を指導している間、情報の検知及び記録を行い、その情報を使用してスキルモデルを生成することができる。ロボットデバイスは、後に、そのスキルモデルを使用して、例えば、ユーザーのスキルの実演中の搬送要素に関連付けられたキーフレームを変換することによって、そのドア又は環境内の他のドアを開けるアクションを実行することができる。 [0144] In some embodiments, the robotic device is involved in one or more movements of an operating element, a transport element, and / or another component of the robotic device (eg, head, eyes, sensors, etc.). Configured to perform the skill. The robotic device may be configured to plan the trajectory of the skill, similar to those described above with respect to the operating elements. For example, at 750 to 752, the robot device can prompt and receive user selection of the skill model, or can autonomously select the skill model. In 758, the robot device is identified with a set of markers currently identified in the environment and a set of saved markers associated with the selected model (eg, when the robot device learns a skill). It is possible to calculate a function that makes a conversion to one or more markers stored with the skill's model). Such transformations may include keyframe transformations associated with transport elements or other components of the robotic device. At 760, the robot device can use the calculated function to transform the configuration of one or more components of the robot device at each key frame. At 764, the robotic device can plan the trajectory of one or more components of the robotic device between each transformed keyframe. While performing keyframe conversion and / or orbit planning, the robotic device can optionally take into account any environmental constraints associated with the situation in which the skill is being performed. At 772, the robotic device can perform the operation of one or more components of the robotic device according to the planned trajectory. In some embodiments, the robotic device determines the joint configuration at 762, presents the planned trajectory to the user at 766, and / or performs other optional steps as shown in FIG. You may. An example of a skill involved in the movement of a transport element may be opening a door. A user (eg, a nearby user or a remotely located robot supervisor) can use the base of the robot (eg, by pushing open the door) to instruct the robot device to open the door. .. The user, for example, by using a control device such as a joystick or by physically instructing the robot device in the action of opening the door using the base (eg, pushing or pulling the robot device). Can be instructed. The robot device can detect and record information and use that information to generate a skill model while the user is instructing the movement. The robot device later uses its skill model to perform actions to open that door or other door in the environment, for example by transforming the keyframes associated with the transport element during the demonstration of the user's skill. Can be executed.

[0145] 図12は、いくつかの実施形態による、ユーザーによって行われるアクションを含む、ロボット学習及び実行のためのシステムアーキテクチャを示すブロック図である。システム800は、ロボット学習及び実行のために構成することができる。システム800は、本明細書に記載されるロボットデバイスのいずれかのロボットデバイスなどの、1つ又は複数のロボットデバイスを含んでもよく、アクティブセンシング822、マーカー識別824、学習及びモデル生成826、軌道の生成及び実行828、並びに成功モニタリング829として図12に示される、モジュール、プロセス、及び/又は機能を実行することができる。アクティブセンシング822、マーカー識別824、学習及びモデル生成826、軌道の生成及び実行828、並びに成功モニタリング829は、図8〜11に示される方法700を参照して記載されたような、ロボットデバイスによって行われる1つ又は複数のステップに対応し得る。例えば、アクティブセンシング822は、方法700のステップ702を含み、マーカー識別824は、方法700のステップ704〜710の1つ又は複数を含んでもよく、学習及びモデル生成826は、ステップ712〜738の1つ又は複数を含んでもよく、軌道の生成及び実行828は、ステップ712、714、718、及び750〜774の1つ又は複数を含んでもよく、成功モニタリング829は、ステップ774及び776の1つ又は複数を含んでもよい。 [0145] FIG. 12 is a block diagram showing a system architecture for robot learning and execution, including actions performed by the user, according to some embodiments. The system 800 can be configured for robot learning and execution. The system 800 may include one or more robotic devices, such as one of the robotic devices described herein, active sensing 822, marker identification 824, learning and model generation 826, orbital. Modules, processes, and / or functions shown in FIG. 12 as generation and execution 828, and success monitoring 829 can be performed. Active sensing 822, marker identification 824, learning and model generation 286, orbit generation and execution 828, and success monitoring 829 are performed by a robotic device as described with reference to method 700 shown in FIGS. 8-11. It may correspond to one or more steps. For example, the active sensing 822 may include step 702 of method 700, the marker identification 824 may include one or more of steps 704 to 710 of method 700, and the training and model generation 826 may include one of steps 712-738. The orbital generation and execution 828 may include one or more of steps 712, 714, 718, and 750-774, and the success monitoring 829 may include one or more of steps 774 and 776. A plurality may be included.

[0146] システム800は、例えば、1つ又は複数のカメラ872、(グリッパー856、及び1つ又は複数のセンサー870を含む)アーム850、表示デバイス842、並びにマイクロホン844を含む、1つ又は複数のデバイスと接続(例えば、通信)することができる。システム800は、表示デバイス842、マイクロホン844、及び/又は他のI/Oデバイス(図示されない)を用いて、1つ又は複数のユーザーアクション880に関連するユーザーから入力を受け取ることができる。ユーザーアクション880は、例えば、ユーザーがマーカーを承認し、又は環境の再スキャンを要求する882、ユーザーが1つ又は複数のマーカーを選択する884、ユーザーが関連情報を選択してモデルを生成する886、ユーザーがスキルを実行するためのモデルを選択する888、ユーザーがスキルを実行するための軌道を承認する890、ユーザーが実行されたスキルの成功を確認する892、ユーザーが運動感覚学習によってスキルを教示する894を含み得る。 [0146] The system 800 may include one or more cameras 872, an arm 850 (including a gripper 856 and one or more sensors 870), a display device 842, and a microphone 844, for example. Can connect (eg, communicate) with a device. The system 800 can receive input from a user associated with one or more user actions 880 using a display device 842, a microphone 844, and / or another I / O device (not shown). User action 880 may be, for example, 882 where the user approves a marker or requests a rescan of the environment, 884 where the user selects one or more markers, 886 where the user selects relevant information to generate a model. 888 selecting a model for the user to perform the skill, 890 approving the trajectory for the user to perform the skill, 892 confirming the success of the skill performed by the user, the user acquiring the skill by kinesthetic learning It may include 894 to teach.

[0147] アクティブセンシング822に関して、システム800は、1つ又は複数のカメラ872を用いて環境をスキャンし、その環境に関する感覚情報(環境内の1つ又は複数のマーカーに関連付けられた情報を含む)を記録する。マーカー識別824に関して、システム800は、感覚情報を分析することにより、環境内の1つ又は複数のマーカーを識別し、例えば表示デバイス842を用いて、1つ又は複数の入力をユーザーから受け取ることができる(ユーザーがマーカーを承認し、又は環境の再スキャンを要求する822を示す)。学習及びモデル生成826に関して、システム800は、1つ若しくは複数のカメラ872及び/又はアーム850上の1つ若しくは複数のセンサー870によって収集された感覚情報を受信し、その情報を用いて、スキルのモデルを生成することができる。学習及びモデル生成826の一部として、システム800は、例えば表示デバイス842及び/又はマイクロホン844を用いて、1つ又は複数の入力をユーザーから受け取ることができる(スキルを教示するための1つ若しくは複数のマーカーのセットをユーザーが選択した884、モデルの生成に使用するための、記録された感覚情報の特定の特徴をユーザーが選択した886、及び/又はユーザーがスキルを実演している894を示す)。軌道の生成及び実行828に関して、システム800は、計画された軌道を生成し、その軌道を実行するためにアーム850の動作を制御することができる。軌道の生成及び実行828の一部として、システム800は、例えば表示デバイス842を用いて、1つ又は複数の入力をユーザーから受け取ることができる(軌道を生成するためのモデルをユーザーが選択した888、及び/又はユーザーが生成された軌道を承認又は拒否した890を示す)。成功モニタリング829に関して、システム800は、スキルの実行中に1つ又は複数のセンサー870によって記録された感覚情報を分析することによって、スキルの実行が成功したか否かを決定することができる。成功モニタリング829の一部として、システム800は、例えば表示デバイス842及び/又はマイクロホン844を用いて、1つ又は複数の入力をユーザーから受け取ることができる(実行が成功したことをユーザーが確認した892を示す)。 [0147] For active sensing 822, system 800 scans the environment with one or more cameras 872 and has sensory information about the environment, including information associated with one or more markers in the environment. To record. With respect to the marker identification 824, the system 800 may identify one or more markers in the environment by analyzing sensory information and receive one or more inputs from the user, eg, using a display device 842. Yes (indicating 822 that the user approves the marker or requests a rescan of the environment). For learning and model generation 826, system 800 receives sensory information collected by one or more sensors 870 on one or more cameras 872 and / or arm 850 and uses that information to use the information of the skill. You can generate a model. As part of the learning and model generation 826, the system 800 can receive one or more inputs from the user (one or one to teach a skill, for example using a display device 842 and / or a microphone 844). A user-selected 884 with a set of multiple markers, a user-selected 886 with specific features of recorded sensory information for use in model generation, and / or a user demonstrating a skill 894. show). With respect to orbit generation and execution 828, the system 800 can generate the planned orbit and control the movement of the arm 850 to execute the orbit. As part of orbit generation and execution 828, the system 800 can receive one or more inputs from the user, eg, using display device 842 (user selected 888 model for orbit generation). , And / or 890 where the user approves or rejects the generated trajectory). With respect to the success monitoring 829, the system 800 can determine whether the skill execution was successful by analyzing the sensory information recorded by one or more sensors 870 during the skill execution. As part of the success monitoring 829, the system 800 can receive one or more inputs from the user, for example using the display device 842 and / or the microphone 844 (the user confirms that the execution was successful 892). Shows).

[0148] 特定の1つ若しくは複数のデバイス、及び/又はシステム800と、上記1つ若しくは複数のデバイスとの間の接続が図12に示されるが、本明細書に記載される実施形態のいずれによっても、追加の1つ又は複数のデバイス(図示されない)が、システム800と通信することによって、システム800から情報を受信し、及び/又はシステム800に情報を送信することが可能であることが理解される。 [0148] The connection between the particular one or more devices and / or the system 800 and the one or more devices is shown in FIG. 12, any of the embodiments described herein. Also, an additional device (not shown) may be able to receive information from and / or transmit information to system 800 by communicating with system 800. Understood.

[0149] 図13〜17は、本明細書に記載される実施形態による、1つ又は複数のロボットデバイスを含むロボットシステム(例えば、ロボットシステム100)によって行われ得る方法1300及び1400を示すフロー図である。例えば、方法1300及び/又は1400は、単一のロボットデバイス及び/又は複数のロボットデバイスによって行われ得る。 [0149] FIGS. 13-17 are flow diagrams illustrating methods 1300 and 1400 that can be performed by a robotic system (eg, robotic system 100) comprising one or more robotic devices according to embodiments described herein. Is. For example, methods 1300 and / or 1400 can be performed by a single robot device and / or multiple robot devices.

[0150] 図13に示されるように、ロボットデバイスは、1301において、実行モードで動作するように構成される。実行モードでは、ロボットデバイスは、環境内で、自律的にアクションを計画し、実行することができる。どのアクションを実行すべきかを決定し、及び/又はアクションを実行するやり方を計画するために、ロボットデバイスは、1304において、環境をスキャンし、並びに環境及び/又は環境内の物体に関する情報を収集することができ、1305において、この情報を用いて、環境の表現又はマップ(例えば、表現1600)を構築及び/又は変更することができる。ロボットデバイスは、繰り返し(例えば、あらかじめ規定された時刻及び/又は時間間隔で)又は継続的に環境をスキャンし、環境に関してそれが収集した情報に基づいて、環境の表現を更新することができる。上記の方法に類似して、ロボットデバイスは、1つ又は複数のセンサー(例えば、1つ若しくは複数のセンサー270若しくは470、及び/又は1つ若しくは複数の撮像デバイス472)を用いて、環境に関する情報を収集することができる。 [0150] As shown in FIG. 13, the robotic device is configured to operate in execution mode at 1301. In execution mode, the robot device can autonomously plan and execute actions within the environment. At 1304, the robotic device scans the environment and / or collects information about the environment and / or objects within the environment in order to determine which actions to perform and / or plan how to perform the actions. Can be, at 1305, this information can be used to construct and / or modify a representation or map of the environment (eg, representation 1600). The robotic device can repeatedly (eg, at predetermined times and / or time intervals) or continuously scan the environment and update the representation of the environment based on the information it collects about the environment. Similar to the above method, the robot device uses one or more sensors (eg, one or more sensors 270 or 470, and / or one or more imaging devices 472) to provide information about the environment. Can be collected.

[0151] いくつかの実施形態では、ロボットデバイスは、1307におけるデータ追跡及び/又は分析のために、1304において、環境を繰り返し及び/又は継続的にスキャンすることができる。例えば、ロボットデバイスは、自律的に、又は(例えば、ロボットの監督者によって)遠隔駆動されて、環境(例えば、病院などの建物)中を移動し、環境、環境内の物体などに関するデータを収集することができる。この情報は、例えば、病院の備品及び/又は設備を管理するデータ追跡及び分析要素(例えば、データ追跡及び分析要素1606)によって使用され得る。いくつかの実施形態では、ロボットデバイスは、様々な人間(例えば、患者)に関する情報を、そのような患者の挙動を追跡し(例えば、薬物及び/又は治療の順守)、診断検査を行い、及び/又はスクリーニングなどを実施するために収集することができる。 [0151] In some embodiments, the robotic device can repeatedly and / or continuously scan the environment at 1304 for data tracking and / or analysis at 1307. For example, a robot device may be autonomously or remotely driven (eg, by a robot supervisor) to move through an environment (eg, a building such as a hospital) and collect data about the environment, objects within the environment, and so on. can do. This information can be used, for example, by data tracking and analysis elements (eg, data tracking and analysis element 1606) that manage hospital equipment and / or equipment. In some embodiments, the robotic device provides information about various humans (eg, patients), tracks the behavior of such patients (eg, adherence to drugs and / or treatment), performs diagnostic tests, and / Or can be collected to perform screening etc.

[0152] いくつかの実施形態では、ロボットデバイスは、1309におけるモデル化及び学習目的で、1304において、環境を繰り返し及び/又は継続的にスキャンすることができる。例えば、ロボットデバイスは、それの環境及び/又はその環境内の物体に関するデータ(例えば、人間と、ロボットのアクションに応答した人間の挙動とを含む)を収集し、その情報を用いて、新しい挙動及び/又はアクションを開発することができる。いくつかの実施形態では、ロボットデバイスは、ある環境に関する大量の情報を収集することができ、この情報は、その環境に固有のモデルをさらに改良及び/又は生成するために、ロボットデバイスによって使用され得る。いくつかの実施形態では、ロボットデバイスは、この情報を使用して、ある特定の環境にロボットデバイスをさらに適応させることができる(例えば、その環境内でスキルモデル及び/又は挙動の生成及び/又は修正を行うことによって)ロボットの監督者(例えば、遠隔のユーザー)にこの情報を提供することができる。ロボットの監督者は、そのロボットデバイス及び/又は他のロボットデバイスによって収集された情報、及び/又はロボットが使用しているモデルのパラメーターを繰り返し(例えば、特定の時間間隔で)及び/又は継続的に(例えば、リアルタイムで)微調整することができる。いくつかの実施形態では、ロボットの監督者は、ロボットデバイスとのこの能動的な情報交換により、繰り返し及び/又は継続的に、ある特定の環境にロボットデバイスを適応させることができる。例えば、ロボットの監督者は、環境中を通ってナビゲートするためにロボットデバイスが使用中であり得る、計画された経路を修正することができ、これは、次に、その搬送要素の動きを生成するためにロボットデバイスによって使用される情報及び/又は1つ若しくは複数のモデルを変更することができる。共に、ロボットの監督者によって提供され、及び/又はロボットデバイスによって行われるこれらの変更は、環境のマップ(例えばマップ1600)の1つ又は複数の層(例えば、マップの社会的層又は意味層など)に供給され得る。 [0152] In some embodiments, the robotic device can repeatedly and / or continuously scan the environment at 1304 for modeling and learning purposes at 1309. For example, a robot device collects data about its environment and / or objects within that environment, including, for example, humans and human behavior in response to robot actions, and uses that information to create new behavior. And / or actions can be developed. In some embodiments, the robotic device can collect a large amount of information about an environment, which information is used by the robotic device to further improve and / or generate a model specific to that environment. obtain. In some embodiments, the robotic device can use this information to further adapt the robotic device to a particular environment (eg, skill model and / or behavior generation and / or behavior within that environment. This information can be provided to the robot supervisor (eg, a remote user) (by making modifications). The robot supervisor repeats (eg, at specific time intervals) and / or continually the information collected by the robot device and / or other robot devices, and / or the parameters of the model used by the robot. Can be fine-tuned (eg in real time). In some embodiments, the robot supervisor can repeatedly and / or continuously adapt the robot device to a particular environment by this active exchange of information with the robot device. For example, a robot supervisor can modify a planned path in which a robot device may be in use to navigate through the environment, which in turn can then move its transport element. The information and / or one or more models used by the robot device to generate can be modified. These changes, both provided by the robot supervisor and / or made by the robotic device, include one or more layers of the map of the environment (eg, Map 1600) (eg, the social or semantic layers of the map, etc.). ) Can be supplied.

[0153] 1306では、ロボットデバイスは、環境内でどの1つ又は複数のアクションを実行すべきかを決定すること、すなわち、特定のアクションを実行可能なリソース又はコンポーネントのセットに関するアービトレーションを行うことができる。ロボットデバイスは、1つ又は複数のアービトレーションアルゴリズム(例えば、1つ又は複数のアービトレーションアルゴリズム1758)に基づいて、異なるアクション間で選択することができる。ロボットデバイスは、自律的に、及び/又はユーザー入力を用いて、アービトレーションを行うことができる。例えば、ロボットデバイスが、そのコンポーネントの1つ若しくは複数、及び/又は環境内の物体の現在の状態を決定することができないとき、又はロボットデバイスが、どのアクションを実行すべきかを決定すること、及び/又は選択されたスキルを実行するやり方を計画することができないときに、ロボットデバイスは、ユーザー入力を要求するように構成されてもよい。いくつかの実施形態では、ロボットデバイスが、ある特定の状況を熟知している(例えば、その状況においてアクションを以前に学習及び/又は実行した)場合には、アクションのセットの中から自律的に選択し、ロボットデバイスが、新しい状況に遭遇した場合には、ユーザー入力を要求するように構成されてもよい。ロボットデバイスが新しい状況に遭遇したときに、ロボットデバイスが実行すべき適切なアクションをユーザーが選択することをロボットデバイスが要求することができ、又は代替的に、ロボットデバイスが、アクションを選択し、そのアクションの選択を確認するようにユーザーに促すことができる。 [0153] At 1306, the robotic device can determine which one or more actions should be performed in the environment, i.e., arbitrate with respect to a set of resources or components capable of performing a particular action. .. Robotic devices can be selected between different actions based on one or more arbitration algorithms (eg, one or more arbitration algorithms 1758). Robotic devices can perform arbitration autonomously and / or using user input. For example, when the robot device is unable to determine the current state of one or more of its components and / or objects in the environment, or when the robot device determines which action to perform, and. / Or the robot device may be configured to require user input when it is not possible to plan how to perform the selected skill. In some embodiments, if the robotic device is familiar with a particular situation (eg, has previously learned and / or performed an action in that situation), it will autonomously from within the set of actions. If selected, the robot device may be configured to require user input when new situations are encountered. When the robot device encounters a new situation, the robot device can require the user to select the appropriate action to be taken by the robot device, or, instead, the robot device selects the action and You can prompt the user to confirm their choice of action.

[0154] いくつかの実施形態では、人間のオペレーター(例えば、ロボットの監督者)は、ロボットデバイスをモニタリングし、人間のオペレーターがロボットデバイスによるアクションの実行に介入したいときに、ロボットデバイスに信号を送ることもできる。人間のオペレーターは、ロボットデバイスの近くに、及び/又はロボットデバイス、若しくはロボットデバイスをモニタリングするために使用され得る近くのデバイスにネットワークを介して接続された遠隔計算デバイスに位置してもよい。例えば、人間のオペレーターが、安全上の理由から(例えば、人間若しくはロボットデバイスの周囲の環境への害を阻止するため)、及び/又はロボットデバイスに対する損傷を防止するために、新しいスキル又は挙動をロボットデバイスに教示したいときに、人間のオペレーターは、ロボットデバイスによるアクションの実行に介入することを決断し得る。 [0154] In some embodiments, a human operator (eg, a robot supervisor) monitors the robot device and signals the robot device when the human operator wants to intervene in performing an action on the robot device. You can also send it. The human operator may be located near the robot device and / or at a remote computing device connected via a network to the robot device, or a nearby device that may be used to monitor the robot device. For example, a human operator may use new skills or behaviors for safety reasons (eg, to prevent harm to the environment around a human or robotic device) and / or to prevent damage to the robotic device. When wanting to teach a robot device, a human operator may decide to intervene in performing an action by the robot device.

[0155] (例えば、不慣れな状況のため、又はユーザーからの信号に応答して)ユーザー入力が必要であるとの決定に応答して(1312:YES)、ロボットデバイスは、任意選択的に、1314において、ユーザー入力を提供するようにユーザーに促すことができる。例えば、ロボットデバイスは、搭載ディスプレイ又は遠隔デバイスに位置するディスプレイに(例えば、遠隔又はクラウドインターフェースを用いて)、ユーザー入力を要求するプロンプトをユーザーに対して表示させることができる。ロボットデバイスは、1315において、ユーザー入力を受け取り、そのユーザー入力に基づいてアービトレーションを行うことができる。ユーザー入力が必要とされない場合には(1312:NO)、ロボットデバイスは、自律的にアービトレーションを行うことを継続する。 [0155] In response to the determination that user input is required (eg, due to an unfamiliar situation or in response to a signal from the user) (1312: YES), the robot device optionally At 1314, the user can be prompted to provide user input. For example, a robot device may cause a user to be prompted for user input on an on-board display or a display located on a remote device (eg, using a remote or cloud interface). At 1315, the robot device can receive user input and perform arbitration based on the user input. If no user input is required (1312: NO), the robot device continues to autonomously perform arbitration.

[0156] ロボットデバイスが、実行すべきアクションを選択した後に、ロボットデバイスは、1308において、アクションを計画及び実行することができる。上述の通り、アクションは、(例えば、本明細書に記載される操作要素などの操作要素に関与する)操作アクション、又は(例えば、本明細書に記載される搬送要素などの搬送要素に関与する)移動、及び/又は社会的挙動などのタスクに関連付けられ得る。アクションを実行する間、ロボットデバイスは、1304において、その周辺環境をスキャンし続けることができる。ロボットデバイスが、それの現在の状態及び/又は環境(例えば、環境内の物体の場所)の状態の変化を検出すると、ロボットデバイスは、1310において、ロボットデバイスがアクションの実行を中断すべきか否かを決定するために、その変化を評価することができる。例えば、ロボットデバイスは、そのコンポーネントの1つ若しくは複数と、環境内の人間若しくは他の物体との物理的係合の検出に応答して(例えば、人間のオペレーターが、操作要素、搬送要素などと接触したとき)、又はすぐ近くに人間若しくは他の物体の存在を検出したときに、アクションの実行を中断することを決定し得る。追加的又は代替的に、ロボットデバイスは、ユーザー(例えば、ロボットの監督者)からの信号の受信に応答して、アクションの実行を中断することを決定し得る。いくつかの実施形態では、ロボットデバイスは、アクションの実行中の特定の時点で、例えば、ロボットデバイスが、インタラクティブ学習テンプレートに規定されるように、ユーザーがアクションの一部を実演することを必要とし得るときに、アクションの実行を中断するように前もって構成されてもよい。インタラクティブ学習テンプレートを使用した学習に関するさらなる詳細は、図15を参照して、本明細書に説明される。 [0156] After the robot device has selected an action to be performed, the robot device can plan and perform the action at 1308. As mentioned above, an action involves an operational action (eg, involved in an operational element such as an operational element described herein) or a transport element (eg, involved in a transport element such as a transport element described herein). ) Can be associated with tasks such as movement and / or social behavior. While performing the action, the robot device can continue to scan its surroundings at 1304. When the robot device detects a change in its current state and / or state of the environment (eg, the location of an object in the environment), the robot device at 1310 determines whether the robot device should interrupt the execution of the action. The change can be evaluated to determine. For example, a robotic device responds to the detection of physical engagement of one or more of its components with a human or other object in the environment (eg, by a human operator with operating elements, transport elements, etc.). It may decide to interrupt the execution of the action when it detects the presence of a human or other object (when in contact) or in the immediate vicinity. Additionally or additionally, the robot device may decide to interrupt the execution of the action in response to receiving a signal from the user (eg, the robot supervisor). In some embodiments, the robot device requires the user to demonstrate a portion of the action at a particular point in time during the execution of the action, for example, as the robot device is defined in the interactive learning template. When gained, it may be preconfigured to interrupt the execution of the action. Further details regarding learning using the interactive learning template are described herein with reference to FIG.

[0157] ロボットデバイスが、アクションの実行の中断を決定した場合には(1310:YES)、ロボットデバイスは、1312において、ユーザー入力が必要とされるか否かを決定することができる。上述の通り、ユーザー入力が必要とされることをロボットデバイスが決定した場合には(1312:YES)、ロボットデバイスは、任意選択的に、1314〜1315において、ユーザー入力を促し、及び/又はユーザー入力を受け取ることができる。次いで、ロボットデバイスは、1304における、周辺環境のセンシング又はスキャニング、1306における、リソースのセットに関するアービトレーションの実施、及び/又は1308における、アクションの実行に戻ることができる。任意選択的に、図14及び15に示されるように、ユーザー入力が必要とされることをロボットデバイスが決定すると、ロボットデバイスは、1402において学習モードに切り替え、次に、1404におけるスキルの学習、又は1406における環境的制約の学習に進み得る。ユーザー入力が必要とされないことをロボットデバイスが決定した場合には(1312:NO)、ロボットデバイスは、1304における、周辺環境のセンシング又はスキャニング、1306における、リソースのセットに関するアービトレーションの実施、及び/又は1308における、アクションの実行に戻ることができる。アクションが中断される必要がないことをロボットデバイスが決定した場合には(1310:NO)、ロボットデバイスは、1308において、アクションの実行を継続することができる。 [0157] If the robot device decides to suspend the execution of the action (1310: YES), the robot device can determine at 1312 whether user input is required. As mentioned above, if the robot device determines that user input is required (1312: YES), the robot device optionally prompts user input at 1314-1315 and / or the user. You can receive input. The robotic device can then return to sensing or scanning the surrounding environment at 1304, performing arbitration on a set of resources at 1306, and / or performing an action at 1308. Optionally, as shown in FIGS. 14 and 15, when the robot device determines that user input is required, the robot device switches to learning mode at 1402 and then learns the skill at 1404. Or you can proceed to the learning of environmental constraints in 1406. If the robot device determines that no user input is required (1312: NO), the robot device performs ambient sensing or scanning at 1304, arbitration with respect to a set of resources at 1306, and / or. You can return to the execution of the action at 1308. If the robot device determines that the action does not need to be interrupted (1310: NO), the robot device can continue executing the action at 1308.

[0158] いくつかの実施形態では、例えば、ロボットデバイスが、ある特定のタスク又は挙動を実行することを助けるために、ロボットデバイスは、いつロボットデバイスがユーザー入力を求める必要があり得るかを決定するように構成されてもよい。このような手助けは、特定のアクションの実行中、及び/又はロボットデバイスが環境中をナビゲートしている間の両方で要求され得る。ロボットデバイスは、それの学習済みモデル、並びに環境及びその環境内の物体に関する情報を使用して、1312において、ロボットデバイスがいつユーザー入力を求める必要があるか、及びそのユーザー入力を求めるやり方を決定するように構成されてもよい。例えば、ロボットデバイスは、それの環境内のドアのタイプ及び異なる複数のユーザーの知識を用いて、助けを求めるとき、及びそのやり方(例えば、異なる複数のユーザーに、異なる複数のタイプのドア(例えば、特定の許可又は知識を必要とするキーパッドを備えたドア)を開けることを手伝うように求めること、及び他の人たちよりも手助けを提供する傾向がより高い可能性がある特定のタイプのユーザーに依頼することを知ること(例えば、看護師対医師))を決定することができる。 [0158] In some embodiments, the robot device determines when the robot device may need to solicit user input, for example, in order to help the robot device perform a particular task or behavior. It may be configured to do so. Such assistance may be requested both during the execution of a particular action and / or while the robot device is navigating through the environment. The robot device uses its trained model, as well as information about the environment and objects within that environment, to determine in 1312 when the robot device needs to prompt user input and how to request that user input. It may be configured to do so. For example, a robotic device uses the type of door in its environment and the knowledge of different users to seek help and how to do so (eg, to different users, different types of doors (eg). , A door with a keypad that requires specific permission or knowledge), and certain types of users who may be more likely to provide help than others. You can decide to know to ask (eg, nurse vs. doctor).

[0159] いくつかの実施形態では、例えば、1315においてロボットデバイスによって受け取られたユーザー入力には、スキルの選択及び/又は実行が、適切であったか否か、及び/又は成功したか否かに関するユーザーからのフィードバックが含まれ得る。例えば、ユーザーは、アクションの良い例又は悪い例として、ロボットデバイスによって実行されている(又はロボットデバイスによって以前に実行された)アクション(例えば、タスク又は挙動)にタグを付けることができる。ロボットデバイスは、このフィードバックを(例えば、このアクション及び/又は他のアクションに関連付けられた成功基準として)保存し、それを使用して、今後、そのアクション又は他のアクションの選択及び/又は実行を調整することができる。 [0159] In some embodiments, for example, a user regarding whether skill selection and / or execution was appropriate and / or successful for user input received by a robotic device in 1315. Feedback from may be included. For example, the user can tag an action (eg, a task or behavior) performed by the robot device (or previously performed by the robot device) as a good or bad example of the action. The robot device stores this feedback (eg, as a success criterion associated with this action and / or other action) and uses it to select and / or execute that action or other action in the future. Can be adjusted.

[0160] いくつかの実施形態では、ロボットデバイスは、社会的に適切な挙動に従事するように構成される。ロボットデバイスは、人間のいる環境で動作するように設計され得る。人間の周りで動作するときに、1306〜1308において、ロボットデバイスは、そのアクションが人間によってどのように認識され得るかを絶えず計画するように構成され得る。例えば、ロボットデバイスが移動しているときに、ロボットデバイスは、1304において、人間を探して、その周辺環境をモニタリングし、1308において、それが遭遇した人間との社会的インタラクションに従事することができる。ロボットデバイスが、タスクを全く実行していない(例えば、静止している)ときは、ロボットデバイスは、1304において、人間を探して、その周辺環境をモニタリングすることを継続し、1306において、人間がロボットデバイスの存在をどのように認識し得るかに基づいて、ロボットデバイスが、1つ又は複数の社会的に適切な挙動を実行する必要があり得るか否かを決定することができる。このような実施形態では、ロボットデバイスは、特定のコンテキスト又は状況を所与として、社会的に適切な挙動を計画及び実行する基礎的フレームワーク(例えば、1つ又は複数のアービトレーションアルゴリズム)を用いて構成され得る。ロボットデバイスは、複数のリソース(例えば、操作要素、搬送要素、頭部又は目などの人型コンポーネント、音生成器など)を管理し、これらのリソースの1つ又は複数に基づいて、適切な挙動を生成するように構成され得る。 [0160] In some embodiments, the robotic device is configured to engage in socially appropriate behavior. Robotic devices can be designed to operate in a human environment. When moving around a human, from 1306 to 1308, the robotic device may be configured to constantly plan how the action can be perceived by the human. For example, when the robot device is moving, the robot device can look for a human at 1304, monitor its surrounding environment, and engage in social interaction with the human it encounters at 1308. .. When the robot device is not performing any task (eg, stationary), the robot device continues to look for a human at 1304 and monitor its surrounding environment, at 1306 where the human Based on how the presence of the robot device can be perceived, it can be determined whether the robot device may need to perform one or more socially appropriate behaviors. In such embodiments, the robotic device uses a basic framework (eg, one or more arbitration algorithms) to plan and execute socially appropriate behavior given a particular context or situation. Can be configured. The robot device manages multiple resources (eg, operating elements, transport elements, humanoid components such as head or eyes, sound generators, etc.) and behaves appropriately based on one or more of these resources. Can be configured to produce.

[0161] 図18は、注目機構(例えば、目要素)に関するアービトレーションを行う、ロボットデバイスのコンポーネントの一例を提供する。例えば、ロボットデバイスは、カメラ、又は視線(例えば、目要素)を有すると人間によって認識され得る他の要素を有してもよい。ロボットデバイスの近くの人間は、目要素が向けられた方向をロボットデバイスが注目しているものとして認識し得る。したがって、ロボットデバイスは、ロボットデバイスが動作しているとき、及び/又は人間の近くにいるときに、目要素がどこに向けられているかを決定するように構成されてもよい。ロボットデバイスが、人間の周りで動作するとき、及び/又は人間がいるところで、社会的に適切な挙動を維持するように、ロボットデバイスは、目要素の使用のアービトレーションを絶えず行うことができる。 [0161] FIG. 18 provides an example of a component of a robotic device that performs arbitration on a mechanism of interest (eg, an eye element). For example, the robot device may have a camera, or other element that can be perceived by a human as having a line of sight (eg, an eye element). A person near the robot device can recognize the direction in which the eye element is directed as the robot device is paying attention. Thus, the robotic device may be configured to determine where the eye element is directed when the robotic device is in motion and / or in the vicinity of a human. The robotic device can constantly arbitrate the use of eye elements so that the robotic device maintains socially appropriate behavior when and / or in the presence of humans.

[0162] 図18に示されるように、ロボットデバイスの異なる複数のコンポーネントが、視線ターゲット(例えば、ある特定の方向に目要素を向けさせること)を要求し得る。アクティブセンシングに関連する第1のコンポーネント(例えば、カメラ、レーザー、又は他のセンサー)は、1510において、物体が目要素の視野内にあることを決定することができる。第1のコンポーネントはさらに、1514において、物体が人間であることを決定することができる。物体が人間であるとの決定に応答して、第1のコンポーネントは、人間の顔に目要素を向けさせるために、要求1516を中央リソースマネージャー1508(例えば、制御ユニット(例えば、1つ又は複数の制御ユニット202、302及び/又は1702)及び/又は制御ユニットのコンポーネント)に送ることができる。ナビゲーションアクションに関連する第2のコンポーネント(例えば、カメラ、レーザー、又は他のセンサー)は、1520において、ある特定の場所(例えば、ナビゲーションの中間又は最終目的地)が、目要素の視界内にあることを決定することができる。その場所が視界内にあるとの決定に応答して、第2のコンポーネントは、その場所に目要素を向けさせるために、要求1522を中央リソースマネージャー1508に送ることができる。操作アクションに関連する第3のコンポーネント(例えば、操作要素上のセンサー、カメラ、又は他のセンサー)は、1530において、ロボットデバイスが、物体と係合していること(例えば、ロボットデバイスが物体を運んでいること、人間がロボットデバイスに接触したこと)を決定することができる。ロボットデバイスが物体と係合しているとの決定に応答して、第3のコンポーネントは、物体に目要素を向けさせるために、要求1532を中央リソースマネージャー1508に送ることができる。 [0162] As shown in FIG. 18, different components of a robotic device may require a line-of-sight target (eg, directing an eye element in a particular direction). A first component related to active sensing (eg, a camera, laser, or other sensor) can determine at 1510 that the object is within the field of view of the eye element. The first component can further determine at 1514 that the object is human. In response to the determination that the object is human, the first component makes a request 1516 to the central resource manager 1508 (eg, a control unit (eg, one or more) in order to direct the eye element to the human face. Can be sent to the control units 202, 302 and / or 1702) and / or the components of the control unit). A second component related to a navigation action (eg, a camera, laser, or other sensor) is such that at 1520, a particular location (eg, an intermediate or final destination in the navigation) is within the field of view of the eye element. You can decide that. In response to the determination that the location is in view, the second component can send a request 1522 to the central resource manager 1508 to direct the eye element to the location. A third component related to the operating action (eg, a sensor, camera, or other sensor on the operating element) is that at 1530, the robot device is engaged with the object (eg, the robot device is engaging with the object). It can be determined that it is being carried and that a human has come into contact with the robot device. In response to the determination that the robot device is engaged with the object, the third component can send a request 1532 to the central resource manager 1508 to direct the eye element to the object.

[0163] 中央リソースマネージャー1508は、ロボットデバイスのコンポーネントから要求1516、1522、及び1532を受け取り、1540において、どの方向に目要素を向けるべきかを決定するためにアービトレーションを行うことができる。どの方向に目要素を向けるべきかを決定するときに、中央リソースマネージャー1508は、規定されたルール又は制約(例えば、社会的に適切な制約)を考慮に入れることができる。これらの規定されたルールには、例えば、あらかじめ規定された期間(例えば、約5秒)の間、目要素を2回動かさないこと、少なくとも、あらかじめ規定された最短期間(例えば、約5秒)の間、目要素をある方向に向けさせること、非人間物体と人間とで異なり得る、あらかじめ規定された最長期間の後に、目要素を動かすことなどが含まれ得る。規定されたルールは、視線リソースを管理するためのアービトレーションアルゴリズムにエンコードされ得る。 [0163] The central resource manager 1508 can receive requests 1516, 1522, and 1532 from the components of the robotic device and, at 1540, perform arbitration to determine in which direction the eye element should be directed. When deciding in which direction the eye element should be directed, the central resource manager 1508 can take into account defined rules or constraints (eg, socially relevant constraints). These defined rules include, for example, not to rotate the eye element twice for a predetermined period (eg, about 5 seconds), at least for a predetermined shortest period (eg, about 5 seconds). In the meantime, it may include orienting the eye element in a certain direction, which may differ between non-human objects and humans, moving the eye element after a predetermined long period of time, and so on. The defined rules can be encoded in an arbitration algorithm for managing gaze resources.

[0164] いくつかの実施形態では、中央リソースマネージャー1508は、社会的コンテキスト及び環境に関して収集された他の情報に基づいて、視線リソースのアービトレーションを行うことができる。例えば、ロボットデバイスは、ある挙動を特定の場所に関連付けるように構成されてもよい(例えば、混雑した戸口又は通路を通ってナビゲートしようと試みる前に、人がその戸口又は通路を通過するのを待つこと、静かなエリアでは、より小さい音で動作する(例えば、サウンド及び/又はスピーチ機能性の使用を控える)ことなど)。ロボットデバイスは、このような場所に関連する社会的コンテキスト情報を捕捉し、それをナビゲーションに使用される(図19を参照して本明細書に記載されるような)環境の表現に加えるように構成されてもよい。いくつかの実施形態では、人間のオペレーターが、社会的コンテキスト情報をロボットデバイスに提供することも可能であり、ロボットデバイスが、それが動作する環境に関してより多くを学習するにつれて、ロボットデバイスは、経時的に、この情報を適応させることができる。 [0164] In some embodiments, the central resource manager 1508 can arbitrate gaze resources based on other information gathered about social context and environment. For example, a robot device may be configured to associate a behavior with a particular location (eg, a person traverses a doorway or aisle before attempting to navigate through a crowded doorway or aisle. Wait, operate with lesser sound in quiet areas (eg, refrain from using sound and / or speech functionality). Robotic devices should capture social contextual information related to such locations and add it to the representation of the environment used for navigation (as described herein with reference to FIG. 19). It may be configured. In some embodiments, it is also possible for a human operator to provide social contextual information to the robot device, and as the robot device learns more about the environment in which it operates, the robot device over time. This information can be adapted.

[0165] 図15〜17は、学習モードで動作するロボットデバイスのフロー図を示す。上述の通り、ロボットデバイスは、実行モードで動作し、例えば、1312において、ロボットデバイスがユーザー入力を必要とすることを決定したときに、学習モードでの動作に切り替えることができる。代替的又は追加的に、ロボットデバイスは、例えばロボットデバイスが新しい環境(例えば、新しいエリア、建物など)に最初に配備されたときに、学習モードで動作するように設定されてもよい。ロボットデバイスは、ロボットデバイスが実行モードでの動作に切り替え可能であることをユーザーがロボットデバイスに示すまで、及び/又はロボットデバイスが実行モードでの動作に切り替え可能であることをロボットデバイスが決定するまで、学習モードで動作してもよい。 [0165] FIGS. 15 to 17 show a flow chart of a robot device operating in the learning mode. As described above, the robot device operates in execution mode and, for example, in 1312, can switch to operation in learning mode when the robot device determines that it requires user input. Alternatively or additionally, the robot device may be configured to operate in learning mode, eg, when the robot device is first deployed in a new environment (eg, new area, building, etc.). The robot device determines that the robot device can switch to operation in execution mode until the user indicates to the robot device that the robot device can switch to operation in execution mode, and / or the robot device can switch to operation in execution mode. May operate in learning mode.

[0166] 学習モードで動作するときに、ロボットデバイスは、1404において、スキルを学習すること、及び/又は1406において、環境的制約を学習することができる。ロボットデバイスは、スキルの既存のモデル(例えば、スキルの汎用モデル)を用いて、又は用いずに、スキルを学習するように構成されてもよい。既存のモデルを用いずにスキルを学習する(例えば、予備知識に頼ることなくスキルを学習する)場合には、ロボットデバイスは、図10を参照して本明細書に記載されるように、スキルの実演が指導された後に、スキルのモデルを生成することができる。既存のモデル(例えば、スキルの汎用モデル)を用いてスキルを学習する場合には、ロボットデバイスは、既存のモデルを用いてスキルの実行を開始し、ユーザーがスキルの一部を実演することをロボットデバイスが必要とするときに、ユーザー入力を要求することができる。スキルの既存のモデルは、インタラクティブ学習テンプレート(すなわち、スキルの実行中の指定された時点で、ユーザーからの入力を用いてスキルを学習するようにロボットデバイスに指導するためのテンプレート)の一部であってもよく、又はその一部を形成してもよい。 [0166] When operating in learning mode, the robot device can learn skills at 1404 and / or environmental constraints at 1406. The robotic device may be configured to learn the skill with or without an existing model of the skill (eg, a generic model of the skill). When learning a skill without using an existing model (eg, learning a skill without relying on prior knowledge), the robotic device is a skill as described herein with reference to FIG. After being taught a demonstration of, you can generate a model of the skill. When learning a skill using an existing model (for example, a general-purpose model of the skill), the robot device starts executing the skill using the existing model, and the user demonstrates a part of the skill. User input can be requested when the robot device requires it. An existing model of a skill is part of an interactive learning template (ie, a template for instructing a robot device to learn a skill using user input at a specified point in time during the execution of the skill). It may be present or may form a part thereof.

[0167] 図16は、インタラクティブ学習テンプレートを用いてスキルを学習するプロセスを示す。ロボットデバイスは、ある特定の状況(例えば、建物)に配備され得る。ロボットデバイスは、1410において、スキルの既存のモデルの選択を行うことができる。スキルの既存のモデルは、ロボットデバイスが動作している環境又は状況に特化していない、スキルの汎用モデルでもよい。1412において、ロボットデバイスは、図11を参照して本明細書に述べられたプロセスに類似のプロセスに従って、スキルモデルを使用してスキルを実行する計画を生成することができる。1414では、ロボットデバイスは、ユーザー入力及び/又は特化を必要としない、スキルの1つ又は複数のステップ又は部分を行うことによって、スキルの実行を開始することができる。スキルの一部(例えば、ロボットデバイスが実行の仕方を決定できない部分、又はロボットデバイスがスキルを実行している状況への特化を必要とするスキルの部分)に到達すると(1416:YES)、ロボットデバイスは、1418において、スキルのその部分の実演を提供するようにユーザーに促すことができる。いくつかの実施形態では、インタラクティブ学習テンプレートは、ロボットデバイスがユーザーに実演を促すべき時をロボットデバイスに示すことができる。代替的又は追加的に、例えば、ロボットデバイスが、環境内の物体の状態を決定することができず、及び/又は環境によって課される制約を所与として、スキルのある特定の部分を実行する計画を生成することができない場合に、ロボットデバイスがスキルの一部を実行できるためにはユーザー入力を必要とすることをロボットデバイスは自律的に決定することができる。いくつかの実施形態では、ユーザー(例えば、ロボットの監督者)は、ロボットデバイスのスキルの実行もモニタリングし、ユーザーがロボットデバイスに対してスキルの一部を実演したいときに、ロボットデバイスに信号を送ることができる。ロボットデバイスは、ユーザーから信号を受信すると、1418に進むことを決定することができる。 [0167] Figure 16 shows the process of learning a skill using an interactive learning template. Robotic devices can be deployed in certain situations (eg, buildings). The robot device can select an existing model of skill at 1410. The existing model of the skill may be a general-purpose model of the skill that is not specific to the environment or situation in which the robot device is operating. At 1412, the robotic device can generate a plan to perform a skill using a skill model according to a process similar to the process described herein with reference to FIG. At 1414, the robot device can initiate the execution of a skill by performing one or more steps or portions of the skill that do not require user input and / or specialization. When you reach a part of the skill (for example, the part where the robot device cannot decide how to perform it, or the part of the skill that requires specialization in the situation where the robot device is performing the skill) (1416: YES), The robotic device can encourage the user to provide a demonstration of that part of the skill at 1418. In some embodiments, the interactive learning template can indicate to the robot device when the robot device should encourage the user to demonstrate. Alternatively or additionally, for example, a robot device is unable to determine the state of an object in the environment and / or performs certain parts of the skill given the constraints imposed by the environment. The robot device can autonomously determine that it requires user input in order for the robot device to be able to perform some of its skills if it is unable to generate a plan. In some embodiments, the user (eg, the robot supervisor) also monitors the performance of the robot device's skill and signals the robot device when the user wants to demonstrate some of the skill to the robot device. Can be sent. Upon receiving the signal from the user, the robot device can decide to proceed to 1418.

[0168] 1420では、ユーザーは、ロボットデバイスに動作を指導することができる。例えば、ユーザーは、ロボットデバイスの1つ又は複数のコンポーネント(例えば、操作要素、搬送要素など)を動かすことにより、スキルの一部を実演することができる。ロボットデバイスに動作を指導する間、ユーザーは、任意選択的に、1422において、ロボットデバイスのコンポーネントの1つ若しくは複数、及び/又は環境の状態に関する情報を捕捉すべき時をロボットデバイスに示すことができる。例えば、ロボットデバイスは、ロボットデバイスの動作中のキーフレームにおいて、操作要素、搬送要素、及び/又は環境に関する情報を含む感覚情報を捕捉するための信号をユーザーから受信することができる。代替的に、ロボットデバイスは、感覚情報を捕捉すべき時を自律的に決定することができる。例えば、ロボットデバイスがユーザーによって動かされている間、ロボットデバイスは、そのコンポーネントの1つ又は複数の変化をモニタリングすることができ、それらの変化が閾値を超えたとき、又はコンポーネントの軌道に方向変化が生じたときに、ロボットデバイスは、自律的に、その時点をキーフレームとして選択し、そのキーフレームにおけるロボットデバイス及び/又は環境に関する情報を記録することができる。ユーザーからの信号の受信、又は自律的な感覚情報を捕捉する決定に応答して、ロボットデバイスは、1424において、そのセンサーの1つ又は複数を用いて、感覚情報を捕捉することができる。ロボットデバイスの動作中に、ロボットデバイスは、1430において、継続的又は周期的に、ユーザーから信号を受信することなく、感覚情報を記録することもできる。 [0168] At 1420, the user can instruct the robot device to move. For example, the user can demonstrate some of the skills by moving one or more components of the robot device (eg, operating elements, transport elements, etc.). While instructing the robot device to move, the user may optionally indicate to the robot device at 1422 when information about one or more of the components of the robot device and / or the state of the environment should be captured. can. For example, the robot device can receive a signal from the user to capture sensory information, including information about operating elements, transporting elements, and / or the environment, at key frames during operation of the robot device. Alternatively, the robot device can autonomously determine when sensory information should be captured. For example, while the robot device is being moved by the user, the robot device can monitor changes in one or more of its components, and when those changes exceed a threshold or change direction into the orbit of the component. When this occurs, the robot device can autonomously select that time point as a key frame and record information about the robot device and / or the environment at that key frame. In response to receiving a signal from the user or a decision to capture autonomous sensory information, the robot device can capture sensory information at 1424 using one or more of its sensors. During operation of the robot device, the robot device may also record sensory information at 1430, either continuously or periodically, without receiving a signal from the user.

[0169] 動作又は実演が完了すると(1426:YES)、ロボットデバイスは、任意選択的に、1432において、実演されたスキルの一部を学習することに関連する特徴の選択を受け取ることができる。いくつかの実施形態では、ロボットデバイスは、1432において、自律的に、特徴の選択を行い、及び/又はロボットデバイスによって行われた選択を確認するようにユーザーに促すことができる。1436では、ロボットデバイスは、実演に関連する情報を保存することができる。スキルの実行が完了していない場合には(1417:NO)、ロボットデバイスは、1414において、スキルの実行を継続し、必要であれば、1418において、スキルの部分のさらなる実演をユーザーに促すことができる。ロボットデバイスは、アクションの実行が完了するまで(1417:YES)インタラクティブな学習プロセスを繰り返し続けることができ、このアクションの実行の完了時点で、ロボットデバイスは、1438において、ロボットデバイスがスキルを実行した状況に特化した部分を有するスキルのモデルを生成することができる。次に、ロボットデバイスは、別のスキル及び/又は環境的制約を学習することができる。代替的に、ロボットデバイスが、別のスキル及び/又は環境的制約を学習する必要がない場合には、ロボットデバイスは、1301において、実行モードに切り替わり、環境のセンシング又はスキャニング、アービトレーションの実施、及び/又はアクションの実行を開始することができる。 [0169] Upon completion of the motion or demonstration (1426: YES), the robotic device can optionally receive a selection of features associated with learning some of the demonstrated skills at 1432. In some embodiments, the robotic device can autonomously make feature selections and / or prompt the user to confirm the selections made by the robotic device in 1432. At 1436, the robot device can store information related to the demonstration. If the skill execution is not complete (1417: NO), the robot device will continue to execute the skill at 1414 and, if necessary, encourage the user to further demonstrate the skill portion at 1418. Can be done. The robot device can continue to iterate through the interactive learning process until the execution of the action is complete (1417: YES), at which point the robot device performed the skill at 1438. You can generate a model of a skill that has a context-specific part. The robot device can then learn another skill and / or environmental constraint. Alternatively, if the robot device does not need to learn another skill and / or environmental constraint, the robot device switches to run mode at 1301 to perform environmental sensing or scanning, arbitration, and so on. / Or the execution of the action can be started.

[0170] インタラクティブ学習テンプレートを用いて、ロボットデバイスは、スキル用のモデルの初期セットが教示及び/又は提供される。ロボットデバイスが、ある特定の環境(例えば、病院)において現場で配備される前に、モデルの初期セットが開発されてもよい。例えば、このモデルの初期セットは、工場の状況下で、又は訓練場所で開発され、ロボットデバイスに利用可能にされてもよい。一旦現場で配備されると、ロボットデバイスは、例えば、本明細書に記載されるようなインタラクティブ学習セッションによって、モデルの初期セットを環境に適応又は特化させることができる。また、新しいモデルの開発(例えば、工場又は訓練場所においてオフサイトで)に伴って、新しいモデルは、例えば、ネットワーク接続により、ロボットデバイスに利用可能にされてもよい。したがって、本明細書に記載されるシステム及び方法により、これらのロボットデバイスが現場に配備された後であっても、ユーザー及び/又はエンティティーが、スキルの新しいモデルを開発し、それらをロボットデバイスに提供し続けることが可能となる。 [0170] Using the interactive learning template, the robot device is taught and / or provided with an initial set of models for the skill. An initial set of models may be developed before the robotic device is deployed in the field in a particular environment (eg, a hospital). For example, an initial set of this model may be developed under factory conditions or at a training site and made available to robotic devices. Once deployed in the field, the robotic device can adapt or specialize an initial set of models to the environment, for example, through interactive learning sessions as described herein. Also, with the development of new models (eg, off-site at factories or training sites), new models may be made available to robotic devices, for example by network connectivity. Therefore, by the systems and methods described herein, users and / or entities will develop new models of skills and robotic devices, even after these robotic devices have been deployed in the field. It will be possible to continue to provide to.

[0171] インタラクティブ学習セッションの一例は、アイテムを部屋の中に移動させるための汎用モデルを適応させることに関与し得る。ロボットデバイスは、汎用モデルを備え、病院において現場で配備され得る。病院に配備されると、ロボットデバイスは、1412〜1414において、アイテムを患者の部屋の中に移動させるスキルの実行を自律的に開始することができる。例えば、ロボットデバイスは、病院のマップを使用して、患者の部屋まで自律的にナビゲートすることができる。ロボットデバイスが、患者の部屋までのナビゲートを終えると、ロボットデバイスは、患者の部屋の中のどこにアイテムを降ろすべきかをユーザーが実演することをロボットデバイスが必要とすることを決定することができる(1416:YES)。ロボットデバイスは、1418において、それを特定の荷降ろし場所まで動かすことをユーザーに促すことができる。ユーザーは、1420において、例えば、ジョイスティック又は他のタイプの制御デバイスを用いて、ロボットデバイスの動作を制御することができる。上述の通り、ユーザーは、ロボットデバイスの近くの現場にいてもよく、又は遠隔地に位置してもよい。ユーザーがロボットデバイスを荷降ろし場所まで移動させる間、ロボットデバイスは、1424及び/又は1430において、それの現在の状態及び/又はそれの周辺環境に関する感覚情報を捕捉することができる。荷降ろし場所に到着すると、ロボットデバイスは、1414において、自律実行に戻るように切り替えることができる。例えば、ロボットデバイスは、既知のアームの動き(例えば、ロボットデバイスに搭載されたコンテナ内でアイテムの位置を特定し、操作要素を用いてアイテムをつかみ、及びアイテムを解放する汎用位置にその操作要素を位置付けること)を実行することができる。ロボットデバイスは、スキルの一部(例えば、アイテムを棚の上に降ろすこと)をユーザーが実演することをロボットデバイスが必要としているという2度目の決定を行うことができる(1416:YES)。ロボットデバイスは、1418において、別の実演をユーザーに促すことができ、ユーザーは、アイテムが棚の上の適所に位置するように操作要素を動かすことができる。ロボットデバイスは、1424及び/又は1430において、操作要素の動作中に、感覚情報を再び捕捉することができる。ロボットデバイスは、1414において、制御を再度取り戻し、自律的に、操作要素のグリッパーを開いて棚の上にアイテムを降ろし、その後、操作要素を静止位置に戻るように格納することができる。次に、ロボットデバイスは、実行が完了したことを決定し(1417:YES)、1438において、2つのユーザー実演中にロボットデバイスが捕捉した情報に基づいて、スキルの特化モデルを生成することができる。 [0171] An example of an interactive learning session can be involved in adapting a generic model for moving items into a room. The robotic device is equipped with a general-purpose model and can be deployed in the field in a hospital. Once deployed in the hospital, the robotic device can autonomously initiate the execution of the skill to move the item into the patient's room at 1412-1414. For example, a robot device can autonomously navigate to a patient's room using a hospital map. Once the robot device has navigated to the patient's room, the robot device may decide that the robot device needs to demonstrate where the user should unload the item in the patient's room. Yes (1416: YES). At 1418, the robot device can prompt the user to move it to a specific unloading location. At 1420, the user can control the operation of the robot device, for example using a joystick or other type of control device. As mentioned above, the user may be in the field near the robot device or may be located in a remote location. While the user moves the robot device to the unloading location, the robot device can capture sensory information about its current state and / or its surrounding environment at 1424 and / or 1430. Upon arriving at the unloading location, the robotic device can switch back to autonomous execution at 1414. For example, a robot device may have a known arm movement (eg, an operating element in a general position that locates an item within a container mounted on the robot device, uses the operating element to grab the item, and releases the item. (Positioning) can be executed. The robot device can make a second determination that the robot device requires the user to demonstrate some of the skills (eg, unloading an item on a shelf) (1416: YES). The robotic device can prompt the user for another demonstration at 1418, and the user can move the operating element so that the item is in place on the shelf. At 1424 and / or 1430, the robotic device can recapture sensory information during the operation of the operating element. At 1414, the robotic device can regain control and autonomously open the gripper of the operating element to lower the item onto the shelf and then retract the operating element to return to its resting position. The robot device can then determine that execution is complete (1417: YES) and, in 1438, generate a specialized model of the skill based on the information captured by the robot device during the two user demonstrations. can.

[0172] インタラクティブ学習セッションの他の例には、例えば、上述のように、ある特定の通路及び/又は戸口を通ってナビゲートするために、ナビゲーションアクションを適応させることが含まれ得る。 [0172] Other examples of interactive learning sessions may include adapting navigation actions to navigate through certain passages and / or doorways, for example, as described above.

[0173] いくつかの実施形態では、ユーザー(又はロボットデバイス)は、スキルのモデルを、そのスキルが実演された後、及び/又はそのスキルのモデルが生成された後に修正することができる。例えば、ユーザーは、スキルの実演中に捕捉されたキーフレームを反復し、これらのキーフレームの保持、修正、及び/又は削除を行うか否かを決定することができる。1つ又は複数のキーフレームの修正及び/又は削除を行うことによって、ユーザーは、これらのキーフレームに基づいて生成されたスキルのモデルを修正することができる。キーフレームに基づいた実演の反復及び適応バージョンを使用する例は、本明細書に援用される、Proceedings of the 7th Annual ACM/IEEE International Conference on Human-Robot Interaction (2012), pp.391-98で公表され、Akgunらによって執筆された、「Trajectories and keyframes for kinesthetic teaching: a human-robot interaction perspective」というタイトルの論文に記載されている。別の例として、インタラクティブなグラフィカル・ユーザー・インターフェース(「GUI」)を使用して、計画された実行中に、ロボットデバイスのコンポーネントの位置、向きなどに関連する分散がどのくらい許容可能であるかをユーザーが示すことができるように、スキルの実演中に捕捉されたキーフレームをユーザーに表示することができる。キーフレームと共にGUIを使用する例は、参照により本明細書に援用される、http://sim.ece.utexas.edu/static/papers/kurenkov_iros2015.pdfから入手できる、IEEE/RSJ International Conference on Intelligent Robots and Systems (2015)で公表された、Kurenkovらによって執筆された、「An Evaluation of GUI and Kinesthetic Teaching Methods for Constrained-Keyframe Skills」というタイトルの論文に記載されている。これらの例により、スキルの学習後に、スキルのモデルの修正が可能となる。本明細書に記載されるシステム及び方法によって、ロボットデバイスがスキルの特定の部分の計画及び実行を行う一方で、現在進行中のスキルの実行中に、スキルの他の部分をユーザー実演に委ねることを可能にする学習テンプレートがさらに提供される。また、本明細書に記載されるシステム及び方法によって、例えば、自律的に、又は学習プロセスに先立ってロボットデバイスに提供された情報に基づいて、いつデータを収集すべきか、及び/又はいつスキルの一部の実演を要求すべきかを決定することができるロボットデバイスが提供される。 [0173] In some embodiments, the user (or robotic device) may modify the skill's model after the skill has been demonstrated and / or after the skill's model has been generated. For example, the user can iterate over the keyframes captured during the demonstration of the skill and decide whether to retain, modify, and / or delete these keyframes. By modifying and / or deleting one or more keyframes, the user can modify the model of the skill generated based on these keyframes. Examples of using keyframe-based demonstration iterations and adaptive versions are in the Proceedings of the 7th Annual ACM / IEEE International Conference on Human-Robot Interaction (2012), pp.391-98, incorporated herein by reference. Published in a paper entitled "Trajectories and keyframes for kinesthetic teaching: a human-robot interaction perspective", published by Akgun et al. As another example, an interactive graphical user interface (“GUI”) is used to determine how much distribution is acceptable in relation to the position, orientation, etc. of components of a robotic device during planned execution. As the user can show, the keyframes captured during the demonstration of the skill can be displayed to the user. An example of using a GUI with a keyframe is available at http://sim.ece.utexas.edu/static/papers/kurenkov_iros2015.pdf, which is incorporated herein by reference, at the IEEE / RSJ International Conference on Intelligent. It appears in a paper entitled "An Evaluation of GUI and Kinesthetic Teaching Methods for Constrained-Keyframe Skills", written by Kurenkov et al., Published in Robots and Systems (2015). These examples allow the skill model to be modified after the skill has been learned. The systems and methods described herein allow robotic devices to plan and execute specific parts of a skill while leaving other parts of the skill to user demonstrations while the skill is currently in progress. Further learning templates are provided to enable. Also, when and / or skills should be collected by the systems and methods described herein, eg, autonomously or based on information provided to the robotic device prior to the learning process. Robotic devices are provided that can determine if some demonstrations should be requested.

[0174] 図17は、環境的制約を学習するプロセスを示す。上記の通り、ロボットデバイスは、環境的制約を学習するように構成することができ、環境的制約は、その環境的制約を含む状況において学習及び/又は実行されるスキルのセットに適用可能となり得る。1450では、ロボットデバイスは、任意選択的に、制約のタイプ及び/又はその制約に関連する物体の選択をユーザーに促すことができる。制約のタイプは、例えば、障壁(例えば、壁、面、境界線)、サイズ及び/又は寸法、立入禁止区域、物体の場所、時間的制約などでもよい。1452において、ロボットデバイスは、制約のタイプ及び/又は物体の選択を受け取ることができる。任意選択的に、1454において、ユーザー(又は他のロボットデバイス)は、環境的制約を実演するための動作をロボットデバイスに指導することができる。例えば、ユーザーは、備品容器の1つ又は複数のエッジに沿ってロボットデバイスの操作要素を移動させることによって、容器のサイズをロボットデバイスに実演することができる。別の例として、ユーザーは、棚の表面に沿ってロボットデバイスの操作要素を移動させることによって、棚の場所を実演することができる。ロボットデバイスの動作中、ロボットデバイスは、1456において、1つ又は複数のセンサー(例えば、カメラ、レーザー、触覚など)を用いて、制約に関連する情報を捕捉することができる。1458では、ロボットデバイスは、環境的制約を含む状況で実行されるスキルのモデルと共に使用する、環境的制約に関連する捕捉情報を保存することができる。いくつかの実施形態では、ロボットデバイスは、上記状況で実行されるスキルの各モデルに、環境的制約に関連する情報を含めることができる。代替的に、ロボットデバイスは、上記状況でスキルを計画及び/又は実行するときに、環境的制約に関連する情報を参照するように構成されてもよい。いくつかの実施形態では、環境的制約は、環境の表現(例えば、表現1600)に加えられてもよい。 [0174] Figure 17 shows the process of learning environmental constraints. As described above, the robot device can be configured to learn environmental constraints, which may be applicable to a set of skills to be learned and / or performed in situations that include the environmental constraints. .. At 1450, the robot device can optionally prompt the user to select the type of constraint and / or the object associated with that constraint. The type of constraint may be, for example, a barrier (eg, a wall, a surface, a boundary), a size and / or dimension, an exclusion zone, the location of an object, a time constraint, and the like. At 1452, the robot device can receive a choice of constraint type and / or object. Optionally, at 1454, the user (or other robotic device) can instruct the robotic device in actions to demonstrate environmental constraints. For example, the user can demonstrate the size of the container to the robot device by moving the operating elements of the robot device along one or more edges of the equipment container. As another example, the user can demonstrate the location of the shelves by moving the operating elements of the robot device along the surface of the shelves. During operation of the robot device, the robot device can capture information related to the constraint at 1456 using one or more sensors (eg, camera, laser, tactile sensation, etc.). At 1458, the robotic device can store capture information related to environmental constraints for use with models of skills performed in situations that include environmental constraints. In some embodiments, the robotic device can include information related to environmental constraints in each model of skill performed in the above situations. Alternatively, the robotic device may be configured to refer to information related to environmental constraints when planning and / or performing the skill in the above situations. In some embodiments, environmental constraints may be added to the representation of the environment (eg, representation 1600).

[0175] いくつかの実施形態では、ロボットデバイスは、ユーザーの実演又はロボットデバイスの動作を必要とすることなく、環境的制約を学習することができる。例えば、1452において、制約のタイプ及び/又は物体の選択を受け取った後に、ロボットデバイスは、1456において、環境的制約に関連する関連情報を求めて環境をスキャンするように構成されてもよい。いくつかの実施形態では、どの情報が環境的制約に関連するかをユーザーが確認及び/又は修正できるように、ロボットデバイスは、それが捕捉し、及び/又は環境的制約に関連すると決定した情報をユーザーに提示することができる。次に、ロボットデバイスは、1458において、関連情報を保存することができる。 [0175] In some embodiments, the robotic device can learn environmental constraints without the need for user demonstrations or robotic device movements. For example, at 1452, after receiving a constraint type and / or object selection, the robot device may be configured at 1456 to scan the environment for relevant information related to the environmental constraint. In some embodiments, the robotic device captures and / or determines that it is relevant to an environmental constraint so that the user can see and / or modify which information is relevant to the environmental constraint. Can be presented to the user. The robot device can then store relevant information at 1458.

[0176] いくつかの実施形態では、ロボットデバイスは、搬送要素(例えば、車輪又はトラック)を用いて、環境内を動き回り、1つ又は複数の環境的制約を学習することができる。例えば、ロボットデバイスは、例えば、実演を受け、及び/又はスキルを実行しながら、廊下又は通路を進み、その廊下が、特定の時間フレーム中は混雑することを学習することができる。いくつかの実施形態では、ロボットデバイスは、様々な環境的制約及び/又は挙動を学習し、それらを異なる条件(例えば、時間、場所など)に関連付けることができる。例えば、ロボットデバイスは、それの1つ又は複数のセンサーによって収集された情報、ユーザー入力、及び/又は(例えば、スキルの実演及び/又は実行中に)検知された情報から導出された情報に基づいて、廊下が混雑していることを認識することができる。別の例として、ロボットデバイスは、ユーザーがある特定の部屋に入ったときに、1日のうちの様々な時間で、ロボットデバイスが「こんにちは(hello)」又は「おやすみなさい(good night)」と応答すべきかを決定することができる。 [0176] In some embodiments, the robotic device can use transport elements (eg, wheels or trucks) to move around in an environment and learn one or more environmental constraints. For example, a robot device can learn to navigate a corridor or aisle, for example, receiving a demonstration and / or performing a skill, and the corridor is congested during a particular time frame. In some embodiments, the robotic device can learn various environmental constraints and / or behaviors and associate them with different conditions (eg, time, place, etc.). For example, a robot device is based on information collected by one or more of its sensors, user input, and / or information derived from information detected (eg, during a demonstration and / or execution of a skill). It can be recognized that the corridor is crowded. As another example, the robot device responds "hello" or "good night" at various times of the day when the user enters a particular room. You can decide what to do.

[0177] いくつかの実施形態では、ロボットデバイスは、自律的又はインタラクティブに、環境的制約を学習することができる。例えば、ロボットデバイスは、1458において、環境中を移動する(例えば、廊下又は通路を進む)ことによって、環境的制約の初期セットを獲得することができる。ユーザー(例えば、ロボットの監督者又はローカルユーザー)は、制約を見直し、1459において、制約を直接修正することによって、及び/又は実演によって、制約を調整すべきか否かを決定することができる。例えば、いくつかの制約は、ロボットデバイスとのインタラクション(例えば、実演)を通して提供され、他の制約(例えば、物体の場所(例えば、棚が壁から延在する距離など))は、(例えば、ユーザーインターフェース(例えば、ユーザーインターフェース240など)への)入力によって提供され得る。 [0177] In some embodiments, the robotic device can autonomously or interactively learn environmental constraints. For example, at 1458, a robotic device can acquire an initial set of environmental constraints by moving through the environment (eg, going through a corridor or aisle). The user (eg, robot supervisor or local user) can review the constraint and, at 1459, determine whether the constraint should be adjusted by directly modifying the constraint and / or by demonstrating. For example, some constraints are provided through interaction with the robot device (eg, demonstration), while other constraints (eg, the location of the object (eg, the distance the shelf extends from the wall)) (eg, the distance the shelf extends from the wall). It may be provided by input to a user interface (eg, user interface 240, etc.).

[0178] 図21は、マップ2120(例えば、建物(例えば、病院など)のマップ)を出入りする情報の一例を示す。マップ2120は、本明細書に記載されるようなロボットデバイスのいずれかのロボットデバイスなどの、1つ又は複数のロボットデバイスによって保存及び/又は保持され得る。マップ2120は、図19に示されるようなマップ1600に類似し得る。例えば、マップ2120は、例えばナビゲーション層、静的層、動的層、及び社会的層などの1つ又は複数の層2122を含み得る。 [0178] FIG. 21 shows an example of information entering and exiting map 2120 (eg, a map of a building (eg, a hospital, etc.)). Map 2120 may be stored and / or retained by one or more robotic devices, such as robotic devices of any of the robotic devices as described herein. Map 2120 may resemble map 1600 as shown in FIG. For example, map 2120 may include one or more layers 2122, such as navigation layers, static layers, dynamic layers, and social layers.

[0179] マップ2120は、学習モード2102又は実行モード2112で動作しながらロボットデバイスが使用できる情報を提供することができる。例えば、学習モード2102で動作しているロボットデバイスは、マップ2120にアクセスすることによって、(例えば、状態情報331、1732、物体情報340、1740、1つ又は複数の環境的制約1754、社会的コンテキスト1632などに類似した)1つ若しくは複数の環境的制約、1つ若しくは複数の物体、及び/又は1つ若しくは複数の社会的コンテキストに関する情報を取得することができる。このような情報は、本明細書に記載されるように、1つ又は複数の物体の場所を決定すること、1つ又は複数の物体の1つ又は複数の特性を識別すること、1つ又は複数の環境的制約を分析すること、使用すべき1つ又は複数のスキルモデルを選択すること、1つ又は複数の入力を1人又は複数人のユーザーに促すことなどをロボットデバイスが行うことを可能にすることができる。追加的又は代替的に、実行モード2112で動作しているロボットデバイスは、マップ2120にアクセスすることによって、1つ若しくは複数の環境的制約、1つ若しくは複数の物体、及び/又は1つ若しくは複数の社会的コンテキストに関する情報を取得し、その情報を使用して、環境を評価すること、異なる挙動若しくはスキル間のアービトレーションを行うこと、どのスキルを実行すべきかを決定すること、及び/又はある特定の環境に適合するように、挙動若しくはスキルを適応させることができる。 [0179] Map 2120 can provide information that can be used by the robotic device while operating in learning mode 2102 or execution mode 2112. For example, a robotic device operating in learning mode 2102 may access map 2120 (eg, state information 331, 1732, object information 340, 1740, one or more environmental constraints 1754, social context). Information about one or more environmental constraints (similar to 1632, etc.), one or more objects, and / or one or more social contexts can be obtained. Such information, as described herein, determines the location of one or more objects, identifies one or more properties of one or more objects, or one or more. Robotic devices can analyze multiple environmental constraints, select one or more skill models to use, prompt one or more users for one or more inputs, and so on. Can be made possible. Additional or alternative, a robotic device operating in run mode 2112 may access map 2120 to accommodate one or more environmental constraints, one or more objects, and / or one or more. To obtain information about a social context and use it to evaluate the environment, to perform arbitration between different behaviors or skills, to determine which skills to perform, and / or to identify. Behaviors or skills can be adapted to suit the environment of.

[0180] 学習モード2102で動作しているロボットデバイスは、マップ2120内の情報に加えられ、及び/又はマップ2120内の情報を変更する情報も提供することができる。例えば、ロボットデバイスは、検知された情報2104(例えば、ロボットデバイスの1つ若しくは複数のセンサーによって収集された情報)及び/又は導出された情報2106(例えば、例えば検知された情報2104の分析に基づいて、ロボットデバイスによって導出された情報)をマップ2120に組み込むことができる。ロボットデバイスは、このような情報を、情報をマップ2120に追加すること、及び/又はマップ2120内の既存の情報を適応させることによって組み込むことができる。追加的に、実行モード2112で動作しているロボットデバイスは、マップ2120内の情報に追加され、及び/又はマップ2120内の情報を変更する情報(例えば、検知された情報2114、導出された情報2116)を提供することができる。 [0180] The robotic device operating in learning mode 2102 can provide information in addition to and / or information in the map 2120 to change the information in the map 2120. For example, the robot device is based on analysis of detected information 2104 (eg, information collected by one or more sensors of the robot device) and / or derived information 2106 (eg, for example, detected information 2104). The information derived by the robot device) can be incorporated into the map 2120. The robotic device can incorporate such information by adding the information to the map 2120 and / or adapting the existing information in the map 2120. Additionally, the robotic device operating in run mode 2112 is added to the information in the map 2120 and / or information that modifies the information in the map 2120 (eg, detected information 2114, derived information). 2116) can be provided.

[0181] 一例として、戸口を通ってナビゲートするやり方の(例えば、図10及び16に示される実演のような)実演を受けているロボットデバイスは、マップ2120の1つ又は複数の層2122に供給される情報を実演中に収集することができる。戸口は、例えば、マップ2122に示されるように、建物中の様々な場所に存在する特定の戸口でもよい。戸口の特性及び/又は性質は、ロボットデバイス上の様々なセンサーによって記録され、及び/又は検知された情報に基づいて、ロボットデバイスによって導出され得る。例えば、ロボットデバイスは、戸口のサイズを検知し、戸口が狭い戸口であることを決定することができる。ロボットデバイスは、例えば、1つ又は複数の意味ラベルを使用して、生センサー情報又は処理されたセンサー情報として、導出されたルールとしてなど、戸口に関するこの情報をマップ2120に追加することができる。ロボットデバイスは、この情報を使用することによって、マップのコンテキスト層(例えば、マップの社会的層又は挙動層(例えば、図19に示される社会的層1630など))を適応させることもできる。例えば、ロボットデバイスは、戸口が狭い戸口であることに基づいて、例えば、ユーザー(又は他の1つ若しくは複数のロボットデバイス)に続いて及び/又は並行して戸口を通過する代わりに、ユーザー(又は他の1つ若しくは複数のロボットデバイス)によって戸口が開けられたときに戸口を通過すること、(例えば、戸口を開けておくこと、及び/又はロボットデバイスに様々な1つ若しくは複数のアクションを指導することによって)ロボットデバイスがその戸口を通ってナビゲートすることを手助けする、その戸口を熟知した特定のユーザーを探すことなどを含む、特定の1つ若しくは複数の挙動及び/又は1つ若しくは複数のアクションに従事することを決定することができる。 [0181] As an example, a robot device undergoing a demonstration of how to navigate through a doorway (eg, such as the demonstration shown in FIGS. 10 and 16) is on one or more layers 2122 of map 2120. The information provided can be collected during the demonstration. The doorway may be a specific doorway present at various locations throughout the building, for example, as shown in Map 2122. The characteristics and / or properties of the doorway can be derived by the robot device based on the information recorded and / or detected by various sensors on the robot device. For example, a robot device can detect the size of a doorway and determine that the doorway is a narrow doorway. The robotic device can add this information about the doorway to the map 2120, for example, using one or more semantic labels, as raw sensor information or processed sensor information, as derived rules. The robotic device can also use this information to adapt the context layer of the map (eg, the social or behavioral layer of the map (eg, the social layer 1630 shown in FIG. 19)). For example, a robot device is based on the fact that the doorway is a narrow doorway, for example, instead of passing through the doorway following and / or in parallel with the user (or one or more other robotic devices). Or passing through the doorway when it is opened by one or more other robotic devices (eg, keeping the doorway open, and / or performing various actions on the robotic device). Specific one or more behaviors and / or one or more, including helping the robot device navigate through the doorway (by teaching), searching for a specific user familiar with the doorway, etc. You can decide to engage in multiple actions.

[0182] いくつかの実施形態では、マップ2120は、本明細書に記載される1つ又は複数のロボットデバイスに対して一元的に保持されてもよい。例えば、マップ2120は、遠隔の計算デバイス(例えば、サーバー)上に保存され、例えば病院内で一緒に動作するロボットデバイスのグループに対して一元的にホスティングされてもよい。マップ2120は、ロボットデバイスのグループが学習モード2102及び/又は実行モード2112で動作するときに、これらのロボットデバイスから情報(例えば、検知された情報2104、2114、及び導出された情報2106、2116)が受け取られる際に更新され、アクション、挙動などを実行するために、必要に応じて各ロボットデバイスに提供されてもよい。マップ2120の1つ又は複数の層2122が適応されるように、グループ内の個々のロボットデバイスが新しい情報を学習するため、この情報は、他のロボットデバイスが類似の環境に遭遇したとき、及び/又は類似のスキル(例えば、アクション、挙動)を実行するときに、それらのロボットデバイスと共有され得る。いくつかの実施形態では、マップ2120のローカルコピーが、各ロボットデバイスに保存されてもよく、このローカルコピーは、(例えば、所定の間隔で、休みの時間又はダウンタイム中に)マップ2120の一元的に保持されたコピーを用いて更新又は同期され得る。(例えば、検知された情報2104、2114、及び導出された情報2106、2116などの新しく収集された情報を用いて)マップを定期的に更新し、及び/又は複数のロボットデバイス間でマップを共有することによって、各ロボットデバイスは、その周辺環境とインタラクトし、及び/又はその周辺環境内でスキルを実行するためのより正確な情報をロボットデバイスに提供する、より包括的なマップにアクセスすることができる。 [0182] In some embodiments, the map 2120 may be centrally retained for one or more robotic devices described herein. For example, the map 2120 may be stored on a remote computing device (eg, a server) and centrally hosted, for example, to a group of robotic devices working together in a hospital. Map 2120 displays information from these robotic devices (eg, detected information 2104, 2114, and derived information 2106, 2116) when a group of robotic devices operates in learning mode 2102 and / or execution mode 2112. May be updated as it is received and provided to each robotic device as needed to perform actions, behaviors, etc. This information is used when other robotic devices encounter similar environments, as individual robotic devices in the group learn new information so that one or more layers 2122 of map 2120 are adapted. / Or may be shared with those robotic devices when performing similar skills (eg, actions, behaviors). In some embodiments, a local copy of Map 2120 may be stored on each robotic device, which is a unit of Map 2120 (eg, at predetermined intervals, during breaks or downtime). Can be updated or synchronized with a copy that is retained. Periodically update the map (using newly collected information such as, for example, detected information 2104, 2114, and derived information 2106, 2116) and / or share the map among multiple robotic devices. By doing so, each robotic device has access to a more comprehensive map that interacts with its surroundings and / or provides the robotic device with more accurate information for performing skills within its surroundings. Can be done.

[0183] いくつかの実施形態では、マップ2120は、情報(例えば、1つ又は複数の環境的制約、1つ又は複数のルール、1つ又は複数のスキルなど)が、(例えば、学習2102及び/又は実行2112中に)学習され、及び/又は(例えば、ユーザー入力2130を用いて)ユーザーによって提供され得る混合イニシアチブマップでもよい。例えば、ロボットデバイスは、ユーザー(例えば、ロボットの監督者若しくはローカルユーザー)によって直接与えられた情報、実演及び/又は実行を通して学習された情報、又は実演及び/又は実行と、(例えば、リアルタイムで、若しくは遡及的にインタラクションに関してロボットデバイスによって要求された)ユーザー入力との組み合わせによってインタラクティブに提供された情報を組み込むことによって、マップ2120を構築することができる。例えば、ロボットデバイスがマップ2120上のある領域(例えば、狭い又は混雑した通路)をよりゆっくりと進むべきであることをユーザーはロボットデバイスに示すことができる。いくつかの実施形態では、ロボットデバイスはマップをユーザーに提示し、ユーザーはマップ上に領域を描き、ロボットがその領域をよりゆっくりと進むべきであることを示すことができる。ロボットデバイスは、複数回、マップ2120上のその領域を進むことを試み、1日のうちの特定の時間では、その領域が(例えば、過密により)避けられるべきであることを学習し得る。代替的又は追加的に、ロボットデバイスは、ロボットデバイスが自律的に対処することに慣れていない新しい状況(例えば、通路が区切られている)に遭遇し得る。このような場合には、ロボットデバイスは、その領域に関するさらなる情報を取得し、及び/又はその領域をあちこちナビゲートするやり方を決定するために、ユーザー(例えば、ロボットの監督者及び/又はローカルユーザー)とコミュニケーションを取ることができる。ユーザーの入力を要求するときに、ロボットデバイスは、状況に関して広く尋ね、及び/又は(例えば、ロボットデバイスが適切な挙動を自律的に導出することを可能にするために)ユーザーがラベル付けする例のリストを提供してもよい。いくつかの実施形態では、ロボットデバイスは、ユーザー入力なしに、ある領域に関する情報の検出及び/又は導出を行い、その領域に関連付けられた1つ又は複数のルールを確認のためにユーザーに提案することができる。いくつかの実施形態では、ユーザーは、提案されたルール及び/又はロボットデバイスからの他の情報を見たときに、それを承認する前に、そのルール及び/又は他の情報を修正することができる。以下で説明される図24は、このようなプロセスのより詳細な説明を提供する。 [0183] In some embodiments, the map 2120 is such that information (eg, one or more environmental constraints, one or more rules, one or more skills, etc.) is (eg, learning 2102 and). / Or may be a mixed initiative map that can be learned (during run 2112) and / or provided by the user (eg, using user input 2130). For example, a robot device may include information directly given by a user (eg, a robot supervisor or local user), information learned through demonstrations and / or executions, or demonstrations and / or executions (eg, in real time). Alternatively, the map 2120 can be constructed by incorporating information interactively provided in combination with user input (as required by the robotic device for interaction retroactively). For example, the user can indicate to the robot device that the robot device should travel more slowly through an area on the map 2120 (eg, a narrow or congested passage). In some embodiments, the robot device presents a map to the user, who can draw an area on the map to indicate that the robot should travel through that area more slowly. The robotic device may attempt to navigate the area on the map 2120 multiple times and learn that the area should be avoided (eg, due to overcrowding) at certain times of the day. Alternatively or additionally, the robotic device may encounter new situations (eg, aisles are separated) that the robotic device is not accustomed to coping with autonomously. In such cases, the robot device obtains more information about the area and / or determines how to navigate the area around the user (eg, the robot supervisor and / or the local user). ) And can communicate with. When requesting user input, the robot device asks broadly about the situation and / or an example that the user labels (eg, to allow the robot device to autonomously derive appropriate behavior). A list of may be provided. In some embodiments, the robotic device discovers and / or derives information about an area without user input and proposes one or more rules associated with that area to the user for confirmation. be able to. In some embodiments, the user may modify the proposed rule and / or other information when he sees it and / or other information from the robot device before approving it. can. FIG. 24, described below, provides a more detailed description of such a process.

[0184] 図22〜25は、ロボットデバイス(例えば、例えば(例えば、ロボットデバイス102、110、200、400など)を含む、本明細書に記載されるロボットデバイスのいずれかが、1つ又は複数のスキル、1つ又は複数の環境的制約などを学習することができる異なる複数の手段を示すフロー図である。いくつかの実施形態では、本明細書に記載される方法に従って動作するロボットデバイスは、常に学習(例えば、学習モードで動作)していてもよい。例えば、ロボットデバイスは、それが環境中をナビゲートし、及び/又は特定の挙動若しくはアクションに従事するときに、継続的に情報の収集、保存、分析、及び/又は更新を行い、学習された情報(例えば、スキル、挙動、環境的制約、マップなど)のライブラリーに対して適応及び/又は追加を行うことができる。他の実施形態では、ロボットデバイスは、学習モードでの動作と実行モードでの動作との切り替えを行うことができる。学習モード2202で動作する間、本明細書に記載されるロボットデバイスが、実演2204により、実行2206により、探索2208により、導出/ユーザー入力2210、及び/又はこれらの任意の組み合わせにより学習することができるようなロボットデバイス。 [0184] FIGS. 22-25 show one or more of the robotic devices described herein, including, for example, robotic devices (eg, robotic devices 102, 110, 200, 400, etc.). It is a flow diagram showing different means capable of learning one or more environmental constraints, etc. In some embodiments, a robotic device that operates according to the method described herein is a robotic device. , Always learning (eg, operating in learning mode). For example, a robot device is continuously informed as it navigates the environment and / or engages in a particular behavior or action. Can be collected, stored, analyzed, and / or updated, and adapted and / or added to a library of learned information (eg, skills, behaviors, environmental constraints, maps, etc.). In the embodiment of the above, the robot device can switch between the operation in the learning mode and the operation in the execution mode. While operating in the learning mode 2202, the robot device described in the present specification is demonstrated 2204. A robotic device such that can be learned by execution 2206, by search 2208, by derivation / user input 2210, and / or any combination thereof.

[0185] いくつかの実施形態では、ロボットデバイスは、例えば、図8〜10を参照して上記で示され、及び説明されたように、実演2204によって学習することができる。例えば、ロボットデバイスは、LfD教示プロセスを使用したスキルの実演によって、新しいスキル又は環境的制約を学習することができる。ロボットデバイスは、人間環境における過去のスキルの実演からの情報を分析及び抽出することができる。一例として、ユーザーは、ロボットデバイスに対して、人間及びロボットデバイスがいる備品室内で、ロボットデバイスの操作要素(例えば、アーム)の動かし方を実演することができる。1つ又は複数の実演から、ロボットデバイスは、1つ又は複数の既存の実演の動きに対して、今後スキルを計画し、及び/又は実行するときに、ロボットデバイスの動きを制限する1つ又は複数の環境的制約を規定することができる。ロボットデバイスは、それぞれがノード及び動きのn次元空間を通る経路を提供する、既存の実演(例えば、1つ又は複数のキーフレームのシーケンス)を用いて、動きを生成し、グラフ(環境的制約がエンコードされる)を構築することができる。その後、ロボットデバイスが、新しい環境を提示され、その新しい環境にスキルを適応させる必要があれば、ロボットデバイスは、構築されたグラフを用いて、既存の実演された動きのセットから効率的にサンプリングを行い、新しい環境用の動きを計画することができる。そのような環境的制約の学習をスキルの初期実演に組み入れることによって、ロボットデバイスは、新しい環境的制約が規定されることを必要とせずに、新しい環境に素早く適応することができる。新しい環境では、ロボットデバイスは、その環境及び/又は環境内の1つ若しくは複数の物体(例えば、人間、備品、ドアなど)に関する追加情報を取得するために環境をスキャンし、その後、既存のスキルモデルを使用して、既存の実演された動きのセットから大きく逸脱することなく、新しい環境を通る動作軌道を計画することができる。 [0185] In some embodiments, the robotic device can be learned by demonstration 2204, for example, as shown and described above with reference to FIGS. 8-10. For example, a robot device can learn a new skill or environmental constraint by demonstrating a skill using the LfD teaching process. Robotic devices can analyze and extract information from past skill demonstrations in the human environment. As an example, a user can demonstrate to a robot device how to move an operating element (eg, an arm) of the robot device in an equipment room containing humans and the robot device. From one or more demonstrations, the robot device may limit the movement of the robot device when planning and / or performing future skills for the movements of one or more existing demonstrations. Multiple environmental constraints can be specified. Robotic devices use existing demonstrations (eg, sequences of one or more keyframes), each providing a path through a node and n-dimensional space of motion, to generate motion and graph (environmental constraints). Can be constructed). Then, if the robot device is presented with a new environment and needs to adapt its skills to that new environment, the robot device efficiently samples from the existing set of demonstrated movements using the constructed graph. And can plan movements for new environments. By incorporating the learning of such environmental constraints into the initial demonstration of the skill, the robotic device can quickly adapt to the new environment without the need for new environmental constraints to be defined. In the new environment, the robot device scans the environment and / or scans the environment for additional information about one or more objects within the environment (eg, humans, fixtures, doors, etc.) and then existing skills. Models can be used to plan motion trajectories through new environments without significantly deviating from the existing set of demonstrated motions.

[0186] いくつかの実施形態では、ロボットデバイスは、実演2204及びユーザー入力2210によって学習することができる。例えば、ロボットデバイスは、例えばインタラクティブ学習テンプレートを用いた、ユーザーとのインタラクティブ学習に従事することができる。上記の通り、インタラクティブ学習を用いた場合、ロボットデバイス及び/又はスキルモデルの初期セットを提供した。モデルの初期セットは、工場の状況で、他のロボットデバイス、及び/又は1つ若しくは複数の状況でロボットデバイス自体によって開発されてもよい。ある特定の環境で動作する間、ロボットデバイスは、インタラクティブ学習セッション(このセッションでは、ロボットデバイスが、スキルの特定の部分を自律的に実施する一方で、他の部分をユーザーによる実演に委ねることができる)によって、このスキルの初期セットの適応又は特化を行うことができる。さらに、このようなインタラクティブ学習プロセスのさらなる詳細は、図16を参照して説明される。 [0186] In some embodiments, the robotic device can be learned by demonstration 2204 and user input 2210. For example, a robot device can engage in interactive learning with a user, for example using an interactive learning template. As mentioned above, we have provided an initial set of robotic devices and / or skill models when using interactive learning. An initial set of models may be developed by other robotic devices in factory situations and / or by the robotic device itself in one or more situations. While operating in one particular environment, the robot device can perform an interactive learning session, in which the robot device autonomously performs certain parts of the skill while leaving other parts to user demonstrations. Can) to adapt or specialize an initial set of this skill. Further details of such an interactive learning process will be described with reference to FIG.

[0187] いくつかの実施形態では、ロボットデバイスは、スキルを実行2206しながら学習することができる。例えば、ロボットデバイスは、ロボットデバイスが挙動、アクションなどを実行するときに、情報の収集、保存、分析、及び/又は更新を行うことができる(例えば、図11の774、図13の1304、1305、及び1307で)。ある実施形態では、ロボットデバイスは、1日に数回、ロボットデバイスが通路を移動することを必要とするスキルを実行することができる。ロボットデバイスは、1日のうちの特定の時間に、通路の通行量がより多いことを学習することができる。その後、ロボットデバイスは、例えば、通行量の多い、それらの時間中は、その通路を通過することを避けるように(例えば、別のルートを行くことによって、及び/又は通行量の少ない時間にその通路を通過するように待つことによって)、その挙動を適応させることができる。 [0187] In some embodiments, the robotic device can learn while performing the skill 2206. For example, a robot device can collect, store, analyze, and / or update information as the robot device performs behaviors, actions, etc. (eg, 774 in FIG. 11 and 1304, 1305 in FIG. 13). , And 1307). In certain embodiments, the robotic device can perform skills that require the robotic device to move through aisles several times a day. The robot device can learn that there is more traffic in the aisle at a particular time of the day. The robot device is then used, for example, to avoid passing through the passage during those times of heavy traffic (eg, by taking another route and / or at times of low traffic). The behavior can be adapted (by waiting to pass through the passage).

[0188] いくつかの実施形態では、ロボットデバイスは、探索2208によって学習することができる。図23は、探索による学習の例示的方法を示すフロー図である。ロボットデバイスは、2302において、環境をスキャンし、環境及び/又は環境内の物体に関する情報を収集することができる。任意選択的に、ロボットデバイスが収集した情報に基づいて、ロボットデバイスは、スキルを実行することによって、環境を探索することを決定することができる。スキルを実行するために、ロボットデバイスは、2304において、既存のスキルモデルを選択し、2306において、スキルモデルを使用してスキルの実行を計画し、及び2308において、スキルを実行することができる。例えば、ロボットデバイスは、環境をスキャンし、戸口を識別することができる。ロボットデバイスは、ドアを開けるステップ及び戸口を通って移動するステップを含むスキルの実行を決定することができる。2304では、ロボットデバイスは、戸口を通ってナビゲートするために、これまでに提供及び/又は学習された既存のスキルモデルを選択することができる。2306では、ロボットデバイスは、既存のスキルを使用して(例えば、図11を参照して述べられたプロセスに類似したプロセスに従って)、ドアを開け、及び戸口を通って移動する計画を生成することができる。そして、2308において、ロボットデバイスは、生成された計画に従ってスキルを実行することができる。2310において、スキルを実行する間、ロボットデバイスは、環境及び/又はスキルの実行に関する情報を収集し、その情報を、戸口との以前のインタラクション中に収集された情報と比較することができる。この比較に基づいて、ロボットデバイスは、それの戸口とのインタラクションが成功であったか、或いは失敗であったかを(例えば、上記のような成功基準に基づいて)評価することができる。ロボットデバイスは、任意選択的に、2312において、それのスキルの実行に基づいて、その戸口に固有のスキルモデルを生成することができる。 [0188] In some embodiments, the robotic device can be learned by search 2208. FIG. 23 is a flow chart showing an exemplary method of learning by exploration. At 2302, the robotic device can scan the environment and / or collect information about the environment and / or objects within the environment. Optionally, based on the information collected by the robot device, the robot device can decide to explore the environment by performing the skill. To execute a skill, the robot device can select an existing skill model at 2304, plan the execution of the skill using the skill model at 2306, and execute the skill at 2308. For example, a robot device can scan the environment and identify doorways. The robotic device can determine the execution of a skill, including the step of opening a door and the step of moving through a doorway. At 2304, the robotic device can select existing skill models previously provided and / or learned to navigate through the doorway. In 2306, the robotic device uses existing skills (eg, according to a process similar to the process described with reference to FIG. 11) to generate a plan to open a door and move through the doorway. Can be done. Then, at 2308, the robot device can perform the skill according to the generated plan. At 2310, while performing the skill, the robot device can collect information about the environment and / or perform the skill and compare that information with the information collected during the previous interaction with the doorway. Based on this comparison, the robot device can evaluate whether its interaction with the doorway was successful or unsuccessful (eg, based on the success criteria described above). The robot device can optionally generate a skill model specific to its doorway at 2312, based on the execution of its skill.

[0189] いくつかの実施形態では、ロボットデバイスは、スキルの実行を開始し、そのスキルをさらに完了させるためにはユーザー入力が必要とされることを決定することができる。例えば、図16を参照して上記に記載したように、ロボットデバイスは、スキルの実行を開始し、実行の仕方をロボットデバイスが決定できないスキルの部分に到達すると、スキルの実行を進めるために、ユーザー入力を求めることができる。 [0189] In some embodiments, the robotic device can initiate the execution of a skill and determine that user input is required to further complete the skill. For example, as described above with reference to FIG. 16, the robot device starts executing the skill, and when the robot device reaches the part of the skill where the execution method cannot be determined, the execution of the skill is advanced. User input can be requested.

[0190] いくつかの実施形態では、ロボットデバイスは、スキルを実行し、その実行が失敗したことを決定することができる。例えば、ロボットデバイスは、戸口を通る動作を計画し、及び/又は実行することができるが、(例えば、ドアを開ける試み、又は狭い戸口の向こう側にナビゲートする試みの失敗により)戸口を通って移動できなかったことを検出し得る。ロボットデバイスは、環境を再度スキャンすることを決定し(2314:YES)、2306〜2308において、スキルの再計画及び再実行を行うことができる。いくつかの実施形態では、ロボットデバイスは、2304において、別のスキル(例えば、狭い戸口に対して、より固有のスキル)を選択し、次に、その別のスキルに基づいて、再計画及び再実行を行うことができる。ロボットデバイスが、それがある目的を満たした(例えば、所定の回数、又は所定数のやり方で、成功裏にスキルを実行した、環境に関する十分な情報を学習したなど)と決定するまで、ロボットデバイスは、スキルの再検知、再計画、及び再実行を行うことによって、探索により学習を続けることができる。2316では、ロボットデバイスは、環境及び/又は環境内の物体に関するそれが収集した情報、並びに任意選択的に、環境内のスキルの実行に基づいて、それが適応させるか又は生成したモデルを保存することができる。 [0190] In some embodiments, the robotic device can perform a skill and determine that the execution has failed. For example, a robotic device can plan and / or perform movements through a doorway, but through the doorway (eg, due to an attempt to open a door or to navigate across a narrow doorway). It can be detected that it could not be moved. The robotic device decides to scan the environment again (2314: YES) and can replan and re-execute the skill at 2306-2308. In some embodiments, the robotic device selects another skill at 2304 (eg, a more specific skill for a narrow doorway) and then replans and replans based on that other skill. Can be executed. Until the robot device determines that it has met a purpose (eg, successfully performed a skill a given number of times or in a given number of ways, learned enough information about the environment, etc.). Can continue learning by exploration by rediscovering, replanning, and re-executing skills. At 2316, the robot device stores the information it collects about the environment and / or objects within the environment, and optionally, based on the performance of the skill within the environment, the model it adapts or generates. be able to.

[0191] いくつかの実施形態では、ロボットデバイスは、ユーザー入力2210を用いた、探索2208による学習に従事することができる。例えば、ロボットデバイスは、ある特定の環境を探索し、及び/又はその環境に関してさらに多くの情報を学習するために、その環境において、1つ又は複数のスキルを実行することができる。ロボットデバイスが探索を行っている間に、ユーザー(例えば、遠隔の監督者又はローカルユーザー)は、(例えば、環境内にいることによって直接的に、及び/又はロボットデバイスを通して)ユーザーが認識した、及び/又は環境に関して学習した情報に基づいて、入力をロボットデバイスに提供することができる。そのとき、ユーザーは、環境の探索をさらに指導する1つ又は複数の入力をロボットデバイスに提供することができる。例えば、戸口に遭遇したロボットデバイスは、その戸口を通ってナビゲートするための1つ又は複数の動作を計画することができる。それらの動作を実行した際に、ロボットデバイスは、その戸口を通ってナビゲートすることに失敗する場合がある。ユーザーは、ロボットデバイスによる試みの失敗を見て、戸口を通ってナビゲートする2度目の試みにおいて、ロボットデバイスを指導するための1つ又は複数の入力をロボットデバイスに提供することができる。例えば、ユーザーは、戸口が狭い戸口であることを決定し、ロボットデバイスが、その戸口を通ってナビゲートする前に、まずドアを開けることを近くのユーザー又はロボットデバイスに求めるべきであることをロボットデバイスに示すことができる。ユーザー入力を受け取ると、ロボットデバイスは、戸口を通ってナビゲートする前に、ドアを開けることをユーザーに求めることができる。 [0191] In some embodiments, the robotic device can engage in learning by search 2208 using user input 2210. For example, a robotic device may perform one or more skills in a particular environment in order to explore and / or learn more information about that environment. While the robot device is exploring, the user (eg, a remote supervisor or local user) is recognized by the user (eg, directly by being in the environment and / or through the robot device). Inputs can be provided to the robot device based on the information learned about and / or the environment. The user can then provide the robot device with one or more inputs that further guide the search for the environment. For example, a robot device that encounters a doorway can plan one or more actions for navigating through the doorway. When performing those actions, the robot device may fail to navigate through its doorway. The user may see the failure of the attempt by the robot device and provide the robot device with one or more inputs to guide the robot device in a second attempt to navigate through the doorway. For example, the user decides that the doorway is a narrow doorway and that the robot device should first ask a nearby user or robot device to open the door before navigating through the doorway. Can be shown on a robot device. Upon receiving user input, the robot device can ask the user to open the door before navigating through the doorway.

[0192] いくつかの実施形態では、ロボットデバイスは、環境及び/又は環境内の物体に関する情報をユーザーから受け取ること、又はモデルの初期セット、ルールなどをユーザーから受け取ることによって、ユーザー入力2210によって学習することができる。いくつかの実施形態では、ロボットデバイスは、最初に、(例えば、図10を参照して上記に記載したように)実演によってスキルを学習し、ユーザー入力に基づいて、そのスキルを適応させることを学習してもよい。例えば、ロボットデバイスは、第1の場所から第2の場所へと備品を移動させ、その後、備品を第2の場所に降ろすスキルを学習することができる。スキルのユーザー実演中に、ユーザーは、第2の場所に備品を降ろすことが、環境又は状況に固有の特定情報を必要とすることをロボットデバイスに示すことができる。ユーザーは、後に、異なる複数の備品及び/又は異なる複数の場所に関して、備品を降ろす間、ロボットデバイスが観察すべき特有の情報を指定する入力をロボットデバイスに提供することができる。例えば、ユーザーは、ロボットデバイスがどこに備品を降ろすべきかを識別するタグ又はマーカーに関する情報を提供することができる。 [0192] In some embodiments, the robotic device learns by user input 2210 by receiving information about the environment and / or objects in the environment from the user, or by receiving an initial set of models, rules, etc. from the user. can do. In some embodiments, the robotic device first learns a skill by demonstration (eg, as described above with reference to FIG. 10) and adapts the skill based on user input. You may learn. For example, a robot device can learn the skill of moving equipment from a first place to a second place and then unloading the equipment to a second place. During a user demonstration of the skill, the user can indicate to the robot device that unloading equipment at a second location requires specific information specific to the environment or situation. The user can later provide the robot device with an input that specifies specific information that the robot device should observe while unloading the equipment with respect to different equipment and / or different locations. For example, the user can provide information about a tag or marker that identifies where the robot device should unload equipment.

[0193] いくつかの実施形態では、ロボットデバイスは、保存された情報及び/又はユーザー入力2210に基づいて、挙動又はルール(例えば、上記のような、1つ又は複数のアービトレーションアルゴリズム1858)を学習することができる。図24は、挙動及び/又はルールのロボット学習の例示的方法のフローチャートである。ロボットデバイスは、2402において、保存された情報(例えば、1つ又は複数のマップ、1つ又は複数のモデル、1つ又は複数のユーザー入力)を分析することができる。ロボットデバイスは、2404において、保存された情報の分析に基づいて、挙動及び/又はルールを導出することができる。例えば、ユーザー(例えば、ロボットの監督者又はローカルユーザー)は、より多くの人間がロボットデバイスの近くにいるときは、より対話型となるように、ロボットデバイスに関するルールを規定することができる。ロボットデバイスは、保存された情報の分析に基づいて、1日のうちのある特定の時間中(例えば、昼食時間頃)に、より多くの人間がそれの近くにいることを決定し得る。したがって、ロボットデバイスはさらに、1日のうちのその時間中は、それがより対話型となるべきであることを導出し得る。いくつかの実施形態では、ロボットデバイスは、新しいルールとして、この挙動を自動的に実施することができる。代替的に、ロボットデバイスは、2406において、ユーザーに対する新しいルールとして、1日のうちのその時間に、より対話型となることを提案することができる。ロボットデバイスは、2408において、ルールの提案に応答して、ユーザー入力を受け取ることができる。例えば、ユーザーは、ロボットデバイスのローカル及び/又は遠隔のディスプレイ上でルールを見て、それを承認又は拒否することを選択することができる。ユーザー入力に基づいて、ロボットデバイスは、2410において、その挙動及び/又はルールを修正することができる。例えば、ルールを承認可能であることをユーザーが示す場合には、ロボットデバイスは、その新しいルールを保存し、今後、それを実施することができる。或いは、ルールは、承認可能であるが、さらなる微調整又は変更を伴うことをユーザーが示す場合には(例えば、カフェテリア内でのみ、昼食時間頃に、より対話型となること)、ロボットデバイスは、そのルールを適応させ、今後の実施のために、適応させたルールを保存することができる。 [0193] In some embodiments, the robot device learns behavior or rules (eg, one or more arbitration algorithms 1858 as described above) based on stored information and / or user input 2210. can do. FIG. 24 is a flow chart of an exemplary method of robot learning of behavior and / or rules. At 2402, the robot device can analyze stored information (eg, one or more maps, one or more models, one or more user inputs). At 2404, the robotic device can derive behaviors and / or rules based on the analysis of the stored information. For example, a user (eg, a robot supervisor or a local user) can specify rules for a robot device so that it is more interactive when more people are near the robot device. Based on the analysis of stored information, the robot device may determine that more humans are near it during a particular time of the day (eg, around lunch time). Therefore, the robot device can further derive that it should be more interactive during that time of the day. In some embodiments, the robotic device can automatically implement this behavior as a new rule. Alternatively, the robotic device can be proposed at 2406 to be more interactive at that time of the day as a new rule for the user. At 2408, the robot device can receive user input in response to rule proposals. For example, the user may view the rule on the local and / or remote display of the robot device and choose to approve or reject it. Based on user input, the robot device can modify its behavior and / or rules at 2410. For example, if the user indicates that the rule can be approved, the robot device can save the new rule and implement it in the future. Alternatively, if the rule is acceptable but the user indicates that it involves further tweaks or changes (eg, to be more interactive only in the cafeteria, around lunch time), the robot device , The rule can be adapted and the adapted rule can be saved for future implementation.

[0194] いくつかの実施形態では、ロボットデバイスは、ユーザー入力に基づいて、既存のスキル及び/又は環境的制約を適応させることによって、スキル及び/又は環境的制約を学習することができる。図25は、ユーザー入力に基づいて、スキル及び/又は環境的制約を適応させる例示的方法のフロー図である。ロボットデバイスは、2502において、ユーザー入力を受け取ることができる。ロボットデバイスは、2504において、ユーザー入力を1つ又は複数のスキル及び/又は環境的制約に関連付けることができる。このような関連付けは、例えば、ユーザーによるさらなる入力(例えば、ユーザーが、入力が関係するスキル及び/又は環境的制約を指定すること)、及び/又はロボットデバイスによる導出(例えば、このような入力が、ある特定のスキル又は環境的制約に関連することを、この入力、及び/又はこの特定のスキル若しくは環境的制約に関連する、1つ又は複数のルール、属性などに基づいて、ロボットデバイスが決定することに基づいてもよい。例えば、ユーザーは、QRコード(登録商標)、バーコード、タグなどの物体を識別するための新しい情報をロボットデバイスに提供することができる。ユーザーは、この新しい情報が、ある特定の物体に関するものであることを指定することができ、ロボットデバイスは、新しい情報をこの物体に関連付けることができる。ロボットデバイスは、その物体に関する新しい情報を、その物体とのインタラクションに関与する1つ又は複数のスキル(例えば、つかむスキル又は移動スキル)にさらに関連付けることができる。ロボットデバイスは、任意選択的に、2506〜2508において、入力に基づいて、スキル又は環境的制約の修正及び/又は生成を行うことができる。 [0194] In some embodiments, the robotic device can learn skills and / or environmental constraints by adapting existing skills and / or environmental constraints based on user input. FIG. 25 is a flow diagram of an exemplary method of adapting skills and / or environmental constraints based on user input. The robot device can receive user input at 2502. The robot device can associate user input with one or more skills and / or environmental constraints in 2504. Such associations are, for example, further input by the user (eg, the user specifies the skill and / or environmental constraints associated with the input), and / or derivation by a robotic device (eg, such input). , The robot device determines that it is related to a particular skill or environmental constraint, based on this input and / or one or more rules, attributes, etc. related to this particular skill or environmental constraint. For example, the user may provide the robot device with new information for identifying an object such as a QR code®, bar code, tag, etc. The user may provide this new information. However, it can be specified that it is about a particular object, and the robot device can associate new information with this object. The robot device transfers new information about that object to the interaction with that object. It can be further associated with one or more skills involved (eg, grab or move skills). The robotic device optionally modifies the skill or environmental constraint based on the input at 2506-2508. And / or generation can be performed.

[0195] いくつかの実施形態では、ロボットデバイスは、スキル及び/又は環境的制約に関連する情報をユーザーが遡及的にラベル付けすることを可能にすることができる。例えば、ロボットは、例えばユーザーインターフェース(例えば、ユーザーインターフェース240)及び/又は遠隔のインターフェースを用いて、スキル又は環境的制約をユーザーに提示することができる。ユーザーは、スキル又は環境的制約に関連付けられたラベルの追加、修正、及び/又は除去を行うことを選択することができ、このような入力は、2502において、ロボットデバイスで受け取られ得る。その後、ロボットデバイスは、2504において、入力をスキル又は環境的制約に関連付けることができ、2506〜2508において、入力に基づいて、新しいスキル又は環境的制約の修正及び/又は生成を行うことができる。 [0195] In some embodiments, the robotic device can allow the user to retrospectively label information related to skills and / or environmental constraints. For example, the robot can present skills or environmental constraints to the user, for example using a user interface (eg, user interface 240) and / or a remote interface. The user may choose to add, modify, and / or remove labels associated with the skill or environmental constraint, such input may be received by the robot device at 2502. The robot device can then associate the input with a skill or environmental constraint at 2504 and modify and / or generate a new skill or environmental constraint based on the input at 2506-2508.

実施例
[0196] 本開示は、以下の実施例のいずれか1つから最大で全てを含み得ることが認識されるだろう。
Example
[0196] It will be appreciated that this disclosure may include up to all from any one of the following examples:

[0197] 実施例1:メモリー、プロセッサー、操作要素、及びセンサーのセットを有する装置であって、プロセッサーが、メモリー、操作要素、及びセンサーのセットに動作可能に結合され、並びに、センサーのセットからのセンサーのサブセットを用いて、環境の表現を取得することと、環境の表現内で複数のマーカーを識別することであって、複数のマーカーからの各マーカーが、環境内に位置する複数の物理的物体からの物理的物体に関連付けられる、識別することと、環境の表現内で複数のマーカーからの各マーカーの位置を示す情報を提示することと、複数の物理的物体からの物理的物体のセットに関連付けられた、複数のマーカーからのマーカーのセットの選択を受け取ることと、環境内の操作要素の動きに関連する複数の位置からの位置ごとに、操作要素に関連する感覚情報を取得することであって、操作要素の動きが、操作要素と物理的物体のセットとの物理的インタラクションに関連する、取得することと、感覚情報に基づいて、操作要素と物理的物体のセットとの物理的インタラクションを実行するための操作要素の動作を規定するように構成されたモデルを生成することと、を行うように構成された、装置。 [0197] Example 1: A device having a set of memory, processor, operating element, and sensor, wherein the processor is operably coupled to the set of memory, operating element, and sensor, and from the set of sensors. Using a subset of the sensors of, to get a representation of the environment and to identify multiple markers within the representation of the environment, where each marker from multiple markers is a plurality of physics located within the environment. Identifying the physical object from the physical object, presenting information indicating the position of each marker from multiple markers in the representation of the environment, and the physical object from multiple physical objects. Receives a selection of a set of markers from multiple markers associated with the set, and obtains sensory information related to the operating element for each position from multiple positions related to the movement of the operating element in the environment. That is, the movement of the operating element is related to the physical interaction between the operating element and the set of physical objects, and the physics of the operating element and the set of physical objects based on the sensory information. A device configured to generate and perform a model configured to specify the behavior of an operating element to perform a physical interaction.

[0198] 実施例2:物理的物体のセットが、人間を含む、実施例1の装置。 [0198] Example 2: The device of Example 1, wherein the set of physical objects includes a human.

[0199] 実施例3:操作要素が、物理的物体のセットからの物理的物体のサブセットと係合するように構成されたエンドエフェクターを含む、実施例1又は2に記載の装置。 [0199] Example 3: The apparatus of Example 1 or 2, wherein the operating element comprises an end effector configured to engage a subset of physical objects from a set of physical objects.

[0200] 実施例4:センサーのサブセットが、第1のセンサーのサブセットであり、プロセッサーが、センサーのセットからの第2のセンサーのサブセットを用いて感覚情報を取得するように構成され、第2のセンサーのサブセットが、第1のセンサーのサブセットとは異なる、実施例1〜3のいずれか1つに記載の装置。 [0200] Example 4: A subset of sensors is a subset of the first sensor, the processor is configured to acquire sensory information using a subset of the second sensor from a set of sensors, second. The apparatus according to any one of Examples 1 to 3, wherein the subset of sensors of the first sensor is different from the subset of the first sensor.

[0201] 実施例5:操作要素が、複数の関節によって連結された複数の可動コンポーネントを含み、センサーのセットが、複数の関節からの関節に作用する力を測定するように構成されたセンサー、又は複数の可動コンポーネントからの可動コンポーネントと、物理的物体のセットからの物理的物体との係合を検出するように構成されたセンサーの少なくとも一方を含む、実施例1〜4のいずれか1つに記載の装置。 [0201] Example 5: A sensor, wherein the operating element comprises a plurality of movable components connected by a plurality of joints, and a set of sensors is configured to measure the force acting on the joints from the plurality of joints. Or any one of Examples 1 to 4, comprising at least one of a sensor configured to detect engagement of a movable component from a plurality of movable components with a physical object from a set of physical objects. The device described in.

[0202] 実施例6:センサーのセットが、装置の一部に対する、関節又は可動コンポーネントの位置を測定するように構成されたセンサーをさらに含む、実施例5に記載の装置。 [0202] Example 6: The device of Example 5, wherein the set of sensors further comprises a sensor configured to measure the position of a joint or movable component with respect to a portion of the device.

[0203] 実施例7:センサーのセットが、光センサー、温度センサー、音声捕捉デバイス、及びカメラの少なくとも1つをさらに含む、実施例5に記載の装置。 [0203] Example 7: The apparatus of Example 5, wherein the set of sensors further comprises at least one of an optical sensor, a temperature sensor, a voice capture device, and a camera.

[0204] 実施例8:操作要素が、(i)複数の関節と、(ii)物理的物体のセットからの物理的物体を移動させるように構成されたエンドエフェクターと、を含み、センサーのセットが、エンドエフェクターが物理的物体を移動させるときに、エンドエフェクター、又はエンドエフェクターに結合された複数の関節からの関節の少なくとも一方にかかる力を測定するように構成されたセンサーを含む、実施例1に記載の装置。 [0204] Example 8: A set of sensors comprising (i) a plurality of joints and (ii) an end effector configured to move a physical object from a set of physical objects. Examples include a sensor configured to measure the force exerted on at least one of an end effector or a joint from multiple joints coupled to the end effector as the end effector moves a physical object. The device according to 1.

[0205] 実施例9:感覚情報が、特徴のセットに関連するセンサーデータを含み、プロセッサーが、特徴のセットからの第1の特徴のサブセットの選択を受け取るようにさらに構成され、プロセッサーが、第1の特徴のサブセットに関連するセンサーデータに基づき、且つ第1の特徴のセットに含まれない、特徴のセットからの第2の特徴のサブセットに関連するセンサーデータには基づかずに、モデルを生成するように構成される、実施例1〜8のいずれか1つに記載の装置。 [0205] Example 9: Sensory information includes sensor data associated with a set of features, the processor is further configured to receive a selection of a subset of the first features from the set of features, and the processor is the second. Generate a model based on sensor data related to a subset of features and not based on sensor data related to a subset of second features from a set of features that are not included in the first set of features. The apparatus according to any one of Examples 1 to 8, which is configured to be the same.

[0206] 実施例10:ユーザーによって行われた選択に応答して、プロセッサーが、第1の特徴のサブセットの選択を受け取るように、特徴のセットからの少なくとも1つの特徴を選択するようにユーザーに促すようにプロセッサーがさらに構成される、実施例9に記載の装置。 [0206] Example 10: In response to a selection made by the user, the user is asked to select at least one feature from the set of features so that the processor receives a selection of a subset of the first features. The device of Example 9, wherein the processor is further configured to prompt.

[0207] 実施例11:複数のマーカーが、基準マーカーであり、環境の表現が、環境の視覚的表現である、実施例1〜10のいずれか1つに記載の装置。 [0207] Example 11: The apparatus according to any one of Examples 1 to 10, wherein the plurality of markers are reference markers and the representation of the environment is a visual representation of the environment.

[0208] 実施例12:プロセッサーが、モデル及びモデルに関連する情報をメモリーに保存するようにさらに構成され、モデルに関連する情報が、(i)マーカーのセット及び(ii)感覚情報を含む、実施例1〜11のいずれか1つに記載の装置。 [0208] Example 12: The processor is further configured to store the model and model-related information in memory, the model-related information including (i) a set of markers and (ii) sensory information. The apparatus according to any one of Examples 1 to 11.

[0209] 実施例13:操作要素が、複数の関節を含み、感覚情報が、操作要素の動きに関連する複数の位置からの位置ごとに、複数の関節からの各関節の現在の状態を示す情報を含む、実施例1に記載の装置。 [0209] Example 13: The operating element comprises a plurality of joints, and the sensory information indicates the current state of each joint from the plurality of joints for each position from the plurality of positions related to the movement of the operating element. The apparatus according to the first embodiment, which comprises information.

[0210] 実施例14:ユーザーによって行われた選択に応答して、プロセッサーが、マーカーのセットの選択を受け取るように、プロセッサーが、上記提示後に、複数のマーカーからの少なくとも1つのマーカーを選択するようにユーザーに促すようにさらに構成される、実施例1〜13のいずれか1つに記載の装置。 [0210] Example 14: The processor selects at least one marker from a plurality of markers after the above presentation so that the processor receives a selection of a set of markers in response to a selection made by the user. The apparatus according to any one of Examples 1 to 13, further configured to urge the user to do so.

[0211] 実施例15:プロセッサーが、センサーのセットを用いて、環境内の関心のある領域のセンシング又はスキャニングによって、環境の表現を取得するように構成される、実施例1〜14のいずれか1つに記載の装置。 [0211] Example 15: Any of Examples 1-14, wherein the processor is configured to acquire a representation of the environment by sensing or scanning a region of interest in the environment using a set of sensors. The device according to one.

[0212] 実施例16:センサーのセットを用いて、環境の表現を取得することと、環境の表現内で複数のマーカーを識別することであって、複数のマーカーからの各マーカーが、環境内に位置する複数の物理的物体からの物理的物体に関連付けられる、識別することと、環境の表現内で複数のマーカーからの各マーカーの位置を示す情報を提示することと、上記提示後に、複数の物理的物体からの物理的物体のセットに関連付けられた、複数のマーカーからのマーカーのセットの選択を受け取ることと、環境内の操作要素の動きに関連する複数の位置からの位置ごとに、操作要素に関連する感覚情報を取得することであって、操作要素の動きが、操作要素と物理的物体のセットとの物理的インタラクションに関連する、取得することと、感覚情報に基づいて、操作要素と物理的物体のセットとの物理的インタラクションを実行するための操作要素の動作を規定するように構成されたモデルを生成することと、を有する方法。 [0212] Example 16: Obtaining a representation of an environment using a set of sensors and identifying a plurality of markers within the representation of the environment, wherein each marker from the plurality of markers is within the environment. To identify and identify the physical object from multiple physical objects located in, and to present information indicating the position of each marker from multiple markers in the representation of the environment, and after the above presentation, multiple. Receiving a selection of a set of markers from multiple markers associated with a set of physical objects from a physical object in the environment, and by position from multiple positions related to the movement of the operating element in the environment. Acquiring sensory information related to an operating element, in which the movement of the operating element is related to the physical interaction between the operating element and a set of physical objects, and the operation based on the sensory information. A method of generating and having a model configured to specify the behavior of an operating element for performing a physical interaction between an element and a set of physical objects.

[0213] 実施例17:感覚情報が、特徴のセットに関連するセンサーデータを含み、方法が、特徴のセットからの第1の特徴のサブセットの選択を受け取ることをさらに有し、上記生成することが、第1の特徴のサブセットに関連するセンサーデータに基づき、且つ第1の特徴のセットに含まれない、特徴のセットからの第2の特徴のサブセットに関連するセンサーデータには基づかずに、モデルを生成することを含む、実施例16に記載の方法。 [0213] Example 17: The sensory information comprises sensor data associated with a set of features, further comprising the method receiving a selection of a subset of first features from the set of features, and generating above. However, based on the sensor data related to the subset of the first feature, and not based on the sensor data related to the subset of the second feature from the set of features, which is not included in the first set of features. 16. The method of Example 16, comprising generating a model.

[0214] 実施例18:ユーザーによって行われた選択に応答して、第1の特徴のサブセットの選択が受け取られるように、特徴のセットからの少なくとも1つの特徴を選択するようにユーザーに促すことをさらに有する、実施例17に記載の方法。 [0214] Example 18: Encouraging the user to select at least one feature from a set of features so that the selection of a subset of the first features is received in response to the selection made by the user. The method according to Example 17, further comprising.

[0215] 実施例19:複数のマーカーが、基準マーカーであり、環境の表現が、環境の視覚的表現である、実施例16〜18のいずれか1つに記載の方法。 [0215] Example 19: The method according to any one of Examples 16-18, wherein the plurality of markers are reference markers and the representation of the environment is a visual representation of the environment.

[0216] 実施例20:操作要素が、複数の関節を含み、感覚情報が、操作要素の動きに関連する複数の位置からの位置ごとに、複数の関節からの各関節の現在の状態を示す情報を含む、実施例16〜19のいずれか1つに記載の方法。 [0216] Example 20: The operating element comprises a plurality of joints, and the sensory information indicates the current state of each joint from the plurality of joints for each position from the plurality of positions related to the movement of the operating element. The method according to any one of Examples 16 to 19, which comprises information.

[0217] 実施例21:ユーザーによって行われた選択に応答して、マーカーのセットの選択が受け取られるように、上記提示後に、複数のマーカーからの少なくとも1つのマーカーを選択するようにユーザーに促すことをさらに有する、実施例16〜20のいずれか1つに記載の方法。 [0217] Example 21: In response to a selection made by the user, the user is urged to select at least one marker from a plurality of markers after the presentation so that the selection of a set of markers is received. The method according to any one of Examples 16 to 20, further comprising the above.

[0218] 実施例22:環境の表現を取得することが、センサーのセットを用いて、環境内の関心のある領域のセンシング又はスキャニングを行うことを含む、実施例16〜21のいずれか1つに記載の方法。 [0218] Example 22: Any one of Examples 16-21, wherein acquiring a representation of the environment involves sensing or scanning a region of interest in the environment using a set of sensors. The method described in.

[0219] 実施例23:プロセッサーによって実行される命令を表すコードを保存する、非一時的なプロセッサー可読媒体であって、コードが、センサーのセットを用いて、環境の表現を取得することと、環境の表現内で複数のマーカーを識別することであって、複数のマーカーからの各マーカーが、環境内に位置する複数の物理的物体からの物理的物体に関連付けられる、識別することと、環境の表現内で複数のマーカーからの各マーカーの位置を示す情報を提示することと、複数の物理的物体からの物理的物体のセットに関連付けられた、複数のマーカーからのマーカーのセットの選択の受け取りに応答して、操作要素と物理的物体のセットとの物理的インタラクションを実行することに関連するモデルを識別することであって、操作要素が、複数の関節及びエンドエフェクターを含む、識別することと、モデルを使用して、物理的インタラクションを実行することに関連する、複数の関節及びエンドエフェクターの動作を規定する、操作要素の軌道を生成することと、をプロセッサーに行わせるコードを有する、非一時的なプロセッサー可読媒体。 [0219] Example 23: A non-temporary processor-readable medium that stores code representing an instruction executed by a processor, wherein the code uses a set of sensors to obtain a representation of the environment. Identifying multiple markers within a representation of the environment, where each marker from multiple markers is associated with a physical object from multiple physical objects located within the environment. Presenting information indicating the position of each marker from multiple markers within the representation of, and selecting a set of markers from multiple markers associated with a set of physical objects from multiple physical objects. Identifying a model associated with performing a physical interaction between an operating element and a set of physical objects in response to receipt, wherein the operating element comprises multiple joints and end effectors. It has code that causes the processor to use the model to generate trajectories of operating elements that define the behavior of multiple joints and end effectors related to performing physical interactions. , Non-temporary processor readable medium.

[0220] 実施例24:物理的インタラクションを実行することに関連するモデルを識別することをプロセッサーに行わせるコードが、モデルを識別するようにユーザーに促すことをプロセッサーに行わせるコードを含む、実施例23に記載の非一時的なプロセッサー可読媒体。 [0220] Example 24: Implementation, wherein the code that causes the processor to identify the model associated with performing the physical interaction comprises the code that causes the processor to prompt the user to identify the model. The non-transient processor-readable medium according to Example 23.

[0221] 実施例25:物理的インタラクションを実行することに関連するモデルを識別することをプロセッサーに行わせるコードが、マーカーのセットの選択に基づいて、プロセッサーにモデルを識別させるコードを含む、実施例23又は24に記載の非一時的なプロセッサー可読媒体。 [0221] Example 25: The code that causes the processor to identify the model associated with performing the physical interaction comprises a code that causes the processor to identify the model based on the selection of a set of markers. The non-transient processor-readable medium according to Example 23 or 24.

[0222] 実施例26:環境の表現内で操作要素の軌道をユーザーに表示することと、表示後に、ユーザーから入力を受け取ることと、操作要素の軌道の承認を示す入力に応答して、物理的インタラクションを実行するために、複数の関節及びエンドエフェクターの動作を実施することと、をプロセッサーに行わせるコードをさらに有する、実施例23〜25のいずれか1つに記載の非一時的なプロセッサー可読媒体。 [0222] Example 26: Displaying the trajectory of an operating element to the user in a representation of the environment, receiving input from the user after display, and physics in response to an input indicating approval of the trajectory of the operating element. The non-temporary processor according to any one of Examples 23-25, further comprising a code that causes the processor to perform the actions of multiple joints and end effectors to perform a targeted interaction. Readable medium.

[0223] 実施例27:軌道が、第1の軌道であり、非一時的なプロセッサー可読媒体が、操作要素の軌道の承認を示さない入力に応答して、モデルに関連するパラメーターのセットを修正することによって修正モデルを生成することと、修正モデルを使用して、操作要素の第2の軌道を生成することと、をプロセッサーに行わせるコードをさらに有する、実施例23〜26のいずれか1つに記載の非一時的なプロセッサー可読媒体。 [0223] Example 27: The orbit is the first orbit and the non-transient processor-readable medium modifies the set of parameters associated with the model in response to an input that does not indicate the approval of the orbit of the operating element. 1 A non-transient processor-readable medium described in one.

[0224] 実施例28:軌道が、第1の軌道であり、モデルが、第1のモデルであり、非一時的なプロセッサー可読媒体が、操作要素の軌道の承認を示さない入力に応答して、第1のモデルを生成するために使用された特徴のセットとは異なる特徴のセットに関連するセンサーデータに基づいて、第2のモデルを生成することと、第2のモデルを使用して、操作要素の第2の軌道を生成することと、をプロセッサーに行わせるコードをさらに有する、実施例23〜26のいずれか1つに記載の非一時的なプロセッサー可読媒体。 Example 28: The orbit is the first orbit, the model is the first model, and the non-temporary processor readable medium responds to an input that does not indicate approval of the orbit of the operating element. To generate a second model based on sensor data related to a different set of features than the set of features used to generate the first model, and to use the second model, The non-temporary processor-readable medium according to any one of Examples 23-26, further comprising a code that causes the processor to generate a second trajectory of the operating element.

[0225] 実施例29:物理的インタラクションを実行するために、複数の関節及びエンドエフェクターの動作を実施することと、物理的インタラクションの実行に関連する感覚情報を取得することと、感覚情報に基づいて、物理的インタラクションの実行が、あらかじめ規定及び/又は学習された成功基準を満たすか否かを決定することと、をプロセッサーに行わせるコードをさらに有する、実施例23〜28のいずれか1つに記載の非一時的なプロセッサー可読媒体。 [0225] Example 29: Performing the movements of a plurality of joints and end effectors in order to perform a physical interaction, acquiring sensory information related to performing the physical interaction, and based on the sensory information. One of Examples 23-28, further comprising a code that causes the processor to determine whether the execution of the physical interaction meets pre-specified and / or learned success criteria. Non-temporary processor readable medium as described in.

[0226] 実施例30:物理的インタラクションの実行が、あらかじめ規定及び/又は学習された成功基準を満たすという決定に応答して、物理的インタラクションが成功したことを示す信号を生成することと、物理的インタラクションの実行が、あらかじめ規定及び/又は学習された成功基準を満たさないという決定に応答して、感覚情報に基づいてモデルを修正することによって、修正モデルを生成することと、修正モデルを用いて、操作要素の第2の軌道を生成することと、をプロセッサーに行わせるコードをさらに有する、実施例29に記載の非一時的なプロセッサー可読媒体。 [0226] Example 30: Generating a signal indicating a successful physical interaction and physics in response to a decision that the execution of the physical interaction meets pre-specified and / or learned success criteria. Generating a modified model by modifying the model based on sensory information in response to a decision that the execution of a physical interaction does not meet pre-defined and / or learned success criteria, and using the modified model. 29. The non-transitory processor readable medium of Example 29, further comprising a code that causes the processor to generate a second trajectory of the operating element.

[0227] 実施例31:モデルが、(i)保存されたマーカーのセットと、(ii)保存されたマーカーのセットに関連する、操作要素の保存された軌道に沿った点における操作要素の位置又は向きの少なくとも一方を示す感覚情報と、(iii)保存された軌道に沿った点における、複数の関節の構成を示す感覚情報と、に関連付けられ、操作要素の軌道を生成することをプロセッサーに行わせるコードが、マーカーのセット及び保存されたマーカーのセット間の変換関数を計算することと、点ごとに、変換関数を用いて、操作要素の位置又は向きの少なくとも一方を変換することと、点ごとに、保存された軌道に沿った点における複数の関節の構成に基づいて、複数の関節の計画された構成を決定することと、点ごとに、その点に関する複数の関節の計画された構成に基づいて、その点及び連続点間の軌道の一部を決定することと、をプロセッサーに行わせるコードを含む、実施例23〜30のいずれか1つに記載の非一時的なプロセッサー可読媒体。 [0227] Example 31: The model positions the operating element at a point along the stored trajectory of the operating element in relation to (i) a set of conserved markers and (ii) a set of conserved markers. Or the processor is associated with sensory information indicating at least one of the orientations and (iii) sensory information indicating the composition of multiple joints at points along the conserved trajectory to generate the trajectory of the operating element. The code to be done is to calculate the conversion function between the set of markers and the set of stored markers, and to use the conversion function pointwise to convert at least one of the positions or orientations of the operating elements. For each point, determine the planned composition of multiple joints based on the composition of multiple joints at points along the conserved trajectory, and for each point, plan for multiple joints at that point. The non-temporary processor readable according to any one of Examples 23-30, comprising code that causes the processor to determine a portion of the orbit between that point and the continuum based on the configuration. Medium.

[0228] 実施例32:モデルが、(i)保存されたマーカーのセットと、(ii)保存されたマーカーのセットに関連する、操作要素の保存された軌道に沿った点における操作要素の位置又は向きの少なくとも一方を示す感覚情報と、に関連付けられ、操作要素の軌道を生成することをプロセッサーに行わせるコードが、マーカーのセット及び保存されたマーカーのセット間の変換関数を計算することと、点ごとに、変換関数を用いて、操作要素の位置又は向きの少なくとも一方を変換することと、点ごとに、複数の関節の計画された構成を決定することと、点ごとに、その点に関する複数の関節の計画された構成に基づいて、その点及び連続点間の軌道の一部を決定することと、をプロセッサーに行わせるコードを含む、実施例23〜30のいずれか1つに記載の非一時的なプロセッサー可読媒体。 [0228] Example 32: The position of the operational element at a point along the conserved trajectory of the operational element in which the model is (i) associated with a set of conserved markers and (ii) a set of conserved markers. Or the code associated with the sensory information indicating at least one of the orientations and causing the processor to generate the trajectories of the operating elements is to calculate the conversion function between the set of markers and the set of stored markers. , Pointwise, using a transformation function to transform at least one of the positions or orientations of the operating element, pointwise, determining the planned configuration of multiple joints, and pointwise, pointwise. In any one of Examples 23-30, including a code that causes the processor to determine a portion of the orbit between that point and the continuum based on the planned configuration of the plurality of joints with respect to. The non-temporary processor readable medium described.

[0229] 実施例33:操作要素の第1の場所と、物理的物体のセットからの物理的物体の場所との間の距離に基づいて、操作要素の場所を変更するか否かを決定することと、操作要素の場所を変更するとの決定に応答して、物理的物体の場所により近接する第2の場所へと操作要素を第1の場所から移動させることと、をプロセッサーに行わせるコードをさらに有し、操作要素の軌道を生成することをプロセッサーに行わせるコードが、上記移動後に、操作要素の第2の場所に対する物理的物体の場所に基づいて、軌道を生成することをプロセッサーに行わせるコードを含む、請求項23〜32のいずれか一項に記載の非一時的なプロセッサー可読媒体。 [0229] Example 33: Determining whether to change the location of the operating element based on the distance between the location of the first operating element and the location of the physical object from the set of physical objects. Code that causes the processor to move the operational element from the first location to a second location closer to the location of the physical object in response to the decision to change the location of the operational element. Further, the code that causes the processor to generate the trajectory of the operating element, after the above movement, causes the processor to generate the trajectory based on the location of the physical object with respect to the second location of the operating element. The non-temporary processor-readable medium of any one of claims 23-32, comprising a code to be performed.

[0230] 様々な発明の実施形態を本明細書に記載及び図示したが、当業者は、本明細書に記載される機能を行い、及び/又は本明細書に記載される結果及び/又は利点の1つ若しくは複数を得るための様々な他の手段及び/又は構造を容易に想像し、そのような変形形態及び/又は変更形態のそれぞれは、本明細書に記載される発明の実施形態の範囲内であると見なされる。より一般的に、本明細書に記載される全てのパラメーター、寸法、材料、及び構成が、例示的であることを意図されていることと、実際のパラメーター、寸法、材料、及び/又は構成が、本発明の教示が使用される具体的な1つ又は複数の適用例によって決まることとを当業者は容易に理解するだろう。当業者は、本明細書に記載される具体的な発明の実施形態の多数の均等物を認識し、又はありふれた実験を行うだけで、それらを解明できるだろう。したがって、上述の実施形態が、単なる例として提示されること、並びに添付の特許請求の範囲及びその均等物の範囲内で、発明の実施形態が、具体的に記載及び請求された以外の方法で実施され得ることが理解されるものとする。本開示の発明の実施形態は、本明細書に記載される個々の特徴、システム、製品、材料、キット、及び/又は方法に向けられる。さらに、2つ以上のこのような特徴、システム、製品、材料、キット、及び/又は方法の任意の組み合わせは、それらの特徴、システム、製品、材料、キット、及び/又は方法が互いに矛盾しなければ、本開示の発明範囲内に含まれる。 [0230] Although various embodiments of the invention have been described and illustrated herein, those skilled in the art perform the functions described herein and / or the results and / or advantages described herein. Various other means and / or structures for obtaining one or more of these are readily envisioned, each of such variants and / or modifications of the embodiments of the invention described herein. It is considered to be within range. More generally, all parameters, dimensions, materials, and configurations described herein are intended to be exemplary and actual parameters, dimensions, materials, and / or configurations. Those skilled in the art will readily appreciate that the teachings of the present invention are determined by one or more specific applications in which they are used. One of ordinary skill in the art will be able to elucidate them simply by recognizing a number of equivalents of the embodiments of the specific inventions described herein or by performing mundane experiments. Accordingly, the embodiments described above are presented merely as examples, and within the scope of the appended claims and their equivalents, the embodiments of the invention are provided in ways other than those specifically described and claimed. It shall be understood that it can be carried out. The embodiments of the invention of the present disclosure are directed to the individual features, systems, products, materials, kits, and / or methods described herein. Moreover, any combination of two or more such features, systems, products, materials, kits, and / or methods must be inconsistent with each other in their features, systems, products, materials, kits, and / or methods. For example, it is included in the scope of the invention of the present disclosure.

[0231] また、様々な発明概念が、1つ又は複数の方法として具現化されることが可能であり、その一例を提供した。方法の一部として行われるアクトは、任意の適切なやり方で順序付けられてもよい。したがって、例示されたものとは異なる順序でアクトが行われる実施形態が構築されることが可能であり、これらの実施形態は、例示的実施形態では、逐次的アクトとして示されているが、いくつかのアクトを同時に行うことを含み得る。 [0231] Further, various invention concepts can be embodied as one or more methods, and an example thereof is provided. Acts performed as part of the method may be ordered in any suitable manner. Therefore, it is possible to construct embodiments in which the acts are performed in a different order than those exemplified, and these embodiments are shown as sequential acts in the exemplary embodiments, but how many. It may include performing such acts at the same time.

[0232] 本明細書に記載される、いくつかの実施形態及び/又は方法は、(ハードウェア上で実行される)別のソフトウェア、ハードウェア、又はそれらの組み合わせによって行われ得る。ハードウェアモジュールは、例えば、汎用プロセッサー、フィールド・プログラマブル・ゲート・アレイ(FPGA)、及び/又は特定用途向け集積回路(ASIC)を含み得る。(ハードウェア上で実行される)ソフトウェアモジュールは、C、C++、Java(商標)、Ruby、Visual Basic(商標)、及び/又は他のオブジェクト指向、手続き型、若しくは他のプログラミング言語及び開発ツールを含む、様々なソフトウェア言語(例えば、コンピューターコード)で表現され得る。コンピューターコードの例には、マイクロコード又はマイクロ命令、コンパイラーによって生成されるようなマシン命令、ウェブサービスを生み出すために使用されるコード、及びインタープリターを用いてコンピューターによって実行される高水準命令を含むファイルが含まれるが、これらに限定されない。例えば、実施形態は、命令型プログラミング言語(例えば、C、Fortranなど)、関数型プログラミング言語(Haskell、Erlangなど)、論理型プログラミング言語(例えば、Prolog)、オブジェクト指向プログラミング言語(例えば、Java、C++など)、又は他の適宜のプログラミング言語及び/又は開発ツールを用いて実施され得る。コンピューターコードの追加例には、制御信号、暗号化コード、及び圧縮コードが含まれるが、これらに限定されない。 [0232] Some embodiments and / or methods described herein may be performed by different software, hardware, or a combination thereof (executed on hardware). The hardware module may include, for example, a general purpose processor, a field programmable gate array (FPGA), and / or an application specific integrated circuit (ASIC). Software modules (running on hardware) include C, C ++, Java ™, Ruby, Visual Basic ™, and / or other object-oriented, procedural, or other programming languages and development tools. It can be expressed in various software languages (eg, computer code), including. Examples of computer code include microcode or microinstruction, machine instructions as generated by a compiler, code used to generate web services, and high-level instructions executed by a computer using an interpreter. Contains, but is not limited to, files. For example, embodiments include imperative programming languages (eg, C, Fortran, etc.), functional programming languages (Haskell, Erlang, etc.), logical programming languages (eg, Prolog), and object-oriented programming languages (eg, Java, C ++). Etc.), or can be implemented using other suitable programming languages and / or development tools. Additional examples of computer codes include, but are not limited to, control signals, encryption codes, and compression codes.

[0233] 様々な要素を描写するために、「第1の」、「第2の」、「第3の」などの用語が本明細書で使用される場合があるが、これらの要素は、これらの用語によって限定されるものではないことが理解されるだろう。これらの用語は、ある要素を別の要素と区別するためだけに使用される。したがって、本明細書で述べられる第1の要素は、本開示の教示から逸脱することなく、第2の要素と名付けられ得る。 [0233] In order to describe various elements, terms such as "first", "second", and "third" may be used herein, but these elements are not included. It will be understood that these terms are not limited. These terms are used only to distinguish one element from another. Accordingly, the first element described herein can be named the second element without departing from the teachings of the present disclosure.

[0234] 本明細書で使用される用語は、単に、特定の実施形態を説明する目的のためのものであり、制限的であることが意図されるものではない。本明細書で使用されるように、単数形「a」、「an」、及び「the」は、文脈上明らかに他の意味を示す場合を除き、複数形も含むことが意図される。本明細書で使用される「有する」という用語(「comprises」及び/又は「comprising」)、又は「含む」という用語(「includes」及び/又は「including」)は、明記された特徴、領域、整数値、ステップ、動作、要素、及び/又はコンポーネントの存在を指定するが、1つ又は複数の他の特徴、領域、整数値、ステップ、動作、要素、コンポーネント、及び/又はこれらの群の存在又は追加を除外しないことがさらに理解されるだろう。 [0234] The terminology used herein is solely for the purpose of describing a particular embodiment and is not intended to be restrictive. As used herein, the singular forms "a," "an," and "the" are intended to include the plural, unless the context clearly indicates other meanings. As used herein, the term "having" ("comprises" and / or "comprising"), or the term "includes" ("includes" and / or "including") is a specified feature, area, or. Specifies the existence of an integer value, step, action, element, and / or component, but the existence of one or more other features, regions, integer values, steps, actions, elements, components, and / or groups of these. Or it will be further understood not to exclude additions.

Claims (18)

操作要素と、
表面に沿って移動するように構成された搬送要素と、
センサーのセットと、
メモリーと、
前記メモリー、前記操作要素、前記搬送要素、及び前記センサーのセットに動作可能に結合されたプロセッサーであって、
前記センサーのセットからの第1のセンサーのサブセットを用いて、環境の情報を取得することと、
前記環境の前記情報に基づいて、スキルのモデルを選択することと、
前記モデルを使用して前記スキルの少なくとも一部を実行する計画を、前記モデルを使用して生成することであって、前記計画が、前記操作要素又は前記搬送要素の少なくとも一方の1つ又は複数の動作を含む、生成することと、
前記計画に基づいて、前記操作要素又は前記搬送要素の前記少なくとも一方を動かすことと、
前記操作要素又は前記搬送要素の前記少なくとも一方が、前記計画に基づいて、動いているときに、前記センサーのセットからの第2のセンサーのサブセットを用いて、前記環境、前記操作要素、又は前記搬送要素の少なくとも1つの情報を取得することと、
前記環境、前記操作要素、又は前記搬送要素の前記少なくとも1つの前記情報に基づいて、前記環境のマップを更新することと、
を行うように構成されたプロセッサーと、
を有する、装置。
Operation elements and
With transport elements configured to move along the surface,
With a set of sensors
Memory and
A processor operably coupled to the memory, the operating element, the transport element, and the set of sensors.
Obtaining environmental information using a subset of the first sensor from the set of sensors.
Choosing a skill model based on the information in the environment
Using the model to generate a plan to perform at least a portion of the skill using the model, wherein the plan is one or more of the operating element or at least one of the transporting elements. To generate, including the behavior of
To move the operating element or at least one of the transporting elements based on the plan.
The environment, the operating element, or said Acquiring information on at least one of the transport elements,
Updating a map of the environment based on said at least one piece of information about the environment, the operating element, or the transporting element.
With a processor configured to do
Has a device.
前記スキルの前記一部が、第1の部分であり、前記プロセッサーが、
前記スキルの第2の部分が、前記環境に対する特化を必要とすることを決定することと、
前記スキルの前記第2の部分が特化を必要とするとの決定に応答して、前記ユーザーからの入力を要求することと、
前記ユーザーからの前記入力の受け取りに応答して、前記スキルの前記第2の部分を実行する計画を生成することと、
前記スキルの前記第2の部分を実行する前記計画に基づいて、前記操作要素及び前記搬送要素の前記少なくとも一方を動かすことと、
をさらに行うように構成される、請求項1に記載の装置。
The part of the skill is the first part, and the processor
Determining that the second part of the skill requires specialization for the environment,
Responding to the determination that the second part of the skill requires specialization, and requesting input from the user.
To generate a plan to perform the second part of the skill in response to receiving the input from the user.
To move at least one of the operating element and the transport element based on the plan of executing the second part of the skill.
The apparatus according to claim 1, wherein the device is configured to further perform.
前記スキルの前記一部が、第1の部分であり、前記プロセッサーが、
前記スキルの第2の部分が、前記環境に対する特化を必要とすることを決定することと、
前記スキルの前記第2の部分が特化を必要とするとの決定に応答して、前記ユーザーに実演を要求することと、
前記実演に関連する複数の位置からの各位置に関して、第3のセンサーのサブセットによって収集され、及び前記環境、前記操作要素、又は前記搬送要素の少なくとも1つに関連する情報を取得することと、
前記モデル及び前記第3のセンサーのサブセットによって収集された前記情報を用いて、前記環境で前記スキルを実行するための特化モデルを生成することと、
をさらに行うように構成される、請求項1に記載の装置。
The part of the skill is the first part, and the processor
Determining that the second part of the skill requires specialization for the environment,
In response to the determination that the second part of the skill requires specialization, requesting the user to demonstrate and
Obtaining information collected by a subset of a third sensor and relating to at least one of the environment, the operating element, or the transport element for each position from the plurality of locations associated with the demonstration.
Using the information collected by the model and a subset of the third sensor to generate a specialized model for performing the skill in the environment.
The apparatus according to claim 1, wherein the device is configured to further perform.
前記プロセッサーが、前記環境、前記操作要素、又は前記搬送要素の前記少なくとも1つの前記情報に基づいて、前記操作要素又は前記搬送要素の前記少なくとも一方の前記動作が、1つ又は複数の成功基準を満たせなかったことを決定することと、
前記動作が前記1つ又は複数の成功基準を満たせなかったとの決定に応答して、前記スキルの少なくとも一部を実行するために、前記計画を修正することと、
前記修正計画に基づいて、前記操作要素又は前記搬送要素の前記少なくとも一方を動かすことと、
をさらに行うように構成される、請求項1に記載の装置。
The processor sets one or more success criteria for the operation of the operating element or at least one of the transporting elements based on the environment, the operating element, or at least one said information of the transporting element. Determining what was not met and
Modifying the plan to perform at least a portion of the skill in response to the determination that the action did not meet the one or more success criteria.
To move the operating element or at least one of the transporting elements based on the modification plan.
The apparatus according to claim 1, wherein the device is configured to further perform.
前記環境の前記マップが、少なくとも意味層及びコンテキスト層を含み、前記プロセッサーが、
前記環境内の1つ又は複数の物体に関連する情報を前記意味層に保存することと、
前記1つ又は複数の物体に関連する前記情報に基づいて、前記1つ又は複数の物体の近くで実行する1つ又は複数の挙動を決定することと、
前記1つ又は複数の挙動を前記コンテキスト層に保存することと、
によって、前記環境の前記マップを更新するように構成される、請求項1に記載の装置。
The map of the environment comprises at least a semantic layer and a context layer, and the processor.
To store information related to one or more objects in the environment in the semantic layer.
Determining one or more behaviors to be performed near the one or more objects based on the information associated with the one or more objects.
Saving the one or more behaviors in the context layer
The device according to claim 1, wherein the map of the environment is configured to be updated by the device.
前記プロセッサーが、
前記スキルの前記少なくとも一部を実行する前記計画をユーザーに表示することと、
前記表示後に、前記スキルの前記少なくとも一部の実行を始める確認を示す入力を前記ユーザーから受け取ることと、
をさらに行うように構成され、
前記プロセッサーが、前記入力の受け取りに応答して、前記操作要素又は前記搬送要素の前記少なくとも一方を動かすように構成される、請求項1に記載の装置。
The processor
To display to the user the plan to perform at least a portion of the skill.
After the display, receiving an input from the user indicating confirmation to start executing the at least a part of the skill.
Is configured to do more,
The device of claim 1, wherein the processor is configured to move at least one of the operating element or the transporting element in response to receiving the input.
前記プロセッサーが、
前記スキルの前記少なくとも一部を実行する前記計画をユーザーに表示することと、
前記表示後に、前記計画に対する変更を示す入力を前記ユーザーから受け取ることと、
前記入力に基づいて、前記計画を修正することと、
をさらに行うように構成され、
前記プロセッサーが、前記計画の修正後に、前記計画に基づいて、前記操作要素又は前記搬送要素の前記少なくとも一方を動かすように構成される、請求項1に記載の装置。
The processor
To display to the user the plan to perform at least a portion of the skill.
After the display, receiving an input from the user indicating a change to the plan,
Modifying the plan based on the input
Is configured to do more,
The apparatus according to claim 1, wherein the processor is configured to move at least one of the operating element or the transporting element based on the plan after the modification of the plan.
前記操作要素が、複数の関節によって連結された複数の可動コンポーネントを含み、
前記センサーのセットが、
前記複数の関節からの関節に作用するトルクを測定するように構成されたセンサー、又は
前記複数の可動コンポーネントからの可動コンポーネントと、前記物理的物体のセットからの物理的物体との係合を検出するように構成されたセンサー、
の少なくとも一方を含む、請求項1に記載の装置。
The operating element comprises a plurality of movable components connected by a plurality of joints.
The set of sensors
A sensor configured to measure the torque acting on a joint from the plurality of joints, or the engagement of a movable component from the plurality of movable components with a physical object from the set of the physical objects is detected. Sensors configured to
The device of claim 1, comprising at least one of the above.
前記操作要素が、前記環境内の1つ又は複数の物体と係合するように構成されたエンドエフェクターを含む、請求項1に記載の装置。 The device of claim 1, wherein the operating element comprises an end effector configured to engage one or more objects in the environment. 操作要素と、
表面に沿って移動するように構成された搬送要素と、
センサーのセットと、
メモリーと、
前記メモリー、前記操作要素、前記搬送要素、及び前記センサーのセットに動作可能に結合されたプロセッサーであって、
前記センサーのセットを用いて、環境の情報を取得することと、
前記環境の前記情報の受け取りに応答して、計算デバイスが、前記環境の前記情報をユーザーに提示するように、前記環境の前記情報を前記計算デバイスに送ることと、
前記ユーザーからの入力を前記計算デバイスから受け取ることと、
前記環境の前記情報及び前記入力に基づいて、スキルのモデルを選択することと、
前記環境の前記情報及び前記入力に基づいて、前記スキルの少なくとも一部を実行する計画を前記モデルを用いて生成することと、
前記計画に基づいて、前記操作要素又は前記搬送要素の前記少なくとも一方を動かすことと、
を行うように構成されたプロセッサーと、
を有する、装置。
Operation elements and
With transport elements configured to move along the surface,
With a set of sensors
Memory and
A processor operably coupled to the memory, the operating element, the transport element, and the set of sensors.
Using the set of sensors to obtain environmental information,
In response to receiving the information in the environment, the computing device sends the information in the environment to the computing device so that the information in the environment is presented to the user.
Receiving input from the user from the computing device
To select a skill model based on the information in the environment and the input.
Using the model to generate a plan to perform at least a portion of the skill, based on the information in the environment and the input.
To move the operating element or at least one of the transporting elements based on the plan.
With a processor configured to do
Has a device.
前記入力が、前記環境の追加情報を取得する命令を含み、前記スキルが、第1の場所から第2の場所への移動に関与し、前記プロセッサーが、
前記センサーのセットを用いて、前記環境内の少なくとも1つの物体に関連する情報を含む、前記環境の前記追加情報を取得することと、
前記環境の前記追加情報を前記計算デバイスに送ることと、
をさらに行うように構成され、
前記プロセッサーが、前記第1の場所から前記第2の場所へと移動するように前記搬送要素を動作させることによって、前記操作要素又は前記搬送要素の前記少なくとも一方を動かすように構成される、請求項10に記載の装置。
The input comprises an instruction to acquire additional information about the environment, the skill is involved in the move from the first place to the second place, and the processor.
Using the set of sensors to obtain said additional information about the environment, including information related to at least one object in the environment.
Sending the additional information of the environment to the computing device and
Is configured to do more,
A claim configured in which the processor is configured to move the operating element or at least one of the transport elements by operating the transport element to move from the first location to the second location. Item 10. The apparatus according to item 10.
前記入力が、前記環境内の物体の特性を示し、前記スキルが、前記物体とのインタラクションに関与し、前記プロセッサーが、少なくとも部分的に前記入力に基づいて、前記環境内の前記物体を識別するようにさらに構成される、請求項10に記載の装置。 The input exhibits the characteristics of the object in the environment, the skill is involved in the interaction with the object, and the processor identifies the object in the environment at least partially based on the input. 10. The apparatus of claim 10, further configured as such. 前記入力が、社会的挙動を実行する命令を含み、前記スキルが、少なくとも1人の人間とのインタラクションに関与し、前記プロセッサーが、
前記環境内の前記少なくとも1人の人間を識別することと、
前記少なくとも1人の人間の近くで前記社会的挙動を実行することと、
をさらに行うように構成される、請求項10に記載の装置。
The input comprises a command to perform a social behavior, the skill is involved in an interaction with at least one human, and the processor is:
Identifying the at least one person in the environment and
Performing the social behavior in the vicinity of the at least one person,
10. The apparatus of claim 10.
前記操作要素が、前記環境内で1つ又は複数の物体をつかむように構成されたエンドエフェクターを含み、前記スキルが、第1の場所から第2の場所へと物体を移動させることに関与し、前記プロセッサーが、前記物体をつかむように前記操作要素を動かすこと、及び前記第1の場所から前記第2の場所へと移動するように前記搬送要素を動かすことによって、前記操作要素及び前記搬送要素の前記少なくとも一方を動かすように構成される、請求項10に記載の装置。 The operating element comprises an end effector configured to grab one or more objects in the environment, and the skill is involved in moving the object from a first location to a second location. By moving the operating element so that the processor grabs the object and moving the transport element so as to move from the first location to the second location, the operating element and the transport. 10. The device of claim 10, configured to move at least one of the elements. 前記入力が、前記モデルを修正する命令を含み、前記プロセッサーが、
前記入力に基づいて、前記モデルを修正するようにさらに構成され、
前記プロセッサーが、前記修正後に前記モデルを使用して、前記スキルの前記少なくとも一部を実行する前記計画を生成するように構成される、請求項10に記載の装置。
The input comprises an instruction to modify the model, the processor.
Further configured to modify the model based on the input,
10. The device of claim 10, wherein the processor is configured to use the model after the modification to generate the plan to perform said at least a portion of the skill.
前記入力が、前記モデルを含み、前記モデルが、前記環境の前記情報に基づいて、前記計算デバイスにおいて、前記ユーザーによって構成される、請求項10に記載の装置。 10. The apparatus of claim 10, wherein the input comprises the model, wherein the model is configured by the user in the computing device based on the information in the environment. ロボットデバイスの第1のセンサーのセットを用いて、環境の情報を取得することと、
前記環境の前記情報に基づいて、前記ロボットデバイスのメモリーに保存されたスキルのモデルを選択することと、
前記モデルを使用して前記スキルの少なくとも一部を実行する計画を、前記モデルを使用して生成することであって、前記計画が、前記ロボットデバイスの操作要素又は搬送要素の少なくとも一方の1つ又は複数の動作を含む、生成することと、
前記計画に基づいて、前記操作要素又は前記搬送要素の前記少なくとも一方を動かすことと、
前記操作要素又は前記搬送要素の前記少なくとも一方が、前記計画に基づいて、動いているときに、前記ロボットデバイスの第2のセンサーのセットを用いて、前記環境、前記操作要素、又は前記搬送要素の少なくとも1つの情報を取得することと、
前記環境、前記操作要素、又は前記搬送要素の前記少なくとも1つの前記情報に基づいて、前記メモリーに保存された前記環境のマップを更新することと、
を有する、方法。
Obtaining environmental information using the first set of sensors in a robotic device,
To select a skill model stored in the memory of the robot device based on the information in the environment.
Using the model to generate a plan to perform at least a portion of the skill using the model, wherein the plan is at least one of an operating element or a transport element of the robot device. Or to generate, including multiple actions,
To move the operating element or at least one of the transporting elements based on the plan.
When the operating element or at least one of the transport elements is moving according to the plan, the environment, the operating element, or the transport element is used with the second set of sensors of the robot device. To get at least one piece of information
Updating the map of the environment stored in the memory based on the at least one piece of information about the environment, the operating element, or the transport element.
The method.
前記環境の前記マップに対する前記更新を示す情報を計算デバイスに送ることと、
前記ロボットデバイス以外のロボットデバイスのセットから前記計算デバイスによって受け取られた、前記環境の前記マップに対する更新を示す情報を前記計算デバイスから受け取ることと、
をさらに有する、方法。
Sending information indicating the update to the map of the environment to the computing device
Receiving from the computing device information indicating an update to the map of the environment received by the computing device from a set of robotic devices other than the robotic device.
Further have a method.
JP2021510317A 2018-08-28 2019-08-28 Systems, equipment, and methods for robot learning and execution of skills Pending JP2021534988A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862723694P 2018-08-28 2018-08-28
US62/723,694 2018-08-28
US16/456,919 US11148288B2 (en) 2017-02-25 2019-06-28 Systems, apparatus, and methods for robotic learning and execution of skills
US16/456,919 2019-06-28
PCT/US2019/048601 WO2020047120A1 (en) 2018-08-28 2019-08-28 Systems, apparatus, and methods for robotic learning and execution of skills

Publications (2)

Publication Number Publication Date
JP2021534988A true JP2021534988A (en) 2021-12-16
JPWO2020047120A5 JPWO2020047120A5 (en) 2022-09-05

Family

ID=69645343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021510317A Pending JP2021534988A (en) 2018-08-28 2019-08-28 Systems, equipment, and methods for robot learning and execution of skills

Country Status (3)

Country Link
EP (1) EP3843952A1 (en)
JP (1) JP2021534988A (en)
WO (1) WO2020047120A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11534913B2 (en) 2020-05-21 2022-12-27 Intrinsic Innovation Llc Integrating sensor streams for robotic demonstration learning
US11685047B2 (en) 2020-05-21 2023-06-27 Intrinsic Innovation Llc Skill template distribution for robotic demonstration learning
US11986958B2 (en) 2020-05-21 2024-05-21 Intrinsic Innovation Llc Skill templates for robotic demonstration learning
US11524402B2 (en) 2020-05-21 2022-12-13 Intrinsic Innovation Llc User feedback for robotic demonstration learning
US11679497B2 (en) 2020-05-21 2023-06-20 Intrinsic Innovation Llc Distributed robotic demonstration learning
EP4288254A1 (en) * 2021-02-08 2023-12-13 Diligent Robotics, Inc. Systems, apparatuses, and methods for robotic learning and execution of skills including navigation and manipulation functions
US11717974B1 (en) * 2022-06-10 2023-08-08 Sanctuary Cognitive Systems Corporation Haptic photogrammetry in robots and methods for operating the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271975A (en) * 2002-03-15 2003-09-26 Sony Corp Method of extracting plane, extractor therefor, program therefor, recording medium therefor, and robot system mounted with plane extractor
JP2004049731A (en) * 2002-07-23 2004-02-19 Yaskawa Electric Corp Teaching method for limb driving-gear
JP2005131713A (en) * 2003-10-28 2005-05-26 Advanced Telecommunication Research Institute International Communication robot

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014089316A1 (en) * 2012-12-06 2014-06-12 International Electronic Machines Corporation Human augmentation of robotic work
US9597797B2 (en) * 2013-11-01 2017-03-21 Brain Corporation Apparatus and methods for haptic training of robots
US10022867B2 (en) * 2014-11-11 2018-07-17 X Development Llc Dynamically maintaining a map of a fleet of robotic devices in an environment to facilitate robotic action

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271975A (en) * 2002-03-15 2003-09-26 Sony Corp Method of extracting plane, extractor therefor, program therefor, recording medium therefor, and robot system mounted with plane extractor
JP2004049731A (en) * 2002-07-23 2004-02-19 Yaskawa Electric Corp Teaching method for limb driving-gear
JP2005131713A (en) * 2003-10-28 2005-05-26 Advanced Telecommunication Research Institute International Communication robot

Also Published As

Publication number Publication date
EP3843952A1 (en) 2021-07-07
WO2020047120A1 (en) 2020-03-05

Similar Documents

Publication Publication Date Title
US11298825B2 (en) Systems, apparatus, and methods for robotic learning and execution of skills
JP2021534988A (en) Systems, equipment, and methods for robot learning and execution of skills
US11833684B2 (en) Systems, apparatus, and methods for robotic learning and execution of skills
US20210346557A1 (en) Robotic social interaction
EP3585569B1 (en) Systems, apparatus, and methods for robotic learning and execution of skills
US11904470B2 (en) Systems, apparatuses, and methods for robotic learning and execution of skills including navigation and manipulation functions
Schiffer et al. Caesar: an intelligent domestic service robot
Gascueña et al. Agent-oriented modeling and development of a person-following mobile robot
US20230168670A1 (en) Service robot system, robot and method for operating the service robot
US20220410391A1 (en) Sensor-based construction of complex scenes for autonomous machines
Tuli et al. Knowledge-based digital twin for predicting interactions in human-robot collaboration
Ovur et al. Naturalistic robot-to-human bimanual handover in complex environments through multi-sensor fusion
US10933526B2 (en) Method and robotic system for manipulating instruments
EP4300244A1 (en) Method and system for navigation of robot from one area to another area
Lunenburg et al. Tech united eindhoven team description 2012
Hou et al. Mobile Manipulation Tutorial
Gray et al. Graduated automation for humanoid manipulation
Long Optimization-based whole-body motion planning for humanoid robots
Gascueña et al. Agent-based modeling of a mobile robot to detect and follow humans
Sprute Interactive restriction of a mobile robot's workspace in traditional and smart home environments
Liew Tidy up function development for service robot
Cunha et al. From an autonomous soccer robot to a robotic platform for elderly care
Andersen Facilitating programming of vision-equipped robots through robotic skills and projection mapping
Kristensen et al. A Robot Assistant for Manufacturing: Interactive Teaching of Operation Sequences
Maniruzzaman Object search and retrieval in indoor environment using a Mobile Manipulator

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230619

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230913

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240624

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240711

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20240816