(57)【要約】  ロボットは、センサーデータを使用して対象物をトラックし、ユーザーによって選択された対象物をフォローする。対象物は、ロボットによって認識された一式の対象物からユーザーにより指定され得る。ロボット及び対象物の相対的な位置及び方向が判断される。ロボットの位置及び方向は、対象物とロボットとの間の所望の関係を維持するように使用され得る。ロボットのナビゲーションシステムを使用することで、移動の最中に、障害物を避けることができる。ロボットがトラックされている対象物を見失った場合、ロボットは、対象物が再取得されるまで、環境をナビゲーションして捜索を継続することができる。
2014516816.tif 000002
【特許請求の範囲】
【請求項１】
コンピューターで実施される方法であって：
センサーデータをロボットからメモリーの中へ受取るステップと；
前記センサーデータを使用して、前記ロボットの環境の中の一つまたはそれ以上の対象物をトラックするステップと；
一つまたはそれ以上のトラックされる前記対象物に関して前記ロボットの相対的な位置及び方向を維持して移動するように前記ロボットに対して指示するステップと；
前記センサーデータを使用して、障害物を避けるように前記ロボットの移動をコントロールするステップと、を含む、
ことを特徴とする方法。
【請求項２】
前記方法は、さらに、
ユーザーに対してライブビデオ配信を提供して、前記ライブビデオ配信においてトラックされる対象物を示すステップと、を含む、
請求項１に記載の方法。
【請求項３】
対象物のトラッキングにおいて対象物を見失った場合に、
前記方法は、さらに、
前記ロボットの位置及び方向を調整することによって、見失った前記対象物を再取得するように試行するステップと、を含む、
請求項２に記載の方法。
【請求項４】
トラックされる前記対象物は人間であり、さらに、第２の環境において第２ロボットを備えており、前記方法は：
センサーデータを第２ロボットからメモリーの中へ受取るステップと；
前記センサーデータを使用して、前記第２ロボットの環境の中の人間をトラックするステップと；
前記第２の環境においてトラックされる前記人間に関して前記ロボットの相対的な位置及び方向を維持して移動するように前記第２ロボットに対して指示するステップと；
前記センサーデータを使用して、障害物を避けるように前記ロボットの移動をコントロールするステップと、を含む、
請求項１に記載の方法。
【請求項５】
コンピューターストレージ媒体と；
前記コンピューターストレージ媒体に保管されたコンピュータープログラムであり、プロセッサデバイスによって処理されると、前記プロセッサデバイスに対してプロセスを実行するように指示するコンピュータープログラムと、を含み、
前記プロセスは、
センサーデータをロボットからメモリーの中へ受取るステップと；
前記センサーデータを使用して、前記ロボットの環境の中の対象物をトラックするステップと；
一つまたはそれ以上のトラックされる前記対象物に関して前記ロボットの相対的な位置及び方向を維持して移動するように前記ロボットに対して指示するステップと；
前記センサーデータを使用して、障害物を避けるように前記ロボットの移動をコントロールするステップと、を含む、
ことを特徴とする製品。
【請求項６】
ロボットの環境からのセンサーデータを受取る入力と、前記環境において認識された対象物を示す出力と、を有する対象物認識モジュールと；
トラックされるべく選択された対象物を示す入力と、その選択された対象物をフォローするためのロボットの位置及び方向を示す出力と、を有するトラッキング及びフォローイングモジュールと；
前記位置及び方向を受取る入力と、前記ロボットの動作コントロールシステムに対する、障害物を避けるためのパスに沿った所望の位置及び方向に移動するようにロボットに指示する出力と、を有するナビゲーションモジュールと、を含む、
コンピューターマシン。
【請求項７】
前記トラッキング及びフォローイングモジュールは、前記認識された対象物に関する情報を受取る入力と、前記選択された対象物が既定の境界の中にあるかどうかを示す出力と、を有する対象物認識モジュールと、を含む、
請求項６に記載のコンピューターマシン。
【請求項８】
前記トラッキング及びフォローイングモジュールは、前記選択された対象物が既定の境界の中にあるかどうかを示す前記出力を受取る入力と、前記境界の中に前記対象物があるように前記ロボットに対して位置及び方向を提供する出力と、を有する位置計算モジュールと、を含む、
請求項７に記載のコンピューターマシン。
【請求項９】
前記トラッキング及びフォローイングモジュールは、前記対象物に関する情報を受取る入力と、前記ロボットに対して移動して前記選択された対象物を再取得するように試行するために所望の位置及び方向を提供する出力と、を有する対象物再取得モジュールと、を含む、
請求項８に記載のコンピューターマシン。
【請求項１０】
前記コンピューターマシンは、さらに、
前記認識された対象物に関する情報をユーザーに提供し、かつ、前記認識された対象物のうちの一つをユーザーが選択できるようにするメカニズムを有する、ユーザーインターフェイスを含む、
請求項９に記載のコンピューターマシン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モバイルロボットによる移動対象物のトラッキング及びフォローイングに関する。
【背景技術】
【０００２】
モバイルロボットの動作は、ロボットに対して、所定の方向で、示されたパス（ｐａｔｈ）に沿って、または、所定の位置に向かって移動するように指示することによって一般的にコントロールされる。ロボットはセンサーを含んでおり、それにより、示された方向で、示された位置に向かって、または、示されたパスに沿って移動している最中に障害物を避けることができる。
【０００３】
例えば、一般的にロボットは、ライブビデオ配信を見ているオペレーターによって遠く離れてコントロールされる。ビデオは、しばしばロボット上のカメラによって提供される。ビデオを見ながら、オペレーターは、ロボットに対して種々の方向に移動し、かつ、種々のオペレーションを実行するように指令することができる。こうした種類のコントロールにおける一つのチャレンジは、ロボット上のカメラおよびマイクロフォンの位置を頻繁に調整する必要があることである。
【０００４】
別の例として、一般的にロボットは、種々のタスクを実行するために部屋を移動するように指示される。こうしたタスクは、掃除をしたり、写真を撮ったり、他のセンサー入力を収集することである。こうしたタスクの最中に、ロボットは自律的に移動することができ、障害物を避け、従って、ほとんど又は全くオペレーターからコントロールされていない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ロボットはセンサーを含んでおり、それにより、示された方向で、示された位置に向かって、または、示されたパスに沿って移動している最中に障害物を避けることができる。こうした種類のコントロールにおける一つのチャレンジは、ロボット上のカメラおよびマイクロフォンの位置を頻繁に調整する必要があることである。
【課題を解決するための手段】
【０００６】
本概要は、以降の詳細な説明でより詳しく記述される本発明の概念について、簡素化された形式において代表的な概念の選択を紹介するものである。本概要は、特許請求された技術的事項の主要な特徴または本質的な特徴を特定することを意図するものではない。また、特許請求された技術的事項の範囲を限定するために使用されることを意図するものではない。
【０００７】
人間のように、官能データを使用して対象物を特定してトラック（ｔｒａｃｋ）するロボットの能力を、対象物の位置と方向を測定する能力と組合わせることによって、ロボットは、対象物をトラックしてフォロー（ｆｏｌｌｏｗ）するように指示され得る。トラックされる対象物は人間であってよい。多くの例において、顔面又は頭といった、対象物の一部分だけを認識しトラックすることで、対象物を認識しトラックすることができる。
【０００８】
対象物は、例えば、ロボットのセンサー入力に適用される種々のパターン認識技術を使用して認識され得る。例えば、顔面認識又は形状認識が、画像データに対して適用され得る。音声認識又は音源位置特定が、一式のマイクロフォンによって集音された音響データに対して適用されてよい。
【０００９】
ユーザーは、現地にいても、離れていてもよい。現地ユーザーは、彼又は彼女の声もしくは他のユーザー入力に基づいて、彼自身又は彼女自身を含めて、対象物をフォローするようにロボットに対して指示を与えることができる。
【００１０】
選択された対象物が与えられると、対象物とロボットの相対的な位置および方向を定めることができる。ｘ、ｙ座標と方向といったものである。そして、動作コントロールシステムは、トラックされる対象物に対して所定の相対的な位置および方向を維持するようにロボットの動作をコントロールする。この動作の最中に、従来の障害物回避技術を使用して、障害物を避けることができる。いくつかの場合には、障害物が、トラックされる対象物をそれによって認識するセンサー情報を遮ってしまう。この場合、ロボットは、対象物を再び捉えるために試行するように、最後に知った対象物の方向といった、環境をナビゲート（ｎａｖｉｇａｔｅ）して探索し続けることができる。対象物が再び捉えられれば、トラックが継続される。
【００１１】
従って、一つの態様において、対象物をトラックしてフォローするプロセスは、ロボットからのセンサーデータをメモリーの中に受取ることを含んでいる。ロボットの環境における対象物は、そのセンサーデータを使用してトラックすることができる。ロボットは、一つまたはそれ以上のトラックされる対象物に関して相対的な位置および方向を維持するように、移動の指示がなされる。ロボットの移動は、センサーデータを使用して障害物を避けるようにコントロールされる。
【００１２】
別の態様において、対象物をトラックしてフォローするためのコンピューターマシンは、対象物認識モジュールを含んでおり、ロボットの環境からのセンサーデータを受取る入力と、環境において認識された対象物を示す出力とを有している。トラッキング及びフォローイングモジュールは、トラックされるべく選択された対象物を示す入力と、その選択された対象物をフォローするためのロボットの位置及び方向を示す出力とを有している。ナビゲーションモジュールは、その位置及び方向を受取る入力と、ロボットの動作コントロールシステムに対する、障害物を避けるためのパスに沿った所望の位置及び方向に移動するようにロボットに指示する出力とを有している。
【００１３】
一つの実施例において、ユーザーは一つまたはそれ以上のトラックされる対象物を選択することができ、ロボットがフォローする。ユーザーには、トラックされる対象物が示されたライブビデオ配信が提供され得る。
【００１４】
別の実施例においては、もし、対象物のトラックにおいてその対象物を見失った場合、プロセスは、さらに、見失った対象物を再び捉えるように試行する。見失った対象物を再び捉える試みは、ロボットの位置及び方向の調整を含み得る。
【００１５】
一つの実施例において、２つのロボットがセッション（ｓｅｓｓｉｏｎ）を維持して、環境における一人の人間をトラックしてフォローすることができる。このように、異なる場所にいる二人の人間が、それぞれにロボットを用いて、お互いに「訪問（“ｖｉｓｉｔ”）」、例えば、お互いに見聞きする、ことができる。両方のロボットが、それぞれの関係者をトラックしフォローしている場合には、これらをカメラフレームの中に捉え続けている。各人は、それぞれのロボットを彼自身又は彼女自身をフォローするように指示することができる。その人に関してロボットの相対的な位置及び方向を維持することによって、カメラとマイクロフォンは、その人に向けられたままであり得る。
【００１６】
以降の説明においては、添付の図面が参照される。図面は、明細書の一部を構成しており、説明図として、本技術に係る所定の実施例が示されている。本発明開示の範囲を逸脱することなく、他の実施例が使用され、構成の変更がなされ得ることが理解されるべきである。
【図面の簡単な説明】
【００１７】
【図１】図１は、モバイルロボットシステムの一つの実施例のブロックダイヤグラムである。
【図２】図２は、トラック及びフォローの実施例を説明するフローチャートである。
【図３】図３は、図２のシステムのオペレーションを説明するフローチャートである。
【図４】図４は、ロボットのテレプレゼンス（ｔｅｌｅｐｒｅｓｅｎｃｅ）アプリケーションの設定例を説明するフローチャートである。
【図５】図５は、こうしたシステムが実施され得るコンピューターデバイスのブロックダイヤグラムである。
【発明を実施するための形態】
【００１８】
以降の節では、ロボットによるトラッキング及びフォローイングが実行され得る動作環境の実施例が提供される。図１を参照すると、モバイルロボット１００は、いくつかのコンポーネントを有している。
【００１９】
センサー１０２は、周囲の環境及び環境における対象物１０４に関する情報を検知する。センサー１０２は、ロボットシステムの他の部分に対する入力としてセンサーデータ１０６を提供する。センサーの実施例は、これらに限定されるわけではないが、一つまたはそれ以上のカメラ、一つまたはそれ以上のマイクロフォンを含んでいる。マイクロフォンアレイ（ａｒｒａｙ）、赤外線検知器、および、近接検知器、といったものである。センサーによって提供されたセンサーデータ１０６によって、対象物が認識及びトラックされ、または、障害物が避けられる限りにおいて、本発明は、センサー１０２の特定の設定または構成に限定されるものではない。
【００２０】
対象物認識モジュール１０８は、対象物、および、ロボット１００に関するスペース（ｓｐａｃｅ）における対象物の位置および方向を特定するためにセンサーデータ１０６を使用する。動作コントロールモジュール１１０は、ロボット１００の動作の方向及び速度をコントロールする。ナビゲーションモジュール１１２は、障害物回避及び他のパスフォロープロセスに基づいて、動作コントロールモジュールに対して方向１１４を決定する。対象物認識、動作コントロール、および、ナビゲーションシステムは、当業者にとって知られた多くの方法のうちあらゆるもので実施されてよく、本発明はそれらに限定されるものではない。
【００２１】
定期的なタイムフレーム（ｔｉｍｅ  ｆｒａｍｅ）において、対象物認識モジュールは、認識される対象物１１６に関する情報を提供する。それぞれの対象物の位置及び方向、および、対象物の識別子といった、対象物を記述する情報を含むものである。対象物を認識するために、ロボットのセンサー入力に対して種々のパターン認識技術が適用され得る。例えば、対象物認識モジュール１０８は、ビデオ情報を使用して、所定の形状又は顔面を特定するために画像を処理することができる。近接検知器は、ロボット１００に対する対象物の距離に関する情報を提供することができる。時間にわたり画像を処理して、対象物をトラックすることにより、対象物認識モジュール１０８は、対象物が移動しているかどうかを判断することができる。音源位置特定は、人間及び彼又は彼女の声といった、音を出している対象物の位置を特定するために使用され得る。対象物認識モジュール１０８は、認識された対象物１１６に関する情報を、ユーザーインターフェイス１１８及びトラッキング及びフォローイングモジュール１１２に対して提供されるが、以降に、より詳細に説明される。
【００２２】
多くのアプリケーションにおいて、認識されトラックされるべき対象物は人間である。認識及びトラッキングは、顔面といった、対象物の一部を認識することができる。対象物が一旦認識されると、対象物の一点又は領域をモニターすることによって、対象物をトラックすることができる。例えば、ロボットが人間をフォローする場合に、ロボットは最初に顔面を認識し、次に、胴体上の一点又は領域をフォローする。
【００２３】
一つの実施例において、ユーザーインターフェイス１１８により、ユーザーは、認識された対象物に関する情報を見ることができ、ロボット１００によってトラックされフォローされるべき対象物がどれかを示すユーザー選択１２０を提供することができる。ユーザー選択１２０は、ロボット１００のトラッキング及びフォローイングモジュール１２２に対して提供される。トラッキング及びフォローイングモジュールは、対象物トラックモジュール１０８からの情報を使用してロボットがどのように対象物をトラックしてフォローするかを決定し、ナビゲーションモジュール１１２に対して指示する。別の実施例において、ユーザーインターフェイスは、オペレーターの指示を判断するためにセンサーデータを処理する。例えば、ユーザーは「フォロー（“ｆｏｌｌｏｗ”）」と言ったり、ユーザー選択１２０を提供するためにジェスチャーすることができる。視野において認識された人間又は対象物をフォローするよう、ロボット１００に指示する。
【００２４】
このコンテクスト（ｃｏｎｔｅｘｔ）において、トラッキング及びフォローイングモジュール１２２の実施例が、図２−４に関して、より詳細に説明される。
【００２５】
図２において、このモジュールの実施例に係るブロックダイヤグラムは、対象物フォローイングモジュール２００を含んでおり、認識された対象物２０２に関する情報を受け取る。この情報は、例えば、認識された対象物及びその位置のそれぞれに対する識別子を含んでいる。現在のユーザー選択２０４の表示は、対象物フォローイングモジュールに、トラックされるべき対象物に関して指示をする。
【００２６】
認識された対象物２０２及びユーザー選択２０４に関する情報が与えられると、対象物フォローイングモジュール２００は、いくつかのモードでいくつかのオペレーションを実行する。最初に、選択された対象物が無い場合は、対象物フォローイングモジュール２００は待ちモードにあり、ユーザー選択を待つ。
【００２７】
フォローイングのための対象物が選択された場合、対象物フォローイングモジュール２００はトラッキングモードを開始する。トラッキングモードにおいては、対象物の位置が元の位置からの閾値距離以内に留まっているか、そうでなければ、ロボットの視界の中に留まっている場合に、ロボットは移動しない。例えば、モジュール２００は、画像における対象物が、ロボットの視界の中の境界ボックスの中にあるかを判断することができる。同様に、モジュールは、対象物の深度、または、ロボットと対象物との間の距離が既定の範囲以内にあるかを判断することもできる。トラックされる対象物の位置が著しく変化する場合、対象物フォローイングモジュールは、トラックされる対象物をフォローするためにロボットが移動されるべきであることを、位置計算モジュール２０６に知らせる。対象物フォローイングモジュール２００は、位置計算モジュール２０６に対して対象物に関する情報２０８を提供する。対象物の位置、方向、および、移動の方向及び速度といったものである。
【００２８】
位置計算モジュール２０６は、トラックされる対象物に関する情報２０８を受取り、出力としてロボットの新たな位置２１４を提供する。これは、新たなｘ、ｙ座標であり、または、新たな方向であり、またはその両方である。例えば、ロボットは、４５度回転するように指示されてもよい。ロボットは、対象物に関する所望の相対的な位置及び方向に一致するように、その位置及び方向を変更することができる。新たな位置情報２１４は、ロボットのナビゲーションコントロールシステムに対して提供される。
【００２９】
選択された対象物が、もはや認識された対象物に関する情報の中に見つからない場合、モジュール２００は、再取得モードに入り、対象物再取得モジュール２１０に、「対象物喪失（“ｏｂｊｅｃｔ  ｌｏｓｔ”）」メッセージ２１２といった知らせをし、認識された対象物に関する他の情報を伝える。例えば、対象物の移動方向及び速度は有効な情報になり得る。
【００３０】
ユーザー選択２０４が与えられると、対象物再取得モジュール２１０は、ロボットの移動を含めて、どのように対象物を再び捜し出すかを決定する。モジュール２１０は、ロボットの新たな位置２１４を決定する。例えば、対象物の方向及び速度が与えられれば、現在のロボットの位置からロボットが移動する新たな位置、および、その新たな位置へ移動するための速度を計算することができる。ロボットの環境に関して利用可能な情報に基づいて、他の技術を使用してもよい。
【００３１】
対象物が再取得されるか、再取得がタイムアウト（ｔｉｍｅ  ｏｕｔ）又はユーザーのいずれかによって終了されるまで、対象物再取得モジュールは、対象物喪失に関する情報、および、認識された対象物に関して受取った情報を使用して対象物を再び捜し出す。特に、対象物再取得モジュールは、与えられたタイムフレームにおいて認識された対象物に関する情報を、喪失した対象物に関して持っている情報と比較する。一致が見出された場合、一致した対象物は、今や、対象物フォローイングモジュール２００によってトラックされるべき新たな対象物となる。対象物再取得モジュールは、一致した対象物に関する情報を対象物フォローイングモジュールへ戻して、トラックキングが再開する。
【００３２】
図２のシステムに係るオペレーションを説明するフローチャートが、図３に関してこれから説明される。
【００３３】
プロセスは、ロボットが対象物をトラックしてフォローするように従事させられた後で始まる。対象物をトラッキングしフォローイングする場合、ロボットは対象物の動作を、位置又はサイズの変化といったことにより、ロボットは対象物の動作を検知する。特に、ロボットは、位置及び速度を含んで、対象物の３次元データをトラックする。動作が検知された場合、ロボットは、その動作量がロボットを移動させるか、または、他のいくつかの反応をさせるのに、十分足りているかどうかを判断する。例えば、ロボットは、相対的な距離及び方向が所定の境界の中にあるかを判断する。所定の境界は、アプリケーションまたはロボットの使用に依存する。トラックされる対象物の方向がトラックできる場合、ロボットが対象物と「向かい合っている（“ｆａｃｉｎｇ”）」こと、または、方向が対象物に関して所望の方向に一致していることを保証するようにロボットを移動させるために、この方向の情報が使用される。
【００３４】
対象物及びロボットの相対的な位置及び方向が既定の境界値の中に無い場合には、ロボットの位置及び方向が調整され得る３０４。所望の位置及び方向が与えられれば、アプリケーション又はロボットの使用に従ってナビゲーションシステムによって移動のパス及び速度が決定され得る。例えば、ナビゲーションシステムは、最短のパスをフォローしてもよいし、対象物への距離のクローズ（ｃｌｏｓｅ）なフォローイングを維持してもよい。ナビゲーションは、また、対象物によってフォローされた同一のパスをフォローするように試みてもよい。
【００３５】
ロボットに対する他の反応も、また、提供されてよい。例えば、カメラ、マイクロフォン、または、他のセンサーの位置が変更されてもよい。ロボットが他に動作可能なパーツを有している場合、特定のパーツだけが移動され得る。ロボットの状態を示す他の情報、又はその表現が提供されてもよい。ロボットがトラックされた対象物の喪失を懸念していることを示すために、例えば、音響またはディスプレイが出力され得る。
【００３６】
ロボットが、対象物の動作に対して反応した後で、ロボットは対象物のトラック３００を継続する。トラッキングが失敗した場合、プロセスは、対象物を再取得するステップ３０８を用いて継続する。可能性のある対象物が見つかり、３１０で判断されるように、元の対象物との一致がなされた場合、プロセスは対象物のトラッキング３００に戻る。そうでなければ、システムは、対象物の再取得３０８の試行を継続する。
【００３７】
図４をここで参照すると、対象物のトラッキング及びフォローイングを開始するためのプロセスが今から説明される。図１では、ユーザーインターフェイスによって、ユーザーは認識された対象物について知らされ、トラッキングする対象物を選択することができる。一つの実施例として、ロボットのテレプレゼンス（ｔｅｌｅｐｒｅｓｅｎｃｅ）セッションは、ロボットからのライブビデオ配信４００を提供する。このセッションは、典型的には、通信リンクを通じてロボットと接続されたリモートコンピューター上で実行されているクライアントアプリケーションとして実施される。ロボットの対象物認識モジュールは、対象物の位置を計算し、この情報をクライアントアプリケーションに対して送付する４０２。クライアントアプリケーションのためのユーザーインターフェイスは、ライブビデオ配信における対象物を特定４０４する情報を表示することができる。認識された対象物の表示のオーバーレイ（ｏｂｅｒｌａｙ）といったものである。そして、ユーザーは、対象物を選択する４０４ことができ、その選択はロボットに対して送付される４０６。選択を受取ると、ロボットは、対象物に対するトラック及びフォローモードに入る４０８。ユーザーインターフェイスは、また、ユーザーが、このモードをキャンセルし、または、フォローする新たな対象物又は人間を選択できるようにするためのメカニズムを備えている。
【００３８】
ロボットにより対象物をトラックしてフォローするこの技術を使用して、多くのアプリケーションを実施することができる。例えば、ロボットのテレプレゼンスセッションは、選択された対象物をフォローするようにロボットに指示することで簡素化することができる。ロボットは、また、オペレーターによって、そのオペレーター又は別の対象物をフォローするように指示されてもよい。ロボットに移動するように指示するタスクからオペレーターを自由にしている。
【００３９】
一つの実施例においては、２つのロボットがセッションを維持し、それぞれのロボットが環境における人間をトラックしてフォローすることができる。このようにして、異なる場所にいる二人の人間が、それぞれのロボットを用いて、お互いを「訪問する（“ｖｉｓｉｔ”）」、例えば、お互いに見聞きする、ことができる。それぞれのロボットが、それぞれの環境を動き回る際にである。両方のロボットが、それぞれの関係者をトラックしフォローしている場合には、彼らをカメラのフレームの中に捉え続けている。それぞれの人間は、それぞれのロボットに対して彼自身又は彼女自身をフォローするように指示することができる。人間に関して相対的な位置と方向を維持することによって、カメラとマイクロフォンをその人間について向け続けることができる。
【００４０】
実施例について説明してきたので、今から、そうしたシステムがオペレーションするようにデザインされたコンピューター環境について説明する。以降の記述は、このシステムを実施することができる好適なコンピューター環境について簡素で一般的な説明を提供することを意図したものである。システムは、数多くの汎用目的又は特定目的のコンピューターハードウェア構成を用いて実施することができる。モバイルロボットは、典型的には、他のよく知られたコンピューターデバイスと類似の演算能力を有している。パーソナルコンピューター、ハンドヘルド又はラップトップデバイス（例えば、メディアプレーヤー、ノートブックコンピューター、携帯電話、パーソナルデータアシスタンス、ボイスレコーダー）、マルチプロセスシステム、マイクロプロセッサベースのシステム、セットトップボックス、ゲームコンソール、プログラム可能な家電製品、等といったものである。ロボットのためのコントロールシステムは、また、ロボットから分離及び／又は離れたコンピューター上にあるので、ここにおいて説明されるロボットシステムを実施するために他のコンピューターマシンを使用することもできる。
【００４１】
図５は、好適なコンピューターシステム環境の実施例を示している。コンピューターシステム環境は、好適なコンピューター環境の一つの実施例に過ぎず、こうしたコンピューター環境の使用又は機能性の範囲に関していかなる限定をすることも意図されていない。コンピューター環境は、動作環境の実施例において説明されたあらゆるコンポーネントの一つ又は組合せに関していかなる依存も又は要求もしないものと理解されるべきである。
【００４２】
図５について、コンピューター環境の実施例は、コンピューターマシン５００といった、コンピューターマシンを含んでいる。最も基本的な構成において、コンピューターマシン５００は、典型的には、少なくとも一つのプロセッサユニット５０２とメモリー５０４を含んでいる。コンピューターデバイスは、複数のプロセッサユニット及び／又はグラフィックプロセッサユニット５２０といった追加のコプロセッサユニットを有してもよい。コンピューターデバイスの的確な構成及びタイプによって、メモリー５０４は、揮発性（ＲＡＭといったもの）、不揮発性（ＲＯＭ，フラッシュメモリー、等といったもの）、または、両者のある組合せであってよい。この最も基本的な構成は、図５において破線５０６によって示されている。加えて、コンピューターデバイス５００は、また、追加の特性／機能性を有する。例えば、コンピューターマシン５００は、また、追加のストレージ（リムーバブル及び／又は非リムーバブル）を含んでよい。これらに限定されるわけではないが、磁気又は光ディスク、または、テープを含むものである。こうした追加ストレージは、図５において、リムーバブルストレージ５０８及び非リムーバブルストレージ５１０によって示されている。コンピューターストレージ媒体は、揮発性及び不揮発性、リムーバブル及び非リムーバブル媒体を含んでおり、情報ストレージのためのあらゆる方法又は技術において実施される。情報は、コンピュータープログラムインストラクション、データ構造、プログラムモジュール、又は、他のデータといったものである。メモリー５０４、リムーバブルストレージ５０８、および、非リムーバブルストレージ５１０は、全てコンピューターストレージ媒体の実施例である。コンピューターストレージ媒体は、これらに限定されるわけではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリー又は他のメモリー技術、ＣＤ−ＲＯＭ、デジタル多目的ディスク（ＤＶＤ）又は他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は磁気ストレージデバイス、または、所望の情報を保管するために使用でき、コンピューターマシン５００によってアクセスされ得る他のあらゆる媒体、を含んでいる。こうしたコンピューターストレージ媒体のあらゆるものが、コンピューターマシン５００の部分であり得る。
【００４３】
コンピューターマシン５００は、また、デバイスが他のデバイスと通信できるようにするコミュニケーション接続５１２を含んでいる。コミュニケーション接続５１２は、コミュニケーション媒体の一つの実施例である。コミュニケーション媒体は、典型的には、コンピューターで読み取り可能なインストラクション、データ構造、プログラムモジュール、または、搬送波または他の伝送メカニズムといった、変調されたデータ信号における他のデータ、を包含する。コミュニケーション媒体は、また、あらゆる情報配送媒体を含む。用語「変調されたデータ信号（“ｍｏｄｕｌａｔｅｄ  ｄａｔａ  ｓｉｇｎａｌ”）」は、一つまたはそれ以上の特徴セットを有する信号、または信号中の情報をエンコードするといった方法で変更された信号を意味する。実施例として、かつ、限定するものではなく、コミュニケーション媒体は、有線ネットワークまたは直接有線接続といった有線媒体、および、音響、ＲＦ、赤外線、そして他の無線媒体といった無線媒体を含む。
【００４４】
コンピューターマシン５００は、ディスプレイ、キーボード、マウス、ペン、カメラ、タッチ入力デバイス、等といった種々の入力デバイスを有している。スピーカー、プリンター、等といった出力デバイス５１６も、また、含まれている。こうしたデバイスの全ては、従来技術としてよく知られたものであり、ここにおいて詳しく説明する必要はない。
【００４５】
こうしたシステムは、ソフトウェアの一般的なコンテクスト（ｃｏｎｔｅｘｔ）において実施され得る。プログラムモジュールといった、コンピューターで実行可能なインストラクション及び／又はコンピューターで解釈されるインストラクションであり、コンピューターマシンによって処理されるものである。一般的に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等を含み、プロセッサユニットによって処理されると、プロセッサユニットに対して所定のタスク又は所定の抽象的なデータタイプを実行するように指示する。このシステムは、分散コンピューター環境において実施されてもよい。タスクは、コミュニケーションネットワークを通じてリンクされた離れたプロセッサデバイスによって実行される。分散コンピューター環境において、プログラムモジュールは、メモリストレージデバイスを含むローカル及びリモート両方のコンピューターストレージ媒体の中に存在し得る
【００４６】
添付の請求項のプリアンブルにおける用語「製品」、「方法」、「マシン」、および、「組合せ」は、米国特許法第１０１条におけるこれらの用語の使用によって定義される特許可能な技術的事項の範囲内にあるものと考えられる技術的事項に請求項を限定するように意図されたものである。
【００４７】
ここにおいて説明されたあらゆる又は全ての前出の代替的な実施例は、追加のハイブリッドな実施例を形成するために望まれるあらゆる組合せにおいて使用され得るものである。添付の請求項において定められる技術的事項は、上述の所定の実施例に必ずしも限定されるものではないことが理解されるべきである。上述の所定の実施例は、単なる例として開示されたものである。
【図１】
2014516816.tif 000003
【図２】
2014516816.tif 000004
【図３】
2014516816.tif 000005
【図４】
2014516816.tif 000006
【図５】
2014516816.tif 000007
【国際調査報告】
2014516816.tif 000008
2014516816.tif 000009