IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日産自動車株式会社の特許一覧 ▶ ルノー エス.ア.エス.の特許一覧

<>
  • 特開-管理装置及び管理方法 図1
  • 特開-管理装置及び管理方法 図2
  • 特開-管理装置及び管理方法 図3
  • 特開-管理装置及び管理方法 図4
  • 特開-管理装置及び管理方法 図5
  • 特開-管理装置及び管理方法 図6
  • 特開-管理装置及び管理方法 図7
  • 特開-管理装置及び管理方法 図8
  • 特開-管理装置及び管理方法 図9
  • 特開-管理装置及び管理方法 図10
  • 特開-管理装置及び管理方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025017107
(43)【公開日】2025-02-05
(54)【発明の名称】管理装置及び管理方法
(51)【国際特許分類】
   G06F 8/65 20180101AFI20250129BHJP
   B60R 16/02 20060101ALI20250129BHJP
   B60R 16/033 20060101ALI20250129BHJP
【FI】
G06F8/65
B60R16/02 660U
B60R16/033 D
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023119997
(22)【出願日】2023-07-24
(71)【出願人】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(71)【出願人】
【識別番号】507308902
【氏名又は名称】ルノー エス.ア.エス.
【氏名又は名称原語表記】RENAULT S.A.S.
【住所又は居所原語表記】122-122 bis, avenue du General Leclerc, 92100 Boulogne-Billancourt, France
(74)【代理人】
【識別番号】110000486
【氏名又は名称】弁理士法人とこしえ特許事務所
(72)【発明者】
【氏名】森田 浩之
(72)【発明者】
【氏名】菊池 光彦
(72)【発明者】
【氏名】大橋 栄介
(72)【発明者】
【氏名】静 仁盛
(72)【発明者】
【氏名】埋見 昌明
(72)【発明者】
【氏名】海江田 洋平
(72)【発明者】
【氏名】井上 貴之
(72)【発明者】
【氏名】林 秀俊
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA36
5B376CA43
5B376CA81
5B376GA07
(57)【要約】
【課題】車両のソフトウェアの更新期間と車両のバッテリの充電期間とが重なる場合に、充電期間中に目標の充電量までバッテリを充電した上でソフトウェアを更新できる管理装置及び管理方法を提供する。
【解決手段】ソフトウェアを更新するための更新期間の少なくとも一部の期間と、予め設定されたバッテリの充電をするための充電期間とが重なる場合に、充電期間ではソフトウェアの更新よりも優先してバッテリを充電し、更新期間の開始時刻以前に、バッテリの充電量が目標充電量を満たすか否かを判定し、更新期間の開始時刻以前に、バッテリの充電量が目標充電量を満たすと判定した場合には、バッテリの充電量が目標充電量を満たす時点に更新期間の開始時刻を変更し、更新期間の開始時刻からソフトウェアを更新する。
【選択図】図1
【特許請求の範囲】
【請求項1】
車両のソフトウェアの更新と前記車両のバッテリの充電とを管理するコントローラを備え、
前記コントローラは、
前記ソフトウェアを更新するための更新期間の少なくとも一部の期間と、予め設定された前記バッテリの充電をするための充電期間とが重なる場合に、前記充電期間では前記ソフトウェアの更新よりも優先して前記バッテリを充電し、
前記更新期間の開始時刻以前に、前記バッテリの充電量が目標充電量を満たすか否かを判定し、
前記更新期間の開始時刻以前に、前記バッテリの充電量が前記目標充電量を満たすと判定した場合には、前記バッテリの充電量が前記目標充電量を満たす時点に前記更新期間の開始時刻を変更し、前記更新期間の開始時刻から前記ソフトウェアを更新する管理装置。
【請求項2】
請求項1に記載の管理装置であって、
前記コントローラは、
前記更新期間の開始時刻までに、前記バッテリの充電量が前記目標充電量を満たさない場合には、前記バッテリの充電量が前記目標充電量を満たす時点から前記充電期間の終了時刻までの間の期間で前記ソフトウェアの更新が終了するか否かを判定し、
前記ソフトウェアの更新が終了すると判定した場合に、前記バッテリの充電量が前記目標充電量を満たす時点に前記更新期間の開始時刻を変更し、前記更新期間の開始時刻から前記ソフトウェアを更新する管理装置。
【請求項3】
請求項1又は2に記載の管理装置であって、
前記コントローラは、
前記ソフトウェアの更新が終了する時点から前記充電期間の終了時刻までの期間における前記バッテリの再充電によって、前記バッテリの充電量を前記目標充電量まで充電できるか否かを判定し、
前記再充電によって、前記ソフトウェアの更新中に減少した前記バッテリの充電量を前記目標充電量まで充電できると判定した場合に、前記バッテリの充電量が前記目標充電量を満たす時点に前記更新期間の開始時刻を変更し、前記更新期間の開始時刻から前記ソフトウェアを更新する管理装置。
【請求項4】
車両のソフトウェアの更新と前記車両のバッテリの充電とを管理するコントローラによって実行される管理方法であって、
前記コントローラは、
前記ソフトウェアを更新するための更新期間の少なくとも一部の期間と、予め設定された前記バッテリの充電をするための充電期間とが重なる場合に、前記充電期間では前記ソフトウェアの更新よりも優先して前記バッテリを充電し、
前記更新期間の開始時刻以前に、前記バッテリの充電量が目標充電量を満たすか否かを判定し、
前記更新期間の開始時刻以前に、前記バッテリの充電量が前記目標充電量を満たすと判定した場合には、前記バッテリの充電量が前記目標充電量を満たす時点に前記更新期間の開始時刻を変更し、前記更新期間の開始時刻から前記ソフトウェアを更新する管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、管理装置及び管理方法に関するものである。
【背景技術】
【0002】
センターから対象機器のソフトウェアを更新するためのリプログデータを受信し、車両の駆動機構が動作中であるか否かを判定し、車両の駆動機構が動作中でない期間にリプログデータを対象機器に書込んで対象機器のソフトウェアを更新する技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013-084143号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、ソフトウェアの更新期間と車両のバッテリの充電期間とが重なったときにはソフトウェアの更新よりも優先してバッテリを充電する管理装置に特許文献1に記載の技術を適用する場合には、以下のような問題がある。すなわち、上記の場合には、充電期間中にはソフトウェアの更新がされないため、充電期間中に一時的にソフトウェアの更新をしても目標の充電量を確保できるときでも、ソフトウェアを更新できないという問題がある。
【0005】
本発明が解決しようとする課題は、車両のソフトウェアの更新期間と車両のバッテリの充電期間とが重なる場合に、充電期間中に目標の充電量までバッテリを充電した上でソフトウェアを更新できる管理装置及び管理方法を提供することである。
【課題を解決するための手段】
【0006】
本発明は、ソフトウェアを更新するための更新期間の少なくとも一部の期間と、予め設定されたバッテリの充電をするための充電期間とが重なる場合に、充電期間ではソフトウェアの更新よりも優先してバッテリを充電し、更新期間の開始時刻以前に、バッテリの充電量が目標充電量を満たすか否かを判定し、更新期間の開始時刻以前に、バッテリの充電量が目標充電量を満たすと判定した場合には、バッテリの充電量が目標充電量を満たす時点に更新期間の開始時刻を変更し、更新期間の開始時刻からソフトウェアを更新することによって上記課題を解決する。
【発明の効果】
【0007】
本発明によれば、車両のソフトウェアの更新期間と車両のバッテリの充電期間とが重なる場合に、充電期間中に目標の充電量までバッテリを充電した上でソフトウェアを更新できる。
【図面の簡単な説明】
【0008】
図1図1は、本実施形態に係る管理システム1000の一例を示すブロック図である。
図2図2は、充電期間と充電量との関係を示すグラフである。
図3図3は、充電期間と充電量との関係を示すグラフである。
図4図4は、充電期間と充電量との関係を示すグラフである。
図5図5は、本実施形態に係る管理方法の制御手順の一例を示すフローチャートである。
図6図6は、本実施形態に係る充電優先処理のサブルーチンを示すフローチャートである。
図7図7は、本実施形態に係る充電優先処理のサブルーチンを示すフローチャートである。
図8図8は、本実施形態に係る充電優先処理のサブルーチンを示すフローチャートである。
図9図9は、本実施形態に係る充電優先処理のサブルーチンを示すフローチャートである。
図10図10は、本実施形態に係る充電優先処理のサブルーチンを示すフローチャートである。
図11図11は、本実施形態に係る充電優先処理のサブルーチンを示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明に係る管理装置及び管理方法の実施の形態を図面に基づいて説明する。
【0010】
本実施形態に係る管理装置10は、図1に示すように、管理システム1000の一部として実現される。図1は、本実施形態に係る管理システム1000の一例を示すブロック図である。管理システム1000は、車両1のソフトウェアの更新と車両1のバッテリ16の充電とを管理するシステムである。管理システム1000は、車両1の電子制御装置(以下、ECU(Electronic Control Unit)と称する)が実行する車両制御や診断等のソフトウェアをOTA(Over The Air)により更新可能なシステムである。このようなOTAによりソフトウェアを更新することは、FOTA(Firmware Over The Air)とも称される。ECUのソフトウェアは、ECUが備えるマイコンがプログラムを実行することで、実現される。また、管理システム1000は、車両1に搭載されて電力を供給するバッテリを、外部の充電装置と接続することで充電可能なシステムである。
【0011】
本実施形態では、無線によるECUのソフトウェア更新として、ECUのマイコンが実行するプログラムを無線により書き換える場合を例に挙げて説明するが、管理システム1000は、例えば、車両1のナビゲーションシステムで使用される地図データ、ECUで使用される制御パラメータ等、各種ソフトウェアで使用されるデータを無線で書き換える場合にも適用することができる。また図1では、車両1として一台の車両が図示されているが、管理システム1000は、複数の車両1を対象にして、ソフトウェアの更新可能なシステムである。
【0012】
また本実施形態において、「ECUのソフトウェア更新」とは、ECUのソフトウェアのバージョンが新しいバージョンに変わること、すなわち、マイコンの実行対象であるプログラムが新しいバージョンに変わることを意味する。また無線によるソフトウェア更新は、新しいバージョンのプログラムそのものを車両1の外部から無線を介して取得して書き換えることに加えて、新しいバージョンのプログラムが実行される際に使用される各種データ、及び新しいバージョンのプログラムと古いバージョンのプログラムの差分データを、車両1の外部から無線を介して取得して書き換えることも含む。以降の説明では、新しいバージョンのプログラムや差分データ等、ソフトウェアの更新に必要なデータを「更新用データ」と称する。また、「新しいバージョンのプログラム」を「新プログラム」と称し、「古いバージョンのプログラム」を「旧プログラム」と称し、「新しいバージョンのプログラムと古いバージョンのプログラムの差分のデータ」を「差分データ」と称する。また本実施形態において、「完了」とは、物事が正常に終了したことを意味し、異常事態により物事が終了したことは含まない。例えば、「処理の完了」とは、処理が正常終了したことを意味し、処理が異常終了したことは含まない。また本実施形態では、ソフトウェアの更新に関する手続きを行うユーザとして、車両1の乗員(ドライバーを含む)を例に挙げて説明する。
【0013】
ソフトウェアの更新では、更新制御装置13は、取得した更新用データをフラッシュメモリに書き込むインストール処理をした後、更新対象ECUに読み込ませるアクティベート処理を実行することで、ECU14のソフトウェアのバージョンを新しいバージョンに切り替える。本実施形態では、ソフトウェア更新の処理を実行するための更新期間が設定される。更新期間は、ソフトウェアの更新を開始する開始時刻とソフトウェアの更新を終了する終了時刻とによって特定され、開始時刻から終了時刻までの間の連続した時間である。更新期間は、少なくともアクティベート処理を実行する期間を含む。ソフトウェアの更新処理(アクティベート処理)を実行している間、ユーザは車両1の運転やバッテリ16の充電ができない。そのため、ソフトウェアの更新処理(アクティベート処理)を実行している間、車両1のバッテリ16の充電を一時的に停止する。また、バッテリ16の充電をするための期間が予め充電期間として設定される。充電期間は、バッテリ16の充電を開始する開始時刻と、バッテリ16の充電を終了する終了時刻とによって特定され、開始時刻から終了時刻までの間の連続した時間である。本実施形態では、更新期間と充電期間とが重なる重複期間では、充電期間中であっても、バッテリの充電が一時的に停止する。
【0014】
図1に示すように、管理システム1000は、車両1と、サーバー2と、ユーザ端末3とを含む。管理システム1000に含まれる各構成は、無線通信回線網4を介して、情報の授受が可能になっている。無線通信回線網4は、例えば4G回線等による移動体通信ネットワーク、インターネット、Wi-fi(登録商標)等を含んで構成される。
【0015】
車両1は、ソフトウェアを更新可能なECU14を搭載する。車両1は、サーバー2との間で、ソフトウェア更新に関する各種情報の授受を行う。車両1からサーバー2には、車両1に搭載される各ECUに関する情報が送信される。ECU14に関する情報としては、例えば、ソフトウェアの現在のバージョンが挙げられる。車両1が搭載する各ECUに関する情報は、所定の送信条件(例えば、所定の周期ごと)に基づき、車両1からサーバー2に送信される。
【0016】
またサーバー2から車両1にはソフトウェア更新に関する情報が送信される。ソフトウェア更新に関する情報としては、例えば、キャンペーン情報、更新用データ、更新処理に要する更新時間、更新の優先度等が挙げられる。更新時間は、更新処理に要する時間の長さである。キャンペーンとは、サーバー2が配信パッケージを一又は複数の車両1に配信するイベントである。配信パッケージには、更新用データ、更新用データの認証処理に用いられる認証用データ等が含まれる。キャンペーン情報は、ユーザにソフトウェア更新の概要を提示するための情報である。キャンペーン情報の具体例及び更新の重要度については後述する。本実施形態では、ソフトウェア更新に関する情報には、ソフトウェアを更新するための更新期間を含む。更新期間は、更新を開始する開始時刻と更新を終了する終了時刻とによって特定され、開始時刻から終了時刻までの間の連続した時間である。更新期間は、更新用データの提供事業者が指定する場合には、ソフトウェア更新に関する情報に含まれる。なお、ユーザが更新期間を指定する場合には、ソフトウェア更新に関する情報に更新期間を含まなくてもよい。
【0017】
現在時刻が更新期間の開始時刻になった場合には、後述する更新制御装置13により、ECU14のソフトウェアの更新処理が実行される。車両1で更新処理が開始されると、車両1からサーバー2には更新処理の経過状況を表す情報が送信される。
【0018】
サーバー2は、管理システム1000においてソフトウェアの更新処理を統括し、OTAセンターとして機能するサーバーである。サーバー2は、車両1との間で上述したソフトウェア更新に関する各種情報の授受を行う。またサーバー2は、ユーザ端末3との間でも、各種情報の授受を行う。
【0019】
サーバー2は、更新用データを格納する格納機能、各ソフトウェアのバージョン、更新対象となる車両1の車両識別番号(VIN:Vehicle Identification Number)、更新対象のECU等を管理するデータ管理機能、キャンペーン情報の配信タイミング等のキャンペーンに関する情報を管理するキャンペーン管理機能、キャンペーン情報及び更新用データを配信する配信機能等を有している。サーバー2は、例えば、更新用データの提供事業者から、更新用データを含む各種情報を受信すると、更新用データを記憶装置に格納する。サーバー2は、提供事業者から受信した情報に基づき、更新用データの配信対象であるVIN及び更新対象のECU(以降、更新対象ECUと称す)を特定する。サーバー2は、キャンペーン情報の配信タイミングを設定し、キャンペーン情報の配信タイミングになると、キャンペーン情報を車両1及び/又はユーザ端末3に送信する。サーバー2による配信パッケージの送信が完了した後に、車両1で更新処理が開始されると、サーバー2は、車両1から更新処理の進捗状況を表す進捗情報を受信し、受信した進捗情報をユーザ端末3に送信する。
【0020】
ユーザ端末3は、ユーザからの操作入力を受け付ける機能や各種画面を表示する機能を有し、ユーザが携帯可能な端末である。ユーザ端末3としては、例えば、スマートフォンやタブレット等が挙げられる。ユーザ端末3は、サーバー2を介して、車両1との間で、更新処理に関する情報の授受を行う。更新処理に関する情報は、キャンペーン情報、更新期間等の各種情報である。ユーザ端末3は、サーバー2からキャンペーン情報を受信すると、キャンペーン情報をユーザに通知する。ユーザ端末3は、サーバー2から、更新期間の指定をユーザに求めるための情報が入力された場合、ユーザに更新期間の指定を求めるための画像を表示する。またユーザ端末3は、更新期間、すなわち、更新の開始時刻と終了時刻とを示す情報の入力操作をユーザがユーザ端末3に行った場合、更新期間を示す情報をサーバー2及び/又は車両1に送信する。
【0021】
なお、サーバー2からユーザ端末3に送信されるソフトウェア更新に関する情報に更新期間の情報が含まれる場合には、ユーザ端末3はユーザに更新期間の承諾を求めるための画像を表示する。またユーザ端末3は、ユーザが更新期間の承諾を示す情報の入力操作をユーザ端末3に行った場合、更新期間の承諾を示す情報をサーバー2及び/又は車両1に送信する。車両1で更新処理が開始されると、ユーザ端末3は、サーバー2から、更新処理の進捗状況を表す進捗情報を受信し、受信した進捗情報をユーザに通知する。
【0022】
ユーザ端末3は、車両1との間で、バッテリ16の充電をする充電処理に関する情報の授受を行う。充電処理に関する情報は、バッテリ16の現在の充電量、充電期間、目標充電量等の各種情報である。充電量は、例えば、バッテリの充電状態を表すSOC(State Of Charge)であって、満充電状態を100%とする充電率で表される。ユーザ端末3は、車両1から、充電期間の指定をユーザに求めるための情報が入力された場合、ユーザに充電期間の指定を求めるための画像を表示する。例えば、車両1は、外部充電装置17に接続された場合に、充電期間の指定をユーザに求めるための情報をユーザ端末3に送信する。またユーザ端末3は、ユーザが、充電期間、すなわち、バッテリ16の充電の開始時刻と終了時刻とを示す情報の入力操作をユーザ端末3に行った場合、充電期間を示す情報を車両1に送信する。本実施形態では、充電期間は、実際にバッテリ16の充電量が満充電量になるまで充電が実行される期間ではなく、ユーザがバッテリ16の充電のための期間として希望する期間である。ユーザは目標充電量を指定してもよい。目標充電量は、ユーザによって指定されることに限らず、予め決められた値、例えば、80%又は100%であってもよい。なお、本実施形態では、ユーザ端末3に充電期間の入力操作が行われることに限らず、車両1の車載端末12に入力操作が行われることとしてもよい。
【0023】
次に、車両1、サーバー2、及びユーザ端末3それぞれの構成について、図1を用いて説明する。まずサーバー2の構成について説明する。図1に示すように、サーバー2は、通信装置21と、データベース22と、制御装置23を備える。
【0024】
通信装置21は、無線通信回線網4を介して、車両1及びユーザ端末3との間でデータ通信を行う通信機能を有する。データベース22は、車両1の登録情報、キャンペーン情報、更新用データ等を格納する。車両1の登録情報は、少なくとも、車両1のVIN、車両1が搭載するECUの数及び各ECUの種別、及び各ECUのソフトウェアのバージョンを含む。キャンペーン情報は、更新用データのデータサイズ、更新対象のECUを識別する情報(ECU名、ECUのID等)、更新対象であるソフトウェアのバージョンの情報(バージョン名、バージョンのID等)、更新される機能の概要説明等を含む。
【0025】
制御装置23は、サーバー2の司令塔として機能する装置であって、例えば、コンピュータプログラムにより具体化された一又は複数の機能を実行するようにプログラムされたプロセッサとメモリとで構成される。制御装置23は、上述した、データ管理機能、キャンペーン管理機能、配信機能等を有している。本実施形態では、制御装置23の機能の一例として、更新の優先度を算出する機能について説明する。
【0026】
制御装置23は、更新対象ECUの種別に基づき、更新の優先度を算出する。更新の優先度とは、車両1の走行及び車両1のセキュリティのうち少なくとも何れか一つの指標に基づく優先度である。車両1に搭載される一部又は全部のECU14には、予め複数段階の安全性レベルが規定されている。安全性レベルが高いほど、優先度が高く設定されている。また車両1のセキュリティの指標に基づく優先度としては、セキュリティパッチの緊急度が挙げられる。セキュリティパッチは、セキュリティ上何らかの問題を引き起す可能性がある脆弱性やセキュリティホールが見つかった場合に、それらを修正するためのファイルである。制御装置23により算出される更新の優先度には、上述した、安全性レベル及びセキュリティパッチの緊急度が含まれる。
【0027】
例えば、更新対象ECUが車両1の走行に関与するECUは、更新対象ECUが車両1の走行に関与しないECUの場合に比べて、更新の優先度が高く算出される。車両1の走行に関与するECUとしては、一例として、走行系ECUが挙げられる。また車両1の走行に関与しないECUとしては、一例として、ボディ系ECU及びマルチメディア系ECUが挙げられる。また例えば、更新対象ECUに付された安全性レベルが所定の基準レベルよりも高い場合、更新対象ECUに付された安全性レベルが所定の基準レベルよりも低い場合に比べて、更新の優先度が高く算出される。なお、更新の優先度の算出方法は一例であって、その他の算出方法を用いて更新の優先度が算出されてもよい。
【0028】
ユーザ端末3の構成について説明する。図1に示すように、ユーザ端末3は、端末通信装置31と、端末HMI(Human Machine Interface)32と、端末制御装置33を備える。
【0029】
端末通信装置31は、無線通信回線網4を介して、サーバー2との間でデータ通信を行う機能を有する。端末HMI32は、ユーザの操作入力を受け付ける装置及びユーザに情報を知らせる装置のうち少なくとも何れか一方として機能する。端末HMI32としては、例えば、タッチパネルディスプレイが挙げられる。なお、端末HMI32は、情報を表示する装置に限られず、例えば、スピーカー等、情報を音声出力する装置であってもよい。なお、ユーザ端末3が、Bluetooth(登録商標)等を通じて車両1の車載通信装置11を介して車両1とデータ通信を行ってもよい。
【0030】
端末制御装置33は、ユーザ端末3の司令塔として機能する装置であって、例えば、コンピュータプログラムにより具体化された一又は複数の機能を実行するようにプログラムされたプロセッサとメモリとで構成される。端末制御装置33は、車両1のECU14のソフトウェア更新処理において、キャンペーン情報及び更新処理の進捗情報をユーザに通知するための処理を実行する。キャンペーン情報を例に挙げると、端末制御装置33は、端末通信装置31を介してサーバー2からキャンペーン情報を受信した場合、キャンペーン情報を端末HMI32に出力して、キャンペーン情報を端末HMI32に表示させる。また端末制御装置33は、車両1のバッテリ16の充電処理において、ユーザに充電期間の指定を求めるための処理を実行する。端末制御装置33は、ユーザに充電期間の指定を求めるための画像を生成し、当該画像を端末HMI32に出力して、当該画像を端末HMI32に表示させる。端末制御装置33は、車両1のバッテリ16の充電処理において、バッテリ16の現在の充電量の情報及び充電処理の進捗情報をユーザに通知するための処理を実行する。
【0031】
車両1の室外にいるユーザは、ソフトウェアの更新及び/又はバッテリ16の充電に関する各種情報をユーザ端末3により確認しながら操作入力を行い、ソフトウェアの更新及び/又はバッテリ16の充電に関する手続きを行うことができる。なお、本実施形態では、ユーザ端末3は必ずしも必要ではない。つまり、本発明は、ユーザ端末3を含まない管理システムにも適用することができる。また本実施形態では、ユーザである乗員が車載端末12を使用して更新処理及び/又はバッテリ16の充電処理に関する手続きを行う場合を例に挙げて説明するが、これに限らず、ユーザがユーザ端末3を使用して更新処理及び/又はバッテリ16の充電処理に関する手続きを行う場合にも適用することができる。
【0032】
次に、車両1の構成について説明する。図1に示すように、車両1は、管理装置10と、車載通信装置11と、車載端末12と、更新制御装置13と、ECU14と、充電制御装置15と、バッテリ16とを含む。車両1に含まれる各構成は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)等の車載ネットワークよって接続されている。また本例は、車両1のソフトウェア更新及びバッテリ充電にかかる制御部分を、管理装置10、更新制御装置13及び充電制御装置15に分けているが、更新制御装置13の各機能及び充電制御装置15の各機能を管理装置10にまとめるなど1つのコントローラにしてもよい。
【0033】
管理装置10は、コントローラ100を備えている。コントローラ100は、車両1のソフトウェアの更新と、車両1のバッテリ16の充電とを管理する。コントローラ100は、ハードウェア及びソフトウェアを有するコンピュータにより構成され、このコンピュータはプログラムを格納したROMと、ROMに格納されたプログラムを実行するCPUと、アクセス可能な記憶装置として機能するRAMを含むものである。コントローラ100は、機能ブロックとして、設定部101と、判定部102と、指示部103と、通知部104とを含んで構成され、上記各機能を実現する又は各処理を実行するためのソフトウェアと、ハードウェアとの協働により各機能を実行する。なお、本実施形態では、コントローラ100が有する機能を4つのブロックとして分けた上で、各機能ブロックの機能を説明するが、コントローラ100の機能は必ずしも4つのブロックに分ける必要はなく、3以下の機能ブロック、あるいは、5つ以上の機能ブロックで分けてもよい。
【0034】
設定部101は、ソフトウェアを更新するための更新期間と、バッテリ16を充電するための充電期間とを設定する設定処理を行う。更新期間の設定処理では、設定部101は、車載通信装置11を介して、サーバー2から、更新データの提供事業者が指定した更新期間を含むソフトウェア更新に関する情報を取得する。設定部101は、取得したソフトウェア更新に関する情報に基づき、更新期間を設定する。また、設定部101は、車載端末12及び/又はユーザ端末3から、ユーザが指定した更新期間の情報を取得し、取得した情報に基づき、更新期間を設定してもよい。
【0035】
充電期間の設定処理では、設定部101は、車載端末12及び/又はユーザ端末3から、ユーザが指定した充電期間の情報を取得し、取得した情報に基づき、充電期間を設定する。
【0036】
また、本実施形態では、設定部101は、優先モードを設定する。優先モードは、ソフトウェアの更新及びバッテリ16の充電のうちのどちらを優先するかを示すモードである。優先モードは、ソフトウェアの更新をバッテリ16の充電よりも優先する更新優先モードと、バッテリ16の充電よりをソフトウェアの更新よりも優先する充電優先モードとが切り替えられる。設定部101は、重複期間がある場合には、サーバー2から、更新の優先度の情報を取得し、更新の優先度が所定の優先度以上である場合に、優先モードを更新優先モードに設定する。設定部101は、更新の優先度が所定の優先度未満である場合に、優先モードを充電優先モードに設定する。なお、優先モードの設定方法は、優先度を用いる方法以外の方法であってもよい。更新優先モードでは、更新優先処理が実行される。更新優先処理は、充電期間中であっても、重複期間(更新期間)中には、バッテリ16の充電を一時停止し、ソフトウェアの更新をする処理である。充電優先モードでは、充電優先処理が実行される。以下、充電優先処理について説明する。
【0037】
充電優先処理では、更新期間の少なくとも一部の期間と充電期間とが重なる場合に、充電期間ではソフトウェアの更新よりも優先してバッテリ16を充電する。ソフトウェアの更新よりも優先してバッテリ16を充電するとは、バッテリ16の充電がソフトウェアの更新よりも優先順位が高いことを意味する。例えば、バッテリ16の充電がソフトウェアの更新よりも先に実行され、充電期間中は、所定の条件を満たす場合を除いて、バッテリ16の充電が継続される。すなわち、充電期間中は、所定の条件を満たす場合を除いて、更新期間の開始時刻になったとしてもソフトウェアの更新が実行されず延期される。所定の条件は、例えば、バッテリ16の充電量が目標充電量を満たすという第1条件を含む。また、所定の条件は、バッテリ16の充電量が目標充電量を満たす時点から充電期間の終了時刻までの間の期間でソフトウェアの更新が終了するという第2条件を含む。第2条件は、すなわち、バッテリ16の充電量が目標充電量を満たす時点から充電期間の終了時刻までの期間にソフトウェアの更新を実行した場合に当該期間の間でソフトウェアの更新処理が完了するという条件である。充電期間中に、所定の条件として、第1条件を満たす場合、又は、第1条件及び第2条件を満たす場合、ソフトウェアの更新が実行される。
【0038】
設定部101は、判定部102によって、更新期間の開始時刻以前に、バッテリ16の充電量が目標充電量を満たすと判定した場合には、更新期間の開始時刻を変更する変更処理を行う。変更処理では、設定部101は、バッテリ16の充電量が目標充電量を満たす時点に更新期間の開始時刻を変更する。本実施形態では、充電期間中にバッテリ16の充電量が目標充電量を満たす場合には、更新期間の開始時刻よりも前倒しでソフトウェア更新を実行することで、目標充電量を確保した上でソフトウェアを更新する。また、本実施形態では、更新期間の開始時刻を、バッテリ16の充電量が目標充電量を満たす時点に前倒しにする変更処理を行うことに限らず、更新期間の開始時刻を変更せずに、更新期間の開始時刻になった時点で、ソフトウェアの更新を開始してもよい。
【0039】
ここで、図2を用いて、更新期間の変更と、バッテリの充電量との関係の一例について説明する。図2は、充電期間と充電量との関係を示すグラフである。図2では、グラフの縦軸はバッテリの充電量を示し、横軸は時刻を示す。図2の例では、充電期間CPが23:00~7:00に設定されている。更新期間UP1が4:00~6:00に設定されている。また、目標充電量tが設定されている。図2の例で、3:00にバッテリの充電量が目標充電量tを満たしているため、判定部102は、3:00に、バッテリの充電量が目標充電量を満たすと判定する。この場合、設定部101は、更新期間UP1の開始時刻4:00を、バッテリの充電量が目標充電量を満たす時刻3:00に変更し、終了時刻6:00を、時刻5:00に変更する。変更後の更新期間UP2は、3:00~5:00である。図2の例では、変更後の更新期間UP2においてソフトウェアの更新が実行され、ソフトウェアの更新が5:00に終了する。このとき、ソフトウェアの更新が実行されている3:00~5:00の間には、バッテリの充電は一時停止し、5:00からバッテリの充電が再開する。そして、再充電後、バッテリの充電量が充電期間CPの終了時刻7:00の前に目標充電量を満たしている。
【0040】
また、本実施形態では、設定部101は、判定部102によって、バッテリ16の充電量が目標充電量を満たす時点から充電期間の終了時刻までの間の期間でソフトウェアの更新が終了すると判定した場合に、更新期間の変更処理を行ってもよい。変更処理では、設定部101は、バッテリ16の充電量が目標充電量を満たす時点に更新期間の開始時刻を変更する。例えば、更新期間の開始時刻以前に、バッテリ16の充電量が目標充電量を満たさない場合、設定部101は、更新期間の変更をしない。このとき、本実施形態では、更新期間の開始時刻を過ぎても、第1条件を満たしていないため、バッテリ16の充電が継続され、ソフトウェアの更新が延期される。更新期間の開始時刻より後に、充電期間中にバッテリ16の充電量が目標充電量を満たす場合(第1条件を満たす場合)、さらに、第2条件を満たすときには、設定部101は、更新期間の開始時刻を、バッテリ16の充電量が目標充電量を満たす時点に後ろ倒しする。
【0041】
ここで、図3を用いて、更新期間の変更と、バッテリの充電量との関係の一例について説明する。図3は、充電期間と充電量との関係を示すグラフである。図3では、グラフの縦軸はバッテリの充電量を示し、横軸は時刻を示す。図3の例では、充電期間CPが23:00~7:00に設定されている。更新期間UP1が3:00~5:00に設定されている。また、目標充電量tが設定されている。図3の例では、更新期間UP1の開始時刻3:00の時点ではバッテリの充電量が目標充電量tを満たしていないため、更新期間UP1の開始時刻3:00の時点では、ソフトウェアの更新が延期され、バッテリの充電が継続される。その後、4:00にバッテリの充電量が目標充電量tを満たす。また、更新期間の時間が2時間であり、充電期間の終了時刻7:00であるから、判定部102は、バッテリの充電量が目標充電量を満たす時点(4:00)から充電期間の終了時刻(7:00)までの間の期間でソフトウェアの更新が終了すると判定する。設定部101は、更新期間UP1の開始時刻3:00を、バッテリの充電量が目標充電量を満たす時刻4:00に変更し、終了時刻5:00を、時刻6:00に変更する。変更後の更新期間UP2は、4:00~6:00である。図3の例では、変更後の更新期間UP2においてソフトウェアの更新が実行される。ソフトウェア更新が6:00に終了し、6:00からバッテリの充電が再開する。そして、再充電後のバッテリの充電量が充電期間の終了時刻7:00の前に目標充電量を満たしている。
【0042】
また、本実施形態では、第1条件及び第2条件を満たす場合に限らず、他の所定の条件を満たす場合に、設定部101によって更新期間を後ろ倒しにしてソフトウェアの更新を実行してもよい。例えば、所定の条件は、ソフトウェアの更新後の再充電によって、バッテリ16の充電量を目標充電量まで充電できるという第3条件を含む。設定部101は、第1条件及び第2条件に加えて、第3条件を満たす場合に、更新期間の変更処理を行う。すなわち、設定部101は、第1条件、又は、第1条件及び第2条件を満たしていても、第3条件を満たしていない場合には、更新期間の変更処理を実行しない。具体的には、設定部101は、判定部102によって、再充電によって、バッテリ16の充電量を目標充電量まで充電できると判定した場合に、バッテリ16の充電量が目標充電量を満たす時点に更新期間の開始時刻を変更してもよい。
【0043】
判定部102は、所定の条件を満たすか否かを判定する判定処理を行う。本実施形態では、判定部102は、設定部101によって更新期間と充電期間とが設定された場合には、更新期間の少なくとも一部の期間と充電期間とが重なるか否かを判定する。例えば、判定部102は、更新期間が充電期間よりも短い期間であって、充電期間内に更新期間が含まれる場合には、更新期間の少なくとも一部の期間と充電期間とが重なると判定する。
【0044】
また、判定部102は、更新期間の少なくとも一部の期間と充電期間とが重なる場合には、更新期間の開始時刻以前に、バッテリ16の充電量が目標充電量を満たすか否かを判定する。すなわち、充電期間の開始時刻から更新期間の開始時刻までの間に第1条件を満たすか否かが判定される。例えば、判定部102は、充電期間の開始後、一定の周期で、充電中のバッテリ16の充電量を取得し、取得したバッテリ16の充電量と目標充電量とを比較する。判定部102は、バッテリ16の充電量が目標充電量以上である場合に、バッテリ16の充電量が目標充電量を満たすと判定する。判定部102は、取得したバッテリ16の充電量が目標充電量未満である場合に、バッテリ16の充電量が目標充電量を満たしていないと判定する。
【0045】
また、判定部102は、更新期間の開始時刻までに、バッテリ16の充電量が目標充電量を満たさない場合には、バッテリ16の充電量が目標充電量を満たす時点から充電期間の終了時刻までの間の期間でソフトウェアの更新が終了するか否かを判定する。例えば、判定部102は、更新期間の開始時刻以後、一定の周期で、バッテリ16の充電量を取得し、取得したバッテリ16の充電量が目標充電量を満たすか否かを判定する。判定部102は、更新期間の開始時刻以後に、取得したバッテリ16の充電量が目標充電量を満たすと判定した場合に、その判定をした時点(バッテリ16の充電量が目標充電量を満たした時点)から充電期間の終了時刻までの間の期間でソフトウェアの更新が終了するか否かを判定する。例えば、判定部102は、バッテリ16の充電量が目標充電量を満たす時点から充電期間の終了時刻までの間の期間と、更新期間とを比較する。判定部102は、バッテリ16の充電量が目標充電量を満たす時点から充電期間の終了時刻までの間の期間よりも更新期間が短い場合には、バッテリ16の充電量が目標充電量を満たす時点から充電期間の終了時刻までの間の期間でソフトウェアの更新が終了すると判定する。判定部102は、バッテリ16の充電量が目標充電量を満たす時点から充電期間の終了時刻までの間の期間よりも更新期間が長い場合には、バッテリ16の充電量が目標充電量を満たす時点から充電期間の終了時刻までの間の期間でソフトウェアの更新が終了しないと判定する。以上のように、判定部102は、更新期間の開始時刻以後に、第1条件を満たす場合には、その時点で、第2条件を満たすか否かを判定する。
【0046】
充電期間中にソフトウェアの更新を行う場合、ソフトウェアの更新中におけるバッテリ16の電力消費によってバッテリ16の充電量が減少することなどが原因で、ソフトウェアの更新を開始する前にはバッテリ16の充電量が目標充電量を満たす場合であっても、ソフトウェアの更新の完了時にはバッテリ16の充電量が目標充電量を満たさないことがある。さらに、この場合、ソフトウェアの更新の完了後に、バッテリ16の再充電をしても、充電時間が足らず、充電期間の終了時刻にバッテリ16の充電量が目標充電量を満たさないことがある。そのため、判定部102は、ソフトウェアの更新が終了する時点から充電期間の終了時刻までの期間におけるバッテリ16の再充電によって、バッテリ16の充電量を目標充電量まで充電できるか否かを判定することとしてもよい。すなわち、所定の条件は、バッテリ16の再充電によって、バッテリ16の充電量を目標充電量まで充電できるという第3条件を含んでもよい。例えば、判定部102は、更新期間の開始時刻以後に第1条件を満たす場合に、その時点で、第2条件を満たすか否かに加えて第3条件を満たすか否かを判定する。判定部102は、更新期間の終了時刻におけるバッテリ16の充電量を推定する。例えば、判定部102は、バッテリ16の充電量が目標充電量を満たす時点のバッテリ16の充電量(すなわち、目標充電量)と、その時点を更新期間の開始時刻とした場合の更新期間中に消費される電力消費量とに基づいて、更新期間の終了時刻におけるバッテリ16の充電量を推定する。判定部102は、更新期間の終了時刻から充電期間の終了時刻までの間の時間の再充電による電力供給量と、更新期間の終了時刻におけるバッテリ16の充電量と、目標充電量と基づいて、再充電によって、バッテリ16の充電量を目標充電量まで充電できるか否かを判定する。
【0047】
ここで、図4を用いて、更新期間の変更と、バッテリの充電量との関係の一例について説明する。図4は、充電期間と充電量との関係を示すグラフである。図4では、グラフの縦軸はバッテリの充電量を示し、横軸は時刻を示す。図4の例では、充電期間CPが23:00~7:00に設定されている。更新期間UPは、後ろ倒しにした場合の更新期間であって、4:00~6:00の間の期間である。また、目標充電量tが設定されている。図4の例では、3:00にバッテリの充電量が目標充電量tを満たしておらず、4:00にバッテリの充電量が目標充電量tを満たすため、その時点で、判定部102は、第3条件を含む所定の条件を満たすか否かを判定する。すなわち、判定部102は、ソフトウェアの更新後、更新期間UPの終了時刻6:00から充電期間の終了時刻7:00まで再充電をした場合に、再充電によって、充電期間の終了時刻におけるバッテリの充電量が目標充電量tを満たすか否かを判定する。図4の例の場合、再充電後のバッテリの充電量が充電期間の終了時刻7:00の時点では目標充電量tを満たしていない。そのため、判定部102は、再充電によって、バッテリの充電量を目標充電量まで充電できないと判定する。なお、図3で示される例では、更新期間UP2の後にバッテリの再充電をすることで、充電期間の終了時刻7:00までに目標充電量tを満たすため、判定部102は、再充電によって、バッテリの充電量を目標充電量まで充電できると判定する。
【0048】
指示部103は、更新制御装置13及び充電制御装置15それぞれに各種指示を送信する指示処理を行う。指示処理では、更新制御装置13に送信される指示は、更新期間に基づくソフトウェアの更新処理の実行指示を含む。例えば、設定部101によって更新期間が変更された場合には、指示部103は、変更後の更新期間に基づくソフトウェアの更新処理の実行指示を更新制御装置13に送信する。当該指示を受信した更新制御装置13は、当該指示に基づき、設定されている更新期間を変更する。そして、更新制御装置13は、変更後の更新期間の間に、ソフトウェアの更新をする。充電制御装置15に送信される指示は、充電期間及び更新期間に基づくバッテリ16の充電処理の実行指示を含む。例えば、設定部101によって更新期間が変更された場合には、指示部103は、充電期間及び変更後の更新期間に基づくバッテリ16の充電処理の実行指示を充電制御装置15に送信する。当該指示を受信した充電制御装置15は、当該指示に基づき、充電期間のうち、変更後の更新期間におけるバッテリ16の充電を一時停止し、充電期間のうち変更後の更新期間を除いた実充電期間にバッテリ16の充電をする。また、指示部103は、設定部101によって優先モードが設定された場合に、優先モードの設定を指示する指示を更新制御装置13及び充電制御装置15に送信する。
【0049】
通知部104は、ユーザへの通知をする通知処理を行う。通知処理では、通知部104は、設定部101によって、更新期間の変更がされた場合に、更新期間の変更に関する情報をユーザに通知する。例えば、更新期間の変更に関する情報は、更新期間が変更したことを示す情報と、変更後の更新期間の情報を含む。当該情報は、例えば、画像、音声などが挙げられるが、方法は特に限定されない。例えば、通知部104は、当該情報を含む表示画像をメモリから読み出して、画像信号を車載端末12又はユーザ端末3に出力する。
【0050】
車載通信装置11は、無線通信回線網4を介して、サーバー2及び/又はユーザ端末3との間でデータ通信を行う機能を有する。車載通信装置11としては、例えば、テレマティクスコントロールユニット(TCU:Telematics Control Unit)が挙げられる。
【0051】
車載端末12は、車両1に乗車するユーザ(乗員)からの操作入力を受け付ける機能や各種画面を表示する機能を有する端末である。車載端末12としては、例えば、タッチパネルディスプレイ等が挙げられる。車載端末12には、管理装置10から、乗員に各種情報を知らせるための信号が入力される。車載端末12は、例えば、管理装置10から、更新期間及び/又は充電期間の指定を求める指定要求情報が入力された場合、ユーザに更新期間及び/又は充電期間の指定を求めるための画像を表示する。また車載端末12は、例えば、乗員が更新期間及び/又は充電期間を指定する操作を車載端末12に対して行った場合、指定された更新期間及び/又は充電期間の情報を管理装置10に出力する。ユーザはソフトウェア更新及び/又はバッテリ充電に関する各種情報を車載端末12により確認しながら操作入力を行い、ソフトウェア更新及び/又はバッテリ充電に関する手続きを行うことができる。なお、車載端末12は、情報を表示する装置に限られず、例えば、スピーカー等、情報を音声出力する装置であってもよい。
【0052】
更新制御装置13は、ECU14のソフトウェアの更新を制御する装置である。更新制御装置13は、設定された更新期間に基づいて、ECU14のソフトウェアの更新を制御する。更新制御装置13は、更新期間が設定された場合には、現在時刻を取得し、現在時刻が更新期間の開始時刻になったか否かを判定する。更新制御装置13は、現在時刻が更新期間の開始時刻になったと判定した場合に、ソフトウェアの更新を開始する。更新期間は、例えば、ユーザによって指定されてもよいし、ソフトウェアの更新に関する情報に格納されていることとしてもよい。
【0053】
更新制御装置13は、コントローラを備えている。コントローラは、ハードウェア及びソフトウェアを備えたコンピュータにより構成され、プログラムを格納したメモリと、このメモリに格納されたプログラムを実行するCPU等を有している。なお、動作回路としては、CPUに代えて又はこれとともに、MPU、DSP、ASIC、FPGAなどを用いることができる。更新制御装置13は、コントローラによって、以下に説明する各機能を実現する。
【0054】
更新制御装置13は、各種情報を取得する情報取得機能を実行する。情報取得機能では、更新制御装置13は、サーバー2から、車載通信装置11を介して、ソフトウェア更新に関する情報を取得する。ソフトウェア更新に関する情報は、上述した、キャンペーン情報、及び配信パッケージを含む。また、ソフトウェア更新に関する情報は、更新期間、更新の優先度の情報を含むこととしてもよい。
【0055】
更新制御装置13は、取得した情報を記憶する記憶機能を実行する。記憶機能では、更新制御装置13は、取得された情報のうち、サーバー2から取得した情報を記憶する。例えば、更新制御装置13は、サーバー2から取得されたキャンペーン情報及び配信パッケージを、フラッシュメモリ等の不揮発性記録媒体に記憶する。また、記憶機能では、更新制御装置13は更新期間を記憶する。記憶する更新期間はユーザが指定する更新期間であってもよい。更新制御装置13は、管理装置10から更新期間の変更指示を取得した場合には、変更前の更新期間を変更後の更新期間に書き換えて記憶する。記憶される更新期間は、更新処理を開始するか否かを判定する判定機能において参照される。また、更新制御装置13は、管理装置10から取得した優先モードの情報を記憶する。優先モードは、充電優先モード又は更新優先モードである。更新制御装置13は、車両1に搭載されるECUに関する情報(ECUのメモリ構成等)を記憶していてもよい。
【0056】
更新制御装置13は、所定の条件を満たすか否かを判定する判定機能を実行する。判定機能では、更新制御装置13は、ソフトウェアの更新処理を開始するか否かを判定する。更新制御装置13は、現在時刻が更新期間の開始時刻になったか否かを判定し、更新期間の開始時刻になった場合に、更新処理を開始すると判定し、現在時刻が更新期間の開始時刻になっていない場合には、更新処理を開始しないと判定する。
【0057】
更新制御装置13は、ECU14のソフトウェアの更新処理を実行する更新実行機能を実行する。更新実行機能では、更新制御装置13は、更新処理を開始すると判定された場合、更新処理を実行し、更新処理を開始しないと判定された場合、更新処理の実行を延期する。
【0058】
更新処理では、更新制御装置13は、フラッシュメモリに格納されている旧プログラムを削除した後に、新プログラムを書き込むインストール処理を実行する。更新制御装置13は、フラッシュメモリに書き込まれた新プログラムを、更新対象ECUが備えるマイコンに読み込ませるアクティベート処理を実行する。なお、本実施形態では、更新制御装置13は、更新期間前にインストール処理を完了させて、更新期間の開始時刻からアクティベート処理を実行してもよい。更新制御装置13は、更新期間の終了時刻に更新処理が完了した場合には、更新処理が完了したことを示す更新完了情報を管理装置10に送信する。
【0059】
なお、本実施形態では、優先モードが更新優先モードである場合には、更新制御装置13は、更新期間が充電期間と重なる場合であっても、更新期間中にソフトウェアの更新をする。また、優先モードが充電優先モードである場合には、更新制御装置13は、更新期間が充電期間と重なる場合には、所定の条件を満たす場合を除いて、更新期間におけるソフトウェアの更新を延期し、充電期間中にはソフトウェアの更新を実行しない。
【0060】
ECU14は、更新制御装置13により更新される対象のECUである。ECU14は、ボディ系ECU、走行系ECU、マルチメディア系ECU、及び、電源系ECUを含む。各ECUは、機能ブロックとして、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、及びフラッシュメモリ(Flash Memory)から構成されるマイコンと、電源回路、データ転送回路等を有する。フラッシュメモリには、ECUのソフトウェアを実現するためのプログラムが格納されている。マイコンがフラッシュメモリに格納されたプログラムを実行して各種処理を行うことで、ECUのソフトウェアは実現される。
【0061】
ボディ系ECUは、車両1のボディ系の制御を行うECUの総称である。ボディ系ECUとしては、例えば、車両1のドアのロック/アンロックを制御するドア制御用ECU、車両1のメーター表示を制御するメーター制御用ECU、車両1のエアコンの駆動を制御するエアコン制御用ECU、車両1ウィンドウの開閉を制御するウィンドウ制御用ECU等が挙げられる。走行系ECUは、車両1の走行系の制御を行うECUの総称である。走行系ECUとしては、例えば、車両1の駆動源を制御する駆動源制御用ECU、車両1のブレーキの駆動を制御するブレーキ制御用ECU、車両1のパワーステアリングの駆動を制御するパワーステアリング制御用ECU等が挙げられる。
【0062】
マルチメディア系ECUは、車両1のマルチメディア系の制御を行うECUの総称である。マルチメディア系ECUとしては、例えば、車両1のナビゲーションシステムを制御するナビゲーション制御用ECU、車両1のオーディオ機器を制御するオーディオ制御用ECU等が挙げられる。電源系ECUは、車両1の電源系の制御を行うECUの総称である。電源系ECUとしては、例えば、車両1に搭載されているACC(アクセサリー)電源及びIG(イグニッション)電源を制御する電源制御用ECUが挙げられる。なお、車両1に搭載されるECUの種別やECUの区別の仕方はこれらに限定するものではない。車両1は、これらのECU以外のECUを搭載していてもよい。
【0063】
ECU14は、更新制御装置13から更新処理の制御信号が入力され、ソフトウェアの更新処理が実行される。なお、更新対象ECUの数は特に限定されず、複数の更新対象ECUに対して、ソフトウェアを更新することができる。
【0064】
充電制御装置15は、バッテリ16の充電を制御する装置である。充電制御装置15は、設定された充電期間に基づいて、バッテリ16の充電を制御する。充電制御装置15は、充電期間が設定された場合には、現在時刻を取得し、現在時刻が充電期間の開始時刻になったか否かを判定する。充電制御装置15は、現在時刻が充電期間の開始時刻になったと判定した場合に、バッテリ16の充電を開始する。充電制御装置15は、充電中、現在時刻を取得し、現在時刻が充電期間の終了時刻になったか否かを判定し、現在時刻が充電期間の終了時刻になったと判定した場合に、バッテリ16の充電を終了する。充電期間は、例えば、ユーザによって設定される。
【0065】
充電制御装置15は、コントローラを備えている。コントローラは、ハードウェア及びソフトウェアを備えたコンピュータにより構成され、プログラムを格納したメモリと、このメモリに格納されたプログラムを実行するCPU等を有している。なお、動作回路としては、CPUに代えて又はこれとともに、MPU、DSP、ASIC、FPGAなどを用いることができる。充電制御装置15は、コントローラによって、以下に説明する各機能を実現する。
【0066】
充電制御装置15は、各種情報を取得する情報取得機能を実行する。情報取得機能では、充電制御装置15は、車載端末12及び/又はユーザ端末3を介して、バッテリ充電に関する情報を取得する。バッテリ充電に関する情報は、充電期間を含む。充電制御装置15は、ユーザが指定する充電期間を含むバッテリ充電に関する情報を取得する。取得するバッテリ充電に関する情報は、ユーザが指定する目標充電量を含むこととしてもよい。
【0067】
充電制御装置15は、取得した情報を記憶する記憶機能を実行する。記憶機能では、充電制御装置15は、取得したバッテリ充電に関する情報を記憶する。例えば、充電制御装置15は、取得された充電期間及び目標充電量を、フラッシュメモリ等の不揮発性記録媒体に記憶する。記憶する充電期間はユーザが指定する充電期間である。充電制御装置15は、管理装置10から充電期間の変更指示を取得した場合には、変更前の充電期間を変更後の充電期間に書き換えて記憶する。記憶される充電期間は、充電処理を開始するか否かを判定する判定機能において参照される。また、充電制御装置15は、管理装置10から取得した優先モードの情報を記憶する。優先モードは、充電優先モード又は更新優先モードである。
【0068】
充電制御装置15は、所定の条件を満たすか否かを判定する判定機能を実行する。判定機能では、充電制御装置15は、バッテリ16の充電を開始するか否かを判定する。充電制御装置15は、現在時刻が充電期間の開始時刻になったか否かを判定し、充電期間の開始時刻になった場合に、バッテリ16の充電を開始すると判定し、現在時刻が充電期間の開始時刻になっていない場合には、バッテリ16の充電を開始しないと判定する。
【0069】
充電制御装置15は、バッテリ16の充電をする充電処理を実行する充電実行機能を実行する。充電実行機能では、充電制御装置15は、バッテリ16の充電を開始すると判定された場合、バッテリ16の充電を実行し、バッテリ16の充電を開始しないと判定された場合、バッテリ16の充電を延期する。
【0070】
充電制御装置15は、バッテリ16に接続されている電圧センサ及び/又は電流センサから取得したバッテリ情報(センサの検出値)に基づき、バッテリ16の充電量を取得する。バッテリ16の充電量は、例えば、SOC及び/又は残充電容量で表される。残充電容量は、バッテリ16に充電されている充電容量であり、例えば電流積算値から算出される。また充電制御装置15は、バッテリ16の充電中、車両1と外部充電装置17との間の通信を介して、外部充電装置17からバッテリ16の状態や残充電時間など、バッテリ16の充電の進捗情報を含むバッテリ情報を取得する。充電制御装置15は、外部充電装置17から取得したバッテリ情報、及び/又は、バッテリ16のセンサから取得したバッテリ情報に基づき、バッテリ16の充電量を算出する。
【0071】
なお、本実施形態では、優先モードが更新優先モードである場合には、充電制御装置15は、充電期間と更新期間とが重なる重複期間の間、バッテリ16の充電を一時停止し、実充電期間にバッテリ16の充電をする。例えば、充電制御装置15は、充電中に、現在時刻を取得し、現在時刻が重複期間の開始時刻、すなわち、更新期間の開始時刻になったか否かを判定し、現在時刻が重複期間の開始時刻になったと判定した場合には、バッテリ16の充電を一時停止する。そして、充電制御装置15は、充電の一時停止中、現在時刻が重複期間の終了時刻、すなわち、更新期間の終了時刻になったと判定したか否かを判定する。充電制御装置15は、現在時刻が重複期間の開始時刻になったと判定した場合に、一時停止していたバッテリ16の充電を再開し、充電期間の終了時刻までバッテリ16を充電する。また、優先モードが充電優先モードである場合には、充電制御装置15は、所定の条件を満たす場合を除いて、充電期間中は、更新期間と重なる重複期間であっても、バッテリ16の充電を継続する。
【0072】
バッテリ16は、車両1に搭載される二次電池であって、例えばリチウムイオン電池である。外部充電装置17は、車両1の充電ポートに充電用ケーブルが接続されるとバッテリ16を充電する。外部充電装置17は、バッテリ30の充電状態を示すバッテリ情報を充電制御装置15に送信する。充電状態を示すバッテリ情報は、例えば、現在の充電量、残充電時間等である。外部充電装置17は、接触式に限らず非接触式の充電装置でもよい。
【0073】
続いて、本実施形態の管理装置における管理手順を、図5のフローチャートに基づいて説明する。図5は、本実施形態に係る管理方法の制御手順の一例を示すフローチャートである。図5では、ユーザが充電期間を指定した場合に、ステップS1から制御フローを開始する。なお、図5では、充電期間の設定、更新期間の設定の順に実行することとしているが、これに限らず、更新期間の設定、充電期間の設定の順に実行することとしてもよい。
【0074】
ステップS1では、コントローラ100は、充電期間を設定する。例えば、コントローラ100は、車載端末12又はユーザ端末3から、ユーザが指定する充電期間の情報を取得し、取得した情報に基づいて、充電期間を設定する。ステップS2では、コントローラ100は、更新期間を設定する。例えば、コントローラ100は、サーバー2から更新期間を含むソフトウェア更新に関する情報を取得し、取得した情報に基づいて、更新期間を設定する。
【0075】
ステップS3では、コントローラ100は、充電期間と更新期間の少なくとも一部の期間とが重なる重複期間があるか否かを判定する。重複期間があると判定した場合、コントローラ100は、ステップS4に進む。重複期間がないと判定した場合、コントローラ100は、ステップS7に進む。ステップS4では、コントローラ100は、ソフトウェアの更新をバッテリ16の充電よりも優先するか否かを判定する。コントローラ100は、ソフトウェアの更新をバッテリ16の充電よりも優先すると判定した場合に、ステップS5に進む。コントローラ100は、ソフトウェアの更新をバッテリ16の充電よりも優先しないと判定した場合に、ステップS6に進む。例えば、コントローラ100は、ソフトウェアの更新の優先度が所定の優先度以上である場合に、ソフトウェアの更新をバッテリ16の充電よりも優先すると判定する。コントローラ100は、ソフトウェアの更新の優先度が所定の優先度未満である場合に、ソフトウェアの更新をバッテリ16の充電よりも優先しないと判定する。
【0076】
ステップS5では、コントローラ100は、ソフトウェアの更新をバッテリ16の充電よりも優先して実行する更新優先処理を行う。更新優先処理では、コントローラ100は、更新期間中に、バッテリ16の充電を一時停止させる。ステップS6では、コントローラ100は、バッテリ16の充電をソフトウェアの更新よりも優先して実行する充電優先処理を行う。充電優先処理の具体的な実施例として、コントローラ100は、図6~11に示す充電優先処理のいずれかの処理を実行する。ステップS7では、コントローラ100は、ステップS1での充電期間の設定のとおりバッテリ16の充電をする実行指示を充電制御装置15に送信し、ステップS2での更新期間の設定のとおりソフトウェアの更新をする実行指示を更新制御装置13に送信する。これにより、充電制御装置15は、充電期間中にバッテリ16の充電を行う。更新制御装置13は、更新期間中にソフトウェアの更新を行う。
【0077】
次に、図6を用いて、本実施形態に係る管理装置によって実行される充電優先処理の手順の一例を説明する。図6は、図5に示すステップS6で実行される充電優先処理のサブルーチンを示すフローチャートである。すなわち、図6では、本実施形態の管理方法における充電優先処理に係る手順の一例が示されている。ステップS11では、コントローラ100は、優先モードを充電優先モードに設定する。充電優先モードでは、充電期間中にソフトウェアの更新よりも優先してバッテリ16の充電が実行される。例えば、所定の条件を満たす場合を除いて、重複期間におけるソフトウェアの更新が延期されて実行されない。ステップS12では、コントローラ100は、充電期間の開始時刻にバッテリ16の充電を開始する。ステップS13では、コントローラ100は、現在時刻が更新期間の開始時刻であるか否かを判定する。現在時刻が更新期間の開始時刻であると判定した場合に、コントローラ100は、ステップS14に進む。現在時刻が更新期間の開始時刻ではないと判定した場合には、コントローラ100は、ステップS13に戻り、以下フローを繰り返す。ステップS14では、コントローラ100は、充電中のバッテリの充電量が目標充電量を満たすか否かを判定する。バッテリ16の充電量が目標充電量を満たさないと判定した場合に、コントローラ100は、ステップS15に進む。バッテリ16の充電量が目標充電量を満たすと判定した場合に、コントローラ100は、ステップS18に進む。
【0078】
ステップS15では、コントローラ100は、更新期間の開始時刻からのソフトウェアの更新処理の実行を延期する。ステップS16では、コントローラ100は、充電期間の終了時刻までバッテリ16の充電を継続する。ステップS17では、コントローラ100は、ソフトウェアの更新が実行されなかったことを示す更新不実施情報をユーザに通知する。
【0079】
ステップS18では、コントローラ100は、更新期間の開始時刻からソフトウェアの更新を開始する。ステップS19では、コントローラ100は、ソフトウェアの更新が完了した時点で充電期間の終了時刻を過ぎているか否かを判定する。ソフトウェアの更新が完了した時点で充電期間の終了時刻を過ぎていると判定した場合、コントローラ100は、制御フローを終了する。すなわち、この場合には、バッテリ16の充電は再開されない。ソフトウェアの更新が完了した時点で充電期間の終了時刻を過ぎていないと判定した場合、コントローラ100は、ステップS20に進む。ステップS20では、コントローラ100は、バッテリ16の充電を再開して、充電期間の終了時刻までバッテリ16を充電する。
【0080】
次に、図7を用いて、本実施形態に係る管理装置によって実行される充電優先処理の手順の一例を説明する。図7は、図5に示すステップS6で実行される充電優先処理のサブルーチンを示すフローチャートである。すなわち、図7では、本実施形態の管理方法における充電優先処理に係る手順の一例が示されている。ステップS21では、コントローラ100は、優先モードを充電優先モードに設定する。ステップS22では、コントローラ100は、充電期間の開始時刻にバッテリ16の充電を開始する。ステップS23では、コントローラ100は、充電中のバッテリ16の充電量が目標充電量を満たすか否かを判定する。バッテリ16の充電量が目標充電量を満たさないと判定した場合に、コントローラ100は、ステップS24に進む。バッテリ16の充電量が目標充電量を満たすと判定した場合に、コントローラ100は、ステップS28に進む。
【0081】
ステップS24では、コントローラ100は、現在時刻が更新期間の開始時刻であるか否かを判定する。現在時刻が更新期間の開始時刻であると判定した場合に、コントローラ100は、ステップS25に進む。現在時刻が更新期間の開始時刻ではないと判定した場合には、コントローラ100は、ステップS23に戻り、以下フローを繰り返す。ステップS25では、コントローラ100は、更新期間の開始時刻からのソフトウェアの更新処理の実行を延期する。ステップS26では、コントローラ100は、充電期間の終了時刻までバッテリ16の充電を継続する。ステップS27では、コントローラ100は、ソフトウェアの更新が実行されなかったことを示す更新不実施情報をユーザに通知する。
【0082】
ステップS28では、コントローラ100は、更新期間の開始時刻を、バッテリ16の充電量が目標充電量を満たす時点に変更して、更新期間の開始時刻を前倒しする。これにより、バッテリ16の充電量が目標充電量を満たす時点からソフトウェアの更新を開始する。ステップS29では、コントローラ100は、ソフトウェアの更新が完了した時点で充電期間の終了時刻を過ぎているか否かを判定する。ソフトウェアの更新が完了した時点で充電期間の終了時刻を過ぎていると判定した場合、コントローラ100は、制御フローを終了する。すなわち、この場合には、バッテリ16の充電は再開されない。ソフトウェアの更新が完了した時点で充電期間の終了時刻を過ぎていないと判定した場合、コントローラ100は、ステップS30に進む。ステップS30では、コントローラ100は、バッテリ16の充電を再開して、充電期間の終了時刻までバッテリ16を充電する。
【0083】
次に、図8を用いて、本実施形態に係る管理装置によって実行される充電優先処理の手順の一例を説明する。図8は、図5に示すステップS6で実行される充電優先処理のサブルーチンを示すフローチャートである。すなわち、図8では、本実施形態の管理方法における充電優先処理に係る手順の一例が示されている。ステップS31では、コントローラ100は、優先モードを充電優先モードに設定する。ステップS32では、コントローラ100は、充電期間の開始時刻にバッテリ16の充電を開始する。ステップS33では、コントローラ100は、現在時刻が更新期間の開始時刻であるか否かを判定する。現在時刻が更新期間の開始時刻であると判定した場合に、コントローラ100は、ステップS34に進む。現在時刻が更新期間の開始時刻ではないと判定した場合には、コントローラ100は、ステップS33に戻り、以下フローを繰り返す。ステップS34では、コントローラ100は、充電中のバッテリ16の充電量が目標充電量を満たすか否かを判定する。バッテリ16の充電量が目標充電量を満たさないと判定した場合に、コントローラ100は、ステップS35に進む。バッテリ16の充電量が目標充電量を満たすと判定した場合に、コントローラ100は、ステップS42に進む。
【0084】
ステップS35では、コントローラ100は、更新期間の開始時刻からのソフトウェアの更新処理の実行を延期する。ステップS36では、コントローラ100は、充電中のバッテリ16の充電量が目標充電量を満たすか否かを判定する。バッテリ16の充電量が目標充電量を満たすと判定した場合には、コントローラ100は、ステップS37に進む。バッテリの充電量が目標充電量を満たさないと判定した場合には、コントローラ100は、ステップS38に進む。ステップS37では、コントローラ100は、更新期間の終了時刻が充電期間の終了時刻より後か否かを判定する。更新期間の終了時刻が充電期間の終了時刻より後であると判定した場合には、コントローラ100は、ステップS40に進む。更新期間の終了時刻が充電期間の終了時刻より後ではないと判定した場合には、コントローラ100は、ステップS39に進む。ステップS38では、コントローラ100は、現在時刻が充電期間の終了時刻であるか否かを判定する。コントローラ100は、現在時刻が充電期間の終了時刻であると判定した場合には、コントローラ100は、ステップS40に進む。コントローラ100は、現在時刻が充電期間の終了時刻ではないと判定した場合に、コントローラ100は、ステップS36に戻り、以下フローを繰り返す。
【0085】
ステップS39では、コントローラ100は、ソフトウェアの更新を開始する。すなわち、コントローラ100は、バッテリ16の充電量が目標充電量を満たす時点に更新期間の開始時刻を変更して、更新期間の終了時刻までソフトウェアの更新をする。ステップS40では、コントローラ100は、ソフトウェアの更新を延期する。ステップS41では、コントローラ100は、ソフトウェアの更新が実行されなかったことを示す更新不実施情報をユーザに通知する。ステップS42では、コントローラ100は、更新期間の開始時刻を、バッテリ16の充電量が目標充電量を満たす時点に変更して、更新期間の開始時刻を前倒しする。これにより、バッテリ16の充電量が目標充電量を満たす時点からソフトウェアの更新が実行される。ステップS43では、コントローラ100は、ソフトウェアの更新が完了した時点で充電期間の終了時刻を過ぎているか否かを判定する。ソフトウェアの更新が完了した時点で充電期間の終了時刻を過ぎていると判定した場合、コントローラ100は、制御フローを終了する。すなわち、この場合には、バッテリの充電は再開されない。ソフトウェアの更新が完了した時点で充電期間の終了時刻を過ぎていないと判定した場合、コントローラ100は、ステップS44に進む。ステップS44では、コントローラ100は、バッテリの充電を再開して、充電期間の終了時刻までバッテリの充電を実行する。
【0086】
次に、図9を用いて、本実施形態に係る管理装置によって実行される充電優先処理の手順の一例を説明する。図9は、図5に示すステップS6で実行される充電優先処理のサブルーチンを示すフローチャートである。すなわち、図9では、本実施形態の管理方法における充電優先処理に係る手順の一例が示されている。図9のステップS51~ステップS57の処理は、図6のステップS11~ステップS17の処理と同様のため、説明を省略する。
【0087】
ステップS58では、コントローラ100は、再充電によってバッテリ16の充電量が目標充電量を満たすか否か判定する。再充電によってバッテリ16の充電量が目標充電量を満たすと判定した場合には、コントローラ100は、ステップS59に進む。再充電によってバッテリ16の充電量が目標充電量を満たさないと判定した場合には、コントローラ100は、ステップS55に進む。ステップS59では、コントローラ100は、更新期間の開始時刻を、バッテリ16の充電量が目標充電量を満たす時点に変更して、更新期間の開始時刻を前倒しする。ステップS60では、コントローラ100は、更新期間の終了時刻からバッテリ16の充電を再開して、充電期間の終了時刻までバッテリ16を充電する。
【0088】
次に、図10を用いて、本実施形態に係る管理装置によって実行される充電優先処理の手順の一例を説明する。図10は、図5に示すステップS6で実行される充電優先処理のサブルーチンを示すフローチャートである。すなわち、図10では、本実施形態の管理方法における充電優先処理に係る手順の一例が示されている。図10のステップS61~ステップS67までは、図7のステップS21~ステップS27と同様のため、説明を省略する。
【0089】
ステップS68では、コントローラ100は、再充電によってバッテリ16の充電量が目標充電量を満たすか否か判定する。再充電によってバッテリ16の充電量が目標充電量を満たすと判定した場合には、コントローラ100は、ステップS69に進む。再充電によってバッテリ16の充電量が目標充電量を満たさないと判定した場合には、コントローラ100は、ステップS65に進む。ステップS69では、コントローラ100は、更新期間の開始時刻を、バッテリ16の充電量が目標充電量を満たす時点に変更して、更新期間の開始時刻を前倒しする。ステップS70では、コントローラ100は、更新期間の終了時刻からバッテリ16の充電を再開して、充電期間の終了時刻までバッテリ16を充電する。
【0090】
次に、図11を用いて、本実施形態に係る管理装置によって実行される充電優先処理の手順の一例を説明する。図11は、図5に示すステップS6で実行される充電優先処理のサブルーチンを示すフローチャートである。すなわち、図11では、本実施形態の管理方法における充電優先処理に係る手順の一例が示されている。図11のステップS71~S80の処理は、図8のステップS31~38、S40及びS41の処理と同様であるため、説明を省略する。ステップS81では、コントローラ100は、再充電によってバッテリ16の充電量が目標充電量を満たすか否か判定する。再充電によってバッテリ16の充電量が目標充電量を満たすと判定した場合には、コントローラ100は、ステップS82に進む。再充電によってバッテリ16の充電量が目標充電量を満たさないと判定した場合には、コントローラ100は、ステップS79に進む。ステップS82では、コントローラ100は、更新期間の開始時刻を、バッテリ16の充電量が目標充電量を満たす時点に変更して、更新期間の開始時刻を前倒しする。ステップS83では、コントローラ100は、更新期間の終了時刻からバッテリ16の充電を再開して、充電期間の終了時刻までバッテリ16を充電する。
【0091】
以上のように、本実施形態に係る管理装置及び管理方法では、車両のソフトウェアの更新と車両のバッテリの充電とを管理するコントローラは、ソフトウェアを更新するための更新期間の少なくとも一部の期間と、予め設定されたバッテリの充電をするための充電期間とが重なる場合に、充電期間ではソフトウェアの更新よりも優先してバッテリを充電し、更新期間の開始時刻以前に、バッテリの充電量が目標充電量を満たすか否かを判定し、更新期間の開始時刻以前に、バッテリの充電量が目標充電量を満たすと判定した場合には、バッテリの充電量が目標充電量を満たす時点に更新期間の開始時刻を変更し、更新期間の開始時刻からソフトウェアを更新する。これにより、車両のソフトウェアの更新期間と車両のバッテリの充電期間とが重なる場合に、充電期間中に目標の充電量までバッテリを充電した上でソフトウェアを更新できる。
【0092】
また、本実施形態に係る管理装置及び管理方法では、コントローラは、更新期間の開始時刻までに、バッテリの充電量が目標充電量を満たさない場合には、バッテリの充電量が目標充電量を満たす時点から充電期間の終了時刻までの間の期間でソフトウェアの更新が終了するか否かを判定し、ソフトウェアの更新が終了すると判定した場合に、バッテリの充電量が目標充電量を満たす時点に更新期間の開始時刻を変更し、更新期間の開始時刻からソフトウェアを更新する。これにより、更新期間の開始時刻までにバッテリの充電量が目標充電量を満たさない場合でも、ソフトウェア更新が完了するときには、ソフトウェアを更新できる。
【0093】
また、本実施形態に係る管理装置及び管理方法では、コントローラは、ソフトウェアの更新が終了する時点から充電期間の終了時刻までの期間におけるバッテリの再充電によって、ソフトウェアの更新中に減少したバッテリの充電量を目標充電量まで充電できるか否かを判定し、再充電によって、ソフトウェアの更新中に減少したバッテリの充電量を目標充電量まで充電できると判定した場合に、バッテリの充電量が目標充電量を満たす時点に更新期間の開始時刻を変更し、更新期間の開始時刻からソフトウェアを更新する。これにより、ソフトウェア更新後の再充電でバッテリの充電量が目標充電量を満足す場合にソフトウェアを更新できる。
【0094】
なお、以上に説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
【符号の説明】
【0095】
1000…管理システム
1…車両
10…管理装置
100…コントローラ
101…設定部
102…判定部
103…指示部
104…通知部
11…車載通信装置
12…車載端末
14…ECU
2…サーバー
21…通信装置
22…データベース
23…制御装置
3…ユーザ端末
31…端末通信装置
32…端末HMI
33…端末制御装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11