(57)【特許請求の範囲】
【請求項１】
在庫システムであって、
作業スペースのワークステーションであって、在庫ホルダが前記ワークステーションに位置しているときに前記在庫ホルダに関連付けられた１つ以上の在庫物品に関するタスクを実施するように構成された少なくとも１つのプロセッサで構成された、ワークステーションと、
前記ワークステーションに関連付けられ、前記ワークステーションを、前記ワークステーションの接続範囲内の１つ以上の移動式駆動ユニットと接続するように構成された、ローカルエリアネットワークと、
前記１つ以上の在庫物品に関して前記１つ以上の移動式駆動ユニットに命令を提供するように構成された、管理システムと、
前記作業スペース内で前記在庫ホルダを搬送するように構成された、移動式駆動ユニットと、を備え、
前記移動式駆動ユニットが、
プロセッサと、
前記プロセッサによって実行されると、前記移動式駆動ユニットに、少なくとも、
前記１つ以上の在庫物品に関する前記ワークステーションの指示および前記ワークステーションの前記少なくとも１つのプロセッサによって実行されるべき命令のサブセットを備える命令のセットを前記管理システムから受信させ、
前記命令のセットに基づいて決定された経路に沿って進ませ、
前記移動式駆動ユニットが前記ローカルエリアネットワークに関連付けられた前記ワークステーションの近傍に侵入すると、前記ワークステーションに関連付けられた前記ローカルエリアネットワークに接続させ、
前記ワークステーションに関連付けられた前記ローカルエリアネットワークに関連付けられたパラメータに少なくとも部分的に基づき前記ワークステーションのための識別子を識別させ、
前記ワークステーションの前記識別子が、前記管理システムから受信した前記命令のサブセットに対応していることを判断させ、
前記ワークステーションの前記識別子が、前記管理システムから受信した前記命令のサブセットに対応しているとの判断に応答して、前記ローカルエリアネットワークを介して、前記管理システムから受信した前記命令のサブセットを前記ワークステーションに送信させることにより、前記ワークステーションの前記少なくとも１つのプロセッサに前記命令のサブセットを実行させ、前記タスクを実施する、命令を備えるメモリと、
を備える在庫システム。
【請求項２】
前記移動式駆動ユニットの前記メモリに記憶された前記命令はさらに、前記移動式駆動ユニットに、
第２の移動式駆動ユニットと接続させ、
前記第２の移動式駆動ユニットから経路情報を受信させ、
前記受信した経路情報に基づいて前記第２の移動式駆動ユニットとの衝突を回避するために前記移動式駆動ユニットの現在の経路を調整させる、
請求項１に記載の在庫システム。
【請求項３】
前記移動式駆動ユニットの前記メモリに記憶された前記命令はさらに、前記移動式駆動ユニットに、
入力センサに関連付けられた前記ローカルエリアネットワークに接続すると、前記入力センサからの入力を受信させ、
前記受信した入力に基づいて前記移動式駆動ユニットの現在の経路を調整させる、
請求項１または２に記載の在庫システム。
【請求項４】
１つ以上の在庫物品に関する前記タスクは、前記１つ以上の在庫物品を収集する命令をディスプレイ装置上に表示するステップを備える、請求項１から３のいずれか一項に記載の在庫システム。
【請求項５】
移動式駆動ユニットによって、前記移動式駆動ユニットと異なるシステムコンポーネントの指示および前記システムコンポーネントのプロセッサによって実行されるべき１つ以上のコンポーネント命令を含む命令のセットを、管理システムから受信するステップであって、前記１つ以上のコンポーネント命令は前記システムコンポーネントの前記プロセッサに少なくとも１つの動作を実行させる、ステップと、
前記移動式駆動ユニットによって、前記システムコンポーネントまで進むステップと、
前記移動式駆動ユニットによって、進んでいる間、前記移動式駆動ユニットが前記システムコンポーネントの近傍に侵入すると、前記移動式駆動ユニットと、前記移動式駆動ユニットまたは前記システムコンポーネントによって操作されるローカルエリアネットワークとの間に接続を確立するステップと、
前記１つ以上のコンポーネント命令が、確立された前記接続に対応する前記システムコンポーネントを対象としていることを識別するステップと、
前記接続の確立すること、前記１以上のコンポーネント命令が前記システムコンポーネントを対象としていることを識別することに応じて、前記ローカルエリアネットワークを介して前記システムコンポーネントの前記プロセッサによって実行されるべき前記１つ以上のコンポーネント命令を送信し、前記システムコンポーネントの前記プロセッサに、前記少なくとも１つの動作を実行させるために前記１以上のコンポーネント命令を実行させる、ステップと、
を備える方法。
【請求項６】
前記システムコンポーネントの前記指示を含む前記命令のセットを受信するステップは、ロボット装置、入力センサ、在庫ホルダ、およびワークステーションの組み合わせを備える複数のシステムコンポーネントを受容するステップを備える、請求項５に記載の方法。
【請求項７】
前記ローカルエリアネットワークを介して、前記システムコンポーネントから前記少なくとも１つの動作に対する応答を受信すると、前記移動式駆動ユニットが在庫物品に関連付けられたステータスを更新するステップをさらに備える、請求項５または６に記載の方法。
【請求項８】
在庫物品に関連付けられた前記ステータスを更新する前記ステップは、前記少なくとも１つの動作が実施不可能であると判断すると、前記移動式駆動ユニットが前記管理システムまたは第２の移動式駆動ユニットに対して失敗を指示するステップを備える、請求項７に記載の方法。
【請求項９】
前記ステータスが失敗を指示すると判断すると、前記移動式駆動ユニットが前記移動式駆動ユニットの無線伝送範囲内の前記第２の移動式駆動ユニットにステータス警報を送信するステップをさらに備え、前記ステータス警報を送信するステップは前記第２の移動式駆動ユニットによって繰り返される、請求項８に記載の方法。
【請求項１０】
前記システムコンポーネントまで進むステップは、ワークステーションまで進むステップを備え、前記移動式駆動ユニットが在庫ホルダを収集するステップと、前記移動式駆動ユニットが前記在庫ホルダを前記ワークステーションまで配達するステップと、前記在庫ホルダから少なくとも１つの物品を取り出すために、前記移動式駆動ユニットが前記ワークステーションのオペレータに命令を提示するステップと、をさらに備える、請求項５から９のいずれか一項に記載の方法。
【請求項１１】
前記システムコンポーネントまで進むステップは、前記移動式駆動ユニットが在庫ローダまで進むステップを備え、前記１つ以上のコンポーネント命令は前記在庫ローダに、在庫ホルダを前記移動式駆動ユニット上に装填させる、請求項５から１０のいずれか一項に記載の方法。
【請求項１２】
移動式駆動ユニット装置であって、
プロセッサと、
前記プロセッサで実行されると前記移動式駆動ユニットに、少なくとも、
少なくとも１つのシステムコンポーネントの指示および前記少なくとも１つのシステムコンポーネントのプロセッサによって実行されるべき動作を備える命令のセットを、管理システムから受信させることであって、前記命令のセットは、前記動作を実施するために前記移動式駆動ユニットによって実行されるべき第１の命令のサブセットおよび前記少なくとも１つのシステムコンポーネントによって実行されるべき第２の命令のサブセットを備える、ことをさせ、
受信した前記第１の命令のサブセットにしたがって前記少なくとも１つのシステムコンポーネントまで進ませ、
前記移動式駆動ユニットが複数のローカルエリアネットワークのうちのローカルエリアネットワークの伝送範囲内にあることを検出させ、
前記ローカルエリアネットワークが関連付けられたシステムコンポーネントを判断するために前記ローカルエリアネットワークに接続させ、
前記ローカルエリアネットワークが関連付けられた前記システムコンポーネントが、前記第２の命令のサブセットを実行するべき前記少なくとも１つのシステムコンポーネントを備えることを検出することに応答して、前記第２の命令のサブセットを前記少なくとも１つのシステムコンポーネントに送信させ、少なくとも１つの在庫物品に関する前記動作を実施するために、前記第２の命令のサブセットが前記少なくとも１つのシステムコンポーネントの前記プロセッサに前記第２の命令のサブセットを実行させる、
命令を含むメモリと、
を備える移動式駆動ユニット装置。
【請求項１３】
前記命令はさらに、前記移動式駆動ユニット装置に、前記ローカルエリアネットワークが関連付けられた前記システムコンポーネントが前記少なくとも１つのシステムコンポーネントではないと判断すると、前記システムコンポーネントに関する情報を中央当局に送信させる、請求項１２に記載の移動式駆動ユニット装置。
【請求項１４】
前記命令はさらに、前記移動式駆動ユニット装置に、
前記移動式駆動ユニットが前記複数のローカルエリアネットワークの第２のローカルエリアネットワークの伝送範囲内にあることを検出させ、
前記ローカルエリアネットワークが関連付けられた第２のシステムコンポーネントを判断するために前記第２のローカルエリアネットワークに接続させ、
前記第２のシステムコンポーネントが前記命令のセットに関連すると判断すると、第２の動作を実行させる、
請求項１２または１３に記載の移動式駆動ユニット装置。
【請求項１５】
前記命令はさらに、前記移動式駆動ユニット装置に、前記受信した命令のセットに基づいて前記少なくとも１つのシステムコンポーネントの各々への経路を生成させる、請求項１２から１４のいずれか一項に記載の移動式駆動ユニット装置。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]通信販売倉庫、サプライチェーン配送センター、空港手荷物システム、および特注製造施設などにあるような現代の在庫システムは、在庫物品の要求に応える上で大きな課題に直面している。在庫システムが成長するにつれて、大量の梱包、保管、およびその他の在庫関連タスクを同時に完了するという課題は、簡単ではなくなっている。大量の多様な在庫要求に応える責任を負う在庫システムでは、空間、機器、および労働力を含む、システムリソースの非効率的な利用の結果、スループットの低下、許容できないほど長い応答時間、未完了タスクのバックログの終わりのない増加、および一般的にシステム性能の低下を招く可能性がある。加えて、多くの在庫システムのサイズまたは能力を拡大または縮小するには、既存のインフラストラクチャおよび機器への大幅な変更を必要とする。その結果、容量または機能への漸進的な変更のコストは法外に高くなり、システムスループットのばらつきに適合させるシステムの能力を制限する可能性がある。
【０００２】
[0002]在庫システムを利用するエンティティは、（たとえば、ロボット工学の使用を介して）これらのシステムを自動化することを選択してもよい。これにより、在庫システムは、（無線接続または直接物理接続のどちらを介して接続されても）在庫システムに接続された多くのコンポーネント（ロボット、センサ、ワークステーションなど）を追跡および管理する必要があることが多い。したがって、在庫管理システムのコンポーネントの数が少しでも増加すると、在庫管理システムによって必要とされる帯域幅および／または処理能力の量を大幅に増加させる可能性がある。
本開示による様々な実施形態は、以下の図面を参照して説明される。
【図面の簡単な説明】
【０００３】
【図１】いくつかの実施形態によるアドホックネットワークを介して移動式駆動ユニットにタスク割り当てが提供され得る、例示的な在庫システムを示す図である。
【図２】特定の実施形態による在庫システムのコンポーネントを示す図である。
【図３】図２に示される在庫システムの特定の実施形態で利用され得る例示的な管理モジュールのコンポーネントをより詳細に示す図である。
【図４】図２に示される在庫システムの特定で利用され得る例示的な移動式駆動ユニットをより詳細に示す図である。
【図５】図２に示される在庫システムの特定で利用され得る例示的な移動式駆動ユニットをより詳細に示す図である。
【図６】少なくともいくつかの実施形態による短距離通信機構を備えた複数のリソースを使用して実装され得るアドホックネットワークの一例を示す図である。
【図７】少なくともいくつかの実施形態による移動式駆動ユニットによって実行され得る相互作用のある非限定例を示す図である。
【図８】少なくともいくつかの実施形態による、管理モジュールを実行する計算装置と、移動式駆動ユニットと、システムコンポーネントに関連付けられた計算装置との間の例示的な相互作用を示す図である。
【図９】少なくともいくつかの実施形態による、一連のローカルネットワークを介して在庫を管理するためのプロセスのフロー図である。
【図１０】少なくともいくつかの実施形態による、移動式駆動ユニットによって搬送されるタスクを遂行するためのプロセスのフロー図である。
【図１１】少なくとも１つの実施形態による、在庫システムの様々な特徴が実装され得る環境を示す図である。
【発明を実施するための形態】
【０００４】
[0014]以下の説明では、様々な実施形態が説明される。説明目的のため、実施形態の完全な理解を提供するために、特定の構成および詳細が明記される。しかしながら、実施形態が特定の詳細なしで実践され得ることも、当業者にとって明らかである。さらに、記載されている実施形態を曖昧にしないために、周知の特徴が省略または簡略化されることがある。
【０００５】
[0015]本明細書の実施形態は、一連のローカルネットワークを介して管理される移動式駆動ユニットおよび／または他のロボットコンポーネントを含む在庫システムを対象とする。具体的には、本明細書における特徴は、各々が様々なシステムコンポーネントによって動作される、一連の個別の無線ローカルネットワークを対象とする。無線ローカルネットワークの伝送範囲に侵入すると、移動式駆動ユニットは、ローカルネットワークに接続し、ローカルネットワークに関連付けられたシステムコンポーネントを識別し、システムコンポーネントを対象とするいずれかの命令が移動式駆動ユニットに提供されたか否かを判断し、識別されたシステムコンポーネントに関する１つ以上の命令を実行することができる。システムコンポーネントは、在庫システムに代わって機能を実行するいずれのリソースまたは装置であってもよい。非限定例として、システムコンポーネントは、ロボット装置、入力センサ、在庫ホルダ、ワークステーション、またはその他いずれか適切なシステムリソースを備えてもよい。
【０００６】
[0016]一実施形態によれば、移動式駆動ユニットは、命令を受信するために中央当局に接近してもよい。中央当局は、移動式駆動ユニットが実行できるタスクを識別することができ、識別されたタスクに基づいてタスク割り当てを生成することができる。タスク割り当ては、様々なシステムコンポーネント（たとえば、ロボット装置、入力センサ、在庫ホルダなど）に関して様々な動作を移動式駆動ユニットに実行させる命令のセットを備えてもよい。いくつかの実施形態では、１つ以上の無線ローカルネットワークは、これらの様々なシステムコンポーネントに関して動作されてもよい。移動式駆動ユニットは、これらの様々なシステムコンポーネントの各々を順に訪問して、タスク割り当てに示された動作を実行するように、（タスク割り当てを介して）構成されてもよい。移動式駆動ユニットがシステムコンポーネントの近傍に侵入すると、これはそのシステムコンポーネントに関連付けられた無線ローカルネットワークに接続してもよい。無線ローカルネットワークへの接続が確立すると、移動式駆動ユニットは、システムコンポーネントに関するタスク割り当てに示された動作をそのシステムコンポーネントに完了させる命令を送信することができる。
【０００７】
[0017]実例として、移動式駆動ユニットは、在庫フロアから指定された在庫ホルダを回収し、その在庫ホルダを指定されたワークステーションに配達する命令を、中央当局から受信することができる。移動式駆動ユニットには、その在庫ホルダから回収すべき物品のタイプおよび量の指示も提供され得る。この説明例では、移動式駆動ユニットは、指定された在庫ホルダまで進み、在庫ホルダを回収し、指定されたワークステーションまで進むことができる。指定されたワークステーションに近づくと、移動式駆動ユニットは、そのワークステーションに関して動作するローカルエリアネットワークを検出することができる。移動式駆動ユニットは、このローカルエリアネットワークに接続し、在庫ホルダから取り出すべき物品を指示する命令をワークステーションに送信することができる。この例を続けると、オペレータは、指示された物品を在庫ホルダから取り出し、その物品が取り出されたことを移動式駆動ユニットに（たとえば、ワークステーションの計算装置によって実行されるグラフィカルユーザインターフェース（ＧＵＩ）を介して）信号送信してもよい。この信号を受信すると、移動式駆動ユニットは在庫ホルダを戻し、その後さらなる命令のため中央当局に戻ってもよい。
【０００８】
[0018]本開示は在庫管理システムに関するが、本開示の実施形態は多くの代替環境で実施され得ることが、当業者によって認識されるだろう。たとえば、記載された技術は、交通システム内の自律車両に適用されてもよい。記載された開示の文脈における在庫管理システムの説明は、例示的な実施形態としてのみ提示されており、限定するように意図されるものではないことに、留意すべきである。
【０００９】
[0019]図１は、いくつかの実施形態による、タスク割り当てがアドホックネットワークを介して移動式駆動ユニットに提供され得る、例示的な在庫システムを示す。図１では、管理モジュール１０２を含む計算装置は移動式駆動ユニット１０４と通信することができる。管理モジュール１０２を含む計算装置は、通信機構１０６を介して移動式駆動ユニット１０４に１つ以上のセットのコンピュータ実行可能命令（たとえば、タスク割り当て）を通信するように構成されてもよい。通信機構の例は、近距離無線通信（ＮＦＣ）、またはＢｌｕｅｔｏｏｔｈ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）  ｌｏｗ−ｅｎｅｒｇｙ（ＢＬＥ）、無線ローカルエリアネットワーク（たとえばＷｉＦｉ）、ｉＢｅａｃｏｎなどのような他の無線周波数または無線通信プロトコルを使用して通信を送受信するように構成された、１つ以上の無線周波数（ＲＦ）トランシーバを含み得る。いくつかの実施形態では、通信機構１０６は、赤外線通信装置を含んでもよい。いくつかの実施形態では、通信機構１０６は、長距離通信手段および短距離通信手段の両方を含んでもよい。たとえば、通信機構は、図示された在庫システムの様々な他のコンポーネントとの通信を可能にするために、セルラネットワークに接続するように構成されたアンテナを含んでもよい。加えて、在庫システムは多数の在庫ホルダ１０８を含んでもよく、その各々は在庫ホルダ識別子を介して識別されてもよい。在庫システムは、ワークステーション計算装置１１２を付加的に含んでもよい。
【００１０】
[0020]いくつかの実施形態では、管理モジュール１０２を実行する計算装置は、移動式駆動ユニット１０４の存在を発見することができる。たとえば、移動式駆動ユニット１０４は、短距離通信機構１０６の範囲内にあるときにプライベートネットワークに接続してもよい。移動式駆動ユニット１０４がプライベートネットワークに接続したことを検出すると、管理モジュール１０２を含む計算装置は、移動式駆動ユニット１０４のステータスに関する報告を受信し、移動式駆動ユニットの現在のステータスを識別し、移動式駆動ユニットのための適切なタスク割り当てを識別し、移動式駆動ユニット１０４によるタスク割り当ての完了をもたらす命令を生成し、移動式駆動ユニット１０４にタスク割り当てを送信するように、構成されてもよい。いくつかの実施形態では、管理モジュール１０２は、移動式駆動ユニットに関連付けられたタイプおよび能力に基づいて、どのタスク割り当てが移動式駆動ユニットにとって適切かを判断することができる。たとえば、管理モジュール１０２は、移動式駆動ユニットに関連付けられた識別子を受信し、その識別子に基づいて、移動式駆動ユニットのタイプおよび／または同一性を判断することができる。管理モジュール１０２はその後、検出された移動式駆動ユニットおよびその能力を識別するために、移動式駆動ユニットのデータベースに問い合わせを行ってもよい。
【００１１】
[0021]いくつかの実施形態では、タスク割り当ては、在庫ホルダ１０８の識別、回収すべき在庫ホルダ１０８内の１つ以上の物品の識別、およびワークステーションの識別を含んでもよい。タスク割り当ては、識別された在庫ホルダを移動式駆動ユニット１０４に回収させ、回収された在庫ホルダを識別されたワークステーションに持って行かせ、１つ以上の物品の指示を管理者に搬送されるようにワークステーションに提供させる命令を含んでもよい。管理モジュール１０２を実行する計算装置からタスク割り当てを回収すると、移動式駆動ユニット１０４は、指示された在庫ホルダ１０８へ、その後指示されたワークステーションへの経路を生成することができる。
【００１２】
[0022]在庫ホルダ１０８に到着すると、移動式駆動ユニットは、在庫ホルダ１０８上またはその付近に位置する在庫ホルダ識別子に基づいて、その在庫ホルダ１０８が指示された在庫ホルダであることを確認することができる。次いで移動式駆動ユニット１０４は、タスク割り当てにしたがって、在庫ホルダ１０８、または在庫ホルダ１０８内に位置する１つ以上の物品を回収することができる。次いで移動式駆動ユニット１０４は、回収された在庫ホルダ１０８とともに指示されたワークステーションまで移動することができる。
【００１３】
[0023]指示されたワークステーションに到着すると、移動式駆動ユニット１０４は、ワークステーション計算装置１１２によって動作される第２のネットワークに接続することができる。第２のネットワークに接続すると、移動式駆動ユニット１０４は、第２のプライベートネットワークを介して１つ以上の命令をワークステーション計算装置１１２に通信することができる。たとえば、移動式駆動ユニット１０４は、在庫ホルダ１０８から取り出すべき１つ以上の物品の指示をワークステーション計算装置１１２に通信することができる。いくつかの実施形態では、管理者または他のオペレータが在庫ホルダから物品を取り出して、移動式駆動ユニット１０４にステータス更新を提供してもよい。たとえば、オペレータが指示された物品を見つけることができない場合、オペレータは第２のネットワークを介して、物品が見つからなかったことを示すために移動式駆動ユニット１０４のステータスを更新する。すると移動式駆動ユニット１０４は、管理モジュール１０２を実行する計算装置に供給すべきステータス警報を生成することができる。
【００１４】
[0024]少なくともいくつかの実施形態によれば、移動式駆動ユニットは各々通信機構を含んでもよい。これらの実施形態では、移動式駆動ユニットはネットワークを動作させることができる。様々なシステムコンポーネントは各々無線送信機／受信機を有してもよく、移動式駆動ユニットがシステムコンポーネントの伝送範囲内に来ると移動式駆動ユニット１０４によって動作されるネットワークに接続することができる。いくつかの実施形態では、各システムコンポーネントは、ネットワークに接続すると移動式駆動ユニットによって動作されるネットワークを介してその識別子を通知することができ、移動式駆動ユニット１０４は、そのシステムコンポーネントが関係しているか否かを判断するためにこれを使用する。いくつかの実施形態では、移動式駆動ユニット１０４は、特定のシステムコンポーネントがそのネットワークに接続することのみを許可してもよい。
【００１５】
[0025]説明を簡単にするために、特定の数のコンポーネントが図１に示される。しかしながら、本発明の実施形態が各コンポーネントを２つ以上含み得ることは、理解されるべきである。加えて、本発明のいくつかの実施形態は、図１に示されるコンポーネントの全てよりも少ない数を含んでもよい。加えて、図１のコンポーネントは、いずれか適切な通信ポリシーを使用して、いずれか適切な通信媒体（インターネットを含む）を介して通信することができる。
【００１６】
[0026]図２は、在庫システム１０のコンポーネントを示す。在庫システム１０は、管理モジュール１５、１つ以上の移動式駆動ユニット２０、１つ以上の在庫ホルダ３０、および１つ以上の在庫ステーション５０を含む。移動式駆動ユニット２０は、管理モジュール１５によって通信されたコマンドに応答して、作業スペース７０内の地点の間で在庫ホルダ３０を運搬する。各在庫ホルダ３０は、１つ以上のタイプの在庫物品を保管する。その結果、在庫システム１０は、在庫システム１０からの在庫物品の入力、処理、および／または取り出し、ならびに在庫物品を伴う他のタスクの完了を容易にするために、作業スペース７０内の場所間で在庫物品を移動することができる。
【００１７】
[0027]管理モジュール１５は在庫システム１０の適切なコンポーネントにタスクを割り当て、タスクの完了における様々なコンポーネントの動作を調整する。これらのタスクは、在庫物品の移動および処理のみならず、在庫システム１０のコンポーネントの管理および保守にも関連し得る。たとえば、管理モジュール１５は、作業スペース７０の一部を、移動式駆動ユニット２０の駐車スペース、移動式駆動ユニット電池の予定された再充電または交換、空の在庫ホルダ３０の保管、または在庫システム１０およびその様々なコンポーネントによってサポートされる機能に関連するその他いずれかの動作に割り当てることができる。管理モジュール１５は、これらのタスクを実行するために在庫システム１０のコンポーネントを選択し、これらの動作の完了を容易にするために選択されたコンポーネントに適切なコマンドおよび／またはデータを通信することができる。図２には単一の離散コンポーネントとして示されているが、管理モジュール１５は複数のコンポーネントを表してもよく、移動式駆動ユニット２０または在庫システム１０の他のコンポーネントの一部を表すかまたは含んでもよい。その結果、以下に記載される特定の移動式駆動ユニット２０と管理モジュール１５との間の相互作用のいずれかまたは全ては、特定の実施形態において、移動式駆動ユニット２０と、１つ以上の他の移動式駆動ユニット２０との間のピアツーピア通信を表すことができる。管理モジュール１５の例示的な実施形態のコンポーネントおよび動作は、図３を参照して以下でさらに論じられる。
【００１８】
[0028]移動式駆動ユニット２０は、作業スペース７０内の場所の間で在庫ホルダ３０を移動させる。移動式駆動ユニット２０は、在庫ホルダ３０および／または在庫システム１０の他の要素の特性および構成に基づいて、在庫システム１０で使用するのに適したいずれかの装置またはコンポーネントを表してもよい。在庫システム１０の特定の実施形態では、移動式駆動ユニット２０は、作業スペース７０の周りを自由に移動するように構成された、独立した自己動力式の装置を表す。このような在庫システムの例は、「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＰＯＳＩＴＩＯＮＩＮＧ  Ａ  ＭＯＢＩＬＥ  ＤＲＩＶＥ  ＵＮＩＴ」と題された２０１５年７月２１日発行の米国特許第９，０８７，３１４号明細書、および「ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＦＯＲ  ＴＲＡＮＳＰＯＲＴＩＮＧ  ＩＮＶＥＮＴＯＲＹ  ＩＴＥＭＳ」と題された２０１２年１０月２日発行の米国特許第８，２８０，５４７号明細書に開示されており、これらの全開示内容は参照により本明細書に組み込まれる。代替実施形態では、移動式駆動ユニット２０は、作業スペース７０を通るトラック、レール、ケーブル、クレーンシステム、または他の案内または支持要素に沿って在庫ホルダ３０を移動させるように構成された、追跡在庫システムの要素を表す。このような実施形態では、移動式駆動ユニット２０は、パワードレールのような案内要素への接続を通じて、動力および／または支持を受けることができる。加えて、在庫システム１０の特定の実施形態では、移動式駆動ユニット２０は、作業スペース７０内および／または作業スペース７０の個別の部分間で移動するために代替の搬送機器を利用するように構成されてもよい。移動式駆動ユニット２０の例示的な実施形態のコンポーネントおよび動作は、図４および図５に関連して以下でさらに論じられる。
【００１９】
[0029]加えて、移動式駆動ユニット２０は、選択された在庫ホルダ３０を識別する情報を受信し、移動式駆動ユニット２０の場所を送信し、もしくは動作中に管理モジュール１５または移動式駆動ユニット２０によって使用されるその他いずれか適切な情報を交換するために、管理モジュール１５との通信が可能であってもよい。移動式駆動ユニット２０は、移動式駆動ユニット２０と管理モジュール１５との間の有線接続を使用して、および／またはその他の適切な方法で、管理モジュール１５と無線通信することができる。一例として、移動式駆動ユニット２０の特定の実施形態は、８０２．１１、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または赤外線データ協会（ＩｒＤＡ）規格、またはその他いずれか適切な無線通信プロトコルを使用して、管理モジュール１５と、および／または互いに通信することができる。別の例として、追跡在庫システム１０では、移動式駆動ユニット２０が移動するトラックまたは他の案内要素は、移動式駆動ユニット２０と在庫システム１０の他のコンポーネントとの間の通信を容易にするために配線されてもよい。さらに、上述のように、管理モジュール１５は、個々の移動式駆動ユニット２０のコンポーネントを含んでもよい。したがって、この説明およびこれに続く請求項の目的のため、管理モジュール１５と特定の移動式駆動ユニット２０との間の通信は、特定の移動式駆動ユニット２０のコンポーネント間の通信を表すことができる。一般に、移動式駆動ユニット２０は、在庫システム１０の構成および特性に基づいて、いずれの適切な方法で動力供給、推進、および制御されることも可能である。
【００２０】
[0030]在庫ホルダ３０は、在庫物品を保管する。特定の実施形態では、在庫ホルダ３０は複数の保管ビンを含み、各保管ビンは１つ以上のタイプの在庫物品を保持することができる。在庫ホルダ３０は、移動式駆動ユニット２０によって担持、転動、および／または別途移動させられることが可能である。特定の実施形態では、在庫ホルダ３０は、在庫ホルダ３０が移動しているときに移動式駆動ユニット２０によって提供されるものを補うために付加的な推進力を提供することができる。
【００２１】
[0031]加えて、特定の実施形態では、在庫物品４０はまた、在庫ホルダ３０内のフックまたはバー（図示せず）から吊り下げられてもよい。一般に、在庫ホルダ３０は、在庫ホルダ３０内に、および／または在庫ホルダ３０の外面上に、いずれか適切な方法で在庫物品４０を保管することができる。
【００２２】
[0032]加えて、各在庫ホルダ３０は複数の面を含んでもよく、各ビンは在庫ホルダ３０の１つ以上の面を通じてアクセス可能であってもよい。たとえば、特定の実施形態では、在庫ホルダ３０は４つの面を含む。このような実施形態では、２つの面のコーナーに位置するビンはこれら２つの面のいずれかを通じてアクセス可能であってもよく、他方のビンの各々は４つの面のうちの１つにある開口部を通じてアクセス可能である。移動式駆動ユニット２０は、オペレータまたは在庫システム１０の他のコンポーネントに特定の面およびその面に関連するビンを提示するために、適切なときに在庫ホルダ３０を回転させるように構成されてもよい。
【００２３】
[0033]在庫物品は、自動化された在庫システム１０内の保管、回収、および／または処理に適したいずれかの物体を表す。この説明の目的のため、「在庫物品」は、在庫システム１０内に保管される特定のタイプのいずれか１つ以上の物体を表すことができる。したがって、在庫ホルダ３０が現在そのタイプの１つ以上のユニットを保持している場合、特定の在庫ホルダ３０は現在特定の在庫物品を「保管」している。一例として、在庫システム１０は通信販売倉庫設備を表してもよく、在庫物品は倉庫設備に保管されている商品を表してもよい。動作中、移動式駆動ユニット２０は、顧客への配達のために梱包されるように注文で要求された１つ以上の在庫物品を含む在庫ホルダ３０、または出荷のために集められた在庫物品の集合を含むパレットを担持する在庫ホルダ３０を回収することができる。また、在庫システム１０の特定の実施形態では、完了した注文品を含む箱自体が在庫物品を表してもよい。
【００２４】
[0034]特定の実施形態では、在庫システム１０は、１つ以上の在庫ステーション５０を含むこともできる。在庫ステーション５０は、在庫物品を伴う特定のタスクの完了のために指定された場所を表す。このようなタスクは、在庫ホルダ３０からの在庫物品の取り出し、在庫ホルダ３０内への在庫物品の導入、在庫ホルダ３０内の在庫物品の計数、（たとえばパレットから、またはケースサイズのグループから個々の在庫物品への）在庫物品のばらし、在庫ホルダ３０間の在庫物品の統合、および／またはその他いずれか適切な方法での在庫物品の処理または取り扱いを含むことができる。特定の実施形態では、在庫ステーション５０は単に、在庫物品を伴う特定のタスクが作業スペース７０内で完了し得る、物理的な場所を表すことができる。代替実施形態では、在庫ステーション５０は、物理的な場所と、在庫システム１０に出入りする在庫物品の流れを監視するためのスキャナ、管理モジュール１５と通信するための通信インターフェース、および／またはその他いずれか適切なコンポーネントなど、在庫物品を処理または取り扱いするためのいずれか適切な機器との両方を表すことができる。在庫ステーション５０は、完全にまたは部分的に、人間のオペレータによって制御されてもよく、または完全自動化されていてもよい。在庫ステーション５０の人間のまたは自動化されたオペレータは、在庫システム１０の動作の一部として、在庫物品を梱包、計数、または転送など、在庫物品に対して特定のタスクを実行することができる。
【００２５】
[0035]作業スペース７０は、移動式駆動ユニット２０が移動できる、および／または在庫ホルダ３０が保管され得る、在庫システム１０に関連する領域を表す。たとえば、作業スペース７０は、在庫システム１０が動作する通信販売倉庫のフロアの全てまたは一部を表すことができる。図２は説明目的のため、作業スペース７０が固定された所定の有限の物理的空間を含む在庫システム１０の一実施形態を示すが、在庫システム１０の特定の実施形態は、可変寸法および／または任意の幾何形状の作業スペース７０内で動作するように構成された、移動式駆動ユニット２０および在庫ホルダ３０を含むことができる。図２は、作業スペース７０が建物内に完全に閉じ込められた在庫システム１０の特定の実施形態を示すが、代替実施形態は、作業スペース７０の一部または全てが屋外、（貨物船などの）車両内、またはいずれかの固定構造による制約を受けない場所に位置する、作業スペース７０を利用することができる。
【００２６】
[0036]動作中、管理モジュール１５は、特定のタスクを完了するために適切なコンポーネントを選択し、関連するタスクの完了をトリガするために選択されたコンポーネントにタスク割り当て１８を送信する。各タスク割り当て１８は、特定のコンポーネントによって完了すべき１つ以上のタスクを定義する。これらのタスクは、在庫物品の回収、保管、補充、および計数、および／または移動式駆動ユニット２０、在庫ホルダ３０、在庫ステーション５０、および在庫システム１０の他のコンポーネントの管理に関連し得る。コンポーネントおよび完了すべきタスクに応じて、特定のタスク割り当て１８は、対応するタスク、および／または割り当てられたタスクの完了において関連するコンポーネントによって使用すべきその他いずれか適切な情報に関連付けられた、場所、コンポーネント、および／または動作を識別することができる。
【００２７】
[0037]特定の実施形態では、管理モジュール１５は、在庫システム１０の他のコンポーネントから、および／または管理モジュール１５と通信している外部コンポーネントから管理モジュール１５が受信する在庫要求に部分的に基づいて、タスク割り当て１８を生成する。これらの在庫要求は、在庫システム１０内に保管されているまたは保管すべき在庫物品を伴う完了すべき特定の動作を識別し、いずれか適切な形態での通信を表すことができる。たとえば、特定の実施形態では、在庫要求は、顧客によって購入されており、顧客への出荷のために在庫システム１０から回収されるべき、特定の在庫物品を指定する出荷指示を表すことができる。管理モジュール１５はまた、在庫システム１０の全体的な管理および保守の一部として、このような在庫要求とは無関係にタスク割り当て１８を生成することもできる。たとえば、管理モジュール１５は、特定のイベントの発生に応答して（たとえば、移動式駆動ユニット２０が駐車するスペースを要求するのに応えて）、所定のスケジュールに応じて（たとえば、毎日のスタートアップルーチンの一部として）、または在庫システム１０の構成および特性に基づいて適切なときに、タスク割り当て１８を生成することができる。１つ以上のタスク割り当て１８を生成した後、管理モジュール１５は、対応するタスクの完了のために、生成されたタスク割り当て１８を適切なコンポーネントに送信する。次いで関連するコンポーネントは、割り当てられたタスクを実行する。
【００２８】
[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]本開示の実施形態の実装は、多数の技術的利点を提供する。たとえば、各移動式駆動ユニットが単一のネットワークに接続されている在庫システムでは、移動式駆動ユニット間の衝突を回避するために、移動式駆動ユニットの各々に対する経路案内が中央当局によって計算される必要がある。このようなシステムでは、移動式駆動ユニットの各々が衝突を回避するための経路の生成は非常に処理集約的であり、システムに新しい移動式駆動ユニットを追加するたびに、他の全ての既存経路と比較する必要がある新しい経路を生成することになる。そのためこのようなシステムは、追加の移動式駆動ユニットごとに処理能力の指数関数的増加を必要とする。本開示のいくつかの実施形態では、経路は移動式駆動ユニット自体によって計算されてもよく、衝突回避は特定の移動式駆動ユニットの付近に侵入する他の移動式駆動ユニットについてのみ行われる必要がある。これは、中央当局がいかなる衝突回避も行う必要がなく、移動式駆動ユニットは中央当局によって実行されたであろう衝突回避のほんの一部のみを実行するという点において、システム全体の帯域幅および処理能力の大部分を解放する。
【００９０】
[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]任意選択的に、移動式駆動ユニット装置の命令はさらに、移動式駆動ユニット装置に、受信した命令のセットに基づいて少なくとも１つのシステムコンポーネントの各々への経路を生成させてもよい。
【図１】
0006956192.tif 000002
【図２】
0006956192.tif 000003
【図３】
0006956192.tif 000004
【図４】
0006956192.tif 000005
【図５】
0006956192.tif 000006
【図６】
0006956192.tif 000007
【図７】
0006956192.tif 000008
【図８】
0006956192.tif 000009
【図９】
0006956192.tif 000010
【図１０】
0006956192.tif 000011
【図１１】
0006956192.tif 000012