(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-05-09
(45)【発行日】2023-05-17
(54)【発明の名称】評価システム、コンピュータプログラム、及び評価方法
(51)【国際特許分類】
G08G 1/00 20060101AFI20230510BHJP
G06T 7/521 20170101ALI20230510BHJP
G06T 7/00 20170101ALI20230510BHJP
G01S 17/931 20200101ALN20230510BHJP
【FI】
G08G1/00 A
G06T7/521
G06T7/00 650Z
G01S17/931
(21)【出願番号】P 2021201906
(22)【出願日】2021-12-13
【審査請求日】2021-12-13
(73)【特許権者】
【識別番号】593154436
【氏名又は名称】アイサンテクノロジー株式会社
(73)【特許権者】
【識別番号】599002043
【氏名又は名称】学校法人 名城大学
(73)【特許権者】
【識別番号】504139662
【氏名又は名称】国立大学法人東海国立大学機構
(73)【特許権者】
【識別番号】521545400
【氏名又は名称】株式会社マップフォー
(73)【特許権者】
【識別番号】516264082
【氏名又は名称】株式会社ティアフォー
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】目黒 淳一
(72)【発明者】
【氏名】佐藤 友哉
【審査官】田中 将一
(56)【参考文献】
【文献】国際公開第2015/193941(WO,A1)
【文献】特開2011-191239(JP,A)
【文献】国際公開第2019/208101(WO,A1)
【文献】国際公開第2019/026761(WO,A1)
【文献】特開2007-225911(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00 - 99/00
G06T 7/00 - 7/90
G01S 7/48 - 7/51
G01S 17/00 - 17/95
(57)【特許請求の範囲】
【請求項1】
所定期間における各時点の車両の走行位置を特定可能な走行データを取得するように構成される走行データ取得部と、
前記所定期間における複数の時点のそれぞれにおいて、前記車両に搭載されるレーザレーダにより計測される前記車両の周囲の三次元形状に関する計測データを取得するように構成される計測データ取得部と、
前記複数の時点のそれぞれに関して、対応する時点の前記計測データが示す三次元形状と適合する三次元地図データ内の領域を探索することにより、前記対応する時点における前記車両の位置を推定するように構成される複数の位置推定部と、
前記複数の位置推定部のそれぞれに対し、前記三次元地図データにおける前記探索の開始地点である探索開始点として異なる地点を設定するように構成される設定部であって、前記走行データに基づき、前記複数の位置推定部のそれぞれに対し、前記複数の時点のそれぞれの前記探索開始点を設定する設定部と、
前記複数の位置推定部のそれぞれで推定された各時点の前記位置と、前記位置に対応する時点の走行位置との差に基づき、前記位置の推定精度に関する評価値を算出するように構成される評価部
であって、前記複数の位置推定部のうち、前記差が閾値を超える前記位置を推定していない位置推定部の数に基づき、前記評価値を算出する評価部と、
を備える評価システム。
【請求項2】
前記評価部は、前記複数の位置推定部による推定動作を、前記差が閾値を超える前記位置を推定した位置推定部から順に停止し、前記複数の位置推定部のうち、前記推定動作を停止していない位置推定部の数に基づき、前記評価値を算出する請求項1記載の評価システム。
【請求項3】
前記評価部は、前記複数の時点のそれぞれに関して、前記評価値を算出する請求項1
又は請求項2記載の評価システム。
【請求項4】
前記評価部は、前記車両の走行環境の変化に応じて前記閾値を変更する請求項
1又は請求項
2記載の評価システム。
【請求項5】
前記評価部は、前記車両の走行区間のうち、特定種の走行区間では、その他の種類の走行区間よりも前記閾値を低く設定し、
前記特定種の走行区間は、道路カーブを有する走行区間、停止線を有する走行区間、及び、横断歩道を有する走行区間の少なくともいずれかである請求項
1又は請求項
2記載の評価システム。
【請求項6】
前記設定部は、前記複数の時点のうち、最初の時点に続く後続時点のそれぞれでは、前記複数の位置推定部のそれぞれに対し、対応する時点の前記探索開始点として、前記対応する時点より一つ前の時点において、対応する位置推定部が推定した前記位置に、所定の確率分布に従う誤差を付与した前記一つ前の時点での走行位置から前記対応する時点の走行位置への変位ベクトルを加算した位置を設定する請求項1~請求項
5のいずれか一項記載の評価システム。
【請求項7】
前記設定部は、前記最初の時点では、前記複数の位置推定部のそれぞれに対し、前記最初の時点の前記探索開始点として、前記最初の時点での走行位置に前記所定の確率分布に従う誤差を付与した位置を設定する請求項
6記載の評価システム。
【請求項8】
前記確率分布は、正規分布である請求項
6又は請求項
7記載の評価システム。
【請求項9】
前記設定部は、前記確率分布として、前記車両の走行環境の変化に応じて分散の異なる正規分布を用いて、前記探索開始点を設定する請求項
6又は請求項
7記載の評価システム。
【請求項10】
前記車両は、シミュレータ内の仮想空間で走行する仮想車両であり、
前記走行データ取得部は、前記仮想空間で走行する前記仮想車両の走行データを取得し、
前記計測データ取得部は、前記計測データとして、前記仮想車両に搭載される仮想のレーザレーダにより計測される前記仮想空間における前記仮想車両の周囲の三次元形状に関する計測データを取得する請求項1~請求項
9のいずれか一項記載の評価システム。
【請求項11】
請求項1~請求項
10のいずれか一項記載の評価システムが備える前記走行データ取得部、前記計測データ取得部、前記複数の位置推定部、前記設定部、及び前記評価部として、コンピュータを機能させるためのコンピュータプログラム。
【請求項12】
コンピュータにより実行される評価方法であって、
所定期間における各時点の車両の走行位置を特定可能な走行データを取得することと、
前記所定期間における複数の時点のそれぞれにおいて、前記車両に搭載されるレーザレーダにより計測される前記車両の周囲の三次元形状に関する計測データを取得することと、
前記複数の時点のそれぞれに関して、対応する時点の前記計測データが示す三次元形状と適合する三次元地図データ内の領域を探索することにより、前記対応する時点における前記車両の位置を推定する位置推定タスクを複数生成することと、
前記位置推定タスクのそれぞれに対し、前記三次元地図データにおける前記探索の開始地点である探索開始点として異なる地点を設定することであって、前記走行データに基づき、前記位置推定タスクのそれぞれに対し、前記複数の時点のそれぞれの前記探索開始点を設定することと、
前記位置推定タスクのそれぞれで推定された各時点の前記位置と、前記位置に対応する時点の走行位置との差に基づき、前記位置の推定精度に関する評価値を算出すること
であって、複数の前記位置推定タスクのうち、前記差が閾値を超える前記位置を推定していない位置推定タスクの数に基づき、前記評価値を算出することと、
を含む評価方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、評価システム及び評価方法に関する。
【背景技術】
【0002】
従来、レーザレーダを用いて反射点までの距離を計測することにより、周囲の三次元形状を計測する技術(所謂LiDAR:Light Detection And Ranging)が知られている。
【0003】
LiDARを用いた位置推定技術として、三次元点群地図データと、車両に搭載されたレーザレーダのスキャンデータとのマッチングにより、車両の位置を推定する技術も知られている(例えば、特許文献1参照)。マッチングの例には、NDT(Normal Distributions Transform )スキャンマッチングが含まれる。
【0004】
マッチングは例えば、地図空間上の探索開始点から、三次元点群地図データとスキャンデータとの照合を開始して、一致度に関する評価関数が最大となる地点を探索することにより行われる。評価関数が最大となる地点が、スキャンデータを生成したレーザレーダの位置、すなわちレーザレーダを搭載する車両の位置と推定される。
【先行技術文献】
【非特許文献】
【0005】
【文献】橘川 雄樹、外4名、「自動運転実証実験:位置推定精度の検証」、国際交通安全学会誌、vol.42,No.2,pp.48-53、[online]、平成29年10月、[令和3年8月10日検索]、インターネット<URL: http://www.iatss.or.jp/common/pdf/publication/iatss-review/42-2-06.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、マッチングによる位置推定技術は、単調な景色の広がる空間では、特徴的な景色の広がる空間よりも位置推定精度が低下する傾向を示す。この技術によれば、探索開始点が推定対象の車両位置の真値から離れるほど、車両位置の誤推定が生じやすい。
【0007】
LiDARを用いた位置推定技術は、車両の自動運転にも活用される。この場合には、位置推定精度の低下が、自動運転にも影響を与える可能性がある。
【0008】
そこで、本開示の一側面によれば、レーザレーダの計測データと三次元地図データとに基づき推定される車両の位置に関し、位置推定精度を検証可能な新規技術を提供できることが望ましい。
【課題を解決するための手段】
【0009】
本開示の一側面によれば、走行データ取得部と、計測データ取得部と、複数の位置推定部と、設定部と、評価部とを備える評価システムが提供される。走行データ取得部は、所定期間における各時点の車両の走行位置を特定可能な走行データを取得するように構成される。
【0010】
計測データ取得部は、所定期間における複数の時点のそれぞれにおいて、車両に搭載されるレーザレーダにより計測される車両の周囲の三次元形状に関する計測データを取得するように構成される。
【0011】
位置推定部は、複数の時点のそれぞれに関して、対応する時点の計測データが示す三次元形状と適合する三次元地図データ内の領域を探索することにより、対応する時点における車両の位置を推定するように構成される。
【0012】
設定部は、複数の位置推定部のそれぞれに対し、三次元地図データにおける探索の開始地点である探索開始点として異なる地点を設定するように構成される。設定部は、走行データに基づき、複数の位置推定部のそれぞれに対し、複数の時点のそれぞれの探索開始点を設定する。
【0013】
評価部は、複数の位置推定部のそれぞれで推定された各時点の位置と、位置に対応する時点の走行位置との差に基づき、位置の推定精度に関する評価値を算出するように構成される。
【0014】
この評価システムによれば、レーザレーダの計測データと三次元地図データとに基づく車両位置の推定精度に関し、探索開始点が推定対象の車両位置の真値からずれる場合の位置推定精度を適切に評価できる。すなわち、車両位置の推定に際し、直前の車両位置として認識される位置に誤差が含まれることに対する位置推定の頑強性を、評価値として適切に算出することができる。
【0015】
従って、本開示の一側面によれば、レーザレーダの計測データと三次元地図データとに基づく車両位置の推定精度を、適切に検証可能な評価システムを提供することができる。
【0016】
本開示の一側面によれば、評価部は、複数の位置推定部のうち、差が閾値を超える位置を推定していない位置推定部の数に基づき、評価値を算出するように構成されてもよい。本開示の一側面によれば、評価部は、複数の位置推定部による推定動作を、差が閾値を超える位置を推定した位置推定部から順に停止し、複数の位置推定部のうち、推定動作を停止していない位置推定部の数に基づき、評価値を算出するように構成されてもよい。こうした評価方法によれば、位置推定精度の評価値を適切に数値化可能である。
【0017】
本開示の一側面によれば、評価部は、複数の時点のそれぞれに関して、評価値を算出するように構成されてもよい。こうした評価方法によれば、車両の走行環境の時間変化に応じた位置推定精度の変化を、適切に評価可能である。
【0018】
本開示の一側面によれば、評価部は、車両の走行環境の変化に応じて閾値を変更するように構成されてもよい。こうした閾値の変更によれば、評価の対象としない要因による位置推定精度の変化による評価値への影響を抑えることができ、それによって注目すべき要因による位置推定精度の変化を、評価値の変化として適切に表すことができる。
【0019】
本開示の一側面によれば、評価部は、車両の周囲の三次元形状の変化が基準より単調な車両の走行区間では、その他の走行区間よりも閾値を高く設定するように構成されてもよい。位置推定精度が低下する単調な車両の走行区間では、閾値を高く設定することにより、単調な走行区間で位置推定精度が低下することに起因した評価値への影響を抑えて、その他の要因による位置推定精度の変化を、評価値の変化として適切に表すことができる。
【0020】
本開示の一側面によれば、評価部は、車両の走行区間のうち、特定種の走行区間では、その他の種類の走行区間よりも閾値を低く設定するように構成されてもよい。特定種の走行区間は、道路カーブを有する走行区間、停止線を有する走行区間、及び、横断歩道を有する走行区間の少なくともいずれかであり得る。
【0021】
こうした閾値の設定によれば、高い位置推定精度が求められる走行区間とそれ以外の走行区間とに応じて閾値を適切に使い分けて、位置推定精度に関する適切な評価値を算出可能である。
【0022】
本開示の一側面によれば、設定部は、複数の時点のうち、最初の時点に続く後続時点のそれぞれでは、複数の位置推定部のそれぞれに対し、対応する時点の探索開始点として、対応する時点より一つ前の時点において、対応する位置推定部が推定した位置に、所定の確率分布に従う誤差を付与した一つ前の時点での走行位置から対応する時点の走行位置への変位ベクトルを加算した位置を設定するように構成され得る。
【0023】
本開示の一側面によれば、設定部は、上記最初の時点では、複数の位置推定部のそれぞれに対し、最初の時点の探索開始点として、最初の時点での走行位置に所定の確率分布に従う誤差を付与した位置を設定するように構成され得る。
【0024】
上述した手法を通じて、想定される誤差分布に応じた確率分布に従う誤差を付与した探索開始点を設定することによれば、誤差の影響を考慮した位置推定精度の評価を適切に行うことができる。
【0025】
本開示の一側面によれば、上記確率分布は、正規分布であり得る。本開示の一側面によれば、設定部は、上記確率分布として、車両の走行環境の変化に応じて分散の異なる正規分布を用いて、探索開始点を設定するように構成されてもよい。
【0026】
車両の走行環境の変化に応じて、誤認識される位置に含まれる誤差の大きさは変化する。車両の走行環境の変化に応じて分散の異なる正規分布を用いて、探索開始点を設定することによれば、位置の誤認識を適切にシミュレートして、位置推定精度を適切に評価することができる。
【0027】
本開示の一側面によれば、車両は、シミュレータ内の仮想空間で走行する仮想車両であってもよい。この場合、走行データ取得部は、仮想空間で走行する仮想車両の走行データを取得するように構成され得る。計測データ取得部は、計測データとして、仮想車両に搭載される仮想のレーザレーダにより計測される仮想空間における仮想車両の周囲の三次元形状に関する計測データを取得するように構成され得る。
【0028】
シミュレータでの位置推定精度の検証に、本開示の技術を適用することによれば、少ない負荷で簡単にマッチングによる位置推定精度を検証することができる。
【0029】
本開示の一側面によれば、上述した評価システムが備える走行データ取得部、計測データ取得部、複数の位置推定部、設定部、及び評価部の少なくとも一部として、コンピュータを機能させるためのコンピュータプログラムが提供されてもよい。
【0030】
本開示の一側面によれば、コンピュータにより実行される評価方法が提供されてもよい。評価方法は、所定期間における各時点の車両の走行位置を特定可能な走行データを取得することと、所定期間における複数の時点のそれぞれにおいて、車両に搭載されるレーザレーダにより計測される車両の周囲の三次元形状に関する計測データを取得することと、複数の時点のそれぞれに関して、対応する時点の計測データが示す三次元形状と適合する三次元地図データ内の領域を探索することにより、対応する時点における車両の位置を推定する位置推定タスクを複数生成することと、位置推定タスクのそれぞれに対し、三次元地図データにおける探索の開始地点である探索開始点として異なる地点を設定することであって、走行データに基づき、位置推定タスクのそれぞれに対し、複数の時点のそれぞれの探索開始点を設定することと、位置推定タスクのそれぞれで推定された各時点の位置と、位置に対応する時点の走行位置との差に基づき、位置の推定精度に関する評価値を算出することと、を含み得る。
【0031】
この評価方法によれば、上述の評価システムと同様に、レーザレーダの計測データと三次元地図データとに基づく位置推定に関し、位置推定精度を適切に評価可能である。
【図面の簡単な説明】
【0032】
【
図2】プロセッサが実行する評価処理を表すフローチャートである。
【
図4】プロセッサが実行する第一探索設定処理を表すフローチャートである。
【
図5】第一探索設定処理に基づく探索開始点の設定及び車両位置の推定に関する説明図である。
【
図6】プロセッサが実行する誤差判定処理を表すフローチャートである。
【
図7】プロセッサが実行する第二探索設定処理を表すフローチャートである。
【
図8】第二探索設定処理に基づく探索開始点の設定及び車両位置の推定に関する説明図である。
【
図9】プロセッサが実行する閾値設定処理を表すフローチャートである。
【発明を実施するための形態】
【0033】
以下に本開示の例示的実施形態を、図面を参照しながら説明する。
図1に示す本実施形態の評価装置1は、汎用の情報処理装置に、当該情報処理装置を評価装置1として機能させるためのコンピュータプログラムである評価プログラム100がインストールされて構成される。
【0034】
評価装置1は、
図1に示すように、プロセッサ11と、メモリ13と、ストレージ15と、表示部17と、操作部19と、データ入出力部21と、を備える。プロセッサ11は、ストレージ15に格納されたコンピュータプログラムに従う処理を実行する。メモリ13は、RAMを備え、プロセッサ11による処理実行時に作業用メモリとして使用される。
【0035】
ストレージ15は、ハードディスクドライブ又はソリッドステートドライブにより構成され、コンピュータプログラム、及び、コンピュータプログラムに従う処理の実行時に使用される各種データを記憶する。ストレージ15は、評価プログラム100、及び、三次元点群地図データ200を記憶する。
【0036】
三次元点群地図データ200は、所定地域の三次元形状、具体的には地表上に存在する自然物及び人工物の三次元形状(特に外形)を、三次元点群で表す点群データである。この三次元点群地図データ200は、例えば、車両の走行道路に対応する路面及びその周囲の建造物等の人工物及び自然物の三次元形状を三次元点群で表す。三次元点群地図データ200は、三次元点群を構成する各点の三次元座標を記述する。三次元点群地図データ200は、例えば、車両に搭載された計測機器を用いて作成される。
【0037】
表示部17は、プロセッサ11により制御されて、評価装置1を操作するユーザに対し、各種情報を表示するように構成される。表示部17は、例えば液晶ディスプレイを備える。
【0038】
操作部19は、評価装置1に対するユーザからの操作信号をプロセッサ11に入力するように構成される。操作部19は、例えばキーボード及びポインティングデバイスを備える。
【0039】
データ入出力部21は、外部からのデータ入力及び外部へのデータ出力に使用される。データ入出力部21は、例えば、三次元点群地図データ200の評価装置1内への取込に使用される。
【0040】
データ入出力部21は、例えば有線又は無線により外部機器と通信する通信インタフェースを備えることができる。データ入出力部21は、USBメモリに対するデータの読込及び書込が可能なUSBインタフェースを備えることができる。データ入出力部21は、カード型の記録メディアに対するデータの読込及び書込が可能なメディアリーダ/ライタを備えることができる。
【0041】
プロセッサ11は、評価プログラム100の実行指令が操作部19を介してユーザから入力されると、ストレージ15が記憶する評価プログラム100に従う評価処理(
図2参照)を実行する。ここでは評価処理の詳細を説明する前に、その概略を説明する。
【0042】
評価処理では、三次元点群地図データ200に基づく仮想空間において、仮想車両(以下単に車両という)が搭載するLiDAR計測器であるレーザレーダに対するLiDARシミュレーションが行われる。これにより、車両により搭載されたレーザレーダの計測データであるスキャンデータが得られる。
【0043】
スキャンデータは、仮想空間上で走行する車両の走行位置においてレーザレーダにより得られる車両を中心とした車両周囲の三次元形状を三次元点群で表すデータである。
【0044】
評価処理では、このスキャンデータと、三次元点群地図データ200との照合により、仮想空間上での車両の位置推定が行われる。車両の走行ルートの全体に亘って、各地点での位置推定の頑強性に関する評価値Wの変化が、色の変化により、
図3に示すように表示される。ここでいう頑強性は、位置推定に失敗しにくい性質、換言すれば、様々な環境で位置推定を精度よく実行できる性質のことをいう。本実施形態の評価装置1は、LiDARを用いた位置推定アルゴリズムの頑強性の検証に役立つ。
【0045】
図2に示す評価処理を開始すると、プロセッサ11は、シミュレーションに必要な、車両の走行ルートを説明する走行データを取得する(S110)。プロセッサ11は、S110の処理を実行することにより、走行データ取得部として機能する。
【0046】
走行データは、スタート地点からゴール地点までの車両の走行運動を定義するデータであり、スタート地点からゴール地点までを車両が移動するまでのシミュレーション期間における各時点の車両の走行位置Prを特定可能な情報を含む。走行データは、例えば、各時点の走行位置Prを表す時系列データであり得る。
【0047】
その後、プロセッサ11は、走行データに従って車両が三次元点地図データにより定義される仮想空間上を走行する条件でのLiDARシミュレーションを開始する(S120)。LiDARシミュレーションは、予め定められた時間ステップ間隔ΔTで進行する。以下でいう時刻tは、シミュレーションの開始時刻をゼロ点として仮想空間で刻まれる時間に関する時間軸上の点を意味する。
【0048】
シミュレーション開始からの各時刻t=(n-1)*ΔTでは、走行データから特定される時刻tの走行位置Prに車両が存在する条件下で、レーザレーダにより車両周囲の三次元形状が計測される。nは、1以上の自然数である。そして、車両周囲の三次元形状に関するスキャンデータが生成される。
【0049】
プロセッサ11は、S120において、時刻t=0でのスキャンデータを取得する。シミュレーション開始時刻t=0は、車両がスタート地点にいる時点でもよいし、車両がスタート地点から時間ステップ間隔ΔTに対応する距離だけ移動した時点でもよい。プロセッサ11は、S120の処理及び後述のS190の処理を実行することにより、計測データ取得部として機能する。
【0050】
続くS130において、プロセッサ11は、複数のパーティクルを生成する。各パーティクルは、シミュレーション開始からの各時刻t=(n-1)*ΔTにおいて、同時刻tのスキャンデータが示す三次元形状と適合する三次元点群地図データ200内の領域を、設定された探索開始点から探索することにより、同時刻tにおける車両の位置Ptを推定する位置推定タスクである。
【0051】
各パーティクルは、頑強性検証対象の位置推定アルゴリズムに従って、車両の位置Ptを推定する。具体的には、位置推定タスクは、NDTスキャンマッチングにより、スキャンデータと三次元点群地図データ200とを照合して、車両の位置Ptを推定する。
【0052】
S130において複数のパーティクルを生成した後、プロセッサ11は、各パーティクルに、時刻t=0における車両位置Ptの推定のための探索開始点を設定し、S120で取得したスキャンデータと三次元点群地図データ200とに基づく車両位置Ptの推定動作を実行させる(S140)。プロセッサ11は、S140の処理及び後述のS200の処理を実行することにより、設定部として機能する。
【0053】
S140において、プロセッサ11は、
図4に示す第一探索設定処理を実行することができる。第一探索設定処理を開始すると、プロセッサ11は、存在する複数のパーティクルの一つを、設定対象に選択する(S310)。
【0054】
続いて、プロセッサ11は、設定対象のパーティクルに対して、探索開始点を設定する(S320)。S320において、プロセッサ11は、基準位置P0として、走行データから特定される現時刻t=0の走行位置Prを特定する。基準位置P0は、推定すべき車両位置Ptの真値に対応する。
【0055】
プロセッサ11は、設定対象のパーティクルに対し、基準位置P0に正規分布に従う誤差δPを付与した位置である探索開始点Sp=P0+δPを設定する(S320)。正規分布は、確率分布の例である。誤差δPの値は、正規分布に従うように確率的に決定される。
【0056】
車両位置Ptは、水平面に平行なx軸及びy軸、水平面に垂直なz軸を有する三次元座標空間上の位置座標(x,y,z)で表される。基準位置P0及び誤差δPもまた、x成分、y成分、及びz成分を含む三次元ベクトルである。
【0057】
誤差δP=(δPx,δPy,δPz)の各成分δPx,δPy,δPzは、成分間で同じ又は異なる分散σ2を有する平均μ=0の正規分布ND(0,σ2)に従う値に設定される。例えば、z方向の誤差δPzは、x方向の分散σx2及びy方向の分散σy2より小さい分散σz2を有する正規分布に従って、基準位置P0に付与され得る。
【0058】
プロセッサ11は、存在する複数のパーティクルの全てに探索開始点を設定するまで、S330でNoと判断し、S310,S320の処理を繰返し実行することにより、パーティクル毎に、基準位置P0に対して異なる誤差δPを付与した探索開始点を設定する。パーティクルの全てに探索開始点を設定すると(S330でYes)、
図4に示す第一探索設定処理を終了する。
【0059】
第一探索設定処理の終了時点で、各パーティクルには、
図5左領域に示すように、理想的な探索開始点である、推定すべき車両位置Ptの真値に対応する地点310からずれた地点320に、探索開始点が設定される。
【0060】
続くS150において、プロセッサ11は、設定された探索開始点からの探索により各パーティクルが推定した車両位置Ptを、各パーティクルから取得する。
図5右領域は、各パーティクルが探索開始点からの探索により車両位置Ptを推定することを、推定される車両位置Ptに対応する地点330と共に概念的に示す。
【0061】
続くS160において、プロセッサ11は、車両位置Ptの真値に対応する、走行データから特定される車両位置Ptと同時刻tの走行位置Prに基づき、推定誤差Eの大きい車両位置Ptを推定したパーティクルを削除することにより、対応するパーティクルの推定動作を停止する(S160)。
【0062】
S160において、プロセッサ11は、
図6に示す誤差判定処理を実行することができる。誤差判定処理を開始すると、プロセッサ11は、S410において、推定誤差Eの大小を判定するための閾値Thを設定する。閾値Thは、予め定められた固定値であってもよいし、ユーザから指定された値であってもよい。
【0063】
続くS420において、プロセッサ11は、存在する複数のパーティクルの一つを、判定対象に選択する(S420)。続くS430において、プロセッサ11は、判定対象のパーティクルにより推定された車両位置Ptと、車両位置Ptの真値に対応する走行位置Prと、に基づき、その差の絶対値として、推定誤差E=|Pt-Pr|を算出する。
【0064】
続くS440において、プロセッサ11は、推定誤差Eが閾値Thを超えているか否かを判断する。推定誤差Eが閾値Thを超えていると判断すると(S440でYes)、プロセッサ11は、S450において、判定対象のパーティクルを削除することにより、このパーティクルの推定動作を停止する。その後、S460の処理を実行する。
【0065】
一方、プロセッサ11は、推定誤差Eが閾値Th以下であると判断すると(S440でNo)、判定対象のパーティクルを削除せずに、S460の処理を実行する。
【0066】
S460において、プロセッサ11は、存在する複数のパーティクルの全てをS420において個別に選択したか否かを判断する。全てのパーティクルを選択していない場合には、S460で否定判断し、S420において次のパーティクルを選択して、S430以降の処理を実行する。
【0067】
プロセッサ11は、全てのパーティクルを選択したと判断すると(S460でYes)、誤差判定処理を終了する。このようにして、プロセッサ11は、S160では、誤差の大きい車両位置Ptを推定したパーティクルを削除する。
【0068】
続くS170において、プロセッサ11は、S130で最初に生成されたパーティクルのうち削除されていないパーティクルの数M1を、評価値W=M1として算出する(S170)。
【0069】
別例によれば、プロセッサ11は、最初に生成されたパーティクルの数M0に対する未削除のパーティクルの数M1の割合M1/M0を、評価値W=M1/M0として算出してもよい。プロセッサ11は、S170の処理を実行することにより、評価部として機能する。
【0070】
その後、プロセッサ11は、算出した評価値Wを、対応する時刻t及び走行位置Prと関連付けて、評価ログとして記録する(S170)。評価ログは、メモリ13、又は、ストレージ15において記憶される。
【0071】
続くS180において、プロセッサ11は、シミュレーションの終了条件が満足されたかを判断する。例えば、走行データが示すゴール地点に車両が到達するまでシミュレーションが進んだ場合、プロセッサ11は、終了条件が満足されたと判断し、それ以外の場合には、終了条件が満足されていないと判断する。
【0072】
プロセッサ11は、終了条件が満足されていないと判断すると(S180でNo)、シミュレーションの時間ステップを更新する(S190)。すなわち、仮想空間上の時刻tを、時間ステップ間隔ΔTだけ進め、仮想空間上で、更新後の時刻tに対応する走行位置Prで車両がレーザレーダによる計測を行った場合のスキャンデータを取得する(S190)。
【0073】
続くS200において、プロセッサ11は、各パーティクルに、更新後の時刻tにおける車両位置Ptの推定のための探索開始点を設定し、S190で取得したスキャンデータと三次元点群地図データ200との照合による車両位置Ptの推定動作を実行させる。
【0074】
S200において、プロセッサ11は、
図7に示す第二探索設定処理を実行することができる。第二探索設定処理を開始すると、プロセッサ11は、存在する複数のパーティクルの一つを、設定対象に選択する(S510)。
【0075】
続くS520において、プロセッサ11は、設定対象のパーティクルに対して、探索開始点Sp=Pb+ΔP+δPを設定する。ここでのPbは、設定対象のパーティクルにより推定された現時刻t=(n-1)*ΔTより一つ前の時間ステップに対応する時刻t=(n-2)*ΔTの車両位置Ptである。
【0076】
ΔPは、一つ前の時間ステップに対応する時刻t=(n-2)*ΔTから現時刻t=(n-1)*ΔTまでの車両の走行位置Prの変位ベクトルである。具体的には、ΔPは、時刻t=(n-2)*ΔTの走行位置Pr=Pr0から、現時刻t=(n-1)*ΔTの走行位置Pr=Pr1までの変位ベクトルΔP=Pr1-Pr0である。
【0077】
δPは、正規分布に従う誤差δPである。誤差δPの値は、S320での処理と同様に、正規分布に従うように確率的に決定される。ベクトル(ΔP+δP)は、正規分布に従う誤差δPを付与した一つ前の時点での走行位置Pr=Pr0から現時点の走行位置Pr=Pr1への変位ベクトルに対応する。
【0078】
すなわち、プロセッサ11がS520で設定対象のパーティクルに対して設定する時刻t=(n-1)*ΔTの探索開始点は、時刻t=(n-1)*ΔTより一つ前の時刻t=(n-2)*ΔTにおいて、対応するパーティクルが推定した車両位置Pbに、誤差δPを付与した変位ベクトルを加算した位置である。
【0079】
図8上側に示す図は、各パーティクルが推定した車両位置Pbに対応する地点330から、誤差δPを含む変位ベクトルだけ移動した地点340に、各パーティクルの次の探索開始点が設定されることを示している。地点350は、次の探索開始点として理想的な、推定すべき車両位置Ptの真値に対応する。
【0080】
S520の処理実行後、プロセッサ11は、存在する複数のパーティクルの全てに探索開始点を設定するまで、S530でNoと判断し、S510,S520の処理を繰返し実行することにより、パーティクル毎に、探索開始点を設定する。パーティクルの全てに探索開始点を設定すると(S530でYes)、
図7に示す第二探索設定処理を終了する。
【0081】
S200(
図2参照)における探索開始点の設定後、プロセッサ11は、S150の処理を実行する。すなわち、プロセッサ11は、設定された探索開始点からの探索により各パーティクルが推定した車両位置Ptを、各パーティクルから取得する(S150)。
図8下側は、各パーティクルが探索開始点である地点340からの探索により車両位置Ptを推定することを、推定される車両位置Ptに対応する地点361,362,363と共に概念的に示す。
【0082】
その後、プロセッサ11は、S160の処理を実行する。すなわち、プロセッサ11は、直前のS150で取得した車両位置Ptと同時刻tの走行位置Prに基づき、推定誤差の大きい車両位置Ptを推定したパーティクルを削除する。
【0083】
図8に示される地点361,362は、推定誤差Eが閾値Th以下である車両位置Ptに対応する。地点363は、推定誤差Eが閾値Thを超えた車両位置Ptに対応する。地点363に対応する車両位置Ptを推定したパーティクルは、削除される。
図8における記号Xは、パーティクルが削除されることを意味している。
【0084】
その後、プロセッサ11は、S160での処理後に残存するパーティクルの数M1に基づいた評価値W=M1(別例によればW=M1/M0)を算出する(S170)。プロセッサ11は、このようにしてS180で肯定判断するまで、S150~S200の処理を繰返し実行する。これにより、プロセッサ11は、時間ステップ間隔ΔT毎に、車両の走行位置Prを更新し、スキャンデータに基づいて車両位置Ptを推定し、推定誤差Eに基づいて、評価値Wを算出する。
【0085】
S180で肯定判断すると、すなわち、シミュレーションの終了条件が満足されたと判断すると、プロセッサ11は、S210の処理を実行する。S210において、プロセッサ11は、記録した評価ログに基づき、車両の走行ルートを表す地図画像に重ねて、評価値Wを色情報により示した
図3に示す評価画面を、表示部17に表示させる。
【0086】
例えば、採り得る評価値Wの最大値に対しては、「紫」が割り当てられ、最小値に対しては「赤」が割り当てられ、その間の値に対しては、色相環に従って、青、緑、黄、及び、橙が順に割り当てられる。評価画面においては、地図画像と共に、走行ルートに沿って、走行ルート上の各地点を車両が走行した時刻tの評価値Wに対応する色が表示される。
【0087】
以上に説明した本実施形態の評価装置1によれば、レーザレーダの計測データであるスキャンデータと三次元点群地図データ200とに基づく車両位置の推定精度に関し、探索開始点が推定対象の車両位置の真値からずれている場合の位置推定精度を適切に評価できる。すなわち、車両位置の推定に際し、直前の車両位置として認識される位置に誤差が含まれることに対する位置推定の頑強性を、評価値Wとして適切に算出することができる。
【0088】
特に、本実施形態によれば、仮想空間上でのLiDARシミュレーションを利用しているために、車両位置の真値を特定することができる。従って、検証対象の位置推定アルゴリズムが探索開始点のずれによってどのような傾向を示すのかを、真値不明である場合よりも、適切に把握することができる。
【0089】
本実施形態では、想定される誤差分布に対応する正規分布に従って、探索開始点に理想点からの誤差を与える。また、誤差の異なる複数のパーティクルを生成し、各パーティクルの推定誤差Eに基づき、パーティクル全体に対する総合的な評価値Wとして、位置推定能力ともいえる位置推定精度に関する評価値Wを算出する。
【0090】
具体的には、各パーティクルで確率的な誤差δPを取り入れた位置推定を行いながら、これらの推定誤差Eを、パーティクル全体の残存パーティクル数M1を用いて、統計的に評価し、評価値Wを算出する。
【0091】
従って、本実施形態の評価装置1によれば、確率的な誤差を考慮しながら、位置推定アルゴリズムの位置推定精度、特には、位置推定の頑強性を、統計的に適切に評価可能である。
【0092】
本実施形態の評価装置1によれば更に、車両の走行環境の時間変化に応じた位置推定精度の変化を、適切に評価して、ユーザに表示することが可能である。すなわち、本実施形態では、時間ステップ間隔ΔT毎に、評価値Wが算出されて、走行位置Prと関連付けて記録される。更に走行ルートに沿って、評価値Wに対応する色が評価画面上で表示される。従って、ユーザは、どのような走行環境で、大きな推定誤差Eが発生するのかを視覚的に容易に判断することができる。
【0093】
変形例として、プロセッサ11は、S410で
図9に示す閾値設定処理を実行するように構成されてもよい。すなわち、プロセッサ11は、S410では、車両の現走行区間を判別し(S610)、判別した現走行区間に応じた閾値Thを設定する(S620)処理を実行してもよい。
【0094】
この場合、閾値Thは、走行区間毎に異なる値に定められ、ストレージ15に予め閾値定義データとして格納され得る。閾値定義データは、走行データと一体化されてもよい。すなわち、スタート地点からゴール地点までの走行ルートが複数の走行区間に分割されていてもよく、走行データは、各走行区間に対して閾値Thを定義するデータを含んでいてもよい。
【0095】
閾値Thは、車両の周囲の三次元形状の変化が基準より単調な車両の走行区間では、その他の走行区間よりも高い値に定義され得る。単調な走行区間の例には、田畑が広がる区間、及び、一様な防音壁に囲まれた走行区間(高速道路等)が含まれる。
【0096】
単調な景色の広がる走行区間では、そうではない区間よりも位置推定精度が低下する。これは、マッチングによる位置推定アルゴリズムの基本的な傾向である。従って、位置推定精度が低下する単調な車両の走行区間では、閾値Thを高く設定することによれば、単調な走行区間で位置推定精度が低下することに起因した評価値Wへの影響を抑えて、その他の要因による位置推定精度の変化を、評価値Wの変化として適切に表現することができる。
【0097】
閾値Thは、特定種の走行区間では、その他の種類の走行区間よりも低く定義されてもよい。特定種の走行区間は、道路カーブを有する走行区間、停止線を有する走行区間、及び、横断歩道を有する走行区間の少なくともいずれかであり得る。すなわち、車両の現走行区間が、道路カーブを有する走行区間、停止線を有する走行区間、及び、横断歩道を有する走行区間の少なくともいずれかに該当するときには、そうではないときよりも、閾値Thが低く設定されてもよい。
【0098】
こうした閾値Thの設定によれば、高い位置推定精度が求められる走行区間とそれ以外の走行区間とに応じて閾値Thを適切に使い分けて、位置推定精度に関する適切な評価値Wを算出可能である。
【0099】
更なる変形例として、プロセッサ11は、車両の走行環境の変化に応じて分散σ2の異なる正規分布を用いて、探索開始点を設定するように構成されてもよい。すなわち、走行環境の変化に応じた分散σ2を有する正規分布に従って、誤差δPが生成され、探索開始点の設定に用いられてもよい。
【0100】
例えば、プロセッサ11は、S520で探索開始点を設定する際、閾値Thの例と同様に、車両の現走行区間を判別し、誤差δPの生成に用いる正規分布の分散σ2を、現走行区間に応じた分散σ2に設定することができる。この場合、分散σ2は、走行区間毎に異なる値に定められ、ストレージ15に予め分散定義データとして格納され得る。分散定義データは、走行データと一体化されてもよい。すなわち、スタート地点からゴール地点までの走行ルートが複数の走行区間に分割されていてもよく、走行データは、各走行区間に対して分散σ2を定義するデータを含んでいてもよい。
【0101】
車両の走行環境の変化に応じて分散σ2の異なる正規分布を用いて、探索開始点を設定することによれば、位置の誤認識を適切にシミュレートして、位置推定精度を適切に評価することができる。
【0102】
以上に、変形例を含む本開示の例示的実施形態を説明したが、本開示が、これらに限定されるものではなく、種々の態様を採ることができることは言うまでもない。
【0103】
上記実施形態では、仮想空間において車両を走行させてスキャンデータを取得し、位置推定アルゴリズムによる位置推定精度の評価を行ったが、実空間において車両を走行させることに得られたスキャンデータを用いて、位置推定精度の評価が行われもよい。この場合には、走行データとして、車両に搭載された各種センサ及び/又は車両を外部から観測する機器を用いて検出された各時点の車両の走行位置が記述されたデータが取得されてもよい。
【0104】
この他、上記実施形態における1つの構成要素が有する機能は、複数の構成要素に分散して設けられてもよい。複数の構成要素が有する機能は、1つの構成要素に統合されてもよい。上記実施形態の構成の一部は、省略されてもよい。上記実施形態の構成の少なくとも一部は、他の上記実施形態の構成に対して付加又は置換されてもよい。特許請求の範囲に記載の文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【符号の説明】
【0105】
1…評価装置、11…プロセッサ、13…メモリ、15…ストレージ、17…表示部、19…操作部、21…データ入出力部、100…評価プログラム、200…三次元点群地図データ。
【要約】
【課題】車両位置の推定精度を検証可能な新規技術を提供する。
【解決手段】車両の走行位置を特定可能な走行データが取得される(S110)。複数の時点のそれぞれにおいて、レーザレーダにより計測される車両の周囲の三次元形状に関する計測データが取得される(S120,S190)。複数の時点のそれぞれに関して、対応する時点の計測データが示す三次元形状と適合する三次元地図データ内の領域を探索することにより、対応する時点における車両の位置を推定する位置推定タスクが複数生成される(S130)。位置推定タスクのそれぞれに対し、探索開始点として異なる地点が設定される(S140,S200)。位置推定タスクのそれぞれで推定された各時点の位置と、位置に対応する時点の走行位置との差に基づき、位置の推定精度に関する評価値が算出される(S150-S170)。
【選択図】
図2