(57)【要約】  ロボットの経路の大域的なルート変更のためのシステム及び方法が、本明細書において開示される。少なくとも１つの非限定的な例示的実施形態によれば、ロボットが、１又は２以上のルート変更ゾーンに基づいて経路のルート変更をする可能性があり、ルート変更ゾーンは、ロボットがナビゲートするのに望ましくないエリアを含む。したがって、本開示は、ルート変更ゾーンに基づいてロボットが経路のルート変更をするためのシステム及び方法を提供する。
2022501724.tif 000002
【特許請求の範囲】
【請求項１】
ロボットデバイスをナビゲートするための方法であって、
第１のルートをたどる軌道に沿って前記ロボットデバイスを操縦するステップと、
環境のコンピュータ可読地図上の１又は２以上のルート変更ゾーンを受信するステップであって、前記１又は２以上のルート変更ゾーンが、前記ロボットデバイスがナビゲートしない前記環境内の領域に対応する、ステップと、
前記１又は２以上のルート変更ゾーンの場所に基づいて、前記ロボットデバイスの前記軌道を前記第１のルートから異なる第２のルートに変更するステップであって、前記第２のルートが、前記第１のルートの一部を含む、ステップと、
前記ロボットデバイスが前記１又は２以上のルート変更ゾーンを避けるように前記第２のルートに沿って前記ロボットデバイスを操縦するステップと
を含む、前記方法。
【請求項２】
センサデータか、又はユーザ若しくはネットワークから受信された入力かのどちらかに基づいて、前記１又は２以上のルート変更ゾーンを決定するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記１又は２以上のルート変更ゾーン内の前記第１のルートの一部を削除するステップと、
前記第２のルートが連続していない又はナビゲート不可能なセグメントを含まないように、前記第２のルートを決定するために前記第１のルートの第１の地点及び第２の地点に対して最適化を実行するステップであって、前記第２のルートが、前記第１のルートの残りの部分が前記第２のルートに対応するように、前記第１のルートの前記残りの部分に沿って前記ロボットデバイスをナビゲートするために必要とされる最小の長さである、ステップと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記第１のルートの前記残りの部分のセグメントを、前記セグメントが長さの閾値未満になることに基づいて削除するステップをさらに含む、請求項３に記載の方法。
【請求項５】
前記ロボットデバイスが従うべき方向の要件に基づいて前記第２のルートを決定するステップであって、前記方向の要件が、前記第１のルート及び前記第２のルートをナビゲートする間の前記ロボットデバイスの方向を含む、ステップをさらに含む、請求項３に記載の方法。
【請求項６】
前記第１のルートの一部と前記１又は２以上のルート変更ゾーンの外にある第３のルートの一部との組合せに基づいて前記第２のルートを決定するステップをさらに含む、請求項３に記載の方法。
【請求項７】
コンピュータ可読命令を記憶させた非一時的コンピュータ可読媒体と、
少なくとも１つのコントローラであって、
第１のルートをたどる軌道に沿ってロボットシステムを操縦すること、
環境のコンピュータ可読地図上の１又は２以上のルート変更ゾーンを受信することであって、前記１又は２以上のルート変更ゾーンが、前記ロボットシステムがナビゲートしない前記環境内の領域に対応する、受信すること、
前記１又は２以上のルート変更ゾーンの場所に基づいて前記ロボットシステムの前記軌道を前記第１のルートから異なる第２のルートに変更することであって、前記第２のルートが、前記第１のルートの一部を含む、変更すること、及び
前記ロボットシステムが前記１又は２以上のルート変更ゾーンを避けるように前記第２のルートに沿って前記ロボットシステムを操縦すること
を行うように前記コンピュータ可読命令を実行するように構成される、前記少なくとも１つのコントローラと
を含む、ロボットシステム。
【請求項８】
前記少なくとも１つのコントローラが、
センサデータ、又はユーザ若しくはネットワークから受信された入力に基づいて、前記１又は２以上のルート変更ゾーンを決定するように前記コンピュータ可読命令を実行するようにさらに構成される、請求項７に記載のロボットシステム。
【請求項９】
前記少なくとも１つのコントローラが、
前記１又は２以上のルート変更ゾーン内の前記第１のルートの一部を削除すること、並びに
前記第２のルートが連続していない又はナビゲート不可能なセグメントを含まないように、前記第２のルートを決定するために前記第１のルートの第１の地点及び第２の地点に対して最適化を実行することであって、前記第２のルートが、前記第１のルートの残りの部分が前記第２のルートに対応するように、前記第１のルートの前記残りの部分に沿って前記ロボットシステムをナビゲートするために必要とされる最小の長さである、実行すること
を行うように前記コンピュータ可読命令を実行するようにさらに構成される、請求項７に記載のロボットシステム。
【請求項１０】
前記少なくとも１つのコントローラが、
前記第１のルートの前記残りの部分のセグメントを、前記セグメントが長さの閾値未満になることに基づいて削除するように前記コンピュータ可読命令を実行するようにさらに構成される、請求項９に記載のロボットシステム。
【請求項１１】
前記少なくとも１つのコントローラが、
前記ロボットシステムが従うべき方向の要件に基づいて前記第２のルートを決定することであって、前記方向の要件が、前記第１のルート及び前記第２のルートをナビゲートする間の前記ロボットシステムの方向を含む、決定することを行うために前記コンピュータ可読命令を実行するようにさらに構成される、請求項９に記載のロボットシステム。
【請求項１２】
前記少なくとも１つのコントローラが、
前記第１のルートの一部と前記１又は２以上のルート変更ゾーンの外にある第３のルートの一部との組合せに基づいて前記第２のルートを決定するように前記コンピュータ可読命令を実行するようにさらに構成される、請求項９に記載のロボットシステム。
【請求項１３】
複数のコンピュータ可読命令が記憶された非一時的コンピュータ可読ストレージ媒体であって、前記複数のコンピュータ可読命令が、コントローラによって実行されると、
前記コントローラが、
第１のルートをたどる軌道に沿ってロボットシステムを操縦すること、
環境のコンピュータ可読地図上の１又は２以上のルート変更ゾーンを受信することであって、前記１又は２以上のルート変更ゾーンが、前記ロボットシステムが進入しない前記環境内の領域に対応する、受信すること、
前記１又は２以上のルート変更ゾーンの場所に基づいて、前記ロボットシステムの前記軌道を前記第１のルートから異なる第２のルートに変更することであって、前記第２のルートが、前記第１のルートの一部を含む、変更すること、及び
前記ロボットシステムが前記１又は２以上のルート変更ゾーンを避けるように前記第２のルートに沿って前記ロボットシステムを操縦すること
を実行するように構成される、非一時的コンピュータ可読ストレージ媒体。
【請求項１４】
前記コントローラが、
センサデータ、又はユーザ若しくはネットワークから受信された入力に基づいて、前記１又は２以上のルート変更ゾーンを決定するために複数の命令を実行するようにさらに構成される、請求項１３に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項１５】
前記コントローラが、
前記１又は２以上のルート変更ゾーン内の前記第１のルートの一部を削除すること、並びに
前記第２のルートが連続していない又はナビゲート不可能なセグメントを含まないように、前記第２のルートを決定するために前記第１のルートの第１の地点及び第２の地点に対して最適化を実行することであって、前記第２のルートが、前記第１のルートの残りの部分が前記第２のルートに対応するように前記第１のルートの前記残りの部分に沿って前記ロボットシステムをナビゲートするために必要とされる最小の長さである、実行することを行うように複数の命令を実行するようにさらに構成される、請求項１３に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項１６】
前記コントローラが、
前記第１のルートの前記残りの部分のセグメントを、前記セグメントが長さの閾値未満になることに基づいて削除するように複数の命令を実行するようにさらに構成される、請求項１５に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項１７】
前記コントローラが、
前記ロボットシステムが従うべき方向の要件に基づいて前記第２のルートを決定することであって、前記方向の要件が、前記第１のルート及び前記第２のルートをナビゲートする間の前記ロボットシステムの方向を含む、決定することを行うために複数の命令を実行するようにさらに構成される、請求項１５に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項１８】
前記コントローラが、
前記第１のルートの一部と前記１又は２以上のルート変更ゾーンの外にある第３のルートの一部との組合せに基づいて前記第２のルートを決定するように複数の命令を実行するようにさらに構成される、請求項１５に記載の非一時的コンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権
本特許文書の開示の一部は、著作権保護の対象である資料を含む。著作権の所有者は、特許商標庁（Patent and Trademark Office）の特許のファイル又は記録にそのように記載されているときには特許文書又は特許の開示の誰による複写にも意義がないが、それ以外は、いかなる著作権もすべて有する。
【０００２】
本出願は、概して、ロボット工学に関し、より詳細には、ロボットのルート変更のためのシステム及び方法に関する。
【背景技術】
【０００３】
ロボットは、自律的にタスクを実施するようにプログラミングされる可能性がある。一部の現代のロボットは、ロボットによるタスクを実施する際に１組の命令に従う可能性がある。
【０００４】
場合によっては、現代のロボットは、環境をナビゲートするように構成される可能性がある。これらのロボットは、場合によっては、エリア内を特定の順序で移動する可能性がある。例えば、ロボットは、ロボットの移動の障害物及びその他の妨害を避けるために経路から少し外れながら環境中の経路をたどる可能性がある。
【０００５】
しかし、場合によっては、通常のロボットの移動の能力を大きく妨げる障害物及び／又は妨害が存在する可能性がある。これらの障害物及び／又は妨害は、環境をナビゲートする際にロボットを動けなくする及び／又は動作しなくする可能性がある。したがって、ロボットのルート変更をするための改善されたシステム及び方法の必要が当技術分野に存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の必要は、とりわけ、ロボットの経路の計画のためのシステム及び方法を提供する本開示によって満たされる。本開示は、第１の経路を少なくとも部分的に包含するルート変更ゾーン（rerouting zone）を検出又は受信するとロボットに第１の経路から異なる第２の経路に変更させるための経路計画及び地図作成アルゴリズムの実用的な応用を対象とする。一部の実装形態においては、ロボットが、大域的なルート変更をする可能性があり、それは、ロボットがナビゲートすることができない及び／又はナビゲーションが望ましくないエリアの周りをナビゲートするためにロボットがその他のナビゲート可能なエリアに移動することを可能にする。
【課題を解決するための手段】
【０００７】
本明細書において説明される例示的な実施形態は、革新的な特徴を有し、それらの特徴のどの単一の特徴も、それらの望ましい属性に必須でなく、又はそれらの望ましい属性を単独で担わない。請求項の範囲を限定することなく、有利な特徴の一部が、以降にまとめられる。
【０００８】
本明細書において開示される発明の概念によれば、システム、非一時的コンピュータ可読媒体、及び方法が、ロボットデバイスをナビゲートすることを対象とし、少なくとも、第１のルートをたどる軌道に沿ってロボットデバイスを操縦することと、環境のコンピュータ可読地図上の１又は２以上のルート変更ゾーンを受信することであって、１又は２以上のルート変更ゾーンが、ロボットデバイスがナビゲートしない環境内の領域に対応する、受信することと、１又は２以上のルート変更ゾーンの場所に基づいてロボットデバイスの軌道を第１のルートから異なる第２のルートに変更することであって、第２のルートが、第１のルートの一部を含む、変更することと、ロボットデバイスが１又は２以上のルート変更ゾーンを避けるように第２のルートに沿ってロボットデバイスを操縦することとを含む。さらに、システム、非一時的コンピュータ可読媒体、及び方法は、とりわけ、センサデータか又はユーザ若しくはネットワークから受信された入力かのどちらかに基づいて１又は２以上のルート変更ゾーンを決定することと、１又は２以上のルート変更ゾーン内の第１のルートの一部を削除することと、第２のルートが断絶又はナビゲート不可能なセグメントを含まないように第２のルートを決定するために第１のルートの第１の地点及び第２の地点に対して最適化を実施することであって、第２のルートが、第１のルートの残りの部分が第２のルートに対応するように第１のルートの残りの部分に沿ってロボットデバイスをナビゲートするために必要とされる最小の長さである、実施することとを含む。
【０００９】
さらに、システム、非一時的コンピュータ可読媒体、及び方法は、第１のルートの残りの部分のセグメントを、セグメントが長さの閾値未満になることに基づいて削除することと、ロボットデバイスによって守られる方向（従うべき方向）の要件に基づいて第２のルートを決定することであって、方向の要件が、第１のルート及び第２のルートをナビゲートする間のロボットデバイスに関する方向を含む、決定することと、第１のルートの一部と１又は２以上のルート変更ゾーンの外にある第３のルートの一部との組合せに基づいて第２のルートを決定することとをさらに含む可能性がある。
【００１０】
開示される発明の概念は、コンピュータテクノロジー及び機能に対して非抽象的改善を行う固有の及び特定の構成の特徴によって実施される。コンピュータテクノロジー及び機能のこれらの改善の一部は、プロセッサが通常のプロセッサよりも高速でより効率的に働くことを可能にし、データが収集され、分析され、記憶されるときにより少ないメモリ空間の使用を必要とする、独特な及び特殊なプロセッサによって特殊なアルゴリズムを実行することを含む。したがって、本明細書において開示される発明の概念は、ロボット自体、ロボットの周りの人及び物体に対する安全上のリスクを引き起こしやすい、軌道に沿ってロボットを操縦することを対象とする通常のテクノロジー又は従来技術からの改善である。最後に、例えば、さまざまなセンサユニット、ナビゲーションユニット、アクチュエータユニット、通信ユニット、及びユーザインターフェースユニットなどの本明細書において開示される構造的な構成要素は、ロボットデバイスが経路に沿って動くときにロボットデバイスの機能及び動作に特有である特定の方法及び構成で調整される。
【００１１】
本開示のこれらの及びその他の目的、特徴、及び特性、並びに構造の関連する要素の動作及び機能の方法、及びパーツの組合せ、及び製造の経済性は、添付の図面を参照して下の説明及び添付の請求項を考察するとより明らかになり、添付の図面のすべては、本明細書の一部を形成し、同様の参照番号は、さまざまな図において対応する部分を指定する。しかし、図面が例示及び説明のみを目的としており、本開示の限定の画定として意図されていないことは、はっきりと理解されたい。本明細書及び請求項において使用されるとき、単数形の「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈がそうでないことをはっきりと決定しない限り複数の指示対象を含む。
【図面の簡単な説明】
【００１２】
以降、開示される態様が、開示される態様を説明するために、及び開示される態様を限定しないように提供された添付の図面と関連して説明され、図面において、同様の名称は同様の要素を示す。
【図１Ａ】本開示の実施形態によるロボットの機能構成図である。
【図１Ｂ】本開示の例示的な実施形態によるコントローラ又はプロセッサの機能構成図である。
【図２】本開示の例示的な実施形態によるネットワークの機能構成図である。
【図３】例示的な実施形態によるロボットの経路のルート変更をするための方法を示すプロセスフロー図である。
【図４Ａ】例示的な実施形態による、ロボットによってたどられるルートを含むコンピュータ可読地図の平面図のレンダリングの図である。
【図４Ｂ】例示的な実施形態による、ルート変更ゾーンが原因であるルートの一部の削除及びルートの残りの部分に対する最適化の決定を示すコンピュータ可読地図の平面図のレンダリングの図である。
【図４Ｃ】例示的な実施形態による、図４Ｂにおいて決定されたルート変更ゾーン及び最適化に基づく新しいルートの決定を示すコンピュータ可読地図の平面図のレンダリングの図である。
【図５Ａ】例示的な実施形態による環境内の複数のルートを示すコンピュータ可読地図の平面図のレンダリングの図である。
【図５Ｂ】例示的な実施形態による、図５Ａに示されたコンピュータ可読地図に対するルート変更ゾーンの実装形態を示す図である。
【図５Ｃ】例示的な実施形態による、ルート変更ゾーンの実装形態が原因である複数のルート変更されたルートを示す図である。
【図６Ａ】例示的な実施形態による、ロボット及びナビゲートする複数のルートを含む環境のコンピュータ可読地図のレンダリングを示す図である。
【図６Ｂ】例示的な実施形態による、図６Ａに既に示されたコンピュータ可読地図に課せられた複数のルート変更ゾーンをナビゲートするロボットを示す図である。
【図６Ｃ】例示的な実施形態による、図６Ａ〜Ｂに既に示されたコンピュータ可読地図に課せられた複数の方向の要件及びルート変更ゾーンをナビゲートするロボットを示す図である。
【図７Ａ−Ｂ】例示的な実施形態による、ロボットの経路に沿ってルート変更ゾーンを検出し、ルート変更ゾーンを避けるために経路を変更するロボットを示す図である。本明細書において開示されるすべての図は、（Ｃ）Ｃｏｐｙｒｉｇｈｔ  ２０２１  Brain Corporation社．Ａｌｌ  ｒｉｇｈｔｓ  ｒｅｓｅｒｖｅｄである。
【発明を実施するための形態】
【００１３】
本明細書において開示される新規性のあるシステム、装置、及び方法のさまざまな態様が、添付の図面を参照して以降でより十分に説明される。しかし、本開示は、多くの異なる形態で具現化される可能性があり、本開示全体を通じて提示されるいかなる特定の構造又は機能にも限定されるとみなされるべきでない。むしろ、これらの態様は、本開示が十分で完全であり、本開示の範囲を当業者に十分に伝えるように提供される。本明細書の教示に基づいて、当業者は、本開示の範囲が本明細書において開示される新規性のあるシステム、装置、及び方法の任意の態様を、本開示のいかなるその他の態様からも独立して実装されるのか又は本開示のいずれかのその他の態様と組み合わされるのかに関わらず包含するように意図されることを理解するであろう。例えば、本明細書において説明される任意の数の態様を使用して装置が実装される可能性があり又は方法が実施される可能性がある。さらに、本開示の範囲は、本明細書において説明される本開示のさまざまな態様に加えて又は本明細書において説明される本開示のさまざまな態様以外にその他の構造、機能、又は構造及び機能を使用して実施されるそのような装置又は方法を包含するように意図される。本明細書において開示される任意の態様は、請求項の１又は２以上の要素によって実装される可能性があることを理解されたい。
【００１４】
特定の態様が本明細書において説明されるが、これらの態様の多くの変更形態及び変形形態は、本開示の範囲内に入る。好ましい態様のいくつかの恩恵及び利点が述べられるが、本開示の範囲は、特定の利点、用途、及び／又は目的に限定されるように意図されていない。詳細な説明及び図面は、限定的ではなく本開示を示すに過ぎず、本開示の範囲は、添付の請求項及びそれらの均等物によって画定される。
【００１５】
本開示の一部の例示的な実施形態は、ロボット移動プラットフォームなどのロボットに関する。本明細書において使用されるとき、ロボットは、一連のアクションを自律的に実行するように構成された機械的及び／又は仮想的エンティティを含む可能性がある。一部の実施形態において、ロボットは、コンピュータプログラム及び／又は電子回路によって導かれる及び／又は命令される機械である可能性がある。一部の実施形態において、ロボットは、ナビゲーションのために構成される電気機械構成要素を含む可能性があり、ロボットは、ある場所から別の場所へと移動する可能性がある。そのようなロボットは、自律的な及び／又は準自律的な車、床掃除機、ローバ（rover）、ドローン、飛行機、ボート、カート、路面電車、車椅子、産業用機器、ストッキングマシン（stocking machine）、移動プラットフォーム、個人用輸送デバイス（例えば、ホバーボード、ＳＥＧＷＡＹ（登録商標）、車椅子など）、ストッキングマシン、トレーラムーバ（trailer mover）、乗り物などを含む可能性がある。また、ロボットは、品物、人、動物、貨物、積荷、物体、手荷物、及び／又は望ましい任意のものをある場所から別の場所に輸送するための任意の自律的な及び／又は準自律的な機械を含む可能性がある。一部の実施形態において、輸送のために使用されるそのようなロボットは、ロボットが自律的に及び／又は準自律的にナビゲートする及び／又は移動する可能性がある移動システムであるとき、ロボット移動プラットフォームを含む可能性がある。これらのロボット移動プラットフォームは、自律的な及び／又は準自律的な車椅子、二輪車、漕ぎ舟、スクーター、フォークリフト、路面電車、列車、カート、乗り物、タグボート、及び／又は輸送のために使用される任意の機械を含む可能性がある。
【００１６】
本明細書において言及されるとき、床掃除機は、手動で制御される（例えば、運転される若しくは遠隔制御される）及び／又は自律的な（例えば、直接的なユーザの制御をほとんど若しくはまったく使用しない）床掃除機を含む可能性がある。例えば、床掃除機は、用務員、管理人、若しくはその他の人が運用する床洗浄機（floor scrubber）並びに／又は環境を自律的にナビゲート及び／若しくは清掃するロボット床洗浄機を含む可能性がある。同様に、床掃除機は、真空掃除機、スチーマ（steamer）、バフ（buffer）、モップ、ポリッシャ（polisher）、スイーパ（sweeper）、バーニッシャ（burnisher）なども含む可能性がある。
【００１７】
特定の例が、床掃除機若しくは移動プラットフォーム又はロボット床掃除機若しくはロボット移動プラットフォームに関連して本明細書において説明される。そのような例は、例示のためにのみ使用され、本明細書において説明される原理は、広くロボットに容易に適用される可能性がある。
【００１８】
一部の実施形態において、ロボットは、１又は２以上のタスクを実施するための自動化された器具、機械、及び／又は機器を含む可能性がある。例えば、モジュールが、器具、機械、及び／又は機器に取り付けられてそれらの器具、機械、及び／又は機器が自律的に動作することを可能にする可能性がある。そのような取り付けは、エンドユーザによって及び／又は製造プロセスの一部として行われる可能性がある。一部の実施形態において、モジュールは、器具、機械、及び／又は機器の自律的な動きを駆動するモータを含む可能性がある。場合によっては、モジュールは、器具、機械、及び／又は機器を、器具、機械、及び／又は機器の既存のコントローラ、アクチュエータ、ユニット、及び／又は構成要素に制御信号を送信することによるなどしてスプーフィング（spoofing）に少なくとも部分的に基づいて動作させる。モジュールは、データを受信し、生じさせるためのセンサ及び／又はプロセッサを含む可能性がある。モジュールは、センサデータを処理し、制御信号を送信し、並びに／又は器具、機械、及び／若しくは機器の既存のコントローラ、ユニット、及び／若しくは構成要素をその他の方法で制御するためにプロセッサ、アクチュエータ、及び／又は本明細書において説明される構成要素のいずれかを含む可能性もある。そのような器具、機械、及び／又は機器は、車、床掃除機、ローバ、ドローン、飛行機、ボート、カート、路面電車、車椅子、産業用機器、ストッキングマシン、移動プラットフォーム、個人用輸送デバイス、ストッキングマシン、トレーラムーバ、乗り物、及び／又は任意の種類の機械を含む可能性がある。
【００１９】
本開示のシステム及び方法のさまざまな実装形態及び実施形態の詳細な説明が、以降で与えられる。本明細書において検討される多くの例はロボット床掃除機に言及する可能性があるが、本明細書に含まれる説明されるシステム及び方法は、任意の種類のロボットに適用可能であることが理解されるであろう。本開示の内容が与えられれば、本明細書において説明されるテクノロジーに関する無数のその他の例示的な実装形態又は用途が、当業者によって容易に想像されるであろう。
【００２０】
有利なことに、本開示のシステム及び方法は、少なくとも、（ｉ）ロボットが複雑な環境内で動作することを可能にし、（ii）ロボットが動的な環境内で動作することを可能にし、（iii）人がタスクをどのように処理するかにより似ている可能性があるロボットのより自然な動きを提供し、（iv）ロボットリソースの計算効率の良い管理を提供し、（ｖ）ロボットによるタスクの途絶を最小化し、（vi）ロボットの効率及び／又は効果を高め、（vii）ロボットが障害物を避けながらナビゲートし、タスクを実施することを可能にする可能性がある。本開示の内容が与えられれば、その他の利点が、当業者によって容易に認識され得る。
【００２１】
例えば、一部の実施形態において、ロボットは、１又は２以上の予め決められた経路に沿って移動する可能性がある。ロボットは、道を塞いでいる人、品物、動物、障害、フェンス、機械、ディスプレイ、ロボット、固定の設備、及び／又はその他の物などの障害物を避けるために予め決められた１つの経路及び／又は複数の経路に調整を行うように構成される可能性がある。これらの障害物は、一時的であるか又は永続的である可能性がある。一部の実施形態において、これらの調整は、ロボットが予め決められた１つの経路及び／又は複数の経路からほんのわずかに逸れることによって障害物の周りをナビゲートすることを可能にする可能性がある。例えば、障害物に行き当たるとき、ロボットは、わずかに左又は右に曲がり、障害物の周りを進む可能性がある。ロボットが障害物を通過した後、ロボットは、予め定義された１つの経路及び／又は複数の経路に戻る可能性がある。場合によっては、ロボットは障害物が片付けられる（例えば、機械若しくは人によって移動されるか、及び／又は障害物自体がそこから離れる）のを待つ可能性もある。ロボットは、障害物が片付けられるまで停止し、待ち、それから、予め定義された１つの経路及び／又は複数の経路を進み続ける可能性がある。
【００２２】
しかし、場合によっては、ロボットは、障害物の周りをナビゲートすることができない可能性がある。例えば、ロボットが障害物の周りに収まり得ない並びに／又はロボットが障害物の周りを望ましい方法で（例えば、ロボットが移動するのに望ましくないエリアを進むことなく及び／若しくは他のものに衝突することなく）ナビゲートし得ないように、障害物がロボット又はロボットの移動される経路をしっかりと塞ぐ可能性がある。別の例として、複数の障害物が存在する可能性があり、第１の障害物の周りを進むことが、ロボットにより多くの障害物をもたらす可能性があり、それが、場合によっては、ロボットを動けなくする可能性がある。場合によっては、障害物は、片付けられない可能性があり、及び／又はロボットは、障害物がそのロボットの移動される経路から片付けられるのを待つ十分な時間がない可能性がある。有利なことに、本開示のシステム及び方法は、たとえ予め定義された１つの経路及び／又は複数の経路に沿ったロボットの進行を著しく妨げる障害物に直面したときもロボットがロボットによるタスクを実施し続けることを可能にする可能性がある。
【００２３】
例示として、一部の実施形態において、ロボットは、床掃除機を含む可能性がある。床掃除機は、床を掃除するタスクを実施する可能性がある。一部の実施形態において、ロボットは、ナビゲーション（例えば、ある場所から別の場所への移動）を掃除のタスク（例えば、水を使用すること、ブラシを回転させること、ゴミを吸い取ること、バフで磨くこと（buffing）、研磨すること（polishing）、音声を発すること（articulating）、及び／又は任意のその他の掃除に関連するアクション）と組み合わせる可能性がある。したがって、ロボットは、床のエリアの一部を掃除する可能性がある。一部の実施形態においては、オペレータが掃除したいいくつかの部分及びオペレータが掃除したくないいくつかのエリアが存在する可能性がある。例えば、床掃除機は、硬質床洗浄機である可能性がある。オペレータは、硬質床洗浄機が硬い表面（例えば、タイル、コンクリート、テラゾ、セラミック、及び／又はその他の硬い表面）を掃除することを望むが、柔らかい表面（例えば、カーペット、人工の草若しくは芝、マット、及び／又はその他の柔らかい表面）を掃除することは望まない。ロボットは、環境内の予め決められた１つの経路及び／又は複数の経路に沿って掃除をするように構成される可能性があり、１つの経路及び／又は複数の経路は、少なくとも、ロボットが移動する一連のエリアを提供する可能性がある。
【００２４】
一部の実施形態において、ロボットは、倉庫、店、オフィスビル、及び／又は掃除が望ましい任意の空間などの環境内で動作する可能性がある。一部の実施形態において、そのような環境は、通路の閉鎖、床に置かれた資材、フォークリフト及び／若しくはその他の機械、顧客／作業員及び／若しくはその他の人、こぼれ（spill）、在庫品及び／若しくは貯蔵場所、並びに／又は床を覆う可能性があるその他の品物により動的である可能性がある。場合によっては、これらの動的な要素が、ロボットが掃除をするときにロボットの移動を妨げる可能性がある障害物を形成する可能性がある。さらに、そのような環境において、ロボットは、所与の活動期間（session）において掃除する予め決められたエリアを有する可能性がある。したがって、移動の妨げは、ロボットがジョブ又は所望の予めプログラミングされたタスクを完了することを阻む可能性がある。
【００２５】
有利なことに、本開示において説明されるシステム及び方法は、ロボットがナビゲートすることができない可能性があるエリアをロボットが迂回し、ロボットがタスクを実施することが望ましいその他のエリアに行くことを可能にする可能性がある。これは、特にタスクが所望の量の時間で完了されるべきである場合にロボットがロボットによるタスク（例えば、掃除）を効率的に実施することを可能にする可能性がある。場合によっては、これは、ロボットがその他の部分を完了することを可能にする可能性がある。ロボットは、ロボットが飛ばしたエリアにおけるタスクに後で戻り、実施するように構成される可能性がある。
【００２６】
本明細書において使用されるとき、ネットワークインターフェースは、限定なしに、ＦｉｒｅＷｉｒｅ（例えば、ＦＷ４００、ＦＷ８００、ＦＷＳ８００Ｔ、ＦＷＳ１６００、ＦＷＳ３２００など）、ユニバーサルシリアルバス（「ＵＳＢ，universal serial bus」）、（例えば、ＵＳＢ  １．Ｘ、ＵＳＢ  ２．０、ＵＳＢ  ３．０、ＵＳＢ  Ｔｙｐｅ−Ｃなど）、イーサネット（例えば、１０／１００、１０／１００／１０００（ギガビットイーサネット）、１０−Ｇｉｇ−Ｅなど）、同軸経由マルチメディアアライアンステクノロジー（「ＭｏＣＡ，multimedia over coax alliance technology」）、Ｃｏａｘｓｙｓ（例えば、ＴＶＮＥＴ（商標））、無線周波数チューナ（例えば、帯域内又はＯＯＢ、ケーブルモデムなど）、Ｗｉ−Ｆｉ（８０２．１１）、ＷｉＭＡＸ（例えば、ＷｉＭＡＸ（８０２．１６））、ＰＡＮ（例えば、ＰＡＮ／８０２．１５）、セルラ（例えば、３Ｇ、ＬＴＥ／ＬＴＥ−Ａ／ＴＤ−ＬＴＥ／ＴＤ−ＬＴＥ、ＧＳＭなど）、ＩｒＤＡファミリーなどの構成要素、ネットワーク、又はプロセスを含む構成要素、ネットワーク、又はプロセスとの任意の信号、データ、又はソフトウェアインターフェースを含む可能性がある。本明細書において使用されるとき、Ｗｉ−Ｆｉは、ＩＥＥＥ−Ｓｔｄ．８０２．１１、ＩＥＥＥ−Ｓｔｄ．８０２．１１の変種、ＩＥＥＥ−Ｓｔｄ．８０２．１１に関連する規格（例えば、８０２．１１ａ／ｂ／ｇ／ｎ／ａｃ／ａｄ／ａｆ／ａｈ／ａｉ／ａｊ／ａｑ／ａｘ／ａｙ）及び／又はその他のワイヤレス規格のうちの１又は２以上を含む可能性がある。
【００２７】
本明細書において使用されるとき、プロセッサ、マイクロプロセッサ、及び／又はデジタルプロセッサは、限定なしに、デジタル信号プロセッサ（「ＤＳＰ，digital signal processor」）、縮小命令セットコンピュータ（「ＲＩＳＣ，reduced instruction set computer」）、複合命令セットコンピュータ（「ＣＩＳＣ，complex instruction set computer」）プロセッサ、マイクロプロセッサ、ゲートアレイ（例えば、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ，field programmable gate array」））、プログラマブルロジックデバイス（「ＰＬＤ，programmable logic device」）、再構成可能コンピュータファブリック（「ＲＣＦ，reconfigurable computer fabric」）、アレイプロセッサ、セキュアマイクロプロセッサ、特殊プロセッサ（例えば、ニューロモルフィックプロセッサ）、及び特定用途向け集積回路（「ＡＳＩＣ，application-specific integrated circuit」）などの任意の種類のデジタル処理デバイスを含む可能性がある。そのようなデジタルプロセッサは、単一の一体的な集積回路ダイに含まれるか又は複数の構成要素に分散される可能性がある。
【００２８】
本明細書において使用されるとき、コンピュータプログラム及び／又はソフトウェアは、任意のシーケンス又は人又は機能を実施する機械が認識可能なステップを含む可能性がある。そのようなコンピュータプログラム及び／又はソフトウェアは、例えば、Ｃ／Ｃ＋＋、Ｃ＃、Ｆｏｒｔｒａｎ、ＣＯＢＯＬ、ＭＡＴＬＡＢ（商標）、ＰＡＳＣＡＬ、ＧＯ、ＲＵＳＴ、ＳＣＡＬＡ、Ｐｙｔｈｏｎ、アセンブリ言語、マークアップ言語（例えば、ＨＴＭＬ、ＳＧＭＬ、ＸＭＬ、ＶｏＸＭＬ）など、及び共通オブジェクトリクエストブローカーアーキテクチャ（「ＣＯＲＢＡ，Common Object Request Broker Architecture」）、（Ｊ２ＭＥ、Ｊａｖａ  Ｂｅａｎｓなどを含む）Ｊａｖａ（商標）、バイナリランタイム環境（例えば、「ＢＲＥＷ」）などのオブジェクト指向環境を含む任意のプログラミング言語又は環境で提供される可能性がある。
【００２９】
本明細書において使用されるとき、接続、リンク、及び／又はワイヤレスリンクは、（物理的であるか又は論理的／仮想的であるかに関わらず）任意の２又は３以上のエンティティの間の情報のやりとりを可能にする、それらのエンティティの間の因果関係を含む可能性がある。
【００３０】
本明細書において使用されるとき、コンピュータ及び／又はコンピューティングデバイスは、デスクトップか、ラップトップか、若しくはそれ以外かに関わらずパーソナルコンピュータ（「ＰＣ，personal computer」）及びミニコンピュータ、メインフレームコンピュータ、ワークステーション、サーバ、携帯情報端末（「ＰＤＡ，personal digital assistant」）、ハンドヘルドコンピュータ、組み込みコンピュータ、プログラマブルロジックデバイス、パーソナルコミュニケータ（personal communicator）、タブレットコンピュータ、モバイルデバイス、可搬型ナビゲーション補助機器、Ｊ２ＭＥ搭載デバイス、セルラ電話、スマートフォン、個人向け統合通信若しくはエンターテインメントデバイス、並びに／又は１組の命令を実行し、着信データ信号を処理することができる任意のその他のデバイスを含む可能性があるがこれらに限定されない。
【００３１】
図１Ａは、本開示のいくつかの原理によるロボット１０２の機能構成図である。図１Ａに示されるように、ロボット１０２は、コントローラ１１８、メモリ１２０、ユーザインターフェースユニット１１２、センサユニット１１４、ナビゲーションユニット１０６、アクチュエータユニット１０８、及び通信ユニット１１６、並びにその他の構成要素及び下位構成要素（例えば、それらの一部は図示されない可能性がある）を含む可能性がある。特定の実施形態が図１Ａに示されるが、本開示の内容が与えられれば、当業者に容易に明らかになるように、アーキテクチャは特定の実施形態において変更される可能性があることが理解される。本明細書において使用されるとき、ロボット１０２は、本開示において説明される任意のロボットを少なくとも部分的に表す可能性がある。
【００３２】
コントローラ１１８は、ロボット１０２によって実施されるさまざまな動作を制御する可能性がある。コントローラ１１８は、１又は２以上のプロセッサ（例えば、マイクロプロセッサ）及びその他の周辺機器を含む及び／又は備える可能性がある。上述のように、本明細書において使用されるとき、プロセッサ、マイクロプロセッサ、及び／又はデジタルプロセッサは、限定なしに、デジタル信号プロセッサ（「ＤＳＰ」）、縮小命令セットコンピュータ（「ＲＩＳＣ」）、複合命令セットコンピュータ（「ＣＩＳＣ」）プロセッサ、マイクロプロセッサ、ゲートアレイ（例えば、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」））、プログラマブルロジックデバイス（「ＰＬＤ」）、再構成可能コンピュータファブリック（「ＲＣＦ」）、アレイプロセッサ、セキュアマイクロプロセッサ、特殊プロセッサ（例えば、ニューロモルフィックプロセッサ）、及び特定用途向け集積回路（「ＡＳＩＣ」）などの任意の種類のデジタル処理デバイスを含む可能性がある。そのようなデジタルプロセッサは、単一の一体的な集積回路ダイに含まれるか又は複数の構成要素に分散される可能性がある。
【００３３】
コントローラ１１８は、メモリ１２０に動作可能なように及び／又は通信可能なように接続される可能性がある。メモリ１２０は、限定なしに、読み出し専用メモリ（「ＲＯＭ，read-only memory」）、ランダムアクセスメモリ（「ＲＡＭ，random access memory」）、不揮発性ランダムアクセスメモリ（「ＮＶＲＡＭ，non-volatile random access memory」）、プログラマブル読み出し専用メモリ（「ＰＲＯＭ，programmable read-only memory」）、電気的消去可能プログラマブル読み出し専用メモリ（「ＥＥＰＲＯＭ，electrically erasable programmable read-only memory」）、ダイナミックランダムアクセスメモリ（「ＤＲＡＭ，dynamic random-access memory」）、モバイルＤＲＡＭ、同期ＤＲＡＭ（「ＳＤＲＡＭ，synchronous DRAM」）、ダブルデータレートＳＤＲＡＭ（「ＤＤＲ／２  ＳＤＲＡＭ，double data rate SDRAM」）、拡張データ出力（「ＥＤＯ，extended data output」）ＲＡＭ、高速ページモードＲＡＭ（「ＦＰＭ，fast page mode RAM」）、レイテンシ低減ＤＲＡＭ（「ＲＬＤＲＡＭ，reduced latency DRAM」）、スタティックＲＡＭ（「ＳＲＡＭ，static RAM」）、フラッシュメモリ（例えば、ＮＡＮＤ／ＮＯＲ）、メモリスタメモリ、擬似スタティックＲＡＭ（「ＰＳＲＡＭ，pseudostatic RAM」）などを含む、デジタルデータを記憶するように構成された任意の種類の集積回路又はその他のストレージデバイスを含む可能性がある。メモリ１２０は、コントローラ１１８に命令及びデータを提供する可能性がある。例えば、メモリ１２０は、複数の命令を記憶させた非一時的コンピュータ可読ストレージ装置及び／又は媒体である可能性があり、命令は、ロボット１０２を動作させるために処理装置（例えば、コントローラ１１８）によって実行可能である。場合によっては、命令は、処理装置によって実行されるとき、処理装置に本開示において説明されるさまざまな方法、特徴、及び／又は機能を実施させるように構成される可能性がある。したがって、コントローラ１１８は、メモリ１２０に記憶されたプログラム命令に基づいて論理及び／又は算術演算を実施する可能性がある。場合によっては、メモリ１２０の命令及び／又はデータは、一部がロボット１０２のローカルに置かれ、一部がロボット１０２の遠隔に（例えば、クラウド、サーバ、ネットワークなどに）置かれたハードウェアの組合せに記憶される可能性がある。
【００３４】
プロセッサが、ロボット１０２の外部にあり、通信ユニット１１６を利用してロボット１０２のコントローラ１１８に通信可能なように接続される可能性があり、外部プロセッサが、ロボット１０２からデータを受信し、データを処理し、コンピュータ可読命令をコントローラ１１８に送り返す可能性があることは、当業者にとって用意に明らかであるに違いない。少なくとも１つの非限定的な例示的実施形態において、プロセッサは、リモートサーバ（図示せず）上にある可能性がある。
【００３５】
一部の例示的な実施形態において、図１Ａに示されるメモリ１２０は、センサデータのライブラリを記憶する可能性がある。場合によっては、センサデータは、物体及び／又は人に少なくとも部分的に関連付けられる可能性がある。例示的な実施形態において、このライブラリは、異なる組成（例えば、材料、反射特性、分子組成など）、異なる照明条件、角度、サイズ、距離、明瞭さ（例えば、ぼけている、遮られている／隠されている、部分的にフレームから外れているなど）、色、周囲の状況、及び／又はその他の条件を有する物体及び／又は人に関連するセンサデータなどの、異なる条件における物体及び／又は人に関連するセンサデータを含む可能性がある。ライブラリのセンサデータは、センサ（例えば、センサユニット１１４のセンサ若しくは任意のその他のセンサ）によって取得される、並びに／又は異なる照明条件、角度、サイズ、距離、明瞭さ（例えば、ぼけている、遮られている／隠されている、部分的にフレームから外れているなど）、色、周囲の状況、及び／若しくはその他の条件からライブラリセンサデータを（例えば、仮想世界で）生じさせる／シミュレーションするように構成される（例えば、これらのライブラリデータを完全にデジタルで及び／若しくは実際のセンサデータから開始して生じさせる／シミュレーションする可能性がある）コンピュータプログラムによるなどして自動的に生じさせられる可能性がある。ライブラリの画像の数は、利用可能なデータの量、ロボット１０２が動作する周囲の環境の変動性、物体及び／若しくは人の複雑さ、物体の外見の変動性、ロボットの物理的特性、センサの特性、並びに／或いは（例えば、ライブラリ、メモリ１２０、及び／又はローカルの若しくは遠隔のストレージ内の）利用可能なストレージ空間の量のうちの１又は２以上に少なくとも部分的に依存する可能性がある。例示的な実施形態においては、ライブラリの少なくとも一部が、ネットワーク（例えば、クラウド、サーバ、分散型ネットワークなど）上に記憶される可能性があり、及び／又はメモリ１２０にすべて記憶されるわけではない可能性がある。さらに別の例示的な実施形態として、（例えば、共通の製造業者、ユーザ、ネットワークなどによるロボットなどの、共通して関連付けられる）さまざまなロボットが、個々のロボットによってキャプチャされたデータがその他のロボットと集合的に共有されるようにネットワーク化される可能性がある。そのようにして、これらのロボットは、容易に誤りを検出及び／若しくは特定する並びに／又はイベントを支援する能力を促進するためにセンサデータを学習及び／又は共有するように構成される可能性がある。
【００３６】
引き続き図１Ａを参照すると、動作ユニット１０４が、本開示において説明されるさまざまな動作を実施するためにコントローラ１１８又は任意のその他のコントローラに接続される可能性がある。動作ユニット１０４のモジュールのうちの１若しくは２以上が、一部の実施形態に含まれる可能性があり、又は動作ユニット１０４のモジュールのどれも、一部の実施形態に含まれない可能性がある。本開示全体を通じて、さまざまなコントローラ及び／又はプロセッサが参照される可能性がある。一部の実施形態においては、単一のコントローラ（例えば、コントローラ１１８）が、説明されるさまざまなコントローラ及び／又はプロセッサとして働く可能性がある。その他の実施形態においては、特に１又は２以上の動作ユニット１０４のために使用されるコントローラ及び／又はプロセッサなどの異なるコントローラ及び／又はプロセッサが、使用される可能性がある。コントローラ１１８は、動作ユニット１０４への離散的信号及びアナログ信号を含む、電力信号（power signal）、ステータス信号、データ信号、電気信号、及び／又は任意のその他の望ましい信号などの信号を送信及び／又は受信する可能性がある。コントローラ１１８は、動作ユニット１０４を調整及び／若しくは管理し、並びに／又はタイミングを（例えば、同期して若しくは非同期で）設定する、制御電力バジェット（control power budget）をオン／オフする、ネットワークの命令及び／若しくは更新を受信／送信する、ファームウェアを更新する、問い合わせ信号（interrogatory signal）を送信する、ステータスを受信及び／若しくは送信する、並びに／又はロボット１０２の特徴を実行するための任意の動作を実施する可能性がある。
【００３７】
図１Ａに戻って、動作ユニット１０４は、ロボット１０２のための機能を実施するさまざまなユニットを含む可能性がある。例えば、動作ユニット１０４は、少なくとも、ナビゲーションユニット１０６、アクチュエータユニット１０８、ユーザインターフェースユニット１１２、センサユニット１１４、及び通信ユニット１１６を含む。動作ユニット１０４は、ロボット１０２のさまざまな機能を提供するその他のユニットも含む可能性がある。例示的な実施形態において、動作ユニット１０４は、ソフトウェア、ハードウェア、又はソフトウェアとハードウェアとの両方で具体化される可能性がある。例えば、場合によっては、動作ユニット１０４のユニットは、コントローラによって実行されるコンピュータに実装された命令を含む可能性がある。例示的な実施形態において、動作ユニット１０４のユニットは、ハードコーディングされた論理を含む可能性がある。例示的な実施形態において、動作ユニット１０４のユニットは、コントローラによって実行されるコンピュータに実装された命令とハードコーディングされた論理との両方を含む可能性がある。動作ユニット１０４が部分的にソフトウェアで実装される場合、動作ユニット１０４は、１又は２以上の機能を提供するように構成されたコードのユニット／モジュールを含む可能性がある。
【００３８】
例示的な実施形態において、ナビゲーションユニット１０６は、環境の地図をコンピュータにより構築及び更新し、地図内でロボット１０２の場所を特定し（例えば、位置を見つけ）、目的地に／からロボット１０２をナビゲートする可能性があるシステム及び方法を含む可能性がある。地図作成は、部分的にセンサユニット１１４によって取得されたデータを、環境を少なくとも部分的に表すコンピュータ可読地図に加えることによって実施される可能性がある。例示的な実施形態において、環境の地図は、ユーザインターフェースユニット１１２を通じてロボット１０２にアップロードされるか、ワイヤレスで若しくは有線接続を通じてアップロードされるか、又はユーザによってロボット１０２に教えられる可能性がある。
【００３９】
例示的な実施形態において、ナビゲーションユニット１０６は、ロボット１０２がナビゲートするための方向指示を提供するように構成された構成要素及び／又はソフトウェアを含む可能性がある。ナビゲーションユニット１０６は、地図作成及び位置測定ユニットによって生じさせられた地図、ルート、及び位置測定情報、センサユニット１１４及び／又はその他の動作ユニット１０４からのデータを処理する可能性がある。
【００４０】
引き続き図１Ａを参照すると、アクチュエータユニット１０８が、電気モータ、ガスモータ、駆動マグネットシステム（driven magnet system）、ソレノイド／ラチェットシステム、圧電システム（例えば、尺取り虫モータ（inchworm motor））、磁歪要素、激しいジェスチャ（gesticulation）、及び／又は当技術分野で知られているアクチュエータを駆動する任意の方法などのアクチュエータを含む可能性がある。例示として、そのようなアクチュエータは、ロボット１０２がルートをナビゲートし、障害物の周りをナビゲートし、カメラ及びセンサを回転させるためのホイールを駆動する可能性がある。
【００４１】
アクチュエータユニット１０８は、場合によっては、タスクを実施するために作動させるために使用される任意のシステムを含む可能性がある。例えば、アクチュエータユニット１０８は、駆動マグネットシステム、モータ／エンジン（例えば、電気モータ、燃焼エンジン、蒸気エンジン、及び／若しくは当技術分野で知られている任意の種類のモータ／エンジン）、ソレノイド／ラチェットシステム、圧電システム（例えば、尺取り虫モータ）、磁歪要素、激しいジェスチャ、並びに／又は当技術分野で知られている任意のアクチュエータを含む可能性がある。例示的な実施形態によれば、アクチュエータユニット１０８は、推進を動力化するなど、ロボット１０２の移動を許すシステムを含む可能性がある。例えば、動力化された推進は、ロボット１０２を前方若しくは後方に移動させ、並びに／又はロボット１０２を方向転換する（例えば、左、右、及び／若しくは任意のその他の方向）際に少なくとも部分的に使用される可能性がある。例示として、アクチュエータユニット１０８は、ロボット１０２が移動しているのか若しくは停止されるのかを制御し、及び／又はロボット１０２がある場所から別の場所にナビゲートすることを可能にする。
【００４２】
例示的な実施形態によれば、センサユニット１１４は、ロボット１０２の中及び／又は周りの特性を検出する可能性があるシステム及び／又は方法を含む可能性がある。センサユニット１１４は、複数のセンサ及び／又はセンサの組合せを含む可能性がある。センサユニット１１４は、ロボット１０２の内部にある若しくは外部にあるセンサを含み、並びに／又は部分的に内部にある及び／若しくは部分的に外部にある構成要素を有する可能性がある。場合によっては、センサユニット１１４は、ソナー、光検出及び測距（「ＬＩＤＡＲ，light detection and ranging」）センサ、レーダー、レーザー、カメラ（ビデオカメラ（例えば、赤青緑（「ＲＢＧ，red-blue-green」）カメラ、赤外線カメラ、３次元（「３Ｄ，three-dimensional」）カメラ、サーマルカメラなど）、飛行時間（「ＴＯＦ，time of flight」）カメラ、構造化光カメラを含む）、アンテナ、モーションディテクタ、マイクロフォン、並びに／又は当技術分野で知られている任意のその他のセンサなどの１又は２以上の外受容センサ（exteroceptive sensor）を含む可能性がある。例示的な実施形態によれば、センサユニット１１４は、生の測定値（例えば、電流、電圧、抵抗、ゲート論理など）及び／又は変換された測定値（例えば、距離、角度、障害物内の検出された点など）を収集する可能性がある。場合によっては、測定値は、集約される及び／又は要約される可能性がある。センサユニット１１４は、測定値に少なくとも部分的に基づいてデータを生じさせる可能性がある。そのようなデータは、行列、配列、キュー、リスト、配列、スタック、バッグなどのデータ構造に記憶される可能性がある。例示的な実施形態によれば、センサデータのデータ構造は、画像と呼ばれる可能性がある。
【００４３】
例示的な実施形態によれば、センサユニット１１４は、ロボット１０２の内部の特性を測定する可能性があるセンサを含む可能性がある。例えば、センサユニット１１４は、温度、電力レベル、ステータス、及び／又はロボット１０２の任意の特性を測定する可能性がある。場合によっては、センサユニット１１４は、ロボット１０２のオドメトリ（odometry）を決定するように構成される可能性がある。例えば、センサユニット１１４は、加速度計、慣性測定ユニット（「ＩＭＵ，inertial measurement unit」）、走行距離計、ジャイロスコープ、速度計、（例えば、視覚オドメトリを使用する）カメラ、クロック／タイマなどのセンサを含む可能性がある自己受容センサ（proprioceptive sensor）を含む可能性がある。オドメトリは、ロボット１０２の自律的なナビゲーション及び／又は自律的なアクションを容易にする可能性がある。このオドメトリは、初期の場所に対するロボット１０２の位置（例えば、位置はロボットの場所、変位、及び／又は向きを含む可能性があり、本明細書において使用される姿勢という用語と交換可能であることがある可能性がある）を含む可能性がある。そのようなデータは、行列、配列、キュー、リスト、配列、スタック、バッグなどのデータ構造に記憶される可能性がある。例示的な実施形態によれば、センサデータのデータ構造は、画像と呼ばれる可能性がある。
【００４４】
例示的な実施形態によれば、ユーザインターフェースユニット１１２は、ユーザがロボット１０２とインタラクションすることを可能にするように構成される可能性がある。例えば、ユーザインターフェースユニット１１２は、タッチパネル、ボタン、キーパッド／キーボード、ポート（例えば、ユニバーサルシリアルバス（「ＵＳＢ」）、デジタルビジュアルインターフェース（「ＤＶＩ，digital visual interface」）、ディスプレイポート、Ｅ−Ｓａｔａ、Ｆｉｒｅｗｉｒｅ、ＰＳ／２、シリアル、ＶＧＡ、ＳＣＳＩ、ａｕｄｉｏｐｏｒｔ、高精細度マルチメディアインターフェース（「ＨＤＭＩ，high-definition multimedia interface」）、パーソナルコンピュータメモリカード国際協会（「ＰＣＭＣＩＡ，personal computer memory card international association」）ポート、メモリカードポート（例えば、セキュアデジタル（「ＳＤ，secure digital」）及びminiSD）、並びに／若しくはコンピュータ可読媒体のためのポート）、マウス、ローラーボール、コンソール、バイブレータ、オーディオトランスデューサ、並びに／又はワイヤレスで接続されるのか若しくは有線によって接続されるのかに関わらずユーザがデータ及び／若しくはコマンドを入力及び／若しくは受け取るための任意のインターフェースを含む可能性がある。ユーザは、音声コマンド又はジェスチャによってインタラクションする可能性がある。ユーザインターフェースユニット２１８は、限定なしに、液晶ディスプレイ（「ＬＣＤ，liquid crystal display」）、発光ダイオード（「ＬＥＤ，light-emitting diode」）ディスプレイ、ＬＥＤ  ＬＣＤディスプレイ、面内切替型（「ＩＰＳ，in-plane-switching」）ディスプレイ、ブラウン管、プラズマディスプレイ、高精細度（「ＨＤ，high definition」）パネル、４Ｋディスプレイ、Ｒｅｔｉｎａディスプレイ、有機ＬＥＤディスプレイ、タッチスクリーン、表面、キャンバス、並びに／又は視覚的な提示のための当技術分野で知られている任意のディスプレイ、テレビ、モニタ、パネル、及び／若しくはデバイスなどのディスプレイを含む可能性がある。例示的な実施形態によれば、ユーザインターフェースユニット１１２は、ロボット１０２の本体上に位置付けられる可能性がある。例示的な実施形態によれば、ユーザインターフェースユニット１１２は、ロボット１０２の本体から離して位置付けられる可能性があるが、直接的に（例えば、送信機、受信機、及び／若しくはトランシーバを含む通信ユニットを介して）又は間接的に（例えば、ネットワーク、サーバ、及び／若しくはクラウドを通じて）ロボット１０２に通信可能なように接続される可能性がある。例示的な実施形態によれば、ユーザインターフェースユニット１１２は、例えば、占有者又はロボットの周りの人に情報を提供するための、ロボットの近くの表面（例えば、床）への画像の１又は２以上の投影を含む可能性がある。情報は、前、左、右、後ろ、斜め、及び／又は任意のその他の方向の移動のインジケーションなどのロボットの将来の移動の方向である可能性がある。場合によっては、そのような情報は、矢印、色、記号などを利用する可能性がある。
【００４５】
例示的な実施形態によれば、通信ユニット１１６は、１又は２以上の受信機、送信機、及び／又はトランシーバを含む可能性がある。通信ユニット１１６は、ＢＬＵＥＴＯＯＴＨ（登録商標）、ＺＩＧＢＥＥ（登録商標）、Ｗｉ−Ｆｉ、誘導ワイヤレスデータ送信（induction wireless data transmission）、無線周波数、無線送信、無線周波数識別（「ＲＦＩＤ，radio-frequency identification」）、近距離無線通信（「ＮＦＣ，near-field communication」）、赤外線、ネットワークインターフェース、３Ｇ（３ＧＰＰ／３ＧＰＰ２）、高速ダウンリンクパケットアクセス（「ＨＳＤＰＡ，high-speed downlink packet access」）、高速アップリンクパケットアクセス（「ＨＳＵＰＡ，high-speed uplink packet access」）、時分割多元接続（「ＴＤＭＡ，time division multiple access」）、符号分割多元接続（「ＣＤＭＡ，code division multiple access」）（例えば、ＩＳ−９５Ａ、広帯域符号分割多元接続（「ＷＣＤＭＡ，wideband code division multiple access」）など）、周波数ホッピングスペクトラム拡散（「ＦＨＳＳ，frequency hopping spread spectrum」）、直接シーケンススペクトラム拡散（「ＤＳＳＳ，direct sequence spread spectrum」）、移動体通信用グローバルシステム（「ＧＳＭ，global system for mobile communication」）、パーソナルエリアネットワーク（「ＰＡＮ，Personal Area Network」）（例えば、ＰＡＮ／８０２．１５）、マイクロ波アクセスのための世界的相互運用性（「ＷｉＭＡＸ，worldwide interoperability for microwave access」）、８０２．２０、ロングタームエボリューション（「ＬＴＥ，long term evolution」）（例えば、ＬＴＥ／ＬＴＥ−Ａ）、時分割ＬＴＥ（「ＴＤ−ＬＴＥ，time division LTE」）、移動体通信用グローバルシステム（「ＧＳＭ」）、狭帯域／周波数分割多元接続（「ＦＤＭＡ，frequency-division multiple access」）、直交周波数分割多重（「ＯＦＤＭ，orthogonal frequency-division multiplexing」）、アナログセルラ、セルラデジタルパケットデータ（「ＣＤＰＤ，cellular digital packet data」）などのセルラテクノロジー、衛星システム、ミリ波若しくはマイクロ波システム、音響、赤外線（例えば、赤外線データ協会（「ＩｒＤＡ，infrared data association」））、及び／又は任意のその他の形態のワイヤレスデータ送信などの送信プロトコルを送信／受信するように構成される可能性がある。
【００４６】
通信ユニット１１６は、信号線及び接地を有する任意のケーブルなどの有線接続上で送信プロトコルを利用して信号を送信／受信するように構成される可能性もある。例えば、そのようなケーブルは、イーサネットケーブル、同軸ケーブル、ユニバーサルシリアルバス（「ＵＳＢ」）、ＦｉｒｅＷｉｒｅ、及び／又は当技術分野で知られている任意の接続を含む可能性がある。そのようなプロトコルは、コンピュータ、スマートフォン、タブレット、データキャプチャシステム、モバイル電気通信ネットワーク、クラウド、サーバなどの外部システムと通信するために通信ユニット１１６によって使用される可能性がある。通信ユニット１１６は、数、レター（letter）、英数字キャラクタ（character）、及び／又は記号からなる信号を送信及び受信するように構成される可能性がある。場合によっては、信号は、高度暗号化標準（「ＡＥＳ，Advanced Encryption Standard」）、ＲＳＡ、データ暗号化標準（「ＤＥＳ，Data Encryption Standard」）、トリプルＤＥＳなどの規格に準拠する１２８ビット又は２５６ビット鍵及び／又はその他の暗号化アルゴリズムなどのアルゴリズムを使用して暗号化される可能性がある。通信ユニット１１６は、ステータス、コマンド、及びその他のデータ／情報を送信及び受信するように構成される可能性がある。例えば、通信ユニット１１６は、ユーザがロボット１０２を制御することを可能にするためにユーザオペレータと通信する可能性がある。通信ユニット１１６は、ロボット１０２がデータ、ステータス、コマンド、及びその他の通信をサーバに送信することを可能にするためにサーバ／ネットワーク（例えば、ネットワーク）と通信する可能性がある。サーバは、ロボット１０２を遠隔で監視及び／又は制御するために使用される可能性があるコンピュータ及び／又はデバイスに通信可能なように接続される可能性もある。通信ユニット１１６は、ロボット１０２のためにサーバから更新（例えば、ファームウェア又はデータ更新）、データ、ステータス、コマンド、及びその他の通信を受信する可能性もある。
【００４７】
例示的な実施形態によれば、オペレーティングシステム１１０は、メモリ１２０、コントローラ１１８、電源１２２、動作ユニット１０４のモジュール、並びに／又はロボット１０２の任意のソフトウェア、ハードウェア、及び／若しくは特徴を管理するように構成される可能性がある。例えば、限定なしに、オペレーティングシステム１１０は、ロボット１０２のためのハードウェアリソースを管理するためのデバイスドライバを含む可能性がある。
【００４８】
例示的な実施形態によれば、電源１２２は、限定なしに、リチウム、リチウムイオン、ニッケルカドミウム、ニッケル金属水素化物（nickel-metal hydride）、ニッケル水素、炭素亜鉛、酸化銀、亜鉛炭素、亜鉛空気、酸化水銀、アルカリ、又は当技術分野で知られている任意のその他の種類のバッテリを含む１又は２以上のバッテリを含む可能性がある。特定のバッテリは、（例えば、共振回路及び／若しくは共振タンク回路による）ワイヤレスで及び／又は外部電源につなぐことなどで充電され得る可能性がある。電源１２２は、壁のコンセントと、太陽光、風、水、原子力、水素、ガソリン、天然ガス、化石燃料、力学的エネルギー、蒸気、及び／又は任意の電源を電気に変換する電子デバイスとを含むエネルギーの任意の供給源である可能性もある。
【００４９】
（メモリ１２０、コントローラ１１８、センサユニット１１４、ユーザインターフェースユニット１１２、アクチュエータユニット１０８、通信ユニット１１６、地図作成及び位置測定ユニット１２６、並びに／又はその他のユニットを含む）図１Ａに関連して説明されたユニットのうちの１又は２以上は、統合されたシステムなどにおいてロボット１０２に組み込まれる可能性がある。しかし、例示的な実施形態によれば、これらのユニットのうちの１又は２以上は、取り付け可能なモジュールの一部である可能性がある。このモジュールは、既存の装置がロボットとして振る舞うように、自動化するために既存の装置に取り付けられる可能性がある。したがって、ロボット１０２に関連して本開示において説明される特徴は、既存の装置に取り付けられる可能性があるモジュールに具体化される、及び／又は統合されたシステム内でロボット１０２に組み込まれる可能性がある。さらに、場合によっては、当業者は、本開示において説明される特徴の少なくとも一部がクラウド、ネットワーク、及び／又はサーバなどにおいて遠隔で実行される可能性もあることを本開示の内容から理解するであろう。
【００５０】
今後使用されるとき、ロボット１０２、コントローラ１１８、又は以下で図に示されるタスクを実施する任意のその他のコントローラ、プロセッサ、若しくはロボットは、当業者によって理解されるように、メモリ１２０などの非一時的コンピュータ可読ストレージ装置に記憶されたコンピュータ可読命令を実行するコントローラを含む。
【００５１】
次に図１Ｂを参照すると、図１Ａに示されたシステムにおいて使用される特殊なコントローラ１１８のアーキテクチャが、例示的な実施形態に従って示される。図１Ｂに示されるように、特殊なコントローラ１１８は、データバス１２８、受信機１２６、送信機１３４、少なくとも１つのプロセッサ１３０、及びメモリ１３２をさらに含む可能性がある。受信機１２６、プロセッサ１３０、及び送信機１３４は、すべてデータバス１２８を介して互いに通信する。プロセッサ１３０は、特殊なアルゴリズムを実行するように構成された特殊なプロセッサである可能性がある。プロセッサ１３０は、プロセッサ１３０が特殊なアルゴリズムを実行するためにコンピュータコード又は命令を記憶するメモリ１３２にアクセスするように構成される可能性がある。図１Ｂに示されるように、メモリ１３２は、図１Ａに既に示されたメモリ１２０の特徴のうちのいくつかを含むか、いずれも含まないか、異なる特徴を含むか、又はすべてを含む可能性がある。プロセッサ１３０によって実行されるアルゴリズムは、下でさらに詳細に検討される。図１Ｂに示される受信機１２６は、入力信号１２４を受信するように構成される。入力信号１２４は、センサユニット１１４からのセンサデータ、ユーザ入力、モータのフィードバック、（例えば、リモートサーバからの）外部通信信号、及び／又は特殊なコントローラ１１８によるさらなる処理を必要とする動作ユニット１０４からの任意のその他の信号を含むがこれらに限定されない、図１Ａに示された複数の動作ユニット１０４からの信号を含む可能性がある。受信機１２６は、これらの受信された信号を、データバス１２８を介してプロセッサ１３０に伝達する。当業者が理解するように、データバス１２８は、特殊なコントローラ１１８の異なる構成要素−受信機、プロセッサ、及び送信機−の間の通信の手段である。プロセッサ１３０は、以下で検討されるように、メモリ１３２の特殊なコンピュータ可読命令にアクセスすることによってアルゴリズムを実行する。これらの信号の受信、処理、及び送信の際に特殊なアルゴリズムを実行するプロセッサ１３０に関するさらに詳細な説明は、図１Ａに関連して上で検討されている。メモリ１３２は、コンピュータコード、アルゴリズム、又は命令を記憶するためのストレージ媒体である。ストレージ媒体は、とりわけ、光学式メモリ（例えば、ＣＤ、ＤＶＤ、ＨＤ−ＤＶＤ、ブルーレイディスクなど）、半導体メモリ（例えば、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなど）、及び／又は磁気式メモリ（例えば、ハードディスクドライブ、フロッピーディスクドライブ、テープドライブ、ＭＲＡＭなど）を含む可能性がある。ストレージ媒体は、揮発性、不揮発性、ダイナミック、スタティック、読み出し／書き込み、読み出し専用、ランダムアクセス、逐次アクセス、位置アドレス指定可能（location-addressable）、ファイルアドレス指定可能（file-addressable）、及び／又はコンテンツアドレス指定可能（content-addressable）デバイスを含む可能性がある。プロセッサ１３０は、示されたようにデータバス１２８を介して送信機１３４に出力信号を伝達する可能性がある。送信機１３４は、信号出力１３６によって示される出力信号を複数の動作ユ��ット１０４にさらに伝達するように構成される可能性がある。
【００５２】
当業者は、図１Ｂに示されたアーキテクチャが遠隔の場所からロボット装置の制御を実施するように構成された外部サーバのアーキテクチャを示す可能性があることを理解するであろう。つまり、サーバは、データバス、受信機、送信機、プロセッサ、及び特殊なコンピュータ可読命令を記憶するメモリをやはり含む可能性がある。
【００５３】
少なくとも１つの非限定的な例示的実施形態によれば、ロボット１０２は、ネットワークに通信可能なように接続される可能性がある。図２は、本開示の一部の実施形態による、ネットワーク２０２に通信可能なように及び／又は動作可能なように接続されたロボット１０２を含むシステム２００の機能構成図である。ネットワーク２０２は、制限された若しくは画定された継続時間の間又は制限されていない若しくは画定されていない継続時間の間、仮想マシン、プロセス、又はその他のリソースをインスタンス化するために呼び出される可能性があるハードウェア、ソフトウェア、サービス、及び／又はリソースの集合を含む可能性がある。ネットワーク２０２は、インターネットにアクセスすることができるデバイス及び／又はサーバを含む複数のデバイス、システム、及び／又はサーバに通信可能なように及び／又は動作可能なように接続される可能性がある。アクセスポイント２０４−１及び２０４−２などのアクセスポイントのうちの１又は２以上は、コンピュータ、モバイルデバイス、タブレット、スマートフォン、セル電話、携帯情報端末、ファブレット、電子書籍リーダ、スマートウォッチ、セットトップボックス、インターネットストリーミングデバイス、ゲームコンソール、スマート家電、並びに／又はインターネット及び／若しくは任意のネットワークプロトコルにアクセスすることができる任意のデバイスを含むがこれらに限定されないデバイス、システム、及び／又はサーバである可能性がある。ネットワーク２０２は、「ｎ」個のアクセスポイントに通信可能なように接続される可能性があり、インデックス「ｎ」は、接続されるアクセスポイントの数に対応する１よりも大きい任意の正の整数である可能性がある。
【００５４】
ネットワーク２０２は、情報を受信する、処理する、及び／又は送信する可能性があるオンボードコンピュータを有する可能性がある。これらのコンピュータは、自律的に及び／又は１若しくは２以上の人間のオペレータによる制御下で動作する可能性がある。同様に、ネットワーク２０２は、アクセスポイント（例えば、アクセスポイント２０４−１、２０４−２など）を有する可能性があり、アクセスポイントは、同様に、ネットワーク２０２を動作させるために使用される可能性がある。アクセスポイントは、情報を受信する、処理する、及び／又は送信する可能性があるコンピュータ及び／又は人間のオペレータを有する可能性がある。したがって、本明細書におけるネットワーク２０２の動作への言及は、人間のオペレータ及び／又はコンピュータのオペレータに適用される可能性がある。
【００５５】
少なくとも１つの非限定的な例示的実施形態によれば、（例えば、ロボットの同じ又は異なる種類の）複数のロボット１０２が、ネットワーク２０２に通信可能なように及び／又は動作可能なように接続される可能性がある。これらのロボットの各々は、ネットワーク２０２にステータス、コマンド、及び／又は動作データを伝達する可能性がある。また、ネットワーク２０２は、ステータス、コマンド、及び／又は動作データを記憶する及び／又はこれらのロボットに伝達する可能性がある。場合によっては、ネットワーク２０２は、ロボット１０２及び／又はその他のロボットからの地図、センサデータ、及びその他の情報を記憶する可能性がある。そして、ネットワーク２０２は、複数の接続されたロボットの経験を互いに共有する可能性がある。さらに、情報の集約によって、ネットワーク２０２は、ロボットの性能を高めるために機械学習アルゴリズムを実施する可能性がある。
【００５６】
当業者は、本開示のいくつかの部分がロボット１０２、ネットワーク２０２、及び／又はアクセスポイント２０４−ｎによって実施される可能性があることを本開示の内容から理解するであろう。特定の例がロボット１０２、ネットワーク２０２、及び／又はアクセスポイント２０４−ｎのうちの１又は２以上に関連して説明される可能性があるが、例の特徴が、実質的に同様の結果を達成するためにロボット１０２、ネットワーク２０２、並びに／又はアクセスポイント２０４−１及び／若しくは２０４−２に分散される可能性があることは理解されるであろう。
【００５７】
図３は、本開示の一部の実装形態による、ロボット１０２が経路のルート変更をするための例示的な方法３００のプロセスフロー図である。ロボット１０２によって実施される方法３００の任意のステップは、当業者に理解されるように、さらに、ロボット１０２のコントローラ１１８が上で図１Ａに示された１又は２以上の動作ユニット１０４を動作させるためにメモリ１２０に記憶されたコンピュータ可読命令を実行することからなる。
【００５８】
ブロック３０２は、環境の地図及び／又は少なくとも１つの経路を受信することを含む。例えば、環境の地図及び／又は少なくとも１つの経路は、環境をナビゲートするためにロボットによって使用される可能性がある。例示として、地図は、環境の特徴を少なくとも部分的に示す可能性がある。地図は、移動し得る又は固定された基準に対してなど、環境内の特徴の場所、向き、姿勢などを含む可能性がある。例えば、そのような特徴は、１又は２以上の棚、機械、品物、ディスプレイ、小個室（cubicle）、オフィス、窓、ガラス、ドア、固定の設備、器具、ロボット、人、及び／又は環境内にある任意のその他の物、並びにセンサユニット１１４を使用して検出可能なそれらの特性（例えば、色、外形、材料の組成など）を含む可能性がある。一部の非限定的な例示的実施形態によれば、環境は、静的である（例えば、環境内の物が移動していない及び／若しくは位置を変えない）か、動的である（例えば、環境内の物が移動する及び／若しくは位置を変える）か、又は一部のエリア内では静的であり、その他のエリア内では動的である可能性がある。少なくとも１つの非限定的な例示的実施形態によれば、地図は、特定の時間の環境の特徴を示す可能性がある。別の非限定的な例示的実施形態によれば、地図は、複数の時間の環境の特徴を示す可能性があり、特定の時間の環境の特徴を示す複数の地図からの情報を組み合わせる。
【００５９】
経路は、環境内でロボットが移動するルートを含む可能性がある。例えば、経路は、ロボットが移動する複数の場所を含む可能性がある。複数の場所は、シーケンスを形成する可能性があり、ロボットは、ロボットが環境中の予め構成された進路に従うようにシーケンスの場所に特定の順序で移動する。少なくとも１つの非限定的な例示的実施形態によれば、経路は、デモンストレーション（demonstration）及び／又はその他の学習プロセスによるなどしてロボットによって学習される可能性がある。別の非限定的な例示的実施形態によれば、経路は、外部サーバ（例えば、ネットワーク２０２）又はデバイス（例えば、アクセスポイント２０４−ｎ、ユーザインターフェースユニット１１２など）から地図、座標、画像、及び／又はその他のデータの形態によるなどしてロボットにアップロードされる可能性がある。少なくとも１つの非限定的な例示的実施形態によれば、経路は、ロボット１０２の環境内の空間的に隔てられた２つの地点の間のルートを含む可能性があり、ロボット１０２のコントローラ１１８は、本開示のシステム及び方法を少なくとも部分的に使用して、例えば、ロボット１０２によって移動される距離を最小化しながらルート変更ゾーンから離れて２つの地点の間のロボット１０２のルートを修正して、ロボット１０２が従う２つの地点の間のルートを決定する可能性がある。
【００６０】
少なくとも１つの非限定的な例示的実施形態によれば、地図及び少なくとも１つの経路は、データ構造へと組み合わされる可能性があり、又は別々のデータ構造を使用して記憶される可能性がある。データ構造は、行列、配列、及び／又は任意のその他のデータ構造を含む可能性がある。データ構造は、２次元、３次元、又はさらに高次元である可能性があり、データ構造の一部が、環境内の（例えば、相対的な及び／又は絶対的な）場所と相関する。例えば、２次元（「２Ｄ，two-dimensional」）データ構造においては、各ピクセルが、ロボットがナビゲートする環境内の物理的な場所と少なくとも部分的に相関する可能性がある。同様に、３次元（「３Ｄ」）データ構造においては、各ボクセルが、ロボットがナビゲートする環境内の物理的な場所と少なくとも部分的に相関する可能性がある。２Ｄデータ構造は、ロボットが実質的に平面的な作業で動作する場合（例えば、水平な面上であるか又はそれ以外であるかに関わらず、ロボット２００の動きが左、右、前、後、及び／又はこれらの組合せなどの平面内で働く場合）に使用される可能性があり、一方、３Ｄデータ構造は、ロボット２００が左、右、前、及び後に加えて上、下、ロー（ｒｏｗ）、ピッチ、及び／又はヨーなどの平面的な作業を超える作業で動作する場合に使用される可能性がある。空間が場所に関連するさらなる特性（例えば、温度、時間、複雑さなど）を有する場合、データ構造により多くの次元が存在する可能性がある。少なくとも１つの非限定的な例示的実施形態によれば、地図は、関連するコストを有するさまざまな領域（例えば、地図のピクセル）を含む可能性があり（つまり、コストマップ）、地図上で物体を表す領域は、ロボット１０２の経路に物体又は障害物を含まない領域に比べてより高いコストを含み、それによって、ロボット１０２が選ぶ可能性があるすべての潜在的なルートのうちで最小のコストを含む経路又はルートを実行することによってロボット１０２が物体又は障害物を避けるように促す。
【００６１】
ブロック３０４は、ルート変更ゾーンを受信することを含む。ルート変更ゾーンは、ロボット１０２のユーザインターフェースユニット１１２又はロボット１０２に通信可能なように接続されたネットワーク２０２のアクセスポイント２０４−ｎを介してオペレータ及び／又はユーザによって入力される可能性がある。一部の実施形態において、ルート変更ゾーンは、ロボット１０２又は（例えば、ネットワーク２０２にやはり接続された）別個のロボット１０２のセンサユニット１１４によって検出される可能性があり、ルート変更ゾーンは、それぞれの通信ユニット１１６を介してロボット１０２に伝達される可能性がある。ルート変更ゾーンは、ロボット１０２が横断することが望ましくないエリアを少なくとも部分的に示す可能性がある。例えば、ルート変更ゾーンは、ロボット１０２がナビゲーション中に動けなくなる可能性がある（例えば、ロボット１０２がルート変更ゾーンの周りを移動する及び／又はルート変更ゾーンに出入りすることを難しくする可能性がある限られた操縦性を有する）、ロボット１０２が移動することが望ましくない（例えば、ロボットのナビゲーションが破壊的（disruptive）であるエリア）、及び／又は少なくとも部分的に塞がれているエリアである可能性がある。この例において、ロボット１０２は、ブロック３０２において受信された地図にそのロボットのフットプリント（つまり、ロボット１０２によって占有されたエリア）、又は同様の表現、オブジェクト、表現、対応関係、若しくはインスタンスを重ね合わせて、物体との衝突がそのロボットの経路を操作することによって回避可能であるかどうかを判定し、領域を通るどの経路も物体との衝突を回避しないことを検出すると、領域がルート変更ゾーンを含むと判定する可能性がある。
【００６２】
ルート変更ゾーンは、ロボット１０２がナビゲートすることが難しいか又は不可能である可能性がある、ブロック３０２において受信された経路を少なくとも部分的に包含する領域（例えば、仕切られた領域、コンピュータ可読地図上のピクセル、高コストな領域など）を含む可能性がある。一部の実施形態において、ルート変更ゾーンは、ルート変更ゾーン内の１又は２以上の物体の存在に基づいて検出される可能性があり、存在は、センサユニット１１４を使用して検出される。一部の実施形態において、コントローラ１１８は、経路計画アルゴリズムを実行して、物体と衝突することなくロボット１０２がたどるためのルートを決定する可能性があり、ルート変更ゾーンは、ルート変更ゾーン内で物体と衝突しない可能なルートが存在しない場合に検出される可能性がある。
【００６３】
少なくとも１つの非限定的な例示的実施形態によれば、ブロック３０４において受信された地図が、コストマップからなる可能性がある。コストの閾値が、ロボット１０２がたどるためのルートに関して課せられる可能性があり、ロボット１０２は、コストの閾値未満である関連するコストを含むルート又は経路のみを実行する可能性がある。したがって、ルート変更ゾーンは、ゾーンを通るどの経路もコストの閾値未満のコストを含むと判定されない可能性がある場合に検出される可能性がある。当業者は、コストマップが動作ユニット１０４から取得されたセンサデータの実装形態である可能性があり、それを２次元又は３次元の占有格子（occupancy grid）内に構築又は表現することを理解するであろう。
【００６４】
ブロック３０６は、ブロック３０４において受信されたルート変更ゾーン内の少なくとも１つの経路のセグメントを無視することを含む。ロボット１０２は、少なくとも１つの経路の１又は２以上のセグメントを有する可能性があり、それらの１又は２以上のセグメントは、ロボット１０２がそれらの１又は２以上のセグメントをたどるとすると、ルート変更ゾーンを通るようにロボット１０２を案内する。そのような１又は２以上のセグメントは、（ａ）オペレータが地図上で１若しくは２以上のセグメントを選択すること、又は（ｂ）ロボット１０２が１若しくは２以上のセグメントを自動的に特定することによるなどして特定される可能性がある。説明のための非限定的な例として、１又は２以上のセグメントを自動的に特定するロボット１０２は、少なくとも１つの障害物又はその他の妨げを検出することによるなどして、通路、廊下、及び／又はその他の構造が塞がれていると判定する可能性がある。ロボット１０２による閉塞の判定は、パーセンテージなど、通路、廊下、及び／又はその他の構造のどのくらいが塞がれているか、少なくとも１つの障害物の周りを進むロボット１０２の能力、障害物の数、障害物の場所（例えば、通路の入り口又は幅）、検出された障害物の種類（例えば、門、コーンなど）、ルート変更ゾーンのインジケータ（例えば、ルート変更ゾーンをロボット１０２に示す可能性がある記号又はその他の機械可読情報）に少なくとも部分的に基づく可能性がある。それから、ロボット１０２は、通路、廊下、及び／又はその他の構造をルート変更ゾーンとして特定する可能性があり、それによって、ルート変更ゾーンを通る１又は２以上のセグメントを無視する。
【００６５】
ブロック３０８は、経路の残りの部分に沿ってロボット１０２がルート変更をすることを含む。ルート変更中、ロボット１０２は、最小の長さの閾値を満たさない少なくとも１つの経路の残りの部分を無視する可能性があり、最小の長さの閾値は、ユーザ又はロボットのコントローラによって設定される予め決められた閾値である可能性があり、経路の残りの部分がルート変更中に考慮されるための最小の長さの要件を決定する可能性がある。さらに、ロボット１０２は、ロボット１０２の最小の方向転換の角度の回転を満たさない少なくとも１つの経路の一部も無視する可能性があり、最小の方向転換の角度の回転は、ユーザ又はロボットのコントローラによって設定される予め決められた閾値である可能性があり、経路の残りの部分がルート変更中に考慮されるための回転の最小の方向転換の角度の要件を決定する可能性がある。ルート変更ゾーンを通り抜ける少なくとも１つの経路の１又は２以上のセグメントを除外した後、ロボット１０２は、例えば、ロボット１０２がそうでなければルート変更ゾーンの外のエリアにおいて実施すべきタスクをそれらのエリアにおいて実施するためにルート変更経路（rerouting path）を決定する可能性がある。そのような実施は、ルート変更ゾーンがあるにも関わらずロボット１０２が移動したであろう地図内のエリアにロボット１０２がナビゲートすることを含む可能性がある。
【００６６】
少なくとも１つの非限定的な例示的実施形態によれば、そのようなタスクを実施することは、ロボット１０２の移動の方向に依存しない可能性がある。例えば、ロボットが床掃除機である場合、ロボット１０２が床のエリアの上を移動することだけがオペレータにとって重要である可能性があり、ロボット１０２が床の上をどの方向に移動するかは重要でない。しかし、別の非限定的な例示的実施形態によれば、移動の方向が、タスクにとって重要である可能性があり、したがって、下で図６Ｃにさらに示される、考慮するさらなるパラメータ又はルート変更経路に対する制限が存在する可能性がある。
【００６７】
少なくとも１つの非限定的な例示的実施形態によれば、ルート変更経路は、移動のためのルートを含む可能性がある。例えば、ルートは、第１の場所から第２の場所へのロボット１０２の移動を含む可能性がある。ルートは、環境内の場所に関連する複数の位置、向き、及び／又は姿勢などのロボット１０２の複数の位置、向き、及び／又は姿勢を含む可能性がある。ルートは、ロボット１０２が第１の場所から第２の場所に直接移動する直線的な経路を含む可能性があり、又はロボットが移動するときに曲がりくねり、折り返し、重なり、Ｕターン、及び／若しくは環境におけるその他の操縦を含むより複雑な経路である可能性がある。そのような操縦は、ロボット１０２がタスクを完了することを可能にする可能性がある。例えば、ロボット１０２は、床掃除機である可能性があり、操縦は、ロボット１０２が床のエリアを掃除することを可能にする可能性がある。別の例として、ロボット１０２が品物、人、動物、貨物、積荷、物体、手荷物、及び／又は望ましい任意のものをある場所から別の場所に輸送している場合、そのような操縦は、ロボット１０２が積み込み、積み下ろし、場所を見ること（site seeing）、障害物の回避、及び／又は任意のその他の理由で異なる場所に行くことを可能にする可能性がある。
【００６８】
図４Ａは、例示的な実施形態による、ルート４０４を含むコンピュータ可読地図４００のレンダリングの平面図を示す。地図４００のアイコン４０２は、ホームロケーション（home location）、初期化ロケーション（initialization location）、基準の位置／品物、及び／又は地図４００上の任意のその他の位置などの基準の場所を少なくとも部分的に表す可能性がある。障害物４０６Ａ及び４０６Ｂは、地図４００内の地図に描かれた障害物に対応し、例えば、ロボット１０２の移動を制限する可能性がある棚、壁、及び／又はその他の障害物である可能性がある。ルート変更ゾーン４０８は、ロボット１０２が移動するために望ましくないと判定されたゾーンである可能性がある。ルート変更ゾーン４０８は、例えば、ルート変更ゾーン４０８内を移動するロボット１０２の能力を妨げる可能性がある障壁４０６Ａと障壁４０６Ｂとの間の障害物をロボット１０２が検出することによって決定される可能性がある。少なくとも１つの非限定的な例示的実施形態によれば、ルート変更ゾーン４０８は、図２に既に示されたように人がアクセスポイント２０４に入力を与えること、人がロボット１０２のユーザインターフェースユニット１１２に入力を与えること、又はその他のロボットが障壁４０６Ａと障壁４０６Ｂとの間の障害物を検出し、ゾーンをルート変更ゾーン４０８であると判定し、ルート変更ゾーン４０８の場所をネットワーク２０２に伝達することによって決定される可能性がある。示されたように、ルート４０４の一部は、ルート変更ゾーン４０８内にあり、ルート４０４のそれらの部分がルート変更ゾーン４０８へのナビゲーションを避けるためにルート変更されることを必要とする。
【００６９】
図４Ｂは、例示的な実施形態による、ロボット１０２がルート変更ゾーン４０８にナビゲートすることを避けるようにロボット１０２がたどる新しいルートを決定するための、図４Ａに既に示されたルート変更ゾーン４０８内にあるルート４０４の一部の削除を示す。図４Ｂに示されるように、ルート変更ゾーン４０８内のルート４０４の一部を削除すると、ルート４０４の残りの部分は、例えば、ロボット１０２の物理的な制約（つまり、ロボット１０２の最小回転半径若しくは最小の長さ）が原因でロボット１０２によってナビゲート不可能な曲がり角を含む１又は２以上のナビゲート不可能な急な曲がり角４１２、又はルート４０４の断絶を含む間隙４１４とを含む可能性がある。間隙４１４は、ルート変更ゾーン４０８内のルート４０４の一部の削除がルート４０４の残りの部分を不連続にすることが原因で存在する。したがって、ロボット１０２は、ロボット１０２がそのロボットの所望の軌道をたどる又は経路に沿って移動するときにリアルタイムで、ルート変更ゾーン４０８内にあるルート４０４の一部の削除によって引き起こされるナビゲート不可能な急な曲がり角４１２及び間隙４１４を考慮に入れるために残りのルート４０４に対する最適化４１０を計算する可能性がある。最適化４１０は、ルート４０４が間隙４１４、ナビゲート不可能な急な曲がり角４１２を含まず、下で図４Ｃに示される新しいルート変更された経路４１６の長さを最小化するような最適化４１０を計算するためのメモリ１２０に記憶された特殊なアルゴリズムを使用してロボット１０２のコントローラ１１８によって計算される可能性がある。これらの特殊なアルゴリズムは、例えば、ユークリッド距離の測定、巡回セールスマンアルゴリズム、又は同様のアルゴリズムなどの経路長最小化最適化アルゴリズムを含む可能性があるがこれらに限定されず、さらに、経路長最小化アルゴリズムが原因で急な曲がり角４１２が生じないことを保証するように構成されたさらなるルート平滑化最適化アルゴリズムと併せて利用される可能性がある。ナビゲート不可能な急な曲がり角４１２を考慮に入れ、間隙４１４を防止するそのようなルート最適化は、ロボット１０２が経路に沿って所望の軌道を移動しているときにリアルタイムでそのように行われる可能性がある。
【００７０】
少なくとも１つの非限定的な例示的実施形態によれば、最適化４１０を計算するコントローラが、周りの障害物、その他のルート変更ゾーン、ロボットの物理パラメータ（例えば、回転半径、サイズなど）、及び／又はロボットが特定の方向に向けられることを必要とするルート４０４に沿った実施するタスクを含むがこれらに限定されない追加のパラメータを考慮する可能性がある。ロボットが経路４０４に沿って特定の方向に向けられることを要求される例示的な実施形態において、最適化４１０は、ロボット自体を適切な向きにするためにロボットを別個の場所にナビゲートさせる可能性があるかなりの追加的なルートの長さを追加することを含む可能性があり、最適化４１０は、これを達成するために追加的なルートの長さをやはり最小化する可能性がある。少なくとも１つの非限定的な例示的実施形態によれば、最適化４１０は、下で図５Ａ〜Ｃにさらに示されるように、ロボット１０２に知られているその他の近くのルートのセグメントの使用又はセグメントの接続を含む可能性がある。
【００７１】
図４Ｃは、例示的な実施形態による、それによって新しいルート変更された経路４１６を生成する、図４Ａ〜Ｂに既に示されたように実装された最適化４１０によるルート変更されたルート４０４を含むルート変更された経路４１６を示す。示されたように、新しいルート変更された経路４１６は、ロボット１０２をルート変更ゾーン４０８内に動かさず、それによって、ルート変更ゾーン４０８を避ける。ルート変更された経路４１６は、ルート変更ゾーン４０８の外のエリア内の、図４Ｂに示された最適化４１０によって影響を受けない（例えば、削除、追加、又は変更されない）、図４Ａ〜Ｂに示されたルート４０４と実質的に同様の経路を含む可能性がある。
【００７２】
少なくとも１つの非限定的な例示的実施形態によれば、ロボット１０２は、下で図６Ｃにさらに示されるように、ルート変更された経路４１６を決定するときに考慮するさらなるパラメータを必要とする特定の方向に沿ってルート又はルートの一部をナビゲートすることを要求される可能性がある。
【００７３】
図５Ａは、例示的な実施形態による、複数のルート５０２を含む環境のコンピュータ可読地図５００のレンダリングの平面図を示す。複数のルートは、ルート５０２をたどることによって１又は２以上のタスクを成し遂げるために１又は２以上のロボットによって利用される可能性がある。同様に、ルート５０２は、地図５００中の単一の長いルートを示す可能性がある。地図５００は、例えば、開始場所、ホームロケーション、知られている特徴／目標物、及び／又はその他の区別可能な特徴若しくは場所を示すアイコン５０４をさらに含む可能性がある。
【００７４】
図５Ｂは、例示的な実施形態による、環境の地図５００に課せられたルート変更ゾーン５０６を示す。ルート変更ゾーン５０６は、例えば、ネットワーク２０２、ロボット１０２のユーザインターフェース１１２を通じてロボット１０２に伝達される、及び／又はルート変更ゾーン５０６内の障害物を観測するとロボット１０２によって決定される可能性がある。図５Ｂに示されるように、ロボット１０２によって移動されるルートは、ロボット１０２がルート変更することを要求する立ち入り禁止区域を含む。この立ち入り禁止区域又はルート変更ゾーン５０６は、ロボット１０２によって移動されるべきでない経路を示す。
【００７５】
図５Ｃは、例示的な実施形態による、ルート変更ゾーン５０６を含む環境の地図５００内の複数のルート変更されたルート５０８を示す。ルート変更されたルート５０８は、上で図４Ａ〜Ｂに示されたように、ルート変更ゾーン５０６内の又はルート変更ゾーン５０６の周りのルート５０２のセグメントを削除し、セグメントを削除されたルート５０２に対して最適化を実施することによって決定される可能性がある。さらに、複数のルート５０２は、複数の未変更のルート５０２がルート変更ゾーン５０６内のルートセグメントを含まない可能性があるとき、ルート変更ゾーン５０６を課した後、変更されない可能性がある。
【００７６】
加えて、ルート変更されたルート５０８は、組み合わされたルート（例えば、ルート変更されたルート５０８）に沿ってナビゲートするロボット１０２がルート変更ゾーン５０６の外のエリアにやはりナビゲートする可能性があるように、図５Ａ〜Ｂに既に示された１又は２以上の既に移動されたルート５０２の一部又はセグメントを組み合わせることによって決定される可能性がある。ルートの組合せは、２つのルートが交差するか又は非常に近接している場合に実施される可能性があり、それによって、２つのルートの間の間隙を接続するために最小限の最適化を必要とする。ロボットは、ルート変更ゾーン５０６を回避しながら１組のタスクを成し遂げるための１又は２以上のルート変更されたルート５０８を決定するためにルート５０２の２又は３以上のセグメントを組み合わせる可能性がある。言い換えると、ルート５０２の中のルートをナビゲートするロボット１０２は、ルート変更ゾーン５０６を避けるためにルート５０２の中の別のルートの一部を利用する可能性があり、それによって、ルート変更されたルート５０８を作成する。ルート変更されたルート５０８は、ルート変更ゾーン５０６を避けるルート変更されたルート５０８としての新しいルート又は既に移動されたルート５０２と異なるルートである可能性がある。少なくとも１つの非限定的な例示的実施形態によれば、ロボット１０２は、下で図６Ａ〜Ｃにさらに示されるようにロボットが指定された場所において指定された方向に沿ってナビゲートする可能性があるようにルート５０２のセグメントを組み合わせる可能性がある。
【００７７】
図６Ａは、例示的な実施形態による、複数の障害物６０８と、開始地点６０２から終了地点６０４までルート６０６に沿ってナビゲートすることを望むロボット１０２とを含む環境のコンピュータ可読地図６００のレンダリングを示す。地図６００は、開始地点６０２から終了地点６０４までのルート６０６又はその他のルートを生じさせるためにロボット１０２によって組み合わされる、破線によって示される複数のルートセグメント６１０をさらに含む可能性がある。示されるように、開始地点６０２から終了地点６０４までの複数の可能なルートは、ルートセグメント６１０を組み合わせることによって決定される可能性があり、ルート６０６は、単に、ロボット１０２が選択を行う複数の可能なルートのうちの１つである。
【００７８】
図６Ｂは、例示的な実施形態による、複数のルート変更ゾーン６１２を課した後の残りのルートセグメント６１０に基づいて開始地点６０２から終了地点６０４までのルート変更された経路６１４を決定するロボット１０２を示す。つまり、地図６００上に複数のルート変更ゾーン６１２を実装することによって、地図６００上の複数のルートセグメント６１０が、ロボットがルート変更ゾーン６１２内に入る又はあるそれらのセグメント６１０をナビゲートすることが望ましくない可能性があるので削除される可能性がある。例えば、地図６００は、障害物６０８の間の複数の通路を含むスーパーマーケット又は倉庫の地図である可能性がある。ロボット１０２は、通路内のショッピングカート、通路内の人などの障害物、及び／又はルート変更ゾーン６１２を避けるその他の理由に基づいて複数のルート変更ゾーン６１２を決定する可能性がある。残りのルートセグメント６１０は、ロボット１０２がたどるための開始地点６０２から終了地点６０４までのルート変更された経路６１４を決定するために組み合わされる可能性がある。ロボット１０２は、終了地点６０４に到達するための異なるルートセグメント６１０の組合せを含む複数の可能な経路を決定する可能性があるが、これらのルートの多くは、開始地点６０２から終了地点６０４までの最短経路でない可能性がある。したがって、ロボット１０２は、ルート６１４が開始地点６０２から終了地点６０４までの最短距離を含む最適なルートであるとリアルタイムで決定する可能性がある。開始地点６０２から終了地点６０４までの複数のその他のルートが、ルート６１４と同じ長さを含む可能性があり、ロボット１０２は、ルートに沿ってタスクを成し遂げること（例えば、ルート６１４に沿って特定の通路を掃除すること）、ルートに沿って及び終了地点６０４において正しい方向に沿った向きを向くこと、ルート変更ゾーン６１２によって示されない障害物を避けること、及び／又は複数のその他のパラメータなどのその他のパラメータに基づいてルート６１４を使用すると判断する可能性がある。
【００７９】
少なくとも１つの非限定的な例示的実施形態によれば、ルートセグメント６１０は、地図６００の環境内でタスクを成し遂げるためにロボット１０２又はその他のロボット（図示せず）によって使用される（全体を図示されない）その他のルートのセグメントを含む可能性があり、ロボット１０２は、１又は２以上のルート変更ゾーン６１２を受信すると、ルート変更された経路６１４を決定するためにこれらのルートセグメント６１０を組み合わせる可能性がある。複数のルートセグメント６１０を含むその他のルートは、上で図５Ａ〜Ｃに同様に示されたように互いに重なり合うか又は互いに非常に近接している可能性があり、開始地点６０２から終了地点６０４までのルート６０６若しくは６１４又はその他のルートを生じさせるために組み合わされる可能性がある。
【００８０】
少なくとも１つの非限定的な例示的実施形態によれば、ロボット１０２は、例えば、上で図４Ｂに示されたようにセグメント６１０を組み合わせると断絶又は急な曲がり角が判定される状況などで、ルート６１４を決定するためにさまざまなセグメント６１０を組み合わせるとルート６１４に最適化を行うことを要求される可能性がある。つまり、ロボット１０２が移動するための最適なルート６１４を決定するために、断絶（ｇａｐ）４１４、急な曲がり角４１２、ロボット１０２の長さ、ロボット１０２の回転角などの要因が、考慮に入れられる。
【００８１】
少なくとも１つの非限定的な例示的実施形態によれば、ロボット１０２は、ナビゲーション中に新しいルート変更ゾーン６１２を受信するか又は決定すると、ルート変更された経路６１４のナビゲーション中にルート変更された経路６１４に変更を行う可能性がある。当業者は、新しいルート変更ゾーン６１２が本明細書において開示されるユーザ入力又はその他のメカニズムによってリアルタイムで地図６００上で特定される可能性があることを理解するであろう。また、したがって、新しく特定されたルート変更された経路６１４を避けるためにロボット１０２の移動される経路のルート変更をすることも、リアルタイムで達成され、成し遂げられる可能性がある。
【００８２】
図６Ｃは、例示的な実施形態による、図６Ｂに既に示された複数のルート変更ゾーン６１２、障害物６０８、及びルートセグメント６１０と、いくつかのルートセグメント６１０に沿って三重矢印によって示される複数の方向の要件６１６とを含む環境のコンピュータ可読地図６００を示す。方向の要件６１６は、例えば、ロボット１０２を安全にナビゲートさせる（例えば、店内の歩行者の通行の方向に沿ってナビゲートする）ために、又はロボットが特定の方向にナビゲートすることを要求するタスクを成し遂げるために実施される可能性がある。方向の要件は、地図６００に課せられる可能性があり、ロボット１０２を方向の要件６１６の方向に沿ってナビゲートさせるために、ロボット１０２のユーザインターフェースユニット１１２によって又はロボット１０２に接続されたネットワーク２０２を介してロボット１０２に伝達される可能性がある。したがって、方向の要件６１６を課すと、ルート６１４又はルート６１４の一部は、（太線によって示されるように）ルート６１８に沿ってルート変更されることを求められる可能性がある。ルート６１８は、ルート変更ゾーン６１２と方向の要件６１６との両方に基づいて決定される可能性があり、ルート変更ゾーン６１２及び方向の要件６１６によって示された制限に従いながら開始地点６０２から終了地点６０４までの最短距離を含む可能性がある。
【００８３】
少なくとも１つの非限定的な例示的実施形態によれば、開始地点６０２から終了地点６０４までナビゲートすることを望むロボット１０２は、課せられたルート変更ゾーン６１２及び方向の要件６１６によって示された制限が原因で可能なルートを決定しない可能性がある。したがって、ロボット１０２は、これをネットワーク２０２又は人間のオペレータに伝達し、ネットワーク２０２又は人間のオペレータに１若しくは２以上のルート変更ゾーン６１２が不必要であると決定させるか、１若しくは２以上の方向の要件６１６が不必要であると決定させるか、又は課せられた１若しくは２以上のルート変更ゾーン６１２若しくは方向の要件６１６が取り除かれ、可能な経路が決定される可能性があるまでロボット１０２が停止するべきであると決定させる可能性がある。
【００８４】
図７Ａは、例示的な実施形態による、ルート変更ゾーン４０８を検出する方法を示すために、コンピュータ可読地図７００によって示された環境中の開始地点６０２と終了地点６０４との間をナビゲートするロボット１０２を示す。ロボット１０２のコントローラ１１８は、例えば、ネットワーク２０２から環境の地図７００を受信するか、環境中の以前のナビゲーション中に収集されたセンサユニット１１４のデータを使用する可能性がある。経路７０８は、開始地点６０２と終了地点６０４との間の、ロボット１０２がたどるための最も距離の短い経路からなる可能性があり、コントローラ１１８は、経路７０８に沿ったロボット１０２のナビゲーションを実現するために１又は２以上のアクチュエータユニット１０８を作動させる可能性がある。しかし、経路７０８の一部をナビゲートすると、ロボット１０２のセンサユニット１１４は、経路７０８のナビゲーションを妨げる複数の物体７０４、７０６を検出する可能性がある。例えば、環境７００は、スーパーマーケットからなる可能性があり、物体７０４、７０６は、ショッピングカート及び棚７０２の品物を見る人（つまり、静的な物体及び／又は動的な物体）を表す可能性がある。示されたように、ルート７０８に沿った継続されたナビゲーションは、ロボット１０２と物体７０４、７０６との間の衝突を引き起こす可能性がある。
【００８５】
少なくとも１つの非限定的な例示的実施形態によれば、コントローラ１１８は、ロボット１０２のフットプリント又は示されたようにロボット１０２によって占有されるエリアをコンピュータ可読地図７００に重ね合わせることによって領域７１２を通るルート７０８に沿った継続されたナビゲーションが衝突を引き起こす可能性があることを確かめ、ルート７０８に沿ったナビゲーションをシミュレーションする（つまり、ロボット１０２の物理的な場所よりもルート７０８に沿ってさらに遠いフットプリントを描く）可能性がある。ルート７０８又は同じ領域７１２（つまり、物体７０４、７０６によって占有される領域）を通る同様のルートのシミュレーションされたナビゲーション中にフットプリントと物体７０４及び／又は７０６との間の重なりが地図上で検出される場合、潜在的な衝突が検出される可能性がある。衝突を避ける領域７１２を通る潜在的な経路が存在しない場合、領域７１２は、ルート変更ゾーン４０８であると判定される可能性がある。
【００８６】
少なくとも１つの非限定的な例示的実施形態によれば、地図７００は、コストマップを表す可能性がある。領域７１２は、上で検討されたように、領域７１２を通るすべての経路が閾値を超える関連するコストを含む場合、ルート変更ゾーン４０８を含むと判定される可能性がある。
【００８７】
次に、図７Ｂにおいて、ルート変更ゾーン４０４（格子模様の領域）が、リアルタイムでコンピュータ可読地図７００上に課せられる可能性がある。図７Ａを参照すると、ルート７０８の一部が、ルート変更ゾーン４０８内に包含される。したがって、ロボット１０２のコントローラ１１８が、ロボット１０２がたどるための新しいルート７１４を決定するために方法３００（つまり、ブロック３０６〜３０８）を実行する可能性がある。新しいルート７１４は、示されたように元のルート７０８の大部分を含む可能性があるが、これは、限定的であるように意図されていない。検出されたルート変更ゾーン４０８を通るナビゲーションを避けるための第１のルート７０８の一部に対する修正を含む新しいルート７１４は、例えば、物体７０２、７０４、７０６などの場所、開始地点６０２及び終了地点６０４の場所、並びに／又はロボット１０２が終了地点６０４にナビゲートするときにロボット１０２が実施するタスク（例えば、床掃除）に基づいて元のルート７０８のいくつかの部分を含むか又は元のルート７０８のいずれの部分も含まない可能性がある。さらに、新しいルート７１４は、ルート変更ゾーン４０８を避ける開始地点６０２と終了地点６０４との間の最短ルートからなる可能性がある。
【００８８】
少なくとも１つの非限定的な例示的実施形態によれば、新しいルート７１４は、上述のように、地図７００がコストマップである場合、開始地点６０２と終了地点６０４との間の最もコストの低いルートからなる可能性がある。
【００８９】
少なくとも１つの非限定的な例示的実施形態によれば、環境内の（例えば、同じ又は異なる種類、機能などの）その他のロボット１０２がそれらのロボットのそれぞれのルートの計画中にルート変更ゾーン４０８を考慮する可能性があるように、ロボット１０２によって検出されたルート変更ゾーン４０８が、ネットワーク２０２に伝達される可能性がある。
【００９０】
本開示の特定の態様が方法のステップの特定のシーケンスの観点で説明されているが、これらの説明が本開示のより幅広い方法を示すに過ぎず、特定の応用によって必要とされるように修正される可能性があることは、認識されるであろう。特定のステップは、特定の状況下では不必要又は任意とされる可能性がある。加えて、特定のステップ又は機能が、開示された実装形態に追加される可能性があり、又は２若しくは３以上のステップの実施の順序が、変更される可能性がある。すべてのそのような変更は、本明細書において開示され、請求された開示に包含されるものとみなされる。
【００９１】
上の詳細な説明がさまざまな実装形態に適用される本開示の新規性のある特徴を示し、説明し、指摘したが、示されたデバイス又はプロセスの形態及び詳細のさまざまな省略、置き換え、及び変更が本開示を逸脱することなく当業者によって成される可能性があることは、理解されるであろう。上述の説明は、本開示を実行する現在考えられる最良の形態のものである。この説明は、限定的であるようにまったく意図されておらず、むしろ、本開示の全体的な原理を示すと解釈されるべきである。本開示の範囲は、請求項を参照して決定されるべきである。
【００９２】
本開示が図面及び上述の説明に詳細に図示され、説明されたが、そのような図示及び説明は、説明的又は例示的であると考えられるべきであり、限定的であると考えられるべきでない。本開示は、開示された実施形態に限定されない。開示された実施形態及び／又は実装形態に対する変更は、図面、本開示、及び添付の請求項を検討することによって、請求された開示を実施する際に当業者によって理解され、生み出される可能性がある。
【００９３】
本開示の特定の特徴又は態様を説明するときの特定の用語の使用は、用語が関連付けられる本開示の特徴又は態様の任意の特定の特性を含むように限定されるように用語が本明細書において再定義されていることを示唆すると受け取られるべきでないことに留意されたい。本出願において使用される用語及び語句並びに特に添付の請求項におけるそれらの変化形は、そうでないことがはっきりと述べられない限り、限定とは反対に制限がない（open ended）とみなされるべきである。上記のことの例として、用語「〜を含む（including）」は、「限定なしに〜を含む（including, without limitation）」、「〜を含むが〜に限定されない（including but not limited to）」などを意味すると読み取られるべきであり、本明細書において使用される用語「含む（comprising）」は、「含む（including）」、「含む（containing）」、又は「〜ことを特徴とする」と同義であり、包含的である又は制限がなく、追加的な記載されていない要素又は方法のステップを除外せず、用語「〜を有する（having）」は、「少なくとも〜を有する（having at least）」と解釈されるべきであり、用語「〜などの」は、「限定なしに〜などの」と解釈されるべきであり、用語「〜を含む（includes）」は、「〜を含むが〜に限定されない（includes but is not limited to）」と解釈されるべきであり、用語「例」は、検討されているものの例示的な事例を提供するために使用され、それらの網羅的又は限定的なリストを提供するために使用されず、「例、ただし限定なし（example, but without limitation）」と解釈されるべきであり、「知られている」、「通常の（normal）」、「標準的な（standard）」、及び同様の意味の用語などの形容詞は、説明されたものを所与の時間の期間に又は所与の時間に利用可能なものに限定するとみなされるべきでなく、それよりも、現在又は将来の任意の時点で利用可能であるか又は知られている可能性がある、通常の、又は標準的なテクノロジーを包含すると読み取られるべきであり、「好ましくは（preferably）」、「好ましい（preferred）」、「所望の（desired）」、又は「望ましい（desirable）」のような用語及び同様の意味の語の使用は、特定の特徴が本開示の構造又は機能にとって決定的である、必須である、又は重要でさえあることを示唆すると理解されるべきでなく、それよりも、特定の実施形態において利用される可能性があり又は利用されない可能性がある代替的な又は追加的な特徴を強調するように意図されているだけであると理解されるべきである。同様に、接続詞「及び（and）」によって連結された一群のものは、それらのもののそれぞれの及びあらゆるものがグループ内に存在することを必要とすると読み取られるべきでなく、むしろ、そうでないことがはっきりと述べられない限り「及び／又は（and／or）」と読み取られるべきである。同様に、接続詞「又は（or）」によって連結された一群のものは、そのグループ内で相互排他的であることを必要とすると読み取られるべきでなく、むしろ、そうでないことがはっきりと述べられない限り「及び／又は（and／or）」と読み取られるべきである。用語「約（about）」又は「およその（approximate）」などは、同義であり、用語によって修飾された値がそれに関連する暗黙的な範囲を有することを示すために使用���れ、範囲は、±２０％、±１５％、±１０％、±５％、又は±１％である可能性がある。用語「実質的に（substantially）」は、結果（例えば、測定値）が目標値に近いことを示すために使用され、近いとは、例えば、結果が値の８０％以内、値の９０％以内、値の９５％以内、又は値の９９％以内であることを意味する可能性がある。また、本明細書において使用されるとき、「画定された（defined）」又は「決定された（determined）」は、「予め画定された（predefined）」又は「予め決められた（predetermined）」及び／又は別の方法で決定された値、条件、閾値、測定値などを含む可能性がある。
【図１Ａ】
2022501724.tif 000003
【図１Ｂ】
2022501724.tif 000004
【図２】
2022501724.tif 000005
【図３】
2022501724.tif 000006
【図４Ａ】
2022501724.tif 000007
【図４Ｂ】
2022501724.tif 000008
【図４Ｃ】
2022501724.tif 000009
【図５Ａ】
2022501724.tif 000010
【図５Ｂ】
2022501724.tif 000011
【図５Ｃ】
2022501724.tif 000012
【図６Ａ】
2022501724.tif 000013
【図６Ｂ】
2022501724.tif 000014
【図６Ｃ】
2022501724.tif 000015
【図７Ａ】
2022501724.tif 000016
【図７Ｂ】
2022501724.tif 000017
【国際調査報告】
2022501724.tif 000018