(57)【要約】      （修正有）【課題】店舗内の棚を撮像するためのウェイポイントを自動的に生成する新しい有用な方法を提供する。【解決手段】店舗内の棚を撮像するためのウェイポイントを自動的に生成する方法の１つは、店舗内の床空間のマップを自律的に生成するためのロボットシステムを送ることと、前記店舗内の棚構造の集合の目標の位置とアドレスを定義するアーキテクチャメタスペースにアクセスすることと、アーキテクチャメタスペースを変形させてマップと整合させ、店舗内の棚構造の集合の実際の位置とアドレスを表す正規化されたメタスペースを生成することと、ロボットシステムに光学センサの既知の位置に基づいて正規化されたメタスペースで表した第１の棚構造の長手方向に沿って並びに横方向にオフセットして分布したウェイポイントの集合を定義することと、撮像ルーチンの間に、ウェイポイントの集合を占拠しながら光学データを記録するロボットシステムを送ることとを含む。【選択図】図１
2020098617.tif 000002
【特許請求の範囲】
【請求項１】
店舗内の棚を撮像するためのウェイポイントを自動的に生成する方法であって、
マッピングルーチンの間に前記店舗内の床空間のマップデータを自律的に収集するためのロボットシステムを送ることと、
前記マッピングルーチンの間に前記ロボットシステムによって収集されたマップデータから前記床空間のマップを生成することと、
前記店舗内の棚構造の集合の目標の位置とアドレスを定義するアーキテクチャメタスペースにアクセスすることと、
前記アーキテクチャメタスペースの特徴を変形させてマップ内での類似した特徴と整合させ、前記店舗内の棚構造の集合の実際の位置とアドレスを表す正規化されたメタスペースを生成することと、
前記正規化されたメタスペース内で座標系を定義することと、
前記座標系に対する前記正規化されたメタスペース内の、第１の棚構造の実際の位置に沿って、またそこからオフセットして長手方向に分布する第１のウェイポイントのサブセットを備えたウェイポイントの集合を定義することであって、棚構造の前記集合において、前記正規化されたメタスペースに表され、前記第１のウェイポイントのサブセットの各ウェイポイントは、前記ロボットシステムの中の光学センサの既知の位置と、前記正規化されたメタスペースの前記第１の棚構造の前記実際の位置に基づいて前記座標系に対する方位を定義し、
撮像ルーチンの間に、前記第１のウェイポイントのサブセットの各ウェイポイントを占拠しながら光学データを記録する前記ロボットシステムを送ることと、を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１６年５月１９日に出願された米国仮出願第６２／３３９，０４７号、２０１６年５月１９日出願の米国仮出願第６２／３３９，０３９号、および２０１６年５月１９日出願の米国仮出願第６２／３３９，０４５号の利益を主張しており、その全体が本参照によって援用される。
【０００２】
本出願は、２０１６年１１月０９日に出願された米国特許出願第１５／３４７，６８９号に関連しており、その全体が本参照によって援用される。
【０００３】
本発明は、一般的に、在庫追跡の分野に関し、より具体的には、在庫追跡の分野において、店舗内の棚を撮像するウェイポイントを自動的に生成する新しい有用な方法に関する。
【図面の簡単な説明】
【０００４】
【図１】図１は、方法を示すフローチャートである。
【図２】図２は、本方法の１つの変形例を示すフローチャートである。
【図３】図３は、本方法の１つの変形例を示すフローチャートである。
【図４】図４は、本方法の１つの変形例を示すフローチャートである。
【図５】図５は、本方法の１つの変形例を示すフローチャートである。
【図６】図６は、本方法の１つの変形例を示すフローチャートである。
【発明を実施するための形態】
【０００５】
本発明の実施形態の以下の説明は、本発明をこれらの実施形態に限定することを意図したものではなく、当業者が本発明を製造し使用することを可能にすることを目的とするものである。本明細書に記載される変形例、構成、実施方法、実施例実施方法、および実施例は任意であり、これらは、それらが記述する変形例、構成、実施方法、実施例実施方法、および実施例に限定されるものではない。本明細書に記載される発明は、これらの変形例、構成、実施方法、実施例実施方法、および実施例を任意に、またすべてを含み得る。
【０００６】
１．方法
図１に示されるように、店舗内の棚を撮像するウェイポイントを自動的に生成する方法Ｓ１００は、ブロックＳ１１０で、店舗内の床空間を自律的にマッピングするためのロボットシステムを送ることと、ブロックＳ１２０で、ロボットシステムから床空間のマップを受信することと、ブロックＳ１３０で、店舗内の棚構造の位置と店舗内の棚構造にアドレスを定義するアーキテクチャメタスペースにアクセスすることと、ブロックＳ１４０で、マップの特徴にアーキテクチャメタスペースの特徴を整合させることによって、正規化されたメタスペースを生成することと、ブロックＳ１５０で正規化されたメタスペース内の店舗の座標系を定義することと、ブロックＳ１６０で、正規化されたメタスペース内の棚構造の位置とロボットシステムの撮像能力に基づいて正規化されたメタスペース内の、座標系に対する位置と方位を含むウェイポイントの集合を定義することと、ブロックＳ１７０で、ウェイポイントの近傍にある棚構造のアドレスと共に、ウェイポイントの集合の各ウェイポイントにラベルを付けることと、これは、ブロックＳ１８０で、後続の撮像ルーチンで実行するために、ロボットシステムにウェイポイントの集合をアップロードすることと、を含む。
【０００７】
この方法Ｓ１００は、ブロックＳ１３０で、アーキテクチャメタスペースを生成することとブロックＳ１４２で、正規化されたメタスペース内の棚構造に、予め設定された立面マップの集合からの対応する棚区画および棚のアドレス、または店舗の棚割表に保存された「シーン」を正規化されたメタスペースの棚構造のアドレスに基づいてラベル付けをすることと、ブロックＳ１７０で、ウェイポイントに、画像をキャプチャするように予定したロボットシステム内のカメラのアドレスと棚構造のアドレス、棚区画、ロボットシステムがウェイポイントで定義された店舗内の位置と方位の近傍にあるときにカメラの視野の中にあると予測される棚とをラベル付けすることとを含む。
【０００８】
この方法Ｓ１００の方法の１つの変形例は、ブロックＳ１１０で、マッピングルーチン中に店舗内の床空間のマップデータを自律的に収集するためのロボットシステムを送ることと、ブロックＳ１２０で、マッピングルーチン中にロボットシステムによって収集されたマップデータから床空間のマップを生成することと、ブロックＳ１３０で、店舗内の棚構造の集合のターゲット位置とアドレスを定義するアーキテクチャメタスペースにアクセスすることと、ブロックＳ１４０で、アーキテクチャメタスペースの機能を変形させてマップ内での類似した機能と整合させ、店舗内の棚構造の集合の実際の位置とアドレスを表す正規化されたメタスペースを生成することと、ブロックＳ１５０で、正規化されたメタスペース内で座標系を定義することと、ブロックＳ１６０で、座標系に対する正規化されたメタスペース内のウェイポイントの集合を定義することと、このウェイポイントの集合は、正規化されたメタスペースに表される棚構造の集合において、第１の棚構造の実際の位置に沿って長手方向に、そしてそこから横方向にオフセットして分布された第１のウェイポイントのサブセットを含み、第１のウェイポイントのサブセットの中のそれぞれのウェイポイントは、ロボットシステムにおける、光学センサの既知の位置と正規化されたメタスペースの第１の棚構造の実際の位置に基づいた座標系に対する方位を定義し、さらにブロックＳ１８０において、撮像ルーチンの間に、第１のウェイポイントのサブセットの各ウェイポイントを占拠しながら光学データを記録するロボットシステムを送ることとを含む。
【０００９】
方法Ｓ１００の別の変形例は、ブロックＳ１１０で、店舗内の床空間を自律的にマップするためにロボットシステムを送ることと、ブロックＳ１２０で、ロボットシステムから床空間のマップを受信することと、ブロックＳ１３０で、店舗内の棚構造の位置と店舗内の棚構造にアドレスを定義するアーキテクチャメタスペースにアクセスすることと、ブロックＳ１４０で、マップの特徴にアーキテクチャメタスペースの特徴を整合させることによって、正規化されたメタスペースを生成することと、ブロックＳ１５０で、正規化されたメタスペース内の店舗の座標系を定義することと、ブロックＳ１６０で、正規化されたメタスペース内の棚構造の位置とロボットシステムの撮像能力に基づいて正規化されたメタスペース内の、座標系に対する位置と方位を含むウェイポイントの集合を定義することと、ブロックＳ１７０で、ウェイポイントの近傍にある棚構造のアドレスと共に、ウェイポイントの集合の各ウェイポイントにラベルを付けることと、これは、ブロックＳ１８０で、後続の撮像ルーチンで実行するために、ロボットシステムにウェイポイントの集合をアップロードすることと、を含む。この変形例では、方法Ｓ１００は、撮像ルーチンの間にウェイポイントの集合の中で第１のウェイポイントを占拠するときにロボットシステムによって記録された視覚データを含む第１の画像にアクセスすることと、第１の画像内の第１の棚を検出することと、第１のウェイポイントと関連付けられた第１の棚構造の第１のアドレスと、第１の画像内の第１の棚の垂直方向の位置とに基づいて、第１の棚のアドレスを判別することと、第１の棚のアドレスに基づいて、店舗の棚割表によって第１の棚に割り当てられた製品の第１の製品リストを読み出すことと、それぞれが第１の製品リストで指定された製品の視覚的特徴を含む第１のテンプレート画像の集合をテンプレート画像のデータベースから読み出すことと、第１の棚に隣接する第１の画像の第１の領域から第１の特徴の集合を抽出することと、第１の特徴の集合と第１の製品を表す第１のテンプレート画像の集合の中の第１のテンプレート画像の間の相関に呼応して、前記第１の棚に前記第１の製品リストに第１の製品の単位が存在するかを確認することと、第１の特徴の集合の中の特徴と、第１のテンプレート画像の中の特徴の間の偏差に呼応して第１の製品の単位が第１の棚に不適切に在庫保有されていると判断することと、第１の製品の単位が第１の棚に不適切に在庫保有されている旨の判断に呼応して、ブロックＳ１９０で第１の棚上の第１の製品に対して第１の在庫補充の指示を生成することとを含む。
【００１０】
２．応用
一般的に、方法Ｓ１００は、保存された棚割表または他の製品位置データベースに定義された立面マップまたは個別の棚構造の「シーン」に格納された保管データに基づいて、そして、ロボットシステムの撮像能力に基づいて保存された棚割表または他の製品位置データベースに格納された店舗に送られたロボットシステムによって収集された実際のマッピングデータに基づいて、店舗のウェイポイントの集合を自動的に生成するコンピュータシステムによって実行することができる。これらのウェイポイントを受信すると、ロボットシステムは、これらのウェイポイントで定義された位置に順次移動し、これらのウェイポイントの各々で１つ以上の画像をキャプチャし、これらの画像をコンピュータシステムに戻すことができる。その後、コンピュータシステムは、図２に示すように、それらの画像を、店舗全体にわたる棚上の製品の位置と、図２に示すように店舗に定義された製品提示要件からの偏差をグラフ、表、またはマップに自動的に変換することができる。
【００１１】
特に、方法Ｓ１００は、ロボットシステムによって収集されたデータと、店舗内の棚および／または製品のレイアウトを定義する既存のデータとの組合せに基づいて、店舗のためのウェイポイントを自動的に定義し、タグ付けするローカルまたはリモートコンピュータシステムによって実現することができる。例えば、１，０００個の固有の製品（すなわち、１，０００個の固有の最小在庫管理単位、または「ＳＫＵ」）を在庫保有した小規模店舗の場合、システムは、店舗内を移動するロボットシステムに対して２０の固有ウェイポイントを自動的に生成し、店舗内の棚に在庫保有した製品の画像を収集することができる。この例では、次に述べる４つのカメラを含むロボットシステムにおいて、以下に説明するように、ロボットシステムは、撮像ルーチンの間に、小さな店舗（すなわち、１つのウェイポイント当たり４つの画像）に棚の最大８０の画像を収集することができ、コンピュータシステムは、これらの画像を小さな店舗内の製品と、その店舗に予め定義された製品提示要件からの偏差のマップに変換することができる。しかし、２５，０００個の固有の製品（すなわち、２５，０００個の固有のＳＫＵ）を在庫保有した中規模の店舗では、システムは自動的に２００個の店舗固有のウェイポイントを生成することができ、４台のカメラを含むロボットシステムは店舗内で棚の画像を８００枚までキャプチャすることができる。さらに、１５０，０００個の固有の製品を在庫保有した大型店舗では、システムは店舗に対して５００個の店舗固有のウェイポイントを自動的に生成することができ、４台のカメラを含むロボットシステムは、店舗内の棚を２，０００枚までキャプチャすることができる。
【００１２】
例えば、ロボットシステムは、小売店（または倉庫など）内に配置して、リモートコンピュータシステム（例えばインターネットを介してロボットシステムに接続されたリモートサーバ）は、例えば、毎晩午前１時からのような、店舗営業時間外に、ウェイポイントでロボットシステムを送って小売店舗全体にわたってウェイポイントの画像を収集することができる。したがって、ロボットシステムは、小売店舗が数時間後に開店する前に、撮像ルーチンを完了することができる。さらに、本システムは、撮像ルーチンの間に収集された画像を処理して、店舗内の棚に現在の製品配置のグラフ、マップまたはテーブルを生成し、および／または位置がまちがえていたり、方位がまちがった製品を修正するタスクリストを生成して訂正したりすることができ、本システムは、このグラフ、マップ、表、および／またはタスクリストが小売店舗に到着したら、それらを次の日の朝、その小売店舗が開店する前に従業員に提示することができる。あるいは、リモートコンピュータシステムは、店舗営業時間の間に店舗内のウェイポイントにロボットシステムを送ることができ、実質的にリアルタイムでロボットシステムから受信された画像を処理して、現在のそのようなグラフ、マップ、テーブルおよび／またはタスクリストをほぼリアルタイムで生成することができる。
【００１３】
方法Ｓ１００は、ロボットシステムが新しい店舗にセットアップされる、あるいは、現存の店舗に組み込む場合に実行できる。例えば、コンピュータシステムは、店舗の建築計画（または店舗に割り当てられた一般的な店舗レイアウト）と、店舗の立面マップの集合を、店舗内の既知のアドレスの棚構造、棚区画、および／または棚の予想位置を画定するアーキテクチャメタスペースに集約することができる。しかし、店舗内の棚構造と棚区画（および通路、壁、柱など）の実際の位置は、アーキテクチャメタスペースで表される位置とは異なる可能性があるため、コンピュータシステムは、ロボットシステムを介して店舗の実床レイアウトデータを収集し、これらの店舗の実床レイアウトデータに対してアーキテクチャメタスペース内の特徴を整合させることが可能である。店舗内の棚構造と棚区画などの実際の位置を表す正規化されたメタスペースにアーキテクチャメタスペースが変換されると、システムは、それぞれがロボットシステムの目標位置と方位を定義するウェイポイントの集合を生成することができ、ロボットシステムがウェイポイントを占拠して時に写真画像を記録するための、ロボットシステム内に設けられた１台以上のカメラに対応することができる。この方法Ｓ１００は、店舗が改装された後、または恒久的または一時的な棚構造が店舗内で移動された後、店舗のウェイポイントを再計算するために、同様に実行することができる。
【００１４】
したがって、システムは、方法Ｓ１００のブロックを実施して、店舗内のオブジェクトの真の位置を表すマップデータを収集し、店舗内のこれらオブジェクトのターゲットまたは計画された場所を指定し、店舗の棚割表へのリンクを含む建築（または類似の）計画にアクセスし、店舗内の既知のアドレス付きオブジェクト（例えば、棚構造、棚区画など）の正確な位置を表す正規化されたメタスペースを作成するためにマップと建築計画をマージする。これにより、本システムは、ロボットシステムが閾値線形および角度公差内を占拠したときに、ロボットシステムに一体化されたカメラの視野内で、規則的で反復可能な位置にある店舗全体を通して棚、棚区画、棚構造を探すウェイポイントの集合を定義することができる。したがって、システムは、店舗の棚割表における棚構造の立面マップにリンクされたウェイポイントの集合の集合を自動的に生成する一方で、店舗のオリジナルレイアウト計画からの偏差を補償し、撮像ルーチンを実行する際に、ロボットシステムに記録された棚、棚区画、および棚構造の画像において高い精度（すなわち、正確さと再現性）を達成し、また一方で、さらに、マップに表されているオブジェクトの人間による監督または人間によるラベル付け（例えば、マップに表されている棚構造のアドレスの入力）を減らす、または排除することができる。この方法Ｓ１００を実行して、限定された、または人間の監督がない店舗のウェイポイントの集合を定義することによって、システムは、ロボットシステムの店舗への比較的迅速なオンボーディングおよびプロビジョニングを達成して、ロボットシステムが記録した棚、棚区画、および棚構造などの高品質な画像を得て、これらの画像から抽出したデータに基づいて店舗の在庫状態の正確性について高い信頼性を達成することができる。
【００１５】
３．ロボットシステム
ロボットシステムは、方法Ｓ１００のブロックＳ１１０およびＳ１１２を実行して、ウェイポイントにナビゲートし、店舗内の棚の画像をキャプチャする。一般的に、ロボットシステムは、店舗を自律的に横断することができるネットワーク対応モバイルロボットを定義し、店舗内の棚の中で棚の画像をキャプチャし、それらの画像をリモートコンピュータシステムにアップロードして分析することができる。
【００１６】
ある実施方法では、ロボットシステムは、ベースと、ベースに配置された駆動システム（例えば、一対の２つの駆動される車輪と２つの旋回キャスタ）と、電源（例えば、電気バッテリ）と、一組のマッピングセンサと（例えば、前後の走査ＬＩＤＥＲシステム）と、マッピングセンサによって収集されたデータをロボットシステムの周囲の空間の２次元または３次元マップに変換するプロセッサと、基部から垂直に伸びるマストと、マストに配置された一組のカメラと、地理空間位置センサ（例えば、ＧＰＳセンサ）と、図３に示すように、リモートコンピュータシステム（例えばリモートサーバ）からの店舗のウェイポイントとマスターマップをダウンロードし、カメラがキャプチャした写真画像と、プロセッサによって生成されたマップをリモートコンピュータシステムにアップロードするための無線通信モジュールと、を備える自律撮像車両を定義する。この実施方法では、ロボットシステムは、図３に示すように、マストの左側にある２つの垂直オフセットカメラやマストの右側にある２つの垂直オフセットカメラのような、マストに静的に取り付けられたカメラを含むことができる。ロボットシステムは、付加的または代替的に、マストの左側に、第１の垂直走査アクチュエータによって支持された１台のカメラや、マストの右側に、第２の垂直走査アクチュエータによって支持された１台のカメラのような関節動作可能なカメラを備えていてもよい。また、ロボットシステムは、ズームレンズ、広角レンズ、または各カメラ上のその他のタイプのレンズを含んでいてもよい。しかし、ロボットシステムは、その他の形態を定義することができ、店舗環境全体を含む、自律的な移動および画像キャプチャをサポートするその他のサブシステムまたは要素を含んでいてもよい。
【００１７】
システムはまた、単一の店舗に配置された複数のロボットシステムを含み、店舗内の棚を画像化するために協働するように構成されてもよい。例えば、２つのロボットシステムは、大型の単一床の小売業者に配置し、閾値期間内（例えば、１時間以内）に店舗内の全棚の画像を収集するよう、協働することができる。別の実施例では、１つのロボットシステムを、複数階店舗の各フロアに配置し、各ロボットシステムは、対応するフロアの棚の画像をそれぞれ収集することができる。次いで、リモートコンピュータシステムは、１つの店舗に配置された複数のロボットシステムによってキャプチャされた画像を集約して、店舗内の適切かつ不適切に在庫保有したスロットのグラフ、マップ、表および／またはタスクリストを生成できる。
【００１８】
４．階層および用語
「製品陳列面」は、本明細書では、１スロットに対して指定される製品の側面（例えば、特定のＳＫＵまたはその他の製品識別子）を意味する。「棚割表」は、本明細書では、店舗内の複数の棚構造（例えば、店舗全体にわたる）の各々にわたって複数の製品陳列面を示すグラフィカルな表現を意味する。棚割表で視覚的に記録された製品の識別、配置、および方位データは、対応するテキスト製品配置スプレッドシート、スロット索引、または他の店舗データベース（以下、「製品配置データベース」）に記録することもできる。
【００１９】
「スロット」とは、本明細書では、製品の１つ以上の単位の列を含む、１つの製品陳列面による占拠に指定された棚の区画を意味する。「棚」とは、本明細書では、１つ以上のスロットにわたって延びる１つの側面（例えば、１×４フィート幅の水平面）を意味する。「棚区画」とは、本明細書では、１段以上の棚を含む棚構造を意味する。「棚構造」とは、本明細書では、１列以上の棚区画を意味する。「通路」とは、本明細書では、２つの対向する棚構造物間の通路を意味する。「店舗」とは、本明細書では、１つ以上の棚構造と１本以上の通路を有する（静的または動的な）設備を意味する。
【００２０】
「製品」とは、本明細書では、特定の製品識別子（例えば、ＳＫＵ）と良好に関連付けられたパッケージのタイプを意味する。「単位」または「製品単位」とは、本明細書では、１つのＳＫＵ値と関連付けられた一連の包装された物品の中の１つの包装された物品のような製品のインスタンスを意味する。
【００２１】
方法Ｓ１００は、本明細書では、リモートコンピュータシステム（例えば、リモートサーバ、以下「コンピュータシステム」と呼ぶ）によって実行されるように説明している。しかし、方法Ｓ１００のブロックは、小売空間（または店舗、倉庫など）に配置された１つ以上のロボットシステム、ローカルコンピュータシステム、またはその他のコンピュータシステムによって実行できる。これらを以下の「システム」と称する。
【００２２】
さらに、方法Ｓ１００のブロックは、以下では、店舗内の棚構造の開放棚に在庫保有した製品を識別するためにシステムによって実行されるように説明している。しかし、システムは、同様の方法および技術を実施して、冷蔵ユニット、壁ラック上、独立したフロアラック、テーブル上、または小売空間内の他のいかなる製品整理ケース上または内においても、整理棚に在庫保有した製品を識別することができる。
【００２３】
５．ロボットシステムのプロビジョニング
方法Ｓ１００のブロックＳ１１０は、第１のマッピングルーチンの間に店舗内の床空間のマップデータを自律的に収集するために、ロボットシステムを送ることを規定している。一般的に、ブロックＳ１１０では、システムは、店舗を自律的に移動し、店舗内の床空間の２Ｄマップを生成するため（および／または店舗の室内容積の３Ｄマップを生成するため）に、ロボットシステムを起動する。
【００２４】
ある実施方法では、一旦店舗内の初期配置に続いて店舗内でロボットシステムが電源投入されると、システムはコンピュータネットワーク（例えばインターネット）などを介して、ブロックＳ１１０でロボットシステムへ指示を出し、マッピングルーチンを開始することができる。例えば、ロボットシステムは、システムから指示を受信すると直ちにマッピングルーチンを開始することができ、または、店舗を閉じているときや、または（実質的に）非占拠状態であるときなど、ロボットシステムはその後にスケジューリングされた例えば２ＡＭなどのような走査時間のマッピングルーチンを待機することができる。あるいは、ロボットシステムは、最初に店舗内で電源を投入したとき、またはロボットシステムの「スタート」ボタンの手動選択、またはモバイル演算装置上で実行するオペレータポータル内、および、店舗またはロボットシステムと関連した手動選択のようなユーザからの手動入力に応答して、自動的にマッピングルーチンを開始することができる。
【００２５】
別の実施方法では、システムはロボットシステムを送って、ロボットシステムを店舗に初期配送した後、および店舗に現在存在する好ましい在庫状態の確認を受信することにより店舗内で第１のマッピングルーチンを実行する。例えば、店舗の新しい棚割表を自律的に生成するための準備として、店舗の共同出資者は、各スロット、棚、棚区画、棚構造、整理棚、冷却装置、壁ラック、独立フロアラック、および／またはテーブルなどに、好ましい数および方位を有する各製品を、店舗全体にわたり、手動で在庫保管することができ、一度ロボットシステムがその店舗へプロビジョニングを行い、店舗内のローカル無線ネットワークに接続すると、人間のオペレータ（例えば、店舗のマネージャまたはそのロボットシステムに加入している実体）が演算装置（例えば、デスクトップコンピュータまたはスマートフォンなど）を介してオペレータポータルにアクセスし、店舗の現状が（およそ）所望の在庫状態を満たしているどうかを確認し、現在の在庫状況によって店舗の新しい棚割表を生成する機能を選択することができる。所望の在庫状態の確認および新しい棚割表関数を受領すると、システムは、まず、ブロックＳ１１０でそのロボットシステムを送って、店舗のマップデータを収集し、および／または店舗のマップを生成することによって、方法Ｓ１００の実行を開始することができる。しかし、システムは、ブロックＳ１００で他の方法や技術を実施して、ロボットシステムを起動させてマッピングルーチンを実行させることができる。
【００２６】
さらに別の実施方法では、システムは、例えば、店舗のマネージャがデスクトップコンピュータ、モバイル演算装置、またはその他のデバイス上で実行されるウェブブラウザまたはネイティブアプリケーションを介して入力するなどの、オペレータポータルを介した入力で店舗レイアウトへの変更が示されると、ブロックＳ１１０を実行する。特に、棚構造全体または一部のサブセットの再配置、新しい棚構造の配置、および非一時的（例えば固定インフラストラクチャ）棚構造および／または一時的な棚構造（例えば、独立した段ボールポップアップ）のような既存の棚構造物の除去に続き、システムは、新しい正規化されたメタスペースの生成を開始するブロックＳ１１０を実行し、店舗レイアウトへの変更に対応する新しいウェイポイントの集合を実行できる。したがって、この実施方法では、システムは、このような店舗レイアウトへの変更を表す正規化されたメタスペースを生成することができ、その後、正規化されたメタスペース内で表される店舗レイアウトへのこの変更に従って、ウェイポイントの集合を定義することができる。
【００２７】
ブロックＳ１１０におけるシステム（例えば、コンピュータシステム）によってマッピングルーチンを実行するためにトリガされると、ロボットシステムは、その統合マッピングセンサを通じて距離データを記録しながら、店舗の物理的な内部空間の２Ｄ（または３Ｄ）マップを生成することによって、店舗内を自律的に移動することができる。例えば、ロボットシステムは、同時局在およびマッピング（または「ＳＬＡＭ」）技術を実施して、マッピングルーチン全体にわたって収集されたＬＩＤＡＲベースの距離走査に基づいて、店舗内の未知環境のマップを作成して更新し、マップ内の位置を追跡することができる。しかし、ロボットシステムは、他の方法や技術を実施して、店舗内の床空間の２Ｄマップを生成する（または、店舗内の３Ｄマップを生成する）ことができる。
【００２８】
あるいは、ロボットシステムはマッピングルーチン中に未加工マップデータを収集して、マッピングルーチンの間、またはマッピングルーチンの終了時に、リアルタイムでこれらのデータをシステム（例えば、インターネットを介したリモートサーバ）にアップロードすることができる。次に、システムは、以下に説明するように、店舗の２Ｄの床棚割表または３Ｄマップ（例えば、「ポイントクラウド」）（以下、「フロアマップ」と称する）に、これらの未加工マップデータを、ロボットシステムから遠隔的に離れた場所に再構築するための同様の方法および技術を実施することができる。
【００２９】
５．１  複数のロボットシステム
１つの変形例として、システムは、単一の店舗にプロビジョニングされる複数のロボットシステムを含み、例えば、その店舗に対して定義されたウェイポイントに割り当てられたサブセットを自律的に実行するなどにより協働してマッピングルーチン中にマップデータを集めてマップデータを収集し、さらに協働して撮像ルーチンの間に画像を収集する。例えば、２つのロボットシステムを、大規模なシングルフロアの小売店舗に配置し、協働して限られた期間（例えば、１時間未満）のマッピングルーチンおよび撮像ルーチンで、店舗内の全棚のマップデータおよび画像を収集することができる。別の実施例では、１つのロボットシステムは、マルチフロア店舗の各フロアに配置することができ、店舗に配置された各ロボットシステムは、割り当てられたフロアにある棚のマップデータおよび画像を収集することができる。店舗内のこれらのロボットシステムによるマッピングルーチンに続いて、システムは、ブロックＳ１２０におけるこれらのロボットシステムからマップを収集し、次に、本明細書に記載される方法および技術を実施して、店舗にプロビジョニングされたロボットシステムごとにウェイポイントの集合を生成する。
【００３０】
６．実際のフロアマップ
方法Ｓ１００のブロックＳ１２０は、ロボットシステムから床空間のマップを受信することを規定している。一般的に、ブロックＳ１２０では、システムは、上述のマッピングルーチンの完了後に、ロボットシステムから店舗の床空間の２Ｄマップを収集する（または店舗内部の３Ｄマップまたはポイントクラウドを収集する）ように機能する。例えば、マッピングルーチンが完了すると、ロボットシステムは、ローカルインターネット接続された無線ルータを介して、またはセルラーネットワークを介して、マップをシステムにアップロードすることができる。しかし、そのシステムは、店舗内の障害物および構造物の実際の場所のマップを、他の方法で、あるいは他の形式でも収集することができる。
【００３１】
図１に示された１つの実施方法では、ロボットシステムは、店舗の床より上方にオフセットした水平平面（例えば、店舗の床より２インチ上）で、店舗の２Ｄポイントクラウドを生成し、このポイントクラウドをブロックＳ１２０のシステムにアップロードする。この実施方法では、システムは、次に、ライン抽出技術を実施して、２Ｄポイントクラウドを、店舗全体の床に配置された構造物の実際の（例えば、寸法的に正確な）位置および外部寸法を表す、ベクトル化された２Ｄラインマップに変換することができる。次いで、システムは、パターンマッチング、構造認識、テンプレートマッチング、および／または他のコンピュータ視覚技術を実施して、店舗内の棚構造（および／または他の保管要素）として、ベクトル化された２Ｄラインマップ内の大きな離散的な（ほぼ）直線領域を識別してから、ブロックＳ１２０において、それによってベクトル化されたラインマップ（以下「フロアマップ」）にラベル付けすることができる。
【００３２】
一例では、システムは、１メートルより大きい最大水平寸法を示し、棚構造として２：１より大きいアスペクト比を示す離散的な長方形構造をラベル付けし、１メートルより大きい最大水平寸法を示し、開放テーブルとして２：１未満のアスペクト比を示す離散的長方形構造をラベル付けし、１メートル未満の最大水平寸法を示し、独立したポップアップユニットとして２：１未満のアスペクト比を示す離散的な長方形構造をラベル付けし、１メートル未満の最大水平寸法を示し、独立した床ユニットとして２：１未満のアスペクト比を示す不定形な構造をラベル付けすることができる。別の実施例では、システムは、小売店舗の設定に共通する棚構造、チェックアウトレーン、冷却ユニットなどの標準計画寸法（例えば、長さおよび幅）および幾何学的形状（例えば長方形）のデータベースにアクセスし、２Ｄラインマップから空間の床上の構造の寸法と形状を抽出し、これらの構造寸法と幾何学的形状をデータベースに格納されている標準プランと幾何学的形状定義と比較して、２Ｄラインマップで表された選択構造を棚構造として識別し、ラベル付けすることができる。
【００３３】
別の実施例では、システムは、９０度までのコーナーに対し、フロアマップ内の１つの水平面を走査するためのエッジ検出技術を実施し、４つの９０度までのコーナーの集合によって囲まれたフロアマップにおける閉鎖された領域を棚構造として識別し、そのような２つの棚構造の間の開放領域を通路として識別することができ、システムは、それに応じて棚構造と通路のラベルをフロアマップに入れることができる。しかし、システムは、テンプレートマッチング、エッジ検出、パターンマッチング、パターン認識、光学文字認識、色認識、コンテンツベースの画像の読み出し、ポーズ推定、コード読み取り、形状認識、および／または、他の適した方法や処理技術を実施することにより、フロアマップ内の特徴を識別し、これらの特徴を店舗内の１つ以上の棚構造と相関させることができる。
【００３４】
６．１  監視された棚構造の検出
上記の実施方法では、一旦システムが店舗のフロアマップで表される棚構造を識別すると、システムは、人間のオペレータ（例えば、ロボットシステムオペレータ、店舗のマネージャ）に指示を出してフロアマップに自律的に適用された棚構造ラベルを確認することができる。例えば、システムはオペレータのモバイル演算装置またはデスクトップコンピュータ上で実行されるオペレータポータルを介してオペレータにフロアマップの視覚的形状を提供し、その後、フロアマップの視覚的形状上に棚構造ラベルを表示し、次に、オペレータは、これらの棚構造ラベルを見直して調整することにより、これから行われる撮像ルーチンに対するウェイポイントを生成する前に、店舗を通して棚構造を識別するシステムに対して監督を行うことができる。あるいは、システムは、ロボットシステムから受信されたマップデータを、ベクトル化された店舗のフロアマップ（例えば、ベクトル化された２Ｄまたは３Ｄラインマップ）に変換し、フロアマップ内の店舗の床に配置された個別の構造物を識別し、オペレータポータルへのフロアマップ内でハイライトされた個別の構造物を用いてこのフロアマップを処理することができ、オペレータは、オペレータポータルを通じてフロアマップ内のハイライトされた構造物が棚構造を表すことを手動で確認することができる。しかし、システムは、オペレータポータルを介して、その他の方法で人間のオペレータとインターフェースをとって、棚構造の識別を確認するための情報を収集したり、店舗のフロアマップ内で直接棚構造を識別したりすることができる。
【００３５】
しかし、システムは、他の任意の方法または技術を実施して、ロボットシステムによって収集された未加工マップデータ（またはベクトル化された２Ｄまたは３Ｄラインマップ）を、例えば、以下に記載される座標系と比較して、店舗内の棚構造（および／または他の格納要素）の既知位置を識別するラベル付きフロアマップに変換することもできる。
【００３６】
７．アーキテクチャメタスペース
方法Ｓ１００のブロックＳ１３０は、店舗内の棚構造の位置を規定するアーキテクチャメタスペースへのアクセスと、棚構造のアドレスとを規定している。一般的に、ブロックＳ１３０では、システムは、店舗内の棚構造の計画位置を画定する既存のアーキテクチャメタスペースを読み出し、棚構造のアドレスまたは店舗全体にわたるこれらの棚構造を、棚構造の既存の立面マップにリンクする他の識別子を含み、これらの既存の立面マップは、店舗の棚割表を共に定義する。
【００３７】
７．１  建築計画
ある実施方法では、システムは、図１に示すように、店舗の現存の建築計画と店舗の既存の棚構造の立面マップをリンク（マージ）することによって、ブロックＳ１３０において店舗用のアーキテクチャメタスペースを生成する。一実施例では、ユーザ（例えば、店舗の従業員、ロボットシステムオペレータ）は、演算装置（例えばデスクトップコンピュータ）で実行するブラウザやネイティブアプリケーションで実行するオペレータポータルを介して、例えば、店舗内の壁、棚、列、ドア等の位置のような店舗の２Ｄ建築計画のデジタルコピーをアップロードする。この実施例では、システムは、ユーザがアップロードした紙の設計図をデジタル走査してから、このデジタル走査をベクトル化することができる。別の実施例では、システムは、オペレータポータルを介してユーザから提供されるオンラインデータストアへのインターネットリンクから、店舗に対する既存のベクトル化された建築計画を読み出すことができる。
【００３８】
あるいは、システムは、一般的には、店舗内の棚構造、キオスク、レジカウンタ、ドアなどの建築レイアウトを定義する標準化された店舗レイアウトを（例えば、特定のチェーン店舗のための標準化された店舗レイアウトの集合から）読み出すことができる。この実施方法では、システムは、例えば、棚構造の欠落や追加、構造柱の配置など、店舗の実際のレイアウトとは大幅に異なる標準化された店舗レイアウト内の領域を識別するようユーザに促すことができ、システムは、それに従って店舗の標準化された店舗レイアウトを更新することができる。
【００３９】
その後、システムは、テンプレートマッチング、エッジ検出、パターンマッチング、パターン認識、光学文字認識、色認識、コンテンツベースの画像の読み出し、ポーズ推定、コード読み取り、形状認識、および／またはその他の適切な方法や処理技術を実施して、店舗のマップに記載されたような、店舗のマップに対して前述のように、ベクトル化された建築計画（または、ベクトル化され、標準化された店舗レイアウト）の特徴を棚構造として識別することができる。（以下、建築計画と、店舗の実際の棚構造に対応するメタスペースの特徴は、「仮想棚構造」と称する。）
【００４０】
７．２  棚割表と立面マップ
システムは同様に、棚区画と棚の相対的位置を視覚的に、グラフィカルに、および／またはテキスト的に定義し、これらの棚の製品の配置を定義し、店舗全体の棚構造の中のこれらの棚、棚区画、および棚構造などのアドレスを含む既存の棚割表にアクセスすることができる。ある実施方法では、システムは、店舗のあらかじめ定義された棚割表から、ロボットシステムが店舗の実際のマップを生成した時点で最新の立面マップの集合を選択する。あるいは、システムは、テキストスプレッドシートのような製品の位置データベースからこれらのデータにアクセスすることができる。しかし、システムは、その店舗のそのような製品位置および割り当てデータを、その他の形式で収集または読み出すことができる。
【００４１】
７．３  アーキテクチャメタスペース内の仮想棚構造
次に、システムは、仮想棚構造、仮想棚区画、仮想通路、仮想壁、仮想ドア、および／または他の仮想の特徴をベクトル化された建築計画から店舗のアーキテクチャメタスペースを定義する新しいベクトル化されたラインマップに変換することによって、アーキテクチャメタスペースを開始することができる。その後システムは、既存の立面マップを、棚割表から、アーキテクチャメタスペース内の対応する仮想棚構造にリンクすることができる。
【００４２】
ある実施方法では、システムは、店舗内の棚構造のアドレスまたはその他の識別子を表すベクトル化された建築計画内の特徴を検出する。たとえば、システムは、光学文字認識を実施して、建築計画のテキストから棚構造のアドレスを直接読み出すことができ、次に、建築計画の仮想棚構造への認識された文字列の近接に基づいて、これらの棚構造のアドレスを有するアーキテクチャメタスペース内の仮想棚構造にこれらの棚構造のアドレスをラベル付けすることができる。（システムは、建築計画の中の、棚区画、通路、壁、ドアなどのアドレスを同様に認識することができ、アーキテクチャメタスペースの対応する特徴にこれらのアドレスを書き込むことができる。）  アーキテクチャメタスペース内の各仮想棚構造に対して、システムは、仮想棚構造からの棚構造のアドレスを、店舗の立面マップの集合の中の棚割表に関連づけられた棚構造のアドレスにマッチングさせ、次いでプラノグラムＩＤをアーキテクチャメタスペース内の仮想棚構造に書き込むことができる。したがって、システムは、類似の棚構造のアドレスタグに基づいて、アーキテクチャメタスペース内の仮想棚構造に棚割表をリンクさせることができる。
【００４３】
別の実施方法において、棚割表は、店舗全体にわたる棚構造の立面マップを、店舗内でこれらの棚構造の相対的位置にリンクする棚割表レイアウトを含むこともできる。したがって、システムは棚割表レイアウトに対して棚割表のレイアウトを歪め（例えば、回転、平行移動、全体的な歪み、局所的な歪み、その他の操作）、これらの立面マップの位置をアーキテクチャメタスペース内で識別された仮想棚構造に位置合わせすることができるようになり、次いで、棚割表レイアウトからアーキテクチャメタスペース内の一致する仮想棚構造に立面マップ識別子を転送する。
【００４４】
上記の実施方法では、システムは、アーキテクチャメタスペース内の仮想棚構造間の仮想通路を識別し、隣接する通路に向かった棚割表に対面するアーキテクチャメタスペース内の仮想棚構造にリンクされた棚割表の方位を決定することもできる。しかし、システムは、他の方法や技術を実施して、既存の店舗の棚割表をアーキテクチャメタスペース内の仮想棚構造にリンクすることもできる。
【００４５】
７．４  アーキテクチャメタスペースでの仮想棚区画
アーキテクチャメタスペースで表される仮想棚構造では、上述のように、仮想棚構造に一致する棚割表で定義された棚区画の絶対位置または相対位置をマッピングすることによって、システムは棚区画を仮想棚構造に沿って描写することができる。一実施例では、システムは、棚区画の絶対寸法または相対寸法と、棚区画のアドレスを棚割表から抽出し、これらの棚区画寸法をメタスペース内の対応する仮想棚構造にマッピングして仮想棚構造に沿って仮想棚区画の位置を決定し、その後、アーキテクチャメタスペースの仮想棚構造の各棚区画に棚割表からの対応するアドレスをラベル付けする。別の実施例では、システムは、２Ｄ棚割表を、棚構造内の棚区画の相対的位置を表す１Ｄライン集合に変換し、これらのラインを対応する棚区画アドレスと共にラベル付けし、メタスペースの仮想棚構造の端部に１Ｄライン集合の端部を固定し、仮想棚構造の反対側の端部で終端するように１Ｄライン集合をスキューさせ、１Ｄライン集合内のこれらのオーバーレイされたラインに従って、アーキテクチャメタスペース内の仮想棚構造内の仮想棚区画を定義し、アーキテクチャメタスペース内の仮想棚構造に対してこのように定義された対応する仮想棚区画に対し、これらのオーバーレイされたラインからの棚区画アドレスを１Ｄライン集合に書き込む。さらに別の実施例では、システムは、店舗のための標準的な棚区画幅（例えば、４フィート）を読み出し、この標準棚区画幅に基づいて仮想棚構造内の仮想棚区画を描写し、仮想棚構造に一致した現存の棚割表に定義されている最も近い棚区画からの棚区画アドレスを、仮想棚構造内のこれらの仮想棚区画に転送することができる。
【００４６】
そして、システムは、アーキテクチャメタスペース内の各仮想棚構造に対して、これらのプロセスのいずれか１つ以上を繰り返すことができる。しかし、システムは、他の方法や技術を実施して既存の棚割表をメタスペース内の仮想棚構造にリンクし、既存の棚割表に定義された棚区画の寸法と位置から仮想棚構造の棚区画を定義し、既存の棚割表（またはプロダクトポジションデータベースなど）からの棚区画アドレスを有するアーキテクチャメタスペース内の仮想棚区画の部分領域にラベル付けすることができる。
【００４７】
また、システムは、同様の方法および技術を実施して、メタスペース内の仮想棚区画のサブ領域に、棚のアドレスおよび立面マップの集合から抽出された棚の垂直位置をラベル付けすることもできる。例えば、システムは、メタスペース内の各棚区画に、総高さ、棚区画に含まれる棚の数、および／または棚区画内の棚の垂直方向の位置などをラベル付けすることができる。また、システムは、立面マップの集合から抽出されたカテゴリアドレス、通路アドレス、および／またはスロットアドレスを使用して、アーキテクチャメタスペースにラベルを付けることもできる。
【００４８】
したがって、システムは、建築計画（または標準化された店舗レイアウト）と店舗からの既存の棚割表からデータを集約して、店舗内の棚構造と棚区画の予想位置とアドレスを示すベクトル化された２Ｄラインマップを含む、店舗のアーキテクチャメタスペースを形成することができる。したがって、アーキテクチャメタスペースは、店舗内の通路、棚構造、棚区画などの計画された場所や寸法を含む、店舗の「計画された」表現を定義することができる。
【００４９】
７．５  手動による棚構造の識別
システムは、さらに、または代替的に、ユーザ（例えば、店舗の従業員またはロボットシステムオペレータ）とインターフェースをとることにより、建築計画中の棚構造を識別してラベル付けすることができる。一実施例では、システムはオペレータポータルとインターフェースをとり、（ベクトル化された）建築計画をユーザに提示する。この実施例では、ユーザは建築計画内の棚構造上のカーソルをドラッグするなどにより、棚構造に対応する建築計画内の領域を示すことができる。したがって、ユーザが建築計画の領域に連続的なカーソル入力を描画するとき、システムは、完全にこの連続的なカーソル入力を境界付けするこの建築計画内のラインの集合を選択して、このラインの集合を棚構造にラベル付けすることができる。この実施例では、ユーザは、例えば、テキストによる棚構造のアドレスを、建築計画の識別した棚構造に入力するなどして、建築計画の棚構造をタグ付けまたはラベル付けすることができる。さらに、システムは、オペレータポータルとインターフェースをとって、建築計画内のカテゴリ、通路、棚区画、および／または棚などを識別およびラベル付けするユーザ入力を収集することができる。
【００５０】
システムは、類似の方法および技術を実施して、ユーザ（例えば、店舗のオペレータまたは管理者）に、抽出されたアドレスの精度に対して低い信頼性が計算された建築計画に表された棚構造のサブセット、たとえば、建築計画に表された棚構造のための棚構造のアドレスを手動で提供するように促すことができる。
【００５１】
したがって、システムは、ユーザ確認された棚構造およびユーザが指定した棚構造のアドレスに対応するラインの集合を含むアーキテクチャメタスペースにアクセスすること、または開始することができる。上述のように、システムは、次いで、店舗の既存の棚割表からアーキテクチャメタスペースに、例えば、アーキテクチャメタスペース内の仮想棚構造物にタグ付けされた同様の棚構造のアドレスと店舗の棚割表に基づく、棚区画の位置やアドレス、棚の位置やアドレスなどのようなデータを転送することができる。しかし、システムは、他の方法または技術を実施して、アーキテクチャメタスペース内の通路、棚構造、棚区画、および／または棚などを識別し、これら対応するアドレス、ＩＤまたは他のポインタなどの仮想要素に対し、棚割表や、店舗用の製品位置データベースに保存されたデータをラベル付けすることができる。
【００５２】
７．６  既存のアーキテクチャメタスペース
あるいは、システムは、デスクトップコンピュータまたは他の演算装置上で実行されるオペレータポータルのインスタンスを介して、ユーザによってアップロードされるような既存のアーキテクチャメタスペースにアクセスすることができる。しかし、システムは、他の方法または技術を実施して店舗のアーキテクチャメタスペースを生成またはアクセスすることもできる。
【００５３】
８．正規化されたメタスペース
方法Ｓ１００のブロックＳ１４０は、（実際の）マップの特徴にアーキテクチャメタスペースの特徴を整合させることによって、正規化されたメタスペースを生成することを規定している。一般的に、ブロックＳ１４０では、システムは、アーキテクチャメタスペース内の仮想要素を、ブロックＳ１２０のロボットシステムから収集された店舗の実際のマップ内の実機能に合せ、それによって、店舗内の通路、棚構造および／または棚区画などの実際の位置を表すラベル付き要素を含む正規化されたメタスペースにアーキテクチャメタスペースを変換する。特に、ロボットシステム（またはコンピュータシステム）は、店舗を移動するロボットシステムが収集した走査データから実際のマップを計算し、よって、実際のマップは、例えば、店舗内の棚構造間の実際のギャップ、隣接する棚構造のずれ、省略した、または追加した棚構造や棚区画、実際の構造要素（実施例えば柱）の位置などのような、固有の建築計画から、または店舗の標準化されたレイアウトからの実際の偏差を含む、店舗の実際のレイアウトを表す。
【００５４】
システムは、その実際のマップを店舗のマスターレイアウトとして使って、アーキテクチャメタスペース内の特徴を、マスターレイアウトの特徴にそろえて正規化されたメタスペースを形成し、ブロックＳ１６０の正規化されたメタスペースから生成されたウェイポイントが、建築計画またはアーキテクチャメタスペースで定義されるような棚構造や棚区画などのおおよその位置ではなく、店舗内の棚構造や棚区画などの真の位置に従って配置されるように、このマスターレイアウト内の特徴に整合させることができる。したがって、ブロックＳ１４０では、システムは、棚構造間の実際のギャップ、隣接する棚構造の位置ずれ、建築計画から省略された店舗内の棚構造、建築計画上に追加された店舗内の棚構造、および店舗内の棚区画の位置などを表す正規化されたメタスペースを生成することができる。
【００５５】
ある実施方法では、システムは、アーキテクチャメタスペース内の大容量または「グローバルな」特徴のクラスタ（棚構造、ドア、周辺壁など）を実際のマップ内の類似特徴に一致させることによって、アーキテクチャメタスペースを実際のマップに縮小して、回転的に整合させる。次に、システムは、アーキテクチャメタスペースで識別された仮想棚構造を、位置および幾何学的類似度に基づいて実際のマップ内の特徴（例えば、線、隣接点の線）を用いて関連付け、図１に示すように、アーキテクチャメタスペース内の棚構造を表すラインベクトルを局所的に歪ませ、スケーリングし、回転させ、平行移動させ、あるいは変更して、実際のマップ内の関連する特徴（例えば、線、隣接点の線）と局所的に整列させ、それによって、アーキテクチャメタスペースを、店舗内での棚構造の実際の位置を表し、棚構造、棚区画などのアドレスでラベル付けされ、ベクトル化されたラインマップを格納した正規化されたメタスペースに変換し、このような特徴を店舗の既存の棚割表（または製品位置のデータベース）にリンクする。
【００５６】
例えば、システムは、上述のようにブロックＳ１２０のマップに表された棚構造を検出し、上記のようにブロックＳ１３０のアーキテクチャメタスペースに表された棚構造を検出し、次に、ブロックＳ１４０において、マップで検出した棚構造が、アーキテクチャメタスペース内で検出された棚構造に対して略中心となるような変換を計算することができる。その後、変換を棚構造に適用し、アーキテクチャメタスペース内の棚構造のアドレスの位置に適用することによって、システムは正規化されたメタスペースを生成することができる。
【００５７】
上記の実施例では、システムは、店舗に関連付けられた小売りブランドに対し、標準化された店舗レイアウトにアクセスし、小売りブランドに関連付けられた店舗の棚構造の一般的なターゲット位置を画定し、ブロックＳ１３０で、標準化された店舗レイアウトで表される棚構造を検出し、ブロックＳ１４０で、マップで検出された第１の棚構造のサブセットを標準化された店舗レイアウト（例えば、そのような特徴が棚構造を表す閾値信頼度より大きい）で検出された第１の棚構造のサブセットに対して略中心となるような変換を計算する。次に、システムは、変換をアーキテクチャメタスペースに適用することによって、第１の棚構造のサブセットの位置とアドレスを使用して、正規化されたメタスペースを初期化することができる。しかし、システムは、標準化された店舗レイアウトの最も近い棚構造の位置から閾値距離以上離れているか、標準化された店舗レイアウト内の棚構造に一致しないマップ内の第２の棚構造のサブセットを閾値の信頼度よりも高い信頼度で識別することもできる。次いで、システムは、マップ内の第２の棚構造のサブセットを、標準化された店舗レイアウト内の第２の棚構造のサブセットに手動でリンクさせ、これら未知の棚構造のアドレスを提供し、および／または棚構造を表す必要のない一部またはすべての棚構造をマークすることができる。最後に、システムは、第２の棚構造のサブセット（または残りの未知の棚構造）をマップの正規化されたメタスペースに挿入して、アーキテクチャメタスペース内の棚構造の第２サブセットから正規化されたメタスペースの第２の棚構造のサブセットに、ユーザが手動で提供するリンクに基づいてアドレスを書き込み、および／またはユーザによって主導で提供されたように棚構造へのアドレスを書き込むことができる。
【００５８】
システムは、同様の方法および技術を実施して、アーキテクチャメタスペース内で識別されラベル付けされた仮想棚区画と実際のマップ内の特徴とを関連付けて、アーキテクチャメタスペースの棚区画を表すラインベクトルを局所的に歪ませ、スケーリングし、回転させ、平行移動させ、あるいは変更して、実際のマップ内で関連付けられた特徴と局所的に整合させてアーキテクチャメタスペースを正規化されたメタスペースに変換することができる。
【００５９】
したがって、システムは、アーキテクチャメタスペース内のラベル付き特徴を実際のマップ内の特徴に関連付け、アーキテクチャメタスペース内のラベル付き特徴を再度局所的に位置決めして実際のマップの関連付けられた特徴と整合させてブロックＳ１４０で正規化されたメタスペースを生成し、ブロックＳ１４０で、棚構造のアドレス（すなわちラベル）、棚区画アドレスなどをアーキテクチャメタスペースから正規化されたメタスペースに変換することができる。しかし、システムは、その他の方法または技術を実施して、ラベル付けされたアーキテクチャメタスペースを、店舗内で既知の棚構造（および／または他の要素）の実際の位置を表す正規化されたメタスペースに変換することができる。
【００６０】
９．店舗の座標系
方法Ｓ１００のブロックＳ１５０は、正規化されたメタスペース内の店舗の座標系を定義することを規定している。一般的に、ブロックＳ１５０では、システムは、ブロックＳ１６０における座標系に対するウェイポイントの横方向距離、長手方向距離、および方位（例えば、ヨー角）の計算に備えて正規化されたメタスペース内で座標系を位置決めする。
【００６１】
一実施方法では、システムは、ブロックＳ１２０のロボットシステムから受信された位置データに基づいて、正規化されたメタスペースの、店舗内に載置されたドックの位置にラベルを付け、次に、正規化されたメタスペース内のドックと一致する座標系の原点を定義する。この実施方法では、システムは、次いで、座標系のｘ軸を、正規化されたメタスペースで識別された最長の線形壁に整合させる。ただし、システムは他の方法で、またはその他のパラメータに従って正規化されたメタスペース内に座標系を配置したり、位置決めしたりすることができる。
【００６２】
１０．ウェイポイントの生成
方法Ｓ１００のブロックＳ１６０は、正規化されたメタスペース内の棚構造の位置とロボットシステムの撮像能力に基づいて、正規化されたメタスペース内のウェイポイントの集合を定義することを規定し、ここで、各ウェイポイントは、座標系に対する位置および方位を定義する。方法Ｓ１００のブロックＳ１７０では、ウェイポイントの集合内の各ウェイポイントのラベル付けを、ウェイポイントに近接した棚構造のアドレスとともに規定している。一般的に、ブロックＳ１６０では、システムは、図１および６に示されるように、ロボットシステムが正規化されたメタスペースに示されたラベル付き棚構造の位置に基づいて移動し、デジタル写真画像をキャプチャするための座標系に対する店舗内の位置を画定するウェイポイントのリストを生成する。ブロックＳ１７０では、システムは、正規化されたメタスペースに示されている棚構造または棚区画等の近傍のアドレスに基づいて、各ウェイポイントのロボットシステムのカメラの視野に入ると予測される棚構造または棚区画のアドレスを書き込む。
【００６３】
ある実施方法では、システムは、正規化されたメタスペース内でラベル付けされた各棚区画に対して１つのウェイポイントを生成する。例えば、ブロックＳ１６０では、システムは、店舗の棚割表から、第１の棚構造の第１のアドレスに関連付けられ、第１の棚構造の第１の側面に割り当てられた製品陳列面の位置を指定する第１の立面マップにアクセスし、第１の棚構造における第１の棚区画の集合の位置を第１の立面マップから抽出し、正規化されたメタスペース内の第１の棚構造の位置に第１の棚区画の集合の位置を投影して正規化されたメタスペース内の第１の棚構造の棚区画を位置決めすることができる。この実施例では、これにより、システムは、正規化されたメタスペースに表される第１の棚構造における各棚区画間で長手方向に中心合わせしたウェイポイントを定義することができる。正規化されたメタスペース内で、座標系に対し、第１の棚構造の長手面に垂直な角度方位（例えばヨー角）を正規化されたメタスペース内で計算し、第１のウェイポイントのサブセット内の各ウェイポイントに角度方位を書き込むことができる。したがって、各ウェイポイントに対して、システムは、ロボットシステムが、ウェイポイントによって定義された座標系に対する位置と方位に移動せしめられたとき、ロボットシステム内のカメラの視野内で棚区画が横方向の中央に配置されるように、正規化されたメタスペース内で表される棚構造内の対応する棚区画間のウェイポイントを中心合わせする。
【００６４】
この実施方法では、ロボットシステムは、そのマストの片側に配置されたカメラのセットを含むことができ、システムは、ロボットシステム内のカメラに対して予め設定されたターゲット撮像距離にアクセスして、その後、ロボットシステム内の各カメラは、これらのウェイポイントによって定義される位置と方位を占拠するときに、この予め設定したターゲット撮像距離によって、隣接する棚構造の面からオフセットされるように、正規化されたメタスペース内に表される棚構造に沿ってウェイポイントを定義することができる。
【００６５】
あるいは、システムは、ロボットシステムにおけるカメラの光学性能（例えば、ズームレンジ、解像度）、ロボットシステムにおけるカメラの位置、および製品在庫データへの変換のための画像解像度要件などを読み出すことができ、これらのデータおよび画像要件に基づいて、対応する棚区画からの各ウェイポイントの距離を設定することができる。
【００６６】
例えば、システムは、第１の棚構造のアドレスに関連付けられた第１の立面マップから、正規化されたメタスペースで表される第１の棚構造の高さを抽出し、第１の棚構造の高さと、ロボットシステムに組み込まれたカメラの光学性能（例えば、ズーム、解像度）に基づいて、第１の棚構造からの目標とする横方向のオフセット距離を計算し、次に、この目標とする横方向のオフセット距離によって、第１の棚構造の長手面から横方向にオフセットされた第１のウェイポイントのサブセットを定義することができる。別の実施例では、システムは、対応する棚区画の前にある特定の距離にあるウェイポイントを位置決めすることができ、これにより、ロボットシステムの位置精度（例えば、目標とするウェイポイントの位置から±４”、目標とするヨー角から±１°）を考慮して２台のカメラがキャプチャする画像解像度を最大限としながら、２台のカメラは、ロボットシステムのマストに沿って垂直にオフセットして棚区画の全高をキャプチャすることができる。したがって、システムは、位置と方位を、座標系に対する（ｘ、ｙ、δ）座標の形で、各棚区画に正規化されたメタスペース内でラベル付けされたウェイポイントに書き込むことができる。
【００６７】
別の実施方法では、正規化されたメタスペースでラベル付けされた各仮想棚区画に対して、システムは、棚区画の前方に中心合わせされた仮想領域と、ロボットシステムが領域内の任意の位置にあるときにロボットシステムの一方の側のカメラの視野内にくる棚区画の全高とを、（前述のように、ロボットシステムの位置精度を考慮して）画定することができる。これにより、上述のように、マストの一側（例えば左側）に第１の組のカメラと、マストの対向する側（例えば右側）に第２の組のカメラとを含むロボットシステムでは、システムは、図１に示すように正規化されたメタスペース内の対向する棚区画に対応する２つの重なり合う仮想領域を検出し、これら２つの重なり合う仮想領域の交点を計算して、２つの対向する棚区画が、完全にロボットシステムの両側のカメラの視野内にあるように、２つの対応するウェイポイントを、交点を有する（ｘ、ｙ、δ）座標を規定する単一のウェイポイントに圧縮することができる。したがって、システムは、２つの対向する棚区画（すなわち、共通通路を横切って互いに面する２つの棚区画）に対応する２つのウェイポイントを、２つの棚区画の間で横方向および長手方向に中心合わせされた単一のウェイポイントに圧縮することができる。したがって、棚構造の高さに対する最大撮像距離以下の幅の通路によって分離された対向する２つの棚構造に対し、システムは、通路を横切る方向に中心合わせし、通路に沿って対向する棚区画の各対に対して棚区画の両端の間に中心合わせしたウェイポイントの列を通路に沿って生成することができる。
【００６８】
しかし、高すぎる棚構造の場合、および／または、１つのウェイポイントで、ロボットシステムの両側の棚区画の画像をキャプチャするには通路が広すぎる場合、システムは通路に沿って２列のウェイポイントを生成することができ、ウェイポイントの各列は、ロボットシステムが１つの隣接する棚構造内の棚区画の画像をキャプチャする通路に沿った位置を画定する。
【００６９】
したがって、システムは、ロボットシステムが撮像ルーチンの間に店舗内の各ウェイポイントに移動したときに、少なくとも１回、ロボットシステム内の少なくとも１つのカメラの視野内に、店舗内の各棚区画が完全に入る位置と方位（例えば、店舗の座標系の座標の集合（ｘ、ｙ、δ）を定義するウェイポイントの集合を生成することができる。あるいは、システムは、店舗内の棚区画のサブセットに対するウェイポイントの集合を生成することができる。例えば、システムは、対応する棚割表または製品位置データベースに格納されたカテゴリ（例えば、化粧品、箱入りシリアル、缶詰品、洗剤、バラ製品、バラのデリミートなど）および／または棚タイプ（例えば、ペグボード、フラット棚、ガラスデリケース、バラ製品用バスケットなど）を有する正規化された名前空間内の各仮想棚構造または各仮想棚区画をラベル付けすることができる。この実施例では、システムは、化粧品、箱入りシリアル、缶詰品、および洗剤カテゴリに対応する棚区画の、および／またはペグボードタイプおよび平棚タイプのラベルを備えた棚区画のウェイポイントを生成することができるが、このシステムはバラ製品にとバラのデリミートに対応する棚区画および／またはガラスデリケースやバラ製品用のバスケットにラベル付けされた棚区画のウェイポイントを除外することができる。しかし、システムは、他の棚区画カテゴリ、タイプ、または他のパラメータに基づいて、店舗内の棚区画のサブセット（または棚構造、棚などのサブセット）用のウェイポイントを選択的に生成することができる。
【００７０】
各ウェイポイントに対し、システムは、図１に示すように、ロボットシステムがウェイポイント（例えば、ウェイポイントによって定義された（ｘ、ｙ、δ）座標からの閾値距離および角度オフセット内に移動せしめられる）に移動すると、画像を記録するロボットシステム内のカメラのアドレスをウェイポイントに書き込むこともできる。例えば、ロボットシステムの右側が高さ４フィートの棚区画に面するが、ロボットシステムの左側は近接する棚区画に面していない第１のウェイポイントに対しては、ロボットシステムは、ロボットシステム内の右下カメラのアドレスを書き込み、ロボットシステムが第１のウェイポイントに達したときに右下のカメラを起動して低い棚区画の画像をキャプチャすることができる。同様に、ロボットシステムの右側が高さ７フィートの棚区画に面するが、ロボットシステムの左側は棚区画近傍に面していない第２のウェイポイントに対しては、ロボットシステムは、ロボットシステムの右下カメラのアドレスと右上のカメラのアドレスを第２のウェイポイントに書き込み、ロボットシステムが第２のウェイポイントに達したときにロボットシステムの右下のカメラと右上のカメラを起動して高い棚区画の画像をキャプチャすることができる。さらに、ロボットシステムの右側が高さ７フィートの第１の棚区画に面し、ロボットシステムの左側は高さ７フィートの第２の棚区画に面する第３のウェイポイントに対しては、ロボットシステムは、ロボットシステムの右下のカメラ、右上のカメラ、左下のカメラ、および左上のカメラのアドレスを第３のウェイポイントに書き込み、ロボットシステムが第３のウェイポイントに到達すると、ロボットシステムの４台すべてのカメラを起動して２つの高い棚区画の画像をキャプチャすることができる。しかし、システムは、他のパラメータまたはスキーマに従って、カメラのアドレスを使用して、ウェイポイントにラベルを付けることができる。
【００７１】
システムはまた、ロボットシステムが、図１に示すように、店舗内の、ウェイポイントで定義された位置および方位に近接しているときには、ウェイポイント内の各カメラアドレスを、対応するカメラの視野内にあることが予想される棚構造、棚区画、棚、および／またはスロットなどのアドレスと関連付けることもできる。１つの実施例では、ウェイポイントでアドレス指定されたカメラのリモートコントローラ上での物理的位置、ウェイポイントで定義された位置、ウェイポイントで定義された方位、および正規化されたメタスペースに含まれるラベル付き特徴に基づいて、システムは、いったんロボットシステムがウェイポイントに移動すると、カメラの視野に入る棚構造、棚区画、棚、および／またはスロットなどを予測することができる。この実施例では、システムは、正規化されたメタスペースからカメラの視野内に入ると予測されるこの棚構造、棚区画、棚、および／またはスロットなどのアドレスを収集し、これらのアドレスをウェイポイント内の対応するカメラアドレスに関連付けることができる。したがって、ロボットシステムがウェイポイントに移動し、ウェイポイントで指定された特定のカメラを介して画像をキャプチャすると、ロボットシステムは、ウェイポイント中の特定のカメラのアドレスに関連付けられた棚構造、棚区画、棚、および／またはスロットなどのアドレスを画像メタデータに書き込むことができ、システムは自動的に画像を棚割表に適合させ、画像に示す製品のＳＫＵを予測し、これらの棚構造、棚区画、棚、および／またはスロットのアドレスに基づいて画像の領域に適合するラベル付きのテンプレート画像を選択する。
【００７２】
上記の実施例では、ブロックＳ１６０で、ウェイポイントの集合内の各ウェイポイントに対して、システムは、ロボットシステムがウェイポイントで定義された位置と方位を占拠すると、光学センサの視野に入ると予測される特定の棚構造と特定の棚区画のアドレスを有するウェイポイントにラベルを付けることができる。その後の撮像ルーチンでは、システムは、ブロックＳ１９０で、ウェイポイントの集合のうち、第１の棚構造の第１の棚区画に隣接する第１のウェイポイントを占拠しつつ、ロボットシステムによって記録された第１の画像を受信し、第１のウェイポイントに格納されている第１の棚区画の第１のアドレスに基づいて、第１の棚区画に割り当てられた製品の識別子の第１のリストにアクセスし、第１のウェイポイントとともに格納された製品の第１のリスト内の製品を表すテンプレート画像のデータベースから第１のテンプレート画像の集合を取得し、下記に説明するように、ブロックＳ１９０で、第１の画像と、第１のテンプレート画像の集合のテンプレート画像の特徴間の類似度に基づいて、第１の棚区画の棚の製品を識別することができる。
【００７３】
したがって、システムは、ロボットシステムの位置精度の位置決め能力、ロボットシステムにおけるカメラの位置、ロボットシステムにおけるカメラのズームおよび解像度機能等のような、店舗内に配置されたロボットシステムの運動および撮像仕様に特有なウェイポイントの集合を生成することができる。しかし、システムは、その他の方法または技術を実施して、１つ以上の店舗のウェイポイントの位置と方位を定義し、ロボットシステムの１つ以上のカメラを指定してウェイポイントで画像をキャプチャし、ウェイポイントにおけるカメラの視野内の棚構造、棚区画、棚、および／またはスロットなどを判定し、カメラによる撮像のコールアウトをこの棚構造、棚区画、棚、および／またはスロットなどのアドレスと関連付けることができる。
【００７４】
１１．パス計画
図５に示すように、方法Ｓ１００の１つの変形例には、ブロックＳ１６２が含まれ、これには、ウェイポイントの集合中の各ウェイポイントを占拠する際に、ロボットシステムに組み込まれたカメラの視野の棚構造の集合内のスロットに割り当てられた製品の製品値に基づいて、ウェイポイントの集合に対する順序を決定し、撮像ルーチンの実行中にウェイポイントの集合の順序をロボットシステムに提供することを規定している。一般的に、ブロックＳ１６２では、システムは、ブロックＳ１６０で定義されたウェイポイントの順序を定義することができる。
【００７５】
例えば、システムは、正規化されたメタスペースで表される各棚構造の各棚区画について、棚割表によって棚区画に割り当てられた製品の値の線形結合を計算し、ウェイポイントの集合の各ウェイポイントの、ウェイポイントに隣接する棚区画に割り当てられた製品の値の線形の組合せに基づいて、値をウェイポイントに割り振って、ブロックＳ１６２のセットに割り当てられた値に基づいて、ウェイポイントの集合に割り当てられた値に基づくウェイポイントの集合の順序を定義することができる。この実施例では、システムは、下記に説明するように、ウェイポイントの集合に対して順番を計算することができ、これにより、ロボットシステムが、店舗のドッキングステーションから割り当てられた製品の値の最大線形結合に関連付けられた第１の棚区画に隣接する第１のウェイポイントに、そして、関連付けられた製品の値の最小線形結合に関連付けられた第２の棚区画に隣接する第２のウェイポイントに、そして、そこからドッキングステーションに戻るまでに通過する総距離を最小限とし、次の撮像ルーチンの間にロボットシステムが消費するエネルギーを最小限とし、その他の１つ以上の重み付けパラメータを達成する。そして、ブロックＳ１８０では、システムは、ウェイポイントの集合とウェイポイントの集合の順番とを撮像ルーチンの間に実行するロボットシステムに提供することができる。
【００７６】
１１．１  個別のウェイポイントのランキング
このバリエーションでは、図５に示すように、システムは店舗内の各ウェイポイントの値を計算し、これらのウェイポイントを値でランク付けして、それによってこれらのウェイポイントを移動するための順序を設定する。
【００７７】
一実施方法では、システムは、店舗の棚割表とマップ（例えば、棚割表に参照されるマップジオメトリ）にアクセスし、ウェイポイントの集合の中の各ウェイポイントにおいてロボットシステムに一体化したカメラの視野内の製品の合計の製品値（以下で示す）を計算する。例えば、特定のウェイポイントの場合、システムは：ウェイポイントで指定されたロボットシステムの方位に基づいて、また、店舗のマップで定義されたウェイポイントから隣接する棚構造までの距離に基づいて、棚割表内の特定のウェイポイントの位置を識別し、ロボットシステムに統合されたカメラの周知の視野を棚割表上に投射し、ウェイポイントを占拠するロボットシステムが記録した画像の集合でキャプチャできる棚構造のスロットの集合（例えば、スロットアドレスの集合）を識別し、スロットアドレスの集合を棚割表に渡して、これらのスロットに割り当てられたＳＫＵの集合を読み出し、その後、ウェイポイントによって定義しされた方位の実際の空間内で特定のウェイポイントを占拠するときに、このウェイポイントを、１つ以上の固有のＳＫＵとロボットシステムの視野の各ＳＫＵの多数の陳列面と関連付けることができる。この実施例では、システムは店舗全体を通じて定義された各ウェイポイントに対してこのプロセスを繰り返して、各ウェイポイントを固有のＳＫＵの集合およびＳＫＵ陳列面に関連付けることができる。システムは、これらのＳＫＵおよびＳＫＵ陳列面を一連の撮像ルーチンにわたって保存および実施することができ、また、システムは、棚割表が改訂されるたびに、または、新しい棚割表が店舗に対してアクティブにされるたびに、このプロセスを繰り返すこともできる。
【００７８】
次いで、システムは、各ウェイポイントに関連付けられたＳＫＵの製品値によって、ウェイポイントの集合をランク付けすることができる。例えば、現在の棚割表のスロットに割り当てられた各ＳＫＵに対して、システムは、店舗で時間単位あたり（例えば１日あたり）販売されるＳＫＵとＳＫＵの単位数に関連付けられた収益性（または「マージン」）の関数として「製品値」（または「優先度」または「重量」）を計算することができる。この実施例では、システムは、ＳＫＵのマージンと販売率の積として特定ＳＫＵの製品値を計算することができる。すなわち、
製品値＝マージンｘ一日あたり販売する単位数
これにより、システムは、各ウェイポイントを占拠する際にロボットシステムの視野内のスロットに割り当てられた単一ＳＫＵの製品値を最大化することにより、ウェイポイントをランク付けすることができる。あるいは、各ウェイポイントに対して、システムは、特定のウェイポイントを占拠するときに、ロボットシステムの視野内のすべての識別可能なスロットに割り当てられたＳＫＵの製品値を合計することによって、特定のウェイポイントについて「集約製品値」を計算することができ、その後、システムは、最大集約製品値によって、ウェイポイントをランク付けすることができる。
【００７９】
別の実施方法では、システムは、ほぼリアルタイムのＰＯＳ販売データに基づいて、ウェイポイントをランク付けすることができる。この実施方法では、ブロックＳ１１０で撮像ルーチンを実行するためにロボットシステムを送る（例えば、直前に）準備する際、システムは店頭に設置されたＰＯＳシステムからの販売データにアクセスして、現在の時間まで、例えば、５分以内、３０分以内、１時間以内、または８時間以内など、または、店舗での最後の在庫補充期間以来、またはロボットシステムが完了した最後の撮像ルーチン以来、先行する期間だけ店舗で販売されている各ＳＫＵの量を識別することができる。次に、システムは、各ＳＫＵに割り当てられたマージンに基づく店舗の各ＳＫＵの現在の製品値（例えば、システムによってホストされる管理者ポータルを介して地域マネージャによってリモートメモリに書き込まれる）と、以下のようなリアルタイムのＳＫＵの販売頻度を、
製品値＝マージンｘ最後の撮像ルーチン以来販売した単位数
で計算することができる。店舗全体にわたって定義される各ウェイポイントについて、システムは、特定のウェイポイントを占拠しているとき、ロボットシステムの視野内にあるＳＫＵの最近の販売頻度を表す新しい製品値に基づいて、特定のウェイポイントについての集約製品値を再計算することができる。これにより、システムは各ウェイポイントをランク付けしたり優先順位を付けたりすることができる。
【００８０】
同様の実施方法では、システムは、履歴の販売頻度に基づいて、ウェイポイントに優先順位を付けることができる。例えば、ブロックＳ１１０で撮像ルーチンを実行するためにロボットシステムを送る準備では、システムは、例えば、最終日、週、月、四半期、または年の販売データのような、店舗の現在の棚割表で指定されたＳＫＵの履歴販売データを、現在の曜日に対しては、過去５週間のこの同じ曜日からの販売データ、現在または今後の休日に対しては、同じ休日または休日シーズンの最後のインスタンスからの販売データ、雨の春の日に対しては、雨の春の日の最後の２つのインスタンスからの販売データなどを読み出すことができる。この実施例では、システムは、店舗で実施されたＰＯＳからこれらの販売データを取得し、以下に記載される方法および技術を実施することで、過去の撮像ルーチンで収集された画像で識別された製品陳列面の数の変化からこれらの販売データを抽出することができる。各ＳＫＵに対して、システムは、特定ＳＫＵの格納されたマージンを、特定ＳＫＵの履歴番号または周波数に乗算して、ＳＫＵの新製品値を算出することができ、各ウェイポイントについて、システムは、前述のように、新しい集約製品値を計算することができる。これにより、システムは、集約製品値によって、店舗全体にわたってウェイポイントを自動的に再ランク付けすることができる。
【００８１】
１１．２  個々のウェイポイント値によるウェイポイントの順序付け
システムは次に、ロボットシステムが、ウェイポイントの順位に基づいて、次の撮像ルーチンの間にウェイポイントの集合の中を移動する順序を定義することができる。
【００８２】
ある実施方法では、システムは、次のようにしてウェイポイントの集合を順序付ける。すなわち、ロボットシステムによって実行されたときに、ロボットシステムは、ドックのホーム位置から集合の中で最も大きい集約製品値に関連付けられた第１のウェイポイントに移動し、撮像ルーチンを実行してホーム位置と第１のウェイポイントの間の他のウェイポイントのそれぞれで画像の集合をキャプチャし、これら他のウェイポイントのそれぞれを完了したとしてマークし、第１のウェイポイントに到達すると、撮像ルーチンを実行して第１のウェイポイントで画像の集合をキャプチャし、第１のウェイポイントが完了したことをマークする。この実施方法では、システムは、次のようにして、残りのウェイポイントの集合を順序付ける。すなわち、第１のウェイポイントで画像を収集した後で、ロボットシステムは、残りのウェイポイントの集合に対する最大の集約製品値に関連付けられた、すでに完了したウェイポイントとの重なりを最小限に抑える通路を通って第２のウェイポイントに向かって移動し、撮像ルーチンを実行して、第１のウェイポイントと第２のウェイポイントの間の他のウェイポイントのそれぞれで画像の集合をキャプチャし、これらの他のウェイポイントのそれぞれを完了したとしてマークし、第２のウェイポイントに到達すると、撮像ルーチンを実行して第２のウェイポイントで画像の集合をキャプチャし、次に説明するように、店舗のために定義されたすべてのウェイポイントに画像の集合が記録されるまで、または撮像ルーチンが終了するまでの間、第２のウェイポイントを完成させたものとしてマークする。
【００８３】
別の実施方法において、システムは、撮像ルーチンの間にロボットシステムによって走査される距離ごとにロボットシステムによって撮像される製品の総製品値を最大にするウェイポイントの集合を通って移動するための順序を計算する。
【００８４】
別の実施方法では、システムは、店舗内の各ウェイポイントのためにウェイポイントを占拠するロボットシステムの視野内のスロットに割り当てられた製品の製品値の合計を計算し、閾値製品値よりも大きい製品値の合計に関連付けられた第１のウェイポイントのサブセットを識別し、閾値製品値より小さい製品値の合計に関連付けられたウェイポイントの第２のサブセットを識別し、第１のウェイポイントのサブセット内の各ウェイポイントへの移動を指定するウェイポイントの集合の順序を定義して、その後、ウェイポイントの第２のサブセット内の各ウェイポイントへ移動し、さらにその後、撮像ルーチンの間に、第１のウェイポイントのサブセット内の各ウェイポイントへ移動する。この実施方法では、システムは、ウェイポイントの第１および第２のサブセットを個別に順序付け、店舗内のロボットシステムの開始位置の観点から、撮像ルーチンの途中で横断する最短の合計距離を達成することができる。また、システムは、ロボットシステムの軌道に沿った重複を最小限に抑えるために、完全なウェイポイントの集合の順序を計算し、各ウェイポイントで、集約製品価値の、第１のサブセットを順序付けして、ロボットシステムが横切る単位時間または単位距離ごとの製品画像の製品値を最大限とするか、あるいは、ロボットシステムの軌跡における重複を最小限とし、次に順序付けた第１のウェイポイントのサブセットで完全なウェイポイントの集合に対するウェイポイントの順序を追加することができる。たとえば、棚構造の平行な列を有するほぼ長方形のフロアプランを定義する店舗では、システムは、店舗の近位の端部から店舗の遠位の端部まで順次各通路の上と下に蛇行する蛇行通路を定義し、最小限の通路の重複ですべてのウェイポイントで画像をキャプチャするための店舗の周囲にループが続く（または先行する）ようにし、ロボットシステムがそのドックに戻る途中で横切る経路を最短にするために、閾値を超える集約製品値に関連付けられた、第１のウェイポイントのサブセットの順序を計算し、順序付けした第１のウェイポイントのサブセットとともに蛇行パスを付加することができる。
【００８５】
ブロックＳ１６２では、システムは、閾値を超える集約製品値に関連付けられたウェイポイントのサブセットを選択する（または、ウェイポイントの集合のうちの最大製品値に関連付けられた予め設定したウェイポイントの数を選択する）ことができ、撮像ルーチンの間、このウェイポイントのサブセットに（少なくとも）２回、そして、店舗の他のすべてのウェイポイントには（少なくとも）１回はロボットシステムを向けるようにロボットシステムの軌道を定義することができるようになる。
【００８６】
１１．３  棚構造の優先順位によるウェイポイントの順序
あるいは、この変形例では、システムは、ウェイポイントをグループ化して、上述の方法および技術を実施することにより、撮像ルーチンの間に店舗内のウェイポイントのグループ間を移動するための順序を設定することができる。
【００８７】
ある実施方法では、システムは、店舗内の各棚構造の長さに沿って定義された列によって、ウェイポイントをグループ化する。次に、システムは、店舗内の各棚構造の棚区画内のスロットに割り当てられた製品の製品値を合計し（すなわち、ウェイポイントの各グループに対して）、製品値の合計の順序で棚構造の集合に優先順位を付け、それに従ってウェイポイントのグループに順序を付け、最大製品値合計に関連付けられた第１の棚構造に沿って定義されたウェイポイントから、最小製品値合計に関連付けられた最後の棚構造に沿って定義されたウェイポイントへのロボットシステムが横切る合計距離を最小限とするように順序付けられたウェイポイントのグループを通る軌跡を計算する。したがって、ロボットシステムを送ってブロックＳ１１０で撮像ルーチンを実行する場合、ロボットシステムは、第１の棚構造に移動して、第１のウェイポイントのグループの各ウェイポイントで画像をキャプチャし、次に、店舗の各棚構造に対し、第２の棚構造が実質的に第１の棚構造から除去されていても、第２の棚構造に移動して、第２のウェイポイントの集合の各ウェイポイントで画像をキャプチャできる。同様の実施方法では、システムは、各棚構造に割り当てられた単一ＳＫＵの最大製品値によって各棚構造（例えば、ウェイポイントの各グループ）をランク付けし、それに従ってウェイポイントのグループを順序付けることができる。
【００８８】
別の実施方法では、システムは、撮像ルーチン全体を通して単位時間当たりに画像化された製品の総製品値を最大にするウェイポイントのグループを移動するための順序を計算することができる。一実施例では、店舗内の棚構造２に沿ったスロットに割り当てられた製品の全製品値の合計は、４３８９で最大となる。棚構造１に沿ったスロットに割り当てられた製品の全製品値の合計は、棚構造物２に面しており、１２３８となる。棚構造１８に割り当てられた製品の全製品値の合計は、店舗の反対側の端部の近くで、４２８５で、２番目に大きい。棚構造９に割り当てられた製品のすべての製品値の合計は、店舗の反対側の端にあり、２８３１である。そしてロボットシステムは、最も近い棚構造１８の近くに配置されている。この実施例では、システムは、ロボットシステムが最初に棚構造１８を撮像し、続いて棚構造９を、続いて棚構造２を、そして最終的には棚構造１を撮像し、撮像ルーチン全体を通して単位時間ごとにロボットシステムが撮像する製品の製品値を最大化するように、店舗内のウェイポイントを移動する順序を設定することができる。
【００８９】
上記の実施方法において、システムは、上述の方法および技術を実施して、店舗全体にわたって配置されたＳＫＵの製品値を（再）計算することができる。システムはまた、単一の価値の高い製品を含む（例えば、閾値製品値を超える静的または動的製品値に関連付けられた製品）、あるいは閾値合計製品値を超える全製品値に関連付けられた棚構造を識別選択することもでき、また、撮像ルーチンの間、これらの選択した棚構造に沿って（少なくとも）２回、そしてその他のすべての棚構造に沿って（少なくとも）１回ロボットシステムを方向付ける、ロボットシステムの軌道を定義することもできる。
【００９０】
１１．４  予定した再在庫補充期間別のウェイポイントの順序付け
別の実施方法では、システムは、予定した在庫補充期間に基づいてウェイポイントの順序付けをする。例えば、システムは、店舗の各セクション（または「カテゴリ」）（例えば、スパイスセクション、缶詰食品セクション、ランドリーセクション、炭酸飲料セクション、および酪農部門など）の補充予定にアクセスし、その後の在庫補充期間を割り当てられた店舗の特定のセクションを識別し、この特定のセクション内にあるウェイポイントのグループを取得し、次の走査期間にわたって、店舗内の他のすべてのウェイポイントに先だって、ウェイポイントのグループを配置するためのウェイポイントの順序を生成することができる。この実施例では、システムは、上述の方法および技術を実施して、例えば、ウェイポイントのグループと残りのウェイポイントの集合とを順序付けして撮像ルーチンでロボットシステムが通過する全距離を最小化することにより、店舗の特定のセクションに対応するウェイポイントのグループと店舗の残りのウェイポイントの集合とを順序付けすることもできる。
【００９１】
或いは、店舗の特定セクションの予定した再在庫補充期間の準備において、システムは、上述の通りに生成されたウェイポイントの注文リストを、店舗の特定のセクションに対応するウェイポイントのグループとともに追加することができる。撮像ルーチンの間、システムは、ブロックＳ１４０で、以下に記載するように、リアルタイムの指示を生成して提供して、撮像ルーチンの間に収集された画像データに基づいて、高価値スロットを在庫補充することができる。撮像ルーチンの終了時に、システムは、ブロックＳ１５０で、撮像ルーチンの最後に記録された画像に基づいて、店舗の特定のセクションに固有の在庫補充リストを生成して、そのセクション固有の在庫補充リストが、店舗の特定のセクションに対する在庫補充期間の開始時に最新となるようにすることができる。
【００９２】
システムは、以下に記載するように、マネージャポータルを介して受信されるような、店舗の特定のセクションについての在庫補充期間の手動確認を受け取ると、それに呼応して同様の方法および技術を実施することができる。
【００９３】
１１．５  予定した配送毎のウェイポイントの順序付け
別の実施方法では、システムは、将来の配送用に予定した製品に基づいて、その店舗の配送予定にアクセスし、次の撮像ルーチンのためにウェイポイントを順序付けすることができる。例えば、システムは、炭酸飲料配達車両が、炭酸飲料の配達を１〜２時間以内に行うように予定していることを示す配送予定にアクセスすることができる。したがって、システムは、ブロックＳ１１０において、ロボットシステムを起動して、撮像ルーチンを実行することができる。ブロックＳ１６２では、システムは、店舗の炭酸飲料の通路に沿って定義された第１のグループのウェイポイント、続いて、ショップの全体に配置された個別の炭酸飲料のディスプレイ（例えば冷蔵庫など）に隣接する第２の個別のウェイポイントのグループ、そして、その後に店舗の残りの部分のウェイポイントを含む、ロボットシステムに順序付けされたウェイポイントの集合を提供することもできる。第１および第２のウェイポイントのグループが終わると、システムは、ブロックＳ１５０において炭酸飲料のための炭酸飲料在庫補充リストと店舗全体にわたる個別の炭酸飲料ディスプレイを撮像ルーチンの間にロボットシステムから収集され、よってロボットシステムが実行する画像データに基づいて生成することができ、店舗（あるいは、店舗への配達製品を代表する炭酸飲料）の関係者は、配達車両が到着したらすぐにこの炭酸飲料在庫補充リストにアクセスして、店舗全体にわたるこれらのスロットへ在庫補充することができる。
【００９４】
あるいは、炭酸飲料の予定した配達の準備において、システムは、店舗内の炭酸飲料通路に沿って定義された第１のグループのウェイポイントと、それに続く店舗の全体にわたって配置された個別の炭酸飲料ディスプレイに隣接する第２のグループとを有する、上述の通りに生成された、ウェイポイントの順序付けリストを追加することができる。撮像ルーチンの間、システムは、ブロックＳ１４０で、以下に記載するように、リアルタイムの指示を生成して提供して、撮像ルーチンの間に収集された画像データに基づいて、高価値スロットを在庫補充することができる。撮像ルーチンの終了時に、システムは、ブロックＳ１５０で、撮像ルーチンの最後に記録された画像に基づいて、スロットに割り当てられた炭酸飲料に固有の在庫補充リストを生成して、その炭酸飲料在庫補充リストが、炭酸飲料配送車両の到着時に最新となるようにすることができる。
【００９５】
１１．６  手動の選択によるウェイポイントの順序付け
さらに別の実施方法では、システムは、例えばマネージャポータルを介して、店舗のマネージャ、地域のマネージャ、またはその他の共同出資者から店舗内の関心領域の選択を受信し、そして順序付けした店舗のウェイポイントの集合のうちの他のすべてのウェイポイントに先行するこの関心領域のウェイポイントでその後の撮像ルーチン用のウェイポイントを順序付けすることができる。システムは次に、前述の方法および技術を実施してこれらの個別のウェイポイントグループを順序付けることができる。
【００９６】
したがって、システムは、店舗のウェイポイントの集合を格納することができ、各ウェイポイントは店舗内の１つ以上の棚の画像のキャプチャを表し、撮像ルーチンの間にロボットシステムがこのウェイポイントの集合を通って移動する順序を定義することができる。次の撮像ルーチンへの準備において、システムは、ブロックＳ１６２で、例えば、セルラーネットワーク上、またはコンピュータネットワーク（例えばインターネット）を介して、これらのウェイポイントの定義とこれらのウェイポイントの順序を、ロボットシステムに行わせることができる。しかし、システムは、その他の形式のその他のデータまたは指示を含むウェイポイントを店舗内に配置されたその他のタイプ、時間、または頻度で、維持し、更新し、および／または１つ以上のロボットシステムに配布することができる。
【００９７】
１２．撮像ルーチン
方法Ｓ１００のブロックＳ１８０は、後続の撮像ルーチンで実行するために、ウェイポイントの集合をロボットシステムにアップロードすることを規定している。一般的に、ブロックＳ１８０では、システムは、ブロックＳ１６０（およびブロックＳ１６２で定義されたウェイポイントの順序）で生成されたウェイポイントの集合をロボットシステムに提供する。例えば、システムは、店舗に設置されたローカル無線ルータを介したインターネットを介してロボットシステムにウェイポイントの集合を伝送する。
【００９８】
また、ウェイポイントの集合と共に、システムは、上述のように自律マッピングルーチン中のロボットシステムによって収集された距離走査によって生成された実際のマップの形式で、店舗のマスターマップをロボットシステムにアップロードすることもでき、店舗の座標系でラベル付けすることもできる。その後の撮像ルーチンでは、ロボットシステムは、そのローカル環境をその統合マッピングセンサ（例えばＬＩＤＡＲセンサ）で走査し、マッピングセンサからの走査をロボットシステムの環境の新しいマップにコンパイルし、新しいマップをマスターマップと比較することによって店舗の座標系内での位置を決定して、ウェイポイントの集合を順次移動することができる。したがって、ロボットシステムは、マッピングセンサの出力が閾値距離と角度の範囲内で、ウェイポイントで定義された（ｘ、ｙ、δ）位置および方位に対応するマスターマップの領域と整合する店舗内の位置と方位に移動することによって次のウェイポイントに移動することができる。ロボットシステムは、上述のように、店舗のために定義された次のウェイポイントに移動する前に、ウェイポイントで画像をキャプチャしてタグを付けることができる。撮像ルーチンの間または終了時に、ロボットシステムは、上述のように、画像をシステムにアップロードして処理することができる。
【００９９】
撮像ルーチンの間または終了時に、ロボットシステムはまた、店舗の新しい実際のマップを（または、撮像ルーチンの間にマッピングセンサによって収集された未加工の走査データ）をシステムにアップロードすることもできる）。システムは、その後、方法Ｓ１００のブロックを繰り返して、店舗のウェイポイントの集合を再計算し、この新しいウェイポイントの集合をロボットシステム上にロードすることができる。したがって、最新の建築計画、標準化された店舗レイアウト、および／または各撮像ルーチンに続く店舗の立面マップの集合を選択することによって、システムは、店舗の現在の棚構造、棚区画、棚、および／またはスロットアドレスを備えた現在のアーキテクチャメタスペースを生成することができる。さらに、現在のアーキテクチャメタスペースを店舗の最新の実際のマップに整合させることにより、システムは店舗レイアウトに対する最新の物理的な変更を補償し、それに応じて店舗の新しいウェイポイントの集合を生成することができる。しかし、システムは、他の方法または技術を実施して、ロボットシステムによって収集された新しいデータに基づいて、店舗のウェイポイントの集合を更新し、これらのウェイポイントと新しい実際のマップをロボットシステムに供給することができる。
【０１００】
１３．製品の識別と在庫補充指示
図４に示されるように、システムは次に、リアルタイム、断続的、または撮像ルーチンの終了時などの撮像ルーチンの間に、ロボットシステムによって記録された画像（例えば、デジタルカラー写真画像）を受信し、これらの画像を処理して店舗の在庫状態を決定し、ブロックＳ１９０で店舗の在庫状態と店舗の棚割表との差に応答する通知および／または在庫補充リストを発行することができる。
【０１０１】
１つの実施方法において、システムは、撮像ルーチンの間に、第１の棚構造に第１の棚区画に隣接する第１のウェイポイントを占拠しつつ、ロボットシステム内の第１のカメラによって記録された第１の画像を受信する。システムは次に、米国特許出願第Ｍ０１で記載の方法および技術を実施して、第１の画像の第１の棚を検出し、第１のウェイポイントに関連付けられた第１の棚構造の第１のアドレスに基づいて第１の棚のアドレスと第１の画像内の第１の棚の垂直方向の位置判別し、第１の棚のアドレスに基づいて、棚割表によって第１の棚に割り当てられた第１の製品リストを取得し、それぞれが前記第１の製品リストで指定された製品の視覚的特徴を含む第１のテンプレート画像の集合をテンプレート画像のデータベースから取得し、第１の棚に隣接する第１の画像の第１の領域から第１の特徴の集合を抽出し、第１の特徴の集合と第１の製品を表す第１のテンプレート画像の集合の中の第１のテンプレート画像の特徴の間の相関に呼応して、第１の棚に第１の製品リストに第１の製品の単位が存在するかを確認し、前記第１の特徴の集合の中の特徴と、前記第１のテンプレート画像の中の特徴の間の偏差に呼応して前記第１の製品の単位が前記第１の棚に不適切に在庫保有されていることを判断し、前記第１の製品の前記単位が前記第１の棚に不適切に在庫保有されている旨の判断に呼応して、ブロックＳ１９０で前記第１の棚上の前記第１の製品に対して第１の在庫補充指示を生成することと、を含む。
【０１０２】
また、上記の実施例では、システムは、ロボットシステム上の第１のカメラの既知の位置に基づいて、第１の棚構造の第１の立面マップによって第１の棚区画に割り当てられた第１の棚の集合の高さを、第１の画像に基づいて投影し、それによって、第１の棚区画の第１の棚に対応する画像内の第１の領域を識別し、テンプレートマッチング、オブジェクト認識、またはその他の方法または技術を実施して、第１の画像の第１の領域の第１の棚を識別することができる。次いで、システムは、第１の立面マップで第１の棚に割り当てられた製品の識別子の第１のリストを抽出し、テンプレート画像のデータベースから第１のテンプレート画像の集合を取り出し、第１の製品リストにある製品を表し、第１の画像の第１の領域で検出された特徴と、ブロックＳ１９０における第１のテンプレート画像の集合でテンプレート画像の間の類似度に基づいて第１の棚上の製品を識別する。
【０１０３】
システムは、撮像ルーチンの間、店舗全体の他のウェイポイントを占拠しながら、ロボットシステムによって記録された他の棚構造、棚区画、棚等の画像に対して、このプロセスを繰り返すことができる。システムは次に、これらの画像で検出された存在、量および／または場所や製品を、店舗の現在の在庫状態（例えば、「レアログラム」）に集約し、マネージャまたは他の共同出資者のポータルを介して、デスクトップコンピュータまたはモバイル演算装置（例えば、スマートフォン、タブレット）上で実行されるウェブブラウザまたはネイティブアプリケーション内で、店舗のマネージャまたは他の共同出資者にこれらのデータを提供することができる。システムは、店舗の現在の在庫状態と棚割表とを自動的に比較して、差を検出し、これらの差を在庫補充指示のリストに集約し（例えば、これらの在庫補充指示に指定された製品の値に従って順序付けられ）、そして、これらの在庫補充指示を店舗の共同出資者に提供して、図５に示すように、また、米国特許出願第１５／３４７，６８９号に記載されているように、例えばリアルタイムで、ピーク時を避けた顧客のいる時間帯、または店舗の閉店時間など、店舗の手動による在庫補充を誘導する。
【０１０４】
この変形例では、ロボットシステムによって記録された画像を処理する際に、システムは、これらの画像に示される棚に配置された棚札から、棚構造に配置された通路の印などから、棚、棚区画、棚構造、および／または通路のアドレスを抽出することができる。これにより、システムは、店舗内のこれら棚構造の近傍にある既知の位置をウェイポイントが占拠しているとき、ロボットシステムによって記録された画像から抽出されたアドレスに従って、正規化されたメタスペース内の棚構造に割り当てられたアドレスを確認することができる。例えば、システムは、マッピングルーチンの間、第１の位置を占拠しながらロボットシステムによって記録された第１の画像を受信し、第１の通路のアドレスの第１の画像を走査し、第１の画像が記録された時にロボットシステムの第１の位置と第１の画像を記録したロボットシステムに一体化されたカメラの既知の位置に基づいてマップ上に第１の通路のアドレスを投影し、第１の通路のアドレスとアーキテクチャメタスペースから正規化されたメタスペースにインポートされたアドレスとの整合に基づいて、店舗のマップにアーキテクチャメタスペースが整合されていることを確認する。しかし、システムは、他の方法または技術を実施して、整合を自動的に確認し、店舗のマップへとアーキテクチャメタスペース間の偏差を検出することができる。
【０１０５】
１４．正規化されたメタスペースの変形例
１つのバリエーションでは、ロボットシステムおよびシステムは、協働して、店舗の建築計画または標準化された店舗レイアウトなしで、店舗の正規化されたメタスペースを生成する。この変形例では、ロボットシステムは、自立マッピングルーチン全体を通して、店舗内の棚構造の画像を断続的にキャプチャする。例えば、ロボットシステムは、店舗内部のフロアマップを構築および更新するための同時ローカリゼーションおよびマッピング技術を実施することができ、同時に、テンプレートマッチング、パターンマッチング、パターン認識、および／または他の技術を用いて、マップ内の通路および棚構造を識別することができる。この例では、通路を識別すると、ロボットシステムは、通路の横方向および長手方向中心の近位の位置に自動的に移動し、その一体化したカメラを隣接する棚構造に方位を合わせ、各カメラに画像を記録し、マップ内のロボットシステムの位置と方位と対応するカメラのアドレスをこうして記録された各画像の画像メタデータに書き込む。ロボットシステムは、自律マッピングルーチンを通してこのプロセスを繰り返して、店舗のマップを生成し、店舗内の様々な棚構造の画像を収集することができ、そしてこれにより、ロボットシステムは、このマップと画像をシステムに戻すことができる。あるいは、ロボットシステムは、自律マッピングルーチンの終了時に実際のマップをシステムにアップロードすることができ、システムは、上述のように実際のマップ内の通路および棚構造を遠隔的かつ非同期的に識別し、それぞれ識別された棚構造に隣接する（ｘ、ｙ、δ）座標を含む１つの一時的なウェイポイントを定義し、次に、各一時的なウェイポイントにおける画像を収集するために、調査ルーチンにロボットシステムを送る。しかし、ロボットシステムおよびシステムは、他の方法または技術を実施して、店舗の現在の実際のマップを収集し、店舗内の現在の棚構造の画像を収集することができる。
【０１０６】
これにより、システムは、実際のマップを店舗のベクトル化されたラインマップに変換し、ベクトル化されたラインマップ内に座標系を定義し、上述のようにベクトル化されたラインマップ内の通路、棚構造、および／または棚区画等を識別することができる。システムはまた、ベクトル化されたラインマップ内で、自律マッピングルーチン（または調査ルーチン中）の間にロボットシステムによってキャプチャされた画像を見つけることができる。
【０１０７】
これにより、システムは、画像内の製品のＳＫＵを識別し、近くでキャプチャされた画像で識別された製品のＳＫＵを使用して、ベクトル化されたラインマップ内で識別された棚構造を識別することができる。例えば、システムは、テンプレート画像のデータベースにアクセスすることができる。データベース内の各テンプレート画像は、テンプレート画像に示される製品のＳＫＵまたはその他の識別子または記述子によってタグ付けされる。この実施例では、システムはテンプレートマッチング技術を実施して、テンプレート画像データベースからのテンプレート画像を、自律マッピングルーチン中に記録された画像内の領域とマッチングさせると、システムは、一致したテンプレート画像から、ベクトル化されたラインマップ内の、画像がキャプチャされた位置の近傍に識別された棚構造にＳＫＵを転送できる。
【０１０８】
特に、システムは、画像が画像のメタデータに格納された（ｘ、ｙ）座標に基づいて記録された時、ロボットシステムによって占拠された特定の通路を識別し、画像と画像メタデータの中に格納したロボットシステムの方位（例えば、ヨー角）を記録したカメラのアドレスに基づいて画像に示された特定の通路を形成する２つの棚構造の特定の棚構造を識別し、一致したテンプレート画像とともに格納したＳＫＵを、ベクトル化したラインマップの特定の棚構造に書き込むことができる。システムは、画像に示す他の製品に対してもこのプレセスを繰り返して、同じＳＫＵの複数のインスタンスまたは複数の異なるＳＫＵなどのような、複数の製品のＳＫＵでベクトル化されたラインマップに、識別された１つの棚構造を自動入力することができる。例えば、システムは、画像内の領域をラベル付けされたテンプレートと一致させ、３つの固有のＳＫＵのうちの最初のＳＫＵまたは合計６つのＳＫＵが画像内で識別されるまで、ＳＫＵを一致したテンプレート画像からベクトル化されたラインマップに示された棚構造に転送することができる。システムは、自律マッピングルーチンの間、ロボットシステムによってキャプチャされたイメージ毎に、このプロセスを複製して、店舗のベクトル化されたラインマップに、識別された棚構造ごとに１つ以上のＳＫＵを自動入力することができる。
【０１０９】
これにより、システムは、上述のように店舗に対する現在の棚割表（または現在の製品位置データベース）の集合を読み出すことが可能であり、また、棚割表で示され、ベクトル化されたラインマップに示される特定の棚構造にタグ付けされた同様のＳＫＵに基づいて、特定の棚割表をリンクすることができる。特に、ベクトル化されたラインマップ内に１つ以上のＳＫＵでタグ付けされた棚構造では、システムは、既存の店舗の棚割表から、同じＳＫＵの集合を指定して立面マップを識別することができる。同様に、システムは、ベクトル化されたラインマップに示された棚構造にタグ付けされた一番大きい数のＳＫＵ（またはＳＫＵの閾値比率）を表す棚割表を識別して自律マッピングルーチンの時点で、棚構造上に存在しうる誤配積製品に対応できるようにすることができる。これにより、システムは、一致した棚割表のアドレスを書き込み、および／または一致した棚割表内から抽出された棚構造のアドレスをベクトル化されたラインマップ内の仮想棚構造に書き込むことができる。
【０１１０】
これにより、システムは、上述の方法および技術を実施して、棚割表に示された棚区画の位置に基づいて、仮想棚構造内の棚区画を描写し、一致した棚割表に格納された棚区画、棚、および／またはスロットアドレス等を、ベクトル化されたラインマップに示された棚構造に書き込むことができる。システムはまた、ベクトル化されたラインマップで識別された他の棚構造に対してこのプロセスを複製し、結果として得られるラベル付きラインマップを正規化されたメタスペースに変換することもできる。しかし、システムは、他の方法または技術を実施して、正規化されたメタスペースを生成することができる。
【０１１１】
１５．手動のウェイポイント
さらに、システムは、上述したように、ユーザが手動で入力したウェイポイント、またはユーザが手動で入力したデータに基づいて、店舗に対して自動的に計算されたウェイポイントの集合を追加することができる。例えば、店舗内に一時的なディスプレイをインストールした後、その店舗の従業員はコンピュータ、タブレット、またはスマートフォンのオペレータポータルにアクセスし、正規化されたメタスペースを開き、一時的なディスプレイの現在位置に対応する正規化されたメタスペース内のポイントを選択し、一時的なディスプレイの高さ、幅および識別データを入力することができる。この実施例では、システムは、新しいウェイポイントの位置と方位を計算し、ウェイポイントのカメラアドレスを定義して、新しいウェイポイントをロボットシステムにアップロードする前に、一時的なディスプレイの識別データをウェイポイントに書き込むことができる。しかし、システムは、他の方法または技術を実施して、ユーザが提供する情報に基づいて、ウェイポイントを生成することができる。
【０１１２】
１６．リアルタイムのウェイポイントと一時的な棚構造
図６で示すように、ブロックＳ１６４では、システムのある変形例では、ロボットシステムにおいて、撮像ルーチン中に、ロボットシステムの第２の光学センサの視野においてマトリクスバーコードを検出することと、第２の光学センサの視野内のマトリクスバーコードの位置と方位に基づいて、光学センサの視野をマトリクスバーコードに結合させた一時的な棚構造に整合させる第１の位置および第１の方位を定義する一時的なウェイポイントを計算することと、一時的なウェイポイントを占拠しながら、光学センサを通して第１の画像を記録することを含むブロックＳ１６４を含む。ブロックＳ１６４は、マトリクスバーコードに基づいて一時的な棚構造のアイデンティティを判別することと、一時的な棚構造のアイデンティティに基づいて、店舗の棚割表によって一時的な棚に割り当てられた第１の製品リストを読み出すことと、それぞれのテンプレート画像が第１の製品リストで指定された製品の視覚的特徴を含む第１のテンプレート画像の集合をテンプレート画像のデータベースから読み出すことと、第１の画像の特徴と第１の製品を表す第１のテンプレート画像の集合の第１のテンプレート画像の特徴の間の相関に呼応して一時的な棚構造の第１の製品リストから第１の製品の単位の存在を確認することと、第１の画像の特徴と、第２の製品を表す第１のテンプレート画像の集合の第２のテンプレート画像の特徴の間の偏差に呼応して一時的な棚構造上に第２の製品の単位が不適切に在庫保有されていると判断することと、第２の製品の単位が一時的な棚構造に不適切に在庫保有されていると判断した場合には、一時的な棚構造上の第２の製品に対する第１の在庫補充指示を生成する。
【０１１３】
概ね、ブロックＳ１６４において、一時的な棚構造が撮像ルーチンの間にロボットシステムによって検出されたときに、システムは、一時的なウェイポイントを自動的にリアルタイムで定義し、ロボットシステムは、この一時的なウェイポイントまで移動して、画像を記録し、その後、その画像をシステムが処理して一時的な棚構造の在庫状態を判断することができる。１つの実施方法では、ロボットシステムは、２Ｄまたは３Ｄの深さセンサおよび正面から直接外側に指向した、２Ｄまたは３Ｄの前方カメラを含んでいてもよい。撮像ルーチンでは、ロボットシステムは、深度センサおよびカメラを用いて、ロボットシステムの前方にあるフィールドを定期的に走査して、これらの走査データに基づいて近傍の表面をマッピングし、近傍の表面の位置に基づいて自身の位置を求めて（例えば、正規化されたメタスペースまたはフロアの過去のマップに対して）、ロボットシステムが位置および回転精度高くウェイポイントからウェイポイントへ移動することができる。しかし、撮像サイクルの間、システムは、マトリクスバーコード（例えば、クイック応答コード、一次元バーコード等）または他の光学的識別子のために、前方カメラを通して記録された画像を走査することもできる。マトリクスバーコードが検出されると、ロボットシステム（またはリモートコンピュータシステム）は、このマトリクスバーコードの識別子に対して、名前のマッピングシステムなどのローカルディレクトリまたはリモートディレクトリを走査することができ、もし、そのディレクトリが、マトリクスバーコードが取り付けられていることを示す識別子を返すか、あるいは特定のブランドに関連付けられた１つ以上の製品の単位を格納するように構成された自立型の段ボールポップアップのような、一時的な棚構造に関連付けられている場合には、システムは、ブロックＳ１６４を実行して一時的な棚構造に隣接する一時的なウェイポイントを定義し実行することができる。
【０１１４】
上記の実施方法では、ロボットシステム（またはリモートコンピュータシステム）は、前方カメラによって記録された画像で検出されたマトリクスバーコードに一時的な棚構造が関連付けられていると判断し、ロボットシステムは、一時的な棚構造の高さや、一時的な棚構造上のマトリクスバーコードの一時的な棚構造の正面に対する位置など、一時的な棚構造に対する情報およびマトリクスバーコードに関連した情報を遠隔の一時的な棚構造のデータベースから読み出す。これにより、ロボットシステムは、ロボットシステムによって占拠された時、ロボットシステムのマストの側の側方カラーカメラの視野内の一時的な棚構造の正面を中心合わせするとともに側方カラーカメラと一時的な棚構造の正面の間の予め設定した目標のオフセット距離にある一時的なウェイポイントの位置と方位を、例えば、一時的な棚構造データベースから収集されたこれらのデータ、マトリクスバーコードが検出された時点での店舗内のロボットシステムの位置、前方カメラの視野の中のマトリクスバーコードの位置、方位、および歪み、前方カメラの本質的および非本質的な特徴、と上述のように、側方カメラの現在の目標のオフセット距離または目標のオフセット距離範囲などに基づいて計算できる。例えば、ロボットシステムは、第２の光学センサの視野内のマトリクスバーコードの位置および方位、並びに座標系に対するロボットシステムの位置および方位に基づいて、座標系に対する一時的な棚構造の正面の位置および方位を計算し、一時的な棚構造の正面からの目標の画像の距離を側方カメラに対して適用して一時的なウェイポイントを計算することができる。
【０１１５】
ロボットシステムは、その後の実行のために一時的なウェイポイントの待ち列を作り、その現在の位置とタッチセンサの間のウェイポイントを実行し、前方カメラのその後の走査中に上記の方法を繰り返して、一時的な棚構造の位置および方位を確認し、さらに一時的なウェイポイントの位置および方位をさらに規定する。また、ロボットシステムは、２Ｄまたは３Ｄ深度センサによって収集されたデータに基づいて、例えば、前方カメラによって記録された画像で検出されたマトリクスバーコードに基づいて、およびマトリクスバーコードに関連付けられた寸法と幾何学的形状に基づいた２Ｄまたは３Ｄ深度センサによって収集されたデータと、ロボットシステムによって予測される一時的棚構造の位置と方位の間の整合に基づいて、一時的な棚構造の存在、位置、方位を確認することができる。
【０１１６】
一時的な棚構造の存在が確認されると、一時的なウェイポイントが計算されるので、一時的なウェイポイントはロボットシステムによって占拠され、ロボットシステムはカメラを通して一時的な棚構造の画像を側方記録することができる。
【０１１７】
これにより、システムは（例えば、ロボットシステムは局所的に、またはコンピュータシステムは遠隔的に）、次に、一時的な棚構造のこの画像を処理することができる。例えば、システムは、一時的な棚構造に割り当てられた製品リストにマトリクスバーコードを介して一時的な棚構造に固有に関連付けられた棚割表によって、アクセスして、このリストの中の製品のテンプレート画像の集合を読み出し、上記、および米国特許出願第Ｍ０１号に記載したブロックＳ１９０のように、これらテンプレート画像を画像の領域と比較して一時的な棚構造を占拠するこれら製品の陳列面の数を含む一時的な棚構造の現在の在庫状態を決定することができる。
【０１１８】
次に、一時的な棚構造の現在の在庫状態と一時的な棚構造と固有に関連付けられた棚割表とを比較することによって、システムは、棚割表によって定義されたその目標となる在庫状態から一時的な棚構造における偏差を識別し、それに従って一時的な在庫補充リストを生成することができる。特に、システムは、一時的なウェイポイントにおいて、ロボットシステムによって記録された画像に示された一時的な棚構造上で検出された製品の単位（または陳列面）と、一時的な棚構造に関連付けられた棚割表の間の偏差に基づいて、一時的な棚構造のための一時的な在庫補充リストを生成することができる。一時的な棚構造の棚割表、および／または、店舗の棚割表および撮像ルーチンの間にロボットシステムによって決定された一時的な棚構造の位置に基づいて、システムは、一時的な棚構造が店舗で適した方位を向いているかどうか、例えば、一時的な棚構造の正面が隣接する通路を向いているか、またはその側面上に先端を付けているかなどを判断し、それにより一時的な棚構造の方位を変えるか位置を変えるための指示を生成することができる。
【０１１９】
システムは、一時的な再在庫リストおよび／または指示を提供して、一時的な在庫補充リストおよび／またはリアルタイムで店舗の外のローカル代理店またはローカル在庫補充会社への指示を電子通知またはユーザポータルによって提供するなど、一時的な棚構造を、一時的な棚構造のアフィリエイトに再方位づけまたは再配置することができる。この変形例では、システムは、この一時的な在庫補充リストおよび／または一時的な棚構造のための指示は、店舗の外側にある一時的な棚構造のアフィリエイトに提供される一方、また、上記のように、店舗に配置された他の（より永続的な、または不変の）棚構造のためのグローバルな在庫補充リストを生成し、このグローバルな在庫補充リストを、店舗のマネージャまたは他の共同出資者に送ることができる。
【０１２０】
しかしながら、システム（例えば、ロボットシステムおよび／またはリモートコンピュータシステム）は、ブロックＳ１６４において、その他の方法または技術を実施して、撮像ルーチンの間に実質的にリアルタイムまたは非同期に店舗内に配置された一時的な棚構造を検出し、画像化し、監視することができる。
【０１２１】
本明細書に記載されたシステムおよび方法は、コンピュータ可読の命令を格納するコンピュータ可読媒体を受信するように構成された機械として少なくとも部分的に実現され、および／または実施されることができる。命令は、ユーザコンピュータまたはモバイルデバイス、リストバンド、スマートフォンまたはこれらの任意の適切な組み合わせのアプリケーション、アプレット、ホスト、サーバ、ネットワーク、ウェブサイト、通信サービス、通信インターフェース、ハードウェア／ファームウェア／ソフトウェアエレメントと統合されたコンピュータ実行可能コンポーネントによって実行できる。実施形態の他のシステムおよび方法は、コンピュータ可読命令を格納するコンピュータ可読媒体を受信するように構成されたマシンとして少なくとも部分的に実現され、および／または実施されることができる。命令は、上述したタイプの機器およびネットワークと統合されたコンピュータ実行可能コンポーネントによって統合されたコンピュータ実行可能コンポーネントによって実行することができる。コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＥＥＰＲＯＭ、光学デバイス（ＣＤまたはＤＶＤ）、ハードドライブ、フロッピードライブ、または任意の適切なデバイスのような、任意の適切なコンピュータ可読メディアに格納することができる。コンピュータ実行可能コンポーネントはプロセッサであってもよいが、任意の適切な専用ハードウェアデバイスは命令を（代替的または追加で）実行することができる。
【０１２２】
当業者であれば、先行する詳細な説明および図面と請求項から理解することができるが、下記の請求項に記載される本発明の範囲から逸脱することなく本発明の実施形態に修正および変更を加えることができる。
【図１】
2020098617.tif 000003
【図２】
2020098617.tif 000004
【図３】
2020098617.tif 000005
【図４】
2020098617.tif 000006
【図５】
2020098617.tif 000007
【図６】
2020098617.tif 000008
【手続補正書】
【提出日】令和2年3月5日(2020.3.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
店舗を自動的にマッピングする方法であって、
マッピングルーチンの間に前記店舗内を移動しながら、ロボットシステムによって収集されたマップデータに基づいて生成された前記店舗内の床空間のマップにアクセスするステップと、
前記店舗内の棚構造の集合の目標の位置を定義するアーキテクチャメタスペースにアクセスするステップと、
前記アーキテクチャメタスペースの特徴を変形させてマップ内での類似した特徴と整合させ、前記店舗内の棚構造の集合の実際の位置を表す正規化されたメタスペースを生成するステップと、
座標系に対する前記正規化されたメタスペース内のウェイポイントの集合を定義するステップであって、このウェイポイントの集合は、前記正規化されたメタスペースに表される棚構造の集合の第１の棚構造に沿って分布する第１のウェイポイントのサブセットを備える、ステップと、
前記マッピングルーチンに続く走査サイクルの間に、前記ウェイポイントの集合のウェイポイントを占拠しながら、前記店舗の前記棚構造の集合の棚構造を走査する前記ロボットシステムを送るステップと、を含む方法。
【請求項２】
請求項１に記載の方法において、
前記走査サイクルの間に前記ウェイポイントの集合を移動しながら、前記ロボットシステムによって生成された前記店舗の床空間の第２のマップにアクセスするステップと、
前記走査サイクルの間に前記店舗内を移動しながら、前記ロボットシステムによって記録された画像の集合にアクセスするステップであって、前記画像の集合の各画像は、前記走査サイクルの間に前記画像の記録中に前記ロボットシステムによって占拠された前記ウェイポイントの集合のウェイポイントに関連付けられる、ステップとを更に含み、
前記画像の集合の各画像について、
前記画像に関連付けられた前記ウェイポイントの集合のウェイポイントにより定義された位置に基づいて前記画像に描かれた前記棚構造の集合の棚構造を検出するステップと、
前記画像内の特徴の集合を検出するステップと、
前記特徴の集合に基づいて前記棚構造に配置された製品の集合を識別するステップと、
前記製品の集合に基づいて前記棚構造の在庫状態を生成するステップと、
前記棚構造の集合の在庫状態を前記店舗のレアログラムに集約するステップと、を含む方法。
【請求項３】
請求項２に記載の方法において、
前記店舗のプラノグラムと前記レアログラムとの差を検出するステップと、
前記差に基づいて前記棚構造の集合の特定の棚構造に特定の製品の在庫補充をする在庫補充指示を生成するステップと、
前記在庫補充指示を前記店舗の共同出資者と関連した演算装置に提供するステップと、を更に含む方法。
【請求項４】
請求項１に記載の方法において、
前記店舗内の棚構造レイアウトに対する変更の確認を受信することに応答して、前記マッピングルーチンの間に前記店舗内の床空間のマップデータを自律的に収集するためにロボットシステムを送るステップを更に含み、
前記正規化されたメタスペースを生成するステップは、前記店舗内の前記棚構造レイアウトに対する変更を表す前記正規化されたメタスペースを生成するステップを含み、
前記ウェイポイントの集合を定義するステップは、前記正規化されたメタスペースに表された前記棚構造レイアウトに対する変更に応じて前記ウェイポイントの集合を定義するステップを含む方法。
【請求項５】
店舗内の棚構造を自動的にマッピングする方法において、
前記店舗内を移動しながら、ロボットシステムによって収集されたマップデータに基づいて生成された前記店舗の床空間のマップにアクセスするステップと、
前記店舗内を移動しながら、前記ロボットシステムによって記録された画像の集合にアクセスするステップであって、前記画像の集合の各画像は、前記画像の記録の間に前記ロボットシステムの位置に対応する前記マップ内の位置に関連付けられる、ステップと、
前記マップに表された棚構造の集合を検出するステップと、
前記画像の集合の各画像について、
前記画像に関連付けられた前記マップ内の位置に基づいて前記画像に描かれた前記棚構造の集合の棚構造を検出するステップと、
前記画像内の特徴の集合を検出するステップと、
前記特徴の集合に基づいて前記棚構造に配置された製品の集合を識別するステップと、
前記製品の集合に基づいて前記棚構造の在庫状態を生成するステップと、
前記棚構造の集合の在庫状態を前記店舗のレアログラムに集約するステップと、を含む方法。
【請求項６】
請求項５に記載の方法において、
前記店舗のプラノグラムと、前記レアログラムとの差を検出するステップと、
前記差に基づいて前記棚構造の集合の特定の棚構造に特定の製品の在庫補充をする在庫補充指示を生成するステップと、
前記在庫補充指示を前記店舗の共同出資者と関連した演算装置に提供するステップと、を更に含む方法。
【請求項７】
請求項５に記載の方法において、
初期時間に、前記店舗で調査サイクルを実行するために前記ロボットシステムを送るステップを更に含み、
前記店舗の床空間のマップにアクセスするステップは、前記調査サイクルの間に前記ロボットシステムによって生成された前記店舗の床空間のマップにアクセスするステップを含み、
前記画像の集合にアクセスするステップは、前記調査サイクルの間に前記店舗内を移動しながら、前記ロボットシステムによって記録された前記画像の集合にアクセスするステップを含み、
前記調査サイクルの間に前記店舗の好ましい在庫状態の確認を受信することに応答して、前記レアログラムを前記店舗のプラノグラムとして格納するステップと、を更に含む方法。
【請求項８】
請求項７に記載の方法において、
前記初期時間に後く第１の時間に、前記店舗内で走査サイクルを実行するために前記ロボットシステムを送るステップと、
前記走査サイクルの間にモバイルロボットシステムによって記録された視覚データを含む第１の画像にアクセスするステップであって、前記第１の画像は、前記店舗内のモバイルロボットシステムの第１の位置および第１の方位に関連付けられる、ステップと、
前記第１の画像の第１の領域に近接して表される第１の棚を検出するステップと、
前記第１の位置と、前記第１の方位と、前記第１の画像内の前記第１の棚の垂直方向の位置とに基づいて前記第１の棚のアドレスを識別するステップと、
前記第１の棚のアドレスに基づいて、前記プラノグラムによって第１の棚に関連付けられた第１の製品リストを取得するステップと、
テンプレート画像のデータベースから第１のテンプレート画像の集合を取得するステップであって、前記第１のテンプレート画像の集合の各テンプレート画像は、前記第１の製品リストに指定された製品の視覚的特徴を含む、ステップと、
前記第１の画像の第１の領域から第１の特徴の集合を抽出するステップと、
前記第１の特徴の集合の中の特徴と、前記第１の製品を表す前記第１のテンプレート画像の集合の中の第１のテンプレート画像の特徴との間の偏差に応じて前記第１の棚上の前記第１の製品リストの第１の製品の在庫不足状態を検出するステップと、
前記第１の棚上の前記第１の製品の在庫不足状態を検出することに応答して、前記第１の棚に対して第１の在庫補充指示を生成するステップと、を更に含む方法。
【請求項９】
請求項５に記載の方法において、
前記画像の集合の各画像について、
通路のアドレスの前記画像を走査するステップと、
前記画像に関連付けられた前記マップ内の位置に基づいて前記マップ上に前記通路のアドレスを投影するステップと、を更に含む方法。
【請求項１０】
請求項５に記載の方法において、
前記店舗で走査サイクルを実行するために前記ロボットシステムを送るステップと、
前記ロボットシステムにおいて前記走査サイクルの間に、
前記店舗内の通路の集合に沿って自律的に移動するステップと、
前記店舗の床空間のマップを構築するステップと、
前記店舗内の通路に沿って移動しながら、写真画像を断続的に記録するステップと、
前記店舗内の前記通路の集合の通路に沿って自律的に移動しながら、前記ロボットシステムによって記録された前記写真画像の各シーケンスについて、
前記写真画像のシーケンスを、前記通路に面する前記棚構造の集合の棚構造の画像にコンパイルするステップと、を更に含む方法。
【請求項１１】
請求項５に記載の方法において、
第１の時間に、前記店舗で第１の走査サイクルを実行するために前記ロボットシステムを送るステップと、
前記ロボットシステムにおいて前記第１の走査サイクルの間に、
前記店舗内の通路の集合に沿って自律的に移動するステップと、
前記店舗の床空間の初期マップを構築するステップと、
前記初期マップ内の前記棚構造の集合を検出するステップと、
前記棚構造の集合に隣接するウェイポイントの集合を定義するステップであって、各ウェイポイントは、前記ロボットシステムによって占拠されるとき、前記ロボットシステムのカメラの視野内で、前記棚構造の集合の棚構造の区画を位置決めする座標系および方位を定義する、ステップと、
前記第１の時間に続く第２の時間に、前記店舗で第２の走査サイクルを実行するために前記ロボットシステムを送るステップと、
前記ロボットシステムにおいて前記第２の走査サイクルの間に、
前記店舗内のウェイポイントの集合のウェイポイントに順次移動するステップと、
前記店舗の床空間のマップを構築するステップと、
前記ウェイポイントの集合の各ウェイポイントで、前記画像の集合の画像を記録するステップと、を更に含む方法。
【請求項１２】
請求項１１に記載の方法において、
前記店舗内の棚構造の集合の目標の位置を定義するアーキテクチャメタスペースにアクセスするステップと、
前記アーキテクチャメタスペースの特徴を変形させて前記初期マップ内での類似した特徴と整合させ、前記店舗内の棚構造の集合の実際の位置とアドレスとを表す正規化されたメタスペースを生成するステップと、を更に含み、
前記ウェイポイントの集合を定義するステップは、
前記正規化されたメタスペース内で座標系を定義するステップと、
前記正規化されたメタスペース内で前記ウェイポイントの集合を定義するステップであって、前記ウェイポイントの集合の各ウェイポイントは、前記ロボットシステムのカメラの既知の位置と、前記正規化されたメタスペースに表された前記第１の棚構造の実際の位置とに基づいて、前記座標系に対する方位を定義する、ステップと、を含む方法。
【請求項１３】
請求項５に記載の方法において、
前記画像に描かれた棚構造を検出するステップ、前記画像内の特徴の集合を検出するステップ、前記棚構造に配置された製品の集合を識別するステップ、および前記画像の集合の各画像について前記棚構造の在庫状態を生成するステップは、前記画像の集合の第１の画像について、
前記第１の画像内の特徴の集合を検出するステップと、
前記第１の画像内の前記棚構造の集合の第１の棚構造に適用された通路のアドレスを検出するステップと、
前記通路のアドレスに基づいて前記第１の棚構造のアイデンティティを決定するステップと、
前記第１の棚構造のアイデンティティに基づいて、前記第１の棚構造に割り当てられた第１の製品リストを取得するステップと、
テンプレート画像のデータベースから第１のテンプレート画像の集合を取得するステップであって、前記第１のテンプレート画像の集合の各テンプレート画像は、前記第１の製品リストの製品を描く、ステップと、
前記第１の画像内に検出された前記第１の特徴の集合の中の特徴と、前記第１の製品を描く前記第１のテンプレート画像の集合の中の第１のテンプレート画像の特徴との相関に基づいて前記第１の棚構造上の前記第１の製品リストの第１の製品の単位の存在を確認するステップと、
前記第１の棚構造上の前記第１の製品の単位の存在を示す前記第１の棚構造の第１の在庫状態を生成するステップと、を含む方法。
【請求項１４】
請求項５に記載の方法において、
画像に描かれた棚構造を検出するステップ、前記画像内の特徴の集合を検出するステップ、前記棚構造に配置された製品の集合を識別するステップ、および前記画像の集合の各画像について前記棚構造の在庫状態を生成するステップは、前記画像の集合の第１の画像について、
前記第１の画像内の特徴の集合を検出するステップと、
前記第１の画像内の前記棚構造の集合の第１の棚構造に適用された光学的識別子を検出するステップと、
前記光学的識別子に基づいて、前記第１の棚構造に割り当てられた第１の製品を識別するステップと、
テンプレート画像のデータベースから第１のテンプレート画像の集合を取得するステップであって、前記第１のテンプレート画像の集合の各テンプレート画像は、前記第１の製品を表す、ステップと、
前記第１の画像内に検出された第１の特徴の集合の中の特徴と、前記第１の製品を表す前記第１のテンプレート画像の集合の中の第１のテンプレート画像の特徴との相関に基づいて前記第１の棚構造上の前記第１の製品の単位の存在を確認するステップと、
前記第１の棚構造上の前記第１の製品の単位の存在を示す前記第１の棚構造の第１の在庫状態を生成するステップと、を含む方法。
【請求項１５】
請求項１４に記載の方法において、前記第１の画像内の光学的識別子を検出するステップは、前記第１の画像内のマトリクスバーコードを含む光学的識別子を検出するステップを含む方法。
【請求項１６】
請求項５に記載の方法において、
前記ロボットシステムにおいて走査サイクルの間に、
マップデータを前記マップにコンパイルするステップと、
棚構造について前記ロボットシステムの周囲の視野を走査するステップと、
前記店舗の通路を占拠しながら、前記ロボットシステムに近接する前記棚構造の集合の棚構造を検出することに応答して、
前記通路の横方向および長手方向中心の近位の位置に移動するステップと、
前記ロボットシステムに配置されたカメラを整合させて、前記棚構造に面するステップと、
前記カメラをトリガして、前記画像の集合の画像を記録するステップと、
前記マップ内のロボットシステムの位置および方位を前記画像の画像メタデータに書き込むステップと、を更に含み、
前記棚構造の集合の在庫状態を前記店舗のレアログラムに集約するステップは、前記画像の集合の記録の間に前記マップ内の前記ロボットシステムの位置および方位に基づいて前記棚構造の集合の在庫状態を前記店舗のレアログラムに集約するステップを含む方法。
【請求項１７】
店舗内の棚構造を自動的にマッピングする方法において、
前記店舗内を移動しながら、ロボットシステムによって収集されたマップデータに基づいて生成された前記店舗の床空間のマップにアクセスするステップと、
前記店舗内を移動しながら、前記ロボットシステムによって記録された画像の集合にアクセスするステップであって、前記画像の集合の各画像は、前記画像の記録の間に前記ロボットシステムの位置に対応する前記マップ内の位置に関連付けられる、ステップと、
前記マップに表された棚構造の集合を検出するステップと、
前記画像の集合の各画像について、
前記画像内の特徴の集合を検出するステップと、
前記画像の前記棚構造の集合の棚構造に適用された光学的識別子を検出するステップと、
前記光学的識別子に基づいて、前記棚構造に割り当てられた製品を識別するステップと、
テンプレート画像のデータベースからテンプレート画像の集合を取得するステップであって、前記テンプレート画像の集合の各テンプレート画像は前記製品を表す、ステップと、
前記画像内に検出された前記特徴の集合の中の特徴と、前記製品を表す前記テンプレート画像の集合の中のテンプレート画像の特徴との間の相関に基づいて前記第１の棚構造上の前記製品の単位の存在を確認するステップと、
前記棚構造上の前記製品の単位の存在を示す前記棚構造の在庫状態を生成するステップと、
前記棚構造の集合の在庫状態を前記店舗のレアログラムに集約するステップと、を含む方法。
【請求項１８】
請求項１７に記載の方法において、
前記画像の集合の各画像内の光学的識別子を検出するステップは、前記画像の集合の各画像内のマトリクスバーコードを含む光学的識別子を検出するステップを含む方法。
【請求項１９】
請求項１７に記載の方法において、
前記マップに表された前記棚構造の集合を検出するステップは、前記店舗の通路に配置された一時的な棚構造を含む前記棚構造の集合を検出するステップを含み、
前記画像の集合にアクセスするステップは、前記店舗の通路に配置された一時的な棚構造に面しながら、前記ロボットシステムによって記録された前記画像の集合にアクセスするステップを含む方法。
【請求項２０】
請求項１７に記載の方法において、
前記店舗のプラノグラムと前記レアログラムとの差を検出するステップと、
前記差に基づいて前記棚構造の集合の特定の棚構造に特定の製品を在庫補充をする在庫補充指示を生成するステップと、
前記在庫補充指示を前記店舗の共同出資者と関連した演算装置に提供するステップと、を更に含む方法。