(57)【要約】【課題】【解決手段】本発明は、ロボットコマンドがロボットの姿勢に基づいて決定されるのを可能にするシステムと方法である。本システムは、区別不能な点を使っている対象物の方向と姿勢を決定する。姿勢検出の結果は、ロボットのコマンドボキャブラリに基づく。本システムは、ラベルのないマーカを使っている姿勢検出によってロボットを制御する。
2008538327.tif 000002
【特許請求の範囲】
【請求項１】
区別不能な点のセットに対応した１つ以上のロボットコマンドを決定するロボットコマンド決定方法であって、それぞれの点は姿勢を有する対象物上の異なる位置を示し、どの２点も対象物上の同じ位置を示さず、
前記点のセットを、第１の点のサブセットの点が前記対象物の第１の部分上の位置を示し、第２の点のサブセットの点が前記対象物の第２の部分上の位置を示すように、ロボットコマンドのセットに対応する数の複数の点のサブセットに分離するステップと、
前記複数の点のサブセットから、前記対象物の姿勢を決定するステップと、
前記対象物の姿勢に基づいて、ロボットコマンドのセットから１つ以上のロボットコマンドを決定するステップと、
を有することを特徴とするロボットコマンド決定方法。
【請求項２】
複数のマーカから前記区別不能な点のセットを決定するステップを、さらに有することを特徴とする請求項１に記載のロボットコマンド決定方法。
【請求項３】
マーカは前記対象物の視覚的な特徴であることを特徴とする請求項２のロボットコマンド決定方法。
【請求項４】
マーカは前記対象物に取り付けられることを特徴とする請求項２に記載のロボットコマンド決定方法。
【請求項５】
マーカは前記対象物の位置から一定の距離にあることを特徴とする請求項４に記載のロボットコマンド決定方法。
【請求項６】
複数のマーカから前記区別不能な点のセットを決定するステップは、カメラを使ってマーカの位置を検出するステップを含むことを特徴とする請求項２に記載のロボットコマンド決定方法。
【請求項７】
複数のマーカから前記区別不能な点のセットを決定するステップは、光学センサを使ってマーカの位置を検出するステップを含むことを特徴とする請求項２に記載のロボットコマンド決定方法。
【請求項８】
複数のマーカから前記区別不能な点のセットを決定するステップは、慣性検出器を使ってマーカの位置を検出するステップを含むことを特徴とする請求項２に記載のロボットコマンド決定方法。
【請求項９】
前記区別不能な点のセットは、少なくとも３つの区別不能な点を含むことを特徴とする請求項１に記載のロボットコマンド決定方法。
【請求項１０】
前記点のセットは、点群化方法を用いて複数の点のサブセットに分離されることを特徴とする請求項１に記載のロボットコマンド決定方法。
【請求項１１】
前記点のセットは、点の配置に対応して複数の点のサブセットに分離されることを特徴とする請求項１に記載のロボットコマンド決定方法。
【請求項１２】
前記対象物は、人体であることを特徴とする請求項１に記載のロボットコマンド決定方法。
【請求項１３】
前記対象物の第１の部分は前記人体の第１の部位であり、前記対象物の第２の部分は前記人体の第２の部位であることを特徴とする請求項１２に記載のロボットコマンド決定方法。
【請求項１４】
前記対象物の姿勢を決定するステップは、
前記第１の点のサブセットの方向を決定するステップと、
前記第２の点のサブセットの方向を決定するステップと、
を含むことを特徴とする請求項１に記載のロボットコマンド決定方法。
【請求項１５】
前記第１の点のサブセットの方向を決定するステップは、
方位調整可能な幾何学図形を前記第１の点のサブセットに合致させるステップを含むことを特徴とする請求項１４に記載のロボットコマンド決定方法。
【請求項１６】
前記１つ以上のロボットコマンドを決定するステップは、
前記第１の点のサブセットの方向と前記第２の点のサブセットの方向とに対応して行われることを特徴とする請求項１４に記載のロボットコマンド決定方法。
【請求項１７】
前記１つ以上のロボットコマンドを決定するステップは、
前記第１の点のサブセットの方向と前記第２の点のサブセットの方向との間の角度に対応して行われることを特徴とする請求項１４に記載のロボットコマンド決定方法。
【請求項１８】
前記１つ以上のロボットコマンドは、ロボットを制御することに用いられることを特徴とする請求項１に記載のロボットコマンド決定方法。
【請求項１９】
前記ロボットは、人型ロボットであることを特徴とする請求項１８に記載のロボットコマンド決定方法。
【請求項２０】
前記ロボットは、仮想ロボットであることを特徴とする請求項１８に記載のロボットコマンド決定方法。
【請求項２１】
１つ以上のロボットコマンドを決定するロボットコマンド決定システムであって、
姿勢を有する対象物上の異なる位置を示し区別不能なそれぞれの点のセットを受け取り、前記点のセットを、第１の点のサブセットの点が前記対象物の第１の部分上の位置を示し、第２の点のサブセットの点が前記対象物の第２の部分上の位置を示すように、ロボットコマンドのセットに対応する数の複数の点のサブセットに分離する点分離器と、
前記複数の点のサブセットから前記対象物の姿勢を決定する姿勢決定器と、
前記対象物の姿勢に基づいたロボットコマンドのセットから１つ以上のロボットコマンドを決定するロボットコマンド決定器と、を備える
ことを特徴とするロボットコマンド決定システム。
【請求項２２】
複数のマーカの位置を検出し、区別不能な点のセットを決定するマーカ検出器を、さらに備えることを特徴とする請求項２１に記載のロボットコマンド決定システム。
【請求項２３】
前記マーカ検出器はカメラであることを特徴とする請求項２２に記載のロボットコマンド決定システム。
【請求項２４】
前記マーカ検出器は光学センサであることを特徴とする請求項２２に記載のロボットコマンド決定システム。
【請求項２５】
前記マーカ検出器は慣性検出器であることを特徴とする請求項２２に記載のロボットコマンド決定システム。
【請求項２６】
前記区別不能な点のセットは、少なくとも３つの区別不能な点を含むことを特徴とする請求項２１に記載のロボットコマンド決定システム。
【請求項２７】
前記第１の点のサブセットの方向を決定する第１の方向決定器と、
前記第２の点のサブセットの方向を決定する第２の方向決定器と、をさらに備える
ことを特徴とする請求項２１に記載のロボットコマンド決定システム。
【請求項２８】
前記第１の方向決定器は、方位調整可能な幾何学図形を前記第１の点のサブセットに合致させる幾何学図形適合器である
ことを特徴とする請求項２７に記載のロボットコマンド決定システム。
【請求項２９】
前記ロボットコマンド決定器は、前記第１の点のサブセットの方向と前記第２の点のサブセットの方向とに基づいたロボットコマンドのセットから、１つ以上のロボットコマンドを決定する
ことを特徴とする請求項２７に記載のロボットコマンド決定システム。
【請求項３０】
前記ロボットコマンド決定器は、前記第１の点のサブセットの方向と前記第２の点のサブセットの方向との角度に基づいたロボットコマンドのセットから、１つ以上のロボットコマンドを決定する
ことを特徴とする請求項２７に記載のロボットコマンド決定システム。
【請求項３１】
区別不能な点のセットに対応した１つ以上のロボットコマンドを決定するロボットコマンド決定システムであって、それぞれの点は姿勢を有する対象物上の異なる位置を示し、どの２点も対象物上の同じ位置を示さず、
前記点のセットを、第１の点のサブセットの点が前記対象物の第１の部分上の位置を示し、第２の点のサブセットの点が前記対象物の第２の部分上の位置を示すように、ロボットコマンドのセットに対応する数の複数の点のサブセットに分離する手段と、
前記複数の点のサブセットから前記対象物の姿勢を決定する手段と、
前記対象物の姿勢に基づいて、ロボットコマンドのセットから１つ以上のロボットコマンドを決定する手段と、を備える
ことを特徴とするロボットコマンド決定システム。
【請求項３２】
複数のマーカから前記区別不能な点のセットを決定する手段を、さらに備えることを特徴とする請求項３１に記載のロボットコマンド決定システム。
【請求項３３】
前記した複数のマーカから区別不能な点のセットを決定する手段は、カメラを使ってマーカの位置を検出する手段であることを特徴とする請求項３２に記載のロボットコマンド決定システム。
【請求項３４】
前記した複数のマーカから区別不能な点のセットを決定する手段は、光学センサを使ってマーカの位置を検出する手段であることを特徴とする請求項３２に記載のロボットコマンド決定システム。
【請求項３５】
前記した複数のマーカから区別不能な点のセットを決定する手段は、慣性検出器を使ってマーカの位置を検出する手段であることを特徴とする請求項３２に記載のロボットコマンド決定システム。
【請求項３６】
前記第１の点のサブセットの方向を決定する手段と、
前記第２の点のサブセットの方向を決定する手段と、をさらに備える
ことを特徴とする請求項３１に記載のロボットコマンド決定システム。
【請求項３７】
前記第１の点のサブセットの方向を決定する手段は、方位調整可能な幾何学図形を前記第１の点のサブセットに合致させる手段であることを特徴とする請求項３６に記載のロボットコマンド決定システム。
【請求項３８】
前記１つ以上のロボットコマンドを決定する手段は、前記第１の点のサブセットの方向と前記第２の点のサブセットの方向とに対応することを特徴とする請求項３６に記載のロボットコマンド決定システム。
【請求項３９】
前記１つ以上のロボットコマンドを決定する手段は、前記第１の点のサブセットの方向と前記第２の点のサブセットの方向との間の角度に対応することを特徴とする請求項３６に記載のロボットコマンド決定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、米国仮出願第６０／６７２，９１６号（２００５年４月１８日提出）および米国出願（出願番号未定：２００６年４月１７日提出）「ロボットの姿勢制御」に基づき優先権を主張し、この参照により全文を本開示に含むものとする。
【０００２】
本発明は、ロボットコマンド（ロボットに対する命令）の決定に関し、特に、対象物（人体など）の姿勢に基づいたロボットコマンドの決定に関する。
【背景技術】
【０００３】
ロボット制御は、特別なユーザインタフェースのチャレンジを提供する。精巧なロボットは、予め設けられたとても幅広いコマンドを実行することができる。そして、精巧なロボットは、これらのロボットを制御するためのユーザインタフェースが、高い自由度を持っている入力を受け入れることを必要とする。一方、ロボットアプリケーションは、ロボットの制御が速くて、直観的で、低労力であることを必要とすることが多い。
【０００４】
ロボットを制御する前のアプローチは、制御装置を操作することに焦点を当てる。例えば、ユーザは、ジョイスティックを使う、キーボードを打つ、あるいは、遠隔操作のために構成されたロボットの模型を動かすことによって、ロボットコマンドを選ぶかもしれない。しかし、そのような方法は、通常彼らが選ぶことに慣れている命令の自由度の数で制限されるか、あるいは、場合によってはユーザにとって非直観的であり、高いレベルの操作訓練を必要とする。
【０００５】
したがって、必要なのは、制御装置の操作を必要としない、ロボットコマンドを決定するためのシステムと方法である。
【発明の開示】
【課題を解決するための手段】
【０００６】
本発明では、対象物の姿勢に基づいてロボットコマンドを決定するシステムと方法が提案される。対象物上での位置を表している区別不能な点の集合は、サブセット（部分集合）に分けられる。
【０００７】
点のサブセットは、対象物の姿勢を決定するのに用いられる。例えば、１つの実施形態において、点のサブセットは、対象物のサブパーツ（部位）の方向（方位）を決定するのに用いられる。対象物における１つ以上のサブパーツの方向は、対象物の姿勢を集合的に決定するのに用いられてもよい。
【０００８】
点のサブセットの数は、対象物の姿勢によって表現されるコマンドのセット（集合）に基づく。例えば、１つの実施形態において、対象物の姿勢は、２つのコマンドのうちの１つを意味する。また、各コマンドは、１つ以上のパラメータを有する。
【０００９】
対象物の姿勢は、対象物の姿勢で表現されるコマンドのセットから１つ以上のロボットコマンドを決定するのに用いられる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。本実施形態において、同一の参照符号は、同一あるいは機能的に類似する要素を指す。また、図面においても、各参照符号の一番左の数字は、その参照符号が最初に使われる図面（の番号）と一致する。
【００１１】
「１つの実施形態」への、または、「実施形態」への本明細書においての参照とは、実施形態と関連して記述される特別な特徴、構造または特性が発明の少なくとも１つの実施形態に含まれることを意味する。明細書の様々な箇所での「１つの実施形態において」というフレーズの出現のすべてが、必ずしも、同じ実施形態に言及しているわけではない。
【００１２】
以下の詳細な説明のいくつかの部分は、コンピュータメモリの範囲内におけるデータビット上での操作のアルゴリズムや象徴的な表現という観点で示されている。これらのアルゴリズム的な説明や表現は、データ処理技術に精通した人々が、他の当業者に対して、最も効果的に自分たちの成果の本質を伝えるために使う手段である。ここで、一般に、アルゴリズムとは、望む結果につながっているステップ（命令）の首尾一貫したシーケンスであると理解されている。各ステップは、それらの要求している、物理量に対する物理的な操作である。通常、必然性はないが、これらの量は、電気、磁気あるいは光学信号の形をとる。電気、磁気あるいは光学信号は、保存、移転、結合、比較、その他の操作が可能である。主に一般的な用法上の理由で、ビット、価値、要素、シンボル、文字、用語、数、またはその種の他のものとしてこれらの信号を使用することは、便利であることが多い。さらにまた、一般性の損失なしで、モジュールまたはコード装置として物理量の物理的な操作を必要としているステップの特定の配列を参照することも、便利であることが多い。
【００１３】
しかし、これらおよび類似した語のすべては、適当な物理量に対応していて、単にこれらの量に適用される便宜的なラベルにすぎない。以下の説明から明らかなものとして他で特別に言及されない限り、説明を通して、「処理」、「コンピューティング」、「計算」、「決定」、「表示」、その他のような用語を使用する説明は、コンピュータシステム、あるいは類似した電子コンピュータ装置の動作や処理のことを指す。コンピュータシステム、あるいは類似した電子コンピュータ装置は、コンピュータシステムのメモリやレジスタやその他（情報記憶装置、送信装置、表示装置など）の中の物理的な（電子的な）量として表現されるデータを操作したり変換したりする。
【００１４】
本発明のいくつかの特徴は、アルゴリズムの形でこの明細書中に記述されたプロセスステップと命令を含む。本発明におけるプロセスステップと命令は、ソフトウェア、ファームウェアまたはハードウェアで表現される。そして、本発明におけるプロセスステップと命令は、ソフトウェアで表現されるとき、ダウンロードされ、様々なオペレーティングシステムにより用いられる異なるプラットホームから操作される。
【００１５】
本発明は、また、この明細書では、オペレーションを実行する装置に関するものである。この装置は、要求された目的のために特別に構築されたものであってもよいし、または、コンピュータに格納されるコンピュータプログラムによって選択的に起動されたあるいは変更された汎用コンピュータであってもよい。そのようなコンピュータプログラムは、例えば、コンピュータで読取り可能な記憶媒体に格納されればよいが、それに限定されない。そのようなコンピュータプログラムは、フレキシブルディスク、光ディスク、ＣＤ−ＲＯＭ、磁気光ディスク、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気あるいは光のカード、ＡＳＩＣ（Application Specific Integrated Circuit）、あるいは、電子命令を格納するのに適してコンピュータシステムバスに接続されたどんな種類の記憶媒体に格納されてもよい。さらにまた、本明細書中で言及されるコンピュータは、単一のプロセッサを有していてもよいし、コンピューティング能力増加のための複数のプロセッサ設計を採用した構造であってもよい。
【００１６】
この明細書で表現されるアルゴリズムと表示は、いかなる特別なコンピュータや他の装置とも本質的には関連がない。様々な汎用システムもまた、この明細書での教示内容に従ってプログラムとともに使用される。あるいは、要求された方法ステップを実行するために、より専門化した装置を構築することが便利であるとわかるかもしれない。様々なこれらのシステムのために必要な構成は、以下の説明から明らかになるであろう。さらに、本発明は、いずれかの特定のプログラミング言語によって記述されるわけではない。この明細書中に記載されているように様々なプログラミング言語が本発明の教示内容を実行するのに用いられることがわかるであろう。そして、特定の言語に対する以下のどんな言及も使用可能性の開示と本発明のベストモードのために用意されている。
【００１７】
１．対象物（人体など）の姿勢に基づくロボットコマンドの決定
１つの実施形態において、システムは、対象物の姿勢に基づいてロボットコマンドを決定する。システムによって決定されるロボットコマンドは、実在あるいは仮想のロボット、人型ロボット、その他のロボットを制御するのに用いられる。例えば、コマンドによって制御されるロボットは、アバター（インターネットなどの仮想現実における自分の化身）、スクリーン上の仮想キャラ、あるいは、姿勢が決定している対象物から数千マイル離れてもおそらく動いている物理的なロボットでありえる。ロボットコマンドによって制御されるロボットの他の例は、当業者にとって明らかであろう。これらのいずれのロボットも、本発明の範囲から逸脱することなく使われる。
【００１８】
システムで決定されるコマンドは、利用できるロボットコマンドのセットのメンバである。ロボットコマンドは、特定の単位のレベルで、ロボットの行動を定める。ロボットコマンドの単位は、そのコマンドが使われるアプリケーションに依存して異なる。例えば、場合によっては、コマンドが特定のサーボ間命令のレベルであることは、有用かもしれない。そのようなコマンドは、ローレベルのタスク表現を持っている、と言われる。その他の場合、コマンドがあらかじめ定義されたプログラムのレベル（例えば「朝の雑用を遂行せよ」といった命令）であることが、有用かもしれない。１つの実施形態で、ロボットコマンドは、基本的なタスク（例えば「新聞紙を取って来い」、「カップをひっくり返せ」）と一致した単位のレベルで、ロボットの行動を定める。そのようなコマンドは、ハイレベルのタスク表現を持っている、と言われる。ハイレベルのタスク表現を有しているコマンドの実行は、ローレベルのタスク表現を有している複数のコマンドの実行（連続あるいは並行で）に帰着するかもしれない。
【００１９】
また、利用できるロボットコマンドのセットは、コマンドによって制御されるロボットの自由度にも依存するであろう。例えば、旧式のロボットは、たった２つの自由度（例えば方向と前進／後退）しか持たないかもしれない。他の例として、人型ロボットは、８０もの（またはそれより多くの）自由度を持ち、姿勢、前進／後退、頭の方向、胴の方向、左ひじの角度、右ひじの角度などを決めることができるように作られてきた。自由度の高い人型ロボットと旧式ロボットとは利用できるコマンドの単位が異なるが、一般的に、人型ロボットは、旧式ロボットよりも、利用できるコマンドを多く持つであろう。
【００２０】
ロボットの性能とロボットコマンドの単位はともに、コマンドボキャブラリ（決定されるかもしれないコマンドがある検索スペース）を定める。コマンドボキャブラリの範囲は、前記した例の場合のようにロボットの性能だけでなく、それらのコマンドが使われるアプリケーションにも依存する。例えば、精巧さが同じ程度の２つのロボット（または同じロボットさえ）には異なるコマンドボキャブラリがあり、各々のボキャブラリがロボットの１つの特定の使用にふさわしいかもしれない。１つのアプリケーションにおいては、１つ１つ、ジョイント特定コマンドを使ってロボットを制御することが望ましいかもしれない。一方、他のアプリケーションにおいては、より広い、ゴール特定コマンドを使ってロボットを制御することが望ましい。１つの実施形態において、ロボットのコマンドボキャブラリは、ロボットが実行することができるコマンド（「利用できる」コマンド）の集合のサブセットである。
【００２１】
システムは、対象物の姿勢を決定することによって、コマンドボキャブラリからロボットコマンドを決定する。対象物の姿勢を決定することは、潜在的に難しく、リソースを消耗するタスクである。システムがロボットコマンドを決定する目的で対象物の姿勢を決定するので、対象物の姿勢検出の効率は、対象物の姿勢検出の精度を制限することによって改善できる。例えば、対象物の姿勢検出の精度は、コマンドボキャブラリの自由度に基づかせることができる。多くの場合、対象物の姿勢を部分的に検出すれば、限られたコマンドボキャブラリからロボットコマンドを決定することができる。対象物の姿勢検出に必要な処理が減ることは、ロボット制御システムにおけるリアルタイムパフォーマンス性、低労力性および効率性をアップさせる。
【００２２】
システムは、コマンドボキャブラリの自由度に基づく分析によって、対象物の姿勢を決定する。当業者に明らかなように、対象物の姿勢は様々な技術を使用して決定される。対象物の姿勢を決定する１つの方法を以下に記す。対象物の姿勢を決定する他の方法は、本発明の範囲から逸脱することなく実行される。
【００２３】
２．区別不能な点を使った対象物の姿勢の決定
対象物の姿勢を決定する１つの方法は、区別不能な点の集合（集合体）を使う。点は、対象物の三次元（３Ｄ）位置を示す。図１を参照して以下で述べるように、点は、様々な技術を使用してマーカから検出される。マーカは、実在と仮想のいずれでもよく、どんな対象物、人型ロボット、その他とも関係する。マーカは、対象物に関するどんな自然または人工の視覚的な特徴であってもよい。本発明の１つの実施形態によると、マーカは対象物自体の一部である視覚的な特徴である。本発明のもう１つの実施形態によると、マーカは、対象物とは別でありえて、対象物の位置、または、対象物の位置からの一定の距離である位置に一致している視覚的な特徴を導入する。また、マーカは、薄くても濃くてもよい。好ましい実施形態において、少なくとも３つのマーカが対象物に関連する。
【００２４】
どんな２点の既知の違いもそれらの位置に限られるという意味で、点は区別が不能である。対照的に、区別可能な点は、付加情報を含む。付加情報は、点が対象物上で特定の位置と関係していることを示すか、あるいは、その特定の点が時間内の過去の瞬間にどこにあったかを示す。区別不能な点を使うことの１つの長所は、ラベルのないマーカを使うことができることである。ラベルのないマーカは、通常、ラベルをつけられたマーカに比べて、対象物上で構成することが、より労力を要さず、より簡単である。例えば、受動的に光を反射するマーカのような、設置不要のマーカが使われる。その方法は、１つの点の現在の位置と時間内の過去の位置とを関連させる必要を避ける。したがって、少ないコンピュータ資源や雑音の多い環境とともに使われるときでも、その方法はリアルタイムオペレーションと増加した頑丈さを可能にする。
【００２５】
その方法は、対象物の方向か姿勢を決定するのに用いられる。方向（方位）は、対象物に対する全体的な評価である。方向検出の目的のために、対象物は堅い（変形しない）と仮定される。すべての堅い対象物（実在または仮想）は、方向を有する。
【００２６】
関節でつながれた対象物（以下、「関節対象物」という。）は、ジョイントでつながれる堅い対象物の集合体と定義される。すべての関節対象物は姿勢を有する。姿勢は、関節対象物を構成している堅い対象物の方向の集合体として定義される。それゆえに、非関節対象物にとっては、姿勢は意味のないことである。非関節対象物の姿勢は、その非関節対象物を構成する単一の堅い対象物の方向である。
【００２７】
標準的なコーヒーカップは、非関節対象物の例である。カップは方向を持ち、その方向は３次元空間のどんな方向でもありえる。ホッチキスは、単純な関節対象物の例である。カップと同様に、ホッチキスは３次元空間のどんな方向でも向きえる。しかし、カップと違って、ホッチキスは、方向を有する２つの堅い物体（ベースとトップ）から構成されている。ホッチキスの姿勢は、ベースの方向とトップの方向との関係として定義される。
【００２８】
人体は、より複雑な関節対象物の例である。人体には、方向と複雑な姿勢がある。人体は、堅い対象物の集合体として近似視できる。これらの堅い対象物は、人体のパーツと一致しうる。例えば、人体の左上腕を第１の堅い対象物、頭を第２の堅い対象物、胴上部（胴の上半分）を３つ目の堅い対象物、胴下部（胴の下半分）を４つ目の堅い対象物、などと考えることができる。ホッチキスの例と同様、人体の姿勢は、これらの堅い対象物の方向間の関係として定義される。
【００２９】
通常、複雑な関節対象物（例えば人体)の完全な姿勢をリアルタイムで決定するためには、大量の処理リソースを必要とする。しかし、多くのアプリケーションにとって、そのような分析は不要である。例えば、姿勢を決定する主な目的がロボットコマンドを決定することであれば、姿勢の決定の詳細のレベルはロボットコマンドボキャブラリの自由度と同等にまで減じられる。人体の完全な姿勢がたくさんの堅いパーツの方向間の関係を表現する一方、単純化された姿勢はより少数の堅いパーツの方向間の関係を表現することができる。多くのロボット制御アプリケーションにとって、単純化された姿勢を決定することで、ロボットコマンドを決定するのに十分な場合がある。
【００３０】
説明を目的として、人体を、方向と姿勢がある対象物の例として選んだ。その方法が方向や姿勢を有するどんな対象物（実在あるいは仮想）にも適用できること、および、その人体の説明が何ら制限を設けないこと、は明らかである。例えば、人は関節対象物を操作することができる。また、対象物の方向や姿勢は、ロボットコマンドを決定するのに用いられる。
【００３１】
本発明の１つの実施形態によると、対象物の方向は、その対象物に添付された点の集合体の方向に基づいて決定される。例えば、方向検出システムは、３次元位置を示す点の集合体（の情報）を受ける。その後、システムは、点の集合体の機能として、３次元参照フレーム（３本の直角軸からなる参照フレーム）を構築する。点が対象物に添付されるので、点の集合体の方向を決定することは対象物の方向を決定することに帰結する。
【００３２】
本発明の１つの実施形態によると、システムは、方位調整可能な幾何学図形をデータ点の配列や分布に合致させることによって、３次元参照フレームを構築する。順応可能な幾何学図形は、平面、一組のベクトル、固有ベクトルまたは回転変化に不変でない他のどの構成概念でもありえる。「合致」は、最適化または他の数の計算テクニックを使用することで実現される。
【００３３】
いくつかの仮定によって、対象物の方向の決定を容易にすることができる。例えば、点の間で、または、点と堅い対象物の間で特定の空間関係を仮定することは、有効なことがある。例えば、点が同一平面上にあるという仮定は、平面上の対象物の機能を選ぶことに役立つ。また、特定の方向だけが可能である、あるいは、特定の方向だけが特定の他の方向からの区別を必要とすると仮定することが役に立つこともある。例えば、ロボットコマンドボキャブラリの自由度は、システムを、横方向の変位を不認識とさせることができる。この不認識が与えられれば、方向検出システムは、姿勢検出の自由度を制限することができる。人体の姿勢を検出し、コマンドボキャブラリに依存することの例において、人体の特定のパーツの方向は、セットからコマンドを決定するために無関係でありえる。
【００３４】
点の集合体の特定の方向が対象物の特定の方向と対応していると仮定されうるように、姿勢検出システムは校正されなければならない。例えば、マーカが添付された人間のオペレータは、較正姿勢を仮定することによって、姿勢検出システムを調整する。調整は、マーカを示している点の集合体の方向と、マーカが添付される体のパーツの方向の関係を確立する。一旦、点の集合体の方向と対象物の方向の関係が確立されれば、点の集合体の方向は対象物の方向を決定するのに用いられる。
【００３５】
３．区別不能な点を使用した姿勢検出によるロボット制御
図１は、姿勢検出によってロボットを制御するシステムを例示したものである。点（点集合）１０２は、３次元空間での位置を示す。各々の点は、対象物上での位置を示す。１つの実施形態において、対象物は人体である、そして、その姿勢は様々な体のパーツの方向に基づいて決定される。姿勢はそれから、ロボットコマンドを決定するのに用いられ、そして、ロボットコマンドは実行のためにロボットに送られる。
【００３６】
本発明の１つの実施形態によると、各々の点は、対象物に添付されたマーカの位置を示す。対象物上の位置は、様々な方法を使用することによって、検出され、獲得され、感知される。例えば、対象物の位置は、写真測量装置、光学センサまたは慣性検出器に接続され配列された複数のカメラを使って感知される。対象物上の位置を検出するためのこれらの技術例は、単に例示の目的のために与えられたものであり、何ら制限をするものではない。対象物上でマーカや他の位置を検出するための他の技術は、本発明の範囲から逸脱することなく実現される。対象物上の位置の検出は、点１０２に帰結する。
【００３７】
１つの堅い対象物上の位置を示す点１０２は、その堅い対象物の方向を決定するのに用いられる。関節対象物の堅いサブパーツ（また、「部位」と呼ばれる。）の少なくともいくつかに添付される点１０２は、関節対象物の姿勢と同様、それらの堅いサブパーツの方向を決定するのに用いられる。
【００３８】
姿勢検出器１０４は点（点集合）１０２を受けて、対象物の方向や姿勢を決定する。姿勢検出器１０４の方法は、本発明の１つの実施形態によって、図２を参照して本明細書に記述される。姿勢検出器１０４は、姿勢データ１０５を発生する。
【００３９】
姿勢データ１０５は、対象物の方向や姿勢を示す。１つの実施形態において、姿勢データ１０５は、方向（例えば、サブパーツの）や方向間の角度の形で与えられる。例えば、検出された方向が平面として示されるなら、姿勢データ１０５は、ある基準面があり、各方向平面の交差によって作られる２つの角度（例えばシータとファイ）を示しうる。１つ以上の次元では、姿勢データ１０５は、また、いろいろな方向平面の間で作られる角度を含むこともできる。本発明の１つの実施形態によると、姿勢データ１０５は、対象物の完全な姿勢よりも明確性が劣る姿勢を示す。
【００４０】
ロボット制御モジュール１０６は、姿勢データ１０５を受ける。ロボット制御モジュール１０６は、姿勢データ１０５をロボットコマンド１０７に変換する。ロボット制御モジュール１０６は、例えば、入力変換器、ロボットモータコマンドモジュール、ロボットコントローラによって実現される。
【００４１】
ロボットコマンド１０７は、ロボット１０８によって実行される一組の１つ以上の命令を含む。ロボット１０８は、ロボット制御モジュール１０６からロボットコマンド１０７を受け取って、ロボットコマンド１０７を実行する。
【００４２】
図２は、姿勢検出装置（例えば姿勢検出器１０４）におけるデータの流れを例示したものである。姿勢検出装置は、点（点集合）２０２を受け取る。本発明の１つの実施形態によると、点２０２は図１を参照してこの明細書に記述された点１０２に類似している。
【００４３】
群識別２０４は、点（点集合）２０２を点のサブセットに分ける。点集合が分離されて発生するサブセットの数は、姿勢の決定の結果に影響を及ぼす。そのように、１つの実施形態において、点集合が分離されて発生するサブセットの数は、ロボットのコマンドボキャブラリのサイズに基づく。
【００４４】
本発明の１つの実施形態によると、群識別２０４は、どの点が第１の堅い対象物上の位置を示すか、そして、どの点が第２の堅い対象物上の位置を示すかを決定する。例えば、ロボットのコマンドボキャブラリにおけるコマンドのセットが、人体の頭部、胴上部および胴下部の方向によって十分明確にされると想定する。群識別２０４は、点（点集合）２０２を、頭部点２０６、胴上部点２０８および胴下部点２１０に分けることができる。これらのような点のサブセットは説明目的の例として選ばれたものであり、その例は何ら制限するものではない。本発明の範囲から逸脱することなく、群識別２０４は、点（点集合）２０２を、いろいろな方法を使用し、様々な結果を生むサブセットに分けることができる。
【００４５】
本発明の１つの実施形態によると、群識別２０４は、垂直方向に最大離隔した２つの点２０２を決定して、この分離が頭と胴上部の間の輪郭描写であると想定する。その２点のうちの高いほうの点よりも上に位置する点２０２はすべて、頭部点２０６と分類される。群識別２０４は、残りの点（上記２点のうちの低いほうの点よりも下に位置する点）をとって、垂直方向で中央値に沿ってそれらを分離する。この中央値よりも上に位置する点２０２はすべて、胴上部点２０８と分類される。そして、この中央値よりも下に位置する点２０２は胴下部点２１０と分類される。
【００４６】
点（点集合）２０２をいろいろなサブセットに分ける他の方法は、本発明の範囲から逸脱することなく実行される。例えば、いくつかの期待されるサブセットを与えられたとき、既存の点群化方法は点集合をサブセットに分けるのに用いられうる。点集合が分離されて発生しなければならないサブセットの数は、ロボットのコマンドボキャブラリ、対象物自体の自由度、あるいは、その両方に依存する。
【００４７】
方向検出２１２は、頭部の方向２１８を決定するために、頭部点２０６を使う。方向検出２１２は、先に述べたように点から方向を決定する。方向検出２１２は、頭（例えば、頭に添付される点の球平面配列あるいは平面配列）と関連した点のために、特定の仮定で作動することができる。
【００４８】
方向検出２１４と方向検出２１６は、方向検出２１２に同様に作動する、つまり、それぞれ、胴上部点２０８と胴下部点２１０を使って、それぞれ、胴上部の方向２２０と胴下部の方向２２２を生じる。
【００４９】
頭部の方向２１８、胴上部の方向２２０および胴下部の方向２２２の１つ以上のどんな組合せでも、姿勢を定める。その３つの方向の集合は、姿勢データ２２４を作り出す。そして、姿勢データ２２４は、図１を参照してこの明細書で記述された姿勢データ１０５に類似していることがありえる。システムは、さらに、はっきりと接合部の角度を姿勢データ２２４に含むために、角度差計算を実行することができる。姿勢データ２２４は、一組のロボットコマンド（例えば、ロボットのコマンドボキャブラリから）からロボットコマンドを決定するのに用いられる。
【００５０】
上記した例において、非常に基本的な姿勢だけを決定している間、対象物の特性とコマンドボキャブラリのコマンドのセットはロボットの十分な制御を可能にする。例において、システムが３つの対象物（頭、胴上部、胴下部）の方向だけを決定するので、システムは、人体の完全な姿勢を見つけている類似したシステムに比較して、少ない処理リソースを使用することになる。処理オーバヘッドの減少は、パフォーマンスを向上させ、また、ロボット制御システムの全体的なユーザビリティ（使いやすさ）を増加させる。
【００５１】
対象物の３つのサブパート（すなわち「部位」）の方向に基づく姿勢の例は、説明の目的のために示された。異なるコマンドボキャブラリからコマンドを決定するとき、同じシステム（または類似したシステム）は、より大きいまたは小さい詳細（例えば、４、５あるいは１２のサブパートの方向を決定することによって）で姿勢を決定することができる。例えば、異なる能力があるロボットのためにロボットコマンドを生み出すとき、あるいは、ロボットが異なるコマンドの微小さから利益を得ているアプリケーションのために使われているとき、姿勢決定の詳細の増加は有用であろう。このシステムの他の利点とアプリケーションは、本発明の範囲から逸脱することなく、当業者にとって明らかであろう。
【００５２】
この明細書で使用された用語は、主に読みやすさと教育目的のために選ばれていて、創意に富んだ発明の主題を正確に描写したり、その境界を明確にしたりするために選ばれなかったかもしれない。したがって、本発明の公開は、発明の範囲に関して例示的であり何ら制限するものではなく、特許請求の範囲の外部に及ぶ。
【図面の簡単な説明】
【００５３】
【図１】姿勢検出によってロボットを制御するシステムを例示したものである。
【図２】姿勢検出装置におけるデータの流れを例示したものである。
【図１】
2008538327.tif 000003
【図２】
2008538327.tif 000004
【国際調査報告】
2008538327.tif 000005