(57)【要約】  共通リソースへのアクセス待機中の複数のロボットによるエリア内での輻輳を回避するための方法およびシステムを開示する。複数のロボットのうちの一つのロボットの現在のロボット動作とセンサデータとを、このロボットのプロセッサで実行中の計画実行エンジンから、クラウドノードにおいて受信する。受信した現在のロボット動作とセンサデータとに基づいて、複数のロボットのうちのこの一つのロボットが共通リソースにアクセスする必要があるかどうかを決定する。次に、空間クエリを実行して、エリア内のある場所にロボットを配置した場合に輻輳のない動きを要求する静的空間条件に基づいて、共通リソースへのアクセスを待機している複数のロボットのうちの一つのロボットを配置するためのエリア内の場所を決定する。次に、計画実行エンジンによって、共通リソースにアクセスするための優先順位を決定する。最後に、決定した優先順位に基づいて、複数のロボットのうちの一つのロボットが共通リソースにアクセスする。【選択図】図１
2021536060.tif 000002
【特許請求の範囲】
【請求項１】
共通リソースへのアクセス待機中の複数のロボットによるエリア内での輻輳を回避するためのコンピュータ実装方法であって、
前記複数のロボットのうちの一つのロボットのプロセッサで実行中の計画実行エンジンから、前記一つのロボットの現在のロボット動作とセンサデータとを、クラウドノードにおいて受信する工程と、
前記受信した現在のロボット動作とセンサデータとに基づいて、前記複数のロボットのうちの前記一つのロボットが前記共通リソースにアクセスする必要があるかどうかを決定する工程と、
前記クラウドノードにおいて空間クエリを実行する工程であって、前記エリア内の場所に前記複数のロボットのうちの前記一つのロボットを配置した場合の輻輳のない動きを要求する静的空間条件に基づいて、前記共通リソースへのアクセスを待機している前記複数のロボットのうちの前記一つのロボットを配置するための前記エリア内の前記場所を決定する工程と、
前記複数のデバイスのうちの前記一つのデバイスのプロセッサで実行される前記計画実行エンジンによって、前記共通リソースにアクセスするための優先順位を決定する工程と、
前記決定した優先順位に基づいて、前記複数のロボットのうちの前記一つのロボットが前記共通リソースにアクセスする工程と、を備える方法。
【請求項２】
前記空間クエリを実行する工程がさらに、
前記クラウドノードにおいて前記空間クエリを実行して、前記共通リソース周辺に定義される停止エリアに関する情報を含む静的空間データに基づいて前記複数のロボットのうちの前記一つのロボットを配置するための前記場所を決定する工程を含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記受信したセンサデータが動的空間条件に関するデータであるかどうかを決定する工程と、
前記決定を基に前記クラウドノードにおいて前記空間クエリを実行して、前記静的空間条件と動的空間条件とに基づいて前記共通リソースへのアクセスを待機中の前記複数のロボットのうちの前記一つのロボットを配置する前記エリア内の前記場所を決定する工程と、をさらに備える請求項１に記載のコンピュータ実装方法。
【請求項４】
前記クラウドノードにおいて前記空間クエリを実行して、前記動的空間データと前記静的空間条件と動的空間条件とに基づいて、前記共通リソースへのアクセスを待機中の前記複数のロボットのうちの前記一つのロボットを配置する前記エリア内の前記場所を決定する工程をさらに備える請求項３に記載のコンピュータ実装方法。
【請求項５】
前記複数のロボットにおいて実行する複数の計画実施エンジンが、前記共通リソースへのアクセスのための優先順位を個別に決定する工程と、
前記複数の計画実行エンジンが、前記決定した優先順位を互いに共有して前記決定した優先順位を検証する工程と、
前記決定した優先順位に基づいて、前記複数のロボットが前記共通リソースにアクセスする工程と、をさらに備える請求項１に記載のコンピュータ実装方法。
【請求項６】
前記エリアに関する前記静的空間データをウェブインタフェースにおいて受信する工程をさらに備える、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記静的空間クエリ条件と動的空間クエリ条件とを含む空間クエリをウェブインタフェースにおいて受信する工程をさらに備える、請求項１に記載のコンピュータ実装方法。
【請求項８】
エリア内の共通リソースへのアクセスを協調的に管理する複数のロボットであって、前記共通リソースへのアクセスを待機中の前記複数のロボットによる輻輳を回避し、
前記複数のロボットのうちの一つのロボットは、
計画実行エンジンを格納するメモリと、
前記メモリと通信し、前記計画実行エンジンを実行するプロセッサと、を備え、
前記プロセッサは、
前記複数のロボットのうちの一つのロボットのセンサデータを前記計画実行エンジンにて受信し、
現在のロボット動作と前記センサデータとに基づいて、前記複数のロボットのうちの前記一つのロボットが前記共通リソースにアクセスする必要があるかどうかを決定し、
前記計画実行エンジンにおいて空間クエリを実行して、前記エリア内の場所に前記複数のロボットのうちの前記一つのロボットを配置した場合に輻輳のない動きを要求する静的空間条件に基づいて、前記共通リソースへのアクセスを待機している前記複数のロボットのうちの前記一つのロボットを配置するための前記エリア内の前記場所を決定し、
前記計画実行エンジンによって、前記共通リソースにアクセスするための優先順位を決定し、
前記決定した優先順位に基づいて、前記複数のロボットのうちの前記一つのロボットが前記共通リソースにアクセスするプロセッサと、を備えるロボット。
【請求項９】
前記複数のロボットのうちの一つのロボットが前記計画実行エンジンを実行することで、さらに、
前記空間クエリを実行して、前記共通リソース周辺に定義される停止エリアに関する情報を含む静的空間データに基づいて前記複数のロボットのうちの前記一つのロボットを配置するための前記場所を決定する、請求項８に記載の前記複数のロボットのうちの一つのロボット。
【請求項１０】
前記複数のロボットのうちの一つのロボットが前記計画実行エンジンを実行することで、さらに、
前記受信したセンサデータが動的空間条件に関連しているかどうかを決定し、
前記決定を基に、前記空間クエリを実行して、前記静的空間条件と動的空間条件とに基づいて前記共通リソースへのアクセスを待機中の前記複数のロボットのうちの前記一つのロボットを配置する前記エリア内の前記場所を決定する、請求項８に記載の前記複数のロボットのうちの一つのロボット。
【請求項１１】
前記複数のロボットのうちの一つのロボットが前記計画実行エンジンを実行することで、さらに、
前記空間クエリを実行して、前記動的空間データと前記静的空間条件と動的空間条件とに基づいて、前記共通リソースへのアクセスを待機中の前記複数のロボットのうちの前記一つのロボットを配置する前記エリア内の前記場所を決定する、請求項８に記載の前記複数のロボットのうちの一つのロボット。
【請求項１２】
前記複数のロボットのうちの一つのロボットが前記計画実行エンジンを実行することで、さらに、
前記共通リソースにアクセスするための優先順位を個別に決定し、
前記計画実行エンジンは、前記決定した優先順位と、前記複数のロボットのうちの別のロボットのプロセッサで実行中の計画実行エンジンによって決定された優先順位とを共有し、
前記決定した優先順位に基づいて、前記複数のロボットのうちの前記一つのロボットと前記複数のロボットのうちの前記別のロボットが前記共通リソースにアクセスする、請求項１１に記載の前記複数のロボットのうちの一つのロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載の各実施形態はロボット管理に関し、詳細には、複数ロボットのための輻輳回避および共通リソースアクセス管理に関する。
【背景技術】
【０００２】
産業界でのロボットの使用が指数関数的に増加している。ロボットは現在、個人使用と商業スペース用との両方で使用されている。ロボットの潜在能力を引き出すために、倉庫フロアなど特定エリア内で多数のロボットが採用される。
【０００３】
複数ロボットを使用すると、特定エリアで行われる作業の重要業績評価指標（ＫＰＩ）が増加する。例えば、倉庫内で複数ロボットを使用すると、受注処理率が向上し、倉庫での待ち時間が短縮される。場合によっては、複数ロボットが、例えば、倉庫内の充電ポイントや、倉庫内で複数の受注によって必要とされる需要の高いオブジェクトを有する特定のラックなど、エリア内の共通リソースを同時に使用する必要がある。このような共通リソースへのアクセス待ちの複数ロボットがエリア内の通路などの空きスペースを塞いでしまう可能性があり、望ましくない。
【図面の簡単な説明】
【０００４】
図面を参照した以下の詳細な記述により、本明細書に開示する各実施形態がよりよく理解されるであろう。
【０００５】
【図１】一実施形態による、共通リソースへのアクセス待ちで、共通リソースにアクセスするための優先順位を決定する複数のロボットによるエリア内の輻輳を回避するための例示的なシステムを示す図。
【０００６】
【図２】一実施形態による、共通リソースへのアクセス待ちで、共通リソースにアクセスするための優先順位を決定する複数のロボットによるエリア内の輻輳を回避するための別の例示的なシステムを示すブロック図。
【０００７】
【図３】一実施形態による、共通リソースへのアクセス待ちの複数ロボットによるエリア内の輻輳を回避するための処理を示すフロー図。
【０００８】
【図４】共通リソースへのアクセス待ちの複数のロボットによる、共通リソースへの優先順位に基づいたアクセスを決定する処理を示すフロー図。
【発明を実施するための形態】
【０００９】
本明細書の実施形態およびその様々な特徴および利点の詳細について、添付の図面に示し以下の説明に詳述される非限定的な実施形態を参照することによってさらに詳しく説明する。本明細書の実施形態を不必要に不明瞭としないために、周知の構成要素および処理技術の説明は省略する。本明細書で使用する各実施例は、これらの実施形態を実用化する方法の理解を容易にすると共に当業者が実施形態を実用化できるようにすることを単に意図したものである。したがって、本明細書の実施形態の範囲を限定するものとして実施例を解釈すべきではない。
【００１０】
以下の各実施形態は、複数ロボットの輻輳回避および共通リソースへのアクセス管理のための方法およびシステムを開示する。一以上のロボットが同じ環境内の他のロボットの自由な動きを遮ると輻輳が発生する。輻輳の原因の一つは、充電ポイントや倉庫内の特定ラックなどの共通リソースへのアクセス待ちの複数ロボットが、待機中ではない他のロボットの進路を塞いでしまうことである。
【００１１】
輻輳を回避するために、システムによって、共通リソースへのアクセス待ちをしている各ロボットが他のロボットの動きを遮るエリアを占有しないようにする必要がある。一実施形態において、システムは、空間クエリを使用して待機中のロボットの位置を判断する。空間クエリとは、空間データと空間条件とを使用して、各ロボットがエリア内で輻輳を起こさずに移動できるようエリア内のある場所にこれらのロボットを配置するためのものである。空間データには、共通リソースの周囲に定義された停止エリアが含まれ、各ロボットはそこで共通リソースへのアクセス待ちをすることができる。
【００１２】
空間クエリは、停止エリアでの各ロボットの位置を判断するために実行される。一実施形態では、空間クエリは、静的空間データと動的空間データとを入力として使用して、実行結果を決定する。静的空間データは、所定の空間データまたはユーザから受信した空間データであって、例えば、共通リソース周辺の予め定義された停止エリアであって、共通リソースへのアクセス待ちの様々なロボットと共通リソースを使用中のロボットとが配置される停止エリアのデータである。動的空間データは、所定のデータではなく、故障したロボットの位置等、ロボットによる作業の実行中に取得される空間データである。一実施形態では、停止エリア内のロボットの決定された位置は、空間クエリを実行した後に得られるクエリ結果である。
【００１３】
空間クエリは、一以上のクエリ条件に基づいて、静的および動的空間データを使用してクエリ結果を決定する。クエリ条件は、クエリ結果が満たすべき条件である。例えば、空間クエリのクエリ条件は、「停止エリア内にいるロボットが倉庫の輻輳を発生させないように各ロボットを配置するエリア内の場所を決定する」または「エリア内で輻輳を起こさずに移動するよう各ロボットを配置するためのエリア内の場所を決定する」ことである。このようなクエリ条件に基づいて、空間クエリが、倉庫の通路、入口、出口などのルートとなり得る場所内での位置と重ならない（つまり、静的空間条件の）停止エリアでの各ロボットの位置（静的空間データ）を決定する。例えば、通路が座標（２，３）と（５，３）の間に配置される場合、ロボットの位置は、これら二つの座標の間にない点に決定される。
【００１４】
一実施形態では、停止エリアにロボットを配置するためのエリア内の位置を決定した後、各ロボットは互いに協調して、共通リソースにアクセスする優先順位を決定する。各ロボットが共通リソースを使用する際の優先順位の決定は、ロボットにおいて実行する計画実行エンジンを用いて協調的に行うことができる。計画実行エンジンは、計画実行を制御するために必要な様々な作業を行うためのロジックを含むソフトウェアモジュールである。例えば、計画実行エンジンは、ロボットが共通リソースにアクセスする際の優先順位を決定するロジックを記憶している。このロジックは、各ロボットによって実行中のタスクの優先度、ロボットのバッテリーレベルなどをチェックし、順位を決定する。決定された優先順位に基づいて、各ロボットは共通リソースにアクセスする。
【００１５】
図１は、一実施形態による例示的なシステム１００を示す図である。このシステムは、共通リソースへのアクセス待機中であって共通リソースにアクセスするための優先順位を決定する複数のロボットによるエリア内での輻輳を回避するためのシステムである。システム１００は、一以上のクラウドノード１０２と、計画実行エンジン１０８および１１０をそれぞれ実行するロボット１０４および１０６とを含む。一実施形態では、ロボット１０４および１０６は、充電場所、倉庫内の特定ラックなどの共通リソースへのアクセスを待機中である。
【００１６】
一実施形態において、クラウドノード１０２は、一以上の共通リソースを含む特定エリアに関する静的空間データを受信する。例えば、クラウドノードは、倉庫内の通路や倉庫内の様々なラックの位置などを含む倉庫の静的マップを受信する。一実施形態において、クラウドノード１０２と通信状態にあるウェブインタフェース１１２が静的マップなどの静的空間データを表示しており、これによってユーザは、特定の場所内の一以上の共通リソースを識別できる。このウェブインタフェース１１２によってユーザは、共通リソース周辺の停止エリアを定義することもできる。停止エリアは、正方形、三角形、多角形、円形などの任意の形状に定義することができる。一実施形態では、特定の最大数のロボットを収容できるよう停止エリアを自動決定してもよい。一実施形態において、静的マップデータ、各共通リソース、および停止エリアを含む静的空間データは、クラウドノード１０２のメモリ１１４に格納される。
【００１７】
一実施形態において、ウェブインタフェース１１２によってユーザは、停止エリア内の各ロボットの位置を決定するために実行される空間クエリを定義することもできる。一実施形態では、空間クエリは、空間データベースシステムからの空間クエリ結果を決定するための基礎を形成する空間クエリ条件の集合である。空間クエリに含まれる空間クエリ条件は、静的空間クエリ条件であっても動的空間クエリ条件であってもよい。例えば、静的空間クエリ条件は、ロボットによってその場所内での通路の輻輳が生じないように、各ロボットを停止エリア内に配置することである。例えば、動的空間クエリ条件は、ある場所で故障したロボットが確認された場合に故障したロボットの周囲のエリアを各ロボットが使用して共通リソース待ちをすること、または、停止スペースに障害物が確認された場合に、倉庫内の輻輳を生じないようにロボットを配置するための倉庫内の別の場所を確認することである。このような動的条件により、障害物や条件がリアルタイムで確認された場合に、倉庫内の輻輳のないエリアを確保することができる。
【００１８】
一実施形態において、クラウドノード１０２は、空間クエリを実行してクエリ結果を決定する空間クエリプロセッサ１１６を含む。一実施形態において、空間クエリ結果は、リソースへのアクセスを希望する様々なロボットを配置するためのエリア内の場所の集合である。空間クエリプロセッサ１１６は、通路の位置や停止スペースの位置などの静的空間データと、ロボットによる通路の輻輳が生じてはならないなどの静的条件である静的空間クエリ条件と、空間クエリを実行しクエリ結果を決定するための動的空間クエリ条件があればその動的空間クエリ条件とを使用する。クエリ結果は、ロボットが共通リソースへのアクセス待ちであるときにロボットを配置すべきエリア内の場所であってよい。
【００１９】
一実施形態において、ロボット１０４および１０６はそれぞれ、プロセッサ１１８、１２０とメモリ１２２、１２４とを含む。プロセッサ１１８および１２０はそれぞれ、計画実行エンジン１０８および１１０を実行する。一実施形態において、計画実行エンジン１０８、１１０は、ロボット１０４とロボット１０６との間の通信を確立するための通信ミドルウェアや、ロボット１０４、１０６のセンサ１２６、１２８およびアクチュエータ１３０、１３２とデータを送受信するためのセンサおよびアクチュエータドライバなどの他の構成要素を備えるドメイン固有のフレームワーク内に統合される。
【００２０】
一実施形態において、ロボット１０４、１０６は、クラウドノード１０２と無線で通信し、動的空間データとしてのセンサデータをクラウドノード１０２の空間クエリプロセッサ１１６に転送する。ロボット１０４および１０６はまた、停止エリア内でこれらのロボットを配置すべき位置を含むクエリ結果を受信する。計画実行エンジン１０８および１１０をそれぞれ実行するロボット１０４とロボット１０６とは、無線通信を介して互いに通信する。一実施形態において、計画実行エンジン１０８、１１０は、ロボット１０６とロボット１０８とが実行中の各タスクの優先度に基づいて、共通リソースにアクセスするための優先順位を個別に決定する。次に、計画実行エンジン１０８、１１０は、決定した優先順位を互いに交換し、決定優先順位に衝突（コンフリクト）がないかどうかを判断する。
【００２１】
優先順位は、バッテリー残量やロボットの健全度合いなどの他の要因に基づいて決定してもよい。決定した優先度に基づいて、計画実行エンジン１０８、１１０は、リソースにアクセスし共通リソースに関連する一以上の動作を行う指示をロボット１０４、１０６のアクチュエータ１３０、１３２に送信する。例えば、計画実行エンジン１０８は、停止スペース内の位置から充電ステーションに移動し、ロボット１３０の充電を開始するようにアクチュエータ１３０に指示を送る。一実施形態において、あるロボットが共通リソースに関連する一以上の作業を完了した後、残りの各ロボットについての優先順位を再び決定する。
【００２２】
このように、本発明は、ロボットナビゲーションの分野における技術問題を解決する。本発明によれば、空間クエリを使用して、ロボットを輻輳なく配置可能なエリア内の場所を容易に特定するためのメカニズムが提供される。
【００２３】
図２は、一実施形態による別の例示的なシステム２００を示すブロック図である。このシステムは、共通リソースへのアクセス待機中であって共通リソースにアクセスするための優先順位を決定する複数のロボットによるエリア内での輻輳を回避するためのシステムである。一実施形態では、ロボット２０２、２０４はそれぞれ、計画実行エンジン２０６、２０８を含み、ロボット２０２および２０４を配置するためのエリア内の位置を協調して決定し、さらに共通リソースにアクセスするための優先順位をこれらのエンジンによって決定することができる。この場合、計画実行エンジン２０６、２０８で実行されるアプリケーションコードに、異なる静的空間データおよび空間クエリを含めることができる。計画実行エンジン２０６、２０８はそれぞれ、計画実行エンジン２０６および２０８に含まれる制約ソルバによって空間クエリを実行する。一実施形態において、ロボット２０２、２０４はそれぞれ、プロセッサ２１０、２１２とメモリ２１４、２１６とを含む。プロセッサ２１０および２１２はそれぞれ、計画実行エンジン２０６および２０８を実行する。制約ソルバは、ロボット２０２および２０４がそれぞれ実行している現在の動作と、センサ２１８、２２０からそれぞれ受信したセンサデータとを使用してクエリを実行し、ロボットを配置するためのエリア内の位置を決定する。例えば、現在のロボット動作は、複数のロボットに共通のリソースであるラックにアクセスすることであってもよい。一実施形態では、複数のロボットからのアクセス待ちであるエリア内の任意のリソースが、実行時に共通リソースとして特定可能である。計画実行エンジン２０６、２０８はさらに、共通リソースにアクセスするための優先順位を協調して決定する。決定した優先順位に基づいて、各計画実行エンジン２０６、２０８は、共通リソースにアクセスする指令をアクチュエータ２２２、２２４に送信する。待機場所および処理優先度の決定は、各ロボット２０２、２０４の計画実行エンジン２０６、２０８によって局所的に行われているのでより迅速な決定につながる。これは、空間データがエリア内で動的に変化する場合に特に有用である。
【００２４】
図３は、一実施形態による、共通リソースへのアクセス待機中の複数のロボットによるエリア内での輻輳を回避するための処理を示すフロー図３００である。一実施形態において、最初に、ウェブインタフェースにおいてエリアに関する静的空間データを受信する（３０２）。上述のように、静的空間データは、倉庫フロア、共通リソース、共通リソース周辺の停止エリアなどの場所の静的マップを含む。次に、ウェブインタフェースにおいて、静的空間クエリ条件および動的空間クエリ条件を含む空間クエリを受信する（３０４）。空間クエリは、静的空間データおよび動的空間データを使用して、静的空間クエリ条件と動的空間クエリ条件とを満たす空間ポイントであって、停止エリア内の各ロボットを配置するための空間ポイントを決定する。
【００２５】
次に、クラウドノードにおいて、その場所にいる複数のロボットのプロセッサで実行中の計画実行エンジンからセンサデータと現在のロボット動作とを受信する（３０６）。現在のロボット動作には、ロボットが実行したい現在の動作に関連する詳細が含まれる。詳細とは、例えば、ロボットがアクセスする必要のある特定のラックなどのロボットがその場所においてアクセスする必要のあるリソースや、特定のしきい値よりも低いバッテリーレベルなどのロボットの状態が含まれる。複数のロボットからのセンサデータもクラウドノードで受信することができる。このセンサデータは、センサがロボットの故障をとらえたかどうかを示したり、故障したロボットの座標を示したりする場合がある。
【００２６】
次に、受信したセンサデータと現在のロボット動作とに基づいて、クラウドノードの空間クエリプロセッサは、一以上のロボットが共通リソースにアクセスする必要があるかどうかのチェックを行う（３０８）。３０８の条件を満たす場合、受信したセンサデータが動的空間条件に関するものかどうかを判断するためにチェックが行われる（３１０）。例えば、動的空間条件は、共通リソースへのアクセスを待機中であるロボットが故障したロボットの周りで待機している可能性があるということである。
【００２７】
この場合、近くで故障したロボットを感知したロボットのセンサデータは、この動的空間条件と一致することになる。次に、３１０の条件を満たす場合、空間クエリを実行して、受信した静的空間データおよび動的空間データと静的空間クエリ条件および動的空間クエリ条件とに基づいて、共通リソースへのアクセスを待機中の各ロボットの位置を決定する（３１２）。
【００２８】
一実施形態において、クエリ結果は、ロボットが停止エリア内にいて、静的空間条件および動的空間条件を満たすようにロボットを配置することができるエリア内の場所である。例えば、４台のロボットが充電ポイントへのアクセスを待っていて、この充電ポイントが通路の近くにある場合を考える。停止エリアは、五角形の充電ポイントの周囲で定義されている。通路を横断したいロボットが、充電ポイントの使用を待っている各ロボットによって遮られないようにする必要がある。この場合、ロボットの位置は、各ロボットが通路を塞がないように五角形の周辺に決定される。３１２の条件が満たされない場合、空間クエリを実行して、受信した静的空間データおよび静的空間クエリ条件に基づいて、共通リソースへのアクセスを待機中の各ロボットの位置が決定される（３１４）。
【００２９】
図４は、一実施形態による、共通リソースへのアクセス待機中の複数のロボットによる優先順位に基づいたリソースへのアクセスを決定するための処理を示すフロー図４００である。一実施形態において、共通リソースへのアクセスを待機中の各ロボットは、ロボットを配置すべきエリア内の場所を示すクエリ結果を受信する（４０２）。受信した位置に基づいて、各ロボットが決定された位置に配置される（４０４）。次に、各ロボットの計画実行エンジンは、共通リソースへのアクセスを待機中のロボットについて、共通リソースにアクセスするための優先順位を個別に決定する（４０６）。次に、各ロボットは、決定した優先順位を互いに共有して、その優先順位の検証を行う（４０８）。最後に、決定した優先度に基づいて、最も優先度の高いロボットが共通リソースにアクセスする（４１０）。
【００３０】
本明細書に開示した実施形態は、ロボットが引き起こす輻輳を最小限に抑えるために、ある場所でのロボットを管理するための方法およびシステムを規定している。したがって、保護の範囲は、そのようなプログラム、さらにはメッセージを内部に有するコンピュータ可読手段にも拡張されることを理解されたい。そのようなコンピュータ可読記憶手段は、プログラムがサーバまたはモバイルデバイスまたは任意の適切なプログラム可能デバイス上で実行される際、この方法の一以上のステップを実施するためのプログラムコード手段を含む。方法は、少なくとも一つの実施形態において、例えば超高速集積回路ハードウェア記述言語（ＶＨＤＬ）または別のプログラミング言語で書かれたソフトウェアプログラムを通じてまたはそれと共に実施され、あるいは少なくとも一つのハードウェアデバイス上で実行中の一以上のＶＨＤＬまたは複数のソフトウェアモジュールによって実施される。ハードウェアデバイスは、例えば、サーバまたはＰＣなどの任意の種類のコンピュータ、あるいは一つのプロセッサおよび二つのＦＰＧＡなどの任意の組合せを含む、プログラム可能な任意の種類の装置でよい。デバイスがさらに、ＡＳＩＣなどのハードウェア手段、またはＡＳＩＣとＦＰＧＡなどのハードウェア手段とソフトウェア手段の組合せ、または少なくとも一つのマイクロプロセッサとソフトウェアモジュールを内部に有する少なくとも一つのメモリとである手段を含んでもよい。つまり、この手段は、少なくとも一つのハードウェア手段および／または少なくとも一つのソフトウェア手段である。本明細書で説明される方法の実施形態を、純粋なハードウェアで、または部分的にハードウェアで、部分的にソフトウェアで実施することができる。このような装置が、ソフトウェア手段のみを含む場合もある。あるいは、例えば複数のＣＰＵを使用して、異なるハードウェアデバイス上で本発明を実施することができる。
【００３１】
特定の実施形態についての上述の説明は、本明細書の実施形態の一般的性質を完全に明らかにするので、他者は、現在の知識を適用することにより一般的な概念から逸脱することなく、様々な応用分野のためにそのような特定の実施形態を容易に修正および／または適合させることができる。したがって、そのような適合および修正は、開示される実施形態の均等物の意味および範囲内に包含されるべきであり、包含されるものとする。本明細書で使用される表現または用語は説明のためのものであり、限定のためのものではないことを理解されたい。本明細書の実施形態について実施形態や実施例によって説明してきたが、本明細書に記載される請求項の趣旨およびその範囲内の修正を加えたうえで本明細書の実施形態を実施できることを当業者は理解されよう。
【図１】
2021536060.tif 000003
【図２】
2021536060.tif 000004
【図３】
2021536060.tif 000005
【図４】
2021536060.tif 000006
【手続補正書】
【提出日】令和3年2月26日(2021.2.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
共通リソースへのアクセス待機中の複数のロボットによるエリア内での輻輳を回避するためのコンピュータ実装方法であって、
前記複数のロボットのうちの一つのロボットのプロセッサで実行中の計画実行エンジンから、前記一つのロボットの現在のロボット動作とセンサデータとを、クラウドノードにおいて受信する工程と、
前記受信した現在のロボット動作とセンサデータとに基づいて、前記複数のロボットのうちの前記一つのロボットが前記共通リソースにアクセスする必要があるかどうかを決定する工程と、
前記クラウドノードにおいて空間クエリを実行する工程であって、前記エリア内の場所に前記複数のロボットのうちの前記一つのロボットを配置した場合の輻輳のない動きを要求する静的空間条件に基づいて、前記共通リソースへのアクセスを待機している前記複数のロボットのうちの前記一つのロボットを配置するための前記エリア内の前記場所を決定する工程と、
前記複数のロボットのうちの前記一つのロボットのプロセッサで実行される前記計画実行エンジンによって、前記共通リソースにアクセスするための優先順位を決定する工程と、
前記決定した優先順位に基づいて、前記複数のロボットのうちの前記一つのロボットが前記共通リソースにアクセスする工程と、を備える方法。
【請求項２】
前記空間クエリを実行する工程がさらに、
前記クラウドノードにおいて前記空間クエリを実行して、前記共通リソース周辺に定義される停止エリアに関する情報を含む静的空間データに基づいて前記複数のロボットのうちの前記一つのロボットを配置するための前記場所を決定する工程を含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記受信したセンサデータが動的空間条件に関するデータであるかどうかを決定する工程と、
前記決定を基に前記クラウドノードにおいて前記空間クエリを実行して、前記静的空間条件と動的空間条件とに基づいて前記共通リソースへのアクセスを待機中の前記複数のロボットのうちの前記一つのロボットを配置する前記エリア内の前記場所を決定する工程と、をさらに備える請求項１に記載のコンピュータ実装方法。
【請求項４】
前記クラウドノードにおいて前記空間クエリを実行して、前記動的空間データと前記静的空間条件と動的空間条件とに基づいて、前記共通リソースへのアクセスを待機中の前記複数のロボットのうちの前記一つのロボットを配置する前記エリア内の前記場所を決定する工程をさらに備える請求項３に記載のコンピュータ実装方法。
【請求項５】
前記複数のロボットにおいて実行する複数の計画実施エンジンが、前記共通リソースへのアクセスのための優先順位を個別に決定する工程と、
前記複数の計画実行エンジンが、前記決定した優先順位を互いに共有して前記決定した優先順位を検証する工程と、
前記決定した優先順位に基づいて、前記複数のロボットが前記共通リソースにアクセスする工程と、をさらに備える請求項１に記載のコンピュータ実装方法。
【請求項６】
前記エリアに関する前記静的空間データをウェブインタフェースにおいて受信する工程をさらに備える、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記静的空間クエリ条件と動的空間クエリ条件とを含む空間クエリをウェブインタフェースにおいて受信する工程をさらに備える、請求項１に記載のコンピュータ実装方法。
【請求項８】
エリア内の共通リソースへのアクセスを協調的に管理する複数のロボットであって、前記共通リソースへのアクセスを待機中の前記複数のロボットによる輻輳を回避し、
前記複数のロボットのうちの一つのロボットは、
計画実行エンジンを格納するメモリと、
前記メモリと通信し、前記計画実行エンジンを実行するプロセッサと、を備え、
前記プロセッサは、
前記複数のロボットのうちの一つのロボットのセンサデータを前記計画実行エンジンにて受信し、
現在のロボット動作と前記センサデータとに基づいて、前記複数のロボットのうちの前記一つのロボットが前記共通リソースにアクセスする必要があるかどうかを決定し、
前記計画実行エンジンにおいて空間クエリを実行して、前記エリア内の場所に前記複数のロボットのうちの前記一つのロボットを配置した場合に輻輳のない動きを要求する静的空間条件に基づいて、前記共通リソースへのアクセスを待機している前記複数のロボットのうちの前記一つのロボットを配置するための前記エリア内の前記場所を決定し、
前記計画実行エンジンによって、前記共通リソースにアクセスするための優先順位を決定し、
前記決定した優先順位に基づいて、前記複数のロボットのうちの前記一つのロボットが前記共通リソースにアクセスするプロセッサと、を備えるロボット。
【請求項９】
前記複数のロボットのうちの一つのロボットが前記計画実行エンジンを実行することで、さらに、
前記空間クエリを実行して、前記共通リソース周辺に定義される停止エリアに関する情報を含む静的空間データに基づいて前記複数のロボットのうちの前記一つのロボットを配置するための前記場所を決定する、請求項８に記載の前記複数のロボットのうちの一つのロボット。
【請求項１０】
前記複数のロボットのうちの一つのロボットが前記計画実行エンジンを実行することで、さらに、
前記受信したセンサデータが動的空間条件に関連しているかどうかを決定し、
前記決定を基に、前記空間クエリを実行して、前記静的空間条件と動的空間条件とに基づいて前記共通リソースへのアクセスを待機中の前記複数のロボットのうちの前記一つのロボットを配置する前記エリア内の前記場所を決定する、請求項８に記載の前記複数のロボットのうちの一つのロボット。
【請求項１１】
前記複数のロボットのうちの一つのロボットが前記計画実行エンジンを実行することで、さらに、
前記空間クエリを実行して、前記動的空間データと前記静的空間条件と動的空間条件とに基づいて、前記共通リソースへのアクセスを待機中の前記複数のロボットのうちの前記一つのロボットを配置する前記エリア内の前記場所を決定する、請求項８に記載の前記複数のロボットのうちの一つのロボット。
【請求項１２】
前記複数のロボットのうちの一つのロボットが前記計画実行エンジンを実行することで、さらに、
前記共通リソースにアクセスするための優先順位を個別に決定し、
前記計画実行エンジンは、前記決定した優先順位と、前記複数のロボットのうちの別のロボットのプロセッサで実行中の計画実行エンジンによって決定された優先順位とを共有し、
前記決定した優先順位に基づいて、前記複数のロボットのうちの前記一つのロボットと前記複数のロボットのうちの前記別のロボットが前記共通リソースにアクセスする、請求項１１に記載の前記複数のロボットのうちの一つのロボット。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
一実施形態において、ロボット１０４、１０６は、クラウドノード１０２と無線で通信し、動的空間データとしてのセンサデータをクラウドノード１０２の空間クエリプロセッサ１１６に転送する。ロボット１０４および１０６はまた、停止エリア内でこれらのロボットを配置すべき位置を含むクエリ結果を受信する。計画実行エンジン１０８および１１０をそれぞれ実行するロボット１０４とロボット１０６とは、無線通信を介して互いに通信する。一実施形態において、計画実行エンジン１０８、１１０は、ロボット１０４とロボット１０６とが実行中の各タスクの優先度に基づいて、共通リソースにアクセスするための優先順位を個別に決定する。次に、計画実行エンジン１０８、１１０は、決定した優先順位を互いに交換し、決定優先順位に衝突（コンフリクト）がないかどうかを判断する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
一実施形態において、クエリ結果は、ロボットが停止エリア内にいて、静的空間条件および動的空間条件を満たすようにロボットを配置することができるエリア内の場所である。例えば、４台のロボットが充電ポイントへのアクセスを待っていて、この充電ポイントが通路の近くにある場合を考える。停止エリアは、五角形の充電ポイントの周囲で定義されている。通路を横断したいロボットが、充電ポイントの使用を待っている各ロボットによって遮られないようにする必要がある。この場合、ロボットの位置は、各ロボットが通路を塞がないように五角形の周辺に決定される。３１０の条件が満たされない場合、空間クエリを実行して、受信した静的空間データおよび静的空間クエリ条件に基づいて、共通リソースへのアクセスを待機中の各ロボットの位置が決定される（３１４）。
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2021536060.tif 000007
【国際調査報告】
2021536060.tif 000008
2021536060.tif 000009