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

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

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

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022113141
(43)【公開日】2022-08-03
(54)【発明の名称】運行環境における自律車両管理
(51)【国際特許分類】
   G05D 1/02 20200101AFI20220727BHJP
   B65G 1/00 20060101ALI20220727BHJP
   B65G 1/10 20060101ALI20220727BHJP
【FI】
G05D1/02 P
G05D1/02 T
B65G1/00 501C
B65G1/10 F
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022007621
(22)【出願日】2022-01-21
(31)【優先権主張番号】63/140,299
(32)【優先日】2021-01-22
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/539,223
(32)【優先日】2021-12-01
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】517175046
【氏名又は名称】ラピュタロボティックス株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】アビシェーク シャルマ
(72)【発明者】
【氏名】ヴィーラージ エス コーカーレイ
(72)【発明者】
【氏名】デール ケーニッヒ
【テーマコード(参考)】
3F022
5H301
【Fターム(参考)】
3F022AA15
3F022FF24
3F022LL07
3F022LL14
3F022MM05
3F022MM08
3F022MM11
3F022MM42
3F022MM52
3F022MM69
3F022NN31
3F022NN38
3F022NN41
3F022NN51
3F022NN55
3F022PP04
3F022PP06
5H301AA02
5H301BB08
5H301CC03
5H301CC06
5H301CC10
5H301DD01
5H301DD13
5H301DD15
5H301KK03
5H301KK08
5H301KK18
5H301QQ06
(57)【要約】
【課題】動作環境における自律車両管理のための方法を提供する。
【解決手段】方法は、1つ又は複数のデバイスを含む動作環境において複数の自律車両の中から自律車両が受信した要求に応答して、ルートプランを送信することを含む。方法は、ルートプランを経路セグメントに分類することをさらに含み、経路セグメントは、1つ又は複数のデバイスのデバイスゾーン内にある複数のノードからの1つ又は複数のノードを含む第1の経路セグメント及び1つ又は複数のデバイスのデバイスゾーン外にある複数のノードからの1つ又は複数のノードを含む第2の経路セグメントを含む。方法は、ナビゲーションセグメントの各ノードのための分類された経路セグメントから経路セグメントのタイプを決定すること及び1つ又は複数のノードからの宛先ノードの決定に基づく第2の前提条件で第1の経路セグメントの第1のノードに注釈を付けることをさらに含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
プロセッサ実装方法であって:
1つ又は複数のデバイスを含む動作環境において、複数の自律車両の中から自律車両によって受信された要求に応答して、ルートプランを送信するステップであって、前記ルートプランは複数のノードを含むナビゲーションセグメントを含み、前記1つ又は複数のデバイスはデバイス又はデバイススペースを含む、ステップと;
前記ルートプランを経路セグメントに分類するステップであって、前記経路セグメントは、前記1つ又は複数のデバイスのデバイスゾーン内にある前記複数のノードからの1つ又は複数のノードを含む第1の経路セグメントと、前記1つ又は複数のデバイスの前記デバイスゾーン外にある前記複数のノードからの1つ又は複数のノードを含む第2の経路セグメントとを含む、ステップと;
前記ナビゲーションセグメント内の前記ノードの各々について、分類された前記経路セグメントから経路セグメントのタイプを決定するステップであって、決定された前記経路セグメントのタイプは、前記1つ又は複数のデバイスからの第1のデバイスを含む前記第1の経路セグメントであり、前記第1のデバイスは、前記第1の経路セグメントの前記1つ又は複数のノードからの第1のノードにマッピングされ、前記第1のノードは、前記第1のデバイスの前記デバイスゾーンに入るためのアクションを含む第1の前提条件を割り当てられる、ステップと;
前記1つ又は複数のノードからの宛先ノードの決定に基づく第2の前提条件で、前記第1の経路セグメントの前記第1のノードに注釈を付けるステップであって、前記第2の前提条件は、前記第1の経路セグメントを前記宛先ノードに進む前記自律車両のために、前記第1のデバイスのハードロックアクションを実行することを含む、ステップと;を含む、
方法。
【請求項2】
前記1つ又は複数のノードからの宛先ノードの決定に基づく第2の前提条件で前記第1のノードに注釈を付けるステップであって、前記第2の前提条件は、前記1つ又は複数のデバイスを経由して前記第1の経路セグメントを進む前記自律車両のために、前記第1のデバイスのソフトロックアクションを実行することを含む、ステップをさらに含む、
請求項1に記載の方法。
【請求項3】
前記ノードの各々について、前記分類された経路セグメントから経路セグメントのタイプを決定するステップであって、前記決定された経路セグメントのタイプは、前記1つ又は複数のデバイスからの第2のデバイスを含む前記第1の経路セグメントであり、前記第2のデバイスは、前記第1の経路セグメントの前記1つ又は複数のノードからの第2のノードにマッピングされ、前記第2のノードは、前記第2のデバイスの前記デバイスゾーンに入るためのアクションを含む第1の前提条件を割り当てられる、ステップをさらに含む、
請求項1に記載の方法。
【請求項4】
前記ナビゲーションセグメント内の前記ノードの各々について、前記分類された経路セグメントから経路セグメントのタイプを決定するステップであって、決定された前記経路セグメントのタイプは、前記1つ又は複数のデバイスからの以前のデバイス及び次のデバイスを含む前記第2の経路セグメントであり、前記以前のデバイスは第1のノードにマッピングされ、前記次のデバイスは前記第2の経路セグメントの最後のノードにマッピングされ、
前記第1のノードは、デバイスゾーンを出るアクション及び前記第2の経路セグメント内のロックされたデバイスに対するロック解除アクションを含む第1の前提条件で注釈を付けられ、前記最後のノードは、デバイスゾーンに入るアクションで注釈を付けられる、
ステップと;
宛先ノードの決定に基づく第2の前提条件で前記第2の経路セグメントの前記第1のノードに注釈を付けるステップであって、前記第2の前提条件は、前記第2の経路セグメントを前記宛先ノードに進む前記自律車両のために、前記次のデバイスのハードロックアクションを実行することを含む、ステップと;をさらに含む、
請求項1に記載の方法。
【請求項5】
前記1つ又は複数のノードからの宛先ノードの決定に基づく第2の前提条件で前記第1のノードに注釈を付けるステップであって、前記第2の前提条件は、前記1つ又は複数のデバイスを経由して前記第2の経路セグメントを進む前記自律車両のために、前記次のデバイスのソフトロックアクションを実行することを含む、ステップをさらに含む、
請求項4に記載の方法。
【請求項6】
前記分類された経路セグメントから前記宛先ノードに進む前記ノードの各々について、経路セグメントのタイプを決定するステップであって、決定された前記経路セグメントのタイプは、前記1つ又は複数のデバイスからの第2のデバイスを含む前記第2の経路セグメントであり、前記第2のデバイスは、前記第2の経路セグメントの前記1つ又は複数のノードからの第2のノードにマッピングされ、前記第2のノードは、前記第2のデバイスの前記デバイスゾーンに入るアクションを含む第1の前提条件を割り当てられる、ステップをさらに含む、
請求項4に記載の方法。
【請求項7】
前記決定された経路セグメントのタイプを介して進む前記自律車両による前記第1のノードへの注釈を付けられた前記アクションを開始するステップと;
前記決定された経路セグメントのタイプにおいて次のノードに進む前記第1のノードの前記第1の前提条件を満たすステップと;
前記第1の前提条件を満たすと前記注釈を付けられたアクションを完了するステップであって、前記注釈を付けられたアクションの完了は、前記宛先ノードに進むために前記決定された経路セグメントのタイプを更新する、ステップと;を含む、
請求項1に記載の方法。
【請求項8】
前記第1のノードの前記第1の前提条件を満たす前記ステップは、前記宛先ノードに到達するように前記決定された経路セグメントのタイプを進む前記自律車両によって完了されることになるアクションを含む、
請求項7に記載の方法。
【請求項9】
前記自律車両に割り当てられたタスクに基づいて受動経路要求を開始するステップであって、前記受動経路要求は、前記自律車両に割り当てられた前記タスクの優先度に基づいて承認される、ステップをさらに含む、
請求項1に記載の方法。
【請求項10】
受動経路要求を受信すると、前記1つ又は複数の自律車両によるハードロックアクションを解除するステップと;
前記宛先ノードへの非受動経路要求を受信すると、前記1つ又は複数の自律車両によって解除された前記ハードロックを再取得するステップと;をさらに含む、
請求項9に記載の方法。
【請求項11】
命令を格納するメモリと;
前記メモリに結合されたプロセッサであって、前記プロセッサは、前記命令によって:
1つ又は複数のデバイスを含む動作環境において、複数の自律車両の中から自律車両によって受信されたナビゲーション要求に応答して、ルートプランを送信し、前記ルートプランは、複数のノードを有するナビゲーションセグメントを含み、前記1つ又は複数のデバイスは、デバイス又はデバイススペースを含む1つ又は複数のデバイスを含み;
前記ルートプランを経路セグメントに分類し、前記経路セグメントは、前記1つ又は複数のデバイスのデバイスゾーン内にある前記複数のノードからの1つ又は複数のノードを含む第1の経路セグメント及び前記1つ又は複数のデバイスの前記デバイスゾーン外にある前記複数のノードからの1つ又は複数のノードを含む第2の経路セグメントと、を含み;
前記ナビゲーションセグメント内の前記ノードの各々について、分類された前記経路セグメントから経路セグメントのタイプを決定し、決定された前記経路セグメントのタイプは、前記1つ又は複数のデバイスからの第1のデバイスを含む前記第1の経路セグメントであり、前記第1のデバイスは、前記第1の経路セグメントの前記1つ又は複数のノードからの第1のノードにマッピングされ、前記第1のノードは、前記第1のデバイスの前記デバイスゾーンに入るアクションを含む第1の前提条件を割り当てられ;
宛先ノードの決定に基づく第2の前提条件で前記第1の経路セグメントの前記第1のノードに注釈を付け、前記第2の前提条件は、前記第1の経路セグメントを前記宛先ノードに進む前記自律車両のために、前記第1のデバイスのハードロックアクションを実行することを含む;
ように構成される、プロセッサと;を有する、
システム。
【請求項12】
宛先ノードの決定に基づく第2の前提条件で前記第1のノードに注釈を付けるようにさらに構成され、前記第2の前提条件は、前記1つ又は複数のデバイスを経由して前記第1の経路セグメントを進む前記自律車両の前記第1のデバイスに対するソフトロックアクションを実行することを含む、
請求項11に記載のシステム。
【請求項13】
前記ノードの各々について、前記分類された経路セグメントから経路セグメントのタイプを決定するようにさらに構成され、決定された前記経路セグメントのタイプは、前記1つ又は複数のデバイスからの第2のデバイスを含む前記第1の経路セグメントであり、前記第2のデバイスは、前記第1の経路セグメントの前記1つ又は複数のノードからの第2のノードにマッピングされ、前記第2のノードは、前記第2のデバイスの前記デバイスゾーンに入るアクションを含む第1の前提条件を割り当てられる、
請求項11に記載のシステム。
【請求項14】
前記ナビゲーションセグメント内の前記ノードの各々について、前記分類された経路セグメントから経路セグメントのタイプを決定し、決定された前記経路セグメントのタイプは、前記1つ又は複数のデバイスからの以前のデバイス及び次のデバイスを含む第2の経路セグメントであり、前記以前のデバイスは第1のノードにマッピングされ、前記次のデバイスは前記第2の経路セグメントの最後のノードにマッピングされ、
前記第1のノードは、デバイスゾーンを出るアクション及び前記第2の経路セグメント内のロックされたデバイスに対するロック解除アクションを含む第1の前提条件で注釈を付けられ、前記最後のノードは、デバイスゾーンに入るアクションで注釈を付けられ;
宛先ノードの決定に基づく第2の前提条件で前記第2の経路セグメントの前記第1のノードに注釈を付け、前記第2の前提条件は、前記第2の経路セグメントを前記宛先ノードに進む前記自律車両のために、前記次のデバイスのハードロックアクションを実行することを含む;ようにさらに構成される、
請求項11に記載のシステム。
【請求項15】
宛先ノードの決定に基づく第2の前提条件で前記第1のノードに注釈を付けるようにさらに構成され、前記第2の前提条件は、前記1つ又は複数のデバイスを経由して前記第2の経路セグメントを進む前記自律車両の前記次のデバイスに対してソフトロックアクションを実行することを含む、
請求項14に記載のシステム。
【請求項16】
前記分類された経路セグメントから、前記宛先ノードに進む前記ノードの各々について、経路セグメントのタイプを決定するようにさらに構成され、決定された前記経路セグメントのタイプは、前記1つ又は複数のデバイスからの第2のデバイスを含む前記第2の経路セグメントであり、前記第2のデバイスは、前記第2の経路セグメントの前記1つ又は複数のノードからの第2のノードにマッピングされ、前記第2のノードは、前記第2のデバイスの前記デバイスゾーンに入るアクションを含む第1の前提条件を割り当てられる、
請求項14に記載のシステム。
【請求項17】
前記決定された経路セグメントのタイプを介して進む前記自律車両による前記第1のノードへの注釈を付けられた前記アクションを開始し;
前記決定された経路セグメントのタイプにおいて前記次のノードに進む前記第1のノードの前記第1の前提条件を満たし;
前記第1の前提条件を満たすと前記注釈を付けられたアクションを完了し、前記注釈を付けられたアクションを完了することは、前記宛先ノードに進むために前記決定された経路セグメントのタイプを更新する;
ようにさらに構成される、
請求項11に記載のシステム。
【請求項18】
前記第1のノードの前記第1の前提条件を満たすことは、前記宛先ノードに到達するように前記決定された経路セグメントのタイプを進む前記自律車両によって完了されることになるアクションを含む、
請求項17に記載のシステム。
【請求項19】
コンピュータプログラムを具現化した非一時的コンピュータ可読媒体であって、前記方法は:
1つ又は複数のデバイスを含む動作環境において、複数の自律車両の中から自律車両によって受信されたナビゲーション要求に応答して、ルートプランを送信するステップであって、前記ルートプランは複数のノードを有するナビゲーションセグメントを含み、前記1つ又は複数のデバイスは、デバイス又はデバイススペースを含む1つ又は複数のデバイスを含む、ステップと;
前記ルートプランを経路セグメントに分類するステップであって、前記経路セグメントは、前記1つ又は複数のデバイスのデバイスゾーン内にある前記複数のノードからの1つ又は複数のノードを含む第1の経路セグメント及び前記1つ又は複数のデバイスの前記デバイスゾーン外にある前記複数のノードからの1つ又は複数のノードを含む第2の経路セグメントを含む、ステップと;
前記ナビゲーションセグメント内の前記ノードの各々について、分類された前記経路セグメントから経路セグメントのタイプを決定するステップであって、決定された前記経路セグメントのタイプは、前記1つ又は複数のデバイスからの第1のデバイスを含む前記第1の経路セグメントであり、前記第1のデバイスは、前記第1の経路セグメントの前記1つ又は複数のノードからの第1のノードにマッピングされ、前記第1のノードは、前記第1のデバイスの前記デバイスゾーンに入るアクションを含む第1の前提条件を割り当てられる、ステップと;
宛先ノードの決定に基づく第2の前提条件で前記第1の経路セグメントの前記第1のノードに注釈を付けるステップであって、前記第2の前提条件は、前記第1の経路セグメントを前記宛先ノードに進む前記自律車両のために、前記第1のデバイスのハードロックアクションを実行することを含む、ステップと;を含む、
非一時的コンピュータ可読記憶媒体。
【請求項20】
宛先ノードの決定に基づく第2の前提条件で前記第1のノードに注釈を付けるステップをさらに含み、前記第2の前提条件は、前記1つ又は複数のデバイスを経由して前記第1の経路セグメントを進む前記自律車両の前記第1のデバイスに対してソフトロックアクションを実行することを含む、
請求項19に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年1月22日に出願された米国仮出願第63/140,299号からの優先権の利益を主張し、その内容は、その全体が参照により本明細書に組み込まれる。
【0002】
本明細書における開示は、概して、自律車両(autonomous vehicle)、特に、動作環境(operating environment)における自律車両管理に関する。
【背景技術】
【0003】
既存の倉庫は、単一の自律車両、例えば、倉庫の単一のラックのようなデバイス内のロボットを使用して、パレットのような物体をピッキング及びドロップするタスクを含む。単一ラックは、ロボットがラック内で何らかの機能を実行する必要がある場合にのみ使用される。問題は、複数のモバイルラック、垂直コンベア、シートシャッタ(sheet shutters)、一時的なスペース、充電ステーション等のような複数のデバイスが存在し、異種の自律車両が倉庫のような動作環境においてそれらの機能を果たし続ける場合に、さらに複雑になる。
【発明の概要】
【0004】
添付の図面は、本開示に組み込まれ、本開示の一部を構成し、例示的な実施形態を図示し、説明と共に、開示された原理を説明するのに役立つ。
【0005】
本開示の実施形態は、従来のシステムにおいて本発明者が認識する1つ又は複数の技術的問題に対する解決策として、技術的改良を提供する。例えば、一実施形態では、動作環境における自律車両管理のためのプロセッサ実装方法が提供される。この方法は、複数の自律車両の中から自律車両によって受信された要求に応答して、1つ若しくは複数のデバイス又は1つ若しくは複数のデバイススペース(device spaces)を含む動作環境において、ルートプランを送信するステップを含み、ルートプランは複数のノードを含む。本方法はさらに、ルートプランを経路(path)セグメントに分類する(categorizing)ステップを含み、経路セグメントは、1つ又は複数のデバイスのデバイスゾーン内にある複数のノードからの1つ又は複数のノードを含む第1の経路セグメントと、1つ又は複数のデバイスのデバイスゾーン外にある複数のノードからの1つ又は複数のノードを含む第2の経路セグメントとを含む。本方法は、さらに、ルートプランのノードの各々について、分類された経路セグメントから経路セグメントのタイプを決定するステップを含み、決定された経路セグメントのタイプは、1つ又は複数のデバイスからの第1のデバイスを含む第1の経路セグメントであり、第1のデバイスは、第1の経路セグメントの1つ又は複数のノードからの第1のノードにマッピングされ、第1のノードは、第1のデバイスのデバイスゾーンに入るためのアクションを含む第1の前提条件(precondition)を割り当てられる。この方法は、さらに、1つ又は複数のノードからの宛先(destination)ノードの決定に基づく第2の前提条件で、第1の経路セグメントの第1のノードに注釈を付けるステップを含み、第2の前提条件は、第1の経路セグメントを宛先ノードに進む(traversing)自律車両のために、第1のデバイスのハードロックアクション(hard lock action)を実行することを含む。
【0006】
別の実施形態では、動作環境における自律車両管理のためのシステムが提供される。システムは、命令を格納するメモリと、1つ又は複数の通信インターフェースを介してメモリに結合される1つ又は複数のハードウェアプロセッサとを含む。1つ又は複数のハードウェアプロセッサは、複数の自律車両の中から自律車両によって受信された要求に応答して、1つ若しくは複数のデバイス又は1つ若しくは複数のデバイススペースを含む動作環境において、ルートプランを送信するように命令によって構成され、ルートプランは複数のノードを含む。システムは、さらに、ルートプランを経路セグメントに分類するように命令によって構成され、経路セグメントは、1つ又は複数のデバイスのデバイスゾーン内にある複数のノードからの1つ又は複数のノードを含む第1の経路セグメントと、1つ又は複数のデバイスのデバイスゾーン外にある複数のノードからの1つ又は複数のノードを含む第2の経路セグメントとを含む。システムは、さらに、複数のノードからのノードの各々について、分類された経路セグメントから経路セグメントのタイプを決定するように命令によって構成され、決定された経路セグメントのタイプは、1つ又は複数のデバイスからの第1のデバイスを含む第1の経路セグメントであり、第1のデバイスは、第1の経路セグメントの1つ又は複数のノードからの第1のノードにマッピングされ、第1のノードは、第1のデバイスのデバイスゾーンに入るためのアクションを含む第1の前提条件を割り当てられる。システムは、さらに、宛先ノードの決定に基づく第2の前提条件で第1の経路セグメントの第1のノードに注釈を付けるように命令によって構成され、第2の前提条件は、第1の経路セグメントを宛先ノードに進む自律車両のための第1のデバイスのハードロック動作を実行することを含む。
【0007】
さらに別の実施形態では、1つ又は複数の非一時的機械可読情報記憶媒体が提供される。前記1つ又は複数の非一時的機械可読情報記憶媒体は、1つ又は複数のハードウェアプロセッサによって実行されるとき、1つ若しくは複数のデバイス又は1つ若しくは複数のデバイススペースを含む動作環境において、複数の自律車両の中から自律車両によって受信された要求に応答して、ルートプランを送信させる1つ又は複数の命令を含み、ルートプランは複数のノードを含む。本方法は、さらに、ルートプランを経路セグメントに分類するステップを含み、経路セグメントは、1つ又は複数のデバイスのデバイスゾーン内にある複数のノードからの1つ又は複数のノードを含む第1の経路セグメントと、1つ又は複数のデバイスのデバイスゾーン外にある複数のノードからの1つ又は複数のノードを含む第2の経路セグメントとを含む。本方法は、さらに、複数のノードからのノードの各々について、分類された経路セグメントから経路セグメントのタイプを決定するステップを含み、決定された経路セグメントのタイプは、1つ又は複数のデバイスからの第1のデバイスを含む第1の経路セグメントであり、第1のデバイスは、第1の経路セグメントの1つ又は複数のノードからの第1のノードにマッピングされ、第1のノードは、第1のデバイスのデバイスゾーンに入るためのアクションを含む第1の前提条件を割り当てられる。本方法は、さらに、1つ又は複数のノードからの宛先ノードの決定に基づいて、第1の経路セグメントの第1のノードに第2の前提条件で注釈を付けるステップを含み、第2の前提条件は、第1の経路セグメントを宛先ノードに進む自律車両のために、第1のデバイスのハードロック動作を実行するステップを含む。
【0008】
当然ながら、上記の一般的記載と下記の詳細な記載単に例示的かつ説明的なものであり、請求項に記載されている発明を制限するものではない。
【図面の簡単な説明】
【0009】
添付の図面は、本開示に組み込まれ、本開示の一部を構成し、例示的な実施形態を図示し、説明と共に、開示された原理を説明するのに役立つ。
【0010】
図1】本開示のいくつかの実施形態による、動作環境における自律車両管理のためのコンピュータ実装システムを示すブロック図である。
【0011】
図2A】本開示のいくつかの実施形態による、開放通路(open passages)を有するデバイス及びデバイススペースを示す。
【0012】
図2B】本開示のいくつかの実施形態による、開放通路を有するデバイス及びデバイススペースを示す。
【0013】
図2C】本開示のいくつかの実施形態による、開放通路を有するデバイス及びデバイススペースを示す。
【0014】
図3】本開示のいくつかの実施形態による、互いに隣接して配置されたデバイスを示す。
【0015】
図4A】本開示のいくつかの実施形態による、動作環境において異なるフロア間でアイテムを移動させるためのデバイスの様々な配置を示す。
【0016】
図4B】本開示のいくつかの実施形態による、動作環境において異なるフロア間でアイテムを移動させるためのデバイスの様々な配置を示す。
【0017】
図5】本開示のいくつかの実施形態による、1つ又は複数のデバイスのグラフ表示を示す。
【0018】
図6】本開示のいくつかの実施形態による、複数の自律車両のためのルートプランをナビゲートするプロセスを示す。
【0019】
図7】本開示のいくつかの実施形態による、自律車両によるソフトロック及びハードロックを取得するプロセスを示す。
【0020】
図8】本開示のいくつかの実施形態による、デバイス領域をカバーするノード及びエッジを示すルートプランのグラフ表示を示す。
【0021】
図9】本開示のいくつかの実施形態による、マルチロボットルートプランニングのための方法900のフロー図を示す。
【0022】
図10】本開示のいくつかの実施形態による、ルートプラン注釈付け及び分類された経路セグメントの表現を示す。
【0023】
図11】本開示のいくつかの実施形態による、図1の様々なシステムコンポーネント間のナビゲーション動作のシーケンス図を示す。
【0024】
図12】本開示のいくつかの実施形態による、図1の様々なシステムコンポーネント間の通信のためのシーケンス図を示す。
【0025】
図13A】本開示のいくつかの実施形態による、デバイス及びデバイススペースを有する倉庫の上面図を示す。
【0026】
図13B】本開示のいくつかの実施形態による、デバイス及びデバイススペースを有する倉庫の上面図を示す。
【0027】
図13C】本開示のいくつかの実施形態による、デバイス及びデバイススペースを有する倉庫の上面図を示す。
【発明を実施するための形態】
【0028】
例示的な実施形態は、添付の図面を参照して説明される。図において、参照番号の左端の数字は、参照番号が最初に現れる図を示す。便利な場合はいつでも、図面全体を通して同じ参照番号が使用され、同じ又は同様の部品を指す。開示された原理の例及び特徴が本明細書に記載されているが、開示された実施形態の精神及び範囲から逸脱することなく、修正、適合、及び他の実装が可能である。本明細書を通して、「一実施形態」、「この実施形態」及び類似の句への言及は、実施形態に関連して記載された特定の特徴、構造、又は特質が、1つ又は複数の実施形態のうちの少なくとも1つに含まれることを意味する。したがって、本明細書中の様々な箇所におけるこれらの句の出現は、必ずしも同一の実施形態を参照するものではない。さらに、特別な特徴、構造、又は特質は1つ又は複数の実施形態において任意の適当な方法で組み合わせられ得る。以下の詳細な説明は、単に例示的なものとして考慮されることが意図され、真の範囲及び精神は、特許請求の範囲によって示されている(明細書に含まれている場合)。
【0029】
本開示の実施形態は、動作環境における自律車両管理のための方法及びシステムを提供する。複数の自律車両、例えば複数の異種移動ロボットを、複数のレベルを含む動作環境において複数の異種デバイスと協働する方法で管理し、取り扱うことが開示されている。本開示は、マルチロボットルートプランナとデバイスコントローラとの間の協働を容易にする方法及びシステムを提供し、この技術が、デッドロックを伴わずに、複数の異種デバイス間で互いを待たずに、複数の自律車両がナビゲートする(navigate)ことを可能にすることを保証するために、セキュリティ対策(security precautions)を講じる。異種デバイスは、自律車両がこれらの異種デバイスの通路又はデバイススペースに進入する必要があり、倉庫内の通路に出入りする必要があるため、特定の課題を引き起こす。本開示の機能は、ナビゲーション、ルートプランニング、及びデバイスコントロールの重複を含む。このシステムは、複数の車両のナビゲーションゾーンとオーバーラップする倉庫のような動作環境において、デバイスの周囲の任意のデバイス、デバイススペース、又は領域に拡張可能である。動作環境において異種デバイス及び自律車両を管理するための技術の実施形態は、図1~13に関してさらに詳細に説明される。
【0030】
マルチロボットルートプランのための上述のシステム及び方法の詳細な説明は、図1図13を参照して表される図に関して示される。
【0031】
次に、図面を参照し、より具体的には、図1から図13を参照すると、類似の参照符号は、図全体を通して一貫して対応する特徴を示す。好ましい実施形態が示され、これらの実施形態は、以下の例示的なシステム及び/又は方法の文脈で説明される。
【0032】
図1は、本開示のいくつかの実施形態による、動作環境における自律車両管理のためのコンピュータ実装システムを示すブロック図である。一実施形態では、システム100は、3つのレベルのインターフェースを含み得る。図1に示すように、インターフェースの3つのレベルは、レベル1-ユーザインターフェース(UI)、ビジネス論理アプリケーション(BLA)、101を含み得る。レベル2は、1つ又は複数のサーバレベルコンポーネント、すなわち、グローバルワールドモデル(GWM)106、グローバル挙動コントローラ(Global Behavior Controller)(GBC)108及びMRRP(マルチロボットルートプランナ)111を含み得る。レベル3は、自立車両レベルコンポーネント-複数の異種自律車両上で動作するLBC114及びLWM113を含む。システム100は、上述の各コンポーネントに関してさらに説明される。
【0033】
一実施形態では、BLA101は、垂直コンベア、モバイルラック(mobile rack)、サーバ層と通信する垂直コンベアブリッジ、これもまたサーバ層と通信するモバイルラックブリッジのような1つ又は複数のデバイスのコンピューティングロジックのような1つ又は複数の機能を含み得る。BLAは、また、デバイススペース及びデバイスの周囲の領域に関するコンピューティングロジックなどの1つ又は複数の機能を含み得る。このシステムは、倉庫内で利用可能な様々なデバイス及びデバイススペースを制御する。開示を通して、用語「デバイス」は、物理的実体(physical entity)を指し、デバイススペースは非物理的実体を指す。例えば、デバイスは、システム100によって自動的に制御及び監視される必要がある、倉庫構内のマテリアルハンドリング装置(material handling equipment)又はマシンのような任意の外部デバイスを指す。また、「デバイススペース」という用語は、アイテムの積み降ろしする(loading and unloading items)、ために倉庫内に設けられた一時的なデバイス又はスペース、又は領域、倉庫内に作られた、充電ポイント又は他の同様の静止ポイントを指し、これらはデバイスの周囲にあってもなくてもよい。一時的なスペースは、ラインコントローラ又はカラム(columns)でマークされたオープンスペースであり、エリア内の特定の場所は、アイテムの積み降ろしのためにマークされている。一時的なスペースは、デバイス又はデバイス周辺のエリアと同じ構内(premise)に作られ得る。名前から推測されるように、アイテムを積み降ろしするために作られるスペースは、一時的なものであり得、倉庫の要件によっては変更され得る。一時的なスペースは、線とカラムによってマークされ、自律車両が動作する境界とみなされる。UI/BLA101は、システム100によって提供されるスタックUI又はカスタムビジネスロジックアプリケーションであり、ウェブAPI、例えば、GWM106のREST APIを呼び出して、1つ若しくは複数のデバイス又はデバイススペースをシステム100に登録及び更新することができる。GWM106はまた、システム100のブックキーパ(bookkeeper)としても機能する。GWM106は、1つ若しくは複数のデバイス又はデバイススペースに関連する情報を永続ストレージ107に記憶し、アクセス及び更新を容易にするためにAPIを公開する。GWM106は、また、ROSトピックを介して1つ又は複数のデバイスの現行バージョンをブロードキャストする。1つ又は複数のデバイス情報に変更が加えられると、GWM106は、バージョンをバンプアップし、他の自律車両に再度ブロードキャストする。LWM113及びGBC108は、倉庫内の最新のデバイス又はデバイススペース表現(representation)の表示を引き込む(pulling in)ことによってこのバージョン変更に反応する。
【0034】
一実施形態では、GBC108は、複数の自律車両のタスク割り当て及びトラッキングを最適化する操作を容易にする。別の実施形態では、GBC108はまた、デバイス及びデバイススペース(109、110)のための独立したコントローラノードを含み得、該コントローラは、1つ若しくは複数のデバイス又はデバイススペース(例えば、特定の通路又は一時的なスペースを開くためのモバイルラックの移動)、並びに、デバイスへの物理的アクセスのためのアクセスコントローラに対するアクションをトリガする。例えば、GBC108内の各コントローラノードは、倉庫内の各外部デバイス又はデバイススペースの物理的インスタンスとの1対1のマッピングを含み得る。例えば、モバイルラックコントローラノードは、倉庫内のモバイルラックインスタンスと1対1のマッピングを持つ。例えば、モバイルラックコントローラノードは、モバイルラックステータスを更新し、モバイルラックの移動をトリガして特定の通路を開き、MRRP111と通信して必要なノードのセットを有効又は無効にし、ロック、すなわち、デバイスブリッジ104及びデバイススペースブリッジ105を介してソフトロック及びハードロックをそれぞれ与える及び解除することによって、それぞれのデバイス102又はデバイススペース103へのロボットのアクセスを管理する。デバイスコントローラ109又はデバイススペースコントローラ110は、デバイス及びデバイススペースのステータスを更新し、ロックの付与及び解除を介して、それぞれのデバイス102又はデバイススペース103への自律車両のアクセスを管理する。
【0035】
一実施形態では、MRRP111は、倉庫のような動作環境における複数の自律車両のためのルートのグローバルプランニング(global planning)を最適化する。MRRP111は、また、複数のノード及びエッジが接続されたグラフとしてのマップの離散的表現に基づいてルートを計画する(plans)。グラフは、スタックUI/BLA101を使用して手動又は自動生成され得る。複数の自律車両の各々は、LWM113インスタンスを実行し、このインスタンスは、インメモリストア内の複数の自律車両から自律車両の完全なステータスをキャッシュし、他の自律車両にブロードキャストして動作環境上の他のLWM及びGWMによって消費される。LWM113は、また、GWM106とLBC114との間で、グラフと1つ若しくは複数のデバイス又はデバイススペース情報とを同期させる。LBC114は、自律車両によって行われる動作を制御し、適切なルートを得るためにMRRP111と協調し(coordinates)、他の自律車両と協調して、ルートを効率的に実行し、GBC108と、1つ又は複数のデバイスコントローラノード又はデバイススペースノード/ラインコントローラノード(109、110など)と、1つ又は複数のデバイスそれぞれへのアクセスを同期させるための一時的なスペースの場合に協調する。MRRP111から受信されたルートプランは、複数の自律車両へのルートに沿って適切なアクション及び前提条件を提供するために、ルートアノテータ(route annotator)117によって処理される。例えば、ロボットのような自律車両が目的地にナビゲートし、LBC114はMRRP111から目的地へのナビゲーションルートを要求する。MRRP111は、受信した要求に基づいて、ロボットにナビゲーションルートを送信する。ナビゲーションルートは、宛先に接続され、宛先につながる複数のノードを含む。ルートは、複数のノードから1つのノードにマップされた複数のデバイスを含み、1つ又は複数のデバイスを介してナビゲーションルートをたどって宛先ノードに到達し得る。LBC114は、最初に、ナビゲーションルート内の複数のノードに、例えば、ハードロック、ソフトロック要求、又はデバイスゾーンに入る/出る115アクションのいずれかのアクションで注釈を付ける。アクションは、前述の1つ又は複数のアクションで注釈を付けられたノードを自律車両が通過するときに開始される。LBC114は、また、ナビゲーションルート内の複数のノードに前提条件で注釈を付ける。ノード上の前提条件は、自律車両が次のノードにナビゲートする前に満たされる必要がある制約である。例えば、ハードロック又はソフトロックを取得すること及びデバイスゾーンに入る/出るアクションの前/後に完了すること、デバイスに入る/出ることは、現在のコンテキストでは前提条件として可能である。
【0036】
一実施形態では、ノードの各々は、選択ナビゲーションルートに注釈を付けられ、経路分類器119は、経路を前提条件上で経路セグメントに分割し、前提条件に基づいてナビゲーションを開始する。分類された経路セグメントは、自律車両が経路セグメント内の各ノードを進む(traverses)とき、アクションコントローラ118を介して注釈を付けられたアクションを開始する。アクションが完了すると、システムは関連する前提条件を削除するとともにナビゲートされる経路を更新する。システム100の1つ又は複数の機能及びそのコンポーネントは、図2~13に関してさらに詳細に説明される。
【0037】
図2A~2Cは、本開示のいくつかの実施形態による、開放通路(open passages)を有するデバイス及びデバイススペースを示す。一実施形態では、1つ又は複数のデバイスは、デバイスシステム200を含んでもよい。図2Aに示すように、デバイスシステム200は、複数のモバイルラック、例えば、開放通路を伴う、5つのモバイルラック、ラック1、ラック2、ラック3、ラック4及びラック5を有するモバイルラックユニット201を含む。5つのモバイルラックは、注文処理スピードを犠牲にして倉庫の収納容量を増やすために使用される。モバイルラックは、床に固定されたレール上で滑らかにスライドすることができる移動ベース上に設置される。図2Aに示すように、5つのモバイルラックを含むモバイルラックユニット201は、図2Bに示すように、モバイルラックユニット202を含む別のモバイルラックユニット210の隣に配置される。モバイルラックユニット210及び202内の5つのモバイルラックは、隣り合っており、ラックの各々は、任意の2つの連続するラックの間に、例えば、図2Aに示すようにラック1とラック2との間で、また図2Bに示すように、ラック3とラック4との間に、単一の開放通路を有するように配置される。モバイルラックユニット201は、要求に応じて開放通路を作動させるために、モータ及び電子制御を備えている。代替的には、モバイルラックユニット201は、開放通路内のロボット又は人間の存在を検出することができ、そのようにすることが安全でない場合に、構成を変更する要求を拒否することができるセンサスイート(sensor suites)を含み得る。倉庫によっては、複数のモバイルラックを隣り合って設置し、省スペース化を図ることができる。このような構成では、各モバイルラックは個々のエンティティとして動作し、近傍に別のモバイルラックが存在しても動作に影響はない。図2Cは、倉庫内でのインバウンドアイテム(inbound item)のピッキングのためのデバイススペース構成220を示す。例えば、デバイススペースは、デバイスの周囲に作成された一時的なスペースであってもよいし、倉庫のオープンスペースであってもよい。一時的なスペースは、アイテムを配置又はピックする/アイテムの積み降ろしのためのネステナー(nestainer)222のスタックを含み得る。デバイススペースは、その領域で動作するロボットの境界として機能するラインインジケータ又はカラム224によって分割される。図2A~2Cにおけるデバイス及びデバイススペースの種々の配置は、単に例示的なものであり、本開示の範囲内では限定的であるとはみなされない。
【0038】
図3は、本開示のいくつかの実施形態による、互いに隣接して配置されたデバイスを示す。一実施形態では、デバイス、例えば、モバイルラックユニット301、モバイルラックユニット302及びモバイルラックユニット303は、図3の300に示すように、ラック間の単一の通路を備えて互いに隣接して配置される。各モバイルラックユニットの各々は、複数のラック、例えば、5つのラック、すなわち、ラック1、ラック2、ラック3、ラック4、及びラック5を含む。モバイルラックごとに、開放通路である通路の現在の状態、例えば、移動できるか、すでに移動しているかをブロードキャストする。このシステムは、倉庫のフロアごとに任意の数のモバイルラックを使用することができる。図2及び図3は、倉庫内の典型的なモバイルラック構成の図であり、本開示に関して限定されるべきではない。
【0039】
図4A及び4Bは、本開示のいくつかの実施形態による、動作環境において異なるフロア間でアイテムを移動させるためのデバイスの様々な構成を示す。一実施形態では、動作環境の異なるフロア間でアイテムを移動させるデバイスは、垂直コンベアであり得る。典型的には、垂直コンベアは、方向性に関連しており、少なくともアイテムを上下いずれかである単一の方向に移動させ得る。典型的なコンベアはまた、入口点(ドロップ位置)又は出口点(ピック位置)におけるアイテムの存在を検出することができるセンサスイートを含み得る。デバイスのコンベアは、ロボットのような自律車両がアイテムを入口点でドロップするときに作動され得、アイテムはその後自動的にターゲット(目標)フロアに搬送される。アイテムがターゲットフロアに到着すると、コンベアは現在のステータスをブロードキャストして、それがピックアップに使用可能であることを示す。このシステムは、倉庫のフロアごとの任意の数の垂直コンベアをサポートする。この例では、自律車両、ロボット1 401は、図4Aに示すように、1階でアイテムを搬送している。アイテムは、垂直コンベア402のコンベアベルトを介して2階に搬送される。400において、コンベアベルトのステータス(status)は準備ができている(ready)である。また、例として、アイテムが移動される条件を示している。ここで、ロボット1は、真(true)のステートメントを示すアイテムをドロップすることができ(can drop)、ピックアップすることができる(can pick up)。同様に、図4Bに示すように、アイテムが2階に到着すると、403のロボット2が垂直コンベア402からアイテムをピックアップする。コンベアベルト410のステータスは準備ができている(ready)であり、条件ドロップすることができる(can drop)は偽(false)、ピックアップすることができる(can pick up)は真(true)として示される。これらの条件は、この場合構内の他のロボットである他の自律車両にブロードキャストされる。これらの自律車両の各々のステータスは、アクションが完了する又は動作環境における円滑な移動のための前提条件が満たされると、直ちにブロードキャストされ、更新される。
【0040】
図5は、本開示のいくつかの実施形態による、1つ又は複数のデバイスのグラフ表示(graphical representation)を示す。一実施形態では、倉庫内の1つ又は複数のデバイスは、デバイスに関連するユニークなIDを含む特性を有する長方形のゾーンによって表され、IDデバイスの各々は、グラフ表示500のマップフレーム(map frame)内の全てのコーナーについて指定された座標を有する長方形の領域によって表される。デバイスの各々は、そのタイプに有効な追加の特性を有してもよく、例えば、モバイルラックデバイスは、モバイルラックデバイス1(501)のより大きな領域内の長方形領域である複数の通路を有することができ、垂直コンベア502は、単一の方向動作を含み得る。長方形の領域は、経路が他のデバイスと交差するか否かを決定するためにシステムによって使用される。一実施形態では、1つ又は複数のデバイスは、互いに重複しなくてよい。これは、自律車両、例えば少なくとも1つのロボットを少なくとも収容することができる開放エリアを通過することなしに、あるデバイスから別のデバイスへ移動することが不可能であることを意味する。
【0041】
図6は、本開示のいくつかの実施形態による、複数の自律車両のためのルートプランをナビゲートするプロセスを示す。一実施形態では、600は、動作環境における2つ以上の自律車両のためのルートプランを表す。例えば、複数の自律車両は、2つのフォークリフト、モバイルラックユニット601内で動作する第1のフォークリフト602及び第2のフォークリフト603を含む。図6に示すように、複数のノードは、ラック1からラック2への第1のフォークリフト602のためのナビゲーション経路又はルートプランを表す。フォークリフト603のルートプランは、図6に示すようにラック1から通路への方向に移動し、他のデバイス、デバイススペース、又はデバイス周囲の領域を通過しない。一方、第2のフォークリフト603は、衝突を回避するためにモバイルラックユニット601の通路を通過する。第2のフォークリフト603は、モバイルラックユニット601のラック2とラック3との間のスペースに入り、通路から出てモバイルラックユニット601の他端に向かって移動するように示されている。しかしながら、第1のフォークリフト602は、ゾーンのいずれにも入らず、第2のフォークリフト603と同様に、目的地に直接到達する経路をとることができる。一実施形態によれば、これは、デッドロック、衝突、又はロボットが通路で待つことを避けるためにシステムが取り扱う本開示の範囲内でカバーされる多くのシナリオの1つである。
【0042】
図7は、本開示のいくつかの実施形態による、自律車両によってソフトロック及びハードロックを取得するプロセスを示す。一実施形態では、自律車両のためのMRRPによって生成されるルートプランは、x、y座標よって表される2D平面内の離散チェックポイントのシーケンス、及び方向によって表される。例えば、自律車両ルートのために生成されたルートプランは、オプションで、デバイスを含む領域又はゾーンから開始することができ、複数のデバイス領域を通過することができ、又は1つに終端することができる。生成されたルートプランがデバイスゾーンのいずれかと交差する場合、自律車両は、デバイスゾーンを通過する意図をシステムにアナウンスし、それぞれのデバイスコントローラノードからの許可を求める。本実施形態によれば、デバイスゾーンは、デバイス周囲の領域、例えばラックを指す。許可はハードロック又はソフトロックとして表される。自律車両の最終目的地がデバイスゾーン内にある場合は、ハードロックが必要とされる。自律車両ルートがデバイスゾーンを経由して通過したばかりの場合はソフトロックが必要とされる。図7に示すように、ソフトロック又はハードロックを取得するプロセスは、モバイルラックユニット701で動作する自律車両を含む700によって表される。自律車両702はソフトロックを示すために示され、自律車両703はハードロックを示すために示される。自律車両702は、ラック1から宛先ノードへ複数のノードを進んでおり、モバイルラックユニット701を経由して通過しているので、ソフトロックが要求される。一実施形態では、ソフトロックは、他の自律車両が同じデバイスに対してソフトロックを保持していても自律車両に付与され得る。ただし、モバイルラックユニットの場合は、要求された通路が開いている場合にのみソフトロックが付与され得る。また、ハードロック又はソフトロックを付与する前に、デバイスコントローラノードは、他のデバイス作動が必要であるかどうかを決定し得る。例えば、モバイルラックの場合、コントローラノードは、ハードロックを付与する前に必要な通路を開く必要があるかもしれず、一方、ソフトロックを付与する前に他のアクションを実行する必要がないかもしれない。システムは、ハードロックが複数の自律車両に付与されるかどうかについて、各デバイスコントローラノードに指示する。別の実施形態では、自律車両702は、ラック1からモバイルラックユニット701のラック2とラック3との間の宛先ノードまで複数のノードを進んでおり、したがって、ハードロックが要求される。例えば、このタイプのデバイスでは、モバイルラックデバイスに関連付けられたモバイルラックコントローラノードは、同じ通路に到着する全ての自律車両にハードロックを付与し得、一方、垂直コンベアデバイスに関連付けられた垂直コンベアノードは、単一の自律車両にハードロックを付与し得る。一実施形態では、自律車両は、デバイスゾーンに入る前にハードロック又はソフトロックを有し得、デバイスゾーンから出るとすぐにロックを解除する。
【0043】
図8は、本開示のいくつかの実施形態による、デバイス領域をカバーするノード及びエッジを示すルートプランのグラフ表示を示す。一実施形態では、MRRPは、動作環境で動作する複数の自律車両のためのルートのグローバルプランニングを最適化する。MRRPは、接続されたノードとエッジを持つグラフの形式のマップの離散表現に基づいてルートを計画する。グラフは、図1に記載されているように、BLA/UIを使用して手動で生成され得る又は自動的に生成され得る。例えば、図8の800に示すように、フォークリフトのような自律車両は、モバイルラックユニット2 801のようなデバイスの通路へのハードロックを要求する。MRRPは、モバイルラックユニット2に対する応答としてルートプランを生成し、フォークリフト上で動作するLBCは、モバイルラックユニット2 801のハードロックをシステムに要求する。同時に、ラック3とラック2の間の通路の入り口で待機し、ラック2のハードロックを待つ別のフォークリフトの可能性がある。両方のフォークリフトがハードロックを待っているため、第2のフォークリフトが経路を塞いでいる可能性があるので第1のフォークリフトはナビゲートすることができない可能性があり、フォークリフトがハードロックを受けることができないため、第2のフォークリフトが通路をブロックしている可能性がある。本開示の実施形態は、MRRPモジュールへの受動的要求(passive request)を呼び出すシステムを含むフォークリフトによるこのようなデッドロックシナリオ又は非効率的な待ち時間を解決する技術的解決策を提供する。このようなシナリオでは、受動的要求に応じて、MRRPモジュールはフォークリフトを他の場所に移動させて、フォークリフトの1つに道を譲るように指示し得る。フォークリフトのような、ロボット上で動作しているLBCは、受動的要求を開始されるか、宛先へナビゲートするための経路を要求するかを決定し得る。図8に示すように、灰色のノードは、受動的要求を呼び出すことによって無効(受動的)にされる。
【0044】
別の実施形態では、システムはロック管理を含み得る。例えば、第1のフォークリフト及び第2のフォークリフトはロックを要求し、2つのフォークリフトのうちの1つが、1つ又は複数の所定の条件に基づいてラック2とラック3との間の開放通路に対するロックを取得し得る。この例では、第1のフォークリフトがロックを取得し、第2のフォークリフトがまだロックを要求しているが、まだ取得されていない。この場合、ラック2のノードは、一度に1つの通路のみが開かれ得るので、有効にされないことがある。一例では、両方のフォークリフトが宛先にナビゲートするための経路を要求することがあり、そのような例では、ロックの取得及び解除は、本明細書に記載されるような規則的な方法で行われ得る。システムのMRRPは、第1のフォークリフトの要求をチェックするための前処理を実行し、そこでは第1のフォークリフトはラック2内のノードに到着することを要求し、これは無効にされ、通路は開放されない(図8のラック2に示されているように)。MRRPは、ノードを逆追跡し、有効にされ且つ第1のフォークリフトの宛先に最も近いノードをチェックする。ノードは、ラック2のノードのかわりに、第1のフォークリフトの宛先として扱われる。ここで、MRRPは、第1のフォークリフトの宛先に最も近いノードを提供することによりフォークリフトを動かし続けるが、衝突/デッドロック状態を回避するために、第1のフォークリフトがラック2のノードに入ることを許容しないことがある。MRRPは、意図された宛先を意味するノードを、デバイスに最も近い有効なノードに置き換える。第1のフォークリフトのステータスは、(LBCコンテキストに従って)宛先ノードに到着していないので、依然として待機しているである可能性があるが、第1のフォークリフトは、受動ルートリクエストを呼び出すことによって、別のルートを経由して宛先又は代替の宛先に向かって進んでいる。従って、ノードがフォークリフトに対して有効でない場合、MRRPはフォークリフトの受動経路(passive path)を開始する。
【0045】
図9は、本開示のいくつかの実施形態による、マルチロボットルートプランニングのための方法900のフロー図を示す。方法900は、コンピュータ実行可能命令の一般的なコンテキストで説明され得る。一般に、コンピュータ実行可能命令は、特定の機能を実行する又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、プロシージャ、モジュール、関数などを含むことができる。方法900は、また、通信ネットワークを介してリンクされるリモート処理デバイスによって機能が実行される分散コンピューティング環境においても実施され得る。方法900が記述された順序は、限定として解釈されることを意図されておらず、記述された方法ブロックの任意の番号は、方法900、又は代替方法を実装するために任意の順序で組み合わせることができる。さらに、方法900は、任意の適切なハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせで実装することができる。一実施形態では、フローチャートに示される方法900は、システム、例えば、図1のシステム100によって実行され得る。図9の方法900は、図1~8を参照して以下でより詳細に説明される。
【0046】
図9を参照すると、図示の実施形態では、方法900は901において開始され、この方法は、動作環境の複数の自律車両の中から自律車両が受信された要求に応答して、ルートプランを送信することを含む。動作環境は、1つ又は複数のデバイスを含み、1つ又は複数のデバイスは、デバイス、デバイススペース、及びデバイス周囲の領域を含む。ルートプランは、図8に示すように複数のノードを含む。図1のシステムは、MRRPに、自律車両又は例えばロボットから受信された要求に基づいてルート応答901を送信するように指示する。ここでは、ロボットを自律車両の一例として使用され、代替的に使用されることがある。1つ又は複数のデバイスは、動作環境のデバイス、例えば、モバイルラックユニット又は垂直コンベアを指す。ここで、デバイスは、モバイルラックユニットのような物理的なデバイスを指し、また、近傍のデバイスの存在を表すデバイスゾーンを指し、あるいは、デバイススペース、すなわち、倉庫の開放スペースでアイテムを積み降ろしするために作られた一時的なスペースを表すデバイスの周囲の領域を指すこともある。一時的なスペースの例は、ラインインジケータ、カラムを含み得、そこでは、例えばネステナーカラム(nestainer columns)を使用してアイテムが積み降ろしされる。方法の請求項のさらなるステップは、一例としてデバイスを用いて記載されるが、プロセスステップの同じ又は類似のフローは、デバイスゾーン及びデバイス周囲の領域に適用され得る。
【0047】
902において、この方法は、ルートプランを経路セグメントに分類することを含む。経路セグメントは、1つ又は複数のデバイスのデバイスゾーン内にある複数のノードからの1つ又は複数のノードを有する第1の経路セグメント、又は、1つ又は複数のデバイスのデバイスゾーン外にある複数のノードからの1つ又は複数のノードを有する第2の経路セグメントを含み得る。システムは、ルートプランを経路セグメント、すなわち、第1の経路セグメントを示すS-in-D*及び第2の経路セグメントを示すS-outに分類する。S-in-D*の1つ又は複数のノードからの各ノードは、デバイスD*の内部にあり、S-outの各ノードは、1つ又は複数のデバイスの外部にある。第2の経路セグメント、S-outは、開放され、動作環境内のデバイスが占有していないナビゲーションセグメント又はルートプランを示す。S-inは、特定のデバイスに属するナビゲーションセグメントを示す。S-in-D*は、任意のデバイスD*、すなわち、1つ又は複数のデバイスD1、D2、D3..........Dnに属するナビゲーションセグメントを表す。例えば、一時的なスペースのような、デバイススペースの場合、ラインインジケータ又はカラムは、特定のスペース内をナビゲートするための物理的なデバイスとして機能し、自律車両は、物理的なデバイスと同様の方法で管理される。
【0048】
903において、この方法は、ルートプランからの複数のノードからのノードの各々に対して、分類された経路セグメントからの経路セグメントのタイプを決定することを含む。ここで、経路セグメントの各々は、経路セグメントのタイプ、すなわち、S-out又はS-inについてチェックされる。決定された経路セグメントのタイプがS-inである第1の経路セグメントである場合、904において、方法は、IDでデバイスを識別し、1つ又は複数のデバイスから第1のデバイスとしてマーク付けされ、第1の経路セグメントの1つ又は複数のノードからの第1のノードは、識別されたデバイス、例えば、第1のデバイスD1にマッピングされる。第1のノードは、次いで、第1のデバイスのデバイスゾーンに入るためのアクションを含む第1の前提条件で、905で注釈を付けられる。906において、この方法は、自律車両の宛先ノードを決定することを含む。第1のノードが宛先ノードではなく宛先である場合、第1の経路セグメントの第1のノードは第2の前提条件で注釈を付けられる。一実施形態では、第2の前提条件は、第1の経路セグメントを宛先ノードに進む自律車両のために第1のデバイスのハードロックアクションを実行することを含む。別の実施形態では、1つ又は複数のデバイスを介して第1の経路セグメントを進む自律車両のために第1のデバイスのソフトロックアクションを実行する。
【0049】
一実施態様では、903において、この方法は、ルートプランの複数のノードからのノードの各々に対する分類された経路セグメントからの経路セグメントのタイプを決定することを含む。ここで、経路セグメントの各々は、経路セグメントのタイプ、すなわち、S-out又はS-inについてチェックされる。決定された経路セグメントのタイプがS-outである第2の経路セグメントである場合、909において、この方法は、第2の経路セグメント内の第1のノードN1及び第2のノードN2を識別することを含む。さらに、第1のノードN1は、次のデバイスを示すD-nextにマッピングされ、N2は、以前の(previous)デバイスを示すD-previousにマッピングされる。910において、この方法は、D-prevに対するExitDeviceZone(デバイスゾーンを出る)アクションを含む第1の前提条件でN1に注釈を付け、911において、D-prevに対するExitDeviceZoneアクションを含む第2の前提条件でN1+1に注釈を付けることを含んでいる。912において、この方法は、さらに、ロックされたすべてのデバイスに対するロック解除アクションでN1に注釈を付けるステップをさらに含む。同様に、913において、この方法は、D-nextに対するEnterDeviceZoneアクションでN2に注釈を付けることをさらに含む。D-nextは、914において、所与の自律車両の宛先デバイスについてチェックされる。915において、この方法は、宛先ノードの決定に基づいて、第2の前提条件で第2の経路セグメントの第1のノードに注釈を付けることを含む。第2の前提条件は、第2の経路セグメントを宛先ノードに進む自律車両のために、次のデバイスのハードロックアクションを実行することを含む。同様に、916において、この方法は、1つ又は複数のノードからの宛先ノードの決定に基づいて第2の前提条件で第1のノードに注釈を付けるステップを含み、第2の前提条件は、1つ又は複数のデバイスを経由して第2の経路セグメントを進む自律車両のために、次のデバイスのソフトロックアクションを実行するステップを含む。
【0050】
一実施形態では、方法は、Aで終了する。Aでは、方法は、所定の宛先デバイスのための自律車両のナビゲーションで終了する。自律車両が宛先デバイスに到達すると、本発明の方法は閉じられ、次のステップが、分類された経路セグメントから宛先ノードに向かって進むノードの各々について、経路セグメントのタイプを決定することでスタートし、決定された経路セグメントのタイプは、1つ又は複数のデバイスからの第2のデバイスを含む第2の経路セグメントであり、第2のデバイスは、第2の経路セグメントの1つ又は複数のノードからの第2のノードにマッピングされ、第2のノードは、第2のデバイスのデバイスゾーンに入るためのアクションを含む第1の前提条件を割り当てられる。ここで、ハードロックアクション915又はソフトロックアクション916のいずれかの後、システムは条件付きループ903で継続する。注釈付けステップ907又は908の後、システムは条件付きループ903に入る。最後のセグメントが処理されるまで、プロセスフロー全体が継続される。最後のセグメントが処理されると、条件は終了され得る。
【0051】
図10は、本開示のいくつかの実施形態による、ルートプラン注釈付け及び分類された経路セグメントの表現を示す。一実施形態では、ルートプランの表現は、分類された経路セグメント、各経路セグメントに関連するナビゲーションセグメントを含む。分類された経路セグメントは、ルートノードとして描かれた1つ又は複数のノードに対応する。図10に示され、図9に記述されるように、経路セグメントは、第1の経路セグメントS-in-D*及び第2の経路セグメントS-outのいずれかに分類される。1000は、1つ又は複数のルートノード(左から3番目の列に示される)がデバイスの経路セグメントに属することを示す経路セグメントを示す。図9で前述したように、S-in-D*は、任意のデバイスD*(D1、D2、D3など)に属するナビゲーションセグメントを表す。同様に、S-out-1又はS-out-2は、自律車両が開放において外にある(out in the open)ナビゲーションセグメントを示す。白丸で囲まれたルートノードは、どのデバイスともリンクされない。それらは連続したルートノードであるため、左側に示された1つのセグメントを形成する。ルートノードのノードの別のセットは、別のデバイス、例えば、1007に関連付けられたナビゲーションセグメントを含み、ナビゲーションセグメント1005、1006は、デバイス領域の外側を示す。ここで、ルートノードは、デバイスに所属するか否かにかかわらず、ナビゲーションセグメントに分割される。一実施形態では、1つ又は複数のロボットが1つのデバイスセグメントから正常セグメントに遷移するとき、遷移に関連するアクションが存在する。例えば、ノード1001について、アクションA1は、デバイスD1に対するデバイスゾーンを出る(exit device zone)挙動を呼び出すことであり得る。ここで、デバイスゾーンは、デバイスD1の周囲のスペース又は領域を指す。その後、以前のデバイスD1に対するロック解除要求(以前のデバイスは図10に示すようにD1であったため)が開始され、デバイスに対する他の全てのデバイスのソフトロックがアクションA2のためにロック解除される。その後、システムは、デバイスD2及びアクションA3である経路で遭遇する可能性のある次のデバイスに対するソフトロック要求を開始する。すべてのアクションは、ロボットの経路ナビゲーションに非同期又は並列に関連付けられる。言い換えると、ロボットは特定のルートノードではなく又はアクション(ロック/ロック解除要求)の実行を待っているのではなく、同じ経路ナビゲーション上で移動し続けることがある。
【0052】
本開示の実施形態は、ロボットの経路ナビゲーションに関連する動作を非同期的に又は並列に実行することによって、ロボットのナビゲーション及びスループットを最適化する方法及びシステムを提供する。すべてのアクションには、前提条件があり、例えば、将来の時間のインターバルのどこかで、ロボットがノードより先に進む前にアクションが完了することをシステムは期待する。1002において、前提条件は、完了すべきA1アクションを含み、従って、A1は、非同期アクションとなり、アクションイベントA1が完了しない場合、ロボットが1002によって表されるノードにナビゲートしない可能性があることを示す。例えば、次のインスタンスでロボットに前提条件が適用されない場合、前提条件は後でずっと遅い時間間隔で移動することができる。1003において、ロボットがデバイスゾーンD2に入る前に、アクションA4が開始され、デバイスゾーンD2に入る要求が開始される。1004において、システムは、ロボットがさらにナビゲートする前に、要求デバイスゾーンD2に入る(A4アクション)を含む前提条件P2を配置する。前提条件P3は、過去のアクションにおけるソフトロック要求(A3)の完了を期待する。従って、ロボットはノード1001からノード1003まで自由に移動し、モバイルラックが移動するようにする。別の実施形態では、種々の最適化ステップがシステムによって実行されてもよく、ロボットは、前提条件P2及びP3が満たされないまで、ノード1004に進むことができない。これは、ロボットがデバイスゾーンD2に入ることができる前に、システムがデバイスD2のロックを取得した可能性があることを意味する。同じサイクルが繰り返される。1005において、アクションデバイスゾーンD2を出るは、全てのソフトロックされたデバイスが解除された状態で開始される。アクションA7は、デバイスが宛先にあるので、D3に対するハードロック要求の開始につながる。1006において、以前の遷移と同様に、次の前提条件P4:デバイスゾーンD2を出るの完了が満たされる。1007では、ノードへの遷移前に、満足されるべき2つの前提条件、すなわち、P5:デバイスゾーンD3に入る要求の完了及びハードロック要求アクションA7の完了がある。アクションと前提条件のサイクルは、割り当てられた宛先/タスクがそれぞれのロボットによって到達/完了されるまで継続される。
【0053】
図11は、本開示のいくつかの実施形態による、図1の様々なシステムコンポーネント間のナビゲーションアクションのシーケンス図を示す。シーケンス図1100は、単一の自律車両、例えば、ロボットのためのフローを表すが、システムは、単一のロボットに限定されず、AMR(自律移動ロボット)、AGV(自律誘導車両)、本発明の範囲内で開示されるような同様の機能を実行し得る他の車両を制御するために使用され得る。代表的かつ単純な目的のために、全ての図面は限定された車両に含まれてもよいが、システムは、デバイス(モバイルラック、仮想コンベア、シートシャッタなど)、デバイス周囲の領域、デバイススペース(一時的なスペース)、及び車両(自動フォークリフトなど)間の同期を制御及び管理するために使用され得る。一実施形態では、ロボットが起動すると、ロボット上で実行されているLBC1104は、倉庫内のデバイス情報をフェッチするようにGWM1101に要求する。LBC1104は、要求に基づいて、ロボットがデバイスゾーン内にあるかどうかを検証し、サービスルート要求が、デバイスゾーンを即座に出るように開始される。LBC1104は、ロボットが特定のデバイスゾーン内で行っていることにコンテキストを持たないので、デバイスは、デバイスゾーンを出るように指示される。ゾーンは安全ゾーンであると考えられるため、システムは、ロボットがデバイスゾーンに入る前にロックを取得することを期待している。一実施形態では、デバイスが起動されるとき、ロボットは既にデバイスゾーン内にある。そこで、ロボットをデバイスゾーン外に急行させる安全操作を実装する。LBC1104が、ロボットが任意のデバイスゾーン(例えば、MHEゾーン)内にあると判定した場合、LBC1104は、ノードに関連付けられたグラフを提供する又はデバイスゾーンのすぐ外の位置を識別する。LBC1104は、MRRP1103からのルートを取得し、ロボットがナビゲートするためのナビゲーションを起動する。上記ステップは、ロボットフェーズ(robot phase)の起動時に実行される。
【0054】
一実施形態では、起動フェーズの後、GBC1102は、タスクをロボットに割り当て得る。タスクの割り当てに基づいて、ロボットは、ノードD(宛先ノードを表す)などのタスクを実行するためのノードにナビゲートする。一旦、定義されたタスクがロボットに割り当てられると、LBC1104は、DにナビゲートするためのルートプランをMRRP1103に要求する。例えば、MRRP1103は、1つ又は複数のルートプラン及びルート応答を提供し得る。ルートプランの受信に続いて、シーケンス図1100は、宛先に到達するまで繰り返されるフローを示す。例えば、LBC1104がルートを受信するとき、ルートは注釈を付けられ、経路セグメントPは次の満たされていない前提条件まで計算される。システムは、経路セグメントPに対するナビゲートアクションを呼び出す。LBC1104は、ナビゲーションコンポーネント1105からフィードバックを受信する。ナビゲーションフィードバックは、ロボットのナビゲーション進行のマーキングを容易にし得、LBC1104は、交差したノードを追跡し、システムを更新する。受信したナビゲーションフィードバックは、また、ロボットが最後に訪問したノードを含み得る。この場合、最後に訪問したノードはnであり得る。最後に訪問したノードに基づいて、アクション及び要求(ハード又はソフトロック)が開始され、nに注釈を付けられる。システムは、図9に記載されているように、nにおいて注釈を付けされたゾーンに入る/出るアクションを呼び出す。後に、nにおいて注釈を付けられたロック/ロック解除要求を呼び出す。完了したアクションに関連する前提条件は、後で削除される。このプロセスは、宛先に到達するまで繰り返される。
【0055】
図12は、本開示のいくつかの実施形態による、図1の様々なシステムコンポーネント間の通信のためのシーケンス図を示す。シーケンス図1200は、システム100のGBC1201、LBC1202、MRRPラッパー1203、及びMRRPコア1204の間の通信を示す。一実施形態では、LBC1202は、デバイスDの通路P1内のノードn*(複数のノード)へのルートを要求する。ノードn*が無効にされた場合、MRRPラッパー1203は、n*から最も近い接続され且つ有効にされたノードを識別する。例えば、ノードが通路内で無効にされている場合、通路内の他のノードも無効にされる可能性がある。したがって、MRRPラッパー1203は、デバイス、例えば、モバイルラックの、ラックの左側又は右側のいずれかの入口点のいずれかにあり得るノードを識別し得る。MRRPラッパー1203は、いずれかの側の使用可能であるノードを見つけるが、識別されたノードは、宛先から最も近いノードであり得る。次に、ロボットの宛先がノードnに置き換えられる。MRRPラッパー1203は、全てのアクティブなロボットに対してルートの再プランニング(replanning)をトリガし、次いで、MRRPコア1204から受信したルート応答をLBC1202に転送する。次に、LBC1202は、注釈付けタスクを実行し、n+1(仮想ノード)におけるハードロック及びnへのナビゲーションのための前提条件を追加する。LBC1202は、ハードロックを解除し、通路の開放を開始し、通路内のノードを有効にするようにGBC1201に要求しなければならない。GBCは、モバイルラックの通路P1の開放を調整する(coordinates)。GBC1201は、MRRPラッパー1203に、P1のためのノードを有効にし、以前に開放された通路P2のためのノードを無効にするように要求する。MRRPラッパー1203は、受信された要求をMRRPコアに転送し、MRRPコアは、その要求に基づいて、うまくノードを有効又は無効にする。MRRPラッパー1203は、倉庫内をナビゲートしているすべてのロボットに対して上記のステップを繰り返す。例えば、宛先ノードが無効である場合、MRRPラッパー1203は、ロボットまでの距離が最小のn*から最も近い接続され且つ有効にされたノードnを見つけ、ルート宛先をnで置き換える。置き換えられたルート宛先に続いて、MRRPラッパー1203は、ルート応答としてMRRPコア1204によってLBC1202に転送されるルートを再プランニングする。次に、LBC1202は、n*へのナビゲーションを継続する。
【0056】
図13A~13Cは、本開示のいくつかの実施形態による、デバイス及びデバイススペースを有する倉庫の上面図を示す。一実施形態では、自律車両、この実施形態では、ロボット1303は、倉庫1300内をナビゲートし、ロボット1303は、マルチロボットルートプランナ(MRRP)を使用して倉庫をナビゲートする。本開示の実施形態は、複数のモバイルラック1301、1302などの複数のデバイスをサポートする。モバイルラックは、異なる通路を有し、ロボット1303が割り当てられたタスクに基づいてナビゲートする通路に応じて、ラック全体が移動され得る。例えば、自動フォークリフト1303のようなロボットは、ラック1301内にアイテムをドロップするタスクを割り当てられ、次に、要求が、ラック1301を開くためにモバイルラックコントローラノードに送られ得る。同様に、フォークリフト1303がモバイルラックの外に移動しているとき、ラック1301のロックが解除される。モバイルラック1301の開閉は、モバイルラックコントローラノードによって処理される。本開示のシステムは、別のフォークリフトが異なるモバイルラック1302にアクセスすることを可能にするような方法で、モバイルラック1301内で動作するフォークリフト1303を制御する。すなわち、各モバイルラックは、同時に内部で動作するフォークリフトを有することができる。
【0057】
別の実施形態では、図13Bでは、フォークリフトは、モバイルラック1311の第4の通路1312にナビゲートする。この実施形態では、GBCとの通信が開始される。フォークリフト上で動作するLBCは、GBCと通信し、ラック1307の通路に入る許可を承認する。許可が承認されると、GBCは、モバイルラック1311のモバイルラックコントローラと通信し、ラック1311の通路を開放する。サーバ側のGBCコンポーネントは、モバイルラック1311のトラフィック制御機能を実行する。シナリオは、倉庫内のモバイルラックや複数のロボットのような複数のデバイスに拡張され得る。本開示の実施形態は、複数のデバイスを扱い、同期、協調、デッドロック回避、駐車時間の短縮などを維持するための方法及びシステムを提供する。例えば、複数のロボットは、1つ又は複数のデバイスに非常に近接し得る。一実施形態では、いくつかの倉庫では、モバイルラックと倉庫の他の領域との間の通路は、1307又は1315のように狭いことがある。代替的な実施形態では、ロボットが倉庫の周囲をナビゲートするために、1つの入口及び出口1305のみが存在することがある。本開示の実施形態は、複数のロボット、例えば、自動フォークリフト1303、1306などを複数のフロアでナビゲートすることをサポートする方法及びシステムを提供する。
【0058】
一実施形態では、図13Bに示すように、複数のモバイルラック1301、1302、複数のモバイルラックの通路内をナビゲートする複数のロボット1303、1306、及び単一の入口点又は出口点1305を有し得る倉庫のモバイルラックと他の領域との間の狭い通路1307又は1315でのナビゲーションに利用可能な複数の階が存在するため、ナビゲーションは困難である。この実施形態では、本開示は、フォークリフトのように、ラックが開放された後に通路に入ることができる複数の操作を可能にし、一方、通路内の別のフォークリフトがモバイルラックを通過及び出ることを可能にすることによって、モバイルラックの通路内で複数のフォークリフト1303、1306の移動を可能にする。別の実施形態では、本開示のシステム及び方法はまた、オンデマンド機能を可能にし得る。例えば、モバイルコントローラノードがモバイルラック1301、1302を移動するときはいつでも、コントローラノードは、まずモバイルラック1301のすべてのノード1312を無効にし、モバイルラック1301の通路を移動し、次いで、通路内でのみノード1312を有効にする。これは、MRRPが、通路内の無効にされたノードにフォークリフト1303、1306を送らないようにするのに役立つ。従来、フォークリフトは、パレットをピッキングし、モバイルラックにドロップする機能を実行するが、このような複雑なシナリオでは、システムは、フォークリフト1303、1306に、これらのモバイルラック1301、1302から出るように指示し、狭い廊下の交通を調整し、安全上の懸念に対処し、例えば、フォークリフトにモバイルラック上のパレットをドロップするように要求し、別のフォークリフトは、開放通路を使用し、開放通路を一時的に使用し、出るように要求し得る。本開示の実施形態は、モバイルラックの通路内でフォークリフトの安全な移動を可能にするために、ロック(ソフト及び/又はハード)を付与及び解除する原理を使用する。
【0059】
他の実施形態では、フォークリフトが経路上のラックに進入すると、本開示のシステム及び方法は、フォークリフトの位置特定が失われないことを確実にするステップをとる。このため、デバイスゾーン領域に入る及び出る挙動は保証されるが、モバイルラックが移動するとき、位置特定が失われる可能性がある。したがって、システムは、フォークリフトがモバイルラック領域に入る前に、デバイスゾーンに入る又は出る挙動(マップの切り替えなど)をトリガする。一実施形態では、システムは、MRRPがモバイルラックの開放通路を経由してフォークリフトをルーティングする(route)ことを可能にする。システムは、外部デバイス(モバイルラック1301、1302、垂直コンベア1304、シートシャッタ)を一般的な方法で取り扱うための高度な機能を提供する。システムは、倉庫内の様々なデバイス、及びデバイスに関連する情報、例えば、モバイルラック1301、1302を包含する矩形の座標などを認識する。フォークリフトが起動すると、フォークリフト上で動作するシステムコンポーネントが、例えば各デバイスの座標などのデバイス情報をサーバのGWMモジュールから引き出す。フォークリフト上で動作するシステムコンポーネントは、サーバのMRRPモジュールから倉庫内のある場所から別の場所へナビゲーションするための経路を要求する。MRRPが応答を送信するとき、応答は、ノードのリスト(ソースノード1313又は宛先ノード1314、又は、迂回路、各チェックポイント上の前提条件などを含み得る図13Bに示されるような中間ノード)を含む。MRRPは、例えば、第2のフォークリフトが、MRRPのルート調整の作業のために、そのルートID上の特定のインデックスを越えた可能性があるチェックポイント及び前提条件のリストを提供し得る。フォークリフトがMRRPからルート応答を受け取ると、ルートはより多くの前提条件に変換される。前提条件は、特定のフォークリフトが外部デバイスにロックする場合にのみあるチェックポイントから別のチェックポイントへ渡る(cross)ことができることである。また、本方法及びシステムは、MRRPから受信した経路を既知のデバイス1301、1302、1304等のリストに対する実行を可能にし、その後、経路が他のデバイスのいずれかと交差するか否かを決定する。経路が交差するとき、フォークリフトで動作しているLBCは、デバイスがサポートする通路に入るためのアクセスを得るために、適切なデバイスコントローラノードからの経路を要求する。したがって、フォークリフトが宛先1314に向かって移動するとき、フォークリフト1303、すなわち、フォークリフト上で動作しているLBCは、デバイスコントローラノードへのアクセス許可を継続的に要求する。次に、デバイスコントローラノードは、デバイス1311に関連する通路を開放するアクションを開始する。当該フォークリフトがキュー(queue)の最初にある場合、コントローラノードは、許可を付与し得る。フォークリフトが入口点に到着し、許可をチェックするとき、そのナビゲーション経路を継続する。当該フォークリフトがデバイスに関連する経路から出なければならない場合、フォークリフトはロックを解除しなければならない。
【0060】
別の実施形態では、LBCは、MRRPから経路を受信し、システムは、既知のデバイスセットで経路応答を、次に、フォークリフトが既にデバイスの通路内にあるので、フォークリフトをデバイスの外部に運ぶ第1のチェックポイントを検証し、次に、システムは、デバイスのロック解除するように指示する。例えば、複数のフォークリフトの経路が複数のモバイルラック1301、1302と交差し、第1のフォークリフト1303がノード1313から来ており、第2のフォークリフト1306がノード1314から来ており、第1のフォークリフト1303の宛先がデバイス1301内にある場合、第1のフォークリフトは、モバイルラック1301が通路を開放しノード1312を有効にするための道を譲るように移動されなければならないので、デバイス1301へのハードロックについての許可を取得する。第2のフォークリフトは、モバイルラックを移動させる代わりに、すでに開放されている通路を経由して迂回する必要があることがあり、したがって、第2のフォークリフトは、デバイスのハードロックの代わりにソフトロックを必要とする。これは、デッドロックに至ることなく、両方のフォークリフトが互いに通過することを可能にする。第2のフォークリフトが衝突する又はデッドロックに至る可能性があるとき、第2のフォークリフト1306は、迂回路を取り、開放通路に入り、第1のフォークリフト1303の経路から離れる。
【0061】
本開示の実施形態は、複数のフォークリフト1303、1306がモバイルラック1301内の単一の通路に対するロックを保持することを可能にする。したがって、2台のフォークリフトが同じデバイスにハードロックをする可能性はないが、フォークリフトはハードロックとソフトロックを同時にする場合がある。時には、ラック1301を開くのにしばらく時間がかかることがあり、従って、フォークリフト1303で動作しているLBCは、ラック1301の特定のノードへの経路を要求し得、たとえその経路が閉じられていても、LBCは、モバイルラックの外側の有効かつノードに最も近い、最も近い経路への経路を送信し得る。モバイルラック1301が移動すると、LBCは、通路内の各ノードが有効にされるにつれて、更新された経路を送信する。別の実施形態では、フォークリフト1303は、垂直コンベア304の近くの垂直コンベアゾーンに移動することを望むことがある。最終ノード1314は、垂直コンベアゾーンの一部であり得る。フォークリフトが起動すると、LBCは既知の外部デバイスを通る経路を実行し、交点があることをLBCが確認すると、LBCはロック許可を要求する。交差点がない場合、システムは前提条件を適用し、前提条件が満たされるまでフォークリフトが前進することを許容しない。上述のステップと同様に、システムは、垂直コンベア及びシートシャッタのような他のデバイスを扱う。
【0062】
別の実施形態では、受動ルート要求(passive route request)が自律車両によって提示される場合、デッドロック状態を解決するために1つ又は複数の解決策が提供され得る。例えば、受動経路要求を受信するフォークリフトは、宛先を変更し、別のルートをナビゲートし、割り当てられたタスクを再開し得る。別の例では、強制受動変換において、2つ以上のフォークリフトが、MRRPラッパーによって検出され得る重複した宛先を有することがある。ここで、第1のフォークリフトが目的地に到達する一方で、第2のフォークリフトは、第1のフォークリフトが目的地に到達するまで受動ルートを取ることを強制される。同様に、一時的なスペース環境では、強制的な受動要求が実装されてもよい。別の例では、第1のフォークリフトと第2のフォークリフトが重複した宛先を有し、第1のフォークリフトがデバイス領域にあり、第2のフォークリフトがない場合、MRRPラッパーは、第2のフォークリフトのルートプランを受動経路に変換し得る。一実施形態では、重複する宛先が、デバイス領域内にあるロボットに有利に解決され、ロボットが領域外に出るのを助ける。別の例では、フラグ、例えば、駐車可能フラグ(parkable flag)が、受動経路の終点として使用されず、実際の宛先を有するロボットのための駐車スポットとして使用され得る特定の指定ノードのために、MRRPにおいて実装されてもよい。
【0063】
図13Cは、本開示のいくつかの実施形態による、デバイススペースを有する倉庫の上面図を示す。前述のように、デバイススペースは、アイテムのドロップ又はピックのために典型的な倉庫内に作られる一時的なスペース1320を含み得る。図13Cに示されるように、スポットの4つのメインカラム(main columns)が配置され、1つの追加のノード経路がネステナーにおけるドロップのために配置される。4つのメインカラムは、ラインインジケータによって分割され、各ネステナーの境界をマークする。複数のノードを含む第1のネステナーのためのナビゲーション経路は、ノードN1,N2,N3....Nnで表され、1318として描かれたN1は、フォークリフトがネステナーからピックするために進む間に一時的なスペースに入る第1のノードであり、1319は、Nnによって描かれた最後のノードである。一実施形態では、自律車両に割り当てられたタスクは、インバウンドの一時的なスペースからネステナー上に積み重ねられたアイテムをピックアップすることである。一時的なスペースのためのナビゲーション経路は、何らかの修正を伴うラック又は他のデバイスユニットについて説明したものと同様の方法及びシステムに従い得る。例えば、アイテムをピックアップする作業が割り当てられ、新しいパレットが一時的なスペースに置かれると、自律車両に割り当てられた作業は中断される。前述の技術的課題を克服するために、一時的なスペース内の各領域は、カラム、例えば、ネステナーを含むカラムを割り当てられる。
【0064】
本開示の実施形態は、一時的なスペース(一時スペース(temp space))の取り扱いを含む1つ又は複数の技術的問題に対する解決策を提供する。1つ又は複数の技術的問題は、レーンアクセス制御、ノードの有効化/無効化、境界識別、レーン間の距離等であり得る。一例では、主要な関心事の1つは、レーンアクセス制御を含む。ランドアクセス制御は、フォークリフトが他のフォークリフトに隣接したレーンに進入することを防止する。また、ノードの無効化/有効化は、MRRPによってフォークリフトが一時スペースに再ルーティングされることを防止する。例示的な実施形態では、外界に接続されたノードは、入口ノードとして注釈を付けられる。例えば、一時スペース領域内の各スポットは、図13Cに示されるように、そのカラムをA、B、C、D又はN(ネステナー用)として指定するメタデータと共に注釈を付けられる。これはまた、スポットの関連するノードでノードのカラムに注釈を付けることを可能にする。一時スペースの場合、ソフトロックは「順番待ち(in queue)」とみなされる。ソフトロック「順番待ち」の条件は、本システムのLBCに、再プランニングが発生しロックがもはや不要となるまで受動経路を要求させる。一方、要求されたスポットに対してはハードロックが付与される(フォークリフトが隣接する通路を下ることができないという要件に基づいて、通行が許可される)。一例では、Bに対するロックは、また、A、C、及びNをロックし得、Cに対するロックは、また、B、D、(及びおそらくN)をロックし得る。複数のフォークリフトの間接ロックは、所与のカラムに対して認められるが、他のフォークリフトによってすでにロックされているカラムに対してロックを要求した場合は、フォークリフトは「順番待ち」に入れられる。例えば、カラムB及びDに行くことを要求するフォークリフトは、同時にそうすることができ、両方とも間接的にカラムCをロックするが、あるフォークリフトがカラムBをロックしている場合、他のフォークリフトは、カラムCに対する直接ロックを付与されない。一実施形態では、間接ロックは、カラムとロックとの間の必要なすべての関係を指定するメタデータで指定し得る。Aに対する直接ロックを要求するフォークリフトは、また、間接的にB及びNをロックし、Dに対する直接ロックを要求するフォークリフトは、また、間接的にCをロックする。ロックが付与されると、要求されたアクションスポットのノードと入口ノードの間のカラムのすべてのノードが、ロック期間中、有効にされる。
【0065】
本開示の実施形態は、フォークリフト(自律車両)がカラム又は隣接するカラムのロックを保持していない場合に、カラムに対するロック要求を認めるシステム及び方法を提供する。例えば、一時的なスペースの各領域内で、ノードを領域外に接続する領域のエッジがある場合、ノードは入口ノードとして注釈を付けられる。注釈に基づいて、ロック要求は、フォークリフトがターゲットとする宛先を含むように修正され得る。一例では、システムのデバイススペース制御(一時スペースコントローラ)は、要求されたノードから始まり、一時スペースの領域外に接続されたノードで終わる経路を探す。宛先ノードへの経路内のノードのサブセットが、ロックの間に有効にされる。別の実施形態では、一時的なスペースの各領域は、メタデータ対で注釈を付けられる。一時的なスペースの場合、カラム又はレーン間の距離が、ロックの有効性を決定する。例えば、2つの領域がロックされ、2つの領域の境界が互いの所定のロック領域の範囲内にある場合、ロックは無効とみなされる。どちらの領域もロック領域範囲の異なる値を有し得るので、2つのうちの大きい方が有効性を決定するために使用される。フォークリフトのロックは、有効な状態につながる場合に許可され、無効な状態につながる場合には順番待ちに入れられる。そのような各領域には、キー「lock_area_range」を持つメタデータフィールドが割り当てられ、第1レーンの「lock_area_range」として決定されるフロート値は、第2レーンの幅よりもわずかに大きくあるべきであり、他の各レーンの「lock_area_range」は、レーンのいずれかの幅よりも小さくあるべきである。また、一例では、例えば、一時スペースの4レーンすべてを囲むオートパラレル領域(auto parallel region)が作成され、その結果、MRRPは、フォークリフトが、一時スペース領域にある限り、互いのロック領域範囲内のノードに行くことを可能にする。
【0066】
一実施形態では、第1の自律車両/ロボットは、一時的なスペース内の開放レーンのロックを保持し、第2のロボットは、下側レーンのロックを要求し、その結果、第1のロボットは、第2のロボットが障害になる(second in the way)のでレーンに入ることができず、第1のロボットは、第2のロボットが障害になるので、受動ルートで脱出することができない。一時スペースの問題は、1つ又は複数のデバイスと同じ問題であるが、混雑が一時スペース周辺の領域ではるかに高く成り得る可能性が高いため、ロボットはそのエリア内にいるより多くの理由(例えば、倉庫内の充電ステーション)がある。前述したように、ロボットは、受動経路を受信すると、各宛先のハードロックを解除する(ロボットは、現在占有している領域に対するソフトロックを保持すべきである)。宛先への非受動経路を受信すると、ロボットは、必要なロックを再度取得する。この解決策は、ロックを保持するロボットが、実際に対応するデバイススペースに入ることができることを保証する。例えば、ロボットがデバイスに入ることができない場合、受動経路を取得してロックを解除し得、他のロボットが他の領域のロックを取得するためのチャンスを与える。これは、ロボットがライン制御の外に座している又はデバイスが他のロボットをブロックしているが、ロックが得られない場合、最終的には、ブロックされたすべてのロボットがロックを解除し、デバイスの外側のロボットがロックを得ることができることを意味する。別の実施形態では、領域メタデータは、ロックを得るための距離閾値を指定することができる。ロボットは、領域の閾値内にあるときにロックを取得し、その領域から押し出されるとロックを解除し得る。閾値を指定することにより、ロボットはロックを得る前に一時スペースのすぐ外に来て、これは、一時スペースの外で待機している他のロボットがロックを得ることを確実にする。
【0067】
図1乃至図13の様々な実施形態において、動作環境における自律車両管理のための方法及びシステムが開示されている。本開示は、複数のフロアを有し、複数のデバイス、デバイススペース及びデバイスの周囲の領域を含む倉庫内で動作する複数の自律車両に関連する分野の技術的問題を解決する。本明細書に記載される種々の実施形態は、デッドロックを排除し、待ち時間がないこと、自律車両の協働動作及び衝突のないルートプランニングを確実にするステップを実装する。
【0068】
本開示の実施形態は、デバイスの通路、デバイススペース又はデバイス周囲の領域をナビゲートしながら、複数の異種ロボットをナビゲートする及びアイテムをピッキング/ドロップすることの調整及び管理の問題に対する技術的解決策を提供する。本開示の実施形態は、また、同期されるべきフォークリフトのためのタスク割り当てを容易にし、最大限の性能、モバイルラック等のような他のデバイスとの円滑なインタラクションを確実にし、ロボットの待ち時間がないこと及び倉庫内の狭い通路内のモバイルラックの出入りの間の複数のロボット間の協働を確実にするためにデッドロックを回避するための最適な解決策を提供する。本開示の実施形態は、また、フォークリフトが、ロック有効/解除機能の原理を適用して一時的にモバイルラックに入り、本システムのMRRPコンポーネントと協働し、開放又は閉鎖された通路のみに対してノードを有効/無効にすることを可能にし得る安全シナリオのための方法及びシステムを提供する。モバイルラックの利点は、倉庫のスペースを利用することである。モバイルラックを備えたこのような倉庫では、ロボットがナビゲートし、メッセージ交換をする又は隣同士を通過する狭い通路が存在する場合がある。システムは、デバイスコントロールとトラフィック管理を含む少なくとも2つの重要な機能を実行しなければならない。MRRPコンポーネントは、ラックの出入りに対して異なる関連アクションを呼び出すことにより、通路に入ることに対して若干のコストペナルティを追加するが、オプションがない場合は、システムは、ロボットがラックに出入りすることを可能にすることがある。いくつかの実施形態では、フォークリフトがモバイルラック内で停止される場合、フォークリフトはモバイルラックから手動で出され得る。この動作は、フォークリフトがまだモバイルラックのロックを保持している可能性があり、手動で移動されたため、倉庫内の自律イベントの連鎖を断ち切る可能性がある。したがって、フォークリフトがブートバックする(boots back)ときはいつでも、フォークリフトで動作しているLBCが現在の位置を確認する。現在位置がデバイスのいずれにもない場合、LBCは、フォークリフトがデバイスに保持していた可能性のあるすべてのロックを解除する。その後、MRRPは、フォークリフトが宛先に到着するまでセッションをアクティブに保つ。システムは、また、タイムアウトサービスを使用して、ロック要求がGBCによって受諾されていない場合を識別し得、そのような場合にエラーを発生させ得る。
【0069】
本方法及びシステムは、また、MRRPとモバイルラックコントローラとの連携を確実にし、複数のロボットが互いを待っているなどのデッドロックなしにナビゲートすることを可能にする技術を確実にするために、セキュリティ対策を講じた。モバイルラックは、ロボットがこれらのモバイルラックの通路にナビゲートする必要があり、フォークリフトが通路から出る必要があり、モバイルラックは、フォークリフトが入ることを可能にするために移動する必要があるなどのため、特定の課題を引き起こす。システムの機能は、ナビゲーション、ルートプランニング、及びデバイスコントロールの重複を含む。このシステムは、複数のロボットのナビゲーションゾーンと重複する倉庫のような動作環境の任意のデバイスに拡張可能である。
【0070】
一実施形態では、システムはまた、デッドロックにつながり得る循環的な前提条件を回避する。例えば、前提条件を避けるために、本方法及びシステムは、フォークリフトが、ナビゲーション経路内にあり得る他の全てのラックに対してではなく、フォークリフトのナビゲーション経路で最初に遭遇するデバイスに対するロックを要求することを可能にする。システムはこのシナリオを維持し、すべてのラックに不必要なロックがないことを確実にする。フォークリフトがモバイルラックの開放領域を使用する前に、システムは、一般的な方法で扱われ得るデバイスゾーンを出る又は入る挙動をトリガし得る。デバイスゾーンを出る又は入るがトリガされる位置は、フォークリフトが取る経路に基づいて動的に生成され、できるだけラックに近い待機スポットとみなされる。また、本システムのGWMは、要求されるときにLBC、GBCに提供される、デバイス座標、通路座標、ラック座標、通路情報を格納する。
【0071】
一実施形態では、特定の区域の倉庫に安全上の危険がある場合、シートシャッタが落下し得、火災が他の区域に広がるのを防止し得る。いくつかの倉庫では、フォークリフトが夜間に稼動しなければならない場合があるので、シートシャッタは夜間に閉められることがある。モバイルラックと同様に、フォークリフトがこれらのゾーンをナビゲートする必要がある場合、LBCは、ゾーンへの入出口を取り扱うことの許可を要求し得る。シートシャッタは許可を与えて開き得、それ以外の場合はロックの許可を拒否し得る。本発明は、限定されるものではなく、デバイスのコントローラノードが、システムの一部としてロック許可を付与又は拒否することができる外部デバイスを含む。
【0072】
本開示の実施形態は、また、一時的なスペースを含む技術的問題に対する解決策を提供する。例えば、1台のロボットがロックなしでレーン(一時的なスペース)の外で待機しており、他のロボットがロックを保持している隣接するレーンの内側を移動しようとしている場合、いずれのロボットも、他方に屈しない可能性がある。この場合、ロックを保持しているロボットは、宛先に到達できないにもかかわらず、ロックを解除しないことがあり、ロックされた通路の外側のロボットは、よけないことがある又はよける(move out of the way)ことができず、それによってデッドロックを作り出す。別の例では、ロボットがレーン内であるが入口付近のスポットに行こうとし、別のロボットが隣接するレーンの外でロックを待っている場合、同様の問題が発生する可能性がある。別の例では、ネステナーレーン(一時的なスペースにおけるネステナーの通過のためのレーン)は、使用可能なノードの近くの無効なノードに起因するエラーを引き起こす可能性がある。本開示の実施形態は、前述の問題に対する1つ又は複数の技術的解決策、すなわち、ロボットが受動経路を受信して宛先に対するハードロックを解除することを提供する。これは、ロボットが、MRRPが宛先に向かって誘導している間だけハードロックを保持し、宛先に到達するとすぐに解除することを保証する。別の例では、自律車両(ここでは、ロボット/フォークリフトと称する)に隣接するレーンを追加して、与えられた受動経路である一時スペース近くのロボットのための脱出ルートを作り出し得る。重複ゴールを要求しないにもかかわらず、ロボットが立ち往生し得る別の実施形態では、そのような場合、2台以上のロボットが重複する宛先を持つとき、それらのうちのいくつかは最終的な宛先ではない宛先に再ルーティングされ、MRRPラッパーがロボットに、MRRPコアに任せるのではなく受動経路を要求することを強制する。したがって、あるロボットは、レーンの入口に近い有効なスポットをゴールに要求し、別のロボットは、隣接するレーンの外側に座して再ルーティングされる(従って、第1のロボットのゴールと衝突する)場合、第2のロボットは押し出されて受動経路に導かれ得る。
【0073】
1つ又は複数のコンピュータ可読媒体の任意の組合せが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁、若しくは半導体システム、デバイス、若しくはデバイス、又はこれらの任意の適切な組み合わせであり得るが、これらに限定されない。本明細書に記載される全てのシステム及びプロセスは、1つ又は複数の非一時的コンピュータ可読媒体から読み取られたプログラムコード内に具体化され得る。コンピュータ可読記憶媒体のより具体的な例(非網羅的リスト)は、次のものを含む:ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROM又はフラッシュメモリ)、中継器を備えた適切な光ファイバ、ポータブルコンパクトディスク読取り専用メモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、又はこれらの任意の適切な組み合わせ。本文書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによって、又はそれらと関連して使用するためのプログラムを含む、又はプログラムを記憶することができる、任意の有形媒体であり得る。いくつかの実施形態では、ハードワイヤード回路が、いくつかの実施形態によるプロセスの実装のためにプログラムコードの代わりに、又はそれと組み合わせて使用され得る。従って、実施形態は、ハードウェア及びソフトウェアの任意の特定の組み合わせに限定されない。
【0074】
コンピュータ可読信号媒体は、例えばベースバンド又は搬送波の一部として、その中に具現化されたコンピュータ可読プログラムコードを伴う伝搬データ信号を含み得る。そのような伝搬された信号は、電磁気的、光学的、又はそれらの任意の適切な組み合わせを含むが、これらに限定されない、種々の形態のいずれかを取り得る。コンピュータ可読信号媒体は、命令実行システム、装置、又はデバイスによって、又はそれらと関連して使用するためにプログラムを通信、伝搬、又は転送することができるコンピュータ可読記憶媒体ではない任意のコンピュータ可読媒体であり得る。コンピュータ可読信号媒体上に具現化されたプログラムコードは、無線、有線、光ファイバケーブル、RF、又は上記の任意の適切な組み合わせを含むが、これらに限定されない任意の適切な媒体を使用して送信され得る。
【0075】
本開示の態様のための動作を実行するためのコンピュータプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせで書かれ得る。プログラムコードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上且つ部分的にリモートコンピュータ上で又は全体的にリモートコンピュータ又はサーバ上で実行し得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続され得る、又は接続は、外部コンピュータ(例えば、インターネットサービスプロバイダを使用してインターネットを介して)に又はクラウドコンピューティング環境において接続がなされ得る、又はサービスとしてのソフトウェア(SaaS)、サービスとしてのプラットフォーム(PaaS)又はサービスとしてのインフラストラクチャ(IaaS)又はサービスとしてのロボット(RaaS)又はサービスとしての倉庫(WaaS)又はサービスとしての協働ロボット(cobots)又は他のサービスモデルなどのサービスとして提供され得る。通信は、有線及び無線通信の両方に拡張され得る。
【0076】
本開示の態様は、本開示の実施形態による方法、装置(システム)、及びコンピュータプログラム製品のフロー図及び/又はブロック図を参照して本明細書に記載される。フローチャート図及び/又はブロック図の各ブロック、及びフローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータプログラム命令によって実装することができることが理解されよう。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されて、コンピュータのプロセッサ又は他のプログラマブル命令実行装置を介して実行される命令が、フローチャート及び/又はブロック図ブロックに指定された機能/動作を実装するためのメカニズムを生成するように、マシンを生成し得る。この点に関し、フローチャート又はブロック図の各ブロックは、特定の論理機能(複数可)を実装するための1つ又は複数の実行可能な命令を含む、モジュール、セグメント、又はコードの一部を表し得る。また、いくつかの代替的な実装では、ブロックに記載された機能は、図に記載された順序から外れてもよいことにも留意されたい。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行されてもよく、又は、関連する機能に応じて、ブロックは、逆の順序で実行されてもよい。また、ブロック図及び/又はフローチャート図の各ブロック、及び、ブロック図及び/又はフロー図のブロックの組み合わせは、指定された機能又は動作を実行する専用ハードウェアベースのシステム、又は専用ハードウェア及びコンピュータ命令の組み合わせによって実装することができることに留意されたい。
【0077】
これらのコンピュータプログラム命令は、また、実行されるときにコンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスに特定の方法で機能させることができるコンピュータ可読媒体に格納され得、その結果、命令は、コンピュータ可読媒体に格納されるとき、実行されるときにコンピュータにフローチャート及び/又はブロック図ブロックに指定された機能/動作を実装させる命令を含む製品を生成する。コンピュータプログラム命令はまた、コンピュータ、他のプログラム可能な命令実行装置又は他のデバイスにロードされて、コンピュータ、他のプログラム可能な装置又は他のデバイス上で一連の動作ステップを実行させて、1つ又は複数のコンピュータ又は他のプログラム可能な装置上で実行される命令がフローチャート及び/又はブロック図ブロックに指定された機能/動作を実装するためのプロセスを提供するように、コンピュータ実装プロセスを生成し得る。
【0078】
当業者には理解されるように、本開示の態様は、新規かつ有用なプロセス、マシン、製造、又は物質の組成、又はそれらの新規かつ有用な改良を含む、多数の特許可能なクラス又は文脈のいずれかにおいて、本明細書に例示され、説明され得る。従って、本開示の態様は、全体的にハードウェア、全体的にソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコード、又は他の適切なタイプのソフトウェアを含む)、又は、本明細書では、概して「回路」、「モジュール」、「コンポーネント」又は「システム」又は「プラットフォーム」又は「装置」と呼ばれ得るソフトウェア及びハードウェアの実装を組み合わせることとして実装され得る。さらに、本開示の態様は、その上に具現化されたコンピュータ可読プログラムコードを有する1つ又は複数のコンピュータ可読媒体(例えば、有形の非一時的コンピュータ可読媒体)に具現化されたコンピュータプログラム製品の形態をとり得る。本開示は、「ユーザ」、「開発者」、「デザイナー」、「サードパーティ」、「倉庫所有者」、「ロボットソリューションプロバイダ」などのような用語を参照し、いくつかの又は特定の実施形態で使用されているが、これらの用語は、これらの特定の実施形態に限定されるものではなく、本発明がこれらの用語によって制限又は限定されないとき、他の用語に置き換えることができる。本開示は、少なくとも部分的に、及びクラウドコンピューティング環境において、外部デバイス及び/又は異種移動ロボット上で動作するソフトウェアモジュール(エージェント)を用いて、完全にサーバレベルで又はハイブリッド方式で実装され得る。一実施形態では、本発明は、サーバ又はクラウドコンピューティング環境を必要とせずに実装され得、外部デバイス及び/又は異種移動ロボット上で動作するエージェントの処理及び/又はコンピューティング能力は、実装を実行することができ得る。
【0079】
上述の実施形態は、本発明の原理の適用を構成し得る多数の様々な他の実施形態を単に例示するに過ぎないことが理解されるべきである。このような他の実施形態は、本発明の精神又は範囲から逸脱することなく、当業者によって容易に考えられ得、それらは本発明の範囲内とみなされるのが本発明の意図である。
【0080】
前述の図は、いくつかの実施形態によるプロセスを記述するための論理アーキテクチャを表しており、実際の実装は、他の方法で配置された1つ又は複数のコンポーネントを含み得る。他のトポロジーが、他の実施形態と共に使用されてもよい。さらに、本明細書に記載の各コンポーネント又はデバイスは、任意の数の他の公衆及び/又は私設ネットワークを介して通信する任意の数のデバイスによって実装されてもよい。このようなコンピューティングデバイスのうちの2つ以上は、互いにリモートに配置され得、任意の既知の方法のネットワーク(複数可)及び/又は専用接続を介して互いに通信し得る。各コンポーネント又はデバイスは、本明細書に記載される機能及び任意の他の機能を提供するのに適した任意の数のハードウェア及び/又はソフトウェア要素を含み得る。例えば、いくつかの実施形態によるシステムの実装において使用される任意のコンピューティングデバイスは、コンピューティングデバイスが本明細書に記載されるよう動作するように、プログラムコードを実行するためのプロセッサを含み得る。
【0081】
本出願で使用されるとき、用語「コンポーネント」、「プラットフォーム」、「モジュール」及び「システム」は、ハードウェア、ソフトウェアと有形ハードウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアのいずれかであるコンピュータ関連エンティティを指すことを意図している。例えば、コンポーネントは、プロセッサ、チップメモリ、大容量記憶デバイス(例えば、光学ドライブ、ソリッドステートドライブ、及び/又は磁気記憶媒体ドライブ)及びコンピュータなどの有形コンポーネント、及び、プロセッサ、オブジェクト、実行可能、データ構造(揮発性又は不揮発性記憶媒体に記憶される)、モジュール、実行スレッド、及び/又はプログラム上で実行されるプロセスなどのソフトウェアコンポーネントであり得るが、これらに限定されない。例として、サーバ上で実行されているアプリケーションとサーバの両方がコンポーネントであることができる。1つ又は複数のコンポーネントは、プロセス及び/又は実行スレッド内に存在することができ、コンポーネントは、1つのコンピュータ上にローカライズすることができ、及び/又は2つ以上のコンピュータ間で分散することができる。「例示的」という用語は、本明細書では、例、実例、又は例証となることを意味するために使用され得る。本明細書に「例示的」として記載される任意の態様又は設計は、必ずしも、他の態様又は設計よりも好ましく又は有利であると解釈されるものではない。
【0082】
本明細書で使用される用語は、特定の態様のみを記載する目的のためのものであり、本開示を限定することを意図したものではない。本明細書中で使用されるとき、単数形「1つの(「a」、「an」)及び「その(「the」)は、そのような排除がそうでないと明記しない限り、複数形も含むことが意図されている。本明細書で使用される場合、用語「有する、含む」及び/又は「有している、含んでいる」は、記載された特徴、整数、ステップ、動作、要素、及び/又はコンポーネントの存在を特定するが、それらの1つ又は複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び/又はそれらのグループの存在又は追加を排除しないことがさらに理解されるであろう。さらに、明示的に反対の記載がない限り、実施形態が、特定の特性を有する要素又は特定の特性を備える複数の要素を、「備える」、「含む」、又は「有する」(又は同様の用語)ことは、特定の特性を有しない追加のかかる要素を含み得る。さらに、本願明細書に記載された発明の主題の「一実施形態」への言及は、記載された特徴も組み込む追加の実施形態の存在を排除するものとして解釈されるべきではない。
【0083】
以下の特許請求の範囲における任意の手段又はステッププラス機能要素に対応する構造、材料、行為、及び均等物は、具体的に請求項に記載された他の請求項の要素と組み合わせて機能を実行するための開示された構造、材料、又は行為を含むことを意図している。本開示の説明は、例示及び説明の目的のために提示されたが、網羅的又は開示された形態の開示に限定されることは意図していない。多くの修正及びバリエーションが、本開示の範囲及び精神から逸脱することなく、当業者には明らかであろう。本明細書における開示の態様は、本開示の原理及び実用的用途を最もよく説明し、当業者が、意図される特定の使用に適した種々の修正を施して本開示を理解することを可能にするために選択され、説明された。
【0084】
本明細書で使用される、用語「し得る、してよい」及び「かもしれない」は、一連の状況内での発生の可能性;特定の特性、特徴、又は機能の保有;及び/又は、修飾された動詞に関連する能力、特性、又は可能性の1つ以上を表現することによって、別の動詞を修飾すること;を示す。従って、「し得る、してよい」及び「かもしれない」の用法は、ある状況においては、修正された用語が時には適当でなく、可能でなく、又は適切でないかもしれないことを考慮に入れながら、修正された用語が、能力、機能、又は用法に明らかに示された適当、可能、適切であることを示す。例えば、ある状況においてあるイベント又はキャパシティが予想されるが、他の状況ではイベント又はキャパシティは発生しない-この区別は「し得る、してよい」と「かもしれない」という用語で表現される。
【0085】
本明細書中で使用されるとき、「システム」、「モジュール」、「プラットフォーム」、又は「コンポーネント」などの用語は、1つ又は複数の機能を実行するように動作するハードウェア及び/又はソフトウェアを含み得る。例えば、システム、モジュール、又はコントローラは、コンピュータメモリのような有形且つ非一時的コンピュータ可読記憶媒体(複数可)に記憶された命令に基づいて動作を実行する1つ若しくは複数のコンピュータプロセッサ又は他の論理ベースのデバイスを含み得る。代替的には、システム、モジュール、又はコントローラは、デバイスのハードワイヤードロジックに基づいて動作を実行するハードワイヤードデバイスを含み得る。図に示されているシステム、モジュール、コンポーネント、プラットフォーム、及びコントローラは、ソフトウェア又はハードワイヤード命令に基づいて動作するハードウェア、ハードウェアに動作を実行するように指示するソフトウェア、又はそれらの組み合わせを表し得る。
【0086】
本明細書に記載された主題は、その適用において、本明細書に記載された又は本明細書の図面に示された構成及び要素の配置の詳細に限定されないことが理解されるべきである。本明細書に記載される主題は、種々の技術又はコンポーネントを利用し、本明細書に明示的に記載されない複数のシナリオ又は使用事例を形成するために、1つ又は複数の実施形態と組み合わせられ得る又は相互に連結され得る。本明細書に記載された主題は、他の実施形態であり、実施され、又は種々の方法で実行されることができる。
【0087】
上記の説明は、例示的であり限定的ではないことを意図されていることを理解されたい。例えば、上記の実施形態(及び/又はその態様)は、互いに組み合わせて使用され得る。加えて、特定の状況又は材料を、その範囲から逸脱することなく、本願明細書に記載される主題の教示に適合させるために、多くの修正が行われ得る。従って、本発明の主題の範囲は、添付の特許請求の範囲が権利を与えられる均等物の全範囲と共に、添付の特許請求の範囲を参照して決定されるべきである。添付の特許請求の範囲において、用語「含む」及び「in which」は、「有する」及び「wherein」のそれぞれの用語の平易な英語の等価物として使用される。さらに、以下の特許請求の範囲において、用語「第1」、「第2」及び「第3」等は、単にラベルとして使用され、それらの目的語に数値的要件を課すことを意図するものではない。さらに、以下の特許項の限定は、ミーンズ・プラス・ファンクションフォーマットで記載されておらず、当該請求項の限定がその後にさらなる構造を省略した機能の記述が続く「means for」の語句を明示的に使用しない限り、米国特許法第112条第6パラグラフに基づいて解釈されることは意図されていない。
【0088】
本明細書は、発明の主題のいくつかの実施形態を開示し、また、当業者が、任意のデバイス又はシステムを製造及び使用し、任意の組み込まれた方法を実行することを含む、発明の主題の実施形態を実施することを可能にするために、例を使用している。発明の主題の特許可能な範囲は、特許請求の範囲によって定義され、当業者にとって生じる他の例を含み得る。このような他の例は、特許請求の範囲の文言と異ならない構成要素を有する場合、又は特許請求の範囲の文言と実質的でない相違を持つ均等な構成要素を含む場合、特許請求の範囲内であることを意図している。
【0089】
本明細書に記載される実施形態は、単に説明のためのものである。当業者は、上述したものに修正及び変更を加えて実施可能な他の実施形態を認識するであろう。
図1
図2A
図2B
図2C
図3
図4A
図4B
図5
図6
図7
図8
図9
図10
図11
図12
図13A
図13B
図13C
【外国語明細書】