(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
(1.第1実施形態)
以下、添付の図面を参照して、本発明の車両用制御装置の実施形態を説明する。
まず、
図1を参照して、本発明の第1実施形態による車両用制御装置の構成について説明する。
図1は、実施形態による車両用制御装置の構成を示すブロック図である。
【0019】
図1に示すように、実施形態による車両用制御装置は、車両を運転するドライバの状態を検出するドライバ状態モニタ11、車外環境状態を検出する車外環境モニタ12及び車両状態を検出する車両状態モニタ13を含む検出手段10と、この検出手段10によって検出された検出状態に基づいて、車両が遭遇している走行場を推定する推定部20と、過去の経験に基づく既知の走行場と車両の制御アルゴリズムとを互いに対応付けて記憶した第1記憶部30と、推定部11によって推定された推定走行場が、第1記憶部30に記憶された既知の走行場から想定される想定内の走行場であるか、想定外の走行場であるかを判定する判定部40と、この判定部40によって推定走行場が想定外の走行場であると判定された場合に、推定走行場に対応する制御アルゴリズムを創発する創発部50と、判定部手段によって推定走行場が想定内の走行場であると判定された場合に、上記第1記憶手段から獲得した推定走行場に対応する制御アルゴリズムを車両の制御パラメータに変換し、推定走行場が想定外の走行場であると判定された場合に、上記創発手段によって創発された制御アルゴリズムを車両の制御パラメータに変換する変換部60とを有している。
【0020】
さらに、本実施形態では、過去の経験に基づかない走行場と車両の制御アルゴリズムとを互いに対応付けた対応テーブルを記憶した第2記憶部70と、創発部50によって創発された新たな制御アルゴリズムを記憶する第3記憶部80とを有している。
【0021】
なお、推定部20,判定部40、創発部50及び変換部60は、例えば車載ECU(electric control unit:電子制御装置)における処理機能に相当する。これらの処理機能は、コンピュータにおいて所定のプログラムを実行することによって実現してもよいし、マイクロチップによって実現してもよい。また、第1記憶部30、第2記憶部70及び第3記憶部80は、半導体メモリチップやハードディスクといった記憶装置で構成するとよい。
【0022】
ここで、
図2のフローチャートを参照して、第1実施形態による車両用制御装置の動作について説明する。
(1−1.状態検出)
まず、検出手段10が、車両を運転するドライバの状態、車外環境状態、及び車両状態車両状況を検出する(S21)。
【0023】
検出部10を構成するドライバ状態モニタ11の例としては、車室内に配置されてドライバの視線や、顔の動きを撮像するモニタカメラ及び画像処理システムや、ドライバのブレーキの踏込量を検出するセンサが挙げられる。また、車外環境モニタ12の例としては、先行車両を含む障害物までの距離や相対速度を検出する車両前方に向けたレーダや、車両の側方又は後方に向けたレーダや、車外に向けたモニタカメラ及び画像処理システムが挙げられる。また、車両状態モニタ13の例としては、車速センサ、加速度センサ、ブレーキ踏込量センサ、アクセル踏込量センサ、及び操舵角センサが挙げられる。
【0024】
なお、検出部10は、ドライバ状態モニタ11、車外環境モニタ12及び車両状態モニタ13の三つを常に設ける必要はなく、これらのうちの一つだけ又は二つだけを設けたものであってもよい。
【0025】
(1−2.走行場の推定)
次に、推定部20が、検出手段10によって検出された検出状態に基づいて、車両が遭遇している走行場を推定する(S22)。
【0026】
以下、車両状況に基づいて自車の挙動を推定し、車外環境状況に基づいて、先行車両と自車両との車両関係を推定し、さらに、ドライバ状態に基づいてドライバの危機感を推定する例について説明する。
【0027】
(1−2−1.自車挙動の走行場の推定)
一般に、車両は、停止した状態から発進し、走行する。そして、加速及び減速を繰り返して最終的に停止する。このように、車両の挙動は、「停止」、「発進」及び「走行」というサイクルを繰り返す。このため、自車挙動についての走行場として、下記の表1に示すように、「発進」、「走行」及び「停止」の3つの走行場を推定する。
【0029】
自車挙動の走行場を推定するにあたり、車速V、及びその時間微分である加速度αに着目すると、自車両は、車速V=0で「停止」している状態から動き始め、加速度α>0となって「発進」へ移行する。さらに、「発進」後に車速が極大値をとり、加速度α<0となって「走行」へ移行する。そして、「走行」から減速し、車速V=0となって「停止」へ移行する。このため、車速V及び加速度αは、自車挙動の走行場を推定するためのパラメータとして使用することができる。
【0030】
図3に、車速V及び加速度αから自車挙動の走行場を推定するアルゴリズムのフローチャートを示す。入力される車速V>0となるまで(S32で「no」の場合)、走行場は「停止」と推定される(S31)。次いで、車速V>0となると(S32で「yes」の場合)、入力される加速度α<0となるまで(S34で「no」の場合)、走行場は「発進」と推定される(S33)。次いで、加速度<0となると(S34で「yes」の場合)、入力される車速V=0となるまで(S36で「no」の場合)、走行場は「走行」と推定される(S35)。そして、車速V=0となると(S36で「yes」の場合)、フローチャートはスタートへ戻り、走行場は「停止」と推定される。
【0031】
図4に、車速V及び加速度αで表された車両の走行パターンに対して、
図3に示した推定アルゴリズムを適用して自車挙動の走行場を推定した結果を示す。
図4の(A)のグラフ中の線Iは、車速Vの時間変化を示し、
図4(B)のグラフ中の線IIは、加速度αの時間変化を示す。
【0032】
図4に示す例では、時刻t0までは車速V=0であるため、走行場は「停止」と推定される。そして、時刻t0に車速V>0となってから時刻t1に加速度α<0となるまで、走行場は「発進」と推定される。さらに、時刻t1に加速度α<0となってから時刻t2に車速V=0となるまで、走行場は「走行」と推定される。そして、時刻t2以降、車速V=0となり、走行場は「停止」と推定される。このようにして、車速V及び加速度αに基づいて、自車挙動の走行場を推定することができる。
【0033】
(1−2−2.車両間系の走行場の推定)
自車両と先行車両との車両関係についての走行場として、下記の表2に示すように、「追従」、「自由」、「縮まる」、「拡がる」、「接近」及び「衝突」の6つの走行場を推定する。
【0035】
ここでは、自車両と先行車両との車間距離L、及び、自車両に対する先行車両の相対速度Vrを、車両関係の走行場を推定するためのパラメータとして使用する。具体的には、
図5に示すように、車間距離Lが所定範囲内(L1≦L≦L2)であり、かつ、相対速度VrがVr=0を挟んだ所定範囲内(−V1≦Vr≦+V1)であるとき、走行場を「追従」と推定する。また、車間距離Lが「追従」の上限車間距離より長いとき(L2<L)、走行場を「自由」と推定する。また、車間距離Lは「追従」の所定範囲内(L1≦L≦L2)であるが、相対速度Vrが「追従」の下限値未満であるとき(Vr<−V1)、走行場を「縮まる」と推定する。また、車間距離Lは「追従」の所定範囲内(L1≦L≦L2)であるが、相対速度Vrが「追従」の上限値を超えるとき(+V1<Vr)、走行場を「拡がる」と推定する。また、車間距離Lが、「追従」の下限値未満であり、かつ0以上であるとき(0≦L<L1)、走行場を「接近」と推定する。そして、車間距離Lが0未満であるとき(L<0)、「衝突」と推定する。
【0036】
図5に、相対距離L及び相対速度Vrと、推定された車両関係の走行場との関係を示す。
図5のグラフの横軸は先行車両と自車両との車間距離Lを表し、縦軸は自車両の速度に対する先行車両の相対速度Vrを表す。
図5に示すように、相対距離L及び相対速度Vrによって、車両関係の走行場が推定される。
【0037】
(1−2−3.ドライバ危機感の走行場の推定)
ドライバの危機感についての走行場として、下記の表3に示すように、「通常」、「前兆」及び「ヒヤリハット」の3つの走行場を推定する。一般に、ドライバは、飛び出しや急な割り込みといった緊急事態に遭遇した場合に、急ブレーキをかける。そこで、ブレーキ踏込角(ブレーキ踏込量)B、及びブレーキ踏込角の時間微分値(以下、「ブレーキ微分値」ともいう。)βをドライバの危機感についての走行場を推定するためのパラメータとして使用する。
【0039】
図6に、ブレーキ踏込角B及びブレーキ微分値βからドライバの危機感の走行場を推定するアルゴリズムのフローチャートを示す。入力されるブレーキ微分βが所定の閾値βTを超えてβ>βTとなるまで(S62で「no」の場合)、走行場は「通常」と推定される(S61)。次いで、ブレーキ微分値β>βTとなると(S62で「yes」の場合)、入力されるブレーキ踏込角Bが所定の閾値BTを超えてB>BTとなるまで(S654で「no」の場合)、走行場は「前兆」と推定される(S63)。
【0040】
なお、ブレーキ踏込角B=0となると(S64で「yes」の場合)、フローチャートはスタートへ戻り、走行場は「停止」と推定される。すなわち、全ての「前兆」が「ヒヤリハット」へ移行するわけではない。これは、ブレーキ踏込量Bが小さくても、ブレーキ踏込量の時間微分値βだけが大きな値となることがあるためである。
【0041】
次いで、ブレーキ踏込角B>BTとなると(S65で「yes」の場合)、入力されるブレーキ踏込角B<BTとなるまで(S67で「yes」の場合)、走行場は「ヒヤリハット」即ちドライバが危機感を感じている状態と推定される。次いで、入力されるブレーキ踏込角B<BTとなると(S67で「no」の場合)、走行場は再び「前兆」と推定される(S63)。
【0042】
図7に、ブレーキ踏込角B及びブレーキ微分値βで表された走行パターンに対して、
図6に示したドライバの危機感の推定アルゴリズムを適用して走行場を推定した結果を示す。
図7(A)のグラフ中の線Iは、ブレーキ踏込角Bの時間変化を示し、
図7(B)のグラフ中の線IIは、ブレーキ微分値βの時間変化を示す。
【0043】
図7に示す例では、時刻t0まではブレーキ微分値β<βTであるため、走行場は「通常」と推定される。そして、時刻t0にブレーキ微分値β>βTとなってから時刻t1にブレーキ踏込角B>BTとなるまで、走行場は「前兆」と推定される。さらに、時刻t1にブレーキ踏込角B>BTとなってから時刻t2にブレーキ踏込角B<BTとなるまで、走行場は「ヒヤリハット」と推定される。さらに、時刻t2にブレーキ踏込角B<BTとなってから時刻t3にブレーキ踏込角B=0となるまで、走行場は「前兆」と推定される。そして、時刻t3にブレーキ踏込角B=0となってから時刻t4に再びブレーキ微分値β>βTとなるまで、走行場は「通常」と推定される。
【0044】
また、時刻t4に再びブレーキ微分値β>βとなってから、時刻t5にブレーキ踏込量B=0となるまで、走行場は「前兆」と推定される。そして、時刻t5にブレーキ踏込量B=0となり、走行場は「通常」と推定される。このようにして、ブレーキ踏込角B及びブレーキ微分値βに基づいて、ドライバの危機感の走行場を推定することができる。
【0045】
なお、上記の自車挙動、車両関係及びドライバの危機感についての走行場の他に、道路形状に関する走行場を推定してもよい。一般に、道路形状は、道路の曲率及び勾配によって表される。このため、道路形状に関する走行場として、曲率について「直線」、「右カーブ」及び「左カーブ」の3つの走行場を推定し、勾配について「平坦」、「上り坂」及び「下り坂」の3つの走行場を推定する。
【0046】
道路形状に関する走行場は、全地球測位システム(GPS:Global Positioning System)を利用して得た自車両の現在位置と、カーナビゲーションシステムの地図データベースとの照合によって推定するとよい。また、道路形状の走行場は、例えば、所定の走行区間における勾配、勾配の組合せ、又は勾配と曲率の組合せとして推定するとよい。さらに、例えば、自車挙動、車両関係、ドライバの危機感、及び道路形状についての走行場の打ちの任意の2つ以上を組み合わせて、走行場として推定するようにしてもよい。
【0047】
(1−3.走行場の判定)
次に、判定部40が、推定部11によって推定された推定走行場が、第1記憶部30に記憶された既知の走行場から想定される想定内の走行場であるか、想定外の走行場であるかを判定する(
図2のS23)。
【0048】
(1−3−1.制御アルゴリズム)
第1記憶部30には、過去の経験に基づく既知の走行場と車両の制御アルゴリズムとが互いに対応付けて記憶されている。本実施形態では、第1記憶部30に格納された、既知の走行場に対する制御アルゴリズムは、遺伝的ネットワークプログラミング(GNP:Genetic Network Programming)を利用して創発されたものである。
【0049】
以下、まず、遺伝的ネットワークプログラミングについて説明し、次いで、その遺伝的ネットワークプログラミングによって創発された制御アルゴリズムの例を説明する。
【0050】
遺伝的ネットワークプログラミングは、生物の進化過程を模倣して最適解又は準最適解を求める進化論的計算手法の一つであって、遺伝的アルゴリズム(GA:Genetic Algorithm)を拡張した遺伝的プログラミング(GP:Genetic Programming )を更に拡張したものである。
【0051】
(1−3−1−1.遺伝的アルゴリズム(GA))
遺伝的アルゴリズム(GA)は、生物の進化過程において見られる、染色体の選択、交差及び突然変異を模倣し、工学的に応用した計算手法である。遺伝的アルゴリズムでは、設計変数を遺伝子とみなし、遺伝子をビット列構造で表現する。
【0052】
ここで、
図8のフローチャートを参照して、遺伝的アルゴリズムの基本的なアルゴリズムの流れを説明する。
先ず、初期集団を作成する(S81)。初期集団は、個体の集合であり、各個体は、解候補を記号化したものであって、それぞれが一つの遺伝子を有する。
【0053】
次いで、各個体における評価値を計算する(S82)。
評価値とは、各個体の有効性を定量的に示す指標をいい、例えば、燃費の良さを評価値とすることができる。
【0054】
次いで、評価値に基づいて個体を選択する(S83)。
個体の選択とは、次世代に残す個体を選出することをいう。
【0055】
次いで、選択された個体の交叉及び突然変異を行う(S84)。
交叉とは、親世代の遺伝子を交換し、子世代として新しい遺伝子を作成することをいう。また、突然変異とは、親世代に遺伝子の一部をランダムに書き換え、子世代とすることをいう。
【0056】
次いで、最終世代の判定を行う(S85)。
最終世代になるまで、上記のS82〜S84のステップを繰り返す。
このようにして、最適解又は準最適解を探索する。
【0057】
(1−3−1−2.遺伝的プログラミング(GP))
遺伝的プログラミング(GP)のアルゴリズムの流れも、
図8に示したものと基本的に同じであるが、遺伝的プログラミング(GP)では、遺伝子を、ノード関数を用いた木構造で表現する。そして、ノード関数を用いてif−then文による条件判断を行い、処理を実行する。これにより、遺伝的プログラミングでは(GP)では、遺伝的アルゴリズム(GA)のビット列構造では扱えなかった構造的なシステムを扱うことができる。
【0058】
(1−3−1−3.遺伝的ネットワークプログラミング(GNP))
遺伝的ネットワークプログラミング(GNP)のアルゴリズムの流れも、
図8に示したものと基本的に同じであるが、遺伝的ネットワークプログラミング(GNP)では、
図9に示すように、集団を構成する各個体が、ノード関数が有向枝によって相互に接続された有向グラフ(ネットワーク)構造を有する。ノード関数は、判定ノードと処理ノードの二種類のノードから構成される。判定ノードは、if−then文による条件判断及び分岐を担う。一方、処理ノードは、定められた処理(行動)を実行する役割を有する。また、判定ノードからは、分岐の数だけ有向枝が伸びる。一方、処理ノードからは、一本の有向枝のみが伸びる。
なお、遺伝的ネットワークプログラミング(GNP)では、どの個体でもノード数が一定であるため、ブロート(解の膨張)が発生しない。
【0059】
さらに、
図10に、遺伝的ネットワークプログラミング(GNP)の一個体の遺伝子の一例を示す。遺伝子は、
図10に示す表現型のようにネットワーク状に表現され、プログラム上では、
図10に示す遺伝子型のように記述される。遺伝子型の「NIDi」は、ノードiのIDであり、設定したノードの数だけ存在する。また、遺伝子型の「NTi」は、ノード関数を表し、「NTi=1」ならば判定ノードを表し、「NTi=2」ならば処理ノードを表す。遺伝子型の「IDi」は、ノード関数IDを表し、判定ノード及び処理ノード内容を記述したノートライブラリのラベルを示す。そして、「NTi」と「IDi」によって、ノートライブラリに記述されたノード内容のうち、実行されるノード内容が決定される。遺伝子型の「Ci1」及び「Ci2」は、ノードiから伸びる有向枝の接続先情報であり、接続するノードIDが記載される。なお、処理ノードは、接続先が一つしかないため、処理ノードにCi2は存在しない。
【0060】
このような各個体の評価値は、個体の達成度や有効性を数値化したものであり、その値は、評価換算によって求められる。評価関数の計算式は、問題に依存して設計者によって設定される。そして、個体の評価値に基づいて遺伝子操作が行われるので、遺伝的ネットワークプログラミング(GNP)の最適化は、評価値の最適化に対応する。
【0061】
そして、交叉や突然変異を実行する前に、選択により、評価値の高い個体を優先的に選出する。これにより、評価値の高い個体の遺伝子が次世代へ受け継がれる。選択方式の例として、ルーレット選択、トーナメント選択及びエリート保存選択が挙げられる。
【0062】
ルーレット選択では、交叉及び突然変異操作を加える個体を選出するため、各個体の子孫は、その評価値に比例した確率で選ばれる。i番目の個体の評価値をfiとすると、下記の(1)式により、i番目の個体が選ばれる確率piが求まる。
pi=fi/Σf ・・・(1)
【0063】
トーナメント選択では、交叉及び突然変異操作を加える個体を選出するため、予め設計者によって決められた数だけ個体集団の中からランダムで個体を取り出し、その中で最も適応度の高い個体を選択する。これを必要な個体数が得られるまで繰り返す。
【0064】
エリート保存選択では、その世代における評価値の高い個体を一定数そのまま次世代へ残す操作を行う。これにより、最適個体の評価が悪化することを防ぐことができる。
【0065】
交叉は、選択された2個の個体間で行われ、2個の子個体を生成する。このとき、交叉するノードどうしの遺伝子情報は全て交換される。ここで、
図11を参照して、交叉の手順について説明する。
【0066】
先ず、親個体の集団から2個の親個体を任意に選択する。
図11では、「親1」及び「親2」が選択される。次いで、選択した親個体の一方「親1」において、設定した交叉確率に基づいて、交叉すべきノードを選択する。
図11では、「親1」のノード「P1」が選択される。次いで、一方の親個体「親1」で選択されたノード「P1」と、他方の親個体「親2」における「P1」と同一識別番号のノード「P2」との間で、全ての遺伝子を交換する。このようにして生成された2個の個体「子1」及び「子2」が、次世代の個体となる。
【0067】
突然変異は、1個の親個体内で行われ、1個の子個体が生成される。突然変異には、接続先ノードを変更するものと、ノード内容を変更するものとの2種類がある。ここで、
図12を参照して、突然変異について説明する。
まず、接続先ノードを変更する突然変異(突然変異A)では、1個体を任意に選択し、設定した突然変異確率に基づき、突然変異させるべきノードを選択する。そして、選択されたノードの接続先をランダムに変更する。
図12では、突然変異Aにおいて、ノードP1の接続先ノードが、右上の処理ノードから、左上の判断ノードへ切り替えられている。
【0068】
また、ノード内容を変更する突然変異(突然変異B)では、1個体を任意に選択し、設定した突然変異確率に基づき、突然変異させるべきノードを選択する。そして、選択されたノードのラベルをランダムに変更する。
図12では、突然変異Bにおいて、選択されたノードP1がノードP2に変更されている。
このようにして、次世代の個体が生成される。
【0069】
(1−3−1−4.遺伝的ネットワークプログラミング(GNP)の利用例)
以下に、遺伝子ネットワークプログラミング(GNP)を利用して、ハイブリッド電気自動車におけるエンジンとモータの分担に関する車両制御アルゴリズムを創発する例を示す。ここでは、走行場に応じて燃費が改善される車両制御アルゴリズムを創発する。
【0070】
まず、制御アルゴリズムの前提となる、シリーズ方式ハイブリッド電気自動車の車両システムを
図13に示す。また、車両諸元のパラメータを
図14に示す。
また、重力加速度g=9.8m/s
2と設定し、空気密度ρ=1.29kg/m
3と設定する。
【0071】
モータ出力W
M(W)は、下記の式(2)により求める。
W
M=T
M・(V/r
D)i ・・・(2)
ここで、T
M[Nm]は、モータトルクを表し、V[m/s]は車速を表す。モータの最大出力W
MmaxとモータトルクT
Mとの関係より、車速V=18.75m/sまでは最大トルクが400Nmであり、これ以上の速度では最大トルクは速度に反比例して低下していく。なお、モータトルクは最大トルクと正規化されたアクセル入力量との積から求める。
【0072】
図13に示すように、シリーズ方式のハイブリッド電気自動車において、エンジンの動力は発電機で電力に変換される。発電量W
G[W]は、下記の(3)式より求める。
W
G[W]=η
GW
E ・・・(3)
ただし、W
E[W]は、エンジン出力である。また、燃料消費率F
E[g/kWh]は、
図15のグラフにより求める。
図15のグラフは、エンジン出力と燃料消費率との関係を示す。さらに、1秒当たりの燃料消費量F
C[g/s]は、下記の式(4)により求める。
F
C=W
E・F
E/1000/3600 ・・・(4)
【0073】
また、バッテリ構成を
図16に示す。また、バッテリ内部電圧V
B=400Vと設定し、バッテリ内部抵抗R
B=400mVと設定する。
【0074】
バッテリ残容量E
B[Wh]は、下記の式(5)より求める。
dE
B/dt=W
B−(W
B/V
B)
2・R
B
W
B=W
G−W
M−W
A ・・・(5)
ただし、W
Bは、バッテリ入出力である。
【0075】
また、等価燃料消費量F
B(g)は、下記の式(6)より求める。
F
B=ΔSOC・E
BmaxF
E/η
M/1000 ・・・(6)
等価燃料消費量とは、走行終了後にエンジンを稼働させて、バッテリ残量SOCを書おきの残量に戻すために必要とする燃料消費量である。その際、エンジンは最高効率点F
E=250g/kWhで稼働させるものとする。
ただし、ΔSOC(%)は、走行終了時のバッテリ残量SOCと、走行開始時のバッテリ残量SOCとの差である。
【0076】
また、ブレーキは、回生ブレーキ、油圧ブレーキ及びエンジンブレーキから構成される。回生ブレーキは、ドライバから要求される要求ブレーキトルクが最大モータトルクT
Mmax以下、すなわち、400Nm以下の場合に用いられる。回生ブレーキによって得られる回生エネルギーの大きさは、上記の式(2)より求まる。回生エネルギーとモータの発電効率η
Mとの積がモータの発電量となる。このとき、上記の式(5)におけるモータ出力W
Mは負となる。
【0077】
油圧ブレーキは、要求ブレーキトルクが回生ブレーキで得られるトルクを超過するとき、すなわち、400Nm以上の場合に用いられ、最大モータトルクT
Mmaxの超過分を補う。なお、要求ブレーキトルクは、最大ブレーキトルクと正規化されたブレーキ入力量との積から求める。
【0078】
エンジンブレーキは、ブレーキとアクセルが共に入力されない場合に用いられる。シリーズ方式ハイブリッド電気自動車では、駆動軸とエンジンとが直接連結していないため、本来エンジンブレーキは存在しない。しかし、回生ブレーキトルク35Nmを与えることでそれを再現し、充電走行を行う。
【0079】
また、車体の挙動は、下記の式(7)より求める。
m(dV/dt)={(T
Miη
t−T
B)/r
D}−R ・・・(7)
R=R
i+R
r+R
l
R
i=mgsinθ
R
r=μ
rmg
R
l=(ρ/2)C
DAV
2
【0080】
ただし、また、m[kg]は車体重量、T
Mはモータトルク[Nm]、iは減速比、η
tは伝達効率、T
Bはブレーキトルク[Nm]を表す。また、R(N)は走行抵抗、Ri[N]は勾配抵抗、Rr[N]は転がり抵抗、Rl[N]は空気抵抗、θ[rad]は道路勾配を表す。また、μ
rは転がり摩擦係数、C
Dは抵抗係数、Aは車両の前面投影面積を表す。
【0081】
遺伝的ネットワークプログラミング(GNP)の設定パラメータを下記の表4に示し、判定ノード及び処理ノードの設定を下記の表5に示す。判定ノード及び処理ノードは、入力値の範囲を任意の間隔で刻み、閾値の異なるノードを複数生成する。判定及び処理の債には、入力値のその閾値の範囲内か否かで「yes」又は「No」の二方向出力を行う。
【0084】
次に、
図17のフローチャートを参照して、上述した前提の下での遺伝的ネットワークプログラミング(GNP)の流れを説明する。
まず、ランダム初期集団として、判定ノード及び処理ノードがランダムに組み合わされたネットワークを個体の数だけ作成する(S171)。
【0085】
次に、走行場ごとのアクセル踏込角及び勾配を入力する(S172)。アクセル踏込量及び勾配は、例えば、車両関係の走行場が「自由」であり、かつ、道路勾配の走行場が「平坦」、「上り坂」又は「下り坂」それぞれの場合についての入力データを使用するとよい。なお、道路勾配が「上り坂」又は「下り坂」の場合の勾配は、4.0%とする。
次に、アクセル踏込角の入力から、要求されるモータ出力及びブレーキトルクを計算する(S173)。
【0086】
次に、バッテリ残量SOCを所定の範囲内(40〜70%)に維持するための条件判断を行う(S174)。バッテリ残量SOCが70%を超過した場合(S174で「yes」の場合)に、エンジンを停止させ(S175)る。また、バッテリ残量SOCが40%を下回った場合(S176で「yes」の場合)に、エンジンを稼働させる(S177)。エンジンを稼働させる際に、要求されるエンジン出力が、エンジンの最適出力35kW以下であれば、35kWを出力し、35kW以上であれば、要求通りの値を出力する(S177)。
【0087】
また、バッテリ残量SOCが所定の範囲内(40〜70%)の場合(S174で「no」かつS176で「no」の場合)、遺伝的ネットワークプログラミング(GNP)による制御アルゴリズムによってエンジン出力を決定する(S178)。
【0088】
続いて、発電量を計算し、燃料消費量を計算する(S179)。さらに、バッテリ残量SOCを計算し(S180)、運動方程式を解く(S181)。そして、上記のステップS172〜S181のループを、所定の走行場における走行モードが終了するまで(S182で「no」の間)繰り返す。
【0089】
走行モードの終了後(S182で「yes」の場合)に、ネットワーク(1個体)の評価値を計算する(S183)。評価値は、燃料消費量と等価燃料消費量の和として表される。上記のステップS172〜S183のループを、個体の数繰り返す。
【0090】
そして、全ての個体の評価値が求められた後(S184で「yes」の場合)、最終世代であるか否かの判断を行う(S185)。最終世代でない場合(S185で「no」の場合)、個体集団に対して、表4に示した設定パラメータの確率に従って、選択、交叉、突然変異といった遺伝子操作を加えて進化を行う(S186)。また、最終世代である場合(S185で「yes」の場合)、最適個体のノード遷移ネットワークを保存して(S187)、終了する。
【0091】
このような最適個体のノード遷移ネットワークによる制御アルゴリズムが、第1記憶部30に走行場と対応付けて記憶されている。
【0092】
(1−4.推定場が想定内の場合)
次に、判定部40によって推定走行場が、第1記憶部30に記憶された既知の走行場から想定される想定内の走行場であると判定された場合(
図2のS23で「yes」の場合)に、変換部60が、上記第1記憶手段から推定走行場に対応する制御アルゴリズムを読み出し(S24)、車両の制御パラメータに変換する(S25)。
【0093】
例えば、
図13に示したシステムのシリーズ方式ハイブリッド電気自動車について、車両関係の走行場が「自由」であり、かつ道路勾配の走行場が「平坦」であるように、想定範囲内の走行場である場合には、第1記憶部30から、その走行場に対応する制御アルゴリズムが読み出される。そして、読み出された制御アルゴリズムに従って、車両の制御パラメータとして、エンジンとモータの分担出力が計算される。
【0094】
また、制御パラメータにしたがって、エンジン及びモータ以外に、ハンドルやブレーキといったアクチュエータを制御してもよい。例えば、制御アルゴリズムから変換された舵角に従って、ハンドルを自動操作するようにしてもよいし、制御アルゴリズムから変換された車速に従って、ブレーキを自動的に作動させてもよい。
【0095】
また、制御パラメータに従って、また、スピーカやディスプレイ等のヒューマン・マシン・インターフェイス(human machine interface:HMI)を制御してもよい。例えば、制御アルゴリズムから変換された舵角や車速に従って車両が走行するように、ドライバを音声で誘導するようにしてもよい。
【0096】
(1−5.推定場が想定外の場合)
一方、判定部40によって推定走行場が、第1記憶部30に記憶された既知の走行場から想定される想定内の走行場ではない、想定外の走行場であると判定された場合(
図2のS23で「no」の場合)には、創発部50が、推定走行場に対応する制御アルゴリズムを創発する(S26)。
【0097】
図18のフローチャートを参照して、推定された走行場が想定外である場合の制御アルゴリズムの創発処理を説明する。
図18のフローチャートは、
図2のフローチャートのステップS23、S26及びS27の部分に相当する。ここでは、走行場として、
図19に示すように、自車両Cの進行方向前方に、障害物として事故車両Bが停車している場合について説明する。
【0098】
先ず、推定部11によって推定された走行場が、想定範囲内の走行場か否かが判定される(
図18のS23)。
ここでは、走行場は、
図20に示すように、事故車両の側方に残された「幅員」と、自車両が事故車両の手前で停止するのに必要な「減速度」とに基づいて推定される。「幅員」は、車外環境モニタ12により撮像された前方画像から求められる。また、「減速度」は、車外環境モニタ12により撮像された前方画像から求めた自車両の現在位置から事故車両までの距離と、車両状態モニタ10によって測定された現在の自車両の車速とから求められる。
【0099】
一方、第1記憶部30に記憶された既知の走行場も、「幅員」と「減速度」の2つのパラメータで特定されている。
図20に、既知の走行場の幾つかを白丸印で模式的に示す。
図20中の白丸Aは、「幅員」が十分にあり、かつ、事故車までの距離が長いため「減速度」が小さいという走行場を表している。かかる走行場に対しては、ハンドル操作により事故車両を大きく回避するという制御アルゴリズムが記憶されている。また、
図20中の白丸Bは、「幅員」が十分に有り、かつ、事故車までの距離が短いため「減速度」が大きいという走行場を表している。かかる走行場に対しても、ハンドル操作による事故車を大きく回避するという制御アルゴリズムが記憶されている。また、
図20中の白丸Cは、「幅員」が十分に無く、かつ、「減速度」が白丸Aと白丸Bとの中間の走行場を表している。かかる走行場に対しては、事故車の横を走行することができないため、ブレーキをかける制御アルゴリズムが記憶されている。この場合、更に、事故車との衝突に備えてハンドルをしっかり持って踏ん張るように音声でドライバに指示する制御アルゴリズムも記憶されているとよい。
【0100】
また、
図20の全ての白丸印を囲む曲線Iは、想定内の走行場の範囲を表している。想定内の走行場の範囲には、各白丸印の既知の走行場そのものだけではなく、既知の走行場どうしの間の走行場、すなわち、既知の走行場どうしの間で内挿できる走行場も含まれる。したがって、推定された走行場が、第1記憶部30に記憶された既知の走行場どうしの間で内挿できる場合は想定内の走行場と判定され、既知の走行場から外挿が必要な場合は想定外の走行場と判定される。
【0101】
さらに、
図20中に、推定部11によって推定された走行場を黒丸印Dで示す。黒丸Dは、「幅員」が白丸Aと白丸Cとの中間であり、かつ、「減速度」が大きい走行場を表している。
図20に示すように、推定された走行場は、曲線Iで囲まれた想定範囲内に含まれていない。このため、黒丸Dで示される推定走行場は、想定外の走行場であると判定される(
図18のS23)。
【0102】
推定走行場が想定外であると判定された場合、第2記憶部70から、対応テーブルを読み込む(S261)。対応テーブルには、過去の経験に基づかない走行場と車両の制御アルゴリズムとを互いに対応付けて記憶されている。
ここで、下記の表6に、対応テーブルの一例を示す。
【0104】
次に、対応テーブルから、推定走行場に最も近似する近似走行場を選択し、この近似走行場に対応する制御アルゴリズムを読み出す(S262)。
ここでは、上記の表6に示す想定が対応テーブルから、「前方衝突防止距離」が「無し」であり、「後方衝突防止距離」が「有り」であり、かつ、「側方スペース」が「有り」の場合を架設外挿点とする(S262)。
【0105】
次に、第1記憶手段に記憶された既知の走行場の中から、黒丸Dで示した推定走行場に最も近似する近似走行場を選択し、この近似走行場に対応する制御アルゴリズムを読み出す(S263)。
ここでは、
図20に白丸Eで示す走行場を近似走行場として選択する。
【0106】
そして、想定内の走行場から選択した白丸Eの最近似の走行場と、対応テーブルから選択した最近似の走行場の中間の走行場を、推定場として選択し(S264)、白丸Eの走行場の制御アルゴリズムと対応テーブルから選択した走行場の制御アルゴリズムの中間の制御アルゴリズムを創発する(S265)。
【0107】
ここで、
図21を参照して、制御アルゴリズムの創発について説明する。
まず、幅員に余裕が有る場合(S211で「有り」の場合)、例えば、
図20で想定内の白丸Bの走行場の場合、ハンドル操作によって障害物を回避する制御アルゴリズムが読み出される(S212)。さらに、ドライバに対して、徐行運転が指示される(S213)。
【0108】
また、幅員に余裕が無い場合(S211で「無し」の場合)、例えば、
図20で想定内の白丸Cの走行場の場合、自車両が障害物と衝突することによって発生する被害を軽減するために、ブレーキを作動させる制御アルゴリズムが読み出され(S214)、さらに、エンジンを停止させる(S215)。
【0109】
そして、幅員の余裕が、「有り」と「無し」との中間である場合(S211で「中間」の場合)、例えば、
図20で想定外の黒丸Dの走行場である場合、例えば、遺伝的ネットワークプログラミングを利用して、新たな制御アルゴリズムが創発される(S216)。
【0110】
ここで、
図22に、新たな制御アルゴリズムを創発する際の、初期集団の個体の有向グラフ(ネットワーク)構造の一例を示す。初期集団の個体は、白丸Eの走行場のものと、対応テーブルから選択された走行場のものとするのがよい。ここでは、自車両が障害物と衝突することによって発生する被害の程度を最小にすることを目的として、被害度合で制御アルゴリズムが評価される。そして、白丸Eの走行場の有向グラフ構造と、対応テーブルから選択された走行場の有向グラフ構造について、交叉や突然変異といった遺伝子操作を繰り返して、新たな制御アルゴリズムを創発する。
【0111】
そして、例えば、障害物である事故車両の側面をこすりながら自車両を停止させるという制御アルゴリズムが創発される。
【0112】
そして、創発された制御アルゴリズムの良否をドライバの反応として学習させて(S266)、創発された制御アルゴリズムは第3記憶部80に記憶される。このように、車両が遭遇している走行場が自動的に推定され、車両用制御装置の制御アルゴリズムの設計段階で想定されていなかった走行場に車両が遭遇したときに、その走行場に対応した新たな制御アルゴリズムが自動的に生成される。そして、既存の制御アルゴリズムに加えて、想定外の走行場に対応した新たな制御アルゴリズムを蓄積することによって、より多様な走行場に対応して車両制御を行うことが可能となる。
【0113】
(2.第2実施形態)
以下、本発明の第2実施形態を説明する。
第2実施形態による車両用制御装置の構成及び基本動作は、上述の第1実施形態のものと同じである。
ただし、第2実施形態では、推定部20は、車両の遭遇している走行場を、恒等写像モデルを利用して推定する。
【0114】
図23に、恒等写像モデルの模式図を示す。恒等写像モデルは、入力層と出力層に同一データを提示して、恒等写像としての中間層出力を学習させる階層型ニューラルネットワークである。
図23に示す例では、入力層及び出力層に、車外環境データとして、先行車両と自車両との車間距離を入力し、また、車両状態データとして、車速、ブレーキ踏込量、アクセル踏込量及び操舵角を入力している。
【0115】
図23に示す例では、中間層として、自動車挙動(停止、発進、走行)、車両関係(追従、自由、縮まる、拡がる、接近、衝突)、ドライバ反応(通常、前兆、ヒヤリハット)、及び道路勾配(平坦、上り坂、下り坂)を走行場として出力する。
【0116】
図24に、恒等写像モデルの中間層出力の模式図を示す。
図24の横軸x1及び縦軸x2は、それぞれ中間層の出力パラメータである。そして、
図24に示すように、中間層出力によって、走行場(例えば、追い越し、通中、縦列駐車、駐車、右折、交差点通過、左折)が特定される。
【0117】
また、第2実施形態では、第1記憶部30に記憶されている走行場が中間層出力によって特定されている。
図25の(A)及び(B)に、想定範囲の模式図を示す。
図25(A)及び(B)の線IIは、第1記憶部30に記憶されている想定場の想定範囲を模式的に示す。
図25の(A)及び(B)の横軸及び縦軸は、いずれも中間層出力のパラメータである。そして、
図25(A)では、破線で示す推定走行場e1が、線IIで囲まれた想定範囲内に含まれている。したがって、この推定走行場e1は、想定内の走行場であると判定される。
【0118】
一方、
図25(B)では、破線で示す推定走行場e2は、線IIで囲まれた想定範囲内に含まれていない。したがって、この推定走行場e2は、想定外の走行場であると判定される。また、
図25(B)には、想定内の走行場に対する、想定が対応テーブルに挙げられている、過去の経験に基づかない走行場の範囲Tが模式的に示されている。
【0119】
図25(B)に示す例では、恒等写像モデルの中間層出力によって特定された想定外の推定走行場e2に最も近似する対応テーブル中の走行場として、走行場t1が選択され、一方、推定走行場e2に最も近似する想定内の走行場として、走行場bが選択される。そして、上述した第1実施形態と同様にして、想定外の走行場に対応する新たな制御アルゴリズムが創発される。
【0120】
上述の実施形態においては、本発明を特定の条件で構成した例について説明したが、本発明は種々の変更及び組み合わせを行うことができ、これに限定されるものではない。