(57)【要約】【課題】ＲＮＮを用いて車両の運動モデルを生成する新規な手法を提供する。【解決手段】複数のノードが接続されることによりネットワークが形成され、一のノードからの出力が所定の結合重み係数に基づいて他のノードへ入力されるとともに、少なくとも一つのノードからの出力が自己のノードまたは他のノードへフィードバックされるループを有する第１のリカレントニューラルネットワーク２１と、遺伝的アルゴリズムを用いた学習則に基づいて、第１のリカレントニューラルネットワークにおける結合重み係数の最適解を決定する最適化部１０とを有する。この場合、第１のリカレントニューラルネットワークは、所定の入力情報に基づき、車両の運動状態を表す第１のパラメータを出力することで、車両運動モデルとして機能する。【選択図】  図１
2004249812.tif 000002
【特許請求の範囲】
【請求項１】
車両の運動状態を表す車両運動モデルの生成装置において、
複数のノードを接続することによりネットワークが形成され、一のノードからの出力が所定の結合重み係数に応じて他のノードへ入力されるとともに、少なくとも一つのノードからの出力が自己のノードまたは他のノードへフィードバックされるループを有する第１のリカレントニューラルネットワークと、
遺伝的アルゴリズムを用いた学習則に基づいて、前記第１のリカレントニューラルネットワークにおける前記結合重み係数の最適解を決定する最適化部とを有し、
前記第１のリカレントニューラルネットワークは、所定の入力情報に基づき、車両の運動状態を表す第１のパラメータを出力することで、車両運動モデルとして機能することを特徴とする車両運動モデルの生成装置。
【請求項２】
前記第１のリカレントニューラルネットワークは、一つ以上のノードで構成される入力層と、一つ以上のノードで構成される出力層とを少なくとも含む階層型の構造を有し、
前記最適化部は、隣接する層間の各ノードの接続を処理対象として前記結合重み係数の最適解を決定することを特徴とする請求項１に記載された車両運動モデルの生成装置。
【請求項３】
前記第１のリカレントニューラルネットワークは、一のノードの出力が自己のノードを含む前記複数のノードのすべてへ入力され、かつ、前記複数のノードのそれぞれの出力が前記一のノードへ入力されるように前記ノードのそれぞれが相互に接続されており、
前記最適化部は、前記ノードのそれぞれにおける相互の接続を処理対象として前記結合重み係数の最適解を決定することを特徴とする請求項１に記載された車両運動モデルの生成装置。
【請求項４】
前記ノードのそれぞれは、シグモイド関数、または、シグモイド関数以外の非シグモイド関数を伝達関数として用いることを特徴とする請求項１から３のいずれかに記載された車両運動モデルの生成装置。
【請求項５】
前記第１のリカレントニューラルネットワークとは異なるネットワークを構成し、前記第１のパラメータとは異なる車両の運動状態を表す第２のパラメータを出力することにより、車両運動モデルとして機能する第２のリカレントニューラルネットワークをさらに有し、
前記最適化部は、遺伝的アルゴリズムを用いた学習則に基づき、前記第２のニューラルネットワークにおける前記結合重み係数の最適解をさらに決定することを特徴とする請求項１から４のいずれかに記載された車両運動モデルの生成装置。
【請求項６】
前記第１のリカレントニューラルネットワークおよび前記第２のリカレントニューラルネットワークは、前記第１のリカレントニューラルネットワークから出力される、前記第１のパラメータと相関を有する状態変数が前記第２のニューラルネットワークに入力されるように互いに接続されており、
前記状態変数は、路面状態または車両の運動状態を表すことを特徴とする請求項５に記載された車両運動モデルの生成装置。
【請求項７】
請求項１から６のいずれかに記載された生成装置によって生成された車両運動モデルに基づいて路面摩擦係数を推定する路面摩擦係数推定装置。
【請求項８】
請求項１から６のいずれかに記載された生成装置によって生成された車両運動モデルに基づいて車両の挙動を推定する車両挙動推定装置。
【請求項９】
車両の運動状態を表す車両運動モデルの生成方法において、
複数のノードを接続することによりネットワークが形成され、一のノードからの出力が所定の結合重み係数に応じて他のノードへ入力されるとともに、少なくとも一つのノードからの出力が自己のノードまたは他のノードへフィードバックされるループを有する第１のリカレントニューラルネットワークであり、コンピュータが、前記第１のニューラルネットワークにおける前記結合重み係数を遺伝子型として、遺伝的アルゴリズムを用いた学習則に基づき、前記遺伝子型の最適解を決定する第１のステップと、
前記コンピュータが、前記決定された遺伝子型の最適解に基づき、前記結合重み係数の最適解を前記第１のリカレントニューラルネットワークに対して出力する第２のステップとを有し、
前記第１のリカレントニューラルネットワークは、所定の入力情報に基づき、車両の運動状態を表すパラメータを出力することにより、車両運動モデルとして機能することを特徴とする車両運動モデルの生成方法。
【請求項１０】
前記第１のリカレントニューラルネットワークは、一つ以上のノードで構成される入力層と、一つ以上のノードで構成される出力層とを少なくとも含む階層型の構造を有しており、
前記第１のステップは、隣接する層間の各ノードの接続を処理対象として前記遺伝子型の最適解を決定することを特徴とする請求項９に記載された車両運動モデルの生成方法。
【請求項１１】
前記第１のリカレントニューラルネットワークは、一のノードの出力が自己のノードを含む前記複数のノードのすべてへ入力され、かつ、前記複数のノードのそれぞれの出力が前記一のノードへ入力されるように前記ノードのそれぞれが相互に接続されており、
前記第１のステップは、前記ノードのそれぞれにおける相互の接続を処理対象として前記結合重み係数の最適解を決定することを特徴とする請求項９に記載された車両運動モデルの生成方法。
【請求項１２】
前記第１のステップは、前記第１のリカレントニューラルネットワークとは異なるネットワークを構成し、かつ、前記第１のパラメータとは異なる車両の運動状態を表す第２のパラメータを出力することで車両運動モデルとして機能する第２のリカレントニューラルネットワークにおける結合重み係数を遺伝子型として、当該遺伝子型の最適解を決定するステップを含み、
前記第２のステップは、前記決定された遺伝子型の最適解に基づき、前記結合重み係数の最適解を前記第２のリカレントニューラルネットワークに対して出力するステップを含むことを特徴とする請求項９から１１のいずれかに記載された車両運動モデルの生成方法。
【請求項１３】
前記第１のリカレントニューラルネットワークおよび前記第２のリカレントニューラルネットワークは、前記第１のリカレントニューラルネットワークから出力される、前記第１のパラメータと相関を有する状態変数が前記第２のニューラルネットワークに入力されるように互いに接続されており、
前記状態変数は、路面状態または車両の運動状態を表すことを特徴とする請求項１２に記載された車両運動モデルの生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、車両の運動状態を表す車両運動モデルの生成装置およびその方法に係り、特に、リカレントニューラルネットワークを用いた車両運動モデルに関する。
【０００２】
【従来の技術】
従来より、車両の操縦安定性の向上を目的として、種々の技術の研究および開発が行われている。この類の技術の一例に、車両の運動理論に基づいて車両の挙動をモデル化した車両運動モデルがある。車両運動モデルは、ある走行状況における車両のヨー運動、横運動、或いはロール運動などを実験やシミュレーションを通してモデル化したものであり、車両に関する運動方程式に基づいて設定される。この車両運動モデルに基づき、車両の挙動、すなわち、運動状態を解析することにより、車両の操縦安定性を評価することができる。
【０００３】
また、トラクション制御、制動力制御、またはトルク配分制御といった車両の制御では、制御パラメータの演算に路面摩擦係数が用いられる。そこで、上述した車両運動モデルを用いることにより、この車両運動モデルと実際の車両の運動状態とに基づき、路面摩擦係数を推定する技術が提案されている。例えば、特許文献１には、適応制御を利用して路面摩擦係数を推定する手法が開示されている。また、特許文献２には、オブザーバにより推定した車体すべり角を、車両運動モデルに基づいた高μ路での基準値および車両運動モデルに基づいた低μ路での基準値と比較することにより、路面摩擦係数を推定する手法が開示されている。
【０００４】
一方、特許文献３には、ニューラルネットワークを用いて車両の運動状態を推定する手法が開示されている。具体的には、車両の運動状態を表す車両パラメータのうち測定が容易なパラメータ（例えば、前後加速度、横加速度、上下加速度、操舵トルク、前輪舵角、車速、後輪舵角等）を入力とし、測定が困難なパラメータ（横滑り角およびヨーレート）を出力とするニューラルネットワークに基づいて、横滑り角やヨーレートが推定される。また、特許文献４には、ニューラルネットワークを用い、検出された車両の走行状況に基づいて、路面摩擦係数を推定する手法が開示されている。これらの特許文献３，４において、ニューラルネットワークは、バックプロパゲーション等のアルゴリズムに従い、出力が教師信号に対応するように結合重み係数の調整（学習）が予め行われている。
【０００５】
【特許文献１】
特開平８−２２７４号公報
【特許文献２】
特開平１０−２４２０３０号公報
【特許文献３】
特開平４−１３８９７０号公報
【特許文献４】
特開平６−２８６６３０号公報
【０００６】
【発明が解決しようとする課題】
ところで、上記特許文献１または２に記載された手法では、車両運動モデルを設定する場合、解算出における煩雑な演算処理を避けるため、運動方程式を線形近似している。そのため、この車両運動モデルでは、非線形領域において、車両の運動状態、すなわち、車両の挙動を正確に表現することができない可能性がある。
【０００７】
また、特許文献３に記載された手法では、フィードフォワード型のニューラルネットワークを用いているため、ニューラルネットワークから出力された値と、ニューラルネットワークに対して入力された値とが互いに独立している。そのため、このようなニューラルネットワークでは、車両の運動状態を正確に再現できない可能性がある。なぜならば、ニューラルネットワークから出力された値（例えば、横滑り角やヨーレート）は、入力のみならず、現在の自己の値（現在値）にも依存して変化するからである。そのため、車両の運動状態を精度よく推定するためには、出力された値をフィードバックし、この値をニューラルネットワークに反映させる必要がある。この点に関し、特許文献４では、ＡＲＡＭモデルを用いて、出力値の時間遅れ値を入力層に供給することで、路面摩擦係数の推定精度の向上を図っている。しかしながら、このようなフィードバックが存在するニューラルネットワークでは、バックプロパゲーションといった学習則の原理より、その結合重み係数を学習することができないという問題があるため、路面摩擦係数の正確な推定が困難である。
【０００８】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、フィードバックループを含むリカレントニューラルネットワークを用いて車両の運動モデルを生成する新規な手法を提供することにある。
【０００９】
【課題を解決するための手段】
かかる課題を解決するために、第１の発明は、車両の運動状態を表す車両運動モデルの生成装置を提供する。この生成装置は、複数のノードを接続することによりネットワークが形成され、一のノードからの出力が所定の結合重み係数に応じて他のノードへ入力されるとともに、少なくとも一つのノードからの出力が自己のノードまたは他のノードへフィードバックされるループを有する第１のリカレントニューラルネットワークと、遺伝的アルゴリズムを用いた学習則に基づいて、第１のリカレントニューラルネットワークにおける結合重み係数の最適解を決定する最適化部とを有する。ここで、第１のリカレントニューラルネットワークは、所定の入力情報に基づき、車両の運動状態を表す第１のパラメータを出力することにより、車両運動モデルとして機能する。
【００１０】
ここで、第１の発明において、第１のリカレントニューラルネットワークは、一つ以上のノードで構成される入力層と、一つ以上のノードで構成される出力層とを少なくとも含む階層型の構造を有してもよい。この場合、最適化部は、隣接する層間の各ノードの接続を処理対象として結合重み係数の最適解を決定することが好ましい。これに対して、第１の発明において、第１のリカレントニューラルネットワークは、一のノードの出力が自己のノードを含む複数のノードのすべてへ入力され、かつ、複数のノードのそれぞれの出力が一のノードへ入力されるようにノードのそれぞれが相互に接続されていてもよい。この場合、最適化部は、前記ノードのそれぞれにおける相互の接続を処理対象として結合重み係数の最適解を決定することが好ましい。
【００１１】
また、第１の発明において、ノードのそれぞれは、シグモイド関数、または、シグモイド関数以外の非シグモイド関数を伝達関数として用いることが好ましい。
【００１２】
また、第１の発明において、上記生成装置は、第１のリカレントニューラルネットワークとは異なるネットワークを構成し、第１のパラメータとは異なる車両の運動状態を表す第２のパラメータを出力することにより、車両運動モデルとして機能する第２のリカレントニューラルネットワークをさらに有していてもよい。最適化部は、遺伝的アルゴリズムを用いた学習則に基づき、第２のニューラルネットワークにおける結合重み係数の最適解をさらに決定することが好ましい。この場合、第１のリカレントニューラルネットワークおよび第２のリカレントニューラルネットワークは、第１のリカレントニューラルネットワークから出力される、第１のパラメータと相関を有する状態変数が第２のニューラルネットワークに入力されるように互いに接続されていることが好ましい。ここで、状態変数は、路面状態または車両の運動状態を表す。
【００１３】
また、第２の発明は、車両の運動状態を表す車両運動モデルの生成方法を提供する。この生成方法は、複数のノードを接続することによりネットワークが形成され、一のノードからの出力が所定の結合重み係数に応じて他のノードへ入力されるとともに、少なくとも一つのノードからの出力が自己のノードまたは他のノードへフィードバックするループを有する第１のリカレントニューラルネットワークであり、コンピュータが、第１のニューラルネットワークにおける結合重み係数を遺伝子型として、遺伝的アルゴリズムを用いた学習則に基づき、遺伝子型の最適解を決定する第１のステップと、コンピュータが、決定された遺伝子型の最適解に基づき、結合重み係数の最適解を第１のリカレントニューラルネットワークに対して出力する第２のステップとを有する。この場合、第１のリカレントニューラルネットワークは、所定の入力情報に基づき、車両の運動状態を表す第１のパラメータを出力することにより、車両運動モデルとして機能する。
【００１４】
ここで、第２の発明において、第１のリカレントニューラルネットワークは、一つ以上のノードで構成される入力層と、一つ以上のノードで構成される出力層とを少なくとも含む階層型の構造を有しており、第１のステップは、隣接する層間の各ノードの接続を処理対象として遺伝子型の最適解を決定してもよい。これに対して、第２の発明において、第１のリカレントニューラルネットワークは、一のノードの出力が自己のノードを含む複数のノードのすべてへ入力され、かつ、複数のノードのそれぞれの出力が一のノードへ入力されるようにノードのそれぞれが相互に接続されており、第１のステップは、ノードのそれぞれにおける相互の接続を処理対象として結合重み係数の最適解を決定してもよい。
【００１５】
また、第２の発明において、第１のステップは、第１のリカレントニューラルネットワークとは異なるネットワークを構成し、かつ、第１のパラメータとは異なる車両の運動状態を表す第２のパラメータを出力することで車両運動モデルとして機能する第２のリカレントニューラルネットワークにおける結合重み係数を遺伝子型として、遺伝子型の最適解をさらに決定し、第２のステップは、決定された遺伝子型の最適解に基づき、結合重み係数の最適解を第２のリカレントニューラルネットワークに対して出力することが好ましい。さらに、第１のリカレントニューラルネットワークおよび第２のリカレントニューラルネットワークは、第１のリカレントニューラルネットワークから出力される、第１のパラメータと相関を有する状態変数が第２のニューラルネットワークに入力されるように互いに接続されていることが好ましい。ここで、状態変数は、路面状態または車両の運動状態を表す。
【００１６】
また、第３の発明は、路面摩擦係数を推定する路面摩擦係数推定装置を提供する。この摩擦係数推定装置は、上記第１の発明に記載された生成装置によって生成された車両運動モデルに基づいて路面摩擦係数を推定する。
【００１７】
また、第４の発明は、車両の挙動を推定する車両挙動推定装置を提供する。この車両挙動推定装置は、上記第１の発明に記載された生成装置によって生成された車両運動モデルに基づいて車両の挙動を推定する。
【００１８】
【発明の実施の形態】
（第１の実施形態）
図１は、本実施形態にかかる車両運動モデルの生成装置のブロック構成図である。この生成装置は、車両の運動状態を表す車両運動モデルを生成する。この生成装置１としては、ＣＰＵ、ＲＡＭ、ＲＯＭ、入出力インターフェース等で構成されたコンピュータを用いることができる。図１には明記しないが、生成装置１には、キーボードおよびマウスを含む入力装置、ＣＲＴや液晶ディスプレイ等の表示装置などが接続されている。オペレータは、表示装置に表示された情報に基づいて、入力装置を操作して、必要な情報の入力等を行うことができる。生成装置１は、これを機能的に捉えた場合、最適化部１０と、車両運動モデル部２０とで構成されている。
【００１９】
最適化部１０は、遺伝的アルゴリズムを用いた学習則に基づいて演算を行い、演算結果として所定のパラメータを車両運動モデル部２０に対して出力する。後述するように、車両運動モデル部２０を構成する各推定モジュール２１〜２４がリカレントニューラルネットワークで構成されている関係上、このパラメータは、リカレントニューラルネットワークの結合重み係数Ｋｉｊ、およびしきい値θｊがこれに該当する。ここで、「リカレントニューラルネットワーク」とは、フィードバックループを有するニューラルネットワークをいう。
【００２０】
車両運動モデル部２０は一つ以上の推定モジュール（本実施形態では、推定モジュール２１〜２４）で構成されており、これらの推定モジュール２１〜２４は各々が異なる一つの運動状態を表す車両運動モデルとして機能する。各推定モジュール２１〜２４は、リカレントニューラルネットワーク（以下、単に「ＲＮＮ」という）で構成されており、所定の入力情報に基づき、車両の運動状態を表すパラメータ（以下、「車両パラメータ」という）を出力する。本実施形態では、車両運動モデル部２０から４つの車両パラメータが出力される。具体的には、推定モジュール２１は車両パラメータとしてヨーレートの推定値を出力し、推定モジュール２２は車両パラメータとして横加速度（以下、単に「横Ｇ」という）の推定値を出力する。また、推定モジュール２３は車両パラメータとしてロールの推定値を出力し、推定モジュール２４は車両パラメータとしてピッチの推定値を出力する。
【００２１】
図２は、推定モジュールとして機能するＲＮＮの構造を示す説明図である。以下、ＲＮＮを説明するにあたり、ヨーレート用の推定モジュール２１を構成するＲＮＮを用いる。ただし、他の推定モジュール２２〜２４を構成するＲＮＮについても基本的な構造に変わりはないので、他の推定モジュール２２〜２４については説明を省略する。このＲＮＮでは、複数のノードＮｎ（図２では例示的にノードＮ１〜Ｎ１８）を接続することによりネットワークが形成されており、これらのノードＮｎが階層的に区分けされ、入力層、中間層および出力層で構成された階層型の構造になっている。各層を構成するノードＮｎの数は、オペレータによって適宜設定される。この場合、オペレータは、ノードＮｎの数を増やすことで得られる解の信頼性の向上と、ノードＮｎの数を減らすことで得られる処理速度の向上という相反する両者の関係を考慮した上で、各層が最適なノード数となるようにネットワーク構造を決定する。
【００２２】
出力層には、基本的に、車両パラメータを出力するためのノードＮｎ（ノードＮ１６）が一つ設定されている。ただし、本実施形態では、後述するように出力層から入力層に対するフィードバックループが存在しており、入力層に対するフィードバックを多重的に行うべく、フィードバックのみを目的としたノードＮ１７がさらに設定されている。また、図２において、ヨーレート用の推定モジュール２１を構成するＲＮＮは、車両パラメータとは別個に、状態変数Ｐを出力するためのノードＮ１８が設定されている。なお、このノードＮ１８から出力される状態変数Ｐは、横Ｇ、ロールおよびピッチ用の推定モジュール２２〜２４を構成するＲＮＮの入力層ノードＮｎに入力される。
【００２３】
入力層には、入力情報を入力するために必要な個数分のノードＮｎが設定されている。ここで、入力情報とは、ＲＮＮが車両パラメータを出力するために必要とされる情報をいい、本実施形態では、ハンドル角、ハンドル角速度、ハンドル角加速度、ステアリング反力、車体速度、車体加速度などがこれに該当する。また、出力層ノードＮ１６，Ｎ１７の出力を入力層にフィードバックさせる関係上、これに対応するノードＮ７〜Ｎ１０も入力層に設定されている。なお、図２では、ヨーレート用の推定モジュール２１を構成するＲＮＮが図示されているため特に明記していないが、他の推定モジュール２２〜２４には、図１に示した状態変数Ｐを入力するためのノードＮｎがさらに設定されている。
【００２４】
一方、中間層のノードＮｎとしては、上述したような関係を考慮した上で、オペレータの経験などを頼りに必要な個数分のノードＮｎが用意されている。図２に示す例では、中間層は、ノードＮ１１〜Ｎ１５の５つのノードＮｎで構成されている。
【００２５】
このようにして各層を構成するノードＮｎが設定されると、ノード間の接続は自動的に決定される。階層型のＲＮＮでは、ある層を構成する各ノードＮｎの出力は後段の層を構成するすべてのノードＮｎへ入力されるようにノード間の接続が決定される。例えば、図２に示すように、入力層のノードＮ１は、その出力が中間層のすべてのノードＮ１１〜Ｎ１５へ入力されるように接続されるといった如くである。
【００２６】
また、本実施形態の特徴の一つとして、このＲＮＮは、あるノードＮｎの出力をフィードバックさせるループを有している。具体的には、図２に示すように出力層ノードＮ１６の出力は、車両パラメータの一つであるヨーレートとして出力されるととともに、第１の遅延回路Ｚ−１によって一サイクルだけ遅延された後に、入力層ノードＮ７に入力される。また、その第１の遅延回路Ｚ−１からの出力は、その後段に設けられた第２の遅延回路Ｚ−１によって更に一サイクルだけ遅延された後に（したがって、ノードＮ１６の出力に対応する初期の入力からは二サイクルだけ遅延された後に）、入力層ノードＮ８に入力される。一方、出力層ノードＮ１７の出力は、上記第１および第２の遅延回路Ｚ−１とは異なる第３の遅延回路Ｚ−１によって一サイクルだけ遅延された後に、入力層ノードＮ９に入力される。また、第３の回路Ｚ−１からの出力は、その後段に設けられた第４の遅延回路Ｚ−１によって更に一サイクルだけ遅延された後（したがって、ノードＮ１７の出力に対応する初期の入力からは二サイクルだけ遅延された後）に、入力層ノードＮ１０に入力される。
【００２７】
このようなＲＮＮにおいて、それぞれのノードＮｎは、所定の伝達関数に従い、所定個数の入力ｙｉに対して一つの出力Ｙｉを生成する。そして、生成された出力Ｙｉは、後段の層を構成するノードＮｎに対して出力される。具体的には、それぞれのノードＮｎは、入力データｙｉに対して数式１，２に示す計算を行い、その演算結果を出力データＹｊして出力する。ここで、Ｋｉｊはｎ＝ｉ（ｉ＝１〜１５）番目のノードＮｉと、ｎ＝ｊ（ｊ＝１１〜１５（ｉ＝１〜１０），ｊ＝１６〜１８（ｉ＝１１〜１５））番目のノードＮｊとの間の結合重み係数であり、θｊはしきい値である。
【数１】
Ｘｊ＝ΣＫｉｊ・ｙｉ（ｉ＝１〜ｎ）
【数２】
Ｙｊ＝１／（１＋ｅｘｐ（−（Ｘｊ−θｊ）））
【００２８】
これらの数式１，２から分かるように、あるノードＮｎからの出力は、所定の結合重み係数Ｋｉｊに応じて他のノードＮｎへ入力される。ここで、数式２は、シグモイド関数と呼ばれ、ＲＮＮにおけるノードの関数として一般に用いられる。シグモイド関数は、０から１まで連続的に変化し、しきい値θｊが小さくなるにつれて、ステップ関数に近づいていく。
【００２９】
ＲＮＮを用いて車両パラメータを推定する場合、その推定結果の精度向上を図るためには、結合重み係数Ｋｉｊとしきい値θｊとを適切に調整（学習）する必要がある。これらの結合重み係数Ｋｉｊとしきい値θｊとの最適解は、上述した最適化部１０によって学習され適宜決定される。最適化部１０によって処理対象となる接続は、フィードバックのループを除く隣接する層間の各ノードの接続となる。
【００３０】
図３は、遺伝的アルゴリズムを用いた重み係数ｗｉｊとしきい値θｊとの最適解の決定手順を示すフローチャートであり、このフローチャートに示す処理は最適化部１０によって行われる。この最適化部１０は、それぞれの推定モジュール２１〜２４に対して以下に示す処理を行う。ここでは、ヨーレート用の推定モジュール（ＲＮＮ）２１を例に説明するが、他の推定モジュール（ＲＮＮ）２２〜２４について行われる処理も変わりはないので、他の推定モジュール２２〜２４については説明を省略する。
【００３１】
まず、ステップ１において、遺伝子型で構成される個体がＮ個だけ集合した初期個体集団が生成される。本実施形態において、遺伝子型は、結合重み係数Ｋｉｊおよびしきい値θｊが該当する。この場合、一つの個体は、ＲＮＮにおけるすべての結合重み係数Ｋｉｊ、およびしきい値θｊを含んだ遺伝子型で構成される。また、初期個体集団は、このような個体がＮ個だけ集合したものであり、個体毎にいろいろな値を有する遺伝子型Ｋｉｊ，θｊで構成される。各個体１〜Ｎを構成する遺伝子型Ｋｉｊ，θｊは、例えば、乱数によって初期値が決定される。すなわち、個体１〜Ｎ毎に結合重み係数Ｋｉｊとしきい値θｊとをＲＮＮに代入すれば、結合重み係数Ｋｉｊとしきい値θｊが確定されたＮ個のＲＮＮが得られる。
【００３２】
ステップ２において、適応度Ａが算出される。適応度Ａを算出する前提として、オペレータは、実験やシミュレーションを通じ、所定の条件下において実際に車両が示す車両パラメータ（以下、「実車両パラメータ」という）を予め取得しておく。そして、オペレータは、この所定の条件と、実車両パラメータとの対応関係を記述したマップを生成装置１のＲＯＭに格納しておく。このマップに記述された所定の条件は、フィードバック要素を除く入力層ノードＮｎに入力されるパラメータであり、ハンドル角、ハンドル角速度、ハンドル角加速度、ステアリング反力、車体速度および車体加速度がこれに該当する。このような前提に基づき、最適化部１０は、マップを参照し、これらの条件をＲＮＮの入力層ノードＮ１〜Ｎ６にそれぞれ入力し、出力層ノードＮ１６からの出力として、車両パラメータの推定値（以下、「推定車両パラメータ」という）を取得する。そして、この推定車両パラメータと、実車両パラメータとに基づき、数式３に示す評価関数を用いて適応度Ａを算出する。
【数式３】
Ａ＝Σ｜Ｖｔ−Ｖｃ｜
【００３３】
図４は、評価関数を説明する概略図である。同図には、実車両パラメータ（例えば、ヨーレート）の時系列的な変化が実線で示されており、推定車両パラメータ（例えば、ヨーレート）の時系列的な変化が点線で示されている。数式３に示すように、評価関数は、所定時間における、実車両パラメータＶｔと推定車両パラメータＶｃとの差分（絶対値）の総和である（図４に示すハッチング領域の面積）。すなわち、この評価関数は、推定ヨーレートが実ヨーレートに近ければ近いほど、適応度Ａが低くなるように設定されている。
【００３４】
最適化部１０は、各個体１〜Ｎについて適応度Ａを算出し、適応度Ａが低い順に、個体１〜Ｎを並び替える。すなわち、個体集団中の各固体１〜Ｎは、推定車両パラメータが実車両パラメータに近いものから順番に、個体１〜Ｎとして新たに並び替えられる。
【００３５】
ステップ３において、個体１に関する適応度Ａの値が、判定適応度Ａｅｒｒｏｒの値より大きいか否かが判断される。この判定適応度Ａｅｒｒｏｒは、推定ヨーレートと実ヨーレートとが実質的に同一とみなせるような適応度Ａの最大値として設定されている。したがって、このステップ３において、肯定判定された場合（適応度Ａが判定適応度Ａｅｒｒｏｒよりも大きい場合）、続くステップ４に進む。一方、このステップ３において、否定判定された場合（適応度Ａが判定適応度Ａｅｒｒｏｒ以下の場合）、後段のステップ６に進む。
【００３６】
ステップ４において、周知の手法を用いて、個体１〜Ｎが選択・淘汰される。このような選択・淘汰の手法としては、逆ルーレット式選択，ランク方式選択，トーナメント式選択等が挙げられる。このステップ４の処理により、ある個体（或いは、個体群）が選択され、選択された個体が個体集団の中から削除される。この削除された個体の位置には、例えば、適応度Ａが低い方から同数の個体を移すことで、母集団を構成する個体の数が維持される。
【００３７】
ステップ５において、次世代の個体母集団が生成される。具体的には、最適化部１０は、集団中の個体を構成する遺伝子型Ｋｉｊ，θｊを突然変異および交叉させる。突然変異は、ある個体中の任意の遺伝子型Ｋｉｊ（またはθｊ）を例えば乱数により選び、乱数により発生した値に変化させる。また、交叉は、乱数により選択したある個体群において、これもまた乱数により選択された遺伝子型Ｋｉｊ（またはθｊ）の値を互いに交換する。ただし、突然変異および交叉を行う個体の選択手法としては、乱数によって選び出すことに限定されず、適応度Ａが最も低い個体については、その個体を維持するために、突然変異および交叉を行わないようにしてもよい。そして、ステップ２以降の処理に戻り、個体１の適応度Ａが判定適応度Ａｅｒｒｏｒ以下となるまで、上述した処理が繰り返される。
【００３８】
一方、ステップ３の肯定判定にともなうステップ６では、個体１を構成する遺伝子型Ｋｉｊ，θｊが最適解として決定され、本ルーチンを抜ける。この場合、最適化部１０は、この個体１を構成する遺伝子型Ｋｉｊ，θｊに基づき、これらの遺伝子型Ｋｉｊ，θｊの値を、それぞれ対応する結合重み係数Ｋｉｊおよびしきい値θｊの最適解として決定する。そして、決定された最適解がＲＮＮに対して出力され、各推定モジュール２１〜２４において、この最適解がＲＮＮの結合重み係数Ｋｉｊと、しきい値θｊとに設定される。これにより、推定モジュール２１〜２４を含む車両運動モデル部２０が単独で、或いは、この生成装置１自体が、車両運動モデルとして機能する。
【００３９】
図５〜図７はＲＮＮの学習結果を示す図であり、図５は１世代目の個体に関する学習結果、図６は１００世代目の個体に関する学習結果、図７は３００００世代目の個体に関する学習結果を示す。これらの図には、上述した所定の条件（例えば、図８に示すようなハンドル角）を与えた場合の実車両パラメータ（ヨーレート）が細い実線で描かれており、同一の条件を与えた場合の推定車両パラメータ（ヨーレート）がそれよりも太い実線で描かれている。これらの図から分かるように、１世代目では、両者の線は振幅の周期が同様の傾向を示すものの、値として差が大きく、推定車両パラメータは実車両パラメータを再現し切れていない。１００世代目では、両者の線は基本的に同様の傾向を示すものの、極大（或いは極小）点付近で相違が見られる。そして、３００００世代目では、全域に亘り両者の線はほぼ同じ値を示し、実車両パラメータを示す細い実線が、推定車両パラメータを示す太い実線によって覆われている。このように、例えば、３００００世代といった程度まで学習を行うことで、推定パラメータは実車両パラメータを高レベルで再現することができる。すなわち、遺伝的アルゴリズムを用いて学習することで、フィードバックのループを含むＲＮＮの重み係数Ｋｉｊの最適解を有効に見つけ出すことができることが理解できる。
【００４０】
このように、本実施形態によれば、遺伝的アルゴリズムを用いて、ＲＮＮの結合重み係数Ｋｉｊ（さらには、しきい値θｊ）の学習を行い、その最適解を決定している。フィードバックを含むＲＮＮは、バックプロパゲーションといった最急降下法の原理に基づいた学習則を行うことができないという問題があるが、本実施形態では、遺伝的アルゴリズムを用いることでこれを解決することができる。
【００４１】
また、ＲＮＮを用いることで、車両パラメータを含む出力層ノードＮｎの出力が、入力層ノードＮｎにフィードバックされている。このため、ＲＮＮ中にフィードバックされた値が反映されるので、本実施形態のＲＮＮは、自己の以前の出力を加味した状態で車両パラメータを推定することができる。したがって、本実施形態に示す手法は、フィードフォワード型のニューラルネットワークよりも実際の車両の運動状態に即した、すなわち、車両の運動状態の再現性に優れた車両運動モデルを生成することができる。
【００４２】
また、本実施形態では、各推定モジュール２１〜２４が一つの車両パラメータを出力している。例えば、一つのＲＮＮにおいて、出力層に上述した４つの車両パラメータを出力させるノードＮｎを設け、これにより、４つのＲＮＮを一つのＲＮＮで代替することもできる。しかしながら、本実施形態のシステム構成によれば、車両パラメータを出力するノードＮｎを単一とすることで、各ＲＮＮを構成するノードＮｎの数を減らすことができる。これにより、最適化部１０によって行われる各推定モジュール２１〜２４に対する学習速度を向上させることができる。また、学習速度が向上すれば、遺伝的アルゴリズムを用いて学習を行う際に、初期個体集団中の個体数を増やし、様々な個体を個体集団に含め学習を行うことができる。これにより、遺伝子型Ｋｉｊ，θｊの最適解をより精度よく決定することができる。また、ノード数が少ないと、その組合わせが小規模となるので、遺伝的アルゴリズムにおける解空間の次元数が下がり、最適解が発見し易くなるという効果を奏する。
【００４３】
なお、推定モジュール２１〜２４から出力される車両パラメータは、共通の車両に関する運動状態を表すものであり、たとえその種類が異なったとしても、車両の運動に起因して互いに同期して変化する必要がある。そのため、本実施形態では、例示的に、ヨーレート用の推定モジュール２１から状態変数Ｐを出力させ、この状態変数Ｐを推定モジュール２２〜２４に入力させている。ヨーレート用の推定モジュール２１から出力される状態変数Ｐは、遺伝的アルゴリズムを用いて結合重み係数Ｋｉｊの学習を行うことにより、推定モジュール２１の出力結果である車両パラメータ（具体的には、ヨーレート）と高い相関を有する。例えば、この状態変数Ｐは、車両のヨーレートに応じた車両の運動状態または路面状態を表している。このため、状態変数Ｐが入力される推定モジュール２２〜２４では、ヨーレートと相関を有する状態変数Ｐを加味した状態で結合重み係数Ｋｉｊの学習が行われることになるので、４つの推定モジュール２１〜２４を構成するＲＮＮの同期をとることができる。すなわち、状態変数Ｐは、推定モジュール２２〜２４において推定モジュール２１に対する同期付けの基準となる値として作用する。よって、本実施形態のシステム構成では、それぞれの推定モジュール２１〜２４が独立して構成される場合と比較して、各車両パラメータがより実車の運動状態に近い値を再現することができる。
【００４４】
なお、このような作用を奏する状態変数Ｐとしては、本実施形態に示すようなヨーレート用の推定モジュール２１からの出力のみに限定されず、他の推定モジュール２２〜２４からの出力のいずれかを用いてもよい。ただし、車両のパラメータのうち、ヨーレートは他の車両パラメータと比べ、比較的に精度良くその値を検出することができるので、このヨーレート用の推定モジュール２１から状態変数Ｐを出力することが好ましい（すなわち、状態変数Ｐの信頼性の向上）。また、これらの推定モジュール２１〜２４から各々状態変数Ｐを出力させ、各状態変数Ｐを出力側の推定モジュールとは異なる推定モジュールに入力させ、相互に関連（同期）を持たせるような構成にしてもよい。なお、上述した実施形態では、状態変数Ｐをヨーレートと相関を有する、路面状態または車両の運動状態を表す変数として取り扱った。ただし、状態変数Ｐがヨーレートと相関を有するという観点からすれば、ノードＮ１６から出力される車両パラメータ（ヨーレート）そのものを状態変数Ｐとして用いてもよい。
【００４５】
なお、本実施形態において、車両運動モデル部２０は、４つの推定モジュール２１〜２４で構成されるが、本発明はこれに限定されるものではない。推定モジュールの数は、必要とする車両パラメータに応じて任意に決定することができる。また、車両パラメータも、ヨーレート、横Ｇ、ロールおよびピッチの４つにのみ限定されず、例えば、車体すべり角、前輪すべり角、後輪すべり角、車輪と路面との間の摩擦係数といったその他のパラメータをさらに含めてもよい。
【００４６】
また、本実施形態では、マップを参照し、これをＲＮＮの出力と比較することで、ＲＮＮの結合重み係数Ｋｉｊ、しきい値θｊの学習を行っているが、生成装置１を実車に搭載し、リアルタイムで学習を行ってもよい。この場合、入力に相当するハンドル角、ハンドル角速度、ハンドル角加速度、ステアリング反力、車体速度、車体加速度をセンサ等から検出、或いは検出値に基づき算出し、ＲＮＮの入力させる。そして、出力に相当する車両パラメータをセンサで検出し、この検出値とＲＮＮの出力とを比較するといった如くである。
【００４７】
（第２の実施形態）
図９は、第２の実施形態にかかる各推定モジュール２１〜２４を構成するＲＮＮのネットワーク構造を示す説明図である。なお、同図に示す例では、便宜上、ノードＮｎの一部が省略して描かれている。各推定モジュール２１〜２４は複数のノードＮｎで構成されるＲＮＮであり、結合重み係数Ｋｉｊとしきい値θｊとの最適解を遺伝的アルゴリズムを用いて決定する点については、第１の実施形態と同様である。しかしながら、本実施形態は、前提となるＲＮＮのネットワーク構造が第１の実施形態のそれと相違する。第１の実施形態におけるＲＮＮは階層型の構造を有し、各層を構成するノードＮｎの数を設定することにより、ノードＮｎ間の接続は予め決定される。一方、第２の実施形態におけるＲＮＮは、あるノードＮｎが自己を含むすべてのノードＮｎと結合するように、複数のノードが相互に接続されている。したがって、例えば、ノードＮ１の出力は、このノードＮ１を含むすべてのノードＮ１〜Ｎｎへ入力され、かつ、すべてのノードＮ１〜Ｎｎの出力がノードＮ１へ入力される。
【００４８】
図１０は、ノード間の結合重み係数Ｋｉｊの対応関係を示した説明図である。このようなネットワークにおいて、ノード間の結合重み係数Ｋｉｊは図１０に示すマトリクスとして表現される。このマトリクスは、フィードフォワード、フィードバックといった種類を問わず、すべてのノード間の接続に関する結合重み係数Ｋｉｊを表している。本実施形態では、このようなネットワーク構造において、上述した最適化部１０が、複数のノードの相互の接続を処理対象として結合重み係数Ｋｉｊおよびしきい値θｊの最適解を決定する。
【００４９】
結合重み係数Ｋｉｊ，しきい値θｊの最適解を決定する手法は、第１の実施形態のそれと基本的に同じであるため、ここでは概略のみを説明し、その詳細な説明は省略する。具体的には、まず、図１０に示す結合重み係数Ｋｉｊ（すなわち、Ｋ１１〜Ｋｎｎ）およびしきい値θｊを遺伝子型とし、いろいろな値をもつ遺伝子型で構成される個体を複数用意する（初期個体集団の生成）。そして、これらの個体ごとに適応度Ａを算出する。この場合、ネットワークを構成するノードＮｎの中から任意に６つのノードＮｎを選択し、上記マップに基づき、ハンドル角、ハンドル角速度、ハンドル角加速度、ステアリング反力、車体速度および車体加速度を選択されたノードＮｎに入力する。そして、入力に用いたノードＮｎとは異なるノードＮｎを任意に一つ選択し、そのノードＮｎから出力を得る。そして、この出力と、マップに記述された車両パラメータとに基づいて、数式３に示す評価関数を用いて適応度Ａを算出する。そして、図３に示す処理と同様、適応度Ａが判定適応度Ａｅｒｒｏｒ以下となるまで、選択・淘汰、次世代の個体集団の生成が繰り返され、最適な遺伝子型Ｋｉｊ，θｊが決定される。これにより、ＲＮＮにおける結合重み係数Ｋｉｊおよびしきい値θｊの最適解が決定される。
【００５０】
このように本実施形態によれば、ネットワークの結合状態を初期的に限定せずに、フィードフォワード、フィードバックを含み、すべてのノード間が接続されたネットワーク構造を有するＲＮＮを採用している。このようなネットワーク構成であっても、遺伝的アルゴリズムを用いることで、結合重み係数Ｋｉｊ（およびしきい値θｊ）を決定することができる。この場合、決定された結合重み係数Ｋｉｊが値として「０」となれば、ノードＮｉと、ノードＮｊとの結合が不要であることを意味している。すなわち、形式的にはすべてのノードＮｎがネットワークとして結合しているが、この結合重み係数Ｋｉｊの値に応じて必要なノードのみが実質的に残されることになる。換言すれば、遺伝的アルゴリズムにより結合重み係数Ｋｉｊを学習させることにより、等価的に、車両パラメータを算出するために必要なノードが選択されることになる。当然、学習の結果、その結合重み係数Ｋｉｊの値によっては、実質的に図２に示すようなネットワーク構成が出来上がることも予想される。しかしながら、このような場合、すべてのノードＮｎの接続がなされたＲＮＮのなかから、必要なノードのみが選択され、そのネットワーク構成が車両パラメータを推定する上で最適な構造であることが遺伝的アルゴリズムによって保証されるという効果を奏する。
【００５１】
なお、上述した第１および第２の実施形態では、伝達関数をシグモイド関数を前提として説明を行ったが、遺伝的アルゴリズムを用いて学習を行うのであれば、ＲＮＮを構成するノードの伝達関数は、シグモイド関数に限定されない。例えば、図１１に示すような、非シグモイド関数を伝達関数として用いてもよい。同図（ａ）は、入力に対して出力がヒステリシスと呼ばれる非線形特性を示す関数の一例を示す。また、同図（ｂ）〜（ｄ）には、二値化、不感帯、リミッタと呼ばれる非線形特性を示す関数の一例が示されている。
【００５２】
また、伝達関数としては、このような非線形特性を示す関数だけでなく、順序回路的な要素を含む関数を用いてもよい。すなわち、過去の入力系列によって出力が決まるような関数を用いることができる。このような関数としては、時間遅れ（Ｚ−１）、ピークホールド（所定のインターバル間のピーク値を出力する）、最大値（時系列的なピーク値を出力する）、積分、微分といったものが挙げられる。
【００５３】
このように、非シグモイド関数をノードＮｎの伝達関数に含めることで、シグモイド関数では表現しきれないような入出力特性をも表現できる車両運動モデルを生成することができる。よって、このような車両運動モデルは、例えば、車両の後輪がスリップし、車両運動モデルが一気に激変してしてしまうような場合の入出力応答を表現することができる。これにより、車両の運動状態の再現性を向上させることができる。
【００５４】
なお、上述した車両運動モデルの生成装置、或いは、この装置によって生成された車両運動モデルは、路面摩擦係数を推定する装置や車両の挙動を推定する装置の一部に組み込まれて使用することができる。例えば、路面摩擦係数推定装置にこの車両運動モデルを適用する場合には、路面摩擦係数の高い路面での車両の運動状態を学習させた高μ用車両運動モデルと、路面摩擦係数の低い路面で車両の運動状態を学習させた低μ用車両運動モデルとを用意しておく。そして、各車両運動モデルに、現在の車両に関するハンドル角、ハンドル角速度、ハンドル角加速度、ステアリング反力、車体速度、車体加速を入力し、ヨーレートといった車両パラメータを取得する。また、取得した車両パラメータに相当する車両の運動状態をセンサ等で検出し、検出された値を、車両運動モデルから取得した値と比較する。これにより、その値が近似する傾向を示す、一方の車両運動モデルの学習状況に相当する路面状態を、現在の路面摩擦係数として推定することができる。一方、車両挙動推定装置は、車両運動モデルに、現在の車両に関するハンドル角、ハンドル角速度、ハンドル角加速度、ステアリング反力、車体速度、車体加速を入力し、ヨーレートといった車両パラメータを取得する。そして、取得した車両パラメータに基づき、車両がどのような挙動を示すか推定するといった如くである。また、この車両運動モデルを用いることにより、車両の挙動、車両の乗り心地を評価することもできる。
【００５５】
【発明の効果】
このように本発明によれば、遺伝的アルゴリズムを用いることにより、フィードバックのループを有するリカレントニューラルネットワークの結合重み係数の最適解を決定することができる。また、車両運動モデルにリカレントニューラルネットワークを用いることにより、リカレントニューラルネットワーク中にフィードバック要素が考慮されることになる。したがって、フィードフォワード型のリカレントニューラルネットワークよりも実際の車両の運動状態に即した、すなわち、車両の運動状態の再現性が向上した車両運動モデルを生成することができる。
【図面の簡単な説明】
【図１】本実施形態にかかる車両運動モデルの生成装置のブロック構成図
【図２】推定モジュールとして機能するＲＮＮの構造を示す図
【図３】遺伝的アルゴリズムを用いた重み係数としきい値との最適解の決定手順を示すフローチャート
【図４】評価関数の概念を示す説明図
【図５】ＲＮＮの１世代目の個体に関する学習結果を示す図
【図６】ＲＮＮの１００世代目の個体に関する学習結果を示す図
【図７】ＲＮＮの３００００世代目の個体に関する学習結果を示す図
【図８】ＲＮＮに与えた条件の一例を示す図
【図９】第２の実施形態にかかる各推定モジュールを構成するＲＮＮのネットワーク構造を示す説明図
【図１０】ノード間の結合重み係数の対応関係を示した説明図
【図１１】伝達関数の一例を示す説明図
【符号の説明】
１      生成装置
１０      最適化部
２０      車両運動モデル部
２１      推定モジュール
２２      推定モジュール
２３      推定モジュール
２４      推定モジュール
【図１】
2004249812.tif 000003
【図２】
2004249812.tif 000004
【図３】
2004249812.tif 000005
【図４】
2004249812.tif 000006
【図５】
2004249812.tif 000007
【図６】
2004249812.tif 000008
【図７】
2004249812.tif 000009
【図８】
2004249812.tif 000010
【図９】
2004249812.tif 000011
【図１０】
2004249812.tif 000012
【図１１】
2004249812.tif 000013