(57)【特許請求の範囲】
【請求項１】
カメラを有するモバイルデバイスから離れたロボットのために前記モバイルデバイスを所望の動きで動かすステップと、
前記カメラによってキャプチャされた画像を使用して前記モバイルデバイスの軌道を特定するステップと、
前記モバイルデバイスの前記軌道を前記ロボットの前記所望の動きに変換するステップと、
前記ロボットが前記所望の動きで動くための制御情報を生成するステップと
を含み、さらに、
前記モバイルデバイスの前記軌道を前記ロボットの前記所望の動きに変換する変換をキャリブレーションするステップを含む方法であって、前記モバイルデバイスの前記軌道を前記ロボットの前記所望の動きに変換するステップは、前記変換を使用するステップを含み、
前記変換をキャリブレーションするステップは、
前記モバイルデバイスを前記ロボットに結合するステップと、
前記モバイルデバイスのトレーニング軌道を特定しながら前記ロボットを動かすステップと、
前記ロボットの動きの前記モバイルデバイスの前記トレーニング軌道へのキャリブレーション変換をもたらすために、前記ロボットの前記動きおよび前記モバイルデバイスの前記トレーニング軌道を使用するステップと、
前記モバイルデバイスの前記軌道の前記ロボットの前記所望の動きへの前記変換をもたらすために前記キャリブレーション変換を逆変換するステップと
を含む、方法。
【請求項２】
前記ロボットが前記所望の動きで動くための制御情報を生成するステップは、前記所望の動きで前記ロボットをプログラムするステップを含む、請求項1に記載の方法。
【請求項３】
前記ロボットが前記所望の動きで動くための制御情報を生成するステップは、リアルタイムまたはオフラインで前記ロボットを制御するステップを含む、請求項1に記載の方法。
【請求項４】
前記カメラによってキャプチャされた前記画像を使用して前記モバイルデバイスの前記軌道を特定するステップは、前記モバイルデバイスと画像化された物体との間の姿勢の変化を検出するステップを含む、請求項1に記載の方法。
【請求項５】
前記ロボットはロボットアームである、請求項1に記載の方法。
【請求項６】
前記モバイルデバイスの前記軌道は、前記ロボットの内部座標系に変換される、請求項1に記載の方法。
【請求項７】
モバイルデバイスであって、
前記モバイルデバイスが動かされながら環境の画像をキャプチャするためのカメラと、
遠隔ロボットコントローラと通信するためのワイヤレスインターフェースと、
前記キャプチャされた画像を使用して前記モバイルデバイスの軌道を特定し、前記モバイルデバイスの前記軌道を遠隔ロボットの所望の動きに変換し、前記ワイヤレスインターフェースに前記遠隔ロボットの前記所望の動きを前記遠隔ロボットコントローラに送信させるように構成された、前記カメラから前記キャプチャされた画像を受信するために結合され前記ワイヤレスインターフェースに結合されたプロセッサと
を含み、
前記プロセッサは、前記モバイルデバイスの前記軌道を前記遠隔ロボットの前記所望の動きに変換する変換をキャリブレーションするようにさらに構成され、前記プロセッサは、前記変換を使用して前記モバイルデバイスの前記軌道を前記遠隔ロボットの前記所望の動きに変換するように構成され、さらに、
前記プロセッサは、
前記遠隔ロボットの運動中に前記遠隔ロボットが前記モバイルデバイスを保持しながら前記モバイルデバイスのトレーニング軌道を特定し、
前記遠隔ロボットの前記運動の前記モバイルデバイスの前記トレーニング軌道へのキャリブレーション変換をもたらすために、前記遠隔ロボットの前記運動および前記トレーニング軌道を使用し、
前記モバイルデバイスの前記軌道の前記遠隔ロボットの前記所望の動きへの前記変換をもたらすために前記キャリブレーション変換を逆変換する
ように構成されることによって前記モバイルデバイスの前記軌道を前記遠隔ロボットの前記所望の動きに変換する前記変換をキャリブレーションするように構成される、モバイルデバイス。
【請求項８】
前記プロセッサは、前記モバイルデバイスと画像化された物体との間の姿勢の変化を検出するように構成されることによって前記キャプチャされた画像を使用して前記モバイルデバイスの前記軌道を特定するように構成される、請求項7に記載のモバイルデバイス。
【請求項９】
ロボットを制御するためのコントローラであって、
前記ロボットのために所望の動きで動きながら環境の画像をキャプチャするためのカメラを有する遠隔モバイルデバイスと通信するための外部インターフェースと、
前記ロボットと通信し前記ロボットを制御するためのロボットインターフェースと、
前記カメラからの前記キャプチャされた画像を使用して特定される前記遠隔モバイルデバイスの軌道を前記ロボットの前記所望の動きに変換し、前記ロボットインターフェースを介して前記所望の動きで動くように前記ロボットを制御するように構成された、前記外部インターフェースおよび前記ロボットインターフェースに結合されたプロセッサと
を含み、
前記プロセッサは、前記遠隔モバイルデバイスの前記軌道を前記ロボットの前記所望の動きに変換する変換をキャリブレーションするようにさらに構成され、前記プロセッサは、前記変換を使用して前記遠隔モバイルデバイスの前記軌道を前記ロボットの前記所望の動きに変換するようにさらに構成され、
前記プロセッサは、
前記ロボットが前記遠隔モバイルデバイスを保持しながら、前記ロボットの運動を引き起こし、
前記ロボットの前記運動の前記遠隔モバイルデバイスのトレーニング軌道へのキャリブレーション変換をもたらすために、前記ロボットの前記運動、および前記遠隔モバイルデバイスを保持しながら前記ロボットの前記運動から特定される前記遠隔モバイルデバイスの前記トレーニング軌道を使用し、
前記遠隔モバイルデバイスの前記軌道の前記ロボットの前記所望の動きへの前記変換をもたらすために前記キャリブレーション変換を逆変換する
ように構成されることによって前記遠隔モバイルデバイスの前記軌道を前記ロボットの前記所望の動きに変換する前記変換をキャリブレーションするように構成される、コントローラ。
【請求項１０】
前記プロセッサは、前記外部インターフェースを介して前記遠隔モバイルデバイスから前記軌道を受信する、請求項9に記載のコントローラ。
【請求項１１】
前記プロセッサは、前記外部インターフェースを介して前記遠隔モバイルデバイスから姿勢データを受信し、前記プロセッサは、前記姿勢データを使用して前記遠隔モバイルデバイスの前記軌道を特定するようにさらに構成される、請求項9に記載のコントローラ。
【請求項１２】
前記プロセッサは、前記外部インターフェースを介して前記遠隔モバイルデバイスから画像データを受信し、前記プロセッサは、前記画像データを使用して前記遠隔モバイルデバイスの前記軌道を特定するようにさらに構成される、請求項9に記載のコントローラ。
【請求項１３】
前記プロセッサは、前記遠隔モバイルデバイスと画像化された物体との間の姿勢の変化を検出するように構成されることによって前記画像データを使用して前記遠隔モバイルデバイスの前記軌道を特定するように構成される、請求項12に記載のコントローラ。
【請求項１４】
前記プロセッサは、前記所望の動きで前記ロボットをプログラムするように構成されることによって、前記所望の動きで動くように前記ロボットを制御するように構成される、請求項9に記載のコントローラ。
【請求項１５】
前記プロセッサは、前記ロボットをリアルタイムまたはオフラインで制御するように構成されることによって、前記所望の動きで動くように前記ロボットを制御するように構成される、請求項9に記載のコントローラ。
【請求項１６】
前記ロボットはロボットアームである、請求項9に記載のコントローラ。
【請求項１７】
前記遠隔モバイルデバイスの前記軌道は、前記ロボットの内部座標系に変換される、請求項9に記載のコントローラ。
【請求項１８】
モバイルデバイスから離れたロボットのために前記モバイルデバイスが所望の動きで動かされながら、前記モバイルデバイスによってキャプチャされた画像を使用して前記モバイルデバイスの軌道を特定するための手段と、
前記モバイルデバイスの前記軌道を前記ロボットの前記所望の動きに変換するための手段と、
前記ロボットが前記所望の動きで動くための制御情報を生成するための手段と、
前記モバイルデバイスの前記軌道を前記ロボットの前記所望の動きに変換する変換をキャリブレーションするための手段と
を含むシステムであって、
前記モバイルデバイスの前記軌道を前記ロボットの前記所望の動きに変換するための前記手段は、前記変換を使用し、
前記変換をキャリブレーションするための前記手段は、前記ロボットの運動中に前記ロボットが前記モバイルデバイスを保持しながら前記モバイルデバイスのトレーニング軌道を特定し、前記ロボットの前記運動の前記モバイルデバイスの前記トレーニング軌道へのキャリブレーション変換をもたらすために前記ロボットの前記運動および前記トレーニング軌道を使用し、前記モバイルデバイスの前記軌道の前記ロボットの前記所望の動きへの前記変換をもたらすために前記キャリブレーション変換を逆変換する、システム。
【請求項１９】
前記ロボットのための制御情報を生成するための前記手段は、前記所望の動きで前記ロボットをプログラムする、請求項18に記載のシステム。
【請求項２０】
前記ロボットのための制御情報を生成するための前記手段は、前記ロボットをリアルタイムまたはオフラインで制御する、請求項18に記載のシステム。
【請求項２１】
前記モバイルデバイスによってキャプチャされた前記画像を使用して前記モバイルデバイスの前記軌道を特定するための前記手段は、前記モバイルデバイスと画像化された物体との間の姿勢の変化を検出する、請求項18に記載のシステム。
【請求項２２】
前記モバイルデバイスの前記軌道は、前記ロボットの内部座標系に変換される、請求項18に記載のシステム。
【請求項２３】
モバイルデバイスから離れたロボットのために前記モバイルデバイスが所望の動きで動かされながら、前記モバイルデバイスによってキャプチャされた画像を使用して前記モバイルデバイスの軌道を特定するためのプログラムコードと、
前記モバイルデバイスの前記軌道を前記ロボットの前記所望の動きに変換するためのプログラムコードと、
前記ロボットが前記所望の動きで動くための制御情報を生成するためのプログラムコードと、
前記モバイルデバイスの前記軌道を前記ロボットの前記所望の動きに変換する変換をキャリブレーションするためのプログラムコードと
を含む記憶媒体であって、前記モバイルデバイスの前記軌道を前記ロボットの前記所望の動きに変換するための前記プログラムコードは、前記変換を使用し、
前記変換をキャリブレーションするための前記プログラムコードは、
前記ロボットの運動中に前記ロボットが前記モバイルデバイスを保持しながら前記モバイルデバイスのトレーニング軌道を特定するためのプログラムコードと、
前記ロボットの前記運動の前記モバイルデバイスの前記トレーニング軌道へのキャリブレーション変換をもたらすために、前記ロボットの前記運動および前記トレーニング軌道を使用するためのプログラムコードと、
前記モバイルデバイスの前記軌道の前記ロボットの前記所望の動きへの前記変換をもたらすために前記キャリブレーション変換を逆変換するためのプログラムコードと
を含む、記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、本出願の譲受人に譲渡され、参照により本明細書に組み込まれる、2012年9月5日に出願した「Robot Control Information」という名称の米国出願第13/604,470号の優先権を主張するものである。
【０００２】
本明細書で説明する主題の実施形態は、概して、ロボットアームに関し、より詳細には、ロボットアームの動きを制御することに関する。
【背景技術】
【０００３】
ロボットアームは、たとえば、極めて正確であるが反復的な方式で、物体を動かすのに時々使用される。ロボットアームを制御すること、たとえば、所望の動きまたは軌道を指定することは、難しく、時間がかかる可能性がある。たとえば、ロボットアームは、ロボットアームを様々な所望の位置に手動で動かすことによってプログラムされ得る。しかしながら、ロボットアームの得られた動きは、意図されたものでない場合がある。例として、ロボットアームが典型的な手の動きを模倣することが望まれる場合がある。ロボットアームを手動で動かすことは、手の動きに見られる自然な動きをもたらす可能性が低い。
【発明の概要】
【課題を解決するための手段】
【０００４】
ロボットを遠隔から制御するために、モバイルデバイスの視覚ベースの追跡が使用される。たとえば、モバイルデバイスによって、たとえばビデオストリームでキャプチャされた画像は、画像化された環境に対するモバイルデバイスの姿勢の視覚ベースの追跡のために使用される。モバイルデバイスの姿勢の変化、すなわちモバイルデバイスの軌道は、特定され、モバイルデバイスから離れたロボットの所望の動きに変換される。次いで、ロボットは、所望の動きで動くように制御される。モバイルデバイスの軌道は、ハンドアイキャリブレーション変換を逆変換することによってもたらされる変換を使用してロボットの所望の動きに変換される。
【０００５】
一実施形態では、方法は、カメラを有するモバイルデバイスから離れたロボットのためにモバイルデバイスを所望の動きで動かすステップと、カメラによってキャプチャされた画像を使用してモバイルデバイスの軌道を特定するステップと、モバイルデバイスの軌道をロボットの所望の動きに変換するステップと、所望の動きで動くようにロボットを制御するステップとを含む。
【０００６】
一実施形態では、モバイルデバイスは、モバイルデバイスが動かされながら環境の画像をキャプチャするためのカメラと、遠隔ロボットコントローラと通信するためのワイヤレスインターフェースと、キャプチャされた画像を使用してモバイルデバイスの軌道を特定し、モバイルデバイスの軌道を遠隔ロボットの所望の動きに変換し、ワイヤレスインターフェースに遠隔ロボットの所望の動きを遠隔ロボットコントローラに送信させるように構成された、キャプチャされた画像を受信するために結合されワイヤレスインターフェースに結合されたプロセッサとを含む。
【０００７】
一実施形態では、ロボットを制御するためのコントローラは、ロボットのために所望の動きで動きながら環境の画像をキャプチャするためのカメラを有する遠隔モバイルデバイスと通信するための外部インターフェースと、ロボットと通信しロボットを制御するためのロボットインターフェースと、キャプチャされた画像を使用して特定される遠隔モバイルデバイスの軌道をロボットの所望の動きに変換し、ロボットインターフェースを介して所望の動きで動くようにロボットを制御するように構成された、外部インターフェースおよびロボットインターフェースに結合されたプロセッサとを含む。
【０００８】
一実施形態では、システムは、モバイルデバイスから離れたロボットのためにモバイルデバイスが所望の動きで動かされながら、モバイルデバイスによってキャプチャされた画像を使用してモバイルデバイスの軌道を特定するための手段と、モバイルデバイスの軌道をロボットの所望の動きに変換するための手段と、所望の動きで動くようにロボットを制御するための手段とを含む。
【０００９】
一実施形態では、記憶媒体は、モバイルデバイスから離れたロボットのためにモバイルデバイスが所望の動きで動かされながら、モバイルデバイスによってキャプチャされた画像を使用してモバイルデバイスの軌道を特定するためのプログラムコードと、モバイルデバイスの軌道をロボットの所望の動きに変換するためのプログラムコードと、所望の動きで動くようにロボットを制御するためのプログラムコードとを含む、内部に記憶されるプログラムコードを含む。
【図面の簡単な説明】
【００１０】
【図１】遠隔ロボットの動きを制御するのに使用され得る、カメラ付きのモバイルデバイスを含むシステムを示す図である。
【図２】モバイルデバイスの軌道をロボットの所望の動きに変換するための変換をもたらすのに使用されるハンドアイキャリブレーションプロセスを示す図である。
【図３】視覚ベースの追跡に基づいて遠隔モバイルデバイスを使用してロボットを制御する方法を示すフローチャートである。
【図４】モバイルデバイスのロボットの所望の動きへの軌道の変換をキャリブレーションする方法を示すフローチャートである。
【図５】遠隔ロボットを制御またはプログラムするための視覚ベースの追跡および通信が可能なモバイルデバイスのブロック図である。
【図６】遠隔モバイルデバイスによってワイヤレスで提供される、視覚ベースの追跡情報に基づいてロボットを制御することが可能なコントローラのブロック図である。
【発明を実施するための形態】
【００１１】
図1は、ロボットアーム120の動きを制御するのに使用され得る、カメラ102付きのモバイルデバイス100を含むシステムを示す。モバイルデバイス100は、拡張現実などの用途にしばしば使用される、視覚ベースの追跡を使用して環境物体106に対するモバイルデバイス100の姿勢を追跡する視覚ベースの追跡モジュール101を含む。図1に示すように、モバイルデバイス100は、ワイヤレスネットワーク115を介してロボットアーム120用のコントローラ130と通信し、モバイルデバイス100の姿勢の変化、すなわちモバイルデバイス100の軌道は、ロボットアーム120を制御するための命令に変換される。
【００１２】
したがって、モバイルデバイス100を使用して、ロボットアーム120などのロボットは、視覚ベースの追跡を使用してモバイルデバイス100がユーザの手に保持されながら、モバイルデバイス100の動きを再現するためにプログラムまたは制御され得る。ロボットは、たとえば、アームの端部の把持部を動かすように、またはロボット全体を動かすことを含めて、ロボットの他の態様を動かすように制御され得る。ロボットアーム120を制御またはプログラムするためにモバイルデバイス100を使用することは、テストにおいて、および自動化が必要とされる場合(たとえば、教育目的、ゲーム室(gaming stall)など)に使用することに見出すことができる。遠隔操作では、ロボットは、拡張現実とともに使用されるものなど、モバイルデバイス上の視覚ベースの追跡モジュールによって測定される、リアルタイムの手の動きを模倣することができる。ゲーム室では、ロボットは、プレイヤーの軌道を再現することができる。テスト環境において、ロボットアームの動きをプログラムまたは制御するためにモバイルデバイス100内の視覚ベースの追跡モジュールを使用することは、ロボットの軌道をプログラムする、時間がかかる従来のプロセスに取って代わることができる。加えて、ロボットは、たとえば、災害管理のために遠隔からリアルタイムで制御され得る。ロボットは、ロボットが後で相応に動くことができるようにファイル内に手の動きを保存することによって、手の動きのリアルタイム、またはオフラインのいずれかで手の動きまたは他の所望の動きを模倣することができる。
【００１３】
本明細書で使用される場合、モバイルデバイスは、セルラーもしくは他のワイヤレス通信デバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス(PND)、個人情報マネージャ(PIM)、携帯情報端末(PDA)、または他の適したモバイルデバイスなどの任意のポータブル電子デバイスを指す。モバイルデバイスは、ワイヤレス通信を受信することが可能であり、ワイヤード通信が可能であり得る。「モバイルデバイス」という用語はまた、衛星信号受信、支援データ受信、および/または位置関連処理がそのデバイスにおいて行われるか、パーソナルナビゲーションデバイス(PND)において行われるかにかかわらず、短距離ワイヤレス、赤外線、有線接続、または他の接続などによって、PNDと通信するデバイスを含むものである。また、「モバイルデバイス」は、その環境の画像(またはビデオ)をキャプチャすることが可能であるワイヤレス通信デバイス、コンピュータ、ラップトップ、タブレットコンピュータなどを含む、すべての電子デバイスを含むものである。
【００１４】
モバイルデバイス100は、環境に対する姿勢を追跡するために視覚ベースの追跡を使用する。たとえば、モバイルデバイス100は、環境物体106に対するモバイルデバイス100の現在の姿勢が特定される、ディスプレイ104に示される物体106の画像をキャプチャする。姿勢の変化、すなわち、矢印108によって示される、物体106に対するモバイルデバイス100の軌道は、それによって、たとえばモバイルデバイス100またはコントローラ130のいずれかによって特定され得る。モバイルデバイス100の軌道は、たとえばモバイルデバイス100またはコントローラ130のいずれかによって、変換を使用してロボットアーム120の動きのための命令に変換される。たとえば、モバイルデバイス100の軌道は、ロボットの内部座標系に表される、ロボットの所望の動きに変換され得る。次いで、コントローラ130は、モバイルデバイス100の軌道に基づいて、矢印122によって示されるようにロボットアーム120が動くように制御することができる。必要な場合、モバイルデバイス100は、リアルタイムでロボットアーム120を制御するために使用され得るか、またはロボットアーム120の動きをプログラムするために使用され得、その後ロボットアーム120は、モバイルデバイス100からのさらなる入力なしに動く。
【００１５】
モバイルデバイス100の現在の姿勢、モバイルデバイスの軌道、およびモバイルデバイスの軌道のロボットアーム120の動きに関する命令への変換のいくつかまたはすべては、モバイルデバイス100またはコントローラ130によって特定され得る。たとえば、モバイルデバイス100は、キャプチャされた画像データ、たとえばキャプチャされた画像またはそれらの画像から抽出された特徴点をネットワーク115を介してコントローラ130に提供することができ、コントローラ130は、視覚ベースの追跡ならびに軌道およびその軌道の変換を使用してモバイルデバイス100の現在の姿勢を特定することができる。あるいは、モバイルデバイス100は、現在の姿勢を特定し、ネットワークを介して現在の姿勢をコントローラ130に提供することができ、次いで、コントローラ130は、モバイルデバイス100の軌道およびその軌道の変換を特定する。モバイルデバイス100は、現在の姿勢および軌道を特定し、ネットワーク115を介してその軌道をコントローラ130に提供することができ、コントローラ130は、その軌道の変換を特定する。モバイルデバイス100は、現在の姿勢、軌道、およびその軌道の変換を特定し、ネットワーク115を介してその軌道の変換をコントローラ130に提供することができる。
【００１６】
モバイルデバイス100の軌道のロボットアーム120の動きへの変換は、良く知られたハンドアイキャリブレーションプロセスを使用してもたらされる変換を使用して実行され得る。図2は、例として、モバイルデバイス100がロボットアーム120によって保持されるハンドアイキャリブレーションプロセスを示す。矢印124によって示されるように、所定の動きでロボットアーム120によってモバイルデバイス100を動かすことにより、モバイルデバイス100のトレーニング軌道が特定される。所定の動きおよびトレーニング軌道に基づいて、キャリブレーション変換として機能する、ハンドアイキャリブレーションがもたらされる。モバイルデバイス100の軌道をロボットアーム120の動きに関する命令に変換するための変換は、ハンドアイキャリブレーションを逆変換することによってもたらされる。キャリブレーション変換は、たとえばワイヤレスネットワーク115を介して、モバイルデバイス100からのトレーニング軌道をロボットアームコントローラ130に提供することによってもたらすことができ、コントローラ130は、ハンドアイキャリブレーションを特定し、それを逆変換する。あるいは、キャリブレーション変換は、ワイヤレスネットワーク115を介して、ロボットアーム120の所定の動きをモバイルデバイス100に提供することによってもたらすことができ、モバイルデバイス100は、キャリブレーション変換を特定し、必要な場合、キャリブレーション変換を逆変換する。
【００１７】
図3は、モバイルデバイスを使用して視覚ベースの追跡によって、ロボットアームまたは他の適切なタイプのロボットなどのロボットを制御する方法を示すフローチャートである。わかるように、モバイルデバイスの軌道をロボットの所望の動きに変換する変換がキャリブレーションされる(202)。カメラ付きのモバイルデバイスは、モバイルデバイスから離れたロボットのために所望の動きで動かされる(204)。モバイルデバイスの軌道は、カメラによってキャプチャされた画像(たとえば、ビデオストリーム)を使用して特定される(206)。その軌道は、たとえば、モバイルデバイスと画像化された物体との間の姿勢の変化を検出することによって特定され得る。モバイルデバイスの軌道は、ロボットの所望の動きに変換される(208)。たとえば、モバイルデバイス100の軌道は、ロボットの内部座標系に表される、ロボットの所望の動きに変換され得る。制御情報は、ロボットが所望の動きで動くように生成され得る(210)。制御情報を生成することは、たとえば、アームの端部の把持部を動かすように、またはロボット全体を動かすことを含めて、ロボットの他の態様を動かすようにロボットを制御することを含み得る。ロボットが所望の動きで動くように生成された制御情報は、所望の動きでロボットをプログラムするか、またはリアルタイムもしくはオフラインでロボットを制御するために使用され得る。
【００１８】
図4は、図3のステップ202で説明した、モバイルデバイスの軌道をロボットの所望の動きに変換するための変換をキャリブレーションする方法を示すフローチャートである。図3でわかるように、モバイルデバイスは、ロボットに結合される(252)。たとえば、ロボットアームは、モバイルデバイスを保持することができるか、または、そうでない場合、モバイルデバイスは、ロボットに一時的に取り付けられ得る。ロボットは、モバイルデバイスのトレーニング軌道を特定しながら動かされる(254)。たとえば、ロボットが動かされるとき、モバイルデバイスは、環境の物体の画像をキャプチャし、それから、物体に対するモバイルデバイスの姿勢が特定され、続いて、軌道または姿勢の変化を特定する。ロボットの動きおよびモバイルデバイスのトレーニング軌道を使用して、ロボットの動きのモバイルデバイスのトレーニング軌道へのキャリブレーション変換がもたらされる(256)。したがって、たとえば、キャリブレーション変換は、モバイルデバイス100のトレーニング軌道に対する、ロボットの内部座標系に表されるロボットの動きのためにもたらされ得る。キャリブレーション変換は、モバイルデバイスの軌道のロボットの所望の動きへの変換をもたらすために逆変換され(258)、その変換は、メモリに記憶される(260)。
【００１９】
図5は、遠隔ロボットを制御またはプログラムするための視覚ベースの追跡および通信が可能なモバイルデバイス100のブロック図である。モバイルデバイス100は、たとえばビデオストリームで、画像をキャプチャするためのカメラ102を含む。モバイルデバイス100は、図1に示すように、たとえばコントローラ130によって、ネットワーク115を介してロボットと通信するのに使用されるワイヤレスインターフェース103をさらに含む。上記で説明したように、モバイルデバイス100は、画像データ、たとえば画像またはそれらの画像から抽出された特徴点のいずれかをワイヤレスインターフェース103を介して送信することができ、コントローラ130は、モバイルデバイス100を追跡し、それに応じてロボットを制御するために画像データを使用する。あるいは、モバイルデバイス100は、その姿勢を追跡し、その姿勢データ、すなわち現在の姿勢または軌道のいずれかをワイヤレスインターフェース103を介して送信することができ、コントローラ130は、それに応じてロボットを制御するために姿勢データを使用する。加えて、モバイルデバイス100は、その姿勢を追跡し、その姿勢データを、ロボットを制御するための命令に変換することができ、その命令は、ワイヤレスインターフェース103を介して送信され得る。
【００２０】
ワイヤレスインターフェース103は、ワイヤレスワイドエリアネットワーク(WWAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイヤレスパーソナルエリアネットワーク(WPAN)などの任意の様々なワイヤレス通信ネットワークで使用され得る。「ネットワーク」および「システム」という用語は、しばしば互換的に使用される。WWANは、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交周波数分割多元接続(OFDMA)ネットワーク、シングルキャリア周波数分割多元接続(SC-FDMA)ネットワーク、ロングタームエボリューション(LTE)などであり得る。CDMAネットワークは、cdma2000、広帯域CDMA(W-CDMA)などの1つまたは複数の無線アクセス技術(RAT)を実装することができる。cdma2000は、IS-95、IS-2000、およびIS-856規格を含む。TDMAネットワークは、Global System for Mobile Communications(GSM)、Digital Advanced Mobile Phone System(D-AMPS)、または何らかの他のRATを実装することができる。GSMおよびW-CDMAは、「第3世代パートナーシッププロジェクト」(3GPP)という名称の組織からの文書に記載されている。cdma2000は、「第3世代パートナーシッププロジェクト2」(3GPP2)という名称の組織からの文書に記載されている。3GPPおよび3GPP2の文書は、公的に入手可能である。WLANは、IEEE802.11xネットワークとすることができ、WPANはBluetooth(登録商標)ネットワーク、IEEE802.15x、または何らかの他のタイプのネットワークとすることができる。さらに、WWAN、WLAN、および/またはWPANの任意の組合せが使用され得る。
【００２１】
モバイルデバイス100は、ディスプレイ104、キーパッド、またはユーザが情報をモバイルデバイス100に入力することができる他の入力デバイスを含むユーザインターフェース107をさらに含み得る。必要な場合、キーパッドは、仮想キーパッドをタッチセンサ付きディスプレイ104に組み込むことによって除去され得る。たとえば、モバイルデバイス100が携帯電話などである場合、ユーザインターフェース107は、マイクロフォンおよびスピーカを含むこともできる。当然、モバイルデバイス100は、本開示に無関係の他の要素を含み得る。
【００２２】
モバイルデバイス100は、カメラ102およびワイヤレスインターフェース103に接続され、カメラ102およびワイヤレスインターフェース103と通信する制御モジュール105も含む。制御モジュール105は、カメラ102から画像を受け取り、それらの画像を処理し、ネットワーク115を介してデータを送信用のワイヤレスインターフェース103に提供する。制御モジュール105は、バス105b、プロセッサ105pおよび関連するメモリ105m、ハードウェア105h、ファームウェア105f、ならびにソフトウェア105sによって提供され得る。制御モジュール105はさらに、カメラ102によって提供される画像の視覚ベースの追跡を使用して環境に対するモバイルデバイス100の姿勢を追跡する、視覚ベースの追跡モジュール101を含むものとして示される。モバイルデバイス100は、任意の既知のタイプの視覚ベースの追跡を使用し得る。視覚ベースの追跡モジュール101は、姿勢データを提供し、姿勢データは、ロボットを制御するための命令に変換される。たとえば、視覚ベースの追跡モジュール101によって提供される姿勢データは、コントローラ130に提供され得る、モバイルデバイスの軌道、すなわちモバイルデバイスの姿勢の変化もしくは単にモバイルデバイス100の現在の姿勢とすることができ、コントローラ130は、モバイルデバイス100の軌道を特定する。加えて、図5に示すように、モバイルデバイス100は、姿勢データをロボットの所望の動きに変換する変換モジュール109をさらに含むことができ、ロボットの所望の動きは、ワイヤレスインターフェース103によって送信され得る。
【００２３】
視覚ベースの追跡モジュール101および変換モジュール109は、明確にするために互いに別に、およびプロセッサ105pとは別に示されているが、プロセッサ105pの一部であるか、またはプロセッサ105p内で実行されるソフトウェア105s内の命令に基づいてプロセッサ内に実装され得る。本明細書で使用する場合、プロセッサ105pは、1つまたは複数のマイクロプロセッサ、埋め込み式プロセッサ、コントローラ、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)などを含み得るが、必ずしもそれらを含む必要がないことが理解されよう。プロセッサという用語は、特定のハードウェアではなく、システムによって実施される機能について説明するものである。さらに、本明細書で使用する場合、「メモリ」という用語は、モバイルデバイスに関連する長期メモリ、短期メモリ、または他のメモリを含む、任意のタイプのコンピュータ記憶媒体を指し、任意の特定のタイプのメモリもしくは任意の特定の数のメモリ、またはメモリが記憶される媒体のタイプに限定されない。
【００２４】
本明細書で説明する方法は、用途に応じて様々な手段によって実装され得る。たとえば、これらの方法は、ハードウェア105h、ファームウェア113f、ソフトウェア105s、またはそれらの任意の組合せで実装され得る。ハードウェア実装形態の場合、処理ユニットは、本明細書で説明する機能を実行するように設計された、1つもしくは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、他の電子ユニット、またはそれらの組合せ内で実装され得る。
【００２５】
ファームウェアおよび/またはソフトウェアの実装形態の場合、これらの方法は、本明細書で説明する機能を実行するモジュール(たとえば、プロシージャ、関数など)で実装され得る。本明細書で説明する方法を実装する際に、命令を有形に具現化する任意の機械可読媒体が使用され得る。たとえば、ソフトウェアコードは、メモリ105m内に記憶され、プロセッサ105pによって実行され得る。メモリ105mは、プロセッサ105p内に実装されるか、またはプロセッサ105pの外部に実装され得る。機能は、ファームウェアおよび/またはソフトウェアに実装される場合、コンピュータ可読である記憶媒体上に1つまたは複数の命令またはコードとして記憶され得、その記憶媒体は、過渡的な伝播信号を含まない。例としては、データ構造を用いて符号化された記憶媒体、およびコンピュータプログラムを用いて符号化されたストレージがある。記憶媒体としては、物理的なコンピュータ記憶媒体がある。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく、例として、そのような記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または所望のプログラムコードを命令もしくはデータ構造の形で記憶するのに使用することができ、かつコンピュータからアクセスすることができる任意の他の媒体を含むことができ、本明細書で使用するディスク(diskおよびdisc)には、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー（登録商標）ディスク(disk)、およびブルーレイディスク(disc)が含まれ、ディスク(disk)は通常、データを磁気的に再生するが、ディスク(disc)はデータをレーザによって光学的に再生する。上記の組合せも、記憶媒体の範囲内に含めるべきである。
【００２６】
図6は、遠隔モバイルデバイス100によってワイヤレスで提供される、視覚ベースの追跡情報に基づいてロボットを制御することが可能なコントローラ130のブロック図である。コントローラ130は、画像データ、たとえばモバイルデバイス100によってキャプチャされた画像もしくはそれらの画像から抽出された特徴点のいずれか、または姿勢データ、たとえばモバイルデバイス100の軌道もしくは現在の姿勢を、次にネットワーク115を介して受信するのに使用される外部インターフェース132を含む。
【００２７】
外部インターフェース132は、ワイヤレスワイドエリアネットワーク(WWAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイヤレスパーソナルエリアネットワーク(WPAN)などの任意の様々なワイヤレス通信ネットワークで使用されるルータ(図示せず)またはワイヤレスインターフェースへのワイヤードインターフェースであり得る。「ネットワーク」および「システム」という用語は、しばしば互換的に使用される。WWANは、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交周波数分割多元接続(OFDMA)ネットワーク、シングルキャリア周波数分割多元接続(SC-FDMA)ネットワーク、ロングタームエボリューション(LTE)などであり得る。CDMAのネットワークは、cdma2000、広帯域CDMA(W-CDMA)などの、1つまたは複数の無線アクセス技術(RAT)を実装することができる。cdma2000は、IS-95、IS-2000、およびIS-856規格を含む。TDMAネットワークは、Global System for Mobile Communications(GSM（登録商標）)、Digital Advanced Mobile Phone System(D-AMPS)、または何らかの他のRATを実装することができる。GSMおよびW-CDMAは、「第3世代パートナーシッププロジェクト」(3GPP)という名称の組織からの文書に記載されている。cdma2000は、「第3世代パートナーシッププロジェクト2」(3GPP2)という名称の組織からの文書に記載されている。3GPPおよび3GPP2の文書は、公的に入手可能である。WLANは、IEEE802.11xネットワークとすることができ、WPANはBluetooth(登録商標)ネットワーク、IEEE802.15x、または何らかの他のタイプのネットワークとすることができる。さらに、WWAN、WLAN、および/またはWPANの任意の組合せが使用され得る。
【００２８】
コントローラ130は、コントローラ130がロボットを制御することができるロボットインターフェース134をさらに含む。ロボットインターフェースは、任意のワイヤードインターフェースまたはワイヤレスインターフェースであり得る。コントローラ130は、たとえば、ディスプレイ、およびキーパッドまたはユーザが情報をコントローラ130に入力することができる他の入力デバイスを含み得るユーザインターフェース136をさらに含むことができる。
【００２９】
コントローラ130は、外部インターフェース132およびロボットインターフェース134に接続され、外部インターフェース132およびロボットインターフェース134と通信する制御モジュール140も含む。制御モジュール140は、外部インターフェース132を介してモバイルデバイス100から受信された姿勢データまたは画像データを受け取り、それらを処理し、それに応じてロボットインターフェース134を介してロボットを制御する。制御モジュール140は、バス140b、プロセッサ140pおよび関連するメモリ140m、ハードウェア140h、ファームウェア140f、ならびにソフトウェア140sによって提供され得る。制御モジュール140は、画像データがモバイルデバイス100によって提供される場合、視覚ベースの追跡を使用して環境に対するモバイルデバイス100の姿勢を追跡するための視覚ベースの追跡モジュール141をさらに含むことができる。コントローラ130は、任意の既知のタイプの視覚ベースの追跡を使用し得る。視覚ベースの追跡モジュール141は、軌道を提供し、軌道は、ロボットを制御するための命令に変換される。コントローラ130は、外部インターフェース132を介してモバイルデバイス100から受信されるか、または視覚ベースの追跡モジュール141から受信される姿勢データを、ロボットの所望の動きに変換する変換モジュール143を含み、ロボットの所望の動きは、ロボットインターフェース134を介してロボットに送信される。
【００３０】
視覚ベースの追跡モジュール141および変換モジュール143は、明確にするために互いに別に、およびプロセッサ140pとは別に示されているが、プロセッサ140pの一部であるか、またはプロセッサ140p内で実行されるソフトウェア140s内の命令に基づいてプロセッサ内に実装され得る。本明細書で使用する場合、プロセッサ140pは、1つまたは複数のマイクロプロセッサ、埋め込み式プロセッサ、コントローラ、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)などを含み得るが、必ずしもそれらを含む必要がないことが理解されよう。プロセッサという用語は、特定のハードウェアではなく、システムによって実施される機能について説明するものである。さらに、本明細書で使用する場合、「メモリ」という用語は、モバイルデバイスに関連する長期メモリ、短期メモリ、または他のメモリを含む、任意のタイプのコンピュータ記憶媒体を指し、任意の特定のタイプのメモリもしくは任意の特定の数のメモリ、またはメモリが記憶される媒体のタイプに限定されない。
【００３１】
本明細書で説明する方法は、用途に応じて様々な手段によって実装され得る。たとえば、これらの方法は、ハードウェア140h、ファームウェア140f、ソフトウェア140s、またはそれらの任意の組合せで実装され得る。ハードウェア実装形態の場合、処理モジュールは、本明細書で説明する機能を実行するように設計された、1つもしくは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、他の電子ユニット、またはそれらの組合せ内で実装され得る。
【００３２】
ファームウェアおよび/またはソフトウェアの実装形態の場合、これらの方法は、本明細書で説明する機能を実行するモジュール(たとえば、プロシージャ、関数など)で実装され得る。本明細書で説明する方法を実装する際に、命令を有形に具現化する任意の機械可読媒体が使用され得る。たとえば、ソフトウェアコードは、メモリ140m内に記憶され、プロセッサ140pによって実行され得る。メモリ140mは、プロセッサ140p内に実装されるか、またはプロセッサ140pの外部に実装され得る。機能は、ファームウェアおよび/またはソフトウェアに実装される場合、コンピュータ可読である記憶媒体上に1つまたは複数の命令またはコードとして記憶され得、その記憶媒体は、過渡的な伝播信号を含まない。例としては、データ構造を用いて符号化された記憶媒体、およびコンピュータプログラムを用いて符号化されたストレージがある。記憶媒体としては、物理的なコンピュータ記憶媒体がある。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく、例として、そのような記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または所望のプログラムコードを命令もしくはデータ構造の形で記憶するのに使用することができ、かつコンピュータからアクセスすることができる任意の他の媒体を含むことができ、本明細書で使用するディスク(diskおよびdisc)には、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびブルーレイディスク(disc)が含まれ、ディスク(disk)は通常、データを磁気的に再生するが、ディスク(disc)はデータをレーザによって光学的に再生する。上記の組合せも、記憶媒体の範囲内に含めるべきである。
【００３３】
したがって、システムは、たとえば、視覚ベースの追跡モジュール101、141、または、ソフトウェア104s、140sから受信される命令を実行するプロセッサ105p、140pであり得る、モバイルデバイスから離れたロボットのためにモバイルデバイスが所望の動きで動かされながら、モバイルデバイスによってキャプチャされた画像を使用してモバイルデバイスの軌道を特定するための手段を含む。モバイルデバイスの軌道をロボットの所望の動きに変換するための手段は、たとえば、変換モジュール109、143、または、ソフトウェア104s、140sから受信される命令を実行するプロセッサ105p、140pであり得る。所望の動きで動くようにロボットを制御するための手段は、たとえば、ワイヤレスインターフェース103に、ネットワーク115を介して所望の動きをコントローラ130に提供させるプロセッサ105p、または、ロボットインターフェース134に、適切な制御信号をロボットに提供させるプロセッサ140pであり得る。加えて、システムは、たとえば、変換モジュール109、143、または、ソフトウェア104s、140sから受信される命令を実行するプロセッサ105p、140pであり得る、モバイルデバイスの軌道のロボットの所望の動きへの変換をキャリブレーションするための手段をさらに含むことができる。
【００３４】
教授の目的で本発明を特定の実施形態に関連して示したが、本発明はそれらの実施形態に限定されない。本発明の範囲から逸脱することなく様々な適応および変更を行うことができる。したがって、添付の特許請求の範囲の趣旨および範囲は、上記の説明に限定されるべきではない。
【符号の説明】
【００３５】
100  モバイルデバイス
101  視覚ベースの追跡モジュール
102  カメラ
103  ワイヤレスインターフェース
104  ディスプレイ
105  制御モジュール
105b  バス
105f  ファームウェア
105h  ハードウェア
105m  メモリ
105p  プロセッサ
105s  ソフトウェア
106  環境物体
107  ユーザインターフェース
109  変換モジュール
115  ネットワーク
120  ロボットアーム
130  コントローラ
132  外部インターフェース
134  ロボットインターフェース
136  ユーザインターフェース
140  制御モジュール
140b  バス
140f  ファームウェア
140h  ハードウェア
140m  メモリ
140p  プロセッサ
140s  ソフトウェア
141  視覚ベースの追跡モジュール
143  変換モジュール
【図１】
0005809384.tif 000002
【図２】
0005809384.tif 000003
【図３】
0005809384.tif 000004
【図４】
0005809384.tif 000005
【図５】
0005809384.tif 000006
【図６】
0005809384.tif 000007