JP2021039651A - ソフトウェア更新装置、ソフトウェア更新方法、およびプログラム - Google Patents

ソフトウェア更新装置、ソフトウェア更新方法、およびプログラム Download PDF

Info

Publication number
JP2021039651A
JP2021039651A JP2019161912A JP2019161912A JP2021039651A JP 2021039651 A JP2021039651 A JP 2021039651A JP 2019161912 A JP2019161912 A JP 2019161912A JP 2019161912 A JP2019161912 A JP 2019161912A JP 2021039651 A JP2021039651 A JP 2021039651A
Authority
JP
Japan
Prior art keywords
software
update
control unit
vehicle
device control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019161912A
Other languages
English (en)
Other versions
JP7058629B2 (ja
Inventor
源太 井上
Genta Inoue
源太 井上
陽介 塩ノ谷
Yosuke Shionoya
陽介 塩ノ谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2019161912A priority Critical patent/JP7058629B2/ja
Publication of JP2021039651A publication Critical patent/JP2021039651A/ja
Application granted granted Critical
Publication of JP7058629B2 publication Critical patent/JP7058629B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】より適切にソフトウェア更新処理を実行することができるソフトウェア更新装置、ソフトウェア更新方法、およびプログラムを提供すること。【解決手段】実施形態の一態様に係るソフトウェア更新装置は、外部装置と通信する通信部と、前記通信部による前記外部装置との通信により、車両に搭載された機器を制御する複数の機器制御部に組み込まれたソフトウェアのうち少なくとも一つを更新する更新制御部と、を備え、前記更新制御部は、前記車両の停止に伴って、前記複数の機器制御部のうち少なくとも一つの機器制御部に対する前記ソフトウェアの更新を行う場合に、前記ソフトウェアの更新を行わない機器制御部における通信、または、前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って実行する処理のうち、一方または双方を抑制することを特徴とする。【選択図】図2

Description

本発明は、ソフトウェア更新装置、ソフトウェア更新方法、およびプログラムに関する。
従来、サーバから更新プログラムをダウンロードし、ダウンロードした更新プログラムを、車載機器を制御する制御部に組み込まれたソフトウェアに適用して、ソフトウェアを更新するソフトウェア更新システムが知られている(例えば、特許文献1参照)。特許文献1の更新システムでは、アップデート対象機器のアップデートが未完了となった場合に、アップデートが未完了となった要因を検出し、アップデートを再開することが可能な場合にアップデートを再開する処理を行う。
特開2018−97764号公報
しかしながら、上述した技術は、不具合が発生した後に対応を行うものであり、事前に不具合発生の原因となる可能性がある外乱要因を考慮した更新制御を行うものではなかった。したがって、適切なソフトウェア更新が行われない場合があった。
本発明の態様は、このような事情を考慮してなされたものであり、より適切にソフトウェア更新処理を実行することができるソフトウェア更新装置、ソフトウェア更新方法、およびプログラムを提供することを目的の一つとする。
この発明に係るソフトウェア更新装置、ソフトウェア更新方法、およびプログラムは、以下の構成を採用した。
(1):この発明の一態様に係るソフトウェア更新装置は、外部装置と通信する通信部と、前記通信部による前記外部装置との通信により、車両に搭載された機器を制御する複数の機器制御部に組み込まれたソフトウェアのうち少なくとも一つを更新する更新制御部と、を備え、前記更新制御部は、前記車両の停止に伴って、前記複数の機器制御部のうち少なくとも一つの機器制御部に対する前記ソフトウェアの更新を行う場合に、前記ソフトウェアの更新を行わない機器制御部における通信、または、前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って実行する処理のうち、一方または双方を抑制することを特徴とするソフトウェア更新装置である。
(2):上記(1)の態様において、前記複数の機器制御部は、前記車両が走行するための走行駆動力を駆動輪に出力する内燃機関を制御する第1機器制御部と、前記車両に搭載された変速機を制御する第2機器制御部とを含み、前記更新制御部は、前記第1機器制御部または第2機器制御部のうち一方または双方に対する前記ソフトウェアの更新がある場合に、前記第1機器制御部および前記第2機器制御部において前記車両の停止に伴って実行する処理を停止させることを特徴とするものである。
(3):上記(1)または(2)の態様において、前記車両の運転情報を記憶する記憶部を更に備え、前記更新制御部は、前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って、前記運転情報を前記記憶部に記憶させる処理を実行する場合に、前記処理を延期し、前記ソフトウェアの更新後に前記処理を実行させることを特徴とするものである。
(4):上記(1)〜(3)のうち何れか一つの態様において、前記更新制御部は、前記ソフトウェアの更新が正常に終了できない状態が所定回数以上継続した場合に、前記ソフトウェアを更新させる前に前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って実行する処理を実行させることを特徴とするものである。
(5):上記(1)〜(4)のうち何れか一つの態様において、前記車両に搭載されたバッテリのエネルギー量を取得するエネルギー取得部を更に備え、前記更新制御部は、前記エネルギー取得部により取得された前記エネルギー量に基づいて、前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って実行する処理の実行を制御することを特徴とするものである。
(6):上記(1)〜(5)のうち何れか一つの態様において、前記複数の機器制御部は、前記車両の操舵または速度のうち一方または双方を制御して運転制御を行う第3機器制御部を含み、前記更新制御部は、前記第3機器制御部に対する前記ソフトウェアの更新がある場合に、前記第3機器制御部によって制御される機器における処理を抑制することを特徴とするものである。
(7):この発明の一態様に係るソフトウェア更新方法は、車両に搭載されるソフトウェア更新装置が、外部装置と通信し、前記外部装置との通信により、車両に搭載された機器を制御する複数の機器制御部に組み込まれたソフトウェアのうち少なくとも一つを更新し、前記車両の停止に伴って、前記複数の機器制御部のうち少なくとも一つの機器制御部に対する前記ソフトウェアの更新を行う場合に、前記ソフトウェアの更新を行わない機器制御部における通信、または、前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って実行する処理のうち、一方または双方を抑制することを特徴とするソフトウェア更新方法である。
(8):この発明の一態様に係るプログラムは、車両に搭載されるソフトウェア更新装置に、外部装置と通信させ、前記外部装置との通信により、車両に搭載された機器を制御する複数の機器制御部に組み込まれたソフトウェアのうち少なくとも一つを更新させ、前記車両の停止に伴って、前記複数の機器制御部のうち少なくとも一つの機器制御部に対する前記ソフトウェアの更新を行う場合に、前記ソフトウェアの更新を行わない機器制御部における通信、または、前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って実行する処理のうち、一方または双方を抑制させることを特徴とするプログラムである。
上記(1)〜(8)の態様によれば、より適切にソフトウェア更新処理を実行することができる。
実施形態のソフトウェア更新装置100を含むソフトウェア更新システム1の構成図である。 実施形態のソフトウェア更新装置100を含む車両システム2の構成図である。 機器管理情報152の内容の一例を示す図である。 第1の更新制御パターンにおいて、更新制御部120が実行する処理の一例を示すフローチャートである。 第2の更新制御パターンにおいて、更新制御部120が実行する処理の一例を示すフローチャートである。 ECUにおけるソフトウェア更新の第1実施例について説明するための図である。 ECUにおけるソフトウェア更新の第2実施例について説明するための図である。
以下、図面を参照し、本発明のソフトウェア更新装置、ソフトウェア更新方法、およびプログラムの実施形態について説明する。なお、以下では、ソフトウェア更新装置が、車両システムの一部として車両に搭載されている例について説明する。車両は、例えば、二輪や三輪、四輪等の車両である。また、車両の駆動源は、例えば、ディーゼルエンジンやガソリンエンジン等の内燃機関、電動機、或いはこれらの組み合わせである。電動機は、内燃機関に連結された発電機による発電電力、或いは二次電池や燃料電池の放電電力を使用して動作する。なお、ソフトウェア更新装置は、車両以外の移動体(例えば、船舶、飛行体)に搭載されてもよい。
[ソフトウェア更新システム]
図1は、実施形態のソフトウェア更新装置100を含むソフトウェア更新システム1の構成図である。ソフトウェア更新システム1は、例えば、一以上の車両M−1〜M−n(nは1以上の自然数)に搭載されたソフトウェア更新装置100−1〜100−nと、サーバ装置200と、を備える。車両Mの符号の末尾のハイフン以下の数字は、車両を区別するための識別子であるものとする。いずれの車両であるかを区別しない場合、単に車両Mと称する場合がある。また、以下では、車両Mに含まれる構成要素は同様であるものとする。ソフトウェア更新装置100と、サーバ装置200とは、ネットワークNWを介して互いに通信可能である。ネットワークNWは、例えば、セルラー網や、Wi−Fi網、Bluetooth(登録商標)、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、公衆回線、プロバイダ装置、専用回線、無線基地局等を含む。また、これらの構成要素は、それぞれネットワークNWを介さずに、直接、無線通信を行ってもよい。サーバ装置200は、「外部装置」の一例である。
ソフトウェア更新装置100は、車両Mに搭載された機器にインストールされるソフトウェアの更新制御を行う。例えば、ソフトウェア更新装置100は、サーバ装置200から更新用ソフトウェアをダウンロードし、ダウンロードしたソフトウェアに基づいて、車両Mに搭載された機器のうち少なくとも一部の機器を制御するソフトウェアを更新する。
サーバ装置200は、ソフトウェア更新装置100からの問い合わせ情報に基づいて、ソフトウェア更新装置100が管理するソフトウェア情報(バージョン情報等)がサーバ側で管理される最新のソフトウェアでない場合に、ソフトウェア更新装置100に更新用ソフトウェアをダウンロードさせて、ソフトウェアを更新させる。また、サーバ装置200は、ソフトウェアが更新された場合に、対象のソフトウェアがインストールされている車両を抽出し、抽出した車両に搭載されたソフトウェア更新装置100に更新用ソフトウェアの実行を指示してもよい。
[ソフトウェア更新装置]
図2は、実施形態のソフトウェア更新装置100を含む車両システム2の構成図である。車両システム2は、例えば、車載機器10と、操作部90と、表示部92と、イグニッション装置94と、ソフトウェア更新装置100とを備える。車載機器10は、例えば、エンジンECU(Electronic Control Unit)20と、トランスミッションECU30と、ステアリングECU40と、ブレーキECU50と、運転制御ECU60と、バッテリECU70と、ナビゲーションECU80とを備える。また、車載機器10には、例えば、オーディオ装置、キーレスエントリシステム、サスペンションシステム、エアバッグ装置等を制御する各種ECUが含まれてよい。車載機器10に含まれる複数のECUのそれぞれは、「機器制御部」の一例である。エンジンECU20は、「第1機器制御部」の一例である。トランスミッションECU30は、「第2機器制御部」の一例である。運転制御ECU60は、「第3機器制御部」の一例である。
車載機器10に含まれる複数のECUのそれぞれは、例えば、プロセッサ、記憶部、および外部通信インターフェース等が、バス等で接続されている。また、ECUには、ソフトウェアが組み込まれており、ソフトウェアを実行することで、対応する機器の少なくとも一部の制御が実行される。ソフトウェアは、少なくとも一以上のプログラムモジュールを含む。プログラムモジュールとは、例えば、一以上のプログラムを含み、ソフトウェアによって実現できる機能のうち部分的な機能を実行するものである。ソフトウェアは、例えば、更新制御部120の制御によってモジュール単位の更新が可能である。以下では、更新用ソフトウェアをOTA(Over The Air)等の通信により外部装置(例えば、サーバ装置200)から受信して、複数のECUに組み込まれたソフトウェアのうち少なくとも一つを更新する一連の処理を「OTAによる更新処理」と称する。
各ECU内の記憶部(図2の例では、記憶部20A、30A、40A、40A、50A、60A、70A、および80A)は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュメモリ等の不揮発性メモリ(Non Volatile Memory)である。記憶部20A〜80Aには、各ECUに組み込まれたソフトウェアやECUに関する構成情報が記憶される。構成情報には、例えば、機器識別情報(以下、ハードウェア識別情報と称する)、ソフトウェア識別情報等が含まれる。ハードウェア識別情報には、例えば、機器の部品番号(ハードウェア部番)、ユニークID(シリアルナンバー)等が含まれる。ソフトウェア識別情報には、ソフトウェアのモジュールごとの識別情報(ソフトウェア部番)、バージョン情報等が含まれる。ハードウェア部番やソフトウェア部番には、例えば、機能種別、構成種別、部品類別、バリエーション情報、その他の補足情報(例えば、メーカー別番号)等が含まれてもよい。
また、車載機器10の各ECUのそれぞれは、所定のネットワークにより他のECUやソフトウェア更新装置100等と通信を行う。所定のネットワークとは、例えば、CAN(Controller Area Network)や、CAN−FD(CAN with Flexible Data rate)、イーサネット(登録商標)等に準拠したネットワークである。
エンジンECU20は、車両Mが走行するための走行駆動力を駆動輪に出力するエンジン(内燃機関の一例)22を制御する。例えば、エンジンECU20は、運転制御ECU60から入力される情報、或いは操作部90に含まれるアクセルペダルによって入力される情報に従って、エンジン22の回転数等の情報を取得し、取得した情報に基づき、エンジン22が目標エンジントルクを発生するように、スロットルバルブ開度や燃料供給量等を調節してエンジン22の運転状態を制御する。
トランスミッションECU30は、車両Mに搭載されたトランスミッション(変速機)32を制御する。例えば、トランスミッションECU30は、運転制御ECU60から入力される情報、或いは操作部90に含まれるクラッチやシフトレバーの操作によって入力される情報に従って、シフトを切り替えて指示された変速段となるように、トランスミッション32を制御する。
ステアリングECU40は、ステアリング装置42による車両Mの操舵を制御する。ステアリング装置42は、例えば、電動モータを備える。電動モータは、例えば、ラックアンドピニオン機構に力を作用させて転舵輪の向きを変更する。ステアリングECU40は、運転制御ECU60から入力される情報、或いは操作部90に含まれるステアリングホイールから入力される情報に従って、ステアリング装置42の電動モータを駆動し、転舵輪の向きを変更させる。
ブレーキECU50は、ブレーキ装置52による車両Mの制動を制御する。ブレーキ装置52は、例えば、ブレーキキャリパーと、ブレーキキャリパーに油圧を伝達するシリンダと、シリンダに油圧を発生させる電動モータとを備える。ブレーキECU50は、運転制御ECU60から入力される情報、或いは操作部90に含まれるブレーキペダルから入力される情報に従って、電動モータを制御し、制動操作に応じたブレーキトルクが各車輪に出力されるようにする。ブレーキ装置52は、ブレーキペダルの操作によって発生させた油圧を、マスターシリンダを介してシリンダに伝達する機構をバックアップとして備えてよい。なお、ブレーキ装置52は、上記説明した構成に限らず、運転制御ECU60から入力される情報に従ってアクチュエータを制御して、マスターシリンダの油圧をシリンダに伝達する電子制御式油圧ブレーキ装置であってもよい。
運転制御ECU60は、例えば、物体認識装置62による車両Mの周辺の認識結果に基づいて車両Mの運転制御を行う。運転制御とは、例えば、車両Mの操舵または速度のうち一方または双方を制御して車両Mの乗員の運転を支援することである。運転制御には、例えば、ACC(Adaptive Cruise Control System)、LKAS(Lane Keeping Assistance System)、TJP(Traffic Jam Pilot)、ALC(Auto Lane Changing)、CMBS(Collision Mitigation Brake System)、VSA(Vehicle Stability Assist)等が含まれる。各運転制御は、例えば、イベントとして実行され、実行されたイベントや、イベント実行による運転制御の内容は、運転情報として記憶部60Aに記憶される。
物体認識装置62は、車載機器10であるカメラ64と、レーダ装置66と、ファインダ68からの情報を取得して車両Mの周辺の物体認識を行う。カメラ64は、車両Mの周辺を撮像し、撮像画像を生成する。カメラ64は、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の固体撮像素子を利用したデジタルカメラである。カメラ64は、車両システム2が搭載される車両Mの任意の箇所に取り付けられる。車両Mの周辺とは、車両Mの前方を含み、車両Mの側方又は後方を含んでいてもよい。例えば、車両Mの前方を撮像する場合、カメラ64は、フロントウインドシールド上部やルームミラー裏面等に取り付けられる。カメラ64は、ステレオカメラであってもよい。
レーダ装置66は、車両Mの周辺の所定の照射方向に対してミリ波等の電波を放射するとともに、物体によって反射された電波(反射波)を検出して少なくとも物体の位置(距離および方位)を検出する。物体とは、例えば、車両Mの周辺に存在する他車両、障害物、構造物等である。レーダ装置66は、車両Mの任意の箇所に一つまたは複数が取り付けられる。レーダ装置66は、FMCW(Frequency Modulated Continuous Wave)方式によって物体の位置および速度を検出してもよい。
ファインダ68は、車両Mの周辺の所定の照射方向に対して照射された照射光に対する散乱光を測定し、物体までの距離を検出するLIDAR(Light Detection and Ranging、或いはLaser Imaging Detection and Ranging)である。ファインダ68は、車両Mの任意の箇所に一つまたは複数が取り付けられる。
物体認識装置62は、カメラ64、レーダ装置66、およびファインダ68のうち一部または全部による検出結果に対してセンサフュージョン処理を行って、車両Mの周辺に存在する物体の位置、種類、速度等を認識する。また、物体認識装置62は、センサフュージョン処理によって、車両Mの周辺の道路形状、標識、車線等を認識してもよい。物体認識装置62は、認識結果を運転制御ECU60に出力する。
運転制御ECU60は、物体認識装置62からの認識結果等に基づいて、所定の運転制御が実行されるように、エンジンECU20やトランスミッションECU30、ステアリングECU40、ブレーキECU50に制御情報を取得する。所定の運転制御とは、例えば、車両Mの走行状態や乗員による運転状態に基づく運転制御であり、より具体的には、車両Mと物体との接触を回避するような運転制御や、走行車線を逸脱することを抑制する運転制御、前走車両に追従して走行する運転制御等が含まれる。
バッテリECU70は、車両Mに搭載されたバッテリ72のエネルギー量や充放電等のエネルギー制御を行う。バッテリECU70は、例えば、車載機器10や操作部90、表示部92、ソフトウェア更新装置100、およびその他の車両M内の電気機器等にバッテリ72の電力を供給する。また、バッテリECU70は、イグニッション装置94に対する操作内容に基づいて所定の機器にバッテリ72からの電力を供給してもよい。ソフトウェア等の更新処理の実行時に用いられるエネルギーは、主にバッテリ72から更新対象のECUに供給される。
また、バッテリECU70は、例えば、ブレーキ装置52の作動によって発生した回生電流を用いてバッテリ72を充電する制御を行ってもよい。また、バッテリECU70は、例えば、充電コネクタ等を介して外部の充電設備から供給されるエネルギーをバッテリ72に蓄える制御を行ってもよい。また、バッテリECU70は、バッテリ72の端子電圧を測定し、測定した端子電圧の大きさに基づいてエネルギー残量を取得する。また、バッテリECU70は、例えば、電流検出抵抗を使って充電時に蓄えられた電流量を積算しておき、放電時に出力された電流量を求めることでエネルギー残量を取得してもよく、バッテリの放電特性や温度特性等のデータベースを予め記憶部70A等に記憶しておき、計測した電圧値や電流値と、データベースとに基づいてエネルギー残量を取得してもよい。バッテリ管理ECU70は、上述したエネルギー残量に代えて充電率(SOC;State Of Charge)を取得してもよい。
ナビゲーションECU80は、車両Mに搭載されたナビゲーション装置82を制御する。ナビゲーション装置82は、例えば、GNSS(Global Navigation Satellite System)受信機と、ナビHMI(Human Machine Interface)と、経路決定部とを備える。GNSS受信機は、GNSS衛星から受信した信号に基づいて、車両Mの位置を特定する。ナビHMIは、ディスプレイ、スピーカ、タッチパネル、キー等を含む。ナビHMIは、画像や音声等を用いて乗員に目的地等を設定させたり、目的地までの走行経路を乗員に案内する。経路決定部は、例えば、GNSS受信機により特定された車両Mの位置(或いは入力された任意の位置)から、ナビHMIを用いて乗員により入力された目的地までの経路(以下、地図上経路)を、地図情報等を参照して決定する。ナビゲーションECUは、地図上経路に基づいて、ナビHMIや表示部92による地図画像表示やスピーカ(不図示)による音声出力によって、経路案内等を行う。
操作部90は、車両Mの乗員による入力操作を受け付ける。例えば、操作部90は、タッチパネル、スイッチ、キーなどを含む。操作部90のタッチパネルは、表示部92と一体に構成されてよい。また、操作部90には、乗員が車両Mを手動で運転するための運転操作子が含まれてよい。運転操作子には、例えば、アクセルペダル、クラッチ、シフトレバー、ステアリングホイール、ブレーキペダル等が含まれる。
表示部92は、例えば、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)ディスプレイ等の表示装置である。表示部92は、例えば、表示制御部140により生成された画像を表示する。表示部92は、例えば、タッチパネル装置として、乗員からの操作内容を受け付ける機能を備えていてもよい。また、表示部92は、ナビHMIと一体に構成されてもよい。
イグニッション装置94は、車両Mの乗員の操作等によりエンジン22等の起動または停止を行うスイッチ装置である。スイッチのオン・オフによってエンジン22の起動および停止が制御される。具体的には、スイッチがオン状態(以下、イグニッション・オン状態と称する)の場合に、エンジンECU20によりエンジン22が起動状態となり、スイッチがオフ状態(以下、イグニッション・オフ状態と称する)の場合に、エンジンEUC20によりエンジン22が停止状態となる。イグニッション装置94は、エンジン22の起動および停止の他、他の車載機器に対する起動や停止またはバッテリ72による電力の供給の有無を制御するスイッチ(アクセサリースイッチ)を備えていてもよい。
ソフトウェア更新装置100は、例えば、通信部110と、更新制御部120と、エネルギー取得部130と、表示制御部140と、記憶部150とを備える。更新制御部120、エネルギー取得部130、および表示制御部140は、例えば、CPU(Central Processing Unit)等のハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)等のハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めソフトウェア更新装置100のHDD(Hard Disk Drive)やフラッシュメモリ等の記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD−ROM等の着脱可能な記憶媒体に格納されており、記憶媒体(非一過性の記憶媒体)がドライブ装置に装着されることでソフトウェア更新装置100のHDDやフラッシュメモリにインストールされてもよい。
記憶部150は、上記の各種記憶装置、或いはEEPROM、ROM(Read Only Memory)、またはRAM(Random Access Memory)等により実現される。記憶部150には、例えば、機器管理情報152、プロセッサによって読み出されて実行されるプログラム、その他各種情報等が格納される。
図3は、機器管理情報152の内容の一例を示す図である。機器管理情報152は、例えば、車両Mの車載機器10に含まれるECUを識別する識別情報としてのECU−IDに、ソフトウェア識別情報、バージョン情報、実行処理内容、実行条件、および実行履歴が対応付けられた情報である。ソフトウェア識別情報は、ECU−IDに組み込まれるソフトウェアを識別する識別情報である。ソフトウェア識別情報には、例えば、ソフトウェアの種類やバージョン情報、更新日等の情報が含まれる。実行処理内容とは、ECU−IDで識別されるECUが所定の実行条件を満たす場合に実行する処理(以下、スタンバイ処理と称する)の内容である。処理の内容には、例えば、走行結果や運転結果等に基づく学習処理や走行履歴の記録処理、補正処理等が含まれる。実行条件は、実行処理内容に含まれるスタンバイ処理を実行するための各種条件である。実行条件には、例えば、車両Mの状態(例えば、イグニッション・オフ等の車両Mの停車時)や時間帯(例えば、夜間)の情報が含まれる。実行処理内容および実行条件は、例えば、車両Mの製造時や出荷時、メンテナンス時等の所定のタイミングで作業者等により登録または変更されてもよく、サーバ装置200等の外部装置からの制御により登録または変更されてもよい。実行履歴には、例えば、スタンバイ処理の実行履歴が含まれる。実行履歴には、スタンバイ処理が実行済みであるか否かの情報や、実行が抑制されたか否かの情報、実行を抑制した回数、実行を抑制した理由、次の実行に関する情報(例えば、実行条件や実行内容)が含まれてもよい。また、実行履歴には、更新処理の実行に関する履歴情報が含まれてもよい。
通信部110は、所定の通信手段(通信方式)により外部装置と通信を行う。通信部110は、例えば、セルラー網やWi−Fi網、Bluetooth(登録商標)、DSRC(Dedicated Short Range Communication)等を利用して、サーバ装置200等の外部装置と通信する。通信部110は、例えば、TCU(Telematics control unit)であってもよい。通信部110は、例えば、OTA等の無線通信によりサーバ装置200と通信を行い、対象機器のECUに組み込まれているソフトウェアの更新を行う(OTAによる更新を実行する)ための更新用ソフトウェアを受信する。
更新制御部120は、車載機器10に含まれるECUに対するソフトウェアの更新を制御する。例えば、更新制御部120は、記憶部150に記憶された機器管理情報152を参照し、ECUごとのソフトウェア識別情報を取得する。また、更新制御部120は、取得したソフトウェア識別情報を用いてソフトウェアの更新の有無を問い合わせる問い合わせ情報を生成し、生成した取り合わせ情報を、通信部110を介してサーバ装置200に送信する。また、更新制御部120は、通信部110により受信されたサーバ装置200からの問い合わせ結果に基づいて、対象のECUに組み込まれたソフトウェアの更新を行う。また、更新制御部120は、更新処理の結果に基づいて、機器管理情報152を更新する。
また、更新制御部120は、車載機器10に含まれるエンジンECU20、トランスミッションECU30、ステアリングECU40、ブレーキECU50、運転制御ECU60、バッテリECU70、およびナビゲーションECU80の各記憶部から各機器の制御情報等を取得し、取得した状態に基づいて、ソフトウェアの更新を制御してもよい。
また、更新制御部120は、ソフトウェアを更新するタイミングで、更新対象ECUが予め決められた実行条件を満たす場合に実行される更新処理以外の処理(スタンバイ処理)が実行されようとしている場合には、スタンバイ処理の実行タイミングや更新処理の実行タイミングを制御してもよい。また、更新制御部120は、エネルギー取得部130により取得されるバッテリ72のエネルギー量に基づいて、スタンバイ処理を実行するか否かの制御を行ってもよい。更新制御部120の機能の詳細については、後述する。
エネルギー取得部130は、所定のタイミングで、バッテリECU70からバッテリ72のエネルギー量を取得する。所定のタイミングとは、例えば、所定周期でもよく、ソフトウェアの更新処理またはスタンバイ処理が実行されるタイミングでもよい。
表示制御部140は、表示部92に表示させる画像等を生成し、生成した画像を表示部92に表示させる。例えば、表示制御部140は、更新制御部120によりソフトウェアの更新に関する情報(例えば、更新結果や更新時の異常情報等)を取得した場合に、取得した情報を車両Mの乗員に通知するための画像を生成して、所定のタイミングで表示部92に表示させる。所定のタイミングとは、例えば、イグニッション・オン状態となったタイミングや、ソフトウェアの更新が正常に終了したタイミング、更新に異常が発生したタイミングである。また、表示制御部140は、乗員からの更新指示を受け付けるための画像を生成してもよい。また、表示制御部140は、更新情報が、OTAによる更新が可能な更新である場合には、更新を行うか否かを確認するための画像を生成してもよい。
[更新制御部]
次に、更新制御部120の処理の詳細について説明する。以下では、更新制御部120で実行させる更新制御の各態様を幾つかのパターンに分けて説明するものとする。
<第1の更新制御パターン>
第1の更新制御パターンにおいて、更新制御部120は、車両Mの停止に伴って、複数のECUのうち少なくとも一つのECUに対するソフトウェアの更新を行う場合に、ソフトウェアの更新を行わないECU(更新対象外ECU)における通信、または、ソフトウェアの更新を行うECU(更新対象ECU)が制御する機器が車両Mの停止に伴って実行する予定であったスタンバイ処理のうち、一方または双方を抑制する。
図4は、第1の更新制御パターンにおいて、更新制御部120が実行する処理の一例を示すフローチャートである。第1の更新制御パターンにおいて、更新制御部120は、車両Mが停止しかたか否かを判定する(ステップS100)。具体的には、更新制御部120は、エンジンECU20から取得したエンジン22の制御が起動状態から停止状態となった場合、またはイグニッション装置94がイグニッション・オン状態からオフ状態となった場合に車両Mが停止した判定する。また、ステップS100の処理において、更新制御部120は、予め所定の時刻にソフトウェアの更新の有無等を問い合わせるように設定されている場合には、所定の時刻に車両が停止中であるか否かを判定してもよい。
車両Mが停止したと判定された場合、更新制御部120は、機器管理情報152を参照し、車載機器10の各ECUに対応付けられたECU−IDおよびソフトウェア識別情報を含む問い合わせ情報を生成する(ステップS102)。なお、更新制御部120は、車両Mが停止したと判定された場合に、ステップS102の処理を実行する前に、各ECUの起動を継続する継続制御信号を各ECUに送信してもよい。次に、更新制御部120は、生成した問い合わせ情報を通信部110によりサーバ装置200に送信させて、ソフトウェアの更新の有無等の問い合わせを行う(ステップS104)。
ここで、サーバ装置200は、ソフトウェア更新装置100からの問い合わせ情報を受信し、受信した情報に含まれるECU−IDのソフト識別情報(例えば、バージョン情報)と、サーバ装置200の記憶部に記憶されたECU−IDに対応付けられた最新のソフトウェア識別情報(バージョン情報)とを照合する。そして、サーバ装置200は、問い合わせ情報に含まれるソフト識別情報と、サーバ装置200で管理される最新のソフトウェア識別情報とが合致する場合に、そのECU−IDに対応付けられた車載機器10のECUは、最新のソフトウェアがインストールされているものと判断し、ソフトウェアの更新をしない(更新無し)と判定する。また、サーバ装置200は、問い合わせ情報に含まれるソフト識別情報と、サーバ装置200で管理される最新のソフトウェア識別情報とが合致しない場合に、そのECU−IDに対応付けられたECUのソフトウェアの更新を行う(更新有り)と判定する。そして、サーバ装置200は、問い合わせ情報に含まれる全てのECU−IDに対する更新の有無を判定し、その結果を問い合わせ結果として問い合わせのあった車両Mのソフトウェア更新装置100に送信する。なお、問い合わせ結果には、更新するソフトウェア(プログラム)のデータが含まれていてもよい。
ソフトウェア更新装置100の通信部110は、サーバ装置200からの問い合わせ結果を受信する(ステップS106)。次に、更新制御部120は、問い合わせ結果に基づいて、更新対象のECUが存在するか否かを判定する(ステップS108)。更新対象ECUが存在すると判定された場合、更新制御部120は、更新対象外のECUに通信を抑制する制御信号を送信する(ステップS110)。通信を抑制するとは、更新対象外のECUにおける通信を停止させることである。また、通信を抑制するとは、上記の内容に代えて、所定時間において通信可能なデータ量を通常時(ソフトウェア更新を行わない状態での通信時)よりも少なくすることであってもよい。
次に、更新制御部120は、更新対象のECUのECU−IDに基づいて、機器管理情報152の実行処理内容および実行条件を参照し(ステップS112)、ソフトウェアを更新するタイミングと同じタイミングで実行される処理(スタンバイ処理)が存在するか否かを判定する(ステップS114)。同じタイミングとは、同時に実行されるだけでなく、更新を開始してから終了するまでの間に処理が実行されるタイミングや、更新を開始する時刻よりも所定時間前に実行される処理が含まれる。
同じタイミングで実行されるスタンバ処理が存在する場合、更新制御部120は、更新対象ECUに対するスタンバイ処理の実行を抑制させてソフトウェアの更新を実行させる(ステップS116)。処理の実行を抑制するとは、処理を実行しない(停止する)ことや、処理を延期すること、処理途中で一時停止することである。また、処理の実行を抑制するとは、上記の内容に代えて、所定時間における処理量を通常時(更新を行わない状態での処理の実行時)よりも少なくすることであってもよい。
また、ステップS114の処理において、同じタイミングで実行される処理が存在しない場合には、更新対象ECUにソフトウェアの更新を実行させる(ステップS118)。ステップS116およびステップS118の処理後、更新制御部120は、機器管理情報152を更新する(ステップS120)。具体的には、更新制御部120は、更新が正常に終了した場合には、ソフトウェア識別情報を更新すると共に、実行履歴を更新する。また、更新制御部120は、スタンバイ処理に関する制御内容を実行履歴に登録する。例えば、スタンバイ処理を抑制した場合、更新制御部120は、スタンバイ処理の緊急度や優先度等に基づいて、抑制後の処理内容を決定し、決定した処理内容を実行履歴に登録する。例えば、更新制御部120は、スタインバイ処理の優先度が基準よりも低い場合、次回のスタンバイ処理の実行時に纏めて処理を実行することを示す情報を実行履歴に登録する。また、スタインバイ処理の優先度が基準よりも高い場合、更新制御部120は、更新処理の終了後にスタンバイ処理を実行させることを示す情報を実行履歴に登録する。これにより、本フローチャートの処理は、終了する。また、ステップS100の処理において、車両Mが停止していないと判定された場合、またはステップS108の処理において、問い合わせ結果に更新対象ECUが存在しないと判定された場合、本フローチャートの処理は、終了する。
また、上述した図4の例では、更新対象外ECUにおける通信、および更新対象ECUが制御する機器が車両Mの停止に伴って実行する予定であった処理の両方を抑制したが、何れか一方のみを抑制する制御を行ってもよい。また、図4の処理において、更新制御部120は、ステップS102〜ステップS106の処理を、ステップS100の処理の前の所定のタイミング(例えば、所定周期)で行ってもよい。
以上説明した第1の更新制御パターンによれば、ソフトウェアの更新時に更新対象外ECUの通信や更新対象ECUの更新処理以外に実行される処理(スタンバイ処理)を抑制することで、通信負荷や更新処理以外の処理の実行による処理負荷等を抑制することができる。これにより、更新時の外乱要因を抑制することができると共に、迅速に更新処理を実行することができる。また、通信や処理が抑制されることで、更新処理におけるバッテリ72の電力を確保することができる。したがって、第1の更新制御パターンによれば、より適切にソフトウェア更新処理を実行することができる。
<第2の更新制御パターン>
第2の更新制御パターンにおいて、更新制御部120は、更新対象外ECUにおける通信、または、更新対象ECUのスタンバイ処理のうち、少なくともスタンバイ処理の抑制を行ってソフトウェア更新を行い、ソフトウェアの更新が正常に完了できない状態が所定回数以上継続した場合に、ソフトウェアを更新させる前にスタンバイ処理を実行させる。
図5は、第2の更新制御パターンにおいて、更新制御部120が実行する処理の一例を示すフローチャートである。図5に示す処理は、図5に示す第1の更新制御パターンにおけるステップS100〜S120の処理と比較して、更にステップS130〜S136の処理が追加されている点で相違する。したがって、主に以下では、ステップS130〜S136の処理を中心として説明するものとし、それ以外の処理の説明は省略する。
第2の更新制御パターンにおいて、更新制御部120は、ステップS116の処理後、ソフトウェアの更新が正常に終了したか否かを判定する(ステップS130)。正常に終了したと判定された場合、ステップS120の処理を行う。また、正常に終了していない(例えば、更新時にエラー等の異常が発生した)と判定された場合、更新制御部120は、更新処理が正常に終了できなかった回数(以下、異常終了回数と称する)が所定回数以上であるか否かを判定する(ステップS132)。異常終了回数は、図5に示すフローチャートが開始されるごと(より具体的には、更新処理が実行されるECUごと)に初期化されるものである。
異常終了回数が所定回数以上ではないと判定された場合、更新制御部120は、異常終了回数を1増加させて、ステップS116の処理に戻る。異常終了回数が、所定回数以上であると判定された場合、更新制御部120は、ステップステップS116の処理において、抑制していたスタンバイ処理をソフトウェアの更新前に実行させ(ステップS134)、その後、ソフトウェアの更新を実行させる(ステップS136)。また、更新制御部120は、ステップS136の処理後、ステップS120の処理を行う。なお、ステップS136の処理において、ソフトウェアの更新が正常に終了しない場合には、更新制御部120は、表示制御部140によりエラーメッセージ等を含む画像を生成させて、表示部92に表示させてもよい。
以上説明した第2の更新制御パターンによれば、第1の更新制御パターンと同様の効果を奏する他、何らかの理由で更新が完了できない状態が所定回数以上継続した場合に、抑制していた処理を更新前に実行させることで、スタンバイ処理の影響による更新処理の不具合を改善することができる。また、スタンバイ処理を実行させることで、更新処理が正常に終了できる可能性を高めることができる。
[ECUにおけるソフトウェアの更新の具体例]
ここで、ECUにおけるソフトウェアの更新の具体例について説明する。図6は、ECUにおけるソフトウェア更新の第1実施例について説明するための図である。図6の例において、横軸は時刻Tを示し、時刻T1〜T4は、「T1<T2<T3<T4」の関係が成立しているものとする。また、図6の例では、車載機器10に含まれるECUの一例として、エンジンECU20におけるソフトウェア更新の様子を示しているが他のECUも同様の処理を行う。また、図6の例において、時刻T1からT2までの第1期間および時刻T3からT4までの第3期間は、イグニッション・オン状態であるものとし、時刻T2からT3までの第2期間は、イグニッション・オフ状態(ダウンタイム)であるものとする。
図6の例における第1期間では、記憶部20Aに更新前ソフトウェアが格納されており、エンジンECU20は、更新前ソフトウェアを用いてエンジン制御を実行する。また、エンジンECU20は、第2期間において、ソフトウェアの更新処理として記憶部20Aに格納された更新前ソフトウェアを削除し、削除した記憶領域に更新後ソフトウェアを格納して更新処理を行う。なお、第2期間に実行予定のスタンバイ処理が存在する場合、エンジンECU20は、更新制御部120の制御に基づく、スタンバイ処理を抑制して更新処理を実行する。
また、エンジンECU20は、第2期間内に更新後ソフトウェアのアクティベート処理を行ってもよい。アクティベート処理とは、例えば、更新後ソフトウェアの使用に対して正規のライセンスを持っていること等を確認するための認証処理である。認証が成功すると、エンジンECU20は、第3期間において、更新後ソフトウェアを用いたエンジン制御を実行する。
図7は、ECUにおけるソフトウェア更新の第2実施例について説明するための図である。第2実施例では、第1実施例と比較して、記憶部20Aに更新前のソフトウェアを格納する第1記憶領域A1と、更新後のソフトウェアを格納する第2記憶領域A2とを備えている点で異なる。この場合、エンジンECU20は、第1期間において、第1記憶領域A1に記憶された更新前ソフトウェアを用いてエンジン制御を実行する。また、エンジンECU20は、第1期間において、ソフトウェアの更新を行う場合に、第2記憶領域A2に更新後ソフトウェアを格納する更新処理を行う。なお、第1期間に実行予定のスタンバイ処理が存在する場合、エンジンECU20は、更新制御部120の制御に基づき、スタンバイ処理を抑制して更新処理を実行する。
また、エンジンECU20は、第2期間において、更新後ソフトウェアのアクティベート処理を行い、第3期間において、更新後ソフトウェアを用いたエンジン制御を実行する。第1実施例は、第2実施例よりもコストを削減することができる。また、第2実施例は、第1実施例よりもイグニッション・オフ状態の期間(ダウンタイム時間)が短いため、回生電流等によりバッテリ72内のエネルギー量を確保し易い。また、第2実施例は、更新処理に異常が発生した場合の復帰(リカバリ)がし易い。なお、エンジンECU20は、他の手法でソフトウェアの更新を行ってもよい。
[更新対象ECUの種類に応じた更新制御の具体例]
次に、更新対象ECUの種類に応じた更新制御部120における更新制御の具体例について説明する。
[更新対象ECUがエンジンECU20またはトランスミッションECU30である場合]
例えば、更新対象ECUが、エンジンECU20またはトランスミッションECU30である場合、更新制御部120は、スタンバイ処理の一例であるエンジンECU20およびトランスミッションECU30の制御によるクラッチの零点(0点)学習処理を停止させる。クラッチは、車両Mの走行時には、エンジン22の回転を駆動輪等に伝達させ、車両Mの発進時や変速時、シフトレバー操作時にはエンジン22の回転を駆動輪等に伝達させないように回転の伝達のオン・オフを行う装置である。クラッチは、使用による摩耗等により、回転の伝達のオン・オフの切り換わり基準点(零点)が異なる。そのため、エンジンECU20は、トランスミッションECU30と連動して零点学習として、それまでの走行時におけるお互いのクラッチ制御に関する履歴情報を送受信して、その履歴情報から零点のより正確な位置を学習し、学習結果に基づいて零点を適切な位置に補正する。
更新制御部120は、エンジンECU20またはトランスミッションECU30のソフトウェア更新を実行させる場合に、上述した零点学習を停止させることで、更新処理にとってノイズとなる零点学習における履歴情報の送受信が行われなくなる。そのため、通信網(例えば、CAN通信)における通信負荷(通信の占有等)を削減することができる。また、更新制御部120は、ソフトウェア更新時にエンジンECU20またはトランスミッションECU30以外のECUにおける通信を抑制させることで、通信負荷をより削減することができる。
更に、エンジンECU20およびトランスミッションECU30は、零点学習処理が実行されないため、ソフトウェア更新処理を迅速に行うことができると共に、バッテリ72からの電力を確保することができる。なお、1回の走行におけるクラッチの摩耗は大きくないため、零点学習処理の優先度は低い。したがって、更新制御部120は、零点学習処理が抑制された場合には、次回の学習時に纏めて実行させるように制御を行う。
また、エンジンECU20は、ソフトウェアの更新を行う場合に、他のスタンバイ処理も抑制してもよい。他のスタンバイ処理とは、例えば、アクセルペダルの操作に基づくDBW(Drive By Wire)の学習処理である。DBWの学習処理とは、例えば、エンジン22のスロットル制御(電子制御スロットル)において、車両Mのアイドリング時等にスロットルバルブの開度を微小開度に制御する必要があるため、開度の適正値を開度履歴やイグニッション・オフ状態での強制実行によって学習する処理である。
[更新対象ECUが運転制御ECU60である場合]
次に、更新対象ECUが運転制御ECU60である場合について説明する。運転制御ECU60は、スタンバイ処理として、運転制御時における制御データを記憶部150に書き込む処理(運転情報記憶処理)を行う。例えば、運転制御ECU60は、物体認識装置62から得られる情報や車両Mへの運転制御の状態等に関する情報(例えば、運転制御の各イベント情報)を運転情報として記憶部60Aに書き込んでおき、実行条件を満たす場合に、運転情報を運転制御ECU60の記憶部60Aからソフトウェア更新装置100の記憶部150に記憶させる運転情報記憶処理を実行する。
更新制御部120は、運転制御ECU60のソフトウェア更新を実行させる場合に、上述した走行履歴記録処理を一時的に延期させ、ソフトウェアの更新の完了後に再開させる。これにより、大容量の走行履歴情報の通信によって、通信負荷(通信の占有等)が発生することを抑制することができる。また、更新制御部120は、ソフトウェア更新時に運転制御ECU60以外のECUにおける通信を抑制させることで、通信負荷をより削減することができる。更に、運転制御ECU60は、運転情報記憶処理を実行しないため、ソフトウェア更新処理をより迅速に行うことができる。
なお、更新制御部120は、ソフトウェアの更新後に、運転情報記憶処理を実行させる場合に、エネルギー取得部130により取得されたバッテリ72のエネルギー量を取得し、取得したエネルギー量が所定量以上である場合に運転情報記憶処理の実行を行う。また、更新制御部120は、バッテリ72のエネルギー量が所定量未満である場合に次回に纏めて処理を行うように機器管理情報152の実行履歴に登録する。このように、エネルギー残量によって、延期したスタンバイ処理を実行するか否か判定することで、更新処理等を行ったことによる電力不足によって、スタンバイ処理が処理の途中で終了してしまうことを抑制することができる。
また、運転制御ECU60が実行するスタンバイ処理に、車両Mの走行履歴を学習し、学習結果に基づいて運転制御の内容を調整する走行エイミング学習処理が含まれる場合、更新制御部120は、ソフトウェアの更新時の走行エイミング学習処理を抑制する。また、更新制御部120は、運転制御ECU60で実行される更新だけでなく、運転制御ECU60が制御する機器(例えば、物体認識装置62)で実行される処理を抑制してもよい。例えば、物体認識装置62は、車両周辺の物体の認識精度を高めるため、カメラ64やレーダ装置66、ファインダ68から得られる情報を用いた物体の認識学習処理等を行う。この場合、運転制御ECU60は、スタンバイ処理を抑制する制御情報を更新制御部120から取得した場合に、物体認識装置62に対して認識学習処理を抑制するように制御する。このように、運転制御ECU60が制御する機器の動作を抑制することで、運転制御ECU60の処理負荷をさらに削減することができ、より適切にソフトウェアの更新処理を行わせることができる。なお、更新制御部120は、走行エイミング学習処理や認識学習処理を延期させている場合には、更新処理が正常に完了した後に、上記処理を実行させる。
[変形例]
上述した実施形態では、外部装置の一例としてサーバ装置200を用いたが、これに代えて(または加えて)、ディーラーの作業者(メンテナンス作業者)等が利用する端末装置を用いてもよい。通信部110は、例えば、USB(Universal Serial Bus)ケーブル等を用いた有線接続により端末装置と通信することで、特定の端末装置からリプログラミングによる更新を行うための更新用ソフトウェアを受信する。なお、通信部110は、特定の端末または作業者との通信しか行わないように端末装置や作業者の識別情報等による認証を行ってもよい。ソフトウェア更新装置100は、上述した端末装置に代えて、USBメモリ等の機器と直接接続し、メモリ内に記憶された更新用ソフトウェア等のデータを取得してもよい。
また、更新制御部120は、エネルギー取得部130により取得したエネルギー量が所定量未満である場合に、抑制した(例えば、延期した)スタンバイ処理の実行を中止することに加えて、ソフトウェアの更新処理の実行を中止してもよい。これにより、ソフトウェアの更新処理の途中で電力不足により処理が終了することを抑制することができる。この場合、更新制御部120は、表示制御部140に電力不足により更新処理が実行できなかったことを示す情報や、更新タイミングを調整させるための情報を含む画像を生成させ、イグニッション・オン状態となった場合に、表示部92に表示させる。
また、更新制御部120は、スタンバイ処理の種類によって、ソフトウェアの更新時であっても抑制を行わないようにしてもよい。例えば、更新制御部120は、車両Mに搭載されるGセンサの零点補正等のように、運転制御のVSAの中で完結でき、処理量も少なく、更新処理における外乱要因とならないスタンバイ処理については、運転制御ECUのソフトウェアの更新であっても処理を実行させる。これにより、ソフトウェアの更新処理とスタンバイ処理とを効率的に実行することができる。
また、本実施形態では、ソフトウェア更新装置100からサーバ装置200にソフトウェア更新の問い合わせを行ったが、これに代えて、問い合わせを行わずにサーバ装置200等の外部装置から更新ソフトウェアに関する情報(例えば、更新指示)を取得した場合に、上述した更新制御処理を実行してもよい。この場合、更新制御部120は、サーバ装置200の更新指示に基づいて、更新対象ECUの更新用ソフトウェアをダウンロードし、上述したようにスタンバイ処理の実行を抑制してソフトウェアの更新処理を実行する。
以上、説明したように実施形態によれば、ソフトウェア更新装置100は、サーバ装置(外部装置の一例)200と通信する通信部110と、通信部110によるサーバ装置200との通信により、車両Mに搭載された機器を制御する複数の機器制御部(ECU)に組み込まれたソフトウェアを更新する更新制御部120と、を備え、更新制御部120は、車両Mの停止に伴って、複数の機器制御部のうち少なくとも一つの機器制御部に対するソフトウェアの更新を行う場合に、ソフトウェアの更新を行わない機器制御部における通信、または、ソフトウェアの更新を行う機器制御部が車両Mの停止に伴って実行する処理のうち、一方または双方を抑制することにより、より適切にソフトウェア更新処理を実行することができる。
また、本実施形態によれば、例えば、所定のECUのスタンバイ処理の実行を抑制することで、ソフトウェア更新処理における電力を確保することができ、他のECUにおける通信を抑制することで、通信路の付加を軽減することができる。これにより、従来では、イグニッション・オフ状態になった後に、ソフトウェアのインストールやアクティベート処理を行う場合に、更新対象ECUの準備を待ってから実行していたのに対して、正確かつ早期にOTAを実行することができる。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
1…ソフトウェア更新システム、2…車両システム、10…車載機器、20…エンジンECU、30…トランスミッションECU、40…ステアリングECU、50…ブレーキECU、60…運転制御ECU、70…バッテリECU、80…ナビゲーションECU、90…操作部、92…表示部、94…イグニッション装置94、100…ソフトウェア更新装置、110…通信部、120…更新制御部、130…エネルギー取得部、140…表示制御部、150、20A〜80A…記憶部、200…サーバ装置、M…車両

Claims (8)

  1. 外部装置と通信する通信部と、
    前記通信部による前記外部装置との通信により、車両に搭載された機器を制御する複数の機器制御部に組み込まれたソフトウェアのうち少なくとも一つを更新する更新制御部と、を備え、
    前記更新制御部は、前記車両の停止に伴って、前記複数の機器制御部のうち少なくとも一つの機器制御部に対する前記ソフトウェアの更新を行う場合に、前記ソフトウェアの更新を行わない機器制御部における通信、または、前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って実行する処理のうち、一方または双方を抑制することを特徴とするソフトウェア更新装置。
  2. 前記複数の機器制御部は、前記車両が走行するための走行駆動力を駆動輪に出力する内燃機関を制御する第1機器制御部と、前記車両に搭載された変速機を制御する第2機器制御部とを含み、
    前記更新制御部は、前記第1機器制御部または第2機器制御部のうち一方または双方に対する前記ソフトウェアの更新がある場合に、前記第1機器制御部および前記第2機器制御部において前記車両の停止に伴って実行する処理を停止させることを特徴とする請求項1に記載のソフトウェア更新装置。
  3. 前記車両の運転情報を記憶する記憶部を更に備え、
    前記更新制御部は、前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って、前記運転情報を前記記憶部に記憶させる処理を実行する場合に、前記処理を延期し、前記ソフトウェアの更新後に前記処理を実行させることを特徴とする請求項1または2に記載のソフトウェア更新装置。
  4. 前記更新制御部は、前記ソフトウェアの更新が正常に終了できない状態が所定回数以上継続した場合に、前記ソフトウェアを更新させる前に前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って実行する処理を実行させることを特徴とする請求項1から3のうち何れか1項に記載のソフトウェア更新装置。
  5. 前記車両に搭載されたバッテリのエネルギー量を取得するエネルギー取得部を更に備え、
    前記更新制御部は、前記エネルギー取得部により取得された前記エネルギー量に基づいて、前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って実行する処理の実行を制御することを特徴とする請求項1から4のうち何れか1項に記載のソフトウェア更新装置。
  6. 前記複数の機器制御部は、前記車両の操舵または速度のうち一方または双方を制御して運転制御を行う第3機器制御部を含み、
    前記更新制御部は、前記第3機器制御部に対する前記ソフトウェアの更新がある場合に、前記第3機器制御部によって制御される機器における処理を抑制することを特徴とする請求項1から5のうち何れか1項に記載のソフトウェア更新装置。
  7. 車両に搭載されるソフトウェア更新装置が、
    外部装置と通信し、
    前記外部装置との通信により、車両に搭載された機器を制御する複数の機器制御部に組み込まれたソフトウェアのうち少なくとも一つを更新し、
    前記車両の停止に伴って、前記複数の機器制御部のうち少なくとも一つの機器制御部に対する前記ソフトウェアの更新を行う場合に、前記ソフトウェアの更新を行わない機器制御部における通信、または、前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って実行する処理のうち、一方または双方を抑制することを特徴とするソフトウェア更新方法。
  8. 車両に搭載されるソフトウェア更新装置に、
    外部装置と通信させ、
    前記外部装置との通信により、車両に搭載された機器を制御する複数の機器制御部に組み込まれたソフトウェアのうち少なくとも一つを更新させ、
    前記車両の停止に伴って、前記複数の機器制御部のうち少なくとも一つの機器制御部に対する前記ソフトウェアの更新を行う場合に、前記ソフトウェアの更新を行わない機器制御部における通信、または、前記ソフトウェアの更新を行う機器制御部が前記車両の停止に伴って実行する処理のうち、一方または双方を抑制させることを特徴とするプログラム。
JP2019161912A 2019-09-05 2019-09-05 ソフトウェア更新装置、ソフトウェア更新方法、およびプログラム Active JP7058629B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019161912A JP7058629B2 (ja) 2019-09-05 2019-09-05 ソフトウェア更新装置、ソフトウェア更新方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019161912A JP7058629B2 (ja) 2019-09-05 2019-09-05 ソフトウェア更新装置、ソフトウェア更新方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2021039651A true JP2021039651A (ja) 2021-03-11
JP7058629B2 JP7058629B2 (ja) 2022-04-22

Family

ID=74847186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019161912A Active JP7058629B2 (ja) 2019-09-05 2019-09-05 ソフトウェア更新装置、ソフトウェア更新方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP7058629B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114879991A (zh) * 2022-04-25 2022-08-09 杭州振华仪表有限公司 一种软件升级方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014106875A (ja) * 2012-11-29 2014-06-09 Denso Corp 車載プログラム更新装置
JP2016170740A (ja) * 2015-03-16 2016-09-23 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
JP6548058B1 (ja) * 2018-09-28 2019-07-24 パナソニックIpマネジメント株式会社 情報処理装置、プログラム、および情報処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014106875A (ja) * 2012-11-29 2014-06-09 Denso Corp 車載プログラム更新装置
JP2016170740A (ja) * 2015-03-16 2016-09-23 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
JP6548058B1 (ja) * 2018-09-28 2019-07-24 パナソニックIpマネジメント株式会社 情報処理装置、プログラム、および情報処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114879991A (zh) * 2022-04-25 2022-08-09 杭州振华仪表有限公司 一种软件升级方法、系统及存储介质
CN114879991B (zh) * 2022-04-25 2023-05-02 杭州振华仪表有限公司 一种软件升级方法、系统及存储介质

Also Published As

Publication number Publication date
JP7058629B2 (ja) 2022-04-22

Similar Documents

Publication Publication Date Title
US10332322B2 (en) Systems and methods for vehicle-to-vehicle communication
US10479297B2 (en) Control apparatus, program updating method, and computer program
CN111284428A (zh) 可升级车辆
JP6383566B2 (ja) 疲労度推定装置
CN111731287B (zh) 变更操作辅助装置
US20190367003A1 (en) Control device for vehicle
US11993292B2 (en) Automatic driving control apparatus for vehicle based on driving skill of driver
JP2018083516A (ja) 車両制御システム、車両制御方法、および車両制御プログラム
CN110320904A (zh) 控制装置、非暂时性记录介质、以及控制方法
US20220012039A1 (en) Software update apparatus, software update method, non-transitory storage medium storing program, vehicle, and ota master
WO2020031806A1 (ja) データ構造、記憶媒体、記憶装置及び受信装置
JP7058629B2 (ja) ソフトウェア更新装置、ソフトウェア更新方法、およびプログラム
JP7198391B2 (ja) 車両制御装置、車両制御システム、車両制御方法、およびプログラム
JP7223914B2 (ja) 車両制御装置、および車両システム
CN112009459B (zh) 车辆控制系统和车辆控制接口
CN115027440A (zh) 车辆的控制装置、控制方法以及程序
US11815983B2 (en) Communication ECU
US11029164B2 (en) Dynamic determination of route conclusion before reaching destination
CN113386758A (zh) 车辆及其控制装置
JP6950223B2 (ja) 制御装置
CN113815612A (zh) 用于预测车辆起动的系统和方法
US20240025434A1 (en) Vehicle information processing device, vehicle information processing system, and vehicle information processing method
JP6942774B2 (ja) 車両制御システム
KR20180043094A (ko) 차량 및 그 제어방법
CN210062962U (zh) 车辆的控制装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220412

R150 Certificate of patent or registration of utility model

Ref document number: 7058629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150