(57)【特許請求の範囲】
【請求項１】
ロボットの作動を制約する方法であって、
ロボットのネットワークインターフェースハードウェアを使用して、ユーザから１つ以上のロボット制御命令を受信することであって、前記ロボット制御命令は、少なくとも１つのロボット動作を実行するようロボットに指示する、ロボット制御命令を受信することと、
前記ロボットに前記１つ以上のロボット制御命令を提供する前記ユーザがプライマリユーザかセカンダリユーザかを判断することと、
前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作を１つ以上のロボット作動制約と比較することと、
前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合するかを判断することと、
前記ユーザが前記セカンダリユーザでありかつ前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合するときに、前記ロボットの作動を制約することと、
を含む、方法。
【請求項２】
前記１つ以上のロボット作動制約が、１つ以上の認可ロボット動作および１つ以上の制約ロボット動作を含み、
前記少なくとも１つのロボット動作が前記１つ以上の制約ロボット動作のうちの少なくとも１つを含むときに、前記ロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合する、
請求項１に記載の方法。
【請求項３】
前記ロボットが、１つ以上の認可領域と１つ以上の制約領域とを含む作動環境内に位置しており、
前記１つ以上の制約ロボット動作のうちの少なくとも１つが、前記１つ以上の制約領域のうちの少なくとも１つに進入するロボットを含む、
請求項２に記載の方法。
【請求項４】
前記ユーザが前記プライマリユーザであることを検証することと、
前記ロボットの前記ネットワークインターフェースハードウェアを使用して、前記ロボットが複数のロボット動作を実行するように、前記プライマリユーザから複数の制御命令を受信することであって、個々のロボット動作それぞれが個々の制御命令に基づいている、制御命令を受信することと、
前記複数のロボット動作のそれぞれに関するロボット動作パターン情報を保存することと、
前記複数のロボット動作のそれぞれに関するロボット動作パターン情報に基づいて、前記１つ以上のロボット作動制約を確立することと、
によって、前記１つ以上のロボット作動制約を確立することをさらに含む、請求項１から３までのいずれか一項に記載の方法。
【請求項５】
前記１つ以上のロボット作動制約が、
前記ロボットが前記プライマリユーザから受信した前記複数の制御命令によって指示された前記複数のロボット動作のそれぞれを含む、１つ以上の認可ロボット動作と、
前記ロボットが前記プライマリユーザから受信した前記複数の制御命令によって指示された前記複数のロボット動作のそれぞれと異なる１つ以上のロボット動作を含む、１つ以上の制約ロボット動作と、
を含む、請求項４に記載の方法。
【請求項６】
前記１つ以上のロボット作動制約が、
前記ロボットが前記プライマリユーザから受信した前記複数の制御命令により指示された前記複数のロボット動作のそれぞれを含む、１つ以上の制約ロボット動作と、
前記ロボットが前記プライマリユーザから受信した前記複数の制御命令によって指示された前記複数のロボット動作のそれぞれと異なる１つ以上のロボット動作を含む、１つ以上の認可ロボット動作と、
を含む、請求項４に記載の方法。
【請求項７】
前記ロボットが位置する作動環境の視覚的表現をディスプレイインターフェース上に表示することと、
前記ユーザが前記セカンダリユーザであるときに、前記作動環境の前記視覚的表現を拡張して、前記作動環境の前記視覚的表現の少なくとも一部を歪めることと、
をさらに含む、請求項１から６までのいずれか一項に記載の方法。
【請求項８】
ロボット制御システムであって、
ネットワークインターフェースハードウェアを備えたロボットと、
前記ロボットに通信可能に結合されたヒューマン−ロボットインターフェース装置と、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに通信可能に結合された１つ以上のメモリモジュールと、
前記１つ以上のメモリモジュールに保存された機械可読命令であって、前記１つ以上のプロセッサによって実行されると、前記ロボット制御システムに、
前記ロボットの前記ネットワークインターフェースハードウェアを使用して、ユーザから１つ以上のロボット制御命令を受信することであって、前記ロボット制御命令は少なくとも１つのロボット動作を実行するよう前記ロボットに指示する、ロボット制御命令を受信することと、
前記ロボットに前記１つ以上のロボット制御命令を提供する前記ユーザがプライマリユーザかセカンダリユーザかを判断することと、
前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作を、１つ以上のロボット作動制約と比較することと、
前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合するかを判断することと、
前記ユーザが前記セカンダリユーザでありかつ前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合するときに、前記ロボットの作動を制約することと、
を行わせる機械可読命令と、
を備える、ロボット制御システム。
【請求項９】
前記１つ以上のロボット作動制約が、１つ以上の認可ロボット動作および１つ以上の制約ロボット動作を含み、
前記少なくとも１つのロボット動作が前記１つ以上の制約ロボット動作のうちの少なくとも１つを含むときに、前記ロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合する、
請求項８に記載のロボット制御システム。
【請求項１０】
前記ロボットが、１つ以上の認可領域と１つ以上の制約領域とを含む作動環境内に位置しており、
前記１つ以上の制約ロボット動作のうちの少なくとも１つが、前記１つ以上の制約領域のうちの少なくとも１つに進入するロボットを含む、
請求項８または９に記載のロボット制御システム。
【請求項１１】
前記ヒューマン−ロボットインターフェース装置が、前記ロボットが位置する作動環境の拡張視覚的表現を表示するように構成されたディスプレイインターフェースを備える、請求項８から１０までのいずれか一項に記載のロボット制御システム。
【請求項１２】
前記ロボットに通信可能に結合された外部ロボット制御デバイスをさらに備える、請求項８から１１までのいずれか一項に記載のロボット制御システム。
【請求項１３】
１つ以上のロボット作動制約を確立する方法であって、
ロボットが複数のロボット動作を実行するように、前記ロボットのネットワークインターフェースハードウェアを使用して、ユーザから複数の制御命令を受信することであって、前記複数のロボット動作の個々のロボット動作それぞれが前記複数の制御命令の個々の制御命令に基づいている、制御命令を受信することと、
前記複数のロボット動作のそれぞれに関するロボット動作パターン情報を、１つ以上のメモリモジュールに保存することと、
前記１つ以上のメモリモジュールに通信可能に結合されたプロセッサを使用して、前記複数のロボット動作のそれぞれに関するロボット動作パターン情報に基づき、前記１つ以上のロボット作動制約を確立することと、
を含む、方法。
【請求項１４】
前記１つ以上のロボット作動制約が、
前記ユーザから受信した前記複数の制御命令に関連付けられた前記複数のロボット動作のそれぞれを含む、１つ以上の認可ロボット動作と、
前記ユーザから受信した前記複数の制御命令に関連付けられた前記複数のロボット動作のそれぞれと異なる１つ以上のロボット動作を含む、１つ以上の制約ロボット動作と、
を含む、請求項１３に記載の方法。
【請求項１５】
前記１つ以上のロボット作動制約が、作動環境の１つ以上の認可領域と、前記作動環境の１つ以上の制約領域とを含む、請求項１３または１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は、２０１７年４月４日に出願された米国出願第１５／４７８，７３５号の優先権を主張し、当該米国出願は参照により本開示に組み込まれる。
【０００２】
技術分野
本明細書は、一般に、ロボットデバイスの制御に関し、より具体的には、リモート制御可能なロボットのためのロボット作動制約を提供する方法およびシステムに関する。
【背景技術】
【０００３】
背景技術
ロボットデバイスは、ヘルスケア、製造、ユーザ支援アプリケーションなど、さまざまなアプリケーションでますます使用されている。ロボットはますます自律的になりつつあるけれども、ロボットはユーザの入力に応じてタスクを実行する場合が依然としてある。さらに、ロボットの使用が普及するにつれて、ロボットは、例えばクラウドソーシング技術を介して、多くの異なるエンドユーザと相互接続される。一例として、ロボットの所有者は、他のユーザがロボットを制御して、清掃、洗濯などのタスクを実行できるようにしてもよい。しかし、例えば、当該他のユーザが所有者の自宅、職場などでロボットをリモートで操作している間、所有者は当該他のユーザにロボットの完全制御を許可したくない場合がある。
【０００４】
したがって、リモート制御可能なロボットのためのロボット作動制約を提供して、所有者以外のユーザによるロボットの制御を制約する方法およびシステムが必要である。
【発明の概要】
【０００５】
概要
一実施形態では、ロボットの作動を制約する方法は、ロボットのネットワークインターフェースハードウェアを使用して、ユーザから１つ以上のロボット制御命令を受信することであって、ロボット制御命令は、少なくとも１つのロボット動作を実行するようロボットに指示する、ロボット制御命令を受信することと、ロボットに１つ以上のロボット制御命令を提供するユーザがプライマリユーザかセカンダリユーザかを判断することと、１つ以上のロボット制御命令によって指示された少なくとも１つのロボット動作を１つ以上のロボット作動制約と比較することと、を含む。本方法はさらに、１つ以上のロボット制御命令によって指示された少なくとも１つのロボット動作が１つ以上のロボット作動制約と競合するかを判断することと、ユーザがセカンダリユーザでありかつ１つ以上のロボット制御命令によって指示された少なくとも１つのロボット動作が１つ以上のロボット作動制約と競合するときに、ロボットの作動を制約することと、を含む。
【０００６】
別の実施形態では、ロボット制御システムは、ネットワークインターフェースハードウェアを備えたロボットと、ロボットに通信可能に結合されたヒューマン−ロボットインターフェース装置と、１つ以上のプロセッサと、１つ以上のプロセッサに通信可能に結合された１つ以上のメモリモジュールと、を備える。ロボット制御システムはさらに、１つ以上のメモリモジュールに保存された機械可読命令であって、１つ以上のプロセッサによって実行されると、ロボット制御システムに、少なくとも、ロボットのネットワークインターフェースハードウェアを使用して、ユーザから１つ以上のロボット制御命令を受信することであって、ロボット制御命令は少なくとも１つのロボット動作を実行するようロボットに指示する、ロボット制御命令を受信することと、ロボットに１つ以上のロボット制御命令を提供するユーザがプライマリユーザかセカンダリユーザかを判断することと、１つ以上のロボット制御命令によって指示された少なくとも１つのロボット動作を、１つ以上のロボット作動制約と比較することと、１つ以上のロボット制御命令によって指示された少なくとも１つのロボット動作が１つ以上のロボット作動制約と競合するかを判断することと、ユーザがセカンダリユーザでありかつ１つ以上のロボット制御命令によって指示された少なくとも１つのロボット動作が１つ以上のロボット作動制約と競合するときに、ロボットの作動を制約することと、を行わせる機械可読命令を含む。
【０００７】
さらに別の実施形態では、１つ以上のロボット作動制約を確立する方法は、ロボットが複数のロボット動作を実行するように、ロボットのネットワークインターフェースハードウェアを使用して、ユーザから複数の制御命令を受信することであって、複数のロボット動作の個々のロボット動作それぞれが複数の制御命令の個々の制御命令に基づいている、制御命令を受信することと、複数のロボット動作のそれぞれに関するロボット動作パターン情報を、１つ以上のメモリモジュールに保存することと、を含む。本方法はさらに、１つ以上のメモリモジュールに通信可能に結合されたプロセッサを使用して、複数のロボット動作のそれぞれに関するロボット動作パターン情報に基づき、１つ以上のロボット作動制約を確立することと、を含む。
【０００８】
本開示に記載の実施形態によって提供されるこれらの特徴および追加の特徴は、図面と併せて以下の詳細な説明を考慮すると、より完全に理解されるであろう。
【０００９】
図面の簡単な説明
図面に示される実施形態は、本質的に例示的および代表的であり、特許請求の範囲によって定義される主題を限定することを意図するものではない。同様の構造が同様の参照番号で示されている以下の図面と併せて読めば、例示的な実施形態の以下の詳細な説明を、理解することができる。
【図面の簡単な説明】
【００１０】
【図１】本開示において示され説明される１つ以上の実施形態による、作動環境に配置されたロボットと、ロボットに通信可能に結合されたヒューマン−ロボットインターフェース装置とを含むロボット制御システムを概略的に示す。
【００１１】
【図２】本開示において説明され図示される１つ以上の実施形態による、ロボット制御システムの通信可能に結合されたコンポーネントを概略的に示す。
【００１２】
【図３】本開示において示され説明される１つ以上の実施形態による、複数の例示的なロボット動作を概略的に示す。
【００１３】
【図４】本開示において示され説明される１つ以上の実施形態による例示的な作動環境に配置されたロボットを概略的に示す。
【００１４】
【図５】本開示において示され説明される１つ以上の実施形態による、ロボットの作動を制約する方法を示すフローチャートを示す。
【００１５】
【図６】本開示において示され説明される１つ以上の実施形態による、１つ以上のロボット作動制約を確立する方法を示すフローチャートを示す。
【発明を実施するための形態】
【００１６】
詳細な説明
概して図面を参照すると、本開示で説明する実施形態は、リモート制御可能なロボットのためのロボット作動制約を提供する方法およびシステムを対象とする。実施形態により、ロボットの主なユーザ（例えば、ロボットの所有者、ロボットの登録ユーザ、など）が、ロボットの作動に関する１つ以上のロボット作動制約を設定することが可能になる。したがって、セカンダリユーザがロボットを操作するとき（例えば、所有者以外のユーザ、リモートユーザ、など）、ロボットは、ロボットが実行できるすべてのロボット動作のサブセットのみを実行してもよく、ロボットが置かれている作動環境の一部内でのみ作動してもよい。非限定的で例示的な例として、プライマリユーザは、ロボットに洗濯物折りたたみタスクを実行させたいが、洗濯物折りたたみタスク中にロボットを制御したくない場合がある。したがって、プライマリユーザは、セカンダリユーザがロボットを制御し、例えば支払いのために洗濯物を折りたたむタスクを実行するように要求してもよい。しかしながら、プライマリユーザは、セカンダリユーザが洗濯物折りたたみタスクを実行することを希望するけれども、セカンダリユーザがロボットを作動環境の特定の領域（例えば、プライマリユーザの家）内に移動させること、および／または、セカンダリユーザがロボットを操作しているときにロボットに特定のロボット動作を実行させること、を希望しない場合がある。したがって、セカンダリユーザがロボットに実行するよう指示し得るロボット動作を制限し得るように、かつ、セカンダリユーザがロボットに進入するよう指示し得る場所を制限し得るように、プライマリユーザは、本開示で説明する実施形態を使用して、１つ以上のロボット作動制約を生成してもよい。本開示では、リモート制御可能なロボットのためのロボット作動制約を提供する方法およびシステムのさまざまな実施形態を、添付図面を具体的に参照して、説明する。
【００１７】
ここで図１を参照すると、ロボット制御システム１００が示されておりプライマリユーザ１１６’（例えば、登録ユーザ、ロボット所有者、など）またはセカンダリユーザ１１６”（例えば、所有者以外のユーザ、リモートユーザ、など）のようなユーザ１１６は、例えば、１つ以上のロボット制御命令を１つ以上のヒューマン−ロボットインターフェース装置（ＨＲＩｓ）１４０を介してロボット１２０に提供することにより、ロボット１２０を制御してもよい。図１に示されるように、ロボット１２０は、作動環境１６０内に位置してもよい。ユーザ１１６は、作動環境１６０内にいてもよく、またはロボット１２０と作動環境１６０の両方から離れていてもよい。ロボット制御システム１００は、サーバントロボットアプリケーション（すなわち、ロボットが日常のタスクで人々を支援するアプリケーション）の文脈で説明されるが、実施形態はそれに限定されないことに留意されたい。
【００１８】
ロボット制御システム１００は、本開示では主にロボット１２０のユーザ制御作動に関連して説明されているが、いくつかの実施形態では、ロボット１２０は自律作動機能を備えてもよい。例えば、ロボット１２０は、自律モードと制御モード（例えば、ロボット１２０がユーザ１１６によって完全にまたは部分的に制御されるモード）の両方で作動することができる。例えば、洗濯物折りたたみタスク中、ロボット１２０は自律モードで作動して、作動環境１６０内の現在の場所から洗濯物の場所まで移動してもよい。洗濯機に着くと、ロボット１２０は、自律モードから制御モードに切り替わってもよく、その後、ユーザ１１６から受信した命令に応じて洗濯物折りたたみタスクを実行してもよい。
【００１９】
図示されたロボット１２０は、ヘッド部分１２４、１つ以上のアーム１２６、１つ以上のマニピュレータハンド１２２、および移動ベース１２７を含む。本開示で説明される実施形態が図１に示されるロボット１２０の構成によって限定されないこと、および、ロボット１２０が任意の形状およびサイズのものであってもよいことを理解されたい。ロボット１２０は、１つ以上のＨＲＩ１４０と無線信号を送受信するロボット無線通信モジュール（例えば、図２のネットワークインターフェースハードウェア１１２）を含む。このようにして、ロボット１２０は、１つ以上のＨＲＩ１４０と無線通信する。ロボット１２０は、ビデオ信号、位置信号、電力レベル信号、健康信号などの様々な信号をＨＲＩ１４０に送信してもよい。ＨＲＩ１４０は、ロボット動作パターンに対応する制御信号、自律ナビゲーション開始信号（例えば、地点Ａへの移動指示）、リモート制御信号（例えば、手動制御信号）などの様々な信号をロボット１２０に送信してもよい。
【００２０】
図１に示されるように、ロボット１２０は、ロボット１２０が空間、例えば作動環境１６０、内をナビゲートする際に見るものを視覚的に捕捉してもよい１つ以上のカメラ１２５（または他の視覚センサ）を備える。図示された実施形態では、１つ以上のカメラ１２５がロボット１２０のヘッド部分１２４に配置されている。１つ以上のカメラ１２５をロボット１２０の他の領域に配置してもよいことを理解されたい。作動中、１つ以上のカメラ１２５によって生成された画像は、画像がＨＲＩ１４０によって受信されるように、通信パス１０４を介してＨＲＩ１４０に無線で送信されてもよい。したがって、図１に示されるように、ＨＲＩ１４０は、ディスプレイインターフェース１４２上に、ロボット１２０の１つ以上のカメラ１２５によって生成された画像を表示してもよい。
【００２１】
特に、ＨＲＩ１４０は、ディスプレイインターフェース１４２上に作動環境１６０の視覚的表現を表示してもよい。いくつかの実施形態では、ＨＲＩ１４０は仮想現実ユニットを備えてもよく、作動環境１６０の視覚的表現を、作動環境１６０の仮想現実を描写するために拡張してもよい。いくつかの実施形態では、例えば、セカンダリユーザ１１６”がロボット１２０を制御しているときに、ディスプレイインターフェース１４２は、作動環境１６０の拡張視覚的表現を表示して、作動環境１６０内で仮想ゲームを生成してもよい。したがって、セカンダリユーザ１１６”は、ロボット１２０を制御し仮想ゲームの一部として１つ以上のタスクを実行することに対し、インセンティブが与えられてもよい。さらに、いくつかの実施形態では、セカンダリユーザ１１６”がロボット１２０を制御しているときに、ディスプレイインターフェース１４２は、作動環境１６０の視覚的表現の少なくとも一部を歪ませる作動環境１６０の拡張視覚的表現を表示してもよい。図１に示す例では、作動環境１６０は画像フレーム１６５を含み、いくつかの実施形態では、プライマリユーザ１１６’は、セカンダリユーザ１１６”に画像フレーム１６５内の内容を見てほしくない場合があり、画像フレーム１６５内の画像を歪ませまたは遮るためにロボット制御システム１００を設定してもよい。
【００２２】
いくつかの実施形態では、１つ以上のカメラ１２５は、少なくとも２つのビデオカメラ１２５であって、ロボットが３次元空間で作動し得るようにビデオカメラ１２５が深度情報を含むステレオ２次元画像を生成するように横方向に分離された少なくとも２つのビデオカメラ１２５を含む。例えば、ロボット１２０は、少なくとも２つのカメラ１２５によって生成されたステレオ画像を参照して、ターゲットオブジェクト１６２がロボット１２０からどれだけ離れているかを判定してもよい。さらに、ロボット１２０は、作動環境１６０内をナビゲートすることと、ターゲットオブジェクト１６２などの作動環境１６０内のオブジェクト１６０を操作することとの両方のために、ナビゲーションアルゴリズムを利用して、ステレオ２次元画像を用いてＸ、Ｙ、およびＺ座標を決定してもよい。
【００２３】
引き続き図１を参照すると、ロボット１２０の各アーム１２６は、アーム１２６の一端でロボット１２０のロボットボディ１２１に連結され、アーム１２６の他端で個別のマニピュレータハンド１２２に連結される。実施形態は、１つ以上のアーム１２６を有してもよい。アーム１２６およびマニピュレータハンド１２２によって提供される自由度は、制御されるロボット１２０のタイプに依存してもよい。一例として、マニピュレータハンド１２２は、人間の手と同様の方法でオブジェクト（例えば、ターゲットオブジェクト１６２）を把持し得るように、多指マニピュレータであってよい。アーム１２６およびマニピュレータハンド１２２の動作は、例えばサーボモータなどの複数のアクチュエータによって実現されてもよい。以下にさらに詳細に説明するように、アクチュエータは、ＨＲＩ１４０から受信される信号を介して制御されてもよい。
【００２４】
さらに、移動ベース１２７は、ロボット１２０を空間全体（例えば、作動環境１６０全体）に移動させるように構成される。移動ベース１２７は、ＨＲＩ１４０から受信した指示に従って、ロボット１２０を様々な場所へおよび様々な場所から輸送するのに駆動される１つ以上の車輪を備えてもよい。車輪は、例えば電気モータによって駆動されてもよい。例えば、連続トラックまたは可動レッグなど、移動のための他の手段を利用してもよい。ロボット１２０は、ＨＲＩ１４０から指示を受信して、点Ａから点Ｂへ自律的に進行してもよい。次いで、ロボットのプロセッサ（例えば、図２のプロセッサ１０２）は、移動ベース１２７の構成要素に並進または回転するように指示しそれによりロボット１２０がポイントＡからポイントＢに移動するようにしてもよい。
【００２５】
引き続き図１を参照すると、各ＨＲＩ１４０は、コンピューティングデバイスであって、ユーザ１１６（例えば、登録ユーザまたはリモートユーザ）がサーバントロボットなどのロボット１２０を無線制御するよう作動させてもよい１つ以上のロボット制御プログラムを有するコンピューティングデバイスとして構成されてもよい。１つ以上のＨＲＩ１４０は、ロボット１２０が見ているものの画像を表示することが可能なディスプレイインターフェース１４２と、ユーザ１１６から制御命令を受信するための１つ以上のユーザ入力ハードウェア１４４と、を有する任意のデバイスであってよい。１つ以上のＨＲＩ１４０は、仮想現実ユニット、デスクトップコンピュータ、ラップトップコンピュータ、ネットブック、スマートフォン、メディアプレーヤ、専用ハードウェアなどであってよい。
【００２６】
ここで図２を参照すると、ロボット制御システム１００の１つ以上の電気および通信コンポーネントが概略的に示されている。図２ではロボット制御システム１００の電気および通信コンポーネントが分離して描かれているけれども、電気および通信コンポーネントはＨＲＩ１４０、ロボット１２０、またはその両方に含まれてもよいことに留意されたい。図２に示されるように、ロボット制御システム１００は、１つ以上のプロセッサ１０２を含む。１つ以上のプロセッサ１０２のそれぞれは、機械可読命令を実行することが可能な任意のデバイスであってよい。図２は、ロボット１２０のコンポーネントとして１つ以上のプロセッサ１０２を示しているが、各ＨＲＩ１４０およびロボット１２０は、１つ以上のプロセッサ１０２を備えていてもよい。１つ以上のプロセッサ１０２のそれぞれは、コントローラ、集積回路、マイクロチップ、コンピュータ、または他の任意のコンピューティングデバイスであってよい。
【００２７】
１つ以上のプロセッサ１０２は、ロボット制御システム１００の様々なモジュール間（例えば、図１に示すロボット１２０とＨＲＩ１４０との間）の信号相互接続性を提供する通信パス１０４に結合される。したがって、通信パス１０４は、任意の数のプロセッサ１０２を互いに通信可能に結合して（例えば、ロボット１２０およびＨＲＩ１４０のプロセッサ１０２）、ロボット１２０およびＨＲＩ１４０が分散コンピューティング環境で作動できるようにしてもよい。本開示で使用される「通信可能に結合」という用語は、結合されたコンポーネントが、例えば、伝導媒体を介した電気信号、空気を介した電磁信号、光導波路を介した光信号などのデータ信号を交換できることを意味する。
【００２８】
通信パス１０４は、例えば、導電性ワイヤ、導電性トレース、光導波路などの、信号を送信可能な任意の媒体から形成されてもよい。いくつかの実施形態では、通信パス１０４は、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの無線信号の送信を促進してもよい。さらに、通信パス１０４は、信号を送信可能な媒体の組み合わせから形成されてもよい。一実施形態では、通信パス１０４は、プロセッサ、メモリ、センサ、入力デバイス、出力デバイス、および通信デバイスなどのコンポーネントに電気データ信号を送信可能にするために協働する、導電性トレース、導電性ワイヤ、コネクタ、およびバスの組み合わせを含む。したがって、通信パス１０４は、例えばＬＩＮバス、ＣＡＮバス、ＶＡＮバスなどのビークルバスを含んでもよい。さらに、「信号」という用語は、媒体を介して進行可能な波形（電気、光学、磁気、機械、または電磁など）、例えば、ＤＣ、ＡＣ、正弦波、三角波、方形波、振動など、を意味することに注意されたい。
【００２９】
さらに、ロボット制御システム１００は、通信パス１０４に結合された１つ以上のメモリモジュールを備える。図２は１つ以上のメモリモジュール１０６をロボット１２０のコンポーネントとして示しているけれども、各ＵＲＩ１４０およびロボット１２０が１つ以上のメモリモジュール１０６を備えてもよい。１つ以上のメモリモジュール１０６は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ハードドライブなどを備えてもよい。例えば、１つ以上のメモリモジュール１０６は、揮発性および／または不揮発性メモリとして構成されてもよく、したがって、ランダムアクセスメモリ（ＳＲＡＭ、ＤＲＡＭ、および／または他のタイプのランダムアクセスメモリを含む）、フラッシュメモリ、レジスタ、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、および／または他のタイプのストレージコンポーネントを含んでもよい。さらに、１つ以上のメモリモジュール１０６は、明確に具現化された一連の実行可能命令（すなわち、機械可読命令）を保存するように構成され、実施可能命令は、ロボット１２０の１つ以上のプロセッサ１０２および／またはＵＲＩ１４０に指示して、本開示に説明される機能を実行するように構成される。一連の実行可能命令（例えば、ロボット制御命令）は、例えばデスクトップコンピュータまたはスマートフォンなどのコンピュータデバイス内に保存された１つ以上のロボット制御プログラムとして具現化されてもよい。
【００３０】
機械可読命令は、あらゆる世代のあらゆるプログラミング言語（例えば、１ＧＬ、２ＧＬ、３ＧＬ、４ＧＬ、または５ＧＬ）で記述されたロジックまたはアルゴリズム（単数又は複数）を含んでもよく、当該プログラミング言語は、例えば、プロセッサによって直接実行されてもよい機械言語、または、機械可読命令にコンパイルもしくはアセンブルされて１つ以上のメモリモジュール１０６に保存されてもよいアセンブリ言語、オブジェクト指向プログラミング（ＯＯＰ）、スクリプト言語、マイクロコードなど、である。代替的には、機械可読命令は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）構成または特定用途向け集積回路（ＡＳＩＣ）またはそれらの均等物を介して実装されるロジックなどの、ハードウェア記述言語（ＨＤＬ）で記述されてもよい。したがって、本開示で説明される方法は、事前にプログラムされたハードウェア要素として、またはハードウェアコンポーネントとソフトウェアコンポーネントの組み合わせとして、任意の従来のコンピュータプログラミング言語で実装されてもよい。
【００３１】
ロボット制御システム１００は、通信パス１０４に結合された１つ以上の衛星アンテナ１０８をさらに備えてもよい。図２では、１つ以上の衛星アンテナ１０８がロボット１２０の構成要素として示されているけれども、各ＨＲＩ１４０およびロボット１２０が１つ以上の衛星アンテナ１０８を備えてもよい。１つ以上の衛星アンテナ１０８は、全地球測位システム衛星から信号を受信するように構成される。具体的には、一実施形態では、衛星アンテナ１０８は、全地球測位システム衛星によって送信される電磁信号と相互作用する１つ以上の導電性要素を含む。受信信号は、１つ以上のプロセッサ１０２により、衛星アンテナ１０８または衛星アンテナ１０８の近くに位置する物体の位置（例えば、緯度および経度）を示すデータ信号に変換される。いくつかの実施形態では、衛星アンテナ１０８は、ロボット１２０に配置されてもよく、例えば、作動環境１６０内におけるロボット１２０の特定の位置に関する情報などの、ロボット１２０の位置情報を決定してもよい。
【００３２】
引き続き図２を参照すると、いくつかの実施形態では、ＨＲＩ１４０、ロボット１２０、および他の外部デバイス（リモートサーバなど）は、ネットワーク１１４によって通信可能に結合されてもよい。ネットワーク１１４は、１つ以上のコンピュータネットワーク（例えば、パーソナルエリアネットワーク、ローカルエリアネットワーク、またはワイドエリアネットワーク）、モバイル通信ネットワーク、衛星ネットワーク、および／または全地球測位システムおよびそれらの組み合わせを含んでもよい。適切なローカルエリアネットワークは、有線イーサネット（登録商標）および／または、例えばワイヤレスフィデリティ（Ｗｉ−Ｆｉ）などの無線技術を含んでもよい。適切なパーソナルエリアネットワークは、例えば、ＩｒＤＡ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ワイヤレスＵＳＢ、Ｚウェーブ、ＺｉｇＢｅｅ、および／または他の近距離通信プロトコルなどのワイヤレス技術を含んでもよい。適切なパーソナルエリアネットワークは、同様に、例えばＵＳＢおよびＦｉｒｅＷｉｒｅなどの有線コンピュータバスを含んでもよい。適切なモバイル通信ネットワークは、ＬＴＥ、ＷｉＭＡＸ、ＵＭＴＳ、ＣＤＭＡ、ＧＳＭ（登録商標）などの技術を含むけれども、これらに限定されない。
【００３３】
さらに、各ＨＲＩ１４０、ロボット１２０、および他の外部デバイス（リモートサーバなど）は、有線、広域ネットワーク、ローカルエリアネットワーク、パーソナルエリアネットワーク、セルラネットワーク、衛星ネットワークなど、を介してネットワーク１１４に通信可能に結合されてもよい。例えば、ロボット１２０および各ＨＲＩ１４０は、ロボット１２０および／またはＨＲＩ１４０をネットワーク１１４に通信可能に結合しそれによりロボット１２０と各ＨＲＩ１４０との間に通信結合を提供するためのネットワークインターフェースハードウェア１１２を備えてもよい。図２は、ネットワークインターフェースハードウェア１１２をロボット１２０のコンポーネントとして示しているが、各ＨＲＩ１４０およびロボット１２０がネットワークインターフェースハードウェア１１２を備えていてもよい。ネットワークインターフェースハードウェア１１２を、通信パス１０４に通信可能に結合することができ、ネットワーク１１４を介してデータを送信および／または受信することができる任意のデバイスとすることができる。したがって、ネットワークインターフェースハードウェア１１２は、有線または無線通信を送信および／または受信するための通信トランシーバを含むことができる。例えば、ネットワークインターフェースハードウェア１１２は、アンテナ、モデム、ＬＡＮポート、Ｗｉ−Ｆｉカード、ＷｉＭａｘカード、モバイル通信ハードウェア、近距離通信ハードウェア、衛星通信ハードウェア、および／または、他のネットワークおよび／もしくはデバイスと通信するための有線もしくは無線ハードウェアを含んでもよい。一実施形態において、ネットワークインターフェースハードウェア１１２は、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線通信プロトコルに従って作動するように構成されたハードウェア、例えば、ロボット１２０およびＨＲＩ１４０に対しＢｌｕｅｔｏｏｔｈ（登録商標）通信を送受信するＢｌｕｅｔｏｏｔｈ（登録商標）送受信モジュールを含む。
【００３４】
引き続き図２を参照すると、ロボット制御システム１００は、通信パス１０４に通信可能に結合された１つ以上のフィードバックデバイス１１８をさらに備えてもよい。図２は、１つ以上のフィードバックデバイス１１８をロボット１２０の構成要素として示しているが、各ＨＲＩ１４０およびロボット１２０が１つ以上のフィードバックデバイス１１８を備えていてもよい。１つ以上のフィードバックデバイス１１８は、スピーカ、触覚フィードバックデバイスなどを備えてもよい。スピーカを含む実施形態は、ロボット制御システム１００からのデータ信号を可聴機械振動に変換し、触覚フィードバックデバイスを含む実施形態は、振動デバイス（触覚フィードバックが振動を介して送達される実施形態など）、送風デバイス（触覚フィードバックが空気のパフないしひと吹きを介して送達される実施形態など）、または圧力発生デバイス（触覚フィードバックが発生された圧力を介して送達される実施形態など）を含んでもよい。いくつかの実施形態では、ロボット制御システム１００がユーザ１１６にフィードバックを提供し得るように、１つ以上のフィードバックデバイス１１８は各ＨＲＩ１４０の一部であってもよい。
【００３５】
ここで図１および図２を参照すると、ロボット制御システム１００のディスプレイインターフェース１４２、例えば、各ＨＲＩ１４０のディスプレイインターフェース１４２は、任意のディスプレイデバイスとして構成されてもよく、液晶ディスプレイ、プラズマディスプレイ、ブラウン管、電子インクなどの任意のディスプレイ技術を組み込んでもよい。ディスプレイインターフェース１４２は、通信パス１０４に結合されて、ディスプレイインターフェース１４２をロボット制御システム１００の他の構成要素、例えばロボット１２０およびロボット１２０の１つ以上のカメラ１２５に通信可能に結合する。作動中、ディスプレイインターフェース１４２は、ロボット１２０が見ているものの二次元画像を表示してもよい。図示の実施形態では、ディスプレイインターフェース１４２は、ユーザがディスプレイインターフェース１４２に触れることによりＨＲＩ１４０にコマンドを入力できるように、タッチスクリーンとして構成される。
【００３６】
ロボット制御システム１００、例えば各ＨＲＩ１４０はユーザ入力ハードウェア１４４をさらに備え、ユーザ入力ハードウェア１４４は、ユーザ入力ハードウェア１４４がロボット１２０などのロボット制御システム１００の他のコンポーネントに通信可能に結合されるように、通信パス１０４に通信可能に結合される。ユーザ入力ハードウェア１４４は、機械的、光学的、または電気的な信号を、通信パス１０４で送信可能なデータ信号に変換することができる任意のデバイスであってよい。具体的には、ユーザ入力ハードウェア１４４は、例えば、ボタン、スイッチ、ノブ、マイクロフォン、またはキーボード、マウス、ジョイスティックなどの、物理的運動を通信パス１０４により送信可能なデータ信号に変換する任意の数の可動オブジェクトを含んでもよい。これらの他のユーザ入力ハードウェア１４４を、タッチスクリーンディスプレイインターフェース１４２とともに、またはその代わりに、使用してもよい。さらに、いくつかの実施形態では、ユーザ入力ハードウェア１４４は、１つ以上のモーショントラッキングセンサを含んでもよく、モーション制御センサを保持もしくは装着している間またはモーション制御センサが他のやり方でユーザ１１６に固定されている間、ユーザ１１６が所望のロボット動作を実行することを制御命令が含んでもよいように、ユーザ１１６は１つ以上のモーショントラッキングセンサを保持および／または装着してもよい。
【００３７】
ここで図１〜４を参照すると、ロボット制御システム１００は、１つ以上のメモリモジュール１０６、例えばロボット１２０、ＨＲＩ１４０、またはその両方のメモリモジュール１０６、に保存される１つ以上のデータベースとして構成されるロボット作動ライブラリ１０５をさらに備える。ロボット作動ライブラリ１０５は、ロボット１２０の作動に関する様々な情報、例えば、図３に示されるような第１のロボット動作１３６および第２のロボット動作１３８など、ロボット１２０が実行するように構成される１つ以上のロボット動作に関する情報、および、一例が図４に詳細に示されるロボット１２０の作動環境１６０に関する情報を備えてもよい。さらに、ロボット作動ライブラリ１０５は、１つ以上のロボット作動制約に関する情報を備える。
【００３８】
ロボット作動制約は、ロボット１２０がセカンダリユーザ１１６”からロボット制御命令を受信するときのロボット１２０の作動に対する制限を含む。言い換えれば、ロボット作動制約は、セカンダリユーザ１１６”がロボット１２０を制御しているときにロボット１２０の特定の作動を制限する、例えば、阻止する、一連の規則を指す。さらに、ロボット作動制約は、一般的なロボット作動制約および／またはタスク固有のロボット作動制約を含んでもよい。本開示で使用される「一般的なロボット作動制約」は、セカンダリユーザ１１６”が任意のタスク中にロボット１２０を制御しているときにロボット１２０の作動を制限する、ロボット作動ライブラリ１０５に保存された一連の規則を指す。１つ以上のタスク固有ロボット作動制約は、リモートユーザが特定の各タスク中にロボット１２０を制御しているときにロボット１２０の作動を制限する、ロボット作動ライブラリ１０５に保存された一連の規則を含む。さらに、ロボット作動制約は、セカンダリユーザ１１６”がロボット１２０を作動し得る日時に関する制約を含んでもよい。
【００３９】
作動中、プライマリユーザ１１６’は、例えばＨＲＩ１４０を使用して、１つ以上のロボット作動制約を設定してもよい。いくつかの実施形態では、プライマリユーザ１１６’は、事前にプログラムされたセットのロボット作動制約からロボット作動制約を選択してもよい。他の実施形態では、ロボット制御システム１００は、例えば、図６に関して以下に説明するように、ロボット１２０がトレーニングモードにあるときに、ロボット１２０が受信したプライマリユーザ１１６’による制御命令に基づいて、ロボット作動制約を生成してもよい。したがって、プライマリユーザ１１６’は、セカンダリユーザ１１６”が実行するようにロボットに指示し得るロボット動作を制限してもよく、リモートユーザがロボット１２０に進入するように指示し得る場所を制限してもよく、セカンダリユーザ１１６がロボット１２０を作動させ得る日時を制御して、例えば、特定の日付および／または時間中にロボット作動の一部またはすべてを制限してもよい。
【００４０】
上述のように、ロボット作動ライブラリ１０５は、例えば、ユーザ１１６（例えば、ユーザ１１６’またはセカンダリユーザ１１６”）からロボット１２０が例えば無線でまたはＨＲＩ１４０を介して受信したロボット制御命令の受信に応じて、ロボット１２０が実行するように構成された様々なロボット動作に関する情報を含む。ロボット制御命令は、ロボット１２０に、ロボット動作パターンに従う少なくとも１つのロボット動作を実行するよう指示する。具体的には、ロボット制御命令は、例えばロボット１２０のさまざまなアクチュエータを使用して、ロボット１２０がロボット動作パターンに沿って、移動ベース１２７、１つ以上のアーム１２６、および／または１つ以上のマニピュレータハンド１２２を動かすロボット１２０のための命令（例えば、制御信号）を含んでもよい。いくつかの実施形態では、ロボット動作パターンは、作動環境１６０内の位置間を移動するためのロボット１２０の移動経路を含む（例えば、移動ベース１２７を使用して）。いくつかの実施形態では、ロボット動作パターンは、アーム１２６および／もしくはマニピュレータハンド１２２またはロボット１２０の他の付属物の動作パターンを含み、これは、例えば、洗濯物を折りたたむ、皿を洗うなどの所望のタスクに従って、ターゲットオブジェクト１６２を把持し移動させるためのパターンを含んでもよい。
【００４１】
作動中、セカンダリユーザ１１６”がロボット１２０を作動させているときに、ロボット作動制約が、特定のロボットの動作を制限してもよい。例えば、図３に示されるように、ロボット作動制約は、ロボット１２０が実行可能なそれぞれの動作を、認可ロボット動作１７２または制約ロボット動作１７３のいずれかとして設定してもよい。ロボット動作が認可ロボット動作１７２を含み、セカンダリユーザ１１６”がロボット１２０にロボット動作を実行するように指示すると、ロボット１２０はロボット動作を実行する。さらに、ロボット動作が制約ロボット動作１７３を含み、セカンダリユーザ１１６”がロボット１２０にロボット動作を実行するように指示すると、ロボット１２０はロボット動作を実行しない。いくつかの実施形態では、ロボット１２０が実行可能な任意の動作であって、認可ロボット動作１７２または制約ロボット動作１７３としてプライマリユーザ１１６’により特定されていない動作が認可ロボット動作１７２にデフォルト設定されるように、認可ロボット動作１７２はデフォルトのロボット作動制約設定である。他の実施形態では、ロボット１２０が実行可能な任意の動作であって、認可ロボット動作１７２または制約ロボット動作１７３としてプライマリユーザ１１６’によって特定されていない動作が制約ロボット動作１７３にデフォルト設定されるように、制約ロボット動作１７３はデフォルトのロボット作動制約設定である。
【００４２】
ここで図３を参照すると、第１のアーム位置１３０と、第２のアーム位置１３２と、第３のアーム位置１３４との間でそれぞれ移動可能な第１のアーム１２６ａと第２のアーム１２６ｂとを備える例示的なロボット１２０が示されている。第１のアーム１２６ａおよび第２アーム１２６ｂの両方は、アーム１２６（第１のアーム１２６ａ、第２のアーム１２６ｂ、または両方）を第１のアーム位置１３０から第２のアーム位置１３２に移動させることを備える第１のロボット動作１３６を実行するように構成される。ポジション１３２。さらに、第１のアームおよび第２のアーム１２６ｂの両方は、アーム１２６（第１のアーム１２６ａ、第２のアーム１２６ｂ、または両方）を第２のアーム位置１３２から第３のアーム位置１３４に移動させることを備える第２のロボット動作を実行するように構成される。図３に示す実施形態では、第１のロボット動作１３６は認可ロボット動作１７２を備え、第２のロボット動作１３８は制約ロボット動作１７３を備える。さらに、図３に示されるロボット作動制約は、タスクに関係なく、セカンダリユーザ１１６”が第２のロボット動作１２８を実行するのが制約される（例えば、阻止される）ように、一般的なロボット作動制約を備えてもよく、代替的に、タスク固有のロボット作動制約に関連付けられたタスクのサブセットの間だけ、第２のロボット動作１３８が制約ロボット動作１７３であるように、サブセットタスク（１つ以上のタスクであってよい）に関連するタスク固有のロボット作動制約を備えてもよい。
【００４３】
上述のように、ロボット作動ライブラリ１０５は、ロボット１２０が位置する作動環境１６０に関する情報であって、作動環境１６０に位置する１つ以上のターゲットオブジェクト１６２に関する情報を含む情報も含む。図４に示されるように、ロボット１２０が位置する建物を含む例示的な作動環境１６０が示されている。例示的な作動環境１６０は、複数の部屋、例えば、第１の部屋１６４（ロボット１２０とターゲットオブジェクト１６２の両方が位置する）と、第２の部屋１６６、第３の部屋１６８、および廊下１６９のそれぞれを備える。セカンダリユーザ１１６”がロボット１２０を作動させているときに、ロボット作動制約は、作動環境１６０内でロボット１２０が位置し得る場所（例えば、セカンダリユーザ１１６”がロボット１２０に進入するように指示してもよい場所）を制限してもよい。例えば、ロボット作動制約は、作動環境１６０の領域（例えば、作動環境１６０の部屋または他の空間部分）を認可領域１７０または制約領域１７１として設定してもよい。
【００４４】
作動中、作動環境１６０内の領域（例えば部屋）が認可領域１７０を備え、セカンダリユーザ１１６”がロボット１２０に認可領域１７０内に移動するよう指示すると、ロボット１２０は認可領域１７０に進入する。さらに、作動環境１６０内の領域（例えば、部屋）が制約領域１７１を備え、セカンダリユーザ１１６”がロボット１２０に制約領域１７１内に移動するよう指示すると、ロボット１２０は制約領域１７１に進入しない。さらに、図４に示す例示的な作動環境では、第１の部屋１６４は、認可領域１７０であり、第２の部屋１６６、第３の部屋１６８、および廊下１６９のそれぞれは、制約領域１７１である。したがって、セカンダリユーザ１１６”がロボット１２０に、第１の部屋１６４から第２の部屋１６６に移動するように指示すると、ロボット作動制約により、そのロボット動作が阻止される。
【００４５】
いくつかの実施形態では、認可領域１７０または制約領域１７１としてプライマリユーザ１１６’により指定されていない作動環境１６０の任意の領域が認可領域１７０にデフォルト設定されるように、認可領域１７０がデフォルトのロボット作動制約設定である。他の実施形態では、認可領域１７０または制約領域１７１としてプライマリユーザ１１６’により指定されていない作動環境１６０の任意の領域が制約領域１７１にデフォルト設定されるように、制約領域１７１がデフォルトのロボット作動制約設定である。さらに、いくつかの実施形態では、制約領域１７１は、例えば引き出し、キャビネットなどの家具内の場所を備えてもよい。これらの実施形態では、ロボット作動制約は、セカンダリユーザ１１６”がロボット１２０に、制約領域１７１として設定された引き出し、キャビネットなどを開けるように指示するのを阻止してもよい。
【００４６】
さらに、いくつかの実施形態では、個々のロボット作動制約を、決定論的または確率論的にロボット１２０の作動に適用することができる。例示的な決定論的ロボット作動制約は、セカンダリユーザ１１６”によって制約領域１７１に進入するよう指示されたときにロボット１２０が制約領域１７１に進入するのを常に阻止するロボット作動制約を含む。さらに、例示的な確率的ロボット作動制約は、タスク（例えば、洗濯物を折りたたむ）を実行するときにセカンダリユーザ１１６”が多数のやり方でロボット１２０を作動させることを可能にし、特定のタスク（例えば、衣服の折りたたみに似ていないロボットの動作）に似ていない確率が高いロボット動作のみを阻止するロボット作動制約を含む。さらに、いくつかの実施形態では、ロボット１２０が自律モードにあるとき、ロボット作動制約は適用されない。一例として、ロボット１２０のバッテリーが低ければ、充電ステーションが作動環境１６０の制約領域１７１内に位置していても、ロボット１２０は自律モードに入り、充電ステーションまで自律的に移動してもよい。
【００４７】
引き続き図１から図４を参照すると、ロボット１２０（例えば、ロボット１２０の１つ以上のメモリモジュール１０６）は、障害物および他の禁止区域（例えば、１つ以上の制約領域１７１）を含む作動環境１６０のレイアウトをロボット１２０が認識するように、作動環境１６０のフロアプランまたは他のマップ情報でもってあらかじめプログラムされてもよい。さらに、ロボット１２０はまた、例えばロボット１２０が障害物との接触を回避し得るように、例えばＩＲ障害物回避センサなどの障害物回避センサを装備してもよい。例えば、いくつかの実施形態では、ユーザ１１６から受け取ったロボット制御命令がロボット１２０に１つ以上の障害物と接触するよう指示したときに、ロボット１２０は、ユーザが提供したロボット制御命令をオーバライドまたは無視して、障害物との接触を回避してもよい（例えば、１つ以上のロボット作動制約は、ロボット１２０と作動環境に位置する障害物との接触を阻止してもよい）。さらに、いくつかの実施形態では、ユーザ１１６が作動環境１６０内の位置に移動するようにロボット１２０に指示したときに、ロボット１２０（例えば、ロボット１２０の１つ以上のプロセッサ１０２）は、迅速探索式ランダムツリールート計画アルゴリズムを備えるルート計画アルゴリズムを利用して、作動環境１６０内に存在し得る障害物を回避しながら、ナビゲーションルートを効率的に計画してもよい。空間内にサンプルを生成して、当該サンプルをツリーの最も近いサンプルに接続することにより、空間の表現内でツリーを構築してもよい。ロボットナビゲーションルートを、ポイントＡとポイントＢとの間の最適なパスに基づいて選択してもよい。
【００４８】
ここで図２および図４を参照すると、いくつかの実施形態では、ロボット制御システム１００は、外部ロボット制御デバイス１９０をさらに備える。外部ロボット制御デバイス１９０は、ロボット１２０に通信可能に結合されてもよく、例えば、セカンダリユーザ１１６”が制約作動（例えば、制約ロボット動作１７３を実行する、制約領域１７１に進入する、など）を実行するようにロボット１２０に指示したときにロボット１２０にオーバライド作動信号を出力するように構成されてもよい。例えば、外部ロボット制御デバイス１９０は、例えば、ＩｒＤＡ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ワイヤレスＵＳＢ、Ｚ波、ＺｉｇＢｅｅ、および／または他の近距離通信プロトコルなどのパーソナルエリアネットワークを介してロボット１２０に通信可能に結合されてもよい。さらに、外部ロボット制御デバイス１９０は、いくつかの実施形態では、外部ロボット制御デバイス１９０を各ＦＩＲＩ１４０から通信可能に分離するために各ＵＲＩ１４０に通信可能に結合されなくてもよい。したがって、セカンダリユーザ１１６”がロボット作動制約によりロボット１２０の作動に課せられた制約を回避する状況では、外部ロボット制御デバイス１９０、はロボット作動制約を実装してもよく、いくつかの実施形態ではロボット１２０、および／または、ロボット１２０と各ＨＲＩ１４０もしくは少なくともセカンダリユーザ１１６”によって作動される各ＵＲＩ１４０との間のサーバ通信をシャットダウンしてもよい。
【００４９】
ここで図５を参照して、図５のフローチャート１０を具体的に参照するとともに他の図を一般的に参照しながら、ロボット１２０の作動を制約する方法を説明する。フローチャート１０は、複数の方法ステップを示しており、これらステップは、特定の連続的な順序で説明されているが、その連続的な順序に限定されない。まず、ステップ１２において、ロボット１２０の作動を制約する方法は、例えば、ロボット１２０のネットワークインターフェースハードウェア１１２を使用して、ユーザ１１６から１つ以上のロボット制御命令を受信することを含む。ロボット制御命令は、ロボット１２０が少なくとも１つのロボット動作を実行するための命令を含む。次に、ステップ１４において、本方法は、１つ以上のロボット制御命令をロボット１２０に提供するユーザ１１６がプライマリユーザ１１６’であるかセカンダリユーザ１１６”であるかを判定することを含む。例えば、ユーザ１１６は、パスコードまたは他のアイデンティティ検証をＨＲＩ１４０に入力することにより、彼または彼女がプライマリユーザ１１６’であることを検証してもよい。代替的に、ユーザ１１６は、ＨＲＩ１４０への他の入力によって彼または彼女がセカンダリユーザ１１６”であることを示してもよいし、ロボット制御システム１１０は、ユーザ１１６のアイデンティティに関する入力が受信されないときに、ユーザ１１６がセカンダリユーザ１１６”であると判断してもよい。引き続き図５を参照すると、ユーザがプライマリユーザ１１６’であれば、ステップ１６において、ロボット１２０は、１つ以上のロボット制御命令により指示された少なくとも１つのロボット動作を実行する。
【００５０】
代替的に、ユーザ１１６がセカンダリユーザ１１６”であれば、ステップ１８において、本方法は、例えばプロセッサ１０２を使用して、１つ以上のロボット制御命令を１つ以上のロボット作動制約と比較することと、ステップ２０において、少なくとも１つのロボット制御命令が１つ以上のロボット作動制約と競合するかどうかを判断することと、を備える。ロボット制御命令が１つ以上のロボット作動制約と競合するならば、ロボット制御システム１００は、ステップ２２で示されるように、１つ以上のロボット制御命令によって指示されるロボット１２０の作動を制約する（例えば、阻止する）。代替的に、ロボット制御命令が１つ以上のロボット作動制約と競合しなければ、ロボット１２０は、ステップ１６において、１つ以上のロボット制御命令によって指示された少なくとも１つのロボット動作を実行する。いくつかの実施形態では、ステップ２４において、本方法は、ユーザ１１６がセカンダリユーザ１１６”でありかつ１つ以上のロボット制御命令によって指示される少なくとも１つのロボット動作が１つ以上のロボット作動制約と競合するときに、フィードバックデバイス１１８を使用してアラームを生成することをさらに含んでもよい。
【００５１】
ここで図６を参照して、図６のフローチャート３０を具体的に参照するとともに他の図を一般的に参照しながら、ロボット１２０の１つ以上のロボット作動制約を確立する方法を説明する。フローチャート３０は、複数の方法ステップを示しており、これらステップは、特定の連続的な順序で説明されているが、その連続的な順序に限定されない。ステップ３２において、本方法は、例えば、パスコードまたは他のアイデンティティ検証をＨＲＩ１４０に入力することにより、ユーザ１１６がプライマリユーザ１１６’であることを検証することを含む。次に、ステップ３４において、プライマリユーザ１１６’はロボット１２０をトレーニングモードにしてもよい。以下で説明するように、トレーニングモードでは、プライマリユーザ１１６’は、プライマリユーザ１１６’から受信したロボット制御命令に基づいてロボット作動制約を学習してもよい。次に、ステップ３６において、本方法は、例えば、ロボット１２０のネットワークインターフェースハードウェア１１２を使用して、ロボットが複数のロボット動作を実行するように、ユーザ１１６から複数の制御命令を受信することを含み、各個々のロボット動作は個々の制御命令に基づいている。
【００５２】
引き続き図６を参照すると、ステップ３８において、本方法は、複数のロボット動作のそれぞれに関するロボット動作パターン情報を、例えば１つ以上のメモリモジュール１０６に保存することを含む。ロボット動作パターン情報は、作動環境１６０内のロボット１２０の移動経路に関する情報と、アーム１２６および／もしくはマニピュレータハンド１２２またはロボット１２０の他の付属物の動作パターンに関する情報と、を含んでもよい。次に、ステップ４０において、本方法は、プロセッサ１０２を使用して、複数のロボット動作のそれぞれに関するロボット動作パターン情報に基づいて１つ以上のロボット作動制約を確立することを含む。
【００５３】
再び図３および図４を参照すると、ロボット作動制約は、１つ以上の認可ロボット動作１７２、１つ以上の制約ロボット動作１７３、１つ以上の認可領域１７０、および１つ以上の制約領域１７１を含んでもよい。例えば、１つ以上の認可ロボット動作１７２は、トレーニングモード中にロボット１２０によって実行される複数のロボット動作のそれぞれを備えてもよく、１つ以上の制約ロボット動作１７３は、トレーニングモード中にロボット１２０によって実行される複数のロボット動作のそれぞれと異なる１つ以上のロボット動作を備えてもよい。さらに、１つ以上の認可領域１７０は、トレーニングモード中にロボット１２０が配置された作動環境１６０内の位置を備えてもよく、１つ以上の制約領域１７１は、トレーニングモード中にロボット１２０が進入せずおよび／または配置されなかった作動環境１６０内の位置を備えてもよい。
【００５４】
代替的には、いくつかの実施形態では、１つ以上の制約ロボット動作１７３は、トレーニングモード中にロボット１２０によって実行された複数のロボット動作のそれぞれを備えてもよく、１つ以上の認可ロボット動作１７２は、トレーニングモード中にロボット１２０によって実行された複数のロボット動作のそれぞれと異なる１つ以上のロボット動作を備えてもよい。さらに、１つ以上の制約領域１７１は、トレーニングモード中にロボット１２０が配置された作動環境１６０内の位置を備えてもよく、１つ以上の認可領域１７０は、トレーニングモード中にロボット１２０が進入せずおよび／または配置されなかった作動環境１６０内の位置を備えてもよい。
【００５５】
ここで、ロボットのためのロボット作動制約を提供するための方法およびシステムが企図されていることを理解されたい。例えば、セカンダリユーザがロボットを作動させるときに、１つ以上のロボット作動制約と競合する１つ以上のロボット動作をロボットが実行するのを制約するように、プライマリユーザは１つ以上のロボット作動制約を設定してもよい。したがって、プライマリユーザが、セカンダリユーザがロボットに実行するよう指示し得るロボット動作を制約してもよく、セカンダリユーザがロボットに進入するよう指示し得る場所を制約してもよいように、特定の制約のもとで、セカンダリユーザは、ロボットを用いたプライマリユーザのための１つ以上のタスク、例えば支払い、を実行してもよい。そのため、ロボット作動制約は、セカンダリユーザと一緒にロボットを使用して作動環境内で１つ以上のタスクを実行する利点を提供しながら、プライマリユーザの自宅、事業所、またはロボットが配置されている他の場所のセキュリティおよびプライバシーを向上させてもよい。
【００５６】
本開示では特定の実施形態を図示し説明してきたが、特許請求の範囲に記載の主題の真意および範囲から逸脱することなく、他のさまざまな変更および修正を行ってもよいことを理解されたい。さらに、特許請求の範囲に記載の主題の様々な態様を本開示で説明してきたが、そのような態様を組み合わせて利用する必要はない。したがって、添付の特許請求の範囲が、特許請求の範囲に記載の主題の範囲内にあるすべての変更および修正を網羅することを意図している。
［構成１］
ロボットの作動を制約する方法であって、
ロボットのネットワークインターフェースハードウェアを使用して、ユーザから１つ以上のロボット制御命令を受信することであって、前記ロボット制御命令は、少なくとも１つのロボット動作を実行するようロボットに指示する、ロボット制御命令を受信することと、
前記ロボットに前記１つ以上のロボット制御命令を提供する前記ユーザがプライマリユーザかセカンダリユーザかを判断することと、
前記１つ以上のロボット制御命令によって指示された少なくとも１つのロボット動作を１つ以上のロボット作動制約と比較することと、
前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合するかを判断することと、
前記ユーザが前記セカンダリユーザでありかつ前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合するときに、前記ロボットの作動を制約することと、
を含む、方法。
［構成２］
前記１つ以上のロボット作動制約が、１つ以上の認可ロボット動作および１つ以上の制約ロボット動作を含み、
前記少なくとも１つのロボット動作が前記１つ以上の認可ロボット動作のうちの少なくとも１つを含むときに、前記ロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合する、
構成１に記載の方法。
［構成３］
前記ロボットが、１つ以上の認可領域と１つ以上の制約領域とを含む作動環境内に位置しており、
前記１つ以上の制約ロボット動作のうちの少なくとも１つが、前記１つ以上の制約領域のうちの少なくとも１つに進入するロボットを含む、
構成２に記載の方法。
［構成４］
前記ユーザが前記プライマリユーザであることを検証することと、
前記ロボットの前記ネットワークインターフェースハードウェアを使用して、前記ロボットが複数のロボット動作を実行するように、前記プライマリユーザから複数の制御命令を受信することであって、個々のロボット動作それぞれが個々の制御命令に基づいている、制御命令を受信することと、
前記複数のロボット動作のそれぞれに関するロボット動作パターン情報を保存することと、
前記複数のロボット動作のそれぞれに関するロボット動作パターン情報に基づいて、前記１つ以上のロボット作動制約を確立することと、
によって、前記１つ以上のロボット作動制約を確立することをさらに含む、構成１に記載の方法。
［構成５］
前記１つ以上のロボット作動制約が、
前記ロボットが前記プライマリユーザから受信した前記複数の制御命令によって指示された前記複数のロボット動作のそれぞれを含む、１つ以上の認可ロボット動作と、
前記ロボットが前記プライマリユーザから受信した前記複数の制御命令によって指示された前記複数のロボット動作のそれぞれと異なる１つ以上のロボット動作を含む、１つ以上の制約ロボット動作と、
を含む、構成４に記載の方法。
［構成６］
前記１つ以上のロボット作動制約が、
前記ロボットが前記プライマリユーザから受信した前記複数の制御命令により指示された前記複数のロボット動作のそれぞれを含む、１つ以上の制約ロボット動作と、
前記ロボットが前記プライマリユーザから受信した前記複数の制御命令によって指示された前記複数のロボット動作のそれぞれと異なる１つ以上のロボット動作を含む、１つ以上の認可ロボット動作と、
構成４に記載の方法。
［構成７］
前記ユーザが前記セカンダリユーザでありかつ前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合するときに、フィードバックデバイスを使用してアラームを生成することをさらに含む、構成１に記載の方法。
［構成８］
前記ロボットが位置する作動環境の視覚的表現をディスプレイインターフェース上に表示することと、
ユーザがセカンダリユーザであるときに、前記作動環境の前記視覚的表現を拡張して、前記作動環境の前記視覚的表現の少なくとも一部を歪めることと、
をさらに含む、構成１に記載の方法。
［構成９］
前記１つ以上のロボット作動制約が一般的なロボット作動制約を含み、前記一般的なロボット作動制約は、前記ユーザがセカンダリユーザでありかつ前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記一般的なロボット作動制約と競合するときに、前記ロボットが実行するように構成された複数のロボットタスクのそれぞれの間にロボットの作動を制約する、構成１に記載の方法。
［構成１０］
前記１つ以上のロボット作動制約がタスク固有のロボット作動制約を含み、前記タスク固有のロボット作動制約は、前記ユーザがセカンダリでありかつ前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記タスク固有のロボット作動制約と競合するときに、前記ロボットが実行するように構成された複数のロボットタスクのそれぞれのサブセット中に前記ロボットの作動を制約する、構成１に記載の方法。
［構成１１］
ロボット制御システムであって、
ネットワークインターフェースハードウェアを備えたロボットと、
前記ロボットに通信可能に結合されたヒューマン−ロボットインターフェース装置と、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに通信可能に結合された１つ以上のメモリモジュールと、
前記１つ以上のメモリモジュールに保存された機械可読命令であって、前記１つ以上のプロセッサによって実行されると、前記ロボット制御システムに、
前記ロボットの前記ネットワークインターフェースハードウェアを使用して、ユーザから１つ以上のロボット制御命令を受信することであって、前記ロボット制御命令は少なくとも１つのロボット動作を実行するよう前記ロボットに指示する、ロボット制御命令を受信することと、
前記ロボットに前記１つ以上のロボット制御命令を提供する前記ユーザがプライマリユーザかセカンダリユーザかを判断することと、
前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作を、１つ以上のロボット作動制約と比較することと、
前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合するかを判断することと、
前記ユーザが前記セカンダリユーザでありかつ前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合するときに、前記ロボットの作動を制約することと、
を行わせる機械可読命令と、
を備える、ロボット制御システム。
［構成１２］
前記１つ以上のロボット作動制約が、１つ以上の認可ロボット動作および１つ以上の制約ロボット動作を含み、
前記少なくとも１つのロボット動作が前記１つ以上の制約ロボット動作のうちの少なくとも１つを含むときに、前記ロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合する、
構成１１に記載のロボット制御システム。
［構成１３］
前記ロボットが、１つ以上の認可領域と１つ以上の制約領域とを含む作動環境内に位置しており、
前記１つ以上の制約ロボット動作のうちの少なくとも１つが、前記１つ以上の制約領域のうちの少なくとも１つに進入するロボットを含む、
構成１２に記載のロボット制御システム。
［構成１４］
前記ロボットに通信可能に結合されたフィードバックデバイスをさらに備え、前記フィードバックデバイスは、前記ユーザが前記セカンダリユーザでありかつ前記１つ以上のロボット制御命令によって指示された前記少なくとも１つのロボット動作が前記１つ以上のロボット作動制約と競合するときに、アラームを生成するように構成されている、構成１１に記載のロボット制御システム。
［構成１５］
前記ヒューマン−ロボットインターフェース装置が、前記ロボットが位置する作動環境の拡張視覚的表現を表示するように構成されたディスプレイインターフェースを備える、構成１１に記載のロボット制御システム。
［構成１６］
前記ロボットに通信可能に結合された外部ロボット制御デバイスをさらに備える、構成１１に記載のロボット制御システム。
［構成１７］
１つ以上のロボット作動制約を確立する方法であって、
ロボットが複数のロボット動作を実行するように、前記ロボットのネットワークインターフェースハードウェアを使用して、ユーザから複数の制御命令を受信することであって、前記複数のロボット動作の個々のロボット動作それぞれが前記複数の制御命令の個々の制御命令に基づいている、制御命令を受信することと、
前記複数のロボット動作のそれぞれに関するロボット動作パターン情報を、１つ以上のメモリモジュールに保存することと、
前記１つ以上のメモリモジュールに通信可能に結合されたプロセッサを使用して、前記複数のロボット動作のそれぞれに関するロボット動作パターン情報に基づき、前記１つ以上のロボット作動制約を確立することと、
を含む、方法。
［構成１８］
前記１つ以上のロボット作動制約が、
前記ユーザから受信した前記複数の制御命令に関連付けられた前記複数のロボット動作のそれぞれを含む、１つ以上の認可ロボット動作と、
前記ユーザから受信した前記複数の制御命令に関連付けられた前記複数のロボット動作のそれぞれと異なる１つ以上のロボット動作を含む、１つ以上の制約ロボット動作と、
を含む、構成１７に記載の方法。
［構成１９］
前記１つ以上のロボット作動制約が、作動環境の１つ以上の認可領域と、前記作動環境の１つ以上の制約領域とを含む、構成１７に記載の方法。
［構成２０］
前記ユーザがプライマリユーザであることを検証することをさらに含む、構成１７に記載の方法。
【図１】
0006901586.tif 000002
【図２】
0006901586.tif 000003
【図３】
0006901586.tif 000004
【図４】
0006901586.tif 000005
【図５】
0006901586.tif 000006
【図６】
0006901586.tif 000007