(57)【特許請求の範囲】
【請求項１】
コンピューティング装置を使用して、対応する複数の第１の位置にある複数のフィーチャーおよび対応する第１の複数のセマンティック位置にある複数のセマンティックラベルを含んでいる環境の第１の地図を判定することと、
前記コンピューティング装置を使用して、対応する複数の第２の位置にある前記複数のフィーチャーの少なくとも一部を含んでいる前記環境の第２の地図を判定することと、
前記コンピューティング装置を使用して、複数の固定フィーチャーの中のある固定フィーチャーが前記複数の第１の位置のうちの対応する第１の位置および前記複数の第２の位置のうちの対応する第２の位置にあり、前記固定フィーチャーの前記対応する第１の位置が前記固定フィーチャーの前記対応する第２の位置と等価である、前記複数の固定フィーチャーを含んでいる前記環境の第１の領域を識別することと、
前記コンピューティング装置を使用して、複数の移動フィーチャーの中のある移動フィーチャーが前記複数の第１の位置のうちの対応する第１の位置および前記複数の第２の位置のうちの異なった対応する第２の位置にあり、前記移動フィーチャーの前記対応する第１の位置が前記移動フィーチャーの前記異なった対応する第２の位置と等価ではない、前記複数の移動フィーチャーを含んでいる前記環境の第２の領域を識別することと、
前記コンピューティング装置を使用して、前記第２の領域内の前記複数の移動フィーチャーの第１の位置と第２の位置との間の１つ以上の変換を判定することと、
前記コンピューティング装置を使用して、前記複数のセマンティックラベルを第２の複数のセマンティック位置で前記第２の地図に割り当てることであって、前記第１の領域内のセマンティックラベルに対する前記第２の複数のセマンティック位置の中のセマンティック位置が前記第１の複数のセマンティック位置の中の前記対応するセマンティック位置と同一であり、前記第２の領域内のセマンティックラベルに対する前記第２の複数のセマンティック位置の中のセマンティック位置が前記１つ以上の変換に基づいている、前記第２の地図に割り当てることと、
前記第２の地図に基づいて前記コンピューティング装置の出力を生成することと、
を含む方法。
【請求項２】
前記コンピューティング装置は、ロボット装置の一部であり、
前記第１の地図を判定することは、前記ロボット装置の１台以上のセンサ装置によって取得された第１のデータに基づいて第１の地図を判定することを含み、
前記第２の地図を判定することは、前記ロボット装置の前記１台以上のセンサ装置によって取得された第２のデータに基づいて前記第２の地図を判定することを含み、
前記出力を生成することは、前記第２の地図の少なくとも１つのセマンティックラベルによって提供されたガイダンスに基づいて前記環境の中を通って前記ロボット装置をナビゲートすることを含む、請求項１に記載の方法。
【請求項３】
位置についての前記１つ以上の変換は、変換後の位置への初期位置のアフィン変換を含む、請求項１に記載の方法。
【請求項４】
前記アフィン変換は、前記初期位置に関連している回転と、前記初期位置に関連している並進と、前記初期位置に関連している鏡映と、１つ以上の回転、並進、および鏡映の合成とのうちの少なくとも１つを含む、請求項３に記載の方法。
【請求項５】
前記第２の地図を判定することは、
前記複数のフィーチャーの中の特定のフィーチャーの現在の位置を判定することと、
前記特定のフィーチャーの前記現在の位置が前記特定のフィーチャーに対する第１の位置と等価であるか否かを判定することと、
前記特定のフィーチャーの前記現在の位置が前記特定のフィーチャーに対する第１の位置と等価ではない、と判定した後、前記環境の前記第２の地図を判定することと、
を含む、請求項１に記載の方法。
【請求項６】
前記複数のセマンティックラベルのうちの特定のセマンティックラベルは、特定の物体に関連付けられ、
前記特定のセマンティックラベルは、前記複数のセマンティック位置のうちの特定のセマンティック位置に対応し、
前記第２の地図を判定することは、
前記特定の物体の現在の位置を判定することと、
前記特定の物体の前記現在の位置が前記特定のセマンティック位置と等価であるか否かを判定することと、
前記特定の物体の前記現在の位置が前記特定のセマンティック位置と等価ではない、と判定した後、前記環境の前記第２の地図を判定することと、
を含む、請求項１に記載の方法。
【請求項７】
前記第２の地図を判定することは、時間的に周期的な間隔で前記第２の地図を判定することを含む、請求項１に記載の方法。
【請求項８】
前記環境は、前記第１の領域および前記第２の領域とは異なる少なくとも第３の領域を含み、前記第３の領域は、１つ以上の第３のフィーチャーを含み、
前記方法は、
１つ以上の移動後の第３のフィーチャーのうちの１つずつの移動後の第３のフィーチャーが前記複数の第１の位置のうちの対応する第１の位置および前記複数の第２の位置のうちの異なった対応する第２の位置にあり、前記移動フィーチャーの前記対応する第１の位置が前記移動フィーチャーの前記異なった対応する第２の位置と等価ではない、前記１つ以上の第３のフィーチャーのうちの前記１つ以上の移動後の第３のフィーチャーを判定することと、
前記第３の領域内のセマンティックラベルに対する前記第２の複数のセマンティック位置の中のセマンティック位置が前記第３の領域に対する１つ以上の第２の変換に基づいている、前記１つ以上の移動後の第３のフィーチャーの前記第１の位置と前記第２の位置との間の前記第３の領域に対する前記１つ以上の第２の変換を判定することと、
をさらに含む、請求項１に記載の方法。
【請求項９】
コンピューティング装置であって、
１台以上のプロセッサと、
前記１台以上のプロセッサによって実行されたとき、
対応する複数の第１の位置にある複数のフィーチャーおよび対応する第１の複数のセマンティック位置にある複数のセマンティックラベルを含んでいる環境の第１の地図を判定することと、
対応する複数の第２の位置にある前記複数のフィーチャーの少なくとも一部を含んでいる前記環境の第２の地図を判定することと、
複数の固定フィーチャーの中のある固定フィーチャーが前記複数の第１の位置のうちの対応する第１の位置および前記複数の第２の位置のうちの対応する第２の位置にあり、前記固定フィーチャーの前記対応する第１の位置が前記固定フィーチャーの前記対応する第２の位置と等価である、前記複数の固定フィーチャーを含んでいる前記環境の第１の領域を識別することと、
複数の移動フィーチャーの中のある移動フィーチャーが前記複数の第１の位置のうちの対応する第１の位置および前記複数の第２の位置のうちの異なった対応する第２の位置にあり、前記移動フィーチャーの前記対応する第１の位置が前記移動フィーチャーの前記異なった対応する第２の位置と等価ではない、前記複数の移動フィーチャーを含んでいる前記環境の第２の領域を識別することと、
前記第２の領域内の前記複数の移動フィーチャーの第１の位置と第２の位置との間の１つ以上の変換を判定することと、
前記複数のセマンティックラベルを第２の複数のセマンティック位置で前記第２の地図に割り当てることであって、前記第１の領域内のセマンティックラベルに対する前記第２の複数のセマンティック位置の中のセマンティック位置が前記第１の複数のセマンティック位置の中の前記対応するセマンティック位置と同一であり、前記第２の領域内のセマンティックラベルに対する前記第２の複数のセマンティック位置の中のセマンティック位置が前記１つ以上の変換に基づいている、前記第２の地図に割り当てることと、
前記第２の地図に基づいて出力を生成することと、
を含む機能を前記コンピューティング装置に行わせる少なくともコンピュータ実行可能な命令が記憶されているデータストレージと、
を備える、コンピューティング装置。
【請求項１０】
前記コンピューティング装置は、ロボット装置の一部であり、
前記第１の地図を判定することは、前記ロボット装置の１台以上のセンサ装置によって取得された第１のデータに基づいて第１の地図を判定することを含み、
前記第２の地図を判定することは、前記ロボット装置の前記１台以上のセンサ装置によって取得された第２のデータに基づいて前記第２の地図を判定することを含み、
前記出力を生成することは、前記第２の地図の少なくとも１つのセマンティックラベルによって提供されたガイダンスに基づいて前記環境の中を通って前記ロボット装置をナビゲートすることを含む、請求項９に記載のコンピューティング装置。
【請求項１１】
位置についての前記１つ以上の変換は、変換後の位置への初期位置のアフィン変換を含む、請求項９に記載のコンピューティング装置。
【請求項１２】
前記アフィン変換は、前記初期位置に関連している回転と、前記初期位置に関連している並進と、前記初期位置に関連している鏡映と、１つ以上の回転、並進、および鏡映の合成とのうちの少なくとも１つを含む、請求項１１に記載のコンピューティング装置。
【請求項１３】
前記第２の地図を判定することは、
前記複数のフィーチャーの中の特定のフィーチャーの現在の位置を判定することと、
前記特定のフィーチャーの前記現在の位置が前記特定のフィーチャーに対する第１の位置と等価であるか否かを判定することと、
前記特定のフィーチャーの前記現在の位置が前記特定のフィーチャーに対する第１の位置と等価ではない、と判定した後、前記環境の前記第２の地図を判定することと、
を含む、請求項９に記載のコンピューティング装置。
【請求項１４】
前記複数のセマンティックラベルのうちの特定のセマンティックラベルは、特定の物体に関連付けられ、
前記特定のセマンティックラベルは、前記複数のセマンティック位置のうちの特定のセマンティック位置に対応し、
前記第２の地図を判定することは、
前記特定の物体の現在の位置を判定することと、
前記特定の物体の前記現在の位置が前記特定のセマンティック位置と等価であるか否かを判定することと、
前記特定の物体の前記現在の位置が前記特定のセマンティック位置と等価ではない、と判定した後、前記環境の前記第２の地図を判定することと、
を含む、請求項９に記載のコンピューティング装置。
【請求項１５】
前記第２の地図を判定することは、時間的に周期的な間隔で前記第２の地図を判定することを含む、請求項９に記載のコンピューティング装置。
【請求項１６】
前記環境は、前記第１の領域および前記第２の領域とは異なる少なくとも第３の領域を含み、
前記第３の領域は、１つ以上の第３のフィーチャーを含み、
前記機能は、
１つ以上の移動後の第３のフィーチャーのうちの１つずつの移動後の第３のフィーチャーが前記複数の第１の位置のうちの対応する第１の位置および前記複数の第２の位置のうちの異なった対応する第２の位置にあり、前記１つ以上の第３のフィーチャーのうちの前記１つ以上の移動後の第３のフィーチャーを判定することと、
前記第３の領域内のセマンティックラベルに対する前記第２の複数のセマンティック位置の中のセマンティック位置が前記第３の領域に対する１つ以上の第２の変換に基づいている、前記１つ以上の移動後の第３のフィーチャーの前記第１の位置と前記第２の位置との間の前記第３の領域に対する前記１つ以上の第２の変換を判定することと、
をさらに含む、請求項９に記載のコンピューティング装置。
【請求項１７】
コンピューティング装置の１台以上のプロセッサによって実行されたとき、
対応する複数の第１の位置にある複数のフィーチャーおよび対応する第１の複数のセマンティック位置にある複数のセマンティックラベルを含んでいる環境の第１の地図を判定することと、
対応する複数の第２の位置にある前記複数のフィーチャーの少なくとも一部を含んでいる前記環境の第２の地図を判定することと、
複数の固定フィーチャーの中のある固定フィーチャーが前記複数の第１の位置のうちの対応する第１の位置および前記複数の第２の位置のうちの対応する第２の位置にあり、前記固定フィーチャーの前記対応する第１の位置が前記固定フィーチャーの前記対応する第２の位置と等価である、前記複数の固定フィーチャーを含んでいる前記環境の第１の領域を識別することと、
複数の移動フィーチャーの中のある移動フィーチャーが前記複数の第１の位置のうちの対応する第１の位置および前記複数の第２の位置のうちの異なった対応する第２の位置にあり、前記移動フィーチャーの前記対応する第１の位置が前記移動フィーチャーの前記異なった対応する第２の位置と等価ではない、前記複数の移動フィーチャーを含んでいる前記環境の第２の領域を識別することと、
前記第２の領域内の前記複数の移動フィーチャーの第１の位置と第２の位置との間の１つ以上の変換を判定することと、
前記複数のセマンティックラベルを第２の複数のセマンティック位置で前記第２の地図に割り当てることであって、前記第１の領域内のセマンティックラベルに対する前記第２の複数のセマンティック位置の中のセマンティック位置が前記第１の複数のセマンティック位置の中の前記対応するセマンティック位置と同一であり、前記第２の領域内のセマンティックラベルに対する前記第２の複数のセマンティック位置の中のセマンティック位置が前記１つ以上の変換に基づいている、前記第２の地図に割り当てることと、
前記第２の地図に基づいて出力を生成することと、
を含む機能を前記コンピューティング装置に行わせる命令が記憶されている非一時的なコンピュータ読み取り可能な媒体。
【請求項１８】
前記非一時的なコンピュータ読み取り可能な媒体は、ロボット装置の一部であり、
前記第１の地図を判定することは、前記ロボット装置の１台以上のセンサ装置によって取得された第１のデータに基づいて第１の地図を判定することを含み、
前記第２の地図を判定することは、前記ロボット装置の前記１台以上のセンサ装置によって取得された第２のデータに基づいて前記第２の地図を判定することを含み、
前記出力を生成することは、前記第２の地図の少なくとも１つのセマンティックラベルによって提供されたガイダンスに基づいて前記環境の中を通って前記ロボット装置をナビゲートすることを含む、請求項１７に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１９】
位置についての前記１つ以上の変換は、変換後の位置への初期位置のアフィン変換を含み、前記アフィン変換は、前記初期位置に関連している回転と、前記初期位置に関連している並進と、前記初期位置に関連している鏡映と、１つ以上の回転、並進、および鏡映の合成とのうちの少なくとも１つを含む、請求項１７に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項２０】
前記第２の地図を判定することは、
前記複数のフィーチャーの中の特定のフィーチャーの現在の位置を判定することと、
前記特定のフィーチャーの前記現在の位置が前記特定のフィーチャーに対する第１の位置と等価であるか否かを判定することと、
前記特定のフィーチャーの前記現在の位置が前記特定のフィーチャーに対する第１の位置と等価ではない、と判定した後、前記環境の前記第２の地図を判定することと、
を含む、請求項１７に記載の非一時的なコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［0001］関連出願の相互参照
本出願は、２０１５年３月２４日付けで出願された、“Ａｓｓｏｃｉａｔｉｎｇ  Ｓｅｍａｎｔｉｃ  Ｌｏｃａｔｉｏｎ  Ｄａｔａ  ｗｉｔｈ  Ａｕｔｏｍａｔｅｄ  Ｅｎｖｉｒｏｎｍｅｎｔ  Ｍａｐｐｉｎｇ”と題する米国特許出願第１４／６６７，６６５号に基づく優先権を主張し、この米国特許出願は、あらゆる目的のため全体が参照によってここに組み込まれる。
【背景技術】
【０００２】
［0002］  本書において特に断らない限り、本節に記載された題材は、本出願における特許請求の範囲に対する先行技術ではなく、本節に含めることによって先行技術であることが認められるものではない。
【０００３】
［0003］  ロボットは、空間の内部のロボットの位置を推定するのに役立てるために、たとえば、建物の一部もしくは全部の屋内、および／または、建物の周囲の屋外領域などの空間を自動的に地図化できる。一部の実施形態では、たとえば、ＳＬＡＭ（自己位置および地図の同時推定）アルゴリズムなどの地図作成アルゴリズムが空間のメトリック地図を計算するためにロボットによって使用され得る。メトリック地図は、空間内の物体の位置を指し示すことができ、一部の事例では、間取図のように見える可能性がある。一旦生成されると、メトリック地図は、地図化された空間の内部でナビゲーションのためロボットによって使用され得る。
【０００４】
［0004］  建物の一例は、製造業者、卸売業者、および運送業などの様々な異なる種類の営利組織体による物品の貯蔵のため使用されることがある倉庫である。貯蔵物品例は、原材料、部品またはコンポーネント、梱包材、および完成品を含むことがある。一部の事例では、卸売業者は、物品が配送トラックおよび／または他の種類の車両に積み降ろしされるようにするために積み込みドックを備えることがある。卸売業者は、パレット、すなわち、ボックスまたは他の物体の積み重ねを収容する平らな運搬構造体の貯蔵を可能にさせるために、何段ものパレットラックを使用することもある。その上、卸売業者は、物品または物品のパレットを持ち上げおよび移動させるため、たとえば、クレーンおよびフォークリフトなどの機械または車両を使用することがある。人間オペレータは、機械、車両、および他の設備を運転するために採用されることがある。一部の事例では、機械または車両のうちの１台以上は、コンピュータ制御システムによって誘導されるロボット装置でもよい。
【発明の概要】
【課題を解決するための手段】
【０００５】
［0005］  一態様では、方法が提供される。コンピュータ装置は、環境の第１の地図を判定する。第１の地図は、対応する複数の第１の位置にある複数のフィーチャーと、対応する複数のセマンティック位置にある複数のセマンティックラベルとを含む。コンピューティング装置は、環境の第２の地図を判定し、第２の地図は、対応する複数の第２の位置にある複数のフィーチャーの少なくとも一部を含む。コンピューティング装置は、複数の固定フィーチャーを含んでいる環境の第１の領域を識別し、複数の固定フィーチャーの中のある固定フィーチャーは、複数の第１の位置のうちの対応する第１の位置および複数の第２の位置のうちの対応する第２の位置にある。固定フィーチャーの対応する第１の位置は、固定フィーチャーの対応する第２の位置と等価である。コンピューティング装置は、環境の第２の領域を識別する。第２の領域は、複数の移動フィーチャーを含み、複数の移動フィーチャーのうちのある移動フィーチャーは、複数の第１の位置のうちの対応する第１の位置および複数の第２の位置のうちの異なった対応する第２の位置にある。移動フィーチャーの対応する第１の位置は、移動フィーチャーの異なった対応する第２の位置と等価ではない。コンピューティング装置は、第２の領域内の複数の移動フィーチャーのうちの第１の位置と第２の位置との間の１つ以上の変換を判定する。コンピューティング装置は、複数のセマンティックラベルを第２の複数のセマンティック位置で第２の地図に割り当てる。第１の領域内のセマンティックラベルに対する第２の複数のセマンティック位置の中のセマンティック位置は、第１の複数のセマンティック位置の中の対応するセマンティック位置と同一である。第２の領域内のセマンティックラベルに対する第２の複数のセマンティック位置の中のセマンティック位置は、１つ以上の変換に基づいている。コンピューティング装置は、第２の地図に基づいて出力を生成する。
【０００６】
［0006］  別の態様では、コンピューティング装置が提供される。コンピューティング装置は、１台以上のプロセッサとデータストレージとを有する。データストレージは、このデータストレージに記憶され、１台以上のプロセッサによって実行されたとき、対応する複数の第１の位置にある複数のフィーチャーおよび対応する複数のセマンティック位置にある複数のセマンティックラベルを含んでいる環境の第１の地図を判定することと、対応する複数の第２の位置にある複数のフィーチャーの少なくとも一部を含んでいる環境の第２の地図を判定することと、複数の固定フィーチャーの中のある固定フィーチャーが複数の第１の位置のうちの対応する第１の位置および複数の第２の位置のうちの対応する第２の位置にあり、固定フィーチャーの対応する第１の位置が固定フィーチャーの対応する第２の位置と等価である、複数の固定フィーチャーを含んでいる環境の第１の領域を識別することと、複数の移動フィーチャーのうちのある移動フィーチャーが複数の第１の位置のうちの対応する第１の位置および複数の第２の位置のうちの異なった対応する第２の位置にあり、移動フィーチャーの対応する第１の位置が移動フィーチャーの異なった対応する第２の位置と等価ではない、複数の移動フィーチャーを含んでいる環境の第２の領域を識別することと、第２の領域内の複数の移動フィーチャーのうちの第１の位置と第２の位置との間の１つ以上の変換を判定することと、第１の領域内のセマンティックラベルに対する第２の複数のセマンティック位置の中のセマンティック位置が第１の複数のセマンティック位置の中の対応するセマンティック位置と同一であり、第２の領域内のセマンティックラベルに対する第２の複数のセマンティック位置の中のセマンティック位置が１つ以上の変換に基づいている、複数のセマンティックラベルを第２の複数のセマンティック位置で第２の地図に割り当てることと、第２の地図に基づいて出力を生成することと、を含む機能をコンピューティング装置に行わせる、少なくともコンピュータ実行可能な命令を含む。
【０００７】
［0007］  別の態様では、非一時的なコンピュータ読み取り可能な媒体が提供される。非一時的なコンピュータ読み取り可能な媒体は、コンピューティング装置の１台以上のプロセッサによって実行されたとき、コンピューティング装置に機能を行わせる命令を記憶している。これらの機能は、対応する複数の第１の位置にある複数のフィーチャーおよび対応する複数のセマンティック位置にある複数のセマンティックラベルを含んでいる環境の第１の地図を判定することと、対応する複数の第２の位置にある複数のフィーチャーの少なくとも一部を含んでいる環境の第２の地図を判定することと、複数の固定フィーチャーの中のある固定フィーチャーが複数の第１の位置のうちの対応する第１の位置および複数の第２の位置のうちの対応する第２の位置にあり、固定フィーチャーの対応する第１の位置が固定フィーチャーの対応する第２の位置と等価である、複数の固定フィーチャーを含んでいる環境の第１の領域を識別することと、複数の移動フィーチャーのうちのある移動フィーチャーが複数の第１の位置のうちの対応する第１の位置および複数の第２の位置のうちの異なった対応する第２の位置にあり、移動フィーチャーの対応する第１の位置が移動フィーチャーの異なった対応する第２の位置と等価ではない、複数の移動フィーチャーを含んでいる環境の第２の領域を識別することと、第２の領域内の複数の移動フィーチャーのうちの第１の位置と第２の位置との間の１つ以上の変換を判定することと、第１の領域内のセマンティックラベルに対する第２の複数のセマンティック位置の中のセマンティック位置が第１の複数のセマンティック位置の中の対応するセマンティック位置と同一であり、第２の領域内のセマンティックラベルに対する第２の複数のセマンティック位置の中のセマンティック位置が１つ以上の変換に基づいている、複数のセマンティックラベルを第２の複数のセマンティック位置で第２の地図に割り当てることと、第２の地図に基づいて出力を生成することと、を含む。
【０００８】
［0008］  別の態様では、装置が提供される。この装置は、対応する複数の第１の位置にある複数のフィーチャーおよび対応する複数のセマンティック位置にある複数のセマンティックラベルを含んでいる環境の第１の地図を判定することと、対応する複数の第２の位置にある複数のフィーチャーの少なくとも一部を含んでいる環境の第２の地図を判定することと、複数の固定フィーチャーの中のある固定フィーチャーが複数の第１の位置のうちの対応する第１の位置および複数の第２の位置のうちの対応する第２の位置にあり、固定フィーチャーの対応する第１の位置が固定フィーチャーの対応する第２の位置と等価である、複数の固定フィーチャーを含んでいる環境の第１の領域を識別することと、複数の移動フィーチャーのうちのある移動フィーチャーが複数の第１の位置のうちの対応する第１の位置および複数の第２の位置のうちの異なった対応する第２の位置にあり、移動フィーチャーの対応する第１の位置が移動フィーチャーの異なった対応する第２の位置と等価ではない、複数の移動フィーチャーを含んでいる環境の第２の領域を識別することと、第２の領域内の複数の移動フィーチャーのうちの第１の位置と第２の位置との間の１つ以上の変換を判定することと、第１の領域内のセマンティックラベルに対する第２の複数のセマンティック位置の中のセマンティック位置が第１の複数のセマンティック位置の中の対応するセマンティック位置と同一であり、第２の領域内のセマンティックラベルに対する第２の複数のセマンティック位置の中のセマンティック位置が１つ以上の変換に基づいている、複数のセマンティックラベルを第２の複数のセマンティック位置で第２の地図に割り当てることと、第２の地図に基づいて出力を生成することと、を含む。
【０００９】
［0009］  上記概要は、実例にすぎず、決して限定的であることを意図したものではない。前述の実例となる態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図表ならびに以下の詳細な説明および添付図面を参照することにより明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１】［0010］例示的な実施形態に係る、シナリオの地図再作成を表す。
【図２】［0011］例示的な実施形態に係る、別のシナリオの地図再作成の２つの地図を表す。
【図３】［0012］例示的な実施形態に係る、図２のシナリオの２つの地図に対する座標の割り当てを示す。
【図４】［0013］例示的な実施形態に係る、図２のシナリオの２つの地図の移動領域の判定を描く。
【図５Ａ】［0014］例示的な実施形態に係る、例示的な剛体／アフィン変換を表す。
【図５Ｂ】［0015］例示的な実施形態に係る、例示的なアフィン変換を表す。
【図５Ｃ】［0016］例示的な実施形態に係る、図２のシナリオの移動領域に対する推定剛体変換を描く。
【図６】［0017］例示的な実施形態に係る、図２のシナリオの第２の地図へのセマンティックラベルの割り当てを描く。
【図７Ａ】［0018］例示的な実施形態に係る、ロボット部隊を表す。
【図７Ｂ】［0019］例示的な実施形態に係る、ロボット部隊のコンポーネントを例として説明する機能ブロック図である。
【図８Ａ】［0020］例示的な実施形態に係る、ロボットトラック積み降ろし装置を表す。
【図８Ｂ】［0021］例示的な実施形態に係る、台座上のロボットアームを表す。
【図８Ｃ】［0022］例示的な実施形態に係る、無人搬送車を表す。
【図８Ｄ】［0023］例示的な実施形態に係る、無人フォークトラックを表す。
【図９Ａ】［0024］例示的な実施形態に係る、例示的なコンピューティング装置の機能ブロック図である。
【図９Ｂ】［0025］例示的な実施形態に係る、クラウドベースサーバシステムを描く。
【図１０】［0026］例示的な実施形態に係る、方法のフローチャートである。
【発明を実施するための形態】
【００１１】
概要
［0027］  一部のシナリオでは、ロボットは、空間の一部分が変化し、空間の他の部分がそのままの状態を保つ空間内で動作し得る。たとえば、ロボットで運転された倉庫空間で、トラックは、倉庫の積み込みドックに到着し、積み込みドックと一直線に揃えられ、荷下ろしのため後部ドアを開くことができるので、空間的余裕（トラックの内部）を倉庫の積み込みドックに効率的に付け加える。その後、このトラックは離れ、積み込みドックで異なるトラックと置き換えられ得るので、倉庫の積み込みドックに付け加えられた空間的余裕を効率的に変化させる。たとえば、積み込みドックを追加するもしくは閉じる、内部空間の使用を変更する、倉庫内部のラックおよび／または壁を追加、除去、もしくは変更するなどのその他の変化が倉庫に加えられ得る。倉庫の内側では、たとえば、パレット、ラック、および設備などの様々な（大型）物体が移動可能であり、これらも倉庫の空間を変化させる。他の事例では、ロボットが、たとえば、上記倉庫を取り囲む駐車場、または、周囲の敷地と共に建物を有するキャンパス環境などの屋外または屋内／屋外混合環境の地図を作成するために使用され得る。
【００１２】
［0028］  空間Ｓは、環境、たとえば、１つ以上の建物の１つ以上の部分、街区、公園などの屋内および／または屋外領域である。空間Ｓは、「フィーチャー」、すなわち、ドア、壁、コーナー、設備、などの明確に識別され得る物体を含み得る。一部の実施例では、フィーチャーは、特に、バーコードのようにロボットナビゲーションのため設置される可能性がある。空間Ｓの「地図」は、ピクチャ、チャート、ダイアグラム、および／または、空間Ｓ内のフィーチャーの一部または全部を含めて空間Ｓを描写および説明するその他の情報でもよい。一部の実施形態では、地図は、コンピュータ／ロボット読み取り可能なフォーマットになり得る。地図は、「セマンティックラベル」、すなわち、空間Ｓ内のフィーチャー、他の物体、および／または他の位置の情報を提供する注釈を含むことがあり、各セマンティックラベルは、空間Ｓの地図の内部の対応する「セマンティック位置」にある可能性がある。
【００１３】
［0029］  セマンティックラベルは、地図に関係した情報を提供し得る。この地図に関係した情報は、限定されることなく、以下の情報を含み得る。
・地図の内部の物体およびエリアに関する情報、たとえば、「コピー機」、「外部ネットワークアクセスポイント」、「会議室１２３Ｂ」、「ＣＥＯの執務室」、「Ｉ−８０への出口９５」、「第４会議室―午後６時まで予約済み」、「椅子または他の物体がここまでの通路を妨げているのは何がきっかけですか？」など。
・地図の占有者および／または訪問者に関する情報、たとえば、「ロボット番号１２３が２０１５年８月７日１２時３４分５６秒に最後に訪問した通路４３２」、「Ｇｅｏｒｇｅ  Ｗａｓｈｉｎｇｔｏｎが泊まった場所」、「会議室１２３−Ａ．Ｓｍｉｔｈが使用中」など。
・地図に関係した交通規則、たとえば、「この車線からの右折可」、「一方通行ここから」、「午前８時から午前１２時の間、下りのみ通行可」、「混雑時渋滞」など。
・地図に関係した環境特性、たとえば、「眺めの良い展望」、「ここＳＳＩＤ  Ｗａｒｅｈｏｕｓｅ４７３に対する信号−３０ｄｂｍ」、「２０１４年における温度範囲：華氏−１６度から９１度」など。
・地図自体に関する情報、たとえば、「２０１５年４月１日に最後に地図化された領域」、「このエリアは、広域地図における領域Ｇ−６に対応する」など。
【００１４】
［0030］  地図生成中に、フィーチャーの座標と、おそらく地図の付加的な物体／ラベルの座標とが測定され得る。地図内のフィーチャー位置、セマンティック位置、およびその他の位置は、地図座標、たとえば、２次元または３次元座標を単位として指定され得る。空間、地図、フィーチャー、セマンティックラベル、およびセマンティック位置のその他の実施例も考えられる。
【００１５】
［0031］  ロボットは、周期的に、および／または、空間の一部もしくは全部における変化を検出した後に空間を再地図化し得る。地図再作成後、ロボットまたは別のコンピューティング装置は、フィーチャーの相対的な姿勢（位置および方向）を計算するために、旧（当初に地図化された）メトリック地図と新（再地図化された）メトリック地図との両方に存在するフィーチャーを比較し得る。地図フィーチャーに対する座標は、たとえば、全地球測位システム（ＧＰＳ）衛星などの外部源から、地図作成プロセスの一部として、判定され得るか、および／または、別のやり方で判定され得る。次に、相対姿勢を使用して、旧地図座標および新地図座標を使用する位置同士の対応が判定され得る。その上、複数の（隣接する）フィーチャーの座標を使用することにより、誤判定、すなわち、旧地図と新地図との間の誤った対応を推定することができる。対応に基づいて、旧地図座標を新地図座標に関連付ける１つ以上の変換を判定することができ、各変換は、空間の局所近傍（領域）の内部のフィーチャーの座標を関連付ける。一部の事例では、異なる位置は、旧地図座標と新地図座標との間に異なる変換を持つ可能性がある。
【００１６】
［0032］  セマンティックラベルは、旧地図座標と新地図座標との間の上記変換を使用して自動的に再地図化され得る。たとえば、セマンティックラベルおよびセマンティック位置は、旧地図に対して、対応する旧地図座標の単位で最初に決定され得る。旧地図座標と新地図座標との間の変換（群）は、新地図座標の単位で新（変換された）セマンティック位置を判定するためにセマンティック位置に適用され得る。セマンティックラベルは、次に、新セマンティック位置で新地図に追加され得る。セマンティックラベルの自動地図化は、旧地図から新地図への手動によるセマンティックラベルの配置／複製に比べると、新地図を更新するために要する時間および努力を削減することができる。さらに、自動地図再作成は、セマンティックラベルの新地図への手動による配置より正確になる可能性があり−手動ではなく、自動による地図再作成が使用されたとき、ラベルがどこかに消える、改変される、混同されるなどの可能性が低い。
【００１７】
［0033］  地図再作成後にセマンティック位置データを関連付けるシステムおよび手法
図１は、例示的な実施形態による地図再作成シナリオ１００を表している。地図再作成シナリオは、たとえば、少なくとも図９Ａとの関連で後述され、おそらく移動ロボット装置として構成されるコンピューティング装置９００などのコンピューティング装置によって実行され得る。図１の上部では、廊下１４４ａによって接続された領域１４０ａおよび１４２ａを含む空間１０２ａの例示的な旧地図１１０ａが表されている。地図１１０ａは、空間１０２ａのあらゆる場所に移動し、コンピューティング装置のセンサを使用して空間１０２ａに対するセンサデータを取得し、空間１０２ａの地図１１０ａを生成するために、たとえば、限定されることなく、ＳＬＡＭアルゴリズムのような地図作成アルゴリズムを利用するコンピューティング装置によって生成され得る。
【００１８】
［0034］  領域１４０ａは、３つのフィーチャー：領域１４０ａの上部中央にあるフィーチャー１２０ａと、中央左にあるフィーチャー１２２ａ、および下部右にあるフィーチャー１２４ａを含む。領域１４０ａは、３つのセマンティックラベル（ＳＬ）：領域１４０ａの上部左にある「会議室」に対するセマンティックラベル１３０ａと、中央右にある「正面ロビー」に対するセマンティックラベル１３２ａと、下部左にある「Ｋｅｖｉｎの事務室」に対するセマンティックラベル１３４ａとをさらに含む。領域１４２ａは、領域１４２ａの下部左にあるフィーチャー１２６ａと、上部右にあるフィーチャー１２８ａと、「コーヒーメーカー」の位置を指し示すセマンティックラベル１３６ａとを含む。
【００１９】
［0035］  シナリオの後半で、空間１０２ａは、図１の下部に描かれた空間１０２ｂになるように変更される。具体的には、空間１０２ｂは、領域１４０ａと１４０ｂとが実質的には同一であり、領域１４２ａは、領域１４２ｂになるように時計回り方向に回転させられ、廊下１４４ａは、領域１４０ｂと１４２ｂとを接続する廊下１４４ｂになるように適合させられていることを表している。
【００２０】
［0036］  空間１０２ｂが形成された後、空間は、廊下１４４ｂによって接続された領域１４０ｂおよび１４２ｂを含む新地図１１０ｂを作成するために再地図化される。空間１０２ｂは、空間１０２ｂのあらゆる場所に移動し、コンピューティング装置のセンサを使用して空間１０２ｂに対するセンサデータを取得し、空間１０２ｂの地図１１０ｂを生成するために、たとえば、限定されることなく、ＳＬＡＭアルゴリズムなどの地図作成アルゴリズムを利用するコンピューティング装置によって、地図１１０ｂを生成するために再地図化され得る。
【００２１】
［0037］  領域１４０ａと同様に、領域１４０ｂは、３つのフィーチャー：領域１４０ｂの上部中央にあるフィーチャー１２０ｂと、中央左にあるフィーチャー１２２ｂと、下部右にあるフィーチャー１２４ｂとを含む。領域１４０ａと同様に、領域１４０ｂは、３つのセマンティックラベル：領域１４０ｂの上部左にある「会議室」に対するセマンティックラベル１３０ｂと、中央右にある「正面ロビー」に対するセマンティックラベル１３２ｂと、下部左にある「Ｋｅｖｉｎの事務室」に対するセマンティックラベル１３４ｂとを含む。領域１４２ａと同様に、領域１４２ｂは、領域１４２ｂの下部左にあるフィーチャー１２６ｂと、上部右にあるフィーチャー１２８ｂと、「コーヒーメーカー」の位置を指し示すセマンティックラベル１３６ｂとを含む。各フィーチャーおよびセマンティックラベルは、たとえば、地図座標、空間の座標、および／または、フィーチャーもしくはセマンティックラベルの位置を表現する他のデータなどの座標の単位で表現（または指定）され得る位置に関連付けられ得る。
【００２２】
［0038］  コンピューティング装置は、旧地図１１０ａと１１０ｂとの間の対応を生成し得る。たとえば、コンピューティング装置は、旧地図１１０ａ内のフィーチャー１２２ａの位置を対応するフィーチャー、すなわち、新地図１１０ｂ内のフィーチャー１２２ｂの位置と関連させるフィーチャー対応（ＦＣ）１２２ｃを生成し得る。同様のフィーチャー対応１２６ｃは、旧地図１１０ａ内のフィーチャー１２６ａと新地図１１０ｂ内の対応するフィーチャー１２６ｂとに対して表されている。
【００２３】
［0039］  コンピューティング装置は、変換、すなわち、フィーチャーの移動を表現する関数を開発するために対応を使用し得る。たとえば、コンピューティング装置は、新地図１１０ｂ内の領域１４０ｂおよび１４２ｂの少なくとも１つの領域が地図再作成中に旧地図１１０ａの領域１４０ａおよび１４２ａに対してと相対的に移動したことを指し示すためにフィーチャー対応１２２ｃおよび１２６ｃを計算し得る。フィーチャー対応１２２ｃと、フィーチャー１２０ａおよび１２０ｂの位置の間の対応と、フィーチャー１２４ａおよび１２４ｂの位置の間の対応との調査は、領域１４０ａが領域１４０ｂとして再地図化されている間に位置を変えなかったことを示すので、領域１４０ｂは、領域１４０ａが旧地図１１０ａ内に地図化されてから、位置を変えなかったことを示唆することができる。従って、コンピューティング装置は、領域１４０ａ内のセマンティックラベルが領域１４０ｂとしての地図再作成中に変わらなかったと仮定することができる。その結果、コンピューティング装置は、旧地図１１０ａ内のそれぞれのセマンティックラベル１３０ａ、１３２ａ、および１３４ａのセマンティック位置を新地図１１０ｂ内のそれぞれのセマンティックラベル１３０ｂ、１３２ｂ、および１３４ｂのセマンティック位置として利用することによって領域１４０ａ内のセマンティックラベルを領域１４０ｂに再地図化できる。すなわち、旧地図と新地図との間で変化しない領域に対して、コンピューティング装置は、旧地図からセマンティックラベルを複製し、これらのセマンティックラベルを新地図の内部の同じセマンティック位置に置くことによって旧地図から新地図にセマンティックラベルを再地図化することができる。
【００２４】
［0040］  その上、フィーチャー対応１２６ｃと、フィーチャー１２８ａおよび１２８ｂの位置の間の対応との調査は、領域１４２ａが旧地図１１０ａ内に地図化されたときから、新地図１１０ｂの領域１４２ｂが回転させられていることをコンピューティング装置に示すことができる。
【００２５】
［0041］  コンピューティング装置は、フィーチャーおよび／またはセマンティック位置の様々な移動をモデル化するために、たとえば、１つ以上のアフィン変換、剛体変換、および／またはその他の変換などの変換（群）を判定することができ、本実施例では、旧地図１１０ａ内のセマンティックラベル１３６ａに対するセマンティック位置の回転変換は、新地図１１０ｂ内のセマンティックラベル１３６ｂに対するセマンティック位置を判定するために位置変換１３６ｃとして使用され得る。次に、コンピューティング装置は、手動による新地図１０２ｂへのセマンティックラベル１３６ｂの再配置ではなく、セマンティックラベル１３４ｂに対するセマンティック位置を判定するために位置変換１３６ｃを使用できる。
【００２６】
［0042］  コンピューティング装置が構造物およびセマンティックラベルの全てを新地図１１０ｂに設置した時点で、シナリオ１００を終わらせることができる。一部の実施形態では、コンピューティング装置は、新地図１１０ｂ（および／または旧地図１１０ａ）を出力および／または保存することができ、たとえば、地図１１０ｂを表示、地図１１０ｂを印刷、地図１１０ｂを伝送することができる。他の実施形態では、コンピューティング装置は、たとえば、コンピューティング装置（群）／ロボット装置（群）が新地図１１０ｂによって地図化された環境を走行できるように、コンピューティング装置（群）／ロボット装置（群）が新地図１１０ｂによって地図化された環境の内部でフィーチャー、物体、および位置を測位、取得、地図化、操作、および／または、そうでなければ相互に作用するのに役立つように、１台以上のコンピューティング装置／ロボット装置による使用のため地図１１０ｂを提供することができる。特定の実施形態では、コンピューティング装置は、１台以上のコンピューティング装置／ロボット装置のうちのあるコンピューティング装置でもよい。
【００２７】
［0043］  図２は、例示的な実施形態による、地図再作成シナリオ２００の２つの地図である。シナリオ２００では、キャンプ場の屋内および屋外領域が２回地図化され、第１の、前の地図が生成され、そして、後で、第２の地図が生成される。キャンプ場は、第１の地図が生成されたときと第２の地図が生成されたときとの間で部分的に溢れる川に隣接している。溢れている川は、キャンプ場内のテントの一部を移動させる。第１の地図は、セマンティックラベルで注釈を付けられ、第２の地図は、最初、セマンティックラベルで注釈を付けられていない。シナリオ２００は、第１の地図からのセマンティックラベルを第２の地図に地図化するプロセスを例として説明し、このプロセスは、たとえば、少なくとも図９Ａとの関連で後述され、おそらく移動ロボット装置として構成されたコンピューティング装置９００などのコンピューティング装置によって行われ得る。
【００２８】
［0044］  図２の上部は、コンピューティング装置によって取得され得る地図２１０ａの複製を表し、地図２１０ａは、最初にキャンプ場の地図を作成する。一部の実施形態では、コンピューティング装置は、たとえば、ＳＬＡＭアルゴリズムまたは他の地図作成アルゴリズムを使用して、地図２１０ａの一部または全部を生成し得る。一部のシナリオでは、地図２１０ａは、コンピューティング装置の１台以上のセンサから取得されたセンサデータに基づいて、少なくとも部分的に生成され得る。
【００２９】
［0045］  地図２１０ａは、川２６２ａに隣接したキャンプ場２６０ａを地図化する。キャンプ場２６０ａは、建物２１２ａおよび２２０ａと、テント２２８ａ、２３２ａ、２３８ａ、２４４ａ、および２５０ａとを含む。地図２１０ａの上部左にある建物２１２ａは、フィーチャー２１４ａ、２１６ａ、および２１８ａを含み、「食事エリア」位置、「劇場」位置、「クラス１」位置、および「クラス２」位置に対する４つのセマンティックラベルで注釈を付けられている。地図２１０ａの下部左にある建物２２０ａは、フィーチャー２２２ａ、２２４ａ、および２２６ａを含み、「事務室」位置および「応急処置所」位置に対応する２つのセマンティックラベルで注釈を付けられている。図２は、建物２１２ａの右側に、フィーチャー２３０ａと、「ウルフ６〜９」位置および「ウルフ１０〜１２」位置に対するセマンティックラベルとを含むテント２２８ａを表している。フィーチャー２３４ａおよび２３６ａと、「ホーク６〜９」位置および「ホーク１０〜１２」位置に対するセマンティックラベルとを含むテント２３２ａは、テント２２８ａの直ぐ下、かつ、建物２１２ａおよび２２０ａの右側で図２に表されている。
【００３０】
［0046］  テント２４２ａは、テント２２８ａの右側で図２に表され、フィーチャー２４０ａおよび２４２ａと、「リードウルフ」位置に対するセマンティックラベルとを含んでいる。テント２４２ａの直ぐ下に、地図２１０ａは、「スケーリング壁」位置に対するセマンティックラベルを有する。フィーチャー２４６ａおよび２４８ａと「リードホーク」位置に対するセマンティックラベルとを有するテント２４４ａは、「スケーリング壁」位置の下、かつ、テント２３２ａの右側に表されている。図２は、テント２３８ａおよび２４４ａの右側、かつ、川２６２ａの左側に、フィーチャー２５２ａ、２５４ａ、２５６ａ、および２５８ａを含み、「水上スポーツ」位置、「陸上スポーツ」位置、「アート」位置、および「キャンプ用品」位置に対するセマンティックラベルを有するテント２５０ａを表している。
【００３１】
［0047］  図２の下部は、コンピューティング装置によって取得され得る地図２１０ｂの複製を表し、地図２１０ｂは、１回目の後で２回目にキャンプ場を地図化する。一部の実施形態では、コンピューティング装置は、たとえば、ＳＬＡＭアルゴリズムまたは他の地図作成アルゴリズムを使用して、地図２１０ｂの一部または全部を生成することができる。一部のシナリオでは、地図２１０ｂは、コンピューティング装置の１台以上のセンサから取得されたセンサデータに少なくとも部分的に基づいて生成され得る。
【００３２】
［0048］  シナリオ２００では、地図２１０ａが生成された第１の時点と地図２１０ｂが生成された第２の時点との間に、キャンプ場に隣接する川が川２６２ａによって描かれた位置から川２６２ｂによって描かれた位置まで移動する。具体的には、第２の時点までに、川２６２ｂは、地図２１０ｂの下部右に示されている通り、キャンプ場の一部分に溢れている。シナリオ２００では、３張りのテントが川の氾濫が原因で移動させられる。これらのテントは、地図２１０ａ内のテント２３８ａ、２４４ａ、および２５０ａに対して示されたそれぞれの位置から、地図２１０ｂ内のテント２３８ｂ、２４４ｂ、および２５０ｂに対するそれぞれの位置まで移動させられる。具体的には、テント２３８ａは、テント２３８ｂの位置に達するように左および僅かに上へ移動させられ、テント２４４ａは、テント２４４ｂの位置に達するように反時計回り方向におよそ９０度回転させられ、テント２５０ａは、テント２５０ｂの位置に達するように僅かに右へ移動させられ、反時計回り方向におよそ１０度回転させられる。
【００３３】
［0049］  地図２１０ｂは、川２６２ｂに隣接したキャンプ場２６０ｂを地図化し、キャンプ場２６０ｂおよび川２６２ｂは、それぞれ、地図２１０ａのキャンプ場２６０ａおよび川２６２ａに対応している。キャンプ場２６０ｂは、地図２１０ａの建物２１２ａおよび２２０ａと、テント２２８ａ、２３２ａ、２３８ａ、２４４ａ、および２５０ａとに対応している建物２１２ｂおよび２２０ｂと、テント２２８ｂ、２３２ｂ、２３８ｂ、２４４ｂ、および２５０ｂとを含む。
【００３４】
［0050］  地図２１０ｂの上部左にある建物２１２ｂは、地図２１０ａのそれぞれのフィーチャー２１４ａ、２１６ａ、および２１８ｂに対応するそれぞれのフィーチャー２１４ｂ、２１６ｂ、および２１８ｂを含む。地図２１０ｂの下部左にある建物２２０ｂは、地図２１０ａのそれぞれのフィーチャー２２２ａ、２２４ａ、および２２６ａに対応するそれぞれのフィーチャー２２２ｂ、２２４ｂ、および２２６ｂを含む。図２は、テント２２８ｂを建物２１２ｂの右側に表し、テント２２８ｂは、地図２１０ａのフィーチャー２３０ａに対応するフィーチャー２３０ｂを含んでいる。テント２３２ｂは、テント２２８ｂの直ぐ下、かつ、建物２１２ｂおよび２２０ｂの右側で図２に表され、テント２３２ｂは、地図２１０ａのそれぞれのフィーチャー２３４ａおよび２３６ａに対応するそれぞれのフィーチャー２３４ｂおよび２３６ｂを含んでいる。テント２４２ｂは、テント２２８ｂの右側で図２に表され、地図２１０ａのそれぞれのフィーチャー２４０ａおよび２４２ａに対応するフィーチャー２４０ｂおよび２４２ｂを含んでいる。テント２４４ｂは、テント２３８ｂの下、かつ、テント２３２ｂの右側に表され、テント２４４ｂは、地図２１０ａのフィーチャー２４６ａおよび２４８ａに対応するそれぞれのフィーチャー２４６ｂおよび２４８ｂを有する。図２は、テント２３８ｂおよび２４４ｂの右側、かつ、川２６０ｂの左側にテント２５０ｂを表し、テント２５０ｂは、地図２１０ａのそれぞれのフィーチャー２５２ａ、２５４ａ、２５６ａ、および２５８ａに対応するそれぞれのフィーチャー２５２ｂ、２５４ｂ、２５６ｂ、および２５８ｂを含んでいる。
【００３５】
［0051］  図３は、例示的な実施形態による、地図３１０ａおよび３１０ｂを使用して、シナリオ２００の地図に対する座標の割り当てを示す。図３の上部に表された地図３１０ａは、（第１の時点に生成された）地図２１０ａに対応し、３次元（３Ｄ）座標が最初に地図２１０ａ内にある各フィーチャーおよびセマンティックラベルに割り当てられている。図３の下部に表された地図３１０ｂは、（第２の時点に生成された）地図２１０ｂに対応し、３Ｄ座標が最初に地図２１０ｂ内にある各フィーチャーに割り当てられている。地図座標は、地図作成アルゴリズムの一部として判定することができ、たとえば、建物２１２ａ／２１２ｂ、および／または、建物２２０ａ／２２０ｂなどの１つ以上のランドマークと相対的に、地図帳またはその他の地図の収集物によって使用される座標が割り当てられているような外部地図に合わせて、外部源（たとえば、測位センサから取得される緯度、経度、および／または高度値）から、あるいは、座標を割り当てる他のアプローチによって、取得され得る。シナリオ２００では、３Ｄ座標を地図２１０ｂ内のフィーチャーに割り当て、そして、地図３１０ｂを取得するために使用されるのと同じアプローチが、３Ｄ座標を地図２１０ａ内のフィーチャーおよびセマンティックラベルに割り当て、そして、地図３１０ａを取得するために使用される。他のシナリオでは、３Ｄ座標ではなく２Ｄ座標が地図に割り当てられ得る。
【００３６】
［0052］  以下の表１は、地図３１０ａおよび３１０ｂ内のフィーチャーに割り当てられた座標を表している。
【表１】
0006496837.tif 000002
0006496837.tif 000003
【００３７】
［0053］
【表２】
0006496837.tif 000004
【００３８】
［0054］  図４は、例示的な実施形態による、シナリオ２００の地図３１０ａと地図３１０ｂとの間の移動領域の判定を描く。地図４１０ａは、図４の上部に表されている。地図４１０ａは、地図３１０ａのフィーチャーと地図３１０ｂのフィーチャーとの比較を示し、建物４１２および４２０が地図３１０ａと３１０ｂとの間で変化なしであることを表している。
【００３９】
［0055］  コンピューティング装置は、領域Ｒの内部のフィーチャーＦ１，Ｆ２，．．．Ｆｎの座標が地図ＡとＢとの間で「等価」であるか否か、すなわち、地図ＡとＢとの間のフィーチャーの座標が１つ以上の閾座標値の範囲内で等しい、または、ほぼ等しいか否かを判定することによって、２つの地図ＡおよびＢによって地図化された領域Ｒが地図Ａと地図Ｂとの間で移動したか否かを判定することができる。たとえば、領域Ｒ内のフィーチャーＦ１，Ｆ２，．．．Ｆｎの地図Ａ内の座標をＡ１，Ａ２，．．．Ａｎとし、領域Ｒ内のフィーチャーＦ１，Ｆ２，．．．Ｆｎの地図Ｂ内の座標をＢ１，Ｂ２，．．．Ｂｎとする。このとき、Ａ１がＢ１と等価であり、Ａ２がＢ２と等価であり、．．．そして、ＡｎがＢｎと等価である場合、領域Ｒは、地図Ａと地図Ｂとの間で移動していない。本文書では、Ａ１がＢ１と等価であることを示すために、
【数１】
0006496837.tif 000005
が使用され、Ａ１がＢ１と等価ではないことを示すために、表記
【数２】
0006496837.tif 000006
が使用される。この表記を使用して、コンピューティング装置は、
【数３】
0006496837.tif 000007
である場合、領域Ｒが地図Ａと地図Ｂとの間で変化しなかったと、判定することができる。その上、
【数４】
0006496837.tif 000008
である場合、領域Ｒが地図Ａと地図Ｂとの間で変化した、と判定することができる。その他の手法が、領域が地図の間で移動した（または否か）を２つの地図の領域の内部のフィーチャーの座標に基づいて判定するために使用され得る。
【００４０】
［0056］  シナリオ２００では、コンピューティング装置は、地図３１０ａの特定の領域内の全てのフィーチャーの座標が地図３１０ｂの特定の領域内の対応するフィーチャーの座標と等価である、と判定することにより、地図３１０ａおよび３１０ｂの両方によって地図化された特定の領域において変更が行われなかった、と判定することができる。シナリオ２００では、特定の領域は、地図３１０ａおよび３１０ｂによって地図化されたキャンプ場内の構造物−建物およびテント−によって指定され得る。すなわち、各構造物は、比較目的のための領域であると見なされ得る。他のシナリオでは、構造物以外の１つ以上の他の実体、たとえば、地図全体、地図の一部分、構造物の一部分、または地図の別の区分などが比較目的のための領域の境界を明らかにするために使用され得る。
【００４１】
［0057］  地図３１０ａは、建物２１２ａの地図を含み、地図３１０ｂは、対応する建物２１２ｂの地図を含む。地図３１０ａでは、建物２１２ａは、座標Ｍ１（ｘ，ｙ，ｚ）、または、略して「Ｍ１」にフィーチャー２１４ａと、座標Ｍ２にフィーチャー２１６ａと、座標Ｍ３にフィーチャー２１８ａとを含むが、地図３１０ｂの建物２１２ｂは、座標Ｄ１（ｘ，ｙ，ｚ）、略して「Ｄ１」にフィーチャー２１４ｂと、座標Ｄ２にフィーチャー２１６ｂと、座標Ｄ３にフィーチャー２１８ｂとを含む。
【００４２】
［0058］  その結果、コンピューティング装置は、建物２１２ａのフィーチャーの座標を建物２１２ｂの対応するフィーチャーの座標と比較し、すなわち、フィーチャー２１４ａの座標Ｍ１は、フィーチャー２１４ｂの座標Ｄ１と比較することができ、フィーチャー２１６ｂの座標Ｍ２は、フィーチャー２１６ｂの座標Ｄ２と比較することができ、フィーチャー２１８ｂの座標Ｍ３は、フィーチャー２１８ｂの座標Ｄ３と比較することができる。コンピューティング装置は、座標Ｍ１が座標Ｄ１の１つ以上の閾値の範囲内にあることを判定することによって、または、おそらく何らかの他の比較手法によって、座標Ｍ１が座標Ｄ１と等価であることを判定することによって座標Ｍ１を座標Ｄ１と比較できる。
【００４３】
［0059］  座標が等価である、従って、対応する位置が等価である、と判定するために閾値を使用する実施例に対して、Ｍ１＝（ＸＭ１，ＹＭ１，ＺＭ１）およびＤ１＝（ＸＤ１，ＹＤ１，ＺＤ１）とする。次に、ＸＴがＸＴ＞０である閾値であるとして、｜ＸＭ１−ＸＤ１｜＜ＸＴである場合、Ｍ１のｘ値とＤ１のｘ値とは等価であると見なすことができる。同様に、ＹＴがＹＴ＞０である閾値であるとして、｜ＹＭ１−ＹＤ１｜＜ＹＴである場合、Ｍ１のｙ値とＤ１のｙ値とは等価であると見なすことができ、｜ＺＭ１−ＺＤ１｜＜ＺＴである場合、Ｍ１のｚ値とＤ１のｚ値とは等価であると見なすことができる。Ｍ１およびＤ１のｘ値、ｙ値、およびｚ値が等価であると見なされる場合、座標Ｍ１は、座標Ｄ１と等価であると見なされ得る。さらに、Ｍ１がＤ１と等価であり、Ｍ２がＤ２と等価であり、Ｍ３がＤ３と等価である場合、建物２１２ｂは、地図３１０ａの一部として地図化された建物２１２ａと比べると、地図３１０ｂを生成する地図再作成中に移動していない、と見なされ得る。
【００４４】
［0060］  シナリオ２００では、Ｍ１は、表記
【数５】
0006496837.tif 000009
によって図４に示された通り、Ｄ１と等価である。図４は、シナリオ２００では、
【数６】
0006496837.tif 000010
かつ、
【数７】
0006496837.tif 000011
であることをさらに表し、コンピューティング装置は、地図３１０ｂの建物２１２ｂが地図３１０ａの当初に地図化された建物２１２ａと比べて地図再作成中に変化しなかった、と判定することができる。さらに、シナリオ２００では、
【数８】
0006496837.tif 000012
【数９】
0006496837.tif 000013
かつ、
【数１０】
0006496837.tif 000014
であるので、地図３１０ｂの建物２２０ｂは、地図再作成中に、地図３１０ａの当初に地図化された建物２２０ａから移動していない、と見なされ得る。図４の地図４１０ａは、建物２１２ａ、２１２ｂが地図３１０ａと比べて地図３１０ｂによってキャンプ場の地図再作成中に変化しなかったので、両方の建物２１２ａおよび２１２ｂを表現するために建物４１２を表し、建物２２０ａ、２２０ｂが地図再作成中に変化しなかったので、両方の建物２２０ａおよび２２０ｂを表現するために、建物４２０を表している。
【００４５】
［0061］  その上、シナリオ２００では、地図３１０ａのテント２２８ａは、Ｄ７が地図３１０ｂのテント２２８ｂのフィーチャー２３０ｂの座標であるとき、
【数１１】
0006496837.tif 000015
である座標Ｍ７を持つフィーチャー２３０ａを含む。さらに、シナリオ２００では、地図３１０ａのテント２３２ａは、Ｄ８およびＤ９が地図３１０ｂのテント２２８ｂのフィーチャー２３４ｂ、２３６ｂのそれぞれの座標であるとき、
【数１２】
0006496837.tif 000016
かつ、
【数１３】
0006496837.tif 000017
であるそれぞれの座標Ｍ８、Ｍ９を有するそれぞれのフィーチャー２３４ａ、２３６ａを含むので、テント２３２ａ、２３２ｂは、地図再作成中に変化しなかった。その結果、図４の地図４１０ａは、テント２２８ａ、２２８ｂとテント２３２ａ、２３２ｂとのそれぞれのペアが地図再作成中に変化しなかったことを反映するためにそれぞれのテント４２８および４３２を含む。
【００４６】
［0062］  地図４１０ａは、テント２３８ａがテント２３８ｂとは異なり、テント２４４ａがテント２４４ｂとは異なり、テント２５０ａがテント２５０ｂとは異なることも表している。コンピューティング装置は、テント２３８ａのフィーチャー２４０ａの座標Ｍ１０がテント２３８ｂのフィーチャー２４０ｂの座標Ｄ１０とは異なること、および、テント２３８ａのフィーチャー２４２ａの座標Ｍ１１がテント２３８ｂのフィーチャー２４２ｂの座標Ｄ１１とは異なる、と判定し得る。その結果、
【数１４】
0006496837.tif 000018
かつ、
【数１５】
0006496837.tif 000019
である、と判定することにより、コンピューティング装置は、テント２３８ａがテント２３８ｂとは異なる、と判定し得る。
【００４７】
［0063］  同様に、コンピューティング装置は、テント２４４ａのフィーチャー２４６ａの座標Ｍ１２がテント２４４ｂのフィーチャー２４６ｂの座標Ｄ１２とは異なり、テント２４４ａのフィーチャー２４８ａの座標Ｍ１３がテント２４４ｂのフィーチャー２４８ｂの座標Ｄ１３とは異なる、と判定し得る。その結果、
【数１６】
0006496837.tif 000020
かつ、
【数１７】
0006496837.tif 000021
である、と判定することにより、コンピューティング装置は、テント２４４ａがテント２４４ｂとは異なる、と判定し得る。
【００４８】
［0064］  その上、コンピューティング装置は、テント２５０ａのフィーチャー２５２ａの座標Ｍ１４がテント２５０ｂのフィーチャー２５２ｂの座標Ｄ１４とは異なること、テント２５０ａのフィーチャー２５４ａの座標Ｍ１５がテント２５０ｂのフィーチャー２５４ｂの座標Ｄ１５とは異なること、テント２５０ａのフィーチャー２５６ａの座標Ｍ１６がテント２５０ｂのフィーチャー２５６ｂの座標Ｄ１６とは異なること、およびテント２５０ａのフィーチャー２５８ａの座標Ｍ１７がテント２５０ｂのフィーチャー２５８ｂの座標Ｄ１７とは異なること、と判定し得る。その結果、
【数１８】
0006496837.tif 000022
【数１９】
0006496837.tif 000023
【数２０】
0006496837.tif 000024
かつ、
【数２１】
0006496837.tif 000025
である、と判定することにより、コンピューティング装置は、テント２５０ａがテント２５０ｂとは異なる、と判定し得る。
【００４９】
［0065］  図４の下部は、地図３１０ａと３１０ｂとの間に移動した領域４３８、４４４、および４５０を表す地図４１０ｂを含む。地図４１０ｂは、各領域４３８、４４４、および４５０の内部のフィーチャーの位置／座標の間の変化を示すために矢印をさらに使用する。たとえば、領域４４４は、地図３１０ａ内のフィーチャー２４６ａが地図３１０ｂ内にフィーチャー２４６ｂとして地図化されたときに左上向きに移動したことを示すために、フィーチャー２４６ａと２４６ｂとの間に矢印４４６を有し、地図３１０ａ内のフィーチャー２４８が地図３１０ｂ内にフィーチャー２４８ｂとして地図化されたときに右および僅かに上向きに移動したことを示すために、フィーチャー２４８ａと２４８ｂとの間に矢印４４８を有する。
【００５０】
［0066］  ２つの地図の間で移動した領域を判定した後、コンピューティング装置は、たとえば、地図３１０ａなどの第１の地図内の１つ以上の移動した領域に対する座標を、たとえば、地図３１０ｂなどの第２の地図内の１つ以上の移動した領域の座標に変換するために使用され得る１つ以上の移動した領域に対する１つ以上の変換を判定し得る。
【００５１】
［0067］  シナリオ２００以外の他のシナリオでは、旧地図座標と新地図座標との間のマッピングは、非一様である可能性がある。たとえば、古い方の地図、たとえば、地図２１０ａもしくは３１０ａ、または新しい方の地図、たとえば、地図２１０ｂもしくは３１０ｂ内のマッピング誤差は、古い方の地図および新しい方の地図が異なるフィーチャー、領域、セマンティックラベルなどを持つようにさせる可能性がある。たとえば、ＳＬＡＭアルゴリズムが古い方および／または新しい方の地図を生成するために使用される場合、ＳＬＡＭ最適化におけるループ閉合誤差または他のＳＬＡＭ関連誤差は、古い方および／または新しい方の地図においてマッピング誤差（群）を生じさせる可能性がある。その上、環境の変化は、旧地図座標と新地図座標との間に非一様なマッピングを引き起こす可能性がある。たとえば、シナリオ２００に関係しているシナリオでは、川２６０ｂは、テント２５０ｂが設置されている領域全体を浸水させるので、テント２５０ｂは、解体される。このとき、浸水した環境について獲得された新地図を古い方の地図２１０ａまたは３１０ａと比較すると、テント２５０ａに関係している座標は、浸水した環境についての新地図から無くなっている。別の実施例として、シナリオ１００に関係している実施例では、倉庫でのトラックに対応する古い方の地図の領域は、新しい方の地図が生成される前に積み込み室を離れ（または到着する）、今度はトラックが見当たらない（または今度はトラックが出現している）ので、非一様な座標の原因となる。多くの他の実施例も考えられる。
【００５２】
［0068］  一部の実施形態では、フィーチャーのグラフを作成し、誤対応を取り除き、旧地図内のフィーチャーと新地図内のフィーチャーとの間で座標マッピングを確立する大域的最適化アルゴリズムが利用され得る。セマンティックラベルに対する座標変換は、このとき、関連フィーチャーおよび／または隣接フィーチャーの一部または全部に対する座標マッピングの関数（たとえば、加重平均）として判定され得る。どのフィーチャーが特定のラベルに対する関連フィーチャーおよび／または隣接フィーチャーであるかの判定は、アルゴリズム的に判定することができ、たとえば、Ｋ＞０であるＫに対して、セマンティックラベルに対する最近傍Ｋ個のフィーチャーを選択し、または、ラベリングの一部として明示的に追加され、たとえば、セマンティックラベルをコーナー、壁、および／または事務室の他のフィーチャーを表現するフィーチャーに関連付けられた「事務室」に対するセマンティックラベルなどの１つ以上のフィーチャーに関連付ける。フィーチャーとセマンティックラベルとを関連付けることは、一定の用途に対する信頼性を改善することができる。たとえば、セマンティックラベル「教室１」は、教室の壁にリンクされることがある。別の実施例として、「外部ネットワークアクセスポイント」のセマンティックラベルは、たとえば、コーナーまたは外部ネットワークアクセスポイントとして機能する装置の他の（視覚的な）フィーチャーなどの地図フィーチャーにリンクされることがある。多くの他の実施例も考えられる。
【００５３】
［0069］  図５Ａは、例示的な実施形態による、例示的なアフィン／剛体変換５００を表している。アフィン変換は、点、直線、平面、および直線上にある点間の距離の比率を保存するが、必ずしも点間の線または距離の間の角度を保存しない関数である。剛体変換は、点間の距離を保存するアフィン変換である。例示的な剛体変換は、並進、回転、および鏡映を含み、例示的なアフィン変換は、剛体変換（すなわち、並進、回転、および鏡映）と、横ずれ変換と、スケール変換と、アフィン変換の合成とを含む。他の変換も考えられる。
【００５４】
［0070］  例示的な剛体（従って、アフィン）変換５００が図５Ａに表されている。図５Ａの一番上で、初期状態５１０が廊下によって接続された三角形の左側に四角形を使って表されている。図５Ａおよび図５Ｂにおいて、三角形は、三角形の左上隅に文字「Ａ」、三角形の右下隅に文字「Ｂ」、および三角形の中心に文字「Ｃ」でラベルが付けられている。図５Ａに表された剛体変換のそれぞれは、初期状態５１０の初期状態に作用する。次に、剛体変換が三角形に適用された後、廊下は、変換後の最終状態に達するように、四角形と変換後の三角形との間に再接続される。
【００５５】
［0071］  並進変換は、それぞれの変換後の、または並進後の点を指定された方向に一定距離だけ動かす変換となり得る。例示的な並進変換５１２は、変換後の（最終）状態５１４の三角形５１６として表された右方に三角形を移動させる。その上、並進後の状態５１４の廊下は、初期状態５１０の廊下と比べて延長されたものとして表されている。
【００５６】
［0072］  回転変換は、それぞれの変換後の、または回転後の点を固定点の周りに動かす変換となり得る。例示的な回転変換５１８は、回転後の（最終）状態５２０の三角形５２２として表された位置に達するように、三角形のラベル「Ｃ」が付けられた点に関して時計回りに９０度この三角形を動かす。回転後の状態５２０の廊下は、初期状態５１０の廊下と比べると同じように表されている。
【００５７】
［0073］  鏡映変換は、変換後の物体の像が初期物体の鏡像であるように、それぞれの変換後の、または鏡映後の初期物体の点を固定線または軸に対して動かす変換となり得る。例示的な鏡映変換５２４は、鏡映後の（最終）状態５２６の三角形５２８として表された位置に達するように、点ＡとＢとの間の三角形の斜線によって形成された軸に対して三角形を動かす。回転後の状態５２６の廊下は、初期状態５１０の廊下と比べて部分的に延長されたものとして表されている。
【００５８】
［0074］  合成剛体変換は、前述の剛体変換のうちの２つ以上、すなわち、並進（群）、回転（群）、および／または鏡映（群）の合成を含み得る。例示的な合成変換５３０は、変換後の（最終）状態５３２の三角形５３４として表された位置に達するように、三角形を右方に移動させ、その後、点Ｃに対して時計回りに９０度この三角形を回転させるために並進変換５１２とその後の回転変換５１８とを含む。変換後の状態５３２の廊下は、初期状態５１０の廊下と比べて延長されたものとして表されている。
【００５９】
［0075］  図５Ｂは、例示的な実施形態による、例示的なアフィン変換５４０を表している。例示的なアフィン変換５４０は、初期状態５１０に基づいて図５Ｂに表されている。図５Ｂに表された例示的なアフィン変換のそれぞれは、初期状態５１０の四角形に作用する。次に、アフィン変換が四角形に適用された後、廊下は、変換後の最終状態に達するために、変換後の四角形の垂直方向の中間点と三角形の垂直方向の中間点との間の方向に再接続される。剛体変換と併せて、例示的なアフィン変換５４０は、横ずれ変換と、スケール変換と、アフィン変換の合成とを含む。他のアフィン変換も考えられる。
【００６０】
［0076］  横ずれ変換は、固定方向と平行な線から符号付き距離に比例する量だけ固定方向に各点を動かす変換となり得る。例示的な横ずれ変換は、固定線が四角形の（Ｘ軸を表現する）下側水平線であり、符号付き距離が四角形内の点のｙ座標に比例する、Ｘ方向の横ずれ変換５４２として表されている。図５Ｂに表されている通り、例示的なＸ方向の横ずれ変換５４２は、Ｘ方向の横ずれ後の四角形５４６を含むＸ方向の横ずれ状態５４４をもたらす。Ｘ方向の横ずれ変換５４２は、初期状態５１０の四角形からＸ方向の横ずれ後の四角形５４６の下側水平線の位置を保存し、初期状態の四角形の上側水平線を右方へ動かし、初期状態の四角形の垂直線を右上に移動し、Ｘ方向の横ずれ後の四角形４５６内の水平方向の辺を接続する斜線に変形させる。その上、Ｘ方向の横ずれ後の状態５４４の廊下は、Ｘ方向の横ずれ後の四角形５４６の右側斜線に合わせるために初期状態５１０の廊下と比べて部分的に短縮されたものとして表されている。
【００６１】
［0077］  別の例示的な横ずれ変換は、固定線が四角形の（Ｙ軸を表現する）左辺であり、符号付き距離が四角形内の点のｘ座標に比例する、Ｙ方向の横ずれ変換５４８として表されている。図５Ｂに表されている通り、例示的なＹ方向の横ずれ変換５４８は、Ｙ方向の横ずれ後の四角形５５２を含んでいるＹ方向の横ずれ後の状態５５０をもたらす。Ｙ方向の横ずれ変換５４８は、初期状態５１０の四角形からＹ方向の横ずれ後の四角形５５２の左垂直線の位置を保存し、初期状態の右垂直線を上向きに動かし、初期状態の四角形の水平辺を右上に動き、Ｙ方向の横ずれ後の四角形５５２の垂直線を接続する斜線に変換させる。その上、Ｙ方向の横ずれ後の状態５５０の廊下は、Ｙ方向の横ずれ後の四角形５５２の垂直方向での中間点の上向き移動に合わせるために下向きおよび右向きに動いているものとして表されている。他の変換も考えられる。
【００６２】
［0078］  スケール変換は、所定の倍率によって１つ以上の方向に１つ以上の物体を拡大または縮小する変換である。一様なスケール変換は、全ての方向に対して１つの倍率を使用するが、非一様なスケール変換は、異なる方向に対して複数の倍率を使用する。スケール変換は、従って、１つの次元における物体に対する座標（たとえば、物体に対するｘ座標、ｙ座標、ｚ座標）を取得することと、この次元に対する倍率を座標に乗じることとを含むことがある。その結果、倍率０は、物体を点まで縮小し、０と１との間にある倍率は、物体を縮小し、倍率１は、物体のサイズを保存し、１より大きい倍率は、物体を拡大するであろう。一部の事例では、負の倍率は認められないが、他の事例では、負の倍率が認められ、（倍率が−１未満、たとえば、−２、−３．．．である場合）物体を鏡映し、拡大することをもたらし、（倍率が０と−１との間にある場合）物体を鏡映し、縮小することをもたらす。
【００６３】
［0079］  例示的な一様なスケール変換は、およそ１．２５という倍率を使用するスケール変換５５４として表され、初期状態５１０の四角形および拡大縮小後の四角形５５８の左下隅は、座標（０，０）に割り当てられるので、拡大縮小後の四角形５５８の左下隅は、スケール変換によって不変である。図５Ｂに表された通り、スケール変換５５６は、初期状態５１０の四角形と比べるとｘ次元およびｙ次元の両方でおよそ２５％ずつ拡大縮小後の四角形５５８を拡大する。その上、拡大縮小後の状態５５０の廊下は、拡大縮小後の四角形５５８の垂直方向における中間点の上向き移動に合わせるために下向きおよび右向きに動いているものとして表されている。他のスケール変換も考えられる。
【００６４】
［0080］  合成アフィン変換は、前述のアフィン変換のうちの２つ以上、すなわち、並進（群）と、回転（群）と、鏡映（群）と、横ずれ変換（群）と、スケール変換（群）との合成を含む。例示的な合成変換５６０は、変換後の（最終）状態５６２の変換後の四角形５６４として表された位置に達するように、およそ０．７５という倍率による初期状態四角形の一様なスケール変換と、拡大縮小後の四角形を右向きに１単位だけ動かす並進とを含む。変換後の状態５６２の廊下は、変換後の四角形５６４の垂直方向における中間点の下向き移動に合わせるために上向きおよび右向きに動いているものとして表されている。
【００６５】
［0081］  図５Ｃは、例示的な実施形態による、シナリオ２００におけるそれぞれの移動領域４３８、４４４、４５０に対し推定された剛体変換５７０、５８０、５９０を描く。シナリオ２００では、コンピューティング装置は、地図３１０ａおよび３１０ｂ内のフィーチャーの座標に基づいてそれぞれの移動領域４３８、４４４、４５０に対するそれぞれの剛体変換５７０、５８０、５９０を判定する。異なる地図内のフィーチャーの座標の間の変換を判定するために、コンピューティング装置は、座標の行列の特異値分解を判定するアルゴリズム、および／または、固有システム計算と、反復閉合点（ＩＣＰ）アルゴリズムと、２Ｄ座標および／または３Ｄ座標を位置合わせする剛体位置合わせアルゴリズムと、２Ｄ座標および／または３Ｄ座標を位置合わせするアフィン位置合わせアルゴリズムと、２Ｄまたは３Ｄ剛体推定アルゴリズムと、２Ｄまたは３Ｄアフィン推定アルゴリズムと、および／または、１つ以上の他のアルゴリズムとを利用し得る。
【００６６】
［0082］  これらのアルゴリズムのうちの多くは、２組の点の集合の間に１つ以上の変換を見つけようとする。たとえば、１組の３Ｄ点の集合は、地図３１０ａからのフィーチャーの座標Ｍ１，Ｍ２．．．Ｍ１７の一部または全部となり、別の３Ｄ点の集合は、地図３１０ａからのフィーチャーの座標Ｄ１，Ｄ２．．．Ｄ１７の一部または全部となり得る。図５Ｃは、たとえば、剛体位置合わせまたは３Ｄ剛体推定アルゴリズムによって判定される通り、移動領域４３８、４４４、および４５０内の座標間の剛体変換の実施例を表している。図５Ｃに表された剛体変換は、領域推定として示され、領域推定Ｔ１  ５７０は、点が地図３１０ａからの座標Ｍ１０およびＭ１１と地図３１０ｂからの座標Ｄ１０およびＤ１１とを含むとして、領域４３８内の点間の変換を推定する。領域推定Ｔ１  ５７０に対して、Ｄ１＝［Ｄ１０  Ｄ１１］かつＭ１＝［Ｍ１０  Ｍ１１］とする。このとき、Ｄ１は、Ｒ１が回転変換を表現する回転行列であり、Ｔ１が並進ベクトルを表現する並進ベクトルであり、Ｎ１が雑音ベクトルであるとして、Ｄ１＝Ｒ１Ｍ１＋Ｔ１＋Ｎ１として推定することができ、Ｎ１＝０である場合、領域推定Ｔ１  ５７０は、無雑音推定と呼ぶことができる。
【００６７】
［0083］  同様に、領域推定Ｔ２  ５８０は、点が地図３１０ａからの座標Ｍ１２およびＭ１３と地図３１０ｂからの座標Ｄ１２およびＤ１３を含むとして、領域４４４内の点間の変換を推定する。領域推定Ｔ２  ５８０に対して、Ｄ２＝［Ｄ１２  Ｄ１３］かつＭ２＝［Ｍ１２  Ｍ１３］とする。このとき、Ｄ２は、Ｒ２が回転行列であり、Ｔ２が並進ベクトルであり、Ｎ２が雑音ベクトルであるとして、Ｄ２＝Ｒ２Ｍ２＋Ｔ２＋Ｎ２として推定することができる。さらに、領域推定Ｔ３  ５９０は、点が地図３１０ａからの座標Ｍ１４、Ｍ１５、Ｍ１６、およびＭ１７と、地図３１０ｂからの座標Ｄ１４、Ｄ１５、Ｄ１６、およびＤ１７とを含むとして、領域４５０内の点間の変換を推定する。領域推定Ｔ３  ５９０に対して、Ｄ３＝［Ｄ１４  Ｄ１５  Ｄ１６  Ｄ１７］かつＭ３＝［Ｍ１４  Ｍ１５  Ｍ１６  Ｍ１７］とする。その結果、Ｄ３は、Ｒ３が回転行列であり、Ｔ３が並進ベクトルであり、Ｎ３が雑音ベクトルであるとして、Ｄ３＝Ｒ３Ｍ３＋Ｔ３＋Ｎ３として推定することができる。一部のシナリオでは、１つの推定が複数の領域に適用され得る。他のシナリオでは、移動領域内の点の変換（または点の位置合わせ）に対する他の推定、たとえば、アフィン変換に基づく推定、他の位置合わせ／点推定手法に基づく推定を使用することができる。
【００６８】
［0084］  図６は、例示的な実施形態による、シナリオ２００の第２の地図へのセマンティックラベルの割り当てを描いている。シナリオ２００は、コンピューティング装置がセマンティックラベルを第２の地図、たとえば、地図３１０ｂに設置することを続行する。第１の地図、たとえば、地図３１０ａと第２の地図との間で固定（不変／不動）領域に対し、コンピューティング装置は、固定領域と固定領域との間にあるセマンティックラベルが第１の地図内のセマンティックラベルのため使用された座標と同じ座標に第２の地図内で設置され得る、と判定することができる。図６の上部は、固定領域および対応するセマンティックラベルが所定の位置にあるが、移動領域および対応するセマンティックラベルが未だ所定の位置にない第２の地図を表現する地図６１０ａを表している。地図６１０ａは、キャンプ場２６０ｂを表現する輪郭四角形および川２６２ｂの流れを有する第２の地図も表している。
【００６９】
［0085］  セマンティックラベルを固定領域内に設置する実施例のため、第１の地図のテント２２８ａおよび第２の地図のテント２２８ｂのフィーチャーの座標は、変化しなかった、すなわち、テント２２８ａ（または２２８ｂ）によって表現された領域は、固定領域である。従って、コンピューティング装置は、セマンティックラベル「ウルフ６〜９」が第１の地図のテント２２８ａ内の座標Ｌ７に設置されたように、セマンティックラベル「ウルフ６〜９」を地図６１０ａのテント２２８ｂ内の座標Ｌ７に設置することができる。同様に、コンピューティング装置は、セマンティックラベル「ウルフ１０〜１２」がテント２２８ａの座標Ｌ８に設置されたように、地図６１０ａのテント２２８ｂ内の座標Ｌ８にセマンティックラベル「ウルフ１０〜１２」を設置することができる。
【００７０】
［0086］  その上、たとえば、セマンティックラベル「スケーリング壁」などの領域に関連付けられていないセマンティックラベルは、第１のマップ内で使用された座標と同じ第２の地図内の座標に設置され得る。第２のシナリオでは、セマンティックラベル「スケーリング壁」は、地図６１０ａに表された通り、第２の地図内の座標Ｌ１２に設置される。他のシナリオでは、１つ以上の関連付けられていないセマンティックラベルは、第２の地図から省くこと、または、１つ以上の関連付けられていないセマンティックラベルを同じ座標に設置することがこれらの他のシナリオにおいて第２の地図に対して実行不可能である場合、第２の地図に手動で設置することが可能である。
【００７１】
［0087］  第１の地図と第２の地図との間の移動領域に対して、コンピューティング装置は、第２の地図内の対応するセマンティックラベルに対する座標を判定するために、領域推定を第１の地図内のセマンティックラベルの座標に適用できる。たとえば、セマンティックラベル「リードウルフ」は、第１の地図のテント２３８ａの座標Ｌ１１にある。テント２３８ａは、領域４３８の一部であり、この領域は、Ｄ１が第２の地図内の１つ以上の点を表現し、Ｍ１が第１の地図内の１つ以上の点を表現し、Ｒ１、Ｔ１、およびＮ１が図５Ｃに関連して前述された通りであるとき、Ｄ１＝Ｒ１＊Ｍ１＋Ｔ１＋Ｎ１からなる対応する領域推定Ｔ１を有する。Ｔ１（Ｌ１１）が第２の地図内の座標Ｌ１１の領域推定である、すなわち、Ｔ１（Ｌ１１）＝Ｒ１＊Ｌ１１＋Ｔ１＋Ｎ１であるとする。このとき、コンピューティング装置は、テント２３８ｂ内の座標Ｔ１（Ｌ１１）にセマンティックラベル「リードウルフ」を置くことができる。
【００７２】
［0088］  図６の下部にある地図６１０ｂは、移動領域および固定領域の両方と、対応するサマンティックラベルとを所定の位置に含んでいる第２の地図を表している。地図６１０ｂは、コンピューティング装置が第２の地図のテント２３８ｂの内部の座標Ｔ１（Ｌ１１）にセマンティックラベル「リードウルフ」を設置したことを表している。セマンティックラベル「リードホーク」を設置するために、コンピューティング装置は、セマンティックラベル「リードホーク」が移動領域４４４のテント２４４ａの内部にある、と判定することができ、従って、領域４４４が対応する領域推定Ｔ２  ５８０を有するので、テント２３８ａ内のセマンティックラベル「リードホーク」の座標Ｌ１３は、Ｔ２（Ｌ１３）が領域推定Ｔ２  ５８０によって変換された通りのＬ１３の座標を表現し、Ｒ２、Ｔ２、およびＮ２が図５Ｃに関連して前述された通りであるとき、Ｔ２（Ｌ１３）＝Ｒ２＊Ｌ１３＋Ｔ２＋Ｎ２に対応する、と判定することができる。
【００７３】
［0089］  シナリオ２００では、テント２４４ａは、テント２４４ｂの位置に達するように、反時計回りにおよそ９０度回転させられた。地図６１０ｂは、セマンティックラベルが１点または座標Ｌ１３の集合だけに関連付けられているので、回転されているままの「リードホーク」に対するセマンティックラベルを表していない。他のシナリオでは、セマンティックラベルは、複数の点／座標の集合に関連付けることができ、たとえば、四角形状のセマンティックラベルに対して、たとえば、セマンティックラベルの左上側隅に対する座標の第１の点／座標の集合、および、セマンティックラベルの右下側隅に対する第２の点／座標の集合などの２点を利用することができる。従って、移動領域が回転させられた場合、移動領域に適用できる対応する変換も同様に移動領域内のセマンティックラベルの点／座標の集合を回転させ、その結果、移動領域の回転に合わせてセマンティックラベルの回転を生じさせるべきである。
【００７４】
［0090］  テント２５０ｂの内部にセマンティックラベルを設置するために、コンピューティング装置は、テント２５０ｂが移動領域４５０の内部にある、および、領域４５０が対応する領域推定Ｔ３  ５９０を有するので、テント２５０ａのセマンティック領域の座標Ｌ１４、Ｌ１５、Ｌ１６、およびＬ１７は、テント２５０ｂに対する関連座標の領域推定Ｔ３  ５９０による変換に対応するものである、と判定することができる。テント２５０ａ内の座標Ｌ１４を有するセマンティックラベル「水上スポーツ」に対して、テント２５０ｂ内のセマンティックラベル「水上スポーツ」に対する対応する座標は、Ｔ３（Ｌ１４）であり、但し、Ｔ３（Ｌ１４）が領域推定Ｒ３  ５９０によって変換された通りのＬ１４の座標を表現し、Ｒ３、Ｔ３、およびＮ３は、図５Ｃに関連して前述された通りであるとき、Ｔ３（Ｌ１４）＝Ｒ３＊Ｌ１４＋Ｔ３＋Ｎ３である。その上、テント２５０ａ内のそれぞれの座標Ｌ１５、Ｌ１６、およびＬ１７を有するそれぞれのセマンティックラベル「陸上スポーツ」、「アーツ」、および「キャンプ用品」に対して、テント２５０ｂ内のそれぞれのセマンティックラベル「陸上スポーツ」、「アート」、および「キャンプ用品」に対する対応する座標は、それぞれ、Ｔ３（Ｌ１５）、Ｔ３（Ｌ１６）、およびＴ３（Ｌ１７）であり、但し、Ｔ３（Ｌ１５）、Ｔ３（Ｌ１６）、およびＴ３（Ｌ１７）が、領域Ｒ３  ５９０によってそれぞれ変換された通りのＬ１５、Ｌ１６、およびＬ１７の座標をそれぞれ表現し、Ｒ３、Ｔ３、およびＮ３が図５Ｃに関連して前述された通りであるとき、Ｔ３（Ｌ１５）＝Ｒ３＊Ｌ１５＋Ｔ３＋Ｎ３、Ｔ３（Ｌ１６）＝Ｒ３＊Ｌ１６＋Ｔ３＋Ｎ３、Ｔ３（Ｌ１７）＝Ｒ３＊Ｌ１７＋Ｔ３＋Ｎ３である。
【００７５】
［0091］  コンピューティング装置が構造物およびセマンティックラベルの全部を地図６１０ｂに設置した時点で、シナリオ２００を終わらせることができる。一部の実施形態では、コンピューティング装置は、地図６１０ｂ（またはシナリオ２００の他の地図（群））を出力および／または保存すること、たとえば、地図６１０ｂを表示し、地図６１０ｂを印刷し、地図６１０ｂを伝送することができる。他の実施形態では、コンピューティング装置は、たとえば、コンピューティング装置（群）／ロボット装置（群）が地図６１０ｂによって地図化された環境を走行できるようにするために、コンピューティング装置（群）／ロボット（群）が地図６１０ｂによって地図化された環境の内部のフィーチャー、物体、および位置を測位、取得、地図化、操作、および／またはそうでなければ相互作用するのを支援するために、１台以上のコンピューティング装置／ロボット装置が使用するための地図６１０ｂを提供することができる。特定の実施形態では、コンピューティング装置は、１台以上のコンピューティング装置／ロボット装置のうちのロボットとなり得る。
【００７６】
［0092］例示的なロボット装置
前述のシナリオ１００および／または２００に関連した実施形態を含む例示的な実施形態は、倉庫環境の内部に配備されたロボット部隊に関与することがある。より具体的には、固定コンポーネントおよび移動コンポーネントの組み合わせがボックス、荷物、またはその他の種類の物体の自動処理を容易にするために環境の内部に配備されることがある。例示的なシステムは、たとえば、貯蔵コンテナへの、配送車両との間のボックスおよび／またはその他の物体の自動積み降ろしに関与することがある。一部の例示的な実施形態では、ボックスまたは物体は、自動的に整頓され、パレットに置かれることがある。実施例の範囲内で、トランクに積み降ろしする作業、および／または、倉庫の内部に貯蔵しやすくするため、および／または、倉庫との間の運搬のため物体からパレットを作成する作業の自動化は、ある程度の数の産業上およびビジネス上の利点をもたらすことがある。
【００７７】
［0093］  様々な実施形態によれば、倉庫での配送トラックへの積み降ろしの作業、および／または、パレットを作成する作業の自動化は、物体を移動させる、または、他の機能を実行するために１台以上の異なる種類のロボット装置の配備を含み得る。一部の実施形態では、ロボット装置の一部は、車輪付きの台座、ホロノミックな台座（たとえば、どの方向へも移動できる台座）、または、天井、壁、もしくは床上のレールと連結することにより移動型にすることができる。さらなる実施形態では、ロボット装置の一部は、環境の内部に固定されることもある。たとえば、ロボットマニピュレータは、倉庫の内部の様々な選択された位置にある上昇した台座に配置することができる。
【００７８】
［0094］  本文書において使用される通り、用語「倉庫」は、ボックスまたは物体がロボット装置によって操作され、処理され、および／または貯蔵される何らかの物理的環境を指すことがある。一部の実施例では、倉庫は、たとえば、物体のパレットを貯蔵するパレットラックなどのある種の固定コンポーネントを追加的に収容している単独の物理的建物または構造物でもよい。他の実施例では、一部の固定コンポーネントが物体の処理前または処理中に環境の内部に据え付けられる、またはそうでなければ配置されることがある。さらなる実施例では、倉庫は、複数の別個の物理的構造物を含むことがあり、および／または、物理的構造物によって占められていない物理的空間も含むことがある。
【００７９】
［0095］  さらに、用語「ボックス」は、パレットに置くこと、または、トラックもしくはコンテナに積み降ろしすることができる何らかの物体または物品を指すことがある。たとえば、直方体に加えて、「ボックス」は、缶、ドラム缶、タイヤまたはその他の「単純な」形をした幾何学的物品を指すことが可能である。その上、「ボックス」は、運搬または貯蔵のため１つ以上の物品を収容することがある手提げ袋、瓶、またはその他の種類の容器を指すことがある。たとえば、プラスチック製貯蔵手提げ袋、ガラス繊維製トレイ、または鋼製瓶は、倉庫の内部でロボットによって移動させられる、または、そうでなければ操作されることがある。本文書における実施例は、ボックス以外の物体にも、様々なサイズおよび形の物体にも適用されることもある。その上、「積み込み」および「荷下ろし」は、それぞれ、他方を意味するために使用され得る。たとえば、実施例がトラックに積み込む方法について説明する場合、実質的に同じ方法がトラックから荷下ろしするためにも使用できることが理解されるべきである。本文書において使用された通り、「パレットに載せる」は、ボックスをパレットに積み込み、パレット上のボックスがパレットに載ったまま貯蔵または運搬され得るようにボックスを積み重ねるもしくは配置することを指す。加えて、用語「パレットに載せる」および「パレットから降ろす」は、それぞれ、他方を意味するために使用され得る。
【００８０】
［0096］  実施例の範囲内で、異種倉庫ロボット部隊は、ある程度の数の異なる用途のため使用されることがある。１つの考えられる用途は、ケースが開けられ、ケースからの個々の物品が個々の注文を満たすためにボックスの内部に梱包される（たとえば、個々の顧客のための）受注処理を含む。別の考えられる用途は、（たとえば、店舗または他の倉庫への）割り振りを含み、この用途では、店舗へ出荷すべき様々な種類の製品のグループを含んでいる混合パレットが構成されることがある。さらなる考えられる用途は、何も貯蔵することなしに出荷用コンテナ間の運搬に関与するクロスドッキングを含む（たとえば、物品は、４台の４０フィート型トレーラーから移され、３台の軽量型トラクタートレーラーに積み込まれることがあり、さらにパレット化されることもあり得る）。多数の他の用途も考えられる。
【００８１】
［0097］  図７Ａは、例示的な実施形態による、倉庫環境の内部のロボット部隊を描いている。より具体的には、様々な種類のロボット装置が倉庫環境の内部の物品、物体、またはボックスの処理に関連したタスクを行うために協力するように制御されることがある異種ロボット部隊７００を形成することがある。異なるロボット装置のある一定の例示的な種類および台数は、ここでは、例示の目的のため表されているが、ロボット部隊７００は、より多数またはより少数のロボット装置を利用することがあり、ここに表されたある一定の種類を省くことがあり、明確に表されていない他の種類のロボット装置を含むこともある。その上、倉庫環境は、ここでは、ある一定の種類の固定コンポーネントおよび構造物を使って表されているが、その他の種類、個数、および配置の固定コンポーネントおよび構造物が他の実施例において使用されることもある。
【００８２】
［0098］  ロボット部隊７００の内部に表された１つの例示的な種類のロボット装置は、倉庫の内部である場所から別の場所に個々の荷物、ケース、または手提げ袋を運搬する機能を果たすことがある相対的に小型の車輪付き移動装置でもよい無人搬送車（ＡＧＶ）７１２である。別の例示的な種類のロボット装置は、無人フォークトラック７１４、すなわち、ボックスのパレットを運搬するおよび／またはボックスのパレットを持ち上げるために（たとえば、パレットを貯蔵用ラックに載せるために）使用されることがあるフォークリフト付き移動装置である。さらなる例示的な種類のロボット装置は、ロボットトラック積み込み装置／荷下ろし装置７１６、すなわち、ロボットマニピュレータ、および、トラックもしくは他の車両へのボックスの積み込み／荷下ろしを容易にするための光学センサなどの他のコンポーネントが付いている移動装置である。たとえば、ロボットトラック積み降ろし装置７１６は、ボックスを倉庫に隣接して駐車されることがある配送トラック７１８に積み込むために使用されることがある。一部の実施例では、（たとえば、荷物を別の倉庫へ配送するための）配送トラック７１８の移動は、ロボット部隊の内部のロボット装置と連動させられることもある。
【００８３】
［0099］  ここで例示されていない他の種類の移動装置が併せて、または、代わりに組み込まれることもある。一部の実施例では、１台以上のロボット装置は、地面に接した車輪以外に異なる運搬モードを使用することがある。たとえば、１台以上のロボット装置は、飛行部隊（たとえば、クワッドコプタ）でもよく、たとえば、物体の移動または環境のセンサデータの収集などのタスクのため使用されることがある。
【００８４】
［0100］  さらなる実施例では、ロボット部隊７００は、倉庫の内部に配置されることがある様々な固定コンポーネントも含むことがある。一部の実施例では、１台以上の固定ロボット装置がボックスを移動させる、または、そうでなければ処理するために使用されることがある。たとえば、台座ロボット７２２は、倉庫の内部の１階に固定された台座上に持ち上げられたロボットアームを含むことがある。台座ロボット７２２は、他のロボットとの間でボックスを割り振るために、および／または、ボックスのパレットを積み重ね、そして、取り出すために制御されることがある。たとえば、台座ロボット７２２は、隣接するパレット７４０からボックスを持ち上げて移動させ、ボックスを倉庫の内部の他の場所への運搬のため個々のＡＧＶ  ７１２に割り振る。
【００８５】
［0101］  さらなる実施例では、ロボット部隊７００は、倉庫空間の内部に配置されたさらなる固定コンポーネントを利用することがある。たとえば、高密度貯蔵ラック７２４が倉庫内部にパレットおよび／または物体を貯蔵するために使用されることがある。貯蔵ラック７２４は、無人フォークトラック７１４などのロボット部隊の中の１台以上のロボット装置との相互作用を容易にするために設計され、配置されることがある。さらなる実施例では、ある一定の地上空間が、併せてまたは代わりに、パレットまたはボックスの貯蔵のため選択され、使用されることがある。たとえば、パレット７３０は、パレットがロボット装置のうちの１台以上によって持ち上げられ、割り振られる、またはそうでなければ処理されるようにするために、ある一定の時間に選択された場所で倉庫環境の内部に配置されることがある。
【００８６】
［0102］  図７Ｂは、例示的な実施形態による、ロボット倉庫部隊７００のコンポーネントを例として説明する機能ブロック図である。ロボット部隊７００は、たとえば、ＡＧＶ  ７１２、無人フォークリフト７１４、ロボットトラック積み込み／荷下ろし装置７１６、および配送トラック７１８などの様々な移動コンポーネントのうちの１台以上を含むことがあり得る。ロボット部隊７００は、たとえば、台座ロボット７２２、密集貯蔵コンテナ７２４、およびバッテリ交換／充電ステーション７２６などの倉庫の内部またはその他の環境に配置された１台以上の固定コンポーネントをさらに含むことがある。さらなる実施例では、図７Ｂの中に例示されたものとは異なる台数および種類のコンポーネントが部隊の内部に組み込まれることがあり、ある一定の種類は省かれることがあり、さらなる機能および／または物理的コンポーネントが図７Ａおよび図７Ｂに例示された実施例に追加されることもある。別個のコンポーネントのアクションを連動させるために、リモートクラウドベースサーバシステムなどの包括的制御システム７５０がシステムコンポーネントの一部もしくは全部、および／または、個々のコンポーネントの別個のローカル制御システムと（たとえば、無線通信を介して）通信することがある。
【００８７】
［0103］  実施例の範囲内で、固定コンポーネント７２０のうちのいくつかは、ロボット部隊７００の残りの部分の配備に先立って据え付けられることがある。一部の実施例では、１台以上の移動ロボットが、たとえば、台座ロボット７２２またはバッテリ交換ステーション７２６などのある一定の固定コンポーネント７２０の配置を判定する前に空間の地図を作成するために運び込まれることがある。地図情報が利用できるようになると、システムは、（たとえば、シミュレーションを動かすことによって）利用可能な空間の内部に固定コンポーネントをどのようにレイアウトするかを決定することがある。ある一定の事例では、レイアウトは、必要な固定コンポーネントの台数および／またはこれらのコンポーネントによって使用される空間容量を最小限に抑えるように選ばれることがある。固定コンポーネント７２０および移動コンポーネント７１０は、別々の段階で、または、全部一度に配備されることがある。さらなる実施例では、移動コンポーネント７１０のうちのいくつかは、特定の期間中に限り、または、特定のタスクを完了するためだけに運び込まれることがある。
【００８８】
［0104］  一部の実施例では、包括的制御システム７５０は、部隊７００の内部の異なるロボット装置にタスクを割り当てる中央計画システムを含むことがある。中央計画システムは、どの装置がどのタスクをいつの時点に完了するかを判定するために様々なスケジューリングアルゴリズムを採用することがある。たとえば、個々のロボットが異なるタスクに入札するオークション型システムが使用されることがあり、中央計画システムは、全体的なコストを最小限に抑えるためにタスクをロボットに割り当てることがある。別の実施例では、中央計画システムは、たとえば、時間、空間、またはエネルギー利用などの１つ以上の種々の資源の全域で最適化することがある。さらなる実施例では、計画またはスケジューリングシステムは、ボックスピッキング、包装、または貯蔵の特定の幾何特性および物理特性の態様も組み込むことがある。
【００８９】
［0105］  計画制御は、個々のシステムコンポーネントの全域に割り振られることもある。たとえば、包括的制御システム７５０は、包括的システム計画に従って命令を発行することがあり、個々のシステムコンポーネントは、別個の局所的計画に従って動作することもある。その上、様々なレベルの細部が包括的計画の内部に組み込まれ、他の態様は、個々のロボット装置が局所的に計画するために残されることがある。たとえば、移動ロボット装置は、包括的プランナによって目的地を割り当てられることがあるが、これらの目的地に到達するための経路全部は、局所的に計画され、または、修正されることがある。
【００９０】
［0106］  さらなる実施例では、中央計画システムは、ロボット部隊７００の内部のロボットの機能を連動させるために個々のロボット装置上の局所視覚と併せて使用されることがある。たとえば、中央計画システムは、ロボットが進む必要がある場所にロボットを比較的近付けるために使用されることがある。しかしながら、中央計画システムがロボットにミリメートル精度で命令することは、ロボットがレールにボルトで留められるか、または、他の被測定コンポーネントがロボット位置を精密に制御するために使用されない限り難しいことがある。個々のロボット装置に対する局所視覚および計画は、その結果、異なるロボット装置の間の融通性を可能にするために使用されることがある。全体的プランナは、ロボットを目的地に近付けるために使用されることがあり、この場所でロボットの局所視覚が引き継ぐことがある。一部の実施例では、ほとんどのロボット機能は、ロボットを目的地に比較的近付けるために位置制御されることがあり、その後、視覚およびハンドシェイクが局所制御のため必要に応じて使用されることがある。
【００９１】
［0107］  さらなる実施例では、視覚的ハンドシェイクは、２台のロボットがＡＲタグまたは他の特性を用いて互いを識別し、部隊７００の内部で共同作業を行えるようにする。さらなる実施例では、物品（たとえば、出荷されるべき荷物）は、併せてまたは代わりに、視覚タグが設けられることがあり、この視覚タグは、局所視覚制御を使用して物品に作業を行うためにロボット装置によって使用されることがある。具体的には、タグは、ロボット装置による物品の操作を容易にするために使用されることがある。たとえば、パレット上の特定の位置に付けられた１つ以上のタグは、どこでまたはどのようにパレットを持ち上げるかをフォークリフトに知らせるために使用されることがある。
【００９２】
［0108］  さらなる実施例では、固定および／または移動コンポーネントに対する配備および／または計画戦略は、時間をかけて最適化されることがある。たとえば、クラウドベースサーバシステムは、部隊の内部の個々のロボットからおよび／または外部源からデータおよび情報を組み込むことがある。戦略は、その結果、部隊がより小さい空間、より短い時間、より少ない電力、より少ない電気を使用できるように、または、他の変数の全域にわたって最適化できるように時間をかけて改良されることがある。一部の実施例では、最適化は、場合によっては、ロボット部隊を含む他の倉庫および／または従来型の倉庫を含んでいる複数の倉庫に及ぶことがある。たとえば、包括的制御システム７５０は、配送車両および設備間の輸送時間に関する情報を中央計画に組み込むことがある。
【００９３】
［0109］  一部の実施例では、中央計画システムは、たとえば、ロボットが立ち往生したとき、または、荷物がある場所に落とされ、どこかに紛失したときなどに、時には失敗することがある。局所ロボット視覚は、それ故に、中央プランナが失敗した事例を取り扱うために冗長性を盛り込むことによりロバスト性を提供する。たとえば、自動パレットジャッキが通過し、物体を識別したとき、パレットジャッキは、情報をリモートクラウドベースサーバシステムに送り込むことがある。このような情報は、中央計画におけるエラーを修復する、ロボット装置を測位するのに役立てる、または、紛失した物体を識別するために使用されることがある。
【００９４】
［0110］  さらなる実施例では、中央計画システムは、ロボット部隊７００とロボット装置による処理を受ける物体とを収容している物理的環境の地図を動的に更新することがある。一部の実施例では、地図は、動的物体（たとえば、移動中のロボット、およびロボットによって動かされた荷物）に関する情報を用いて継続的に更新されることがある。さらなる実施例では、動的地図は、倉庫の内部の（または複数の倉庫の全域にわたる）コンポーネントの現在の構成および配置の両方についての情報に加えて、近いうちに何が予想されるかに関する情報を含むことがあり得る。たとえば、地図は、ロボット間で活動を連動させるために使用されることがある移動中のロボットの現在の位置および将来におけるロボットの予想位置を表すことがあり得る。処理を受ける物品の現在の位置に加えて物品の予想される将来位置（たとえば、現在および物品が出荷されることが予想されるときに物品がある場所）を表すこともあり得る。
【００９５】
［0111］  さらなる実施例では、ロボットの一部または全部は、作業の中の異なる時点に物体上のラベルをスキャンすることがある。スキャンは、コンポーネントおよび物品の発見または追跡を容易にするために、個々のコンポーネントまたは特定の物品に貼り付けられることがある視覚タグを探すために使用されることがある。このスキャンは、物品がロボットによって操作される、または、運搬されているときに絶えず動き回っている物品の痕跡を生じさせることがある。潜在的利益は、供給者側と消費者側の両方に分かり易さが追加されることである。供給者側で、在庫の現在の位置に関する情報が過剰在庫を回避するために、および／または、需要を予想して物品もしくは物品のパレットを異なる位置もしくは倉庫に移動させるために使用されることがある。消費者側で、特定の物品の現在の位置に関する情報は、特定の荷物が配送されるときを向上した精度で判定するために使用されることがある。
【００９６】
［0112］  一部の実施例では、ロボット部隊７００の内部の移動コンポーネント７１０の一部または全部は、複数のバッテリ充電器を備えたバッテリ交換ステーション７２６から充電済みバッテリを定期的に受け取ることがある。具体的には、ステーション７２６は、移動ロボットの旧バッテリを充電済みバッテリと交換することがあり、このことは、ロボットが止まり、バッテリが充電するのを待機する必要性をなくすことがある。バッテリ交換ステーション７２６は、たとえば、ロボットアームなどのロボットマニピュレータを備えることがある。ロボットマニピュレータは、個々の移動ロボットからバッテリを取り外し、バッテリを利用可能なバッテリ充電器に取り付けることがある。ロボットマニピュレータは、次に、取り外されたバッテリを交換するために、ステーション７２６に位置している充電済みバッテリを移動ロボットに移す。たとえば、バッテリが消耗しているＡＧＶ  ７１２は、ロボットアームがＡＧＶ  ７１２からバッテリを取り出し、バッテリを充電器に差し込み、ＡＧＶ  ７１２に新しいバッテリを与えるバッテリ交換ステーション７２６へ移動するように制御されることがある。
【００９７】
［0113］  さらなる実施例では、バッテリ交換は、中央計画システムによって予定を立てられることがある。たとえば、個々の移動ロボットは、これらのバッテリ充電状態を監視するように構成されることがある。ロボットは、これらのバッテリの状態を示す情報を中央計画システムに定期的に送信することがある。この情報は、次に、必要に応じて、または、都合に応じて、部隊内部の個々のロボットのためのバッテリ交換を予定に入れるために中央計画システムによって使用されることがある。
【００９８】
［0114］  一部の実施例では、部隊７００は、様々な種類のバッテリを使用するある程度の数の様々な種類の移動コンポーネント７１０を含むことがある。バッテリ交換ステーション７２６は、それ故に、様々な種類のバッテリおよび／または移動ロボットのための様々な種類のバッテリ充電器を備えることがある。バッテリ交換ステーション７２６は、様々な種類のロボットのためバッテリを交換することができるロボットマニピュレータも備えることがある。一部の実施例では、移動ロボットは、複数のバッテリを収容するバッテリコンテナを有することがある。たとえば、パレットジャッキなどの無人フォークトラック７１４は、３台もしくは４台のバッテリ付きの鋼製バケツを有することがある。ステーション７２６にあるロボットアームは、バッテリのバケツ全体を取り出し、個々のバッテリをステーション７２６の棚に載っているバッテリ充電器に取り付けるように構成されることがある。ロボットアームは、その結果、旧バッテリを置き換えるために充電済みバッテリを見つけ、バケツをパレットジャッキに再び差し込む前にこれらのバッテリをバケツに戻すことがある。
【００９９】
［0115］  さらなる実施例では、包括的制御システム７５０および／またはバッテリ交換ステーション７２６の別個の制御システムは、バッテリ管理戦略を自動化することもある。たとえば、各バッテリは、システムが個々のバッテリを識別できるようにバーコードまたはその他の識別用マークを有することがある。バッテリ交換ステーション７２６の制御システムは、（たとえば、水または空のバッテリを完全に交換すべきときを判定するために）個々のバッテリが充電された回数を計数することがある。制御システムは、どのロボット装置内でどのバッテリが時間を経過したか、過去にステーション７２６においてバッテリを充電するためにどのくらい時間を要したか、および効率的なバッテリ管理のため関連性のあるその他の特性を追跡することもある。このバッテリ使用情報は、ロボットマニピュレータが特定の移動ロボットに与えるバッテリを選択するために制御システムによって使用されることがある。
【０１００】
［0116］  さらなる実施例では、バッテリ交換ステーション７２６は、一部の事例では、人間オペレータに関与することもある。たとえば、ステーション７２６は、人が手動によるバッテリ交換を安全に行うことができる、または、必要に応じて部隊７００への配備のため新しいバッテリをステーションに届けることができる道具を含むことがあり得る。
【０１０１】
［0117］  図８Ａ〜８Ｄは、ロボット倉庫部隊の内部に組み込まれることがあるロボット装置のいくつかの実施例を例として説明する。ここで例として説明されたロボット装置とは形に違いがあるその他のロボット装置が他の種類のロボット装置と共に組み込まれることもある。
【０１０２】
［0118］  図８Ａは、例示的な実施形態による、ロボットトラック積み降ろし装置を例として説明する。一部の実施例では、ロボットトラック積み降ろし装置は、１台以上のセンサと、１台以上のコンピュータと、１台以上のロボットアームとを含むことがある。センサは、視覚データおよび／または３次元（３Ｄ）奥行き情報を取り込むために１つ以上の物体を含んでいる環境をスキャンすることがある。スキャンからのデータは、次に、デジタル環境再構成を行うためにより広いエリアの表現に統合されることがある。追加の実施例では、再構成された環境は、その結果、持ち上げるべき物体を識別するため、物体のピック位置を判定するため、および／または、１台以上のロボットアームおよび／または移動台座のための衝突のない軌道を計画するため使用されることがある。
【０１０３】
［0119］  ロボットトラック積み降ろし装置８００は、環境内部の物体を把持する把持コンポーネント８０４付きのロボットアーム８０２を含むことがある。ロボットアーム８０２は、トラックまたはその他のコンテナに積み降ろしをするために、ボックスを持ち上げて置く把持コンポーネント８０４を使用することがある。トラック積み降ろし装置８００は、移動用の車輪８１４付きの移動カート８１２を含むこともある。車輪８１４は、カート８１２が２段階の自由度で移動することができるようにするホロノミックな車輪でもよい。その上、巻き付け型フロントコンベヤベルト８１０は、ホロノミックなカート８１２に組み込まれることがある。一部の実施例では、巻き付け型フロントコンベヤベルトは、トラック積み降ろし装置８００が把持装置８０４を回転させる必要なしにボックスをトラックコンテナもしくはパレットから荷下ろしする、または、トラックコンテナもしくはパレットに積み込むことができるようにする。
【０１０４】
［0120］  さらなる実施例では、ロボットトラック積み降ろし装置８００の検知システムは、ロボットアーム８０２に取り付けられた、たとえば、センサ８０６およびセンサ８０８などの１台以上のセンサを使用することがあり、これらのセンサは、ロボットアーム８０２が移動しているときに環境に関する情報を検出する２次元（２Ｄ）センサおよび／または３次元奥行きセンサでもよい。検知システムは、ボックスを効率的に掴み、動かすために制御システム（たとえば、移動計画ソフトウェアを動かすコンピューティング装置）によって使用され得る環境に関する情報を判定することがある。制御システムは、装置に位置することがあり得る、または、装置とリモート通信していることがあり得る。さらなる実施例では、移動台座に固定式マウント付きの、たとえば、前方走行センサ８１６および後方走行センサ８１８などの１台以上の２Ｄまたは３Ｄセンサと、たとえば、センサ８０６およびセンサ８０８などのロボットアームに搭載された１台以上のセンサとからのスキャン結果は、側面、床、天井、および／またはトラックもしくはその他のコンテナの前方壁などの環境のデジタルモデルを構築するために統合されることがある。この情報を使用して、制御システムは、移動台座を荷下ろしもしくは積み込みのための位置に誘導することがある。
【０１０５】
［0121］  さらなる実施例では、ロボットアーム８０２は、たとえば、デジタル吸引グリッド型把持装置などの把持装置８０４を備えることがある。このような実施形態では、把持装置は、リモートセンシング、もしくは、一点距離測定によって、および／または、吸引が達成されたか否かを判定することによって、オンまたはオフに切り替えることができる１つ以上の吸引バルブを含むことがある。さらなる実施例では、デジタル吸引グリッド把持装置は、関節型延長部を含むことがある。一部の実施形態では、レオロジー流体または粉末を用いて吸引把持装置を作動させる可能性は、高い曲率を持つ物体の追加の把持を可能にすることがある。
【０１０６】
［0122］  トラック積み降ろし装置８００は、電力で動く電気モータでもよい、または、たとえば、ガスベースの燃料もしくは太陽光発電などのある程度の数の異なるエネルギー源によって動かされてもよいモータをさらに含むことがある。その上、モータは、電源から電力を受け取るように構成されることがある。電源は、ロボットシステムの様々なコンポーネントに給電することがあり、たとえば、充電式リチウムイオンまたは鉛酸バッテリを表すことがあり得る。例示的な実施形態では、このようなバッテリの１つ以上のバンクは、電力を供給するように構成されることがあり得る。その他の電源材料および種類も考えられる。
【０１０７】
［0123］  図８Ｂは、例示的な実施形態による、台座に載せられたロボットアームを例として説明する。より具体的には、台座ロボット８２０は、倉庫環境などの環境内部に配置され、届く範囲内の物体を持ち上げる、動かす、および／またはそうでなければ操作することがある。一部の実施例では、台座ロボット８２０は、動作させるためにバッテリを必要とすることなしに重労働に特化されることがある。台座ロボット８２０は、ロボットトラック積み降ろし装置８００に関連して説明されたロボットマニピュレータ８０２および把持装置８０４と同じ種類であり得るエンドエフェクタ搭載型把持装置８２４付きのロボットアーム８２２を含むことがある。ロボットアーム８２２は、たとえば、異なる移動ロボットの間で荷物を振り分けるなどのために、ロボットアーム８２２が隣接する荷物を容易に持ち上げ、動かすことができるようにする台座８２６に搭載されることがある。一部の実施例では、ロボットアーム８２２は、ボックスのパレットを積むおよび／または降ろすためにも動作可能である。さらなる実施例では、台座８２６は、制御システムがロボットアーム８２２の高さを変えることができるようにするためにアクチュエータを含むことがある。
【０１０８】
［0124］  さらなる実施例では、台座ロボット８２０の下面は、パレット形の構造物でもよい。たとえば、下面は、倉庫内部での物体運搬または貯蔵のため使用される他のパレットとおおよそ同等である寸法および形状を有することがある。台座ロボット８２０の下面をパレットとして成形することにより、台座ロボット８２０は、パレットジャッキまたは異なる種類の無人フォークトラックによって、持ち上げられ、倉庫環境内部の異なる位置へ動かされることがある。たとえば、配送トラックが倉庫の特定のドッキングポートに到着したとき、台座ロボット８２０は、配送トラックとの間で行き来するボックスをより効率的に処理するために、持ち上げられ、より配送トラックに近い位置へ動かされることがある。
【０１０９】
［0125］  さらなる実施例では、台座ロボット８２０は、台座ロボット８２０の近くの範囲にあるボックスおよび／または他のロボット装置を識別するために１台以上の視覚センサをさらに含むことがある。たとえば、台座ロボット８２０の制御システムまたは包括的制御システムは、台座ロボット８２０のロボットアーム８２２および把持装置８２４が持ち上げるまたは操作するボックスを識別するために、台座ロボット８２０上のセンサからのセンサデータを使用することがある。さらなる実施例では、センサデータは、個々のボックスを割り振るべき場所を判定するため移動ロボット装置を識別するためにも使用されることがある。他の種類のロボットのような固定マニピュレーションステーションも同様に異種ロボット部隊の内部で用いられることがある。
【０１１０】
［0126］  図８Ｃは、例示的実施形態による、無人搬送車（ＡＧＶ）を表している。より具体的には、ＡＧＶ  ８４０は、個々のボックスまたはケースを運搬する能力がある相対的に小型の移動ロボット装置でもよい。ＡＧＶ  ８４０は、倉庫環境内部での移動を可能にするために車輪８４２を含むことがある。その上、ＡＧＶ  ８４０の上面８４４は、運搬されるボックスまたはその他の物体を置くために使用されることがある。一部の実施例では、上面８４４は、物体をＡＧＶ  ８４０との間で移動させるために回転コンベヤを含むことがある。さらなる実施例では、ＡＧＶ  ８４０は、バッテリ充電ステーションで急速充電され得る、および／または、バッテリ交換ステーションで新しいバッテリと交換され得る１台以上のバッテリによって給電されることがある。さらなる実施例では、ＡＧＶ  ８４０は、ここでは具体的に特定されていない他のコンポーネント、たとえば、ナビゲーション用のセンサなどをさらに含むことがある。様々な形状およびサイズをもつＡＧＶが、おそらく倉庫によって取り扱われる荷物の種類に依存して、ロボット倉庫部隊の内部に組み込まれることがある。
【０１１１】
［0127］  図８Ｄは、例示的な実施形態による、無人フォークトラックを表している。より具体的には、無人フォークトラック８６０は、ボックスのパレットまたは他のより大型の器具を持ち上げるおよび／または移動させるフォークリフト８６２を含むことがある。一部の実施例では、フォークリフト８６２は、倉庫内部の貯蔵ラックの中の種々のラック、または、他の固定貯蔵構造物に届くように上昇させられることがある。無人フォークトラック８６０は、倉庫内部でパレットを運搬するために移動用の車輪８６４をさらに含むことがある。さらなる実施例では、無人フォークトラックは、モータおよび電源に加えて、たとえば、ロボットトラック積み降ろし装置８００に関連して説明された検知システムなどの検知システムを含むことがある。無人フォークトラック８６０は、図８Ｄに例として説明されたものとサイズまたは形が異なることもある。
【０１１２】
［0128］コンピューティング装置アーキテクチャ
図９Ａは、例示的な実施形態によるコンピューティング装置（たとえば、システム）のブロック図である。具体的には、図９Ａに表されたコンピューティング装置９００は、シナリオ１００のコンピューティング装置と、シナリオ２００のコンピューティング装置と、ネットワーク９１４と、方法１０００と、シナリオ１００および２００のうちの１つ以上の関連した１つ以上の機能とのうちの１つ以上の機能を実行するように構成することができる。コンピューティング装置９００は、ユーザインターフェースモジュール９０１と、ネットワーク通信インターフェースモジュール９０２と、１台以上のプロセッサ９０３と、データストレージ９０４と、１台以上のセンサ９２０と、１台以上のアクチュエータ９３０とを含むことがあり、これらの全ては、システムバス、ネットワーク、または他の接続メカニズム９０５を介して互いに連結されることがある。
【０１１３】
［0129］  ユーザインターフェースモジュール９０１は、外部ユーザ入力／出力装置との間でデータを送信および／または受信するために動作可能である。たとえば、ユーザインターフェースモジュール９０１は、キーボード、キーパッド、タッチスクリーン、コンピュータマウス、トラックボール、ジョイスティック、カメラ、音声認識モジュール、および／または、その他の同様の装置などとの間でデータを送信および／または受信するように構成することができる。ユーザインターフェースモジュール９０１は、たとえば、現在知られている、または、今後開発される１台以上の陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、デジタル光処理（ＤＬＰ）技術を使用するディスプレイ、プリンタ、電球、および／または、その他の同様の装置などのユーザ表示装置に出力を提供するように構成することもできる。ユーザインターフェースモジュール９０１は、たとえば、スピーカ、スピーカジャック、オーディオ出力ポート、オーディオ出力装置、イヤホン、および／またはその他の同様の装置などのように、可聴出力（群）を生成するように構成することもできる。
【０１１４】
［0130］  ネットワーク通信インターフェースモジュール９０２は、ネットワークを介して通信するように構成されている１つ以上の無線インターフェース９０７および／または１つ以上の有線インターフェース９０８を含み得る。無線インターフェース９０７は、１台以上の無線送信機と、受信機と、たとえば、Ｂｌｕｅｔｏｏｔｈ送受信機、Ｚｉｇｂｅｅ送受信機、Ｗｉ−Ｆｉ送受信機、ＷｉＭＡＸ送受信機、および／または、無線ネットワークを介して通信するように構成可能であるその他の同様の種類の無線送受信機などの送受信機とを含み得る。有線インターフェース９０８は、１台以上の有線送信機と、受信機と、および／または、たとえば、イーサネット送受信機、ユニバーサルシリアルバス（ＵＳＢ）送受信機、または、ツイストペア線、同軸ケーブル、光ファイバリンク、もしくは、有線ネットワークへの同様の物理的接続を介して通信するように構成可能である同様の送受信機などの送受信機とを含み得る。
【０１１５】
［0131］  一部の実施形態では、ネットワーク通信インターフェースモジュール９０２は、信頼性の高い、セキュアな、および／または認証された通信を提供するように構成することができる。本文書に記載された通信毎に、おそらくメッセージヘッダおよび／またはフッタの一部（たとえば、パケット／メッセージ優先順位付け情報、カプセル化ヘッダ（群）および／またはフッタ（群）、サイズ／時間情報、および、たとえば、ＣＲＣおよび／またはパリティチェック値などの伝送検証情報）として、信頼性の高い通信を保証する情報（すなわち、保証付きメッセージ配信）を提供することができる。通信は、たとえば、限定されることなく、ＤＥＳ、ＡＥＳ，ＲＳＡ、ディヒー・ヘルマン、および／またはＤＳＡなどの１つ以上の暗号プロトコルおよび／またはアルゴリズムを使用して、セキュアにする（たとえば、符号化もしくは暗号化する）こと、および／または、解読／復号化することができる。他の暗号プロトコルおよび／またはアルゴリズムも同様に、または、本文書に列挙されたものに加えて、通信をセキュアに（その上、解読／復号化）するために使用され得る。
【０１１６】
［0132］  プロセッサ９０３は、１台以上の汎用プロセッサおよび／または１台以上の専用プロセッサ（たとえば、デジタル信号プロセッサ、グラフィックス処理ユニット、特定用途向け集積回路など）を含み得る。プロセッサ９０３は、データストレージ９０４に収容されているコンピュータ読み取り可能なプログラム命令９０６、および／または、本文書に記載された通りの他の命令を実行するように構成することができる。
【０１１７】
［0133］  データストレージ９０４は、プロセッサ９０３のうちの少なくとも１台によって読み取るおよび／またはアクセスすることができる１つ以上のコンピュータ読み取り可能な記憶媒体を含み得る。１つ以上のコンピュータ読み取り可能な記憶媒体は、プロセッサ９０３のうちの少なくとも１台と全体的にまたは部分的に統合することができる揮発性および／または不揮発性ストレージコンポーネント、たとえば、光、磁気、有機もしくはその他のメモリ、またはディスクストレージなどを含み得る。一部の実施形態では、データストレージ９０４は、単一の物理的装置（たとえば、１つの光、磁気、有機もしくはその他のメモリ、またはディスクストレージユニット）を使用して実装され得るが、他の実施形態では、データストレージ９０４は、２台以上の物理的装置を使用して実装され得る。
【０１１８】
［0134］  データストレージ９０４は、コンピュータ読み取り可能なプログラム命令９０６と、おそらく追加データとを含み得る。一部の実施形態では、データストレージ９０４は、方法および手法の少なくとも一部、および／または、装置およびネットワークの機能の少なくとも一部、たとえば、１つ以上のターゲット画像および／または１つ以上のバイナリ画像、ソースファイル（群）、ソース地図（群）、ターゲットファイル（群）、ターゲット地図（群）、転送（群）、転送リスト（群）、補助データ、グラフ（群）、および／または更新パッケージ（群）などの１つ以上の画像を実行するために必要とされるストレージをさらに含み得る。
【０１１９】
［0135］  一部の実施形態では、コンピューティング装置９００は、１台以上のセンサを含み得る。センサ（群）９２０は、コンピューティング装置９００のための環境の状況を測定し、環境に関するデータを提供するように構成することができる。一部の実施例では、センサ（群）９２０は、おそらくコンピューティング装置９００の位置および／または移動を測定するために、ジャイロスコープと、加速度計と、ドップラーセンサと、ソナーセンサと、レーダー装置と、レーザー変位センサと、コンパスとのうちの１つ以上を含み得る。他の実施例では、センサ（群）９２０は、おそらくコンピューティング装置９００の環境を示すデータを取得するために、赤外線センサ、光学センサ、光センサ、カメラ、バイオセンサ、容量センサ、タッチセンサ、温度センサ、無線センサ、電波センサ、音波センサ、および／または、煙センサのうちの１つ以上を含み得る。その上、センサ（群）９２０は、コンピューティング装置９００の周囲に作用する力を測定するために、１台以上のセンサを含み得る。たとえば、センサ（群）９２０は、複数の次元で力（たとえば、慣性力および／または重力）を測定する１台以上のセンサを含み得る。さらに、センサ（群）９２０は、トルク、グラウンド力、摩擦、および／または、ＺＭＰおよび／またはＺＭＰの位置を識別するゼロモーメントポイント（ＺＭＰ）センサを測定する１台以上のセンサを含み得る。センサ（群）９２０のその他の実施例も考えられる。
【０１２０】
［0136］  コンピューティング装置９００は、コンピューティング装置９００が移動を開始できるようにする１台以上のアクチュエータ９３０を含み得る。たとえば、アクチュエータ（群）９３０は、ロボット肢部をロボット本体に接続するロボット関節を含み得る、または、ロボット関節と合体され得る。たとえば、アクチュエータ（群）９３０は、ロボット脚部およびロボットアームをそれぞれロボット本体に接続するそれぞれのロボット股関節およびロボット肩関節を含み得る。さらに、アクチュエータ（群）９３０は、ロボット脚部のそれぞれの部分（たとえば、ロボット大腿部およびロボット脹ら脛部）を接続するそれぞれのロボット膝関節と、ロボットアームの部分（たとえば、ロボット前腕部および上腕部）を接続するロボット肘関節とを含み得る。さらに、アクチュエータ（群）９３０は、ロボット脚部をロボット足部に接続するそれぞれの足関節と、ロボットアームをロボットハンドに接続するそれぞれのロボット手首関節とを含み得る。その上、アクチュエータ（群）９３０は、ロボット脚部を動かすモータを含み得る。従って、アクチュエータ（群）９３０は、コンピューティング装置９００の可動性を有効にする。アクチュエータ（群）９３０のその他の実施例も考えられる。
【０１２１】
［0137］クラウドベースサーバ
図９Ｂは、例示的な実施形態によるクラウドベースサーバシステムとして構成されたコンピューティングクラスタ９０９ａ、９０９ｂ、９０９ｃのネットワーク９１４を描く。コンピューティングクラスタ９０９ａ、９０９ｂ、９０９ｃは、クラウドベースアプリケーションおよび／またはサービスのプログラムロジックおよび／またはデータ、たとえば、シナリオ１００、シナリオ２００、および／または方法１０００に関連して本文書に記載された機能性の一部または全部を記憶するクラウドベース装置となり得る。
【０１２２】
［0138］  一部の実施形態では、コンピューティングクラスタ９０９ａ、９０９ｂ、９０９ｃは、単一のコンピューティングセンタに属する単一のコンピューティング装置となり得る。他の実施形態では、コンピューティングクラスタ９０９ａ、９０９ｂ、９０９ｃは、単一のコンピューティングセンタの中に複数のコンピューティング装置、または、多様な地理的位置にある複数のコンピューティングセンタの中にある複数のコンピューティング装置を含み得る。たとえば、図９Ｂは、異なる物理的位置に属するコンピューティングクラスタ９０９ａ、９０９ｂ、９０９ｃのそれぞれを描く。
【０１２３】
［0139］  一部の実施形態では、コンピューティングクラスタ９０９ａ、９０９ｂ、９０９ｃでのデータおよびサービスは、非一時的な有形のコンピュータ読み取り可能な媒体（またはコンピュータ読み取り可能な記憶媒体）に記憶され、他のコンピューティング装置よってアクセスできるコンピュータ読み取り可能な情報として符号化することができる。一部の実施形態では、コンピューティングクラスタ９０９ａ、９０９ｂ、９０９ｃは、単一のディスクドライブまたは他の有形の記憶媒体に記憶することができ、または、１つ以上の多様な地理的位置にある複数のディスクドライブもしくは他の有形の記憶媒体上に実装することができる。
【０１２４】
［0140］  図９Ｂは、例示的な実施形態によるクラウドベースサーバシステムを描く。図９Ｂでは、シナリオ２００のコンピューティング装置の機能性は、３つのコンピューティングクラスタ９０９ａ、９０９ｂ、および９０９ｃの間に分散させることができる。コンピューティングクラスタ９０９ａは、ローカルクラスタネットワーク９１２ａによって接続された１台以上のコンピューティング装置９００ａとクラスタストレージアレイ９１０ａとクラスタルータ９１１ａとを含み得る。同様に、コンピューティングクラスタ９０９ｂは、ローカルクラスタネットワーク９１２ｂによって接続された１台以上のコンピューティング装置９００ｂとクラスタストレージアレイ９１０ｂとクラスタルータ９１１ｂとを含み得る。同様に、コンピューティングクラスタ９０９ｃは、ローカルクラスタネットワーク９１２ｃによって接続された１台以上のコンピューティング装置９００ｃとクラスタストレージアレイ９１０ｃとクラスタルータ９１１ｃとを含み得る。
【０１２５】
［0141］  一部の実施形態では、コンピューティングクラスタ９０９ａ、９０９ｂ、および９０９ｃのそれぞれは、同じ数のコンピューティング装置、同じ数のクラスタストレージアレイ、および同じ数のクラスタルータを有することがあり得る。しかしながら、他の実施形態では、各コンピューティングクラスタは、異なる数のコンピューティング装置、異なる数のクラスタストレージアレイ、および異なる数のクラスタルータを有することがあり得る。各コンピューティングクラスタ内のコンピューティング装置、クラスタストレージアレイ、およびクラスタルータの数は、各コンピューティングクラスタに割り当てられたコンピューティングタスクまたはタスク群に依存することがあり得る。
【０１２６】
［0142］  コンピューティングクラスタ９０９ａでは、たとえば、コンピューティング装置９００ａは、シナリオ２００のコンピューティング装置の様々なコンピューティングタスクを実行するように構成することができる。一実施形態では、シナリオ２００のコンピューティング装置の様々な機能性は、１台以上のコンピューティング装置９００ａ、９００ｂ、および９００ｃの間で分散させることができる。それぞれのコンピューティングクラスタ９０９ｂおよび９０９ｃ内のコンピューティング装置９００ｂおよび９００ｃは、コンピューティングクラスタ９０９ａ内のコンピューティング装置９００ａと同様に構成することができる。一方で、一部の実施形態では、コンピューティング装置９００ａ、９００ｂ、および９００ｃは、異なる機能を実行するように構成することができる。
【０１２７】
［0143］  一部の実施形態では、シナリオ２００のコンピューティング装置に関連付けられたコンピューティングタスクおよび記憶データは、シナリオ２００のコンピューティング装置の処理要件と、コンピューティング装置９００ａ、９００ｂ、および９００ｃの処理能力と、各コンピューティングクラスタ内のコンピューティング装置の間、および、コンピューティングクラスタ自体の間のネットワークリンクのレイテンシと、および／または、システムアーキテクチャ全体のコスト、速度、耐故障性、復元性、効率性、および／またはその他の設計目標に寄与する他の要因と、に少なくとも部分的に基づいて、コンピューティング装置９００ａ、９００ｂ、および９００ｃの全域に分散させることができる。
【０１２８】
［0144］  コンピューティングクラスタ９０９ａ、９０９ｂ、および９０９ｃのクラスタストレージアレイ９１０ａ、９１０ｂ、および９１０ｃは、ハードディスクドライブのグループへのリードアクセスおよびライトアクセスを管理するように構成されているディスクアレイコントローラを含むデータストレージアレイとなり得る。ディスクアレイコントローラは、単独で、または、これらのそれぞれのコンピューティング装置と併せて、１台以上のコンピューティング装置が１つ以上のクラスタストレージアレイにアクセスすることを妨げるディスクドライブもしくはその他のクラスタストレージアレイの故障、および／または、ネットワークの故障から保護するために、クラスタストレージアレイに記憶されたデータのバックアップおよび冗長な複製を管理するようにさらに構成することができる。
【０１２９】
［0145］  シナリオ２００のコンピューティング装置の機能がコンピューティングクラスタ９０９ａ、９０９ｂ、および９０９ｃのコンピューティング装置９００ａ、９００ｂ、および９００ｃの全域に分散させられる方法と同様に、これらのコンポーネントの様々なアクティブ部分および／またはバックアップ部分は、クラスタストレージアレイ９１０ａ、９１０ｂ、および９１０ｃの全域に分散させることができる。たとえば、一部のクラスタストレージアレイは、シナリオ２００のコンピューティング装置のデータの一部分を記憶するように構成することができるが、他のクラスタストレージアレイは、シナリオ２００のコンピューティング装置のデータの他の部分（群）を記憶することができる。その上、一部のクラスタストレージアレイは、他のクラスタストレージアレイに記憶されたデータのバックアップバージョンを記憶するように構成することができる。
【０１３０】
［0146］  コンピューティングクラスタ９０９ａ、９０９ｂ、および９０９ｃ内のクラスタルータ９１１ａ、９１１ｂ、および９１１ｃは、コンピューティングクラスタのため内部通信および外部通信を提供するように構成されているネットワーク設備を含み得る。たとえば、コンピューティングクラスタ９０９ａ内のクラスタルータ９１１ａは、（ｉ）ローカルクラスタネットワーク９１２ａを介してコンピューティング装置９００ａとクラスタストレージアレイ９１０ａとの間にローカルエリアネットワーク通信と、（ｉｉ）ネットワーク９１４へのワイドエリアネットワーク接続９１３ａを介してコンピューティングクラスタ９０９ａとコンピューティングクラスタ９０９ｂおよび９０９ｃとの間のワイドエリアネットワーク通信とを提供するように構成されている１台以上のインターネットスイッチングおよびルーティング装置を含み得る。クラスタルータ９１１ｂおよび９１１ｃは、クラスタルータ９１１ａに類似したネットワーク設備を含むことができ、クラスタルータ９１１ｂおよび９１１ｃは、クラスタルータ９１１ａがコンピューティングクラスタ９０９ａのため実行するのと同様のコンピューティングクラスタ９０９ｂおよび９０９ｂのためのネットワーキング機能を実行できる。
【０１３１】
［0147］  一部の実施形態では、クラスタルータ９１１ａ、９１１ｂ、および９１１ｃの構成は、コンピューティング装置およびクラスタストレージアレイのデータ通信要件と、クラスタルータ９１１ａ、９１１ｂ、および９１１ｃ内のネットワーク設備のデータ通信能力と、ローカルネットワーク９１２ａ、９１２ｂ、９１２ｃのレイテンシおよびスループットと、ワイドエリアネットワークリンク９１３ａ、９１３ｂ、および９１３ｃのレイテンシ、スループット、およびコストと、および／または、モデレーションシステムアーキテクチャのコスト、速度、耐故障性、復元性、効率性および／またはその他の設計目標に寄与する可能性があるその他の要因と、に少なくとも部分的に基づく可能性がある。
【０１３２】
例示的な動作方法
［0148］  図１０は、例示的な実施形態による、方法１０００のフローチャートである。方法１０００は、コンピューティング装置で実行され得る。例示的なコンピューティング装置は、限定されることなく、コンピューティング装置９００、シナリオ１００のロボット装置に載せられたコンピューティング装置、シナリオ２００のコンピューティング装置、ロボット装置に載せられた１台以上のコンピューティング装置、および／または、他のコンピューティング装置（群）を含む。
【０１３３】
［0149］  方法１０００は、コンピューティング装置が環境の第１の地図を判定することができるブロック１０１０から始まることがあり得る。第１の地図は、対応する複数の第１の位置にある複数のフィーチャーを含むことができ、対応する複数のセマンティック位置にある複数のセマンティックラベルを含むことができ、たとえば、少なくとも図１の地図１１０ａ、図２の地図２１０ａ、および図３の地図３１０ａなど、たとえば、図１〜６との関連で前述された通りである。一部の実施形態では、環境は、たとえば、シナリオ１００および２００との関連で前述された通りの屋内環境を含む。
【０１３４】
［0150］  ブロック１０２０で、コンピューティング装置は、環境の第２の地図を判定することができる。第２の地図は、対応する複数の第２の位置にある複数のフィーチャーのうちの少なくとも一部を含むことができ、たとえば、少なくとも図１の地図１１０ｂ、図２の地図２１０ｂ、および図３の地図３１０ｂなど、たとえば、図１〜６との関連で前述された通りである。一部の実施形態では、コンピューティング装置は、たとえば、ＳＬＡＭアルゴリズムなどの地図作成アルゴリズムを使用して地図（群）を生成することにより第１の地図および／または第２の地図を判定することができる。これらの実施形態の中で特に、コンピューティング装置は、少なくとも図１および図９Ａとの関連において前述された通りの地図を生成するために、コンピューティング装置が環境の中を移動し、環境を観測することを可能にさせるように構成されたアクチュエータおよび／またはセンサを用いて構成することができる。
【０１３５】
［0151］  別の実施形態では、第２の地図を判定することは、複数のフィーチャーのうちの特定のフィーチャーの現在の位置を判定することと、特定のフィーチャーの現在の位置が特定のフィーチャーに対する第１の位置と等価であるか否かを判定することと、特定のフィーチャーの現在の位置が特定のフィーチャーに対する第１の位置と等価ではない、と判定した後、環境の第２の地図を判定することと、を含み、少なくとも図１に関連して前述された通りである。
【０１３６】
［0152］  さらに別の実施形態では、複数のセマンティックラベルのうちの特定のセマンティックラベルは、特定の物体に関連付けることができ、特定のセマンティックラベルは、複数のセマンティック位置のうちの特定のセマンティック位置に対応することができる。このとき、第２の地図を判定することは、特定の物体の現在の位置を判定することと、特定の物体の現在の位置が特定のセマンティック位置と等価であるか否かを判定することと、特定の物体の現在の位置が特定のセマンティックラベルと等価ではない、と判定した後、環境の第２の地図を判定することと、を含むことができ、少なくとも図１との関連で前述された通りである。これらの実施形態以外の場合、第２の地図を判定することは、たとえば、少なくとも図１との関連で前述された通り、時間的に周期的な間隔で第２の地図を判定することを含み得る。
【０１３７】
［0153］  ブロック１０３０で、コンピューティング装置は、複数の固定フィーチャーを含む環境の第１の領域を識別することができる。複数の固定フィーチャーの中のある固定フィーチャーは、複数の第１の位置の中の対応する第１の位置にある可能性があり、複数の第２の位置の中の対応する第２の位置にある可能性があり、固定フィーチャーの対応する第１の位置は、固定フィーチャーの対応する第２の位置と等価であり、たとえば、少なくとも図１の領域１４０ａ、１４０ｂは、これらのフィーチャーが関連付けられ、図２および図３の建物２１２ａ、２２０ａおよびテント２２８ａ、２３２ａは、これらのフィーチャーが関連付けられ、図４の建物４１２、４２０およびテント４２８、４３２は、これらのフィーチャーが関連付けられているなど、たとえば、図１〜図６との関連で前述された通りである。
【０１３８】
［0154］  ブロック１０４０で、コンピューティング装置は、環境の第２の領域を識別することができる。第２の領域は、複数の移動フィ−チャーを含み得る。複数の移動フィーチャーの中のある移動フィーチャーは、複数の第１の位置の中の対応する第１の位置にあり、複数の第２の位置の中の異なった対応する第２の位置にあり、移動フィーチャーの対応する第１の位置は、移動フィーチャーの異なった対応する第２の位置と等価ではなく、少なくとも図１の領域１４２ａ、１４２ｂは、これらのフィーチャーが関連付けられ、図２および図３のテント２３８ａ、２３８ｂ、２４４ａ、２４８ｂ、２５０ａ、２５０ｂは、これらのフィーチャーが関連付けられ、図４の領域４３８、４４４、４５０は、これらのフィーチャーが関連付けられているなど、たとえば、図１〜図６との関連で前述された通りである。
【０１３９】
［0155］  ブロック１０５０で、コンピューティング装置は、第２の領域内の複数の移動フィーチャーのうちの第１の位置と第２の位置との間の変換、たとえば、少なくとも図１のフィーチャー対応１２２ｃ、１２６ｃおよび位置変換１３４ｃと、図５Ａから図５Ｂの変換５００、５４０および領域推定５７０、５８０、５９０となどを判定することができ、図１〜図６との関連で前述された通りである。
【０１４０】
［0156］  一部の実施形態では、たとえば、少なくとも図５Ａ〜図６との関連、特に、図５Ａおよび図５Ｂの変換５００および５４０との関連で前述された通り、位置の１つ以上の変換は、変換後の位置への初期位置のアフィン変換を含み得る。特定の実施形態では、アフィン変換は、初期位置に関連している回転と、初期位置に関連している並進と、初期位置に関連している鏡映と、１つ以上の回転、並進、および鏡映の合成とのうちの少なくとも１つを含むことができ、少なくとも図５Ａ〜図６との関連、特に、少なくとも図５Ａおよび図５Ｂの変換５００および５４０との関連で前述された通りである。
【０１４１】
［0157］  ブロック１０６０で、コンピューティング装置は、複数のセマンティックラベルを第２の複数のセマンティック位置で第２の地図に割り当てることができる。第１の領域内のセマンティックラベルに対する第２の複数のセマンティック位置の中のセマンティック位置は、第１の複数のセマンティック位置内の対応するセマンティック位置と同一となる可能性があり、第２の領域内のセマンティックラベルに対する第２の複数のセマンティック位置の中のセマンティック位置は、１つ以上の変換に基づく可能性があり、たとえば、少なくとも図１のセマンティックラベル「コーヒーメーカー」、図２〜図４、図５Ｃ、および図６との関連で一般に説明されたセマンティックラベル「リードウルフ」、「リードホーク」、「水上スポーツ」、「陸上スポーツ」、「アート」および「キャンプ用品」など、たとえば、少なくとも図１および図６との関連で、特に、図６のとの関連で前述された通りである。
【０１４２】
［0158］  一部の実施形態では、環境は、第１の領域および第２の領域とは異なる少なくとも第３の領域を含むことができ、第３の領域は、１つ以上の第３のフィーチャーを含む。その結果、方法１０００は、１つ以上の移動後の第３のフィーチャーのうちの１つずつの移動後の第３のフィーチャーが複数の第１の位置のうちの対応する第１の位置および複数の第２の位置のうちの異なった対応する第２の位置にある、１つ以上の第３のフィーチャーのうちの１つ以上の移動後の第３のフィーチャーを判定することと、第３の領域内のセマンティックラベルに対する第２の複数のセマンティック位置の中のセマンティック位置が第３の領域に対する第２の変換に基づいている、第２の複数の移動フィーチャーに対する第１の位置と第２の位置との間の第３の領域に対する第２の変換を判定することと、を含むことができ、たとえば、少なくともフィーチャー推定５７０、５８０、および５９０など、少なくとも図５Ｃおよび図６との関連で前述された通りである。
【０１４３】
［0159］  ブロック１０７０で、コンピューティング装置は、第２の地図に基づいて出力を生成することができる。一部の実施形態では、コンピューティング装置は、ロボット装置の一部となることがあり得る。これらの実施形態では、第１の地図を判定することは、ロボット装置の１台以上のセンサ装置によって取得された第１のデータに基づいて第１の地図を判定することを含むことができ、第２の地図を判定することは、ロボット装置の１台以上のセンサ装置によって取得された第２のデータに基づいて第２の地図を判定することを含むことができ、出力を生成することは、第２の地図の少なくとも１つのセマンティックラベルによって提供されたガイダンスに基づいて環境の中を通ってロボット装置をナビゲートすることを含むことができ、図１のシナリオ１００および図２〜図６のシナリオ２００の少なくともコンピューティング装置およびロボット装置（群）との関連で前述された通りである。
【０１４４】
［0160］  本開示は、様々な態様の実例として意図されている本出願に記載された特定の実施形態の観点から限定されることはない。多くの変更および変形は、当業者に明らかであるように、本開示の趣旨および範囲から逸脱することなく行うことができる。開示の範囲内で機能的に等価な方法および装置は、本文書において列挙された方法および装置に加えて、以上の説明から当業者に明らかであろう。このような変更および変形は、特許請求の範囲に記載された事項の範囲内にあることを意図する。
【０１４５】
［0161］  上記詳細な説明は、添付図面を参照して、開示されたシステム、装置、および方法の様々な特徴および機能について記載する。図中、同様の符号は、特に断らない限り、典型的に同様のコンポーネントを識別する。詳細な説明、図、および特許請求の範囲に記載された実例となる実施形態が限定的であることは意図されていない。その他の実施形態が利用される可能性があり、その他の変更が本文書に提示された主題の趣旨または範囲から逸脱することなしに行われる可能性がある。本文書に概略的に記載され、図において例として説明されている通り、本開示の態様は、多種多様の構成で構成される、代用する、組み合わせる、分離する、および設計することができることが容易に理解されるものであり、これらの全てが本文書において明確に検討されている。
【０１４６】
［0162］  図の中および本文書に記載された通りのラダー図、シナリオ、およびフローチャートの一部または全部に関連して、各ブロックおよび／または通信は、例示的な実施形態による情報の処理および／または情報の伝送を表現することがある。代替的な実施形態は、これらの例示的な実施形態の範囲内に含まれる。これらの代替的な実施形態では、たとえば、ブロック、伝送、通信、要求、応答、および／またはメッセージとして記載された機能は、関与している機能性に依存して、表示または説明された順番にかかわらず、実質的に並列にまたは逆の順番などで行われることがある。さらに、より多数またはより少数のブロックおよび／または機能が本文書において検討されたラダー図、シナリオ、およびフローチャートのうちのいずれかと共に使用されることがあり、これらのラダー図、シナリオ、およびフローチャートは、部分的または全体的に、互いに組み合わされることがある。
【０１４７】
［0163］  情報の処理を表現するブロックは、本文書に記載された方法または手法の特定の論理機能を実行するように構成することができる回路に対応することがある。代替的または付加的に、情報の処理を表現するブロックは、モジュール、セグメント、または（関連データを含んでいる）プログラムコードの一部に対応することがある。プログラムコードは、方法または手法における特定の論理機能または行動を実装するためプロセッサによって実行可能である１つ以上の命令を含むことがある。プログラムコードおよび／または関連データは、たとえば、ディスクもしくはハードドライブまたはその他の記憶媒体を含んでいる記憶装置などのどんな種類のコンピュータ読み取り可能な媒体にも記憶されることがある。
【０１４８】
［0164］  コンピュータ読み取り可能な媒体は、レジスタメモリ、プロセッサキャッシュ、およびランダムアクセスメモリ（ＲＡＭ）のように、たとえば、短期間データを記憶する非一時的なコンピュータ読み取り可能な媒体などの非一時的なコンピュータ読み取り可能な媒体をさらに含むことがある。コンピュータ読み取り可能な媒体は、たとえば、リードオンリーメモリ（ＲＯＭ）、光もしくは磁気ディスク、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）のように、たとえば、２次もしくは永続的長期間ストレージなどの長期間プログラムコードおよび／またはデータを記憶する非一時的なコンピュータ読み取り可能な媒体をさらに含むことがある。コンピュータ読み取り可能な媒体は、その他の揮発性または不揮発性記憶システムでもよい。コンピュータ読み取り可能な媒体は、たとえば、コンピュータ読み取り可能な記憶媒体、または有形のストレージ装置と考えられることがある。
【０１４９】
［0165］  その上、１回以上の情報伝送を表現するブロックは、同じ物理的装置内のソフトウェアモジュールおよび／またはハードウェアモジュールの間の情報伝送に対応することがある。しかしながら、他の情報伝送は、異なる物理装置内のソフトウェアモジュールおよび／またはハードウェアモジュールの間でもよい。
【０１５０】
［0166］  様々な態様および実施形態が本文書に開示されているが、他の態様および実施形態が当業者に明らかであろう。本文書に開示された様々な態様および実施形態は、説明の目的で提供され、限定的であることが意図されることはなく、真の範囲は以下の特許請求の範囲によって示されている。
【図１】
0006496837.tif 000026
【図２】
0006496837.tif 000027
【図３】
0006496837.tif 000028
【図４】
0006496837.tif 000029
【図５Ａ】
0006496837.tif 000030
【図５Ｂ】
0006496837.tif 000031
【図５Ｃ】
0006496837.tif 000032
【図６】
0006496837.tif 000033
【図７Ａ】
0006496837.tif 000034
【図７Ｂ】
0006496837.tif 000035
【図８Ａ】
0006496837.tif 000036
【図８Ｂ】
0006496837.tif 000037
【図８Ｃ】
0006496837.tif 000038
【図８Ｄ】
0006496837.tif 000039
【図９Ａ】
0006496837.tif 000040
【図９Ｂ】
0006496837.tif 000041
【図１０】
0006496837.tif 000042