(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024076135
(43)【公開日】2024-06-05
(54)【発明の名称】車両制御装置、車両制御システムおよび車両制御方法
(51)【国際特許分類】
B60R 16/02 20060101AFI20240529BHJP
G06F 11/07 20060101ALI20240529BHJP
G06N 20/00 20190101ALI20240529BHJP
G06F 11/18 20060101ALI20240529BHJP
【FI】
B60R16/02 660G
G06F11/07 196
G06N20/00 130
G06F11/18 680
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022187542
(22)【出願日】2022-11-24
(71)【出願人】
【識別番号】000237592
【氏名又は名称】株式会社デンソーテン
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】奥原 誠
【テーマコード(参考)】
5B034
5B042
【Fターム(参考)】
5B034AA04
5B034CC01
5B042GB08
5B042KK04
(57)【要約】
【課題】お互いに異なるシステム間の切替において車両制御を円滑に引き継ぐこと。
【解決手段】実施形態に係る車両制御装置は、車両を制御する第1コントローラから取得した第1制御値に応じて、車両を駆動するアクチュエータを制御する第2コントローラを備え、第2コントローラは、第1コントローラによる制御中に、第1コントローラから取得した第1制御値とバックアップ制御用の第2制御値との差分に基づいて補正値を学習処理し、第1コントローラが異常である場合に、第2制御値を補正値で補正した第3制御値に応じて前記アクチュエータの制御を行う。
【選択図】
図1
【特許請求の範囲】
【請求項1】
車両を制御する第1コントローラから取得した第1制御値に応じて、前記車両を駆動するアクチュエータを制御する第2コントローラを備え、
前記第2コントローラは、
前記第1コントローラによる制御中に、前記第1コントローラから取得した前記第1制御値とバックアップ制御用の第2制御値との差分に基づいて補正値を学習処理し、
前記第1コントローラが異常である場合に、前記第2制御値を前記補正値で補正した第3制御値に応じて前記アクチュエータの制御を行う、
車両制御装置。
【請求項2】
前記第1コントローラは、
外部から得たアプリケーションの情報を記憶する第1のメモリ領域と、
前記第1のメモリ領域よりセキュアな第2のメモリ領域と、
を有し、
前記第2コントローラは、
前記第2のメモリ領域に設けられたインタフェースを介して情報の入出力を前記第1コントローラとの間で行う、
請求項1に記載の車両制御装置。
【請求項3】
前記第2コントローラは、
センサから取得した入力情報を前記第1コントローラに出力するとともに、前記入力情報に基づいて前記第2制御値を生成し、
前記第1制御値は、
前記第2コントローラから取得した前記入力情報に基づいて前記第1コントローラで生成される、
請求項1に記載の車両制御装置。
【請求項4】
前記第2コントローラは、
前記補正値をゲインマップから生成し、
前記学習処理で前記ゲインマップを学習する、
請求項1に記載の車両制御装置。
【請求項5】
前記第2コントローラは、
前記第1コントローラに異常が生じた後に、前記車両の電源がオフになるまで前記車両の制御を継続する、
請求項1に記載の車両制御装置。
【請求項6】
車両を制御する第1コントローラと、
前記車両を駆動するアクチュエータを制御する第2コントローラを備え、
前記第2コントローラは、
前記第1コントローラによる制御中に、前記第1コントローラから取得した第1制御値とバックアップ制御用の第2制御値との差分に基づいて補正値を学習処理し、
前記第1コントローラが異常である場合に、前記第2制御値を前記補正値で補正した第3制御値に応じて前記アクチュエータの制御を行う、
車両制御システム。
【請求項7】
車両を制御する第1コントローラから取得した第1制御値に応じて、前記車両を駆動するアクチュエータを制御する第2コントローラによって実行される車両制御方法であって、
前記第1コントローラによる制御中に、前記第1コントローラから取得した前記第1制御値とバックアップ制御用の第2制御値との差分に基づいて補正値を学習処理し、
前記第1コントローラが異常である場合に、前記第2制御値を前記補正値で補正した第3制御値に応じて前記アクチュエータの制御を行う、
車両制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両制御装置、車両制御システムおよび車両制御方法に関する。
【背景技術】
【0002】
昨今、自動車の付加価値がソフトウエアにシフトする市場トレンドがあり、SF(ソフトウェアファースト)が提唱されている。SF化の対象となる制御アプリケーションは、主に自動車メーカによって開発される。一方、BSW(Basic Software)と言われるプラットフォームソフトは、主にECU(Electronic Control Unit)サプライヤによって開発される。つまり、制御アプリケーションに関するシステムと、プラットフォームソフトに関するシステムとの開発主体は異なるので、両システムはお互いに異なるシステムである。
【0003】
また、自動車の制御システムでは、制御アプリケーション等の制御機能の異常に備えて、バックアップシステムを搭載することが求められる。なお、同一のモータシステムを2つ有している冗長システムにおいて、一方のモータシステムの異常発生時に他方のモータシステムで制御を代替えする事態に備えて各モータシステムにおけるモータの特性を予め学習する技術が開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記した特許文献1に記載の技術は、同一のシステム間での切替に関する技術である。
【0006】
つまり、この技術は、類似する制御アプリケーション間での切替であり、基本的にどちらも同じメーカによって開発されるため、切替時に円滑に引き継ぐための機能を盛り込むことは容易である。
【0007】
しかしながら、制御アプリケーションに関するシステムの異常時に、プラットフォームソフトに関するシステムでバックアップする場合のように、お互いに異なるシステム間の切替の場合は、それぞれのシステムの開発を異なるメーカが行っている場合が多く、切替時に円滑に引き継ぐための機能を盛り込むことは容易ではない。
【0008】
本発明は、上記に鑑みてなされたものであって、お互いに異なるシステム間の切替において車両制御を円滑に引き継ぐことができる車両制御装置、車両制御システムおよび車両制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、本発明に係る車両制御装置は、車両を制御する第1コントローラから取得した第1制御値に応じて、前記車両を駆動するアクチュエータを制御する第2コントローラを備え、前記第2コントローラは、前記第1コントローラによる制御中に、前記第1コントローラから取得した前記第1制御値とバックアップ制御用の第2制御値との差分に基づいて補正値を学習処理し、前記第1コントローラが異常である場合に、前記第2制御値を前記補正値で補正した第3制御値に応じて前記アクチュエータの制御を行う。
【発明の効果】
【0010】
本発明によれば、お互いに異なるシステム間の切替において車両制御を円滑に引き継ぐことができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、車両制御システムの構成例を示す図である。
【
図2】
図2は、制御切り替え時における車両制御の一例を示す模式図である。
【
図3】
図3は、制御系マイコンによる処理モードの一例を示す図である。
【
図5】
図5は、ゲインマップの一例を示す図である。
【
図6】
図6は、制御系マイコンが実行する処理手順を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本願の開示する車両制御装置、車両制御システムおよび車両制御方法について説明する。なお、以下に示す実施形態により本発明が限定されるものではない。
【0013】
まず、
図1を用いて、実施形態に係る車両制御システムの構成例について説明する。
図1は、車両制御システムの構成例を示すブロック図である。
図1に示す車両制御システム1は、図示しない車両(自動車)に搭載される。
【0014】
図1に示すように、車両制御システム1は、情報の入力を受け付けるIoTマイコン10と、車両を制御する処理を実行する制御系マイコン20と、を有する。IoTマイコン10は、第1コントローラの一例であり、制御系マイコン20は、車両制御装置および第2コントローラの一例である。また、IoTマイコンおよび制御系マイコン20は、それぞれプロセッサ(例えば、CPU(Central Processing Unit))を有する。
【0015】
IoTマイコン10は、アプリケーションの情報を記憶するノンセキュア領域11と、ノンセキュア領域11よりセキュアなセキュア領域12を有する。IoTマイコン10と制御系マイコン20は、IoTマイコン10のセキュア領域12に設けられたインタフェースを介して情報の入出力を行う。
【0016】
このように、車両制御システム1は、IoTマイコン10と制御系マイコン20とがIoTマイコン10のセキュア領域12のサービスIF121を介して接続可能となる。そのため、車両制御システム1は、IoTマイコン10と制御系マイコン20とを個別に開発可能であり、制御系アプリのソフト開発効率化及びソフトの更新が容易になる。また、IoTマイコン10と制御系マイコン20との間の情報の入出力は、セキュア領域12のサービスIF121を介して行われるため、セキュリティを確保することができる。
【0017】
例えば、ノンセキュア領域11およびセキュア領域12は、それぞれTrustZone(登録商標)におけるノーマルワールドおよびセキュアワールドに相当する。例えば、ノンセキュア領域11およびセキュア領域12は、記憶領域のパーティション分割によって実現可能である。なお、ノンセキュア領域11は、第1の記憶領域の一例に対応し、セキュア領域12は、第2の記憶領域の一例に対応する。
【0018】
ノンセキュア領域11に配置されたアプリケーションは、セキュア領域12のリソースには直接アクセスすることができない。このため、セキュア領域12は、セキュアなメモリ領域ということができる。ここでセキュアとは、外部からの侵入や不正な操作、破壊、改変、情報の漏洩、消去、奪取、通信の妨害等から守られた状態又は守られたレベルが高い状態であることを意味する。
【0019】
IoTマイコン10は、BLE(Bluetooth Low Energy)141、USB(Universal Serial Bus)142、音声IF143といったコネクティッドIFを有する。これにより、IoTマイコン10は、OTA(Over The Air)による通信を行うことができる。
【0020】
なお、コネクティッドIFとは通信や接続を可能とするインタフェースであり、例えば、機器間の通信や接続のためのインタフェース、IoTマイコン10と外部との通信や接続のためのインタフェース、機器とユーザ間のインタフェース等である。
【0021】
また、IoTマイコン10は、例えばクラウドを含む外部から無線通信等によりアプリ情報を取得し、ノンセキュア領域11に配置し、また、既にノンセキュア領域11に配置されたアプリ情報を更新する。なお、車両制御システム1の外部から取得されたアプリ情報をセキュア領域12に配置することは禁止されているものとする。ここで、アプリ情報を配置することは記憶させることと同義である。アプリ情報は、アプリケーションのパッケージファイルである。なお、以降の説明では、アプリケーションを省略し、アプリと表記する場合がある。
【0022】
図1の例では、ノンセキュア領域11に、アプリ情報111、アプリ情報112およびアプリ情報113の3つのアプリ情報が配置される場合を例示しているが、アプリ情報の数はいくつであってもよい。
【0023】
例えば、各アプリ情報に対応するアプリケーションは、車両(自動車)の制御を行うものや、BLE141、USB142のようなコネクティッドIFに関連するものを含む。アプリケーションには、トルク制御、バッテリ制御、アクセル等の走行制御を行うもの、車両の情報を取得し、スマートフォン等のユーザの端末に受け渡す機能を持つもの、音声で制御系に指示を出すもの等がある。
【0024】
例えば、アプリケーションの開発者は、アプリケーションの開発が完了次第、クラウドを経由してOTAでIoTマイコン10の書き換えを行うことで、アプリ情報を配置することができる。
【0025】
セキュア領域12には、サービスIF121および認証部122が配置される。サービスIF121は、制御系マイコン20から入力される情報を取得する機能と、IoTマイコン10に記憶された車両の制御を行うアプリケーションの実行に応じて、制御系マイコン20のBSWに指示を出す機能とを有する。
【0026】
認証部122は、ノンセキュア領域11に配置されるアプリ情報が正規品であることを認証する。例えば、IoTマイコン10がOTAによりクラウドからダウンロードしたアプリ情報の認証を行う。例えば、認証部122は、アプリ情報に付与された暗号キーが正規のものであるか否かを確認する。
【0027】
例えば、認証部122は、ダウンロードされたアプリ情報が正規にアプリケーションストアで配布されているものであるか否かを安全と判断されたアプリケーションやプログラムのリストであるホワイトリストにより確認する。
【0028】
例えば、ホワイトリストには、正規にアプリケーションストアで配布されているアプリケーションのリスト、又は、事前に正規であることが認証されたプログラム等のリストが掲載される。
【0029】
VMM(Virtual Machine Monitor:仮想調停領域)13は、ノンセキュア領域11およびセキュア領域12のプロセッサの実行権限の調停を行う。なお、サービスIF121、認証部122、VMM13、および各アプリ情報に対応するアプリケーションの実行は、IoTマイコン10に備えられたプロセッサによって実現される。
【0030】
制御系マイコン20は、例えば、IoTマイコン10と比べて品質および安全性が高いマイコンであり、例えば、ISO26262の規格に対応したマイコンである。例えば、制御系マイコンは車両メーカのサプライヤ等により開発される。
【0031】
図1に示すように、制御系マイコン20は、切替部21、バックアップ制御アプリ22、BSW(Basic Software)23を有する。切替部21、バックアップ制御アプリ22、BSW23は、制御系マイコン20に備えられたプロセッサによって実現される。
【0032】
切替部21およびバックアップ制御アプリ22は、フェイルセーフ処理を実行するバックアップシステムである。なお、フェイルセーフ処理の具体例については後述する。BSW23は、プラットフォームソフトウェアであり、アプリ情報が必要とする共通機能を提供する。
【0033】
BSW23は、IoTマイコン10が正常に動作している場合、IoTマイコン10からサービスIF121を介して入力される制御情報に基づいて車両制御を行う。また、BSW23は、IoTマイコン10に異常が生じた場合、バックアップ制御アプリ22から入力される制御情報に基づいて車両制御を行う。なお、BSW23による車両制御は、各ECU(Electronic Control Unit)に対して制御情報を出力することを意味する。
【0034】
また、制御系マイコン20は、CAN(Controller Area Network)241、GPIO(General Purpose Input/Output)242、AD(Analog to Digital Converter)243等のIOインタフェースを有する。
【0035】
また、IoTマイコン10と制御系マイコン20との間の通信には、シリアル通信、CAN通信、イーサネット(登録商標)、無線通信(Bluetooth(登録商標)、Wi-Fi(登録商標)等)が使用される。
【0036】
ところで、制御系マイコン20の切替部21は、IoTマイコン10に異常が発生しているか否かを判定し、IoTマイコン10に異常が発生したと判定した場合、制御系マイコン20のバックアップ制御アプリ22による車両制御へ切り替える。
【0037】
すなわち、制御系マイコン20は、IoTマイコン10が正常であれば、制御系マイコン20に接続されたセンサの入力情報をIoTマイコン10に渡し、入力情報に基づいてIoTマイコン10によって算出された出力情報をアクチュエータへ出力する。
【0038】
一方、制御系マイコン20は、IoTマイコン10に異常が発生した場合には、センサの入力情報に基づいてバックアップ制御アプリ22で算出した出力情報をアクチュエータへ出力する。
【0039】
ここで、上述のように、ノンセキュア領域11に配置されるアプリ情報を自動車メーカが開発し、バックアップ制御アプリ22をECUサプライヤが開発するなど、双方のシステム開発主体が異なる場合が想定される。
【0040】
そのため、例えば、ノンセキュア領域11に配置されるアプリ情報からバックアップ制御アプリ22へ制御を切り替える際に、切替前後で車両制御が乱れるおそれがある。
図2は、制御切り替え時における車両制御の一例を示す模式図であり、課題の概要説明図である。
【0041】
なお、以下では、ノンセキュア領域11に配置されるアプリ情報が車両を駆動させるモータのトルク算出アプリである場合を例に挙げて説明する。また、以下では、「ノンセキュア領域11に配置されるアプリ情報であるトルク算出アプリ」を「ユーザアプリ」と記載する場合がある。なお、ここでのモータは、アクチュエータの一例に対応する。
【0042】
図2に示すように、ユーザアプリおよびバックアップ制御アプリ22は、それぞれ異なるトルクマップA、トルクマップBに基づいてモータのトルク出力を算出する。なお、トルクマップは、トルク、モータ回転数(回転数)、および、アクセル開度を対応付けた制御マップであるが、
図2では、説明を簡潔にするため、トルクマップがトルクおよび回転数の2次元のマップである場合について示している。
【0043】
ユーザアプリおよびバックアップ制御アプリ22は、アクセル開度に関する入力情報に基づき、トルクマップA、トルクマップBを参照した演算処理によってトルク値を算出する。ユーザアプリによって算出されるトルク値は、第1制御値に対応し、バックアップ制御アプリ22によって算出されたトルク値は、第2制御値に対応する。
【0044】
ユーザアプリおよびバックアップ制御アプリ22では、双方のアプリの開発者が異なるので、ユーザアプリが参照するトルクマップAと、バックアップ制御アプリ22が参照するトルクマップBとはトルクおよび回転数の関係性が異なるトルクマップである。そのため、ユーザアプリからバックアップ制御アプリ22へ制御が切り替わるタイミングで、双方のトルクマップの相違からトルク出力に乱れが生じ、ハンチングが発生するおそれがある。
【0045】
そこで、実施形態に係る制御系マイコン20は、ユーザアプリが参照するトルクマップAと、バックアップ制御アプリ22が参照するトルクマップBの差分を学習し、バックアップ制御アプリ22による制御中は、当該差分を補正して車両制御を行うこととした。
【0046】
具体的には、制御系マイコン20は、ユーザアプリへ入力される入力情報(アクセル開度)と、入力情報に対してユーザアプリから出力される出力情報(トルク値)とに基づいて第1制御値と第2制御値との差分を学習する処理モードを設けることとした。
【0047】
図3は、制御系マイコン20による処理モードの一例を示す図である。
図3に示すように、制御系マイコン20は、IoTマイコン制御中(ユーザアプリ制御中)である場合、ゲイン学習モードで動作する。なお、ゲイン学習モードの具体例については後述する。
【0048】
また、制御系マイコン20は、IoTマイコン10に異常が生じた場合等に、IoTマイコン10から制御系マイコン20へ制御が切り替わると、後述するゲインマップを反映するゲインマップ反映モードへ移行する。ゲインマップ反映モードは、ゲイン学習モードの学習結果を制御系マイコン20で保持するゲインマップに反映させるモードである。
【0049】
その後、制御系マイコン20は、ゲインマップ反映モードの処理結果に基づき、ゲイン学習モードの学習結果を反映したゲインマップに基づいて、車両制御を行う制御モードへ移行する。これらの一連の処理によって、制御系マイコン20のバックアップ制御アプリ22は、ユーザアプリから制御が切り替わる際のハンチング(
図2参照)を抑制することができる。
【0050】
ここで、制御系マイコン20によるIoTマイコン10の異常判定について説明しておく。制御系マイコン20の切替部21は、IoTマイコン10による異常通知、あるいは、IoTマイコン10と間で発生する通信異常に基づいてIoTマイコン10の異常判定を行う。
【0051】
IoTマイコン10は、IoTマイコン10に内蔵されたWDT(Watch Dog Timer)、IoTマイコン10のROM/RAMチェック(例えば、パリティチェック、ECC(Error-Correcting Code)、チェックサム、CRC(Cyclic Redundancy Check))等によってIoTマイコン10自身の異常を判定する。
【0052】
また、制御系マイコン20は、IoTマイコン10との通信途絶、通信データの異常(パリティチェック、ECC、チェックサム、CRC)によって、IoTマイコン10の異常を判定する。
【0053】
そして、制御系マイコン20の切替部21は、IoTマイコン10が異常であると判定すると、バックアップ制御アプリ22をゲイン学習モードからゲインマップ反映モード、制御モードへ処理モードを随時切り替えることになる。
【0054】
また、制御系マイコン20の切替部21は、IoTマイコン10が異常であると判定した後に、IoTマイコン10のサービスIF121を介して入力される車両制御に関する情報を無効にする。これにより、IoTマイコン10に異常が生じた場合には、バックアップ制御アプリ22による車両制御へ適切に切り替えることができる。
【0055】
IoTマイコン10の異常発生後において、バックアップ制御アプリ22は、車両の電源がオフになるまで継続して車両制御を実行する。すなわち、異常発生後において、バックアップ制御アプリ22は、車両が停車するまで車両制御を継続して行うことになる。
【0056】
その後、例えば、車両の電源がオンになった後にIoTマイコン10内の各種初期チェック等により、異常の解消が確認できた場合に、IoTマイコン10による制御が開始されることになる。
【0057】
このように、IoTマイコン10の異常発生後において、バックアップ制御アプリ22は、車両の電源がオフになるまで継続して車両制御を実行することで、安全な状態で車両制御を実行することができる。なお、制御系マイコン20は、異常発生後において、IoTマイコン10が正常に動作することが確認できれば、IoTマイコン10へ車両制御の権限を移すようにしてもよい。
【0058】
次に、
図4を用いて、ゲイン学習モードの具体的な処理について説明する。
図4は、ゲイン学習モードの概念説明図である。
図4に示すように、ゲイン学習モードにおいて、IoTマイコン10のトルク算出アプリは、入力(例えば、アクセル開度)に応じて第1制御値Sg1を算出する。
【0059】
同様に、制御系マイコン20のバックアップ制御アプリ22もIoTマイコン10に入力される入力に応じて第2制御値Sg2を算出する。IoTマイコン10は、トルク算出アプリによって算出された第1制御値Sg1およびバックアップ制御アプリ22によって算出された第2制御値Sg2に応じてゲイン学習を行う。
【0060】
ゲイン学習は、「ゲイン=第1制御値Sg1/第2制御値Sg2」を随時算出することで行われる。また、ゲイン学習の結果は、第2制御値Sg2を補正する際に利用される。具体的には、制御系マイコン20は、「第2制御値Sg2×ゲイン」によって第2制御値Sgを第3制御値Sg3へ補正する。
【0061】
また、
図4に示すように、制御系マイコン20は、IoTマイコン10が正常に機能している場合には、トルク算出アプリによって算出された第1制御値Sg1を出力し、IoTマイコン10に異常が生じた場合は、第2制御値Sg2をゲイン学習の結果を用いて補正した第3制御値Sg3を出力する。
【0062】
これにより、IoTマイコン10からバックアップ制御アプリ22に制御が移行する際に、円滑に制御を引き継ぐことが可能となる。
【0063】
なお、ゲイン学習モードにおいて、バックアップ制御アプリ22は、各アクセル開度において、逐次、ゲインを算出し、ゲインマップを更新する。この際、バックアップ制御アプリ22は、ゲイン学習毎に都度、最新値にゲインマップを更新してもよく、なまし演算による演算結果を用いてゲインマップを更新するようにしてもよい。
【0064】
なお、なまし演算は、「ゲインマップ(x)=前回ゲインマップ(x)+((ゲイン(x)-前回ゲインマップ(x))×なまし値)によって算出することができる。なお、上記式において、なまし値は0~1の任意の数値であり、「x」は回転数である。
【0065】
バックアップ制御アプリ22は、学習モードにおいて、ゲインマップを随時更新することになる。また、バックアップ制御アプリ22によって更新されたゲインマップは、車両の電源がオフになってもデータが消失しない不揮発性メモリに格納される。そして、バックアップ制御アプリ22は、車両の電源がオンになると、不揮発性メモリからゲインマップを読み出して使用する。
【0066】
ところで、例えば、バックアップ制御アプリ22は、すべての回転数についてゲインマップを生成できない場合もあり、ゲインマップの一部の回転数においてゲインが欠落する場合も想定される。
【0067】
この場合、バックアップ制御アプリ22は、ゲインマップの欠落箇所については、線形補間等の各種補間方法によって補間したゲインマップを生成する。これにより、バックアップ制御アプリ22では、ゲインマップの欠落箇所においても、車両制御を円滑に制御することができる。
【0068】
このように、バックアップ制御アプリ22は、ユーザアプリの入出力情報に基づいてゲインマップを生成する。これにより、制御系マイコン20では、バックアップ制御アプリ22のトルクマップの書き換えを行うことなく、バックアップ制御アプリ22による車両制御をユーザアプリの車両制御に近づけることができる。
【0069】
また、バックアップ制御アプリ22は、学習モードから制御モードへ処理モードが移行した場合には、アクセル開度に関する入力情報に基づき、トルクマップBを参照してトルクBを算出し、トルクBに対しゲインを乗算したうえで車両制御を行う。
【0070】
したがって、バックアップ制御アプリ22は、ゲインマップのゲインをトルクマップBから得られるトルクBに乗算することで、トルクBをユーザアプリによって本来算出されるトルクAの値に近づけることができる。
【0071】
これにより、バックアップ制御アプリ22では、ユーザアプリから制御が切り替わった場合に、ハンチングを伴うことなく制御を継続して行うことができる。
【0072】
次に、
図6を用いて、制御系マイコン20が実行する処理手順について説明する。
図6は、制御系マイコン20が実行する処理手順を示すフローチャートである。なお、ここでは、制御系マイコン20のバックアップ制御アプリ22がユーザアプリから制御を引き継ぐまでの一連の処理手順について説明する。
【0073】
図6に示すように、制御系マイコン20は、例えば、車両の電源がオンになったことを契機として、ゲイン学習を開始する(ステップS101)。なお、ゲイン学習は、第1制御特性と第2制御特性との差分の学習処理の一例に対応する。
【0074】
つづいて、制御系マイコン20は、IoTマイコン10に異常が発生したか否かを判定する(ステップS102)。制御系マイコン20は、IoTマイコン10に異常が発生したと判定した場合(ステップS102;Yes)、ゲイン学習を終了し(ステップS103)、制御系マイコン20が保持するゲインマップに学習結果を反映させる(ステップS104)。
【0075】
そして、制御系マイコン20は、ステップS104までの処理結果に基づいて、学習結果を反映させたゲインマップに基づいて制御を開始し(ステップS105)、処理を終了する。
【0076】
また、制御系マイコン20は、IoTマイコン10に異常が発生していないと判定した場合(ステップS102;No)、ゲイン学習を継続し(ステップS106)、ステップS102の判定処理へ戻る。
【0077】
上述したように、実施形態に係る制御系マイコン20(車両制御装置および第2コントローラの一例)は、車両を制御するIoTマイコン10(第1コントローラの一例)が異常である場合に、車両を制御する制御系マイコン20である。
【0078】
制御系マイコン20は、IoTマイコン10による制御中に、IoTマイコン10から取得した第1制御値とバックアップ制御用の第2制御値との差分に基づいて補正値を学習処理し、IoTマイコン10が異常である場合に、第2制御値を補正値で補正した第3制御値に応じてアクチュエータの制御を行う。したがって、実施形態に係る制御系マイコン20によれば、お互いに異なるシステム間の切替において車両制御を円滑に引き継ぐことができる。
【0079】
ところで、上述した実施形態では、アクチュエータがモータである場合について説明したが、これに限定されるものではない。アクチュエータは、例えば、パワーステアリングや、パワーウィンドウなど、車両に搭載されるその他のアクチュエータであってもよい。
【0080】
また、上述した実施形態では、第1制御特性および第2制御特性としてトルクマップを例に挙げて説明したが、第1制御特性および第2制御特性は、これに限定されるものではない。車両に搭載されたセンサに関する適合マップであってもよい。
【0081】
図7は、適合マップの一例を示す図である。
図7に示す適合マップは、縦軸にアクセルペダル開度を示し、横軸にアクセルペダル開度のAD値を示すマップである。なお、
図7の縦軸に示すアクセルペダル開度は、アクセルペダル開度を検出するアクセルペダル開度センサの検出結果であり、アナログ信号である。また、ここでのアクセルペダル開度は、車両に搭載されたセンサから入力される入力情報の一例であり、AD値は、変換情報の一例に対応する。
【0082】
適合マップA1および適合マップA2は、ユーザアプリがアナログ信号をAD変換する際に参照する制御マップである。例えば、アクセルペダルには、急発進を防ぐために遊び(クリアランス)が設定される。クリアランスは、車両毎に異なる他、経年劣化等によっても変化する。そのため、ユーザアプリは、適合マップA1のキャリブレーションを実施する。
【0083】
図7では、ユーザアプリによるキャリブレーションの結果、ユーザアプリが適合マップA1のクリアランスF1がクリアランスF2へ更新され、適合マップA1から適合マップA2へ更新された場合を示す。
【0084】
制御系マイコン20は、ユーザアプリへ入力されるアクセル開度と、ユーザアプリで変換されるアクセル開度のAD値とを随時取得し、取得したアクセル開度と、AD値とに基づいて随時ゲイン学習を行う。なお、ゲイン学習は、トルクマップに関するゲイン学習と同様の手法で行うことができる。
【0085】
そして、制御系マイコン20は、ゲイン学習の結果からゲインマップを生成し、生成したゲインマップに基づいて車両制御を行う。これにより、制御系マイコン20は、ユーザアプリによるキャリブレーション値を予め把握していなくとも、冗長対応が可能となる。なお、ここでは、アクセルペダル開度を例に挙げて説明したが、吸気温、大気圧、燃圧値など、ユーザアプリに入力される各種センサ情報についても同様にゲインマップを生成するようにしてもよい。
【0086】
また、ゲインマップの生成対象となるセンサは各アクチュエータの状態を検出するセンサであってもよい。各アクチュエータの状態を検出するセンサは、ステアリング操舵角や、車速を検出するセンサを含む。
【0087】
例えば、ユーザアプリは、ステアリング操舵角や、車速に関する適合マップについても同様にキャリブレーションを行い、ユーザアプリによるキャリブレーション後の適合マップを用いて車両制御を行う。
【0088】
そのため、制御系マイコン20は、各アクチュエータに関するゲイン学習を行うことで、キャリブレーション後の適合マップを用いたユーザアプリによる車両制御と同等の車両制御を行うことが可能となる。
【0089】
ところで、上述した実施形態では、車両を対象として制御を行う場合について説明したが、本願発明は、お互いに異なるシステムでバックアップ制御を行う他のシステムに適用されてもよい。
【0090】
また、上述した実施形態では、トルクマップやゲインマップに基づいて、各制御値や補正値を抽出する場合について説明したがこれに限定されるものではない。例えば、トルクマップやゲインマップに代えて、所定の計算式に基づいてこれらを導出するようにしてもよい。
【0091】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0092】
1 車両制御システム
10 IoTマイコン(第1コントローラの一例)
11 ノンセキュア領域
12 セキュア領域
13 VMM
20 制御系マイコン(車両制御装置および第2コントローラの一例)
21 切替部
22 バックアップ制御アプリ
23 BSW