(57)【特許請求の範囲】
【請求項１】
ロボットであって、前記ロボットは、
可動ロボット付属肢と、
前記付属肢の遠位端に配置されたカフであって、前記カフは、前記遠位端の一部を囲み、前記カフは、感圧式スイッチを備える、カフと、
前記カフの周囲に前記カフを覆って配置された圧力拡散層であって、前記カフに外部から印加される圧力を前記スイッチに伝達する圧力拡散層と、
回路と
を備え、
前記回路は、前記カフが把持される場合に前記圧力拡散層によって前記スイッチに伝達される圧力に応答して、前記ロボットをゼロ重力補償モードで動作させ、それによって、前記付属肢は、前記カフに印加される力に応答して、実質的に抵抗なく移動する、ロボット。
【請求項２】
前記ロボットは、（ａ）訓練モードまたは（ｂ）実行モードで交互に動作可能であり、前記訓練モードでは、前記ロボットは、タスクに関連するパラメータを学習および記憶し、前記（ｂ）実行モードでは、前記ロボットは、事前に記憶されたパラメータに従ってタスクを実行し、
前記回路は、前記カフが把持される場合に前記スイッチに印加される圧力に応答して、さらに、前記ロボットを前記訓練モードで動作させる、請求項１に記載のロボット。
【請求項３】
前記カフは、前記カフの２つの対向する側のそれぞれに、複数の押下可能なボタンをさらに備える、請求項１に記載のロボット。
【請求項４】
前記ボタンは、触れることによって区別可能である、請求項３に記載のロボット。
【請求項５】
前記ボタンは、凸状ボタンおよび凹状ボタンを備える、請求項４に記載のロボット。
【請求項６】
前記ボタンは、円形ボタンおよび細長いボタンを備える、請求項４に記載のロボット。
【請求項７】
前記感圧式スイッチは、フレキシブル抵抗器を備える、請求項１に記載のロボット。
【請求項８】
前記感圧式スイッチは、マイクロプッシュボタンスイッチを備える、請求項１に記載のロボット。
【請求項９】
前記圧力拡散層は、可撓なゴムを備えるか、または、可撓なゴムから成る、請求項１に記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願への相互参照）
本発明は、米国特許出願第１３／６２１，６５７号、第１３／６２１，７０６号、第１３／６２１，７０８号、第１３／６２１，６５８号、第１３／６２１，６４８号、第１３／６２１，６８７号、第１３／６２１，５１７号、第１３／６２１，５１９号、および第１３／６２１，５６１号（すべて２０１２年９月１７日出願）、ならびに、米国仮特許出願第６１／６６２，６４６号（２０１２年）６月２１日出願）および第６１／６７６，５８６号（２０１２年７月２７日出願）に基づく優先権およびそれらの利益を主張し、それらの全体を参照によって本明細書中に組み込む。
【０００２】
（発明の分野）
本発明は、概して、ロボット−ユーザ相互作用およびロボット訓練に関する。種々の実施形態は、より具体的には、直接物理的相互作用を容易にするユーザインターフェースに関する。
【背景技術】
【０００３】
（背景）
産業用ロボットは、ヒト介入を全く伴わずに、または最小限のみ伴って、物理的物体の精密かつ反復的な移動および操作が関わる種々のタスクを行う。例えば、ロボットは、自動車部品をスプレー塗装するため、部品をともに溶接するため、および電子デバイスを組み立てるために使用される。ロボットはまた、特定の場所で物体を取り上げ、それらを目的場所に移送し、特定の座標に従ってそれらを置く（例えば、それらを積載する、またはそれらを目的場所に存在する段ボールの箱に入れる）ために使用されてもよい。典型的産業用ロボットは、特定のタスクのために設計されたエンドエフェクタを伴う１つ以上のアームと、関連付けられたコンピュータベースのコントローラとを含む。
【０００４】
既存の産業用ロボットのためのコントローラは、通常、ロボットアーム（単数または複数）の正確な位置および軌道を規定する言語でプログラムされる。プログラムされたタスクの実行中、ロボットアームは、正確に規定された軌道を辿って、正確に規定された新しい位置にその最遠位リンクと関連付けられた基準座標を移動させる。既存の産業用ロボットの成功は、制約された環境におけるロボットの動作によるものであり、ロボットの作業空間を構築するプロセスに通常関わる、ロボットをプログラミングする人物が、高い信頼度を伴って、常時、作業空間内に存在する物体およびそれが位置する場所を予測することを可能にする。その結果、特定の軌道を介して、ロボットアーム上の基準点を特定の座標に移動させ、次いで、エンドエフェクタを動作させる（例えば、ロボットの把持部を開閉する）ことは、ロボットの所望の特定のタスクを達成する実世界アクションにつながる。
【０００５】
従来の産業用ロボットのプログラミングは、概して、高水準の技術的専門知識が求められ、ユーザがロボットによって理解可能な用語で考えることを要求する。例えば、プログラマは、３次元空間内の基準点とともにロボットのアームの最遠位リンクの向きを指定するために、６次元ベクトルを使用してもよい。６自由度またはそれより小さい自由度を有するロボットアームの場合、そのベクトルは、ロボットの全関節に関する設定を一意に決定する。ロボットアームが、６自由度よりも多い自由度を有する場合、アームの所望の姿勢のさらなる仕様が、いかなる曖昧性も除去するために要求される。
【０００６】
産業用ロボットのための最近のプログラミングシステムは、プログラマが、アームを所望の姿勢および位置に物理的に移動させ、次いで、ロボットに、その位置を記録させることにより、軌道の終点を設定することによって、６次元ベクトルを回避することを可能にするユーザ入力層を有する。あるアプローチでは、これは、遠隔のネットワーク化されたコンピュータ、またはティーチング段階中にロボットコントローラに差し込まれる外部ティーチングペンダント（すなわち、ハンドヘルド制御端末）を用いて行われる。ティーチングペンダントは、通常、集合的に、ユーザが、ロボットを制御および移動させることを可能にする、ＬＣＤ画面、ジョイスティックまたは類似操向デバイス、１つ以上のボタン、および時として、フルキーボード（タッチスクリーン上にポップアップする「ソフト」キーボードであってもよい）を含む。別の技法は、ロボットアームの最遠位リンクにロードセル（必要に応じて、ハンドル）を取り付け、ユーザに、ロードセルによって検出された力に応答するモードにアームを切り替えさせることを伴い、ユーザが手によってロボットアームを所望の位置に誘導することを可能にする。典型的には、これは、第１に、事前にプログラムされたタスクに従って移動する実行モードから、ユーザがロボットに接近することが安全な訓練モードにロボットを遠隔で切り替えることを要求する。第２に、ロボットは、誘導可能モードに切り替えられる必要があり、ユーザは、例えば、ティーチングペンダント上のボタンを押下することによって、ロボットアームを自由に移動させ、位置を記録することができる。
【０００７】
ロボットに、位置または軌道をこのように教示することによって、プログラマは、次いで、明示的アクションコマンドをロボットに提供する。例えば、タスクが、物体を取り上げることに関わる場合、プログラマは、ロボットがその把持部を降下させる必要がある距離、物体の幅あるいは取り上げるためのロボットフィンガ間の必要距離、および／またはロボットが物体を保持するために物体に印加する必要がある力を規定する必要があり得る。本ステップは、再び、プログラマが、物体を取り上げるだけの単純なタスクでさえ、別個のステップに分割し、ステップ毎に精密なパラメータ値を供給することを必要とする。
【０００８】
ロボットが特定のタスクのために適切にプログラムされると、ロボットは、そのタスクを繰り返しかつ効率的に実行することができるが、それ以外は行わない。異なるタスクのためにロボットを使用することは、本質的に、ロボットを再プログラミングすることを必要とし、これは、時間がかかり、したがって、コストがかかるプロセスである。同様に、取り上げまたは目的場所の変更等のプログラムされたタスクへの任意の調節は、事前に入力されたパラメータを上書きし、かつ／または訓練プロセスのステップを繰り返すことを必要とするため、実装が煩雑である。したがって、従来の産業用ロボットは、典型的には、ロボットハードウェアおよびソフトウェアにおける実質的投資が、自動化を通してその後のコスト節約によって保証される生産プロセスにおける高度に特殊化された付加価値的タスクを行うために設計および採用される。多くの場合、ヒトにとって単調であるが、従来のロボットによる自動化を非コスト効果的にするようなばらつきの程度を有するより一般的なタスクは、通常、ヒト労働者に任される。
【０００９】
故に、好ましくは、訓練者から特殊な技術的スキルを要求しない、新しいタスクのために容易かつ迅速に訓練されることができる多用途ロボットの必要性がある。
【発明の概要】
【課題を解決するための手段】
【００１０】
（概要）
種々の実施形態では、本発明は、特殊な技術的専門知識を必要としない、直感的ヒト様相互作用を介して、種々のタスクのために訓練されることができるロボットを提供する。その結果、ロボットは、生産プロセスに迅速かつ手頃な価格で統合されることができる。いくつかの実施形態では、ユーザインターフェースが、ロボット内に埋め込まれ、ロボットとユーザとの間の直接物理的相互作用を促進し、外部ティーチングペンダントまたは他の遠隔制御部の必要性を排除する。他の相互作用の中でもとりわけ、ロボットは、（ロードセルの必要性なしに）ロボットアームまたは他の付属肢のユーザ誘導を容易にし、ユーザが、直接、アームを把持することを可能にし、いくつかの実施形態では、ユーザがアームを保持している間に触覚フィードバックをユーザに提供することもする。
【００１１】
ロボットは、概して、ロボットを訓練モードに切り替えるために、（ロボットが例えばタスクを実行するために移動するときでも）迅速、かつ、ユーザがロボットに接近することを安全にする態様で任意の外部力に応答することを可能にする力制御モードで動作する。いくつかの実施形態では、ロボットは、そのアームのそれぞれにおけるリストカフを含み、リストカフは、ユーザによって操作される（例えば、握持される）と、訓練モードと、ユーザがアームを手動で誘導することを可能にするゼロ重力補償モードとの両方にロボットを自動的に切り替える。ロボットは、ユーザがカフを解放するまで、この誘導可能モードのままであり、実行モードに戻るための明示的コマンドを受信するまで、実行モードに戻らない。ロボットは、ユーザがアームを所望の位置に持って来ると、ユーザが、ロボットに、ボタンの単純な押下で特定のアクションを行う（例えば、物体の周囲で把持部を閉鎖する）ように命令することができるようにプログラムされて構成されてもよい。訓練の間、入力デバイスとしての役割を果たすことに加え、ロボットアームはまた、ユーザによって誘導されると、触覚フィードバックをユーザに提供してもよい。例えば、自己衝突を回避するために、ロボットは、ユーザが、潜在的に、別のロボット部品との有害な接触をもたらす方向にアームを押動させるにつれて増加する抵抗力を及ぼしてもよい。アームはまた、ユーザによって保持されると、特定の条件（例えば、特定のタイプの物体への近接等）に応答して、時間変動力パターン（または、「触覚署名（ｈａｐｔｉｃ  ｓｉｇｎａｔｕｒｅ）」）を及ぼし、それによって、直感的情報をユーザに提供してもよい。
【００１２】
そのユーザインターフェースの一部として、ロボットは、その本体上の種々の場所に位置するタッチパッドを含んでもよく、そのタッチパッドは、ロボットがタッチに基づいてユーザの場所を検出および推測し、それに応答して、ユーザの方を向くことを可能にする。さらに、ロボットは、ユーザが、ロボットとの相互作用の間、中断させずに、自身の位置を変化させることを可能にする、いくつかの便宜的に設けられた同じ一式の機械的制御部（「ナビゲータ」と呼ばれる）を有してもよい。ロボットはまた、特定のヒト挙動を模倣することにより、その内部状態またはロボットが行うことを意図している次のアクションに関する直感的に理解可能な合図を提供してもよい。例えば、ロボット画面は、その視線によって、ロボットが移動しようとしている方向を示す目を表示し、またはロボットがさらなる入力を必要としている当惑した顔を用いて、ユーザにアラートしてもよい。
【００１３】
その使用の容易性により、本明細書によるユーザインターフェースは、新しいタスクのためにロボットを訓練および再訓練するために比較的低い障壁を呈し、その結果、従来のロボットでは法外な費用が掛かる多くの状況において、経済的に配備されることができる。種々の実施形態によるロボットの有利な使用として、例えば、高度に反復性があり、単調であり、かつ、多くの場合非人間工学的である（したがって、概して、ヒトが行うには健康的ではない）、単純タスクの自動化実施が挙げられる。
【００１４】
一側面では、本発明は、可動ロボット付属肢を含むロボットを対象とし、カフが付属肢の遠位端（すなわち、ロボットから離れた自由端）に配置される。カフは、感圧式スイッチ（例えば、フレキシブル抵抗器またはマイクロプッシュボタンスイッチを含む）と、カフの周囲にカフを覆って配置され、外部から印加される圧力をスイッチに伝達するための圧力拡散層（例えば、可撓なゴムを含むか、または本質的に可撓なゴムから成る）とを含む。いくつかの実施形態では、カフはまた、カフの２つの対向する側のそれぞれに複数の押下可能ボタンを含む。ボタンは、触れることによって区別可能であってもよい。例えば、一方のボタンは、凸状であり、他方は、凹状であってもよく、かつ／または一方は、円形であってもよく、他方は、円形であってもよい。ロボットはさらに、カフが把持される場合にスイッチに印加される圧力に応答する回路を含み、回路は、ロボットをゼロ重力補償モードで動作させ、ゼロ重力補償モードにおいて、付属肢は、カフに印加される力に応答して、実質的に抵抗なく移動する。いくつかの実施形態では、ロボットは、ロボットがタスクを学習し、タスクに関連するパラメータを記憶する訓練モード、またはロボットが事前に記憶されたパラメータに従ってタスクを実行する実行モードにおいて交互に動作可能である。この場合、回路はまた、スイッチに印加される圧力に応答して、ロボットを訓練モードにおいて動作させてもよい。
【００１５】
別の側面では、本発明は、ユーザと直接相互作用可能なロボットを対象とする。ロボットは、胴体と、胴体に取着された頭部および少なくとも１つの付属肢とを有する本体を含む。情報をユーザに伝えるための視覚ディスプレイと、ロボットの環境の画像を取得するための１つ以上のカメラと、タッチまたは機械的作動のうちの少なくとも１つに応答する１つ以上の機械的入力デバイスとを少なくとも含むユーザインターフェースが、ロボット本体に統合される。ロボットはさらに、ユーザインターフェースによって取得された入力を処理し、それに基づいて、付属肢（単数または複数）および／または視覚ディスプレイを制御するためのプロセッサを有する。ユーザインターフェースは、（ロボット外部の付加的入力デバイスを必要とせずに）ロボットのプログラミングおよび／または訓練を容易にするように構成されてもよい。ロボットはまた、反転されることが可能な部分を有する基部を含み、その部分は、その部分のいずれの側が上方を向くか下方を向くかに応じて、異なる量を基部の高さに与える。
【００１６】
いくつかの実施形態では、視覚ディスプレイは、ディスプレイの異なる部分において交互または同時に、カメラ（単数または複数）によって捕捉された画像、グラフィカルユーザインターフェース、および／または顔の表情を示すコンピュータグラフィックスを表示するように構成される。顔の表情を介して、ロボットは、直感的情報をユーザに提供してもよい。例えば、ロボットは、その目が見ている方向によって、移動しようとしている場所を信号伝達してもよい。いくつかの実施形態では、機械的入力デバイス（単数または複数）は、例えば、胴体の２つの側および付属肢のそれぞれに配置された複数の同じナビゲータ（すなわち、一式の機械的に作動される要素または他のユーザ制御部）を含む。ナビゲータは、ナビゲータのうちの複数を介して提供される一連のユーザ入力が、ナビゲータのうちの単一のものを介して提供される一連のユーザ入力と同一の応答をもたらすように集合的に構成されてもよい。いくつかの実施形態では、機械的入力デバイスは、ロボット上の異なる場所に配置され、プロセッサは、機械的入力デバイスのうちの１つのユーザ操作に応答して、かつ操作された入力デバイスの場所に基づいて、ロボットに、ユーザの推定される場所の方を向かせるように構成される（例えば、視覚ディスプレイをユーザに対面するように向けること、および／または付属肢のうちの１つをユーザの方に移動させることによって）。ロボットは、例えば、両肩に配置されたタッチパッド、および／または付属肢の遠位端において付属肢に取着されたリストカフを含んでもよい。
【００１７】
別の側面では、本発明は、ロボット上の異なる場所に配置された複数のユーザ入力デバイスと、ロボットに、ユーザ入力デバイスのうちのいずれかを介して提供される入力に応答して、かつその場所に基づいて、ユーザの推定される場所の方を向かせるためのプロセッサとを含む、ユーザとの相互作用のために構成されたロボットを提供する。
【００１８】
さらに別の側面では、本発明は、胴体と、胴体に取着された頭部および１つ以上の付属肢とを有するロボット本体と、ユーザからの入力を受信するための複数の同じナビゲータと、入力を処理し、それに基づいて、付属肢（単数または複数）のアクションを制御するためのプロセッサとを含むロボット（ユーザとの相互作用のためにも構成されている）である。ナビゲータは、ロボット上の異なる場所に配置され、集合的に、プロセッサとともに、ナビゲータのうちの複数を介して提供される一連のユーザ入力が、ナビゲータのうちの単一のものを介して提供される同一の一連のユーザ入力と同一のアクションをもたらすように構成される。
【００１９】
さらなる側面では、ロボット−ユーザ相互作用の方法が、提供される。本方法は、ロボット上の異なる場所に配置された複数の同じナビゲータのうちの第１のナビゲータの操作の後で、第１のナビゲータの操作に従って、アクションの実行をもたらすステップと、同じナビゲータのうちの第２のナビゲータの後続操作の後で、ロボットに、第２のナビゲータの操作に従って、アクションの実行を継続させるステップとを含む。
【００２０】
別の側面は、物体を操作するための１つ以上のユーザ誘導可能ロボット付属肢（付属肢のそれぞれは、１つ以上の可動関節を含む）と、関節（単数または複数）に力を生成するための触覚モジュールとを伴うロボットに関する。ハードウェア（通常、関節に力を印加するために使用されるハードウェアを含む）および／またはソフトウェア内に実装され得る触覚モジュールは、付属肢とロボットの他の部品との間の衝突を防止するように、ロボットの他の部品の周囲に規定された空間域内における少なくとも１つの付属肢のユーザ誘導に少なくとも部分的に抵抗するように構成される。触覚モジュールによって生成される力は、付属肢とロボットの他の部品との間の距離、および／または付属肢の動きの方向または速さに（線形または非線形に）依存してもよい。特定の実施形態では、力は、付属肢がロボットの他の部品のより近くに移動するにつれて、増加する。
【００２１】
本発明はまた、一側面では、触覚フィードバックをロボットの付属肢を誘導するユーザに提供するための、ロボットにより実装される方法を提供する。本方法は、付属肢がロボットの他の部品の周囲に規定された空間域に入ると、付属肢とロボットの他の部品との間の衝突を防止するように、付属肢において抵抗力を生成することによって、付属肢のユーザ誘導に少なくとも部分的に抵抗することを伴う。抵抗力の大きさは、ロボットの他の部品からの付属肢の距離および／または付属肢の動きの方向または速さに依存してもよい。
【００２２】
さらなる側面では、本発明の種々の実施形態は、物体を操作するためのエンドエフェクタと、エンドエフェクタに力を生成するための触覚モジュールと、個別の関連付けられた触覚署名を用いて、１つ以上の環境条件の有無（例えば、規定された場所におけるロボットの有無またはロボットカメラの視野内の規定された物体の有無）に関して実環境またはシミュレート環境を監視するための制御システムとを含むユーザ誘導可能ロボット付属肢を有するロボットを提供する。環境条件のうちの１つの検出に応答して、制御システムは、触覚モジュールに、検出された環境条件と関連付けられた触覚署名に従って、時間変動力を生成させる。ロボットはさらに、触覚署名と個別の環境条件とを関連付けるように構成された訓練モジュールを含んでもよい。
【００２３】
別の側面では、本発明は、触覚フィードバックをロボットのエンドエフェクタを誘導しているユーザに提供するための、ロボットにより実装される方法を対象とし、本方法は、実際またはシミュレートされた条件の検出に応答して、検出された条件と関連付けられた触覚署名に従って、エンドエフェクタに時間変動力を生成することを伴う。
例えば、本願は以下の項目を提供する。
（項目１）
ロボットであって、前記ロボットは、
可動ロボット付属肢と、
前記付属肢の遠位端に配置され、感圧式スイッチを備えるカフと、
前記カフの周囲に前記カフを覆って配置され、外部から印加される圧力を前記スイッチに伝達する圧力拡散層と、
回路と
を備え、前記回路は、前記カフが把持される場合に前記スイッチに印加される圧力に応答して、前記ロボットをゼロ重力補償モードで動作させ、それによって、前記付属肢は、前記カフに印加される力に応答して、実質的に抵抗なく移動する、ロボット。
（項目２）
前記ロボットは、（ａ）前記ロボットがタスクを学習し、前記タスクに関連するパラメータを記憶する訓練モード、または（ｂ）前記ロボットが、事前に記憶されたパラメータに従って、タスクを実行する実行モードで交互に動作可能であり、
前記回路は、前記カフが把持される場合に前記スイッチに印加される圧力に応答して、さらに、前記ロボットを前記訓練モードで動作させる、項目１に記載のロボット。
（項目３）
前記カフは、前記カフの２つの対向する側のそれぞれに、複数の押下可能ボタンをさらに備える、項目１に記載のロボット。
（項目４）
前記ボタンは、触れることによって区別可能である、項目３に記載のロボット。
（項目５）
前記ボタンは、凸状ボタンおよび凹状ボタンを備える、項目４に記載のロボット。
（項目６）
前記ボタンは、円形ボタンおよび細長いボタンを備える、項目４に記載のロボット。
（項目７）
前記感圧式スイッチは、フレキシブル抵抗器を備える、項目１に記載のロボット。
（項目８）
前記感圧式スイッチは、マイクロプッシュボタンスイッチを備える、項目１に記載のロボット。
（項目９）
前記圧力拡散層は、可撓なゴムを備えるか、または、可撓なゴムから成る、項目１に記載のロボット。
（項目１０）
ユーザと直接相互作用可能なロボットであって、前記ロボットは、
胴体と、前記胴体に取着された頭部および少なくとも１つの付属肢とを備えるロボット本体と、
前記ロボット本体に統合されたユーザインターフェースであって、前記ユーザインターフェースは、（ｉ）情報を前記ユーザに伝えるための視覚ディスプレイと、（ｉｉ）前記ロボットの環境の画像を取得するための少なくとも１つのカメラと、（ｉｉｉ）タッチまたは機械的作動のうちの少なくとも１つに応答する少なくとも１つの機械的入力デバイスとを備える、ユーザインターフェースと、
前記ユーザインターフェースによって取得された入力を処理し、それに基づいて、前記少なくとも１つの付属肢または前記視覚ディスプレイを制御するためのプロセッサと
を備える、ロボット。
（項目１１）
前記ユーザインターフェースは、前記ロボットのプログラミングまたは訓練のうちの少なくとも１つを容易にするように構成されている、項目１０に記載のロボット。
（項目１２）
前記視覚ディスプレイは、前記少なくとも１つのカメラによって捕捉された画像、グラフィカルユーザインターフェース、および顔の表情を示すコンピュータグラフィックスを表示するように構成されている、項目１０に記載のロボット。
（項目１３）
前記視覚ディスプレイは、交互に表示される前記画像、前記グラフィカルユーザインターフェース、および前記顔の表情を表示するように構成されている、項目１２に記載のロボット。
（項目１４）
前記少なくとも１つの機械的入力デバイスは、前記胴体の２つの側、および前記少なくとも１つの付属肢のそれぞれに設置された同じナビゲータを備える、項目１０に記載のロボット。
（項目１５）
前記ナビゲータは、前記ナビゲータのうちの複数を介して提供される一連のユーザ入力が、前記ナビゲータのうちの単一のものを介して提供される一連のユーザ入力と同一の応答をもたらすように集合的に構成されている、項目１４に記載のロボット。
（項目１６）
各ナビゲータは、複数の機械的に作動させられる要素を備える、項目１４に記載のロボット。
（項目１７）
前記少なくとも１つの機械的入力デバイスは、前記ロボット上の異なる場所に配置される複数の機械的入力デバイスを備え、前記プロセッサは、前記ロボットに、機械的入力デバイスのユーザ操作に応答して、かつ、前記操作された入力デバイスの場所に基づいて、ユーザの推定される場所の方を向かせるように構成されている、項目１０に記載のロボット。
（項目１８）
前記複数の機械的入力デバイスは、前記ロボットの肩に配置されたタッチパッドを備える、項目１７に記載のロボット。
（項目１９）
前記複数の機械的入力デバイスは、前記少なくとも１つの付属肢の遠位端において前記少なくとも１つの付属肢に取着された少なくとも１つのリストカフを備える、項目１７に記載のロボット。
（項目２０）
前記ロボットに、前記ユーザの方を向かせることは、前記視覚ディスプレイを前記ユーザに対面させることを含む、項目１７に記載のロボット。
（項目２１）
前記ロボットに、前記ユーザの方を向かせることは、前記少なくとも１つの付属肢のうちの１つを前記ユーザの方に移動させることを含む、項目１７に記載のロボット。
（項目２２）
前記本体が装着される基部をさらに備え、前記基部は、第１の高さを前記基部に与える上向きと、第２の高さを前記基部に与える下向きとの間で反転可能な水平部分を備え、前記第１の高さは、前記第２の高さとは異なる、項目１０に記載のロボット。
（項目２３）
ユーザとの相互作用のために構成されるロボットであって、前記ロボットは、
前記ロボット上の異なる場所に配置された複数のユーザ入力デバイスと、
前記ロボットに、前記ユーザ入力デバイスのうちのいずれかを介して提供される入力に応答して、かつ、その場所に基づいて、前記ユーザの推定される場所の方を向かせるためのプロセッサと
を備える、ロボット。
（項目２４）
ユーザとの相互作用のために構成されているロボットであって、前記ロボットは、
胴体と、前記胴体に取着された頭部および少なくとも１つの付属肢とを備えるロボット本体と、
ユーザからの入力を受信するために、前記ロボット上の異なる場所に配置された複数の同じナビゲータと、
前記入力を処理し、それに基づいて、前記少なくとも１つの付属肢のアクションを制御するためのプロセッサと
を備え、前記ナビゲータおよびプロセッサは、前記ナビゲータのうちの複数を介して提供される一連のユーザ入力が、前記ナビゲータのうちの単一のものを介して提供される一連のユーザ入力と同一のアクションをもたらすように集合的に構成されている、ロボット。
（項目２５）
ロボット−ユーザ相互作用の方法であって、前記方法は、
前記ロボット上の異なる場所に配置された複数の同じナビゲータのうちの第１のナビゲータの操作の後で、前記第１のナビゲータの操作に従って、アクションの実行をもたらすことと、
前記複数の同じナビゲータのうちの第２のナビゲータの後続操作の後で、前記ロボットに、前記第２のナビゲータの操作に従って、前記アクションの実行を継続させることと
を含む、方法。
（項目２６）
ロボットであって、前記ロボットは、
物体を操作するための少なくとも１つのユーザ誘導可能ロボット付属肢であって、前記少なくとも１つの付属肢は、少なくとも１つの可動関節を備える、少なくとも１つのユーザ誘導可能ロボット付属肢と、
前記少なくとも１つの関節において力を生成するための触覚モジュールであって、前記触覚モジュールは、前記付属肢と前記ロボットの他の部品との間の衝突を防止するように、前記ロボットの前記他の部品の周囲に規定された空間域内における前記少なくとも１つの付属肢のユーザ誘導に少なくとも部分的に抵抗するように構成されている、触覚モジュールと
を備える、ロボット。
（項目２７）
前記力は、前記付属肢と前記ロボットの前記他の部品との間の距離に依存する、項目２６に記載のロボット。
（項目２８）
前記力は、前記付属肢の動きの方向または速さのうちの少なくとも１つにさらに依存する、項目２７に記載のロボット。
（項目２９）
前記力は、前記付属肢が前記ロボットの前記他の部品のより近くに移動するにつれて、増加する、項目２８に記載のロボット。
（項目３０）
前記力は、距離によって線形に変動する、項目２７に記載のロボット。
（項目３１）
前記力は、距離によって非線形に変動する、項目２６に記載のロボット。
（項目３２）
ロボットであって、前記ロボットは、
物体を操作するためのエンドエフェクタを備える少なくとも１つのユーザ誘導可能ロボット付属肢と、
前記エンドエフェクタに力を生成するための触覚モジュールと、
少なくとも１つの環境条件の有無に関して、実環境またはシミュレート環境を監視するための制御システムであって、前記少なくとも１つの環境条件は、前記少なくとも１つの環境条件と関連付けられた個別の触覚署名（ｈａｐｔｉｃ  ｓｉｇｎａｔｕｒｅ）を有する，制御システムと
を備え、前記制御システムは、前記少なくとも１つの環境条件のうちの１つの検出に応答して、前記触覚モジュールに、前記検出された環境条件と関連付けられた触覚署名に従って、時間変動力を生成させる、ロボット。
（項目３３）
前記少なくとも１つの触覚署名と前記少なくとも１つの個別の環境条件とを関連付けるように構成された訓練モジュールをさらに備える、項目３２に記載のロボット。
（項目３４）
前記少なくとも１つの環境条件は、規定された場所における前記ロボットの有無またはロボットカメラの視野内の規定された物体の有無のうちの少なくとも１つを含む、項目３２に記載のロボット。
（項目３５）
ロボットにより実装される方法であって、前記方法は、触覚フィードバックを前記ロボットの付属肢を誘導するユーザに提供するためのものであり、前記方法は、
前記付属肢が前記ロボットの他の部品の周囲に規定された空間域内に入ると、前記付属肢と前記ロボットの前記他の部品との間の衝突を防止するように、前記付属肢において抵抗力を生成することによって、前記付属肢のユーザ誘導に少なくとも部分的に抵抗すること
を含む、方法。
（項目３６）
前記抵抗力の大きさは、前記ロボットの前記他の部品からの前記付属肢の距離、前記付属肢の動きの方向、または前記付属肢の動きの速さのうちの少なくとも１つに依存する、項目３５に記載の方法。
（項目３７）
ロボットにより実装される方法であって、前記方法は、触覚フィードバックを前記ロボットのエンドエフェクタを誘導しているユーザに提供するためのものであり、前記方法は、
実環境条件またはシミュレート環境条件の検出に応答して、前記検出された環境条件と関連付けられた触覚署名（ｈａｐｔｉｃ  ｓｉｇｎａｔｕｒｅ）に従って、前記エンドエフェクタに時間変動力を生成すること
を含む、方法。
【図面の簡単な説明】
【００２４】
前述は、特に、図面と関連して検討されるとき、以下の本発明の詳細な説明からより容易に理解される。
【図１】図１は、種々の実施形態による、システムを図示するブロック図である。
【図２Ａ】図２Ａおよび図２Ｂは、種々の実施形態による、ロボットの斜視図である。
【図２Ｂ】図２Ａおよび図２Ｂは、種々の実施形態による、ロボットの斜視図である。
【図３】図３Ａ−図３Ｄは、種々の実施形態による、ロボット把持部の斜視図である。
【図４Ａ】図４Ａは、種々の実施形態による、ロボット基部の分解図である。
【図４Ｂ】図４Ｂおよび図４Ｃは、種々の実施形態による、２つの構成における、図４Ａのロボット基部の斜視図である。
【図４Ｃ】図４Ｂおよび図４Ｃは、種々の実施形態による、２つの構成における、図４Ａのロボット基部の斜視図である。
【図４Ｄ】図４Ｄおよび図４Ｅは、種々の実施形態による、２つの構成における、図４Ａのロボット基部の反転可能部分の透明側面図である。
【図４Ｅ】図４Ｄおよび図４Ｅは、種々の実施形態による、２つの構成における、図４Ａのロボット基部の反転可能部分の透明側面図である。
【図５】図５は、種々の実施形態による、ナビゲータの斜視図である。
【図６】図６は、種々の実施形態による、リストカフの斜視図である。
【図７】図７は、種々の実施形態による、ロボットの計算および制御機能性の実装を図示するブロック図である。
【発明を実施するための形態】
【００２５】
（詳細な説明）
本発明によるロボットは、概して、２つのモード、すなわち、ロボットが、感覚入力およびユーザ入力を介して、特定のタスクをどのように行うかを学習する訓練モードと、必要に応じて、センサを介して、但し、直接ユーザ相互作用を伴わずに、その環境のロボットの知覚に部分的に基づいて、ロボットがタスクを自律的に実施するタスク実行モードとで動作することができる。本明細書では、用語「訓練」は、広義に使用され、ロボットが訓練されているタスクの実行に先行する専用訓練セッションと、さらなるユーザ情報および／またはフィードバックが以前に受けた訓練を補う状況におけるタスク実行の中断（例えば、遭遇した状況が訓練セッションの間に予測されなかったため）との両方を包含することが意図される。
【００２６】
種々の実施形態では、本発明は、ロボットとユーザとの間の直接相互作用を介してロボット訓練を容易にするロボット−ユーザインターフェースを提供する。インターフェースのいくつかの構成要素は、専用ユーザ入力／出力デバイスである一方、他は、ユーザ相互作用から独立した機能を有するが、特定の状況では、入力および／または出力デバイスとして補助的に役割を果たす。図１は、種々の実施形態による、ロボットの主要機能システム構成要素を概念的に描写する。ユーザインターフェースの一部である、すなわち、ユーザとの情報交換を容易にする構成要素は、より太い外枠によって示される。
【００２７】
ロボットは、典型的には、物体を操作および移動させるため、または他の有用作業を行うための並列デュアルフィンガ把持部、吸引カップ把持部、またはマルチフィンガ技巧ハンド等のエンドエフェクタを含む１つ以上の付属肢（単数または複数）１００を含む。付属肢１００は、通常、ヒンジまたは回転式関節等の可動関節を介して接続された複数のリンクを含む。付属肢（単数または複数）１００の移動は、１つ以上のコントローラ１０２によって制御され、１つ以上のコントローラ１０２は、概して、ロボット位置、運動学、動力学、および力を監視ならびに変更する高レベルロボットコントローラ１０４と、高レベルコントローラ１０４と通信し、そこからコマンドを受け取り、関節と関連付けられた個々のモータおよびアクチュエータを駆動させ、付属肢（単数または複数）１００またはロボットの他の可動部品を命令通り移動させる１つ以上の関節レベルコントローラ１０６とを含む。付属肢（単数または複数）１００はまた、（例えば、ロボットアームを誘導するとき、ユーザによって）付属肢に外部から印加される力を測定する１つ以上の統合された力センサ１０８を有してもよい。
【００２８】
ロボットはまた、典型的には、訓練およびタスク実行の両方の間、その環境を視覚的に知覚するための１つ以上のカメラ１１０または他の光学センサを含む。さらに、ロボットは、圧力センサ、温度センサ、ソーナーセンサ、加速度計、ジャイロスコープ等の他のタイプのセンサ１１２を利用して、その環境および／またはそれ自体の状態に関する情報を取得してもよい。例えば、ロボットは、近くの物体または人々を検出するためのソーナーセンサのリングと、その本体および付属肢の場所および向きを追跡するための加速度計またはジャイロスコープとを使用してもよい。
【００２９】
そのような一般的感覚入力に加え、ロボットはまた、ユーザから入力を受信することができる。その目的のために、ボタン、ダイヤル、スライダ等のユーザ操作可能な機械的制御部１１４と、タッチ感応パッド１１６と、ユーザが、直接物理的接触を介して、ロボットと相互作用することを可能にする類似制御部とを含んでもよい。ロボット付属肢１００自体が、及ぼされる力および／またはユーザによってもたらされる位置変化を検出するために装備される場合、そのような機械的入力デバイスとしての役割を果たしてもよい。特定の実装では、ユーザはまた、例えば、カメラの視野内でジェスチャを行うことによって、視覚入力を提供してもよい。したがって、カメラ（単数または複数）１１０は、ユーザインターフェースの一部であり得る。最後に、ロボットは、マウスおよびキーボード等の従来のユーザ入力デバイス、および／またはマイクロホン（図示せず）のようなオーディオ入力デバイスを含んでもよい。ロボットからユーザへの逆方向における情報フローを促進するために、ロボットは、テキストおよび／または画像を表示するための画面１１８等の１つ以上の視覚出力デバイス、および／またはスピーカ等のオーディオ出力デバイスを有してもよい。さらに、付属肢１００は、出力デバイスとしての役割を果たしてもよい。ユーザが、付属肢１００を移動させる（例えば、エンドエフェクタを保持する）と、ユーザは、触覚フィードバック（すなわち、独立して、付属肢１００を移動させるか、またはユーザによる移動に抵抗するかのいずれかのために、ロボットによって内部に生成される力）を経験し得る。
【００３０】
ロボットの心臓には、感覚およびユーザ入力を処理し、ロボットの移動ならびに出力デバイスへの情報および信号フローを制御する計算機器１１４がある。計算機器１１４は、ロボット内に埋め込まれ得るか、または遠隔に提供されて有線または無線リンクを介してロボットと通信し得る。以下により詳細に説明されるように、計算機器１１４は、その動作モードに基づいて、異なるプログラムモジュールを実行してもよい。例えば、タスク実行モジュール１２０は、感覚入力に基づいて、ロボットによるタスクの自律的実行のための命令を含んでもよい一方、訓練モジュール１２２は、ユーザ相互作用およびロボット学習を統制してもよい。タスク実行モジュール１２０および訓練モジュール１２２は、訓練段階の間に作成および／または取り込まれ、続いて、タスク実行段階の間に使用される一式の共有データ構造によってリンクされ、それを通して相互作用してもよい。このように、計算機器１１４およびユーザインターフェースはともに、直感的タスク中心相互作用を介して、特定のタスクのためのロボットの訓練を促進し得る。しかしながら、本明細書に説明される種々のユーザインターフェース構成要素はまた、従来の産業用ロボットを訓練するために使用されることができ（例えば、後の使用のために、ロボットによって記録された所望の軌道に沿って、ロボットの付属肢を誘導することによって）、本明細書に説明される特定のアーキテクチャと組み合わせられる必要はない。
【００３１】
図２Ａおよび図２Ｂは、本明細書の一例示的実施形態による、ロボット２００を示す。ロボット２００は、人型の外観を有する。すなわち、本体（または、胴体）２０２と、頭部２０４と、２つのアーム２０６とを含み、把持部２０８がアーム２０６の端部に取着されている。各アームは、７つのリンクと、その遠位端におけるリスト２０９とを含む。リンクは、集合的にアーム２０６の動きのために７自由度を提供する７つの関節を介して、相互およびロボット本体２０２に接続される。図２Ａにおける矢印によって示されるように、各関節は、角度が２つのリンク間で変動することを可能にするヒンジを提供する（すなわち、リンクが、リンクの軸に垂直な関節を通して軸の周囲を回転することを可能にする）か、またはその軸まわりの、より遠位のリンクの回転を促進するかのいずれかを行う。ロボット２００は、概して、多くの従来の産業用ロボットにおけるような位置制御モードではなく、力制御モードで動作する。位置制御モードでは、ロボットアームは、コマンドを受信し、その軌道上で遭遇し得る任意の外部力にかかわらず、規定された空間座標に移動し（多くの場合、非常に高速に）、概して、ロボットが移動している間、ロボットの作業空間に入ることを危険にする。力制御モードでは、対照的に、アクチュエータが、規定された力を関節に印加する。特定の空間位置へおよび／または特定の軌道に沿って、アーム（単数または複数）の移動を生じさせるための力が計算され得るが、計画された動きは、概して、ロボットが予期しない外部力を経験すると、中断される。したがって、力制御モードは、例えば、ロボット上で実行される衝突検出挙動が、予期しない衝突から生じる力の場合に動きを停止することを可能にする。例示的ロボット２００では、関節内の直列弾性アクチュエータ（ＳＥＡ）が、関節レベルコントローラ１０６によって命令されるように、力を印加し、かつフィードバック制御、衝突検出のために、関節における力を測定し、外部から（例えば、ユーザによって）アーム２０６のリスト２０９に印加されるいかなる力も推定する役割を果たす。ＳＥＡは、例えば、１９９７年７月２２日発行の米国特許第５，６５０，７０４号に詳細に説明されており、その開示全体は、参照することによって本明細書に組み込まれる。
【００３２】
ロボットの把持部２０８は、特定の用途におけるロボット動作に好適な任意のエンドエフェクタ（単数または複数）であってもよい。いくつかの実施形態では、それらは、機械的把持部であり、例えば、それぞれ、リスト２０９から相互に並列に延在しかつ相互から可変の機械的調節可能距離を有する２つ以上のフィンガを含む。代替として、把持部２０８は、ユニットに接続された外部源からの加圧された空気を吸引力に変換する、ロボット内のユニットに管類を介して接続された吸引把持部であってもよい。他のタイプの把持部もまた、本発明の範囲内である。把持部２０８は、アーム２０６（または、リスト２０９）から容易に着脱可能であり、ユーザが、他のタイプの把持部または異なる寸法の把持部のために、容易に把持部２０８を交換することを可能にしてもよい。例えば、いくつかの実施形態では、図３Ａ−図３Ｄに図示されるように、一般的フィンガ移送機構３００、すなわち、単純ハンドが、リストに取着され、次いで、可変形状およびサイズのフィンガ３０２が、異なる最大フィンガ間隔に対応する複数の位置（図３Ａ参照）のうちの１つにおいて、ハンド３００の摺動可能要素３０４に単にねじ込まれ（図３Ｂ）、その距離ｄは、その後、摺動可能要素３０４を介して調節されてもよい。フィンガ３０２は、停止部３０６、把持要素３０８、または物体３１０と係合して物体を取り上げることを容易にする他の部品を装備してもよい。停止部３０６は、例えば、フィンガが物体の特定の部分において整合されるように、またはハンド３００の「掌」と物体３１０との間の接触が防止されるように（例えば、擦過を回避するため）、物体３１０に接触すると、把持部の下向きの動きを停止する役割を果たす。把持要素３０８は、異なる種類として供給され、物体３１０の種々の材料、重量等に好適な異なる把持表面を提供してもよい。
【００３３】
再び、図２Ａおよび図２Ｂを参照すると、ロボット本体２０２は、ロボット２００が使用される特定の用途および環境の必要性に応じて、固定され得、回転可能であり得、または別様に移動可能であり得る基部２１０に装着される。ロボットの本体２０２の垂直位置は、基部２１０の異なる高さを介して調節可能であってもよい。いくつかの実施形態では、基部２１０は、相互に対して垂直に移動可能な２つの部品を含み、高さが特定の範囲内で継続的に調節されることを可能にする。図４Ａ−図４Ｅに図示される他のより単純な実施形態では、基部２１０は、組み立てられると、固定高さを有するが、水平に反転されることができる部分４００を含み、その部分４００は、どの表面が上を向き、どの表面が下を向くかに応じて、異なる高さを基部２１０に追加するように成形される。この反転可能部分４００は、単一成形部品として製造されてもよく、ロボットのコストをわずかに追加する一方で、２つの異なる作業レベルのロボットに対応する。反転可能部分４００は、支柱４０２上に装着されてもよい。例えば、図示されるように、部分４００は、支柱４０２上で摺動され、ねじで支柱４０２に添着されてもよい。図４Ｂおよび図４Ｃは、反転可能部分４００の２つの向きに対応する２つの高さにおける基部２１０を示し、図４Ｄおよび図４Ｅは、反転可能部分４００の透明拡大図を提供する。高い構成（図４Ｂおよび図４Ｄ）では、反転可能部分４００は、わずかにのみ支柱４０２と重複し、その高さｈのより大きな部分を基部２１０の全高に追加する。低い構成（図４Ｃおよび図４Ｄ）では、反転可能部分４００は、支柱４０２と有意に重複し、全くではないにしろ、最小限にのみ、基部２１０の全高に追加する。
【００３４】
ロボットのユーザインターフェースは、全体的または部分的に、ロボットの本体２０２、頭部２０４、およびアーム２０６内に埋め込まれてもよい。特定の実施形態では、ロボット訓練の全側面は、ロボットに内蔵された制御部を介して達成され、外部訓練ペンダントまたは遠隔制御部のいかなる必要性も排除することができる。ユーザインターフェースおよびロボットの挙動は、かなりの程度までヒト挙動を模倣し、ユーザが、高度な技術的専門知識を伴わずに、ロボット２００についてすぐに習得し、単純物理的相互作用を介して（例えば、ロボットのアームを誘導することによって）、ロボットと相互作用し、直感的視覚、触覚、または他の合図に基づいて、そのアクションを解釈および／または予測することを可能にし得る。加えて、ロボット２００は、技術的に精通したユーザによく知られている言語においてロボットの状態についての情報を提供しかつその操作を可能にする、メニュー、テキスト入力フィールド等を伴う、より従来のユーザインターフェースを含んでもよい。
【００３５】
図２Ａおよび図２Ｂに図示される実施形態では、ロボットは、その頭部２０４に統合された画面２１２（例えば、ＬＣＤ画面）を有し、画面２１２は、垂直軸を中心として回転し、画面２１２と平行に走る水平軸を中心として頷くことができる。画面２１２は、時として、顔、時として、種々の組み合わせにおいて、テキスト、メニュー、アイコン、空間マップ、およびロボットのカメラからの画像を表示する。ロボット２００は、その現在のモード、内部状態、訓練段階、および／またはその環境における特定のトリガに基づいて、随時、表示すべきものを選定してもよい。顔を示すとき、ロボットは、ヒトが直感的に理解するような情報をヒト訓練者に伝えてもよい。例えば、不完全なユーザ入力に応答して、ロボットは、困った顔を表示し、訓練者に明確化するように促してもよい。ロボットは、加えて、聴覚合図を提供してもよい。ロボットはまた、ユーザまたは着目物体をその目で辿り、それによって、現在焦点が当てられているものを信号伝達してもよい。他のタイプの画面ディスプレイも、同様に、直感的態様で、ユーザとの通信を促進し得る。例えば、ロボットは、ロボットが「見えている」ものをどのように解釈しているかを図示するグラフィックがオーバレイされたライブビデオフレームを画面２１２に送信してもよい。画面２１２に加え、ロボットは、画面２１２の上方のその頭部２０４に、例えば、ステータスライトのリング２１４等の他の視覚インジケータを含んでもよい。ステータスライトは、点滅し、色を変化させる等することにより、ユーザにロボットの状態を知らせてもよい。例えば、ステータスライトは、点滅することにより、ロボットがさらなる入力を待機していることを示し、または黄色から赤色に変化することにより、ユーザに危険またはエラー状態を視覚的にアラートしてもよい。
【００３６】
ロボット２００は、５つのカメラを含む。１つのカメラ２１６は、ロボット２００が、取り上げようとしている物体を「見ながら」、その把持部２０８を適宜調節することができるように、２つのリスト２０９のそれぞれに位置する。さらに、ロボットは、その胸部に並んだ２つのカメラ２１８を有し、作業空間の広角視野を提供し、ロボット２００が、操作されるべき機器または物体を視覚的に検出することを可能にする。最後に、ロボット２００は、画面２１２の上方にカメラ２２０を有する。カメラ２２０は、環境内の人々を検出するように、外向きに向けられる。いくつかの実施形態では、カメラは、人々および物体に関して環境を継続的に監視することに加え、視覚的ユーザ入力デバイスとしての役割を果たす。ユーザは、例えば、作業空間内の着目物体を指差し得、ロボットが物体を把持すべき方法を実証し得、またはロボットが認識するようにプログラムされた特定のジェスチャ（「停止」、「左に移動」等）を行い得る。ロボット２００はまた、各リストのレンジセンサと、環境内を移動する物体を検出するために使用されるその頭部（例えば、ステータスライト２１４と統合される）のソーナーセンサのリングとを含んでもよい。２０１２年４月２６日に出願され、参照することによって本明細書に組み込まれる、同時係属中の米国特許出願第１３／４５６，９１５号を参照されたい。
【００３７】
視覚的かつ／または音響的に物体を検出するためのこれらのセンサに加え、ロボット２００は、そのアーム２０６および本体２０２上に、人（例えば、訓練者）との機械的相互作用を促進するいくつかのタッチ感応センサおよび機械的特徴を含んでもよい。例えば、図２Ｂに図示されるように、ロボット２００は、ロボットの肩上に対称的に位置する２つのタッチパッド２３０を有する。タッチパッド２３０のうちのいずれか１つをタップすることによって、ユーザは、ロボットの背後から現れるときでも、ロボットの注意を引き、さらに、ロボットを訓練しているとき、立つことを意図する側を示すことができる。ロボット２００は、その画面２１２をユーザに向け、ユーザの側のそのアーム２０６の一方を提示し、把持部２０８に容易に届くことを可能にすることによって応答してもよい。ロボットのアーム２０６および本体２０２上の他の物理的ユーザ相互作用要素も同様に、ロボット２００にユーザの場所を通知する役割を果たしてもよい。例えば、ユーザが、そのリスト２０９の周囲のタッチ感応カフによって、ロボットのアームの一方を誘導する場合、ロボット２００は、ユーザが、リスト２０９および把持部２０８が指している方向に位置すると仮定する。一般に、ロボットは、相互作用要素が存在する場所を追跡する３次元自己モデルを使用して、最も新しくタッチされた相互作用要素に基づいて、訓練者が立っている場所を推定する。（そのような３次元自己モデルは、当業者に周知である。要するに、ロボットは、その関節のそれぞれにおける回転量を継続的に追跡し、本情報とともに、関節の相対的位置の運動学的モデルを使用し、各ロボット部品の３次元位置および３次元向きを計算する。）本機能性は、ロボットが、ユーザに継続的に対面するようにその画面２１２を向け、ユーザがロボットの作業空間内を移動するにつれてそれを追従することを可能にする。そのような能力は、例えば、ユーザが、ロボットの周囲を移動し、ロボットのアーム２０６を所望の場所に誘導した後、画面２１２を視認する必要があるとき、有用である。元の場所に戻って、画面２１２を視認する代わりに、ユーザは、近くのタッチパッド２３０を単にタップし、ロボットに、その画面２１２を向けさせてもよい。
【００３８】
ロボットとの相互作用の間、ユーザの利便性をさらに増加させ、ユーザが、相互作用の途中でも、ロボットに対するその位置を自由に変化させることを可能にするために、ロボット２００は、ロボット上の異なる場所に１つ以上のタイプの相互作用要素の複数のコピーを有してもよい。例えば、図示されるロボット２００は、そのアーム、胸部、および背中に機械的制御部（各セットは、集合的に、「ナビゲータ」と呼ばれる）の４つの同じセット２３２を含み、そのうちの少なくとも１つは、ユーザがロボットの正面に立っているか、背後に立っているか、または脇に立っているかにかかわらず、アクセス可能である。図５に図示されるように、各ナビゲータ２３２は、例えば、中心ノブ５００と、ノブ５００の上方および下方の２つのボタン５０２、５０４とを含んでもよい。上側ボタン５０２および下側ボタン５０４は、異なる意味および使用目的を有してもよく、これらは、設計者によって、またはいくつかの実施形態では、ユーザによって変動および再割り当てされてもよい。中心ノブ５００は、押下能力を伴う、連続的なデジタルノブであってもよい。ナビゲータ２３２は、ユーザが、画面２１２上に表示される情報に応答し（例えば、メニューアイテムを選択することによって、訓練モードと実行モードとの間を切り替える）、デジタルノブ５００を介して、数字（例えば、物体が箱内に包装されるべき行列の数を示すため）またはテキスト（例えば、パスワードまたは物体名およびタスク名）を入力することを可能にする。いくつかの実施形態では、ノブ５００および／またはボタン５０２、５０４の機能は、状況依存性であり、すなわち、訓練段階に応じて、ロボットによって要求される入力等を変化させる。例えば、ボタンの一方は、最初は、ロボットを訓練モードに切り替える役割を果たし、後で、ロボットによって提示される（例えば、画面上に表示される）質問に肯定で回答するために使用され、他方のボタンは、否定で回答するために使用されてもよい。ナビゲータはまた、ライト要素５０６（例えば、青色ライトが上部ボタンおよび底部ボタンの周囲に弧を描き、白色ライトが中心ノブを囲む）を含んでもよく、訓練の間、特定の条件下でオンになり、ボタンおよびノブの現在の機能の指示表示を提供してもよい。当然ながら、本明細書に説明される特定のナビゲータ実施形態は、一式の機械的制御要素の一例にすぎない。１つ以上の制御要素およびインジケータ特徴の多くの他の組み合わせおよび構成が、想定可能であり、本発明の範囲内である。
【００３９】
任意の所与の時間に、ナビゲータ２３２は全て、同一の機能を有する。したがって、訓練者は、ロボット訓練のために、それらのうちのいずれかを使用することができ、単にそれを使用することによって、任意の時間に別のものに切り替えることができる。ロボット２００は、いくつかの入力が単一のトランザクションに属する場合でも、ナビゲータ２３２のうちの単一の１つを介して提供される場合にロボットが同一の入力に応答する態様と同一の態様で、ナビゲータ２３２のうちの２つ以上を介して、逐次的に提供されるユーザ入力に応答する。これは、例えば、ユーザが、物体の外観について正面からロボットを訓練している間、照明の妨げになっていることを認識し、したがって、ロボットの背後に回り、ロボットの脇のナビゲータの１つを使用して、訓練を完了するときに有用であり得る。別の例として、アーム上のナビゲータを使用して、物体を持ち上げるようにロボットを訓練しているユーザが、その手の届かない所にロボットアームを移動させる場合、そのときナビゲータはロボットアームの上部にあるため、ユーザは、ナビゲータを見ることが不可能となり、したがって、本体の脇のナビゲータに切り替えてもよい。リスト２０９の周囲の２つのカフ（以下にさらに説明される）も同様に構成され、同一の方法で機能し、ユーザが、便利なように、左のロボットアームと右のロボットアーム２０６との間を切り替えることを可能にしてもよい。複数の同じナビゲータ２３２、リストカフ、または他のユーザ相互作用要素は、したがって、シームレスな相互作用を容易にすると同時に、ユーザに、ロボット２００に対するユーザの位置を選定するための高度な柔軟性を提供する。
【００４０】
ロボット２００を訓練するとき、ユーザは、多くの場合、ロボットのアーム２０６を所望の位置に誘導し、かつ／または把持部２０８を調節する。例えば、ユーザは、物体の各側に１つのフィンガを伴って把持部を物体の周囲に位置付け、次いで、物体に接触するまでフィンガを相互に向かって押動させるか、または代替として、ボタンを単に押下し、物体からの抵抗力を経験するまで、把持部を閉鎖させることによって、２本の指を含む機械的把持部で物体を把持する方法をロボットに示してもよい。アーム２０６のそのような直接機械的相互作用およびユーザ誘導を促進するために、アーム２０６は、必要に応じて、ボタンまたは他の機械的制御部を伴う、ユーザによって把持されるように設計されたリストカフを有してもよい。
【００４１】
一実施形態では、図６に示されるように、リストカフ６００は、アーム２０６の端部を示す円形プレート６０２の真下のリスト２０９の周囲にバンドを形成する。カフ６００の下方には、カメラ２１６およびレンジファインダー６０６が、リスト２０９に内蔵される。カフ６００は、左または右から把持されるように設計され、いずれの場合も、片側に親指と、もう片側に人差し指および中指を伴う。カフ６００は、ユーザの中指によって便利に動作可能であるように位置する、２つのボタン６０８、６１０を各側に有してもよい。ボタン６０８、６１０は、触れることによって認識可能に異なるように設計されてもよい。例えば、一方のボタンは、凸状の細長い形状を有してもよい一方、他方は、凹状円形形状を有してもよい。図示される実施形態では、カフ６００がどちら側から把持されるかにかかわらず、円形ボタン６１０は、右手把持に対してより遠位にあり、細長いボタン６０８は、左手把持に対してより遠位にある。カフ６００は、自然な方法で（すなわち、意図されるように）把持されるとき、ユーザの親指および人差し指は、これらの２つのボタン６０８、６１０の上方にある。
【００４２】
カフ６００は、例えば、１つ以上のフレキシブル抵抗器またはプッシュボタンスイッチ等の統合されたタッチまたは圧力センサを有し、それは、（ロボット上で実行されるソフトウェアと併せて）ユーザがカフ６００を把持する場合を検出することができる。カフ６００は、カフを単に握持することによって、スイッチをアクティブ化するように、圧力を拡散させる可撓なゴムで被覆されてもよい。センサおよび制御部プログラムは、意図的把持と、リストとの偶発的物理的接触とを区別するように構成されてもよい。スイッチのアクティブ化のためのトリガ条件として、例えば、圧力がリストの両側に及ぼされる（カフ６００が親指および人差し指で把持されるときのように）、規定された閾値を超える、または規定された時間の間持続することが挙げられ得る。そのような条件が実施されると、偶発的短い衝撃等、把持に匹敵しないような接触は、概して、スイッチをアクティブ化させない。
【００４３】
種々の実施形態では、計算機器１１４は、ユーザがリストカフ６００の近くでアーム２０６を握持すると、ロボットに、ゼロ重力補償モードに自動的に切り替えさせる。（力制御モードにおけるロボットの動作は、カフがアクティブ化される前でも、アーム２０６が予期しない力に直ちに応答することができるため、ユーザが随時（動きの途中を含む）アーム２０６を握持することを実行可能かつ安全にする。）ゼロ重力補償モードでは、ロボットコントローラ１０４は、アームが最低可能構成まで落下しない（代わりに、宇宙内に存在するかのようにアクションする）ように重力を補償しながら、各関節に低摩擦軸受を伴う一式のリンクのようにアクションするようにロボットアームを動作させる。重力補償を達成するために、コントローラ１０４は、ロボットの質量分布の詳細に内部に記憶されたデジタル的に表されたモデルに基づいて、ロボットの瞬時運動学的構成を考慮し、トルクを各関節に印加することにより、その関節より遠位の全リンクに対する重力に対抗する。さらに、ロボットは、ユーザによってリスト６００に印加される力を推定するために、各関節におけるＳＥＡに依拠する。すなわち、ＳＥＡ内のセンサは、関節における力を測定し、ロボットコントローラ１０４および／または計算機器１１４は、次いで、各リンクにおける質量分布のモデルとともに、アームの運動学的モデルを使用して、重力による力を減算する。各リンクにかかる残りの力は、ユーザによってリスト６００に印加された力から生じる。ロボットコントローラ１０４は、これらの残りの力のそれぞれをゼロにしようと試み、したがって、ロボットに、このユーザが印加した力に追従させ、ユーザがどのようにアーム２０６の終点に力をかけるかにかかわらず、ほぼゼロの力の押し戻しを提供する。言い換えると、リストカフ６００が訓練者によって保持される限り、印加される力に対するロボットコントローラ１０４の応答により、アーム２０６は、単にその慣性によって妨げられるわずかな力にさえ応答して自由に移動する。したがって、ユーザは、例えば、訓練目的のために、ある場所からある場所へとアーム２０６を容易に移動させ得る。
【００４４】
いくつかの実施形態では、リストカフ６００の握持は、ロボット２００に、ゼロ重力補償モードだけではなく、訓練モードにも切り替えさせ、訓練モードにおいて、ロボット２００は、ユーザからの入力を待機し、それに応答する。ロボット２００は、概して、実行モードに戻るための明示的コマンド（例えば、ボタンの押下による）を受信するまで、ユーザがカフ６００を保持しているかどうかにかかわらず、訓練モードのままである。リストカフ６００上の２つのボタン６０８、６１０は、例えば、異なる点（例えば、多角形の頂点）においてボタンの一方をクリックすることによって領域を区画するために、物体の正しい視覚的選択を確認するために、または把持部を手動で開閉させるために、訓練プロセスにおいて使用されることができる。
【００４５】
いくつかの実施形態では、ロボットのアーム２０６は、訓練の間、ユーザ入力および出力デバイスとしての役割を同時に果たす。ユーザが、アーム２０６を誘導して、ロボット２００に、特定の軌道または位置を示す間、アーム２０６は、触覚フィードバックをユーザに提供してもよい。例えば、ロボット２００は、そのアーム（単数または複数）とその本体の他の部品（例えば、その画面２１２）の差し迫った自己衝突を検出し、そのような衝突をもたらす態様におけるそのアームの移動に抵抗するように構成されてもよい。したがって、ユーザが、恐らくは不注意に、ロボットアーム２０６を誘導し、それによって、衝突が起こりそうな場合、ロボットから、通常感じるゼロ力と全く対照的な押し戻しを感じ、したがって、問題をアラートする。自己衝突を回避するためにロボットによって及ぼされる（ロボットコントローラ１０４によって送信されるコマンドによって、関連関節を介してもたらされる）抵抗力は、ロボットの把持部またはロボットのアームに沿った別の関連点が、他のロボット部品の閾値距離（すなわち、その周囲の「保護域」）内に来ると、トリガされてもよい。ロボット２００は、関節に印加される力のロボットの知識を使用して、全ロボット部品の位置、向き、および速度をコンピュータ計算により継続的に追跡する、その３次元自己モデルに基づいて、保護域へのロボットのアーム２０６の進入を検出してもよい。代替として、または加えて、アーム２０６は、直接距離測定を可能にする好適なセンサ（例えば、そのリスト６００の中に装着されるレンジセンサ６０６）を装備してもよい。ロボットによって生成される抵抗力は、他のロボット部品からのアームの距離が減少するにつれて増加してもよい。さらに、ロボット付属肢が移動する速度（すなわち、速さおよび方向）に依存してもよい。例えば、アームが、別のロボット部品に向かって高速で移動する場合、抵抗力は、より大きくなってもよい一方、アームが、より低い速さでかつ／または他のロボット部品の表面と実質的に平行に移動する場合、抵抗力は、より小さくなり得る。
【００４６】
ロボット２００は、概して、（無意識または意図的かにかかわらず）通常の人が衝突を生じさせることを停止させるために十分に強力である。例えば、人は、ロボット２００に、そのフィンガ（単数または複数）でその目（すなわち、ＬＣＤ画面２１２）を自ら突かせることはできない。実際、いくつかの実施形態では、画面２１２は、仮想保護球体によって囲まれ、その範囲を、ユーザは、フィンガを画面２１２上で摺動させ、抵抗力が開始する場所を感じることによって感じ取ることができる。同様に、ユーザが、ロボットの肘を本体と衝突させる作業空間内の場所に把持部２０８を移動させようとする場合、肘に集中した抵抗力を感じることができる。さらなる例を提供するために、ユーザが２つのアームをゼロ力モードで同時に誘導することを可能にする実施形態では、ユーザは、２つのアームを相互に衝突させることができない。右アームによって感じられる抵抗力は、左アームの場所に依存し、その逆も同様である。したがって、各アームは、事実上、アームが移動するにつれて空間内を移動する力場によって囲まれる。本力場は、前述のような感知された条件に応答して、コントローラ１０４によって適切な関節レベルコントローラ１０６に送信されるコマンドによって実装される。
【００４７】
触覚フィードバックはまた、異なる「特殊効果」または「触覚署名（ｈａｐｔｉｃ  ｓｉｇｎａｔｕｒｅ）」、すなわち、一連のクリックあるいはランブルストリップを越えるまたは紙やすりを横断する移動をシミュレートする力等の異なる時間変動力パターンを伴って、特定の場所、物体、またはロボットアクションを「注解する」ために使用されてもよい。典型的には、触覚署名は、大きさが有意に小さく（例えば、１桁以上）、アームを誘導するときにユーザによって外部から印加される力よりはるかに高い割合で変動する、ロボット発生力を伴う。したがって、触覚署名は、アームの全体的な動きに干渉せずに、触覚合図をユーザに提供する。
【００４８】
触覚署名は、例えば、空間内の特定の場所と関連付けられ、ユーザがアーム２０６を誘導するときに直感的情報をユーザに提供してもよい。例えば、ユーザがコンベヤベルトの上方においてロボットの把持部を中心付けることを補助するために、ロボットは、ユーザに紙やすりを横断する移動の感覚を与えることによって、正しい位置を信号伝達してもよい（ロボットの把持部とコンベヤベルトとの間にいかなる物理的接触も存在せずに）。触覚署名はまた、ユーザに、特定の場所で訓練されたアクションのタイプを思い出せるために使用されてもよい。例えば、アームが荷置き場所の上に移動されるとき、アームは、ユーザに特定の粗さの紙やすりの感覚を与えてもよく、アームが取り上げ場所の上に移動されるとき、わずかに上下に揺動してもよい。代替として、取り上げ場所が、広範な区域（地点ではなく）に対応するとき、その区域は、同様に、但し、荷置き区域と関連付けられたものと異なる粗さで、紙やすりの感覚を用いて注解されてもよい。さらに別の例を提供するために、アームが、コンベヤベルト上に来ると、アームは、コンベヤと整合された２次元ベクトルの方向にゼロ力を保持するが、アームをコンベヤに対して横向きに押動し、その区域から出すためにわずかな力を要求し得る。触覚署名はまた、訓練を促進してもよい。例えば、ユーザが、ロボットアームを元の場所に戻すとき、アームは、その場所の近傍に来るとすぐに、その場所に「スナップ」してもよい（ファイルアイコンがコンピュータデスクトップ上のフォルダにスナップするのと同様に）、すなわち、ロボットは、わずかな力を印加し、アームをその場所に移動させ得る一方、依然として、ユーザが異なる場所に移動することを所望する場合、その力を押し戻すことを可能にする。
【００４９】
一般に、特定の場所と関連付けられ、ロボットによって検出可能な任意の環境条件は、その条件が、場所自体であるか、機器の特定の部品の有無またはその場所における物体のタイプであるか、その場所で生じる動きまたは他のアクションであるか、あるいはその場所の測定可能なパラメータ（例えば、高さ、圧力等）であるかにかかわらず、ロボットのアームまたは把持部がその場所に到達すると、特定の触覚署名をトリガするために使用され、したがって、アームの誘導と直接相関する情報をユーザに提供することができる。さらに、触覚署名は、アームの場所に関連しないロボットの環境条件または状態を示してもよい。例えば、ロボットは、その視野内の特定の物体を検出すると、触覚署名を介して、ユーザに信号伝達してもよい。そのようなフィードバックは、ユーザがロボットのアーム２０６を誘導することに夢中になっているとき、他の通信チャネル（ＬＣＤ画面２１２等）への有用な補助となり得る。
【００５０】
さらに、触覚署名は、環境をシミュレートするために使用され、したがって、ユーザが、訓練が関係する物体、機器等の不在下でも、ロボットを訓練することを可能にし得る。例えば、（実際の）物体を仮想コンベヤベルト上に置くようにロボットを訓練するために、ユーザは、訓練の間、そこにコンベヤベルトがなくとも、代わりに、（例えば、ユーザに紙やすりの感覚を与えることによって）物体がコンベヤベルトの上方に存在するときまたは（例えば、わずかな触覚的押し戻しを及ぼすことによって）物体がコンベヤベルトに接触するときを示す触覚署名に依拠して、そのタスクの動きを通して、ロボットを誘導してもよい。ロボットは、言い換えると、異なる環境の内部正準表現、ここでは、コンベヤベルト（通常、これらの環境内で見出されるアイテムの空間位置ならびにアイテムの物理的特性を含む）を維持する。これらの物理的特性（例えば、表面テキスチャ）のうちの少なくともいくつかは、計算機器１１４によって、触覚署名に変換され、選択された仮想環境内でロボットを動作させるユーザによって経験される。いくつかの実施形態では、環境の特性は、ユーザインターフェースを介して、ユーザによって（デフォルト値から）変更されてもよい。
【００５１】
触覚フィードバックをユーザに提供するために、ロボットは、有用作業の実施の間、所望の触覚力（例えば、自己衝突検出モジュールまたは環境条件を監視するモジュールから受信されたデータに基づいて）を計算して適切なコマンドをコントローラに提供するソフトウェア触覚モジュールと併せて、関節における力発生モータまたはアクチュエータならびにそれらを駆動させる関節レベルコントローラ１０６およびロボットコントローラ１０４等、ロボットアーム２０６を動作させるために採用されるものと同一のハードウェア構成要素を利用してもよい。代替として、または加えて、触覚フィードバック、特に、触覚署名は、低力アクチュエータおよびロボットのリスト６００に統合された関連付けられたコントローラ等の専用触覚ハードウェアおよび／または関連関節レベルコントローラ１０６を介して署名に従って把持部の動きを調整するフィルタによって、可能にされてもよい。
【００５２】
前述のロボット２００は、当然ながら、本発明による多くの可能なロボット実施形態のうちの１つにすぎない。種々の構成要素および特徴は、容易に当業者に明白となる態様で修正されることができる。例えば、ロボットは、概して、任意の数のアーム（または、より一般的には、付属肢）を有してもよく、各アームは、任意の数の自由度を有してもよい。アームのリンクは、１回転自由度のみを提供する関節によって継合される必要はなく、例えば、２回転自由度を提供する玉継ぎ手および／または並進運動を促進するレールシステムを含んでもよい。さらに、把持部の代わりに、またはそれに加え、ロボットは、他のタイプのエンドエフェクタ、例えば、ツール（ドリル、のこぎり等）または測定デバイス（例えば、スケール、ゲージ等）を有してもよい。さらに、前述のユーザインターフェース構成要素のうちのいくつかは、異なる場所に取り付けられてもよく、またはその構造および機能詳細が修正されてもよい。当然ながら、種々のユーザインターフェース構成要素が全て、各実施形態において使用される必要はない。さらに、付加的タイプの入力および出力デバイスが、ロボットのユーザ相互作用能力を補助するために使用されてもよい。例えば、ロボットは、オーディオ通信のために、スピーカおよび／またはマイクロホンを含んでもよい。
【００５３】
図１を参照して示されるように、ロボットコントローラ（単数または複数）、センサ、およびユーザインターフェース間の情報交換は、計算機器１１４によって促進および命令される。計算機器１１４は、汎用コンピュータ、あるいは限定ではないが、特殊目的コンピュータ、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡＳ）、デジタル信号プロセッサ（ＤＳＰ）、またはプログラマブルゲートアレイ（ＰＧＡＳ）を含む種々の他の処理デバイスのいずれかを採用してもよい。種々の実施形態では、複数の異なる処理デバイスの組み合わせが、使用される。さらに、いくつかの実施形態では、全体的制御機能性は、ロボットに物理的に統合される構成要素と、ロボットと通信する外部構成要素との間に分散される。
【００５４】
図７は、中央処理ユニット（ＣＰＵ）７０２（例えば、クアドッコアＩｎｔｅｌプロセッサ）と、システムメモリ７０４と、不揮発性大容量記憶デバイス（１つ以上のハードディスクおよび／または光学記憶ユニット等）７０６とを含む汎用コンピュータ７００上に実装された計算機器１１４の例示的実装を図示する。コンピュータ７００はさらに、双方向性システムバス７０８を含み、それを経由して、ＣＰＵ７０２、メモリ７０４、および記憶デバイス７０６は、相互ならびに関節レベルコントローラ１０６（例えば、アームプロセッサであってもよい）、画面１１８、カメラ１１０、ナビゲータ２３２、リストカフ６００、タッチパッド１１６、力センサ１０８、他のタイプのセンサ１１２、および／または従来の入力デバイス（例えば、キーボードまたはマウス）７０９等の内部または外部入力／出力デバイスと通信する。
【００５５】
システムメモリ７０４は、ＣＰＵ７０２の動作および他のハードウェア構成要素との相互作用を制御する、モジュール群として概念的に図示された命令を含む。種々のモジュールは、限定ではないが、高水準言語（例えば、Ｃ、Ｃ＋＋、Ｃ＃、Ａｄａ、Ｂａｓｉｃ、Ｃｏｂｒａ、Ｆｏｒｔｒａｎ、Ｊａｖａ（登録商標）、Ｌｉｓｐ、Ｐｅｒｌ、Ｐｙｔｈｏｎ、Ｒｕｂｙ、またはＯｂｊｅｃｔ  Ｐａｓｃａｌ）または低水準アセンブリ言語を含む任意の好適なプログラミング言語でプログラムされてもよい。いくつかの実施形態では、異なるモジュールは、異なる言語でプログラムされる。モジュールは、大容量記憶デバイス７０６のメモリ割り当て、ファイル管理、および動作等の低水準の基本的システム機能の実行を命令するオペレーティングシステム７１０（例えば、Ｇｅｎｔｏｏ  Ｌｉｎｕｘ（登録商標））を含んでもよい。より高い水準では、１つ以上のサービスアプリケーションは、ロボットコントローラ１０４と、カメラ画像を分析するための画像処理モジュール７１２と、センサ値（関節における力センサ７０８のセンサ値を含む）を読み取り、その一貫性および／または妥当性をチェックするためのセンサ監視モジュール７１４と、種々の機械的制御要素を介して、ユーザ入力を解釈し、訓練モードと実行モードとの間を切り替えるためのユーザ入力モジュール５１６と、ＬＣＤ画面および種々のインジケータライトを制御するためのユーザ出力モジュール７１８と、衝突および自己衝突検出モジュール７２０と、ロボット付属肢（単数または複数）を介してユーザに提供される力フィードバックを計算するための触覚モジュール７２２と、訓練モードにおいてロボットの全体的挙動を統制する訓練１２２と、実行モードにおいて、ロボットの全体的挙動を統制する実行モジュール１２０とを実装してもよい。当然ながら、種々の機能性は、多くの代替方法でグループ化および編成されてもよい。
【００５６】
単純な直感的ユーザ相互作用を介して、タスク中心型訓練を促進するために、コンピュータ７００は、システムメモリ７０４または記憶デバイス７０６内に、基本タスク（物体を取り上げる、または置く等）ならびに関連付けられた物体（取り上げられるべき製品のタイプ等）および場所（コンベヤベルト等）のプロトタイプのライブラリを記憶してもよい。訓練の間、訓練モジュール１２２は、ユーザおよび感覚入力に基づいて、これらのプロトタイプをインスタンス化し、取り込む。例えば、ユーザが、ロボット把持部を特定の物体の上方またはその周囲に位置付け、ロボットにその物体を取り上げさせたいことを示すためにボタンを押下すると、訓練モジュール１２２は、取り上げプロトタイプならびに関連付けられた場所および物体プロトタイプのインスタンスを作成してもよい。次いで、ロボットは、そのリストカメラ２１６で物体の画像を撮影し、その画像処理モジュール７１２で画像を分析することにより、関連視覚特性を抽出し、物体インスタンスをこれらの視覚特性とともに取り込み、把持部の現在の場所を記録することにより、場所インスタンスを取り込み、その力センサが抵抗を検出するまで、その把持部を閉鎖し、そのフィンガ間の関連付けられた距離（および、任意の他の関連情報）を取り上げインスタンスに記憶してもよい。種々の取り込まれたインスタンスは、次いで、後続使用のために、（メモリ７０４内または記憶デバイス７０６上に）記憶される。後に、ロボットが実行モードで動作すると、タスク実行モジュール１２０は、把持部を記憶された取り上げ場所に戻し、記憶された視覚特性と一致する物体に関してその場所を監視し、ロボットがそのような物体を確認すると、取り上げインスタンスを実行してもよい。したがって、ロボットは、現在の感覚情報に基づいて、独立して、以前に訓練されたタスクを実施可能である。プロトタイプ、インスタンス、および訓練実行モジュール１２２とタスクモジュール１２０との間の相互作用に関するさらなる詳細は、２０１２年６月２１日出願の米国仮特許出願第６１／６６２，６４６号に提供される。
【００５７】
前述の例は、本明細書に説明されるユーザインターフェースが、好適な計算機能性と併せて、何をすべきかと、それをどのように行うべきかとを視覚入力および直接機械的相互作用を使用してロボットに示すことによって、ユーザが別のヒトを訓練するのと同様に、ロボットを訓練することをどのように可能にするかを図示する。ユーザの入力を正しく解釈し、平均的ユーザが期待する態様で応答するために、ロボットは、ユーザのアクションの意味に関する事前にプログラムされた仮定に依拠する。これらの仮定は、好ましくは、一般的な統計的に適用可能であるヒト挙動に基づく。当然ながら、ヒト挙動の性質のため、仮定は、あらゆる状況下において、全てのユーザに該当するわけではない。故に、ロボットは、ユーザが、より深い水準において、例えば、従来のユーザメニューを介して、入力を提供することによって、ユーザがデフォルトをオーバーライドすることを可能にする。いくつかの実施形態では、ロボットは、ユーザが、例えば、ロボットの把持部をアクションの途中で握持することによって、またはロボットにその現在のアクションを停止させるために指定されたボタンを押下することによって、アクションを能動的に中断させるまで、デフォルト仮定に基づいてアクションする。代替として、ロボットは、初期ユーザ入力に応答して、規定された時間の間、一時停止し、次いで、ユーザがさらなる情報をその間に提供するまで、デフォルトで進めてもよい。他の実施形態では、ロボットは、デフォルトのユーザ確認または代替命令を明示的に求める。例えば、ユーザが、作業表面上の物体を視認するようにロボットのリストカメラを向け、リストカフ６００上のボタンを押下する場合、ロボットは、画面上に、「物体を取り上げる？」という質問を表示することによって応答してもよい。ユーザが、（例えば、ボタンを再び押下することによって）肯定で回答する場合、ロボットは、続いてその把持部を降下させ、物体を取り上げる。そうでなければ、ロボットは、ユーザが選定するための代替タスクの選択肢を提示してもよい（例えば、物体の視覚モデルを生成するタスクを含む）。
【００５８】
ユーザが、相互作用のより深い水準に進むにつれて、要求される技術的知識も、概して、増加する。実際、高水準の技術的専門知識を有し、かつロボットのアクションを詳細に精密に制御することを所望する従来のロボット訓練者に対応するために、ロボットは、より単純かつより直感的なユーザインターフェースを回避する、代替「専門」インターフェースを提供してもよい。好ましい実施形態では、ユーザは、ロボットと相互作用することができる種々のレベルを選定してもよく、各レベルは、ユーザによって提供される異なる量の必要事項を要求し、ロボットは、その事前にプログラムされたデフォルトに基づいて、残りの情報（該当する場合）を供給する。例えば、ロボットが特定の物体を取り上げる方法を学習する訓練相互作用を検討する。ロボットは、デフォルトによって、作業表面から規定されたわずかな距離（例えば、１ｃｍ）以内（例えば、リストに内蔵されたレンジセンサで測定される）まで、その把持部を降下させ（フィンガが物体を囲み）、次いで、物体からの規定された押し戻し力を測定するまで、物体の周囲で把持部を閉鎖させてもよい。ロボットは、次いで、物体を持ち上げるように試みてもよい。動作が成功する場合、ロボットは、関連付けられた取り上げインスタンスにおける押し戻し力の大きさを記録し、把持部が持ち上げられるときに物体が作業表面に残る場合、ロボットは、より強い力でその試みを繰り返す。このように、ロボットは、物体を持ち上げ、保持するために適切な力を反復的に決定することができる。しかしながら、ロボットに関連パラメータを自ら理解させる代わりに、ユーザは、それらの一部または全部を直接入力することを決定してもよい。特定の事例では、例えば、ユーザは、取り上げの間、作業表面上方のロボット把持部の高さを変更することを所望し得る。さらに、ユーザは、物体を保持し、持ち上げるために物体に印加される最適な力を既に把握しており（例えば、以前の経験から）、したがって、単にその力を入力し、ロボットによる試行錯誤の必要性を回避してもよい。異なる訓練レベルは、ユーザによって入力される異なる量の情報を反映することにより、デフォルト値を、より多くのユーザ入力およびより少ないデフォルトへの依拠に対応する、より「専門」レベルと置換する。
【００５９】
本明細書で採用される用語および表現は、限定ではなく、説明の用語および表現として使用され、そのような用語および表現の使用において、図示および説明される特徴またはその一部の任意の均等物の除外を意図するものではない。加えて、本発明の特定の実施形態が説明されたが、本明細書に開示される概念を組み込む他の実施形態も、本発明の精神および範囲から逸脱することなく、使用されてもよいことは、当業者に明白となる。特に、本発明の実施形態は、本明細書に説明される特徴の全てを含むことも、利点の全てを有することも必要はない。むしろ、特徴および利点の任意のサブセットまたは組み合わせを保有してもよい。故に、説明される実施形態は、あらゆる観点において、制限ではなく、例証にすぎないものと見なされるものとする。
【図１】
0006314134.tif 000002
【図２Ａ】
0006314134.tif 000003
【図２Ｂ】
0006314134.tif 000004
【図３Ａ】
0006314134.tif 000005
【図３Ｂ】
0006314134.tif 000006
【図３Ｃ】
0006314134.tif 000007
【図３Ｄ】
0006314134.tif 000008
【図４Ａ】
0006314134.tif 000009
【図４Ｂ】
0006314134.tif 000010
【図４Ｃ】
0006314134.tif 000011
【図４Ｄ】
0006314134.tif 000012
【図４Ｅ】
0006314134.tif 000013
【図５】
0006314134.tif 000014
【図６】
0006314134.tif 000015
【図７】
0006314134.tif 000016