(57)【要約】物体取扱調整システムは、運搬容器（１０２、１０４）の３次元クラスタ（１００）として構成されている複数の運搬容器（１０２、１０４）を備えている。複数の運搬容器（１０２、１０４）は、それぞれアドレス指定可能であり、クラスタ（１００）は自己再構成可能物理トポロジーを有している。システムはまた、命令に応答してクラスタ（１００）内で再配置可能に構成されている複数の運搬容器（１０２、１０４）の再配置可能運搬容器（１０４）と、運動制御システムをサポートするように構成されている処理リソースとを備えている。運動制御システムは、クラスタ内の再配置可能運搬容器（１０４）の開始ロケーションからクラスタ（１００）内の宛先ロケーション（１０６）への経路を決定するように構成されている。運動制御システムはまた、決定した経路を使用して、クラスタ（１００）内の再配置可能運搬容器（１０４）の移動を実行するように構成されている。【選択図】図５
2020536025.tif 000002
【特許請求の範囲】
【請求項１】
物体取扱調整システムであって、
運搬容器の３次元クラスタとして構成されている複数の運搬容器と、前記複数の運搬容器は、それぞれアドレス指定可能であり、前記クラスタは自己再構成可能物理トポロジーを有し、
命令に応答して前記クラスタ内で再配置可能に構成されている前記複数の運搬容器の再配置可能運搬容器と、
運動制御システムをサポートするように構成されている処理リソースとを備え、
前記運動制御システムは、前記クラスタ内の前記再配置可能運搬容器の開始ロケーションから前記クラスタ内の宛先ロケーションへの経路を決定するように構成され、
前記運動制御システムは、前記決定した経路を使用して、前記クラスタ内の再配置可能運搬容器の移動を実行するように構成されている、システム。
【請求項２】
前記運動制御システムは、前記決定した経路にしたがって、前記クラスタ内の前記再配置可能運搬容器の移動に影響を及ぼすために、多数の前記複数の運搬容器をアドレス指定し、それぞれの命令をそこに提供するように構成されている、請求項１に記載のシステム。
【請求項３】
前記多数の複数の運搬容器は、前記再配置可能運搬容器を備える、請求項２に記載のシステム。
【請求項４】
前記再配置可能運搬容器は、前記クラスタ内で横方向に移動するように構成されている、請求項１〜３のうちのいずれか１項に記載のシステム。
【請求項５】
前記運動制御システムは、予め定められたメトリックを満たすように、前記開始ロケーションと前記宛先ロケーションとの間の前記経路を計算するように構成されている、請求項１〜４のうちのいずれか１項に記載のシステム。
【請求項６】
前記メトリックは、コスト関数である、請求項５に記載のシステム。
【請求項７】
前記複数の運搬容器のそれぞれは、独立してアドレス指定可能である、請求項１から６のうちのいずれか１項に記載のシステム。
【請求項８】
前記複数の運搬容器は、それぞれ運動制御命令を受信するように構成されている、請求項１から７のうちのいずれか１項に記載のシステム。
【請求項９】
前記再配置可能運搬容器は、前記クラスタ内から運ばれる、請求項１から８のうちのいずれか１項に記載のシステム。
【請求項１０】
前記経路の決定は、前記再配置可能運搬容器の前記移動をサポートするために、前記クラスタの内部物理サブトポロジーを決定する前記運動制御システムを含む、請求項１〜９のうちのいずれか１項に記載のシステム。
【請求項１１】
前記運動制御システムは、前記クラスタの前記内部物理サブトポロジーを提供するように構成するために、前記複数の運搬容器のセットを識別するように構成されている、請求項１０に記載のシステム。
【請求項１２】
前記運動制御システムは、前記内部物理サブトポロジーを提供するために、前記複数の運搬容器のセットの移動のシーケンスを決定するように構成されている、請求項１１に記載のシステム。
【請求項１３】
前記運動制御システムは、前記移動のシーケンスを実行するために、前記複数の運搬容器のセットに命令するように構成されている、請求項１２に記載のシステム。
【請求項１４】
前記再配置可能運搬容器は、前記クラスタ内の前記多数の複数の運搬容器に対して移動するように構成されている、請求項２に記載のシステム。
【請求項１５】
前記多数の複数の運搬容器は、前記クラスタ内の前記再配置可能運搬容器の制御された移動を促進するために、前記再配置可能運搬容器と協同するように構成されている、請求項１４に記載のシステム。
【請求項１６】
前記複数の運搬容器は、複数の運搬デバイスである、請求項１〜１５のうちのいずれか１項に記載のシステム。
【請求項１７】
前記複数の運搬容器は、複数のコンテナである、請求項１〜１６のうちのいずれか１項に記載のシステム。
【請求項１８】
前記再配置可能運搬容器は、前記再配置可能運搬容器のアドレス指定能力をサポートするための通信デバイスを備える、請求項１から１７のうちのいずれか１項に記載のシステム。
【請求項１９】
前記複数の運搬容器は、前記複数の運搬容器のそれぞれのアドレス指定能力をサポートするためのそれぞれ複数の通信デバイスを備える、請求項１〜１７のうちのいずれか１項に記載のシステム。
【請求項２０】
別の命令に応答して、前記クラスタ内に再配置可能に構成されている前記複数の運搬容器の別の再配置可能運搬容器をさらに備え、
前記運動制御システムは、前記クラスタ内の前記別の再配置可能運搬容器の別の開始ロケーションから前記クラスタ内の別の宛先ロケーションへの別の経路を決定するように構成され、
前記運動制御システムは、前記決定した別の経路を使用して、前記クラスタ内の前記別の再配置可能運搬容器の移動を実行するように構成されている、請求項１〜１９のうちのいずれか１項に記載のシステム。
【請求項２１】
前記クラスタに隣接して配置され、前記クラスタと動作可能に通信するピッキングステーションをさらに備える、請求項１〜２０のうちのいずれか１項に記載のシステム。
【請求項２２】
前記クラスタに隣接して配置され、前記クラスタと動作可能に通信するデカントステーションをさらに備える、請求項１〜２１のうちのいずれか１項に記載のシステム。
【請求項２３】
荷物を前記再配置可能運搬容器に挿入する、及び／又は、前記荷物を前記再配置可能運搬容器から取り除くために、前記クラスタに隣接して配置され、前記クラスタと動作可能に通信する荷積み及び／又は荷下ろしステーションをさらに備える、請求項１〜２２のうちのいずれか１項に記載のシステム。
【請求項２４】
前記複数の運搬容器は、異なるサイズの運搬容器を備える、請求項１〜２３のうちのいずれか１項に記載のシステム。
【請求項２５】
前記運動制御システムは、前記クラスタを運搬容器の領域に理論上細分化するように構成されている、請求項１〜２４のうちのいずれか１項に記載のシステム。
【請求項２６】
前記運動制御システムは、前記開始ロケーションと前記宛先ロケーションが同じ領域に共存するか否かを決定するように構成されている、請求項２５に記載のシステム。
【請求項２７】
前記運動制御システムは、前記開始ロケーションを備える前記領域に関する多数の隣接領域を選択し、前記再配置可能運搬容器の各隣接領域への移動に関係付けられているそれぞれのコストを計算するように構成されている、請求項２５に記載のシステム。
【請求項２８】
各隣接領域は、前記開始ロケーションを備える前記領域を有する複数の境界ロケーションを備え、
前記運動制御システムは、それぞれの前記複数の境界ロケーションの各々を介して前記各隣接領域に入る前記再配置可能運搬容器にそれぞれ関係付けられているコストを決定するように構成されている、請求項２７に記載のシステム。
【請求項２９】
前記運動制御システムは、コスト評価に応答して前記複数の境界ロケーションのうちの１つを中間地点として選択し、前記開始ロケーションから前記中間地点への初期経路を決定するように構成されている、請求項２８に記載のシステム。
【請求項３０】
前記運動制御システムは、隣接クラスタが前記再配置可能運搬容器を収容する準備ができているという決定に応答して、決定した中間地点への初期経路を使用して、前記クラスタ内の前記再配置可能運搬容器の移動を実行するように構成されている、請求項２８に記載のシステム。
【請求項３１】
前記運動制御システムは、前記クラスタの少なくとも一部分について、及び、予め定められた深さを有する木の状態に対応する、複数の状態のシーケンスを決定するように構成されている、請求項１〜３０のうちのいずれか１項に記載のシステム。
【請求項３２】
前記運動制御システムは、前記複数の状態のシーケンスを分析し、前記複数の状態のシーケンスの各状態のシーケンスについてコストを計算するように構成されている、請求項３１に記載のシステム。
【請求項３３】
前記運動制御システムは、前記状態のシーケンスのそれぞれについて前記コストをそれぞれ分析し、コスト関数によって規定された許容できる便利な状態のシーケンスを選択するように構成されている、請求項３２に記載のシステム。
【請求項３４】
前記運動制御システムは、前記コストを計算するために、発見的アルゴリズムを適用するように構成されている、請求項３２又は３３に記載のシステム。
【請求項３５】
前記運動制御システムは、許容できる便利な状態のシーケンスを決定するように強化学習技術を用いるように構成されている、請求項３２又は３３に記載のシステム。
【請求項３６】
前記運動制御システムは、コストを計算するために教師あり学習技術を用いるように構成されている、請求項３２又は３３に記載のシステム。
【請求項３７】
請求項１〜３６のうちのいずれか１項に記載の物体取扱調整システムを備える、倉庫。
【請求項３８】
請求項１〜３６のうちのいずれか１項に記載の物体取扱調整システムを備える、車両。
【請求項３９】
請求項１〜３６のうちのいずれか１項に記載の物体取扱調整システムを備える、無重力又は低重力環境。
【請求項４０】
運搬容器の３次元クラスタとして構成されている複数の運搬容器内に運搬容器を再配置する方法であって、
前記複数の運搬容器は、それぞれアドレス指定可能であり、前記クラスタは自己再構成可能物理トポロジーを有し、
前記方法は、
前記クラスタ内の再配置可能運搬容器の開始ロケーションから前記クラスタ内の宛先ロケーションへの経路を決定する運動制御システムと、
前記決定した経路を使用して、前記クラスタ内の再配置可能運搬容器の移動を実行する前記運動制御システムとを含む、方法。
【請求項４１】
地下運搬システムであって、
開始ロケーションに位置付けられている物体取扱調整システムと、宛先ロケーションに位置付けられている収容システムとを備え、
前記物体取扱調整システムは、
運搬容器の３次元クラスタとして構成されている複数の運搬容器と、前記複数の運搬容器は、それぞれアドレス指定可能であり、前記クラスタは自己再構成可能物理トポロジーを有し、
命令に応答して前記クラスタ内で再配置可能に構成されている前記複数の運搬容器の再配置可能運搬容器と、
運動制御システムをサポートするように構成されている処理リソースと、
前記再配置可能運搬容器を運搬するための導管ネットワークとを含み、前記導管ネットワークは、前記物体取扱調整システムへのアクセスを提供するために、開始ロケーションに第１のポートを、前記収容システムへのアクセスを提供するために、前記宛先ロケーションに第２のポートを有し、
前記運動制御システムは、前記第１のポートを介して前記再配置可能運搬容器の前記導管ネットワークへの輸送を実行するように構成されている、システム。
【請求項４２】
前記導管ネットワークは、前記再配置可能運搬容器を前記宛先ロケーションに輸送するように構成されている移動システムを備える、請求項４１に記載のシステム。
【請求項４３】
前記再配置可能運搬容器は、前記クラスタ内の内部開始ロケーションに配置され、
前記運動制御システムは、前記内部開始ロケーションから前記第１のポートに隣接する内部宛先ロケーションへの経路を決定するように構成され、
前記運動制御システムは、前記予め定められた経路を使用して、前記クラスタ内の前記再配置可能運搬容器の移動を実行するように構成されている、請求項４１又は４２に記載のシステム。
【請求項４４】
前記クラスタは地上にある、請求項４１又は４２又は４３に記載のシステム。
【請求項４５】
前記収容システムは地上にある、請求項４１から４４のうちのいずれか１項に記載のシステム。
【請求項４６】
前記クラスタは、前記第１のポートを介して前記導管ネットワークから前記再配置可能運搬容器を収容するように構成されている、請求項４１から４５のうちのいずれか１項に記載のシステム。
【請求項４７】
前記収容システムは、前記再配置可能運搬容器を前記導管ネットワークに導入するように構成されている、請求項４１から４６のうちのいずれか１項に記載のシステム。
【請求項４８】
物体取扱調整システムを構成する方法であって、
複数の論理運搬容器の中の多数の空のロケーションによって決定される前記複数の論理運搬容器の密度の３次元クラスタを模倣するように構成されている複数の論理的再配置可能要素と、前記クラスタは再構成可能トポロジーを有し、
ルーティングエージェントを備える運動制御システムとを備え、
前記方法は、
前記クラスタ内の開始ロケーションから前記クラスタ内の宛先ロケーションへ論理的再配置可能要素を再配置するために、複数の論理的再配置可能要素のうちの論理的再配置可能要素の再配置経路を決定する前記ルーティングエージェントと、
強化学習技術にしたがって前記ルーティングエージェントをトレーニングすることとを備える、方法。
【請求項４９】
前記ルーティングエージェントをトレーニングすることは、
前記クラスタの必要とされる多数の論理運搬容器を選択することと、
前記クラスタの必要とされる密度を選択することとを備える、請求項４８に記載の方法。
【請求項５０】
入力クラスタ構造と入力密度を備えるトレーニングシミュレーションを実行することをさらに備える、請求項４９に記載の方法。
【請求項５１】
前記トレーニングシミュレーションの前記クラスタの密度は、最大密度に設定され、
前記最大密度は、空のロケーションの数がゼロであるかもしれない場合であってもよい、請求項５０に記載の方法。
【請求項５２】
前記クラスタの前記入力密度を達成するために前記クラスタから取り除かれることになる多数の論理運搬容器をランダムに選択することをさらに備える、請求項５１に記載の方法。
【請求項５３】
トレーニングすることは、
前記入力クラスタ構造の多数の論理運搬容器をランダムに選択することと、多数のランダムな宛先を選択した前記多数の論理運搬容器にそれぞれ割り当てることとをさらに備える、請求項５１又は５２に記載の方法。
【請求項５４】
前記エージェントは、前記ランダムに選択した多数の論理運搬容器をそれぞれ割り当てられた多数のランダムな宛先に再配置することを試行するために、前記複数の論理的再配置可能要素のうちの多数の論理的再配置可能要素の再配置のシーケンスを生成する、請求項５３に記載の方法。
【請求項５５】
前記生成した再配置のシーケンスを使用して、強化学習によって前記エージェントをトレーニングすることを備える、請求項５４に記載の方法。
【請求項５６】
前記再配置のシーケンスを備える前記複数の再配置のシーケンスを生成する前記エージェントをさらに備える、請求項５４に記載の方法。
【請求項５７】
前記生成した複数の再配置のシーケンスを使用して、強化学習によって、エージェントをトレーニングすることを備える、請求項５６に記載の方法。
【請求項５８】
たたみ込みニューラルネットワークを提供することと、前記強化学習技術を前記たたみ込みニューラルネットワークに適用することとをさらに備える、請求項４８から５７のうちのいずれか１項に記載の方法。
【請求項５９】
前記再配置のシーケンスを生成することは、
前記多数の論理的再配置可能要素のうちの論理的再配置可能要素を選択することと、前記選択した論理的再配置可能要素に対するアクションを決定することとをさらに備える、請求項５４に記載の方法。
【請求項６０】
前記再配置のシーケンスを生成することは、
前記多数の論理的再配置可能要素に対して複数のアクションを決定することをさらに備える、請求項５４に記載の方法。
【請求項６１】
前記多数の論理的再配置可能要素は、再配置可能である前記クラスタの多数の空のロケーションである、請求項５４から６０のうちのいずれか１項に記載の方法。
【請求項６２】
前記ルーティングエージェントをトレーニングすることは、
所望の数の論理運搬容器より少ない前記複数の論理運搬容器のうちの論理運搬容器の予め定められた初期数を備える前記クラスタの初期構造と、前記クラスタの初期密度とを選択することをさらに備え、
前記入力クラスタ構造は、論理運搬容器の予め定められた初期数を備え、前記入力密度は、前記クラスタの初期密度である、請求項５０に記載の方法。
【請求項６３】
前記入力クラスタ構造と前記入力密度を修正することと、前記修正した入力クラスタと入力密度に対して前記トレーニングシミュレーションを実行することとをさらに備える、請求項６２に記載の方法。
【請求項６４】
前記入力クラスタ構造が前記所望の数の論理運搬容器と所望の密度の前記クラスタを備えるまで、前記入力クラスタ構造と前記入力密度を反復して修正することをさらに備える、請求項６３に記載の方法。
【請求項６５】
物体取扱調整システムであって、
運搬容器の３次元クラスタとして構成されている複数の運搬容器と、前記複数の運搬容器は、それぞれアドレス指定可能であり、前記クラスタは自己再構成可能物理トポロジーを有し、
命令に応答して前記クラスタ内で再配置可能に構成されている前記複数の運搬容器の再配置可能運搬容器と、
請求項４８から６４のうちのいずれか１項に記載の運動制御システムをサポートするように構成されている処理リソースとを備え、
前記運動制御システムのエージェントは、前記クラスタ内の前記再配置可能運搬容器の開始ロケーションから前記クラスタ内の宛先ロケーションへの経路を決定するように構成され、
前記運動制御システムは、前記決定した経路を使用して、前記クラスタ内の再配置可能運搬容器の移動を実行するように構成されている、システム。
【請求項６６】
物体取扱調整システムであって、
運搬容器の３次元クラスタとして構成されている複数の運搬容器と、前記複数の運搬容器は、それぞれアドレス指定可能であり、前記クラスタは自己再構成可能物理トポロジーを有し、
命令に応答して前記クラスタ内で再配置可能に構成されている前記複数の運搬容器の再配置可能運搬容器と、
運動制御システムをサポートするように構成されている処理リソースとを備え、
前記運動制御システムは、使用するとき、前記クラスタ中の運搬容器の循環フローを提供するように構成され、前記循環フローはフロー経路を備え、
前記運動制御システムは、前記クラスタ内の前記再配置可能運搬容器の開始ロケーションから前記クラスタ内の宛先ロケーションへの経路を決定するように構成され、前記決定した経路は、前記運搬容器の循環フローの前記フロー経路の少なくとも一部分を備え、
前記運動制御システムは、前記決定した経路を使用して、前記クラスタ内の再配置可能運搬容器の移動を実行するように構成されている、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本出願は、２０１７年１０月４日に出願された英国特許出願番号第１７１６２０１．７号からの優先権を主張し、本出願のすべての内容は、参照によってここに組み込まれている。
【０００２】
[0002]  本発明は、例えば、運搬容器のクラスタを通して再配置可能運搬容器の横断を調整するタイプの物体取扱調整システムに関する。本発明は、運搬容器を再配置する方法にも関し、方法は、例えば、運搬容器のクラスタを通して再配置可能運搬容器の横断を調整するタイプのものである。
【背景技術】
【０００３】
[0003]  いくつかの商用及び工業用のアクティビティは、広大な数の異なる製品の保管及び取り出しを可能にするシステムを必要としている。複数の製品ラインにおけるアイテムの保管及び取り出しのための、１つの既知のタイプのシステムは、列で配置されているスタックにおいて、保管容器又はコンテナを重ねて配置することを伴っている。保管容器は、スタックから取り除かれ、荷積み取扱デバイスにより上方からアクセスされ、それにより列間における通路の必要性が排除され、より多くのコンテナを所定の空間内に保管することを可能にする。列で積み重ねられたコンテナを取り扱う方法は、長年にわたり周知のものである。いくつかのこのようなシステムにおいて、例えば、米国特許第２、７０１、０６５号（Ｂｅｒｔｅｌ）において説明されているように、必要とされる場合に特定のコンテナへのアクセスを依然として提供しながらも、このようなコンテナを保管することに関係付けられている保管量を低減させるために、コンテナの自立型のスタックは列で配置されている。所定のコンテナへのアクセスは、所定のコンテナを積み重ねてスタックから取り外すのに使用できる比較的複雑な巻き上げるメカニズムを提供することによって可能になる。しかしながら、多くの状況において、このようなシステムのコストは非実用的であり、これらは、主に大きな出荷コンテナの保管及び取扱用に商用化されている。自立型のコンテナのスタックを使用して、特定のコンテナを取り出して保管するためのメカニズムを提供することの概念はさらに、例えば、欧州特許番号第０７６７１１３号（Ｃｉｍｃｏｒｐ）において説明されているように発展してきた。この文書は、コンテナのスタックのあたりに下げられ、スタックにおける任意のレベルでコンテナをつかむことができるように構成されている矩形チューブの形態におけるロボットの荷積みハンドラを使用して、複数の積み重ねられたコンテナを取り外すためのメカニズムを開示している。この方法で、いくつかのコンテナをスタックから一度に持ち上げることができる。移動可能なチューブを使用して、１つのスタックの一番上から別のスタックの一番上まで、いくつかのスタックを移動させるか、又は、スタックから外部ロケーションへ、及び、逆もまた同じように、コンテナを移動させることができる。単一のスタック中のコンテナのすべてが同一の製品を含んでいる場合、このようなシステムは、特に有用であることがある。このようなスタックは、単一の製品スタックとして知られている。欧州特許番号第０７６７１１３号において説明されているシステムにおいて、最も高いコンテナのスタックを単一の動作で抜き取ることができるように、チューブの高さは、最大のコンテナのスタックの高さと少なくとも同じくらい高くなければならない。したがって、倉庫のような閉じられた空間において使用するとき、スタックの最大の高さは、スタックの上の荷積みハンドラのチューブに対応する必要性によって制限される。
【０００４】
[0004]  欧州特許番号第１０３７８２８号（Ａｕｔｏｓｔｏｒｅ）は、コンテナのスタックが、フレーム構造内に構成されているシステムを説明している。ロボット荷積み取扱デバイスは、スタックの最上面上の軌道のシステムで、スタックのあちこちを制御可能に移動することができる。ロボット荷積み取扱デバイスの他の形態が、例えばノルウェー特許番号第３１７３６６号においてさらに説明されている。
【０００５】
[0005]  英国特許公開番号第２５２０１０４号（Ｏｃａｄｏ  Ｉｎｎｏｖａｔｉｏｎ  Ｌｉｍｉｔｅｄ）は、荷積み取扱デバイスを開示しており、各ロボット荷積みハンドラが１つの格子空間のみをカバーし、したがって、荷積みハンドラのより高い密度が、したがって所定サイズのシステムのより高いスループットが可能となる。しかしながら、任意の適切な形態の荷積み取扱デバイスが使用される。
【０００６】
[0006]  しかしながら、上述した既知のロボットピッキングシステムのそれぞれは、以下の欠点のうちの１つ以上を保持している。すべての例において、保管容器のスタックの上のフレーム構造の最上部を横切るロボット荷積みハンドラをサポートするための、フレーム構造の最上部上の格子を含む、周辺フレーム構造が必要とされる。ロボット荷積みハンドラは、選択された保管容器を取り出すために、保管容器のスタックを「探し出す」こともしなければならず、これは、保管容器を取り出すときの時間とエネルギーの諸経費を表す。したがって、上述したシステムは、ロボット荷積みハンドラを必要とするということにもなり、これは、システムのさらなるコストを表す。
【０００７】
[0007]  さらに、このようなシステムを調整するとき、開始ロケーションから宛先ロケーションへのロボット荷積みハンドラによる実際の前進は、典型的に、ロボット荷積みハンドラが、多数の不必要な、非生産的な、及び、コストのかかるステップを行う必要がある。また、保管容器が保管容器のスタック中で動かないとき、動かない保管容器の下の保管容器を回収することは困難である。同様に、ロボット荷積みハンドラが故障するとき、ロボット荷積みハンドラが正常な状態に戻り、したがって、問題になっている保管容器のスタックの上のそのロケーションから取り除かれるまで、ロボット荷積みハンドラの下の保管容器へのアクセスは失われる。
【０００８】
[0008]  「Ｃｏｏｐｅｒａｔｉｖｅ  ｐａｔｈｆｉｎｄｉｎｇ」（Ｓｉｌｖｅｒ，Ｄ．、２００５、「Ｃｏｏｐｅｒａｔｉｖｅ  ｐａｔｈｆｉｎｄｉｎｇ」、Ｙｏｕｎｇ，Ｒ．Ｍ．、及びＬａｉｒｄ，Ｊ．Ｅ．、編、ＡＩＩＤＥ、１１７−１２２．ＡＡＡＩ出版）は、いわゆるマルチエージェント経路計画問題を解決するアルゴリズムを開示しており、エージェントは、宛先を別々にするために非衝突ルートを発見する必要があり、他のエージェントのルートについての完全な情報が与えられる。アルゴリズムは、リアルタイムストラテジーゲームや、他のリアルタイム環境での使用に適している。提案されているアルゴリズムは、格子が空間を表すと仮定し、コスト関数を計算するための基礎として、いわゆるマンハッタン距離を使用する。しかしながら、この技術は拡張可能ではなく、速度、加速、及び／又は、運動学を考慮していないが、エージェントが協調することを可能にする。
【０００９】
[0009]  「Ｏｐｔｉｍａｌ  ｒｏｕｔｅ  ｒｅ−ｐａｎｎｉｎｇ  ｆｏｒ  ｍｏｂｉｌ  ｒｏｂｏｔｓ：ａ  ｍａｓｓｉｖｅｌｙ  ｐａｒａｌｌｅｌ  ｉｎｃｒｅｍｅｎｔａｌ  Ａ＊  ａｌｇｏｒｉｔｈｍ」（Ｔａｏ他、ロボティクス及び自動化に関する国際会議のＩＥＥＥ会報、１９９７、ｐｐ．２７２７−２７３２）は、超並列増分Ａ＊アルゴリズム（a massively parallel incremental A* algorithm）を説明しており、均一な正方形の格子に基づいて地形がモデル化され、各格子で区切られた正方形がメッシュ中のノードにマッピングされる。１つの正方形から各隣接する正方形に渡ることは、指向性アークとしてモデル化される。各アークは、それに関係付けられているコストを有している。ノードのメッシュに対するアルゴリズムは、メッシュ中の各ノードに対する目標の最適なコストを最初に計算することによって、目標ノードへのすべての最適な経路又はルートを計算する。目標のすべての経路は、その後、最適な経路中にあるこのノードからとられるときに、メッシュ中の各ノードを縁のセットにマッピングする網羅的なポリシーとして表される。しかしながら、超並列Ａ＊アルゴリズム（the massively parallel A* algorithm）は、単一の移動ロボットのみを考慮しており、移動ロボット間の協力を企図していない。さらに、これは、速度、加速度、又は、方向変更ペナルティを考慮していない。また、この文書中で開示されている超並列Ａ＊アルゴリズムは、モデリング運動学において有効ではない。
【発明の概要】
【００１０】
[0010]  本発明の第１の態様にしたがうと、物体取扱調整システムが提供され、運搬容器の３次元クラスタとして構成されている複数の運搬容器と、複数の運搬容器は、それぞれアドレス指定可能であり、クラスタは自己再構成可能物理トポロジーを有し、命令に応答してクラスタ内で再配置可能に構成されている複数の運搬容器の再配置可能運搬容器と、運動制御システムをサポートするように構成されている処理リソースとを備え、運動制御システムは、クラスタ内の再配置可能運搬容器の開始ロケーションからクラスタ内の宛先ロケーションへの経路を決定するように構成され、運動制御システムは、決定した経路を使用して、クラスタ内の再配置可能運搬容器の移動を実行するように構成されている。
【００１１】
[0011]  運動制御システムは、決定した経路にしたがって、クラスタ内の再配置可能運搬容器の移動に影響を及ぼすために、多数の複数の運搬容器をアドレス指定し、それぞれの命令をそこに提供するように構成されてもよい。
【００１２】
[0012]  多数の複数の運搬容器は、再配置可能運搬容器を備えていてもよい。
【００１３】
[0013]  再配置可能運搬容器は、クラスタ内で横方向に移動するように構成されてもよい。
【００１４】
[0014]  運動制御システムは、予め定められたメトリックを満たすように、開始ロケーションと宛先ロケーションとの間の経路を計算するように構成されてもよい。
【００１５】
[0015]  メトリックは、コスト関数であってもよい。
【００１６】
[0016]  複数の運搬容器のそれぞれは、独立してアドレス指定可能であってもよい。複数の運搬容器は、それぞれ運動制御命令を受信するように構成されてもよい。
【００１７】
[0017]  再配置可能運搬容器は、クラスタ内から運ばれてもよい。
【００１８】
[0018]  経路の決定は、再配置可能運搬容器の移動をサポートするために、クラスタの内部物理サブトポロジーを決定する運動制御システムを含んでいてもよい。
【００１９】
[0019]  運動制御システムは、クラスタの内部物理サブトポロジーを提供するように構成するために、複数の運搬容器のセットを識別するように構成されてもよい。
【００２０】
[0020]  運動制御システムは、内部物理サブトポロジーを提供するために、複数の運搬容器のセットの移動のシーケンスを決定するように構成されてもよい。
【００２１】
[0021]  運動制御システムは、移動のシーケンスを実行するために、複数の運搬容器のセットに命令するように構成されてもよい。
【００２２】
[0022]  再配置可能運搬容器は、クラスタ内の多数の複数の運搬容器に対して移動するように構成されてもよい。
【００２３】
[0023]  多数の複数の運搬容器は、クラスタ内の再配置可能運搬容器の制御された移動を促進するために、再配置可能運搬容器と協同するように構成されてもよい。
【００２４】
[0024]  複数の運搬容器は、複数の運搬デバイスであってもよい。
【００２５】
[0025]  複数の運搬容器は、複数のコンテナであってもよい。
【００２６】
[0026]  再配置可能運搬容器は、再配置可能運搬容器のアドレス指定能力をサポートするための通信デバイスを備えていてもよい。
【００２７】
[0027]  複数の運搬容器は、複数の運搬容器のそれぞれのアドレス指定能力をサポートするためのそれぞれ複数の通信デバイスを備えていてもよい。
【００２８】
[0028]  システムは、別の命令に応答して、クラスタ内に再配置可能に構成されている複数の運搬容器の別の再配置可能運搬容器をさらに備えていてもよく、運動制御システムは、クラスタ内の別の再配置可能運搬容器の別の開始ロケーションからクラスタ内の別の宛先ロケーションへの別の経路を決定するように構成されてもよく、運動制御システムは、決定した別の経路を使用して、クラスタ内の別の再配置可能運搬容器の移動を実行するように構成されてもよい。
【００２９】
[0029]  システムは、クラスタに隣接して配置され、クラスタと動作可能に通信するピッキングステーションをさらに備えていてもよい。
【００３０】
[0030]  システムは、クラスタに隣接して配置され、クラスタと動作可能に通信するデカントステーション（a decant station）をさらに備えていてもよい。
【００３１】
[0031]  システムは、荷物を再配置可能運搬容器に挿入する、及び／又は、荷物を再配置可能運搬容器から取り除くために、クラスタに隣接して配置され、クラスタと動作可能に通信する荷積み及び／又は荷下ろしステーションをさらに備えていてもよい。
【００３２】
[0032]  複数の運搬容器は、異なるサイズの運搬容器を備えていてもよい。
【００３３】
[0033]  運動制御システムは、クラスタを運搬容器の領域に理論上細分化するように構成されてもよい。
【００３４】
[0034]  運動制御システムは、開始ロケーションと宛先ロケーションが同じ領域に共存するか否かを決定するように構成されてもよい。
【００３５】
[0035]  運動制御システムは、開始ロケーションを備える領域に関して多数の隣接領域を選択し、再配置可能運搬容器の各隣接領域への移動に関係付けられているそれぞれのコストを計算するように構成されてもよい。
【００３６】
[0036]  各隣接領域は、開始ロケーションを備える領域を有する複数の境界ロケーションを備えていてもよく、運動制御システムは、それぞれの複数の境界ロケーションの各々を介して各隣接領域に入る再配置可能運搬容器にそれぞれ関係付けられているコストを決定するように構成されてもよい。
【００３７】
[0037]  運動制御システムは、コスト評価（assessment）に応答して複数の境界ロケーションのうちの１つを中間地点として選択し、開始ロケーションから中間地点への初期経路を決定するように構成されてもよい。
【００３８】
[0038]  運動制御システムは、隣接クラスタが再配置可能運搬容器を収容する準備ができているという決定に応答して、決定した中間地点への初期経路を使用して、クラスタ内の再配置可能運搬容器の移動を実行するように構成されてもよい。
【００３９】
[0039]  運動制御システムは、クラスタの少なくとも一部分について、及び、予め定められた深さを有する木の状態に対応する、複数の状態のシーケンスを決定するように構成されてもよい。
【００４０】
[0040]  運動制御システムは、複数の状態のシーケンスを分析し、複数の状態のシーケンスの各状態のシーケンスについてコストを計算するように構成されてもよい。
【００４１】
[0041]  運動制御システムは、状態のシーケンスのそれぞれについてコストをそれぞれ分析し、コスト関数によって規定された許容できる便利な状態のシーケンスを選択するように構成されてもよい。
【００４２】
[0042]  運動制御システムは、コストを計算するために、発見的アルゴリズムを適用するように構成されてもよい。
【００４３】
[0043]  運動制御システムは、許容できる便利な状態のシーケンスを決定するように強化学習技術を用いるように構成されてもよい。
【００４４】
[0044]  運動制御システムは、コストを計算するために教師あり学習技術を用いるように構成されてもよい。
【００４５】
[0045]  本発明の第２の態様にしたがうと、本発明の第１の態様に関連して上記で述べたような物体取扱調整システムを備える倉庫が提供される。
【００４６】
[0046]  本発明の第３の態様にしたがうと、本発明の第１の態様に関連して上記で述べたような物体取扱調整システムを備える車両が提供される。
【００４７】
[0047]  本発明の第４の態様にしたがうと、本発明の第１の態様に関連して上記で述べたような物体取扱調整システムを備える無重力又は低重力環境が提供される。
【００４８】
[0048]  本発明の第５の態様にしたがうと、運搬容器の３次元クラスタとして構成されている複数の運搬容器内に運搬容器を再配置する方法が提供され、複数の運搬容器は、それぞれアドレス指定可能であり、クラスタは自己再構成可能物理トポロジーを有し、方法は、クラスタ内の再配置可能運搬容器の開始ロケーションからクラスタ内の宛先ロケーションへの経路を決定する運動制御システムと、決定した経路を使用して、クラスタ内の再配置可能運搬容器の移動を実行する運動制御システムとを含む。
【００４９】
[0049]  本発明の第６の態様にしたがうと、本発明の第５の態様に関連して上記で述べた方法をコンピュータに実行させるコンピュータプログラムコード手段を備えるコンピュータプログラム要素が提供される。
【００５０】
[0050]  本発明の第７の態様にしたがうと、地下運搬システムが提供され、開始ロケーションに位置付けられている物体取扱調整システムと、宛先ロケーションに位置付けられている収容システムとを備え、物体取扱調整システムは、運搬容器の３次元クラスタとして構成されている複数の運搬容器と、複数の運搬容器は、それぞれアドレス指定可能であり、クラスタは自己再構成可能物理トポロジーを有し、命令に応答してクラスタ内で再配置可能に構成されている複数の運搬容器の再配置可能運搬容器と、運動制御システムをサポートするように構成されている処理リソースと、再配置可能運搬容器を運搬するための導管ネットワークとを含み、導管ネットワークは、物体取扱調整システムへのアクセスを提供するために、開始ロケーションに第１のポートを、収容システムへのアクセスを提供するために、宛先ロケーションに第２のポートを有し、運動制御システムは、第１のポートを介して再配置可能運搬容器を導管ネットワークに輸送するように構成されている、システム。
【００５１】
[0051]  導管ネットワークは、再配置可能運搬容器を宛先ロケーションに輸送するように構成されている移動システムを備えていてもよい。
【００５２】
[0052]  再配置可能運搬容器は、クラスタ内の内部開始ロケーションに配置されてもよく、運動制御システムは、内部開始ロケーションから第１のポートに隣接する内部宛先ロケーションへの経路を決定するように構成されてもよく、運動制御システムは、予め定められた経路を使用して、クラスタ内の再配置可能運搬容器の移動を実行するように構成されてもよい。
【００５３】
[0053]  クラスタは地上にあってもよい。収容システムは、地上にあってもよい。
【００５４】
[0054]  クラスタは、第１のポートを介して導管ネットワークから再配置可能運搬容器を収容するように構成されてもよい。
【００５５】
[0055]  収容システムは、再配置可能運搬容器を導管ネットワークに導入するように構成されてもよい。
【００５６】
[0056]  本発明の第８の実施形態にしたがうと、物体取扱調整システムを構成する方法が提供され、複数の論理運搬容器の中の多数の空のロケーションによって決定される複数の論理運搬容器の密度の３次元クラスタを模倣するように構成されている複数の論理的再配置可能要素と、クラスタは再構成可能トポロジーを有し、ルーティングエージェントを備える運動制御システムとを備え、方法は、クラスタ内の開始ロケーションからクラスタ内の宛先ロケーションへ論理的再配置可能要素を再配置するために、複数の論理的再配置可能要素のうちの論理的再配置可能要素の再配置経路を決定するルーティングエージェントと、強化学習技術にしたがってルーティングエージェントをトレーニングすることとを備える。
【００５７】
[0057]  ルーティングエージェントをトレーニングすることは、クラスタの必要とされる多数の論理運搬容器を選択することと、クラスタの必要とされる密度を選択することとを備えていてもよい。
【００５８】
[0058]  方法は、入力クラスタ構造と入力密度を備えるトレーニングシミュレーションを実行することをさらに備えていてもよい。
【００５９】
[0059]  トレーニングシミュレーションのクラスタの密度は、最大密度に設定されてもよい。最大密度は、空のロケーションの数がゼロであるかもしれない場合であってもよい。
【００６０】
[0060]  方法は、クラスタの入力密度を達成するためにクラスタから取り除かれることになる多数の論理運搬容器をランダムに選択することをさらに備えていてもよい。
【００６１】
[0061]  トレーニングすることは、入力クラスタ構造の多数の論理運搬容器をランダムに選択することと、多数のランダムな宛先を選択した多数の論理運搬容器にそれぞれ割り当てることとをさらに備えていてもよい。
【００６２】
[0062]  エージェントは、ランダムに選択した多数の論理運搬容器をそれぞれ割り当てられた多数のランダムな宛先に再配置することを試行するために、複数の論理的再配置可能要素のうちの多数の論理的再配置可能要素の再配置のシーケンスを生成してもよい。
【００６３】
[0063]  方法は、生成した再配置のシーケンスを使用して、強化学習によって記エージェントをトレーニングすることを備えていてもよい。
【００６４】
[0064]  方法は、再配置のシーケンスを備える複数の再配置のシーケンスを生成するエージェントをさらに備えていてもよい。
【００６５】
[0065]  生成した複数の再配置のシーケンスを使用して、強化学習によって、エージェントをトレーニングすることを備えていてもよい。
【００６６】
[0066]  たたみ込みニューラルネットワークを提供することと、強化学習技術をたたみ込みニューラルネットワークに適用することとをさらに備えていてもよい。
【００６７】
[0067]  再配置のシーケンスを生成することは、多数の論理的再配置可能要素のうちの論理的再配置可能要素を選択することと、選択した論理的再配置可能要素に対するアクションを決定することとをさらに備えていてもよい。
【００６８】
[0068]  再配置のシーケンスを生成することは、多数の論理的再配置可能要素に対して複数のアクションを決定することをさらに備えていてもよい。
【００６９】
[0069]  多数の論理的再配置可能要素は、再配置可能であるクラスタの多数の空のロケーションであってもよい。
【００７０】
[0070]  ルーティングエージェントをトレーニングすることは、所望の数の論理運搬容器より少ない複数の論理運搬容器のうちの論理運搬容器の予め定められた初期数を備えるクラスタの初期構造と、クラスタの初期密度とを選択することをさらに備えていてもよく、入力クラスタ構造は、論理運搬容器の予め定められた初期数を備えていてもよく、入力密度は、クラスタの初期密度であってもよい。
【００７１】
[0071]  方法は、入力クラスタ構造と入力密度を修正することと、修正した入力クラスタと入力密度に対してトレーニングシミュレーションを実行することとをさらに備えていてもよい。
【００７２】
[0072]  方法は、入力クラスタ構造が所望の数の論理運搬容器と所望の密度のクラスタを備えるまで、入力クラスタ構造と入力密度を反復して修正することをさらに備えていてもよい。
【００７３】
[0073]  本発明の第９の態様にしたがうと、物体取扱調整システムが提供され、運搬容器の３次元クラスタとして構成されている複数の運搬容器と、複数の運搬容器は、それぞれアドレス指定可能であり、クラスタは自己再構成可能物理トポロジーを有し、命令に応答してクラスタ内で再配置可能に構成されている複数の運搬容器の再配置可能運搬容器と、本発明の第８の態様に関連して上記で述べたような運動制御システムをサポートするように構成されている処理リソースとを備え、運動制御システムのエージェントは、クラスタ内の再配置可能運搬容器の開始ロケーションからクラスタ内の宛先ロケーションへの経路を決定するように構成され、運動制御システムは、決定した経路を使用して、クラスタ内の再配置可能運搬容器の移動を実行するように構成されている。
【００７４】
[0074]  本発明の第１０の態様にしたがうと、物体取扱調整システムが提供され、運搬容器の３次元クラスタとして構成されている複数の運搬容器と、複数の運搬容器は、それぞれアドレス指定可能であり、クラスタは自己再構成可能物理トポロジーを有し、命令に応答してクラスタ内で再配置可能に構成されている複数の運搬容器の再配置可能運搬容器と、運動制御システムをサポートするように構成されている処理リソースとを備え、運動制御システムは、使用するとき、クラスタ中の運搬容器の循環フローを提供するように構成され、循環フローはフロー経路を備え、運動制御システムは、クラスタ内の再配置可能運搬容器の開始ロケーションからクラスタ内の宛先ロケーションへの経路を決定するように構成され、決定した経路は、運搬容器の循環フローのフロー経路の少なくとも一部分を備え、運動制御システムは、決定した経路を使用して、クラスタ内の再配置可能運搬容器の移動を実行するように構成されている。
【００７５】
[0075]  したがって、非常に多くの運搬容器を備えるクラスタをサポートするように拡張可能なシステム及び方法を提供することが可能である。フレーム構造上の格子を横断するロボット荷積みハンドラの必要性は、関係付けられている時間ペナルティと費用とともに回避される。実際に、システムのスピードと効率性が既存のシステムよりも高くなる。さらに、システム及び方法は、運搬容器が動かないアクセス問題を緩和する。さらに、荷積み取扱デバイスの衝突が回避され、システム及び方法は、クラスタから欠陥のある運搬容器の取り出しをサポートする。物体取扱システムを構成する方法は、運動制御システムをトレーニングする拡張可能な方法も提供する。簡略化されたデータ構造に関連する強化学習技術とクラスタ内の運搬容器を再配置する問題を表す簡略化された方法の使用は、運動制御システムが、比較的少数の運搬容器を伴う単純なルーティング問題から獲得したトレーニングを多数の運搬容器を伴う複雑なルーティング問題に移すことを許容する。さらに、用いられる使用畳み込みニューラルネットワークにおける畳み込みレイヤ中のパラメータの数は、入力テンソルのサイズから独立している。さらに、移動に不変である畳み込み使用することにより、アドレス指定されている再配置の問題のわずかな変化をエージェントに構築でき、それにより、クラスタの第２の部分がクラスタの第１の部分と同じ構造及び宛先タプルを保持する必要なく、クラスタの第２の部分に適用されることになるクラスタの第１の部分に対してトレーニングされた畳み込みを許容する。
【００７６】
[0076]  本発明の少なくともの実施形態を、添付の図面を参照して、単なる一例として、説明する。
【図面の簡単な説明】
【００７７】
【図１】[0077]  図１は、第１の状態の物体取扱調整システムのクラスタの概略ダイヤグラムであり、本発明の実施形態を構成する。
【図２】[0078]  図２は、本発明の実施形態を構成する物体取扱調整システムの概略ダイヤグラムである。
【図３】[0079]  図３は、図２の物体取扱システムによってサポートされる機能的なモジュールの概略ダイヤグラムであり、本発明の別の実施形態を構成する。
【図４】[0080]  図４は、図３の容器制御システムのより詳細な概略ダイヤグラムであり、本発明のさらある実施形態を構成する。
【図５】[0081]  図５は、第２の状態の図１のクラスタの概略ダイヤグラムである。
【図６】[0082]  図６は、図１のクラスタ内で再配置可能運搬容器を再配置する方法の第１の部分のフローダイヤグラムであり、本発明のさらなる実施形態を構成する。
【図７】[0083]  図７は、再配置可能運搬容器を再配置する方法の第２の部分のフローダイヤグラムである。
【図８】[0084]  図８は、再配置可能運搬容器を再配置する方法の第３の部分のフローダイヤグラムである。
【図９】[0085]  図９は、クラスタの地域化の２次元表現の概略ダイヤグラムである。
【図１０】[0086]  図１０は、物体取扱調整システムを構成する方法の全体像のフローダイヤグラムである。
【図１１】[0087]  図１１は、図１０の方法において使用されるトレーニングクラスタの構成のフローダイヤグラムである。
【図１２】[0088]  図１２は、図１０の方法において使用される再配置アクションの選択のフローダイヤグラムである。
【図１３】[0089]  図１３は、本発明のさらなる実施形態を構成する分散システムの概略ダイヤグラムである。
【発明を実施するための形態】
【００７８】
[0090]  以下の説明全体を通して、同一の参照番号は、同様の部分を識別するために使用される。
【００７９】
[0091]  図１を参照すると、物体取扱調整システムの運搬容器のクラスタ１００は、複数の運搬容器１０２を備えている。この例では、複数の運搬容器は、コンテナのような複数の運搬デバイスである。この点で、複数の搬送容器１０２のうちの各運搬容器は、再配置可能、すなわち、横方向に及び縦方向に、すなわち、例えば、ｘ方向、ｙ方向、及び、ｚ方向のような３方向に移動可能である。所定の運搬容器を再配置する駆動原理は、クラスタ内で提供される物理的な移動による。モビリティは、例えば、２０１７年１０月４日に出願された同時係属中の英国特許出願番号ＧＢ１７１６２０４．１（Ｏｃａｄｏ  Ｉｎｎｏｖａｔｉｏｎ  Ｌｉｍｉｔｅｄ  参照番号０００１１３ＧＢ）で述べているような、例えば、機械的、電気機械的又は磁気技術、或いは、これらの適切な組み合わせのような任意の適切な方法で提供されることができ、この内容は、参照によって完全にここに組み込まれている。この相互参照文書において、運搬容器１０２は搬送デバイスと呼ばれ、このような用語は交換可能に使用されてもよいことが想定される。
【００８０】
[0092]  クラスタ１００は、この例では、均一な形状の３次元クラスタである。しかしながら、具現化の選好に依存して、クラスタによって任意の適切な形状を推定できることを当業者は理解すべきである。さらに、又は、代替的に、搬送容器１０２は、多くの異なる物品を保持するために使用できることを理解すべきである。実際、各運搬容器１００は、運搬容器１０２の単一の行又は列内に異なる品物を含むことができる。さらに、保管容器１０２は、クラスタ中の保管されている間に空にされることができ、又は、将来の配達のために小包又は他のアイテムを含むことができることを認識すべきである。
【００８１】
[0093]  １つ以上の運搬容器１０２をクラスタ１００内のそれぞれの開始ロケーションからクラスタ１００内のそれぞれの宛先ロケーションに再配置することを可能にするために、複数の運搬容器１０２を備えるクラスタ１００は、空間を備え、又は、空間をその中に提供でき、多数の運搬容器１０２の再構成を可能にする。この点において、クラスタ１００の複数の運搬容器１０２は、それぞれアドレス指定可能であり、例えば、独立してアドレス指定可能であり、クラスタは、自己再構成可能物理トポロジーを有している。運搬容器１０２のそれぞれのアドレス指定能力が運搬容器１０２に物理的にアクセスすることとは異なることを認識すべきである。アドレス指定能力は、１つ以上の運搬容器１０２を再配置するように１つ以上の運搬容器１０２の移動を達成するために、例えば、運動制御命令のような１つ以上の命令を個々の運搬容器１０２又は運搬容器１０２のグループに送るために使用できるアドレス指定スキームを有することを指すように意図されている。
【００８２】
[0094]  格子を渡る保管容器１０２の移動を調整するために、適切に構成されたコンピューティングデバイスは、ここで説明する１つ以上の実施形態を可能にするためのプラットフォームを提供するために、関係付けられている通信ネットワーク、デバイス、ソフトウェア、及び、ハードウェアとともに提供される。
【００８３】
[0095]  図２を参照すると、コンピューティングデバイス２００は、例えば、１つ以上のハードディスクドライブ又はソリッドステートドライブのような記憶ユニット２０４に、及び、例えば、デジタルメモリ及びランダムアクセスメモリ（ＲＡＭ）を備えるメモリユニット２０６に動作可能に接続されている中央処理ユニット（「ＣＰＵ」）２０２のような、処理リソースを備えている。ＣＰＵ２０２は、オペレーティングシステム２０８及びアプリケーションプログラム２１０をサポートし、データ２１２を取り扱う。オペレーティングシステム２０８、アプリケーションプログラム２１０、及びデータ２１２は、この例では、必要に応じて、記憶ユニット２０４において記憶され、メモリユニット２０６中にロードされる。コンピューティングデバイス２００は、この例では、グラフィック処理ユニット（ＧＰＵ）２１４をさらに含んでおり、これは、ＣＰＵ２０２に、メモリユニット２０６に、動作可能に結合され、ＣＰＵ２０２からの集約的な処理計算、例えばイメージ処理及び／又は機械学習、トレーニング及び／又は推定をアンロードして、これらの計算を、ＣＰＵ２０２と並行して実行してもよい。オペレータ２１６は、ＣＰＵ２０２、記憶ユニット２０４、及び、メモリユニット２０６に動作可能に結合されているバス２２２に、ビデオインターフェース２２０を介して動作可能に結合されているディスプレイデバイス２１８を使用して、コンピューティングデバイス２００と対話することができる。オペレータ２１６は、キーボード２２４、マウス２２６のようなさまざまな入力／出力デバイス、及び、入力／出力（Ｉ／Ｏ）インターフェース２３０を介してバス２２２に結合されるユニバーサルシリアルバスポート２２８のような取り外し可能媒体コネクタを介して、コンピューティングデバイス２００とも対話することができる。コンピューティングデバイス２００は、ネットワークインターフェース２３４を介してネットワークの一部を形成でき、コンピューティングデバイス２００が、（示されていない）他の適切に構成されているデータ処理システムと通信できるようにする。１つ以上の異なるタイプのセンサ２３６を使用して、さまざまなソースからの入力を受信するように使用できる。
【００８４】
[0096]  図３を参照すると、処理リソースを構成する完全／半自動品物保管及び取り出しシステム３００の高レベルな例示的具現化を説明する。しかしながら、システム３００のさまざまな具現化は、ここで説明したより多くの又はより少ないコンポーネントを用いることがきることを当業者は認識すべきである。
【００８５】
[0097]  システム３００は、運動制御システム３０２、メンテナンス／監視システム３０４、基地局制御装置３０６、１つ以上の基地局３０８ａと３０８ｂ、１つ以上の運搬容器１０２ａ、１０２ｂ及び１０２ｃを備えている。２つの基地局３０８ａ及び３０８ｂ、３つの運搬容器１０２、１０２ｂ及び１０２ｃのみが上述されているが、システムの他の実施形態において、システム３００は、より多くの運搬容器１０２と基地局を備えることができることが認識すべきである。しかしながら、いくつかの例において、無線周波数（ＲＦ）ベースの通信システムを、例えば、光学通信システムのようにシステム３００のスケーリングを促進するために、他の通信システムによって置き換える又は補足してもよいことを認識すべきである。
【００８６】
[0098]  この例では、システム３００はまた、１つ以上の倉庫管理システム（ＷＭＳ）３１２、注文管理システム３１４、及び、１つ以上の情報管理システム３１６を備え、それぞれ運動制御システム３０２に動作可能に結合されている。倉庫管理システム３１２は、例えば、注文に対して必要とされているアイテム、倉庫中のＳＫＵ、予期される／予測される注文、注文に関して欠落しているアイテム、いつ注文を搬送装置上に荷積みすることになるか、アイテムの有効期限、何のアイテムがどの運搬容器にあるか、アイテムが壊れやすい、又は、大きくて嵩張るか否かのような情報を記憶している。
【００８７】
[0099]  運動制御システム３０２は、この例では、１つのロケーションから別のロケーションへの移動、衝突回避、移動経路の最適化、及び／又は、実行されることになるアクティビティの制御に限定されないが、これらを含む、運搬容器１０２のナビゲーション／ルーティングを制御するように構成されている。運動制御システム３０２は、この例では、１つ以上のサーバを使用して実現され、それぞれは、１つ以上の非一時的コンピュータ読取可能媒体上に記憶されている命令に基づいて構成される１つ以上のプロセッサを含んでいる。運動制御システム３０２は、１つ以上の運搬容器１０２に制御メッセージを送るように、１つ以上の運搬容器からの１つ以上のアップデートを受信するように、そして、リアルタイムのプロトコル又はリアルタイムに近いプロトコルを使用して、１つ以上の運搬容器と通信するように構成されている。運動制御システム３０２は、１つ以上の基地局３０８ａと３０８ｂからの運搬容器ロケーション及び利用可能性を示している情報を受信する。運動制御システム３０２は、利用可能な運搬容器の数、１つ以上の運搬容器のステータス、１つ以上の運搬容器のロケーション、及び／又は、それらの現在の命令セットの記録をつけるように構成されている。運動制御システム３０２は、この例では、将来の移動を予想して、プロセッサ負荷を潜在的に低減させて、及び、通信リンクに関するトラフィック負荷を予防的に管理もして、１つ以上の運搬容器に対して制御メッセージを処理するように、及び／又は、送るように構成されている。運搬容器に対して最適な経路を決定し、最適なロケーションを計算し、並びに／或いは、予約及び／又はクリアランスを決定する際に、運動制御システム３０２によって使用される複雑なアルゴリズムのことを考えると、このような具現化は有利であることがある。
【００８８】
[00100]  メンテナンス／監視システム（ＭＭＳ）３０４は、この例では、１つ以上の運搬容器１０２又は１つ以上の基地局３０８ａ、３０８ｂからのアラートを受信することと、運搬容器１０２を問い合わせるための接続を確立することとを含んでいる、監視する機能を提供するように構成されている。ＭＭＳ３０４は、監視機能の構成のためのインターフェース（示していない）も備えている。ＭＭＳ３０４は、ある運搬容器１０２をいつ回収するべきかを示すために、運動制御システム３０２と対話する。
【００８９】
[0100]  基地局制御装置３０６は、運搬容器、基地局及び格子をマッピングするために、マスタールーティング情報を記憶する。いくつかの例では、１つの基地局制御装置３０６は、クラスタ１００をホストする環境、例えば倉庫毎に提供されるが、他の例では、複数の基地局制御装置を用いることもある。基地局制御装置３０６は、高い利用可能性を提供するように設計されている。基地局制御装置３０６は、１つ以上の基地局３０８ａと３０８ｂの、動的な周波数選択と周波数割り振りを管理するように構成されている。
【００９０】
[0101]  基地局３０８ａと３０８ｂは、この例では、基地局のプールのように編成され、これはその後、待機してアクティブになるように、又は、システムを監視するように構成されることができる。メッセージは、さまざまな通信装置を通して、運搬容器に対して／運搬容器からルーティングされることができる。通信装置は、任意の適切な通信装置であることができる。いくつかの例では、通信装置は、ワイヤレス標準規格の８０２．１１ファミリーに該当するもののような、ＲＦリンクをサポートできる。基地局３０８ａと３０８ｂは、この例では、処理ユニット３１８ａ、３１８ｂ、デジタル信号プロセッサ３２０ａ、３２０ｂ、及び、無線３３２ａ、３２２ｂを備えている。
【００９１】
[0102]  １つ以上の運搬容器１０２ａ、１０２ｂ、１０２ｃは、クラスタ１００の周りを移動し、動作を実行するように構成されている。動作は、この例では、クラスタ１００内の１つのロケーションから別のロケーションに運搬容器移動させることを含む。１つ以上の運搬容器１０２ａ、１０２ｂ、１０２ｃは、１つ以上の基地局３０８ａ及び３０８ｂと通信するように割り当てられる。１つ以上の運搬容器１０２ａ、１０２ｂ、１０２ｃは、必ずしもすべて同じタイプの運搬容器ではない。この点において、システム３００は、例えば、さまざまな形状、設計及び目的を有する運搬容器のような、異なるロボットデバイスを備えることができ、例えば、運搬容器は、寸法及び占有される容積において変化できる。
【００９２】
[0103]  この例において、運搬容器１０２ａ、１０２ｂ、１０２ｃは、それぞれ、無線３２４ａ、３２４ｂ、３２４ｃ、デジタル信号プロセッサ３２６ａ、３２６ｂ、３２６ｃ、プロセッサ３２８ａ、３２８ｂ、３２８ｃ、リアルタイム制御装置３３０ａ、３３０ｂ、３３０ｃ、バッテリー３３２ａ、３３２ｂ、３３２ｃ、並びに、モーター、磁石、センサ、及び／又は、コネクタ、３３４ａ、３３４ｂ、３３４ｃを有している。
【００９３】
[0104]  図４を参照すると、運動制御システム３０２は、作業割り振り、製品の移動、及び、製品の配置をどのように改善するかを査定するように構成されている。運動制御システム３０２は、特定のタイプの移動が起きるべきときを、これらが生じるべき順序で、例えば、アプリケーションのさまざまなビジネスルール及び／又は優先度に依存して、スケジュールするように構成されている。運動制御システム３０２は、例えば、製品配置に関する決定をする際の入ってくる及び出ていく要因の両方を決定するように構成されている。例えば、運動制御システム３０２は、製品供給の配達ロケーション、及び、推定される製品の出ていく配達を推定する。運動制御システム３０２は、決定を行い、自動システムによる実行のための信号を送り、及び／又は、人間（ピッカー、荷を積む人等）に対して効率的にタスクを割り振ることができる。
【００９４】
[0105]  運動制御システム３０２は、注文の履行に又は他の何らかの目的のために１つ以上の運搬容器１０２のうちのどれを含めるべきかを決定する。１つ以上の運搬容器のアクションは、典型的に運搬容器１０２が格子を横断すること、並びに／或いは、隣接する運搬容器をサポートすること、及び／又は、所定の運搬容器を移動することのようなアクションを行うことを必要とすることがある。運動制御システム３０２は、クラスタ１００においてさまざまな経路を分析して、制約と条件とのセットを与えられている他の経路に対して、潜在的に優先であってもよい１つ以上の経路を決定するように構成される。これらの好ましい経路は、クラスタ１００全体を通してこれらの移動を、及び／又は、クラスタ１００内でこれらが実行する役割を制御するために、一度だけ、周期的に、及び／又は、動的に、運搬容器１０２に提供される。
【００９５】
[0106]  より短い進行距離、より高い予期される荷積み取扱デバイスの平均速度、より低いトラフィック（すなわち、密集）に遭遇する可能性、より少ない必要とされる総時間、より低い衝突の可能性、より少ない使用電力、経路を変えるために切り替えることの容易さ、障害、例えば、壊れた運搬容器、壊れた経路、及び／又は、修理中である経路の一部を回避する能力を含んでいるが、これに限定されない多数の理由によって、経路は優先されることがある。
【００９６】
[0107]  運動制御システム３０２は、さまざまなアルゴリズムを使用して、接続されるさまざまな運搬容器の移動を識別、設計、及び／又は、制御する。いくつかの例において、１つ以上の非一時的コンピュータ読取可能媒体上に記憶されている１つ以上の命令のセットを実行するように構成されている１つ以上のプロセッサをそれぞれ含んでいる１つ以上のサーバを使用して、運動制御システムは実現される。コンピュータ具現化に対する潜在的な利点は、スケーラビリティ、大量の処理及び計算の複雑性を取り扱う能力、増加された反応スピード、迅速に決定を行う能力、複雑な統計分析を行う能力、とりわけ、機械学習を行う能力を含んでいるが、これに限定されない。クラスタ１００を通して運搬容器の横断を調整するこれらのアルゴリズムは、以下でより詳細に説明されるだろう。
【００９７】
[0108]  制御システム３０２は、（運搬容器を含むさまざまなユニットと、例えばコンベヤ、ピッカー及び／又は人間を伴うような、オプション的に関係付けられている他のユニットとのアクションを制御する）リアルタイムの、又は、ほぼリアルタイムの制御システムであることがある。運動制御システム３０２は、複数の機能的モジュールを備えている。複数の機能的モジュールは、制御インターフェース４０２、移動最適化モジュール４０４、製品配置最適化モジュール４０６、容器物理モデルモジュール４０８、ビジネスルールモジュール４１０、クリアランスモジュール４１２、予約モジュール４１４、制約チェッカーモジュール４１５、コマンド生成及びスケジューラモジュール４１６、容器通信モジュール４１８、充電マネージャーモジュール４２０、及び、アラート／通知モジュール４２２を含む。これらのモジュール４０２、４０４、４０６、４０８、４１０、４１２、４１４、４１６、４１８、４２０、４２２は、さまざまな方法で実現され、いくつかの例では、これらは、１つ以上のプロセッサによって実行されることになる１つ以上のコンピュータ読取可能媒体上の命令として記憶されているアプリケーションとして実現される。
【００９８】
[0109]  運動制御システム３０２は、運搬容器１０２の作業及び／又は移動の割り振りのリアルタイム又はほぼリアルタイム制御を提供する。運搬容器１０２の作業又は移動の割り振りは、注文の履行、より容易にアクセス可能なポジションへの、運搬容器の、又は、そこにオプション的に配置されているコンテナの再分配、推定された発送シーケンス、メンテナンス動作、並びに／或いは、将来の注文の予想のような、倉庫内のアクティビティに関するようなアクションによって予想できる。制御インターフェース４０２は、方向及び情報を運動制御システム３０２に提供するためのさまざまな外部システムに対するインターフェースを提供する。制御インターフェース４０２は、いくつかの例において、人間のユーザのためのインターフェース、及び／又は、さまざまな機械及びシステムとインターフェースするためのインターフェースを提供できる。
【００９９】
[0110]  制御インターフェース４０２は、さまざまな倉庫管理システム及び注文管理システムを含むがこれらに限定されない、さまざまな外部データベースと対話できる。制御インターフェース４０２はまた、例えば、製造運搬容器１０２、充電を必要とする運搬容器１０２、宛先に途中の運搬容器１０２、予期せぬ障害物に遭遇する運搬容器１０２のような、システム中のさまざまなロボットデバイスから情報を受信できる。
【０１００】
[0111]  上述したように、制御インターフェース４０２は、運搬容器１０２の制御及び移動に関連した、倉庫管理システム３１２への、及び、倉庫管理システム３１２からの情報を、受信及び送信してもよい。このような情報は、格子ロケーション及びサイジング、サブ格子の確立、在庫と注文とのマスター記録、並びに／或いは、例えば、注文を外に出す必要があるときのような、発送シーケンスも含むことができるが、これに限定されない。アクションが実行されると、例えば、その中のコンテナとともに、又は、その中にコンテナなく、運搬容器をワークステーションに移動し、ワークステーション動作が完了し、及び／又は、配達荷物が充填されると、制御インターフェース４０２は、倉庫管理システム３１２を更新する。いくつかの例において、倉庫管理システム３１２と制御インターフェース４０２との間に、確認プロセスがある。
【０１０１】
[0112]  制御インターフェース４０２は、例えば、誤作動又は緊急事態の場合、特定の運搬容器１０２の、運搬容器１０２のグループの、又は、すべての運搬容器の動作を停止させるためのコマンドも受信できる。
【０１０２】
[0113]  移動最適化モジュール４０４は、さまざまなアルゴリズムを適用して、１つのロケーションから別のロケーションに潜在的に有利なルートを決定することを通して、運搬容器１０２の移動を最適化するように構成されることができる。潜在的な利点は、より短い進行距離を、より低い密集に遭遇する見込みを、より短い必要とされる時間を、より少ない電力消費を、他の荷積み取扱デバイスの移動との調整を、壊れた運搬容器また壊れた軌道のエリアのような障害の周囲をルーティングすることを、或いは、さまざまなワークステーション動作との調整を含むことができる。
【０１０３】
[0114]  移動最適化モジュール４０４は、作業割り振りと、タスクのセットを作り出し、その後、どのピッキングステーション又は運搬容器がどのタスクを行うべきかを選択することを含む、機能を計画してスケジューリングすることを提供するように構成されている。移動最適化モジュール４０４は、この例では、物体を配置するために潜在的に有利なロケーションのセットを決定する際、製品配置最適化モジュール４０６と対話するように構成されている。移動を最適化する際、移動最適化モジュール４０４は、例えば、特定のロケーションに到達するのに必要とされる予期される時間、運搬容器１０２がクラスタ１００内のどのくらい深くにあるか、運搬容器１０２がクラスタ１００から出てくるのにどのくらいかかるか、上に位置付けられている運搬容器１０２を他のロケーションに移動させるのに必要なさまざまな動作のような、移動と、動作の実行との両方で伴われるさまざまな要因を考慮するように構成されている。
【０１０４】
[0115]  移動最適化モジュール４０４は、容器物理モデルモジュール４０８からの入力のセットも受信してもよく、これは、例えば、運搬容器１０２が壊れやすい物体を現在運んでいるとき、運搬容器１０２は、最大速度の５０％でのみ移動できるようなさまざまな要因に依存して、運搬容器１０２の移動に対する制約のセットを通信できる。移動最適化モジュール４０４は、その中のコンテナとともに又はその中のコンテナなしで、運搬容器１０２のクラスタ１００への、クラスタ１００からの、及び、クラスタ１００内の移動を調整する。
【０１０５】
[0116]  いくつかの例において、移動最適化モジュール４０４は、運搬容器の行程コースの間の優先経路を動的に再計算して、条件及び制約が経時的に変化すると、更新される経路のセットを潜在的に決定してもよい。
【０１０６】
[0117]  提案された経路のナビゲーションが、他の運搬容器１０２のクリアランス及び予約を伴う問題に遭遇するか否かを決定し、これらの問題に遭遇する機会を低減できる経路を決定する際に、移動最適化モジュール４０４は、クリアランスモジュール４１２と予約モジュール４１４とも対話する。
【０１０７】
[0118]  いくつかの例において、クリアランスモジュール４１２、予約モジュール４１４、及び、移動最適化モジュール４０４は、経路競合レゾルバとともに使用され、移動最適化モジュール４０４は、経路を作り出して、その後、予約モジュール４１４を使用して経路を予約し、クリアランスモジュール４１２は、運搬容器が潜在的に競合している経路に携わっているとき、優先度を決定することに対して、ジャストインタイムのアプローチを提供する。
【０１０８】
[0119]  容器物理モデルモジュール４０８は、運搬容器に関連した特定の物理的特性をモデリングするように構成されている変数のセットを保管するように構成されている。例えば、モデルは、運搬容器１０２の長さ、重さ、高さ、及び、幅、運搬容器１０２の最大搬送容量、運搬容器の回転スピード、運搬容器１０２の最大速度及び加速、運搬容器が例えばバッテリー寿命の所定のセットの量のようなあるアクションを実行する能力、のような物理的特性を示すことができる。容器物理モジュール４０８は、運搬容器１０２の最大速度、最大加速、最大回転スピードを含む、運搬容器１０２の移動のある特性に関する制限を決定する際、ビジネスルールモジュール４１０とインターフェースする。例えば、運搬容器１０２が多数の卵のカートンを運ぶ場合、運搬容器１０２は、物理的な力の存在における卵の脆さ、及び、壊れやすさによって、運搬容器１０２の最大の加速度／減速度のうちの２５％のみで加速／減速することが必要とされることがある。ビジネスルールモジュール４１０は、倉庫、運搬容器１０２及び通信システムの特定の環境に基づいて、ビジネスルールのセットを作り出して適用する。例えば、ビジネスルールモジュール４１０は、アイテムのあるクラスに対するものを提供でき、さまざまな制約が容器物理モデルモジュール４０８に対して潜在的に有効であり、輸送中の品物によって被る損害の量を低減させる。ビジネスルールを実現できる場合の例は、高リスクの製品（例えば、酸又は漂白剤）、エアロゾルを有するコンテナ、及び、とりわけ、可燃性の内容物を有するコンテナを含む。空の運搬容器は、他の運搬容器とは異なって取扱われることもある。
【０１０９】
[0120]  クリアランスモジュール４１２は、さまざまな運搬容器１０２に対してクリアランスを記憶して提供するように構成できる。クリアランスのシステムは、運搬容器１０２が横断する経路が空いているか否かを決定するために評価されることができる。クリアランスモジュール４１２は、受動的な衝突回避システムとして実現でき、運搬容器１０２は、性能に影響することなく可能な最小量の作業のみを与えられる。新たな命令を有する運搬容器１０２を提供する際、例えば、格子の寸法、格子ポジション、プランニングによって生成された移動コマンド、（制御された停止のような、事象で生成された）移動コマンドのキャンセル、運搬容器１０２の現在のポジション及びスピード、運搬容器１０２のブレーキ能力とともに、これらが訪れることが可能である場所に基づいて、クリアランスモジュール４１２は、別の運搬容器１０２と衝突不可能であることをチェックする。
【０１１０】
[0121]  クリアランスモジュール４１２は、「ジャストインタイム」でクリアランスを発行するように構成され、運搬容器１０２に対して、それらのプランニングされた経路に沿って継続する許可を与えるのに使用される。
【０１１１】
[0122]  クリアランスモジュール４１２は、例えば、技術的に知られているストラテジーを使用して、経路に対するクリアランスがどのようなものであるか、クリアランスが発行されるときの通知を制御インターフェース４０２に提供するが、ここではさらに説明しない。
【０１１２】
[0123]  予約モジュール４１４は、クラスタ１００中に又は周囲に空間を予約する役割を果たす。
【０１１３】
[0124]  いくつかの例において、特に、同時に行われる非常に多数のアクション及びタスクに運搬容器１０２が参加する場合、予約モジュール４１４を、前もってルートを予約するのに使用して、運搬容器１０２が競合経路をとるようにプランニングしないことを確実にする。移動最適化モジュール４０４は、予約モジュール４１４を備え、運搬容器１０２が十分先の将来への経路予約を確立し、将来計画を可能にする。
【０１１４】
[0125]  コマンド生成及びスケジューラモジュール４１６は、１つ以上の運搬容器１０２に送信されることになる命令のセットを生成する。これらの命令は、例えば、クラスタ１００を通して経路の一部に対して別の運搬容器の例えば、クラスタ１００に隣接して配置されたアイテムをピッキングするためのワークステーションへの、又は、いわゆるデカントステーションへの、又は、荷物を運搬容器に挿入する、又は、荷物を運搬容器から取り除くような、クラスタ１００に隣接して配置された荷積み／荷下ろしステーションへの移動をサポートするように正しく位置付けるために、所定の運搬容器１０２がロケーションＡからロケーションＢに移動する必要があることを含むことができる。これらの命令は、ほぼリアルタイム／リアルタイム構成で、ジャストインタイムの構成で、送信することができ、及び／又は、計画された／スケジュールされたルートを可能にするために前もって提供されることができる。さらに、いくつかの実施形態において、コマンド生成及びスケジューラモジュール４１６は、運搬容器１０２が、設備に渡ってその通路を迅速に進むのを助けるために、予約及びクリアランスを調整する。
【０１１５】
[0126]  コマンド生成及びスケジューラモジュール４１６は、単一の経路又は１つ以上の経路を備えているコマンドセットを、及び／又は、さまざまなロケーションにおいて実行されることになる多数の動作を提供するように構成されている。コマンド生成及びスケジューラモジュール４１６は、容器通信モジュール４１８に対して、個々の運搬容器１０２に提供されることになるこれらのコマンドを提供する。いくつかの例において、コマンド生成及びスケジューラモジュール４１６は、特定の運搬容器１０２に対する命令を予め格納しており、これらの命令は、その後、将来に実行されることになる容器通信モジュール４１８を通して運搬容器１０２に提供されることができる。
【０１１６】
[0127]  容器通信モジュール４１８は、１つ以上の基地局と基地局制御装置３０６とを介して、情報を運搬容器１０２に戻し、情報を運搬容器１０２から出すように通信するように構成される。上記で示したように、いくつかの例において、容器通信モジュール４１８は、ワイヤレス信号の使用を通して通信する。上記でも示したように、これらの命令セットは、必ずしもジャストインタイムではなく、将来の移動の調整のために命令セットを送ることができる。容器運搬モジュール４１８は、さまざまな運搬容器１０２からステータス報告を受信する。容器通信モジュール４１８は、同期、非同期、ポーリング、プッシュ又はプルの方法論を使用することのようなさまざまな方法で実現できる。さらに、さまざまな具現化は、「ハンドシェイク」通信の使用を必ずしも含んでいない。
【０１１７】
[0128]  アラート／通知モジュール４２２は、潜在的な問題が起こったときに、又は、予め定められたビジネスルール、例えば、予め定められた数のクリアランスが競合によって引き止められている、に基づいて、制御インターフェース４０２に対して、アラート又は通知を提供するように構成される。
【０１１８】
[0129]  システムの動作を、例えば、図１の簡略化されたクラスタ構造を横断する単一の運搬容器の問題を参照して説明する。以下で説明する簡略化された例は、非常に多くの運搬容器１０２、以下で説明するより大きなクラスタ、ｘ、ｙ、及びｚへの複数の移動の方向、及び、異なる形状を有するクラスタをカバーするように拡張できることが認識されるだろう。
【０１１９】
[0130]  動作の際に、及び図１と図５を参照すると、クラスタ１００内の開始ロケーションに位置付けられている運搬容器１０４は、上記で述べた任意の適切な基準にしたがって選択され、例えば、顧客への配達のために荷物にパッキングするための卵を含む運搬容器を回収する必要があり、宛先ロケーション１０６に再配置される必要がある。
【０１２０】
[0131]  この例では、図６を参照すると、クラスタ１００は、この例において、クラスタ１００のサイズをスケーリングすることを促進するために、理論上領域にさらに分割される。第１の例は、開始ロケーションから宛先ロケーション１０６に移動することが必要とされる運搬容器のものであり、開始ロケーションと宛先ロケーションは、同じ領域内にある。以下で説明する第２の例は、クラスタの異なるそれぞれの領域にある開始ロケーションと宛先ロケーションを企図し、クラスタ１００の異なる領域に関して運動制御システム３０２によって独立して実行される図６の処理の文脈で説明されるだろう。
【０１２１】
[0132]  したがって、開始ロケーションと宛先ロケーション１０６が位置付けられるクラスタ１００の領域に対して、運動制御システム３０２は、以下の処理を実行する。最初に、運動制御システム３０２は、運搬容器１０２のクラスタ１００内の運搬容器１０２の初期ロケーションを知るために、クラスタ１００の領域内の運搬容器１０２のそれぞれから初期状態データを受信する（ステップ６００）。その後、初期化に続き、運動制御システム３０２は、例えば、開始ロケーションから宛先ロケーション１０６へ運搬容器１０４を再配置する１つ以上の目標を、この例では、制御インターフェース４０２から受信する（ステップ６０２）。目標は、クラスタ１００内の所定のロケーションを空にする、又は、クラスタ１００内の所定のロケーションを運搬容器によって占有する要求であることもある。
【０１２２】
[0133]  運動制御システム３０２は、領域に関して、本例におけるケースである、開始ロケーションと宛先ロケーションが領域中に位置付けられているか否かを決定する。開始ロケーション及び／又は宛先が領域中にある／ない場合、運動制御システム３０２は、運搬容器１０４の再配置を進めようとするアルゴリズムを実行する（ステップ６０６）。しかしながら、開始ロケーション及び／又は宛先ロケーションが両方領域中に存在する場合、運動制御システム３０２は、以下でより詳細に説明するように、開始ロケーションから宛先ロケーションに運搬容器を再配置するために実現できる、可能性ある状態のシーケンスを決定するための探索を実行する（ステップ６０８）。
【０１２３】
[0134]  図７を参照すると、開始ロケーションと宛先ロケーションを含む領域に関して、運動制御システム３０２は、開始ロケーションから宛先ロケーション１０６に運搬容器を再配置するために必要とされる多数の状態を変更するシーケンスを決定する。この点で、運動制御システム３０２は、この例では、探索木（search tree）の深さ、すなわち、変化する状態のそれぞれ個々の経路に対するシーケンスにおける状態の数を制限する。この点で、木（tree）の最上部から木の最下部への状態の各シーケンスは、状態の順列を構成する。このように、この例では、運動制御システム３０２は、カウンタを単一の値に初期化し（ステップ７００）、チェックする状態変化の最大深さを有する。運動制御システムは、潜在的初期ステップの第１のセットを決定する（ステップ７０２）。運動制御システム３０２は、その後、クラスタ１００の物理的制約、例えば、ここで説明したクラスタの形状及び運搬容器パラメータにしたがって、決定された状態のうちのどれが実行可能であるかを決定するために、制約チェッカーモジュールを使用する（ステップ７０４）、すなわち、運搬容器１０４の運動をサポートすることができないような、任意の障害を状態が被らない。いくつかの例では、実行可能性を評価するために用いられることができる他のパラメータは、例えば、各スタック中の運搬容器の数、各スタック中のサポートされない運搬容器の数、運搬容器中のペイロードの重さ、各運搬容器内の重量の分布、多数の運搬容器に渡る重量の分布、運搬容器によって支えられるペイロード、及び／又は、例えば、単一の隣接運搬容器からのようなサスペンションのタイプのような、運搬容器がクラスタ１００内でサポートされる方法を含んでいる。
【０１２４】
[0135]  その後、運動制御システム３０２は、カウンタを増加し（ステップ７０６）、状態のシーケンスの木の最大深さに達しているか否かをチェックする（ステップ７０８）。本例では、反復の最大数に達していないので、プロセスは、非実行可能状態を取り除くために制約チェッカーによってフィルタされた後、初期状態の第１のセット中に残っている状態に関して繰り返される。この点において、運動制御システム３０２は、残りの状態の第１のセットのそれぞれから開始する、達成されることができる可能性ある後続の状態の第２のセットを決定する（ステップ７０４）。さらに、後続する状態の第２のセットにおいて実行可能な状態のみを識別するために、制約チェッカーが用いられる（ステップ７０４）。その後、カウンタが再度増加され（ステップ７０６）、カウンタはチェックされ、反復の最大数に達したか否かを決定する（ステップ７０８）。
【０１２５】
[0136]  上記のプロセスは、反復の最大数に達するまで繰り返される。この例では、探索木は、例えば、「Ｄｅｐｔｈ−Ｆｉｒｓｔ  Ｉｔｅｒａｔｉｖｅ−Ｄｅｅｐｅｎｉｎｇ：Ａｎ  Ｏｐｔｉｍａｌ  Ａｄｍｉｓｓｉｂｌｅ  Ｔｒｅｅ  Ｓｅａｒｃｈ」（Ｒ  Ｅ  Ｋｏｒｆ、Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ、第２７巻、第１号、１９８５年、第９７頁から第１０９頁）、及び、「Ｆｉｎｄｉｎｇ  Ｏｐｔｉｍａｌ  Ｓｏｌｕｔｉｏｎｓ  ｔｏ  ｔｈｅ  Ｔｗｅｎｔｙ−ｆｏｕｒ  Ｐｕｚｚｌｅ」（Ｋｏｒｆ他、ＡＡＡＩ会報１９９６年、第１２０２頁から第１２０７頁）において説明されているような反復深化Ａ*変数アルゴリズムの実行を通した、上記のステップによって取得される。しかしながら、開始ロケーションに関する現在のロケーションは、宛先ロケーション１０６に十分近く、計算オーバーヘッドを低減させるために、いくつかの例では、質的に向上した、例えば、それに関係付けられているより低いコストを有する、状態のシーケンスの順列を生成するために、Ａ*探索は、反復深化Ａ*変数アルゴリズムの代わりに実現されることができる。
【０１２６】
[0137]  いったん探索木が計算されると、運動制御システム３０２は、状態のシーケンスの木の分岐を分析し（ステップ７１０）、コスト関数によって規定されたような状態のすべてのシーケンスから状態の許容できる便利なシーケンスを選択し、これにより、予め定められたメトリックを満たす。この点で、運動制御システム３０２は、この例では、状態の各順列の総合的な評価を実現する。状態の各順列は、深さを無視する、クラスタ１００に渡る、１つ以上の直線又はＬ字型横断を含むことができる。横断の各状態に対して、運搬容器１０４は、所定の時間の間、クラスタ１００の所定の完全なポジションに対する運搬容器のスタック中に事実上ある。運動制御システム３０２は、分析される状態に関して、運搬容器１０４が存在するスタックを評価する。例えば、運動制御システム１００は、運搬容器１０４のスタックの深さにおいて、サポートされていないであろう運搬容器１０４の上にある運搬容器の数を決定する。さらに又は代替的に、評価される状態をコスト計算するときに、他の要因を考慮できる。例えば、ペイロードの財務的価値、スタック中の又は運搬容器の上のみのスタック中の運搬容器の数、１つ以上の運搬容器のペイロードの重量、運搬容器内の重量の分布、運搬容器によって支えられるペイロード、及び／又は、例えば、単一の隣接運搬容器からのようなサスペンションのタイプのような、運搬容器がクラスタ１００内でサポートされる方法である。コストパラメータは、合計によって、又は、例えば、コストパラメータを使用するコスト関数を用いることによって、単独で又は組み合わせて使用できる。しかしながら、コスト関数は、状態のシーケンスの所定の順列にしたがって、搬送容器１０４を再配置するコストを決定するために、他の方法でパラメータ化できることを当業者は認識すべきである。
【０１２７】
[0138]  いったん状態の各順列のコストが決定され、状態の好ましいシーケンスが選択されると、運動制御システム３０２は、ステップのシーケンスを実現し、運搬容器１０４は、クラスタ１００内の他の運搬容器に対して、開始ロケーションから宛先ロケーション１０６に移動される。この点において、１つ以上の他の運搬容器は、クラスタ１００内の再配置可能運搬容器１０４の制御された移動を促進するために、再配置可能運搬容器１０４と協同する。このプロセスの間、予約モジュール４１４は、状態の選択されたシーケンスのシーケンスにおける状態を追跡する。
【０１２８】
[0139]  別の実施形態では、状態を評価するために（ステップ７１０、図７）、教師あり学習技術を用いることができる。この点で、ネットワーク構造は、例えば、上記で言及したローカル探索アルゴリズムによって生成された、状態のシーケンスの決定された順列に関係付けられているコストを決定するように構成されている。既知の経路にそれぞれ関係付けられている既知のコストデータを使用して、任意の適切な探索及びコスト技術を使用して、ネットワーク構造は「トレーニング」され、ネットワークによって決定されたコストが実質的に既知のコストデータに近いことを確実にするために、ネットワーク構造のパラメータは最適化される。その後、状態のシーケンスの異なる順列にそれぞれ関係付けられたコストを計算コストするために、トレーニングされたネットワークを用いることができる。
【０１２９】
[0140]  第２の例では、上述したように、開始ロケーションと宛先ロケーションがクラスタ１００の異なる領域に位置付けられている。
【０１３０】
[0141]  図８及び９を参照すると、この例では、運搬容器１０４の開始ロケーションが第１の領域１１２にあり、宛先ロケーション１０６がクラスタ１００の第２の領域１１４にある。運搬容器１０４の再配置を進めるために、運動制御システム３０２は、領域間の境界の中間地点ロケーションを識別するように試行する。第２の領域１１４中の宛先ロケーションへの途中で運搬容器１０４が再配置すべき領域としてのクラスタ１００の最も明らかな領域の選択は、別の領域を介したより間接的なルートと比較して、ルート計画全体像から必ずしも満足に便利でないことを認識すべきである。運動制御システム３０２は、したがって、領域に隣接する予め定められた数までの領域を介して、この例では、４つまでの隣接する領域、及び／又は、開始ロケーション１１０を備える第１の領域を介して、運搬容器１０４を再配置することを考慮する。
【０１３１】
[0142]  結果として、この例では、運動制御システム３０２は、第１の領域１１２に関して実行する独立したスレッドによって受け取られた目標を使用して、開始ロケーションを備える第１の領域１１２に隣接する４つまでの領域を問い合わせる（ステップ８００）。この点において、隣接領域間の、候補境界ロケーションを構成する、異なる境界ロケーションで選択された隣接ロケーションのそれぞれに渡るそれぞれの領域コストが分析され、領域コストは、クラスタ１００中の他の領域、領域の状態、予約されている領域のロケーション及び目標の達成のレベルを問わず、各隣接領域に関してローカライズされた評価に基づいている。
【０１３２】
[0143]  各候補境界ロケーションに関して、第１の領域１１２に対するスレッドは、開始ロケーションから候補境界ロケーションへの経路とそれに関係付けられているローカルコストとを決定するために（ステップ８０４）、図７に関して上述したような方法で、ローカル探索を実行する（ステップ６０８）。
【０１３３】
[0144]  その後、運動制御システム３０２によってサポートされる第１の領域１１２に対応するスレッドは、中間地点として機能する各候補境界ロケーションを介して、運搬容器１０４を再配置する全体コストに到達するように、この例では、ローカルコストと領域コストを組み合わせる。この例では、最も安いコストが選択され、選択された候補境界ロケーション１２０に関係付けられている隣接領域１１８は、その選択を通知される。運動制御システム３０２は、その後、運搬容器１０４が境界ロケーションに達するとき、選択された候補境界ロケーション１２０に関係付けられている隣接領域１１８が、運搬容器１０４を収容する準備ができている、又は、収容する準備ができているだろうという確認を待つ（ステップ８０４）。いったん、確認が隣接領域から受信されると、運動制御システム３０２は、開始ロケーションから、選択された境界中間地点ロケーション１２０への再配置を実現し（ステップ８１０）、宛先ロケーション１０６に達する責務を選択された領域に関係付けられているスレッドに引き渡し、領域は受け取った目標を新たな目標として取り扱い、図６の方法論にしたがって目標を処理する。目標の達成のプロセスの一部として、選択された領域１１８に関係付けられているスレッドは、選択された中間地点ロケーション１２０の近くのロケーションに配置される必要があり、選択された領域１１８への運搬容器１０４の収容を促進する。
【０１３４】
[0145]  当業者によって認識されるべきであるように、運搬容器１０４の再配置は、クラスタ１００内の内部物理サブトポロジーを提供するように、例えば、運搬容器のセットによる、運搬容器１０４の宛先ロケーション１０６への移動を促進するために、他の運搬容器を伴う事が必要とされることがある。このように、開始ロケーション１１０から宛先ロケーション１０６への運搬容器１０４の再配置の目標を達成するために、サブトポロジーを提供するように運搬容器の移動を実行することが典型的に必要である。いくつかの例では、目標の対象である運搬容器１０４に加えて、多数の複数の運搬容器の実質的に同時の移動が達成されるように複数の運搬容器１０４の移動を最適化することが望ましいことがある。この点で、運搬容器１０４の移動を達成するために必要とされる状態変更の数を最小化するために、同時制御方法論を用いることができる。このようなアプローチは、例えば、図７に関連して生成したタイプの、探索木のいわゆる「広がり」を減らし、計算効率を提供することができる。
【０１３５】
[0146]  いくつかの例では、しきい値コストを下回る、必要とされる目標を達成する状態のシーケンスが見いだされる、探索アルゴリズムの早期終了により、効率性を達成できる。
【０１３６】
[0147]  さらに又は代替的に、上記の例は、それぞれの開始ロケーションからそれぞれの宛先ロケーションへのクラスタ１００を通した複数の運搬容器の横断のために提供される命令に容易に拡張することができる。このような例では、運動制御システム３０２は、決定された少なくとも別の経路を使用して、別の運搬容器の移動の後続の実行に対して、クラスタ１００内の別の運搬容器に対する少なくとも別の経路を決定する。
【０１３７】
[0148]  さらに認識されるように、運搬容器は、必ずしも単一のタスクを課されず、１つのルートの完了後、所定の運搬容器は、現在の宛先から新しい宛先に達するタスクを課されることがある。
【０１３８】
[0149]  さらなる実施形態において、状態のシーケンスの評価及び選択は、強化学習技術を使用して達成できる。このような具現化において、強化学習システムは、バリューネットワーク、ポリシーネットワーク、ロールアウトポリシー（又は、バリューネットワーク、ポリシーネットワーク、及び、ロールアウトポリシーのそれぞれのゼロ以上を用いることができる、これらのサブセットの組み合わせ）、クラスタ１００の現在の状態に及び／又はクラスタ１００の領域に関連する状態データ、或いは、目標データを含む。さらに、強化学習システムは、いわゆるロールアウトポリシー、及び、上述したような既存の発見的状態シーケンス評価モデルを含んでいる。この例では、ポリシーロールアウトは、教師あり学習技術による使用のためのトレーニングデータを生成するために、発見的状態シーケンス評価モデルを使用して、現在の状態から後続する状態を選択するようにトレーニングされた教師あり学習技術によって取得される。
【０１３９】
[0150]  例えば、強化学習システムをトレーニングし、ポリシーネットワークとバリューネットワークを開発するために、「Ｍａｓｔｅｒｉｎｇ  ｔｈｅ  ｇａｍｅ  ｏｆ  Ｇｏ  ｗｉｔｈ  ｄｅｅｐ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ  ａｎｄ  ｔｒｅｅ  ｓｅａｒｃｈ」（Ｓｉｌｖｅｒ他、Ｎａｔｕｒｅ、第５２９巻、２０１６年１月２８日、第４８４頁〜第４８９頁）において説明されているような適切な強化学習技術が用いられる。強化学習システムは、したがって、１つ以上の運搬容器の再配置に関して使用されることになる最適な状態のシーケンスを識別できる。
【０１４０】
[0151]  １つの例において、強化学習技術をクラスタ１００の領域又は全体のクラスタ１００のいずれかに用いることができる。図１０を参照すると、運動制御システム３０２は、ここで説明した物体取扱システムを構成するために、強化学習技術を使用して学習するように構成されているエージェントを実現する。エージェントに対するポリシー及びバリューネットワークは、畳み込みニューラルネットワークによって提供され、これに関して、任意の適切な畳み込みニューラルネットワークは、当業者によって認識されるように用いられることができる。配備より前に、エージェントは、例えば、以下の方法でトレーニングされる。
【０１４１】
[0152]  一般的な原理として、エージェントは、所望のクラスタよりも小さいトレーニングクラスタを使用してトレーニング問題への解決法を決定することによってトレーニングされ、トレーニングクラスタは、所望のクラスタサイズ及びクラスタ密度にトレーニングクラスタが達するまで、反復してスケジューリングされる。このように、この例では、クラスタ１００の所望のサイズとクラスタ１００の所望の密度が事前に特定される（ステップ９００）。典型的に、これは、配備されたときのクラスタ１００のサイズ及び密度である。いわゆる問題空間は、エージェントをトレーニングする目的のための初期トレーニングシミュレーションのパラメータをセットするために、その後規定される。この点において、トレーニングクラスタの初期サイズが特定され（ステップ９０２）、これは、トレーニングクラスタの密度とともに所望のクラスタ１００より小さい。初期クラスタは、この例では、４×４×１クラスタである。しかしながら、初期クラスタサイズが異なり、異なる次元であることがあることを当業者は認識するであろう。初期クラスタは、エージェントをトレーニングする目的のための種とみなすことができ、はるかに大きい訓練シミュレーションまで構築できる単純なトレーニングシミュレーションをサポートするのに役立つ。
【０１４２】
[0153]  規定されるトレーニングクラスタは、複数の論理的再配置可能要素を備え、これは、論理荷物のような、論理運搬容器のロケーションであることがある。複数の論理的再配置可能要素は、再構成可能トポロジーを有する３次元クラスタを模倣するように構成されている。複数の論理的再配置可能要素は、空のロケーションであることがあり、これは、トレーニングクラスタの密度を規定する。宛先に割り当てられることになるトレーニングクラスタの多数の論理運搬容器も特定される。
【０１４３】
[0154]  処理及びスケーリングを促進するために、トレーニングクラスタ内の各ロケーションは、４次元テンソルで表される。この例では、４Ｄテンソルの最初の３つの次元は、トレーニングクラスタ１００中の座標に対応する。テンソルの4つ目の次元は、例えば、論理的再配置可能要素が占有されているか否か、及び、割り当てられたとき、論理的再配置可能要素の宛先の相対ポジションのような、メタデータを備えている。メタデータは、論理的再配置可能要素の以前の再配置の履歴を備えることもできる。
【０１４４】
[0155]  その後、エージェントのトレーニングを以下のように実行する（ステップ９０４）。図１１を参照すると、トレーニングクラスタに対して割り当てるサイズ、密度、及び、宛先の数の知識により、エージェントは、最初に特定されるトレーニングクラスタの密度を、例えば、ゼロ個の空の論理的運搬可能要素を備える最大値に最初に設定する（ステップ９１２）。その後、トレーニングクラスタの最初に特定された密度に到達するまで、エージェントはトレーニングクラスタから論理運搬容器を繰り返しランダムに取り除く（ステップ９１４、９１８）。トレーニングクラスタから除去するための論理運搬容器の各選択は、除去が確実に許容されるように検証する（ステップ９１６）。所定の論理運搬容器を取り除くための条件は、機械学及び／又は用いられる運搬容器の制約に関連することがある。制約チェッカーモジュール４１５は、論理運搬容器の除去が許容されるか否かを決定するために使用できる。除去が許容されない場合、合法的に除去できる論理運搬容器が見いだされるまで、別の論理運搬容器が選択される（ステップ９１４）。いったんトレーニングクラスタに対する特定の密度が獲得されると、エージェントは、クラスタ内の宛先に割り当てられることになるトレーニングクラスタの論理運搬容器の数をランダムに選択し、宛先がランダムに選択され、選択された論理運搬容器に割り当てられる（ステップ９２０）。しかしながら、宛先の選択は、１つ以上の制約を受ける。例えば、機械的な制約の理由のために、宛先として角を選択することは禁止されることがある。宛先としての開始ロケーションの使用も禁止されることがある。制約チェッカーモジュール４１５は、禁止された宛先選択を決定するように再度用いられることがある。
【０１４５】
[0156]  上記で定義されたトレーニングクラスタに基づいて、エージェントは、その後、宛先を割り当てられた論理運搬容器のそれぞれを、割り当てられた宛先にそれぞれ移動させるために、１つ以上の論理的再配置可能要素の、１つ以上の軌跡ともここでは呼ばれる、１つ以上の移動のシーケンスを決定するように試行する。この例では、宛先を割り当てられた論理運搬容器をそれぞれの宛先に移動させるために、論理的再配置可能要素も構成するトレーニングクラスタ中の空のロケーション又は空隙の再配置に関して、エージェントは現在のトレーニングシミュレーションを解決することを考慮する。この点で、空いているロケーションの再配置は、トレーニングクラスタ中の所定の空隙又は「穴」を囲む論理運搬容器の再配置を考慮するよりも、計算的により効率的である。
【０１４６】
[0157]  エージェントは、したがって、トレーニングクラスタの現在のステータスの記憶されたスナップショットにアクセスし（ステップ９２２）、これは、トレーニングクラスタ中の各論理運搬容器のロケーションを含むことができる。エージェントは、その後、アクションが割り当てられることになる論理的再配置可能要素を選択する（ステップ９２４）。この例では、論理的に再配置可能要素は、トレーニングクラスタ内の空のロケーションである。エージェントによって選択されるアクションの生成はシーケンシャルであり、後続するアクションを選ぶ直前にアクションの効果をエージェントに知らせ、考慮に入れる必要があることから、エージェントは、エージェントによって既に計画されたアクションのリストを管理し、この情報はエージェントによってアクセスされ（ステップ９２６）、トレーニングクラスタの現在の状態の表示を生成する（ステップ９２８）。エージェントは、選択した論理的再配置可能要素、例えば、選択した空のロケーションに対するアクションを決定する（ステップ９３０）。この例では、以前の例に関連して上述した方法論にしたがってアクションが選択される（ステップ９３０）。例えば、エージェントは、これまでニューラルネットワークでサポートされるエージェントによってトレーニングされたポリシーにしたがってアクションを選ぶことができる。報酬関数が実現され、例えば、−１の「報酬」をこれらのそれぞれの宛先に達しない論理的再配置可能要素に、及び、０をこれらのそれぞれの宛先に達する論理的再配置可能要素に割り振るルールセットに基づくことができる。代替的に、すべてのアクティブな論理運搬容器が移動を終えたとき、所定の論理的再配置可能要素が最後の再配置ロケーションステップ中に割り当てられた宛先に達しない限り、０の報酬を論理的再配置可能要素に関して割り振ることができ、このケースでは、報酬は、所定の論理的再配置可能要素の、例えば、いわゆるマンハッタン距離の開始ロケーションと宛先ロケーションとの間の距離に比例する。アクションは、この例では、１ホットテンソルのように使用して表され、０は、静的なままであることを表し、１から６は、移動の方向、例えば、北、東、南、西、上、及び、下を表す。いったん、選択された論理的再配置可能要素に対して再配置が選択されると、選択されたアクションは記憶され（ステップ９３２）、その後、エージェントは、すべての可能性あるアクションが考慮されているか否かを決定する（ステップ９３４）。例えば、他の論理的再配置可能要素によって、他のアクションを実行できる場合、さらなるアクションが利用可能であると決定されなくなるまで上記のステップ９２４〜９３４を繰り返すことによって、アクションは決定される。その後、いったんアクションのセットが決定されると、エージェントは、これらのアクションを選択した軌道又は再配置経路として記録し（ステップ９３６）、ニューラルネットワークは、例えば、ニューラルネットワーク中の重みを更新することによって、更新される。いったんすべての論理運搬容器がこれらの割り当てられた宛先に達する、又は、予め定められた時間期間の間、シミュレーションを継続できる、及び、論理運搬容器を���らなる宛先に割り当てることできると、アクションのセットは完了したようにみなすことができる。しかしながら、いったんトレーニングシミュレーションが完了すると、計画されたアクションのリストはクリアされる。
【０１４７】
[0158]  別の例では、生成された軌跡は、例えば、軌跡の回転、軌跡の反射、軌跡の反転時間、及び／又は、軌跡の論理運搬容器に割り当てられた宛先の遡及的変更によって、ニューラルネットワークを更新するための追加のデータを生成するために使用できる。
【０１４８】
[0159]  初期トレーニングクラスタを使用してトレーニングすることは、その後に軌跡を決定するための図１２のプロセスの繰り返しの実行が続く、初期トレーニングクラスタと論理運搬容器の割り当てとこれらの関係付けられている宛先とを再構成するように図１１のプロセスを繰り返すことにより、満足に最適化されるまで、繰り返される（必要な反復の程度は、例えば、計算された報酬における変化を無視できるか否かのような、トレーニングの進度に依存して変化することを当業者は認識するだろう）。いったんエージェントが初期トレーニングクラスタについて十分にトレーニングされると、再度図１０を参照すると、エージェントは、トレーニングクラスタのサイズとトレーニングクラスタの密度が、クラスタ１００の所望のサイズに、及び、クラスタ１００の所望の密度に対応するか否かを決定する（ステップ９０６）。トレーニングクラスタが所望のサイズと密度でない場合、エージェントは、例えば、クラスタ密度を減少させる及び／又はトレーニングクラスタのサイズを増加させることによってトレーニングクラスタを調節し（ステップ９０８）、トレーニングクラスタの初期サイズとトレーニングクラスタパラメータの初期密度が入力クラスタ構造と入力クラスタ密度としてそれぞれトレーニングクラスタの更新されたサイズとトレーニングクラスタの更新された密度に置き換えられる、修正されたトレーニングクラスタについてエージェントをトレーニングする上記のトレーニングシミュレーションを繰り返す（ステップ９０４）。上記のプロセスは、クラスタの所望のサイズとクラスタの所望の密度が達成されるまで繰り返され、エージェントは、以前のトレーニングクラスタに関連して行われたトレーニングシミュレーションから既に獲得したトレーニングから利益を得ることができる。
【０１４９】
[0160]  いったんエージェントがトレーニングされると、エージェントは、実際のクラスタ、例えば、ここで説明した他の例に関連して上述したクラスタ１００中の荷物を再配置するためのアクションを決定するように配備されることができる。システムは、顧客フルフィルメントセンター（ＣＦＣ）中で用いられることができ、或いは、オンライン小売システムにおける、より大きなＣＦＣ又は倉庫又はフルフィルメントセンターの一部を形成する。
【０１５０】
[0161]  強化学習を用いることに加えて、又は、代替として、例えば、上述した他の互換性のある方法論に関連して、クラスタ１００は、複数の運搬容器の回転フローを、例えば、クラスタ１００に渡って運搬容器を再配置するためのハイウェイとして機能するクラスタ１００内の運搬容器の１つ以上のループを提供するように構成されることができる。この点において、所定の運搬容器は、運搬容器に割り当てられる宛先ロケーションに向けて運搬容器を移動させる「流れ」によって搬送されるように、運搬容器の循環フローをつなげることができる。運動制御システムは、クラスタ１００内の運搬容器を再配置するための軌跡を決定するとき、クラスタ１００内に複数のフローのうちのフローのような存在を組み込むように構成される。もちろん、再配置を必要とする複数の運搬容器は、運搬容器の１つ以上のフローを利用できる。
【０１５１】
[0162]  別の実施形態では、運動制御システム３０２は、メンテナンスモードを有している。例えば、運搬容器１０４が故障し、クラスタ１００内で人間のオペレータ又はメンテナンスロボットによってアクセスされる必要がある場合、運動制御システム３０２は、メンテナンスモードに入り、例えば、クラスタ１００内の多数のロケーションを空にするためにクラスタ１００中にロケーションを作る目標を使用することにより、多数の運搬容器に多数の隣接する空隙を提供するように命令し、それにより、故障した運搬容器１０４への通路を生成する。
【０１５２】
[0163]  さらなる実施形態において、運搬容器１０４が故障していると決定される場合、運動制御システム３０２は、故障した運搬容器１０４をクラスタ１００の周囲の予め定められたロケーションへの再配置する目標を生成し、それにより、故障した運搬容器１０４を効率的に取り出す。この点で、運搬容器１０４によって被った誤動作に依存して、利用可能な場合、異なる駆動原理を用いて、クラスタ１００から運搬容器１０４を取り出すことができる。この点で、運動制御システム３０２は、クラスタ中の運搬容器の調整に異なるアプローチを用いることができる。例えば、運動制御システム３０２の制約チェッカー４１５は、状態のシーケンスの順列を評価するとき、異なる基準を使用することができる。
【０１５３】
[0164]  上記の具現化は、クラスタ１００を備える倉庫の文脈で説明してきた。しかしながら、上記のシステムは、例えば、車両内で又は宇宙のような航空の文脈のような、他の環境における用途を見出すことを当業者は認識すべきである。
【０１５４】
[0165]  さらに別の実施形態（図１３）において、分散システム９００は、第１のロケーションにおける運搬容器の第１のクラスタ９０２と第２のロケーションにおける第２のクラスタ９０４と、第３のロケーションにおける住居９０６とを備えている。第１のクラスタ９０２、第２のクラスタ９０４、及び、住居９０６は、地上にあり、地下導管ネットワーク９１０が施設されている。第１のポート９１２は、第１のクラスタ９０２に隣接して位置付けられ、第２のポート９１４は、第２のクラスタ９０４に隣接して位置付けられ、第３のポート９１６は、住居９０６に隣接して位置付けられている。第１のポート９１２は、第１のクラスタ９０２と導管ネットワーク９１０との間の運搬容器の移動を可能にするように提供されている。同様に第２のポート９１４は、第２のクラスタ９０４と導管ネットワーク９１０との間の運搬容器の移動を可能にするように提供されている。同様に、第３のポート９１６は、住居９０６と導管ネットワーク９１０との間の運搬容器の移動を可能にするように提供されている。
【０１５５】
[0166]  この例では、導管ネットワーク９１０は、第１のクラスタ９０２と第２のクラスタ９１４によって用いられる移動技術と互換性のある移動技術を用いている。同様に、住居は、導管ネットワーク９１０によって用いられる移動システムと互換性のある受け取り移動システムを用いている。導管ネットワーク９００は、（示していない）分散制御システムを備えている。
【０１５６】
[0167]  より多くの又はより少ない数のクラスタを、その間のさまざまな距離のロケーションに配備できることを認識すべきである。システムは、ＣＦＣ中で用いることができ、並びに／或いは、第１及び第２のクラスタ９０２、９０４はＣＤＣを構成でき、及び／又は、オンライン小売システムにおける、より大きなＣＦＣ又は倉庫又はフルフィルメントセンターを形成できる。もちろん、分散システム９００は、非常に多くの住居を備えることができる。
【０１５７】
[0168]  動作において、導管ネットワーク９１０は、例えば、クラスタ内に再配置可能であり、例えば、第１のポート９１２を介して第１のクラスタ９０２からネットワーク導管９１０内に、この例では、クラスタ内の内部開始ロケーションに配置される、例えば運搬容器１０４の挿入を調整するために、上記では物体取扱調整システムと呼ばれる運動制御システム３０２と協同する。分散制御システム９００は、次に、第１のポート９１２から最終的な宛先、例えば住居９０６に、運搬容器１０４を向かわせ、輸送する。
【０１５８】
[0169]  運搬容器１０４が住居９０６に到着すると、受け取り移動システムは、分散制御システムと協同し、例えば、導管ネットワーク９１０から、住居９０６へと、運搬容器を持ち上げることによって、運搬容器１０４を受け取る。もちろん、運搬容器１０４は、例えば、再配置可能運搬容器１０４の導管ネットワーク９０１への挿入を含む、例えば、住居９０６から第１のクラスタ９０２又は第２のクラスタ９０４へと逆に移動できることを認識すべきである。
【０１５９】
[0170]  いくつかの実施形態では、異なるコンピューティングアーキテクチャを用いることができ、例えば、用いられるサーバは、分散コンピューティングのための「クラウドコンピューティング」タイプのプラットフォーム上で実現できる。同様に、クラウドの文脈で、ここで述べた任意の実施形態及び具現化は、クラウドの代わりに使用できる、１つ以上のローカルサーバ、単一のリモートサーバ、サービスプラットフォームとしてのソフトウェア、又は、他の何らかのコンピューティングデバイス上で同様に実現できる。実際に、本システム及び方法は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、又は、ワイヤレスハンドヘルドを含んでいる、実質的に任意の種類のコンピュータデバイス上で実施できる。
【０１６０】
[0171]  上記で説明したシステムは、クラスタを横断する運搬容器の文脈のものであるが、上記の技術は、排他的ではないが、例えば、できるだけ単純でさらに迅速な方法で干渉のない３次元構造のような、多数の移動可能なアイテムを容積に渡って移動する必要がある任意の数のシステムに適用できることがさらに認識されるだろう。上記の例は、クラスタ内の１つ以上の運搬容器の再配置の文脈で説明されているが、用語「内」は、クラスタの周辺面における１つ以上の運搬容器の再配置を包含するように意図されていることも認識すべきである。
【０１６１】
[0172]  本システム及び方法は、本発明にしたがう方法において、さまざまなプロセスステップのそれぞれを実現するために、１つ以上のコンピュータデバイスを可能にするためのコンピュータプログラムコードを含むコンピュータ読取可能／使用可能媒体としても実現できる。動作全体を実行する、１つより多くのコンピュータデバイスのケースにおいて、コンピュータデバイスは、動作のさまざまなステップを分散するようにネットワーク化されている。用語コンピュータ読取可能媒体又はコンピュータ使用可能媒体は、プログラムコードの任意のタイプの物理実施形態のうちの１つ以上を備えていることが理解される。特に、コンピュータ読取可能／使用可能媒体は、コンピュータ及び／又は記憶システムに関係付けられているメモリのような、コンピューティングデバイスの１つ以上のデータ記憶区分上で、製品の１つ以上のポータブル記憶物品（例えば、光学ディスク、磁気ディスク、テープ等）上で具現化されているプログラムコードを備えることがある。
【図１】
2020536025.tif 000003
【図２】
2020536025.tif 000004
【図３】
2020536025.tif 000005
【図４】
2020536025.tif 000006
【図５】
2020536025.tif 000007
【図６】
2020536025.tif 000008
【図７】
2020536025.tif 000009
【図８】
2020536025.tif 000010
【図９】
2020536025.tif 000011
【図１０】
2020536025.tif 000012
【図１１】
2020536025.tif 000013
【図１２】
2020536025.tif 000014
【図１３】
2020536025.tif 000015
【国際調査報告】
2020536025.tif 000016
2020536025.tif 000017