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

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

▶ 株式会社アドヴィックスの特許一覧

特開2024-46295制動制御装置及びソフトウェア更新方法
<>
  • 特開-制動制御装置及びソフトウェア更新方法 図1
  • 特開-制動制御装置及びソフトウェア更新方法 図2
  • 特開-制動制御装置及びソフトウェア更新方法 図3
  • 特開-制動制御装置及びソフトウェア更新方法 図4
  • 特開-制動制御装置及びソフトウェア更新方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024046295
(43)【公開日】2024-04-03
(54)【発明の名称】制動制御装置及びソフトウェア更新方法
(51)【国際特許分類】
   G06F 8/656 20180101AFI20240327BHJP
   B60R 16/02 20060101ALI20240327BHJP
【FI】
G06F8/656
B60R16/02 660U
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022151599
(22)【出願日】2022-09-22
(71)【出願人】
【識別番号】301065892
【氏名又は名称】株式会社アドヴィックス
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】大竹 浩文
(72)【発明者】
【氏名】三阪 佳史
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AB01
5B376AB43
5B376CA23
5B376CA39
5B376CA52
5B376CA55
5B376CA76
5B376FA11
5B376GA08
(57)【要約】
【課題】アクチュエータが作動している場合であっても、メインECUの記憶装置のソフトウェアを更新できるようにすること。
【解決手段】制動制御装置60は、メインECU61,62と、バックアップECU63とを備えている。メインECU61,62の実行装置611,621は、バックアップECU63の実行装置631がバックアップECU63の記憶装置632のソフトウェアを実行することによってアクチュエータ11,12を制御可能である場合に、バックアップECU63がアクチュエータ11,12を作動させることを許可した上で、メインECU61,62の記憶装置612,622のソフトウェアを更新用ソフトウェアに書き換える更新処理を実行する。
【選択図】図2
【特許請求の範囲】
【請求項1】
車両で制動力を発生させるべく作動するアクチュエータと、前記アクチュエータを制御するための更新用ソフトウェアを、前記車両の外部から無線通信を介して取得する情報処理装置と、を備える前記車両に設けられ、前記情報処理装置とは車内ネットワークを介して通信可能に構成された制動制御装置であって、
前記アクチュエータを制御するメイン電子制御装置と、前記メイン電子制御装置と相互に通信可能なバックアップ電子制御装置と、を備え、
前記メイン電子制御装置は、ソフトウェアが記憶される記憶装置と、当該記憶装置のソフトウェアを実行することによって前記アクチュエータを制御する実行装置と、を有し、
前記バックアップ電子制御装置は、ソフトウェアを記憶する記憶装置と、当該記憶装置のソフトウェアを実行する実行装置と、を有し、
前記メイン電子制御装置の前記実行装置は、前記バックアップ電子制御装置の前記実行装置が当該バックアップ電子制御装置の前記記憶装置のソフトウェアを実行することによって前記アクチュエータを制御可能である場合に、前記バックアップ電子制御装置が前記アクチュエータを作動させることを許可した上で、前記メイン電子制御装置の前記記憶装置のソフトウェアを前記更新用ソフトウェアに書き換える更新処理を実行する
制動制御装置。
【請求項2】
前記メイン電子制御装置の前記実行装置は、
前記更新処理を完了後に、当該メイン電子制御装置の前記記憶装置のソフトウェアが正常に更新されたか否かを判定するチェック処理を実行し、
前記チェック処理によってソフトウェアが正常に更新されたと判定したことを条件に、自身が前記アクチュエータを制御することを可能とし、前記バックアップ電子制御装置が前記アクチュエータを作動させることの停止を当該バックアップ電子制御装置に要求する復帰処理を実行する
請求項1に記載の制動制御装置。
【請求項3】
前記メイン電子制御装置の前記実行装置は、
前記チェック処理によってソフトウェアが正常に更新されていないと判定した場合には、前記メイン電子制御装置の前記記憶装置のソフトウェアを、前記バックアップ電子制御装置の前記記憶装置のソフトウェアに書き換える復元処理を実行し、
前記復元処理の実行を終了させたことを条件に、前記復帰処理を実行する
請求項2に記載の制動制御装置。
【請求項4】
前記バックアップ電子制御装置の前記実行装置は、
前記メイン電子制御装置での前記更新処理の実行に先立って、当該メイン電子制御装置の前記記憶装置のソフトウェアを前記バックアップ電子制御装置の前記記憶装置に書き込むことにより、自身が前記アクチュエータを制御できる状態にする
請求項1~請求項3のうち何れか一項に記載の制動制御装置。
【請求項5】
前記車両は、前記アクチュエータとして、第1アクチュエータと、第2アクチュエータと、を有するものであり、
前記制動制御装置は、前記メイン電子制御装置として、前記第1アクチュエータを制御する第1メイン電子制御装置と、前記第2アクチュエータを制御する第2メイン電子制御装置と、を備え、
前記バックアップ電子制御装置の前記実行装置は、
前記第1メイン電子制御装置で前記更新処理が実行される場合、当該更新処理の実行に先立って当該第1メイン電子制御装置の前記記憶装置のソフトウェアを前記バックアップ電子制御装置の前記記憶装置に書き込むことにより、自身が前記第1アクチュエータを制御できる状態にし、
前記第2メイン電子制御装置で前記更新処理が実行される場合、当該更新処理の実行に先立って当該第2メイン電子制御装置の前記記憶装置のソフトウェアを当該バックアップ電子制御装置の前記記憶装置に書き込むことにより、自身が前記第2アクチュエータを制御できる状態にする
請求項4に記載の制動制御装置。
【請求項6】
アクチュエータを作動させることによって車両で発生する制動力を調整する制動制御装置を構成するメイン電子制御装置が備える記憶装置のソフトウェアを更新するソフトウェア更新方法であって、
前記制動制御装置は、前記メイン電子制御装置と相互に通信可能に構成されたバックアップ電子制御装置を備えるものであり、
前記車両に設けられた情報処理装置が、前記車両の外部のデータセンタから無線通信を介して更新用ソフトウェアを取得した状況下で、
前記メイン電子制御装置が、前記バックアップ電子制御装置が前記アクチュエータを制御することを許可する許可ステップと、
前記メイン電子制御装置が、自身の前記記憶装置のソフトウェアを前記更新用ソフトウェアに書き換える更新ステップと、を有する
ソフトウェア更新方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両に設けられる制動制御装置及びソフトウェア更新方法に関する。
【背景技術】
【0002】
特許文献1に開示されている制御装置は、複数の制御機器と、電子制御装置とを備えている。電子制御装置は、複数の制御機器を制御するためのソフトウェアを記憶する記憶部と、当該ソフトウェアを実行することによって複数の制御機器を制御するCPUと、外部から取得した更新用ソフトウェアが格納される格納部とを有している。当該制御装置では、複数の制御機器の何れもが停止している状態で、CPUが、記憶部のソフトウェアを、格納部に格納されている更新用ソフトウェアに書き換える更新処理を実行する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007-172200号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の制御装置では、複数の制御機器の少なくとも1つが作動している場合、CPUは更新処理を実行できない。
【課題を解決するための手段】
【0005】
上記課題を解決するための制動制御装置は、車両で制動力を発生させるべく作動するアクチュエータと、前記アクチュエータを制御するための更新用ソフトウェアを、前記車両の外部から無線通信を介して取得する情報処理装置と、を備える前記車両に設けられる制御装置である。同制動制御装置は、前記情報処理装置とは車内ネットワークを介して通信可能に構成されている。同制動制御装置は、前記アクチュエータを制御するメイン電子制御装置と、前記メイン電子制御装置と相互に通信可能なバックアップ電子制御装置と、を備えている。前記メイン電子制御装置は、ソフトウェアが記憶される記憶装置と、当該記憶装置のソフトウェアを実行することによって前記アクチュエータを制御する実行装置と、を有している。前記バックアップ電子制御装置は、ソフトウェアを記憶する記憶装置と、当該記憶装置のソフトウェアを実行する実行装置と、を有している。前記メイン電子制御装置の前記実行装置は、前記バックアップ電子制御装置の前記実行装置が当該バックアップ電子制御装置の前記記憶装置のソフトウェアを実行することによって前記アクチュエータを制御可能である場合に、前記バックアップ電子制御装置が前記アクチュエータを作動させることを許可した上で、前記メイン電子制御装置の前記記憶装置のソフトウェアを前記更新用ソフトウェアに書き換える更新処理を実行する。
【0006】
上記制動制御装置では、メイン電子制御装置の記憶装置のソフトウェアを更新用ソフトウェアに書き換える更新処理が実行されている状況下で、アクチュエータを作動させる必要が生じると、バックアップ電子制御装置がアクチュエータを作動させる。すなわち、上記制動制御装置は、メイン電子制御装置の記憶装置のソフトウェアを更新しつつも、アクチュエータを作動させることによって車両で発生する制動力を調整できる。したがって、上記制動制御装置は、アクチュエータが作動している場合であっても、メイン電子制御装置の記憶装置のソフトウェアを更新できる。
【0007】
上記課題を解決するためのソフトウェア更新方法は、アクチュエータを作動させることによって車両で発生する制動力を調整する制動制御装置を構成するメイン電子制御装置が備える記憶装置のソフトウェアを更新する方法である。前記制動制御装置は、前記メイン電子制御装置と相互に通信可能に構成されたバックアップ電子制御装置を備えるものである。同ソフトウェア更新方法は、前記車両に設けられた情報処理装置が、前記車両の外部のデータセンタから無線通信を介して更新用ソフトウェアを取得した状況下で、前記メイン電子制御装置が、前記バックアップ電子制御装置が前記アクチュエータを制御することを許可する許可ステップと、前記メイン電子制御装置が、自身の前記記憶装置のソフトウェアを前記更新用ソフトウェアに書き換える更新ステップと、を有する。
【0008】
上記ソフトウェア更新方法では、車両の情報処理装置が、車両の外部のデータセンタから無線通信を介して更新用ソフトウェアを取得している状況下で、メイン電子制御装置の記憶装置のソフトウェアを更新する一連の処理が開始される。すなわち、メイン電子制御装置は、バックアップ電子制御装置がアクチュエータを制御することを許可する。その上で、メイン電子制御装置は、自身の記憶装置のソフトウェアを更新用ソフトウェアに書き換える。そのため、メイン電子制御装置の記憶装置のソフトウェアが更新されている最中であっても、バックアップ電子制御装置がアクチュエータを作動させることによって、車両で発生する制動力が調整される。したがって、アクチュエータが作動している場合であっても、メイン電子制御装置の記憶装置のソフトウェアを更新できる。
【図面の簡単な説明】
【0009】
図1図1は、実施形態の制動制御装置を備える車両と、車両の外部に設けられているデータセンタとを示す模式図である。
図2図2は、同制動制御装置の概略構成を示すブロック図である。
図3図3は、同制動制御装置が備えるメイン電子制御装置の記憶装置のソフトウェアを更新させる際に情報処理装置で実行される処理ルーチンを示すフローチャートである。
図4図4において、(A)は、第1メイン電子制御装置の記憶装置のソフトウェアを更新する際に第1メイン電子制御装置で実行される処理の流れを示す図であり、(B)は、第1メイン電子制御装置の記憶装置のソフトウェアを更新する際にバックアップ電子制御装置で実行される処理の流れを示す図である。
図5図5において、(A)は、第2メイン電子制御装置の記憶装置のソフトウェアを更新する際に第2メイン電子制御装置で実行される処理の流れを示す図であり、(B)は、第2メイン電子制御装置の記憶装置のソフトウェアを更新する際にバックアップ電子制御装置で実行される処理の流れを示す図である。
【発明を実施するための形態】
【0010】
以下、制動制御装置及びソフトウェア更新方法の一実施形態を図1図5に従って説明する。本明細書では、電子制御装置を「ECU」と記載する。「ECU」は「Electronic Control Unit」の略記である。
【0011】
図1は、車両10と、車両10の外部に設けられているデータセンタ100とを図示している。
<データセンタ>
データセンタ100は、車外ネットワーク200を介して車両10と各種の情報の送受信ができるように構成されている。すなわち、データセンタ100は、無線通信によって車両10と各種情報の送受信を行う。
【0012】
詳しくは後述するが、車両10は複数のECUを備えている。複数のECUのうちの何れかのECUの記憶装置のソフトウェアを更新するための更新用ソフトウェアが用意できた場合、データセンタ100は、車外ネットワーク200を介して当該更新用ソフトウェアを車両10に送信する。なお、車載の複数のECUのうち、ソフトウェアを更新するECUを「更新対象ECU」という。
【0013】
<車両>
車両10は、通信装置20と情報処理装置30とを備えている。通信装置20は、データセンタ100との情報を送受信するための車両側のインターフェースである。
【0014】
図1及び図2に示すように、情報処理装置30は、ローカルネットワーク51を介して通信装置20と通信できるように構成されている。ローカルネットワーク51は、情報処理装置30と通信装置20との間のみで情報の送受信を行うためのネットワークである。
【0015】
情報処理装置30は、実行装置31と、記憶装置32と、格納装置33とを備えている。例えば、実行装置31はCPUである。記憶装置32は、実行装置31によって実行されるソフトウェアを記憶している。格納装置33は、通信装置20からローカルネットワーク51を介して送信された情報を一時的に格納する。すなわち、データセンタ100が、更新対象ECUを特定する情報及び更新用ソフトウェアを車両10に送信すると、通信装置20が、データセンタ100が送信した情報を受信する。そして、通信装置20は、受信した情報を、ローカルネットワーク51を介して情報処理装置30に送信する。すると、情報処理装置30の実行装置31は、ローカルネットワーク51を介して受信した情報、すなわち更新対象ECUを特定する情報及び更新用ソフトウェアを格納装置33に記憶させる。
【0016】
車両10は、車両10で発生する制動力を調整する制動制御装置60を備えている。制動制御装置60は、複数のECUを備えている。また、車両10は、制動制御装置60を構成するECU以外の他のECU40も備えている。制動制御装置60及び他のECU40は、グローバルネットワーク52を介して情報処理装置30と通信可能に構成されている。グローバルネットワーク52が、情報処理装置30と制動制御装置60との間で情報の送受信を行わせる「車内ネットワーク」に対応する。例えば、グローバルネットワーク52はCANバスである。CANは「Controller Area Network」の略記である。
【0017】
車両10は、制動制御装置60の制御対象であるアクチュエータを備えている。アクチュエータは、車両10で制動力を発生させるべく作動する。車両10は、アクチュエータとして、第1アクチュエータ11と第2アクチュエータ12とを備えている。
【0018】
車両10は、車両10の走行状態を検出する検出系15を備えている。検出系15は、検出結果に応じた信号を制動制御装置60に出力する。検出系15は、複数のセンサ151を有している。複数のセンサは、例えば、車輪速センサ、加速度センサ及びヨーレートセンサを含んでいる。
【0019】
<制動制御装置>
図1及び図2に示すように、制動制御装置60は、アクチュエータを制御するメインECUを備えている。具体的には、制動制御装置60は、メインECUとして、第1メインECU61と第2メインECU62とを備えている。第1メインECU61は、第1アクチュエータ11を制御するためのECUであり、例えば第1アクチュエータ11の制御量を算出する。第2メインECU62は、第2アクチュエータ12を制御するためのECUであり、例えば第2アクチュエータ12の制御量を算出する。
【0020】
制動制御装置60は、メインECUと相互に通信可能なバックアップECU63を備えている。バックアップECU63は、第1メインECU61と相互に通信可能であるとともに、第2メインECU62と相互に通信可能である。例えば、バックアップECU63は、ローカルネットワークを介して第1メインECU61と通信可能であり、ローカルネットワークを介して第2メインECU62と通信可能である。
【0021】
制動制御装置60は、入力ECU64と出力ECU65とをさらに備えている。入力ECU64は、ローカルネットワークを介して第1メインECU61、第2メインECU62及びバックアップECU63と通信可能である。入力ECU64は、制動制御装置60の入力インターフェースとして機能する。例えば、入力ECU64には、検出系15から出力された信号が入力される。また例えば、入力ECU64には、情報処理装置30及び他のECU40がグローバルネットワーク52に送信した情報が入力される。そして、入力ECU64は、入力された情報を、第1メインECU61、第2メインECU62及びバックアップECU63に送信する。
【0022】
出力ECU65は、ローカルネットワークを介して第1メインECU61、第2メインECU62及びバックアップECU63と通信可能である。出力ECU65は、制動制御装置60の出力インターフェースとして機能する。例えば、出力ECU65は、第1メインECU61が算出した制御量に応じた指令信号を第1アクチュエータ11に出力する。これにより、第1アクチュエータ11が作動する。また例えば、出力ECU65は、第2メインECU62が算出した制御量に応じた指令信号を第2アクチュエータ12に出力する。これにより、第1アクチュエータ11が作動する。出力ECU65は、制動制御装置60が取得した情報、及び制動制御装置60が算出した情報をグローバルネットワーク52に送信する。
【0023】
制動制御装置60を構成する複数のECU61~65は、実行装置と記憶装置とをそれぞれ備えている。例えば、実行装置はCPUであり、記憶装置は不揮発性のメモリである。記憶装置には、実行装置によって実行されるソフトウェアが記憶される。
【0024】
詳しくは、入力ECU64は、実行装置641及び記憶装置642の他、格納装置643を備えている。例えば、格納装置643はRAMである。格納装置643には、入力ECU64に入力された情報が一時的に記憶される。
【0025】
第1メインECU61の記憶装置612には、第1アクチュエータ11を制御するためのソフトウェアが記憶される。第1メインECU61の実行装置611は、記憶装置612のソフトウェアを実行することにより、第1アクチュエータ11を制御する。本実施形態では、実行装置611は、第1アクチュエータ11の制御量を算出し、当該制御量を出力ECU65に送信することによって第1アクチュエータ11を制御する。
【0026】
第2メインECU62の記憶装置622には、第2アクチュエータ12を制御するためのソフトウェアが記憶される。第2メインECU62の実行装置621は、記憶装置622のソフトウェアを実行することにより、第2アクチュエータ12を制御する。本実施形態では、実行装置621は、第2アクチュエータ12の制御量を算出し、当該制御量を出力ECU65に送信することによって第2アクチュエータ12を制御する。
【0027】
バックアップECU63の記憶装置632には、実行装置631によって実行されるソフトウェアが記憶される。例えばバックアップECU63が第1アクチュエータ11を作動させる場合、第1アクチュエータ11を制御するためのソフトウェアが記憶装置632に記憶される。そして、実行装置631は、記憶装置632のソフトウェアを実行することによって第1アクチュエータ11を制御する。また例えばバックアップECU63が第2アクチュエータ12を作動させる場合、第2アクチュエータ12を制御するためのソフトウェアが記憶装置632に記憶される。そして、実行装置631は、記憶装置632のソフトウェアを実行することによって第2アクチュエータ12を制御する。
【0028】
出力ECU65の記憶装置652には、実行装置651によって実行されるソフトウェアが記憶されている。
<更新準備処理>
図3は、情報処理装置30の実行装置31が実行する更新準備処理を示す処理ルーチンを図示している。更新準備処理は、制動制御装置60のメインECUの記憶装置のソフトウェアを更新させるために実行装置31が実行する一連の処理である。メインECUのソフトウェアを更新することを車両10の所有者が許可している場合に、実行装置31は本処理ルーチンを実行する。
【0029】
ステップS11において、実行装置31は、第1メインECU61が更新対象ECUであるか否かを判定する。例えば、格納装置33に記憶されている情報、すなわち更新対象ECUを特定する情報によって示されるECUの中に、第1メインECU61が含まれている場合は、第1メインECU61が更新対象ECUであると見なす。一方、格納装置33に記憶されている上記情報によって示されるECUの中に、第1メインECU61は含まれていない場合は、第1メインECU61が更新対象ECUではないと見なす。実行装置31は、第1メインECU61が更新対象ECUであると判定した場合(S11:YES)、処理をステップS13に移行する。一方、実行装置31は、第1メインECU61が更新対象ECUではないと判定した場合(S11:NO)、処理をステップS19に移行する。
【0030】
ステップS13において、実行装置31は、第1メインECU61の記憶装置612のソフトウェアを更新することを許可する旨を、グローバルネットワーク52を介して制動制御装置60に通知する。次のステップS15において、実行装置31は、格納装置33に記憶されている第1メインECU61向けの更新用ソフトウェアを、グローバルネットワーク52を介して制動制御装置60に送信する。すると例えば、制動制御装置60では、入力ECU64の格納装置643に更新用ソフトウェアが格納される。
【0031】
なお、第1メインECU61の記憶装置612のソフトウェアの更新が完了すると、制動制御装置60は、ソフトウェアの更新が完了した旨の通知を、グローバルネットワーク52を介して情報処理装置30に送信する。そのため、実行装置31は、当該通知を受信したか否かを基に、第1メインECU61の記憶装置612のソフトウェアの更新が完了したか否かを判定できる。
【0032】
ステップS17において、実行装置31は、第1メインECU61の記憶装置612のソフトウェアの更新が完了したか否かを判定する。実行装置31は、ソフトウェアの更新が完了したと判定した場合(S17:YES)、処理をステップS19に移行する。一方、実行装置31は、ソフトウェアの更新が完了していないと判定した場合(S17:NO)、更新が完了したと判定するまでステップS17の判定を繰り返し実行する。
【0033】
なお、記憶装置612のソフトウェアを正常に更新できる場合もあれば、記憶装置612のソフトウェアを正常に更新できない場合もある。ステップS17では、実行装置31は、何れの場合であっても記憶装置612のソフトウェアの更新が完了したと判定し、処理をステップS19に移行する。
【0034】
ステップS19において、実行装置31は、第2メインECU62が更新対象ECUであるか否かを判定する。例えば、格納装置33に記憶されている情報、すなわち更新対象ECUを特定する情報によって示されるECUの中に、第2メインECU62が含まれている場合は、第2メインECU62が更新対象ECUであると見なす。一方、格納装置33に記憶されている上記の情報によって示されるECUの中に、第2メインECU62が含まれていない場合は、第2メインECU62は更新対象ECUではないと見なす。実行装置31は、第2メインECU62が更新対象ECUであると判定した場合(S19:YES)、処理をステップS21に移行する。一方、実行装置31は、第2メインECU62が更新対象ECUではないと判定した場合(S19:NO)、本処理ルーチンを終了する。
【0035】
ステップS21において、実行装置31は、第2メインECU62の記憶装置622のソフトウェアを更新することを許可する旨を、グローバルネットワーク52を介して制動制御装置60に通知する。次のステップS23において、実行装置31は、格納装置33に記憶されている第2メインECU62向けの更新用ソフトウェアを、グローバルネットワーク52を介して制動制御装置60に送信する。
【0036】
なお、第2メインECU62の記憶装置622のソフトウェアの更新が完了すると、制動制御装置60は、ソフトウェアの更新が完了した旨の通知を、グローバルネットワーク52を介して情報処理装置30に送信する。そのため、実行装置31は、当該通知を受信したか否かを基に、第2メインECU62の記憶装置622のソフトウェアの更新が完了したか否かを判定できる。
【0037】
ステップS25において、実行装置31は、第2メインECU62の記憶装置622のソフトウェアの更新が完了したか否かを判定する。実行装置31は、ソフトウェアの更新が完了したと判定した場合(S25:YES)、本処理ルーチンを終了する。一方、実行装置31は、ソフトウェアの更新が完了していないと判定した場合(S25:NO)、更新が完了したと判定するまでステップS25の判定を繰り返し実行する。
【0038】
なお、記憶装置622のソフトウェアを正常に更新できる場合もあれば、記憶装置622のソフトウェアを正常に更新できない場合もある。ステップS25では、実行装置31は、何れの場合であっても記憶装置622のソフトウェアの更新が完了したと判定し、本処理ルーチンを終了する。
【0039】
制動制御装置60を備える車両10において、情報処理装置30及び制動制御装置60が、制動制御装置60のメインECUの記憶装置のソフトウェアを更新する「車両制御システム」として機能する。
【0040】
<第1メインECUの記憶装置のソフトウェアを更新するソフトウェア更新方法>
図4を参照し、第1メインECU61の記憶装置612のソフトウェアを更新する際の処理の流れを説明する。図4(A)は、第1メインECU61で実行される処理の流れを示している。図4(B)は、バックアップECU63で実行される処理の流れを示している。
【0041】
ステップS41において、第1メインECU61の実行装置611は、記憶装置612に記憶されているソフトウェアを、バックアップECU63の記憶装置632にコピーすることをバックアップECU63に要求する。
【0042】
当該要求をバックアップECU63が受信すると、ステップS51において、バックアップECU63の実行装置631は、第1メインECU61の記憶装置612のソフトウェアを、バックアップECU63の記憶装置632に書き込む。記憶装置632へのソフトウェアの書き込みが完了すると、実行装置631は、記憶装置632のソフトウェアを実行することによって第1アクチュエータ11を制御することが可能となる。そして、実行装置631は、記憶装置632へのソフトウェアの書き込みを完了させると、処理をステップS53に移行する。ステップS53において、実行装置631は、ソフトウェアの書き込みが完了した旨を第1メインECU61に通知する。
【0043】
上記の通知を第1メインECU61が受信すると、第1メインECU61の実行装置611は処理をステップS43に移行する。ステップS43において、実行装置611は、第1アクチュエータ11の制御権をバックアップECU63に付与する。すなわち、実行装置611は、バックアップECU63が第1アクチュエータ11を制御可能である場合に、バックアップECU63が第1アクチュエータ11を作動させることを許可する。本実施形態では、ステップS43が「許可ステップ」に対応する。
【0044】
バックアップECU63の実行装置631は、第1アクチュエータ11の制御権を付与されると、処理をステップS55に移行する。ステップS55において、実行装置631は、第1アクチュエータ11を制御する。具体的には、実行装置631は、検出系15の出力信号などを基に第1アクチュエータ11の制御量を算出し、当該制御量を出力ECU65に送信する。
【0045】
この場合、出力ECU65は、バックアップECU63から第1アクチュエータ11の制御量を受信すると、当該制御量に応じた指令を第1アクチュエータ11に出力する。これにより、バックアップECU63は、第1アクチュエータ11を作動させることができる。
【0046】
一方、第1メインECU61の実行装置611は、第1アクチュエータ11の制御権をバックアップECU63に付与すると、処理をステップS45に移行する。ステップS45において、実行装置611は、記憶装置612のソフトウェアを更新する。すなわち、実行装置611は、自身が第1アクチュエータ11を制御することを停止した上で、記憶装置612のソフトウェアを、情報処理装置30から送信された更新用ソフトウェアに書き換える。例えば、実行装置611は、記憶装置612から更新前のソフトウェアを消去し、その上で更新用ソフトウェアを記憶装置612に書き込む。本実施形態では、ステップS43及びステップS45で実行される処理が、バックアップECU63が第1アクチュエータ11を作動させることを許可した上で、第1メインECU61の記憶装置612のソフトウェアを更新用ソフトウェアに書き換える「更新処理」に対応する。また、ステップS45が「更新ステップ」に対応する。
【0047】
実行装置611は、記憶装置612のソフトウェアの更新を完了させると、処理をステップS47に移行する。
ステップS47において、実行装置611は、記憶装置612のソフトウェアが正常に更新されたか否かを判定するチェック処理を実行する。すなわち、実行装置611は、更新処理の実行後にチェック処理を実行する。例えば、実行装置611は、チェック処理として、ベリファイチェックを実行する。なお、ソフトウェアが正常に更新されたか否かを判定できるのであれば、ベリファイチェック以外の手法をチェック処理として採用してもよい。例えば、チェック処理として、チェックサムを採用してもよい。実行装置611は、チェック処理を終了すると、処理をステップS49に移行する。
【0048】
ステップS49において、実行装置611は、チェック処理を実行した結果を基に、記憶装置612のソフトウェアが正常に更新されたか否かを判定する。実行装置611は、ソフトウェアが正常に更新されたと判定した場合(S49:YES)、処理をステップS413に移行する。一方、実行装置611は、ソフトウェアが正常に更新されていないと判定した場合(S49:NO)、処理をステップS411に移行する。
【0049】
ステップS411において、実行装置611は、記憶装置612のソフトウェアを、バックアップECU63の記憶装置632のソフトウェアに書き換える復元処理を実行する。具体的には、実行装置611は、記憶装置612に記憶されたソフトウェアを消去し、その上で記憶装置632のソフトウェアを記憶装置612に書き込む。実行装置611は、復元処理を実行すると、処理をステップS413に移行する。
【0050】
ステップS413において、実行装置611は、第1アクチュエータ11の制御権の返却をバックアップECU63に要求する。すなわち、実行装置611は、記憶装置612のソフトウェアを正常に更新できた場合には、ソフトウェアの更新が完了したことを条件に制御権の返却をバックアップECU63に要求する。また、実行装置611は、記憶装置612のソフトウェアを正常に更新できなかった場合には、復元処理の実行が完了したことを条件に制御権の返却をバックアップECU63に要求する。本実施形態では、ステップS413の処理が「復帰処理」に対応する。
【0051】
次のステップS415において、実行装置611は、記憶装置612のソフトウェアを実行することにより、第1アクチュエータ11の制御を再開する。
一方、バックアップECU63の実行装置631は、第1アクチュエータ11の制御権の返却を要求されると、処理をステップS57に移行する。ステップS57において、実行装置631は、第1アクチュエータ11の制御を停止する。すなわち、実行装置631は、第1アクチュエータ11の制御量の算出、及び当該制御量の出力ECU65への送信を停止する。次のステップS59において、実行装置631は、第1アクチュエータ11を制御するためのソフトウェアを記憶装置632から消去するリセット処理を実行する。
【0052】
こうした一連の処理が実行されると、実行装置611は、記憶装置612のソフトウェアを正常に更新できた場合には、ソフトウェアの更新が完了した旨を、出力ECU65及びグローバルネットワーク52を介して情報処理装置30に通知する。一方、実行装置611は、ソフトウェアを正常に更新できなかった場合には、ソフトウェアの更新が失敗した旨を、出力ECU65及びグローバルネットワーク52を介して情報処理装置30に通知する。
【0053】
<第2メインECUの記憶装置のソフトウェアを更新するソフトウェア更新方法>
図5を参照し、第2メインECU62の記憶装置622のソフトウェアを更新する際の処理の流れを説明する。図5(A)は、第2メインECU62で実行される処理の流れを示している。図5(B)は、バックアップECU63で実行される処理の流れを示している。
【0054】
ステップS71において、第2メインECU62の実行装置621は、記憶装置622に記憶されているソフトウェアを、バックアップECU63の記憶装置632にコピーすることをバックアップECU63に要求する。
【0055】
当該要求をバックアップECU63が受信すると、ステップS81において、バックアップECU63の実行装置631は、第2メインECU62の記憶装置622のソフトウェアを、バックアップECU63の記憶装置632に書き込む。記憶装置632へのソフトウェアの書き込みが完了すると、実行装置631は、記憶装置632のソフトウェアを実行することによって第2アクチュエータ12を制御することが可能となる。そして、実行装置631は、記憶装置632へのソフトウェアの書き込みを完了させると、処理をステップS83に移行する。ステップS83において、実行装置631は、ソフトウェアの書き込みが完了した旨を第2メインECU62に通知する。
【0056】
上記の通知を第2メインECU62が受信すると、第2メインECU62の実行装置621は処理をステップS73に移行する。ステップS73において、実行装置621は、第2アクチュエータ12の制御権をバックアップECU63に付与する。すなわち、実行装置621は、バックアップECU63が第2アクチュエータ12を制御可能である場合に、バックアップECU63が第2アクチュエータ12を作動させることを許可する。本実施形態では、ステップS73が「許可ステップ」に対応する。
【0057】
バックアップECU63の実行装置631は、第2アクチュエータ12の制御権を付与されると、処理をステップS85に移行する。ステップS85において、実行装置631は、第2アクチュエータ12を制御する。具体的には、実行装置631は、検出系15の出力信号などを基に第2アクチュエータ12の制御量を算出し、当該制御量を出力ECU65に送信する。
【0058】
この場合、出力ECU65は、バックアップECU63から第2アクチュエータ12の制御量を受信すると、当該制御量に応じた指令を第2アクチュエータ12に出力する。これにより、バックアップECU63は、第2アクチュエータ12を作動させることができる。
【0059】
一方、第2メインECU62の実行装置621は、第2アクチュエータ12の制御権をバックアップECU63に付与すると、処理をステップS75に移行する。ステップS75において、実行装置621は、記憶装置622のソフトウェアを更新する。すなわち、実行装置621は、自身が第2アクチュエータ12を制御することを停止した上で、記憶装置622のソフトウェアを、情報処理装置30から送信された更新用ソフトウェアに書き換える。本実施形態では、ステップS73及びステップS75で実行される処理が、バックアップECU63が第2アクチュエータ12を作動させることを許可した上で、第2メインECU62の記憶装置622のソフトウェアを更新用ソフトウェアに書き換える「更新処理」に対応する。また、ステップS75が「更新ステップ」に対応する。
【0060】
実行装置621は、記憶装置622のソフトウェアの更新を完了させると、処理をステップS77に移行する。
ステップS77において、実行装置621は、上記ステップS47と同様の手法で、記憶装置622のソフトウェアが正常に更新されたか否かを判定するチェック処理を実行する。実行装置621は、チェック処理を終了すると、処理をステップS79に移行する。
【0061】
ステップS79において、実行装置621は、チェック処理を実行した結果を基に、記憶装置622のソフトウェアが正常に更新されたか否かを判定する。実行装置621は、ソフトウェアが正常に更新されたと判定した場合(S79:YES)、処理をステップS713に移行する。一方、実行装置621は、ソフトウェアが正常に更新されていないと判定した場合(S79:NO)、処理をステップS711に移行する。
【0062】
ステップS711において、実行装置621は、上記ステップS411と同様の手法で、記憶装置622のソフトウェアを、バックアップECU63の記憶装置632のソフトウェアに書き換える復元処理を実行する。実行装置621は、復元処理を実行すると、処理をステップS713に移行する。
【0063】
ステップS713において、実行装置621は、第2アクチュエータ12の制御権の返却をバックアップECU63に要求する。すなわち、実行装置621は、記憶装置622のソフトウェアを正常に更新できた場合には、ソフトウェアの更新が完了したことを条件に制御権の返却をバックアップECU63に要求する。また、実行装置621は、記憶装置612のソフトウェアを正常に更新できなかった場合には、復元処理の実行が完了したことを条件に制御権の返却をバックアップECU63に要求する。本実施形態では、ステップS713の処理が「復帰処理」に対応する。
【0064】
次のステップS715において、実行装置621は、記憶装置622のソフトウェアを実行することにより、第2アクチュエータ12の制御を再開する。
一方、バックアップECU63の実行装置631は、第2アクチュエータ12の制御権の返却を要求されると、処理をステップS87に移行する。ステップS87において、実行装置631は、第2アクチュエータ12の制御を停止する。次のステップS89において、実行装置631は、第2アクチュエータ12を制御するためのソフトウェアを記憶装置632から消去するリセット処理を実行する。
【0065】
こうした一連の処理が実行されると、実行装置621は、記憶装置622のソフトウェアを正常に更新できた場合には、ソフトウェアの更新が完了した旨を、出力ECU65及びグローバルネットワーク52を介して情報処理装置30に送信する。一方、実行装置621は、ソフトウェアを正常に更新できなかった場合には、ソフトウェアの更新が失敗した旨を、出力ECU65及びグローバルネットワーク52を介して情報処理装置30に送信する。
【0066】
<本実施形態の作用及び効果>
(1)第1メインECU61の記憶装置612のソフトウェアを更新する場合、情報処理装置30の格納装置33に格納されている更新用ソフトウェアが、制動制御装置60の入力ECU64の格納装置33に一時的に格納される。続いて、第1メインECU61の記憶装置612に記憶されているソフトウェア、すなわち更新前のソフトウェアが、バックアップECU63の記憶装置632に書き込まれる。これにより、バックアップECU63が、第1アクチュエータ11を作動させることが可能となる。そして、第1メインECU61の実行装置611が、第1アクチュエータ11をバックアップECU63が作動させることを許可すると、実行装置611が、記憶装置612のソフトウェアを更新用ソフトウェアに更新する。
【0067】
ここで、記憶装置612のソフトウェアを更新している最中で、第1アクチュエータ11を作動させる必要が生じることがある。この場合、バックアップECU63の実行装置631が第1アクチュエータ11を制御することにより、第1アクチュエータ11を作動させることができる。すなわち、制動制御装置60は、記憶装置612のソフトウェアを更新しつつも、第1アクチュエータ11を作動させることによって車両10で発生する制動力を調整できる。したがって、制動制御装置60は、第1アクチュエータ11が作動している場合であっても、第1メインECU61の記憶装置612のソフトウェアを更新できる。
【0068】
なお、第2メインECU62の記憶装置622のソフトウェアを更新する場合の処理の流れは、第1メインECU61の記憶装置612のソフトウェアを更新する場合と同様である。したがって、制動制御装置60は、第2アクチュエータ12が作動している場合であっても、第2メインECU62の記憶装置622のソフトウェアを更新できる。
【0069】
(2)第1メインECU61の実行装置611は、記憶装置612のソフトウェアを更新した後に、チェック処理を実行する。そして、実行装置611は、ソフトウェアが正常に更新されたと判定したことを条件に復帰処理を実行する。すなわち、記憶装置612のソフトウェアが正常に更新された場合には、更新後のソフトウェアを実行装置611に実行させることにより、第1アクチュエータ11を作動させることができる。
【0070】
一方、実行装置611は、ソフトウェアが正常に更新されていないと判定された場合には、バックアップECU63の記憶装置632のソフトウェア、すなわち更新前のソフトウェアを記憶装置612に書き込んだ上で復帰処理を実行する。これにより、第1メインECU61は、記憶装置632のソフトウェアを実行装置611に実行させることにより、第1アクチュエータ11を作動させることができる。すなわち、ソフトウェアの更新が失敗した場合でも、第1メインECU61に第1アクチュエータ11を作動させることができる。
【0071】
なお、第2メインECU62の記憶装置622のソフトウェアを更新した後の処理の流れは、第1メインECU61の記憶装置612のソフトウェアを更新した後の処理の流れと同様である。
【0072】
(3)メインECUの記憶装置のソフトウェアを更新する場合、更新処理に先立って、メインECUの記憶装置のソフトウェア、すなわち更新前のソフトウェアが、バックアップECU63の記憶装置632に書き込まれる。これにより、バックアップECU63の実行装置631がアクチュエータを制御できる状態になる。すなわち、バックアップECU63がアクチュエータを作動させる場合、最新バージョンの1つ前のバージョンのソフトウェアを実行装置631が実行することになる。したがって、ソフトウェアの更新中では、ソフトウェアの更新前と同じようにアクチュエータを作動させることができる。
【0073】
また、制動制御装置60では、バックアップECU63が、第1メインECU61のバックアップとしても機能させることができるし、第2メインECU62のバックアップとして機能させることができる。そのため、第1メインECU61用のバックアップECUと、第2メインECU62用のバックアップECUとを個別に設ける必要がない分、制動制御装置60を構成するECUの数が増大することを抑制できる。
【0074】
<変更例>
上記実施形態は、以下のように変更して実施することができる。上記実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0075】
・バックアップECU63の記憶装置632には、第1アクチュエータ11を作動させるためのソフトウェアと、第2アクチュエータ12を作動させるためのソフトウェアとが予め記憶されていてもよい。この場合、メインECUの記憶装置のソフトウェアを更新するのに先立って、当該記憶装置のソフトウェアをバックアップECU63の記憶装置632に書き込む処理を省略できる。
【0076】
・上記実施形態では、チェック処理によってメインECUの記憶装置のソフトウェアが正常に更新されていないと判定された場合には復元処理を実行していたが、これに限らない。例えば、チェック処理によってメインECUの記憶装置のソフトウェアが正常に更新されていないと判定された場合には、当該記憶装置のソフトウェアが正常に更新されたと判定されるようになるまで、ソフトウェアの更新を繰り返してもよい。
【0077】
・上記実施形態では、チェック処理によってメインECUの記憶装置のソフトウェアが正常に更新されたと判定されると、アクチュエータの作動によって車両10で発生する制動力を調整している最中であっても、アクチュエータの制御権がメインECUに戻されるが、これに限らない。例えば、アクチュエータの作動による制動力の調整が終了した後に、アクチュエータの制御権をバックアップECU63からメインECUに戻すようにしてもよい。
【0078】
・制動制御装置が制御するアクチュエータは、3つ以上であってもよい。例えば、アクチュエータの数がN個である場合、制動制御装置は、N個のメインECUを備えることが好ましい。なお、「N」は3以上の整数である。
【0079】
・制動制御装置が制御するアクチュエータの数は1つであってもよい。この場合、制動制御装置が備えるメインECUの数は1つのみとなる。
・制動制御装置は、第1メインECU61用のバックアップECUと、第2メインECU62用のバックアップECUとを個別に備えた構成であってもよい。
【0080】
・ECUは、CPUとROMとを備えて、ソフトウェア処理を実行するものに限らない。すなわち、ECUは、以下(a)~(c)の何れかの構成であればよい。
(a)ECUは、コンピュータプログラムに従って各種処理を実行する一つ以上のプロセッサを備えている。プロセッサは、CPU並びに、RAM及びROMなどのメモリを含んでいる。メモリは、処理をCPUに実行させるように構成されたプログラムコード又は指令を格納している。メモリ、すなわちコンピュータ可読媒体は、汎用又は専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含んでいる。
【0081】
(b)ECUは、各種処理を実行する一つ以上の専用のハードウェア回路を備えている。専用のハードウェア回路としては、例えば、特定用途向け集積回路、すなわちASIC又はFPGAを挙げることができる。なお、ASICは、「Application Specific Integrated Circuit」の略記であり、FPGAは、「Field Programmable Gate Array」の略記である。
【0082】
(c)ECUは、各種処理の一部をコンピュータプログラムに従って実行するプロセッサと、各種処理のうちの残りの処理を実行する専用のハードウェア回路とを備えている。
なお、本明細書において使用される「少なくとも1つ」という表現は、所望の選択肢の「1つ以上」を意味する。一例として、本明細書において使用される「少なくとも1つ」という表現は、選択肢の数が2つであれば「1つの選択肢のみ」又は「2つの選択肢の双方」を意味する。他の例として、本明細書において使用される「少なくとも1つ」という表現は、選択肢の数が3つ以上であれば「1つの選択肢のみ」又は「2つ以上の任意の選択肢の組み合わせ」を意味する。
【符号の説明】
【0083】
10…車両
11…第1アクチュエータ(アクチュエータの一例)
12…第2アクチュエータ(アクチュエータの一例)
30…情報処理装置
52…グローバルネットワーク(車内ネットワークの一例)
60…制動制御装置
61…第1メインECU(メイン電子制御装置の一例)
611…実行装置
612…記憶装置
62…第2メインECU(メイン電子制御装置の一例)
621…実行装置
622…記憶装置
63…バックアップECU
631…実行装置
632…記憶装置
100…データセンタ
200…車外ネットワーク
図1
図2
図3
図4
図5