(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024137659
(43)【公開日】2024-10-07
(54)【発明の名称】複合確率フィルタを使用して、ビークル測位およびマップ推定を併せて実行するためのシステムならびに方法
(51)【国際特許分類】
G01S 19/45 20100101AFI20240927BHJP
G01C 21/28 20060101ALI20240927BHJP
【FI】
G01S19/45
G01C21/28
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023201182
(22)【出願日】2023-11-29
(31)【優先権主張番号】18/188,760
(32)【優先日】2023-03-23
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】バーントープ,カール
(72)【発明者】
【氏名】グレイフ,マルクス
(72)【発明者】
【氏名】ディ・カイラノ,ステファノ
(72)【発明者】
【氏名】ミラルド,ペドロ
【テーマコード(参考)】
2F129
5J062
【Fターム(参考)】
2F129AA11
2F129BB02
2F129BB15
2F129BB33
2F129BB47
2F129BB48
2F129BB64
2F129GG17
2F129GG18
5J062AA04
5J062BB01
5J062CC07
5J062DD24
5J062FF01
5J062FF02
5J062FF04
(57)【要約】
【課題】本開示は、複数の確率フィルタを使用して、ビークルの制御およびマップの更新を併せて行うためのシステムならびに方法を開示する。
【解決手段】本方法は、異なる制御ステップにおいてビークルの状態を示す一連の測定値を収集することを含む。本方法はまた、ビークルの座標によって表されるビークルの位置の現在の状態と、マップのスプラインフィッティング表現を形成する多項式の係数によって表されるマップの現在の状態とを併せて追跡するよう構成された複数の確率フィルタを実行することを含む。本方法は、ビークルの位置の現在の状態の第1の重み付けされた組み合わせに基づいてビークルの位置を判断することと、マップの現在の状態の第2の重み付けされた組み合わせに基づいてマップを更新することとを含み、第1の重み付けされた組み合わせおよび第2の重み付けされた組み合わせの重みは異なる。
【選択図】
図1A
【特許請求の範囲】
【請求項1】
全地球航法衛星システム(GNSS)衛星に対するビークルの位置を示すGNSSの測定値と、環境のマップに対する前記ビークルの位置を示すカメラの測定値とを含む、異なるセンサの測定値を融合することによって、前記環境内を移動する前記ビークルの位置特定および前記環境の前記マップの推定を併せて実行するためのシステムであって、
少なくとも1つのプロセッサと、
命令が記憶された少なくとも1つのメモリとを備え、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記システムに、
異なる制御ステップにおいて前記ビークルの位置を示すGNSS測定値およびカメラ測定値を含む一連の測定値を収集させ、
前記ビークルの位置の状態および前記マップの状態においてパラメータ化された複数の確率フィルタを反復的に実行させ、前記確率フィルタの各々は、予測ノイズを受ける予測モデルと、GNSSの測定ノイズを受けるGNSS測定値およびカメラの測定ノイズを受けるカメラ測定値を融合する測定モデルとを使用して、前記ビークルの座標によって表される前記ビークルの前記位置の現在の状態と、前記マップのスプライン表現を形成する多項式の係数によって表される前記マップの現在の状態とを併せて追跡するよう構成され、異なる確率フィルタは、異なるGNSSの測定ノイズ、異なるカメラの測定ノイズ、またはその両方を使用し、前記命令は、さらに、前記少なくとも1つのプロセッサによって実行されると、前記システムに、
前記ビークルの前記位置を、前記複数の確率フィルタによって追跡される前記位置の前記現在の状態の第1の重み付けされた組み合わせに基づいて判断させ、
前記環境の前記マップを、前記複数の確率フィルタによって追跡される前記マップの前記現在の状態の第2の重み付けされた組み合わせに基づいて更新させ、前記第1の重み付けされた組み合わせの重みは、前記第2の重み付けされた組み合わせの重みとは異なる、システム。
【請求項2】
判断された前記ビークルの前記位置および前記環境の更新された前記マップに基づいて前記ビークルを制御するよう構成されるコントローラをさらに備える、請求項1に記載のシステム。
【請求項3】
有線通信チャネルまたは無線通信チャネルのうちの少なくとも1つを介して前記環境の更新された前記マップを送信するよう構成される送信機をさらに備える、請求項1に記載のシステム。
【請求項4】
前記複数の確率フィルタは、前記測定ノイズの分布を除いて同一の測定モデルを有する、請求項1に記載のシステム。
【請求項5】
前記少なくとも1つのプロセッサは、前記システムに、
第1の確率フィルタを実行させて、前記複数の確率フィルタのうちの第1の確率フィルタの内部状態に基づいて、前記ビークルの第1の現在の状態および前記マップの状態を予測させ、
第2の確率フィルタを実行させて、前記第2の確率フィルタの内部状態に基づいて、前記ビークルの第2の現在の状態および前記マップの前記状態を予測させ、
予測された前記第1の現在の状態および予測された前記第2の現在の状態の組み合わせに基づいて、前記第1の確率フィルタの前記内部状態および前記第2の確率フィルタの前記内部状態を更新させる、請求項1に記載のシステム。
【請求項6】
前記少なくとも1つのプロセッサは、前記システムに、
前記マップを表すマップ点を受信させ、
受信された前記マップ点に対応するスプラインセグメントを求めさせ、
前記マップの前記現在の状態に対する前記スプライン表現に対応するスプラインパラメータを、求められた前記スプラインセグメント、および前記マップ点に対する回帰マップの総二乗全変動誤差の尺度を最小化する最適化問題を解決することに基づいて求めさせる、請求項1に記載のシステム。
【請求項7】
前記スプラインパラメータは、スプライン連続性を暗黙的に強制するためのパラメータ化プロセスを受ける、請求項6に記載のシステム。
【請求項8】
前記複数の確率フィルタの各々は、対応するガウス確率分布によって定義される前記プロセスノイズおよび前記測定ノイズを有する非線形カルマンフィルタであり、前記ガウス確率分布の平均は、測定空間に変換される、予測される現在の状態の前記推定であり、異なる測定ノイズ共分散は、前記測定ノイズの前記ガウス確率分布をもたらす、請求項1に記載のシステム。
【請求項9】
前記測定空間に変換される、前記予測される現在の状態の前記推定は、前記複数の確率フィルタに共通である、請求項8に記載のシステム。
【請求項10】
前記測定空間に変換される、前記予測される現在の状態の前記推定は、前記複数の確率フィルタの異なる確率フィルタによって異なる、請求項8に記載のシステム。
【請求項11】
前記複数の確率フィルタは、複合確率フィルタを形成し、前記複合確率フィルタは、前記現在の測定値に基づいて前記予測される現在の状態を更新するために使用される対応するカルマンフィルタの利得の値に基づいて、異なる測定ノイズの相関の尤度を推定するよう構成される、請求項1に記載のシステム。
【請求項12】
前記利得は、カルマン利得である、請求項11に記載のシステム。
【請求項13】
前記ビークルは、無人航空機(UAV)である、請求項1に記載のシステム。
【請求項14】
全地球航法衛星システム(GNSS)衛星に対するビークルの位置を示すGNSSの測定値と、環境のマップに対する前記ビークルの位置を示すカメラの測定値とを含む、異なるセンサの測定値を融合することによって、前記環境内を移動する前記ビークルの位置特定および前記環境の前記マップの推定を併せて実行することに基づいて、前記ビークルの移動を制御するコントローラであって、
少なくとも1つのプロセッサと、
命令が記憶された少なくとも1つのメモリとを備え、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記コントローラに、
異なる制御ステップにおいて前記ビークルの位置を示すGNSS測定値およびカメラ測定値を含む一連の測定値を収集させ、
前記ビークルの位置の状態および前記マップの状態においてパラメータ化された複数の確率フィルタを実行させ、前記確率フィルタの各々は、予測ノイズを受ける予測モデルと、GNSSの測定ノイズを受けるGNSS測定値およびカメラの測定ノイズを受けるカメラ測定値を融合する測定モデルとを使用して、前記ビークルの座標によって表される前記ビークルの前記位置の現在の状態と、前記マップのスプラインフィッティング表現を形成する多項式の係数によって表される前記マップの現在の状態とを併せて追跡するよう構成され、異なる確率フィルタは、異なるGNSSの測定ノイズ、異なるカメラの測定ノイズ、またはその両方を使用し、前記命令は、さらに、前記少なくとも1つのプロセッサによって実行されると、前記コントローラに、
前記ビークルの前記位置を、前記複数の確率フィルタによって追跡される前記位置の前記現在の状態の第1の重み付けされた組み合わせに基づいて判断させ、
前記環境の前記マップを、前記複数の確率フィルタによって追跡される前記マップの前記現在の状態の第2の重み付けされた組み合わせに基づいて更新させ、前記第1の重み付けされた組み合わせの重みは、前記第2の重み付けされた組み合わせの重みとは異なる、コントローラ。
【請求項15】
前記少なくともプロセッサは、前記ビークルの判断された前記位置および前記環境の更新された前記マップに基づいて前記ビークルを制御するよう構成される、請求項14に記載のコントローラ。
【請求項16】
有線通信チャネルまたは無線通信チャネルのうちの少なくとも1つを介して前記環境の更新された前記マップを送信するよう構成される送信機をさらに備える、請求項14に記載のコントローラ。
【請求項17】
前記複数の確率フィルタの各々は、対応するガウス確率分布によって定義される前記プロセスノイズおよび前記測定ノイズを有する非線形カルマンフィルタであり、前記ガウス確率分布の平均は、測定空間に変換される、予測される現在の状態の前記推定であり、異なる測定ノイズ共分散は、前記測定ノイズの前記ガウス確率分布をもたらす、請求項14に記載のコントローラ。
【請求項18】
全地球航法衛星システム(GNSS)衛星に対するビークルの位置を示すGNSSの測定値と、環境のマップに対する前記ビークルの位置を示すカメラの測定値とを含む、異なるセンサの測定値を融合することによって、前記環境内を移動する前記ビークルの位置特定および前記環境の前記マップの推定を併せて実行するための方法であって、
異なる制御ステップにおいて前記ビークルの位置を示すGNSS測定値およびカメラ測定値を含む一連の測定値を収集することと、
前記ビークルの位置の状態および前記マップの状態においてパラメータ化された複数の確率フィルタを実行することとを含み、前記確率フィルタの各々は、予測ノイズを受ける予測モデルと、GNSSの測定ノイズを受けるGNSS測定値およびカメラの測定ノイズを受けるカメラ測定値を融合する測定モデルとを使用して、前記ビークルの座標によって表される前記ビークルの前記位置の現在の状態と、前記マップのスプラインフィッティング表現を形成する多項式の係数によって表される前記マップの現在の状態とを併せて追跡するよう構成され、異なる確率フィルタは、異なるGNSSの測定ノイズ、異なるカメラの測定ノイズ、またはその両方を使用し、前記方法はさらに、
前記ビークルの前記位置を、前記複数の確率フィルタによって追跡される前記位置の前記現在の状態の第1の重み付けされた組み合わせに基づいて判断することと、
前記環境の前記マップを、前記複数の確率フィルタによって追跡される前記マップの前記現在の状態の第2の重み付けされた組み合わせに基づいて更新することとを含み、前記第1の重み付けされた組み合わせの重みは、前記第2の重み付けされた組み合わせの重みとは異なる、方法。
【請求項19】
第1の確率フィルタを実行して、前記複数の確率フィルタのうちの第1の確率フィルタの内部状態に基づいて、前記ビークルの第1の現在の状態および前記マップの状態を予測することと、
第2の確率フィルタを実行して、前記第2の確率フィルタの内部状態に基づいて、前記ビークルの第2の現在の状態および前記マップの前記状態を予測することと、
予測された前記第1の現在の状態および予測された前記第2の現在の状態の組み合わせに基づいて、前記第1の確率フィルタの前記内部状態および前記第2の確率フィルタの前記内部状態を更新することとをさらに含む、請求項18に記載の方法。
【請求項20】
全地球航法衛星システム(GNSS)衛星に対するビークルの位置を示すGNSSの測定値と、環境のマップに対する前記ビークルの位置を示すカメラの測定値とを含む、異なるセンサの測定値を融合することによって、前記環境内を移動する前記ビークルの位置特定および前記環境の前記マップの推定を併せて実行するための方法を実行するために、プロセッサによって実行可能なプログラムが具現化された非一時的なコンピュータ可読記憶媒体であって、前記方法は、
異なる制御ステップにおいて前記ビークルの位置を示すGNSS測定値およびカメラ測定値を含む一連の測定値を収集することと、
前記ビークルの位置の状態および前記マップの状態においてパラメータ化された複数の確率フィルタを実行することとを含み、前記確率フィルタの各々は、予測ノイズを受ける予測モデルと、GNSSの測定ノイズを受けるGNSS測定値およびカメラの測定ノイズを受けるカメラ測定値を融合する測定モデルとを使用して、前記ビークルの座標によって表される前記ビークルの前記位置の現在の状態と、前記マップのスプラインフィッティング表現を形成する多項式の係数によって表される前記マップの現在の状態とを併せて追跡するよう構成され、異なる確率フィルタは、異なるGNSSの測定ノイズ、異なるカメラの測定ノイズ、またはその両方を使用し、前記方法はさらに、
前記ビークルの前記位置を、前記複数の確率フィルタによって追跡される前記位置の前記現在の状態の第1の重み付けされた組み合わせに基づいて判断することと、
前記環境の前記マップを、前記複数の確率フィルタによって追跡される前記マップの前記現在の状態の第2の重み付けされた組み合わせに基づいて更新することとを含み、前記第1の重み付けされた組み合わせの重みは、前記第2の重み付けされた組み合わせの重みとは異なる、非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、ビークル測位およびマップ更新に関し、より詳細には、複合確率フィルタを使用する、ビークル位置特定およびマップ推定を併せて実行するためのシステムならびに方法に関する。
【背景技術】
【0002】
様々な制御方法は、制御下のデバイスの状態を推定するために確率フィルタを使用する。カルマンフィルタなどの確率フィルタは、統計的ノイズおよび他の不正確さを含む、経時的に観察される一連の測定値を使用し、単一の測定値のみに基づくものよりも正確である傾向がある未知の変数の推定値を生成する。
【0003】
確率フィルタは、予測フェーズおよび更新フェーズを含む2フェーズプロセスによって機能する。予測フェーズについて、確率フィルタは、現在の状態変数の推定値を、それらの不確実性とともに生成する。そのために、確率フィルタは、プロセスノイズの影響を受ける予測モデルを用いる。予測モデルの例は、制御下のデバイスの運動モデルである。さらに、次の測定の結果(ランダムノイズを含む何らかの誤差を伴って破損される)が観察され、現在の状態変数の推定値は、測定値の重み付けされた平均を使用して更新され、より多くの重みが、より大きな確実性を伴う測定値に与えられる。そのために、確率フィルタは、測定ノイズを受ける測定モデルを用いる。プロセスノイズおよび測定ノイズの両方は、推定状態および/または測定値の変動の可能性の尤度を示す確率密度関数(PDF)によって表すことができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
通常、プロセスノイズおよび測定ノイズは、運動モデルの不確実性の理解および測定値の信頼性を反映するように予め決定される。しかしながら、いくつかの用途では、測定ノイズを予め決定することは実用的ではない。例えば、全地球航法衛星システム(GNSS)の測定値を使用して追跡されるビークルの状態に基づいてビークルが制御されるビークル制御アプリケーションでは、GNSS測定値は、異なる時点において異なる信頼性を有する。たとえば、異なる時点において、衛星の異なる配列が、ビークルのGNSS受信機の見通し線内に存在し得、測定ノイズの変動を引き起し得る。追加または代替として、衛星信号は、GNSS測定値に著しいノイズを加えるマルチパスの影響を受け得る。
【0005】
そのために、追跡されるビークルの状態および制御アプリケーションに基づいて測定ノイズを調整することが望ましい。カルマンフィルタなどの確率フィルタにおいて測定ノイズを変化させることは可能であるが、リアルタイムアプリケーションにおける測定ノイズの推定は計算的に困難であり、確率フィルタの発散にもつながり得る。この課題は、部分的には、確率フィルタの動作の根底にある測定値および仮定の統計的特性の分析の困難さに起因する。
【0006】
さらに、自律運転におけるなど、ビークル追跡および制御のいくつかの応用シナリオでは、正確で信頼できるナビゲーションのために、ロバストで高精度の位置特定技術が必要とされる。典型的には、任意の自律ビークルにおいて、多くのセンサが自律ビークル自律運転支援および制御機能に設置され、これらのセンサの主な目的は物体検出である。しかしながら、これらの複数のセンサは、複合確率フィルタの使用に伴って充分に活用されておらず、したがって、データ精度の問題が存続し得る。
【0007】
したがって、自律運転アプリケーションにおいてビークル追跡および制御関連機能のために複数のセンサおよび複合確率フィルタの存在に対応することができる、自律運転システムのためのシステムおよび方法が必要とされている。
【課題を解決するための手段】
【0008】
いくつかの実施形態は、自律運転アプリケーションで使用されるビークルに関連付けられる複数のセンサが、ビークルの環境内の1つ以上の物体に関連付けられる特徴データを抽出するために利用され得るという認識に基づく。抽出された特徴データは、物体のハードウェア記述言語(HDL)情報と融合されて、より正確なビークル位置特定を提供し得る。そのために、いくつかの実施形態は、ビークルに設置された複数のセンサを使用することによってビークルの位置特定および制御のためのシステムならびに方法を開示する。
【0009】
いくつかの実施形態は、カルマンフィルタのような確率フィルタの内部変数および/または計算が、測定ノイズの正確さを評価するために使用され得るという認識に基づく。具体的には、測定ノイズの正確さの評価のメトリックは、デバイスの状態を示す現在の測定値を、確率フィルタの予測モデルによって予測される状態に相関させる、測定ノイズの尤度であり得る。
【0010】
この相関は、以下の例によって説明することができる。デバイスの予測される状態、例えばビークルの予測される状態は、例えばGNSS測定空間における測定のドメインに変換される。例えば、そのような変換は、測定値のモデルを使用して実行することができる。次に、測定ノイズは、変換された状態を中心として、期待される測定値の確率分布を生成する。確率フィルタによって使用されるガウス確率分布の場合、期待される測定値のガウス確率分布の平均は、カルマンフィルタによって予測される状態によって決定され、分散は、所定の測定ノイズの1つである。予測される状態を更新するための測定値が受信されると、測定値は、期待される測定値の確率分布にマッピングされて、求められる相関の尤度を推定することができる。
【0011】
このように、測定ノイズは、確率フィルタの性能外の測定値の追加の統計的分析を必要とすることなく、確率フィルタの内部変数および/または計算を使用して評価される。上述の例は、状態推定と測定値との間の相関の原理を示すだけでなく、この相関の推定を実施するために使用することもできることに留意されたい。しかしながら、異なる実施形態は、この相関を評価するために、異なる技法を使用することができる。たとえば、いくつかの実施形態は、カルマンフィルタによって求められたカルマン利得の評価を使用して、予測される状態および予測される状態の共分散を更新し、これは、不偏推定器の場合、平均二乗誤差(MSE)である。そのような計算は、確率フィルタの内部であり、すなわち、デバイスの状態を追跡するためにいずれにせよ計算される。したがって、これらの変数の計算は、追加のリソースを必要としない。
【0012】
しかしながら、いくつかの実施形態は、確率フィルタの内部変数および/または計算の使用は、選択された測定ノイズの正確さの評価のための計算要件を低減することができるが、評価自体が確率フィルタの内部性能によって損なわれる、という認識に基づく。言い換えれば、測定ノイズの正確さは、必ずしもカルマンフィルタに依存せずに測定値を反映する真の正確さではなく、確率フィルタ自体の観点からの正確さである。そのために、この評価を使用して測定ノイズを適合させることは問題であるかもしれないが、むしろ、この評価を使用して、選択された測定ノイズで確率フィルタの性能を評価することが問題であり得る。
【0013】
この問題に対処するために、いくつかの実施形態は、異なる測定ノイズを有する複数の確率フィルタを使用し、デバイスの状態を、異なるフィルタによって推定された状態の重み付けされた組み合わせとして決定し、各フィルタの重みは、測定ノイズの尤度の対応する評価から導出され、デバイスの状態を示す現在の測定値を、確率フィルタの予測モデルによって予測される状態に相関させる。このように、測定値の統計的特性を分析する必要なく、異なる測定ノイズを考慮することができる。
【0014】
いくつかの実施形態は、全地球航法衛星システム(GNSS)から受信された衛星信号に基づいてビークルの状態を追跡する現在の方法は、高定性的である衛星測定値に感度を有し、なぜならば、そうでなければ、高精度推定を生成することができないからであるという認識に基づく。他の実施形態は、状態追跡を改善するために様々なセンサを組み合わせる必要があるという認識に基づく。さまざまなセンサが互いに補完する理由は、そのような組み合わせが、より多様な条件において感知可能な推定を生成する可能性が高いからである。例えば、一実施形態は、GNSS位置測定をカメラ相対位置測定および道路のマップと組み合わせてビークルの状態を追跡する。別の実施形態は、自ビークルの近傍のビークルの相対位置を測定するカメラと、自ビークルの近傍のビークルの相対位置を測定するライダー測定とを組み合わせ、なぜならば、それらの測定は、カメラおよびライダーのそれぞれの構成の違いにより、互いに補完するからである。
【0015】
いくつかの実施形態は、確率フィルタを利用して測定値を融合し、状態推定値を生成する。確率フィルタは、測定値の確率的記述、測定モデルを必要とする。この目的のために、いくつかの実施形態は、確率フィルタにおいて使用されるべき測定モデルについて測定ノイズ特性が判断される必要があることを認識する。いくつかの実施形態は、測定更新において確率的測定モデルを使用するために、センサ測定値の精度がビークルの状態の追跡と同時に判断される必要があり、なぜならば、追跡はリアルタイムで実行され、したがって、再帰的確率フィルタを実行する前に測定モデルを設定することはできないからである、という理解に基づく。いくつかの実施形態は、この理解を利用して、センサ測定値が複合確率フィルタに到達するにつれて、確率的測定モデルにおいて使用される測定ノイズを適合させる。
【0016】
そのために、いくつかの実施形態は、ビークルの状態および異なるセンサの測定ノイズを併せて推定して、測定値に従ってビークルの状態を最も良く記述する測定ノイズを判断する。例えば、一実施形態は、第1のノイズ値を第1のセンサに関連付け、第2のノイズ値を第1のセンサに関連付け、さらに、第1のノイズ値を第2のセンサに関連付け、第2のノイズ値を第2のセンサに関連付け、ノイズ値およびセンサの各組合せに対して複数の確率フィルタを実行して、それらのうちのどれがビークルの状態を最もよく記述するかを判断する。他の実施形態では、複数の確率フィルタは、複数の確率フィルタを、複数のフィルタの重み付けされた組み合わせとして、ともに重み付けする複合確率フィルタに統合される。
【0017】
いくつかの実施形態は、様々なセンサについてノイズ値の特定の組み合わせを使用する確率フィルタが前の時間ステップにおいて最良の適合を与えた場合、次の時間ステップに対しても良好な適合を生成する可能性が高いという理解に基づく。例えば、GNSS位置測定が、例えば都市環境におけるマルチパスに起因して前の時間ステップにおいて信頼できなかった場合、GNSS位置測定は、次の時間ステップにおいてもマルチパスを被りやすい可能性がある。しかしながら、測定の非信頼性がマルチパスの影響ではなく、他の何らかのモデル化されていない外乱によるものである場合、それは、信頼できる測定値を生成するチャンスも有する。いくつかの実施形態は、この理解をもって、制御の各時間ステップにおいて複数の確率フィルタを統合および重み付けし、確率フィルタは、前の時間ステップにおけるそれらの重みに基づいて異なる重み付けを与えられる。
【0018】
いくつかの実施形態は、複数の確率フィルタの計算の複雑さが、ノイズ値の仮説の数およびセンサの数とともに望ましくなく増大するという理解に基づいている。例えば、ある実施形態は、異なる可能なノイズ値を使用することは、ノイズ値の可能な組み合わせの数、したがって推定に使用される確率フィルタの数に指数関数的な複雑さがあるように、可能なノイズ値の連続空間のグリッド化として解釈され得ることを理解する。
【0019】
いくつかの実施形態は、自動車用途において、自動車グレードの電子制御ユニットの計算能力が制限され、多数の確率フィルタの使用が計算的に実現可能ではないと認識する。一実施形態は、推定に使用される確率フィルタのサブセットを選択することによってこれを改善する。例えば、一実施形態は、前の時間ステップで状態をよく表したものに近いノイズレベルの値に対応する確率フィルタを選択する。このようにすることで、各時間ステップで選択された確率フィルタのサブセットがセンサ品質の進化に従うことが可能になる。
【0020】
したがって、一実施形態は、全地球航法衛星システム(GNSS)衛星に対するビークルの位置を示すGNSSの測定値、および環境のマップに対するビークルの位置を示すカメラの測定値を含む、異なるセンサの測定値を融合することによって、環境内を移動するビークルの位置特定および環境のマップの推定を併せて実行するためのシステムを開示する。システムは、少なくとも1つのプロセッサと、命令が記憶された少なくとも1つのメモリとを含み、命令は、少なくとも1つのプロセッサによって実行されるとシステムに、異なる制御ステップにおいてビークルの位置を示すGNSS測定値およびカメラ測定値を含む一連の測定値を収集させる。システムはさらに、ビークルの位置の状態およびマップの状態においてパラメータ化された複数の確率フィルタを実行するようにされ、確率フィルタの各々は、予測ノイズを受ける予測モデルと、GNSSの測定ノイズを受けるGNSS測定値およびカメラの測定ノイズを受けるカメラ測定値を融合する測定モデルとを使用して、ビークルの座標によって表されるビークルの位置の現在の状態と、マップのスプラインフィッティング表現を形成する多項式の係数によって表されるマップの現在の状態とを併せて追跡するよう構成され、異なる確率フィルタは、異なるGNSSの測定ノイズ、異なるカメラの測定ノイズ、またはその両方を使用する。システムはさらに、ビークルの位置を、複数の確率フィルタによって追跡されるビークルの位置の現在の状態の第1の重み付けされた組み合わせに基づいて判断するようにさせられる。さらに、システムは、環境のマップを、複数の確率フィルタによって追跡されるマップの現在の状態の第2の重み付けされた組み合わせに基づいて更新するようにされ、第1の重み付けされた組み合わせの重みは、第2の重み付けされた組み合わせの重みとは異なる。
【0021】
したがって、別の実施形態は、全地球航法衛星システム(GNSS)衛星に対するビークルの位置を示すGNSSの測定値、および環境のマップに対するビークルの位置を示すカメラの測定値を含む、異なるセンサの測定値を融合することによって、環境内を移動するビークルの位置特定および環境のマップの推定を併せて実行するための方法を開示する。本方法は、異なる制御ステップにおいてビークルの位置を示すGNSS測定値およびカメラ測定値を含む一連の測定値を収集することを含む。本方法は、ビークルの位置の状態およびマップの状態においてパラメータ化された複数の確率フィルタを実行することをさらに含み、確率フィルタの各々は、予測ノイズを受ける予測モデルと、GNSSの測定ノイズを受けるGNSS測定値およびカメラの測定ノイズを受けるカメラ測定値を融合する測定モデルとを使用して、ビークルの座標によって表されるビークルの位置の現在の状態と、マップのスプラインフィッティング表現を形成する多項式の係数によって表されるマップの現在の状態とを併せて追跡するよう構成され、異なる確率フィルタは、異なるGNSSの測定ノイズ、異なるカメラの測定ノイズ、またはその両方を使用する。本方法は、ビークルの位置を、複数の確率フィルタによって追跡されるビークルの位置の現在の状態の第1の重み付けされた組み合わせに基づいて判断することをさらに含む。本方法は、環境のマップを、複数の確率フィルタによって追跡される環境のマップの現在の状態の第2の重み付けされた組合せに基づいて更新することをさらに含み、第1の重み付けされた組合せの重みは、第2の重み付けされた組合せの重みとは異なる。
【0022】
したがって、さらに別の実施形態は、全地球航法衛星システム(GNSS)衛星に対するビークルの位置を示すGNSSの測定値と、環境のマップに対するビークルの位置を示すカメラの測定値とを含む、異なるセンサの測定値を融合することによって、環境内を移動するビークルの位置特定および環境のマップの推定を併せて実行するための方法を実行するために、プロセッサによって実行可能なプログラムが具現化された非一時的なコンピュータ可読記憶媒体を開示する。本方法は、異なる制御ステップにおいてビークルの位置を示すGNSS測定値およびカメラ測定値を含む一連の測定値を収集することを含む。本方法は、ビークルの位置の状態およびマップの状態においてパラメータ化された複数の確率フィルタを実行することをさらに含み、確率フィルタの各々は、予測ノイズを受ける予測モデルと、GNSSの測定ノイズを受けるGNSS測定値およびカメラの測定ノイズを受けるカメラ測定値を融合する測定モデルとを使用して、ビークルの座標によって表されるビークルの位置の現在の状態と、マップのスプラインフィッティング表現を形成する多項式の係数によって表されるマップの現在の状態とを併せて追跡するよう構成され、異なる確率フィルタは、異なるGNSSの測定ノイズ、異なるカメラの測定ノイズ、またはその両方を使用する。本方法は、ビークルの位置を、複数の確率フィルタによって追跡されるビークルの位置の現在の状態の第1の重み付けされた組み合わせに基づいて判断することをさらに含む。本方法は、環境のマップを、複数の確率フィルタによって追跡される環境のマップの現在の状態の第2の重み付けされた組合せに基づいて更新することをさらに含み、第1の重み付けされた組合せの重みは、第2の重み付けされた組合せの重みとは異なる。
【0023】
したがって、いくつかの実施形態は、全地球航法衛星システム(GNSS)衛星に対するビークルの位置を示すGNSSの測定値および環境のマップに対するビークルの位置を示すカメラの測定値を含む異なるセンサの測定値を融合することによって、環境内を移動するビークルの位置特定および環境のマップの推定を併せて実行することに基づいてビークルの移動を制御するコントローラを開示する。コントローラは、少なくとも1つのプロセッサと、命令が記憶された少なくとも1つのメモリとを備え、命令は、少なくとも1つのプロセッサによって実行されると、コントローラに、異なる制御ステップにおいてビークルの位置を示すGNSS測定値およびカメラ測定値を含む一連の測定値を収集させ、ビークルの位置の状態およびマップの状態においてパラメータ化された複数の確率フィルタを実行させ、確率フィルタの各々は、予測ノイズを受ける予測モデルと、GNSSの測定ノイズを受けるGNSS測定値およびカメラの測定ノイズを受けるカメラ測定値を融合する測定モデルとを使用して、ビークルの座標によって表されるビークルの位置の現在の状態と、マップのスプラインフィッティング表現を形成する多項式の係数によって表されるマップの現在の状態とを併せて追跡するよう構成され、異なる確率フィルタは、異なるGNSSの測定ノイズ、異なるカメラの測定ノイズ、またはその両方を使用し、命令は、さらに、少なくとも1つのプロセッサによって実行されると、コントローラに、ビークルの位置を、複数の確率フィルタによって追跡されるビークルの位置の現在の状態の第1の重み付けされた組み合わせに基づいて判断させ、環境のマップを、複数の確率フィルタによって追跡されるマップの現在の状態の第2の重み付けされた組み合わせに基づいて更新させ、第1の重み付けされた組み合わせの重みは、第2の重み付けされた組み合わせの重みとは異なる。
【0024】
図面の簡単な説明
以下、添付図面を参照して本発明を詳細に説明する。示される図面は必ずしも縮尺通りではなく、代わりに、概して、本開示の実施形態の原理を説明することに重点が置かれる。
【図面の簡単な説明】
【0025】
【
図1A】本開示の一実施形態による、ビークルの運動を制御するためのシステムのブロック図を示す。
【
図1B】本開示のいくつかの実施形態による、異なるセンサからの情報を融合するよう構成されたシステムを示す。
【
図1C】本開示のいくつかの実施形態による、ビークルの位置を特定し、環境のマップを推定するために使用される例示的なセンサ一式を示す。
【
図1D】本開示のいくつかの実施形態による、
図1Aのシステムの動作の例示的なシナリオを示す。
【
図1E】本開示のいくつかの実施形態による、マップの表現の概略図を示す。
【
図1F】本開示のいくつかの実施形態による、マップのスプライン表現のための多項式の概略図を示す。
【
図1G】本開示のいくつかの実施形態による、マップの連続スプライン表現の概略図を示す。
【
図1H】本開示のいくつかの実施形態による、
図1Aのシステムの動作の例示的なシナリオを示す。
【
図1I】本開示のいくつかの実施形態による、
図1Aのシステムの動作の別の例示的なシナリオを示す。
【
図2A】本開示のいくつかの実施形態による、確率的融合機構の概略フローチャートを示す。
【
図2B】本開示のいくつかの実施形態による、異なる仮説分布の概略図を図示する。
【
図3A】本開示のいくつかの実施形態による、分布の例を示す。
【
図3B】本開示のいくつかの実施形態による、測定値を使用して状態の補正を決定するプロセスを示す。
【
図3C】本開示のいくつかの実施形態による、異なる分散を有するガウス分布を示す。
【
図3D】本開示のいくつかの実施形態による、ビークルの状態とマップの状態との結合分布を更新するための概略図を示す。
【
図3E】本開示の一実施形態による、連続性を暗黙的に強制するスプラインのパラメータ化の概略図を示す。
【
図4A】本開示の一実施形態による、環境内を移動するビークルの位置特定およびマップの推定を併せて実行するためのシステムのブロック図を示す。
【
図4B】本開示のいくつかの実施形態による、位置特定システムによって実行される方法の概略図を示す。
【
図4C】本開示のいくつかの実施形態による、測定ノイズの正確さの例示的な評価を、
図4Dと、まとめて示す。
【
図4D】本開示のいくつかの実施形態による、測定ノイズの正確さの例示的な評価を、
図4Cと、まとめて示す。
【
図4E】本開示のいくつかの実施形態による、例示的な状態変換シナリオを、
図4Fと、まとめて示す。
【
図4F】本開示のいくつかの実施形態による、例示的な状態変換シナリオを、
図4Eと、まとめて示す。
【
図4G】本開示のいくつかの実施形態による重み付け機構を示す概略図である。
【
図5A】本開示のいくつかの実施形態による、GNSSの概略図を示す。
【
図5B】本開示のいくつかの実施形態による、マルチパスがGNSS受信機のための信号を妨害するシナリオを示す。
【
図6A】本開示のいくつかの実施形態による、ビークルの状態およびマップの状態を推定するための方法のブロック図を示す。
【
図6B】本開示のいくつかの実施形態による、反復において複合確率フィルタによって実行される機能のブロック図を図示する。
【
図6C-1】本開示のいくつかの実施形態による、重み付けされた組合せを生成するためのプロセスのブロック図を示す。
【
図6C-2】本開示のいくつかの実施形態による、重み付けされた組合せを生成するためのプロセスのブロック図を示す。
【
図6D】本開示の代替的な実施形態による、重み付けされた組み合わせを生成するためのプロセスのブロック図を示す。
【
図6E】本開示のいくつかの実施形態による、記憶された履歴重みを使用して重み付けされた組み合わせを決定するための概略図を示す。
【
図6F】本開示のいくつかの実施形態による、マップを表すスプラインを決定するための方法のフローチャートを示す。
【
図6G】本開示のいくつかの実施形態によるスプラインパラメータを決定するための方法のフローチャートを示す。
【
図7A】本開示のいくつかの実施形態による、ビークルの状態およびマップの状態を併せて推定するための概略図を示す。
【
図7B】本開示の様々な実施形態に従って収集された異なるセンサ測定値を示す。
【
図7C】本開示のいくつかの実施形態による、推定された測定値と収集された測定値との比較を示す概略図である。
【
図7D】本開示の様々な実施形態による、確率フィルタの異なる推定が異なる重みをどのように割り当てられ、複合分布を形成するかのプロセスを示す。
【
図7E】本開示の様々な実施形態による、異なるセンサが、どのように、異なる重み付けを得て、異なる測定空間上で定義されるかのプロセスを示す。
【
図7F】本開示の様々な実施形態による、異なる測定空間上で定義された測定値が、互いを比較するためにどのように同じ測定空間に変換されるかのプロセスを示す。
【
図8】本開示の様々な実施形態による、推定された結合状態に基づいてビークルを制御するための方法のブロック図を示す。
【
図9A】本開示のいくつかの実施形態による、複合確率フィルタにおいて採用される運動モデルを図示する。
【
図9B】本開示のいくつかの実施形態による、カメラ測定値のモデル化のシナリオを図示する。
【
図9C】本開示のいくつかの実施形態による、多項式関数をサンプリングするためのシナリオを示す。
【
図10】本開示のいくつかの実施形態による、GNSSおよびカメラ測定値を使用して追跡される結合状態に基づいてビークルの運動を制御するためのコントローラのブロック図を示す。
【
図11A】本開示のいくつかの実施形態による、コントローラを含むビークルの概略図を示す。
【
図11B】本開示のいくつかの実施形態による、
図11Aのコントローラとビークルのコントローラとの間の対話の概略図を示す。
【
図12A】本開示のいくつかの実施形態による、あるシナリオを示すトラフィックシナリオを示す。
【
図12B】本開示のいくつかの実施形態による、マップを追跡するための遠隔サーバのシナリオを、
図12Cと、まとめて示す。
【
図12C】本開示のいくつかの実施形態による、マップを追跡するための遠隔サーバのシナリオを、
図12Bと、まとめて示す。
【
図12D】本開示のいくつかの実施形態による、同期メッセージ交換に関連するユースケースを示す。
【
図13】一実施形態による、状態推定に基づくビークル間(V2V)通信および計画の例を示す。
【
図14】一実施形態による事故回避シナリオのための複数ビークル隊列走行整形の概略図を示す。
【
図15A】本開示のいくつかの実施形態による、
図1Aのシステムを使用する無人航空機(UAV)制御の使用事例を、
図15Bと、まとめて示す。
【
図15B】本開示のいくつかの実施形態による、
図1Aのシステムを使用する無人航空機(UAV)制御の使用事例を、
図15Aと、まとめて示す。
【
図16】本開示のいくつかの実施形態による、混合自律ビークルの直接および間接制御のためのシステムのブロック図を示す。
【発明を実施するための形態】
【0026】
詳細な説明
以下の説明では、説明の目的で、本開示を充分に理解するために、多数の具体的な詳細が述べられる。しかしながら、本開示はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。他の例では、本開示を不明瞭にすることを回避するために、装置および方法がブロック図の形式でのみ示されている。
【0027】
本明細書および特許請求の範囲で用いられる場合、文言「例えば」、「例として」、「等」、ならびに動詞「備える」、「有する」、「含む」、およびそれらの他の動詞形は、1つ以上の構成要素または他の項目のリストとともに用いられる場合、各々オープンエンドと解釈されるべきであり、そのリストは、他の追加の構成要素または項目を排除するものと見なすべきではないことを意味する。「~に基づく」という文言は、少なくとも部分的に基づくことを意味する。さらに、本明細書で使用される表現および用語は、説明の目的のためであり、限定と見なされるべきではないことを理解されたい。この記載内で利用されるいかなる見出しも、便宜上のものにすぎず、法的または限定的な効果を有さない。
【0028】
いくつかの実施形態の目的は、ビークルの状態およびビークルの環境のマップの状態を示す測定値を有する異なるセンサの測定値を融合することによって、環境内を移動するビークルの位置特定および環境のマップの推定を併せて実行することのためのシステムならびに方法を提供することである。ここで、ビークルの状態とは、前記ビークルの位置および進行方向を含む。加えて、状態は、ビークルの速度および進行速度を含むことができる。環境のマップの状態は、環境のマップをパラメータ化するパラメータを含む。
【0029】
この目的のために、
図1Aは、いくつかの実施形態によるシステム100の概略図を示す。本明細書で使用されるように、システム100は、センサ101、センサ102、およびセンサ103(以下、集合的にセンサ101~103と呼ぶ)という異なるセンサからの情報とともに、センサ101~103によって暗黙的または明示的に測定される状態の推定99を提供する。例えば、システム100は、センサ101からの情報101a、センサ102からの情報102a、およびセンサ103からの情報103aなどの情報を受信する。センサ101~103のモデル110、例えば、確率的モデルまたは決定論的モデル、および潜在的に追加的に、センサ101~103の暗黙的または明示的に測定される状態の運動のモデル120を使用することによって、融合機構130は、状態推定99を生成するために情報(以下、まとめて情報101a~103aと呼ぶ)をマージする。システム100の融合機構130によって生成された状態推定99は、異なるセンサ101~103に関連付けられるデバイス104の位置特定を併せて実行するようにシステム100を構成する。
【0030】
ある例では、デバイス104は、マップ105によって表される環境100a内を移動するビークルである(以下では、説明を簡潔にするために、デバイス104をビークルと呼ぶ)。異なるセンサ101~103の101a~103aの情報は、全地球航法衛星システム(GNSS)に対するビークル104の位置を示すGNSSの測定値を含む測定値によって表される。さらに、センサ101~103のうちの少なくとも1つはカメラであり、センサからの情報101a~103aは、環境100aのマップ105に対するビークル104の位置を示すカメラの測定値を含む。
【0031】
システム100は、コンピューティングシステム、ナビゲーションユニット、高度運転者支援システム(ADAS)、自律ナビゲーションユニットなどであってもよい。そのために、システム100は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサによって実行されると、ビークル104の位置特定およびマップ105の更新を併せて実行することに関連する機能をシステムに実行させる命令が記憶された少なくとも1つのメモリとを含む。機能は、GNSS測定値およびカメラ測定値を含む測定値のシーケンスを収集することを含む。したがって、測定値のシーケンスは、センサからの情報101a~103aとして表され、システム100の異なる制御ステップにおいてビークル104の位置を示す。
【0032】
機能は、融合機構130によって複数の確率フィルタを実行することをさらに含む。複数の確率フィルタは、状態120の運動のモデルによって提供されるビークルの位置の状態と、センサ110のモデルによって提供されるマップ105の状態とにおいてパラメータ化される。動作において、融合機構130の確率フィルタの各々は、予測ノイズを受ける予測モデルと、GNSSの測定ノイズを受けるGNSS測定値およびカメラの測定ノイズを受けるカメラ測定値を融合する測定モデルとを使用して、ビークルの座標によって表されるビークル104の位置の現在の状態と、マップ105のスプラインフィッティング表現を形成する多項式の係数によって表されるマップ105の現在の状態とを併せて追跡するよう構成される。異なる確率フィルタは、ある例では、異なるGNSSの測定ノイズ、異なるカメラの測定ノイズ、またはその両方を使用する。
【0033】
システム100は、複数の確率フィルタによって追跡される位置の現在の状態の第1の重み付けされた組み合わせに基づいてビークル104の位置を判断する機能を実行するようにさらに構成される。また、システム100は、さらに、複数の確率フィルタによって追跡されるマップ105の現在の状態の第2の重み付けされた組み合わせに基づいて環境100aのマップ105を更新する機能を実行するように構成される。そのために、第1の重み付けされた組み合わせの重みは、第2の重み付けされた組み合わせの重みとは異なる。
【0034】
いくつかの実施形態は、推定に関与する異なるタイプの不確実性、例えば、ビークル104の状態の推定不確実性、マップ105の状態の不確実性、および測定値101a~103aの不確実性があるという認識に基づく。いくつかの実施形態は、異なるタイプの不確実性は確率的として、例えば、測定の不確実性のガウス分布として表され得るという認識に基づく。他の実施形態は、ビークル104の状態およびマップ105の状態の同時推定の成功のために、異なる不確実性が別個の量として識別され、結合不確実性として統合されない必要があるという認識に基づく。例えば、融合機構130は、ビークル104の状態の推定およびマップ105の状態の不確実性に不確実性を割り当てるだけでなく、どのような測定値がどのようなレベルの不確実性を引き起こすかを判断する必要がある。すなわち、融合機構130は、ビークル104の状態とマップ105の状態との別々の不確実性を判定するために、異なるセンサ101~103から不確実性を分離する必要がある。この目的のために、いくつかの実施形態は、システム100にその機能を実行させるために、異なるセンサ101~103の不確実性を明確にするための融合機構130として確率的融合を使用する。既に論じた機能は、マップ105もしくはビークル状態のいずれかまたは両方が誤差を伴って推定される可能性を考慮するためにビークル状態およびマップパラメータを併せて推定することを含む。
【0035】
システム100の機能は、以下で議論される種々の実施形態でさらに説明されるであろう。
【0036】
図1Bは、異なるセンサ101~103からの情報101a~103aを融合するよう構成されたシステム100を示す。本開示の一実施形態では、異なるセンサ101~103のうち、含まれるセンサ101は、慣性測定ユニット(IMU)(以下、IMU101と呼ぶ)であり、加速度および回転速度をIMU101からの情報101aとして出力し、センサ102は、カメラ102(以下、カメラ102という)であり、画像の画素をカメラ102からの情報またはカメラ測定値102aとして出力し、センサ103は、例えばGPSを利用した全地球航法衛星システム(GNSS)受信機(以下、GNSS受信機103という)であり、受信機の位置に対応するGNSS測定値をGNSS103からの情報103aまたはGNSS測定値103aとして出力する。センサ101~103は、一例ではビークル104に取り付けられている。
【0037】
また、IMU101は、磁界を出力することもできる。例示的な搭載として、IMU101は、ビークル104の内部に搭載することができ、したがって、IMU101は、ビークル104の加速度および回転速度に関する情報101aを測定する。同様に、カメラ102は、ビークル104の前方に取り付けることができ、ビークル104の前方の道路上の物体を識別するための命令を実行するシステム100の少なくとも1つのプロセッサに接続することができる。例えば、カメラ102は、ビークル104の前方の車線標示の座標または多項式表現を出力することができる。GNSS受信機103は、1つまたはいくつかの衛星配列、たとえばGPS、GALILEO、およびQZSを使用していくつかの衛星からコードおよび搬送波位相測定値を受信し、GNSS受信機103の位置を判断する。例えば、GNSS受信機103がビークル104の内部に搭載されている場合、GNSS受信機103は、ビークル104の位置を効果的に測定する。
【0038】
図1Cは、ビークルの位置を特定し、環境100aのマップを推定するために使用される例示的なセンサ一式99cを示す。例えば、センサ一式99cは、ビークルの異なる場所に取り付けられたいくつかのカメラ102cを含むことができ、環境100aの点群を判断する1つもしくはいくつかのライダー107cまたはレーダー108c、およびIMU101を含むことができる。レーダーまたはライダーをカメラ102と組み合わせて使用することは、相補的であるため有益である。例えば、レーダーおよびカメラの両方は、環境100aに対するビークルの位置を示す、環境100aの測定値を与えるが、それらは異なる誤差源の影響を受けやすい。さらなる補完として、センサ一式99cは、超音波センサ109cを含むことができ、これは、位置特定のために使用することができる、環境内の物体を測定するためのさらに代替的な方法を加える。
【0039】
いくつかの実施形態は、メモリに記憶され、位置特定に使用することができる追加の情報源として使用される事前マップ105cを利用する。例えば、マップ表現に含まれる道路の車線標示をカメラ102に測定させることによって、カメラ102は、GNSS103を補完するための全地球測位情報を与えることができる。
【0040】
センサ一式99cからの情報およびセンサ情報のモデル110を使用して、融合機構130は、本開示の他の実施形態によって説明される原理に従って、センサ情報101a~103aを状態にマッピングし(110c)、状態を推定する(120c)。
【0041】
いくつかの実施形態は、道路上の1つまたはいくつかの車線の車線標示を含む環境100aのマップを使用し、マップは、モバイルマッピングシステム(MMS)を使用して構築されている。いくつかの実施形態では、MMSは、離散点として表されてメモリに記憶される。他の実施形態は、ビークルが道路上を移動し、カメラが道路の車線標示を測定するとき、MMSによって判断された離散点は、カメラを使用して、ビークルの位置特定と、マップとの整列とを併せて行う場合、カメラ測定値を充分に表さない場合があることを理解する。
【0042】
例示のために、
図1Dは、ビークル160dが車線標示によって表される車線縁部の近くを走行するシナリオを示す。マップ105は、点110d~140dによって表される。ビークル160dに搭載されたカメラは、コンピュータビジョン(CV)アルゴリズムを備え、CVアルゴリズムによって検出される車線標示の多項式表現150dを判断する。ビークル160dは、多項式表現150dが2つの点110dと120dとの間で初期化されるように、マップ105の2つの点間に位置する。したがって、多項式表現150dのカメラ測定値をマップ105と比較してビークル160dの位置を特定する方法を理解することは困難である。
【0043】
いくつかの実施形態は、更新においてマップ105を使用するために、連続表現が有利であることを認識する。
図1Eは、いくつかの実施形態に従って、マップ105をどのように表すかの図を示す。具体的には、MMSからのマップ点110e、120e、130e、140eにスプライン表現150eとして多項式をフィッティングすることにより、連続マップ表現150eが構築される。スプラインは、制御点によって定義される区分的多項式のセットである。例えば、点110e~140eは、制御点とすることができ、スプラインは、スプライン表現150eを与えるようにそのような点によって定義される多項式を最もよく表すようにフィッティングされることができる。
【0044】
いくつかの実施形態では、推定されるべき状態は、ビークル104の状態およびマップ105の状態であり、マップ105の状態は、1つまたはいくつかのスプラインを形成する1つまたはいくつかの多項式の係数を含む。スプライン表現を使用することにより、スプラインから、カメラ測定値と任意に良好に整列することができる点をサンプリングすることが可能になり、したがって、様々な測定値、例えば、カメラ測定値、GNSS測定値、およびマップを比較する簡単な方法を与える。
【0045】
スプラインは、接続される多項式のセットからなる。マップの表現は連続的であり、例えば、道路の車線の車線標示は連続的であるため、スプラインに含まれる多項式は、暗黙的または明示的に強制的な連続性である。
【0046】
図1Fは、多項式150eが点110e~140eによって定義され、別の多項式140fが点140e、110f、120f、および130fによって定義される図を示す。いくつかの実施形態は、多項式150eの終点140eおよび多項式140fの開始点140eにおける空間位置において連続性を強制する。他の実施形態は、スプラインに沿った速度に沿っても連続性を強制し、そのような連続性を達成するためのパラメータ化は、本開示の他の実施形態によって説明される。
【0047】
一実施形態では、MMSからのマップは、ビークルが道路を通り抜けるにつれて再帰的に出力される。例えば、マップ点は、ビークル104の周囲の所与の水平線について固定出力レートで出力される。この目的のために、離散点は、バッチで再帰的に与えられ、それによって、スプライン間の連続性は、本開示の他の実施形態によって説明されるように、スプライン内の多項式間と同様に強制される。
【0048】
いくつかの実施形態は、マップ105またはマップ105の表現は、いくつかの理由により不確実であり得る、という理解に基づく。
【0049】
例えば、MMSは、高性能カメラおよびライダーなどの高コストセンサを使用して道路をマッピングする。しかしながら、そのような高コストセンサを用いても、世界座標において実際のマップ位置の不確実性をもたらす、ある精度の損失を引き起こす、不可避的な欠陥が存在する。
【0050】
例えば、MMSは、ある更新レート、例えば、数週間または数ヶ月で、都市の街路をマッピングする。しかしながら、そのようなマッピングインスタンス間には、例えば、再舗装された道路が新たな車線標示をもたらして位置がわずかに異なること、または一時的な道路工事が車線の変更もしくは街路の経路変更につながることに起因して、街路において捕捉されない、道路に対する変更が存在し得る。
【0051】
図1Gは、いくつかの実施形態による、マップ点110e~140eが連続スプライン表現150eに変換されている状況を示す。前述の不完全性のため、いくつかの実施形態は、マップ105の不確実性を連続スプライン表現150eの不確実性に移し、不確実性分布150gをもたらす。いくつかの実施形態では、そのような不確実性分布150gは、マップ更新とビークル位置更新とのバランスをとるために使用される。
【0052】
図1Hは、ビークル110hが車線標示120hおよび140hを有する道路上を走行するシナリオの図を示す。しかしながら、メモリに記憶されたマップは、車線標示が120hおよび140hとは異なる位置130hおよび150hに位置することを示す。カメラは、車線標示120hおよび140hまでの距離108hおよび109hを測定する。しかしながら、メモリに記憶されたマップが真のマップとは異なるので、カメラ測定値108hおよび109hは、ビークル110hが異なる場所160hに位置することに対応する。これに対応して、マップ更新がグラウンドトゥルースとして信頼される場合、推定ビークル位置は誤っていることになる。
【0053】
図1Iは、
図1Hの同じビークル110hが同じ道路を走行するシナリオの図を示す。このシナリオでは、推定位置110iは真の位置とは異なる。したがって、測定値108hおよび109hでは、推定は、ビークルが110iに位置すると考えるので、測定値108hおよび109hは、ビークル位置110iと車線標示130iおよび140iとの間で測定される108iおよび109iであると解釈される。したがって、マップが更新される場合、マップが位置130iおよび140iにおいて誤って推定されることにつながる。
【0054】
このため、および
図1Hおよび
図1Iから、いくつかの実施形態は、マップもしくはビークル状態のいずれかまたは両方が誤差を伴って推定される可能性を考慮するために、ビークル状態およびマップパラメータを併せて推定する。言い換えれば、マップを含めることによってビークル位置特定を改善することができ、ビークル状態を含めることによってマップのオンライン推定を改善することができる。
【0055】
いくつかの実施形態は、マップおよびビークル状態の確率的融合が有利であることを活用し、なぜならば、不確実性を組み込むことにより、ある度合いの信頼度を利用してビークル状態およびマップの状態を更新することができるからである。このようにすることは、情報の融合が、様々なセンサに依拠することと、マップの状態の推定と、ビークルの状態の推定との間でバランスをとることができることを意味する。
【0056】
図2Aは、いくつかの実施形態による確率的融合機構130の概略フローチャートを示す。ビークルの状態およびマップの状態を含む結合状態の推定結合分布210aをともに形成する、マップ105の状態の初期推定値、ビークル104の状態、および関連する不確実性の推定値を使用して、融合機構130は、予測分布220aに対する推定を予測し(270a)、予測、すなわち時間伝搬は、典型的には、ビークル104の状態の運動モデル120を利用する。いくつかの実施形態では、ビークル104の状態の時間伝播は、ビークルの操舵およびビークルの加速度などのビークル排他的特性に依存するので、ビークル104の状態の予測210aおよびマップ105の状態は、互いに独立して判断され得る。次に、確率的融合機構130は、ビークル104およびマップ105の集約状態を測定し(280a)、感知は確率的不確実性を有し、測定された分布230aをもたらす。次に、コスト関数295aを使用して、融合機構130は、測定された分布230aを使用して、測定された状態空間に変換240aされた予測分布220aを補正290aして、推定分布250aを達成し、ここで、補正290aは、融合機構130内で最小化するためのコスト関数に基づく。次の時間ステップ260aでは、終了条件が満たされるまで手順が繰り返される。
【0057】
融合機構130は、ビークル104の状態とマップ104の状態との結合コスト関数を最小化する補正ポリシーを決定するために実現され得る。結合コスト関数295aは、測定値からの結合予測状態の偏差、補正の大きさなどを含み得る。結合コスト関数29aは、現在の推定によって提供される現在の時間インスタンスにおけるビークル104およびマップ105の状態を含み得る。追加または代替として、結合コスト関数295aは、予測される将来の状態または履歴測定値からの状態の履歴偏差を含み得る。例えば、コスト関数は、二乗2ノルムを使用することができ、
【0058】
【0059】
ここで、x(t)は予測される状態を表し得、u(t)は制御入力、例えばビークルの操舵角および加速度を表し得、Qは正定値行列であり得る。
【0060】
ビークルの予測される将来の状態は、運動モデル120および制御ポリシーu(t)を使用して取得され得、
【0061】
【0062】
ビークルの測定された状態x0は、時間ゼロにおけるビークルの予測される将来の状態を初期化x(0)=x0するために使用され得る。
【0063】
図2Aに示される最適化ベースの手順は、シミュレーションモデルおよびある時間ホライズンT
horにわたるビークル104の状態を定義する制約を受けるコスト関数(1)を最小化するために実現され得る。
【0064】
【0065】
二次コスト関数および線形運動モデルに関しては、(3)は、いくつかの実施形態によればカルマンフィルタの形態で実現されることができ、非線形運動モデルに関しては、(3)は、カルマンフィルタの種々の非線形バージョン、例えば、アンセンテッドカルマンフィルタ、またはより一般的には線形回帰カルマンフィルタによって近似されることができる。
【0066】
いくつかの実施形態は、単一の測定値は測定変動の分布から1つのサンプルしか知らせないため、測定された分布230aはそれ自体不確実であるという認識に基づく。測定分布は、公称条件下で判断することができるが、実行時では、多数の要因のため、変動することになる。例えば、GNSS測定は、時として、信頼性があり得、それは、分布の小さい分散を意味し、時として、例えば、マルチパスまたはわずかな見通し線衛星のため、GNSS測定は、信頼性がなく、大きい分散を暗示し得る。この目的のため、いくつかの実施形態は、測定が由来し得る分布の異なる仮説を使用して各測定をモデル化する。
【0067】
たとえば、
図2Bを参照すると、カメラ測定値は、第1の仮説230a、第2の仮説230b、および第3の仮説231bなどの分布を有することができる。いくつかの実施形態では、そのような異なる分布の可能性は、異なるタイプの不確実性、例えば、GNSS不確実性、カメラ不確実性、およびマップ不確実性を明確にするために、複数の確率フィルタを含む複合確率フィルタにおいて使用される。一実施形態は、第1の仮説230a、第2の仮説230b、および第3の仮説231bの不確実性のうちのどれが最良のコスト関数を与えるかを判断するために、結合コスト関数295aに従ってビークル104の状態およびマップ105の状態を更新する際に、異なるタイプの測定値の複数の可能な平均および分散を使用する。
【0068】
図3Aは、本開示のいくつかの実施形態による、分布310aの例を示す。
図3Aは、
図2Aと併せて説明される。分布310aは、状態およびマップの予測結合分布220aであり得る。例えば、分布310aは、ガウス分布に対応し得る。ガウス分布310aは、平均320aおよび分散330aによって定義することができ、平均320aは、分布310aの中心位置を定義し、分散330aは、分布310aの広がり(または幅)を定義する。
図3Aはまた、異なる平均321aおよび分散331aによって定義される、いくつかの実施形態による第2の分布311aの例を含む。いくつかの実施形態では、そのような異なる分布は、異なるタイプの不確実性を明確にするために異なる測定分布仮説と併せて使用される結合状態、すなわち、ビークルの状態およびマップの状態の平均ならびに分散の、異なる推定である。
【0069】
図3Bは、状態の結合分布、すなわちビークル104の状態とマップ105の状態とを含む拡張状態を定義する分布が、測定値を使用して状態の補正を判断するために、どのように使用され得るかの手順を示す。
図3Bは、
図2Aと併せて説明される。分布310bは、ビークルの状態およびマップの予測結合分布220aに対応することができ、すなわち、分布310aまたは第2分布311aに対応することができる。分布310bは、状態の運動モデルの不確実性の異なる仮説を前提として、ある数の推定を定義してもよい。例えば、分布310bは、3つの異なる不確実性に関する3つの状態仮説、または不確実性による制御アクションを提供し得る。3つの状態仮説は、第1の状態320b、第2の状態330b、および第3の状態340bによって与えられ得る。次いで、手順は、測定280aを伴い、3つの異なる状態をその測定および測定分布230aとともに使用して推定性能を評価することができる。例えば、分布310bは、平均xおよび分散σ
2を有するガウス分布であり得る。この例では、第1の状態320bはx_1=x-σによって与えられ得、第2の状態330bはx_2=xによって与えられ得、第3の状態340bはx_3=x+σによって与えられ得る。
【0070】
次いで、3つの状態をもたらす予測の結果は、補正ステップ290aにおいて結合状態の補正された結合分布250aを判断するために使用され得る。例えば、結合分布は、3つの仮説の重み付けされた平均を測定分布230aと組み合わせて使用して更新されてもよく、重みは、結合コスト関数295aに従って選択されてもよく、
【0071】
【0072】
ここで、ciは、状態xiに関連付けられる推定の評価されたコスト関数である。結合分布は、他の測定分布と組み合わせることができ、異なる重みをもたらす。ある例では、重みの評価は、異なる測定分布230bを使用して選択され得る。
【0073】
図3Cは、本開示のいくつかの実施形態による、異なる分散を有するガウス分布-第1のガウス分布310c、第2のガウス分布320c、および第3のガウス分布330c(以下、まとめてガウス分布310c、320cおよび330cと呼ぶ)を示す。
図3Cは、
図2Aと併せて説明される。ガウス分布310c、320c、および330cは、測定値230aの分布の異なる仮説であってもよく、例えば、
図2Bの分布230a、230b、および231bであってもよい。これらのガウス分布310c、320cおよび330cの各々は、互いに対して異なる分散を有し得るが、ガウス分布310c、320cおよび330cの平均340cは同じであり得る。分散が小さく、平均340cがガウス分布間で最も高い確率を有するガウス分布は、分布を定義する正しい測定値に関して、より確実であり得る。
【0074】
図3Dは、本開示のいくつかの実施形態による、補正ステップ290aにおいてビークル104の状態とマップ105の状態との結合分布220aを更新するための概略
図310dを示す。
図3Dは、
図2Aと併せて説明される。概略
図310dは、予測ガウス分布320dと、測定の不確実性を定義するガウス分布340dと、補正ガウス分布330dとを含む。例えば、予測ガウス分布320dは、1つまたは複数のパラメータの予測結合分布220aであり得る。例えば、測定の不確実性を定義するガウス分布340dは、前記測定の分散を測定する以前の実験から判断された
図3Cにおける分布の1つであってもよい。例えば、補正ガウス分布330dは、ビークル104の状態とマップ105の状態との補正結合分布250aであってもよい。概略
図310dはまた、別の予測ガウス分布321dと、測定の別の不確実性を定義する別のガウス分布341dと、分布321dおよび341dを使用して得られる補正ガウス分布331dとを含む。いくつかの実施形態では、2つの補正ガウス分布341dおよび340dは、ビークル104の状態およびマップ105の状態の補正結合分布250aを形成するために、一緒に重み付けされる。
【0075】
一実施形態は、確率分布がスプラインパラメータにわたるスプラインによって表されるマップ事前確率分布が、2次元または3次元空間に分布する接続点のセット、いわゆるマップ点として与えられ得るマップに回帰される必要があるという認識に基づく。一実施形態は、マップ点を特定のスプラインセグメントに関連付け、L2ノルムとして、マップ点に関して回帰された道路マップの総二乗全変動誤差の尺度を最小にする回帰を公式化することによって、これを行い、
【0076】
【0077】
そのようなコスト関数は、線形系を反転させることによって不等式制約なしで提示されるとき、分析的に最小化することができる。これは、自乗可積分曲線を表すために使用されるパラメータにおいて線形である、当該任意の自乗可積分曲線について当てはまる。一例として、ただし一般性を失うことなく、d次元空間におけるベジェ曲線について、
【0078】
【0079】
そのような回帰の特徴は、道路マップからのサンプリングされた測定値上の均質なガウスノイズとして符号化されたマップ点における不確実性が、スプラインパラメータ、すなわち、マップ105の状態を構成するパラメータにおける不確実性に直接伝播され得ることである。ここでも、一般性を失うことなく、例としてベジェ曲線を使用して、スプライン係数の共分散行列について以下の式を得る。
【0080】
【0081】
ここで、積における最後の因子は、マップ点に関連付けられるノイズの分散である。言い換えれば、マップ点の不確実性の事前尺度を有することによって、スプラインパラメータ、すなわちマップの状態は、不確実性事前確率分布を自然に得る。
【0082】
いくつかの実施形態は、速度における連続性制約がマップにおいて強制され得るという認識に基づいており、これは、マップ105の状態とビークル104の状態との結合分布を推定する推定器において使用される暗黙的に連続するベジェ曲線表現と上記で表されたベジェ曲線との間に1対1のマッピングがあることを保証する。一実施形態は、回帰における制御点の表現を、フィルタにおいてマップ105を表すスプラインにおける変数にマッピングする、上への非線形マップFを表す。実際、前者にわたる分布は、一次展開によって後者の分布にマッピングすることができ、以下の近似関係が、マップ105の事前不確実性を割り当てるため得られる。
【0083】
【0084】
【0085】
図4Aは、本開示の一実施形態による、環境内を移動するビークルの位置特定およびマップの推定を併せて実行するためのシステム400のブロック図を示す。
図1Aに示すように、システム400はシステム100と等価であり、ビークルはビークル104であり、マップはマップ105である。
【0086】
位置特定システム400は、プロセッサ402aおよびメモリ404aを含む。プロセッサ402aは、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、または任意の数の他の構成であり得る。メモリ404aは、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、または任意の他の好適なメモリシステムを含み得る。さらに、いくつかの実施形態では、メモリ404aは、ハードドライブ、光学ドライブ、サムドライブ、ドライブのアレイ、またはそれらの任意の組合せを使用して実現され得る。ある実施形態では、メモリ404aは、複数の確率フィルタ405aを記憶する。複数の確率フィルタ405aは、
図4Bにおいて詳細に説明される。本説明を通して、複数の確率フィルタ405aは、本開示の範囲から逸脱することなく、複合確率フィルタ405aと称される。一実施形態では、位置特定システム400は、ビークル104に通信可能に結合され得る。
【0087】
図4Bは、本開示のいくつかの実施形態による、位置特定システム400によって実行される方法の概略図を示す。位置特定システム400は、ビークル104の状態およびマップ105の状態を示す測定値を使用してビークルを追跡する。たとえば、測定値は、ビークルの位置、ビークルの進行角度、ビークルの速度、および環境のマップに対するビークルの位置を示すカメラの測定値のうちの1つまたは組合せを含み得る。一実施形態では、ビークル104の状態を示す測定値は、
図1Aおよび
図1Bに示すセンサ測定値101a~103aに対応し得る。言い換えれば、ビークル104の状態を示す測定値は、1つ以上のセンサ101~103から取得することができる。例えば、ビークル104の速度を示す測定値は、ビークル104の速度センサから取得されてもよい。いくつかの実施形態では、カメラの測定値は、環境100aなどの環境の特徴、例えば道路の車線標示を出力するように後処理される。いくつかの実施形態によると、そのような車線標示は、マップ105のスプライン表現を使用してマップ105を構成する。
【0088】
位置特定システム400は、まず、異なる制御ステップでビークル104の状態を示す一連の測定値を収集する(410b)。例えば、測定値のシーケンスは、
図1Bにおいて先に示されているGNSS測定103aおよびカメラ測定102aを含む。集合的に、GNSS測定値103aおよびカメラ測定値102aは、位置特定システム400の異なる制御ステップにおいてビークル104の位置を示す。さらに、位置特定システム400は、ビークル104の位置の状態およびマップ105の状態においてパラメータ化された複数の確率フィルタを含む複合確率フィルタ405aを反復的に実行する(420b)。複合確率フィルタは、測定値のシーケンスを使用して異なる制御ステップの各々においてビークル104の状態およびマップ105の状態を併せて追跡して、測定値のシーケンスに対応するビークル104およびマップ105の状態の結合シーケンス425bを生成するよう構成される。さらに、位置特定システム400は、複合確率フィルタ405aによって追跡されるビークル104およびマップ105の状態の結合状態、すなわち結合状態を出力する(430b)。
【0089】
現在の測定値を使用して現在の制御ステップのための反復を実行するために、複合確率フィルタ405aは、ビークル104の位置の状態およびマップ105の状態を併せて、ならびに異なる測定分布においてパラメータ化された複数の確率フィルタ、すなわち、確率フィルタ421b、確率フィルタ422b、および確率フィルタ423b(以下、まとめて複数の確率フィルタ421b~423bと呼ぶ)を実行して、現在の制御ステップのための結合状態の複数の推定値を生成するよう構成される。例えば、確率フィルタ421bは状態431bを生成し、確率フィルタ422bは状態432bを生成し、確率フィルタ423bは状態433bを生成する。
【0090】
複数の確率フィルタ421b~423bの各々は、プロセスノイズを受ける予測モデルを用いて現在の結合状態を反復的に予測し、測定ノイズを受ける測定モデルを用いて、現在の測定に基づいて、予測される現在の結合状態を更新する確率フィルタであり、2つの異なるフィルタ421bおよび422bは、異なる測定ノイズを有する。
【0091】
そのために、複合確率フィルタ405aは、例えば、状態431b、432b、および433bの、ビークル104の位置およびマップ105の状態の結合状態の複数の推定値に変動を引き起こす異なる測定ノイズを有する複数の確率フィルタ421b~423bを実行する。次に、複合確率フィルタ405aは、複数の確率フィルタ421b~423bの各々について、現在の測定値を、予測される現在の状態と相関させる、対応する測定ノイズの尤度を推定し、ビークル104の位置とマップ105の状態との結合状態の複数の推定値を、正規化された重み-対応する確率フィルタについて推定される尤度から導出される、状態431bに対する重み441b、状態432bに対する重み442b、および状態433bに対する重み443b(以下、重み441b~443bと呼ぶ)-で重み付けされた組み合わせに組み合わせる(450b)。したがって、現在の制御ステップのために複合確率フィルタ405aによって追跡される結合状態は、重み付けされた組合せ450bに基づく。
【0092】
このように、測定ノイズは、確率フィルタの性能外の測定値の追加の統計的分析を必要とすることなく、確率フィルタの内部変数および/または計算を使用して評価される。上述の例は、状態推定と測定値との間の相関の原理を示すだけでなく、相関の推定を実施するために使用することもできることに留意されたい。しかしながら、異なる実施形態は、相関を評価するために異なる技法を使用することができる。たとえば、いくつかの実施形態は、カルマンフィルタによって求められたカルマン利得の評価を使用して、予測される現在の状態および状態推定値の共分散を更新し、これは、不偏推定器については平均二乗誤差(MSE)である。例えば、一実施形態は、複合確率フィルタにおける各カルマンフィルタのカルマン利得を求め、カルマン利得を使用して更新された予測される現在の状態および状態推定値の更新された共分散を求め、カルマン利得に基づいて更新された状態および共分散に基づいて測定ノイズの尤度を求める。そのような計算は、確率フィルタの内部であり、すなわち、デバイスの状態を追跡するためにいずれにせよ計算される。したがって、これらの変数の計算は、追加のリソースを必要としない。
【0093】
しかしながら、いくつかの実施形態は、確率フィルタの内部変数および/または計算の使用は測定ノイズの正確さの評価のための計算要件を低減し得るが、評価自体が確率フィルタの内部性能によって損なわれるという認識に基づく。言い換えれば、測定ノイズの正確さは、必ずしもカルマンフィルタに依存せずに測定値を反映する真の正確さではなく、確率フィルタ自体の観点からの正確さである。そのために、この評価を使用して測定ノイズを適合させることは問題であるかもしれないが、むしろ、この評価を使用して、選択された測定ノイズで確率フィルタの性能を評価することが問題であり得る。
【0094】
この問題に対処するために、いくつかの実施形態は、異なる測定ノイズを有する複数の確率フィルタを使用し、結合状態を、各フィルタの重みが測定ノイズの尤度の対応する評価から導出される、複数の確率フィルタ421b~423bによって推定される状態の重み付けされた組み合わせとして求めて、結合状態を示す現在の測定値を、フィルタの予測モデルによって予測される状態に相関させる。このように、測定値の統計的特性を分析する必要なく、異なる測定ノイズを考慮することができる。
【0095】
いくつかの実施形態では、各時間ステップにおいて、複数の確率フィルタ421b~423bの各々は、重み付けされた組み合わせ450bに基づいて初期化される。
【0096】
重み付けされた組み合わせは、いくつかの方法で求めることができる。一実施形態は、測定尤度を使用して重み付けすることによって重み付けされた組み合わせを求め、各尤度は異なる測定分布を含み、結合状態は測定尤度に挿入される。別の実施形態は、ビークルの状態およびマップの状態に対して異なる重み付けされた組み合わせを求める。
【0097】
追跡の確率的性質により、測定ノイズの選択は、状態431bおよび関連付けられる重み441bに影響を及ぼす。そのために、測定ノイズの選択は、状態431bの推定に影響を及ぼし、それによって、測定ノイズの選択の正確さは、確率フィルタの動作に有益であり得る。
【0098】
同様に、事前マップ不確実性の選択は、更新に影響を及ぼす。いくつかの実施形態では、異なるマップ事前ノイズが、異なる確率フィルタのために使用される。他の実施形態では、マップ事前ノイズは、本開示の既に言及された実施形態によって判断される。
【0099】
いくつかの実施形態は、カルマンフィルタのような確率フィルタの内部変数および/または計算が、複数の確率フィルタ421b~423bにおいて使用される測定ノイズの正確さを評価するために使用され得るという認識に基づく。具体的には、測定ノイズの正確さの評価のメトリックは、結合状態を示す現在の測定値を予測モデルによって予測される結合状態に相関させる測定ノイズの尤度であり得る。
【0100】
図4Cおよび
図4Dは、本開示のいくつかの実施形態による測定ノイズの正確さの例示的な評価の図を示す。ビークル104およびマップ105の予測される現在の結合状態405cは、変換された結合状態415cを得るために、測定のドメイン(すなわち、測定空間)に変換410cされる。変換された状態の例は、
図4Dに示される440dである。そのような変換は、例えば、測定値のモデルを使用して実行することができる。次に、異なる測定ノイズ特性、例えば、ノイズ共分散が、
図4Dに示される異なる測定ノイズ410dおよび420dの尤度を推定するために、変換された状態440dを中心とされる(420c)。一実施形態では、複数の確率フィルタ421b~423bの各々は、プロセスノイズおよび測定ノイズが対応するガウス確率分布によって定義される非線形カルマンフィルタであり、測定空間に変換される予測される現在の結合状態の推定は、ガウス確率分布の平均であり、異なる測定ノイズは、対応するガウス確率分布の異なる分散を定義する。
【0101】
さらに、予測される現在の状態405cを更新するための現在の測定値425cが受信されるとき、測定値は、探索された相関の尤度を推定するために確率分布上にマッピングされ得る(430d)。例えば、
図4Dに見られるように、測定ノイズ420dの尤度は、マッピングされた測定430dにおいて測定ノイズ410dの尤度よりも大きい。
【0102】
いくつかの実施形態では、各時間ステップにおいて、複数の確率フィルタ421b~423bの各々は、重み付けされた組合せ425bに基づいて初期化される。例えば、
図4Eを参照すると、一実施形態では、変換状態415eが、複数の確率フィルタ421b~423bの各々を初期化するために使用され、複合確率フィルタ450aの予測結合状態は、各確率フィルタにおいて内部的に異なる測定ノイズ共分散を有することによって、異なって更新される。そのために、測定空間に変換される予測される現在の結合状態(すなわち、変換状態415e)の推定は、複数の確率フィルタ421b~423bに共通である。
【0103】
いくつかの他の実施形態では、複数の確率フィルタ421b~423bは、内部状態推定値を使用して並列に動作し、重み付けされた組み合わせ425bは、複合確率フィルタ405aの出力としてのみ使用される。例えば、
図4Fを参照すると、第1の変換状態451fは、確率フィルタ421bについて、確率フィルタ421bの予測される現在の状態を測定空間に変換することによって、得られる。第2の変換状態452fは、確率フィルタ422bについて、確率フィルタ422bの予測される現在の状態を測定空間に変換することによって、得られる。第3の変換状態453fは、確率フィルタ423bについて、確率フィルタ423bの予測される現在の状態を測定空間に変換することによって、得られる。複数の確率フィルタ421b~423bは、次の反復において、それぞれ、第1の変換状態451f、第2の変換状態452f、および第3の変換状態453fを使用して、それらの内部状態推定を更新するよう構成される。言い換えれば、測定空間に変換された予測される現在の結合状態の推定は、異なる確率フィルタについて異なる。
【0104】
いくつかの実施形態は、同じ変換状態推定値を有するとき、制御の各時間ステップにおいて各確率フィルタを初期化することは、状態推定値において多様性の欠如を引き起こし得、なぜならば、各確率フィルタは多様化に対して1つの時間ステップのみを有するからである、という認識に基づく。いくつかの他の実施形態は、複数の確率フィルタ421b~423bを互いに独立して動作させることは、枯渇を引き起こす可能性があり、これは、数時間ステップ後に、複数の確率フィルタ421b~423bのうちの1つのみが非ゼロの重みを有し得ることを意味するという理解に基づく。
【0105】
前述の問題を解決するために、いくつかの実施形態は、推定値の混合によって制御の各時間ステップにおいて状態推定値をともに初期化し、各確率フィルタの混合は、重み441b、442b、および443b、ならびに他の重みとの関係によって決定される。
【0106】
いくつかの実施形態は、異なる重み付けされた組み合わせ450bを使用して、ビークルの状態およびマップの状態をそれぞれ重み付けする。そのような異なる重み付けは、異なるメトリック、すなわちコスト関数が異なるエンティティに関連付けられるときに有益であり得る。例えば、いくつかのアプリケーションは、滑らかなビークル位置推定に焦点を当てる重み付けを必要とする場合があり、なぜならば、滑らかなビークル位置推定は、位置推定の高速変動が制御性能に有害であり得る制御コンテキストにおいて使用されることになるからであるが、他のアプリケーションは、マップの最良の推定値を提供することに焦点を当てる重み付けを必要とする場合があり、なぜならば、そのようなマップは経路付けシステムに使用されるからである。
【0107】
図4Gは、いくつかの実施形態による重み付けの2つの例、すなわち第1の重み付け410gおよび第2の重み付け420gを示し、第1の重み付け410gは、ビークル470の重み付けされた状態を生成するために、異なる確率フィルタからのビークル104の状態を一緒に重み付けするために使用され、第2の重み付け420gは、マップ480の重み付けされた状態を生成するために、異なる確率フィルタからのマップ105の状態を一緒に重み付けするために使用される。例えば、ビークル104の状態の第1の重み付け410gは、平均二乗の意味で行われ、なぜならば、そのような重み付けは、より滑らかな推定値を生成することが公知であるからである。例えば、マップ105の状態の第2の重み付け420gは、最大事後的意味で行われ、なぜならば、そのような重み付けは、より変動する推定値を生成することが知られている一方で、より確からしい推定値を生成することも知られているからである。
【0108】
そのために、ビークル104の状態431bは対応する重み441bを有し、ビークル104の状態432bは対応する重み442bを有し、ビークル104の状態433bは対応する重み443bを有する。これらの状態および重みはすべて、最小平均二乗重み付けである第1の重み付け410gによって組み合わされて、ビークルの重み付けされた状態470を生成する。生成されたビークルの重み付けされた状態470は、複数の確率フィルタ421b~423bによって追跡される位置の現在の状態431b~433bの組み合わせである。この組み合わせは、第1の重み付け410gの組み合わせである。
【0109】
そのために、マップ105の状態451bは対応する重み461bを有し、マップ105の状態452bは対応する重み452bを有し、マップ105の状態453bは対応する重み463bを有する。これらの状態および重みはすべて、マップの重み付けされた状態480を生成するために、最大事後重み付けである第2の重み付け420gによって組み合わされる。生成されたマップの重み付けされた状態480は、複数の確率フィルタ421b~423bによって追跡されるマップの現在の状態461b~463bの組み合わせである。この組み合わせは、第2の重み付け420gの組み合わせである。また、重み441b~443bは、重み461b~463bとは異なる。
【0110】
異なる重み付けされた組み合わせは、各々、それらの長所と短所とを有し、互いに独立したマップの状態とビークルの状態との間で異なる重みを生成することにより、ある重み付けを伴う、異なる目的関数値を得ることができる。他のタイプの重み付けされた組合せが可能であるが、410gおよび420gは、可能な重み付けされた組合せのうちの2つのそのような具体例を提供することを理解されたい。
【0111】
いくつかの実施形態は、
図4Aおよび
図4Bに記載される複合確率フィルタフレームワークが、全地球航法衛星システム(GNSS)の測定に適用され得るという認識に基づく。例えば、複合確率フィルタ405aは、GNSS測定値103aを使用して異なる制御ステップにおいてビークル104の状態を追跡して、GNSS測定値103aに対応する状態431~433bなどのビークルの状態のシーケンスを生成するよう構成され得る。
【0112】
GNSSは、地球に対するモバイル受信機の地理的位置を判断するために使用され得る衛星のシステムである。GNSSは、GPS、Galileo、Glonass、QZSS、およびBeiDouを含み得る。GNSSの例は、
図5Aにおいて詳細に説明される。
図5Aは、いくつかの実施形態による、GNSSの概略図を示す。たとえば、N番目の衛星502は、符号および搬送波位相測定値を受信機530および531のセットに送信する(520および521)。たとえば、受信機530は、N個の衛星501,503,504,および502から信号510、520を受信するように位置決めされる。同様に、受信機531は、N個の衛星501,503,504,および502から信号521および511を受信するように位置決めされる。
【0113】
様々な実施形態では、GNSS受信機530および531は、異なるタイプであり得る。例えば、
図5Aの例示的な実施形態では、受信機531は、位置が既知であるベース受信機である。例えば、受信機531は、地上に取り付けられた受信機であり得る。対照的に、受信機530は、移動するよう構成されたモバイル受信機である。例えば、受信機530は、ビークル104などのビークルに搭載される。いくつかの実現形態では、第2の受信機531は任意選択であり、大気の影響ならびに受信機および衛星の内部クロックの誤差など、様々なソースに起因する不確実性および誤差を除去するか、または少なくとも低減するために、使用され得る。いくつかの実施形態では、符号および搬送波位相信号を受信する複数のGNSS受信機がある。
【0114】
いくつかの実施形態の目的は、ビークル104の状態の衛星ベースの追跡を改善するためのシステムおよび方法であって、ビークルはGNSS受信機を備える、システムおよび方法を開示することである。別の目的は、衛星信号から受信された情報の非同期協調を使用するそのようなシステムおよび方法を提供することである。いくつかの実施形態のさらに別の目的は、確率的である、すなわち、確率的外乱および誤差源を考慮する、そのようなシステムおよび方法を提供することである。他の実施形態の目的は、衛星信号に依存するだけでなく、異なるソースからの異なる情報を使用してビークルの状態を追跡することである。例えば、いくつかの実施形態では、ビークルの状態は、GNSS受信機を使用して衛星から受信されたGNSS信号と、無線周波数(RF)受信機を使用して遠隔サーバから受信されたビークルの状態の確率分布の第1および第2のモーメントとを使用して追跡される。
【0115】
特定のシナリオ、例えば高層建築物間では、符号および搬送波位相信号における情報内容が高精度の状態推定を実行することを困難にするように、衛星信号の複数の歪みが存在する。例えば、
図5Bは、マルチパスが受信機501bのための信号を妨害するシナリオの図を示す。受信機501bは、衛星510bおよび520bから様々な信号509bおよび519bを受信する。信号528b、529b、538b、539bを送信する他の衛星530bおよび540bがあるが、障害物570b、たとえば都市部の建築物に起因して、これらの信号は受信機に直接送信されない。
【0116】
以前は、衛星540bから送信された信号538bは利用可能ではなかったが、突然、衛星信号539bは、マルチパスイベント502bの後に受信機に到達する。そのようなシナリオは、確率フィルタが誤った曖昧さ推定値にロックオンし、大きな推定誤差を引き起こすので、ビークルの状態を追跡する際の確率フィルタの性能を深刻に損なう可能性がある。
【0117】
さらに、いくつかの実施形態は、適応巡航制御または短期車線変更といった特定の先進ドライバ支援システム(ADAS)タスクを実行するためには、たとえば超音波、レーダー、またはカメラによって測定され得る、他のビークルに対する相対位置および速度を知っていれば充分であるという認識に基づく。しかしながら、より先進のADASおよび自律運転(AD)機能を有するビークルを取り囲む多くのアプリケーションでは、直接測定できる、周囲のビークルに対する相対位置を知ることは、充分ではないが、所与の時間ステップにおいてAD機能を有するビークルから見えさえもしない物体に対する状態情報を知ることも重要である。例えば、経路計画またはマルチエージェント動作計画および協調タスクにおいて、解決されるべき制御問題は、道路表面品質は様々であり、所与のビークルの各乗客は、例えば、運転者の快適さおよび他のパフォーマンスメトリックに関連する異なる優先度を有するなか、ビークルを異なる目標に向けて最適に調整することである。特定のビークルがどの時限経路をとるべきかを識別することは、自ビークルの位置、他ビークルの時限経路、および対象の道路の環境設定に依存する。
【0118】
いくつかの実施形態は、カメラを使用して、AD能力を有するビークルのすぐ近くの道路および周囲の物体に対する相対運動を検出することができるが、カメラはビークルの全地球測位を提供することはできないという認識に基づく。また、レーダー、ライダー、および超音波などの距離センサは、カメラと同様に相対運動を検出することができるが、センサ測定値をビークルとマップにおける位置に関係付けるマップを伴わない限り、ビークルを全地球測位するための唯一のセンサとして使用することはできない。
【0119】
さらに、いくつかの実施形態は、GNSSが、例えば、都市高層建物から、様々な妨害および閉鎖を受けやすいという認識に基づく。したがって、いくつかの実施形態は、GNSSを追加の感知で補完する。たとえば、カメラおよびライダーなどの追加の感知と組み合わされたGNSSは、GNSSが全地球測位を提供し、追加の感知が相対測位を提供するので、全地球測位ならびに不確実なマップおよび他の物体に対する測位を達成することができる。したがって、いくつかの位置特定推定方法では、多数のセンサが一緒に使用されて、センサ単独で提供できるものに対して性能を向上させる目的でビークルの位置特定を達成する。
【0120】
この目的のために、様々な方法は、GNSS測定値と、環境100gのマップ105に対するビークル104の状態を示す異なるタイプのセンサ101~103などの複数のセンサの測定値とを融合して、ビークル104の状態およびマップ105の状態を推定する。複数のセンサは、カメラ、レーダー、ライダーなどのうちの1つまたは組合せを含み得る。追加または代替として、複数のセンサは、カラー画像を生成するカメラ、深度画像を生成する深度センサ、および複数の遠隔センサの融合測定値を生成する路肩ユニット(RSU)のうちの1つまたは組合せを含み得る。
【0121】
複数のセンサの測定値を使用することは有益である。例えば、異なるセンサは、互いを補完することができ、例えば、GNSSは、環境が都市であるかまたは地方であるかに依存するが、天候に依存せず、カメラは、環境が地方であるかまたは都市であるかに依存しないが、車線標示を検出するのに気象条件および道路の質に対して感度を有する。
【0122】
複数のセンサの測定値を融合する様々な推定方法は、そのようなセンサの測定ノイズが先験的に判断されると仮定する。しかしながら、実際には、測定ノイズは、運転条件、環境、ならびにそのようなセンサ測定値を生成したフィルタリングおよびコンピュータビジョンアルゴリズムとともに変動するため、時間変動する。例えば、カメラは、コンピュータビジョンアルゴリズムと共に使用されて、ビークルが走行している車線に隣接する車線の車線標示測定値を生成する。気象条件、道路の質、および使用される特定のコンピュータビジョンアルゴリズムに応じて、車線標示は、場合によっては正確に検出され、場合によっては誤差を伴って検出され、場合によっては、道路の他の部分、例えば、道路の亀裂が、車線標示として検出される。このような検出結果に応じて、測定ノイズの特性は変化することになる。
【0123】
したがって、変化する測定ノイズに適応しながら複数のセンサの測定値を融合することによってビークルの状態およびマップの状態を追跡する必要がある。いくつかの実施形態によれば、位置特定システム400は、有線、無線、または両方の通信リンクを使用して複数のセンサに動作可能に接続されてもよく、したがって、位置特定システム400は、ビークル104の状態およびマップ105の状態を示す複数のセンサの測定値を収集することができる。さらに、複合確率フィルタ405aの複数の確率フィルタ421b~423bの測定モデルは、複数のセンサ101~103の測定値を融合して、ビークル104の状態およびマップ105の状態の対応する推定値を生成する。
【0124】
本開示の以下の部分では、GNSS測定値およびカメラ測定値を使用してビークルの状態およびマップの状態を推定し、そのような推定に基づいてビークルを制御するための方法について説明する。次に、複数のセンサの測定値を用いてビークルの状態およびマップの状態を推定する方法について説明する。
【0125】
図6Aは、本開示のいくつかの実施形態による、GNSS測定値103aおよびカメラ測定値102aを使用してビークル104の状態およびマップ105の状態、結合状態を推定し、推定された結合状態に基づいてビークル104を制御するための方法600のブロック図を示す。本明細書で使用されるように、ビークル104は、乗用車、トラクタトレーラ、バスなどの任意のタイプの移動主体であり得る。いくつかの実施形態では、方法600は、ビークルの状態、マップの状態、および複数の測定分布においてパラメータ化された複合確率フィルタ405aを使用し、ビークルの状態は、ビークルの位置およびビークルの向きを含む。ブロック610において、方法600は、異なる制御ステップにおいて結合状態を示すGNSS測定値103aおよびカメラ測定値102aのシーケンスを収集することを含む。ブロック620において、方法600は、GNSS測定値およびカメラ測定値のシーケンスを使用して異なる制御ステップにおいて結合状態を追跡するよう構成された複合確率フィルタ405aを反復的に実行して、GNSS測定値およびカメラ測定値のシーケンスに対応するビークルの状態のシーケンスおよびマップの状態のシーケンスを生成することを含む。例えば、
図4A、
図4B、
図4C、
図4D、
図4Eおよび
図4Fに関連して説明したように、ビークル104およびマップ105の結合状態は、ビークルの状態およびマップの状態の重み付けされた組み合わせとして取得されてもよい。
【0126】
いくつかの実施形態では、GNSS測定値およびカメラ測定値のシーケンスは、例えば、車輪の回転速度から得られる、ビークル104の操舵車輪角度およびビークル104の速度の測定を伴う。他の実施形態では、測定値は、ビークル104の進行速度およびビークル104の加速度を含む。一実施形態では、そのような追加の測定値は、ビークル104の前方への運動を時間的に予測するために使用される。これはいくつかの理由で有利である。例えば、GNSSの測定値は、典型的には、1または数ヘルツの更新レートで到着し、コンピュータビジョンアルゴリズムと組み合わせたカメラ102も、限定された更新レートを有する。しかしながら、慣性測定ユニットからの加速度および進行速度、ならびに車輪回転速度および操舵車輪角度は、典型的には、はるかに高い周波数、例えば100Hz以上で測定される。したがって、そのような追加の測定値は、GNSS103および/またはカメラ102の測定値間でビークル位置を更新するために使用され得る。
【0127】
他の実施形態では、カメラ測定値およびGNSS測定値は、カメラ測定値をマップ105内の全地球位置に関連付けるために、他の実施形態に従って構築された事前マップを伴う。
【0128】
ブロック630において、方法600は、追跡される結合状態に基づいてビークルを制御することを含む。例えば、ビークル104の制御は、AD/ADAS動作に従って行われ得る。
【0129】
現在のGNSS測定値およびカメラ測定値を使用して現在の制御ステップのための反復を実行するために、複合確率フィルタ405aは、
図6Bで説明される機能を実行する。
【0130】
図6Bは、本開示のいくつかの実施形態による、反復において複合確率フィルタ405aによって実行される機能のブロック図を示す。ブロック640において、複合確率フィルタ405aは、測定のノイズの異なる分布を除いて、同一の測定モデルを有する複数の確率フィルタ421b~423bなどの複数の確率フィルタを実行し、現在のGNSS測定値103aおよびカメラ測定値102aをビークル104の状態およびマップ105の状態の現在の推定値と関連付けて、現在の制御ステップのためのビークルの状態およびマップの状態の複数の推定値を生成する。複数の確率フィルタは、ビークルの状態の複数の推定値間で変動を引き起こす異なる測定ノイズを受ける。いくつかの実現形態では、複数の確率フィルタは、第1の確率密度関数(PDF)によって定義される第1の測定ノイズを受ける結合状態の第1の推定値を生成するよう構成された第1の確率フィルタと、第1のPDFとは異なる第2のPDFによって定義される第2の測定ノイズを受ける結合状態の第2の推定値を生成するよう構成された第2の確率フィルタとを含む。いくつかの実施形態では、マップ事前確率分布の不確実性は、すべての確率フィルタについて同じであり、その理由は、そのような不確実性は、データから先験的に演繹することができるからである。他の実施形態では、マップ事前不確実性はまた、異なる確率フィルタに対して異なる。例えば、これは、マップ不確実性についての知識が先験的に知られていない場合に有利であり得る。
【0131】
ブロック650において、複合確率フィルタ405aは、ビークルの状態の複数の推定値を、複数の確率フィルタの1つまたは組合せによって予測される測定値の現在のセットの推定値を中心とする異なる測定ノイズに従って測定値の現在のセットの尤度から導出される重みで、重み付けされた組み合わせに結合する。ブロック660において、複合確率フィルタ405aは、重み付けされた組み合わせに基づいて、現在の制御ステップについて複合確率フィルタ405aによって追跡される結合状態を推定する。たとえば、
図4Gは、そのような重み付けされた組合せを生成することを示す。
【0132】
図6C-1および
図6C-2は、本開示のいくつかの実施形態による、重み付けされた組合せ650を生成するためのプロセスのブロック図を示す。ブロック670aにおいて、複合確率フィルタ405aは、ビークルの現在の状態およびマップの状態の予測を状態空間から測定空間に変換することによって、現在のGNSS測定値およびカメラ測定値の推定を判断する。このような変換を
図4Eおよび
図4Fに示す。ブロック670bにおいて、複合確率フィルタ405aは、第1のPDFおよび第2のPDFを、現在のGNSSおよびカメラ測定値の推定を中心とする。
【0133】
ブロック670cにおいて、複合確率フィルタ405aは、現在のGNSSおよびカメラ測定値の推定を中心とする第1のPDFに従って、現在のGNSSおよびカメラ測定値の第1の尤度を求める。ブロック670dにおいて、複合確率フィルタ405aは、現在のGNSSおよびカメラ測定値の推定を中心とする第2のPDFに従って、現在のGNSSおよびカメラ測定値の第2の尤度を求める。ブロック670eにおいて、複合確率フィルタ405aは、第1の尤度および第2の尤度を正規化して、結合状態の第1の推定値を重み付けするための第1の重みと、結合状態の第2の推定値を重み付けするための第2の重みとを求める。
【0134】
ブロック670fにおいて、複合確率フィルタ405aは、第1の重みで重み付けされた結合状態の第1の推定値および第2の重みで重み付けされた結合状態の第2の推定値に基づいて、重み付けされた組合せを求める。
【0135】
図6Dは、本開示の代替的な実施形態による、重み付けされた組み合わせ650を生成するためのプロセスのブロック図を示す。ブロック680aにおいて、複合確率フィルタ405aは、第1の確率フィルタを実行して、第1の確率フィルタの内部状態に基づいてビークルの第1の現在の状態およびマップの状態を予測し、ビークルの第1の現在の状態およびマップの第1の現在の状態を更新する。ビークルおよびマップの第1の現在の状態は、ビークルの状態およびマップの状態の第1の推定値を生成するために、第1の確率フィルタの利得に従って現在のGNSSおよびカメラ測定値を処理する測定モデルを使用して更新される。
【0136】
ブロック680bにおいて、複合確率フィルタ405aは、第2の確率フィルタを実行して、第2の確率フィルタの内部状態に基づいてビークルおよびマップの第2の現在の状態を予測し、ビークルの第2の現在の状態およびマップの状態を更新する。ビークルおよびマップの第2の現在の状態は、ビークルの状態およびマップの状態の第2の推定値を生成するために、第2の確率フィルタの利得に従って現在のGNSSおよびカメラ測定値を処理する測定モデルを使用して更新される。
【0137】
ブロック680cにおいて、複合確率フィルタ405aは、第1の確率フィルタおよび第2の確率フィルタによって生成された結合状態の第1の予測される現在の状態推定および第2の予測される現在の状態推定の組み合わせに基づいて、第1の確率フィルタの内部状態および第2の確率フィルタの内部状態を更新する。
【0138】
いくつかの実施形態では、複合確率フィルタ405aは、いくつかの以前の制御ステップについて求められた第1の確率フィルタおよび第2の確率フィルタの履歴重みを記憶する。さらに、複合確率フィルタ405aは、現在の重み(たとえば、第1の重み)と第1の確率フィルタの履歴重みとの平均に基づいて、現在の制御ステップにおいて第1の確率フィルタに重み付けするための重みを更新する。同様に、複合確率フィルタ405aは、現在の重み(たとえば、第2の重み)と第2の確率フィルタの履歴重みとの平均に基づいて、現在の制御ステップにおいて第2の確率フィルタに重み付けするための重みを更新する。
【0139】
図6Eは、本開示のいくつかの実施形態による、記憶された履歴重みを使用して、重み付けされた組み合わせを判断するための概略図を示す。ブロック690aにおいて、各確率フィルタによって求められた状態推定値が受信される。次に、ブロック690bにおいて、収集された測定値690d、記憶された履歴重み690e、ならびにGNSS測定値およびカメラ測定値のノイズ共分散の仮説が、重み690fを求めるために比較される。代替的に、事前マップのノイズ共分散の仮説も、重み690fを求めるために使用される。ブロック690cにおいて、求められた重み690fに基づいて、状態推定値は重み付けされた組み合わせとして組み合わされる。履歴重みは、位置特定システム400のメモリ404に記憶され得る。代替実施形態では、履歴重みは、外部メモリに記憶されてもよく、位置特定システム400は、外部メモリから履歴重みを取り出す。
【0140】
状態推定値の比較および重み690fの決定は、いくつかの方法で実行することができる。例えば、一実施形態では、各確率フィルタの重みは、記憶された履歴重みと、ノイズ共分散の関連付けられた仮説を有する測定モデルに受信された状態推定値を挿入するときの収集された測定値と受信された状態推定値との重み付けされた差との組み合わせによって求められる。別の実施形態では、各確率フィルタの重みは、ノイズ共分散の関連付けられた仮説を有する測定モデルに受信された状態推定値を挿入するときの収集された測定値と受信された状態推定値との重み付けされた差によって一意に求められる。さらに別の実施形態では、重みは、ノイズ共分散の関連付けられる仮説を有する測定モデルに受信された状態推定値を挿入するときの収集された測定値と受信された状態推定値との現在の重み付けされた差と、固定数の以前の時間ステップを使用して求められた重みとの平均に基づいて求められる。例えば、一実施形態は、以前の時間ステップを使用して求められた重みのスライディングウィンドウを使用して、移動平均として重みを求める。このようにすることは、滑らかな推定性能を保証するために、連続する時間ステップにわたって重みの変動を制御する手段を提供する。
【0141】
図6Fは、いくつかの実施形態による、マップ105を表すスプラインをどのように求めるかについての方法600fのフローチャートを示す。第1に、本方法は、マップ105を表すマップ点を受信する(610f)。いくつかの実施形態では、マップ点は、全地球マップ、例えば、都市またはより大きな領域の道路のマップ点を構成し、いくつかの実施形態では、マップ点は、例えば、道路上の先読みのために再帰的に与えられ、方法600fは、マップ点が受信されるにつれて、反復的に実行される。
【0142】
次に、方法600fは、スプラインセグメント、すなわち完全なスプラインを構成する多項式セグメントを求めること620fを含む。いくつかの実施形態では、セグメントは空間において均一であるが、他の実施形態では、セグメントは、例えば、異なる道路曲率に対応するように不均一である。例えば、湾曲した道路の場合、スプラインセグメントは、多項式の所与の次数について、直線道路の場合の同じ次数の多項式の場合と同じフィッティングを有するよう、空間において、より短い必要がある。
【0143】
次いで、方法600fは、スプラインパラメータおよび追加的にスプラインパラメータに関連付けられる不確実性を求めること630fを含む。
【0144】
図6Gは、一実施形態によるスプラインパラメータを決定(630f)するための方法のフローチャートを示す。決定630fは、マップ点に対して回帰道路マップの総二乗全変動誤差の尺度を最小化する最適化問題を、L2-ノルム
【0145】
【0146】
そのようなコスト関数を使用して、本方法は、最適化問題を解く(620g)。例えば、一実施形態では、スプラインは、ベジェ曲線によって表され、d次元空間におけるベジェ曲線について、
【0147】
【0148】
他の実施形態は、MMSによってマッピングされるマップ点が、マップの不確実性の関連付けられる尺度を有することがあるという概念に基づく。一実施形態は、これを活用して、スプラインをベジェ曲線に関して定式化し、これは、マップ点不確実性から変換されるスプライン係数の共分散行列
【0149】
【0150】
を可能にし、言い換えれば、マップ点の不確実性の事前尺度を有することによって、スプラインパラメータ、すなわち、マップの状態は、不確実性事前確率分布を自然に得る。
【0151】
こうして決定されたスプラインパラメータは、次いで、マップ105の現在の状態のスプライン表現を形成する多項式の係数として使用される。
図7Aは、本開示のいくつかの実施形態による、複数のセンサ101~103の測定値を使用して、ビークルの状態およびマップの状態を併せて推定するための、すなわち、結合状態735aを推定するための概略図を示す。いくつかの実施形態では、ビークル104の状態およびマップ105の状態においてパラメータ化された複合確率フィルタ700aを使用して、ビークル104の状態およびマップ105の状態を推定する。複合確率フィルタ700aは、収集された測定値709aに基づいてビークルの状態およびマップの状態を推定する。例えば、収集された測定値709aは、第1のセンサからの第1の測定値および第2のセンサからの第2の測定値を含む。
【0152】
複合確率フィルタ700aは、複数の確率フィルタを含む。例えば、複合確率フィルタ700aは、第1の確率フィルタ720aおよび第2の確率フィルタ710aを含む。第1の確率フィルタ720aは、第1の測定値のノイズ共分散の第1の仮説707aおよび第2の測定値のノイズ共分散の第1の仮説707aを使用して、第1の状態推定725aを求める。同様に、第2の確率フィルタ710aは、第1の測定値のノイズ共分散の第2の仮説708aおよび第2の測定値のノイズ共分散の第2の仮説708aを使用して、第2の状態推定715aを求める。一実施形態では、第1の測定値のノイズ共分散の第1の仮説707aは、第1の測定値のノイズ共分散の第2の仮説708aとは異なり、第2の測定値のノイズ共分散の第1の仮説707aは、第2の測定値のノイズ共分散の第2の仮説708aとは異なるか、またはそれら両方である。そのような場合、いずれかの測定の第1および第2のノイズ分布は、そのパラメータに関して異なる分布であるが、同じエンティティを表す。例えば、双方の分布は、カメラの測定値を表すが、異なるノイズ値を有する。
【0153】
次に、第1の確率フィルタ720aの第1の状態推定値725aおよび第2の確率フィルタ710aからの第2の状態推定値715aを使用して、ビークル104およびマップ105の結合状態735aは、重み付けされた組み合わせ730aとして求められ、組み合わせの重み付け730aは、オンライン、オフライン、またはそれらの組み合わせとして求められる。一実施形態では、ビークル104およびマップ105の結合状態735aは、第1の確率フィルタ720aおよび第2の確率フィルタ710aの重み付けされた平均である。別の実施形態では、ビークル735aの状態は、最も高い重みを有する確率フィルタの出力である。
【0154】
一実施形態では、各確率フィルタは、結合状態の平均および共分散を推定する線形回帰カルマンフィルタである。別の実施形態では、確率フィルタは、結合状態の事後分布のサンプリングされた表現を出力する粒子フィルタである。いくつかの実施形態は、カルマンフィルタ(KF)の様々な変形、例えば拡張KF(EKF)、アンセンテッドKF(UKF)などの線形回帰KF(LRKF)を含む確率フィルタを使用する。
【0155】
いくつかの実施形態は、様々なセンサの測定ノイズ値の特定の組み合わせを使用する確率フィルタが前の時間ステップにおいて最良の適合をもたらす場合、次の時間ステップに対しても良好な適合をもたらす可能性があるという理解に基づく。例えば、GNSS測定が、例えば都市環境におけるマルチパスに起因して前の時間ステップにおいて信頼できなかった場合、GNSS測定は、次の時間ステップにおいてもマルチパスを受けやすい可能性がある。しかしながら、測定の非信頼性がマルチパスの影響ではなく、他の何らかのモデル化されていない外乱によるものである場合、それは、信頼できる測定値を生成するチャンスも有する。いくつかの実施形態は、この理解をもって、制御の各時間ステップにおいて複数の確率フィルタを統合および重み付けし、確率フィルタは、前の時間ステップにおけるそれらの重みに基づいて異なる重み付けを与えられる。
【0156】
いくつかの実施形態は、複数の確率フィルタの計算の複雑さが、ノイズ値の仮説の数およびセンサの数とともに望ましくなく増大するという理解に基づいている。例えば、ある実施形態は、異なる可能なノイズ値を使用することは、ノイズ値の可能な組み合わせの数、したがって推定に使用される確率フィルタの数に指数関数的な複雑さがあるように、可能なノイズ値の連続空間のグリッド化として解釈され得ることを理解する。
【0157】
いくつかの実施形態は、自動車用途において、自動車グレードの電子制御ユニットの計算能力が制限され、多くの確率フィルタの使用が計算的に実現可能ではないと認識する。一実施形態は、推定に使用される確率フィルタのサブセットを選択することによってこれを改善する。例えば、1つの実施形態は、前の時間ステップで状態をよく表したものに近い測定ノイズの値に対応する確率フィルタを選択する。このようにすることで、各時間ステップで選択される確率フィルタのサブセットがセンサ品質の進化を辿ることが可能になる。
【0158】
図7Bは、本開示の様々な実施形態による収集された異なるセンサ測定値709aの図を示す。例えば、収集された測定値709aの第1の測定値は、コンピュータビジョンアルゴリズムと共に、例えば所与の次数の多項式として出力される道路の車線標示を測定するカメラ測定値710bであり、第2の測定値は、環境、例えば道路障壁、側壁、および他のビークルまでの距離を測定するライダー測定値720bである。加えて、または代替として、測定値709aは、ビークルおよび環境の測定値730b、740bを提供する測定値の組み合わせであり、例えば、環境は、先験的にオフラインでマッピングされ、マップの状態を使用してオンラインで更新され、マップの状態は、マップ表現点に適合するスプラインを形成する多項式のパラメータを含み、事前パラメータは、他の実施形態による測定との対応するスプラインの適合に従って最適化される。マップは、例えばマップ105である。
【0159】
いくつかの実施形態は、測定のノイズ共分散の第1の仮説と、前記測定のノイズ共分散の第2の仮説とを使用し、第1の仮説は、確率フィルタのうちの1つによって使用され、第2の仮説は、複合フィルタ405aなどの複合フィルタ内の確率フィルタのうちの別のものによって使用される。
【0160】
図7Cは、センサの収集された測定値725cによって比較される推定測定値715cが存在する状況の図を示す。ある確率フィルタでは、分布730cの仮説が使用され、別の確率フィルタでは、分布710cの仮説を使用する。したがって、
図7Cのシナリオについて、分布730cの仮説を使用する確率フィルタは、収集された測定値725cの値における確率が分布710cの方が分布730cよりも高いので、収集された測定値を正確に記述する。
【0161】
図7Dは、本開示の様々な実施形態による、どのようにして、確率フィルタの異なる推定が異なる重みを割り当てられ、複合分布を形成するかの図を示す。
図7Aの第1の確率フィルタ720aは状態分布730dを推定し、第2の確率フィルタ710aは状態分布710dを推定する。各確率フィルタに対する重み735dおよび715dが求められる。複合分布720dは、状態分布730dおよび710dの重み付けされた組み合わせとして求められる。
【0162】
図7Eは、本開示の様々な実施形態による、異なるセンサが異なる重み付けを得る方法、およびそれらが異なる測定空間上で定義される図を示す。例えば、いくつかの実施形態は、測定空間717e上に定義された第1の測定のための分布の第1の仮説714e、分布の第2の仮説715e、および第2の測定空間727e上に定義された第2の測定のための分布の第1の仮説724e、分布の第2の仮説725eを使用する。いくつかの実施形態では、分布-第1の測定空間717eについての分布の第1の仮説714eおよび分布の第2の仮説715eは、同じ測定空間717eに属し、分布-第2の測定空間727eについての分布の第1の仮説724eおよび分布の第2の仮説725eは、同じ測定空間727eに属する。その後、714eおよび715eは、異なる方法で、725eおよび724eと組み合わせることができる。たとえば、組合せ714eおよび725eは、ある確率フィルタにおいて使用され得るが、組合せ714eおよび724eは、別の確率フィルタにおいて使用され得る。分布714eおよび715eは、同じ測定空間上で定義されるので、それらは、後続の測定更新のために個々のフィルタで直接使用され得る。
【0163】
一実施形態は、第1の測定は測定空間717e上に定義され、第2の測定は第2の測定空間727e上に定義されるため、それらを直接比較することはできないことを認識する。
【0164】
図7Fは、本開示の様々な実施形態による、異なる測定空間上で定義される測定値が互いに比較するためにどのように同じ測定空間に変換されるかの図を示す。いくつかの実施形態は、変換716fを使用して第1の測定値の分布715fを変換し、変換726fを使用して第2の測定値の分布725fを変換して、第1の測定値の分布735f、第2の測定値の分布745fをもたらし、それらの分布は、同じ測定空間746f上で定義され、したがって、互いに比較および重み付けされ得る。
【0165】
いくつかの実施形態は、結合測定モデルを使用することによって、異なるセンサを採用する。例えば、
図7Fを参照すると、いくつかの実施形態は、結合測定モデルを、以下に従って平均および共分散を有する結合ガウス分布としてモデル化し、
【0166】
【0167】
ここで、共分散要素R1、R12、およびR2は、各確率フィルタに固有の測定ノイズ共分散である。
【0168】
いくつかの実施形態では、ビークルの状態を含む結合状態の出力推定値735aは、ビークルを制御するために使用される。一実施形態では、モデル予測コントローラ(MPC)が、ビークルの状態およびマップの状態の出力推定値735aに基づいてビークルを制御するために使用され、マップの状態の不確実性は、確率的MPC定式に含まれる。
【0169】
図8は、本開示の様々な実施形態による、推定結合状態821に基づいてビークル104を制御するための方法800のブロック図を示す。具体的には、方法800は、各制御時間ステップにおいて最適制御構造化プログラムの形態で不等式制約付き最適化問題を解く(850)ことによって、制御解、例えば解ベクトル855を計算するMPCによって実現され得る。解ベクトル855は、システムの予測時間ホライズンにわたる将来の最適な制御入力のシーケンスを含む。最適化問題850における、制御コスト関数840、等式、および不等式制約830の最適制御データ845は、動的モデル825、ビークル制約820、ビークルおよびマップの現在の推定状態821、ならびに参照805および信頼度806を含む制御コマンドに依存する。
【0170】
いくつかの実施形態では、不等式制約付き最適化問題850の解は、前の制御時間ステップからの予測時間ホライゾンにわたる状態および制御値を使用し、これはMPCのメモリから読み出すことができる(810)。この概念は、最適化アルゴリズムのウォームスタートまたはホットスタートと呼ばれ、MPCの必要な計算労力を大幅に低減する。同様に、対応する解ベクトル855を使用して、次の制御時間ステップのための最適または準最適状態および制御値のシーケンスを更新および記憶することができる(860)。
【0171】
本開示のいくつかの実施形態では、MPCは、制御コスト関数840における1つまたは複数の項を、複合確率フィルタ405aによって計算される参照805および対応する信頼度806に適合させる。
【0172】
ある実施形態では、ビークルの現在の状態(例えば、現在の状態)を予測するために確率フィルタによって使用される予測モデルは、プロセスノイズの影響を受けるビークルの状態遷移の運動モデルであり得る。運動モデルの例は、
図9Aにおいて以下で説明される。
【0173】
【0174】
図9Aは、本開示のいくつかの実施形態による、複合確率フィルタ405aにおいて採用される運動モデル900の図を示す。運動モデル900は、通常の運転シナリオにおいて有効であることが示されたシングルトラックモデル、すなわち自転車モデルである。いくつかの実施形態では、ビークルの状態ベクトルは、x=(p
X,p
Y,v
X,v
Y,ψ)、すなわち、ビークルの位置、速度、および進行速度である。いくつかの他の実施形態では、ビークルの時間展開は、力モーメント平衡によって以下のようにモデル化され、
【0175】
【0176】
他の実施形態では、シングルトラックモデルは運動学的であり、すなわち、それは、力モーメント平衡を無視する。例えば、一実施形態では、運動学的シングルトラックモデルは、
【0177】
【0178】
さらに、運動モデル900によって予測される状態(例えば、状態z)は、測定モデルを使用して更新される。複合確率フィルタ405aで使用される測定モデルは、測定値(GNSS測定値およびカメラ測定値など)をモデル化する。いくつかの実施形態は、確率フィルタ、例えば混合整数カルマンフィルタまたは粒子フィルタによって前処理された位置測定値としてGNSS測定値をモデル化する。他の実施形態は、例えば
図9Bに示すように、カメラ測定値を道路の車線標示までの距離および前方の道路の近似としてモデル化し、カメラは、前方の道路の多項式920bとして、いずれかの車線の車線標示または車線標示までの距離910bを測定する。いくつかの他の実施形態は、道路の事前マップを利用して、カメラが与える相対位置測定値を、GNSSが与える全地球位置測定値に関係付ける。さらなる実施形態は、加速度計およびジャイロを含む慣性測定ユニットを利用して、ビークル状態推定をさらに向上させる。いくつかの実施形態は、測定モデルを、y
k=h(x
k,u
k)+e
kに従って分散されたガウスとしてモデル化し、式中、e
kは、ブロック対角共分散行列で分散されたゼロ平均ガウスであり、共分散行列の要素は、複合確率フィルタ405aの複数の確率フィルタ421a~423aの各々について仮定される。いくつかの実施形態は、基礎となる分布がガウス分布でなくても、典型的には最初の2つのモーメント(例えば、平均および分散)が分布をよく記述するという認識に基づく。いくつかの実施形態では、この認識は、ビークル状態の共分散を求める際に利用される。
【0179】
いくつかの実施形態は、多項式近似、すなわち連続表現を測定モデルに含めるために、離散値が必要であることを認識する。したがって、そのような実施形態は、
図9Cに示すように、多項式関数920bを点-点930b、点940b、および点950bでサンプリングし、これらは、結合状態735aを更新するための測定モデルに含めることができる。
【0180】
いくつかの実施形態は、測定モデルを使用して確率分布のパラメータ、すなわち平均および共分散を更新する。例えば、一実施形態は、カルマンフィルタ(KF)を使用して確率分布のパラメータを更新する。別の実施形態は、運動モデルおよび測定モデルはビークルのいくつかの状態に対して非線形であることを認識する。この目的のために、いくつかの実施形態は、線形回帰KFなどの非線形KFを使用して、確率分布のパラメータを更新する。
【0181】
【0182】
【0183】
いくつかの実施形態は、プロセスノイズが加法的に入ると仮定し、これは計算をかなり単純化する。
【0184】
いくつかの他の実施形態は、関連付けられるモーメント積分を求めるためにLRKFを活用し、積分点のセットが使用される。例えば、いくつかの実施形態は、アンセンテッド変換に従って積分点を使用し、他の実施形態は、球面立体求積法規則(spherical cubature rule)を利用する。しかしながら、任意の組の統合スキームを使用することができる。
【0185】
いくつかの実施形態では、複合確率フィルタ405aは、対話多モデル(IMM)フレームワークに従って実現される。IMMを使用することにより、測定値のノイズ共分散の仮説の異なる組合せを使用して第1の測定値および第2の測定値を組み込む系統的な方法が可能になる。各時間ステップkにおいて、IMMは、測定値を説明する確率を反映する重みqkを各モデルに割り当てる。
【0186】
【0187】
【0188】
推定の各時間ステップにおいて、IMMは、遷移行列を使用して、異なるm個のモデルを混合する。
【0189】
【0190】
そのような混合の後、いくつかの実施形態は、ビークル状態推定値を求めるためにm個の確率フィルタを実行する。その後、事後分布は、
【0191】
【0192】
すなわち、確率フィルタの各々の重み付けされた組み合わせに従って求められ、重み付けは、仮定されたノイズ共分散で正規化された測定値とのそのフィッティングに従って行われる。
【0193】
【0194】
いくつかの実施形態は、GNSS測定値を使用して追跡されるビークルの状態に基づいてビークルの移動を制御するためのコントローラを提供する。そのようなコントローラは、以下で
図10において詳細に説明される。
【0195】
図10は、本開示のいくつかの実施形態による、GNSS測定値およびカメラ測定値を使用して追跡される結合状態1011aに基づいてビークル1020aの移動を制御するためのコントローラ1000のブロック図を示す。コントローラ1000はシステム100によって実現され、ビークル1020aはビークル104に相当する。コントローラ1000は、ビークル1020aに通信可能に結合される。コントローラ1000は、例えば、運動モデル1040aと、測定モデル1041aと、制約1042aと、ビークル1020aの測定値のノイズ共分散の仮説1043aと、さらにマップ事前不確実性の追加的に異なる仮説とを記憶するためのメモリ1065aに接続された単一の中央処理装置(CPU)または複数のCPUプロセッサ1060aの形態のコンピュータを含む。プロセッサ1060aは、シングルコアマイクロプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、複数の接続されたプロセッサのネットワーク、または任意の数の他の構成であり得る。メモリ1065aは、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、または任意の他の好適なメモリシステムを含み得る。
【0196】
コントローラ1000は、
図6A、
図6B、
図6C、
図6D、
図6E、
図6F、
図6G、
図6H、および
図7Aで説明した方法のステップを実行して、ビークル1020aの状態を推定する。推定された結合状態1020aに基づいて、コントローラ1000は制御入力を生成する。コントローラ1000は、結合状態1011aに対応する制御入力に基づいてビークル1020aを制御する。
【0197】
図11Aは、本開示のいくつかの実施形態による、コントローラ1000を含むビークル1020aの概略図を示す。本明細書で使用されるように、ビークル1020aは、乗用車、バス、またはローバーなどの任意のタイプの車輪付きビークルであり得る。また、ビークル1020aは、自律ビークルまたは半自律ビークルであり得る。例えば、いくつかの実施形態は、ビークル1020aの運動を制御する。運動の例は、ビークル1020aの操舵システム1103によって制御される、ビークルの横方向運動を含む。一実施形態では、操舵システム1103は、コントローラ1000によって制御される。加えて、または代替として、操舵システム1103は、ビークル1020aの運転者によって制御され得る。
【0198】
ビークルはまた、コントローラ1000またはビークル1020aの他の構成要素によって制御され得るエンジン1106を含むことができる。ビークル1002aはまた、周囲環境を検知するための1つ以上のセンサ1104を含むことができる。センサ1104の例は、距離レンジファインダ、レーダー、ライダー、およびカメラを含む。ビークル1020aはまた、その現在の運動量および内部状態を感知するために1つ以上のセンサ1105を含むことができる。センサ1105の例は、全地球測位システム(GPS)、加速度計、慣性測定ユニット、ジャイロスコープ、シャフト回転センサ、トルクセンサ、たわみセンサ、圧力センサ、および流量センサを含む。センサは、コントローラ1000に情報を提供する。ビークルは、有線または無線通信チャネルを通してコントローラ1000の通信能力を可能にする送受信機1107を装備することができる。
【0199】
図11Bは、本開示のいくつかの実施形態による、コントローラ1000とビークル1020aのコントローラ1120との間の対話の概略図を示す。例えば、いくつかの実施形態では、ビークル1020aのコントローラ1120は、ビークル1020aの回転および加速を制御する操舵コントローラ1125およびブレーキ/スロットルコントローラ1130である。このような場合、コントローラ1000は、ビークル1020aの状態を制御するためにコントローラ1125および1130に制御入力を出力する。コントローラ1120はまた、ハイレベルコントローラ、例えば、コントローラ1000の制御入力をさらに処理する車線維持支援コントローラ1135を含むことができる。両方の場合において、コントローラ1120は、コントローラ1000の出力を使用して、ビークル1020aの運動を制御するために、ビークル1020aの操舵輪および/またはブレーキといったビークルの少なくとも1つのアクチュエータを制御する。
【0200】
いくつかの実施形態は、センサの精度が、時間とともに、滑らかに、および急に変動し得るという理解に基づいている。他の実施形態は、KFおよびLRKFなどの確率フィルタが、その標準的な定式化において、状態推定値を更新するために使用される測定値の先験的に設定されたノイズ共分散を必要とし、ノイズ共分散は、各測定値の重要性を正規化し、一緒に重み付けする効果を有することを認識している。いくつかの他の実施形態は、例えばノイズ適応のために変分ベイズ法を使用してノイズを適応させるKFが、収束保証を有さず、先験的に設定されたノイズ共分散に小さい変更を行うときに良好に機能するという認識に基づく。しかしながら、例えばGPS測定値における外れ値の場合、そのような方法は誤差の傾向があり、なぜならば、外れ値が、ある時間ステップから別の時間ステップに起こる傾向があり、ノイズ適応方法が、そのような大きな変化をリアルタイムでノイズ共分散に正しく適応させることに関する問題を有することがよく知られているからである。例えば、ノイズ推定のための変分ベイズ法は、パラメータ推定値の変化が生じ得る率を求める調整係数、例えば忘却係数に依存する。このような忘却係数は、ゆっくりと変化するパラメータを仮定して設計されることが多い。したがって、例えばGNSS測定信頼性の場合のような高速変動は、そのような手法ではうまく対処されない。これは、各フィルタの確率が、測定ノイズ共分散の仮説が尤度に組み込まれる尤度を使用して求められるため、迅速に収束する、本開示に開示される方法とは対照的である。
【0201】
図12Aは、いくつかの実施形態によるシナリオを示すトラフィックシナリオを示す。いくつかの実施形態は、道路側ユニット(RSU)が、マップの状態に関する情報を他のRSUに通信するために使用され、他のビークルに通信され得るという認識に基づく。たとえば、第1の位置における第1のビークルについて推定されたマップの状態に関する情報は、第2のビークルが第1の位置を訪問していないにもかかわらず第1の位置のマップの状態に関する情報を有するように、第2の位置における第2のビークルと共有され得る。
【0202】
ビークルとRSUとの間の通信を確立するために、RSUとビークルとの間の情報転送は、
図12Aに示されるようにコアインフラストラクチャネットワークを通過する必要があり、ビークルV1 1210aとクラウド1220aとの間の通信は、RSU1230aおよびコアネットワーク1240aを通過する必要があり、ビークルV1とV2 1250aとの間の通信は、RSU1230aからRSU1290aに進む必要がある。
【0203】
他の実施形態は、マップの部分に関する情報を、マップのそのような特定の部分を以前に見ていないビークルにアップロードするために、様々なRSUを使用できることを認識する。
【0204】
図12Bは、いくつかの実施形態による、無線周波数(RF)チャネル1239を介して送信される、1つまたはいくつかのRSUから受信される情報の非同期協調を使用して、マップを追跡するための遠隔サーバ1200を示す。遠隔サーバ1200は、マップの状態のその信念を1つまたはいくつかのRSUに送信する(1270)送信機1299と、マップの状態の第1および第2のモーメントを受信する(1239)ためのRF受信機1260とを含む。
【0205】
サーバ1200は、本開示のいくつかの実施形態による確率フィルタ1205を実行するための命令を記憶するメモリ1280を含む。確率フィルタ1205は、複合確率フィルタ405aと同等である。
【0206】
遠隔サーバ1200は、複数のビークルからRFチャネルを介して送信される情報1239を受信するRF受信機1260に動作可能に接続される(1250)RF測定モジュール1240を含む。いくつかの実施形態では、情報は、複数のビークルから観測されるマップの第1のモーメントおよび第2のモーメントを含む。
【0207】
いくつかの実施形態は、いくつかのビークルが同じスプラインセグメントに対応する同じ道路セグメントを測定しており、マップの状態のその部分の推定値は異なる平均および共分散を有し得ることを認識する。一実施形態は、分散推定スキームを使用してマップの状態の第1および第2のモーメントを求める。例えば、一実施形態は、コンセンサスフィルタ1205を採用する。
【0208】
種々の実施形態では、遠隔サーバ1200は、マップの類似部分の第1および第2のモーメントを使用して、マップのそのセグメントを更新する。
【0209】
他の実施形態では、サーバ1200は、マップセグメントに対応する更新された第1および第2のモーメント、すなわち平均および共分散を送信する(1270)ためのRF送信機1299を含む。例えば、
図12Cを参照すると、ビークル1210cから測定されたマップセグメント1230cの平均および共分散は、マップセグメント1220cに位置するビークル1240cに送信される。
【0210】
【0211】
他の実施形態は、フィルタ1205を融合カルマンフィルタとして実現し、重みは、推定値の相対不確実性に基づいて求められる。
【0212】
【0213】
【0214】
いくつかの実施形態では、重みは、推定値を、推定値の重み付けされた組み合わせとして融合するために使用され、重みは、推定誤差の重み付けされた事後共分散を最適化している。
【0215】
他の実施形態では、様々なRSUのマップの状態の推定値を送信する複数のビークルが存在する。送信された推定値は、マップの状態の確率分布の第1のモーメントおよび第2のモーメントを含む。そのような情報送信は、例えばRSU内またはクラウド内に位置する遠隔サーバが追加の感知能力を有さない場合に有益であり得る。そのような場合、遠隔サーバは、複数のビークルから受信された情報を使用して、そのような情報をマージし、したがって、各ビークルの状態の推定を改善し、第1および第2のモーメントをビークルに送信するか、またはRSUの近傍の他のビークルに情報を直接送信することができる。
【0216】
いくつかの実施形態では、ビークルの確率的システムは、マップの状態のその確率分布を送信し、送信に応答して他のビークルからマップの状態の第1および第2のモーメントを受信する。
【0217】
いくつかの実施形態では、遠隔サーバ1200は、マップに関する複数のビークルの状態情報に基づいて拡張状態を形成する。拡張状態は、複数のビークルからのマップ状態の状態の和集合である。例えば、拡張状態は、複数のビークルからのマップの状態を含み、ビークルは、そのようなマップのサブセットを測定している。
【0218】
いくつかの実施形態は、ビークルと通信する遠隔サーバを使用することは、異なるデバイスに対して異なるクロックを使用することを必要とし、そのようなクロック間の同期が必要であるという認識に基づく。
【0219】
ビークルのクロックは、ビークルのGNSS受信機と通信しているGNSSのクロックに同期させることができる。しかしながら、いくつかの実施形態は、GNSSのクロックに対するビークルのクロックの個々の同期は、異なるビークルが有する可能性がある異なるクロックオフセット誤差に起因して、ビークル通信ネットワークにおけるビークルの同期を保証しないという認識に基づく。さらに、GNSS同期は、都市環境における衛星信号のマルチパスによって悪影響を受ける可能性がある。
【0220】
異なる規格は、クロックの相互同期のためのプロトコルを提供する。例えば、IEEEは、精度時間プロトコル(PTP)ベースの同期規格を開発してきた。しかしながら、これらのプロトコルは、同期するデバイス間の情報交換を必要とし、これは、汎用ビークル通信ネットワークの文脈では非実用的であり得る。
【0221】
いくつかの実施形態は、ビークル通信ネットワークが関与ビークルに対して特別な要件を有するという認識に基づく。他のネットワークにおけるノードとは異なり、ビークル通信ネットワークにおけるビークルは、その存在を周期的に告知する。例えば、Wireless Access in Vehicular Environments (WAVE)に対するIEEE Dedicated Short Range Communications (DSRC)では、ビークルが100ms毎にハートビートメッセージを送信して、その存在を周辺ビークルに知らせる必要がある。ハートビートメッセージの属性は、一時的ID、時間、緯度、経度、高度、位置精度、速度および送信、進行方向、加速度、操舵輪角度、ブレーキシステムステータス、およびビークルサイズのうちの1つまたは組合せを含む。
【0222】
いくつかの実施形態は、このハートビートメッセージは必要な同期データを含み、したがって同期のために使用することができるという認識に基づく。この手法は、ネットワークトラフィックを低減し、干渉を軽減する。同期データが自動的に送信されることによって、ビークルは、従来の同期方法において実行されるメッセージ交換なしにサイレント同期を達成することができる。
【0223】
例えば、いくつかの実施形態は、ビークルのクロックオフセットおよびビークルの位置は未知であるという仮定の下で、複数のハートビートメッセージにおいて受信された情報の三辺測量に基づいて、ビークルのクロックを他のビークルのクロックに同期させることができるという認識に基づく。これは、2種類の方法でビークルの三辺測量を行うことができるためである。1つの方法は、未知のクロックオフセットの関数であるハートビートメッセージの送信時間と受信時間との間に光が移動する距離を使用する。別の方法は、複数のビークルの位置間の距離と、ハートビートメッセージを送信する時間と、特定の時間におけるビークルの未知の位置とを使用する。これらの2種類の距離を比較することによって、特定の時間におけるビークルの未知のクロックオフセットおよび未知の位置を同時に求めることが可能である。
【0224】
図12Dは、IEEE精密時間プロトコル(PTP)ベースの同期における同期メッセージ交換に関連するユースケース1200dを示す。そのような同期は、マスタ1200d1とスレーブ1200d2との間の少なくとも2つのメッセージ交換を必要とする。マスタ1200d1は、まず、時刻T
1において、スレーブ1200d2にSyncメッセージを送信する。スレーブ1200d2は、時刻T
2においてSyncメッセージを受信する。SyncメッセージがタイムスタンプT
1を含む場合であっても、より正確な同期のために、マスタ1200d1は、正確なタイムスタンプT
1を含むFollow_ Upメッセージをスレーブ1200d2に送信することができる。スレーブ1200d2は、マスタ1200d1から受信したSyncメッセージおよびFollow_Upメッセージを処理した後、時刻T
3にDelay_Reqメッセージをマスタに送信する。マスタ1200d1は、時刻T
4においてDelay_Reqメッセージを受信すると、タイムスタンプT
4を含むDelay_Respメッセージをスレーブ1200d2に返信する。4つのタイムスタンプT
1、T
2、T
3、およびT
4を使用して、スレーブ1200d2は、メッセージ伝搬時間およびクロックオフセットを計算し、したがって、そのクロックをマスタのクロックに同期させる。例えば、対称リンクの場合、伝搬時間t
pおよびクロックオフセットt
oは、
【0225】
【0226】
いくつかの実施形態では、ビークルの状態の確率分布のパラメータは、GNSS測定値とともに、遠隔サーバに送信される。
【0227】
例示的な実施形態
図13は、一実施形態による、状態推定に基づくビークル間(V2V)通信および計画の一例を示す。本明細書で使用されるように、各ビークルは、乗用車、移動ロボット、またはローバーを含む、任意のタイプの移動輸送システムであり得る。例えば、ビークルは、自律ビークルまたは半自律ビークルであり得る。
【0228】
この例では、複数のビークル、すなわちビークル1300、ビークル1310、およびビークル1320が、所与の高速道路1301上を移動している。各ビークルは、多くの運動を行うことができる。例えば、ビークルは、経路1350、経路1390、経路1380などの同じ経路上に留まることができ、または車線1360もしくは車線1370など、経路(もしくは車線)を変更することができる。各ビークルは、それ自体の感知能力、例えばライダー、カメラ、GNSS等を有する。各ビークルは、その近隣ビークルと情報を送受信(1330、1340)する可能性を有し、および/または遠隔サーバを介して他のビークルを介して間接的に情報を交換することができる。例えば、ビークル1300およびビークル1320は、ビークル1310を介して情報を交換することができる。このタイプの通信ネットワークでは、情報は、フリーウェイまたは高速道路1301の大部分にわたって送信することができる。
【0229】
いくつかの実施形態は、以下のシナリオに対処するよう構成される。例えば、ビークル1320は、その経路を変更したいと望み、その経路計画においてオプション1370を選択する。しかしながら、同時に、ビークル1310も、その車線を変更することを選択し、オプション1360に従うことを希望する。この場合、2つのビークルが衝突する可能性があり、またはせいぜいビークル1310は、ビークル1320との衝突を回避するために緊急ブレーキを実行しなければならないことになる。これは、本開示が役立ち得るところである。そのために、いくつかの実施形態は、ビークルが現在の時刻tにおいてビークルが感知するものを送信するだけでなく、加えて、または代替として、ビークルが時刻T+δtにおいて行うことを計画しているものを送信することも可能にする。
【0230】
図13の例では、ビークル1320は、車線変更するその計画の実行を計画およびコミットした後、ビークル1310にその計画を通知する。したがって、ビークル1310は、δ
t時間間隔においてビークル1320が左への移動1370を計画していることを知る。したがって、ビークル1310は、1360の代わりに、運動1390、すなわち同じ車線に留まることを選択することができる。
【0231】
加えて、または代替として、ビークルの運動は、協調的に判断される状態推定に基づいて、遠隔サーバ1200によって、併せて制御することができる。例えば、いくつかの実施形態では、結合状態推定のために判定される複数のビークルは、共有された制御目的で併せて制御されるビークルの隊列を形成および潜在的に形成し得るビークルである。
【0232】
図14は、一実施形態による事故回避シナリオのための複数ビークル隊列整形の概略図である。例えば、フリーウェイ1401上を移動するビークルのグループ1430、1470、1450、1460を考える。ここで、突然、ビークル隊列の前方の道路の経路変更1400があると考える。この経路変更は、ビークルが公称計画に従って移動するのにゾーン1400を安全でないものにする。ビークル1420、1460は、例えばカメラを用いて問題を感知し、この情報をビークル1430、1470に通信する。次いで、隊列は、分散最適化アルゴリズム、例えば、経路変更1400に従って操縦する隊列の最良の形状を選択し、ビークルの流れを中断しないように保つ、形成維持マルチエージェントアルゴリズムを実行する。この例示的な実施例では、隊列の最良の形状は、整列し、線を形成して(1495)、経路変更1400による潜在的な衝突を回避することである。
【0233】
図15Aは、本開示のいくつかの実施形態による、無人航空機(UAV)が、サーバ1510a上で実現されるシステム100を使用して制御される、実施形態1500aを図示する。サーバ1510aは、前述の
図6A、
図6B、
図6C、
図6D、
図6E、
図6F、
図6G、
図6H、および
図7Aの方法のステップを実行する。ビークル104に相当するビークル1520aは、UAVであり、システム100によって実行される動作を実行する。ビークル1520aは、それ自体の状態のデータ1530aおよび/または環境データをサーバ1510aに送り返すことができる。いくつかの実施形態では、システム100によって生成されるビークル1520aおよびマップ状態の同時追跡に基づく運動計画1555は、外乱および環境に関する追加情報が収集されるにつれて連続的に更新される。外乱および環境に関する情報は、ビークル1520a自体によって、または任意の第三者センサ1531a、1532a、1533aによって収集され得る。センサ1531a、1532a、1533aは、考慮されるビークル1520aに応じて、風速を測定するLiDAR等の物理的センサ、または風速もしくは海流の気象予報等の非物理的センサであってもよい。
【0234】
図15Bは、本開示のいくつかの実施形態による、システム100のステップがサーバ1510b上で実現される別の実施形態を示す。通信は
図15Aと同じであり、運動計画1531b、1532b、1533bがそれぞれビークル1521b、1522b、1523bに送信される。
図15Aで説明した実施形態とは対照的に、ビークル1521b、1522b、および1523bは、外乱を測定することができる感覚機器(機上搭載センサ)を含む。したがって、サーバ1510bへの通信1541b、1542b、および1543bは、外乱に関する測定値を含む。この実施形態では、いかなる追加の外部感知も必要ないが、いくつかの実施形態は、外部センサ1531a、1532a、1533aを機上搭載感知と組み合わせる。他の実施形態では、サーバ1510bは、物理的に、ビークル上で、それのより大きな制御システムの構成要素として、実行される。
【0235】
図16は、いくつかの実施形態による、混合自律ビークルの直接および間接制御のためのシステム1600のブロック図を示す。システム1600は、RSUの一部として遠隔サーバ上に配置されて、自律ビークル、半自律ビークル、および/または手動駆動ビークルを含む、通過する混合自律ビークルを制御することができる。システム1600は、システム1600を他の機械およびデバイスに接続するいくつかのインターフェースを有することができる。ネットワークインターフェースコントローラ(NIC)1602は、システム1600を、バス1604を介して、システム1600を混合オートマタビークルに接続するネットワーク1606に接続して、同方向に走行する混合自律ビークルのグループの交通状態を受信するよう適合された受信機を含み、混合自律ビークルのグループは、隊列構成に参加しようとする被制御ビークルと少なくとも1つの非制御ビークルとを含み、交通状態は、グループ内の各ビークルおよび被制御ビークルの状態を表す。例えば、一実施形態では、交通状態は、混合オートマタビークルの現在の運転間隔、現在の速度、および現在の加速度を含む。いくつかの実施形態では、混合オートマタビークルは、隊列中の側方に位置する被制御ビークルから所定の範囲内のすべての非制御ビークルを含む。
【0236】
NIC1602はまた、ネットワーク1606を介して被制御ビークルに制御コマンドを送信するように適合された送信機を含む。そのために、システム1600は、制御コマンド1610を混合自律ビークルのグループ内の被御ビークルにネットワーク1606を介して提出するよう構成された出力インターフェース、例えば制御インターフェース1608を含む。このように、システム1600は、混合オートマタビークルと直接的または間接的に無線通信する遠隔サーバ上に配置することができる。
【0237】
システム1600はまた、他のタイプの入力および出力インターフェースを含むことができる。例えば、システム1600は、ヒューマンマシンインターフェース1612を含むことができる。ヒューマンマシンインターフェース1612は、コントローラをキーボード1614およびポインティングデバイス1616に接続することができ、ポインティングデバイス1616は、とりわけ、マウス、トラックボール、タッチパッド、ジョイスティック、ポインティングスティック、スタイラス、またはタッチスクリーンを含むことができる。
【0238】
システム1600は、記憶された命令を実行するよう構成されたプロセッサ1618と、プロセッサによって実行可能な命令を記憶するメモリ1620とを含む。プロセッサ1618は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、または任意の数の他の構成であり得る。メモリ1620は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、または任意の他の好適なメモリマシンを含み得る。プロセッサ1618は、バス1604を介して1つ以上の入力および出力装置に接続することができる。
【0239】
プロセッサ1618は、命令を記憶するとともに命令によって使用されるデータを処理するメモリストレージ1622に動作可能に接続される。ストレージ1622は、メモリ1620の一部を形成するか、またはそれに動作可能に接続され得る。例えば、メモリは、混合オートマタビークルの拡張状態を追跡し、交通状態を混合自律ビークルの目標運転間隔に変換するようにトレーニングされた複数の確率フィルタ(複合確率フィルタ405aと等価)を含む複合確率フィルタ1624を記憶し、ビークルの運動を説明するよう構成された1つまたは複数のモデル1626を記憶するよう構成することができる。例えば、モデル1626は、運動モデル、測定モデル、交通モデルなどを含むことができる。
【0240】
プロセッサ1618は、非制御ビークルも間接的に制御する、被制御ビークルに対する制御コマンドを決定するよう構成される。そのために、プロセッサは、制御生成器1628を実行して、ビークルの状態に基づいて制御コマンドを決定するよう構成される。いくつかの実施形態では、制御生成器1628は、個々のビークルおよび/またはビークルの隊列の拡張状態から制御コマンドを生成するよう訓練された深層補強学習(DRL)コントローラを使用する。
【0241】
本記載は、例示的な実施形態のみを与え、本開示の範囲、適用性、または構成を限定することを意図しない。むしろ、例示的な実施形態の以下の説明は、1つ以上の例示的な実施形態を実現するための実施可能な説明を当業者に提供する。企図されるのは、特許請求の範囲に記載されるように開示される主題の精神および範囲から逸脱することなく、要素の機能および構成において行われ得るさまざまな変更である。
【0242】
以下の説明では、実施形態の完全な理解のために、具体的な詳細が与えられる。しかしながら、当業者によって理解されることは、実施形態がこれらの具体的な詳細なしで実施され得ることであり得る。たとえば、開示される主題におけるシステム、プロセス、および他の要素は、不必要な詳細で実施形態を不明瞭にしないように、ブロック図の形態の構成要素として示される場合がある。他の例では、周知のプロセス、構造、および技術は、実施形態を不明瞭にすることを回避するために、不必要な詳細を伴わずに示される場合がある。さらに、さまざまな図面における同様の参照番号および名称は、同様の要素を示した。
【0243】
また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明されてもよい。フローチャートは、動作を順次プロセスとして説明し得るが、動作の多くは、並列にまたは同時に実行することができる。加えて、動作の順序は並べ替えられてもよい。プロセスは、その動作が完了したときに終了されてもよいが、論じられていない、または図に含まれていない追加のステップを有してもよい。さらに、特に説明される任意のプロセスにおけるすべての動作が、すべての実施形態において生じ得るわけではない。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応してもよい。プロセスが関数に対応するとき、関数の終了は、呼び出し関数またはメイン関数への関数の復帰に対応することができる。
【0244】
さらに、開示される主題の実施形態は、少なくとも部分的に、手動または自動のいずれかで実現されてもよい。手動または自動の実現例は、マシン、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、もしくはそれらの任意の組み合わせを用いて実行されてもよく、または少なくとも支援されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実現される場合、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、機械可読媒体に格納されてもよい。必要なタスクはプロセッサが実行してもよい。
【0245】
本明細書で概説される様々な方法またはプロセスは、様々なオペレーティングシステムまたはプラットフォームのいずれか1つを使用する1つ以上のプロセッサ上で実行可能なソフトウェアとしてコード化されてもよい。加えて、そのようなソフトウェアは、いくつかの好適なプログラミング言語および/またはプログラミングもしくはスクリプトツールのうちのいずれかを使用して書かれてもよく、また、フレームワークまたは仮想マシン上で実行される実行可能機械言語コードまたは中間コードとしてコンパイルされてもよい。典型的には、プログラムモジュールの機能は、様々な実施形態において所望に応じて組み合わせられるかまたは分散されてもよい。
【0246】
本開示の実施形態は、一例が提供された方法として具現化されてもよい。方法の一部として実行される行為は、任意の好適な方法で順序付けされてもよい。したがって、例示的な実施形態において連続的な行為として示されているいくつかの行為を同時に実行することを含むことができる、例示とは異なる順序で行為が実行される実施形態を構築してもよい。
【0247】
さらに、本開示の実施形態および本明細書で説明される機能動作は、デジタル電子回路、有形に具現化されたコンピュータソフトウェアもしくはファームウェア、本明細書で開示される構造およびそれらの構造的均等物を含むコンピュータハードウェア、またはそれらの1つもしくは複数の組合せにおいて実装され得る。さらに、本開示のいくつかの実施形態は、1つ以上のコンピュータプログラム、すなわち、データ処理装置によって実行するために、またはデータ処理装置の動作を制御するために、有形の非一時的プログラム担体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実現され得る。さらに、プログラム命令は、人工的に生成された伝搬信号、例えば、データ処理装置による実行のために適切な受信装置への送信のために情報を符号化するよう生成される機械生成された電気、光、または電磁信号上に符号化され得る。コンピュータ記憶媒体は、機械可読記憶装置、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらの1つ以上の組合せとすることができる。
【0248】
本開示の実施形態によれば、「データ処理装置」という文言は、例として、プログラム可能なプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含することができる。装置は、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。本装置はまた、ハードウェアに加えて、当該コンピュータプログラムの実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つ以上の組合せを構成するコードを含むことができる。
【0249】
コンピュータプログラム(これらは、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれ、または記載され得る)は、コンパイルされたもしくは解釈された言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述することができ、独立型プログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に適した他のユニットとして含む任意の形態で展開することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応してもよいが、対応する必要はない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、例えばマークアップ言語ドキュメントに格納された1つ以上のスクリプト、問題のプログラム専用の単一のファイル、または複数の協調ファイル、例えば1つ以上のモジュール、サブプログラムもしくはコードの一部を格納するファイルに格納することができる。
【0250】
コンピュータプログラムは、1つのコンピュータ上、または1つのサイトに位置するか、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。コンピュータプログラムの実行に適したコンピュータは、一例として、汎用マイクロプロセッサもしくは専用マイクロプロセッサまたはその両方、および任意の他の種類の中央処理ユニットを含み、例えばそれらに基づき得る。一般に、中央処理ユニットは、読み取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するための中央処理ユニット、ならびに命令およびデータを格納するための1つ以上のメモリデバイスである。
【0251】
一般に、コンピュータはまた、データを格納するための1つ以上の大容量記憶装置、例えば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらからデータを受信するか、もしくはそれらにデータを転送するか、もしくはその両方を行うように動作可能に結合されることにもなる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、数例を挙げると、別のデバイス、例えば、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、または携帯型記憶装置、例えばユニバーサルシリアルバス(USB)フラッシュドライブに組み込むことができる。
【0252】
ユーザとの対話を提供するために、本明細書で説明される主題の実施形態は、ユーザに情報を表示する表示装置、例えばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、ならびにキーボードおよびポインティングデバイス、例えばマウスまたはトラックボールを有するコンピュータ上で実現され得、これにより、ユーザは、コンピュータに入力を提供することができる。他の種類のデバイスも、ユーザとの相互作用を提供するために用いることができ;例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ;ユーザからの入力は、音響入力、音声(スピーチ)入力、または触覚入力を含む任意の形態で受信され得る。さらに、コンピュータは、ユーザによって用いられるデバイスにドキュメントを送信し、デバイスからドキュメントを受信することによって、例えば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0253】
本明細書で説明する主題の実施形態は、例えばデータサーバとしてバックエンドコンポーネントを含む、または例えばアプリケーションサーバなどのミドルウェアコンポーネントを含む、またはフロントエンドコンポーネント、例えばユーザが本明細書に記載される主題の実現例と対話できるグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネントもしくはフロントエンドコンポーネントの任意の組合せを含む計算システムにおいて実現され得る。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、例えば通信ネットワークによって相互接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、例えばインターネットを含む。
【0254】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに遠隔であり、一般に、通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0255】
本開示は特定の好ましい実施形態を参照して説明されたが、本開示の精神および範囲内でさまざまな他の適合および変更を行うことができることを理解されたい。したがって、本開示の真の精神および範囲内に入るそのようなすべての変形および修正を包含することは、特許請求の範囲の態様である。
【外国語明細書】