(57)【要約】  空間内のロボティック・ナビゲーションを規制するための空間内のコンテキスト・マッピング・ゾーンのための方法及びシステムが、空間内に位置する少なくとも１つの基準マーカーによって、空間内のゾーンを定義することと、ルールをゾーンに関連付けることであって、ルールが、ゾーン内の１つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けることと、ルールに従ってゾーン内の１つ又は複数のロボットを動作させることとを含む。
2022501715.tif 000002
【特許請求の範囲】
【請求項１】
空間内のロボティック・ナビゲーションを規制するための前記空間内のコンテキスト・マッピング・ゾーンのための方法であって、前記方法は、
前記空間内に位置する少なくとも１つの基準マーカーによって、前記空間内のゾーンを定義するステップと、
ルールを前記ゾーンに関連付けるステップであって、前記ルールが、前記ゾーン内の１つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けるステップと、
前記ルールに従って前記ゾーン内の前記１つ又は複数のロボットを動作させるステップと
を含む、方法。
【請求項２】
前記ルールは、前記ゾーンがオープンであるのかクローズであるのか、前記ゾーンのタイプ、前記ゾーンの最大占有率、前記ゾーンの最大速度、前記ゾーンの交通流方向性、前記ゾーンに入るか又は前記ゾーンを出るときの停止及び待機挙動、前記ゾーンの定義が動的に更新されたかどうか、前記ゾーンの満了、或いはそれらの組合せのうちの少なくとも１つを規定する、請求項１に記載の方法。
【請求項３】
前記関連付けるステップが、前記ゾーンを前記少なくとも１つの基準マーカー及び前記ルールと相関させるルックアップ表を生成するステップをさらに含む、請求項１に記載の方法。
【請求項４】
１つ又は複数の追加のルールを前記ゾーンに関連付けるステップであって、前記追加のルールが、前記ゾーン内の１つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けるステップと、
前記追加のルールに従って前記ゾーン内の前記１つ又は複数のロボットを動作させるステップと
をさらに含む、請求項１に記載の方法。
【請求項５】
前記追加のルールは、前記ゾーンがオープンであるのかクローズであるのか、前記ゾーンのタイプ、前記ゾーンの最大占有率、前記ゾーンの最大速度、前記ゾーンの交通流方向性、前記ゾーンに入るか又は前記ゾーンを出るときの停止及び待機挙動、前記ゾーンの定義が動的に更新されたかどうか、前記ゾーンの満了、或いはそれらの組合せのうちの少なくとも１つを規定する、請求項４に記載の方法。
【請求項６】
１つ又は複数の追加のルールを前記関連付けるステップが、前記ゾーンを前記少なくとも１つの基準マーカー、前記ルール、及び前記追加のルールと相関させるルックアップ表を生成するステップをさらに含む、請求項４に記載の方法。
【請求項７】
第２のゾーンに対する前記ゾーンの重複又は隣接のうちの少なくとも１つを検出するステップと、
前記ルールの値と、前記第２のゾーンの対応するルールの対応する値との間の競合を識別するステップと、
前記ゾーンと前記第２のゾーンとに共通の１つ又は複数の共有基準マーカーによって定義される重複ゾーンとの関連付けのために競合解消ルールを生成するステップと
をさらに含む、請求項１に記載の方法。
【請求項８】
前記競合解消ルールを前記生成するステップが、前記値と、前記対応する値とのうちの高い方又は低い方を選択するステップをさらに含む、請求項７に記載の方法。
【請求項９】
前記競合解消ルールを前記生成するステップは、
前記値と、前記対応する値との間のターゲット値を定義するステップと、
付随する値許容差が、前記値と、前記対応する値の両方を包含するように、前記ターゲット値を前記付随する値許容差に関連付けるステップと
をさらに含む、請求項７に記載の方法。
【請求項１０】
前記少なくとも１つの基準マーカーの検出された再位置決め及び／又は再配向に応答して、前記空間内の前記ゾーンを自動的に再定義するステップをさらに含む、請求項１に記載の方法。
【請求項１１】
前記ロボット、倉庫管理システム、ユーザ、又は外部データ・ソースのうちの１つ又は複数から受信されたデータに応答して、前記ルールを自動的に変更するステップ、又は追加のルールを自動的に追加するステップのうちの少なくとも１つをさらに含む、請求項１に記載の方法。
【請求項１２】
前記空間内の前記少なくとも１つの基準マーカーの位置が、前記空間によって定義される座標系の座標のセットによって表される、請求項１に記載の方法。
【請求項１３】
前記空間内の前記少なくとも１つの基準マーカーが、前記基準マーカーに対する相対位置を有するポーズと相関され、前記相対位置が、前記空間によって定義される座標系の座標のセットによって表される、請求項１に記載の方法。
【請求項１４】
前記ゾーンの境界が、前記ポーズによって少なくとも部分的に定義される、請求項１３に記載の方法。
【請求項１５】
前記動作させるステップが、
前記１つ又は複数のロボットから中央コントローラに、前記空間内の前記１つ又は複数のロボットの位置を周期的に報告するステップと、
前記中央コントローラによって、前記ゾーン内の前記１つ又は複数のロボットの報告された位置決めに応答して、前記ルールによって規定されたように動作するように前記１つ又は複数のロボットに命令するステップと
をさらに含む、請求項１に記載の方法。
【請求項１６】
前記空間内の前記１つ又は複数のロボットの前記位置が、前記少なくとも１つの基準マーカーを読み取ることによって決定されない、請求項１３に記載の方法。
【請求項１７】
前記動作させるステップが、
前記１つ又は複数のロボットの各それぞれのロボットによって、前記空間内の前記ロボットの位置を周期的に検出するステップと、
前記ゾーン内の前記ロボットの位置決めを検出したことに応答して、前記ルールによって規定されたように前記ロボットを動作させるステップと
をさらに含む、請求項１に記載の方法。
【請求項１８】
前記空間内の前記１つ又は複数のロボットの前記位置が、前記少なくとも１つの基準マーカーを読み取ることによって決定されない、請求項１７に記載の方法。
【請求項１９】
空間内のロボティック・ナビゲーションを規制するための前記空間内のコンテキスト・マッピング・ゾーンためのシステムであって、前記システムが、
プロセッサと、
命令を格納するメモリと
を備え、前記命令は、前記プロセッサによって実行されたとき、前記システムに、
前記空間内に位置する少なくとも１つの基準マーカーによって、前記空間内のゾーンを定義することと、
ルールを前記ゾーンに関連付けることであって、前記ルールが、前記ゾーン内の１つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けることと、
前記ルールに従って前記ゾーン内の前記１つ又は複数のロボットを動作させることと
を行わせる、
システム。
【請求項２０】
前記メモリが、前記プロセッサによって実行されたとき、前記システムに、
前記メモリ中に、前記ゾーンを前記少なくとも１つの基準マーカー及び前記ルールと相関させるルックアップ表を生成すること
を行わせる命令をさらに格納する、請求項１９に記載のシステム。
【請求項２１】
前記メモリは、前記プロセッサによって実行されたとき、前記システムに、
１つ又は複数の追加のルールを前記ゾーンに関連付けることであって、前記追加のルールが、前記ゾーン内の１つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けることと、
前記追加のルールに従って前記ゾーン内の前記１つ又は複数のロボットを動作させることと
を行わせる命令をさらに格納する、請求項１９に記載のシステム。
【請求項２２】
前記メモリが、前記プロセッサによって実行されたとき、前記システムに、
前記メモリ中に、前記ゾーンを前記少なくとも１つの基準マーカー、前記ルール、及び前記追加のルールと相関させるルックアップ表を生成すること
を行わせる命令をさらに格納する、請求項１９に記載のシステム。
【請求項２３】
前記メモリが、前記プロセッサによって実行されたとき、前記システムに、
前記少なくとも１つの基準マーカーの検出された再位置決め及び／又は再配向に応答して、前記空間内の前記ゾーンを自動的に再定義すること
を行わせる命令をさらに格納する、請求項１９に記載のシステム。
【請求項２４】
前記メモリが、前記プロセッサによって実行されたとき、前記システムに、
前記ロボット、倉庫管理システム、ユーザ、又は外部データ・ソースのうちの１つ又は複数から受信されたデータに応答して、前記ルールを自動的に変更すること、又は追加のルールを自動的に追加することのうちの少なくとも１つ
を行わせる命令をさらに格納する、請求項１９に記載のシステム。
【請求項２５】
前記空間内の前記１つ又は複数のロボットの位置が、前記少なくとも１つの基準マーカーを読み取ることによって決定されない、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照により本明細書に組み込まれる、２０１８年９月１９日に出願された米国特許出願第１６／１３５，３２９号の優先権の利益を主張する。
【０００２】
本発明は、ロボット・ナビゲーションを規制することに関し、より詳細には、ロボット・ナビゲーションを規制するためのコンテキスト拡張マップ・レイヤ（ｃｏｎｔｅｘｔ−ａｕｇｍｅｎｔｅｄ  ｍａｐ  ｌａｙｅｒ）を与えるためのゾーン・エンジンに関する。
【背景技術】
【０００３】
インターネットを通じて宅配用に製品を注文することは、極めて普及している買物のやり方である。適時に、正確に、及び効率的な様式でそのような注文を履行することは、控えめに言っても物流的に難しい。バーチャル・ショッピング・カートの「精算する」ボタンをクリックすると「注文」が生じる。注文は、特定の宛先に出荷されるべきである品物のリスティングを含む。「履行」のプロセスは、大きい倉庫からこれらの品物を物理的に取ること又は「選出」することと、それらを包装することと、指定された宛先にそれらを出荷することとを伴う。したがって、注文履行プロセスの重要な目標は、できるだけ短い時間で、できるだけ多くの品物を出荷することである。
【０００４】
注文履行プロセスは、一般に、注文にリストされたものを含む、多くの製品を含んでいる大きい倉庫内で行われる。したがって、注文履行の作業の中には、注文にリストされた様々な品物を見つけ、収集するために倉庫をあちこち動くことがある。加えて、最終的に出荷されることになる製品が、まず、倉庫内に受け入れられ、出荷のためにそれらが容易に取り出され得るように、倉庫全体にわたる整然とした様式で格納ビン中に格納されるか又は「配置」される必要がある。
【０００５】
大きい倉庫では、配達及び注文されている商品が、倉庫内で、互いから極めて遠くに離れ、多数の他の商品の中で分散されて格納されることがある。商品を配置及び選出するために人間の作業者のみを使用する注文履行プロセスでは、作業者が多大な歩行を行うことを必要とし、非効率的で時間がかかることがある。履行プロセスの効率は、単位時間当たり出荷される品物の数の関数であるので、時間が増加すると効率が低下する。
【０００６】
効率を増加させるために、人間の機能を実施するためにロボットが使用され得るか、又は人間の活動を補足するためにロボットが使用され得る。たとえば、ロボットは、倉庫全体にわたって分散された様々なロケーションにいくつかの品物を「配置」するために、又は包装及び出荷のために様々なロケーションから品物を「選出」するために割り当てられ得る。選出及び配置は、ロボットのみによって、又は人間の作業者の支援を受けて行われ得る。たとえば、選出動作の場合、人間の作業者は、棚から品物を選出し、それらをロボットに配置するか、又は配置動作の場合、人間の作業者は、ロボットから品物を選出し、それらを棚に配置するであろう。
【０００７】
ロボットが、変動するサイズ及び交通負荷の空間において、人間の作業者と他のロボットの両方と一緒に並行して倉庫空間をナビゲートする限り、瞬時のロボット・ロケーションに応じて、衝突リスクが増加又は減少することがある。たとえば、注文履行動作中に、ロボットは、衝突リスクが最小である、広い、交通の少ない空間と、衝突リスクが高い、狭い、交通の多い空間との間でナビゲートし得る。さらに、構築、保守、ナビゲート可能でない障害物、ずらされた製品、パレット、ビン、又は棚、或いは他のそのような一時的又は永続的な妨げが、倉庫環境にもたらされる限り、ロボット・ナビゲーションは影響を受け得る。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許出願第１５／８０７，６７２号
【特許文献２】米国特許出願第１５／２５４，３２１号
【発明の概要】
【課題を解決するための手段】
【０００９】
本明細書では、ロボット・ナビゲーションを規制するためのコンテキスト拡張マップ・レイヤを与えるためのゾーン・エンジンのためのシステム及び方法が提供される。
【００１０】
一態様では、空間内のロボティック・ナビゲーションを規制するための空間内のコンテキスト・マッピング・ゾーンのための方法が提供される。本方法は、空間内に位置する少なくとも１つの基準マーカーによって、空間内のゾーンを定義するステップを含む。本方法は、ルールをゾーンに関連付けるステップであって、ルールが、ゾーン内の１つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けるステップをも含む。本方法は、ルールに従ってゾーン内の１つ又は複数のロボットを動作させるステップをも含む。
【００１１】
いくつかの実施例では、ルールは、ゾーンがオープンであるのかクローズであるのか、ゾーンのタイプ、ゾーンの最大占有率、ゾーンの最大速度、ゾーンの交通流方向性、ゾーンに入るか又はゾーンを出るときの停止及び待機挙動、ゾーンの定義が動的に更新されたかどうか、ゾーンの満了、或いはそれらの組合せのうちの少なくとも１つを規定する。いくつかの実施例では、関連付けるステップは、ゾーンを少なくとも１つの基準マーカー及びルールと相関させるルックアップ表を生成するステップをさらに含む。いくつかの実施例では、本方法は、１つ又は複数の追加のルールをゾーンに関連付けるステップであって、追加のルールが、ゾーン内の１つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けるステップをも含む。いくつかの実施例では、本方法は、追加のルールに従ってゾーン内の１つ又は複数のロボットを動作させるステップをも含む。いくつかの実施例では、追加のルールは、ゾーンがオープンであるのかクローズであるのか、ゾーンのタイプ、ゾーンの最大占有率、ゾーンの最大速度、ゾーンの交通流方向性、ゾーンに入るか又はゾーンを出るときの停止及び待機挙動、ゾーンの定義が動的に更新されたかどうか、ゾーンの満了、或いはそれらの組合せのうちの少なくとも１つを規定する。
【００１２】
いくつかの実施例では、１つ又は複数の追加のルールを関連付けるステップは、ゾーンを少なくとも１つの基準マーカー、ルール、及び追加のルールと相関させるルックアップ表を生成するステップをさらに含む。いくつかの実施例では、本方法は、第２のゾーンに対するゾーンの重複又は隣接のうちの少なくとも１つを検出するステップをも含む。いくつかの実施例では、本方法は、ルールの値と、第２のゾーンの対応するルールの対応する値との間の競合を識別するステップをも含む。いくつかの実施例では、本方法は、ゾーンと第２のゾーンとに共通の１つ又は複数の共有基準マーカーによって定義される重複ゾーンとの関連付けのために競合解消ルールを生成するステップをも含む。いくつかの実施例では、競合解消ルールを生成するステップは、値と、対応する値とのうちの高い方又は低い方を選択するステップをも含む。いくつかの実施例では、競合解消ルールを生成するステップは、値と、対応する値との間のターゲット値を定義するステップをも含む。いくつかの実施例では、競合解消ルールを生成するステップは、付随する値許容差が、値と、対応する値の両方を包含するように、ターゲット値を付随する値許容差に関連付けるステップをも含む。
【００１３】
いくつかの実施例では、本方法は、少なくとも１つの基準マーカーの検出された再位置決め及び／又は再配向に応答して、空間内のゾーンを自動的に再定義するステップをも含む。いくつかの実施例では、本方法は、ロボット、倉庫管理システム、ユーザ、又は外部データ・ソースのうちの１つ又は複数から受信されたデータに応答して、ルールを自動的に変更するステップ、又は追加のルールを自動的に追加するステップのうちの少なくとも１つをも含む。いくつかの実施例では、空間内の少なくとも１つの基準マーカーの位置が、空間によって定義される座標系の座標のセットによって表される。いくつかの実施例では、空間内の少なくとも１つの基準マーカーは、基準マーカーに対する相対位置を有するポーズと相関され、相対位置は、空間によって定義される座標系の座標のセットによって表される。いくつかの実施例では、ゾーンの境界が、ポーズによって少なくとも部分的に定義される。
【００１４】
いくつかの実施例では、動作させるステップは、１つ又は複数のロボットから中央コントローラに、空間内の１つ又は複数のロボットの位置を周期的に報告するステップをさらに含む。いくつかの実施例では、動作させるステップは、中央コントローラによって、ゾーン内の１つ又は複数のロボットの報告された位置決めに応答して、ルールによって規定されたように動作するように１つ又は複数のロボットに命令するステップをさらに含む。いくつかの実施例では、空間内の１つ又は複数のロボットの位置は、少なくとも１つの基準マーカーを読み取ることによって決定されない。いくつかの実施例では、動作させるステップは、１つ又は複数のロボットの各それぞれのロボットによって、空間内のロボットの位置を周期的に検出するステップをさらに含む。いくつかの実施例では、動作させるステップは、ゾーン内のロボットの位置決めを検出したことに応答して、ルールによって規定されたようにロボットを動作させるステップをさらに含む。いくつかの実施例では、空間内の１つ又は複数のロボットの位置は、少なくとも１つの基準マーカーを読み取ることによって決定されない。
【００１５】
別の態様では、空間内のロボティック・ナビゲーションを規制するための空間内のコンテキスト・マッピング・ゾーンのためのシステムが提供される。本システムは、プロセッサを含む。本システムは、命令を格納するメモリをも含み、命令は、プロセッサによって実行されたとき、本システムに、空間内に位置する少なくとも１つの基準マーカーによって、空間内のゾーンを定義することと、ルールをゾーンに関連付けることであって、ルールが、ゾーン内の１つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けることと、ルールに従ってゾーン内の１つ又は複数のロボットを動作させることとを行わせる。
【００１６】
いくつかの実施例では、メモリは、プロセッサによって実行されたとき、本システムに、メモリ中に、ゾーンを少なくとも１つの基準マーカー及びルールと相関させるルックアップ表を生成することを行わせる命令をさらに格納する。いくつかの実施例では、メモリは、プロセッサによって実行されたとき、本システムに、１つ又は複数の追加のルールをゾーンに関連付けることであって、追加のルールが、ゾーン内の１つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けることと、追加のルールに従ってゾーン内の１つ又は複数のロボットを動作させることとを行わせる命令をさらに格納する。いくつかの実施例では、メモリは、プロセッサによって実行されたとき、本システムに、メモリ中に、ゾーンを少なくとも１つの基準マーカー、ルール、及び追加のルールと相関させるルックアップ表を生成することを行わせる命令をさらに格納する。いくつかの実施例では、メモリは、プロセッサによって実行されたとき、本システムに、少なくとも１つの基準マーカーの検出された再位置決め及び／又は再配向に応答して、空間内のゾーンを自動的に再定義することを行わせる命令をさらに格納する。いくつかの実施例では、メモリは、プロセッサによって実行されたとき、本システムに、ロボット、倉庫管理システム、ユーザ、又は外部データ・ソースのうちの１つ又は複数から受信されたデータに応答して、ルールを自動的に変更すること、又は追加のルールを自動的に追加することのうちの少なくとも１つを行わせる命令をさらに格納する。いくつかの実施例では、空間内の１つ又は複数のロボットの位置が、少なくとも１つの基準マーカーを読み取ることによって決定されない。一態様では、本発明は、のための方法を採用する。
【００１７】
本発明のこれら及び他の特徴は、以下の発明を実施するための形態及び添付図から明らかであろう。
【図面の簡単な説明】
【００１８】
【図１】注文履行倉庫の上面図である。
【図２Ａ】図１に示されている倉庫内で使用されるロボットのうちの１つのベースの正面図である。
【図２Ｂ】図１に示されている倉庫内で使用されるロボットのうちの１つのベースの斜視図である。
【図３】アーマチュア（ａｒｍａｔｕｒｅ）を装備し、図１に示されている棚の前に駐機された図２Ａ及び図２Ｂ中のロボットの斜視図である。［0021］
【図４】ロボット上のレーザー・レーダーを使用して作成された図１の倉庫の部分マップである。
【図５】倉庫全体にわたって分散された基準マーカーのロケーションを特定し、基準マーカー・ポーズを格納するためのプロセスを表すフロー・チャートである。
【図６】基準識別子とポーズとのマッピングの表である。
【図７】ビン・ロケーションと基準識別子とのマッピングの表である。
【図８】製品ＳＫＵとポーズとのマッピング・プロセスを表すフロー・チャートである。
【図９】複数のゾーンを有する注文履行倉庫の上面図である。
【図１０】対応するゾーン特性をもつ、ゾーンＩＤと基準ＩＤとのマッピングの表である。
【図１１】重複するゾーン間の競合解消のための方法を示すフロー・チャートである。
【図１２】例示的なコンピューティング・システムのブロック図である。
【図１３】例示的な分散型ネットワークのネットワーク図である。
【発明を実施するための形態】
【００１９】
添付の図面において説明及び／又は示され、以下の説明において詳述される非限定的な実施例及び実例を参照しながら、本開示並びに本開示の様々な特徴及び有利な詳細が、より十分に説明される。図面に示される特徴は、必ずしも、一定の縮尺で描かれているとは限らず、一実施例の特徴は、本明細書に明示的に記載されていない場合でも、当業者が認識するように他の実施例とともに採用され得ることに留意されたい。よく知られている構成要素及び処理技法の説明は、本開示の実施例を不必要に不明瞭にしないように、省略され得る。本明細書で使用される実例は、本開示が実施され得るやり方の理解を容易にし、さらに当業者が本開示の実施例を実施することを可能にするためのものにすぎない。したがって、本明細書の実例及び実施例は、本開示の範囲を限定するものと解釈されるべきではない。その上、類似の参照番号が、図面のいくつかの図の全体にわたって同様の部分を表すことに留意されたい。
【００２０】
本発明は、ロボット・ナビゲーションを規制するためのコンテキスト拡張マップ・レイヤを与えるためのゾーン・エンジンを対象とする。特定のロボット適用例に制限されないが、本発明が使用され得る１つの好適な適用例は、注文履行である。この適用例でのロボットの使用は、ゾーン・エンジンのためのコンテキストを提供するために説明されるが、その適用例に限定されない。
【００２１】
図１を参照すると、一般的な注文履行倉庫１０が、注文に含まれ得る様々な品物で満たされた棚１２を含む。動作中、倉庫管理サーバ１５からの注文１６の着信ストリームが、注文サーバ１４に到達する。注文サーバ１４は、特に、誘導プロセス中のロボット１８への割当てのために、注文に優先度を付け、グループ化し得る。ロボットが、作業者によって処理ステーション（たとえばステーション１００）において誘導されたとき、注文１６は、実行のためにワイヤレスにロボット１８に割り当てられ、通信される。注文サーバ１４は、倉庫管理システム・サーバ１５及び倉庫管理ソフトウェアと相互動作するように構成された個別ソフトウェア・システムをもつ別個のサーバであり得、又は注文サーバ機能性は、倉庫管理ソフトウェアに組み込まれ、倉庫管理サーバ１５上で実行され得ることが、当業者によって理解されよう。
【００２２】
好ましい実施例では、図２Ａ及び図２Ｂに示されているロボット１８が、レーザーレーダー２２を有する自律型車輪付きベース２０を含む。ベース２０は、ロボット１８が注文サーバ１４及び／又は他のロボットから命令を受信することとそれらにデータを送信することとを可能にするトランシーバ（図示せず）と、デジタル光学カメラ２４ａ及び２４ｂのペアとをも採用する。ロボット・ベースは、自律型車輪付きベース２０に電力供給するバッテリーを再充電するための電気充電ポート２６をも含む。ベース２０は、ロボットの環境を表す情報をキャプチャするためにレーザーレーダーとカメラ２４ａ及び２４ｂとからデータを受信するプロセッサ（図示せず）をさらに採用する。倉庫１０内のナビゲーションに関連付けられた様々な作業を実行すること、並びに、図３に示されているように、棚１２に配置された基準マーカー３０までナビゲートすることを行うために、プロセッサとともに動作するメモリ（図示せず）がある。基準マーカー３０（たとえば２次元バー・コード）は、注文された品物のビン／ロケーションに対応する。本発明のナビゲーション手法が、図４〜図８に関して以下で詳細に説明される。基準マーカーは、本発明の一態様による充電ステーションを識別するためにも使用され、そのような充電ステーション基準マーカーまでのナビゲーションは、注文された品物のビン／ロケーションまでのナビゲーションと同じである。ロボットが充電ステーションまでナビゲートすると、ロボットを充電ステーションとドッキングさせるためのより精密なナビゲーション手法が使用され、そのようなナビゲーション手法が以下で説明される。
【００２３】
再び図２Ｂを参照すると、ベース２０は、品物を担持するために通い箱（ｔｏｔｅ）又はビンが格納され得る、上部表面３２を含む。複数の交換可能なアーマチュア４０のうちのいずれか１つを係合させる、連結器３４も示されており、アーマチュア４０のうちの１つが図３に示されている。図３中の特定のアーマチュア４０は、品物を受け取る通い箱４４を担持するための通い箱保持具４２（この場合、棚）と、タブレット４８（又はラップトップ／他のユーザ入力デバイス）を支持するためのタブレット保持具４６とを採用する。いくつかの実施例では、アーマチュア４０は、品物を担持するための１つ又は複数の通い箱を支持する。他の実施例では、ベース２０は、受け取られた品物を担持するための１つ又は複数の通い箱を支持する。本明細書で使用される「通い箱」という用語は、限定はしないが、貨物保持具、ビン、かご、棚、品物をつるすことができるロッド、台車、木枠、ラック、スタンド、架台、容器、箱、缶、入れ物、及び置場を含む。
【００２４】
ロボット１８は、倉庫１０を動き回ることにおいて優れているが、現在のロボット技術では、物体のロボット操作に関連した技術的困難により、ロボット１８は、棚から迅速に及び効率的に品物を選出し、それらを通い箱４４に配置することにおいてあまり良好でない。品物を選出する、より効率的な方法は、注文された品物を棚１２から物理的に取り出し、それをロボット１８、たとえば通い箱４４に配置する作業を実行するために、一般に人間である局所作業者５０を使用することである。ロボット１８は、局所作業者５０が読み取ることができるタブレット４８（又はラップトップ／他のユーザ入力デバイス）を介して、又は局所作業者５０によって使用されるハンドヘルド・デバイスに注文を送信することによって、注文を局所作業者５０に通信する。
【００２５】
ロボット１８は、注文サーバ１４から注文１６を受信すると、たとえば図３に示されているように、最初の倉庫ロケーションに進む。ロボット１８は、メモリに格納され、プロセッサによって実行されるナビゲーション・ソフトウェアに基づいて、これを行う。ナビゲーション・ソフトウェアは、レーザーレーダー２２によって収集された環境に関するデータと、特定の品物が見つけられ得る倉庫１０内のロケーションに対応する基準マーカー３０の基準識別子（「ＩＤ」）を識別するメモリ中の内部表と、ナビゲートするためのカメラ２４ａ及び２４ｂとに頼る。
【００２６】
ロボット１８は、正しいロケーション（ポーズ）に達すると、品物が格納された棚１２の前にそれ自体を駐機し、局所作業者５０が棚１２から品物を取り出し、それを通い箱４４に配置するのを待つ。ロボット１８が、取り出すべき他の品物を有する場合、ロボット１８はそれらのロケーションに進む。次いで、ロボット１８によって取り出された（１つ又は複数の）品物は、図１の処理ステーション１００に配達され、それらは包装され、出荷される。処理ステーション１００は、この図に関して、ロボットを誘導すること及び荷下ろし／包装することが可能であるものとして説明されたが、処理ステーション１００は、ロボットが、ステーションにおいて誘導されるか又は荷下ろし／包装されるかのいずれかであるように、すなわち、ロボットが、単一の機能を実施するように制限され得るように、構成され得る。
【００２７】
各ロボットが１つ又は複数の注文を履行していることがあり、各注文が１つ又は複数の品物からなり得ることが、当業者によって理解されよう。一般に、効率を増加させるために、何らかの形態のルート最適化ソフトウェアが含まれることになるが、これは、本発明の範囲外であり、したがって、本明細書では説明されない。
【００２８】
本発明の説明を簡略化するために、単一のロボット１８及び作業者５０が説明される。ただし、図１から明らかであるように、一般的な履行動作は、絶え間なく続く注文に応じるために、倉庫内で互いの間で働く多くのロボット及び作業者を含む。
【００２９】
本発明のベースラインナビゲーション手法、並びに取り出されるべき品物のＳＫＵと、品物がある倉庫内の基準マーカーに関連付けられた基準ＩＤ／ポーズとの意味マッピング（ｓｅｍａｎｔｉｃ  ｍａｐｐｉｎｇ）が、図４〜図８に関して以下で詳細に説明される。
【００３０】
１つ又は複数のロボット１８を使用して、倉庫１０のマップが作成されなければならず、倉庫全体にわたって分散された様々な基準マーカーのロケーションが決定されなければならない。これを行うために、ロボット１８のうちの１つ又は複数が、倉庫をナビゲートしているとき、そのレーザーレーダー２２並びに同時位置特定及びマッピング（ＳＬＡＭ：ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ）を利用して、図４のマップ１０ａを構築／更新し、これは、未知環境のマップを構築又は更新する計算上の問題である。普及しているＳＬＡＭ近似解法は、粒子フィルタ及び拡張カルマン・フィルタを含む。ＳＬＡＭ  ＧＭａｐｐｉｎｇ手法は好ましい手法であるが、任意の好適なＳＬＡＭ手法が使用され得る。
【００３１】
ロボット１８は、そのレーザーレーダー２２を利用して、ロボット１８が空間全体にわたって移動し、レーザーレーダーが環境を走査するときに受け取る反射に基づいて、空間内のオープン空間１１２、壁１１４、物体１１６、及び棚１２などの他の静的障害物を識別するとき、倉庫１０のマップ１０ａを作成する。
【００３２】
マップ１０ａを構築している（又はマップ１０ａをその後更新している）間、１つ又は複数のロボット１８は倉庫１０中をナビゲートし、カメラ２６を使用して環境を走査し、品物が格納された図３の３２及び３４などのビンに近接した棚上の、倉庫全体にわたって分散された基準マーカー（２次元バー・コード）のロケーションを特定する。ロボット１８は、原点１１０など、基準のための知られている開始点又は原点を使用する。図３及び図４の基準マーカー３０などの基準マーカーのロケーションが、ロボット１８によってそのカメラ２６を使用して特定されたとき、原点１１０に対する倉庫内のロケーションが決定される。
【００３３】
ホイール・エンコーダ及び方位センサーの使用によって、ベクトル１２０と、倉庫１０内のロボットの位置とが決定され得る。基準マーカー／２次元バーコードのキャプチャされた画像と、その知られているサイズとを使用して、ロボット１８は、基準マーカー／２次元バーコードのロボットに対する配向及びロボットからの距離、すなわちベクトル１３０を決定することができる。ベクトル１２０及び１３０が知られれば、原点１１０と基準マーカー３０との間のベクトル１４０が決定され得る。ベクトル１４０と、ロボット１８に対する基準マーカー／２次元バーコードの決定された配向とから、基準マーカー３０に対する四元数（ｘ，ｙ，ｚ，ω）によって定義されるポーズ（位置及び配向）が決定され得る。
【００３４】
基準マーカーロケーション特定プロセスについて説明する図５のフロー・チャート２００が説明される。これは、初期マッピング・モードで実施され、ロボット１８が、選出すること、配置すること及び／又は他の作業を実施している間に、倉庫内で新しい基準マーカーに遭遇したとき実施される。ステップ２０２において、ロボット１８は、カメラ２６を使用して画像をキャプチャし、ステップ２０４において、キャプチャされた画像内で基準マーカーを探索する。ステップ２０６において、基準マーカーが画像中で見つけられた場合（ステップ２０４）、その基準マーカーが、ロボット１８のメモリ３４中にある図６の基準一覧表３００にすでに格納されているかどうかが決定される。基準情報がすでにメモリに格納されている場合、フロー・チャートは、別の画像をキャプチャするためのステップ２０２に戻る。その基準情報がメモリにない場合、上記で説明されたプロセスに従ってポーズが決定され、ステップ２０８において、その基準情報は、基準対ポーズのルックアップ表３００に追加される。
【００３５】
各ロボットのメモリに格納され得るルックアップ表３００中に、各基準マーカーについて、基準識別子、１、２、３などと、各基準識別子に関連付けられた基準マーカー／バー・コードのポーズとが含まれる。ポーズは、配向とともに倉庫内のｘ，ｙ，ｚ座標からなるか、又は四元数（ｘ，ｙ，ｚ，ω）からなる。
【００３６】
同じく各ロボットのメモリに格納され得る図７の別のルックアップ表４００中に、特定の基準ＩＤ４０４、たとえば数「１１」に相関された倉庫１０内のビン・ロケーション（たとえば４０２ａ〜４０２ｆ）のリスティングがある。ビン・ロケーションは、この実例では７つの英数文字からなる。最初の６文字（たとえばＬ０１００１）は、倉庫内の棚ロケーションに関係し、最後の文字（たとえばＡ〜Ｆ）は、棚ロケーションにおける特定のビンを識別する。この実例では、基準ＩＤ「１１」に関連付けられた６つの異なるビン・ロケーションがある。各基準ＩＤ／マーカーに関連付けられた１つ又は複数のビンがあり得る。
【００３７】
英数字のビン・ロケーションは、品物が格納された倉庫１０内の物理的ロケーションに対応するものとして、人間、たとえば図３の作業者５０にとって理解可能である。しかしながら、英数字のビン・ロケーションはロボット１８にとって意味がない。基準ＩＤにロケーションをマッピングすることによって、ロボット１８は、図６の表３００の情報を使用して基準ＩＤのポーズを決定し、次いで、本明細書で説明されるようにポーズにナビゲートすることができる。
【００３８】
本発明による注文履行プロセスが、図８のフロー・チャート５００に表されている。ステップ５０２において、倉庫管理システム１５から、注文サーバ１４は、取り出されるべき１つ又は複数の品物からなり得る注文を取得する。注文割当てプロセスは、かなり複雑であり、本開示の範囲を越えることに留意されたい。１つのそのような注文割当てプロセスは、その全体が参照により本明細書に組み込まれる、２０１６年９月１日に出願された、「Ｏｒｄｅｒ  Ｇｒｏｕｐｉｎｇ  ｉｎ  Ｗａｒｅｈｏｕｓｅ  Ｏｒｄｅｒ  Ｆｕｌｆｉｌｌｍｅｎｔ  Ｏｐｅｒａｔｉｏｎｓ」と題する、同一出願人が所有する米国特許出願第１５／８０７，６７２号に記載されている。また、ロボットは、単一のロボットが、ビン又はコンパートメントごとに１つずつ、複数の注文を実行することを可能にする通い箱アレイを有し得ることに留意されたい。そのような通い箱アレイの実例は、その全体が参照により本明細書に組み込まれる、２０１６年９月１日に出願された、「Ｉｔｅｍ  Ｓｔｏｒａｇｅ  Ａｒｒａｙ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｂａｓｅ  ｉｎ  Ｒｏｂｏｔ  Ａｓｓｉｓｔｅｄ  Ｏｒｄｅｒ−Ｆｕｌｆｉｌｌｍｅｎｔ  Ｏｐｅｒａｔｉｏｎｓ」と題する、米国特許出願第１５／２５４，３２１号に記載されている。
【００３９】
引き続き図８を参照すると、ステップ５０４において、倉庫管理システム１５によって品物の（１つ又は複数の）ＳＫＵ番号が決定され、ステップ５０６において、（１つ又は複数の）ＳＫＵ番号から（１つ又は複数の）ビン・ロケーションが決定される。次いで、注文に関するビン・ロケーションのリストがロボット１８に送信される。ステップ５０８において、ロボット１８はビン・ロケーションを基準ＩＤに相関させ、ステップ５１０において、基準ＩＤから各基準ＩＤのポーズが取得される。ステップ５１２において、ロボット１８は、図３に示されているようにそのポーズにナビゲートし、作業者は、取り出されるべき品物を適切なビンから選出し、それをロボットに配置することができる。
【００４０】
倉庫管理システム１５／注文サーバ１４によって取得された、ＳＫＵ番号及びビン・ロケーションなどの品物固有情報は、ロボット１８上のタブレット４８に送信され得、それにより、作業者５０は、ロボットが各基準マーカー・ロケーションに到達したときに取り出されるべき特定の品物を通知され得る。
【００４１】
ＳＬＡＭマップ及び基準ＩＤのポーズが知られれば、ロボット１８は、様々なロボット・ナビゲーション技法を使用して、基準ＩＤのうちのいずれか１つに容易にナビゲートすることができる。好ましい手法は、倉庫１０内のオープン空間１１２、及び壁１１４、棚（棚１２など）及び他の障害物１１６の知識を与えられて、基準マーカー・ポーズへの初期ルートを設定することを伴う。ロボットがそのレーザー・レーダー２６を使用して倉庫をあちこち動き始めたとき、ロボットは、固定の障害物、或いは他のロボット１８及び／又は作業者５０などの動的障害物のいずれかがその経路にあるかどうかを決定し、基準マーカーのポーズへのその経路を繰り返し更新する。ロボットは、障害物を避けながら最も効率的及び効果的な経路を常に探索して、約５０ミリ秒ごとにそのルートを再計画する。
【００４２】
本明細書で両方とも説明される、ＳＬＡＭナビゲーション技術と組み合わせられた製品ＳＫＵ／基準ＩＤと基準ポーズとのマッピング技法を用いて、ロボット１８は、倉庫内のロケーションを決定するためのグリッド線及び中間基準マーカーを伴う、一般に使用されるより複雑なナビゲーション手法を使用する必要なしに、極めて効率的及び効果的に倉庫空間をナビゲートすることが可能である。
【００４３】
上記で説明されたように、複数のロボットが、人々、機器、及び他の障害物と一緒に空間内の変動するゾーンをナビゲートすることによって起こり得る問題は、衝突及び／又は交通渋滞のリスクを提示することがある。ロボット・ナビゲーションの動的ゾーン・ベース規制は、ゾーン・エンジンによって与えられるコンテキスト拡張マップ・レイヤによって実施され得る。ゾーン・エンジンは、いくつかの実施例では、倉庫管理システム１５又は注文サーバ１４のモジュールであり得、いくつかの実施例では、独立したゾーン・サーバ又はシステムにおいて実装され得る。ゾーン・エンジンは、ＳＬＡＭマップに対応するコンテキスト拡張マップ・レイヤ（ＣＡＭＬ）を与えるために使用され、ナビゲーション空間をあちこち動く際に使用するためにロボット１８のメモリ内に格納される。ＣＡＭＬは、複数の動的に定義可能なゾーンを含むことができ、その各々が、それぞれのゾーン内のロボットによる観測のための１つ又は複数のナビゲーション・ルールに関連付けられる。最高レベルにおいて、以下でより詳細に説明されるように、ナビゲーション・ルールは、２つのカテゴリー、すなわち、１）ロボット１８が入ること及びあちこち動くことを許可される、「オープン」又はナビゲート可能なゾーンと、２）ロボット１８があちこち動くこと又は入ることを許可されない、「クローズ」又は「立入禁止（ｎｏｇｏ）」ゾーンとにおいて定義され得る。他の規制、及び各ゾーンに対応する制約は、たとえば、速度限度、速度最小値、進行方向に関する限定、最大占有制限、停止及び待機要件、又はナビゲーション空間（たとえば、倉庫１０）内のロボット・ナビゲーション及び進行に関する任意の他の規制又は限定を含むことができる。さらに、ゾーンは、規制／限定のカスタム構成されたセットを与えられ得るのか、或いは、ゾーンは、たとえば、立入禁止ゾーン、通路ゾーン、一方向ゾーン、ドッキング・ゾーン、待ち行列ゾーン、ポーズ・ゾーン、又は任意の他の好適な事前構成されたカテゴリーなどの１つ又は複数の事前構成されたカテゴリーに割り当てられ得るかのいずれかである。さらに、ゾーンは、永続的（たとえば、ゾーンは、ユーザがＣＡＭＬからそのゾーンを削除するまで、確立されたままである）又は一時的（たとえば、ゾーンは、所定の時間の後に、或いは指定されたエリアからの１つ又は複数の基準点又は物体の再位置決め又は削除時に、満了する）であり得る。
【００４４】
より一般的には、ＣＡＭＬの目的は、上記で説明されたロボット１８によって使用されるナビゲーション（ＳＬＡＭ）マップに、メタ情報のフレキシブル・レイヤを追加することである。そのような動的な、ゾーン・ベース・ナビゲーション規制を組み込むことによって、ロボット１８は、それらのロケーションのコンテキストに基づいて適切に動作することが可能である。いくつかの実施例では、これは、ＣＡＭＬが、マップを効果的に「マーク・アップ」し、ゾーン又は領域が、ゾーンの定義された境界内のロボットの挙動に影響を及ぼす特性に関連付けられるので、達成される。
【００４５】
概して、境界点を囲むためのゾーン境界は、各境界点の位置と、それに関連付けられたバッファ・ゾーン（たとえば、基準マーカーとそれに関連付けられたポーズとの間の間隔）とを組み合わせることによって計算され得る。次いで、必要に応じて、膨張、収縮、又はスキューイング特性が、計算された境界ジオメトリに適用され得る。基準マーカーがサイト「占有グリッド」（ＳＬＡＭ）マップ上にすでに所在するいくつかの実施例では、基準マーカーを囲むエリアは、基準の「前方の（ｉｎ−ｆｒｏｎｔ）」エリア（すなわち、そこから基準が可視である）と基準の背後のエリアとの方向性を決定するために分析され得、基準の背後のエリアは、通常、棚又はビンなど、何らかの固体の及び通過できない障害物である。いくつかの実施例では、簡単のために及びゾーンを定義する際の自動化を可能にするために、ゾーンを定義する境界点を与えるために基準のセットが使用されるとき、境界点基準が互いに「面している（ｆａｃｉｎｇ）」場合、境界は、基準間の空間を囲むように引かれ、したがって、定義されたゾーンとしてクリア空間（ｃｌｅａｒ−ｓｐａｃｅ）「通路」をキャプチャすることができる。境界点基準が互いに背いている（ｆａｃｉｎｇ  ａｗａｙ）とき、境界は、定義された立入禁止ゾーンとして、基準がその上に取り付けられる物理的構造（たとえば、棚、ビンなど）を代わりに囲むことができる。いくつかの実施例では、より複雑な境界が生成され得、基準の配向及びそれらの個々のゾーン中の物理的構造の存在は、より複雑なジオメトリを必要とする。たとえば、いくつかの実施例では、複数の通路にわたるゾーンが、関連するクリア空間ゾーン及び占有空間ゾーンに自動的に分解され得る。いくつかの実施例では、そのような分解は、ロボティック・システムの内部で実施され、したがって、ゾーンを定義することを担当するユーザ又はプログラマーにとって透過的に実施され得る。
【００４６】
概して、ゾーン・エンジン・システムは、ゾーン定義を使用してコンテキスト拡張マップ・レイヤを与えることができ、ゾーン定義は、より大きいグリッド・マップ上のデカルト基準系（Ｃａｒｔｅｓｉａｎ  ｆｒａｍｅ  ｏｆ  ｒｅｆｅｒｅｎｃｅ）に最終的にマッピングされるが、境界点基準マーカーの位置決めに基づいてより高いレベルにおいて定義され得る。有利には、そのようなより高いレベルのゾーン定義を与えることによって、いくつかの実施例では、ゾーン境界は、必要に応じて自動的に再計算され得る。したがって、後続マップ又はマップ更新上で、基準境界点位置が変化した場合、ゾーンを自動的にリロケートし、ユーザ関与なしにゾーンの寸法を改変することが可能である。これは、たとえば、（１つ又は複数の）基準が、隣接する通路に移動された場合、境界の小さい変化から空間内の境界の完全な再位置決めに及び得る。特に、そのような構成は、境界点基準マーカーに従ってゾーンを定義すること以外に、人間の対話を必要とすることなしのゾーンの自動的な再構築及び変更を可能にする。これは、ゾーンがデカルト基準系においてユーザ・レベルで定義された場合よりも、はるかによりフレキシブルで動的なシステムを可能にする。
【００４７】
いくつかの実施例では、ゾーンが、特定のサイト・マップのための原点に基づく固定デカルト座標を使用して少なくとも部分的に定義され得ることは、本開示に鑑みて明らかであろう。しかしながら、そのような手法は、境界点基準マーカーを使用することよりも、フレキシブルでなく、基準マーカーが利用可能でない場合、及び／又はゾーンがサイトの物理的インフラストラクチャに強く結合され、したがって経時的に移動することが予想されない場合のみ、望ましい。
【００４８】
図９は、１つ又は複数のゾーン９０１、９０３、９０５、９０７を有する例示的なナビゲーション空間９００（たとえば、倉庫１０）を示す。各ゾーンは、１つ又は複数の境界点９０１ａ〜ｂ、９０３ａ〜ｄ、９０５ａ、及び９０７ａ〜ｄによって定義され、各境界点は、ナビゲーション空間９００内の基準マーカー３０のうちの１つに対応し得る。特に、各ゾーン９０１、９０３、９０５、９０７は、０〜ｎ個の境界点のセット９０１ａ〜ｂ、９０３ａ〜ｄ、９０５ａ、及び９０７ａ〜ｄによって定義され得る。
【００４９】
境界点９０１ａ〜ｂ、９０３ａ〜ｄ、９０５ａ、及び９０７ａ〜ｄは各々、倉庫内に存在する基準マーカー３０及び／又は相関するポーズ・ロケーションに対応し、それにより、ゾーンのジオメトリを少なくとも部分的に定義する。特に、上記で説明されたように、各基準マーカー３０は、ポーズと相関させられ得、これは、ポーズに関連付けられた基準マーカー３０に対するナビゲーション空間９００内の位置及び配向を含むことができる。さらに、上記で説明されたように、基準マーカー３０とポーズとの間の相関は、ナビゲーション空間９００中のロボット１８のナビゲーションを援助し、選出、充電、又は他のロボット１８活動を容易にする。したがって、境界点９０１ａ〜ｂ、９０３ａ〜ｄ、９０５ａ、及び９０７ａ〜ｄの各々を基準マーカー３０及び／又はポーズと対応させることは、有利には、上記で説明されたように、たとえば、基準マーカー３０及び／又はポーズの移動に応答してゾーンの自動的な、動的な、フレキシブル再構成を与える。さらに、境界点９０１ａ〜ｂ、９０３ａ〜ｄ、９０５ａ、及び９０７ａ〜ｄとポーズとが、基準マーカー３０に相関させられるので、すべての３つのロケーション及び配向データ・セットは、すでに記述され、ナビゲーション・システムに構築されており、互いに対して動的に更新することになる。したがって、変化（たとえば、基準マーカー３０の再位置決め）があれば、別々にすべての３つのデータ・セット（基準マーカー、ポーズ、及び境界点）を更新する非効率的な、エラーを起こしやすいプロセスを必要とするのではなく、システム全体にわたる更新を自動的にプッシュすることができる。
【００５０】
ゾーン境界点９０１ａ〜ｂ、９０３ａ〜ｄ、９０５ａ、及び９０７ａ〜ｄが決定されると、次いで、最終ゾーン・ジオメトリは、それらの境界点９０１ａ〜ｂ、９０３ａ〜ｄ、９０５ａ、及び９０７ａ〜ｄに関する幾何学的制約を付与することによって、影響を及ぼされ得る。概して、ゾーン・ジオメトリは、任意の好適なやり方で決定され得る。たとえば、ゾーンは、２つ又はそれ以上の境界点によって形成されたエッジから１つ又は複数の方向に延びることができ、円形又は多角形ゾーンを定義するために単一の境界点を囲むように外側に延びることができ、３つ又はそれ以上の境界点によって定義される外周内のゾーンを形成することができ、及び／又は、３つ又はそれ以上の境界点によって定義される外周の少なくとも一部分から外へ延びることができる。各場合において、たとえば、ゾーンがポイント又はエッジから延びる距離、特定のゾーンの形状（たとえば、円形又は多角形）、並びに／又は１つ又は複数のエッジの形状（たとえば、凸状、凹状、直線）など、さらなる定義が与えられ得る。
【００５１】
たとえば、図９に示されているように、フリーウェイ・ゾーン９０１は、境界点９０１ａと境界点９０１ｂとの間に形成されたエッジ９０２から倉庫１０の壁（又は他の永続的構造）のほうへ延びる。図９に示されているように、フリーウェイ・ゾーン９０１は、実際の選出及び格納棚１２の外部の比較的広い道路に沿って確立される。十分な空間があり、フリーウェイ・ゾーン９０１での人間及びロボット交通の可能性がより低いので、フリーウェイ・ゾーン９０１内のロボット１８がフル速度で動作しながら二方向進行に関与することは、妥当であり得る。
【００５２】
図９にさらに示されているように、いくつかの実施例では、一方向ゾーン９０３が与えられ得る。図９に示されているように、一方向ゾーンは、たとえば、（たとえば、境界点９０３ａ〜ｄ間に形成されたゾーン９０３の場合のように）コーナー境界点によって定義された外周の内部であり得る。一方向ゾーン９０３は、たとえば、二方向ロボット交通が衝突の過大なリスクなしに実現不可能である、２つの接近して位置する棚１２間の狭い通路などの比較的狭い及び／又はより速い交通エリアであり得る。したがって、図９に示されているように、一方向ゾーン９０３は、ロボット１８が、境界点９０３ａと境界点９０３ｂとの間に延びる第１のエッジ９０４ａにおいて入り、境界点９０３ｃと境界点９０３ｄとの間に延びる第２のエッジ９０４ｂにおいて出ることによってのみゾーンをあちこち動くことができるように、ＣＡＭＬ中で制約され得る。さらに、たとえば、一方向ゾーン９０３などの狭い、混雑したゾーンは、人間の選出者（ｐｉｃｋｅｒ）及びロボット１８が同様に、それること又は停止することなどの衝突回避活動に関与するための追加の時間を与えるために、低減された速度限度をさらに課し得る。いくつかの実施例では、一方向ゾーン９０３は、ゾーン９０３内の込み合いを緩和するために最大占有制限を含むことができる。
【００５３】
また、図９に示されている、充電ゾーン９０５は、１つ又は複数の充電ステーションを囲む円形ゾーン形状を形成するために、単一の境界点９０５ａから延びる所定の半径を指定することができる。代替的に、いくつかの実施例では、ゾーン形状は、たとえば、矩形、正方形、他の多角形、楕円、又は他の好適な形状、又はそれらの組合せなど、境界点９０５ａを囲む任意の好適な形状として規定され得る。ロボット１８が周期的に再充電される必要があるので、充電ステーションのバンクは、一般に、高いロボット交通を経験し得る。したがって、充電ゾーン９０５は、比較的低い速度限度を含み得る。さらに、上記で説明されたように、いくつかの実施例では、ロボット１８が充電ステーションに接近するにつれて、ロボットを充電ステーションにドッキングさせるために必要とされるより微細な位置調整を与えるために、より精密なナビゲーション手法がアクティブにされ得る。たとえば、いくつかの実施例では、充電ゾーン９０５内では、高精度操作（たとえば、ロボット１８と充電ステーションとの間のドッキング）のために使用される局所（ｘ、ｙ、ｚ、ω）座標が、通常のナビゲーションのために使用されるものよりも微細なロボット１８の位置調整を与えるように、より粒度の細かい局所座標系が与えられ得る。
【００５４】
図９に示されているような障害物回避ゾーン９０７が、いくつかの実施例では、クローズとして定義され、境界点９０７ａ〜ｄによって定義される外周内に占有され得る。いくつかの実施例（図示せず）では、障害物回避ゾーンは、外周を少なくとも部分的に囲む迂回経路をさらに定義することができ、迂回経路は外周の１つ又は複数のエッジから外へ延びる。そのような実施例では、障害物回避ゾーンは、外周内でのロボット・ナビゲーションを禁止し、迂回経路に沿って外周の周りをあちこち動くことを必要とする、ナビゲーション・ルールを含むことができる。
【００５５】
次に図１０を参照すると、ゾーン特性ルックアップ表９５０は、各ロボット１８のメモリに格納され得、ルックアップ表９５０は、倉庫１０などのナビゲーション空間９００内の各ゾーン９０１、９０３、９０５、及び９０７のリスティングを含む。各ゾーン９０１、９０３、９０５、及び９０７は、表において、そのそれぞれのゾーン９０１、９０３、９０５、及び９０７に関連付けられた境界点９０１ａ〜ｂ、９０３ａ〜ｄ、９０５ａ、及び９０７ａ〜ｄとして識別される特定の基準ＩＤ４〜１４に相関される。
【００５６】
上記で説明されたように、複数の特性及び／又はナビゲーション規制／制約が、定義されたゾーンに関連付けられ、そのうちのいくつかは強制であり得、そのうちのいくつかは随意であり得る。概して、強制であるのか随意であるのかにかかわらず、ゾーンは、相互排他的な特性を適用することを回避するように定義されるべきである。たとえば、ゾーンは、オープンとクローズの両方であることができない。すべてのゾーンに割当て可能な強制特性の実例は、ゾーン・タイプ、最大占有率、及び最大速度限度を含むことができる。随意のゾーン特性の実例は、交通流（たとえば、一方向又は二方向交通、入口点及び出口点）、停止及び待機、動的更新、及び満了を含むことができる。概して、タイプは、定義されているゾーンのカテゴリー又はタイプ（たとえば、オープン、クローズ、立入禁止、通路、キュー、ドック、又はカスタム）を識別する。各タイプは、デフォルト特性設定の特定のセットを含み得、これは、固定であり得るか、或いはユーザによって部分的に又は完全に編集可能であり得る。さらに、各タイプは、強制及び／又は随意の特性の異なるセットを含み得る。
【００５７】
再び図１０のゾーン特性ルックアップ表９５０を参照すると、表９５０は、特性ゾーンＩＤ、境界点ＩＤ、オープン／クローズ、ゾーン・タイプ、最大占有率、最大速度、交通流、停止及び待機、動的な更新、及び満了を含む。図１０に示されているように、すべてのゾーン・タイプが、すべての特性を含むとは限らない。たとえば、一方向ゾーンのみが、交通流特性における値を含む。これらの特性は、以下でより詳細に説明される。
【００５８】
オープン／クローズ特性は、特定のゾーンが、ナビゲート可能であるのか、ロボット入口に関してクローズであるのかを規定する。さらに、ゾーンがクローズとして定義されるとき、ゾーンが物理障壁のためにクローズであるのか、原則として依然としてナビゲート可能であるのかを示すように、追加の「占有」特性（“ｏｃｃｕｐａｔｉｏｎ”  ｐｒｏｐｅｒｔｙ）が設定されなければならない。物理障壁と仮想障壁とを区別することによって、システムは、緊急応答の場合に適切な命令を与えることができる。たとえば、ロボットが、クローズ・ゾーンに配置されるか、又はクローズ・ゾーン中に不注意にナビゲートし得る。そのようなシナリオでは、ロボット１８は、立入禁止に違反しないようにゾーンを離れることを試みるべきなのか、又は同じところにとどまり、潜在的危険を回避すべきなのかに関する命令を与えられる必要がある。そのような決定は、占有特性を参照しながら行われ得、その結果、ロボットは、占有されていないクローズ・ゾーンをできるだけ迅速に及び効率的に離れることができるが、ロボットは、障害物又は危険を回避するように、占有されたクローズ・ゾーン内に静止したままであり得る。
【００５９】
最大占有特性は、どの時点においてもゾーン中で許可されるロボット１８の最大数、又は、代替的に、ロボットと人間との最大組合せ数を規定する。衝突及び渋滞低減に加えて、最大占有限度を有するゾーンは、プランニングのためのより高いレベルの案内を与えることができ、その結果、ルート・プランニング及び／又は最適化システムは、ロボット１８を、別のロケーションへの通過中にそのようなゾーンを通ってルーティングすることを嫌う。したがって、システムは、通過するロボットのクラスタが、一般に高い使用率のゾーン（たとえば、ゾーン内で品物が頻繁に選出される）となるものの内部で渋滞を生じることを回避することができる。
【００６０】
最大速度特性は、ゾーン内で動作するロボット１８についての最大許容速度を規定する。最大ロボット動作速度は、たとえば、より慎重な扱いを要するゾーン・タイプ（たとえば、キュー又はドック）において、或いは、より多い歩行交通（ｆｏｏｔ  ｔｒａｆｆｉｃ）、より密な空間を有するエリア、又は場合によっては高速動作に不適当であるエリアにおいて速度を低減するために、限定され得る。代替的に、最大速度はまた、より高い速度が達成及び維持され得る「フリーウェイ」ゾーンをロボットが利用することを可能にするために、極めて高く設定され得る。いくつかの実施例では、フリーウェイ・ゾーンは、別個のゾーン・タイプとして構築され得る。しかしながら、いくつかの実施例では、フリーウェイ・ゾーンは、別個のタイプであるのではなく、代わりに高い最大許容速度によって暗示され得ることが、本開示に鑑みて明らかであろう。そのようなフリーウェイ・ゾーンは、たとえば、選出がかなりの進行距離だけ離間したより大きいサイト、及び最後にその距離の一部分が直線の広い通路に沿って進行され得るより大きいサイトにおいて有利である。同様に、選出作業から荷下ろしキュー、誘導キュー、又は充電ドックまで進行することが、かなりの進行距離を必要とすることがあり、フリーウェイ・ゾーンの使用によって迅速化され得る。
【００６１】
交通流特性は、ゾーン内の進行の方向性を規定することができる。流れ特性は、いくつかの実施例では、図１０の表に示されているように、ゾーンに関連付けられたエッジＩＤリストのペアを識別することによって確立され得る。概して、第１のエッジＩＤリストは、ゾーンについての許容される「入口エッジ」を指定することができ、第２のエッジＩＤリストは、許容される「出口エッジ」を指定することができる。所望の入口エッジと、対応する出口エッジとが、ロボット１８によって選択されると、たとえば、両方のエッジの中心を接続することによって、方向ベクトルが決定され得る。
【００６２】
いくつかの実施例では、流れは、方向特性と付随する許容差特性値とによって決定され得る。方向特性は、ゾーンの全体的配向に対するロボット進行ベクトルのターゲット角度として表され得る。付随する許容差特性値は、ターゲット方向特性からの許容できる角度偏差を示すことができる。付随する許容差特性値を方向特性と組み合わせることによって、許容できるゾーン内（ｉｎ−ｚｏｎｅ）進行角度の範囲が、決定され得る。たとえば、＋／−５°の付随する許容差特性値を有する−９０°の方向特性値の場合、ゾーン内の許容できるロボット進行ベクトルは、−８５°から−９５°の間にわたることができる。
【００６３】
停止及び待機特性は、ゾーンに入るか又はゾーンを出るためにエッジを横断する前の特定のゾーンの１つ又は複数のエッジにおける、ロボットによる停止及び待機挙動を規定することができる。停止特性自体は、いくつかの実施例では、停止の持続時間、又は前進が再開することができる前に満たされなければならない進入条件（ｇｏ  ｃｏｎｄｉｔｉｏｎ）など、関連付けられた特性を含み得る。停止特性は、たとえば、メイン通路と棚（ｓｈｅｌｖｉｎｇ）通路との間の交差部において使用され得る。そのような実施例では、ロボット１８は、交差するエッジにおいて停止し、ロボットの規定の近傍度内に接近するロボット又は人間交通がないことを検証するために走査を実施することを必要とされるであろう。走査がクリアである場合、ロボット１８は進むことができ、走査が、接近する交通を検出した場合、ロボットは、規定の時間期間待機し、次いで、再走査し、交差部がクリアになるまで繰り返さなければならない。
【００６４】
動的更新特性は、ゾーンの現在のロケーション、サイズ、及び形状が、元のユーザ定義されたゾーンに一致するかどうか、又はゾーンがシステムによって動的に更新されたかどうかを識別する。たとえば、ゾーンに関連付けられた基準マーカー境界点のうちの１つ又は複数が、倉庫内の新しい物理的ロケーションに移動された場合、その新しいロケーションは、ＳＬＡＭマップ更新中に検出され、したがって、基準マーカー境界点のロケーションを自動的に更新し、ゾーンのサイズ、形状、及びロケーションへの対応する更新を生じる。したがって、動的更新特性は、ユーザ定義のゾーンが更新されたか否かを追跡し、それにより、ユーザは、そのような変化を通知されるか、又はそれらを照会することができる。
【００６５】
満了特性は、このゾーンがゾーン・サーバによって自動的に削除されるか又は再構成されるまでの残りの時間を規定する。たとえば、スケジュールされた保守のためにブロックされた通路は、スケジュールされた保守が完了するまでの規定の時間期間の間のみブロックされることが予想され得る。そのような実施例では、保守ゾーンはクローズ・ゾーンとして一時的に定義され、指定された時間期間が満了した後、ゾーンは再びオープンにされ得る。規定の時間は、いくつかの実施例では、倉庫管理システムに格納された保守スケジュールなどの他のシステム知識／イベントに基づき得る。別の実例では、こぼれたものにより滑べりやすいエリアは、規定の時間数内に掃除されることが予期され得る。いくつかの実施例では、満了特性は、たとえば、１つ又は複数のロボット１８、倉庫管理システム、ユーザ、又は他のデータ・ソース（たとえば、こぼれたものがまだ掃除されていないことを示すロボット）によって与えられたデータに応答して、動的に更新又はリセットされ得る。
【００６６】
いくつかの実施例では、特定のゾーンに関連付けられた任意の追加の制約及び／又は規制を記述するために、追加の特性が追加され得ることが、本開示に鑑みて明らかである。どの特性も、１つ又は複数のロボット１８、倉庫管理システム、ユーザ、或いは、たとえば、インターネット、サプライヤ・データベース、顧客データベース、又は他の好適なデータ・ソースなどの他のデータ・ソースによって与えられたデータに応答して、動的に更新され得ることが本開示に鑑みてさらに明らかである。たとえば、いくつかの実施例では、クローズ・ゾーンが、選出可能なストック品物を含んでいる棚によって占有され得る。そのようなゾーンは、ストック自体に接続されたデータを追跡するための特性を含むことができ、そのようなデータはロボット挙動に作用することが予想される。たとえば、ストック品物が、動きが速い（ｆａｓｔ−ｍｏｖｉｎｇ）のか動きが遅い（ｓｌｏｗ−ｍｏｖｉｎｇ）のか（高需要か又は低需要か）は、品物にアクセスするためにロボットによって使用される隣接するオープン・ゾーンに影響を及ぼし得る。したがって、特定のゾーン中の平均的なストックが、動きが速い場合、ゾーンの最大占有率は、より高いロボット処理能力を与えるために自動的に増加され得る。また、ロボット及び人間選出者交通の増加の結果として、オープン・ゾーンは、衝突及び渋滞リスクを低減するために一方向ゾーンになるように更新され得る。
【００６７】
たとえば、複数の棚及び通路を包含する選出ゾーンが、複数のオープン（通路）及びクローズ（棚）ゾーンに再分割される場合など、ゾーンが親ゾーン及びサブ・ゾーンとして関係する限り、各ゾーンの、その中に含まれているサブ・ゾーン又はそれが属する親ゾーンに対する関係をキャプチャするために、親参照（ｐａｒｅｎｔ  ｒｅｆｅｒｅｎｃｅ）特性が含まれ得る。
【００６８】
１つ又は複数のゾーンが交差する、いくつかの実施例では、容易に識別可能な親子関係がないことがある。とはいえ、特性の交差する「重複」は、交差部が有効な、競合しないルールを有するために、解消されなければならない。そのような状況は、ほとんどの場合、同じタイプのゾーンが重複又は隣接するときに現れる。しかしながら、交差／重複は、概して、２つ又はそれ以上のタイプ間において、又はゾーンが全体的特性の特殊な局所的バージョンを有する場合に発生し得る。したがって、ゾーン・エンジン・システムは、タイプにかかわらず、及び交差部が別個のゾーンとして指定されるか否かにかかわらず、交差エリアのために特性の単一の有効なセットを作り出すように構成され得る。
【００６９】
いくつかの実施例では、交差特性を決定するステップは、図１１のフロー・チャートで説明されるように２ステップ・プロセスを含むことができる。まず、ゾーン・エンジン・システムは、１２０１において、２つ又はそれ以上の重複するゾーンの特性値間の１つ又は複数の競合を識別することができる。最初に、システムは、重複するゾーン特性をアグリゲートすることができる。アグリゲーション中に、各重複するゾーンに関連付けられた関係する特性が、比較され、フィルタ処理され得る。たとえば、いくつかの実施例では、重複するゾーンのうちの１つのみに特有のものとして識別される境界点、又は交差部から所定の距離よりも離れて位置する境界点は、無関係として無視され得る。いくつかの実施例では、重複するゾーンのうちの１つのみに特有のものとして識別された特性は、それらが相互排他的でないか又は他のそのような特性と競合しない限り、交差エリアの特性として保たれるか、或いは適用不可能なものとしてまとめて廃棄されるかのいずれかであり得る。代替的に、選択された特有な特性のみが、１つ又は複数のあらかじめ定義されたルールに従って保たれ得る。交差エリア中の重複するゾーンのすべてにとって同一及び適用可能なものとして識別された特性は、それらが相互排他的でないか又は他のそのような特性と競合しない限り、交差エリア内に適用可能なものとして保たれ得る。重複するゾーンのうちの少なくとも２つが、（１つ又は複数の）同じ特性について異なる又は競合する値を含む場合、１２０１において、それらの値が識別され、競合解消の第２のステップについてさらに処理され得る。
【００７０】
まだ図１１を参照すると、１２０３において、重複するゾーンが異なる値を割り当てられる特性について、競合解消された単一の値を評価し、次いで生成するために、競合解消が使用され得る。概して、単一の値は、元のゾーン値と適合するべきである。そのような特性は、たとえば、速度限度及び占有限度を含むことができ、速度限度及び占有限度は、一般に、各ゾーンについて具体的に割り当てられており、交差する異なる定義を有する可能性がある。そのような特性は、進行の方向性をも含むことができ、特に、一方向ゾーン、二方向ゾーン、及び／又は立入禁止ゾーンが交差する。
【００７１】
速度限度又は占有限度についてなどの数量値に関して、一般に、「万能な（ｃａｔｃｈ−ａｌｌ）」手法として競合解消が達成され得る。再び図１１を参照すると、１つのそのような手法が、１２０５において、重複するゾーンの競合する特性値の最高又は最低を選択することを含み得る。たとえば、保守的ストラテジーは、交差エリアに最低値特性を適用することができる（たとえば、最も低い最大速度又は最も低い最大占有率）。保守的手法は、ロボット間の事故／衝突のリスクを低減する可能性があるが、選出を減速し、選出効率を低減する可能性もあることになる。代替的に、あまり保守的でない（ｌｅｓｓ  ｃｏｎｓｅｒｖａｔｉｖｅ）手法は、（与えられた値が本質的に危険な状態を生じない限り）ゾーンに最高特性値をデフォルト設定し得、これは、ロボット間の事故／衝突のリスクをわずかに増加させ得るが、より速い、より効率的な選出を可能にし得る。
【００７２】
方向性値など、より複雑な競合解消に関して、特性値における許容差は、解消成功を援助することができる。特に、許容できる特性値の範囲を与えることによって、許容差は、通常ならば競合が解消不可能であろう、競合する特性値範囲間の部分的な重複を可能にすることができる。したがって、図１１の場合のように、１２０７において、付随する値許容差が重複するゾーンの特性値を包含するように、重複するゾーンの特性値と付随する値許容差との間のターゲット値を定義することによって、競合解消は達成され得る。たとえば、交差する一方向ゾーンの場合、方向性値範囲の重複がない限り、（たとえば、反対の交通流方向性を有する一方向ゾーンが、出口エッジを共有する場合）解消は可能でない。そのような解消不可能な競合の場合、競合は、ゾーン・エンジンによって識別されなければならず、重複するゾーンのうちの１つ又は複数の特性を補正することによって又はゾーン・マップを再構成する必要をユーザに警告することによってのいずれかで、自動的に解消され得る。
【００７３】
他のゾーンについて、そのような許容差が、ロボットがあるゾーンから次のゾーンにあちこち動くことを可能にするように構成され得る。たとえば、あるゾーンが９０°（東）の方向特性値をもち、別のゾーンが１３５°（南東）の方向特性値をもつ、２つの交差する一方向ゾーンを有する一実施例では。許容差範囲がなければ、これらの方向性値は適合しない。しかしながら、各ゾーン内のロボットによって最大ナビゲーション・フレキシビリティを促進するために、許容差値が、安全に妥当である高さに設定され得る。したがって、一方向ゾーンでは、ロボットを「正しい」方向に連続的に移動させることに関連付けられた最大許容差値が、使用され得る。そのために、そのような許容差値は、ターゲット方向性特性値に対して＋／−８９°に設定され得る。上記で説明された実例を参照すると、そのような許容差は、９０°の方向特性値を有する第１のゾーンについて、１°から１７９°までの間の方向性動きの範囲を可能にし、１３５°の方向特性値を有する第２のゾーンについて、４６°から２２４°までの間の方向性動きの範囲を可能にするであろう。これらの範囲間の重複は、４６°から１７９°までであり、これは、解消された特性の方向特性値＝１１２．５°及び許容差値＝＋／−６６．５°として交差エリアに割り当てられ得る。
【００７４】
方向の限定されたゾーンが、入力エッジ及び出口エッジを使用して定義される実施例では、それらの交差するゾーンの共有されるエッジ又は共有されるエッジ部分についての競合解消は、ゾーン定義のゾーン・エンジン処理の一部として実施されることになる。たとえば、交差するゾーンについてのエッジ定義が、ブロッキング効果を引き起こす（たとえば、一方向サブ・ゾーンのための入口エッジが、通路の中央にあり、親ゾーンによって同じ通路において定義された出口エッジと競合する（又は、その逆も同様である））場合。そのような場合、ゾーン・エンジンは、そのようなエッジ特性が存在する場合、競合していないエッジ特性に対して解消することを試みることになる。解決策が利用可能でない限り、ユーザは、ゾーン・マップが再構成される必要があると通知されることになる。
【００７５】
いくつかの実施例では、交差せず、親子関係も有しないゾーンさえ、関係するゾーンの特性変更を必要とする様式で互いに影響を及ぼし得る。そのような関係は、一般に、ゾーン近接度と、その近接性によって影響を及ぼされる特性の存在とによって定義される。いくつかの実施例では、そのような関係が発生し得、ここで、「クローズ」（たとえば、立入禁止）ゾーンの特性が、隣接する「オープン」ゾーンの特性に影響を及ぼす。たとえば、通路が、占有されていないクローズ・ゾーンとして指定される場合、ゾーン・エンジンは、立入禁止ゾーンの周りをあちこち動く追加のロボットを受け入れるために、立入禁止通路に隣接する１つ又は複数の「オープン」通路の最大占有率を（自動的に又はユーザ命令に応答してのいずれかで）変更することができる。さらに、立入禁止ゾーンから製品が依然として選出されている限り、１つ又は複数の隣接する「オープン」通路の最大占有率は、立入禁止ゾーンに近接したロボット待ち行列を受け入れるために増加され得る。
【００７６】
同様に、棚構造又は他の品物ストック・ロケーションが、占有されたクローズ・ゾーンとして指定され、ゾーン・エンジンが、その棚構造／ストック・ロケーション上に格納された１つ又は複数の品物が、高い需要があることになる（たとえば、各購入品とともに渡されることになる景品が格納される場合、又は、予想される高い初期販売をもつ流行の新しい製品が格納される場合）と、選出リスト分析を通して自動的に又はユーザ入力を介してのいずれかで決定した場合、ゾーン・エンジンは、占有されたクローズ・ゾーンの周りをあちこち動き、占有されたクローズ・ゾーンに近接した待ち行列を作る追加のロボッを受け入れるために、棚構造／ストック・ロケーションに隣接する１つ又は複数の「オープン」通路の最大占有率を（自動的に又はユーザ命令に応答してのいずれかで）変更することができる。
【００７７】
本開示に鑑みて、例示的なゾーンは例示のために上記で説明されたにすぎず、任意の数の基準マーカーによって定義され、任意の数又はタイプの特性、ナビゲーション規制、他のゾーンとの関係、又は制約を有する、任意のサイズ及び形状の任意の他のゾーンが様々な実施例に従って実装され得ることは、明らかであろう。
【００７８】
非限定的な例示的なコンピューティング・デバイス
図１２は、図１〜図１１を参照しながら上記で説明された様々な実施例に従って使用され得るような例示的なコンピューティング・デバイス１０１０、又はそれの部分のブロック図である。コンピューティング・デバイス１０１０は、例示的な実施例を実装するための１つ又は複数のコンピュータ実行可能命令又はソフトウェアを格納するための１つ又は複数の非一時的コンピュータ可読媒体を含む。非一時的コンピュータ可読媒体は、限定はしないが、１つ又は複数のタイプのハードウェア・メモリ、非一時的有形媒体（たとえば、１つ又は複数の磁気ストレージ・ディスク、１つ又は複数の光ディスク、１つ又は複数のフラッシュ・ドライブ）などを含むことができる。たとえば、コンピューティング・デバイス１０１０中に含まれるメモリ１０１６は、本明細書で開示される動作を実施するためのコンピュータ可読及びコンピュータ実行可能命令又はソフトウェアを格納することができる。たとえば、メモリは、図１〜図１１に関して説明されるように、様々な開示される動作を実施するようにプログラムされたソフトウェア・アプリケーション１０４０を格納することができる。コンピューティング・デバイス１０１０はまた、メモリ１０１６に格納されたコンピュータ可読及びコンピュータ実行可能命令又はソフトウェア並びにシステム・ハードウェアを制御するための他のプログラムを実行するために、構成可能な及び／又はプログラム可能なプロセッサ１０１２及び関連付けられたコア１０１４と、随意に、（たとえば、複数のプロセッサ／コアを有する計算デバイスの場合）１つ又は複数の追加の構成可能な及び／又はプログラム可能な処理デバイス、たとえば（１つ又は複数の）プロセッサ１０１２’及び関連付けられた（１つ又は複数の）コア１０１４’とを含むことができる。プロセッサ１０１２及び（１つ又は複数の）プロセッサ１０１２’は、各々、単一コア・プロセッサ又は複数コア・プロセッサ（１０１４及び１０１４’）であり得る。
【００７９】
コンピューティング・デバイス１０１０において仮想化が採用され得、それにより、コンピューティング・デバイスにおけるインフラストラクチャ及びリソースが動的に共有され得る。複数のプロセッサ上で実行するプロセスを扱うために仮想マシン１０２４が与えられ得、それにより、プロセスは、複数のコンピューティング・リソースではなく１つのコンピューティング・リソースのみを使用しているように見える。また、複数の仮想マシンが１つのプロセッサとともに使用され得る。
【００８０】
メモリ１０１６は、限定はしないが、ＤＲＡＭ、ＳＲＡＭ、ＥＤＯ  ＲＡＭなど、計算デバイス・メモリ又はランダム・アクセス・メモリを含むことができる。メモリ１０１６は、同様に他のタイプのメモリ、又はそれらの組合せを含むことができる。
【００８１】
ユーザは、例示的な実施例に従って与えられ得る１つ又は複数のユーザ・インターフェース１００２を表示することができる、コンピュータ・モニタなど、視覚ディスプレイ・デバイス１００１、１１１Ａ〜Ｄを通してコンピューティング・デバイス１０１０と対話することができる。コンピューティング・デバイス１０１０は、ユーザからの入力を受信するための他のＩ／Ｏデバイス、たとえば、キーボード又は任意の好適なマルチ・ポイント・タッチ・インターフェース１０１８、ポインティング・デバイス１０２０（たとえば、マウス）を含むことができる。キーボード１０１８及びポインティング・デバイス１０２０は、視覚ディスプレイ・デバイス１００１に結合され得る。コンピューティング・デバイス１０１０は、他の好適な従来のＩ／Ｏ周辺機器を含むことができる。
【００８２】
コンピューティング・デバイス１０１０は、本明細書で開示される動作を実施するデータ及びコンピュータ可読命令及び／又はソフトウェアを格納するための、限定はしないが、ハード・ドライブ、ＣＤ−ＲＯＭ、又は他のコンピュータ可読媒体など、１つ又は複数のストレージ・デバイス１０３４をも含むことができる。例示的なストレージ・デバイス１０３４はまた、例示的な実施例を実装するために必要とされる任意の好適な情報を格納するための１つ又は複数のデータベースを格納することができる。データベースは、データベース中の１つ又は複数の品物を追加、削除、及び／又は更新するために任意の好適な時間において手動で又は自動的に更新され得る。
【００８３】
コンピューティング・デバイス１０１０は、限定はしないが、標準電話回線、ＬＡＮ又はＷＡＮリンク（たとえば、８０２．１１、Ｔ１、Ｔ３、５６ｋｂ、Ｘ．２５）、ブロードバンド接続（たとえば、ＩＳＤＮ、フレーム・リレー、ＡＴＭ）、ワイヤレス接続、コントローラ・エリア・ネットワーク（ＣＡＮ）、又は上記のいずれか又はすべての何らかの組合せを含む、様々な接続を通して、１つ又は複数のネットワーク・デバイス１０３２を介して、１つ又は複数のネットワーク、たとえば、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）又はインターネットとインターフェースするように構成されたネットワーク・インターフェース１０２２を含むことができる。ネットワーク・インターフェース１０２２は、内蔵ネットワーク・アダプタ、ネットワーク・インターフェース・カード、ＰＣＭＣＩＡネットワーク・カード、カード・バス・ネットワーク・アダプタ、ワイヤレス・ネットワーク・アダプタ、ＵＳＢネットワーク・アダプタ、モデム、又は通信が可能な任意のタイプのネットワークにコンピューティング・デバイス１０１０をインターフェースし、本明細書で説明される動作を実施するのに好適な任意の他のデバイスを含むことができる。その上、コンピューティング・デバイス１０１０は、ワークステーション、デスクトップ・コンピュータ、サーバ、ラップトップ、ハンドヘルド・コンピュータ、タブレット・コンピュータ、或いは、通信が可能であり、本明細書で説明される動作を実施するために十分なプロセッサ・パワー及びメモリ容量を有する他の形式のコンピューティング又は電気通信デバイスなど、任意の計算デバイスであり得る。
【００８４】
コンピューティング・デバイス１０１０は、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）オペレーティング・システム（Ｍｉｃｒｏｓｏｆｔ、ワシントン州レドモンド）のバージョンのいずれか、Ｕｎｉｘ及びＬｉｎｕｘ（登録商標）オペレーティング・システムの異なるリリース、ＭａｃｉｎｔｏｓｈコンピュータのためのＭＡＣ  ＯＳ（登録商標）（Ａｐｐｌｅ，Ｉｎｃ．、カリフォルニア州クパチーノ）オペレーティング・システムの任意のバージョン、任意の埋込みオペレーティング・システム、任意のリアルタイム・オペレーティング・システム、任意のオープン・ソース・オペレーティング・システム、任意のプロプライエタリ・オペレーティング・システム、又は、コンピューティング・デバイス上で実行し、本明細書で説明される動作を実施することが可能な任意の他のオペレーティング・システムなど、任意のオペレーティング・システム１０２６を実行することができる。例示的な実施例では、オペレーティング・システム１０２６は、ネイティブ・モード又はエミュレートされたモードで実行され得る。例示的な実施例では、オペレーティング・システム１０２６は、１つ又は複数のクラウド・マシン・インスタンス上で実行され得る。
【００８５】
図１３は、いくつかの分散型実施例の例示的な計算デバイス・ブロック図である。図１〜図１１、及び上記の例示的な説明の部分は、個々の又は共通のコンピューティング・デバイス上で各々動作する、倉庫管理システム１５、注文サーバ１４、及びゾーン・サーバを参照するが、倉庫管理システム１５、注文サーバ１４、及び／又はゾーン・サーバのうちのいずれか１つが、代わりに、別個のサーバ・システム１１０１ａ〜ｄにおいて、及び場合によっては、キオスク、デスクトップ・コンピュータ・デバイス１１０２、又はモバイル・コンピュータ・デバイス１１０３など、ユーザ・システムにおいて、ネットワーク１１０５にわたって分散され得ることを認識されよう。たとえば、注文サーバ１４及び／又はゾーン・サーバは、ロボット１８のタブレット４８の間で分散され得る。いくつかの分散型システムでは、倉庫管理システム・ソフトウェア、注文サーバ・ソフトウェア、及びゾーン・エンジンのうちのいずれか１つ又は複数のモジュールが、サーバ・システム１１０１ａ〜ｄ上に別個にあり得、ネットワーク１１０５にわたって互いと通信していることがある。
【００８６】
本発明の上記の説明は、当業者が、それの最良の形態であると現在見なされるものを製作及び使用することを可能にし、当業者は、本明細書の特定の実施例及び実例の変形形態、組合せ、及び等価物の存在を理解し、諒解する。本発明の上記で説明された実施例は、実例にすぎないものとする。本明細書に添付された特許請求の範囲によって単独で定義される、本発明の範囲から逸脱することなく、当業者によって特定の実施例に対して改変、変更及び変形が実施され得る。したがって、本発明は、上記で説明された実施例及び実例によって限定されない。
【００８７】
本発明及びその好ましい実施例について説明したが、新規のものとして特許請求され、特許証によって保護されるものは以下の通りである。
【図１】
2022501715.tif 000003
【図２Ａ】
2022501715.tif 000004
【図２Ｂ】
2022501715.tif 000005
【図３】
2022501715.tif 000006
【図４】
2022501715.tif 000007
【図５】
2022501715.tif 000008
【図６】
2022501715.tif 000009
【図７】
2022501715.tif 000010
【図８】
2022501715.tif 000011
【図９】
2022501715.tif 000012
【図１０】
2022501715.tif 000013
【図１１】
2022501715.tif 000014
【図１２】
2022501715.tif 000015
【図１３】
2022501715.tif 000016
【国際調査報告】
2022501715.tif 000017
2022501715.tif 000018