【手続補正書】
【提出日】令和3年1月12日(2021.1.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
車両を制御するための制御プログラムを実行する実行部と、
前記制御プログラムを記憶する第１プログラム記憶領域と、前記車両の外部にある装置から、ネットワークを介して取得される更新データに基づく制御プログラムの更新版である更新プログラムを記憶する第２プログラム記憶領域とを含む記憶部と、
前記実行部が前記制御プログラムの実行中であるかに拘わらず、前記更新プログラムを前記第２プログラム記憶領域に記憶させる更新部とを備える、車両制御装置。
【請求項２】
車両を制御するためのソフトウェアを実行するマイクロコントローラと、
前記ソフトウェアを記憶する第１バンクと、前記車両の外部にあるセンタから、ネットワークを介して取得される更新データに基づくソフトウェアの更新版である更新ソフトウェアを記憶する第２バンクとを含むメモリとを備え、
前記マイクロコントローラは、前記更新ソフトウェアを前記第２バンクに書き込み中に、前記ソフトウェアを実行可能である、電子制御ユニット。
【請求項３】
車両を制御するためのソフトウェアを実行するマイクロコントローラと、
前記ソフトウェアを記憶するメモリと、
前記車両の外部にあるセンタから、ネットワークを介して取得される更新データに基づくソフトウェアの更新版である更新ソフトウェアを記憶する拡張メモリとを備え、
前記マイクロコントローラは、前記更新ソフトウェアを前記拡張メモリに書き込み中に、前記ソフトウェアを実行可能である、電子制御ユニット。
【請求項４】
車両を制御するためのソフトウェアを実行するマイクロコントローラと、
前記ソフトウェアを記憶する第１領域と、前記車両の外部にあるセンタから、ネットワークを介して取得される更新データに基づくソフトウェアの更新版である更新ソフトウェアを記憶する第２領域とを含むメモリとを備え、
前記マイクロコントローラは、前記更新ソフトウェアを前記第２領域に書き込み中に、前記ソフトウェアを実行可能である、電子制御ユニット。
【請求項５】
車両を制御するためのソフトウェアを実行するマイクロコントローラと、
前記ソフトウェアを記憶する第１メモリと、
前記車両の外部にあるセンタから、ネットワークを介して取得される更新データに基づくソフトウェアの更新版である更新ソフトウェアを記憶する第２メモリとを備え、
前記マイクロコントローラは、前記更新ソフトウェアを前記第２メモリに書き込み中に、前記ソフトウェアを実行可能である、電子制御ユニット。
【請求項６】
車両を制御するためのソフトウェアを実行するマイクロコントローラと、
前記ソフトウェアを記憶する第１バンクと、前記車両の外部にあるセンタから、ネットワークを介して取得される更新データに基づくソフトウェアの更新版である更新ソフトウェアを記憶する第２バンクとを含むメモリとを備える電子制御ユニットの前記マイクロコンピュータが実行する制御方法であって、
前記マイクロコントローラが、前記更新ソフトウェアを前記第２バンクに書き込み中に、前記ソフトウェアを実行するステップを含む、制御方法。
【請求項７】
車両を制御するためのソフトウェアを実行するマイクロコントローラと、
前記ソフトウェアを記憶するメモリと、
前記車両の外部にあるセンタから、ネットワークを介して取得される更新データに基づくソフトウェアの更新版である更新ソフトウェアを記憶する拡張メモリとを備える電子制御ユニットの前記マイクロコンピュータが実行する制御方法であって、
前記マイクロコントローラが、前記更新ソフトウェアを前記拡張メモリに書き込み中に、前記ソフトウェアを実行するステップを含む、制御方法。
【請求項８】
車両を制御するためのソフトウェアを実行するマイクロコントローラと、
前記ソフトウェアを記憶する第１バンクと、前記車両の外部にあるセンタから、ネットワークを介して取得される更新データに基づくソフトウェアの更新版である更新ソフトウェアを記憶する第２バンクとを含むメモリとを備える電子制御ユニットの前記マイクロコンピュータに実行させる、制御プログラムであって、
前記マイクロコントローラに、前記更新ソフトウェアを前記第２バンクに書き込み中に、前記ソフトウェアを実行させるステップを含む、制御プログラム。
【請求項９】
車両を制御するためのソフトウェアを実行するマイクロコントローラと、
前記ソフトウェアを記憶するメモリと、
前記車両の外部にあるセンタから、ネットワークを介して取得される更新データに基づくソフトウェアの更新版である更新ソフトウェアを記憶する拡張メモリとを備える電子制御ユニットの前記マイクロコンピュータに実行させる、制御プログラムであって、
前記マイクロコントローラに、前記更新ソフトウェアを前記拡張メモリに書き込み中に、前記ソフトウェアを実行させるステップを含む、制御プログラム。
【請求項１０】
請求項２または３に記載の電子制御ユニットを備える、車両。
【請求項１１】
請求項２または３に記載の電子制御ユニットに前記更新データを送信する、ＯＴＡマスタ。
【請求項１２】
請求項２または３に記載の電子制御ユニットと、
電子制御ユニットに前記更新データを送信するＯＴＡマスタとを備える、システム。
【請求項１３】
前記車両の外部にあるセンタと、
請求項２または３に記載の電子制御ユニットと、
前記センタから前記更新データをダウンロードし、ダウンロードした更新データを前記電子制御ユニットにＯＴＡマスタとを備える、システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【発明の名称】車両制御装置、電子制御ユニット、制御方法、制御プログラム、車両、ＯＴＡマスタ、システム及びセンタ
【技術分野】
【０００１】
本発明は、車両等に搭載される車両制御装置、電子制御ユニット、制御方法、制御プログラム、車両、ＯＴＡマスタ、システム及びセンタに関する。
【背景技術】
【０００２】
車両には、ＥＣＵ（Electronic Control Unit）と呼ばれる、記憶部および制御部（プ
ロセッサ）を備えた複数の制御装置が搭載されており、それぞれの制御部は、記憶部に格納されたプログラムを実行して、各種の車両制御のための処理を行う。
【０００３】
このようなプログラムは、機能の改良や追加のため更新されることがある。特許文献１は、プログラム更新用データをネットワーク経由で携帯端末装置にダウンロードして、携帯端末装置から車両にデータを提供してプログラムを書き換えることで更新を行うシステムを開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−６０４０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このようなプログラム更新においては、プログラム実行中にそのプログラムの更新のための書き換えを行うと不具合が起こるおそれがあるので、車両を停止し、例えばイグニッションスイッチをオフにしているときにプログラム書き換えを行う。このようにプログラム更新処理は、実行タイミングの制約があり、利便性等に改善の余地があった。
【０００６】
本発明は、上記課題に鑑み、プログラム更新時の利便性等を向上した車両制御装置等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一局面は、車両を制御するための制御プログラムを実行する実行部と、制御プログラムを記憶する第１プログラム記憶領域と、車両の外部にある装置から、ネットワークを介して取得される更新データに基づく制御プログラムの更新版である更新プログラムを記憶する第２プログラム記憶領域とを含む記憶部と、実行部が制御プログラムの実行中であるかに拘わらず、更新プログラムを第２プログラム記憶領域に記憶させる更新部とを備える、車両制御装置である。
【発明の効果】
【０００８】
本発明によれば、上述のように、プログラム更新時のタイミングの制約が小さく、利便性を向上し、また信頼性の維持を図ることができる、車両制御装置等を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係る車両制御装置とその周辺部の機能ブロック図
【図２】本発明の一実施形態に係る車両制御装置の処理を示すシーケンス図
【発明を実施するための形態】
【００１０】
（概要）
本発明に係る車両制御装置は、更新プログラムを現在実行中の制御プログラムとは異なる記憶領域に記憶するので、制御プログラムの実行中であっても更新プログラムの記憶領域への記憶処理を実行することができ、利便性が高い。また、更新プログラムを実行させ、動作検証を行い、動作検証ができた場合に実際の車両制御に利用するため信頼性を維持することができる。
【００１１】
（実施形態）
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。
【００１２】
＜構成＞
図１に、本実施形態における車両制御装置１００とその周辺部の機能ブロック図を示す。車両制御装置１００は一例として、車両の自動運転制御を行う自動運転ＥＣＵである。車両制御装置１００は、記憶部１０および演算部２０を含む。演算部２０は、記憶部１０に記憶されているプログラムを実行することで自動運転等の車両制御を行う。具体的には、演算部２０は、レーダー３０１やカメラ３０２等の車両に備えられたセンサから車両の周囲の物体等の状況を取得し、これに基づいて車両の操舵、加速、減速等の制御内容を表す制御出力を算出し、ステアリングＥＣＵ４０１、エンジンＥＣＵ４０２、ブレーキＥＣＵ４０３等に制御出力を出力して制御出力に基づく操舵、加速、減速等を実行させる。演算部２０はまた、車外のサーバー等からネットワークを介して更新データを受信するＯＴＡ受信機ＥＣＵ２００から、更新データを取得し、取得した更新データに基づいて、記憶部１０に記憶されたプログラムの更新処理を行う。
【００１３】
演算部２０は、第１実行部２１および第２実行部２２（これらをまとめて実行部２４とよぶ）および更新部２３を含む。これらの各部の説明は後述する。演算部２０の構成は限定されないが、一例として複数のプロセッサコアを有するＣＰＵであるマルチコアプロセッサである。第１実行部２１、第２実行部２２および更新部２３の機能は、同一のプロセッサコアがタスク切替しながら実行することで実現してもよいし、異なるプロセッサコアが並列実行することで実現してもよい。また、更新部２３は実行部２４とは異なるＣＰＵであってもよい。マルチコアプロセッサを用いることにより、複数の処理を効率的に並列実行することができる。
【００１４】
記憶部１０は、第１プログラム記憶領域１１、第２プログラム記憶領域１２、第１制御出力記憶領域１３、第２制御出力記憶領域１４を含む。これらの各領域の説明は後述する。記憶部１０の構成は限定されないが、一例として、第１プログラム記憶領域１１、第２プログラム記憶領域は不揮発性のＦｌａｓｈＲＯＭメモリによって構成され、第１制御出力記憶領域１３、第２制御出力記憶領域１４は、揮発性のメモリ（ＲＡＭ）によって構成される。
【００１５】
＜処理＞
以下に、本実施形態に係るプログラム更新処理の一例を説明する。図２は、処理を説明するシーケンスである。本シーケンスは例えばイグニッションスイッチがオンになったときに開始される。
【００１６】
（ステップＳ１０１）：実行部２４が記憶部１０に記憶されたプログラムを実行して上述の車両制御を行う。ここでは第１実行部２１が、第１プログラム記憶領域１１に記憶された、現在の実行対象である制御プログラムを実行し、制御出力を生成、出力して各ＥＣＵを制御することにより車両制御を行う。
【００１７】
（ステップＳ１０２）：ＯＴＡ受信機ＥＣＵ２００がプログラムの更新データを取得する。更新データは、例えば、ＯＴＡ受信機ＥＣＵ２００が、車外のサーバーに問い合わせを行ったときに、サーバーからの応答として受信する。
【００１８】
（ステップＳ１０３）：更新部２３が更新データに基づいて更新プログラムを生成し、第２プログラム記憶領域１２に記憶させる。更新データの形式は限定されないが、例えば制御プログラムからの更新された部分を含む差分データやその圧縮データであってもよい。この場合、更新部２３は、制御プログラムのうち更新されない部分を第１プログラム記憶領域１１から第２プログラム記憶領域１２にコピーし、更新された部分を更新データに基づいて生成し第２プログラム記憶領域１２に書き込むことによって、更新プログラムを第２プログラム記憶領域１２に記憶させることができる。あるいは、更新データは更新プログラムの全体であってもよい。
【００１９】
ステップＳ１０１の処理と、ステップＳ１０２、Ｓ１０３の処理とは並列的かつ独立的に実行される。これらの処理の途中でイグニッションスイッチがオフになった場合、ステップＳ１０１の処理は中断されるが、ステップＳ１０２、Ｓ１０３の処理は中断してもよく継続してもよい。また、ステップＳ１０１の処理が実行されていなくても、ステップＳ１０２、Ｓ１０３の処理が実行されてもよい。ステップＳ１０２、Ｓ１０３の処理が中断された場合は、次にイグニッションスイッチがオンになったときに再度実行される。
【００２０】
以上のステップＳ１０１、Ｓ１０２、Ｓ１０３の処理が実行され、イグニッションスイッチがいったんオフとなり、次にオンになったとき、以下の処理が行われる。
（ステップＳ１０４）：実行部２４が記憶部１０に記憶された制御プログラムを実行して上述の車両制御を行う。ここでは第１実行部２１が第１プログラム記憶領域１１に記憶されている制御プログラムを実行し、プログラム実行出力として制御出力を生成し、各ＥＣＵに出力し車両制御を実行する。また第１実行部２１は、制御出力を第１制御出力記憶領域１３に記憶させる。
【００２１】
（ステップＳ１０５）：実行部２４が記憶部１０に記憶された更新プログラムを実行する。ここでは第２実行部２２が第２プログラム記憶領域１２に記憶されている更新プログラムを実行し、更新プログラムの実行出力として制御出力を生成する。第２実行部２２は、制御出力を第２制御出力記憶領域１４に記憶させる。しかし、第２実行部２２は、ステップＳ１０４における第１実行部２１とは異なり、各ＥＣＵへの出力はせず、実際の車両制御はしない。なお、ステップＳ１０４およびＳ１０５において、実行部２３は記憶部１０に更新プログラムが記憶されたことを、例えば更新部２３から通知を受けたり、あるいは、記憶部１０を参照したりすることで検知できる。
【００２２】
以上のステップＳ１０４の処理と、ステップＳ１０５の処理とは並列的に実行される。この後、イグニッションスイッチがオフとなったとき、更新部２３は、第２制御出力記憶領域１４に記憶された更新プログラムの実行出力である制御出力に基づいて、現在行っている制御プログラムの実行出力に基づく車両制御を、更新プログラムの実行出力に基づく車両制御に変更するか否か判定する。以下では判定処理の一例を説明するがこれに限定されない。
（ステップＳ１０６）：更新部２３は、例えば、更新プログラムの制御出力が、期待される所定の機能を実現していることを検証することで、上記判定を行う。本ステップでは
、更新部２３は、第１制御出力記憶領域１３に記憶された制御プログラムの制御出力と、第２制御出力記憶領域１４に記憶された更新プログラムの制御出力とを比較する。例えば、更新プログラムに期待される所定の機能が、乗り心地の改善である場合に、更新プログラムの制御出力が、急操舵、急加速あるいは急減速を行った頻度が所定値以下となっていることを示していたり、または、制御プログラムの制御出力に比べて低下していることを示したりしているときは、所定の機能が実現されたと検証することができる。このような所定の機能の検証基準は、例えば更新プログラム中に記述したり、あるいはその制御出力中に記述されるようにしたりして、更新部２３が参照できるようにすればよい。あるいは、更新部２３は、車両に搭載された加速度センサ等の情報を判定に利用してもよい。
【００２３】
（ステップＳ１０７）：更新部２３は、更新プログラムの所定の機能実現を検証した場合、現在行っている制御プログラムの実行出力に基づく車両制御を、更新プログラムの実行出力に基づく車両制御に変更すると判定する。この場合、更新部２３は、例えば更新プログラムを第１プログラム記憶領域１１に上書き移動して、不要となった制御プログラムを消去し、第２プログラム記憶領域１２を空けることができる。なお、更新部２３は、更新プログラムの所定の機能が実現されていると所定の複数回検証したのち、更新プログラムの実行出力に基づく車両制御に変更すると判定し、それまでは制御プログラムの実行出力に基づく車両制御を行ってもよい。
【００２４】
（ステップＳ１０８）：更新部２３は、更新プログラムの所定の機能が実現されていることを検証できない場合、制御プログラムの実行出力に基づく車両制御を行うと判定する。
【００２５】
以上のステップＳ１０７またはＳ１０８の処理が実行され、イグニッションスイッチが次にオンになったとき、以下の処理が行われる。
（ステップＳ１０９）：実行部２４が、更新部２３の判定結果に従って、更新プログラムおよび制御プログラムのいずれかを、車両制御に用いるプログラムとして選択し、選択したプログラムの実行出力に基づいて車両制御を行う。ここでは一例としてプログラムは、第１実行部２１が実行し、制御出力を生成、出力して各ＥＣＵを制御する。なお、ステップＳ１０７で、更新部２３が更新プログラムの所定の機能が実現されていると所定の複数回検証することとし、まだ所定の複数回に達していないために、制御プログラムを車両制御に用いることを選択した場合は、本ステップの代わりにステップＳ１０５〜Ｓ１０８の処理を繰り返す。また、ステップＳ１０５〜Ｓ１０８を所定回数繰り返しても、ステップＳ１０７で、更新部２３が更新プログラムの所定の機能が実現されていると検証することができない場合は、更新部２４は検証を中止し、さらに更新プログラムを削除してもよい。以上により更新シーケンスは終了する。
【００２６】
＜効果＞
以上の更新シーケンスにおいては、制御プログラムの実行中であっても、外部のサーバーから取得した更新データに基づいて更新プログラムの記憶を行うことができるため、実行タイミングの制約が小さく、利便性を向上できる。
【００２７】
更新プログラムは品質に万全を期して提供されるものであるが、運転支援技術の高度化、複雑化が進行するなか、車両や走行路の特性あるいはユーザーの運転特性等が固有かつ極端な状況では、期待される機能が十分に発揮できない事態が将来発生するおそれがあるかもしれない。以上の更新シーケンスでは、更新プログラムを実行させ、各車両が置かれている固有の状況下で個別に、所定の機能が実現されていることを検証できた後に、実際の車両制御に用いる。これにより、更新プログラムによって万一所期の機能が得られない場合には、車両制御に用いないようにして、車両制御の信頼性を維持することが可能となる。
【００２８】
なお、本発明は、車両制御装置として捉えるだけでなく、車両制御装置のプロセッサが実行するプログラムの更新方法、およびプログラム更新用プログラムとして捉えることも可能である。
【産業上の利用可能性】
【００２９】
本発明は、自動運転機能等を有する車両等に有用である。
【符号の説明】
【００３０】
１０    記憶部
１１    第１プログラム記憶領域
１２    第２プログラム記憶領域
１３    第１制御出力記憶領域
１４    第２制御出力記憶領域
２０    演算部
２１    第１実行部
２２    第２実行部
２３    更新部
２４    実行部
１００    車両制御装置
２００    ＯＴＡ受信機ＥＣＵ
３０１    レーダー
３０２    カメラ
４０１    ステアリングＥＣＵ
４０２    エンジンＥＣＵ
４０３    ブレーキＥＣＵ