(57)【要約】【課題】より適切な通信状況下でデータの送受信を行うことができるソフトウェア更新装置およびソフトウェア更新方法を提供すること。【解決手段】一態様に係るソフトウェア更新装置は、車両に搭載された機器のうち少なくとも一部の機器を制御するソフトウェアが組み込まれた機器制御部と、外部装置と通信する通信部と、前記通信部による外部装置との通信により前記機器制御部に組み込まれた前記ソフトウェアを更新する更新制御部と、前記通信部と前記外部装置との通信状況を管理する通信状況管理部とを備え、前記更新制御部は、前記通信状況管理部により管理された過去の通信状況のうち、所定速度以上の通信状況下で通信を行ったエリアで前記外部装置との通信を実行させる。【選択図】図１
2020190488.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された機器のうち少なくとも一部の機器を制御するソフトウェアが組み込まれた機器制御部と、
外部装置と通信する通信部と、
前記通信部による外部装置との通信により前記機器制御部に組み込まれた前記ソフトウェアを更新する更新制御部と、
前記通信部と前記外部装置との通信状況を管理する通信状況管理部とを備え、
前記更新制御部は、前記通信状況管理部により管理された過去の通信状況のうち、所定速度以上の通信状況下で通信を行ったエリアで前記外部装置との通信を実行させる、
ソフトウェア更新装置。
【請求項２】
前記更新制御部は、前記車両の現在位置から目的地までの経路を案内する経路案内部により前記車両の目的地までの経路が設定された場合に、前記経路のうち、前記ソフトウェアの更新を行うための通信を行う領域を設定する、
請求項１に記載のソフトウェア更新装置。
【請求項３】
前記通信状況管理部により管理された過去の通信状況に基づいて、前記車両の将来の行動予測を行う行動予測部を更に備え、
前記行動予測部により予測された前記車両の将来の行動予測に基づいて、前記ソフトウェアの更新を行うための通信を行う領域を設定する、
請求項１または２に記載のソフトウェア更新装置。
【請求項４】
前記行動予測部は、前記車両の乗員を撮像した画像から前記乗員の状態を推定し、推定した乗員の状態に基づいて、前記車両の将来の行動予測を行う、
請求項３に記載のソフトウェア更新装置。
【請求項５】
前記車両の位置を取得する位置取得部を更に備え、
前記通信状況管理部は、前記位置取得部により取得された前記車両の位置に基づき、前記車両が前記過去の通信状況に含まれる位置情報と異なる位置を走行している場合に、前記異なる位置の通信状況を学習する、
請求項１から４のうち何れか１項に記載のソフトウェア更新装置。
【請求項６】
前記所定速度以上の通信状況は、Ｗｉ−Ｆｉに準拠した通信方式を用いた通信を含む、
請求項１から５のうち何れか１項に記載のソフトウェア更新装置。
【請求項７】
前記更新制御部は、前記通信状況が特定地点におけるＷｉ−Ｆｉに準拠した通信方式を用いた通信であり、且つ前記車両が停車している場合に、他の通信状況よりも優先して、前記ソフトウェアの更新を行うための通信を行う、
請求項１から６のうち何れか１項に記載のソフトウェア更新装置。
【請求項８】
前記更新制御部は、更新される前記ソフトウェアが緊急性の高いソフトウェアである場合に、通信状況に関係なく外部装置と通信を行い、前記ソフトウェアを更新するための通信を行う、
請求項１から７のうち何れか１項に記載のソフトウェア更新装置。
【請求項９】
前記通信部は、前記車両の周辺に存在する他車両と通信を行い、
前記更新制御部は、前記通信部により前記他車両または前記外部装置から、前記車両の周辺の通信状況に関する情報を取得した場合に、前記取得した周辺の通信状況に基づいて、前記ソフトウェアの更新を行うための通信を行う領域を設定する、
請求項１から８のうち何れか１項に記載のソフトウェア更新装置。
【請求項１０】
車両に搭載されるソフトウェア更新装置を実現するコンピュータが、
外部装置と通信し、
前記外部装置との通信により前記車両に搭載された機器のうち少なくとも一部の機器を制御する制御部に組み込まれたソフトウェアを更新し、
前記外部装置との通信状況を管理し、
管理された過去の通信状況のうち、所定速度以上の通信状況下で通信を行ったエリアで前記外部装置との通信を実行させる、
ソフトウェア更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア更新装置およびソフトウェア更新方法に関する。
【背景技術】
【０００２】
従来、外部から車両にデータを提供するための様々な仕組みが知られている（例えば、特許文献１参照）。例えば、車両に搭載されたソフトウェア更新装置が、サーバ装置から更新プログラムをダウンロードし、ダウンロードした更新プログラムを、機器を制御する制御部に組み込まれたソフトウェアに適用して、ソフトウェアを更新している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５９７０５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、車両は、走行時の通信状況が異なるため、通信状況によっては、データの送受信が適切に行われない場合があった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、より適切な通信状況下でデータの送受信を行うことができるソフトウェア更新装置およびソフトウェア更新方法を提供することを目的の一つとする。
【課題を解決するための手段】
【０００６】
この発明に係るソフトウェア更新装置およびソフトウェア更新方法は、以下の構成を採用した。
（１）：この発明の一態様に係るソフトウェア更新装置は、車両に搭載された機器のうち少なくとも一部の機器を制御するソフトウェアが組み込まれた機器制御部と、外部装置と通信する通信部と、前記通信部による外部装置との通信により前記機器制御部に組み込まれた前記ソフトウェアを更新する更新制御部と、前記通信部と前記外部装置との通信状況を管理する通信状況管理部とを備え、前記更新制御部は、前記通信状況管理部により管理された過去の通信状況のうち、所定速度以上の通信状況下で通信を行ったエリアで前記外部装置との通信を実行させる、ソフトウェア更新装置である。
【０００７】
（２）：上記（１）の態様において、前記更新制御部は、前記車両の現在位置から目的地までの経路を案内する経路案内部により前記車両の目的地までの経路が設定された場合に、前記経路のうち、前記ソフトウェアの更新を行うための通信を行う領域を設定するものである。
【０００８】
（３）：上記（１）または（２）の態様において、前記通信状況管理部により管理された過去の通信状況に基づいて、前記車両の将来の行動予測を行う行動予測部を更に備え、前記行動予測部により予測された前記車両の将来の行動予測に基づいて、前記ソフトウェアの更新を行うための通信を行う領域を設定するものである。
【０００９】
（４）：上記（３）の態様において、前記行動予測部は、前記車両の乗員を撮像した画像から前記乗員の状態を推定し、推定した乗員の状態に基づいて、前記車両の将来の行動予測を行うものである。
【００１０】
（５）：上記（１）〜（４）のうち何れか一つの態様において、前記車両の位置を取得する位置取得部を更に備え、前記通信状況管理部は、前記位置取得部により取得された前記車両の位置に基づき、前記車両が前記過去の通信状況に含まれる位置情報と異なる位置を走行している場合に、前記異なる位置の通信状況を学習するものである。
【００１１】
（６）：上記（１）〜（５）のうち何れか一つの態様において、前記所定速度以上の通信状況は、Ｗｉ−Ｆｉに準拠した通信方式を用いた通信を含むものである。
【００１２】
（７）：上記（１）〜（６）のうち何れか一つの態様において、前記更新制御部は、前記通信状況が特定地点におけるＷｉ−Ｆｉに準拠した通信方式を用いた通信であり、且つ８前記車両が停車している場合に、他の通信状況よりも優先して、前記ソフトウェアの更新を行うための通信を行うものである。
【００１３】
（８）：上記（１）〜（７）のうち何れか一つの態様において、前記更新制御部は、更新される前記ソフトウェアが緊急性の高いソフトウェアである場合に、通信状況に関係なく外部装置と通信を行い、前記ソフトウェアを更新するための通信を行うものである。
【００１４】
（９）：上記（１）〜（８）のうち何れか一つの態様において、前記通信部は、前記車両の周辺に存在する他車両と通信を行い、前記更新制御部は、前記通信部により前記他車両または前記外部装置から、前記車両の周辺の通信状況に関する情報を取得した場合に、前記取得した周辺の通信状況に基づいて、前記ソフトウェアの更新を行うための通信を行う領域を設定するものである。
【００１５】
（１０）：この発明の一態様に係るソフトウェア更新方法は、車両に搭載されるソフトウェア更新装置を実現するコンピュータが、外部装置と通信し、前記外部装置との通信により前記車両に搭載された機器のうち少なくとも一部の機器を制御する制御部に組み込まれたソフトウェアを更新し、前記外部装置との通信状況を管理し、管理された過去の通信状況のうち、所定速度以上の通信状況下で通信を行ったエリアで前記外部装置との通信を実行させる、ソフトウェア更新方法である。
【発明の効果】
【００１６】
上記（１）〜（１０）によれば、より適切な通信状況下でデータの送受信を行うことができる。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態のソフトウェア更新装置１００を含む車両システム１の構成図である。
【図２】通信履歴情報１６４の内容の一例を示す図である。
【図３】ソフトウェア管理情報１６２の内容の一例を示す図である。
【図４】更新制御部１２０の処理について説明するための図である。
【図５】通信予定情報１６６の内容の一例を示す図である。
【図６】第１実施形態のソフトウェア更新装置１００の処理の一例を示すフローチャートである。
【図７】第２実施形態のソフトウェア更新装置１００Ａを含む車両システム１Ａの構成図である。
【図８】更新制御部１２０Ａの処理について説明するための図である。
【図９】第２実施形態のソフトウェア更新装置１００の処理の一例を示すフローチャートである。
【図１０】第３実施形態に係るソフトウェア更新装置１００を含むソフトウェア更新システム２の構成の一例を示す図である。
【図１１】第３実施形態のサーバ装置２００の構成図である。
【図１２】サーバ側通信履歴情報２５２の内容の一例を示す図である。
【図１３】マップ生成部２４４により生成されるマップの一例を示す図である。
【図１４】第３実施形態のソフトウェア更新装置１００の処理の一例を示すフローチャートである。
【図１５】第３実施形態のサーバ装置２００におけるマップ生成処理の一例を示すフローチャートである。
【図１６】第３実施形態のサーバ装置２００におけるマップ提供処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照し、本発明のソフトウェア更新装置、サーバ装置、およびソフトウェア更新方法の実施形態について説明する。なお、以下では、ソフトウェア更新装置が、車両システムの一部として車両に搭載されている例について説明する。車両は、例えば、二輪や三輪、四輪等の車両であり、その駆動源は、ディーゼルエンジンやガソリンエンジン等の内燃機関、電動機、或いはこれらの組み合わせである。電動機は、内燃機関に連結された発電機による発電電力、或いは二次電池や燃料電池の放電電力を使用して動作する。なお、ソフトウェア装置は、車両以外の移動体に搭載されてもよい。
【００１９】
＜第１実施形態＞
図１は、第１実施形態のソフトウェア更新装置１００を含む車両システム１の構成図である。車両システム１は、例えば、車載装置１０と、バッテリ（蓄電池の一例）５０と、表示部６０と、ソフトウェア更新装置１００とを備える。
【００２０】
車載装置１０は、例えば、運転制御装置２０と、駆動制御装置３０と、ナビゲーション装置４０とを備える。運転制御装置２０は、例えば、車両（以下、車両Ｍと称する）の自動運転（自律運転）制御や運転支援制御等を行う。自動運転制御とは、例えば、車両Ｍの乗員による運転操作に依らずに、車両Ｍの操舵または速度のうち一方または双方を制御することである。また、運転支援制御は、例えば、ＡＣＣ（Adaptive Cruise Control System）やＬＫＡＳ（Lane Keeping Assistance System）、ＣＭＢＳ（Collision Mitigation Brake System）等の乗員の運転操作を支援する運転制御である。運転制御装置２０は、車両Ｍの挙動や乗員からの制御指示に対応する運転制御を実行する。ナビゲーション装置４０は、「経路案内部」の一例である。
【００２１】
駆動制御装置３０は、車両Ｍに駆動力等を与えて車両Ｍを走行させるための装置である。駆動制御装置３０は、例えば、車両Ｍが走行するための走行駆動力（トルク）を駆動輪に出力する走行駆動力出力装置と、所定の制動操作に応じたブレーキトルクを各車輪に出力させるブレーキ装置と、転舵輪の向きを変更させるステアリング装置とを含む。
【００２２】
ナビゲーション装置４０は、例えば、ＧＮＳＳ（Global Navigation Satellite System）受信機４１と、ナビＨＭＩ（Human Machine Interface）４２と、経路決定部４３とを備える。ナビゲーション装置４０は、ＨＤＤ（Hard Disk Drive）やフラッシュメモリ等の記憶装置に地図情報４４を保持している。ＧＮＳＳ受信機４１は、ＧＮＳＳ衛星から受信した信号に基づいて、車両Ｍの位置を特定する。車両Ｍの位置は、車両Ｍに搭載された車両センサ（不図示）の出力を利用したＩＮＳ（Inertial Navigation System）によって特定または補完されてもよい。なお、第１実施形態では、ナビゲーション装置４０に代えて、車両ＭにＧＰＳ（Global Positioning System）装置を搭載し、ＧＰＳ装置によって車両Ｍの位置を取得してもよい。ナビゲーション装置４０またはＧＰＳ装置は、車両Ｍの位置を取得する「位置取得部」の一例である。
【００２３】
ナビＨＭＩ４２は、ディスプレイ、スピーカ、タッチパネル、キー等を含む。ナビＨＭＩ４２は、画像や音声等を用いて乗員に目的地等を設定させたり、目的地までの走行経路を乗員に案内する。経路決定部４３は、例えば、ＧＮＳＳ受信機４１により特定された車両Ｍの位置（或いは入力された任意の位置）から、ナビＨＭＩ４２を用いて乗員により入力された目的地までの経路（以下、地図上経路）を、地図情報４４を参照して決定する。地図情報４４は、例えば、道路を示すリンクと、リンクによって接続されたノードとによって道路形状が表現された情報である。地図情報４４は、道路の曲率やＰＯＩ（Point Of Interest）情報等を含んでもよい。また、地図情報４４は、例えば、車線の中央の情報あるいは車線の境界の情報、車線の種別の情報等を含んでもよい。また、地図情報４４には、道路情報、交通規制情報、住所情報（住所・郵便番号）、施設情報、電話番号情報等が含まれてよい。地図情報４４は、通信部１１０が他装置と通信することにより、随時、アップデートされてよい。ナビゲーション装置４０は、地図上経路に基づいて、表示部６０による地図画像表示やスピーカ（不図示）による音声出力によって、経路案内等を行う。
【００２４】
ここで、車載装置１０の運転制御装置２０、駆動制御装置３０、およびナビゲーション装置４０の各機器は、それぞれＥＣＵ（Electronic Control Unit）を中心として構成される。ＥＣＵは、「機器制御部」の一例である。ＥＣＵは、例えば、プロセッサ、メモリ、補助記憶装置、および外部通信インターフェース等が、バスで接続されたものである。ＥＣＵには、ソフトウェアが組み込まれており、ソフトウェアを実行することで、対応する機器の少なくとも一部の制御が実行される。ソフトウェアは、少なくとも一以上のプログラムモジュールを含む。プログラムモジュールとは、例えば、一以上のプログラムを含み、ソフトウェアによって実現できる機能のうち部分的な機能を実行するものである。ソフトウェアは、例えば、更新制御部１２０の制御によってモジュール単位の更新が可能である。以下では、更新用のソフトウェア（以下、更新ソフトウェアと称する）を外部装置（例えば、ソフトウェア提供装置）からダウンロードして機器のソフトウェアを更新する一連の処理を「リプログラミング」と称する場合がある。また、各機器のＥＣＵを区別しない場合には、単に「ＥＣＵ」と称して説明する場合がある。
【００２５】
バッテリ５０は、例えば、車載装置１０や表示部６０、ソフトウェア更新装置１００、その他の車両Ｍ内の電気機器等に電力を供給する。リプログラミングの実行時に用いられる電源は、主にバッテリ５０から更新対象のＥＣＵに供給される。また、車両システム１は、充電コネクタ５２を備えていてもよい。充電コネクタ５２は、充電スポットまたは乗員の自宅に設置された充電設備から供給される電力を取得するために、充電設備の充電プラグと接続される、着脱自在に構成されたコネクタである。例えば、充電コネクタ５２と充電プラグとが接続された状態において、バッテリ５０の充電が行われる。なお、車両Ｍは、充電コネクタ５２に代えて、無線で電力を受信する電力受信部（不図示）を備えてもよい。この場合、電力受信部が充電スポット等に設けられた電力送信部から非接触で電力を受信できる位置に車両Ｍを停車させることで、ワイヤレスでバッテリ５０の充電が行われる。
【００２６】
表示部６０は、例えば、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro Luminescence）ディスプレイ等の表示装置である。表示部６０は、例えば、表示制御部１４０により生成された画像を表示する。表示部６０は、例えば、タッチパネル装置として、乗員からの操作内容を受け付ける機能を備えていてもよい。また、表示部６０は、ナビゲーション装置４０と一体に構成され、ナビゲーション装置４０による目的地までの経路案内等の表示を行ってもよい。
【００２７】
ソフトウェア更新装置１００は、例えば、通信部１１０と、更新制御部１２０と、通信状況管理部１３０と、表示制御部１４０と、バッテリ管理部１５０と、記憶部１６０とを備える。これらの構成要素は、例えば、ＣＰＵ（Central Processing Unit）等のハードウェアプロセッサがプログラム（ソフトウェア）を実行することにより実現される。また、これらの構成要素のうち一部または全部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＧＰＵ（Graphics Processing Unit）等のハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予め記憶部１６０に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭ等の着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることで記憶部１６０にインストールされてもよい。
【００２８】
記憶部１６０は、例えば、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）、ＲＯＭ（Read Only Memory）、またはＲＡＭ（Random Access Memory）等により実現される。記憶部１６０には、例えば、ソフトウェア管理情報１６２、通信履歴情報１６４、通信予定情報１６６、プロセッサによって読み出されて実行されるプログラム、その他各種情報等が格納される。
【００２９】
通信部１１０は、例えば、セルラー網やＷｉ−Ｆｉ網、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＤＳＲＣ（Dedicated Short Range Communication）等を利用して、各種サーバ装置や携帯型端末装置と通信したり、車両Ｍの周辺に存在する周辺車両（他車両）と通信する。各種サーバ装置には、例えば、ＥＣＵに組み込まれるソフトウェアを提供するサーバ装置が含まれる。通信部１１０は、例えば、ＴＣＵ（Telematics Control Unit）であってもよい。
【００３０】
更新制御部１２０は、例えば、通信部１１０を介して、外部装置からソフトウェアの更新があることを示す情報（以下、更新情報）を受信した場合、表示部６０等を用いて、車両Ｍの乗員または所有者等に、ソフトウェアの更新が有ることを通知する。ソフトウェアとは、上述したＥＣＵに組み込まれるソフトウェアである。また、更新制御部１２０は、車両Ｍの乗員または所有者等からソフトウェアの更新指示を受け付けた場合、ＥＣＵごとに組み込まれるソフトウェアを更新するためのリプログラミング制御を行う。
【００３１】
例えば、更新制御部１２０は、通信部１１０により受信した外部装置からの更新情報と、記憶部１６０に記憶されたソフトウェア管理情報１６２とに基づいて更新の有無を判定し、更新が必要であると判定された場合にリプログラミング制御を行う。また、更新制御部１２０は、記憶部１６０に記憶された通信履歴情報１６４に基づいて、更新を行うタイミングやサーバ装置から更新ソフトウェアをダウンロードするときのデータ容量の調整を行う。更新制御部１２０の機能の詳細については後述する。
【００３２】
通信状況管理部１３０は、車両Ｍが通信部１１０を介して外部装置とデータの送受信を行った場合に、そのときの車両Ｍの位置、通信方式、データ容量等の通信状況を取得する。また、通信状況管理部１３０は、取得した通信状況に基づいて、過去の通信状況の一例としての通信履歴情報１６４を生成し、生成した通信履歴情報１６４を記憶部１６０に記憶させる。
【００３３】
図２は、通信履歴情報１６４の内容の一例を示す図である。通信履歴情報１６４は、日時情報に、位置情報、通信方式情報、データ量、およびデータ内容等が対応付けられている。日時情報とは、通信部１１０により外部と通信を行った日時に関する情報である。日時情報には、例えば、通信開始時刻と通信終了時刻の情報が含まれる。日時情報は、例えば、車両Ｍに搭載された時計（不図示）によって取得される情報である。位置情報は、例えば、通信部１１０により外部との通信が行われたときの車両Ｍの位置である。位置情報は、例えば、通信開始地点から通信終了地点までの情報（区間または経路情報）が含まれてよい。位置情報は、例えば、ナビゲーション装置４０によって取得される情報である。
【００３４】
通信方式情報は、例えば、通信部１１０が外部と通信を行った場合の通信方式に関する情報である。通信方式情報には、例えば、電波通信における通信方式の世代を表す規格情報が含まれる。規格情報には、例えば、第３世代移動通信規格（以下、「３Ｇ」と称する）や、第３．９世代移動通信規格（以下、「ＬＴＥ」と称する）、第４世代移動通信規格（以下、「４Ｇ」と称する）、第５世代移動通信規格（以下、「５Ｇ」と称する）が含まれる。また、通信規格は、世代が大きくなるごとに高速通信が可能となる。したがって、通信方式情報は、通信速度の速度レベルに関する情報に相当する。なお、上記の通信規格は、キャリア（通信事業者）との通信に利用する規格である。また、通信方式情報には、Ｗｉ−Ｆｉ等の無線ＬＡＮ（Local Area Network）の規格に関する情報が含まれてもよい。Ｗｉ−Ｆｉは、例えば、各個人または各企業等が自身のネットワークを自由に使用することができる電波通信の規格である。Ｗｉ−Ｆｉに準拠した通信方式での通信規格は、電波の到達範囲が非常に狭く、Ｗｉ−Ｆｉのアンテナ位置から約１０［ｍ］程度での利用に限定される。また、Ｗｉ−Ｆｉに準拠した通信方式である場合、通信方式情報として、周波数帯域に関する情報（例えば、５［ＧＨｚ］帯、２．４［ＧＨｚ］帯）や、その帯域での通信規格に関する情報が含まれてもよい。また、通信方式情報には、通信先の設備（無線ルーターや基地局等）を識別する識別情報が含まれていてもよい。
【００３５】
また、通信方式情報には、通信状態に関する情報が含まれてよい。通信状態には、例えば、電波強度に基づく情報や、通信が安定しているか否かの情報が含まれる。電波強度は、例えば、通信部１１０により計測される。通信状況管理部１３０は、例えば、通信部１１０により計測された電波強度の所定時間における変動幅が閾値未満である場合に通信が安定していると判定し、閾値を超える場合に通信が安定していないと判定する。データ量は、例えば、通信開始時刻から通信終了時刻までの期間において通信部１１０が通信を行ったデータ量である。データ量は、外部から受信したデータ量であるが、これに加えて外部に送信したデータ量が含まれてもよい。データ内容は、通信部１１０が外部から取得したデータの内容に関する情報である。データの内容は、例えば、更新ソフトウェアを識別する識別情報（例えば、モジュール種別やバージョン情報）である。また、データ内容には、無線通信により外部からダウンロードした映像コンテンツ、音楽コンテンツ、地図データ等の他のコンテンツデータが含まれてもよい。
【００３６】
通信状況管理部１３０は、外部と通信を行うごとに、通信履歴情報１６４を生成または最新の情報に更新する。また、通信状況管理部１３０は、車両Ｍの位置に基づき、車両Ｍがすでに通信履歴情報１６４に含まれる位置情報とは異なる位置を走行している場合に、異なる位置の通信状況を学習して、通信履歴情報１６４に反映させてもよい。これにより、処理負荷を低減させることができる。
【００３７】
表示制御部１４０は、表示部６０を制御して、ＥＣＵのソフトウェアの更新に関する情報や、運転制御、運転支援に関する情報を含む画像等を生成する。生成する画像には、アイコン等のＧＵＩ（Graphical User Interface）が含まれてもよい。また、表示制御部１４０は、生成した画像やナビゲーション装置４０から得られる経路画像、外部装置からダウンロードしたコンテンツデータ、後述する通信予定情報に関する情報等を表示部６０に表示させる。
【００３８】
バッテリ管理部１５０は、バッテリ５０のエネルギー残量や充放電等のバッテリ状態を管理する。例えば、バッテリ管理部１５０は、バッテリ５０の端子電圧を測定し、測定した端子電圧の大きさに基づいてエネルギー残量を取得する。また、バッテリ管理部１５０は、例えば、電流検出抵抗を使って充電時に蓄えられた電流量を積算しておき、放電時に出力された電流量を求めることでエネルギー残量を取得してもよい。また、バッテリ管理部１５０は、例えば、バッテリ５０の放電特性や温度特性等のデータベースを予め記憶部１６０等に記憶しておき、計測した電圧値や電流値と、データベースとに基づいて残量を取得してもよい。また、バッテリ管理部１５０は、上述した取得手法のうち一部または全部を組み合わせてもよい。また、バッテリ管理部１５０は、上述したエネルギー残量に代えて充電率（ＳＯＣ；State Of Charge）を取得してもよい。
【００３９】
［更新制御部］
次に、更新制御部１２０の機能の詳細について説明する。更新制御部１２０は、例えば、ＯＴＡ（Over The Air）等の無線通信により外部装置（以下、サーバ装置として説明する）と通信を行い、対象機器のＥＣＵに組み込まれているソフトウェアのリプログラミングを行う。具体的には、更新制御部１２０は、車載装置１０の各機器のＥＣＵに組み込まれているソフトウェアのバージョン情報を、記憶部１６０に記憶されたソフトウェア管理情報１６２から取得する。
【００４０】
図３は、ソフトウェア管理情報１６２の内容の一例を示す図である。ソフトウェア管理情報１６２は、ＥＣＵ識別情報に、最新更新日時およびバージョン情報が対応付けられている。ＥＣＵ識別情報とは、車載装置１０の各装置のＥＣＵを識別するための識別情報である。最新更新日は、リプログラミングされたソフトウェアの最新の更新日時である。バージョン情報とは、サーバ装置からダウンロードし、ＥＣＵに組み込まれているソフトウェアのバージョンに関する情報である。
【００４１】
更新制御部１２０は、ソフトウェアの更新が必要であるか否かを判定するため、所定のタイミングで通信部１１０を介してサーバ装置と通信を行い、各ソフトウェアのバージョン情報の問い合わせを行う。そして、更新制御部１２０は、サーバ装置から取得したバージョン情報と、ソフトウェア管理情報１６２から取得したバージョン情報とを比較し、合致していない場合（より具体的には、サーバ装置のバージョンの方が新しい場合）に、対象ソフトウェアの更新を行う。
【００４２】
なお、更新制御部１２０は、ソフトウェアの更新を開始する前に、表示制御部１４０にソフトウェアの更新を実行するか否かを乗員に問い合わせるための画像を生成させ、生成させた画像を表示部６０に表示させてもよい。更新制御部１２０は、表示部６０により更新の実行を拒否する選択を受け付けた場合、ソフトウェアの更新を行わない。また、更新制御部１２０は、表示部６０により更新の実行を許可する選択を受け付けた場合に、ナビゲーション装置４０により目的地までの経路案内と連携させて、ソフトウェアを更新するタイミングを制御する。
【００４３】
図４は、更新制御部１２０の処理について説明するための図である。図４の例では、地図情報４４の一部が表示されている。図４に示す地図画像ＭＡＰ１は、位置や領域が縦１〜５および横Ａ〜Ｅのブロックによって識別可能に区分けされている。各ブロックは、例えば、道路や交差点によって区分けされてもよく、地図座標によって距離単位で区分けされてもよい。以下では、ブロックの区切り部分に道路や交差点が存在しているものとして説明する。
【００４４】
ナビゲーション装置４０は、例えば、ナビＨＭＩ４２により目的地の入力が受け付けられた場合に、車両Ｍの現在位置から目的地までの経路を決定する。図４の例では、自宅ＨＯに駐車している車両Ｍが存在する地点（現在地）Ｐ１から会社ＯＦ（目的地）が存在する地点Ｐ２までの経路Ｋ１が決定されている。次に、更新制御部１２０は、決定された経路Ｋ１における位置情報を用いて、通信履歴情報１６４を参照し、経路Ｋ１における過去の通信状況を取得し、取得した通信状況を地図画像ＭＡＰ１に反映させる。図４の例では、通信履歴情報１６４に基づいて地図画像ＭＡＰ１上に通信方式情報が重畳して示されている。図４には、通信規格が５Ｇで通信された領域（以下、「５Ｇエリア」と称し、他の規格についても同様とする）Ａ５と、４ＧエリアＡ４と、３ＧエリアＡ３と、Ｗｉ−ＦｉエリアＡＷ１〜ＡＷ４とが示されている。図４の例において、経路Ｋ１には、３Ｇ、４Ｇよりも高速通信が可能なＷｉ−ＦｉエリアＡＷ１、ＡＷ２、ＡＷ４、および５ＧエリアＡ５が含まれている。したがって、更新制御部１２０は、Ｗｉ−Ｆｉエリアや５Ｇエリアよりも通信が低速（通信速度が所定速度未満）である３ＧエリアＡ３および４ＧエリアＡ４での更新ソフトウェアのダウンロードを抑制し、高速通信（通信速度が所定速度以上）の通信状況下で通信を行ったエリア（Ｗｉ−ＦｉエリアＡＷ１、ＡＷ２、ＡＷ４、および５ＧエリアＡ５）を車両Ｍが走行しているときに、更新ソフトウェアがダウンロードされるように更新のタイミングを制御する。
【００４５】
ここで、Ｗｉ−ＦｉエリアＡＷ１は、自宅ＨＯに設置され、乗員が月ごとの定額料金等で契約したＷｉ−Ｆｉルータにより通信を行うエリア（プライベートＷｉ−Ｆｉエリア）であるものとする。また、Ｗｉ−ＦｉエリアＡＷ２、ＡＷ４は、企業や店舗等が提供する誰でも認証が不要または簡単な認証で使用できると共に使用者のコストが発生しないエリア（Ｆｒｅｅ  Ｗｉ−Ｆｉエリア）であるものとする。また、５ＧエリアＡ５は、通信キャリアがユーザ認証を行った複数人に提供するエリアであり、契約内容によってデータ量ごとに料金が加算されたり、高速通信が可能なデータ量の上限に制限が課せられているものとする。
【００４６】
更新制御部１２０は、高速通信が可能なエリアが複数ある場合に、複数にエリアごとに設定される優先度に基づいて、更新ソフトウェアをダウンロードするタイミングを調整してもよい。優先度は、例えば、通信速度（最高速度）や通信コスト、規格の種類、通信可能エリアの大きさ、セキュリティの強弱、現在位置からの距離等によって設定される。例えば、５ＧエリアＡ５は、Ｗｉ−ＦｉエリアＡＷ１、ＡＷ２、およびＡＷ４よりも通信可能エリアが広域である。また、Ｗｉ−ＦｉエリアＡＷ１は、Ｗｉ−ＦｉエリアＡＷ２、ＡＷ４や、５Ｇエリア５Ａよりもセキュリティが強い。また、仮に、５ＧエリアＡ５がセルラー網を用いた通信である場合には、通信コストが１パケットごとに発生するため、大容量データや複数台の車両のソフトウェア更新を行う場合にコストが大きくなる可能性がある。したがって、更新制御部１２０は、高速通信可能な通信方式が複数ある場合には、Ｗｉ−Ｆｉに準拠した通信方式の優先度を高く設定してもよい。
【００４７】
更に、更新制御部１２０は、例えば、自宅ＨＯや会社等の特定地点におけるＷｉ−Ｆｉに準拠した通信方式を用いた通信であり、且つ車両Ｍが停車している場合に、他の通信方式よりも優先して、ソフトウェアの更新を行うようにスケジュールを調整してもよい。データの送受信を行う場合に、最も効率的でセキュリティ強度が高いのは、車両Ｍが自宅ＨＯに駐車中の状態でプライベートＷｉ−Ｆｉを用いた通信である。そのため、更新制御部１２０は、プライベートＷｉ−Ｆｉエリアでの通信が可能である場合に、そのエリアでの通信が積極的に実行されるように優先度を高く設定する。
【００４８】
したがって、図４の例において、更新制御部１２０は、優先度を高い方から、「Ｗｉ−ＦｉエリアＡＷ１」、「Ｗｉ−ＦｉエリアＡＷ２、ＡＷ４」、「５Ｇエリア５Ａ」と設定し、設定した優先度順にダウンロードする更新ソフトウェアのデータ量を割り当てる。
【００４９】
また、更新制御部１２０は、更新ソフトウェアのデータをモジュール等で分割してダウンロードする場合に、どのエリアでどの程度のデータ量をダウンロードするかを設定してもよい。また、更新制御部１２０は、割り当てたダウンロードの予定を通信予定情報１６６として記憶部１６０に記憶させる。
【００５０】
図５は、通信予定情報１６６の内容の一例を示す図である。通信予定情報１６６は、例えば、エリア情報に、通信方式情報、データ量、およびデータ内容が対応付けられている。エリア情報は、例えば、データのダウンロードを行うエリアに関する情報である。データ内容は、例えば、ダウンロードする更新ソフトウェアのバージョン情報（例えば、Ｖ３．０）やモジュール情報等の内容である。例えば、リプログラミングするための更新ソフトウェアに含まれるプログラムモジュールがモジュール１〜５である場合、更新制御部１２０は、一又は複数のモジュール単位でダウンロードするエリア、データ量、データ内容を設定する。
【００５１】
なお、車両Ｍは、赤信号や渋滞等で停止している場合等を除き、目的地まで走行している。そのため、通信可能エリア内に存在する時間は、限られている。したがって、更新制御部１２０は、通信履歴情報１６４の記憶された日時情報、または、地図情報４４を参照して得られる経路上の道路の法定速度に基づいて、車両Ｍが通信可能範囲に存在する時間を推定してもよい。そして、更新制御部１２０は、推定した時間と、そのエリアでの通信速度とに基づいて、エリア通過時において、取得可能なデータ量を推定し、推定したデータ量に対応するダウンロードするデータ内容を設定する。図５の例では、Ｗｉ−ＦｉエリアＡＷ１で更新ソフトウェア（バージョン３．０）のモジュール１をダウンロードし、Ｗｉ−ＦｉエリアＡＷ２で更新ソフトウェア（バージョン３．０）のモジュール２〜５をダウンロードするように通信予定が設定されている。更新制御部１２０は、設定された通信予定情報１６６に基づいて、更新ソフトウェアのダウンロードを行い、ダウンロード後に更新処理を行う。
【００５２】
また、通信上の混雑や通信強度の低下による通信不良等により、予定通りにデータをダウンロードできずにエリアを通過した場合、更新制御部１２０は、例えば、通信予定に含まれていなかった高速通信可能エリア（Ｗｉ−ＦｉエリアＡＷ４、５Ｇエリア５Ａ）を用いて、更新予定情報を再生成してもよい。なお、更新制御部１２０は、最初に通信予定情報を生成する場合に、再生成することを見越して、予め予備の高速通信エリアを残して通信予定情報を生成してもよい。また、更新制御部１２０は、地点Ｐ１から地点Ｐ２までの往路だけでなく、地点Ｐ２から地点Ｐ１までの復路も含めて通信予定情報を生成してもよい。
【００５３】
また、更新制御部１２０は、更新ソフトウェアが緊急性の高いソフトウェアである場合には、高速通信や低速通信に関係なく、現時点で通信可能な通信方式によって、更新ソフトウェアをダウンロードしてもよい。緊急性の高いソフトウェアとは、例えば、運転制御や駆動制御のように、車両Ｍの挙動への影響度が高いソフトウェアである。したがって、例えば、ナビゲーション装置４０に対する更新ソフトウェアについては、緊急性が高いソフトウェアではないため、上述した更新予定情報に基づいてデータのダウンロードおよび更新処理を実行する。また、緊急性の高いソフトウェアとは、外部から受信した更新情報に、緊急性の高いソフトウェアである旨の通知があったソフトウェアであってもよい。
【００５４】
また、更新制御部１２０は、更新ソフトウェアのデータ量が閾値以内である場合には、現時点で通信可能な通信によって更新ソフトウェアをダウンロードしてもよい。データ量が少ないデータの場合に、低速通信であっても短時間でダウンロードできるため、通信途中で切断されたり、通信状況が切り替わることが少なく、適切なリプログラミングを実現することができる。
【００５５】
また、更新制御部１２０は、データのダウンロード時における通信状況に基づいて、通信履歴情報１６４を更新する。これにより、リアルタイムで通信状況を取得することができ、通信状況の変化等を、より正確に把握することができる。
【００５６】
また、更新制御部１２０は、バッテリ管理部１５０により管理されたバッテリ５０のエネルギー残量や充放電の状態に基づいて、更新するタイミングを設定してもよい。例えば、エネルギー残量が所定量以上である場合に、ソフトウェアのリプログラミングを実行し、エネルギー残量が所定量未満である場合に、リプログラミングを抑制するように制御する。また、更新制御部１２０は、例えば、自宅等に停車している車両の充電コネクタ５２が充電設備に接続されている状態（充電状態）であって、且つ高速通信が可能な状態である場合に、ソフトウェアのリプログラミングを実行するように制御してもよい。これにより、リプログラミングの途中でバッテリ５０の電力がなくなり、リプログラミングが中断することを抑制することができる。したがって、リプログラミングにおける安全性を向上させることができる。
【００５７】
更新制御部１２０は、更新ソフトウェアによるリプログラミングが正常に終了した場合、記憶部１６０に記憶されたソフトウェア管理情報１６２を更新する。また、更新制御部１２０は、更新ソフトウェアによるリプログラミングが正常に終了しなかった場合には、所定のタイミングでリプログラミングを再実行してもよい。
【００５８】
なお、上述の例において、更新制御部１２０は、ナビゲーション装置４０により設定された目的地までの経路に基づいて通信履歴情報１６４を用いて更新ソフトウェアをダウンロードするタイミングを制御したが、これに代えて（または加えて）、通信履歴情報１６４の通信状況に基づいて、ナビゲーション経路を変更させてもよい。この場合、更新制御部１２０は、ナビゲーション装置４０により設定された経路に高速通信が可能な５ＧエリアやＷｉ−Ｆｉエリアが存在しない場合に、通信履歴情報１６４を用いて経路付近に高速通信が可能なエリアが存在するか否かを判定する。経路付近とは、例えば、経路からの最短距離が所定距離以内の領域であって、経路上からは通信ができない領域である。経路付近に高速通信可能エリアが存在する場合、更新制御部１２０は、その高速通信エリアを通過する新たな経路を生成し、生成した経路を、経路変更指示と共にナビゲーション装置４０に出力する。ナビゲーション装置４０は、経路変更指示に基づいて、新たに生成された経路を乗員に案内する経路として設定する。そして、更新制御部１２０は、変更させた経路に基づいて通信予定情報１６６を生成し、生成した通信予定情報１６６に基づいて、更新ソフトウェアのダウンロードを行う。
【００５９】
［処理フロー］
図６は、第１実施形態のソフトウェア更新装置１００の処理の一例を示すフローチャートである。まず、更新制御部１２０は、サーバ装置等から送信された更新ソフトウェア情報のバージョン情報と、ソフトウェア管理情報１６２のバージョン情報とに基づいて、ソフトウェアを更新するか否かを判定する（ステップＳ１００）。ソフトウェアを更新すると判定された場合、更新制御部１２０は、緊急性が高い更新か否かを判定する（ステップＳ１０２）。緊急性が高い更新ではないと判定された場合、更新制御部１２０は、ナビゲーション装置４０から車両Ｍの目的地までの経路を取得し（ステップＳ１０４）、取得した経路に基づいて、記憶部１６０に記憶された通信履歴情報１６４を参照し、経路に対応する道路上での通信履歴を取得する（ステップＳ１０６）。
【００６０】
次に、更新制御部１２０は、通信履歴に基づいて、高速通信エリアで通信を行う通信予定情報１６６を生成する（ステップＳ１０８）。次に、更新制御部１２０は、生成した通信予定情報１６６に基づいて、予定したエリアで更新ソフトウェアのデータをダウンロードする（ステップＳ１１０）。なお、ステップＳ１０２の処理において、緊急性が高い更新であると判定された場合、更新制御部１２０は、現在位置で通信可能な通信状況下で更新ソフトウェアのデータをダウンロードする（ステップＳ１１２）。
【００６１】
ステップＳ１１０またはステップＳ１１２の処理が終了後、更新制御部１２０は、ソフトウェアを更新する（ステップＳ１１４）。次に、更新制御部１２０は、通信履歴情報１６４およびソフトウェア管理情報１６２を更新する（ステップＳ１１６）。これにより、本フローチャートの処理は、終了する。また、ステップＳ１００の処理において、ソフトウェアを更新しないと判定された場合、本フローチャートの処理は、終了する。
【００６２】
上述した第１実施形態のソフトウェア更新装置によれば、車両Ｍ（自車両）の過去の通信履歴に基づいて、高速通信を用いたデータのダウンロードを行うことができる。これにより、より迅速にソフトウェアの更新を行うことができる。
【００６３】
＜第２実施形態＞
次に、第２実施形態のソフトウェア更新装置１００について説明する。第２実施形態は、通信履歴情報１６４に基づいて車両Ｍの行動を予測し、予測結果に基づいてタイミングを制御する点で、第１実施形態と相違する。したがって、以下では、上述した相違点を中心として説明する。また、以下では、第１の実施形態と同様の機能については、同様の名称および符号を付するものとし、ここでの具体的な説明は省略する。以降の実施形態についても同様とする。
【００６４】
図７は、第２実施形態のソフトウェア更新装置１００Ａを含む車両システム１Ａの構成図である。車両システム１Ａは、例えば、車載装置１０と、バッテリ（蓄電池の一例）５０と、表示部６０と、車室内カメラ７０と、ソフトウェア更新装置１００Ａとを備える。車両システム１Ａは、第１実施形態の車両システム１と比較すると、車室内カメラ７０が設けられているとともに、ソフトウェア更新装置１００がソフトウェア更新装置１００Ａに置き換わっている点で相違する。
【００６５】
車室内カメラ７０は、例えば、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の固体撮像素子を利用したデジタルカメラである。車室内カメラ７０は、ステレオカメラであってもよい。車室内カメラ７０は、車両Ｍの室内の任意の箇所に取り付けられる。車室内カメラ７０は、車室内に存在する乗員の顔や上半身、手や腕等を含む領域を撮像する。車室内カメラ７０は、上記の領域を周期的に繰り返し撮像してもよく、所定のタイミングで撮像してもよい。車室内カメラ７０により撮像された画像は、ソフトウェア更新装置１００に出力される。
【００６６】
ソフトウェア更新装置１００Ａは、例えば、通信部１１０と、更新制御部１２０Ａと、通信状況管理部１３０と、表示制御部１４０と、行動予測部１４５と、バッテリ管理部１５０と、記憶部１６０とを備える。これらの構成要素は、例えば、ＣＰＵ等のハードウェアプロセッサがプログラム（ソフトウェア）を実行することにより実現される。また、これらの構成要素のうち一部または全部は、ＬＳＩやＡＳＩＣ、ＦＰＧＡ、ＧＰＵ等のハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予め記憶部１６０に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭ等の着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることで記憶部１６０にインストールされてもよい。ソフトウェア更新装置１００Ａは、第１実施形態のソフトウェア更新装置１００と比較して、行動予測部１４５を備えると共に、更新制御部１２０が更新制御部１２０Ａに置き換わっている点で相違する。
【００６７】
更新制御部１２０Ａは、外部装置から更新情報やバージョン情報を受け付け、ソフトウェア管理情報１６２から取得したバージョン情報とを比較し、合致していない場合に、対象ソフトウェアの更新を行う。この場合、更新制御部１２０Ａは、行動予測部１４５に車両Ｍの将来の行動予測を実行させる。なお、更新制御部１２０Ａは、ナビゲーション装置４０により目的地が設定されていない状態で車両Ｍが走行している場合やその他の条件を満たす場合に、行動予測を行わせてもよい。
【００６８】
行動予測部１４５は、更新制御部１２０Ａからソフトウェアを更新する通知または行動予測を行う指示を受け付けた場合に、通信履歴情報１６４に基づいて、車両Ｍの将来の行動予測を行う。例えば、行動予測部１４５は、車両Ｍの位置情報、所定時間における位置情報の変化量、車速、または進行方向に基づいて車両Ｍの現在の走行状況を取得する。また、行動予測部１４５は、車両Ｍの位置に基づいて、通信履歴情報１６４を参照し、車両Ｍの位置に近似する位置情報に対応付けられた通信方式情報やデータ量、データ内容等を取得する。また、行動予測部１４５は、通信履歴情報１６４の位置情報と日時情報に基づいて、車両Ｍの現在の位置からの行動予測を行う。
【００６９】
また、行動予測部１４５は、車両Ｍの現在位置と日時情報とを用いて通信履歴情報１６４と照合してもよい。これにより、曜日や時間帯で習慣付けられた行動がある場合に、より高精度に行動予測を行うことができる。
【００７０】
また、行動予測部１４５は、車室内カメラ７０により撮像された画像から乗員（例えば、運転者）の状態を推定し、推定した状態に基づいて、車両Ｍの行動予測を行ってもよい。乗員の状態とは、例えば、乗員の状態は、眠気、視線の向き、感情等のうち一部または全部を含む。行動予測部１４５は、車室内カメラ７０により撮像された画像を解析して乗員の顔の位置や、目、鼻、口の位置および配置、色情報等の顔の特徴情報を取得し、取得した特徴情報と、不図示のモデル情報に基づいて、乗員の眠気の有無や視線、感情を取得する。モデル情報とは、ＡＩ（Artificial Intelligence；人工知能）等を用いて学習対象情報に対してディープラーニング等の機械学習が行われることで生成された情報である。学習対象情報とは、人物の画像と画像に対応する感情の種別とが対応付けられた情報である。このモデル情報は、画像または顔の特徴情報が入力されると、その画像に含まれる乗員または特徴情報に対する感情を出力する。感情とは、例えば、喜怒哀楽である。また、行動予測部１４５は、予め乗員の複数の感情に対応付けられた特徴情報を記憶部１６０等に記憶しておき、記憶された特徴情報と画像から得られた特徴情報とを比較することで、乗員の状態を取得してもよい。また、行動予測部１４５は、上述した画像解析に代えて（または加えて）、車両Ｍに搭載されたマイク（不図示）により乗員の音声を取得し、取得した音声に基づいて乗員の状態（例えば、感情）を取得してもよい。
【００７１】
そして、行動予測部１４５は、車両Ｍの走行状態、乗員の状態、および通信履歴情報１６４に基づいて、車両Ｍの将来の行動予測を行う。例えば、車両Ｍの現在の走行状態から予測される経路が二つ存在する場合であり、且つ、乗員に眠気がある（瞼が下がっている）、または乗員が怒っていると推定される場合、行動予測部１４５は、車両Ｍが近くに駐車される可能性が高いと判断し、予測される二つの経路のうち、距離が短い（推定される目的地までの距離が短い）経路を予測経路として行動予測を行う。また、乗員に眠気がない、または乗員が笑っていると推定される場合、行動予測部１４５は、乗員が運転を継続する可能性が高いと判断し、予測される二つの経路のうち、距離が長い（推定される目的地までの距離が長い）経路を予測経路として行動予測を行う。これにより、行動予測部１４５は、より高精度に行動予測を行うことができる。
【００７２】
更新制御部１２０Ａは、行動予測部１４５により予測された車両Ｍの行動に基づいて、通信予定情報１６６を生成する。図８は、更新制御部１２０Ａの処理について説明するための図である。図８の例では、図４と地図画像ＭＡＰ１に通信方式情報が重畳されている。図８において、車両Ｍは、現在地点Ｐ３に存在し、図８に示す地図画像ＭＡＰ１の下方向に速度ＶＭで走行しているものとする。この場合、行動予測部１４５は、通信履歴情報１６４を参照し、過去の行動履歴から店舗ＳＨに向かっているものと予測し、予測経路Ｋ２を生成する。更新制御部１２０は、行動予測部１４５からの予測経路Ｋ２に基づいて、通信履歴情報１６４を参照し、通信方式の優先度等に基づいて、高速通信エリアで通信を行う通信予定情報１６６を生成する。図８の例では、Ｗｉ−ＦｉエリアＡＷ２、ＡＷ３を優先させた通信予定情報が生成される。
【００７３】
［処理フロー］
図９は、第２実施形態のソフトウェア更新装置１００の処理の一例を示すフローチャートである。図９に示す処理では、上述した第１実施形態のソフトウェア更新装置１００の処理と比較して、ステップＳ１０４〜Ｓ１０８の処理に代えて、ステップＳ１２０〜Ｓ１２４の処理が追加されている点で相違する。したがって、以下では、主にステップＳ１２０〜Ｓ１２４の処理を中心として説明する。
【００７４】
図９に示すステップＳ１０４の処理において、緊急性が高い更新ではない場合、行動予測部１４５は、通信履歴情報１６４、車両Ｍの走行状態、および乗員状態を取得する（ステップＳ１２０）。次に、行動予測部１４５は、車両の行動を予測し予測経路を生成する（ステップＳ１２０）。次に、更新制御部１２０は、予測経路および通信履歴情報１６４に基づいて、高速通信エリアで通信を行う通信予定情報１６６を生成し（ステップＳ１２４）ステップＳ１１０以降の処理を行う。
【００７５】
上述した第２実施形態のソフトウェア更新装置によれば、通信履歴に基づいて、目的地までの経路を高速通信が可能な経路に変更することで、ナビゲーション装置４０による経路案内と連携させて、適切なタイミングで更新ソフトウェアのダウンロードを行うことができる。
【００７６】
なお、第２実施形態では、第１実施形態と同様の効果を奏する他、ナビゲーション装置４０により目的地までの経路が設定されていない場合であっても、予測経路等に基づいて、より適切な通信予定情報を生成することができる。また、第２実施形態によれば、乗員の習慣（例えば、通勤、買い物）等と連携させた更新スケジュールを生成することができる。
【００７７】
＜第３実施形態＞
次に、第３実施形態のソフトウェア更新装置１００について説明する。第３実施形態では、他車両または外部装置から通信状況に関する情報（後述する他車両の通信履歴情報、通信状況マップ）を取得し、取得した情報に基づいて、更新ソフトウェアのデータをダウンロードするタイミングを制御する点で、第１実施形態と相違する。したがって、以下では、主に上述の相違点を中心として説明し、それ以外の説明は省略するものとする。なお、第３実施形態では、他車両にも第１実施形態と同様のソフトウェア更新装置１００が搭載されているものとする。
【００７８】
図１０は、第３実施形態に係るソフトウェア更新装置１００を含むソフトウェア更新システム２の構成の一例を示す図である。ソフトウェア更新システム２は、例えば、一以上の車両のそれぞれに搭載されたソフトウェア更新装置１００と、サーバ装置２００とを備える。以下では、説明の便宜上、車両（自車両）Ｍと他車両ｍ１とを用いて説明する。
【００７９】
ソフトウェア更新装置１００と、サーバ装置２００とは、ネットワークＮＷを介して互いに通信可能である。ネットワークＮＷは、例えば、セルラー網や、Ｗｉ−Ｆｉ網、Ｂｌｕｅｔｏｏｔｈ（登録商標）、インターネット、ＷＡＮ（Wide Area Network）、ＬＡＮ、公衆回線、プロバイダ装置、専用回線、無線基地局等を含む。また、これらの構成要素は、それぞれネットワークＮＷを介さずに、直接、無線通信を行ってもよい。また、図１０に示すソフトウェア更新システム２において、車両Ｍと他車両ｍ１は、車両間の距離が所定距離以内である場合に車車間通信を行ってもよい。また、第３実施形態において、ソフトウェア更新装置１００は、第２実施形態のソフトウェア更新装置１００Ａであってもよい。
【００８０】
図１１は、第３実施形態のサーバ装置２００の構成図である。サーバ装置２００は、例えば、サーバ側通信部２１０と、入力部２２０と、出力部２３０と、サーバ側制御部２４０と、サーバ側記憶部２５０とを備える。また、サーバ装置２００は、例えば、ソフトウェア更新装置１００と、ネットワークＮＷを介して互いに通信し、各種データを送受信するクラウドサーバとして機能してもよい。
【００８１】
サーバ側通信部２１０は、ＮＩＣ等の通信インターフェースを含む。サーバ側通信部２１０は、ネットワークＮＷを介して車両ごとに搭載されたソフトウェア更新装置１００と通信する。
【００８２】
入力部２２０は、例えば、ボタン、キーボードやマウス等のユーザインターフェースである。入力部２２０は、利用者（例えば、管理者等）の操作を受け付けて、受け付けた操作に応じた信号をサーバ側制御部２４０に出力する。入力部２２０は、出力部２３０の表示部と一体として構成されるタッチパネルであってもよい。
【００８３】
出力部２３０は、利用者に情報を出力する。出力部２３０は、例えば、画像を表示する表示部と、音声を出力する音声出力部とを備える。表示部は、例えば、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro Luminescence）ディスプレイ等の表示装置を含む。表示部は、サーバ側制御部２４０により出力される情報に対応した画像を表示する。音声出力部は、例えば、スピーカである。音声出力部は、サーバ側制御部２４０により出力される情報に対応した音声を出力する。
【００８４】
サーバ側制御部２４０は、例えば、通信履歴取得部２４２と、マップ生成部２４４と、情報提供部２４６とを備える。サーバ側制御部２４０の各構成要素は、例えば、ＣＰＵ等のプロセッサがサーバ側記憶部２５０に格納されたプログラムを実行することにより実現される。また、サーバ側制御部２４０の構成要素の一部または全部は、ＬＳＩ、ＡＳＩＣ、ＦＰＧＡ、またはＧＰＵ等のハードウェア（回路部；circuitry）により実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【００８５】
サーバ側記憶部２５０は、例えば、ＨＤＤ、フラッシュメモリ、ＥＥＰＲＯＭ、ＲＯＭ、ＲＡＭ等の記憶装置により実現される。サーバ側記憶部２５０には、サーバ側通信履歴情報２５２、通信状況マップ２５４、プロセッサによって読み出されて実行されるプログラム、およびその他各種情報等が格納される。
【００８６】
通信履歴取得部２４２は、ネットワークＮＷを介して一以上の車両（車両Ｍおよび他車両ｍ１）から送信された通信履歴情報を取得し、取得した通信履歴情報をサーバ側通信履歴情報２５２としてサーバ側記憶部２５０に記憶させる。図１２は、サーバ側通信履歴情報２５２の内容の一例を示す図である。サーバ側通信履歴情報２５２は、車両を識別する識別情報としての車両ＩＤに、日時情報、位置情報、通信方式情報、データ量、およびデータ内容が対応付けられている。これにより、通信履歴情報を車両ごとに管理することができる。
【００８７】
マップ生成部２４４は、サーバ側通信履歴情報２５２に基づいて、通信状況を示すマップを生成する。図１３は、マップ生成部２４４により生成されるマップの一例を示す図である。図１３の例では、上述した図４と同様の領域からなる地図画像ＭＡＰ２が示されている。この地図画像ＭＡＰ２は、車両から取得してもよく、サーバ側記憶部２５０に記憶された地図情報（不図示）から取得してもよい。マップ生成部２４４は、例えば、地図画像ＭＡＰ２における位置情報と、サーバ側通信履歴情報２５２の位置情報とを対応付けて、地図画像ＭＡＰ２上に、通信方式ごとに通信可能エリアをプロットする。
【００８８】
この場合、マップ生成部２４４は、高速通信以外の通信方式（例えば、Ｇ３）の通信可能エリアを地図画像ＭＡＰ２上にプロットしないようにしてもよい。これにより、車両側で通信状況マップを用いて通信予定情報を生成する場合に、高速通信以外の通信を抑制することができる。
【００８９】
また、マップ生成部２４４は、個人契約等により第三者が使用することができない通信方式（例えば、Ｆｒｅｅ  Ｗｉ−Ｆｉではなく、プライベートＷｉ−Ｆｉの通信可能エリア（例えば、図４に示すＷｉ−ＦｉエリアＡＷ１）を地図画像ＭＡＰ２上にプロットしないようにしてもよい。これにより、車両の乗員が個人で契約した情報を含めずに通信状況マップを生成することができる。したがって、通信状況マップに含まれる通信可能な領域だけの情報から、適切な通信予定を生成することができる。図１３の例では、５ＧエリアＡ５と、４ＧエリアＡ４、Ａ４２と、Ｗｉ−ＦｉエリアＡＷ２〜ＡＷ７とが示されている。マップ生成部２４４は、生成した通信状況マップ２５４をサーバ側記憶部２５０に記憶させる。なお、マップ生成部２４４は、所定の周期またはタイミングでマップ生成を繰り返し行うことで、リアルタイムな通信状況を管理することができる。
【００９０】
情報提供部２４６は、車両からの通信状況マップの取得要求に基づいて、サーバ側記憶部２５０に記憶された通信状況マップ２５４を要求のあった車両に送信する。なお、情報提供部２４６は、車両から現在位置や目的地に関する情報が送信された場合、通信状況マップ２５４のうち、車両の現在位置および目的地を含むマップを抽出し、抽出したマップを車両に送信してもよい。これにより、データ量を削減することができる。
【００９１】
なお、第３実施形態におけるサーバ装置２００は、通信状況マップの生成や提供を行う機能に加えて、更新ソフトウェアを配信する機能を備えていてもよい。この場合、情報提供部２４６は、車両のＥＣＵ等に対してソフトウェアの更新があり場合に、更新情報をソフトウェア更新装置１００に送信する。また、情報提供部２４６は、例えば、ソフトウェア更新装置１００の通知に応じて、車両の乗員または所有者等から更新指示を受け付けた場合に、ソフトウェア更新装置１００によって制御されたダウンロードのタイミングに基づいて、更新に用いられる情報（更新ソフトウェア等）を、ネットワークＮＷを介して送信する。
【００９２】
また、情報提供部２４６は、通信状況マップを提供するのに代えて（または加えて）、サーバ側通信履歴情報２５２を用いた統計処理等を用いた機械学習を行い、学習結果に基づいて車両ごとの行動パターンを予測し、予測した行動パターンを用いた将来の行動予測に基づいて、車両ごとに、更新データをダウンロードする通信予定情報を生成してもよい。また、情報提供部２４６は、予測した行動パターンに基づいて、運転者の感情等を推定し、推定した結果に基づいて通信予定情報を生成してもよい。ソフトウェア更新装置１００は、情報提供部２４６から提供された通信予定情報を用いて更新データのダウンロードを行うことで、通信予定を設定するための処理負荷を低減させることができる。
【００９３】
例えば、第３実施形態の更新制御部１２０は、ソフトウェアの更新を行うための通信を実行する場合であって、且つ車両Ｍの通信履歴情報１６４のデータ量が所定量以下である場合、または現在位置に対応する過去の通信状況（通信履歴）が存在しない場合に、サーバ装置２００にマップ取得要求を送信する。また、更新制御部１２０は、車両Ｍの経路を含む所定範囲の通信状況マップを取得し、取得した通信状況マップに基づいて通信予定情報１６６を生成する。また、更新制御部１２０は、サーバ装置２００から通信状況マップを取得するのに代えて、車両Ｍの周辺に存在する他車両ｍ１との車車間通信が可能である場合（他車両ｍ１が、車両Ｍから所定距離以内に存在する場合）に、他車両ｍ１に通信履歴情報の取得要求を送信し、他車両ｍ１で管理された通信履歴情報を取得してもよい。
【００９４】
なお、更新制御部１２０は、他車両ｍ１またはサーバ装置２００のうち、一方または双方から上述した各情報を取得してもよい。例えば、更新制御部１２０は、車両Ｍから所定範囲以内に他車両ｍ１が存在する場合には、他車両ｍ１から通信履歴情報を取得する。また、更新制御部１２０は、他車両ｍ１が存在しない場合、または他車両ｍ１で管理された通信履歴情報のデータ量が所定量以下である場合には、サーバ装置２００から通信状況マップを取得する。また、更新制御部１２０は、乗員の選択結果に基づいて、他車両ｍ１またはサーバ装置２００のうち一方または双方から上述した各情報を取得してもよい。また、更新制御部１２０は、他車両ｍ１から通信履歴情報を取得する場合、またはサーバ装置２００から通信状況マップを取得する場合に、高速通信が可能なエリアで他車両ｍ１やサーバ装置２００と通信を行うように制御してもよい。
【００９５】
［処理フロー］
図１４は、第３実施形態のソフトウェア更新装置１００の処理の一例を示すフローチャートである。図１４に示す処理では、上述した第１実施形態のソフトウェア更新装置１００の処理と比較して、ステップＳ１０６およびＳ１０８の処理に代えてステップＳ１４０およびＳ１４２の処理を備える点、ステップＳ１１６の処理に代えてステップＳ１４４およびＳ１４６の処理を備える点で相違する。したがって、以下では、主にステップＳ１４０〜Ｓ１４６の処理を中心として説明する。
【００９６】
第３実施形態において、更新制御部１２０は、ステップＳ１０４の処理後に、通信部１１０を介して他車両ｍ１および／またはサーバ装置２００と通信を行い、ステップＳ１０４の処理において取得した経路を含む地域の通信状況マップを取得する（ステップＳ１４０）。次に、更新制御部１２０は、他車両ｍ１から取得した通信履歴情報および／または通信状況マップに基づいて通信予定情報を生成し（ステップＳ１４２）、ステップＳ１１０以降の処理を行う。
【００９７】
また、第３実施形態において、更新制御部１２０は、ステップＳ１１４の処理が終了後、ソフトウェア管理情報１６２を更新し（ステップＳ１４４）、この度のソフトウェア更新における通信履歴情報をサーバ装置２００に送信する（ステップＳ１４６）。
【００９８】
図１５は、第３実施形態のサーバ装置２００におけるマップ生成処理の一例を示すフローチャートである。通信履歴取得部２４２は、ネットワークＮＷを介して各車両から通信履歴情報を取得し（ステップＳ２００）、取得した通信履歴情報に基づいてサーバ側通信履歴情報２５２にサーバ側記憶部２５０に記憶させる（ステップＳ２０２）。次に、マップ生成部２４４は、サーバ側通信履歴情報の統計処理を行い、通信状況マップを生成し（ステップＳ２０４）、生成した通信状況マップ２５４をサーバ側記憶部２５０に記憶させる（ステップＳ２０６）。これにより、本フローチャートの処理は、終了する。
【００９９】
図１６は、第３実施形態のサーバ装置２００におけるマップ提供処理の一例を示すフローチャートである。情報提供部２４６は、車両からマップ取得要求を取得したか否かを判定する（ステップＳ２１０）。マップ取得要求を取得した場合、情報提供部２４６は、車両の現在位置および目的地までの経路を含む通信状況マップを取得し（ステップＳ２１２）、取得した通信状況マップを車両に送信する（ステップＳ２１４）。これにより、本フローチャートの処理は、終了する。また、ステップＳ２１０の処理において、車両からマップ取得要求を取得していないと判定された場合、本フローチャートの処理は、終了する。
【０１００】
なお、上述の例では、車両Ｍが他車両ｍ１から更新履歴情報を取得する例を示したが、更新制御部１２０は、他車両ｍ１から更新履歴情報の取得要求があった場合に、記憶部１６０に記憶された更新履歴情報を他車両ｍ１に送信してもよい。
【０１０１】
上述した第３実施形態によれば、例えば、車両Ｍが現在位置付近の通信履歴情報を有していない場合であっても、他車両から取得した通信履歴情報および／またはサーバ装置２００から取得した通信状況マップに基づいて、より適切な通信予定情報を生成することができる。また、第３実施形態によれば、例えば、Ｗｉ−Ｆｉに準拠した通信方式を用いた通信が可能な地点やエリアをサーバ装置２００で管理し、車両Ｍがセルラー網からＷｉ−Ｆｉ網に移動した際に、サーバ装置２００から車両Ｍに更新ソフトウェアのダウンロードを実行させる指示を送信してもよい。
【０１０２】
なお、第３実施形態において、更新制御部１２０は、他車両の通信履歴情報やサーバ装置２００からの通信状況マップと、車両Ｍの通信履歴情報とを組み合わせてダウンロードするタイミングを制御してもよい。また、第３実施形態によれば、他車両ｍ１またはサーバ装置２００からの通信状況に関する情報に基づいて、データの送受信のタイミングを、より適切なタイミングに変更することができる。
【０１０３】
上述した第１〜第３実施形態のそれぞれは、他の実施形態の一部または全部を組み合わせてもよい。上述した各実施形態によれば、高速通信環境化でデータの送受信を行うことによりリアルタイム性を担保することができ、例えば、車両Ｍのイグニッションサイクル（イグニッションがオン状態）中にデータをダウンロードすることができる。また、各実施形態によれば、低速通信が可能であっても、敢えてデータの送受信を行わないことで、通信占有による障害を抑制することができ、大容量のデータであっても迅速にダウンロードすることができる。また、各実施形態によれば、Ｗｉ−Ｆｉに準拠した通信方式の優先度を高くして通信予定を生成することで、大容量データを通信する場合であっても通信コストを抑えることができる。また、実施形態によれば、目的地設定や行動予測と連携させて、より適切なタイミングでデータのダウンロードやソフトウェアの更新等のリプログラミングを実行することができる。なお、本実施形態は、更新ソフトウェアのダウンロードに限定されず、他のデータ（例えば、大容量のコンテンツデータ）をダウンロードする場合のタイミングの調整にも適用できる。
【０１０４】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【０１０５】
１、１Ａ…車両システム、２…ソフトウェア更新システム、１０…車載装置、２０…運転制御装置、３０…駆動制御装置、４０…ナビゲーション装置４０…バッテリ、６０…表示部、１００、１００Ａ…ソフトウェア更新装置、１１０…通信部、１２０、１２０Ａ…更新制御部、１３０…通信状況管理部、１４０…表示制御部、１４５…行動予測部、１５０…バッテリ管理部、１６０…記憶部、２００…サーバ装置、２１０…サーバ側通信部、２２０…入力部、２３０…出力部、２４０…サーバ側制御部、２５０…サーバ側記憶部
【図１】
2020190488.tif 000003
【図２】
2020190488.tif 000004
【図３】
2020190488.tif 000005
【図４】
2020190488.tif 000006
【図５】
2020190488.tif 000007
【図６】
2020190488.tif 000008
【図７】
2020190488.tif 000009
【図８】
2020190488.tif 000010
【図９】
2020190488.tif 000011
【図１０】
2020190488.tif 000012
【図１１】
2020190488.tif 000013
【図１２】
2020190488.tif 000014
【図１３】
2020190488.tif 000015
【図１４】
2020190488.tif 000016
【図１５】
2020190488.tif 000017
【図１６】
2020190488.tif 000018