(57)【特許請求の範囲】
【請求項１】
車両の動作を制御する車両制御装置であって、
前記車両に固有の第１制御パラメータを格納する記憶部、
前記第１制御パラメータを用いて前記車両を制御するとともに前記第１制御パラメータを更新して前記記憶部に対して上書格納する制御部、
他の車両に固有の第２制御パラメータを集約するサーバと通信して前記第２制御パラメータを取得する通信部、
を備え、
前記制御部は、前記第１制御パラメータが異常値に達したか否かを判断し、
前記制御部は、前記第１制御パラメータが異常値に達したと判断すると、前記第１制御パラメータを初期化するとともに前記通信部を介して前記サーバから前記第２制御パラメータを取得し、取得した前記第２制御パラメータを前記第１制御パラメータの新たな初期値として前記記憶部に格納し、
前記制御部は、前記第１制御パラメータの配列要素のうち初期値から更新済であるものについて、前記通信部を介して取得した前記第２制御パラメータを新たな初期値として前記記憶部に格納する
ことを特徴とする車両制御装置。
【請求項２】
前記第１制御パラメータおよび前記第２制御パラメータは、１以上の次元を有する配列データとして構成されており、
前記制御部は、前記第１制御パラメータの配列要素のうち未だ初期値から更新していないものについて、前記通信部を介して取得した前記第２制御パラメータを新たな初期値として前記記憶部に格納する
ことを特徴とする請求項１記載の車両制御装置。
【請求項３】
前記通信部は、
前記車両の車種または型番、
前記車両の走行済距離、
前記車両が出荷されてからの経過年数、
前記車両が搭載しているオプション部品のタイプのうち前記車両の走行性能に対して影響を与えるもの、
前記サーバから取得する前記第２制御パラメータの配列要素の範囲、
のうち少なくともいずれかをキーとして前記サーバに対して対応する前記第２制御パラメータを照会することにより、前記キーに対応する前記第２制御パラメータを取得する
ことを特徴とする請求項２記載の車両制御装置。
【請求項４】
請求項１から３いずれか１項記載の車両制御装置、
前記第２制御パラメータを集約する前記サーバ、
前記サーバに対して前記第２制御パラメータを送信する第２車両、
を有することを特徴とする車両制御パラメータ学習システム。
【請求項５】
前記第２車両は、前記第２車両のイグニッションスイッチがＯＦＦされたとき、その時点で前記第２車両が保持している前記第２制御パラメータを前記サーバに対して送信する  ことを特徴とする請求項４記載の車両制御パラメータ学習システム。
【請求項６】
前記第２車両は、前記第２制御パラメータを更新するごとに、その更新後の前記第２制御パラメータを前記サーバに対して送信する
ことを特徴とする請求項４記載の車両制御パラメータ学習システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両制御装置の制御パラメータを学習する技術に関する。
【背景技術】
【０００２】
従来、自動車が備えるエンジンを制御する電子制御装置が制御パラメータを学習する技術として、様々な学習方法が提案されている。ここでいう学習とは、当該車両固有の個体差に適した制御パラメータを、初期値から開始して当該車両に適合するように経時的に更新していくことである。これにより、個々の車両ごとに最適な制御パラメータを用いて車両を制御することを図っている。
【０００３】
下記特許文献１は、吸入空気量とエンジン回転数に応じて求められる基本燃料噴射量に対し、エンジン冷却水音、絞り弁開度、空燃比センサ出力の排気ガスの空燃比と目標空燃比との偏差を吸収する、学習制御方法について開示している。
【０００４】
下記特許文献２記載の技術においては、通常運転状態においては基本燃料噴射量に対する乗算項を学習し、アイドル運転状態においては基本燃料噴射量に対する加算項を学習する。上記乗算項と加算項の少なくとも一方には許容限度が設定される。これにより、制御回路が故障した場合などにおいても、学習値が異常値となって空燃比が異常状態にシフトすることを防止することを図っている。
【０００５】
下記特許文献３記載の技術においては、エンジンの運転状態毎に未学習のときには学習値として通常取り得ない値を記憶させ、既学習のときにはこれに見合った値を記憶させ、これにより学習経験の有無を判別する。未学習の運転状態については学習値を一度に書き換え、既学習の運転状態については学習値を少しずつ書き換える。
【０００６】
一方、車両出荷後に学習パラメータを車両外から取得して更新する技術も存在する。下記特許文献４は、学習用サーバと車両とを無線回線によって接続し、学習用サーバから学習パラメータを車両に対して送信することにより、車載ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）のパラメータを出荷後に書き換える技術を提案している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開昭５７−３２８４４号公報
【特許文献２】特開昭５８−１５００５８号公報
【特許文献３】特開昭５８−１７６４４０号公報
【特許文献４】特開２０１５−１３５５５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記特許文献１記載のような従来の学習制御においては例えば、エンジン回転数と負荷とをパラメータとする学習値テーブルに対して、エンジン定常運転時の運転領域ごとに、センサ出力に基づく空燃比フィードバック補正係数の所定時間における平均値と目標値との間の偏差に基づき、理論空燃比における燃料噴射量を実現させるための補正値としての学習値をプロットし、これを制御変数として用いる。しかしこの手法においては、エンジン回転数と負荷とを構成要素とする学習値テーブルのうちエンジン定常運転時における部分のみを学習するので、自動車の運転条件によっては充分に学習されない運転領域が存在する。したがって、学習制御が当初の目標どおり進捗しない場合がある。
【０００９】
上記特許文献２記載の技術においては、学習値を更新するときその学習値が許容限度を超える場合のみ、その学習値を許容限度の範囲内に置き換える。したがって、学習値が許容範囲を超えることを抑制できる。一方で、センサ出力値の異常やＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の暴走などに起因して異常な学習状態が累積することにより、学習値が異常値に達する場合もある。学習値を更新するのはエンジン定常運転時における所定の更新条件が成立したときであるので、エンジン定常運転時以外で学習値が異常となった場合、正常範囲に復帰するまで比較的時間を要する。そうすると、例えば学習値がいったん異常値となり、その後に加速運転や減速運転が繰り返されて定常運転状態になかなかならないままエンジンが運転されると、異常な学習値がエンジン制御に用いられることによりエンジントラブルを生じる可能性がある。
【００１０】
上記特許文献３記載の技術においては、特許文献２と同様に、学習条件が成立したときのみ学習値を書き換える。したがって特許文献２と同様に、異常な学習値が正常範囲内に復帰するまで比較的時間を要する。また、例えば異常な学習値をいったん初期化することにより正常範囲内に復帰させたとしても、再び初期化直前の学習状態へ戻るまでには同様に時間を要する。
【００１１】
本発明は、上記課題に鑑みてなされたものであり、制御パラメータを学習によって更新する車両制御装置において、未だ学習条件を満たしていないとしても、学習値を適切な範囲内に更新することができる技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る車両制御装置は、異常な学習値をリセットした場合、他の車両の学習値を集約するサーバから他の車両の学習値を取得してこれをリセット後の学習値の初期値として用いる。
【発明の効果】
【００１３】
本発明に係る車両制御装置によれば、学習値をリセットした後において未だ学習タイミングに到達していない場合であっても、適切な学習値を用いて車両を制御することができる。
【図面の簡単な説明】
【００１４】
【図１】制御パラメータ学習システムの全体図である。
【図２】車両制御装置１００の構成を示すブロック図である。
【図３】制御パラメータ１５０の１例を示す図である。
【図４】学習値マップのうち未学習の部分を例示する図である。
【図５】車両１１がサーバ１６に対して学習済の制御パラメータを送信する手順を説明するフローチャートである。
【図６】サーバ１６が各車両から制御パラメータを集約する手順を説明するフローチャートである。
【図７】サーバ１６から車両２００に対して制御パラメータを配信する手順を説明するフローチャートである。
【図８】車両制御装置１００がサーバ１６から他車両の制御パラメータを取得してこれを自身の制御パラメータとして用いる手順を説明するフローチャートである。
【発明を実施するための形態】
【００１５】
図１は、本発明に係る制御パラメータ学習システムの全体図である。本システムは、サーバ１６が各車両から学習済の制御パラメータを集約して他の車両に対して提供することにより、未学習の制御パラメータを適切な学習済状態へ更新するものである。以下では車両１１が学習済の制御パラメータを提供し、車両２００がサーバ１６を介してこれを受け取ることを前提として説明する。
【００１６】
車両１１は、無線回線１２、中継局１３、無線回線１４、基地局１５を介して、サーバ１６に対して学習済の制御パラメータを送信する。サーバ１６は、受け取った制御パラメータを後述する区分にしたがって分類し、その分類ごとに保持する。車両２００は、基地局１７、無線回線１８、中継局１９、無線回線２０を介してサーバ１６から制御パラメータを受信し、その制御パラメータを自身の車両制御装置（ＥＣＵ）１００の制御パラメータとして格納する。
【００１７】
サーバ１６は、各車両から制御パラメータを集約する処理を実装したプログラム、これを実行するＣＰＵ、制御パラメータを格納する記憶装置、などを備えたコンピュータとして実装することもできるし、同等の機能を備えた回路デバイスなどのハードウェアを用いて実装することもできる。
【００１８】
図２は、車両制御装置１００の構成を示すブロック図である。車両制御装置１００は、車両２００の動作を制御する装置であり、ＣＰＵ１１０、制御部１２０、通信部１３０、記憶装置１４０を備える。
【００１９】
制御部１２０は、車両２００を制御するための制御演算を実施する機能部である。制御部１２０は、制御パラメータ１５０を用いて制御演算を実施し、さらに車両２００に固有のパラメータを制御パラメータ１５０に対して反映して上書更新する。制御部１２０は、その機能を実装した回路デバイスによって構成することもできるし、同等の機能を実装したソフトウェアをＣＰＵ１１０が実行することによって構成することもできる。以下では図２に示すようにＣＰＵ１１０が制御部１２０を実行する構成を前提として説明する。ただし記載の便宜上、制御部１２０を動作主体として説明する場合もある。
【００２０】
通信部１３０は、適当な通信インターフェースを用いて車外と通信する。例えばサーバ１６に対して制御パラメータを送信するよう要求し、その応答としてサーバ１６から制御パラメータを受信する。制御部１２０は、その受信した制御パラメータを記憶装置１４０内に自身の制御パラメータ１５０として格納する。
【００２１】
図３は、制御パラメータ１５０の１例を示す図である。ここではエンジンの点火時期についての学習結果を記録する際に一般的に用いられる学習値マップを例示した。横軸はエンジン回転数、縦軸はエンジン負荷である。これら２つのパラメータをキーとしてマップを照会することにより、対応する学習値を取得することができる。理想的なエンジン点火時期は当該車両固有の特性を有しているので、制御部１２０は例えば特許文献１〜３記載の手法により車両２００固有のパラメータを学習し、その結果を新たな制御パラメータ１５０として上書更新することができる。
【００２２】
図４は、学習値マップのうち未学習の部分を例示する図である。実際の走行においては図３のような学習値マップが示す全ての領域を均等に学習することは困難であり、例えば図４の斜線で示す領域の学習頻度が少なくなる可能性がある。そこで、これら未学習領域の制御パラメータについては、サーバ１６から他の車両の制御パラメータを取得してこれを流用することにより、車両制御装置１００が自ら学習したのと同様の状態にすることが考えられる。
【００２３】
車両制御装置１００は、原則として車両２００固有の個体差を学習することが望ましいので、車両２００の出荷直後から他車両の制御パラメータを流用するのは妥当でない。そこで車両制御装置１００が他の車両の制御パラメータを取得するのに適したタイミングとして、例えば学習後の制御パラメータがあらかじめ設定した許容範囲を超えるなどの異常値に達した時点が考えられる。学習結果が異常値に達した場合、一般に車両制御装置１００は学習済の制御パラメータを初期化するので、それまでの学習結果が白紙になり、改めて充分な学習結果を得るまでには時間がかかるからである。
【００２４】
学習値マップを初期化する際に他車両から取得した制御パラメータを初期値として用いるのに適しているのは、図４に示す未学習領域である。しかし学習済領域についても、いったん初期化されてから充分な学習経験を経るまで相応の時間が必要であることに鑑み、他車両から取得した制御パラメータを初期値として用いてもよい。いずれの領域を他車両から取得するかについては、車両の特性など諸条件に基づき適宜定めることができる。
【００２５】
図５は、車両１１がサーバ１６に対して学習済の制御パラメータを送信する手順を説明するフローチャートである。本フローチャートは、車両１１が備えている車両制御装置が例えば周期的に実施することができる。以下では記載の便宜上、車両１１を動作主体とする。以下図５の各ステップについて説明する。
【００２６】
（図５：ステップＳ５０１）
車両１１は、制御パラメータをサーバ１６に対して送信する条件が成立しているか否かを判定する。成立している場合はステップＳ５０２へ進み、成立していない場合は本フローチャートを終了する。本ステップにおける送信条件としては、送信することができる制御パラメータを車両１１が保持しており、かつ通信回線が途切れていないなどの送信可能要件が満たされている前提の下、例えば以下のようなものが考えられる。
【００２７】
（図５：ステップＳ５０１：送信条件の例その１）
サーバ１６は、例えば周期的に車両１１に対して現在保持している制御パラメータを送信するように要求することができる。車両１１は、その要求を受信することを送信条件とすることができる。例えば車両１１のメンテナンス時において車両１１とサーバ１６との間が固定的に接続された場合が、本条件を用いるのに適している。
【００２８】
（図５：ステップＳ５０１：送信条件の例その２）
車両１１は、例えばイグニッションスイッチがＯＮまたはＯＦＦされるときを契機として、現在保持している制御パラメータをサーバ１６に対して送信することができる。例えば制御パラメータのデータサイズが大きく、頻繁に送信すると通信負荷が過大になるような場合は、本送信条件を用いることが望ましい。
【００２９】
（図５：ステップＳ５０１：送信条件の例その３）
車両１１は、制御パラメータを更新するごとに、現在保持している制御パラメータをサーバ１６に対して送信することができる。制御パラメータのなかでも比較的データサイズが小さいものや、比較的変動幅が大きく車両の制御に対して与える影響が大きいものについては、その制御パラメータのみ本送信条件にしたがって送信することもできる。
【００３０】
（図５：ステップＳ５０２）
車両１１は、現在保持している制御パラメータをサーバ１６に対して送信する。このとき、（ａ）車両１１の車種または型番、（ｂ）車両１１の走行済距離、（ｃ）車両１１が出荷されてからの経過年数、（ｄ）車両が搭載しているオプション部品のタイプのうち車両１１の走行性能に対して影響を与えるもの、（ｅ）サーバ１６に対して送信する制御パラメータの種別および範囲、のうち少なくともいずれかを併せて送信する。
【００３１】
（図５：ステップＳ５０２：補足その１）
車両の車種や型番が同じである場合、いずれかの車両が学習済である制御パラメータは他の車両にとっても概ね有用であると考えられる。そこでサーバ１６は、車種（または型番、以下同様）ごとに制御パラメータを区分し、同じ車種の車両から提供された学習済の制御パラメータを提供することとした。そこで本ステップにおいて、上記（ａ）を併せて送信し、サーバ１６はその情報にしたがって制御パラメータを分類して保持する。上記（ｂ）〜（ｅ）についても同様の理由で併せて送信し、サーバ１６はそれぞれ分類して制御パラメータを分類することができる。
【００３２】
（図５：ステップＳ５０２：補足その２）
車両１１が備えているオプション部品のタイプによっては、車両１１の走行性能に対して影響を与えるものがあり、かかる部品は制御パラメータの学習結果に対しても影響を与えると考えられる。例えば車重に対して影響を与えるオプション部品（ルーフに設置する荷台など）が１例である。そこで本ステップにおいて、当該情報を車両１１の属性として送信することもできる。
【００３３】
（図５：ステップＳ５０２：補足その３）
車両１１は、必ずしも自身が保持している全ての制御パラメータをサーバ１６に対して送信する必要はなく、必要なもののみ送信することもできる。さらには、同じ制御パラメータであっても、例えば図３〜図４に例示する学習値マップのように配列データとして構成されているものについては、一部の配列要素（例えば図４の斜線部）のみをサーバ１６に対して送信することもできる。そこで本ステップにおいて、いずれの制御パラメータ、あるいはそのうちいずれの範囲を送信するかについて特定するため、上記（ｅ）を併せて送信することもできる。
【００３４】
図６は、サーバ１６が各車両から制御パラメータを集約する手順を説明するフローチャートである。サーバ１６は、いずれかの車両から制御パラメータを受信するごとに本フローチャートを実施することにより、各車両から制御パラメータを集約する。以下図６の各ステップについて説明する。
【００３５】
（図６：ステップＳ６０１）
サーバ１６は、受信した制御パラメータを集約する条件が成立しているか否かを判定する。成立している場合はステップＳ６０２へ進み、成立していない場合は本フローチャートを終了する。本ステップにおける集約条件としては、例えば受信した制御パラメータおよび車両の属性情報（ステップＳ５０２において制御パラメータとともに送信される車種などの情報）が破損／欠損していないことが挙げられる。
【００３６】
（図６：ステップＳ６０２）
サーバ１６は、ステップＳ６０１において受信した車両の属性情報にしたがって制御パラメータを分類し、該当する分類の制御パラメータを受信した値にしたがって更新する。複数の車両から同一の制御パラメータについて学習結果を受信する場合もあるので、必ずしも最後に受信した値をそのまま保持する必要はない。例えば、（ａ）同じ制御パラメータについては送信元車両の台数を基準として平均値を保持する、（ｂ）更新前後いずれかの値に大きい重みを持たせた加重平均を保持する、（ｃ）所定の補正値を加味して更新後の値を求める、などの例が考えられる。
【００３７】
図７は、サーバ１６から車両２００に対して制御パラメータを配信する手順を説明するフローチャートである。サーバ１６は、例えば車両２００（すなわち車両制御装置１００）から制御パラメータを配信するよう要求するリクエストを受け取ったとき、本フローチャートを実施することができる。以下図７の各ステップについて説明する。
【００３８】
（図７：ステップＳ７０１）
サーバ１６は、制御パラメータを車両２００に対して配信するための条件が成立しているか否かを判定する。具体的には、送信することができる制御パラメータをサーバ１６が保持しており、かつ通信回線が途切れていないなどの送信可能要件が満たされていることが必要である。条件が成立している場合はステップＳ７０２へ進み、成立していない場合は例えば配信エラーを車両２００に対して返信した上で本フローチャートを終了する。
【００３９】
（図７：ステップＳ７０２）
サーバ１６は、車両２００が制御パラメータを送信するようリクエストするとき併せて通知する属性情報にしたがって、送信すべき制御パラメータを特定する。ここでいう属性情報は、ステップＳ５０２において車両１１が制御パラメータを送信する際に併せて送信するものと同様のものである。
【００４０】
（図７：ステップＳ７０３）
サーバ１６は、ステップＳ７０２において特定した制御パラメータを車両２００に対して送信する。
【００４１】
図８は、車両制御装置１００がサーバ１６から他車両の制御パラメータを取得してこれを自身の制御パラメータとして用いる手順を説明するフローチャートである。本フローチャートは、車両制御装置１００が備える制御部１２０が実施する。以下図８の各ステップについて説明する。
【００４２】
（図８：ステップＳ８００）
制御部１２０は、制御パラメータ１５０があらかじめ設定した許容範囲を超えたか否かなどに基づき、異常値に達したか否かを例えば周期的にチェックする。異常値に達している場合は制御パラメータ１５０を初期化するとともに、本フローチャートを開始する。初期化する範囲は必ずしも全ての制御パラメータ１５０の全範囲にわたる必要はなく、個々の制御パラメータのうち異常値に達したもの、さらにはそのなかで異常値に達した配列要素（例えば図４の斜線部）のみを初期化することもできる。
【００４３】
（図８：ステップＳ８００：補足）
制御部１２０は、必ずしも制御パラメータ１５０が異常値に達していない場合であっても、これを初期化する場合もある。例えばメンテナンス作業にともなう初期化などが考えられる。制御部１２０は、かかる場合においても本フローチャートを実施することができる。
【００４４】
（図８：ステップＳ８０１）
制御部１２０は、サーバ１６から他車両の制御パラメータを取得するための条件が成立しているか否かを判定する。具体的には、通信部１３０が制御パラメータを受信することができる状態にあることが必要である。条件が成立している場合はステップＳ８０２へ進み、成立していない場合は例えば所定時間後に本フローチャートを再実施するようセットした上で本フローチャートを終了する。
【００４５】
（図８：ステップＳ８０２）
制御部１２０は、車両２００の属性情報と併せて、制御パラメータを送信するよう要求するリクエストをサーバ１６に対して送信する。ここでいう属性情報は、サーバ１６から取得する制御パラメータを特定するためのものであり、ステップＳ５０２およびＳ７０２と同様のものである。
【００４６】
（図８：ステップＳ８０２：補足）
制御部１２０は、他車両から取得する必要がある制御パラメータおよびその配列要素のみを送信するように、サーバ１６に対して要求することができる。例えばエンジン点火タイミングの学習値マップのうち本フローチャート開始時点で未学習である部分（例えば図４の斜線部）のみサーバ１６から取得することができる。あるいはより早く既学習と同等の状態に到達することが望ましい場合は、本フローチャート開始時点で学習済であった制御パラメータあるいはその配列要素についても、サーバ１６から取得することができる。
【００４７】
（図８：ステップＳ８０３）
制御部１２０は、通信部１３０を介してサーバ１６に対してリクエストした制御パラメータを受信する。
【００４８】
（図８：ステップＳ８０４）
制御部１２０は、受信した制御パラメータを記憶装置１４０内に新たな制御パラメータ１５０として格納する。制御部１２０は以後、新たな制御パラメータ１５０を用いて車両２００を制御する。
【００４９】
＜本発明のまとめ＞
本発明に係る車両制御装置１００は、制御パラメータ１５０が異常値に達するなどを契機としてこれを初期化したとき、サーバ１６から他車両の制御パラメータを取得し、これを初期値として用いる。これにより、制御パラメータ１５０を初期化した後、速やかに学習済と同等の状態に達することができる。
【００５０】
＜本発明の変形例について＞
本発明は上記実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【００５１】
図３〜図４において、制御パラメータ１５０の例としてエンジン点火タイミングの学習値マップを例示したが、その他制御パラメータおよび配列要素であっても、同様にサーバ１６から他車両の学習済パラメータを取得することができる。
【００５２】
サーバ１６と各車両との間の通信手段は、必ずしも無線通信に限られるものではなく、有線通信であってもよい。例えば車両のメンテナンス時において制御パラメータを送受信する際には、有線接続を介してサーバ１６と各車両が通信することが考えられる。
【００５３】
以上の説明において、制御パラメータ１５０を初期化するとき他車両の制御パラメータをサーバ１６から取得することを説明したが、初期化と同等の状況が発生した場合も同様にサーバ１６から他車両の制御パラメータを取得してもよい。例えば車両２００の部品（排気触媒など）を交換した直後は制御パラメータが非連続的に変化すると考えられるので、これを初期化と類似する状況とみなして本発明と同様の処理を実施することが考えられる。部品が交換されたか否かを車両制御装置１００が認識する手段としては、例えばメンテナンス時にその旨の信号を車両制御装置１００の外部から与えることが考えられる。
【符号の説明】
【００５４】
１６：サーバ、１００：車両制御装置、１１０：ＣＰＵ、１２０：制御部、１３０：通信部、１４０：記憶装置、１５０：制御パラメータ、２００：車両。
【図１】
0006471106.tif 000002
【図２】
0006471106.tif 000003
【図３】
0006471106.tif 000004
【図４】
0006471106.tif 000005
【図５】
0006471106.tif 000006
【図６】
0006471106.tif 000007
【図７】
0006471106.tif 000008
【図８】
0006471106.tif 000009