(57)【特許請求の範囲】
【請求項１】
機能的なタスクを実行するように構成された一以上の非自律機能可動ロボット（１２０、図１、３、４）と、
前記非自律機能可動ロボットの移動の継続的な監視（図５；７２５、図７ａ；７４６、図７ｃ）とランドマークの認識（７２６及び７２７、図７ａ；６１０−６１２、図６）との組み合わせを利用して環境内で自身及び前記非自律機能可動ロボットを位置確認する（７２３及び７２７、図７ａ）ように構成された一以上の自律ナビゲータ可動ロボット（１１０、図１、２、３）とを有し、前記環境内で動作する可動ロボットのシステム（１００、図１；図３）であって、
前記非自律機能可動ロボットは、前記自律ナビゲータ可動ロボットが前記位置確認を行う場合に、前記ランドマークとして認識され（８１２、図８；６１０、図６）、
各自律ナビゲータ可動ロボットは、
前記環境からデータ（２０１、図３；５３０、図５；７２１、図７ａ；７３１、図７ｂ）を収集し、かつ、前記非自律機能可動ロボットの移動を継続的に監視する一以上のセンサ（２０２、図２、３）と、
前記自律ナビゲータ可動ロボット及び前記非自律機能可動ロボットの少なくとも一の少なくとも選択された動作（７２５−７２６、図７ａ；７４６、図７ｃ；８１０、図８）を制御する制御部（２０４、図２）であって、少なくとも選択された動作を制御することは前記一以上の非自律機能可動ロボットの、前記環境内での前記移動を制御することを含む制御部と、
前記環境のマップを格納する（７２２及び７２４、図７ａ）メモリ（２１８及び２２０、図２）と、
前記非自律機能可動ロボットに前記制御部からの制御信号（２０９、図３）を送信する送信機（２０８、図２、３）とを有し、
前記非自律機能可動ロボットは、前記自律ナビゲータ可動ロボットから前記制御信号を受信するための受信機を有し、
前記自律ナビゲータ可動ロボットが、前記センサを用いた前記非自律機能可動ロボットの前記位置確認に基づき、前記非自律機能可動ロボットの移動と前記非自律機能可動ロボットにおける前記タスクの実行とを、前記制御信号の送信によって制御するシステム。
【請求項２】
前記非自律機能可動ロボットが移動中は、前記自律ナビゲータ可動ロボットは静止したままである請求項１記載のシステム。
【請求項３】
前記自律ナビゲータ可動ロボットが移動中は、前記非自律機能可動ロボットは静止したままである請求項１記載のシステム。
【請求項４】
前記自律ナビゲータ可動ロボットは、そのセンサを使用して、前記非自律機能可動ロボットの動作を制御し、前記非自律機能可動ロボットの現実の移動を継続的に監視する請求項１記載のシステム。
【請求項５】
各自律ナビゲータ可動ロボットは、移動に伴って継続的に各自律ナビゲータ可動ロボットの周囲からセンサデータを取得し、継続的に前記センサデータから一時的なマップを作成し、前記一時的なマップを少なくともマルコフ又はモンテカルロ位置確認アルゴリズムを用いて反復的に結合することによって前記環境の動的マップを生成する請求項１記載のシステム。
【請求項６】
各自律ナビゲータ可動ロボットは、前記環境の外周に追従してマッピングすることによって、予め前記環境の静的マップを作成し、格納していることを特徴とする請求項１記載のシステム。
【請求項７】
各自律ナビゲータ可動ロボットは、前記非自律機能可動ロボットによって実行されるべき前記タスクを前記メモリに格納する請求項１記載のシステム。
【請求項８】
前記自律ナビゲータ可動ロボットは、何のタスクが完了される必要があるかを決定し、前記非自律機能可動ロボットを特定のタスクに適合し、タスクスケジュールを作成することによって、前記非自律機能可動ロボットによって実行されるべき前記タスクを計画する請求項１記載のシステム。
【請求項９】
タスクの完了、非自律機能可動ロボットの移動の継続的な監視又は前記ロボットの再充電を補助するための基地局を更に有する請求項１記載のシステム。
【請求項１０】
位置確認に付随する計算は前記自律ナビゲータ可動ロボットとは異なるコンピュータによって実行され、前記自律ナビゲータ可動ロボットに通信される請求項１記載のシステム。
【請求項１１】
前記自律ナビゲータ可動ロボットは、推測航法を使用して自身を更に位置確認する請求項１記載のシステム。
【請求項１２】
前記センサは一以上のカメラを含む請求項１記載のシステム。
【請求項１３】
前記自律ナビゲータ可動ロボットは、前記環境内の前記非自律機能可動ロボットの動作を更に計画する請求項１記載のシステム。
【請求項１４】
前記一以上の非自律機能可動ロボットは、領域内で一以上の反復性のタスクを実行するように構成されている請求項１記載のシステム。
【請求項１５】
前記一以上の自律ナビゲータ可動ロボットは、前記領域をマッピングするように構成されている請求項１５記載のシステム。
【請求項１６】
前記一以上の自律ナビゲータ可動ロボットは、前記領域内の前記一以上の非自律機能可動ロボットの位置を決定するように構成されている請求項１５記載のシステム。
【請求項１７】
前記一以上の自律ナビゲータ可動ロボットは、前記一以上の非自律機能可動ロボットの、前記領域内での移動全体を計画するように構成されている請求項１６記載のシステム。
【請求項１８】
前記一以上の自律ナビゲータ可動ロボットは、前記一以上の非自律機能可動ロボットの、前記領域内での移動全体を継続的に監視するように構成されている請求項１７記載のシステム。
【請求項１９】
前記一以上の非自律機能可動ロボットは、各々電源を含む請求項１記載のシステム。
【請求項２０】
環境内の自律マルチロボット動作（図１、３）のための方法であって、
（ａ）  少なくとも一の自律ナビゲータ可動ロボット（１１０、図１、２、３）と少なくとも一の非自律機能可動ロボット（１２０、図１、３、４）とを提供するステップと、
（ｂ）  前記少なくとも一の自律ナビゲータ可動ロボットで、前記環境のマップを作成（７２２及び７２４、図７ａ；８０８、図８）するステップと、
（ｃ）  前記少なくとも一の自律ナビゲータ可動ロボットで、前記少なくとも一の自律ナビゲータ可動ロボット及び前記少なくとも一の非自律機能可動ロボットを前記マップ内で位置確認（７２３及び７２７、図７ａ；８０８、図８）するステップと、
（ｄ）  前記少なくとも一の自律ナビゲータ可動ロボットで、前記少なくとも一の非自律機能可動ロボットによって実行されるべきタスクを計画する（７３２−７３５、図７ｂ；７４２−７４４、図７ｃ；８０８、図８）ステップと、
（ｅ）  前記少なくとも一の非自律機能可動ロボットで、前記少なくとも一の自律ナビゲータ可動ロボットによって計画されたタスクを実行する（８１０、図８）ステップと、
（ｆ）  前記少なくとも一つの自律ナビゲータ可動ロボットで、前記タスク実行中に前記少なくとも一つの非自律機能可動ロボットの移動を継続的に監視する監視ステップと、
（ｇ）  前記少なくとも一の自律ナビゲータ可動ロボットで、前記タスク実行中に前記少なくとも一の非自律機能可動ロボットを制御する制御ステップとを有し、
前記制御ステップは、前記一以上の非自律機能可動ロボットの、前記環境内での前記移動を制御し、
前記自律ナビゲータ可動ロボットが、前記位置確認ステップと前記監視ステップによる前記非自律機能可動ロボットの前記位置確認に基づいて、当該非自律機能可動ロボットの移動と前記非自律機能可動ロボットにおける前記タスクの実行とを制御する方法。
【請求項２１】
（ｂ）は、
移動によって継続的にセンサデータを前記自律ナビゲータ可動ロボットの周囲から取得すること、
取得した前記センサデータから継続的に一時的なマップを作成すること、前記一時的なマップを少なくともマルコフ又はモンテカルロ位置確認アルゴリズムを用いて反復的に結合することによって動的マップを作成することを有する請求項２０記載の方法。
【請求項２２】
（ｂ）は、前記環境の外周に追従してマッピングすることによって前記移動の前に予め前記環境の静的マップを作成することを更に有する請求項２１記載の方法。
【請求項２３】
（ｃ）において、前記非自律機能可動ロボットを位置確認することは、前記自律ナビゲータ可動ロボットに搭載された可視システムを利用して、前記非自律機能可動ロボットの移動を継続的に監視することを有する請求項２０記載の方法。
【請求項２４】
（ｃ）において、前記非自律機能可動ロボットを位置確認することは、
前記自律ナビゲータ可動ロボットを新しい位置に移動し、
推測航法及びランドマーク認識技術の少なくとも１つを利用して、前記自律ナビゲータ可動ロボットの前記現在位置を推定し、
前記現在位置が前記新しい位置に等しいかどうかを決定し、もしそうでなければ、前記新しい位置に移動し続け、
前記現在位置が前記新しい位置にほぼ等しい場合には、
前記自律ナビゲータ可動ロボットを停止して新しいセンサデータを取得し、
前記新しいセンサデータから一時的なマップを作成し、
前記一時的なマップを前記環境のマップに調整するのに位置確認アルゴリズムを使用し、
前記環境の前記マップに前記一時的なマップからの情報を結合することを有する請求項２０記載の方法。
【請求項２５】
（ｄ）は、
前記環境内で部屋及び面に関するデータを収集し、
タスクを実行するのに何の非自律機能可動ロボットが利用可能であるかを決定し、
何のタスクが完了される必要があるかを決定し、
前記利用可能な非自律機能可動ロボットを前記完了される必要があるタスクに適合し、
タスクスケジュールを作成することを有するグループから選択された少なくとも一の行為を有する請求項２０記載の方法。
【請求項２６】
（ｆ）は、
タスク実行を開始するために前記非自律機能可動ロボットを適当な位置に移動するように命令し、
それが前記適当な位置に移動すると前記非自律機能可動ロボットの移動を継続的に監視し、
前記非自律機能可動ロボットが遠くに移動しすぎて前記非自律機能可動ロボットの移動を継続的に監視をできない場合は、前記非自律機能可動ロボットを停止するように命令し、前記自律ナビゲータ可動ロボットを前記非自律機能可動ロボットのより近くに移動し、
前記非自律機能可動ロボットが前記適当な位置に到達すると、前記非自律機能可動ロボットにタスク実行を開始することを命令し、
タスク実行中に前記非自律機能可動ロボットの移動を継続的に監視することを有する請求項２０記載の方法。
【請求項２７】
前記自律ナビゲータ可動ロボットは静止したままで、前記非自律機能可動ロボットの移動及びタスク実行を継続的に監視する請求項２６記載の方法。
【請求項２８】
機能的なタスク実行機能を前記非自律機能可動ロボットに割り当てることを更に有し、前記位置確認することは前記環境内で全ての前記可動ロボットに関して行われる請求項２０記載の方法。
【請求項２９】
前記自律ナビゲータ可動ロボットは静止したままで、前記非自律機能可動ロボットによるタスク実行を制御する請求項２８記載の方法。
【請求項３０】
前記自律ナビゲータ可動ロボットは、該自律ナビゲータ可動ロボット又は前記非自律機能可動ロボットの位置確認を行う場合に前記非自律機能可動ロボットをランドマークとして認識して、新しい位置に移動する請求項２０記載の方法。
【請求項３１】
前記自律ナビゲータ可動ロボットで、前記環境をマッピングすることを更に有する請求項２０記載の方法。
【請求項３２】
位置確認することは、前記自律ナビゲータ可動ロボットを使用して、前記非自律機能可動ロボットの、前記環境内での位置を決定することを更に有する請求項２０記載の方法。
【請求項３３】
前記自律ナビゲータ可動ロボットを使用して、前記非自律機能可動ロボットの、前記環境内での移動を計画することを更に有する請求項２０記載の方法。
【請求項３４】
位置確認することは、ランドマークの認識を含む請求項２０記載の方法。
【請求項３５】
前記少なくとも一の非自律機能可動ロボットは、前記自律ナビゲータ可動ロボットが該自律ナビゲータ可動ロボット又は前記非自律機能可動ロボットの位置確認を行う場合に、前記ランドマークとして認識される請求項３４記載の方法。
【請求項３６】
位置確認することは、推測航法を含む請求項２０記載の方法。
【発明の詳細な説明】
【０００１】
発明の分野
本発明は、一般に、可動ロボットシステムに係り、特に、自律マルチプラットフォームロボット環境におけるマッピング、位置確認、計画、制御及びタスク実行機能を割り当てるためのシステム及び方法に関する。
発明の背景
可動ロボットは、清掃や機密保持などの様々なタスクを取り扱うように設計、開発及び展開されている。殆どの可動ロボットは非自律である。即ち、自律的にナビゲートができない。非自律ロボットによって提供される経済的利益は、ロボットの非弾力的振舞いと多額の設置費用によって限定されている。特定の経路とタスク用にロボットを予めプログラムするために、しばしば熟練技術者を雇って賃金を支払わなくてはならない。また、ロボットを案内するために、トラック、埋込み信号発信線、マーカー又はセンサなどの物体を環境に配置する必要がある場合もある。設置と動作上の問題を最小限にするために、環境に対する更なる変更が必要な場合もある。
【０００２】
ある可動非自律ロボットは、その経路をブロックする障害物を検知することができ、かかる障害物を回避するために停止又は僅かにその経路から外れることができる。しかし、大きな家具を移動するなど環境が大きく変更されると、従来の非自律ロボットは適当に反応しない。設置プロセスの一部又は全部が繰り返されなければならない。この限界があると、非自律ロボットは、安定した高価値経路にのみ通常展開される。プール清掃ロボットなど、ある可動非自律ロボットは、そのタスクを実行するためにランダムな動作に頼っているが、限定数の用途のみがこの手法に適用できるだけである。
【０００３】
完全自律可動ロボットは、ここ数年で研究所から出現し始めた。自律ロボットは、その周囲や環境条件を検知して反応することによって、その環境を通じてナビゲート可能である。自律ロボットナビゲーションは、マッピング、位置確認、計画及び制御の４つの主要なタスクを含む。これらの密接に関連した概念は、“私はどこにいる？”（マッピングと位置確認）、次いで、“私はどこに行きたい？”又は“私は何をしたい？”（計画）、そして最後に、“私はどうやってそこにたどり着く？”若しくは“私はそれをどのようにしたい？”（制御）を質問することに似ている。
【０００４】
一旦マッピングが終了すると、ロボットの現在位置、姿勢及びマップ内での変化速度が決定されなければならない。このプロセスは位置確認と呼ばれる。二次元マッピング及び位置確認に依存する自律ロボットは、マップが比較的単純なために、しばしば適当な信頼性でナビゲートできない。しばしば、ロボットは道に迷い、動けなくなり、落下する。これに対して、動的三次元マッピングと位置確認は、より信頼性が高いナビゲーションを可能にするが、多量の計算負荷を必要とする複雑な計算を含む。三次元マップは、典型的に、計算量が大きなランドマーク抽出、位置確認、計画などの確実な動作を行う何百ものセルを有する。計算結果の遅延は、ロボット移動とタスク実行の速度を制限する。
【０００５】
一旦マッピングと位置確認が達成されると、タスク計画と実行が開始されなければならない。ある位置確認は、タスク実行中も依然として要求される。一のロボットでタスクを実行しつつ位置確認しようとすると、受容できない遅れとなる。多数のロボットが使用されると、上述のトレードオフがしばしば依然として現れ、今度は複数回繰り返して対処しなければならない。
【０００６】
上記に鑑みて、効果的な計画とタスク割り当てと同様に、高速、正確かつ安価なマッピングと位置確認を有する自律マルチロボットシステムが必要である。
発明の要約
本発明は、マルチロボット環境において、マッピング、位置確認、計画、制御及びタスク実行機能を割り当てるシステム及び方法に関する。本システムは、少なくとも一のナビゲータロボットプラットフォームと、所定のタスクを実行する一以上の機能ロボットプラットフォームを有する。
【０００７】
各タスクに対して、ナビゲータ及び所与の機能ロボットは協力して動作する。マッピング、位置確認、計画及び制御機能は、前記少なくとも一のナビゲータロボットに割り当てられ、機能的なタスクは前記一以上の機能ロボットに割り当てられる。ある実施形態においては、本システムは家又はオフィスの室内を清掃するのに使用される。この実施形態においては、機能ロボットは、掃除機かけ、掃き掃除、モップがけ、浴室装備品掃除などのタスクを実行し、ナビゲータロボットは機能ロボットをナビゲートし、操作し、監視する。
【０００８】
ある実施形態においては、ナビゲータロボットは、それ自身及び機能ロボットの両方のためのマッピング、位置確認、計画及び制御に対する全て又は実質的に全ての計算を実行する。従って、ナビゲータは、これらのタスクに必要なセンサ及びセンサ処理ハードウェアを備えている。逆に、本実施形態の機能ロボットは、位置確認、計画又は制御に対する計算を全く又はほんの少ししか実行せず、このためこれらの目的に必要なセンサ又はハードウェアを備えていない。
【０００９】
そこで、ある実施形態においては、領域内で一以上の反復性のタスクを実行するように構成された少なくとも一の第１の可動ロボットと、前記少なくとも一の第１のロボットの、前記領域内での移動全体を制御するように構成された少なくとも一の第２のロボットとを有する自律ロボットシステムが提供される。
【００１０】
別の実施形態においては、少なくとも一の第１の可動ロボットによって反復性のタスクを実行するステップと、少なくとも一の第２のロボットによって前記少なくとも一の第１のロボットの、前記領域内での移動全体を制御するステップとを有し、領域内で反復性のタスクを実行する方法が提供される。
【００１１】
本発明の更に別の実施形態では、環境内で動作する自律可動ロボットシステムが提供される。システムは、機能的なタスクを実行する責任を有する一以上の機能可動ロボットを有する。システムは、前記環境内で自身及び機能ロボットを位置確認し、前記機能ロボットによって実行されるべきタスクを計画し、タスク実行中に前記機能ロボットを制御する一以上のナビゲータ可動ロボットを更に有する。ある実施形態においては、機能ロボットが移動中は、それを制御するナビゲータロボットは静止したままである。
【００１２】
本発明の更に別の実施形態においては、自律マルチロボット動作方法が提供される。当該方法は、
（ａ）  少なくとも一のナビゲータロボットと少なくとも一の機能ロボットを提供するステップと、
（ｂ）  前記少なくとも一のナビゲータロボットで、環境のマップを作成するステップと、
（ｃ）  前記少なくとも一のナビゲータロボットで、前記マップ内で前記少なくとも一のナビゲータロボット及び前記少なくとも一の機能ロボットを位置確認するステップと、
（ｄ）  前記少なくとも一のナビゲータロボットで、前記少なくとも一の機能ロボットによって実行されるべきタスクを計画するステップと、
（ｅ）  前記少なくとも一の機能ロボットで、前記少なくとも一のナビゲータロボットによって計画された前記タスクを実行するステップと、
（ｆ）  前記少なくとも一のナビゲータロボットで、前記タスク実行中に前記少なくとも一の機能ロボットを制御及び追跡するステップとを有する。
【００１３】
また、本発明は、自律可動プラットフォームシステムを実現する方法も提供する。当該方法は、
マルチ可動プラットフォームを提供するステップと、
マッピング、位置確認、計画及び制御機能を第１の組の可動プラットフォームに割り当てるステップと、
機能的なタスク実行機能を第２の組の可動プラットフォームに割り当てるステップと、
前記第１の組の可動プラットフォームで、環境をマッピングし、環境内で実質的に全てのプラットフォームの位置確認し、タスク実行を計画するステップと、
前記第２の組の可動プラットフォームで、前記タスクを実行するステップと、
前記第１の組のプラットフォームで、前記第２の組のプラットフォームによる前記タスク実行を制御及び追跡するステップとを有する。
【００１４】
本発明の更なる特徴と長所は、様々な実施形態の動作構造と同様に、添付図面を参照して後述される。
【００１５】
本発明は、添付図面を参照して説明される。図面においては、同様の参照番号は同一又は機能的に類似の構成要素を示す。
発明の詳細な説明
１．  はじめに
本発明は、マルチロボット環境において、マッピング、位置確認、計画、制御及びタスク実行機能を割り当てるシステム及び方法に関する。特に、本発明の一実施形態によれば、マッピング、位置確認、計画及び制御機能は、可動プラットフォーム（ナビゲータ）に割り当てられ、タスク実行機能は少なくとも一の第２の可動プラットフォーム（機能ロボット）に割り当てられる。
【００１６】
本発明は、概ねリアルタイム操作とタスク完了を与えることによって、現在使用されている従来システムの欠点を解消している。本発明の理想的な用途は、家事又はオフィス清掃であり、それは典型的に、掃除機がけ、掃き掃除、モップがけなどの複数の反復性のタスクを含む。しかし、本発明は、多数のロボットが割り当てられたタスクを実行するために操作される、いかなる環境においても実施可能であろう。
２．  システム構成要素
図１は、本発明によるマルチロボットシステム１００のブロック図である。システム１００は、ナビゲータ可動ロボット１１０と、多数の機能ロボット１２０と、（選択的に）基地局１３０とを有する。基地局１３０は、後述する長所を与えるものの全ての環境に要求されるものではないことに留意しなければならない。
【００１７】
基地局１３０が備えられるならば、可動ロボット１１０及び１２０を再充電するための充電局を含んでもよい。更に、基地局１３０は、タスク実行を補助するように構成されてもよい。例えば、システム１００が家庭内清掃環境で実現されれば、基地局１３０は、要求されたタスクの実行を補助するために、ゴミいれ、屑入れ、貯水庫などを備えてもよい。
【００１８】
ある実施形態においては、ナビゲータ１００は、全て又は実質的に全てのマッピング、位置確認、計画及び制御機能に対して責任を負う。それは、環境マップ、達成されるべきタスクのリスト、タスクスケジュール及び充電スケジュールを作成及び保持する。ナビゲータ１１０は、機能ロボット１２０と同様に、それ自身をナビゲートして操作するのに必要な全てのセンサ及びハードウェアで構成される。この点に関して、ナビゲータ１１０は、機能ロボット１２０に命令を通信する送信機を有する。
【００１９】
機能ロボット１２０は、特定のタスクを実行し、それらのタスクの実行を容易にするような形状及び大きさを有する。ロボット１２０は、ナビゲータ１１０からの命令を受信するための受信機を備え、図１に示すように、ナビゲータ１１０がそれらを認識、位置決め及び追跡するのを補助するために、独特な形状又はマーキング１２２がロボット１２０に施されてもよい。ある実施形態においては、ロボット１２０は、好ましくは、更なるセンサ、センサハードウェアなどを備えない。ナビゲータ１１０がこれらの機能を実行するからである。しかし、必要があれば、ロボット１２０は、それらの機能性を高めるためにセンサなどを備えてもよい。
【００２０】
ａ．  ナビゲータロボット
図２は、本発明の一実施形態によるナビゲータロボット１１０のブロック図である。図２に示すロボット１１０の特定の実施形態は例示的目的でのみ与えられ、ナビゲータ１１０に対する特定の物理的構成を要求するように解釈してはならない。
【００２１】
センサ２０２はナビゲータ１１０に搭載される。センサ２０２は、ロボットの環境に適したいかなるセンサの種類であってもよく、複数のセンサが使用されてもよい。それは固定位置に搭載されてもよいし、代替的に、ナビゲータ１１０に対する位置と姿勢を変更可能なように構成されてもよい。センサの種類とシステムの複雑さに依存して、センサ２０２の位置と姿勢がナビゲータ１１０の制御下にあってもよいし、なくてもよい。
【００２２】
ある実施形態においては、センサ２０２は、周囲の環境の光学像を記録するカメラである。別の実施形態においては、センサ２０２は、ロボットの環境のより詳細で正確な情報を得るための立体視を与える一組のカメラを有する。別のセンサのオプションは、レーダー、ライダー、ソナー及び又はこれらの組み合わせを含むが、これらに限定されるものではない。かかるセンサの動作及び構成は、当業者には馴染み深いだろう。ナビゲータ１１０は、制御部２０４、電源及び電源供給システム２０６、送信機２０８、モータ制御部２１０、モータ２１２及び車輪２１４を更に有する。制御部２０４は、プロセッサ又は中央演算処理装置（ＣＰＵ）２１６、一時記憶部又はＲＡＭ２１８、及び、不揮発性記憶部２２０を有する。マップ及びタスクスケジュールなどの情報は、不揮発性記憶部２２０に格納され、それは、ある実施形態においては、ＥＰＲＯＭ又はＥＥＰＲＯＭである。制御部２０４は、ロボットの周囲の環境に関する、センサ２０２から情報を受信及び処理する。これは、ナビゲータ１１０の位置、他の機能ロボット１２０の位置、ランドマークの近くなどの情報を含んでもよい。制御部２０４は、何のタスク又は移動が次に起こるべきかを決定するのにこの情報を使用する。
【００２３】
制御部２０４は、入手可能な情報に基づいて、ナビゲータ１１０の移動及び操作を制御する。ナビゲータ１１０がそれ自身を操作し、移動の効果を発揮する方法及び手段は、「制御ループ」と呼ばれ、モータ制御部２１０、モータ２１２及び車輪２１４を含む。センサ２０２からの情報に基づいて、制御部２０４はモータ制御部２１０に適当な命令を送信する。モータ制御部２１０は、これらの命令に従ってモータ２１０を制御する。モータ２１２は、次いで、車輪２１４を駆動する。ある実施形態においては、移動の方法と複雑性に依存して、制御ループは、サーボ、アクチュエータ、送信機などを含んでもよい。制御ループは、走行距離データを収集して制御部２０４に送信してもよい。
【００２４】
図３に示されるように、ある実施形態においては、制御部２０４は、送信機２０８を介して機能ロボット１２０の移動も制御する。制御部２０４は、機能ロボットが次に開始すべきは何のタスク、移動その他の機能であるかを決定するために、センサ２０２によって受信されたセンサ入力２０１を処理する。送信機２０８は、適当な制御信号２０９を、機能ロボット１２０の受信機３０２に送信する。
【００２５】
送信機２０８及び受信機３０２は、いかなる適した伝達手段及び媒体を使用してもよい。ある実施形態においては、ナビゲータ１１０と機能ロボット１２０との通信に音波が使用される。ある実施形態においては、ある周波数の音波は、一方向に（即ち、ナビゲータ１１０から機能ロボット１２０に）移動することを意味し、別の周波数の音波は別の方向に（即ち、機能ロボット１２０からナビゲータ１１０に）移動することを意味する。別の適当な通信手段は、有線又は無線通信、赤外線信号及び磁気操作を含むが、これらに限定されるものではない。
【００２６】
ｂ．  機能ロボット
図４は、本発明の一実施形態による機能ロボット１２０のブロック図である。再び、図４に示すロボット１２０の特定の実施形態は例示目的でのみ与えられ、ナビゲータ１２０に対する特定の物理的構成を要求するように解釈してはならない。上述のように、機能ロボット１２０は受信機３０２を含む。ロボット１２０を移動及び操作する制御ループは、電源及び電源供給システム４０２、モータ制御部４０４、モータ４０６及び車輪４０８を含む。ナビゲータ１１０から受信機３０２を介して受信した制御信号は、モータ制御部４０４を制御する。制御部４０２は、モータ４０６を制御し、それは、次いで、車輪４０８を駆動する。制御ループはサーボ、アクチュエータ、送信機などを有することもできる。
【００２７】
ナビゲータ１１０と機能ロボット１２０の電源及び供給モジュールは同様又は同一でもよい。電源部は、電池、アウトレット、燃料電池、内燃機関その他のエンジン又はこれらの組み合わせを含むが、これらに限定されることはなく、いかなる適当な電源を有してもよい。電源部は、電源を調整し、いかなる適当な仕様又は要求を満足するように、それを分配する。
３．  システム動作
上述のように、本発明は商業的なマルチロボット環境においてマッピング、位置確認、計画、制御及びタスク実行を割り当てるシステム及び方法を提供する。特に、ある実施形態においては、マッピング、位置確認、事前計画、計画及び制御機能は可動プラットフォーム（ナビゲータ）に割り当てられ、タスク実行機能は少なくとも一の第２の可動プラットフォーム（機能ロボット）に割り当てられる。各機能（マッピング、位置確認、事前計画、計画及び制御、タスク実行）を以下に説明する。
【００２８】
ａ．マッピング
ある実施形態においては、ナビゲータ１１０は、マッピング機能の全て又は実質的に全ての機能を実行する。マッピングは、環境の代表物が、センサデータ及び予めプログラムされた入力から作成されて更新されるプロセスである。異なるレベルの解像度、安定性、及び／又は、座標系を有する幾つかのマップが保持可能である。動的マッピングは、ロボット環境の確率的な二次元又は三次元マップである現在の動的マップ（ＣＤＭ）を保持する。環境の外周（即ち、部屋の壁又は中庭の境界）の静的マップが作成されてもよい。ナビゲータ１１０によって作成されるマップは、ＲＡＭ２１８又は不揮発性メモリ２２０に格納される。
【００２９】
反復性のマッピングプロセスは、本質的に、新しい位置に移動するステップと、ごく周囲の領域内で物体及び障害物のセンサデータを収集するステップと、位置確認を実行するステップと、新しいセンサデータから得られた情報を結合するように動的マップを更新するステップとを有する。このプロセスは、計算量が膨大で時間がかかる。しかし、以下に説明するように、ナビゲータ１１０における、これらのマッピング機能の強化は、マッピングに必要な時間を、従来システムがマッピングに要求する時間の一部に減少する。
【００３０】
上述のように、環境の動的マップに加えて、環境の外周の静的マップが形成可能である。静的マップは、例えば、ビルの壁や中庭の境界を含む。それは、予め決定されてナビゲータ１１０に入力されてもよいし、代替的に、ナビゲータ１１０はタスク実行が開始される前に環境の静的マップを作成してもよい。後者の場合には、ある実施形態においては、ナビゲータ１１０は、物理的に別個の周囲に従い、それが移動すると動的マップを維持し、動的マップから静的マップに周囲情報を結合する。プロセスは、静的マップが完了、固定、安定するまで続く。
【００３１】
プロセス又は静的マップの形成は比較的長く反復する。好ましくは、新しい環境にシステムが導入されると、それは一回のみ行われる。マップを作成するのに使用される適当な方法は、使用されるセンサと必要な計算を実行するためのアルゴリズムに依存する。一旦形成されると、ある実施形態においては、静的マップは選択されるナビゲータ１１０内に永久に格納される。ナビゲータ１１０は、ランドマークやその他の環境の物理的属性を認識してＣＤＭを静的マップ内で調整することによって、静的マップ内でその位置を決めることができる。原点や参照点は必要ではない。ある仮定の使用は、静的マップの作成に必要な時間と計算を短縮することができる。例えば、オフィス又は家庭環境においては、壁は正方形で平坦であると仮定することができる。かかる仮定は、静的マップを作成するのに必要な時間を低減する。
【００３２】
ある実施形態においては、マッピングプロセスは、ナビゲータ１０に搭載された一対のステレオディジタルカメラから得られたセンサデータから作成された３つのマップを含む。本実施形態においては、第１のマップは、ナビゲータ１１０のごく周囲の一時的なマップ（ＴＭ）である。特に、一時的なマップは、ごく周囲環境の最後の立体写真像対から作成された確率的三次元表現である。本実施形態の第２のマップは、現在の動的マップ（ＣＤＭ）である。ＣＤＭは、動作環境の確率的三次元表現であり、継続的な一時的マップからの情報を反復的に結合することによって形成される。本実施形態のＣＤＭは、ナビゲータが移動するたびに更新される。本実施形態の第３のマップは、静止周囲マップ（ＰＭ）である。上述のように、ＰＭはナビゲータ１１０が環境の外周に追従すると形成される。
【００３３】
別の実施形態においては、マップはナビゲータ１１０によって形成されないが、ナビゲータ１１０に入力されるか予めプログラムされている。更なる実施形態においては、静止マップはタスク開始前には形成されないか入力されない。本実施形態においては、ナビゲータ１１０は、ブランクの動的マップで単に開始し、タスクが実行されるときにそれを更新する。
【００３４】
ｂ．  位置確認
ある実施形態においては、ナビゲータ１１０は、マッピングされた環境の周囲でそれ自身及び機能ロボット１２０の両方をナビゲートする責任を有する。本実施形態においては、ナビゲータ１１０は、ナビゲーションの全て又は実質的に全ての側面に責任を有し、自身及び機能ロボット１２０の両方に対する位置確認、計画及び制御を含む。逆に、従来のシステムにおいては、各可動ロボットは、それ自身の位置確認、プラニング及び制御に対して責任を有する。かかるシステムにおける各ロボットは、タスクを実行するためにそれ自身を適当な位置にナビゲートし操作する責任を有する。かかるシステムは、全てのロボットに対する位置確認計算遅延の影響を受け、タスク完了を低速かつ非効率的にする。本発明の実施形態は、一のナビゲータロボット１１０のす全て又は実質的に全てのナビゲーション機能を収集してそのロボットの移動量を最小にすることによって、かかる遅延を回避し、効率性を増加する。
【００３５】
位置確認は、マップ内のロボットの現在位置、姿勢、変化速度が決定されるプロセスである。異なる手順が、ナビゲータを位置確認し、機能ロボットを位置確認するのに使用されてもよい。機能ロボットの位置確認は、ナビゲータが、ある実施形態においては、機能ロボットの位置確認をする際に静止又は実質的に静止し、現在の動的マップ内でのその位置を知っているので、比較的単純である。ある実施形態においては、ナビゲータは、そのビジョンシステム（センサ）を使用して単に機能ロボットを追跡し、その後ビジョンデータを、カルマン（Ｋａｌｍａｎ）フィルタなどの追跡フィルタによってフィルタする。かかるロボットは短距離だけ移動又は回転していれば、ナビゲータのセンサ２０２はこの移動を検出して機能ロボットを位置決めすることができる。基地局を使用する実施形態においては、基地局近傍の機能ロボットの位置は、高速で確認可能でもある。
【００３６】
機能ロボット１２０の独特の形状及び／又は幾何学的マーキング１２２は、ナビゲータ１１０がロボット１２０を配置することを補助することもできる。ナビゲータ１１０によって使用されるセンサ２０２の種類は、独特な形状又はマーキングが使用されるか、それがどのように認識されるかを示すだろう。ある実施形態においては、ナビゲータ１１０は、センサデータを処理し、特定の形状を認識するのにニューラルネットを使用する。別の実施形態においては、ナビゲータは、いかなるマーキング及び／又は形状を理解するのにそのビジョン又はセンサシステムを使用する。
【００３７】
機能ロボット１２０を位置確認するのに加えて、ある実施形態では、ナビゲータ１１０は、いかなる動作の後でも、それ自身を位置確認しなければならない。ナビゲータの位置確認は、マッピング、特に、現在の動的マップと非常に密接に関連している（即ち、ＣＤＭを維持するためにナビゲータはそれがＣＤＭ内のどこにいるかを知らなければならない）。現在の動的マップ及び静的周囲マップの両方が使用される場合、位置確認は、それらのマップ内でナビゲータ及び機能ロボットの両方の位置を決定することを含む。ＣＤＭは予めプログラム可能であることに留意すること。
【００３８】
ナビゲータを位置確認するプロセスは、典型的には、機能ロボットを位置確認するプロセスよりも複雑である。ナビゲータが自身を位置確認することができる潜在的方法は、推測航法、アクティブビーコン、アクティブセンサ、ランドマーク認識方法を含む。推測航法を使用しながら、ロボットの位置変更の大まかな推定を、走行距離及び慣性ナビゲーションシステムを使用して維持してもよい。アクティブビーコン位置確認方法は、環境内の既知の位置に配置されたビーコンからのその距離を測定することによって、ロボットの位置を決定する。三角測量は、その後、ロボットの位置を特定するのに使用可能である。アクティブセンサ位置確認方法は、既知の固定位置に配置されたディジタルカメラなどのセンサでロボットの位置を追跡する。ロボットが環境内で形状とランドマークの位置を認識して知るランドマーク認識方法を使用することができる。認識されたランドマーク位置はロボットの位置を計算するのに使用される。
【００３９】
その低コストと単純性のため、ある種の推測航法（特に、走行距離）は、本発明のある実施形態で好ましい。しかし、推測航法位置確認誤差は、車輪のすべりと調整不良のために時間と共に蓄積し得る。これらの誤差を補償するために、例えば、上述のようなものの補助技術が推測航法と組み合わされて使用されてもよい。現実世界の要因と制約は補助技術の実行可能性を制限するかもしれない。アクティブビーコン及びセンサ方法は、典型的に、ロボットの環境にカメラや反射テープなどの異物の設置を要求する。かかる物体の設置は、工場や産業設定には需要可能であるかもしれないが、それは一般には家庭、オフィス及び戸外環境では受容できない。これらの理由により、推測航法位置確認を増加するランドマーク認識の使用は、本発明の一実施形態において好ましい。
【００４０】
推測航法が、ランドマーク認識などの補助技術と組み合わされて使用される場合でも、限定されたセンサ解像度などの要因により、典型的に、位置確認は完全に正確ではなくなる。マルコフ（Ｍａｒｋｏｖ）やモンテカルロアルゴリズムなどの幾つかの位置確認アルゴリズムは、位置確認精度を更に改善するために使用可能である。
【００４１】
図７ａは、ナビゲータ１１０のためのマッピング及び位置確認プロセスの一実施形態に含まれ得るサブステップを示すフローチャートである。ステップ７２１で、ナビゲータ１１０は、センサデータをそのごく周囲から取得する。ある実施形態においては、一対のディジタルステレオカメラがセンサデータを取得するのに使用される。立体写真像対から、ステップ７２２で新しい一時的なマップ（ＴＭ）が作成され、現在の動的マップ（ＣＤＭ）に関して調整される（ステップ７２３）。一時的なマップと現在のマップを調整するために、一組の位置推定ＰＥｎ＋１，１・・・ＰＥｎ＋１，ｍが生成される。マルコフ又はモンテカルロ位置確認アルゴリズムは、この組の推定を生成するのに使用可能である。位置推定の誤差の範囲は、要因ｍがどの程度大きいかを示すだろう。その範囲から最良の推定ＰＥｎ＋１，ｋ（1≦ｋ≦ｍ）が選択され、ＰＥｎ＋１，ｋを使用して、情報が一時的なマップ及びセンサデータから抽出され、現在の動的マップに付加される（ステップ７２４）。一時的なマップはその後廃棄される。
【００４２】
ナビゲータ１１０は、計算を最小にするために、静止したままでもよい（ステップ７２５）。ある実施形態においては、ナビゲータ１１０は、後述するように静止したまま、機能ロボットを追跡及び制御する。最終的に、ナビゲータ１１０は、新しい目標位置ＧＰｎ＋１に向かって移動する必要があり、移動し始める（ステップ７２６）。ナビゲータ１１０が移動すると、それは走行距離データを、ＰＥｎからのその距離及び姿勢の推定を取得するのに使用するために（ある実施形態では上述したように推測航法を使用して）取得することができる（ステップ７２７）。ある実施形態においては、ナビゲータ１１０は、その現在位置の推定を改善するため、（追跡フィルタを介して）一以上の機能ロボット又は他の認識されたランドマークの位置も追跡する。推測航法及びランドマーク認識の使用を通じて、ナビゲータ１１０はその最新位置推定ＰＥｎ＋１が新しい目標位置ＧＰｎ＋１に対して受容閾値内にあると判断すると（判断ノード７２８）、それは停止してステップ７１１に帰還し、位置確認及びマッピングプロセスを繰り返す。
【００４３】
ｃ．  事前計画
ある実施形態においては、ナビゲータ１１０は、環境に関する情報を収集して情報収集及び事前計画を実行することができる。情報収集及び事前計画プロセスの一実施形態に含まれてもよい様々なサブステップは図７ｂにより詳細に示されている。図７ｂに示されるステップはいかなる順番で実行されてもよく、また、ステップの各々は選択的であることに留意しなければならない。即ち、情報収集及び事前計画は、列挙されたステップの幾つかがなくても実現可能であり、幾つかの列挙されたステップはナビゲータ１１０に予めプログラムされるか入力可能である。
【００４４】
ステップ７３１においては、ナビゲータ１１０は、一以上の機能ロボットが存在する部屋又は環境の特徴（即ち、大きさ、清掃条件など）及びそれらの部屋に存在する面の種類など、更なるデータを収集する。ある実施形態においては、データは、システム内の機能ロボットの各々に対して収集される。このデータは、マッピング及び位置確認に使用される同一のセンサを使用して収集可能であり、若しくは代替的に、異なるセンサがデータ収集に使用可能である。例えば、ソナーセンサがマッピング及び位置確認に使用される場合、それは部屋の面の種類などのデータを収集するためのカメラ等の異なるセンサを使用する必要があるかもしれない。
【００４５】
ステップ７３２においては、ナビゲータ１１０は、何の機能ロボットがタスク実行に利用可能であるかを決定する。代替的に、この情報は、ナビゲータ１１０に入力又は予めプログラムされてもよいし、若しくは、それは単に不要な情報であるかもしれない。次に、ステップ７３３において、ナビゲータ１１０は、何のタスクが実行される必要があるかを決定する。再び、この情報はナビゲータ１１０に予めプログラムされたり、インターフェースを介して入力されたりしてもよいし、予めプログラムすることと入力の組み合わせを介して決定されてもよい。
【００４６】
ステップ７３１乃至７３３において収集される情報を使用して、ナビゲータ１１０は、利用可能な機能ロボットを実行されるべきタスクに適合し（ステップ７３４）、タスクスケジュールを作成する（ステップ７３５）。各タスクは、ナビゲータの移動を最小にして効率を高めるように、サブタスクに分割されてもよい。
【００４７】
ｄ．  計画及び制御
ある実施形態においては、ナビゲータ１１０は、スケジュールされたタスクを実行するように機能ロボット１２０を制御する。計画及び制御に含まれるステップは、図７ｃにより詳細に示される。ステップ７４２においては、ナビゲータ１１０は、次回のスケジュールされたタスクを実行することを開始するために（上述したように作成されたタスクスケジュールに従って）所定時間待機する。次のタスクの時間が到来する時又は前に、ステップ７４４において、ナビゲータ１１０は、次の最低レベルのサブタスクを帰納的に計算する。最低レベルのサブタスクの例は、モータのスイッチを入れること及び事象が発生するまでロボットを追跡することを含む。ナビゲータは、各サブタスクを実行するために、自身を移動させ、若しくは、適当な機能ロボットを移動及び／又は制御する（ステップ７４６）。ナビゲータ１１０は、適当な制御信号２０９を機能ロボット１２０に送信機２０８を介して送信する（図３参照のこと）。この計画及び制御ループは、タスク全体が完了するまで、繰り返される（判断ノード７４８）。
【００４８】
ナビゲータ１１０は、機能ロボットの制御ループを使用して機能ロボット１２０を計画された経路に沿って制御する。上述したように、ある実施形態においては、ロボット１２０を移動及び操作する制御ループは、電源及び電源供給システム４０２、モータ制御部４０４、モータ４０６及び車輪４０８を有する。ナビゲータ１１０から受信機３０２を介して受信された制御信号は、モータ制御部４０４を制御する。制御部４０４は、モータ４０６を制御し、それは次いで車輪４０８を駆動する。また、制御ループは、サーボと、アクチュエータと、送信機などを有してもよい。
【００４９】
ある実施形態においては、機能ロボット１２０が移動中に、ナビゲータ１１０は、静止したままであり、機能ロボットの進行を追跡する。幾つかの適当な追跡アルゴリズムは当業者にとって馴染みのあるものである。ナビゲータ１１０を不動に保つことは、追跡アルゴリズムに伴う位置確認計算負荷を大幅に減少する。更に、静止ナビゲータの使用は、不測の障害物の周りでナビゲートするのに伴う遅延を低減する。ナビゲータ１１０は、計画された経路を試験するのに機能ロボットをまず使用することができる。衝突が発生すると、ナビゲータ１１０は、自身の位置を依然として知っており、代替的経路を移動するようにそれを制御するので機能ロボットの位置を追跡することができる。図５に示すように、ナビゲータ１１０は、センサ入力５３０を介して障害物５１０を「見る」ことができ、機能ロボット１２０を障害物５１０の周りで制御ループ５２０を介して制御することができる。これは、ナビゲータ１１０自身が機能ロボットのタスクを実行しなければならない場合や機能ロボットが追跡プロセスを実行しなければならない場合の計算量よりもはるかに少ない。
【００５０】
ある実施形態においては、ナビゲータ１１０は、機能ロボットが従来のシステムで発見されたよりも実質的に高速で移動中に、機能ロボットを追跡及び制御することができる。特に、ある実施形態においては、本システムは、毎秒１，０００ＭＩＰＳ毎１フィートよりも実質的速い速度で移動することができる。また、ナビゲータ１１０は、同時に機能ロボットを追跡及び制御しながら、マッピング又は位置確認機能を幾つか又は全部を実行するのに十分な処理能力を有することができる。
【００５１】
最終的に、ナビゲータ１１０は、機能ロボット１２０の追跡を継続するために、自身を移動する必要があるかもしれない。典型的に、これは、機能ロボットが遠くに移動しなければならない場合や視野の外に移動した場合に生じるだろう。ナビゲータ１１０は、自身を移動する必要があると決定すると、ある実施形態においては、それは、機能ロボットをランドマークとして使用しながら、機能ロボットに移動停止を命令して、その後移動する。
【００５２】
図６に示すように、ある実施形態においては、ナビゲータ１１０が移動中は、それは、機能ロボット１２０及び、部屋や窓の中心等、他のランドマーク６１２に関して三角測量するのにセンサ入力６１０を使用する。このデータを使用しながら、ナビゲータ１１０は、その後適当な位置に移動する。ナビゲータ１１０が、新しい位置に到着すると、それは、それがどこにいるかを知っていることを確認するために、（上述のように）動的マッピング及び位置確認を開始する。このプロセスは、ランドマークが離れていたり不明確であったりする場合には、数分かかるかもしれず、マップ又は位置データに誤差が存在するかもしれない。この反復性のプロセスは、正確に知られた大きさを有する少なくとも一のランドマークが常にナビゲータ１１０の近傍にあるので、伝統的方法に比べて比較的早い。一旦ナビゲータ１１０が機能ロボット１２０の十分近くに移動すると、ある実施形態においては、方法はステップ７４４に帰還し（図７ｃ）、ナビゲータ１１０は、更なるタスク実行への次のサブタスクを計算する。サブタスクの反復計算は、ナビゲータの移動を最小にするアルゴリズムに基づいている。
【００５３】
ある実施形態においては、ナビゲータ１１０は機能ロボットを、それらがタスクを実行すると追跡する。ある実施形態においては、ナビゲータ１１０は、ロボットの追跡を補助するためにタスクに必要な移動の動作モデルを使用する。動作モデルは、所与の面種類に対する機能ロボットの期待された線及び角度の速度及び加速度と、ロボットのモータ及びアクチュエータへの入力の組とを有する。一旦、動作モデルが、機能ロボットの位置の大まかな推定を与えると、ナビゲータ１１０は、そのセンサ２０２をより正確なデータを取得するのに使用する。動作モデル誤差をフィルタするのに様々なフィルタリングアルゴリズムが使用可能である。ある実施形態においては、カルマンフィルタリングが使用される。ｇ−ｈ及びベネディクト−ボードナー（Ｂｅｎｅｄｉｃｔ−Ｂｏｒｄｎｅｒ）など、当業者に既知の他の適当なフィルタリングアルゴリズムも使用可能である。本質的に、ｘ−ｙ及び姿勢データは追跡され、フィルタリングアルゴリズムは動作モデル及びセンサ入力のため誤差を低減することができる。
【００５４】
判断ノード７４８（図７ｃ）において、ナビゲータ１１０は、タスク又はサブタスク全体が終了したかどうかを判断する。タスクが完了すれば、方法は、ステップ７４２に帰還し、ナビゲータ１１０は、次のタスク又はサブタスクを開始するための時間待機する。ある実施形態においては、タスクの終了は、再充電のために基地局１３０（図１）に戻るナビゲータ１１０及び機能ロボットを含む。この点に関して、移動及びタスク実行を通じて、ナビゲータ１１０は、機能ロボットのパワーレベルを推定又は監視し、必要な場合にそれらを再充電のために戻すことができることに留意すべきである。
【００５５】
移動及びそれらのタスクを実行する際に、掃除機等、幾つかの機能ロボットは、自給式電源からよりも壁のアウトレットからのパワーを要求することができる。かかるロボットを使用するシステムにおいては、ナビゲータ１１０及び機能ロボットは、壁のアウトレットを位置決めするためにチームとして動作して、機能ロボットをアウトレットにプラグインすることができる。機能ロボットが特定のアウトレットから余りに遠くに移動する必要があれば、ナビゲータ１１０及び機能ロボットはそのアウトレットからアンプラグして別の物に移動することができる。
【００５６】
本発明が表す従来のシステムに勝る進歩は例によってよく表現される。２０'ｘ２０'の部屋の掃除機かけのタスクを考える。ロボットの大きさのため、ロボットは、平方フィートの床を掃除するのに直線８フィート移動しなければならないと仮定する。１００ＭＩＰＳプロセッサで移動された直線１フィート毎に２秒の処理を要求する位置確認アルゴリズムがあれば、位置確認計算は２０ｘ２０ｘ８ｘ２＝６４００秒かかる。これは、約１.７５時間の計算遅延である。
【００５７】
これに対して、本発明によれば、ある実施形態においては、機能ロボット１２０は、ナビゲータ１１０の制御の下で、全て又は実質的に全ての掃除機かけを実行する。ナビゲータ１１０が、１０フィート離れている場所まで掃除機かけをする間に４回移動しなければならないと仮定すると、移動された直線１フィート毎に４０ミリ秒要求する追跡アルゴリズムを使用して、位置確認計算は、ナビゲータ１１０に対して４ｘ１０ｘ２＝８０秒、機能ロボットに対して２０ｘ２０ｘ８ｘ０．０４＝１２８秒、必要となる。
【００５８】
遅延合計はほんの２０８秒であり、それは３０倍以上の改善を表している。
【００５９】
４．  代替的な実施形態
本発明のある実施形態は、上に図示及び説明されてきた。本発明の代替的な実施形態も考えられる。本発明の第２の実施形態は、例えば、一以上のナビゲータを使用することを想定する。第２の実施形態においては、第１又はナビゲータプラットフォーム（可動ロボット）の組は全て又は実質的に全てのマッピング、位置確認、計画及び制御機能に対して責任を負い、第２又は機能プラットフォームの組は機能的なタスク完了に責任を負う。第１のロボットの組は、その後、第２のロボットの組によるタスク実行の計画、ナビゲーティング及び追跡を行う。本発明の第２の実施形態は、命令及び制御用の一のナビゲータに対して多すぎる機能ロボットが存在する場合、特定の大きな地理領域に亘って機能ロボットが分散している場合に適当であるかもしれない。
【００６０】
本発明の第３の実施形態においては、各ロボットはナビゲータ及び機能ロボットの両方として構成されている。移動又はタスク実行に従事するロボットは、一以上の他のロボットによって実行される付随計算及びそのナビゲーションの幾つか又は全てを有する。他のロボットは、このナビゲーション及び計算を実行しながら、静止したままでいてもよい。ロボットは無線通信リンクを介して位置データと通信することができる。本実施形態は、ロボットがお互いを追跡して自身を追跡するロボットがいないので、位置確認を更に単純化する。
【００６１】
本発明の第４の実施形態においては、マッピング、位置確認、計画及び制御も可能な機能ロボットが再び使用される。しかし、本実施形態では、機能ロボットは、自身と共に、一以上の能動又は受動ビーコンを運ぶ。ロボットはビーコンを配置し、その後、それらの位置を三角測量するために、ビーコンからのそれらの距離を使用する。
【００６２】
最後に、上述の実施形態の幾つかにおいて、静止コンピュータ又は別の可動プラットフォームが、処理及び計算の幾つか又は全てを実行するように命令されてもよい。かかる構成においては、各ナビゲータは、データ収集用の適当なセンサを有することができる。センサデータは、生又は部分的に処理されて、更なる処理のために、無線ネットワーク又はその他の適当な通信手段を介して、専用コンピュータ又はその他の可動プラットフォームに送信されてもよい。専用コンピュータは必要な計算を実行し、ナビゲータロボットに結果を通信することができる。
【００６３】
５．  マルチプラットフォームロボットシステムを実現する方法
図８は、本発明のシステムを実現するための方法８００を示す。ステップ８０２において、２以上の物理的に離れた可動プラットフォームを有する自律システムが提供される。ステップ８０４において、マッピング、位置確認、計画及び制御の機能は、少なくとも一の離れた物理的なプラットフォームを有するシステムの第１の小派に割り当てられている。この第１の小派に含まれるプラットフォームは、ナビゲータプラットフォームと呼ばれる。
【００６４】
ステップ８０６において、第１の小派内ではないプラットフォームを有する機能的なタスク完了の責任がシステムの第２の小派に割り当てられている。この第２の小派に含まれるナビゲータプラットフォームは、機能プラットフォームと呼ばれる。ステップ８０８において、ナビゲータプラットフォームは環境をマッピングし、環境内の全ロボットの位置確認をし、タスク実行スケジュールを計画する。これらのタスクは、より容易な追跡を可能にするため及びナビゲータを移動する必要性を制限するために、より小さなタスクに更に分割されてもよい。ステップ８１０において、ナビゲータは、割り当てられたタスクを実行するように機能プラットフォームを制御しながら静止したままであってもよい。オプションであるステップ８１２において、ナビゲータは、一以上の機能プラットフォームをランドマークとして使用しながら、新しい位置に移動することができる。
【００６５】
本発明の様々な実施形態が上に図示及び説明されてきた。これらの実施形態は単なる例示によって提供されたものであり、請求項及びその均等物によって定義される本発明の範囲を制限するものとして解釈されてはならない。
【図面の簡単な説明】
【図１】  本発明のマルチロボットシステムのブロック図である。
【図２】  本発明のナビゲータロボットのブロック図である。
【図３】  ナビゲータ及び機能ロボット間の通信を示すブロック図である。
【図４】  本発明の機能ロボットのブロック図である。
【図５】  ナビゲータが障害物の周りで機能ロボットを操作する場合のナビゲータを示すブロック図である。
【図６】  ナビゲータが機能ロボットの方に自身を操作する場合のナビゲータを示すブロック図である。
【図７】  図７ａは、環境の動的マップ内でナビゲータがそれ自身を位置確認する一方法を示すフローチャートである。図７ｂは、ナビゲータが事前計画を行う一方法を示すフローチャートである。図７ｃは、ナビゲータがタスク実行中に機能ロボットを制御及び追跡する一方法を示すフローチャートである。
【図８】  本発明によるマルチロボットシステムを実行する方法を示すフローチャートである。
【図１】
0004951180.tif 000002
【図２】
0004951180.tif 000003
【図３】
0004951180.tif 000004
【図４】
0004951180.tif 000005
【図５】
0004951180.tif 000006
【図６】
0004951180.tif 000007
【図７】
0004951180.tif 000008
0004951180.tif 000009
0004951180.tif 000010
【図８】
0004951180.tif 000011