(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0005】
本発明の実施形態の以下の説明は、本発明をこれらの実施形態に限定することを意図したものではなく、当業者が本発明を製造し使用することを可能にすることを目的とするものである。本明細書に記載される変形例、構成、実施方法、実施例実施方法、および実施例は任意であり、これらは、それらが記述する変形例、構成、実施方法、実施例実施方法、および実施例に限定されるものではない。本明細書に記載される発明は、これらの変形例、構成、実施方法、実施例実施方法、および実施例を任意に、またすべてを含み得る。
【0006】
1.方法
図1に示されるように、店舗内の棚を撮像するウェイポイントを自動的に生成する方法S100は、ブロックS110で、店舗内の床空間を自律的にマッピングするためのロボットシステムを送ることと、ブロックS120で、ロボットシステムから床空間のマップを受信することと、ブロックS130で、店舗内の棚構造の位置と店舗内の棚構造にアドレスを定義するアーキテクチャメタスペースにアクセスすることと、ブロックS140で、マップの特徴にアーキテクチャメタスペースの特徴を整合させることによって、正規化されたメタスペースを生成することと、ブロックS150で正規化されたメタスペース内の店舗の座標系を定義することと、ブロックS160で、正規化されたメタスペース内の棚構造の位置とロボットシステムの撮像能力に基づいて正規化されたメタスペース内の、座標系に対する位置と方位を含むウェイポイントの集合を定義することと、ブロックS170で、ウェイポイントの近傍にある棚構造のアドレスと共に、ウェイポイントの集合の各ウェイポイントにラベルを付けることと、これは、ブロックS180で、後続の撮像ルーチンで実行するために、ロボットシステムにウェイポイントの集合をアップロードすることと、を含む。
【0007】
この方法S100は、ブロックS130で、アーキテクチャメタスペースを生成することとブロックS142で、正規化されたメタスペース内の棚構造に、予め設定された立面マップの集合からの対応する棚区画および棚のアドレス、または店舗の棚割表に保存された「シーン」を正規化されたメタスペースの棚構造のアドレスに基づいてラベル付けをすることと、ブロックS170で、ウェイポイントに、画像をキャプチャするように予定したロボットシステム内のカメラのアドレスと棚構造のアドレス、棚区画、ロボットシステムがウェイポイントで定義された店舗内の位置と方位の近傍にあるときにカメラの視野の中にあると予測される棚とをラベル付けすることとを含む。
【0008】
この方法S100の方法の1つの変形例は、ブロックS110で、マッピングルーチン中に店舗内の床空間のマップデータを自律的に収集するためのロボットシステムを送ることと、ブロックS120で、マッピングルーチン中にロボットシステムによって収集されたマップデータから床空間のマップを生成することと、ブロックS130で、店舗内の棚構造の集合のターゲット位置とアドレスを定義するアーキテクチャメタスペースにアクセスすることと、ブロックS140で、アーキテクチャメタスペースの機能を変形させてマップ内での類似した機能と整合させ、店舗内の棚構造の集合の実際の位置とアドレスを表す正規化されたメタスペースを生成することと、ブロックS150で、正規化されたメタスペース内で座標系を定義することと、ブロックS160で、座標系に対する正規化されたメタスペース内のウェイポイントの集合を定義することと、このウェイポイントの集合は、正規化されたメタスペースに表される棚構造の集合において、第1の棚構造の実際の位置に沿って長手方向に、そしてそこから横方向にオフセットして分布された第1のウェイポイントのサブセットを含み、第1のウェイポイントのサブセットの中のそれぞれのウェイポイントは、ロボットシステムにおける、光学センサの既知の位置と正規化されたメタスペースの第1の棚構造の実際の位置に基づいた座標系に対する方位を定義し、さらにブロックS180において、撮像ルーチンの間に、第1のウェイポイントのサブセットの各ウェイポイントを占拠しながら光学データを記録するロボットシステムを送ることとを含む。
【0009】
方法S100の別の変形例は、ブロックS110で、店舗内の床空間を自律的にマップするためにロボットシステムを送ることと、ブロックS120で、ロボットシステムから床空間のマップを受信することと、ブロックS130で、店舗内の棚構造の位置と店舗内の棚構造にアドレスを定義するアーキテクチャメタスペースにアクセスすることと、ブロックS140で、マップの特徴にアーキテクチャメタスペースの特徴を整合させることによって、正規化されたメタスペースを生成することと、ブロックS150で、正規化されたメタスペース内の店舗の座標系を定義することと、ブロックS160で、正規化されたメタスペース内の棚構造の位置とロボットシステムの撮像能力に基づいて正規化されたメタスペース内の、座標系に対する位置と方位を含むウェイポイントの集合を定義することと、ブロックS170で、ウェイポイントの近傍にある棚構造のアドレスと共に、ウェイポイントの集合の各ウェイポイントにラベルを付けることと、これは、ブロックS180で、後続の撮像ルーチンで実行するために、ロボットシステムにウェイポイントの集合をアップロードすることと、を含む。この変形例では、方法S100は、撮像ルーチンの間にウェイポイントの集合の中で第1のウェイポイントを占拠するときにロボットシステムによって記録された視覚データを含む第1の画像にアクセスすることと、第1の画像内の第1の棚を検出することと、第1のウェイポイントと関連付けられた第1の棚構造の第1のアドレスと、第1の画像内の第1の棚の垂直方向の位置とに基づいて、第1の棚のアドレスを判別することと、第1の棚のアドレスに基づいて、店舗の棚割表によって第1の棚に割り当てられた製品の第1の製品リストを読み出すことと、それぞれが第1の製品リストで指定された製品の視覚的特徴を含む第1のテンプレート画像の集合をテンプレート画像のデータベースから読み出すことと、第1の棚に隣接する第1の画像の第1の領域から第1の特徴の集合を抽出することと、第1の特徴の集合と第1の製品を表す第1のテンプレート画像の集合の中の第1のテンプレート画像の間の相関に呼応して、前記第1の棚に前記第1の製品リストに第1の製品の単位が存在するかを確認することと、第1の特徴の集合の中の特徴と、第1のテンプレート画像の中の特徴の間の偏差に呼応して第1の製品の単位が第1の棚に不適切に在庫保有されていると判断することと、第1の製品の単位が第1の棚に不適切に在庫保有されている旨の判断に呼応して、ブロックS190で第1の棚上の第1の製品に対して第1の在庫補充の指示を生成することとを含む。
【0010】
2.応用
一般的に、方法S100は、保存された棚割表または他の製品位置データベースに定義された立面マップまたは個別の棚構造の「シーン」に格納された保管データに基づいて、そして、ロボットシステムの撮像能力に基づいて保存された棚割表または他の製品位置データベースに格納された店舗に送られたロボットシステムによって収集された実際のマッピングデータに基づいて、店舗のウェイポイントの集合を自動的に生成するコンピュータシステムによって実行することができる。これらのウェイポイントを受信すると、ロボットシステムは、これらのウェイポイントで定義された位置に順次移動し、これらのウェイポイントの各々で1つ以上の画像をキャプチャし、これらの画像をコンピュータシステムに戻すことができる。その後、コンピュータシステムは、
図2に示すように、それらの画像を、店舗全体にわたる棚上の製品の位置と、
図2に示すように店舗に定義された製品提示要件からの偏差をグラフ、表、またはマップに自動的に変換することができる。
【0011】
特に、方法S100は、ロボットシステムによって収集されたデータと、店舗内の棚および/または製品のレイアウトを定義する既存のデータとの組合せに基づいて、店舗のためのウェイポイントを自動的に定義し、タグ付けするローカルまたはリモートコンピュータシステムによって実現することができる。例えば、1,000個の固有の製品(すなわち、1,000個の固有の最小在庫管理単位、または「SKU」)を在庫保有した小規模店舗の場合、システムは、店舗内を移動するロボットシステムに対して20の固有ウェイポイントを自動的に生成し、店舗内の棚に在庫保有した製品の画像を収集することができる。この例では、次に述べる4つのカメラを含むロボットシステムにおいて、以下に説明するように、ロボットシステムは、撮像ルーチンの間に、小さな店舗(すなわち、1つのウェイポイント当たり4つの画像)に棚の最大80の画像を収集することができ、コンピュータシステムは、これらの画像を小さな店舗内の製品と、その店舗に予め定義された製品提示要件からの偏差のマップに変換することができる。しかし、25,000個の固有の製品(すなわち、25,000個の固有のSKU)を在庫保有した中規模の店舗では、システムは自動的に200個の店舗固有のウェイポイントを生成することができ、4台のカメラを含むロボットシステムは店舗内で棚の画像を800枚までキャプチャすることができる。さらに、150,000個の固有の製品を在庫保有した大型店舗では、システムは店舗に対して500個の店舗固有のウェイポイントを自動的に生成することができ、4台のカメラを含むロボットシステムは、店舗内の棚を2,000枚までキャプチャすることができる。
【0012】
例えば、ロボットシステムは、小売店(または倉庫など)内に配置して、リモートコンピュータシステム(例えばインターネットを介してロボットシステムに接続されたリモートサーバ)は、例えば、毎晩午前1時からのような、店舗営業時間外に、ウェイポイントでロボットシステムを送って小売店舗全体にわたってウェイポイントの画像を収集することができる。したがって、ロボットシステムは、小売店舗が数時間後に開店する前に、撮像ルーチンを完了することができる。さらに、本システムは、撮像ルーチンの間に収集された画像を処理して、店舗内の棚に現在の製品配置のグラフ、マップまたはテーブルを生成し、および/または位置がまちがえていたり、方位がまちがった製品を修正するタスクリストを生成して訂正したりすることができ、本システムは、このグラフ、マップ、表、および/またはタスクリストが小売店舗に到着したら、それらを次の日の朝、その小売店舗が開店する前に従業員に提示することができる。あるいは、リモートコンピュータシステムは、店舗営業時間の間に店舗内のウェイポイントにロボットシステムを送ることができ、実質的にリアルタイムでロボットシステムから受信された画像を処理して、現在のそのようなグラフ、マップ、テーブルおよび/またはタスクリストをほぼリアルタイムで生成することができる。
【0013】
方法S100は、ロボットシステムが新しい店舗にセットアップされる、あるいは、現存の店舗に組み込む場合に実行できる。例えば、コンピュータシステムは、店舗の建築計画(または店舗に割り当てられた一般的な店舗レイアウト)と、店舗の立面マップの集合を、店舗内の既知のアドレスの棚構造、棚区画、および/または棚の予想位置を画定するアーキテクチャメタスペースに集約することができる。しかし、店舗内の棚構造と棚区画(および通路、壁、柱など)の実際の位置は、アーキテクチャメタスペースで表される位置とは異なる可能性があるため、コンピュータシステムは、ロボットシステムを介して店舗の実床レイアウトデータを収集し、これらの店舗の実床レイアウトデータに対してアーキテクチャメタスペース内の特徴を整合させることが可能である。店舗内の棚構造と棚区画などの実際の位置を表す正規化されたメタスペースにアーキテクチャメタスペースが変換されると、システムは、それぞれがロボットシステムの目標位置と方位を定義するウェイポイントの集合を生成することができ、ロボットシステムがウェイポイントを占拠して時に写真画像を記録するための、ロボットシステム内に設けられた1台以上のカメラに対応することができる。この方法S100は、店舗が改装された後、または恒久的または一時的な棚構造が店舗内で移動された後、店舗のウェイポイントを再計算するために、同様に実行することができる。
【0014】
したがって、システムは、方法S100のブロックを実施して、店舗内のオブジェクトの真の位置を表すマップデータを収集し、店舗内のこれらオブジェクトのターゲットまたは計画された場所を指定し、店舗の棚割表へのリンクを含む建築(または類似の)計画にアクセスし、店舗内の既知のアドレス付きオブジェクト(例えば、棚構造、棚区画など)の正確な位置を表す正規化されたメタスペースを作成するためにマップと建築計画をマージする。これにより、本システムは、ロボットシステムが閾値線形および角度公差内を占拠したときに、ロボットシステムに一体化されたカメラの視野内で、規則的で反復可能な位置にある店舗全体を通して棚、棚区画、棚構造を探すウェイポイントの集合を定義することができる。したがって、システムは、店舗の棚割表における棚構造の立面マップにリンクされたウェイポイントの集合の集合を自動的に生成する一方で、店舗のオリジナルレイアウト計画からの偏差を補償し、撮像ルーチンを実行する際に、ロボットシステムに記録された棚、棚区画、および棚構造の画像において高い精度(すなわち、正確さと再現性)を達成し、また一方で、さらに、マップに表されているオブジェクトの人間による監督または人間によるラベル付け(例えば、マップに表されている棚構造のアドレスの入力)を減らす、または排除することができる。この方法S100を実行して、限定された、または人間の監督がない店舗のウェイポイントの集合を定義することによって、システムは、ロボットシステムの店舗への比較的迅速なオンボーディングおよびプロビジョニングを達成して、ロボットシステムが記録した棚、棚区画、および棚構造などの高品質な画像を得て、これらの画像から抽出したデータに基づいて店舗の在庫状態の正確性について高い信頼性を達成することができる。
【0015】
3.ロボットシステム
ロボットシステムは、方法S100のブロックS110およびS112を実行して、ウェイポイントにナビゲートし、店舗内の棚の画像をキャプチャする。一般的に、ロボットシステムは、店舗を自律的に横断することができるネットワーク対応モバイルロボットを定義し、店舗内の棚の中で棚の画像をキャプチャし、それらの画像をリモートコンピュータシステムにアップロードして分析することができる。
【0016】
ある実施方法では、ロボットシステムは、ベースと、ベースに配置された駆動システム(例えば、一対の2つの駆動される車輪と2つの旋回キャスタ)と、電源(例えば、電気バッテリ)と、一組のマッピングセンサと(例えば、前後の走査LIDERシステム)と、マッピングセンサによって収集されたデータをロボットシステムの周囲の空間の2次元または3次元マップに変換するプロセッサと、基部から垂直に伸びるマストと、マストに配置された一組のカメラと、地理空間位置センサ(例えば、GPSセンサ)と、
図3に示すように、リモートコンピュータシステム(例えばリモートサーバ)からの店舗のウェイポイントとマスターマップをダウンロードし、カメラがキャプチャした写真画像と、プロセッサによって生成されたマップをリモートコンピュータシステムにアップロードするための無線通信モジュールと、を備える自律撮像車両を定義する。この実施方法では、ロボットシステムは、
図3に示すように、マストの左側にある2つの垂直オフセットカメラやマストの右側にある2つの垂直オフセットカメラのような、マストに静的に取り付けられたカメラを含むことができる。ロボットシステムは、付加的または代替的に、マストの左側に、第1の垂直走査アクチュエータによって支持された1台のカメラや、マストの右側に、第2の垂直走査アクチュエータによって支持された1台のカメラのような関節動作可能なカメラを備えていてもよい。また、ロボットシステムは、ズームレンズ、広角レンズ、または各カメラ上のその他のタイプのレンズを含んでいてもよい。しかし、ロボットシステムは、その他の形態を定義することができ、店舗環境全体を含む、自律的な移動および画像キャプチャをサポートするその他のサブシステムまたは要素を含んでいてもよい。
【0017】
システムはまた、単一の店舗に配置された複数のロボットシステムを含み、店舗内の棚を画像化するために協働するように構成されてもよい。例えば、2つのロボットシステムは、大型の単一床の小売業者に配置し、閾値期間内(例えば、1時間以内)に店舗内の全棚の画像を収集するよう、協働することができる。別の実施例では、1つのロボットシステムを、複数階店舗の各フロアに配置し、各ロボットシステムは、対応するフロアの棚の画像をそれぞれ収集することができる。次いで、リモートコンピュータシステムは、1つの店舗に配置された複数のロボットシステムによってキャプチャされた画像を集約して、店舗内の適切かつ不適切に在庫保有したスロットのグラフ、マップ、表および/またはタスクリストを生成できる。
【0018】
4.階層および用語
「製品陳列面」は、本明細書では、1スロットに対して指定される製品の側面(例えば、特定のSKUまたはその他の製品識別子)を意味する。「棚割表」は、本明細書では、店舗内の複数の棚構造(例えば、店舗全体にわたる)の各々にわたって複数の製品陳列面を示すグラフィカルな表現を意味する。棚割表で視覚的に記録された製品の識別、配置、および方位データは、対応するテキスト製品配置スプレッドシート、スロット索引、または他の店舗データベース(以下、「製品配置データベース」)に記録することもできる。
【0019】
「スロット」とは、本明細書では、製品の1つ以上の単位の列を含む、1つの製品陳列面による占拠に指定された棚の区画を意味する。「棚」とは、本明細書では、1つ以上のスロットにわたって延びる1つの側面(例えば、1×4フィート幅の水平面)を意味する。「棚区画」とは、本明細書では、1段以上の棚を含む棚構造を意味する。「棚構造」とは、本明細書では、1列以上の棚区画を意味する。「通路」とは、本明細書では、2つの対向する棚構造物間の通路を意味する。「店舗」とは、本明細書では、1つ以上の棚構造と1本以上の通路を有する(静的または動的な)設備を意味する。
【0020】
「製品」とは、本明細書では、特定の製品識別子(例えば、SKU)と良好に関連付けられたパッケージのタイプを意味する。「単位」または「製品単位」とは、本明細書では、1つのSKU値と関連付けられた一連の包装された物品の中の1つの包装された物品のような製品のインスタンスを意味する。
【0021】
方法S100は、本明細書では、リモートコンピュータシステム(例えば、リモートサーバ、以下「コンピュータシステム」と呼ぶ)によって実行されるように説明している。しかし、方法S100のブロックは、小売空間(または店舗、倉庫など)に配置された1つ以上のロボットシステム、ローカルコンピュータシステム、またはその他のコンピュータシステムによって実行できる。これらを以下の「システム」と称する。
【0022】
さらに、方法S100のブロックは、以下では、店舗内の棚構造の開放棚に在庫保有した製品を識別するためにシステムによって実行されるように説明している。しかし、システムは、同様の方法および技術を実施して、冷蔵ユニット、壁ラック上、独立したフロアラック、テーブル上、または小売空間内の他のいかなる製品整理ケース上または内においても、整理棚に在庫保有した製品を識別することができる。
【0023】
5.ロボットシステムのプロビジョニング
方法S100のブロックS110は、第1のマッピングルーチンの間に店舗内の床空間のマップデータを自律的に収集するために、ロボットシステムを送ることを規定している。一般的に、ブロックS110では、システムは、店舗を自律的に移動し、店舗内の床空間の2Dマップを生成するため(および/または店舗の室内容積の3Dマップを生成するため)に、ロボットシステムを起動する。
【0024】
ある実施方法では、一旦店舗内の初期配置に続いて店舗内でロボットシステムが電源投入されると、システムはコンピュータネットワーク(例えばインターネット)などを介して、ブロックS110でロボットシステムへ指示を出し、マッピングルーチンを開始することができる。例えば、ロボットシステムは、システムから指示を受信すると直ちにマッピングルーチンを開始することができ、または、店舗を閉じているときや、または(実質的に)非占拠状態であるときなど、ロボットシステムはその後にスケジューリングされた例えば2AMなどのような走査時間のマッピングルーチンを待機することができる。あるいは、ロボットシステムは、最初に店舗内で電源を投入したとき、またはロボットシステムの「スタート」ボタンの手動選択、またはモバイル演算装置上で実行するオペレータポータル内、および、店舗またはロボットシステムと関連した手動選択のようなユーザからの手動入力に応答して、自動的にマッピングルーチンを開始することができる。
【0025】
別の実施方法では、システムはロボットシステムを送って、ロボットシステムを店舗に初期配送した後、および店舗に現在存在する好ましい在庫状態の確認を受信することにより店舗内で第1のマッピングルーチンを実行する。例えば、店舗の新しい棚割表を自律的に生成するための準備として、店舗の共同出資者は、各スロット、棚、棚区画、棚構造、整理棚、冷却装置、壁ラック、独立フロアラック、および/またはテーブルなどに、好ましい数および方位を有する各製品を、店舗全体にわたり、手動で在庫保管することができ、一度ロボットシステムがその店舗へプロビジョニングを行い、店舗内のローカル無線ネットワークに接続すると、人間のオペレータ(例えば、店舗のマネージャまたはそのロボットシステムに加入している実体)が演算装置(例えば、デスクトップコンピュータまたはスマートフォンなど)を介してオペレータポータルにアクセスし、店舗の現状が(およそ)所望の在庫状態を満たしているどうかを確認し、現在の在庫状況によって店舗の新しい棚割表を生成する機能を選択することができる。所望の在庫状態の確認および新しい棚割表関数を受領すると、システムは、まず、ブロックS110でそのロボットシステムを送って、店舗のマップデータを収集し、および/または店舗のマップを生成することによって、方法S100の実行を開始することができる。しかし、システムは、ブロックS100で他の方法や技術を実施して、ロボットシステムを起動させてマッピングルーチンを実行させることができる。
【0026】
さらに別の実施方法では、システムは、例えば、店舗のマネージャがデスクトップコンピュータ、モバイル演算装置、またはその他のデバイス上で実行されるウェブブラウザまたはネイティブアプリケーションを介して入力するなどの、オペレータポータルを介した入力で店舗レイアウトへの変更が示されると、ブロックS110を実行する。特に、棚構造全体または一部のサブセットの再配置、新しい棚構造の配置、および非一時的(例えば固定インフラストラクチャ)棚構造および/または一時的な棚構造(例えば、独立した段ボールポップアップ)のような既存の棚構造物の除去に続き、システムは、新しい正規化されたメタスペースの生成を開始するブロックS110を実行し、店舗レイアウトへの変更に対応する新しいウェイポイントの集合を実行できる。したがって、この実施方法では、システムは、このような店舗レイアウトへの変更を表す正規化されたメタスペースを生成することができ、その後、正規化されたメタスペース内で表される店舗レイアウトへのこの変更に従って、ウェイポイントの集合を定義することができる。
【0027】
ブロックS110におけるシステム(例えば、コンピュータシステム)によってマッピングルーチンを実行するためにトリガされると、ロボットシステムは、その統合マッピングセンサを通じて距離データを記録しながら、店舗の物理的な内部空間の2D(または3D)マップを生成することによって、店舗内を自律的に移動することができる。例えば、ロボットシステムは、同時局在およびマッピング(または「SLAM」)技術を実施して、マッピングルーチン全体にわたって収集されたLIDARベースの距離走査に基づいて、店舗内の未知環境のマップを作成して更新し、マップ内の位置を追跡することができる。しかし、ロボットシステムは、他の方法や技術を実施して、店舗内の床空間の2Dマップを生成する(または、店舗内の3Dマップを生成する)ことができる。
【0028】
あるいは、ロボットシステムはマッピングルーチン中に未加工マップデータを収集して、マッピングルーチンの間、またはマッピングルーチンの終了時に、リアルタイムでこれらのデータをシステム(例えば、インターネットを介したリモートサーバ)にアップロードすることができる。次に、システムは、以下に説明するように、店舗の2Dの床棚割表または3Dマップ(例えば、「ポイントクラウド」)(以下、「フロアマップ」と称する)に、これらの未加工マップデータを、ロボットシステムから遠隔的に離れた場所に再構築するための同様の方法および技術を実施することができる。
【0029】
5.1 複数のロボットシステム
1つの変形例として、システムは、単一の店舗にプロビジョニングされる複数のロボットシステムを含み、例えば、その店舗に対して定義されたウェイポイントに割り当てられたサブセットを自律的に実行するなどにより協働してマッピングルーチン中にマップデータを集めてマップデータを収集し、さらに協働して撮像ルーチンの間に画像を収集する。例えば、2つのロボットシステムを、大規模なシングルフロアの小売店舗に配置し、協働して限られた期間(例えば、1時間未満)のマッピングルーチンおよび撮像ルーチンで、店舗内の全棚のマップデータおよび画像を収集することができる。別の実施例では、1つのロボットシステムは、マルチフロア店舗の各フロアに配置することができ、店舗に配置された各ロボットシステムは、割り当てられたフロアにある棚のマップデータおよび画像を収集することができる。店舗内のこれらのロボットシステムによるマッピングルーチンに続いて、システムは、ブロックS120におけるこれらのロボットシステムからマップを収集し、次に、本明細書に記載される方法および技術を実施して、店舗にプロビジョニングされたロボットシステムごとにウェイポイントの集合を生成する。
【0030】
6.実際のフロアマップ
方法S100のブロックS120は、ロボットシステムから床空間のマップを受信することを規定している。一般的に、ブロックS120では、システムは、上述のマッピングルーチンの完了後に、ロボットシステムから店舗の床空間の2Dマップを収集する(または店舗内部の3Dマップまたはポイントクラウドを収集する)ように機能する。例えば、マッピングルーチンが完了すると、ロボットシステムは、ローカルインターネット接続された無線ルータを介して、またはセルラーネットワークを介して、マップをシステムにアップロードすることができる。しかし、そのシステムは、店舗内の障害物および構造物の実際の場所のマップを、他の方法で、あるいは他の形式でも収集することができる。
【0031】
図1に示された1つの実施方法では、ロボットシステムは、店舗の床より上方にオフセットした水平平面(例えば、店舗の床より2インチ上)で、店舗の2Dポイントクラウドを生成し、このポイントクラウドをブロックS120のシステムにアップロードする。この実施方法では、システムは、次に、ライン抽出技術を実施して、2Dポイントクラウドを、店舗全体の床に配置された構造物の実際の(例えば、寸法的に正確な)位置および外部寸法を表す、ベクトル化された2Dラインマップに変換することができる。次いで、システムは、パターンマッチング、構造認識、テンプレートマッチング、および/または他のコンピュータ視覚技術を実施して、店舗内の棚構造(および/または他の保管要素)として、ベクトル化された2Dラインマップ内の大きな離散的な(ほぼ)直線領域を識別してから、ブロックS120において、それによってベクトル化されたラインマップ(以下「フロアマップ」)にラベル付けすることができる。
【0032】
一例では、システムは、1メートルより大きい最大水平寸法を示し、棚構造として2:1より大きいアスペクト比を示す離散的な長方形構造をラベル付けし、1メートルより大きい最大水平寸法を示し、開放テーブルとして2:1未満のアスペクト比を示す離散的長方形構造をラベル付けし、1メートル未満の最大水平寸法を示し、独立したポップアップユニットとして2:1未満のアスペクト比を示す離散的な長方形構造をラベル付けし、1メートル未満の最大水平寸法を示し、独立した床ユニットとして2:1未満のアスペクト比を示す不定形な構造をラベル付けすることができる。別の実施例では、システムは、小売店舗の設定に共通する棚構造、チェックアウトレーン、冷却ユニットなどの標準計画寸法(例えば、長さおよび幅)および幾何学的形状(例えば長方形)のデータベースにアクセスし、2Dラインマップから空間の床上の構造の寸法と形状を抽出し、これらの構造寸法と幾何学的形状をデータベースに格納されている標準プランと幾何学的形状定義と比較して、2Dラインマップで表された選択構造を棚構造として識別し、ラベル付けすることができる。
【0033】
別の実施例では、システムは、90度までのコーナーに対し、フロアマップ内の1つの水平面を走査するためのエッジ検出技術を実施し、4つの90度までのコーナーの集合によって囲まれたフロアマップにおける閉鎖された領域を棚構造として識別し、そのような2つの棚構造の間の開放領域を通路として識別することができ、システムは、それに応じて棚構造と通路のラベルをフロアマップに入れることができる。しかし、システムは、テンプレートマッチング、エッジ検出、パターンマッチング、パターン認識、光学文字認識、色認識、コンテンツベースの画像の読み出し、ポーズ推定、コード読み取り、形状認識、および/または、他の適した方法や処理技術を実施することにより、フロアマップ内の特徴を識別し、これらの特徴を店舗内の1つ以上の棚構造と相関させることができる。
【0034】
6.1 監視された棚構造の検出
上記の実施方法では、一旦システムが店舗のフロアマップで表される棚構造を識別すると、システムは、人間のオペレータ(例えば、ロボットシステムオペレータ、店舗のマネージャ)に指示を出してフロアマップに自律的に適用された棚構造ラベルを確認することができる。例えば、システムはオペレータのモバイル演算装置またはデスクトップコンピュータ上で実行されるオペレータポータルを介してオペレータにフロアマップの視覚的形状を提供し、その後、フロアマップの視覚的形状上に棚構造ラベルを表示し、次に、オペレータは、これらの棚構造ラベルを見直して調整することにより、これから行われる撮像ルーチンに対するウェイポイントを生成する前に、店舗を通して棚構造を識別するシステムに対して監督を行うことができる。あるいは、システムは、ロボットシステムから受信されたマップデータを、ベクトル化された店舗のフロアマップ(例えば、ベクトル化された2Dまたは3Dラインマップ)に変換し、フロアマップ内の店舗の床に配置された個別の構造物を識別し、オペレータポータルへのフロアマップ内でハイライトされた個別の構造物を用いてこのフロアマップを処理することができ、オペレータは、オペレータポータルを通じてフロアマップ内のハイライトされた構造物が棚構造を表すことを手動で確認することができる。しかし、システムは、オペレータポータルを介して、その他の方法で人間のオペレータとインターフェースをとって、棚構造の識別を確認するための情報を収集したり、店舗のフロアマップ内で直接棚構造を識別したりすることができる。
【0035】
しかし、システムは、他の任意の方法または技術を実施して、ロボットシステムによって収集された未加工マップデータ(またはベクトル化された2Dまたは3Dラインマップ)を、例えば、以下に記載される座標系と比較して、店舗内の棚構造(および/または他の格納要素)の既知位置を識別するラベル付きフロアマップに変換することもできる。
【0036】
7.アーキテクチャメタスペース
方法S100のブロックS130は、店舗内の棚構造の位置を規定するアーキテクチャメタスペースへのアクセスと、棚構造のアドレスとを規定している。一般的に、ブロックS130では、システムは、店舗内の棚構造の計画位置を画定する既存のアーキテクチャメタスペースを読み出し、棚構造のアドレスまたは店舗全体にわたるこれらの棚構造を、棚構造の既存の立面マップにリンクする他の識別子を含み、これらの既存の立面マップは、店舗の棚割表を共に定義する。
【0037】
7.1 建築計画
ある実施方法では、システムは、
図1に示すように、店舗の現存の建築計画と店舗の既存の棚構造の立面マップをリンク(マージ)することによって、ブロックS130において店舗用のアーキテクチャメタスペースを生成する。一実施例では、ユーザ(例えば、店舗の従業員、ロボットシステムオペレータ)は、演算装置(例えばデスクトップコンピュータ)で実行するブラウザやネイティブアプリケーションで実行するオペレータポータルを介して、例えば、店舗内の壁、棚、列、ドア等の位置のような店舗の2D建築計画のデジタルコピーをアップロードする。この実施例では、システムは、ユーザがアップロードした紙の設計図をデジタル走査してから、このデジタル走査をベクトル化することができる。別の実施例では、システムは、オペレータポータルを介してユーザから提供されるオンラインデータストアへのインターネットリンクから、店舗に対する既存のベクトル化された建築計画を読み出すことができる。
【0038】
あるいは、システムは、一般的には、店舗内の棚構造、キオスク、レジカウンタ、ドアなどの建築レイアウトを定義する標準化された店舗レイアウトを(例えば、特定のチェーン店舗のための標準化された店舗レイアウトの集合から)読み出すことができる。この実施方法では、システムは、例えば、棚構造の欠落や追加、構造柱の配置など、店舗の実際のレイアウトとは大幅に異なる標準化された店舗レイアウト内の領域を識別するようユーザに促すことができ、システムは、それに従って店舗の標準化された店舗レイアウトを更新することができる。
【0039】
その後、システムは、テンプレートマッチング、エッジ検出、パターンマッチング、パターン認識、光学文字認識、色認識、コンテンツベースの画像の読み出し、ポーズ推定、コード読み取り、形状認識、および/またはその他の適切な方法や処理技術を実施して、店舗のマップに記載されたような、店舗のマップに対して前述のように、ベクトル化された建築計画(または、ベクトル化され、標準化された店舗レイアウト)の特徴を棚構造として識別することができる。(以下、建築計画と、店舗の実際の棚構造に対応するメタスペースの特徴は、「仮想棚構造」と称する。)
【0040】
7.2 棚割表と立面マップ
システムは同様に、棚区画と棚の相対的位置を視覚的に、グラフィカルに、および/またはテキスト的に定義し、これらの棚の製品の配置を定義し、店舗全体の棚構造の中のこれらの棚、棚区画、および棚構造などのアドレスを含む既存の棚割表にアクセスすることができる。ある実施方法では、システムは、店舗のあらかじめ定義された棚割表から、ロボットシステムが店舗の実際のマップを生成した時点で最新の立面マップの集合を選択する。あるいは、システムは、テキストスプレッドシートのような製品の位置データベースからこれらのデータにアクセスすることができる。しかし、システムは、その店舗のそのような製品位置および割り当てデータを、その他の形式で収集または読み出すことができる。
【0041】
7.3 アーキテクチャメタスペース内の仮想棚構造
次に、システムは、仮想棚構造、仮想棚区画、仮想通路、仮想壁、仮想ドア、および/または他の仮想の特徴をベクトル化された建築計画から店舗のアーキテクチャメタスペースを定義する新しいベクトル化されたラインマップに変換することによって、アーキテクチャメタスペースを開始することができる。その後システムは、既存の立面マップを、棚割表から、アーキテクチャメタスペース内の対応する仮想棚構造にリンクすることができる。
【0042】
ある実施方法では、システムは、店舗内の棚構造のアドレスまたはその他の識別子を表すベクトル化された建築計画内の特徴を検出する。たとえば、システムは、光学文字認識を実施して、建築計画のテキストから棚構造のアドレスを直接読み出すことができ、次に、建築計画の仮想棚構造への認識された文字列の近接に基づいて、これらの棚構造のアドレスを有するアーキテクチャメタスペース内の仮想棚構造にこれらの棚構造のアドレスをラベル付けすることができる。(システムは、建築計画の中の、棚区画、通路、壁、ドアなどのアドレスを同様に認識することができ、アーキテクチャメタスペースの対応する特徴にこれらのアドレスを書き込むことができる。) アーキテクチャメタスペース内の各仮想棚構造に対して、システムは、仮想棚構造からの棚構造のアドレスを、店舗の立面マップの集合の中の棚割表に関連づけられた棚構造のアドレスにマッチングさせ、次いでプラノグラムIDをアーキテクチャメタスペース内の仮想棚構造に書き込むことができる。したがって、システムは、類似の棚構造のアドレスタグに基づいて、アーキテクチャメタスペース内の仮想棚構造に棚割表をリンクさせることができる。
【0043】
別の実施方法において、棚割表は、店舗全体にわたる棚構造の立面マップを、店舗内でこれらの棚構造の相対的位置にリンクする棚割表レイアウトを含むこともできる。したがって、システムは棚割表レイアウトに対して棚割表のレイアウトを歪め(例えば、回転、平行移動、全体的な歪み、局所的な歪み、その他の操作)、これらの立面マップの位置をアーキテクチャメタスペース内で識別された仮想棚構造に位置合わせすることができるようになり、次いで、棚割表レイアウトからアーキテクチャメタスペース内の一致する仮想棚構造に立面マップ識別子を転送する。
【0044】
上記の実施方法では、システムは、アーキテクチャメタスペース内の仮想棚構造間の仮想通路を識別し、隣接する通路に向かった棚割表に対面するアーキテクチャメタスペース内の仮想棚構造にリンクされた棚割表の方位を決定することもできる。しかし、システムは、他の方法や技術を実施して、既存の店舗の棚割表をアーキテクチャメタスペース内の仮想棚構造にリンクすることもできる。
【0045】
7.4 アーキテクチャメタスペースでの仮想棚区画
アーキテクチャメタスペースで表される仮想棚構造では、上述のように、仮想棚構造に一致する棚割表で定義された棚区画の絶対位置または相対位置をマッピングすることによって、システムは棚区画を仮想棚構造に沿って描写することができる。一実施例では、システムは、棚区画の絶対寸法または相対寸法と、棚区画のアドレスを棚割表から抽出し、これらの棚区画寸法をメタスペース内の対応する仮想棚構造にマッピングして仮想棚構造に沿って仮想棚区画の位置を決定し、その後、アーキテクチャメタスペースの仮想棚構造の各棚区画に棚割表からの対応するアドレスをラベル付けする。別の実施例では、システムは、2D棚割表を、棚構造内の棚区画の相対的位置を表す1Dライン集合に変換し、これらのラインを対応する棚区画アドレスと共にラベル付けし、メタスペースの仮想棚構造の端部に1Dライン集合の端部を固定し、仮想棚構造の反対側の端部で終端するように1Dライン集合をスキューさせ、1Dライン集合内のこれらのオーバーレイされたラインに従って、アーキテクチャメタスペース内の仮想棚構造内の仮想棚区画を定義し、アーキテクチャメタスペース内の仮想棚構造に対してこのように定義された対応する仮想棚区画に対し、これらのオーバーレイされたラインからの棚区画アドレスを1Dライン集合に書き込む。さらに別の実施例では、システムは、店舗のための標準的な棚区画幅(例えば、4フィート)を読み出し、この標準棚区画幅に基づいて仮想棚構造内の仮想棚区画を描写し、仮想棚構造に一致した現存の棚割表に定義されている最も近い棚区画からの棚区画アドレスを、仮想棚構造内のこれらの仮想棚区画に転送することができる。
【0046】
そして、システムは、アーキテクチャメタスペース内の各仮想棚構造に対して、これらのプロセスのいずれか1つ以上を繰り返すことができる。しかし、システムは、他の方法や技術を実施して既存の棚割表をメタスペース内の仮想棚構造にリンクし、既存の棚割表に定義された棚区画の寸法と位置から仮想棚構造の棚区画を定義し、既存の棚割表(またはプロダクトポジションデータベースなど)からの棚区画アドレスを有するアーキテクチャメタスペース内の仮想棚区画の部分領域にラベル付けすることができる。
【0047】
また、システムは、同様の方法および技術を実施して、メタスペース内の仮想棚区画のサブ領域に、棚のアドレスおよび立面マップの集合から抽出された棚の垂直位置をラベル付けすることもできる。例えば、システムは、メタスペース内の各棚区画に、総高さ、棚区画に含まれる棚の数、および/または棚区画内の棚の垂直方向の位置などをラベル付けすることができる。また、システムは、立面マップの集合から抽出されたカテゴリアドレス、通路アドレス、および/またはスロットアドレスを使用して、アーキテクチャメタスペースにラベルを付けることもできる。
【0048】
したがって、システムは、建築計画(または標準化された店舗レイアウト)と店舗からの既存の棚割表からデータを集約して、店舗内の棚構造と棚区画の予想位置とアドレスを示すベクトル化された2Dラインマップを含む、店舗のアーキテクチャメタスペースを形成することができる。したがって、アーキテクチャメタスペースは、店舗内の通路、棚構造、棚区画などの計画された場所や寸法を含む、店舗の「計画された」表現を定義することができる。
【0049】
7.5 手動による棚構造の識別
システムは、さらに、または代替的に、ユーザ(例えば、店舗の従業員またはロボットシステムオペレータ)とインターフェースをとることにより、建築計画中の棚構造を識別してラベル付けすることができる。一実施例では、システムはオペレータポータルとインターフェースをとり、(ベクトル化された)建築計画をユーザに提示する。この実施例では、ユーザは建築計画内の棚構造上のカーソルをドラッグするなどにより、棚構造に対応する建築計画内の領域を示すことができる。したがって、ユーザが建築計画の領域に連続的なカーソル入力を描画するとき、システムは、完全にこの連続的なカーソル入力を境界付けするこの建築計画内のラインの集合を選択して、このラインの集合を棚構造にラベル付けすることができる。この実施例では、ユーザは、例えば、テキストによる棚構造のアドレスを、建築計画の識別した棚構造に入力するなどして、建築計画の棚構造をタグ付けまたはラベル付けすることができる。さらに、システムは、オペレータポータルとインターフェースをとって、建築計画内のカテゴリ、通路、棚区画、および/または棚などを識別およびラベル付けするユーザ入力を収集することができる。
【0050】
システムは、類似の方法および技術を実施して、ユーザ(例えば、店舗のオペレータまたは管理者)に、抽出されたアドレスの精度に対して低い信頼性が計算された建築計画に表された棚構造のサブセット、たとえば、建築計画に表された棚構造のための棚構造のアドレスを手動で提供するように促すことができる。
【0051】
したがって、システムは、ユーザ確認された棚構造およびユーザが指定した棚構造のアドレスに対応するラインの集合を含むアーキテクチャメタスペースにアクセスすること、または開始することができる。上述のように、システムは、次いで、店舗の既存の棚割表からアーキテクチャメタスペースに、例えば、アーキテクチャメタスペース内の仮想棚構造物にタグ付けされた同様の棚構造のアドレスと店舗の棚割表に基づく、棚区画の位置やアドレス、棚の位置やアドレスなどのようなデータを転送することができる。しかし、システムは、他の方法または技術を実施して、アーキテクチャメタスペース内の通路、棚構造、棚区画、および/または棚などを識別し、これら対応するアドレス、IDまたは他のポインタなどの仮想要素に対し、棚割表や、店舗用の製品位置データベースに保存されたデータをラベル付けすることができる。
【0052】
7.6 既存のアーキテクチャメタスペース
あるいは、システムは、デスクトップコンピュータまたは他の演算装置上で実行されるオペレータポータルのインスタンスを介して、ユーザによってアップロードされるような既存のアーキテクチャメタスペースにアクセスすることができる。しかし、システムは、他の方法または技術を実施して店舗のアーキテクチャメタスペースを生成またはアクセスすることもできる。
【0053】
8.正規化されたメタスペース
方法S100のブロックS140は、(実際の)マップの特徴にアーキテクチャメタスペースの特徴を整合させることによって、正規化されたメタスペースを生成することを規定している。一般的に、ブロックS140では、システムは、アーキテクチャメタスペース内の仮想要素を、ブロックS120のロボットシステムから収集された店舗の実際のマップ内の実機能に合せ、それによって、店舗内の通路、棚構造および/または棚区画などの実際の位置を表すラベル付き要素を含む正規化されたメタスペースにアーキテクチャメタスペースを変換する。特に、ロボットシステム(またはコンピュータシステム)は、店舗を移動するロボットシステムが収集した走査データから実際のマップを計算し、よって、実際のマップは、例えば、店舗内の棚構造間の実際のギャップ、隣接する棚構造のずれ、省略した、または追加した棚構造や棚区画、実際の構造要素(実施例えば柱)の位置などのような、固有の建築計画から、または店舗の標準化されたレイアウトからの実際の偏差を含む、店舗の実際のレイアウトを表す。
【0054】
システムは、その実際のマップを店舗のマスターレイアウトとして使って、アーキテクチャメタスペース内の特徴を、マスターレイアウトの特徴にそろえて正規化されたメタスペースを形成し、ブロックS160の正規化されたメタスペースから生成されたウェイポイントが、建築計画またはアーキテクチャメタスペースで定義されるような棚構造や棚区画などのおおよその位置ではなく、店舗内の棚構造や棚区画などの真の位置に従って配置されるように、このマスターレイアウト内の特徴に整合させることができる。したがって、ブロックS140では、システムは、棚構造間の実際のギャップ、隣接する棚構造の位置ずれ、建築計画から省略された店舗内の棚構造、建築計画上に追加された店舗内の棚構造、および店舗内の棚区画の位置などを表す正規化されたメタスペースを生成することができる。
【0055】
ある実施方法では、システムは、アーキテクチャメタスペース内の大容量または「グローバルな」特徴のクラスタ(棚構造、ドア、周辺壁など)を実際のマップ内の類似特徴に一致させることによって、アーキテクチャメタスペースを実際のマップに縮小して、回転的に整合させる。次に、システムは、アーキテクチャメタスペースで識別された仮想棚構造を、位置および幾何学的類似度に基づいて実際のマップ内の特徴(例えば、線、隣接点の線)を用いて関連付け、
図1に示すように、アーキテクチャメタスペース内の棚構造を表すラインベクトルを局所的に歪ませ、スケーリングし、回転させ、平行移動させ、あるいは変更して、実際のマップ内の関連する特徴(例えば、線、隣接点の線)と局所的に整列させ、それによって、アーキテクチャメタスペースを、店舗内での棚構造の実際の位置を表し、棚構造、棚区画などのアドレスでラベル付けされ、ベクトル化されたラインマップを格納した正規化されたメタスペースに変換し、このような特徴を店舗の既存の棚割表(または製品位置のデータベース)にリンクする。
【0056】
例えば、システムは、上述のようにブロックS120のマップに表された棚構造を検出し、上記のようにブロックS130のアーキテクチャメタスペースに表された棚構造を検出し、次に、ブロックS140において、マップで検出した棚構造が、アーキテクチャメタスペース内で検出された棚構造に対して略中心となるような変換を計算することができる。その後、変換を棚構造に適用し、アーキテクチャメタスペース内の棚構造のアドレスの位置に適用することによって、システムは正規化されたメタスペースを生成することができる。
【0057】
上記の実施例では、システムは、店舗に関連付けられた小売りブランドに対し、標準化された店舗レイアウトにアクセスし、小売りブランドに関連付けられた店舗の棚構造の一般的なターゲット位置を画定し、ブロックS130で、標準化された店舗レイアウトで表される棚構造を検出し、ブロックS140で、マップで検出された第1の棚構造のサブセットを標準化された店舗レイアウト(例えば、そのような特徴が棚構造を表す閾値信頼度より大きい)で検出された第1の棚構造のサブセットに対して略中心となるような変換を計算する。次に、システムは、変換をアーキテクチャメタスペースに適用することによって、第1の棚構造のサブセットの位置とアドレスを使用して、正規化されたメタスペースを初期化することができる。しかし、システムは、標準化された店舗レイアウトの最も近い棚構造の位置から閾値距離以上離れているか、標準化された店舗レイアウト内の棚構造に一致しないマップ内の第2の棚構造のサブセットを閾値の信頼度よりも高い信頼度で識別することもできる。次いで、システムは、マップ内の第2の棚構造のサブセットを、標準化された店舗レイアウト内の第2の棚構造のサブセットに手動でリンクさせ、これら未知の棚構造のアドレスを提供し、および/または棚構造を表す必要のない一部またはすべての棚構造をマークすることができる。最後に、システムは、第2の棚構造のサブセット(または残りの未知の棚構造)をマップの正規化されたメタスペースに挿入して、アーキテクチャメタスペース内の棚構造の第2サブセットから正規化されたメタスペースの第2の棚構造のサブセットに、ユーザが手動で提供するリンクに基づいてアドレスを書き込み、および/またはユーザによって主導で提供されたように棚構造へのアドレスを書き込むことができる。
【0058】
システムは、同様の方法および技術を実施して、アーキテクチャメタスペース内で識別されラベル付けされた仮想棚区画と実際のマップ内の特徴とを関連付けて、アーキテクチャメタスペースの棚区画を表すラインベクトルを局所的に歪ませ、スケーリングし、回転させ、平行移動させ、あるいは変更して、実際のマップ内で関連付けられた特徴と局所的に整合させてアーキテクチャメタスペースを正規化されたメタスペースに変換することができる。
【0059】
したがって、システムは、アーキテクチャメタスペース内のラベル付き特徴を実際のマップ内の特徴に関連付け、アーキテクチャメタスペース内のラベル付き特徴を再度局所的に位置決めして実際のマップの関連付けられた特徴と整合させてブロックS140で正規化されたメタスペースを生成し、ブロックS140で、棚構造のアドレス(すなわちラベル)、棚区画アドレスなどをアーキテクチャメタスペースから正規化されたメタスペースに変換することができる。しかし、システムは、その他の方法または技術を実施して、ラベル付けされたアーキテクチャメタスペースを、店舗内で既知の棚構造(および/または他の要素)の実際の位置を表す正規化されたメタスペースに変換することができる。
【0060】
9.店舗の座標系
方法S100のブロックS150は、正規化されたメタスペース内の店舗の座標系を定義することを規定している。一般的に、ブロックS150では、システムは、ブロックS160における座標系に対するウェイポイントの横方向距離、長手方向距離、および方位(例えば、ヨー角)の計算に備えて正規化されたメタスペース内で座標系を位置決めする。
【0061】
一実施方法では、システムは、ブロックS120のロボットシステムから受信された位置データに基づいて、正規化されたメタスペースの、店舗内に載置されたドックの位置にラベルを付け、次に、正規化されたメタスペース内のドックと一致する座標系の原点を定義する。この実施方法では、システムは、次いで、座標系のx軸を、正規化されたメタスペースで識別された最長の線形壁に整合させる。ただし、システムは他の方法で、またはその他のパラメータに従って正規化されたメタスペース内に座標系を配置したり、位置決めしたりすることができる。
【0062】
10.ウェイポイントの生成
方法S100のブロックS160は、正規化されたメタスペース内の棚構造の位置とロボットシステムの撮像能力に基づいて、正規化されたメタスペース内のウェイポイントの集合を定義することを規定し、ここで、各ウェイポイントは、座標系に対する位置および方位を定義する。方法S100のブロックS170では、ウェイポイントの集合内の各ウェイポイントのラベル付けを、ウェイポイントに近接した棚構造のアドレスとともに規定している。一般的に、ブロックS160では、システムは、
図1および6に示されるように、ロボットシステムが正規化されたメタスペースに示されたラベル付き棚構造の位置に基づいて移動し、デジタル写真画像をキャプチャするための座標系に対する店舗内の位置を画定するウェイポイントのリストを生成する。ブロックS170では、システムは、正規化されたメタスペースに示されている棚構造または棚区画等の近傍のアドレスに基づいて、各ウェイポイントのロボットシステムのカメラの視野に入ると予測される棚構造または棚区画のアドレスを書き込む。
【0063】
ある実施方法では、システムは、正規化されたメタスペース内でラベル付けされた各棚区画に対して1つのウェイポイントを生成する。例えば、ブロックS160では、システムは、店舗の棚割表から、第1の棚構造の第1のアドレスに関連付けられ、第1の棚構造の第1の側面に割り当てられた製品陳列面の位置を指定する第1の立面マップにアクセスし、第1の棚構造における第1の棚区画の集合の位置を第1の立面マップから抽出し、正規化されたメタスペース内の第1の棚構造の位置に第1の棚区画の集合の位置を投影して正規化されたメタスペース内の第1の棚構造の棚区画を位置決めすることができる。この実施例では、これにより、システムは、正規化されたメタスペースに表される第1の棚構造における各棚区画間で長手方向に中心合わせしたウェイポイントを定義することができる。正規化されたメタスペース内で、座標系に対し、第1の棚構造の長手面に垂直な角度方位(例えばヨー角)を正規化されたメタスペース内で計算し、第1のウェイポイントのサブセット内の各ウェイポイントに角度方位を書き込むことができる。したがって、各ウェイポイントに対して、システムは、ロボットシステムが、ウェイポイントによって定義された座標系に対する位置と方位に移動せしめられたとき、ロボットシステム内のカメラの視野内で棚区画が横方向の中央に配置されるように、正規化されたメタスペース内で表される棚構造内の対応する棚区画間のウェイポイントを中心合わせする。
【0064】
この実施方法では、ロボットシステムは、そのマストの片側に配置されたカメラのセットを含むことができ、システムは、ロボットシステム内のカメラに対して予め設定されたターゲット撮像距離にアクセスして、その後、ロボットシステム内の各カメラは、これらのウェイポイントによって定義される位置と方位を占拠するときに、この予め設定したターゲット撮像距離によって、隣接する棚構造の面からオフセットされるように、正規化されたメタスペース内に表される棚構造に沿ってウェイポイントを定義することができる。
【0065】
あるいは、システムは、ロボットシステムにおけるカメラの光学性能(例えば、ズームレンジ、解像度)、ロボットシステムにおけるカメラの位置、および製品在庫データへの変換のための画像解像度要件などを読み出すことができ、これらのデータおよび画像要件に基づいて、対応する棚区画からの各ウェイポイントの距離を設定することができる。
【0066】
例えば、システムは、第1の棚構造のアドレスに関連付けられた第1の立面マップから、正規化されたメタスペースで表される第1の棚構造の高さを抽出し、第1の棚構造の高さと、ロボットシステムに組み込まれたカメラの光学性能(例えば、ズーム、解像度)に基づいて、第1の棚構造からの目標とする横方向のオフセット距離を計算し、次に、この目標とする横方向のオフセット距離によって、第1の棚構造の長手面から横方向にオフセットされた第1のウェイポイントのサブセットを定義することができる。別の実施例では、システムは、対応する棚区画の前にある特定の距離にあるウェイポイントを位置決めすることができ、これにより、ロボットシステムの位置精度(例えば、目標とするウェイポイントの位置から±4”、目標とするヨー角から±1°)を考慮して2台のカメラがキャプチャする画像解像度を最大限としながら、2台のカメラは、ロボットシステムのマストに沿って垂直にオフセットして棚区画の全高をキャプチャすることができる。したがって、システムは、位置と方位を、座標系に対する(x、y、δ)座標の形で、各棚区画に正規化されたメタスペース内でラベル付けされたウェイポイントに書き込むことができる。
【0067】
別の実施方法では、正規化されたメタスペースでラベル付けされた各仮想棚区画に対して、システムは、棚区画の前方に中心合わせされた仮想領域と、ロボットシステムが領域内の任意の位置にあるときにロボットシステムの一方の側のカメラの視野内にくる棚区画の全高とを、(前述のように、ロボットシステムの位置精度を考慮して)画定することができる。これにより、上述のように、マストの一側(例えば左側)に第1の組のカメラと、マストの対向する側(例えば右側)に第2の組のカメラとを含むロボットシステムでは、システムは、
図1に示すように正規化されたメタスペース内の対向する棚区画に対応する2つの重なり合う仮想領域を検出し、これら2つの重なり合う仮想領域の交点を計算して、2つの対向する棚区画が、完全にロボットシステムの両側のカメラの視野内にあるように、2つの対応するウェイポイントを、交点を有する(x、y、δ)座標を規定する単一のウェイポイントに圧縮することができる。したがって、システムは、2つの対向する棚区画(すなわち、共通通路を横切って互いに面する2つの棚区画)に対応する2つのウェイポイントを、2つの棚区画の間で横方向および長手方向に中心合わせされた単一のウェイポイントに圧縮することができる。したがって、棚構造の高さに対する最大撮像距離以下の幅の通路によって分離された対向する2つの棚構造に対し、システムは、通路を横切る方向に中心合わせし、通路に沿って対向する棚区画の各対に対して棚区画の両端の間に中心合わせしたウェイポイントの列を通路に沿って生成することができる。
【0068】
しかし、高すぎる棚構造の場合、および/または、1つのウェイポイントで、ロボットシステムの両側の棚区画の画像をキャプチャするには通路が広すぎる場合、システムは通路に沿って2列のウェイポイントを生成することができ、ウェイポイントの各列は、ロボットシステムが1つの隣接する棚構造内の棚区画の画像をキャプチャする通路に沿った位置を画定する。
【0069】
したがって、システムは、ロボットシステムが撮像ルーチンの間に店舗内の各ウェイポイントに移動したときに、少なくとも1回、ロボットシステム内の少なくとも1つのカメラの視野内に、店舗内の各棚区画が完全に入る位置と方位(例えば、店舗の座標系の座標の集合(x、y、δ)を定義するウェイポイントの集合を生成することができる。あるいは、システムは、店舗内の棚区画のサブセットに対するウェイポイントの集合を生成することができる。例えば、システムは、対応する棚割表または製品位置データベースに格納されたカテゴリ(例えば、化粧品、箱入りシリアル、缶詰品、洗剤、バラ製品、バラのデリミートなど)および/または棚タイプ(例えば、ペグボード、フラット棚、ガラスデリケース、バラ製品用バスケットなど)を有する正規化された名前空間内の各仮想棚構造または各仮想棚区画をラベル付けすることができる。この実施例では、システムは、化粧品、箱入りシリアル、缶詰品、および洗剤カテゴリに対応する棚区画の、および/またはペグボードタイプおよび平棚タイプのラベルを備えた棚区画のウェイポイントを生成することができるが、このシステムはバラ製品にとバラのデリミートに対応する棚区画および/またはガラスデリケースやバラ製品用のバスケットにラベル付けされた棚区画のウェイポイントを除外することができる。しかし、システムは、他の棚区画カテゴリ、タイプ、または他のパラメータに基づいて、店舗内の棚区画のサブセット(または棚構造、棚などのサブセット)用のウェイポイントを選択的に生成することができる。
【0070】
各ウェイポイントに対し、システムは、
図1に示すように、ロボットシステムがウェイポイント(例えば、ウェイポイントによって定義された(x、y、δ)座標からの閾値距離および角度オフセット内に移動せしめられる)に移動すると、画像を記録するロボットシステム内のカメラのアドレスをウェイポイントに書き込むこともできる。例えば、ロボットシステムの右側が高さ4フィートの棚区画に面するが、ロボットシステムの左側は近接する棚区画に面していない第1のウェイポイントに対しては、ロボットシステムは、ロボットシステム内の右下カメラのアドレスを書き込み、ロボットシステムが第1のウェイポイントに達したときに右下のカメラを起動して低い棚区画の画像をキャプチャすることができる。同様に、ロボットシステムの右側が高さ7フィートの棚区画に面するが、ロボットシステムの左側は棚区画近傍に面していない第2のウェイポイントに対しては、ロボットシステムは、ロボットシステムの右下カメラのアドレスと右上のカメラのアドレスを第2のウェイポイントに書き込み、ロボットシステムが第2のウェイポイントに達したときにロボットシステムの右下のカメラと右上のカメラを起動して高い棚区画の画像をキャプチャすることができる。さらに、ロボットシステムの右側が高さ7フィートの第1の棚区画に面し、ロボットシステムの左側は高さ7フィートの第2の棚区画に面する第3のウェイポイントに対しては、ロボットシステムは、ロボットシステムの右下のカメラ、右上のカメラ、左下のカメラ、および左上のカメラのアドレスを第3のウェイポイントに書き込み、ロボットシステムが第3のウェイポイントに到達すると、ロボットシステムの4台すべてのカメラを起動して2つの高い棚区画の画像をキャプチャすることができる。しかし、システムは、他のパラメータまたはスキーマに従って、カメラのアドレスを使用して、ウェイポイントにラベルを付けることができる。
【0071】
システムはまた、ロボットシステムが、
図1に示すように、店舗内の、ウェイポイントで定義された位置および方位に近接しているときには、ウェイポイント内の各カメラアドレスを、対応するカメラの視野内にあることが予想される棚構造、棚区画、棚、および/またはスロットなどのアドレスと関連付けることもできる。1つの実施例では、ウェイポイントでアドレス指定されたカメラのリモートコントローラ上での物理的位置、ウェイポイントで定義された位置、ウェイポイントで定義された方位、および正規化されたメタスペースに含まれるラベル付き特徴に基づいて、システムは、いったんロボットシステムがウェイポイントに移動すると、カメラの視野に入る棚構造、棚区画、棚、および/またはスロットなどを予測することができる。この実施例では、システムは、正規化されたメタスペースからカメラの視野内に入ると予測されるこの棚構造、棚区画、棚、および/またはスロットなどのアドレスを収集し、これらのアドレスをウェイポイント内の対応するカメラアドレスに関連付けることができる。したがって、ロボットシステムがウェイポイントに移動し、ウェイポイントで指定された特定のカメラを介して画像をキャプチャすると、ロボットシステムは、ウェイポイント中の特定のカメラのアドレスに関連付けられた棚構造、棚区画、棚、および/またはスロットなどのアドレスを画像メタデータに書き込むことができ、システムは自動的に画像を棚割表に適合させ、画像に示す製品のSKUを予測し、これらの棚構造、棚区画、棚、および/またはスロットのアドレスに基づいて画像の領域に適合するラベル付きのテンプレート画像を選択する。
【0072】
上記の実施例では、ブロックS160で、ウェイポイントの集合内の各ウェイポイントに対して、システムは、ロボットシステムがウェイポイントで定義された位置と方位を占拠すると、光学センサの視野に入ると予測される特定の棚構造と特定の棚区画のアドレスを有するウェイポイントにラベルを付けることができる。その後の撮像ルーチンでは、システムは、ブロックS190で、ウェイポイントの集合のうち、第1の棚構造の第1の棚区画に隣接する第1のウェイポイントを占拠しつつ、ロボットシステムによって記録された第1の画像を受信し、第1のウェイポイントに格納されている第1の棚区画の第1のアドレスに基づいて、第1の棚区画に割り当てられた製品の識別子の第1のリストにアクセスし、第1のウェイポイントとともに格納された製品の第1のリスト内の製品を表すテンプレート画像のデータベースから第1のテンプレート画像の集合を取得し、下記に説明するように、ブロックS190で、第1の画像と、第1のテンプレート画像の集合のテンプレート画像の特徴間の類似度に基づいて、第1の棚区画の棚の製品を識別することができる。
【0073】
したがって、システムは、ロボットシステムの位置精度の位置決め能力、ロボットシステムにおけるカメラの位置、ロボットシステムにおけるカメラのズームおよび解像度機能等のような、店舗内に配置されたロボットシステムの運動および撮像仕様に特有なウェイポイントの集合を生成することができる。しかし、システムは、その他の方法または技術を実施して、1つ以上の店舗のウェイポイントの位置と方位を定義し、ロボットシステムの1つ以上のカメラを指定してウェイポイントで画像をキャプチャし、ウェイポイントにおけるカメラの視野内の棚構造、棚区画、棚、および/またはスロットなどを判定し、カメラによる撮像のコールアウトをこの棚構造、棚区画、棚、および/またはスロットなどのアドレスと関連付けることができる。
【0074】
11.パス計画
図5に示すように、方法S100の1つの変形例には、ブロックS162が含まれ、これには、ウェイポイントの集合中の各ウェイポイントを占拠する際に、ロボットシステムに組み込まれたカメラの視野の棚構造の集合内のスロットに割り当てられた製品の製品値に基づいて、ウェイポイントの集合に対する順序を決定し、撮像ルーチンの実行中にウェイポイントの集合の順序をロボットシステムに提供することを規定している。一般的に、ブロックS162では、システムは、ブロックS160で定義されたウェイポイントの順序を定義することができる。
【0075】
例えば、システムは、正規化されたメタスペースで表される各棚構造の各棚区画について、棚割表によって棚区画に割り当てられた製品の値の線形結合を計算し、ウェイポイントの集合の各ウェイポイントの、ウェイポイントに隣接する棚区画に割り当てられた製品の値の線形の組合せに基づいて、値をウェイポイントに割り振って、ブロックS162のセットに割り当てられた値に基づいて、ウェイポイントの集合に割り当てられた値に基づくウェイポイントの集合の順序を定義することができる。この実施例では、システムは、下記に説明するように、ウェイポイントの集合に対して順番を計算することができ、これにより、ロボットシステムが、店舗のドッキングステーションから割り当てられた製品の値の最大線形結合に関連付けられた第1の棚区画に隣接する第1のウェイポイントに、そして、関連付けられた製品の値の最小線形結合に関連付けられた第2の棚区画に隣接する第2のウェイポイントに、そして、そこからドッキングステーションに戻るまでに通過する総距離を最小限とし、次の撮像ルーチンの間にロボットシステムが消費するエネルギーを最小限とし、その他の1つ以上の重み付けパラメータを達成する。そして、ブロックS180では、システムは、ウェイポイントの集合とウェイポイントの集合の順番とを撮像ルーチンの間に実行するロボットシステムに提供することができる。
【0076】
11.1 個別のウェイポイントのランキング
このバリエーションでは、
図5に示すように、システムは店舗内の各ウェイポイントの値を計算し、これらのウェイポイントを値でランク付けして、それによってこれらのウェイポイントを移動するための順序を設定する。
【0077】
一実施方法では、システムは、店舗の棚割表とマップ(例えば、棚割表に参照されるマップジオメトリ)にアクセスし、ウェイポイントの集合の中の各ウェイポイントにおいてロボットシステムに一体化したカメラの視野内の製品の合計の製品値(以下で示す)を計算する。例えば、特定のウェイポイントの場合、システムは:ウェイポイントで指定されたロボットシステムの方位に基づいて、また、店舗のマップで定義されたウェイポイントから隣接する棚構造までの距離に基づいて、棚割表内の特定のウェイポイントの位置を識別し、ロボットシステムに統合されたカメラの周知の視野を棚割表上に投射し、ウェイポイントを占拠するロボットシステムが記録した画像の集合でキャプチャできる棚構造のスロットの集合(例えば、スロットアドレスの集合)を識別し、スロットアドレスの集合を棚割表に渡して、これらのスロットに割り当てられたSKUの集合を読み出し、その後、ウェイポイントによって定義しされた方位の実際の空間内で特定のウェイポイントを占拠するときに、このウェイポイントを、1つ以上の固有のSKUとロボットシステムの視野の各SKUの多数の陳列面と関連付けることができる。この実施例では、システムは店舗全体を通じて定義された各ウェイポイントに対してこのプロセスを繰り返して、各ウェイポイントを固有のSKUの集合およびSKU陳列面に関連付けることができる。システムは、これらのSKUおよびSKU陳列面を一連の撮像ルーチンにわたって保存および実施することができ、また、システムは、棚割表が改訂されるたびに、または、新しい棚割表が店舗に対してアクティブにされるたびに、このプロセスを繰り返すこともできる。
【0078】
次いで、システムは、各ウェイポイントに関連付けられたSKUの製品値によって、ウェイポイントの集合をランク付けすることができる。例えば、現在の棚割表のスロットに割り当てられた各SKUに対して、システムは、店舗で時間単位あたり(例えば1日あたり)販売されるSKUとSKUの単位数に関連付けられた収益性(または「マージン」)の関数として「製品値」(または「優先度」または「重量」)を計算することができる。この実施例では、システムは、SKUのマージンと販売率の積として特定SKUの製品値を計算することができる。すなわち、
製品値=マージンx一日あたり販売する単位数
これにより、システムは、各ウェイポイントを占拠する際にロボットシステムの視野内のスロットに割り当てられた単一SKUの製品値を最大化することにより、ウェイポイントをランク付けすることができる。あるいは、各ウェイポイントに対して、システムは、特定のウェイポイントを占拠するときに、ロボットシステムの視野内のすべての識別可能なスロットに割り当てられたSKUの製品値を合計することによって、特定のウェイポイントについて「集約製品値」を計算することができ、その後、システムは、最大集約製品値によって、ウェイポイントをランク付けすることができる。
【0079】
別の実施方法では、システムは、ほぼリアルタイムのPOS販売データに基づいて、ウェイポイントをランク付けすることができる。この実施方法では、ブロックS110で撮像ルーチンを実行するためにロボットシステムを送る(例えば、直前に)準備する際、システムは店頭に設置されたPOSシステムからの販売データにアクセスして、現在の時間まで、例えば、5分以内、30分以内、1時間以内、または8時間以内など、または、店舗での最後の在庫補充期間以来、またはロボットシステムが完了した最後の撮像ルーチン以来、先行する期間だけ店舗で販売されている各SKUの量を識別することができる。次に、システムは、各SKUに割り当てられたマージンに基づく店舗の各SKUの現在の製品値(例えば、システムによってホストされる管理者ポータルを介して地域マネージャによってリモートメモリに書き込まれる)と、以下のようなリアルタイムのSKUの販売頻度を、
製品値=マージンx最後の撮像ルーチン以来販売した単位数
で計算することができる。店舗全体にわたって定義される各ウェイポイントについて、システムは、特定のウェイポイントを占拠しているとき、ロボットシステムの視野内にあるSKUの最近の販売頻度を表す新しい製品値に基づいて、特定のウェイポイントについての集約製品値を再計算することができる。これにより、システムは各ウェイポイントをランク付けしたり優先順位を付けたりすることができる。
【0080】
同様の実施方法では、システムは、履歴の販売頻度に基づいて、ウェイポイントに優先順位を付けることができる。例えば、ブロックS110で撮像ルーチンを実行するためにロボットシステムを送る準備では、システムは、例えば、最終日、週、月、四半期、または年の販売データのような、店舗の現在の棚割表で指定されたSKUの履歴販売データを、現在の曜日に対しては、過去5週間のこの同じ曜日からの販売データ、現在または今後の休日に対しては、同じ休日または休日シーズンの最後のインスタンスからの販売データ、雨の春の日に対しては、雨の春の日の最後の2つのインスタンスからの販売データなどを読み出すことができる。この実施例では、システムは、店舗で実施されたPOSからこれらの販売データを取得し、以下に記載される方法および技術を実施することで、過去の撮像ルーチンで収集された画像で識別された製品陳列面の数の変化からこれらの販売データを抽出することができる。各SKUに対して、システムは、特定SKUの格納されたマージンを、特定SKUの履歴番号または周波数に乗算して、SKUの新製品値を算出することができ、各ウェイポイントについて、システムは、前述のように、新しい集約製品値を計算することができる。これにより、システムは、集約製品値によって、店舗全体にわたってウェイポイントを自動的に再ランク付けすることができる。
【0081】
11.2 個々のウェイポイント値によるウェイポイントの順序付け
システムは次に、ロボットシステムが、ウェイポイントの順位に基づいて、次の撮像ルーチンの間にウェイポイントの集合の中を移動する順序を定義することができる。
【0082】
ある実施方法では、システムは、次のようにしてウェイポイントの集合を順序付ける。すなわち、ロボットシステムによって実行されたときに、ロボットシステムは、ドックのホーム位置から集合の中で最も大きい集約製品値に関連付けられた第1のウェイポイントに移動し、撮像ルーチンを実行してホーム位置と第1のウェイポイントの間の他のウェイポイントのそれぞれで画像の集合をキャプチャし、これら他のウェイポイントのそれぞれを完了したとしてマークし、第1のウェイポイントに到達すると、撮像ルーチンを実行して第1のウェイポイントで画像の集合をキャプチャし、第1のウェイポイントが完了したことをマークする。この実施方法では、システムは、次のようにして、残りのウェイポイントの集合を順序付ける。すなわち、第1のウェイポイントで画像を収集した後で、ロボットシステムは、残りのウェイポイントの集合に対する最大の集約製品値に関連付けられた、すでに完了したウェイポイントとの重なりを最小限に抑える通路を通って第2のウェイポイントに向かって移動し、撮像ルーチンを実行して、第1のウェイポイントと第2のウェイポイントの間の他のウェイポイントのそれぞれで画像の集合をキャプチャし、これらの他のウェイポイントのそれぞれを完了したとしてマークし、第2のウェイポイントに到達すると、撮像ルーチンを実行して第2のウェイポイントで画像の集合をキャプチャし、次に説明するように、店舗のために定義されたすべてのウェイポイントに画像の集合が記録されるまで、または撮像ルーチンが終了するまでの間、第2のウェイポイントを完成させたものとしてマークする。
【0083】
別の実施方法において、システムは、撮像ルーチンの間にロボットシステムによって走査される距離ごとにロボットシステムによって撮像される製品の総製品値を最大にするウェイポイントの集合を通って移動するための順序を計算する。
【0084】
別の実施方法では、システムは、店舗内の各ウェイポイントのためにウェイポイントを占拠するロボットシステムの視野内のスロットに割り当てられた製品の製品値の合計を計算し、閾値製品値よりも大きい製品値の合計に関連付けられた第1のウェイポイントのサブセットを識別し、閾値製品値より小さい製品値の合計に関連付けられたウェイポイントの第2のサブセットを識別し、第1のウェイポイントのサブセット内の各ウェイポイントへの移動を指定するウェイポイントの集合の順序を定義して、その後、ウェイポイントの第2のサブセット内の各ウェイポイントへ移動し、さらにその後、撮像ルーチンの間に、第1のウェイポイントのサブセット内の各ウェイポイントへ移動する。この実施方法では、システムは、ウェイポイントの第1および第2のサブセットを個別に順序付け、店舗内のロボットシステムの開始位置の観点から、撮像ルーチンの途中で横断する最短の合計距離を達成することができる。また、システムは、ロボットシステムの軌道に沿った重複を最小限に抑えるために、完全なウェイポイントの集合の順序を計算し、各ウェイポイントで、集約製品価値の、第1のサブセットを順序付けして、ロボットシステムが横切る単位時間または単位距離ごとの製品画像の製品値を最大限とするか、あるいは、ロボットシステムの軌跡における重複を最小限とし、次に順序付けた第1のウェイポイントのサブセットで完全なウェイポイントの集合に対するウェイポイントの順序を追加することができる。たとえば、棚構造の平行な列を有するほぼ長方形のフロアプランを定義する店舗では、システムは、店舗の近位の端部から店舗の遠位の端部まで順次各通路の上と下に蛇行する蛇行通路を定義し、最小限の通路の重複ですべてのウェイポイントで画像をキャプチャするための店舗の周囲にループが続く(または先行する)ようにし、ロボットシステムがそのドックに戻る途中で横切る経路を最短にするために、閾値を超える集約製品値に関連付けられた、第1のウェイポイントのサブセットの順序を計算し、順序付けした第1のウェイポイントのサブセットとともに蛇行パスを付加することができる。
【0085】
ブロックS162では、システムは、閾値を超える集約製品値に関連付けられたウェイポイントのサブセットを選択する(または、ウェイポイントの集合のうちの最大製品値に関連付けられた予め設定したウェイポイントの数を選択する)ことができ、撮像ルーチンの間、このウェイポイントのサブセットに(少なくとも)2回、そして、店舗の他のすべてのウェイポイントには(少なくとも)1回はロボットシステムを向けるようにロボットシステムの軌道を定義することができるようになる。
【0086】
11.3 棚構造の優先順位によるウェイポイントの順序
あるいは、この変形例では、システムは、ウェイポイントをグループ化して、上述の方法および技術を実施することにより、撮像ルーチンの間に店舗内のウェイポイントのグループ間を移動するための順序を設定することができる。
【0087】
ある実施方法では、システムは、店舗内の各棚構造の長さに沿って定義された列によって、ウェイポイントをグループ化する。次に、システムは、店舗内の各棚構造の棚区画内のスロットに割り当てられた製品の製品値を合計し(すなわち、ウェイポイントの各グループに対して)、製品値の合計の順序で棚構造の集合に優先順位を付け、それに従ってウェイポイントのグループに順序を付け、最大製品値合計に関連付けられた第1の棚構造に沿って定義されたウェイポイントから、最小製品値合計に関連付けられた最後の棚構造に沿って定義されたウェイポイントへのロボットシステムが横切る合計距離を最小限とするように順序付けられたウェイポイントのグループを通る軌跡を計算する。したがって、ロボットシステムを送ってブロックS110で撮像ルーチンを実行する場合、ロボットシステムは、第1の棚構造に移動して、第1のウェイポイントのグループの各ウェイポイントで画像をキャプチャし、次に、店舗の各棚構造に対し、第2の棚構造が実質的に第1の棚構造から除去されていても、第2の棚構造に移動して、第2のウェイポイントの集合の各ウェイポイントで画像をキャプチャできる。同様の実施方法では、システムは、各棚構造に割り当てられた単一SKUの最大製品値によって各棚構造(例えば、ウェイポイントの各グループ)をランク付けし、それに従ってウェイポイントのグループを順序付けることができる。
【0088】
別の実施方法では、システムは、撮像ルーチン全体を通して単位時間当たりに画像化された製品の総製品値を最大にするウェイポイントのグループを移動するための順序を計算することができる。一実施例では、店舗内の棚構造2に沿ったスロットに割り当てられた製品の全製品値の合計は、4389で最大となる。棚構造1に沿ったスロットに割り当てられた製品の全製品値の合計は、棚構造物2に面しており、1238となる。棚構造18に割り当てられた製品の全製品値の合計は、店舗の反対側の端部の近くで、4285で、2番目に大きい。棚構造9に割り当てられた製品のすべての製品値の合計は、店舗の反対側の端にあり、2831である。そしてロボットシステムは、最も近い棚構造18の近くに配置されている。この実施例では、システムは、ロボットシステムが最初に棚構造18を撮像し、続いて棚構造9を、続いて棚構造2を、そして最終的には棚構造1を撮像し、撮像ルーチン全体を通して単位時間ごとにロボットシステムが撮像する製品の製品値を最大化するように、店舗内のウェイポイントを移動する順序を設定することができる。
【0089】
上記の実施方法において、システムは、上述の方法および技術を実施して、店舗全体にわたって配置されたSKUの製品値を(再)計算することができる。システムはまた、単一の価値の高い製品を含む(例えば、閾値製品値を超える静的または動的製品値に関連付けられた製品)、あるいは閾値合計製品値を超える全製品値に関連付けられた棚構造を識別選択することもでき、また、撮像ルーチンの間、これらの選択した棚構造に沿って(少なくとも)2回、そしてその他のすべての棚構造に沿って(少なくとも)1回ロボットシステムを方向付ける、ロボットシステムの軌道を定義することもできる。
【0090】
11.4 予定した再在庫補充期間別のウェイポイントの順序付け
別の実施方法では、システムは、予定した在庫補充期間に基づいてウェイポイントの順序付けをする。例えば、システムは、店舗の各セクション(または「カテゴリ」)(例えば、スパイスセクション、缶詰食品セクション、ランドリーセクション、炭酸飲料セクション、および酪農部門など)の補充予定にアクセスし、その後の在庫補充期間を割り当てられた店舗の特定のセクションを識別し、この特定のセクション内にあるウェイポイントのグループを取得し、次の走査期間にわたって、店舗内の他のすべてのウェイポイントに先だって、ウェイポイントのグループを配置するためのウェイポイントの順序を生成することができる。この実施例では、システムは、上述の方法および技術を実施して、例えば、ウェイポイントのグループと残りのウェイポイントの集合とを順序付けして撮像ルーチンでロボットシステムが通過する全距離を最小化することにより、店舗の特定のセクションに対応するウェイポイントのグループと店舗の残りのウェイポイントの集合とを順序付けすることもできる。
【0091】
或いは、店舗の特定セクションの予定した再在庫補充期間の準備において、システムは、上述の通りに生成されたウェイポイントの注文リストを、店舗の特定のセクションに対応するウェイポイントのグループとともに追加することができる。撮像ルーチンの間、システムは、ブロックS140で、以下に記載するように、リアルタイムの指示を生成して提供して、撮像ルーチンの間に収集された画像データに基づいて、高価値スロットを在庫補充することができる。撮像ルーチンの終了時に、システムは、ブロックS150で、撮像ルーチンの最後に記録された画像に基づいて、店舗の特定のセクションに固有の在庫補充リストを生成して、そのセクション固有の在庫補充リストが、店舗の特定のセクションに対する在庫補充期間の開始時に最新となるようにすることができる。
【0092】
システムは、以下に記載するように、マネージャポータルを介して受信されるような、店舗の特定のセクションについての在庫補充期間の手動確認を受け取ると、それに呼応して同様の方法および技術を実施することができる。
【0093】
11.5 予定した配送毎のウェイポイントの順序付け
別の実施方法では、システムは、将来の配送用に予定した製品に基づいて、その店舗の配送予定にアクセスし、次の撮像ルーチンのためにウェイポイントを順序付けすることができる。例えば、システムは、炭酸飲料配達車両が、炭酸飲料の配達を1〜2時間以内に行うように予定していることを示す配送予定にアクセスすることができる。したがって、システムは、ブロックS110において、ロボットシステムを起動して、撮像ルーチンを実行することができる。ブロックS162では、システムは、店舗の炭酸飲料の通路に沿って定義された第1のグループのウェイポイント、続いて、ショップの全体に配置された個別の炭酸飲料のディスプレイ(例えば冷蔵庫など)に隣接する第2の個別のウェイポイントのグループ、そして、その後に店舗の残りの部分のウェイポイントを含む、ロボットシステムに順序付けされたウェイポイントの集合を提供することもできる。第1および第2のウェイポイントのグループが終わると、システムは、ブロックS150において炭酸飲料のための炭酸飲料在庫補充リストと店舗全体にわたる個別の炭酸飲料ディスプレイを撮像ルーチンの間にロボットシステムから収集され、よってロボットシステムが実行する画像データに基づいて生成することができ、店舗(あるいは、店舗への配達製品を代表する炭酸飲料)の関係者は、配達車両が到着したらすぐにこの炭酸飲料在庫補充リストにアクセスして、店舗全体にわたるこれらのスロットへ在庫補充することができる。
【0094】
あるいは、炭酸飲料の予定した配達の準備において、システムは、店舗内の炭酸飲料通路に沿って定義された第1のグループのウェイポイントと、それに続く店舗の全体にわたって配置された個別の炭酸飲料ディスプレイに隣接する第2のグループとを有する、上述の通りに生成された、ウェイポイントの順序付けリストを追加することができる。撮像ルーチンの間、システムは、ブロックS140で、以下に記載するように、リアルタイムの指示を生成して提供して、撮像ルーチンの間に収集された画像データに基づいて、高価値スロットを在庫補充することができる。撮像ルーチンの終了時に、システムは、ブロックS150で、撮像ルーチンの最後に記録された画像に基づいて、スロットに割り当てられた炭酸飲料に固有の在庫補充リストを生成して、その炭酸飲料在庫補充リストが、炭酸飲料配送車両の到着時に最新となるようにすることができる。
【0095】
11.6 手動の選択によるウェイポイントの順序付け
さらに別の実施方法では、システムは、例えばマネージャポータルを介して、店舗のマネージャ、地域のマネージャ、またはその他の共同出資者から店舗内の関心領域の選択を受信し、そして順序付けした店舗のウェイポイントの集合のうちの他のすべてのウェイポイントに先行するこの関心領域のウェイポイントでその後の撮像ルーチン用のウェイポイントを順序付けすることができる。システムは次に、前述の方法および技術を実施してこれらの個別のウェイポイントグループを順序付けることができる。
【0096】
したがって、システムは、店舗のウェイポイントの集合を格納することができ、各ウェイポイントは店舗内の1つ以上の棚の画像のキャプチャを表し、撮像ルーチンの間にロボットシステムがこのウェイポイントの集合を通って移動する順序を定義することができる。次の撮像ルーチンへの準備において、システムは、ブロックS162で、例えば、セルラーネットワーク上、またはコンピュータネットワーク(例えばインターネット)を介して、これらのウェイポイントの定義とこれらのウェイポイントの順序を、ロボットシステムに行わせることができる。しかし、システムは、その他の形式のその他のデータまたは指示を含むウェイポイントを店舗内に配置されたその他のタイプ、時間、または頻度で、維持し、更新し、および/または1つ以上のロボットシステムに配布することができる。
【0097】
12.撮像ルーチン
方法S100のブロックS180は、後続の撮像ルーチンで実行するために、ウェイポイントの集合をロボットシステムにアップロードすることを規定している。一般的に、ブロックS180では、システムは、ブロックS160(およびブロックS162で定義されたウェイポイントの順序)で生成されたウェイポイントの集合をロボットシステムに提供する。例えば、システムは、店舗に設置されたローカル無線ルータを介したインターネットを介してロボットシステムにウェイポイントの集合を伝送する。
【0098】
また、ウェイポイントの集合と共に、システムは、上述のように自律マッピングルーチン中のロボットシステムによって収集された距離走査によって生成された実際のマップの形式で、店舗のマスターマップをロボットシステムにアップロードすることもでき、店舗の座標系でラベル付けすることもできる。その後の撮像ルーチンでは、ロボットシステムは、そのローカル環境をその統合マッピングセンサ(例えばLIDARセンサ)で走査し、マッピングセンサからの走査をロボットシステムの環境の新しいマップにコンパイルし、新しいマップをマスターマップと比較することによって店舗の座標系内での位置を決定して、ウェイポイントの集合を順次移動することができる。したがって、ロボットシステムは、マッピングセンサの出力が閾値距離と角度の範囲内で、ウェイポイントで定義された(x、y、δ)位置および方位に対応するマスターマップの領域と整合する店舗内の位置と方位に移動することによって次のウェイポイントに移動することができる。ロボットシステムは、上述のように、店舗のために定義された次のウェイポイントに移動する前に、ウェイポイントで画像をキャプチャしてタグを付けることができる。撮像ルーチンの間または終了時に、ロボットシステムは、上述のように、画像をシステムにアップロードして処理することができる。
【0099】
撮像ルーチンの間または終了時に、ロボットシステムはまた、店舗の新しい実際のマップを(または、撮像ルーチンの間にマッピングセンサによって収集された未加工の走査データ)をシステムにアップロードすることもできる)。システムは、その後、方法S100のブロックを繰り返して、店舗のウェイポイントの集合を再計算し、この新しいウェイポイントの集合をロボットシステム上にロードすることができる。したがって、最新の建築計画、標準化された店舗レイアウト、および/または各撮像ルーチンに続く店舗の立面マップの集合を選択することによって、システムは、店舗の現在の棚構造、棚区画、棚、および/またはスロットアドレスを備えた現在のアーキテクチャメタスペースを生成することができる。さらに、現在のアーキテクチャメタスペースを店舗の最新の実際のマップに整合させることにより、システムは店舗レイアウトに対する最新の物理的な変更を補償し、それに応じて店舗の新しいウェイポイントの集合を生成することができる。しかし、システムは、他の方法または技術を実施して、ロボットシステムによって収集された新しいデータに基づいて、店舗のウェイポイントの集合を更新し、これらのウェイポイントと新しい実際のマップをロボットシステムに供給することができる。
【0100】
13.製品の識別と在庫補充指示
図4に示されるように、システムは次に、リアルタイム、断続的、または撮像ルーチンの終了時などの撮像ルーチンの間に、ロボットシステムによって記録された画像(例えば、デジタルカラー写真画像)を受信し、これらの画像を処理して店舗の在庫状態を決定し、ブロックS190で店舗の在庫状態と店舗の棚割表との差に応答する通知および/または在庫補充リストを発行することができる。
【0101】
1つの実施方法において、システムは、撮像ルーチンの間に、第1の棚構造に第1の棚区画に隣接する第1のウェイポイントを占拠しつつ、ロボットシステム内の第1のカメラによって記録された第1の画像を受信する。システムは次に、米国特許出願第M01で記載の方法および技術を実施して、第1の画像の第1の棚を検出し、第1のウェイポイントに関連付けられた第1の棚構造の第1のアドレスに基づいて第1の棚のアドレスと第1の画像内の第1の棚の垂直方向の位置判別し、第1の棚のアドレスに基づいて、棚割表によって第1の棚に割り当てられた第1の製品リストを取得し、それぞれが前記第1の製品リストで指定された製品の視覚的特徴を含む第1のテンプレート画像の集合をテンプレート画像のデータベースから取得し、第1の棚に隣接する第1の画像の第1の領域から第1の特徴の集合を抽出し、第1の特徴の集合と第1の製品を表す第1のテンプレート画像の集合の中の第1のテンプレート画像の特徴の間の相関に呼応して、第1の棚に第1の製品リストに第1の製品の単位が存在するかを確認し、前記第1の特徴の集合の中の特徴と、前記第1のテンプレート画像の中の特徴の間の偏差に呼応して前記第1の製品の単位が前記第1の棚に不適切に在庫保有されていることを判断し、前記第1の製品の前記単位が前記第1の棚に不適切に在庫保有されている旨の判断に呼応して、ブロックS190で前記第1の棚上の前記第1の製品に対して第1の在庫補充指示を生成することと、を含む。
【0102】
また、上記の実施例では、システムは、ロボットシステム上の第1のカメラの既知の位置に基づいて、第1の棚構造の第1の立面マップによって第1の棚区画に割り当てられた第1の棚の集合の高さを、第1の画像に基づいて投影し、それによって、第1の棚区画の第1の棚に対応する画像内の第1の領域を識別し、テンプレートマッチング、オブジェクト認識、またはその他の方法または技術を実施して、第1の画像の第1の領域の第1の棚を識別することができる。次いで、システムは、第1の立面マップで第1の棚に割り当てられた製品の識別子の第1のリストを抽出し、テンプレート画像のデータベースから第1のテンプレート画像の集合を取り出し、第1の製品リストにある製品を表し、第1の画像の第1の領域で検出された特徴と、ブロックS190における第1のテンプレート画像の集合でテンプレート画像の間の類似度に基づいて第1の棚上の製品を識別する。
【0103】
システムは、撮像ルーチンの間、店舗全体の他のウェイポイントを占拠しながら、ロボットシステムによって記録された他の棚構造、棚区画、棚等の画像に対して、このプロセスを繰り返すことができる。システムは次に、これらの画像で検出された存在、量および/または場所や製品を、店舗の現在の在庫状態(例えば、「レアログラム」)に集約し、マネージャまたは他の共同出資者のポータルを介して、デスクトップコンピュータまたはモバイル演算装置(例えば、スマートフォン、タブレット)上で実行されるウェブブラウザまたはネイティブアプリケーション内で、店舗のマネージャまたは他の共同出資者にこれらのデータを提供することができる。システムは、店舗の現在の在庫状態と棚割表とを自動的に比較して、差を検出し、これらの差を在庫補充指示のリストに集約し(例えば、これらの在庫補充指示に指定された製品の値に従って順序付けられ)、そして、これらの在庫補充指示を店舗の共同出資者に提供して、
図5に示すように、また、米国特許出願第15/347,689号に記載されているように、例えばリアルタイムで、ピーク時を避けた顧客のいる時間帯、または店舗の閉店時間など、店舗の手動による在庫補充を誘導する。
【0104】
この変形例では、ロボットシステムによって記録された画像を処理する際に、システムは、これらの画像に示される棚に配置された棚札から、棚構造に配置された通路の印などから、棚、棚区画、棚構造、および/または通路のアドレスを抽出することができる。これにより、システムは、店舗内のこれら棚構造の近傍にある既知の位置をウェイポイントが占拠しているとき、ロボットシステムによって記録された画像から抽出されたアドレスに従って、正規化されたメタスペース内の棚構造に割り当てられたアドレスを確認することができる。例えば、システムは、マッピングルーチンの間、第1の位置を占拠しながらロボットシステムによって記録された第1の画像を受信し、第1の通路のアドレスの第1の画像を走査し、第1の画像が記録された時にロボットシステムの第1の位置と第1の画像を記録したロボットシステムに一体化されたカメラの既知の位置に基づいてマップ上に第1の通路のアドレスを投影し、第1の通路のアドレスとアーキテクチャメタスペースから正規化されたメタスペースにインポートされたアドレスとの整合に基づいて、店舗のマップにアーキテクチャメタスペースが整合されていることを確認する。しかし、システムは、他の方法または技術を実施して、整合を自動的に確認し、店舗のマップへとアーキテクチャメタスペース間の偏差を検出することができる。
【0105】
14.正規化されたメタスペースの変形例
1つのバリエーションでは、ロボットシステムおよびシステムは、協働して、店舗の建築計画または標準化された店舗レイアウトなしで、店舗の正規化されたメタスペースを生成する。この変形例では、ロボットシステムは、自立マッピングルーチン全体を通して、店舗内の棚構造の画像を断続的にキャプチャする。例えば、ロボットシステムは、店舗内部のフロアマップを構築および更新するための同時ローカリゼーションおよびマッピング技術を実施することができ、同時に、テンプレートマッチング、パターンマッチング、パターン認識、および/または他の技術を用いて、マップ内の通路および棚構造を識別することができる。この例では、通路を識別すると、ロボットシステムは、通路の横方向および長手方向中心の近位の位置に自動的に移動し、その一体化したカメラを隣接する棚構造に方位を合わせ、各カメラに画像を記録し、マップ内のロボットシステムの位置と方位と対応するカメラのアドレスをこうして記録された各画像の画像メタデータに書き込む。ロボットシステムは、自律マッピングルーチンを通してこのプロセスを繰り返して、店舗のマップを生成し、店舗内の様々な棚構造の画像を収集することができ、そしてこれにより、ロボットシステムは、このマップと画像をシステムに戻すことができる。あるいは、ロボットシステムは、自律マッピングルーチンの終了時に実際のマップをシステムにアップロードすることができ、システムは、上述のように実際のマップ内の通路および棚構造を遠隔的かつ非同期的に識別し、それぞれ識別された棚構造に隣接する(x、y、δ)座標を含む1つの一時的なウェイポイントを定義し、次に、各一時的なウェイポイントにおける画像を収集するために、調査ルーチンにロボットシステムを送る。しかし、ロボットシステムおよびシステムは、他の方法または技術を実施して、店舗の現在の実際のマップを収集し、店舗内の現在の棚構造の画像を収集することができる。
【0106】
これにより、システムは、実際のマップを店舗のベクトル化されたラインマップに変換し、ベクトル化されたラインマップ内に座標系を定義し、上述のようにベクトル化されたラインマップ内の通路、棚構造、および/または棚区画等を識別することができる。システムはまた、ベクトル化されたラインマップ内で、自律マッピングルーチン(または調査ルーチン中)の間にロボットシステムによってキャプチャされた画像を見つけることができる。
【0107】
これにより、システムは、画像内の製品のSKUを識別し、近くでキャプチャされた画像で識別された製品のSKUを使用して、ベクトル化されたラインマップ内で識別された棚構造を識別することができる。例えば、システムは、テンプレート画像のデータベースにアクセスすることができる。データベース内の各テンプレート画像は、テンプレート画像に示される製品のSKUまたはその他の識別子または記述子によってタグ付けされる。この実施例では、システムはテンプレートマッチング技術を実施して、テンプレート画像データベースからのテンプレート画像を、自律マッピングルーチン中に記録された画像内の領域とマッチングさせると、システムは、一致したテンプレート画像から、ベクトル化されたラインマップ内の、画像がキャプチャされた位置の近傍に識別された棚構造にSKUを転送できる。
【0108】
特に、システムは、画像が画像のメタデータに格納された(x、y)座標に基づいて記録された時、ロボットシステムによって占拠された特定の通路を識別し、画像と画像メタデータの中に格納したロボットシステムの方位(例えば、ヨー角)を記録したカメラのアドレスに基づいて画像に示された特定の通路を形成する2つの棚構造の特定の棚構造を識別し、一致したテンプレート画像とともに格納したSKUを、ベクトル化したラインマップの特定の棚構造に書き込むことができる。システムは、画像に示す他の製品に対してもこのプレセスを繰り返して、同じSKUの複数のインスタンスまたは複数の異なるSKUなどのような、複数の製品のSKUでベクトル化されたラインマップに、識別された1つの棚構造を自動入力することができる。例えば、システムは、画像内の領域をラベル付けされたテンプレートと一致させ、3つの固有のSKUのうちの最初のSKUまたは合計6つのSKUが画像内で識別されるまで、SKUを一致したテンプレート画像からベクトル化されたラインマップに示された棚構造に転送することができる。システムは、自律マッピングルーチンの間、ロボットシステムによってキャプチャされたイメージ毎に、このプロセスを複製して、店舗のベクトル化されたラインマップに、識別された棚構造ごとに1つ以上のSKUを自動入力することができる。
【0109】
これにより、システムは、上述のように店舗に対する現在の棚割表(または現在の製品位置データベース)の集合を読み出すことが可能であり、また、棚割表で示され、ベクトル化されたラインマップに示される特定の棚構造にタグ付けされた同様のSKUに基づいて、特定の棚割表をリンクすることができる。特に、ベクトル化されたラインマップ内に1つ以上のSKUでタグ付けされた棚構造では、システムは、既存の店舗の棚割表から、同じSKUの集合を指定して立面マップを識別することができる。同様に、システムは、ベクトル化されたラインマップに示された棚構造にタグ付けされた一番大きい数のSKU(またはSKUの閾値比率)を表す棚割表を識別して自律マッピングルーチンの時点で、棚構造上に存在しうる誤配積製品に対応できるようにすることができる。これにより、システムは、一致した棚割表のアドレスを書き込み、および/または一致した棚割表内から抽出された棚構造のアドレスをベクトル化されたラインマップ内の仮想棚構造に書き込むことができる。
【0110】
これにより、システムは、上述の方法および技術を実施して、棚割表に示された棚区画の位置に基づいて、仮想棚構造内の棚区画を描写し、一致した棚割表に格納された棚区画、棚、および/またはスロットアドレス等を、ベクトル化されたラインマップに示された棚構造に書き込むことができる。システムはまた、ベクトル化されたラインマップで識別された他の棚構造に対してこのプロセスを複製し、結果として得られるラベル付きラインマップを正規化されたメタスペースに変換することもできる。しかし、システムは、他の方法または技術を実施して、正規化されたメタスペースを生成することができる。
【0111】
15.手動のウェイポイント
さらに、システムは、上述したように、ユーザが手動で入力したウェイポイント、またはユーザが手動で入力したデータに基づいて、店舗に対して自動的に計算されたウェイポイントの集合を追加することができる。例えば、店舗内に一時的なディスプレイをインストールした後、その店舗の従業員はコンピュータ、タブレット、またはスマートフォンのオペレータポータルにアクセスし、正規化されたメタスペースを開き、一時的なディスプレイの現在位置に対応する正規化されたメタスペース内のポイントを選択し、一時的なディスプレイの高さ、幅および識別データを入力することができる。この実施例では、システムは、新しいウェイポイントの位置と方位を計算し、ウェイポイントのカメラアドレスを定義して、新しいウェイポイントをロボットシステムにアップロードする前に、一時的なディスプレイの識別データをウェイポイントに書き込むことができる。しかし、システムは、他の方法または技術を実施して、ユーザが提供する情報に基づいて、ウェイポイントを生成することができる。
【0112】
16.リアルタイムのウェイポイントと一時的な棚構造
図6で示すように、ブロックS164では、システムのある変形例では、ロボットシステムにおいて、撮像ルーチン中に、ロボットシステムの第2の光学センサの視野においてマトリクスバーコードを検出することと、第2の光学センサの視野内のマトリクスバーコードの位置と方位に基づいて、光学センサの視野をマトリクスバーコードに結合させた一時的な棚構造に整合させる第1の位置および第1の方位を定義する一時的なウェイポイントを計算することと、一時的なウェイポイントを占拠しながら、光学センサを通して第1の画像を記録することを含むブロックS164を含む。ブロックS164は、マトリクスバーコードに基づいて一時的な棚構造のアイデンティティを判別することと、一時的な棚構造のアイデンティティに基づいて、店舗の棚割表によって一時的な棚に割り当てられた第1の製品リストを読み出すことと、それぞれのテンプレート画像が第1の製品リストで指定された製品の視覚的特徴を含む第1のテンプレート画像の集合をテンプレート画像のデータベースから読み出すことと、第1の画像の特徴と第1の製品を表す第1のテンプレート画像の集合の第1のテンプレート画像の特徴の間の相関に呼応して一時的な棚構造の第1の製品リストから第1の製品の単位の存在を確認することと、第1の画像の特徴と、第2の製品を表す第1のテンプレート画像の集合の第2のテンプレート画像の特徴の間の偏差に呼応して一時的な棚構造上に第2の製品の単位が不適切に在庫保有されていると判断することと、第2の製品の単位が一時的な棚構造に不適切に在庫保有されていると判断した場合には、一時的な棚構造上の第2の製品に対する第1の在庫補充指示を生成する。
【0113】
概ね、ブロックS164において、一時的な棚構造が撮像ルーチンの間にロボットシステムによって検出されたときに、システムは、一時的なウェイポイントを自動的にリアルタイムで定義し、ロボットシステムは、この一時的なウェイポイントまで移動して、画像を記録し、その後、その画像をシステムが処理して一時的な棚構造の在庫状態を判断することができる。1つの実施方法では、ロボットシステムは、2Dまたは3Dの深さセンサおよび正面から直接外側に指向した、2Dまたは3Dの前方カメラを含んでいてもよい。撮像ルーチンでは、ロボットシステムは、深度センサおよびカメラを用いて、ロボットシステムの前方にあるフィールドを定期的に走査して、これらの走査データに基づいて近傍の表面をマッピングし、近傍の表面の位置に基づいて自身の位置を求めて(例えば、正規化されたメタスペースまたはフロアの過去のマップに対して)、ロボットシステムが位置および回転精度高くウェイポイントからウェイポイントへ移動することができる。しかし、撮像サイクルの間、システムは、マトリクスバーコード(例えば、クイック応答コード、一次元バーコード等)または他の光学的識別子のために、前方カメラを通して記録された画像を走査することもできる。マトリクスバーコードが検出されると、ロボットシステム(またはリモートコンピュータシステム)は、このマトリクスバーコードの識別子に対して、名前のマッピングシステムなどのローカルディレクトリまたはリモートディレクトリを走査することができ、もし、そのディレクトリが、マトリクスバーコードが取り付けられていることを示す識別子を返すか、あるいは特定のブランドに関連付けられた1つ以上の製品の単位を格納するように構成された自立型の段ボールポップアップのような、一時的な棚構造に関連付けられている場合には、システムは、ブロックS164を実行して一時的な棚構造に隣接する一時的なウェイポイントを定義し実行することができる。
【0114】
上記の実施方法では、ロボットシステム(またはリモートコンピュータシステム)は、前方カメラによって記録された画像で検出されたマトリクスバーコードに一時的な棚構造が関連付けられていると判断し、ロボットシステムは、一時的な棚構造の高さや、一時的な棚構造上のマトリクスバーコードの一時的な棚構造の正面に対する位置など、一時的な棚構造に対する情報およびマトリクスバーコードに関連した情報を遠隔の一時的な棚構造のデータベースから読み出す。これにより、ロボットシステムは、ロボットシステムによって占拠された時、ロボットシステムのマストの側の側方カラーカメラの視野内の一時的な棚構造の正面を中心合わせするとともに側方カラーカメラと一時的な棚構造の正面の間の予め設定した目標のオフセット距離にある一時的なウェイポイントの位置と方位を、例えば、一時的な棚構造データベースから収集されたこれらのデータ、マトリクスバーコードが検出された時点での店舗内のロボットシステムの位置、前方カメラの視野の中のマトリクスバーコードの位置、方位、および歪み、前方カメラの本質的および非本質的な特徴、と上述のように、側方カメラの現在の目標のオフセット距離または目標のオフセット距離範囲などに基づいて計算できる。例えば、ロボットシステムは、第2の光学センサの視野内のマトリクスバーコードの位置および方位、並びに座標系に対するロボットシステムの位置および方位に基づいて、座標系に対する一時的な棚構造の正面の位置および方位を計算し、一時的な棚構造の正面からの目標の画像の距離を側方カメラに対して適用して一時的なウェイポイントを計算することができる。
【0115】
ロボットシステムは、その後の実行のために一時的なウェイポイントの待ち列を作り、その現在の位置とタッチセンサの間のウェイポイントを実行し、前方カメラのその後の走査中に上記の方法を繰り返して、一時的な棚構造の位置および方位を確認し、さらに一時的なウェイポイントの位置および方位をさらに規定する。また、ロボットシステムは、2Dまたは3D深度センサによって収集されたデータに基づいて、例えば、前方カメラによって記録された画像で検出されたマトリクスバーコードに基づいて、およびマトリクスバーコードに関連付けられた寸法と幾何学的形状に基づいた2Dまたは3D深度センサによって収集されたデータと、ロボットシステムによって予測される一時的棚構造の位置と方位の間の整合に基づいて、一時的な棚構造の存在、位置、方位を確認することができる。
【0116】
一時的な棚構造の存在が確認されると、一時的なウェイポイントが計算されるので、一時的なウェイポイントはロボットシステムによって占拠され、ロボットシステムはカメラを通して一時的な棚構造の画像を側方記録することができる。
【0117】
これにより、システムは(例えば、ロボットシステムは局所的に、またはコンピュータシステムは遠隔的に)、次に、一時的な棚構造のこの画像を処理することができる。例えば、システムは、一時的な棚構造に割り当てられた製品リストにマトリクスバーコードを介して一時的な棚構造に固有に関連付けられた棚割表によって、アクセスして、このリストの中の製品のテンプレート画像の集合を読み出し、上記、および米国特許出願第M01号に記載したブロックS190のように、これらテンプレート画像を画像の領域と比較して一時的な棚構造を占拠するこれら製品の陳列面の数を含む一時的な棚構造の現在の在庫状態を決定することができる。
【0118】
次に、一時的な棚構造の現在の在庫状態と一時的な棚構造と固有に関連付けられた棚割表とを比較することによって、システムは、棚割表によって定義されたその目標となる在庫状態から一時的な棚構造における偏差を識別し、それに従って一時的な在庫補充リストを生成することができる。特に、システムは、一時的なウェイポイントにおいて、ロボットシステムによって記録された画像に示された一時的な棚構造上で検出された製品の単位(または陳列面)と、一時的な棚構造に関連付けられた棚割表の間の偏差に基づいて、一時的な棚構造のための一時的な在庫補充リストを生成することができる。一時的な棚構造の棚割表、および/または、店舗の棚割表および撮像ルーチンの間にロボットシステムによって決定された一時的な棚構造の位置に基づいて、システムは、一時的な棚構造が店舗で適した方位を向いているかどうか、例えば、一時的な棚構造の正面が隣接する通路を向いているか、またはその側面上に先端を付けているかなどを判断し、それにより一時的な棚構造の方位を変えるか位置を変えるための指示を生成することができる。
【0119】
システムは、一時的な再在庫リストおよび/または指示を提供して、一時的な在庫補充リストおよび/またはリアルタイムで店舗の外のローカル代理店またはローカル在庫補充会社への指示を電子通知またはユーザポータルによって提供するなど、一時的な棚構造を、一時的な棚構造のアフィリエイトに再方位づけまたは再配置することができる。この変形例では、システムは、この一時的な在庫補充リストおよび/または一時的な棚構造のための指示は、店舗の外側にある一時的な棚構造のアフィリエイトに提供される一方、また、上記のように、店舗に配置された他の(より永続的な、または不変の)棚構造のためのグローバルな在庫補充リストを生成し、このグローバルな在庫補充リストを、店舗のマネージャまたは他の共同出資者に送ることができる。
【0120】
しかしながら、システム(例えば、ロボットシステムおよび/またはリモートコンピュータシステム)は、ブロックS164において、その他の方法または技術を実施して、撮像ルーチンの間に実質的にリアルタイムまたは非同期に店舗内に配置された一時的な棚構造を検出し、画像化し、監視することができる。
【0121】
本明細書に記載されたシステムおよび方法は、コンピュータ可読の命令を格納するコンピュータ可読媒体を受信するように構成された機械として少なくとも部分的に実現され、および/または実施されることができる。命令は、ユーザコンピュータまたはモバイルデバイス、リストバンド、スマートフォンまたはこれらの任意の適切な組み合わせのアプリケーション、アプレット、ホスト、サーバ、ネットワーク、ウェブサイト、通信サービス、通信インターフェース、ハードウェア/ファームウェア/ソフトウェアエレメントと統合されたコンピュータ実行可能コンポーネントによって実行できる。実施形態の他のシステムおよび方法は、コンピュータ可読命令を格納するコンピュータ可読媒体を受信するように構成されたマシンとして少なくとも部分的に実現され、および/または実施されることができる。命令は、上述したタイプの機器およびネットワークと統合されたコンピュータ実行可能コンポーネントによって統合されたコンピュータ実行可能コンポーネントによって実行することができる。コンピュータ可読媒体は、RAM、ROM、フラッシュメモリ、EEPROM、光学デバイス(CDまたはDVD)、ハードドライブ、フロッピードライブ、または任意の適切なデバイスのような、任意の適切なコンピュータ可読メディアに格納することができる。コンピュータ実行可能コンポーネントはプロセッサであってもよいが、任意の適切な専用ハードウェアデバイスは命令を(代替的または追加で)実行することができる。
【0122】
当業者であれば、先行する詳細な説明および図面と請求項から理解することができるが、下記の請求項に記載される本発明の範囲から逸脱することなく本発明の実施形態に修正および変更を加えることができる。