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

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

▶ 株式会社ネクスティエレクトロニクスの特許一覧

特許7141508協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム
<>
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図1
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図2
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図3
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図4
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図5
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図6
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図7
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図8
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図9
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図10
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図11
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図12
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図13
  • 特許-協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-09-13
(45)【発行日】2022-09-22
(54)【発明の名称】協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム
(51)【国際特許分類】
   G06F 30/20 20200101AFI20220914BHJP
   G06F 30/15 20200101ALN20220914BHJP
【FI】
G06F30/20
G06F30/15
【請求項の数】 19
(21)【出願番号】P 2021169230
(22)【出願日】2021-10-15
【審査請求日】2021-10-15
(73)【特許権者】
【識別番号】517146655
【氏名又は名称】株式会社ネクスティエレクトロニクス
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100147991
【弁理士】
【氏名又は名称】鳥居 健一
(74)【代理人】
【識別番号】100201743
【弁理士】
【氏名又は名称】井上 和真
(72)【発明者】
【氏名】林 則和
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2013-137658(JP,A)
【文献】特開2006-133912(JP,A)
【文献】特開2013-084163(JP,A)
【文献】特開2016-004338(JP,A)
【文献】特開2009-252113(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/20
G06F 30/15
(57)【特許請求の範囲】
【請求項1】
仮想移動体の挙動を模擬するための移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより、前記移動体モデルの状態量を算出するように構成された第1のシミュレータと、
前記第1のシミュレータにより算出された状態量に基づき、前記仮想移動体の周辺における外界環境を模擬するための外界環境モデル、及び前記外界環境内に存在する対象物体を検出する外界センサの動作を模擬するための外界センサモデルを用いた計算機シミュレーションを前記第1の演算周期よりも長い第2の演算周期にて実行することにより、前記外界センサモデルのセンサ計測量を算出するように構成された第2のシミュレータと、
制御シミュレーションを実行するように構成された制御シミュレータと、
前記第1のシミュレータの計算機シミュレーション、前記第2のシミュレータの計算機シミュレーション及び前記制御シミュレーションを協調させる協調制御器と
を備え、
前記協調制御器は、前記第2の演算周期よりも短い第3の演算周期にて、前記状態量及び前記センサ計測量に基づいて補間センサ計測量を算出するように構成され、
前記制御シミュレータは、前記補間センサ計測量に基づいて前記制御シミュレーションを実行する、
ことを特徴とする協調シミュレーションシステム。
【請求項2】
請求項1に記載の協調シミュレーションシステムであって、前記協調制御器は、前記第2の演算周期の粗さを補償するように前記補間センサ計測量を算出するように構成されている、協調シミュレーションシステム。
【請求項3】
請求項1または2に記載の協調シミュレーションシステムであって、前記協調制御器は、前記第1のシミュレータと前記第2のシミュレータとの間のデータ授受にかかる遅延時間を補償するように前記補間センサ計測量を算出するように構成されている、協調シミュレーションシステム。
【請求項4】
請求項1から3のうちのいずれか1項に記載の協調シミュレーションシステムであって、前記協調制御器は、前記第2のシミュレータにより前記センサ計測量の算出に使用された当該仮想移動体の状態量と、前記第1のシミュレータにより算出された状態量との間の状態差分を算出し、前記状態差分及び前記センサ計測量に基づいて前記補間センサ計測量を算出するように構成されている、協調シミュレーションシステム。
【請求項5】
請求項1から4のうちのいずれか1項に記載の協調シミュレーションシステムであって、前記外界センサモデルは、前記仮想移動体と前記対象物体との間の距離を計測する測距センサの動作を模擬するための測距センサモデルである、協調シミュレーションシステム。
【請求項6】
請求項1から4のうちのいずれか1項に記載の協調シミュレーションシステムであって、
前記外界センサモデルは、センサ計測範囲内で前記仮想移動体と前記対象物体との間の距離を計測する測距センサの動作を模擬するための測距センサモデルであり、
前記協調制御器は、前記第1のシミュレータにより算出された状態量を用いて前記センサ計測範囲を補正するための補正量を算出し、当該補正量を前記第2のシミュレータに供給して前記センサ計測範囲を補正させるように構成されている、協調シミュレーションシステム。
【請求項7】
仮想移動体の挙動を模擬するための移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより、前記移動体モデルの状態量を算出するように構成された第1のシミュレータと、
前記第1のシミュレータにより算出された状態量に基づき、前記仮想移動体の周辺における外界環境を模擬するための外界環境モデル、及びセンサ計測範囲内で前記外界環境内に存在する対象物体と前記仮想移動体との間の距離を計測する測距センサの動作を模擬するための測距センサモデルを用いた計算機シミュレーションを前記第1の演算周期よりも長い第2の演算周期にて実行することにより、前記測距センサモデルのセンサ計測量を算出するように構成された第2のシミュレータと、
制御シミュレーションを実行するように構成された制御シミュレータと、
前記第1のシミュレータの計算機シミュレーション、前記第2のシミュレータの計算機シミュレーション、及び前記制御シミュレーションを協調させる協調制御器と
を備え、
前記協調制御器は、前記状態量を用いて前記センサ計測範囲を補正するための補正量を算出し、当該補正量を前記第2のシミュレータに供給して前記センサ計測範囲を補正させるように構成されている、
ことを特徴とする協調シミュレーションシステム。
【請求項8】
請求項6または7に記載の協調シミュレーションシステムであって、前記補正量の算出に用いられる当該状態量は、前記移動体モデルの位置変化または姿勢変化を表す物理量である、協調シミュレーションシステム。
【請求項9】
請求項1から8のうちのいずれか1項に記載の協調シミュレーションシステムであって、前記第1のシミュレータ、前記第2のシミュレータ及び前記協調制御器のうちの少なくとも2つは、単数または複数の通信経路を介して相互に接続されている、協調シミュレーションシステム。
【請求項10】
仮想移動体の挙動を模擬するための移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより、前記移動体モデルの状態量を算出するように構成された第1のシミュレータと、
前記第1のシミュレータにより算出された状態量に基づき、前記仮想移動体の周辺における外界環境を模擬するための外界環境モデル、及び前記外界環境内に存在する対象物体を検出する外界センサの動作を模擬するための外界センサモデルを用いた計算機シミュレーションを前記第1の演算周期よりも長い第2の演算周期にて実行することにより、前記外界センサモデルのセンサ計測量を算出するように構成された第2のシミュレータと、
制御シミュレーションを実行するように構成された制御シミュレータと、
前記第1のシミュレータの計算機シミュレーション、前記第2のシミュレータの計算機シミュレーション及び前記制御シミュレーションを協調させる協調制御器と
を備えた協調シミュレーションシステムにおいて前記協調制御器により実施される協調制御方法であって、
前記第2の演算周期よりも短い第3の演算周期にて、前記状態量及び前記センサ計測量に基づいて補間センサ計測量を算出するステップと、
前記補間センサ計測量を前記制御シミュレータに出力するステップとを備え、
前記制御シミュレータは、前記補間センサ計測量に基づいて前記制御シミュレーションを実行する、
ことを特徴とする協調制御方法。
【請求項11】
請求項10に記載の協調制御方法であって、前記補間センサ計測量を算出する当該ステップでは、前記第2の演算周期の粗さを補償するように前記補間センサ計測量が算出される、協調制御方法。
【請求項12】
請求項10または11に記載の協調制御方法であって、前記補間センサ計測量を算出する当該ステップでは、前記第1のシミュレータと前記第2のシミュレータとの間のデータ授受にかかる遅延時間を補償するように前記補間センサ計測量が算出される、協調制御方法。
【請求項13】
請求項10から12のうちのいずれか1項に記載の協調制御方法であって、
前記第2のシミュレータにより前記センサ計測量の算出に使用された当該仮想移動体の状態量と、前記第1のシミュレータにより算出された状態量との間の状態差分を算出するステップをさらに備え、
前記補間センサ計測量は、前記状態差分及び前記センサ計測量に基づいて算出される、協調制御方法。
【請求項14】
請求項10から13のうちのいずれか1項に記載の協調制御方法であって、前記外界センサモデルは、前記仮想移動体と前記対象物体との間の距離を計測する測距センサの動作を模擬するための測距センサモデルである、協調制御方法。
【請求項15】
請求項10から14のうちのいずれか1項に記載の協調制御方法であって、
前記外界センサモデルは、センサ計測範囲内で前記仮想移動体と前記対象物体との間の距離を計測する測距センサの動作を模擬するための測距センサモデルであり、
前記協調制御方法は、
前記第1のシミュレータにより算出された状態量を用いて前記センサ計測範囲を補正するための補正量を算出するステップと、
前記補正量を前記第2のシミュレータに供給して前記センサ計測範囲を補正させるステップと
をさらに備える、協調制御方法。
【請求項16】
仮想移動体の挙動を模擬するための移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより、前記移動体モデルの状態量を算出するように構成された第1のシミュレータと、
前記第1のシミュレータにより算出された状態量に基づき、前記仮想移動体の周辺における外界環境を模擬するための外界環境モデル、及びセンサ計測範囲内で前記外界環境内に存在する対象物体と前記仮想移動体との間の距離を計測する測距センサの動作を模擬するための測距センサモデルを用いた計算機シミュレーションを前記第1の演算周期よりも長い第2の演算周期にて実行することにより、前記測距センサモデルのセンサ計測量を算出するように構成された第2のシミュレータと、
制御シミュレーションを実行するように構成された制御シミュレータと、
前記第1のシミュレータの計算機シミュレーション、前記第2のシミュレータの計算機シミュレーション、及び前記制御シミュレーションを協調させる協調制御器と
を備えた協調シミュレーションシステムにおいて前記協調制御器により実施される協調制御方法であって、
前記状態量を用いて前記センサ計測範囲を補正するための補正量を算出するステップと、
前記補正量を前記第2のシミュレータに供給して前記センサ計測範囲を補正させるステップと
を備えることを特徴とする協調制御方法。
【請求項17】
請求項15または16に記載の協調制御方法であって、前記補正量の算出に用いられる当該状態量は、前記移動体モデルの位置変化または姿勢変化を表す物理量である、協調制御方法。
【請求項18】
請求項10から17のうちのいずれか1項に記載の協調制御方法を実施するように構成された協調制御器。
【請求項19】
不揮発性メモリから読み出されて単数または複数のプロセッサにより実行されるコンピュータプログラムであって、請求項10から17のうちのいずれか1項に記載の協調制御方法を前記単数または複数のプロセッサに実施させるように構成されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、複数のシミュレータを連携して動作させる協調シミュレーション技術に関する。
【背景技術】
【0002】
近年、車両制御システムなどの組込みシステムの設計開発の効率向上と開発期間の短縮化とを図るために、モデルベース開発(MBD:Model Based Development)と呼ばれるモデリング手法が採用されている。このようなモデリング手法に基づく設計開発では、MATLAB(登録商標)/Simulink(登録商標)などのモデリングツールを用いて、所定の要求仕様を満たすように制御モデルやプラントモデルなどのシミュレーションモデルが設計される。次いでシミュレーションモデルに基づく計算機シミュレーションが実行される。そして、当該計算機シミュレーションの結果に基づいてシミュレーションモデルの検証が行われる。
【0003】
このようなモデリング手法に基づく計算機シミュレーションに関する先行技術文献としては、たとえば、特許文献1(国際公開第2019/021898号)が挙げられる。特許文献1には、通信ネットワークを介して相互接続された複数のシミュレータを有する協調シミュレーション環境が開示されている(たとえば、特許文献1の図6及び段落[0036]~[0043]参照)。特許文献1に開示されている複数のシミュレータは、それぞれ計算機シミュレーションを互いに連携して実行することにより協調シミュレーションを実現している。同様の協調シミュレーション環境を構築するための技術は、特許文献2(特開2018-032392号公報)にも開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開第2019/021898号
【文献】特開2018-032392号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
協調シミュレーション環境では、比較的高い演算速度で動作する高速シミュレータと、比較的低い演算速度で動作する低速シミュレータとが混在することがある。低速シミュレータの演算周期は高速シミュレータの演算周期よりも粗い(比較的長い)ので、この演算周期の粗さに起因して協調シミュレーションの精度を高めることが難しいという課題がある。
【0006】
上記に鑑みて本開示の目的は、高速シミュレータと低速シミュレータとが混在する協調シミュレーション環境下でも、精度の高い協調シミュレーションを可能とする協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラムを提供する点にある。
【課題を解決するための手段】
【0007】
本開示の第1の態様による協調シミュレーションシステムは、仮想移動体の挙動を模擬するための移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより、前記移動体モデルの状態量を算出するように構成された第1のシミュレータと、前記第1のシミュレータにより算出された状態量に基づき、前記仮想移動体の周辺における外界環境を模擬するための外界環境モデル、及び前記外界環境内に存在する対象物体を検出する外界センサの動作を模擬するための外界センサモデルを用いた計算機シミュレーションを前記第1の演算周期よりも長い第2の演算周期にて実行することにより、前記外界センサモデルのセンサ計測量を算出するように構成された第2のシミュレータと、制御シミュレーションを実行するように構成された制御シミュレータと、前記第1のシミュレータの計算機シミュレーション、前記第2のシミュレータの計算機シミュレーション及び前記制御シミュレーションを協調させる協調制御器とを備える。前記協調制御器は、前記第2の演算周期よりも短い第3の演算周期にて、前記状態量及び前記センサ計測量に基づいて補間センサ計測量を算出するように構成され、前記制御シミュレータは、前記補間センサ計測量に基づいて前記制御シミュレーションを実行する。
【0008】
本開示の第2の態様による協調制御方法は、仮想移動体の挙動を模擬するための移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより、前記移動体モデルの状態量を算出するように構成された第1のシミュレータと、前記第1のシミュレータにより算出された状態量に基づき、前記仮想移動体の周辺における外界環境を模擬するための外界環境モデル、及び前記外界環境内に存在する対象物体を検出する外界センサの動作を模擬するための外界センサモデルを用いた計算機シミュレーションを前記第1の演算周期よりも長い第2の演算周期にて実行することにより、前記外界センサモデルのセンサ計測量を算出するように構成された第2のシミュレータと、制御シミュレーションを実行するように構成された制御シミュレータと、前記第1のシミュレータの計算機シミュレーション、前記第2のシミュレータの計算機シミュレーション及び前記制御シミュレーションを協調させる協調制御器とを備えた協調シミュレーションシステムにおいて、前記協調制御器により実施される協調制御方法である。この協調制御方法は、前記第2の演算周期よりも短い第3の演算周期にて、前記状態量及び前記センサ計測量に基づいて補間センサ計測量を算出するステップと、前記補間センサ計測量を前記制御シミュレータに出力するステップとを備え、前記制御シミュレータが前記補間センサ計測量に基づいて前記制御シミュレーションを実行することを特徴とする。
【0009】
本開示の第3の態様による協調制御器は、前記第2の態様による協調制御方法を実施するように構成されている。
【0010】
本開示の第4の態様によるコンピュータプログラムは、不揮発性メモリから読み出されて単数または複数のプロセッサにより実行されるコンピュータプログラムであって、前記第2の態様による協調制御方法を前記単数または複数のプロセッサに実施させるように構成されている。
【0011】
本開示の第5の態様による協調シミュレーションシステムは、仮想移動体の挙動を模擬するための移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより、前記移動体モデルの状態量を算出するように構成された第1のシミュレータと、前記第1のシミュレータにより算出された状態量に基づき、前記仮想移動体の周辺における外界環境を模擬するための外界環境モデル、及びセンサ計測範囲内で前記外界環境内に存在する対象物体と前記仮想移動体との間の距離を計測する測距センサの動作を模擬するための測距センサモデルを用いた計算機シミュレーションを前記第1の演算周期よりも長い第2の演算周期にて実行することにより、前記測距センサモデルのセンサ計測量を算出するように構成された第2のシミュレータと、制御シミュレーションを実行するように構成された制御シミュレータと、前記第1のシミュレータの計算機シミュレーション、前記第2のシミュレータの計算機シミュレーション、及び前記制御シミュレーションを協調させる協調制御器とを備える。前記協調制御器は、前記状態量を用いて前記センサ計測範囲を補正するための補正量を算出し、当該補正量を前記第2のシミュレータに供給して前記センサ計測範囲を補正させるように構成されている。
【0012】
本開示の第6の態様による協調制御方法は、仮想移動体の挙動を模擬するための移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより、前記移動体モデルの状態量を算出するように構成された第1のシミュレータと、前記第1のシミュレータにより算出された状態量に基づき、前記仮想移動体の周辺における外界環境を模擬するための外界環境モデル、及びセンサ計測範囲内で前記外界環境内に存在する対象物体と前記移動体との間の距離を計測する測距センサの動作を模擬するための測距センサモデルを用いた計算機シミュレーションを前記第1の演算周期よりも長い第2の演算周期にて実行することにより、前記測距センサモデルのセンサ計測量を算出するように構成された第2のシミュレータと、制御シミュレーションを実行するように構成された制御シミュレータと、前記第1のシミュレータの計算機シミュレーション、前記第2のシミュレータの計算機シミュレーション、及び前記制御シミュレーションを協調させる協調制御器とを備えた協調シミュレーションシステムにおいて、前記協調制御器により実施される協調制御方法である。この協調制御方法は、前記状態量を用いて前記センサ計測範囲を補正するための補正量を算出するステップと、前記補正量を前記第2のシミュレータに供給して前記センサ計測範囲を補正させるステップとを備えることを特徴とする。
【0013】
本開示の第7の態様による協調制御器は、前記第6の態様による協調制御方法を実施するように構成されている。
【0014】
本開示の第8の態様によるコンピュータプログラムは、不揮発性メモリから読み出されて単数または複数のプロセッサにより実行されるコンピュータプログラムであって、前記第6の態様による協調制御方法を前記単数または複数のプロセッサに実施させるように構成されている。
【発明の効果】
【0015】
本開示の第1~第4の態様によれば、第1のシミュレータが第1の演算周期で計算シミュレーションを実行するとともに、第2のシミュレータが第1の演算周期よりも長い第2の演算周期で計算機シミュレーションを実行する場合に、協調制御器は、第2の演算周期よりも短い第3の演算周期にて、第1のシミュレータにより算出された状態量と第2のシミュレータにより算出されたセンサ計測量とに基づいて補間センサ計測量を算出する。制御シミュレータは、当該補間センサ計測量に基づいて制御シミュレーションを実行することができる。これにより、精度の高い協調シミュレーションが可能となる。
【0016】
本開示の第5~第8の態様によれば、第1のシミュレータが第1の演算周期で計算シミュレーションを実行するとともに、第2のシミュレータが第1の演算周期よりも長い第2の演算周期で計算機シミュレーションを実行する場合に、協調制御器は、移動体モデルの状態量を用いてセンサ計測範囲を補正するための補正量を算出し、当該補正量を第2のシミュレータに供給する。第2のシミュレータは、当該補正量を用いてセンサ計測範囲を補正することができる。これにより、精度の高い協調シミュレーションが可能となる。
【図面の簡単な説明】
【0017】
図1】一実施形態の協調シミュレーションシステムの概略構成を示すブロック図である。
図2】ハードウェア構成例である情報処理装置(コンピュータ)の構成を概略的に示すブロック図である。
図3】協調シミュレーションシステムの構成例を模式的に表す図である。
図4】協調制御器をもたない協調シミュレーションシステムの構成例を模式的に示す図である。
図5】車両挙動シミュレータ,外界シミュレータ及び制御シミュレータの間のデータの流れを概略的に示すタイミングチャートである。
図6】車両挙動シミュレータ,外界シミュレータ,協調制御器及び制御シミュレータの間のデータの流れを概略的に例示するタイミングチャートである。
図7】協調制御器による補間処理の手順の例を概略的に示すフローチャートである。
図8図8A図8Fは、それぞれ、測距センサモデルのセンサ計測範囲を補正する様子を示す概略図である。
図9図9G図9Jは、それぞれ、測距センサモデルのセンサ計測範囲を補正する様子を示す概略図である。
図10】車両挙動シミュレータ,外界シミュレータ,協調制御器及び制御シミュレータの間のデータの流れを概略的に例示するタイミングチャートである。
図11】協調制御器による補正処理の手順の一例を概略的に示すフローチャートである。
図12】対象物体に向けて前方へ移動する車両の走行状態(走行パターン)の一例を示すグラフである。
図13図12に示した走行状態に対応する測距値の計算結果を示すグラフである。
図14図12に示した走行状態に対応する測距値の計算結果を示すグラフである。
【発明を実施するための形態】
【0018】
次に、図面を参照しつつ、本開示に係る種々の実施形態及びその変形例について詳細に説明する。なお、図面全体において同一符号が付された構成要素は、同一構成及び同一機能を有するものとする。
【0019】
図1は、本開示の一実施形態の協調シミュレーションシステム1の概略構成を示すブロック図である。図1に示されるように協調シミュレーションシステム1は、第1のシミュレータとしての車両挙動シミュレータ10と、第2のシミュレータとしての外界シミュレータ20とを備えている。車両挙動シミュレータ10は、自動車などの実際の車両を計算機上で仮想的に表現する仮想車両の挙動を模擬するための車両モデル11を用いた計算機シミュレーションを演算周期(第1の演算周期)Thにて実行するように構成されている。また外界シミュレータ20は、当該仮想車両の周辺における外界環境を模擬するための外界環境モデル21とその外界環境内に存在する対象物体を検出する外界センサの動作を模擬するための外界センサモデル22とを用いた計算機シミュレーションを演算周期(第2の演算周期)Teにて実行するように構成されている。ここで、演算周期Teは、演算周期Thよりも粗い(すなわち、Te>Th)。たとえば、外界シミュレータ20における演算負荷が車両挙動シミュレータ10における演算負荷よりも高い場合には、演算周期Teは演算周期Thよりも粗くなる。
【0020】
車両挙動シミュレータ10と外界シミュレータ20とは、データ経路P12を介して相互に接続されている。データ経路P12は、車両挙動シミュレータ10と外界シミュレータ20との間でのデータ授受に使用される経路である。データ経路P12は、同一のプロセッサ内でのソフトウェアプログラム間のデータ授受に使用される経路でもよいし、複数のプロセッサ間でのデータ授受に使用される通信経路でもよい。この通信経路は、通信ネットワークを構成するものでもよい。
【0021】
協調シミュレーションシステム1は、さらに、制御モデル,制御ソフトウェア及び実制御器のうちのいずれかを用いた制御シミュレーションを実行するように構成された制御シミュレータ40と、車両挙動シミュレータ10の計算機シミュレーション,外界シミュレータ20の計算機シミュレーション,及び制御シミュレータ40の制御シミュレーションを協調させる協調制御器30とを備えている。なお、本実施形態では、制御シミュレータ40は協調シミュレーションシステム1の構成要素であるが、これに限定されるものではない。制御シミュレータ40が協調シミュレーションシステム1から分離された形態もありうる。
【0022】
協調制御器30と外界シミュレータ20とは、データ経路P23を介して相互に接続されており、協調制御器30と車両挙動シミュレータ10とは、データ経路P13を介して相互に接続されている。制御シミュレータ40と協調制御器30とは、データ経路P34を介して相互に接続されており、制御シミュレータ40と車両挙動シミュレータ10とは、データ経路P14を介して相互に接続されている。データ経路P23は、協調制御器30と外界シミュレータ20との間でのデータ授受に使用される経路であり、データ経路P13は、協調制御器30と車両挙動シミュレータ10との間でのデータ授受に使用される経路であり、データ経路P34は、制御シミュレータ40と協調制御器30との間でのデータ授受に使用される経路であり、データ経路P14は、制御シミュレータ40と車両挙動シミュレータ10との間でのデータ授受に使用される経路である。データ経路P23,P13,P34,P14の各々は、同一のプロセッサ内でのソフトウェアプログラム間のデータ授受に使用される経路でもよいし、複数のプロセッサ間でのデータ授受に使用される通信経路でもよい。この通信経路は、通信ネットワークを構成するものでもよい。
【0023】
車両挙動シミュレータ10,外界シミュレータ20,協調制御器30及び制御シミュレータ40は、単数または複数のプロセッサを含む1台のコンピュータで実現されてもよいし、あるいは、通信経路を介して相互に接続された複数台のコンピュータ内に分散される形態で実現されてもよい。車両挙動シミュレータ10,外界シミュレータ20,協調制御器30及び制御シミュレータ40の全部または一部は、不揮発性メモリ(コンピュータ読み取り可能な記録媒体)から読み出されたソフトウェアのコードを実行する、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などの演算装置を含む単数または複数のプロセッサで実現されればよい。あるいは、車両挙動シミュレータ10,外界シミュレータ20,協調制御器30及び制御シミュレータ40の全部または一部は、FPGA(Field-Programmable Gate Array)などの半導体集積回路を有する単数または複数のプロセッサにより実現可能である。あるいは、FPGAなどの半導体集積回路と、CPUやGPUなどの演算装置との組合せを含む単数または複数のプロセッサによって、車両挙動シミュレータ10,外界シミュレータ20,協調制御器30及び制御シミュレータ40の全部または一部を実現することも可能である。
【0024】
図2は、車両挙動シミュレータ10,外界シミュレータ20,協調制御器30及び制御シミュレータ40の全部または一部を実現するハードウェア構成例である情報処理装置(コンピュータ)90の構成を概略的に示すブロック図である。情報処理装置90は、プロセッサ91,ランダムアクセスメモリ(RAM:Random Access Memory)92,不揮発性メモリ93,大容量メモリ94,入出力インタフェース95及び信号路96を含んで構成されている。信号路96は、プロセッサ91,RAM92,不揮発性メモリ93,大容量メモリ94及び入出力インタフェース95を相互に接続するためのバスである。RAM92は、プロセッサ91がディジタル信号処理を実行する際に使用されるデータ記憶領域である。プロセッサ91がCPUやGPUなどの演算装置を内蔵する場合には、不揮発性メモリ93は、プロセッサ91により実行されるソフトウェアのコードが格納されているデータ記憶領域を有する。大容量メモリ94には、シミュレーションの演算結果を格納することができる。
【0025】
図1を参照すると、外界シミュレータ20で用いられる外界環境モデル21及び外界センサモデル22の組と、車両挙動シミュレータ10で用いられる車両モデル11とは、分散して配置されている。協調シミュレーションシステム1は、このように分散して配置された複数のシミュレーションモデルを連成(Coupling)させて使用するシステムである。
【0026】
車両モデル11,外界環境モデル21及び外界センサモデル22は、ワークステーションなどのコンピュータにより、MATLAB(登録商標)/Simulink(登録商標)などのモデリングツールを用いて作成可能である。車両モデル11,外界環境モデル21及び外界センサモデル22は、アプリケーションソフトウェアの形態で存在しうる。
【0027】
車両モデル11は、仮想車両におけるサスペンション,モータ,ステアリング,ブレーキ,差動ギア,バッテリ,タイヤ及びスタビライザなどの機構の挙動をそれぞれ数学的に表現しうるモデル群から構成されている。
【0028】
車両挙動シミュレータ10は、ドライバ(運転者)またはドライバモデルによる運転制御指令MIに応じて、車両モデル11を用いた計算機シミュレーションを演算周期Th(たとえば、1秒~0.01ミリ秒の範囲の周期)で実行することにより、車両モデル11の状態量を算出することができる。また車両挙動シミュレータ10は、算出された状態量をデータ経路P12,P13を介して外界シミュレータ20及び協調制御器30に供給することができる。状態量は、たとえば、車両モデル11の位置座標,移動速度(位置座標の時間変化率),加速度(移動速度の時間変化率),姿勢角(ロール角、ピッチ角及びヨー角),姿勢角速度(姿勢角の時間変化率)及び姿勢角加速度(姿勢角速度の時間変化率)のそれぞれのベクトル量を含みうる。
【0029】
車両モデル11の状態量をμ(t)で表し、或る時刻をt1で表すものとすると(ここで、tはシミュレーション時刻である。)、車両挙動シミュレータ10は、演算周期Thにて状態量μ(t=t1+n・Th)を算出する。ここで、nは整数である(n=…,-1,0,1,2,3,…)。図3は、協調シミュレーションシステム1の構成例を模式的に表す図である。図3に示されるように車両挙動シミュレータ10は、車両モデル11の状態量μ(t1+n・Th)のデータを外界シミュレータ20及び協調制御器30に逐次供給する。
【0030】
一方、図1に示される外界環境モデル21は、仮想車両の周辺における道路形状,路面状態,歩行者,自転車,他車両,道路標識及び建造物などの要素を含む外界環境を模擬するためのモデルである。外界センサモデル22は、ミリ波レーダ(Radar)センサ,ライダー(LiDAR:Light Detection and Ranging、または、Laser Imaging Detection and Ranging)センサ,超音波センサ,GNSS(Global Navigation Satellite System)センサ及び画像センサなどの各種外界センサの動作をそれぞれ模擬するための複数のセンサモデルで構成されている。センサモデルは、車両モデル11に搭載された仮想部品として配置されてもよいし、あるいは、車両モデル11以外の領域に配置されてもよい。たとえば、外界環境モデル21内の仮想構造物にセンサモデルが設置されてよい。
【0031】
外界シミュレータ20は、車両挙動シミュレータ10から供給された状態量に基づいて、外界環境モデル21及び外界センサモデル22を用いた計算機シミュレーションを演算周期Te(>Th)で実行することにより、外界センサモデル22のセンサ計測量を算出することができる。すなわち、外界シミュレータ20は、車両モデル11の位置座標及び速度などの状態量に応じて外界センサモデル22が検出すべきセンサ計測量を算出する。
【0032】
外界センサモデル22のセンサ計測量をσ(t)で表し、或る時刻をt2で表すものとすると、外界センサモデル22は、演算周期Teでセンサ計測量σ(t=t2+m・Te)を算出することができる。ここで、mは整数である(m=…,-1,0,1,2,3,…)。
【0033】
図3を参照すると、外界シミュレータ20は、車両挙動シミュレータ10から車両モデル11の状態量μ(t1+n・Th)の供給を受けている。外界シミュレータ20は、その状態量μ(t1+n・Th)(たとえば、位置座標,移動速度,加速度,姿勢角,姿勢角速度及び姿勢角加速度)に基づいて指定された状態にある仮想車両25について、外界環境モデル21内の対象物体27に対する外界センサモデル26のセンシング動作の計算機シミュレーションを実行することができる。外界シミュレータ20は、その計算機シミュレーションの結果として外界センサモデル26のセンサ計測量σ(t2+m・Te)を算出し、当該センサ計測量σ(t2+m・Te)と当該センサ計測量σ(t2+m・Te)の算出に使用された仮想車両25の状態量γ(t2+m・Te)との組からなるシミュレーションデータE(t2+m・Te)を協調制御器30に供給する。
【0034】
外界シミュレータ20の演算周期Teは、車両挙動シミュレータ10の演算周期Thよりも粗い。また車両挙動シミュレータ10と外界シミュレータ20との間のデータ授受にかかる遅延時間も存在する。協調制御器30は、外界シミュレータ20の演算周期Teよりも短い演算周期(第3の演算周期)Tcで動作し、車両挙動シミュレータ10及び外界シミュレータ20からそれぞれ供給された状態量μ(t1+n・Th)及びシミュレーションデータE(t2+m・Te)に基づいて、その演算周期Teの粗さ及び遅延時間を補償するように補間センサ計測量を算出することができる。今、補間センサ計測量をs(t)で表し、或る時刻をt3で表すものとすると、協調制御器30は、演算周期Tcにて精度の高い補間センサ計測量s(t3+k・Tc)を算出することができる。ここで、kは整数である(k=…,-1,0,1,2,3,…)。補間センサ計測量s(t3+k・Tc)の算出方法については後述する。
【0035】
また、後に詳述するように、外界センサモデル26の演算周期Teの粗さ及び前述の遅延時間に起因して、外界センサモデル26に含まれる測距センサモデル(たとえば、ミリ波レーダセンサ,ライダーセンサ及び超音波センサのモデル)のセンサ計測範囲に誤差が発生しうるという課題がある。協調制御器30は、車両挙動シミュレータ10から供給された状態量μ(t1+n・Th)、特に、車両モデル11の位置変化または姿勢変化を表す物理量(たとえば、移動速度,加速度,姿勢角速度もしくは姿勢角加速度,またはこれらの組合せ)を用いて、測距センサモデルのセンサ計測範囲を補正するための補正量Δr(t3+k・Tc)を算出し、当該補正量Δr(t3+k・Tc)を外界シミュレータ20に供給してセンサ計測範囲を補正させることができる。補正量Δr(t3+k・Tc)の算出方法については後述する。
【0036】
制御シミュレータ40は、協調制御器30から供給された補間センサ計測量s(t3+k・Tc)に基づいて制御シミュレーションを実行する。制御シミュレータ40で制御モデルが用いられる場合には、制御モデルは、ワークステーションなどのコンピュータにより、MATLAB(登録商標)/Simulink(登録商標)などのモデリングツールを用いて作成可能である。このとき、協調シミュレーションシステム1は、アプリケーションソフトウェアの形態で存在しうる。この場合、協調シミュレーションシステム1は、MILS(Model-In-the-Loop Simulation)と呼ばれるシミュレーション環境を構成することができる。
【0037】
制御モデルの例としては、各種の制御ECUモデル(たとえば、エンジン制御ECU及びエアバッグ制御ECUのモデル)のほか、車線維持制御、車間距離制御(ACC:アダプティブ・クルーズ・コントロール)、衝突被害軽減(回避)制御,車線変更アシスト制御,車線逸脱抑制制御,インテリジェント・ヘッドライト制御,自動パーキング制御,及びカーナビゲーションシステム(警告表示制御を含む。)のための制御モデルが挙げられる。
【0038】
制御シミュレータ40で制御ソフトウェアが用いられる場合には、制御ソフトウェアは、たとえば、前述の制御モデルから生成されたC言語などのソースコード段階のソフトウェアである。制御ソフトウェアからは、コンピュータにより実行可能なオブジェクトコードが生成可能である。制御シミュレータ40は、そのようなオブジェクトコードを実行することにより制御シミュレーションを実行することができる。この場合、協調シミュレーションシステム1は、SILS(Software-In-the-Loop Simulation)と呼ばれるシミュレーション環境を構成することができる。一方、制御シミュレータ40で実制御器が用いられる場合には、協調シミュレーションシステム1は、HILS(Hardware-In-the-Loop Simulation)と呼ばれるシミュレーション環境を構成することができる。実制御器は、車両に搭載される電子制御ユニット(Electronic Control Unit)などのハードウェア構成の制御器である。
【0039】
制御シミュレータ40は、協調制御器30から供給された補間センサ計測量(たとえば、障害物までの測距値及び方向ベクトル)に基づいて、車間距離制御(ACC)及び衝突被害軽減(回避)制御などの種々の制御のシミュレーションを実行することができる。
【0040】
次に、協調制御器30の構成を説明する前に、図4及び図5を参照しつつ、協調制御器30をもたない協調シミュレーションシステムの問題点について説明する。
【0041】
図4は、協調制御器30をもたない協調シミュレーションシステム100の構成例を模式的に示す図である。図4に示される協調シミュレーションシステム100は、車両モデル11の状態量μ(t1+n・Th)を逐次算出する車両挙動シミュレータ10と、車両挙動シミュレータ10から供給された状態量μ(t1+n・Th)に基づいた計算機シミュレーションを実行することにより外界センサモデル26のセンサ計測量σ(t2+m・Te)を逐次算出する外界シミュレータ20と、外界シミュレータ20から供給されたセンサ計測量σ(t2+m・Te)に基づいて制御シミュレーションを実行する制御シミュレータ40とを備えている。
【0042】
図5は、図4に示した車両挙動シミュレータ10,外界シミュレータ20及び制御シミュレータ40の間のデータの流れを概略的に示すタイミングチャートである。図5には、制御シミュレータ40の入力及び出力それぞれの時間軸、車両挙動シミュレータ10の入力及び出力それぞれの時間軸(演算周期:Th)、並びに、外界シミュレータ20の入力及び出力それぞれの時間軸(演算周期:Te)が示されている。tはシミュレーション時刻(以下、単に「時刻」という。)である。
【0043】
図5に示されるように、車両挙動シミュレータ10は、時刻t=t1+(-1)・Thに制御シミュレータ40から制御指令が入力されると、当該制御指令に応じて計算機シミュレーションを実行することにより、車両モデル11の状態量μ(t1)を時刻t=t1に出力する。外界シミュレータ20は、時刻t1から遅延時間α1だけ遅れた時刻t=t2にて車両挙動シミュレータ10から入力された状態量μ(t1)を取得し、当該状態量μ(t1)に基づいた計算機シミュレーションを実行する。そして外界シミュレータ20は、時刻t2から遅延時間β1だけ遅れた時刻t=t2+1・Teにてセンサ計測量σ(t2+1・Te)を制御シミュレータ40に出力する。その後、制御シミュレータ40は、時刻t=t2+1・Teから遅延時間ε1だけ遅れて入力されたセンサ計測量σ(t2+1・Te)を取得する。
【0044】
また、図5に示されるように、車両挙動シミュレータ10は、時刻t=t1+2・Thに制御シミュレータ40から制御指令が入力されると、当該制御指令に応じて計算機シミュレーションを実行することにより車両モデル11の状態量μ(t1+3・Th)を時刻t=t1+3・Thに出力する。外界シミュレータ20は、時刻t=t1+3・Thから遅延時間α2だけ遅れた時刻t=t2+1・Teにて車両挙動シミュレータ10から入力された状態量μ(t1+3・Th)を取得し、当該状態量μ(t1+3・Th)に基づいた計算機シミュレーションを実行する。そして外界シミュレータ20は、時刻t=t2+1・Teから遅延時間β2だけ遅れた時刻t=t2+2・Teにてセンサ計測量σ(t2+2・Te)を制御シミュレータ40に出力する。その後、制御シミュレータ40は、時刻t=t2+2・Teから遅延時間ε2だけ遅れた時刻に入力されたセンサ計測量σ(t2+2・Te)を取得する。
【0045】
なお、図5の例では、遅延時間β1,β2の各々は、外界シミュレータ20の演算周期Teと一致するが、これに限定されるものではない。遅延時間β1,β2の各々は演算周期Teの正整数倍となりうる。
【0046】
図5から分かるように、外界シミュレータ20は、時刻t=t1における車両モデル11の状態量μ(t1)に基づいて指定された状態にある仮想車両25について計算機シミュレーションを実行することにより、時刻t=t2+1・Teにおけるセンサ計測量σ(t2+1・Te)を算出する。時刻tがt1からt2+1・Teへ遷移する過程で車両モデル11の状態変化が生じていれば、センサ計測量σ(t2+1・Te)は、その状態変化を反映しない、精度の低い値となりうる。したがって、センサ計測量σ(t2+1・Te)は、車両挙動シミュレータ10と外界シミュレータ20との間のデータ授受にかかる遅延時間α1に起因する誤差と、外界シミュレータ20の演算周期Teの粗さすなわち遅延時間β1に起因する誤差とを含みうる。同様に、外界シミュレータ20は、車両モデル11の状態量μ(t1+3・Th)に基づいて指定された状態にある仮想車両25について、時刻t=t2+2・Teでのセンサ計測量σ(t2+2・Te)を算出するので、時刻tがt1+3・Thからt2+2・Teへ遷移する過程で車両モデル11の状態変化が生じていれば、センサ計測量σ(t2+2・Te)は、その状態変化を反映しない、精度の低い値となりうる。したがって、センサ計測量σ(t2+2・Te)は、車両挙動シミュレータ10と外界シミュレータ20との間のデータ授受にかかる遅延時間α2に起因する誤差と、外界シミュレータ20の演算周期Teの粗さすなわち遅延時間β2に起因する誤差とを含みうる。
【0047】
また、外界センサモデル26が、センサ計測範囲(計測レンジ)内に存在する対象物体27(図3)までの距離を計測する測距センサモデルを含む場合には、そのセンサ計測範囲は、車両モデル11の状態変化(位置変化や姿勢変化)に追従して変化することが望ましい。しかしながら、図5の例では、遅延時間α1,α2及び演算周期Teの粗さ(遅延時間β1,β2)により、外界センサモデル26のセンサ計測範囲が車両モデル11の状態変化に追従することができず、センサ計測範囲内に存在すべき対象物体27の検出に失敗するおそれ、あるいは、本来であればセンサ計測範囲内に存在しない対象物体27を誤って検出するおそれがある。したがって、センサ計測範囲は、上述の遅延時間α1,α2に起因する誤差と、演算周期Teの粗さ(遅延時間β1,β2)に起因する誤差とを含みうる。
【0048】
図3に示される協調制御器30は、車両挙動シミュレータ10及び外界シミュレータ20から供給された状態量μ(t1+n・Th)及びシミュレーションデータE(t2+m・Te)(={σ(t2+m・Te),γ(t2+m・Te)})に基づく補間演算を実行することにより、車両挙動シミュレータ10と外界シミュレータ20との間のデータ授受にかかる遅延時間と演算周期Teの粗さとを補償するように補間センサ計測量s(t3+k・Tc)(k=…,-1,0,1,2,3,…)を算出することができる。この補間演算について図6を参照しつつ以下に説明する。
【0049】
図6は、図3に示した車両挙動シミュレータ10,外界シミュレータ20,協調制御器30及び制御シミュレータ40の間のデータの流れを概略的に例示するタイミングチャートである。図6には、制御シミュレータ40の入力及び出力それぞれの時間軸、車両挙動シミュレータ10の入力及び出力それぞれの時間軸(演算周期:Th)、外界シミュレータ20の入力及び出力それぞれの時間軸(演算周期:Te)、並びに、協調制御器30の入力及び出力それぞれの時間軸(演算周期:Tc)が示されている。ここで、tは時刻(シミュレーション時刻)であり、演算周期Te,Th,Tcの間には、Te>Tc≧Thとの制限が課せられている。
【0050】
図6に示されるように、車両挙動シミュレータ10は、制御シミュレータ40から制御指令が入力される度に、当該制御指令に応じた計算機シミュレーションを実行することにより状態量μ(t1+n・Th)を算出する(n=…,-2,-1,0,1,2,3,…)。車両挙動シミュレータ10は、時刻t=t1+n・Thに当該状態量μ(t1+n・Th)を出力する。
【0051】
外界シミュレータ20は、車両挙動シミュレータ10の演算周期Thよりも粗い(長い)演算周期Teで演算するので、車両挙動シミュレータ10から演算周期Thで出力される状態量μ(t1+n・Th)のすべてを取得(サンプリング)することはできない。図6の例では、外界シミュレータ20は、下記時刻tにて車両挙動シミュレータ10から入力された下記状態量μ()を取得(サンプリング)することができる。
【0052】
・時刻t=t2+(-1)・Te;状態量μ(t1-2・Th)
・時刻t=t2 ;状態量μ(t1)
・時刻t=t2+(+1)・Te;状態量μ(t1+3・Th)
・時刻t=t2+(+2)・Te;状態量μ(t1+5・Th)
【0053】
外界シミュレータ20は、状態量μ(t1-2・Th),μ(t1),μ(t1+3・Th),μ(t1+5・Th)に基づく計算機シミュレーションを実行することにより、状態量μ(t1-2・Th),μ(t1),μ(t1+3・Th),μ(t1+5・Th)にそれぞれ対応するセンサ計測量σ(t2-Te),σ(t2),σ(t2+Te),σ(t2+2・Te),σ(t2+3・Te)を算出する。そして、外界シミュレータ20は、算出されたセンサ計測量σ()と当該センサ計測量σ()の算出に使用された仮想車両25の状態量γ()との組からなるシミュレーションデータE()を出力する。協調制御器30は、下記時刻tにて外界シミュレータ20から入力された下記シミュレーションデータE()を取得(サンプリング)することができる。
【0054】
・時刻t=t3+(-2)・Tc;シミュレーションデータE(t2-Te)
・時刻t=t3+(+1)・Tc;シミュレーションデータE(t2)
・時刻t=t3+(+3)・Tc;シミュレーションデータE(t2+Te)
・時刻t=t3+(+6)・Tc;シミュレーションデータE(t2+2・Te)
【0055】
協調制御器30は、外界シミュレータ20の演算周期Teよりも短い演算周期Tcで演算するので、車両挙動シミュレータ10から演算周期Thで出力される状態量μ(t1+n・Th)のうち数多くの状態量を取得することができる。図6の例では、協調制御器30は、車両挙動シミュレータ10の演算周期Thに近い演算周期Tcで演算する。このため、協調制御器30は、下記時刻tにて車両挙動シミュレータ10から入力された下記状態量μ()を取得(サンプリング)することができる。
【0056】
・時刻t=t3+(-2)・Tc;状態量μ(t1-2・Th)
・時刻t=t3+(-1)・Tc;状態量μ(t1-1・Th)
・時刻t=t3 ;状態量μ(t1)
・時刻t=t3+(+1)・Tc;状態量μ(t1+1・Th)
・時刻t=t3+(+2)・Tc;状態量μ(t1+2・Th)
・時刻t=t3+(+3)・Tc;状態量μ(t1+3・Th)
・時刻t=t3+(+4)・Tc;状態量μ(t1+4・Th)
・時刻t=t3+(+5)・Tc;状態量μ(t1+5・Th)
・時刻t=t3+(+6)・Tc;状態量μ(t1+6・Th)
【0057】
たとえばシミュレーションデータE(t2)に含まれるセンサ計測量σ(t2)に着目すると、このセンサ計測量σ(t2)は、外界シミュレータ20により車両挙動シミュレータ10から直近に取得された車両モデル11の状態量μ(t1-2・Th)に基づいて指定された状態にある仮想車両25について、演算周期Teで計算機シミュレーションを実行することにより算出された計測量である。このため、センサ計測量σ(t2)は、当該状態量μ(t1-2・Th)が車両挙動シミュレータ10から外界シミュレータ20へ授受されるのにかかった遅延時間に起因する誤差と、外界シミュレータ20の演算周期Teの粗さに起因する誤差とを含みうる。当該誤差を補償するために補間センサ計測量s(t=t3+2・Tc)を算出しようとする場合、協調制御器30は、時刻t=t3+2・Tcに対して、外界シミュレータ20から直近に取得されたシミュレーションデータE(t2)(すなわち、センサ計測量σ(t2)及び仮想車両25の状態量γ(t2)の組)と、車両挙動シミュレータ10から直近に取得された車両モデル11の状態量μ(t1+Th)とに基づいて補間センサ計測量s(t3+2・Tc)を算出することができる。
【0058】
この場合、より具体的には、協調制御器30は、センサ計測量σ(t2)の算出に使用された状態量γ(t2)と直近に取得された状態量μ(t1+Th)との間の状態差分Δμを算出し、当該算出された状態差分Δμとセンサ計測量σ(t2)とに基づいて、補間センサ計測量s(t3+2・Tc)を算出することができる。時刻t=taの状態量γ(ta)と時刻t=tbの状態量μ(tb)との間の状態差分Δμは、たとえば、近似的に次式で表現されうるが、これに限定されるものではない。
【0059】
Δμ=γ(ta)-μ(tb)
【0060】
同様に、補間センサ計測量s(t=t3+3・Tc)を算出しようとする場合には、協調制御器30は、時刻t=t3+3・Tcに対して、外界シミュレータ20から直近に取得されたシミュレーションデータE(t2)(すなわち、センサ計測量σ(t2)及び仮想車両25の状態量γ(t2)の組)と、車両挙動シミュレータ10から直近に取得された車両モデル11の状態量μ(t1+2・Th)とに基づいて、補間センサ計測量s(t3+3・Tc)を算出することができる。次いで補間センサ計測量s(t=t3+4・Tc)を算出しようとする場合には、協調制御器30は、時刻t=t3+4・Tcに対して、外界シミュレータ20から直近に取得されたシミュレーションデータE(t2+Te)(すなわち、センサ計測量σ(t2+Te)及び仮想車両25の状態量γ(t2+Te)の組)と、車両挙動シミュレータ10から直近に取得された状態量μ(t1+3・Th)とに基づいて、補間センサ計測量s(t3+4・Tc)を算出することができる。さらに、補間センサ計測量s(t=t3+5・Tc)を算出しようとする場合には、協調制御器30は、時刻t=t3+5・Tcに対して、外界シミュレータ20から直近に取得されたシミュレーションデータE(t2+Te)(すなわち、センサ計測量σ(t2+Te)及び仮想車両25の状態量γ(t2+Te)の組)と、車両挙動シミュレータ10から直近に取得された状態量μ(t1+4・Th)とに基づいて、補間センサ計測量s(t3+5・Tc)を算出することができる。このように協調制御器30は、外界シミュレータ20の演算周期Teよりも短い演算周期Tcで補間センサ計測量s(t3+k・Tc)(k=…,2,3,4,5,…)を算出することが可能である。
【0061】
たとえば、センサ計測量σ(t)及び補間センサ計測量s(t)の各々が、外界センサモデル26から対象物体27(図3)までの測距値及び方向(たとえば方位角及び仰角)の組合せ(対象物体27の相対位置)を表す計測ベクトルであるものとし、状態量μ(t),γ(t)の各々が車両モデル11の地図上の位置を示す絶対位置ベクトルであるものとする。このとき、補間センサ計測量s(t=t3+K・Tc)(Kは整数)を算出しようとする場合には、協調制御器30は、時刻t=t3+K・Tcに対して、外界シミュレータ20から直近に取得された計測ベクトルσ(t2+M・Te)及び絶対位置ベクトルγ(t2+M・Te)の組(Mは整数)と、車両挙動シミュレータ10から直近に取得された絶対位置ベクトルμ(t1+N・Th)(Nは整数)とに基づいて、計測ベクトルの補間量である補間センサ計測量s(t3+K・Tc)を算出することができる。具体的には、協調制御器30は、絶対位置ベクトルγ(t2+M・Te),μ(t1+N・Th)間の状態差分Δμ(=γ(t2+M・Te)-μ(t1+N・Th)と、計測ベクトルσ(t2+M・Te)とに基づいて、次式に従い、補間センサ計測量s(t3+K・Tc)を算出できる。
【0062】
s(t3+K・Tc)=Δμ+σ(t2+M・Te)
【0063】
次に、図7を参照しつつ、協調制御器30による補間処理の手順について説明する。図7は、協調制御器30による補間処理の手順の一例を概略的に示すフローチャートである。
【0064】
図7を参照すると、協調制御器30は、或る時刻tに対して外界シミュレータ20から直近に取得されたシミュレーションデータE(tb)(すなわち、センサ計測量σ(tb)及び仮想車両25の状態量γ(tb)の組)と、当該時刻tに対して車両挙動シミュレータ10から直近に取得された状態量μ(ta)とをメモリ(図示せず)から読み出す(ステップS1)。
【0065】
次に、協調制御器30は、センサ計測量σ(tb)及び状態量μ(ta),γ(tb)に基づく補間演算を実行して補間センサ計測量s(t)を算出する(ステップS2~S3)。すなわち、協調制御器30は、状態量μ(ta),γ(tb)から状態差分Δμを算出し(ステップS2)、状態差分Δμとセンサ計測量σ(tb)とに基づいて補間センサ計測量s(t)を算出する(ステップS3)。そして、協調制御器30は、算出された補間センサ計測量s(t)を制御シミュレータ40に出力する(ステップS4)。
【0066】
その後、処理を続行するときは(ステップS5のYES)、協調制御器30は、時刻tをインクリメントして(ステップS6)、ステップS1に処理を戻す。一方、処理を続行しないときは(ステップS5のNO)、協調制御器30は補間処理を終了する。
【0067】
次に、外界センサモデル26に含まれる測距センサモデルのセンサ計測範囲を補正する方法について説明する。
【0068】
上述のとおり、外界センサモデル26が、センサ計測範囲(計測レンジ)内に存在する対象物体27までの距離を計測する測距センサモデルを含む場合には、そのセンサ計測範囲は、車両挙動シミュレータ10と外界シミュレータ20との間のデータ授受にかかる遅延時間に起因する誤差と、外界シミュレータ20の演算周期Teの粗さに起因する誤差とを含みうる。図3に示される協調制御器30は、車両モデル11の状態量μ(t1+n・Th)、特に、車両モデル11の位置変化または姿勢変化を表す物理量(たとえば、車両モデル11の移動速度,加速度,姿勢角速度もしくは姿勢角加速度,またはこれらの組合せ)を用いて、外界センサモデル26のセンサ計測範囲を補正するための補正量Δr(t3+k・Tc)(k=…,-1,0,1,2,3,…)を逐次算出することができる。また協調制御器30は、算出された補正量Δr(t3+k・Tc)を外界シミュレータ20に供給してセンサ計測範囲を補正させることができる。
【0069】
図8A図8F及び図9G図9Jは、車両モデル11の状態量μ(t1+n・Th)を用いて、仮想車両25に搭載された測距センサモデルのセンサ計測範囲SRを補正する様子を示す概略図である。
【0070】
図8Aに示されるように仮想車両25が前方へ移動する場合は、その移動速度に応じて、センサ計測範囲SRを前方のセンサ計測範囲SRaにシフトさせる補正量Δr(t3+k・Tc)が生成される。図8Bに示されるように仮想車両25が後方へ移動する場合は、その移動速度に応じて、センサ計測範囲SRを後方のセンサ計測範囲SRbにシフトさせる補正量Δr(t3+k・Tc)が生成される。図8Cに示されるように仮想車両25が車体の鉛直方向軸の周りに反時計方向へ回転(ヨーイング)する場合は、その姿勢角速度(ヨー角速度)に応じて、センサ計測範囲SRを左側のセンサ計測範囲SRcへ回転させる補正量Δr(t3+k・Tc)が生成される。図8Dに示されるように仮想車両25が車体の鉛直方向軸の周りに時計方向へ回転(ヨーイング)する場合は、その姿勢角速度(ヨー角速度)に応じて、センサ計測範囲SRをセンサ計測範囲SRdへ回転させる補正量Δr(t3+k・Tc)が生成される。図8Eに示されるように仮想車両25が左方向へ移動する場合は、その移動速度に応じて、センサ計測範囲SRを左方のセンサ計測範囲SReにシフトさせる補正量Δr(t3+k・Tc)が生成される。図8Fに示されるように仮想車両25が右方向へ移動する場合は、その移動速度に応じて、センサ計測範囲SRを右方のセンサ計測範囲SRfにシフトさせる補正量Δr(t3+k・Tc)が生成される。
【0071】
また図9Gに示されるように仮想車両25が車幅方向軸の周りに反時計方向へ回転(ピッチング)する場合は、その姿勢角速度(ピッチ角速度)に応じて、センサ計測範囲SRをセンサ計測範囲SRgへ回転させる補正量Δr(t3+k・Tc)が生成され、図9Hに示されるように仮想車両25が車幅方向軸の周りに時計方向へ回転(ピッチング)する場合は、その姿勢角速度(ピッチ角速度)に応じて、センサ計測範囲SRをセンサ計測範囲SRhへ回転させる補正量Δr(t3+k・Tc)が生成される。さらに図9Iに示されるように仮想車両25が車体の長手方向軸の周りに時計方向へ回転(ローリング)する場合は、その姿勢角速度(ロール角速度)に応じて、センサ計測範囲SRをセンサ計測範囲SRiへ回転させる補正量Δr(t3+k・Tc)が生成され、図9Jに示されるように仮想車両25が車体の長手方向軸の周りに反時計方向へ回転(ローリング)する場合は、その姿勢角速度(ロール角速度)に応じて、センサ計測範囲SRをセンサ計測範囲SRjへ回転させる補正量Δr(t3+k・Tc)が生成される。
【0072】
次に、図10を参照しつつ、補正量Δr(t3+k・Tc)の算出方法について説明する。図10は、車両挙動シミュレータ10,外界シミュレータ20,協調制御器30及び制御シミュレータ40の間のデータの流れを概略的に例示するタイミングチャートである。図10には、制御シミュレータ40の入力及び出力それぞれの時間軸、車両挙動シミュレータ10の入力及び出力それぞれの時間軸(演算周期:Th)、外界シミュレータ20の入力及び出力それぞれの時間軸(演算周期:Te)、並びに、協調制御器30の入力及び出力それぞれの時間軸(演算周期:Tc)が示されている。ここで、tは時刻(シミュレーション時刻)である。演算周期Te,Th,Tcの間には、Te>Tc≧Thとの制限が課せられている。
【0073】
図10に示されるように、車両挙動シミュレータ10は、制御シミュレータ40から制御指令が入力される度に、当該制御指令に応じた計算機シミュレーションを実行することにより状態量μ(t1+n・Th)(n=…,-2,-1,0,1,2,3,…)を算出する。車両挙動シミュレータ10は、時刻t=t1+n・Thに当該状態量μ(t1+n・Th)を出力する。
【0074】
協調制御器30は、車両挙動シミュレータ10の演算周期Thに近い演算周期Tcで演算する。このため、協調制御器30は、時刻t=t3+k・Tcにて車両挙動シミュレータ10から入力された状態量μ(t1+n・Th)をそれぞれ取得(サンプリング)することができる。協調制御器30は、取得された状態量μ(t1+n・Th)(たとえば、車両モデル11の移動速度,加速度,姿勢角速度もしくは姿勢角加速度,またはこれらの組合せ)を用いて補正量Δr(t3+k・Tc)を生成し、当該補正量Δr(t3+k・Tc)を外界シミュレータ20に出力する。
【0075】
たとえば、補正量Δr(t3+k・Tc)は、車両挙動シミュレータ10から直近に取得された移動速度ベクトルv(t1+n・Th)と外界シミュレータ20の演算周期Teとに基づいて、次式に従って算出可能である。
【0076】
Δr(t3+k・Tc)=Ne・Te・v(t1+n・Th)
ここで、Neは、遅延時間に応じて選択され得る1以上の正整数である。
【0077】
外界シミュレータ20は、協調制御器30の演算周期Tcよりも粗い演算周期Teで演算するので、演算周期Tcで出力される補正量Δr(t3+k・Tc)のすべてを取得(サンプリング)することはできない。図10の例では、外界シミュレータ20は、下記時刻tにて協調制御器30から入力された下記補正量Δr()を取得することができる。
【0078】
・時刻t=t2+(-1)・Te;補正量Δr(t3-3・Tc)
・時刻t=t2 ;補正量Δr(t3)
・時刻t=t2+(+1)・Te;補正量Δr(t3+2・Tc)
・時刻t=t2+(+2)・Te;補正量Δr(t3+5・Tc)
【0079】
外界シミュレータ20は、取得された補正量Δr(t3+k・Tc)だけセンサ計測範囲をシフトまたは回転させることにより、センサ計測範囲を補正することができる。
【0080】
次に、図11を参照しつつ、協調制御器30による補正処理の手順について説明する。図11は、協調制御器30による補正処理の手順の一例を概略的に示すフローチャートである。
【0081】
図11を参照すると、協調制御器30は、或る時刻tに対して、車両挙動シミュレータ10から直近に取得された状態量μ(tb)をメモリ(図示せず)から読み出し(ステップS10)、当該状態量μ(tb)と外界シミュレータ20の演算周期Tcとを用いて補正量Δr(t)を算出する(ステップS11)。次に、協調制御器30は、算出された補正量Δr(t)を外界シミュレータ20に出力する(ステップS12)。
【0082】
その後、処理を続行するときは(ステップS13のYES)、協調制御器30は、時刻tをインクリメントして(ステップS14)、ステップS10に処理を戻す。一方、処理を続行しないときは(ステップS13のNO)、協調制御器30は補正処理を終了する。
【0083】
図12は、対象物体に向けて前方へ移動する車両の走行状態(走行パターン)の一例を示すグラフである。図12のグラフにおいて、横軸は時間(単位:秒)を示し、縦軸は走行距離(単位:メートル)を示している。図13及び図14は、図12に示した走行状態に対応する測距値の計算結果を示すグラフである。図13及び図14のグラフにおいて、横軸は時間(単位:秒)を示し、縦軸は距離(単位:メートル)を示している。図13及び図14の双方において、曲線50は、対象物体との実際の距離を示しており、曲線51は、測距センサモデルのセンサ計測範囲内で得られるべき理想的な測距値を示すものである。
【0084】
図13に示される測距値の曲線52は、図4に示したように協調制御器30をもたない協調シミュレーションシステム100により得られたものである。曲線52は、理想的な曲線51に対して誤差Dr1,Dt1を有する。誤差Dr1は、車両挙動シミュレータ10と外界シミュレータ20との間のデータ授受にかかる遅延時間と外界シミュレータ20の演算周期Teの粗さとに起因する、測距値の誤差を表している。誤差Dt1は、レンジ計測範囲の誤差を表す。
【0085】
一方、図14に示される測距値の曲線53は、図3に示したように協調制御器30を備えた協調シミュレーションシステム1により得られたものである。曲線53は、理想的な曲線51に対して誤差Dr2,Dt2を有する。誤差Dr2は、車両挙動シミュレータ10と外界シミュレータ20との間のデータ授受にかかる遅延時間と、外界シミュレータ20の演算周期Teの粗さとに起因する測距値の誤差を表している。誤差Dt2は、レンジ計測範囲の誤差を表す。図13に示した曲線52と比べると、図14に示した曲線53の方が、良好な結果を得ていることが分かる。
【0086】
以上に説明したように協調シミュレーションシステム1の協調制御器30は、外界シミュレータ20の演算周期Teよりも短い演算周期Tcにて、車両挙動シミュレータ10により算出された状態量μ(t1+n・Th)と外界シミュレータ20により算出されたセンサ計測量σ(t2+m・Te)とに基づいて、精度の高い補間センサ計測量s(t3+k・Tc)を算出することができる。よって、たとえば図6に示したように、車両挙動シミュレータ10と外界シミュレータ20との間のデータの授受にかかる遅延時間と、外界シミュレータ20の演算周期Teの粗さとを補償することができる。これにより、外界センサモデル22と車両モデル11とが分散して配置されたシミュレーション環境下でも、精度の高い協調シレミューションが可能となる。
【0087】
また、協調制御器30をもたない協調シミュレーションシステム100(図4)の場合は、図5に示されるように、制御シミュレータ40は、時間的に粗いセンサ計測量σ(t2+1・Te),σ(t2+2・Te),…しか利用することができない。これに対し、上記実施形態の協調シミュレーションシステム1では、図6に示されるように、協調制御器30は、時間的に細かい補間センサ計測量s(t3-1・Tc),s(t3),s(t3+1・Tc),s(t3+2・Tc),…を生成し、これら補間センサ計測量を制御シミュレータ40に逐次供給することができる。したがって、制御シミュレータ40は、短い演算周期で制御シミュレーションを実行することができる。
【0088】
さらに、協調制御器30は、車両モデル11(移動体モデル)の状態量μ(t1+n・Th)、特に車両モデル11の位置変化や姿勢変化を表す物理量(たとえば、車両モデル11の移動速度,加速度または姿勢角速度)を用いて、外界センサモデル22のセンサ計測範囲を補正するための補正量Δr(t3+k・Tc)を算出し、当該補正量Δr(t3+k・Tc)を外界シミュレータ20に供給する。外界シミュレータ20は、当該補正量Δr(t3+k・Tc)を用いてセンサ計測範囲を補正することができる。これにより、さらに精度の高い協調シレミューションが可能となる。
【0089】
以上、本開示に係る種々の実施形態及びその変形例について説明したが、上記の実施形態及びその変形例は例示に過ぎず、本発明の範囲を限定するものではない。たとえば、上記実施形態は、主に自動車開発用の協調シミュレーションを実行するためのものであるが、これに限定されるものではない。自動車以外の実際の車両(たとえば鉄道車両)または航空機などの移動体を計算機上で仮想的に表現する仮想移動体の挙動を模擬するための移動体モデルと,当該移動体モデルに適合する外界環境モデル及び外界センサモデルとの組合せを使用するような形態へ上記実施形態を適宜変形することが可能である。
【0090】
また、本発明の趣旨及び範囲から逸脱することなく、上記実施形態の変更、追加及び改良を適宜行うことができることが理解されるべきである。本発明の範囲は、特許請求の範囲の記載に基づいて解釈されるべきであり、さらにその均等物を含むものと理解されるべきである。
【産業上の利用可能性】
【0091】
本開示に係る協調シミュレーションシステム,協調制御方法,協調制御器及びコンピュータプログラムは、複数のシミュレータを有する協調シミュレーション環境に利用可能であり、たとえば、MBDなどのモデリング手法に基づく設計開発、及び、モデルベースシステムズエンジニアリング(MBSE:Model-Based Systems Engineering)に適用可能である。
【符号の説明】
【0092】
1:協調シミュレーションシステム、10:車両挙動シミュレータ(第1のシミュレータ)、11:車両モデル(移動体モデル)、20:外界シミュレータ(第2のシミュレータ)、21:外界環境モデル、22:外界センサモデル、25:仮想車両(仮想移動体)、26:外界センサモデル、27:対象物体、30:協調制御器、40:制御シミュレータ。
【要約】
【課題】精度の高い協調シミュレーションを可能とする協調シミュレーションシステムを提供する。
【解決手段】協調シミュレーションシステムは、移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより移動体モデルの状態量を算出する第1のシミュレータと、その状態量に基づいて、外界環境モデル及び外界センサモデルを用いた計算機シミュレーションを第1の演算周期よりも長い第2の演算周期にて実行することにより外界センサモデルのセンサ値を算出する第2のシミュレータと、制御シミュレーションを実行する制御シミュレータと、協調制御器とを備える。協調制御器は、第2の演算周期よりも短い第3の演算周期にて、状態量及びセンサ値に基づいて補間センサ値を算出する。制御シミュレータは、補間センサ値に基づいて制御シミュレーションを実行する。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14