(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-04
(45)【発行日】2023-08-15
(54)【発明の名称】搬送デバイスの移動を制御する方法、システムおよび装置
(51)【国際特許分類】
B65G 1/137 20060101AFI20230807BHJP
B65G 1/04 20060101ALI20230807BHJP
【FI】
B65G1/137 G
B65G1/04 555Z
【外国語出願】
(21)【出願番号】P 2019113761
(22)【出願日】2019-06-19
(62)【分割の表示】P 2016571165の分割
【原出願日】2015-06-03
【審査請求日】2019-07-04
【審判番号】
【審判請求日】2022-03-01
(32)【優先日】2014-06-03
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】515134368
【氏名又は名称】オカド・イノベーション・リミテッド
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】ロバート・スタディ
(72)【発明者】
【氏名】マシュー・ウィーラン
(72)【発明者】
【氏名】クリストファー・ブレット
【合議体】
【審判長】平田 信勝
【審判官】内田 博之
【審判官】尾崎 和寛
(56)【参考文献】
【文献】特表2017-518940(JP,A)
【文献】国際公開第2013/167907(WO,A1)
【文献】特開2012-197184(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B65G 1/137, B65G 1/04 , G05D 1/02
(57)【特許請求の範囲】
【請求項1】
システムにおいて、
複数のスタック中にコンテナを保管するように構成され、前記スタックの上部に格子状構造で構成されている複数の経路を備えている設備と、
コンテナを搬送するように構成され、前記格子状構造上で動作するように構成されている複数の搬送デバイスと、
前記複数の搬送デバイスの移動を制御するように構成され、前記複数の搬送デバイスのうちの少なくとも1つによって、前記設備中の1つのロケーションから前記設備中の別のロケーションにコンテナを移動させることを含む少なくとも1つのタスクを前記複数の搬送デバイスの少なくとも1つに割り振るように構成されている制御システムとを具備し、
前記制御システムは、搬送デバイスバッテリー状態と、搬送デバイス損害と、搬送デバイスメンテナンス問題とのうちの少なくとも1つに基づいて、前記複数の搬送デバイ
スに対する前記格子状構造上の潜在的なパスを比較することにより、前記複数の搬送デバイスのうちの前記少なくとも1つに前記少なくとも1つのタスクを割り振るように構成されているシステム。
【請求項2】
前記少なくとも1つのタスクは、前記格子状構造上の第1のロケーションから前記格子状構造上の第2のロケーションへ移動させることと、前記制御システムと通信することと、別の搬送デバイスと通信することと、別の搬送デバイスと移動を調整することと、コンテナのそれぞれが1つ以上のアイテムを含むかもしれないコンテナを搬送することと、前記スタックからコンテナを持ち上げることと、前記スタックにコンテナを下げることと、
入庫ステーションに対して空のコンテナを配送することと、前記設備の周囲に貨物が荷積みされたコンテナを配置することと、コンテナをピッキングステーションまたは他のエリアに運ぶこととのうちの1つをさらに含む請求項1記載のシステム。
【請求項3】
前記少なくとも1つのタスクは、前記搬送デバイスが誤動作しているか否かに基づいて、前記複数の搬送デバイスのうちの前記少なくとも1つに対して割り振られる請求項1または2記載のシステム。
【請求項4】
前記少なくとも1つのタスクは、前記搬送デバイスが充電を必要とするか否かに基づいて、前記複数の搬送デバイスのうちの前記少なくとも1つに対して割り振られる
請求項1ないし3のうちのいずれか1項記載のシステム。
【請求項5】
前記少なくとも1つのタスクは、セット量のバッテリー寿命が与えられている前記搬送デバイスが、前記タスクを実行できるか否かに基づいて、前記複数の搬送デバイスのうちの前記少なくとも1つに対して割り振られる
請求項1ないし4のうちのいずれか1項記載のシステム。
【請求項6】
前記制御システムは、前記複数の搬送デバイスのそれぞれからステータス報告を受信するように構成されている
請求項1ないし5のうちのいずれか1項記載のシステム。
【請求項7】
前記制御システムは、前記複数の搬送デバイスの移動を制御するように構成されている移動最適化モジュールを備える
請求項1ないし6のうちのいずれか1項記載のシステム。
【請求項8】
複数の搬送デバイスの移動を制御するための方法において、
前記複数の搬送デバイスは、コンテナを搬送するように構成され、前記コンテナは、設備中に保管され、前記設備は、複数のスタック中に前記コンテナを保管するように構成され、前記設備は、前記スタックの上部に格子状構造で構成されている複数の経路を備え、前記複数の搬送デバイスは、前記格子状構造上で動作するように構成され、
前記方法は、
前記複数の搬送デバイスのうちの少なくとも1つによって、前記設備中の1つのロケーションから前記設備中の別のロケーションにコンテナを移動させることを含むタスクを前記複数の搬送デバイスの少なくとも1つに割り振るステップと、
搬送デバイスバッテリー状態と、搬送デバイス損害と、搬送デバイスメンテナンス問題とのうちの少なくとも1つに基づいて、前記複数の搬送デバイ
スに対する前記格子状構造上の潜在的なパスを比較することにより、前記複数の搬送デバイスのうちの前記少なくとも1つに前記少なくとも1つのタスクを割り振るステップとを含む方法。
【請求項9】
前記少なくとも1つのタスクは、前記格子状構造上の第1のロケーションから前記格子状構造上の第2のロケーションへ移動させることと、制御システムと通信することと、別の搬送デバイスと通信することと、別の搬送デバイスと移動を調整することと、コンテナのそれぞれが1つ以上のアイテムを含むかもしれないコンテナを搬送することと、前記スタックからコンテナを持ち上げることと、前記スタックにコンテナを下げることと、
入庫ステーションに対して空のコンテナを配送することと、前記設備の周囲に貨物が荷積みされたコンテナを配置することと、コンテナをピッキングステーションまたは他のエリアに運ぶこととのうちの1つをさらに含む請求項
8記載の方法。
【請求項10】
前記複数の搬送デバイスのうちの前記少なくとも1つに割り振られる少なくとも1つのタスクは、前記搬送デバイスが誤動作しているか否かに基づいて割り振られる請求項
8または
9記載の方法。
【請求項11】
前記複数の搬送デバイスのうちの前記少なくとも1つに割り振られる少なくとも1つのタスクは、前記搬送デバイスが充電を必要とするか否かに基づいて割り振られる請求項
8ないし
10のうちのいずれか1項記載の方法。
【請求項12】
前記複数の搬送デバイスのうちの前記少なくとも1つに割り振られる少なくとも1つのタスクは、セット量のバッテリー寿命が与えられている前記搬送デバイスが、前記タスクを実行できるか否かに基づいて割り振られる請求項
8ないし
11のうちのいずれか1項記載の方法。
【請求項13】
前記方法は、前記複数の搬送デバイスのそれぞれからステータス報告を受信するステップをさらに含む請求項
8ないし
12のうちのいずれか1項記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、搬送デバイスの移動を制御する方法システムおよび装置に関連する。さらに特に、しかし排他的にではなく、本発明は、保管システムからユニットを取り出すための保管システムおよび方法に関連する。特に、しかし排他的にではなく、発明は、製品移動を調整し制御するためのシステムおよび方法にさらに関連する。
【発明の概要】
【0002】
ある商用および工業用のアクティビティは、非常に多くの異なる製品の保管および取り出しを可能にするシステムを必要とする。
【0003】
複数の製品ラインにおけるアイテムの保管および取り出しのための、1つの知られているシステムは、通路において配置されている棚の列上に、保管ビンまたはコンテナを配置することを伴っている。各ビンまたはコンテナは、1つ以上の製品タイプのうちの1つ以上の製品を保持している。通路は、棚の列間のアクセスを提供するので、要求された製品を、通路で巡回している作業員またはロボットによって取り出すことができる。
【0004】
しかしながら、製品にアクセスするための通路スペースを提供する必要性が、このようなシステムの保管密度は比較的低いことを意味していることが正しく認識されるだろう。言い換えれば、製品の保管のために実際に使用されているスペースの量は、保管システム全体に対して必要とされているスペースの量に比較して、比較的小さい。
【0005】
例えば、オンラインの食料雑貨店やスーパーマーケットのような、複数の製品ラインを販売しているオンライン小売ビジネスは、数十の、または、数百、数千もの異なる製品ラインを保管することができるシステムを必要とする。これらのビジネスのサプライチェーンおよび倉庫動作は、さまざまなコンテナに対して、アイテムを編成し、取り出し、そして、戻すためのそれらの能力に大いに依存している。
【0006】
さまざまな倉庫および保管設備設計の特定のインプリメンテーションにおいて、コンテナを重ね合わせて積み重ねてもよく、スタックを列で配置してもよい。その後、コンテナに上からアクセスし、列間の通路に対する必要性を除去して、所定の量またはエリアにおいてさらなるコンテナを保管できるようにしてもよい。
【0007】
これらのインプリメンテーションのうちのいくつかにおいて、コンテナは、1つ以上のロボットまたは自動の手段によってアクセスされるが、これは、コンテナを取り扱うために1つのロケーションから別のロケーションへ移動させることや、コンテナ上で動作を行うことや、コンテナを倉庫中のポジションに戻すこと等のようなさまざまな異なる動作のために、コンテナにアクセスするための経路の格子を通過する。
【0008】
1つ以上のロボットの、またはそうでなければ自動手段の移動の調整は、多数の異なる製品の保管および取り出しのためのシステムの効率と、スケーラビリティ全体を決定する際に、重要な考慮すべき事柄であるかもしれない。
【0009】
米国特許第6、654、662号および欧州特許第1037828号において、保管および取り出しシステムが説明されており、ここにおいて、コンテナのポジションが常にランダムであるコンテナのいくつかの水平レイヤを形成している垂直フレームワークにおいて、「平行パイプ形状」のコンテナが「深く積み重ねられ、連結して在庫されている」。コンピュータシステムは、コンテナのポジションを連続的に監視して記録しており、所望のコンテナをフレームワークの一番上から取り出し、不要なコンテナは、一度に1つ移動され、所望のコンテナが取り出されるまで一時的なロケーションに再位置付けされ、一時的に再位置付けされているコンテナが同一のスタックに戻され、同一の相対的な順序で戻されるポイントにおいて、所望のコンテナは、(最終的には)元のスタックの一番上に戻される。
【0010】
米国特許第6、654、662号および欧州特許第1037828号において説明されているシステムは、コンテナのポジションが常にランダムであるコンテナのいくつかの水平な調整形成レイヤを有している。さらに、一時的に再配置されたコンテナは、元のスタックに戻されるので、これらの相対的な順序は維持され、所望のコンテナがスタックの一番上に戻される。
【0011】
提供されているシステムとは対照的に、トラフィックフローや、(履歴の、現在の、および、予測の)アクセスの頻度や、特定のコンテナグループ化や、アクセス時間や、耐火性や、および、または、他の環境区分のような異なる基準に基づいて、水平および垂直の領域において最適化されてもよい計画的なコンテナ配置を提供することが有利であるかもしれない。
【0012】
したがって、製品の移動を調整して制御するシステムおよびプロセスに対する必要性がある。
【0013】
発明のいくつかの実施形態にしたがうと、システムは、複数の物体を搬送して、複数の経路を有する設備において動作する、1つ以上の搬送デバイスの移動を制御するために提供されており、システムは、
コンピュータ命令を実行するように構成されている1つ以上のコンピュータを具備し、 コンピュータ命令は、実行されるとき、
複数の経路を通して1つ以上の搬送デバイスを移動させるためのルートを決定して予約する1つ以上のユーティリティと、
衝突を避けるために、1つ以上の搬送デバイスの移動を許可するか、または、停止させるクリアランスシステムを提供する1つ以上のユーティリティとを提供している。
【0014】
いくつかの実施形態において、システムは、複数の経路を通して、1つ以上の搬送デバイスの、移動とアクションとを最適化するように構成されている1つ以上のユーティリティをさらに具備する。
【0015】
いくつかの実施形態において、システムは、設備中の1つ以上の搬送デバイスによって、複数の物体の配置を最適化するように構成されている1つ以上のユーティリティをさらに具備する。
【0016】
いくつかの実施形態において、システムは、1つ以上のワークステーション内で行われる移動または動作を制御する1つ以上のユーティリティをさらに具備する。
【0017】
いくつかの実施形態において、移動とアクションとを最適化する1つ以上のユーティリティは、パス発見アルゴリズムを利用する。
【0018】
いくつかの実施形態において、1つ以上のユーティリティは、輻輳緩和技術を使用して、移動とアクションとを最適化する。
【0019】
いくつかの実施形態において、1つ以上のユーティリティは、機械学習技術を使用して、移動とアクションとを最適化する。
【0020】
いくつかの実施形態において、1つ以上のユーティリティは、設備内の複数の物体の配置を最適化し、設備内の複数の物体のうちの1つ以上の配置に基づいて、設備の在庫レベルを更新する。
【0021】
いくつかの実施形態において、1つ以上のユーティリティは、1つ以上のワークステーションのスループットに少なくとも基づいて、搬送デバイスのうちの1つ以上の移動を制御する。
【0022】
いくつかの実施形態において、1つ以上のユーティリティは、1つ以上の搬送デバイスのうちの少なくとも1つとの欠落した通信を許容するように構成されているクリアランスシステムを提供する。
【0023】
いくつかの実施形態において、1つ以上のユーティリティは、ルートを決定して予約し、複数の搬送デバイスに命令して、複数の物体のうちの1つ以上を搬送する際に協同させる。
【0024】
いくつかの実施形態において、1つ以上のユーティリティは、ルートを決定して予約し、そうでなければ他の搬送デバイスに対して最適なルートから、アイドル中の搬送デバイスを移動させる。
【0025】
いくつかの実施形態において、複数の物体のうちの1つ以上は、複数のコンテナ内で保管されている。
【0026】
いくつかの実施形態において、設備は、複数のスタック中に複数のコンテナを保管している。
【0027】
いくつかの実施形態において、1つ以上のユーティリティは、複数のコンテナのうちの1つ以上を搬送するためのルートを決定して予約する。
【0028】
いくつかの実施形態において、1つ以上のユーティリティが、ルートを決定して予約し、複数の搬送デバイスのうちの1つ以上を制御して、複数のスタックのうちの1つ以上内から、複数のコンテナのうちの1つ以上を取り出す。
【0029】
いくつかの実施形態において、1つ以上のスタック内から1つ以上のコンテナを取り出すことは、取り出しのために1つ以上のコンテナにアクセスする前に、スタック中の1つ以上の他のコンテナを移動させることをさらに要求する。
【0030】
いくつかの実施形態において、1つ以上の他のコンテナは、設備内の最適化されたポジション中に、1つ以上の他のコンテナのうちのそれぞれを配置することを含む。
【0031】
いくつかの実施形態において、設備は、複数のサブ格子に分割されて、処理の複雑性を低減させる。
【0032】
いくつかの実施形態において、複数の搬送デバイスの移動を制御するための1つ以上の制御コマンドは、複数の搬送デバイスの移動に先立って、複数の搬送デバイスに提供される。
【0033】
さまざまな態様において、ここでの開示は、保持する設備を備えている少なくとも半自動の注文履行システムにおいて、製品移動を調整して制御するための方法、システムおよび対応する機械実行可能なコード化された命令セットを提供している。さまざまな態様において、開示は、注文の履行において、さまざまな貨物を取り扱うロボットの移動の調整および制御における改善を提供しており、注文は、いくつかのインスタンスにおいて、異なるサイズ、重さ、脆さ、および、他の特性を有するさまざまなアイテムを含んでいてもよい。
【0034】
上記のさまざまな実施形態および他の態様において、このような保持する設備は、1つ以上の保管装置を含むことができる。同一のまたは他の実施形態において、保持する設備の少なくとも一部分は、動的に移動するように構成されていてもよい。
【0035】
同一のまたは他の実施形態において、保持する設備は、2つ以上のワークステーション間で共有されていてもよい。
【0036】
付随する図表式の図面を参照して、発明をここで説明するが、図面は、例示的なものであり、限定的なものでなく、図面において、類似する参照は、類似する部分または対応する部分を指すように意図している。
【図面の簡単な説明】
【0037】
【
図1】
図1は、説明において詳述されている、ある態様の一般的なコンピュータハードウェアおよびソフトウェアのインプリメンテーションを提供している実例となるダイヤグラムである。
【
図2】
図2は、発明のいくつかの実施形態にしたがった、システムの見本のブロックダイヤグラムを提供している。
【
図3】
図3は、発明のいくつかの実施形態にしたがった、さらに詳細なロボット制御システムの見本のブロックダイヤグラムを提供している。
【
図4】
図4は、発明のいくつかの実施形態にしたがった、繰り返して用いられる見本のパス発見アルゴリズムに対する見本のワークフローを提供している。
【
図5】
図5は、発明のいくつかの実施形態にしたがった、見本のヒートマップを提供している。
【
図6a】
図6aは、サーチ分岐の見積もられるコストが、パスサーチアルゴリズム中の異なる係数を使用した結果として、どのように変化することができるかを実証している表を提供している。これらの係数は、発明のいくつかの実施形態にしたがった、機械学習技術による改善を使用して導出することができる。
【
図6b】
図6bは、
図6aにおいて実証されている異なるコスト係数の使用は、サーチアルゴリズムの次の反復によって、どの分岐が選択されるかを、どのように変化させるかを図示している。
【
図7】
図7は、発明のいくつかの実施形態にしたがった、倉庫の見本の斜視図を提供している。
【
図8】
図8は、発明のいくつかの実施形態にしたがった、ウィンチとコンテナとを有するロボットの見本のダイヤグラムを提供している。
【詳細な説明】
【0038】
発明を実現する際の使用のために適切な方法、システムおよび装置の好ましい実施形態を、図面の参照を通して説明している。
【0039】
全自動および半自動の貨物保管および取り出しシステムは、それらのさまざまな態様が、時には「注文履行」、「保管および取り出し」および/または「注文ピッキング」システムとして呼ばれることがあり、幅広いさまざまなタイプおよび形態において実現することができる。全自動および/または半自動の取り出しのために保管されている貨物へのアクセスを提供する1つの方法は、完全にまたは部分的に自動のコンテナ取り出しシステムによって個々のコンテナにアクセス可能であってもよいように、例えば、(以後、総称的にコンテナとして呼ばれる)ビンまたは他のコンテナにおける任意の所望のタイプであってもよい貨物の配置を含み、ラッキングにおいて、または、レイヤ中で垂直にコンテナを積み重ねることを、および/または、そうでなければ配置することを含む。
【0040】
いくつかの実施形態において、システムは、貨物を処理し、修理し、操作し、アセンブリし、分類するシステム等のような、貨物の保管および取り出しを超えるシステムを含んでいてもよく、設備内で、および/または、他の設備または輸送機関に対しての両方で、貨物と、製品と、パーツと、コンポーネントと、サブコンポーネントとの移動が必要とされる。
【0041】
本明細書の目的として、このような貨物へのアクセスが全自動または半自動の取り出しによって提供されている、注文の保管、取り出し、処理および/または履行のための保管設備は、「ヒブ(hive)」として呼ばれている。「ヒブ」における(「格子」として呼ばれている)さまざまなロケーションにおいて、通過して動作を実行するための、ロボットのエレメントまたはデバイス(「ロボット」)の移動のために、「ヒブ」は、潜在的な経路の格子状のレイアウトから構成されていてもよい。
【0042】
本明細書は、「ヒブ」、「格子」および/または「ロボット」を有するシステムのみに限定されているのではなく、複数のデバイスの移動および/またはアクティビティを広く制御し、および/または、調整するシステムも企図していてもよい。これらのデバイスは、貨物および/または製品のような、さまざまなアイテムの輸送のために構成されていてもよく、ならびに/あるいは、空であるか、および/または、このような貨物および/または製品を保持していてもよいコンテナの輸送のために構成されていてもよい。これらのデバイスはさらに、注文の履行を伴っていてもよいが、ワークステーションへ、および、ワークステーションから、コンテナを輸送すること、出所ロケーションからターゲットロケーションへ物体を移動させること等のような他の何らかのタイプのアクティビティも伴っていてもよい。
【0043】
示しているように、デバイスはロボットであってもよく、デバイスは、ヒブの周囲を移動するように、および/または、制御システムと通信して、それらの移動への命令を調整/受信するように構成されていてもよい。いくつかの実施形態において、デバイスは、それら自体の間で通信するように、および/または、それら自体の間で移動を調整するように構成されていてもよい。したがって、デバイスは、さまざまな搬送手段、通信手段、電源投入手段、処理手段、プロセッサ手段、センサ手段、監視する手段、オンボードワークステーション、電子/物理記憶手段、および/または、(ウィンチ、アーム等のような)持ち上げる/搬送する手段を有していてもよい。
【0044】
デバイスは、システムからの命令を受信するように構成されていてもよいが、デバイスがシステムとの通信を失い、通信経路を低下させ、および/または、特定の時間フレーム内のシステムからの通信を受信しない状況があるかもしれない。
【0045】
いくつかの実施形態において、デバイスは、互いの間で通信するように、および/または、互いに存在を感知するようにも構成されていてもよい。例えば、余分な通信チャネルを提供して、命令を検証する環境等についてのクラウドソーシング情報において、これらの通信および/または感覚インプットを利用してもよい。
【0046】
注文の履行は、食料雑貨店チェーンに対するように、さまざまな製品を購入して、顧客への配送のために集約している場合、注文をアセンブリすること;さまざまなサブコンポーネントを有する製品をアセンブリすること;製品に(コンポーネントをともに結合することのような)さまざまな動作を行うこと;製品を分類すること等のような、しかしこれらに限定されないさまざまな動作を含んでいてもよい。
【0047】
例えば、注文がキャンセルされた場合や、配送が失敗した場合等に、注文は戻されるかもしれない。いくつかのシナリオにおいて、注文がヒブ内の履行のプロセスにある間に、注文がキャンセルされるかもしれず、製品アイテムが戻される必要があるかもしれない。いくつかのシナリオにおいて、アイテムを再びコンテナ中に配置する必要があるかもしれず、コンテナをさまざまなロケーションに移動させる必要があるかもしれない。いくつかのシナリオにおいて、ワークステーションは、注文が戻されるかまたはキャンセルされたとき、製品を拒絶/再加工するためのタスクを行う必要があるかもしれない。
【0048】
さらに、上述したように、個々のコンテナは、垂直レイヤ中にあってもよく、「ヒブ」におけるこれらのロケーションは、3次元における調整を使用して、ロボットまたはコンテナのポジションと、コンテナの深度(例えば、(X、Y、Z)、深度Wにおけるコンテナ)を表わしていてもよい。いくつかの実施形態において、ロボットまたはコンテナのポジションと、コンテナの深度(例えば、(X、Y)、深度Zにおけるコンテナ)とを表わすために、「ヒブ」におけるロケーションを、2次元で示していてもよい。
【0049】
ロボットおよびワークステーションのロケーションが、アクションに携わるためにヒブの異なる部分に関係付けられていてもよいという意味において、「ヒブ」自体は、「動的な」環境であってもよい。例えば、ロボットは、特定の注文を履行するために、または、「ヒブ」において製品を保管するために、ヒブ次元(例えば、(X、Y、Z)、深さWにおけるコンテナ)における特定のロケーションにおいて、特定のコンテナにアクセスする必要があるかもしれない。これは、さまざまな可能性あるパスに沿った、例えば、格子の一番上に沿ってその後、スタックの選択された深度において、特定のコンテナにアクセスするロボットの移動を伴う。
【0050】
スタックの選択された深度における特定のコンテナのアクセスは、そうでなければ特定のコンテナにアクセスする能力を妨害するかもしれないコンテナの移動を必要とするかもしれない(例えば、コンテナを積み重ねている場合、多数のコンテナをまず移動させて、スタックのアクセス可能な端にないコンテナにアクセスできるようにしなければならない)。いくつかの実施形態において、ターゲットコンテナにアクセスするために除去されることになる毎コンテナに対して、新たなポジションの評価と最適化とを提供するようにシステムを構成していることは、有利であってもよい。
【0051】
スタックから移動されたコンテナは、元のスタックに戻るように移動させる必要はない。
【0052】
潜在的な利点の1つは、より容易にアクセス可能なロケーションにおいて、またはそうでなければ、より便利なロケーションにおいて、コンテナを位置付けられるように、コンテナの分配を修正する能力である。
【0053】
これは、例えば、より高い需要があることが予期され、進行距離を低減させるために、ワークステーションに近いまたはワークステーション内のロケーションのような、より容易にアクセス可能なロケーションにあることが予期されているコンテナをバイアスさせて、設備内のコンテナの最適な分配を維持するのを助けてもよい。
【0054】
図7は、発明のいくつかの実施形態にしたがった、倉庫の見本の斜視図を提供している。
【0055】
ロボットは、さまざまな形状、サイズおよびコンフィギュレーションを有していてもよく、さまざまな通信手段、センサおよびツールを有していてもよい。いくつかの実施形態において、各ロボットは、基地局と基地局制御装置とのセットを通して確立された周波数チャネルのセットを通して、制御システムと通信できてもよい。ロボットは、例えば、コンテナを運ぶためのウィンチを含んでいるさまざまなツールを利用して、コンテナをスタックから移動させて取得してもよい。
【0056】
図8は、発明のいくつかの実施形態にしたがった、ウィンチとコンテナとを有するロボットの見本のダイヤグラムを提供している。
【0057】
格子は、矩形の格子エレメントに限定されず、カーブした軌道、起伏のある軌道等から構成されていてもよい。格子経路は、交差点を有していてもよく、1つより多いロボットによってアクセスされてもよい。
【0058】
各格子は、物理的に、または、論理的に、1つ以上のサブ格子中にセグメント化されていてもよい。
【0059】
格子は、1つ以上のワークステーションから構成されていてもよい。ワークステーションは、手動であってもよく、半自動または全自動であってもよく、そして、ヒブの中または外で製品を移動させること、製品を製造すること、製品をアセンブリすること、製品をこれらのコンポーネントに対して処理すること、他のステップまたは動作をサポートするためのステージングロケーションを提供すること等のような動作が、ヒブ内で行われる、または、これらのような動作がヒブやコンテナや製品に関連して行われるロケーションまたはエリアからなっていてもよい。
【0060】
ワークステーションは、例えば、アイテムをインバウンドキャリアから移動させるロケーション、製品が、それらの上で行われるさまざまな動作(例えば、コンポーネントのアセンブリ、塗装すること、分類すること、パッケージ化すること、取り外し、製品を再加工すること、固定パッケージ化すること、キャンセルされた注文において製品を再配置すること、戻された製品を拒絶すること、製品を配置すること)を有しているロケーション、製品をアウトバウンドキャリアに移動させるロケーション、冷却のための能力を有するロケーション、コンポーネントまたは物体をアセンブリするロケーション、製品をステージングまたは先取りするために使用されるロケーション、ロボットを修理して維持するロケーション、ロボットを充電するロケーション、ワーカーが、コンテナ中に置かれることになる製品を「ピッキング」するロケーション、ワーカーが、注文の履行においてコンテナから除去されることになる製品を「ピッキング」するロケーション、コンテナ中にバッグを配置しているロケーション等を含むことができる。
【0061】
アイテム/製品がヒブに戻される場合、システムは、製品を再び戻して、製品を再加工して、および/または、拒絶された場合に製品を配置するプロセスをサポートおよび/または制御してもよい。シナリオは、製品をシステム中に戻して受け入れることができるか否かを、製品が再加工/再パッケージ化を必要とするか否かを、および/または、製品を代わりに配置すべき(例えば、腐敗しやすい製品が期限切れである)か否かを決定するために、いくつかの実施形態において、(配送トート(tote)であっても、または、同様に他の物体であってもよい)戻されたコンテナを、ワークステーションにおいて処理することを伴っていてもよい。
【0062】
ワークステーションは、注文の履行のためにアイテムをピッキングするような、さまざまなタスクを行うために存在する1つ以上のワーカーまたはロボットを有していてもよい。
【0063】
いくつかの実施形態において、ワークステーションは、コンベヤや、冷蔵庫や、さまざまなツーリング技術を有するステーションであってもよく、および/または、貨物やコンテナ等を、操作し、塗装し、固定し、修理し、冷凍し、加熱し、薬品にさらし、冷蔵し、フィルタリングし、アセンブリし、取り外し、分類し、パッケージ化し、スキャンし、テストし、搬送し、保管または処理するための他の技術を有するステーションであってもよい。
【0064】
ワークステーションは、設備内にそれら自身の経路を有していてもよく、設備等を有する経路を共有していてもよい。ワークステーションは、設備内で、さまざまなインプットおよびアウトプットの経路を、または、他のタイプの入口/出口ポイントも有していてもよい。
【0065】
いくつかの実施形態において、ワークステーションは、1つ以上の倉庫管理システムと通信して、ワークステーションのステータスに、ワークフローに、必要とされるコンテナに、問題に、保持されているまたそうでなければ操作されている製品(例えば、ともにアセンブリされているサブコンポーネント)等のステータスに関連する情報およびデータを提供する。
【0066】
保管および取り出しシステムにおいて保管されている複数のアイテムに対する顧客からの注文の受け取りの際、全自動または半自動のコンテナハンドラは、関連するアイテムを含んでいる保管コンテナを、格子、ラッキング、または、他の注文された保管コンテナの配置から取り出してもよく、それらを1つ以上のワークステーションに配送してもよい。
【0067】
ワークステーションにおいて、アイテムは、保管コンテナから除去されて、配送コンテナ中にピッキングされる前に、中間保持設備中に配置されてもよい。
【0068】
この明細書を通して示しているように、あるワークステーションに対してインプットである可能性があるコンテナを、これらのワークステーションの至近距離に位置付けるように、コンテナの分配を行うことは有利であり得る。
【0069】
コンテナからのアイテムのピッキングは、人間のピッカー(picker)によって手動でなされてもよく、あるいは、さまざまな機械的なエレメントまたはロボットのエレメントによる支援または参加を有する、半自動または全自動の方法において行われてもよい。
【0070】
個々のコンテナがレイヤにおいて垂直に積み重ねられている場合、一番上のレイヤにないコンテナにアクセスすることは、所望のコンテナにアクセスできる前に、所望のコンテナ上のレイヤにおいて保管されているコンテナを移動させるための、さらなる動作のセットを必要とする。例えば、所望のコンテナが、一番上のレイヤより下の1つのレベルである場合、一番上のレイヤ内に存在しているコンテナは、所望のコンテナにアクセスする前に、別のロケーションに移動させる必要があるかもしれない。本明細書を通して示しているように、より高い需要にあるアイテムを保持しているコンテナを、より容易にアクセス可能なポジション(例えば、コンテナの垂直スタックの場合、最上レベル)に向けてバイアスさせるように、コンテナの分配を行うことは、有利であり得る。いくつかの実施形態において、最適化モジュールは、ポジショニングされることになるこれらのコンテナに対して最適なロケーションを提供する。
【0071】
食料雑貨店注文処理システムのような、広くさまざまなアイテムを取り扱うために適合されている典型的な商品ピッキング動作において、ときには、さまざまなサイズ、形状、重さ、および、他の特徴の、幅広い範囲のアイテムを取り扱わなければならず、またはそうでなければ、対応しなければならないことがあり、これらのアイテムが、1つ以上の注文の履行の間、さまざまな動作を行うために、さまざまなステーションに対して設備の周囲を移動する必要があることが分かる。設備のサイズと編成と配置とに依存して、これらのアイテムの移動は、有利に最適化されていてもよいので、アイテムは効率的に移動され、衝突は回避され、従属性は解決される(例えば、物体は、適切な順序でピッキングされて、荷下ろしされる)。
【0072】
異なるタイプのコンテナ中のアイテムの配置、ヒブ内でのコンテナの保管、および、説明したような分類/配送のような、これらの作業グループにおいて伴われるさまざまなアクションは、結果として、ヒブ内に含まれているが、異なるロケーションにおけるコンテナの配置も含んでいるコンテナのさまざまな移動になることがある。これらのアクションは、ヒブに対するインバウンド/アウトバウンドアクティビティ(例えば、アイテムを倉庫に運んで、倉庫から運ぶこと)を含んでいてもよく、保管/配送のために製品を乗物から降ろして運搬することと、また、注文履行のために乗物に乗せて運搬することとの管理のような、関係付けられている分類/配送システムも含んでいてもよい。
【0073】
発明の他の実施形態において、ワークステーションを利用して、アクション(例えば、アセンブリ、取り外し、修正、分類すること、乾燥すること、冷凍すること、テストすること、薬品にさらすこと、物理的操作、固定すること、修理、印刷すること、塗装すること、切断すること、パッケージ化すること、保管、処理すること、溶接すること、テンパーリングすること、再処理すること)をアイテムに実行するワークステーションのように、他のタイプのアイテム取り扱いまたはコンテナ取り扱いを提供してもよい。これらのワークステーションは、手動であっても、半自動であっても、または、自動であってもよく、スループットや、必要とされるインプットや、必要とされるアウトプットや、積荷バランス、必要とされる遅延(例えば、乾燥時間)のような、これらの動作または性能に関係付けられているさまざまなパラメータを有していてもよい。
【0074】
ロボットのさまざまな移動、コンテナ/物体の配置、そして、製品をいつコンテナから除去すべきかを選択することに対する制御は、1つ以上の制御システムによって制御されて最適化されていてもよい。この制御は、例えば、
1つ以上のロボットの中央管理;
より便利なロケーションに、例えば、ワークステーションに近いロケーションに、または、ワークステーション内のロケーションに、処理するためのコンテナを取り出すためのみでなく、コンテナを「先取り」するためにもロボットを管理すること;
1つ以上のパス発見アルゴリズム(例えば、分岐限定技術)のアプリケーションを通したパス最適化;
1つ以上のパス発見アルゴリズム(例えば、発明の1つの実施形態において、全体として見たとき、格子上の輻輳緩和に対して、ターゲットに対する総時間と、総「累積した熱」との関数としてコストが算出されてもよい、予測される最も低いコスト)に対する、1つ以上の発見的技術のアプリケーションを通したパス最適化;
前もって移動経路をスケジューリング/前処理すること;
移動経路をスケジューリング/前処理する際に、解析の最適な深度を決定するためにシミュレーションを行うこと;
1つ以上のアルゴリズムのコスト関数に適用されている、指数および係数を最適化するための機械学習技術のアプリケーション。いくつかの実施形態において、これは、パスを発見すること、コンテナ配置、および、ワークステーション積荷バランスアルゴリズムを含んでいてもよい;
ジャストインタイムのロボットパス競合解決システム;
それぞれが1つ以上のロボットを含んでいる別々の制御グループへの、ロボット集団の細分化;
重み付けられたコスト係数を使用する、スコアリングされた選択アルゴリズムのアプリケーションのようなさまざまな手段を通した、コンテナロケーション最適化;
ワークステーションへの作業の割り振りの最適化;
将来のタスクおよびアクションをスケジューリングするための、タスクおよびアクションの前処理;
を含んでいる、さまざまなストラテジーのインプリメンテーションを含んでいてもよい。
【0075】
物体の、全自動または半自動の取り出しと保管と移動とのために、1つ以上のロボットを使用している例示的な環境において、倉庫はまず、異なるロボット、または、ロボットのグループの間で、どのようにコンテナ積荷を分配するかを決定しなくてはならないかもしれない。
【0076】
例えば、さまざまなグループのロボットおよびピッキングステーションに渡るタスクの割り振りは、倉庫の特定のレイアウトに、アイテムの配置に、貨物の特定の特徴(例えば、アイテムが期限切れである、または、潜在的に危険である)に、および、ワークフローオーダリングに依存して、最適化されてもよい。
【0077】
例えば、とりわけ、パスに沿った潜在的な輻輳を、動作を完了するために必要とされる時間を、衝突に対する可能性を、特定のロボットの在庫において保持されている物体を、予測される将来の動作を、および、特定のロボットの特徴(例えば、バッテリーのレベル、サービスの問題)を考慮に入れて、ロボットの目的地に対してロボットがとるための潜在的なパスを、インテリジェントに比較するシステムを有していることが望ましい。
【0078】
さらに、ロボットのパスを妨げるか、または、ブロックするかもしれないアイドル中のロボット、障害物、または、特定のロボットが通過するために探索しているパスを予約している他のロボットのような、「ヒブ」におけるさまざまな条件にインテリジェントに適応しているシステムを有していることが望ましい。
【0079】
さらに、(例えば、アクセスの容易さのために、コンテナのワークステーションの一番上近くおよび近くで、高需要のSKUのアイテムを有するコンテナを保っている)アイテムの効率的な取り出しにおいて支援するコンテナの分配に向けて、システムをバイアスさせるためのアルゴリズムに基づいた、コンテナをインテリジェントにポジショニングするシステムを有していることはさらに望ましい。
【0080】
これらは、例を限定するものではなく、任意の最適化方法、配置または考慮を実現してもよい。
【0081】
図2を参照すると、発明のいくつかの実施形態にしたがった、見本の全自動および半自動の貨物保管および取り出しシステムの概略的なダイヤグラムが提供されている。
図2は、高いレベルにおいて、例示的なインプリメンテーションを図示して提供されている。システム200のさまざまなインプリメンテーションは、多かれ少なかれコンポーネントを伴っていてもよく、
図2は、例として単に提供されているに過ぎない。
【0082】
システム200は、ロボット制御システム202;メンテナンス/監視システム204;基地局制御装置206;1つ以上の基地局208aと208b;1つ以上のロボット210a、210bおよび210c、および、1つ以上の充電器局230から構成されている。2つの基地局208aと208bと、3つのロボット210a、210bおよび210cのみが図示されているが、システムの他の実施形態において、多かれ少なかれロボットと基地局があってもよいことが理解されるべきである。
【0083】
1つ以上の倉庫管理システム(WMS)232、注文管理システム234、および、1つ以上の情報管理システム236があってもよい。倉庫管理システム232は、注文に対して必要とされているアイテム、倉庫中のSKU、予期される/予測される注文、注文上で欠落しているアイテム、いつ注文を搬送装置上に荷積みすることになるか、アイテムの有効期間満了日、何のアイテムがどのコンテナにあるか、アイテムが壊れやすいか否か、または、大きくて嵩張るか否か等のような情報を含んでいてもよい。
【0084】
いくつかの実施形態において、倉庫管理システム232は、ワークステーションと通信していてもよく、ワークステーションのステータス、ワークステーションが何の製品および/または何のコンテナを特定の時間において受け取ることを必要としているか、ワークステーションが何の製品および/または何のコンテナを特定の時間において別のロケーションに移動させることを必要としているか、ワークステーションにおける動作に対して予期されるワークフロー、ワークステーションにコンテナを運ぶための現在待っているロボットの数のような、ワークステーションの動作に関連する情報も含んでいてもよい。
【0085】
ロボット制御システム202は、1つのロケーションから別のロケーションに移動すること、衝突回避、移動パスの最適化、実行すべきアクティビティの制御等を含むが、これに限定されないロボットのナビゲーション/ルーティングを制御するように構成されていてもよい。ロボット制御装置202は、1つ以上のサーバを使用して実現されてもよく、1つ以上のプロセッサを含んでいるそれぞれは、1つ以上の一時的でないコンピュータ読取可能な記憶媒体上で記憶されている命令に基づいて構成されている。ロボット制御システム202は、1つ以上のロボットに制御メッセージを送るように、1つ以上のロボットからの1つ以上のアップデートを受信するように、そして、リアルタイムのプロトコルまたはリアルタイムに近いプロトコルを使用して、1つ以上のロボットと通信するように構成されていてもよい。ロボット制御システム202は、1つ以上の基地局208aと208bとからのロボットロケーションおよび利用可能性を示している情報を受信してもよい。ロボット制御システム202は、利用可能なロボットの数を、1つ以上のロボットのステータスを、1つ以上のロボットのロケーションを、および/または、それらの現在の命令セットを追跡するように構成されていてもよい。ロボット制御システム202は、将来の移動を予期して、プロセッサ負荷を潜在的に低減させて、および、通信リンクに関してトラフィック負荷を予防的に管理もして、1つ以上のロボットに対して制御メッセージを処理するように、および/または、送るようにも構成されていてもよい。コンテナに対して最適な経路を決定して、最適なロケーションを算出すること、ならびに/あるいは、予約および/またはクリアランスを決定することにおいて、ロボット制御システム202による使用の際の複雑なアルゴリズムのことを考えると、このようなインプリメンテーションは有利であることがある。
【0086】
いくつかの実施形態において、サーバは、分配された計算のために、「クラウドコンピューティング」タイプのプラットフォームを利用してもよい。クラウドベースのインプリメンテーションは、開放性、柔軟性、および、拡張性;中央管理可能;信頼性;スケーラビリティ;コンピューティングリソースに対して最適化されていること;多数のユーザに渡って情報を集約する能力を有していること;および、多数のユーザに渡って接続して、興味の一致するサブグループを見つける能力を含んでいる1つ以上の利点を提供してもよい。システムプラットフォームの態様を実現するためのクラウドの使用に関して、本発明の実施形態およびインプリメンテーションを、特定の限定されない例において議論してもよいが、ローカルサーバ、単一の遠隔サーバ、サービスプラットフォームのようなソフトウェア、または、他の任意のコンピューティングデバイスを、クラウドの代わりに使用してもよい。
【0087】
いくつかの実施形態において、移動最適化モジュールは、1つ以上の制御グループを利用して、1つ以上のグループ中にロボットを隔離してもよい。広い格子に対する制御グループの使用は、(i)ワイヤレス通信リンクが、プランニングにおいて許可されているよりシーケンシャルなパケットを切断する;(ii)1つ以上のロボットが故障する;(iii)1つ以上のロボットが、性能上で予め決定されている許容範囲外で動作するときのような制御異常の後に、リアルタイムの計算が再プランニングに追いつかないときはいつでも、非常に広い格子の動作を維持する能力のような、ある利点を提供してもよい。
【0088】
制御停止メッセージは、特定の「制御グループ」におけるロボットに対してブロードキャストされてもよく個々のメッセージを送ることとは対照的に、ブロードキャストするメッセージからの潜在的な利益は、複数の送信スロットと、潜在的により高い信号対ノイズとの使用を通して改善された通信を含んでいてもよい。
【0089】
いくつかの実施形態において、ロボット制御システム202は、ロボットが格子に渡って移動するにつれて、異なる「制御エリア」にロボットを動的に割り当てるように構成されていてもよい。
【0090】
メンテナンス/監視システム(MMS)204は、1つ以上のロボットまたは1つ以上の基地局からのアラートを受信することと、クエリロボットに対する接続を確立することとを含んでいる監視する機能を提供するように構成されていてもよい。MMS204は、関数を監視するコンフィギュレーションに対してインターフェースを提供してもよい。MMS204は、あるロボットをいつ回収するべきかを示すために、ロボット制御システム202と対話してもよい。
【0091】
基地局制御装置206は、ロボット、基地局および格子をマッピングするために、マスタールーティング情報を保管していてもよい。いくつかの実施形態において、倉庫毎に1つの基地局制御装置206があってもよいが、発明の他の実施形態において、複数の基地局制御装置があってもよい。基地局制御装置206は、高い利用可能性を提供するように設計されていてもよい。基地局制御装置は、1つ以上の基地局208aと208bとの、動的な周波数選択と周波数割り振りとを管理するように構成されていてもよい。
【0092】
基地局208aと208bとは、基地局のプールのように編成されていてもよく、これはその後、待機してアクティブになるように、または、システムを監視するように構成されていてもよい。メッセージは、さまざまな通信手段を通して、ロボットに対して/ロボットからルーティングされていてもよい。通信手段は、任意の通信手段であってもよく、いくつかの実施形態において、通信手段は、ワイヤレス標準規格802.11のもとに置かれるもののような無線周波数リンクであってもよい。基地局208aと208bとは、処理ユニット212a、212b、デジタル信号プロセッサ214a、214b、および、無線216a、216bをさらに含んでいてもよい。
【0093】
1つ以上のロボット210a、210bおよび210cは、格子の周囲を移動して、動作を実行するように構成されていてもよい。動作は、1つのスタックから別のスタックへコンテナを移動させて、再充電するために充電局に行くこと等を含んでいてもよい。1つ以上のロボットは、1つ以上の基地局208aと208bと通信するように割り当てられていてもよい。
【0094】
1つ以上のロボット210a、210bおよび210cは、すべてが同一のタイプのロボットでなくてもよい。さまざまな形状、設計および目的を有する異なるロボットがあってもよく、例えば、内部の収容場所に対してコンテナをウィンチで動かす単一の格子ポジションのフットプリントを有するロボット、カンチレバーロボット、ブリッジロボット、回収ロボット等があってもよい。
【0095】
いくつかの実施形態において、1つ以上のロボット210a、210bおよび210cは、それらの上にウィンチを有しており、ウィンチを使用して、格子上の1つのポジションから別のポジションへの移動のために、コンテナを維持していてもよい。
【0096】
ロボット210a、210bおよび210cは、それぞれ、無線218a、218b、218c、デジタル信号プロセッサ220a、220b、220c、プロセッサ222a、222b、222c、リアルタイムの制御装置224a、224b、224c、バッテリー226a、226b、226c、および、モーター、センサ、コネクタ等、228a、228b、228cを有していてもよい。
【0097】
1つ以上の充電器局230は、1つ以上のロボット210a、210bおよび210c上で、バッテリーを充電するための電力を提供するように構成されていてもよい。1つ以上の充電器局230は、1つ以上のロボットに対して高いスピードのワイヤードデータアクセスを提供するようにさらに構成されていてもよく、いくつかの充電局は、1つ以上のロボット210a、210b、210cによる使用のために、格子の周囲に配置されていてもよい。
【0098】
図3を参照すると、ブロックダイヤグラムは、発明のいくつかの実施形態にしたがった制御システム202を提供している。ブロックダイヤグラムは、さらに詳細に制御システム202のコンポーネントのうちのいくつかを識別するために、実例となる目的で提供されている。しかしながら、識別されているモジュールまたはインターフェースすべてが必要とされていなくてもよく、さまざまな実施形態において、より多くのモジュールが、または、より少ないモジュールが含まれていてもよい。
【0099】
制御システム202は、作業割り振り、製品の移動、および、製品の配置をどのように改善するかを評価するように構成されていてもよい。発明のさまざまな実施形態にしたがうと、例えば、ダウンタイムの間に周期的に、または、よりアクティブでない時間で、他のものが稼動されている一方、最適化はリアルタイムで稼動されていてもよい。
【0100】
制御システム202は、優先度等を示しているさまざまなビジネスルールのアプリケーションに依存して、特定のタイプの移動をいつ起こすべきか、何の注文においてそれらが生じるべきかをスケジューリングするように構成されていてもよい。制御システム202は、例えば、製品配置に対してさえ、決定を行う際に、インバウンドおよびアウトバンドの要因両方を決定するように構成されている。例えば、制御システム202は、製品供給の推定される配送ロケーション上で、および、推定される製品のアウトバウンド配送上でアクトしてもよい。制御システムは、決定を行ってもよく、自動システムによる実行のために信号を送ってもよく、および/または、人間(ピッカー、荷を積む人等)に対して効率的にタスクを割り振ってもよい。
【0101】
制御システム202は、1つ以上のロボットまたは一人以上のピッカーが、注文の履行において、または、他の任意の目的で、1つ以上のアクションを行うべきであると決定してもよい。1つ以上のロボットのアクションは、格子を通過するためのロボットを、および/または、コンテナを取り出すことのようなアクションを行うためのロボットを必要としていてもよい。
【0102】
制御システム202は、格子においてさまざまな経路を解析して、制約と条件とのセットを与えられている他の経路に対して、潜在的に優先であってもよい1つ以上のパスを決定するように構成されていてもよい。これらの優先経路は、その後、一度、周期的に、および/または、動的に、格子全体を通してロボットの移動を制御するために、ロボットに提供されてもよい。
【0103】
より少ない進行距離、より高い予期されるロボットの平均速度、より低いトラフィック(すなわち、輻輳)に遭遇する可能性、より少ない必要とされる総時間、より低い衝突の可能性、より少ない使用電力、経路を変えるために切り替えることの容易さ、障害(例えば、壊れたロボット、落とされたアイテム、壊れたパス、パスの一部が修理中である等)を防ぐ能力を含んでいるが、これに限定されない多数の理由によって、パスは優先であってもよい。
【0104】
制御システム202は、さまざまなアルゴリズムを使用して、それが接続されているさまざまなロボットの移動を、識別し、設計し、および/または、制御してもよい。いくつかの実施形態において、1つ以上の一時的でないコンピュータ読取可能媒体上に記憶されている1つ以上の命令のセットを実行するように構成されている1つ以上のプロセッサをそれぞれ含んでいる1つ以上のサーバを使用して、制御システムは実現される。コンピュータインプリメンテーションに対する潜在的な利点は、スケーラビリティ、大量の処理および計算の複雑性を取り扱う能力、増加された反応スピード、迅速に決定を行う能力、複雑な統計解析を行う能力、とりわけ、機械学習を行う能力を含んでいるが、これに限定されない。
【0105】
本明細書において、より深いところでさらに、これらのアルゴリズムを議論しており、発明のいくつかの実施形態にしたがって、見本のパス発見アルゴリズムと、発見的アプローチとを提供している。
【0106】
制約は、格子の現在のレイアウト、ロボットの物理的特性(例えば、最高速度、回転範囲、回転スピード、最大加速度、最大減速度)、輻輳(例えば、ある経路または交差点において予期されるトラフィック負荷)、確立された「ハイウェイ」、ロボットによって運ばれている物体のインパクト(例えば、大きな、嵩張る、または、脆い物体)、(バッテリー状態、損害、メンテナンス問題を含んでいる)ロボットステータスおよび状態、および、ステーションステータス(例えば、目的地ステーションがいっぱいであるか、または、一時的にブロックされている)を含んでいてもよい。
【0107】
制御システム202は、(ロボットを含んでいるさまざまなユニットと、コンベヤやピッカーや人間等が伴われるような、オプション的に関係付けられている他のユニットとのアクションを制御している)リアルタイムの、または、リアルタイムに近い制御システムであってもよい。制御システム202は、1つ以上のモジュールから構成されていてもよい。1つ以上のモジュールは、制御インターフェース302、移動最適化モジュール304、製品配置最適化モジュール306、ロボット物理モデルモジュール308、ビジネスルールモジュール310、クリアランスモジュール312、予約モジュール314、コマンド発生およびスケジュールモジュール316、ロボット通信モジュール318、充電マネージャーモジュール320、および、アラート/通知モジュール322を含んでいてもよい。これらのモジュールは、さまざまな方法で実現されてもよく、いくつかの実施形態において、1つ以上のプロセッサによって実行されることになる、1つ以上のコンピュータ読取可能媒体上で命令として記憶されているアプリケーションとして実現されてもよい。
【0108】
制御システム202は、発明のいくつかの実施形態にしたがった、リアルタイムの、または、リアルタイムに近い作業の割り振りと、ワークステーション動作と、ロボットの移動と、および/または、コンテナの配置との制御を提供してもよい。作業の割り振り、コンテナの移動および配置は、注文の履行や、より容易にアクセス可能なポジションへのコンテナの再分配や、推定される発送シーケンスや、メンテナンス動作や、ワークステーション動作や、将来の注文の予期等のような、倉庫内のアクティビティに関連があるようなアクションによって早められてもよい。
【0109】
制御インターフェース302は、制御システム202中に、指示および情報を提供するために、さまざまな外のシステムに対するインターフェースを提供する。制御インターフェース302は、さまざまな実施形態において、さまざまな機械およびシステムにインターフェースで接続するために、人間のユーザおよび/またはインターフェースに対するインターフェースを提供してもよい。
【0110】
人間に対するインターフェースは、例えば、キーボード、ビジュアルディスプレイ、コマンドプロンプト等を含んでいてもよい。
【0111】
機械およびシステムに対するインターフェースは、見本のアクセス物体オブジェクトプロトコル(SOAP)と、表現状態転送(REST)サービス、および/または、さまざまなプログラミング言語において書かれているインターフェースを含んでいるが、これに限定されない異なる仕様を使用して実現されるアプリケーションプログラマブルインターフェース(API)を含んでいてもよい。制御インターフェース302は、さまざまな倉庫管理システムと、注文管理システムとを含んでいるが、これに限定されない、さまざまな外のデータベースと対話してもよい。また、さまざまなロボットからの情報(例えば、ロボットが誤動作している、ロボットが充電を必要としている、ロボットが目的地への途中である、ロボットが予期しない障害に遭遇した、等)も受信してもよい。
【0112】
制御インターフェース302は、ロボットおよびコンテナの制御および移動に関連した、倉庫管理システム(WMS)への、および、倉庫管理システムからの情報を、受信して送信してもよい。このような情報は、格子ロケーションおよびサイジング、サブ格子の確立、在庫と注文とのマスター記録、ワークステーションのロケーション、ワークステーションに関連しているパラメータ、および/または、(例えば、注文が外に出される必要があるとき)発送シーケンスも含んでいるが、これに限定されない。アクションが実行され、コンテナがワークステーションに運ばれ、ワークステーション動作が完了され、配送トートが満たされたとき等に、制御インターフェース302は、WMSに対して更新を提供する。いくつかの実施形態において、WMSと制御インターフェース302との間に、確認プロセスがある。WMSに対するこれらの更新は、例えば、特定のSKUに関連している更新されたストックレベル、更新されたコンテナポジション、コンテナ内の更新された物体ポジション、更新された設備状態等を含んでいてもよい。
【0113】
システムのいくつかの実施形態において、WMSに加えて、システムに入るさまざまな注文、注文の履行、ワークステーション動作、来たるべき注文、および、予測される注文に関する情報を含み提供する、別の注文システムがあってもよい。
【0114】
制御インターフェース302は、(例えば、誤作動、緊急事態等の事象の際に)特定のロボットの、ロボットのグループの、または、すべてのロボットの動作を停止させるためのコマンドも受信してもよい。
【0115】
移動最適化モジュール304は、さまざまなアルゴリズムを適用して、1つのロケーションから別のロケーションに潜在的に有利なルートを決定することを通して、ロボットの移動を最適化するように構成されていてもよい。潜在的な利点は、より短い進行距離を、より低い輻輳に遭遇する見込みを、より短い必要時間を、より少ない電力消費を、他のロボットの移動との調整を、壊れたロボットや追跡の切断されたエリアのような障害の周囲をルーティングすることを、さまざまなワークステーション動作との調整等を含んでいてもよい。
【0116】
移動最適化モジュール304は、作業割り振りと、機能性をプランニングしてスケジューリングすることと、タスクのセットを作り出すこととを含み、その後、どのピッキングステーションを選択するか、または、ロボットがどのタスクを行うべきかを提供するように構成されていてもよい。例えば、これは、ロボットまたはピッキングステーションが位置付けされている場所や、ロボットまたはピッキングステーションの特定の能力等に基づいていてもよい。さらに、特定の注文を履行するのに必要とされる特定の順列とアクションのセットとを決定して、1つ以上のロボットに、および、または、1つ以上のピッキングステーションに対して、アクション/タスクを展開させる。機能性は、とりわけ、インバウンドステーションに対して空のコンテナを配送すること、倉庫の周囲に貨物とともに荷積みされたコンテナを配置すること、コンテナをピッキングステーションまたは他のエリアに運ぶこと、倉庫中の1つのロケーションから別のロケーションにコンテナを移動させること等を含んでいてもよい。
【0117】
移動最適化モジュール304は、物体を配置するための潜在的に有利なロケーションのセットを決定する際、製品配置最適化モジュール306と対話するように構成されていてもよい。例えば、高頻度で要求される特定のSKUのアイテムを含んでいるコンテナの場合、製品配置最適化モジュール306は、取り出しのために、よりアクセス可能である、あるスタック中の、あるロケーションにおいて、コンテナを配置するべきであることを示していてもよい。逆に言えば、コンテナが、低頻度で要求される特定のSKUのアイテムを含んでいる場合、より容易にアクセス可能でない格子ロケーション内の、より低い深度において、製品を配置するように決定してもよい。
【0118】
移動を最適化する際、移動最適化モジュール304は、特定のロケーションを得るのに必要とされる予期される時間、コンテナがスタック内のどのくらい深くにあるか、コンテナをスタックの外に掘り出すのにどのくらい長くかかるか、上に位置付けられているコンテナを他のロケーションに移動させるのに必要であるさまざまな動作等のような、移動と、動作の実行との両方において伴われるさまざまな要因を考慮するように構成されていてもよい。
【0119】
移動最適化モジュール304に、ロボット物理モデルモジュール308からのインプットのセットも提供されてもよく、これは、さまざまな要因に依存して、ロボットの移動に対する制約のセットを通信してもよい(例えば、ロボットが壊れやすい物体を現在運んでいるとき、ロボットは、最高速度の50%でのみ移動してもよい)。移動最適化モジュール304は、格子への、格子外への、および、格子内でのボックスの移動を調整してもよい。
【0120】
いくつかの実施形態において、移動最適化モジュール304は、ロボットの行程コースの間の優先パスを動的に再算出して、条件および制約が経時的に変化するにつれて、更新されるパスのセットを潜在的に決定してもよい。
【0121】
いくつかの実施形態において、格子は移動最適化モジュール304によって前処理されて、処理するスピードおよび/または処理する積荷を、潜在的に増加させてもよい。サーチの深度/幅を低減させること、格子をサブ格子に分割すること、分配して処理すること、将来のルートをキャッシュすること、格子を計算容易化する(例えば、解析下にあるノードの数を低減させる)こと、パス再算出を低減させること等のような、積荷を処理することを低減させる他の方法も企図されている。
【0122】
いくつかの実施形態において、移動最適化モジュール304は、解析のために、格子を複数のより小さなサブ格子に分割してもよい。このような分割は、電力を処理することに対する需要を緩和してもよく、これは、格子サイズが非常に大きい場合、特に有用であり得て、例えば、1000×1000のグリッドが100に分割され、100×100の格子と各格子とを、別々に解析してもよい。これは、システムが、非常に多数のロボットを制御するように、または、多数の条件を考慮に入れるように試行している場合、さらに有用であり得る。
【0123】
提案された経路のナビゲーションが、他のロボットのクリアランスおよび予約に伴われる問題に遭遇するだろうか否かを決定する際に、そしてまた、これらの問題に遭遇する機会を低減させるかもしれない経路を決定する際に、移動最適化モジュール304は、クリアランスモジュール312と予約モジュール314と対話していてもよい。
【0124】
所望のコンテナがスタック内のさまざまな深度でスタック内に位置付けられている場合、所望のコンテナにアクセス可能であるように、移動最適化モジュール304は、スタックの外のコンテナの移動において、1つ以上のロボットを制御することを必要としているかもしれない。移動最適化モジュール304は、1つ以上のロボットが、コンテナをスタックの外に移動させる際に協同するように、1つ以上のロボットに渡って移動を調整してもよい。
【0125】
いくつかの実施形態において、移動最適化モジュール304は、コンテナをスタック上に戻す必要がなくてもよく、また、戻すように望まれてさえもいない。むしろ、スタックの外に移動されているコンテナは、製品配置最適化モジュール306によって決定されている最適なポジションを有していてもよく、1つ以上のロボットによってそこに移動されてもよい。このような実施形態の潜在的な利点は、コンテナが、それらの元のポジションに戻されていないが、むしろ、より最適なポジションに配置されているときに、増加された効率性が見つけられるかもしれないことである。
【0126】
いくつかの実施形態において、クリアランスモジュール312、予約モジュール314、および、移動最適化モジュール304は、パス競合レゾルバーとともに利用されており、移動最適化モジュール304は、パスを作り出して、その後、予約モジュール314を使用してパスを予約し、クリアランスモジュール312は、ロボットが潜在的に競合しているパスに携わっているときに優先を決定することに対して、ジャストインタイムのアプローチを提供する。
【0127】
いくつかの実施形態において、移動最適化モジュール304は、ロボットが、いっぱいのステーションにコンテナを乗せようと試行している状況に対処するように構成されている。この状況において、移動最適化モジュール304は、ステーションがコンテナを受け入れることができるまで、ロボットに、ロボットによって保持されることになる近くのコンテナを取るように命令するように構成されている。ステーションがコンテナを受け入れることができるとき、コンテナは降ろされる。これらの実施形態においては、優先すべき注文において、保持されているコンテナを降ろしてもよい。
【0128】
いくつかの実施形態において、ステーションが、保持されているコンテナがその保持されるロケーションに到着する前に降ろすためにフリーになった場合、移動最適化モジュール304は、コンテナを保持することなく直接降ろすように再プランニングするだろう。
【0129】
いくつかの実施形態において、移動最適化モジュール304は、動作を先取りするようにさらに構成されており、ステーションにおいてコンテナが要求される前に、コンテナをステーションのより近くに移動させる。コンテナは、その後、要求されたときに降ろされるように準備完了にされ、これは、降ろす時間の不確実性を低減させてもよい。
【0130】
いくつかの実施形態において、システムは、ロボットパスをプランニングするように、そして、遠い将来においてロボットパス予約を効率的に確立して、アルゴリズムが完了できるように構成されていてもよい。
【0131】
いくつかの実施形態において、必要とされているある程度の転送プランニングが、シミュレーションによって計算されてもよい。
【0132】
短期通信パケット損失、および/または、許可された許容範囲外で稼動されているロボットのようなさまざまな理由のせいで、ロボットがそれらのプランを維持できないとき、再プランニングをしなければならないより高い可能性を有する効率損失に対して、遠い将来へのプランニングをすることの効率利得の間で(統計上の意味において)裁定を下ろすために、シミュレーションを使用してもよい。
【0133】
製品配置最適化モジュール306は、特定のアイテムを含んでいる特定のコンテナを配置するための、潜在的に有利であるロケーションのセットを決定するように構成されていてもよい。製品配置最適化モジュール306は、格子のレイアウト、特定のアイテムが要求される頻度、将来のオーダリング、予測される将来のオーダリング、ワークステーションのロケーション、充電局のロケーション、および、パスの特定のエリアおよび分岐の輻輳レベル、のような関連する情報を、とりわけ、特定のアイテムを含んでいる特定のコンテナを配置するための潜在的に有利なロケーションのセットを決定する際、利用してもよい。
【0134】
ロボットは、1つ以上のコンテナを搬送することを課されてもよく、これらのうちのそれぞれは、1つ以上のアイテムを含んで、1つ以上のサービスピッキングステーションの需要を満たしてもよい。各コンテナに、スタックロケーションに関連している指数が提供されてもよいので、特定のコンテナは、特定のスタックロケーションに向かってバイアスされていてもよい。
【0135】
スタック内の、または、格子のレイアウトに対する、コンテナの分配およびポジショニングは、倉庫の動作効率全体を助長していてもよい。
【0136】
設備中のどこかにコンテナを配置する必要があるさまざまな状況があり、これらの状況は、設備中のコンテナのポジションの分配を再評価するための機会、および/または、最適化するための機会を提示している。
【0137】
ポジションが別のポジションよりも良い、または、より悪いことを示すだろうさまざまな考慮がある。これは、ワークステーションへの距離、エリアにおける輻輳のレベル、特定のコンテナによってどのコンテナがブロックされるか、環境要因に対するコンテナの論理グループ化(例えば、可燃性の物体を含んでいるコンテナは、特別なポジショニングを必要とするかもしれない)、ワークステーションによるロケーションに対するインテリジェントな先取りを含んでいてもよいが、これに限定されない。
【0138】
例えば、重み付けされたアルゴリズムを、または、他の何らかの適切な方法を使用することによって、これらの考慮をシステムによって利用して、1つのポジションと別のポジションとを比較してもよい。
【0139】
例えば、新たなコンテナが設備中に導入されたとき、コンテナを設備に対して戻すとき、スタック内の深くに保管されているアイテムにアクセスするように試行しているロボットによって1つ以上のコンテナを移動させるとき、アイテムがコンテナ中に配置される/コンテナから除去されるとき、コンテナが損害を受けているとして印付けられるとき、コンテナが汚れているとして印付けられるとき等である。
【0140】
この最適化は、さまざまなときに行うことができる。例えば、いくつかの実施形態において、下の特定のコンテナにアクセスできるようにするために除去しなければならないコンテナのような、移動させなければならないすべてのコンテナに対して、新たなポジションを決定するために最適化が行われる。
【0141】
例えば、各所定のSKUに対して、頻繁に注文されているアイテム、一定数のみのアイテムが、アクセスするのに最も容易な倉庫のエリア(例えば、各ピッキングステーションおよび/またはコンテナのスタックの一番上に対して最も近いロケーション)において分配されている場合、ロボットの移動および動作の数は、潜在的に低減され得る。
【0142】
「アクティブウィンドウ」は、(サービスワークステーションに対して用意ができている)アクティブ状態にコンテナを保つ価値がある注文の数として定義されており、システムによって決定される。製品配置最適化モジュール306は、下部に予約在庫を有するアクティブなコンテナの一番上のレイヤに向かうように、ヒブレイアウト全体をバイアスさせて、コンテナに対してスコアを割り当てるように構成されていてもよい。
【0143】
このスコアリングシステムは、ビジネスルールモジュール310によって決定されてもよく、在庫の有効期間満了日のような情報に基づいて設定されていいてもよい。他の情報の間で、履歴の注文を利用して、コンテナに対するスコアを算出することを計算に入れてもよく、このスコアは、SKUの在庫レベルが変更する度毎に、継続ベース上で更新されてもよい。このスコアリングシステムを利用して、コンテナのポジションをバイアスさせるのを助けて、設備内のコンテナのポジションニングの最適性を維持してもよい。
【0144】
いくつかの実施形態において、システムは、ロボット移動を制御して、SKU毎の1つ以上のコンテナの「アクティブ」なプールを維持して、1つ以上のサービスワークステーションの需要を満たすように構成されていてもよい。「アクティブ」なプールが消耗されたとき、「予約」コンテナが、「アクティブ」なプール中に促進されてもよい。
【0145】
システムのいくつかの実施形態において、システムは、「収納(put away)アルゴリズム」を使用して、コンテナを配置しているときに、空のロケーションの利用可能なプールから、「ベストマッチ」のスタックロケーションを決定して、ロボット移動を制御するように構成されていてもよい。
【0146】
いくつかの実施形態において、「アクティブ」なプールは、1つ以上のサービスワークステーションからの並行する需要をサポートするように構成されていてもよい。
【0147】
いくつかの実施形態において、製品配置最適化モジュール306はまた、ピッキングステーション間で注文をバランスさせてもよい。
【0148】
ロボット物理モデルモジュール308は、ロボットに関連した特定の物理的特性をモデリングするように構成されている変数のセットを保管するように構成されていてもよい。例えば、モデルは、ロボットの長さ、重さ、高さおよび幅、ロボットの最大の運ぶ能力、ロボットの回転スピード、ロボットのウィンチサイクル時間、ロボットの最大速度および加速度、セット量のバッテリー寿命を与えられているロボットが、あるアクションを実行する能力等のような、物理的な特性を示していてもよい。ロボット物理モジュール308は、ロボットの最大速度、最大加速度および最大回転スピードを含んでいる、ロボット移動のある特徴上の限定を決定する際に、ビジネスルールモジュール310とインターフェースで接続してもよい。例えば、多数の卵のカートンを運んでいるロボットは、物理的な力による卵の脆さ、および、壊れやすさによって、ロボットの最大の加速度/減速度のうちの25%のみで加速/減速することが必要とされるかもしれない。
【0149】
ビジネスルールモジュール310は、倉庫、ロボットおよび通信システムの特定の環境に基づいて、ビジネスルールのセットを作り出して適用する。例えば、ビジネスルールモジュール310は、アイテムのある類に対して、それを提供してもよく、輸送における貨物によって受ける損害の量を潜在的に低減させるために、ロボット物理モデルモジュール308にとって、さまざまな制約が有効である。ビジネスルールが実現されてもよい場合の例は、高リスクの製品(例えば、酸、漂白剤等)、エアゾールを有するコンテナ、および、とりわけ、可燃性の内容物を有するコンテナを含んでいる。空のコンテナはまた、他のコンテナとは異なるように処置されてもよい。
【0150】
再使用する前にコンテナを洗浄すること、ある物体を含んでいるロボットを減速させること等のようなアクションを、ビジネスルールは含んでいてもよい。
【0151】
ビジネスルールモジュール310は、製品の配置を管理するルールのセットを作り出して適用するようにも構成されていてもよい。例えば、高頻度のアイテムや、到来している注文によってまもなくピッキングされるかもしれないアイテムのために、異なるルールが配置されていてもよい。
【0152】
クリアランスモジュール312は、さまざまなロボットに対してクリアランスを保管して提供するように構成されていてもよい。クリアランスのシステムは、通過するためのロボットに対してパスがクリアであるか否かを決定するためにアクセスされてもよい。クリアランスモジュール312は、受動的な衝突回避システムとして実現されてもよく、ロボットは、性能に影響することなく可能な最小量の作業のみを与えられる。
【0153】
新たな命令を有するロボットを提供する際、例えば、格子の次元、格子ポジション、プランニングによって発生された移動コマンド、(制御された停止のような、事象上で発生された)移動コマンドのキャンセル、ロボットの現在のポジションおよびスピード、ロボットの制動能力とともに、ロボットが訪れるのにクリアである場所に基づいて、クリアランスモジュール312は、別のロボットと衝突する可能性がないだろうことをチェックする。
【0154】
クリアランスモジュール312は、「ジャストインタイム」のクリアランスを発行するように構成されていてもよく、ロボットに対して、それらのプランニングされたパスに沿って継続するための許容を許可するのに使用してもよい。新たなクリアランスが、各ロボットステータス報告に応答して、発生されて(または、抑制されて)もよい。したがって、クリアランスモジュール312は、パス競合レゾルバーとしてアクトしてもよい。クリアランスが必要とされる場合、クリアランスモジュール312は、競合を解決するか、または回避するためのルートを動的に再プランニングするために、移動最適化モジュール304と対話してもよい。
【0155】
クリアランスモジュール312は、制御インターフェース302に対して、パスに対して何のクリアランスがあるかを、(例えば、プランニングシステムに対して、これが、現在のクリアランスの最後から、動的な再プランニングを可能にしてもよいとき、)クリアランスがいつ発行されるかの通知を、(例えば、エラーケースを識別するために、および、再プランニングの必要性を識別するために、)クリアランスをいつ抑制するかの通知を提供してもよく、(ロボット、ロボット通信、または、制御システム202での潜在的な問題があるので、)アラートシステムに対して、提供してもよい。
【0156】
クリアランスモジュール312は、欠落しているメッセージ、処理時間、クロック同期、および、とりわけ、物理モデルとのロボットの不一致を含んでいる許容範囲のセットに基づいて、クリアランススキームを考案するように構成されていてもよい。
【0157】
クリアランスモジュール312は、ロボットのポジションおよびスピード更新と、与えられている/抑制されているクリアランスとに基づいて、格子上の1つまたは多くのポジションに対して、安全なエントリ時間のセットを提供してもよい。安全なエントリ時間のセットは、格子の状態が変化するにつれて、動的に更新されてもよい。
【0158】
いくつかの実施形態において、予め決定された時間期間(例えば、3秒)の間、ロボットにクリアランスのみが提供されるように、クリアランスモジュール312は構成されていてもよい。時間期間が、衝突の危険にさらされることなくロボットが停止するのに十分であるように、ロボットに与えられたクリアランスは構成されていてもよい。
【0159】
いくつかの実施形態において、制御システム202が、ロボットからの構成可能な数のステータスメッセージを取り逃しても、短い時間期間の間、依然としてロボットに動作を継続させることができてもよいように、クリアランスを提供するように、クリアランスモジュール312は構成されていてもよい。この設計は、結果として、欠落しているパケットに対してより許容可能であるかもしれないシステムであってもよく、これは、通信が有するいくつかの問題に遭遇する場合でさえ継続されている動作を有することにおいて、有利であり得る。ロボットが、そのクリアランスの最後に、停止するために自律的に減速する前に、制御システム202が、ロボットからのステータスメッセージを受信する見込みがある高い可能性があるように、構成可能な数をセットしてもよい。
【0160】
いくつかの実施形態において、ロボットが減速し始めた場合、停止することが可能になるだろう、そして、制御システム202は、その後、先の予約をキャンセルして、格子を通してそのパスを再プランニングしてもよい。
【0161】
予約モジュール314は、格子上でさまざまなパスを予約している(例えば、ロボットAは、パスXをとるようにプランニングしており、予期される通過時間の間、パスXを予約する。ロボットBは、ロボットAがパスXを予約したことを知ると、代わりにパスYを選ぶ)。予約モジュール314は、競合しないロボット移動プランを生成させるように設計されていてもよく、クリアランスモジュール312および移動最適化モジュール304とともに働くように構成されていてもよい。
【0162】
予約モジュール314は、2つのロボットにオーバーラップする予約が与えられてはよくない場合、とりわけ、プランにわずかに外れたロボットに対する許容範囲を、失われたロボット通信メッセージに対する許容範囲を、および、クロック不一致に対する許容範囲を考慮に入れて、タイムスパンの間、格子ロケーションに対するロボットのために予約を提供するように構成されていてもよい。
【0163】
いくつかの実施形態において、特に、同時に行われる非常に多数のロボットアクションおよびタスクがある場合、予約モジュール314を、前もってルートを予約するのに使用して、ロボットが競合パスをとるようにプランニングしないことを確実にしてもよい。予約モジュール314は、任意のロボットが、衝突の危険にさらされることなく、制御された制動下で停止するために、十分な許容範囲を可能にするように構成されていてもよい。
【0164】
予約モジュール314は、先行プランニングを可能にするために、移動最適化モジュール304と対話して、遠い将来において十分にロボットパス予約を確立するように構成されていてもよい。いくつかの実施形態において、予約モジュール314および移動最適化モジュール304は、移動アルゴリズムの計算を完了するのに十分な先行プランニングをさせる。
【0165】
コマンド発生およびスケジュールモジュール316は、1つ以上のロボットに送信されることになる命令のセットを発生させる。これらの命令は、例えば、ロボットAが、コンテナCを取得するためにロケーションBに移動して、コンテナCをワークステーションに運び、その後、コンテナCを特定のロケーションDに戻すように要求されていることを含んでいてもよい。これらの命令は、プランニングされた/スケジューリングされたルートを可能にするために、リアルタイムに近い/リアルタイムのコンフィギュレーションにおいて送信されてもよく、ジャストインタイムのコンフィギュレーションにおいて、および/または、時間の前に提供されていてもよい。さらに、いくつかの実施形態において、コマンド発生およびスケジュールモジュール316は、ロボットが、設備に渡ってその道を急速に進行するのを助けるために、予約およびクリアランスを調整する。
【0166】
コマンド発生およびスケジュールモジュール316は、単一のパスまたは1つ以上のパスを、および/または、さまざまなロケーションにおいて実行するための多数の動作を備えているコマンドセットを提供するように構成されていてもよい。コマンド発生およびスケジュールモジュール316は、個々のロボットに提供されることになるロボット通信モジュール318に対して、これらのコマンドを提供する。いくつかの実施形態において、コマンド発生およびスケジュールモジュール316は、特定のロボットに対する命令を予め格納しており、これらの命令は、その後、将来に実行されることになるロボット通信モジュール318を通してロボットに提供されてもよい。
【0167】
ロボット通信モジュール318は、1つ以上の基地局と基地局制御装置206とを介して、情報を、ロボットに戻るように送信し、ロボットから外に送信するように構成されていてもよい。いくつかの実施形態において、ロボット通信モジュール318は、ワイヤレス信号の使用を通して通信してもよい。上記で示しているように、これらの命令セットは、ジャストインタイムである必要はなく、将来の移動の調整のために命令セットを送ってもよい。
【0168】
ロボット通信モジュール318は、さまざまなロボットからのステータス報告を受信してもよい。ロボット通信モジュール318は、同期、非同期、ポーリング、プッシュまたはプルの方法論を利用することのようなさまざまな方法において実現されてもよい。さらに、さまざまなインプリメンテーションは、「ハンドシェイク」通信の使用を含んでいても、含んでいなくてもよい。
【0169】
いくつかの実施形態において、「ハンドシェイク」がない場合、通信システムは、メッセージ配信を保証しなくてもよいので、消失パケットが後から起こる。このようなシステムに対する潜在的な利点は、減少された帯域幅要件と、ベストエフォートのベースでの命令の提出とを含んでいてもよい。命令パケットを、タイミングして再ブロードキャストすること、パリティ情報または他の妥当性検証スキームを含むオーバーラップする命令パケットを送ること、または、他のフロー制御および再送信のスキームのような、消失パケットの影響を最小化するためのさまざまなスキームを実現してもよい。
【0170】
発明の他の実施形態において、「ハンドシェイク」を使用して、パケットが確実に受信されるようにしてもよい。
【0171】
ロボットに対するコマンドは、ロボットによって実行されることになる動作の開始時間の前に発行されてもよく、開始時間とコマンドの発行との間のこの時間は、構成可能なパラメータであってもよい。
【0172】
いくつかの実施形態において、配送を確実にするために、コマンドは、ロボットに対して繰り返され、ロボットは、コマンドが受信されたという肯定応答を提供してもよい。
【0173】
メッセージが、スケジューリングされている開始時間の前に受信されていない場合、ロボットは、コマンドを無視するように構成されていてもよく、コマンドを受信するのが遅過ぎたことを示しているステータスメッセージを戻してもよい。このケースにおいて、ロボット制御システム202は、ロボットに対する既存の予約をキャンセルし、ロボットに対するタスクを再プランニングするように構成されていてもよい。
【0174】
いくつかの実施形態において、ロボットは、(例えば、コマンドシーケンス番号によって)受信された最後のコマンドを肯定応答する、普通のステータスメッセージを戻す。ロボット制御システム202は、いくつかの実施形態において、発行された最後のコマンドが、ロボットによって肯定応答されるまで、特定のロボットに対して新たなコマンドが発行できないように構成されていてもよい。コマンドが、特定の期間(例えば、構成可能なタイムアウト期間)の後に、ロボットによって肯定応答されていない場合、ロボット制御システム202は、ロボットに対して既存の予約をキャンセルするように構成されていてもよい。(コマンド)通信がロボットによって再確立されたとき、ロボット制御システム202は、ロボットに対する動作を再プランニングする。
【0175】
各ロボットステータスメッセージの受信の際、ロボット制御システム202は、クリアランスモジュール312を通して、ロボットの現在の移動クリアランスを拡張するように構成されていてもよい。
【0176】
充電マネージャーモジュール320は、ロボットを再充電するための移動プランを作り出すように構成されていてもよい。充電マネージャーモジュール320は、ロボットが特定された最小の充電を有するだろうときを推定し、そのポイントにおいて、または、そのポイントの前に、すべてのロボットが確実に充電できるようにするように構成されていてもよい。
【0177】
アラート/通知モジュール322は、潜在的な問題が起こったときに、または、予め決定されているビジネスルール、例えば、競合によって抑制されている予め決定されている数のクリアランスに基づいて、制御インターフェース302に対して、アラートまたは通知を提供するように構成されていてもよい。
【0178】
本システムおよび方法は、さまざまな実施形態において実施されてもよい。適切に構成されているコンピュータデバイス、および、関係付けられている通信ネットワーク、デバイス、ソフトウェアおよびファームウェアは、上記で説明したような1つ以上の実施形態を可能にするためのプラットフォームを提供してもよい。例として、
図1は、記憶ユニット104に、および、ランダムアクセスメモリ106に接続されている中央処理ユニット(「CPU」)102を含んでいてもよい、一般的なコンピュータデバイス100を示している。CPU102は、動作システム101、アプリケーションプログラム103、および、データ123を処理してもよい。動作システム101、アプリケーションプログラム103、およびデータ123は、要求されるかもしれないので、記憶ユニット104において記憶されていてもよく、メモリ106中にロードされていてもよい。コンピュータデバイス100は、グラフィック処理ユニット(GPU)122をさらに含んでいてもよく、これは、CPU102に、そして、メモリ106に、動作可能に接続されて、CPU102からの集約的なイメージ処理算出をオフロードして、これらの算出を、CPU102と並行して稼動させてもよい。オペレータ107は、ビデオインターフェース105によって接続されているビデオディスプレイ108と、I/Oインターフェース109によって接続されている、キーボード115、マウス112およびディスクドライブまたはソリッドステートドライブ114のような、さまざまなインプット/アウトプットデバイスとを使用して、コンピュータデバイス100と対話してもよい。知られている方法において、マウス112は、ビデオディスプレイ108におけるカーソルの移動を制御するように、そして、ビデオディスプレイ108中に出現するさまざまなグラフィックユーザインターフェース(GU)制御を、マウスボタンで動作させるように構成されていてもよい。ディスクドライブまたはソリッドステートドライブ114は、コンピュータ読取可能媒体116を受け入れるように構成されていてもよい。コンピュータデバイス100は、ネットワークインターフェース111を介してネットワークの一部を形成して、コンピュータデバイス100が、(示されていない)他の適切に構成されているデータ処理システムと通信できるようにしてもよい。1つ以上の異なるタイプのセンサ135を使用して、さまざまな出所からのインプットを受信してもよい。
【0179】
本システムおよび方法は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータまたはワイヤレスハンドヘルドを含んでいるコンピュータデバイスの、実質的に任意の方法で実施されてもよい。本システムおよび方法は、本発明にしたがった方法において、さまざまなプロセスステップのそれぞれを実現するために、1つ以上のコンピュータデバイスを可能にするためのコンピュータプログラムコードを含むコンピュータ読取可能な/使用可能な媒体としても実現されてもよい。動作全体を実行する、1つより多いコンピュータデバイスのケースにおいて、コンピュータデバイスは、動作のさまざまなステップを分配するようにネットワーキングされている。用語コンピュータ読取可能な媒体またはコンピュータ使用可能な媒体は、プログラムコードの任意のタイプの物理実施形態のうちの1つ以上を備えていることが理解される。特に、コンピュータ読取可能な/使用可能な媒体は、コンピュータおよび/または記憶システムに関係付けられているメモリのような、コンピューティングデバイスの1つ以上のデータ記憶区分上で、製品の1つ以上のポータブル記憶物品(例えば、光学ディスク、磁気ディスク、テープ等)上で具現化されているプログラムコードを備えることがある。
【0180】
移動体デバイスが、本来のアプリケーションよりもむしろ、ウェブサービスにアクセスするためのリンクを含んでいる場合、本発明の移動体アプリケーションは、ウェブサービスとして実現されてもよい。
【0181】
説明している機能性は、iOS(登録商標)プラットフォーム、アンドロイド(登録商標)、ウィンドウズ(登録商標)またはブラックベリー(登録商標)を含んでいる、任意の移動体プラットフォームに対して実現されてもよい。
【0182】
当業者によって、ここで説明している他の実施形態の他のバリエーションも、発明の範囲から逸脱することなく実施されてもよいことが正しく認識されるだろう。したがって、他の修正も可能性がある。
【0183】
分岐限定アルゴリズム、制約プログラミング、ローカルサーチ、発見的方法、グラフトラバーサル、動的パス学習アドバイザ技術、プルーニング技術、および、ベイズのグラフサーチ技術、ダイクストラのアルゴリズム、ベルマン・フォードのアルゴリズム、ワーシャル・フロイドのアルゴリズム、ジョンソンのアルゴリズム、幅優先の再帰的サーチ、および、深さ優先の再帰的サーチ、重み付けされたパス、A*サーチアルゴリズム、A*サーチアルゴリズム上の変形(例えば、D*、フィールドD*、IDA*、フリンジ、フリンジセービングA*、一般化された適応A*、ライフロングプランニングA*、単純化されたメモリ有界A*、ジャンプポイントサーチ、シータ*)を含んでいるが、これらに限定されない多数の異なるアルゴリズムおよび技術を、ロボットがとるための優先パスを決定する際に使用してもよい。
【0184】
以下のセクションにおいて、発明のいくつかの実施形態にしたがった、見本のサーチアルゴリズムおよび発見的方法が提供されている。
【見本のサーチアルゴリズム】
【0185】
このセクションにおいて、発明のいくつかの実施形態にしたがった、見本の、単純化されたアルゴリズムが提供されている。
【0186】
実例となる目的のために、発明のいくつかの実施形態にしたがって、アルゴリズムを、
図4のもとでワークフローとして図表を用いて提供している。この見本のアルゴリズムは、上記で説明しているような概念に対する実例として単に提供されているのみであり、限定している例ではないことが理解されるべきである。
【0187】
アルゴリズムは、分岐限定サーチを利用し得る反復サーチアルゴリズムであってもよく、輻輳回避のための「ヒートマップ」を含んでいる「ニア・ベスト・ファースト」の発見的モデルを適用してもよい。分岐は、重み付けされたコスト関数を使用して選択されてもよく、アルゴリズムは、格子/ロボットの形状/サイズに対して緩く結合されていてもよい。
【0188】
いくつかの実施形態において、分岐は、分類された収集において保持されていてもよい。
【0189】
アルゴリズムの実施形態にしたがうと、以下の再帰的な分岐限定関数が適用される。 各反復上で、
(a)最低コストの分岐bを選択
(b)すべての方向においてb分岐して、新たな分岐Bを生成
(c)Bにおける各分岐b’に対して、
b’がターゲットに到達している場合、
bに戻る
さもなければ、
b’を追加して、サーチ
コスト比較器は、次の反復のために、最低コストの分岐の追跡を可能にする。
【0190】
パスサーチを実行する際、さまざまな発見的方法を適用して、適用された発見的方法に依存すること、分岐全体を除去すること、または、より計算の少ない集約的解析を行うことによって、必要とされる計算を低減させてもよい。見本の発見的技術を、本明細書の後のセクションにおいて提供している。
【0191】
新たな分岐が、別のロボットがとるかもしれないパスとの競合を、または、アイドル中のロボットとの競合を有している場合、サーチアルゴリズムは、
(加速プロフィールが可能にする場合、)競合している予約を追い越すために分岐を変更してもよい;
パスに沿った任意のポジションにおいて待つことを含むように、分岐を変更してもよい;または、
分岐を、実行不可能であるとして廃棄してもよい。
【0192】
いくつかの実施形態において、ロボットがそれらの開始ポイントにおいて待っている場合、パスを選択してもよい。
【0193】
そうしている際、サーチスペースを正しく使い果たすことはできない(例えば、ロボットがその目的地に対してとるための受け入れ可能なパスが現在ない場合、競合していないパスが利用可能になるまでロボットが待つパスが選択されるかもしれない)。
【見本の発見的(heuristic)技術】
【0194】
サーチアルゴリズムは、可能な最短時間をとることや、輻輳するエリアを回避するように対処すること等のような、任意の数のゴールを優先してバランスさせるように構成されていてもよい。
【0195】
以下に、見本の、実例となる目的に対する発見的方法(heuristics)の使用のアプリケーションの、限定していない例を提供している。
【0196】
発明の実施形態において、各サーチは、現在の最も低いコスト分岐を追跡してもよく、重み付けされたコスト関数を使用して、さまざまな発見的方法に基づいて、分岐の選択オーダリングをバイアスさせてもよく、これは、(a)計画された最短のパス時間と、(b)ヒートマップに基づいて計画された累積された熱とを含んでいてもよい。他の発見的技術が企図されているが、実例となる目的のために、上記で識別した2つに対するさらなる詳細を提供しよう。
【0197】
(a)計画された最短のパス時間
任意の分岐に対して、制御システムは、現在の分岐先端から目的地までの可能性ある最短のパス時間を決定してもよい。
計画された時間コストは、その後、ターゲットに対する最短の、制約されていない、可能性あるパスに対する時間に追加された、分岐に対するそれまでの(例えば、必要とされた任意の待ち時間等を含んでいる)総時間として決定されてもよい。
【0198】
(b)(ヒートマップに基づいて)計画された最小の熱
ヒートマップを作り出す際、「熱」値は、格子上のポイントにおいて、または、格子の特定のエリアに対して、輻輳のモデルを近似している各座標に割り当てられていてもよい。
【0199】
図5は、発明のいくつかの実施形態にしたがった、見本のヒートマップを提供している。
【0200】
いくつかの実施形態において、「熱」値は、ワークステーションへの近接を使用して決定されてもよいが、発明の他の実施形態において、「熱」を、さまざまな他の技術を使用して、観測し/学習し/算出し/予測してもよく、これらのうちのいくつかは、動的な、または、反復の技術であってもよい。
【0201】
計画された最短のパスと同様に、集約されたパスを、目的地に対して計画してもよい。
【0202】
その後、計画された最小の熱が決定される。いくつかの実施形態において、計画された熱コストは、計画されたパスの「最も冷たい」(最小の熱さの)熱に追加された、現在の分岐におけるすべての訪れた座標の熱の合計である。
【見本の重み付けされたコスト関数】
【0203】
いくつかの実施形態において、使用されるアルゴリズムは、重み付けされたコスト関数に基づいている。異なる係数を使用するように構成されているクラウドにおける非常に多数の同時シミュレーションの結果を学ぶことによって、および/または、さまざまな機械学習アプローチと技術とを適用することによって、ことによると、観測されたデータおよび/またはシミュレートされたデータの広大なセットを使用することによって、関係付けられたコスト係数の最適化に対して、このようなアルゴリズムは影響を受けやすいかもしれない。
【0204】
いくつかの実施形態において、サーチアルゴリズムは、2つのコスト係数を有している。(a)計画された最短のパス時間係数(Ct)、および、(b)計画された最小の熱係数(Ch)。
【0205】
いくつかの実施形態において、サーチアルゴリズムは、以下の方程式を含んでいてもよい。
【0206】
分岐コスト=Ct
*PSP+Ch
*PMH
(ここで、PSPは、計画された最短のパス時間を指し、PMHは、計画された最小の熱を指している)。
【0207】
いくつかの実施形態において、複雑な関連性をモデリングする、構成可能な指数または機械学習して導出された指数とともに、コスト関数を利用してもよい。実例となる目的のために提供されている見本の、単純化されたコスト関数は、
分岐コスト=Ct
*PSP×+Ch
*PMHyを含み、ここで、xおよびyは、さらに構成可能な、および/または、機械学習された指数であってもよい。
【0208】
図6aは、サーチ分岐の計画されたコストが、パスサーチアルゴリズムにおいて異なる係数を使用したことの結果として、どのように変化できるかを実証している表を提供している。これらの係数は、発明のいくつかの実施形態にしたがった、機械学習技術による改良を使用して導出できる。
【0209】
図6bは、
図6aにおいて実証されている異なるコスト係数の使用が、サーチアルゴリズムの次の反復によって選択されるだろう分岐を、どのように変化させるかを図示している。
【0210】
いくつかの実施形態において、機械学習された係数および/または指数のセットをより良くするために、制御システム202は、経時的にルールのセットを作り出し、適応させ、適用するようにさらに構成されていてもよい。機械学習された係数および/または指数の使用は、時間期間を通して、発見的技術の効率を潜在的に増加させてもよい。
【見本の分路(shunting)サーチ】
【0211】
システムは、ロボットパスを調節して、アイドル中のロボットのポジションを考慮するように構成されていてもよい。いくつかの実施形態において、タスクを有するロボットとは無関係に追跡されるかもしれないアイドル中のロボットがあってもよい。これらのアイドル中のロボットは、計画されたパスおよび関係付けられた予約を有していないかもしれず、別々に考慮される必要性があり得る。
【0212】
タスクが最終決定されたとき、別の「分路サーチ」を実行してもよい。「分路サーチ」は、タスクを課されているロボット(以後、主要なロボットと呼ぶ)のパスにおいて現在アイドル中であるか、またはこれからアイドル中になるだろうロボットを、それらが継続してアイドル中であってもよく、主要ロボットのパスの行く手を塞がないロケーションに移動させるためのパスを発見することから構成されていてもよい。
【0213】
この「分路サーチ」は、いくつかの実施形態において、サーチを実行することを備えており、主要ロボットのパスにおいて現在アイドル中であるか、またはこれからアイドル中になるだろう各ロボットに対して、サーチが実行され、ロボットがいつまでも残ることができるロケーションを発見したときに、これは解決されたと見なされてもよい。
【0214】
「分路サーチ」は、主要ロボットのパスサーチとして、同じ分岐限定サーチアルゴリズムを使用してもよいが、異なるコスト係数と解決基準を有しているかもしれない。ロボットが時間的に道の外に移動することができない場合、主要ロボットのパスの開始に対して、待ち時間が追加されてもよく、主要ロボットのパスが再算出されてもよい。
【見本の収納アルゴリズム】
【0215】
アルゴリズムを使用して、戻されることになるコンテナに対するスタックロケーションを決定してもよい。コンテナはさまざまな理由のために戻されるかもしれず、コンテナが戻されるロケーションは、ヒブ中の物体/コンテナの分配を改善することのような、さまざまな利点に対して最適化されてもよい。
【0216】
ヒブ中のすべてのスタックロケーションは、
すべてのワークステーションからの(ロボット動作時間において測定された)平均距離;
最も近いワークステーションからの(ロボット動作時間において測定された)距離;および、
(深度>0の場合)概算の掘り出しコスト;の構成可能な、重み付けされたコスト関数でスコアリングされてもよい。
【0217】
システムは、プランにおけるすべての動作が実行された後、ヒブの現在の終了状態の「ヒブプラン」を保っていてもよい。
【0218】
「ヒブプラン」は、ロボットがコンテナを配置できる「利用可能な表面」も追跡してもよい。製品配置最適化モジュール306によって定義されているような、トータルで注文されたコンテナのセットにおいて、各コンテナは、そのポジションのインデックスを有している。
【0219】
各スタックロケーションは、重み付けられたコスト関数によって定義されているような、トータルで注文されたスタックのセットにおいて、均等なインデックスを有している。
【0220】
これらのインデックスは、それらのそれぞれのセットのサイズによって分割することによって、0~1の範囲に再マッピングされて、それらのインデックスが、コンテナのインデックスのものとどのくらい近く一致するかによって、利用可能な表面におけるスタックロケーションをランク付けする。
【0221】
これらのインデックス間の差異の重み付けられたコスト関数を介して、ならびに、出所からスタックロケーションへの理想的なパスがどのくらい長いか、および、現在のプランにおいてスタックがどのくらい長く予約されているかのような他の要因を介して、最終の選択が行われる。
【0222】
スタックの総重量を制限すること、危険物質または特殊物質(例えば、エアゾールや可燃材料)のポジションを制御すること等のような他のビジネスルールが、このステージにおいて実施できる。
【見本の返品シナリオ】
【0223】
以下は、システムによってサポート/制御されていてもよい見本の返品処理を提供している。このプロセスは、注文が取り消された場合に適用され、トートはヒブを離れず、注文は顧客によって返品されるか、または、顧客に対して配送がされない。他の状況も、企図されていてもよい。(コンテナ、トートのような、他の保持するデバイス等の中にあるかもしれない)戻された製品を、製品の再加工または拒絶を提供するワークステーションにおいて、処理することができる。
【0224】
ワークステーションの近くにある必要があると予期される保管ビンを、制御装置がポジショニングできるように、コンテナ/トートはスキャンされてもよい。SKUと有効期間満了日とに基づいて、供給ビンを選択してもよい。製品アイテムを、ピッカーによって1つずつ除去して、スキャンしてもよい。コンテナがワークステーションに到着したとき、(自動の、または、手動の)ピッカーは、アイテムをコンテナ中に配置するように命令/制御されてもよい。
【0225】
ピッカーは、コンテナが開放される前に、このSKUのさらなるそれぞれが残されていないことを確認するように頼まれてもよい。
【0226】
もはや在庫に対する返品として適切でない製品は、コンテナ中にピッキングされてもよく、これは、いっぱいであるときや、または一日の終わりのようなさまざまなとき、ワークステーションにおいて除去されてもよく、内容物は、スタッフショップのような別のエリアに送られるか、または、適宜廃棄に送られる。
【0227】
特定の、目下好ましい実施形態に関連して、開示を提供して図示しているが、ここで開示している発明の精神および範囲から逸脱することなく、多くのバリエーションおよび修正がなされてもよい。したがって、開示および発明は、上記で明らかにされている方法論または構成の、厳密なコンポーネントまたは詳細に限定されるべきものではない。処理自体において必要な、または、固有である程度を除いて、図面を含んでいるこの開示において説明している方法またはプロセスの、ステップまたはステージに対する特有の注文を、意図しているのでも、または、意味しているのでもない。多くのケースにおいて、説明している方法の目的を、影響を、または、インポートを変更することなく、プロセスステップの順序を変化させてもよい。発明の範囲は、均等物の理論と関連する理論とに対して然るべき考慮を与える、添付された特許請求の範囲によってのみ定義している。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1] 1つ以上の搬送デバイスの移動を制御するシステムにおいて、
前記搬送デバイスは設備中に保管されているコンテナを搬送し、前記設備は、複数のスタック中に前記コンテナを保管し、前記設備は、前記スタックの上部に格子状構造で配置されている複数の経路をさらに有し、前記1つ以上の搬送デバイスは、前記格子状構造上で動作し、
前記システムは、
コンピュータ命令を実行するように構成されている1つ以上のコンピュータを具備し、
前記コンピュータ命令は、実行されるとき、
1つ以上のユーティリティが、前記複数の経路を通して前記1つ以上の搬送デバイスを移動させるためのルートを決定して予約し、複数のコンテナのうちの1つ以上を搬送するときに、前記1つ以上の搬送デバイスを移動させるためのルートを決定して予約することと、
1つ以上のユーティリティが、ルートを決定して予約し、前記複数の搬送デバイスのうちの1つ以上を制御して、前記複数のスタックのうちの1つ以上内から、前記複数のコンテナのうちの1つ以上を取り出すこととを提供し、
前記1つ以上の取り出しユーティリティは、前記搬送デバイスのうちの1つ以上に命令して、1つ以上のコンテナを、1つ以上のスタック内から、前記スタック内の、または、前記スタック外のいずれかの代替ポジションに移動させるように構成され、前記ユーティリティには、取り出しのために前記1つ以上のコンテナにアクセスする前に、1つ以上のコンテナを移動させる際に、前記コンテナまたは各コンテナが除去されたスタック以外のスタックのうちの任意の1つ内のポジションに、前記スタック中に戻される前記1つ以上のコンテナを確実に配置する手段がさらに提供されるシステム。
[2] 前記コンテナまたは前記コンテナのそれぞれは、物体を含み、前記物体は、その後の取り出しのために、前記スタック中の前記コンテナ中に保管される[1]記載のシステム。
[3] 衝突を避けるために、前記1つ以上の搬送デバイスの移動を許可するか、または、停止させるクリアランスシステムを提供する1つ以上のユーティリティをさらに具備する[1]または[2]記載のシステム。
[4] 前記複数の経路を通して、前記1つ以上の搬送デバイスの、移動とアクションとを最適化するように構成されている1つ以上のユーティリティをさらに具備する[1]、[2]または[3]記載のシステム。
[5] 前記設備中の前記1つ以上の搬送デバイスによって、前記複数のコンテナの配置を最適化するように構成されている1つ以上のユーティリティをさらに具備する任意の先行する請求項記載のシステム。
[6] 1つ以上のワークステーション内で行われる移動または動作を制御する1つ以上のユーティリティをさらに具備する任意の先行する請求項記載のシステム。
[7] 前記移動とアクションとを最適化する前記1つ以上のユーティリティは、1つ以上のパス発見アルゴリズムを利用する任意の先行する請求項記載のシステム。
[8] 前記1つ以上のユーティリティは、1つ以上の輻輳緩和技術を使用して、前記移動とアクションとを最適化する任意の先行する請求項記載のシステム。
[9] 前記1つ以上のユーティリティは、1つ以上の機械学習技術を使用して、前記移動とアクションとを最適化する任意の先行する請求項記載のシステム。
[10] 前記1つ以上のユーティリティは、前記設備内の前記複数のコンテナの配置を最適化し、前記設備内の前記複数の物体のうちの1つ以上の消耗に基づいて、前記設備の在庫レベルを更新する任意の先行する請求項記載のシステム。
[11] 前記1つ以上のユーティリティは、前記1つ以上のワークステーションのスループットに少なくとも基づいて、前記搬送デバイスのうちの1つ以上の移動を制御する[5]記載のシステム。
[12] 前記1つ以上のユーティリティは、前記1つ以上の搬送デバイスのうちの少なくとも1つとの欠落した通信を許容するように構成されているクリアランスシステムを提供する任意の先行する請求項記載のシステム。
[13] 前記1つ以上のユーティリティは、ルートを決定して予約し、複数の搬送デバイスに命令して、前記複数のコンテナのうちの1つ以上を搬送する際に協同させる任意の先行する請求項記載のシステム。
[14] 前記1つ以上のユーティリティは、そうでなければ他の搬送デバイスにとって最適なルートから、アイドル中の搬送デバイスを移動させるルートを決定して予約する任意の先行する請求項記載のシステム。
[15] 前記設備は、複数のサブ格子に分割されて、コンピュータ処理の複雑性を低減させる任意の先行する請求項記載のシステム。
[16] 前記複数の搬送デバイスの移動を制御するための1つ以上の制御コマンドは、前記複数の搬送デバイスの移動に先立って、前記複数の搬送デバイスに提供される任意の先行する請求項記載のシステム。
[17] 前記1つ以上のユーティリティは、ヒブ中の空きポジションのうちの最も最適なポジションへの、前記コンテナの戻りを最適化する任意の先行する請求項記載のシステム。
[18] 前記1つ以上のユーティリティは、前記スタック内の代替コンテナからのもので、損害を受けている物体を、または、欠落している物体を、動的に置換する任意の先行する請求項記載のシステム。
[19] 複数のコンテナを搬送する1つ以上の搬送デバイスの移動を制御する方法において、
前記デバイスは、設備中で動作し、前記設備は、複数のスタック中に配置されている前記複数のコンテナを含み、前記設備は、前記スタックの上部に格子状構造で配置されている複数の経路をさらに有し、前記1つ以上の搬送デバイスは、前記格子状構造上で動作し、
前記方法は、
前記複数の経路を通して前記1つ以上の搬送デバイスを移動させるためのルートを決定して予約することと、
前記複数のコンテナのうちの1つ以上を搬送するときに、前記搬送デバイスを移動させるためのルートを決定して予約することと、
ルートを決定して予約し、前記複数の搬送デバイスのうちの1つ以上を制御して、前記複数のスタックのうちの1つ以上内から、前記複数のコンテナのうちの1つ以上を取り出すこととを含み、
前記1つ以上のスタック内から前記1つ以上のコンテナを取り出すことは、取り出しのために前記1つ以上のコンテナにアクセスする前に、前記スタック中の1つ以上の他のコンテナを移動させることをさらに要求し、
前記1つ以上の他のコンテナを移動させることは、前記コンテナまたは各コンテナが除去された元のスタックを除く、前記設備内の最適化されたポジション中に、前記1つ以上の他のコンテナのうちのそれぞれを配置することを含む方法。
[20] 前記コンテナは、前記設備内での保管と、前記設備内からの取り出しとのための物体を含む[19]記載の方法。
[21] 衝突を避けるために、前記1つ以上の搬送デバイスの移動を許可するか、または、停止させるクリアランスシステムを提供するステップをさらに含む[19]または[20]記載の方法。
[22] 前記複数の経路を通して、前記1つ以上の搬送デバイスの、移動とアクションとを最適化するステップをさらに含む[19]、[20]または[21]記載の方法。
[23] 前記設備中の前記1つ以上の搬送デバイスによって、前記複数のコンテナの配置を最適化するステップをさらに含む[19]ないし[20]のいずれか1項記載の方法。
[24] 1つ以上のワークステーション内で行われる移動または動作を制御するステップをさらに含む[19]ないし[23]のいずれか1項記載の方法。
[25] 前記移動とアクションとを最適化することは、1つ以上のパス発見アルゴリズムを使用することを含む[19]ないし[24]のいずれか1項記載の方法。
[26] 前記移動とアクションとを最適化することは、1つ以上の輻輳緩和技術を使用することを含む[19]ないし[25]のいずれか1項記載の方法。
[27] 前記移動とアクションとを最適化することは、1つ以上の機械学習技術を使用することを含む[19]ないし[26]のいずれか1項記載の方法。
[28] 前記設備内の前記複数のコンテナの配置を最適化して、前記設備の在庫レベルを更新することは、前記設備内の前記複数の物体のうちの1つ以上の消耗に基づいている[19]ないし[27]のいずれか1項記載の方法。
[29] 前記搬送デバイスのうちの1つ以上の移動を制御することは、前記1つ以上のワークステーションのスループットに少なくとも基づいている[24]記載の方法。
[30] 前記1つ以上の搬送デバイスのうちの少なくとも1つとの欠落した通信を許容するクリアランスを提供することを含む[19]ないし[29]のいずれか1項記載の方法。
[31] ルートを決定して予約することと、
複数の搬送デバイスに命令して、前記複数のコンテナのうちの1つ以上を搬送する際に協同させることとを含む[19]ないし[30]のいずれか1項記載の方法。
[32] そうでなければ他の搬送デバイスにとって最適なルートから、アイドル中の搬送デバイスを移動させるルートを決定して予約することを含む[19]ないし[31]のいずれか1項記載の方法。
[33] 前記設備は、複数のサブ格子に分割されて、コンピュータ処理の複雑性を低減させる[19]ないし[32]のいずれか1項記載の方法。
[34] 前記複数の搬送デバイスの移動を制御するための1つ以上の制御コマンドは、前記複数の搬送デバイスの移動に先立って、前記複数の搬送デバイスに提供される[19]ないし[33]のいずれか1項記載の方法。
[35] 1つ以上のユーティリティを提供して、コスト関数解析上で、前記スタックの残りのさらなる最適化を決定する任意の先行する請求項記載のシステムまたは方法。