(57)【要約】【課題】実機を用いてシミュレーションモデルの近似誤差を排除しつつ、実機の使用による学習時間の増加や特性のバラツキ・ドリフトによる影響を抑制し、良好な最適パラメータを高速且つ効率的に得る。【解決手段】自動適合システムは、実機を自動運転して評価値を算出し、学習演算部５０で多目的遺伝的アルゴリズムを用いて制御パラメータを最適化する。学習演算部５０は、個体の適合度を算出する適合度算出部５２と、親個体を選択する際に、適合度が同等の場合、他の個体との粗密の度合いに応じた指標を用いて解の優劣を判定する親選択部５３と、親個体から子個体を生成させる世代交代部５４と、子個体を選択的に複数回評価する子個体評価部５５と、次世代に保存する個体を選択する生存選択部５６とを有し、実機の使用による学習時間の増加や特性のバラツキ・ドリフトの影響を抑制し、良好な最適パラメータを高速且つ効率的に得る。【選択図】図４
2008217155.tif 000002
【特許請求の範囲】
【請求項１】
移動体の制御に関わる制御パラメータを最適値に適合させる制御パラメータの自動適合システムであって、
上記移動体としての実機を学習ループに導入し、該実機の自動運転によって評価値を自動的に取得して複数の評価軸で独立して評価し、最適解となる制御パラメータを多目的遺伝的アルゴリズムによって獲得する学習演算部を備え、
上記学習演算部は、
上記制御パラメータを遺伝子として含む個体の適合度を算出する適合度算出部と、
複数の上記個体からなる個体群の中から一部の個体を親個体として選択する際に、上記個体の適合度が同等の場合、他の個体との粗密の度合いに応じた指標を用いて解の優劣を判定する親選択部と、
上記選択された親個体から遺伝的操作により子個体を生成させる世代交代部と、
上記生成された子個体を、選択的に複数回評価する子個体評価部と、
次世代に保存する個体を選択する生存選択部と
を有することを特徴とする制御パラメータの自動適合システム。
【請求項２】
上記生存選択部は、
生成された子個体と親個体との適合度が同等の場合、子個体を優先して次世代に保存することを特徴とする請求項１記載の制御パラメータの自動適合システム。
【請求項３】
上記生存選択部は、
上記個体の生成された世代数に基づいて個体年齢を保持し、規定の寿命に達した個体の制御パラメータを用いて評価値を確認することにより、有効性が低下した個体を排除することを特徴とする請求項１記載の制御パラメータの自動適合システム。
【請求項４】
上記子個体評価部は、
生成された子個体が初回の評価でパレート最適解と判定された場合にのみ、該子個体の再評価を行うことを特徴とする請求項１記載の制御パラメータの自動適合システム。
【請求項５】
上記子個体の再評価の後、評価値を平均した値を該子個体の評価値とすることを特徴とする請求項４記載の制御パラメータの自動適合システム。
【請求項６】
上記子個体の再評価の後、評価値間の差又は分散が規定された値以上のとき、評価値の一部又は該子個体そのものを異常値として破棄することを特徴とする請求項４記載の制御パラメータの自動適合システム。
【請求項７】
上記親選択部は、
上記粗密の度合いの指標を、少なくとも評価値空間上と制御パラメータ空間上との何れか一方における個体同士の距離に基づいて算出することを特徴とする請求項１記載の制御パラメータの自動適合システム。
【請求項８】
上記距離の最大値を、予め指定した値と、上記評価値或いは上記制御パラメータの値の分散に対する割合との何れかで規定し、上記距離と上記最大値との関係に基づいて上記粗密の度合いの指標を算出することを特徴とする請求項７記載の制御パラメータの自動適合システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体の制御に関わる制御パラメータを最適値に適合させる制御パラメータの自動適合システムに関する。
【背景技術】
【０００２】
従来、自動車等の移動体の制御パラメータの最適値を自動的に獲得（自動調整）するため、シミュレーションによって得た評価値に基づいて最適なパラメータを学習的に獲得する技術が知られている。
【０００３】
しかしながら、シミュレーションによって評価値を得る方法では、学習によって獲得したパラメータがシミュレーションモデルの近似誤差が原因で、実機に適用した際に有効なパラメータとならない問題がある。
【０００４】
このため、最近では、学習ループに実機を導入し、評価値を実機から直接得る技術が試みられている。例えば、特許文献１には、シミュレーションモデルと入れ替える形でエンジン実機を用いて学習を行い、目標とする評価条件に適合する制御パラメータを獲得する技術が提案されている。
【０００５】
また、特許文献２には、複数の目的関数の評価値を学習的に向上させる手法として、エンジンやモータの実機から予めサンプリングした評価値集合に基づいて計算機内で学習演算を行う技術が開示されている。
【特許文献１】特開２００４−１１６３５１号公報
【特許文献２】特開２００５−２８５０９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、実機では評価値を得るための時間がシミュレーションに比べ長くかかるため、学習ロジックを改善することなく、評価値の取得方法を単にシミュレーションから実機に変更しただけでは、現実的な時間で最適なパラメータを得ることは困難である。
【０００７】
また、実機には、シミュレーションと異なり、計測ノイズや制御結果のバラツキ、車両やエンジン等の実機の特性のドリフト等の問題があり、評価値を確定的なものとして扱うことが困難であり、評価値の取り扱いを改良せず、単に学習進度の高速化だけでは、最適なパラメータを得ることができない。
【０００８】
この点、特許文献１の技術は、遺伝的アルゴリズムを用いて個体の段階的な評価を行うことで上述の問題に対応しているものの、個体同士の優劣を評価する際の適合度に関して、複数の評価値の線形和を用いているため、各評価値間のバランスを決める重み係数を設計者がトライアンドエラーで決めなければならず、効率の点で改善の余地がある。
【０００９】
また、特許文献２では、先ず実機から代表となるサンプル点を取得し、後の学習計算をこのサンプル点から算出される推定評価値で行うようにしている。このため、学習時に直接実機から評価値を取得しない点では学習時間を短縮できるものの、事前にサンプルの取得が必要であり、評価値のバラツキなどの問題に対しては、サンプル点を取得した時点での値を確定的に扱うことで無視してしまっているため、問題の解決には不十分である。
【００１０】
更に、特許文献２では、推定評価値が真の評価値と異なる場合も考えられ、シミュレーションによる評価値の取得の問題点であるモデル近似誤差と同様に、得られた制御パラメータが実機適用時に有効でないケースが排除できない。
【００１１】
本発明は上記事情に鑑みてなされたもので、実機を用いてシミュレーションモデルの近似誤差を排除しつつ、実機の使用による学習時間の増加や特性のバラツキ・ドリフトによる影響を抑制し、良好な最適パラメータを高速且つ効率的に得ることのできる制御パラメータの自動適合システムを提供することを目的としている。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明による制御パラメータの自動適合システムは、移動体の制御に関わる制御パラメータを最適値に適合させる制御パラメータの自動適合システムであって、上記移動体としての実機を学習ループに導入し、該実機の自動運転によって評価値を自動的に取得して複数の評価軸で独立して評価し、最適解となる制御パラメータを多目的遺伝的アルゴリズムによって獲得する学習演算部を備え、上記学習演算部は、上記制御パラメータを遺伝子として含む個体の適合度を算出する適合度算出部と、複数の上記個体からなる個体群の中から一部の個体を親個体として選択する際に、上記個体の適合度が同等の場合、他の個体との粗密の度合いに応じた指標を用いて解の優劣を判定する親選択部と、上記選択された親個体から遺伝的操作により子個体を生成させる世代交代部と、上記生成された子個体を、選択的に複数回評価する子個体評価部と、次世代に保存する個体を選択する生存選択部とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、実機を用いてシミュレーションモデルの近似誤差を排除しつつ、実機の使用による学習時間の増加や特性のバラツキ・ドリフトによる影響を抑制することができ、良好な最適パラメータを高速且つ効率的に得ることができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施の形態を説明する。図１〜図１１は本発明の実施の一形態に係り、図１は自動適合システムの全体構成図、図２は速度パターンを示す説明図、図３は自動運転制御系のブロック図、図４は学習演算部のブロック図、図５は解集団の例を示す説明図、図６はニッチサイズの説明図、図７はニッチカウントの算出例を示す説明図、図８は最適化処理のフローチャート、図９は子個体評価処理のフローチャート、図１０は子個体再評価の結果例を示す説明図、図１１は最適化結果を示す説明図である。
【００１５】
本発明による制御パラメータの自動適合システムは、自動車等の人間が操縦する移動体の制御に係るパラメータを最適化するものであり、図１に示す自動適合システム１として構成されている。この自動適合システム１は、シミュレーションによることなく実機を直接運転することで目的の評価値を獲得し、学習によって最適な制御パラメータに自動調整する。
【００１６】
詳細には、自動適合システム１は、制御パラメータを最適化する対象の実機１０（例えば、自動車のエンジンやモータ等のパワーユニット系、トランスミッション系、ブレーキ系、或いは実車両等）、この実機１０を制御する制御器として実機１０を自動的に運転する自動運転装置２０、実機１０の自動運転状態下における各種データを測定するセンサ類等からなる測定器３０、測定器３０を介して得られたデータから目的とする評価値を算出する評価値演算部４０、算出された評価値に基づいて制御パラメータをより良い値に更新して最適化する学習演算部５０、更新されたパラメータを実機の制御器（自動運転装置２０）に与えるパラメータ更新部６０を備えて構成されている。
【００１７】
学習演算部５０による制御パラメータの最適化は、多目的最適化の手法を用いて行い、目的とする評価項目を各軸とする評価空間上で制御パラメータの優劣を判定し、この優劣判定に基づき制御パラメータを遺伝的アルゴリズムによって更新していく。そして、この制御パラメータを実機に与えて自動運転し、運転結果を評価空間上で評価することを繰り返して学習を行う。
【００１８】
以下では、図２に示すように、自動車を指定の速度パターンに沿って走行させる場合の速度誤差のＲＭＳ(Root Mean Square)[km/h]と燃費率[km/L]との二つを多目的最適化の評価関数として選択し、設計変数としてのアクセル並びにブレーキの操作ゲインを最適化する例について説明する。
【００１９】
この場合、加速側では速度を抑え燃料消費量を少なくし、減速側では速度を高めに保ち、走行距離をかせぐ等の場合に燃費率の向上が予想され、一方で速度パターンからの速度誤差は増大してしまうというトレードオフ関係が想定されるが、多目的遺伝的アルゴリズムを用いることにより、トレードオフ関係のバランスを良好に保つ設計変数セットを得ることができる。
【００２０】
指定速度パターンへの追従運転を制御する自動運転装置２０は、具体的には、図３に示すように、シャーシダイナモメータ（ＣＤＭ）上の自動車１１を実機１０として、ＦＡ用コンピュータ等による速度制御器２１と、この速度制御器２１からの出力を受けて自動車１１のアクセル並びにブレーキを駆動する駆動器２２を備えて構成されている。
【００２１】
駆動器２２を介した自動車１１の速度制御は、アクセルペダルの踏込位置を検出するアクセルポジションセンサ（ＡＰＳ）の出力電圧を可変して自動車１１の電子制御スロットル装置に出力する電気的なアクセル操作と、自動車１１のブレーキペダル近傍に取り付けたアクチュエータ（例えば、電動スライダ機構）によってブレーキペダルを踏込む機械的なブレーキ操作とによって行われる。
【００２２】
速度制御器２１は、予め設定したドライバモデルによる速度制御則に従ってアクセル並びにブレーキの操作量を算出し、これらの操作量をＡＰＳ電圧並びにブレーキ踏量に変換する演算部２１ａと、アクセル並びにブレーキの操作ゲインを変更して車両特性を可変とするゲイン変更部２１ｂとを備えている。本形態においては、速度制御則（ドライバモデル）は固定であるため、アクセル並びにブレーキの操作ゲインを変更することは、ドライバモデル側から見ると操作意図に対する車両側の反応が緩慢或いは過敏の状態に変更されることに相当する。
【００２３】
自動運転装置２０によって自動運転される自動車１１の運転データは、測定器３０を介して評価値演算部４０に送られる。評価値演算部４０は、測定器３０を介して取得した運転データから燃料消費率と走行パターンに対する速度誤差のＲＭＳとを評価値として算出し、学習演算部５０に送る。
【００２４】
尚、評価値演算部４０、学習演算部５０、パラメータ更新部６０は、自動運転装置２０を構成するＦＡ用コンピュータの一部の機能として構成しても良く、また、自動運転装置２０とは別の単体或いは複数のコンピュータ装置によって構成しても良い。
【００２５】
学習演算部５０は、アクセル並びにブレーキのそれぞれのゲイン（スカラー値）を多目的遺伝的アルゴリズムの遺伝子として最適化を行い、評価値のバランスが最も良い設計変数を適応的に学習・獲得する。尚、本形態では、遺伝子は値域０〜１に正規化して扱うが、この正規化した値域はゲイン０．３〜１．５に相当する。ゲイン１．０は、自動運転装置２０の設計値である。
【００２６】
本形態における最適化は、多目的最適化手法の一種であるSPEA2(Strength Pareto Evolutionary Algorithm 2)の手法をベースとしているが、シミュレーションによらない実車両を用いての自動適合では、以下の（１）〜（３）に示すように、評価値の不確性、試行回数の制限、車両特性のドリフトに対する配慮が必要となる。
【００２７】
尚、SPEA2については、例えば、E.Zitzler,M.Laumanns,L.Thiele:SPEA2:Improving the Performanceof the Strength Pareto Evolutionary Algorithm,Technical Report 103,ComputerEngineering and Communication Networks Lab(TIK),Swiss Federal Institute of Technology(ETH)Zurich(2001)等に詳述されている。
【００２８】
（１）評価値の不確定性
同じ設計変数（定数）を与えても、車両挙動はある分布を持ってばらつく。そのため、本来であれば複数回の評価を行ってその分布や平均値を得ることが望ましいが、以下の（２）に示す試行回数の制限の問題もあり、工夫が必要である。
【００２９】
（２）試行回数の制限
次に問題となるのは、評価回数の制限である。特に、評価値を得るためにある程度の時間長の速度パターンを走行する必要がある一方、現実的な時間内に有効な解を得るためには、評価回数を削減する必要がある。そのため、多目的遺伝的アルゴリズムの個体数を削減すると、少ない個体数ではトレードオフ境界面の形を十分につかむことができない可能性がある。
【００３０】
（３）車両特性のドリフト
ＣＤＭ上で暖気を行った車両であっても、最適化を行うにつれ、水温、油温、タイヤの空気圧、その他の特性の変化により、車両特性は徐々に変化していく。この特性ドリフトを考慮しない場合、最適化初期に評価された評価値が最適化終盤には信頼性を失っている虞がある。
【００３１】
以上の（１）〜（３）の課題は、以下に説明するように、それぞれ、「子個体の再評価」、「シェアリング評価」、「子個体の優先評価」の手法を導入することによって解決することができる。このため、学習演算部５０は、図４に示すように、初期化部５１、適合度算出部５２、親選択部５３、世代交代部５４、子個体評価部５５、生存選択部５６、寿命判定部５７、終了判定部５８を備えて構成され、親選択部５３、子個体評価部５５、生存選択部５６で、それぞれ、「シェアリング評価」、「子個体の再評価」、「子個体の優先評価」を実施している。
【００３２】
初期化部５１は、最適化の対象となる制御パラメータを遺伝子として、これらの遺伝子を持つ個体をランダム或いは所定の規則に従って均一に発生させる。本形態においては、アクセルゲイン並びにブレーキゲインを遺伝子として、これらの遺伝子を持つ個体を初期個体として生成する。初期個体の数は、上述の試行回数の制限に対応するため、通常のシミュレーションによる個体数よりも少ない個体数、例えば個体数１００から１０個体へ削減し、１０個体のうち、９個体を設計変数の値域に格子状に配置し、残り１個体をランダム値として配置する。
【００３３】
適合度算出部５２は、各個体についてそれぞれ適合度を算出する。本実施形態で用いられるSPEA2では、１つの個体Ｉｋに対して複数の評価基準についての評価値ｆ１ｋ，ｆ２ｋ，…がそれぞれ個別に割り当てられ、これらの評価値に基づく個体間の支配関係（優劣関係）から各個体Ｉｋの適合度Ｑｋが算出される。
【００３４】
具体的には、適合度算出部５２は、各個体の中から１つの個体Ｉｋを選択し、その個体Ｉｋの制御パラメータＰ１ｋ〜Ｐｎｋを自動運転装置２０に送って評価運転を行い、測定器３０から出力される測定結果や自動運転装置２０から出力される制御記録等のレスポンスＲｋに基づいて、各個体Ｉｋ毎に複数の評価基準についての評価値ｆ１ｋ，ｆ２ｋ，…を算出する。
【００３５】
本形態では、評価基準が燃費率と速度誤差（ＲＭＳ）であり、評価値ｆ１を燃費率についての評価値、評価値ｆ２を速度誤差についての評価値とし、評価値ｆ１を横軸、評価値ｆ２を縦軸とする評価平面上に各個体Ｉｋをプロットすると、例えば図５に示すような解集団が得られる。本形態では、評価値ｆ１が大きく評価値ｆ２が小さい程、優良な個体となる。
【００３６】
適合度Ｑｋの算出は、先ず、全ての個体Ｉｋについて、その個体Ｉｋを支配している他の個体の数（より優良な個体の数；支配数）を求め、次に、各個体毎に、その個体を支配している他の個体の持つ支配数を全て足し合わせる。この支配数を足し合わせた値が各個体Ｉｋの適合度Ｑｋとなる。ある個体が、どの個体にも支配されていない場合、適合度は０となり、その個体はパレート最適解（以下、単に「パレート解」と記載）となる。図５の例では、丸印で示す個体がパレート解であり、これらのパレート解を結ぶ破線が、四角印で示す非パレート解（劣解）に対する境界（パレート境界）を形成している。
【００３７】
親選択部５３は、個体群の中から個体群の全体数より少ない所定数の個体（例えば、３つの個体）を親個体として選択する。この親個体の選択は、前世代に生成された子個体がパレート解であった場合には、その個体を現世代で親個体の１つとして選択し、また、前世代に生成された子個体がパレート解でなかった場合には、トーナメント方式等の選択手法で選択する。
【００３８】
この場合、適合度が同等の個体同士が親候補として選ばれた場合には、周辺に他の個体がどれだけ密集しているかの指標（密集度；ニッチカウント）を計算し、解集合の中でより密集度が低い個体を優先して親個体とするシェアリングを行う。すなわち、個体数が少ない場合（本形態では、初期個体として１０個体）には、複数の解が評価空間上で一箇所にまとまってしまい、パレート境界面の形状を判断することが困難になる場合がある。このような場合、一般的には、「端切り法」による解の分散ロジックが採用されるが、「端切り法」は、子個体も含めて全ての解がパレート解と判定された場合にのみ発動するアルゴリズムであり、学習初期の解には作用しない。
【００３９】
そこで、本形態においては、遺伝的アルゴリズムのトーナメント方式親選択の際、SPEA2の適合度の指標のほかに、シェアリングによる評価手法を導入する。具体的には、適合度が同値の場合、以下の（１）式に示すシェアリング関数ｓ(d)に基づくニッチカウントを計算して適合度に作用させ、より密集度の低い個体（ニッチカウントが小さい個体）を親個体とする。  
ｓ(d)＝１−（ｄ／ｄs）α  ｄ＜ｄs      …（１）
＝０                ｄ≧ｄs
【００４０】
ここで、図６に示すように、ｄは、目的関数空間における個体ｉと個体ｊとのユークリッド距離であり、ｄsは、類似した個体群の中でどれくらい近くの位置にあるとき評価を下げるかを見積もるための最大距離であり、ニッチサイズと称される。このニッチサイズｄsは、予め指定した値や、評価値或いは制御パラメータ値の分散に対する割合（例えば、制御パラメータの値域の３０％程度）で規定される。尚、αはべき乗の係数である。
【００４１】
個体ｉのニッチカウントｎiは、以下の（２）式に示すように、ニッチサイズｄs内に存在する個体ｊのシェアリング関数ｓj(d)の総和で求めることができる。このニッチカウントｎiが大きくなる程、個体が密集していることになり、個体ｉの適合度が小さくなり、より広がりのあるパレート解を求めることができる。図７は、ニッチカウントの算出例を示し、各個体を表す丸印の上，中，下段に、それぞれ、その個体の支配数，適合度，ニッチカウントの数値が付記されている。  
ｎi＝Σｓｊ(d)  …（２）
【００４２】
以上のシェアリング戦略により、解が密集しているエリアの親個体の選択度が下がり、結果的に子個体を分散させるよう作用させることができる。これにより、少ない個体数で多様性と解空間で適切に分布した解集合を得ることができ、しかも、このアルゴリズムは、後述する交叉の際の親選択にも作用する手法であるため、学習初期から進化戦略に作用し、早期に解を分散させることができる。
【００４３】
尚、ニッチカウントは、評価平面上と設計変数平面（パラメータ平面）上との双方で定義できるが、最適化後の制御パラメータに対する多様性の観点から、パラメータ平面での評価とすることが望ましい。
【００４４】
世代交代部５４は、親選択部５３で選択された親個体から遺伝的操作により子個体を生成させる。本形態においては、３つの親個体から交叉操作により、各世代で１つの子個体を生成する。これは、親選択の対象となるアーカイブ集団に常に最新の子個体を反映させるためである。
【００４５】
交叉操作としては、例えば、UNDX（Unimodal Normal Distribution Crossover：単峰性正規分布交叉）が用いられる。UNDXでは、３つの親個体の位置関係に基づいて定められる正規分布乱数に従って子個体を生成する。例えば最適化対象の制御パラメータが２つであるとして、パラメータ平面上に第１，第２の親個体を配置した場合、２つの親個体を結ぶ軸の周辺に子個体が正規分布に従って正規乱数を用いて生成される。第３の親個体は、２つの親個体を結ぶ軸に直交する軸方向の標準偏差の成分を決めるために補助的に用いられ、子個体が第１〜第３の親個体から遠くに離れた位置に生成されることがない。
【００４６】
尚、UNDX（単峰性正規分布交叉）については、例えば、北野宏明編、「遺伝的アルゴリズム４」、産業図書株式会社、p.232-235等を参照のこと。
【００４７】
子個体評価部５５は、生成された子個体の制御パラメータで実機評価を行う。この実機評価の結果、パレート解であると判定された場合には、その子個体の制御パラメータで少なくとももう一度実機において再評価を行う。これは、子個体が初回の判定時にパレート解と判定された場合にのみ再評価を行うことで、全ての個体を複数回評価する等して評価回数が増加することを抑制するためであり、実機による評価値取得に関わる時間を抑えることができる。
【００４８】
子個体の再評価では、複数の評価値の平均や分散を元に、再度、評価空間上で判定し、再びパレート解と判定されたときに初めてパレート解として次世代に生き残らせる。また、再評価時に非パレート解（劣解）と判定された子個体は、初回のパレート判定が破棄され、初回判定時に劣解と判定された解と同様に扱われる。
【００４９】
すなわち、再評価による評価値を平均化した新たな評価値とすることで、実機特性のバラツキを排除して安定したパレート解を取得できる。また、再評価の結果、評価値間の差が規定された値以上の場合、また、予め予測される評価値のバラツキを上回る評価値の分散が検出された場合には、評価値の一部又は子個体そのものを異常値として破棄し、更に、再評価を行う等して異常値の検出及び排除が可能となる。
【００５０】
生存選択部５６は、生成された子個体の制御パラメータで走行評価を行い、その結果、既存の親個体と同値の適合度となった場合には、上位選択の際に子個体を優先する。これは、前述したように、実車両にて評価値を算出する場合、評価を得てからの時間が経つと、車両特性の変化により評価値の信頼性が低下する虞があるためであり、この子個体優先の生存選択を行うことで、より最近の評価を優先し、評価値と実特性の乖離を抑制することができる。
【００５１】
また、生存選択部５６は、各個体が生成された世代数を記憶し、各個体の年齢を保持しており、次世代に生き残らせるための選択の際に同等の適合度となった場合、より高齢の個体を淘汰する。
【００５２】
尚、この個体年齢は、前述の親個体の選択条件の一つとして適用することも可能であり、適合度が同じ場合、より若い親を優先的に選択するようしても良い。
【００５３】
寿命判定部５７は、各個体の年齢が予め決められた世代数（寿命）に達したか否かを判定し、寿命を超過した場合、その個体の制御パラメータで再評価を行い、パラメータの有効性を定期的に確認する。その結果、パレート解が非パレート解に変更となる場合があり、またその逆の場合もあり得る。
【００５４】
終了判定部５８は、このようにして選択された次世代の個体について、最適化の終了条件が満たされたか否かを判定し、終了条件が満たされない限り、以上の進化過程を繰り返す。そして、終了条件が満たされたと判定した時点で、パレート解である個体の制御パラメータを、最適化された制御パラメータとして出力する。最適化の終了条件は、例えば、予め設定した時間や世代数等とする。
【００５５】
次に、以上の自動適合システム１における最適化処理について、図８，９のフローチャートを用いて説明する。
【００５６】
図８は、自動適合システム１における最適化処理の全体の流れを示すフローチャートであり、最初のステップＳ１において、遺伝的アルゴリズムの進化過程の初期化過程として、先ず、初期化部５１により所定個数の初期個体を生成する。次に、ステップＳ２で、初期個体の制御パラメータを自動運転装置２０に与えて実機（自動車１１）のＣＤＭ上での走行運転による初期評価運転を行い、各初期個体に対してそれぞれ適合度を算出するための試行を行う。尚、２世代目以降は、生成された１個の子個体に対してのみ試行が行われ、１世代当たりの試行回数が低減される。
【００５７】
ステップＳ２での初期評価運転が終わった後は、ステップＳ３へ進み、測定器３０を介して取得したデータから各個体の評価値を演算し、この評価に基づいて各個体の適合度を算出する。初期個体の適合度を算出した後は、ステップＳ４以降で親個体を選択して子個体を生成する世代交代を行う。
【００５８】
この世代交代に際しては、適合度の低い個体を親個体として選択し、適合度が同等の場合、シェアリングにより密集度の低い個体を優先的に親個体として選択する。すなわち、ステップＳ４において、各個体について前述のニッチカウントによる密集度を計算し、ステップＳ５において、適合度及び密集度が小さい個体を親個体として選択し、ステップＳ６で、選択した親個体に交叉操作等を施して子個体を生成する。本形態においては、１世代で生成される子個体は、１個体のみである。
【００５９】
その後、ステップＳ７において、世代交代によって生成された子個体を実機にて評価し、パレート解であるか否かを判定する。このパレート解の判定においては、初回の判定でパレート解と判定されても、すぐには判定を確定せず、複数回の再評価を行うことで、実機特性のばらつき等によって過大評価され、たまたまパレート解となった個体を排除する。
【００６０】
本形態においては、子個体の評価は、図９のフローチャートに示す子個体評価のサブ処理にて実施され、２回の評価を経てパレート解の判定が確定する。このサブ処理では、最初のステップＳ２１において、子個体の制御パラメータでの実機走行運転を行い、ステップＳ２２で実機走行運転結果から評価値を算出する。次に、ステップＳ２３で実機走行運転での評価値から個体の適合度を計算し、ステップＳ２４でパレート解か否かを判定する。
【００６１】
ステップＳ２４での判定結果、生成された子個体がパレート解でない場合には、本サブ処理を抜け、生成された子個体がパレート解であると判定された場合、ステップＳ２４からステップＳ２５へ進む。ステップＳ２５では、再評価のための実機走行運転を行い、ステップＳ２６で２回の評価値を平均して平均評価値を計算する。そして、ステップＳ２７で平均評価値に基づいて適合度を計算し、ステップＳ２８でパレート解か否かを再度判定する。
【００６２】
その結果、ステップＳ２８での２度目の判定においてもパレート解であると判定された場合には、ステップＳ２９でその子個体はパレート解であると認定して本サブ処理を抜け、パレート解でないと判定された場合、ステップＳ３０で初回のパレート判定を破棄し、その子個体を非パレート解（劣解）として本サブ処理を抜ける。
【００６３】
例えば、図１０に示す例では、総生成子個体数が７７個体で初回の評価でパレート解と判定されていた個体が２０個体であるのに対して、再評価後の平均評価値では、半数の１０個体が劣解（非パレート解）又は淘汰（次世代に残らない個体）と判定されていることが分かる。従って、子個体再評価の効果により、信頼性の高いパレート解が次世代へ残っていると言える。
【００６４】
次に、子個体を評価した後は、図８の全体の最適化処理におけるステップＳ８へ進み、生存選択処理を行う。この生存選択処理では、車両特性のドリフトに追従してより実機において有効な制御パラメータを獲得するため、新たに生成された子個体と既存の親個体とが同値の適合度となった場合、子個体を優先して次世代に生き残らせ、また、各個体の年齢を比較し、同等の適合度では、より高齢の個体を淘汰する。
【００６５】
ステップＳ８で上位選択された各個体は、ステップＳ９において、その年齢が予め決められた世代数（寿命）に達したか否かが判定される。そして、寿命を超過したと判定された場合には、ステップＳ１０で、その個体の制御パラメータで再評価運転を行った後、ステップＳ３へ戻って以上の処理を繰り返し、制御パラメータの有効性を確認する。
【００６６】
また、ステップＳ９において、寿命に達していないと判定された場合には、ステップＳ１１で最適化の終了条件（予め設定した時間や世代数等）が満たされたか否かを判定し、終了条件が満たされていない場合には、ステップＳ１０の再評価運転を経てステップＳ３へ戻り、以上の進化過程を繰り返す。そして、終了条件が満たされたと判定した時点で、本最適化処理を終了し、パレート解である個体の制御パラメータを最適化された制御パラメータとして出力する。
【００６７】
図１１は、以上の最適化処理による進化結果の例をパラメータ平面上で示したものであり、同図において、三角印で示す個体は最適化前の初期値、黒丸印で示す個体は最適化後の劣解、ハッチングの丸印で示す個体は、最適化後のパレート解を示している。図１１より、燃費率と速度誤差との間にはトレードオフ関係があること、並びに、最適化の結果、初期個体と比較して良好なパラメータセット獲得に成功していることが分かる。例えば、点線丸印で示した個体同士を比較すると、速度誤差ＲＭＳの評価を維持、或いは若干向上させながら、燃費率の評価値が大幅に向上している。
【００６８】
以上のように、本形態の自動適合システム１においては、実機を学習のループに導入して直接評価値を取得することで、オフラインシシミュレーションにおけるモデル誤差等の影響を排除することができ、精度の高いパラメータの獲得が可能となるばかりでなく、制御開発におけるパラメータ調整の負担を軽減して作業コストを低減し、より高品質な性能の追及を可能とする開発環境を実現することができる。
【００６９】
特に、本形態の自動適合システム１においては、多目的最適化手法である多目的遺伝的アルゴリズムを用いることで、複数の目的関数間の重み係数等を用いる必要がなく、パレート解集合として最適解集合を獲得することができる。これにより、解集合の評価空間上での分布を見ることで評価軸間のトレードオフ関係を容易に把握することができ、最も好ましい目的関数のバランスを実現する解を選択することができる。
【００７０】
しかも、この多目的遺伝的アルゴリズムの適用においては、個体数を少なくして評価値獲得の回数を減らすと共に、個体当たりの更新回数を増やすため、実機による評価値獲得に時間がかかることを抑制して制御パラメータの最適値が求められるまでの時間を短縮することができ、実用的な時間内で有効な制御パラメータの獲得が可能となる。
【００７１】
また、多目的遺伝的アルゴリズムの進化過程において、評価空間上での解の密集度を計算し、より疎な解を優先的に親に選択（シェアリング戦略）するため、個体数が少ない場合でも効率的に解（個体）を分散させることが可能となり、最終的に得られるパレート解集合によって評価軸間のトレードオフ関係を容易に把握することができると共に、多様性に富んだ制御パラメータの獲得が可能となる。
【００７２】
また、パレート解の判定においては、子個体が初回の判定時にパレート解と判定されても直ちにパレート解として確定せず、複数回の再評価を行うことで個体の評価値を平均化し、実機特性のバラツキを排除して安定したパレート解を取得することができる。
【００７３】
子個体の再評価の結果、予測される評価値のバラツキを上回る評価値の分散が検出されたときには、その結果を破棄し、更に再評価を行う等して異常値の検出・排除が可能となる。しかも、子個体の再評価は、初回の判定時にパレート解と判定されたときにのみ行うため、全ての個体を複数回評価するのに比較して評価回数の増加を抑えることができ、実機による評価値取得の時間を抑えることができる。
【００７４】
また、進化過程において、子個体を優先的に次世代に生き残らせるので、車両特性のドリフトに追従してより実機において有効なパラメータを獲得することができる。更に、個体の年齢を保持し、決められた寿命毎に同じ制御パラメータで再評価による確認を行うため、実機の特性ドリフトに対応して、有効性が失われた個体の排除（パレート解認定の剥奪）が可能となる。
【図面の簡単な説明】
【００７５】
【図１】自動適合システムの全体構成図
【図２】速度パターンを示す説明図
【図３】自動運転制御系のブロック図
【図４】学習演算部のブロック図
【図５】解集団の例を示す説明図
【図６】ニッチサイズの説明図
【図７】ニッチカウントの算出例を示す説明図
【図８】最適化処理のフローチャート
【図９】子個体評価処理のフローチャート
【図１０】子個体再評価の結果例を示す説明図
【図１１】最適化結果を示す説明図
【符号の説明】
【００７６】
１  自動適合システム
１０  実機
２０  自動運転装置
５０  学習演算部
５２  適合度算出部
５３  親選択部
５４  世代交代部
５５  子個体評価部
５６  生存選択部
【図１】
2008217155.tif 000003
【図２】
2008217155.tif 000004
【図３】
2008217155.tif 000005
【図４】
2008217155.tif 000006
【図５】
2008217155.tif 000007
【図６】
2008217155.tif 000008
【図７】
2008217155.tif 000009
【図８】
2008217155.tif 000010
【図９】
2008217155.tif 000011
【図１０】
2008217155.tif 000012
【図１１】
2008217155.tif 000013