以下、本発明に係る車両挙動推定予測装置および車両安定化制御システムの実施の形態について、図面を参照して説明する。
まず、本実施形態に係る車両挙動推定予測装置について説明する。本実施形態の車両挙動推定予測装置1は、図示しないCPUやROM、RAM、入出力インターフェース等がバスにより接続されたコンピュータにより構成されている。
図1は、本実施形態に係る車両挙動推定予測装置の構成を示すブロック図である。車両挙動推定予測装置1は、特徴量抽出手段2と、演算手段3と、最適化手段4とを有している。
本実施形態では、車両挙動推定予測装置1には、操舵角センサS1、ステア反力センサS2、車輪速センサS3、横加速度センサS4、前後加速度センサS5、アクセル開度センサS6、温度センサS7、風速センサS8等の測定装置Sが接続されており、それぞれのセンサからハンドル角δ、ステア反力St、車輪速V、車体横加速度Gy、車体前後加速度Gx、アクセル開度A、外気温度Te、外気風速Wがそれぞれ入力されるようになっている。
特徴量抽出手段2には、ハンドル角δ、ステア反力St、車輪速V、車体横加速度Gy、車体前後加速度Gx、アクセル開度Aのデータが入力されるようになっている。また、ハンドル角δについては、微分器5、6により微分値および2階微分値すなわちハンドル角速度dδおよびハンドル角加速度d2δが算出され、それらの値も特徴量抽出手段2に入力されるようになっている。
特徴量抽出手段2は、図2(A)に示すような単数または複数の砂時計型ニューラルネットワークinSNNで構成されている。本実施形態では、ハンドル角δ、ハンドル角速度dδ、ハンドル角加速度d2δおよびステア反力Stが1つの砂時計型ニューラルネットワークに入力されるようになっており、図示を省略するが車輪速V、車体横加速度Gy、車体前後加速度Gxおよびアクセル開度Aが別の砂時計型ニューラルネットワークに入力されるようになっている。
本実施形態で用いられる砂時計型ニューラルネットワークinSNNは、ノードN1〜N4で構成される入力層L1、ノードN5〜N7で構成される入力側中間層L2、ノードN8で構成される圧縮層L3、ノードN9〜N11で構成される出力側中間層L4、およびノードN12〜N15で構成される出力層L5で構成されている。
なお、圧縮層L3を構成するノードを、例えば図2(B)に示すように複数のノードで構成することも可能である。この場合、圧縮層L3を構成するノードの数は、入力層L1のノード数すなわち入力されるデータの数より少なくなるように設定される。
また、砂時計型ニューラルネットワークinSNNは、圧縮層L3を境にして入力側と出力側とが対称になるようにノードが配置される。入力側中間層L2および出力側中間層L4を構成するノードの数は適宜設定され、或いはそれらを設けないことも可能である。
砂時計型ニューラルネットワークinSNNは、後述する学習により入力層L1への入力データと同じデータが出力層L5から出力されるようになっている。すなわち、データは入力層L1から圧縮層L3への流れで次元圧縮され、圧縮層L3から出力層L5への流れで復元されるようになっている。
つまり、圧縮層L3から出力側中間層L4への出力は、圧縮層L3から出力層L5への流れで入力データが復元されるような入力データすなわち入力された複数の車両挙動を表す量の特徴がすべて反映された量になっている。従って、圧縮層L3からの出力は、入力された複数の車両挙動を表す量の特徴を表す特徴量として用いることができる。
そこで、本発明では、砂時計型ニューラルネットワークinSNNで入力された複数の車両挙動を表す量に関するデータを次元圧縮し、その圧縮層L3からの出力を入力された複数の車両挙動を表す量の特徴量として抽出し、圧縮層L3からの出力すなわち特徴量を演算手段3に出力するようになっている。
なお、本実施形態では、砂時計型ニューラルネットワークinSNNの出力層L5からの各出力は、後述する学習時以外には活用されない。
図2(A)に示した砂時計型ニューラルネットワークinSNNでは1つのノードからなる圧縮層L3から1種類の特徴量f1が演算手段3に出力され、もう1つの車輪速V等が入力される砂時計型ニューラルネットワークinSNNの圧縮層からは別の特徴量f2が演算手段3に出力されるようになっている。なお、図2(B)に示した砂時計型ニューラルネットワークinSNNでは2つのノードからなる圧縮層から2種類の特徴量が出力され、それらのいずれか或いはその両方が出力されて演算手段3に送られる。
砂時計型ニューラルネットワークinSNNの入力層L1、入力側中間層L2、圧縮層L3、出力側中間層L4および出力層L5を構成する各ノードNiは、所定の伝達関数に従って入力Xiに対して1つの出力Yiを出力するようになっている。本実施形態では、伝達関数として下記(1)式で表されるシグモイド関数が用いられている。なお、下記(1)式におけるθiはノードNiごとの閾値である。
Yi=1/(1+exp(−(Xi−θi))) …(1)
前記(1)式における入力Xiは、入力層L1においては、ノードN1〜N4にそれぞれ入力されるハンドル角δ、ハンドル角速度dδ、ハンドル角加速度d2δおよびステア反力Stのそれぞれの正規化値である。また、もう1つの砂時計型ニューラルネットワークinSNNでは、車輪速V、車体横加速度Gy、車体前後加速度Gxおよびアクセル開度Aのそれぞれの正規化値である。
また、入力側中間層L2、圧縮層L3、出力側中間層L4および出力層L5においては、前記(1)式における入力Xiは、それぞれ上流側の各ノードNjの出力Yjを重み付けした総和である。すなわち、上流側のノードNjと下流側のノードNiとの結合重み係数をwijとした場合、ノードNiへの入力Xiは、
Xi=Σwij×Yj …(2)
で求められる。
なお、伝達関数は、前記(1)式に示されたシグモイド関数以外の関数を用いることも可能である。例えば、ヒステリシス、リミッタ、二値化、不感帯、遅延回路Z−1等の時間遅れ、ピークホールド、微分、積分、最大値等の各関数を用いることが可能であり、適宜選択されて用いられる。
また、次元圧縮すべきデータの数が多い場合は、複数の砂時計型ニューラルネットワークの圧縮層からそれぞれ出力されたデータを再度別の砂時計型ニューラルネットワークに入力してさらに次元圧縮し、その圧縮層からの出力を特徴量として演算手段3に送るように構成することも可能である。
演算手段3は、図1に示したように、すべり角演算手段31やヨーレート演算手段32、ロールレート演算手段33、ピッチレート演算手段34等、車両挙動推定予測装置1に求められる機能に応じて単数または複数の演算手段で構成されている。そのため、この他、例えば、タイヤにかかる横力や前後力、路面摩擦係数等を演算する演算手段を備えることも可能である。
演算手段3を構成する各演算手段には、それぞれ特徴量抽出手段2から送信されてきた前記抽出された特徴量と、各測定装置Sから送信されてきた測定値とが入力されるようになっている。本実施形態では、温度センサS7および風速センサS8から送信されてきた外気温度Teおよび外気風速Wの測定値が演算手段3に直接入力されるようになっている。
また、各演算手段は、それぞれの特徴量や測定値に基づいて現在の車両挙動を表す量の推定値もしくは一定時間後の車両挙動を表す量の予測値、またはその双方を算出するようになっている。なお、各演算手段から推定値と予測値のいずれが出力されるか、或いはその双方が出力され得るかは、後述するリカレント型ニューラルネットワークRNNの出力層の構造および何を出力させるかの学習の仕方による。
本実施形態では、演算手段3を構成する各演算手段は、図3に示すような遅れ要素フィードバックを有する階層型のリカレント型ニューラルネットワークRNNで構成されている。
なお、以下では、砂時計型ニューラルネットワークretSNNを含む遅れ要素フィードバックを有するリカレント型ニューラルネットワークRNNが現在のすべり角の推定値βeを出力する場合を想定して説明するが、一定時間後のすべり角の予測値βeを出力する場合や他の車両挙動を表す量の推定値や予測値を出力する場合も同様に説明される。
本実施形態で用いられるリカレント型ニューラルネットワークRNNの本体部は、ノードN16〜N20で構成される入力層L6、ノードN21〜N23で構成される第1中間層L7、ノードN24〜N27で構成される第2中間層L8、およびノードN28で構成される出力層L9で構成されている。
なお、中間層を2層ではなく1層のみ設けてもよく、3層以上設けることも可能である。また、中間層L7、L8や出力層L9を構成するノードの数は適宜設定される。出力層L9を複数のノードで構成する場合、いずれのノードから推定値や予測値を出力し、いずれのノードからの出力を後述する砂時計型ニューラルネットワークretSNNに送信するかは適宜決定される。
リカレント型ニューラルネットワークRNNの入力層L6、第1中間層L7、第2中間層L8および出力層L9を構成する各ノードNiが前記(1)式で表されるシグモイド関数に従って入力Xiに対して1つの出力Yiを出力するようになっていて、第1中間層L7、第2中間層L8および出力層L9における入力Xiが前記(2)式に従ってそれぞれ上流側の各ノードNjの出力Yjを重み付けした総和であることは、前述した砂時計型ニューラルネットワークinSNNの場合と同様である。また、伝達関数としてシグモイド関数以外の関数を用いることも可能である。
リカレント型ニューラルネットワークの入力層L6を構成するノードN16〜N19には、特徴量抽出手段2から送信されてきた特徴量f1、f2および外気温度Teや外気風速Wの測定値のそれぞれの正規化値が入力されるようになっている。
また、入力L6を構成するもう1つのノードN20には、リカレント型ニューラルネットワークから現在または過去の複数の時点で出力された推定値βeが遅れ要素としてフィードバックされて次元圧縮されて入力されるようになっている。
この遅れ要素の次元圧縮には、特徴量抽出手段2を構成する砂時計型ニューラルネットワークinSNNと同様の砂時計型ニューラルネットワークretSNNが用いられるようになっている。本実施形態では、砂時計型ニューラルネットワークretSNNは、砂時計型ニューラルネットワークinSNNと同じ構成とされており、入力層L10、入力側中間層L11、圧縮層L12、出力側中間層L13および出力層L14で構成されている。
砂時計型ニューラルネットワークretSNNの入力層L10を構成するノードN29には現在出力された推定値βeが遅れ要素として入力され、ノードN30〜32には、それと同期してそれぞれ遅延回路Z−1で1サイクルずつ遅延された過去の推定値βeがそれぞれ遅れ要素として入力されるようになっている。
砂時計型ニューラルネットワークretSNNは、学習により入力層L10への入力データと同じデータが出力層L14から出力されるようになっており、圧縮層L12から次元圧縮された情報が出力されるようになっている。圧縮層L12から出力された情報は、リカレント型ニューラルネットワークRNNの入力層L6のノードN20に入力されるようになっている。
この情報は、リカレント型ニューラルネットワークRNNの出力であるすべり角の推定値βeの過去の履歴すなわち時間的変化を反映した量であり、いわば出力値の時間的変化の特徴量fdと言い得る量である。
なお、本実施形態では、現在の出力値およびそれの1サイクルずつ前の連続する出力値を砂時計型ニューラルネットワークretSNNに入力する場合について述べたが、現在の出力値の使用の有無や過去の出力値の時間間隔や用いる個数等は適宜決められる。また、現在および過去の何個の推定値βeをフィードバックするかによって砂時計型ニューラルネットワークretSNNの入力層L10のノード数およびそれと同数の出力層L14のノード数が決まる。
その際、入力層L10への入力データ数が多くなる場合は、複数の砂時計型ニューラルネットワークの圧縮層からそれぞれ出力されたデータを再度別の砂時計型ニューラルネットワークに入力してさらに次元圧縮し、その圧縮層からの出力をリカレント型ニューラルネットワークRNNの入力層L6に入力するように構成することも可能である。
また、本実施形態では、砂時計型ニューラルネットワークinSNNの場合と同様に、砂時計型ニューラルネットワークretSNNの出力層L14からの各出力は、後述する学習時以外には活用されない。
最適化手段4は、特徴量抽出手段2を構成する砂時計型ニューラルネットワークinSNNと、演算手段3を構成する各演算手段におけるリカレント型ニューラルネットワークRNNと砂時計型ニューラルネットワークretSNNのそれぞれについて、各ノードNiの閾値θiと結合重み係数wijとを遺伝的アルゴリズムの学習則に基づく学習により予め自動的に最適化するように構成されている。
なお、以下では、演算手段3として現在のすべり角の推定値βeを出力するすべり角演算手段31について学習を行う場合について説明するが、一定時間後のすべり角の予測値βeを出力する場合や他の車両挙動を表す量の推定値や予測値を出力する場合も同様に説明される。また、各ニューラルネットワークのノードの伝達関数がシグモイド関数である場合について述べるが、伝達関数がシグモイド関数以外の関数で構成されている場合には、その関数に用いられる閾値や係数、定数等が同様にして最適化される。
最適化手段4は、図4に示すように、データ記憶手段7と、評価手段8と、切替手段9とを備えている。
データ記憶手段7には、学習に用いられる時系列的な実測データDが入力されて保存されている。実測データDは、各演算手段に共通のデータとして、車両挙動推定予測装置1に入力されるハンドル角δ、ステア反力St、車輪速V、車体横加速度Gy、車体前後加速度Gx、アクセル開度A、外気温度Te、外気風速Wのある所定時間分の実測値であり、教師データとしても用いられる。
また、データ記憶手段7には、すべり角演算手段31の学習に用いられる教師データTとしてそれらのデータDと同一のタイミングですべり角センサにより実測された時系列的なすべり角βreのデータが入力され保存されるようになっている。なお、演算手段3を構成する各演算手段の学習に教師データとして用いられるそれぞれの車両挙動を表す量の時系列的な実測値はそれぞれ予めデータ記憶手段7に入力され保存される。
評価手段8は、図5に示すように、初期個体生成手段10と、評価値算出手段11と、終了判定手段12と、親選択手段13と、交叉手段14と、突然変異手段15とを備えている。また、評価手段8は、図示しないメモリを備えている。
まず、特徴量抽出手段2の砂時計型ニューラルネットワークinSNNの学習について説明する。
初期個体生成手段10は、最適化の開始指示に応じて、砂時計型ニューラルネットワークinSNNを構成する各ノードのシグモイド関数について、必要な個数の閾値θiと結合重み係数wijとを遺伝子を含む個体を予め設定された個体数生成させて、それぞれ1世代目の個体群を形成させるように構成されている。
遺伝子型の1つの個体は、図2(A)の砂時計型ニューラルネットワークinSNNのノードN1〜N15の各ノードについてノードN1の閾値θ1、結合重み係数w1,5、w1,6、w1,7、ノードN2の閾値θ2、結合重み係数w2,5、…の順に各ノードの閾値θiと結合重み係数wijとを1列に並べた数値列を含む形に形成される。1世代目の個体群の生成の際、各個体の各ノードの閾値θiと結合重み係数wijの値はランダムに設定されるようになっている。なお、個体の構成はこのような構成に必ずしも限定されず、下記の演算の容易さ等の観点から適宜決定される。
本実施形態のように特徴量抽出手段2を構成する砂時計型ニューラルネットワークinSNNが2つある場合には、初期個体生成手段10は、2つの1世代目の個体群をそれぞれ独立に生成させる。そして、評価手段8は、以下の進化過程を2つの群のそれぞれで独立に並行して行うようになっている。
以下では、ハンドル角δ、ハンドル角速度dδ、ハンドル角加速度d2δおよびステア反力Stが入力される砂時計型ニューラルネットワークinSNNの学習について述べるが、車輪速V、車体横加速度Gy、車体前後加速度Gxおよびアクセル開度Aが入力される砂時計型ニューラルネットワークinSNNも同様にかつ同時並行的に学習が行われる。
初期個体生成手段10は、前記構成の個体を1つの群につき例えば100個生成して、評価値算出手段11に送信するようになっている。
評価値算出手段11は、個体群の中から1つの個体を選択し、その個体に含まれる各ノードの閾値θiと結合重み係数wijとを砂時計型ニューラルネットワークinSNNに送信し、砂時計型ニューラルネットワークinSNNをセットアップして試行を行うようになっている。
評価値算出手段11は、セットアップが完了すると、データ記憶手段7に入力されているハンドル角δおよびステア反力Stの所定時間分の実測データを時系列的に読み出す。また、ハンドル角δについては装置1の微分器5、6を用いて微分および2階微分を行ってハンドル角速度dδおよびハンドル角加速度d2δを算出する。そして、ハンドル角δ、ハンドル角速度dδ、ハンドル角加速度d2δおよびステア反力Stを図2(A)に示した特徴量抽出手段2の砂時計型ニューラルネットワークinSNNの入力層L1のノードN1〜N4にそれぞれ同期的に順次入力するようになっている。
評価値算出手段11は、入力層L1への入力に応じて出力層L5のノードN12〜N15からハンドル角δ、ハンドル角速度dδ、ハンドル角加速度d2δおよびステア反力Stが順次出力されると、下記の(3)式に従って、各個体の評価値Qを算出するようになっている。
ここで、SiはノードN12〜N15から出力されたハンドル角δ、ハンドル角速度dδ、ハンドル角加速度d2δおよびステア反力Stであり、TiはノードN1〜N4に入力されたハンドル角δ、ハンドル角速度dδ、ハンドル角加速度d2δ、ステア反力Stである。また、tcは1サイクルの所要時間であり、Nはデータ記憶手段7から評価値算出手段11に入力された所定時間分の実測データDの所定の総サイクル数である。
この場合、実測データDは入力される実測値であるとともに教師データにもなっている。なお、前記(3)式から分かるように、評価値Qが小さいほど入力された実測データDと出力されたデータとの近似の度合が高いことを表す。
評価値算出手段11は、この試行を個体群のすべての個体について行い、個体ごとにそれぞれ評価値Qを計算するようになっている。評価値算出手段11は、個体と評価値Qとを終了判定手段12に送信するようになっている。
終了判定手段12は、設定された終了判定条件を満たしているか否かを判断するようになっている。そして、終了判定条件を満たしていると判断した場合は、個体群の中で最良の評価値Qを有する個体に含まれる砂時計型ニューラルネットワークinSNNの各ノードの閾値θiと結合重み係数wijとを特徴量抽出手段2に送って砂時計型ニューラルネットワークをセットアップさせると同時に、個体群のすべての個体をメモリに保存するようになっている。また、終了判定手段12は、終了判定条件を満たしていないと判断した場合は、個体および評価値Qを親選択手段13に送信するようになっている。
本実施形態では、終了判定条件は、設定された世代数に達することとされており、設定された世代数に達した時点で評価手段8における進化過程が終了するようになっている。しかし、終了判定条件を、例えば、設定した評価値より良い、すなわち設定した評価値より小さい評価値Qを有する個体が現れた時点で終了するように設定することも可能であり、また、設定された処理時間に達した時点で終了するように設定することも可能である。
本実施形態の親選択手段13では、エリート保存による親選択が行われるように構成されている。すなわち、親選択手段13は、個体群の中から評価値Qが小さい順に所定個数の個体をメモリ16に格納して隔離すると同時に、隔離した個体のコピーを生成し、そのコピーと格納された個体以外の個体について逆ルーレット選択や期待値選択、ランキング選択、トーナメント選択等の方法で個体の選択を行うように構成されている。親選択手段13は、選択された個体を交叉手段14に送信するようになっている。
交叉手段14では、親選択手段13から送られてきた親個体というべき各個体について1点交叉や多点交叉、一様交叉、SPX(Simplex Crossover)交叉、UNDX(Unimodel Normal Distribution Crossover)交叉等の通常の方法により所定の確率で交叉を行うようになっている。また、交叉により生成された個体は、突然変異手段15に送信され、突然変異手段15では、個体を構成する各ノードの閾値θiや結合重み係数wijの値をそれぞれ一定の割合でランダムに変化させるようになっている。このようにして次世代の個体群が生成される。
交叉手段14および突然変異手段15における処理が終了した各個体は、前記評価値算出手段11に送信され、再度それぞれの個体について試行が行われ、評価値Qが算出されるように構成されている。評価値Qが算出された個体は終了判定手段12に送信され、終了判定手段12では、メモリ16に格納された1世代前の個体とともに終了判定が行われるようになっている。この最適化処理は終了条件を満たすまで繰り返される。
評価手段8は、以上のようにして特徴量抽出手段2の砂時計型ニューラルネットワークinSNNの学習を行うようになっている。また、一連の砂時計型ニューラルネットワークinSNN、retSNN、リカレント型ニューラルネットワークRNNの学習において、再度砂時計型ニューラルネットワークinSNNの学習を行う場合には、メモリに保存されている砂時計型ニューラルネットワークinSNN用の個体群の各個体をメモリから読み出して、引き続き学習を行うようになっている。
評価手段8は、図3に示した演算手段3における砂時計型ニューラルネットワークretSNNの学習についても、前記砂時計型ニューラルネットワークinSNNの学習と同様にして学習を行うようになっている。
しかし、砂時計型ニューラルネットワークinSNNで用いた個体群とは別に新たに個体群を生成して砂時計型ニューラルネットワークretSNNの学習を行い、しかも、演算手段3における各演算手段について別々に個体群を生成させて独立に学習を行うようになっている。
また、終了判定条件が満たされると、個体群の中で最良の評価値Qを有する個体に含まれる各ノードの閾値θiと結合重み係数wijとを学習の対象となった演算手段の砂時計型ニューラルネットワークretSNNに送ってセットアップさせると同時に、その砂時計型ニューラルネットワークretSNN用の個体群のすべての個体をメモリに保存するようになっている。
さらに、一連の砂時計型ニューラルネットワークinSNN、retSNN、リカレント型ニューラルネットワークRNNの学習において、再度その砂時計型ニューラルネットワークretSNNの学習を行う場合には、メモリに保存されているその砂時計型ニューラルネットワークretSNN用の個体群の各個体をメモリから読み出して、引き続き学習を行うようになっている。
砂時計型ニューラルネットワークretSNNの学習の場合、入力層L10のノードN29〜N32に入力される教師データとしての入力データは、図3に示したように、その砂時計型ニューラルネットワークretSNNが用いられているリカレント型ニューラルネットワークRNNからの出力データである現在の推定値βetと1サイクルずつ遅延された過去の推定値βet-1、βet-2、βet-3である。
そのため、評価手段8の評価値算出手段11は、各個体の試行に際して、データ記憶手段7に入力されているハンドル角δ、ステア反力St、車輪速V、車体横加速度Gy、車体前後加速度Gx、アクセル開度Aのデータを時系列的に読み出し、ハンドル角δについては微分器5、6を用いて微分や2階微分によりハンドル角速度dδとハンドル角加速度d2δを算出して特徴量抽出手段2に送信する。また同時に、外気温度Te、外気風速Wのデータをデータ記憶手段7から読み出して演算手段3に送信する。
そして、リカレント型ニューラルネットワークRNNから出力された現在の推定値βetと1サイクルずつ遅延された過去の推定値βet-1、βet-2、βet-3を砂時計型ニューラルネットワークretSNNの入力層L10のノードN29〜N32に順次入力し、出力層L14のノードN40〜N43から現在の推定値βetと過去の推定値βet-1、βet-2、βet-3を順次出力させる。
そして、前記(3)式に従って各個体の評価値Qを算出するようになっている。この場合、前記(3)式におけるSiはノードN40〜N43から出力された推定値βet、βet-1、βet-2、βet-3であり、TiはノードN29〜N32に入力された推定値βet、βet-1、βet-2、βet-3である。
本実施形態では、砂時計型ニューラルネットワークretSNNの学習においても、終了判定条件は、設定された世代数に達することとされている。他の条件設定を行うことも可能である。
図3に示したリカレント型ニューラルネットワークRNNの学習においても、評価手段8の評価値算出手段11は、各個体の試行に際して、データ記憶手段7に入力されているハンドル角δ、ステア反力St、車輪速V、車体横加速度Gy、車体前後加速度Gx、アクセル開度Aのデータを時系列的に読み出し、ハンドル角δについては微分器5、6を用いて微分や2階微分によりハンドル角速度dδとハンドル角加速度d2δを算出して特徴量抽出手段2に送信し、外気温度Te、外気風速Wのデータをデータ記憶手段7から読み出して演算手段3に送信する。
そして、リカレント型ニューラルネットワークRNNの場合には、データ記憶手段7に教師データTとして保存されているデータ、すなわちすべり角演算手段31の場合にはハンドル角δ等と同一のタイミングで実測されたすべり角βreのデータを読み出して、そのデータとリカレント型ニューラルネットワークRNNから出力された推定値βetとを前記(3)式に代入して各個体の評価値Qを算出するようになっている。
従って、この場合、前記(3)式におけるSiはノードN28から出力された推定値βetの時系列データであり、Tiは教師データとしてデータ記憶手段7から読み出されたすべり角βの実測値βreの時系列データである。また、この場合、データの種類は1種類しかないからi=1である。
特定のリカレント型ニューラルネットワークRNNの学習に用いられた個体は、他の演算手段や他の砂時計型ニューラルネットワークinSNN、retSNNの学習に用いられた個体とは独立に生成された個体を用い、個体群がメモリに保存され、一連の学習において再度そのリカレント型ニューラルネットワークRNNの学習を行う場合には、メモリに保存されているそのリカレント型ニューラルネットワークRNN用の個体群の各個体をメモリから読み出して、引き続き学習を行うことは前記砂時計型ニューラルネットワークinSNN、retSNNの学習の場合と同様である。
また、本実施形態では、リカレント型ニューラルネットワークRNNの学習においても、終了判定条件は、設定された世代数に達することとされている。他の条件設定を行うことも可能である。
切替手段9は、学習タイミングを切り替えながら前記砂時計ニューラルネットワークinSNN、retSNNおよびリカレント型ニューラルネットワークRNNの学習を行わせるために、1つのニューラルネットワークの学習が終了するごとにいずれか1つのニューラルネットワークを選択する手段である。
切替手段9における学習タイミングの切り替えの基準として、例えば、単純に砂時計ニューラルネットワークinSNN、リカレント型ニューラルネットワークRNN、砂時計ニューラルネットワークretSNNの順番に学習させるように構成することも可能である。
本実施形態では、切替手段9における学習タイミングの切り替えの基準として、以下の基準により学習するニューラルネットワークを選択するようになっている。
すなわち、ハンドル角δ等を装置1に入力して演算手段のリカレント型ニューラルネットワークRNNから推定値βeを出力させ、推定値βeと教師データであるすべり角の実測値βreについてそれぞれの時系列データの波形について平均値、分散および周期を算出する。そして、両者の平均値、分散および周期の差をそれぞれ正規化して比較した場合に、両者の差が最も大きいものが平均値である場合には砂時計型ニューラルネットワークinSNNを、分散である場合にはリカレント型ニューラルネットワークRNNを、周期である場合には砂時計型ニューラルネットワークretSNNを選択するようになっている。
具体的には、切替手段9は、まず、現段階でメモリに記憶されている砂時計ニューラルネットワークinSNN、retSNN、リカレント型ニューラルネットワークRNNについての各個体群の中から最も良い評価値Qを有する個体に含まれる各ノードの閾値θiと結合重み係数wijを各ニューラルネットワークに送信してセットアップする。
そして、データ記憶手段7からハンドル角δ、ステア反力St、車輪速V、車体横加速度Gy、車体前後加速度Gx、アクセル開度Aのデータを時系列的に読み出し、ハンドル角δについては微分器5、6を用いて微分や2階微分によりハンドル角速度dδとハンドル角加速度d2δを算出して特徴量抽出手段2に送信し、外気温度Te、外気風速Wのデータを読み出して演算手段3のすべり角演算手段31に送信する。
リカレント型ニューラルネットワークRNNから出力されたすべり角の推定値βeの時系列データを、所定の時間間隔ごとの時系列データβeiに分割し、各時系列データβeiについて平均値Mei、分散σei、周期Feiをそれぞれ算出する。なお、この場合、周期Feiとは、時系列データβeiに高速フーリエ変換(FFT:Fast Fourier Transform)を施して周波数スペクトルを求め、その周波数スペクトルの最大のピークに対応する周波数の逆数である。
また、切替手段9は、データ記憶手段7からハンドル角δ等と同一のタイミングで実測された教師データとしてのすべり角βreを読み出し、同様に所定の時間間隔ごとの時系列データβreiに分割し、各時系列データβreiについて平均値Mrei、分散σrei、周期Freiをそれぞれ算出する。
そして、平均値Meiと平均値Mreiとの差を算出し、すべて足し合わせる。分散σeeiと分散σrei、周期Feiと周期Freiについても同様に差を算出して足し合わせる。そして、足し合わせた平均値の差、分散の差、周期の差をそれぞれ正規化し、それぞれの比を算出して一番比率が高かったものを学習の対象として選択するようになっている。
本実施形態では、平均値は砂時計型ニューラルネットワークinSNNに、分散はリカレント型ニューラルネットワークRNNに、周期は砂時計型ニューラルネットワークretSNNにそれぞれ対応づけられている。
これは、特徴量抽出手段2の砂時計型ニューラルネットワークinSNNの学習の具合が悪いと出力データβeの平均値と教師データβreの平均値との間に差が生じ、演算手段3のリカレント型ニューラルネットワークRNNの学習の具合が悪いと出力データβeの分散と教師データβreの分散との間に差が生じ、砂時計型ニューラルネットワークretSNNの学習の具合が悪いと出力データβeの周期と教師データβreの周期との間に差が生じるという知見に基づく。
切替手段9は、評価手段8が設定された世代数の学習を終えると、前記要領で平均値の差、分散の差、周期の差を算出し、例えば、(平均値の差):(分散の差):(周期の差)が0.1:0.4:0.5であった場合には砂時計型ニューラルネットワークretSNNを学習の対象として選択して評価手段8に砂時計型ニューラルネットワークretSNNの学習を行わせるようになっている。
本実施形態では、切替手段9による切り替え回数が所定回数に達した時点で切り替えを終了し、最適化手段4における最適化処理が終了するようになっている。なお、終了の条件としては、この他にも、例えば、砂時計型ニューラルネットワークinSNN、retSNNおよびリカレント型ニューラルネットワークRNNについての個体の最良の評価値Qがそれぞれに設定された評価値をすべて上回った時点で終了するように構成することも可能である。
次に、本実施形態に係る車両挙動推定予測装置1を用いた車両安定化制御システムについて説明する。
本実施形態に係る車両安定化制御システム17は、図6に示されるように、車両挙動推定予測装置1と、制御装置18と、アクセル開度等を調整する各種アクチュエータ等19とを備えている。なお、各種アクチュエータ等19としては、具体的には、4輪独立ブレーキ、アクセル開度を制御する電子制御スロットル、バイワイヤによるステアリング制御のようにステアリングサーボ機能を有するシステム等が挙げられる。
車両挙動推定予測装置1は、前述したようにステアリングホイールの操舵角センサS1等の測定装置Sにより測定された操舵角δ等が入力されると、制御装置18に対して前述したように現在のすべり角の推定値βeやヨーレートの推定値γe等や一定時間後のすべり角の予測値βeやヨーレートの予測値γe等を出力するようになっている。
また、本実施形態に係る車両挙動推定予測装置1のすべり角演算手段31、ヨーレート演算手段32等の演算手段3は、予め路面が乾燥していて外乱が少ない状態における走行データを教師データとして学習が行われている。
制御装置18は、図示しないCPUやROM、RAM、入出力インターフェース等がバスに接続されたコンピュータにより構成されており、制御装置18には、車両挙動推定予測装置1から出力されたすべり角やヨーレート等の推定値や予測値βe、γeが入力されるようになっている。また、本実施形態では、その他、操舵角δと、図示しないすべり角センサおよびヨーレートセンサで測定された実すべり角βreおよび実ヨーレートγreが入力されるようになっている。
制御装置18は、入力されたステアリングホイールの操舵角δにおけるすべり角やヨーレートの現在の推定値βe、γeとセンサによる実測値βre、γreとを比較して車両がスピン状態やドリフト状態にあるか、あるいはアンダステアの状態にあるかオーバステアの状態にあるかを判断するようになっている。
各種アクチュエータ等19は、制御装置18から送信される制御信号に応じて作動するようになっている。
次に、本実施形態に係る車両挙動推定予測装置1およびそれを用いた車両安定化制御システム17の作用について説明する。
車両挙動推定予測装置1の特徴量抽出手段2の砂時計型ニューラルネットワークinSNNおよび演算手段3を構成する各演算手段のリカレント型ニューラルネットワークRNN、砂時計型ニューラルネットワークretSNNは、最適化手段4により操舵角δ等の実測データDおよび教師データTに基づいてそれぞれ予め学習され最適化される。そして、それぞれ最適化された各ノードの閾値θiと結合重み係数wijによってセットアップされる。
車両挙動推定予測装置1に、操舵角センサS1やステア反力センサS2、車輪速センサS3等から測定された操舵角δやステア反力St、車輪速V等の測定値が同期がとられた一定のサンプリングサイクルごとに入力されると、それらの測定値のうち、ハンドル角δは微分器5、6によりハンドル角速度dδおよびハンドル角加速度d2δが算出され、ハンドル角δ、ハンドル角速度dδ、ハンドル角加速度d2δ、ステア反力St、車輪速V、車体横加速度Gy、車体前後加速度Gx、アクセル開度Aが特徴量抽出手段2に入力される。また、外気温度Te、外気風速Wは演算手段3に入力される。
特徴量抽出手段2では、一方の砂時計型ニューラルネットワークinSNNの入力層L1のノードN1〜N4にそれぞれハンドル角δ、ハンドル角速度dδ、ハンドル角加速度d2δ、ステア反力Stの正規化値が入力され、次元圧縮されて圧縮層L3のノードN8から特徴量f1が抽出されて演算手段3に出力される。また、他方の砂時計型ニューラルネットワークinSNNの入力層L1のノードN1〜N4にそれぞれ車輪速V、車体横加速度Gy、車体前後加速度Gx、アクセル開度Aの正規化値が入力され、次元圧縮されて圧縮層L3のノードN8から特徴量f2が抽出されて演算手段3に出力される。
演算手段3を構成する各演算手段には、それぞれ特徴量抽出手段2から送信されてきた特徴量f1、f2の正規化値と、直接入力された外気温度Te、外気風速Wの正規化値が入力される。そして、各演算手段が、同時に、それぞれが演算すべき車両挙動を表す量の推定値や予測値を算出する。各演算手段の中から演算を行うべき演算手段を選択して演算を行わせるようにすることも可能である。
すべり角演算手段31を例にとって説明すると、すべり角演算手段31を構成するリカレント型ニューラルネットワークRNNの入力層L6のノードN16〜N19にそれぞれ特徴量f1、f2、外気温度Te、外気風速Wの正規化値が入力され、ノードN20には砂時計型ニューラルネットワークretRNNの圧縮層L12から出力値βeの時間的変化の特徴量fdの正規化値が入力される。
各入力値は、ニューラルネットワーク演算処理され、リカレント型ニューラルネットワークRNNの出力層L9のノードN28からすべり角の推定値や予測値を表す出力値βeが出力される。
出力値βeは、遅延回路Z−1を介して正規化されて砂時計型ニューラルネットワークretSNNの入力層L10のノードN29〜N32に入力され、次元圧縮されて圧縮層L12のノードN36から特徴量fdが抽出されて出力され、リカレント型ニューラルネットワークRNNの入力層L6のノードN20に入力される。
車両安定化制御システム17には、車両挙動推定予測装置1から例えばすべり角の推定値βeやヨーレートの推定値γeが入力され、操舵角センサS1等の測定装置Sにより測定された操舵角δ等が入力され、さらにすべり角センサやヨーレートセンサから実すべり角βreや実ヨーレートγreが入力される。
これらの値が入力されると、制御装置18は、例えば、ステアリングホイールの操舵角δにおけるすべり角やヨーレートの推定値βe、γeと、センサによる実測値βre、γreとを比較して、車両がスピン状態やドリフト状態にあるか、あるいはアンダステアの状態にあるかオーバステアの状態にあるかを判断して、各種アクチュエータ等19に制御信号を送信して車両の安定化制御を行う。
具体的には、制御装置18は、まず、ヨーレートの推定値γeと実ヨーレートγreとが一定の誤差範囲内にあってほぼ等しい状態であり、すべり角の推定値βeに比べて実すべり角βreが設定された閾値以上に大きい場合には、路面摩擦係数が減少して車両が路面に対して滑っており、車両にスピンが生じているあるいはスピンが生じかけていると判断して、スピンの発生を阻止するように各種アクチュエータ等19に制御信号を送信する。
この場合、制御装置18は、例えば、4輪独立ブレーキのうち車両の旋回の外側に位置するブレーキにブレーキ圧を上げるように信号を送信し、アクセル開度を制御する電子制御スロットルにはアクセル開度を絞るように信号を送信し、また、ステアリングサーボ機能を有するシステムにはステアリングの操舵角の絶対値を小さくする方向に戻すように信号を送信してスピン発生を防止し、あるいは生じているスピンを解消する。
なお、すべり角の推定値βeに比べて実すべり角βreが同じか小さい場合には、制御装置18は各種アクチュエータ等19に対しては特別の制御を行わない。
また、制御装置18は、すべり角の推定値βeと実すべり角βreとが一定の誤差範囲内にあってほぼ等しい状態であり、ヨーレートの推定値γeが実ヨーレートγreに比べて設定された正の閾値以上に大きい場合には、車両がアンダステアの状態にあると判断してアンダステア状態を解消し、またドリフトの発生を阻止するように各種アクチュエータ等19に制御信号を送信する。
この場合、制御装置18は、例えば、前輪に対する後輪のトルク配分を上げるように調整する信号をトルク配分電子制御システムに送信してアンダステアを解消し、4輪独立ブレーキのうち車両の進行方向側の前輪に対応するブレーキにブレーキ圧を上げるように信号を送信してドリフトの発生を防止し、あるいは生じているドリフト状態を解消する。
さらに、制御装置18は、すべり角の推定値βeと実すべり角βreとが一定の誤差範囲内にあってほぼ等しい状態であり、ヨーレートの推定値γeが実ヨーレートγreに比べて設定された負の閾値より小さい場合には、車両がオーバステアの状態にあると判断して、例えば、後輪に対する前輪のトルク配分を上げるように調整する信号をトルク配分電子制御システムに送信してオーバステアを解消する。
なお、車両安定化制御システム17は、この他にも、例えば、車両挙動推定予測装置1からヨーレートの1秒後、2秒後、3秒後の予測値γet+1、γet+2、γet+3を出力させ、制御装置18がその予測値γet+1、γet+2、γet+3とステアリングホイールの現在の操舵角δtとを監視する。
その際、例えば、操舵角δtが正または負の値であり運転者がステアリングホイールを切っている状態で、3秒後の予測ヨーレートγet+3が1、2秒後の予測ヨーレートγet+1、γet+2から急激に変化すると予測された場合には、3秒後にスピンが生じると判断する。
そして、予め4輪独立ブレーキのうち車両の旋回の外側に位置するブレーキにはブレーキ圧を上げるように、アクセル開度を制御する電子制御スロットルにはアクセル開度を絞るように、また、ステアリングサーボ機能を有するシステムにはステアリングの操舵角の絶対値を小さくする方向に戻すようにそれぞれ信号を送信してスピンの発生を防止するように構成することも可能である。
また、例えば、車両挙動推定予測装置1を車体横加速度の推定値Gyeや横加速度の予測値Gyet+a、Gyet+b、Gyet+c、…を出力するように構成し、制御装置18がそれらの値と横加速度センサS6による実測値Gyreとを比較するように構成することも可能である。
このように構成すれば、制御装置18がそれらの値と横加速度センサS6による実測値Gyreとを比較して、強い横風や路面の左右方向の傾斜、あるいはドリフト等のために車両に横加速度が生じていると判断することが可能となる。そして、その場合には、ステアリングサーボ機能を有するシステムに対して、横加速度の実測値Gyreと推定値または予測値Gyeとの差が小さくする方向にステアリングホールを切るように制御信号を送信することが可能となる。
以上のように、本実施形態に係る車両挙動推定予測装置1によれば、特徴量抽出手段2の砂時計型ニューラルネットワークinSNNでは、ハンドル角δ等が入力層に入力され、一旦圧縮層で次元圧縮された後、出力層からハンドル角δ等が復元されて出力される。そのため、圧縮層から出力側中間層への出力は、入力されたハンドル角δ等の複数の車両挙動を表す量の特徴がすべて反映された情報であると言える。
従って、圧縮層からその情報を引き出し、それを特徴量として抽出して演算手段3に入力することで、1つの入力で演算手段3のニューラルネットワークにハンドル角δ等の複数の車両挙動を表す量を入力することと同じ効果を得ることが可能となる。そのため、ニューラルネットワークが出力する車両挙動を表す量の推定値や予測値の変動に影響を与える可能性がある他の多数種類の量をニューラルネットワークに入力することと同等の効果を得ることが可能となり、ニューラルネットワークから出力される車両挙動を表す量の推定値や予測値の精度を向上させることが可能となる。
また、多数の車両挙動を表す量を少数の特徴量に次元圧縮して入力することで、実際にニューラルネットワークに入力されるデータの数を低減させることが可能となり、ニューラルネットワークを構成するノード数も低減できる。そのため、遺伝的アルゴリズム等により最適化されるべき変数が少数となり、ニューラルネットワークの学習において容易に収束し、学習効率が向上して学習速度が促進されるとともに、ニューラルネットワークから出力される車両挙動を表す量の推定値や予測値の精度をさらに向上させることが可能となる。
また、車両挙動を表す量の推定値や予測値を演算して出力する演算手段3を遅れ要素フィードバックを有するリカレント型ニューラルネットワークRNNで構成し、現在または過去の複数の時点で出力された複数の推定値や予測値を砂時計型ニューラルネットワークを用いて次元圧縮させてリカレント型ニューラルネットワークRNNの入力層に入力させる。
そのため、演算手段3から出力される車両挙動を表す量の推定値や予測値に直前または数サイクル前に出力した推定値等を反映させて、出力される推定値や予測値に連続性や因果性を持たせることが可能となる。また、過去に出力した過去の数サイクルの出力の特徴が反映された情報を1つまたは少数の情報に次元圧縮してリカレント型ニューラルネットワークRNNに入力することが可能となるため、遅れ要素についても上記と同様の効果を得ることが可能となる。
学習においては、学習タイミングを切り替えながら砂時計型ニューラルネットワークinSNN、retSNNやリカレント型ニューラルネットワークRNNの学習を個別に行わせることで、それぞれの学習で容易に収束し、学習効率が向上して学習速度が促進されるとともに、ニューラルネットワークから出力される車両挙動を表す量の推定値等や特徴量の精度をさらに向上させることが可能となる。
また、演算手段3から出力される車両挙動を表す量の推定値や予測値の出力データと学習に用いられた教師データのそれぞれの波形の平均値、分散、周期に基づいて学習タイミングを切り替える。それぞれの波形の平均値の差が大きければ砂時計型ニューラルネットワークinSNNの学習の具合が悪く、それぞれの波形の分散の差が大きければリカレント型ニューラルネットワークRNNの学習の具合が悪く、それぞれの波形の周期の差が大きければ砂時計型ニューラルネットワークretSNNの学習の具合が悪い。
そのため、出力データと教師データのそれぞれの波形の平均値、分散、周期に基づいて学習タイミングを切り替えることで、学習すべきニューラルネットワークを適切に選択することが可能となり、車両挙動推定予測装置1が出力する車両挙動を表す量の精度を効率良く的確に向上させることが可能となる。
一方、本実施形態に係る車両安定化システム17によれば、車両挙動推定予測装置1から送信されてくる高精度の推定値や予測値に基づいて車両の現在の挙動を推定し、将来の挙動を予測することが可能となる。そのため、その高精度の推定値や予測値を用いて車両挙動を不安定化させている要因を除去する方向に効果的に制御し、あるいは車両挙動を不安定化させる要因を修正して不安定化が生じないように予め効果的に制御することが可能となる。
また、予め車両挙動推定予測装置の演算手段を、路面が乾燥していて外乱が少ない状態における走行データを教師データとして学習を行っておくことで、外乱の少ない状態における車両挙動を表す量の推定値や予測値を出力させ、それと実際の測定値とを比較することで、車両に生じているあるいは生じる可能性がある外乱を把握して的確に車両挙動の安定化制御を行うことが可能となる。
なお、本実施形態では、車両挙動推定予測装置1にハンドル角δ等が入力される場合について説明したが、入力されるデータはこれらに限定されず、適宜装置1にセンサ等を接続して入力される。また、微分値や2階微分値が算出されるデータは本実施形態のようにハンドル角δに限定されず適宜決定される。
さらに、特徴量抽出手段2に入力されるデータの種類は、車両挙動推定予測装置1が果たすべき機能等に応じて適宜決定される。また、特徴量抽出手段のそれぞれの砂時計型ニューラルネットワークに入力するデータとして、通常、互いに相関が強いと考えられる車両挙動を表す量が組み合わされるが、データの組み合わせは適宜決定される。
また、本実施形態では、車両挙動推定予測装置1やそれを用いた車両安定化制御システム17を実車両に搭載する場合について述べたが、例えば、これらをコンピュータに組み込んでシミュレーション解析を行うように構成することも可能であり、このような場合も本発明に含まれる。