(57)【要約】  複数のロボットが衝突せずに移動するための２Ｄナビゲーションマップを生成する方法およびシステムについての実施形態を開示する。最初に、２Ｄナビゲーションマップ生成装置が、クラウドマップサーバにおいて粒子シミュレーションを開始してエリアの画像に複数のバブルを追加する。次に、２Ｄナビゲーションマップ生成装置が、クラウドマップサーバにおいてバブルシミュレーション処理を行い、画像のエリアの空きスペースと重なっている画像上の複数のロボットから、バブルの集合を決定する。次に、ナビゲーションマップ生成装置が、クラウドマップサーバにおいてエリアを移動するための移動経路を示す複数の端部を使用して、バブルの集合をつなぐことによって２Ｄナビゲーションマップを生成する。最後に、生成した２Ｄナビゲーションマップに基づいて、複数のロボットが現在の場所から別の場所に移動する。【選択図】図１
2021535504.tif 000002
【特許請求の範囲】
【請求項１】
複数ロボットによる衝突のない移動のための２Ｄナビゲーションマップを生成するコンピュータ実装方法であって、
２Ｄナビゲーションマップ生成装置が、クラウドマップサーバにおいて、粒子シミュレーションを開始してエリアの画像に複数のバブルを追加する工程と、
前記２Ｄナビゲーションマップ生成装置が、前記クラウドマップサーバにおいてバブルシミュレーション処理を行い、前記画像の前記エリアの空きスペースと重なっている前記画像上の前記複数のロボットから、バブルの集合を決定する工程と、
前記ナビゲーションマップ生成装置が、前記クラウドマップサーバにおいて、前記エリア内を移動するための移動経路を示す複数の端部を使用して、前記バブルの集合をつなぐことによって前記２Ｄナビゲーションマップを生成する工程と、
前記生成した２Ｄナビゲーションマップに基づいて、前記複数のロボットが現在の場所から別の場所に移動する工程と、を備える方法。
【請求項２】
ディスパッチャにおいて、前記複数のロボットが現在の場所から別の場所に衝突せずに移動するために必要な最短時間の経路を決定する要求を受信する工程と、
前記ディスパッチャが、前記生成した２Ｄナビゲーションマップ上で経路探索クエリを実行して、前記複数のロボットが現在の場所から別の場所に衝突せずに移動するために必要な最短時間の経路を生成する工程と、をさらに備える、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記ディスパッチャが、前記複数のロボットのうちの一以上のロボットに、衝突せずに移動するための前記経路を伝達する工程をさらに備える、請求項２に記載のコンピュータ実装方法。
【請求項４】
２Ｄナビゲーションマップ生成装置によって前記エリアの障害物マップを読み出す工程と、前記読み出した障害物マップに対応する画像を生成する工程と、をさらに備える、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記バブルシミュレーション処理を行ってバブルの集合を特定する工程が、
前記複数のバブルから非空きスペースに重なっているバブルを削除する工程と、
前記削除に基づいて、前記画像上の前記複数のロボットから前記バブルの集合を決定する工程と、を備える、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記バブルシミュレーション処理を行ってバブルの集合を特定する工程が、
反発およびリバウンド操作を使用して、前記画像上の前記複数ロボットから前記バブルの集合を決定する工程を備える、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記シミュレーション内の前記複数のバブルが静的である場合に前記シミュレーションを終了する工程をさらに備える、請求項１に記載の方法。
【請求項８】
複数のロボットによる衝突のない移動のための２Ｄナビゲーションマップを生成するコンピュータシステムであって、
プログラムコードを格納するメモリと、
前記プログラムコードを実行するプロセッサと、を備え、
前記プロセッサは、
粒子シミュレーションを開始して、エリアの画像に複数のバブルを追加し、
バブルシミュレーションの処理を行い、前記画像内の前記エリアの空きスペースと重なる前記画像上の前記複数のロボットからバブルの集合を決定し、
前記エリア内を移動するための移動経路を示す複数の端部を使用して、前記バブルの集合をつなぐことによって前記２Ｄナビゲーションマップを生成し、
前記生成した２Ｄナビゲーションマップに基づいて、前記複数のロボットが現在の場所から別の場所に移動する、を備えるコンピュータシステム。
【請求項９】
前記プロセッサがさらに前記プログラムコードを実行して、
前記複数のロボットが現在の場所から別の場所に移動するための衝突のない最短時間の経路を決定する要求を受信し、
前記生成した２Ｄナビゲーションマップ上で経路探索クエリを実行して、前記複数のロボットが現在の場所から別の場所に移動するために必要な衝突のない最短時間の経路を生成する、請求項８に記載のコンピュータシステム。
【請求項１０】
前記プロセッサがさらに前記プログラムコードを実行して、
前記複数のロボットのうちの一以上のロボットに衝突のない前記経路を伝達する、請求項９に記載のコンピュータシステム。
【請求項１１】
前記プロセッサがさらに前記プログラムコードを実行して、
前記エリアの障害物マップを読み出し、前記読み出した障害物マップに対応する画像を生成する、請求項９に記載のコンピュータシステム。
【請求項１２】
前記プロセッサがさらに前記プログラムコードを実行して、
非空きスペースに重なっている複数のバブルからバブルを削除し、
前記削除に基づいて、前記画像上の前記複数のロボットから前記バブルの集合を決定する、請求項９に記載のコンピュータシステム。
【請求項１３】
前記プロセッサがさらに前記プログラムコードを実行して、
反発およびリバウンド操作を使用して、前記画像上の前記複数ロボットから前記バブルの集合を決定する、請求項９に記載のコンピュータシステム。
【請求項１４】
前記プロセッサがさらに前記プログラムコードを実行して、
前記シミュレーション内の前記複数のバブルが静的である場合に前記シミュレーションを終了する、請求項９に記載のコンピュータシステム。
【請求項１５】
指示を格納した非一時的なコンピュータ可読媒体であって、コンピュータにより前記指示が実行されると、
粒子シミュレーションを開始して、エリアの画像に複数のバブルを追加し、
バブルシミュレーションの処理を行い、前記画像内の前記エリアの空きスペースと重なる前記画像上の前記複数のロボットからバブルの集合を決定し、
前記エリアをナビゲートするための移動経路を示す複数の端部を使用して、前記バブルの集合をつなぐことによって２Ｄナビゲーションマップを生成し、
前記生成した２Ｄナビゲーションマップに基づいて、前記複数のロボットが現在の場所から別の場所に移動する処理を行わせる、コンピュータ可読媒体。
【請求項１６】
前記コンピュータがプログラムコードをさらに実行して、
前記複数のロボットが現在の場所から別の場所に移動するための衝突のない最短時間の経路を決定する要求を受信し、
前記生成した２Ｄナビゲーションマップ上で経路探索クエリを実行して、前記複数のロボットが現在の場所から別の場所に移動するために必要な衝突のない最短時間の経路を生成する処理を行わせる、請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
前記コンピュータがプログラムコードをさらに実行して、
前記複数のロボットのうちの一以上のロボットに衝突のない前記経路を伝達する、請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
前記コンピュータがプログラムコードをさらに実行して、
前記エリアの障害物マップを読み出し、
前記読み出した障害物マップに対応する画像を生成する、請求項１５に記載のコンピュータ可読媒体。
【請求項１９】
前記コンピュータがプログラムコードをさらに実行して、
非空きスペースに重なっている前記複数のバブルからバブルを削除し、
前記削除に基づいて、前記画像上の前記複数のロボットから前記バブルの集合を決定する、請求項１５に記載のコンピュータ可読媒体。
【請求項２０】
前記コンピュータがプログラムコードをさらに実行して、反発およびリバウンド操作を使用して、前記画像上の前記複数ロボットから前記バブルの集合を決定する、請求項１５に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載の各実施形態は、ロボットナビゲーションに関し、詳細には、複数のロボットを衝突せずに移動させるための２Ｄナビゲーションマップの生成に関する。
【背景技術】
【０００２】
現在、産業用ロボットの使用が増加している。ロボットは、倉庫、保管場所、配送管理システムなどで使用可能である。ある場所から別の場所に移動する際に、ロボットにはナビゲーションマップが必要となる。
【０００３】
このようなナビゲーションマップの主な要件の一つは、倉庫内でロボットが衝突せずに移動できるよう保証することである。ボロノイ図などの現在のグラフはかなり疎であり、衝突のない移動を保証できるほどロバストではない。
【図面の簡単な説明】
【０００４】
図面を参照した以下の詳細な記述により、本明細書に開示する各実施形態がよりよく理解されるであろう。
【０００５】
【図１】一実施形態による、あるエリアの２Ｄナビゲーションマップを生成し、２Ｄナビゲーションマップに基づいて複数ロボットの衝突のない移動経路を決定するシステムを示すブロック図。
【０００６】
【図２Ａ】一実施形態による、２Ｄナビゲーションマップを生成する処理を示す例示的なブロック図。
【図２Ｂ】一実施形態による、２Ｄナビゲーションマップを生成する処理を示す例示的なブロック図。
【図２Ｃ】一実施形態による、２Ｄナビゲーションマップを生成する処理を示す例示的なブロック図。
【０００７】
【図３】一実施形態による、あるエリアでの複数ロボットの移動用の２Ｄナビゲーショングラフを生成する処理を示すブロック図。
【０００８】
【図４】一実施形態による、生成した２Ｄナビゲーションマップに基づいてエリア内で複数のロボットを移動させる処理を示すフロー図。
【発明を実施するための形態】
【０００９】
本明細書の実施形態およびその様々な特徴および利点の詳細について、添付の図面に示し以下の説明に詳述される非限定的な実施形態を参照することによってさらに詳しく説明する。本明細書の実施形態を不必要に不明瞭としないために、周知の構成要素および処理技術の説明は省略する。本明細書で使用する各実施例は、これらの実施形態を実用化する方法の理解を容易にすると共に当業者が実施形態を実用化できるようにすることを単に意図したものである。したがって、本明細書の実施形態の範囲を限定するものとして実施例を解釈すべきではない。
【００１０】
本明細書の実施形態は、エリア内で複数のロボットを衝突せずに移動させるための２Ｄナビゲーションマップを生成するための方法およびシステムを開示する。図面、即ち図１〜図４を参照するが、図全体を通して、類似の参照符号により各実施形態に示した対応する要素を表すものとする。
【００１１】
本明細書の実施形態において、複数のロボットを衝突せずに移動させるための２Ｄナビゲーションマップを生成するための方法およびシステムを開示する。一実施形態において、特定エリアの障害物マップを写真（ｐｉｃｔｕｒｅ）に変換し、次にこの写真に粒子シミュレーションを適用して、特定エリアの写真を覆う複数のバブルを追加する。シミュレーションにおけるこれらのバブルは自動的に処理（移動または削除）され、写真の空きスペースを覆うバブルの最終的な集合が特定される。次に、空きスペースを覆うバブルを使用して、バブル間の端部を接続して２Ｄナビゲーションマップを生成することにより、２Ｄナビゲーションマップを生成する。次に、２Ｄナビゲーションマップを使用して、エリア内の２点間で衝突のない最短の移動経路を決定する。
【００１２】
図１は、一実施形態による、あるエリアの２Ｄナビゲーションマップを生成するシステム１００を示すブロック図である。このシステムにより、２Ｄナビゲーションマップに基づいて複数ロボット用の衝突のない移動経路を決定する。システム１００は、特定エリアの２Ｄナビゲーションマップを生成するクラウドマップサーバ１０２を備える。クラウドコンピューティングでは、ユーザが直接に能動的管理せずに、コンピューターシステムリソースをオンデマンドで利用可能である。クラウドマップサーバは、２Ｄナビゲーションマップを生成および保存するための複数のプロセッサとメモリとを備える。一実施形態において、クラウドマップサーバ１０２は、データ記憶装置１０６から特定エリアの障害物マップをインポートし、それを写真または画像に変換する２Ｄナビゲーションマップ生成装置１０４を備える。障害物マップとは、特定エリアの様々な障害物と空きスペースとの詳細を含むマップのことである。例えば、倉庫の場合、障害物マップに倉庫内のラック、通路、壁などの詳細を含めてもよい。障害物マップは、障害物マップ画像を処理するために写真または画像に変換される。一実施形態では、障害物マップに含まれる障害物の詳細を含む障害物マップメタデータが、画像とともに生成される。
【００１３】
次に、２Ｄナビゲーションマップ生成装置１０４は、生成したエリアの画像に対して粒子シミュレーションを開始する。粒子シミュレーションの開始には、生成画像の空間全体がバブルで覆われるまで生成画像にバブルを追加する工程が含まれる。一実施形態では、各バブルが２Ｄナビゲーションマップ内の一つのノードを表す。各バブルの大きさは、エリアを移動するためにこの２Ｄナビゲーションマップを使用できるロボットの大きさに比例する。
【００１４】
次に、２Ｄナビゲーションマップ生成装置１０４は、バブルシミュレーション処理を行い、生成画像に追加されたバブルのうち、エリアの空きスペースと重なっている画像内のバブルの集合を決定する。一例としてこのエリアが倉庫の場合、空きスペースは、通路などのロボットが自由に移動できるエリアであり、非空きスペースは、ロボットの自由な移動の障害となるラックなどである。２Ｄナビゲーションマップ生成装置１０４は、非空きスペースに重なるバブルを削除することによって、エリアの空きスペースに重なるバブルの集合を決定することができる。非空きスペースは、障害物を含む該当エリアの情報を含む障害物マップメタデータに基づいて識別される。一実施形態では、２Ｄナビゲーションマップ生成装置は、反発／リバウンド操作を使用して、エリアの空きスペースと重なるバブルを決定する。一実施形態では、反発／リバウンド操作は、「ビリヤード」ゲームを基にシミュレーションすることができる。「ビリヤード」ゲームでは、ビリヤードテーブルのいずれかの端部やビリヤードテーブル上の別のボールに当たった後にビリヤードボールが跳ね返る。この反発／リバウンド操作に基づいて、バブルがマップの非空きスペースと重なると、当該バブルは元の位置から後ろに移動して、エリアの空きスペースと重なるエリアに配置される。反発／リバウンド操作の場合、画像上のエリアの空きスペースがなくなるまでシミュレーションによってバブルを追加し続ける。別の実施形態では、力場操作（ｆｏｒｃｅ  ｆｉｅｌｄ  ｏｐｅｒａｔｉｏｎ）を使用して、空きスペースに重なるバブルの集合を決定する。この場合、力場によってバブルは空きスペースに重なる画像の部分に引き寄せられるが、重ならない画像部分には反発する。
【００１５】
次に、２Ｄナビゲーションマップ生成装置１０４は、シミュレーション内のバブルが静的であればシミュレーション操作を終了する。一実施形態では、２Ｄマップ生成装置１０４は、エネルギー最小化原理を使用してバブルが静的であることを確認する。シミュレーション操作に基づいて、画像上で決定されたバブルは、画像内の空きスペースと重なっている画像部分のみを覆った状態となる。次に、２Ｄナビゲーションマップ生成装置１０４は、画像上のバブルの端部をつなぐことによってグラフを生成するが、このグラフでは、端部は、エリア内で衝突せずに移動できるようロボットが横切ることのできる経路を示す。より広い経路はより高密度の端部で表すことができ、より狭い経路はより低い密度の端部で表すことができる。２Ｄナビゲーションマップ生成装置１０４は、クラウドマップサーバ１０２のデータ記憶装置１０６に、生成した２Ｄナビゲーションマップを格納する。
【００１６】
一実施形態において、クラウドマップサーバ１０２はさらに、エリア内の二つの場所の間で衝突のない移動経路を決定するためのクエリプロセッサであるディスパッチャ１０８を備える。ディスパッチャ１０８は、複数のロボット１１０、１１２と無線通信し、複数のロボットのうちの任意のロボット、例えばロボット１１０からエリア内の特定の場所に移動する要求を受信可能である。
【００１７】
要求を受信したディスパッチャ１０８は、生成した２Ｄナビゲーションマップ上でクエリを実行して、衝突の可能性が最も低く、かつロボットの現在位置とエリア内の特定のポイントとの間を移動するのに必要な移動時間が最小となる移動経路を決定する。一実施形態では、移動経路は、グラフ内の端部を使用した場合に、ロボット１０４が横断できる複数のポイントのうち一以上の重ならない（ｄｉｓｊｏｉｎｔ）端部を含む。最後に、ディスパッチャ１０８は、決定した最短距離の経路を移動経路としてロボット１１０、１１２に伝達する。ロボット１１０、１１２は、受信した移動経路に基づいて二つの場所の間を移動することができる。
【００１８】
このように、本発明は、ロボットナビゲーションの分野における技術的問題を解決する。エリア全体をカバーするバブルシミュレーションに基づいて３Ｄナビゲーションマップが生成されるため、生成したマップは、エリア内を移動する際に衝突を起こさない移動経路をロボットに提供可能である。
【００１９】
図２Ａ〜図２Ｃは、一実施形態による２Ｄナビゲーションマップを生成する処理を示す例示的なブロック図である。図２Ａに示すように、障害物マップの画像２００に対してシミュレーション操作が開始され、障害物マップの画像をバブルで覆う。
【００２０】
図２Ｂに示される例では、画像２００内のエリアの非空きスペースを覆っているバブルが削除または反発／リバウンド操作のいずれかによって除去され、その結果、画像２００は、非空きスペースと重ならない空きエリア２０４、すなわち、物体／障害物を有するエリアと重なるバブルを含むようになる。最後に、図２Ｃに示すように、ナビゲーションマップ生成装置は、端部を使用してバブルをつなぐことによって２Ｄナビゲーションマップ２０６を生成する。ここで端部はエリアを横断するために使用できる経路を示す。
【００２１】
図３は、一実施形態による、複数のロボットを用いたあるエリアでの移動用の２Ｄナビゲーショングラフを生成する処理３００を示すブロック図である。最初に、クラウドマップサーバの２Ｄナビゲーションマップ生成装置は、クラウドマップサーバのメモリからエリアの障害物マップを読み出す（３０２）。次に、２Ｄナビゲーションマップ生成装置は、読み出した障害物マップに対応する画像を生成する（３０４）。次に、２Ｄナビゲーションマップ生成装置は、粒子シミュレーションを開始して、生成した画像にバブルを追加する（３０６）。一実施形態では、生成した画像の空間全体をバブルが覆うまで、バブルを画像に追加する。次に、２Ｄナビゲーションマップ生成装置は、バブルシミュレーションの処理を行い、画像に追加された複数のバブルのうち、エリアの空きスペースと重なっているバブルの集合を決定する（３０８）。前述のように、バブルシミュレーションでは、（反発／リバウンド操作に基づいて）非空きスペースに重なるバブルを削除または移動させるよう処理される。
【００２２】
次に、２Ｄナビゲーションマップ生成装置は、シミュレーション内のバブルが静的であればシミュレーション操作を終了する（３１０）。次に、２Ｄナビゲーションマップ生成装置は、端部を使用して取得したバブルの集合をつなぐことによって２Ｄナビゲーションマップを生成する（３１２）。ここでは、端部がエリアを横断するための移動経路を示す。より広い経路はより高密度の端部で表すことができ、より狭い経路はより低い密度の端部で表すことができる。最後に、２Ｄナビゲーションマップ生成装置は、生成した２Ｄナビゲーションマップをデータ記憶装置に格納する（３１４）。方法３００の各動作は、提示した順序で実行しても、異なる順序で実行しても、または同時に実行してもよい。さらに、いくつかの実施形態では、図３に挙げたいくつかの動作を省略してもよい。
【００２３】
図４は、一実施形態による、生成した２Ｄナビゲーションマップに基づいてエリア内の複数のロボットの移動経路を決定する処理４００を示すフロー図である。最初に、複数のロボットからの要求を受信して、エリア内の複数の場所に移動するための衝突のない経路を決定する（４０２）。一実施形態では、複数のロボットそれぞれが、移動したい位置を提供してもよい。受信した要求に基づいて、生成した２Ｄナビゲーションマップ上でディスパッチャが経路探索クエリを実行し、ロボットの現在の場所とロボットが移動を要求する場所との間で衝突のない最短所要時間の経路を順次決定する（４０４）。一実施形態では、ディスパッチャは、特定の順序で経路探索操作を開始して、シーケンス内の最後のロボットが希望する場所に移動するために衝突のない経路を少なくとも一つ確保できるようにする。例えば、異なる４０の場所に移動したいロボットが４０台あるとする。この場合、ディスパッチャは、ロボット１の経路探索操作を開始し、ロボット１の現在の場所とロボット１が移動したい場所との間の最短経路を特定する。次に、ディスパッチャは、ロボット２の現在の場所とロボット２が移動したい場所との間の最短経路を選択することによってロボット２の経路探索操作を開始する。この場合、ディスパッチャは、ロボット１に割り当てた経路はすでに割り当て済みと想定し、残った経路に基づいてロボット２の最短経路を決定する。最後のロボットに経路が割り当てられるまでこの処理を続ける。ディスパッチャは、最短所要時間で衝突のない決定した各経路を複数ロボットに伝達する（４０６）。受信した衝突のない経路に基づいて、各ロボットは現在の場所から移動を要求した場所まで移動する（４０８）。
【００２４】
本明細書に開示される実施形態は、少なくとも一つのハードウェアデバイス上で実行され、ネットワーク要素を制御するためにネットワーク管理機能を実行する少なくとも一つのソフトウェアプログラムを介して実装され得る。ネットワーク要素には、ハードウェアデバイスの少なくとも一つ、またはハードウェアデバイスとソフトウェアモジュールの組み合わせであるブロックが含まれる。
【００２５】
本明細書に開示される実施形態は、特定のシミュレーションを使用して特定の空間用のグラフを生成するための方法およびシステムを開示しており、一以上のロボットがその特定の空間での移動にグラフを使用できる。したがって、保護の範囲は、そのようなプログラム、さらにはメッセージを内部に有するコンピュータ可読手段にも拡張されることを理解されたい。そのようなコンピュータ可読記憶手段は、プログラムがサーバまたはモバイルデバイスまたは任意の適切なプログラム可能デバイス上で実行される際、この方法の一以上のステップを実施するためのプログラムコード手段を含む。方法は、少なくとも一つの実施形態において、例えば超高速集積回路ハードウェア記述言語（ＶＨＤＬ）または別のプログラミング言語で書かれたソフトウェアプログラムを通じてまたはそれと共に実施され、あるいは少なくとも一つのハードウェアデバイス上で実行中の一以上のＶＨＤＬまたは複数のソフトウェアモジュールによって実施される。ハードウェアデバイスは、例えば、サーバまたはＰＣなどの任意の種類のコンピュータ、あるいは一つのプロセッサおよび二つのＦＰＧＡなどの任意の組合せを含む、プログラム可能な任意の種類の装置でよい。デバイスがさらに、ＡＳＩＣなどのハードウェア手段、またはＡＳＩＣとＦＰＧＡなどのハードウェア手段とソフトウェア手段の組合せ、または少なくとも一つのマイクロプロセッサとソフトウェアモジュールを内部に有する少なくとも一つのメモリとである手段を含んでもよい。つまり、この手段は、少なくとも一つのハードウェア手段および／または少なくとも一つのソフトウェア手段である。本明細書で説明される方法の実施形態を、純粋なハードウェアで、または部分的にハードウェアで、部分的にソフトウェアで実施することができる。このような装置が、ソフトウェア手段のみを含む場合もある。あるいは、例えば複数のＣＰＵを使用して、異なるハードウェアデバイス上で本発明を実施することができる。
【００２６】
特定の実施形態についての上述の説明は、本明細書の実施形態の一般的性質を完全に明らかにするので、他者は、現在の知識を適用することにより、一般的な概念から逸脱することなく、様々な応用分野のためにそのような特定の実施形態を容易に修正および／または適合させることができる。したがって、そのような適合および修正は、開示される実施形態の均等物の意味および範囲内に包含されるべきであり、包含されるものとする。本明細書で使用される表現または用語は説明のためのものであり、限定のためのものではないことを理解されたい。本明細書の実施形態について実施形態や実施例によって説明してきたが、本明細書に記載される請求項の趣旨およびその範囲内の修正を加えたうえで本明細書の実施形態を実施できることを当業者は理解されよう。
【図１】
2021535504.tif 000003
【図２Ａ】
2021535504.tif 000004
【図２Ｂ】
2021535504.tif 000005
【図２Ｃ】
2021535504.tif 000006
【図３】
2021535504.tif 000007
【図４】
2021535504.tif 000008
【手続補正書】
【提出日】令和3年2月26日(2021.2.26)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本明細書の実施形態において、複数のロボットを衝突せずに移動させるための２Ｄナビゲーションマップを生成するための方法およびシステムを開示する。一実施形態において、特定エリアの障害物マップを写真（ｐｉｃｔｕｒｅ）に変換し、次にこの写真に粒子シミュレーションを適用して、特定エリアの写真を覆う複数のバブルを追加する。シミュレーションにおけるこれらのバブルは自動的に処理（移動または削除）され、写真の空きスペースを覆うバブルの最終的な集合が特定される。次に、空きスペースを覆うバブルを使用して、バブル間の端部を接続して２Ｄナビゲーションマップを生成する。次に、２Ｄナビゲーションマップを使用して、エリア内の２点間で衝突のない最短の移動経路を決定する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
このように、本発明は、ロボットナビゲーションの分野における技術的問題を解決する。エリア全体をカバーするバブルシミュレーションに基づいて２Ｄナビゲーションマップが生成されるため、生成したマップは、エリア内を移動する際に衝突を起こさない移動経路をロボットに提供可能である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
図４は、一実施形態による、生成した２Ｄナビゲーションマップに基づいてエリア内の複数のロボットの移動経路を決定する処理４００を示すフロー図である。最初に、複数のロボットからの要求を受信して、エリア内の複数の場所に移動するための衝突のない経路を決定する（４０２）。一実施形態では、複数のロボットそれぞれが、移動したい位置を提供してもよい。受信した要求に基づいて、生成した２Ｄナビゲーションマップ上でディスパッチャが経路探索クエリを実行し、ロボットの現在の場所とロボットが移動を要求する場所との間で衝突のない最短所要時間の経路を順次決定する（４０４）。一実施形態では、ディスパッチャは、特定の順序で経路探索操作を開始して、シーケンス内の最後のロボットが希望する場所に移動するために衝突のない経路を少なくとも一つ確保できるようにする。例えば、異なる４０の場所に移動したいロボットが４０台あるとする。この場合、ディスパッチャは、ロボット１の経路探索操作を開始し、ロボット１の現在の場所とロボット１が移動したい場所との間の最短経路を特定する。次に、ディスパッチャは、ロボット２の現在の場所とロボット２が移動したい場所との間の最短経路を選択することによってロボット２の経路探索操作を開始する（４０６）。この場合、ディスパッチャは、ロボット１に割り当てた経路はすでに割り当て済みと想定し、残った経路に基づいてロボット２の最短経路を決定する。最後のロボットに経路が割り当てられるまでこの処理を続ける。ディスパッチャは、最短所要時間で衝突のない決定した各経路を複数ロボットに伝達する（４０８）。受信した衝突のない経路に基づいて、各ロボットは現在の場所から移動を要求した場所まで移動する（４１０）。
【手続補正書】
【提出日】令和3年5月10日(2021.5.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数ロボットによる衝突のない移動のための２Ｄナビゲーションマップを生成するためにコンピュータに実装された方法であって、
粒子シミュレーションを開始してエリアの画像に複数のバブルを追加する工程と、
バブルシミュレーション処理を行い、前記画像の前記エリアの空きスペースと重なっている前記画像上の前記複数のバブルから、反発およびリバウンド操作を使用してバブルの集合を決定する工程と、
前記エリア内を移動するための移動経路を示す複数の端部を使用して、前記バブルの集合をつなぐことによって２Ｄナビゲーションマップを生成する工程と、
前記生成した２Ｄナビゲーションマップに基づいて、前記複数のロボットを現在の場所から別の場所に移動する工程と、を備える方法。
【請求項２】
前記複数のロボットが現在の場所から別の場所に衝突せずに移動するために必要な最短時間の経路を決定する要求を受信する工程と、
前記生成した２Ｄナビゲーションマップ上で経路探索クエリを実行して、前記複数のロボットが現在の場所から別の場所に衝突せずに移動するために必要な最短時間の経路を生成する工程と、をさらに備える、請求項１に記載の方法。
【請求項３】
前記複数のロボットのうちの一以上のロボットに、衝突せずに移動するための前記経路を伝達する工程をさらに備える、請求項２に記載の方法。
【請求項４】
前記エリアの障害物マップを読み出す工程と、前記読み出した障害物マップに対応する画像を生成する工程と、をさらに備える、請求項１に記載の方法。
【請求項５】
前記バブルシミュレーション処理を行ってバブルの集合を決定する工程が、
前記複数のバブルから非空きスペースに重なっているバブルを削除する工程と、
前記削除に基づいて、前記画像上の前記複数のバブルから前記バブルの集合を決定する工程と、を備える、請求項１に記載の方法。
【請求項６】
前記反発およびリバウンド操作は、バブルを、前記エリアの非空きスペースと重なる第１位置から、前記エリアの空きスペースと重なる第２位置に移動させることを含む、請求項１に記載の方法。
【請求項７】
前記バブルシミュレーション内の前記複数のバブルが静的である場合に前記バブルシミュレーションを終了する工程をさらに備える、請求項１に記載の方法。
【請求項８】
複数のロボットによる衝突のない移動のための２Ｄナビゲーションマップを生成するコンピュータシステムであって、
プログラムコードを格納するメモリと、
前記プログラムコードを実行するプロセッサと、を備え、
前記プロセッサは、
粒子シミュレーションを開始して、エリアの画像に複数のバブルを追加し、
バブルシミュレーションの処理を行い、前記画像内の前記エリアの空きスペースと重なる前記画像上の前記複数のバブルから、反発およびリバウンド操作を使用してバブルの集合を決定し、
前記エリア内を移動するための移動経路を示す複数の端部を使用して、前記バブルの集合をつなぐことによって２Ｄナビゲーションマップを生成し、
前記生成した２Ｄナビゲーションマップに基づいて、前記複数のロボットを現在の場所から別の場所に移動する、コンピュータシステム。
【請求項９】
前記プロセッサがさらに前記プログラムコードを実行して、
前記複数のロボットが現在の場所から別の場所に移動するための衝突のない最短時間の経路を決定する要求を受信し、
前記生成した２Ｄナビゲーションマップ上で経路探索クエリを実行して、前記複数のロボットが現在の場所から別の場所に移動するために必要な衝突のない最短時間の経路を生成する、請求項８に記載のコンピュータシステム。
【請求項１０】
前記プロセッサがさらに前記プログラムコードを実行して、
前記複数のロボットのうちの一以上のロボットに衝突のない前記経路を伝達する、請求項９に記載のコンピュータシステム。
【請求項１１】
前記プロセッサがさらに前記プログラムコードを実行して、
前記エリアの障害物マップを読み出し、前記読み出した障害物マップに対応する画像を生成する、請求項９に記載のコンピュータシステム。
【請求項１２】
前記プロセッサがさらに前記プログラムコードを実行して、
非空きスペースに重なっている複数のバブルからバブルを削除し、
前記削除に基づいて、前記画像上の前記複数のバブルから前記バブルの集合を決定する、請求項９に記載のコンピュータシステム。
【請求項１３】
前記反発およびリバウンド操作は、バブルを、前記エリアの非空きスペースと重なる第１位置から、前記エリアの空きスペースと重なる第２位置に移動させることを含む、請求項８に記載のコンピュータシステム。
【請求項１４】
前記プロセッサがさらに前記プログラムコードを実行して、
前記バブルシミュレーション内の前記複数のバブルが静的である場合に前記バブルシミュレーションを終了する、請求項９に記載のコンピュータシステム。
【請求項１５】
指示を格納した非一時的なコンピュータ可読媒体であって、コンピュータにより前記指示が実行されると、
粒子シミュレーションを開始して、エリアの画像に複数のバブルを追加し、
バブルシミュレーションの処理を行い、前記画像内の前記エリアの空きスペースと重なる前記画像上の前記複数のバブルから、反発およびリバウンド操作を使用してバブルの集合を決定し、
前記エリアをナビゲートするための移動経路を示す複数の端部を使用して、前記バブルの集合をつなぐことによって２Ｄナビゲーションマップを生成し、
前記生成した２Ｄナビゲーションマップに基づいて、前記複数のロボットを現在の場所から別の場所に移動する処理を行わせる、コンピュータ可読媒体。
【請求項１６】
前記コンピュータがプログラムコードをさらに実行して、
前記複数のロボットが現在の場所から別の場所に移動するための衝突のない最短時間の経路を決定する要求を受信し、
前記生成した２Ｄナビゲーションマップ上で経路探索クエリを実行して、前記複数のロボットが現在の場所から別の場所に移動するために必要な衝突のない最短時間の経路を生成する処理を行わせる、請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
前記コンピュータがプログラムコードをさらに実行して、
前記複数のロボットのうちの一以上のロボットに衝突のない前記経路を伝達する、請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
前記コンピュータがプログラムコードをさらに実行して、
前記エリアの障害物マップを読み出し、
前記読み出した障害物マップに対応する画像を生成する、請求項１５に記載のコンピュータ可読媒体。
【請求項１９】
前記コンピュータがプログラムコードをさらに実行して、
非空きスペースに重なっている前記複数のバブルからバブルを削除し、
前記削除に基づいて、前記画像上の前記複数のバブルから前記バブルの集合を決定する、請求項１５に記載のコンピュータ可読媒体。
【請求項２０】
前記反発およびリバウンド操作は、バブルを、前記エリアの非空きスペースと重なる第１位置から、前記エリアの空きスペースと重なる第２位置に移動させることを含む、請求項１５に記載のコンピュータ可読媒体。
【国際調査報告】
2021535504.tif 000009
2021535504.tif 000010