(57)【要約】【課題】車両が無線通信可能な環境にない場合でも、車両制御システムを構成する全ての車載機のソフトウェアバージョンの整合性を確認できる車両制御システム及びソフトウェアの整合性確認方法を提供する。【解決手段】車両制御システムを構成する複数の車載機のそれぞれが、ソフトウェアのバージョンの整合性を確認するために用いる整合テーブルを保持している。複数の車載機のうちの１つである代表車載機が、各車載機が保持する整合テーブルの中から正当な整合テーブルを特定し、特定した整合テーブルに基づいて、複数の車載機のソフトウェアのバージョンの整合性を自律的に確認する。【選択図】図２
2019159401.tif 000002
【特許請求の範囲】
【請求項１】
複数の車載機で構成される車両制御システムであって、
前記複数の車載機の各々が、前記車両制御システムを構成する全ての車載機のソフトウェアのバージョンの許可された組み合わせを含む、整合情報を記憶する整合情報記憶部を備え、
前記複数の車載機のうちのいずれか１つである特定の車載機が、
他の車載機のソフトウェアのバージョンと、他の車載機が保持する整合情報とを取得する取得部と、
前記特定の車載機が前記整合情報記憶部に記憶する整合情報と、前記他の車載機から取得した整合情報との中から、正当な整合情報を特定する整合情報特定部と、
前記特定の車載機のソフトウェアのバージョンと、前記他の車載機から取得したソフトウェアのバージョンとを、前記正当な整合情報と照合することにより、前記車両制御システムを構成する全ての車載機のソフトウェアのバージョンに整合性があるか否かを判定する判定部とを備える、車両制御システム。
【請求項２】
前記複数の車載機のそれぞれは、現在のバージョンの整合情報と、旧バージョンの整合情報とを保持し、
前記特定の車載機の前記取得部は、他の車載機から前記現在のバージョンの整合情報と前記旧バージョンの整合情報とを取得し、
前記特定の車載機の前記整合情報特定部は、前記特定の車載機が前記整合情報記憶部に記憶する前記現在のバージョンの整合情報及び前記旧バージョンの整合情報と、前記他の車載機から取得した前記現在のバージョンの整合情報及び前記旧バージョンの整合情報とに基づいて、前記正当な整合情報を特定する、請求項１に記載の車両制御システム。
【請求項３】
前記整合情報特定部は、前記特定の車載機が前記整合情報記憶部に記憶する整合情報と、前記他の車載機から取得した整合情報とに含まれる、最新の整合情報を前記正当な整合情報として特定する、請求項１に記載の車両制御システム。
【請求項４】
前記整合情報特定部は、前記特定の車載機が前記整合情報記憶部に記憶する整合情報と、前記他の車載機から取得した整合情報とに含まれる、同一かつ最多数の整合情報を前記正当な整合情報として特定する、請求項１に記載の車両制御システム。
【請求項５】
前記特定の車載機は、前記判定部によって、前記車両制御システムを構成する全ての車載機のソフトウェアのバージョンに整合性がないと判定された場合に、前記正当な整合情報と整合していないバージョンのソフトウェアを有する車載機に対して、ソフトウェアを更新するよう指示する更新指示部を更に備える、請求項１に記載の車両制御システム。
【請求項６】
前記判定部は、車両の電源がオンされるたびに判定処理を実行する、請求項１に記載の車両制御システム。
【請求項７】
複数の車載機で構成される車両制御システムにおけるソフトウェアの整合性確認方法であって、
前記複数の車載機の各々が有するコンピュータが、前記車両制御システムを構成する全ての車載機のソフトウェアのバージョンの許可された組み合わせを含む、整合情報を予め記憶するステップと、
前記複数の車載機のうちのいずれか１つである前記特定の車載機が有するコンピュータが、
他の車載機のソフトウェアのバージョンと、他の車載機が保持する整合情報とを取得するステップと、
前記特定の車載機が記憶する整合情報と、前記他の車載機から取得した整合情報との中から、正当な整合情報を特定するステップと、
前記特定の車載機のソフトウェアのバージョンと、前記他の車載機から取得したソフトウェアのバージョンとを、前記正当な整合情報と照合することにより、前記車両制御システムを構成する全ての車載機のソフトウェアのバージョンに整合性があるか否かを判定するステップとを備える、ソフトウェアの整合性確認方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の車載機のソフトウェアの整合性を確認できる車両制御システム及び当該車両制御システムにおいてソフトウェアの整合性を確認する方法に関する。
【背景技術】
【０００２】
近年、自動運転システムが種々開発されている。自動運転システムは、加速、減速、操舵等の車両制御を行う複数の車載機を組み合わせて構成されている。自動運転システムのような複数の車載機により構成されるシステムにおいては、各車載機のソフトウェアのバージョンの組み合わせが、予め動作確認されたソフトウェアのバージョンの組み合わせと整合していない場合、予期しない車両制御が実行される可能性がある。したがって、複数の車載機により構成されるシステムでは、複数の車載機のソフトウェアのバージョンの整合性を確認することが重要となる。
【０００３】
例えば、特許文献１には、複数のＥＣＵで構成されるシステムにおいて、ＥＣＵのプログラム同士のバージョンの不整合に起因する動作不良の発生を防止するため、プログラムの更新前に、プログラム更新対象のＥＣＵのバージョンアッププログラムと他のＥＣＵのプログラムとの依存関係情報を参照して、プログラムの更新可否を決定することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−５３９２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数の車載機のソフトウェアのバージョンの整合性を確認する際に、車両が無線通信可能な環境にない場合も想定される。したがって、複数の車載機で構成される車両制御システムにおいて複数の車載機のソフトウェアのバージョンの整合性を確認する処理は、外部サーバ等と通信を行うことなく、車両制御システム内で実行できることが好ましい。
【０００６】
それ故に、本発明は、車両が無線通信可能な環境にない場合でも、車両制御システムを構成する全ての車載機のソフトウェアバージョンの整合性を確認できる車両制御システム及びソフトウェアの整合性確認方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、複数の車載機で構成される車両制御システムに関する。当該車両制御システムは、複数の車載機の各々が、車両制御システムを構成する全ての車載機のソフトウェアのバージョンの許可された組み合わせを含む、整合情報を記憶する整合情報記憶部を備え、複数の車載機のうちのいずれか１つである特定の車載機が、他の車載機のソフトウェアのバージョンと、他の車載機が保持する整合情報とを取得する取得部と、特定の車載機が整合情報記憶部に記憶する整合情報と、他の車載機から取得した整合情報との中から、正当な整合情報を特定する整合情報特定部と、特定の車載機のソフトウェアのバージョンと、他の車載機から取得したソフトウェアのバージョンとを、正当な整合情報と照合することにより、車両制御システムを構成する全ての車載機のソフトウェアのバージョンに整合性があるか否かを判定する判定部とを備える。
【０００８】
この構成によれば、車両制御システムを構成する車載機のそれぞれが保持する整合情報に基づいて、車両外の装置と通信を行うことなく、ソフトウェアのバージョンの整合性を自律的に確認することができる。
【０００９】
また、複数の車載機のそれぞれは、現在のバージョンの整合情報と、旧バージョンの整合情報とを保持し、特定の車載機の取得部は、他の車載機から現在のバージョンの整合情報と旧バージョンの整合情報とを取得し、特定の車載機の整合情報特定部は、特定の車載機が整合情報記憶部に記憶する現在のバージョンの整合情報及び旧バージョンの整合情報と、他の車載機から取得した現在のバージョンの整合情報及び旧バージョンの整合情報とに基づいて、正当な整合情報を特定しても良い。
【００１０】
この構成によれば、各車載機が保持する現在のバージョンの整合テーブル及び旧バージョンの整合テーブルの中から正当な整合テーブルを特定することにより、整合テーブルの更新履歴を加味して、より正当な整合テーブルの特定を精度良く行うことができる。
【００１１】
また、整合情報特定部は、特定の車載機が整合情報記憶部に記憶する整合情報と、他の車載機から取得した整合情報との中から、最新のバージョンであって、かつ、他の整合情報のバージョンと連続したバージョンを有する整合情報を正当な整合情報として特定しても良い。
【００１２】
この構成によれば、各車載機が保持する整合情報の中で最新かつ連続性のあるバージョンの整合情報に基づいて、ソフトウェアのバージョンの組み合わせがより新しいバージョンで整合しているか否かを判定できる。
【００１３】
また、整合情報特定部は、特定の車載機が整合情報記憶部に記憶する整合情報と、他の車載機から取得した整合情報とに含まれる、同一かつ最多数の整合情報を正当な整合情報として特定しても良い。
【００１４】
この構成によれば、正当である蓋然性の高い整合情報を容易に特定することができる。
【００１５】
また、特定の車載機は、判定部によって、車両制御システムを構成する全ての車載機のソフトウェアのバージョンに整合性がないと判定された場合に、正当な整合情報と整合していないバージョンのソフトウェアを有する車載機に対して、ソフトウェアを更新するよう指示する更新指示部を更に備えても良い。
【００１６】
この構成によれば、車両制御システムを構成する全ての車載機のソフトウェアのバージョンに整合性がないと判定された場合に、不整合なバージョンのソフトウェアの更新を促進することにより、車載機Ａ〜Ｄのソフトウェアのバージョンの整合性が取れた状態に早期に復帰させることができる。
【００１７】
また、判定部は、車両の電源がオンされるたびに判定処理を実行することが好ましい。
この構成によれば、車両の電源がオンされるたびに、車両制御システムを構成する全ての車載機のソフトウェアのバージョンの整合性が取れていることが確認されるため、車載機のソフトウェアのバージョンに不整合があることに起因して予期しない車両制御が実行される可能性をより低減することができる。
【００１８】
また、本発明は、複数の車載機で構成される車両制御システムにおけるソフトウェアの整合性確認方法に関する。当該整合性確認方法は、複数の車載機の各々が有するコンピュータが、車両制御システムを構成する全ての車載機のソフトウェアのバージョンの許可された組み合わせを含む、整合情報を記憶ステップと、複数の車載機のうちのいずれか１つである特定の車載機が、他の車載機のソフトウェアのバージョンと、他の車載機が保持する整合情報とを取得するステップと、特定の車載機が記憶する整合情報と、他の車載機から取得した整合情報との中から、正当な整合情報を特定するステップと、特定の車載機のソフトウェアのバージョンと、他の車載機から取得したソフトウェアのバージョンとを、正当な整合情報と照合することにより、車両制御システムを構成する全ての車載機のソフトウェアのバージョンに整合性があるか否かを判定するステップとを備える。
【００１９】
この構成によれば、車両制御システムを構成する車載機のそれぞれが保持する整合情報に基づいて、車両外の装置と通信を行うことなく、ソフトウェアのバージョンの整合性を自律的に確認することができる。
【発明の効果】
【００２０】
本発明によれば、車両が無線通信可能な環境にない場合でも、車両制御システムを構成する全ての車載機のソフトウェアバージョンの整合性を確認できる車両制御システム及びソフトウェアの整合性確認方法を提供できる。
【図面の簡単な説明】
【００２１】
【図１】実施形態に係る車両制御システムの概略構成を示すブロック図
【図２】図１に示した車両制御システムの機能ブロック図
【図３】実施形態におけるソフトウェアのバージョンの整合性判定方法を説明するための図
【図４】実施形態におけるソフトウェアのバージョンの整合性判定方法を説明するための図
【図５】実施形態におけるソフトウェアのバージョンの整合性判定方法を説明するための図
【図６】図１に示した代表車載機が実行する制御処理の一例を示すフローチャート
【発明を実施するための形態】
【００２２】
（概要）
本発明に係る車両制御システムでは、車両制御システムを構成する車載機が保持する整合情報に基づいて、全ての車載機のソフトウェアのバージョンに整合性があるか否かを確認する。全ての車載機が整合性確認に用いる整合情報を保持しており、全ての整合情報の中から特定した正当な整合情報を用いて整合性確認を行う。したがって、本発明に係る車両制御システムは、車両外の装置と通信を行うことなく、ソフトウェアのバージョンの整合性を自律的に確認することができる。
【００２３】
（実施形態）
＜構成＞
図１は、実施形態に係る車両制御システムの概略構成を示すブロック図である。
【００２４】
車両制御システム１００は、相互に通信可能な車載機Ａ〜Ｄから構成され、車載機Ａ〜Ｄのそれぞれの機能を組み合わせることにより、所定の車両制御を実現するシステムである。図１の例では、車両制御システム１００が４つの車載機Ａ〜Ｄで構成されているが、車両制御システム１００を構成する車載機の数は４つに限定されない。車両制御システム１００が実現する所定の車両制御としては、例えば自動運転を挙げることができる。車載機Ａ〜Ｄは、加速、減速、操舵など車両走行を制御するＥＣＵや、これらの車両走行を制御するＥＣＵを組み合わせて走行支援を行うＥＣＵに相当する。また、車載機Ａ〜Ｄは、無線通信機１を介して外部サーバ２と通信可能である。尚、以下の説明においては、車両制御システムを構成する複数の車載機Ａ〜Ｄのうちの１つである特定の車載機Ａを「代表車載機Ａ」という。
【００２５】
図２は、図１に示した車両制御システムの機能ブロック図であり、図３〜図５は、実施形態におけるソフトウェアのバージョンの整合性判定方法を説明するための図である。
【００２６】
［代表車載機Ａ］
代表車載機Ａは、車両制御システム１００の制御機能を提供する車載機の１つであるが、車載機Ａ〜Ｄのソフトウェアのバージョンの整合性確認処理においては、マスターデバイスとして機能する。代表車載機Ａは、車両の電源がオンされたことを契機として、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンの整合性を確認する。代表車載機Ａは、ソフトウェア記憶部１０と、整合情報記憶部１１と、取得部１２と、整合情報特定部１３と、判定部１４と、更新指示部１５と、送受信部１６とを備える。
【００２７】
ソフトウェア記憶部１０は、代表車載機Ａを動作させるためのソフトウェアを記憶する。代表車載機Ａは、ソフトウェア記憶部１０に記憶されたソフトウェアを実行することにより、車両の動作を制御するための所定の機能を実現する。
【００２８】
整合情報記憶部１１は、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があるか否かを判定するために用いる整合情報として、現在のバージョンの整合テーブルＴａ＿ｃｕｒと、旧バージョンの整合テーブルＴａ＿ｏｌｄとを予め記憶する。整合テーブルには、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンの組み合わせが定義されている。車載機Ａ〜Ｄのソフトウェアのバージョンの組み合わせは、車両制御システム１００が正常に動作することが確認されており、同時に実行することが許可されたバージョンの組み合わせである。例えば、整合テーブルＴａ＿ｃｕｒ及びＴａ＿ｏｌｄは、図３に示すように、車両制御システム１００のバージョンを特定するシステム番号と、車載機Ａ〜Ｄのそれぞれのソフトウェアのバージョンとを含むことができる。図３の整合テーブルの例では、各車載機のバージョンとして単一のバージョンが定義されているが、組み合わせ可能な各車載機のバージョンの範囲を定義しても良い。また、整合テーブルには、同時に実行することが許可されるバージョン（またはバージョンの範囲）の組み合わせを複数セット定義しても良い。１つの車載機が複数のソフトウェアを保持している場合、整合テーブルには、複数のソフトウェアのそれぞれの許可されたバージョンが定義される。
【００２９】
整合テーブルＴａ＿ｃｕｒは、ソフトウェア記憶部１０に記憶されるソフトウェアの更新に伴って更新される。更新時には、旧バージョンの整合テーブルＴａ＿ｏｌｄが削除され、現在バージョンの整合テーブルＴａ＿ｃｕｒが旧バージョンの整合テーブルＴａ＿ｏｌｄとして保持され、更新された整合テーブルが現在のバージョンの整合テーブルＴａ＿ｃｕｒとして新たに記憶される。整合テーブルＴａ＿ｃｕｒをソフトウェアの更新に合わせて更新するため、整合テーブルＴａ＿ｃｕｒに定義された車載機Ａのバージョンは、ソフトウェア記憶部１０に記憶されているソフトウェアのバージョンと一致している。
【００３０】
尚、詳細は後述するが、他の車載機Ｂ〜Ｄも代表車載機Ａと同様に、現在のバージョンの整合テーブル（図３のＴｂ＿ｃｕｒ、Ｔｃ＿ｃｕｒ及びＴｄ＿ｃｕｒ）と、旧バージョンの整合テーブル（図３のＴｂ＿ｏｌｄ、Ｔｃ＿ｏｌｄ及びＴｄ＿ｏｌｄ）とを予め記憶している。
【００３１】
取得部１２は、他の車載機Ｂ〜Ｄのそれぞれのソフトウェアのバージョンと、他の車載機Ｂ〜Ｄが保持する整合テーブルＴｂ＿ｃｕｒ、Ｔｃ＿ｃｕｒ、Ｔｄ＿ｃｕｒ、Ｔｂ＿ｏｌｄ、Ｔｃ＿ｏｌｄ及びＴｄ＿ｏｌｄとを取得する。車載機Ｂ〜Ｄの中に複数のソフトウェアを保持している車載機がある場合、取得部１２は、車載機が保持する全てのソフトウェアのバージョンを取得する。
【００３２】
整合情報特定部１３は、特定の車載機Ａが整合情報記憶部１１に記憶する整合テーブルＴａ＿ｃｕｒ及びＴａ＿ｏｌｄと、取得部１２が他の車載機Ｂ〜Ｄから取得した整合テーブルＴｂ＿ｃｕｒ、Ｔｃ＿ｃｕｒ、Ｔｄ＿ｃｕｒ、Ｔｂ＿ｏｌｄ、Ｔｃ＿ｏｌｄ及びＴｄ＿ｏｌｄの中から、正当な１種類の整合情報を特定する。尚、正当な整合情報の特定方法については後述する。
【００３３】
判定部１４は、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があるか否かを判定する。この判定は、判定部１４が、代表車載機Ａのソフトウェア記憶部１０に記憶されるソフトウェアのバージョンと、取得部１２が他の車載機Ｂ〜Ｄから取得したソフトウェアのバージョンとを、整合情報特定部１３によって特定された正当な整合テーブルと照合することにより行う。判定部１４は、特定された正当な整合テーブルに基づいて、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があると判定した場合は、車載機Ａ〜Ｄの機能を組み合わせにより実現される所定の車両制御の実行を許可する。
【００３４】
更新指示部１５は、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性がないと判定部１４により判定された場合、正当な整合テーブルに定義されたバージョンに整合していないバージョンのソフトウェアを保持する車載機に対して、ソフトウェアの更新を指示する。
【００３５】
送受信部１６は、他の車載機Ｂ〜Ｄと通信を行い、各種情報の送受信を行う。また、送受信部１６は、図１に示した無線通信機１を介して外部サーバ２との通信を行い、各種情報の送受信を行うことができる。送受信部１６は、更新指示部１５によって代表車載機Ａのソフトウェアを更新する必要があると判定された場合、外部サーバ２に対してソフトウェアの更新要求を送信し、外部サーバ２から送信された更新されたソフトウェア及び更新された整合テーブルを受信する。
【００３６】
［車載機Ｂ〜Ｄ］
車載機Ｂ〜Ｄは、ソフトウェア記憶部２０と、整合情報記憶部２１と、送受信部２２とを備える。
【００３７】
ソフトウェア記憶部２０は、車載機Ｂ〜Ｄのそれぞれを動作させるためのソフトウェアを予め記憶する。車載機Ｂ〜Ｄは、ソフトウェア記憶部２０に記憶されたソフトウェアを実行することにより、それぞれ、車両の動作を制御するための所定の機能を実現する。
【００３８】
整合情報記憶部２１は、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があるか否かを判定するために用いる整合情報として、現在のバージョンの整合テーブルと、旧バージョンの整合テーブルとを予め記憶する。図３に示すように、車載機Ｂ、Ｃ及びＤの整合情報記憶部２１は、現在のバージョンの整合テーブルＴｂ＿ｃｕｒ、Ｔｃ＿ｃｕｒ及びＴｄ＿ｃｕｒと、旧バージョンの整合テーブルＴｂ＿ｏｌｄ、Ｔｃ＿ｏｌｄ及びＴｄ＿ｏｌｄとをそれぞれ記憶する。図３に示すように、各整合テーブルには、代表車載機Ａの整合テーブルと同様に、車両制御システム１００のバージョンを特定するシステム番号と、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンの組み合わせとが定義されている。また、代表車載機Ａの整合テーブルと同様に、ソフトウェア記憶部２０に記憶されるソフトウェアの更新に伴って、旧バージョンの整合テーブルが削除され、現在バージョンの整合テーブルが旧バージョンの整合テーブルとして保持され、更新された整合テーブルが現在のバージョンの整合テーブルとして新たに記憶される。ソフトウェアの更新に合わせて整合テーブルを更新することにより、車載機Ｂ、Ｃ及びＤが保持する整合テーブルＴｂ＿ｃｕｒ、Ｔｃ＿ｃｕｒ及びＴｄ＿ｃｕｒに定義された車載機Ｂ、Ｃ及びＤのバージョンは、車載機Ｂ、Ｃ及びＤのソフトウェア記憶部２０に記憶されているソフトウェアのバージョンとそれぞれ一致している。
【００３９】
送受信部２２は、他の車載機と通信を行い、各種情報の送受信を行う。送受信部２２は、ソフトウェア記憶部２０に記憶されているソフトウェアのバージョンと、整合情報記憶部２１に記憶されている現在のバージョンの整合テーブルと、旧バージョンの整合テーブルとを所定のタイミングで代表車載機Ａに送信する。送受信部２２は、車両の電源がオンされたことを契機としてソフトウェアのバージョン及び整合テーブルを代表車載機Ａに送信しても良いし、車両の電源がオンされたことを契機として送信された代表車載機Ａからの要求に応答して、ソフトウェアのバージョンと整合テーブルとを代表車載機Ａに送信しても良い。
【００４０】
［外部サーバ２］
外部サーバ２は、受信部３０及び送信部３１を備える。受信部３０は、車載機Ａ〜Ｄから更新ソフトウェアの送信要求を受信する。送信部３１は、受信部３０が更新ソフトウェアの送信要求を受信すると、対象の車載機に対して更新ソフトウェアを送信する。
以下、図２〜図５を参照しながら、正当な整合テーブルの特定方法と、ソフトウェアのバージョンの整合性判定方法とを説明する。
【００４１】
（１）整合性があるケース
図３は、８つの整合テーブルＴａ＿ｃｕｒ〜Ｔｄ＿ｃｕｒ及びＴａ＿ｏｌｄ〜Ｔｄ＿ｏｌｄの中から特定される最新の整合テーブルが正当なものであり、かつ、車載機Ａ〜Ｄのソフトウェアのバージョンが特定された正当な整合テーブルと整合している例を示す。
【００４２】
まず、代表車載機Ａの整合情報特定部１３は、取得部１２が取得した整合テーブルＴａ＿ｃｕｒ〜Ｔｄ＿ｃｕｒのシステム番号（システムバージョン）を参照し、最新のシステム番号「００４」を有する整合テーブルＴｃ＿ｃｕｒを正当な整合テーブルとして特定する。
【００４３】
次に、代表車載機Ａの判定部１４は、代表車載機Ａのソフトウェアのバージョンと、取得部１２が取得した他の車載機Ｂ〜Ｄのソフトウェアのバージョンとを、正当なテーブルであると特定した整合テーブルＴｃ＿ｃｕｒと照合し、車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があるか否かを判定する。図３の例では、車載機Ａのソフトウェアのバージョン「１２３」、車載機Ｂのソフトウェアのバージョン「２３５」、車載機Ｃのソフトウェアのバージョン「３４６」、車載機Ｄのソフトウェアのバージョン「４５７」はいずれも整合テーブルＴｃ＿ｃｕｒに定義されたバージョンと一致する。したがって、判定部１４は、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があると判定する。
【００４４】
図３に示したケースでは、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があるため、車載機Ａ〜Ｄの全ての制御機能を用いた車両制御の実行が可能となる。
【００４５】
尚、正当な整合テーブルを特定する際には、整合情報特定部１３が旧バージョンの整合テーブルＴａ＿ｏｌｄ〜Ｔｄ＿ｏｌｄも参照することが好ましい。例えば、車載機のソフトウェアのバージョンアップに伴って整合テーブルのシステム番号が順次更新される構成では、各車載機の整合テーブルの組において、現在のバージョンの整合テーブルのシステム番号が、旧バージョンの整合テーブルのシステム番号よりも小さい（つまり、システム番号が古い）場合には、整合情報特定部は、現在のバージョンの整合テーブルが正当なものでないと判定することができる。
【００４６】
（２）整合性がないケース
図４は、８つの整合テーブルＴａ＿ｃｕｒ〜Ｔｄ＿ｃｕｒ及びＴａ＿ｏｌｄ〜Ｔｄ＿ｏｌｄの中から特定される最新の整合テーブルが正当なものであるが、車載機Ａ〜Ｄのソフトウェアのバージョンが特定された正当な整合テーブルと整合していない例を示す。
【００４７】
まず、代表車載機Ａの整合情報特定部１３は、取得部１２が取得した整合テーブルＴａ＿ｃｕｒ〜Ｔｄ＿ｃｕｒのシステム番号（システムバージョン）を参照し、最新のシステム番号「００４」を有する整合テーブルＴｃ＿ｃｕｒを正当な整合テーブルとして特定する。
【００４８】
次に、代表車載機Ａの判定部１４は、代表車載機Ａのソフトウェアのバージョンと、取得部１２が取得した他の車載機Ｂ〜Ｄのソフトウェアのバージョンとを、正当なテーブルであると特定した整合テーブルＴｃ＿ｃｕｒと照合し、車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があるか否かを判定する。図４の例では、車載機Ａのソフトウェアのバージョン「１２３」、車載機Ｃのソフトウェアのバージョン「３４６」、車載機Ｄのソフトウェアのバージョン「４５７」はいずれも整合テーブルＴｃ＿ｃｕｒに定義されたバージョンと一致するが、車載機Ｂのソフトウェアのバージョン「２３４」が整合テーブルＴｃ＿ｃｕｒに定義されたバージョンと整合していない。したがって、判定部１４は、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性がないと判定する。
【００４９】
図４に示したケースでは、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性がないため、車載機Ａ〜Ｄの全ての制御機能を用いた車両制御の実行が禁止され、更新指示部１５から車載機Ｂへとソフトウェアの更新が指示される。車載機Ｂのソフトウェアの更新後に実行させる整合性確認処理において、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があると判定されると、車載機Ａ〜Ｄの全ての制御機能を用いた車両制御の実行が可能となる。
【００５０】
（３）正当ではない整合テーブルが含まれているケース
図５は、８つの整合テーブルＴａ＿ｃｕｒ〜Ｔｄ＿ｃｕｒ及びＴａ＿ｏｌｄ〜Ｔｄ＿ｏｌｄの中に正当ではない整合テーブルが含まれているが、他の整合テーブルから特定された整合テーブルに基づき、車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があると判定できる例を示す。正当な整合テーブルの特定の精度を向上させるため、以下に示す特定方法を採用することがより好ましい。
【００５１】
まず、代表車載機Ａの整合情報特定部１３は、取得部１２が取得した整合テーブルＴａ＿ｃｕｒ〜Ｔｄ＿ｃｕｒのシステム番号（システムバージョン）を参照する。整合テーブルＴａ＿ｃｕｒ〜Ｔｄ＿ｃｕｒの中で、最新のシステム番号は整合テーブルＴｂ＿ｃｕｒの「００７」である。整合情報特定部１３は、最新のシステム番号「００７」が、他の整合テーブルのシステム番号「００２」、「００３」及び「００４」のいずれとも一致していない場合、他の整合テーブルのシステム番号「００２」、「００３」及び「００４」のいずれかと連続した番号であるか否かを判定する。車両制御システム１００の更新に伴って、各車載機のソフトウェアのバージョンが更新されると、最新の整合テーブルは他のいずれかの整合テーブルとバージョンが連続している可能性が高い。整合情報特定部１３は、システム番号「００７」を有する整合テーブルＴｂ＿ｃｕｒを正当な整合テーブルではないと判定し、残りの整合テーブルＴａ＿ｃｕｒ、Ｔｃ＿ｃｕｒ及びＴｄ＿ｃｕｒの中で最新のシステム番号を有する整合テーブルＴｃ＿ｃｕｒを、正当な整合テーブルであると特定する。
【００５２】
次に、代表車載機Ａの判定部１４は、代表車載機Ａのソフトウェアのバージョンと、取得部１２が取得した他の車載機Ｂ〜Ｄのソフトウェアのバージョンとを、正当なテーブルであると特定した整合テーブルＴｃ＿ｃｕｒと照合し、車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があるか否かを判定する。図４の例では、車載機Ａのソフトウェアのバージョン「１２３」、車載機Ｂのソフトウェアのバージョン「２３５」、車載機Ｃのソフトウェアのバージョン「３４６」、車載機Ｄのソフトウェアのバージョン「４５７」はいずれも整合テーブルＴｃ＿ｃｕｒに定義されたバージョンと一致する。したがって、判定部１４は、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があると判定する。
【００５３】
図５に示したケースでは、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があるため、車載機Ａ〜Ｄの全ての制御機能を用いた車両制御の実行が可能となる。
【００５４】
＜制御処理＞
以下、図２及び図６を併せて参照しながら、代表車載機Ａが実行する制御処理を説明する。
【００５５】
図６は、図１に示した代表車載機が実行する制御処理の一例を示すフローチャートである。
【００５６】
ステップＳ１：取得部１２は、他の車載機Ｂ〜Ｄのソフトウェアのバージョンを取得する。その後、処理はステップＳ２に移る。
【００５７】
ステップＳ２：取得部１２は、他の車載機Ｂ〜Ｄの整合テーブルを取得する。その後、処理はステップＳ３に移る。
【００５８】
ステップＳ３：整合情報特定部１３は、取得部１２が取得した複数の整合テーブルの中から正当な整合テーブルを特定する。その後、処理はステップＳ４に移る。
【００５９】
ステップＳ４：整合情報特定部１３は、取得部１２が取得した複数の整合テーブルの中から正当な整合テーブルを特定することができたか否かを判定する。ステップＳ４の判定がＹＥＳの場合、処理はステップＳ６に移り、それ以外の場合、処理はステップＳ５に移る。
【００６０】
ステップＳ５：ステップＳ４において正当な整合テーブルを特定できなかった場合、車載機Ａ〜Ｄのソフトウェアのバージョンの整合性確認処理を実行できない。したがって、判定部１４は、車載機Ａ〜Ｄを組み合わせて用いた車両制御の実行を禁止し、処理を終了する。
【００６１】
ステップＳ６：判定部１４は、代表車載機Ａのソフトウェアのバージョンと、他の車載機Ｂ〜Ｄから取得したソフトウェアのバージョンとを、ステップＳ３で特定された正当な整合テーブルと照合し、車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があるか否かを判定する。また、判定部１４は、車載機Ａ〜Ｄのソフトウェアのバージョンに整合性がないと判定した場合は、正当な整合テーブルに定義されたバージョンと整合していないバージョンのソフトウェアを保持する車載機を特定する。ステップＳ６の判定がＹＥＳの場合、処理はステップＳ７に移り、それ以外の場合、処理はステップＳ８に移る。
【００６２】
ステップＳ７：判定部１４は、車載機Ａ〜Ｄを組み合わせて用いた車両制御の実行を許可し、処理を終了する。
【００６３】
ステップＳ８：判定部１４は、車載機Ａ〜Ｄを組み合わせて用いた車両制御の実行を禁止する。その後、処理はステップＳ９に移る。
【００６４】
ステップＳ９：更新指示部１５は、ステップＳ６において特定された、正当な整合テーブルに定義されたバージョンと整合していないバージョンのソフトウェアを保持する車載機に対して、外部サーバ２との通信によりソフトウェアを更新するよう指示する。その後、処理を終了する。
【００６５】
尚、更新指示部１５によってソフトウェアの更新を指示された車載機は、外部サーバ２との通信が可能な状態にあるときに、外部サーバ２と通信を行ってソフトウェア及び整合テーブルの更新を行う。更新指示部１５によってソフトウェアの更新を指示された車載機が直接外部サーバ２と通信を行う代わりに、代表車載機Ａが外部サーバ２と通信を行って更新ソフトウェアを取得し、更新指示部１５が、整合していないバージョンのソフトウェアを保持する車載機に対して、代表車載機Ａが取得した更新ソフトウェアでソフトウェアを更新するよう指示する構成を採用しても良い。
【００６６】
上述した図６の制御処理は、専用の回路によって実現しても良いし、例えば、プロセッサ、ＲＯＭ、ＲＡＭ、ハードディスク等を有するＥＣＵ等のコンピュータに、各ステップの処理を実行させることにより実現しても良い。図６の制御処理をＥＣＵ等のコンピュータに実行させる場合、これらの制御処理を実行可能に記述したプログラムを予めＲＯＭやハーディスク等の記憶装置に格納しておき、コンピュータが備えるプロセッサに記憶装置からプログラムを読み出させて実行させれば良い。
【００６７】
＜効果等＞
車載機Ａ〜Ｄのいずれかが交換または修理されたり、車載機Ａ〜Ｄのいずれかのソフトウェアが更新されたりすると、ソフトウェアのバージョンが変化する。しかしながら、本実施形態に係る車両制御システム１００では、車載機Ａ〜Ｄのそれぞれが、ソフトウェアのバージョンの整合性を確認するために用いる整合テーブルを保持しており、代表車載機Ａが、車載機Ａ〜Ｄが保持する整合テーブルの中から特定した正当な整合テーブルに基づいて、車載機Ａ〜Ｄのソフトウェアのバージョンの整合性を自律的に確認することができる。したがって、本実施形態によれば、車両が無線通信可能な環境にない場合でも、ソフトウェアのバージョンの整合性を確認することができる車両制御システム１００を実現できる。
【００６８】
また、本実施形態に係る車両制御システム１００では、車載機Ａ〜Ｄのそれぞれが、現在のバージョンの整合テーブルと、旧バージョンの整合テーブルとを保持しており、代表車載機Ａの整合情報特定部１３は、車載機Ａ〜Ｄのそれぞれの新旧２つのバージョンの整合テーブルの中から、正当な整合テーブルを特定する。正当な整合テーブルの特定に、新旧２つのバージョンの整合テーブルを用いると、現在のバージョンの整合テーブルが旧バージョンの整合テーブルより古くなっているようなケースを判定できる。したがって、各車載機の整合テーブルの更新履歴を加味して、正当な整合テーブルの特定を精度良く行うことが可能となる。
【００６９】
また、本実施形態に係る車両制御システム１００は、判定部１４によって車載機Ａ〜Ｄのソフトウェアのバージョンに整合性がないと判定された場合に、正当な整合情報と整合していないバージョンのソフトウェアを有する車載機に対して、ソフトウェアを更新するよう指示する更新指示部１５を備えている。この構成によれば、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性がないと判定された場合に、不整合なバージョンのソフトウェアの更新により、車載機Ａ〜Ｄのソフトウェアのバージョンの整合性が取れた状態に早期に復帰させることができる。
【００７０】
また、本実施形態に係る車両制御システム１００では、整合情報特定部１３が複数の整合テーブルの中から正当な整合テーブルを特定できない場合には、車載機Ａ〜Ｄの全ての機能により実現される車両制御の実行が禁止される。したがって、車載機Ａ〜Ｄのソフトウェアのバージョンの整合性を確認できない場合に、車載機Ａ〜Ｄのソフトウェアのバージョンに不整合があることに起因して予期しない車両制御が実行される可能性をより低減することができる。
【００７１】
（その他の変形例等）
尚、上記の実施形態では、他の整合テーブルと連続性がある最新の整合テーブルを正当な整合テーブルとして特定する例を説明したが、正当な整合テーブルは、多数決により決定しても良い。多数決により正当な整合テーブルを決定する場合、整合情報特定部１３が車載機Ａ〜Ｄの現在のバージョンの整合テーブルの中から、同一の整合テーブルの数を集計し、最も数が多い整合テーブルを、正当な整合テーブルとして特定することができる。この整合テーブルの特定方法によれば、正当である蓋然性の高い整合情報を容易に特定することができる。判定部１４は、整合情報特定部１３によって正当なテーブルであると特定された整合テーブルに基づいて、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性があるか否かを判定し、整合性がないと判定された場合には、更新指示部１５が対象の車載機に対してソフトウェア更新を指示する。この構成によれば、多数決によって選択した整合テーブルに基づいて、車両制御システム１００を構成する全ての車載機Ａ〜Ｄのソフトウェアのバージョンに整合性を取ることができる。
【００７２】
また、上記の実施形態において、取得部１２、整合情報特定部１３及び判定部１４が、上述した処理を車両の電源がオンされるたびに実行することが好ましい。車両の電源がオンされるたびに車載機Ａ〜Ｄのソフトウェアのバージョンの整合性が取れていることを確認することにより、車載機Ａ〜Ｄのソフトウェアのバージョンに不整合があることに起因して予期しない車両制御が実行される可能性をより低減することができる。
【００７３】
また、上記の実施形態では、整合情報特定部１３が、車載機Ａ〜Ｄの現在のバージョンの整合テーブル及び旧バージョンの整合テーブルの中から１種類の正当な整合テーブルを特定しているが、旧バージョンの整合テーブルを参照せず、車載機Ａ〜Ｄの現在のバージョンの整合テーブルの中から１種類の正当な整合テーブルを特定しても良い。
【産業上の利用可能性】
【００７４】
本発明は、複数の車載機の組み合わせにより所定の車両制御機能を実現する車両制御システムに利用できる。
【符号の説明】
【００７５】
１０  ソフトウェア記憶部
１１  整合情報記憶部
１２  取得部
１３  整合情報特定部
１４  判定部
１５  更新指示部
１６  送受信部
１００  車両制御システム
Ａ  代表車載機
Ｂ〜Ｄ  車載機
【図１】
2019159401.tif 000003
【図２】
2019159401.tif 000004
【図３】
2019159401.tif 000005
【図４】
2019159401.tif 000006
【図５】
2019159401.tif 000007
【図６】
2019159401.tif 000008