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

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

▶ パナソニックIPマネジメント株式会社の特許一覧

特許7320755車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム
<>
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図1
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図2
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図3
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図4
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図5
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図6
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図7
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図8
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図9
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図10
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図11
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図12
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図13
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図14
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図15
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図16
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図17
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図18
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図19
  • 特許-車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-27
(45)【発行日】2023-08-04
(54)【発明の名称】車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラム
(51)【国際特許分類】
   G01M 17/007 20060101AFI20230728BHJP
【FI】
G01M17/007 Z
G01M17/007 B
【請求項の数】 10
(21)【出願番号】P 2020007220
(22)【出願日】2020-01-21
(65)【公開番号】P2021113768
(43)【公開日】2021-08-05
【審査請求日】2022-09-15
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100123102
【弁理士】
【氏名又は名称】宗田 悟志
(72)【発明者】
【氏名】荒川 博
(72)【発明者】
【氏名】曹 芸芸
(72)【発明者】
【氏名】西村 洋文
【審査官】岩永 寛道
(56)【参考文献】
【文献】特開2012-220378(JP,A)
【文献】特開2011-070311(JP,A)
【文献】特開2016-099144(JP,A)
【文献】国際公開第2017/038749(WO,A1)
【文献】特開2009-146086(JP,A)
【文献】米国特許出願公開第2011/0295455(US,A1)
【文献】特開2017-194302(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01M 17/00- 17/10
G05B 23/00- 23/02
G06F 30/00- 30/398
(57)【特許請求の範囲】
【請求項1】
実際の車両走行時に前記車両に入力された前記車両の挙動を指示する情報を説明変数とし、前記情報が指示する前記車両の挙動と、前記車両の実際の挙動との差を目的変数とするモデルを記憶する記憶部と、
シミュレーションのシナリオをもとに導出された前記車両の挙動に関する理想値を前記モデルに入力することにより、前記シミュレーションのシナリオが示す状況における前記車両の実際の挙動に関する推定値を導出する導出部と、
前記シミュレーションにおける前記車両の挙動を示す画像として、前記理想値と前記推定値とを異なる態様で示す画像を生成する生成部と、
を備える車両シミュレーションシステム。
【請求項2】
前記画像は、前記理想値と前記推定値との差を示す要素を含む、
請求項1に記載の車両シミュレーションシステム。
【請求項3】
前記画像は、所定の操作に応じて、前記理想値と前記推定値との差の内訳を表示するよう構成される、
請求項1または2に記載の車両シミュレーションシステム。
【請求項4】
前記モデルは、複数の説明変数それぞれの重みを定めたものであり、
前記理想値と前記推定値との差の内訳は、前記複数の説明変数それぞれの重みを示すものである、
請求項3に記載の車両シミュレーションシステム。
【請求項5】
前記画像は、前記シミュレーションの複数のフレームに亘って蓄積された、前記理想値と前記推定値との差を示すものである、
請求項1から4のいずれかに記載の車両シミュレーションシステム。
【請求項6】
実際の車両走行時に前記車両に入力された前記車両の挙動を指示する情報を説明変数とし、前記情報が指示する前記車両の挙動と、前記車両の実際の挙動との差を目的変数とするモデルを記憶する記憶部と、
シミュレーションのシナリオをもとに導出された前記車両の挙動に関する理想値に対応する値であって、前記理想値が示す挙動を前記車両に実行させるために前記車両内のネットワークを介して伝送される値である準理想値を導出する第1導出部と、
前記車両の挙動に関する理想値を前記モデルに入力することにより、前記シミュレーションのシナリオが示す状況における前記車両の実際の挙動に関する推定値を導出する第2導出部と、
前記シミュレーションにおける前記車両の挙動を示す画像として、前記準理想値と前記推定値とを異なる態様で示す画像を生成する生成部と、
を備える車両シミュレーションシステム。
【請求項7】
記憶部に記憶されたモデルであって、実際の車両走行時に前記車両に入力された前記車両の挙動を指示する情報を説明変数とし、前記情報が指示する前記車両の挙動と、前記車両の実際の挙動との差を目的変数とするモデルに、シミュレーションのシナリオをもとに導出された前記車両の挙動に関する理想値を入力することにより、前記シミュレーションのシナリオが示す状況における前記車両の実際の挙動に関する推定値を導出し、
前記シミュレーションにおける前記車両の挙動を示す画像として、前記理想値と前記推定値とを異なる態様で示す画像を生成する、
ことをコンピュータが実行する車両シミュレーション方法。
【請求項8】
シミュレーションのシナリオをもとに導出された車両の挙動に関する理想値に対応する値であって、前記理想値が示す挙動を前記車両に実行させるために前記車両内のネットワークを介して伝送される値である準理想値を導出し、
記憶部に記憶されたモデルであって、実際の車両走行時に前記車両に入力された前記車両の挙動を指示する情報を説明変数とし、前記情報が指示する前記車両の挙動と、前記車両の実際の挙動との差を目的変数とするモデルに、前記車両の挙動に関する理想値を入力することにより、前記シミュレーションのシナリオが示す状況における前記車両の実際の挙動に関する推定値を導出し、
前記シミュレーションにおける前記車両の挙動を示す画像として、前記準理想値と前記推定値とを異なる態様で示す画像を生成する、
ことをコンピュータが実行する車両シミュレーション方法。
【請求項9】
記憶部に記憶されたモデルであって、実際の車両走行時に前記車両に入力された前記車両の挙動を指示する情報を説明変数とし、前記情報が指示する前記車両の挙動と、前記車両の実際の挙動との差を目的変数とするモデルに、シミュレーションのシナリオをもとに導出された前記車両の挙動に関する理想値を入力することにより、前記シミュレーションのシナリオが示す状況における前記車両の実際の挙動に関する推定値を導出し、
前記シミュレーションにおける前記車両の挙動を示す画像として、前記理想値と前記推定値とを異なる態様で示す画像を生成する、
ことをコンピュータに実行させるためのコンピュータプログラム。
【請求項10】
シミュレーションのシナリオをもとに導出された車両の挙動に関する理想値に対応する値であって、前記理想値が示す挙動を前記車両に実行させるために前記車両内のネットワークを介して伝送される値である準理想値を導出し、
記憶部に記憶されたモデルであって、実際の車両走行時に前記車両に入力された前記車両の挙動を指示する情報を説明変数とし、前記情報が指示する前記車両の挙動と、前記車両の実際の挙動との差を目的変数とするモデルに、前記車両の挙動に関する理想値を入力することにより、前記シミュレーションのシナリオが示す状況における前記車両の実際の挙動に関する推定値を導出し、
前記シミュレーションにおける前記車両の挙動を示す画像として、前記準理想値と前記推定値とを異なる態様で示す画像を生成する、
ことをコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はデータ処理技術に関し、特に車両シミュレーションシステム、車両シミュレーション方法およびコンピュータプログラムに関する。
【背景技術】
【0002】
車載機器の開発フェーズや評価フェーズでは、開発や評価に要するコストを削減するため、現実の車両を用いる代わりに、現実の車両の挙動を模擬する車両シミュレーションシステムが用いられることがある。
【先行技術文献】
【特許文献】
【0003】
【文献】特表2018-514042号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
これまでの車両シミュレーションシステムでは、シミュレーション結果において、車両モデルが生成した車両位置(理想位置とも言える)のみを描いていた。そのため、シミュレーション結果が、現実のシステムの評価に十分に貢献しないことがあった。
【0005】
本開示はこうした状況に鑑みてなされたものであり、1つの目的は、車両シミュレーションシステムにおけるシミュレーション結果の有用性を高めることにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本開示のある態様の車両シミュレーションシステムは、実際の車両走行時に車両に入力された車両の挙動を指示する情報を説明変数とし、情報が指示する車両の挙動と、車両の実際の挙動との差を目的変数とするモデルを記憶する記憶部と、シミュレーションのシナリオをもとに導出された車両の挙動に関する理想値をモデルに入力することにより、シミュレーションのシナリオが示す状況における車両の実際の挙動に関する推定値を導出する導出部と、シミュレーションにおける車両の挙動を示す画像として、理想値と推定値とを異なる態様で示す画像を生成する生成部と、を備える。
【0007】
本開示の別の態様もまた、車両シミュレーションシステムである。この車両シミュレーションシステムは、実際の車両走行時に車両に入力された車両の挙動を指示する情報を説明変数とし、情報が指示する車両の挙動と、車両の実際の挙動との差を目的変数とするモデルを記憶する記憶部と、シミュレーションのシナリオをもとに導出された車両の挙動に関する理想値に対応する値であって、理想値が示す挙動を車両に実行させるために車両内のネットワークを介して伝送される値である準理想値を導出する第1導出部と、車両の挙動に関する理想値をモデルに入力することにより、シミュレーションのシナリオが示す状況における車両の実際の挙動に関する推定値を導出する第2導出部と、シミュレーションにおける車両の挙動を示す画像として、準理想値と推定値とを異なる態様で示す画像を生成する生成部と、を備える。
【0008】
本開示のさらに別の態様は、車両シミュレーション方法である。この方法は、記憶部に記憶されたモデルであって、実際の車両走行時に車両に入力された車両の挙動を指示する情報を説明変数とし、情報が指示する車両の挙動と、車両の実際の挙動との差を目的変数とするモデルに、シミュレーションのシナリオをもとに導出された車両の挙動に関する理想値を入力することにより、シミュレーションのシナリオが示す状況における車両の実際の挙動に関する推定値を導出し、シミュレーションにおける車両の挙動を示す画像として、理想値と推定値とを異なる態様で示す画像を生成する、ことをコンピュータが実行する。
【0009】
本開示のさらに別の態様もまた、車両シミュレーション方法である。この方法は、シミュレーションのシナリオをもとに導出された車両の挙動に関する理想値に対応する値であって、理想値が示す挙動を車両に実行させるために車両内のネットワークを介して伝送される値である準理想値を導出し、記憶部に記憶されたモデルであって、実際の車両走行時に車両に入力された車両の挙動を指示する情報を説明変数とし、情報が指示する車両の挙動と、車両の実際の挙動との差を目的変数とするモデルに、車両の挙動に関する理想値を入力することにより、シミュレーションのシナリオが示す状況における車両の実際の挙動に関する推定値を導出し、シミュレーションにおける車両の挙動を示す画像として、準理想値と推定値とを異なる態様で示す画像を生成する、ことをコンピュータが実行する。
【0010】
なお、以上の構成要素の任意の組合せ、本開示の表現を、装置、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、車両支援システムを搭載した車両などの間で変換したものもまた、本開示の態様として有効である。
【発明の効果】
【0011】
本開示によれば、車両シミュレーションシステムにおけるシミュレーション結果の有用性を高めることができる。
【図面の簡単な説明】
【0012】
図1】従来の車両シミュレーションシステムの機能ブロックを示すブロック図である。
図2】第1実施例におけるセンサモデル構築のためのサンプルデータの例を示す図である。
図3】第1実施例のセンサモデル生成装置の機能ブロックを示すブロック図である。
図4】第1実施例の車両シミュレーションシステムの機能ブロックを示すブロック図である。
図5】第1実施例のセンサモデル部の詳細を示すブロック図である。
図6】曲線フィッティングの例を示す図である。
図7】変形例における車両周辺の状態を示す図である。
図8】第2実施例におけるセンサモデル構築のためのサンプルデータの例を示す図である。
図9】第2実施例のセンサモデル生成装置の機能ブロックを示すブロック図である。
図10】第2実施例のセンサモデル部の詳細を示すブロック図である。
図11】第3実施例のセンサモデル生成装置の機能ブロックを示すブロック図である。
図12】第3実施例のセンサモデル部の詳細を示すブロック図である。
図13】第4実施例のセンサモデル生成装置の機能ブロックを示すブロック図である。
図14】第4実施例の車両シミュレーションシステムの機能ブロックを示すブロック図である。
図15】第4実施例のシミュレーション制御部の機能ブロックを示すブロック図である。
図16】第4実施例のセンサモデル部の詳細を示すブロック図である。
図17】シミュレーション結果画像の例を示す図である。
図18】シミュレーション結果画像の例を示す図である。
図19】シミュレーション結果画像の例を示す図である。
図20】シミュレーション結果画像の例を示す図である。
【発明を実施するための形態】
【0013】
概要を説明する。第1実施例~第3実施例では、車両シミュレーションを支援する技術として、センサモデル生成装置と、センサモデル生成装置により生成されたモデルを利用する車両シミュレーションシステムを提案する。
【0014】
第1実施例~第3実施例のセンサモデル生成装置は、第1導出部と、第2導出部と、生成部とを備える。第1導出部は、車両に搭載されたセンサの出力結果をもとに、車両の自動走行に関する属性の状態を導出する。第2導出部は、第1導出部より高い精度で、車両に関する属性の状態を導出する。生成部は、車両のシミュレーションのためのモデルであって、第1導出部または第2導出部により導出された状態を説明変数とし、第2導出部により導出された状態と、第1導出部により導出された状態との差を目的変数とするモデルを生成する。
【0015】
また、第1実施例~第3実施例の車両シミュレーションシステムは、記憶部と、推定部と、シミュレーション部とを備える。記憶部は、車両に搭載されたセンサの出力結果をもとに、車両の自動走行に関する属性の状態を導出する導出部について、導出部により導出される上記属性の状態、または、上記属性の状態の真値に関して推定するためのモデルであって、導出部により導出された上記属性の状態、または、上記属性の状態の真値を説明変数とし、上記属性の状態の真値と、導出部により導出された上記属性の状態との差を目的変数とするモデルを記憶する。推定部は、シミュレーションのパラメータとして、導出部により導出される上記属性の状態と上記属性の状態の真値の一方をモデルに入力することにより、導出部により導出される上記属性の状態と上記属性の状態の真値の他方を推定する。シミュレーション部は、推定部による推定結果をもとに車両に関するシミュレーションを実行する。
【0016】
<第1実施例>
図1は、従来の車両シミュレーションシステム100の機能ブロックを示すブロック図である。本開示のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【0017】
車両シミュレーションシステム100は、シミュレーション制御部10、ユーザインタフェース12、環境データ生成部14、画像解析部16、車両モデル部18を備える。シミュレーション制御部10は、車両の挙動のシミュレーションを制御する。また、シミュレーション制御部10は、ユーザインタフェース12、環境データ生成部14、画像解析部16、車両モデル部18とデータを送受信する。
【0018】
ユーザインタフェース12は、ユーザ(またはユーザの端末)とのインタフェースを提供する。環境データ生成部14は、ユーザにより指定されたパラメータ(例えば歩行者までの距離や方位等)に応じて、後述の画像解析部16に解析させるための画像データ(CG)を生成する。例えば、環境データ生成部14は、自車の6メートル先に歩行者がいることを示すCGを生成する。
【0019】
画像解析部16は、画像データを解析することにより、車両の自動走行を制御するための車両周辺の状態(障害物の位置等)を検知する。例えば、画像解析部16は、自車の進行方向6メートル先に歩行者がいることを示すCGを解析して、自車と歩行者との距離が6.2メートルであることを検知する。この場合、0.2メートルの誤差が生じている。なお、画像解析部16による解析対象は、実際の車両では車載カメラによる撮像画像となるが、車両シミュレーションシステム100では環境データ生成部14により生成されたCGとなる。
【0020】
車両モデル部18は、画像解析部16による解析結果をもとに、車両の挙動を決定し、すなわち、車両の自動走行をシミュレーションする。例えば、画像解析部16により自車の進行方向の6.2メートル先に歩行者がいることが検知された場合、車両モデル部18は、ブレーキを作動させること、その結果、歩行者の1メートル手前で停車することを出力してもよい。シミュレーション制御部10は、車両モデル部18によるシミュレーション結果を、所定の表示装置に表示させ、または、所定の記憶装置に格納する。
【0021】
このように従来の車両シミュレーションシステム100では、車両周辺の状態を示す画像を作成し、その画像から車両周辺の状態を検知し、自動運転の内容をシミュレーションしていた。シミュレーションの網羅性を高めるためには、車両周辺の明るさ(天気等)や路面状況、障害物までの距離、車両速度等、様々なケースに対応する多くの画像を作成する必要があるが、多くの画像を作成するためには多くの時間や費用を要する。
【0022】
また、車両周辺の状態を示す画像は、理論モデル(例えば車両速度や明るさ等の複数のパラメータに基づく机上の計算式)をもとに作成することも考えられるが、理論モデルにより作成された画像は、現実の環境と乖離することもある。その結果、車両シミュレーションの結果が、現実の車両の挙動と乖離する可能性がある。
【0023】
そこで第1実施例では、車両周辺の現実の状態を示す環境データ(言い換えれば現実環境のデータ)と、画像解析結果とに基づいて、数量化分析を用いた統計処理により数理モデル(以下「センサモデル」とも呼ぶ。)を生成する。そして、センサモデルを使用して、車両の挙動をシミュレーションする。これにより、車両周辺の状態を検知するシミュレーションに、各ケースの画像を作成することが不要になり、シミュレーションのコストを低減でき、また、現実に即した車両挙動をシミュレーションすることができる。
【0024】
まず、第1実施例のセンサモデルを説明する。第1実施例のセンサモデルは、車両のシミュレーションシステムにおいて、画像に基づく検知結果(すなわち画像解析部16および後述の画像解析部28による検知結果)に関して推定するためのモデルである。図2は、第1実施例におけるセンサモデル構築のためのサンプルデータの例を示す。同図は、歩行者の識別に関するセンサモデルを構築するためのサンプルデータを示している。各サンプルは、歩行者の識別精度に影響を与える2つの要因として、車両から歩行者までの距離と天気とを含む。
【0025】
要因「距離」は、車両から歩行者までの複数段階の距離(真値)に対応する10個のカテゴリを含む。例えば、あるカテゴリは、0.1メートルから2メートルの範囲となり、また、別のカテゴリは、2メートルから4メートルの範囲となる。要因「天気」は、晴れ、曇り、雨の3個のカテゴリを含む。各サンプルは、該当するカテゴリの値を「1」とし、非該当のカテゴリの値を「0」とする。これにより、定量的なデータだけでなく、定性的なデータ(言い換えれば質に関するデータ)も数量として扱うことができる。なお、要因は説明変数とも呼ばれる。また、要因の各カテゴリはダミー変数とも呼ばれる。
【0026】
また、各サンプルは、画像解析の精度を示すデータとして、車両から歩行者までの距離の真値と、画像解析により検知された車両から歩行者までの距離との差(「検知距離誤差」とも呼ぶ。)を含む。実施例のセンサモデルは、車両から検知対象物(歩行者等)までの複数段階の距離に対応する複数個のダミー変数を含む。具体的には、距離の10カテゴリと天気の3カテゴリの合計13項目をダミー変数とし、検出距離誤差を目的変数として重回帰分析を行うことにより、各要因の各カテゴリが検出距離誤差に与える影響の大きさを示すセンサモデルを生成する。
【0027】
要因の数をm、各要因のカテゴリ数をn、・・・n、サンプル数をNとして一般化すると、センサモデルは式1で表すことができる。
【数1】
式1のεは残差であり、aijはi番目の要因のj番目のカテゴリを表すダミー変数にかかる係数である(以下「カテゴリ係数」とも呼ぶ。)。実施例のセンサモデル生成装置は、重回帰分析によって、残差の平方和が最小になるように各ダミー変数にかかるカテゴリ係数を導出する。
【0028】
図3は、第1実施例のセンサモデル生成装置20の機能ブロックを示すブロック図である。第1実施例のセンサモデル生成装置20は、センサデータ記憶部22、参照データ記憶部24、タグデータ記憶部26、画像解析部28、真値導出部30、誤差導出部32、真値量子化部34、タグ量子化部36、モデル生成部38を備える。
【0029】
図3に示す複数の機能ブロックの機能を実装した複数のモジュールを含むコンピュータプログラムが、センサモデル生成装置20のストレージに記憶されてもよい。センサモデル生成装置20のCPUは、このコンピュータプログラムをメインメモリに読み出して実行することにより、図3に示す各機能ブロックの機能を発揮してもよい。また、図3に示す複数の機能は、複数個の装置に分散されてもよく、それら複数個の装置がシステムとして連携することで実現されてもよい。他の実施例においても同様である。
【0030】
センサデータ記憶部22、参照データ記憶部24には、現実の車両を用いた試験等において収集されたデータを記憶する。センサデータ記憶部22は、検知の対象物について各種車載センサによる検知結果を記憶する。実施例では、センサデータ記憶部22は、車載カメラにより撮像された複数の画像データを記憶し、例えば、3メートル先に歩行者がいる状態を映した画像データ、6メートル先に歩行者がいる状態を映した画像データ、・・・等を記憶する。
【0031】
参照データ記憶部24は、検知の対象物に関する真値を記憶する。実施例では、参照データ記憶部24は、LIDAR(Light Detection and Ranging)による検知結果であり、車両と対象物との距離の真値を示すデータを記憶する。タグデータ記憶部26は、タグデータとして、ユーザ(開発者や試験者等)により設定されたデータを記憶する。例えば、タグデータ記憶部26は、車両を用いた試験等がなされた日の天気を示すタグデータを記憶する。タグデータは、路面の種類(例えばアスファルトまたは土)や温度、季節等、様々なデータを含んでもよい。
【0032】
なお、センサモデル生成装置20、センサデータ記憶部22、参照データ記憶部24に格納されるデータであって、同じ試験で収集または入力されたデータは、互いに対応付けられ1組のサンプルデータとなる。センサモデル生成装置20、センサデータ記憶部22、参照データ記憶部24には、複数の組のサンプルデータ(例えば図2で示したように1万組のサンプルデータ)が格納される。
【0033】
画像解析部28は、図1の画像解析部16に対応し、また、上記概要に記載の第1導出部に対応する。すなわち、画像解析部28は、センサデータ記憶部22に記憶された画像データをもとに、車両の自動走行を制御するための車両周辺の状態を検知する。具体的には、画像解析部28は、センサデータ記憶部22に記憶された複数のサンプルの画像データをもとに、複数のサンプルにおける車両と歩行者との距離を検知する。画像をもとに車両と歩行者との距離を導出する方法は公知技術を採用してよい。
【0034】
真値導出部30は、上記概要に記載の第2導出部に対応する。真値導出部30は、参照データ記憶部24に記憶されたLIDAR検知結果をもとに、車両周辺の状態を検知する。具体的には、真値導出部30は、参照データ記憶部24に記憶された複数のサンプルのLIDAR検知結果をもとに、複数のサンプルにおける車両と歩行者との距離を検知する。ここで、画像を用いた距離検知よりLIDARを用いた距離検知の方が精度が高く、実質的に、LIDARによる距離検知の結果は、車両と歩行者との距離の真値を示す。すなわち、真値導出部30は、車両と歩行者との距離の真値を検知するとも言える。
【0035】
誤差導出部32は、サンプルごとに、真値導出部30による検知結果(実施例では車両と歩行者との距離の真値)と、画像解析部28による検知結果(実施例では車両と歩行者との検知距離)との差である検知距離誤差を算出する。
【0036】
真値量子化部34は、サンプルごとに、真値導出部30による検知結果(実施例では車両と歩行者との距離の真値)を、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、真値量子化部34は、図2で示したように、真値導出部30により検知された車両と歩行者との距離の真値を、10個のカテゴリのうち該当するカテゴリに分類してもよい。
【0037】
タグ量子化部36は、サンプルごとに、タグデータ記憶部26に記憶されたタグデータを、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、タグ量子化部36は、図2で示したように、天気を示すタグデータを、3個のカテゴリのうち該当するカテゴリに分類してもよい。
【0038】
モデル生成部38は、上記概要に記載の生成部に対応する。モデル生成部38は、誤差導出部32により算出された誤差と、真値量子化部34により選択されたカテゴリと、タグ量子化部36により選択されたカテゴリとの組み合わせをサンプルごとに作成する。モデル生成部38は、誤差導出部32により算出された誤差を目的変数とし、真値量子化部34により選択されたカテゴリと、タグ量子化部36により選択されたカテゴリとをダミー変数として統計処理(実施例では重回帰分析)を実行することにより、複数のカテゴリにかかる複数のカテゴリ係数を導出する。モデル生成部38は、カテゴリ係数を設定した回帰式(上記の式1)をセンサモデルとして生成し、センサモデルのデータをモデル記憶部40に格納する。
【0039】
次に、センサモデル生成装置20により生成されたセンサモデルを使用する車両シミュレーションシステムを説明する。図4は、第1実施例の車両シミュレーションシステム110の機能ブロックを示すブロック図である。実施例の車両シミュレーションシステム110は、シミュレーション制御部10、ユーザインタフェース12、環境データ生成部14、車両モデル部18、センサモデル部50を備える。
【0040】
図4に示す複数の機能ブロックの機能を実装した複数のモジュールを含むコンピュータプログラムが、車両シミュレーションシステム110のストレージに記憶されてもよい。車両シミュレーションシステム110のCPU(またはシステム内の装置のCPU)は、このコンピュータプログラムをメインメモリに読み出して実行することにより、図4に示す各機能ブロックの機能を発揮してもよい。また、図4に示す複数の機能は、複数個の装置に分散されてもよく、それら複数個の装置がシステムとして連携することで実現されてもよい。さらにまた、図4に示す複数の機能は、単一の装置に集約されてもよい。他の実施例においても同様である。
【0041】
第1実施例の車両シミュレーションシステム110の機能ブロックのうち、図1に示した従来の車両シミュレーションシステム100の機能ブロックと同一または対応する機能ブロックには同一の符号を付している。以下、図1に関連して説明済みの内容は再度の説明を適宜省略する。
【0042】
環境データ生成部14は、ユーザインタフェース12で受け付けられたパラメータ、または、ファイル等の外部ソースから入力されたパラメータに応じて、シミュレーションの前提となる環境データを生成する。環境データは、センサモデルの説明変数の値を含む。第1実施例の環境データは、真値データとして車両から歩行者までの距離を含み、タグデータとして天気を示す値を含む。
【0043】
センサモデル部50は、上記概要に記載の推定部に対応し、従来の車両シミュレーションシステム100における画像解析部16の代替となる機能を提供する。センサモデル部50は、車両シミュレーションのパラメータとしての車両周辺の状態の真値(実施例では車両から歩行者までの距離)をセンサモデルに入力することにより、画像解析部16が上記状態を示す画像を解析した場合の検知結果を推定する推定部として機能する。
【0044】
車両モデル部18は、上記概要に記載のシミュレーション部に対応する。車両モデル部18は、センサモデル部50による推定結果をもとに車両の挙動を決定し、すなわち、車両の自動走行をシミュレーションする。例えば、センサモデル部50により自車の進行方向の6.2メートル先に歩行者がいるという結果が得られた場合、車両モデル部18は、ブレーキを作動させること、その結果、歩行者の1メートル手前で停車することを出力してもよい。シミュレーション制御部10は、車両モデル部18によるシミュレーション結果を表示装置に表示させてもよく、または、記憶装置に格納してもよい。
【0045】
図5は、第1実施例のセンサモデル部50の詳細を示すブロック図である。第1実施例のセンサモデル部50は、タグ量子化部52、真値量子化部54、誤差導出部56、模擬値導出部58、モデル記憶部40を含む。モデル記憶部40は、上記概要に記載の記憶部に対応する。モデル記憶部40は、センサモデル生成装置20により生成されたセンサモデルを記憶する。
【0046】
タグ量子化部52は、環境データ生成部14により生成されたタグデータを、シミュレーション制御部10を介して受け付け、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、タグ量子化部52は、図2で示したように、天気を示すタグデータを、3個のカテゴリのうち該当するカテゴリに分類してもよい。
【0047】
真値量子化部54は、環境データ生成部14により生成された真値データを、シミュレーション制御部10を介して受け付け、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、真値量子化部54は、図2で示したように、車両から歩行者への距離の真値を、10個のカテゴリのうち該当するカテゴリに分類してもよい。
【0048】
誤差導出部56は、環境データ生成部14により生成された真値データおよびタグデータと、モデル記憶部40に記憶されたセンサモデル(例えば上記の式1)とにしたがって、検知距離誤差を導出する。実施例では、誤差導出部56は、センサモデルのダミー変数のうち、タグ量子化部52および真値量子化部54により選択されたカテゴリに対応するダミー変数の値を1(非選択のカテゴリに対応するダミー変数値は0)に設定することにより、センサモデルの目的変数である検知距離誤差を算出する。
【0049】
模擬値導出部58は、誤差導出部56により導出された検知距離誤差を、環境データ生成部14により生成された真値データに足すことにより、画像解析部16(画像解析部28)による検知結果をシミュレーションする。例えば、模擬値導出部58は、現実の車両の6メートル先に歩行者がいる場合に画像解析部16が検知するであろう歩行者までの距離(誤差を含む値であり、例えば6.2メートル)を導出する。模擬値導出部58により導出された値(例えば歩行者までの距離)は、シミュレーション制御部10を介して車両モデル部18へ入力され、車両の挙動がシミュレーションされる。
【0050】
以上の構成による動作を説明する。
まず、図3を参照しつつ、第1実施例のセンサモデル生成装置20に関する動作を説明する。車両シミュレーションシステムを顧客やパートナー企業に提供すべき車載機器の開発者は、実際に車両を走行させて、車載カメラで車外の歩行者を撮像し、複数サンプルの撮像画像をセンサデータ記憶部22に記憶させる。それとともに開発者は、LIDAR装置で上記歩行者までの距離を計測させ、複数サンプルの距離の真値を示す計測結果を参照データ記憶部24に記憶させる。さらにまた、開発者は、天気等の定性的な内容を示す複数サンプルのタグデータをタグデータ記憶部26に記憶させる。
【0051】
画像解析部28は、サンプルごとに、センサデータ記憶部22に格納された画像から歩行者までの距離を検知する。真値導出部30は、サンプルごとに、参照データ記憶部24に格納された計測結果から歩行者までの距離の真値を検知する。誤差導出部32は、サンプルごとに、画像に基づく検知距離と真値との差である検知距離誤差を導出する。真値量子化部34は、歩行者までの距離の真値のカテゴリを特定し、タグ量子化部36は、タグデータのカテゴリを特定する。
【0052】
モデル生成部38は、歩行者までの距離の真値のカテゴリと、タグデータのカテゴリとをダミー変数とし、検知距離誤差を目的変数として、複数のサンプルによる重回帰分析を実行することで、センサモデルを生成する。モデル生成部38は、生成したセンサモデルをモデル記憶部40に格納する。
【0053】
第1実施例のセンサモデル生成装置20によると、車両の挙動をシミュレーションする際に画像解析による検知結果が必要な場合、シミュレーションすべき各ケースの画像を用意すること、また、各ケースの画像を解析することが不要になり、シミュレーションに要する時間および費用を低減できる。また、車両周辺の実際の状態を示すデータを用いてセンサモデルを生成することで、現実に即した結果を出力するセンサモデルを生成できる。
【0054】
次に、図4および図5を参照しつつ、第1実施例の車両シミュレーションシステム110に関する動作を説明する。ここでは、車両の近傍に歩行者が存在する場合の車両の挙動をシミュレーションすることとする。ユーザは、車両から歩行者までの距離と、天気とをシミュレーションのパラメータとして車両シミュレーションシステム110のユーザインタフェース12へ入力する。環境データ生成部14は、ユーザインタフェース12で受け付けられた車両から歩行者までの距離を示す真値データを生成し、また、ユーザインタフェース12で受け付けられた天気を示すタグデータを生成する。
【0055】
タグ量子化部52は、タグデータ(例えば図2の天気)のカテゴリを特定し、真値量子化部54は、真値データ(例えば図2の距離)のカテゴリを特定する。誤差導出部56は、モデル記憶部40に記憶されたセンサモデルの説明変数のカテゴリを示すダミー変数のうち、タグ量子化部52および真値量子化部54により特定されたカテゴリ(ダミー変数)の値を「1」とすることにより、目的変数である検知距離誤差を得る。模擬値導出部58は、車両から歩行者までの距離(真値)に検知距離誤差を足すことにより、画像解析部28により検知される車両から歩行者までの距離(誤差を含む)を推定する。
【0056】
車両モデル部18は、模擬値導出部58により導出された車両から歩行者までの距離(誤差を含む)に基づいて、車両の挙動を決定する。シミュレーション制御部10は、車両モデル部18による決定内容をシミュレーション結果として、所定の出力装置に出力し、または、所定の記憶装置に記憶させる。
【0057】
第1実施例の車両シミュレーションシステム110によると、車両の挙動をシミュレーションする際に画像解析による検知結果が必要な場合、シミュレーションすべき各ケースの画像を用意し、各ケースの画像を解析することが不要になり、シミュレーションに要する時間および費用を低減できる。また、シミュレーションの網羅性を高めやすくなる。さらにまた、車両周辺の実際の状態を用いて生成したセンサモデルを用いることで、現実に即した車両挙動等をシミュレーションすることができる。
【0058】
以上、本開示を第1実施例をもとに説明した。第1実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。以下変形例を示す。
【0059】
第1変形例を説明する。車両シミュレーションシステム110のセンサモデル部50は、複数個のダミー変数に係る複数個の係数から、曲線フィッティングにより対象物(例えば歩行者)までの距離の真値に応じた係数をセンサモデルに適用する。
【0060】
図6は、曲線フィッティングの例を示す。ここでは、センサモデルが、少なくとも58個のカテゴリ(説明変数)を含むこととする。例えば、車両と歩行者との距離を10センチ刻みでカテゴリとしてもよい。カテゴリ係数グラフ60は、センサモデルにおける58個のカテゴリ(説明変数)それぞれの係数(カテゴリ係数)を示す折れ線グラフである。センサモデル部50の誤差導出部56は、複数個のカテゴリ係数に対して曲線フィッティングを行うことにより近似曲線62(二次多項式近似曲線とも言える)を導出する。
【0061】
誤差導出部56は、車両から歩行者までの距離の真値に対応するカテゴリ係数を近似曲線62から取得する。例えば、距離が10センチ刻みの場合、距離の真値が3.2メートルであれば、誤差導出部56は、カテゴリ番号「32」における近似曲線62の値(例えば「0」)をカテゴリ係数として取得してもよい。誤差導出部56は、近似曲線62から取得したカテゴリ係数をダミー変数(図2の例ではダミー変数の値は「1」)の重みとして適用し、目的変数の値(例えば検知距離誤差)を導出してもよい。また、距離真値を連続量として横軸の座標に変換し、近似曲線式に代入し算出した値を上記距離真値に対応する係数として適用してもよい。これらの変形例によると、曲線フィッティングにより、入力された説明変数に対する適切な重み付けを実現できる。
【0062】
第2変形例を説明する。車両シミュレーションシステム110のユーザインタフェース12は、乱数に関するデータの指定をユーザから受け付ける受付部として機能してもよい。センサモデル部50の模擬値導出部58は、ユーザから指定された乱数に関するデータをもとに、センサモデルを用いた推定値にホワイトノイズを足してもよい。
【0063】
例えば、ユーザは、乱数に関するデータとして、擬似乱数列を生成するためのシードをユーザインタフェース12へ入力してもよい。模擬値導出部58は、ユーザから入力されたシードをもとに擬似乱数列を生成して、その擬似乱数列をもとにホワイトノイズのデータを生成し、車両と歩行者との距離の推定値にホワイトノイズを足してもよい。実環境のデータにはホワイトノイズの成分が含まれるため、本変形例によると、ホワイトノイズを加味して、より現実に即した推定結果を求めることができる。
【0064】
第3変形例を説明する。上記実施例では、車両と歩行者との距離をセンサモデルにより推定したが、実施例に記載の技術は、車両周辺の状態に関する様々なものをモデルにより推定する場合に適用可能である。第3変形例では、駐車枠(駐車区画とも言える)の位置をセンサモデルにより推定する例を示す。
【0065】
図7は、変形例における車両周辺の状態を示す。本変形例では、駐車枠76をその4隅(FL、FR、BL、BR)のXY座標と、駐車枠76の方向(車両の進行方向に対する駐車枠76の角度であり、図7のθ)で表す。本変形例では、画像解析部により検知された駐車枠76の4隅それぞれの座標は、上記4隅(FL、FR、BL、BR)のカメラ72からの距離(例えば、前方右側のポイントFRの場合、RangeR)、カメラ72の光軸74との角度(例えば、前方右側のポイントFRの場合、βR)、および駐車枠76の方向(θ)の影響を受ける。本変形例のセンサモデル生成装置20は、カメラ72からの距離、カメラ72の光軸74との角度、および駐車枠76の方向のそれぞれをカテゴライズする。
【0066】
具体的には、センサモデル生成装置20の画像解析部28は、車両の周辺が映る画像データから、車両周辺の状態として、駐車枠の位置(座標等)を検知する。真値導出部30は、LIDAR装置の検知結果に基づき、駐車枠の位置(座標等)の真値を検知する。モデル生成部38は、真値導出部30により検知された駐車枠76の座標(FRの座標とする)と、画像解析部28により検知された駐車枠76の座標(FRの座標とする)との差を目的変数として識別する。
【0067】
また、モデル生成部38は、カメラ72からの距離、カメラ72の光軸74との角度、および駐車枠76の方向θの、カメラの光軸74との角度を説明変数として扱う。これらのデータは、実施例と同様に、実際の車両を用いた試験により収集され、複数のサンプルが作成される。モデル生成部38は、複数のサンプルに基づく重回帰分析を実行して、各カテゴリ(ダミー変数)の係数を求める。なお、実際には、駐車枠76の4隅の座標のそれぞれに対応するセンサモデルが生成されてもよい。
【0068】
車両シミュレーションシステム110のシミュレーション制御部10は、シミュレーションのパラメータとして、4隅(FL、FR、BL、BR)の座標と駐車枠方向をユーザ等から受け付け(座標系は車両座標系でもよく、センサ座標系でもよい)、それらのパラメータをセンサモデル部50へ入力する。センサモデル部50は、シミュレーションのパラメータをセンサモデルへ入力することにより、画像解析部28による検知結果を推定し、すなわち、駐車枠76の座標を推定する。具体的には、センサモデル部50は、まず、入力された上記4隅(FL、FR、BL、BR)の座標と駐車枠方向を、説明変数であるカメラ72からの距離、カメラ72の光軸74との角度、および駐車枠76の方向に変換する。次に、センサモデル部50は、得られた説明変数の値に基づきカテゴリを求め、それに対応する係数を適用する。車両モデル部18は、センサモデル部50により推定された駐車枠76の座標に基づいて、車両の自動走行(例えば駐車枠76への自動入庫)をシミュレーションする。
【0069】
<第2実施例>
車両に関するシミュレーションでは、車両の移動量(以下「オドメトリ」とも呼ぶ。)に基づくシミュレーションが行われることがある。オドメトリの理論モデルに基づく計算量は多くはない。しかし、環境要因のために、オドメトリのモデル化は容易でなく、また、モデルの出力値と真値との差(すなわち誤差)が大きくなりやすい。環境要因は、例えば、天候や路面材質、車両重量等に依存するタイヤと路面との滑り具合等が含まれる。
【0070】
そこで、第2実施例のセンサモデル生成装置は、車両または車両周辺の現実の状態を示す環境データと、車両の移動量に関するデータとに基づいて、数量化分析を用いた統計処理によりセンサモデルを生成する。そして、第2実施例の車両シミュレーションシステムは、そのセンサモデルを活用することにより精度の高いシミュレーションを実現する。第2実施例のセンサモデル生成装置および車両シミュレーションシステムの構成要素のうち、第1実施例で説明した部材と同一または対応するものには同じ符号を付す。また、第1実施例と重複する内容は再度の説明を適宜省略する。
【0071】
まず、第2実施例のセンサモデルを説明する。第2実施例のセンサモデルは、車両のシミュレーションシステムにおいて、車両の移動量に関する推定を行うためのモデルである。具体的には、第2実施例のセンサモデルは、後述の移動量導出部120により検知された移動量の成分を説明変数とし、かつ、後述の真値導出部30により検知された移動量の成分の真値と、移動量導出部120により検知された移動量の成分値との差を目的変数とするモデルである。移動量の成分は、横移動量、縦移動量、旋回角の3つを含む。
【0072】
図8は、第2実施例におけるセンサモデル構築のためのサンプルデータの例を示し、すなわち、車両の移動量に関するセンサモデルを構築するためのサンプルデータを示している。図8では、サンプルデータの要因(すなわちセンサモデルの説明変数)のうち一部を示している。第2実施例におけるセンサモデルの説明変数は、(1)横移動量、(2)縦移動量、(3)旋回角、(4)天気、(5)気温、(6)車両重量、(7)タイヤ種別、(8)路面種別を含む。
【0073】
横移動量は、予め定められた単位時間当りに車両が横方向(すなわち進行方向に対して垂直方向)へ移動した量であり、言い換えれば、横方向への移動速度である。縦移動量は、予め定められた単位時間当りに車両が縦方向(すなわち進行方向)へ移動した量であり、言い換えれば、縦方向への移動速度である。横移動量と縦移動量は、例えば、時速10キロメートル単位でカテゴリ分けされてよいが、低速度ではより小さい単位でカテゴリ分けされることが望ましい。例えば、時速15キロメートル未満は、時速5キロメートル単位でカテゴリ分けされてもよい。旋回角は、予め定められた単位時間当りに車両が旋回した角度であり、言い換えれば、角速度である。旋回角は、例えば、0.5度単位でカテゴリ分けされてもよい。
【0074】
天気は、車両走行時の天気であり、第1実施例と同様に、晴れ、曇り、雨を含む。気温は、車両走行時の気温であり、例えば、2℃単位でカテゴリ分けされてもよい。車両重量は、例えば、数10キログラム(例えば大人または子供1人の平均体重)単位でカテゴリ分けされてもよい。タイヤ種別は、車両に装着されたタイヤの種別であり、例えば、夏用タイヤまたは冬用タイヤでカテゴリ分けされてもよい。路面種別は、車両が走行する路面の種別であり、例えば、アスファルト、土、坂道等でカテゴリ分けされてもよい。既述したように、要因の各カテゴリはダミー変数とも呼ばれる。
【0075】
また、各サンプルは、移動量検知の精度を示すデータとして、車両の移動量の真値と、センサデータをもとに検知された車両の移動量との差(以下「移動量誤差」とも呼ぶ。)を含む。第2実施例では、車両の移動量の真値は、GPS(Global Positioning System)等のGNSS(Global Navigation Satellite System、全球測位衛星システム)を用いた測位処理により求められる。
【0076】
各要因の各カテゴリをダミー変数(説明変数)とし、移動量誤差を目的変数として重回帰分析を行うことにより、各要因の各カテゴリが移動量誤差に与える影響の大きさ(以下「カテゴリ係数」と呼ぶ。)を示すセンサモデルを生成できる。要因の数をm、各要因のカテゴリ数をn、・・・n、サンプル数をNとして一般化すると、第2実施例のセンサモデルも、第1実施例と同様に、上記の式1で表すことができる。既述したように、aijはi番目の要因のj番目のカテゴリを表すダミー変数(Xijk)にかかるカテゴリ係数である。
【0077】
図9は、第2実施例のセンサモデル生成装置20の機能ブロックを示すブロック図である。第2実施例のセンサモデル生成装置20は、センサデータ記憶部22、参照データ記憶部24、タグデータ記憶部26、移動量導出部120、真値導出部30、誤差導出部32、移動量量子化部121、タグ量子化部36、モデル生成部38を備える。
【0078】
センサデータ記憶部22は、速度センサや操舵角センサ等の各種車載センサからの出力結果を示すサンプルデータであり、言い換えれば、現実の車両の状態を検知した結果を示すサンプルデータを記憶する。実施例では、センサデータ記憶部22は、サンプルごとに、少なくとも車両の速度と操舵角(転舵角でもよい)を記憶する。
【0079】
参照データ記憶部24は、現実の車両の状態の真値を記憶する。実施例では、参照データ記憶部24は、サンプルごとに、GPS装置により特定された車両の現在位置を時系列に並べたデータ、言い換えれば、時系列での車両位置の推移を示すデータを記憶する。
【0080】
タグデータ記憶部26は、センサ以外の手段で取得された現実の車両の状態に関するデータであるタグデータを記憶する。タグデータ記憶部26は、ユーザ(開発者や試験者等)により設定されたタグデータを記憶する。タグデータは、例えば、車両を用いた試験等(すなわちサンプルデータの収集)がなされた際の天気、気温、車両重量、タイヤ種別、路面種別を含んでもよい。
【0081】
なお、センサモデル生成装置20、センサデータ記憶部22、参照データ記憶部24に格納されるデータであって、同じ試験で収集または入力されたデータは、互いに対応付けられ1組のサンプルデータとなる。センサモデル生成装置20、センサデータ記憶部22、参照データ記憶部24には、複数の組のサンプルデータ(例えば図8で示したように1万組のサンプルデータ)が格納される。
【0082】
移動量導出部120は、上記概要に記載の第1導出部に対応する。移動量導出部120は、センサデータ記憶部22に記憶されたセンサの出力結果を示すサンプルデータをもとに、サンプルごとに、車両の自動走行に関する属性の状態として、車両の移動量の成分を検知する。具体的には、移動量導出部120は、各サンプルが示す速度と操舵角とに基づいて、各サンプルの横移動量、縦移動量、旋回角(いずれも所定の単位時間当りの値)を導出する。この導出方法には、公知技術を採用してよい。
【0083】
真値導出部30は、上記概要に記載の第2導出部に対応する。真値導出部30は、参照データ記憶部24に記憶された各サンプルが示す車両の時系列での位置の推移に基づいて、サンプルごとに、車両の移動量の成分を検知する。具体的には、真値導出部30は、各サンプルの横移動量、縦移動量、旋回角(いずれも所定の単位時間当りの値)を導出する。この導出方法にも、公知技術を採用してよい。
【0084】
なお、真値導出部30は、実際の車両位置の変化に基づいて車両の移動量の成分を導出する。そのため、真値導出部30により導出される車両の移動量の成分値は、移動量導出部120により導出される車両の移動量の成分値より精度が高い。第2実施例では、真値導出部30により導出された車両の移動量の成分値を真値として取り扱う。なお、真値導出部30により導出される車両の移動量の成分値は、厳密には真値と異なってもよいが、真値と同一と見なせる範囲内(予め定められた閾値内)の値であることが望ましい。
【0085】
誤差導出部32は、サンプルごと、かつ、移動量の成分の種類ごとに、真値導出部30による検知結果と、移動量導出部120による検知結果との差を導出する。すなわち、誤差導出部32は、サンプルごとに、横移動量の誤差、縦移動量の誤差、および旋回角の誤差(以下総称する場合「移動量誤差」とも呼ぶ。)を導出する。例えば、図8は、目的変数を横移動量誤差とする例を示すが、誤差導出部32は、図8に示すようなサンプルデータを、目的変数を横移動量誤差とするもの、目的変数を縦移動量誤差とするもの、目的変数を旋回角誤差とするものの3パターン生成する。
【0086】
移動量量子化部121は、サンプルごとに、移動量導出部120による検知結果を、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、移動量量子化部121は、移動量導出部120により検知された横移動量、縦移動量、旋回角のそれぞれについて、予め定められた複数のカテゴリのいずれかに分類する。第2実施例では、図8で示したように、該当するカテゴリの値を「1」に設定する。
【0087】
タグ量子化部36は、サンプルごとに、タグデータ記憶部26に記憶されたタグデータを、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、タグ量子化部36は、図8で示したように、天気を示すタグデータを、3個のカテゴリのうち該当するカテゴリに分類し、該当するカテゴリの値を「1」に設定する。
【0088】
モデル生成部38は、上記概要に記載の生成部に対応する。モデル生成部38は、真値導出部30による検知結果を推定するためのセンサモデルであり、すなわち、車両の移動量の真値に関して推定するためのセンサモデルを生成する。モデル生成部38は、移動量導出部120により導出された車両の移動量の成分を説明変数とし、かつ、真値導出部30により導出された車両の移動量の成分値(すなわち真値)と、移動量導出部120により導出された車両の移動量の成分値との差を目的変数とするセンサモデルを生成する。
【0089】
具体的には、図8に例示したように、モデル生成部38は、誤差導出部32により導出された誤差と、移動量量子化部121により選択されたカテゴリと、タグ量子化部36により選択されたカテゴリとの組合せを、サンプルごと、かつ、移動量の成分ごとに作成する。モデル生成部38は、誤差導出部32により算出された誤差を目的変数とし、移動量量子化部121により選択されたカテゴリと、タグ量子化部36により選択されたカテゴリとをダミー変数(値は「1」)として統計処理(実施例では重回帰分析)を実行することにより、複数のカテゴリにかかる複数のカテゴリ係数を導出する。
【0090】
モデル生成部38は、移動量の成分のそれぞれについて、カテゴリ係数を設定した回帰式(上記の式1)をセンサモデルとして生成し、センサモデルのデータをモデル記憶部40に格納する。すなわち、モデル生成部38は、横移動量の誤差を目的変数とするセンサモデル、縦移動量の誤差を目的変数とするセンサモデル、および旋回角の誤差を目的変数とするセンサモデルを生成してモデル記憶部40に格納する。
【0091】
次に、センサモデル生成装置20により生成されたセンサモデルを使用する車両シミュレーションシステムを説明する。第2実施例の車両シミュレーションシステム110の基本的な機能ブロックは、図4に示す第1実施例の車両シミュレーションシステム110の機能ブロックと同様である。
【0092】
環境データ生成部14は、センサモデルの説明変数の値を含む環境データを生成する。第2実施例の環境データは、車両シミュレーションのパラメータとしての、車載センサからの出力結果に基づく車両の移動量の想定値(単位時間当りの横移動量、縦移動量、旋回角)を含む。この想定値は、移動量導出部120により検知される移動量の成分の想定値とも言える。また、第2実施例の環境データは、車両シミュレーションのパラメータとしてのタグデータ、例えば、天気、気温、車両重量等をさらに含む。
【0093】
センサモデル部50は、上記概要に記載の推定部に対応する。センサモデル部50は、
移動量導出部120により検知される車両の移動量成分をセンサモデルに入力することにより、車両の移動量成分の真値を推定する。
【0094】
車両モデル部18は、上記概要に記載のシミュレーション部に対応する。車両モデル部18は、センサモデル部50により推定された車両の移動量成分の真値をもとに車両シミュレーションを実行する。例えば、車両モデル部18は、車両の移動量成分の真値に基づいて、車両の次の挙動を決定してもよい。
【0095】
シミュレーション制御部10は、車両モデル部18によるシミュレーション結果を不図示の表示装置に表示させてもよく、または、不図示の記憶装置に格納してもよい。シミュレーションの担当者は、車両モデル部18により決定された上記次の挙動の内容を表示装置にて確認し、次の挙動が問題ないか否かを確認してもよい。
【0096】
図10は、第2実施例のセンサモデル部50の詳細を示すブロック図である。第2実施例のセンサモデル部50は、タグ量子化部52、移動量量子化部122、誤差導出部56、補正部124、モデル記憶部40を含む。モデル記憶部40は、上記概要に記載の記憶部に対応する。モデル記憶部40は、センサモデル生成装置20により生成された車両の移動量成分ごとのセンサモデルを記憶する。
【0097】
移動量量子化部122は、環境データ生成部14により生成された移動量成分値を、シミュレーション制御部10を介して受け付け、成分ごとに、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、移動量量子化部122は、図8で示したように、移動量成分値のうち横移動量を、複数のカテゴリ(0~5、5~10等)のうち該当するカテゴリに分類する。
【0098】
誤差導出部56は、環境データ生成部14により生成された移動量成分値およびタグデータと、モデル記憶部40に記憶されたセンサモデル(例えば上記の式1)とにしたがって、移動量誤差を導出する。具体的には、誤差導出部56は、センサモデルのダミー変数のうち、タグ量子化部52および移動量量子化部122により選択された(すなわち該当すると判断された)カテゴリに対応するダミー変数の値を1に設定することにより、センサモデルの目的変数である移動量誤差の値を算出する。なお、誤差導出部56は、横移動量の誤差に関するセンサモデル、縦移動量の誤差に関するセンサモデル、旋回角の誤差に関するセンサモデルを使用して、横移動量の誤差、縦移動量の誤差、旋回角の誤差のそれぞれを導出する。
【0099】
補正部124は、誤差導出部56により導出された車両の移動量成分ごとの誤差を、環境データ生成部14により生成された移動量成分値に足すことにより、車両の移動量成分ごとの真値を導出する。補正部124により導出される車両の移動量成分ごとの真値は、移動量導出部120より精度が高い真値導出部30による車両の移動量の検知結果に対応するものである。補正部124により導出された値(すなわち真値としての横移動量、縦移動量、旋回角)は、シミュレーション制御部10を介して車両モデル部18へ入力され、例えば車両の挙動がシミュレーションされる。
【0100】
以上の構成による動作を説明する。
まず、図9を参照しつつ、第2実施例のセンサモデル生成装置20に関する動作を説明する。車両シミュレーションシステムを顧客やパートナー企業に提供すべき車載機器の開発者は、実際に車両を走行させて、車載センサ(速度センサ、操舵角センサ等)から出力された複数サンプル分のセンサデータをセンサデータ記憶部22に記憶させる。各車載センサは、検知結果を示すセンサデータを車載ネットワークであるCAN(Controller Area Network)へ出力してもよく、センサデータ記憶部22は、CANを流れるセンサデータを収集し、記憶してもよい。
【0101】
それとともに開発者は、車両走行時にGPS装置により計測された複数サンプル分の位置データ(車両の位置の推移を示すデータ)を参照データ記憶部24に記憶させる。さらにまた、開発者は、天気や路面種別等の定性的な内容を含む複数サンプル分のタグデータをタグデータ記憶部26に記憶させる。
【0102】
移動量導出部120は、サンプルごとに、センサデータ記憶部22に格納されたセンサデータをもとに車両の移動量成分(横移動量、縦移動量、旋回角)の値を導出する。真値導出部30は、サンプルごとに、参照データ記憶部24に格納された位置データから車両の移動量成分の真値を導出する。具体的には、真値導出部30は、参照データ記憶部24に格納された現フレームの位置データと、前フレームの位置データとを読み出し、その差分に応じて、車両の移動量成分の真値を算出する。誤差導出部32は、サンプルごとに、横移動量の誤差、縦移動量の誤差、旋回角の誤差を導出する。移動量量子化部121は、サンプルごとに、移動量導出部120により検知された移動量成分の値のカテゴリを特定する。タグ量子化部36は、サンプルごとに、タグデータのカテゴリを特定する。
【0103】
モデル生成部38は、移動量導出部120により検知された移動量成分の値のカテゴリと、タグデータのカテゴリとをダミー変数とし、車両の移動量成分の誤差を目的変数として、複数のサンプルによる重回帰分析を実行することで、センサモデルを生成する。第2実施例では、モデル生成部38は、横移動量の誤差、縦移動量の誤差、旋回角の誤差のそれぞれを目的変数とする3種類のセンサモデルを生成する。モデル生成部38は、3種類のセンサモデルをモデル記憶部40に格納する。
【0104】
第2実施例のセンサモデル生成装置20によると、環境要因を加味した車両の移動量に関するセンサモデルであり、現実に即した結果を出力するセンサモデルを実現できる。例えば、天気や路面種別等の定性的な内容を反映した結果を出力するセンサモデルを実現できる。また、第2実施例のセンサモデルでは、センサ検知に基づく、誤差を含み得る移動量の値から、移動量の真値に関するデータを得ることができる。
【0105】
次に図4および図10を参照しつつ、第2実施例の車両シミュレーションシステム110に関する動作を説明する。環境データ生成部14は、ユーザインタフェース12を介して入力されたユーザ操作に応じて、車両シミュレーションのパラメータとして、移動量成分値とタグデータを生成する。これらのパラメータの値は、ユーザ(ユーザ端末)により指定されてもよい。また、車両シミュレーションのパラメータとしての移動量成分値は、車載センサからの出力結果に基づく横移動量、縦移動量、旋回角の想定値であり、真値とは異なり得る。
【0106】
タグ量子化部52は、環境データ生成部14により生成されたタグデータ(例えば天気や路面種別等)のカテゴリを特定する。移動量量子化部122は、環境データ生成部14により生成された移動量成分値のカテゴリを特定する。
【0107】
誤差導出部56は、モデル記憶部40に記憶された3種類のセンサモデルの説明変数のカテゴリを示すダミー変数のうち、タグ量子化部52および移動量量子化部121により特定されたカテゴリ(ダミー変数)の値を「1」に設定する。これにより、誤差導出部56は、3種類のセンサモデルの目的変数の値として、横移動量の誤差、縦移動量の誤差、旋回角の誤差を得る。補正部124は、環境データ生成部14により生成された移動量成分値に誤差を足すことにより、横移動量の真値、縦移動量の真値、旋回角の真値を推定する。
【0108】
車両モデル部18は、補正部124により推定された横移動量の真値、縦移動量の真値、旋回角の真値に基づいて、車両シミュレーションを実行し、例えば、車両の次の挙動を決定する。シミュレーション制御部10は、車両モデル部18によるシミュレーションの結果を、所定の出力装置に出力し、または、所定の記憶装置に記憶させる。
【0109】
第2実施例の車両シミュレーションシステム110によると、環境要因を加味した車両の移動量に関するセンサモデルであり、現実に即した結果を出力するセンサモデルを使用することにより、精度の高いシミュレーションを実現できる。例えば、車載センサからの出力結果に基づく移動量の想定値をもとに、環境要因を加味した移動量の真値を精度よく推定することができる。
【0110】
以上、本開示を第2実施例をもとに説明した。第2実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
【0111】
第1実施例の第1変形例に記載した曲線フィッティングは、第2実施例の変形例としても適用できる。センサモデルを使用して目的変数の値を求める推定部(第2実施例では誤差導出部56が対応する)は、複数個のダミー変数に係る各々のカテゴリ係数から、曲線フィッティングにより説明変数の連続値に対するカテゴリ係数の連続値を求めてもよい。誤差導出部56は、上記カテゴリ係数の連続値の中から車両シミュレーションにおける説明変数の値に対応するカテゴリ係数の値をセンサモデルに適用してもよい。
【0112】
図6の例と同様に、誤差導出部56は、横移動量の複数個のカテゴリに対応する複数個のカテゴリ係数に対して曲線フィッティングを行うことにより近似曲線を導出してもよい。誤差導出部56は、縦移動量、旋回角、タグデータのうち定量的なもの(気温等)についても同様に、複数個のカテゴリ係数に応じた近似曲線を導出してもよい。誤差導出部56は、環境データ生成部14により生成された横移動量、縦移動量、旋回角、タグデータのうち定量的なものについて、それぞれの値に対応するカテゴリ係数を近似曲線から取得し、センサモデル(例えば上記の式1)に当てはめてもよい。なお、ダミー変数の値を「1」にすることは実施例と同様である。この変形例によると、曲線フィッティングにより、入力された説明変数の値に対する適切な重み付けを実現できる。
【0113】
第1実施例の第2変形例に記載したホワイトノイズの足し込みは、第2実施例の変形例としても適用できる。すなわち、車両シミュレーションシステム110のユーザインタフェース12は、乱数に関するデータの指定をユーザから受け付ける受付部として機能してもよい。センサモデル部50の補正部124は、ユーザから指定された乱数に関するデータをもとに、センサモデルを用いた推定値(誤差の値または移動量の成分値)にホワイトノイズを足してもよい。この変形例によると、ホワイトノイズを加味して、より現実に即した推定結果を求めることができる。
【0114】
<第3実施例>
車両シミュレーションでは、シナリオに基づき車両の移動量の正確な値(真値)が既知の場合がある。この場合、車両の移動量の真値に基づく公知の計算によりセンサデータ(車速、操舵角等)を算出可能であるが、車両の横滑り等があると、センサデータの算出値は、実際の値とは異なるものになってしまう。
【0115】
第3実施例のセンサモデル生成装置も、第2実施例と同様に、車両または車両周辺の現実の状態を示す環境データと、車両の移動量に関するデータとに基づいて、数量化分析を用いた統計処理によりセンサモデルを生成する。そして、第3実施例の車両シミュレーションシステムは、そのセンサモデルを活用することにより精度の高いシミュレーションを実現する。第3実施例のセンサモデル生成装置および車両シミュレーションシステムを構成する部材のうち、第1実施例または第2実施例で説明した部材と同一または対応するものには同じ符号を付す。また、第1実施例または第2実施例と重複する内容は再度の説明を適宜省略する。
【0116】
まず、第3実施例のセンサモデルを説明する。第3実施例のセンサモデルは、車両のシミュレーションシステムにおいて、車両の移動量に関する推定を行うためのモデルである。具体的には、第3実施例のセンサモデルは、真値導出部30により検知された移動量の成分を説明変数とし、かつ、真値導出部30により検知された移動量の成分の真値と、移動量導出部120により検知された移動量の成分値との差を目的変数とするモデルである。第3実施例のセンサモデルも、第1実施例および第2実施例と同様に、上記の式1で表すことができる。
【0117】
第3実施例におけるセンサモデル構築のためのサンプルデータは、図8と同様である。ただし、第2実施例では、少なくとも(1)横移動量、(2)縦移動量、(3)旋回角は、移動量導出部120により導出されたものであり、真値と異なり得る値であった。一方、第3実施例では、少なくとも(1)横移動量、(2)縦移動量、(3)旋回角は、真値導出部30により導出されたものであり、真値(または真値と見なせる値)である。
【0118】
図11は、第3実施例のセンサモデル生成装置20の機能ブロックを示すブロック図である。第3実施例のセンサモデル生成装置20は、第2実施例のセンサモデル生成装置20における移動量量子化部121に代えて真値量子化部34を備える。第3実施例のセンサモデル生成装置20における機能ブロックのうち、センサデータ記憶部22、参照データ記憶部24、タグデータ記憶部26、移動量導出部120、真値導出部30、誤差導出部32、タグ量子化部36は、第2実施例と同様であるため説明を省略する。
【0119】
真値量子化部34は、サンプルごとに、真値導出部30による検知結果を、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、真値量子化部34は、真値導出部30により検知された横移動量、縦移動量、旋回角(いずれも所定の単位時間当りの真値)のそれぞれについて、予め定められた複数のカテゴリのいずれかに分類する。第3実施例では、図8で示したように、該当するカテゴリの値を「1」に設定する。
【0120】
モデル生成部38は、移動量導出部120による検知結果を推定するためのセンサモデルであり、言い換えれば、車載センサから出力されるセンサデータを推定するためのセンサモデルを生成する。モデル生成部38は、真値導出部30により導出された車両の移動量の成分を説明変数とし、かつ、真値導出部30により導出された車両の移動量の成分値(すなわち真値)と、移動量導出部120により導出された車両の移動量の成分値との差を目的変数とするセンサモデルを生成する。
【0121】
具体的には、図8に例示したように、モデル生成部38は、誤差導出部32により導出された誤差と、真値量子化部34により選択されたカテゴリと、タグ量子化部36により選択されたカテゴリとの組合せを、サンプルごと、かつ、移動量の成分ごとに作成する。モデル生成部38は、誤差導出部32により算出された誤差を目的変数とし、真値量子化部34により選択されたカテゴリと、タグ量子化部36により選択されたカテゴリとをダミー変数(値は「1」)として統計処理(実施例では重回帰分析)を実行することにより、複数のカテゴリにかかる複数のカテゴリ係数を導出する。
【0122】
モデル生成部38は、移動量の成分のそれぞれについて、カテゴリ係数を設定した回帰式(上記の式1)をセンサモデルとして生成し、センサモデルのデータをモデル記憶部40に格納する。すなわち、モデル生成部38は、横移動量の誤差を目的変数とするセンサモデル、縦移動量の誤差を目的変数とするセンサモデル、および旋回角の誤差を目的変数とするセンサモデルを生成してモデル記憶部40に格納する。
【0123】
次に、センサモデル生成装置20により生成されたセンサモデルを使用する車両シミュレーションシステムを説明する。第3実施例の車両シミュレーションシステム110の基本的な機能ブロックは、図4に示す第1実施例の車両シミュレーションシステム110の機能ブロックと同様である。
【0124】
環境データ生成部14は、センサモデルの説明変数の値を含む環境データを生成する。第3実施例の環境データは、車両シミュレーションのシナリオに基づいて予め定められた、車両シミュレーションのパラメータとしての、車両の移動量成分の真値(単位時間当りの横移動量、縦移動量、旋回角)を含む。この真値は、真値導出部30により検知される移動量の成分値に対応する。また、第3実施例の環境データは、第2実施例と同様に、車両シミュレーションのパラメータとしてのタグデータ、例えば、天気、気温、車両重量等をさらに含む。
【0125】
センサモデル部50は、真値導出部30による検知結果に対応する値であり、すなわち、車両の移動量成分の真値をセンサモデルに入力することにより、移動量導出部120により検知される車両の移動量成分値を推定する。言い換えれば、センサモデル部50は、真値が示す移動(典型的にはシミュレーションのシナリオ通りの移動)を車両が行った場合に、車載センサ(速度センサ、操舵角センサ等)の出力結果に基づいて検知される車両の移動量(以下「センサ検知移動量」とも呼ぶ。)を推定する。センサ検知移動量は、単位時間当りの横移動量、縦移動量、旋回角を含み、また、真値とは異なり得る。
【0126】
車両モデル部18は、センサモデル部50により推定されたセンサ検知移動量をもとに車両シミュレーションを実行する。例えば、車両モデル部18は、センサ検知移動量(推定値)を、自動走行制御プログラム(もしくはそのプログラムが実装されたECU(Electronic Control Unit))に入力し、自動走行制御プログラムの実行結果をシミュレーション結果として出力してもよい。
【0127】
シミュレーション制御部10は、車両モデル部18によるシミュレーション結果を不図示の表示装置に表示させてもよく、または、不図示の記憶装置に格納してもよい。シミュレーションの担当者は、車両モデル部18により出力された自動走行制御プログラムの実行結果を確認し、問題がないか否かを確認してもよい。
【0128】
図12は、第3実施例のセンサモデル部50の詳細を示すブロック図である。第3実施例のセンサモデル部50は、タグ量子化部52、真値量子化部54、誤差導出部56、補正部124、モデル記憶部40を含む。モデル記憶部40は、センサモデル生成装置20により生成された車両の移動量成分ごとのセンサモデルを記憶する。
【0129】
真値量子化部54は、環境データ生成部14により生成された移動量成分の真値を、シミュレーション制御部10を介して受け付け、成分ごとに、予め定められた説明変数の複数のカテゴリのいずれかに分類する。例えば、真値量子化部54は、図8で示したように、移動量成分の真値のうち横移動量の真値を、複数のカテゴリ(0~5、5~10等)のうち該当するカテゴリに分類する。
【0130】
誤差導出部56は、環境データ生成部14により生成された移動量成分の真値およびタグデータと、モデル記憶部40に記憶されたセンサモデル(例えば上記の式1)とにしたがって、移動量誤差を導出する。具体的には、誤差導出部56は、センサモデルのダミー変数のうち、タグ量子化部52および真値量子化部54により選択されたカテゴリに対応するダミー変数の値を1に設定することにより、センサモデルの目的変数である移動量誤差の値を算出する。なお、誤差導出部56は、横移動量の誤差に関するセンサモデル、縦移動量の誤差に関するセンサモデル、旋回角の誤差に関するセンサモデルを使用して、横移動量の誤差、縦移動量の誤差、旋回角の誤差のそれぞれを導出する。
【0131】
補正部124は、誤差導出部56により導出された車両の移動量成分ごとの誤差を、環境データ生成部14により生成された移動量成分の真値に足すことにより、センサ検知移動量の各成分の値を導出する。補正部124により導出されるセンサ検知移動量は、真値導出部30より精度が低い移動量導出部120による検知結果に対応するものである。補正部124により導出されたセンサ検知移動量の各成分の値(すなわち横移動量、縦移動量、旋回角)は、シミュレーション制御部10を介して車両モデル部18へ入力され、例えば、自動運転制御用のECUの挙動がシミュレーションされる。
【0132】
以上の構成による動作を説明する。
まず、図11を参照しつつ、第3実施例のセンサモデル生成装置20に関する動作を説明する。移動量導出部120、真値導出部30、誤差導出部32、タグ量子化部36の動作は、第2実施例の動作と同じであるため説明を省略する。真値量子化部34は、サンプルごとに、真値導出部30により検知された移動量成分の真値のカテゴリを特定する。
【0133】
モデル生成部38は、真値量子化部34により検知された移動量成分の真値のカテゴリと、タグデータのカテゴリとをダミー変数とし、移動量成分の誤差を目的変数として、複数のサンプルによる重回帰分析を実行することで、センサモデルを生成する。第3実施例でも、モデル生成部38は、横移動量の誤差、縦移動量の誤差、旋回角の誤差のそれぞれを目的変数とする3種類のセンサモデルを生成する。モデル生成部38は、3種類のセンサモデルをモデル記憶部40に格納する。
【0134】
第3実施例のセンサモデル生成装置20によると、環境要因を加味した車両の移動量に関するセンサモデルであり、現実に即した結果を出力するセンサモデルを実現できる。例えば、天気や路面種別等の定性的な内容を反映した結果を出力するセンサモデルを実現できる。また、第3実施例のセンサモデルでは、車両の移動量の真値から、誤差を含み得るセンサ検知移動量に関するデータを得ることができる。
【0135】
次に図4および図12を参照しつつ、第3実施例の車両シミュレーションシステム110に関する動作を説明する。環境データ生成部14は、ユーザインタフェース12を介して入力されたユーザ操作に応じて、車両シミュレーションのパラメータとして、シミュレーションのシナリオに基づいてユーザが決定した移動量の真値と、タグデータを生成する。センサモデル部50のタグ量子化部52は、環境データ生成部14により生成されたタグデータ(例えば天気や路面種別等)のカテゴリを特定する。真値量子化部54は、環境データ生成部14により生成された移動量成分の真値のカテゴリを特定する。
【0136】
誤差導出部56は、モデル記憶部40に記憶された3種類のセンサモデルの説明変数のカテゴリを示すダミー変数のうち、タグ量子化部52および真値量子化部54により特定されたカテゴリ(ダミー変数)の値を「1」に設定する。これにより、誤差導出部56は、3種類のセンサモデルの目的変数の値として、横移動量の誤差、縦移動量の誤差、旋回角の誤差を得る。補正部124は、環境データ生成部14により生成された移動量成分の真値に誤差を足すことにより、センサ検知移動量としての横移動量、縦移動量、旋回角を推定する。
【0137】
車両モデル部18は、補正部124により推定された横移動量、縦移動量、旋回角に基づいて、車両シミュレーションを実行する。例えば、車両モデル部18は、自動運転制御用のプログラム(またはECU)にセンサ検知移動量としての横移動量、縦移動量、旋回角を入力し、そのプログラム(またはECU)の出力結果を得る。なお、車両モデル部18は、センサ検知移動量をもとに対応するセンサデータ(車速、操舵角等)を導出し、そのセンサデータを、自動運転制御用のプログラム(またはECU)に入力してもよい。シミュレーション制御部10は、車両モデル部18によるシミュレーションの結果を、所定の出力装置に出力し、または、所定の記憶装置に記憶させる。
【0138】
第3実施例の車両シミュレーションシステム110によると、環境要因を加味した車両の移動量に関するセンサモデルであり、現実に即した結果を出力するセンサモデルを使用することにより、精度の高いシミュレーションを実現できる。例えば、シミュレーションのシナリオに基づく車両の移動量の真値をもとに、現実の車両がそのシナリオの挙動を行う場合のセンサ検知移動量を特定し、そのセンサ検知移動量において車両に不具合が生じないことを確認することができる。
【0139】
以上、本開示を第3実施例をもとに説明した。第3実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
【0140】
第1実施例の第1変形例に記載した曲線フィッティング、および、第1実施例の第2変形例に記載したホワイトノイズの足し込みは、第2実施例の変形例のみならず、第3実施例の変形例としても適用できることはもちろんである。
【0141】
第2実施例、第3実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
[項目1]
車両に搭載されたセンサの出力結果をもとに、前記車両の自動走行に関する属性の状態を導出する第1導出部と、
前記第1導出部より高い精度で、前記車両に関する属性の状態を導出する第2導出部と、
前記車両のシミュレーションのためのモデルであって、前記第1導出部または前記第2導出部により導出された状態を説明変数とし、前記第2導出部により導出された状態と、前記第1導出部により導出された状態との差を目的変数とするモデルを生成する生成部と、
を備えるモデル生成装置。
[項目2]
前記車両の自動走行に関する属性の状態は、前記車両の自動走行を制御するための前記車両周辺の状態であり、
前記第1導出部は、前記車両の周辺が映る画像データから、前記車両周辺の状態を導出し、
前記モデルは、前記車両のシミュレーションにおいて前記第1導出部による導出結果に関して推定するためのモデルであって、前記第2導出部により導出された状態を説明変数とし、前記第2導出部により導出された状態と、前記第1導出部により導出された状態との差を目的変数とするモデルである、
項目1に記載のモデル生成装置。
[項目3]
前記車両の自動走行に関する属性の状態は、前記車両の移動量の成分であり、
前記モデルは、前記車両のシミュレーションにおいて前記第2導出部による導出結果に関して推定するためのモデルであって、前記第1導出部により導出された移動量の成分を説明変数とし、前記第2導出部により導出された移動量の成分と、前記第1導出部により導出された移動量の成分との差を目的変数とするモデルである、
項目1に記載のモデル生成装置。
[項目4]
前記車両の自動走行に関する属性の状態は、前記車両の移動量の成分であり、
前記モデルは、前記車両のシミュレーションにおいて前記第1導出部による導出結果に関して推定するためのモデルであって、前記第2導出部により導出された移動量の成分を説明変数とし、前記第2導出部により導出された移動量の成分と、前記第1導出部により導出された移動量の成分との差を目的変数とするモデルである、
項目1に記載のモデル生成装置。
[項目5]
車両に搭載されたセンサの出力結果をもとに、前記車両の自動走行に関する属性の状態を導出する導出部について、前記導出部により導出される前記属性の状態、または、前記属性の状態の真値に関して推定するためのモデルであって、前記導出部により導出された前記属性の状態、または、前記属性の状態の真値を説明変数とし、前記属性の状態の真値と、前記導出部により導出された前記属性の状態との差を目的変数とするモデルを記憶する記憶部と、
シミュレーションのパラメータとして、前記導出部により導出される前記属性の状態と前記属性の状態の真値の一方を前記モデルに入力することにより、前記導出部により導出される前記属性の状態と前記属性の状態の真値の他方を推定する推定部と、
前記推定部による推定結果をもとに前記車両に関するシミュレーションを実行するシミュレーション部と、
を備える車両シミュレーションシステム。
[項目6]
前記導出部は、車両の周辺が映る画像データから、前記車両の自動走行に関する属性の状態として、前記車両の自動走行を制御するための前記車両周辺の状態を導出するものであり、
前記モデルは、前記導出部による導出結果に関して推定するためのモデルであって、前記車両周辺の状態の真値を説明変数とし、前記車両周辺の状態の真値と、前記導出部により導出された状態との差を目的変数とするモデルであり、
前記推定部は、シミュレーションのパラメータとしての前記車両周辺の状態の真値を前記モデルに入力することにより、前記導出部による導出結果を推定する、
項目5に記載の車両シミュレーションシステム。
[項目7]
前記車両の自動走行に関する属性の状態は、前記車両の移動量の成分であり、
前記モデルは、前記移動量の成分の真値に関して推定するためのモデルであって、前記導出部により導出された移動量の成分を説明変数とし、前記移動量の成分の真値と、前記導出部により導出された移動量の成分との差を目的変数とするモデルであり、
前記推定部は、前記導出部により導出される移動量の成分を前記モデルに入力することにより、前記移動量の成分の真値を推定する、
項目5に記載の車両シミュレーションシステム。
[項目8]
前記車両の自動走行に関する属性の状態は、前記車両の移動量の成分であり、
前記モデルは、前記移動量の成分の真値に関して推定するためのモデルであって、前記移動量の成分の真値を説明変数とし、前記移動量の成分の真値と、前記導出部により導出された移動量の成分との差を目的変数とするモデルであり、
前記推定部は、前記移動量の成分の真値を前記モデルに入力することにより、前記導出部により導出される移動量の成分を推定する、
項目5に記載の車両シミュレーションシステム。
[項目9]
前記モデルは、前記説明変数の複数段階の値に対応する複数個のダミー変数を含み、
前記推定部は、前記複数個のダミー変数に係る各々の係数から、曲線フィッティングにより前記説明変数の連続値に対する係数の連続値を求め、前記係数の連続値の中からシミュレーションにおける前記説明変数の値に対応する係数値を前記モデルに適用する、
項目5から8のいずれかに記載の車両シミュレーションシステム。
[項目10]
乱数に関するデータの指定をユーザから受け付ける受付部をさらに備え、
前記推定部は、前記乱数に関するデータをもとに、前記モデルを用いた推定値にホワイトノイズを足す、
項目5から9のいずれかに記載の車両シミュレーションシステム。
[項目11]
第1導出部が、車両に搭載されたセンサの出力結果をもとに、前記車両の自動走行に関する属性の状態を導出し、
第2導出部が、前記第1導出部より高い精度で、前記車両に関する属性の状態を導出し、
前記車両のシミュレーションのためのモデルであって、前記第1導出部または前記第2導出部により導出された状態を説明変数とし、前記第2導出部により導出された状態と、前記第1導出部により導出された状態との差を目的変数とするモデルを生成する、
モデル生成方法。
[項目12]
第1導出部が、車両に搭載されたセンサの出力結果をもとに、前記車両の自動走行に関する属性の状態を導出し、
第2導出部が、前記第1導出部より高い精度で、前記車両に関する属性の状態を導出し、
前記車両のシミュレーションのためのモデルであって、前記第1導出部または前記第2導出部により導出された状態を説明変数とし、前記第2導出部により導出された状態と、前記第1導出部により導出された状態との差を目的変数とするモデルを生成する、
ことをコンピュータに実行させるためのコンピュータプログラム。
【0142】
<第4実施例>
本実施例に関して、これまでの実施例と相違する点を中心に以下説明し、共通する点の説明を省略する。本変形例の構成要素のうちこれまでの実施例の構成要素と同一または対応する構成要素には同一の符号を付して説明する。
【0143】
従来の車両シミュレーションシステムでは、シミュレーション結果の車両位置として、車両モデルが出力した理想位置としての車両位置のみを描いていた。しかし、理想位置としての車両位置は、タイヤの横滑り等が考慮されておらず、現実の車両位置とは乖離することがある。そのため、車両シミュレーションの結果が、オドメトリセンシングアルゴリズムや車両制御アルゴリズムの評価と課題抽出、およびアルゴリズムの改善に十分に寄与しないことがあった。
【0144】
第4実施例の車両シミュレーションシステムでも、第2実施例および第3実施例と同様に、車両の移動態様に関するセンサモデル(「オドメトリセンシング統計モデル」と言える)を使用して、車両の移動に関するシミュレーションを実行する。第4実施例の車両シミュレーションシステムでは、(1)センサモデル(オドメトリセンシング統計モデル)を用いて算出された、車両の移動態様に関する推定値(実際の車両の移動態様に近い準真値とも言える)と、(2)車両モデルが生成した車両の移動態様に関する理想値、(3)車両内ネットワークを流れる情報に基づくモデルが生成した準理想値とを同時に表示し、それぞれの値の差を明示する。
【0145】
まず、第4実施例のセンサモデル(オドメトリセンシング統計モデル)を説明する。第4実施例のセンサモデルは、第3実施例のセンサモデルに対応する。第4実施例のセンサモデルは、実際の車両走行時に車両に入力された、車両の挙動を指示する情報を説明変数とし、その情報が指示する車両の挙動と、実際の車両の挙動との差を目的変数とする数理モデルである。
【0146】
図13は、第4実施例のセンサモデル(オドメトリセンシング統計モデル)を生成する第4実施例のセンサモデル生成装置20の機能ブロックを示すブロック図である。第4実施例のセンサモデル生成装置20は、第3実施例のセンサモデル生成装置20に対応する。第4実施例のセンサモデル生成装置20は、センサデータ記憶部22、参照データ記憶部24、タグデータ記憶部26、移動量導出部120、指示値導出部130、誤差導出部32、指示値量子化部132、タグ量子化部36、モデル生成部38を備える。
【0147】
センサデータ記憶部22は、実際のテスト走行時においてGPS装置(位置センサとも言える)により検知された車両の挙動に関するデータをセンサデータとして記憶する。第4実施例のセンサデータは、テスト走行時の車両の実際の挙動を示すデータであり、具体的には、車速とハンドル舵角(転舵角、旋回角とも言える)の組を含む。なお、車両には自動運転コントローラが搭載され、テスト走行は、その自動運転コントローラにより制御された自動走行であってもよい。
【0148】
参照データ記憶部24は、実際のテスト走行時においてCANを流れたデータであり、すなわち、実際のテスト走行時に車両に入力された車両の挙動を指示するデータを、センサデータと比較する参照データとして記憶する。第4実施例の参照データは、実際のテスト走行時に自動運転コントローラからCANを介して駆動系ECU等に入力された指示データを含み、具体的には、車速とハンドル舵角の組を含む。
【0149】
タグデータ記憶部26は、タグデータとして、車速の誤差とハンドル舵角の誤差の少なくとも一方の要因となる各種定量データまたは定性データを記憶する。第4実施例のタグデータは、テスト走行時の天候(晴れ、曇り、雨等)、テスト走行に用いた車両の重量、タイヤ種別、路面種別を含む。これらのタグデータは、テスト走行時の環境や状態に応じて、開発・試験担当者によりタグデータ記憶部26に格納されてもよい。
【0150】
以下、「サンプル」とは、テスト走行中の同一タイミングで収集されたデータ群、または、そのデータ群をもとに導出されるデータを意味する。移動量導出部120は、センサデータ記憶部22に記憶されたセンサデータをもとに、サンプルごとの車両の移動量を導出する。具体的には、移動量導出部120は、サンプルごとの車速とハンドル舵角の真値を導出する。なお、センサデータ記憶部22は、GPS装置により検知された車両の単位時間当りの横移動量と縦移動量、旋回角を含むセンサデータを記憶してもよい。この場合、移動量導出部120は、センサデータが示す横移動量と縦移動量をもとに車速の真値を導出し、センサデータが示す旋回角をハンドル舵角の真値として導出してもよい。
【0151】
指示値導出部130は、参照データ記憶部24に記憶された参照データをもとに、サンプルごとの車両の移動に関する指示値(車速とハンドル舵角の指示値)を導出する。この指示値は、後述の車両モデル部18が出力する理想値に対応するものである。なお、参照データ記憶部24は、速度指示データとハンドル舵角指示データを含む参照データを記憶してもよい。この場合、指示値導出部130は、参照データが示す速度指示データとハンドル舵角指示データをもとに、車速とハンドル舵角の指示値を導出してもよい。
【0152】
誤差導出部32は、移動量導出部120により導出された車速の真値と、指示値導出部130により導出された車速の指示値との誤差を導出する。また、誤差導出部32は、移動量導出部120により導出されたハンドル舵角の真値と、指示値導出部130により導出されたハンドル舵角の指示値との誤差を導出する。誤差導出部32は、サンプルごとに車速の誤差とハンドル舵角の誤差の組を導出する。なお、車速の誤差およびハンドル舵角の誤差は、例えば、タイヤの横滑り等により生じたものである。
【0153】
指示値量子化部132は、指示値導出部130により導出された、サンプルごとの車両の移動に関する指示値(車速とハンドル舵角の指示値)を量子化する。第1~第3実施例と同様に(例えば図8)、第4実施例のセンサモデル(オドメトリセンシング統計モデル)も複数個の説明変数(「要因」とも呼ぶ)を含み、各要因は、複数個のカテゴリを含む。第4実施例において説明変数には、車速とハンドル舵角が含まれる。指示値量子化部132は、サンプルごとに、車速とハンドル舵角が該当するカテゴリを識別し、該当するカテゴリの値を1に設定するとともに、該当しないカテゴリの値を0に設定する。
【0154】
タグ量子化部36は、タグデータ記憶部26に格納された、サンプルごとのタグデータを量子化する。第4実施例のセンサモデルにおける説明変数には、天候、車両重量、タイヤ種別、路面種別が含まれる。タグ量子化部36は、サンプルごとに、天候、車両重量、タイヤ種別、路面種別それぞれの該当するカテゴリを識別し、該当するカテゴリの値を1に設定するとともに、該当しないカテゴリの値を0に設定する。
【0155】
モデル生成部38は、複数のサンプルのそれぞれについて、指示値量子化部132により導出された車速の指示値およびハンドル舵角の指示値の量子化データと、タグ量子化部36により導出されたタグデータの量子化データとを説明変数とし、誤差導出部32により導出された車速の誤差を目的変数とする組を生成する。モデル生成部38は、上記複数のサンプルデータの組をもとに重回帰分析を実行することにより、車速の指示値、ハンドル舵角の指示値、天候、車両重量、タイヤ種別、路面種別を説明変数とし、車速の誤差を目的変数とするオドメトリセンシング統計モデルを車速誤差モデルとして生成する。
【0156】
また、モデル生成部38は、複数のサンプルのそれぞれについて、指示値量子化部132により導出された車速の指示値およびハンドル舵角の指示値の量子化データと、タグ量子化部36により導出されたタグデータの量子化データとを説明変数とし、誤差導出部32により導出されたハンドル舵角の誤差を目的変数とする組を生成する。モデル生成部38は、上記複数のサンプルデータの組をもとに重回帰分析を実行することにより、車速の指示値、ハンドル舵角の指示値、天候、車両重量、タイヤ種別、路面種別を説明変数とし、ハンドル舵角の誤差を目的変数とするオドメトリセンシング統計モデルである舵角誤差モデルを生成する。
【0157】
車速誤差モデルと舵角誤差モデルのいずれも上記の式1で表すことができる。モデル生成部38は、生成した車速誤差モデルと舵角誤差モデルとをモデル記憶部40に格納する。
【0158】
次に、センサモデル生成装置20により生成されたオドメトリセンシング統計モデルを使用する車両シミュレーションシステムを説明する。図14は、第4実施例の車両シミュレーションシステム110の機能ブロックを示すブロック図である。車両シミュレーションシステム110は、シミュレーション制御部10、ユーザインタフェース12、CANモデル部112、センサモデル部50、車両モデル部18を備える。
【0159】
ユーザインタフェース12は、シミュレーションの結果を表示する表示装置を含む。車両モデル部18は、シミュレーションのシナリオをもとに、車両の挙動に関する理想値を導出する。車両モデル部18は、車両の挙動に関する理想値として、車速とハンドル舵角の理想値を導出する。この理想値は、車両の自動運転において自動運転コントローラから出力される制御コマンドの設定値に対応するものであり、自動運転コントローラの制御アルゴリズムに基づいて導出される。
【0160】
CANモデル部112は、シミュレーションのシナリオをもとに車両モデル部18により導出された車両の挙動に関する理想値に対応する値であって、その理想値が示す挙動を車両に実行させるために車両内のネットワーク(実施例ではCAN)を介して伝送される値である準理想値を導出する導出部として機能する。例えば、CANモデル部112は、挙動に関する理想値(車速およびハンドル舵角)と、準理想値(車速およびハンドル舵角)とを対応付けたモデルまたはテーブルを記憶し、そのモデルを使用し、またはそのテーブルを参照して、理想値に対応する準理想値を導出してもよい。
【0161】
準理想値は、車両モデル部18により導出された理想値に近似するが、CANで伝送されるデータのビット精度の制限により、理想値とは異なる値になることがある。また、複数の単位時間(「フレーム」とも呼ばれる。)に亘る複数回のシミュレーションの間に理想値と準理想値との誤差が蓄積していき、理想値に基づくシミュレーション結果と準理想値に基づくシミュレーション結果との差異が大きくなることもある。なお、車両モデル部18とCANモデル部112は、公知技術(すなわち公知の車両モデルとCANモデル)により実現されてもよい。
【0162】
センサモデル部50は、車両モデル部18により導出された車両の挙動に関する理想値を、センサモデル生成装置20により生成されたオドメトリセンシング統計モデルに入力することにより、シミュレーションのシナリオが示す状況における車両の実際の挙動に関する推定値を導出する第2導出部として機能する。センサモデル部50の詳細な構成は後述する。
【0163】
シミュレーション制御部10は、車両シミュレーションを制御する。図15は、第4実施例のシミュレーション制御部10の機能ブロックを示すブロック図である。シミュレーション制御部10は、シナリオ記憶部140、シナリオ読出部142、理想値取得部144、準理想値取得部146、推定値取得部148、結果画像生成部150、出力部152を備える。
【0164】
これら複数の機能ブロックの機能が実装されたコンピュータプログラムが、シミュレーション制御部10を実現する1つまたは複数の情報処理装置のストレージにインストールされてもよい。または、上記コンピュータプログラムが、ネットワークを介して、上記情報処理装置のストレージにインストールされてもよい。上記情報処理装置のCPUは、上記コンピュータプログラムをメインメモリに読み出して実行することにより図15に示す各機能ブロックの機能を発揮してもよい。
【0165】
シナリオ記憶部140は、車両シミュレーションのシナリオを記憶する。車両シミュレーションのシナリオは、例えば、複数の単位時間「フレーム」のそれぞれにおける車両の挙動を示すデータであり、また、天候、車両重量、タイヤ種別、路面種別を示すデータである。シナリオ読出部142は、シナリオ記憶部140に記憶された車両シミュレーションのシナリオをフレームごとに読み出す。
【0166】
理想値取得部144は、シナリオ読出部142により読み出された車両シミュレーションのシナリオが示す車両の挙動データ(フレーム単位)を車両モデル部18に入力する。理想値取得部144は、車両モデル部18から出力された、車両シミュレーションのシナリオに基づく車速とハンドル舵角の理想値(フレーム単位)を受け付ける。
【0167】
準理想値取得部146は、車両モデル部18から出力された、車速とハンドル舵角の理想値(フレーム単位)をCANモデル部112に入力する。準理想値取得部146は、CANモデル部112から出力された、車速とハンドル舵角の理想値(フレーム単位)に対応する車速とハンドル舵角の準理想値(フレーム単位)を受け付ける。
【0168】
推定値取得部148は、車両モデル部18から出力された、車速とハンドル舵角の理想値(フレーム単位)と、車両シミュレーションのシナリオが示すタグデータ(フレーム単位)をセンサモデル部50に入力する。推定値取得部148は、センサモデル部50から出力された、車速とハンドル舵角の理想値(フレーム単位)に対応する車速とハンドル舵角の推定値(フレーム単位)を受け付ける。車速とハンドル舵角の推定値は、シミュレーションのシナリオが示す状況における車両の実際の挙動を示すものであり、GPS装置により検知される車両の実際の挙動の真値に準ずる準真値とも言える。
【0169】
結果画像生成部150は、車両モデル部18から出力された理想値と、CANモデル部112から出力された準理想値と、センサモデル部50から出力された推定値とをもとに、車両シミュレーションにおける車両の挙動を示す画像であるシミュレーション結果画像を生成する。シミュレーション結果画像の例は後述する。
【0170】
出力部152は、結果画像生成部150により生成されたシミュレーション結果画像を外部に出力する。第4実施例では、出力部152は、シミュレーション結果画像をユーザインタフェース12の表示装置に表示させる。変形例として、出力部152は、シミュレーション結果画像を所定の記憶装置に記憶させてもよい。
【0171】
図16は、第4実施例のセンサモデル部の詳細を示すブロック図である。センサモデル部50は、モデル記憶部40、理想値量子化部160、タグ量子化部52、誤差導出部56、推定値導出部162を備える。これら複数の機能ブロックの機能が実装されたコンピュータプログラムが、センサモデル部50を実現する1つまたは複数の情報処理装置のストレージにインストールされてもよい。または、上記コンピュータプログラムが、ネットワークを介して、上記情報処理装置のストレージにインストールされてもよい。上記情報処理装置のCPUは、上記コンピュータプログラムをメインメモリに読み出して実行することにより図16に示す各機能ブロックの機能を発揮してもよい。
【0172】
モデル記憶部40は、センサモデル生成装置20により生成されたオドメトリセンシング統計モデルである車速誤差モデルと舵角誤差モデルとを記憶する。
【0173】
理想値量子化部160は、センサモデル生成装置20の指示値量子化部132に対応する。理想値量子化部160は、シミュレーション制御部10から入力された、シミュレーションのフレームごとの車両の移動に関する理想値(車速とハンドル舵角の理想値)を量子化する。理想値量子化部160は、フレームごとに、オドメトリセンシング統計モデルが定める複数のカテゴリのうち車速とハンドル舵角の理想値が該当するカテゴリを識別し、該当するカテゴリの値を1に設定するとともに、該当しないカテゴリの値を0に設定する。
【0174】
タグ量子化部52は、センサモデル生成装置20のタグ量子化部36に対応する。タグ量子化部52は、シミュレーション制御部10から入力された、シミュレーションのフレームごとのタグデータを量子化する。タグ量子化部52は、フレームごとに、オドメトリセンシング統計モデルが定める複数のカテゴリのうち天候、車両重量、タイヤ種別、路面種別それぞれの該当するカテゴリを識別し、該当するカテゴリの値を1に設定するとともに、該当しないカテゴリの値を0に設定する。
【0175】
誤差導出部56は、理想値量子化部160により導出された車速とハンドル舵角の理想値の量子化データと、タグ量子化部52により導出されたタグデータの量子化データとを車速誤差モデルに入力することにより、車速誤差モデルが出力した車速誤差を取得する。具体的には、誤差導出部56は、車速誤差モデルで規定された複数の説明変数の複数のカテゴリのうち、量子化データで1が設定されたカテゴリのウエイトをモデル記憶部40から読み出し、この読み出したウエイトを用いて、目的変数である車速誤差の値を求める。車速誤差は、車速の理想値が示す車両に入力される速度の指示値と、車両の実際の速度との差である。
【0176】
また、誤差導出部56は、理想値量子化部160により導出された車速とハンドル舵角の理想値の量子化データと、タグ量子化部52により導出されたタグデータの量子化データとを舵角誤差モデルに入力することにより、舵角誤差モデルが出力した舵角誤差を取得する。具体的には、誤差導出部56は、舵角誤差モデルで規定された複数の説明変数の複数のカテゴリのうち、量子化データで1が設定されたカテゴリのウエイトをモデル記憶部40から読み出し、この読み出したウエイトを用いて、目的変数である舵角誤差の値を求める。舵角誤差は、ハンドル舵角の理想値が示す車両に入力されるハンドル舵角の指示値と、車両の実際のハンドル舵角との差である。
【0177】
推定値導出部162は、シミュレーション制御部10から入力されたシミュレーションのフレームごとの車速の理想値に、誤差導出部56により導出された車速誤差を足すことにより、シミュレーションのフレームごとの車速の推定値を導出する。また、推定値導出部162は、シミュレーション制御部10から入力されたシミュレーションのフレームごとのハンドル舵角の理想値に、誤差導出部56により導出された舵角誤差を足すことにより、シミュレーションのフレームごとのハンドル舵角の推定値を導出する。推定値導出部162は、シミュレーションのフレームごとの車両の移動に関する推定値(すなわち車速とハンドル舵角の推定値)をシミュレーション制御部10に出力する。
【0178】
また、推定値導出部162は、シミュレーションのフレームごとの車速の推定値とともに、その推定値導出時の車速誤差を出力した車速誤差モデルにおける複数項目の説明変数それぞれの重みを示す内訳情報をシミュレーション制御部10へ出力する。車速誤差の内訳情報は、車速誤差モデルにおける複数のカテゴリに対する複数のカテゴリ係数のうち、車速誤差の導出において使用されたカテゴリのカテゴリ係数(言い換えれば量子化データで1が設定されたカテゴリに対するウエイトであり、以下「有効カテゴリ係数」と呼ぶ。)を含む。具体的には、車速誤差の内訳情報は、距離誤差モデルにおける説明変数の項目名称(例えば「天候」「車両重量」等)と有効カテゴリ係数の組を複数組含む。
【0179】
同様に、推定値導出部162は、シミュレーションのフレームごとのハンドル舵角の推定値とともに、その推定値導出時の舵角誤差を出力した舵角誤差モデルにおける複数項目の説明変数それぞれの重みを示す内訳情報をシミュレーション制御部10へ出力する。舵角誤差の内訳情報は、舵角誤差モデルにおける複数のカテゴリに対する複数のカテゴリ係数のうち、舵角誤差の導出において使用された有効カテゴリ係数を含む。具体的には、舵角誤差の内訳情報は、舵角誤差モデルにおける説明変数の項目名称(例えば「天候」「車両重量」等)と有効カテゴリ係数の組を複数組含む。
【0180】
シミュレーション結果画像について詳細に説明する。図17は、シミュレーション結果画像の例を示す。シミュレーション結果画像170は、複数の要素として、車両画像172、理想値ベクトル174(図17では破線で示す)、準理想値ベクトル176(図17では一点鎖線で示す)、推定値ベクトル178(図17では実線で示す)を含む。
【0181】
シミュレーション制御部10の結果画像生成部150は、車両シミュレーションのフレームごとの車速とハンドル舵角の理想値をもとに、車両の挙動の理想値を示す理想値ベクトル174をシミュレーション結果画像170に設定する。また、結果画像生成部150は、車両シミュレーションのフレームごとの車速とハンドル舵角の準理想値をもとに、車両の挙動の準理想値を示す準理想値ベクトル176をシミュレーション結果画像170に設定する。また、結果画像生成部150は、車両シミュレーションのフレームごとの車速とハンドル舵角の推定値をもとに、車両の挙動の推定値(言い換えれば準真値)を示す推定値ベクトル178をシミュレーション結果画像170に設定する。
【0182】
結果画像生成部150は、理想値ベクトル174、準理想値ベクトル176、推定値ベクトル178を互いに異なる態様(スタイル)に設定する。例えば、理想値ベクトル174、準理想値ベクトル176、推定値ベクトル178は、線種、形状、模様、色彩、太さ、陰影有無等のうち少なくとも1つが互いに異なるように設定される。これにより、車両の挙動の理想値、準理想値、推定値を直観的に区別可能で、かつ、それらの違いを容易に把握できるシミュレーション結果画像を提供できる。
【0183】
また、結果画像生成部150は、車両の挙動の理想値と推定値との差を示す要素をシミュレーション結果画像170に設定する。具体的には、結果画像生成部150は、ハンドル舵角の差(舵角誤差)を示す舵角誤差インジケータと、車速の差(車速誤差)を示す車速誤差インジケータとをシミュレーション結果画像170に設定する。図17のシミュレーション結果画像170では、舵角誤差インジケータ180を示している。
【0184】
また、図17には不図示だが、結果画像生成部150は、車両の挙動の準理想値と推定値との差を示す要素をシミュレーション結果画像170に設定してもよい。具体的には、結果画像生成部150は、準理想値と推定値との差に関する舵角誤差インジケータと車速誤差インジケータとをシミュレーション結果画像170に設定してもよい。このように、舵角誤差インジケータと車速誤差インジケータとを配置することにより、シミュレーション結果において、ハンドル舵角の誤差および車速の誤差の把握を容易なものにできる。
【0185】
図18も、シミュレーション結果画像の例を示す。図18に示すように、シミュレーション結果画像170は、所定の操作に応じて、車両の挙動の理想値と推定値との差の内訳を表示するよう構成される。
【0186】
例えば、結果画像生成部150は、シミュレーション結果画像170上で舵角誤差インジケータ180が選択された場合(例えばマウスオーバされた場合)に、舵角誤差の内訳を示す画像である誤差内訳182をシミュレーション結果画像170上に追加表示させるJavaScript(登録商標)コードをシミュレーション結果画像170のデータに設定する。また、図18には不図示だが、結果画像生成部150は、シミュレーション結果画像170において車速誤差インジケータが選択された場合に、車速誤差の内訳を示す画像である誤差内訳をシミュレーション結果画像170上に追加表示させるJavaScriptコードをシミュレーション結果画像170のデータに設定する。
【0187】
既述したように、センサモデル部50の推定値導出部162は、フレームごとの車速とハンドル舵角の推定値に加えて、フレームごとの車速誤差と舵角誤差の内訳情報をシミュレーション制御部10へ出力する。内訳情報は、車速誤差モデルまたは舵角誤差モデルにおける説明変数の項目名称と有効カテゴリ係数の組を複数組含む。
【0188】
図18に示すように、結果画像生成部150は、舵角誤差モデルにおける複数の説明変数の有効カテゴリ係数の比率を示す円グラフを含む誤差内訳182を、舵角誤差インジケータ180に対応付けてシミュレーション結果画像170のデータに設定する。図18の誤差内訳182では、説明変数の項目として天候、車両重量、タイヤ種別、路面種別を示しているが、他の項目を含んでもよく、誤差内訳182に表示する説明変数の項目は、車両シミュレーションシステム110を用いた実験等により、適切な項目が選択されてよい。
【0189】
また、図18には不図示だが、結果画像生成部150は、車速誤差モデルにおける複数の説明変数の有効カテゴリ係数の比率を示す円グラフを含む誤差内訳を、車速誤差インジケータに対応付けてシミュレーション結果画像170のデータに設定する。シミュレーション結果画像170で表示される誤差内訳(例えば誤差内訳182)は、舵角誤差モデルまたは車速誤差モデルにおける複数の説明変数それぞれの重み(言い換えれば相対的な影響度合い)を示す統計図表と言える。
【0190】
図19も、シミュレーション結果画像の例を示す。図18の誤差内訳182では、各説明変数の有効カテゴリ係数の比率を円グラフで示したが、誤差内訳は、円グラフとは異なる種類の統計図表を含んでもよい。図19の誤差内訳184は、舵角誤差モデルにおける複数の説明変数の有効カテゴリ係数の比率と、車速誤差モデルにおける複数の説明変数の有効カテゴリ係数の比率とを積み上げ棒グラフにより示すものである。図19のシミュレーション結果画像170では、舵角誤差インジケータ180と車速誤差インジケータ181のどちらが選択された場合にも、同じ内容の誤差内訳184を表示させてもよい。
【0191】
なお、誤差内訳は、舵角誤差モデルまたは車速誤差モデルの各説明変数の有効カテゴリ係数の比率以外の情報を示すものでもよい。例えば、誤差内訳は、舵角誤差モデルまたは車速誤差モデルの各説明変数の名称のみを示すものであってもよく、また、舵角誤差または車速誤差の値を示すものであってもよい。
【0192】
図20も、シミュレーション結果画像の例を示す。図20のシミュレーション結果画像170は、車両シミュレーションの複数のフレーム(シミュレーションの単位であり、時間軸方向の粒度とも言える)に亘って蓄積された、車両の挙動の理想値と推定値との差(すなわち蓄積誤差)を示すものである。
【0193】
結果画像生成部150は、複数の理想値ベクトル174を合成した理想値合成ベクトル175をシミュレーション結果画像170に設定する。図20の理想値合成ベクトル175は、3フレーム分の理想値ベクトル174を合成したものである。また、結果画像生成部150は、複数の推定値ベクトル178を合成した推定値合成ベクトル179をシミュレーション結果画像170に設定する。図20の推定値合成ベクトル179は、3フレーム分の推定値ベクトル178を合成したものである。さらにまた、結果画像生成部150は、理想値合成ベクトル175と推定値合成ベクトル179との差(すなわち蓄積誤差)を示す舵角誤差インジケータ180と車速誤差インジケータ181をシミュレーション結果画像170に設定する。
【0194】
図19と同様に、結果画像生成部150は、舵角誤差インジケータ180が選択された場合、または、車速誤差インジケータ181が選択された場合に、誤差内訳184がポップアップ表示されるようにシミュレーション結果画像170を設定する。具体的には、結果画像生成部150は、舵角誤差モデルにおける複数の説明変数の有効カテゴリ係数に基づいて、合成されるフレーム分の有効カテゴリ係数の平均値を求めるようにしてもよい。結果画像生成部150は、舵角誤差モデルにおける複数の説明変数の有効カテゴリ係数(平均値)の比率を示す舵角誤差の誤差内訳184を生成し、舵角誤差インジケータ180に対応付けてシミュレーション結果画像170のデータに設定する。
【0195】
また、結果画像生成部150は、車速誤差モデルにおける複数の説明変数の有効カテゴリ係数に基づいて、合成されるフレーム分の有効カテゴリ係数の平均値を求めるようにしてもよい。結果画像生成部150は、車速誤差モデルにおける複数の説明変数の有効カテゴリ係数(平均値)の比率を示す車速誤差の誤差内訳184を生成し、車速誤差インジケータ181に対応付けてシミュレーション結果画像170のデータに設定する。
【0196】
なお、シミュレーション結果画像170は、準理想値ベクトル176と推定値ベクトル178との差を示す要素を含んでもよい。また、シミュレーション結果画像170は、その要素が選択された場合に、準理想値と推定値との誤差内訳を表示するよう構成されてもよい。あるフレームにおける準理想値と推定値との誤差内訳は、同フレームにおける理想値と推定値との誤差内訳と同じ内容が表示されてもよい。さらにまた、シミュレーション結果画像170は、車両シミュレーションの複数のフレームに亘って蓄積された、準理想値と推定値との差を示すよう構成されてもよい。
【0197】
以上、本開示を第4実施例をもとに説明した。第4実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
【0198】
上記第4実施例のシミュレーション結果画像170では理想値、準理想値、推定値を同時に表示したが、変形例として、シミュレーション結果画像170に表示する値の種類は、ユーザにより選択可能であってもよい。例えば、シミュレーション制御部10の結果画像生成部150は、ユーザの操作に応じて、理想値と推定値を含むが準理想値を含まないシミュレーション結果画像170を生成してもよい。また、結果画像生成部150は、ユーザの操作に応じて、準理想値と推定値を含むが理想値を含まないシミュレーション結果画像170を生成してもよい。
【0199】
また、上記第4実施例では言及していないが、シミュレーション結果画像170における車両画像172の向き、言い換えれば、シミュレーション結果画像170における車両画像172の進行方向は、ユーザにより変更可能であってもよい。例えば、シミュレーション結果画像170における車両画像172のデフォルトの向きが右向きである場合、結果画像生成部150は、ユーザの操作に応じて、シミュレーション結果画像170における車両画像172の向きを上向き等に変更してもよい。これにより、シミュレーション結果の分析を支援することができる。
【0200】
第1実施例の第1変形例に記載した曲線フィッティング、および、第1実施例の第2変形例に記載したホワイトノイズの足し込みは、第4実施例の変形例としても適用できることはもちろんである。
【0201】
第4実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
[項目2-1]
実際の車両走行時に前記車両に入力された前記車両の挙動を指示する情報を説明変数とし、前記情報が指示する前記車両の挙動と、前記車両の実際の挙動との差を目的変数とするモデルを記憶する記憶部と、
シミュレーションのシナリオをもとに導出された前記車両の挙動に関する理想値を前記モデルに入力することにより、前記シミュレーションのシナリオが示す状況における前記車両の実際の挙動に関する推定値を導出する導出部と、
前記シミュレーションにおける前記車両の挙動を示す画像として、前記理想値と前記推定値とを異なる態様で示す画像を生成する生成部と、
を備える車両シミュレーションシステム。
この車両シミュレーションシステムによると、シミュレーション結果の画像にて、車両の挙動の理想値(例えば車両の自動運転における指示値)と、車両の挙動の推定値(例えば車両の実際の挙動を示す値)とが区別容易に示されるため、オドメトリセンシングアルゴリズムや車両制御アルゴリズムの評価と課題抽出、およびアルゴリズムの改善に有用なシミュレーション結果を提供することができる。
[項目2-2]
前記画像は、前記理想値と前記推定値との差を示す要素を含む、
項目2-1に記載の車両シミュレーションシステム。
この車両シミュレーションシステムによると、車両の挙動の理想値と推定値との差をユーザに直観的に把握させ易くなる。
[項目2-3]
前記画像は、所定の操作に応じて、前記理想値と前記推定値との差の内訳を表示するよう構成される、
項目2-1または2-2に記載の車両シミュレーションシステム。
この車両シミュレーションシステムによると、車両の挙動の理想値と推定値との差に関する分析を支援することができる。
[項目2-4]
前記モデルは、複数の説明変数それぞれの重みを定めたものであり、
前記理想値と前記推定値との差の内訳は、前記複数の説明変数それぞれの重みを示すものである、
項目2-3に記載の車両シミュレーションシステム。
この車両シミュレーションシステムによると、車両の挙動の理想値と推定値との差が生じた複数の要因、および、各要因の影響度合いを示すことにより、理想値と推定値との差に関する分析を効果的に支援することができる。
[項目2-5]
前記画像は、前記シミュレーションの複数のフレームに亘って蓄積された、前記理想値と前記推定値との差を示すものである、
項目2-1から2-4のいずれかに記載のシミュレーションシステム。
この車両シミュレーションシステムによると、複数のフレームに亘っての車両の挙動の理想値と推定値との蓄積誤差を示すことにより、理想値と推定値との差が一層明確になり、また、理想値と推定値との差に関する分析を効果的に支援することができる。
[項目2-6]
実際の車両走行時に前記車両に入力された前記車両の挙動を指示する情報を説明変数とし、前記情報が指示する前記車両の挙動と、前記車両の実際の挙動との差を目的変数とするモデルを記憶する記憶部と、
シミュレーションのシナリオをもとに導出された前記車両の挙動に関する理想値に対応する値であって、前記理想値が示す挙動を前記車両に実行させるために前記車両内のネットワークを介して伝送される値である準理想値を導出する第1導出部と、
前記車両の挙動に関する理想値を前記モデルに入力することにより、前記シミュレーションのシナリオが示す状況における前記車両の実際の挙動に関する推定値を導出する第2導出部と、
前記シミュレーションにおける前記車両の挙動を示す画像として、前記準理想値と前記推定値とを異なる態様で示す画像を生成する生成部と、
を備える車両シミュレーションシステム。
この車両シミュレーションシステムによると、シミュレーション結果の画像にて、車両の挙動の準理想値(例えば車両の自動運転においてCANを介して各ECUに入力される値)と、車両の挙動の推定値(例えば車両の実際の挙動を示す値)とが区別容易に示されるため、オドメトリセンシングアルゴリズムや車両制御アルゴリズムの評価と課題抽出、およびアルゴリズムの改善に有用なシミュレーション結果を提供することができる。
[項目2-7]
記憶部に記憶されたモデルであって、実際の車両走行時に前記車両に入力された前記車両の挙動を指示する情報を説明変数とし、前記情報が指示する前記車両の挙動と、前記車両の実際の挙動との差を目的変数とするモデルに、シミュレーションのシナリオをもとに導出された前記車両の挙動に関する理想値を入力することにより、前記シミュレーションのシナリオが示す状況における前記車両の実際の挙動に関する推定値を導出し、
前記シミュレーションにおける前記車両の挙動を示す画像として、前記理想値と前記推定値とを異なる態様で示す画像を生成する、
ことをコンピュータが実行する車両シミュレーション方法。
この車両シミュレーション方法によると、項目2-1の車両シミュレーションシステムと同様の効果を奏する。
[項目2-8]
シミュレーションのシナリオをもとに導出された車両の挙動に関する理想値に対応する値であって、前記理想値が示す挙動を前記車両に実行させるために前記車両内のネットワークを介して伝送される値である準理想値を導出し、
記憶部に記憶されたモデルであって、実際の車両走行時に前記車両に入力された前記車両の挙動を指示する情報を説明変数とし、前記情報が指示する前記車両の挙動と、前記車両の実際の挙動との差を目的変数とするモデルに、前記車両の挙動に関する理想値を入力することにより、前記シミュレーションのシナリオが示す状況における前記車両の実際の挙動に関する推定値を導出し、
前記シミュレーションにおける前記車両の挙動を示す画像として、前記準理想値と前記推定値とを異なる態様で示す画像を生成する、
ことをコンピュータが実行する車両シミュレーション方法。
この車両シミュレーション方法によると、項目2-6の車両シミュレーションシステムと同様の効果を奏する。
[項目2-9]
記憶部に記憶されたモデルであって、実際の車両走行時に前記車両に入力された前記車両の挙動を指示する情報を説明変数とし、前記情報が指示する前記車両の挙動と、前記車両の実際の挙動との差を目的変数とするモデルに、シミュレーションのシナリオをもとに導出された前記車両の挙動に関する理想値を入力することにより、前記シミュレーションのシナリオが示す状況における前記車両の実際の挙動に関する推定値を導出し、
前記シミュレーションにおける前記車両の挙動を示す画像として、前記理想値と前記推定値とを異なる態様で示す画像を生成する、
ことをコンピュータに実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、項目2-1の車両シミュレーションシステムと同様の効果を奏する。
[項目2-10]
シミュレーションのシナリオをもとに導出された車両の挙動に関する理想値に対応する値であって、前記理想値が示す挙動を前記車両に実行させるために前記車両内のネットワークを介して伝送される値である準理想値を導出し、
記憶部に記憶されたモデルであって、実際の車両走行時に前記車両に入力された前記車両の挙動を指示する情報を説明変数とし、前記情報が指示する前記車両の挙動と、前記車両の実際の挙動との差を目的変数とするモデルに、前記車両の挙動に関する理想値を入力することにより、前記シミュレーションのシナリオが示す状況における前記車両の実際の挙動に関する推定値を導出し、
前記シミュレーションにおける前記車両の挙動を示す画像として、前記準理想値と前記推定値とを異なる態様で示す画像を生成する、
ことをコンピュータに実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、項目2-6の車両シミュレーションシステムと同様の効果を奏する。
【0202】
上述した実施例および変形例の任意の組み合わせもまた本開示の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【0203】
12 ユーザインタフェース、 18 車両モデル部、 20 センサモデル生成装置、 40 モデル記憶部、 50 センサモデル部、 110 車両シミュレーションシステム、 112 CANモデル部、 150 結果画像生成部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20