(57)【要約】【課題】新規な構成を有する制御システムを提供する。【解決手段】検出部２は、制御対象の運転状態を示す状態パラメータを検出する。評価部１２は、それぞれが、学習によって調整可能な自己のユニット構造に基づいて、状態パラメータから制御パラメータを生成する複数の制御ユニット１１ａの中から、現在の運転状態において、予め設定された評価条件に適合した生成ユニット１１ａ’を選択する。この場合、選択された生成ユニット１１ａ’は、検出された状態パラメータの現在値に基づいて、制御パラメータを生成する。また、生成ユニット以外の他の制御ユニット１１ａは、学習を実行し、評価条件に適合するように、ユニット構造の調整を行う。この場合、評価部１２は、所定時間毎に、学習によるユニット構造の調整を踏まえた上で、生成ユニット１１ａ’の更新を行う。【選択図】図１
2005267039.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の制御に用いられる制御パラメータを生成し、前記制御対象を制御する制御システムにおいて、
前記制御対象の運転状態を示す状態パラメータを検出する検出部と、
それぞれが、学習によって調整可能な自己のユニット構造に基づいて、前記検出された状態パラメータから前記制御パラメータを生成する複数の制御ユニットを有する制御部と、
現在の運転状態において、予め設定された評価条件に適合した制御ユニットを、前記複数の制御ユニットの中から生成ユニットとして選択する評価部とを有し、
前記選択された生成ユニットは、前記検出された状態パラメータの現在値に基づいて、前記制御パラメータを生成し、
前記生成ユニット以外の他の制御ユニットは、学習を実行し、前記評価条件に適合するように前記ユニット構造の調整を行い、
前記評価部は、所定時間毎に、学習による前記ユニット構造の調整を踏まえた上で、前記生成ユニットの更新を行うことを特徴とする制御システム。
【請求項２】
前記評価条件は、前記制御対象を所望の運転状態に制御する、前記状態パラメータと前記制御パラメータとの対応関係を教師データとして用いることにより、当該教師データとの誤差が最も小さい前記制御ユニットが適合する条件であることを特徴とする請求項１に記載された制御システム。
【請求項３】
前記複数の制御ユニットのそれぞれは、各々が異なる種別の制御パラメータを生成する少なくとも一つ以上の制御モジュールを有し、
前記制御モジュールは、学習によって調整可能な自己のモジュール構造に基づいて、前記制御パラメータを生成しており、
前記ユニット構造の学習は、ユニット単位に設けられる前記制御モジュールのモジュール構造の調整を行うことであることを特徴とする請求項１に記載された制御システム。
【請求項４】
前記評価部は、
それぞれが学習によって調整可能なユニット構造に基づいて、前記制御対象をモデル化したシミュレータとして機能する複数の評価ユニットと、
前記複数の評価ユニットの中から、前記制御対象の現在の運転状態を最もよく再現する評価ユニットを選択ユニットとして選択する評価モジュールとを有し、
前記選択ユニットは、前記複数の制御ユニットによってそれぞれ生成される制御パラメータに基づいて、前記制御対象のシミュレーションを行い、当該シミュレーション結果に基づいて、前記生成ユニットの選択を行い、
前記選択ユニット以外の他の制御ユニットは、学習を実行し、自己のシミュレーション結果が現在の運転状態に近づくように、前記ユニット構造の調整を行っており、
前記評価モジュールは、所定時間毎に、学習による前記ユニット構造の調整を踏まえた上で、前記選択ユニットの更新を行うことを特徴とする請求項１に記載された制御システム。
【請求項５】
前記複数の評価ユニットのそれぞれは、フィードバックループが設けられたニューラルネットワークで構成されていることを特徴とする請求項４に記載された制御システム。
【請求項６】
自己のモジュール構造に基づいて、既知の入力情報から所定の出力情報を生成する生成モジュールにおいて、
それぞれが予め設定された種別の前記入力情報が入力される複数の入力ノードと、
前記出力情報が出力される出力ノードと、
自己に入力された情報を制御関数に従って変換し、変換結果を出力するとともに、前記出力ノードから前記入力ノードにかけて、適宜分岐しつつ入力側のノードと出力側のノードとを接続することにより、前記複数の入力ノードから前記出力ノードへの一連のノード列を構成する複数の中間ノードと
を有することを特徴とする生成モジュール。
【請求項７】
前記入力ノード、前記出力ノードおよび前記中間ノードからなる前記モジュール構造は、予め設定された前記入力情報と前記出力情報との対応関係を示す教師データに基づいて、学習により調整可能であることを特徴とする請求項６に記載された生成モジュール。
【請求項８】
前記学習は、各ノードの固有の機能に伴う前記モジュール構造の特性に起因した拘束条件のもとで、遺伝的アルゴリズムを用いて行われることを特徴とする請求項７に記載された生成モジュール。
【請求項９】
制御対象の制御に用いられる制御パラメータを生成し、前記制御対象を制御する制御方法において、
前記制御対象の運転状態を示す状態パラメータを検出する第１のステップと、
それぞれが、学習によって調整可能な自己のユニット構造に基づいて、前記検出された状態パラメータから前記制御パラメータを生成する複数の制御ユニットの中から、現在の運転状態において、予め設定された評価条件に適合した制御ユニットを生成ユニットとして選択する第２のステップと、
前記選択された生成ユニットが、前記検出された状態パラメータに基づいて、前記制御パラメータを生成する第３のステップと、
前記生成ユニット以外の他の制御ユニットが、学習を実行し、前記評価条件に適合するように、前記ユニット構造の調整を行う第４のステップとを有し、
前記第２のステップは、所定時間毎に、学習による前記ユニット構造の調整を踏まえた上で、前記生成ユニットの更新を行うステップを含むことを特徴とする制御方法。
【請求項１０】
それぞれが学習によって調整可能なユニット構造に基づいて、前記制御対象をモデル化したシミュレータとして機能する複数の評価ユニットの中から、前記制御対象の現在の運転状態を最もよく再現する評価ユニットを選択ユニットとして選択する第５のステップと、
前記選択ユニット以外の他の制御ユニットが、学習を実行し、自己のシミュレーション結果が現在の運転状態に近づくように、前記ユニット構造の調整を行う第６のステップと、
所定時間毎に、学習による前記ユニット構造の調整を踏まえた上で、前記選択ユニットの更新を行う第７のステップとをさらに有し
前記第２のステップは、
前記選択ユニットが、前記複数の制御ユニットによってそれぞれ生成される制御パラメータに基づいて、前記制御対象のシミュレーションを行い、当該シミュレーション結果に基づいて、前記生成ユニットの選択を行うステップであることを特徴とする請求項９に記載された制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システムおよび制御方法、並びに、既知の入力情報から所定の出力情報を生成する生成モジュールに関する。
【背景技術】
【０００２】
従来より、車両、船舶、航空機、産業機械等といった分野では、制御対象を効率的に制御する、各種の制御手法が確立されている。一般に、この類の制御手法では、制御対象の現在の運転状態を示す状態パラメータを入力情報として用い、この入力情報に基づいて、制御対象を制御する制御パラメータ（出力情報）が生成される（例えば、特許文献１，２参照）。このような手法では、その前提として、これらの入出力関係を決定する制御則（数式モデル、ニューラルネットワークなど）を、制御対象の特性に応じて実験やシミュレーションを通じて予め決定しておく必要がある。
【特許文献１】特開平１０−１１１０６号公報
【特許文献２】特開平９−３２５９４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、制御内容が多様化、複雑化すると、制御則の初期セッティングに要する工数およびその難易度が増大する傾向にある。また、経時的な劣化、或いは、使用環境などによって、制御対象の運転状態が初期状態から変化してしまうことがあり、設計者が意図する運転状態を制御対象が維持するように制御するためには、必要に応じて制御則を変更する必要が生じる。
【０００４】
そこで、本発明の目的は、新規な構成を有する制御システムを提供する。
【０００５】
また、本発明の別の目的は、制御対象に対する制御則を動的に更新し、制御対象を所望の運転状態に制御し得る制御手法を提供することにある。
【課題を解決するための手段】
【０００６】
かかる課題を解決するために、第１の発明は、制御対象の制御に用いられる制御パラメータを生成し、制御対象を制御する制御システムを提供する。この制御システムは、制御対象の運転状態を示す状態パラメータを検出する検出部と、それぞれが学習によって調整可能な自己のユニット構造に基づいて、検出された状態パラメータから制御パラメータを生成する複数の制御ユニットを有する制御部と、現在の運転状態において、予め設定された評価条件に適合した制御ユニットを、複数の制御ユニットの中から生成ユニットとして選択する評価部とを有する。この場合、選択された生成ユニットは、検出された状態パラメータの現在値に基づいて、制御パラメータを生成し、生成ユニット以外の他の制御ユニットは、学習を実行し、評価条件に適合するように、ユニット構造の調整を行う。また、評価部は、所定時間毎に、学習によるユニット構造の調整を踏まえた上で、生成ユニットの更新を行う。
【０００７】
ここで、第１の発明において、評価条件は、制御対象を所望の運転状態に制御する、状態パラメータと制御パラメータとの対応関係を教師データとして用いることにより、教師データとの誤差が最も小さい制御ユニットが適合する条件であることが好ましい。
【０００８】
また、第１の発明において、複数の制御ユニットのそれぞれは、各々が異なる種別の制御パラメータを生成する少なくとも一つ以上の制御モジュールを有し、制御モジュールは、学習によって調整可能な自己のモジュール構造に基づいて、制御パラメータを生成しており、ユニット構造の学習は、ユニット単位に設けられる制御モジュールのモジュール構造の調整を行うことであることが好ましい。
【０００９】
また、第１の発明において、評価部は、それぞれが学習によって調整可能なユニット構造に基づいて、制御対象をモデル化したシミュレータとして機能する複数の評価ユニットと、複数の評価ユニットの中から、制御対象の現在の運転状態を最もよく再現する評価ユニットを選択ユニットとして選択する評価モジュールとを有していることが好ましい。この場合、選択ユニットは、複数の制御ユニットによってそれぞれ生成される制御パラメータに基づいて、制御対象のシミュレーションを行い、シミュレーション結果に基づいて、生成ユニットの選択を行う。また、選択ユニット以外の他の制御ユニットは、学習を実行し、自己のシミュレーション結果が現在の運転状態に近づくように、ユニット構造の調整を行う。そして、評価モジュールは、所定時間毎に、学習によるユニット構造の調整を踏まえた上で、選択ユニットの更新を行う。
【００１０】
さらに、第１の発明において、複数の評価ユニットのそれぞれは、フィードバックループが設けられたニューラルネットワークで構成されていることが好ましい。
【００１１】
第２の発明は、自己のモジュール構造に基づいて、既知の入力情報から所定の出力情報を生成する生成モジュールを提供する。この生成モジュールは、それぞれが予め設定された種別の入力情報が入力される複数の入力ノードと、出力情報が出力される出力ノードと、自己に入力された情報を制御関数に従って変換し、変換結果を出力するとともに、出力ノードから入力ノードにかけて、適宜分岐しつつ入力側のノードと出力側のノードとを接続することにより、複数の入力ノードから出力ノードへの一連のノード列を構成する複数の中間ノードとを有する。
【００１２】
ここで、第２の発明において、入力ノード、出力ノードおよび中間ノードからなるモジュール構造は、予め設定された入力情報と出力情報との対応関係を示す教師データに基づいて、学習により調整可能であることが好ましい。この場合、学習は、各ノードの固有の機能に伴うモジュール構造の特性に起因した拘束条件のもとで、遺伝的アルゴリズムを用いて行われることが好ましい。
【００１３】
また、第３の発明は、制御対象の制御に用いられる制御パラメータを生成し、制御対象を制御する制御方法を提供する。この制御方法は、第１のステップとして、制御対象の運転状態を示す状態パラメータを検出する。第２のステップとして、それぞれが、学習によって調整可能な自己のユニット構造に基づいて、検出された状態パラメータから制御パラメータを生成する複数の制御ユニットの中から、現在の運転状態において、予め設定された評価条件に適合した制御ユニットを生成ユニットとして選択する。第３のステップとして、選択された生成ユニットが、検出された状態パラメータの現在値に基づいて、制御パラメータを生成する。第４のステップとして、生成ユニット以外の他の制御ユニットが、学習を実行し、評価条件に適合するように、ユニット構造の調整を行う。この場合、第２のステップは、所定時間毎に、学習によるユニット構造の調整を踏まえた上で、生成ユニットの更新を行うステップを含む。
【００１４】
ここで、第３の発明において、それぞれが学習によって調整可能なユニット構造に基づいて、制御対象をモデル化したシミュレータとして機能する複数の評価ユニットの中から、制御対象の現在の運転状態を最もよく再現する評価ユニットを選択ユニットとして選択する第５のステップと、選択ユニット以外の他の制御ユニットが、学習を実行し、自己のシミュレーション結果が現在の運転状態に近づくように、ユニット構造の調整を行う第６のステップと、所定時間毎に、学習によるユニット構造の調整を踏まえた上で、選択ユニットの更新を行う第７のステップをさらに有していてもよい。この場合、第２のステップは、選択ユニットが、複数の制御ユニットによってそれぞれ生成される制御パラメータに基づいて、制御対象のシミュレーションを行い、シミュレーション結果に基づいて、生成ユニットの選択を行うステップであることが好ましい。
【発明の効果】
【００１５】
本発明によれば、所定時間毎に、所定の評価条件に基づいて、制御部を構成する制御ユニットの中から生成ユニットが更新される。この更新に際して、各制御ユニットは、学習により、そのユニット構造が調整されており、評価部は、現在の運転状態において、この制御対象を所望の運転状態に制御し得る制御ユニットを選択する。そして、選択（更新）された生成ユニットにより、実際の制御に用いられる、制御出力に相当する制御パラメータが生成される。このように、学習によりユニット構造を調整することにより、制御対象に対する制御則が自動的に構築されるので、煩雑な制御則のセッティングの手間を減少することができる。また、生成ユニットの自動更新機能により、現在の運転状態に応じて生成ユニットが更新されるため、経時的な劣化、或いは使用環境による制御則の変更へも動的に対応することができる。これにより、設計者が意図する運転状態を制御対象が維持するような制御を行うことができる。
【発明を実施するための最良の形態】
【００１６】
図１は、本実施形態にかかる制御システムの説明図である。この制御システムは、ＣＰＵ、ＲＯＭ、ＲＡＭ、入出力インターフェース等を備えたコンピュータ１を主体に構成されている。本実施形態における制御システムは、制御対象である車両に搭載されており、車両制御に用いられる制御パラメータをリアルタイムで生成する。本実施形態では、車両制御の中でも、特にエンジン制御を主体とした説明を行い、燃料噴射量ＧFおよび点火時期Ｔiが制御パラメータとして生成される。
【００１７】
コンピュータ１には、エンジン等を含む車両の現在の運転状態を検出するために、検出部２からの検出信号、すなわち、制御対象の運転状態を示す状態パラメータが入力されている。この状態パラメータは、制御パラメータを生成するための情報（制御入力）として用いられるので、制御パラメータと相関を有するパラメータであることが重要である。また、この状態パラメータは、制御入力として用いられるだけでなく、運転状態のシミュレーションを行うための情報としても用いられるので、コンピュータ１には、シミュレーションを行う上で必要と認められる各種のパラメータも入力されている。エンジン制御を主体とする本実施形態では、吸入空気量Ｑ、エンジン回転数Ｎe、スロットル開度θacc、冷却水水温Ｔ、ギヤポジションＰ、車速Ｖに相当する状態パラメータがコンピュータ１に入力される。
【００１８】
コンピュータ１は、これを機能的に捉えると、制御部１１と、評価部１２とを有する。制御部１１は、制御入力に基づいて、燃料噴射量ＧFおよび点火時期Ｔiの二種類の制御パラメータを生成し、この制御パラメータを制御出力として出力する。一方、評価部１２は、制御部１１により生成される制御パラメータに基づいて、運転状態のシミュレーションを行い、制御対象が所望の運転状態に制御されるように、制御部１１の最適化を行う。この所望の運転状態は、システムの設計者によって任意に設定される事項であり、経年的な劣化に左右されない、設計時に意図した運転状態などがこれに該当する。
【００１９】
制御部１１は、それぞれが自己のユニット構造に基づいて制御パラメータを生成する複数の制御ユニット１１ａで構成されており、各制御ユニット１１ａには、ユニット構造の基礎をなす制御モジュール（生成モジュール）１１ｂが設けられている。この制御モジュール１１ｂは、自己のモジュール構造に基づいて、単一種別の制御パラメータを生成する。そのため、各制御ユニット１１ａには、生成すべき制御パラメータの種別に応じて、少なくとも一つ以上の制御モジュール１１ｂが設けられている。二種類の制御パラメータを生成する本実施形態では、燃料噴射量用の制御モジュール１１ｂと点火時期用の制御モジュール１１ｂとが、各制御ユニット１１ａに設けられている。
【００２０】
図２は、燃料噴射用の制御モジュール１１ｂのモジュール構造の一例を示す説明図である。以下、制御モジュール１１ｂのモジュール構造を説明するにあたり、図２に示す燃料噴射量用の制御モジュール１１ｂを用いる。ただし、点火時期用の制御モジュール１１ｂについても基本的なモジュール構造に変わりはないので、これについては説明を省略する。制御モジュール１１ｂは、階層的に配置された複数のノードＮ１で構成されており、これらのノードＮ１を機能的に捉えると、出力ノードＮ１outと、入力ノードＮ１inと、中間ノードＮ１midとに分類される。ここで、制御モジュール１１ｂの説明にあたり、各ノードＮ１out，Ｎ１in，Ｎ１mid間の接続が枝分かれ的に広がっていくという観点で、分岐の基点側を上位、分岐後を下位とする。ただし、この上位、下位という用語は、あくまでも枝分かれ的なレイアウト（制御モジュール１１ｂの構成）を意味するものであり、情報の伝達経路という観点において、この上位、下位という用語は、その意味と対応していない。
【００２１】
出力ノードＮ１outは、最も上位層に配置される唯一のノードＮ１であり、下位層からの入力データを制御パラメータ（燃料噴射量）として出力する。入力ノードＮ１inは、中間ノードＮ１midを介し、最も下位層に配置されるノードＮ１であり、制御入力に相当する状態パラメータが入力される（例えば、吸入空気量Ｑ、エンジン回転数Ｎe、スロットル開度θacc、冷却水水温Ｔ）。番号Ｉ1〜Ｉ4で示すように、入力ノードＮ１inには複数の種別が存在しており、このノードＮ１inの種別に応じて、予め設定された状態パラメータが、入力ノードＮ１inに入力される。同図において、番号Ｉ1は吸入空気量Ｑ、番号Ｉ2はエンジン回転数Ｎe、番号Ｉ3はスロットル開度θacc、番号Ｉ4は冷却水水温Ｔの入力機能を担う入力ノードＮ１inである。なお、これらの入力ノードＮ１inの種別は一例であり、これ以外にも、生成すべき制御パラメータの必要に応じて、様々な種別の入力ノードＮ１inを用いることができる（例えば、時間ｔなど）。
【００２２】
中間ノードＮ１midは、出力ノードＮ１outから各入力ノードＮ１inへ亘る一連のノード列を構成し、上位から下位の階層にかけて、適宜分岐しつつ、出力側（直上）のノードＮ１と入力側（直下）のノードＮ１とを接続する。中間ノードＮmidには、予め制御関数が設定されており、中間ノードＮ１midは、下位層からの入力データを、自己に設定された制御関数に基づいて変換し、この演算結果を上位層のノードＮ１へ出力する。
【００２３】
図３は、中間ノードＮ１midにおける制御関数の説明図である。同図には、中間ノードＮ１midの制御関数と、その中間ノードＮ１midへ入力される下位層からのデータ数（接続ノード数）との対応関係が例示されている。例えば、番号Ｆ1の中間ノードＮ１midは、下位層の一つのノードＮ１からの入力データをＡ倍し、この演算結果を上位層のノードＮ１へ出力する。また、番号Ｆ4の中間ノードＮ１midは、下位層の一つのノードＮ１からの入力データに基づいて、この入力値の過去Ｎ回の平均値を算出し、この演算結果を上位層のノードＮ１へ出力する。一方、番号Ｆ10の中間ノードＮ１midは、下位層の二つのノードＮ１からの入力データに基づいて、これらの入力値の積を算出し、この演算結果を上位層のノードＮ１へ出力する。
【００２４】
このようなツリー構造状の制御モジュール１１ｂにおいて、各入力ノードＮ１inに所定の状態パラメータが与えられると、一連の中間ノード列による演算に従い、出力ノードＮ１outから制御パラメータが出力される（制御パラメータの生成）。すなわち、これらの中間ノードＮ１midの組合わせにより、制御対象に対する制御則が決定される。制御モジュール１１ｂは、そのモジュール構造、すなわち、中間ノードＮ１midおよび入力ノードＮ１inのレイアウトと種別とが調整可能に構成されており、出力結果の精度向上を図るためには、これを適切に調整する必要がある。モジュール構造の調整は、後述するように、遺伝的アルゴリズムを用いた学習により行われ、これにより、制御ユニット１１ａのユニット構造も調整される。なお、制御システムを車両に搭載する初期段階では、実験やシミュレーションを通じ、システム設計者が、予め適切なユニット構造（すなわち、モジュール構造）を設定した上で、制御ユニット１１ａを制御部１１に設けておくことが好ましい。
【００２５】
一方、図１に示す評価部１２は、複数の評価ユニット１２ａと、評価モジュール１２ｂとで構成される。各評価ユニット１２ａは、自己のユニット構造に基づいて、制御対象をモデル化するシミュレータとしての機能を担う。一方、評価モジュール１２ｂは、制御対象の現在の運転状態に基づいて、シミュレーション結果が最も実機と近い評価ユニット１２ａを選択する。
【００２６】
図４は、評価ユニット１２ａの構造の一例を示す説明図である。評価ユニット１２ａとしては、ニューラルネットワークを用いることができる。ニューラルネットワークは、それぞれが同一機能を有する複数のノードＮ２で構成されており、本実施形態において、入力層、中間層および出力層からなる階層型ニューラルネットワークである。各層を構成するノードＮ２の数は、システムの設計者によって適宜設定される。設計者は、ノードＮ２を増やすことで得られるシミュレーション結果の精度向上と、ノードＮの数を減らすことで得られる処理速度の向上という相反する両者の関係を考慮した上で、各層が最適なノード数となるように、そのユニット構造を決定する。
【００２７】
シミュレーションにより制御対象の状態を再現し、制御ユニット１１ａにより生成される制御パラメータの正当性を評価するため、入力層には、少なくとも、制御ユニット１１ａによって生成された二種類の制御パラメータが入力されるノードＮ２inが設定されている。ただし、シミュレーション結果の精度向上といった観点より、ギヤポジションＰ、車速Ｖ、吸入空気量Ｑ、エンジン回転数Ｎe、スロットル開度θacc、冷却水水温Ｔといった状態パラメータが入力されるノードＮ２inもさらに設定されている。一方、出力層は、制御対象の運転状態のシミュレーションを行う状態パラメータが出力されるノードＮ２outであり、本実施形態では、車速Ｖ、加速度Ａcc、およびエンジン回転数Ｎe用の三つのノードＮ２outが設定されている。換言すれば、評価ユニット１２ａは、車速Ｖ、加速度Ａcc、およびエンジン回転数Ｎeの一連の推移に基づいて、制御対象の運転状態をシミュレートする。一方、中間層には、上述したトレードオフの関係を考慮した上で、オペレータの経験を頼りに、必要な個数分のノードＮ２midが設定される。
【００２８】
このニューラルネットワークには、あるノードＮ２（本実施形態では、出力層のノードＮ２out）の出力を、それよりも上位のノードＮ２（本実施形態では、入力層のノードＮ２in）へフィードバックするフィードバックループが設けられている。各フィードバックループには、フィードバック出力のタイミングを遅延させるための遅延素子Ｚが設けられている。この遅延素子Ｚは、出力層から出力された状態パラメータを、例えば、所定時間だけ保持した後に、或いは、所定の信号が入力されるまで保持した後に、入力層のノードＮに入力する。
【００２９】
このようなニューラルネットワークにおいて、それぞれのノードＮ２は、入力データｙiに対して数式１，２に示す計算を行い、その演算結果である出力データＹjを出力する。ここでＫijは、ｉ番目の素子とｊ番目の素子との間の結合重み係数であり、θjはしきい値であり、フィードバックループは除くすべてのノード間の接続に設定されている。
【００３０】
（数式１）
Ｘj＝ΣＫij・ｙi（i＝1〜ｎ）
（数式２）
Ｙj＝１／（１＋exp（-（Ｘj-θj）））
【００３１】
これらの数式１，２から分かるように、あるノードＮ２からの出力は、所定の結合重み係数Ｋijに応じて下位層の各ノードＮ２へ入力される。ここで、数式２は、シグモイド関数と呼ばれ、ニューラルネットワークにおけるノードの関数として一般に用いられる。シグモイド関数は、０から１まで連続的に変化し、しきい値θjが小さくなるにつれて、ステップ関数に近づいていく。
【００３２】
ニューラルネットワークからなる評価ユニット１２ａを用いる場合、その出力結果（シミュレーション結果）の精度向上を図るためには、予め結合重み係数Ｋijとしきい値θjとを適切に調整（学習）する必要がある。結合重み係数Ｋijとしきい値θjとの学習、すなわち、評価ユニット１２ａのユニット構造の学習は、後述するように、遺伝的アルゴリズムを用いて行われる。なお、制御システムを車両に搭載する初期段階では、実験やシミュレーションを通じて、システム設計者が、現在の車両の運転状態を再現することができるユニット構造を設定した上で、評価ユニット１２ａを評価部１２に設けておくことが好ましい。
【００３３】
図５は、制御システムによって行われるシステム処理を示すタイミングチャートである。本実施形態にかかるシステム処理は、制御部１１を主体に行われる制御処理と、評価部１２を主体に行われる評価処理とに分類される。制御部１１による制御処理は、パラメータ生成処理と、学習処理とで構成されており、一連の制御処理において、これらの処理は並列的に行われる。
【００３４】
パラメータ生成処理
パラメータ生成処理は、制御出力として機能する制御パラメータを生成する処理であり、制御部１１を構成する全制御ユニット１１ａのうち、評価部１２により選択された制御ユニット（以下「生成ユニット」という）１１ａ’が単独でこれを行う。生成ユニット１１ａ’は、評価部１２により所定周期毎に更新され、生成ユニット１１ａ’として選択された制御ユニット１１ａは、ある一定期間（生成フェーズ）において、この機能を担う。
【００３５】
生成ユニット１１ａ’は、各制御モジュール１１ｂに設定された入力ノードＮ１inに、その種別に従った状態パラメータが与えられることで、制御パラメータＧF，Ｔiを生成する。生成された制御パラメータＧF，Ｔiは、制御出力として各種のアクチュエータ３に出力される。アクチュエータが動作し、車両制御が行われると、この制御に応じた車両の運転状態がコンピュータ１にフィードバックされる。そして、生成ユニット１１ａ’は、フィードバックされた運転状態に基づいて、制御パラメータＧF，Ｔiを新たに生成し、一生成フェーズにおいて、このような処理を継続的に行う。
【００３６】
学習処理の説明
図６は、学習処理の詳細な手順を示すフローチャートである。学習処理は、制御ユニット１１ａのユニット構造の調整を行う処理である。この処理は、生成ユニット１１ａ’以外の制御ユニット１１ａによって行われており、これらの制御ユニット１１ａに設けられた各制御モジュール１１ｂが処理対象となる。生成ユニット１１ａ’の更新に対応して、学習処理を実行する制御ユニット１１ａも更新され、更新された制御ユニット１１ａは、評価部１２による終了指示がなされるまでのある一定期間（学習フェーズ）において、学習処理を実行する。
【００３７】
図７は、遺伝子の説明図である。まず、ステップ１において、制御モジュール１１ｂ毎に、個体Ｉが複数集合した個体集団ＩＧが生成される。一つの個体Ｉは、制御モジュール１１ｂを構成する各ノードＮ１in，Ｎ１mid，Ｎ１outを遺伝子型で表現した任意の数（例えば、100個程度）の遺伝子で構成されている。初期生成において、各個体Ｉには、様々な種別に対応した入力ノードＮ１inに該当する遺伝子、および、様々な種別に対応した中間ノードＮ１midに該当する遺伝子が、ランダムに配置される。ただし、単一種別の制御パラメータを生成する制御モジュール１１ｂを処理対象とした学習において、各個体Ｉには、出力ノードＮ１outの数に対応して、これに該当する遺伝子が一つのみ配置される（拘束条件）。また、この出力ノードＮ１outの遺伝子は、後述する進化演算が行われたとしても、最も上位の階層に出力ノードＮ１outが配置されるように、個体Ｉにおける位置が予め固定されている（例えば、左端に固定（拘束条件））。個体集団ＩＧは、このような個体Ｉがｎ個集合した集団であり、遺伝子に基づいて、各個体Ｉ１〜Ｉｎを制御モジュール１１ｂに変換すれば、ｎ個の制御モジュール１１ｂを得る。
【００３８】
ステップ２において、個体集団ＩＧ毎に、所定の評価パターンに基づいて、集団を構成する各個体Ｉ１〜Ｉｎの評価が行われる。この評価パターンは、制御対象を所望の運転状態に制御し得る、制御入力と制御出力との対応関係が規定されたパターンであり、予め実験やシミュレーションを通じて作成されている。まず、各個体Ｉ１〜Ｉｎを構成する遺伝子に基づいて、ｎ個の制御モジュール１１ｂが作成される。ｎ個の制御モジュール１１ｂに評価パターン（制御入力）を与えることにより、ｎ通りの制御パラメータが得られる。取得したｎ通りの制御パラメータは、評価パターン（制御出力）とそれぞれ比較される。そして、両者の誤差が小さい、すなわち、評価パターンとの相関が高い制御パラメータを出力した制御モジュール１１ｂ程、高い評価を得るように、制御モジュール１１ｂの評価付けが行われる。
【００３９】
ステップ３において、この制御モジュール１１ｂの評価付けに対応して、各個体Ｉ１〜Ｉｎは、その評価が高い個体Ｉから順番に、個体Ｉ１〜Ｉｎとして新たに並び替えられる。
【００４０】
ステップ４において、評価部１２からの終了指示を受信したか否かが判断される。制御ユニット１１ａの学習は、評価部１２による終了指示によって終了する。評価部１２は、学習によるユニット構造の調整を踏まえた上で、生成ユニット１１ａ’の選択を行うが、ユニット構造（すなわち、モジュール構造）が適切に調整されるまでには、後述する進化演算をある程度の回数実行する必要がある。そのため、評価部１２は、この演算に要する時間を踏まえ、学習時間がある所定時間に到達することを条件として、学習処理の終了指示を制御部１１に対して出力している。このステップ４において否定判定された場合、すなわち、終了指示を受信していない場合には、ステップ５に進む。一方、ステップ４において肯定判定された場合、すなわち、終了指示を受信した場合には、ステップ６に進む。
【００４１】
ステップ５において、各制御モジュール１１ｂに関する個体集団毎に、遺伝的アルゴリズムによる進化演算が行われる。具体的には、個体集団ＩＧにおいて、個体Ｉ１〜Ｉｎの選択（淘汰）処理が行われる。この選択処理の手法としては、逆ルーレット式選択、ランク方式選択、トーナメント式選択等が挙げられる。具体的には、処理対象となるある個体集団ＩＧにおいて、個体Ｉ（或いは、個体群）が任意に選択され、選択された個体Ｉが個体集団ＩＧの中から削除される。この削除された個体Ｉの位置には、個体集団ＩＧの中から任意に選択した同数の個体Ｉが移され、これにより、個体集団ＩＧを構成する個体Ｉ１〜Ｉｎの数が維持される。このような選択処理が行われると、つぎに、個体集団ＩＧにおける各個体Ｉを対象として、遺伝子の突然変異および交叉が行われる（次世代個体集団ＩＧの生成）。突然変異では、ある遺伝子が任意に選択され、選択された遺伝子が異なる種別の遺伝子へ変異される。また、交叉では、任意に選択した２つ以上の遺伝子が互いに交換される。
【００４２】
なお、この進化演算においても、各ノードＮ１in，Ｎ１mid，Ｎ１outの固有の機能に伴うモジュール構造の特性に起因した拘束条件が要求される。例えば、番号Ｆ10の中間ノードＮ１midの遺伝子と、番号Ｆ4の中間ノードＮ１midの遺伝子との交差、或いは、番号Ｆ10の中間ノードＮ１midの遺伝子から番号Ｆ4の中間ノードＮ１midの遺伝子への突然変異は行われない。これは、遺伝子を構成する中間ノードＮ１midには、予め入力数（制御関数）が決定されているため、入力数が異なる遺伝子型同士の突然変異および交差は行わないことが重要である。また、入力ノードＮ１inは、最も下位の階層に配置されるという観点から、入力ノードＮ１inの遺伝子と中間ノードＮ１midの遺伝子との交差、および、入力ノードＮ１inの遺伝子から中間ノードＮ１midへの突然変異（或いは、この逆の突然変異）を行わないことも重要である。一方、制御モジュール１１ｂのツリー構造では、その中間ノードＮ１midの長さに制限がないため、遺伝子長が長くなる、或いは、遺伝子長が短くなるような突然変異を行うことも有効である。また、互いに異なる制御ユニット１１ａ間において、個体Ｉを交換する手法も有効である。
【００４３】
ステップ６において、各制御モジュール１１ｂにおいて、自己に対応する個体集団ＩＧの中から、個体Ｉ１が選択される。そして、遺伝子情報に基づいて、この個体１を変換することにより、各制御ユニット１１ａを構成する制御モジュール１１ｂが生成され（内部構造の生成）、本ルーチンを抜ける。
【００４４】
終了指示により学習処理が終了すると、後述する評価部１２の選択処理に従い、制御部１１を構成する全制御ユニット１１ａの中から、制御ユニット１１ａが択一的に選ばれて、次回の生成フェーズにおける生成ユニット１１ａ’が更新される。これとともに、更新された生成ユニット１１ａ’以外の制御ユニット１１ａは、上述した学習処理を実行する（学習フェーズの開始）。
【００４５】
再び図５を参照して、評価部１２による評価処理について説明する。この評価処理には、選択処理と、学習処理と、自己評価処理とが存在する。
【００４６】
選択処理の説明
選択処理は、自己のシミュレーション機能を用いて、制御部１１におけるユニット構造の学習を踏まえた上で、制御対象を所望の運転状態に制御し得る制御ユニット１１ａを生成ユニット１１ａ’として選択する。この処理は、評価部１２を構成する全評価ユニット１２ａのうち、評価モジュール１２ｂにより選択された評価ユニット（以下「選択ユニット」という）１２ａ’が単独でこれを行う。選択ユニット１２ａ’は、評価モジュール１２ｂにより所定周期毎に更新され、選択ユニット１２ａ’として選択された評価ユニット１２ａが順次この機能を担う。
【００４７】
まず、選択ユニット１２ａ’は、学習処理を行っている制御ユニット１１ａに対して終了指示を与え、現在の学習フェーズを終了させる。そして、制御部１１を構成する全制御ユニット１１ａの中から、所定の評価条件に適合する制御ユニット１１ａを検索する。この評価条件は、所定の教師データを用い、この教師データとの誤差が最も小さい制御ユニット１１ａが適合する条件となっており、教師データとしては、制御部１１の学習において用いられた評価パターンを用いることができる。具体的には、選択ユニット１２ａ’は、各制御ユニット１１ａに対して評価パターン（制御入力）を与え、これにより、制御パラメータを得る。そして、この取得した制御パラメータと、評価パターン（制御出力）とが比較され、その誤差が最も小さい制御ユニット１１ａが、評価条件に適合した生成ユニット１１ａ’として選択される。
【００４８】
学習処理の説明
学習処理は、評価部１２に設けられた各評価ユニット１２ａのユニット構造の学習を行う処理であり、選択ユニット１２ａ’以外の評価ユニット１２ａによって行われる。この処理では、処理対象となる評価ユニット１２ａを構成するニューラルネットワークの結合重み係数Ｋijおよびしきい値θjの最適解がそれぞれ算出される。なお、評価部１２における学習処理は、図６に示す制御部１１の学習処理と基本的に同一の処理手順で進行するため、同図を参照しつつ、その相違点を中心に処理手順を説明する。
【００４９】
まず、第１のステップにおいて、評価ユニット１２ａ毎に、遺伝子を情報として含む個体Ｉが複数集合した個体集団ＩＧが生成される。一つの個体Ｉは、ニューラルネットワークにおけるすべての結合重み係数Ｋijおよびしきい値θjを遺伝子型で表現した遺伝子で構成されている。個体集団ＩＧは、このような個体Ｉがｎ個集合した集団であり、遺伝子に基づいて、各個体Ｉ１〜Ｉｎを評価ユニット１２ａに変換すれば、ｎ個の評価ユニット１２ａを得る。
【００５０】
第２のステップにおいて、評価ユニット１２ａ毎に、所定の記憶パターンに基づいて、個体集団ＩＧを構成する各個体Ｉ１〜Ｉｎの評価が行われる。この記憶パターンは、ニューラルネットワークにおける入力情報と出力情報とに対応する状態パラメータを、現在の学習フェーズに先立ち、検出部２から取得し（或いは、検出結果に基づいて演算し）、これを記憶したパターンである。まず、各個体Ｉ１〜Ｉｎを構成する遺伝子型に基づいて、ｎ個の評価ユニット１２ａが作成される。そして、後述する教師パターンに基づいて、ｎ個の評価ユニット１２ａに記憶パターン（入力情報）を与え、ｎ通りの状態パラメータを得る。この取得したｎ通りの状態パラメータは、記憶パターン（出力情報）とそれぞれ比較される。そして、両者の誤差が小さい、すなわち、教師データと相関が高い状態パラメータを出力した評価ユニット１２ａ程、高い評価を得るように、評価ユニット１２ａの評価付けが行われる。そして、第３のステップにおいて、この評価ユニット１２ａの評価付けに対応して、各個体Ｉ１〜Ｉｎは、その評価が高い個体Ｉから順番に、個体Ｉ１〜Ｉｎとして新たに並び替えられる。
【００５１】
第３のステップに続く第４のステップにおいて、評価モジュール１２ｂによる終了指示がなされたか否かが判断される。評価ユニット１２ａの学習は、評価モジュール１２ｂによる終了指示によって終了する。評価モジュール１２ｂは、学習によるユニット構造（評価ユニット１２ａ）の調整を踏まえた上で、選択ユニット１２ａ’の選択を行うため、上述のステップ３と同様の理由から、終了指示の判断を行う。この第４のステップにおいて否定判定された場合、すなわち、終了指示を受信していない場合には、第５のステップに進む。第５のステップでは、選択・淘汰、さらには、突然変異および交差といった、遺伝的アルゴリズムによる進化演算が行われ、再度、第２のステップ以降の処理に進む。一方、第３のステップにおいて肯定判定された場合、すなわち、終了指示を受信した場合には、第６のステップに進む。第６ステップでは、各評価ユニット１２ａにおいて、自己に対応する個体集団ＩＧの中から、個体Ｉ１が選択される。そして、遺伝子情報に基づいて、この個体Ｉ１を変換することにより、評価部１２を構成する評価ユニット１２ａが生成され、本ルーチンを抜ける。
【００５２】
終了指示により学習処理が終了すると、後述する評価モジュール１２ｂの自己評価処理に従い、全評価ユニット１２ａの中から、評価ユニット１２ａが択一的に選ばれて、選択ユニット１２ａ’が更新される。これとともに、更新された選択ユニット１２ａ’以外の評価ユニット１２ａは、上述した学習処理を実行する（学習フェーズの開始）。
【００５３】
自己評価処理の説明
評価モジュール１２ｂによって行われる自己評価処理は、所定の周期毎に、所定の教師データを評価条件として用いることにより、この教師データとの誤差が最も小さい評価ユニット１２ａが選択ユニット１２ａ’として選択される。この教師データとしては、評価ユニット１２ａの学習において用いられた記憶パターンを用いることができる。具体的には、評価モジュール１２ｂは、まず、学習処理を行っている評価ユニット１２ａに対して終了指示を与え、現在の学習フェーズを終了させる。そして、各評価ユニット１２ａに対して記憶パターン（入力情報）を与え、これにより、シミュレーション結果（状態パラメータ）を得る。そして、この取得したシミュレーション結果と、記憶パターン（出力情報）とを比較し、その誤差が最も小さい評価ユニット１２ａが、選択ユニット１２ａ’として選択される。
【００５４】
このように本実施形態によれば、評価部１２の評価に基づいて、所定時間毎に、制御部１１を構成する全制御ユニット１１ａの中から生成ユニット１１ａ’が更新される。この更新に際して、各制御ユニット１１ａは、学習により、そのユニット構造が調整されており、評価部１２は、現在の運転状態において、この制御対象を所望の運転状態に制御し得る制御ユニット１１ａを選択する。そして、この生成ユニット１１ａ’により、実際の制御に用いられる、制御出力に相当する制御パラメータが生成される。このように、学習によりユニット構造を調整することで、制御対象に対する制御則が自動的に構築されるので、セッティングにおける煩雑な手間を軽減することができる。また、生成ユニット１１ａ’の自動更新機能により、現在の運転状態に応じて生成ユニット１１ａ’が更新されるため、経時的な劣化、或いは、使用環境による制御則の変更へも動的に対応することができる。これにより、設計者が意図する運転状態を制御対象が維持するような制御を行うことができる。
【００５５】
また、本実施形態では、ユニット単位で設けられる制御モジュール１１ｂの内部構造として、ツリー構造を用いている。このようなツリー構造では、学習において、遺伝子長を増大したり、或いは、遺伝子長を短縮することが可能となるため、最適なモジュール構造を有効に算出することができる。また、中間ノードＮ１midには、自由な制御関数を設定することができるので、その構造にバリエーションが広がり、有効な出力情報（制御パラメータ）を出力する制御モジュール１１ｂの構造を算出することができる。
【００５６】
制御ユニット１１ａの自動更新時には、現在の運転状態において最適な制御ユニット１１ａを選択するという前提から、制御対象をモデル化したシミュレータとして機能する複数の評価ユニット１２ａが設けられている。各制御ユニット１１ａは、学習により、そのユニット構造が調整されており、評価モジュール１２ｂは、現在の制御対象の運転状態に基づいて、この運転状態を最もよく再現する評価ユニット１２ａ（選択ユニット１２ａ’）を選択する。そして、この評価ユニット１２ａのシミュレーション機能に基づいて、制御ユニット１１ａが生成する制御パラメータの正当性が評価される。これにより、制御対象の現在の運転状態を忠実に再現した上で、制御ユニット１１ａの選択を行っているので、選択される制御ユニット１１ａの信頼性を保証することができる。
【００５７】
また、本実施形態では、シミュレーション機能を有する評価ユニット１２ａがフィードバックループを備えたニューラルネットワークで構成されている。一般に、フィードバックを有するニューラルネットワークＮＮは、バックプロパゲーションといった最急降下法の原理に基づいた学習則を行うことができないという問題がある。しかしながら、本実施形態では、遺伝的アルゴリズムを用いることにより、これを解決することができる。フィードバックループを持たないニューラルネットワークにおいて、出力層の出力（制御パラメータ）はある時点における入力に依存しており、過去の履歴は出力に影響を及ぼさない。しかしながら、本実施形態では、ニューラルネットワークが有するフィードバックループ（およびその記憶素子）により、過去の履歴が、その構造により記憶される。これにより、制御対象の過去の運転状態が考慮され、先の運動状態を予測したシミュレーションを行うことが可能となる。このような構造の特性に起因した評価ユニット１２ａを用いることにより、その選択された制御ユニット１１ａにおける、制御レスポンス等の制御性の構造を図ることができる。また、先の予測が可能であるため、制御対象の経時的な劣化といった、運転状態を変化を見越した上で、制御ユニット１１ａが選択することができるので、制御対象の性能を落とすことなく、所望の運転状態を継続的に維持することが可能となる。
【００５８】
なお、上述したニューラルネットワークＮＮの構造は一例であり、これ以外にも、フィードバック出力を目的としたノードＮを出力層に更に設けてもよい。また、着陸制御パラメータ出力と、フィードバック出力とを目的とした単一のノードのみで出力層を構成してもよい。さらに、時間的な遅延を伴うフィードバックであるならば、そのフィードバックループは、出力層から入力層に設ける以外にも、中間層から入力層へフィードバックループを設けたり、出力層から中間層へフィードバックループを設けたりと、そのバリエーションは様々である。
【００５９】
また、本実施形態では、制御モジュール１１ｂの内部構造として、ツリー構造を採用しているが、本実施形態はこれに限定されない。例えば、制御モジュール１１ｂの内部構造としては、評価ユニット１２ａと同様に、ニューラルネットワークを用いることができる。また、単一のニューラルネットワークから２つの出力を得るようにすれば、制御ユニット１１ａ自体を、単一のニューラルネットワークで構成してもよい。さらに、評価ユニット１２ａの内部構造も、ニューラルネットワーク以外にも、上記のツリー構造を採用してもよい。このように、制御ユニット１１ａおよび評価ユニット１２ａにおいて、その内部構造を学習により調整可能とすることで、その構造の種別に拘わらず、上述した実施形態と同様の効果を奏する。
【００６０】
さらに、本実施形態では、制御ユニット１１ｂを選択する際に、評価パターンを教師データとして用い、この教師データとの誤差が小さい制御ユニット１１ｂが適合するように評価条件を設定した。しかしながら、本発明における評価条件はこれに限定されない。すなわち、ある評価入力を与え、この結果得られる評価出力を定量的に判断するといったように、この評価条件により所望の制御ユニット１１ａを一義的に選択することができるような条件であれば、本発明の評価条件として機能することができる。
【図面の簡単な説明】
【００６１】
【図１】本実施形態にかかる制御システムの説明図
【図２】燃料噴射用の制御モジュールのモジュール構造の一例を示す説明図
【図３】中間ノードにおける制御関数の説明図
【図４】評価ユニットのモジュール構造の一例を示す説明図
【図５】制御システムによって行われるシステム処理を示すタイミングチャート
【図６】学習処理の詳細な手順を示すフローチャート
【図７】遺伝子の説明図
【符号の説明】
【００６２】
１        コンピュータ
１１      制御部
１１ａ    制御ユニット
１１ａ’  生成ユニット
１１ｂ    制御モジュール
１２      評価部
１２ａ    評価ユニット
１２ａ’  選択ユニット
１２ｂ    評価モジュール
２        検出部
３        アクチュエータ
【図１】
2005267039.tif 000003
【図２】
2005267039.tif 000004
【図３】
2005267039.tif 000005
【図４】
2005267039.tif 000006
【図５】
2005267039.tif 000007
【図６】
2005267039.tif 000008
【図７】
2005267039.tif 000009