(57)【要約】      （修正有）【課題】マルチフロアロボットオートメーションに対する方法を提供する。【解決手段】方法には、第１の場所から第２の場所へ物品を搬送するリクエストを受け取ることと、第１の場所から第２の場所へ物品を搬送するためのボットを選択することと、選択したボットの最初の場所に対応付けられる第１の垂直レベルと、選択したボットの行き先に対応付けられる第２の垂直レベルとを決定することと、対応付けられる第１の垂直レベルが第２の垂直レベルと異なるか否かを判定することと、が含まれる。本方法にはさらに、第１の垂直レベルが第２の垂直レベルとは異なるという判定に応じて、（ａ）選択したボットを第１の垂直レベルから第２の垂直レベルへ垂直方向に移すように構成された搬送装置を選択することと、（ｂ）選択したボットを選択した搬送装置に対応付けられる第１の位置まで移動させる制御信号を、選択したボットへ出力することと、が含まれる。【選択図】図７
2020061150.tif 000002
【特許請求の範囲】
【請求項１】
マルチフロアロボットオートメーションに対する方法であって、
第１の場所から第２の場所へ物品を搬送するリクエストを受け取ることと、
サーバの処理回路を用いて、複数のボットから前記第１の場所から前記第２の場所へ前記物品を搬送するためのボットを選択することであって、前記ボットは、少なくとも、搬送すべき前記物品の種類に基づいて選択される、前記選択することと、
前記処理回路を用いて、前記選択したボットの最初の場所に対応付けられる第１の垂直レベルと、前記選択したボットの行き先に対応付けられる第２の垂直レベルとを決定することと、
前記選択したボットの前記最初の場所に対応付けられる前記第１の垂直レベルが、前記選択したボットの前記行き先に対応付けられる前記第２の垂直レベルと異なるか否かを判定することと、
前記第１の垂直レベルが前記第２の垂直レベルとは異なるという判定に応じて、
（ａ）前記選択したボットを前記第１の垂直レベルから前記第２の垂直レベルへ垂直方向に移すように構成された搬送装置を、前記処理回路を用いて選択することと、
（ｂ）前記選択したボットに制御信号を出力することであって、前記制御信号は前記選択したボットを前記選択した搬送装置に対応付けられる第１の位置まで移動させる、前記出力することと、を含む前記方法。
【請求項２】
前記選択したボットの前記最初の場所は、前記リクエストを受け取る前の前記選択したボットの元の場所であり、前記選択したボットの前記行き先は前記物品の前記第１の場所である請求項１に記載の方法。
【請求項３】
前記選択したボットの前記最初の場所は、前記物品を積み込んだ後の前記物品の前記第１の場所であり、前記選択したボットの前記行き先は前記物品を送り出すための前記第２の場所である請求項１に記載の方法。
【請求項４】
前記第１の場所は第１の建物であり、前記第２の場所は、前記第１の建物とは場所が異なる第２の建物である請求項２に記載の方法。
【請求項５】
前記搬送装置を前記選択することは、
各利用可能な搬送装置に対して搬送装置の使用に対応付けられる第１のコストを決定することと、
各利用可能な搬送装置を前記第２の場所まで移動させるための第２のコストを決定することと、
前記ボットを各利用可能な搬送装置まで移動させるための第３のコストを決定することと、
前記ボットが前記ボットの前記最初の位置から前記ボットの行き先まで移動するための複数の経路を決定することであって、各経路は、各利用可能な搬送装置に対する前記第１のコスト、前記第２のコスト、及び前記第３のコストを含む総コストに対応付けられる、前記決定することと、
前記複数の経路から好ましい経路を選択することであって、前記好ましい経路は前記複数の経路から最も低い総コストを有する、前記選択することと、を含む請求項１に記載の方法。
【請求項６】
準備度レベルを示す前記選択した搬送装置のステータスを決定することと、
前記選択した搬送装置の前記決定したステータスが、前記選択した搬送装置が前記選択したボットを受け取る準備ができていることを示すときに、前記選択したボットに第２の制御信号を出力して、前記選択した搬送装置の内部に位置する第２の位置まで移動させることと、をさらに含む請求項１に記載の方法。
【請求項７】
前記選択した搬送装置の前記ステータスを前記決定することは、
前記選択した搬送装置が前記第１の垂直レベルに対応する垂直レベルに到着したことと、前記障壁が前記開位置にあることとを示す確認応答を、前記選択した搬送装置から受け取ることと、を含む請求項６に記載の方法。
【請求項８】
前記選択した搬送装置は前記選択したボットが出入りするための単一の開口部を含む請求項１に記載の方法。
【請求項９】
前記選択した搬送装置は、前記選択したボットが入るための第１の開口部と前記選択したボットが出るための第２の開口部とを含む請求項１に記載の方法。
【請求項１０】
前記搬送装置を前記選択することは、少なくとも、複数の搬送装置の各搬送装置のステータス、前記選択したボットの現在位置、ボット種類、及び搬送装置容量に従って行う請求項１に記載の方法。
【請求項１１】
前記選択した搬送装置に第３の制御信号を出力することであって、前記第３の制御信号は、前記選択した搬送装置の行き先に対応付けられる垂直レベルを示す障壁特定の関数である、前記出力すること、をさらに含む請求項１に記載の方法。
【請求項１２】
１つ以上の搬送装置の組をゾーンに対応付けることと、
前記ゾーンにおいて緊急事象が検出されたときに前記組を作動停止させることと、をさらに含む請求項１に記載の方法。
【請求項１３】
前記選択した搬送装置を起動して、前記選択したボットの前記最初の位置に対応する前記第１の垂直レベルから前記選択したボットの前記行き先に対応する前記第２の垂直レベルまで移動させることと、
前記搬送装置が前記第２の垂直レベルに到着したら障壁を閉位置から開位置まで駆動させることと、
前記選択した搬送装置が前記第２の垂直レベルに到着したことと、前記障壁が前記開位置にあることとを示す確認応答を、前記選択した搬送装置から受け取ることと、
前記選択したボットに第４の制御信号を出力することであって、前記第４の制御信号は前記選択したボットを前記選択した搬送装置の内部の位置から前記選択した搬送装置の外部の第２の位置まで移動させる、前記出力することと、をさらに含む請求項１に記載の方法。
【請求項１４】
前記選択した搬送装置は、１つ以上のボット種類の複数のボットを搬送するように構成されている請求項１に記載の方法。
【請求項１５】
特定の垂直レベルにおける物品に対する在庫レベルを決定することと、
１つ以上のボットを制御して、前記在庫レベルが所定閾値を下回ったときに、前記物品の積み重ね体を前記特定の垂直レベルまで移動させることと、をさらに含む請求項１に記載の方法。
【請求項１６】
ラックに対する垂直方向の利用レベルを決定することと、
前記垂直方向の利用レベルに基づいて積み重ね体の高さを決定することと、
１つ以上のボットを制御して、前記決定した積み重ね体の高さを有する積み重ね体を前記ラックまで移動させることと、をさらに含む請求項１に記載の方法。
【請求項１７】
マルチフロアロボットオートメーションに対するシステムであって、
ボットを垂直方向に移すように構成された１つ以上の搬送装置と、
複数のボットと、
処理回路を含むサーバと、を含み、前記処理回路は、
第１の場所から第２の場所へ物品を搬送するリクエストを受け取ることと、
前記複数のボットから前記第１の場所から前記第２の場所へ前記物品を搬送するためのボットを選択することであって、前記ボットは、少なくとも、搬送すべき前記物品の種類に基づいて選択される前記選択することと、
前記ボットの最初の場所に対応付けられる第１の垂直レベルと、前記選択したボットの行き先に対応付けられる第２の垂直レベルとを決定することと、
前記選択したボットの前記最初の場所に対応付けられる前記第１の垂直レベルが、前記選択したボットの前記行き先に対応付けられる前記第２の垂直レベルと異なるか否かを判定することと、
前記第１の垂直レベルが前記第２の垂直レベルとは異なるという判定に応じて、
（ａ）前記１つ以上の搬送装置から、前記選択したボットを前記第１の垂直レベルから前記第２の垂直レベルへ移す搬送装置を選択することと、
（ｂ）前記選択したボットに制御信号を出力することであって、前記制御信号は前記選択したボットを前記選択した搬送装置に対応付けられる第１の位置まで移動させる、前記出力することと、を行うように構成されている、前記システム。
【請求項１８】
前記処理回路はさらに、
準備度レベルを示す前記搬送装置のステータスを決定することと、
前記選択した搬送装置の前記ステータスが、前記選択した搬送装置が前記選択したボットを受け取る準備ができていることを示すときに、前記選択したボットに第２の制御信号を出力して、前記選択した搬送装置の内部に位置する第２の位置まで移動させることと、を行うように構成されている請求項１７に記載のシステム。
【請求項１９】
前記選択したボットの前記最初の場所は、前記リクエストを受け取る前の前記選択したボットの元の場所であり、前記選択したボットの前記行き先は前記物品の前記第１の場所である請求項１７に記載のシステム。
【請求項２０】
前記選択したボットの前記最初の場所は、前記物品を積み込んだ後の前記物品の前記第１の場所であり、前記選択したボットの前記行き先は前記物品を送り出すための前記第２の場所である請求項１７に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
倉庫フロアには、それぞれに１つ以上の物品が含まれる複数の保管ラックが含まれている場合がある。複数の保管ラックの１つから物品を取り出そうとするとき、複数の保管ラックの１つを、複数の保管ラックの１つから物品を取り出す取り出し場所まで搬送するために、ロボットを用いる場合がある。ロボットが取る搬送経路は、倉庫フロアのレイアウトなどの種々の因子に依存する場合がある。
【０００２】
前述の「背景技術」の説明は、本開示の状況を全般的に示すためのものである。発明者の著作物（この背景セクションで説明する範囲内で）、ならびに出願時における従来技術としては適格ではない場合がある説明の態様は、本発明に対する従来技術としては明示的にも黙示的にも認められない。
【発明の概要】
【０００３】
本開示の実施形態によれば、マルチフロアロボットオートメーションに対する方法が提供される。本法には、第１の場所から第２の場所へ物品を搬送するリクエストを受け取ることと、サーバの処理回路を用いて、複数のボットから第１の場所から第２の場所へ物品を搬送するためのボットを選択することであって、ボットは、少なくとも、搬送すべき物品の種類に基づいて選択される、選択することと、処理回路を用いて、選択したボットの最初の場所に対応付けられる第１の垂直レベルと、選択したボットの行き先に対応付けられる第２の垂直レベルとを決定することと、選択したボットの最初の場所に対応付けられる第１の垂直レベルが、選択したボットの行き先に対応付けられる第２の垂直レベルと異なるか否かを判定することと、が含まれる。
本方法にはさらに、第１の垂直レベルが第２の垂直レベルとは異なるという判定に応じて、（ａ）選択したボットを第１の垂直レベルから第２の垂直レベルへ垂直方向に移すように構成された搬送装置を、処理回路を用いて選択することと、（ｂ）選択したボットに制御信号を出力することであって、制御信号は選択したボットを選択した搬送装置に対応付けられる第１の位置まで移動させる、出力することと、が含まれる。
【０００４】
本開示の実施形態によれば、マルチフロアロボットオートメーションに対するシステムが提供される。システムには、ボットを垂直方向に移すように構成された１つ以上の搬送装置と、複数のボットと、処理回路を含むサーバとが含まれる。処理回路は、第１の場所から第２の場所へ物品を搬送するリクエストを受け取ることと、複数のボットから第１の場所から第２の場所へ物品を搬送するためのボットを選択することであって、ボットは、少なくとも、搬送すべき物品の種類に基づいて選択される選択することと、ボットの最初の場所に対応付けられる第１の垂直レベルと、選択したボットの行き先に対応付けられる第２の垂直レベルとを決定することと、選択したボットの最初の場所に対応付けられる第１の垂直レベルが、選択したボットの行き先に対応付けられる第２の垂直レベルと異なるか否かを判定することと、第１の垂直レベルが第２の垂直レベルとは異なるという判定に応じて、（ａ）１つ以上の搬送装置から、選択したボットを第１の垂直レベルから第２の垂直レベルへ移す搬送装置を選択することと、（ｂ）選択したボットに制御信号を出力することであって、制御信号は選択したボットを選択した搬送装置に対応付けられる第１の位置まで移動させる、出力することと、を行うように構成されている。
【０００５】
前述の段落は、一般的な導入として提供されており、以下の請求項の範囲を限定することは意図されていない。説明した実施形態は、さらなる利点とともに、添付図面と併用される以下の詳細な説明を参照することにより最良に理解される。
【０００６】
本開示及びその付随する利点の多くをより完全に理解することは、それらを添付図面と共に考慮して以下の詳細な説明を参照することでより良好に理解するときに、容易に得られる。
【図面の簡単な説明】
【０００７】
【図１】一実施例による保管及び取り出しシステムを示す概略図である。
【図２】一実施例によるサーバ、ボット、及び搬送装置のコンポーネントを示すブロック図である。
【図３】一実施例による搬送装置の座標系を示す概略図である。
【図４】一実施例による保管及び取り出しシステムに対するシステムアーキテクチャを示す概略図である。
【図５】一実施例による搬送装置及びボットを制御するためのプロセスに対するフローチャートである。
【図６】Ａ及びＢは一実施例によるリフトに対応付けられる複数の位置を示す概略図である。
【図７】一実施例により物品を第１の場所から第２の場所へ搬送するためのプロセスに対するフローチャートである。
【図８】一実施例により搬送装置を制御するためのプロセスに対するフローチャートである。
【図９】一実施例によるマルチフロアロボットオートメーションに対するプロセスのためのフローチャートである。
【図１０】一実施例によりボットに対する好ましい経路を決定するためのプロセスに対するフローチャートである。
【図１１】一実施例によりマルチフロア倉庫を管理するためのプロセスに対するフローチャートである。
【図１２】一実施例により在庫場所を特定するためのプロセスに対するフローチャートである。
【図１３】一実施例によりコストに従ってボットを選択するプロセスに対するフローチャートである。
【図１４】一実施例によりコストに従ってリフトを選択するプロセスに対するフローチャートである。
【図１５】一実施例によりボットのナビゲーションを管理するプロセスに対するフローチャートである。
【図１６】一実施例によるシステムにおける注文フローを示す概略図である。
【図１７】一実施例によるコンピュータのブロック図である。
【発明を実施するための形態】
【０００８】
用語「ａ」または「ａｎ」は、本明細書で用いる場合、１つ以上であると定義される。用語「複数」は、本明細書で用いる場合、２つ以上であると定義される。用語「別の」は、本明細書で用いる場合、少なくとも２番目またはそれ以上であると定義される。用語「含む」及び／または「有する」は、本明細書で用いる場合、含むと定義される（すなわち、オープンランゲージ）。用語「結合された」は、本明細書で用いる場合、接続されたと定義されるが、必ずしも直接的にではなく、また必ずしも機械的にではない。用語「プログラム」または「コンピュータプログラム」または同様の用語は、本明細書で用いる場合、コンピュータシステム上で実行するようにデザインされた一連の命令と定義される。「プログラム」、または「コンピュータプログラム」としては、サブルーチン、プログラムモジュール、スクリプト、関数、手順、オブジェクトメソッド、オブジェクトインプリメンテーション、実行可能アプリケーション、アプレット、サーブレット、ソースコード、オブジェクトコード、共有ライブラリ／ダイナミックロードライブラリ、及び／または他の命令列であって、コンピュータシステム上で実行するようにデザインされたものを挙げてもよい。
【０００９】
この文献の全体にわたって、「一実施形態」、「ある実施形態」、「実施形態」、「実施態様」、「実施例」、または同様の用語に言及した場合、その実施形態に関連して説明される特定の特徴、構造、または特性は、本開示の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書の全体にわたって、このような語句が現れることまたはいろいろな場所で現れることは必ずしも、すべてが同じ実施形態に言及しているわけではない。さらに、特定の特徴、構造、または特性を、限定することなく、１つ以上の実施形態において任意の好適な方法で組み合わせてもよい。
【００１０】
用語「または」は、本明細書で用いる場合、包括的であるかまたは任意の一つもしくは任意の組み合わせを意味すると解釈すべきである。したがって、「Ａ、Ｂ、またはＣ」は、「Ａか、Ｂか、Ｃか、Ａ及びＢか、Ａ及びＣか、Ｂ及びＣか、Ａ、Ｂ、及びＣかのいずれか」を意味する。この定義に対する例外が生じるのは、要素、機能、ステップ、または作用の組み合わせが何らかの方法で本来的に互いに排他的であるときのみである。
【００１１】
次に図面を参照して、いくつかの図の全体にわたって、同様の参照符号は同一または対応する部品を示しているが、以下の説明はマルチレベルロボットオートメーションに対するシステム及び対応付けられる方法に関する。
【００１２】
本明細書では、倉庫における垂直方向及び水平方向スペースの両方の利用を最適化する柔軟なシステムについて説明する。倉庫はマルチフロア倉庫であってもよい。マルチフロア倉庫は、倉庫が水平方向にスペース制約されているときに必要な在庫保管能力を管理するために用いられる。以下でさらに説明するように、リフトを用いたロボットによって、ラックを垂直方向フロアにわたって搬送することができる。リフトを用いてロボットをフロア間で移動させてもよいし、またはロボットが在庫保管ラックをフロアを渡って最適な保管場所へ搬送するときには、ピック＆パックワークステーションへ移動させてもよいし、搬送用のドックなどへ移動させてもよいことは、当業者であれば分かることである。
【００１３】
開示した実施形態によって、著しく有利な特徴が得られる。たとえば、本明細書でさらに説明するように、垂直方向スペースの利用が最適化される。したがって、より大量の在庫を倉庫に保管し、したがって調達することができる。さらに、開示したシステムの実施形態は手動介入が必要ではないため、ピック／プット動作の効率が増加する。さらに、システムを、他のＧＴＰ（人に良い）技術と、既存の倉庫内で一体化してもよい。
【００１４】
図１は、一実施例による保管及び取り出しシステム１０２を示す概略図である。保管及び取り出しシステム１０２は、小売店舗配送センターまたは倉庫内で実施してもよい。倉庫には、複数のレベル（たとえば、複数のフロア、複数のサブフロア、または中二階レベル）が含まれていてもよい。保管及び取り出しシステム１０２には、サーバ１０４、１つ以上の搬送装置１０６（たとえば、リフト、エレベータ）、及び１つ以上のロボット１０８（本明細書では「ボット」と言う）が含まれていてもよい。
【００１５】
サーバ１０４は、複数の顧客から注文を受けてもよい。各注文は、倉庫内で入手可能な１つ以上の物品を特定してもよい。各注文の１つ以上の物品を保管場所から取り出してもよい。さらに、サーバ１０４は１つ以上の物品を保管するリクエストをオペレータから受け取ってもよい。保管または取り出すべき１つ以上の物品をボット１０８を介して搬送してもよい。サーバ１０４には、図２に示すようにプロセッサ２０２及び通信回路２０４が含まれていてもよい。
【００１６】
サーバ１０４は、１つ以上の搬送装置１０６及び１つ以上のボット１０８間の動作を調整してもよい。またサーバ１０４は、１つ以上の各搬送装置１０６及びボット１０８の速度、位置、及び加速度を制御してもよい。
【００１７】
サーバ１０４、１つ以上の搬送装置１０６、及び１つ以上のボット１０８はネットワーク１１０を介して通信してもよい。ネットワーク１１０は、有線ネットワーク、無線ネットワーク、または無線及び有線ネットワークの組み合わせであって、任意の好適な種類及び／または数の通信プロトコルを用いたものであってもよい。サーバ１０４はデータベース１１２に通信可能に結合されていてもよい。データベース１１２は、１つ以上の各搬送装置１０６及び１つ以上の各ボット１０８のステータスの記録を記憶してもよい。データベース１１２はクラウドベースのデータベースであってもよい。さらに、データベース１１２は、各搬送装置１０６に対応付けられる情報及び仕様を記憶してもよい。たとえば、データベース１１２は、各搬送装置１０６に対する搬送装置の種類、位置（たとえば、倉庫に対する座標）、最大負荷閾値、最高速度、最大容量、搬送装置１０６がサービスを提供するフロア及び／または場所のうちのいずれか一つまたは組み合わせを記憶してもよい。
【００１８】
ボット１０８には、図２に示すようにプロセッサ２１０及び通信回路２１２が含まれていてもよい。ボット１０８をネットワーク１１０を介してサーバ１０４によって制御してもよい。いくつかの実施形態では、ボット１０８の移動をマーカー（たとえば、バーコード）によって制御してもよい。たとえば、サーバ１０４は、ボット１０８にコマンドを出力して、第１の場所に対応付けられる第１のバーコードから第２の場所に対応付けられる第２のバーコードへ移動させてもよい。ボット１０８は、サーバ１０４にボットパラメータ（たとえば、ボット位置、ボット速度、ボットステータスなど）を出力してもよい。ボットは光学的、Ｂｌｕｅｔｏｏｔｈ（登録商標）、及び無線周波数（ＲＦ）ガイダンスメカニズムを用いて、種々の場所間を移動してもよい。
【００１９】
搬送装置１０６には、図２に示すように処理回路２０６及び通信回路２０８が含まれていてもよい。搬送装置１０６は、同じかまたは異なる種類の１つ以上のボット（たとえば、ロードされているかまたはロードされていない）を搬送するように構成してもよい。搬送装置１０６は、エレベータ、エスカレータ、コンベア、カンチレバシステム、または任意の他の装置であって、ボット１０８を１つ以上の異なる場所まで移動させることができるものであってもよい。搬送装置１０６にはまた、搬送装置内部のボット１０８の位置を検出するセンサが含まれていてもよい。いくつかの実施形態では、サーバ１０４は、搬送装置１０６にボットがロードされる／ロードされない注文を最適化してもよい。搬送装置１０６には、移動可能及び移動不可能な搬送装置が含まれていてもよい（すなわち、固定場所にない）。搬送装置１０６を、フロア間または倉庫のフロアの種々の領域間で移動させてもよい。搬送装置１０６の座標を、搬送装置１０６の位置の変化の検出に応じて、データベース１１２内で更新してもよい。移動可能な搬送装置１０６の位置を、要求及び倉庫の領域のスループットに基づいて、システム１０２が決定してもよい。
【００２０】
搬送装置１０６は、ボットを垂直方向及び／または水平方向に搬送してもよい。搬送装置１０６は単一の開口部、２つの開口部、または３つ以上の開口部を有していてもよい。開口部は同じかまたは異なる寸法であってもよい。開口部を、入口／出口、入口、または出口として用いてもよい。システム１０２には、同じ種類または異なる種類の搬送装置１０６が含まれていてもよい。種々の種類の搬送装置１０６は、異なる数の開口部、寸法、最大負荷閾値、最大容量（たとえば、１つ以上の寸法に基づいて）、サービスエリアなどのうちの１つまたは組み合わせを有していてもよい。
【００２１】
ボット１０８及び搬送装置１０６は、通信における冗長性及びさらなるセキュリティ層を得るために、所定の通信チャネルを介して通信してもよい。一実施例としては、ボット１０８及び搬送装置１０６は、ＨＴＴＰプロトコルを用いて通信してもよい。たとえば、サーバ１０４は、ボット１０８に１つ以上の制御信号を出力して、搬送装置１０６まで、及び搬送装置１０６の内部の位置まで移動させてもよい。ボット１０８に指示を出して、搬送装置１０６上に配置された複数のマーカーのうちの１つへ、または搬送装置１０６内に配置されたかまたは搬送装置１０６への入口に配置されたマーカーに対する場所へ、移動させてもよい。
【００２２】
マルチフロア倉庫では、垂直方向スペースが倉庫内で用いられ、在庫は倉庫のすべてのフロアに保管される。在庫をラックに入れて種々のフロアに、搬送装置及び／またはボット１０８を用いて搬送して、ピック／プット動作または保管を行うことができる。ピック／プットステーションを、倉庫の１つ以上のフロアに配置してもよい。ボットを、ラックを伴ってまたは伴わずに、搬送装置１０６を用いてフロア間で移動させてもよい。システム１０２は、在庫（すなわち、最初の場所、再配置）、フロア、搬送装置、及びボットの移動を管理する。
【００２３】
サーバ１０４は、複数の因子に基づいて倉庫内の好ましい保管レベルを特定してもよい。たとえば、好ましい保管レベルを、物品種類に基づいて品物／物品に対して選択してもよい。また好ましい保管レベルを、物品種類のスループットに基づいて選択してもよい。たとえば、サーバ１０４は、物品を保管するリクエストを受け取ったときに、データベース１１２から物品のスループットを取り出してもよい。次に、サーバ１０４は、物品に対する保管ラックの保管場所を特定して、物品を搬送し及び／または搬送装置１０６を使用する時間を最小限にしてもよい。好ましい保管は、倉庫内の搬送装置、浮床、及び二重床の利用可能性の関数であってもよい。サーバ１０４は、倉庫の各フロアの好ましいレイアウトを決定してもよい。またサーバ１０４は、各フロアの（出入りの）在庫のフローを決定する。動きの速い在庫を倉庫の最も低いレベルに保管してもよく、一方で動きの遅い在庫を倉庫の上部レベルに保管してもよい。さらに、動きの速い在庫場所を、スループットに基づいて（すなわち、スループット効率を最大にするように）決定してもよい。動きの遅い在庫場所を、スペースに基づいて（すなわち、スペース効率を最大にするように）決定してもよい。たとえば、スループットが低い（すなわち、スループットが所定の値を下回る）物品の場所を決定するときには、サーバ１０４は、もっと高い重みを他の複数の因子間のスペース（たとえば、取り出し時間）に対応付けてもよい。
【００２４】
またサーバ１０４は在庫の高さを決定してもよい。サーバ１０４は、ボットによって動かすことができる積み重ね体を形成してもよい。積み重ね体を互いに重ねて保管して、垂直方向スペースの利用を最大にしてもよい。たとえば、フロアの垂直高さは４メートルであってもよく、ラックは高さが３メートルであってもよい。最後のラックと天井との間のスペース（すなわち、１メートル）に、積み重ね体を充填してもよい。サーバ１０４は、上部レベルにおいて積み重ねるべき在庫の種類を選択する。サーバ１０４は在庫／情報に対する更新をデータベース１１２に記憶する。
【００２５】
ボット１０８には、種々の垂直方向の在庫レベルから物品を取り出すことができる上昇ボットが含まれていてもよい。言い換えれば、ボット１０８を垂直方向に移動させて、高レベルに保管されたラック及び／またはペレットに到着させてもよい。一実施例では、ボット１０８は、上部レベルからラックを取り出して、ラックを倉庫の地上レベルまで搬送してもよい。サーバ１０４は、搬送すべきラックのサイズ及び重量に基づいて、ラックを搬送するボット１０８を選択してもよい。ラックを用いて、ペレットを地上より上の高レベル（たとえば、９メートル）に保管してもよい。
【００２６】
いくつかの実施形態では、上昇ボットをラックシステムを用いて実施する。ボット１０８をラック上で搬送する。ラックはボットを高い場所に上昇させて、任意の垂直レベルから在庫を引き出せるようにしてもよい。それに加えてまたはその代わりに、移動可能なパレット単位を用いてもよい。
【００２７】
倉庫の各フロアには、重い物品を上げる機器などの種々の機能がある。他の機能としては、フロア容量、制限、及び特性（たとえば、制御された温度、非常に安全なゾーン）が挙げられる。したがって、各フロアを特定の種類の在庫に対応付けてもよい。在庫に基づいてさらなるフロアを倉庫に加えてもよい。たとえば、サーバ１０４は特定の種類の在庫の増加／減少の検出に応じて浮床を再構成してもよい。
【００２８】
倉庫には２つ以上の建物が含まれていてもよい。サーバ１０４は、倉庫の種々の建物間でのボット１０８の移動を調整してもよい。
【００２９】
一実施例では、サーバ１０４は、特定のレベル（たとえば、地上レベル）における各物品の在庫のレベルをモニタしてもよい。物品の在庫のレベルが所定閾値を下回っているという判定に応じて、サーバ１０４は、１つ以上のボットを制御して、物品の積み重ね体を保管レベルから特定のレベルまで移動させてもよい。たとえば、地上レベルが最短の取り出し時間であるときには、物品を上部レベルから地上レベルまで移動させてもよい。最適な保管レベルを決定するための因子を独立に重み付けしてもよく、これには以下が含まれる（しかし、これらに限定されない）。（ｉ）在庫管理単位（ＳＫＵ）の消費パターン、（ｉｉ）ＳＫＵの重量及び物性、（ｉｉｉ）保管密度要求（たとえば、特定のフロアが、注文を満たすのに必要であり得る高密度保管を提供している場合がある）、及び（ｉｖ）類似性要求（たとえば、あるＳＫＵは、動きが速くて全般的にもっと低いフロアに保持される他のＳＫＵとは一緒に保持されない）。
【００３０】
図３は、一実施例による搬送装置３０２の座標系の実施形態を示す概略図である。座標系の原点を搬送装置３０２に対応付けてもよい。一実施例では、各フロアの垂直レベルをｚ座標に対応付けてもよい。垂直レベルをフロア、動的フロア、または二重床に対応付けてもよい。サーバ１０４は、浮床を再構成したときに、データベース１１２内の各フロアの座標を更新してもよい。さらに、各搬送装置の場所の座標をデータベース１１２に記憶する。
【００３１】
図４は、一実施例による保管及び取り出しシステム１０２に対するシステムアーキテクチャ４００の実施形態を示す概略図である。システムアーキテクチャ４００には、倉庫制御エンジン４０２、搬送装置エンジン４０４、及びボットエンジン４０６が含まれる。一実施例では、倉庫制御エンジン４０２、搬送装置エンジン４０４、及びボットエンジン４０６を、サーバ１０４が実施してもよい。本明細書で説明するエンジン及びモジュールを、ソフトウェア及び／またはハードウェアモジュールのいずれかとして実施してもよく、また任意の種類のコンピュータ可読媒体または他のコンピュータ記憶装置に記憶してもよい。たとえば、本明細書で説明するモジュールをそれぞれ、プログラム可能な回路（たとえばマイクロプロセッサベースの回路）または専用回路たとえば特定用途向け集積回路（ＡＳＩＣＳ）もしくはフィールドプログラマブルゲートアレイ（ＦＰＧＡＳ）において実施してもよい。一実施形態では、中央演算処理装置（ＣＰＵ）がソフトウェアを実行して、本明細書で説明する各モジュールに起因する機能を実行することができる。ＣＰＵは、Ｊａｖａ（登録商標）、Ｃ、またはアセンブリなどのプログラミング言語で書き込まれたソフトウェア命令を実行してもよい。モジュール内の１つ以上のソフトウェア命令を、消去可能プログラマブル読み出し専用メモリ（ＥＰＲＯＭ）などのファームウェアに埋め込んでもよい。
【００３２】
倉庫制御エンジン４０２は、搬送装置エンジン４０４及びボットエンジン４０６に制御コマンドを出力する。搬送装置エンジン４０４は搬送装置１０６を制御する。ボットエンジン４０６は、倉庫制御エンジン４０２から受け取った制御コマンドに基づいてボット１０８を制御する。倉庫制御エンジン４０２は倉庫４１２を管理してもよい。図４において、倉庫４１２には、第１のフロア４０８（または第１の垂直レベル）及び第２のフロア４１０が含まれていてもよい。搬送装置４１４が、第１のフロア４０８と第２のフロア４１０との間でボット４１６ａ及び４１６ｂを搬送する。倉庫４１２にはまた、ラック４１８ａ〜ｄが含まれていてもよい。ボット４１６ａ及び４１６ｂは、第１のフロア４０８と第２のフロア４１０との間でラックを搬送してもよい。各フロアにはまた、ピック／プット領域が含まれていてもよい。第１のフロア４０８には第１のピック／プット領域４２０ａが含まれ、第２のフロア４１０には第２のピック／プット領域４２０ｂが含まれている。
【００３３】
図５は、一実施例により搬送装置１０６及びボット１０８を制御するためのプロセス５００の実施形態を例示するフローチャートである。ステップ５０２において、倉庫制御エンジン４０２は、ボット１０８を新しい場所（すなわち、行き先）まで移動させる必要がある注文を受け取ってもよい。ステップ５０４において、倉庫制御エンジン４０２は、新しい場所がボットの現在位置とは異なる垂直方向の場所であるか否かを判定してもよい。新しい場所は異なるレベルであると判定した結果、ステップ５０４でｙｅｓとなったことに応じて、プロセスはステップ５０６に進む。新しい場所とボットの現在位置とは同じ垂直レベル（たとえば、等しいｚ座標）であると判定した結果、ステップ５０４でＮｏとなったことに応じて、プロセスはステップ５１８に進む。ステップ５１８において、倉庫制御エンジン４０２はボットエンジン４０６に制御コマンドを出力して、ボット１０８を新しい場所まで移動させてもよい。
【００３４】
ステップ５０６において、倉庫制御エンジン４０２はボットエンジン４０４にコマンドを出力して、ボットを搬送装置入口まで移動させてもよい。倉庫制御エンジン４０２は、図７及び１０に示すプロセスを用いて、ボット１０８及び搬送装置１０６を選択してもよい。
【００３５】
ステップ５０８において、倉庫制御エンジン４０２は搬送装置エンジン４０４にコマンドを出力して、搬送装置１０６をボットの現在位置の垂直レベルまで移動させてもよい。ステップ５１０において、倉庫制御エンジン４０２はボットエンジン４０６に制御コマンドを出力して、ボット１０８を搬送装置１０６内に移動させてもよい。その結果、ボットエンジン４０６は、ボット１０８に制御信号を出力して、搬送装置１０６内に移動させてもよい。ステップ５１２において、倉庫制御エンジン４０２は搬送装置エンジン４０４にコマンドを出力して、搬送装置１０６を新しい場所または行き先の垂直レベルまで移動させてもよい。ステップ５１４において、倉庫制御エンジン４０２は、搬送装置１０６が新しい場所の垂直レベルに到着したという決定に応じて、ボットエンジン４０６に制御コマンドを出力して、ボット１０８を行き先まで移動させる。ステップ５１６において、倉庫制御エンジン４０２は、ボットが新しい場所に到着したときに、ボットのステータスを「利用可能である」に更新してもよい。
【００３６】
図６Ａは、一実施例により各搬送装置１０６ａ、１０６ｂに対応付けられる所定の位置を示す概略図である。位置６０２ａが搬送装置１０６ａに対応付けられる。ボット１０８ａは位置６０２ａまで進み、次に、搬送装置１０６ａの準備ができているときに搬送装置１０６ａの内部の位置６０２ｂまで移動してもよい。たとえば、搬送装置１０８はボット１０８ａを別の場所まで移動させる準備ができているとサーバ１０４が判定したときに、サーバ１０４はボット１０８ａに指示を出して搬送装置１０６ａに入らせる。また複数の所定の位置６０２ｃ、６０２ｄを搬送装置１０６ｂに対応付けてもよい。
【００３７】
図６Ｂは、一実施例によるボットの移動の説明を示す概略図である。概略図６０４に示すのは、ボット１０８ｂが所定の入口側から搬送装置１０６ｃに入るところ、及びボット１０８ｃが所定の出口側を介して搬送装置１０６ｃから出るところである。搬送装置が複数の開口部を伴う場合、各開口部を入口側または出口側に、動的にまたは固定ベースで割り当ててもよい。さらに、使用できる開口部の数は、搬送行き先フロアまたは場所に応じて異なっていてもよい。概略図６０６に、単一の側からリフト１０６ｄに出入りするボット１０８ｄ、１０８ｅを示す。
【００３８】
一実施形態では、サーバ１０４が、第１の位置から第２の位置へのボットに対する搬送経路を決定する。経路には、１つ以上の搬送装置１０６による垂直レベルの変化が含まれていてもよい。経路を、倉庫、搬送装置１０６などにおけるボットの場所についての情報に基づいて特定してもよい。サーバ１０４は、ボット１０８に経路に対応付けられる情報を送ってもよい。たとえば、サーバ１０４は、ボット１０８が従う特定の順序にあるマーカーに対する一連の命令を出力してもよい。サーバ１０４は、用いるべき搬送装置を複数の因子に基づいて特定してもよい。複数の因子としては、搬送装置１０６の種類、搬送装置１０６が運ぶ負荷の種類、搬送装置１０６までのボット１０８の近さ、搬送装置１０６の現在位置（たとえば、エレベータの場合）、搬送装置１０６がサービスを提供する領域（たとえば、フロア）、搬送装置１０６の搬送速度などを挙げてもよい。たとえば、ボット１０８が脆い物品を保持している場合は、動きの遅い搬送装置１０６を用いて搬送してもよい。サーバ１０４は、脆い物品がロードされたすべてのボット１０８を単一の搬送装置１０６に割り当ててもよい。次に、サーバ１０４は搬送装置１０６に制御信号を出力して、リフトの速度を、物品種類に基づいてデータベース１１２から取り出した好適な速度に制御してもよい。重い物品は、物品の重量よりも負荷閾値が大きいリフトに割り当てられる。典型的なプロセスを図７に示す。
【００３９】
図７は、一実施例により第１の場所から第２の場所へ物品を搬送するようにボット１０８を制御するためのプロセス７００の実施形態を例示するフローチャートである。いくつかの実施形態では、プロセス７００はサーバ１０４が実施する。
【００４０】
ステップ７０２において、サーバ１０４は物品を搬送するために利用できるボット１０８を特定する。タスクを実行するために複数のボット１０８が利用できるとき、複数のボット１０８のうちの１つを、保管ラックまでのボット１０８の近さに基づいて選択してもよい。
【００４１】
ステップ７０４において、サーバ１０４は、利用できるボット１０８が第１の場所まで移動するのに搬送装置１０６が必要か否かを判定してもよい。たとえば、サービス１０４は、第１の場所に対応付けられる垂直レベルが、利用できるボットの垂直レベルに対応するか否かを判定する。搬送装置１０６が必要でないという判定に応じて（たとえば、第１の場所に対応付けられる垂直レベルが、利用できるボットの垂直レベルに対応するとき）、プロセスはステップ７０８に進む。搬送装置１０６が必要であるという判定に応じて（たとえば、第１の場所に対応付けられる垂直レベルが、利用できるボットの垂直レベルに対応しないとき）、プロセスはステップ７０６に進む。
【００４２】
ステップ７０６において、サーバ１０４は、ボットを搬送する搬送装置１０６を特定する。たとえば、本明細書で前述した複数の因子のうちのいずれか一つまたは組み合わせに基づいて、搬送装置１０６はボット１０８を第１の場所の垂直レベルまで搬送する。プロセスが、保管ラックを取り出して空の物品または保管ラックを記憶することである場合は、複数の因子には物品の種類が含まれていなくてもよい。
【００４３】
ステップ７０８において、サーバ１０４はボット１０８に１つ以上の制御信号を出力して、ボット１０８を第１の場所まで移動させる。またサーバ１０４は、必要に応じて１つ以上の制御信号を搬送装置１０６に送ってもよい。ステップ７１０において、サーバ１０４はボット１０８に１つ以上の制御信号を出力して、物品を取り出し／保管させる。たとえば、ボット１０８は、物品を含む保管ラックを上げるかまたは下げるように指示される。
【００４４】
ステップ７１２において、サーバ１０４は、ボット１０８が第２の場所まで移動するのに搬送装置１０６が必要であるか否かを判定する。たとえば、サービス１０４は、ボットに対応付けられる垂直レベルが第２の場所の垂直レベルに対応するか否かを判定する。搬送装置１０６は必要ではないという判定に応じて（たとえば、第２の場所に対応付けられる垂直レベルが第１の場所の垂直レベルに対応するとき）、プロセスはステップ４１６に進む。搬送装置１０６が必要であるという判定に応じて（たとえば、第２の場所に対応付けられる垂直レベルが第１の場所の垂直レベルに対応しないとき）、プロセスはステップ７１４に進む。
【００４５】
ステップ７１４において、本明細書で前述した複数の因子のうちのいずれか一つまたは組み合わせに基づいて、サーバ１０４は搬送装置１０６を特定する。リクエストが、保管ラックを取り出して空の物品または保管ラックを記憶することである場合には、複数の因子には物品の種類が含まれていなくてもよい。ステップ７１６において、サーバ１０４は制御信号をボットに送って第２の場所まで移動させてもよい。またサーバ１０４は、必要に応じて制御信号を搬送装置１０６に送ってもよい。
【００４６】
フローチャートでは機能上の論理ブロックを実行する特定の順序を示しているが、論理ブロックを実行する順序は示した注文に対して変えてもよいことは、当業者によって理解されるとおりである。また、連続して示される２つ以上のブロックは、同時にまたは部分的に同時に実行してもよい。
【００４７】
ある実施形態では、１つ以上の障壁（たとえば、１つ以上のブーム障壁、ドア、移動可能なフロア障壁など）が、安全性を得るために、及び／または搬送装置１０６が利用できず及び／または準備ができていないときにボットが搬送装置１０６への出入りを試みないように、搬送装置１０６の開口部に設けられている場合がある。各障壁をサーバ１０４が別個に制御してもよい。サーバ１０４は障壁に制御信号を送って、搬送装置１０６のステータスに基づいて開いて／閉じてもよい。また障壁を搬送装置１０６の処理回路２０６が制御してもよい。
【００４８】
いくつかの実施形態では、障壁は実質的に、たとえば搬送装置１０６（たとえば、エレベータ）の入口／出口をブロックするために直線的に上げ下げされ得るバーまたはゲート状の障壁であってもよい。障壁の上げ下げは任意の好適な方法で行ってもよい。いくつかの実施形態では、特定のフロアでは入口及び出口障壁は同じである（たとえば、シングル種類の入口）。他の実施形態では、特定のフロアでは入口及び出口障壁は互いに反対側である（たとえば、ダブル種類の入口）。
【００４９】
いくつかの実施形態では、搬送装置１０６は障壁識別情報（たとえば、障壁識別子）に基づいて制御される。たとえば、サーバ１０４は障壁識別情報を、その障壁識別子の障壁に対応付けられる搬送装置１０６に出力する。搬送装置１０６は、障壁特定に基づいて場所（たとえば、垂直レベル）を決定してもよい。障壁識別情報に第１の算術演算を適用してもよい。たとえば、障壁識別情報から第１の数を差し引いてもよい（たとえば、１）。次に、第２の算術演算を適用してもよい（たとえば、所定の数で割る）。第２の算術演算の後に取得した商が場所（たとえば、垂直レベル）を示してもよい。一実施例として、サーバ１０４は搬送装置１０６に、障壁識別情報として「１」を含む信号を送ってもよい。次に、搬送装置１０６は第１の算術演算：１−１＝０、及び第２の算術演算０／２＝０を実施する。その結果、搬送装置１０６は、「０」に対応付けられる場所（たとえば、垂直レベル）に進んでもよい。「０」に対応付けられる場所に搬送装置１０６が到着したら、搬送装置１０６は障壁に制御信号を出力して開いてもよい。別の実施例として、サーバ１０４は搬送装置１０６にコマンド「２」を送ってもよい。搬送装置１０６は、処理回路２０６を介して、第１の算術演算２−１＝１及び第２の算術演算１／２＝０を実施してもよい。その結果、搬送装置１０６は、「０」に対応付けられる場所に進む。
【００５０】
図８は、搬送装置１０６がエレベータである一実施例により搬送装置１０６を制御するためのプロセス８００に対するフローチャートである。プロセス８００は、搬送装置１０６、サーバ１０４、または搬送装置エンジン４０４によって実施してもよい。
【００５１】
ステップ８０２において、搬送装置１０６はサーバ１０４から第１のコマンドを受け取る。第１のコマンドには、エレベータの場合に搬送装置１０６の行き先に対応付けられる垂直レベルが含まれていてもよい。さらに、第１のコマンドには移動速度などの情報が含まれていてもよい。第１のコマンドは本明細書で前述したように障壁識別情報であってもよい。
【００５２】
ステップ８０４において、処理回路２０６は、搬送装置１０６の垂直方向／水平方向移動制御装置を起動してもよい。
【００５３】
ステップ８０６において、搬送装置１０６は、通信回路２０８を介して、搬送装置１０６が垂直レベルに到着したという確認応答を送る。搬送装置１０６またはサーバ１０４は、ボット１０８に制御信号を送って、搬送装置１０６の内部の所定の位置まで移動させてもよい。
【００５４】
ステップ８０８において、搬送装置１０６は、サーバ１０４から受け取った第１のコマンドが示す制御信号を出力して、搬送装置１０６の開口部に位置する障壁を開いてもよい。
【００５５】
ステップ８１０において、搬送装置１０６は、障壁が開いていることを示す確認応答をサーバ１０４に出力してもよい。サーバ１０４は１つ以上のボット１０８に制御信号を送って、搬送装置１０６に出入りさせてもよい。ステップ８１２において、搬送装置１０６は障壁を閉じてもよい。搬送装置１０６はサーバ１０４から信号を受け取って障壁を閉じてもよい。他の実施例では、搬送装置１０６は、第１のコマンドに含まれる所定時間に基づいて障壁を閉じてもよい。たとえば、サーバ１０４は、出入りするボットの数に基づいて、また各ボットの速度に基づいて、障壁の開閉間の時間を予め定めてもよい。
【００５６】
ステップ８１２において、搬送装置１０６は、第１のコマンドに含まれる次の場所（たとえば、次の垂直レベル）に進んでもよいし、または第２のコマンドを受け取って（たとえば、第２のボットをロードして）もよい。
【００５７】
ステップ８０４〜８１２を繰り返して、さらなる搬送装置１０６を搬送してもよい。たとえば、第１のコマンドには複数の垂直レベルが含まれていてもよい。
【００５８】
搬送装置１０６の各搬送装置を特定のゾーンに割り当ててもよい。救急事態の場合には、サーバ１０４は、作動停止すべき特定のゾーンに割り当てられたすべての搬送装置１０６に制御信号を送ってもよい。
【００５９】
図９は、一実施例によるマルチフロアロボットオートメーションに対するプロセス９００に対するフローチャートである。ステップ９０２において、サーバ１０４は第１の場所から第２の場所へ物品を搬送するリクエストを受け取る。
【００６０】
ステップ９０４において、サーバ１０４は、本明細書で前述したように複数の因子のうちのいずれか１つ以上に基づいてボット１０８を特定する。
【００６１】
ステップ９０６において、サーバ１０４は、ボット１０８の最初の場所に対応付けられる第１の垂直レベルと、ボット１０８の最終行き先に対応付けられる第２の垂直レベルとを決定する。
【００６２】
ステップ９０８において、サーバ１０４は本明細書で前述したように搬送装置１０６を特定する。
【００６３】
ステップ９１０において、サーバ１０４は、ボット１０８に１つ以上の制御信号を出力して、搬送装置１０６に対応付けられる第１の位置まで移動させる。さらに、搬送装置１０６はサーバ１０４に、搬送装置１０６がボット１０８の垂直レベルに到着したときに確認応答信号を送ってもよい。サーバ１０４は、搬送装置１０６のステータスが準備ができているときに、ボット１０８に第２の制御信号を出力してもよい。いくつかの実施形態では、ボットが入口点に到着したときに、リフトとボットとの間のハンドシェイクが起こる。いくつかの実施形態により、どのボットでも入口点に最初に到着したら、リフトを受け取ってそれを用いる。さらに、サーバ１０４は、搬送装置１０６に対応付けられる１つ以上の障壁に１つ以上の信号を出力して、開かせて、ボット１０８が搬送装置１０６に入れるように、または１つ以上の他のボットが最初に出られるようにしてもよい。
【００６４】
図１０は、一実施例によりボット１０８に対する好ましい経路を決定するためのプロセス１０００に対するフローチャートである。ステップ１００２において、サーバ１０４は、ボット１０８に対応付けられる搬送装置１０６を特定する。たとえば、サーバ１０４は、行き先に到着するためにボット１０８が用い得るすべての利用可能な搬送装置を特定してもよい。ステップ１００４において、サーバ１０４は、在庫位置から最も近い搬送装置に対するコストを決定する。コストには、移動時間、エネルギー使用量などが含まれていてもよい。ステップ１００６において、サーバ１０４は、利用できる各搬送装置に対する搬送装置の使用コストを決定してもよい。ステップ１００８において、サーバ１０４は、各利用可能な経路に対して搬送装置が行き先フロアまで移動するコストを決定してもよい。ステップ１０１０において、サーバ１０４は、種々の経路及び利用可能な搬送装置に対する総コストを比べて、コストが最も低い経路を好ましい経路として選択してもよい。
【００６５】
図１１は、一実施例によりマルチフロア倉庫を管理するためのプロセス１１００に対するフローチャートである。ステップ１１０２において、サーバ１０２は、ボット、ラック、浮床などに対して垂直方向の移動が必要か否かを判定してもよい。垂直方向の移動が必要であると判定した結果、ステップ１１０２でｙｅｓとなったことに応じて、プロセスはステップ１１０４に進む。垂直方向の移動は必要でないと判定した結果、ステップ１１０２でｎｏとなったことに応じて、プロセスはステップ１１０６に進む。マルチフロア動作エンジン１１０４は、ボット、ラック、浮床などの移動を制御してもよい。ステップ１１０８において、マルチフロア動作エンジン１１０４は、種々のレベル（たとえば、異なるフロアレベル）でナビゲーション及び在庫管理を出力してもよい。搬送装置１０６に対する制御コマンドを、搬送装置コアアーキテクチャ１１０６（搬送装置エンジン４０４（図４）に対応し得る）に出力してもよい。
【００６６】
図１２は、一実施例により在庫場所を特定するためのプロセス１２００に対するフローチャートである。ステップ１２０２において、注文詳細をサーバ１０４が受け取ってもよい。ステップ１２０４において、サーバ１０４は注文詳細に対応付けられる在庫場所を特定する。注文は倉庫の種々の場所から取得してもよい。ステップ１２０６において、サーバ１０４は種々の在庫場所に対するコストを決定する。ステップ１２０８において、サーバ１２０８は、最小コストがマルチフロア動作（すなわち、注文品の取り出しが垂直レベルの変化を伴う）に対応するか否かをチェックしてもよい。最小コストはマルチフロア動作に対応するという判定に応じて、プロセスはステップ１２１０に進む。最小コストはマルチフロアに対応しない動作という判定に応じて、プロセスはステップ１２１４に進む。ステップ１２１４において、ボットエンジン４０６はボット１０８を制御して、最小コストに対応付けられる場所から注文に対応付けられる物品を取り出してもよい。ステップ１２１０において、マルチフロア経路プランニング機能を実施してもよい。たとえば、図１０のプロセス１０００を実施してもよい。
【００６７】
図１３は、コストによりボットを選択するためのプロセスに対するフローチャートである。いくつかの実施形態では、図１３に例示するプロセスを倉庫制御エンジン４０２が行う。図１３のプロセスは、ステップ９０４（図９）が実行されたときに行ってもよい。プロセスは全般的に、完全グリッド（ＡＸＡ）に対する経路の静的または動的なコストＣ（Ｒ）をロードするステップ１３００から開始してもよい。完全グリッド（ＡｘＡ）は完全な倉庫を表してもよい。プロセスはステップ１３０２に進んで、サーバからのボットのリアルタイムの利用可能性を取り出す。たとえば、倉庫制御エンジン４０２は、倉庫内のボットのいずれか１つが現時点で利用できるか否かを示すレポートを取り出してもよい。このレポートを所定の有効期間に対応付けてもよい。この期間が経過した後はレポートはもはや有効ではなく、新しいレポートを取り出す必要がある。たとえば、ボットが現時点で、在庫を移動させるタスクに割り当てられていないときには、ボットが利用できると考えてもよい。
【００６８】
プロセスはステップ１３０４に進んで、在庫の供給源場所（たとえば、在庫の保管場所の当初位置）を特定する。プロセスはステップ１３０６に進んで、受け取ったＣ（Ｒ）に基づく最小コストのボットを選択する。たとえば、最も低い最小コストのボットを、物品を搬送するために選択する。ステップ１３０８において、リフトの要求をチェックする機能に対する呼び出しを行う。たとえば、ボットを選択した後で、物品を搬送するのにリフトが必要であるか否かを判定する。
【００６９】
図１４は、コストによりリフトを選択するためのプロセスに対するフローチャートである。いくつかの実施形態では、図１３に例示したプロセスは倉庫制御エンジン４０２が行う。一実施例としては、図１４のプロセスは、ステップ５０４（図５）での判定が「ｙｅｓ」である場合か、またはステップ１３０８（図１３）後にリフトが必要であると判定された場合に行ってもよい。プロセスは、利用できるリフトの中のリフトを選択するステップ１４００から開始してもよい。リフトが選択されたときに、選択したリフトが破損または停止を報告した場合には、ステップ１４００ｉでプロセスを中断してもよい（たとえば、リフトが所望の行き先に到着する前に移動を停止する）。
【００７０】
プロセスはステップ１４０２に進んで、特定したボットの位置を取り出す。特定したボットは、ステップ１３０２において利用可能であると示されたボットのうちの１つに対応してもよい。プロセスはステップ１４０４に進んで、特定したボットを位置Ｐ１から選択したリフトｉまで移動させる静的または動的なコストを取り出す。プロセスはステップ１４０６に進んで、現在時刻で選択したリフトｉを待つコスト（Ｃｗｉ）を計算する。プロセスはステップ１４０６に進んで、リフトｉを搬送に用いるコスト（Ｃｔｉ）を計算する。コストＣｔｉは、たとえば、リフトの速度または行き先のフロアに基づいてもよい。プロセスはステップ１４０６に進んで、コスト（ＣＤｉ）を計算して、ボットをリフトｉから行き先点Ｄ１（たとえば、ロボットによって運ばれている在庫に対する行き先）まで移動させる静的または動的なコストを計算する。
【００７１】
プロセスはステップ１４１０に進んで、すべてのリフトを処理したか否かを判定する。たとえば、ステップ１４１０では、各ステップ１４０４〜１４０８で計算したすべてのコストがそれぞれの利用可能なリフトに対して決定されたか否かを判定する。すべてのボットが処理されてはいない場合、プロセスはステップ１４０４に戻る。すべてのリフトを処理した場合、プロセスはステップ１４１２に進んで、リフトｉに対する総コスト（たとえば、Ｃ１ｉ＋Ｃｗｉ＋Ｃｔｉ＋Ｃｄｉ）を計算する。プロセスはステップ１４１４に進んで、最小Ｃｉ（リフトｉに対する総コスト）を決定する。プロセスはステップ１４１６に進んで、リフトｉを選択して待ち時間を更新する。たとえば、最小Ｃｉを有するリフトを選択する。
【００７２】
いくつかの実施形態では、図１３及び１４で参照した静的コストは事前に計算したコストを指す。さらに、いくつかの実施形態では、図１３及び１４で参照した動的なコストは、特定の時間（たとえば、現在時刻または現在時刻プラス所定のずれ）における予測コストを指す。
【００７３】
図１５に、ボットのナビゲーションを制御するためのプロセスを例示する。図１５のプロセスは、図１４のステップ１４１６におけるリフトを選択したら行ってもよい。プロセスは全般的に、搬送すべき物品の供給源に対するボットの動作が始まるステップ１５００から開始してもよい。プロセスはステップ１５０２に進んでリアルタイム経路を特定する。たとえば、リアルタイム経路は、ボットの最終行き先までの移動時間が最も短い現在時刻における経路であってもよい。リアルタイム経路を、供給源から行き先までの最良の経路を決定するための当業者に知られた任意のアルゴリズム（たとえば、ＤｉｊｋｓｔｒａアルゴリズムまたはＡ＊アルゴリズム）を用いて特定してもよい。
【００７４】
プロセスはステップ１５０４に進んで、リフトが動作中であるか否かを判定する。チェックしているリフトは、ステップ１４１６（図１４）で選択したリフトに対応してもよい。リフトが動作中である場合には、プロセスはステップ１５０６に進んで、リフトに向けてのボットのナビゲーションを開始する。リフトが動作中でない場合には、プロセスはステップ１５０８に進んで、別のリフトを特定する。たとえば、ステップ１５０８で、図１４に例示したプロセスを繰り返してもよい。
【００７５】
図１６は、一実施例によるシステム１０２における注文フロー１６００を示す概略図である。注文フロー１６００には、クライアントインターフェース１６０２、在庫管理１６０４、タスク管理１６０６、タスク実行者１６０８、及びプロセスフロー１６１０が含まれていてもよい。クライアントインターフェース１６０２には、注文を生成することが含まれていてもよい。注文をネットワーク１１０を介して受け取ってもよい。注文は１つ以上の物品を取り出すかまたは保管するためであってもよい。在庫管理１６０４には、注文のコストを計算することと、ピック／プット動作が完了したら注文を更新することとが含まれていてもよい。タスク管理１６０６には好ましいボットを選択することが含まれる。たとえば、図９のプロセス９００を実施してもよい。タスク実行者１６０８には、搬送装置エンジン４０４及びボットエンジン４０６から出力されたコマンド制御が含まれていてもよい。プロセスフロー１６１０にはピック／プット動作が含まれていてもよい。
【００７６】
いくつかの実施形態では、サーバ１０４の機能及びプロセスをコンピュータ１７２６が実施してもよい。次に、典型的な実施形態によるコンピュータ１７２６のハードウェア記述について、図１７を参照して説明する。図１７において、コンピュータ１７２６には、本明細書で説明するプロセスを実行するＣＰＵ１７００が含まれる。プロセスデータ及び命令をメモリ１７０２に記憶してもよい。またこれらのプロセス及び命令を記憶媒体ディスク１７０４（たとえば、ハードドライブ（ＨＤＤ）または携帯型記憶媒体）上に記憶してもよいし、または遠隔に記憶してもよい。さらに、請求される進歩は、本発明のプロセスの命令が記憶されるコンピュータ可読媒体の形態によって限定されない。たとえば、命令をＣＤ、ＤＶＤ、フラッシュメモリ、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ハードディスク、または任意の他の情報処理装置であってコンピュータ１７２６が通信するもの（たとえば、サーバまたはコンピュータ）に記憶してもよい。
【００７７】
さらに、請求される進歩を、特許出願、バックグラウンドデーモン、もしくはオペレーティングシステムのコンポーネント、またはそれらの組み合わせとして与えてもよく、それらは、ＣＰＵ１７００、及びオペレーティングシステム、たとえば、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、Ｏｒａｃｌｅ（登録商標）、Ｓｏｌａｒｉｓ、ＬＩＮＵＸ（登録商標）、Ａｐｐｌｅ  ｍａｃＯＳ（登録商標）、ＡｐｐｌｅｍａｃＯＳ（登録商標）、及び当業者に知られている他のシステムとともに実行される。
【００７８】
コンピュータ１７２６を実現するために、ハードウェア要素を当業者に知られた種々の回路要素によって実現してもよい。たとえば、ＣＰＵ１７００は、Ｘｅｎｏｎ（登録商標）もしくはＣｏｒｅ（登録商標）プロセッサ（ＡｍｅｒｉｃａのＩｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎより）、またはＯｐｔｅｒｏｎ（登録商標）プロセッサ（ＡｍｅｒｉｃａのＡＭＤより）であってもよいし、または当業者だったら分かるであろう他のプロセッサ種類であってもよい。代替的に、ＣＰＵ１７００をＦＰＧＡ、ＡＳＩＣ、ＰＬＤ上で、またはディスクリート論理回路を用いて実施してもよいことは、当業者であれば分かることである。さらに、ＣＰＵ１７００を、前述した本発明のプロセスの命令を実行するために協調して並列に動作する複数のプロセッサとして実施してもよい。
【００７９】
また図１７のコンピュータ１７２６には、ネットワーク制御装置１７０６、たとえばインテルイーサネットＰＲＯネットワークインターフェースカード（ＡｍｅｒｉｃａのＩｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ）が、ネットワーク１７２４とインターフェースで接続するために含まれる。理解できるように、ネットワーク１７２４は、パブリックネットワーク、たとえばインターネット、またはプライベートネットワーク、たとえばＬＡＮまたはＷＡＮネットワーク、またはそれらの任意の組み合わせとすることができ、またＰＳＴＮまたはＩＳＤＮサブネットワークを含むこともできる。ネットワーク１７２４は有線とすることもできるし（たとえば、イーサネットネットワーク）、または無線とすることもできる（たとえば、セルラーネットワーク、たとえば、ＥＤＧＥ、３Ｇ及び４Ｇ無線セルラーシステム）。また無線ネットワークは、ＷｉＦｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または知られている任意の他の無線形態の通信とすることもできる。
【００８０】
コンピュータ１７２６にはさらに、ディスプレイ制御装置１７０８、たとえば、ＮＶＩＤＩＡ（登録商標）ＧｅＦｏｒｃｅ（登録商標）ＧＴＸまたはＱｕａｄｒｏ（登録商標）グラフィックスアダプタ（ＡｍｅｒｉｃａのＮＶＩＤＩＡ  Ｃｏｒｐｏｒａｔｉｏｎより）が含まれる。これらは、ディスプレイ１７１０（たとえば、Ｈｅｗｌｅｔｔ  Ｐａｃｋａｒｄ（登録商標）ＨＰＬ２４４５ｗ  ＬＣＤモニタ）にインターフェースで接続する。汎用Ｉ／Ｏインターフェース１７１２が、キーボード及び／またはマウス１７１４ならびに任意的なタッチスクリーンパネル１７１６（ディスプレイ１７１０上またはこれから離れて）とインターフェースで接続する。また汎用Ｉ／Ｏインターフェースは種々の周辺装置１７１８（たとえば、プリンタ及びスキャナ）に接続している。たとえば、ＯｆｆｉｃｅＪｅｔ（登録商標）またはＤｅｓｋＪｅｔ（登録商標）（Ｈｅｗｌｅｔｔ  Ｐａｃｋａｒｄ（登録商標）製）である。
【００８１】
汎用の記憶制御装置１７２０は記憶媒体ディスク１７０４を通信バス１７２２に接続している。通信バス１７２２は、ＩＳＡ、ＥＩＳＡ、ＶＥＳＡ、ＰＣＩ、または同様のものであってもよく、コンピュータ１７２６のコンポーネントをすべて相互接続するためのものである。ディスプレイ１７１０、キーボード及び／またはマウス１７１４、ならびにディスプレイ制御装置１７０８、記憶制御装置１７２０、ネットワーク制御装置１７０６、及び汎用Ｉ／Ｏインターフェース１７１２の一般的な特徴及び機能の説明は、これらの特徴は知られているため、本明細書では省略して簡略化している。
【００８２】
明らかに、前述の教示を考慮すれば多くの変更及び変化が可能である。したがって、添付の請求項の範囲内で、本発明を本明細書で具体的に述べたこと以外で実施してもよいと理解すべきである。
【００８３】
すなわち、前述の説明では、単に本発明の典型的な実施形態を開示して説明しただけである。当業者であれば分かるように、本発明を、本発明の趣旨または本質的特徴から逸脱することなく他の具体的な形式で具体化してもよい。したがって、本発明の開示は、本発明の範囲ならびに他の請求項を例示はしているが限定はしていないことを意図している。本開示では、本明細書で示した教示の容易に認められる任意の変形も含めて、部分的に、前述のクレーム用語の範囲を規定して、本発明の主題が公衆に供されることがないようにしている。
【００８４】
また前述の開示内容には、以下に列記する実施形態も包含される。
【００８５】
（１）マルチフロアロボットオートメーションに対する方法には、第１の場所から第２の場所へ物品を搬送するリクエストを受け取ることと、サーバの処理回路を用いて、複数のボットから第１の場所から第２の場所へ物品を搬送するためのボットを選択することであって、ボットは、少なくとも、搬送すべき物品の種類に基づいて選択される、選択することと、処理回路を用いて、選択したボットの最初の場所に対応付けられる第１の垂直レベルと、選択したボットの行き先に対応付けられる第２の垂直レベルとを決定することと、選択したボットの最初の場所に対応付けられる第１の垂直レベルが、選択したボットの行き先に対応付けられる第２の垂直レベルと異なるか否かを判定することと、第１の垂直レベルが第２の垂直レベルとは異なるという判定に応じて、（ａ）選択したボットを第１の垂直レベルから第２の垂直レベルへ垂直方向に移すように構成された搬送装置を、処理回路を用いて選択することと、（ｂ）選択したボットに制御信号を出力することであって、制御信号は選択したボットを選択した搬送装置に対応付けられる第１の位置まで移動させる、出力することと、が含まれる。
【００８６】
（２）選択したボットの最初の場所は、リクエストを受け取る前の選択したボットの元の場所であり、選択したボットの行き先は物品の第１の場所である特徴（１）に記載の方法。
【００８７】
（３）選択したボットの最初の場所は、物品を積み込んだ後の物品の第１の場所であり、選択したボットの行き先は物品を送り出すための第２の場所である特徴（１）または（２）に記載の方法。
【００８８】
（４）第１の場所は第１の建物であり、第２の場所は、第１の建物とは場所が異なる第２の建物である特徴（２）または（３）に記載の方法。
【００８９】
（５）搬送装置を選択することには、各利用可能な搬送装置に対して搬送装置の使用に対応付けられる第１のコストを決定することと、各利用可能な搬送装置を第２の場所まで移動させるための第２のコストを決定することと、ボットを各利用可能な搬送装置まで移動させるための第３のコストを決定することと、ボットがボットの最初の位置からボットの行き先まで移動するための複数の経路を決定することであって、各経路は、各利用可能な搬送装置に対する第１のコスト、第２のコスト、及び第３のコストを含む総コストに対応付けられる、決定することと、複数の経路から好ましい経路を選択することであって、好ましい経路は複数の経路から最も低い総コストを有する、選択することと、が含まれる特徴（１）〜（４）のいずれか１つに記載の方法。
【００９０】
（６）さらに、準備度レベルを示す選択した搬送装置のステータスを決定することと、選択した搬送装置の決定したステータスが、選択した搬送装置が選択したボットを受け取る準備ができていることを示すときに、選択したボットに第２の制御信号を出力して、選択した搬送装置の内部に位置する第２の位置まで移動させることと、を含む特徴（１）〜（５）のいずれか１つに記載の方法。
【００９１】
（７）選択した搬送装置のステータスを決定することは、選択した搬送装置が第１の垂直レベルに対応する垂直レベルに到着したことと、障壁が開位置にあることとを示す確認応答を、選択した搬送装置から受け取ることと、を含む特徴（６）に記載の方法。
【００９２】
（８）選択した搬送装置には、選択したボットが出入りするための単一の開口部が含まれる特徴（１）〜（７）のいずれか１つに記載の方法。
【００９３】
（９）選択した搬送装置は、選択したボットが入るための第１の開口部と選択したボットが出るための第２の開口部とを含む特徴（１）〜（８）のいずれか１つに記載の方法。
【００９４】
（１０）搬送装置を選択することは、少なくとも、複数の搬送装置の各搬送装置のステータス、選択したボットの現在位置、ボット種類、及び搬送装置容量に従って行う特徴（１）〜（９）のいずれか１つに記載の方法。
【００９５】
（１１）さらに、選択した搬送装置に第３の制御信号を出力することであって、第３の制御信号は、選択した搬送装置の行き先に対応付けられる垂直レベルを示す障壁特定の関数である、出力すること、を含む特徴（１）〜（１０）のいずれか１つに記載の方法。
【００９６】
（１２）さらに、１つ以上の搬送装置の組をゾーンに対応付けることと、ゾーンにおいて緊急事象が検出されたときに組を作動停止させることと、を含む特徴（１）〜（１１）のいずれか１つに記載の方法。
【００９７】
（１３）さらに、選択した搬送装置を起動して、選択したボットの最初の位置に対応する第１の垂直レベルから選択したボットの行き先に対応する第２の垂直レベルまで移動させることと、搬送装置が第２の垂直レベルに到着したら障壁を閉位置から開位置まで駆動させることと、選択した搬送装置が第２の垂直レベルに到着したことと、障壁が開位置にあることとを示す確認応答を、選択した搬送装置から受け取ることと、選択したボットに第４の制御信号を出力することであって、第４の制御信号は選択したボットを選択した搬送装置の内部の位置から選択した搬送装置の外部の第２の位置まで移動させる、出力することと、を含む特徴（１）〜（１２）のいずれか１つに記載の方法。
【００９８】
（１４）選択した搬送装置は、１つ以上のボット種類の複数のボットを搬送するように構成されている特徴（１）〜（１３）のいずれか１つに記載の方法。
【００９９】
（１５）さらに、特定の垂直レベルにおける物品に対する在庫レベルを決定することと、１つ以上のボットを制御して、在庫レベルが所定閾値を下回ったときに、物品の積み重ね体を特定の垂直レベルまで移動させることと、を含む特徴（１）〜（１４）のいずれか１つに記載の方法。
【０１００】
（１６）さらに、ラックに対する垂直方向の利用レベルを決定することと、垂直方向の利用レベルに基づいて積み重ね体の高さを決定することと、１つ以上のボットを制御して、決定した積み重ね体の高さを有する積み重ね体をラックまで移動させることと、を含む特徴（１）〜（１５）のいずれか１つに記載の方法。
【０１０１】
（１７）マルチフロアロボットオートメーションに対するシステムであって、ボットを垂直方向に移すように構成された１つ以上の搬送装置と、複数のボットと、処理回路を含むサーバと、を含み、処理回路は、第１の場所から第２の場所へ物品を搬送するリクエストを受け取ることと、複数のボットから第１の場所から第２の場所へ物品を搬送するためのボットを選択することであって、ボットは、少なくとも、搬送すべき物品の種類に基づいて選択される選択することと、ボットの最初の場所に対応付けられる第１の垂直レベルと、選択したボットの行き先に対応付けられる第２の垂直レベルとを決定することと、選択したボットの最初の場所に対応付けられる第１の垂直レベルが、選択したボットの行き先に対応付けられる第２の垂直レベルと異なるか否かを判定することと、第１の垂直レベルが第２の垂直レベルとは異なるという判定に応じて、（ａ）１つ以上の搬送装置から、選択したボットを第１の垂直レベルから第２の垂直レベルへ移す搬送装置を選択することと、（ｂ）選択したボットに制御信号を出力することであって、制御信号は選択したボットを選択した搬送装置に対応付けられる第１の位置まで移動させる、出力することと、を行うように構成されている、システム。
【０１０２】
（１８）処理回路はさらに、準備度レベルを示す搬送装置のステータスを決定することと、選択した搬送装置のステータスが、選択した搬送装置が選択したボットを受け取る準備ができていることを示すときに、選択したボットに第２の制御信号を出力して、選択した搬送装置の内部に位置する第２の位置まで移動させることと、を行うように構成されている特徴（１７）に記載のシステム。
【０１０３】
（１９）選択したボットの最初の場所は、リクエストを受け取る前の選択したボットの元の場所であり、選択したボットの行き先は物品の第１の場所である特徴（１７）または（１８）に記載のシステム。
【０１０４】
（２０）選択したボットの最初の場所は、物品を積み込んだ後の物品の第１の場所であり、選択したボットの行き先は物品を送り出すための第２の場所である特徴（１７）〜（１９）のいずれか１つに記載のシステム。
【図１】
2020061150.tif 000003
【図２】
2020061150.tif 000004
【図３】
2020061150.tif 000005
【図４】
2020061150.tif 000006
【図５】
2020061150.tif 000007
【図６】
2020061150.tif 000008
【図７】
2020061150.tif 000009
【図８】
2020061150.tif 000010
【図９】
2020061150.tif 000011
【図１０】
2020061150.tif 000012
【図１１】
2020061150.tif 000013
【図１２】
2020061150.tif 000014
【図１３】
2020061150.tif 000015
【図１４】
2020061150.tif 000016
【図１５】
2020061150.tif 000017
【図１６】
2020061150.tif 000018
【図１７】
2020061150.tif 000019
【外国語明細書】
2020061150000001.pdf