JP7141508B1 - 協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム - Google Patents

協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム Download PDF

Info

Publication number
JP7141508B1
JP7141508B1 JP2021169230A JP2021169230A JP7141508B1 JP 7141508 B1 JP7141508 B1 JP 7141508B1 JP 2021169230 A JP2021169230 A JP 2021169230A JP 2021169230 A JP2021169230 A JP 2021169230A JP 7141508 B1 JP7141508 B1 JP 7141508B1
Authority
JP
Japan
Prior art keywords
simulator
sensor
simulation
model
cooperative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021169230A
Other languages
English (en)
Other versions
JP2023059311A (ja
Inventor
則和 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nexty Electronics Corp
Original Assignee
Nexty Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nexty Electronics Corp filed Critical Nexty Electronics Corp
Priority to JP2021169230A priority Critical patent/JP7141508B1/ja
Application granted granted Critical
Publication of JP7141508B1 publication Critical patent/JP7141508B1/ja
Publication of JP2023059311A publication Critical patent/JP2023059311A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】精度の高い協調シミュレーションを可能とする協調シミュレーションシステムを提供する。【解決手段】協調シミュレーションシステムは、移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより移動体モデルの状態量を算出する第1のシミュレータと、その状態量に基づいて、外界環境モデル及び外界センサモデルを用いた計算機シミュレーションを第1の演算周期よりも長い第2の演算周期にて実行することにより外界センサモデルのセンサ値を算出する第2のシミュレータと、制御シミュレーションを実行する制御シミュレータと、協調制御器とを備える。協調制御器は、第2の演算周期よりも短い第3の演算周期にて、状態量及びセンサ値に基づいて補間センサ値を算出する。制御シミュレータは、補間センサ値に基づいて制御シミュレーションを実行する。【選択図】図1

Description

本開示は、複数のシミュレータを連携して動作させる協調シミュレーション技術に関する。
近年、車両制御システムなどの組込みシステムの設計開発の効率向上と開発期間の短縮化とを図るために、モデルベース開発(MBD:Model Based Development)と呼ばれるモデリング手法が採用されている。このようなモデリング手法に基づく設計開発では、MATLAB(登録商標)/Simulink(登録商標)などのモデリングツールを用いて、所定の要求仕様を満たすように制御モデルやプラントモデルなどのシミュレーションモデルが設計される。次いでシミュレーションモデルに基づく計算機シミュレーションが実行される。そして、当該計算機シミュレーションの結果に基づいてシミュレーションモデルの検証が行われる。
このようなモデリング手法に基づく計算機シミュレーションに関する先行技術文献としては、たとえば、特許文献1(国際公開第2019/021898号)が挙げられる。特許文献1には、通信ネットワークを介して相互接続された複数のシミュレータを有する協調シミュレーション環境が開示されている(たとえば、特許文献1の図6及び段落[0036]~[0043]参照)。特許文献1に開示されている複数のシミュレータは、それぞれ計算機シミュレーションを互いに連携して実行することにより協調シミュレーションを実現している。同様の協調シミュレーション環境を構築するための技術は、特許文献2(特開2018-032392号公報)にも開示されている。
国際公開第2019/021898号 特開2018-032392号公報
協調シミュレーション環境では、比較的高い演算速度で動作する高速シミュレータと、比較的低い演算速度で動作する低速シミュレータとが混在することがある。低速シミュレータの演算周期は高速シミュレータの演算周期よりも粗い(比較的長い)ので、この演算周期の粗さに起因して協調シミュレーションの精度を高めることが難しいという課題がある。
上記に鑑みて本開示の目的は、高速シミュレータと低速シミュレータとが混在する協調シミュレーション環境下でも、精度の高い協調シミュレーションを可能とする協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラムを提供する点にある。
本開示の第1の態様による協調シミュレーションシステムは、仮想移動体の挙動を模擬するための移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより、前記移動体モデルの状態量を算出するように構成された第1のシミュレータと、前記第1のシミュレータにより算出された状態量に基づき、前記仮想移動体の周辺における外界環境を模擬するための外界環境モデル、及び前記外界環境内に存在する対象物体を検出する外界センサの動作を模擬するための外界センサモデルを用いた計算機シミュレーションを前記第1の演算周期よりも長い第2の演算周期にて実行することにより、前記外界センサモデルのセンサ計測量を算出するように構成された第2のシミュレータと、制御シミュレーションを実行するように構成された制御シミュレータと、前記第1のシミュレータの計算機シミュレーション、前記第2のシミュレータの計算機シミュレーション及び前記制御シミュレーションを協調させる協調制御器とを備える。前記協調制御器は、前記第2の演算周期よりも短い第3の演算周期にて、前記状態量及び前記センサ計測量に基づいて補間センサ計測量を算出するように構成され、前記制御シミュレータは、前記補間センサ計測量に基づいて前記制御シミュレーションを実行する。
本開示の第2の態様による協調制御方法は、仮想移動体の挙動を模擬するための移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより、前記移動体モデルの状態量を算出するように構成された第1のシミュレータと、前記第1のシミュレータにより算出された状態量に基づき、前記仮想移動体の周辺における外界環境を模擬するための外界環境モデル、及び前記外界環境内に存在する対象物体を検出する外界センサの動作を模擬するための外界センサモデルを用いた計算機シミュレーションを前記第1の演算周期よりも長い第2の演算周期にて実行することにより、前記外界センサモデルのセンサ計測量を算出するように構成された第2のシミュレータと、制御シミュレーションを実行するように構成された制御シミュレータと、前記第1のシミュレータの計算機シミュレーション、前記第2のシミュレータの計算機シミュレーション及び前記制御シミュレーションを協調させる協調制御器とを備えた協調シミュレーションシステムにおいて、前記協調制御器により実施される協調制御方法である。この協調制御方法は、前記第2の演算周期よりも短い第3の演算周期にて、前記状態量及び前記センサ計測量に基づいて補間センサ計測量を算出するステップと、前記補間センサ計測量を前記制御シミュレータに出力するステップとを備え、前記制御シミュレータが前記補間センサ計測量に基づいて前記制御シミュレーションを実行することを特徴とする。
本開示の第3の態様による協調制御器は、前記第2の態様による協調制御方法を実施するように構成されている。
本開示の第4の態様によるコンピュータプログラムは、不揮発性メモリから読み出されて単数または複数のプロセッサにより実行されるコンピュータプログラムであって、前記第2の態様による協調制御方法を前記単数または複数のプロセッサに実施させるように構成されている。
本開示の第5の態様による協調シミュレーションシステムは、仮想移動体の挙動を模擬するための移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより、前記移動体モデルの状態量を算出するように構成された第1のシミュレータと、前記第1のシミュレータにより算出された状態量に基づき、前記仮想移動体の周辺における外界環境を模擬するための外界環境モデル、及びセンサ計測範囲内で前記外界環境内に存在する対象物体と前記仮想移動体との間の距離を計測する測距センサの動作を模擬するための測距センサモデルを用いた計算機シミュレーションを前記第1の演算周期よりも長い第2の演算周期にて実行することにより、前記測距センサモデルのセンサ計測量を算出するように構成された第2のシミュレータと、制御シミュレーションを実行するように構成された制御シミュレータと、前記第1のシミュレータの計算機シミュレーション、前記第2のシミュレータの計算機シミュレーション、及び前記制御シミュレーションを協調させる協調制御器とを備える。前記協調制御器は、前記状態量を用いて前記センサ計測範囲を補正するための補正量を算出し、当該補正量を前記第2のシミュレータに供給して前記センサ計測範囲を補正させるように構成されている。
本開示の第6の態様による協調制御方法は、仮想移動体の挙動を模擬するための移動体モデルを用いた計算機シミュレーションを第1の演算周期にて実行することにより、前記移動体モデルの状態量を算出するように構成された第1のシミュレータと、前記第1のシミュレータにより算出された状態量に基づき、前記仮想移動体の周辺における外界環境を模擬するための外界環境モデル、及びセンサ計測範囲内で前記外界環境内に存在する対象物体と前記移動体との間の距離を計測する測距センサの動作を模擬するための測距センサモデルを用いた計算機シミュレーションを前記第1の演算周期よりも長い第2の演算周期にて実行することにより、前記測距センサモデルのセンサ計測量を算出するように構成された第2のシミュレータと、制御シミュレーションを実行するように構成された制御シミュレータと、前記第1のシミュレータの計算機シミュレーション、前記第2のシミュレータの計算機シミュレーション、及び前記制御シミュレーションを協調させる協調制御器とを備えた協調シミュレーションシステムにおいて、前記協調制御器により実施される協調制御方法である。この協調制御方法は、前記状態量を用いて前記センサ計測範囲を補正するための補正量を算出するステップと、前記補正量を前記第2のシミュレータに供給して前記センサ計測範囲を補正させるステップとを備えることを特徴とする。
本開示の第7の態様による協調制御器は、前記第6の態様による協調制御方法を実施するように構成されている。
本開示の第8の態様によるコンピュータプログラムは、不揮発性メモリから読み出されて単数または複数のプロセッサにより実行されるコンピュータプログラムであって、前記第6の態様による協調制御方法を前記単数または複数のプロセッサに実施させるように構成されている。
本開示の第1~第4の態様によれば、第1のシミュレータが第1の演算周期で計算シミュレーションを実行するとともに、第2のシミュレータが第1の演算周期よりも長い第2の演算周期で計算機シミュレーションを実行する場合に、協調制御器は、第2の演算周期よりも短い第3の演算周期にて、第1のシミュレータにより算出された状態量と第2のシミュレータにより算出されたセンサ計測量とに基づいて補間センサ計測量を算出する。制御シミュレータは、当該補間センサ計測量に基づいて制御シミュレーションを実行することができる。これにより、精度の高い協調シミュレーションが可能となる。
本開示の第5~第8の態様によれば、第1のシミュレータが第1の演算周期で計算シミュレーションを実行するとともに、第2のシミュレータが第1の演算周期よりも長い第2の演算周期で計算機シミュレーションを実行する場合に、協調制御器は、移動体モデルの状態量を用いてセンサ計測範囲を補正するための補正量を算出し、当該補正量を第2のシミュレータに供給する。第2のシミュレータは、当該補正量を用いてセンサ計測範囲を補正することができる。これにより、精度の高い協調シミュレーションが可能となる。
一実施形態の協調シミュレーションシステムの概略構成を示すブロック図である。 ハードウェア構成例である情報処理装置(コンピュータ)の構成を概略的に示すブロック図である。 協調シミュレーションシステムの構成例を模式的に表す図である。 協調制御器をもたない協調シミュレーションシステムの構成例を模式的に示す図である。 車両挙動シミュレータ,外界シミュレータ及び制御シミュレータの間のデータの流れを概略的に示すタイミングチャートである。 車両挙動シミュレータ,外界シミュレータ,協調制御器及び制御シミュレータの間のデータの流れを概略的に例示するタイミングチャートである。 協調制御器による補間処理の手順の例を概略的に示すフローチャートである。 図8A~図8Fは、それぞれ、測距センサモデルのセンサ計測範囲を補正する様子を示す概略図である。 図9G~図9Jは、それぞれ、測距センサモデルのセンサ計測範囲を補正する様子を示す概略図である。 車両挙動シミュレータ,外界シミュレータ,協調制御器及び制御シミュレータの間のデータの流れを概略的に例示するタイミングチャートである。 協調制御器による補正処理の手順の一例を概略的に示すフローチャートである。 対象物体に向けて前方へ移動する車両の走行状態(走行パターン)の一例を示すグラフである。 図12に示した走行状態に対応する測距値の計算結果を示すグラフである。 図12に示した走行状態に対応する測距値の計算結果を示すグラフである。
次に、図面を参照しつつ、本開示に係る種々の実施形態及びその変形例について詳細に説明する。なお、図面全体において同一符号が付された構成要素は、同一構成及び同一機能を有するものとする。
図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よりも粗くなる。
車両挙動シミュレータ10と外界シミュレータ20とは、データ経路P12を介して相互に接続されている。データ経路P12は、車両挙動シミュレータ10と外界シミュレータ20との間でのデータ授受に使用される経路である。データ経路P12は、同一のプロセッサ内でのソフトウェアプログラム間のデータ授受に使用される経路でもよいし、複数のプロセッサ間でのデータ授受に使用される通信経路でもよい。この通信経路は、通信ネットワークを構成するものでもよい。
協調シミュレーションシステム1は、さらに、制御モデル,制御ソフトウェア及び実制御器のうちのいずれかを用いた制御シミュレーションを実行するように構成された制御シミュレータ40と、車両挙動シミュレータ10の計算機シミュレーション,外界シミュレータ20の計算機シミュレーション,及び制御シミュレータ40の制御シミュレーションを協調させる協調制御器30とを備えている。なお、本実施形態では、制御シミュレータ40は協調シミュレーションシステム1の構成要素であるが、これに限定されるものではない。制御シミュレータ40が協調シミュレーションシステム1から分離された形態もありうる。
協調制御器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の各々は、同一のプロセッサ内でのソフトウェアプログラム間のデータ授受に使用される経路でもよいし、複数のプロセッサ間でのデータ授受に使用される通信経路でもよい。この通信経路は、通信ネットワークを構成するものでもよい。
車両挙動シミュレータ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の全部または一部を実現することも可能である。
図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には、シミュレーションの演算結果を格納することができる。
図1を参照すると、外界シミュレータ20で用いられる外界環境モデル21及び外界センサモデル22の組と、車両挙動シミュレータ10で用いられる車両モデル11とは、分散して配置されている。協調シミュレーションシステム1は、このように分散して配置された複数のシミュレーションモデルを連成(Coupling)させて使用するシステムである。
車両モデル11,外界環境モデル21及び外界センサモデル22は、ワークステーションなどのコンピュータにより、MATLAB(登録商標)/Simulink(登録商標)などのモデリングツールを用いて作成可能である。車両モデル11,外界環境モデル21及び外界センサモデル22は、アプリケーションソフトウェアの形態で存在しうる。
車両モデル11は、仮想車両におけるサスペンション,モータ,ステアリング,ブレーキ,差動ギア,バッテリ,タイヤ及びスタビライザなどの機構の挙動をそれぞれ数学的に表現しうるモデル群から構成されている。
車両挙動シミュレータ10は、ドライバ(運転者)またはドライバモデルによる運転制御指令MIに応じて、車両モデル11を用いた計算機シミュレーションを演算周期Th(たとえば、1秒~0.01ミリ秒の範囲の周期)で実行することにより、車両モデル11の状態量を算出することができる。また車両挙動シミュレータ10は、算出された状態量をデータ経路P12,P13を介して外界シミュレータ20及び協調制御器30に供給することができる。状態量は、たとえば、車両モデル11の位置座標,移動速度(位置座標の時間変化率),加速度(移動速度の時間変化率),姿勢角(ロール角、ピッチ角及びヨー角),姿勢角速度(姿勢角の時間変化率)及び姿勢角加速度(姿勢角速度の時間変化率)のそれぞれのベクトル量を含みうる。
車両モデル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に逐次供給する。
一方、図1に示される外界環境モデル21は、仮想車両の周辺における道路形状,路面状態,歩行者,自転車,他車両,道路標識及び建造物などの要素を含む外界環境を模擬するためのモデルである。外界センサモデル22は、ミリ波レーダ(Radar)センサ,ライダー(LiDAR:Light Detection and Ranging、または、Laser Imaging Detection and Ranging)センサ,超音波センサ,GNSS(Global Navigation Satellite System)センサ及び画像センサなどの各種外界センサの動作をそれぞれ模擬するための複数のセンサモデルで構成されている。センサモデルは、車両モデル11に搭載された仮想部品として配置されてもよいし、あるいは、車両モデル11以外の領域に配置されてもよい。たとえば、外界環境モデル21内の仮想構造物にセンサモデルが設置されてよい。
外界シミュレータ20は、車両挙動シミュレータ10から供給された状態量に基づいて、外界環境モデル21及び外界センサモデル22を用いた計算機シミュレーションを演算周期Te(>Th)で実行することにより、外界センサモデル22のセンサ計測量を算出することができる。すなわち、外界シミュレータ20は、車両モデル11の位置座標及び速度などの状態量に応じて外界センサモデル22が検出すべきセンサ計測量を算出する。
外界センサモデル22のセンサ計測量をσ(t)で表し、或る時刻をt2で表すものとすると、外界センサモデル22は、演算周期Teでセンサ計測量σ(t=t2+m・Te)を算出することができる。ここで、mは整数である(m=…,-1,0,1,2,3,…)。
図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に供給する。
外界シミュレータ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)の算出方法については後述する。
また、後に詳述するように、外界センサモデル26の演算周期Teの粗さ及び前述の遅延時間に起因して、外界センサモデル26に含まれる測距センサモデル(たとえば、ミリ波レーダセンサ,ライダーセンサ及び超音波センサのモデル)のセンサ計測範囲に誤差が発生しうるという課題がある。協調制御器30は、車両挙動シミュレータ10から供給された状態量μ(t1+n・Th)、特に、車両モデル11の位置変化または姿勢変化を表す物理量(たとえば、移動速度,加速度,姿勢角速度もしくは姿勢角加速度,またはこれらの組合せ)を用いて、測距センサモデルのセンサ計測範囲を補正するための補正量Δr(t3+k・Tc)を算出し、当該補正量Δr(t3+k・Tc)を外界シミュレータ20に供給してセンサ計測範囲を補正させることができる。補正量Δr(t3+k・Tc)の算出方法については後述する。
制御シミュレータ40は、協調制御器30から供給された補間センサ計測量s(t3+k・Tc)に基づいて制御シミュレーションを実行する。制御シミュレータ40で制御モデルが用いられる場合には、制御モデルは、ワークステーションなどのコンピュータにより、MATLAB(登録商標)/Simulink(登録商標)などのモデリングツールを用いて作成可能である。このとき、協調シミュレーションシステム1は、アプリケーションソフトウェアの形態で存在しうる。この場合、協調シミュレーションシステム1は、MILS(Model-In-the-Loop Simulation)と呼ばれるシミュレーション環境を構成することができる。
制御モデルの例としては、各種の制御ECUモデル(たとえば、エンジン制御ECU及びエアバッグ制御ECUのモデル)のほか、車線維持制御、車間距離制御(ACC:アダプティブ・クルーズ・コントロール)、衝突被害軽減(回避)制御,車線変更アシスト制御,車線逸脱抑制制御,インテリジェント・ヘッドライト制御,自動パーキング制御,及びカーナビゲーションシステム(警告表示制御を含む。)のための制御モデルが挙げられる。
制御シミュレータ40で制御ソフトウェアが用いられる場合には、制御ソフトウェアは、たとえば、前述の制御モデルから生成されたC言語などのソースコード段階のソフトウェアである。制御ソフトウェアからは、コンピュータにより実行可能なオブジェクトコードが生成可能である。制御シミュレータ40は、そのようなオブジェクトコードを実行することにより制御シミュレーションを実行することができる。この場合、協調シミュレーションシステム1は、SILS(Software-In-the-Loop Simulation)と呼ばれるシミュレーション環境を構成することができる。一方、制御シミュレータ40で実制御器が用いられる場合には、協調シミュレーションシステム1は、HILS(Hardware-In-the-Loop Simulation)と呼ばれるシミュレーション環境を構成することができる。実制御器は、車両に搭載される電子制御ユニット(Electronic Control Unit)などのハードウェア構成の制御器である。
制御シミュレータ40は、協調制御器30から供給された補間センサ計測量(たとえば、障害物までの測距値及び方向ベクトル)に基づいて、車間距離制御(ACC)及び衝突被害軽減(回避)制御などの種々の制御のシミュレーションを実行することができる。
次に、協調制御器30の構成を説明する前に、図4及び図5を参照しつつ、協調制御器30をもたない協調シミュレーションシステムの問題点について説明する。
図4は、協調制御器30をもたない協調シミュレーションシステム100の構成例を模式的に示す図である。図4に示される協調シミュレーションシステム100は、車両モデル11の状態量μ(t1+n・Th)を逐次算出する車両挙動シミュレータ10と、車両挙動シミュレータ10から供給された状態量μ(t1+n・Th)に基づいた計算機シミュレーションを実行することにより外界センサモデル26のセンサ計測量σ(t2+m・Te)を逐次算出する外界シミュレータ20と、外界シミュレータ20から供給されたセンサ計測量σ(t2+m・Te)に基づいて制御シミュレーションを実行する制御シミュレータ40とを備えている。
図5は、図4に示した車両挙動シミュレータ10,外界シミュレータ20及び制御シミュレータ40の間のデータの流れを概略的に示すタイミングチャートである。図5には、制御シミュレータ40の入力及び出力それぞれの時間軸、車両挙動シミュレータ10の入力及び出力それぞれの時間軸(演算周期:Th)、並びに、外界シミュレータ20の入力及び出力それぞれの時間軸(演算周期:Te)が示されている。tはシミュレーション時刻(以下、単に「時刻」という。)である。
図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)を取得する。
また、図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)を取得する。
なお、図5の例では、遅延時間β1,β2の各々は、外界シミュレータ20の演算周期Teと一致するが、これに限定されるものではない。遅延時間β1,β2の各々は演算周期Teの正整数倍となりうる。
図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に起因する誤差とを含みうる。
また、外界センサモデル26が、センサ計測範囲(計測レンジ)内に存在する対象物体27(図3)までの距離を計測する測距センサモデルを含む場合には、そのセンサ計測範囲は、車両モデル11の状態変化(位置変化や姿勢変化)に追従して変化することが望ましい。しかしながら、図5の例では、遅延時間α1,α2及び演算周期Teの粗さ(遅延時間β1,β2)により、外界センサモデル26のセンサ計測範囲が車両モデル11の状態変化に追従することができず、センサ計測範囲内に存在すべき対象物体27の検出に失敗するおそれ、あるいは、本来であればセンサ計測範囲内に存在しない対象物体27を誤って検出するおそれがある。したがって、センサ計測範囲は、上述の遅延時間α1,α2に起因する誤差と、演算周期Teの粗さ(遅延時間β1,β2)に起因する誤差とを含みうる。
図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を参照しつつ以下に説明する。
図6は、図3に示した車両挙動シミュレータ10,外界シミュレータ20,協調制御器30及び制御シミュレータ40の間のデータの流れを概略的に例示するタイミングチャートである。図6には、制御シミュレータ40の入力及び出力それぞれの時間軸、車両挙動シミュレータ10の入力及び出力それぞれの時間軸(演算周期:Th)、外界シミュレータ20の入力及び出力それぞれの時間軸(演算周期:Te)、並びに、協調制御器30の入力及び出力それぞれの時間軸(演算周期:Tc)が示されている。ここで、tは時刻(シミュレーション時刻)であり、演算周期Te,Th,Tcの間には、Te>Tc≧Thとの制限が課せられている。
図6に示されるように、車両挙動シミュレータ10は、制御シミュレータ40から制御指令が入力される度に、当該制御指令に応じた計算機シミュレーションを実行することにより状態量μ(t1+n・Th)を算出する(n=…,-2,-1,0,1,2,3,…)。車両挙動シミュレータ10は、時刻t=t1+n・Thに当該状態量μ(t1+n・Th)を出力する。
外界シミュレータ20は、車両挙動シミュレータ10の演算周期Thよりも粗い(長い)演算周期Teで演算するので、車両挙動シミュレータ10から演算周期Thで出力される状態量μ(t1+n・Th)のすべてを取得(サンプリング)することはできない。図6の例では、外界シミュレータ20は、下記時刻tにて車両挙動シミュレータ10から入力された下記状態量μ()を取得(サンプリング)することができる。
・時刻t=t2+(-1)・Te;状態量μ(t1-2・Th)
・時刻t=t2 ;状態量μ(t1)
・時刻t=t2+(+1)・Te;状態量μ(t1+3・Th)
・時刻t=t2+(+2)・Te;状態量μ(t1+5・Th)
外界シミュレータ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()を取得(サンプリング)することができる。
・時刻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)
協調制御器30は、外界シミュレータ20の演算周期Teよりも短い演算周期Tcで演算するので、車両挙動シミュレータ10から演算周期Thで出力される状態量μ(t1+n・Th)のうち数多くの状態量を取得することができる。図6の例では、協調制御器30は、車両挙動シミュレータ10の演算周期Thに近い演算周期Tcで演算する。このため、協調制御器30は、下記時刻tにて車両挙動シミュレータ10から入力された下記状態量μ()を取得(サンプリング)することができる。
・時刻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)
たとえばシミュレーションデータ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)を算出することができる。
この場合、より具体的には、協調制御器30は、センサ計測量σ(t2)の算出に使用された状態量γ(t2)と直近に取得された状態量μ(t1+Th)との間の状態差分Δμを算出し、当該算出された状態差分Δμとセンサ計測量σ(t2)とに基づいて、補間センサ計測量s(t3+2・Tc)を算出することができる。時刻t=taの状態量γ(ta)と時刻t=tbの状態量μ(tb)との間の状態差分Δμは、たとえば、近似的に次式で表現されうるが、これに限定されるものではない。
Δμ=γ(ta)-μ(tb)
同様に、補間センサ計測量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,…)を算出することが可能である。
たとえば、センサ計測量σ(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)を算出できる。
s(t3+K・Tc)=Δμ+σ(t2+M・Te)
次に、図7を参照しつつ、協調制御器30による補間処理の手順について説明する。図7は、協調制御器30による補間処理の手順の一例を概略的に示すフローチャートである。
図7を参照すると、協調制御器30は、或る時刻tに対して外界シミュレータ20から直近に取得されたシミュレーションデータE(tb)(すなわち、センサ計測量σ(tb)及び仮想車両25の状態量γ(tb)の組)と、当該時刻tに対して車両挙動シミュレータ10から直近に取得された状態量μ(ta)とをメモリ(図示せず)から読み出す(ステップS1)。
次に、協調制御器30は、センサ計測量σ(tb)及び状態量μ(ta),γ(tb)に基づく補間演算を実行して補間センサ計測量s(t)を算出する(ステップS2~S3)。すなわち、協調制御器30は、状態量μ(ta),γ(tb)から状態差分Δμを算出し(ステップS2)、状態差分Δμとセンサ計測量σ(tb)とに基づいて補間センサ計測量s(t)を算出する(ステップS3)。そして、協調制御器30は、算出された補間センサ計測量s(t)を制御シミュレータ40に出力する(ステップS4)。
その後、処理を続行するときは(ステップS5のYES)、協調制御器30は、時刻tをインクリメントして(ステップS6)、ステップS1に処理を戻す。一方、処理を続行しないときは(ステップS5のNO)、協調制御器30は補間処理を終了する。
次に、外界センサモデル26に含まれる測距センサモデルのセンサ計測範囲を補正する方法について説明する。
上述のとおり、外界センサモデル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に供給してセンサ計測範囲を補正させることができる。
図8A~図8F及び図9G~図9Jは、車両モデル11の状態量μ(t1+n・Th)を用いて、仮想車両25に搭載された測距センサモデルのセンサ計測範囲SRを補正する様子を示す概略図である。
図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)が生成される。
また図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)が生成される。
次に、図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との制限が課せられている。
図10に示されるように、車両挙動シミュレータ10は、制御シミュレータ40から制御指令が入力される度に、当該制御指令に応じた計算機シミュレーションを実行することにより状態量μ(t1+n・Th)(n=…,-2,-1,0,1,2,3,…)を算出する。車両挙動シミュレータ10は、時刻t=t1+n・Thに当該状態量μ(t1+n・Th)を出力する。
協調制御器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に出力する。
たとえば、補正量Δr(t3+k・Tc)は、車両挙動シミュレータ10から直近に取得された移動速度ベクトルv(t1+n・Th)と外界シミュレータ20の演算周期Teとに基づいて、次式に従って算出可能である。
Δr(t3+k・Tc)=Ne・Te・v(t1+n・Th)
ここで、Neは、遅延時間に応じて選択され得る1以上の正整数である。
外界シミュレータ20は、協調制御器30の演算周期Tcよりも粗い演算周期Teで演算するので、演算周期Tcで出力される補正量Δr(t3+k・Tc)のすべてを取得(サンプリング)することはできない。図10の例では、外界シミュレータ20は、下記時刻tにて協調制御器30から入力された下記補正量Δr()を取得することができる。
・時刻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)
外界シミュレータ20は、取得された補正量Δr(t3+k・Tc)だけセンサ計測範囲をシフトまたは回転させることにより、センサ計測範囲を補正することができる。
次に、図11を参照しつつ、協調制御器30による補正処理の手順について説明する。図11は、協調制御器30による補正処理の手順の一例を概略的に示すフローチャートである。
図11を参照すると、協調制御器30は、或る時刻tに対して、車両挙動シミュレータ10から直近に取得された状態量μ(tb)をメモリ(図示せず)から読み出し(ステップS10)、当該状態量μ(tb)と外界シミュレータ20の演算周期Tcとを用いて補正量Δr(t)を算出する(ステップS11)。次に、協調制御器30は、算出された補正量Δr(t)を外界シミュレータ20に出力する(ステップS12)。
その後、処理を続行するときは(ステップS13のYES)、協調制御器30は、時刻tをインクリメントして(ステップS14)、ステップS10に処理を戻す。一方、処理を続行しないときは(ステップS13のNO)、協調制御器30は補正処理を終了する。
図12は、対象物体に向けて前方へ移動する車両の走行状態(走行パターン)の一例を示すグラフである。図12のグラフにおいて、横軸は時間(単位:秒)を示し、縦軸は走行距離(単位:メートル)を示している。図13及び図14は、図12に示した走行状態に対応する測距値の計算結果を示すグラフである。図13及び図14のグラフにおいて、横軸は時間(単位:秒)を示し、縦軸は距離(単位:メートル)を示している。図13及び図14の双方において、曲線50は、対象物体との実際の距離を示しており、曲線51は、測距センサモデルのセンサ計測範囲内で得られるべき理想的な測距値を示すものである。
図13に示される測距値の曲線52は、図4に示したように協調制御器30をもたない協調シミュレーションシステム100により得られたものである。曲線52は、理想的な曲線51に対して誤差Dr1,Dt1を有する。誤差Dr1は、車両挙動シミュレータ10と外界シミュレータ20との間のデータ授受にかかる遅延時間と外界シミュレータ20の演算周期Teの粗さとに起因する、測距値の誤差を表している。誤差Dt1は、レンジ計測範囲の誤差を表す。
一方、図14に示される測距値の曲線53は、図3に示したように協調制御器30を備えた協調シミュレーションシステム1により得られたものである。曲線53は、理想的な曲線51に対して誤差Dr2,Dt2を有する。誤差Dr2は、車両挙動シミュレータ10と外界シミュレータ20との間のデータ授受にかかる遅延時間と、外界シミュレータ20の演算周期Teの粗さとに起因する測距値の誤差を表している。誤差Dt2は、レンジ計測範囲の誤差を表す。図13に示した曲線52と比べると、図14に示した曲線53の方が、良好な結果を得ていることが分かる。
以上に説明したように協調シミュレーションシステム1の協調制御器30は、外界シミュレータ20の演算周期Teよりも短い演算周期Tcにて、車両挙動シミュレータ10により算出された状態量μ(t1+n・Th)と外界シミュレータ20により算出されたセンサ計測量σ(t2+m・Te)とに基づいて、精度の高い補間センサ計測量s(t3+k・Tc)を算出することができる。よって、たとえば図6に示したように、車両挙動シミュレータ10と外界シミュレータ20との間のデータの授受にかかる遅延時間と、外界シミュレータ20の演算周期Teの粗さとを補償することができる。これにより、外界センサモデル22と車両モデル11とが分散して配置されたシミュレーション環境下でも、精度の高い協調シレミューションが可能となる。
また、協調制御器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は、短い演算周期で制御シミュレーションを実行することができる。
さらに、協調制御器30は、車両モデル11(移動体モデル)の状態量μ(t1+n・Th)、特に車両モデル11の位置変化や姿勢変化を表す物理量(たとえば、車両モデル11の移動速度,加速度または姿勢角速度)を用いて、外界センサモデル22のセンサ計測範囲を補正するための補正量Δr(t3+k・Tc)を算出し、当該補正量Δr(t3+k・Tc)を外界シミュレータ20に供給する。外界シミュレータ20は、当該補正量Δr(t3+k・Tc)を用いてセンサ計測範囲を補正することができる。これにより、さらに精度の高い協調シレミューションが可能となる。
以上、本開示に係る種々の実施形態及びその変形例について説明したが、上記の実施形態及びその変形例は例示に過ぎず、本発明の範囲を限定するものではない。たとえば、上記実施形態は、主に自動車開発用の協調シミュレーションを実行するためのものであるが、これに限定されるものではない。自動車以外の実際の車両(たとえば鉄道車両)または航空機などの移動体を計算機上で仮想的に表現する仮想移動体の挙動を模擬するための移動体モデルと,当該移動体モデルに適合する外界環境モデル及び外界センサモデルとの組合せを使用するような形態へ上記実施形態を適宜変形することが可能である。
また、本発明の趣旨及び範囲から逸脱することなく、上記実施形態の変更、追加及び改良を適宜行うことができることが理解されるべきである。本発明の範囲は、特許請求の範囲の記載に基づいて解釈されるべきであり、さらにその均等物を含むものと理解されるべきである。
本開示に係る協調シミュレーションシステム,協調制御方法,協調制御器及びコンピュータプログラムは、複数のシミュレータを有する協調シミュレーション環境に利用可能であり、たとえば、MBDなどのモデリング手法に基づく設計開発、及び、モデルベースシステムズエンジニアリング(MBSE:Model-Based Systems Engineering)に適用可能である。
1:協調シミュレーションシステム、10:車両挙動シミュレータ(第1のシミュレータ)、11:車両モデル(移動体モデル)、20:外界シミュレータ(第2のシミュレータ)、21:外界環境モデル、22:外界センサモデル、25:仮想車両(仮想移動体)、26:外界センサモデル、27:対象物体、30:協調制御器、40:制御シミュレータ。

Claims (19)

  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項に記載の協調制御方法を前記単数または複数のプロセッサに実施させるように構成されたコンピュータプログラム。
JP2021169230A 2021-10-15 2021-10-15 協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム Active JP7141508B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021169230A JP7141508B1 (ja) 2021-10-15 2021-10-15 協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021169230A JP7141508B1 (ja) 2021-10-15 2021-10-15 協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP7141508B1 true JP7141508B1 (ja) 2022-09-22
JP2023059311A JP2023059311A (ja) 2023-04-27

Family

ID=83360834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021169230A Active JP7141508B1 (ja) 2021-10-15 2021-10-15 協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP7141508B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025062564A1 (ja) * 2023-09-21 2025-03-27 日本電信電話株式会社 提示装置および提示方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006133912A (ja) 2004-11-02 2006-05-25 Nissan Motor Co Ltd 車両用シミュレータ
JP2009252113A (ja) 2008-04-09 2009-10-29 Canon Inc 情報処理装置、その制御方法及びコンピュータプログラム
JP2013084163A (ja) 2011-10-12 2013-05-09 Hitachi Ltd 協調シミュレーション装置及び協調シミュレーション方法
JP2013137658A (ja) 2011-12-28 2013-07-11 Hitachi Automotive Systems Ltd 協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラム
JP2016004338A (ja) 2014-06-16 2016-01-12 富士電機株式会社 連携シミュレーション装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006133912A (ja) 2004-11-02 2006-05-25 Nissan Motor Co Ltd 車両用シミュレータ
JP2009252113A (ja) 2008-04-09 2009-10-29 Canon Inc 情報処理装置、その制御方法及びコンピュータプログラム
JP2013084163A (ja) 2011-10-12 2013-05-09 Hitachi Ltd 協調シミュレーション装置及び協調シミュレーション方法
JP2013137658A (ja) 2011-12-28 2013-07-11 Hitachi Automotive Systems Ltd 協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラム
JP2016004338A (ja) 2014-06-16 2016-01-12 富士電機株式会社 連携シミュレーション装置

Also Published As

Publication number Publication date
JP2023059311A (ja) 2023-04-27

Similar Documents

Publication Publication Date Title
EP3517893B1 (en) Path and speed optimization fallback mechanism for autonomous vehicles
JP7112658B2 (ja) 車両運転支援システム及び方法
JP5848137B2 (ja) 道路曲率推定システム
CN107850444B (zh) 行驶控制方法及行驶控制装置
CN111476106A (zh) 基于单目相机的直道相对坡度实时预测方法、系统及装置
JP7196876B2 (ja) センサ遅延時間推定装置
US20210335131A1 (en) Moving object behavior prediction device
US11845465B2 (en) Autonomous lateral control of vehicle using direct yaw moment control
US20210261118A1 (en) Enhanced object detection and response
CN113175935A (zh) 用于识别车辆环境中的对象的方法
EP3693704A1 (en) Vehicle driving assistance system and vehicle driving assistance method
JP7141508B1 (ja) 協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム
KR102489865B1 (ko) 다중 필터 및 센서 퓨전 기반의 차량의 위치 추정 방법
US11801866B2 (en) Emergency motion control for vehicle using steering and torque vectoring
JP7409037B2 (ja) 推定装置、推定方法、推定プログラム
US12515651B2 (en) System and method for target behavior prediction using host prediction in advanced driving assist system (ADAS), autonomous driving (AD), or other applications
US11845422B2 (en) Path tracking control for self-driving of vehicle with yaw moment distribution
JP7612107B1 (ja) 移動体制御装置
JP2019066444A (ja) 位置演算方法、車両制御方法及び位置演算装置
US20230174040A1 (en) Vehicle motion control using torque vectoring with consideration of driver intent and load transfer
JP7308141B2 (ja) 自己位置推定方法及び自己位置推定装置
JP2025157973A (ja) 演算処理方法、演算処理プログラム、及び演算処理装置
CN114527738B (zh) 跟随车辆的半自主倒车
CN114136328B (zh) 一种传感器信息融合方法及装置
CN117346776A (zh) 一种基于因子图优化的定位方法及装置和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220909

R150 Certificate of patent or registration of utility model

Ref document number: 7141508

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150