(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-17
(45)【発行日】2022-10-25
(54)【発明の名称】コンテキスト拡張マップ・レイヤを与えるためのゾーン・エンジン
(51)【国際特許分類】
G05D 1/02 20200101AFI20221018BHJP
【FI】
G05D1/02 J
(21)【出願番号】P 2021515212
(86)(22)【出願日】2019-09-19
(86)【国際出願番号】 US2019051826
(87)【国際公開番号】W WO2020061250
(87)【国際公開日】2020-03-26
【審査請求日】2021-04-28
(32)【優先日】2018-09-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519067275
【氏名又は名称】ローカス ロボティクス コーポレイション
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】ウィテカー、マシュー
(72)【発明者】
【氏名】パワーズ、ブラッドリー
(72)【発明者】
【氏名】ジョンソン、マイケル チャールズ
(72)【発明者】
【氏名】ジョンソン、ショーン
(72)【発明者】
【氏名】ムーア、トーマス
【審査官】川口 真一
(56)【参考文献】
【文献】国際公開第2017/173424(WO,A1)
【文献】特表2018-521371(JP,A)
【文献】特開2006-350601(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
B25J 5/00
(57)【特許請求の範囲】
【請求項1】
空間内のロボティック・ナビゲーションを規制するための前記空間内のコンテキスト・マッピング・ゾーンのための方法であって、前記方法は、
前記空間内に位置する
複数の基準マーカーによって、前記空間内のゾーンを定義するステップと、
ルールを前記ゾーンに関連付けるステップであって、前記ルールが、前記ゾーン内の1つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けるステップと、
前記ルールに従って前記ゾーン内の前記1つ又は複数のロボットを動作させるステップと
を含
み、
前記空間内の前記複数の基準マーカーの各々は、当該基準マーカーに対する相対位置を有するポーズと相関しており、前記相対位置は、前記空間によって定義される座標系の座標のセットによって表され、前記ゾーンの境界は、前記基準マーカーの各々に関連付けられた前記ポーズと交差しており、
前記複数の基準マーカーのうちの少なくとも1つの基準マーカーの再位置決め及び/又は再配向が検出されたことに応答して、前記再位置決め及び/又は再配向された少なくとも1つの基準マーカーに関連するポーズを自動的に更新し、前記空間内のゾーンの境界を、当該境界が前記再位置決め及び/又は再配向された前記少なくとも1つの基準マーカーの更新後のポーズに交差するように、当該更新後のポーズに基づいて自動的に再定義することを特徴とする、方法。
【請求項2】
前記ルールは、前記ゾーンがオープンであるのかクローズであるのか、前記ゾーンのタイプ、前記ゾーンの最大占有率、前記ゾーンの最大速度、前記ゾーンの交通流方向性、前記ゾーンに入るか又は前記ゾーン
にいるときの停止及び待機挙動、前記ゾーンの定義が動的に更新されたかどうか、前記ゾーンの満了、或いはそれらの組合せのうちの少なくとも1つを規定する、請求項1に記載の方法。
【請求項3】
前記関連付けるステップが、前記ゾーンを前記
複数の基準マーカー及び前記ルールと相関させるルックアップ表を生成するステップをさらに含む、請求項1に記載の方法。
【請求項4】
1つ又は複数の追加のルールを前記ゾーンに関連付けるステップであって、前記追加のルールが、前記ゾーン内の1つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けるステップと、
前記追加のルールに従って前記ゾーン内の前記1つ又は複数のロボットを動作させるステップと
をさらに含む、請求項1に記載の方法。
【請求項5】
前記追加のルールは、前記ゾーンがオープンであるのかクローズであるのか、前記ゾーンのタイプ、前記ゾーンの最大占有率、前記ゾーンの最大速度、前記ゾーンの交通流方向性、前記ゾーンに入るか又は前記ゾーンを出るときの停止及び待機挙動、前記ゾーンの定義が動的に更新されたかどうか、前記ゾーンの満了、或いはそれらの組合せのうちの少なくとも1つを規定する、請求項4に記載の方法。
【請求項6】
1つ又は複数の追加のルールを前記関連付けるステップが、前記ゾーンを前記
複数の基準マーカー、前記ルール、及び前記追加のルールと相関させるルックアップ表を生成するステップをさらに含む、請求項4に記載の方法。
【請求項7】
第2のゾーンに対する前記ゾーンの重複又は隣接のうちの少なくとも1つを検出するステップと、
前記ルールの値と、前記第2のゾーンの対応するルールの対応する値との間の競合を識別するステップと、
前記ゾーンと前記第2のゾーンとに共通の1つ又は複数の共有基準マーカーによって定義される重複ゾーンとの関連付けのために競合解消ルールを生成するステップと
をさらに含む、請求項1に記載の方法。
【請求項8】
前記競合解消ルールを前記生成するステップが、前記値と、前記対応する値とのうちの高い方又は低い方を選択するステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記競合解消ルールを前記生成するステップは、
前記値と、前記対応する値との間のターゲット値を定義するステップと、
付随する値許容差が、前記値と、前記対応する値の両方を包含するように、前記ターゲット値を前記付随する値許容差に関連付けるステップと
をさらに含む、請求項7に記載の方法。
【請求項10】
前記ロボット、倉庫管理システム、ユーザ、又は外部データ・ソースのうちの1つ又は複数から受信されたデータに応答して、前記ルールを自動的に変更するステップ、又は追加のルールを自動的に追加するステップのうちの少なくとも1つをさらに含む、請求項1に記載の方法。
【請求項11】
前記動作させるステップが、
前記1つ又は複数のロボットから中央コントローラに、前記空間内の前記1つ又は複数のロボットの位置を周期的に報告するステップと、
前記中央コントローラによって、前記ゾーン内の前記1つ又は複数のロボットの報告された位置決めに応答して、前記ルールによって規定されたように動作するように前記1つ又は複数のロボットに命令するステップと
をさらに含む、請求項1に記載の方法。
【請求項12】
前記空間内の前記1つ又は複数のロボットの前記位置が、前記少なくとも1つの基準マーカーを読み取ることによって決定されない、請求項
1に記載の方法。
【請求項13】
前記動作させるステップが、
前記1つ又は複数のロボットの各それぞれのロボットによって、前記空間内の前記ロボットの位置を周期的に検出するステップと、
前記ゾーン内の前記ロボットの位置決めを検出したことに応答して、前記ルールによって規定されたように前記ロボットを動作させるステップと
をさらに含む、請求項1に記載の方法。
【請求項14】
前記空間内の前記1つ又は複数のロボットの前記位置が、前記
複数の基準マーカーを読み取ることによって決定されない、請求項
13に記載の方法。
【請求項15】
空間内のロボティック・ナビゲーションを規制するための前記空間内のコンテキスト・マッピング・ゾーンためのシステムであって、前記システムが、
プロセッサと、
命令を格納するメモリと
を備え、前記命令は、前記プロセッサによって実行されたとき、前記システムに、
前記空間内に位置する
複数の基準マーカーによって、前記空間内のゾーンを定義することと、
ルールを前記ゾーンに関連付けることであって、前記ルールが、前記ゾーン内の1つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けることと、
前記ルールに従って前記ゾーン内の前記1つ又は複数のロボットを動作させることと
を行わせ
、
前記空間内の前記複数の基準マーカーの各々は、当該基準マーカーに対する相対位置を有するポーズと相関しており、前記相対位置は、前記空間によって定義される座標系の座標のセットによって表され、前記ゾーンの境界は、前記基準マーカーの各々に関連付けられた前記ポーズと交差しており、
前記複数の基準マーカーのうちの少なくとも1つの基準マーカーの再位置決め及び/又は再配向が検出されたことに応答して、前記再位置決め及び/又は再配向された少なくとも1つの基準マーカーに関連するポーズを自動的に更新し、前記空間内のゾーンの境界を、当該境界が前記再位置決め及び/又は再配向された前記少なくとも1つの基準マーカーの更新後のポーズに交差するように、当該更新後のポーズに基づいて自動的に再定義することを特徴とする、システム。
【請求項16】
前記メモリが、前記プロセッサによって実行されたとき、前記システムに、
前記メモリ中に、前記ゾーンを前記
複数の基準マーカー及び前記ルールと相関させるルックアップ表を生成すること
を行わせる命令をさらに格納する、請求項
15に記載のシステム。
【請求項17】
前記メモリは、前記プロセッサによって実行されたとき、前記システムに、
1つ又は複数の追加のルールを前記ゾーンに関連付けることであって、前記追加のルールが、前記ゾーン内の1つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けることと、
前記追加のルールに従って前記ゾーン内の前記1つ又は複数のロボットを動作させることと
を行わせる命令をさらに格納する、請求項
15に記載のシステム。
【請求項18】
前記メモリが、前記プロセッサによって実行されたとき、前記システムに、
前記メモリ中に、前記ゾーンを前記
複数の基準マーカー、前記ルール、及び前記追加のルールと相関させるルックアップ表を生成すること
を行わせる命令をさらに格納する、請求項
15に記載のシステム。
【請求項19】
前記メモリが、前記プロセッサによって実行されたとき、前記システムに、
前記ロボット、倉庫管理システム、ユーザ、又は外部データ・ソースのうちの1つ又は複数から受信されたデータに応答して、前記ルールを自動的に変更すること、又は追加のルールを自動的に追加することのうちの少なくとも1つ
を行わせる命令をさらに格納する、請求項
15に記載のシステム。
【請求項20】
前記空間内の前記1つ又は複数のロボットの位置が、前記
複数の基準マーカー
のいずれかを読み取ることによって決定されない、請求項
15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、参照により本明細書に組み込まれる、2018年9月19日に出願された米国特許出願第16/135,329号の優先権の利益を主張する。
【0002】
本発明は、ロボット・ナビゲーションを規制することに関し、より詳細には、ロボット・ナビゲーションを規制するためのコンテキスト拡張マップ・レイヤ(context-augmented map layer)を与えるためのゾーン・エンジンに関する。
【背景技術】
【0003】
インターネットを通じて宅配用に製品を注文することは、極めて普及している買物のやり方である。適時に、正確に、及び効率的な様式でそのような注文を履行することは、控えめに言っても物流的に難しい。バーチャル・ショッピング・カートの「精算する」ボタンをクリックすると「注文」が生じる。注文は、特定の宛先に出荷されるべきである品物のリスティングを含む。「履行」のプロセスは、大きい倉庫からこれらの品物を物理的に取ること又は「選出」することと、それらを包装することと、指定された宛先にそれらを出荷することとを伴う。したがって、注文履行プロセスの重要な目標は、できるだけ短い時間で、できるだけ多くの品物を出荷することである。
【0004】
注文履行プロセスは、一般に、注文にリストされたものを含む、多くの製品を含んでいる大きい倉庫内で行われる。したがって、注文履行の作業の中には、注文にリストされた様々な品物を見つけ、収集するために倉庫をあちこち動くことがある。加えて、最終的に出荷されることになる製品が、まず、倉庫内に受け入れられ、出荷のためにそれらが容易に取り出され得るように、倉庫全体にわたる整然とした様式で格納ビン中に格納されるか又は「配置」される必要がある。
【0005】
大きい倉庫では、配達及び注文されている商品が、倉庫内で、互いから極めて遠くに離れ、多数の他の商品の中で分散されて格納されることがある。商品を配置及び選出するために人間の作業者のみを使用する注文履行プロセスでは、作業者が多大な歩行を行うことを必要とし、非効率的で時間がかかることがある。履行プロセスの効率は、単位時間当たり出荷される品物の数の関数であるので、時間が増加すると効率が低下する。
【0006】
効率を増加させるために、人間の機能を実施するためにロボットが使用され得るか、又は人間の活動を補足するためにロボットが使用され得る。たとえば、ロボットは、倉庫全体にわたって分散された様々なロケーションにいくつかの品物を「配置」するために、又は包装及び出荷のために様々なロケーションから品物を「選出」するために割り当てられ得る。選出及び配置は、ロボットのみによって、又は人間の作業者の支援を受けて行われ得る。たとえば、選出動作の場合、人間の作業者は、棚から品物を選出し、それらをロボットに配置するか、又は配置動作の場合、人間の作業者は、ロボットから品物を選出し、それらを棚に配置するであろう。
【0007】
ロボットが、変動するサイズ及び交通負荷の空間において、人間の作業者と他のロボットの両方と一緒に並行して倉庫空間をナビゲートする限り、瞬時のロボット・ロケーションに応じて、衝突リスクが増加又は減少することがある。たとえば、注文履行動作中に、ロボットは、衝突リスクが最小である、広い、交通の少ない空間と、衝突リスクが高い、狭い、交通の多い空間との間でナビゲートし得る。さらに、構築、保守、ナビゲート可能でない障害物、ずらされた製品、パレット、ビン、又は棚、或いは他のそのような一時的又は永続的な妨げが、倉庫環境にもたらされる限り、ロボット・ナビゲーションは影響を受け得る。
【先行技術文献】
【特許文献】
【0008】
【文献】米国特許出願第15/807,672号
【文献】米国特許出願第15/254,321号
【発明の概要】
【課題を解決するための手段】
【0009】
本明細書では、ロボット・ナビゲーションを規制するためのコンテキスト拡張マップ・レイヤを与えるためのゾーン・エンジンのためのシステム及び方法が提供される。
【0010】
一態様では、空間内のロボティック・ナビゲーションを規制するための空間内のコンテキスト・マッピング・ゾーンのための方法が提供される。本方法は、空間内に位置する少なくとも1つの基準マーカーによって、空間内のゾーンを定義するステップを含む。本方法は、ルールをゾーンに関連付けるステップであって、ルールが、ゾーン内の1つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けるステップをも含む。本方法は、ルールに従ってゾーン内の1つ又は複数のロボットを動作させるステップをも含む。
【0011】
いくつかの実施例では、ルールは、ゾーンがオープンであるのかクローズであるのか、ゾーンのタイプ、ゾーンの最大占有率、ゾーンの最大速度、ゾーンの交通流方向性、ゾーンに入るか又はゾーンを出るときの停止及び待機挙動、ゾーンの定義が動的に更新されたかどうか、ゾーンの満了、或いはそれらの組合せのうちの少なくとも1つを規定する。いくつかの実施例では、関連付けるステップは、ゾーンを少なくとも1つの基準マーカー及びルールと相関させるルックアップ表を生成するステップをさらに含む。いくつかの実施例では、本方法は、1つ又は複数の追加のルールをゾーンに関連付けるステップであって、追加のルールが、ゾーン内の1つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けるステップをも含む。いくつかの実施例では、本方法は、追加のルールに従ってゾーン内の1つ又は複数のロボットを動作させるステップをも含む。いくつかの実施例では、追加のルールは、ゾーンがオープンであるのかクローズであるのか、ゾーンのタイプ、ゾーンの最大占有率、ゾーンの最大速度、ゾーンの交通流方向性、ゾーンに入るか又はゾーンを出るときの停止及び待機挙動、ゾーンの定義が動的に更新されたかどうか、ゾーンの満了、或いはそれらの組合せのうちの少なくとも1つを規定する。
【0012】
いくつかの実施例では、1つ又は複数の追加のルールを関連付けるステップは、ゾーンを少なくとも1つの基準マーカー、ルール、及び追加のルールと相関させるルックアップ表を生成するステップをさらに含む。いくつかの実施例では、本方法は、第2のゾーンに対するゾーンの重複又は隣接のうちの少なくとも1つを検出するステップをも含む。いくつかの実施例では、本方法は、ルールの値と、第2のゾーンの対応するルールの対応する値との間の競合を識別するステップをも含む。いくつかの実施例では、本方法は、ゾーンと第2のゾーンとに共通の1つ又は複数の共有基準マーカーによって定義される重複ゾーンとの関連付けのために競合解消ルールを生成するステップをも含む。いくつかの実施例では、競合解消ルールを生成するステップは、値と、対応する値とのうちの高い方又は低い方を選択するステップをも含む。いくつかの実施例では、競合解消ルールを生成するステップは、値と、対応する値との間のターゲット値を定義するステップをも含む。いくつかの実施例では、競合解消ルールを生成するステップは、付随する値許容差が、値と、対応する値の両方を包含するように、ターゲット値を付随する値許容差に関連付けるステップをも含む。
【0013】
いくつかの実施例では、本方法は、少なくとも1つの基準マーカーの検出された再位置決め及び/又は再配向に応答して、空間内のゾーンを自動的に再定義するステップをも含む。いくつかの実施例では、本方法は、ロボット、倉庫管理システム、ユーザ、又は外部データ・ソースのうちの1つ又は複数から受信されたデータに応答して、ルールを自動的に変更するステップ、又は追加のルールを自動的に追加するステップのうちの少なくとも1つをも含む。いくつかの実施例では、空間内の少なくとも1つの基準マーカーの位置が、空間によって定義される座標系の座標のセットによって表される。いくつかの実施例では、空間内の少なくとも1つの基準マーカーは、基準マーカーに対する相対位置を有するポーズと相関され、相対位置は、空間によって定義される座標系の座標のセットによって表される。いくつかの実施例では、ゾーンの境界が、ポーズによって少なくとも部分的に定義される。
【0014】
いくつかの実施例では、動作させるステップは、1つ又は複数のロボットから中央コントローラに、空間内の1つ又は複数のロボットの位置を周期的に報告するステップをさらに含む。いくつかの実施例では、動作させるステップは、中央コントローラによって、ゾーン内の1つ又は複数のロボットの報告された位置決めに応答して、ルールによって規定されたように動作するように1つ又は複数のロボットに命令するステップをさらに含む。いくつかの実施例では、空間内の1つ又は複数のロボットの位置は、少なくとも1つの基準マーカーを読み取ることによって決定されない。いくつかの実施例では、動作させるステップは、1つ又は複数のロボットの各それぞれのロボットによって、空間内のロボットの位置を周期的に検出するステップをさらに含む。いくつかの実施例では、動作させるステップは、ゾーン内のロボットの位置決めを検出したことに応答して、ルールによって規定されたようにロボットを動作させるステップをさらに含む。いくつかの実施例では、空間内の1つ又は複数のロボットの位置は、少なくとも1つの基準マーカーを読み取ることによって決定されない。
【0015】
別の態様では、空間内のロボティック・ナビゲーションを規制するための空間内のコンテキスト・マッピング・ゾーンのためのシステムが提供される。本システムは、プロセッサを含む。本システムは、命令を格納するメモリをも含み、命令は、プロセッサによって実行されたとき、本システムに、空間内に位置する少なくとも1つの基準マーカーによって、空間内のゾーンを定義することと、ルールをゾーンに関連付けることであって、ルールが、ゾーン内の1つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けることと、ルールに従ってゾーン内の1つ又は複数のロボットを動作させることとを行わせる。
【0016】
いくつかの実施例では、メモリは、プロセッサによって実行されたとき、本システムに、メモリ中に、ゾーンを少なくとも1つの基準マーカー及びルールと相関させるルックアップ表を生成することを行わせる命令をさらに格納する。いくつかの実施例では、メモリは、プロセッサによって実行されたとき、本システムに、1つ又は複数の追加のルールをゾーンに関連付けることであって、追加のルールが、ゾーン内の1つ又は複数のロボットの動作を少なくとも部分的に規定する、関連付けることと、追加のルールに従ってゾーン内の1つ又は複数のロボットを動作させることとを行わせる命令をさらに格納する。いくつかの実施例では、メモリは、プロセッサによって実行されたとき、本システムに、メモリ中に、ゾーンを少なくとも1つの基準マーカー、ルール、及び追加のルールと相関させるルックアップ表を生成することを行わせる命令をさらに格納する。いくつかの実施例では、メモリは、プロセッサによって実行されたとき、本システムに、少なくとも1つの基準マーカーの検出された再位置決め及び/又は再配向に応答して、空間内のゾーンを自動的に再定義することを行わせる命令をさらに格納する。いくつかの実施例では、メモリは、プロセッサによって実行されたとき、本システムに、ロボット、倉庫管理システム、ユーザ、又は外部データ・ソースのうちの1つ又は複数から受信されたデータに応答して、ルールを自動的に変更すること、又は追加のルールを自動的に追加することのうちの少なくとも1つを行わせる命令をさらに格納する。いくつかの実施例では、空間内の1つ又は複数のロボットの位置が、少なくとも1つの基準マーカーを読み取ることによって決定されない。一態様では、本発明は、のための方法を採用する。
【0017】
本発明のこれら及び他の特徴は、以下の発明を実施するための形態及び添付図から明らかであろう。
【図面の簡単な説明】
【0018】
【
図2A】
図1に示されている倉庫内で使用されるロボットのうちの1つのベースの正面図である。
【
図2B】
図1に示されている倉庫内で使用されるロボットのうちの1つのベースの斜視図である。
【
図3】アーマチュア(armature)を装備し、
図1に示されている棚の前に駐機された
図2A及び
図2B中のロボットの斜視図である。[0021]
【
図4】ロボット上のレーザー・レーダーを使用して作成された
図1の倉庫の部分マップである。
【
図5】倉庫全体にわたって分散された基準マーカーのロケーションを特定し、基準マーカー・ポーズを格納するためのプロセスを表すフロー・チャートである。
【
図6】基準識別子とポーズとのマッピングの表である。
【
図7】ビン・ロケーションと基準識別子とのマッピングの表である。
【
図8】製品SKUとポーズとのマッピング・プロセスを表すフロー・チャートである。
【
図9】複数のゾーンを有する注文履行倉庫の上面図である。
【
図10】対応するゾーン特性をもつ、ゾーンIDと基準IDとのマッピングの表である。
【
図11】重複するゾーン間の競合解消のための方法を示すフロー・チャートである。
【
図12】例示的なコンピューティング・システムのブロック図である。
【
図13】例示的な分散型ネットワークのネットワーク図である。
【発明を実施するための形態】
【0019】
添付の図面において説明及び/又は示され、以下の説明において詳述される非限定的な実施例及び実例を参照しながら、本開示並びに本開示の様々な特徴及び有利な詳細が、より十分に説明される。図面に示される特徴は、必ずしも、一定の縮尺で描かれているとは限らず、一実施例の特徴は、本明細書に明示的に記載されていない場合でも、当業者が認識するように他の実施例とともに採用され得ることに留意されたい。よく知られている構成要素及び処理技法の説明は、本開示の実施例を不必要に不明瞭にしないように、省略され得る。本明細書で使用される実例は、本開示が実施され得るやり方の理解を容易にし、さらに当業者が本開示の実施例を実施することを可能にするためのものにすぎない。したがって、本明細書の実例及び実施例は、本開示の範囲を限定するものと解釈されるべきではない。その上、類似の参照番号が、図面のいくつかの図の全体にわたって同様の部分を表すことに留意されたい。
【0020】
本発明は、ロボット・ナビゲーションを規制するためのコンテキスト拡張マップ・レイヤを与えるためのゾーン・エンジンを対象とする。特定のロボット適用例に制限されないが、本発明が使用され得る1つの好適な適用例は、注文履行である。この適用例でのロボットの使用は、ゾーン・エンジンのためのコンテキストを提供するために説明されるが、その適用例に限定されない。
【0021】
図1を参照すると、一般的な注文履行倉庫10が、注文に含まれ得る様々な品物で満たされた棚12を含む。動作中、倉庫管理サーバ15からの注文16の着信ストリームが、注文サーバ14に到達する。注文サーバ14は、特に、誘導プロセス中のロボット18への割当てのために、注文に優先度を付け、グループ化し得る。ロボットが、作業者によって処理ステーション(たとえばステーション100)において誘導されたとき、注文16は、実行のためにワイヤレスにロボット18に割り当てられ、通信される。注文サーバ14は、倉庫管理システム・サーバ15及び倉庫管理ソフトウェアと相互動作するように構成された個別ソフトウェア・システムをもつ別個のサーバであり得、又は注文サーバ機能性は、倉庫管理ソフトウェアに組み込まれ、倉庫管理サーバ15上で実行され得ることが、当業者によって理解されよう。
【0022】
好ましい実施例では、
図2A及び
図2Bに示されているロボット18が、レーザーレーダー22を有する自律型車輪付きベース20を含む。ベース20は、ロボット18が注文サーバ14及び/又は他のロボットから命令を受信することとそれらにデータを送信することとを可能にするトランシーバ(図示せず)と、デジタル光学カメラ24a及び24bのペアとをも採用する。ロボット・ベースは、自律型車輪付きベース20に電力供給するバッテリーを再充電するための電気充電ポート26をも含む。ベース20は、ロボットの環境を表す情報をキャプチャするためにレーザーレーダーとカメラ24a及び24bとからデータを受信するプロセッサ(図示せず)をさらに採用する。倉庫10内のナビゲーションに関連付けられた様々な作業を実行すること、並びに、
図3に示されているように、棚12に配置された基準マーカー30までナビゲートすることを行うために、プロセッサとともに動作するメモリ(図示せず)がある。基準マーカー30(たとえば2次元バー・コード)は、注文された品物のビン/ロケーションに対応する。本発明のナビゲーション手法が、
図4~
図8に関して以下で詳細に説明される。基準マーカーは、本発明の一態様による充電ステーションを識別するためにも使用され、そのような充電ステーション基準マーカーまでのナビゲーションは、注文された品物のビン/ロケーションまでのナビゲーションと同じである。ロボットが充電ステーションまでナビゲートすると、ロボットを充電ステーションとドッキングさせるためのより精密なナビゲーション手法が使用され、そのようなナビゲーション手法が以下で説明される。
【0023】
再び
図2Bを参照すると、ベース20は、品物を担持するために通い箱(tote)又はビンが格納され得る、上部表面32を含む。複数の交換可能なアーマチュア40のうちのいずれか1つを係合させる、連結器34も示されており、アーマチュア40のうちの1つが
図3に示されている。
図3中の特定のアーマチュア40は、品物を受け取る通い箱44を担持するための通い箱保持具42(この場合、棚)と、タブレット48(又はラップトップ/他のユーザ入力デバイス)を支持するためのタブレット保持具46とを採用する。いくつかの実施例では、アーマチュア40は、品物を担持するための1つ又は複数の通い箱を支持する。他の実施例では、ベース20は、受け取られた品物を担持するための1つ又は複数の通い箱を支持する。本明細書で使用される「通い箱」という用語は、限定はしないが、貨物保持具、ビン、かご、棚、品物をつるすことができるロッド、台車、木枠、ラック、スタンド、架台、容器、箱、缶、入れ物、及び置場を含む。
【0024】
ロボット18は、倉庫10を動き回ることにおいて優れているが、現在のロボット技術では、物体のロボット操作に関連した技術的困難により、ロボット18は、棚から迅速に及び効率的に品物を選出し、それらを通い箱44に配置することにおいてあまり良好でない。品物を選出する、より効率的な方法は、注文された品物を棚12から物理的に取り出し、それをロボット18、たとえば通い箱44に配置する作業を実行するために、一般に人間である局所作業者50を使用することである。ロボット18は、局所作業者50が読み取ることができるタブレット48(又はラップトップ/他のユーザ入力デバイス)を介して、又は局所作業者50によって使用されるハンドヘルド・デバイスに注文を送信することによって、注文を局所作業者50に通信する。
【0025】
ロボット18は、注文サーバ14から注文16を受信すると、たとえば
図3に示されているように、最初の倉庫ロケーションに進む。ロボット18は、メモリに格納され、プロセッサによって実行されるナビゲーション・ソフトウェアに基づいて、これを行う。ナビゲーション・ソフトウェアは、レーザーレーダー22によって収集された環境に関するデータと、特定の品物が見つけられ得る倉庫10内のロケーションに対応する基準マーカー30の基準識別子(「ID」)を識別するメモリ中の内部表と、ナビゲートするためのカメラ24a及び24bとに頼る。
【0026】
ロボット18は、正しいロケーション(ポーズ)に達すると、品物が格納された棚12の前にそれ自体を駐機し、局所作業者50が棚12から品物を取り出し、それを通い箱44に配置するのを待つ。ロボット18が、取り出すべき他の品物を有する場合、ロボット18はそれらのロケーションに進む。次いで、ロボット18によって取り出された(1つ又は複数の)品物は、
図1の処理ステーション100に配達され、それらは包装され、出荷される。処理ステーション100は、この図に関して、ロボットを誘導すること及び荷下ろし/包装することが可能であるものとして説明されたが、処理ステーション100は、ロボットが、ステーションにおいて誘導されるか又は荷下ろし/包装されるかのいずれかであるように、すなわち、ロボットが、単一の機能を実施するように制限され得るように、構成され得る。
【0027】
各ロボットが1つ又は複数の注文を履行していることがあり、各注文が1つ又は複数の品物からなり得ることが、当業者によって理解されよう。一般に、効率を増加させるために、何らかの形態のルート最適化ソフトウェアが含まれることになるが、これは、本発明の範囲外であり、したがって、本明細書では説明されない。
【0028】
本発明の説明を簡略化するために、単一のロボット18及び作業者50が説明される。ただし、
図1から明らかであるように、一般的な履行動作は、絶え間なく続く注文に応じるために、倉庫内で互いの間で働く多くのロボット及び作業者を含む。
【0029】
本発明のベースラインナビゲーション手法、並びに取り出されるべき品物のSKUと、品物がある倉庫内の基準マーカーに関連付けられた基準ID/ポーズとの意味マッピング(semantic mapping)が、
図4~
図8に関して以下で詳細に説明される。
【0030】
1つ又は複数のロボット18を使用して、倉庫10のマップが作成されなければならず、倉庫全体にわたって分散された様々な基準マーカーのロケーションが決定されなければならない。これを行うために、ロボット18のうちの1つ又は複数が、倉庫をナビゲートしているとき、そのレーザーレーダー22並びに同時位置特定及びマッピング(SLAM:simultaneous localization and mapping)を利用して、
図4のマップ10aを構築/更新し、これは、未知環境のマップを構築又は更新する計算上の問題である。普及しているSLAM近似解法は、粒子フィルタ及び拡張カルマン・フィルタを含む。SLAM GMapping手法は好ましい手法であるが、任意の好適なSLAM手法が使用され得る。
【0031】
ロボット18は、そのレーザーレーダー22を利用して、ロボット18が空間全体にわたって移動し、レーザーレーダーが環境を走査するときに受け取る反射に基づいて、空間内のオープン空間112、壁114、物体116、及び棚12などの他の静的障害物を識別するとき、倉庫10のマップ10aを作成する。
【0032】
マップ10aを構築している(又はマップ10aをその後更新している)間、1つ又は複数のロボット18は倉庫10中をナビゲートし、カメラ26を使用して環境を走査し、品物が格納された
図3の32及び34などのビンに近接した棚上の、倉庫全体にわたって分散された基準マーカー(2次元バー・コード)のロケーションを特定する。ロボット18は、原点110など、基準のための知られている開始点又は原点を使用する。
図3及び
図4の基準マーカー30などの基準マーカーのロケーションが、ロボット18によってそのカメラ26を使用して特定されたとき、原点110に対する倉庫内のロケーションが決定される。
【0033】
ホイール・エンコーダ及び方位センサーの使用によって、ベクトル120と、倉庫10内のロボットの位置とが決定され得る。基準マーカー/2次元バーコードのキャプチャされた画像と、その知られているサイズとを使用して、ロボット18は、基準マーカー/2次元バーコードのロボットに対する配向及びロボットからの距離、すなわちベクトル130を決定することができる。ベクトル120及び130が知られれば、原点110と基準マーカー30との間のベクトル140が決定され得る。ベクトル140と、ロボット18に対する基準マーカー/2次元バーコードの決定された配向とから、基準マーカー30に対する四元数(x,y,z,ω)によって定義されるポーズ(位置及び配向)が決定され得る。
【0034】
基準マーカーロケーション特定プロセスについて説明する
図5のフロー・チャート200が説明される。これは、初期マッピング・モードで実施され、ロボット18が、選出すること、配置すること及び/又は他の作業を実施している間に、倉庫内で新しい基準マーカーに遭遇したとき実施される。ステップ202において、ロボット18は、カメラ26を使用して画像をキャプチャし、ステップ204において、キャプチャされた画像内で基準マーカーを探索する。ステップ206において、基準マーカーが画像中で見つけられた場合(ステップ204)、その基準マーカーが、ロボット18のメモリ34中にある
図6の基準一覧表300にすでに格納されているかどうかが決定される。基準情報がすでにメモリに格納されている場合、フロー・チャートは、別の画像をキャプチャするためのステップ202に戻る。その基準情報がメモリにない場合、上記で説明されたプロセスに従ってポーズが決定され、ステップ208において、その基準情報は、基準対ポーズのルックアップ表300に追加される。
【0035】
各ロボットのメモリに格納され得るルックアップ表300中に、各基準マーカーについて、基準識別子、1、2、3などと、各基準識別子に関連付けられた基準マーカー/バー・コードのポーズとが含まれる。ポーズは、配向とともに倉庫内のx,y,z座標からなるか、又は四元数(x,y,z,ω)からなる。
【0036】
同じく各ロボットのメモリに格納され得る
図7の別のルックアップ表400中に、特定の基準ID404、たとえば数「11」に相関された倉庫10内のビン・ロケーション(たとえば402a~402f)のリスティングがある。ビン・ロケーションは、この実例では7つの英数文字からなる。最初の6文字(たとえばL01001)は、倉庫内の棚ロケーションに関係し、最後の文字(たとえばA~F)は、棚ロケーションにおける特定のビンを識別する。この実例では、基準ID「11」に関連付けられた6つの異なるビン・ロケーションがある。各基準ID/マーカーに関連付けられた1つ又は複数のビンがあり得る。
【0037】
英数字のビン・ロケーションは、品物が格納された倉庫10内の物理的ロケーションに対応するものとして、人間、たとえば
図3の作業者50にとって理解可能である。しかしながら、英数字のビン・ロケーションはロボット18にとって意味がない。基準IDにロケーションをマッピングすることによって、ロボット18は、
図6の表300の情報を使用して基準IDのポーズを決定し、次いで、本明細書で説明されるようにポーズにナビゲートすることができる。
【0038】
本発明による注文履行プロセスが、
図8のフロー・チャート500に表されている。ステップ502において、倉庫管理システム15から、注文サーバ14は、取り出されるべき1つ又は複数の品物からなり得る注文を取得する。注文割当てプロセスは、かなり複雑であり、本開示の範囲を越えることに留意されたい。1つのそのような注文割当てプロセスは、その全体が参照により本明細書に組み込まれる、2016年9月1日に出願された、「Order Grouping in Warehouse Order Fulfillment Operations」と題する、同一出願人が所有する米国特許出願第15/807,672号に記載されている。また、ロボットは、単一のロボットが、ビン又はコンパートメントごとに1つずつ、複数の注文を実行することを可能にする通い箱アレイを有し得ることに留意されたい。そのような通い箱アレイの実例は、その全体が参照により本明細書に組み込まれる、2016年9月1日に出願された、「Item Storage Array for Mobile Base in Robot Assisted Order-Fulfillment Operations」と題する、米国特許出願第15/254,321号に記載されている。
【0039】
引き続き
図8を参照すると、ステップ504において、倉庫管理システム15によって品物の(1つ又は複数の)SKU番号が決定され、ステップ506において、(1つ又は複数の)SKU番号から(1つ又は複数の)ビン・ロケーションが決定される。次いで、注文に関するビン・ロケーションのリストがロボット18に送信される。ステップ508において、ロボット18はビン・ロケーションを基準IDに相関させ、ステップ510において、基準IDから各基準IDのポーズが取得される。ステップ512において、ロボット18は、
図3に示されているようにそのポーズにナビゲートし、作業者は、取り出されるべき品物を適切なビンから選出し、それをロボットに配置することができる。
【0040】
倉庫管理システム15/注文サーバ14によって取得された、SKU番号及びビン・ロケーションなどの品物固有情報は、ロボット18上のタブレット48に送信され得、それにより、作業者50は、ロボットが各基準マーカー・ロケーションに到達したときに取り出されるべき特定の品物を通知され得る。
【0041】
SLAMマップ及び基準IDのポーズが知られれば、ロボット18は、様々なロボット・ナビゲーション技法を使用して、基準IDのうちのいずれか1つに容易にナビゲートすることができる。好ましい手法は、倉庫10内のオープン空間112、及び壁114、棚(棚12など)及び他の障害物116の知識を与えられて、基準マーカー・ポーズへの初期ルートを設定することを伴う。ロボットがそのレーザー・レーダー26を使用して倉庫をあちこち動き始めたとき、ロボットは、固定の障害物、或いは他のロボット18及び/又は作業者50などの動的障害物のいずれかがその経路にあるかどうかを決定し、基準マーカーのポーズへのその経路を繰り返し更新する。ロボットは、障害物を避けながら最も効率的及び効果的な経路を常に探索して、約50ミリ秒ごとにそのルートを再計画する。
【0042】
本明細書で両方とも説明される、SLAMナビゲーション技術と組み合わせられた製品SKU/基準IDと基準ポーズとのマッピング技法を用いて、ロボット18は、倉庫内のロケーションを決定するためのグリッド線及び中間基準マーカーを伴う、一般に使用されるより複雑なナビゲーション手法を使用する必要なしに、極めて効率的及び効果的に倉庫空間をナビゲートすることが可能である。
【0043】
上記で説明されたように、複数のロボットが、人々、機器、及び他の障害物と一緒に空間内の変動するゾーンをナビゲートすることによって起こり得る問題は、衝突及び/又は交通渋滞のリスクを提示することがある。ロボット・ナビゲーションの動的ゾーン・ベース規制は、ゾーン・エンジンによって与えられるコンテキスト拡張マップ・レイヤによって実施され得る。ゾーン・エンジンは、いくつかの実施例では、倉庫管理システム15又は注文サーバ14のモジュールであり得、いくつかの実施例では、独立したゾーン・サーバ又はシステムにおいて実装され得る。ゾーン・エンジンは、SLAMマップに対応するコンテキスト拡張マップ・レイヤ(CAML)を与えるために使用され、ナビゲーション空間をあちこち動く際に使用するためにロボット18のメモリ内に格納される。CAMLは、複数の動的に定義可能なゾーンを含むことができ、その各々が、それぞれのゾーン内のロボットによる観測のための1つ又は複数のナビゲーション・ルールに関連付けられる。最高レベルにおいて、以下でより詳細に説明されるように、ナビゲーション・ルールは、2つのカテゴリー、すなわち、1)ロボット18が入ること及びあちこち動くことを許可される、「オープン」又はナビゲート可能なゾーンと、2)ロボット18があちこち動くこと又は入ることを許可されない、「クローズ」又は「立入禁止(nogo)」ゾーンとにおいて定義され得る。他の規制、及び各ゾーンに対応する制約は、たとえば、速度限度、速度最小値、進行方向に関する限定、最大占有制限、停止及び待機要件、又はナビゲーション空間(たとえば、倉庫10)内のロボット・ナビゲーション及び進行に関する任意の他の規制又は限定を含むことができる。さらに、ゾーンは、規制/限定のカスタム構成されたセットを与えられ得るのか、或いは、ゾーンは、たとえば、立入禁止ゾーン、通路ゾーン、一方向ゾーン、ドッキング・ゾーン、待ち行列ゾーン、ポーズ・ゾーン、又は任意の他の好適な事前構成されたカテゴリーなどの1つ又は複数の事前構成されたカテゴリーに割り当てられ得るかのいずれかである。さらに、ゾーンは、永続的(たとえば、ゾーンは、ユーザがCAMLからそのゾーンを削除するまで、確立されたままである)又は一時的(たとえば、ゾーンは、所定の時間の後に、或いは指定されたエリアからの1つ又は複数の基準点又は物体の再位置決め又は削除時に、満了する)であり得る。
【0044】
より一般的には、CAMLの目的は、上記で説明されたロボット18によって使用されるナビゲーション(SLAM)マップに、メタ情報のフレキシブル・レイヤを追加することである。そのような動的な、ゾーン・ベース・ナビゲーション規制を組み込むことによって、ロボット18は、それらのロケーションのコンテキストに基づいて適切に動作することが可能である。いくつかの実施例では、これは、CAMLが、マップを効果的に「マーク・アップ」し、ゾーン又は領域が、ゾーンの定義された境界内のロボットの挙動に影響を及ぼす特性に関連付けられるので、達成される。
【0045】
概して、境界点を囲むためのゾーン境界は、各境界点の位置と、それに関連付けられたバッファ・ゾーン(たとえば、基準マーカーとそれに関連付けられたポーズとの間の間隔)とを組み合わせることによって計算され得る。次いで、必要に応じて、膨張、収縮、又はスキューイング特性が、計算された境界ジオメトリに適用され得る。基準マーカーがサイト「占有グリッド」(SLAM)マップ上にすでに所在するいくつかの実施例では、基準マーカーを囲むエリアは、基準の「前方の(in-front)」エリア(すなわち、そこから基準が可視である)と基準の背後のエリアとの方向性を決定するために分析され得、基準の背後のエリアは、通常、棚又はビンなど、何らかの固体の及び通過できない障害物である。いくつかの実施例では、簡単のために及びゾーンを定義する際の自動化を可能にするために、ゾーンを定義する境界点を与えるために基準のセットが使用されるとき、境界点基準が互いに「面している(facing)」場合、境界は、基準間の空間を囲むように引かれ、したがって、定義されたゾーンとしてクリア空間(clear-space)「通路」をキャプチャすることができる。境界点基準が互いに背いている(facing away)とき、境界は、定義された立入禁止ゾーンとして、基準がその上に取り付けられる物理的構造(たとえば、棚、ビンなど)を代わりに囲むことができる。いくつかの実施例では、より複雑な境界が生成され得、基準の配向及びそれらの個々のゾーン中の物理的構造の存在は、より複雑なジオメトリを必要とする。たとえば、いくつかの実施例では、複数の通路にわたるゾーンが、関連するクリア空間ゾーン及び占有空間ゾーンに自動的に分解され得る。いくつかの実施例では、そのような分解は、ロボティック・システムの内部で実施され、したがって、ゾーンを定義することを担当するユーザ又はプログラマーにとって透過的に実施され得る。
【0046】
概して、ゾーン・エンジン・システムは、ゾーン定義を使用してコンテキスト拡張マップ・レイヤを与えることができ、ゾーン定義は、より大きいグリッド・マップ上のデカルト基準系(Cartesian frame of reference)に最終的にマッピングされるが、境界点基準マーカーの位置決めに基づいてより高いレベルにおいて定義され得る。有利には、そのようなより高いレベルのゾーン定義を与えることによって、いくつかの実施例では、ゾーン境界は、必要に応じて自動的に再計算され得る。したがって、後続マップ又はマップ更新上で、基準境界点位置が変化した場合、ゾーンを自動的にリロケートし、ユーザ関与なしにゾーンの寸法を改変することが可能である。これは、たとえば、(1つ又は複数の)基準が、隣接する通路に移動された場合、境界の小さい変化から空間内の境界の完全な再位置決めに及び得る。特に、そのような構成は、境界点基準マーカーに従ってゾーンを定義すること以外に、人間の対話を必要とすることなしのゾーンの自動的な再構築及び変更を可能にする。これは、ゾーンがデカルト基準系においてユーザ・レベルで定義された場合よりも、はるかによりフレキシブルで動的なシステムを可能にする。
【0047】
いくつかの実施例では、ゾーンが、特定のサイト・マップのための原点に基づく固定デカルト座標を使用して少なくとも部分的に定義され得ることは、本開示に鑑みて明らかであろう。しかしながら、そのような手法は、境界点基準マーカーを使用することよりも、フレキシブルでなく、基準マーカーが利用可能でない場合、及び/又はゾーンがサイトの物理的インフラストラクチャに強く結合され、したがって経時的に移動することが予想されない場合のみ、望ましい。
【0048】
図9は、1つ又は複数のゾーン901、903、905、907を有する例示的なナビゲーション空間900(たとえば、倉庫10)を示す。各ゾーンは、1つ又は複数の境界点901a~b、903a~d、905a、及び907a~dによって定義され、各境界点は、ナビゲーション空間900内の基準マーカー30のうちの1つに対応し得る。特に、各ゾーン901、903、905、907は、0~n個の境界点のセット901a~b、903a~d、905a、及び907a~dによって定義され得る。
【0049】
境界点901a~b、903a~d、905a、及び907a~dは各々、倉庫内に存在する基準マーカー30及び/又は相関するポーズ・ロケーションに対応し、それにより、ゾーンのジオメトリを少なくとも部分的に定義する。特に、上記で説明されたように、各基準マーカー30は、ポーズと相関させられ得、これは、ポーズに関連付けられた基準マーカー30に対するナビゲーション空間900内の位置及び配向を含むことができる。さらに、上記で説明されたように、基準マーカー30とポーズとの間の相関は、ナビゲーション空間900中のロボット18のナビゲーションを援助し、選出、充電、又は他のロボット18活動を容易にする。したがって、境界点901a~b、903a~d、905a、及び907a~dの各々を基準マーカー30及び/又はポーズと対応させることは、有利には、上記で説明されたように、たとえば、基準マーカー30及び/又はポーズの移動に応答してゾーンの自動的な、動的な、フレキシブル再構成を与える。さらに、境界点901a~b、903a~d、905a、及び907a~dとポーズとが、基準マーカー30に相関させられるので、すべての3つのロケーション及び配向データ・セットは、すでに記述され、ナビゲーション・システムに構築されており、互いに対して動的に更新することになる。したがって、変化(たとえば、基準マーカー30の再位置決め)があれば、別々にすべての3つのデータ・セット(基準マーカー、ポーズ、及び境界点)を更新する非効率的な、エラーを起こしやすいプロセスを必要とするのではなく、システム全体にわたる更新を自動的にプッシュすることができる。
【0050】
ゾーン境界点901a~b、903a~d、905a、及び907a~dが決定されると、次いで、最終ゾーン・ジオメトリは、それらの境界点901a~b、903a~d、905a、及び907a~dに関する幾何学的制約を付与することによって、影響を及ぼされ得る。概して、ゾーン・ジオメトリは、任意の好適なやり方で決定され得る。たとえば、ゾーンは、2つ又はそれ以上の境界点によって形成されたエッジから1つ又は複数の方向に延びることができ、円形又は多角形ゾーンを定義するために単一の境界点を囲むように外側に延びることができ、3つ又はそれ以上の境界点によって定義される外周内のゾーンを形成することができ、及び/又は、3つ又はそれ以上の境界点によって定義される外周の少なくとも一部分から外へ延びることができる。各場合において、たとえば、ゾーンがポイント又はエッジから延びる距離、特定のゾーンの形状(たとえば、円形又は多角形)、並びに/又は1つ又は複数のエッジの形状(たとえば、凸状、凹状、直線)など、さらなる定義が与えられ得る。
【0051】
たとえば、
図9に示されているように、フリーウェイ・ゾーン901は、境界点901aと境界点901bとの間に形成されたエッジ902から倉庫10の壁(又は他の永続的構造)のほうへ延びる。
図9に示されているように、フリーウェイ・ゾーン901は、実際の選出及び格納棚12の外部の比較的広い道路に沿って確立される。十分な空間があり、フリーウェイ・ゾーン901での人間及びロボット交通の可能性がより低いので、フリーウェイ・ゾーン901内のロボット18がフル速度で動作しながら二方向進行に関与することは、妥当であり得る。
【0052】
図9にさらに示されているように、いくつかの実施例では、一方向ゾーン903が与えられ得る。
図9に示されているように、一方向ゾーンは、たとえば、(たとえば、境界点903a~d間に形成されたゾーン903の場合のように)コーナー境界点によって定義された外周の内部であり得る。一方向ゾーン903は、たとえば、二方向ロボット交通が衝突の過大なリスクなしに実現不可能である、2つの接近して位置する棚12間の狭い通路などの比較的狭い及び/又はより速い交通エリアであり得る。したがって、
図9に示されているように、一方向ゾーン903は、ロボット18が、境界点903aと境界点903bとの間に延びる第1のエッジ904aにおいて入り、境界点903cと境界点903dとの間に延びる第2のエッジ904bにおいて出ることによってのみゾーンをあちこち動くことができるように、CAML中で制約され得る。さらに、たとえば、一方向ゾーン903などの狭い、混雑したゾーンは、人間の選出者(picker)及びロボット18が同様に、それること又は停止することなどの衝突回避活動に関与するための追加の時間を与えるために、低減された速度限度をさらに課し得る。いくつかの実施例では、一方向ゾーン903は、ゾーン903内の込み合いを緩和するために最大占有制限を含むことができる。
【0053】
また、
図9に示されている、充電ゾーン905は、1つ又は複数の充電ステーションを囲む円形ゾーン形状を形成するために、単一の境界点905aから延びる所定の半径を指定することができる。代替的に、いくつかの実施例では、ゾーン形状は、たとえば、矩形、正方形、他の多角形、楕円、又は他の好適な形状、又はそれらの組合せなど、境界点905aを囲む任意の好適な形状として規定され得る。ロボット18が周期的に再充電される必要があるので、充電ステーションのバンクは、一般に、高いロボット交通を経験し得る。したがって、充電ゾーン905は、比較的低い速度限度を含み得る。さらに、上記で説明されたように、いくつかの実施例では、ロボット18が充電ステーションに接近するにつれて、ロボットを充電ステーションにドッキングさせるために必要とされるより微細な位置調整を与えるために、より精密なナビゲーション手法がアクティブにされ得る。たとえば、いくつかの実施例では、充電ゾーン905内では、高精度操作(たとえば、ロボット18と充電ステーションとの間のドッキング)のために使用される局所(x、y、z、ω)座標が、通常のナビゲーションのために使用されるものよりも微細なロボット18の位置調整を与えるように、より粒度の細かい局所座標系が与えられ得る。
【0054】
図9に示されているような障害物回避ゾーン907が、いくつかの実施例では、クローズとして定義され、境界点907a~dによって定義される外周内に占有され得る。いくつかの実施例(図示せず)では、障害物回避ゾーンは、外周を少なくとも部分的に囲む迂回経路をさらに定義することができ、迂回経路は外周の1つ又は複数のエッジから外へ延びる。そのような実施例では、障害物回避ゾーンは、外周内でのロボット・ナビゲーションを禁止し、迂回経路に沿って外周の周りをあちこち動くことを必要とする、ナビゲーション・ルールを含むことができる。
【0055】
次に
図10を参照すると、ゾーン特性ルックアップ表950は、各ロボット18のメモリに格納され得、ルックアップ表950は、倉庫10などのナビゲーション空間900内の各ゾーン901、903、905、及び907のリスティングを含む。各ゾーン901、903、905、及び907は、表において、そのそれぞれのゾーン901、903、905、及び907に関連付けられた境界点901a~b、903a~d、905a、及び907a~dとして識別される特定の基準ID4~14に相関される。
【0056】
上記で説明されたように、複数の特性及び/又はナビゲーション規制/制約が、定義されたゾーンに関連付けられ、そのうちのいくつかは強制であり得、そのうちのいくつかは随意であり得る。概して、強制であるのか随意であるのかにかかわらず、ゾーンは、相互排他的な特性を適用することを回避するように定義されるべきである。たとえば、ゾーンは、オープンとクローズの両方であることができない。すべてのゾーンに割当て可能な強制特性の実例は、ゾーン・タイプ、最大占有率、及び最大速度限度を含むことができる。随意のゾーン特性の実例は、交通流(たとえば、一方向又は二方向交通、入口点及び出口点)、停止及び待機、動的更新、及び満了を含むことができる。概して、タイプは、定義されているゾーンのカテゴリー又はタイプ(たとえば、オープン、クローズ、立入禁止、通路、キュー、ドック、又はカスタム)を識別する。各タイプは、デフォルト特性設定の特定のセットを含み得、これは、固定であり得るか、或いはユーザによって部分的に又は完全に編集可能であり得る。さらに、各タイプは、強制及び/又は随意の特性の異なるセットを含み得る。
【0057】
再び
図10のゾーン特性ルックアップ表950を参照すると、表950は、特性ゾーンID、境界点ID、オープン/クローズ、ゾーン・タイプ、最大占有率、最大速度、交通流、停止及び待機、動的な更新、及び満了を含む。
図10に示されているように、すべてのゾーン・タイプが、すべての特性を含むとは限らない。たとえば、一方向ゾーンのみが、交通流特性における値を含む。これらの特性は、以下でより詳細に説明される。
【0058】
オープン/クローズ特性は、特定のゾーンが、ナビゲート可能であるのか、ロボット入口に関してクローズであるのかを規定する。さらに、ゾーンがクローズとして定義されるとき、ゾーンが物理障壁のためにクローズであるのか、原則として依然としてナビゲート可能であるのかを示すように、追加の「占有」特性(“occupation” property)が設定されなければならない。物理障壁と仮想障壁とを区別することによって、システムは、緊急応答の場合に適切な命令を与えることができる。たとえば、ロボットが、クローズ・ゾーンに配置されるか、又はクローズ・ゾーン中に不注意にナビゲートし得る。そのようなシナリオでは、ロボット18は、立入禁止に違反しないようにゾーンを離れることを試みるべきなのか、又は同じところにとどまり、潜在的危険を回避すべきなのかに関する命令を与えられる必要がある。そのような決定は、占有特性を参照しながら行われ得、その結果、ロボットは、占有されていないクローズ・ゾーンをできるだけ迅速に及び効率的に離れることができるが、ロボットは、障害物又は危険を回避するように、占有されたクローズ・ゾーン内に静止したままであり得る。
【0059】
最大占有特性は、どの時点においてもゾーン中で許可されるロボット18の最大数、又は、代替的に、ロボットと人間との最大組合せ数を規定する。衝突及び渋滞低減に加えて、最大占有限度を有するゾーンは、プランニングのためのより高いレベルの案内を与えることができ、その結果、ルート・プランニング及び/又は最適化システムは、ロボット18を、別のロケーションへの通過中にそのようなゾーンを通ってルーティングすることを嫌う。したがって、システムは、通過するロボットのクラスタが、一般に高い使用率のゾーン(たとえば、ゾーン内で品物が頻繁に選出される)となるものの内部で渋滞を生じることを回避することができる。
【0060】
最大速度特性は、ゾーン内で動作するロボット18についての最大許容速度を規定する。最大ロボット動作速度は、たとえば、より慎重な扱いを要するゾーン・タイプ(たとえば、キュー又はドック)において、或いは、より多い歩行交通(foot traffic)、より密な空間を有するエリア、又は場合によっては高速動作に不適当であるエリアにおいて速度を低減するために、限定され得る。代替的に、最大速度はまた、より高い速度が達成及び維持され得る「フリーウェイ」ゾーンをロボットが利用することを可能にするために、極めて高く設定され得る。いくつかの実施例では、フリーウェイ・ゾーンは、別個のゾーン・タイプとして構築され得る。しかしながら、いくつかの実施例では、フリーウェイ・ゾーンは、別個のタイプであるのではなく、代わりに高い最大許容速度によって暗示され得ることが、本開示に鑑みて明らかであろう。そのようなフリーウェイ・ゾーンは、たとえば、選出がかなりの進行距離だけ離間したより大きいサイト、及び最後にその距離の一部分が直線の広い通路に沿って進行され得るより大きいサイトにおいて有利である。同様に、選出作業から荷下ろしキュー、誘導キュー、又は充電ドックまで進行することが、かなりの進行距離を必要とすることがあり、フリーウェイ・ゾーンの使用によって迅速化され得る。
【0061】
交通流特性は、ゾーン内の進行の方向性を規定することができる。流れ特性は、いくつかの実施例では、
図10の表に示されているように、ゾーンに関連付けられたエッジIDリストのペアを識別することによって確立され得る。概して、第1のエッジIDリストは、ゾーンについての許容される「入口エッジ」を指定することができ、第2のエッジIDリストは、許容される「出口エッジ」を指定することができる。所望の入口エッジと、対応する出口エッジとが、ロボット18によって選択されると、たとえば、両方のエッジの中心を接続することによって、方向ベクトルが決定され得る。
【0062】
いくつかの実施例では、流れは、方向特性と付随する許容差特性値とによって決定され得る。方向特性は、ゾーンの全体的配向に対するロボット進行ベクトルのターゲット角度として表され得る。付随する許容差特性値は、ターゲット方向特性からの許容できる角度偏差を示すことができる。付随する許容差特性値を方向特性と組み合わせることによって、許容できるゾーン内(in-zone)進行角度の範囲が、決定され得る。たとえば、+/-5°の付随する許容差特性値を有する-90°の方向特性値の場合、ゾーン内の許容できるロボット進行ベクトルは、-85°から-95°の間にわたることができる。
【0063】
停止及び待機特性は、ゾーンに入るか又はゾーンを出るためにエッジを横断する前の特定のゾーンの1つ又は複数のエッジにおける、ロボットによる停止及び待機挙動を規定することができる。停止特性自体は、いくつかの実施例では、停止の持続時間、又は前進が再開することができる前に満たされなければならない進入条件(go condition)など、関連付けられた特性を含み得る。停止特性は、たとえば、メイン通路と棚(shelving)通路との間の交差部において使用され得る。そのような実施例では、ロボット18は、交差するエッジにおいて停止し、ロボットの規定の近傍度内に接近するロボット又は人間交通がないことを検証するために走査を実施することを必要とされるであろう。走査がクリアである場合、ロボット18は進むことができ、走査が、接近する交通を検出した場合、ロボットは、規定の時間期間待機し、次いで、再走査し、交差部がクリアになるまで繰り返さなければならない。
【0064】
動的更新特性は、ゾーンの現在のロケーション、サイズ、及び形状が、元のユーザ定義されたゾーンに一致するかどうか、又はゾーンがシステムによって動的に更新されたかどうかを識別する。たとえば、ゾーンに関連付けられた基準マーカー境界点のうちの1つ又は複数が、倉庫内の新しい物理的ロケーションに移動された場合、その新しいロケーションは、SLAMマップ更新中に検出され、したがって、基準マーカー境界点のロケーションを自動的に更新し、ゾーンのサイズ、形状、及びロケーションへの対応する更新を生じる。したがって、動的更新特性は、ユーザ定義のゾーンが更新されたか否かを追跡し、それにより、ユーザは、そのような変化を通知されるか、又はそれらを照会することができる。
【0065】
満了特性は、このゾーンがゾーン・サーバによって自動的に削除されるか又は再構成されるまでの残りの時間を規定する。たとえば、スケジュールされた保守のためにブロックされた通路は、スケジュールされた保守が完了するまでの規定の時間期間の間のみブロックされることが予想され得る。そのような実施例では、保守ゾーンはクローズ・ゾーンとして一時的に定義され、指定された時間期間が満了した後、ゾーンは再びオープンにされ得る。規定の時間は、いくつかの実施例では、倉庫管理システムに格納された保守スケジュールなどの他のシステム知識/イベントに基づき得る。別の実例では、こぼれたものにより滑べりやすいエリアは、規定の時間数内に掃除されることが予期され得る。いくつかの実施例では、満了特性は、たとえば、1つ又は複数のロボット18、倉庫管理システム、ユーザ、又は他のデータ・ソース(たとえば、こぼれたものがまだ掃除されていないことを示すロボット)によって与えられたデータに応答して、動的に更新又はリセットされ得る。
【0066】
いくつかの実施例では、特定のゾーンに関連付けられた任意の追加の制約及び/又は規制を記述するために、追加の特性が追加され得ることが、本開示に鑑みて明らかである。どの特性も、1つ又は複数のロボット18、倉庫管理システム、ユーザ、或いは、たとえば、インターネット、サプライヤ・データベース、顧客データベース、又は他の好適なデータ・ソースなどの他のデータ・ソースによって与えられたデータに応答して、動的に更新され得ることが本開示に鑑みてさらに明らかである。たとえば、いくつかの実施例では、クローズ・ゾーンが、選出可能なストック品物を含んでいる棚によって占有され得る。そのようなゾーンは、ストック自体に接続されたデータを追跡するための特性を含むことができ、そのようなデータはロボット挙動に作用することが予想される。たとえば、ストック品物が、動きが速い(fast-moving)のか動きが遅い(slow-moving)のか(高需要か又は低需要か)は、品物にアクセスするためにロボットによって使用される隣接するオープン・ゾーンに影響を及ぼし得る。したがって、特定のゾーン中の平均的なストックが、動きが速い場合、ゾーンの最大占有率は、より高いロボット処理能力を与えるために自動的に増加され得る。また、ロボット及び人間選出者交通の増加の結果として、オープン・ゾーンは、衝突及び渋滞リスクを低減するために一方向ゾーンになるように更新され得る。
【0067】
たとえば、複数の棚及び通路を包含する選出ゾーンが、複数のオープン(通路)及びクローズ(棚)ゾーンに再分割される場合など、ゾーンが親ゾーン及びサブ・ゾーンとして関係する限り、各ゾーンの、その中に含まれているサブ・ゾーン又はそれが属する親ゾーンに対する関係をキャプチャするために、親参照(parent reference)特性が含まれ得る。
【0068】
1つ又は複数のゾーンが交差する、いくつかの実施例では、容易に識別可能な親子関係がないことがある。とはいえ、特性の交差する「重複」は、交差部が有効な、競合しないルールを有するために、解消されなければならない。そのような状況は、ほとんどの場合、同じタイプのゾーンが重複又は隣接するときに現れる。しかしながら、交差/重複は、概して、2つ又はそれ以上のタイプ間において、又はゾーンが全体的特性の特殊な局所的バージョンを有する場合に発生し得る。したがって、ゾーン・エンジン・システムは、タイプにかかわらず、及び交差部が別個のゾーンとして指定されるか否かにかかわらず、交差エリアのために特性の単一の有効なセットを作り出すように構成され得る。
【0069】
いくつかの実施例では、交差特性を決定するステップは、
図11のフロー・チャートで説明されるように2ステップ・プロセスを含むことができる。まず、ゾーン・エンジン・システムは、1201において、2つ又はそれ以上の重複するゾーンの特性値間の1つ又は複数の競合を識別することができる。最初に、システムは、重複するゾーン特性をアグリゲートすることができる。アグリゲーション中に、各重複するゾーンに関連付けられた関係する特性が、比較され、フィルタ処理され得る。たとえば、いくつかの実施例では、重複するゾーンのうちの1つのみに特有のものとして識別される境界点、又は交差部から所定の距離よりも離れて位置する境界点は、無関係として無視され得る。いくつかの実施例では、重複するゾーンのうちの1つのみに特有のものとして識別された特性は、それらが相互排他的でないか又は他のそのような特性と競合しない限り、交差エリアの特性として保たれるか、或いは適用不可能なものとしてまとめて廃棄されるかのいずれかであり得る。代替的に、選択された特有な特性のみが、1つ又は複数のあらかじめ定義されたルールに従って保たれ得る。交差エリア中の重複するゾーンのすべてにとって同一及び適用可能なものとして識別された特性は、それらが相互排他的でないか又は他のそのような特性と競合しない限り、交差エリア内に適用可能なものとして保たれ得る。重複するゾーンのうちの少なくとも2つが、(1つ又は複数の)同じ特性について異なる又は競合する値を含む場合、1201において、それらの値が識別され、競合解消の第2のステップについてさらに処理され得る。
【0070】
まだ
図11を参照すると、1203において、重複するゾーンが異なる値を割り当てられる特性について、競合解消された単一の値を評価し、次いで生成するために、競合解消が使用され得る。概して、単一の値は、元のゾーン値と適合するべきである。そのような特性は、たとえば、速度限度及び占有限度を含むことができ、速度限度及び占有限度は、一般に、各ゾーンについて具体的に割り当てられており、交差する異なる定義を有する可能性がある。そのような特性は、進行の方向性をも含むことができ、特に、一方向ゾーン、二方向ゾーン、及び/又は立入禁止ゾーンが交差する。
【0071】
速度限度又は占有限度についてなどの数量値に関して、一般に、「万能な(catch-all)」手法として競合解消が達成され得る。再び
図11を参照すると、1つのそのような手法が、1205において、重複するゾーンの競合する特性値の最高又は最低を選択することを含み得る。たとえば、保守的ストラテジーは、交差エリアに最低値特性を適用することができる(たとえば、最も低い最大速度又は最も低い最大占有率)。保守的手法は、ロボット間の事故/衝突のリスクを低減する可能性があるが、選出を減速し、選出効率を低減する可能性もあることになる。代替的に、あまり保守的でない(less conservative)手法は、(与えられた値が本質的に危険な状態を生じない限り)ゾーンに最高特性値をデフォルト設定し得、これは、ロボット間の事故/衝突のリスクをわずかに増加させ得るが、より速い、より効率的な選出を可能にし得る。
【0072】
方向性値など、より複雑な競合解消に関して、特性値における許容差は、解消成功を援助することができる。特に、許容できる特性値の範囲を与えることによって、許容差は、通常ならば競合が解消不可能であろう、競合する特性値範囲間の部分的な重複を可能にすることができる。したがって、
図11の場合のように、1207において、付随する値許容差が重複するゾーンの特性値を包含するように、重複するゾーンの特性値と付随する値許容差との間のターゲット値を定義することによって、競合解消は達成され得る。たとえば、交差する一方向ゾーンの場合、方向性値範囲の重複がない限り、(たとえば、反対の交通流方向性を有する一方向ゾーンが、出口エッジを共有する場合)解消は可能でない。そのような解消不可能な競合の場合、競合は、ゾーン・エンジンによって識別されなければならず、重複するゾーンのうちの1つ又は複数の特性を補正することによって又はゾーン・マップを再構成する必要をユーザに警告することによってのいずれかで、自動的に解消され得る。
【0073】
他のゾーンについて、そのような許容差が、ロボットがあるゾーンから次のゾーンにあちこち動くことを可能にするように構成され得る。たとえば、あるゾーンが90°(東)の方向特性値をもち、別のゾーンが135°(南東)の方向特性値をもつ、2つの交差する一方向ゾーンを有する一実施例では。許容差範囲がなければ、これらの方向性値は適合しない。しかしながら、各ゾーン内のロボットによって最大ナビゲーション・フレキシビリティを促進するために、許容差値が、安全に妥当である高さに設定され得る。したがって、一方向ゾーンでは、ロボットを「正しい」方向に連続的に移動させることに関連付けられた最大許容差値が、使用され得る。そのために、そのような許容差値は、ターゲット方向性特性値に対して+/-89°に設定され得る。上記で説明された実例を参照すると、そのような許容差は、90°の方向特性値を有する第1のゾーンについて、1°から179°までの間の方向性動きの範囲を可能にし、135°の方向特性値を有する第2のゾーンについて、46°から224°までの間の方向性動きの範囲を可能にするであろう。これらの範囲間の重複は、46°から179°までであり、これは、解消された特性の方向特性値=112.5°及び許容差値=+/-66.5°として交差エリアに割り当てられ得る。
【0074】
方向の限定されたゾーンが、入力エッジ及び出口エッジを使用して定義される実施例では、それらの交差するゾーンの共有されるエッジ又は共有されるエッジ部分についての競合解消は、ゾーン定義のゾーン・エンジン処理の一部として実施されることになる。たとえば、交差するゾーンについてのエッジ定義が、ブロッキング効果を引き起こす(たとえば、一方向サブ・ゾーンのための入口エッジが、通路の中央にあり、親ゾーンによって同じ通路において定義された出口エッジと競合する(又は、その逆も同様である))場合。そのような場合、ゾーン・エンジンは、そのようなエッジ特性が存在する場合、競合していないエッジ特性に対して解消することを試みることになる。解決策が利用可能でない限り、ユーザは、ゾーン・マップが再構成される必要があると通知されることになる。
【0075】
いくつかの実施例では、交差せず、親子関係も有しないゾーンさえ、関係するゾーンの特性変更を必要とする様式で互いに影響を及ぼし得る。そのような関係は、一般に、ゾーン近接度と、その近接性によって影響を及ぼされる特性の存在とによって定義される。いくつかの実施例では、そのような関係が発生し得、ここで、「クローズ」(たとえば、立入禁止)ゾーンの特性が、隣接する「オープン」ゾーンの特性に影響を及ぼす。たとえば、通路が、占有されていないクローズ・ゾーンとして指定される場合、ゾーン・エンジンは、立入禁止ゾーンの周りをあちこち動く追加のロボットを受け入れるために、立入禁止通路に隣接する1つ又は複数の「オープン」通路の最大占有率を(自動的に又はユーザ命令に応答してのいずれかで)変更することができる。さらに、立入禁止ゾーンから製品が依然として選出されている限り、1つ又は複数の隣接する「オープン」通路の最大占有率は、立入禁止ゾーンに近接したロボット待ち行列を受け入れるために増加され得る。
【0076】
同様に、棚構造又は他の品物ストック・ロケーションが、占有されたクローズ・ゾーンとして指定され、ゾーン・エンジンが、その棚構造/ストック・ロケーション上に格納された1つ又は複数の品物が、高い需要があることになる(たとえば、各購入品とともに渡されることになる景品が格納される場合、又は、予想される高い初期販売をもつ流行の新しい製品が格納される場合)と、選出リスト分析を通して自動的に又はユーザ入力を介してのいずれかで決定した場合、ゾーン・エンジンは、占有されたクローズ・ゾーンの周りをあちこち動き、占有されたクローズ・ゾーンに近接した待ち行列を作る追加のロボッを受け入れるために、棚構造/ストック・ロケーションに隣接する1つ又は複数の「オープン」通路の最大占有率を(自動的に又はユーザ命令に応答してのいずれかで)変更することができる。
【0077】
本開示に鑑みて、例示的なゾーンは例示のために上記で説明されたにすぎず、任意の数の基準マーカーによって定義され、任意の数又はタイプの特性、ナビゲーション規制、他のゾーンとの関係、又は制約を有する、任意のサイズ及び形状の任意の他のゾーンが様々な実施例に従って実装され得ることは、明らかであろう。
【0078】
非限定的な例示的なコンピューティング・デバイス
図12は、
図1~
図11を参照しながら上記で説明された様々な実施例に従って使用され得るような例示的なコンピューティング・デバイス1010、又はそれの部分のブロック図である。コンピューティング・デバイス1010は、例示的な実施例を実装するための1つ又は複数のコンピュータ実行可能命令又はソフトウェアを格納するための1つ又は複数の非一時的コンピュータ可読媒体を含む。非一時的コンピュータ可読媒体は、限定はしないが、1つ又は複数のタイプのハードウェア・メモリ、非一時的有形媒体(たとえば、1つ又は複数の磁気ストレージ・ディスク、1つ又は複数の光ディスク、1つ又は複数のフラッシュ・ドライブ)などを含むことができる。たとえば、コンピューティング・デバイス1010中に含まれるメモリ1016は、本明細書で開示される動作を実施するためのコンピュータ可読及びコンピュータ実行可能命令又はソフトウェアを格納することができる。たとえば、メモリは、
図1~
図11に関して説明されるように、様々な開示される動作を実施するようにプログラムされたソフトウェア・アプリケーション1040を格納することができる。コンピューティング・デバイス1010はまた、メモリ1016に格納されたコンピュータ可読及びコンピュータ実行可能命令又はソフトウェア並びにシステム・ハードウェアを制御するための他のプログラムを実行するために、構成可能な及び/又はプログラム可能なプロセッサ1012及び関連付けられたコア1014と、随意に、(たとえば、複数のプロセッサ/コアを有する計算デバイスの場合)1つ又は複数の追加の構成可能な及び/又はプログラム可能な処理デバイス、たとえば(1つ又は複数の)プロセッサ1012’及び関連付けられた(1つ又は複数の)コア1014’とを含むことができる。プロセッサ1012及び(1つ又は複数の)プロセッサ1012’は、各々、単一コア・プロセッサ又は複数コア・プロセッサ(1014及び1014’)であり得る。
【0079】
コンピューティング・デバイス1010において仮想化が採用され得、それにより、コンピューティング・デバイスにおけるインフラストラクチャ及びリソースが動的に共有され得る。複数のプロセッサ上で実行するプロセスを扱うために仮想マシン1024が与えられ得、それにより、プロセスは、複数のコンピューティング・リソースではなく1つのコンピューティング・リソースのみを使用しているように見える。また、複数の仮想マシンが1つのプロセッサとともに使用され得る。
【0080】
メモリ1016は、限定はしないが、DRAM、SRAM、EDO RAMなど、計算デバイス・メモリ又はランダム・アクセス・メモリを含むことができる。メモリ1016は、同様に他のタイプのメモリ、又はそれらの組合せを含むことができる。
【0081】
ユーザは、例示的な実施例に従って与えられ得る1つ又は複数のユーザ・インターフェース1002を表示することができる、コンピュータ・モニタなど、視覚ディスプレイ・デバイス1001、111A~Dを通してコンピューティング・デバイス1010と対話することができる。コンピューティング・デバイス1010は、ユーザからの入力を受信するための他のI/Oデバイス、たとえば、キーボード又は任意の好適なマルチ・ポイント・タッチ・インターフェース1018、ポインティング・デバイス1020(たとえば、マウス)を含むことができる。キーボード1018及びポインティング・デバイス1020は、視覚ディスプレイ・デバイス1001に結合され得る。コンピューティング・デバイス1010は、他の好適な従来のI/O周辺機器を含むことができる。
【0082】
コンピューティング・デバイス1010は、本明細書で開示される動作を実施するデータ及びコンピュータ可読命令及び/又はソフトウェアを格納するための、限定はしないが、ハード・ドライブ、CD-ROM、又は他のコンピュータ可読媒体など、1つ又は複数のストレージ・デバイス1034をも含むことができる。例示的なストレージ・デバイス1034はまた、例示的な実施例を実装するために必要とされる任意の好適な情報を格納するための1つ又は複数のデータベースを格納することができる。データベースは、データベース中の1つ又は複数の品物を追加、削除、及び/又は更新するために任意の好適な時間において手動で又は自動的に更新され得る。
【0083】
コンピューティング・デバイス1010は、限定はしないが、標準電話回線、LAN又はWANリンク(たとえば、802.11、T1、T3、56kb、X.25)、ブロードバンド接続(たとえば、ISDN、フレーム・リレー、ATM)、ワイヤレス接続、コントローラ・エリア・ネットワーク(CAN)、又は上記のいずれか又はすべての何らかの組合せを含む、様々な接続を通して、1つ又は複数のネットワーク・デバイス1032を介して、1つ又は複数のネットワーク、たとえば、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)又はインターネットとインターフェースするように構成されたネットワーク・インターフェース1022を含むことができる。ネットワーク・インターフェース1022は、内蔵ネットワーク・アダプタ、ネットワーク・インターフェース・カード、PCMCIAネットワーク・カード、カード・バス・ネットワーク・アダプタ、ワイヤレス・ネットワーク・アダプタ、USBネットワーク・アダプタ、モデム、又は通信が可能な任意のタイプのネットワークにコンピューティング・デバイス1010をインターフェースし、本明細書で説明される動作を実施するのに好適な任意の他のデバイスを含むことができる。その上、コンピューティング・デバイス1010は、ワークステーション、デスクトップ・コンピュータ、サーバ、ラップトップ、ハンドヘルド・コンピュータ、タブレット・コンピュータ、或いは、通信が可能であり、本明細書で説明される動作を実施するために十分なプロセッサ・パワー及びメモリ容量を有する他の形式のコンピューティング又は電気通信デバイスなど、任意の計算デバイスであり得る。
【0084】
コンピューティング・デバイス1010は、Microsoft(登録商標)Windows(登録商標)オペレーティング・システム(Microsoft、ワシントン州レドモンド)のバージョンのいずれか、Unix及びLinux(登録商標)オペレーティング・システムの異なるリリース、MacintoshコンピュータのためのMAC OS(登録商標)(Apple,Inc.、カリフォルニア州クパチーノ)オペレーティング・システムの任意のバージョン、任意の埋込みオペレーティング・システム、任意のリアルタイム・オペレーティング・システム、任意のオープン・ソース・オペレーティング・システム、任意のプロプライエタリ・オペレーティング・システム、又は、コンピューティング・デバイス上で実行し、本明細書で説明される動作を実施することが可能な任意の他のオペレーティング・システムなど、任意のオペレーティング・システム1026を実行することができる。例示的な実施例では、オペレーティング・システム1026は、ネイティブ・モード又はエミュレートされたモードで実行され得る。例示的な実施例では、オペレーティング・システム1026は、1つ又は複数のクラウド・マシン・インスタンス上で実行され得る。
【0085】
図13は、いくつかの分散型実施例の例示的な計算デバイス・ブロック図である。
図1~
図11、及び上記の例示的な説明の部分は、個々の又は共通のコンピューティング・デバイス上で各々動作する、倉庫管理システム15、注文サーバ14、及びゾーン・サーバを参照するが、倉庫管理システム15、注文サーバ14、及び/又はゾーン・サーバのうちのいずれか1つが、代わりに、別個のサーバ・システム1101a~dにおいて、及び場合によっては、キオスク、デスクトップ・コンピュータ・デバイス1102、又はモバイル・コンピュータ・デバイス1103など、ユーザ・システムにおいて、ネットワーク1105にわたって分散され得ることを認識されよう。たとえば、注文サーバ14及び/又はゾーン・サーバは、ロボット18のタブレット48の間で分散され得る。いくつかの分散型システムでは、倉庫管理システム・ソフトウェア、注文サーバ・ソフトウェア、及びゾーン・エンジンのうちのいずれか1つ又は複数のモジュールが、サーバ・システム1101a~d上に別個にあり得、ネットワーク1105にわたって互いと通信していることがある。
【0086】
本発明の上記の説明は、当業者が、それの最良の形態であると現在見なされるものを製作及び使用することを可能にし、当業者は、本明細書の特定の実施例及び実例の変形形態、組合せ、及び等価物の存在を理解し、諒解する。本発明の上記で説明された実施例は、実例にすぎないものとする。本明細書に添付された特許請求の範囲によって単独で定義される、本発明の範囲から逸脱することなく、当業者によって特定の実施例に対して改変、変更及び変形が実施され得る。したがって、本発明は、上記で説明された実施例及び実例によって限定されない。
【0087】
本発明及びその好ましい実施例について説明したが、新規のものとして特許請求され、特許証によって保護されるものは以下の通りである。