(57)【要約】【課題】制御パラメータのチューニングにかかる工数を低減する。【解決手段】ユーザの操作に応じたユーザパラメータを入力するユーザパラメータ入力部Ｓａと、外部環境に起因する外部パラメータを入力する外部パラメータ入力部Ｓｂと、制御特性毎にそれぞれ設定されて、ユーザパラメータと外部パラメータとから各制御対象の内部パラメータを求める複数の目的関数と、複数の目的関数に対してユーザの制御指標を示すポリシーをそれぞれ設定するポリシー設定部と、前記ポリシーに基づいて、前記複数の目的関数の重み付けを行い、当該ポリシーに合致するように内部パラメータを前記複数の目的関数間で最適（最小あるいは最大）となるように調整し、当該内部パラメータに対応する制御ノードに指令するポリシーノード１を備える。【選択図】図１２
2005335548.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の制御ノードと、
各制御ノードに制御される制御対象と、を備え、車両の運転状態に応じて前記複数の制御ノードが連動して前記制御対象の制御を行う車両の制御システムにおいて、
運転者の運転操作に応じたユーザパラメータを入力するユーザパラメータ入力部と、
車両の外部環境に起因する外部パラメータを入力する外部パラメータ入力部と、
制御特性毎にそれぞれ設定されて、前記ユーザパラメータと外部パラメータとから各制御対象の内部パラメータを求める複数の目的関数と、
前記複数の目的関数に対して、運転者の運転指標を示すポリシーをそれぞれ設定するポリシー設定部と、
前記ポリシーに基づいて、前記複数の目的関数の重み付けを行い、当該ポリシーに合致するように前記内部パラメータを前記複数の目的関数間で最適となるように調整するパラメータ調整部と、
前記パラメータ調整部で得られた内部パラメータを、当該内部パラメータに対応する制御ノードに指令する出力部と、
を備えたことを特徴とする車両の制御システム。
【請求項２】
前記目的関数は、複数のユーザパラメータと、複数の外部パラメータとから複数の内部パラメータを演算し、
前記パラメータ調整部は、前記重み付けの上位の目的関数を複数選択して前記内部パラメータの調整を行うことを特徴とする請求項１に記載の車両の制御システム。
【請求項３】
前記ポリシー設定部は、前記選択した目的関数及び当該目的関数の入力及び出力を車両の走行中に記録することを特徴とする請求項２に記載の車両の制御システム。
【請求項４】
前記ポリシー設定部は、車両に設置した入力装置から前記ポリシーを入力することを特徴とする請求項１に記載の車両の制御システム。
【請求項５】
前記ポリシー設定部は、車両のキーに設けた記憶装置から前記ポリシーを入力することを特徴とする請求項１に記載の車両の制御システム。
【請求項６】
前記ポリシー設定部は、運転終了時には、車両のキーに設けた記憶装置へ前記ポリシーを格納することを特徴とする請求項５に記載の車両の制御システム。
【請求項７】
ネットワークに接続された複数の制御ノードと、
各制御ノードに制御される制御対象と、を備え、前記複数の制御ノードが連動して前記制御対象の制御を行う制御システムにおいて、
ユーザの操作に応じたユーザパラメータを入力するユーザパラメータ入力部と、
外部環境に起因する外部パラメータを入力する外部パラメータ入力部と、
制御特性毎にそれぞれ設定されて、前記ユーザパラメータと外部パラメータとから各制御対象の内部パラメータを求める複数の目的関数と、
前記複数の目的関数に対して、制御の指標を示すポリシーをそれぞれ設定するポリシー設定部と、
前記ポリシーに基づいて、前記複数の目的関数の重み付けを行い、当該ポリシーに合致するように前記内部パラメータを前記複数の目的関数間で最適となるように調整するパラメータ調整部と、
前記パラメータ調整部で得られた内部パラメータを、当該内部パラメータに対応する制御ノードに指令する出力部と、
を備えたことを特徴とする制御システム。
【請求項８】
ネットワークに接続された複数の制御ノードと、
各制御ノードに制御される制御対象と、を備え、前記複数の制御ノードが連動して前記制御対象の制御を行う制御方法において、
ユーザの操作に応じたユーザパラメータを入力する手順と、
外部環境に起因する外部パラメータを入力する手順と、
制御特性毎にそれぞれ設定されて、前記ユーザパラメータと外部パラメータとから各制御対象の内部パラメータを求める複数の目的関数に対して、制御の指標を示すポリシーをそれぞれ設定する手順と、
前記ポリシーに基づいて、前記複数の目的関数の重み付けを行う手順と、
前記ポリシーに合致するように前記内部パラメータを前記複数の目的関数間で最適となるように調整する手順と、
前記調整された内部パラメータを、当該内部パラメータに対応する制御ノードに指令する手順と、
を含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御ノードが連動する制御システムのパラメータのチューニングに関し、特に、車両の制御システムの改良に関する。
に関する。
【背景技術】
【０００２】
近年の自動車は、その多くの部品に制御用のマイクロコンピュータ（Electronic Control Unit、以下ＥＣＵ）が搭載され、ＥＣＵに組み込まれたソフトウェアによって動作させるようになっている（例えば、非特許文献１）。ＥＣＵは、現在は、それぞれ単体で動作することが多いが、今後、複数のＥＣＵが有機的に連動して、より高度な動きをすることが求められつつある。例えば、できるだけ高速でカーブを走行したい場合、サスペンション制御システムによって荷重を内側に傾けつつ、駆動力を外側の車輪に置き、内側の車輪には若干の制動力をかける、などである。
【０００３】
自動車は、より高度な機能を実現するため、数10個から100個ものＥＣＵで様々な動きが実現されている。 例えば、ABS（アンチロックブレーキシステム）、エアバッグ、各国排ガス規制に対応するためのエンジン制御、より燃費の良い走行を実現するためのエンジン制御、カーブ走行時の揺れを抑えるサスペンション制御などである。
【０００４】
上記のような高度な制御では、複数のＥＣＵを連携させて制御を行っており、例えば、目標とする駆動力を制御するものとしては、エンジンコントロールユニットや変速コントロールユニット等を連携させて、乗員に違和感を与えることなく加減速を行い、駆動トルクを最適に制御するものが知られている（例えば、特許文献１）。
【０００５】
また、複数の制御系に対して最適なゲイン調整を行うものとして、制御対象のパラメータ調整をするフィードバック装置が知られている（例えば、特許文献２）。
【０００６】
また、運転者の運転操作情報、車両状態、環境情報等から車両の複数のアクチュエーターを統合的に制御する装置におけるソフトウェア構成を階層化し、階層構造を最適化してソフトウェアの開発工数の低減を図るものも知られている（例えば、特許文献３）。
【特許文献１】特開２００２−２２５５９０号
【特許文献２】特開２００３−６５１３５号
【特許文献３】特開２００３−１９１７７４号
【非特許文献１】菅沼賢治、村山浩之著、「自動車組み込みソフトウェアにおける開発戦略」、情報処理2003年4月号、社団法人情報処理学会、２００３年４月、Vol.44  No.4、Ｐ３６３〜Ｐ３６８
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記各従来例では、より高度な動きを求められるようになると、ＥＣＵを制御する個々のソフトウェアのパラメータを調整する作業が莫大になるという問題が生じてしまう。更に、ユーザの利用状況（運転意図や運転者の趣向及び周囲の運転環境）に応じて当該パラメータの値を柔軟に変更することができないため、運転意図や運転者の趣向あるいは周囲の道路事情に応じた効率的な制御を行うのが難しい、という問題があった。
【０００８】
例えば、NOxガス排出量と燃費はトレードオフの関係にある。交通量が多い場面では、燃費は概して悪いため、NOxガス排出量を減らす走行が望ましく、逆に交通量が少ない場面では、NOxガス排出量は概して低いため、燃費を優先する走行が望ましい。しかし、現在の車両ではこのような場面に応じた操縦ができず、実現しようとすると、ＥＣＵのパラメータ調整に莫大なコストがかかってしまう。
【０００９】
すなわち、個々の機器を制御するソフトウェアが独立にパラメータ調整をすればいいというものではなく、例えば排ガス規制と燃費向上とは相反するため、両者を上手く鑑みたパラメータ調整が求められる。そのため、ソフトウェアのパラメータチューニングにかかる工数は、より高度な機能を求められるほど、大きくなるという傾向にある。
【００１０】
また、操縦性（レスポンス性）と乗員の乗り心地はトレードオフの関係にある。同乗者がいる場合には、高速旋回（急ハンドル）や急発進といった走行をできるだけ抑えるような走行を優先し、一方でドライバーが単独で目的地にできるだけ早く到着したい場合には、レスポンス性を優先させる、という場面に応じた制御を行うのが好ましいが、上記従来例では、運転者の意志等に沿うような制御を行うのは難しい、という問題があった。
【００１１】
上記従来例では、システム毎に運転者が変更可能なパラメータを段階的に切り替えるものが知られており、例えば、自動変速機（駆動力制御システム）では変速比を高めに設定して燃費の向上を図るエコノミーモードや加速性やエンジンブレーキの強さを向上させるパワーモードなどを運転者の操作により切り替えるものが周知であり、またサスペンション制御システムでは、ダンパの減衰力の強弱やバネレートを運転者の操作により変更可能なものが周知である。
【００１２】
しかし、上記従来のパラメータ切り換えでは、システム毎に対して運転者の希望する制御特性を独立して設定可能ではあるものの、システム間のバランスは運転者が考慮する必要があるため、車両について熟知している運転者であっても、運転意図（または趣向）に対してシステム間のバランスが最適となるようなパラメータを見いだすのは容易ではない、という問題があった。
【００１３】
そこで本発明は、上記問題点に鑑みてなされたもので、複数の制御ノード（ＥＣＵ）の制御パラメータを自動的にチューニングすることを通じ、複数の制御ノードが有機的に制御をすることを目的とし、またその結果、外部状況に適合しつつ、ユーザの好みにあった高度な走行を実現することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、ネットワークに接続された複数の制御ノードと、各制御ノードに制御される制御対象と、を備え、複数の制御ノードが連動して前記制御対象の制御を行う際に、ユーザの操作に応じたユーザパラメータを入力するユーザパラメータ入力部と、外部環境に起因する外部パラメータを入力する外部パラメータ入力部と、制御特性毎にそれぞれ設定されて、前記ユーザパラメータと外部パラメータとから各制御対象の内部パラメータを求める複数の目的関数と、前記複数の目的関数に対して、ユーザの制御指標を示すポリシーをそれぞれ設定するポリシー設定部と、前記ポリシーに基づいて、前記複数の目的関数の重み付けを行い、当該ポリシーに合致するように前記内部パラメータを前記複数の目的関数間で最適（最小あるいは最大）となるように調整するパラメータ調整部と、前記パラメータ調整部で得られた内部パラメータを、当該内部パラメータに対応する制御ノードに指令する出力部とを備える。
【００１５】
これにより、ユーザパラメータと外部パラメータを目的関数に与えると、ポリシーに基づいて目的関数の重み付けを行った上で、複数の目的関数間で最適となる内部パラメータを自動的に調整することができる。
【発明の効果】
【００１６】
したがって、本発明は、運転に係るポリシーを入力しておくことで、複数の制御ノードが連動する複雑なパラメータ設定を自動的に行うことができ、その結果、ユーザの好みに合った走行を容易に行うことができ、また、複数の目的関数に対して、両方をバランスよく満足するような内部パラメータを自動的にチューニングすることが可能になる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【００１８】
図１は本発明を車両に適用した場合の一例を示し、車両の各制御系を示すブロック図で、図２は、車両の各機器の構成を示すブロック図である。
【００１９】
図１、図２において、車両１００には、エンジン２００の制御を行うエンジン制御ノード２、電子制御スロットル２０１の制御を行うスロットル制御ノード３、変速機３００の制御を行う変速機制御ノード４、車輪のロックを回避するＡＢＳ（Antilock Brake System）制御ノード５、懸架装置の制御を行うサスペンション制御ノード６、ＧＰＳ（GLOBAL POSITIONNING SYSTEM）等を用いて車両の位置、走行環境を検出し表示装置１１に表示するナビゲーションノード（ナビゲーションシステム）８、運転状態に応じて前輪１０１と後輪１０２の操舵角をそれぞれ制御する操舵制御ノード９、衝突安全性を確保するためエアバッグ１４等の制御を行う安全性制御ノード１０が搭載される。
【００２０】
これらの各制御ノードは、ＣＰＵ、ＲＡＭ、ＲＯＭなどを含むＥＣＵ（Electronic Control Unit）で構成され、ネットワーク（例えば、ＣＡＮ＝Controller Area Network）１５を介してポリシー分析・操作量生成ノード（以下、ポリシーノードという）１に接続される。
【００２１】
ポリシーノード１は、運転者が設定したポリシー（指標）に合致するように、運転状態に応じた操作量指令値を演算し、各制御ノードへ指令する。上記各制御ノードは、ポリシーノード１から受信した操作量指令値に基づいて各機器（アクチュエータなど）の制御を行い、車両１００の運転状態を運転者が望むポリシーに合致させる。
【００２２】
つまり、ポリシーノード１は、各制御ノードのＥＣＵを運転者が希望するポリシーに基づいて統合的に制御する上位のＥＣＵとして機能し、各制御ノードのＥＣＵはポリシーノード１の下で並列的に動作する下位のＥＣＵとして機能する。
【００２３】
ポリシーノード１には、車両１００の運転状態を検出する各種センサがネットワーク１５を介して接続される。これらのセンサは、運転者の操作状態を検出するユーザセンサと、車両１００の走行状態を検出するセンサと、車両１００の走行環境を検出するセンサに大別される。
【００２４】
ユーザセンサとしては、図２に示すように、アクセルペダルの踏み込み量などに基づいて加減速操作を検出するアクセル操作量センサＳ１、ブレーキペダルの踏み込み量などに基づいて制動または減速操作を検出するブレーキ操作量センサＳ２、ハンドルの操舵角を検出する操舵角センサＳ３、変速モードやシフトレバーの位置を検出するシフト位置センサＳ４が配設される。
【００２５】
車両１００の走行状態を検出するセンサとしては、図２に示すように、車輪の速度を検出する車輪速センサＳ１０、Ｓ１１、車体の前後加速度または横加速度を検出する加速度センサ（図示省略）等が配設される。
【００２６】
車両１００の走行環境を検出するセンサとしては、図２に示すように、前方の車両や障害物までの距離の検出を行うミリ波レーダＳ５、未舗装路や凍結路、ドライまたはウエット等の路面の状態（路面抵抗など）を検出する路面センサＳ６、車体前方の画像を撮影して周囲の環境（路面勾配や路面の屈曲度）を検知する車載カメラＳ７、外気の温度を検出する外気温センサＳ８、車外の風速を検出する風速センサＳ９等が配設される。
【００２７】
なお、ナビゲーションノード８は、走行環境を検出してポリシーノード１へ入力するのに加え、地図情報に基づいて走行中の道路の制限速度、騒音や排出ガスの規制値など、法令などによる走行条件を検出し、ポリシーノード１へ入力するようにしてもよい。また、ナビゲーションノード８は、無線通信等により周囲の交通状況（渋滞情報、規制情報）を走行環境として取得し、また、現在の位置の道路の種別（一般道路や高速道路）を走行環境として取得して、ポリシーノード１へ入力することができる。なお、地図情報は、ストレージ装置１６に格納されていても良いし、無線通信などによりデータセンターなどから随時取得するようにしても良い。
【００２８】
次に、ネットワーク１５には、イグニッションキー（ポリシーキー）１３（図１参照）に格納されたポリシーデータを読み書きするリーダライタ１２が接続される。このリーダライタ１２は、車両の鍵穴に配置されるものである。後述するように、イグニッションキー１３には、運転者に固有のポリシーデータが格納されており、イグニッションキー１３を挿入したときに、ポリシーノード１がポリシーデータを読み込んで、これを運転者のポリシーとして設定することが可能である。そして、車両１００でポリシーを変更した場合にはイグニッションキー１３へポリシーデータを書き込むことで、運転者に固有のポリシーデータを保存することができる。
【００２９】
また、表示装置１１はネットワーク１５に接続されて、ナビゲーションノード８やポリシーノード１からの情報を表示するのに加え、タッチパネルなどの入力部を備えて、後述するポリシーの入力等を行う。
【００３０】
以上のような各種センサからの入力と、イグニッションキー１３等から入力されたポリシーデータを受けたポリシーノード１は、ストレージ装置１６に格納された目的関数に、上記ユーザセンサからの運転者の操作量（ユーザパラメータ）と、車両１００の走行状態及び走行環境に基づく外部パラメータと、各制御ノードの内部パラメータ（操作指令値）とをポリシーデータに基づいて後述するようにチューニングし、操作量指令値を演算して各制御ノードに指令する。
【００３１】
ポリシーノード１は、後述するように、チューニングを行った結果としてポリシーに合致するような内部パラメータを演算して、各制御ノードへ指令する。
【００３２】
ここで、各制御ノードで行われる制御の一例について、図１及び図２を参照しながらそれぞれ説明する。なお、図２においては、図面を簡易にするため各制御ノードを省略しているが、各制御ノードは、ポリシーノード１及び制御対象の機器と、図１に示したように接続されているものである。
【００３３】
１．エンジン制御ノード
エンジン制御ノード２では、エンジン制御アクチュエータ２０を介してエンジン２００の出力を制御する。エンジン制御アクチュエータ２０は、例えば、燃料噴射弁で構成される場合、エンジン制御ノード２は、ＲＯＭに予め格納されたソフトウェアにより燃料噴射量を演算し、開弁期間を制御する。
【００３４】
ポリシーノード１が、エンジン制御ノード２へ目標駆動力（またはトルク）とスロットル開度を指令する場合、エンジン制御ノード２は、内部パラメータとして図示しないクランク角センサから検出したエンジン回転速度と、受信した目標駆動力及びスロットル開度に応じて燃料噴射量を演算し、上述のようにエンジン制御アクチュエータ２０を制御する。
【００３５】
なお、ポリシーノード１は、燃料噴射量をエンジン制御ノード２に指令するようにしても良い。
【００３６】
２．スロットル制御ノード
スロットル制御ノード３は、ＲＯＭに予め格納されたソフトウェアにより、サーボモータなど構成されたスロットル制御アクチュエータ２１を駆動して、ポリシーノード１が指令したスロットル開度となるように、電子制御スロットル２０１の開度を制御する。
【００３７】
なお、ポリシーノード１が、スロットル制御ノード３に対して吸入空気量を指令しても良く、この場合、スロットル制御ノード３は、ＲＯＭに予め格納されたソフトウェアにより、エンジン回転速度と図示しないエアフローメータの検出値などに基づいてスロットル開度を演算し、スロットル制御アクチュエータ２１を駆動すればよい。エンジン回転速度の検出は、エンジン２００のクランク角センサ（図示省略）から直接読み込んでも良いし、あるいは、エンジン制御ノード２やポリシーノード１から受信するようにしてもよい。
【００３８】
３．変速機制御ノード
変速機制御ノード４は、ＲＯＭに予め格納されたソフトウェアにより、ステップモータやデューティソレノイド弁などで構成されたトランスミッション制御アクチュエータ２１を駆動して、ポリシーノード１が指令した変速比（または目標入力軸回転数）となるように変速機３００を制御する。
【００３９】
なお、ポリシーノード１が、目標駆動力を指令する場合では、エンジン２００からの入力と車速（車輪速センサの出力）に基づいて、変速機制御ノード４は目標変速比または目標入力軸回転数を演算して、トランスミッション制御アクチュエータ２１を駆動すればよい。
【００４０】
４．ＡＢＳ制御ノード
ＡＢＳ制御ノード５は、ＲＯＭに予め格納されたソフトウェアにより、油圧制御弁などで構成されるブレーキ制御アクチュエータ５０〜５３を駆動して、ポリシーノード１から指令された各車輪のスリップ率または制動力となるように制御する。
【００４１】
なお、各車輪毎に独立した制動力の制御は、車両が過度のオーバーステアやアンダーステアになるのを防ぐために、車両のヨーレートなどを制御する、いわゆるスタビリティコントロールである。
【００４２】
５．サスペンション制御ノード
サスペンション制御ノード６は、ＲＯＭに予め格納されたソフトウェアにより、流体圧制御弁などで構成されるサスペンション制御アクチュエータ６０〜６３を駆動して、ポリシーノード１から指令されたダンパの減衰力、バネ定数、車高となるように制御を行う。
【００４３】
ポリシーノード１は、路面センサがＳ６が検出した路面状態の変化に応じて減衰力やバネ定数を変更したり、車体の応答性を高めるポリシーが設定された場合には、減衰力及びバネ定数を大きくし、逆に、乗り心地を高めるポリシーが設定された場合には、減衰力やバネ定数を低下させるようにサスペンション制御ノード６に指令する。
【００４４】
また、ポリシーノード１は、制動時のノーズダイブや加速時のスクワットを抑制するため、各車輪毎に減衰力やバネ定数の指令値を変更して、車体の姿勢を維持する制御を行う。
【００４５】
６．操舵制御ノード
操舵制御ノード９は、ＲＯＭに予め格納されたソフトウェアにより、モータ等で構成される舵角アクチュエータ９０、９１を駆動して、ポリシーノード１から指令された操舵角となるように制御を行う。
【００４６】
ポリシーノード１は、車体の応答性を高めるポリシーが設定された場合には、旋回性能を向上させるため、ヨーレートの立ち上がりが迅速になるよう前輪と後輪の操舵角を逆相としたり、逆に、乗り心地を高めるポリシーが設定された場合には、ヨーレートの立ち上がりが緩やかになるよう前輪と後輪の操舵角が同相となるように指令を行う。
【００４７】
７．安全管理ノード
安全管理ノード１０は、ＲＯＭに予め格納されたソフトウェアにより、ポリシーノード１から作動指令があったときには、流体圧制御弁等を含むエアバッグシステム１４を駆動してエアバッグを進展し、乗員の保護を行う。
【００４８】
なお、以上の各制御ノードで行われる制御は、あくまで一例であり、上記に限定されるものではない。
【００４９】
また、車両１００が４輪駆動の場合では、図示はしないが、前後輪１０１、１０２への駆動力配分比率を変更する駆動力配分機構を設け、走行状態や路面状態に応じて前後輪１０１、１０２への駆動力を変更することができる。この場合、駆動力配分機構を制御する駆動力配分制御ノード（図示省略）を設けて、ポリシーノード１から操作量指令値を受信し、駆動力配分の制御を行うことができる。
【００５０】
＜イグニッションキー＞
次に、運転者毎の運転指標であるポリシーを格納可能なイグニッションキー１３の構成について、図３を参照しながら説明する。
【００５１】
イグニッションキー１３には、ポリシーデータを格納するためのメモリ１３０が設けられる。このメモリ１３０は、読み書き可能で、かつ記憶保持動作が可能な記憶素子（例えば、フラッシュメモリ、Ｅ2ＰＲＯＭ）で構成され、信号線１３４を介してデータ入出力インターフェース１３３に接続される。
【００５２】
また、イグニッションキー１３には、ＯＮ／ＯＦＦ操作が可能なスイッチ１３１が配置され、信号線１３５を介して命令入出力インターフェース１３２に接続される。
【００５３】
イグニッションキー１３を車両の鍵穴に挿入すると、ネットワーク１５と上記インターフェース１３２、１３３が接続される。この状態で、ポリシーノード１は、リーダライタ１２を介してメモリ１３０の内容を読み書き可能となる。また、後述するように、ポリシーノード１が運転者へポリシーデータの保存を問いかけたときには、スイッチ１３１を操作することで、運転者が車両で設定したポリシーデータをイグニッションキー１３のメモリ１３０に書き込み、維持することができる。
【００５４】
また、一つの車両１００に対して複数のイグニッションキー１３を作成し、運転者毎にイグニッションキー１３を配布して、各運転者のポリシーデータをメモリ１３０にそれぞれ格納しておけば、運転者毎に異なるセッティング（車両状態）で運転を行うことが可能となる。
【００５５】
＜ポリシーノードの概要＞
次に、ポリシーノード１で行われる制御の概要について、以下に説明する。
【００５６】
ポリシーノード１は、イグニッションキー１３等から入力されたポリシーデータに基づいて、ストレージ装置１６に格納された目的関数に重み付けを行う。
【００５７】
そして、上記ユーザセンサからの運転者の操作量（ユーザパラメータ）と、車両１００の走行状態及び走行環境に基づく外部パラメータと、各制御ノードの内部パラメータとを目的関数に設定する。
【００５８】
ユーザパラメータと外部パラメータを入力として、目的関数の値が最小あるいは最大となるように、内部パラメータの演算（チューニング）を行う。そして、この演算結果を操作量指令値として各制御ノードに与える。
【００５９】
ここで、各パラメータについて説明する。
【００６０】
目的関数に与える、ユーザパラメータ、外部パラメータ、内部パラメータは、次の通りである。
【００６１】
・ユーザパラメータは、ユーザ（運転者）が直接操作するパラメータであり、例えば、アクセル操作量やハンドル舵角である。このユーザパラメータは、ユーザークリティカルパラメータ（Ｕser's Ｃritical Ｐarameter、以下、ＵＣＰという）と呼ぶ。
【００６２】
・外部パラメータは、ユーザが制御することはできず、かつ制御対象の機器に影響を与えるパラメータであり、例えば、外気温、路面勾配などである。すなわち、車両の性能に影響を与えるパラメータである。この外部パラメータは、エクスターナルクリティカルパラメータ（eＸternal Ｃritical Ｐarameter、以下、ＸＣＰという）と呼ぶ。
【００６３】
・内部パラメータは、ユーザが直接制御できず、各制御ノードの内部構造が決めるパラメータで、例えば、エンジンの燃料噴射量やサスペンションのバネ定数である。この内部パラメータを内部クリティカルパラメータ（Ｉnertial Ｃritical Ｐarameter、以下、ＩＣＰという）と呼ぶ。
【００６４】
例えば、目的関数Ｆとして「燃費」、ＵＣＰとして「アクセル操作量」、ＸＣＰとして「車輪速度」、ＩＣＰとして「エンジン燃料噴射量」とすると、パラメータのチューニングとは、「ユーザの与えるアクセル操作量と、現在走行中の車輪速度を条件として、燃費を最小化するようにエンジン燃料噴射量を調整すること」となる。
【００６５】
次に、ユーザのポリシーを記述する方式を以下のように定義する。
【００６６】
第一に、目的関数を複数用意する。例えば目的関数Ｆ１として「燃費」、目的関数Ｆ２として「ＮＯｘ排出量」とする。
【００６７】
第二に、ユーザのポリシーを「Ｆ１とＦ２のどちらをどの程度優先するか、の重み付けの値」と定義する。例えば、Ｆ１：Ｆ２＝４：３等とする。
【００６８】
第三に、目的関数Ｆ１とＦ２を上記の３つのパラメータで記述する。
【００６９】
Ｆ１ ＝ Ｆ１（ＵＣＰ，ＸＣＰ，ＩＣＰ）
Ｆ２ ＝ Ｆ２（ＵＣＰ，ＸＣＰ，ＩＣＰ）
上記で定義したユーザのポリシーと、ＵＣＰ、ＸＣＰを入力として、「組合せ最適化問題」として、上記のパラメータのチューニングを実施する。即ち、ＵＣＰ、ＸＣＰの値を与えた、Ｆ１：Ｆ２＝４：３という重み付けを行った上で最適となるＩＣＰを求める。
【００７０】
ここで、上記組合せ最適化問題の解法としては、本願出願人が提案した特開２０００−２７６４５４号公報の第５頁に開示されるように、上記目的関数Ｆを多項式として展開し、最小２乗法と呼ばれる統計処理手法により、ＵＣＰ、ＸＣＰ、ＩＣＰと、これらのパラメータに対応する実行結果から、多項式の係数を決定するものが知られている。
【００７１】
また、ポリシーノード１では、各制御ノードを統括する制御を行うことができ、例えば、駆動輪の空転を防止するトラクションコントロールや、車両１００の安定性を確保するＶＳＣ（Vehicle Stability Control）を行う。
【００７２】
トラクションコントロールは、例えば、車輪速と車体速（ナビゲーションノード８等の検出値）から駆動力の空転を検出すると、エンジン制御ノード２及びスロットル制御ノード３へトルクダウンを指令するとともに、ＡＢＳ制御ノード５に空転した車輪の制動を指令する。
【００７３】
ＶＳＣは、旋回中の車両が過大なオーバーステアやアンダーステアとなる場合に、ＡＢＳ制御ノード５及び操舵制御ノード９にヨーレートが適正値となるように、各車輪の制動を指令するとともに、エンジン制御ノード２及びスロットル制御ノード３に駆動力が最適となるように指令する。
【００７４】
（Ａ）目的関数
次に、目的関数の設定例を以下に示し、一例として、６つの目的関数Ｆ１，Ｆ２，Ｆ３，Ｆ４，Ｆ５，Ｆ６を設ける場合を示す。なお、これら目的関数Ｆ１〜Ｆ６は、目的関数群を構成する。
【００７５】
まず、目的関数Ｆ１は、可制御性（レスポンス性・アクティブセーフティ）とし、運転操作に対する車両１００の応答性とする。この目的関数Ｆ１の値（操作指令値＝ＩＣＰ）としては、目標駆動力（燃料噴射量及び変速比）や操舵角などである。可制御性を高くするポリシーが設定されれば、目標駆動力を高く（燃料噴射量＝大、変速比＝Ｌｏ側）して加速性を確保し、後輪の操舵角をヨーレートが素速く立ち上がるように逆相操舵を主体とするＩＣＰを得る。一方、可制御性を低くするポリシーが設定されれば、目標駆動力を低く（燃料噴射量＝小、変速比＝Ｈｉ側）し、後輪の操舵角をヨーレートが緩やかに立ち上がるように同相操舵を主体とするＩＣＰを得る。
【００７６】
目的関数Ｆ２は、安全性（パッシブセーフティ）とし、衝突後の安全性（後安全性という）とする。この目的関数Ｆ２の値としては、サスペンションの高さ、バネ定数、減衰力
、エアバッグの作動流体の圧力などである。サスペンションは荷重の位置を変えるため、車体全体の剛性に影響を与えるからである。
【００７７】
目的関数Ｆ３は、燃費（Km／ｌ）とする。この目的関数Ｆ３の値としては、目標駆動力（燃料噴射量及び変速比）である。燃費を向上させるポリシーが設定されれば、目標駆動力を低く（燃料噴射量＝小、変速比＝Ｈｉ側）して燃費の向上を図るＩＣＰを得る。一方、燃費を低くするポリシーが設定されれば、目標駆動力を高く（燃料噴射量＝大、変速比＝Ｌｏ側）し、燃費は悪化するが加速性を向上させるＩＣＰを得る。ただし、燃費を低くした場合は、法令等で規制される値を限度としてＩＣＰを制限する。
【００７８】
目的関数Ｆ４は、排出ガス中の有害物質排出量（mm3）とする。この目的関数Ｆ４の値としては、エンジン回転速度、吸入空気量、燃料噴射量及び変速比である。有害物質排出量を低下させるポリシーが設定されれば、エンジン回転速度、吸入空気量、燃料噴射量を低くするＩＣＰを得る。一方、有害物質排出量を悪化するポリシーが設定されれば、目標駆動力を高く（燃料噴射量＝大、変速比＝Ｌｏ側）し、エンジン回転速度、吸入空気量、燃料噴射量を高くするＩＣＰを得る。ただし、有害物質排出量を高くした場合は、法令等で規制される値を限度としてＩＣＰを制限する。
【００７９】
目的関数Ｆ５は、静粛性（ｄｂ）とする。この目的関数Ｆ５の値としては、エンジン回転速度とサスペンションのバネ定数、減衰力である。静粛性を向上させるポリシーが設定されれば、エンジン回転速度を低く、ダンパの減衰力及びバネ定数を低くするＩＣＰを得る。一方、静粛性を低下するポリシーが設定されれば、エンジン回転速度は高く、ダンパの減衰力及びバネ定数を高くするＩＣＰを得る。ただし、騒音の制限値が法令等で規制される値を限度としてＩＣＰを制限する。
【００８０】
目的関数Ｆ６は、乗り心地（乗員の各重心点での変位、回転角、速度、角速度あるいは加速度）とする。この目的関数Ｆ６の値としては、サスペンションのバネ定数、減衰力、ステアリングの操舵角である。乗り心地を向上させるポリシーが設定されれば、ダンパの減衰力及びバネ定数を低くし、ヨーレートの立ち上がりが緩やかになるよう前輪と後輪の操舵角が同相となるようなＩＣＰを得る。一方、乗り心地を低下するポリシーが設定されれば、ダンパの減衰力及びバネ定数を高くし、ヨーレートの立ち上がりが迅速になるよう前輪と後輪の操舵角が逆相となるようなＩＣＰを得る。
【００８１】
（Ｂ）パラメータの設定
次に、ユーザパラメータであるＵＣＰ、外部パラメータであるＸＣＰ、内部パラメータであるＩＣＰの設定について以下に説明する。
【００８２】
ユーザの入力値であるＵＣＰは、例えば、次のように定義する。
・ＵＣＰ−１  アクセル操作量＝アクセル操作量センサＳ１の検出値。
・ＵＣＰ−２  ブレーキ操作量＝ブレーキ操作量センサＳ２の検出値。
・ＵＣＰ−３  シフト位置＝シフト位置センサＳ４の検出値。
・ＵＣＰ−４  ハンドルの操舵角＝操舵角センサＳ３の検出値。
【００８３】
次に、車両１００の走行状態及び走行環境に基づく外部パラメータの入力値であるＸＣＰは、例えば、次のように定義する。
・ＸＣＰ−１  前方車両距離＝ミリ波レーダーＳ５の検出値。
・ＸＣＰ−２  車輪速度＝車輪速センサＳ１０、Ｓ１１の検出値。
・ＸＣＰ−３  外部気温＝外気温センサＳ８の検出値。あるいは、ナビゲーションノード８が道路情報システムから受信した値でもよい。
・ＸＣＰ−４  外部風速＝風速センサＳ９の検出値。あるいは、ナビゲーションノード８が道路情報システムから受信した値でもよい。
・ＸＣＰ−５  路面抵抗＝路面センサＳ６の検出値。あるいは、ナビゲーションノード８が道路情報システムから受信した値でもよい。
・ＸＣＰ−６  路面上下角度（勾配）＝車載カメラＳ７の検出値。あるいは、ナビゲーションノード８が演算した地図情報に基づく値でもよい。
・ＸＣＰ−７  道路蛇行度（屈曲度）Ｒ＝車載カメラＳ７の検出値。あるいは、ナビゲーションノード８が演算した地図情報に基づく値でもよい。
・ＸＣＰ−８  交通量あるいは渋滞度＝ナビゲーションノード８が道路情報システムから受信した値。あるいは、車載カメラＳ７からの画像を認識した値であってもよい。
・ＸＣＰ−９  制限速度＝ナビゲーションノード８が道路情報システムから受信した値。あるいは、ナビゲーションノード８が地図情報に基づいて取得した値であってもよい。
・ＸＣＰ−１０  制限排気量＝ナビゲーションノード８が道路情報システムから受信した値。あるいは、ナビゲーションノード８が地図情報に基づいて取得した値であってもよい。
・ＸＣＰ−１１  制限騒音＝ナビゲーションノード８が道路情報システムから受信した値。あるいは、ナビゲーションノード８が地図情報に基づいて取得した値であってもよい。
【００８４】
次に、各制御ノードの内部パラメータであり、ポリシーノード１が出力するＩＣＰは、例えば、以下のように定義する。
・ＩＣＰ−１  エンジン回転速度＝エンジン制御ノード２からの値（クランク角センサの検出値）。
・ＩＣＰ−２  エンジン吸気量＝電子スロットル制御ノード３からの値（エアフローメータの検出値）。
・ＩＣＰ−３  エンジン燃料噴射量＝エンジン制御ノード２からの値。
・ＩＣＰ−４  変速比＝（操舵装置可変ギア比）トランスミッション制御システム。
・ＩＣＰ−５  前輪蛇角（ＩＣＰ５−ｒｉｇｈｔ／ＩＣＰ５−ｌｅｆｔ）＝操舵制御ノード９からの値。
・ＩＣＰ−６  後輪蛇角（ＩＣＰ６−ｒｉｇｈｔ／ＩＣＰ６−ｌｅｆｔ）＝操舵制御ノード９からの値。
・ＩＣＰ−７  前輪蛇角アクチュエータ９０のパワーステアリング油圧またはアシスト量＝操舵制御ノード９からの値。
・ＩＣＰ−８  後輪蛇角アクチュエータ９１のパワーステアリング油圧＝操舵制御ノード９からの値。
・ＩＣＰ−９  駆動力配分比率＝駆動力配分制御ノードからの値。
・ＩＣＰ−１０  ブレーキポンプ油圧＝ＡＢＳ制御ノードからの値。
・ＩＣＰ−１１  サスペンション長＝サスペンション制御ノード６からの値。
・ＩＣＰ−１２  サスペンション・バネ定数＝サスペンション制御ノード６からの値。
・ＩＣＰ−１３  サスペンション・減衰定数＝サスペンション制御ノード６からの値。
・ＩＣＰ−１４  エアバッグ噴射空気量＝安全管理ノード１０からの値。
以上のように、ＵＣＰ、ＸＣＰ、ＩＣＰを定義する。
【００８５】
（Ｃ）目的関数とパラメータの設定
次に、上記（Ａ）で定義した目的関数と、上記（Ｂ）で定義した各パラメータの関係を決定し、目的関数Ｆ１〜Ｆ６を定義する。
【００８６】
目的関数Ｆ１〜Ｆ６は、常に全てのＵＣＰ、ＸＣＰ、ＩＣＰを利用するのではなく、各目的関数Ｆがチューニングする車両特性に応じて、適宜選択し、各目的関数Ｆに設定すればよい。
【００８７】
例えば、図４の組み合わせテーブルで示すように、各目的関数Ｆで使用するＵＣＰ、ＸＣＰ、ＩＣＰを適宜設定する。
【００８８】
可制御性を示す目的関数Ｆ１では、一例として、全てのＵＣＰ−１〜ＵＣＰ−４と、外気温ＸＣＰ−３を除くＸＣＰ、エアバッグ噴射空気量ＩＣＰ−１４を除くＸＣＰを設定する。後安全性を示す目的関数Ｆ２では、入力として前方車両距離ＸＣＰ−１、車輪速ＸＣＰ−２、道路蛇行度ＸＣＰ−７のみを用いて、エアバッグ噴射空気量ＩＣＰ−１４、サスペンションの長さ、バネ定数、減衰定数ＩＣＰ−１１〜１３を制御する。
【００８９】
同様にして、燃費を示す目的関数Ｆ３、排気性能を示す目的関数Ｆ４、静粛性を示す目的関数Ｆ５、乗り心地を示す目的関数Ｆ６に、入力として必要なＵＣＰ、ＸＣＰと出力するＩＣＰを定義し、目的関数Ｆ１〜Ｆ６の設定を行っておく。
【００９０】
（Ｄ）ポリシーの適用
イグニッションキー１３に格納されたポリシーデータや、表示装置１１などから入力されたポリシーデータに基づいて、ポリシーノード１は上記目的関数Ｆ１〜Ｆ６の重み付けを行うことで、ポリシーを適用する。
【００９１】
イグニッションキー１３からポリシーデータを入力した場合や、運転者がポリシーを設定する指令を行った場合には、図５で示すように、目的関数Ｆ１〜Ｆ６毎にポリシーを設定する画面が表示装置１１に表示される。
【００９２】
運転者は表示装置１１のタッチパネルなどを操作することで、各目的関数Ｆ１〜Ｆ６のポリシーを変更することができる。この場合では、イグニッションキー１３からポリシーデータを読み込んだ直後の状態を示す。
【００９３】
目的関数Ｆ１〜Ｆ６に適用するポリシーデータは、「１」〜「５」の範囲の数値を設定することで設定でき、数値が大きくなるほど各目的関数Ｆ１〜Ｆ６に対応する車両１００の性能が増大し、数値が小さくなるほど各目的関数Ｆ１〜Ｆ６に対応する車両の性能は低下する。そして、所定の値（例えば、３）が標準値として設定される。
【００９４】
例えば、目的関数Ｆ１の可制御性は、「３．６」に設定されているので、標準よりもやや応答性の高い設定となっている。一方、後安全性は「１．８」であるので標準値よりも低い設定となっている。
【００９５】
また、一例として、状況に応じたポリシーの適用例を以下に示す。
・安全性と同乗者の乗り心地を優先する走行ポリシー
[F1, F2, F3, F4, F5, F6]＝[2:4:1:2:3:4]
後安全性と乗り心地を優先して大きく設定し、燃費を犠牲にして安全性を取る場合である。
・走行性を重視する走行ポリシー
[F1, F2, F3, F4, F5, F6]＝[5:1:2:2:1:1]
可制御性を最優先として他を犠牲にし、応答性を高める場合である。
・ＶＩＰを同上させる場合の走行ポリシー
[F1, F2, F3, F4, F5, F6]＝[1:5:1:1:5:5]
後安全性と静粛性及び乗り心地を優先する場合である。
【００９６】
以上のように、各目的関数Ｆ１〜Ｆ６に対して、任意のポリシーを設定することができる。
【００９７】
（Ｅ）組み合わせ最適化問題の演算
ここで、組み合わせ最適化問題の解法と、複数の目的関数とポリシーの適用について、図６を参照しながら説明する。
【００９８】
図６（Ａ）はポリシーを適用せずに、燃費を示す目的関数Ｆ３を関数ＦＸ−１と、排気性能を示す目的関数Ｆ４を関数ＦＸ−２として、最適なＩＣＰを得る場合について検討する。
【００９９】
ここでは、説明を簡易にするため、ＦＸ−１、ＦＸ−２には、ＵＣＰとＸＣＰを固定値として与え、燃料噴射量ＩＣＰ−３を出力するものとする。燃費の関数ＦＸ−１（ＩＣＰ）は、燃料噴射量が増大するにつれて燃費が低下する特性を示し、排気性能の関数ＦＸ−２は、燃料噴射量が増大するにつれて排気性能が悪化（ガス排出量の増大）する特性を示す。関数ＦＸ−１は燃費が最大となる燃料噴射量ＩＣＰ−３を検索し、関数ＦＸ−２は排気性能が最良（排出量が最小）となるＩＣＰ−３を検索する。
【０１００】
したがって、これら２つの関数ＦＸ−１、２の組み合わせ最適化問題は、関数Ｆ１−Ｘが最大で、関数ＦＸ−２が最小となるＩＣＰ−３を検索すればよいことになる。つまり、図６（Ａ）で関数ＦＸ−１とＦＸ−２が交差する点Ｘ’の値が最適な燃料噴射量ＩＣＰ−３となる。
【０１０１】
次に、上記関数ＦＸ−１（ＩＣＰ−３）と、関数ＦＸ−２（ＩＣＰ−３）にポリシーを反映させた場合を図６（Ｂ）に示す。燃費に関する関数ＦＸ−１にポリシーｆ−１を適用し、排気性能に関する関数ＦＸ−２にポリシーｆ−２を適用する。
【０１０２】
ポリシーｆ−１を適用した新たな関数をＧＸ−１とし、
ＧＸ−１＝ＦＸ−１（ＩＣＰ）／ｆ−１      ………（１）
同じくポリシーｆ−２を適用した新たな関数をＧＸ−２とし、
ＧＸ−２＝ＦＸ−２（ＩＣＰ）／ｆ−２      ………（２）
とする。ただし、ｆ−１＞１、ｆ−２＞１である。
【０１０３】
ポリシーｆ−１、ｆ−２を反映させた結果、関数ＧＸ−１で与えられる燃費特性と、関数ＧＸ−２で与えられる排気性能は、図中実線で示すようになり、ポリシー適用前の図中点線の特性に対して低いものとなる。
【０１０４】
そして、最適化問題は上記図６（Ａ）と同様にして、最小の燃費かつ最大の排気性能となるＩＣＰは、関数ＧＸ−１とＧＸ−２の交点に対応するＸとなる。
【０１０５】
以上のように、複数の目的関数Ｆに対してポリシー（各目的関数の重み付け係数）を適用して、ＵＣＰとＸＣＰを入力として各関数が最適な値となるＩＣＰを選択すればよい。
【０１０６】
なお、実際には上記図４のように、一つのＩＣＰに対して複数の目的関数Ｆが関与する場合（例えば、燃料噴射量ＩＣＰ−３は、目的関数Ｆ１、目的関数Ｆ３〜Ｆ６で演算される）があるが、この場合には、各目的関数Ｆに対して与えられたポリシー（重み付け）に準じた加重平均値や、ポリシーの大きさに応じた代表値を選択すればよい。
【０１０７】
例えば、上記走行性を重視する走行ポリシーにおいて、
[F1, F2, F3, F4, F5, F6]＝[5:1:2:2:1:1]
とポリシーを設定した場合、燃料噴射量ＩＣＰ−３について考えると、上記図４より、目的関数Ｆ２を除く、Ｆ１、Ｆ３〜Ｆ６よりＩＣＰ−３が演算される。ここで、５つの目的関数に与えられたポリシーの和と、各ポリシーの比を按分比として加重平均を、出力するＩＣＰ−３とすることができる。
【０１０８】
あるいは、上記図６（Ｂ）のように、ポリシーの値が大きい目的関数を複数（例えば、２つ）選択し、これらの代表的な目的関数に基づいてＩＣＰを演算してもよい。この場合、ポリシーノード１の演算負荷を大幅に低減することができる。
【０１０９】
次に、運転者の操作入力であるＵＣＰと、制御対象の各制御ノードで用いられるＩＣＰに加えて、車両１００の外部パラメータであるＸＣＰを変化させたときのＩＣＰの変化について、図７を参照しながら説明する。
【０１１０】
図７は、上記図６（Ｂ）の排気性能に関する目的関数ＦＸ−２のＸＣＰを、外気温（ＸＣＰ−３）とし、この外気温を−１０°Ｃ、２０°Ｃ、５０°Ｃに変化させ、ＵＣＰについては固定としたものである。なお、燃費に関する目的関数ＦＸ−１については、上記図６と同じくＵＣＰとＸＣＰを固定とした。
【０１１１】
そして、上記図６（Ｂ）と同様に、目的関数ＦＸ−１にポリシーを適用したものを関数ＧＸ−１とし、目的関数ＦＸ−２にポリシーを適用したものを関数ＧＸ−２とした。
【０１１２】
関数ＧＸ−１はＵＣＰとＸＣＰを固定しているので、燃費に対する燃料噴射量ＩＣＰ−３が出力される。一方、外気温ＸＣＰ−３を−１０°Ｃから、２０°Ｃ、５０°Ｃと増大するにつれて、排気性能は向上する。
【０１１３】
排気性能の特性がＸＣＰの変化に伴うため、関数ＧＸ−１と関数ＧＸ−２の最適解は、−１０°Ｃのときに図中ｘ１、２０°Ｃのときに図中ｘ２、５０°Ｃのときにｘ３となり、外気温の上昇に応じて、最適化問題の解であるＩＣＰ−３が増大することが分かる。
【０１１４】
以上のように、ＵＣＰとＩＣＰに加えてＸＣＰを入力として与えることで、車両の外部環境の変化に応じて的確な操作指令値を求めることができる。つまり、外部環境の変化にかかわらず、パラメータの最適なチューニングを自動的に行うことができるのである。また、ＵＣＰとＸＣＰにポリシーを加えることで、外部環境と車両の性能に加えて運転者の趣向を加味したパラメータのチューニングを実現でき、複数の制御ノードが並列動作する装置において、最適なパラメータ（操作指令値）を自動的に得ることが可能となるのである。
【０１１５】
＜ポリシーノードの制御＞
次に、ポリシーノード１における制御の詳細について、フローチャートを参照しながら詳述する。
【０１１６】
図８はポリシーノード１で行われる制御のメインルーチンである。まず、Ｓ２０では、鍵穴にイグニションキー１３が挿入されると、リーダライタ１２はイグニションキー１３のメモリからポリシーデータを読み込み、Ｓ２１では上記目的関数Ｆ１〜Ｆ６（可制御性、後安全性、燃費、排気性能、静粛性、乗り心地）についてポリシーデータに基づく重み付けを行う。
【０１１７】
ここでは、全ての目的関数を用いずに、ポリシーの値の大きな目的関数のみを用いる場合を示す。
【０１１８】
Ｓ２２では、運転の開始によりカウンタＴをリセットしてから、Ｓ２３〜Ｓ２９のループ処理を行う。
【０１１９】
Ｓ２３では、各ＵＣＰ（Ｔ）の入力を行う。上述したようにアクセル操作量センサＳ１からアクセル操作量ＵＣＰ−１の検出値を入力し、ブレーキ操作量センサＳ２から・ブレーキ操作量ＵＣＰ−２の検出を入力し、シフト位置センサＳ４からシフト位置ＵＣＰ−３の検出値を入力し、操舵角センサＳ３からハンドルの操舵角ＵＣＰ−４の検出値を入力する。
【０１２０】
次に、Ｓ２４では、外部環境を示すＸＣＰを各センサから入力する。上記図４で示したように、ＸＣＰ−１（Ｔ）〜−１１（Ｔ）の各値を読み込む。
【０１２１】
Ｓ２５では、ポリシーデータに基づいて使用する目的関数Ｆ１〜Ｆ６から所定数の目的関数を選択し、例えば、ポリシーの値が値が大きな目的関数をＦＸ−１、ＦＸ−２として２つ選択する。
【０１２２】
各目的関数ＦＸ−１、ＦＸ−２にＵＣＰ、ＸＣＰを入力し、上記（Ｅ）で述べたように、組み合わせ最適化問題の演算を行い、運転操作に起因するＵＣＰと外部環境に起因するＸＣＰと、運転者が設定したポリシーを満たす最適のＩＣＰ（Ｔ）を演算し、出力する。Ｓ２６では、各ＩＣＰ（Ｔ）が各制御ノードに送信され、各制御ノードは制御対象であるアクチュエータの駆動を行う。
【０１２３】
Ｓ２７では、目標値として設定されたポリシーに対して、ＦＸ−１、ＦＸ−２の値と実際に出力されたＩＣＰ（Ｔ）とＵＣＰ（Ｔ）、ＸＣＰ（Ｔ）の各値を表示装置１１に表示する。つまり。目標値に対する実際の値を表示する。
【０１２４】
次に、Ｓ２８では上記Ｓ２７のＦＸ−１、ＦＸ−２、ＵＣＰ（Ｔ）、ＸＣＰ（Ｔ）の各値のログをストレージ装置１６に記憶する。
【０１２５】
Ｓ２９ではイグニションキー１３がＯＦＦに操作されて、運転が終了したか否かを判定する。運転が継続される場合には、Ｓ３２へ進んでカウンタＴをインクリメントしてからＳ２３へ戻り、上記処理を繰り返す。
【０１２６】
一方、運転終了であれば、Ｓ３０で予め設定した終了処理（後述する）を行い、Ｓ３１でイグニションキー１３が抜かれて運転が終了する。
【０１２７】
次に、図９は上記図８のＳ２１で行われる処理を示すサブルーチンである。
【０１２８】
Ｓ４０でポリシーデータの入力を開始すると、ポリシーノード１は運転者に対してイグニションキー１３に格納されているポリシーデータを入力するか否かを要求する。この要求は、例えば、表示装置１１に表示しても良いし、あるいは図示しないオーディオ装置から出力することができる。
【０１２９】
この要求に対して、運転者が上記図３で示したイグニションキー１３のスイッチ１３１を操作すれば、イグニションキー１３からポリシーデータを読み込むためにＳ４２へ進む。一方、そうでない場合にはＳ４５に進んで図５で示したようなポリシーデータ入力画面からポリシーデータの入力を行う。
【０１３０】
Ｓ４２ではリーダライタ１２を介して、ポリシーノード１がイグニションキー１３のメモリ１３０からポリシーデータを読み込む。
【０１３１】
Ｓ４３では、図５で示したようなポリシーデータ入力画面に、読み込んだポリシーデータの表示を行う。
【０１３２】
Ｓ４４では、ポリシーデータの変更を行うか否かを運転者の操作に応じて判定し、変更しない場合には、読み込んだポリシーデータを目的関数Ｆ１〜Ｆ６にセットする。一方、運転者が変更を望む場合（表示装置１１のタッチパネルの操作などにより判定する）、Ｓ４５に進んで、図５で示したようなポリシーデータ入力画面を表示し、Ｓ４６〜Ｓ５１のサブルーチンにて、目的関数Ｆ１〜Ｆ６毎にポリシーデータを入力する。
【０１３３】
次に、図１０は上記図８のＳ３０で行われる終了処理のサブルーチンである。
【０１３４】
Ｓ６０では、運転の終了時に、現在の設定のポリシーデータをイグニションキー１３のメモリ１３０に格納するか否かを判定する。この判定は、例えば、運転者がイグニションキー１３のスイッチ１３１を操作したか否かで判定する。運転者がイグニションキー１３へポリシーデータを格納すると判定した場合にはＳ６１に進み、そうでない場合にはＳ６３へ進んで、ポリシーデータのメモリ１３０への格納は行わずに処理を終了する。
【０１３５】
ポリシーデータを格納する場合は、Ｓ６１においてメモリ１３０への格納はポリシーデータに運転中の実際値（実現パラメータ）も格納するか否かを判定する。この判定も上記Ｓ６０と同様に行う。なお、実際値は、運転中に求めたＦＸ−１、ＦＸ−２の値である。
【０１３６】
実際値が不要の場合にはＳ６２へ進んで、ポリシーデータのみをイグニションキー１３のメモリ１３０へ格納する。
【０１３７】
実際値も含む場合には、Ｓ６４へ進んでポリシーデータと実際値をイグニションキー１３のメモリ１３０へ格納して処理を終了する。
【０１３８】
次に、図１１は上記図８のＳ２５で行われる処理のサブルーチンである。
【０１３９】
Ｓ７０では、各目的関数Ｆ１〜Ｆ６に設定されたポリシーの値を優先度として、優先度の高い順に２つの目的関数を選択する。
【０１４０】
Ｓ７１では、選択した目的関数をそれぞれＦＸ−１、ＦＸ−２として設定する。Ｓ７２では、関数ＦＸ−１の優先度をポリシーの値を示すポリシーマップから入力し、この値をｆ−１として設定する。なお、ポリシーマップは、上記図５の目的関数と設定したポリシーの値を対応付けるものである。
【０１４１】
Ｓ７３では、関数ＦＸ−２の優先度をポリシーの値を示すポリシーマップから入力し、この値をｆ−２として設定する
Ｓ７４では、上記図６（Ｂ）で示したように、関数ＦＸ−１に値ｆ−１で重み付けを行ったものを関数ＧＸ−１として設定する。
【０１４２】
Ｓ７５は、上記ＦＸ−１と同様に、関数ＦＸ−２に値ｆ−２で重み付けを行ったものを関数ＧＸ−２として設定する。
【０１４３】
そして、Ｓ７６では、関数ＧＸ−１とＧＸ−２の差の絶対値が最小となるＩＣＰを演算し、この値を操作指令値とする。
【０１４４】
以上の処理により、ドライビングポリシーを予め運転前に入力しておくことで、多数あるＥＣＵ（制御ノード）の複雑なパラメータ設定を自動的に行うことができ、その結果、容易にユーザの好みにあった走行が可能になる。
【０１４５】
また、複数の目的関数に対して、両方をバランスよく満足するような内部パラメータＩＣＰを自動的にチューニングすることが可能になる。
【０１４６】
そしてユーザの指令（操作）、及び外部環境に応じて、ユーザのポリシーに即したＥＣＵの制御パラメータをリアルタイムに定めることができる。従来例では、機器の出荷前までにおおよそパラメータ設定が定められており、ユーザの利用状況に応じたパラメータ調整ができず、あるいは、パラメータ調整が可能であったとしても前記従来例で述べたように、複数の制御ノードが独立して内部パラメータを決定していたため、ユーザのポリシーを満足させるようなバランスは得られない。
【０１４７】
これに対して本願発明では、複数の目的関数に対してポリシーを用いて制御対象（図中アクチュエータ駆動ノード）のパラメータのチューニングを実現することで、ユーザに負担をかけることなく、バランスのとれたＩＣＰを出力でき、ユーザのポリシーに沿った制御状態を創出することが可能となる。
【０１４８】
さらに、製造者等では、製品の生産時にテストするべきパラメータの組合せの数を減らすことができる。つまり、内部パラメータＩＣＰの範囲がポリシーの入力によって範囲を制限されなければ、制御ソフトウェアＡ（パラメータ数Ｎ）と制御ソフトウェアＢ（パラメータ数Ｍ）があった場合、ソフトウェアの連動のパターンとして最悪、Ｎ×Ｍ通りのテストが必要であった。しかし、本発明によって、ポリシーから与えられる値ｆによって求められるＩＣＰの組み合わせの数のテストのみで済ますことができる。よって、生産における工数及び労力を大幅に低減し、生産性を向上させることが可能となるのである。
【０１４９】
また、前記従来例では、各制御ノードにＵＣＰに基づいてＩＣＰを決定するためのマップやテーブルなどを設けていたが、本発明によれば、各制御ノードをポリシーノード１からの操作指令値を実現すればよいので、各制御ノードにマップやテーブルを設ける必要がなくなる。これにより、各制御ノードの構成を簡易にすることが可能となって製造コストの低減を図ることができる。加えて、各制御ノードのＩＣＰを求めるためのマップやテーブルなどをポリシーノード１に設ければ、各制御間での動作検証を一つのノードでテストを行うことが可能となり、前記従来例のように複数の制御ノードを接続してから各制御間の整合性を検証するのに比して、生産性を大幅に向上させることが可能となる。特に、開発期間の短縮と、製品の信頼性を向上させることが可能となる。
【０１５０】
なお、上記実施形態では、走行前にポリシーの入力を行う一例を示したが、走行中に上記図５の設定画面からポリシーの変更を行っても良い。
【０１５１】
＜変形例１＞
上記実施形態においては、車両に本発明を適用した場合を例示したが、これに限定されるものではなく、複数のＥＣＵを備えた機器、航空機、装置等に適用することができる。
【０１５２】
すなわち、図１２で示すように、ユーザの操作指令を検知するユーザセンサＳａと、装置の外部環境を検出する外部センサＳｂと、これらセンサＳａ、Ｓｂの検出値を入力とし、複数の制御ノード（図中アクチュエータ駆動ノード）の指令値を求める複数の目的関数を備え、各目的関数に対してポリシーを用いて重み付けを行って、上述のようにポリシーに沿った制御状態となるように、各制御ノードへの指令値をチューニングするポリシーノード１を備えるものであればよい。
【０１５３】
また、各制御ノードの出力は、アクチュエータに限定されるものではなく、例えば、電子的なデバイス等であってもよい。
【０１５４】
例えば、連動して一つの制御を行う複数の制御ノードはサーバで構成されてもよい。すなわち、複数のサーバが連動して一つのサービスを提供する場合、本願発明のポリシーノード１を適用すると図１３で示すようになる。ポリシーノード１はネットワークを介して各サーバと接続される。そして、ポリシーノード１は、これら連動するサーバ（図中計算機１ａ、１ｂ）の上位計算機（上位ノード）となり、各サーバに対してユーザまたは管理者が与えたポリシーに基づいた制御パラメータを指令する。
【０１５５】
ポリシーノード１には、複数のサーバが提供するサービスに対するユーザのポリシーと、ユーザからの入力（ＵＣＰ）と、外部パラメータ（ＸＣＰ）を入力する。
【０１５６】
ポリシーノード１では、上記実施形態と同様に、複数の目的関数に対してユーザのポリシーに応じた重み付けを行い、各サーバに対する指令値を複数の目的関数から算出し、ポリシーに合致するように指令値ＩＣＰをチューニングする。そして各指令値を各サーバに指令する。
【０１５７】
これにより、サービスのポリシーをポリシーノード１へ入力することで、多数あるサーバ（計算機ノード）の複雑なパラメータ設定を自動的に行うことができ、その結果、ユーザの好みにあったサービス提供を容易かつ自動的に行うことができるのである。
【産業上の利用可能性】
【０１５８】
以上のように、本発明によればユーザのポリシーに基づいて複数の制御ノードのパラメータを自動的にチューニングできるので、複数のＥＣＵを備えた車両、航空機、機器、装置や、複数のサーバが連動するシステムに適用することができる。
【図面の簡単な説明】
【０１５９】
【図１】本発明の一実施形態を示す、車両の制御システムのブロック図。
【図２】同じく車両の制御対象、センサを示すブロック図。
【図３】イグニションキーの構成を示すブロック図。
【図４】ユーザパラメータＩＣＰ、外部パラメータＸＣＰ、内部パラメータと目的関数Ｆの関係を示す組み合わせテーブル。
【図５】目的関数Ｆ１〜Ｆ６毎にポリシーを設定する画面イメージ。
【図６】２つの関数について組み合わせ最適化問題の解を示すグラフで、（Ａ）はポリシー適用前を示し、（Ｂ）はポリシー適用後を示す。
【図７】同じく、２つの関数について組み合わせ最適化問題の解を示すグラフで、一方の関数の外部パラメータＸＣＰを変化させた場合を示す。
【図８】ポリシーノードで行われる制御の一例を示すフローチャート。
【図９】図８のＳ２１で行われるポリシー入力処理のサブルーチンを示すフローチャート。
【図１０】図８のＳ３０で行われる終了処理のサブルーチンを示すフローチャート。
【図１１】図８のＳ２５で行われる組み合わせ最適化問題のサブルーチンを示すフローチャート。
【図１２】本発明の制御概念を示すブロック図。
【図１３】変形例を示すブロック図。
【符号の説明】
【０１６０】
１  ポリシーノード（ポリシー分析・操作量生成ノード）
２  エンジン制御ノード
３  電子スロットル制御ノード
４  変速機制御ノード
５  ＡＢＳ制御ノード
６  サスペンション制御ノード
８  ナビゲーションノード
９  操舵制御ノード
１０  安全管理ノード
１１  表示装置
１３  イグニションキー１３
１３０  メモリ１３０
【図１】
2005335548.tif 000003
【図２】
2005335548.tif 000004
【図３】
2005335548.tif 000005
【図４】
2005335548.tif 000006
【図５】
2005335548.tif 000007
【図６】
2005335548.tif 000008
【図７】
2005335548.tif 000009
【図８】
2005335548.tif 000010
【図９】
2005335548.tif 000011
【図１０】
2005335548.tif 000012
【図１１】
2005335548.tif 000013
【図１２】
2005335548.tif 000014
【図１３】
2005335548.tif 000015