IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テレフオンアクチーボラゲット エル エム エリクソン(パブル)の特許一覧

特許7474849エネルギー効率の良い自己位置推定のためのセンサのアクティブ化と非アクティブ化の制御
<>
  • 特許-エネルギー効率の良い自己位置推定のためのセンサのアクティブ化と非アクティブ化の制御 図1
  • 特許-エネルギー効率の良い自己位置推定のためのセンサのアクティブ化と非アクティブ化の制御 図2
  • 特許-エネルギー効率の良い自己位置推定のためのセンサのアクティブ化と非アクティブ化の制御 図3
  • 特許-エネルギー効率の良い自己位置推定のためのセンサのアクティブ化と非アクティブ化の制御 図4
  • 特許-エネルギー効率の良い自己位置推定のためのセンサのアクティブ化と非アクティブ化の制御 図5
  • 特許-エネルギー効率の良い自己位置推定のためのセンサのアクティブ化と非アクティブ化の制御 図6
  • 特許-エネルギー効率の良い自己位置推定のためのセンサのアクティブ化と非アクティブ化の制御 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-17
(45)【発行日】2024-04-25
(54)【発明の名称】エネルギー効率の良い自己位置推定のためのセンサのアクティブ化と非アクティブ化の制御
(51)【国際特許分類】
   G01C 21/28 20060101AFI20240418BHJP
   H04N 23/65 20230101ALI20240418BHJP
   G05D 1/24 20240101ALI20240418BHJP
   G05D 1/242 20240101ALI20240418BHJP
   G05D 1/245 20240101ALI20240418BHJP
   G05D 1/43 20240101ALI20240418BHJP
   G05D 1/46 20240101ALI20240418BHJP
   G05D 1/60 20240101ALI20240418BHJP
   G05D 1/644 20240101ALI20240418BHJP
   G06T 7/70 20170101ALI20240418BHJP
   G06T 7/00 20170101ALI20240418BHJP
   G05D 105/00 20240101ALN20240418BHJP
   G05D 107/00 20240101ALN20240418BHJP
   G05D 107/20 20240101ALN20240418BHJP
   G05D 109/00 20240101ALN20240418BHJP
   G05D 109/10 20240101ALN20240418BHJP
   G05D 109/12 20240101ALN20240418BHJP
   G05D 111/00 20240101ALN20240418BHJP
   G05D 111/50 20240101ALN20240418BHJP
   G05D 111/63 20240101ALN20240418BHJP
【FI】
G01C21/28
H04N23/65
G05D1/24
G05D1/242
G05D1/245
G05D1/43
G05D1/46
G05D1/60
G05D1/644
G06T7/70 Z
G06T7/00 300F
G05D105:00
G05D107:00
G05D107:20
G05D109:00
G05D109:10
G05D109:12
G05D111:00
G05D111:50
G05D111:63
【請求項の数】 34
(21)【出願番号】P 2022531042
(86)(22)【出願日】2019-12-17
(65)【公表番号】
(43)【公表日】2023-02-14
(86)【国際出願番号】 EP2019085723
(87)【国際公開番号】W WO2021121564
(87)【国際公開日】2021-06-24
【審査請求日】2022-07-25
(73)【特許権者】
【識別番号】598036300
【氏名又は名称】テレフオンアクチーボラゲット エルエム エリクソン(パブル)
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】カラジアニス, イオアニス
(72)【発明者】
【氏名】タヘール コウヘスタニ, アミロホセイン
(72)【発明者】
【氏名】ゴンザレス モリン, ディエゴ
(72)【発明者】
【氏名】アンダーション, ラース
(72)【発明者】
【氏名】ムッドゥクリシュナ, アナーニャ
(72)【発明者】
【氏名】アラウホ, ホセ
【審査官】高島 壮基
(56)【参考文献】
【文献】特開2016-197083(JP,A)
【文献】米国特許出願公開第2014/0011517(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00-21/36
G05D 1/00- 1/87
G06T 7/00
7/70
G09B 29/00
H04N 23/65
(57)【特許請求の範囲】
【請求項1】
デバイスとともに移送されるセンサのセットを使用して自己位置推定を実行する前記デバイスによる方法であって、前記方法は、
前記センサのセットのうちの前記センサのそれぞれ(Si)について信頼スコア(λ_i)を決定する(600)ことと、
定義された閾値を満たす個々の信頼スコアに基づいて、アクティブのままである、前記センサのセットのうちの前記センサのサブセットを定義する(602)ことと、
前記定義された閾値を満たさない信頼スコアを有する前記センサのセット内のセンサを非アクティブ化する(604)ことであって、前記非アクティブ化することは、前記センサのうちの非アクティブ化されたセンサによって電力消費を制御することを含む、ことと、を含み、
アクティブのままになる前記センサのセット(301、303、305)のうちの前記センサのサブセットを定義(602)することは、それらの個々の信頼スコアと、前記センサの動作における類似性の大きさとの組み合わせに基づいて実行される方法。
【請求項2】
ハードウェア資源の個々の使用が定義されたルールを満たすかどうかの判定に基づいて、前記センサのサブセット内の前記センサの個々のセンサを選択的に非アクティブ化する(700)ことをさらに含む、請求項1に記載の方法。
【請求項3】
前記ハードウェア資源は、電力消費、プロセッサ使用、メモリ使用、及びネットワーク通信使用のうちの少なくとも1つを含む、請求項2に記載の方法。
【請求項4】
前記センサを移送する前記デバイスの速度に基づいて、アクティブである前記サブセットのうちの前記センサのサンプリングレートを調整する(702)ことをさらに含む、請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記センサの1つについての前記信頼スコアは、前記センサによって検出されたインライヤー特徴及び外れ値特徴の総数に対するインライヤー特徴の数の比率に基づいて決定される(600)、請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記インライヤー特徴のそれぞれは、定義されたモデルと一致する特性を有し、前記外れ値特徴のそれぞれは、前記定義されたモデルと矛盾する特性を有する、請求項5に記載の方法。
【請求項7】
前記センサの1つについての前記信頼スコアは、連続サンプリングフレームで得られたセンサデータ内の特徴の位置の間で生じると判定された振動量に基づいて決定される(600)、請求項1から6のいずれか1項に記載の方法。
【請求項8】
前記センサデータ内の特徴の前記位置は、カメラセンサからの画像内のキーポイントである、請求項7に記載の方法。
【請求項9】
前記センサの1つについての前記信頼スコアは、定義された閾値と比較した、前記センサの信号対雑音比(SNR)に基づいて決定される(600)、請求項1から8のいずれか1項に記載の方法。
【請求項10】
前記センサの1つについての前記信頼スコアは、1つ以上のセンサによって以前に検知された特徴を含むデータ構造によって定義された環境のマップに対する前記センサの自己位置を決定することと、前記センサが前記マップを定義する前記データ構造に含まれる特徴を現在検知しているかどうかに基づいて、前記センサの前記1つについての前記信頼スコアを決定することと、に基づいて決定される(600)、請求項1から9のいずれか1項に記載の方法。
【請求項11】
前記センサの1つについての前記信頼スコアは、特徴の位置を含むデータ構造によって定義された環境のマップに対する前記センサの自己位置を決定することと、前記センサが前記特徴の姿勢を識別する場所と前記データ構造が前記特徴の前記姿勢を識別する場所との比較に基づいて、前記センサの前記1つについての前記信頼スコアを決定することと、に基づいて決定される(600)、請求項1から10のいずれか1項に記載の方法。
【請求項12】
前記センサの1つについての前記信頼スコアは、位置におけるセンサの性能を識別するデータ構造によって定義された環境のマップ内の前記位置に対する前記センサの自己位置と、前記位置に対する前記自己位置に基づいて前記センサのための性能を前記データ構造から検索することと、前記検索された性能に基づいて前記信頼スコアを決定することと、に基づいて決定される(600)、請求項1から11のいずれか1項に記載の方法。
【請求項13】
前記センサの前記1つについての前記信頼スコアは、ネットワーク化されたデータリポジトリに記憶された前記マップの前記データ構造にアクセスすることに基づいて決定される(600)、請求項10から12のいずれか1項に記載の方法。
【請求項14】
センサの前記非アクティブ化(604)は、前記センサをより低い電力状態に遷移させるようにトリガすることと、前記センサの電力オフをトリガすることとのうちの1つを含む、請求項1から13のいずれか1項に記載の方法。
【請求項15】
センサの前記非アクティブ化(604)は、前記センサのデータサンプリングレートを、低下したサンプリングレート及びゼロのうちの一方に設定することを含む、請求項1から14のいずれか1項に記載の方法。
【請求項16】
前記センサの前記サブセットは、動作において類似性の閾値レベルを超えるセンサを含むことをペナルティ化するように定義される(602)、請求項1に記載の方法。
【請求項17】
前記定義された閾値は、閾値の値のセットを含み、前記セット内の前記閾値の値のそれぞれは、前記セット内の前記センサの異なる1つと関連付けられ、前記セット内の前記センサの1つについての前記閾値の値は、前記センサからのデータを使用した自己位置推定実行から出力される姿勢に対する、前記デバイスの信頼された現在の姿勢の比較に基づいて決定される、請求項1から16のいずれか1項に記載の方法。
【請求項18】
デバイスとともに移送可能であるセンサのセット(301、303、305)を使用して自己位置推定を実行するように構成されるデバイス(300)であって、前記デバイス(300)は、
前記センサのセット(301、303、305)に動作上接続されるプロセッサ(309)と、
メモリ(306)であって、
前記センサのセットのうちの前記センサのそれぞれ(Si)について信頼スコア(λ_i)を決定することと、
定義された閾値を満たす個々の信頼スコアに基づいて、アクティブのままである、前記センサのセット(301、303、305)のうちの前記センサのサブセットを定義することと、
前記定義された閾値を満たさない信頼スコアを有する前記センサのセット(301、303、305)内の前記センサを非アクティブ化する(604)ことであって、前記非アクティブ化することは、前記センサの非アクティブ化されたセンサによって電力消費を制御することを含む、ことの動作を実行するために前記プロセッサ(309)によって実行されるプログラムコードを記憶するメモリ(306)と、を含み、
アクティブのままになる前記センサのセット(301、303、305)のうちの前記センサのサブセットを定義することは、それらの個々の信頼スコアと、前記センサの動作における類似性の大きさとの組み合わせに基づいて実行される、デバイス(300)。
【請求項19】
前記プロセッサは、ハードウェア資源の個々の使用が定義されたルールを満たすかどうかの判定に基づいて、前記センサのサブセット(301、303、305)内の前記センサの個々のセンサを選択的に非アクティブ化するように、前記プログラムコードによってさらに構成される、請求項18に記載のデバイス(300)。
【請求項20】
前記ハードウェア資源は、電力消費、プロセッサ使用、メモリ使用、及びネットワーク通信使用のうちの少なくとも1つを含む、請求項19に記載のデバイス(300)。
【請求項21】
前記プロセッサは、前記デバイス(300)の速度に基づいて、アクティブである前記サブセットのうちの前記センサのサンプリングレートを調整するように、前記プログラムコードによってさらに構成される、請求項18から20のいずれか1項に記載のデバイス(300)。
【請求項22】
前記センサの1つについての前記信頼スコアは、前記センサによって検出されたインライヤー特徴及び外れ値特徴の総数に対するインライヤー特徴の数の比率に基づいて決定される、請求項18から21のいずれか1項に記載のデバイス(300)。
【請求項23】
前記インライヤー特徴のそれぞれは、定義されたモデルと一致する特性を有し、前記外れ値特徴のそれぞれは、前記定義されたモデルと矛盾する特性を有する、請求項22に記載のデバイス(300)。
【請求項24】
前記センサの1つについての前記信頼スコアは、連続サンプリングフレームで得られたセンサデータ内の特徴の位置の間で生じると判定された振動量に基づいて決定される、請求項18から23のいずれか1項に記載のデバイス(300)。
【請求項25】
前記センサデータ内の特徴の前記位置は、カメラセンサからの画像内のBRISK又はFREAKキーポイントである、請求項24に記載のデバイス(300)。
【請求項26】
前記センサの1つについての前記信頼スコアは、定義された閾値と比較した、前記センサの信号対雑音比(SNR)に基づいて決定される、請求項18から25のいずれか1項に記載のデバイス(300)。
【請求項27】
前記センサの1つについての前記信頼スコアは、1つ以上のセンサによって以前に検知された特徴を含むデータ構造によって定義された環境のマップに対する前記センサの自己位置を決定することと、前記センサが前記マップを定義する前記データ構造に含まれる特徴を現在検知しているかどうかに基づいて、前記センサの前記1つについての前記信頼スコアを決定することと、に基づいて決定される(600)、請求項18から26のいずれか1項に記載のデバイス(300)。
【請求項28】
前記センサの1つについての前記信頼スコアは、特徴の位置を含むデータ構造によって定義された環境のマップに対する前記センサの自己位置を決定することと、前記センサが前記特徴の姿勢を識別する場所と前記データ構造が前記特徴の前記姿勢を識別する場所との比較に基づいて、前記センサの前記1つについての前記信頼スコアを決定することと、に基づいて決定される、請求項18から27のいずれか1項に記載のデバイス(300)。
【請求項29】
前記センサの1つについての前記信頼スコアは、位置におけるセンサの性能を識別するデータ構造によって定義された環境のマップ内の前記位置に対する前記センサの自己位置と、前記位置に対する前記自己位置に基づいて前記センサのための性能を前記データ構造から検索することと、前記検索された性能に基づいて前記信頼スコアを決定することと、に基づいて決定される、請求項18から28のいずれか1項に記載のデバイス(300)。
【請求項30】
前記センサの前記1つについての前記信頼スコアは、ネットワーク化されたデータリポジトリに記憶された前記マップの前記データ構造にアクセスすることに基づいて決定される、請求項27から29のいずれか1項に記載のデバイス(300)。
【請求項31】
センサの前記非アクティブ化は、前記センサをより低い電力状態に遷移させるようにトリガすることと、前記センサの電力オフをトリガすることとのうちの1つを含む、請求項18から30のいずれか1項に記載のデバイス(300)。
【請求項32】
センサの前記非アクティブ化は、前記センサのデータサンプリングレートを、低下したサンプリングレート及びゼロのうちの一方に設定することを含む、請求項18から31のいずれか1項に記載のデバイス(300)。
【請求項33】
前記センサの前記サブセットは、動作において類似性の閾値レベルを超えるセンサを含むことをペナルティ化するように定義される、請求項18に記載のデバイス(300)。
【請求項34】
前記定義された閾値は、閾値の値のセットを含み、前記セット内の前記閾値の値のそれぞれは、前記セット内の前記センサの異なる1つと関連付けられ、前記プロセッサは、前記セット内の前記センサの1つについての前記閾値の値が、前記センサからのデータを使用した自己位置推定実行から出力される姿勢に対する、前記デバイスの信頼された現在の姿勢の比較に基づくことを決定する前記プログラムコードによって構成される、請求項18から33のいずれか1項に記載のデバイス(300)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、デバイスの自己位置推定中にマルチセンサ動作を制御することに関する。
【背景技術】
【0002】
同時自己位置推定及びマッピング(SLAM)アルゴリズムのような自己位置推定及びマッピングアルゴリズムを、複数のセンサと共に移動するモバイルデバイスと共に使用して、同時に、一貫性のある幾何学マップを構築し、マップ内のモバイルデバイスの位置を決定することができる。自己位置推定及びマッピングアルゴリズムの中には、堅牢性を高めるために、カメラ及び時にはその他のタイプのセンサからのデータを使用するものもあるが、一部の環境ではまだ一貫性のあるマップを生成することができない場合がある。暗い部屋やトンネルなどの視覚的に劣化した環境では、特徴が低い確率で決定又は認識されるか、まったく認識されないため、カメラから有用な情報を抽出することが困難になる。
【発明の概要】
【0003】
本明細書に開示するいくつかの実施形態は、デバイスとともに移送されるセンサのセットを使用して自己位置推定を実行するデバイスによる方法を対象とする。方法は、センサのセットのうちのセンサのそれぞれについての信頼スコアを決定することを含む。方法は、定義された閾値を満たす個々の信頼スコアに基づいて、アクティブなままにする、センサのセットのうちのセンサのサブセットを定義する。方法は、定義された閾値を満たさない信頼スコアを有するセンサのセット内のセンサを非アクティブ化する。非アクティブ化は、センサのうち非アクティブ化されたセンサによって消費電力を制御することを含む。
【0004】
いくつかのさらなる実施形態では、方法は、ハードウェア資源の個々の使用が定義されたルールを満たすか否かの判定に基づいて、センサのサブセット内のセンサの個々のセンサを選択的に非アクティブ化する。他のいくつかのさらなる実施形態では、方法は、デバイスの速度に基づいて、アクティブであるサブセットのセンサのサンプリングレート及び/又は解像度を調整する。
【0005】
本明細書に開示する他のいくつかの実施形態は、デバイスとともに移送可能なセンサのセットを使用して自己位置推定を実行するように構成された対応するデバイスを対象とする。このデバイスは、センサのセットのうちのセンサのそれぞれについての信頼スコアを決定することを含む動作を実行するようにプロセッサによって実行されるプログラムコードを記憶するメモリを含む。また、動作は、定義された閾値を満たす、例えば、定義された正の閾値と等しいか上回る、個々の信頼スコアに基づいて、アクティブのままにする、センサのセットのうちのセンサのサブセットを定義することを含む。また、動作は、定義された閾値を満たさない、例えば、定義された正の閾値よりも小さい、信頼スコアを有する、センサのセット内のセンサを非アクティブ化することを含む。非アクティブ化は、センサのうち非アクティブ化されたセンサによって消費電力を制御することを含む。
【0006】
ある実施形態では、デバイスは、さらに、送受信機を含む。プロセッサによって実行される動作は、さらに、近接して位置するデバイスと送受信機を介して通信することを含むことができる。センサの1つについての信頼スコアは、近接して位置するデバイスによる使用のために現在アクティブであるセンサのリストを取得することに基づいて決定される。
【0007】
これら及び他の実施形態によって提供され得る潜在的な利点は、自己位置推定のために使用されるセンサの非アクティブ化及びアクティブ化が、センサの個々の信頼スコアに基づいて制御され、システムの電力消費の低減をもたらし、進行中の自己位置推定の性能要求を満たし続けながら、資源のより最適化された使用を可能にすることである。
【0008】
実施形態に係る他の方法、デバイス、及び対応するコンピュータプログラム製品は、以下の図面及び詳細な説明を検討すると、当業者には明らかであるか、又は明らかになるであろう。このような方法、デバイス、及び対応するコンピュータプログラム製品はすべて、この説明の範囲内に含まれ、本開示の範囲内にあり、付随するクレームによって保護されることが意図されている。さらに、本明細書に開示するすべての実施形態は、任意の方法及び/又は組合せで個別に又は組合せて実施可能であることが意図されている。
【図面の簡単な説明】
【0009】
本開示の態様は、例として図示されており、添付の図面によって制限されるものではない。図面では、以下の通りである。
図1】本開示のいくつかの実施形態に従う、異なる領域と関連するセンサのアクティブ化/非アクティブ化動作との間のデバイスの移動を示す地理的マップの上面図を示す
図2】本開示のいくつかの実施形態に従う、例示の環境を介してデバイス及びセンサのセットを移送する車両の動きを示す地理マップの上面図を示す
図3】本開示のいくつかの実施形態に従って動作する一対のコンピューティングデバイス、センサ、及びSLAMサポートノードを含むSLAMシステムを示す
図4】本開示のいくつかの実施形態に従うセンサスケジューリング動作を実行するSLAMシステムの機能要素を示す
図5】本開示のいくつかの実施形態に従って構成されるSLAMシステムのための特徴追跡アルゴリズムの動作を示す
図6】、
図7】本開示のいくつかの実施形態に従う、自己位置推定のためにデバイスによって使用されるセンサのアクティブ化及び非アクティブ化を制御するための動作のフローチャートを示す
【発明を実施するための形態】
【0010】
発明の概念の実施形態の例が示されている添付の図面を参照して、発明の概念をより詳細に以下に説明する。しかしながら、発明の概念は、多くの異なる形態で具体化することができ、本明細書に記載する実施形態に限定されると解釈されるべきではない。むしろ、これらの実施形態は、本開示が十分かつ完全になるように提供され、当業者には様々な本発明概念の範囲を十分に伝えることになる。また、これらの実施形態は、相互に排他的ではないことに留意されたい。ある実施形態からの構成要素は、別の実施形態において、暗黙のうちに存在する/使用されるものと想定され得る。
【0011】
Microsoft Hololens、Magic Leap、ARCore、ARKit などの最先端のソリューションでは、自己位置推定を実行したり、SLAMなどの自己位置推定及びマッピングを実行したりするには、すべてのオンボードセンサをアクティブにする必要があると想定している。これは、これらのデバイスのバッテリ寿命に大きく影響する。しかし、特定のタイプのセンサは、特定のタイプの環境にのみ動作上適している。例えば、サーマルカメラは、非常に暗い環境において、RGB可視光カメラよりも正確なセンサデータを提供することができる。従って、それらの性能に無関係に全てのセンサをアクティブ化させ続けることは、エネルギー及び他の資源の不必要な浪費となり得る。本明細書の様々な実施形態は、自己位置推定を実行する間、又は自己位置推定及びマッピングの組み合わせ(例えば、SLAM)を実行する間に取得されるデータを処理する(CPU/GPU、メモリなど)間に消費される電力と、データ取得中の電力消失とを考慮して、個々のセンサのアクティブ化及び非アクティブ化を制御することを対象とする。
【0012】
SLAMを実行する任意の最先端のデバイス(例えば、拡張現実/バーチャルリアリティヘッドセット、スマートフォン、半自律車両、ロボットなど)は、その移送されたセンサのすべてをアクティブ化させて動作する。デバイスが動作する環境は静的であり得るが、センサによって得られる照明条件及び他のパラメータは、SLAMアルゴリズムが矛盾したマップを生成する原因となり得る。従って、デバイスに種々の異なるタイプのセンサ及び/又は異なる構成のセンサを装備するだけでなく、センサをより最適な方法で使用することも重要である。本明細書の様々な実施形態は、自己位置推定の動作中及び/又は自己位置推定及びマッピングの組み合わせの動作中に、特定の領域のセンサに対して決定される信頼スコアに基づいて、どのセンサがアクティブ化及び非アクティブ化されるかを動的に適応させることを対象とする。
【0013】
いくつかのさらなる実施形態は、環境内のデバイスのための自己位置推定動作に現在使用され、環境内のマッピング動作にさらに使用され得る、センサのより最適なサブセットを決定する効率的なスケジューリングアルゴリズムを対象とする。いくつかの実施形態は、SLAM動作処理中にセンサをアクティブ化及び非アクティブ化するという文脈で説明されるが、これらの実施形態は、SLAMとともに用いられることに限定されるものではなく、代わりに、より一般的に、自己位置推定の動作中に、又はSLAMに基づく場合としない場合とがある自己位置推定及びマッピングの組み合わせの動作中に、センサをアクティブ化及び非アクティブ化するために使用することができる。
【0014】
スケジューリングアルゴリズムは、どのセンサをアクティブ化又は非アクティブ化するかを決定するときに、環境の特性の変化が各種センサに及ぼす影響に応答する。スケジューリングアルゴリズムは、消費電力を削減し、従って、自己位置推定、又は自己位置推定及びマッピングの組み合わせ(例えば、SLAM)の動作時間を拡張し、他のシステム資源の使用(例えば、プロセッサ使用、メモリ使用、ネットワーク使用など)を改善するために動作することができる。スケジューリングアルゴリズムは、また、特定の環境で使用するために最も重要であるセンサを識別するように動作することができ、それによって、その環境内のデバイスによってどのセンサが移送されるかの、より効果的な選択を可能にする。スケジューリングアルゴリズムの一実施形態は、環境の特性が時間とともに静的なままであることを想定するように構成される。例えば、このアルゴリズムは、照明条件がRGBカメラの信頼スコアに最も影響すると仮定するように構成されてもよい。さらに、RGBカメラセンサを搭載したデバイスが、固定照明で日光干渉のない地下環境でSLAMを行うものと想定する。アルゴリズムは、RGBカメラが適切な特徴を追跡するので、RGBカメラが良好なセンサであることを識別するように構成することができ、アルゴリズムは、次に、同じタイプのRGBカメラを運ぶ任意のデバイスが、その環境内でうまく動作するべきであることを決定することができる。
【0015】
本明細書の様々な実施形態は、センサペイロード
【数1】
を送信するデバイスの文脈で説明される。この用語|S|は、セットSのカーディナリティに対応する。各センサsiの状態xiは、0 (非アクティブ) 又は1 (アクティブ) のいずれかになる。センサの非アクティブ状態は、それぞれのサンプリングレートを低いレート又はゼロに設定することに対応することができ、センサのアクティブ状態は、デバイスの現在のダイナミクスに基づいて、そのサンプリングレートを増加したレート又はデフォルト値に設定することに対応することができる。代替的に、又は追加的に、センサの非アクティブ状態は、その個々の解像度を低い解像度又はゼロに設定することに対応することができ、センサのアクティブ状態は、その解像度を、デバイスの現在のダイナミクスに基づいて、増加した解像度又は(自己位置推定をサポートするのに十分な)デフォルト値に設定することに対応することができる。各センサsiが消費する電力eiは、SLAMスレッドで取得したデータを処理する間に消費される電力と、データ収集中のセンサの電力損失の両方を考慮して推定される。
【0016】
本明細書の様々な実施形態は、特定の領域におけるそれらの現在の性能(現在感知された状態に応答してオンラインで実行される)、又はSLAMマップに記憶された前のセッションにおけるそれらの性能(オフラインで実行される)に基づいて、センサの最も適した組み合わせを選択する。システムは、総消費電力とその他のシステムリソースの使用(プロセッサ使用、メモリ使用、ネットワーク使用など)を削減するために、選択されていないすべてのセンサを非アクティブ化する。別々のスレッド上で動作することができる自己位置推定及びマッピングアルゴリズムは、いつでもアクティブ化されたセンサのみを使用する。
【0017】
ここで、図1及び図6を参照して、自己位置推定を行うため及び/又は自己位置推定及びマッピング(例えばSLAM)を行うデバイスによって使用されるセンサのセットのアクティブ化及び非アクティブ化を制御する例示的な動作を説明する。図1は、本開示のいくつかの実施形態に従う、異なる領域の間のデバイスの移動と、関連するセンサのアクティブ化/非アクティブ化動作を示す地理的マップの上面図を示す。図6は、本開示のいくつかの実施形態に従った、デバイスと共に移送されるセンサのセットを使用して自己位置推定を実行するデバイスによる動作のフローチャートを示す。
【0018】
図6を参照すると、デバイスとともに移送されるセンサのセットを使用して自己位置推定を行うデバイスによる動作は、センサのセットのうちのセンサ(Si)のそれぞれについて信頼スコア(λ_i)を決定する600ことを含む。動作は、定義された閾値を満たす(例えば、定義された閾値と等しいか上回る)それぞれの信頼スコアに基づいて、アクティブ状態を維持するセンサのセットのうち、センサのサブセットを定義602した。センサのサブセットは、少なくとも1つのセンサが確実にアクティブなままであるように、好ましくは空でないセットである。次いで、動作は、定義された閾値を満たさない、例えば定義された閾値未満の、信頼スコアを有するセンサのセット内のセンサを非アクティブ化604する。非アクティブ化の動作は、センサのうちの非アクティブ化されたセンサによって電力消費を制御することを含む。定義された閾値とセンサの信頼スコアを比較する動作は、センサのそれぞれについての信頼スコアが同じ閾値と比較されることを意味することができ、又は、異なるセンサが異なる閾値の値に関連付けられていてもよく、そのような場合、各センサの信頼スコアがそのセンサに関連付けられた閾値と比較されることを意味することができる。したがって、「定義された閾値」という用語は、単一の値、又はセンサのセットに関連付けられた値のセットを意味することができる。
【0019】
図1の例示的な例を参照すると、センサAが性能ルールを満たす地理的領域Aが図示され、センサBが性能ルールを満たす別の地理的領域Bが図示され、センサA及びBの両方が性能ルールを満たす重複領域A-Bが図示されている。センサAとBを移送したデバイスが、センサAのみが性能ルールを満たす領域A内且つ領域A-Bの外側にいる間、センサAは、自己位置推定アルゴリズム又は自己位置推定とマッピングの組み合わせアルゴリズム(SLAM アルゴリズムなど) にデータをアクティブにフィードし、センサBは、非アクティブ化される。デバイスが、経路セグメント1に沿って、領域Aから、センサA及びBの両方が性能ルールを満たす領域A-Bに移動した場合、センサA及びBの、相対的な電力消費、自己位置推定性能、自己位置推定及びマッピングの組み合わせの性能(例えば、SLAM性能)、リソース使用などに応じて、センサBが起動され得、センサAは非アクティブ化され得る。移送するデバイスが、経路セグメント2に沿って領域B且つ領域A-Bの外側に移動するにつれて、センサBは、能動的に、自己位置推定アルゴリズム又は自己位置推定及びマッピングの組み合わせアルゴリズム(例えば、SLAMアルゴリズム)にデータを送信し、センサAは非アクティブ化される。
【0020】
図2は、例示の環境を通ってデバイス200及びセンサのセット201及び203を移送する車両の移動を示す地理的マップの上面図を示す。デバイス及びセンサは、人間、ロボット、航空機(例えば、ドローン)、船舶などの、他の方法で移送され得る。デバイス200は、スマートフォン、ウェアラブルコンピュータ、拡張現実ヘッドセット、バーチャルリアリティヘッドセット、混合現実ヘッドセット、半自律的又は自律的車両、ドローン、航空機、ロボットなどのいずれかの構成要素であってもよいが、これらに限定されない。2つのセンサのみが図示されているが、コンピューティングデバイスがSLAMアルゴリズムにデータを供給するように構成される任意の複数のセンサと共に使用され得ることを理解されたい。センサの例としては、RGBカメラ、赤外線カメラ、慣性測定ユニット(inertial measurement unit(IMU))、レーダーセンサ、光検出と測距(light detection and ranging(LiDAR))センサ、音響測距センサ、近接センサ、GPS、及びRF送受信機(例えば、5G-radio)が挙げられるが、これらに限定されない。信頼スコアは、第1のセンサ201及び第2のセンサ203について決定され、第1のセンサ201及び第2のセンサが、デバイス200の置かれる位置及び環境の特性に適しているかどうかを決定する。
【0021】
図2を参照すると、センサの信頼スコアを計算し、センサをアクティブ化及び非アクティブ化するための以下の方法は、環境を通る経路209(例えば、道路)に沿って、コンピューティングデバイス200、第1のセンサ201及び第2のセンサ203を移送する車両によって例示され得る。車両が経路209に沿って移動すると、本開示の実施形態において説明される様々な動作が実行される。例えば、第1の領域205において、車両が第1の領域205内に留まる間、第1のセンサ201が、第1のセンサ201をアクティブ化する又はアクティブにし続ける、定義されたルールを満たすことを、コンピューティングデバイス200が判定する。車両は、第2の領域207に移動し、そこで、コンピューティングデバイス200は、第1のセンサ201が、定義された閾値を満たさない(例えば、定義された閾値未満)信頼スコアを送出することを判定する。2つの代替的な動作上の実施形態が、コンピューティングデバイス200によってトリガされ得る。一実施形態では、第1のセンサ201の不満足な信頼スコアにより、以前に非アクティブ化されたすべてのオンボードセンサ(この場合は第2のセンサ203のみ)が再アクティブ化され、再アクティブ化されたセンサのどれが定義された閾値を満たす信頼スコアを生み出すかを判定するように分析される。別の実施形態では、動作は、第2の領域207において過去にアクティブ化され満足のいく信頼スコアを提供した1つ以上のセンサを識別する、利用可能な自己位置推定及びマッピング(例えばSLAMマップ)データ構造を参照し、動作は応答的に1つ以上のセンサをアクティブ化する。動作は、消費電力を低減し、他のシステム資源(例えば、処理、メモリ、通信等)を節約するために、第1のセンサ201を非アクティブ化することができる。
【0022】
本明細書の様々な実施形態に従う、自己位置推定及び/又は自己位置推定及びマッピングの組み合わせのためにデバイスによって使用されるセンサのアクティブ化及び非アクティブ化を制御するための動作は、センサについて決定される信頼スコアに応答して実行される。信頼スコアは、1つ以上のセンサによって感知される特定の特性及び/又は特徴を有する位置又は環境において、センサ又はセンサのセットによって提供され得るデータの正確性における信頼性を示す指標である。センサの信頼スコアは、センサからのデータを使用する自己位置推定アルゴリズム又は自己位置推定及びマッピングの組み合わせ(例えば、SLAMアルゴリズム)の性能と、高い相関性を有する。自己位置推定処理、又は、自己位置推定及びマッピングの組み合わせの処理(例えばSLAM処理)で使用するセンサの信頼スコアを決定するために用いることができる動作について、以下で説明する。
【0023】
ある実施形態では、信頼スコアλiは、センサからのデータ内で検出可能な視覚的特徴のインライン比率の関数として定義される。特徴が検出されない場合、そのときのセンサの信頼スコアはゼロになる。それ以外の場合、ゼロではない個数のインライヤー及び外れ値の検出された特徴について、センサsiの信頼スコアλiは、次の式に基づいて決定することができる。
【数2】
上記の式において、#inliers及び#outliersは、センサデータストリームのフレームf内で検出された特徴のインライヤー及び外れ値のそれぞれの数であり、Fは、信頼スコアが計算される連続フレームの数である。例示の式は、視覚的特徴の検出及びセンサデータストリームの文脈で説明されるが、信頼スコアを決定するために開示された動作は、センサデータ内で識別可能な指定された記述子を有する任意のタイプの特徴と共に使用することができる。
【0024】
従って、より一般的な実施形態では、センサのうちの1つに対する信頼スコアは、センサによって検出されたインライヤー特徴及び外れ値特徴の総数に対するインライヤー特徴の数の比に基づいて、決定600することができる。インライヤー特徴のそれぞれは、定義されたモデルと一致する特徴を有し、外れ値特徴のそれぞれは、定義されたモデルと矛盾する特徴を有する。
【0025】
この実施形態の想定は、センサ又はデータが、「インライヤー」、すなわち、データの分布が定義されたモデルパラメータのセットを使用して動作上決定することができるがノイズの影響を受ける可能性があるデータ、と、モデルに適合しないデータである「外れ値」とを含むことである。外れ値は、例えば、ノイズの極端な値から、又は誤ったセンサ測定から、又はセンサデータを解釈する誤った仮説演算から発生し得る。
【0026】
いくつかの実施形態では、それぞれのセンサsiについて、センサのアクティブ化及び非アクティブ化を制御するための動作は、センサからの多数の連続したフレームのデータのインライヤー及び外れ値の個数を検索する。インライヤー及び外れ値の個数は、各センサに対して動作する特徴トラッキングモジュール(FTM)によって決定されてもよく、これは、自己位置推定アルゴリズム又は自己位置推定及びマッピングの組み合わせアルゴリズムの本質的な構成要素であり得るため、計算オーバヘッドを増加させてはならない。カメラのようなセンサのためのFTMは、キーポイントを検出し追跡することができる。センサデータ内の特徴の位置は、カメラセンサからの画像内のキーポイントである。
【0027】
キーポイントを検出して追跡する特徴の記述子を決定するには、複数の方法がある。キーポイントの記述子は、Binary Robust Invariant Scalable Keypoints (BRISK)、Fast Retina KeyPoints (FREAK)、Speed Up Robust Features (SURF)、Scale-invariant Feature Transform (SIFT)、Oriented FAST and Rotated BRIEF (ORB)、Features from Accelerated Segment Test (FAST)、Binary Robust Independent Elementary Features (BRIEF)を含み得るが、これらに限定されない。異なる記述子を異なるタイプのセンサに使用することができる(例えば、深度センサには深度カーネル記述子を使用することができる)。ビジョンベースのSLAMにおいて、random sample consensus (RANSAC)は、幾何学的検証と外れ値検出のために一般的に使用される。トラッキングされた特徴のインライヤーと外れ値のセットは、刊行物 Buczko、Martin & Willert、Volker、「How to disting Inliers from Outliers in Visual Odometry for High-speed Automotive Applications」 (2016) 10.1109/IVS.2016.7535429に記載されている動作に基づいて計算することができる。
【0028】
視覚センサ(例えば、RGBカメラ)によって撮影された画像の中で追跡される2D特徴は、個々のイメージレジストレーションが、画像シーケンスの中で一致すべき特徴に必要な空間的変換を見つけられなかった場合に、動作上、外れ値であると考えることができる。2D特徴の追跡の一例を図5に示す。図5は、本開示のいくつかの実施形態に従って構成されるSLAMシステムの特徴追跡アルゴリズムの動作を図示している。図5において、センサフレーム(t)内のI(x,y)に位置する特徴は、続いてセンサフレーム(t+dt)内の位置I(x+dx、y+dy)に移動すると判定される。
【0029】
レンジセンサ(LiDARなど)によって生成された点群で検出された3D特徴/セグメントは、個々の点群レジストレーションが、点群シーケンスの中で一致すべき特徴/セグメントに必要な空間変換を見つけられなかった場合に、動作上、外れ値であると考えることができる。
【0030】
インライヤーは、RANSACアルゴリズムの動作によって、外れ値と区別することができる。アフィン変換によって写像された二つの画像間のマッチングの集合の間でインライヤーと外れ値を分離するアルゴリズムの例は、刊行物 Beckouche、Simon、et al 「Robust Outliers Detection in Image Point Matching.」2011 IEEE International Conference on Computer Vision Workshops、2011、pp. 180-187に記載されている。
【0031】
一実施形態では、信頼性スコアは、追跡された特徴の位置が、センサデータの連続するフレームの間で、どのように振動するかに基づいて決定される。一実施形態では、センサのうちの1つの信頼スコアは、連続したサンプリングフレームで得られたセンサデータ内の特徴の位置の間で発生すると判断される振動量に基づいて、決定600される。ある特徴の位置で発生すると判定される振動量は、センサの連続フレームで追跡される。
【0032】
例えば、カメラを含むセンサでは、特定の特徴の2D位置は、センサを移送するデバイスの運動によって変化し得るが、特徴のグローバルな3D位置は、一定のままであるべきである。連続するフレームからの特徴の2D位置を3D空間にマッピングにより、ある閾値以上変動する3D位置が得られる場合、センサの性能が悪いことを意味する。
【0033】
別の実施形態では、センサのうちの1つについての信頼スコアは、定義された閾値と比較したセンサの信号対雑音比(SNR)に基づいて、決定600される。追跡される特徴の位置がより大きく振動するほど、センサのSNRが低すぎる可能性が高くなり、従って、自己位置推定処理又は自己位置推定及びマッピングの組み合わせ処理に追加される情報は、不十分に低い値となる。センサのサンプリング速度は、デバイスのダイナミクスと比較して相対的に遅い場合があり、そのため、自己位置推定処理は、正確な結果の生成に失敗したり、又は、自己位置推定及びマッピングのの組み合わせ処理動作は、一貫したマップの生成に失敗したりし得る。
【0034】
別の実施形態では、センサのうちの1つについての信頼スコアは、1つ以上のセンサによって以前に検出された局所的特徴を識別するデータ構造によって定義されたマップに対するセンサの自己位置を決定することと、センサがマップを定義するデータ構造によって識別される局所的特徴を現在感知しているかどうかに基づいて、センサの1つについての信頼スコアを決定することと、に基づいて、決定600される。現在使用されているセンサのセットを評価するために、既存のマップが活用され得る。例えば、デバイスが利用可能なマップ内で自己位置を推定しようとし、その周囲の特定の特徴がマップから期待されるように観察されない場合、これは、現在使用されているセンサのセットが、様々な理由(例えば、異なる照明条件、反射面、部屋内の移動物体など)で現在の環境に適さないことを示す指標となり得る。
【0035】
別の実施形態では、センサのうちの1つについての信頼スコアは、局所特徴の位置を識別するデータ構造によって定義されるマップに対するセンサの自己位置を決定することと、局所特徴の位置をセンサが識別する場所とデータ構造が局所特徴の位置を識別する場所との比較に基づいて、センサのうちの1つの信頼スコアを決定することとに基づいて、決定600される。部屋の中の既知の幾何学的形状、次元、及び位置を有するランドマークは、デバイスの姿勢における誤差の推定値としての自己位置推定誤差を決定する動作を可能にする、部分的な正解値として使用され得る。動作では、自己位置推定誤差を使用して、センサからのデータの信頼性を判定することができる。
【0036】
別の実施形態では、センサのうちの1つについての信頼スコアは、センサの位置におけるセンサの性能を識別するデータ構造によって定義されるマップ内の位置に対するセンサの自己位置に基づいて、決定600される。センサの性能は、マップ内の場所に対する自己位置に基づいてデータ構造から検索される。次に、信頼スコアは、検索された性能に基づいて決定される。
【0037】
信頼スコアを決定600するとき、マップのデータ構造は、動作によってアクセスされるネットワーク化されたデータリポジトリに格納されてもよい。
【0038】
上述のように、センサを非アクティブ化604にする動作は、センサをより低い電力状態に遷移させるようにトリガすることと、センサの電力オフをトリガすることとのうちの1つを含み得る。代替的又は付加的に、センサを非アクティブ化604するための動作は、センサのデータサンプリングレートを、低下したサンプリングレート及びゼロのうちの一方に設定することを含む。
【0039】
いくつかの実施形態では、アクティブのままになるセンサのセット(201及び203)のうちのセンサのサブセットを定義602する動作は、それらの個々の信頼スコアと、センサの動作における類似性の大きさとの組合せに基づいて実行される。例えば、siセンサの信頼スコアが予め定義された信頼閾値μiを超える場合、このセンサは次のように定義されたセットSBに属し得る。
【数3】
ここで、μiは理想的な環境条件におけるセンサの仕様に依存する。
【数4】
の場合、少なくとも1つのセンサがそれぞれの信頼度の閾値を超えており、動作は、SBに属していないセンサを非アクティブ化することができる。そうでない場合、センサは非アクティブ化されず、動作はスキップされる。これらの動作は、以下にさらに詳細に説明するように、その動作特性において、より多様化されるべきアクティブセンサのセットをバイアスするように動作することができる。
【0040】
いくつかの実施形態では、センサのセットSCは、
【数5】
であれば、ハードウエア資源の利用とその全体の信頼スコアに基づいて、アクティブ状態を維持するように定義される。図7の動作フローチャートを参照すると、デバイスは、ハードウェア資源の個々の使用が定義されたルールを満たすかどうかの判定に基づいて、センサのサブセット内のセンサの個々のセンサを選択的に非アクティブ化700する。ハードウェア資源の例には、消費電力、プロセッサ使用、メモリ使用、及びネットワーク通信使用のいずれか1つ以上が含まれるが、これらに限定されない。
【0041】
アクティブ化されたセンサの組み合わせの総数は、
【数6】
である。それぞれの組合せξは、ハードウエア資源Eξの使用をもたらし、全体信頼スコア
【数7】
は、同種性がペナルティ化されるように定義される。いくつかの実施形態では、センサのサブセットが、動作において閾値レベル以上の類似性を有するセンサを含むことをペナルティ化するように定義602される。このペナルティは、2つ以上の同種のセンサが環境の分離した部分をどのように観測するかに依存し得る。様々な異なるセンサは、補完的な情報を使用して周囲の表現を豊かにし、測定の精度は冗長な情報を使用することによって向上する。このステップは、3つの連続したサブステップで完了する。
a. Eξが所定の閾値εを超えるセンサの組合せを除外する。
b. 残りの組み合せから、アクティブなセンサの個数が最も多いものを選択する。
c. Λξが最大となる最適な組合せξ*を選択する。
【0042】
いくつかの実施形態において、全体信頼度は、個々の信頼スコアの重み付き平均であり、ここで、それぞれの重みwiは、同質性がペナルティ化されるように、組合せξにおけるセンサsiの出現頻度に依存する。全体スコアは次のように記述することができる。
【数8】
xiは組合せξにおけるセンサsi(0がアイドル、1がアクティブ)の状態を示し、Nはオンボードのセンサの総数を示し、pはペナルティ係数(0≦p≦1)であり、
【数9】
はセンサsiの組み合せにおける発生頻度である。
【0043】
潜在的な利点は、これらの動作が、それらの動作特性においてより多様化されるようにアクティブなセンサの設定をバイアスすることであり、これは、デバイスとセンサが、広く異なる特性、例えば、環境光明度変動、光/RF表面反射率、認識可能な表面特徴密度、特徴レンジ、感知された環境ノイズ、環境干渉等を有する環境を移動するにつれて、自己位置推定処理又は、自己位置推定及びマッピングの組み合わせ処理がよりロバストな性能を有することを可能にする。
【0044】
別の実施形態では、全体信頼スコアΛξは、センサの様々な組合せが自己位置推定アルゴリズム又は自己位置推定及びマッピングの組み合わせアルゴリズム(例えばSLAMアルゴリズム)の性能を評価するために使用される機械学習(ML)アルゴリズムに基づいて推定されることができる。所与の環境内の異なる領域に対していくつかのセンサからかなりの量のデータを収集した後、特定領域に対する各組合せの全体信頼スコアをより高い精度で評価することができる。これらの動作は、地理的に異なる領域と相関するそれぞれのセンサについての性能プロファイルを生成するように機能することができる。
【0045】
一実施形態では、デバイスに対する動作は、その最近傍デバイスによって現在使用されているセンサのセットに基づいて、最も適したセンサのセットSCを選択する(協調的自己位置推定又は協調的自己位置推定及びマッピングの組み合わせ)。これは、動作がオンライン方式でデバイス自身のセンサの性能を評価する必要がないので、資源と時間を節約する。なぜなら、それは、近傍デバイスのセンサが、デバイスによって移送されるセンサと同じか、あるいは、同じセンサタイプと同じ製造者のような、十分に類似した動作特性を持つと仮定する、最近傍デバイス決定法を信頼するからである。
【0046】
別の実施形態では、動作は、異なる領域のための前のセッションから記憶された全体信頼スコアΛξに基づいて、最も適したセンサのセットSCを選択する。自己位置推定及びマッピングの組み合わせアルゴリズム(例えばSLAMアルゴリズム)から生成されるマップは、グリッドに分割され、各グリッドには、各組合せξに対する全体信頼スコアΛξが格納される。このようにして、デバイスの同一又は異なる動作の将来のセッションにおいて、現在アクティブ化されているセンサの性能が低下した場合、動作は、デバイスが移動しているグリッドからそれらの全体信頼スコアΛξを検索することによって、最も適したセンサのセットを直接的にアクティブ化させ、それに従って、性能の劣るセンサを非アクティブ化させる。これにより、オンライン評価のためにオンボードセンサのセット全体をアクティブ化する必要がないため、電力が節約される。
【0047】
図7をさらに参照すると、動作は、センサを移送するデバイスの速度に基づいて、アクティブであるサブセットの中のセンサのサンプリング速度を調整702し得る。すなわち、センサSiの信頼スコアが予め定義された閾値を超えており、且つセンサペイロードを運ぶデバイスのダイナミクスが遅い場合、信頼スコアが一定の値を超えたままになるように、個々のサンプリングレートは低減される。
【0048】
高速/低速ダイナミクスの概念はアプリケーションに依存する。デバイス又はその環境の高速ダイナミクスについて、環境を特徴付けるのに十分な情報がセンサによって捕捉されるように、動作は、より高いセンササンプリングレートで実行され得る。対照的に、低速のダイナミクスと十分に高い信頼スコアを組み合わせると、センサのサンプリングレートはそれに応じて低減され、結果として消費電力が低くなり、データ帯域幅が低くなり得る。自己位置推定アルゴリズム又は自己位置推定及びマッピングの組み合わせアルゴリズムが分散方式で実装されている場合、フロントエンド動作がデバイス上のセンサ及びコンピューティングリソースによって実行され、バックエンド動作がエッジ又はクラウド上で実行されるか、又はより強力な(CPU、メモリなどの点で)隣接するデバイス上で実行されると、データ帯域幅の削減によって通信コストが削減される。デバイスとその環境の相対的なダイナミクスが、デバイスのセンサがそれらの最大速度でサンプリングしながら捕捉することができるものよりも速い場合、自己位置推定アルゴリズムは、不十分な精度の出力を生成する危険性があるか、又は自己位置推定及びマッピングの組み合わせアルゴリズムは、一貫したマップを生成するのに失敗する危険性があり得る。
【0049】
いくつかの実施形態では、デバイスのダイナミクスは、センサのアクティブ化/非アクティブ化の決定プロセスが行われるレートを制御する。従って、センサ非アクティブ化604する動作は、センサのデータサンプリングレートを、低下したサンプリングレート及びゼロのうちの1つに設定することを含み得る。
【0050】
図3は、本開示のいくつかの実施形態に従って動作する、一対のデバイス、センサ、及びSLAMサポートノードを含むSLAMシステム350を図示している。図3のシステムは、SLAM処理の間にセンサをアクティブ化及び非アクティブ化する文脈で説明されているが、説明されている実施形態は、SLAMと共に使用することに限定されず、代わりに、より一般的に、SLAMに基づいていてもいなくてもよい自己位置推定動作の間、又は自己位置推定及びマッピングの組み合わせ動作の間に、センサをアクティブ化及び非アクティブ化するために使用することができる。
【0051】
第1のデバイス300は、第1のデバイス300とともに移送することができる第1のセットのセンサ301、303、及び305を含むことができ、又はこれに動作上接続することができる。第1のデバイス300に近接して位置している第2のデバイス310は、第2のデバイス310と共に移送されることができる第2のセンサのセット311、313、315を含むことができ、又はこれに動作上接続することができる。第1のデバイス300及び第2のデバイス310は、スマートフォン、ウェアラブルコンピュータ、拡張現実ヘッドセット、バーチャルリアリティヘッドセット、混合現実ヘッドセット、半自律的又は自律的車両、航空機、ロボット、船舶などのいずれかの構成要素であってもよいが、これらに限定されない。第1のデバイス300及び第2のデバイス310及びそれらに接続されるセンサは、人、車両、ドローン、航空機、船舶、ロボットなどの任意の方法で移送可能である。センサのタイプの例としては、RGBカメラ、赤外線カメラ、慣性測定ユニット(IMU)、レーダーセンサ、光検出と測距(LiDAR)センサ、音響測距センサ、近接センサ、GPS、及びRF送受信機(例えば、5G-radio)が挙げられるが、これらに限定されない。
【0052】
第1のデバイス300は、無線アクセスノード(RAN)321又は323を介して第2のデバイス310及び/又はSLAMサポートノード327と通信可能なSLAMプロセッサ309、メモリ304、及び無線送受信機307を含む。プロセッサ309は、センサ301、303、305の第1のセットに動作上接続される。メモリ304は、処理を実行するためにプロセッサ309によって実行されるプログラムコードを格納し、マップリポジトリ302を格納し得る。SLAMプロセッサによって実行される動作は、センサのセットのうちのそれぞれのセンサについての信頼スコアを決定することと、定義された閾値を満たすそれらの個々の信頼スコアに基づいてアクティブのままであるセンサのセット301、303、305のうちのセンサのサブセットを定義することと、定義された閾値を満たさない信頼スコアを有するセンサのセット301、303、305内のセンサを非アクティブ化することとを含むことができる。非アクティブ化は、センサのうち非アクティブ化されたセンサによる電力消費の制御を含むことができる。
【0053】
上述したように、センサの信頼スコアを定義された閾値と比較する動作は、各センサの信頼スコアが同じ閾値と比較されることを意味することができ、又は、各センサの信頼スコアがそのセンサの関連閾値と比較されるように、異なるセンサが異なる閾値に関連付けられることを意味することができる。したがって、「定義された閾値」という用語は、単一の値、又はセンサのセットに関連付けられた値のセットを意味することができる。いくつかのさらなる実施形態は、センサ信頼スコアが比較される1つ以上の閾値を決定するための様々な動作を対象にする。一実施形態では、デバイス300が動いている環境の各部分領域は、デバイス300と共に移送される各センサ(センサ301、303、305の第1のセット)の信頼スコアを有するマップに関連付けることができる。環境のそれぞれの部分領域は、接続されたセンサからのデータを処理する自己位置推定アルゴリズムの性能指標に関連付けられてもよい。一実施形態では、N個のセンサが与えられれば、各センサからのデータストリームは、並列に動作するN個の自己位置推定及びマッピングアルゴリズムに供給され得る。それぞれの自己位置推定アルゴリズムは、デバイスの姿勢(例えば、位置及び方向)の推定値を出力する。自己位置推定アルゴリズムの1つの性能指標は、出力推定値とデバイスの信頼された姿勢との間の絶対誤差であり得る。信頼された姿勢は、以下の3つの方法のいずれかを使用して取得することができる。
1. デバイスに通信可能に接続された外部モーションキャプチャ(追跡)システムから取得される
2. デバイスとともに移送される高品質の独立した測位システムから取得される
3. 現在最も高い信頼スコアを提供すると決定されたセンサ301、303、405の第1のセットのうちのセンサの1つから取得される
【0054】
センサ301、303、405の第1のセットのうちのそれぞれのセンサについて十分なペアの信頼性スコア及び絶対誤差がひとたび得られると、動作は、それぞれのセンサについての絶対誤差と信頼性スコアとの間の関係を決定することができる。センサの特定の1つに使用される閾値は、センサを選択的に切り替えるための動作を実行する際に所望の自己位置推定の性能を提供するために、センサについての絶対誤差と信頼スコアとの間の決定された関係に基づいて決定され得る。
【0055】
対応する動作上の実施形態では、定義された閾値は、閾値の値のセットを含み、セット内の閾値の値それぞれは、セット内のセンサの異なる1つと関連付けられ、セット内のセンサの1つについての閾値の値は、センサからのデータを使用した自己位置推定実行から出力される姿勢に対する、デバイスの信頼された現在の姿勢の比較に基づいて決定される。
【0056】
また、上で説明したように、動作は、アクティブのままであるべきセンサのセットのうちのセンサのサブセットを定義する。センサのサブセットは、好ましくは空でないセットである。すなわち、そうでなければデバイスの自己位置推定を継続できなくなり得、デバイスは、すべてのセンサを非アクティブ化しない。ただし、環境によっては、すべてのセンサが閾値を下回る信頼スコアを提供する可能性がある。この場合、閾値は低すぎるのであり、現在の環境に基づいて変更され得る。動作が最初に望ましいレベルの性能(例えば、ある閾値を下回る絶対誤差)を設定したと想定した場合、閾値は性能指標に違反しないポイントに戻される(減らされる)べきである。この再チューニングはオンライン(例えばリアルタイム)形式で行われるため、信頼スコアが最も高いセンサが基準(信頼済み) として使用される。別の方法として、異なるレベルの性能を、センサごとに異なる閾値に関連付けることもできる。性能指標がレベルを変更すると、情報を地理マップに格納することができる。動作は、最大の達成可能な性能に適応させ、それに応答する個々の閾値をチューニングすることができる。性能指標がクリティカル値を下回る必要がある最悪の場合(自己位置推定アプリケーションがこの値を下回るか、自己位置推定アルゴリズムが動作できず、失敗して姿勢推定値が提供されないなど)、インジケータメッセージを地理マップに格納することで、現在のセンサのいずれかが将来現在のサブ領域にアクセスする(異なるデバイス)か、現在のサブ領域を再訪する(同じデバイス)場合に、動作は自己位置推定アルゴリズムが失敗することが予測されると判定することができる。
【0057】
第2のデバイス310は、第1のデバイス300と同様に構成することができる。第2のデバイス310は、センサ311、313、315のセットを移送し、SLAMプロセッサ319、無線送受信機317、及びプロセッサ(319)によって実行されて動作を実行するプログラムコードを記憶するメモリ314を含む。プロセッサは、センサ311、313、315のセットに動作上接続される。
【0058】
第1のデバイス300及び/又は第2のデバイス310は、センサのアクティブ化及び非アクティブ化を制御し、自己位置推定動作を実行する動作を実行するために必要なすべてのプログラムコード及び関連する回路を含み、SLAMアルゴリズム処理などのマッピング動作をさらに実行するように構成され得る。自己位置推定及び/又はマッピング動作の少なくとも一部は、図示されたSLAMサポートノード317のようなネットワーク化されたノードによって実行されてもよい。デバイス300及び310は、1つ以上のRAN321及び323、ならびにネットワーク325を介してSLAMサポートノード317と通信するように構成され得る。SLAMサポートノード327は、本明細書に開示する1つ以上の実施形態に従って、センサをアクティブ化及び非アクティブ化する動作の一部又は全部を実行するように構成され得るプロセッサ332を含む。SLAMサポートノード327は、どのセンサをアクティブ化又は非アクティブ化にするかを決定し、また、いつセンサをアクティブ化又は非アクティブ化するかを決定するために使用され得るMAPリポジトリ331を格納し得る。
【0059】
図4は、本開示のいくつかの実施形態によるセンサスケジューリング動作を実行するSLAMシステムの機能要素を示している。図4を参照すると、SLAMシステムは、センサ・スケジューリング・スレッド機能ブロック401、SLAM・スレッド機能ブロック403、センサのセットS1, S2, Sn、蓄電池409、及びサンプリングレギュレータ421、及び電力モードコントローラ422を有するセンサ制御ブロックを含む。
【0060】
センサ・センサ・スケジューリング・スレッド機能ブロック401は、以下を含む動作ステップを実行するように構成される。動作ステップは、センサのセットSAをアクティブ化させること(ステップ411)と、センサのセットのうちのsiごとに、インライヤー及び外れ値の数を決定すること(ステップ412)と、それぞれのセンサsiの信頼スコアλiを決定すること(ステップ413)と、それらの信頼スコア
【数10】
に基づいて、アクティブのままにするセンサのセットSAのうちのセンサのサブセットSBを定義すること(ステップ414)と、ハードウェア資源の使用及びそれらの全体信頼スコア
【数11】
に基づいてアクティブなままにするセンサのセットSCを定義すること(ステップ415)と、デバイスのダイナミクス(例えば、並進速度、回転速度など)、及び/又は環境のダイナミクス(例えば、日の出/日の入時間フレーム、高コントラストシャドウ発生密度など)に基づいてセンサのサンプリングレートを調整すること(ステップ416)とを含む。
【0061】
図4を参照すると、スラムスレッド(slam-thread)機能ブロック403は、SLAM動作を実行するように構成される。スラムスレッド機能ブロック403は、フロントエンド動作405及びバックエンド動作407を含む。フロントエンド動作405は、良好な特徴判定機能431、特徴追跡機能433、外れ値検出機能435、センサ融合機能437、データ関連付け機能439、及び自己位置推定機能441を含み得る。バックエンド動作407は、マップ統合機能443、マップ要約機能445、マップ最適化機能447、及びマップ推定機能449を含み得る。
【0062】
センサ制御機能ブロックは、センサのサンプリングレートを制御するサンプリングレギュレータ421によって実行される動作、及び/又はセンサによる電力消費を制御する電力モードコントローラ422によって実行される動作を通じて、センサS1, S2, 及びSnのセットをアクティブ化及び非アクティブ化する。
【0063】
その他の定義と実施形態
本発明の概念の様々な実施形態の上述の説明において、ここで使用される用語は特定の実施形態のみを説明する目的であり、本発明の概念を限定することを意図したものではないことを理解されたい。特に定義されていない限り、本明細書で使用されるすべての用語(技術用語及び科学用語を含む)は、本発明の概念が属する当業者のいずれかによって一般的に理解されるものと同じ意味を有する。一般的に使用される辞書で定義されているような用語は、この明細書及び関連技術分野の文脈においてそれらの意味と矛盾しない意味を有するものとして解釈されるべきであり、ここで定義されているように、理想的又は過度に形式的な意味で解釈されないであろうことが、さらに理解されるであろう。
【0064】
ある要素が他の要素に「接続されている」(connected)、「接続されている」(coupled)、「応答して」、又はその変形として参照される場合、他の要素に直接接続、結合又は応答してもよく、又は介在する要素が存在していてもよい。対照的に、要素が他の要素に「直接接続されている」、「直接応答して」、又はそれらの変形として参照される場合、介在する要素は存在しない。同じ参照符号は全体を通して同じ要素を指す。さらに、ここで使用される「接続されている」(coupled)、「接続されている」(connected)、「応答して」、又はその変形は、無線で接続され、結合され、又は応答すること含んでよい。本明細書で使用する用語は、単数形「a」、「an」および「the」は、文脈が明確に示さない限り、複数形を含むものとする。よく知られている機能又は構成は、簡潔さ及び/又は明瞭さのために詳細に説明されていないことがある。用語「and/or」は、列挙される事項に関連する1つ以上のうちの任意又は全ての組み合わせを含む。
【0065】
ここで、第1、第2、第3などの用語は、様々な要素/動作を記述するために使用され得るが、これらの要素/動作は、これらの用語によって制限されるべきではないことが理解されるであろう。これらの用語は、ある要素/動作を別の要素/動作と区別するためにのみ使用される。従って、ある実施形態における第1の要素/動作は、本発明の概念の教示から離れることなく、他の実施形態において第2の要素/動作と呼ぶことができる。同一の参照番号又は同一の参照記号は、明細書全体を通して同一又は類似の要素を示す。
【0066】
本文書において用いられるように、「含む」(comprise)、「含む」(comprising)、「含む」(comprises)、「含む」(include)、「含む」(including)、「含む」(includes)、「有する」(have)、「有する」(has)、「有する」(having)、又はその変形がオープンエンドであり、1つ以上の規定された特徴、整数、要素、ステップ、構成要素又は機能又は機能を含むが、その1つ以上の他の特徴、整数、要素、ステップ、構成要素、機能又はこれらのグループの存在又は追加を妨げない。さらに、本明細書中で使用される場合、ラテン語の「exempli gratia,」に由来する一般的な略語「例えば」(e.g.)は、先に言及した項目の一般的な例又は複数の例を導入又は特定するために使用され、項目の限定を意図するものではない。ラテン語の「id est,」に由来する一般的な略語「すなわち」(i.e.)は、より一般的な記載から特定の事項を特定するために使用されてよい。
【0067】
ここで説明される例示の実施例は、コンピュータで実施される方法、装置(システム及び/又はデバイス)及び/又はコンピュータプログラム製品のブロック図及び/又はフローチャートを参照して本明細書で説明された。ブロック図及び/又はフローチャートのブロック、及び、ブロック図及び/又はフローチャートのブロックの組合せは、1つ以上のコンピュータ回路によって実行されるコンピュータプログラム命令によって実現されることができることが理解される。これらのコンピュータプログラム命令は、汎用コンピュータ回路、特定用途コンピュータ回路、及び/又は機械を生成する他のプログラム可能データ処理回路のプロセッサ回路に提供されてもよく、これらの命令は、コンピュータ及び/又は他のプログラム可能データ処理装置のプロセッサを介して実行され、メモリ位置に記憶された変換及び制御トランジタ、及びメモリ位置に記憶された値、及びそのような回路内の他のハードウェア構成要素が、ブロック図及び/又はフローチャートのブロック又は複数のブロックに指定された機能/動作を実装し、それによって、ブロック図及び/又はフローチャートのブロックに指定された機能/動作を実装するための手段(機能)及び/又は構造を生成する。
【0068】
これらのコンピュータプログラム命令はまた、特定の方法で機能するようにコンピュータ又は他のプログラム可能データ処理装置に命令することができる有形のコンピュータ可読媒体に記憶されてもよく、その結果、コンピュータ可読媒体に記憶された命令は、ブロック図及び/又はフローチャートのブロックに指定された機能/動作を実施する命令を含む製造物品を生成する。従って、本発明の概念の実施形態は、「回路」、「モジュール」又はそれらの変形と総称されるデジタル信号プロセッサのようなプロセッサ上で動作するハードウェア及び/又はソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)において実施可能である。
【0069】
また、いくつかの代替実施では、ブロックに記載されている機能/動作がフローチャートに記載されている順序から外れて発生する可能性があることにも注意する必要がある。例えば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよく、または、ブロックは関与する機能/動作に応じて、時には逆の順序で実行されてもよい。さらに、フローチャート及び/又はブロック図の所与のブロックの機能は、複数のブロックに分離されてもよく、及び/又はフローチャート及び/又はブロック図の2つ以上のブロックの機能は、少なくとも部分的に統合されてよい。最後に、図示されているブロックの間に他のブロックを追加/挿入することができ、及び/又はブロック/動作は発明の概念の範囲から離れることなく省略されてよい。さらに、図のいくつかは、通信の主方向を示すために通信経路上の矢印を含むが、図示された矢印とは逆方向に通信が発生する可能性があることを理解されたい。
【0070】
本発明の概念の原理から実質的に離れることなく、実施形態に多くの変形及び修正を加えることができる。このような変形及び修正はすべて、本発明の概念の範囲内にここに含まれることが意図されている。従って、上述の開示された主題は、例示的なものであり、制限的なものではなく、また、実施形態のうちの添付の例は、本発明の概念の思想及び範囲内にある、そのようなすべての修正、拡張、及び他の実施形態をカバーすることを意図している。従って、法により許容される最大限の範囲において、本発明の概念の範囲は、以下の実施形態の例及びそれらの均等物を含む本開示の最も広い許容可能な解釈によって決定されるものであり、前述の詳細な説明によって制限されたり限定されたりするものではない。
図1
図2
図3
図4
図5
図6
図7