(57)【要約】【課題】複数モードモーション計画において、効率的に経路探索を行う。【解決手段】本発明の複数モード計画システム及び方法は、まず最も制約されたモードについて経路探索を行い、次に比較的制約されていないモード内で経路探索を行う。この順序で経路探索を行うことによって、最も制約されたモード内で実現可能な経路となることがない経路を探索してしまうことにより浪費するリソースを節約できる。隣接する２つのモードの遷移設定の実現可能性及び有用性を予め計算することによって、複数モード計画は実行される。最も制約されたモード内の実現不可能な遷移設定がサンプリングされなくするために、実現可能性が使用される。有用性が高い遷移設定であるほど高い確率でサンプリングされるように遷移設定のサンプリングにバイアスをかけるために、有用性が使用される。バイアスをかけることにより、有用性が高く効率的な設定経路が入手できる。【選択図】図８
2010528886.tif 000002
【特許請求の範囲】
【請求項１】
２以上のモードで動作可能な主体装置のモーションを計画する方法であって、
各モードは、前記主体装置の設定についての制約のセットを有し、
前記方法は、
前記主体装置の目標設定を受け付け、
前記２以上のモードのうち最も制約されたモード、及び、前記最も制約されたモードに隣接し、前記最も制約されたモードと初期設定のモードとの間に位置する第１のモードに共有される複数の遷移設定候補から前記主体装置の第１の遷移設定を選択し、
前記第１の遷移設定から前記初期設定へ、第１の連続する複数の設定を探索する第１の探索を実行し、
前記第１の遷移設定から前記目標設定へ、第２の連続する複数の設定を探索する第２の探索を実行し、
前記第１の連続する複数の設定及び前記第２の連続する複数の設定を出力すること、
を特徴とする方法。
【請求項２】
前記第１の探索を実行することは、
前記第１のモード、及び、前記第１のモードに隣接し、前記第１のモードと前記初期設定のモードとの間に位置する第２のモードに共有される第２の遷移設定をサンプリングし、
前記第１の遷移設定と前記第２の遷移設定との間の前記第１のモード内で、前記主体装置の第３の連続する複数の設定を、単一モード計画を使用して探索することを含むこと、
を特徴とする請求項１に記載の方法。
【請求項３】
前記方法は、
ノードを含むツリーを生成し拡大し、
前記ノードのそれぞれは、
前記初期設定から前記目標設定に達するために前記主体装置によって取られ得る設定を表すこと、
を特徴とする請求項１に記載の方法。
【請求項４】
前記方法は、
前記第１のモードから、前記第１の遷移設定についての遷移設定に到達する実現可能性を決定し、
前記第１の遷移設定についての前記遷移設定候補の有用性を計算し、
前記有用性は、
前記第１の遷移設定から、前記最も制約されたモード内の前記目標設定に達するのに有効である設定の変化を表し、
前記第１の遷移設定を選択することは、
前記遷移設定候補の前記実現可能性及び前記遷移設定候補の前記有用性によってバイアスをかけられたうえで、遷移設定候補をサンプリングすることを含むこと、
を特徴とする請求項１に記載の方法。
【請求項５】
前記方法は、
前記決定された実現可能性を前記遷移設定候補ごとに実現可能性テーブルに記憶し、
前記計算された有用性を前記遷移設定候補ごとに有用性テーブルに記憶すること、
を特徴とする請求項４に記載の方法。
【請求項６】
前記目標設定は、
前記最も制約されたモード内にあり、
前記第２の探索は、
単一モード計画を使用して実行されること、
を特徴とする請求項１に記載の方法。
【請求項７】
前記最も制約されたモードは、
対象物を推進するためのモードを含むこと、
を特徴とする請求項１に記載の方法。
【請求項８】
２以上のモードで動作可能な主体装置のモーションを計画するコンピュータ読取可能な記録媒体であって、
各モードは、前記主体装置によって取られ得る設定についての制約のセットを有し、
前記コンピュータ読取可能な記録媒体に記憶された命令は、プロセッサに対して、
前記主体装置の目標設定を受け付け、
初期設定から前記目標設定に達するために、前記主体装置によって取られ得る２以上のモードを決定し、
前記第１の遷移設定から前記初期設定へ、第１の連続する複数の設定を探索する第１の探索を実行し、
前記第１の遷移設定から前記目標設定へ、第２の連続する複数の設定を探索する第２の探索を実行し、
前記第１の連続する複数の設定及び前記第２の連続する複数の設定を出力する処理を実行させること、
を特徴とするコンピュータ読取可能な記録媒体。
【請求項９】
前記命令は、前記プロセッサに対して、
前記第１のモード、及び、前記第１のモードに隣接し、前記第１のモードと前記初期設定のモードとの間に位置する第２のモードに共有される第２の遷移設定をサンプリングし、
前記第１の遷移設定と前記第２の遷移設定との間の前記第１のモード内で、前記主体装置の第３の連続する複数の設定を、単一モード計画を使用して探索する処理を実行させること、
を特徴とする請求項８に記載のコンピュータ読取可能な記録媒体。
【請求項１０】
前記命令は、前記プロセッサに対して、
ノードを含むツリーを生成し拡大する処理を実行させ、
前記ノードのそれぞれは、
前記初期設定から前記目標設定に達するために前記主体装置によって取られ得る設定を表すこと、
を特徴とする請求項８に記載のコンピュータ読取可能な記録媒体。
【請求項１１】
前記命令は、前記プロセッサに対して、
前記第１のモードから、前記第１の遷移設定についての遷移設定に到達する実現可能性を決定し、
前記第１の遷移設定についての前記遷移設定候補の有用性を計算する処理を実行させ、
前記有用性は、
前記第１の遷移設定から、前記最も制約されたモード内の前記目標設定に達するのに有効である設定の変化を表し、
前記第１の遷移設定を選択する命令は、
前記遷移設定候補の前記実現可能性及び前記遷移設定候補の前記有用性によってバイアスをかけられたうえで、遷移設定候補をサンプリングする命令を含むこと、
を特徴とする請求項８に記載のコンピュータ読取可能な記録媒体。
【請求項１２】
前記命令は、前記プロセッサに対して、
前記決定された実現可能性を前記遷移設定候補ごとに実現可能性テーブルに記憶し、
前記計算された有用性を前記遷移設定候補ごとに有用性テーブルに記憶する処理を実行させること、
を特徴とする請求項１１に記載のコンピュータ読取可能な記録媒体。
【請求項１３】
前記目標設定は、
前記最も制約されたモード内にあり、
前記第２の探索は、
単一モード計画を使用して実行されること、
を特徴とする請求項８に記載のコンピュータ読取可能な記録媒体。
【請求項１４】
前記最も制約されたモードは、
対象物を推進するためのモードを含むこと、
を特徴とする請求項８に記載のコンピュータ読取可能な記録媒体。
【請求項１５】
２以上のモードで動作可能な主体装置のモーションを計画するシステムであって、
各モードは、前記主体装置によって取られ得る設定についての制約のセットを有し、
前記システムは、
前記２以上のモードのうち最も制約されたモード、及び、前記最も制約されたモードに隣接し、前記最も制約されたモードと初期設定のモードとの間に位置する第１のモードに共有される複数の遷移設定候補から前記主体装置の第１の遷移設定を選択する決定的モード計画部と、
前記第１の遷移設定から前記初期設定へ、第１の連続する複数の設定を探索する第１の探索を実行する探索ツリー拡大部と、
前記第１の遷移設定から前記目標設定へ、第２の連続する複数の設定を探索する第２の探索を実行する単一モード計画部と、
前記第１の連続する複数の設定及び前記第２の連続する複数の設定を出力する計画経路抽出部と、
を有すること、
を特徴とするシステム。
【請求項１６】
前記探索ツリー拡大部は、
前記第１のモード、及び、前記第１のモードに隣接し、前記第１のモードと前記初期設定のモードとの間に位置する第２のモードに共有される第２の遷移設定をサンプリングし、
前記第１の遷移設定と前記第２の遷移設定との間の前記第１のモード内で、前記主体装置の第３の連続する複数の設定を、単一モード計画を使用して探索すること、
を特徴とする請求項１５に記載のシステム。
【請求項１７】
前記探索ツリー拡大部は、
ノードを含むツリーを生成し拡大し、
前記ノードのそれぞれは、
前記初期設定から前記目標設定に達するために前記主体装置によって取られ得る設定を表すこと、
を特徴とする請求項１５に記載のシステム。
【請求項１８】
前記決定的モード計画部は、
前記第１のモードから、前記第１の遷移設定についての遷移設定に到達する実現可能性を決定し、
前記第１の遷移設定についての前記遷移設定候補の有用性を計算し、
前記有用性は、
前記第１の遷移設定から、前記最も制約されたモード内の前記目標設定に達するのに有効である設定の変化を表し、
前記遷移設定候補の前記実現可能性及び前記遷移設定候補の前記有用性によってバイアスをかけられたうえで、遷移設定候補をサンプリングすること、
を特徴とする請求項１５に記載のシステム。
【請求項１９】
前記システムは、
前記決定された実現可能性を前記遷移設定候補ごとに記憶する実現可能性テーブルと、
前記計算された有用性を前記遷移設定候補ごとに記憶する有用性テーブルと、
を有すること、
を特徴とする請求項１８に記載のシステム。
【請求項２０】
前記目標設定は、
前記最も制約されたモード内にあり、
前記探索ツリー拡大部は、
単一モード計画を使用して前記第２の探索を実行すること、
を特徴とする請求項１５に記載のシステム。
【請求項２１】
前記最も制約されたモードは、
対象物を推進するためのモードを含むこと、
を特徴とする請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の参照）
本出願は、２００７年６月８日付けの、“  Multi-Modal Motion Planning For A Humanoid Robot Manipulation Task ”と題する米国特許仮出願第６０／９３３，９０９号を基礎とする優先権を米国特許法１１９条（ｅ）に基づき主張し、当該仮出願はその全体がここに引用される。
【０００２】
本発明は、ロボットのモーションを計画する方法及びシステムに関する。より具体的には、各モードが別々の制約に従う多重モードを前提とする、モーションを計画する方法及びシステムに関する。
【背景技術】
【０００３】
あるタスクを遂行するために、ロボット又は他の装置は、複数モードでの作業を実行する必要がある場合がある。あるモード（例えば、歩行）は、ロボットの設定に対し制約のセットを課すかもしれないし、別のモード（例えば、押し動かす）は、ロボットの設定に対し別の制約のセットを課すかもしれない。
【０００４】
単一モードモーション計画用のアルゴリズムは、複数モード作業計画に適しているとは限らない。単一モード計画方法は、ロボット又は装置のすべてのモーションが同じ制約のセットに従うという前提に立っている。確率的ロードマップ（ＰＲＭ）方法のような効果的な単一モードモーション計画方法は、ロボットが目標設定に辿り着く効果的な経路を入手するために現在利用可能である。しかしながら、複数モード計画においては、各モード内のモーションだけでなく、隣接する２モード間の遷移設定も決定されなければならない。遷移設定とは、あるモードから他のモードに遷移する前にロボットが取る設定のことである。複数モード作業においては、あるモードから他のモードへ遷移する場合、遷移設定を経由しなければならない。遷移設定の選択はまた、目標設定に至る経路全体の有効性に有意な影響を及ぼす。しかしながら、従来の単一モード計画方法は、有効な遷移設定を作成することができない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数モード作業においては、複数遷移設定又は、あるモードから他のモードに遷移するための遷移設定の連続セットがあり得る。遷移設定の連続セットの取り扱い方法の１つは、遷移設定の連続セットを離散化し、離散化された遷移設定からの経路探索を拡大することである。遷移設定の離散化が疎であり過ぎると、目標設定に至る遷移設定は取得され得ない。このような場合、遷移設定の離散化された点から、目標設定に至る経路を得ることはできない。逆に、離散化が蜜であり過ぎると、設定の経路を探索するのに過大なリソースが必要になる。
【０００６】
押し動かす作業は、複数モードモーション計画を前提とする操作の有益な型式である。人間形ロボットは、例えば、まずテーブルまで歩行し（第１のモード）、対象物に向かって腕を伸ばし（第２のモード）、その次に対象物をある位置へ押し動かす（第３のモード）。１つの押し動かすタスクのためにさえ、ロボットは、いくつもの押し動かす動作を実行する必要がある。これらの押し動かす動作の間に、ロボットは、腕を伸ばし又は引っ込め、左右の手を交換し、又は新たな位置へ歩行し、制約の様々なセットを満足させる。さらに、操作部位の届く範囲が制限されておりロボット又は装置の設定上の制約があることに起因して、いくつかの押し動かす動作は、不可逆的であり得る。このような理由により、ある目標を達するためには、押し動かすモーションは慎重に計画されなければならない。
【課題を解決するための手段】
【０００７】
（発明の要約）
本発明の実施形態は、主体装置（例えば、人間形ロボット）のためにモーションを計画する装置、システム及びコンピュータ読取可能な記録媒体を提供する。各モードは、制約のセットを有しており、その制約は、主体装置によって遵守されなければならない。最も制約されているモード（例えば、押し動かすモード）と、最も制約されているモードに隣接し主体装置の初期設定により近いモード（例えば、腕を伸ばす／引っ込めるモード）によって共有される遷移設定候補のなかから、主体装置の第１の遷移設定が選択される。探索が実行され、第１の遷移設定と初期設定との間の、第１の連続する複数の設定を取得する。別の探索が実行され、第１の遷移設定から目標設定への経路を識別する。
【０００８】
ある実施形態においては、複数のノードを含むツリーが生成される。各ノードは、主体装置が初期設定から目標設定に至るために取り得る設定を表している。サンプリングされた遷移設定でツリーを拡大するためには、ツリーのノードとサンプリングされた遷移設定との間の距離が算出される。距離メトリックが最も短いノードに対して、サンプリングされた遷移設定が接続される。
【０００９】
ある実施形態においては、実現可能性テーブルと有用性テーブルが生成され記憶される。実現可能性テーブルは、第１のモードから遷移設定に達する、第１の遷移設定ごとの実現可能性についての情報を記憶する。有用性テーブルは、第１の遷移設定ごとの遷移設定候補の有用性を記憶する。有用性は、目標設定に達するのに有効である設定の変化を示す。遷移設定の有用性及び実現可能性に基づいて、遷移設定がサンプリングされる。
【００１０】
本明細書に記述されている特徴及び利点は、限定的なものではなく、図面、明細書及び特許請求の範囲を見れば、当業者には、追加的な特徴及び利点が明らかになる。さらに、本明細書中で使用される用語は、主として意味の取りやすさ及び教示目的から選択されており、本発明の主旨を限定するために選択されているものではないことは当然である。
【図面の簡単な説明】
【００１１】
添付図面を参照しつつ以降に詳述される説明を読めば、本発明の教示は容易に理解される。
【図１】本発明の一実施形態に係る、押し動かす対象物を含む環境内のロボットを示す図である。
【図２Ａ】本発明の一実施形態に係る、モード間の遷移候補を示すモード遷移図である。
【図２Ｂ】主体装置及び主体装置によって操作されつつある対象物を含むシステムによって取られ得る設定を表す多様体の概念図である。
【図３Ａ】本発明の一実施形態に係る、最も制約されたモードが最終モードとして現れる例を示す図である。
【図３Ｂ】本発明の一実施形態に係る、最も制約されたモードが第１のモードと最終モードとの間に現れる他の例を示す図である。
【図４】本発明の一実施形態に係る、ロボットの構成要素を示すブロック図である。
【図５】本発明の一実施形態に係る、モーション計画部の構成要素を示すブロック図である。
【図６Ａ】本発明の一実施形態に係る、押し動かすモードでの作業を記述する座標系を示す図である。
【図６Ｂ】本発明の一実施形態に係る、押し動かすモードでの作業を記述する座標系を示す図である。
【図７】本発明の一実施形態に係る、有用性テーブルを示す図である。
【図８】本発明の一実施形態に係る、複数モードモーション計画方法のフローチャートである。
【図９】本発明の一実施形態に係る、拡大戦略を使用するツリー拡大方法のフローチャートである。
【発明を実施するための形態】
【００１２】
本発明の一実施形態を、図を参照しつつ説明する。複数の図にまたがって同様の参照番号が記される場合、それらは同一の又は機能的に類似した構成要素を意味する。
【００１３】
本明細書において、“一実施形態”又は“ある実施形態”と言う場合は、本発明の少なくとも１つの実施形態に、その実施形態に関連して記述される１つの特徴又は構造が含まれていることを意味する。本明細書のあちこちに“一実施形態では”という語が出現しても、必ずしも同一の実施形態を指しているわけではない。
【００１４】
後記する詳細説明のいくつかの部分は、アルゴリズム用語や、コンピュータメモリ内のデータビット作業を示す象徴的な表現による。これらのアルゴリズム的な説明や表現は、情報処理分野の当業者が、自らの業績の要旨を、同分野の他の当業者に最も効率的に伝えるために用いる手段である。アルゴリズムとは、ここでは、そして一般的にも、ある所望の結果に至る複数のステップ（命令）の首尾一貫したシーケンスのことを言う。ステップとは、物理量に対する物理的操作を要求するステップのことである。通常、必ずしも必要条件ではないが、それらの数値は、記憶され、転送され、合成され、比較されかつ操作され得る、電子的、磁気的又は光学的信号の形を取る。これらの信号のことを、ビット、値、要素、シンボル、文字、語又は番号等と呼ぶことが主として用語の共通化の理由から便宜である。さらに、物理量に対する物理的操作を要求するステップの配列のうちいくつかのものは、一般性を失うことなく、モジュール又はコードデバイスと呼ぶことが便宜である。
【００１５】
しかし、このような用語の全ては適当な物理量と関連付けられており、これらの物理量に付された単なる便宜的なラベルに過ぎない。後記において特段の説明がない限り、明細書本文全体を通じて、“処理”、“計算”、“算出”、“決定”又は“表示”等の用語を用いた説明は、（電子的な）物理量としてのデータを、コンピュータシステムのメモリ、レジスタ又は他の情報ストレージのなかで操作しかつ変形するコンピュータシステムや同様の電子的コンピューティングデバイスの動作や処理のことを言う。
【００１６】
本発明のいくつかの側面は、アルゴリズムの形になったプロセスステップや命令を含む。本発明のプロセスステップや命令は、ソフトウエア、ファームウエア又はハードウエアによって実施され、ソフトウエアで実施される場合は、ダウンロードされることが可能であり、多様なオペレーティングシステムが用いる別のプラットフォームから操作されることも可能である。
【００１７】
本発明は、操作を実行する装置にも関する。この装置は、所与の目的を達成する専用装置であってもよいし、コンピュータに記憶されたコンピュータプログラムによって動作する汎用コンピュータであってもよい。このようなコンピュータプログラムは、コンピュータが読取り可能な媒体に記憶され得る。その媒体とは、コンピュータシステムバスに接続可能な、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、電磁光学的ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、電磁的又は光学的カード、ＡＳＩＣ又は電子的命令を記憶し得るあらゆる媒体を含むが、これらに限定されない。さらに、本明細書で言うコンピュータは、単体のプロセッサを含んでもよいし、コンピュータ能力を増加させるために複数のプロセッサを用いた装置であってもよい。
【００１８】
ここでいうアルゴリズムやディスプレイは、もともと特定のコンピュータや他の装置に関係している訳ではない。ここで教示される内容に従って、プログラムとともに多様な一般目的システムが使用され得る。又は、必要とされる方法ステップを実行するためにさらに特化した装置を作成することも便宜である。これらのシステムのそれぞれについてどのような構成が必要となるかは、後記する明細書本文から明らかになる。さらには、本発明は特定のプログラム言語を参照して記載されるものではない。本発明の教示を実装するために、多様なプログラム言語が使用され得る。後記において特定の言語に言及した場合、それは本発明の実施可能性及びベストモードを開示するためである。
【００１９】
さらに、本明細書で使用される言語は、主として意味の取りやすさ及び教示目的から選択されているのであって、本発明の主旨を限定するために選択されているのではない。従って、本発明の開示は、特許請求の範囲にて記述されている本発明の範囲を例示するものであるが限定するものではない。
【００２０】
主体装置の設定とは、固定座標系における、主体装置の剛性ある各構成要素の位置及び向きについての仕様である。例えば、主体装置の設定は、パラメータｑ＝（ｑ０，ｑ１，．．．，ｑｄ−１）によって特定され得る。ｄは、主体装置の自由度の数である。すべての設定のセットは、主体装置の設定空間を形成する。他のロボット、障害物、運動学的制約、自己衝突及び主体装置の力学系のうちのいずれかによって課された様々な制約に起因して、各モードにおいて、主体装置は、設定空間内に設定のサブセットを取り得る。
【００２１】
対象物設定とは、主体装置によって操作されている対象物の設定である。ここでは、主体装置の設定及び対象物設定をまとめて“設定”と呼ぶ。対象物設定は、パラメータｑｏｂｊ＝（ｑ０，ｑ１，．．．，ｑｄ´−１）によって表され得る。ｄ´は、操作されている対象物の自由度の数である。例えば、平面上を押し動かされる対象物の対象物設定は３自由度（２つの水平座標及び対象物の向き）を有する。
【００２２】
１又は複数の自由度を有し、かつ、それぞれが主体装置の設定に対し別々の制約のセットを課する２以上のモードにおいて作業可能であれば、主体装置は、どのような装置であってもよい。主体装置は、他の装置、ロボット、産業設備、車両、仮想装置及びコンピュータアニメ化されたキャラクタを含む。
【００２３】
２つのモード間の遷移が許容される場合、それらの２つのモードは隣接していると言われる。あるモードから他のモードに遷移するためには、両者のモードが、両者のモード内で主体装置が取り得る少なくとも１つの共通の設定（以降“遷移設定”という）を共有しなければならない。
【００２４】
まず、最も制約された作業モードについて探索を実行し、その次に、他のモードに探索を拡大することによって、複数モードモーションは計画される。最も制約されたモードについてモーションを探索することは、最も制約されたモードと最も制約されたモードに隣接するモードとの間を遷移するための遷移設定をサンプリングすることである。実現不可能な設定が排除されるように、遷移設定はサンプリングされる。さらに、有用性が高い遷移設定が、高い確率でサンプリングされるような方法で、遷移設定はサンプリングされる。遷移設定をサンプリングした後で、従来の単一モードモーション計画方法を使用して、開始遷移設定と終了遷移設定との間の連続する複数の設定が、単一モード内で探索される。
【００２５】
（複数モード計画の概観）
図１は、本発明の一実施形態に係る、押し動かす対象物１１２を含む環境内のロボット１３０を示している。ロボット１３０は、人間のモーションに類似する様々な作業を実行することができる人間形ロボットである。このようなロボットの一例として、日本、東京の本田技研工業株式会社の進化人間形ロボットＡＳＩＭＯがある。以降では人間形ロボット１３０に言及しつつ実施形態を説明するが、本発明は、人間形ロボットに限定されず、複数モードで作業可能な他タイプのロボット及び機械的装置にも使用され得る。
【００２６】
ロボット１３０は、あるタスクを遂行するために、複数のモードで作業可能である。例えば、図１のロボット１３０は、テーブル１１０まで歩行し（第１のモード）、腕を伸ばし／引っ込め（第２のモード）、目標位置１１４まで対象物１１２を押し動かす（第３のモード）。このようなタスクを遂行するために、ロボット１３０は、連続する複数の設定を取らなければならない。異なる複数のモードで作業することによって、単一モードのみで作業することに比してより効果的に、様々なタイプのタスクを実行し得る。
【００２７】
ロボット１３０の設定は、ロボット１３０の平面座標（ｘｒｏｂｏｔ，ｙｒｏｂｏｔ，θｒｏｂｏｔ）、各腕の関節角度、各手の開／閉パラメータ及び脚の関節角度を含み得る。押し動かされている対象物の対象物設定は、３つのパラメータを有する。そのうちの２つのパラメータは平面座標（ｘ及びｙ）を表し、１つのパラメータは、対象物の向きを表す。システム全体の設定は、ロボット１３０の設定と対象物設定を含む。
【００２８】
１又は複数の実施形態において、ロボット１３０は、少なくとも以下の５つの異なるモードで操作される。すなわち、（ｉ）歩行モード、（ｉｉ）左腕を伸ばす／引っ込めるモード、（ｉｉｉ）右腕を伸ばす／引っ込めるモード、（ｉｖ）左腕で対象物を押し動かすモード及び（ｖ）右腕で対象物を押し動かすモードである。これらのモードのそれぞれは、ロボット１３０の設定に対して異なる制約のセットを課する。歩行モードにおいて、例えば、ロボット１３０の左右の脚は、予め定義された連続する複数の設定内で操作されるので、ロボット１３０は、転倒することなく、体の部分同士を衝突（すなわち、自己衝突）させることなく、目的地まで歩行できる。同様に、伸ばす／引っ込めるモードにおいても、自己衝突又は他の障害物（例えば、テーブル１１０）との衝突が発生しないように、両腕は調和が保たれなければならない。押し動かすモードにおいては、手の先端が対象物との接触を維持し、正しい方向に対象物を押し動かすように、ロボットの腕及び手は経路に沿って移動しなければならない。
【００２９】
図２Ａは、本発明の一実施形態に係る、ロボット１３０のモード間の遷移候補を示すモード遷移図である。ロボット１３０は、伸ばす／引っ込めるモードを経由して、歩行モードから押し動かすモードに遷移することができるが、歩行モードから押し動かすモードに直接遷移することはできない。ロボット１３０は、腕を引っ込めた後、歩行モードに戻り、別の位置へ歩行してもよい。ロボット１３０が対象物を押し動かす手を変更することができるように、右手を伸ばす／引っ込めるモードと、左腕を伸ばす／引っ込めるモードとの間を直接遷移することも可能である。図２Ａの遷移図は、単なる例示に過ぎない。主体装置の設定に応じて、操作されている対象物に応じて又は主体装置が達成するように設計されているタスクに応じて、モードは、追加、置換又は省略され得る。
【００３０】
図２Ｂは、ロボット１３０及び操作されつつある対象物１１２を含む主体装置を含むシステムによって取られ得る設定を表す、多様体２１０、２２０、２３０、２４０、２５０の概念図である。ロボット１３０及び対象物１１２は、モードによって制約を課されることのない、設定空間２００内のあらゆる設定を取り得る。一実施形態においては、設定空間２００は、ロボットのぎこちない又は非効果的な動き（例えば、対象物の方を向かずに対象物を押し動かす）を防止するように定義される。
【００３１】
設定空間２００内に、多様体２１０、２２０、２３０、２４０、２５０が存在する。ロボット１３０があるモードで操作されているときに取られ得る、ロボット１３０及び対象物１１２の設定のセットを、各多様体は表している。そのうちの多様体２１０、２２０、２３０、２４０は、例えば、ロボット１３０の４つの異なる平面座標（ｘｒｏｂｏｔ，ｙｒｏｂｏｔ，θｒｏｂｏｔ）での、伸ばす／引っ込めるモードにあるロボット１３０及び対象物１１２の設定を示していてもよい。そのうちの多様体２５０は、ロボット１３０及び対象物１１２が押し動かすモードにおいて取り得る設定を表している。
【００３２】
多様体２１０、２２０、２３０、２４０、２５０が、腕を伸ばし／引っ込め、ロボットの手の先端部を使用して対象物１１２を目標位置まで押し動かすための複数のモードを表していると仮定する。腕を伸ばす前のロボット１３０の設定は、多様体２４０上の点Ａによって表される。ロボット１３０は、システムが設定Ｂを取るように腕を伸ばす。設定Ａから設定Ｂへ遷移する間に、ロボット１３０は、多様体２４０内で連続する複数の設定を取る。対象物１１２の設定は、このように遷移している間に変化することはない。なぜならば、対象部物１１２は、何ら操作されることなくテーブル１１０上に留まっているからである。設定Ｂを取った後、ロボット１３０は、多様体２５０内の連続する複数の設定を取ることによって、対象物１１２を押し動かし得る。ロボットの手の先端部は、設定Ｂにおいて対象物１１２に接触し始める。設定Ｂと設定Ｃとの間では、ロボット１３０は、２つの制約に従う。すなわち、（ｉ）ロボットの手は対象物１１２と接触し続けていること、（ｉｉ）対象物１１２をひっくり返さずに対象物１１２を押し動かすために、ロボットの手と対象物１１２とが接触する点における法線ベクトルは、水平方向を維持していること、である。対象物１１２の設定は、ロボット１３０の設定とともに、設定Ｂと設定Ｃとの間で変化する。なぜならば、ロボット１３０は対象物１１２を押し動かしているからである。多様体２５０内の連続する複数の設定を取った後、システムは、設定Ｃを取る。設定Ｃを取った後、システムが設定Ｄを取るように、ロボット１３０は腕を引っ込める。腕が完全に引っ込められる設定Ｄに達するまでの間は、システムは、線Ｃ−Ｄによって表される連続する複数の設定を取る。
【００３３】
図２Ｂにおいては、設定Ｂ及びＣは、伸ばす／引っ込めるモード及び押し動かすモードの両方に共有される遷移設定である。複数モードを有するモーションを計画する場合の主な困難は、目標設定に効果的に達するこのような遷移設定を決定することにある。あるモードからあるモードへの遷移設定が決定された後、例えば、Oussama Khatib,“Real-Time Obstacle Avoidance for Manipulators and Mobil Robots,”International Journal of Robotics Research, Vol.5,No.1,1986,pp.90-98に記述されている従来の単一モード計画を使用することによって、あるモード内の連続する複数の設定が入手され得る。当該文献は、その全体がここに引用される。
【００３４】
本発明の１又は複数の実施形態においては、設定の経路の探索は、最も制約されたモードから始まり、拡大する。最も制約されたモードとは、最も制限的な制約を条件とするモードであって、当該モード内で効率的な連続する複数の設定を入手するために最も多くの演算処理及びリソースを必要とするモードを言う。当該制約は、障害物の存在、ロボットの運動学的限界、モーションの予測不可能な又は不安定な制御特性、及び、操作されている対象物とある関係を維持するエフェクタの必要性等の理由に起因する。
【００３５】
図３Ａは、最も制約されたモードが最終モードＮとして現れる例を示す図である。ロボット１３０は、連続的に、モードＡ〜Ｎ内を動作する。具体的には、ロボット１３０は、モードＡ内の初期設定３１２を出発し、次にモードＢ及び他の後続モードに進み、最後にモードＮに至る。目標設定３２４は、モードＮ内にある。１つのモードについての複数の設定を表すハッシュされた楕円形領域として示された遷移設定候補３１６、３１８、３２０及び３２２からサンプリングされた遷移設定を経由して、ロボット１３０はモード間を遷移しなければならない。遷移設定３１６、３１８、３２０及び３２２内のドットは、初期設定３１２と目標設定３２４との間の設定の経路（すなわち、ロボット１３０によって取られるべき連続する複数の設定）を探索するためにサンプリングされた遷移設定を示す。図１〜２Ｂを参照した前記の押し動かす例では、最も制約されたモードは、押し動かすモードである。
【００３６】
設定の経路を入手するためには、遷移設定候補３２２から、１つの遷移設定がサンプリングされる。遷移設定がサンプリングされた後、モードＮ内で単一モード計画が実行され、モードＮ内に目標設定３２４へ至る設定の経路があるか否かを決定する。経路がある場合、様々なモードについての遷移設定を表すノードのツリーを拡大することによって、初期設定３１２へ至る設定の経路が探索される。サンプリングされた遷移設定と目標設定３２４との間に経路がない場合は、遷移設定候補から他の遷移設定がサンプリングされる。最も制約されたモードから出発し拡大することによって、さらに探索が進む前に、最も制約されたモード内で実現可能な遷移設定をもたらす可能性が低い設定の経路は放棄される。最も制約されたモードは、リソースを最も多く必要とするので、最も制約されたモードの効率的な遷移設定から出発し拡大すると、最も制約されたモード内で効率的な経路を生まない経路を計画してしまうために浪費されるリソースを節約できる。
【００３７】
図３Ｂは、最も制約されたモードＦが第１のモードＡと最終モードＮとの間に現れる他の例を示す図である。遷移設定候補３４２、３４６を有するモードＦが最も制約されたモードであることを除いて、図３Ｂの例は、図３Ａの例と同じである。第１の遷移設定が遷移設定候補３４２からサンプリングされる。第２の遷移設定が、遷移設定候補３４６からサンプリングされる。モードＦのハッシュされた領域３４２のドットは、サンプリングされた、第１の遷移設定を示している。モードＦのハッシュされた領域３４６のドットは、サンプリングされた、第２の遷移設定を示している。遷移設定候補３４２及び遷移設定候補３４６から、第１の遷移設定及び第２の遷移設定をサンプリングした後、単一モード計画が実行され、第１の遷移設定及び第２の遷移設定間の何らかの設定の経路を発見する。
【００３８】
第１の遷移設定及び第２の遷移設定は、それらがそれらの間で実現可能な設定の経路を生まない場合、その後の探索から排除される。逆に、設定の経路を生む第１の遷移設定及び第２の遷移設定の組合せは、初期設定３１２又は目標設定３２４の方へ拡大するためのツリーのノードとなる。
【００３９】
最も制約されたモードが最終モードとして現れる（図３Ａの例）か、又は第１のモードと最終モードとの間のいずれかの場所に現れる（図３Ｂの例）かにかかわらず、まず最も制約されたモードについての遷移設定をサンプリングし、次に他のモード内の連続する複数の設定に探索を拡大していくことにより、初期設定３１２及び目標設定３２４の間の設定の経路は、より効率的に探索される。まず最も制約されたモード内で有用性の高い経路を探索することによって、制約度は低くても、最も制約されたモード内の実現不可能な経路又は有用性の低い経路にしか至らない他のモードについての経路を探索する場合に浪費されるリソースを節約できる。
【００４０】
（主体装置の例）
図４は、本発明の一実施形態に係る、ロボット１３０の構成要素を示すブロック図である。ロボット１３０は、センサ４４０、計算モジュール４１０、エフェクタ４９０等の構成要素を含む。計算モジュール４１０は、センサ４４０からセンサ信号を受け取り、ロボットの現在の設定を決定するのと同様に、ロボットを包囲する環境内の様々な対象物との関係におけるロボットの位置及び向きを決定する。センサは、他の身体セグメント（例えば、上腕）との関係におけるある身体セグメント（例えば、腕）の位置及び向きを決定する、画像センサ、線形センサ、回転式センサ等の構成要素を含む。１又は複数の実施形態においては、センサ信号４４２は、ロボット１３０のモーションを制御するフィードバック信号として機能してもよい。
【００４１】
エフェクタ４９０は、モータ、水圧式アクチュエータ、ソレノイド等の、ロボット１３０の形状に物理的変化を生じさせる構成要素を含む。
【００４２】
計算モジュール４１０は、ロボット１３０の現在の設定を識別し、あるタスクを達成するためにモーションを計画し、生成されたエフェクタ信号４８２をエフェクタ４９０に送ることによって、計画されたモーションを実行する。一実施形態によれば、計算モジュール４１０は、対象物検出部４５０、環境マッピング部４６０、モーション計画部４７０及びコントローラ４８０等の構成要素を含む。
【００４３】
対象物検出部４５０は、環境内の対象物の同一性及び／又は位置を決定する。１又は複数の実施形態においては、対象物検出部４５０は、例えば、"Rectangular Table Detection Using Hybrid RGB and Depth Camera Sensors"と題する、２００８年５月８日付けの同時係属している米国特許出願１２／１２４，０１６号（代理人ドケット番号２３０８５−１２７５６）に開示されているような技術を使用して実装される。
【００４４】
環境マッピング部４６０は、ロボット１３０の周囲にある対象物についての情報を維持し、追跡する。具体的には、環境マッピング部４６０は、対象物情報４５２を受け取り、対象物１１０、１１２を３次元座標系にマッピングする。環境マッピング部４６０は、対象物の形状又は幾何学的情報（例えば、対象物の幅、高さ及び長さ）、及び、対象物の位置に関する情報を、ロボット１３０によって検知されたように記憶する。一実施形態においては、環境マッピング部４６０は、ユーザ又他のソースによって供給された対象物の位置又は属性（例えば、長さ、幅、高さ）についての情報を記憶する。環境マッピング部４６０は、環境情報４６２をモーション計画部４７０に供給する。環境情報４６２は、ロボット１３０の周囲にある対象物の位置及び輪郭に関する情報を含む。
【００４５】
モーション計画部４７０は、環境情報４６２を受け取り、ロボット１３０によって実行されるべきモーション計画（例えば、ある経路を経由してある位置まで歩行する）を生成する。当該計画に基づいて、モーション計画部４７０は、コントローラ４８０に命令（例えば、脚関節を３０度だけ曲げる）４７２を送る。コントローラ４８０は、エフェクタ４９０に対してあるモーションを実行することを指示する制御信号４８２を様々なエフェクタ４９０に送る。
【００４６】
（モーション計画部の構成要素）
図５は、本発明の一実施形態に係る、モーション計画部４７０を示すブロック図である。モーション計画部４７０は、探索戦略選択部５１０、決定的モード計画部５２０、探索ツリー拡大部５４０、計画経路抽出部５６０等の構成要素を含む。探索戦略選択部５１０は、設定の経路を探索し計画する複数の探索戦略のなかから、当該状況下でウエイトを与えられた優先度に応じて、１つの探索戦略を選択する。例えば、最も高い優先度として演算時間を最小化することが与えられている場合、最短の時間内で経路を生成する、１つの既知の探索戦略が選択され得る。例えば、最も高い優先度として、ロボット１３０の計画されたモーションを実行した後のタスク達成速度が与えられている場合、最も効率的に経路を生成する、１つの既知の探索戦略が選択され得る。探索戦略選択部５１０は、目標設定に達するためにロボット１３０によって取られるべきモードも決定する。探索戦略は、例えば、別のモードにおいて作業に課される条件に基づいて、モードのシーケンスを決定してもよい。
【００４７】
決定的モード計画部５２０は、最も制約されたモード内で遷移設定を探索する。図３Ａの例においては、決定的モード計画部５２０は、遷移設定３２２と目標設定３２４との間の設定経路を探索する。図３Ｂの例においては、決定的モード計画部５２０は、遷移設定３４２からサンプリングされた１つの設定と遷移設定３４６からサンプリングされた１つの設定との間の設定経路を探索する。一実施形態においては、決定的モード計画部５２０は、ある作業モード（例えば、押し動かすモード）専用の経路を生成するように特化されている。一実施形態においては、決定的モード計画部５２０は、多くの作業向けの経路を生成するために使用され得る。
【００４８】
決定的モード計画部５２０は、有用性テーブル生成部５２２、実現可能性テーブル生成部５２６及び遷移設定サンプリング部５３０等の構成要素を含む。有用性テーブルは、最も制約されたモードのすべての遷移設定の有用性を生成し記憶する。有用性は、最も制約されたモード内の目標設定に効率的に達する設定の変化を表す。一実施形態においては、有用性は、遷移設定３２２からサンプリングされた出発遷移設定からの平均距離を計算することによって決定される。
【００４９】
実現可能性テーブル生成部５２６は、実現可能性テーブル５２８を生成する。当該テーブルは、最も制約されたモード内の出発遷移設定が、実現可能であり、かつ、様々な制約に合致させながら実際に取り得るか否かを示す。主体装置の異なる部分間の衝突、障害物、特定の位置へのエンドエフェクタの到達可能性のような運動学的制約等の理由で、ロボット１３０によって取り得ない遷移設定もある。実現可能性テーブル５２８は、ある出発遷移設定が、このような制約に違反するか否かについての情報を記憶する。例えば、実現可能性テーブル５２８は、なんら制約に違反しない遷移設定に値「１」を関連付け、このような制約に違反する遷移設定に値「０」を関連付けてもよい。一実施形態においては、実現可能性テーブル５２８は、例えば図７を参照しつつ後記するように、有用性テーブル５２４と組み合わされている。一実施形態においては、有用性テーブル５２４及び実現可能性テーブル５２８は、遷移設定サンプリング部５３０の参照用に予め計算され記憶されている。
【００５０】
有用性テーブル５２４及び実現可能性テーブル５２８を生成する処理は、ロボット１３０の手を使用してテーブル１１０上に置かれた対象物１１２を押し動かすこと参照して、ここに記述される。図６Ａ及び図６Ｂに示されるように、ｘ、ｙ及びθを含む、設定の３次元空間が押し動かす作業用に定義される。ｘ、ｙ及びθは、ロボット用の座標系を定義し、当該座標系では、ｘ軸はロボット１３０の顔が向いている方向と平行であり。ｙ軸はｘ軸に垂直な水平移動を示し、θは、対象物１１２が接触している手の先端部における法線ベクトルの向きを示す。
【００５１】
手を使用して対象物１１２を押し動かすとき、対象物１１２に接触している手の先端部（例えば、指、掌、又は指関節）における法線ベクトルは、水平でなければならない。そうでなければ、対象物１１２はひっくり返り、安定して押し動かすことはできなくなる。手の先端部の高さは固定されていなければならない。なぜならば、押し動かしている間に手の先端部を持ち上げると対象物１１２がひっくり返るかも知れないし、手の先端部を下げると手がテーブル１１０の表面に衝突するかもしれないからである。
【００５２】
実現可能性テーブル生成部５２６は、まず、すべての遷移設定３２２について、すべてのエントリをゼロ「０」（制約に違反する）に初期化してもよい。一実施形態においては、ロボットの腕の自由度からサンプル設定が創出され、サンプリングされた設定について逆運動学が実行され、（ｉ）対象物に接触し得る高さまで手を上げ得るか否か、及び（ｉｉ）押し動かされている対象物１１２と手の先端部との接触点における法線ベクトルが水平に向けられ得るか否か、を決定する。所与の高さに手の高さが届き、かつ、法線ベクトルが水平に向けられ得る場合、他の制約も満たされるか否かを確認するチェックが実行される。他の制約は、自己衝突がないこと、対象物と接触している手の先端部がロボットの視野内にあること、他の障害物との衝突がないこと、等であり得る。すべての制約が満たされた場合、サンプリングされた遷移設定のエントリは、この遷移設定は実現可能であることを示す「１」に変更される。
【００５３】
有用性テーブル生成部５２２は、押し動かす作業の有用性を計算する。一実施形態においては、遷移設定の有用性は、障害物がない場合にその遷移設定から期待される、対象物を押し動かす距離として計算される。例えば、そこから押し動かすことが実行可能である全設定に亘って、モンテカルロ積分を実行することによって、有用性は推定され得る。モンテカルロ積分は、特定の位置から対象物が押し動かされ得る平均経路長を計算することを可能にする。ある設定から押し動かすことが実行され得るか否かについての情報は、実現可能性テーブル５２８に記憶される。有用性の推定値は、有用性テーブル５２４に、計算された出発位置ごとに記憶される。
【００５４】
対象物が押し動かされているとき、対象物は、回転中心（ＣＯＲ）の周りを回転する螺旋を描く。対象物の質量、エフェクタ表面と対象物表面との間の摩擦及び対象物の密度分布のような対象物１１２の物理的パラメータの合理的範囲においての、不変のＣＯＲ周りの事前確率Πから、ある仮定がなされる。確率Πは、ある場所から押し動かされる場合に対象物が取り得る方向の範囲を示す。これらの物理的パラメータは、分析を容易にするために、一様分布に単純化されてもよい。
【００５５】
ｗ０＝（ｘ，ｙ，θ）から出発して、ある１つの経路ｗ０，ｗ１，…，ｗｋが生成される。ここで、経路ｗ０，ｗ１，…，ｗｋ内のｋ＋１個の点のそれぞれは、経路内の直前の接触点から対象物を押し動かすことによって到達し得る手の接触点の設定を示す。例えば、ｗ１は、ｗ０から到達でき、ｗ２はｗ１から到達できる。ｗｋ＋１での実現可能性（到達可能性）がゼロ（０）になった時点で、シーケンスは終了する。多くの経路を生成した後、平均長が算出され、有用性テーブル４２４に記憶される。
【００５６】
図７は、本発明の一実施形態に係る、物を保持していない右手の先端部を使用する押し動かす作業についての、３次元グラフ形状の有用性テーブル５２４のエントリを示す図である。ドットの雲７１０は、ロボット１３０の物を保持していない右手によって入手され得る遷移設定の有用性及び実現可能性を表す（すなわち、実現可能性のエントリは「１」である）。雲７１０のより暗い部分は、有用性がより高い遷移設定を示す。一方、雲７１０のより明るい部分は、有用性がより低い遷移設定を示す。雲７１０の外側の何もない領域は、制約があるために実現可能ではない遷移設定を表す。同様の有用性テーブル５２４が、ロボット１３０の左手についても生成され得るし、ロボットの他の手設定（例えば、物を保持している手、又は掌による押し動かし）についても生成され得る。
【００５７】
有用性テーブル５２４及び実現可能性テーブル５２８を生成した後、遷移設定サンプリング部５３０は、予め計算された遷移設定の有用性及び実現可能性に基づいて、最も制約されたモード内の設定の経路を入手するための遷移設定をサンプリングする。具体的には、遷移設定サンプリング部５３０は、実現可能性テーブル５２８での対応するエントリが「１」に等しい実現可能な設定のセットから、有用性テーブル５２４での対応するエントリが定義するその設定の有用性に比例する確率で、遷移設定をサンプリングする。図７を参照して、より暗い色でマークされている遷移設定は、より明るい色でマークされている遷移設定に比べ、よりサンプリングされる確率が大きい。一様離散格子に基づくというよりはむしろ、実現可能な設定についての有用性分布に基づいて、遷移設定が無作為的にサンプリングされるので、良好な押し動かす作業となる成功遷移設定を発見する機会が増加する。
【００５８】
遷移設定がサンプリングされた後、決定的モード計画部５２０は、単一モード計画部５５０を後記にて詳述するように使用し、最も制約されたモード５２０内で取られるべき連続する複数の設定を計画する。
【００５９】
探索ツリー拡大部５４０は、初期設定３１２と目標の設定３２４との間の複数の遷移設定を表すツリーのノードを拡大する。ツリーの１つのノードは、モード間の１つの遷移設定を表す。まず、探索ツリー拡大部５４０は、設定空間内で１つの設定ｑｒａｎｄをサンプリングする。設定ｑｒａｎｄは、無作為的にサンプリングされてもよいし、主体装置によって操作されている対象物の目標設定に一致するように選択されてもよい。サンプリングされた設定ｑｒａｎｄと、ツリーのノードとの間の距離を計算して、サンプリングされた設定ｑｒａｎｄとの距離が最も短い１つのノードを選択する。
【００６０】
サンプリングされた設定ｑｒａｎｄに最も近いノードをツリー内で選択した後、当該ノードから、サンプリングされた設定ｑｒａｎｄの方へ、場合によっては当該経路内に新たなノードを追加して、ツリーが拡大される。
【００６１】
探索ツリー拡大部５４０は、距離メトリック算出部５４２、ノード選択部５４４等の構成要素を含む。距離メトリック算出部５４２は、サンプリングされた設定とツリー内のノードとの間の距離を計算する。サンプリングされた設定とノードとの間の距離は、タスクの目標を反映するメトリックの選択を使用して定義されてもよい。例えば、ここで記述される押し動かす例では、距離メトリックは、ツリー内のノードの対象物設定（すなわち、対象物１１２の設定）とサンプリングされた設定との間の距離として定義されてもよい。タスクの目標は対象物１１２を移動することであるから、ロボット１３０の設定は無視される。距離が計算された後、ノード選択部５４４は、サンプリングされた設定に最も近いノードを決定する。次に、探索ツリー拡大部５４０は、選択されたノードのモードと当該モードに隣接するモードとの間の遷移設定を選択する。
【００６２】
選択されたノード及び選択されたノードに隣接するノードのモードから遷移するための遷移設定は、様々な方法を使用して選択され得る。探索ツリー拡大部５４０の一実施形態においては、遷移設定は、バイアスなしで無作為的に選択される。他の実施形態においては、中間モード遷移がサンプリングされて、決定的モード計画部５２０の遷移設定サンプリング部５３０によって選択されたモード遷移に向かう経路を発見する。
【００６３】
決定的モード計画部５２０の単一モード計画部５５０は、ノードとサンプリングされた遷移設定との間の決定的モード内で単一モード経路を探索する。ノードによって表される設定とサンプリングされた遷移設定との間に経路が存在することを確認した後、サンプリングされた遷移設定に最も近い１つの既存ノードに繋がるノードとして、サンプリングされた遷移設定を追加することによって、ツリーが拡大される。一実施形態においては、２以上のノードへの距離が等しい場合、１つのノードが無作為的に選択され、サンプリングされた遷移設定へ繋がれる。
【００６４】
探索ツリー拡大部５４０によって遷移設定がサンプリングされた後、単一モード計画部５５０は、サンプリングされた遷移設定とツリーのノードとの間の単一モードモーションを計画する。単一モード計画部５５０は、例えば、Oussama Khatib,“Real-Time Obstacle Avoidance for Manipulators and Mobil Robots,”International Journal of Robotics Research, Vol.5,No.1,1986,pp.90-98に記述されている確率ロードマップ（ＰＲＭ）法及びポテンシャル場法のような様々な単一モード計画アルゴリズムを実行する。当該文献は、その全体がここに引用される。
【００６５】
計画経路抽出部５６０は、初期設定３１２と目標設定３２４との間の経路がツリーを拡大することによって識別された後、設定の経路を生成する。計画経路抽出部５６０は、経路を発生させないノードを排除し、ロボット１３０が目標設定３２４に達する際に取るべき連続する複数の設定を出力する。図４を参照して前記したように、連続する複数の設定に基づいて、モーション計画部４７０は、コントローラ４８０に入力される命令４７２を生成してもよい。
【００６６】
（複数モード作業計画方法）
図８は、本発明の一実施形態に係る、複数モードモーション計画方法のフローチャートである。最初に、モーション計画部４７０は目標設定を受け取る（ステップ８０６）。ある位置まで対象物を押し動かす例では、目標設定は、操作されている対象物の対象物設定の観点から定義される。詳細に前記した押し動かす例では、対象物設定は、水平座標及び対象物の向きを含む。モーション計画部４７０は、例えば図２Ａに示されるように、ロボット１３０のモード間の遷移候補を決定する（ステップ８０８）。次に、モーション計画部４７０は、初期設定３１２と目標設定３２４との間の経路内で、最も制約されたモードを決定する（ステップ８１０）。モーション計画部４７０は、遷移設定の実現可能性及び遷移設定の有用性を計算し記憶する（ステップ８１４）。
【００６７】
次に、設定空間においてある設定ｑｒａｎｄがサンプリングされる（ステップ８１８）。設定ｑｒａｎｄは、無作為的にサンプリングされてもよいし、主体装置によって操作されている対象物の目標設定に一致するように選択されてもよい。サンプリングされた設定ｑｒａｎｄとの距離が最も短い、探索ツリー内の１つのノードが選択される（ステップ８２２）。次に、拡大戦略を使用して、ツリーが選択されたノードから拡大される（ステップ８２６）。拡大されたツリーの末端に新たに追加された１つのノードは、末端設定として定義される。
【００６８】
ツリーが拡大された後、ツリー内の目標設定とツリー内の末端設定との間の距離がある閾値未満であるか否かを決定する（ステップ８３０）。目標設定と末端設定との間の距離が閾値未満である場合、初期設定から目標設定への設定の経路が抽出され出力される（ステップ８３４）。ツリー内の目標設定とツリー内の末端設定との間の距離がある閾値未満ではない場合、処理はステップ８１８に戻る。
【００６９】
図９は、本発明の一実施形態に係る、拡大戦略を使用する探索ツリー拡大方法のフローチャートである。最初に、対象物設定ｑｏｂｊが目標設定から抽出される（ステップ９０４）。次に、最も制約されたモード（例えば、押し動かすモード）及び隣接するモード（例えば、伸ばす／引っ込めるモード）によって共有される遷移設定がサンプリングされる（ステップ９０８）。有用性が高い遷移設定であるほど高い確率でサンプリングされるようにバイアスをかけて遷移設定をサンプリングしてもよい。実現可能ではない遷移設定はサンプリングからは排除されてもよい。
【００７０】
サンプリングされた遷移設定から初期設定への逆方向探索が実行される（ステップ９１０）。初期設定と最も制約されたモードに隣接するモードとの間のモード内で遷移設定が入手される。逆方向の経路探索が成功した場合（ステップ９１２）、処理はステップ９１６に進み、ステップ９０８においてサンプリングされた遷移設定と目標設定との間の最も制約されたモード内で、単一モード計画を実行する。単一モード計画が成功した場合（ステップ９２０）、ステップ９０８においてサンプリングされた遷移設定及びステップ９１０において入手に成功した遷移設定が探索ツリーに追加される（ステップ９２４）。
【００７１】
ステップ９１０、ステップ９１６又はその両者が、経路を発生することができない場合は、遷移設定がツリーに追加されることなく、処理はステップ９０８に戻り、他の遷移設定をサンプリングし、ステップ９１０から９２０までを繰り返す。
【００７２】
図９のステップは、別の順序で実行されてもよい。例えば、サンプリングされた遷移設定から初期設定への逆方向探索を行うステップ９１０、及び、最も制約されたモード内で単一モード計画を実行するステップ９１６は、並列的に実行されてもよいし、互いに実行される順序が入れ替わってもよい（すなわち、ステップ９０８及びステップ９１０がステップ９１６及びステップ９２０の後に来てもよい）。
【００７３】
（代替的な実施形態）
一実施形態においては、モーション計画部４７０は、バイアスなしの均等な確率で遷移設定がサンプリングされるブラインド（blind）モーション探索戦略も実行する。ブラインドモーション探索戦略は、遷移設定をサンプリングする前に、実現可能性又は有用性を計算することを必要としない。しかしながら、ブラインドモーション探索戦略は、有用性がより高い遷移設定がサンプリングされるようにバイアスをかけることはない。したがって、ブラインドモーション探索戦略を使用すると、遷移設定のサンプリングをより高い有用性の方にバイアスする場合と比較して、探索結果であるモーションの数がより増加する結果となり得る。
【００７４】
一実施形態においては、遷移設定の実現可能性情報のみが予め計算され、実現可能性テーブル５２８に記憶される。遷移設定の有用性は有用性テーブル５２４に記憶されない。実現可能性情報は、実現不可能な遷移設定がサンプリングされないようにするために使用される。
【００７５】
前記では、いくつかの実施形態に関して本発明を記述してきたが、本発明の範囲内で様々な修正が可能である。したがって、本発明の開示は、例示的なものであって、特許請求の範囲に記載された本発明の範囲を限定するものではない。
【符号の説明】
【００７６】
１１０  テーブル
１１２  対象物
１１４  目標位置
１３０  ロボット
２００  設定空間
２１０、２２０、２３０、２４０、２５０  多様体
３１２  初期設定
３１６、３１８、３２０、３２２  遷移設定
３２４  目標設定
４１０  計算モジュール
４４０  センサ
４５０  対象物検出部
４５２  対象物情報
４６０  環境マッピング部
４６２  環境情報
４７０  モーション計画部
４７２  命令
４８０  コントローラ
４８２  エフェクタ信号
４９０  エフェクタ
５１０  探索戦略選択部
５２０  決定的モード計画部
５２２  有用性テーブル生成部
５２４  有用性テーブル
５２６  実現可能性テーブル生成部
５２８  実現可能性テーブル
５３０  遷移設定サンプリング部
５４０  探索ツリー拡大部５４０
５４２  距離メトリック算出部
５４４  ノード選択部
５５０  単一モード計画部
５６０  計画経路抽出部
７１０  雲
【図１】
2010528886.tif 000003
【図２Ａ】
2010528886.tif 000004
【図２Ｂ】
2010528886.tif 000005
【図３Ａ】
2010528886.tif 000006
【図３Ｂ】
2010528886.tif 000007
【図４】
2010528886.tif 000008
【図５】
2010528886.tif 000009
【図６Ａ】
2010528886.tif 000010
【図６Ｂ】
2010528886.tif 000011
【図８】
2010528886.tif 000012
【図９】
2010528886.tif 000013
【図７】
2010528886.tif 000014
【国際調査報告】
2010528886.tif 000015