(57)【要約】      （修正有）【課題】六角形空間マップにおけるベクトルナビゲーションのためのコンテキストベースの経路計画を行う。【解決手段】２Ｄ環境が、六角形格子セルを含む六角形格子マップに表現され、隣接するセルに関連するＲＧＢ値の比較に基づいてオブジェクトが識別される。識別されたオブジェクトに基づいて候補コンテキストが決定される。六角形格子マップは様々な角度で回転され、予め定義されたマップ（単数または複数）と比較されて、候補コンテキストからのコンテキスト識別のための類似性の定量的尺度が決定され、それに基づいて六角形格子マップ内での容易かつ効率的なベクトルナビゲーションのための経路が動的に計画される。異なるコンテキストの交差部分の間で識別されるナビゲーション可能な共通オブジェクト（単数または複数）を使用して、異なるコンテキストのための経路を生成することをさらに可能にする。【選択図】図２
2019169125.tif 000002
【特許請求の範囲】
【請求項１】
二次元（２Ｄ）環境を取得し六角形格子マップに表現するステップであって、前記六角形格子マップは複数の六角形格子セルを含む、ステップ（２０２）と、
前記複数の六角形格子セルからの複数の二つ以上の隣接セルに関連する赤緑青（ＲＧＢ）値の比較に基づいて一つ以上のオブジェクトを識別するステップであって、前記一つ以上のオブジェクトは、一つ以上の六角形格子セルの中心からの各六角形格子セルの中心の距離と六角形の中心の数とに基づいて識別される、ステップ（２０４）と、
前記識別された一つ以上のオブジェクトについて作成されたタプルに基づいて一つ以上の候補コンテキストを識別するステップ（２０６）と、
前記六角形格子マップと一つ以上の予め記憶された六角形格子マップとの比較を反復的に行うステップであって、前記六角形格子マップは、記述であり、空間的類似性指数（ＳＳＱ）を決定するためにマップデータベースから取得される前記一つ以上の予め記憶された六角形格子マップと反復的に比較され、前記空間的類似性指数は、前記六角形格子マップと前記一つ以上の予め記憶された六角形格子マップのうちの少なくとも一つとの重なりの程度を示す、ステップ（２０８）と、
前記決定された空間的類似性指数に基づいて前記一つ以上の候補コンテキストから一つ以上のコンテキストを識別するステップ（２１０）と、
前記一つ以上のオブジェクトと前記識別された一つ以上のコンテキストとに基づいて前記六角形格子マップ内のベクトルナビゲーションのための経路を動的に計画するステップ（２１２）と
を備える、プロセッサ実施方法。
【請求項２】
注釈、境界正方形の辺、テンプレート形状、および前記ＲＧＢ値の分散に基づいて、前記一つ以上のオブジェクトのそれぞれについてオブジェクトデータベースを生成するステップをさらに備える、請求項１に記載のプロセッサ実施方法。
【請求項３】
タプル内の前記識別された一つ以上のオブジェクトを有する一つ以上の推定コンテキストのそれぞれについてコンテキストデータベースを生成するステップをさらに備える、請求項１に記載のプロセッサ実施方法。
【請求項４】
前記一つ以上のオブジェクトの前記ＲＧＢ値が予め定義された閾値に等しいときには、前記一つ以上のオブジェクトは一つ以上の予め定義されたオブジェクトとして識別される、請求項１に記載のプロセッサ実施方法。
【請求項５】
前記一つ以上のオブジェクトの前記ＲＧＢ値が予め定義された閾値よりも大きいかまたは小さいときには、前記一つ以上のオブジェクトは新たなオブジェクトとして決定される、請求項１に記載のプロセッサ実施方法。
【請求項６】
前記一つ以上のオブジェクトのサイズおよび形状は、前記距離に基づいて決定される、請求項１に記載のプロセッサ実施方法。
【請求項７】
二つ以上のコンテキストの交差部分を示す一つ以上の共通オブジェクトを識別するステップと、
前記二つ以上のコンテキストの前記交差部分からの前記一つ以上の共通オブジェクトから識別された一つ以上のナビゲーション可能オブジェクトに基づいて経路を生成するステップと
をさらに備える、請求項１に記載のプロセッサ実施方法。
【請求項８】
前記一つ以上のコンテキストおよび前記一つ以上のオブジェクトは、一つ以上のセンサから取得される情報を用いて識別される、請求項１に記載のプロセッサ実施方法。
【請求項９】
後続の経路計画およびベクトルナビゲーションのために識別された前記一つ以上のオブジェクト、前記一つ以上のコンテキスト、および前記動的に計画された経路を用いてロボットを訓練するステップと、
前記後続の経路計画およびベクトルナビゲーションに関する情報を含むデータベースを生成するステップと
をさらに備える、請求項１に記載のプロセッサ実施方法。
【請求項１０】
最大ＳＳＱを取得するために前記六角形格子マップと前記一つ以上の候補コンテキストとの比較を行うステップと、
前記最大ＳＳＱと予め定義された閾値との比較に基づいて環境を新たな環境または予め定義された環境として識別するステップと
をさらに備える、請求項１に記載のプロセッサ実施方法。
【請求項１１】
命令を記憶するメモリ（１０２）と、
一つ以上の通信インタフェース（１０６）と、
前記一つ以上の通信インタフェース（１０６）を介して前記メモリ（１０２）に結合された一つ以上のハードウェアプロセッサ（１０４）とを備え、前記一つ以上のハードウェアプロセッサ（１０４）は、前記命令により、
二次元（２Ｄ）環境を取得し六角形格子マップに表現し、前記六角形格子マップは複数の六角形格子セルを含み、
前記複数の六角形格子セルからの複数の二つ以上の隣接セルに関連する赤緑青（ＲＧＢ）値の比較に基づいて一つ以上のオブジェクトを識別し、前記一つ以上のオブジェクトは、一つ以上の六角形格子セルの中心からの各六角形格子セルの中心の距離と六角形の中心の数とに基づいて識別され、
前記識別された一つ以上のオブジェクトについて作成されたタプルに基づいて一つ以上の候補コンテキストを識別し、
前記六角形格子マップと一つ以上の予め記憶された六角形格子マップとの比較を反復的に行い、前記六角形格子マップは、一つ以上のバリエーションに変形され、空間的類似性指数（ＳＳＱ）を決定するためにマップデータベースから取得される前記一つ以上の予め記憶された六角形格子マップと反復的に比較され、前記空間的類似性指数は、前記六角形格子マップと前記一つ以上の予め記憶された六角形格子マップのうちの少なくとも一つとの重なりの程度を示し、
前記決定された空間的類似性指数に基づいて前記一つ以上の候補コンテキストから一つ以上のコンテキストを識別し、
前記一つ以上のオブジェクトと前記識別された一つ以上のコンテキストとに基づいて前記六角形格子マップ内のベクトルナビゲーションのための経路を動的に計画する
ように構成される、
システム（１００）。
【請求項１２】
前記一つ以上のハードウェアプロセッサは前記命令により、注釈、境界正方形の辺、テンプレート形状、および前記ＲＧＢ値の分散に基づいて、前記一つ以上のオブジェクトのそれぞれについてオブジェクトデータベースを生成するようにさらに構成される、請求項１１に記載のシステム。
【請求項１３】
前記一つ以上のハードウェアプロセッサは前記命令により、タプル内の前記識別された一つ以上のオブジェクトを有する一つ以上の推定コンテキストのそれぞれについてコンテキストデータベースを生成するようにさらに構成される、請求項１１に記載のシステム。
【請求項１４】
前記一つ以上のオブジェクトの前記ＲＧＢ値が予め定義された閾値に等しいときには、前記一つ以上のオブジェクトは一つ以上の予め定義されたオブジェクトとして識別される、請求項１１に記載のシステム。
【請求項１５】
前記一つ以上のオブジェクトの前記ＲＧＢ値が予め定義された閾値よりも大きいかまたは小さいときには、前記一つ以上のオブジェクトは新たなオブジェクトとして決定される、請求項１１に記載のシステム。
【請求項１６】
前記一つ以上のオブジェクトのサイズおよび形状は、前記距離に基づいて決定される、請求項１１に記載のシステム。
【請求項１７】
前記一つ以上のハードウェアプロセッサは前記命令により、
二つ以上のコンテキストの交差部分を示す一つ以上の共通オブジェクトを識別し、
前記二つ以上のコンテキストの前記交差部分からの前記一つ以上の共通オブジェクトから識別された一つ以上のナビゲーション可能オブジェクトに基づいて経路を生成する
ようにさらに構成される、請求項１１に記載のシステム。
【請求項１８】
前記一つ以上のコンテキストおよび前記一つ以上のオブジェクトは、一つ以上のセンサから取得される情報を用いて識別される、請求項１１に記載のシステム。
【請求項１９】
前記一つ以上のハードウェアプロセッサは前記命令により、
後続の経路計画およびベクトルナビゲーションのために識別された前記一つ以上のオブジェクト、前記一つ以上のコンテキスト、および前記動的に計画された経路を用いてロボットを訓練し、
前記後続の経路計画およびベクトルナビゲーションに関する情報を含むデータベースを生成する
ようにさらに構成される、請求項１１に記載のシステム。
【請求項２０】
前記一つ以上のハードウェアプロセッサは前記命令により、
最大ＳＳＱを取得するために前記六角形格子マップと前記一つ以上の候補コンテキストとの比較を行い、
前記最大ＳＳＱと予め定義された閾値との比較に基づいて環境を新たな環境または予め定義された環境として識別する
ようにさらに構成される、請求項１１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願および優先権の相互参照
本出願は、２０１８年２月２３日にインドで出願された出願番号２０１８２１００７０２３の「六角形空間マップにおけるベクトルナビゲーションのためのコンテキストベースの経路計画（ＣＯＮＴＥＸＴ  ＢＡＳＥＤ  ＰＡＴＨ  ＰＬＡＮＮＩＮＧ  ＦＯＲ  ＶＥＣＴＯＲ  ＮＡＶＩＧＡＴＩＯＮ  ＩＮ  ＨＥＸＡＧＯＮＡＬ  ＳＰＡＴＩＡＬ  ＭＡＰＳ）」と題するインドの完全明細書に対する優先権を主張する。
【０００２】
技術分野
本明細書の開示は、一般に経路計画およびナビゲーション技術に関し、特に、六角形空間マップにおけるベクトルナビゲーションのためのコンテキストベースの経路計画に関する。
【背景技術】
【０００３】
今日のロボット（一般的な機械における）は、機械学習、深層学習などの技術を用いることによって人工知能（ＡＩ）化されている。しかし、これらのジャンルの技術の主な欠点は、第一に、システムがデータおよびそれの特徴についてのモデルを学習するために膨大な量の訓練データがシステムに供給される必要があり、それからこの訓練されたシステムが新たに入ってくる同じカテゴリーのデータについて識別または決定を行いうることである。次に、訓練データの一部の特徴が変化した場合には、システムが新たなタイプのデータを扱うために再訓練される必要がある。必要とされる訓練データの量が膨大であり、システムが毎回新たなタイプの類似のデータで再訓練される必要があるため、この種の人工知能テクノロジーは非常に複雑で時間がかかるだけでなく、多くのエネルギーも消費する。
【発明の概要】
【０００４】
本開示の実施形態は、従来のシステムで本発明者らにより認識された上述の技術的問題の一つ以上に対する解決策として技術的改善を提示する。例えば、一態様では、六角形空間マップにおけるベクトルナビゲーションのためのコンテキストベースの経路計画のためのプロセッサ実施方法が提供される。本方法は、二次元（２Ｄ）環境を取得し六角形格子マップ（a hexagonal grid map）に表現するステップであって、六角形格子マップは複数の六角形格子セルを含む、ステップと、複数の六角形格子セルからの複数の二つ以上の隣接するセルに関連する赤緑青（ＲＧＢ）値の比較に基づいて一つ以上のオブジェクトを識別するステップであって、一つ以上のオブジェクトは、複数の六角形格子セルからの一つ以上の六角形格子セルの中心からの各六角形格子セルの中心の距離と六角形の中心の数とに基づいて識別される、ステップと、識別された一つ以上のオブジェクトについて作成されたタプルに基づいて一つ以上の候補コンテキストを識別するステップと、六角形格子マップと一つ以上の予め記憶された六角形格子マップとの比較を反復的に行うステップであって、六角形格子マップは、（例えば回転技術、アフィン変形技術（affine transformation technique）、トポロジー変形技術などを使用して）一つ以上のバリエーションに変形され（transformed）、空間的類似性指数（ＳＳＱ；Ｓｐａｔｉａｌ  Ｓｉｍｉｌａｒｉｔｙ  Ｑｕｏｔｉｅｎｔ）（「類似性の定量的尺度」とも呼称される）を決定するためにマップデータベースから取得される一つ以上の予め記憶された六角形格子マップと反復的に比較され、空間的類似性指数は、六角形格子マップと一つ以上の予め記憶された六角形格子マップのうちの少なくとも一つとの重なりの程度を示す、ステップと、決定された空間的類似性指数に基づいて一つ以上の候補コンテキストから一つ以上のコンテキストを識別するステップと、一つ以上のオブジェクトと識別された一つ以上のコンテキストとに基づいて六角形格子マップ内のベクトルナビゲーションのための経路を動的に計画するステップとを含む。
【０００５】
一実施形態では、本方法は、注釈（an annotation）、境界正方形の辺（side of bounding square）、テンプレート形状、およびＲＧＢ値の分散（variance）に基づいて、一つ以上のオブジェクトのそれぞれについてオブジェクトデータベースを生成するステップと、タプル内の識別された一つ以上のオブジェクトを有する一つ以上の推定コンテキスト（probable contexts）のそれぞれについてコンテキストデータベースを生成するステップとをさらに含む。
【０００６】
一実施形態では、一つ以上のオブジェクトのＲＧＢ値が予め定義された閾値に等しいときには、一つ以上のオブジェクトは一つ以上の予め定義されたオブジェクトとして識別される。別の実施形態では、一つ以上のオブジェクトのＲＧＢ値が予め定義された閾値よりも大きいかまたは小さいときには、一つ以上のオブジェクトは新たなオブジェクトとして識別される。一実施形態では、一つ以上のオブジェクトのサイズおよび形状は、距離（例えば二つの六角形の中心の間のユークリッド距離）に基づいて決定される。
【０００７】
一実施形態では、本方法は、二つ以上のコンテキストの交差部分（intersection）を示す一つ以上の共通オブジェクトを識別するステップと、二つ以上のコンテキストの交差部分からの一つ以上の共通オブジェクトから識別された一つ以上のナビゲーション可能オブジェクトに基づいて経路を生成するステップとをさらに含む。
【０００８】
一実施形態では、一つ以上のコンテキストおよび一つ以上のオブジェクトは、一つ以上のセンサから取得される情報を用いて識別されうる。
【０００９】
一実施形態では、本方法は、後続の経路計画およびベクトルナビゲーションのために識別された一つ以上のオブジェクト、一つ以上のコンテキスト、および動的に計画された経路を用いてロボットを訓練するステップと、後続の経路計画およびベクトルナビゲーションに関する情報を含むデータベースを生成するステップとをさらに含みうる。
【００１０】
一実施形態では、本方法は、最大ＳＳＱを取得するために六角形格子マップと一つ以上の候補コンテキストとの比較を行うステップと、最大ＳＳＱと予め定義された閾値との比較に基づいて環境を新たな環境または予め定義された環境として識別するステップとをさらに含みうる。
【００１１】
別の態様では、六角形空間マップにおけるベクトルナビゲーションのためのコンテキストベースの経路計画のためのシステムが提供される。このシステムは、命令を記憶するメモリと、一つ以上の通信インタフェースと、一つ以上の通信インタフェースを介してメモリに結合された一つ以上のハードウェアプロセッサとを含み、一つ以上のハードウェアプロセッサは命令により、二次元（２Ｄ）環境を取得して六角形格子マップに表現し、六角形格子マップは複数の六角形格子セルを含み、複数の六角形格子セルからの複数の二つ以上の隣接するセルに関連する赤緑青（ＲＧＢ）値の比較に基づいて一つ以上のオブジェクトを識別し、一つ以上のオブジェクトは、複数の六角形格子セルからの一つ以上の六角形格子セルの中心からの各六角形格子セルの中心の距離と六角形の中心の数とに基づいて識別され、識別された一つ以上のオブジェクトについて作成されたタプルに基づいて一つ以上の候補コンテキストを識別し、六角形格子マップと一つ以上の予め記憶された六角形格子マップとの比較を反復的に行い、六角形格子マップは、（例えば回転技術、アフィン変形技術、トポロジー変形技術などを使用して）一つ以上のバリエーションに変形され、空間的類似性指数（ＳＳＱ）（「類似性の定量的尺度」とも呼称される）を決定するためにマップデータベースから取得された一つ以上の予め記憶される六角形格子マップと反復的に比較され、空間的類似性指数は、六角形格子マップと一つ以上の予め記憶された六角形格子マップのうちの少なくとも一つとの重なりの程度を示し、決定された空間的類似性指数に基づいて一つ以上の候補コンテキストから一つ以上のコンテキストを識別し、一つ以上のオブジェクトと識別された一つ以上のコンテキストとに基づいて六角形格子マップ内のベクトルナビゲーションのための経路を動的に計画するように構成される。
【００１２】
一実施形態では、ハードウェアプロセッサは命令により、注釈、境界正方形の辺、テンプレート形状、およびＲＧＢ値の分散に基づいて、一つ以上のオブジェクトのそれぞれについてオブジェクトデータベースを生成し、タプル内の識別された一つ以上のオブジェクトを有する一つ以上の推定コンテキストのそれぞれについてコンテキストデータベースを生成するようにさらに構成される。
【００１３】
一実施形態では、一つ以上のオブジェクトのＲＧＢ値が予め定義された閾値に等しいときには、一つ以上のオブジェクトは一つ以上の予め定義されたオブジェクトとして識別される。別の実施形態では、一つ以上のオブジェクトのＲＧＢ値が予め定義された閾値よりも大きいかまたは小さいときには、一つ以上のオブジェクトは新たなオブジェクトとして識別される。一実施形態では、一つ以上のオブジェクトのサイズおよび形状は、距離（例えば二つの六角形の中心の間のユークリッド距離）に基づいて決定される。
【００１４】
一実施形態では、ハードウェアプロセッサは命令により、二つ以上のコンテキストの交差部分を示す一つ以上の共通オブジェクトを識別し、二つ以上のコンテキストの交差部分からの一つ以上の共通オブジェクトから識別された一つ以上のナビゲーション可能オブジェクトに基づいて経路を生成するようにさらに構成される。
【００１５】
一実施形態では、一つ以上のコンテキストおよび一つ以上のオブジェクトは、一つ以上のセンサから取得される情報を用いて識別されうる。
【００１６】
一実施形態では、ハードウェアプロセッサは命令により、後続の経路計画およびベクトルナビゲーションのために識別された一つ以上のオブジェクト、一つ以上のコンテキスト、および動的に計画された経路を用いてロボットを訓練し、後続の経路計画およびベクトルナビゲーションに関する情報を含むデータベースを生成するようにさらに構成される。
【００１７】
一実施形態では、本方法は、最大ＳＳＱを取得するために六角形格子マップと一つ以上の候補コンテキストとの比較を行うステップと、最大ＳＳＱと予め定義された閾値との比較に基づいて環境を新たな環境または予め定義された環境として識別するステップとをさらに含みうる。
【００１８】
さらに別の態様では、一つ以上の命令を含む一つ以上の非一時的機械可読情報記憶媒体が提供される。一つ以上の命令は、一つ以上のハードウェアプロセッサによって実行されると、二次元（２Ｄ）環境を取得し六角形格子マップに表現するステップであって、六角形格子マップは複数の六角形格子セルを含む、ステップと、複数の六角形格子セルからの複数の二つ以上の隣接するセルに関連する赤緑青（ＲＧＢ）値の比較に基づいて一つ以上のオブジェクトを識別するステップであって、一つ以上のオブジェクトは、複数の六角形格子セルからの一つ以上の六角形格子セルの中心からの各六角形格子セルの中心の距離と六角形の中心の数とに基づいて識別される、ステップと、識別された一つ以上のオブジェクトについて作成されたタプルに基づいて一つ以上の候補コンテキストを識別するステップと、六角形格子マップと一つ以上の予め記憶された六角形格子マップとの比較を反復的に行うステップであって、六角形格子マップは、（例えば回転技術、アフィン変形技術、トポロジー変形技術などを使用して）一つ以上のバリエーションに変形され、空間的類似性指数（ＳＳＱ）（「類似性の定量的尺度」とも呼称される）を決定するためにマップデータベースから取得される一つ以上の予め記憶された六角形格子マップと反復的に比較され、空間的類似性指数は、六角形格子マップと一つ以上の予め記憶された六角形格子マップのうちの少なくとも一つとの重なりの程度を示す、ステップと、決定された空間的類似性指数に基づいて一つ以上の候補コンテキストから一つ以上のコンテキストを識別するステップと、一つ以上のオブジェクトと識別された一つ以上のコンテキストとに基づいて六角形格子マップ内のベクトルナビゲーションのための経路を動的に計画するステップとを含む方法を行わせる。
【００１９】
一実施形態では、命令は、注釈、境界正方形の辺、テンプレート形状、およびＲＧＢ値の分散に基づいて、一つ以上のオブジェクトのそれぞれについてオブジェクトデータベースを生成するステップと、タプル内の識別された一つ以上のオブジェクトを有する一つ以上の推定コンテキストのそれぞれについてコンテキストデータベースを生成するステップとをさらに引き起こす。
【００２０】
一実施形態では、一つ以上のオブジェクトのＲＧＢ値が予め定義された閾値に等しいときには、一つ以上のオブジェクトは一つ以上の予め定義されたオブジェクトとして識別される。別の実施形態では、一つ以上のオブジェクトのＲＧＢ値が予め定義された閾値よりも大きいかまたは小さいときには、一つ以上のオブジェクトは新たなオブジェクトとして識別される。一実施形態では、一つ以上のオブジェクトのサイズおよび形状は、距離（例えば二つの六角形の中心の間のユークリッド距離）に基づいて決定される。
【００２１】
一実施形態では、命令は、二つ以上のコンテキストの交差部分を示す一つ以上の共通オブジェクトを識別するステップと、二つ以上のコンテキストの交差部分からの一つ以上の共通オブジェクトから識別された一つ以上のナビゲーション可能オブジェクトに基づいて経路を生成するステップとをさらに引き起こす。
【００２２】
一実施形態では、一つ以上のコンテキストおよび一つ以上のオブジェクトは、一つ以上のセンサから取得される情報を用いて識別されうる。
【００２３】
一実施形態では、命令は、後続の経路計画およびベクトルナビゲーションのために識別された一つ以上のオブジェクト、一つ以上のコンテキスト、および動的に計画された経路を用いてロボットを訓練するステップと、後続の経路計画およびベクトルナビゲーションに関する情報を含むデータベースを生成するステップとをさらに引き起こす。
【００２４】
一実施形態では、命令は、最大ＳＳＱを取得するために六角形格子マップと一つ以上の候補コンテキストとの比較を行うステップと、最大ＳＳＱと予め定義された閾値との比較に基づいて環境を新たな環境または予め定義された環境として識別するステップとをさらに引き起こす。
【００２５】
前述の一般的な説明および以下の詳細な説明はいずれも例示的および説明的なものにすぎず、特許請求の範囲に記載される本発明を限定するものではないことを理解されたい。
【００２６】
本開示に組み込まれてその一部を構成する添付の図面は、例示的な実施形態を示し、説明とともに開示された原理を説明するのに役立つ。
【図面の簡単な説明】
【００２７】
【図１】本開示の一実施形態による六角形空間マップにおけるベクトルナビゲーションのためのコンテキストベースの経路計画のためのシステムの例示的なブロック図である。
【図２】本発明の一実施形態による図１のシステムを用いた六角形空間マップにおけるベクトルナビゲーションのためのコンテキストベースの経路計画のための例示的な方法である。
【図３Ａ】本開示の例示的実施形態による脳内のマップの六角形表現の例示的な図である。
【図３Ｂ】本開示の例示的実施形態による環境の六角形のテッセレーション（tessellation）を作成するための基本ビルディングブロックとして使用される二重の隣接する六角形の中心の作成を示す図である。
【図４】本開示の一実施形態による２Ｄ環境を示す図である。
【図５Ａ】本開示の例示的実施形態による六角形格子セル間の異なる中心間距離に基づく一つ以上のズームレベルでの２Ｄ環境の六角形格子マップへの表現を示す図である。
【図５Ｂ】本開示の例示的実施形態による六角形格子セル間の異なる中心間距離に基づく一つ以上のズームレベルでの２Ｄ環境の六角形格子マップへの表現を示す図である。
【図５Ｃ】本開示の例示的実施形態による六角形格子セル間の異なる中心間距離に基づく一つ以上のズームレベルでの２Ｄ環境の六角形格子マップへの表現を示す図である。
【図６】本開示の例示的実施形態による空間的類似性指数（ＳＳＱ）を決定するための一つ以上の予め記憶された六角形格子マップとの比較のために一つ以上のバリエーションに変形された六角形格子マップの表現を示す図である。
【図７】本開示の例示的実施形態による、六角形格子マップの元のバージョンと回転されたバージョンとの間の比較および２００度で見出された最大類似性を示すグラフ表現を示す図である。
【図８】本開示の例示的実施形態による六角形格子マップ内の転換された経路（a translated path）を示す図である。
【図９】本開示の例示的実施形態による図１のシステムの実施態様を示す例示的なブロック図である。
【発明を実施するための形態】
【００２８】
例示的な実施形態が、添付の図面を参照して説明される。図面において、参照番号の左端の数字は、その参照番号が最初に登場する図面を特定する。都合のよいときにはいつでも、同一または類似の部分を指すために図面全体を通して同じ参照番号が使用される。開示された原理の例および特徴が本明細書に記載されるが、開示された実施形態の本旨および範囲から逸脱することなく修正、適合、および他の実施態様が可能である。以下の詳細な説明は例示としてのみ考えられ、真の範囲および本旨は後続の特許請求の範囲によって示されることが意図される。
【００２９】
上述のように、ロボットは、データおよびそれの特徴を学習および採用できるようにするために膨大な量の訓練データを必要とするナビゲーションアプリケーションのために、例えば機械学習、深層学習などの技術を用いることによって人工知能化されている。しかし、これらのタイプの技術は、必要な訓練データの量、および複雑性、時間およびエネルギーの消費ならびにより多くの計算パワーにつながる任意の新たなデータタイプを扱うために再訓練を受ける必要があるシステムに関していくつかの課題を有する。
【００３０】
他方で、これは哺乳動物の脳には当てはまらない。哺乳動物の脳、例えばヒトの脳は、ごくわずかなデータセットで訓練されることができ、同様にごくわずかなデータセットで自らを再訓練することができる。これらにより、哺乳動物の脳は同じデータの様々なコンテキストおよびセマンティクスを識別し取り扱うことができる。そしてこれらは全て非常に迅速に、従来のＡＩシステムよりもはるかに少ないエネルギーを消費して行われる。
【００３１】
したがって、機械を訓練するためにヒトの脳が用いる技術を実装することが、現在、本開示の焦点である。脳は空間的および時間的情報を異なって記憶するが、コンテキストを迅速に切り替えることによってこれらをシームレスに取り扱う。本開示においては、それの実施形態は、脳のような空間的情報表現に焦点を合わせ、それがロボットのナビゲーションのためのインテリジェントな経路計画にいかに効率的に使用されうるかを示している。以下が主な課題領域である。
【００３２】
ロボットは、容易なナビゲーションのために多くのリアルタイムの経路計画を行う必要がある。これはロボットにとって非常に時間がかかり複雑な作業である。動的環境の場合には、これはさらに複雑になる。さらに、全ての経路計画アルゴリズムが、正方形格子を使用して環境を表現し、それに応じて経路を計画する。他方で、脳は複数の六角形格子のテッセレーションの重ね合わせによって環境を表現する。
【００３３】
同時に、ロボットの経路計画のために二つの環境の間の空間的類似性を識別することに関する努力は存在するが、これらは脳のようにはあまり効率的ではなく、六角形格子システムでは働かない。したがって、二つの環境の間の空間的類似性を識別することにより、ロボットに、第二の環境において経路計画の計算労力をいかに節約するかの情報が与えられうる。
【００３４】
本開示の実施形態は、様々な環境におけるロボットの経路計画のために環境の空間的コンテキストを作成および使用するためのシステムおよび方法を提供する。脳はこれを経路計画のために非常に効率的に行う。空間的情報を繰り返すことにより、または（閾値限界内の）空間的類似性を見つけることにより、空間的コンテキストを作成することができ、これが異なるコンテキストを有する空間的環境の間の容易なナビゲーションのために再び使用されうる。
【００３５】
本開示において、実施形態は、環境のマップを表現し、そのマップにおけるロボットのナビゲーションの経路を計画するための脳の技術の利用を実装する。これを達成するために、環境が六角形格子マップの形に変換（convert）または表現される。本開示の実施形態は、ロボットのためのオブジェクトデータベースおよびコンテキストデータベースを作成するためのシステムおよび方法を提供する。本開示の実施形態は、二つ（またはそれ以上）のそのようなマップの間の空間的類似性を識別することをさらに可能にし、その空間的類似性についての定量的尺度、すなわち空間的類似性指数（ＳＳＱ）を導入する。より多くの空間的情報を繰り返すことによって、本開示は、その情報からコンテキストを作成し、それらのコンテキストをコンテキスト的に異なる環境におけるシームレスなナビゲーションのために使用することを提案する。
【００３６】
さらに、マップは通常、正方形格子または占有格子（occupancy grids）に関して表現されるが、この点では脳のようではない。したがって、本開示は、脳と一致するように六角形格子構造マップに焦点を合わせる。経路計画アルゴリズムは通常、六角形格子では機能しない。本開示は、六角形格子で機能するために既存のアルゴリズムにも適応する。現在、従来の経路計画およびナビゲーションシステムは、環境の空間的類似性に焦点を合わせていない。これに対して、本開示は、二つの環境の間の空間的類似性を測定するために環境の空間的類似性を利用する経路計画およびナビゲーションシステムに焦点を合わせる。この類似性に基づいて、システムが各環境の動的オブジェクトの推定空間分布（probable spatial distribution）を計算する。さらに、本開示は、より長いコンテキスト間経路計画のためにセマンティックコンテキストステッチング（semantic context stitching）も実装した。
【００３７】
ここで図面、特に、類似の参照文字が図面全体を通して一貫して対応する特徴を表す図１〜９を参照すると、好ましい実施形態が示されており、これらの実施形態が以下の例示的なシステムおよび／または方法の文脈で説明される。
【００３８】
図１は、本開示の一実施形態による六角形空間マップにおけるベクトルナビゲーションのためのコンテキストベースの経路計画のためのシステム１００の例示的なブロック図を示す。一実施形態では、システム１００は、一つ以上のプロセッサ１０４と、通信インタフェースデバイス（単数または複数）または入力／出力（Ｉ／Ｏ）インタフェース（単数または複数）１０６と、一つ以上のプロセッサ１０４に動作可能に結合された一つ以上のデータ記憶デバイスまたはメモリ１０２とを含む。一つ以上のプロセッサ１０４は、一つ以上のソフトウェア処理モジュールおよび／またはハードウェアプロセッサでありうる。
【００３９】
一実施形態では、ハードウェアプロセッサは、一つ以上のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理ユニット、状態機械、論理回路、および／または動作命令に基づいて信号を操作する任意のデバイスとして実装されうる。数ある能力の中で、プロセッサ（単数または複数）は、メモリに記憶されたコンピュータ可読命令をフェッチおよび実行するように構成される。一実施形態では、デバイス１００は、ラップトップコンピュータ、ノートブック、ハンドヘルドデバイス、ワークステーション、メインフレームコンピュータ、サーバ、ネットワーククラウドなどの様々なコンピューティングシステムにおいて実装されうる。
【００４０】
Ｉ／Ｏインタフェースデバイス（単数または複数）１０６は、様々なソフトウェアおよびハードウェアインタフェース、例えばウェブインタフェース、グラフィカルユーザインタフェースなどを含むことができ、例えばＬＡＮ、ケーブルなどの有線ネットワーク、およびＷＬＡＮ、セルラ、または衛星などの無線ネットワークを含む多様なネットワークＮ／Ｗおよびプロトコルタイプ内での複数の通信を促進することができる。一実施形態では、Ｉ／Ｏインタフェースデバイス（単数または複数）は、いくつかのデバイスを互いにまたは別のサーバに接続するための一つ以上のポートを含みうる。
【００４１】
メモリ１０２は、例えばスタティックランダムアクセスメモリ（ＳＲＡＭ；ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）およびダイナミックランダムアクセスメモリ（ＤＲＡＭ；ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）などの揮発性メモリ、および／または読み取り専用メモリ（ＲＯＭ；ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、消去可能プログラム可能ＲＯＭ、フラッシュメモリ、ハードディスク、光ディスク、および磁気テープなどの不揮発性メモリを含む、当技術分野で知られる任意のコンピュータ可読媒体を含みうる。一実施形態では、一つ以上のデータベース（単数または複数）１０８Ａ〜Ｎ（例えばオブジェクトデータベース、コンテキストデータベース、マップデータベース）がメモリ１０２に記憶されることができ、データベース（単数または複数）１０８Ａ〜Ｎは、一つ以上のオブジェクト、一つ以上のコンテキスト、一つ以上の予め定義された閾値、一つ以上の予め定義された六角形空間マップ、訓練データなどに関する情報を含みうるがこれらに限定されない。一実施形態では、メモリ１０２は、本明細書に記載された方法論を行うためにデータパターンの学習を可能にし、学習パターンを評価し、訓練データを使用してシステム１００を訓練するために一つ以上のハードウェアプロセッサ１０４によって（またはシステム１００によって）利用される、システム１００によって学習される訓練データを記憶しうる。
【００４２】
図２は、図１を参照して、本発明の一実施形態による図１のシステム１００を用いた六角形空間マップにおけるベクトルナビゲーションのためのコンテキストベースの経路計画のための例示的な方法を示す。一実施形態では、システム（単数または複数）１００は、一つ以上のハードウェアプロセッサ１０４に動作可能に結合され、一つ以上のプロセッサ１０４による方法のステップの実行のための命令を記憶するように構成された、一つ以上のデータ記憶デバイスまたはメモリ１０２を含む。ここで本開示の方法のステップを、図１に示されるシステム１００の構成要素および図２のフローダイヤグラムを参照して説明する。
【００４３】
図３Ａは、図１〜２を参照して、Ｇ．ＢｕｚｓａｋｉおよびＥ．Ｉ．Ｍｏｓｅｒにより表題「海馬‐内嗅系における記憶、ナビゲーションおよびシータリズム（Ｍｅｍｏｒｙ，ｎａｖｉｇａｔｉｏｎ  ａｎｄ  ｔｈｅｔａ  ｒｈｙｔｈｍ  ｉｎ  ｔｈｅ  ｈｉｐｐｏｃａｍｐａｌ‐ｅｎｔｏｒｈｉｎａｌ  ｓｙｓｔｅｍ）」、Ｎａｔｕｒｅ  ｎｅｕｒｏｓｃｉｅｎｃｅ，ｖｏｌ．１６，ｎｏ．２，ｐｐ．１３０‐１３８，２０１３の文献に著されたような例示的な実施形態による脳内のマップの六角形表現の例示的な図を表す。ロボットの経路計画は計算集約的な作業である。動的環境では、これは障害物の配置および向きが頻繁に変化する場合により厄介である。しかし、前述のように、哺乳動物の脳（特にヒトの脳）は同じ作業を非常に迅速かつ効率的に行う。哺乳動物の脳は、新たな環境に直面するたびに盲目的に再計画することはない。代わりに、哺乳動物の脳は、環境間の空間的類似性を見つけようとし、コンテキストの類似性を理解することを試み、以前に計画された経路の影響を受けた部分についてインテリジェントに再計画するか、またはいくつかの変形幾何学操作（transformational geometric operations）を行うことによって以前に計画された経路をそのまま使用しようとする。
【００４４】
最初のハードルとして、脳はロボットのようには環境を表現しない。ロボットは通常、正方形占有格子バージョンのマップにおいてロボットの経路を計画するのに対して、脳はそれを複数の六角形格子のテッセレーションの重ね合わせによって表現する。これらは、ＧＲＩＤセルと呼ばれる海馬ニューロンの発火によって行われる。同時に、ヒトが興味のあるオブジェクトを見るといくつかのＰＬＡＣＥセルニューロンが発火する。ヒトのナビゲーションでは、これら二つのタイプの発火セルの複雑な表現が、図１に示されるような脳内のマップの六角形表現にほぼ見えるマップにおいて使用される。ロボットの経路計画をより効率的にするために、本開示は、そのような脳の機能性が計画された経路のためのベクトルナビゲーションのために実装されることを試みている。図２に戻って参照すると、ステップ２０２で、本開示の一実施形態では、一つ以上のハードウェアプロセッサ１０４が、二次元（２Ｄ）環境を取得し、この二次元（２Ｄ）環境を六角形格子マップに表現し、六角形格子マップは、複数の六角形格子セルを含む。
【００４５】
三角形および正方形とともに、六角形は２次元空間をテッセレートできる唯一の正多角形である。三角形や正方形とは異なり、六角形はわずかな利点を有する、例えば六角形は移動の自由度をもう二つ有し、六角形は同面積の他の二つの多角形（例えば三角形および正方形）よりも効率よく空間を占有する。同時に、２次元空間のニューラルマップは、脳において正六角形のテッセレーションによって表現される。ロボットでヒトのナビゲーションおよび経路計画を模倣するためには、最初のハードルは、六角形の効率的な表現を作成することである。２Ｄ空間を表現するためには最低二つのパラメータ、例えばデカルト座標系におけるＸ‐Ｙ座標または極座標系における半径‐角度（Rad−Ang）が必要である。デカルト座標は、正規直交基底ベクトル（orthonormal basis vectors）に基づくため効率的である。しかし、デカルト格子セルの上に六角形格子を重ねることによりエイリアシング（aliasing）の問題が生じる。さらに、（行および列画素を有する）画素化ディスプレイ上での六角形格子の視覚表現のためには、六角形座標を表示段階でＸ‐Ｙ値に転換する（translate）ことが必要である。したがって、データ構造は、表示の前に六角形格子への転換を必要とするアレイベース（array based）でありうるか、または、スクリーン上へのレンダリングの前に基本正規直交（fundamental orthonormal）Ｘ‐Ｙ座標に転換される、全ての計算が基本Ｙ軸（またはＸ軸）から６０度回転された基底ベクトルで行われる六角形格子の中心のリストでありうる。後者の場合は、六角形セルの中心の位置を実際に記憶し、後に空間的類似性を見つけるために取り扱い易いために好ましい（図３Ｂ参照）。より具体的には、図３Ｂは、図１〜３Ａを参照して、本開示の例示的実施形態による環境の六角形のテッセレーションを作成するための基本ビルディングブロックとして使用される二重の隣接する六角形の中心の作成を示す。六角形セルは、デカルトＸ軸に対してＡ軸が０度、Ｂ軸が６０度の６０度角の（60-deg angled）座標系にスナップされる（慣例：正の角度＝反時計回り）。正六角形格子セルは直径（ｄで表される）を有し、これがマップの倍率または解像度（頂点から頂点の画素の距離）である。この新たなＡ‐Ｂ座標系における六角形格子セル（ａ，ｂ）は、｛ｘ＝（ａ＋０．５＊ｂ）＊ｄ｝および｛ｙ＝（ｓｑｒｔ（３）＊ｂ／２）＊ｄ｝の変形を用いて表示のためにＸ‐Ｙ画素座標に容易に転換されうる。（ａ，ｂ）の６つのムーア／フォンノイマン（Moore/von-Neumann）［参照］近傍セルは、｛（ａ＋１，ｂ）、（ａ，ｂ＋１）、（ａ−１，ｂ＋１）、（ａ−１，ｂ）、（ａ，ｂ−１）、（ａ＋１，ｂ−１）｝である。ムーア／フォンノイマン近傍セル技術は、Ｊ．Ｓｃｈｉｆｆにより著された文献、表題「セルオートマトン入門（Ｉｎｔｒｏｄｕｃｔｉｏｎ  ｔｏ  ｃｅｌｌｕｌａｒ  ａｕｔｏｍａｔａ）」、２００５より参照される。以下は、ムーア近傍およびフォンノイマン近傍の説明である。
【００４６】
ムーア近傍（Moore neighbours）：正方形格子における任意の所与のセルに対し八つの周囲セルがあり、そのうち四つは現在のセルと少なくとも一つの辺および頂点を共有し、残りの四つは少なくとも一つの頂点を共有する（が辺は共有しない）。正方形格子において、頂点を共有する角セル（vertex-sharing corner cells）は、辺を共有するセルに対して√２：１の距離比を有する。
【００４７】
フォンノイマン近傍（Von-Neumann neighbours）：正方形格子で、四つの辺を共有するセル（side-sharing cells）のみが所与のセルのフォンノイマン近傍と考えられる。これらのセルの中心は全て、現在のセルの中心から等しい距離にある。
【００４８】
図４は、図１〜３を参照して、本開示の一実施形態による２Ｄ環境を示す。図５Ａ〜５Ｃは、図１〜４を参照して、本開示の例示的実施形態による六角形格子セル間の異なる中心間距離に基づく一つ以上のズームレベルでの２Ｄ環境の六角形格子マップへの表現を示す。本開示の一実施形態では、ステップ２０４で、一つ以上のハードウェアプロセッサ１０４が、複数の六角形格子セルからの複数の二つ以上の隣接するセルに関連する赤緑青（ＲＧＢ）値の比較に基づいて一つ以上のオブジェクトを識別する。一実施形態では、一つ以上のオブジェクトは、一つ以上の六角形の中心からの各六角形の中心の距離と六角形の中心の数とに基づいて識別される。一実施形態では、一つ以上のオブジェクトのサイズおよび形状は、距離に基づいて決定される。例示的実施形態では、本明細書における距離は、二つの六角形の中心の間のユークリッド距離またはマンハッタン距離のうちの少なくとも一つを指す。一実施形態では、各六角形格子セルの平均ＲＧＢ値が、ａ‐ｂ座標の六角形の中心とともに記憶される。したがって、各六角形の中心が平均ＲＧＢ値と関連しうる。類似のＲＧＢ値を有する隣接する六角形セルは、当該オブジェクトの色および形状がそれほど変化し得ないと想定されるため一つのオブジェクトを表現しうる。
【００４９】
システム１００は、初学者のように、環境（単数または複数）の画像（単数または複数）を受け取り、次に（上記のＲＧＢスキームにより）そのマップ内で何が異なるオブジェクトであるかを見つけ出し、それらに列挙型で注釈を付ける。画像は、六角形の中心の累積距離に関しておよび六角形の中心の数に関して、六角形ドメインにおけるオブジェクトのサイズ、形状についてのアイデア（idea）も提供する。それ故、タプル（例えば９組タプル）が以下に例として示すように作成されうる。
＜注釈、境界正方形の辺、テンプレート形状、色（ｒ、ｇ、ｂ、ｒの分散、ｇの分散、ｂの分散）＞
【００５０】
注釈の場合、形状は、環境の範囲に応じて定義済み列挙型（predefined enumerations）とすることができる。９組タプル（9 tuple）の最後の項目は、画像／環境内のオブジェクトのＲＧＢ値を含む色である。ますます多くの画像がシステム１００に供給されるほど、色経験が変化し得、対応するｒ、ｇおよびｂ値の分散が更新され、記憶されうる。しかし、ｒ、ｇ、ｂの値が閾値を超えると、それは新たな色または新たなオブジェクトと解釈されうる。言い換えれば、一実施形態では、一つ以上のオブジェクトのＲＧＢ値が予め定義された閾値に等しいときには、一つ以上のオブジェクトは一つ以上の予め定義されたオブジェクトとして識別される。別の実施形態では、一つ以上のオブジェクトのＲＧＢ値が予め定義された閾値よりも大きいかまたは小さいときには、一つ以上のオブジェクトは新たなオブジェクトとして識別される。
【００５１】
実例を挙げると、一つのそのような９組タプルは、
＜Ｏｂｊ＿ｔｙｐｅ＿１，２０ｐｉ  Ｘ  ３５ｐｉ，Ｒｏｕｎｄ，Ｇｒｅｙ（１２７，１２７，１２７，１０，１４，１８）＞
でありうる。
【００５２】
そのようなタプル（例えば９組タプル）はデータベース（例えばオブジェクトデータベース）に記憶される。
【００５３】
本開示の一実施形態では、ここでの分散値の所定の閾値は２０とされ、それが全ての分散値がその許容限界内である理由です。
【００５４】
経験により、すなわちますます多くの画像により、システム１００は、豊かなオブジェクト（単数または複数）／オブジェクトデータベースを作成し続ける。
【００５５】
一つ以上のオブジェクトを識別すると、ステップ２０６で、一つ以上のハードウェアプロセッサ１０４は、識別された一つ以上のオブジェクトについて作成されたタプル（例えば９組タプル）に基づいて一つ以上の候補コンテキストを識別する。本開示の一実施形態では、ステップ２０８で、一つ以上のハードウェアプロセッサ１０４は、六角形格子マップと一つ以上の予め記憶された六角形格子マップとの比較を反復的に行う。一実施形態では、より具体的には、空間的類似性指数（ＳＳＱ）を決定するために、表現された六角形格子マップが一つ以上のバリエーションに変形され（例えば一つ以上の角度で回転され）、（マップデータベースから取得される）一つ以上の予め記憶された六角形格子マップと反復的に比較される。図６は、図１〜５Ｃを参照して、本開示の例示的実施形態による空間的類似性指数（ＳＳＱ）を決定するために（コンテキストとしても知られる）一つ以上の予め記憶された六角形格子マップとの比較のための一つ以上のバリエーションに変形された六角形格子マップの表現を示す。本開示の一実施形態では、六角形格子マップは、回転技術、アフィン変形技術、トポロジー変形技術などのうちの少なくとも一つを用いて一つ以上のバリエーションに変形される。より具体的には、一例示的実施形態では、図６に示すように、六角形格子マップが、一つ以上の予め記憶された六角形格子マップとの比較のために一つ以上の角度で回転される。言い換えれば、ＳＳＱの決定または計算のために、六角形格子マップの一つ以上の変形されたバリエーションが、一つ以上の予め記憶された六角形格子マップと比較される。一実施形態では、ＳＳＱは「類似性の定量的尺度」とも呼ばれ、空間的類似性指数は、六角形格子マップと少なくとも一つの予め記憶された六角形格子マップのうちの少なくとも一つとの重なりの程度を示す。図７は、図１〜６を参照して、本開示の例示的実施形態による、六角形格子マップの元のバージョンと回転されたバージョンとの間の比較および２００度で見出された最大類似性のグラフ表現を示す。より具体的には、２００度の回転で、六角形格子マップと一つ以上の予め記憶された六角形格子マップのうちの少なくとも一つとのかなりの（または最大）程度の重なりを決定する最大類似性が得られる。より具体的には、図７は、本開示の例示的実施形態による図５Ｂおよび６の六角形格子マップの間の空間的類似性指数（ＳＳＱ）の比較のグラフ表現を示す。
【００５６】
図２に戻って参照すると、本開示の一実施形態では、ステップ２１０で、一つ以上のハードウェアプロセッサ１０４が、決定された空間的類似性指数に基づいて一つ以上の候補コンテキストから一つ以上のコンテキストを識別する。
【００５７】
システム１００が入力としてますます多くの環境（単数または複数）を供給されるかまたは経験するにしたがい、システム１００は「オブジェクトデータベース」すなわちタイプＯデータベース内のオブジェクトのいずれがその環境に存在するのか、またいかなる確率で存在するのかを識別する。これは、タイプＯデータベースにｎ個のオブジェクトがある場合には、各環境またはコンテキストＣはｎ組タプルで表現され、タプル内の各要素は、オブジェクトｎがそのコンテキスト内にある確率値であることを意味する。したがって、一コンテキストＣｉは集合｛Ｐｉ｝となり、ｉは１〜ｎにわたり、Ｐｉはｉ番目のオブジェクトがそのコンテキストＣｉで存在する確率を表す。一実施形態では、一環境内に全てのオブジェクトが存在するわけではないため、いくつかの確率がゼロではなく、残りの確率がゼロであることもある。例えば、あるコンテキスト（別名（aka）環境）は、ＢｅｄＲｏｏｍ（例えばＣｋ）と呼ばれ、Ｂｅｄ、Ｂｅｄｌａｍｐ、ＡＣ（例えばＯ２、Ｏ８、Ｏ１０）などと注釈を付けられたいくつかのタイプＯオブジェクトを含む。別のコンテキストはＤｒａｗｉｎｇＲｏｏｍ（例えばＣｊ）であり得、例えばＣｈａｉｒ、Ｔａｂｌｅ、ＴＶ（例えばＯ５、Ｏ９、Ｏ７）などのいくつかのタイプＯオブジェクトが存在する。
【００５８】
したがって、これらの場合のコンテキストの表現は次のようになりうる。
Ｃｋ＝｛０，０．４，０，０，０，０，０，０．９，０，０．５，０，．．．．．ｍまで｝→ＢｅｄＲｏｏｍ
Ｃｊ＝｛０，０，０，０，０．５，０，０．９，０，０．２，０，０，．．．．．ｍまで｝→ＤｒａｗｉｎｇＲｏｏｍ
【００５９】
システム１００がこの種の環境の経験をより多く集めるほど、システム１００は、異なるコンテキストごとのタイプＯオブジェクトの正確な集合をより信頼性をもって識別しうる。コンテキストの集合は、「タイプＣデータベース」と呼称されうる。
【００６０】
したがって、タイプＣデータベースの各エントリはコンテキストである。マッピングデータベースは、実際には、オブジェクトが異なるコンテキストに存在する確率を含む行列である、すなわち列はタイプＢデータベースからのオブジェクトであり、行は環境またはコンテキスト、すなわちタイプＣデータベースからのエントリである。コンテキストデータベースのサンプル行列が、以下に例として表現されうる。
【表１】
2019169125.tif 000003
【００６１】
本開示の一実施形態では、各セル内の確率の値は、システム１００の存続期間が長くなるにしたがって変化し続けうる、すなわち、ますます多くの環境／オブジェクトおよび環境／オブジェクトの繰り返しがシステム１００によって処理されるにしたがって値が変化する。
【００６２】
図２に戻って参照すると、一実施形態では、ステップ２１２で、一つ以上のハードウェアプロセッサ１０４は、一つ以上のオブジェクトと識別された一つ以上のコンテキストとに基づいて六角形格子マップ内のベクトルナビゲーションのための経路（例えば開始地点および終了地点）を動的に計画する。
【００６３】
タイプＯおよびタイプＣデータベースが生成されると、システム１００が新たな環境を受け取ったときに、システム１００は、（タイプＯの）オブジェクトのいずれかがそのシーンに存在するか否かを判断する。タイプＯオブジェクトのある集合が見つかった場合、タイプＣからのコンテキストが検索される。しかし、タイプＯの集合は、タイプＣからのコンテキストと一対多数の関係を有しうる。したがって、所与のシーンについてタイプＣからの複数のマッチ（matches）が検索されうる。例えば、タイプＯからのボールおよび人（ball and man）が、タイプＣからの「ｒｏｏｍ」および「ｐｌａｙｇｒｏｕｎｄ」の環境に一緒に存在しうる。
【００６４】
推定タイプＣコンテキストの集合が識別されると、システム１００は、これらの推定コンテキストと新たに到着したコンテキストとの間の意味的類似性を比較する。現在のマップおよび推定タイプＣコンテキストによる最大空間的類似性指数（ＳＳＱ）を識別するために、幾何学的変形、六角形回転、拡大縮小技術などが、マップの全体または一部に適用されうる。本開示の一実施形態では、（ユースケースまたはエンドアプリケーションの精度要求にしたがって）ＳＳＱのある閾値が定義され、推定コンテキスト（または候補コンテキスト）と検討下の六角形格子マップとの間で比較が行われる。言い換えれば、一つ以上のハードウェアプロセッサ１０４は、最大ＳＳＱを取得するために六角形格子マップと一つ以上の候補コンテキストとの比較を行い、最大ＳＳＱと予め定義された閾値との比較に基づいて環境を新たな環境または予め定義された環境として識別する。最大ＳＳＱが予め定義された閾値を下回るときには、システム１００は、対応するタイプＯオブジェクトの部分集合を有する現在の六角形格子マップを新たな環境として識別する、すなわちタイプＣコアデータベースのメンバーが一つ増加する。言い換えれば、最大ＳＳＱが閾値よりも大きい場合には、それは予め定義された環境であり、そうではなく最大ＳＳＱが閾値以下であるときには、それは新たな環境である。
【００６５】
以下は、ＳＳＱを計算するために実装される例示的式である。
【００６６】
所与のマップの一つの六角形の中心は座標（ａ１，ｂ１）を有すると仮定される。マップ全体はそのような六角形の集合、例えばＮであり、マップは｛（ａｉ，ｂｉ）｝∀ｉ∈Ｎとして表現されうる。同時に、システム１００がＳＳＱを見つけたいマップは、例えば、以下のような類似の座標集合を有する。
【数１】
2019169125.tif 000004
これらの二つのマップがどの角度で最もマッチするかがさらに決定される。その目的のために、システム１００は最初のマップをある角度ステップ、例えばｒ°で回転させる。このように、システムは各角度θ∈｛ｒ°，２ｒ°，３ｒ°，．．．，３６０°｝についてＳＳＱを見つけようとする。回転のため、各六角形の中心の座標ベクトル［ａｉｂｉ］が回転行列Ｒで乗算されて、新たな回転座標ベクトル
【数２】
2019169125.tif 000005
が生じ、ここでＲは、例として以下の式で表される。
【数３】
2019169125.tif 000006
ＳＳＱは、そのような回転角度θごとに以下の例示的式によって計算される。
【数４】
2019169125.tif 000007
異なる試行ステップのうち、ＳＳＱθの最小値が得られるθが、二つのマップ間に最大類似性が存在する回転角度を表すと考えられる。ターゲット経路はマップのうちの一方について既知であり、経路計画アルゴリズムを実行することなく他方のマップでの経路の直接転換を見つけることが意図される。図７に示されるＳＳＱθ対θのプロットは、これらの二つのマップが、ＳＳＱθが最小である２００°の角度で空間的に類似することを示す。転換された経路が図８に点線表示で示される。
【００６７】
しかし、ＳＳＱが予め定義された閾値より高く、したがってコンテキスト、例えばコンテキストＣ１との意味的マッチを伝達する場合には、そのコンテキストの対応する詳細がこの新たなエントリからの読み取りで更新される、すなわちコンテキストＣ１が確信値（belief value）／確率および読み取りの数で更新される。同様に、（コンテキストＣ１に存在する）タイプＯオブジェクトの対応するエントリも更新される、すなわち各オブジェクトの分散が更新される。
【００６８】
各コンテキストは、以下に例として提供される３組タプルからなるタイプＳデータベースによって表現され：
＜ａ，ｂ，ＯｂｊｅｃｔＰｒｏｂａｂｉｌｉｔｙ＞、ここでａおよびｂは上記に定義された（ａ，ｂ）座標系における六角形の中心の座標であり、ＯｂｊｅｃｔＰｒｏｂａｂｉｌｉｔｙは、タイプＯデータベースに定義されたものの中から任意のオブジェクトを見つける結合確率（combined probability）である。タイプＳデータベースは、これら３組タプルにそれぞれ対応する複数のエントリを有する。
【００６９】
あるいは、（１−ＯｂｊｅｃｔＰｒｏｂａｂｉｌｉｔｙ）が、六角形格子セルがロボットの運動のためにフリーである確率として考えられることができる。これは、（１−ＯｂｊｅｃｔＰｒｏｂａｂｉｌｉｔｙ）がゼロの場合には、六角形格子セルはナビゲーションのために完全にフリーであり、六角形格子マップにおいてそのセルに障害物が存在しないことを意味する。
【００７０】
このコンテキストの表現は、以下の例によって提供されるより豊かな様式で考えられることができる。
＜ａ，ｂ，ＯｂｊｅｃｔＡｎｎｏｔａｔｉｏｎ，ＯｂｊｅｃｔＰｒｏｂａｂｉｌｉｔｙ，ｎｏＯｆＯｂｓｅｒｖａｔｉｏｎ＞
【００７１】
ここでａ、ｂ、ＯｂｊｅｃｔＰｒｏｂａｂｉｌｉｔｙは同じ意味を持ち、ＯｂｊｅｃｔＡｎｎｏｔａｔｉｏｎはタイプＯデータベースからのオブジェクトの名前であり、ｎｏＯｆＯｂｓｅｒｖａｔｉｏｎは、システムがこの特定のオブジェクトがその環境においてこの特定の（ａ，ｂ）座標を占有することを知ったこの環境を経験した回数を表す。最後のパラメータを含めることにより、この特定のオブジェクトがこの特定の場所を占有するというシステム１００の確信の重みが提供される。これは次に、環境の時間発展をモデル化するために使用されうる。
【００７２】
実例を挙げると、コンテキストＣｉにおける一つのそのようなタプルは以下のように表現されることができ、
【００７３】
＜１０，１２，Ｃｈａｉｒ，０．６，３０＞、これは、（１０，１２）の座標に０．６の確率で椅子が存在するとシステムが確信しており、それが過去３０回の観察に基づいて計算されているかまたは真実であると確信されることを意味する。
【００７４】
ここで確率の値は観察回数の増加と共に変化し、例えば８０回の観察後には、タプルは以下のように表現されうる。
＜１０，１２，Ｃｈａｉｒ，０．４，５０＞
そして、その座標に関して２つの新たなタプルが追加されて以下のように表現されうる。
＜１０，１２，Ｔａｂｌｅ，０．４，２０＞
＜１０，１２，ｎｏｎｅ、０．２，１０＞
【００７５】
これは、（１０，１２）に常にＣｈａｉｒがあるわけではないことを意味する。Ｃｈａｉｒは最初の５０回の反復ではそこにあったが、次の２０回の反復ではＴａｂｌｅと呼ばれる新たなオブジェクトが存在し、そのため最初のタプルのＣｈａｉｒの確率が低下し、Ｔａｂｌｅについての新たなタプルが作成される。これとともに、最後の１０回の観察によればその特定の座標には何も置かれておらず、これはその特定の座標に障害物がないことを意味する。
【００７６】
このタプルの記録、反復または観察回数を経てそれらがどのように変化するかについての記録をシステムが記憶すれば、システムはそれらの記録から、オブジェクト（単数または複数）の配置の性質が時間または観察回数を経てどのように時間とともに変化するか、およびマップ全体が時間を経てどのように変化するかを自動的に推論することができる。この時間発展が通常の特徴であると分かった場合には、この時間発展がその環境についての安定した時間モデルを作成するために用いられうる。この時間発展の特徴を組み込むために、本開示はタプル内にタイムスタンプを組み込み、これらは以下のように表現されうる。
＜１０，１２，Ｃｈａｉｒ，Ｔｉｍｅ１＞，＜１０，１２，Ｃｈａｉｒ，Ｔｉｍｅ２＞．．．．＜１０，１２，Ｃｈａｉｒ，Ｔｉｍｅ５０＞
＜１０，１２，Ｔａｂｌｅ，Ｔｉｍｅ５１＞．．．．＜１０，１２，Ｔａｂｌｅ，Ｔｉｍｅ７１＞
＜１０，１２，ｎｏｎｅ，Ｔｉｍｅ７２＞．．．．＜１０，１２，ｎｏｎｅ，Ｔｉｍｅ８２＞
【００７７】
言うまでもなく、これらのタプルは、システム１００がその存続期間または訓練において経験する複数の状況（ここでは観察）に基づいて作成される。訓練／経験が多くなるほど、注釈に対するこれらのタプルの確率値がより精緻化され、確信できるものとなる。
【００７８】
ロボット（または機械）のためにコンテキストが言及されると、そのロボット（または機械）は、Ｒｏｏｍ内のどこにＴＶを探すべきか（ＴＶの最も推定される場所は壁である）について公正なアイデアを持つことができ、またはＲｏｏｍ内でＴａｂｌｅ  Ｌａｍｐを探すのに最も推定される場所は隅であることを事前に知っているであろう。オブジェクトの位置が何らかの既知のレベルの信頼度でよく知られているため、この情報は所与のコンテキストにおける経路計画に有用である。
【００７９】
本開示は、各六角形格子マップのコンテキストベースのベクトルナビゲーションを提供し、上述のように既知の環境を用いてＳＳＱが識別される。次に、ユーザから現在のマップ上にスタート位置およびゴール位置が受け入れられる。この入力は、特定の六角形格子セル、またはマップ上の２つの識別可能なオブジェクト（例えばボックスおよびラック）としてのいずれかであってもよい。次に、システム１００は、（既知の空間にはＤ＊Ｌｉｔｅを、未知の空間にはＱ学習技術を用いて）経路を動的に計画し、各ステップで、存在する実際の動的オブジェクトの（ロボットセンサをエミュレートする）ユーザからの入力を取り込む。経路は、選ばれたナビゲーションアルゴリズムに基づいてさらに調節されうる。
【００８０】
あるいは、システム１００は、選択された環境の特徴（固定オブジェクトおよび動的オブジェクトの確率の両方）をロードすることを可能にする。システム１００は、現在のマップとロードされた環境とを考慮に入れて、Ｄ＊ＬｉｔｅまたはＱ学習アルゴリズムを用いて経路を計画する。選ばれた環境、別名タイプＡのコンテキストは、訓練セットからの確率論的モデルであり、現在の入来マップは、見落とされるオブジェクトがないように賢明に重ね合わせされる必要があるグラウンドトゥルース（ground truth）を有するマップである。したがって、システム１００は、選ばれた環境と所与のマップとの重み付けされた重ね合わせによって推定環境マップを作成する。そして、推定環境マップ内のオブジェクトに基づいて経路が計画される。
【００８１】
例えば、所与のタイプＳマップにおいて、システムが開始地点からゴール地点までの経路を計算する。タイプＳマップは、（データベース１０８Ａ〜Ｎ（オブジェクトデータベース、コンテキストデータベース、マップデータベース）の後続の更新のためにメモリに記憶された履歴データを使用して）対応する環境におけるオブジェクトの配置および自由経路についての過去の経験を実際に提供するので、その後、許容可能オブジェクトの閾値（例えば４０％）に基づいて、システムはオブジェクト（単数または複数）の確率がそれぞれ１０％、２０％および３０％の三つの経路オプションを提供する。ここで同じ環境の現在のスナップショットについては何もアイデアが与えられなければ、システムは障害物の確率が１０％の最初の経路を選びうる。この経路は最短経路でもあると想定される。しかし、システム１００が当該環境の現在のスナップショットを入手し、この１０％経路内にオブジェクトが存在することが分かった場合には、システム１００はその経路を却下し、最小の移動コストおよび障害物の確率に基づいて残りの二つの経路のうちの一つを最適に選択する。これにより、システム１００は、後続の経路計画およびベクトルナビゲーションのために識別された一つ以上のオブジェクト、一つ以上のコンテキスト、および動的に計画された経路を用いてロボットをさらに訓練し、将来のナビゲーションの効率上昇と容易さのために後続の経路計画およびベクトルナビゲーションに関する情報を含むデータベースをさらに生成することができる。
【００８２】
以下は、様々なデータベース（例えばオブジェクトデータベース、コンテキストデータベース、マップデータベースなど）の間の相関関係または関連性の実例のための例示的な説明である。
【００８３】
システム１００は、タイプＯおよびタイプＣデータベースを使用して、所与のコンテキスト内のオブジェクトの間の相関関係または関連性を最終的に識別する。例えば、ソファは通常、コンテキスト内のテーブルに関連し、または鏡は通常、別のコンテキスト内の壁に関連するのがいくつかの例示的な関連性であり、これらの情報がシステム１００による経験により理解されれば、これらの情報が経路計画の間に効率的に使用されうる。例えば、あるコンテキスト内に椅子が見つかれば、テーブルがどこか近く／付近にある可能性が高く、この情報が、Ｔａｂｌｅと名付けられた障害物を実際に識別するかわりにテーブルの推定配置を越える経路を探すためにロボットによって使用されうる。訓練／経験が多くなるほど、これらのオブジェクトの間の相関関係／関連性がより精緻化され、強力で、確信できるものとなる。
【００８４】
同様に、上述の構想はコンテキストに拡張されうる。別のコンテキストの後に現れる一つのコンテキストは、連続するコンテキストを繰り返し強化する。データベースから、順次的関連性だけでなく、並列的関連性または関連性が全くないことも見つけられうる。一例は、応接室が常にベッドルームの後にくること（順次的）、または応接室が複数の部屋に接続されていること（並列的）でありうる。この関連性／相関関係の確信は、以下に記載されるようなコンテキスト間経路計画に使用されうる。
【００８５】
コンテキスト間経路計画：
システム１００は、現在または従来のロボットの経路計画システムでは不可能である、複数のコンテキストまたは環境にわたる経路を計画するために使用されうる。複数のコンテキストにわたるナビゲーションまたは経路計画は、両方のコンテキストの交差部分に含まれる共通オブジェクトを識別する必要がある。共通の交差部分にあるこれらのオブジェクトは、コンテキスト間経路計画のための接続点である。しかし、全てのオブジェクトがナビゲーションに実行できるように使用されうるわけではなく、両方のコンテキストの境界にあるオブジェクト、または両方のコンテキストにおいて隣接するオブジェクトのみがナビゲーションまたは経路計画に使用されうる。言い換えれば、システム１００（または一つ以上のハードウェアプロセッサ１０４）は、二つ以上のコンテキスト（例えばキッチン、ダイニングおよびホール）の交差部分を示す一つ以上の共通オブジェクト（例えばドア、壁、窓など）を識別し、二つ以上のコンテキストの交差部分からの一つ以上の共通オブジェクトから識別された一つ以上のナビゲーション可能オブジェクト（例えばドア）に基づいて経路を生成する。
【００８６】
例えば、ベッドルームから外の道路へのナビゲーションでは、システム１００は、三つのコンテキスト、すなわちベッドルーム、ダイニングルーム、および道路をカバーする必要があることを識別する。ここでベッドルームとダイニングルームとの交差部分には、ドア、椅子などのオブジェクトが存在しうる。しかし、ドアは両方のマップの境界にあるため、ドアがベッドルームのコンテキストからダイニングルームのコンテキストにわたるナビゲーションに使用されうる。この種のコンテキストステッチングおよびコンテキスト間経路計画は、ロボットおよび自動車の都市ナビゲーションに使用されうる。ナビゲーションの成功のためには、コンテキストの交差部分が必要であるだけでなく、現在の配置／マップの物理的スナップショットも必要であることに留意されたい。先の例を用いて詳述すると、ベッドルームの現在のスナップショットが、ベッドルームとダイニングルームとの間に共通するドアが何らかの理由で閉まっていることを示す場合、ドアが通過する最も実現可能なオブジェクトとして識別されるものの、経路計画は失敗しうる。
【００８７】
さらに、システム１００は、一つ以上のセンサから取得された情報に基づいて、一つ以上のオブジェクト、一つ以上のコンテキストを識別することもできる。これは、以下の例によってさらに詳述される。
【００８８】
マルチセンサ拡張：
例えば、ロボットが音響センサを有する場合には、異なる音プロファイルが識別されることができ、タイプＯオブジェクトまたはタイプＳ位置／コンテキストに投入する／関連付けられるために使用されうる。同様に、ロボットがハプティック（タッチ）センサを有する場合には、異なる表面または触感が識別されることができ、オブジェクトまたはコンテキストに関連付けられることができる。例えば温度、圧力などのセンサを使用しても同様の拡張が可能である。図９は、図１〜８を参照して、本開示の例示的実施形態によるシステム１００の実施態様を示す例示的なブロック図を示す。
【００８９】
記述された説明は、任意の当業者が実施形態を製作および使用することを可能にするために本明細書における主題を説明する。主題の実施形態の範囲は特許請求の範囲によって定義され、当業者に想起される他の修正を含みうる。そのような他の修正は、それらが特許請求の範囲の文言と異ならない類似の要素を有する場合、またはそれらが特許請求の範囲の文言と実質的に異ならない等価の要素を含む場合には、特許請求の範囲内であることが意図される。
【００９０】
保護の範囲は、そのようなプログラムに加えてメッセージを内部に有するコンピュータ可読手段に拡張されるものと理解されねばならず、そのようなコンピュータ可読記憶手段は、プログラムがサーバまたはモバイルデバイスもしくは任意の適切なプログラム可能デバイス上で実行されるときに、本方法の一つ以上のステップの実施のためのプログラムコード手段を含む。ハードウェアデバイスは、例えばサーバもしくはパーソナルコンピュータなどのような任意の種類のコンピュータ、またはそれらの任意の組み合わせを含むプログラムされうる任意の種類のデバイスとすることができる。デバイスは、例えばハードウェア手段、例えば特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはハードウェア手段とソフトウェア手段との組み合わせ、例えばＡＳＩＣおよびＦＰＧＡ、もしくは少なくとも一つのマイクロプロセッサおよびソフトウェアモジュールが内部に位置する少なくとも一つのメモリでありうる手段も含みうる。したがって、手段はハードウェア手段およびソフトウェア手段の両方を含みうる。本明細書に記載の方法の実施形態は、ハードウェアおよびソフトウェアで実施されうる。デバイスはソフトウェア手段も含みうる。あるいは、実施形態は、異なるハードウェアデバイス上で、例えば複数のＣＰＵを使用して実施されてもよい。
【００９１】
本明細書の実施形態は、ハードウェア要素およびソフトウェア要素を含みうる。ソフトウェアで実施される実施形態は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されない。本明細書に記載される様々なモジュールによって行われる機能は、他のモジュールまたは他のモジュールの組み合わせにおいて実施されてもよい。本説明の目的上、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによる使用か、または関連する使用のためのプログラムを含み、記憶し、通信し、伝播し、または輸送することができる任意の装置でありうる。
【００９２】
例示されたステップは示された例示的な実施形態を説明するために提示され、進行中の技術発展が特定の機能が行われる様式を変更するであろうことが予期されるべきである。これらの例は限定ではなく例示の目的で本明細書に提示される。さらに、機能的ビルディングブロックの境界は、本明細書においては説明の便宜のために任意に定義されている。特定の機能およびそれらの関係が適切に行われる限り、代替的な境界が定義されうる。代替形態（本明細書に記載されたものの均等物、拡張物、変形物、派生物などを含む）は、本明細書に含まれる教示に基づいて関連技術（単数または複数）の当業者に明らかになるであろう。そのような代替形態は、開示された実施形態の範囲および本旨の範囲内に入る。また、「備える」、「有する」、「含有する」、および「含む」という単語、ならびに他の類似の形態は、意味において等価であり、これらの単語のうちのいずれか一つに続く単数または複数の項目がそのような単数または複数の項目の網羅的なリストであることを意味するものでも、リストされた単数または複数の項目のみに限定されることを意味するものでもないという意味で自由であることが意図される。本明細書および添付の特許請求の範囲において使用されるところの、単数形「一つの（ａ）」、「一つの（ａｎ）」、および「その（ｔｈｅ）」は、文脈により別段の指定がない限り複数の言及を含むことにも留意されたい。
【００９３】
さらに、本開示と一致する実施形態を実施する際に、一つ以上のコンピュータ可読記憶媒体が利用されうる。コンピュータ可読記憶媒体は、プロセッサによって読み取り可能な情報またはデータが記憶されうる任意のタイプの物理的メモリを指す。したがって、コンピュータ可読記憶媒体は、本明細書に記載される実施形態と一致するステップまたはステージをプロセッサ（単数または複数）に行わせるための命令を含む、一つ以上のプロセッサによる実行のための命令を記憶しうる。「コンピュータ可読媒体」という用語は、有形の項目を含み、搬送波および過渡信号を除外する、すなわち非一時的なものと理解されねばならない。例には、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、揮発性メモリ、不揮発性メモリ、ハードドライブ、ＣＤ  ＲＯＭ、ＤＶＤ、フラッシュドライブ、ディスク、および任意の他の既知の物理的記憶媒体が含まれる。
【００９４】
本開示および例は例示としてのみ考えられることが意図され、開示された実施形態の真の範囲および本旨は以下の特許請求の範囲によって示される。
【図１】
2019169125.tif 000008
【図２】
2019169125.tif 000009
【図３Ａ】
2019169125.tif 000010
【図３Ｂ】
2019169125.tif 000011
【図４】
2019169125.tif 000012
【図５Ａ】
2019169125.tif 000013
【図５Ｂ】
2019169125.tif 000014
【図５Ｃ】
2019169125.tif 000015
【図６】
2019169125.tif 000016
【図７】
2019169125.tif 000017
【図８】
2019169125.tif 000018
【図９】
2019169125.tif 000019
【外国語明細書】
2019169125000001.pdf