(57)【要約】【課題】  倉庫内のロボット・デバイスの突き止めおよびナビゲーションを容易にすることである。【解決手段】  例の方法は、ロボット・デバイス上のセンサによって取り込まれた画像データを受信することを含む。ロボット・デバイスは、倉庫内の貯蔵位置に貯蔵された複数の在庫品目を含む倉庫内にある。各在庫品目は、倉庫管理システム（ＷＭＳ）内でそれを識別する品目上識別子を有し、各貯蔵位置は、ＷＭＳ内でそれを識別する貯蔵位置識別子を有し、第１の在庫品目の第１の品目上識別子は、ＷＭＳ内で第１の貯蔵位置の第１の貯蔵位置識別子に関連付けられる。この方法は、センサによって取り込まれた識別子を検出するために受信されたセンサ・データを分析することを含む。検出された識別子は、第１の品目上識別子および第１の貯蔵位置識別子のうちの一方または両方を含む。本方法は、検出された識別子に関連付けられた倉庫位置を判定することと、倉庫位置に基づいて、倉庫内のロボット・デバイスの位置を判定することとを含む。【選択図】図６
2019534829.tif 000002
【特許請求の範囲】
【請求項１】
ロボット・デバイスに結合されたセンサによって取り込まれたセンサ・データを受信することと、
前記センサ・データの受信に応答して、前記センサ・データの分析を実行することと、
前記受信されたセンサ・データの前記分析を使用して、前記センサによって取り込まれた識別子を検出することと、
倉庫管理システム（ＷＭＳ）内で前記識別子に関連付けられた倉庫位置を判定することと、
前記倉庫位置に基づいて、倉庫環境内の前記ロボット・デバイスの位置を判定することと
を含み、前記ロボット・デバイスは、前記倉庫環境内で配備され、複数の在庫品目は、前記倉庫環境内の複数の貯蔵位置で貯蔵され、各在庫品目は、前記ＷＭＳ内で前記在庫品目を識別する品目上識別子を有し、各貯蔵位置は、前記ＷＭＳ内で前記貯蔵位置を識別する貯蔵位置識別子を有し、
前記複数の在庫品目の第１の在庫品目の第１の品目上識別子は、前記ＷＭＳ内で前記複数の貯蔵位置の第１の貯蔵位置の第１の貯蔵位置識別子に関連付けられ、前記センサ・データの前記分析を使用して検出される前記識別子は、前記第１の品目上識別子および前記第１の貯蔵位置識別子のうちの一方または両方を含む
方法。
【請求項２】
前記複数の在庫品目の前記品目上識別子および前記複数の貯蔵位置の前記貯蔵位置識別子は、バーコードであり、
前記センサは、カメラであり、
前記センサ・データは、前記カメラによって取り込まれる画像データである
請求項１に記載の方法。
【請求項３】
前記ロボット・デバイスの前記判定された位置に基づいてナビゲーション命令を決定することと、
前記ナビゲーション命令に基づいて前記倉庫環境内で前記ロボット・デバイスを移動することと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記ナビゲーション命令の決定は、
前記倉庫環境内の目標位置にある目標在庫品目を判定することと、
前記ロボット・デバイスの前記判定された位置から前記目標位置へ前記ロボット・デバイスを移動するための前記ナビゲーション命令を生成することと
を含む、請求項３に記載の方法。
【請求項５】
前記ロボット・デバイスに結合された前記センサによって取り込まれた追加のセンサ・データを受信することと、
前記目標在庫品目の目標品目上識別子を検出するために前記受信された追加のセンサ・データを分析することと、
前記目標品目上識別子の検出に応答して、前記ロボット・デバイスが前記目標位置までナビゲートしたと判定することと
をさらに含む、請求項４に記載の方法。
【請求項６】
前記識別子は、前記第１の貯蔵位置識別子であり、前記倉庫位置の判定は、
前記複数の貯蔵位置の中から、前記ＷＭＳ内で前記第１の貯蔵位置識別子に関連付けられる前記第１の貯蔵位置を判定することと、
前記第１の貯蔵位置に関連付けられる前記倉庫位置を前記ＷＭＳから判定することと
を含む、請求項１に記載の方法。
【請求項７】
前記識別子は、前記第１の品目上識別子であり、前記倉庫位置の判定は、
前記第１の品目上識別子に関連付けられる前記第１の貯蔵位置識別子を前記ＷＭＳから判定することと、
前記複数の貯蔵位置の中から、前記ＷＭＳ内で前記第１の貯蔵位置識別子に関連付けられる前記第１の貯蔵位置を判定することと、
前記第１の貯蔵位置に関連付けられる前記倉庫位置を前記ＷＭＳから判定することと
を含む、請求項１に記載の方法。
【請求項８】
前記ロボット・デバイスの前記位置の判定は、
前記センサ・データに基づいて、前記検出された識別子のサイズおよび形状のうちの一方または両方を判定することと、
前記検出された識別子の前記サイズおよび前記形状のうちの前記判定された一方または両方を、基準サイズおよび基準形状のうちの一方または両方と比較することと、
前記比較に基づいて、前記検出された識別子の前記判定された倉庫位置に対する相対的な前記ロボット・デバイスの距離および方位のうちの一方または両方を判定することと、
（ｉ）前記検出された識別子の前記判定された倉庫位置ならびに（ｉｉ）前記検出された識別子の前記判定された倉庫位置に対する相対的な前記ロボット・デバイスの前記距離および前記方位のうちの前記判定された一方または両方に基づいて前記ロボット・デバイスの前記位置を判定することと
を含む、請求項１に記載の方法。
【請求項９】
前記ロボット・デバイスの前記位置は、前記ＷＭＳ内で前記検出された識別子に関連付けられる前記倉庫位置である、請求項１に記載の方法。
【請求項１０】
前記ＷＭＳは、前記ロボット・デバイスの１つまたは複数の構成要素を含む、請求項１に記載の方法。
【請求項１１】
前記ＷＭＳは、無線通信を介して前記ロボット・デバイスに通信可能に結合されたコンピューティング・システムを含む、請求項１に記載の方法。
【請求項１２】
前記ロボット・デバイスに結合された前記センサは、ステレオ・カメラである、請求項１に記載の方法。
【請求項１３】
前記ロボット・デバイスは、無人搬送車（ＡＧＶ）である、請求項１に記載の方法。
【請求項１４】
倉庫環境内で配備されるロボット・デバイスと、
前記ロボット・デバイスに結合されたセンサであって、前記センサは、センサ・データを取り込むように構成される、センサと、
前記センサによって取り込まれた前記センサ・データを受信し、
前記センサ・データの受信に応答して、前記センサ・データの分析を実行し、
前記センサ・データの前記分析を使用して、前記センサによって取り込まれた識別子を検出し、
倉庫管理システム（ＷＭＳ）内で前記識別子に関連付けられた倉庫位置を判定し、
前記倉庫位置に基づいて、前記倉庫環境内の前記ロボット・デバイスの位置を判定する
ように構成されたコンピューティング・システムと
を含み、複数の在庫品目は、前記倉庫環境内の複数の貯蔵位置で貯蔵され、各在庫品目は、前記ＷＭＳ内で前記在庫品目を識別する品目上識別子を有し、各貯蔵位置は、前記ＷＭＳ内で前記貯蔵位置を識別する貯蔵位置識別子を有し、
前記複数の在庫品目の第１の在庫品目の第１の品目上識別子は、前記ＷＭＳ内で前記複数の貯蔵位置の第１の貯蔵位置の第１の貯蔵位置識別子に関連付けられ、前記センサ・データの前記分析を使用して検出される前記識別子は、前記第１の品目上識別子および前記第１の貯蔵位置識別子のうちの一方または両方を含む
システム。
【請求項１５】
前記複数の在庫品目の前記品目上識別子および前記複数の貯蔵位置の前記貯蔵位置識別子は、バーコードであり、
前記センサは、カメラであり、
前記センサ・データは、前記カメラによって取り込まれる画像データである
請求項１４に記載のシステム。
【請求項１６】
前記カメラは、ステレオ・カメラである、請求項１５に記載のシステム。
【請求項１７】
前記コンピューティング・システムは、
前記ロボット・デバイスの前記判定された位置に基づいてナビゲーション命令を決定し、
前記ナビゲーション命令に基づいて前記倉庫環境内で前記ロボット・デバイスに移動をさせる
ようにさらに構成される、請求項１４に記載のシステム。
【請求項１８】
前記ロボット・デバイスの前記位置を判定するために、前記コンピューティング・システムは、
前記センサ・データに基づいて、前記検出された識別子のサイズおよび形状のうちの一方または両方を判定し、
前記検出された識別子の前記サイズまたは前記形状のうちの前記判定された一方または両方を、基準サイズまたは基準形状のうちの一方または両方と比較し、
前記比較に基づいて、前記検出された識別子の前記判定された倉庫位置に対する相対的な前記ロボット・デバイスの距離または方位のうちの一方または両方を判定し、
（ｉ）前記検出された識別子の前記判定された倉庫位置ならびに（ｉｉ）前記検出された識別子の前記判定された倉庫位置に対する相対的な前記ロボット・デバイスの前記距離または前記方位のうちの前記判定された一方または両方に基づいて前記ロボット・デバイスの前記位置を判定する
ように構成される、請求項１４に記載のシステム。
【請求項１９】
前記ロボット・デバイスは、前記コンピューティング・システムの少なくとも一部を含む、請求項１４に記載のシステム。
【請求項２０】
前記コンピューティング・システムは、前記ロボット・デバイスに対して相対的にリモートに配置され、前記コンピューティング・システムは、無線接続を介して前記ロボット・デバイスに通信可能に結合される、請求項１４に記載のシステム。
【請求項２１】
センサ・データを取り込むように構成されたセンサと、
前記センサによって取り込まれた前記センサ・データを受信し、
前記センサ・データの受信に応答して、前記センサ・データの分析を実行し、
前記センサ・データの前記分析を使用して、前記センサによって取り込まれた識別子を検出し、
倉庫管理システム（ＷＭＳ）内で前記識別子に関連付けられた倉庫位置を判定し、
前記倉庫位置に基づいて、倉庫環境内の前記ロボット・デバイスの位置を判定する
ように構成されたコンピューティング・システムと
を含み、前記ロボット・デバイスは、前記倉庫環境内で配備され、複数の在庫品目は、前記倉庫環境内の複数の貯蔵位置で貯蔵され、各在庫品目は、前記ＷＭＳ内で前記在庫品目を識別する品目上識別子を有し、各貯蔵位置は、前記ＷＭＳ内で前記貯蔵位置を識別する貯蔵位置識別子を有し、
前記複数の在庫品目の第１の在庫品目の第１の品目上識別子は、前記ＷＭＳ内で前記複数の貯蔵位置の第１の貯蔵位置の第１の貯蔵位置識別子に関連付けられ、前記センサ・データの前記分析を使用して検出される前記識別子は、前記第１の品目上識別子および前記第１の貯蔵位置識別子のうちの一方または両方を含む
ロボット・デバイス。
【請求項２２】
前記複数の在庫品目の前記品目上識別子および前記複数の貯蔵位置の前記貯蔵位置識別子は、バーコードであり、
前記センサは、カメラであり、
前記センサ・データは、前記カメラによって取り込まれる画像データである
請求項２１に記載のロボット・デバイス。
【請求項２３】
前記コンピューティング・システムは、
前記ロボット・デバイスの前記判定された位置に基づいてナビゲーション命令を決定し、
前記ナビゲーション命令に基づいて前記倉庫環境内で前記ロボット・デバイスに移動をさせる
ようにさらに構成される、請求項２１に記載のロボット・デバイス。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
［0001］  本願は、参照によってその全体が本明細書に組み込まれている、２０１６年９月２６日に出願された米国特許出願第１５／２７６，１９３号の優先権を主張するものである。
【背景技術】
【０００２】
［0002］  １つまたは複数のロボット・デバイスおよび／または他のアクタが、品目の貯蔵および出荷に関係するアクションを実行するために貯蔵環境全体を移動することができる。貯蔵環境の一例が倉庫であり、倉庫は、品目がその上に貯蔵され得る貯蔵ラックの行を有する囲まれた建物とすることができる。いくつかの場合に、複数の在庫物体（たとえば、箱、パッケージ、および／またはケース）が、パレット上に貯蔵され得、パレットは、垂直に積み重ねられ得る。したがって、倉庫に貯蔵される品目は、在庫物体および／または在庫物体のパレットである場合がある。倉庫は、配達トラックまたは他のタイプの車両からの品目の積込みおよび／または荷下ろしに使用されるローディング・ドックを含む場合もある。
【０００３】
［0003］  倉庫管理システム（ＷＭＳ）が、倉庫環境内の動作を容易にするのに使用され得る。たとえば、ＷＭＳは、倉庫環境内に貯蔵され、そこで移動される品目のアイデンティティおよび位置を追跡することができる。倉庫内で品目を追跡する１つの手法は、倉庫内の貯蔵位置に取り付けられたバーコード（すなわち、「貯蔵位置バーコード」）と、品目に取り付けられたバーコード（すなわち、「品目上バーコード」）とを使用する。たとえば、倉庫内の各貯蔵ラックは、それぞれの貯蔵位置バーコードによってマークされ得、ＷＭＳは、貯蔵位置バーコードごとに、倉庫内の貯蔵ラックに対応する物理位置の指示（たとえば、位置座標）を記憶することができる。特定の品目を特定の貯蔵位置におよび／または貯蔵位置から移動するために、オペレータは、品目が貯蔵位置に置かれるまたはそこから除去される時に、品目上バーコードおよび貯蔵位置バーコードをスキャンすることができる。その後、オペレータは、貯蔵位置での品目の配置または除去を記録するために、２つのスキャンされたバーコードをＷＭＳにアップロードすることができる。
【発明の概要】
【０００４】
［0004］  本開示の例のシステム、方法、およびデバイスは、倉庫環境内でのロボット・デバイスの位置特定およびナビゲーションを容易にする。ロボット・デバイスは、センサ・データを取り込むセンサを含む。本開示のシステム、方法、およびデバイスは、とりわけ、１つもしくは複数の品目上識別子および／または１つもしくは複数の貯蔵位置識別子を検出するのに、取り込まれたセンサ・データを使用する。その後、このシステム、方法、およびデバイスは、ロボット・デバイスの位置を判定し、かつ／またはロボット・デバイスを目標位置にナビゲートするのを援助するのに、検出された品目上識別子（１つまたは複数）および／または貯蔵位置識別子（１つまたは複数）を使用する。
【０００５】
［0005］  一例では、センサは、カメラとすることができ、センサ・データは、カメラによって取り込まれた画像データとすることができ、品目上識別子（１つまたは複数）は、品目上バーコード（１つまたは複数）とすることができ、貯蔵位置は、貯蔵位置バーコード（１つまたは複数）とすることができる。この例では、コンピューティング・システムは、ロボット・デバイスのカメラから画像データを受信し、画像データ内に取り込まれた貯蔵位置バーコード（１つまたは複数）および／または品目上バーコード（１つまたは複数）に少なくとも部分的に基づいてロボット・デバイスの位置を判定することができる。たとえば、コンピューティング・システムは、画像データ内の貯蔵位置バーコードを検出し、検出された貯蔵位置バーコードに対応する倉庫内の物理位置（すなわち、「倉庫位置」）をＷＭＳ内で応答可能にルックアップすることができる。別の例として、コンピューティング・システムは、画像データ内の品目上バーコードを検出し、検出された品目上バーコードに対応する貯蔵位置をＷＭＳ内で判定し、その後、判定された貯蔵位置に対応する倉庫内の物理位置をＷＭＳから判定することができる。倉庫内の判定された位置およびおそらくは他の要因に基づいて、コンピューティング・システムは、ロボット・デバイスにナビゲーション命令を与え、かつ／または倉庫内のロボット・デバイスの移動を追跡することができる。
【０００６】
［0006］  倉庫内でロボット・デバイスを突き止め、ナビゲートする従来の手法とは異なって、本開示は、倉庫環境に基準マーク（たとえば、Ａｐｒｉｌタグ、ＱＲコード、またはリフレクタ）を追加することによるなど、ナビゲーションを支援するための倉庫インフラストラクチャに対する変更を必要とせずに、倉庫環境内でのロボット・デバイスの突き止めおよびナビゲーションを提供する。実際に、ロボット・デバイスは、たとえば倉庫内の障害物を検出し、回避し、かつ／または品目を操作するためなど、様々な他の目的のために、センサを既に含み、センサ・データを取り込むことができる。また、貯蔵位置および品目は、倉庫内の在庫品目のアイデンティティおよび位置を追跡するために、それぞれ貯蔵位置識別子および品目上識別子を既に有する場合がある。したがって、ある点において、本開示は、倉庫環境内のロボット・デバイスの改善された突き止めおよびナビゲーションを提供するために既存のインフラストラクチャを有利に活用することができる。
【０００７】
［0007］  一例では、方法は、ロボット・デバイスに結合されたセンサによって取り込まれたセンサ・データを受信することと、センサ・データの受信に応答して、センサ・データの分析を実行することとを含む。この方法は、受信されたセンサ・データの分析を使用して、センサによって取り込まれた識別子を検出することと、ＷＭＳ内で識別子に関連付けられた倉庫位置を判定することと、倉庫位置に基づいて、倉庫環境内のロボット・デバイスの位置を判定することとをも含む。ロボット・デバイスは、倉庫環境内で配備され、複数の在庫品目は、倉庫環境内の複数の貯蔵位置で貯蔵され、各在庫品目は、ＷＭＳ内で在庫品目を識別する品目上識別子を有し、各貯蔵位置は、ＷＭＳ内で貯蔵位置を識別する貯蔵位置識別子を有する。複数の在庫品目の第１の在庫品目の第１の品目上識別子は、ＷＭＳ内で複数の貯蔵位置の第１の貯蔵位置の第１の貯蔵位置識別子に関連付けられる。センサ・データの分析を使用して検出される識別子は、第１の品目上識別子および第１の貯蔵位置識別子のうちの一方または両方を含む。
【０００８】
［0008］  別の例では、システムは、倉庫環境内で展開されるロボット・デバイスと、ロボット・デバイスに結合されたセンサと、コンピューティング・システムとを含む。センサは、センサ・データを取り込むように構成される。コンピューティング・システムは、センサによって取り込まれたセンサ・データを受信し、センサ・データの受信に応答して、センサ・データの分析を実行するように構成される。コンピューティング・システムは、センサ・データの分析を使用して、センサによって取り込まれた識別子を検出し、ＷＭＳ内で識別子に関連付けられた倉庫位置を判定し、倉庫位置に基づいて、倉庫環境内のロボット・デバイスの位置を判定するようにも構成される。複数の在庫品目は、倉庫環境内の複数の貯蔵位置で貯蔵され、各在庫品目は、ＷＭＳ内で在庫品目を識別する品目上識別子を有し、各貯蔵位置は、ＷＭＳ内で貯蔵位置を識別する貯蔵位置識別子を有する。複数の在庫品目の第１の在庫品目の第１の品目上識別子は、ＷＭＳ内で複数の貯蔵位置の第１の貯蔵位置の第１の貯蔵位置識別子に関連付けられる。センサ・データの分析を使用して検出される識別子は、第１の品目上識別子および第１の貯蔵位置識別子のうちの一方または両方を含む。
【０００９】
［0009］  さらなる例では、ロボット・デバイスは、センサと、コンピューティング・システムとを含む。センサは、センサ・データを取り込むように構成される。コンピューティング・システムは、センサによって取り込まれたセンサ・データを受信し、センサ・データの受信に応答して、センサ・データの分析を実行するように構成される。コンピューティング・システム  場合  センサ・データの分析を使用して、センサによって取り込まれた識別子を検出し、ＷＭＳ内で識別子に関連付けられた倉庫位置を判定し、倉庫位置に基づいて、倉庫環境内のロボット・デバイスの位置を判定するようにも構成される。ロボット・デバイスは、倉庫環境内で展開され、複数の在庫品目は、倉庫環境内の複数の貯蔵位置で貯蔵され、各在庫品目は、ＷＭＳ内で在庫品目を識別する品目上識別子を有し、各貯蔵位置は、ＷＭＳ内で貯蔵位置を識別する貯蔵位置識別子を有する。複数の在庫品目の第１の在庫品目の第１の品目上識別子は、ＷＭＳ内で複数の貯蔵位置の第１の貯蔵位置の第１の貯蔵位置識別子に関連付けられる。センサ・データの分析を使用して検出される識別子は、第１の品目上識別子および第１の貯蔵位置識別子のうちの一方または両方を含む。
【００１０】
［0010］  前述の要約は、例示的であるのみであって、いかなる形でも限定的であることは意図されていない。上で説明した例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面、以下の詳細な説明、および添付図面を参照することによって明白になる。
【図面の簡単な説明】
【００１１】
【図１Ａ】［0011］例の実施形態によるロボット隊を示す図である。
【図１Ｂ】［0012］例の実施態様によるロボット隊の構成要素を示す機能ブロック図である。
【図２Ａ】［0013］例の実施形態によるロボット・トラック・アンローダを示す図である。
【図２Ｂ】［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］  様々な態様および実施形態が本明細書で開示されたが、他の態様および実施形態が、当業者に明白になろう。本明細書で開示された様々な態様および実施形態は、例示のためのものであって、限定的であることは意図されておらず、真の範囲は、以下の特許請求の範囲によって示される。
【図１Ａ】
2019534829.tif 000003
【図１Ｂ】
2019534829.tif 000004
【図２Ａ】
2019534829.tif 000005
【図２Ｂ】
2019534829.tif 000006
【図２Ｃ】
2019534829.tif 000007
【図２Ｄ】
2019534829.tif 000008
【図３】
2019534829.tif 000009
【図４】
2019534829.tif 000010
【図５】
2019534829.tif 000011
【図６】
2019534829.tif 000012
【図７】
2019534829.tif 000013
【図８】
2019534829.tif 000014
【図９】
2019534829.tif 000015
【国際調査報告】
2019534829.tif 000016
2019534829.tif 000017