IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ラピュタロボティックス株式会社の特許一覧

<>
  • 特許-マルチロボット経路計画 図1
  • 特許-マルチロボット経路計画 図2
  • 特許-マルチロボット経路計画 図3
  • 特許-マルチロボット経路計画 図4A
  • 特許-マルチロボット経路計画 図4B
  • 特許-マルチロボット経路計画 図4C
  • 特許-マルチロボット経路計画 図5A
  • 特許-マルチロボット経路計画 図5B
  • 特許-マルチロボット経路計画 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-01
(45)【発行日】2023-05-12
(54)【発明の名称】マルチロボット経路計画
(51)【国際特許分類】
   G05D 1/02 20200101AFI20230502BHJP
【FI】
G05D1/02 H
【請求項の数】 20
(21)【出願番号】P 2021173074
(22)【出願日】2021-10-22
(65)【公開番号】P2023035767
(43)【公開日】2023-03-13
【審査請求日】2021-10-22
(31)【優先権主張番号】17/460,649
(32)【優先日】2021-08-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517175046
【氏名又は名称】ラピュタロボティックス株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ウエン ジュヨン リー
【審査官】今井 貞雄
(56)【参考文献】
【文献】特開2020-46384(JP,A)
【文献】特開2006-326703(JP,A)
【文献】特開平2-309406(JP,A)
【文献】国際公開第2020/117958(WO,A1)
【文献】国際公開第2020/263861(WO,A1)
【文献】特開平10-312217(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
プロセッサで実施される方法であって、当該方法は、
マルチ経路ロボットプランナ(112)が、第1のノードに関連付けられた順序値に基づいて前記第1のノードの経路計画を決定するステップ(602)であって、前記第1のノードは複数の順序スロットを有しており、各順序スロットはそれら複数の順序スロットに関連付けられた順序値を有しており、該順序値は、前記第1のノードからネットワーク内の1つ又は複数の第2のノードまでの距離の尺度であり、占有する順序スロットを決定する、ステップと、
マルチ経路ロボットプランナ(112)が、前記第1のノードの前記決定した経路計画を前記ネットワーク内の前記1つ又は複数の第2のノードに送信するステップ(604)と、
マルチ経路ロボットプランナ(112)が、前記決定した経路計画を前記1つ又は複数の第2のノードに送信することに応答して、新しい経路計画を生成するステップ(606)であって、該新しい経路計画は、前記第1のノードに関連付けられた順序コスト閾値及びロボット待機時間見積りに基づいて生成され、前記新しい経路計画は、最小の順序値で高速に移動できる経路計画である、ステップと、
マルチ経路ロボットプランナ(112)が、前記第1のノードの前記生成した新しい経路計画を最適化して、最適化した新しい経路計画を取得するステップ(608)であって、前記最適化には、前記1つ又は複数の第2のノードの順序値の変更に基づいて、前記第1のノードの新しい順序値を計算することが含まれる、ステップと、を含む、
方法。
【請求項2】
1つ又は複数のロボット(126,128)が、前記最適化した新しい経路計画を受信するステップと、
パス検索を介して、前記受信し、最適化した新しい経路計画から行き先ノードへの1つ又は複数のロボット(126,128)のパスを決定するステップと、をさらに含み、
前記パス検索には、
開始ノードから前記行き先ノードにナビゲートするために、前記1つ又は複数のロボット(126,128)からロボット(126,128)に関連付けられた全順序値を推定すること、
前記開始ノードから前記行き先ノードにナビゲートするために、前記推定した全順序値に基づいて最小の全順序値及び最小のロボット待機時間見積りを含むパスを決定すること、及び
前記1つ又は複数のロボット(126,128)の前記全順序値と並行して、前記ロボット(126,128)に関連付けられた前記全順序値の前記変更に基づいて、前記ロボット(126,128)に関連付けられた前記決定したパスを再評価すること、が含まれる、請求項1に記載の方法。
【請求項3】
前記第1のノードに関連付けられたロボット待機時間見積り及び全順序値に基づいて、前記1つ又は複数のロボット(126,128)の前記行き先ノードを変更するステップ、又は
前記第1のノードに関連付けられたロボット待機時間見積り及び全順序値に基づいて、複数の行き先ノードを作成するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記第1のノード各順序スロットの順序値をブロードキャストするステップと、
前記第1のノードに関連付けられた全コスト見積りに基づいて、前記順序値から順序スロットを決定するステップと、をさらに含む、請求項1に記載の方法。
【請求項5】
前記第1のノードに関連付けられた前記順序値が1つ又は複数の第2のノードに関連付けられた他の順序値よりも大きい場合に、前記第1のノードに関連付けられた前記順序値が第1の順序スロットを占有し、前記第1のノードの順序スロットの階層が、前記順序値に基づいている、請求項1に記載の方法。
【請求項6】
前記最適化には、
前記第1のノードが、前記1つ又は複数の第2のノードの順序値と並行して順序値を決定することであって、該順序値は、前記1つ又は複数の第2のノードの前記順序値とは異なる、こと、
前記第1のノードが、前記決定した順序値を前記1つ又は複数の第2のノードに送信すること、及び
前記第1のノードに関連付けられた前記順序コスト閾値及びロボット待機時間見積りを使用して、前記1つ又は複数の第2のノードの前記順序値の前記変更に基づいて前記順序値を再計算することにより、前記新しい経路計画を更新すること、がさらに含まれる、請求項1に記載の方法。
【請求項7】
前記第1のノードが前記順序値を提案することは、前記第1のノードに関連付けられた全順序コスト閾値に基づいており、該全順序コスト閾値及びロボット待機時間見積りは、前記新しい経路計画を更新する反復回数を決定する、請求項6に記載の方法。
【請求項8】
前記第1のノードに関連付けられた前記順序コスト閾値及びロボット待機時間見積りは、アプリケーションに基づいて事前に決定される、請求項1に記載の方法。
【請求項9】
前記第1のノードが行き先ノードから移動する場合に、前記第1のノードの前記順序スロットを占有する前記順序値を入札リストから削除するステップをさらに含む、請求項1に記載の方法。
【請求項10】
前記第1のノードが前記順序コスト閾値の最大値に達した場合に、パッシブ経路を生成するステップをさらに含み、該パッシブ経路は前記ネットワークからドロップアウトされる、請求項1に記載の方法。
【請求項11】
システムであって、当該システムは、
命令を格納するメモリと、
該メモリに結合されたプロセッサと、を含み、該プロセッサは、命令によって
第1のノードに関連付けられた順序値に基づいて前記第1のノードの経路計画を決定することであって、前記第1のノードは複数の順序スロットを有しており、各順序スロットはそれら複数の順序スロットに関連付けられた順序値を有しており、前記順序値は、前記第1のノードからネットワーク内の1つ又は複数の第2のノードまでの距離の尺度であり、占有する順序スロットを決定する、こと、
前記第1のノードの前記決定した経路計画を前記ネットワーク内の前記1つ又は複数の第2のノードに送信すること、
前記決定した経路計画を前記1つ又は複数の第2のノードに送信することに応答して、新しい経路計画を生成することであって、該新しい経路計画は、前記第1のノードに関連付けられた順序コスト閾値及びロボット待機時間見積りに基づいて生成され、前記新しい経路計画は、最小の順序値で高速に移動できる経路計画である、こと、及び
前記第1のノードの前記生成した新しい経路計画を最適化して、最適化した新しい経路計画を取得することであって、前記最適化には、前記1つ又は複数の第2のノードの順序値の変更に基づいて、前記第1のノードの新しい順序値を計算することが含まれる、こと、を行うように構成される、
システム。
【請求項12】
前記1つ又は複数のロボット(126,128)が、前記最適化した新しい経路計画を受信すること、及び
パス検索を介して、前記受信し、最適化した新しい経路計画から行き先ノードへの1つ又は複数のロボット(126,128)のパスを決定すること、を行うようにさらに構成され、
前記パス検索には、
開始ノードから前記行き先ノードにナビゲートするために、前記1つ又は複数のロボット(126,128)からロボット(126,128)に関連付けられた全順序値を推定すること、
前記開始ノードから前記行き先ノードにナビゲートするために、前記推定した全順序値に基づいて最小の全順序値及び最小のロボット待機時間見積りを含むパスを決定すること、及び
前記1つ又は複数のロボット(126,128)の前記全順序値と並行して、前記ロボット(126,128)に関連付けられた前記全順序値の前記変更に基づいて、前記ロボット(126,128)に関連付けられた前記決定したパスを再評価すること、が含まれる、請求項11に記載のシステム。
【請求項13】
前記第1のノードに関連付けられたロボット待機時間見積り及び全順序値に基づいて、前記1つ又は複数のロボット(126,128)の前記行き先ノードを変更すること、又は
前記第1のノードに関連付けられたロボット待機時間見積り及び全順序値に基づいて、複数の行き先ノードを作成すること、を行うようにさらに構成される、請求項12に記載のシステム。
【請求項14】
前記第1のノード各順序スロットの順序値をブロードキャストすること、及び
前記第1のノードに関連付けられた全コスト見積りに基づいて、前記順序値から順序スロットを決定すること、を行うようにさらに構成される、請求項11に記載のシステム。
【請求項15】
前記第1のノードに関連付けられた順序値が1つ又は複数の第2のノードに関連付けられた他の順序値よりも大きい場合に、前記第1のノードに関連付けられた前記順序値が第1の順序スロットを占有し、前記第1のノードの前記順序スロットの階層が、前記順序値に基づいている、請求項14に記載のシステム。
【請求項16】
前記第1のノードが、前記1つ又は複数の第2のノードの順序値と並行して順序値を決定することであって、該順序値は、前記1つ又は複数の第2のノードの前記順序値とは異なる、こと、
前記第1のノードが、前記決定した順序値を前記1つ又は複数の第2のノードに送信すること、及び
前記第1のノードに関連付けられた順序コスト閾値及びロボット待機時間見積りを使用して、前記1つ又は複数の第2のノードの前記順序値の前記変更に基づいて前記順序値を再計算することにより、前記新しい経路計画を更新すること、を行うようにさらに構成される、請求項11に記載のシステム。
【請求項17】
前記第1のノードが前記順序値を提案することは、前記第1のノードに関連付けられた全順序コスト閾値に基づいており、前記全順序コスト閾値及びロボット待機時間見積りは、前記新しい経路計画を更新する反復回数を決定する、請求項16に記載のシステム。
【請求項18】
前記第1のノードに関連付けられた前記順序コスト閾値及びロボット待機時間見積りは、アプリケーションに基づいて事前に決定される、請求項15に記載のシステム。
【請求項19】
前記第1のノードが行き先ノードから移動する場合に、前記第1のノードの前記順序スロットを占有する前記順序値を入札リストから削除すること、を行うようにさらに構成される、請求項11に記載のシステム。
【請求項20】
コンピュータプログラムをその上に具体化した非一時的なコンピュータ可読媒体であって、前記プログラムによって
第1のノードに関連付けられた順序値に基づいて前記第1のノードの経路計画を決定することであって、前記第1のノードは複数の順序スロットを有しており、各順序スロットはそれら複数の順序スロットに関連付けられた順序値を有しており、該順序値は、前記第1のノードからネットワーク内の1つ又は複数の第2のノードまでの距離の尺度であり、占有する順序スロットを決定する、こと、
前記第1のノードの決定した経路計画を前記ネットワーク内の前記1つ又は複数の第2のノードに送信すること、
前記決定した経路計画を前記1つ又は複数の第2のノードに送信することに応答して、新しい経路計画を生成することであって、該新しい経路計画は、前記第1のノードに関連付けられた順序コスト閾値及びロボット待機時間見積りに基づいて生成され、前記新しい経路計画は、最小の順序値で高速に移動できる経路計画である、こと、及び
前記第1のノードの前記生成した新しい経路計画を最適化して、最適化した新しい経路計画を取得することであって、前記最適化には、前記1つ又は複数の第2のノードの順序値の変更に基づいて、前記第1のノードの新しい順序値を計算することが含まれる、こと、を行う、
非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書の開示は、概して、ロボット、より具体的には、マルチロボット経路計画に関する。
【背景技術】
【0002】
狭い限られた空間、特に複数の自律型移動ロボットが一度に空間を通り抜け得る場所での多数のロボットの経路を計画することは、産業上の認識に至っていない。ロボット工学ソリューションプロバイダは、ロボットが特定の線を辿るようにロボットを設計し、周囲に何もないと仮定してロボットを予想通りに動かすことで、同様の問題を処理しようとしていた。このようなシステムの場合に、経路計画は殆ど必要ない。さらに、このようなシステムは、拡張できず、既存の倉庫設計と統合できない。このようなシステムは、経路の再計画が煩雑になり、インフラストラクチャレベルでの再構成が困難であり、障害物がシステムに干渉しないという問題に直面している。そのようなシステム又は他のシステムに新しいロボットを追加するたびに、入力スペースは指数関数的に増える。このため、既存のシステムはロボットの増加の規模に追いついていない。このシナリオは順列組合せの問題につながり、ロボットがスケールアップされるにつれてシステムをマッチングさせることが困難になる。
【発明の概要】
【0003】
本開示に組み込まれ、その一部を構成する添付の図面は、例示的な実施形態を示し、詳細な説明とともに、開示する原理を説明するのに役立つ。
【0004】
本開示の実施形態は、従来のシステムにおいて発明者が認識した1つ又は複数の技術的問題に対する解決策としての技術的改善を提示する。例えば、一実施形態では、プロセッサは、マルチロボット経路計画のための方法を実施する。この方法は、マルチ経路ロボットプランナが、ノードに関連付けられた順序値に基づいてノードの経路計画を決定するステップを含み、順序値は、ノードからネットワーク内の1つ又は複数のノードまでの距離の尺度であり、ノードの順序リストからの順序スロットを占有する。この方法は、マルチ経路ロボットプランナが、ノードの決定した経路計画をネットワーク内の1つ又は複数のノードに送信するステップをさらに含む。この方法は、決定した経路計画を1つ又は複数のノードに送信することに応答して、マルチ経路ロボットプランナが、新しい経路計画を生成するステップをさらに含み、新しい経路計画は、ノードに関連付けられた順序値の閾値及び待機時間見積りに基づいて生成される。この方法は、マルチ経路ロボットプランナが、ノードの生成した新しい経路計画を最適化して、最適化した新しい経路計画を取得するステップをさらに含み、最適化には、1つ又は複数のノードの順序値のステータスの変化に並行して、ノードの順序リストから新しい順序スロットを占有する新しい順序値を計算することが含まれる。
【0005】
別の実施形態では、マルチロボット経路計画のためのシステムが提供される。システムは、命令を格納するメモリと、1つ又は複数の通信インターフェイスを介してメモリに結合された1つ又は複数のハードウェアプロセッサとを含む。1つ又は複数のハードウェアプロセッサは、命令によって、マルチ経路ロボットプランナが、ノードに関連付けられた順序値に基づいてノードの経路計画を決定するように構成され、順序値は、ノードからネットワーク内の1つ又は複数のノードまでの距離の尺度であり、ノードの順序リストからの順序スロットを占有する。システムは、ノードの決定した経路計画をネットワーク内の1つ又は複数のノードに送信するようにさらに構成される。システムは、決定した経路計画を1つ又は複数のノードに送信することに応答して、新しい経路計画を生成するようにさらに構成され、新しい経路計画は、ノードに関連付けられた順序値の閾値及び待機時間見積りに基づいて生成される。システムは、ノードの生成した新しい経路計画を最適化して、最適化した新しい経路計画を取得するようにさらに構成され、最適化には、1つ又は複数のノードの順序値のステータスの変化に並行して、ノードの順序リストから新しい順序スロットを占有する新しい順序値を計算することが含まれる。
【0006】
さらに別の実施形態では、1つ又は複数の非一時的な機械可読情報記憶媒体が提供される。1つ又は複数の非一時的な機械可読情報記憶媒体は、1つ又は複数の命令を含み、命令が1つ又は複数のハードウェアプロセッサによって実行されると、マルチ経路ロボットプランナに、ノードに関連付けられた順序値に基づいてノードの経路計画を決定させ、順序値は、ノードからネットワーク内の1つ又は複数のノードまでの距離の尺度であり、ノードの順序リストから順序スロットを占有する。この方法は、マルチ経路ロボットプランナが、ノードの決定した経路計画をネットワーク内の1つ又は複数のノードに送信することをさらに含む。この方法は、決定した経路計画を1つ又は複数のノードに送信することに応答して、マルチ経路ロボットプランナが、新しい経路計画を生成することをさらに含み、新しい経路計画は、ノードに関連付けられた順序値の閾値及び待機時間見積りに基づいて生成される。この方法は、マルチ経路ロボットプランナが、ノードの生成した新しい経路計画を最適化して、最適化した新しい経路計画を取得することをさらに含み、最適化には、1つ又は複数のノードの順序値のステータスの変化に並行して、ノードの順序リストから新しい順序スロットを占有する新しい順序値を計算することが含まれる。
【0007】
前述の一般的な説明と以下の詳細な説明との両方は、例示的且つ説明的なものに過ぎず、特許請求の範囲に記載されるような本発明を限定するものではないことを理解されたい。
【図面の簡単な説明】
【0008】
本開示に組み込まれ、その一部を構成する添付の図面は、例示的な実施形態を示し、詳細な説明とともに、開示する原理を説明するのに役立つ。
図1】本開示のいくつかの実施形態による、マルチロボット経路計画を最適化するためのコンピュータで実施されるシステムを示すブロック図である。
図2】本開示のいくつかの実施形態による、マルチロボット経路プランナのアーキテクチャを示す図である。
図3】本開示のいくつかの実施形態による、システムアーキテクチャの結果として得られるグラフの例示的な視覚化である。
図4A】本開示のいくつかの実施形態による、経路計画を最適化するための例示的な非限定的な表現である。
図4B】本開示のいくつかの実施形態による、経路計画を最適化するための例示的な非限定的な表現である。
図4C】本開示のいくつかの実施形態による、経路計画を最適化するための例示的な非限定的な表現である。
図5A】本開示のいくつかの実施形態による、2つのロボットの例示的な最適化プロセスを示す図である。
図5B】本開示のいくつかの実施形態による、2つのロボットの例示的な最適化プロセスを示す図である。
図6】本開示のいくつかの実施形態による、マルチロボット経路計画のための方法を示すフロー図である。
【発明を実施するための形態】
【0009】
例示的な実施形態について、添付の図面を参照して説明する。図では、参照符号の左端の数字は、参照符号が最初に現れる図を示している。都合のよい場合にはいつでも、同じ又は同様の部品を参照するために、同じ参照符号が図面全体で使用される。開示する原理の例及び特徴が本明細書に記載されるが、修正、適合、及び他の実施は、開示する実施形態の精神及び範囲から逸脱することなく可能である。本明細書全体を通して「一実施形態」、「この実施形態」及び同様の句への言及は、実施形態に関連して説明する特定の特徴、構造、又は特性が、1つ又は複数の実施形態のうちの少なくとも1つに含まれることを意味する。こうして、本明細書全体の様々な場所でのこれらの句の出現は、必ずしも同じ実施形態を参照しているわけではない。さらに、特定の特徴、構造、又は特性は、1つ又は複数の実施形態において任意の適切な方法で組み合わせることができる。以下の詳細な説明は例示としてのみ考慮され、真の範囲及び精神は特許請求の範囲(明細書に含まれる場合に)によって示されることを意図している。
【0010】
マルチロボットの経路計画を生成及び最適化するための技術の実施形態について、本明細書で説明する。典型的に、パス計画又はナビゲーション計画では、オブジェクト(物体)を送り元(source)から行き先(destination:宛先)に移動する一連の有効な構成を使用する。この用語は、コンピュータアニメーション、ロボット工学、コンピュータゲーム、計算幾何学で使用される。例えば、建物内の移動ロボットを離れたウェイポイント(waypoint)にナビゲートすることを検討してみる。壁を避け、階段から落ちないように、又はマルチロボットの場合には別のロボットで、このタスクを実行する必要がある。動作計画アルゴリズムは、これらのタスクの説明を入力として受け取り、ロボットの車輪に送信される速度及び回転コマンドを生成する。動作計画アルゴリズムは、多数の関節(例えば、産業用マニピュレータ)、より複雑なタスク(例えば、オブジェクトの操作)、様々な制約(例えば、前進することしかできない車)、及び不確実性(例えば、環境又はロボットの不完全なモデル)を含むロボットに対処することができる。動作計画には、CADソフトウェアの自律性、自動化、ロボット設計等のいくつかのロボットアプリケーションのほか、デジタルキャラクターのアニメーション、ビデオゲーム、建築設計、ロボット手術、生体分子の研究等の他の分野のアプリケーションがある。
【0011】
倉庫エンティティ(例えば、倉庫管理者)の計画通りに物事が進まない可能性があるシナリオがあり得る。一実施形態では、ロボットを自律型車両として検討してみる。例えば、計画通りに進まない可能性がある物事には、ロボットの故障、動的な障害物、ロボットの速度低下、ロボットのプロパティの不正確な特性評価、ロボットの速度の誤った推定、1つ又は複数のロボットが特定の場所に適合するかどうか、又はロボットをナビゲートするにはスペースが小さ過ぎる又は制約がある場合等がある。システムは、前述のシナリオを解決するための多くの戦略を提供し得る。例えば、特定のゾーンに複数のロボットが集まっているために閉塞する等、不可能なシナリオがあるとする。このような場合に、システムは、一部のロボットをそのゾーンから他の倉庫エリアに移動させ得る。移動したロボットは、特定の時点でタスクを完了しない場合がある。しかしながら、システムの意思決定は、不可能なシナリオ(複数のロボットによる閉塞)に関連する問題を解決し、ベストエフォート解決策を生成する。
【0012】
本開示の様々な実施形態は、倉庫のような動作環境において上記のシナリオを克服するためのマルチロボット経路計画のためのシステム及び方法を提供する。換言すれば、本開示は、順序値に基づくマルチロボット経路計画システム及び方法を提案する。順序値は、ロボットがノードの上を移動する順序を決定する数値であり得る。ノードに関連付けられた各順序値は、入札(bid)値と呼ばれ得る。入札値はコストに関連付けられ、例えば、ロボットがエッジを介して送り元ノード(あるノード)から行き先ノード(別のノード)に移動するようにスケジュールされている場合に、ノード同士の間のエッジを通過する距離の尺度はエッジを通過するための入札値として呼ばれる。本方法は、パス検索を使用してマルチロボット経路計画を生成する最適化プロセスを提供し、順序値に関連する情報は2つ以上のシステムの間で共有される。また、最適化プロセスは、入札値に関連する情報を動的且つ継続的にブロードキャストすることにより、デッドロック(行き詰まり)状態を回避することにより、循環依存を排除する。システム同士の間のメッセージ/通信の交換が最小限であるため、情報のブロードキャストはシステムの緊急動作に役立つ。
【0013】
本開示の実施形態は、マルチロボット経路プランナ及びパス同期メカニズムの分散型アーキテクチャを提供する。経路プランナは、ノードの全順序閾値及び待機時間見積りに基づいて順序値を反復して再計算することにより、経路計画を最適化し、例えば、その全てによって、開始ノードから行き先ノードにナビゲートするためのロボットに関連付けられた全順序値(total order value)を推定する。最適な経路は、パス検索を介して最適化した経路計画を使用してロボットによって決定される。最適な経路は、開始ノードから行き先ノードにナビゲートするために、推定した全順序値に基づいて、最小の全順序値、及び最小の待機時間見積りを有し得る。さらに、ロボットは、1つ又は複数のロボットの全順序値と並行して、ロボットに関連付けられた全順序値のステータスの変化に基づいて、ロボットに関連付けられた決定したパスを再評価することができる。マルチロボット経路計画の計画及び最適化は、図2図5に関してさらに詳細に説明する。
【0014】
本開示は、交換可能であり、1つ又は複数の実施形態において交換可能に使用され得る様々な用語を指すことが理解される。例えば、「ノード」という用語は、本発明の範囲又は実施態様を変更することなく、「ジャンクション(交差点)」又は「ツリー要素」又は「グラフ要素」と交換することができる。そのような交換は限定的であるとは見なされない場合があり、そのような交換は本発明の範囲内であると見なされる。一実施形態では、自律型車両は、動作環境においてノードと呼ばれることがあり、自律型車両は、ノードに駐車し、ノードで待機し、ノードを介して移動し、ノードで停止し、ノードでナビゲートを完了する1つ又は複数の車両であり得ると理解される。また、「経路」、「経路計画」、「軌道」、「移動計画」、「ナビゲーション計画」等の用語は、同じ用語を示し、ユースケースシナリオに従って、様々な場所で使用されると理解される。1つ又は複数のプロセスステップの実行は、プロセスステップの実行の結果である出力につながることが理解される。
【0015】
本明細書で説明する技術は、経路計画を最適化する堅牢なクラウドプラットフォームに関連している。例示的な実施形態では、プラットフォームは、複数のデータ構造を利用して、動作環境を表し、経路計画を生成し、あるノードから別のノードへの車両の最適化した移動を可能にする。このプラットフォームは、2台以上のロボット間の循環依存等、重要なシナリオについて生成した1つ又は複数の経路計画を解析するための様々な手法を提供する。プラットフォームは、生成した1つ又は複数の経路計画を解析する際に、ヒューリスティック(heuristics)、コスト関数、メトリック等を適用して、パスを反復的且つ動的に計画できる新しい経路計画を特定する。例示的な実施形態では、生成した1つ又は複数の経路計画を解析する際に、プラットフォームは、ノード同士の間の経路計画のうちの1つが循環依存につながる可能性があると判定されたときに、複数の行き先ノードを動的に作成又は削除することができる。作成した複数のノードをプラットフォームで使用して、デッドロックを回避するための代替経路計画を生成したり、コスト関数を使用してより良い経路計画を生成したりできる。例示的な実施形態では、システム又はクラウドプラットフォームは、経路計画を解析及び最適化するのために、速度スケーリング、アップサンプリング、パッシブパス(passive path)、駐車可能ノード、非重複ノード、優先度メトリック、時間ペナルティ等を含む複数の技術又はデータの1つ又は複数又は組合せを利用し得る。次に、システムは、最適化した経路計画を1つ又は複数の自律型車両に配信することができる。マルチロボット経路計画のための上記のシステム及び方法の詳細な説明は、図1図6を参照して表された図に関して示される。
【0016】
ここで、図面、より具体的には図1図6を参照すると、同様の参照符号が図全体を通して一貫して対応する特徴を示す場合に、好ましい実施形態が示され、これらの実施形態について、以下の例示的なシステム及び/又は方法の文脈で説明する。
【0017】
図1は、一実施形態による、マルチロボット経路計画のためのコンピュータで実施されるシステムを示すブロック図である。一実施形態では、システム100の目的は、マルチロボットナビゲーションを提供し、衝突チェックなしでロボットの依存性を低減することである。システム100は、経路計画を最適化するために処理装置によって実行されるコンピュータ可読命令を含む、1つ又は複数の処理装置及び記憶装置を含み得る。システム100は、ユーザの直接的で積極的な管理の有無にかかわらず、コンピュータシステムリソースのオンデマンド可用性とみなすことができるクラウドプラットフォーム110を含む。クラウドプラットフォームには、経路計画又は軌道を生成及び保存するための1つ又は複数のプロセッサ及びメモリが含まれる。一実施形態では、クラウドプラットフォーム110は、本明細書で説明するように、経路計画又は軌道、及び経路計画を生成するための関連データを格納するためのデータベース111を含む。一実施形態では、関連データは、装置の状態情報、統計、ナビゲーション、トラバースツリー又はグラフ、前提条件、経路テーブル等に関連する他の情報であり得る。クラウドプラットフォーム110は、マルチロボット経路プランナ(mrrp)112を含み、このプランナ112には、時間依存なしで及び衝突のチェックなしで、経路計画の最適化に関連する主要なタスクを実行するための1つ又は複数のプロセッサ及びメモリが含まれる。一実施形態では、mrrp112は、経路計画に関連する様々なタスクを実行するためのサーバ、システム、同等の装置、ソフトウェア、又はハードウェアコンポーネントとして機能し得る。mrrp112は、表現及び単純化の目的で、クラウドプラットフォーム110のモジュールとして示されている。しかしながら、mrrp112は、経路計画に関連するタスクに関与する他のシステム又はプラットフォームのコンポーネントとして機能し得る。クラウドプラットフォーム110は、ディスパッチャ113を含み、その主な機能がタスク割り当てであり、どの自律型装置が特定のタスクを特定の時間に実行すべきかを決定する。ディスパッチャモジュールは、通信層124上のタスクに関連する詳細を、所与の時間に実行されるタスク及び行き先を知っている1つ又は複数の自律型装置に通信する。次に、自律型装置は、通信層124を介してmrrp112と相互作用するようにプログラムされる。システム100は、障害物マップ、グラフ、ツリー構造、及び他の関連する入力等の入力を受信し、マップ、グラフ、ツリー、シミュレートした環境等の表現を表示するため使用され得るダッシュボード116も含む。ダッシュボード116は、(自律型車両にマップ(map:地図)又はUI等上のある場所から別の場所に移動するように指示するような)マルチロボット経路計画に関連する様々な機能及び自律型車両機能に関連する他のタスクのためのUI 118、シミュレータ120、及び設計122を含み得る。UI 118は、障害物マップ又は経路計画に関連する他の入力を受信するために使用され得る。シミュレータ120は、動作環境における自律型装置のナビゲーションパスを表すためのマップを含むシミュレーション環境を提供する。システム100は、複数のロボット、例えば、ロボット126及びロボット128のような異種自律型装置をサポートする。
【0018】
経路計画の最適化に関係する様々な技術について、本明細書で説明する。このシステムは、マルチロボット経路プランナを含むクラウドプラットフォームを含む。マルチロボットプランナは、倉庫、建設現場、病院等の動作環境に関連する1つ又は複数のコンポーネントを含む。一実施形態では、ノードは、動作環境における空間の領域とみなすことができる。マルチロボットプランナは、最良の推定(見積り)として1つ又は複数の経路を計画する複数のモジュールを含む。モジュールは、重要な意思決定シナリオの1つ又は複数の経路計画を解析することができ、例えば、渋滞を最小限に抑えたり、衝突をチェックしなかったりする。モジュールが経路計画を解析した後に、システムは、マルチロボット経路プランナを利用して、解析に基づいて経路計画を最適化する。最適化した経路計画は、1つ又は複数の自律型車両に配信される。
【0019】
動作環境は、倉庫、病院、建設現場、オフィス、造船所(dockyard)、造船所(shipyard)、道路、鉄道等を含み得る。シミュレータ122はまた、自律型装置に、マルチロボットパスナビゲーション及び計画の経路計画を最適化するための特定のタスクを実行するように指示するために使用され得る。指示の1つには、あるロボットのナビゲーションが別のロボットのナビゲーションに影響を与える可能性のある優先順位又はパラメータを提供すること等を含み得る。設計122は、障害物マップ等の入力を編集し、カスタマイズしたステータス情報、例えば、特定の時間での動的衝突の可能性、例えば、特定の日時の交通状況に基づいて、特定の日時の交差点での無人自動車等の特定の自律型装置の到着の可能性等の入力を提供するための設計環境を提供し得る。入力又は命令は、ダッシュボード116の任意のコンポーネント、又はシステム100の他のコンポーネント、例えば倉庫管理システム又は制御システムによって提供され得る。一実施形態では、倉庫管理システム又は制御システムは、自律型装置と調整し且つマルチロボット経路計画を生成するために、クラウドプラットフォーム100のコンポーネントとインターフェイスするように構成され得る。様々な外部又は内部コンポーネントの結合は、通信層124を介して、又は任意の他の非限定的な通信手段によって行うことができる。通信層124は、顧客又は他の利害関係者が、カスタマイズしたロボット工学ソリューションのためにロボット工学ソフトウェア又はハードウェアを統合できるようにカスタマイズされ得る。システム100及びそのコンポーネントの1つ又は複数の機能について、図2図5に関してさらに詳細に説明する。
【0020】
図2は、本開示のいくつかの実施形態による、マルチロボット経路プランナのアーキテクチャを示している。一実施形態では、マルチロボット経路プランナのアーキテクチャは、ナビゲーションマップジェネレータ、すなわち、パス同期202を含み得る。パス同期202は、ネットワーク内を横切る(traverse:移動する)自由空間の領域内に1つ又は複数のノードを含むグラフ又はナビゲーションマップの表現である。例えば、図2に示されるように、ノード204は、順序リスト206を含む円で表されている。説明の目的で、3つの順序スロットのみが図2に示されているが、複数の順序スロットがあり得る。実施形態の1つでは、グラフ内の各ノードは、順序リスト又は入札リストを含む。入札リストは、複数の順序スロット、例えば、順序スロット208又は入札スロットを含み得る。順序リスト206は、入札の価格及び入札が決定されるノードに関連する情報を含む。ネットワーク内の全ての単一ノードは、ノードの入札価格、各入札スロットの価格、及び入札が決定されるノードに関連する情報を含む入札リストを表す。パス210は、ネットワーク内の別のノードに接続する/移動するノードの軌道である。軌道は、ある入札スロットを別の入札スロットに接続する点線で表される。一実施形態では、パス210は、入札を提示しているノードに関連する情報、及びノードによって提示される入札価格が何かを含む入札リストを表す。ここで、入札のコスト又は価格は、ノード同士の間を移動したパス210又は距離を決定する。本アーキテクチャでは、パス同期202は、複数のロボット間でデータ構造を同期させる。
【0021】
一実施態様では、パス同期202は、ネットワーク内の各ノードを同期させる分散データ構造を含み得、次に、パス検索中にデータを連続的にブロードキャスト/更新することによってロボットを同期させる。この実施態様では、各ロボットは、図1のmrrp112によって生成されたマップ/グラフを使用して最適な経路を計画する。パス同期202は、グラフの同期に関連する情報をブロードキャストする分散型インターフェイスであり得る。ブロードキャストされる情報には、決定した最適な経路の現在のステータス、ネットワーク内の各ノードの決定/状況の変化に基づいて決定した最適な経路の進行状況が含まれ得るが、これらに限定されるものではない。別の実施態様では、パス同期202は、各ロボットが中央システムに接続し、生成した地図/グラフに関連する情報を受信する中央システムであり得る。中央システムは、中央サーバでマップを生成する。この中央システムでは、各ノードが他のノードに関連する情報を受信し、システムがサーバに接続するたびに各システムを更新する。一実施形態では、パス同期202は、本開示で規定される1つ又は複数のインターフェイスであり得、複数のロボットが、1つ又は複数のインターフェイスと通信する。分散型パス同期202では、各ロボットは、各ノードの、ネットワーク内の1つ又は複数のノードへのブロードキャスト情報に基づいて、最適な経路を同時に入札及び計画している。例えば、第1のロボットがノードの入札スロットを決定しているときに、第1のロボットよりも高い入札額を有する第2のロボットからの更新があり得る。このようなシナリオでは、第1のロボットは、第2のロボットからの更新した情報を受信する前及び/又は後に、決定した最適な経路を動的に再計画又は再評価する必要がある。入札及び計画プロセス中に、各順序スロットは順序値に関連付けられて占有され、最高の順序値は第1(最高)のスロットを占有する。従来の入札とは異なり、入札のメカニズムはバイナリ(2値)ではない。他のロボットよりも高値を付けるロボットは、第1(最高)のビッドスロットを占め、低いビッドスロットから上に移動する。別のロボットがスロットをより高い値を付けると直ぐに、ロボットは、スロットを離れ、ロボットの決定に基づいて別のスロットを占有する。このため、このプロセスは、入札スロットの勝ち負けではなく、各ノードのステータスの変化に基づいて入札スロットを占有及び撤回する継続的なプロセスで終了する。入札の順序又は時系列は、従来のタイムスタンプ/時間の進行に基づくのとは異なり、入札の価格又は入札値に基づいて決定することができる。第1のロボットが第2のロボットより高い値を付けた場合に、第2のロボットは、速度を落とし、第2のロボットに関する正しい決定を待つ。ここでのパス検索は、ノードと、ノードに関連付けられたコストとを表す。例えば、第1のロボットは、それが最高入札でない限り、第1の入札スロットを占有しない可能性があるため、第1のロボットは、第2のスロットを占有する可能性がある。第1のロボットが最高額を入札して第1のスロットを占有すると、その第1のロボットは、以前の入札を撤回してノードを通過するため、第2又は第3のスロットで待機している第2のロボットが第1のスロットを占有する可能性がある。このため、パス検索及びトラバース(通過)メカニズムは、ノードと、ノードに関連付けられたコストとに基づいている。
【0022】
この例では、ロボットはシステム又は装置であり得る。システムは、ロボットナビゲーションの最上位層であるパス検索を備えた抽象化層を含み得る。一実施形態では、抽象化層は、ロボットの速度を制御し、ロボットの動きに関する情報、例えば、前進する方法、調整し且つ局所的な障害物を回避することによりネットワーク内のある地点から別の地点に到達する方法、制限速度等に関する情報を提供するための下位層を含み得る。ナビゲーション層又はパス検索層は、他のロボットの回避、パスの長さの計算、グラフ検索、及び論理ナビゲーション決定に関連する情報を提供することができる。一実施形態では、ロボットの自律的動作を制御するために、例えば、倉庫内の作業シフトがタスクのリストを提供し得る前に、倉庫内の様々な通路又はゾーンからオブジェクトを拾い上げ、目的地に降ろすアプリケーション要件に従って、別個のユーザインターフェイスが提供され得る。これは、例えばスプレッドシート形式(input.xlsファイル)等の任意のドキュメント形式でシステムに入力することもできる。
【0023】
図2に示されるように、ロボットナビゲーションパス検索212及び214は、生成した経路計画を解析し、経路計画を最適化し、生成した最適な経路を再評価する。図2において及びここで説明するように、単純化及び理解の目的で2台のロボットのみについて検討している。しかしながら、本発明は、ロボットの数及びロボットのタイプに限定されるものではない。パス検索には、開始ノードから行き先ノードにナビゲートするために、1つ又は複数のロボットからロボットに関連付けられた全順序値を推定することが含まれる。最適化した経路計画は、動作環境内の1つ又は複数のロボットによって受信され、各ロボットは、ロボットのアプリケーション又はユーザ規定のサービスに基づいて最適な経路を決定する。最適な経路の決定は、最小の全順序値と、開始ノードから行き先ノードにナビゲートするために推定される全順序値に基づく最小の待機時間見積りとに基づいている。例えば、優先度の高いタスクを有するロボットは、より高い入札値を提案すると同時に、入札スロットでの待機時間を短縮し、入札スロットのリストの間をより速く移動することにより、待機時間を節約することができる。ここで、最適な経路は、最小の合計入札値、つまり、ロボットが行き先ノードに到達するために通過する最速の経路/距離によって規定される。最小の全順序値及び最小の待機時間見積りに基づいて最適な経路計画を決定している間に、ロボットは、ノードを通過する動作環境内の他のロボットに関連する情報を受信することができる。受信した情報に基づいて、ロボットは、1つ又は複数のロボットの全順序値と並行して、ロボットに関連付けられた全順序値のステータスの変化に基づいて、決定したパスを再評価することができる。例えば、以前のステップでロボットが決定した最適な経路計画は、別のロボットがそのロボットの順序値よりも高い入札を行った場合に、最善の解決策ではない可能性がある。この場合にも、そのロボットは、他のロボットのステータスの変化に照らして最適な経路計画を再評価し、そのロボットに関連付けられたコスト閾値及び待機時間見積りに対応する最適な解決策を決定する。2つ以上のロボットの間の前述した最適化プロセスの視覚化は、図3においてグラフに関してさらに詳細に説明する。
【0024】
図3は、本開示のいくつかの実施形態による、システムアーキテクチャの結果として得られるグラフの例示的な視覚化である。結果として得られる3Dグラフは、最適化した経路計画にアクセスする2つのシステム/ロボットを含むシステムアーキテクチャの出力例である。x軸は入札の価格を表し、y軸は暗黙的な時間の流れである。システムアーキテクチャの出力は、環境内で動作する2台以上のロボットの時間依存グラフも表すことができる。例えば、図3に示されるように、入札値の価格及び時間の流れに関する2つのロボットの軌道を示す2つの別々の線がプロットされる。第1のロボット軌道302及び第2のロボット軌道304は、軌道の方向を指す矢印を用いて3Dグラフを通過している。軌道302及び304は、それぞれ、第1のロボット及び第2のロボットの入札リストを表す。軌道302及び304の停止点は矢印で示される。一実施形態では、第1のロボット軌道302は、より高い優先度を有しており、第2のロボットの軌道304よりも高い入札値でプロットされる。停止点310において、第1のロボットは、入札値が第2のロボットよりも低い軌道に到達し、このため、第2のロボットの軌道が停止点308を通過するまで待機する。現在のシステムアーキテクチャによれば、原則として所与の時間に、任意の2つのロボットは同じノードに同じ入札値を入札できないため、一方のロボットを強制的に待機させ、それにより、各反復での衝突チェックの必要性を排除している。図3に示されるように、第1のロボットは停止点310で待機し、第2のロボットは停止点306で待機する。この例では、第2のロボットの入札スロットは、より高い入札額に変更され、第1のロボットよりも優先されるため、より高い入札額を占め、特定のノードを通過し、それまで、第2のロボットよりも低い入札額の第1のロボットは、第2のロボットが特定のノードを通過するのを待つ。
【0025】
図3の依存グラフに示されるように、システムは、動作環境内の2つ以上のロボットの間の任意の所与の時点(ポイント)で同じノード及び同じ入札がないという規則に従い、それにより、ロボット同士の間の循環依存を回避する。現在のルールは、一方のロボットが、他方のロボットがノードを通過するまで待機するように強制するだけでなく、ノードに関連付けられたコスト閾値及び待機時間見積りに基づいてロボットの速度を遅くする。例えば、ロボットに割り当てられたタスクの優先度が低く、そのタスクの待機時間見積りが高く、コスト閾値が比較的低い場合に、そのようなロボットは、より高い入札スロットが通過するまで、低い入札スロットで待機することを好む場合がある。別のシナリオでは、ロボットに、より短い待機時間でより高い優先度のタスクが割り当てられ、このため、そのようなロボットは、より高い入札値を計算し、より高い入札スロットを占有し、他のロボットよりも速く通過することができる。本システムの分散型アーキテクチャは、ネットワーク内の各ノードの入札値及び入札スロットに関連する情報をブロードキャスト及び同期することを可能にする。
【0026】
図4A図4Cは、本開示のいくつかの実施形態による、経路計画を最適化するための例示的な非限定的な表現である。一実施形態では、自由空間の領域内の各ノードは、1つ又は複数のノードに接続される(図4A図4Cに実線の直線で示される)。この例では、開始ノードSから行き先ノードDまでのロボットの軌道の開始時に、移動する距離のコストはゼロであると想定される。一般に、コスト見積り値は常にゼロ以外の数値である。これは、軌道(エッジを通過する)の前に、装置/ロボットのシステムが実際のコスト見積りを認識しておらず、例として、ゼロと想定されるためである。図4Aに示されるように、任意の経路からエッジを経由して行き先ノードDまで移動するためのコスト見積りはゼロである。ロボットがノードSからAまでエッジを通過すると、エッジのコストは少なくとも1であることが分かる。例えば、コストがゼロであると仮定して、ロボットはSからAまで移動するが、パスを通過すると、エッジのコスト見積りは既知になり、現在は1(ゼロ以外の数値)であると想定される。同様に、ノードAからノードDまでのコスト見積りはゼロと想定されるが、ロボットがエッジを通過すると、コストは1と推定される。これで、SからDまで移動するロボットは、送り元ノードから行き先ノードDまで通過するコスト見積りを認識する。ただし、システムは、本開示に従って、方法ステップを実行して、ロボットにとって最適な経路に達する。本明細書において、最適な経路は、特定のロボットに適した状況及び値、例えば、順序値の閾値又はコスト閾値及び待機時間見積りに関連する。エッジを通過している間に、コスト見積りが増加すると、システムは他の選択肢をチェックバック(check back:検査)して、可能な限り最良の経路に達する。ここで、最良の経路計画は、コスト見積りが段階的に作成されるため、最小のコスト見積りで最速で移動できる計画である。この例では、図4Bに示されるように、ロボットは、送り元SからBまで別の経路を取り、図4Aのプロセスと同様である1のコスト見積りに達する。さらに、ロボットがノードBからノードCへのパスを横断するときに、コスト見積りは1であり、同様にCからDへのパスを横断するときに、コスト見積りは1である。図4Bに示されるように、パスを介して送り元ノードSからDまでの距離のコスト見積りは現在既知である。パスを逆に辿って、ロボットの特定の状況に最適な経路を確認する。ロボットのシステム又は最適化アルゴリズムは、図4Cに示されるようにパスを逆に辿る(traverse back)(バックトラッキング:back tracking)する。パスを逆に辿ると、コスト見積りはノードCからBまで2に増加する。同様に、ノードBからSの場合に、コストはエッジを通過してバックトラッキングすることで2に増加する。従って、増分コスト見積りの結果として、システムはコスト見積りを再計算して、最適な経路計画又は最適化した経路計画に達する。一方、この場合のシステム又はロボットは、1つ又は複数のロボットが通過する他のノードのコスト見積りに関する情報を継続的に受信する。一実施形態では、経路計画周辺の状況がロボットのパス検索の途中で変化した場合に、システムは、1つ又は複数のロボットの変化した状況又は現在の状況(すなわち、ノードの現在の入札値/入札スロット)に基づいて、到達される最適な経路を再計算する。基準が満たされると、最良の経路の再計算の反復は終了する。一実施形態では、事前に決定された基準は、通過(traverse)コスト、すなわち、エッジを通過するためのコスト、開始ノードから行き先ノードまでのノードのコスト見積り、及びノード内の各入札スロットの価格を含み得る。基準に基づいて、最適な経路の最適化プロセスが終了し、ロボットは最適な経路を通過して行き先ノードに到達する。
【0027】
図5A及び図5Bは、本開示のいくつかの実施形態による、2つのロボットの例示的な最適化プロセスを示している。一実施形態では、ロボットA及びロボットBは、あるノードから別のノードへのパスを移動している。図5A及び図5Bに示されるように、ロボットAはノード1からノード4へのパスを移動しており、ロボットBはノード4からノード1へのパスを移動している。例えば、ロボットAは値1を入札し、ノード1、2及び3について順序リストからの順序スロットを占有する。入札値は、図5A及び図5BにおいてA-1として示される。同じ例において、ロボットBは、ノード3、2、及び1のそれぞれについて、ロボットAの入札値よりも高い又は低い入札値を入札することにより、ノード4からノード3に移動することができる。ロボットBの開始位置はノード4であり、ノード4についてのロボットBの入札値はB-1であり、ノード3について、図5Aに示されるように、ロボットBは、B-0.5又はB-2のいずれかの入札値を有することができる。例えば、ロボットBが入札値B-0.5を提示することを選択した場合に、ロボットBは、ノード3で入札値A-1のロボットAを待つ。換言すれば、一実施形態では、ロボットBは、ノード3においてロボットAの入札値よりも低い入札値を決定することができ、これは、ロボットBのより長い待機時間見積りを示す。代替実施形態では、ロボットBは、ノード3においてロボットAの入札値よりも高い入札値を決定することができ、これは、(ロボットBの)高い優先度、待機時間見積りが低く、入札額が高くなることを示す。どちらのシナリオでも、決定は、他のロボットと並行して、コスト閾値及び待機時間見積りに基づいている。ロボットAがノード1、2、3についてA-1の値を入札すると、入札を提示したノード、占有される入札スロット、及び占有されるスロットの入札値に関連する情報が、ロボットBを含む他のロボットにブロードキャストされる。換言すれば、ノード3について入札値を提示する前のロボットBは、ロボットAの入札に関連する情報を受信し、それによって、ロボットAの入札と並行して最適な経路計画の決定を行う。
【0028】
一実施形態では、図5Bに示されるように、ロボットBは、入札値B-2によってノード4からノード3に移動している可能性がある。ここで、ロボットBは、ロボットAの入札値A-1に対して優先度を有しているため、ロボットAは、スロットB-2のロボットBが通過するまで、スロットA-1で待機する。ただし、例えば、ロボットBが順序値0.5を入札し、ノード2において順序スロットB-0.5を占有している場合に、B-2は、ノード2からノード3に移動するA-1に依存する。A-1がロボットBの入札スロットB-0.5よりも優先度が高い場合に、ロボットBは、A-1スロットを有するロボットAがノードを通過するまでB-0.5スロットで待機する場合がある。しかしながら、B-2はA-1よりも優先度が高いため、A-1はノード2からノード3に移動するためにB-2に依存している。この例では、A-1はB-2に依存しており、B-2はA-1に依存しているため、2つのシステムの間に循環依存関係が作成される。本開示によれば、循環依存シナリオは、ロボットが通過する各ノードの順序値に関する情報を動的且つ継続的にブロードキャストすることによって排除される。例えば、ノード4からノード1に移動するプロセスの開始時に、ロボットBは、ロボットAに関連付けられた情報を受信する場合と受信しない場合がある。ただし、ロボットBがロボットAの入札値、入札スロット、及び入札ノードによって共有される情報を受信すると、ロボットBは、情報をデータベースに保存し、それによって、ロボットAによる共有情報に基づいて決定した経路計画を再評価することにより、デッドロック状況/循環依存が回避される。この例では、図5Bに示されるように、点線は、最適化の規則に反して、スロットB-2からB-0.5に移動することによって、ノード3からノード2に移動する経路を表す。一実施形態では、ノード3からノード2に移動するコストは、コスト閾値Bを超えるロボットBによって無限大と見なされ得、こうして、ロボットBは、B-2からB-0.5への入札スロットを占有するための値を入札することができない。また、ノードが無効になると(コストが無限大と見なされる場合に)、情報は1つ又は複数のロボットにブロードキャストされ、それによって、1つ又は複数のロボットによる最適な経路を計画するために無効なノードが回避される。
【0029】
一実施形態では、本開示は、2つ以上のロボットのための動的な最適化経路計画プロセスを提供する。本開示は、入札値の連続的な変化、生成したグラフ、及びノード周辺の状況を含むシステム及び方法を提供する。一実施形態では、システムは、パッシブパス及び駐車不可能なノードのようなグラフ特性に基づいて経路計画を解析する。システムは、渋滞の問題の回避に関連する手法の1つを使用し得る。システムは、ヒューリスティックを適用して渋滞を解決する。ヒューリスティックは、トラフィックが多い可能性のあるマップ内のノードを識別し、そのノードを駐車不可として指定することができる。ヒューリスティック解析に基づいて、システムは、これらの駐車不可能なノードでの停止又は待機を含まないように経路計画を最適化することができる。自律型車両が駐車不可能なノードに集まると、システムは、パッシブパスを用いて経路計画を更新、再計画、又は最適化して、これらのノードで停止又は待機するのではなく、迂回する。このシステムは、経路の遮断を回避し、車両が渋滞を引き起こさないように予防措置を講じている。
【0030】
一実施形態では、システムは、非重複ノードのようなグラフ特性に基づいて経路計画を解析する。グラフを設計するときに、ロボットはノードで待機しなければならない。そのため、グラフ内のノードが重複していないことを前提としている。全ての単一ノードには、ノードが占有する空間の量を規定するプロパティがある。例えば、ノードの表現を幾何学的形状、円として検討してみる。第1のノードのどこかにロボットがあり、第2のノードの別の場所に別のロボットがある場合に、それらの領域が占有する空間は重複しないことが理解される。このため、ノードは重複していない。システムは、ロボットがノードに到達した場合に、そのロボットは、ノード内にあり、他のノードの他のロボット/人間に干渉していないと想定する。これにより、システムの効率が向上し、他のノードのスキャンを回避できる。システムは、ノード内で待機しているロボットを、ノード周辺を移動する他のロボットに干渉していないとみなす。このため、これは、ノードが動作空間内の他のノードと重複してはならないことを義務付けている。
【0031】
一実施形態では、生成し、最適化した経路計画を受信する2つ以上のロボットは、マルチパス検索を実行することができる。例えば、最適な経路に到達するための反復は、ラウンドロビン(round robin)経路計画に基づいており、第1のロボットが経路計画を決定し、第2のロボットが第1のロボットの状況を変更する経路計画を決定する場合がある。このような状況では、第1のロボットは、第2のロボットの決定に基づいて経路を再計画する必要があり得る。例えば、プロセスは順番に行ったり来たりする場合がある。別の例では、各ロボットに関連付けられたプロセッサ時間に応じて、そのプロセスは非順番であり得る。最適化プロセスでは、第1のロボットによって最適な経路が決定されると直ぐに、その経路は、他の1つ又は複数のロボットの現在のステータスに基づいて直ぐに変更される場合がある。このようなシナリオでは、決定した最適パスを選択するか、又は新しい最適パスを決定するかの決定は、第1のロボットに逆戻り(fall back)する。第2の反復において、第1のロボットは、他の1つ又は複数のロボットに基づく最適なパス又は代替パスを逆に辿ることができ、1つ又は複数のロボットに関連する決定が第1のロボットの決定に影響を及ぼさない場合に、第1のロボットは最適な経路計画で続行する。一方、1つ又は複数のロボットの決定は、第1のロボットの最適な経路計画の影響を受けず、1つ又は複数のロボットが反復を継続するか、又は決定に達する。これにより、第1のロボット及び1つ又は複数のロボットは、それぞれの最適な経路を再計画する反復を終了することによって最適な経路計画に達する。別の実施形態では、1つ又は複数のロボットの入札が第1のロボットよりも高い場合に、第1のロボットは、待機時間見積り、コスト閾値、各スロットに関連付けられた入札等の要因を考慮することによって、最適な経路を再計画する必要がある。例えば、第1のロボットが1つ又は複数のロボットが移動するまで待機できる場合に、その第1のロボットに1つ又は複数のロボットよりも高く入札する価値がある場合に、又は代替経路計画を決定できる場合等に、要因を調整できる。条件付けされた要因は、最初に計画した最適な経路よりも代替解決策に達するのを容易にし得る。最適化の反復プロセスは、1つ又は複数のロボットの決定に照らして以前の解決策が満たされない場合に、入札値を再計算し、新しい解決策に達することにつながる。また、コスト閾値が無限大ではないため、解決策によってデッドロック状態が発生することはなく、このため、ロボットは、前提条件をチェックしながら最適な決定に達する必要がある。コスト閾値を超えると、ノードは、パッシブ(passive:受動的)経路を取り、ネットワークからドロップアウト(drop out:脱落)する。
【0032】
一実施形態では、パスがパッシブであり、駐車不可能なノードが存在する場合に、いくつかのシナリオにおいて、システムは、パッシブ経路上を移動するロボットが駐車不可能なノードを行き先にするのを許可しないように経路計画を最適化することができる。防火ゲート(fire gate)に関連する安全シナリオを検討してみる。火災警報器が鳴ると、システムは自動的に防火ゲートを閉じ、全てのシステムコンポーネントは、全てのタスクを停止してアイドル状態に移行するように指示される。ただし、このような重大なシナリオでの懸念事項の1つは、システムの停止指示により、ロボットがこれらの防火ゲートの下で停止する可能性があることである。これにより、防火ゲートがブロックされ、ゲートを閉じることができなくなる可能性があり、これは、重大なリスクと見なされる火災災害につながる可能性がある。このシナリオは、ロボットに損傷を与える可能性もある。システムは、倉庫の重要なシナリオについての経路計画を解析し、ロボットが駐車禁止ノードに到達すると、防火ゲートと一致するノードを駐車禁止としてマークする。次に、解析に基づいて経路が最適化され、ロボットは、停止する代わりにパッシブ経路を要求する。ロボットが駐車可能なノードにある場合に、ロボットは停止し、その場所に留まる。ただし、ロボットが駐車可能なノードにない場合に、ロボットは、最も近い駐車可能なノードに移動する。このシステムにより、重要なシナリオを処理するための経路計画の最適な生成が可能になる。重要なシナリオには、衝突、火災災害、交通渋滞、損傷、安全上の問題、倉庫又はロボットの生産性、使用率、効率に影響を与え得るパフォーマンス等が含まれる。一実施形態では、アワーセール(one-hour sale)、プライムデイセール(prime day sale)、ディスカウントデイセール(discount day sale)等、倉庫内のロボットのパフォーマンスはビジネスに影響を与える。このため、そのような期間中のロボットによるパフォーマンスは、重要なシナリオと見なされ得る。
【0033】
図6は、本開示のいくつかの実施形態による、マルチロボット経路計画のための方法600のフロー図を示している。方法600は、コンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、コンピュータの実行可能命令には、特定の機能を実行し又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、プロシージャ、モジュール、関数等を含めることができる。方法600は、通信ネットワークを介してリンクされた遠隔処理装置によって機能が実行される分散コンピューティング環境でも実施され得る。方法600を説明する順序は、限定として解釈されることを意図しておらず、説明する方法ブロックの任意の数を任意の順序で組み合わせて、方法600又は代替方法を実施することができる。さらに、方法600は、任意の適切なハードウェア、ソフトウェア、ファームウェア、又はそれらの組合せで実施することができる。一実施形態では、フローチャートに示されている方法600は、システム、例えば、図1のシステム100によって実行され得る。図6の方法600について、以下、図1図5を参照して、より詳細に説明する。
【0034】
図6を参照すると、図示の実施形態では、方法600は602で開始され、この方法は、マルチ経路ロボットプランナが、ノードに関連付けられた順序値に基づいてノードの経路計画を決定するステップを含み、順序値は、ノードからネットワーク内の1つ又は複数のノードまで移動した距離であり、ノードの順序リストからの順序スロットを占有する。例えば、図2に示されるように、各ノードは、複数の順序スロットを含む順序リストを含む。事前に規定されたコスト見積り及び待機時間見積りに基づいて、あるノードから1つ又は複数のノードへの経路が決定される。順序値は、ノードが1つ又は複数のノードまで移動する距離を決定し、複数の順序スロットからの順序スロットを占有する。例えば、別のノードが以前の高い入札値よりも高い値を入札しない限り、より高い順序値が最上位の順序スロットを占有する。同様に、次に高い順序値は、複数のスロットのうち第2に高いスロットを占有する。入札に提示される各順序値は、ノードに関連付けられたコスト閾値及び待機時間見積りに基づいて決定される。本開示によれば、入札は、ロボットがノード上を移動する順序を決定する数であり得、これは最適な経路を計算する。入札価格のヒューリスティックは、第2に良い代替案(決定境界)のコストに等しく設定することである。コスト閾値はユーザ規定であり、閾値を超えると、基本的にコストの最適化/計算プロセスを終了する。終了したプロセスは、現在のスロットのノードから可能な次の順序スロット、例えばグラフエッジを介して到達可能な別のノードのスロットを決定することにより、逆戻り先(fallback destination)を辿る。逆戻り先のプロセスは、既存の経路計画の循環依存を排除する。さらに、待機時間見積りは、タスクの緊急性に基づいてユーザが規定することができる。
【0035】
604において、この方法は、ノードの決定した経路計画をネットワーク内の1つ又は複数のノードに送信するステップを含む。ノードの決定した経路計画は、ネットワーク内の1つ又は複数のノードにブロードキャストされる。ノードのブロードキャストした経路計画に基づいて、1つ又は複数のノードは、1つ又は複数のノードのそれぞれに対応する経路パスを決定する。ブロードキャストされる情報には、通過コスト、ノードのコスト見積り、及び入札スロットの価格(基本価格)が含まれ得る。通過コストは、あるノードから別のノードに移動するための入札コストである(ここでは、エッジを介してあるノードから別のノードに移動する)。ノードのコスト見積りは、開始位置から行き先ノードまでのノードのコストである。基本価格には、入札スロットのリストからの入札スロットを占有するために提示される入札の推定価格が含まれ得る。情報はネットワーク内の1つ又は複数のノードに継続的にブロードキャストされるため、各ノードは、同期され、既存の経路パスを動的に計画及び再計画して、最適な見積りに達する。継続的なブロードキャスト情報により、ネットワーク内のノード同士の間の複数の通信(複数のメッセージの送受信)が排除される。情報は全てのステップで受信されるため、経路が再計画されると、その経路は、情報がない場合ではなく、システムに保存されているブロードキャストされた情報から開始され得る。また、ノード周辺の状況が動的に変化するため、現在のパス検索の入札値及びコスト見積りが変化する可能性があり、このため、入札及び計画のプロセスは、システム/装置の同時プロセスである。
【0036】
606において、この方法は、決定した経路計画を1つ又は複数のノードに送信することに応答して、マルチ経路ロボットプランナが、新しい経路計画を生成するステップを含み、新しい経路計画は、ノードに関連付けられた順序値の閾値及び待機時間見積りに基づいて生成される。新しい経路計画は、1つ又は複数のノードの間でブロードキャストされた情報に基づいて決定される。通過コスト、ノードのコスト見積り、及びノード内のスロットの基本価格に関連する情報が、ネットワーク内の1つ又は複数のノードに継続的にブロードキャストされるため、ネットワーク内の各ノードは、既存の経路パスを動的に計画及び再計画して、最適な見積りに達する。再計画には、ノードに関連付けられたコスト閾値及び待機時間見積りに基づいて入札値を再計算することが含まれる。例えば、ロボットに割り当てられたタスクの優先度が低く、そのタスクの待機時間見積りが高く、コスト閾値が比較的低い場合に、そのようなロボットは、高い入札スロットが通過するまで、低い入札スロットで待機することを好む場合がある。別のシナリオでは、ロボットに、より短い待機時間でより高い優先度のタスクが割り当てられ、このため、そのようなロボットは、より高い入札値を計算し、より高い入札スロットを占有し、他のロボットよりも速く通過することができる。本システムの分散型アーキテクチャは、ネットワーク内の各ノードの入札値及び入札スロットに関連する情報をブロードキャスト及び同期することを可能にする。
【0037】
608において、この方法は、マルチ経路ロボットプランナが、ノードの生成した新しい経路計画を最適化して、最適化した新しい経路計画を取得するステップを含む。最適化の方法は、1つ又は複数のノードの順序値のステータスの変化に並行して、ノードの順序リストから新しい順序スロットを占有する新しい順序値を計算するステップを含む。生成した新しい経路計画は、自由空間の領域内の1つ又は複数のノードの間で同期された情報に基づいてさらに最適化される。最適化のステップは、1つ又は複数のノードの順序値と並行して、ノードが順序値を決定するステップを含み、順序値は、1つ又は複数のノードの順序値とは異なる。決定した順序値は、ノードによって1つ又は複数のノードにブロードキャストされる。ブロードキャストされた情報に基づいて、1つ又は複数のノードの順序値の変化に基づいて順序値を再計算することにより、新しい経路計画が更新される。順序値の再計算は、ノードに関連付けられたコスト閾値及び待機時間見積りに基づいている。一実施態様では、ノードによる順序値の決定は、ノードに関連付けられた全順序コスト閾値に基づく。また、全順序コスト閾値及び待機時間見積りによって、新しい経路計画の更新の反復回数が決定される。コスト閾値はユーザ規定であり、閾値を超えると、基本的にコストの最適化/計算プロセスを終了する。終了したプロセスは、現在のスロットのノードから可能な次の順序のスロット、例えばグラフエッジを介して到達可能な別のノードのスロットを決定することにより、逆戻り先を辿る。逆戻り先のプロセスは、既存の経路計画の循環依存を排除する。さらに、待機時間見積りは、タスクの緊急性に基づいてユーザが規定することができる。
【0038】
一実施形態では、本開示は、1つ又は複数のロボットによる最適化した新しい経路計画の受信、及び受信し、最適化した新しい経路計画からのパス検索を介した行き先ノードへの1つ又は複数のロボットのパスの決定を提供する。パス検索には、開始ノードから行き先ノードにナビゲートするために、1つ又は複数のロボットからロボットに関連付けられた全順序値を推定することが含まれる。最適化した経路計画は、動作環境内の1つ又は複数のロボットによって受信され、各ロボットは、ロボットのアプリケーションに基づいて最適な経路を決定する。最適な経路の決定は、最小の全順序値と、開始ノードから行き先ノードにナビゲートするために推定される全順序値に基づく最小の待機時間見積りとに基づいている。最適な経路は、最小の待機時間見積りによって規定され、例えば、優先度の高いタスクを有するロボットは、より高い入札値を提案すると同時に、待機時間を節約できる。また、最適な経路は、最小の全入札値によって規定され、これは、ロボットが行き先ノードに到達するために通過する最速の経路/距離である。最小の全順序値及び最小の待機時間見積りに基づいて最適な経路計画を決定している間に、ロボットは、ノードを通過する動作環境内の他のロボットに関連する情報を受信することができる。受信した情報に基づいて、ロボットは、1つ又は複数のロボットの全順序値と並行して、ロボットに関連付けられた全順序値のステータスの変化に基づいて、決定したパスを再評価することができる。例えば、以前のステップでロボットによって決定された最適な経路計画は、別のロボットがロボットの順序値よりも高い入札を行った場合に、最善の解決策ではない可能性がある。この場合にも、ロボットは他のロボットのステータスの変化に照らして最適な経路計画を再評価し、ロボットに関連付けられたコスト閾値及び待機時間見積りに対応する最適な解決策を決定する。
【0039】
一実施形態では、本開示はまた、ノードに関連付けられた待機時間見積り及び全順序値に基づいて1つ又は複数のロボットの行き先ノードを変更すること、又はノードに関連付けられた待機時間見積り及び全順序値に基づいて複数の行き先ノードを作成することを提供する。例えば、最適な経路計画を計画している2台以上のロボットの周囲の状況の変化に基づいて、経路計画の途中で行き先ノードを変更することができる。別の例では、ロボットがパッシブ経路に到達するか、特定の行き先ノードについて無限コストを推定する場合に、複数の行き先ノードを作成することができ、それにより、ナビゲーションは中断することなく実行され、同時にロボットのリスクコスト閾値、待機時間見積り、入札価格等の前提条件等の1つ又は複数の前提条件を満たすことができる。
【0040】
図1図6の様々な実施形態において、マルチロボット経路計画のための方法及びシステムが開示される。本開示は、マルチロボット経路計画に関連する分野における技術的問題を解決する。本明細書で説明する様々な実施形態は、2つ以上のロボットの間の時間依存性及びデッドロックシナリオを排除し、衝突チェックのない経路計画を提供するためのステップを実施する。本開示は、経路計画を最適化しながら、解決不能又は不可能な入力を処理し、重要な交差点でのデッドロックシナリオを防止し、動作環境における安全上の危険を回避するための予防措置を計画するためのシステム及び方法も提供する。本明細書で説明する複数の実施形態の様々な技術的利点は、空間及び計算の最適化も含み、そして、経路計画を最適化し、装置同士の間の通信を最小化しながら、2つ以上のロボット間の循環依存を回避するための先制的措置をとることを含み得る。本開示には、マルチロボット経路プランナを利用して、様々なタイプ、向き、能力、サイズ、又はメーカーの自律型車両のフリート(fleet)を処理し、複雑な動作環境で衝突チェックのない最適化した経路計画を提供する、堅牢で柔軟なクラウドプラットフォームの有効化も含まれる。他の技術的な利点には、複数のデータ構造での複雑な現実のシナリオの表現、既存のストレージの再利用、システムアーキテクチャ全体の緊急動作で経路計画を全体として最適化しながら、堅牢な通過手法を介して最近収集した知識を効率的に利用することが含まれる。
【0041】
前述の図は、いくつかの実施形態によるプロセスを記述するための論理アーキテクチャを表し、実際の実施態様は、他の方法で配置された1つ又は複数のコンポーネントを含み得る。他のトポロジーは、他の実施形態と組み合わせて使用することができる。さらに、本明細書で説明する各コンポーネント又は装置は、任意の数の他のパブリック及び/又はプライベートネットワークを介して通信する任意の数の装置によって実装され得る。そのようなコンピューティング装置のうちの2つ以上は、互いに遠隔に配置され得、任意の既知の方法のプロトコル及び/又は専用接続を介して互いに通信し得る。各コンポーネント又は装置は、本明細書で説明する機能及び他の機能を提供するのに適した任意の数のハードウェア及び/又はソフトウェア要素を含み得る。例えば、いくつかの実施形態によるシステムの実施態様で使用される任意のコンピューティング装置は、プログラムコードを実行するためのプロセッサを含み得、それによって、コンピューティング装置が本明細書で説明するように動作する。
【0042】
本明細書で議論する全てのシステム及びプロセスは、フロッピーディスク、CD-ROM、DVD-ROM、フラッシュドライブ、磁気テープ、及びソリッドステートランダムアクセスメモリ(RAM)又は読取り専用メモリ(ROM)ストレージユニット等の非一時的なコンピュータ可読媒体のうちの1つ又は複数から読み取られ、次に圧縮、非コンパイル、及び/又は暗号化された形式で保存されるプログラムコードで具体化され得る。いくつかの実施形態では、ハードワイヤード回路は、いくつかの実施形態によるプロセスの実施のためのプログラムコードの代わりに、又はそのプログラムコードと組み合わせて使用され得る。従って、実施形態は、ハードウェア及びソフトウェアの特定の組合せに限定されるものではない。
【0043】
実施態様において、本明細書で説明する方法のうちの1つ又は複数は、非一時的なコンピュータ可読媒体に具体化され、1つ又は複数のコンピューティング装置によって実行可能である命令として少なくとも部分的に実施され得る。一般に、プロセッサ(例えば、マイクロプロセッサ)は、非一時的なコンピュータ可読媒体、例えば、メモリから命令を受け取り、それらの命令を実行し、それにより、本明細書で説明する方法の1つ又は複数の方法を含む1つ又は複数の方法を実行する。そのような命令は、様々な既知のコンピュータ可読媒体のいずれかを使用して保存及び/又は送信することができる。
【0044】
本明細書の実施形態は、ハードウェア及びソフトウェア要素を含むことができる。ソフトウェアで実装される実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むが、これらに限定されるものではない。本明細書で説明する様々なモジュールによって実行される機能は、他のモジュール又は他のモジュールの組合せで実装され得る。この説明の目的のために、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、機器、又は装置によって、又はそれらに関連して使用するためのプログラムを含み、記憶し、通信し、伝播し、又は輸送することができる任意の機器であり得る。
【0045】
図示したステップは、示された例示的な実施形態を説明するために提示されており、進行中の技術開発によって、特定の機能が実行される方法が変更されることを予想すべきである。これらの例は、限定ではなく、説明の目的で本明細書に提示される。さらに、機能的構成要素の境界は、説明の便宜のために本明細書で任意に規定される。指定した機能及びその関係が適切に実行される限り、代替境界を規定できる。代替案(本明細書で説明したものの同等物、拡張、変形、逸脱等を含む)は、本明細書に含まれる教示に基づいて、関連技術分野の当業者に明らかであろう。そのような代替案は、開示した実施形態の範囲及び精神の範囲内にある。また、「備える、有する、含む(comprising)」、「有する、含む(having)」、「含む(containing)」、「含む、有する(including)」という単語、及び他の同様の形式は、意味が同等であり、これらの単語のいずれかに続く1つ又は複数の項目が、そのような1つ又は複数の項目の網羅的なリストであることを意味しないか、リストされた1つ又は複数の項目のみに限定されることを意味するという点でオープンエンドであることが意図される。本明細書及び添付の特許請求の範囲(明細書に含まれる場合に)で使用される場合に、単数形「1つの(a, an)」、及び「その(the)」は、文脈が明確に別段の指示をしない限り、複数形の参照を含むことにも留意されたい。
【0046】
本開示及び実施例は例示としてのみ見なされることを意図しており、当業者は、他の実施形態が上記のものに対する修正及び変更を伴って実施され得ることを認識するだろう。
図1
図2
図3
図4A
図4B
図4C
図5A
図5B
図6