(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-22
(45)【発行日】2022-03-30
(54)【発明の名称】少なくとも1つの制御機器の少なくとも1つの制御機器機能をテストする方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20220323BHJP
G01M 17/007 20060101ALI20220323BHJP
【FI】
G05B23/02 G
G01M17/007 K
【外国語出願】
(21)【出願番号】P 2018008039
(22)【出願日】2018-01-22
【審査請求日】2020-12-21
(32)【優先日】2017-01-23
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】506012213
【氏名又は名称】ディスペース ゲー・エム・ベー・ハー
【氏名又は名称原語表記】dSPACE GmbH
【住所又は居所原語表記】Rathenaustr.26,D-33102 Paderborn, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100135633
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】クリスティアン プレッチュ
(72)【発明者】
【氏名】ヘンドリク アメルンクセン
【審査官】堀内 亮吾
(56)【参考文献】
【文献】特開2012-137332(JP,A)
【文献】特表2012-529101(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
G01M 17/007
(57)【特許請求の範囲】
【請求項1】
複数の計算ユニット(4a,4b,4c)を備えるシミュレータ(5)によって、少なくとも1つの第1の車両(3a)の少なくとも1つの制御機器(2)の少なくとも1つの制御機器機能(f
ECU)をテストする方法(1)であって、
前記第1の車両は
、少なくとも1つの環境センサ(6a)を有しており、
前記第1の車両(3a)および/または少なくとも1つの別の車両(3b)の複数の環境センサ(6a,6b,6c,6d)は、前記少なくとも1つの制御機器(2)および/または別の制御機器に、当該環境センサ(6a,6b,6c,6d)のセンサデータを供給し、前記少なくとも1つの制御機器機能(f
ECU)は、前記センサデータの少なくとも一部を入力量として処理し、前記第1の車両(3a)および存在する場合には、前記別の車両(3b)は、交通状況を表す環境(7)に存在しており、
前記第1の車両(3a)は
、第1の車両モデル(12a)を用いて前記シミュレータ(5)の計算ユニット(4)によってシミュレートされ、存在する場合には前記別の車両(3b)は
、別の車両モデル(12b)を用いて前記シミュレータ(5)の計算ユニット(4)によってシミュレートされ、前記環境センサ(6,6a,6b)は
、センサモデル(13,13a,13b)を用いて前記シミュレータ(5)の計算ユニット(4)によってシミュレートされ、前記環境(7)は環境モデル(14)を用いて前記シミュレータ(5)の計算ユニット(4)によってシミュレートされ、
前記モデルは
、単独でまたはグループで、直接的にアクセス可能な各メモリを備える少なくとも2つの計算ユニット(4a,4b)に分配され、
前記環境モデル(14)は、静的な環境データ(14a)と動的な環境データ(14b)とを含んでおり、
前記センサモデル(13)は
、入力量として、前記静的な環境データ(14a)および/または前記動的な環境データ(14b)を有している、方法において、
前記センサモデル(13,13a,13b)は、直接的にアクセス可能な各メモリを備える少なくとも2つの計算ユニット(4,4a,4b,4c)に分配され、
前記静的な環境データ(14a)を入力量として有しているセンサモデル(13a,13b)を備える前記計算ユニット(4b,4c)が識別され、
識別された前記計算ユニット(4b,4c)の前記直接的にアクセス可能なメモリ内に前記静的な環境データ(14a)が格納され、
前記静的な環境データ(14a)の格納が終了した後に、前記モデル(12,13,14)のシミュレーションが、直接的にアクセス可能な各メモリを備える前記計算ユニット(4,4a,4b,4c)上で同時に開始され、
前記静的な環境データ(14a)を入力量として有している前記センサモデル(13a,13b)が、当該各センサモデル(13a,13b)自体が位置付けされている、直接的にアクセス可能な各メモリを備える前記識別された計算ユニット(4b,4c)の前記静的な環境データ(14a)を使用し、
前記動的な環境データ(14b)は、前記計算ユニット(4,4a,4b,4c)のうちの1つの計算ユニット(4a)の前記直接的にアクセス可能なメモリ内にのみ格納されている、
ことを特徴とす
る方法(1)。
【請求項2】
前記静的な環境データ(14a)は、前記シミュレーションの開始前に、RAWフォーマット(E
stat,R)からデータ構築フォーマット(E
stat,S)に変換される、
請求項1記載の方法(1)。
【請求項3】
前記静的な環境データ(14a)は、前記識別された計算ユニット(4b,4c)の前記直接的にアクセス可能なメモリへ格納される前に、ホスト計算機(15)上でRAWフォーマット(E
stat,R)からデータ構築フォーマット(E
stat,S)に変換される、
請求項2記載の方法(1)。
【請求項4】
前記ホスト計算機(15)上でデータ構築フォーマット(E
stat,S)に変換された前記静的な環境データ(14a)が計算ユニット(4a)の前記メモリに、特に識別された計算ユニット(4)の前記直接的にアクセス可能なメモリに伝送され、当該メモリから、別の前記識別された計算ユニット(4b,4c)の前記直接的にアクセス可能なメモリに伝送され、当該メモリ内で格納される、
請求項3記載の方法(1)。
【請求項5】
前記静的な環境データ(14a)は、識別された1つの計算ユニット(4)の前記直接的にアクセス可能なメモリへ格納された後または識別された複数の計算ユニット(4a,4b,4c)の前記直接的にアクセス可能なメモリへ格納された後に、前記各計算ユニット(4a,4b,4c)によって、RAWフォーマット(E
stat,R)からデータ構築フォーマット(E
stat,S)に変換される、
請求項2記載の方法(1)。
【請求項6】
計算ユニット(4)の前記直接的にアクセス可能なメモリ内の前記静的な環境データ(14a)、特に識別された計算ユニット(4b,4c)の前記直接的にアクセス可能なメモリ内の前記静的な環境データ(14a)が前記計算ユニット(4a)によって、RAWフォーマット(E
stat,R)からデータ構築フォーマット(E
stat,S)に変換され、当該計算ユニット(4a)から、前記識別された計算ユニット(4b,4c)に伝送され、当該識別された計算ユニット(4b,4c)内で格納される、
請求項5記載の方法(1)。
【請求項7】
前記センサモデル(13a,13b)は、前記シミュレータ(5)のできるだけ少数の計算ユニット(4b,4c)に分配される、
請求項1から6までのいずれか1項記載の方法(1)。
【請求項8】
車両モデル(12a,12b)と当該車両モデル(12a,12b)に属する前記センサモデル(13a,13b)とが、1つの計算ユニット(4a,4b)および当該計算ユニットの前記直接的にアクセス可能なメモリに格納され、特に各車両モデル(12a,12b)は、自身に属するセンサモデル(13a,13b)とともに、別個の計算ユニット(4a,4b)に格納される、
請求項1から6までのいずれか1項記載の方法(1)。
【請求項9】
テストされるべき前記制御機器機能(f
ECU)は
、実際の制御機器(2)に実装されており、当該実際の制御機器(2)は、自身の制御機器-I/O-インタフェース(16)を介して、前記シミュレータ(5)を備える相応するシミュレータ-I/O-インタフェース(17)と接続されており、前記センサモデル(13)のシミュレートされた前記センサデータは
、前記実際の制御機器(2)に伝送される、
請求項1から8までのいずれか1項記載の方法(1)。
【請求項10】
前記テストされるべき制御機器機能(f
ECU)は
、仮想制御機器上に実装されており、前記仮想制御機器は、自身の仮想制御機器-I/O-インタフェースを介して、前記シミュレーションにおいて、前記センサモデル(13)のシミュレートされた前記センサデータを得る、
請求項1から8までのいずれか1項記載の方法(1)。
【請求項11】
前記第1の車両モデル(12a)、存在する場合には前記別の車両モデル(12b)、前記センサモデル(13)および前記環境モデル(14)が、第1のコンフィギュレーションに即して、前記計算ユニット(4)および当該計算ユニットの前記直接的にアクセス可能なメモリに分配され、前記計算ユニット(4)上での前記モデル(12,13,14)の最初のシミュレーションの間、前記計算ユニット(4)の利用率が求められ、前記計算ユニット(4)の求められた前記利用率に基づいて、前記モデルの再分配が、さらなるコンフィギュレーションに対して実行され、前記計算ユニット(4)の均等な利用率が、前記モデル(12,13,14)のシミュレーション時に結果として生じる、
請求項1から10までのいずれか1項記載の方法(1)。
【請求項12】
請求項1から11までのいずれか1項記載の方法(1)を実施するように構成されているシミュレータ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の計算ユニットを備えるシミュレータによって、少なくとも1つの第1の車両の少なくとも1つの制御機器の少なくとも1つの制御機器機能をテストする方法に関する。ここで第1の車両は少なくとも1つの第1の環境センサを有している。ここで、この第1の車両および/または少なくとも1つの別の車両の複数の環境センサは、少なくとも1つの制御機器および/または別の制御機器に、これらの環境センサのセンサデータを供給する。少なくとも1つの制御機器機能は、これらのセンサデータの少なくとも一部を入力量として処理する。第1の車両および存在する場合には別の車両は、交通状況を表す環境に存在している。第1の車両は、第1の車両モデルを用いてシミュレータの計算ユニットによってシミュレートされ、存在する場合には別の車両は別の車両モデルを用いてシミュレータの計算ユニットによってシミュレートされ、環境センサはセンサモデルを用いてシミュレータの計算ユニットによってシミュレートされ、環境は環境モデルを用いてシミュレータの計算ユニットによってシミュレートされる。ここでこれらのモデルは単独でまたはグループで、直接的にアクセス可能な各メモリを備える少なくとも2つの計算ユニットに分配される。ここで環境モデルは、静的な環境データと動的な環境データとを含んでおり、ここでセンサモデルは入力量として静的な環境データおよび/または動的な環境データを有する。さらに、本発明は、本発明のこの方法を実施するシミュレータに関する。
【0002】
上述した方法は、制御機器開発の幅広い領域において、制御機器機能性の開発およびそのテストのために使用される。最終的に使用される大量生産制御機器上への制御機器機能性の実装までの、制御機器機能性の、コンピュータによって支援され、かつモデルに基づいた開発は、何年も前から既知である。確立されている手法は、いわゆるVモデルである。ここでは複数の制御機器機能性が、はじめに、後に使用される制御機器のハードウェアと類似していないシミュレーション環境において、完全に、実際の物理的なプロセス、例えば車両から切り離されて開発される。このようにして得られた機能性は、性能の良い開発-制御機器上に実装され、実際のプロセスにおいて試されてよい。最終的に使用される目的ハードウェア、すなわち大量生産制御機器への制御機器機能性の伝送が最後に行われる。この大量生産制御機器のハードウェアは、-コストの点においても-影響されるべき技術的なプロセスに合うように調整および最適化されている。
【0003】
制御機器のテストは、いわゆるハードウェアインザループシミュレーション(HILシミュレーション)において、性能の良いシミュレータと関連して行われる。このシミュレータは、テストされるべき制御機器およびこの制御機器において実装される制御機器機能性の環境を、数学的なモデルを計算することによってシミュレートする。テストされるべき制御機器が実際に存在する場合、この種のシミュレータは、シミュレートされた環境データを相応するI/O-インタフェースを介して制御機器に出力することもできる。これとは逆に、制御機器から出力された信号が、同様に、相応するI/O-インタフェースを介して受信され、シミュレータにおいて計算されたモデルに供給されてよい。
【0004】
制御機器機能性をできるだけ早期に、実際に使用されるべき制御機器ソフトウェアでテストすることは極めて重要である。近年、このような理由から、大量生産制御機器、すなわち制御機器ハードウェアまたは少なくともハードウェアに近いソフトウェアも数学的なモデルによってコピーし、シミュレートするようになった。この種の制御機器は、極めて異なる物理的な詳細度でシミュレートされてよい。これは実際には存在していないので、ここでこれはしばしば、仮想制御機器のことである(VECU=Virtual Electronic Control Unit)。
【0005】
HILシミュレーションにおいてシミュレータが、テストされるべき制御機器の環境を、制御機器内に実装されている制御機器機能性とともにシミュレートすることが話題にされている場合には、これは、制御機器の信号に相応する環境であると理解されるべきである。これが例えばエンジン制御機器のことである場合、制御機器の信号に相応する環境は典型的に、エンジン制御にとって重要な信号、すなわち例えば、クランクシャフトおよび連接棒の回転角度、弁の位置、シリンダーヘッド温度、アクセルペダルの位置等を含んでいる。すなわちセンサデータは実質的に、内部の車両状態を測定技術によって検出するセンサによって供給される。
【0006】
比較的最近の技術は、車両内の環境センサの使用に関する。すなわち、実際に車両の内部状態量を検出するのではなく、日常語的な意味で、車両の環境を検出し、相応するセンサデータを作成するセンサの使用に関する。この種の環境センサとは例えばレーダーセンサのことであってよく、これは高い精度で間隔情報を提供する。また、この種の環境センサは、光学センサ、すなわちカメラであってよく、自身の光学的な検出領域におけるそのセンサデータによって、撮影された交通状況の分析が実行され、このようにして例えばこの環境の標識に関する情報が提供されてよい。またこの種の環境センサは、評価電子回路を備えるアンテナであってもよく、これは、この車両の位置および運動に関する、周囲の車両から送信された情報を検出および評価する。車両の環境に関する情報を供給する別の環境センサが多く存在する。
【0007】
環境センサの使用はしばしば、運転者支援システム(ADAS=Advanced Driver Assistance Systems)または自動車両制御(HAD=Highly Automated Driving)において役割を担う。環境センサがしばしば膨大なデータ量を検出し、処理しなければならないことは明白である。これに相応して、車両内に構築されており、環境センサのセンサデータが供給される制御機器の完全な環境をシミュレートすることも困難である。ここで、制御機器に必ずしも、(冒頭で第1の車両と称された)自身の車両の環境センサのセンサデータが供給されなければいけないわけではなく、この制御機器に、別の車両の環境センサのセンサデータが供給されても全く構わない。これは例えば、第1の車両の上述したアンテナを介して受信される。
【0008】
第1の車両および/または少なくとも1つの別の車両の多数の環境センサが少なくとも1つの制御機器および/または別の制御機器に、環境センサのセンサデータを供給することが予備的に述べられる場合には、これによって、複数の可能なシナリオが意図されており、これらのシナリオに共通して、多数の環境センサ、すなわち少なくとも2つの環境センサが存在している。これらの環境センサがどこに位置付けされているのか、すなわち1つの車両内に位置付けされているのか、または複数の車両内に位置付けされているのか、およびこれらの環境センサが幾つの制御機器および制御機器機能にセンサデータを供給するのかはここでは重要でない。例えば、複数の環境センサが1つの車両内に構築されていてよく、またそれぞれ1つの環境センサが少なくとも2つの異なる車両内に構築されていてもよい。少なくとも2つの環境センサが異なる制御機器にセンサデータを供給してもよいが、これらの環境センサが1つの制御機器だけにセンサデータを供給してもよい。
【0009】
環境センサが構築されている車両の環境(ここで用語「環境」は自身の日常語的な意味でも使用されており、信号に関する意味においてだけ使用されているのではない)を検出する環境センサの使用は、シミュレーションの際に、関与する全てのコンポーネントの数学的なコピーを必要とする。たとえば第1の車両は、第1の車両モデルによって数学的にコピーされ、シミュレートされる。さらに、存在する別の車両が、別の車両モデルによって数学的にコピーされることがあり、この場合にはこの車両モデルのモデル化深さは変化し得る。第1の車両および/または別の車両の環境センサは数学的なセンサモデルによって記述され、シミュレーションに用いられる。同様に、車両が動き、したがって通常は交通状況を表す環境が、環境モデルによって数学的にコピーされる。次に、全ての数学的なモデルが、時間的に相互に調整されて、シミュレータの計算ユニットによってシミュレートされる。これらの数学的なモデルのサイズおよび複雑さならびに数学モデルをリアルタイムで計算することを可能にする要求(少なくともHILテストにおいては)に基づいて、シミュレーションのために、しばしば複数の計算ユニットを備えるシミュレータが使用される。これらの計算ユニットは、通常、それぞれ、固有のメモリを備えた独立したプロセッサボードである。計算ユニット同士は、外部のデータバスを介して情報を交換してよく、シミュレーションにおいては情報も交換しなくてはならない。なぜなら、種々のモデルは、当然ながら、相互に関連しているからである。固有の計算ユニットを備える複数の独立した計算器およびそこにおいて各計算ユニットによって直接的にアクセス可能なメモリも可能である。ここでこれらの計算器は、データ交換のために相互に結合される。同様に、複数のプロセッサコアを備えるプロセッサも可能であり、ここでは各プロセッサコアは計算ユニットとして解釈される。車両モデルの計算のために、当然ながら、車両の位置が重要であり、さらにこれに付随する、環境モデルから生じる交通状況も重要である。同様に、センサモデルの計算は、環境における車両の位置に関連し、また車両モデルの計算から生じる車両運動の動的な特性にも関連する。
【0010】
環境モデルは当然ながら、静的な環境データも動的な環境データも含んでいる。静的な環境データには、環境における経時的に変化しない全ての対象物が属する(道路の経過、建物、標識、また交通参加者の静的な測定量も含む)。動的な環境データには、別の車両の運動データまたは例えば歩行者の運動データが挙げられる。環境モデルは、これらの環境データに基づいて、例えば、交通参加者の位置データの計算も可能にする。環境データの大部分は、静的な環境データが占める。
【0011】
従来技術から、制御機器テストのために環境シミュレーションを実行可能にする方法が既知である(dSPACE GmbH:’’ASM Traffic, dSPACE Automotive Simulation Modells (ASM)’’,製品パンフレット 2016年)。環境、すなわち交通状況は、ここで、ユーザーによって作成される。これは、対象物(道の要素、交通標識、交通参加者等)が選択され、全体環境に編成されることによって行われる。環境の編成時の選択は、環境データのRAWフォーマットでの環境の記述を生じさせる。したがって複雑な環境の場合に、容易に、唯一の、統一されたモデルを作成することができる。
【0012】
さらに、環境記述を取り込むことも可能である。これは例えば、いわゆるOpenDRIVE-フォーマットでの記述である。このフォーマットも、本発明では、RAWフォーマットである。通常、シミュレーションのために、RAWフォーマットで存在するデータは、データ構築フォーマットに変換されなければならない。場合によっては、取り込まれたデータの場合には、さらに別のデータ変換が行われるだろう。すなわち、OpenDRIVE-フォーマットからの、取り込まれた(RAW)データの、環境モデル化ツールのRAWデータもしくは対象物への変換である。
【0013】
本発明の課題は、制御機器の制御機器機能をテストする、冒頭に記載した方法を、シミュレータの使用されているハードウェアができるだけ有利に利用されるように改良すること、もしくは本発明の方法を実施するように構成されているシミュレータを提供することである。
【0014】
上述した課題は、冒頭に記載した方法において、第1にかつ実質的に次のことによって解決される。すなわち、センサモデルが、直接的にアクセス可能な各メモリを備える少なくとも2つの計算ユニットに分配され、静的な環境データを入力量として有しているセンサモデルを備える計算ユニットが識別され、識別された計算ユニットの直接的にアクセス可能なメモリ内に静的な環境データが格納され、静的な環境データの格納が終了した後に、複数のモデルのシミュレーションが、直接的にアクセス可能な各メモリを備えるこれらの計算ユニット上で同時に開始され、静的な環境データを入力量として有しているセンサモデルが、各センサモデル自体が位置付けされている、直接的にアクセス可能な各メモリを備える識別された計算ユニットの静的な環境データを使用する、ということによって解決される。
【0015】
表現「計算ユニットの識別」によって、次のことが意図されている。すなわち、どの計算ユニット上で、静的なデータを入力量として有しているセンサモデルが実行されるのかが識別もしくは特定されることが意図されている。このために種々の方法がある。通常は、複数の計算ユニットを備えるシステムに対してシステム記述が作成される。この記述から例えば、どの計算ユニット上でどのセンサモデルが計算されるべきなのか、相応する情報が得られる。考えられる別の手法は、ユーザーによって格納されているモデル内の設定を確かめることであろう。
【0016】
本発明の方法は種々の点において有利である。まずは少なくとも2つの計算ユニットにセンサモデルを分配することによって、いずれにせよ全てのセンサモデルが唯一の計算ユニット上で計算される場合に測定された、個々の計算ユニットに対する計算負荷が低減される。静的な環境データが、そのセンサモデルが入力量としての静的な環境データで動作する全ての計算ユニットおよびその直接的にアクセス可能なメモリに格納されるという措置によって、データ交換が格段に低減される。なぜなら、静的な環境データは、静的な環境データが計算のために必要とされる場所に既に存在しているからである。これによって、種々の計算ユニットの間の、交換されるべきデータの量が格段に低減される。場合によっては、依然として、動的な環境データが、計算ユニット間で交換されなければならない。しかしこれは、比較すると、静的な環境データに対して極めて僅かなデータである。静的な環境データを入力量として有しているセンサモデルが、このセンサモデル自体も位置付けされている計算ユニットもしくはこの計算ユニットの直接的にアクセス可能なメモリに位置付けされている静的な環境データで動作するという状況によって、全体的に、シミュレーションの間、シミュレータの計算ユニット間で静的な環境データが伝送されなくてよくなる。
【0017】
この方法の有利な構成では、静的な環境データは、シミュレーションの開始前に、RAWフォーマットからデータ構築フォーマットに変換される。静的な環境データのRAWフォーマットとは、静的な環境のデータでの記述であり、これはシミュレータのシミュレーション環境(ソフトウェア)にも、シミュレータおよびその計算ユニットの機器的な設備(ハードウェア)にも整合されていない。これは例えば、単に、ダブル値(Double-Werten)の長いベクトルであり得る。このRAWデータを、シミュレータのシミュレーション環境によって理解されるデータ構築フォーマットに再計算することは、比較的複雑で、時間がかかる。この方法を改良することによって、シミュレーションを加速することができる。これは、RAWフォーマットからデータ構築フォーマットへの静的な環境データの変換を事前に行い、シミュレーションの構成部分ではなくすること、たとえば環境モデルの一部ではなくすることによって行われる。これによってさらなる利点が生じる。すなわち、マルチプロセッサーシミュレーションにおけるプロセッサ間のデータ交換のために、容量を超えるほど大量の静的な環境データを必要とする複数のセンサモデルが、環境モデルのように、同一のプロセッサコア上で計算される必要がない、という利点である。これによって、環境モデルの配置に関連しない、シミュレータの複数のプロセッサへのセンサモデルの柔軟な分配の手法が実現される。
【0018】
以下では、データ構築フォーマットでの情報に対する2つの例が示されている。第1の例は、道路標識の記述を示している。
struct traffic_sign /* traffic signs and traffic lights */
{
int_T sign_type; /* type of sign: 1=light, 2=priority, 3=speed, 4=overtake, ... */
int_T sign_value; /* specification of sign or signal */
int_T sign_id; /* unique sign identifier */
int_T sign_cond; /* condition of traffic sign (visibility, dirt, aging) 0..100 */
};
【0019】
第2の例は、交通参加者の概要を記述するデータ構造に関する。
struct box_dimension /* dimension of bounding box */
{
real_T center_x; /* position vector (main point to center point) x-coordinate */
real_T center_y; /* ’’ y */
real_T center_z; /* ’’ z */
real_T length_x; /* length of box in x direction */
real_T length_y; /* ’’ y */
real_T length_z; /* ’’ z */
};
【0020】
静的な環境データの事前の変換の有利な発展形態では、静的な環境データは、識別された計算ユニットの直接的にアクセス可能なメモリ内に格納される前に、ホスト計算機上で、RAWフォーマットからデータ構築フォーマットに変換される。これによってシミュレータの負荷がさらに低減される。
【0021】
この方法の択一的な構成では、静的な環境データは、識別された1つの計算ユニットの直接的にアクセス可能な1つのメモリ、または識別された複数の計算ユニットの直接的にアクセス可能な複数のメモリへの格納の後に、各計算ユニットによって、RAWフォーマットからデータ構築フォーマットに変換され、これは例えば、相応する変換機能が各計算ユニット上に準備されることによって行われる。この手法の利点は、変換の際に、実際に自動的に、正しいデータフォーマットが作成される、すなわち例えば、基になる各計算ユニットの要求を満たす正しい長さのダブル値が作成されるということである。
【0022】
静的な環境データの処理もしくはRAWフォーマットからデータ構築フォーマットへの静的な環境データの変換の実行とは別に、本発明の方法は、種々の計算ユニットへの種々のモデルの分配に関しても最適化される。
【0023】
たとえば有利な実施例では、複数のセンサモデルは、シミュレータのできるだけ少数の計算ユニットに分配される。これによって、環境データの交換によって生じるデータ搬送が最少化される。センサモデルの計算だけが、このために作業されるべき大きいデータ量が原因で、特にコストがかかってしまうということから出発して、自動的に、良好な負荷分配が得られるので、この手法は有利である。付加的に、環境モデルのモデル部分も動的なデータの計算に対して、これらの計算ユニット上で計算されてもよく、これによってデータ搬送がさらに低減される。センサモデルをできるだけ少数の計算ユニットに集中させることによって、少数の該当する計算ユニット上だけで同じデータが保持されればよくなり、これによって、メモリの需要がより少ない解決策が得られる。
【0024】
これに対して択一的な、この方法の発展形態では、車両モデルとこの車両モデルに属するセンサモデルとが1つの計算ユニットおよびその直接的にアクセス可能なメモリに格納され、ここで特に有利には、属するセンサモデルとともに各車両モデルが、固有の、別個にされた計算ユニットに格納され、この場所でシミュレーションにおいて計算も行われる。このような構成によって、車両モデルに対するセンサモデルの論理的な割り当てが保証され、計算ユニット間のコミュニケーションが低減される。さらに、そのようにして、必要な計算ユニットの数も低減される。なぜなら、一貫して、車両全体が、自身に割り当て可能な環境センサとともに、共通の計算ユニット上で計算されるからである。さらなる利点は、シミュレータ上での車両モデルの交換が格段に容易になるということである。なぜなら、このような交換に関与するのは1つの計算ユニットだけだからである。さらに、このモデル化は、明瞭さも増している。
【0025】
この方法の別の構成では、テストされるべき制御機器機能が実際の制御機器上に実装されており、実際の制御機器が自身の制御機器-I/O-インタフェースを介して、シミュレータを備える相応するシミュレータ-I/O-インタフェースと接続されており、環境センサのシミュレートされたセンサデータが実際の制御機器に伝送される。すなわちこれによって、物理的に存在する制御機器と、この制御機器上に実装されている制御機器機能とが、従来のHILシミュレーションの様式でテストされる。この場合には、種々のモデルが、シミュレータ上でリアルタイムに計算されることが望まれる。なぜなら、実際の制御機器は当然、リアルタイムでも動作されるからである。
【0026】
択一的な手法では、テストされるべき制御機器機能は、仮想制御機器上に実装される。ここでこの仮想制御機器は、自身の仮想の制御機器-I/O-インタフェースを介して、シミュレーションにおいて、環境センサのシミュレートされたセンサデータを得る。これは、仮想制御機器での動作時の手法に相応する。種々の計算ユニットへの複数のセンサモデルの本発明の分配およびこれによって生じる、シミュレーション速度の上昇は、ここで、圧縮された時間でシミュレーションを実行することを可能にする。そのように、例えば、シミュレートされるべき多くの走行キロ数を極めて短い時間期間で走行し終えることが可能になり、例えば100万キロメートルを僅か72時間で遂行することができる。シミュレータはここでは1つのPCによって、または複数のPCのクラスターによって置き換えられてよい。
【0027】
シミュレータの複数の計算ユニットへの種々のモデルの分配の最適化は、さらに、次のことによって実現される。すなわち、第1の車両モデルおよび存在する場合には別の車両モデル、センサモデルおよび環境モデルが、第1のコンフィギュレーションに即して、計算ユニットおよび直接的にアクセス可能なそのメモリに分配されることによって実現される。このような分配は、自動的に、ランダムにまたは特定の分配規則にしたがって行われてよいが、これがユーザーによって行われてもよい。さらに、計算ユニット上でのモデルの最初のシミュレーションの間、これらの計算ユニットの利用率が求められ、計算ユニットのこの求められたこの利用率に基づいて、自動的に、モデルの再分配が、別のコンフィギュレーションに対して実行される。したがって、計算ユニットの均等な利用率が、モデルのシミュレーション時に結果として生じる。
【0028】
上述した課題は同様に、本発明の方法を実施するように構成されているシミュレータによって解決される。
【0029】
詳細には、本発明の方法を改良し、アレンジする複数の方法がある。これに関しては、請求項1に後続する請求項と、図面と関連した有利な実施例の説明とを参照されたい。
【図面の簡単な説明】
【0030】
【
図1】交通状況を表す環境における、環境センサを備える概略的な車両
【
図2】種々の計算ユニット上の、静的な環境データを必要とするセンサモデルを備える、本発明の方法を実施するシミュレータの概略図
【
図3】複数の車両モデルを備える、本発明の方法を実施するためのシミュレータの概略図
【
図4】種々の計算ユニット上の、複数の車両モデルへの中央分配を備えるシミュレータ
【
図5】ホスト計算機上でのRAWフォーマットからデータ構築フォーマットへの静的な環境データの変換を備える、
図2に示されたシミュレータ
【
図6】計算ユニット上でのデータ構築フォーマットでの環境データの択一的な分配を備える、
図5に示された実施例
【
図7】種々の計算ユニットとRAWフォーマットからデータ構築フォーマットへの静的な環境データの択一的な変換とを備えるシミュレータ
【
図8】択一的な変換と計算ユニットへの静的な環境データの分配とを備えるシミュレータ
【
図9】制御機器機能性をテストする、接続されている実際の制御機器を備えるシミュレータ
【0031】
図2から9にはそれぞれ、複数の計算ユニット4、4a、4b、4cを備えるシミュレータ5によって、少なくとも1つの第1の車両3aの少なくとも1つの制御機器2の少なくとも1つの制御機器機能f
ECUをテストする方法1が示されている。
【0032】
図1は、シミュレータ5内での交通状況のシミュレーションに基づいてシミュレートするのに妥当な概略的な状況および周辺条件を示している。この図の下方では、まずは、概略的に、制御機器2を伴う第1の車両3aが見て取れる。この制御機器2と複数の環境センサ6、すなわちレーダーセンサ6a、6b、走行方向に向けられたカメラ6cおよび無線受信器6dとが接続されている。この無線受信器は例えば、別の車両3bの位置データおよび運動データを受信するのに用いられる。環境7は、道路8、建物および交通誘導建築物9、交通標識10および信号機11を内容とする交通状況を有している。
【0033】
車両3a、3bが環境7を通って動いている間、環境センサ6は、多数のセンサデータを供給し、制御機器2にこれが供給される。環境センサ6と制御機器2との間の接続はここでは信号線路として、すなわち固定の接続として記号化されているが、技術的に可能であり、かつ許される場合には、これが無線接続であってもよい。
【0034】
制御機器2内に実装されている制御機器機能fECUは、これらのセンサデータの少なくとも一部を入力量として処理する。重要なのは、制御機器2内に実装されている制御機器機能fECUが、望まれているように、すなわち仕様に即して機能しているか否かである。シミュレータ5上のシミュレーションにおいて見出すことを可能にするために、関与しているコンポーネントが数学的なモデルによって機能的にコピーされ、シミュレータ5の計算ユニット4上で計算される。
【0035】
シミュレータ5による、
図1に示された例示的に説明された交通状況の計算をここで、
図2に基づいて説明する。まずは、第1の車両3aが、第1の車両モデル12aによってコピーされる。この場合には、車両モデル12aは、ここでは明確に示されていない、制御機器2のモデルも、さらに、ここに実装されており、関心の対象である制御機器機能f
ECUも有している。別の車両3bがシミュレーションに関与している場合、これは、別の車両モデル12bの形態で記述される(
図3以下を参照)。環境センサ6、6a、6bは、センサモデル13、13a、13bによってモデル化され、環境7は、環境モデル14によって記述される。
【0036】
環境モデル14は静的な環境データ14aと動的な環境データ14bとを含んでいる。静的な環境データ14aは、静的で、動かない対象物を記述する、または可動対象物の、静的で、変化しない測定量も含んでいる。しかしこれは、可動対象物の可変の位置データは含んでいない。すなわちこれは、道路の経過、建築対象物、交通案内のための対象物、看板、車両の測定量を含んでいる。動的な環境データ14bは、例えば、車両3の可変の位置データ、例えば歩行者または自転車運転者である別の交通参加者または経時的に変化する交通マーク、例えば信号機11を含んでいる。
【0037】
本発明ではモデル化環境に、-例えば選択可能な対象物での付加的な情報によって-環境モデルの対象物のうちのどれが静的なデータとして扱われるべきかおよび環境モデルの対象物のうちのどれが動的なデータとして扱われるべきかもしくはどのデータが既にシミュレーションの前に、適切なデータ構築フォーマットに変換可能かが格納される。これは相応に、取り入れられたデータもしくはここから作成された対象物に対して相応に有効である。
【0038】
容易に識別されるように、種々のモデル12、13および14は、シミュレータ5の異なる計算ユニット4a、4b、4cに分配される。シミュレータ5はここではマルチプロセッサシステムである。
【0039】
シミュレータ5の計算ユニット4は相互に、情報を交換することができる。これは、全ての図の双方向矢印によって意図されている。計算ユニット4はそれぞれ、直接的にアクセス可能な各メモリも含んでいる。このメモリはここでは別個に示されておらず、同様に、計算ユニット4の範囲において、示されているマイクロプロセッサまたは他の計算機構は少ない。計算ユニットによって直接的にアクセス可能なメモリによって、例えば、直接的にアドレッシング可能な作業メモリが意図されており、これには、比較的少ないサイクル内でアクセスすることができる。または、プロセッサコアのランダムアクセスメモリ(RAM)も意図されている。したがって計算ユニット4による、直接的にアクセス可能なメモリへのアクセスは極めて迅速に行われ、いずれにせよ直接的にアクセス可能でないメモリへのアクセス、すなわち例えば、外部のデータチャネル(計算ユニット4a、4b、4c間の双方向矢印)を介してのみ行われ得る、例えば別の計算ユニットのメモリへのアクセスに比べて極めて迅速に行われる。一般的な場合において、センサモデル13は入力量として、静的な環境データ14aおよび/または動的な環境データ14bを得る。
【0040】
本発明では、シミュレータ5上でのシミュレーションにおいて、計算ユニット4a、4b、4cの間のデータ交換に重要な意味があり、シミュレーションが極めて迅速に実行されるか否かまたはむしろ緩慢に実行されるか否かに対して、このデータ交換が重要であり得る、ということが認識されている。複数の計算ユニット4を有しているシミュレータ5上での計算の際にできるだけ高いシミュレーション速度を実現するために、
図2から9に示された全ての方法1で、センサモデル13、13a、13bが、直接的にアクセス可能な各メモリを備える少なくとも2つの計算ユニット4、4a、4b、4cに分配される。
【0041】
付加的に、静的な環境データ14aを入力量として有しているセンサモデル13a、13bを備える計算ユニット4b、4cが識別される。次に、シミュレーションのために、識別された計算ユニット4b、4cの直接的にアクセス可能なメモリ内に、静的な環境データ14aが格納される。静的な環境データ14aの格納が終了した後に、モデル12、13、14のシミュレーションが、直接的にアクセス可能な各メモリを備える複数の計算ユニット4上で同時に開始される。モデルのこのような分配によって、静的な環境データ14aを入力量として必要としているセンサモデル13、13a、13bが、各センサモデル13a、13b自体が位置付けされている、識別された計算ユニット4b、4cの静的な環境データ14aを使用することが可能になる。すなわちセンサモデル13a、13bは、これによって、直接的にアクセス可能なメモリへの迅速なアクセスという利点を得ることができる。したがってシミュレーションの間、シミュレータ5の計算ユニット4、4a、4b、4cの間で静的な環境データ14aを伝送しなくてよくなり、またこのような設定もされない。これによって、大きい速度効果が得られる。なぜなら、静的な環境データ14aは、動的な環境データ14bと比べて、格段に大きいからである。これによって、多くの場合に、所望のシミュレーションが、全く始めて可能になる。これは例えば、速度要求がシミュレーションの基礎になる場合である。従来のHILシミュレーションでは、これは、リアルタイムシミュレーションへの要求である。
【0042】
特に、静的な環境データ14aを入力量として有しているセンサモデル13a、13bの分配に対するこのような一般的な教示を考慮して、種々の利点を有している、モデル分配の種々の変形が可能である。
図2に示された実施例では、例えば、該当する計算ユニット4b、4cがセンサモデル13a、13bだけを計算するように、センサモデル13a、13bがシミュレータ5の計算ユニット4b、4cに分配されることが実現される。
【0043】
図3では、シミュレータ5上でのシミュレーションは、複数の車両モデル12a、12bを含んでいてよい。図示の実施例では、それぞれ別の車両モデル12bが、別の計算ユニット4c上で計算される(重なって広げられた複数のブロックによって記号化されている)。別の計算ユニット4b(同様に、重なって広げられた複数のブロックとして記号化されている)上では、静的な環境データ14aを入力量として必要としているセンサモデル13aが計算される。図示の実施例では、車両モデル12およびセンサモデル13の計算は、相互に依存せずに、異なる計算ユニット4上で行われる。計算ユニット4bの計算能力が許す場合、複数のセンサモデル13が1つの計算ユニット4b上で計算されてもよく、これによって、計算ユニット4の使用が低減され得る。同様のことが当然ながら、合理的に、車両モデル12の計算にも当てはまる。ここでも、該当する計算ユニット4の計算能力が許す限り、1つの計算ユニット4上で複数の車両モデル12が計算され得る。
【0044】
図4には、種々の計算ユニット4上のモデル12、13、14の分配の別の可能な変形が示されている。車両モデル12a、12bと、この車両モデル12a、12bに属するセンサモデル13a、13bとが1つの計算ユニット4a、4bおよびその直接的にアクセス可能なメモリに格納されるという考察がこの分配の基礎となる。この場合には、むしろ、自各車両モデル12a、12bが自身に属するセンサモデル13a、13bとともに別個の計算ユニット4a、4bに格納される。例えば車両モデル12の容易な交換可能性に関して、種々のモデルの間の論理的な関係を維持するのは有利である。なぜならここでは、それぞれ1つの計算ユニット4だけが、車両モデル12の交換時に処理されればよいからである。これは、シミュレーションおよびシミュレーション構築のモジュール性および運用性を高める。
【0045】
図5から8には、シミュレーションの開始前に静的な環境データ14aをRAWフォーマットE
stat,Rからデータ構築フォーマットE
stat,Sに変換するという考案の種々の形態および構成が示されている。静的な環境データ14aのRAWフォーマットE
stat,Rは、静的な環境データの一般的な記述である。これは、特別なシミュレーション環境のためのものでも、特定のハードウェアのためのものでもない。シミュレータ5の計算ユニット4上のこのようなデータをアクセス可能かつ解析可能にするために、これらは、データ構築フォーマットE
stat,Sに変換されなければならない。このような変換過程は、比較的時間がかかり、したがってシミュレーション経過から外に出され、シミュレーションの実行の前に行われる。特にシミュレーションが再び同じモデル基礎上で実行される場合には、これによって、格段の時間削減が可能である。計算ユニット4上でのシミュレーションの開始前に、同期化において、例えば、全ての識別された計算ユニット4b、4c上で、静的な環境データがデータ構築フォーマットE
stat,Sで存在していることを示す、プロセッサ特有のフラグが設定されているか否かが検査される。
【0046】
図5に示された実施例では、静的な環境データ14aは、識別された計算ユニット4b、4cの直接的にアクセス可能なメモリへ格納される前に、ホスト計算機15上で、RAWフォーマットE
stat,Rからデータ構築フォーマットE
stat,Sに変換される。次に、ホスト計算機15から、変換された静的な環境データ14aが個々の計算ユニット4a、4b、4cへ伝送される。識別された計算ユニット4b、4cの他に、計算ユニット4aも静的な環境データ14aを得る。なぜなら、その上で、完全な計算モデル14が計算されるからである。変換のために、ホスト計算機15は、計算ユニット4上のソフトウェア的およびハードウェア的な状況を正確に知っていなければならない。シミュレータ5が例えば、1つの車両モデルだけが計算される別の計算ユニットを有している場合、静的な環境データは、この計算ユニットに伝送されないだろう。
【0047】
図6に示されている実施例は、
図5に示されている静的な環境データ14aの分配パターンに対する変形を示している。ここでは、ホスト計算機15上でデータ構築フォーマットE
stat,Sに変換された静的な環境データ14aが、計算ユニット4aのメモリに伝送され、このメモリから、別の識別された計算ユニット4b、4cの直接的にアクセス可能なメモリに伝送され、このメモリ内で格納される。その他の点で、この状況は、
図5の状況に相応する。
【0048】
図7に示された方法は別のストラテジーを実行する。ここでは、静的な環境データ14aがまずは、RAWフォーマットE
stat,Rで、識別された1つの計算ユニット4の直接的にアクセス可能なメモリまたは識別された複数の計算ユニット4a、4b、4cの直接的にアクセス可能なメモリ内に格納される。ここでは、RAWフォーマットE
stat,Rで存在する静的な環境データ14aが次に各計算ユニット4a、4b、4cによってデータ構築フォーマットE
stat,Sに変換される。この手法は、特に、種々の計算ユニット4、4a、4b、4cを備える異質性のハードウェアに適している。各計算ユニット4のハードウェアに関連する特別性はここではほぼ自動的に考慮される。
【0049】
図8に示された構成は特に、計算ユニット4、4a、4b、4cが比肩可能であり、したがって静的な環境データ14aの変換が当然ながら1つの計算ユニット4a上でのみ実行可能である場合に適しており、ここではデータ構築フォーマットE
stat,Sでの静的な環境データ14aの形態の変換結果が、別の計算ユニット4b、4cに対して同様に使用可能である。すなわち、計算ユニット4aの直接的にアクセス可能なメモリ内の静的な環境データ14aが計算ユニット4aによって、RAWフォーマットE
stat,Rからデータ構築フォーマットE
stat,Sに変換され、この計算ユニット4aから、識別された計算ユニット4b、4cに伝送され、この計算ユニットで格納される。
【0050】
図2から
図8では、制御機器は常に、車両モデル12aの構成部分として現れている。しかし
図9に示された実施例では制御機器2は実際に存在しており、すなわち仮想制御機器の形態ではない。すなわち制御機器機能f
ECUが制御機器2内に実装されている。制御機器機能f
ECUをテストすることを可能にするために、相応する入力量が相応するインタフェースを介して提供されなければならない。したがってこの手法では、テストされるべき制御機器機能f
ECUが実際の制御機器2上に実装されており、実際の制御機器2が自身の制御機器-I/O-インタフェース16を介して、シミュレータ5を備える相応するシミュレータ-I/O-インタフェース17と接続されており、センサモデル13のシミュレートされたセンサデータが実際の制御機器2に伝送される。これとは逆に、シミュレータ5が、制御機器2上で計算され、かつ制御機器2から出力された信号を受信し、別のシミュレーションに供給してもよい。
【符号の説明】
【0051】
1 方法、 2 制御機器、 3 車両、 3a 車両、 3b 車両、 4 計算ユニット、 4a 計算ユニット、 4b 計算ユニット、 4c 計算ユニット、 5 シミュレータ、 6 環境センサ、 6a 環境センサ、 6b 環境センサ、 6c 環境センサ、 6d 環境センサ、 7 環境、 8 道路、 9 建物、 10 交通標識、 11 信号機、 12 車両モデル、 12a 車両モデル、 12b 車両モデル、 13 センサモデル、 13a センサモデル、 13b センサモデル、 14 環境モデル、 14a 静的な環境データ、 14b 動的な環境データ、 15 ホスト計算機、 16 制御機器-I/O-インタフェース、 17 シミュレータ-I/O-インタフェース、 Estat,R RAWフォーマット、 Estat,S データ構築フォーマット、 fECU 制御機器機能