JP2015520040A - Training and operating industrial robots - Google Patents

Training and operating industrial robots Download PDF

Info

Publication number
JP2015520040A
JP2015520040A JP2015518598A JP2015518598A JP2015520040A JP 2015520040 A JP2015520040 A JP 2015520040A JP 2015518598 A JP2015518598 A JP 2015518598A JP 2015518598 A JP2015518598 A JP 2015518598A JP 2015520040 A JP2015520040 A JP 2015520040A
Authority
JP
Japan
Prior art keywords
robot
task
instance
appendage
input
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
JP2015518598A
Other languages
Japanese (ja)
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
Application filed by リシンク ロボティクス インコーポレイテッド, リシンク ロボティクス インコーポレイテッド, ブルース ブルンバーグ,, ブルース ブルンバーグ,, ロドニー ブルックス,, ロドニー ブルックス,, クリストファー ジェイ. ビューラー,, クリストファー ジェイ. ビューラー,, パトリック エー. ディーガン,, パトリック エー. ディーガン,, マシュー ディシコ,, マシュー ディシコ,, ノエル ダイ,, ノエル ダイ,, ゲリー エンス,, ゲリー エンス,, ナタン リンダー,, ナタン リンダー,, マイケル シラクサ,, マイケル シラクサ,, マイケル サスマン,, マイケル サスマン,, マシュー エム. ウィリアムソン,, マシュー エム. ウィリアムソン,, アルバート フアン,, アルバート フアン, filed Critical リシンク ロボティクス インコーポレイテッド
Publication of JP2015520040A publication Critical patent/JP2015520040A/en
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/0084Programme-controlled manipulators comprising a plurality of manipulators
    • B25J9/0087Dual arms
    • 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
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/081Touching devices, e.g. pressure-sensitive
    • B25J13/084Tactile sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • 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
    • 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
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/1914Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries, e.g. user dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/192Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
    • G06V30/194References adjustable by an adaptive method, e.g. learning
    • 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/39451Augmented reality for robot programming
    • 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/39466Hand, gripper, end effector of manipulator
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/80Management or planning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/03Teaching system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/30End effector
    • Y10S901/31Gripping jaw
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Manipulator (AREA)
  • Instructional Devices (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

ロボットは、基本タスクと、いくつかの実施形態では、物体および/または物体と関連付けられた場所とを表すデータ構造と併せて、物体および/または環境に関するセンサ入力に基づいて、物体を操作してもよい。データ構造は、ヒト訓練者による訓練の間、それぞれのプロトタイプをインスタンス化することによって作成されてもよい。一実施形態において、インスタンスは、付属肢の一般的な、空間的に規定されていない動きの観点から、タスクを定義する。A robot manipulates an object based on sensor inputs related to the object and / or environment in conjunction with a data structure representing the basic task and, in some embodiments, the object and / or location associated with the object. Also good. The data structure may be created by instantiating each prototype during training by a human trainer. In one embodiment, an instance defines a task in terms of general, spatially undefined movement of the appendage.

Description

(関連出願への相互参照)
本発明は、米国特許出願第13/621,657号、第13/621,706号、第13/621,708号、第13/621,658号、第13/621,648号、第13/621,687号、第13/621,517号、第13/621,519号、および第13/621,561号(すべて2012年9月17日出願)、ならびに、米国仮特許出願第61/662,646号(2012年)6月21日出願)および第61/676,586号(2012年7月27日出願)に基づく優先権およびそれらの利益を主張し、それらの全体を参照によって本明細書中に組み込む。
(Cross-reference to related applications)
The present invention relates to U.S. Patent Application Nos. 13 / 621,657, 13 / 621,706, 13 / 621,708, 13 / 621,658, 13 / 621,648, 13/621. 621,687, 13 / 621,517, 13 / 621,519, and 13 / 621,561 (all filed September 17, 2012), and US Provisional Patent Application 61/662. , 646 (2012) filed on June 21, 2012) and 61 / 6676,586 (filed July 27, 2012) and their benefits, which are hereby incorporated by reference in their entirety. Include in the book.

(発明の分野)
本発明は、概して、ロボット動作および訓練に関する。より具体的には、種々の実施形態は、自律的態様でタスクの実施を容易にするための、産業用ロボットによるタスク関連情報の取得、編成、および使用に関する。
(Field of Invention)
The present invention relates generally to robot operation and training. More specifically, various embodiments relate to the acquisition, organization, and use of task related information by industrial robots to facilitate task performance in an autonomous manner.

(発明の背景)
産業用ロボットは、物理的物体の移動および操作を伴う、種々のタスクを行う。典型的な産業用ロボットは、例えば、ロボットが、特定の場所において物体を取り上げ、それらを目的場所に移送し、特定の座標に従ってそれらを置き、それによって、例えば、それらを積み重ね、または目的場所に存在する段ボールの箱に入れることを可能にする把持部を装備する1つ以上のアームを有してもよい。
(Background of the Invention)
Industrial robots perform a variety of tasks involving the movement and manipulation of physical objects. A typical industrial robot is, for example, a robot that picks up objects at a specific location, transports them to a destination location, places them according to specific coordinates, thereby stacking them, for example, or at a destination location. It may have one or more arms equipped with grips that allow it to be placed in an existing cardboard box.

既存の産業用ロボットのためのコントローラは、典型的には、ロボットアーム(単数または複数)の正確な位置および軌道を規定する言語でプログラムされる。プログラムされたタスクの実行中、ロボットアームは、正確に規定された軌道を辿って、正確に規定された新しい位置にその最遠位リンクと関連付けられた基準座標を移動させる。既存の産業用ロボットの成功は、制約された環境におけるロボットの動作によるものであり、ロボットの作業空間を構築するプロセスに通常関わる、ロボットをプログラミングする人物が、高い信頼度を伴って、常時、作業空間内に存在する物体およびそれが位置する場所を予測することを可能にする。その結果、特定の軌道を介して、ロボットアーム上の基準点を特定の座標に移動させ、次いで、ロボットの把持部を開閉する(または、吸引把持部を適用または解放する)ことは、ロボットの所望の特定のタスクを達成する実世界アクションにつながる。   Controllers for existing industrial robots are typically programmed in a language that defines the exact position and trajectory of the robot arm (s). During execution of the programmed task, the robotic arm follows a precisely defined trajectory and moves the reference coordinates associated with its most distal link to a precisely defined new position. The success of existing industrial robots is due to the robot's behavior in a constrained environment, and the person programming the robot, usually involved in the process of building the robot's workspace, always has high reliability, It makes it possible to predict the objects present in the workspace and where they are located. As a result, moving the reference point on the robot arm to a specific coordinate via a specific trajectory and then opening and closing the robot grip (or applying or releasing the suction grip) is It leads to real world actions that accomplish the desired specific task.

6次元ベクトルは、最遠位リンクの向きとともに、3次元空間内の基準点を一意に規定するために使用されることができる。したがって、ロボットアーム自体が、6自由度またはそれよりも小さい自由度を有する場合、そのベクトルは、ロボットの全関節に対する設定を一意に決定する。ロボットアームが、6自由度よりも大きい自由度を有する場合、アームの所望の姿勢のさらなる仕様が、いかなる曖昧性も除去するために要求される。   A 6-dimensional vector, along with the orientation of the distal-most link, can be used to uniquely define a reference point in 3D space. Thus, if the robot arm itself has 6 degrees of freedom or less, the vector uniquely determines the settings for all joints of the robot. If the robot arm has a degree of freedom greater than 6 degrees of freedom, further specification of the desired posture of the arm is required to remove any ambiguity.

産業用ロボットのための最近のプログラミングシステムは、プログラマが、成功度にばらつきがある6次元ベクトルに関わることを回避する入力層を有する。あるアプローチでは、軌道の終点が、アームを所望の姿勢および位置に物理的に移動させ、次いで、ロボットにその位置を記録させることによって設定される。アームを移動させるための種々の方法が、実際は、使用される。最も一般的方法は、ティーチング段階の間のみロボットコントローラに差し込まれる外部ティーチングペンダント、すなわち、ハンドヘルド制御端末を利用する。ペンダントは、通常、LCD画面と、ジョイスティックまたは類似操向デバイスと、1つ以上のボタンと、時として、フルキーボードとを含み、集合的に、ユーザが、ロボットを制御および移動させることを可能にする。別の技法は、ロボットアームの最遠位リンクにロードセルを取り付け、ユーザに、ロードセルに印加される力に応答するモードにアームを切り替えさせることを伴う。本アプローチでは、ユーザは、ロボットを手で所望の位置に誘導し、ことによると、ティーチングペンダントを用いて調節し、次いで、コマンドを与えることにより、位置を記録する。コマンドは、例えば、ペンダント上のボタンまたは発話を介して、与えられてもよい。   Modern programming systems for industrial robots have an input layer that avoids programmers being involved in 6-dimensional vectors with varying degrees of success. In one approach, the end of the trajectory is set by physically moving the arm to the desired posture and position and then having the robot record its position. Various methods for moving the arms are actually used. The most common method utilizes an external teaching pendant that is plugged into the robot controller only during the teaching phase, ie, a handheld control terminal. Pendants typically include an LCD screen, joystick or similar steering device, one or more buttons, and sometimes a full keyboard, collectively allowing the user to control and move the robot To do. Another technique involves attaching a load cell to the distal-most link of the robotic arm and having the user switch the arm to a mode that responds to forces applied to the load cell. In this approach, the user records the position by manually guiding the robot to the desired position, possibly using a teaching pendant, and then giving commands. The command may be given, for example, via a button or utterance on the pendant.

使用される入力方法にかかわらず、従来の産業用ロボットは、ロボットに対する座標系内のベクトル化された移動に対してプログラムされる。いくつかのプログラミングシステムは、外部センサからの入力が外部位置を識別することを可能にするが、これらもまた、ロボットが、その基準点を所望の場所に移動させるために、ロボットの座標系に変換される。変換は、外部センサに対するロボットの場所および向きの知識に依拠する。産業用ロボットに対する典型的な位置精度要件は、サブミリメートル範囲内である。その結果、ロボットまたは外部センサのいずれかが移動させられる場合、世界内の物体に対してわずかな距離にすぎない場合であっても、ロボットは、その基準点を世界内の誤った場所に移動させ、したがって、そのタスクを失敗する。   Regardless of the input method used, conventional industrial robots are programmed for vectorized movement in the coordinate system for the robot. Some programming systems allow input from an external sensor to identify an external location, but these are also in the robot's coordinate system to allow the robot to move its reference point to the desired location. Converted. The transformation relies on knowledge of the robot's location and orientation relative to external sensors. Typical position accuracy requirements for industrial robots are in the submillimeter range. As a result, if either the robot or an external sensor is moved, the robot will move its reference point to the wrong place in the world, even if it is only a short distance away from objects in the world. And therefore fail that task.

さらに、既存のロボットは、外部センサ入力を使用することにより、例えば、操作される物体あるいは箱またはコンベヤベルト等の機器を検出し得るが、そのような入力は、単に、次のタスクのためのゲート信号として使用される。外部物体とのロボットの相互作用自体も、座標および軌道の観点から慎重にプログラムされなければならず、その世界がプログラマによって予期される通りに順序付けられる場合のみ、ロボットは、正常に、すなわち、衝突も誤配置もなく、そのタスクを実施する。例えば、ロボットに、例えば、3×4グリッドにおいて物体を段ボール箱に入れさせるために、プログラマは、物体が入れられる箱の中の場所に対応する12セットの座標を規定する必要がある。さらに、ロボット自体も握持された物体も箱の側面に衝突しないことを確実にするために、プログラマは、12カ所が充填される順序ならびに接近方向および軌道(中心に置かれる物体とは対照的に、箱の境界に対して置かれる物体の場合、異なる場合がある)を規定する必要がある。当然ながら、ロボットは、狭いサイズ範囲内に物体を詰めることのみが可能となる。物体が、プログラマが仮定したものより大きい、またはそれと異なる形状である場合、プロセスは、再び、ロボットのアクションが非常に制約されてしまうため、失敗する。   In addition, existing robots can use external sensor inputs to detect, for example, objects to be manipulated or equipment such as boxes or conveyor belts, but such inputs are simply for the next task. Used as a gate signal. The robot's interaction with the external object itself must also be carefully programmed in terms of coordinates and trajectories, and the robot will only successfully collide, i.e., if the world is ordered as expected by the programmer. Perform the task without any misplacement. For example, to have the robot place an object in a cardboard box, for example in a 3 × 4 grid, the programmer needs to define 12 sets of coordinates corresponding to the location in the box where the object is placed. In addition, to ensure that neither the robot itself nor the gripped object collides with the side of the box, the programmer is responsible for the order in which the twelve places are filled and the direction and trajectory (as opposed to the centered object). In the case of an object placed against the boundary of the box, it may be different). Of course, the robot can only pack objects within a narrow size range. If the object has a shape that is larger or different from what the programmer assumes, the process again fails because the robot's action is very constrained.

同様に、コンベヤベルトから物体を取り上げるようにロボットをプログラミングするとき、プログラマは、コンベヤベルトの制御された予測可能動作に依拠する。典型的には、コンベヤに取着されたブレークビームセンサ等の外部センサが、ロボットが、コンベヤ上の物体を検出することを可能にする。ビームが遮断されるといつも、コンベヤとともに移動する所望のタイプの物体が、遮断の原因であると仮定される。コンベヤの速さは、取り上げ場所に対する座標および遮断時から測定された時間遅延の形態でロボットプログラムに暗示的にコード化される。明示的速度ベクトルもまた含まれ、把持部がアクティブ化されると、ロボット把持部がコンベヤベルト上の物体と同一の速度で移動することを可能にしてもよい。コンベヤ位置および速度に関する仮定が正しい限り、これらの仕様は、ロボットが動いているコンベヤから所望の物体を取り上げることを保証し、そうでなければ、ロボットがタスクレベル知識を保有していないため、失敗する。   Similarly, when programming a robot to pick objects from the conveyor belt, the programmer relies on the controlled and predictable motion of the conveyor belt. Typically, external sensors such as break beam sensors attached to the conveyor allow the robot to detect objects on the conveyor. Whenever the beam is interrupted, it is assumed that the desired type of object moving with the conveyor is responsible for the interruption. The speed of the conveyor is implicitly encoded in the robot program in the form of coordinates for the pick-up location and a time delay measured from the time of interruption. An explicit velocity vector may also be included to allow the robot gripper to move at the same speed as the objects on the conveyor belt when the gripper is activated. As long as the assumptions about the conveyor position and speed are correct, these specifications ensure that the robot picks up the desired object from the moving conveyor, otherwise it fails because the robot does not have task level knowledge To do.

ロボット制御プログラムは、通常、エラー条件に対処する制御論理を含む。概して、ロボットの挙動を統制する、座標レベルの特定性により、エラーの場合の応答選択肢は、限定される。例えば、ロボットは、特定のプログラムされたタスクの根底にある必須仮定が犯され、または世界がその予期される状態から別様に逸脱すると、単に、動作を停止し、恐らく、エラーアラームを発し得る。   The robot control program typically includes control logic that addresses error conditions. In general, the coordinate level specificity that governs robot behavior limits the response options in case of errors. For example, a robot may simply cease operation and possibly raise an error alarm if the essential assumptions underlying a particular programmed task are violated or the world deviates from its expected state.

故に、その周囲に対してより柔軟に応答し、デフォルト仮定からのより大きな逸脱を許容し、好ましくは、直感的相互作用に基づく複合タスクの実行のために使用および構成され得るロボットの必要性がある。   Therefore, there is a need for a robot that can respond more flexibly to its surroundings, allow greater deviations from default assumptions, and preferably be used and configured for the execution of complex tasks based on intuitive interactions. is there.

(発明の概要)
本発明は、物理的物体の操作および移動を含む種々のタスクを行うことが可能なロボット、ならびにそのようなロボットをプログラミングおよび/または訓練する方法に関する。タスクの実行は、概して、ロボットのその環境の知覚に基づく。故に、種々の実施形態では、ロボットは、操作される物体ならびにそのタスクに付随する機械類または機器の特定の部品(例えば、コンベヤベルトまたは収納箱等)を検出、識別、および特定することを可能にする1つ以上のカメラまたは他のセンサを装備する。一般に、そのような物体の検出および識別は、それらと関連付けられた1つ以上のタスクの実施をトリガし、その後の視覚的入力または他の感覚入力の継続は、実行のモードおよび態様を通知する。例えば、特定の目的地に移動される物体が識別されると、ロボットは、任意の障害物を検出してそれらとの衝突を回避するように、ロボットのカメラのうちの1つに、ロボットの経路を監視するように命令してもよい。供給されたタスクまたは定義されたタスク、または訓練によって洗練されたタスクは、ロボット内に記憶されてもよい。
(Summary of Invention)
The present invention relates to robots capable of performing various tasks, including manipulation and movement of physical objects, and methods for programming and / or training such robots. Task execution is generally based on the robot's perception of its environment. Thus, in various embodiments, the robot can detect, identify, and identify the object being manipulated as well as specific parts of machinery or equipment associated with the task (eg, conveyor belts or bins). Equipped with one or more cameras or other sensors. In general, detection and identification of such objects triggers the performance of one or more tasks associated with them, and subsequent continuation of visual or other sensory input signals the mode and manner of execution. . For example, once an object to be moved to a specific destination is identified, the robot may connect one of the robot's cameras to the robot's camera to detect any obstacles and avoid collisions with them. It may be instructed to monitor the route. Supplied tasks or defined tasks or tasks refined by training may be stored in the robot.

本発明の種々の側面および実施形態によると、ロボットは、概して(つまり、非排他的に)、通常の意味において、すなわち、ハードコードされた命令を用いて、プログラムされない。代わりに、ヒトとの直接相互作用を介して訓練されてもよい。ヒト訓練者は、例えば、ロボットおよび/またはその付属肢のいずれかを所望の場所に誘導し、物体に対して付属肢を調節すること、ボタンを押下することにより付属肢を開閉すること等によって、物体を操作する方法を示してもよい。そのような機械的入力は、画面と、例えば、キーボード、マウス、またはタッチパッド等の通常入力デバイスとを介したユーザ相互作用を用いて補われ、既に記憶されたタスクを規定または洗練してもよい。例えば、ロボットは、その視野に対応する画像を画面上に表示し、ユーザが、画面上でそれらを指すことによって(例えば、マウスまたはタッチ感応画面を使用して)、ロボットに物体を示すことを可能にする。操作される物体が識別されると、ロボットは、可能性として考えられる操作のリストを表示してもよく、そのリストはそれぞれ、事前に記憶されたタスクに対応し、そのリストから、ユーザは、所望の1つをクリックすることによって選択してもよい。加えて、ロボットの動きと関連付けられた最大速さ等のタスクと関連付けられた特定のパラメータが、例えば、キーボードを介してテキストフォーマット内に入力されてもよい。重要なこととして、多くの実施形態では、ロボットとその訓練者との間の相互作用は、訓練者からの特殊な技術的専門知識を殆どまたは全く要求しないように構築される。   According to various aspects and embodiments of the present invention, robots are generally not programmed (ie, non-exclusively) in the normal sense, ie, using hard-coded instructions. Alternatively, it may be trained through direct interaction with a human. The human trainer can, for example, guide the robot and / or any of its appendages to the desired location, adjust the appendages relative to the object, open or close the appendages by pressing a button, etc. A method of manipulating an object may be shown. Such mechanical input is supplemented using user interaction via a screen and a normal input device such as a keyboard, mouse, or touchpad, for example, to define or refine an already stored task. Good. For example, the robot displays images corresponding to its field of view on the screen, and the user points to them on the screen (eg, using a mouse or touch-sensitive screen) to indicate objects to the robot. to enable. Once the object to be operated is identified, the robot may display a list of possible operations, each of which corresponds to a pre-stored task from which the user can You may select by clicking on the desired one. In addition, certain parameters associated with a task, such as maximum speed associated with robot movement, may be entered into the text format via, for example, a keyboard. Importantly, in many embodiments, the interaction between the robot and its trainee is constructed to require little or no special technical expertise from the trainer.

ロボットの訓練の結果、種々のタスクを表すデータ構造が、ロボットの制御システムと関連付けられたメモリ内に作成および記憶されてもよい。一般に、これらの表現は、ロボット付属肢(単数または複数)の空間座標および軌道の観点から、タスクを定義するものではなく、または少なくとも完全に定義するものではなく、代わりに、環境内の物体に対する一般的な、空間的に規定されていない動きに対応する。したがって、特定のタスクの実行の間、そのときにロボットの周囲ならびにその中の物体および機器に関する情報を知覚すると、ロボットは、ロボットの周囲ならびにその中の物体および機器に関する情報を用いて、そのタスクの表現を補う。ロボットの環境をこのように考慮することによって、訓練段階において、環境に関する精密な仮定を行う必要性を排除し、本質的に、そのタスクを実施し、自動的にエラーに対処し、変化した状況を利用するためのさらなる柔軟性をロボットに提供する。さらに、個別の一式の状況によってトリガされる個々のタスクに訓練を集中させることは、訓練者が、より複雑なプロシージャを構成するタスクが典型的に実行される必要がある逐次的な順序にかかわらず、これらのタスクを任意の順序で教示することを可能にする。逆に言えば、ロボットは、その環境のその知覚に基づいて、タスクを選択または提案してもよい。例えば、特定のタイプの物体の検出は、ロボットに、その物体と関連付けられたタスクをレビューさせ、追加の知覚された物体に基づいて、これらの可能性をさらに絞り込ませてもよい。例えば、空のコンベヤベルトと組み合わせた箱物体の検出は、箱を取り上げ、コンベヤベルト上に移動させることを伴う、既に記憶されたタスクの試行的選択をトリガしてもよい。   As a result of robot training, data structures representing various tasks may be created and stored in a memory associated with the robot control system. In general, these representations do not define, or at least completely define, tasks in terms of the spatial coordinates and trajectories of the robotic limb (s) and instead refer to objects in the environment Corresponds to general, spatially undefined movements. Thus, during the execution of a particular task, when it perceives information about the robot's surroundings and the objects and devices within it, the robot uses the information about the robot's surroundings and the objects and devices within it to To supplement the expression. Considering the robot's environment in this way eliminates the need for precise environmental assumptions during the training phase, essentially performing the task, automatically handling errors, and changing situations. Provides robots with more flexibility to use In addition, focusing training on individual tasks triggered by a discrete set of situations involves the trainer in the sequential order in which the tasks that make up a more complex procedure typically need to be performed. Rather, it is possible to teach these tasks in any order. Conversely, the robot may select or suggest a task based on its perception of its environment. For example, detection of a particular type of object may cause the robot to review the tasks associated with that object and further refine these possibilities based on additional perceived objects. For example, detection of a box object in combination with an empty conveyor belt may trigger a trial selection of an already stored task that involves picking up the box and moving it onto the conveyor belt.

種々の実施形態では、ロボット訓練およびそのタスクのロボットによる実施における本柔軟性は、2層データ構造によって促進される。第1の層は、基本タスクまたは複合タスク(複合タスクは、概して、「取り上げる」、「移動させる」、または「置く」等の基本タスクまたは初歩的タスクのひと続きである)、ならびに物体、場所、機器、および/またはタスクに関連する他の一般的なカテゴリのハードコードされたプロトタイプを含む。各プロトタイプは、それぞれのカテゴリまたはクラスの特定の構成子を完全に定義するために要求される情報を規定する。典型的には、プロトタイプは、クラスの種々の属性に対応して関連付けられたパラメータ値を有する「フィールド」または「スロット」のリストの形態をとる。第2の層は、概して、デフォルト仮定、訓練時のその環境のロボットの知覚、および訓練者からの直接入力の組み合わせに基づいて、フィールドの少なくともいくつかに書き込むことによって、訓練段階の間に作成されるプロトタイプのインスタンスを含む。本段階の間、空のままのスロットは、ロボットの知覚に基づいて、実行時に充填されてもよい。インスタンスは、典型的には、絶対座標の観点からはタスクも場所も定義せず、あるいは完全には定義しないが、環境内の物体およびそのパラメータを参照して、タスクまたは場所を定義する。いくつかのプロトタイプのインスタンスは、他のプロトタイプのインスタンスを参照してもよい。例えば、タスクのインスタンスは、操作される物体のクラスまたはその目的のために使用される機器のタイプを規定してもよく、物体クラスおよび/または機器自体は、クラス特有インスタンス内または機器特有インスタンス内に定義される。   In various embodiments, this flexibility in robotic training and robotic implementation of its tasks is facilitated by a two-layer data structure. The first layer is a basic task or composite task (composite tasks are generally a series of basic or elementary tasks such as “take up”, “move”, or “place”), as well as objects, places , Equipment, and / or other general categories of hard-coded prototypes related to tasks. Each prototype specifies the information required to fully define a particular constructor for each category or class. Typically, the prototype takes the form of a list of “fields” or “slots” having parameter values associated with the various attributes of the class. The second layer is generally created during the training phase by writing to at least some of the fields based on a combination of default assumptions, robot perception of the environment during training, and direct input from the trainer. Contains an instance of the prototype to be created. During this phase, slots that remain empty may be filled at run time based on robot perception. An instance typically does not define a task or location in terms of absolute coordinates, or does not completely define it, but defines a task or location with reference to objects in the environment and their parameters. Some prototype instances may reference other prototype instances. For example, an instance of a task may specify the class of object to be manipulated or the type of equipment used for that purpose, and the object class and / or equipment itself may be in a class specific instance or in a equipment specific instance. Defined in

一般的なプロトタイプおよびこれらのプロトタイプの特定のインスタンスにおけるタスクおよび他のカテゴリの2層表現は、ロボットが、一連の特定性に従って、ハードコードされた命令を介して制御される程度の調整を容易にし、いずれの欠けている細目も、訓練および/または実行の間に充填させる。さらに、基本タスクから多くの移動および操作を伴う複合タスクまで及ぶ複雑性の可変レベルでロボットタスクを定義することを可能にする。いくつかの用途の場合、例えば、ロボットが定着型である、環境の予測される状態が狭い範囲内にある、またはサブタスクを実行する特定の順序が要求される場合、複合タスクを直接ロボットにプログラミングし、訓練段階を最小限のカスタマイズに縮小することによって、制約が課され得る。他の用途の場合、インスタンス化されると、より複雑なタスクのための構築ブロックとしての役割を果たす、基本プロトタイプのより抽象的定義を要求する、訓練および/または実行段階における最大限の柔軟性が、望ましくあり得る。   Common prototypes and two-tier representations of tasks and other categories in specific instances of these prototypes facilitate coordination to the extent that the robot is controlled via hard-coded instructions according to a set of specificities. Any missing details are filled during training and / or execution. Furthermore, it makes it possible to define robot tasks with variable levels of complexity ranging from basic tasks to complex tasks with many movements and operations. For some applications, for example, if the robot is stationary, the expected state of the environment is within a narrow range, or a specific order of performing subtasks is required, program complex tasks directly into the robot However, constraints can be imposed by reducing the training phase to minimal customization. For other uses, maximum flexibility in the training and / or execution phase, requiring a more abstract definition of the basic prototype that, when instantiated, serves as a building block for more complex tasks May be desirable.

故に、第1の側面では、本発明は、物体を操作するように、ヒト訓練者との相互作用を介して訓練可能なロボットを提供する。種々の実施形態では、ロボットは、物体を操作するための1つ以上の付属肢と、付属肢(単数または複数)を動作させるためのコントローラとを含む。これらの実施形態はさらに、プロトタイプのライブラリを記憶するためのコンピュータメモリであって、プロトタイプのうちの少なくとも1つが、付属肢によって物体に対して行われるタスクのタイプを定義する、コンピュータメモリと、ヒト訓練者からタスクに関連する物理的入力(例えば、機械的または視覚的入力)を受信するための知覚システムと、物理的入力に基づいて、少なくとも1つの属性を規定することによって、タスクプロトタイプのインスタンスを作成するための訓練モジュールと、コントローラへのコマンドを介して、インスタンスを実行し、それによって、付属肢にタスクを行わせるためのタスク実行モジュールとを含む。タスクは、概して、付属肢の移動および/または物体の操作を伴う。本明細書では、用語「操作」とは、ロボット(例えば、把持部または他のエンドエフェクタ)と物体との間の物理的接触を伴うロボット運動を指し、物体に対する任意の機械的動作、例えば、握持、移動、持ち上げ、衝打等を含意する。操作は、物体への構造変化を伴ってもよく、またはそうでなくてもよい。インスタンスは、付属肢の一般的な、空間的に規定されていない動きの観点から、例えば、空間軌道を規定せずに定義される動きの観点から、あるいは物体および/またはその環境に対する付属肢の動きの観点から、タスクを定義してもよい。   Thus, in a first aspect, the present invention provides a robot that can be trained through interaction with a human trainer to manipulate an object. In various embodiments, the robot includes one or more appendages for manipulating the object and a controller for operating the appendage (s). These embodiments further include a computer memory for storing a library of prototypes, wherein at least one of the prototypes defines a type of task to be performed on the object by the appendage, and a human memory An instance of a task prototype by defining at least one attribute based on a perceptual system and a physical input for receiving physical input (eg, mechanical or visual input) associated with a task from a trainee A training module for creating a task, and a task execution module for executing instances through commands to the controller, thereby causing the appendage to perform tasks. Tasks generally involve movement of appendages and / or manipulation of objects. As used herein, the term “manipulation” refers to robot movement with physical contact between a robot (eg, a gripper or other end effector) and an object, and any mechanical motion on the object, eg, Implies grabbing, moving, lifting, striking, etc. The operation may or may not involve a structural change to the object. Instances are from the perspective of the general, spatially undefined movement of the appendage, for example, from the perspective of movement defined without defining a spatial trajectory, or from the appendage to the object and / or its environment. A task may be defined from the viewpoint of movement.

知覚システムは、1つ以上の押下可能ボタン、ノブ、タッチ感応パッド、タッチ感応カフ、および/またはカメラ(または、他の視覚的センサ)を含んでもよく、物体またはその環境に関する物理的情報を受信するように構成されてもよい。ロボットコントローラは、物理的入力(例えば、カフに触れること)に応答して、ゼロ重力補償モードで動作するように構成されてもよい。いくつかの実施形態では、ロボットはさらに、タスク関連フィードバックを訓練者に提供するために、ユーザインターフェースシステムに応答する1つ以上の出力デバイスを含む。そのようなフィードバックは、例えば、ロボットステータスのインディケーション、さらなる入力の要求、またはエラーアラートを含んでもよく、ロボットカメラビュー上にオーバーレイされるグラフィックの形態をとってもよい。プロトタイプのライブラリは、物体クラス、機器のタイプ、または場所を定義するプロトタイプを含んでもよい。いくつかの実施形態では、訓練モジュールは、クラスの構成子に関する視覚的入力に基づいて、物体クラスのインスタンスを作成する。操作の対象となる物体は、インスタンスによって参照される物体のクラスの構成子であってもよい。   The sensory system may include one or more pushable buttons, knobs, touch sensitive pads, touch sensitive cuffs, and / or cameras (or other visual sensors) that receive physical information about the object or its environment. It may be configured to. The robot controller may be configured to operate in a zero gravity compensation mode in response to a physical input (eg, touching the cuff). In some embodiments, the robot further includes one or more output devices responsive to the user interface system to provide task-related feedback to the trainee. Such feedback may include, for example, an indication of robot status, a request for further input, or an error alert, and may take the form of a graphic overlaid on the robot camera view. The library of prototypes may include prototypes that define object classes, equipment types, or locations. In some embodiments, the training module creates an instance of an object class based on visual input regarding the class constructor. The object to be operated may be a constituent of a class of an object that is referenced by an instance.

別の側面では、本発明は、ヒト訓練者との相互作用に基づくロボット学習の方法を対象とする。種々の実施形態では、本方法は、訓練者から、ロボットによって行われるタスクに関する物理的入力を受信することと、入力に応答して、かつ入力に少なくとも部分的に基づいて、記憶されたプロトタイプのライブラリからタスクと関連付けられたプロトタイプを選択することとを伴う。プロトタイプのインスタンスは、作成され、データベース内に記憶される。インスタンスは、物体に対して行われるロボット移動またはロボット操作を規定し、一般的な、空間的に規定されていない観点から、タスクを定義してもよい。本方法は、物理的入力に基づいて、インスタンスの1つ以上の属性を規定することをさらに含んでもよい。   In another aspect, the present invention is directed to a method of robot learning based on interaction with a human trainer. In various embodiments, the method receives physical input from a trainee regarding tasks performed by the robot and is responsive to the input and based at least in part on the input of the stored prototype. Entailing selecting a prototype associated with the task from the library. Prototype instances are created and stored in the database. An instance specifies a robot movement or robot operation performed on an object, and may define a task from a general, spatially undefined viewpoint. The method may further include defining one or more attributes of the instance based on the physical input.

物理的入力は、機械的入力および/または視覚的入力であってもよく、または機械的入力および/または視覚的入力を含んでもよい。例えば、いくつかの実施形態では、物理的入力を受信することは、訓練者および/または物体との物理的接触を感知すること、訓練者、物体、または環境の1つ以上の画像を取得すること、および/または付属肢が訓練者によって移動される場合にロボット付属肢の位置を追跡することを伴う。入力に応答して、かつ入力に少なくとも部分的に基づいて、物体クラスを定義するプロトタイプは、物体の表現をメモリ内に作成するように、選択されてインスタンス化されてもよい。本方法は、例えば、ロボットのステータスを示すこと、訓練者からの追加の入力を要求すること、および/または訓練者にエラーをアラートすることによって、フィードバックを訓練者に提供することをさらに含んでもよい。フィードバックは、ロボットカメラビュー上にオーバーレイされるグラフィックの形態または触覚フィードバックの形態で提供されてもよい。   The physical input may be mechanical input and / or visual input, or may include mechanical input and / or visual input. For example, in some embodiments, receiving physical input senses physical contact with the trainee and / or object, and acquires one or more images of the trainer, object, or environment. And / or tracking the position of the robot appendage as the appendage is moved by the trainee. In response to the input and based at least in part on the input, a prototype that defines the object class may be selected and instantiated to create a representation of the object in memory. The method may further include providing feedback to the trainer, for example, by indicating the status of the robot, requesting additional input from the trainer, and / or alerting the trainer of an error. Good. Feedback may be provided in the form of graphics overlaid on the robot camera view or in the form of haptic feedback.

第3の側面では、物理的知覚に基づいて、環境内の物体を操作するためのロボットが、提供される。種々の実施形態では、ロボットは、物体を操作するための1つ以上の付属肢と、付属肢(単数または複数)を動作させるためのコントローラと、1つ以上のセンサから物体および/または環境に関する物理的情報を受信するための知覚システムと、複数のインスタンスを含むインスタンスデータベースであって、複数のインスタンスのうちの少なくともいくつかが、付属肢によって物体に対して行われるタスクを規定する、インスタンスデータベースと、受信された情報に基づいて、インスタンスのうちの1つ以上を選択するためのタスク実行モジュールとを含む。必要に応じて、選択されたインスタンスの属性が、物理的情報に基づいて、規定されてもよい。タスク実行モジュールは、コントローラへのコマンドを介して、選択されたインスタンス(単数または複数)を実行する。再び、インスタンスは、の一般的な、空間的に規定されていない観点から(例えば、環境または物体に対する付属肢の動きの観点から)、および/または空間軌道を規定せずに、タスクを定義してもよい。   In a third aspect, a robot is provided for manipulating objects in the environment based on physical perception. In various embodiments, a robot relates to an object and / or environment from one or more appendages for manipulating the object, a controller for operating the appendage (s), and one or more sensors. A perceptual system for receiving physical information and an instance database including a plurality of instances, wherein at least some of the plurality of instances define tasks performed on an object by an appendage And a task execution module for selecting one or more of the instances based on the received information. If necessary, attributes of the selected instance may be defined based on physical information. The task execution module executes the selected instance (s) via a command to the controller. Again, an instance defines a task from a general, spatially unspecified point of view (eg, from the perspective of appendage movement relative to the environment or object) and / or without specifying a spatial trajectory. May be.

インスタンスデータベースはさらに、1つ以上の物体クラス、機器のタイプ、または場所を定義する1つ以上のインスタンスを含んでもよい。タスク定義インスタンスは、他のインスタンス(すなわち、物体クラス、機器、または場所インスタンス)のいずれかを参照してもよい。一実施形態では、タスク定義インスタンスは、物体クラスを参照し、タスク実行モジュールは、知覚システムによる物体クラスに属する物体の検出に応じて、ロボット付属肢に、検出された物体に対してタスクを行わせるように構成される。知覚システムは、例えば、コンピュータビジョンシステムと併せて、1つ以上のカメラを含んでもよい。さらに、知覚システムは、1つ以上の押下可能ボタン、ノブ、タッチ感応パッド、またはタッチ感応カフ等の機械的入力デバイスを含んでもよい。   The instance database may further include one or more instances that define one or more object classes, device types, or locations. A task definition instance may reference any of the other instances (ie, object class, equipment, or location instance). In one embodiment, the task definition instance refers to an object class, and the task execution module performs a task on the detected object on the robot appendage in response to detection of an object belonging to the object class by the sensory system. Configured to let The perception system may include one or more cameras, for example, in conjunction with a computer vision system. Further, the sensory system may include one or more pushable buttons, knobs, touch sensitive pads, or mechanical input devices such as touch sensitive cuffs.

さらなる側面では、環境内で物体を操作する、ロボットにより実装される方法が、提供される。本方法は、物体および/または環境に関するセンサ入力を受信すること(例えば、物体および/または環境の1つ以上の画像を取得すること、または環境内の物体との物理的接触を検出すること)と、センサ入力、および、ロボットによって物体に対して行われるタスクを規定するインスタンスのデータベースに基づいて、インスタンスのうちの少なくとも1つを選択することと、必要に応じて、選択されたインスタンス(単数または複数)の1つ以上の属性を規定し、ロボット付属肢に、選択されたインスタンス(単数または複数)に従って物体を操作させるように、選択されたインスタンス(単数または複数)を実行することとを伴う。インスタンス(単数または複数)を実行することは、インスタンスと関連付けられた挙動をインスタンス化することを伴ってもよい。挙動は、複数のスレッドを含んでもよく、複数のインスタンスは、それと関連付けられた一式の条件を有し、インスタンスを実行することは、スレッド間の遷移をトリガし得る条件の充足に関してスレッドを監視することを伴ってもよい。タスク実行はまた、ロボットとロボット自体または環境内の物体との衝突を防止する1つ以上の挙動を作動させることを伴ってもよい。インスタンスデータベースは、タスク定義インスタンスに加え、種々の物体クラスのインスタンスを含んでもよく、各物体クラスは、タスクインスタンスのうちの少なくとも1つと関連付けられる。入力に基づいて、物体が属する物体クラスが、識別されてもよく、実行するステップが、次いで、物体クラスと関連付けられたタスクインスタンスに従って行われてもよい。   In a further aspect, a robot-implemented method for manipulating objects in an environment is provided. The method receives sensor input relating to an object and / or environment (eg, acquiring one or more images of the object and / or environment, or detecting physical contact with an object in the environment). Selecting at least one of the instances based on sensor input and a database of instances defining tasks to be performed on the object by the robot, and optionally selecting the selected instance (single) Defining one or more attributes) and executing the selected instance (s) to cause the robot appendage to manipulate the object according to the selected instance (s). Accompany. Running the instance (s) may involve instantiating the behavior associated with the instance. A behavior may include multiple threads, where multiple instances have a set of conditions associated with them, and executing the instance monitors the thread for satisfaction of conditions that can trigger transitions between threads. It may be accompanied. Task execution may also involve activating one or more behaviors that prevent collisions between the robot and the robot itself or objects in the environment. The instance database may include instances of various object classes in addition to task definition instances, each object class being associated with at least one of the task instances. Based on the input, the object class to which the object belongs may be identified and the performing step may then be performed according to the task instance associated with the object class.

さらに別の側面では、本発明は、物理的知覚に基づいて、環境内の物体を操作するためのロボットに関する。種々の実施形態では、ロボットは、物体を操作するための1つ以上の付属肢と、付属肢(単数または複数)を動作させるためのコントローラと、少なくとも1つのセンサ(例えば、カメラおよびコンピュータビジョンシステムおよび/または1つ以上のタッチ感応検出器)から物体および環境に関する物理的情報を受信するための知覚システムと、複数のインスタンスを有するインスタンスデータベースであって、複数のインスタンスのうちの少なくともいくつかが、付属肢によって物体に対して行われるタスクを規定し、各タスクが、物体および物体に対して行われるアクションを規定し、一般的な、空間的に規定されていない観点から定義される、インスタンスデータベースと、知覚システムに応答して、コントローラへのコマンドを介してタスクを実行するためのタスク実行モジュールとを含む。   In yet another aspect, the present invention relates to a robot for manipulating objects in an environment based on physical perception. In various embodiments, the robot includes one or more appendages for manipulating an object, a controller for operating the appendage (s), and at least one sensor (eg, a camera and a computer vision system). And / or a sensory system for receiving physical information about an object and environment from one or more touch sensitive detectors) and an instance database having a plurality of instances, at least some of the plurality of instances being An instance that defines tasks to be performed on objects by appendages, each task defines objects and actions to be performed on objects, and is defined from a general, spatially undefined point of view Via commands to the controller in response to a database and sensory system Te and a task execution module for executing the task.

いくつかの実施形態では、タスク実行モジュールは、オンザフライで、物理的情報に基づいて、ロボットと関連付けられた座標系内にタスクに対応する軌道を生成する。他の実施形態では、タスク実行モジュールは、継続的に物体を監視し、それに基づいて、軌道座標を計算することなくロボット付属肢を物体に向かって移動させる。物体に向かう移動は、監視された物体に基づいてタスク実行モジュールによって決定される、移動と関連付けられた事前条件が充足される限り、継続してもよい。事前条件は、例えば、付属肢と物体との間の物理的接触がないことであってもよく、またはそれを含んでもよい。   In some embodiments, the task execution module generates a trajectory corresponding to the task in a coordinate system associated with the robot based on physical information on the fly. In other embodiments, the task execution module continuously monitors the object and moves the robot appendage toward the object without calculating trajectory coordinates based thereon. The movement toward the object may continue as long as the precondition associated with the movement determined by the task execution module based on the monitored object is met. The precondition may be, or may include, for example, no physical contact between the appendage and the object.

別の側面では、環境内の物体を操作するための方法は、物体および/または環境に関するセンサ入力を受信すること(例えば、物体の画像を取得することによる)を含む。種々の実施形態では、(i)センサ入力と、(ii)(ロボットによって物体に対して行われる)タスクを規定する複数のインスタンスを含むインスタンスデータベースとに基づいて、一般的な、空間的に規定されていない観点から、タスクインスタンスのうちの少なくとも1つが、ロボット付属肢に、タスクインスタンスに従って物体を操作させるように実行される。タスクインスタンスを実行することは、ロボットと関連付けられた座標系内のオンザフライ軌道を生成することを伴ってもよい。代替として、継続的に物体を監視することと、それに基づいて、軌道座標を計算することなくロボット付属肢を物体に向かって移動させることとを伴ってもよい。例えば、タスク実行は、タスクと関連付けられた事前条件(例えば、付属肢と物体との間の物理的接触がないこと)が充足されるかどうか決定し、充足される場合、物体に向かう移動を継続することを含んでもよい。   In another aspect, a method for manipulating an object in an environment includes receiving sensor input related to the object and / or the environment (eg, by obtaining an image of the object). In various embodiments, a general, spatially defined based on (i) sensor inputs and (ii) an instance database that includes multiple instances defining tasks (performed on objects by a robot). From a non-viewed point of view, at least one of the task instances is executed to cause the robot appendage to manipulate the object according to the task instance. Performing the task instance may involve generating an on-the-fly trajectory in a coordinate system associated with the robot. Alternatively, it may involve continuously monitoring the object and moving the robot appendage toward the object based on it without calculating trajectory coordinates. For example, task execution determines whether a precondition associated with the task (eg, no physical contact between the appendage and the object) is satisfied, and if so, moves toward the object. It may include continuing.

いくつかの実施形態では、タスクインスタンスを実行することは、インスタンスと関連付けられた挙動をインスタンス化することを含む。挙動は、関連付けられた一式の条件を伴う複数のスレッドを含んでもよい。スレッドは、スレッド間の遷移をトリガし得る条件の充足に関して監視されてもよい。本方法はさらに、ロボットとロボット自体または環境内の物体との衝突を防止する挙動を作動させることを伴ってもよい。   In some embodiments, executing the task instance includes instantiating a behavior associated with the instance. A behavior may include multiple threads with a set of associated conditions. Threads may be monitored for satisfaction of conditions that can trigger transitions between threads. The method may further involve activating a behavior that prevents a collision between the robot and the robot itself or an object in the environment.

前述は、特に、図面と関連して検討されるとき、以下の発明の詳細な説明からより容易に理解される。
図1は、種々の実施形態による、システムを図示するブロック図である。 図2Aおよび図2Bは、種々の実施形態による、ロボットの斜視図である。 図2Aおよび図2Bは、種々の実施形態による、ロボットの斜視図である。 図2Cは、種々の実施形態による、ロボットの計算および制御機能性の実装を図示するブロック図である。 図3は、種々の実施形態による、プロトタイプライブラリを図式的に図示する。 図4は、種々の実施形態による、プロトタイプに対応するデータ構造を描写する。 図5は、種々の実施形態による、プロトタイプとインスタンスとの間の関係を図示する。 図6は、種々の実施形態による、訓練およびタスク実行方法を図示するフローチャートである。 図7は、種々の実施形態による、データ構造のインスタンスとロボット挙動との間の関係を図式的に図示する。
The foregoing will be more readily understood from the following detailed description of the invention, particularly when considered in conjunction with the drawings.
FIG. 1 is a block diagram illustrating a system according to various embodiments. 2A and 2B are perspective views of a robot, according to various embodiments. 2A and 2B are perspective views of a robot, according to various embodiments. FIG. 2C is a block diagram illustrating the implementation of the robot computation and control functionality, according to various embodiments. FIG. 3 schematically illustrates a prototype library, according to various embodiments. FIG. 4 depicts a data structure corresponding to a prototype, according to various embodiments. FIG. 5 illustrates the relationship between prototypes and instances, according to various embodiments. FIG. 6 is a flowchart illustrating a training and task execution method according to various embodiments. FIG. 7 schematically illustrates the relationship between data structure instances and robot behavior, according to various embodiments.

(詳細な説明)
1.システム概要
図1は、本明細書の種々の実施形態による、ロボットを訓練および動作させるための例示的制御システム100のアーキテクチャを図示する。本システムは、ハードウェアおよび/またはソフトウェア内に実装されるいくつかの機能的構成要素(角の尖ったボックスとして描写される)と、いくつかのデータ構造(角の丸いボックスとし描写される)とを含む。機能的構成要素は、概して、並列に動作し、相互およびデータ構造と通信する(但し、自己動作モジュールとして描写される、ソフトウェア内に実装される種々の機能的構成要素は、最終的には、プロセッサによって実行される)。図1は、矢印を用いて通信経路を示す。破線矢印は矢印の方向に流動する情報を示し、両方向破線矢印は、双方向情報流を示し、実線矢印は、制御コマンドが矢印の方向にパスされることを示す。
(Detailed explanation)
1. System Overview FIG. 1 illustrates the architecture of an exemplary control system 100 for training and operating a robot in accordance with various embodiments herein. The system has several functional components implemented in hardware and / or software (depicted as a box with a rounded corner) and several data structures (depicted as a box with rounded corners). Including. Functional components generally operate in parallel and communicate with each other and data structures (however, the various functional components implemented in software, depicted as self-operating modules, will eventually Executed by the processor). FIG. 1 shows communication paths using arrows. The dashed arrow indicates information that flows in the direction of the arrow, the bidirectional dashed arrow indicates a bidirectional information flow, and the solid arrow indicates that the control command is passed in the direction of the arrow.

ロボットがその環境に作用することを可能にするために、システム100は、知覚システム(または、サブシステム)102を含み、それは、典型的には、環境の画像を取得するための1つ以上のカメラと、画像を処理および解釈するために好適にプログラムされた計算機器(例えば、ソフトウェアモジュール(その命令が汎用プロセッサによって実行される))とを含む。カメラは、典型的には、可視スペクトルにおいて動作するが、いくつかの実施形態は、代替として、または加えて、赤外線カメラまたは電磁スペクトル内の他の周波数範囲を検出するカメラを利用してもよい。いくつかの実施形態では、1つ以上のステレオカメラ、またはより一般的には、奥行感知カメラシステム(例えば、KINECTカメラ)が、使用されてもよい。集合的に、カメラ(または、他の光学センサ)および画像−処理機器は、コンピュータビジョンシステムを形成する。知覚システム102はまた、当技術分野において周知のような、例えば、温度センサ、圧力センサ、湿度センサ、タッチパッド、触覚センサ、位置および向きセンサ(例えば、GPSまたはジャイロ磁気センサ)、速度センサおよび/または加速度計、電気センサ、および/または磁気センサ等の付加的センサを含んでもよい。さらに、システム100自体に統合されたセンサに加え、システム100は、外部および第三者センサならびにセンサシステムから信号を受信するためのインターフェース104を含んでもよい。本インターフェース104は、ロボットが配備される環境内で利用可能な能力でロボットの内部感知能力を補うことを容易にする。   In order to allow a robot to act on its environment, the system 100 includes a sensory system (or subsystem) 102 that typically includes one or more images for acquiring an image of the environment. Including a camera and a computing device (eg, a software module whose instructions are executed by a general purpose processor) suitably programmed to process and interpret the image. Cameras typically operate in the visible spectrum, but some embodiments may alternatively or additionally utilize infrared cameras or cameras that detect other frequency ranges in the electromagnetic spectrum. . In some embodiments, one or more stereo cameras, or more generally a depth sensing camera system (eg, a KINECT camera) may be used. Collectively, cameras (or other optical sensors) and image-processing equipment form a computer vision system. The sensory system 102 also includes, for example, temperature sensors, pressure sensors, humidity sensors, touchpads, tactile sensors, position and orientation sensors (eg, GPS or gyromagnetic sensors), velocity sensors and / or as known in the art. Alternatively, additional sensors such as accelerometers, electrical sensors, and / or magnetic sensors may be included. Further, in addition to sensors integrated into the system 100 itself, the system 100 may include external and third party sensors and an interface 104 for receiving signals from the sensor system. The interface 104 facilitates supplementing the robot's internal sensing capabilities with capabilities available within the environment in which the robot is deployed.

システム100はさらに、ロボット位置、運動学、力学、および力を監視および変更する、ロボットコントローラ106と、ロボットコントローラ106と通信し、そこからコマンドを受け取る1つ以上の関節レベルコントローラ108とを含み、関節レベルコントローラ108は、ロボットコントローラ106によって命令される通りに、ロボットおよび/またはその可動部品(概して、付属肢(単数または複数)およびエンドエフェクタ(単数または複数)を含み、さらに、例えば、カメラ(単数または複数)または他のセンサも含み得る)を移動させるために、個々のモータおよびアクチュエータを駆動させる。ロボットコントローラ106は、知覚システム102と情報を交換してもよい。例えば、コントローラ106がロボット付属肢またはエンドエフェクタを移動させると、付属肢に統合されたカメラは、動きを監視することにより、フィードバックをコントローラ106に提供してもよい。逆に言えば、コントローラ106によって知覚システム102に提供される情報は、視覚的タスクの実行を補助し得る。ロボットカメラが、例えば、物体を追跡するタスクが課される場合、予期された物体場所に対するカメラの場所に関するコントローラ106からの情報は、カメラが画像内の物体の概算サイズを予測することを可能にし、カメラが物体を検索する必要があるその視野内の領域のサイズを限定することを可能にしてもよい。継続的に情報を交換することによって、コントローラ106および知覚システム102は、例えば、コンベヤベルトから物体を取り上げるために、視覚的および機械的の両方で物体を追跡する際、相互に補助し得る。   The system 100 further includes a robot controller 106 that monitors and alters robot position, kinematics, mechanics, and forces, and one or more joint level controllers 108 that communicate with and receive commands from the robot controller 106; The joint level controller 108 includes the robot and / or its moving parts (generally the appendage (s) and the end effector (s) as directed by the robot controller 106, and further includes, for example, a camera ( The individual motors and actuators are driven to move the singular (s) or other sensors). The robot controller 106 may exchange information with the sensory system 102. For example, when the controller 106 moves a robot appendage or end effector, a camera integrated with the appendage may provide feedback to the controller 106 by monitoring movement. Conversely, information provided to the perception system 102 by the controller 106 may assist in performing visual tasks. If a robotic camera is tasked with tracking an object, for example, information from the controller 106 regarding the camera location relative to the expected object location allows the camera to predict the approximate size of the object in the image. It may be possible to limit the size of the area within the field of view that the camera needs to search for objects. By continuously exchanging information, the controller 106 and sensory system 102 may assist each other in tracking objects both visually and mechanically, for example, to pick up objects from a conveyor belt.

システム100の中心には、ロボットが有用作業を行うようにロボットの挙動を管理するタスク実行モジュール110と、ユーザがロボットを訓練することを可能にし、また、ロボットの通常動作の間、ロボットの意図および状態に関する合図を人々に提供する訓練モジュール112とがある。ロボットとユーザとの間の相互作用は、概して、知覚システム102の構成要素を介して、および/または、例えば、キーボード、マウス、またはタッチスクリーン等の従来のユーザインターフェースデバイスを介して、生じる。故に、タスク実行モジュール110および訓練モジュール112は、知覚システム102から情報を受信し、知覚システム102に制御コマンドを送信するように構成される。さらに、モジュール110、112は両方とも、ロボットコントローラ106と情報を交換し、ロボットコントローラ106にコマンドを提供し、コントローラによるサブタスクの実施を命令する。タスク実行モジュール110および訓練モジュール112は、概して、相互または任意の他の構成要素から制御コマンドを受信しない。むしろ、それらは、システム100全体のための制御源である。例えば、知覚システム102から受信された情報(例えば、新しい物体の検出)に応答して、訓練モジュール112またはタスク実行モジュール110は、コントローラ106へのコマンドを介して、新しいアクションまたは基本タスクを開始してもよい。対照的に、基本タスクの実行の間、コントローラ106は、最初に、モジュール110、112の一方を通して情報をパスする必要なく、直接、知覚システム102によって誘導されてもよい。   At the heart of the system 100 is a task execution module 110 that manages the robot's behavior so that the robot performs useful tasks, and allows the user to train the robot and also during the normal operation of the robot. And a training module 112 that provides people with cues about the condition. Interaction between the robot and the user generally occurs via components of the sensory system 102 and / or via a conventional user interface device such as, for example, a keyboard, mouse, or touch screen. Thus, task execution module 110 and training module 112 are configured to receive information from sensory system 102 and send control commands to sensory system 102. In addition, both modules 110 and 112 exchange information with the robot controller 106, provide commands to the robot controller 106, and instruct the controller to perform subtasks. The task execution module 110 and the training module 112 generally do not receive control commands from each other or any other component. Rather, they are a control source for the entire system 100. For example, in response to information received from sensory system 102 (eg, detection of a new object), training module 112 or task execution module 110 initiates a new action or basic task via a command to controller 106. May be. In contrast, during the execution of basic tasks, the controller 106 may first be guided directly by the sensory system 102 without having to pass information through one of the modules 110, 112.

タスク実行モジュール110および訓練モジュール112は、一式の共有表現によってともに結び付けられ、一式の共有表現を通して相互作用する。2つのモジュールを定義する命令は、これらの共有表現のユーザ操作を可能にし、これは、タスク、物体、および/または場所(ならびに、可能性として、他のカテゴリ)のプロトタイプをインスタンス化し、インスタンスのデータベース114をもたらすことによって、ロボット訓練の間に作成される。プロトタイプ自体は、典型的には、プロトタイプライブラリ116内に編成される。いくつかの実施形態では、タスク実行モジュール110および訓練モジュール112は、訓練およびタスク実行機能性の両方を提供する1つのモジュールに統合される。これは、両モジュールによって使用される機能の重複を回避する。   Task execution module 110 and training module 112 are linked together by a set of shared representations and interact through a set of shared representations. Instructions defining two modules allow user manipulation of these shared representations, which instantiate prototypes of tasks, objects, and / or places (and possibly other categories) Created during robot training by providing database 114. The prototype itself is typically organized in the prototype library 116. In some embodiments, task execution module 110 and training module 112 are integrated into one module that provides both training and task execution functionality. This avoids duplication of functions used by both modules.

システム100はまた、タスク実行モジュール110および訓練モジュール112が、人物と適切に相互作用すること(例えば、特定の人物が権限ユーザであるかどうか識別し、任意の人物がロボットの動作ゾーンに進入すると、移動に関して安全上の制約を課すことを含んでもよい)を確実にすることに関連するデータを含む1つ以上のユーザモデル118を含んでもよい。ユーザモデルは、知覚システムからのデータ(例えば、ユーザの顔のカメラ画像)によって通知されてもよく、タスク実行モジュール110および訓練モジュール112と情報を双方向に交換する。全てのこれらのデータ構造、すなわち、プロトタイプライブラリ、インスタンスデータベース、およびユーザモデル(単数または複数)は、概して、メモリ内に(例えば、大容量記憶装置内に恒久的に、かつロボット動作の間、メモリパーティション内に)記憶され、システム100によって維持される。   The system 100 also allows the task execution module 110 and the training module 112 to properly interact with a person (eg, identify whether a particular person is an authorized user and any person enters the robot's operating zone. May include one or more user models 118 that include data related to ensuring (which may include imposing safety constraints on movement). The user model may be informed by data from a sensory system (eg, a camera image of the user's face) and exchanges information interactively with the task execution module 110 and the training module 112. All these data structures, i.e., prototype library, instance database, and user model (s) are generally stored in memory (e.g., permanently in mass storage and during robot operation). Stored in the partition) and maintained by the system 100.

2.ロボット設計
図2は、一実施形態による、ロボット200を示す。ロボット200は、2つのアーム202を有し、それぞれ、好適な(かつ従来の)回転関節204によって提供される7自由度を有する。各関節204は、望ましくは、直列弾性アクチュエータを採用し、ロボットがそこに印加される外部力(例えば、予期しない衝突から生じる力等)を感知することを可能にする。各アームの端部に装着されるのは、ロボットが、物体を握持すること、持ち上げること、および移動させることを可能にする、並列顎把持部206である。ロボット200はまた、ユーザにロボットの状態を通知する役割を果たす画面208およびステータスライトを伴うヘッドを有する。ヘッドおよび画面208は、垂直軸を中心として回転することができ、画面208に平行に走る水平軸を中心として頷くことができる。
2. Robot Design FIG. 2 shows a robot 200 according to one embodiment. The robot 200 has two arms 202, each with seven degrees of freedom provided by a suitable (and conventional) rotating joint 204. Each joint 204 desirably employs a series elastic actuator to allow the robot to sense external forces applied thereto (eg, forces resulting from unexpected collisions, etc.). Attached to the end of each arm is a parallel jaw grip 206 that allows the robot to grip, lift and move objects. The robot 200 also has a screen 208 that serves to notify the user of the robot status and a head with a status light. The head and screen 208 can rotate about a vertical axis and can center around a horizontal axis that runs parallel to the screen 208.

さらに、ロボット200は、5つのカメラを含む。ロボット200は、ロボット200が取り上げようとしている物体を「見て」、その把持部206を適宜調節することができるように、その2つの手首のそれぞれに1つのカメラ209を有する。さらに、その胸部に並んだ2つのカメラ210を有し、作業空間の広角視野を提供し、ロボット200が、操作される機器または物体を視覚的に検出することを可能にする。最後に、ロボット200は、画面208の上方に、環境内の人々を検出するために外向きに向けられたカメラ211を有する。ロボット200はまた、各手首にレンジセンサと、そのヘッドにソナーセンサのリングとを含んでもよく、それらは、環境内を移動する物体を検出するために使用される。2012年4月26日に出願され、参照することによって本明細書に組み込まれる、同時係属中の出願第13/456,915号を参照されたい。   Further, the robot 200 includes five cameras. The robot 200 has one camera 209 on each of its two wrists so that it can “see” the object that the robot 200 is trying to pick up and adjust its gripping portion 206 accordingly. In addition, it has two cameras 210 lined up on its chest, providing a wide-angle view of the workspace, allowing the robot 200 to visually detect the device or object being operated. Finally, the robot 200 has a camera 211 directed outward to detect people in the environment above the screen 208. The robot 200 may also include a range sensor on each wrist and a ring of sonar sensors on its head, which are used to detect objects moving in the environment. See copending application No. 13 / 456,915, filed Apr. 26, 2012 and incorporated herein by reference.

視覚的かつ/または聴覚的に物体を検出するためのこれらのセンサに加え、ロボット200は、人(例えば、訓練者)との機械的相互作用を促進するいくつかのタッチ感応センサおよび機械的特徴をそのアーム202および本体上に含んでもよい。例えば、各手首に、ロボットは、タッチされる度に、ロボットアームを「ゼロ重力補償」モードに切り替えるカフ212を有し、ゼロ重力補償モードは、ユーザが、訓練目的のために、場所から場所にアームを容易に移動させることを可能にする。本モードでは、ロボットコントローラ106は、アームが最低可能構成まで落下しない(代わりに、宇宙内に存在するかのうようにアクションする)ように重力を補償しながら、各関節に低摩擦軸受を伴う一式のリンクのようにアクションするようにロボットアームを動作させる。重力補償を達成するために、コントローラ106は、ロボットの質量分布の詳細モデルに基づいて、ロボットの瞬時運動学的構成を考慮し、トルクを各関節に印加し、重力に対抗する。アームは、手首カフ212が訓練者によって保持される限り、単に、その慣性によって妨げられるわずかな力にさえ応答して、自由に移動する。手首カフ212上には、例えば、異なる点(例えば、多角形の頂点)においてボタンの一方をクリックすることによって領域を区画するため、物体の正しい視覚的選択を確認するため、または把持部を手動で開閉させるために、訓練プロセスにおいて使用されることができる2つのボタン214がある。   In addition to these sensors for visually and / or audibly detecting objects, the robot 200 includes several touch-sensitive sensors and mechanical features that facilitate mechanical interaction with a person (eg, a trainee). May be included on the arm 202 and the body. For example, on each wrist, the robot has a cuff 212 that switches the robot arm to a “zero gravity compensation” mode each time it is touched, where the zero gravity compensation mode allows the user to place from place to place for training purposes. Makes it possible to move the arm easily. In this mode, the robot controller 106 uses a set of low friction bearings at each joint while compensating for gravity so that the arm does not fall to the lowest possible configuration (instead, acting as if it were in space). Operate the robot arm to act like a link. To achieve gravity compensation, the controller 106 considers the robot's instantaneous kinematic configuration based on a detailed model of the robot's mass distribution, applies torque to each joint, and counters gravity. The arm is free to move as long as the wrist cuff 212 is held by the trainee, simply in response to even a slight force hindered by its inertia. On the wrist cuff 212, for example, to segment an area by clicking one of the buttons at different points (eg, polygon vertices), to confirm the correct visual selection of an object, or to manually hold the grip There are two buttons 214 that can be used in the training process.

さらに、ロボット200は、ノブおよびボタンの4つの同じセット214(各セットは、集合的に、「ナビゲータ」と呼ばれる)をそのアーム、胸部、および背中に含む。ナビゲータ214は、ユーザが、画面208上に表示される情報に応答し(例えば、メニューアイテムを選択することによって、訓練モードと実行モードとの間を切り替える)、デジタル回転式ノブを介して、数(例えば、物体が箱の中に詰められるべき行列の数を示すため)またはテキスト(例えば、パスワードまたは物体名およびタスク名)を入力する。ロボット200はさらに、その肩に2つのタッチパッド216を含み、ロボット200の背後からやって来た人が、ロボット200をタップし、それによって、ロボットを訓練するときにその人が立つことを意図するロボット200の側を示すことを可能にする。これらの視覚的センサ、ソナーセンサ、およびタッチベースのセンサは、限定ではなく、代表であり、全て、ロボットの知覚システム102の一部である。   In addition, the robot 200 includes four identical sets 214 of knobs and buttons (each set collectively referred to as a “navigator”) on its arms, chest, and back. The navigator 214 is responsive to information displayed on the screen 208 by the user (eg, switching between training mode and execution mode by selecting a menu item) and via a digital rotary knob Enter text (eg, password or object name and task name) (eg, to indicate the number of matrices in which the object should be packed into the box). The robot 200 further includes two touchpads 216 on its shoulders so that a person who comes from behind the robot 200 taps the robot 200 and thereby intends the person to stand when training the robot. Allows to show 200 sides. These visual sensors, sonar sensors, and touch-based sensors are representative, not limiting, and are all part of the robot's perception system 102.

前述のロボット200は、当然ながら、本発明による多くの可能性として考えられるロボット実施形態のうちの1つにすぎない。種々の構成要素および特徴は、当業者に容易に明白になる態様で修正されることができる。例えば、ロボットは、概して、任意の数のアーム(または、より一般的には、付属肢)を有してもよく、各アームは、任意の数の自由度を有してもよい。アームのリンクは、1自由度を伴う回転関節(例えば、ヒンジ関節等)によって継合される必要はなく、例えば、2回転自由度を提供する玉継ぎ手関節、または並進運動を促進するレールシステムを含んでもよい。さらに、物体の周囲で閉鎖するフィンガを伴う把持部の代わりに、ロボットは、吸引把持部、または、物体を保持する他の手段を含んでもよい。代替として、または加えて、ロボットは、他のタイプのエンドエフェクタ、例えば、ツール(ドリル、のこぎり等)または測定デバイス(例えば、スケール、ゲージ等)を有してもよい。ロボットはまた、脚部、車輪、または全体としてその本体を移動させる類似手段を含んでもよい。さらに、付加的および/または異なるタイプのセンサが、ロボットの本体および付属肢の種々の場所に設置されてもよい。同様に、画面208およびステータスライトは、異なる場所に置かれてもよく、あるいは情報をユーザに通信するための異なる構成要素と交換またはそれによって補われてもよい。例えば、ロボットは、オーディオ通信のために、スピーカおよび/またはマイクロホンを含んでもよい。   The aforementioned robot 200 is, of course, only one of many possible robot embodiments according to the present invention. Various components and features can be modified in ways that will be readily apparent to those skilled in the art. For example, a robot may generally have any number of arms (or more commonly, appendages), and each arm may have any number of degrees of freedom. The link of the arm does not need to be joined by a rotating joint with one degree of freedom (eg, a hinged joint), eg, a ball joint that provides two degrees of freedom, or a rail system that facilitates translational movement. May be included. Further, instead of a gripper with fingers closing around the object, the robot may include a suction gripper or other means for holding the object. Alternatively or in addition, the robot may have other types of end effectors, such as tools (drills, saws, etc.) or measuring devices (eg, scales, gauges, etc.). The robot may also include legs, wheels, or similar means for moving the body as a whole. Further, additional and / or different types of sensors may be installed at various locations on the robot body and appendages. Similarly, the screen 208 and status light may be located at different locations, or may be exchanged for or supplemented by different components for communicating information to the user. For example, the robot may include a speaker and / or a microphone for audio communication.

制御システム100およびその種々の構成要素は、ロボットに統合され得、またはロボットと通信する別個の制御機器内に(少なくとも部分的に)保たれてもよい。例えば、いくつかの実施形態では、タスク実行モジュール110および訓練モジュール112は、汎用コンピュータのメモリ内に(例えば、使用中にシステムメモリ、典型的には、ランダムアクセスメモリ(RAM)内に、および/または長期記憶のために、ハードドライブ、CD−ROM、または他の不揮発性記憶媒体上に)記憶されるソフトウェア内に実装され、コンピュータのプロセッサによって実行される。ユーザプロトタイプライブラリ116、インスタンスデータベース114、およびユーザモデル118は、同様に、不揮発性メモリ内に長期記憶され、使用中に、システムメモリにロードされてもよい。モジュールは、限定ではないが、高水準言語(例えば、C、C++、C#、Ada、Basic、Cobra、Fortran、Java(登録商標)、Lisp、Perl、Python、Ruby、またはObject Pascal)あるいは低水準アセンブリ言語を含む任意の好適なプログラミング言語でプログラムされてもよい。ロボットとコンピュータとの間の通信は、例えば、Bluetooth(登録商標)、WLAN、802.11プロトコル、Ethernet(登録商標)ネットワーク、あるいは任意の他の有線または無線接続を介して、確立されてもよい。代替として、ロボットのサイズが許容する場合、コンピュータまたはコンピュータ端末は、ロボット内に内蔵されてもよい。   Control system 100 and its various components may be integrated into the robot or may be (at least partially) kept in a separate control device in communication with the robot. For example, in some embodiments, the task execution module 110 and the training module 112 are in memory of a general purpose computer (eg, in use, in system memory, typically random access memory (RAM), and / or Or implemented in software stored on a hard drive, CD-ROM, or other non-volatile storage medium for long-term storage and executed by a computer processor. User prototype library 116, instance database 114, and user model 118 may likewise be stored long-term in non-volatile memory and loaded into system memory during use. Modules include, but are not limited to, high level languages (eg, C, C ++, C #, Ada, Basic, Cobra, Fortran, Java, Lisp, Perl, Python, Ruby, or Object Pascal) or low level. It may be programmed in any suitable programming language, including assembly language. Communication between the robot and the computer may be established via, for example, Bluetooth®, WLAN, 802.11 protocol, Ethernet network, or any other wired or wireless connection. . Alternatively, if the size of the robot allows, the computer or computer terminal may be embedded in the robot.

さらに、汎用コンピュータを使用する代わりに、制御システムは、限定ではないが、特殊目的コンピュータ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールド−プログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、またはプログラマブルゲートアレイ(PGA)を含む、種々の他の処理デバイスのいずれかを採用してもよい。そのようなデバイスは、同様に、ロボットの本体、ヘッド、または付属肢内あるいはその上に装着されてもよく、もしくはケーブルまたは無線信号を介してロボットと通信する別個の制御機器内に含まれてもよい。種々の実施形態では、複数の異なる処理デバイスの組み合わせが、使用される。さらに、いくつかの実施形態では、全体的制御機能性は、ロボットに物理的に統合された構成要素と、ロボットと通信する外部構成要素との間に分散される。例えば、ロボットコントローラ106および関節レベルコントローラ108、ならびに、カメラ画像または他の信号を取得する(可能性として、基本画像/信号処理ステップを行う)ためのハードウェアは、ロボット内に位置してもよい一方、高水準データ構造および処理機能性は、遠隔に位置する機器内に提供されてもよい。   Further, instead of using a general purpose computer, the control system includes, but is not limited to, special purpose computers, microcontrollers, application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs). Or any of a variety of other processing devices, including a programmable gate array (PGA). Such a device may also be worn in or on the body, head, or appendage of the robot, or included in a separate control device that communicates with the robot via a cable or wireless signal. Also good. In various embodiments, a combination of multiple different processing devices is used. Further, in some embodiments, the overall control functionality is distributed between components physically integrated into the robot and external components that communicate with the robot. For example, the robot controller 106 and joint level controller 108, as well as hardware for acquiring camera images or other signals (possibly performing basic image / signal processing steps) may be located within the robot. On the other hand, high level data structures and processing functionality may be provided in remotely located equipment.

図2Cは、ブロック図形態における例示的制御システムを図示する。システムは、関節レベルコントローラ108としての役割を果たす、いくつかのARMプロセッサ(ARM Holdings(Cambridge, UK)によって開発された縮小命令セットコンピュータ(RISC)プロセッサ)を含む。タスク実行モジュール110および訓練モジュール112ならびに画像処理機器および関連視覚アルゴリズムを含む、全ての他の計算機能性は、中央処理ユニット(CPU)252(例えば、クアッドコアIntelプロセッサ)と、システムメモリ254と、不揮発性大容量記憶デバイス(1つ以上のハードディスクおよび/または光学記憶ユニット等)とを含む、ロボット内に埋め込まれた汎用コンピュータ250上に実装される。コンピュータ250はさらに、双方向システムバス256を含み、それを経由して、CPU252、メモリ254、および記憶デバイス256が、相互に、および、画面208、知覚システム102のハードウェア構成要素(例えば、カメラ209、210、211、ナビゲータ214、手首カフ212)、外部センサ104、および/または従来の入力デバイス(例えば、キーボードまたはマウス)等の内部または外部入力/出力デバイス、ならびにARMプロセッサ108と通信する。   FIG. 2C illustrates an exemplary control system in block diagram form. The system includes several ARM processors (Reduced Instruction Set Computer (RISC) processors developed by ARM Holdings (Cambridge, UK)) that serve as joint level controllers 108. All other computational functionality, including task execution module 110 and training module 112 and image processing equipment and associated visual algorithms, includes a central processing unit (CPU) 252 (eg, a quad-core Intel processor), system memory 254, non-volatile Implemented on a general purpose computer 250 embedded in a robot, including a mass storage device (such as one or more hard disks and / or optical storage units). The computer 250 further includes an interactive system bus 256 through which the CPU 252, memory 254, and storage device 256 communicate with each other and the hardware components of the screen 208, perception system 102 (eg, camera 209, 210, 211, navigator 214, wrist cuff 212), external sensor 104, and / or internal or external input / output devices such as conventional input devices (eg, keyboard or mouse) and the ARM processor 108.

システムメモリ254は、CPU252の動作および他のハードウェア構成要素との相互作用を制御する、モジュール群として概念的に図示された命令を含む。オペレーティングシステム260(例えば、Gentoo Linux(登録商標))は、メモリ割り当て、ファイル管理、および大容量記憶デバイス256の動作等の低水準の基本システム機能の実行を命令する。より高い水準では、1つ以上のサービスアプリケーション262が、ロボットコントローラ106、タスク実行モジュール110、訓練モジュール112、および画像処理モジュールを統合する。プロトタイプライブラリ116、インスタンスデータベース114、およびユーザモデル118は、大容量記憶デバイス256上に、および/または動作中に、システムメモリ254内に記憶されてもよい。一実施形態では、ロボットコントローラ106は、100HzループでCPU252において作動する一方、視覚アルゴリズムならびに訓練モジュールおよび実行モジュールは、10Hzにより近いレートで作動する。関節レベルコントローラは、ARMプロセッサとして実装される場合、一実施形態では、約1000Hzで作動する。制御システム100を実装するための種々の代替方法は、当業者に容易に明白となり、描写される例示的システムのように、過度の実験を伴わずに実装されることができる。   The system memory 254 includes instructions conceptually illustrated as a group of modules that control the operation of the CPU 252 and its interaction with other hardware components. The operating system 260 (eg, Gentoo Linux®) commands the execution of low-level basic system functions such as memory allocation, file management, and mass storage device 256 operation. At a higher level, one or more service applications 262 integrate the robot controller 106, task execution module 110, training module 112, and image processing module. Prototype library 116, instance database 114, and user model 118 may be stored on mass storage device 256 and / or in system memory 254 during operation. In one embodiment, the robot controller 106 operates on the CPU 252 in a 100 Hz loop, while the visual algorithm and training and execution modules operate at a rate closer to 10 Hz. When implemented as an ARM processor, the joint level controller operates at approximately 1000 Hz in one embodiment. Various alternative methods for implementing the control system 100 will be readily apparent to those skilled in the art and can be implemented without undue experimentation, such as the exemplary system depicted.

3.タスク表現および動作原理
種々の実施形態によるロボット制御システムは、基本ロボット動作(すなわち、ロボット移動または物体の操作)、ならびにこれらの動作と関連付けられた場所のタイプおよび物体、設備、または機器のクラスの観点から、メモリ内にタスクを表す。より具体的には、そのような基本動作および関連カテゴリのハードコードされたプロトタイプは、プロトタイプライブラリ116内に記憶され、タスク実行モジュール110によって使用されるプロトタイプのインスタンスの作成のためのテンプレートとしての役割を果たす。
3. Task Representation and Principles of Operation A robot control system according to various embodiments includes basic robot movements (ie, robot movement or object manipulation), as well as the types of places and class of objects, equipment, or equipment associated with these movements. From a point of view, represent tasks in memory. More specifically, such basic operations and related categories of hard-coded prototypes are stored in the prototype library 116 and serve as templates for the creation of prototype instances for use by the task execution module 110. Fulfill.

図3は、プロトタイプの3つのクラス、すなわち、基本動作またはタスクのためのプロトタイプ300、場所のプロトタイプ302、および視覚的に認識可能な物体のプロトタイプ304を含む例示的プロトタイプライブラリ116(または、「テンプレートライブラリ」)の構造を図示する。基本タスク300は、いくつか挙げると、例えば、物体を握持する、取り上げる、または置く、穴を通して物体を挿入する、または(物体を保持する、または保持しない)ロボット付属肢を移動させるための動作を含んでもよい。場所のためのプロトタイプ302は、例えば、特定のタイプの物体の源または目的場所、物体が積み重ねられ得る場所、カートンまたは他の運搬装置内の部分の配列に対応する長方形アレイ、またはコンベヤベルトを含んでもよい。視覚的に識別可能な物体のためのプロトタイプ304は、操作される物体のクラス、および/または環境内で見出される特殊設備または機器(例えば、コンベヤベルト、段ボール箱、計量器、試験機械等)のクラスを含んでもよい。物体のいくつかのクラス(例えば、段ボール箱またはコンベヤベルト)は、それらと関連付けられた特殊な視覚的ルーチンを有してもよい一方、その他は、一般的な物体プロトタイプに属してもよい。ロボットは、認識するように視覚的に訓練される物体毎に物体プロトタイプをインスタンス化する。   FIG. 3 illustrates an exemplary prototype library 116 (or “template” that includes three classes of prototypes: a prototype 300 for basic actions or tasks, a place prototype 302, and a visually recognizable object prototype 304. The structure of the library ") is illustrated. Basic tasks 300 include, for example, actions for grasping, picking or placing an object, inserting an object through a hole, or moving a robot appendage (holding or not holding an object) May be included. Prototype 302 for a location includes, for example, a source or destination location for a particular type of object, a location where objects can be stacked, a rectangular array corresponding to an array of parts in a carton or other transport device, or a conveyor belt. But you can. Prototype 304 for visually identifiable objects is a class of objects to be manipulated and / or special equipment or equipment found in the environment (eg, conveyor belts, cardboard boxes, scales, test machines, etc.). May contain classes. Some classes of objects (eg, cardboard boxes or conveyor belts) may have special visual routines associated with them, while others may belong to common object prototypes. The robot instantiates an object prototype for each object that is visually trained to recognize.

基本タスク、場所、および物体は、本明細書で想定される多くのロボット用途のために有用なプロトタイプクラスであるが、プロトタイプの編成を種々のカテゴリに決して限定しない。種々の状況で使用され得る他のプロトタイプカテゴリとして、例えば、複合タスクプロトタイプ(基本タスクの順序を参照および規定し得る、または複合タスクを構成する動きを直接規定し得る)、機器プロトタイプ(例えば、容器、輸送車両等)、ツールプロトタイプ(例えば、ドリル、のこぎり、やすり等)、または時間およびシーケンスプロトタイプ(例えば、特定のタスクの開始または終了と関連付けられたトリガ、より複合的なタスクを構成する基本タスクの特定の順序等)が挙げられる。一般に、各クラスまたはカテゴリ内のプロトタイプは、類似タイプの情報によって特徴付けられる。図3に示されるように、いくつかのエンティティは、2つ以上のカテゴリにおけるプロトタイプと関連付け得る。例えば、コンベヤベルトは、物体プロトタイプおよびそれと関連付けられた場所プロトタイプの両方を有してもよく、物体プロトタイプは、コンベヤベルトを認識するための特定の視覚的技法の仕様を要求し、場所プロトタイプは、その機能の仕様(例えば、物体の源または目的場所として)および/または空間座標内のその位置を要求する。いくつかのプロトタイプカテゴリのうちの1つに属するようなプロトタイプを利用する概念は、プログラミング段階の間(すなわち、プロトタイプライブラリが作成されるとき)、有用であり得、プロトタイプライブラリ116の構造内に反映されてもよいが、その必要はない。いくつかのライブラリは、プロトタイプの種々のカテゴリのためのサブライブラリを有するが、他のライブラリは、プロトタイプを1つの一般的メモリ位置内に無作為に記憶する。   Basic tasks, locations, and objects are useful prototype classes for many of the robot applications envisioned herein, but in no way limit the organization of prototypes to various categories. Other prototype categories that may be used in various situations include, for example, composite task prototypes (which may refer to and define the order of basic tasks, or directly define the movements that make up a composite task), equipment prototypes (eg, containers , Transport vehicles, etc.), tool prototypes (eg drills, saws, files, etc.), or time and sequence prototypes (eg triggers associated with the start or end of specific tasks, basic tasks that make up more complex tasks) Specific order, etc.). In general, prototypes within each class or category are characterized by similar types of information. As shown in FIG. 3, some entities may be associated with prototypes in more than one category. For example, a conveyor belt may have both an object prototype and an associated location prototype, the object prototype requires the specification of a specific visual technique for recognizing the conveyor belt, Requires specification of the function (eg, as the source or destination of an object) and / or its position in spatial coordinates The concept of utilizing a prototype as belonging to one of several prototype categories can be useful during the programming phase (ie when the prototype library is created) and is reflected in the structure of the prototype library 116 May be, but it is not necessary. Some libraries have sub-libraries for different categories of prototypes, while other libraries store prototypes randomly in one general memory location.

図4は、プロトタイプ400の一般的構造を図示する。プロトタイプ400は、複数のスロット401から成るテンプレートデータ構造を提供し、それぞれ、スロットラベル402およびスロットフィラー404(または、スロットフィラーを受け取るための空のフィールド)を含む。プロトタイプ400はさらに、スロット401を充填するために使用され得る方法406または一式の方法と各スロット401とを関連付ける。スロット充填方法406は、利用可能なプロシージャのプール408から選択される。   FIG. 4 illustrates the general structure of the prototype 400. Prototype 400 provides a template data structure consisting of a plurality of slots 401, each including a slot label 402 and a slot filler 404 (or an empty field for receiving the slot filler). Prototype 400 further associates each slot 401 with a method 406 or set of methods that can be used to fill slot 401. The slot filling method 406 is selected from a pool 408 of available procedures.

ロボットを訓練するプロセスは、プロトタイプをライブラリ116から選択し、それらをインスタンス化(すなわち、テンプレートに基づいて、「インスタンス」と呼ばれるデータ構造を構築)し、インスタンススロットに値を充填することを伴う。スロットが充填される態様は、プロトタイプのカテゴリによって変動してもよい。図4に示されるように、プロトタイプ400は、いくつかのスロット401のためのデフォルトスロットフィラー404を含んでもよい。任意のそのようなデフォルトフィラーは、プロトタイプがインスタンス化されると、上書きコピーされる。付加的スロットが、特定のスロットと関連付けられた充填方法406のいずれかを使用して、ユーザ入力および/または適切な推測を通して充填される。いくつかの実施形態では、ユーザがスロットを充填すると、既に充填されたスロットに基づいて、さらなるスロットを状況に即して充填するためのスロット充填プロシージャが、利用可能となる。このように、スロット充填プロシージャ406は、特定のタスクに関してユーザからより学習されるにつれて、アクティブデフォルトおよび物体間またはカテゴリ間スロットデータを提供する。通常、ユーザは、オートフィル値がタスクに適切ではない場合、オートフィル値を手動で変更する能力を有する。一般に、スロット値が変更されると、プロトタイプと関連付けられたプロシージャは、再呼出され、他のスロット内の任意の従属フィラーに情報を伝搬する。したがって、プロトタイプは、概して、連続洗練プロセスによってインスタンス化される。   The process of training the robot involves selecting prototypes from the library 116, instantiating them (ie, building a data structure called an “instance” based on the template), and filling the instance slots with values. The manner in which the slots are filled may vary depending on the prototype category. As shown in FIG. 4, the prototype 400 may include default slot fillers 404 for several slots 401. Any such default filler is overwritten when the prototype is instantiated. Additional slots are filled through user input and / or appropriate guesses using any of the filling methods 406 associated with a particular slot. In some embodiments, when a user fills a slot, a slot filling procedure is available for filling additional slots in context based on the slots that have already been filled. Thus, the slot filling procedure 406 provides active defaults and inter-object or inter-category slot data as it is learned more from the user for a particular task. Typically, the user has the ability to manually change the autofill value if the autofill value is not appropriate for the task. In general, when the slot value changes, the procedure associated with the prototype is recalled and propagates information to any subordinate fillers in other slots. Thus, prototypes are generally instantiated by a continuous refinement process.

図5は、プロトタイプ500と、対応するインスタンス502との間の関係を図示する。積み重ねにおける物体の配列を命令するプロトタイプ500は、タスクの実行のために必要な全スロット(例えば、配列の場所、配列内の物体の最大数、配列のタイプ、および配列される物体のタイプ)を含み、いくつかのスロットのためのデフォルトフィラー(例えば、配列が積み重ねであることのインディケーションおよび積み重ねられる物体の最大数としての25)を含む。さらに、プロトタイプ500は、種々の充填プロシージャとスロットを関連付ける。プロトタイプ500のインスタンス502では、デフォルトフィラーが、既知のまたは観察された情報に基づいて、採用され、あるいは修正され、付加的スロットが、ロボットが訓練されまたはタスクを開始する場合に、充填される。集合的に、スロットフィラーの値は、インスタンスの特性を決定する。スロットフィラーは、実際のデータ(例えば、積み重ね場所の座標)または他のプロトタイプのインスタンスへの参照であってもよい。例えば、積み重ねられる物体は、箱であってもよく、これはさらに、「箱」インスタンスにおいて規定される。別の例として、複合タスクのためのプロトタイプは、種々のサブタスクの仕様を要求してもよく、そのようなサブタスクのためのスロットは、基本タスクインスタンスへの参照で充填されてもよい。プロトタイプ間のオブジェクト指向関係は、容易に規定され、例えば、関係データベースまたはオブジェクト指向データベース内に維持される。   FIG. 5 illustrates the relationship between the prototype 500 and the corresponding instance 502. Prototype 500 that commands the arrangement of objects in the stack has all slots required for performing the task (eg, the location of the array, the maximum number of objects in the array, the type of array, and the type of objects to be arranged). Including default fillers for some slots (eg, 25 as an indication that the array is stacked and the maximum number of objects stacked). In addition, prototype 500 associates slots with various filling procedures. In an instance 502 of prototype 500, default fillers are adopted or modified based on known or observed information, and additional slots are filled when the robot is trained or starts a task. Collectively, the value of the slot filler determines the characteristics of the instance. Slot fillers may be references to actual data (eg, stack location coordinates) or other prototype instances. For example, the object to be stacked may be a box, which is further defined in a “box” instance. As another example, a prototype for a composite task may require specifications for various subtasks, and slots for such subtasks may be filled with references to basic task instances. Object oriented relationships between prototypes are easily defined and maintained, for example, in a relational database or object oriented database.

訓練の間、プロトタイプがインスタンス化される度に、一意のインスタンスが、作成される。一般に、所与のタスクは、同一のプロトタイプの複数のインスタンスを伴ってもよい。例えば、物体は、例えば、その重量に応じて、複数の場所に積み重ねられる必要があってもよく、これらの場所はそれぞれ、積み重ねプロトタイプ500の別個のインスタンス502に対応する。インスタンスがプロトタイプから作成されるとすぐに、タスク実行モジュール110は、概して、インスタンス内のスロットのうちのいくつか未充填のままであっても、そのインスタンスを用いて動作可能である。未充填のスロットのうちの1つに関するデータが、後に、インスタンスに関わるタスクの実行の間に必要とされる場合、タスク実行モジュール110は、例えば、実行を中断し、スロットを充填するようにユーザからの入力を求めてもよい。いくつかのスロットは、タスクに応じて、充填される(または、デフォルト値がオーバーライドされる)必要がなくてもよい。   During training, each time a prototype is instantiated, a unique instance is created. In general, a given task may involve multiple instances of the same prototype. For example, an object may need to be stacked in multiple locations, for example, depending on its weight, each of which corresponds to a separate instance 502 of the stacked prototype 500. As soon as the instance is created from the prototype, task execution module 110 is generally operable with that instance even though some of the slots in the instance remain unfilled. If data regarding one of the unfilled slots is later needed during the execution of a task involving the instance, the task execution module 110 may, for example, interrupt the execution and fill the slot to the user. You may ask for input. Some slots may not need to be filled (or overridden by default) depending on the task.

図6は、種々の実施形態による、プロトタイプおよびインスタンスの使用を要約するものである。一般に、訓練段階の間、インスタンス作成は、ロボットが、その知覚システム102を介して、および/または直接ユーザ入力を介して、情報を受信するとトリガされる(ステップ600)。ロボットは、その情報を使用して、プロトタイプライブラリ116から好適なプロトタイプを選択し(ステップ602)、プロトタイプをインスタンス化した後またはインスタンス化している間(ステップ604)、インスタンス内のスロットのうちの1つ以上を充填する(ステップ606)。例えば、ロボット訓練者は、ロボットのカメラを物体に向け、ロボットに、最初に、物体の視覚的外観に基づいて、一般的な「物体」プロトタイプのインスタンスを作成させ、次に、物体プロトタイプと関連付けられた基本タスクのリストを表示させてもよい。訓練者による、基本タスクのうちの1つの選択に基づいて、そのタスクのプロトタイプが、その後、インスタンス化される。ユーザは、物体に対する基本タスクのロボットの実行を誘導し得、それによって、タスクインスタンスのスロットを充填するための値を提供してもよい。このように作成されるインスタンスは、インスタンスデータベース114内に記憶される。訓練者は、随時、訓練を終了し、タスク実行システムが、規定されたインスタンスを用いて動作することを可能にすることができる。後に、ユーザは、ロボットからのさらなる情報の要求に応答して、または自発的に、訓練を再開することができる。   FIG. 6 summarizes the use of prototypes and instances according to various embodiments. In general, during the training phase, instance creation is triggered when the robot receives information via its sensory system 102 and / or via direct user input (step 600). The robot uses that information to select a suitable prototype from the prototype library 116 (step 602) and after instantiating or instantiating the prototype (step 604), one of the slots in the instance. One or more are filled (step 606). For example, a robot trainer points a robot's camera at an object, causing the robot to first create an instance of a generic “object” prototype based on the visual appearance of the object, and then associate it with the object prototype A list of basic tasks may be displayed. Based on the selection by the trainer of one of the basic tasks, a prototype of that task is then instantiated. The user may guide the execution of the basic task robot on the object, thereby providing a value for filling the slot of the task instance. The instance created in this way is stored in the instance database 114. The trainer can end the training at any time and allow the task execution system to operate with the defined instances. Later, the user can resume training in response to a request for further information from the robot or voluntarily.

十分なインスタンスが作成され、十分に多くのスロットが充填されると、ロボットは、タスク実行モードで動作し、これらのインスタンスを解釈実行してもよい。本モードでは、ロボットは、概して、特定のタスクをトリガする、ユーザまたは知覚システム102からの入力の受信を待機する(ステップ610)。入力に基づいて、ロボットは、1つ以上のインスタンス(例えば、ロボットが検出する物体のインスタンス、物体と関連付けられた基本タスクのインスタンス、およびタスクが行われる場所のインスタンス)を選択し(ステップ612)、必要に応じて、インスタンス(単数または複数)内の空のフィールドを充填する(ステップ614)。タスクは、次いで、インスタンス(単数または複数)に従って実行される(616)。基本タスク(例えば、「持ち上げる」または「置く」等)は、特に、以下により詳細に説明されるように、個別の基本タスクインスタンスによって規定されるパラメータ、事前条件、および事後条件を伴うルールとして動作する。(非基本)タスクは、実行モードにおいて状況に即して作動する、ルールの集合として内部に表される。訓練者は、概して、ルールの表現または詳細にさらされることはなく、その存在を認識する必要さえない。   Once enough instances are created and enough slots are filled, the robot may operate in task execution mode and interpret and execute these instances. In this mode, the robot generally waits to receive input from the user or sensory system 102 that triggers a particular task (step 610). Based on the input, the robot selects one or more instances (eg, an instance of an object that the robot detects, an instance of a basic task associated with the object, and an instance of a place where the task is performed) (step 612). If necessary, fill empty fields in the instance or instances (step 614). The task is then performed according to the instance or instances (616). A basic task (eg, “lift” or “place”, etc.) operates as a rule with parameters, preconditions, and postconditions defined by individual basic task instances, particularly as described in more detail below. To do. (Non-basic) tasks are represented internally as a set of rules that operate in context in the execution mode. The trainer is generally not exposed to the expression or details of the rule and does not even need to be aware of its existence.

故に、6次元座標の観点から一連の動きを教示されるのではなく、種々の実施形態によるロボットは、一連のルールが教示される。実行段階の間、これらのルールを実際の動きに変換することを可能にするために、ロボットは、常時、その本体、ヘッド、アーム、および任意の他の作動要素の場所および向きの3次元自己モデルを維持する。典型的には、これは、特定性(例えば、方向)のタスクに適切なレベルで、データベース関連要素および場所として実装される。ロボットがそのタスクの実施の間に到達する必要がある場所は、視覚的に認識可能な外部物体およびデバイスの観点から、または環境内のものに取着された基準マーカーを参照することによって、ロボットに対する座標において規定されてもよい。   Thus, rather than being taught a series of movements in terms of 6-dimensional coordinates, a robot according to various embodiments is taught a series of rules. In order to be able to translate these rules into actual movement during the execution phase, the robot always has a three-dimensional self-position and orientation of its body, head, arm and any other actuating elements. Maintain the model. This is typically implemented as a database-related element and location at a level appropriate to the task of specificity (eg, direction). Where the robot needs to reach during the performance of its task is determined by the robot in terms of visually recognizable external objects and devices, or by referring to fiducial markers attached to those in the environment May be specified in coordinates.

4.知覚、ユーザ相互作用、および訓練
本発明の種々の実施形態は、その環境内の物体および人々を視覚的に検出および/または識別するためのロボットの能力に依拠する。そのような視覚的検出は、それ自体が、ロボットが行うように訓練される必要があるタスクであってもよい。訓練は、概して、ヒト訓練者からの入力およびフィードバックと結合される、ロボットの環境の継続的知覚を伴う。例えば、ロボットに、特定の物体を視覚的に認識することを教示するために、訓練者は、最初に、ロボットのヘッドにおける画面208上に表示され得る物体がカメラビュー内に現れるように、ロボットのカメラのうちの1つの向きを定めてもよい。訓練者は、例えば、マウスまたはタッチスクリーンを使用して、カメラビュー内の物体を指してもよい。代替として、ロボットのコンピュータビジョンシステムは、1つ以上のルールに基づいて、着目物体の識別を試みてもよい。例えば、システムは、デフォルトによって、カメラビューの中心における物体または画像の前景における物体を選択してもよい。前景および背景は、例えば、ステレオカメラまたは別個の奥行センサを用いて、得られた奥行情報に基づいて、区別されてもよく、あるいは、2つの異なるが重複するカメラビューから導出されてもよい。訓練者入力は、ロボットの自動物体選択を確認または拒否するために使用されてもよい。着目物体がロボットに示されると、コンピュータビジョンシステムは、画像内の物体の輪郭を生成し得、それによって、物体に属すると見なされる全画素を識別してもよい。本画素群は、例えば、輝度、色、または奥行情報に基づいて、識別されてもよい。好適なアルゴリズムは、当業者に公知であり、とりわけ、エッジ検出アルゴリズムが挙げられる。ユーザは、再び、ロボットのコンピュータビジョンシステムが物体の輪郭を正しく描いているかどうかを示すフィードバックを提供し、必要に応じて、補正させてもよい(例えば、カメラの向きを再び定めることによって)。
4). Perception, user interaction, and training Various embodiments of the present invention rely on the robot's ability to visually detect and / or identify objects and people in its environment. Such visual detection may itself be a task that needs to be trained to do by the robot. Training generally involves a continuous perception of the robot's environment combined with input and feedback from a human trainer. For example, to teach the robot to visually recognize a particular object, the trainer first places the robot so that an object that can be displayed on the screen 208 in the robot's head appears in the camera view. The orientation of one of the cameras may be determined. The trainer may point to an object in the camera view using, for example, a mouse or touch screen. Alternatively, the robotic computer vision system may attempt to identify the object of interest based on one or more rules. For example, the system may select, by default, the object in the center of the camera view or the object in the foreground of the image. The foreground and background may be distinguished based on depth information obtained, for example, using a stereo camera or a separate depth sensor, or may be derived from two different but overlapping camera views. The trainer input may be used to confirm or reject the robot's automatic object selection. When the object of interest is shown to the robot, the computer vision system may generate an outline of the object in the image, thereby identifying all pixels considered to belong to the object. This pixel group may be identified based on, for example, luminance, color, or depth information. Suitable algorithms are known to those skilled in the art and include edge detection algorithms, among others. The user may again provide feedback indicating whether the robot's computer vision system is correctly delineating the object and correct it if necessary (e.g., by redefining the camera).

次に、訓練モジュール112は、識別された物体のインスタンスを作成する。いくつかの物体の場合、インスタンスは、同一の(または、同一の種類の)物体の後続認識を容易にする視覚モデル(データ構造および関連付けられたアルゴリズムを含む)の仕様を要求する、一般的な「物体」プロトタイプから作成される物体の視覚的外観のオンザフライ表現である。例えば、物体の画像は、後に取得された画像との相関ベースのマッチングのためのテンプレートとして、インスタンス内に記憶されてもよい。代替として、特定の形状が、物体の輪郭に適合させられ、そのパラメータ値が、後の比較のために、テンプレートパラメータからの許容可能な逸脱のための閾値とともに、インスタンスに記憶されてもよい。これらおよび他の視覚モデルならびに技法の詳細は、コンピュータビジョンの当業者に公知であり、過度の実験を伴わずに、本発明の実施形態に実装されることができる。一般に、異なる視覚モデルは、異なるタイプの物体に多かれ少なかれ好適であり得る。故に、訓練者は、ロボットが認識するように訓練されている物体のための好適なモデルを選択してもよく、または代替として、ロボットは、異なるモデルを試し、例えば、ユーザフィードバックに基づいて決定されるように、最良の認識性能をもたらすものを選択してもよい。使用される視覚モデルにかかわらず、訓練されたロボットのコンピュータビジョンシステムは、個々の物体と、同一の外観を有する物体のクラスの構成子とを区別しない。   Next, the training module 112 creates an instance of the identified object. For some objects, an instance requires a specification of a visual model (including data structures and associated algorithms) that facilitates subsequent recognition of the same (or the same type of) object An on-the-fly representation of the visual appearance of an object created from an “object” prototype. For example, the image of the object may be stored in the instance as a template for correlation-based matching with later acquired images. Alternatively, a particular shape may be adapted to the contour of the object, and its parameter value may be stored in the instance, along with a threshold for acceptable deviation from the template parameters, for later comparison. Details of these and other visual models and techniques are known to those skilled in the art of computer vision and can be implemented in embodiments of the present invention without undue experimentation. In general, different visual models may be more or less suitable for different types of objects. Thus, the trainer may select a suitable model for the object that the robot is trained to recognize, or alternatively, the robot will try a different model and determine, for example, based on user feedback As such, the one that provides the best recognition performance may be selected. Regardless of the visual model used, the computer vision system of the trained robot does not distinguish between individual objects and class members of objects that have the same appearance.

いくつかのタイプの物体の場合、ロボットは、そのプロトタイプライブラリ116内に記憶される特殊プロトタイプを有し得、関連付けられた特殊視覚−知覚アルゴリズムを利用してもよい。例えば、コンベヤベルトは、ベルト上の物体またはベルト自体の反復的かつ継続的な動きに基づいて、認識されてもよく、段ボール箱は、その平坦表面、長方形形状、および段ボールの配色等に基づいて、識別されてもよい。類似視覚検出アルゴリズムが、物体の種々の他の特定のクラスのために使用されてもよい。どのアルゴリズムが、任意の所与の時間に、そのそれぞれの範囲内の物体を検出するために作動するかは、ロボットの現在のタスクまたはその環境の特性評価に依存してもよい。例えば、ロボットは、そのタスクが、物体を箱の中に入れることも箱を積み重ねることも伴わない限り、段ボール箱に関してその環境を視覚的に検索する必要がなくてもよい。   For some types of objects, the robot may have a special prototype stored in its prototype library 116 and may utilize an associated special visual-perceptual algorithm. For example, a conveyor belt may be recognized based on the repetitive and continuous movement of objects on the belt or the belt itself, and a cardboard box may be based on its flat surface, rectangular shape, cardboard color scheme, etc. , May be identified. Similar visual detection algorithms may be used for various other specific classes of objects. Which algorithm works at any given time to detect objects within its respective range may depend on the current task of the robot or the characterization of its environment. For example, a robot may not need to visually search its environment for cardboard boxes unless the task involves placing objects in boxes or stacking boxes.

物体の検出および識別に加え、ロボットの知覚システムはまた、訓練および/またはタスク実行の間に要求される情報を提供するユーザを含む、人々を検出および/または識別する役割を果たす。種々の実施形態では、ロボットは、例えば、顔検出および/またはソナーを通した動き検出を使用して、人々に関してその環境を継続的にスキャンする。さらに、その制御論理は、そのボタン、タッチパネル、ノブ、または手首カフのいずれかがアクティブ化されると、ある人がそのようなアクティブ化に関与すると仮定する。その人の場所は、ロボットの自己モデルにおけるアクティブ化された制御部の場所から推定されてもよい。訓練の間、ロボットは、本情報を使用して、その画面208をその人に向け、その人がロボットの作業空間内を移動する場合に、その人を追従してもよい。実行モードでは、人々の場所に関する情報が、例えば、衝突を回避するために、すなわち、安全動作を確実にするために使用される。さらに、単に、人の存在を検出することに加え、コンピュータビジョンシステムは、例えば、顔テンプレートマッチングに基づいて、特定のユーザを識別してもよい。本能力は、セキュリティのために、すなわち、権限ユーザのみがロボットの制御システムにアクセスすることを確実にするため、および/またはアクセス特権をそのユーザに与えるために使用されてもよい。さらに、それは、特定のユーザとの以前の相互作用に基づいて、ユーザ−ロボット相互作用を調節するために使用されてもよい。例えば、複数の人物が、複数のセッションにわたって、ロボットの訓練に関わる場合、ロボットは、ある特定のユーザとのセッションにおいて、そのユーザが以前の訓練セッションにおいて中断した場所に基づいて、次の訓練目的を示唆してもよい。   In addition to object detection and identification, the robot's sensory system also serves to detect and / or identify people, including users who provide the required information during training and / or task execution. In various embodiments, the robot continuously scans its environment for people using, for example, face detection and / or motion detection through sonar. Further, the control logic assumes that a person is involved in such activation when any of the buttons, touch panel, knob, or wrist cuff is activated. The person's location may be estimated from the location of the activated controller in the robot's self-model. During training, the robot may use this information to point the screen 208 at the person and follow the person as the person moves through the robot workspace. In the run mode, information about people's location is used, for example, to avoid collisions, i.e. to ensure safe operation. Further, in addition to simply detecting the presence of a person, the computer vision system may identify a particular user based on, for example, face template matching. This capability may be used for security, ie to ensure that only authorized users have access to the robot's control system and / or to grant access privileges to that user. In addition, it may be used to adjust user-robot interaction based on previous interactions with a particular user. For example, if multiple people are involved in training a robot across multiple sessions, the robot will follow the next training purpose based on where that user interrupted in a previous training session in a session with a particular user. May suggest.

一般に、ユーザ−ロボット相互作用は、双方向情報フローを伴う。ユーザは、種々の実施形態では、例えば、機械的に(例えば、ロボットのアームを物理的に移動させること、ロボットの肩をタップすること、またはロボットの手首を掴むことによって)または視覚的に(例えば、カメラのうちの1つの視野内に立つこと、手を振ること、物体を指すこと等によって)ヒト相互作用を模倣する態様で、入力をロボットに提供してもよい。加えて、または代替として、ユーザは、ロボットの本体および付属肢上の特殊ロボット制御部を操作すること(例えば、ボタンを押下すること、ノブを回すこと等)によって、ロボットを制御し、かつ/または従来のユーザ入力デバイス(マウスおよびキーボード等)を介して、情報および命令を入力してもよい。さらに、いくつかの実施形態では、ロボットは、音声コマンドを処理することを可能にする、マイクロホンおよび音声認識ソフトウェアを含む。しかしながら、ロボットに示されるユーザ入力は、所望の物体が識別および分析されるまで、すなわち、既存のプロトタイプと比較され、マッチングまたは一般的なプロトタイプに基づいてインスタンス化されるまで、訓練モジュールによって認識され、知覚システム102を誘導するために使用される。ユーザ入力はさらに、以下に説明されるように、物体属性を規定するために採用される。   In general, user-robot interaction involves a bidirectional information flow. In various embodiments, the user may, for example, be mechanically (eg, by physically moving the robot's arm, tapping the robot's shoulder, or grasping the robot's wrist) or visually ( Input may be provided to the robot in a manner that mimics human interaction (eg, by standing within the field of view of one of the cameras, waving, pointing at an object, etc.). Additionally or alternatively, the user can control the robot by manipulating special robot controls on the robot body and appendages (eg, pressing a button, turning a knob, etc.) and / or Alternatively, information and instructions may be input via a conventional user input device (such as a mouse and keyboard). Further, in some embodiments, the robot includes a microphone and voice recognition software that allows it to process voice commands. However, the user input presented to the robot is recognized by the training module until the desired object is identified and analyzed, i.e., compared to existing prototypes and instantiated based on matching or generic prototypes. , Used to guide the perception system 102. User input is further employed to define object attributes, as described below.

逆に言えば、ロボットは、その画面208および/またはステータスライトを介して、ユーザにその内部状態を通知し、かつ/または入力を要求してもよい。画面208は、テキスト、ウィンドウ、アイコン等を有する従来のグラフィカルユーザインターフェース、および代替として、または同時に、直感的態様で情報を伝達するロボット生成グラフィック(例えば、物体の輪郭)が必要に応じてオーバーレイされた1つ以上のカメラビューを表示してもよい。いくつかの実施形態では、ロボットはまた、機械的に情報を伝達するようにも構成される。例えば、ユーザが、ロボットのアームを移動させる場合に、ロボットは、触覚フィードバックを提供し、ユーザに、例えば、ロボットの別の部品または外部物体との衝突が差し迫っていることを警告してもよい。さらに、ユーザ経験を向上させるために、ロボットは、いくつかの実施形態では、ヒト様挙動に従事することによって、そのステータスを通信する。例えば、ロボットが、タスクの実行の間、さらなる入力を要求する不測の状況に遭遇すると、ロボットは、そのヘッドを動かし、その画面208上に当惑した表情の顔を表示してもよい。   Conversely, the robot may notify the user of its internal state and / or request input via its screen 208 and / or status lights. Screen 208 is optionally overlaid with a traditional graphical user interface with text, windows, icons, etc., and alternatively or simultaneously, robot-generated graphics (eg, object contours) that convey information in an intuitive manner. One or more camera views may be displayed. In some embodiments, the robot is also configured to communicate information mechanically. For example, if the user moves the arm of the robot, the robot may provide tactile feedback to alert the user that a collision with, for example, another part of the robot or an external object is imminent. . Further, to improve the user experience, the robot communicates its status in some embodiments by engaging in human-like behavior. For example, if a robot encounters an unforeseen situation that requires further input during the execution of a task, the robot may move its head and display an embarrassed facial expression on its screen 208.

特定のタスクのためにロボットを訓練する状況では、ユーザ入力が、概して、(タスク、物体、場所等の)インスタンスを作成してインスタンス内のスロットを充填するために使用される。訓練モジュール112は、知覚システム102を介したユーザアクションの観察に基づいて、いくつかのスロットを充填し、明示的ユーザ入力に基づいて、いくつかのスロットを充填してもよい。例えば、ロボットに、物体を取り上げることを教示するために、訓練者は、画面208上に表示されるドロップダウンメニューまたはリストから基本動作「取り上げる」のためのプロトタイプを選択し、次いで、ロボットアームを物体の上方に持って来てもよい。ロボットの視覚システムは、次いで、物体を検出し、それの輪郭を描く。ユーザが、例えば、手首カフ上の指定されたボタンを押下することによって、物体の正しい選択を承認する場合、訓練モジュール112は、物体の外観の好適な表現を用いて、一般的な物体プロトタイプの新しいインスタンスを設定する。さらに、訓練モジュール112は、新しい物体インスタンスを使用して、取り上げられる物体を示す「取り上げ」インスタンスのスロットを充填する。また、デフォルトによって、物体がロボットに示される場所である取り上げ場所のインスタンスを設定する。作成されたばかりの物体インスタンスは、場所インスタンスのスロットを充填し、そのスロットは、その場所で見出され得る物体を示し、場所インスタンスは、物体を取り上げるべき場所を規定する「取り上げ」インスタンス内のスロットを充填する。訓練者は、次いで、ロボットに、その視覚的外観に対して物体を把持する方法を示す。本プロセスは、訓練者によるロボット把持部および/またはフィンガの操作および手動調節を伴ってもよい。例えば、訓練者は、ロボットのフィンガの向きを物体に対して定め、ボタンを押下し、フィンガを開閉させてもよい。代替として、ロボットは、それ自体を調節し、例えば、従来のユーザインターフェースを介してユーザによって提供されるフィードバックを考慮してもよい。例えば、ロボットは、物体のカメラビュー上に「仮想把持部」を表示し得、ユーザが、画面を横断して仮想把持部をドラッグすることを可能にしてもよい。ロボットは、次いで、物体のカメラビューに対する仮想把持部の場所に基づいて、その現実の把持部を調節する。   In situations where a robot is trained for a particular task, user input is generally used to create instances (tasks, objects, places, etc.) and fill slots within the instances. The training module 112 may fill some slots based on observation of user actions via the sensory system 102 and fill some slots based on explicit user input. For example, to teach the robot to pick up an object, the trainer selects a prototype for the basic action “pick up” from a drop-down menu or list displayed on screen 208 and then moves the robot arm You may bring it above the object. The robot's vision system then detects the object and outlines it. If the user approves the correct selection of the object, for example by pressing a designated button on the wrist cuff, then the training module 112 uses a suitable representation of the appearance of the object to Set up a new instance. In addition, the training module 112 uses the new object instance to fill a slot in the “pickup” instance that indicates the object being picked up. Also, by default, an instance of a pick-up place, which is a place where an object is shown to the robot, is set. The object instance just created fills the slot of the location instance, which indicates the object that can be found at that location, and the location instance defines a slot in the “pickup” instance that defines where the object should be picked up Fill. The trainer then shows the robot how to grasp the object against its visual appearance. This process may involve manipulation and manual adjustment of the robot grip and / or fingers by the trainee. For example, the trainee may determine the orientation of the robot's fingers relative to the object, press a button, and open and close the fingers. Alternatively, the robot may adjust itself and take into account feedback provided by the user via a conventional user interface, for example. For example, the robot may display a “virtual gripper” on the camera view of the object, allowing the user to drag the virtual gripper across the screen. The robot then adjusts the actual gripper based on the location of the virtual gripper relative to the camera view of the object.

いくつかの実施形態では、訓練者は、訓練プロセスにおける特定のステップに利用可能な異なる相互作用間の選択肢を与えられてもよい。例えば、タスクまたはサブタスクが行われる場所(取り上げ場所または目的場所あるいは物体の特性を測定するための試験ジグ等)を示すために、ユーザは、画面上の場所を指すか、または代替として、ロボットアームをその場所に移動させるかのいずれかを行ってもよい。アームを移動させるために、ユーザは、ロボットの手首の一方のカフによってロボットを握持し、それによって、ゼロ重力補償モードにロボットアームを切り替えてもよく、ゼロ重力補償モードにおいて、ロボットコントローラは、ロボットアームがゼロ重力質量を有するようにみせかけ、人がカフによってロボットアームを引っ張ることに応答して、容易に移動させるように試みる。いくつかの実施形態では、ユーザはまた、アームが6自由度よりも大きい自由度を有する場合、そのリンクのいずれかを押下することによって、アームを再構成することができる。別の実施例として、ロボットに、例えば、段ボール箱のアレイに内に物体を配列する方法を教示するために、ユーザは、動きを通して、ロボットを物理的に誘導し得、または、例えば、物体のグラフィック表現を画面上の仮想段ボール箱の中にドラッグすることによって、所望の配列を視覚的に伝達してもよい。これらの例から理解されるように、異なるタイプの相互作用は、異なるタスクに対して好ましくあり得る(例えば、より便利であり、より正確である等)。ロボット−ユーザ相互作用の詳細にかかわらず、訓練者は、ロボット付属肢の座標および軌道を規定するのではなく、世界における物体、補助機器、および場所のレベルでロボットと関わる。言い換えると、訓練は、特定のタスクインスタンス以外に有用性を有していない特定の空間パラメータではなく、可変環境および物体に適用される、タスク−レベルルールの適用および作成を伴う。さらに、訓練者は、通常、実施される逐次的な順序でサブタスクを教示する必要はなく、むしろ、ロボットに特定の状況においてとるべきアクションを示し、プロトタイプと関連付けられたルールの作成をもたらす。   In some embodiments, the trainer may be given a choice between the different interactions available for a particular step in the training process. For example, to indicate where a task or subtask is to be performed (such as a picking location or destination location or a test jig for measuring object properties), the user may point to a location on the screen or, alternatively, a robot arm May be moved to that location. To move the arm, the user may hold the robot with one of the robot's wrist cuffs, thereby switching the robot arm to zero gravity compensation mode, in which the robot controller The robot arm appears to have zero gravitational mass and attempts to move easily in response to a person pulling the robot arm with a cuff. In some embodiments, the user can also reconfigure the arm by pressing any of its links if the arm has more than 6 degrees of freedom. As another example, to teach a robot, for example, a method of arranging objects within an array of cardboard boxes, a user can physically guide the robot through movement, or, for example, The desired arrangement may be visually communicated by dragging the graphic representation into a virtual cardboard box on the screen. As can be appreciated from these examples, different types of interactions may be preferred for different tasks (eg, more convenient, more accurate, etc.). Regardless of the details of the robot-user interaction, the trainer does not define the coordinates and trajectories of the robot appendages, but engages the robot at the level of objects, auxiliary equipment, and locations in the world. In other words, training involves the application and creation of task-level rules that apply to variable environments and objects rather than to specific spatial parameters that have no utility other than a specific task instance. Furthermore, trainers typically do not need to teach the subtasks in the sequential order in which they are performed, but rather show the robot the actions to be taken in a particular situation, resulting in the creation of rules associated with the prototype.

訓練の間に採用されるものに類似するユーザ相互作用はまた、例えば、ロボットがさらなる命令を待機するためにプロセスを停止するとき、またはユーザが特定の場合に実行の態様を修正することを所望するとき、ロボットのタスクの実行の間に生じてもよい。ユーザによって提供されるフィードバックは、訓練モジュール112によって、タスクと関連付けられたルールの調節または修正に変換される。さらに、ロボットの知覚システム102は、概して、実行段階中、訓練中と同一の態様で動作し、物体、人々、機械的力等を検出する。知覚システム102は、視覚的および機械的感覚(タッチおよび機械的力を含む)に重点を置いて、本明細書に説明されたが、特定の用途の場合、知覚システム102はまた、他のタイプの物理的入力(温度、電場、および磁場等)のために知覚能力を提供してもよく、そのような入力は、インスタンスの作成およびタスクの実行において採用されてもよい。   User interactions similar to those employed during training may also be desired, for example, when the robot stops the process to wait for further instructions, or the user modifies the manner of execution in certain cases. May occur during the execution of the robot task. Feedback provided by the user is converted by the training module 112 into adjustments or modifications to the rules associated with the task. Furthermore, the robotic perception system 102 generally operates in the same manner as during training during the execution phase, and detects objects, people, mechanical forces, and the like. Although the sensory system 102 has been described herein with an emphasis on visual and mechanical sensations (including touch and mechanical forces), for certain applications, the sensory system 102 may also be other types. Perceptual capabilities may be provided for physical inputs (such as temperature, electric field, and magnetic field), and such inputs may be employed in instance creation and task execution.

5.ロボット挙動およびタスク実行
ロボットアクションは、概して、有用作業の実施および訓練の両方の間、タスク実行モジュール110によって制御される。典型的には、タスク実行モジュール110は、多くの挙動を並行して作動させる。本文脈では、用語「挙動」は、「挙動ベースのロボットシステム」を参照して使用され、概して、特定のロボット機能(例えば、センサの入力を監視することまたは画像を処理すること等)に関連するプロセッサ実行可能命令の集合を示し、それは、アクティブ化されると、継続的に、またはある状況においてのみ動作し得る。一般に、挙動は、タスクよりも基本的であり、実際、タスクは、複数の挙動の相互作用によって実施され、複数の挙動のいくつかは、継続的に作動し、いくつかは、動作するためのその事前条件が、先の挙動の結果として有効になると、トリガされる。複数の挙動は、メッセージ(例えば、データまたは命令)を相互に送信することによって相互作用することができる。典型的には、各挙動は、オブジェクト指向構成において、自律的プロセスとして実行され、それに割り当てられたローカルメモリを有する。
5. Robot Behavior and Task Execution Robot actions are generally controlled by the task execution module 110 during both performance and training of useful work. Typically, task execution module 110 operates many behaviors in parallel. In this context, the term “behavior” is used in reference to “behavior-based robotic systems” and generally relates to a particular robot function (eg, monitoring sensor inputs or processing images, etc.). Indicates a set of processor executable instructions that, when activated, may operate continuously or only in certain circumstances. In general, behaviors are more basic than tasks, in fact, tasks are performed by the interaction of multiple behaviors, some of the multiple behaviors operate continuously and some for action Triggered when the precondition becomes valid as a result of previous behavior. Multiple behaviors can interact by sending messages (eg, data or instructions) to each other. Typically, each behavior runs as an autonomous process in an object oriented configuration and has local memory assigned to it.

一般に、挙動は、特定の入力を受け取り、計算および内部状態変化の結果、特定の出力を提供するように適応される。入力は、例えば、センサ(例えば、知覚システム102のセンサまたは外部センサ104)、挙動によってアクセスされるデータ構造、または他の挙動からパスされるパラメータを通して提供されてもよい。出力は、例えば、アクティブ化または非アクティブ化のためのセンサを選択する信号、または、ロボットコントローラ106が特定の基本動作を実行することの要求を含む。例えば、挙動は、インスタンスによって参照される物体の感知された場所と併せて、基本タスクインスタンスを処理し得、オンザフライで、ロボットがタスクを完了するために横断し得る軌道を計算してもよい。開始および終了座標を用いて完全な軌道を計算する代替として、ロボットは、所望の動きの方向を決定し、次いで、終了条件に合致するまで、付属肢をその方向に移動させてもよい。例えば、物体を把持するタスクを行うために、ロボットは、把持部が物体に接触するまで、またはロボットのハンドの掌が物体の上部に決して触れるべきではない状況では、ハンドが降下されるときにフィンガが物体の両側に来るように、握持される物体が着座する表面の上方のある固定高さにハンドが来るまで、そのハンドおよび把持部を垂直方向に移動させてもよい。いくつかの実施形態では、タスク実行システムは、現在の位置、目標位置、および視覚システムからの着信情報に基づいて、軌道を動的に計算および再計算する。   In general, behavior is adapted to receive specific inputs and provide specific outputs as a result of calculations and internal state changes. Input may be provided, for example, through sensors (eg, sensors of sensory system 102 or external sensors 104), data structures accessed by behavior, or parameters passed from other behavior. The output includes, for example, a signal that selects a sensor for activation or deactivation, or a request that the robot controller 106 perform certain basic operations. For example, the behavior may process a basic task instance, along with the perceived location of the object referenced by the instance, and calculate a trajectory that the robot can traverse to complete the task on the fly. As an alternative to calculating the complete trajectory using the start and end coordinates, the robot may determine the direction of the desired movement and then move the appendage in that direction until the end condition is met. For example, to perform a task of gripping an object, the robot may move down when the hand is lowered until the gripper touches the object or in situations where the palm of the robot's hand should never touch the top of the object. The hand and grip may be moved vertically until the hand is at a fixed height above the surface on which the object to be gripped is seated so that the fingers are on both sides of the object. In some embodiments, the task execution system dynamically calculates and recalculates the trajectory based on the current position, target position, and incoming information from the vision system.

特定の実施形態では、各挙動は、実行目的のために、タスク実行モジュール110内のスレッド化モジュール内で並行して作動する1つ以上の「スレッド」に編成される。本明細書では、「スレッド」は、有限状態機械(すなわち、有限数の状態とともに、状態間の遷移をトリガする条件)を定義する、一連のコンピュータコードである。典型的には、スレッドは、(多くの場合、複合の)一式の条件に一致する入力条件を待機し、次いで、ロボットを制御するか、またはメッセージを送信するかのいずれかにおいて、アクションを開始する。時として、数千ものスレッドが、ロボットが行うように訓練された特定のタスクを実施するために同時に作動する。   In certain embodiments, each behavior is organized into one or more “threads” that operate in parallel within a threading module within task execution module 110 for execution purposes. As used herein, a “thread” is a set of computer code that defines a finite state machine (ie, a condition that triggers a transition between states with a finite number of states). Typically, a thread waits for an input condition that matches a set of (often complex) conditions and then initiates an action either in controlling the robot or sending a message To do. Sometimes thousands of threads work simultaneously to perform a specific task that a robot is trained to do.

種々の実施形態では、ロボット挙動はそれぞれ、挙動の2つの一般的カテゴリ、すなわち、常時、タスクから独立してバックグラウンドで作動する内蔵挙動と、インスタンス化される基本タスクおよび場所に結合される挙動インスタンスとのうちの1つに属する。内蔵挙動は、例えば、人々ならびにロボットに安全性を提供し得、適切な場合に訓練モジュール112を呼び出し得、異常条件の検出に応じて、またはルーチン保守目的のために、診断を開始し得る。それらは、全ての特定のタスクと並行して動作する一般的な挙動である。その存在のため、ユーザは、ロボット訓練にエラーハンドリングプロシージャを含む必要はない。産業用ロボットのための従来の制御システムは、対照的に、通常、潜在的エラーが、特定のタスクと関連付けられたプログラムコード内で対処されることを要求する。   In various embodiments, each robot behavior is divided into two general categories of behavior: a built-in behavior that always runs in the background independent of the task, and a behavior that is coupled to the instantiated basic task and location. Belongs to one of the instances. Built-in behavior can provide safety to people as well as robots, for example, can invoke training module 112 when appropriate, and can initiate diagnosis in response to detection of abnormal conditions or for routine maintenance purposes. They are general behaviors that run in parallel with all specific tasks. Because of its presence, the user need not include error handling procedures in robot training. Traditional control systems for industrial robots, in contrast, typically require that potential errors be addressed in program code associated with a particular task.

特定の実施形態では、タスク実行モジュール110は、自己衝突防止挙動を継続的に作動させ、ロボットのアーム(または、より一般的なには、付属肢)が、相互またはロボットの他の部品と衝突することを防止する。本挙動は、入力として、ロボットの自己モデルを使用する。ユーザが、ゼロ重力補償モードにおいて、そのカフを保持してアームを動かすと、自己衝突防止挙動は、アーム上のロボット生成力をゼロから増加させ、ロボットの別の部品との衝突をもたらし得る、ユーザによって印加されるいかなる力にも対抗する。抵抗性のロボット生成力は、ユーザ誘導アームまたはその一部が、ロボットの別の部品またはアームの別の部分に近づくにつれて増加する。抵抗力は、2つの役割を果たす。第1に、ユーザが衝突を生じさせるために、ユーザは、ロボットが生成することが可能な力を上回る力を印加する必要があるため、抵抗力は、ユーザが衝突を生じさせることを不可能またはほぼ不可能にする。第2に、抵抗力は、ユーザ触覚フィードバックを与え、ユーザが誤ったことを行なっていることを暗示的に信号伝達する。自己衝突防止挙動はまた、タスク実行モジュール110が特定のタスク(例えば、物体を移動または操作する)を実施しようとするときはいつでも、アクティブであり、アームを移動させるコマンドを与え、潜在的に、例えば、第2のアームとの衝突を生じさせる心配がある他の挙動の必要性を排除する。自己衝突防止挙動は、アームが衝突せず、必要に応じて、第1のアームの動きを進めさせる前に、第2のアームが退くことを待機し、さらに要求挙動に対して要求される待機期間を信号伝達し、それによって、第1のアームが、所望に応じて、その間に別のタスクを実行することができることを確実にする。   In certain embodiments, task execution module 110 continuously activates self-collision prevention behavior so that robot arms (or more generally, appendages) collide with each other or other parts of the robot. To prevent. This behavior uses the robot's self-model as input. When the user moves the arm while holding its cuff in the zero gravity compensation mode, the self-collision prevention behavior can increase the robot generating force on the arm from zero, resulting in a collision with another part of the robot. Resists any force applied by the user. The resistive robot generating force increases as the user guidance arm or part thereof approaches another part of the robot or another part of the arm. Resistance plays two roles. First, resistance forces make it impossible for a user to cause a collision because the user must apply a force that exceeds the force that the robot can generate in order for the user to cause a collision. Or make it almost impossible. Second, the resistive force provides user tactile feedback and implicitly signals that the user is doing something wrong. Self-collision behavior is also active whenever the task execution module 110 attempts to perform a particular task (eg, move or manipulate an object), giving a command to move the arm, potentially For example, it eliminates the need for other behaviors that may cause a collision with the second arm. The self-collision prevention behavior waits for the second arm to retract and waits as required for the requested behavior before the arm does not collide and, if necessary, advance the movement of the first arm. Signaling the time period, thereby ensuring that the first arm can perform other tasks during that time as desired.

特定の実施形態では、タスク実行システム110が作動しているときに常時アクティブである第2の挙動は、衝突検出挙動であり、これは、アームが外部物体(または、人)と予期せずに衝突する場合を検出する。例えば、ロボットの作業空間を通って移動する人または作業空間内に移動される物体との予期しない衝突が、生じ得る。衝突検出を促進するために、ロボットアームの関節は、いくつかの実施形態では、それぞれの関節における力を測定することが可能な直列弾性アクチュエータを含む。さらに、タスク実行モジュール110は、各アームの順運動学もでるおよび順動力学モデルを維持し得、モジュール110が、ロボットの動きのためのコマンドに基づいて、各関節において測定されるはずである力のプロファイルを予測することを可能にしてもよい。測定された力が、これらの予測から有意に逸脱すると、衝突検出挙動は、予期しない障害物との衝突を推測する。全ての動きを直ちに停止し、短時間待機し、次いで、衝突をもたらす動きを以前よりゆっくりと再開することにより、障害物が除去されたかどうか決定する。予期しない衝突がもはや生じない場合、タスク実行モジュール110がそのタスクの実施を継続することを可能にする。一方、物体が規定された最大数の待機期間後に消失しない場合、衝突検出挙動は、タスク実行モジュール110をシャットダウンし、再開するためのユーザ命令を待機する。   In certain embodiments, the second behavior that is always active when the task execution system 110 is operating is a collision detection behavior, which causes the arm to unexpectedly be an external object (or person). Detect collisions. For example, unexpected collisions can occur with a person moving through the robot's workspace or with an object being moved into the workspace. To facilitate collision detection, the joints of the robot arm include, in some embodiments, serial elastic actuators that can measure the force at each joint. Further, the task execution module 110 can also produce forward kinematics for each arm and maintain a forward dynamics model, and the module 110 should be measured at each joint based on commands for robot motion. It may be possible to predict force profiles. If the measured force deviates significantly from these predictions, the collision detection behavior will infer a collision with an unexpected obstacle. Stop all movements immediately, wait for a short time, and then determine if the obstacles have been removed by restarting the movement that causes the collision more slowly than before. If an unexpected collision no longer occurs, the task execution module 110 can continue to perform the task. On the other hand, if the object does not disappear after the prescribed maximum number of waiting periods, the collision detection behavior waits for a user command to shut down and resume the task execution module 110.

さらに、内蔵挙動は、知覚システム102内で作動する視覚アルゴリズムを調和させる。それらは、ロボットが認識するように訓練された物体の視覚的説明をコンピュータビジョンシステムにパスし、物体のいずれかがエンドエフェクタの下方にあるかどうか確認するために、エンドエフェクタが移動していないとき、ロボットの手首上のカメラと関連付けられた検出アルゴリズムをアクティブ化する。それらはまた、胸部カメラ上の視覚アルゴリズムをアクティブ化することにより、手首カメラを用いて調査され得る任意の変化に関して環境を監視してもよい。他の挙動は、間近のタスクが段ボール箱またはコンベヤ等の物体に関わるとき、そのような特殊物体を探すための視覚アルゴリズムへの要求を調和させる。コンピュータビジョンは、計算コストが高いため、視覚挙動は、典型的には、状況および現在の必要性に基づいて、種々のアルゴリズムに計算時間を割り当てることにより、ロボットの制御システムの全ての他のモジュールのために十分な計算容量を残す優先方式を採用する。物体が認識されると、ロボットに対する、世界における物体の場所が、典型的には、それらに関して把握する必要があるタスク実行モジュール内の全ての他の挙動(再び、典型的には、オブジェクト指向方式で自律的に実行する)にブロードキャストされる。挙動間のメッセージを介した情報のそのような自動伝搬は、種々の実施形態によるロボットが、タスク実行の詳細をロボット自体および/またはタスクに関連する物体の変化する位置に適応させることを可能にする際、重要な要因である。いくつかの実施形態では、関連物体が、ロボットの座標系内で継続的に追跡され、インスタンス化された基本タスクが、現在の物体場所を使用することにより、ロボット付属肢(単数または複数)のための軌道をオンザフライで生成することを可能にする。   Furthermore, the built-in behavior harmonizes the visual algorithms that operate within the perception system 102. They pass a visual description of the object trained to be recognized by the robot to the computer vision system and the end effector is not moving to see if any of the objects are below the end effector When activating the detection algorithm associated with the camera on the robot's wrist. They may also monitor the environment for any changes that can be investigated using a wrist camera by activating a visual algorithm on the chest camera. Other behaviors reconcile the demands on visual algorithms to look for such special objects when an upcoming task involves an object such as a cardboard box or conveyor. Since computer vision is computationally expensive, visual behavior is typically based on the situation and current needs, assigning computation time to various algorithms, and all other modules of the robot control system. Adopt a priority method that leaves enough computing capacity for Once an object is recognized, the location of the object in the world relative to the robot typically has all other behaviors in the task execution module that need to be known about them (again, typically object-oriented Broadcast autonomously). Such automatic propagation of information via messages between behaviors allows a robot according to various embodiments to adapt the details of task execution to the robot itself and / or the changing position of the object associated with the task. This is an important factor. In some embodiments, related objects are continuously tracked within the robot's coordinate system, and the instantiated basic task uses the current object location to determine the robot appendage (s). It is possible to generate trajectories for on-the-fly.

一般に、ロボット制御システムは、常時、アクティブである、多くの他の内蔵挙動を含んでもよい。例えば、ユーザモデルが近傍の人の存在を報告すると、ロボットが、安全な様式で作用し、例えば、内蔵照明を制御することによって、ロボットのための良好な作業条件を維持し、および/またはロボットを較正する、および/または較正を維持することを確実にするために、専用挙動が、使用されてもよい。異なる実施形態は、そのそれぞれの用途の要件に応じて、異なる内蔵挙動を利用してもよい。   In general, the robot control system may include many other built-in behaviors that are always active. For example, if the user model reports the presence of a nearby person, the robot acts in a safe manner, for example by controlling built-in lighting to maintain good working conditions for the robot and / or the robot Dedicated behavior may be used to ensure that and / or to maintain calibration. Different embodiments may utilize different built-in behaviors depending on their respective application requirements.

挙動の第2のカテゴリは、インスタンス化された基本タスク、場所、および/または他のタイプのインスタンスに対応するインスタンス化された挙動を含む。同様に、訓練段階の間、ロボットアクションを統制する内蔵挙動も、含まれてもよい。いくつかの挙動は、訓練中およびタスク実行中の両方で使用される。例えば、エンドエフェクタ内に装着されたカメラのビュー内の中心に物体を置くように、エンドエフェクタを移動させるための挙動は、訓練の間、物体のインスタンスを作成し、かつ後のタスク実行の間、物体を認識し、かつ/または、物体を把持するために使用されることができる。そのような両用挙動は、訓練モジュール112およびタスク実行モジュール110の両方内にプログラムされてもよく、または1つの融合モジュール内に提供されてもよい。挙動自体は、挙動プロトタイプまたはテンプレートのインスタンスである。テンプレートは、プロトタイプライブラリ116内に記憶され、そのインスタンス化は、インスタンスデータベース114内に記憶されてもよい。しかしながら、訓練モジュール112は、一般に、挙動と相互作用しないため、タスク実行モジュール110の一部として、挙動テンプレートおよびインスタンス化された挙動を記憶することが好ましくあり得る。   The second category of behaviors includes instantiated behaviors corresponding to instantiated basic tasks, locations, and / or other types of instances. Similarly, built-in behaviors that govern robot actions during the training phase may also be included. Some behaviors are used both during training and during task execution. For example, the behavior for moving the end effector to center the object in the view of the camera mounted in the end effector creates an instance of the object during training and during subsequent task execution. Can be used to recognize an object and / or grasp an object. Such dual use behavior may be programmed in both the training module 112 and the task execution module 110, or may be provided in one fusion module. The behavior itself is an instance of a behavior prototype or template. The template may be stored in the prototype library 116 and its instantiation may be stored in the instance database 114. However, it may be preferable to store the behavior template and the instantiated behavior as part of the task execution module 110 because the training module 112 generally does not interact with the behavior.

図7は、物体を移動させるための基本タスクインスタンス700の例における、挙動と、挙動と関連付けられたインスタンスとの間の関係を図示する。インスタンス700と関連付けられた挙動702(記録として、関連付けられたスロット/属性とともに、図1に示されるインスタンスデータベース114内に記憶される)は、タスク実行およびエラーハンドリングを統制する複数のスレッド703を含む。例えば、あるスレッド(タスク実行モジュール110によって概念上実行されるが、実際には、システムプロセッサによって実行される)は、ロボットの把持部の状態を監視し、把持部が、実際に、物体を保持することを確実にしてもよく、別のスレッドは、第1のスレッドからの信号に応じて、動きを開始してもよい。各スレッド703は、インスタンス700内の全スロットへのアクセスを有する。本アクセスは、挙動702とインスタンス700とを関連付けるものである。スレッド703はさらに、共有メモリ704へのアクセスを有する。例えば、他の挙動またはセンサからの着信メッセージ706は、共有メモリ704内に置かれることができ、共有メモリ704内に記憶されたデータは、発信メッセージ708にコピーされることができる。   FIG. 7 illustrates the relationship between behavior and instances associated with the behavior in an example of a basic task instance 700 for moving an object. The behavior 702 associated with the instance 700 (stored as a record in the instance database 114 shown in FIG. 1 along with associated slots / attributes) includes a plurality of threads 703 that govern task execution and error handling. . For example, a thread (executed conceptually by the task execution module 110 but actually executed by the system processor) monitors the state of the robot's gripping part, and the gripping part actually holds the object. The other thread may initiate movement in response to a signal from the first thread. Each thread 703 has access to all slots in the instance 700. This access associates the behavior 702 with the instance 700. The thread 703 further has access to the shared memory 704. For example, incoming messages 706 from other behaviors or sensors can be placed in shared memory 704 and the data stored in shared memory 704 can be copied to outgoing messages 708.

場所に関してインスタンス化された挙動は、概して、個別の場所に存在する物体を追跡する。例えば、出力積み重ねと関連付けられた挙動は、物体が置かれる場所として積み重ねを参照する、適切な「荷置き」挙動インスタンスからのメッセージを監視することによって、積み重ねられた物体の数のカウンタを維持してもよい。訓練の間、システムが、積み重ねが10個の物体の高さを超えるべきではないことを教示されたと仮定する。次いで、9個またはそれより少ないアイテムが積み重ねられると、インスタンス化された積み重ね挙動は、インスタンス化された荷置き挙動に、作用を行う準備ができた(すなわち、別の物体がその上に積み重ねられてもよい)ことを通信する。荷置き挙動が、動作が正常に完了したことを信号伝達すると、積み重ね挙動は、そのカウントを更新する。積み重ね上に10個のアイテムが存在すると、いっぱいであることを荷置き挙動に知らせ、それによって、荷置き挙動のさらなる動作をブロックする。しかしながら、積み重ね挙動は、視覚システムから新しい入力を受け取り、物体の数が変化したことのメッセージを受信する場合、そのカウントをリセットする。このように、ロボットは、自動的に、タスク実行と人とを調和させることができる。規定された最大数に達するまで、物体を積み重ね、次いで、物体が、人等のロボット以外のあるエンティティによって除去されるまで、積み重ねを停止し、物体が除去された時点で、ロボットは、積み重ねを再開する。類似挙動が使用されることにより、例えば、箱の中に詰められる物体の数を監視し、箱が完全に詰められるまで、物体を箱の中に入れ、ヒトが、例えば、自ら、物体を箱の中に入れるか、または箱から物体を除去することによって干渉すると、アクションを調節し得る。   Instance instantiated behavior generally tracks objects that exist at individual locations. For example, the behavior associated with an output stack maintains a counter of the number of objects stacked by monitoring messages from the appropriate “loading” behavior instance that refers to the stack as where the object is placed. May be. Assume that during training, the system was taught that the stack should not exceed the height of 10 objects. Then, when 9 or fewer items are stacked, the instantiated stacking behavior is ready to act on the instantiated loading behavior (ie, another object is stacked on top of it). May communicate). When the loading behavior signals that the operation has completed successfully, the stacking behavior updates its count. The presence of 10 items on the stack informs the loading behavior that it is full, thereby blocking further actions of the loading behavior. However, the stacking behavior resets its count when it receives new input from the vision system and receives a message that the number of objects has changed. In this way, the robot can automatically reconcile task execution with people. Stack objects until the specified maximum number is reached, then stop stacking until the object is removed by some entity other than a robot, such as a human, and when the object is removed, the robot Resume. Similar behavior is used, for example, to monitor the number of objects that can be packed in a box and place the object in the box until the box is completely packed, and humans can, for example, put objects in the box themselves. The action can be adjusted when interfering by putting in or removing an object from the box.

複数の場所において積み重ねが作成され得る(または、箱が詰められる)シナリオでは、インスタンス化された荷置き挙動は、それらの場所のリストにアクセスし、ロボットが、1つの積み重ねがいっぱいになると、他の場所のうちの1つに物体を積み重ね続けることを可能にしてもよい。どの積み重ねが除去移動されるかに応じて、ロボットは、単に、挙動間で送信されるメッセージに基づいて、そのアクションを適応させ、物体を置いている場所を変更してもよい。さらに、複数の異なる種類の物体が、例えば、コンベヤベルト上で利用可能である場合、ロボットは、自動的にその挙動を調整することにより、利用可能であり、かついっぱいになっていない積み重ね(または、箱)を有するいずれの物体にも状況に即して作業してもよい。したがって、タスク実行の間の状況は、精密な動作順序を指示し得る。ロボットを訓練する人は、動作順序を規定することも、実行の間の順序を明示的に決定するルールを作成することも必要ない(但し、訓練者は、ロボットが実行する挙動を自由に修正する)。むしろ、インスタンス化された基本タスクおよび場所は、それらと関連付けられた挙動とともに、メッセージを相互に送信することによって、目の前の状況に知的に応答するようになる。   In scenarios where stacks can be created (or boxed) in multiple locations, the instantiated loading behavior accesses a list of those locations, and the robot fills one stack and the other It may be possible to continue stacking objects in one of the locations. Depending on which stack is removed and moved, the robot may simply adapt its action and change where the object is placed based on messages sent between the behaviors. In addition, if multiple different types of objects are available, for example on a conveyor belt, the robot automatically adjusts its behavior to make it available and not full stacks (or Any object having a box) may be operated according to the situation. Thus, the situation during task execution may indicate a precise order of operation. The person who trains the robot does not need to specify the order of movement or create rules that explicitly determine the order during execution (however, the trainer is free to modify the behavior the robot performs) To do). Rather, instantiated basic tasks and locations, along with the behaviors associated with them, will respond intelligently to the situation at hand by sending messages to each other.

タスク実行モジュール110内の種々の挙動がどのように協働するかのさらなる例証のために、物体を取り上げて置く基本タスクのためのインスタンス化された挙動間の以下の相互作用を検討する。ロボットが、特定のタイプの物体、例えば(参照を容易にするために)、小型装置を認識するように訓練されたと仮定する。さらに、訓練者が、最初に、ロボットに特定の場所を示し、物体をその場所に置くように教示し、次いで、ロボットにコンベヤベルトを示し、そこで検出する任意の小型装置を取り上げるように教示したと仮定する。種々の実施形態では、本シナリオは、インスタンス化された取り上げ挙動および荷置き挙動をもたらし、それぞれ、いくつかの充填されたスロットを伴う、関連したインスタンス化されたデータ構造を有し、他の挙動ならびに感覚システムからメッセージを受信する。言い換えると、訓練段階互作用は、関連付けられたスロット値の改変を通して、ルールレベル変更を特定のロボット挙動にもたらす。   To further illustrate how the various behaviors within the task execution module 110 work together, consider the following interaction between the instantiated behaviors for the basic task of picking up objects. Assume that the robot has been trained to recognize certain types of objects, for example, small devices (for ease of reference). In addition, the trainer first taught the robot to show a particular location and place an object in that location, then showed the robot a conveyor belt and picked up any small device that detected it. Assume that In various embodiments, this scenario results in instantiated pick up and load behavior, each with an associated instantiated data structure with several filled slots, and other behaviors As well as receiving messages from sensory systems. In other words, training phase interactions bring rule level changes to specific robot behavior through modification of associated slot values.

挙動のスレッドは、個別の事前条件および事後条件を伴うルールとして挙動を作用させるように、タスク実行モジュールの一部としてプログラムされてもよい。例えば、取り上げ挙動のための事前条件は、ロボットのハンドまたは把持部が空であること、訓練時点でのコンベヤのおおよその場所(インスタンス化されたデータ構造のスロット内に記憶されている場所)の上方にあること、および小型装置(小型装置自体が、データ構造のスロット内に規定されている)がコンベヤ上で利用可能であることを含む。全3つの事前条件に合致すると、取り上げ挙動は、視覚システム(知覚システム102の一部である)とロボットコントローラ106との間の結合された物体追跡動作を開始する。これらの2つのシステム構成要素が、(例えば、ロボットのハンドのカメラによって提供されるビューにおいて)物体が追跡されていることを報告すると、取り上げ挙動は、ロボットコントローラに、ロボットのハンドを下向きに移動させ、そのフィンガを物体の周囲で閉鎖させる。挙動が、追跡が喪失されたことのメッセージを受信する場合、いつでも、挙動のクリーンアップスレッドが、ハンドをコンベヤ上方の適切な高さに戻し、別の物体が通過するのを待機する。   The behavior thread may be programmed as part of the task execution module to act on the behavior as a rule with separate pre-conditions and post-conditions. For example, the preconditions for picking behavior are that the robot hand or grip is empty, the approximate location of the conveyor at the time of training (the location stored in the slot of the instantiated data structure) And that the small device (the small device itself is defined in the slot of the data structure) is available on the conveyor. When all three preconditions are met, the pick-up behavior initiates a coupled object tracking operation between the vision system (which is part of the perception system 102) and the robot controller 106. When these two system components report that an object is being tracked (eg, in a view provided by the camera of the robot hand), the picking behavior moves the robot hand downwards to the robot controller. And close the finger around the object. Whenever the behavior receives a message that tracking has been lost, the behavior cleanup thread returns the hand to the proper height above the conveyor and waits for another object to pass.

ロボットコントローラが、何かがフィンガ間に握持されていることを報告すると(例えば、フィンガ間の距離または設定閾値を超える力の測定に基づいて)、取り上げ挙動は、ハンドが小型装置を保持しているとメッセージを送信する(「小型装置」が、取り上げインスタンスに規定された物体のタイプであったため)。荷置き挙動による本メッセージの受信は、その挙動の事前条件のうちの2つを満たし、ロボットのハンドが物体を保持していることと、物体が小型装置であることが分かる。したがって、荷置き挙動の事前条件の充足は、ハンドの中の物体の直接知覚に基づいてではなく、(入念に書き込まれた)取り上げ挙動の状態から推測され、取り上げ挙動は、その事前条件下で正常に動作している場合、小型装置がロボットのハンドの中にあると仮定し、その旨のメッセージを送信する。荷置き挙動のための事前条件が充足されたままであることを確実にするために、ロボットコントローラは、フィンガ間隔のステータスを荷置き挙動に継続的に送信する。したがって、荷置き場所に到達する前に、ロボットが、物体を偶発的に落下させる場合、または人がやって来て、物体をロボットのハンドから取り除く場合、事前条件のうちの1つは、もはや充足されず、荷置き挙動は、その結果、存在していない小型装置を目的場所に積み重ねようとしない。一方、目的地(関連付けられたデータ構造インスタンス内に記憶される)に到達するとき、事前条件が依然として充足される場合、荷置き挙動は、ロボットをアクティブ化し、ロボットに小型装置を規定された場所に置かせる。このように、タスク実行モジュール110は、訓練の間、異なる順序でこれらの動作が教示されても、最初に、それらを取り上げ、次いで、それらを置くことによって、小型装置を移動させることができる。例えば、物体の計量および分類を伴うタスク等のより複雑なタスクは、同様に、後にタスクの適切な実行に影響を及ぼさずに、任意の順序で教示され得るより多くのステップを含んでもよい。   When the robot controller reports that something is being gripped between the fingers (eg, based on a distance measurement between fingers or a force measurement that exceeds a set threshold), the picking behavior indicates that the hand holds the small device. Send a message (because the “small device” was the type of object specified for the picked-up instance). The reception of the message by the loading behavior satisfies two of the preconditions of the behavior, and it is understood that the robot hand holds the object and the object is a small device. Therefore, the satisfaction of the precondition of the loading behavior is inferred from the state of the picking behavior (carefully written), not based on the direct perception of the object in the hand, and the picking behavior is If it is operating normally, it assumes that the small device is in the robot's hand and sends a message to that effect. In order to ensure that the preconditions for loading behavior remain satisfied, the robot controller continually sends the status of the finger spacing to the loading behavior. Thus, if the robot accidentally drops an object before reaching the loading location, or if a person comes and removes the object from the robot's hand, one of the preconditions is no longer satisfied. Instead, the loading behavior results in no attempt to stack small devices that do not exist at the destination location. On the other hand, when reaching the destination (stored in the associated data structure instance), if the precondition is still satisfied, the loading behavior activates the robot and places the robot in a small device To put. In this way, task execution module 110 can move the small device by first picking them and then placing them, even if these actions are taught in a different order during training. For example, a more complex task, such as a task involving object weighing and classification, may similarly include more steps that can be taught in any order without affecting the proper execution of the task later.

種々の実施形態におけるタスク実行の柔軟性を例証する別の例は、その左アームで小型装置をコンベヤベルトから取り上げ、その右アームの届く範囲内にそれらを置き、次いで、右アームで小型装置を取り上げ、それらを箱の中に入れるように訓練されたロボットを伴う。本タスクの実施の間、人が、右アームが小型装置を取り上げる場所に物体を置く場合、ロボットは、物体を小型装置として視覚的に識別することができる限り、その物体を同様に詰める。このように、ロボットは、状況に即してその環境に応答可能である。   Another example illustrating the flexibility of task execution in various embodiments is to take small devices from the conveyor belt with their left arm, place them within reach of their right arm, and then place the small device with their right arm. With a robot trained to pick up and put them in a box. During the performance of this task, if a person places an object where the right arm picks up a small device, the robot packs that object as long as the object can be visually identified as a small device. In this way, the robot can respond to the environment according to the situation.

故に、本発明の種々の実施形態は、物体の移動および操作等のタスクを行うために、ロボットを訓練および動作させる際に高度の柔軟性を提供する。ロボットがタスクの全ての個々の構成要素またはそれに関連するアイテム(例えば、要求されるロボットの動きに対応する基本タスク、操作される物体等)を教示されると、ロボットは、自律的に動作することができる。そのアクションは、操作するように訓練された物体を認めるとトリガされる。ロボットが、コンピュータビジョンを使用して、ロボットアームおよびハンドを物体の正確な場所に移動させるため、概して、ロボットおよび物体の位置が変動する世界で動作可能である。さらに、ロボットは、ロボットが認識する物体にのみ作用するため、そのタスクに関係ない物体と、相互作用するように訓練された物体とを区別することによって、物体が絶えず行き来している雑然とした環境でも動作可能である。ロボットはまた、その動作を環境内の物体のパラメータに合わせることができる。例えば、そのタスクが、コンベヤベルトから物体を取り上げることを伴うとき、ロボットは、可動ベルト上の物体を視覚的に追跡し、コンベヤベルトの速さ、その向き、および動作している方向からさえ独立して、物体を正確に握持する。   Thus, various embodiments of the present invention provide a high degree of flexibility in training and operating a robot to perform tasks such as moving and manipulating objects. Once the robot is taught all the individual components of the task or items associated with it (eg, basic tasks corresponding to the required robot movement, objects to be manipulated, etc.), the robot operates autonomously. be able to. The action is triggered upon recognition of an object trained to manipulate. Because robots use computer vision to move robot arms and hands to the exact location of an object, they are generally operable in a world where the position of the robot and the object varies. In addition, because robots act only on objects that the robot recognizes, the distinction between objects that are constantly moving back and forth by distinguishing between objects that are not related to the task and objects that are trained to interact with each other It can operate in an environment. The robot can also adjust its movement to the parameters of objects in the environment. For example, when the task involves picking up an object from the conveyor belt, the robot visually tracks the object on the movable belt and is independent of the speed of the conveyor belt, its orientation, and even the direction of movement. And hold the object accurately.

さらに、ロボットは、特定の状況に応答するように訓練されているため、動作の特定のシーケンスに盲目的に追従する必要はない。ロボットは、外部センサ104を介して、その周囲の世界を継続的に感知し、インスタンス化された挙動と関連付けられた事前条件および事後条件の評価に基づいて、適宜、アクションを適応させる。例えば、人が間に入り、ロボットの把持部から物体を除去する場合、ロボットは、その変化を感知し、物体が存在する場合でも、移動を継続しない。代わりに、例えば、握持するための新しい物体を見つけることが予期される場所に移動させることによって、空の把持部に条件付けられたタスクの一部に戻る。本明細書によるシステムおよび方法は、当然ながら、ロボットのタスクの実行をこのように制約することを所望する場合、必ずしも、特定の動作順序を規定することを除外するわけではない。いくつかの実施形態では、ユーザは、個々の基本タスクを教示するときにシーケンスを順守することによって、または基本タスクが訓練の間任意の順序で教示される場合にユーザインターフェースを介して順序を直接入力することによって(例えば、画面上に表示される基本タスクの番号付リストを調節することによって)のいずれかによって、訓練の間、基本タスクのシーケンスを規定する機会を有する。代替として、複合タスクを構成するステップの順序は、複合タスクのプロトタイプにハードコードされてもよい。   Furthermore, since the robot is trained to respond to a particular situation, it is not necessary to blindly follow a particular sequence of actions. The robot continuously senses its surrounding world via the external sensor 104 and adapts actions accordingly, based on the evaluation of pre- and post-conditions associated with the instantiated behavior. For example, when a person goes in and removes an object from the gripping part of the robot, the robot senses the change and does not continue to move even if the object exists. Instead, return to some of the tasks conditioned on an empty grip, for example by moving to a place where it is expected to find a new object to grip. The systems and methods according to the present specification, of course, do not necessarily exclude specifying a specific order of operation if it is desired to constrain the execution of tasks of the robot in this way. In some embodiments, the user can follow the sequence directly when teaching individual basic tasks or directly through the user interface if the basic tasks are taught in any order during training. You have the opportunity to define the sequence of basic tasks during training, either by typing (eg, by adjusting a numbered list of basic tasks displayed on the screen). Alternatively, the sequence of steps that make up a composite task may be hard-coded into the composite task prototype.

ロボット制御システムはまた、内蔵エラーチェック、ならびに、多くの可能性として考えられる検出可能エラーから回復するためのプログラムされた方法を有し、訓練者がロボットにエラー条件に対処する方法を示す必要性を排除する。訓練者が、訓練における特定のエラーハンドリングプロシージャ(ある状況下で行うことを所望し得る)を含まない限り、ロボットは、そのデフォルトを使用し、安全に動作し続け、かつエラーから回復することが可能である。   The robot control system also has built-in error checking, as well as a programmed method to recover from many possible detectable errors, and the need for trainers to show the robot how to handle error conditions Eliminate. Unless the trainer includes a specific error handling procedure in training (which may be desired to be done under certain circumstances), the robot may use its defaults, continue to operate safely, and recover from errors. Is possible.

本明細書で採用される用語および表現は、限定ではなく、説明の用語および表現として使用され、そのような用語および表現の使用において、図示および説明される特徴またはその一部の任意の均等物の除外を意図するものではない。加えて、本発明の特定の実施形態が説明されたが、本明細書に開示される概念を組み込む他の実施形態も、本発明の精神および範囲から逸脱することなく、使用されてもよいことは、当業者に明白となる。特に、本発明の実施形態は、本明細書に説明される特徴の全てを含むことも、利点の全てを有することも必要はない。むしろ、特徴および利点の任意のサブセットまたは組み合わせを保有してもよい。故に、説明される実施形態は、あらゆる観点において、制限ではなく、例証にすぎないものと見なされるものとする。
The terms and expressions employed herein are used for descriptive terms and expressions, not for limitation, and any equivalents of the features illustrated and described, or portions thereof, in the use of such terms and expressions. Is not intended to be excluded. In addition, while specific embodiments of the invention have been described, other embodiments incorporating the concepts disclosed herein may be used without departing from the spirit and scope of the invention. Will be apparent to those skilled in the art. In particular, embodiments of the invention need not include all of the features described herein or have all of the advantages. Rather, it may possess any subset or combination of features and advantages. Thus, the described embodiments are to be considered in all respects only as illustrative and not restrictive.

Claims (65)

物体を操作するように、ヒト訓練者との相互作用を介して訓練可能なロボットであって、前記ロボットは、
物体を操作するための少なくとも1つの付属肢と、
前記少なくとも1つの付属肢を動作させるためのコントローラと、
プロトタイプのライブラリを記憶するためのコンピュータメモリであって、前記プロトタイプのうちの少なくとも1つは、前記付属肢によって行われるタスクのタイプを定義し、前記タスクは、前記付属肢の移動または前記物体の操作のうちの少なくとも1つを含む、コンピュータメモリと、
前記ヒト訓練者から、前記タスクに関連する物理的入力を受信するための知覚システムと、
前記物理的入力に基づいて、少なくとも1つの属性を規定することによって、前記少なくとも1つのプロトタイプのインスタンスを作成するための訓練モジュールと、
前記コントローラへのコマンドを介して、前記プロトタイプのインスタンスを実行し、それによって、前記付属肢に前記タスクを行わせるためのタスク実行モジュールと
を備える、ロボット。
A robot trainable through interaction with a human trainer to manipulate an object, said robot
At least one appendage for manipulating the object;
A controller for operating the at least one appendage;
A computer memory for storing a library of prototypes, wherein at least one of the prototypes defines a type of task to be performed by the appendage, the task being a movement of the appendage or of the object Computer memory including at least one of operations;
A sensory system for receiving physical input associated with the task from the human trainer;
A training module for creating an instance of the at least one prototype by defining at least one attribute based on the physical input;
And a task execution module for executing an instance of the prototype via a command to the controller, thereby causing the appendage to perform the task.
前記インスタンスは、前記付属肢の一般的な、空間的に規定されていない動きの観点から、前記タスクを定義する、請求項1に記載のロボット。   The robot of claim 1, wherein the instance defines the task in terms of a general, spatially undefined movement of the appendage. 前記インスタンスは、前記物体またはその環境のうちの少なくとも1つに対する前記付属肢の動きの観点から、前記タスクを定義する、請求項2に記載のロボット。   The robot of claim 2, wherein the instance defines the task in terms of movement of the appendage relative to at least one of the object or its environment. 前記動きは、空間軌道を規定せずに、定義される、請求項2に記載のロボット。   The robot according to claim 2, wherein the movement is defined without defining a spatial trajectory. 前記物理的入力は、機械的入力または視覚的入力のうちの少なくとも1つを含む、請求項1に記載のロボット。   The robot of claim 1, wherein the physical input comprises at least one of a mechanical input or a visual input. タスク関連フィードバックを前記訓練者に提供するために、前記訓練モジュールに応答する少なくとも1つの出力デバイスをさらに備える、請求項1に記載のロボット。   The robot of claim 1, further comprising at least one output device responsive to the training module to provide task related feedback to the trainer. 前記フィードバックは、ロボットステータスのインディケーション、さらなる入力の要求、またはエラーアラートのうちの少なくとも1つを含む、請求項6に記載のロボット。   The robot of claim 6, wherein the feedback includes at least one of an indication of robot status, a request for further input, or an error alert. 前記フィードバックは、ロボットカメラビュー上にオーバーレイされたグラフィックを含む、請求項6に記載のロボット。   The robot of claim 6, wherein the feedback includes a graphic overlaid on a robot camera view. 前記知覚システムは、押下可能ボタン、ノブ、タッチ感応パッド、タッチ感応カフ、またはカメラのうちの少なくとも1つを備える、請求項1に記載のロボット。   The robot of claim 1, wherein the sensory system comprises at least one of a pushable button, a knob, a touch sensitive pad, a touch sensitive cuff, or a camera. 前記プロトタイプのライブラリは、物体クラス、機器のタイプ、または場所のうちの少なくとも1つを定義するプロトタイプをさらに含む、請求項1に記載のロボット。   The robot of claim 1, wherein the library of prototypes further includes a prototype that defines at least one of an object class, a device type, or a location. 前記訓練モジュールは、前記クラスの構成子に関する視覚的入力に基づいて、前記物体クラスのインスタンスを作成する、請求項10に記載のロボット。   The robot of claim 10, wherein the training module creates an instance of the object class based on a visual input regarding the class constructor. 前記操作の対象となる物体は、前記インスタンスによって参照される物体のクラスの構成子である、請求項10に記載のロボット。   The robot according to claim 10, wherein the object to be operated is a member of a class of an object referred to by the instance. 前記知覚システムは、前記物体またはその環境に関する物理的情報を受信するようにさらに構成されている、請求項1に記載のロボット。   The robot of claim 1, wherein the sensory system is further configured to receive physical information about the object or its environment. 前記コントローラは、物理的入力に応答して、ゼロ重力補償モードで動作するように構成されている、請求項1に記載のロボット。   The robot of claim 1, wherein the controller is configured to operate in a zero gravity compensation mode in response to a physical input. ヒト訓練者との相互作用に基づくロボット学習の方法であって、前記方法は、
前記訓練者から、ロボットによって行われるタスクに関する物理的入力を受信することと、
前記入力に応答して、かつ前記入力に少なくとも部分的に基づいて、記憶されたプロトタイプのライブラリから前記タスクと関連付けられたプロトタイプを選択し、前記プロトタイプのインスタンスを作成してデータベース内に記憶することであって、前記インスタンスは、物体に対して行われるロボット移動またはロボット操作のうちの少なくとも1つを規定する、ことと
を含む、方法。
A method of robot learning based on interaction with a human trainer, said method comprising:
Receiving physical input from the trainee regarding tasks performed by the robot;
Selecting a prototype associated with the task from a library of stored prototypes in response to the input and based at least in part on the input, creating an instance of the prototype and storing it in a database Wherein the instance defines at least one of a robot movement or a robot operation to be performed on an object.
前記物理的入力に基づいて、前記インスタンスの少なくとも1つの属性を規定することをさらに含む、請求項15に記載の方法。   The method of claim 15, further comprising defining at least one attribute of the instance based on the physical input. 前記インスタンスは、一般的な、空間的に規定されていない観点から前記タスクを定義する、請求項15に記載の方法。   The method of claim 15, wherein the instance defines the task from a general, spatially undefined point of view. 前記物理的入力は、機械的入力または視覚的入力のうちの少なくとも1つを含む、請求項15に記載の方法。   The method of claim 15, wherein the physical input comprises at least one of a mechanical input or a visual input. 前記物理的入力を受信することは、前記訓練者または物体のうちの少なくとも1つとの物理的接触を感知することを含む、請求項15に記載の方法。   The method of claim 15, wherein receiving the physical input comprises sensing physical contact with at least one of the trainee or object. 前記物理的入力を受信することは、ロボット付属肢が前記訓練者によって移動される場合に前記付属肢の位置を追跡することを含む、請求項15に記載の方法。   The method of claim 15, wherein receiving the physical input comprises tracking a position of the appendage as a robot appendage is moved by the trainee. 前記物理的入力を受信することは、前記訓練者、前記物体、または環境のうちの少なくとも1つの画像を取得することを含む、請求項15に記載の方法。   The method of claim 15, wherein receiving the physical input comprises obtaining an image of at least one of the trainee, the object, or the environment. フィードバックを前記訓練者に提供することをさらに含む、請求項15に記載の方法。   The method of claim 15, further comprising providing feedback to the trainee. 前記フィードバックは、前記ロボットのステータスを示すこと、前記訓練者からの追加の入力を要求すること、または前記訓練者にエラーをアラートすることのうちの少なくとも1つを含む、請求項22に記載の方法。   The feedback of claim 22, wherein the feedback includes at least one of indicating a status of the robot, requesting additional input from the trainee, or alerting the trainer of an error. Method. 前記フィードバックを提供することは、ロボットカメラビュー上にグラフィックをオーバーレイすることを含む、請求項22に記載の方法。   23. The method of claim 22, wherein providing the feedback includes overlaying a graphic on a robot camera view. 前記フィードバックは、触覚フィードバックを含む、請求項22に記載の方法。   24. The method of claim 22, wherein the feedback comprises haptic feedback. 前記入力に応答して、かつ前記入力に少なくとも部分的に基づいて、物体クラスを定義するプロトタイプを選択し、前記物体の表現をメモリ内に作成するように、前記プロトタイプをインスタンス化することをさらに含む、請求項22に記載の方法。   Responsive to the input and based at least in part on the input, selecting a prototype that defines an object class and instantiating the prototype to create a representation of the object in memory 23. The method of claim 22, comprising. 物理的知覚に基づいて、環境内の物体を操作するためのロボットであって、前記ロボットは、
物体を操作するための少なくとも1つの付属肢と、
前記少なくとも1つの付属肢を動作させるためのコントローラと、
前記物体または前記環境のうちの少なくとも1つに関する物理的情報を少なくとも1つのセンサから受信するための知覚システムと、
複数のインスタンスを含むインスタンスデータベースであって、前記複数のインスタンスのうちの少なくともいくつかが、前記付属肢によって前記物体に対して行われるタスクを規定する、インスタンスデータベースと、
前記受信された情報に基づいて、前記インスタンスのうちの少なくとも1つを選択し、前記コントローラへのコマンドを介して、前記少なくとも1つの選択されたインスタンスを実行するためのタスク実行モジュールと
を備える、ロボット。
A robot for manipulating objects in an environment based on physical perception, said robot comprising:
At least one appendage for manipulating the object;
A controller for operating the at least one appendage;
A sensory system for receiving physical information about at least one of the object or the environment from at least one sensor;
An instance database comprising a plurality of instances, wherein at least some of the plurality of instances define tasks performed on the object by the appendages;
A task execution module for selecting at least one of the instances based on the received information and executing the at least one selected instance via a command to the controller; robot.
前記インスタンスのうちの少なくとも1つは、一般的な、空間的に規定されていない観点から、前記タスクを定義する、請求項27に記載のロボット。   28. The robot of claim 27, wherein at least one of the instances defines the task from a general, spatially undefined viewpoint. 前記インスタンスのうちの少なくとも1つは、前記環境または前記物体のうちの少なくとも1つに対する前記付属肢の動きの観点から、前記タスクを規定する、請求項28に記載のロボット。   29. The robot of claim 28, wherein at least one of the instances defines the task in terms of movement of the appendage with respect to the environment or at least one of the objects. 前記動きは、空間軌道を規定しない一般的な観点から、定義される、請求項28に記載のロボット。   29. The robot of claim 28, wherein the movement is defined from a general point of view that does not define a spatial trajectory. 前記インスタンスデータベースは、物体クラスを定義するインスタンス、機器のタイプを定義するインスタンス、または場所を定義するインスタンスのうちの少なくとも1つをさらに含む、請求項27に記載のロボット。   28. The robot of claim 27, wherein the instance database further includes at least one of an instance defining an object class, an instance defining a device type, or an instance defining a location. 前記少なくとも1つのタスク定義インスタンスは、前記物体クラス、前記機器のタイプ、または前記場所を定義する前記インスタンスのうちの少なくとも1つを参照する、請求項31に記載のロボット。   32. The robot of claim 31, wherein the at least one task definition instance references at least one of the instances defining the object class, the device type, or the location. 前記少なくとも1つのインスタンスは、物体クラスを参照し、前記タスク実行モジュールは、前記知覚システムによる前記物体クラスに属する物体の検出に応じて、前記ロボット付属肢に、前記検出された物体に対して前記タスクを行わせるように構成されている、請求項27に記載のロボット。   The at least one instance refers to an object class, and the task execution module is responsive to the detected object on the robot appendage in response to detection of an object belonging to the object class by the sensory system. 28. The robot of claim 27, configured to cause a task to be performed. 前記知覚システムは、少なくとも1つのカメラを含む、請求項27に記載のロボット。   28. The robot of claim 27, wherein the sensory system includes at least one camera. 前記知覚システムは、コンピュータビジョンシステムを含む、請求項34に記載のロボット。   35. The robot of claim 34, wherein the sensory system comprises a computer vision system. 前記知覚システムは、押下可能ボタン、ノブ、タッチ感応パッド、またはタッチ感応カフのうちの少なくとも1つを含む、請求項27に記載のロボット。   28. The robot of claim 27, wherein the sensory system includes at least one of a pushable button, a knob, a touch sensitive pad, or a touch sensitive cuff. 前記タスク実行モジュールは、前記物理的情報に基づいて、前記少なくとも1つの選択されたインスタンスの属性を規定するように構成されている、請求項27に記載のロボット。   28. The robot of claim 27, wherein the task execution module is configured to define attributes of the at least one selected instance based on the physical information. 環境内で物体を操作する、ロボットにより実装される方法であって、前記方法は、
前記物体または前記環境のうちの少なくとも1つに関するセンサ入力を受信することと、
(i)前記センサ入力と、(ii)前記ロボットによって前記物体に対して行われるタスクを規定する複数のインスタンスを含むインスタンスデータベースとに基づいて、前記インスタンスのうちの少なくとも1つを選択し、ロボット付属肢に、前記少なくとも1つの選択されたインスタンスに従って前記物体を操作させるように、前記少なくとも1つの選択されたインスタンスを実行することと
を含む、方法。
A method implemented by a robot for manipulating an object in an environment, the method comprising:
Receiving sensor input relating to at least one of the object or the environment;
Selecting at least one of the instances based on (i) the sensor input and (ii) an instance database including a plurality of instances defining tasks to be performed on the object by the robot; Performing the at least one selected instance to cause an appendage to manipulate the object according to the at least one selected instance.
前記インスタンスデータベースは、複数の物体クラスのインスタンスをさらに含み、各物体クラスは、前記タスクのインスタンスのうちの少なくとも1つと関連付けられている、請求項38に記載の方法。   39. The method of claim 38, wherein the instance database further includes instances of a plurality of object classes, each object class being associated with at least one of the task instances. 前記入力に基づいて、前記物体が属する前記物体クラスを識別することをさらに含み、前記実行するステップは、前記物体クラスと関連付けられたタスクインスタンスに従って行われる、請求項39に記載の方法。   40. The method of claim 39, further comprising identifying the object class to which the object belongs based on the input, wherein the performing is performed according to a task instance associated with the object class. 前記センサ入力を受信することは、前記物体または前記環境のうちの少なくとも1つの画像を取得することを含む、請求項38に記載の方法。   40. The method of claim 38, wherein receiving the sensor input includes obtaining an image of at least one of the object or the environment. 前記センサ入力を受信することは、前記環境内の物体との物理的接触を検出することを含む、請求項38に記載の方法。   40. The method of claim 38, wherein receiving the sensor input includes detecting physical contact with an object in the environment. 前記センサ入力に基づいて、前記少なくとも1つの選択されたインスタンスの属性を規定することをさらに含む、請求項38に記載の方法。   40. The method of claim 38, further comprising defining attributes of the at least one selected instance based on the sensor input. 前記少なくとも1つの選択されたインスタンスを実行することは、前記インスタンスと関連付けられた挙動をインスタンス化することを含む、請求項38に記載の方法。   39. The method of claim 38, wherein executing the at least one selected instance includes instantiating a behavior associated with the instance. 前記挙動は、複数のスレッドを含み、前記複数のスレッドは、それと関連付けられた一式の条件を有し、前記少なくとも1つの選択されたインスタンスを実行することは、前記条件の充足に関して前記スレッドを監視することを含む、請求項44に記載の方法。   The behavior includes a plurality of threads, the plurality of threads having a set of conditions associated therewith, executing the at least one selected instance monitors the threads for satisfaction of the conditions. 45. The method of claim 44, comprising: 前記条件の充足は、スレッド間の遷移をトリガする、請求項45に記載の方法。   46. The method of claim 45, wherein satisfaction of the condition triggers a transition between threads. 前記タスクの実行は、前記ロボットと前記ロボット自体または前記環境内の物体との衝突を防止する少なくとも1つの挙動を作動させることを含む、請求項38に記載の方法。   39. The method of claim 38, wherein performing the task includes activating at least one behavior that prevents a collision between the robot and the robot itself or an object in the environment. 物理的知覚に基づいて、環境内の物体を操作するためのロボットであって、前記ロボットは、
物体を操作するための少なくとも1つの付属肢と、
前記少なくとも1つの付属肢を動作させるためのコントローラと、
前記物体および前記環境に関する物理的情報を少なくとも1つのセンサから受信するための知覚システムと、
複数のインスタンスを備えるインスタンスデータベースであって、前記複数のインスタンスのうちの少なくともいくつかが、前記付属肢によって前記物体に対して行われるタスクを規定し、各タスクは、物体および前記物体に対して行われるアクションを規定し、各タスクは、一般的な、空間的に規定されていない観点から、定義される、インスタンスデータベースと、
前記知覚システムに応答して、前記ロボットに、前記コントローラへのコマンドを介して前記タスクを実行させるためのタスク実行モジュールと
を備える、ロボット。
A robot for manipulating objects in an environment based on physical perception, said robot comprising:
At least one appendage for manipulating the object;
A controller for operating the at least one appendage;
A sensory system for receiving physical information about the object and the environment from at least one sensor;
An instance database comprising a plurality of instances, wherein at least some of the plurality of instances define tasks to be performed on the object by the appendages, each task for an object and the object Defines the actions to be performed, and each task is defined from a general, spatially undefined viewpoint, an instance database,
And a task execution module for causing the robot to execute the task via a command to the controller in response to the sensory system.
前記タスク実行モジュールは、オンザフライで、前記物理的情報に基づいて、前記ロボットと関連付けられた座標系内に前記タスクに対応する軌道を生成する、請求項48に記載のロボット。   49. The robot of claim 48, wherein the task execution module generates a trajectory corresponding to the task in a coordinate system associated with the robot on the fly based on the physical information. 前記タスク実行モジュールは、継続的に前記物体を監視し、それに基づいて、軌道座標を計算することなく前記ロボットの付属肢を前記物体に向かって移動させる、請求項48に記載のロボット。   49. The robot of claim 48, wherein the task execution module continuously monitors the object and moves the robot appendage toward the object without calculating trajectory coordinates based thereon. 前記タスク実行モジュールは、前記監視された物体に基づいて前記タスク実行モジュールによって決定される、前記移動と関連付けられた事前条件が充足される限り、前記物体に向かう前記ロボットの付属肢の移動を継続させる、請求項50に記載のロボット。   The task execution module continues to move the robot appendage toward the object as long as the precondition associated with the movement is satisfied, as determined by the task execution module based on the monitored object. The robot according to claim 50, wherein 前記事前条件は、前記付属肢と前記物体との間の物理的接触がないことを含む、請求項51に記載のロボット。   52. The robot of claim 51, wherein the precondition includes no physical contact between the appendage and the object. 前記知覚システムは、前記物体の画像を取得するための少なくとも1つのカメラを含む、請求項48に記載のロボット。   49. The robot of claim 48, wherein the sensory system includes at least one camera for acquiring an image of the object. 前記知覚システムは、コンピュータビジョンシステムをさらに含む、請求項53に記載のロボット。   54. The robot of claim 53, wherein the sensory system further comprises a computer vision system. 前記知覚システムは、少なくとも1つのタッチ感応検出器を含む、請求項48に記載のロボット。   49. The robot of claim 48, wherein the sensory system includes at least one touch sensitive detector. 環境内の物体を操作するための、ロボットにより実装される方法であって、前記方法は、
前記物体または前記環境のうちの少なくとも1つに関するセンサ入力を受信することと、
(i)前記センサ入力と、(ii)一般的な、空間的に規定されていない観点から、前記ロボットによって前記物体に対して行われるタスクを規定する複数のインスタンスを含むインスタンスデータベースとに基づいて、ロボット付属肢に、前記タスクのインスタンスに従って前記物体を操作させるように、前記タスクのインスタンスのうちの少なくとも1つを実行することと
を含む、方法。
A method implemented by a robot for manipulating an object in an environment, the method comprising:
Receiving sensor input relating to at least one of the object or the environment;
Based on (i) the sensor input and (ii) a general, non-spatially defined point of view that includes a plurality of instances that define tasks performed on the object by the robot. Performing at least one of the instances of the task to cause a robot appendage to manipulate the object according to the instance of the task.
前記タスクのインスタンスを実行することは、オンザフライで、前記センサ入力に基づいて、前記ロボットと関連付けられた座標系内に前記タスクのインスタンスに対応する軌道を生成することを含む、請求項56に記載の方法。   57. Performing an instance of the task includes generating a trajectory corresponding to the task instance in a coordinate system associated with the robot based on the sensor input on the fly. the method of. 前記タスクのインスタンスを実行することは、前記物体を継続的に監視し、それに基づいて、軌道座標を計算することなく前記ロボット付属肢を前記物体に向かって移動させることを含む、請求項56に記載の方法。   57. The performing an instance of the task includes continuously monitoring the object and moving the robot appendage toward the object without calculating trajectory coordinates based thereon. The method described. 前記タスクのインスタンスを実行することは、前記タスクのインスタンスと関連付けられた事前条件が充足されるかどうかを決定し、充足される場合、前記物体に向かう移動を継続することを含む、請求項58に記載の方法。   59. Executing the task instance includes determining whether a precondition associated with the task instance is satisfied, and if so, continuing to move toward the object. The method described in 1. 前記事前条件は、前記付属肢と前記物体との間の物理的接触がないことを含む、請求項59に記載の方法。   60. The method of claim 59, wherein the precondition comprises no physical contact between the appendage and the object. 前記センサ入力を受信することは、前記物体の画像を取得することを含む、請求項56に記載の方法。   57. The method of claim 56, wherein receiving the sensor input includes obtaining an image of the object. 前記少なくとも1つのインスタンスを実行することは、前記インスタンスと関連付けられた挙動をインスタンス化することを含む、請求項56に記載の方法。   57. The method of claim 56, wherein executing the at least one instance includes instantiating a behavior associated with the instance. 前記挙動は、複数のプロセッサ実行可能なスレッドを含み、前記複数のプロセッサ実行可能なスレッドは、それと関連付けられた一式の条件を有し、前記少なくとも1つの選択されたインスタンスを実行することは、前記条件の充足に関して前記スレッドを監視することを含む、請求項62に記載の方法。   The behavior includes a plurality of processor-executable threads, wherein the plurality of processor-executable threads have a set of conditions associated therewith, executing the at least one selected instance includes: 64. The method of claim 62, comprising monitoring the thread for satisfaction of a condition. 前記条件の充足は、スレッド間の遷移をトリガする、請求項63に記載の方法。   64. The method of claim 63, wherein satisfaction of the condition triggers a transition between threads. 前記ロボットと前記ロボット自体または前記環境内の物体との衝突を防止する少なくとも1つの挙動を実行することをさらに含む、請求項56に記載の方法。
57. The method of claim 56, further comprising performing at least one behavior that prevents a collision between the robot and the robot itself or an object in the environment.
JP2015518598A 2012-06-21 2013-06-21 Training and operating industrial robots Pending JP2015520040A (en)

Applications Claiming Priority (23)

Application Number Priority Date Filing Date Title
US201261662646P 2012-06-21 2012-06-21
US61/662,646 2012-06-21
US201261676586P 2012-07-27 2012-07-27
US61/676,586 2012-07-27
US13/621,706 US8996175B2 (en) 2012-06-21 2012-09-17 Training and operating industrial robots
US13/621,657 2012-09-17
US13/621,519 2012-09-17
US13/621,687 US9434072B2 (en) 2012-06-21 2012-09-17 Vision-guided robots and methods of training them
US13/621,648 US20130343640A1 (en) 2012-06-21 2012-09-17 Vision-guided robots and methods of training them
US13/621,658 2012-09-17
US13/621,708 US8965580B2 (en) 2012-06-21 2012-09-17 Training and operating industrial robots
US13/621,517 2012-09-17
US13/621,561 2012-09-17
US13/621,706 2012-09-17
US13/621,687 2012-09-17
US13/621,657 US8958912B2 (en) 2012-06-21 2012-09-17 Training and operating industrial robots
US13/621,517 US8996167B2 (en) 2012-06-21 2012-09-17 User interfaces for robot training
US13/621,648 2012-09-17
US13/621,561 US8965576B2 (en) 2012-06-21 2012-09-17 User interfaces for robot training
US13/621,658 US9092698B2 (en) 2012-06-21 2012-09-17 Vision-guided robots and methods of training them
US13/621,708 2012-09-17
US13/621,519 US8996174B2 (en) 2012-06-21 2012-09-17 User interfaces for robot training
PCT/US2013/046973 WO2013192490A2 (en) 2012-06-21 2013-06-21 Training and operating industrial robots

Publications (1)

Publication Number Publication Date
JP2015520040A true JP2015520040A (en) 2015-07-16

Family

ID=49774515

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015518601A Active JP6314134B2 (en) 2012-06-21 2013-06-21 User interface for robot training
JP2015518598A Pending JP2015520040A (en) 2012-06-21 2013-06-21 Training and operating industrial robots

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015518601A Active JP6314134B2 (en) 2012-06-21 2013-06-21 User interface for robot training

Country Status (5)

Country Link
US (11) US8996174B2 (en)
EP (2) EP2864085B1 (en)
JP (2) JP6314134B2 (en)
CN (2) CN104640677B (en)
WO (3) WO2013192492A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016206066A (en) * 2015-04-24 2016-12-08 トヨタ自動車株式会社 Object recognition apparatus and object recognition method
JP2017520415A (en) * 2014-06-03 2017-07-27 アルティミンズ ロボティクス ゲーエムベーハー Method and system for programming a robot
JP2020110911A (en) * 2019-01-08 2020-07-27 本田技研工業株式会社 Depth perception modeling for grasping object
WO2020203793A1 (en) * 2019-03-29 2020-10-08 株式会社エスイーフォー Robot control device, control unit, and robot control system including same
US10870199B2 (en) 2017-07-12 2020-12-22 Fanuc Corporation Robot system and robot teaching method
JP2021020309A (en) * 2019-07-30 2021-02-18 株式会社ダイアディックシステムズ Robot control program generating system, robot control program generating method, and program
JP7117104B2 (en) 2014-09-02 2022-08-12 エムビーエル リミテッド Robot Manipulation Method and System for Executing Domain Specific Applications in Instrumented Environments Using Electronic Small Manipulation Libraries
JP2022538370A (en) * 2019-09-13 2022-09-01 トヨタ リサーチ インスティテュート,インコーポレイティド Method and system for assigning force vectors to robot tasks
WO2022201314A1 (en) * 2021-03-23 2022-09-29 日本電気株式会社 Information processing device, modification system, information processing method, and non-transitory computer-readable medium

Families Citing this family (411)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9643316B2 (en) 2009-10-27 2017-05-09 Battelle Memorial Institute Semi-autonomous multi-use robot system and method of operation
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
DE102011005985B4 (en) * 2011-03-23 2019-01-24 Kuka Roboter Gmbh Robot, control device for a robot and method for operating a robot
US20170028557A1 (en) 2015-07-28 2017-02-02 Comprehensive Engineering Solutions, Inc. Robotic navigation system and method
US9566710B2 (en) 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
JP5840411B2 (en) * 2011-08-05 2016-01-06 日本メクトロン株式会社 Opto-electric mixed flexible printed wiring board and method for mounting light receiving and emitting element thereof
AU2012368731A1 (en) * 2012-02-03 2014-08-21 Nec Corporation Communication draw-in system, communication draw-in method, and communication draw-in program
CN104137051B (en) * 2012-02-21 2017-06-16 亚马逊技术有限公司 For the system and method for the product automatic Picking in material process facility
US8996174B2 (en) 2012-06-21 2015-03-31 Rethink Robotics, Inc. User interfaces for robot training
EP2685403A3 (en) 2012-07-09 2017-03-01 Technion Research & Development Foundation Limited Natural machine interface system
DE102012106448B4 (en) * 2012-07-17 2016-03-31 Reis Group Holding Gmbh & Co. Kg Method for operating an industrial robot and safe monitoring device for carrying out the method
JPWO2014013605A1 (en) * 2012-07-20 2016-06-30 株式会社安川電機 Robot simulator, robot teaching apparatus, and robot teaching method
US9186793B1 (en) 2012-08-31 2015-11-17 Brain Corporation Apparatus and methods for controlling attention of a robot
JPWO2014054183A1 (en) * 2012-10-05 2016-08-25 株式会社安川電機 Automatic preparation system
US10572774B2 (en) * 2012-12-06 2020-02-25 Toyota Motor Engineering & Manufacturing North America. Inc. Methods and robots for adjusting object detection parameters, object recognition parameters, or both object detection parameters and object recognition parameters
US10406686B2 (en) * 2012-12-14 2019-09-10 Abb Schweiz Ag Bare hand robot path teaching
TWI483819B (en) * 2012-12-25 2015-05-11 Ind Tech Res Inst Gripper appararus and method for controlling the same
US10292887B2 (en) 2012-12-31 2019-05-21 Mako Surgical Corp. Motorized joint positioner
US9272421B2 (en) * 2013-01-07 2016-03-01 Milos Misha Subotincic Visually controlled end effector
WO2014110682A1 (en) 2013-01-18 2014-07-24 Robotiq Inc. Force/torque sensor, apparatus and method for robot teaching and operation
JP5716769B2 (en) * 2013-02-21 2015-05-13 株式会社安川電機 Robot simulator, robot teaching apparatus, and robot teaching method
US9956687B2 (en) * 2013-03-04 2018-05-01 Microsoft Technology Licensing, Llc Adapting robot behavior based upon human-robot interaction
US9056396B1 (en) * 2013-03-05 2015-06-16 Autofuss Programming of a robotic arm using a motion capture system
US9486918B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc System and method for quick scripting of tasks for autonomous robotic manipulation
US20150314454A1 (en) * 2013-03-15 2015-11-05 JIBO, Inc. Apparatus and methods for providing a persistent companion device
US9333649B1 (en) * 2013-03-15 2016-05-10 Industrial Perception, Inc. Object pickup strategies for a robotic device
US9764468B2 (en) 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
US10195058B2 (en) * 2013-05-13 2019-02-05 The Johns Hopkins University Hybrid augmented reality multimodal operation neural integration environment
US9242372B2 (en) 2013-05-31 2016-01-26 Brain Corporation Adaptive robotic interface apparatus and methods
US9314924B1 (en) 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
US9792546B2 (en) 2013-06-14 2017-10-17 Brain Corporation Hierarchical robotic controller apparatus and methods
JP6229324B2 (en) * 2013-06-14 2017-11-15 セイコーエプソン株式会社 ROBOT, ROBOT CONTROL DEVICE, AND ROBOT CONTROL METHOD
DE102013010290A1 (en) * 2013-06-19 2014-12-24 Kuka Laboratories Gmbh Monitoring a kinematic redundant robot
WO2015013283A2 (en) * 2013-07-22 2015-01-29 Texas State University Autonomous performance optimization in robotic assembly process
JP5850004B2 (en) * 2013-08-09 2016-02-03 株式会社安川電機 Robot control apparatus and robot control method
JP5939213B2 (en) * 2013-08-09 2016-06-22 株式会社安川電機 Robot control apparatus and robot control method
CN104416581A (en) * 2013-08-27 2015-03-18 富泰华工业(深圳)有限公司 Mechanical arm with warning function
ES2739223T3 (en) * 2013-09-06 2020-01-29 Beumer Group As Method of individualization and conduct of articles in a classifying device
US9579789B2 (en) 2013-09-27 2017-02-28 Brain Corporation Apparatus and methods for training of robotic control arbitration
US9846843B2 (en) * 2013-10-30 2017-12-19 Georgia Tech Research Corporation Methods and systems for facilitating interactions between a robot and user
US9597797B2 (en) 2013-11-01 2017-03-21 Brain Corporation Apparatus and methods for haptic training of robots
US9463571B2 (en) * 2013-11-01 2016-10-11 Brian Corporation Apparatus and methods for online training of robots
JP6322959B2 (en) * 2013-11-05 2018-05-16 セイコーエプソン株式会社 Robot, robot system, and robot controller
US9248569B2 (en) 2013-11-22 2016-02-02 Brain Corporation Discrepancy detection apparatus and methods for machine learning
CN103744356B (en) * 2014-01-17 2016-08-17 重庆大学 A kind of lathe intelligent controller based on DSP/FPGA dynamic and configurable and control method
CN103722565B (en) * 2014-01-23 2015-09-16 哈尔滨工业大学 Anthropomorphic robot self collision monitoring system and method for supervising
US9358685B2 (en) * 2014-02-03 2016-06-07 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
US9233469B2 (en) * 2014-02-13 2016-01-12 GM Global Technology Operations LLC Robotic system with 3D box location functionality
EP3107429B1 (en) * 2014-02-20 2023-11-15 MBL Limited Methods and systems for food preparation in a robotic cooking kitchen
US10112076B2 (en) * 2014-04-25 2018-10-30 Christopher DeCarlo Robotic athletic training or sporting method, apparatus, system, and computer program product
FR3020303B1 (en) * 2014-04-25 2016-07-15 Sileane METHOD AND INSTALLATION FOR AUTOMATIC PRETENSION OF AN OBJECT.
US9346167B2 (en) 2014-04-29 2016-05-24 Brain Corporation Trainable convolutional network apparatus and methods for operating a robotic vehicle
US9737990B2 (en) 2014-05-16 2017-08-22 Microsoft Technology Licensing, Llc Program synthesis for robotic tasks
US20150331415A1 (en) * 2014-05-16 2015-11-19 Microsoft Corporation Robotic task demonstration interface
FR3021574B1 (en) * 2014-05-27 2019-04-05 Commissariat A L`Energie Atomique Et Aux Energies Alternatives COBOTIC MANIPULATOR
JP5897644B2 (en) * 2014-06-02 2016-03-30 株式会社神戸製鋼所 Robot control device
CN104057450B (en) * 2014-06-20 2016-09-07 哈尔滨工业大学深圳研究生院 A kind of higher-dimension motion arm teleoperation method for service robot
JP6476632B2 (en) * 2014-07-31 2019-03-06 セイコーエプソン株式会社 Double arm robot
US9327406B1 (en) 2014-08-19 2016-05-03 Google Inc. Object segmentation based on detected object-specific visual cues
EP3186782A1 (en) * 2014-08-25 2017-07-05 X Development LLC Methods and systems for augmented reality to display virtual representations of robotic device actions
US9501059B2 (en) * 2014-09-12 2016-11-22 Qualcomm Incorporated Pocket robot
US9630318B2 (en) 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
US9403275B2 (en) * 2014-10-17 2016-08-02 GM Global Technology Operations LLC Dynamic obstacle avoidance in a robotic system
WO2016061471A1 (en) * 2014-10-17 2016-04-21 Hitachi High Technologies America, Inc. Interactive laboratory robotic system
US9592603B2 (en) * 2014-12-01 2017-03-14 Spin Master Ltd. Reconfigurable robotic system
US9375853B1 (en) * 2014-12-03 2016-06-28 Google Inc. Methods and systems to provide feedback based on a motion per path metric indicative of an effect of motion associated with components of a robotic device
US9592608B1 (en) * 2014-12-15 2017-03-14 X Development Llc Methods and systems for providing feedback during teach mode
US9492923B2 (en) 2014-12-16 2016-11-15 Amazon Technologies, Inc. Generating robotic grasping instructions for inventory items
MX369224B (en) * 2014-12-17 2019-10-31 Norgren Automation Solutions Llc Apparatus and method for detecting multiple workpieces.
JP6630042B2 (en) * 2014-12-26 2020-01-15 川崎重工業株式会社 Dual arm robot teaching system and dual arm robot teaching method
US11292706B2 (en) * 2014-12-30 2022-04-05 Edward Showalter Apparatus, systems and methods for preparing and dispensing foods
US10514687B2 (en) * 2015-01-08 2019-12-24 Rethink Robotics Gmbh Hybrid training with collaborative and conventional robots
MX2017010387A (en) * 2015-02-12 2018-01-23 Wise Melonee System and method for order fulfillment using robots.
US9358684B1 (en) * 2015-02-18 2016-06-07 Merry Electronics Co., Ltd. Wireless transmission device and robot arm using the same
CA2882968C (en) * 2015-02-23 2023-04-25 Sulfur Heron Cognitive Systems Inc. Facilitating generation of autonomous control information
US9569666B2 (en) 2015-02-25 2017-02-14 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for measuring image recognition accuracy
US9717387B1 (en) 2015-02-26 2017-08-01 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
US9409294B1 (en) * 2015-03-05 2016-08-09 Toyota Motor Engineering & Manufacturing North America, Inc. Hierarchical geometric plan composition (HGPC) framework for robot task planning
JP6126152B2 (en) * 2015-03-16 2017-05-10 ファナック株式会社 Robot trajectory generator for generating trajectories having curved portions
US9486921B1 (en) 2015-03-26 2016-11-08 Google Inc. Methods and systems for distributing remote assistance to facilitate robotic object manipulation
EP3075496B1 (en) * 2015-04-02 2022-05-04 Honda Research Institute Europe GmbH Method for improving operation of a robot
US9878447B2 (en) 2015-04-10 2018-01-30 Microsoft Technology Licensing, Llc Automated collection and labeling of object data
US9802317B1 (en) * 2015-04-24 2017-10-31 X Development Llc Methods and systems for remote perception assistance to facilitate robotic object manipulation
US10729503B2 (en) * 2015-05-01 2020-08-04 Titan Medical Inc. Instrument collision detection and feedback
US20190381665A1 (en) * 2015-05-08 2019-12-19 C2 Systems Limited System, method, computer program and data signal for the registration, monitoring and control of machines and devices
US10089575B1 (en) 2015-05-27 2018-10-02 X Development Llc Determining grasping parameters for grasping of an object by a robot grasping end effector
US9682476B1 (en) 2015-05-28 2017-06-20 X Development Llc Selecting robot poses to account for cost
US9724826B1 (en) 2015-05-28 2017-08-08 X Development Llc Selecting physical arrangements for objects to be acted upon by a robot
US10625416B2 (en) * 2015-05-28 2020-04-21 Hitachi, Ltd. Robot operation device and program
DE102015008144B4 (en) * 2015-06-24 2024-01-18 Kuka Roboter Gmbh Switching a control of a robot to a hand-held operating mode
CN106325228B (en) * 2015-06-26 2020-03-20 北京贝虎机器人技术有限公司 Method and device for generating control data of robot
WO2016206645A1 (en) * 2015-06-26 2016-12-29 北京贝虎机器人技术有限公司 Method and apparatus for loading control data into machine device
CN106325065A (en) * 2015-06-26 2017-01-11 北京贝虎机器人技术有限公司 Robot interactive behavior control method, device and robot
US9925662B1 (en) * 2015-06-28 2018-03-27 X Development Llc Generating a trained robot path based on physical manipulation of the robot and based on training user interface input(s) associated with the physical manipulation
EP3112965A1 (en) * 2015-07-02 2017-01-04 Accenture Global Services Limited Robotic process automation
US9889564B2 (en) 2015-07-08 2018-02-13 Empire Technology Development Llc Stable grasp point selection for robotic grippers with machine vision and ultrasound beam forming
US9844877B1 (en) 2015-07-14 2017-12-19 X Development Llc Generating a parameter for a movement characteristic for a waypoint trained path of a robot
US10311634B2 (en) * 2015-07-21 2019-06-04 IAM Robotics, LLC Three dimensional scanning and data extraction systems and processes for supply chain piece automation
US9916506B1 (en) 2015-07-25 2018-03-13 X Development Llc Invisible fiducial markers on a robot to visualize the robot in augmented reality
US9919427B1 (en) 2015-07-25 2018-03-20 X Development Llc Visualizing robot trajectory points in augmented reality
US9919424B1 (en) 2015-07-27 2018-03-20 X Development Llc Analog control switch for end-effector
US20170028549A1 (en) * 2015-07-28 2017-02-02 Comprehensive Engineering Solutions, Inc. Robotic navigation system and method
US10166680B2 (en) * 2015-07-31 2019-01-01 Heinz Hemken Autonomous robot using data captured from a living subject
US11112781B2 (en) * 2015-07-31 2021-09-07 Heinz Hemken Training an autonomous robot using previously captured data
JP6240689B2 (en) 2015-07-31 2017-11-29 ファナック株式会社 Machine learning device, robot control device, robot system, and machine learning method for learning human behavior pattern
US9676098B2 (en) * 2015-07-31 2017-06-13 Heinz Hemken Data collection from living subjects and controlling an autonomous robot using the data
DE102016009030B4 (en) 2015-07-31 2019-05-09 Fanuc Corporation Machine learning device, robot system and machine learning system for learning a workpiece receiving operation
US9868213B2 (en) * 2015-08-11 2018-01-16 Empire Technology Development Llc Incidental robot-human contact detection
DE202015009617U1 (en) 2015-08-14 2018-08-30 Franka Emika Gmbh Robot system and housing part for such a robot system
US9886035B1 (en) * 2015-08-17 2018-02-06 X Development Llc Ground plane detection to verify depth sensor status for robot navigation
US11370128B2 (en) 2015-09-01 2022-06-28 Berkshire Grey Operating Company, Inc. Systems and methods for providing dynamic robotic control systems
CA2997280C (en) 2015-09-01 2022-12-13 Berkshire Grey, Inc. Systems and methods for providing dynamic robotic control systems
EP3347175B1 (en) 2015-09-09 2022-03-02 Berkshire Grey, Inc. Systems and methods for providing dynamic communicative lighting in a robotic environment
DE102015011910A1 (en) * 2015-09-11 2017-03-16 Kuka Roboter Gmbh Method and system for controlling a robot assembly
DE102016116702B4 (en) * 2015-09-14 2019-01-24 Fanuc Corporation Measuring system for calibrating the mechanical parameters of a robot
US20180290297A1 (en) * 2015-10-02 2018-10-11 Verselus, Llc System and method for autonomously teaching working points in a robotic disk test apparatus
DE102015012961B4 (en) 2015-10-08 2022-05-05 Kastanienbaum GmbH robotic system
DE102015012962A1 (en) 2015-10-08 2017-04-13 Sami Haddadin robot system
DE102015117211B8 (en) * 2015-10-08 2016-12-29 Kastanienbaum GmbH Robotic arm with input elements
DE102015012959B4 (en) * 2015-10-08 2019-01-17 Franka Emika Gmbh Robot system and method for controlling a robot system
JP6711591B2 (en) * 2015-11-06 2020-06-17 キヤノン株式会社 Robot controller and robot control method
KR102584754B1 (en) 2015-11-11 2023-10-05 마코 서지컬 코포레이션 Robotic system and method of reversing it
CN108349083B (en) * 2015-11-13 2021-09-21 伯克希尔格雷股份有限公司 Sorting system and method for providing sorting of various objects
US10220515B2 (en) * 2015-11-30 2019-03-05 Seiko Epson Corporation Robot and control method for robot
US10471594B2 (en) * 2015-12-01 2019-11-12 Kindred Systems Inc. Systems, devices, and methods for the distribution and collection of multimodal data associated with robots
US10268188B2 (en) * 2015-12-02 2019-04-23 Qualcomm Incorporated Active camera movement determination for object position and extent in three-dimensional space
US10613546B2 (en) 2015-12-02 2020-04-07 Qualcomm Incorporated Stochastic map-aware stereo vision sensor model
US10899001B2 (en) * 2015-12-03 2021-01-26 Abb Schweiz Ag Method for teaching an industrial robot to pick parts
US20170161546A1 (en) * 2015-12-08 2017-06-08 Mitsubishi Electric Research Laboratories, Inc. Method and System for Detecting and Tracking Objects and SLAM with Hierarchical Feature Grouping
CN108369413B (en) 2015-12-11 2020-09-01 Abb瑞士股份有限公司 Industrial robot and method for controlling a robot to automatically select program code to be executed next
US9799198B2 (en) 2015-12-18 2017-10-24 General Electric Company System and method for communicating with an operator of the system
US9969082B1 (en) 2016-01-05 2018-05-15 Boston Dynamics, Inc. Robotic systems and methods for task scoring and selection
WO2017119088A1 (en) * 2016-01-06 2017-07-13 株式会社日立製作所 Robot system, and control method
US9919422B1 (en) 2016-01-06 2018-03-20 X Development Llc Methods and systems to provide mechanical feedback during movement of a robotic system
EP4046761A1 (en) 2016-01-08 2022-08-24 Berkshire Grey Operating Company, Inc. Systems and methods for acquiring and moving objects
DE102017000063B4 (en) * 2016-01-14 2019-10-31 Fanuc Corporation Robot device with learning function
CN105498228B (en) * 2016-01-14 2018-01-12 胡文杰 A kind of intelligent robot learning toy
US10456910B2 (en) * 2016-01-14 2019-10-29 Purdue Research Foundation Educational systems comprising programmable controllers and methods of teaching therewith
CN105718880A (en) * 2016-01-20 2016-06-29 华东交通大学 Remote office signing and handwriting verification robot system design
DE102016101375B4 (en) * 2016-01-26 2020-03-12 aku.automation GmbH Improved method and device for adapting an image evaluation
CN105583824B (en) * 2016-01-26 2017-05-24 清华大学 Force control traction and swinging multi-degree-of-freedom mechanical arm control device and method
US10065316B2 (en) * 2016-02-05 2018-09-04 Rethink Robotics, Inc. Systems and methods for safe robot operation
CN108778636B (en) 2016-02-08 2021-11-19 伯克希尔格雷股份有限公司 System and method for providing treatment of various objects using motion planning
KR102023149B1 (en) * 2016-03-03 2019-11-22 구글 엘엘씨 In-Depth Machine Learning Method and Device for Robot Gripping
KR102023588B1 (en) * 2016-03-03 2019-10-14 구글 엘엘씨 Deep machine learning method and device for robot gripping
JP6733239B2 (en) * 2016-03-18 2020-07-29 セイコーエプソン株式会社 Controller and robot system
CN105843118B (en) * 2016-03-25 2018-07-27 北京光年无限科技有限公司 A kind of robot interactive method and robot system
US10019566B1 (en) * 2016-04-14 2018-07-10 X Development Llc Authorizing robot use and/or adapting physical control parameters for a robot
DE102016004788A1 (en) 2016-04-20 2017-10-26 Kastanienbaum GmbH Method for producing a robot and device for carrying out this method
DE102016004787B4 (en) 2016-04-20 2023-02-02 Franka Emika Gmbh Driving device for a robot and method for its manufacture
US10500726B2 (en) * 2016-04-25 2019-12-10 Kindred Systems Inc. Facilitating device control
JP2017196705A (en) * 2016-04-28 2017-11-02 セイコーエプソン株式会社 Robot and robot system
TWI622865B (en) 2016-04-29 2018-05-01 財團法人工業技術研究院 Method and device for robot direct lead through teaching
FR3050672B1 (en) * 2016-04-29 2018-11-23 Les Companions AUTOMATE FOR TREATING A SURFACE
TWI581731B (en) * 2016-05-05 2017-05-11 Solomon Tech Corp Automatic shopping the method and equipment
US10322506B2 (en) * 2016-05-06 2019-06-18 Kindred Systems Inc. Systems, devices, articles, and methods for using trained robots
CN105832419A (en) * 2016-05-06 2016-08-10 济南创泽生物医药科技有限公司 Micro-precision accurate surgical robot
US20200348662A1 (en) * 2016-05-09 2020-11-05 Strong Force Iot Portfolio 2016, Llc Platform for facilitating development of intelligence in an industrial internet of things system
US9821458B1 (en) 2016-05-10 2017-11-21 X Development Llc Trajectory planning with droppable objects
US10241514B2 (en) 2016-05-11 2019-03-26 Brain Corporation Systems and methods for initializing a robot to autonomously travel a trained route
EP3458919B1 (en) * 2016-05-19 2022-08-24 Deep Learning Robotics Ltd. Robot assisted object learning vision system
CN105892372A (en) * 2016-05-31 2016-08-24 北京光年无限科技有限公司 Intelligent robot expression output method and intelligent robot
US9987752B2 (en) 2016-06-10 2018-06-05 Brain Corporation Systems and methods for automatic detection of spills
US10052764B2 (en) * 2016-06-16 2018-08-21 Toyota Motor Engineering & Manufacutring North America, Inc. Automated and adjustable platform surface
US10058997B1 (en) * 2016-06-16 2018-08-28 X Development Llc Space extrapolation for robot task performance
CN106003038A (en) * 2016-06-17 2016-10-12 小船信息科技(上海)有限公司 Intelligent robot
US10282849B2 (en) 2016-06-17 2019-05-07 Brain Corporation Systems and methods for predictive/reconstructive visual object tracker
US10163219B2 (en) * 2016-06-24 2018-12-25 Fca Us Llc Machine vision cargo monitoring in a vehicle
US20170368690A1 (en) * 2016-06-27 2017-12-28 Dilili Labs, Inc. Mobile Robot Navigation
US10016896B2 (en) 2016-06-30 2018-07-10 Brain Corporation Systems and methods for robotic behavior around moving bodies
US10058995B1 (en) 2016-07-08 2018-08-28 X Development Llc Operating multiple testing robots based on robot instructions and/or environmental parameters received in a request
CA3029968C (en) 2016-07-18 2024-06-04 Lael Odhner Training robotic manipulators
US10807233B2 (en) 2016-07-26 2020-10-20 The University Of Connecticut Skill transfer from a person to a robot
US10220511B2 (en) * 2016-07-28 2019-03-05 X Development Llc Customized robotic installation based on measurements collected on site
US10055667B2 (en) 2016-08-03 2018-08-21 X Development Llc Generating a model for an object encountered by a robot
FI127100B (en) * 2016-08-04 2017-11-15 Zenrobotics Oy A method and apparatus for separating at least one object from the multiplicity of objects
US10229317B2 (en) 2016-08-06 2019-03-12 X Development Llc Selectively downloading targeted object recognition modules
TWI651175B (en) * 2016-08-12 2019-02-21 財團法人工業技術研究院 Control device of robot arm and teaching system and method using the same
CN107717982B (en) 2016-08-12 2020-09-25 财团法人工业技术研究院 Control device and operation method of mechanical arm
CN107717981B (en) 2016-08-12 2021-01-05 财团法人工业技术研究院 Control device of mechanical arm and teaching system and method thereof
JP6517762B2 (en) * 2016-08-23 2019-05-22 ファナック株式会社 A robot system that learns the motion of a robot that a human and a robot work together
WO2018037662A1 (en) * 2016-08-26 2018-03-01 シャープ株式会社 Robot, robot control method, and control program
JP6426672B2 (en) * 2016-08-30 2018-11-21 ファナック株式会社 Work sorting system and method
CN106391372A (en) * 2016-09-07 2017-02-15 广西大学 ARM-based automatic powder spraying system
EP3512667A1 (en) * 2016-09-13 2019-07-24 ABB Schweiz AG Method of programming an industrial robot
US10131053B1 (en) * 2016-09-14 2018-11-20 X Development Llc Real time robot collision avoidance
WO2018049447A1 (en) * 2016-09-14 2018-03-22 Keba Ag Control device and control method for industrial machines having controlled movement drives
US10723022B2 (en) 2016-09-16 2020-07-28 Carbon Robotics, Inc. System and calibration, registration, and training methods
JP6514166B2 (en) 2016-09-16 2019-05-15 ファナック株式会社 Machine learning apparatus, robot system and machine learning method for learning robot operation program
GB2554363B (en) * 2016-09-21 2021-12-08 Cmr Surgical Ltd User interface device
IT201600097482A1 (en) * 2016-09-28 2018-03-28 Gaiotto Automation S P A METHOD FOR THE SURFACE TREATMENT OF A MANUFACTURE
US10571902B2 (en) * 2016-10-12 2020-02-25 Sisu Devices Llc Robotic programming and motion control
US10987804B2 (en) * 2016-10-19 2021-04-27 Fuji Xerox Co., Ltd. Robot device and non-transitory computer readable medium
US9717607B1 (en) * 2016-10-28 2017-08-01 International Business Machines Corporation Augmented control of robotic prosthesis by a cognitive system
US10274325B2 (en) 2016-11-01 2019-04-30 Brain Corporation Systems and methods for robotic mapping
US10001780B2 (en) 2016-11-02 2018-06-19 Brain Corporation Systems and methods for dynamic route planning in autonomous navigation
JP7314475B2 (en) * 2016-11-11 2023-07-26 セイコーエプソン株式会社 ROBOT CONTROL DEVICE AND ROBOT CONTROL METHOD
JP6534126B2 (en) * 2016-11-22 2019-06-26 パナソニックIpマネジメント株式会社 Picking system and control method therefor
US9805306B1 (en) 2016-11-23 2017-10-31 Accenture Global Solutions Limited Cognitive robotics analyzer
US10723018B2 (en) 2016-11-28 2020-07-28 Brain Corporation Systems and methods for remote operating and/or monitoring of a robot
WO2018106719A1 (en) * 2016-12-05 2018-06-14 Fellow, Inc. Intelligent service robot and related systems and methods
CA3139255C (en) 2016-12-09 2023-07-25 Thomas Wagner Systems and methods for processing objects provided in vehicles
US10430657B2 (en) 2016-12-12 2019-10-01 X Development Llc Object recognition tool
US10360531B1 (en) * 2016-12-19 2019-07-23 Amazon Technologies, Inc. Robot implemented item manipulation
US10635981B2 (en) * 2017-01-18 2020-04-28 Microsoft Technology Licensing, Llc Automated movement orchestration
JP7071054B2 (en) * 2017-01-20 2022-05-18 キヤノン株式会社 Information processing equipment, information processing methods and programs
US10377040B2 (en) 2017-02-02 2019-08-13 Brain Corporation Systems and methods for assisting a robotic apparatus
US10852730B2 (en) 2017-02-08 2020-12-01 Brain Corporation Systems and methods for robotic mobile platforms
JP6464213B2 (en) * 2017-02-09 2019-02-06 ファナック株式会社 Laser processing system having laser processing head and imaging device
WO2018154359A1 (en) * 2017-02-24 2018-08-30 Omron Corporation Learning data acquiring apparatus and method, program, and storing medium
US20190332969A1 (en) * 2017-02-24 2019-10-31 Omron Corporation Configuring apparatus, method, program and storing medium, and learning data acquiring apparatus and method
CA3055538C (en) 2017-03-06 2024-06-18 Berkshire Grey, Inc. Systems and methods for efficiently moving a variety of objects
CN206536457U (en) * 2017-03-14 2017-10-03 合肥鑫晟光电科技有限公司 A kind of baseplate transportation robot
CN107042507B (en) * 2017-03-16 2023-07-28 广东省智能制造研究所 Multi-degree-of-freedom driving arm and double-arm robot adopting same
CN107123356A (en) * 2017-03-21 2017-09-01 上海和盛前沿科技有限公司 Industrial robot basic skills operating platform practical training method
CN107030691B (en) * 2017-03-24 2020-04-14 华为技术有限公司 Data processing method and device for nursing robot
US11179856B2 (en) 2017-03-30 2021-11-23 Soft Robotics, Inc. User-assisted robotic control systems
US10293485B2 (en) 2017-03-30 2019-05-21 Brain Corporation Systems and methods for robotic path planning
GR20170100133A (en) * 2017-03-30 2018-10-31 Τεχνολογικο Εκπαιδευτικο Ιδρυμα Ανατολικης Μακεδονιας Και Θρακης Method for the education of anthropoid robots
CN106985152A (en) * 2017-04-01 2017-07-28 佛山华数机器人有限公司 A kind of multi-function robot fixture
US10449671B2 (en) 2017-04-04 2019-10-22 Toyota Research Institute, Inc. Methods and systems for providing robotic operation constraints for remote controllable robots
US10766140B2 (en) 2017-04-13 2020-09-08 Battelle Memorial Institute Teach mode collision avoidance system and method for industrial robotic manipulators
US10860853B2 (en) * 2017-04-28 2020-12-08 Intel Corporation Learning though projection method and apparatus
CN110603122B (en) 2017-04-28 2023-04-18 苏希自主工作股份有限公司 Automated personalized feedback for interactive learning applications
JP6953778B2 (en) * 2017-04-28 2021-10-27 オムロン株式会社 Coordinated robots, controllers, and methods
JP2018192556A (en) * 2017-05-16 2018-12-06 オムロン株式会社 Robot system
CN106985141B (en) * 2017-05-22 2020-07-03 中科新松有限公司 Double-arm cooperative robot
JP6438525B1 (en) * 2017-05-26 2018-12-12 ファナック株式会社 Weight measuring system and method for measuring the weight of an article
US20180341271A1 (en) * 2017-05-29 2018-11-29 Ants Technology (Hk) Limited Environment exploration system and method
CN107133609B (en) * 2017-06-02 2020-01-14 王永安 Man-machine communication robot and control method thereof
CN110691676B (en) * 2017-06-19 2023-02-03 谷歌有限责任公司 Robot crawling prediction using neural networks and geometrically-aware object representations
US10569420B1 (en) * 2017-06-23 2020-02-25 X Development Llc Interfacing with autonomous devices
US10235192B2 (en) 2017-06-23 2019-03-19 Accenture Global Solutions Limited Self-learning robotic process automation
US11106967B2 (en) 2017-07-03 2021-08-31 X Development Llc Update of local features model based on correction to robot action
US10562181B2 (en) * 2017-07-03 2020-02-18 X Development Llc Determining and utilizing corrections to robot actions
US10761542B1 (en) 2017-07-11 2020-09-01 Waymo Llc Methods and systems for keeping remote assistance operators alert
CA3071332A1 (en) * 2017-07-25 2019-01-31 Mbl Limited Systems and methods for operations a robotic system and executing robotic interactions
JP6633580B2 (en) 2017-08-02 2020-01-22 ファナック株式会社 Robot system and robot controller
ES2973662T3 (en) * 2017-08-02 2024-06-21 Berkshire Grey Operating Company Inc Systems and procedures for acquiring and moving objects with complex exterior surfaces
JP6680730B2 (en) * 2017-08-08 2020-04-15 ファナック株式会社 Control device and learning device
US11074996B2 (en) 2017-08-10 2021-07-27 Nuance Communications, Inc. Automated clinical documentation system and method
US11316865B2 (en) 2017-08-10 2022-04-26 Nuance Communications, Inc. Ambient cooperative intelligence system and method
WO2019032814A1 (en) * 2017-08-10 2019-02-14 Robert Bosch Gmbh System and method of direct teaching a robot
US11458632B2 (en) * 2017-08-23 2022-10-04 Sony Corporation Robot having reduced vibration generation in in arm portion
JP6795471B2 (en) * 2017-08-25 2020-12-02 ファナック株式会社 Robot system
DE102017215114A1 (en) * 2017-08-30 2019-02-28 Deutsches Zentrum für Luft- und Raumfahrt e.V. Manipulator system and method for controlling a robotic manipulator
EP3683730A4 (en) * 2017-09-12 2020-09-23 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Dynamic learning method and system for robot, robot, and cloud server
US10773382B2 (en) * 2017-09-15 2020-09-15 X Development Llc Machine learning methods and apparatus for robotic manipulation and that utilize multi-task domain adaptation
US10624707B2 (en) 2017-09-18 2020-04-21 Verb Surgical Inc. Robotic surgical system and method for communicating synchronous and asynchronous information to and from nodes of a robotic arm
US10779901B2 (en) 2017-09-18 2020-09-22 Verb Surgical Inc. Robotic surgical system having a communication network of a ring topology and method for use therewith
JP2019059004A (en) * 2017-09-28 2019-04-18 セイコーエプソン株式会社 Robot system
US11847841B2 (en) 2017-10-18 2023-12-19 Brown University Probabilistic object models for robust, repeatable pick-and-place
CN107886501A (en) * 2017-10-23 2018-04-06 深圳市共进电子股份有限公司 Vision positioning method and terminal device
JP7041492B2 (en) * 2017-10-31 2022-03-24 川崎重工業株式会社 Robot system
US11514599B2 (en) * 2017-11-01 2022-11-29 James R. Glidewell Dental Ceramics, Inc. Systems and methods for tracking manufactured articles during transfer operations
JP2019084601A (en) * 2017-11-02 2019-06-06 キヤノン株式会社 Information processor, gripping system and information processing method
CN109778621B (en) * 2017-11-13 2022-02-08 宝马汽车股份有限公司 Mobile platform for transportation system and transportation system
US10828790B2 (en) * 2017-11-16 2020-11-10 Google Llc Component feature detector for robotic systems
CN107972063A (en) * 2017-11-24 2018-05-01 嘉兴学院 A kind of motor-driven human emulated robot
TWI660254B (en) * 2017-12-20 2019-05-21 湧德電子股份有限公司 Trajectory optimization system
WO2019139815A1 (en) 2018-01-12 2019-07-18 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
CN108563146B (en) * 2018-01-15 2021-08-13 深圳市同川科技有限公司 Robot working mode switching control method and device, computer equipment and medium
JP7035555B2 (en) * 2018-01-23 2022-03-15 セイコーエプソン株式会社 Teaching device and system
TWI822729B (en) 2018-02-06 2023-11-21 美商即時機器人股份有限公司 Method and apparatus for motion planning of a robot storing a discretized environment on one or more processors and improved operation of same
JP7208713B2 (en) * 2018-02-13 2023-01-19 キヤノン株式会社 Image analysis device and image analysis method
CN112262024B (en) * 2018-02-15 2024-05-03 暗物智能科技(广州)有限公司 System and method for dynamic robot configuration for enhanced digital experience
US11250383B2 (en) 2018-03-05 2022-02-15 Nuance Communications, Inc. Automated clinical documentation system and method
WO2019173333A1 (en) 2018-03-05 2019-09-12 Nuance Communications, Inc. Automated clinical documentation system and method
WO2019173340A1 (en) 2018-03-05 2019-09-12 Nuance Communications, Inc. System and method for review of automated clinical documentation
CN108838991B (en) * 2018-03-06 2022-03-25 南昌工程学院 Autonomous humanoid double-arm robot and tracking operation system thereof for moving target
CN108381509B (en) * 2018-03-19 2021-03-02 京东方科技集团股份有限公司 Intelligent grabbing device, control method thereof and intelligent grabbing control system
US11738457B2 (en) * 2018-03-21 2023-08-29 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
US10147251B1 (en) * 2018-03-29 2018-12-04 Capital One Services, Llc Providing virtual and physical access to secure storage container
JP7083189B2 (en) * 2018-03-29 2022-06-10 国立大学法人 奈良先端科学技術大学院大学 Training data set creation method and equipment
US10875176B2 (en) 2018-04-04 2020-12-29 Kuka Systems North America Llc Process control using deep learning training model
CN110340863B (en) * 2018-04-08 2023-02-17 AIrobot株式会社 Autonomous mobile transfer robot
DE102018109329B4 (en) * 2018-04-19 2019-12-05 Gottfried Wilhelm Leibniz Universität Hannover Multi-unit actuated kinematics, preferably robots, particularly preferably articulated robots
US10967507B2 (en) * 2018-05-02 2021-04-06 X Development Llc Positioning a robot sensor for object classification
CN108656109B (en) * 2018-05-07 2021-03-02 中国科学院力学研究所 Remote operation training method and system
WO2019216016A1 (en) * 2018-05-09 2019-11-14 ソニー株式会社 Information processing device, information processing method, and program
EP3566823A1 (en) 2018-05-11 2019-11-13 Siemens Aktiengesellschaft Method, apparatus and system for robotic programming
CN108687772B (en) * 2018-05-15 2020-06-30 浙江工业大学 Mean value coupling-based fixed time parameter identification and position synchronization control method for double-mechanical-arm system
US11119498B2 (en) 2018-06-06 2021-09-14 Toyota Research Institute, Inc. Systems and methods for simulation utilizing a segmentable monolithic mesh
CN108748152B (en) * 2018-06-07 2021-06-29 上海大学 Robot teaching method and system
KR20190141303A (en) * 2018-06-14 2019-12-24 엘지전자 주식회사 Method for operating moving robot
CN108873774A (en) * 2018-06-14 2018-11-23 合肥工业大学 A kind of VEX robot teaching supplementary controlled system and control method
WO2019241680A1 (en) * 2018-06-15 2019-12-19 Google Llc Deep reinforcement learning for robotic manipulation
WO2019244434A1 (en) * 2018-06-18 2019-12-26 ソニー株式会社 Information processing device, information processing method, and program
US20210170576A1 (en) * 2018-06-19 2021-06-10 Bae Systems Plc Workbench system
EP3584038A1 (en) * 2018-06-19 2019-12-25 BAE SYSTEMS plc Workbench system
GB2576235B (en) 2018-06-19 2021-06-09 Bae Systems Plc Workbench system
JP7360406B2 (en) * 2018-06-26 2023-10-12 ファナック アメリカ コーポレイション Augmented reality visualization for robotic picking systems
US11407111B2 (en) 2018-06-27 2022-08-09 Abb Schweiz Ag Method and system to generate a 3D model for a robot scene
DE102018210520B3 (en) * 2018-06-27 2019-09-05 Kuka Deutschland Gmbh Method and system for diagnosing a machine process
AT521390B1 (en) * 2018-06-29 2021-11-15 Wittmann Tech Gmbh Process for the ongoing storage of internal operating states and for the visualization of chronologically previous process sequences as well as robots and / or robot control for this
JP6505341B1 (en) * 2018-07-06 2019-04-24 三菱電機株式会社 Machine learning apparatus, numerical control apparatus, machine tool and machine learning method
US11285607B2 (en) * 2018-07-13 2022-03-29 Massachusetts Institute Of Technology Systems and methods for distributed training and management of AI-powered robots using teleoperation via virtual spaces
JP7035886B2 (en) * 2018-07-30 2022-03-15 トヨタ自動車株式会社 Image processing device, image processing method
US10953541B2 (en) * 2018-07-31 2021-03-23 At&T Intellectual Property I, L.P. Providing logistical support for robots
US11203122B2 (en) * 2018-08-03 2021-12-21 Digital Dream Labs, Llc Goal-based robot animation
US11636382B1 (en) * 2018-08-10 2023-04-25 Textron Innovations, Inc. Robotic self programming visual inspection
US11396072B2 (en) * 2018-08-20 2022-07-26 Massachusetts Institute Of Technology Robotic manipulation of objects using external contacts
US11396431B2 (en) * 2018-08-20 2022-07-26 Massachusetts Institute Of Technology Robotic manipulation of objects for grip adjustment
JP7262847B2 (en) * 2018-08-30 2023-04-24 ヴェオ ロボティクス, インコーポレイテッド System Identification of Industrial Robot Dynamics for Safety-Critical Applications
CN109048843B (en) * 2018-09-14 2024-03-29 昆明理工大学 Ball picking robot
CN112702968A (en) * 2018-09-17 2021-04-23 柯惠Lp公司 Surgical robot system
US11685052B2 (en) * 2018-09-18 2023-06-27 Kinova Inc. Vision guided robot arm and method for operating the same
JP7263724B2 (en) * 2018-09-27 2023-04-25 株式会社デンソーウェーブ Robot control method
JP7172399B2 (en) * 2018-10-03 2022-11-16 カシオ計算機株式会社 Control device, robot, control method and program
CN109491902B (en) * 2018-11-01 2023-04-18 京东方科技集团股份有限公司 Interactive testing method, device and system
US20200160210A1 (en) * 2018-11-20 2020-05-21 Siemens Industry Software Ltd. Method and system for predicting a motion trajectory of a robot moving between a given pair of robotic locations
TWI734055B (en) * 2018-11-30 2021-07-21 財團法人金屬工業研究發展中心 Automatic control method and automatic control device
JP7044047B2 (en) * 2018-12-14 2022-03-30 トヨタ自動車株式会社 robot
KR102619004B1 (en) 2018-12-14 2023-12-29 삼성전자 주식회사 Robot control apparatus and method for learning task skill of the robot
RU192186U1 (en) * 2018-12-21 2019-09-05 Ооо "Мера-Тсп" Power joystick
RU2685996C1 (en) * 2018-12-26 2019-04-23 Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) Method and system for predictive avoidance of manipulator collision with human being
JP7128736B2 (en) * 2018-12-27 2022-08-31 川崎重工業株式会社 ROBOT CONTROL DEVICE, ROBOT SYSTEM AND ROBOT CONTROL METHOD
US10870204B2 (en) * 2019-01-25 2020-12-22 Mujin, Inc. Robotic system control method and controller
US10456915B1 (en) 2019-01-25 2019-10-29 Mujin, Inc. Robotic system with enhanced scanning mechanism
CN109773793B (en) * 2019-02-25 2022-03-25 太仓中科信息技术研究院 Collision detection system and method for camera robot
JP7273538B2 (en) * 2019-02-26 2023-05-15 パナソニックホールディングス株式会社 Apparatus, method and program
CN109807909B (en) * 2019-03-04 2020-12-11 清研同创机器人(天津)有限公司 Seven-degree-of-freedom spraying robot
WO2020188646A1 (en) * 2019-03-15 2020-09-24 オムロン株式会社 Parameter adjustment device, parameter adjustment method, and program
EP3831547A4 (en) * 2019-03-15 2022-03-23 OMRON Corporation Settings support device, settings support method, and program
US20200301510A1 (en) * 2019-03-19 2020-09-24 Nvidia Corporation Force estimation using deep learning
US11170526B2 (en) * 2019-03-26 2021-11-09 Samsung Electronics Co., Ltd. Method and apparatus for estimating tool trajectories
US10906184B2 (en) * 2019-03-29 2021-02-02 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
US10399227B1 (en) 2019-03-29 2019-09-03 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
WO2020206396A1 (en) * 2019-04-04 2020-10-08 Plus One Robotics, Inc. Industrial robotics systems and methods for continuous and automated learning
US11813758B2 (en) * 2019-04-05 2023-11-14 Dexterity, Inc. Autonomous unknown object pick and place
US11318618B2 (en) 2019-04-05 2022-05-03 Verb Surgical Inc. Robotic surgical system and method for handling real-time and non-real-time traffic
EP3953855A4 (en) 2019-04-11 2023-01-25 Plus One Robotics, Inc. Systems and methods for identifying package properties in an automated industrial robotics system
WO2020214723A1 (en) 2019-04-17 2020-10-22 Real Time Robotics, Inc. Motion planning graph generation user interface, systems, methods and articles
US11132845B2 (en) * 2019-05-22 2021-09-28 Microsoft Technology Licensing, Llc Real-world object recognition for computing device
JP7226101B2 (en) * 2019-05-28 2023-02-21 オムロン株式会社 SAFETY MONITORING SYSTEM, SAFETY MONITORING CONTROL DEVICE, AND SAFETY MONITORING METHOD
US10647528B1 (en) 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
US10618172B1 (en) 2019-05-31 2020-04-14 Mujin, Inc. Robotic system with error detection and dynamic packing mechanism
US10696493B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system with packing mechanism
US10679379B1 (en) 2019-05-31 2020-06-09 Mujin, Inc. Robotic system with dynamic packing mechanism
US11077554B2 (en) 2019-05-31 2021-08-03 Mujin, Inc. Controller and control method for robotic system
US10696494B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system for processing packages arriving out of sequence
EP3959045A1 (en) * 2019-05-31 2022-03-02 Siemens Aktiengesellschaft Method for dynamic multi-dimensional spatio-temporal human machine interaction and feedback
US11883963B2 (en) * 2019-06-03 2024-01-30 Cushybots Corporation Robotic platform for interactive play using a telepresence robot surrogate
US11227679B2 (en) 2019-06-14 2022-01-18 Nuance Communications, Inc. Ambient clinical intelligence system and method
US11043207B2 (en) 2019-06-14 2021-06-22 Nuance Communications, Inc. System and method for array data simulation and customized acoustic modeling for ambient ASR
US11216480B2 (en) 2019-06-14 2022-01-04 Nuance Communications, Inc. System and method for querying data points from graph data structures
WO2020256163A1 (en) * 2019-06-17 2020-12-24 엘지전자 주식회사 Artificial intelligence mobile robot and control method therefor
CN110393399B (en) * 2019-06-25 2021-01-29 美克国际家居用品股份有限公司 Intelligent display system for assembling and disassembling furniture
DE102019004478B3 (en) * 2019-06-26 2020-10-29 Franka Emlka Gmbh System for making an input on a robotic manipulator
CN114025928A (en) * 2019-06-27 2022-02-08 松下知识产权经营株式会社 End effector control system and end effector control method
US11531807B2 (en) 2019-06-28 2022-12-20 Nuance Communications, Inc. System and method for customized text macros
DE102019118260B3 (en) * 2019-07-05 2020-08-20 Franka Emika Gmbh Tactile feedback from an end effector of a robot manipulator over various orientation areas
US12032992B2 (en) 2019-07-19 2024-07-09 Toyota Research Institute, Inc. Methods and systems for performing tasks based on a global model
US11113526B2 (en) * 2019-07-23 2021-09-07 Toyota Research Institute, Inc. Training methods for deep networks
JP7306908B2 (en) * 2019-07-23 2023-07-11 ファナック株式会社 ROBOT HAND CONTROL DEVICE, ROBOT SYSTEM AND ROBOT HAND CONTROL METHOD
US11491658B2 (en) * 2019-07-23 2022-11-08 Toyota Research Institute, Inc. Methods and systems for automatically annotating items by robots
US11213953B2 (en) * 2019-07-26 2022-01-04 Google Llc Efficient robot control based on inputs from remote client devices
JP7339806B2 (en) * 2019-08-05 2023-09-06 川崎重工業株式会社 Control system, robot system and control method
KR20190104483A (en) * 2019-08-21 2019-09-10 엘지전자 주식회사 Robot system and Control method of the same
CN110562553B (en) * 2019-08-22 2021-04-09 深海弈智京山智能科技有限公司 Paper discharge visual guide system and guide method
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
CN117958530A (en) 2019-09-23 2024-05-03 耐克创新有限合伙公司 Manufacturing system for applying material to an article of apparel and method of use thereof
US11670408B2 (en) 2019-09-30 2023-06-06 Nuance Communications, Inc. System and method for review of automated clinical documentation
CN114786468A (en) * 2019-10-10 2022-07-22 以色列国家农业部、农村发展农业研究组织 Man-machine guidance system for agricultural object detection in unstructured and noisy environments by integrating laser and vision
DE102019128082B4 (en) * 2019-10-17 2022-03-10 Franka Emika Gmbh Torque-limited braking of a robotic manipulator
EP4049104A1 (en) * 2019-10-22 2022-08-31 Universal Robots A/S Robot arm with adaptive three-dimensional boundary in free-drive
US10906188B1 (en) 2019-10-25 2021-02-02 Dexterity, Inc. Singulation of arbitrary mixed items
AU2020257165A1 (en) 2019-10-28 2021-05-13 The Raymond Corporation Systems and methods for transferring routes between material handling devices
WO2021086330A1 (en) * 2019-10-29 2021-05-06 Abb Schweiz Ag System and method for online optimization of sensor fusion model
JP7415447B2 (en) * 2019-10-31 2024-01-17 セイコーエプソン株式会社 robot system
CN110757461A (en) * 2019-11-13 2020-02-07 江苏方时远略科技咨询有限公司 Control system and control method of industrial mobile robot
DE102019217630B3 (en) * 2019-11-15 2021-01-14 Kuka Deutschland Gmbh Method for executing an application of a robot system
CN110900604B (en) * 2019-12-02 2021-01-05 浙江大学 Dynamic model design method based on double-mechanical-arm cooperation polishing system
MX2022006131A (en) * 2019-12-05 2022-06-17 Magna Int Inc Method and setup for fenceless robotics.
US11584004B2 (en) 2019-12-17 2023-02-21 X Development Llc Autonomous object learning by robots triggered by remote operators
JP2021102240A (en) * 2019-12-25 2021-07-15 セイコーエプソン株式会社 Program generation system, program generation device, and robot system
US11610153B1 (en) * 2019-12-30 2023-03-21 X Development Llc Generating reinforcement learning data that is compatible with reinforcement learning for a robotic task
IT202000000373A1 (en) * 2020-01-13 2021-07-13 Ima Spa ROBOTIC ISLAND FOR THE PACKAGING OF ARTICLES OR PRODUCTS
US11741192B2 (en) * 2020-01-29 2023-08-29 International Business Machines Corporation Increasing trust formation and reduce oversight costs for autonomous agents
WO2021156647A1 (en) * 2020-02-06 2021-08-12 Mark Oleynik Robotic kitchen hub systems and methods for minimanipulation library
US11826918B2 (en) 2020-02-06 2023-11-28 Berkshire Grey Operating Company, Inc. Systems and methods for camera calibration with a fiducial of unknown position on an articulated arm of a programmable motion device
US11875527B1 (en) 2020-04-13 2024-01-16 Apple Inc. Descriptor generation and point cloud fusion
US11826908B2 (en) 2020-04-27 2023-11-28 Scalable Robotics Inc. Process agnostic robot teaching using 3D scans
US20210347053A1 (en) * 2020-05-08 2021-11-11 Vangogh Imaging, Inc. Virtual presence for telerobotics in a dynamic scene
CN111590575B (en) * 2020-05-15 2021-12-10 深圳国信泰富科技有限公司 Robot control system and method
CN111702744A (en) * 2020-06-10 2020-09-25 南昌大学 Humanoid mechanical double arm capable of realizing double-arm cooperation
US11731271B2 (en) * 2020-06-30 2023-08-22 Microsoft Technology Licensing, Llc Verbal-based focus-of-attention task model encoder
US20220084306A1 (en) * 2020-07-14 2022-03-17 Kalpit Jain Method and system of guiding a user on a graphical interface with computer vision
US11554482B2 (en) * 2020-07-16 2023-01-17 Hitachi, Ltd. Self-learning industrial robotic system
JPWO2022014312A1 (en) * 2020-07-16 2022-01-20
KR102386009B1 (en) * 2020-07-30 2022-04-13 네이버랩스 주식회사 Method for learning robot task and robot system using the same
EP3960395A1 (en) * 2020-08-24 2022-03-02 ABB Schweiz AG Method and system for training a robot
KR20230074229A (en) * 2020-09-25 2023-05-26 아우리스 헬스, 인코포레이티드 Haptic feedback to align robotic arms
CN112223288B (en) * 2020-10-09 2021-09-14 南开大学 Visual fusion service robot control method
US11222103B1 (en) 2020-10-29 2022-01-11 Nuance Communications, Inc. Ambient cooperative intelligence system and method
US11925848B2 (en) 2020-11-03 2024-03-12 Shuhari Group, LLC Combat applications partner
US11948375B2 (en) 2020-11-09 2024-04-02 Walmart Apollo, Llc System and method for optimizing container contents
US11565406B2 (en) 2020-11-23 2023-01-31 Mitsubishi Electric Research Laboratories, Inc. Multi-tentacular soft robotic grippers
CN112549023B (en) * 2020-11-25 2022-05-27 浙江同善人工智能技术有限公司 Industrial robot demonstrator mode and protocol control method based on TCP socket interface
US11724407B2 (en) * 2021-01-18 2023-08-15 Xerox Corporation Target-free RGBD camera alignment to robots
WO2022156878A1 (en) * 2021-01-19 2022-07-28 Abb Schweiz Ag System and method for visualizing a plurality of mobile robots
US20220289501A1 (en) * 2021-03-15 2022-09-15 Dexterity, Inc. Singulation of arbitrary mixed items
US20220331966A1 (en) * 2021-04-09 2022-10-20 Beyond Imagination Inc. Mobility surrogates
US11822710B2 (en) 2021-09-08 2023-11-21 Acumino Wearable robot data collection system with human-machine operation interface
DE102021125157A1 (en) 2021-09-28 2023-03-30 Deutsches Zentrum für Luft- und Raumfahrt e.V. User interface device, end effector, robot and method for controlling a user interface device, an end effector and/or a robot
WO2023059485A1 (en) 2021-10-06 2023-04-13 Berkshire Grey Operating Company, Inc. Dynamic processing of objects provided in elevated vehicles with evacuation systems and methods for receiving objects
CN113799143B (en) * 2021-11-18 2022-04-19 广东隆崎机器人有限公司 Safe cooperation method and device of multiple robots in working area
US11989843B2 (en) 2022-06-22 2024-05-21 Snap Inc. Robotic learning of assembly tasks using augmented reality
CN115431251B (en) * 2022-09-16 2023-03-21 哈尔滨工业大学 Humanoid robot upper limb
EP4403318A1 (en) * 2023-01-19 2024-07-24 Honda Research Institute Europe GmbH Robot system and method for learning one or more new semantic relations in a knowledge base of physical skills

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268837A (en) * 1992-04-23 1993-12-07 Digital Equipment Corporation Robotics workstation
JPH09244724A (en) * 1996-03-11 1997-09-19 Asahi Sanac Kk Method and device for generating operation program for robot
JP2010094777A (en) * 2008-10-16 2010-04-30 Fuji Electric Systems Co Ltd Remote control support device
JP2010137357A (en) * 2008-02-28 2010-06-24 Panasonic Corp Control apparatus and control method for robot arm, robot, control program for robot arm, and integrated electronic circuit for controlling robot arm
EP2210716A2 (en) * 2009-01-23 2010-07-28 Agilent Technologies, Inc. Trainable robot and method of training
JP2011506118A (en) * 2007-12-21 2011-03-03 クーカ・ロボター・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツング Industrial robot and programming method for industrial robot
JP2012066378A (en) * 2010-09-22 2012-04-05 Toyota Motor Engineering & Manufacturing North America Inc Human-robot interface apparatus and method for controlling robot
US20120130541A1 (en) * 2010-09-07 2012-05-24 Szalek Leszek A Method and apparatus for robot teaching

Family Cites Families (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6337552B1 (en) 1999-01-20 2002-01-08 Sony Corporation Robot apparatus
JPS52145375U (en) * 1976-04-30 1977-11-04
US4117605A (en) 1976-06-24 1978-10-03 Michael J. Freeman Real time conversational toy having secure playback response
JPS58195921U (en) * 1982-06-23 1983-12-26 本田技研工業株式会社 handle switch device
JPS59192491A (en) * 1983-04-15 1984-10-31 株式会社日立製作所 Incorporation type direct teaching device combining prefabricated jig and force sensor
JPS60221288A (en) 1984-04-13 1985-11-05 株式会社 富士電機総合研究所 Pressure sensing recognizing controller
JPH0445825Y2 (en) * 1985-10-18 1992-10-28
US4952772A (en) 1988-11-16 1990-08-28 Westinghouse Electric Corp. Automatic seam tracker and real time error cumulative control system for an industrial robot
US5652910A (en) 1989-05-04 1997-07-29 Texas Instruments Incorporated Devices and systems with conditional instructions
JPH0440506A (en) * 1990-06-06 1992-02-10 Murata Mach Ltd Teaching device for robot
JP3126413B2 (en) * 1991-06-15 2001-01-22 松下電工株式会社 Non-touch switch device
JPH05143149A (en) * 1991-11-18 1993-06-11 Fujitsu Ltd Robot
JPH0699375A (en) 1992-09-18 1994-04-12 Kawasaki Heavy Ind Ltd Robot operation training device
JP3080791B2 (en) * 1992-09-28 2000-08-28 三菱重工業株式会社 Auxiliary device for direct teaching of manipulators
DE4443669A1 (en) 1994-12-08 1996-06-13 Index Werke Kg Hahn & Tessky Method and device for monitoring the movement of a machine component
US5650704A (en) 1995-06-29 1997-07-22 Massachusetts Institute Of Technology Elastic actuator for precise force control
DE19613386A1 (en) 1996-04-03 1997-10-09 Fiat Om Carrelli Elevatori Industrial truck, which can be operated either manually or automatically
WO1998002825A2 (en) 1996-07-12 1998-01-22 Francone Frank D Computer implemented machine learning method and system
JPH10136072A (en) * 1996-11-01 1998-05-22 Masaru Okubo Projection piece for switch key and mobile telephone
US5783834A (en) 1997-02-20 1998-07-21 Modular Process Technology Method and process for automatic training of precise spatial locations to a robot
FI112334B (en) 1997-04-08 2003-11-28 Abb Research Ltd Procedure and arrangement for assembly of car body
US6363301B1 (en) 1997-06-04 2002-03-26 Nativeminds, Inc. System and method for automatically focusing the attention of a virtual robot interacting with users
US6353814B1 (en) 1997-10-08 2002-03-05 Michigan State University Developmental learning machine and method
JPH11254361A (en) * 1998-03-13 1999-09-21 Sumitomo Heavy Ind Ltd Direct teaching mode switching system for robot
US6951535B2 (en) * 2002-01-16 2005-10-04 Intuitive Surgical, Inc. Tele-medicine system that transmits an entire state of a subsystem
JP3300682B2 (en) * 1999-04-08 2002-07-08 ファナック株式会社 Robot device with image processing function
US6484083B1 (en) 1999-06-07 2002-11-19 Sandia Corporation Tandem robot control system and method for controlling mobile robots in tandem
WO2001037060A1 (en) 1999-11-18 2001-05-25 The Procter & Gamble Company Home cleaning robot
JP2001166804A (en) 1999-12-10 2001-06-22 Sony Corp Learning type action control device and its method, and providing medium
WO2001084260A2 (en) * 2000-05-01 2001-11-08 Irobot Corporation Method and system for remote control of mobile robot
US7236618B1 (en) 2000-07-07 2007-06-26 Chee-Kong Chui Virtual surgery system with force feedback
US20020082498A1 (en) 2000-10-05 2002-06-27 Siemens Corporate Research, Inc. Intra-operative image-guided neurosurgery with augmented reality visualization
US6553311B2 (en) * 2000-12-08 2003-04-22 Trimble Navigation Limited Navigational off- line and off-heading indication system and method
US20020164070A1 (en) 2001-03-14 2002-11-07 Kuhner Mark B. Automatic algorithm generation
JP2002301674A (en) 2001-04-03 2002-10-15 Sony Corp Leg type moving robot, its motion teaching method and storage medium
US7328196B2 (en) 2003-12-31 2008-02-05 Vanderbilt University Architecture for multiple interacting robot intelligences
EP1254688B1 (en) 2001-04-30 2006-03-29 Sony France S.A. autonomous robot
SE0103994L (en) 2001-11-29 2003-05-30 Abb Ab An industrial robot system and a method for programming it
US6587752B1 (en) * 2001-12-25 2003-07-01 National Institute Of Advanced Industrial Science And Technology Robot operation teaching method and apparatus
WO2003064116A2 (en) 2002-01-31 2003-08-07 Braintech Canada, Inc. Method and apparatus for single camera 3d vision guided robotics
EP1474271A1 (en) 2002-01-31 2004-11-10 Abb Research Ltd. Robot machining tool position and orientation calibration
JP3529049B2 (en) 2002-03-06 2004-05-24 ソニー株式会社 Learning device, learning method, and robot device
US6826452B1 (en) 2002-03-29 2004-11-30 The Penn State Research Foundation Cable array robot for material handling
NO317898B1 (en) * 2002-05-24 2004-12-27 Abb Research Ltd Procedure and system for programming an industrial robot
EP1532599B1 (en) 2002-08-17 2009-11-04 Abb Research Ltd. Method for operating a system comprising a plurality of nodes and a base station according to tdma, and associated system
SE524627C2 (en) 2002-10-07 2004-09-07 Abb Research Ltd Wireless controller and method for controlling a device arranged relative to a robot
JP3715617B2 (en) 2002-12-02 2005-11-09 ファナック株式会社 Production cell
SE525108C2 (en) 2002-12-30 2004-11-30 Abb Research Ltd Method and system for programming an industrial robot, computer program product, computer-readable medium and use
JP3951235B2 (en) 2003-02-19 2007-08-01 ソニー株式会社 Learning apparatus, learning method, and robot apparatus
JP3950805B2 (en) * 2003-02-27 2007-08-01 ファナック株式会社 Teaching position correction device
US20070061041A1 (en) 2003-09-02 2007-03-15 Zweig Stephen E Mobile robot with wireless location sensing apparatus
US7096090B1 (en) 2003-11-03 2006-08-22 Stephen Eliot Zweig Mobile robotic router with web server and digital radio links
WO2005045729A1 (en) 2003-11-10 2005-05-19 Siemens Aktiengesellschaft System and method for carrying out and visually displaying simulations in an augmented reality
SE0303145D0 (en) 2003-11-23 2003-11-23 Abb Research Ltd Method for optimizing the performance of a robot
SE526119C2 (en) 2003-11-24 2005-07-05 Abb Research Ltd Method and system for programming an industrial robot
US7181314B2 (en) 2003-11-24 2007-02-20 Abb Research Ltd. Industrial robot with controlled flexibility and simulated force for automated assembly
SE0303445L (en) 2003-12-17 2005-06-18 Abb Research Ltd Tools for an industrial robot
US7236854B2 (en) 2004-01-05 2007-06-26 Abb Research Ltd. Method and a system for programming an industrial robot
US7308112B2 (en) 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
US9110456B2 (en) 2004-09-08 2015-08-18 Abb Research Ltd. Robotic machining with a flexible manipulator
US7626569B2 (en) 2004-10-25 2009-12-01 Graphics Properties Holdings, Inc. Movable audio/video communication interface system
SE0402750D0 (en) 2004-11-10 2004-11-10 Abb Ab A calibration method
SE0402891D0 (en) 2004-11-26 2004-11-26 Abb Ab A system and a method for controlling movements of an industrial robot
SE0402945D0 (en) 2004-11-30 2004-11-30 Abb Research Ltd Industrial robot
US20060178775A1 (en) 2005-02-04 2006-08-10 George Zhang Accelerometer to monitor movement of a tool assembly attached to a robot end effector
US7643907B2 (en) 2005-02-10 2010-01-05 Abb Research Ltd. Method and apparatus for developing a metadata-infused software program for controlling a robot
EP1719588A1 (en) 2005-05-02 2006-11-08 Abb Research Ltd. A robot control system comprising a portable operating device with safety equipment
EP1739594B1 (en) 2005-06-27 2009-10-28 Honda Research Institute Europe GmbH Peripersonal space and object recognition for humanoid robots
US20070001638A1 (en) * 2005-07-01 2007-01-04 Fsi International, Inc. Robot with vibration sensor device
US8160743B2 (en) 2005-08-16 2012-04-17 Brainlab Ag Anthropomorphic medical robot arm with movement restrictions
EP2281667B1 (en) 2005-09-30 2013-04-17 iRobot Corporation Companion robot for personal interaction
DE102005054575B3 (en) 2005-11-16 2007-04-26 Deutsches Zentrum für Luft- und Raumfahrt e.V. Robot arm regulating method, for medical engineering, involves utilizing redundancy of hinges to optimize quality factor to adjust hinges at angle that is perpendicular to instrument axis, where force caused by regulating hinges is zero
US8667657B2 (en) 2006-01-18 2014-03-11 Abb Technology Ag Method and apparatus for engine piston installation by use of industrial robots
DE602006003058D1 (en) 2006-02-17 2008-11-20 Abb Research Ltd Robotic System
JP4908020B2 (en) * 2006-03-02 2012-04-04 本田技研工業株式会社 Hand control system
US20080065257A1 (en) 2006-09-13 2008-03-13 Jianmin He Controlled material removal rate (CMRR) and self-tuning force control in robotic machining process
TWI349870B (en) 2006-11-22 2011-10-01 Ind Tech Res Inst Device and method of tactile sensing for human robot interaction
EP1927440A1 (en) 2006-11-30 2008-06-04 Abb Research Ltd. Method and device for monitoring the condition of an industrial robot
EP1932629B1 (en) 2006-12-11 2019-04-24 ABB Research Ltd. A method and a control system for monitoring the condition of an industrial robot
TWI306051B (en) * 2006-12-14 2009-02-11 Ind Tech Res Inst Robotic apparatus with surface information displaying and interaction capability
ES2343386T3 (en) 2006-12-19 2010-07-29 Abb Research Ltd. PROCEDURE AND DEVICE FOR HANDLING PARTS.
ATE542644T1 (en) 2006-12-22 2012-02-15 Abb Research Ltd CONTROL SYSTEM
JP2010514512A (en) 2006-12-27 2010-05-06 マコ サージカル コーポレーション Apparatus and method for providing an adjustable positive stop in space
EP1955830B1 (en) 2007-02-06 2014-04-09 Abb Research Ltd. A method and a control system for monitoring the condition of an industrial robot
EP1958738B1 (en) 2007-02-13 2013-08-14 Abb Research Ltd. Remote diagnostic system for robots
EP1965281A1 (en) 2007-03-02 2008-09-03 Abb Research Ltd. Dynamic maintenance plan for an industrial robot
EP1967333A1 (en) 2007-03-09 2008-09-10 Abb Research Ltd. Detection of condition changes in an industrial robot system
JP4877810B2 (en) 2007-04-02 2012-02-15 株式会社国際電気通信基礎技術研究所 Learning system and computer program for learning visual representation of objects
US20090132088A1 (en) 2007-04-24 2009-05-21 Tairob Ltd. Transfer of knowledge from a human skilled worker to an expert machine - the learning process
WO2008147239A1 (en) 2007-05-28 2008-12-04 Budker Institute Of Nuclear Physics Sibirskogo Otdeleniya Rossiiskoi Akademii Nauk Lithium container
WO2008154408A1 (en) 2007-06-06 2008-12-18 Tobey Wayland E Modular hybrid snake arm
US7957583B2 (en) 2007-08-02 2011-06-07 Roboticvisiontech Llc System and method of three-dimensional pose estimation
WO2009071567A1 (en) 2007-12-05 2009-06-11 Abb Research Ltd A production line and a method for operating a such
EP2219090B1 (en) 2007-12-06 2012-02-01 ABB Research Ltd. A robot service system and a method for providing remote service for a robot
FR2926240B1 (en) 2008-01-15 2010-04-30 Blm METHOD FOR LEARNING A ROBOT OR SIMILAR AND DEVICE FOR IMPLEMENTING SAID METHOD
JP5213023B2 (en) 2008-01-15 2013-06-19 本田技研工業株式会社 robot
US8140188B2 (en) 2008-02-18 2012-03-20 Toyota Motor Engineering & Manufacturing North America, Inc. Robotic system and method for observing, learning, and supporting human activities
US8571706B2 (en) 2008-02-20 2013-10-29 Abb Research Ltd. Method and system for optimizing the layout of a robot work cell
US20090306825A1 (en) 2008-04-21 2009-12-10 Ying Li Manipulation system and method
JP5093498B2 (en) * 2008-07-09 2012-12-12 花王株式会社 Manipulator system
EP2331303A1 (en) 2008-08-27 2011-06-15 ABB Research Ltd. A robot for harsh outdoor environment
DE102008043360A1 (en) * 2008-10-31 2010-05-12 Kuka Roboter Gmbh Industrial robots and method for programming an industrial robot
US8249747B2 (en) 2008-12-03 2012-08-21 Abb Research Ltd Robot safety system and a method
US9108316B2 (en) 2008-12-10 2015-08-18 Abb Research Ltd. Method and system for in-production optimization of the parameters of a robot used for assembly
US9199382B2 (en) 2008-12-17 2015-12-01 Abb Research Ltd. Damage-preventing system for manipulator
WO2010083259A2 (en) 2009-01-13 2010-07-22 Meimadtek Ltd. Method and system for operating a self-propelled vehicle according to scene images
US9311917B2 (en) * 2009-01-21 2016-04-12 International Business Machines Corporation Machine, system and method for user-guided teaching of deictic references and referent objects of deictic references to a conversational command and control system
US20110015787A1 (en) 2009-01-22 2011-01-20 Yuko Tsusaka Control apparatus and control method for robot arm, robot, control program for robot arm, and integrated electronic circuit
US8677854B2 (en) 2009-04-15 2014-03-25 ABB Researched Ltd. Apparatus for a robot arm
JP2012524663A (en) 2009-04-23 2012-10-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Object learning robot and method
CN101590648A (en) * 2009-05-14 2009-12-02 天津工程师范学院 Service-delivery machine robot system based on brain-computer interface
US20100312391A1 (en) 2009-06-05 2010-12-09 Abb Research Ltd. Calibration Of A Lead-Through Teaching Device For An Industrial Robot
ES2511869T3 (en) 2009-10-22 2014-10-23 Abb Research Ltd. Robot part and method to protect a robot part
JP4850984B2 (en) 2009-12-28 2012-01-11 パナソニック株式会社 Action space presentation device, action space presentation method, and program
KR101145243B1 (en) 2010-03-31 2012-05-24 한국과학기술연구원 Restriction space calculation method using position sensors of multi degrees-of-freedom manipulator
WO2011140704A1 (en) 2010-05-11 2011-11-17 Abb Research Ltd. Apparatus, method, program and recording medium for robot offline teaching
WO2011153156A2 (en) 2010-06-02 2011-12-08 Abb Research Ltd Robotic assembly with partial fixturing
EP2404712A1 (en) 2010-07-07 2012-01-11 ABB Research Ltd. A dual arm robot and a method for controlling a dual arm robot
SE1050763A1 (en) 2010-07-08 2010-07-12 Abb Research Ltd A method for calibration of a mobile robot
WO2012020858A1 (en) 2010-08-11 2012-02-16 (주) 퓨처로봇 Intelligent driving robot for providing customer service and calculation in restaurants
WO2012027541A1 (en) 2010-08-27 2012-03-01 Abb Research Ltd Vision-guided alignment system and method
WO2012031635A1 (en) 2010-09-10 2012-03-15 Abb Research Ltd. Industrial robot
KR20120047577A (en) 2010-11-04 2012-05-14 주식회사 케이티 Apparatus and method for providing robot interaction services using interactive behavior model
WO2012066819A1 (en) * 2010-11-17 2012-05-24 三菱電機株式会社 Work pick-up apparatus
CN102060986A (en) 2010-11-30 2011-05-18 中国科学院宁波材料技术与工程研究所 Aromatic-aliphatic block copolyester and preparation method thereof
WO2012010332A1 (en) 2011-02-07 2012-01-26 Abb Research Ltd Industrial robot with a collapsible process force applicator
CN102655425B (en) 2011-03-02 2014-12-10 爱立信(中国)通信有限公司 Method and base station for regulating and controlling upstream load change caused by changing wave beam direction
DE102011006420A1 (en) 2011-03-30 2012-10-04 Robert Bosch Gmbh Control circuit, sensor arrangement and method for operating a control circuit
US8588972B2 (en) 2011-04-17 2013-11-19 Hei Tao Fung Method for creating low-cost interactive entertainment robots
US8639644B1 (en) 2011-05-06 2014-01-28 Google Inc. Shared robot knowledge base for use with cloud computing system
US9002098B1 (en) * 2012-01-25 2015-04-07 Hrl Laboratories, Llc Robotic visual perception system
US8996174B2 (en) 2012-06-21 2015-03-31 Rethink Robotics, Inc. User interfaces for robot training
WO2022058523A1 (en) 2020-09-18 2022-03-24 Cynora Gmbh Organic electroluminescent device emitting blue light

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268837A (en) * 1992-04-23 1993-12-07 Digital Equipment Corporation Robotics workstation
JPH09244724A (en) * 1996-03-11 1997-09-19 Asahi Sanac Kk Method and device for generating operation program for robot
JP2011506118A (en) * 2007-12-21 2011-03-03 クーカ・ロボター・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツング Industrial robot and programming method for industrial robot
JP2010137357A (en) * 2008-02-28 2010-06-24 Panasonic Corp Control apparatus and control method for robot arm, robot, control program for robot arm, and integrated electronic circuit for controlling robot arm
JP2010094777A (en) * 2008-10-16 2010-04-30 Fuji Electric Systems Co Ltd Remote control support device
EP2210716A2 (en) * 2009-01-23 2010-07-28 Agilent Technologies, Inc. Trainable robot and method of training
US20120130541A1 (en) * 2010-09-07 2012-05-24 Szalek Leszek A Method and apparatus for robot teaching
JP2012066378A (en) * 2010-09-22 2012-04-05 Toyota Motor Engineering & Manufacturing North America Inc Human-robot interface apparatus and method for controlling robot

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017520415A (en) * 2014-06-03 2017-07-27 アルティミンズ ロボティクス ゲーエムベーハー Method and system for programming a robot
JP7117104B2 (en) 2014-09-02 2022-08-12 エムビーエル リミテッド Robot Manipulation Method and System for Executing Domain Specific Applications in Instrumented Environments Using Electronic Small Manipulation Libraries
JP2016206066A (en) * 2015-04-24 2016-12-08 トヨタ自動車株式会社 Object recognition apparatus and object recognition method
US10870199B2 (en) 2017-07-12 2020-12-22 Fanuc Corporation Robot system and robot teaching method
JP7050740B2 (en) 2019-01-08 2022-04-08 本田技研工業株式会社 Depth perception modeling for gripping objects
JP2020110911A (en) * 2019-01-08 2020-07-27 本田技研工業株式会社 Depth perception modeling for grasping object
US11185978B2 (en) 2019-01-08 2021-11-30 Honda Motor Co., Ltd. Depth perception modeling for grasping objects
WO2020203793A1 (en) * 2019-03-29 2020-10-08 株式会社エスイーフォー Robot control device, control unit, and robot control system including same
JP2021020309A (en) * 2019-07-30 2021-02-18 株式会社ダイアディックシステムズ Robot control program generating system, robot control program generating method, and program
JP2022538370A (en) * 2019-09-13 2022-09-01 トヨタ リサーチ インスティテュート,インコーポレイティド Method and system for assigning force vectors to robot tasks
JP7326595B2 (en) 2019-09-13 2023-08-15 トヨタ リサーチ インスティテュート,インコーポレイティド Method and system for assigning force vectors to robot tasks
WO2022201314A1 (en) * 2021-03-23 2022-09-29 日本電気株式会社 Information processing device, modification system, information processing method, and non-transitory computer-readable medium
JP7456552B2 (en) 2021-03-23 2024-03-27 日本電気株式会社 Information processing device, information processing method, and program

Also Published As

Publication number Publication date
US20130345874A1 (en) 2013-12-26
US9434072B2 (en) 2016-09-06
WO2013192492A1 (en) 2013-12-27
US9669544B2 (en) 2017-06-06
US20130345875A1 (en) 2013-12-26
WO2013192490A3 (en) 2014-03-20
CN104640677A (en) 2015-05-20
US20130345873A1 (en) 2013-12-26
US20130345870A1 (en) 2013-12-26
US8996167B2 (en) 2015-03-31
CN104602868A (en) 2015-05-06
US20150290803A1 (en) 2015-10-15
JP6314134B2 (en) 2018-04-18
CN104640677B (en) 2017-09-08
EP2864084A2 (en) 2015-04-29
US9701015B2 (en) 2017-07-11
US8996174B2 (en) 2015-03-31
US20130343640A1 (en) 2013-12-26
US9092698B2 (en) 2015-07-28
WO2013192490A2 (en) 2013-12-27
CN104602868B (en) 2016-10-12
US20130346348A1 (en) 2013-12-26
US8965580B2 (en) 2015-02-24
US8958912B2 (en) 2015-02-17
US8996175B2 (en) 2015-03-31
WO2013192500A2 (en) 2013-12-27
US20130345872A1 (en) 2013-12-26
US20130345863A1 (en) 2013-12-26
US8965576B2 (en) 2015-02-24
JP2015520041A (en) 2015-07-16
EP2864085A2 (en) 2015-04-29
WO2013192500A3 (en) 2014-04-17
EP2864085B1 (en) 2016-11-30
US20150290802A1 (en) 2015-10-15
US20130345869A1 (en) 2013-12-26

Similar Documents

Publication Publication Date Title
JP2015520040A (en) Training and operating industrial robots
JP7198831B2 (en) Autonomous robot with on-demand remote control
El Zaatari et al. Cobot programming for collaborative industrial tasks: An overview
US20210205986A1 (en) Teleoperating Of Robots With Tasks By Mapping To Human Operator Pose
Asfour et al. Armar-6: A collaborative humanoid robot for industrial environments
US9387589B2 (en) Visual debugging of robotic tasks
US10514687B2 (en) Hybrid training with collaborative and conventional robots
Gorjup et al. An intuitive, affordances oriented telemanipulation framework for a dual robot arm hand system: On the execution of bimanual tasks
JP2024506611A (en) Systems, devices, and methods for robotic learning and performance of skills including navigation and manipulation functions
JP7452657B2 (en) Control device, control method and program
Bolano et al. Towards a vision-based concept for gesture control of a robot providing visual feedback
Sylari et al. Hand gesture-based on-line programming of industrial robot manipulators
US20240051143A1 (en) Tele-operation assistance system and tele-operation assistance method
Twardon et al. Exploiting eye-hand coordination: A novel approach to remote manipulation
WO2024105779A1 (en) Control device and computer
Sun et al. Direct virtual-hand interface in robot assembly programming
Naughton et al. Integrating Open-World Shared Control in Immersive Avatars
KR20240081550A (en) System and method for remotely controlling robot based on xtended reality
Sylari Hand-Gesture Based Programming of Industrial Robot Manipulators
Sumukha et al. Gesture Controlled 6 DoF Manipulator with Custom Gripper for Pick and Place Operation using ROS2 Framework
TW202421393A (en) Control device and computer
KR20240081551A (en) System and method for acquisition dataset of robot control
Dillmann et al. Interactive and cooperative robot assistants

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180423

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181128