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

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

▶ 三菱電機株式会社の特許一覧

特許7486698車両ソフトウェア管理装置および車両ソフトウェア管理システム
<>
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図1
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図2
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図3
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図4
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図5
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図6
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図7
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図8
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図9
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図10
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図11
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図12
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図13
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図14
  • 特許-車両ソフトウェア管理装置および車両ソフトウェア管理システム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-09
(45)【発行日】2024-05-17
(54)【発明の名称】車両ソフトウェア管理装置および車両ソフトウェア管理システム
(51)【国際特許分類】
   G06F 11/07 20060101AFI20240510BHJP
   G06F 8/65 20180101ALI20240510BHJP
   B60R 16/02 20060101ALI20240510BHJP
【FI】
G06F11/07 193
G06F11/07 140R
G06F8/65
B60R16/02 660U
【請求項の数】 7
(21)【出願番号】P 2024515205
(86)(22)【出願日】2022-04-12
(86)【国際出願番号】 JP2022017549
(87)【国際公開番号】W WO2023199395
(87)【国際公開日】2023-10-19
【審査請求日】2024-03-12
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110002941
【氏名又は名称】弁理士法人ぱるも特許事務所
(72)【発明者】
【氏名】河野 卓矢
(72)【発明者】
【氏名】眞田 晃宏
(72)【発明者】
【氏名】山田 望未
【審査官】大倉 崚吾
(56)【参考文献】
【文献】特開2017-059210(JP,A)
【文献】特開2021-026252(JP,A)
【文献】特開2009-043081(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 8/60-8/658
B60R 16/02
(57)【特許請求の範囲】
【請求項1】
車両に設けられた複数の制御装置の動作が正常か異常かを示す制御装置状態情報と、前記制御装置が実行するソフトウェアの機能とバージョンを示す機能バージョン情報と、前記ソフトウェアを用いて実施されるサービスと前記ソフトウェアの関係を示すソフトウェアサービス情報と、を取得する情報取得部、
動作が異常な前記制御装置のために実施不可能となった前記サービスである停止サービスを検出する停止サービス検出部、
前記情報取得部によって取得された前記制御装置状態情報と、前記停止サービス検出部からの停止サービス情報を車外サーバへ伝達する通信部、および、
前記ソフトウェアの更新を前記制御装置に指示するソフトウェア更新部、を備え、
前記通信部は、前記停止サービス検出部によって前記停止サービスが検出された場合に、前記停止サービスを正常な制御装置によって実施するバージョンの前記ソフトウェアを前記車外サーバから受信し
前記ソフトウェア更新部は、車外サーバから受信した前記ソフトウェアへの更新を前記制御装置へ指示する車両ソフトウェア管理装置。
【請求項2】
前記通信部は、前記制御装置の動作が正常な場合に前記車外サーバに最新バージョンのソフトウェアを要求して受信し、
前記ソフトウェア更新部は、前記通信部によって受信された前記ソフトウェアへの更新を前記制御装置へ指示する請求項1に記載の車両ソフトウェア管理装置。
【請求項3】
前記通信部は、動作が異常となった前記制御装置がある場合に、前記異常となった制御装置が実行するソフトウェア数が最小となるバージョンの前記ソフトウェアを前記車外サーバから受信し、
前記ソフトウェア更新部は、前記車外サーバから受信した前記ソフトウェアへの更新を前記制御装置へ指示する請求項1または2に記載の車両ソフトウェア管理装置。
【請求項4】
前記通信部は、前記停止サービス検出部によって前記停止サービスが検出された場合に、前記停止サービスを正常な前記制御装置によって実施するバージョンの前記ソフトウェアが存在する場合は前記ソフトウェアを前記車外サーバから受信し、前記停止サービスを正常な前記制御装置によって実施するバージョンの前記ソフトウェアが存在しない場合は異常となった前記制御装置が実行するソフトウェア数が最小となるバージョンの前記ソフトウェアを前記車外サーバから受信し、
前記ソフトウェア更新部は、前記車外サーバから受信した前記ソフトウェアへの更新を前記制御装置へ指示する請求項1または2に記載の車両ソフトウェア管理装置。
【請求項5】
前記車両に設けられた制御装置が実行する複数の機能とバージョンの前記ソフトウェアと、前記ソフトウェアを用いて実施される前記サービスと前記ソフトウェアとの関係を示すソフトウェアサービス情報とを記憶する記憶部、
前記車両ソフトウェア管理装置からの要求に応じて前記ソフトウェアを送信するとともに、前記制御装置状態情報と前記停止サービス情報を前記車両ソフトウェア管理装置から受信する車外サーバ通信部、
前記車外サーバ通信部によって受信された前記停止サービス情報が停止サービスの存在を示す場合に、前記停止サービスを正常な前記制御装置によって実施する前記ソフトウェアのバージョンを前記記憶部の前記ソフトウェアサービス情報から検索するソフトウェア検索部、および、
前記ソフトウェア検索部によって検索されたバージョンの前記ソフトウェアを前記記憶部から読み出し前記車外サーバ通信部から前記車両ソフトウェア管理装置へ送信させる対策ソフトウェア伝達部、を有した前記車外サーバと、
請求項1または2に記載の車両ソフトウェア管理装置と、を備えた車両ソフトウェア管理システム。
【請求項6】
前記車両に設けられた制御装置が実行する複数の機能とバージョンの前記ソフトウェアと、前記ソフトウェアを用いて実施される前記サービスと前記ソフトウェアとの関係を示すソフトウェアサービス情報とを記憶する記憶部、
前記車両ソフトウェア管理装置からの要求に応じて前記ソフトウェアを送信するとともに、前記制御装置状態情報と前記停止サービス情報を前記車両ソフトウェア管理装置から受信する車外サーバ通信部、
前記車外サーバ通信部によって受信された前記制御装置状態情報が動作の異常な前記制御装置の存在を示す場合に、動作の異常な前記制御装置が実行するソフトウェア数が最小となるバージョンの前記ソフトウェアのバージョンを前記記憶部の前記ソフトウェアサービス情報から検索するソフトウェア検索部、および、
前記ソフトウェア検索部によって検索されたバージョンの前記ソフトウェアを前記記憶部から読み出し前記車外サーバ通信部から前記車両ソフトウェア管理装置へ送信させる対策ソフトウェア伝達部、を有した前記車外サーバと、
請求項3に記載の車両ソフトウェア管理装置と、を備えた車両ソフトウェア管理システム。
【請求項7】
前記車両に設けられた制御装置が実行する複数の機能とバージョンの前記ソフトウェアと、前記ソフトウェアを用いて実施される前記サービスと前記ソフトウェアとの関係を示すソフトウェアサービス情報とを記憶する記憶部、
前記車両ソフトウェア管理装置からの要求に応じて前記ソフトウェアを送信するとともに、前記制御装置状態情報と前記停止サービス情報を前記車両ソフトウェア管理装置から受信する車外サーバ通信部、
前記車外サーバ通信部によって受信された前記停止サービス情報が停止サービスの存在を示す場合に、前記停止サービスを正常な前記制御装置によって実施する前記ソフトウェアのバージョンを前記記憶部の前記ソフトウェアサービス情報から検索し、前記停止サービスを正常な前記制御装置によって実施する前記ソフトウェアが存在しない場合は動作が異常な前記制御装置が実行するソフトウェア数が最小となるバージョンの前記ソフトウェアのバージョンを前記記憶部の前記ソフトウェアサービス情報から検索するソフトウェア検索部、および、
前記ソフトウェア検索部によって検索されたバージョンの前記ソフトウェアを前記記憶部から読み出し前記車外サーバ通信部から前記車両ソフトウェア管理装置へ送信させる対策ソフトウェア伝達部、を有した前記車外サーバと、
請求項4に記載の車両ソフトウェア管理装置と、を備えた車両ソフトウェア管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、車両ソフトウェア管理装置および車両ソフトウェア管理システムに関するものである。
【背景技術】
【0002】
近年、自動車業界ではOTA(Over The Air)技術を利用した車両用制御装置のソフトウェア更新が採用され始めている。OTA技術は、無線通信を利用してデータを送受信することを指す。特に、スマートフォンを代表とする無線通信端末において無線通信端末自身のOS(Operating System)または設定されたアプリケーションソフトウェアの更新のためのデータ通信のことを指してOTAと称する場合が多い。
【0003】
車両用制御装置のソフトウェア更新を、OTA技術を用いて安定的に実施する技術が提案されている。ソフトウェアの書き換えを実施する場合に各車両用制御装置が置かれた環境に応じてソフトウェアの書き換えの可否を判断する技術が開示されている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2006-268554号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の技術によれば、車両用制御装置のソフトウェアの更新に際して、車両用制御装置の置かれた環境を考慮している。例えば、車両用制御装置の温度、電圧、エンジンオフ後の経過時間などを考慮して、ソフトウェアの書き換えの可否を判断している。このようにすることで、安定した環境でOTA技術を用いたソフトウェアの更新を実行することができる。
【0006】
しかし、特許文献1に記載の技術では、複数のソフトウェアが連携してサービスの提供を実現する場合の、ソフトウェアの管理について考慮されていない。また、各ソフトウェアが正常に動作できる組み合わせであるかどうかについて、保証されていない。そして、制御装置が異常となった場合のサービスの提供の維持についても考慮されていない。車両に搭載された制御装置の動作が異常を示した場合に、異常を示した制御装置によって実行されるソフトウェアに関連するサービスの提供が困難となる。
【0007】
本願はかかる課題を解決するためになされたものである。制御装置の動作が異常を示した場合であっても、停止されたサービスの提供を続行できるソフトウェアのバージョンへのソフトウェアの更新が可能となる車両ソフトウェア管理装置および車両ソフトウェア管理システムを得ることを目的とする。
【課題を解決するための手段】
【0008】
本願に係る車両ソフトウェア管理装置は、
車両に設けられた複数の制御装置の動作が正常か異常かを示す制御装置状態情報と、制御装置が実行するソフトウェアの機能とバージョンを示す機能バージョン情報と、ソフトウェアを用いて実施されるサービスとソフトウェアの関係を示すソフトウェアサービス情報と、を取得する情報取得部、
動作が異常な制御装置のために実施不可能となったサービスである停止サービスを検出する停止サービス検出部、
情報取得部によって取得された制御装置状態情報と、停止サービス検出部からの停止サービス情報を車外サーバへ伝達する通信部、および、
ソフトウェアの更新を制御装置に指示するソフトウェア更新部、を備え、
通信部は、停止サービス検出部によって停止サービスが検出された場合に、停止サービスを正常な制御装置によって実施するバージョンのソフトウェアを車外サーバから受信し
ソフトウェア更新部は、車外サーバから受信したソフトウェアへの更新を制御装置へ指示するものである。
【0009】
本願に係る車両ソフトウェア管理システムは、
車両に設けられた制御装置が実行する複数の機能とバージョンのソフトウェアと、ソフトウェアを用いて実施されるサービスとソフトウェアとの関係を示すソフトウェアサービス情報とを記憶する記憶部、
車両ソフトウェア管理装置からの要求に応じてソフトウェアを送信するとともに、制御装置状態情報と停止サービス情報を車両ソフトウェア管理装置から受信する車外サーバ通信部、
車外サーバ通信部によって受信された停止サービス情報が停止サービスの存在を示す場合に、停止サービスを正常な制御装置によって実施するソフトウェアのバージョンを記憶部のソフトウェアサービス情報から検索するソフトウェア検索部、および、
ソフトウェア検索部によって検索されたバージョンのソフトウェアを記憶部から読み出し車外サーバ通信部から車両ソフトウェア管理装置へ送信させる対策ソフトウェア伝達部、を有した車外サーバと、
車両ソフトウェア管理装置と、を備えたものである。
【発明の効果】
【0010】
本願に係る車両ソフトウェア管理装置および車両ソフトウェア管理システムでは、停止されたサービスを正常な制御装置によって実施するバージョンのソフトウェアを車両ソフトウェア管理装置が車外サーバから受信する。それにより、制御装置の動作が異常を示した場合であっても、サービスの提供を続行できるソフトウェアのバージョンへの更新が可能となる。これによって、必要なサービスの提供を続行することができ、利便性が向上する。
【図面の簡単な説明】
【0011】
図1】実施の形態1に係る車両ソフトウェア管理装置の構成図である。
図2】実施の形態1に係る車両ソフトウェア管理装置のハードウェア構成図である。
図3】実施の形態1に係るソフトウェアの機能バージョン情報を示す図である。
図4】実施の形態1に係るソフトウェアサービス情報を示す第一の図である。
図5】実施の形態1に係るソフトウェアサービス情報を示す第二の図である。
図6】実施の形態1に係るソフトウェアサービス情報を示す第三の図である。
図7】実施の形態1に係る制御装置状態情報を示す図である。
図8】実施の形態1に係る停止サービス情報を示す図である。
図9】実施の形態1に係る車両ソフトウェア管理装置のソフトウェア更新処理のフローチャートである。
図10】実施の形態1に係る車両ソフトウェア管理装置の停止サービス対応処理のフローチャートである。
図11】実施の形態2に係る車両ソフトウェア管理システムの構成図である。
図12】実施の形態2に係る車外サーバの通信処理の第一のフローチャートである。
図13】実施の形態2に係る車外サーバの通信処理の第二のフローチャートである。
図14】実施の形態3に係る車外サーバの通信処理の第二のフローチャートである。
図15】実施の形態3に係るソフトウェアサービス情報を示す図である。
【発明を実施するための形態】
【0012】
以下、本願の実施の形態に係る車両ソフトウェア管理装置について、図面を参照して説明する。
【0013】
1.実施の形態1
<車両ソフトウェア管理装置の構成>
図1は、実施の形態1に係る車両ソフトウェア管理装置100の構成図である。車両ソフトウェア管理装置100は車両1に搭載されており、通信部103、情報取得部101、停止サービス検出部102、ソフトウェア更新部104を備えている。
【0014】
車両ソフトウェア管理装置100と車外サーバ900は、モバイルネットワークなどの広域通信網を介して相互通信可能である。両者は具体的には、通信部103とサーバ通信部902を介して通信を行う。車外サーバ900は車両ソフトウェア管理装置100に対して車両機能向上のための更新ソフトウェアを送信することができる。図1では、車外サーバ900はクラウド上に構成されている場合を示し、雲に乗った図でこの構成を表現している。車外サーバ900は、OTAサーバと称されることもある。
【0015】
車両1に搭載された車両ソフトウェア管理装置100は、第一制御装置200、第二制御装置300、第三制御装置400と接続している。第一制御装置200は、バージョン2.1.0のソフトウェア201と、バージョン2.0.0のソフトウェア202を有しており、これらのソフトウェアを実行する(ソフトウェはSW、バージョンはVer.と表記している)。第二制御装置300は、バージョン1.1.0のソフトウェア301を有しており、このソフトウェアを実行する。第三制御装置400は、バージョン2.1.3のソフトウェア401を有しており、このソフトウェアを実行する。図1では第一制御装置200、第二制御装置300、第三制御装置400が車両ソフトウェア管理装置100に接続されている例を示したが、制御装置の数は、これに限られるものではない。
【0016】
車両ソフトウェア管理装置100は、通信部103を介して車外サーバ900に最新バージョンの更新ソフトウェアを要求する。車外サーバ900から通信部103を介して更新ソフトウェアを受信した車両ソフトウェア管理装置100は、更新ソフトウェアを実行すべき制御装置に転送し、ソフトウェア更新部104が該当する制御装置に書き換えを指示する。
【0017】
車両ソフトウェア管理装置100の情報取得部101は、制御装置状態情報、機能バージョン情報およびソフトウェアサービス情報を取得する。制御装置状態情報は、各制御装置の動作が正常か異常かを示す情報である。機能バージョン情報は、各制御装置が実行するソフトウェアの機能とバージョンを示す情報である。ソフトウェアサービス情報は、ソフトウェアを用いて実施されるサービスとソフトウェアの関係を示す情報である。
【0018】
<車両ソフトウェア管理装置のハードウェア構成>
図2は、実施の形態1に係る車両ソフトウェア管理装置100のハードウェア構成図である。図2の構成図は、第一制御装置200、第二制御装置300、第三制御装置400および車外サーバ900にも適用できる。以下、代表として車両ソフトウェア管理装置100について説明する。車両ソフトウェア管理装置100の各機能は、車両ソフトウェア管理装置100が備えた処理回路により実現される。具体的には、車両ソフトウェア管理装置100は、図2に示すように、処理回路として、CPU(Central Processing Unit)などの演算処理装置90(コンピュータ)、演算処理装置90とデータのやり取りする記憶装置91、演算処理装置90に外部の信号を入力する入力回路92、演算処理装置90から外部に信号を出力する出力回路93、及び通信路98を介してデータを送受信する通信部99などのインターフェースを備えている。
【0019】
演算処理装置90として、ASIC(Application Specific Integrated Circuit)、IC(Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、各種の論理回路、及び各種の信号処理回路などが備えられてもよい。演算処理装置90にはSoC(System on a Chip)技術が適用されてもよい。また、演算処理装置90として、同じ種類のものまたは異なる種類のものが複数備えられ、各処理が分担して実行されてもよい。車両ソフトウェア管理装置100には、記憶装置91として、演算処理装置90からデータを読み出し及び書き込みが可能に構成されたRAM(Random Access Memory)、演算処理装置90からデータを読み出し可能に構成されたROM(Read Only Memory)などが備えられている。記憶装置91は、演算処理装置90に内蔵されていてもよい。入力回路92は、入力信号、センサ、スイッチが接続され、これら入力信号、センサ、スイッチの信号を演算処理装置90に入力するA/D変換器などを備えている。出力回路93は、スイッチング素子をオンオフ駆動するゲート駆動回路などの電気負荷が接続され、これら電気負荷に演算処理装置90から制御信号を出力する駆動回路などを備えている。通信部99は通信路98を介して外部の制御装置などの外部装置とデータのやり取りを行うことができる。
【0020】
車両ソフトウェア管理装置100が備える各機能は、演算処理装置90が、ROMなどの記憶装置91に記憶されたソフトウェア(プログラム)を実行し、記憶装置91、入力回路92、及び出力回路93などの車両ソフトウェア管理装置100の他のハードウェアと協働することにより実現される。なお、車両ソフトウェア管理装置100が用いる閾値、判定値などの設定データは、ソフトウェア(プログラム)の一部として、ROMなどの記憶装置91に記憶されている。車両ソフトウェア管理装置100の有する各機能は、それぞれソフトウェアのモジュールで構成されるものであってもよいが、ソフトウェアとハードウェアの組み合わせによって構成されるものであってもよい。
【0021】
<機能バージョン情報>
図3は、実施の形態1に係る車両1の全体のソフトウェアの機能バージョン情報を示す図である。図3の上段には制御装置の名称が記載されており、二段目には各制御装置に実装されるソフトウェアの名称が記載されている。そしてその下方には、機能バージョンに応じた各ソフトウェアのバージョンが記載されている。複数のソフトウェアが連携して動作する場合、機能バージョンが同一のソフトウェアのバージョン同士であれば、連携動作が保証される。
【0022】
図3では、第一制御装置には、自動ブレーキ制御用ソフトウェア、急発進防止制御ソフトウェア、およびコーナセンサソフトウェアが実装されている。そして、機能バージョンが、001の場合、自動ブレーキソフトウェアのバージョンは1.0.0、急発進防止制御ソフトウェアのバージョンは1.0.0、コーナセンサソフトウェアのバージョンは1.0.0である。
【0023】
第二制御装置には、レーザレーダ制御ソフトウェアが実装されている。機能バージョンが、001の場合、レーザレーダ制御ソフトウェアのバージョンは1.0.0である。
【0024】
第三制御装置には、フロントカメラ制御ソフトウェアおよびリアカメラ制御ソフトウェアが実装されている。機能バージョンが、001、002の場合、フロントカメラ制御ソフトウェアおよびリアカメラ制御ソフトウェアは利用できない。
【0025】
フロントカメラ制御ソフトウェアは、機能バージョンが003以降で利用可能となる。機能バージョンが003の場合、フロントカメラ制御ソフトウェアのバージョンは1.0.0である。リアカメラ制御ソフトウェアは、機能バージョンが004以降で利用可能となる。機能バージョンが004の場合、リアカメラ制御ソフトウェアのバージョンは1.0.0である。
【0026】
第四制御装置、第五制御装置、第六制御装置についても実装されるソフトウェアが記載されている。ここではこれらのソフトウェアの説明を省略する。また、制御装置の数は6台に限定されるものではない。
【0027】
<ソフトウェアの更新とロールバック>
図3のソフトウェアの機能バージョン情報では、機能バージョンとして001から004までバージョンアップしている例が示されている。例えば、機能バージョンが003である場合に、車外サーバ900の保有するソフトウェアが機能バージョン004にバージョンアップされた場合を考える。
【0028】
車両1に搭載された車両ソフトウェア管理装置100は、現在保有しているソフトウェアの機能バージョンが003であり、車外サーバ900の保有するソフトウェアがアップデートされて機能バージョン004の最新ソフトウェアが提供可能となったことを知る。このとき車両ソフトウェア管理装置100は、車外サーバ900に最新バージョンのソフトウェアの送信を要求する。そして、車外サーバ900から最新バージョンのソフトウェアを受信して、各制御装置にソフトウェアの更新を指示する。
【0029】
ソフトウェアの更新を実行する場合に、更新対象の制御装置のうち、ソフトウェアの更新を正しく実行できない制御装置が存在する場合は、全ての制御装置のソフトウェアを更新前の状態に戻す処理が行われる。この処理をロールバックと称する。ロールバックによって、ソフトウェア更新による問題の発生を防ぎ、安定した車両の動作を保つことができる。
【0030】
ロールバックは、ソフトウェアの更新時以外にも実行される。通常のソフトウェアの実行中にも、制御装置に異常があることが判明した場合に、機能バージョンを一つ前に戻すことによって対処する。
【0031】
<ソフトウェアサービス情報>
図4は実施の形態1に係るソフトウェアサービス情報を示す第一の図である。サービスとは車両1の運転者に対して提供できる機能的利便性のことである。サービスは、車両の性能、快適性、安定性、信頼性、故障耐性などを向上させる機能を指す。サービスは単一または複数のソフトウェアによって実現される。車両が提供するサービスの中には、ADAS(Advanced Driving Assistant System)機能、自動運転機能のように複数の制御装置、複数のソフトウェアの連携が必要な大規模なサービスが存在する。ソフトウェアサービス情報は、サービスとこれを実現するソフトウェアの関係に関する情報である。
【0032】
図4では、サービスとして自動ブレーキサービスについて記載している。自動ブレーキサービスは、車両1の周囲の物体、人間を検知して自動的にブレーキをかけて衝突を防止するサービスである。
【0033】
自動ブレーキサービスは機能バージョン001、002については、第一制御装置に実装された自動ブレーキ制御ソフトウェアとコーナセンサソフトウェア、および第二制御装置に実装されたレーザレーダ制御ソフトウェアとが連携して実現するサービスである。自動ブレーキサービスは機能バージョン003以降については、第三制御装置に実装されたフロントカメラ制御ソフトウェアとの連携も加わることが示されている。
【0034】
図5は、実施の形態1に係るソフトウェアサービス情報を示す第二の図である。ここでは、サービスとして急発進防止サービスについて記載している。急発進防止サービスは、車両1が停止状態または微速状態から急加速された場合に、周囲の状況を参考としつつ、ブレーキペダルとアクセルペダルの踏み間違いを考慮して変速機、エンジンを制御して急加速を抑止するサービスである。
【0035】
急発進防止サービスは機能バージョン001、002については、第一制御装置に実装された急発進防止制御ソフトウェアとコーナセンサソフトウェア、第四制御装置に実装されたエンジン制御ソフトウェア、および第五制御装置に実装された変速機制御ソフトウェアとが連携して実現するサービスである。急発進防止サービスは機能バージョン003以降については、第三制御装置に実装されたフロントカメラ制御ソフトウェアとの連携も加わることが示されている。
【0036】
図6は、実施の形態1に係るソフトウェアサービス情報を示す第三の図である。ここでは、サービスとしてアイドル速度制御サービスについて記載している。アイドル速度制御サービスは、アイドル状態のエンジン回転速度を調整して暖機、エアコン負荷、燃費、車室内騒音、振動などのバランスを最適化するサービスである。アイドル速度制御サービスは、第四制御装置に実装されたエンジン制御ソフトウェア、および第五制御装置に実装された変速機制御ソフトウェアが連携して実現するサービスである。
【0037】
<制御装置の異常とサービスの停止>
車両1において、車両全体の機能バージョン004のソフトウェアを実行中に、第三制御装置の動作に異常が検出された場合を考える。この場合、第三制御装置の異常が検出される。そして、第三制御装置の異常によって図4に示された自動ブレーキサービスと図5に示された急発進防止サービスが実行できなくなり、停止サービスとして検出される。
【0038】
図7は、実施の形態1に係る制御装置状態情報を示す図である。図8は、実施の形態1に係る停止サービス情報を示す図である。図7に示すように、第三制御装置の異常が制御装置状態情報の中に示される。そして、図8に示すように自動ブレーキサービス、急発進防止サービスが停止サービス情報に示される。
【0039】
この場合にロールバック処理を行った場合、機能バージョンは003となる。車外サーバ900に機能バージョン003のソフトウェアの送信を要求して受信し、該当する制御装置にソフトウェアの更新を指示する。しかし、該当する制御装置のソフトウェアを機能バージョン003に書き戻した場合であっても、図4に示す自動ブレーキサービス、図5に示す急発進防止サービスは実行できずサービス停止状態のままとなる。
【0040】
このような場合、一つ前のバージョンへのロールバック処理は解決策とならない。よって、運転者はこれらのサービスの提供を受けることを諦めて運転を継続するか、修理工場で修理が完了するまで車両を使用できなくなる。
【0041】
<異常な制御装置を使用しないバージョンのソフトウェア>
第三制御装置に異常が発生した場合であっても、第三制御装置を使用せずにサービスを続行できるソフトウェアのバージョンを探す。図4では、自動ブレーキサービスは機能バージョンが002のバージョンであれば、第三制御装置なしで、サービスを続行することができる。図5では、急発進防止サービスは機能バージョンが002のバージョンであれば、第三制御装置なしで、サービスを続行することができる。
【0042】
そこで、全ての制御装置の機能バージョンを002に更新するために、車外サーバ900から機能バージョン002のソフトウェアを受信する。そして、該当する制御装置に機能バージョン002のソフトウェアを書き込ませる。
【0043】
車両ソフトウェア管理装置100は、停止されたサービスを正常な制御装置によって実施するバージョンのソフトウェアを車外サーバ900から受信する。それにより、制御装置の動作が異常を示した場合であっても、サービスの提供を続行できるソフトウェアのバージョンへの更新が可能となる。これによって、必要なサービスの提供を続行することができ、利便性が向上する。
【0044】
<ソフトウェア更新処理>
図9は、実施の形態1に係る車両ソフトウェア管理装置100のソフトウェア更新処理のフローチャートである。車両ソフトウェア管理装置100の記憶装置91には、ソフトウェア更新処理に使用する処理内容が書き込まれている。車両ソフトウェア管理装置100の演算処理装置90はこの処理内容を実行する。
【0045】
図9のフローチャートの処理は、所定時間ごとに実行される(例えば10msごと)。図9のフローチャートの処理は、所定時間ごとではなく、車両が所定距離走行するごと、または車両ソフトウェア管理装置100が車外サーバ900からデータを受信するたび、といったイベントごとに実行されることとしてもよい。
【0046】
処理が開始され、ステップS101で、停止サービス検出部102が検出した停止サービスがあるかどうかを判定する。停止サービスが有る場合(判定はYES)は、処理を終了する。停止サービスが無い場合(判定はNO)は、ステップS102へ進む。
【0047】
ステップS102では、停止サービスバックアップフラグSSBKUPfがセットされているかどうか判定する。停止サービスバックアップフラグSSBKUPfは、停止サービスが検出されて、これに対処するための処理が実行中であることを示すフラグである。停止サービスバックアップフラグSSBKUPfがセットされている場合は、各制御装置のソフトウェアの最新バージョンへの更新は行わない。
【0048】
停止サービスバックアップフラグSSBKUPfがセットされていれば(判定はYES)処理を終了する。 停止サービスバックアップフラグSSBKUPfがセットされていなければ(判定はNO)ステップS103へ進む。
【0049】
ステップS103では、車外サーバ900が供給できる車両1用のソフトウェアの最新機能バージョンを、通信部103を介して車外サーバ900へ照会する。ステップS104で、車外サーバ900からソフトウェアの最新バージョンを通信部103が受信する。
【0050】
ステップS105では、車両1の各制御装置が実行中のソフトウェアの機能バージョンが、車外サーバ900から受信した最新バージョンと異なるかどうか判定する。バージョンが同じ場合(判定はNO)は処理を終了する。バージョンが異なる場合(判定はYES)はステップS106へ進む。
【0051】
ステップS106では、車外サーバ900へ最新バージョンのソフトウェアの送信を通信部103から要求する。この場合、機能バージョンが変わっても、各ソフトウェアのバージョンは変更されていない場合も存在する。その場合は、ソフトウェアの送受信と更新の処理は不要なので、ソフトウェアごとに省略してもよい。ステップS107では、最新の機能バージョンのソフトウェアを車外サーバ900から通信部103が受信する。
【0052】
ステップS108では、車両ソフトウェア管理装置100のソフトウェア更新部104は、該当する制御装置へソフトウェアの更新を指示する。ステップS109では、ソフトウェアの更新が成功したかどうかを判定する。すべてのソフトウェアの更新が問題なく完了した場合は更新が成功した(判定はYES)として処理を終了する。ソフトウェアの更新に問題が生じた場合(判定はNO)はステップS110でコールバック処理を実行する。すべてのソフトウェアを元のバージョンに戻して、車両の制御を安定させる。
【0053】
<停止サービス対応処理>
図10は、実施の形態1に係る車両ソフトウェア管理装置100の停止サービス対応処理のフローチャートである。車両ソフトウェア管理装置100の記憶装置91には、停止サービス対応処理に使用する処理内容が書き込まれている。車両ソフトウェア管理装置100の演算処理装置90はこの処理内容を実行する。
【0054】
図10のフローチャートの処理は、所定時間ごとに実行される(例えば10msごと)。図10のフローチャートの処理は、所定時間ごとではなく、車両が所定距離走行するごと、または車両ソフトウェア管理装置100が車外サーバ900からデータを受信するたび、といったイベントごとに実行されることとしてもよい。また、図10のフローチャートは、図9のフローチャートと連動して実行することとしてもよい。
【0055】
処理が開始され、ステップS201で、情報取得部101によって情報取得を実行する。具体的には制御装置状態情報、機能バージョン情報、ソフトウェアサービス情報を取得する。そして、停止サービス検出部102によって停止サービスを検出し停止サービス情報を得る。
【0056】
ステップS202では、停止サービス検出部102が検出した停止サービスがあるかどうかを判定する。停止サービスが無い場合(判定はNO)は、処理を終了する。停止サービスが有る場合(判定はYES)は、ステップS203へ進む。
【0057】
ステップS203では、制御装置状態情報、停止サービス情報を通信部103から車外サーバへ伝達する。ステップS204では、車外サーバから通信部103が応答を受信する。
【0058】
ステップS205では、車外サーバから応答として受信した内容が、停止サービスに対応する対策ソフトウェアであるかどうか判定する。対策ソフトウェアで無ければ(判定はNO)、ステップS208で停止サービスバックアップフラグSSBKUPfをクリアして処理を終了する。
【0059】
ステップS205で、車外サーバから応答として受信した内容が、停止サービスに対応する対策ソフトウェアである場合(判定はYES)は、ステップS206で、該当する制御装置にソフトウェア更新部104がソフトウェア更新の指示を出し、ソフトウェア更新を実施する。その後、ステップS207で、停止サービスバックアップフラグSSBKUPfをセットして処理を終了する。
【0060】
2.実施の形態2
<車外サーバの構成>
図11は、実施の形態2に係る車両ソフトウェア管理装置100と車外サーバ900から構成される車両ソフトウェア管理システムの構成図である。図11は、車外サーバ900の構成について記載した点が、図1と異なる。実施の形態2では、車外サーバ900の細部について規定した点が異なるのみであり、符号は実施の形態1と同じである。
【0061】
車外サーバ900は、サーバ通信部902に加えて、記憶部901、ソフトウェア検索部903、対策ソフトウェア伝達部904を備える。車外サーバ900は、車両1をはじめとする車両のための全てのバージョンのソフトウェアを記憶部901に保管している。また、ソフトウェアの機能とバージョンを示す機能バージョン情報、サービスとソフトウェアとの関係を示すソフトウェアサービス情報を記憶部901に保管している。
【0062】
そして、ソフトウェアの最新バージョンが公開されるごとに、新たなバージョンのソフトウェアを記憶部901に蓄積し、各車両に提供を開始する。車外サーバ900は、車両ソフトウェア管理装置100からの要求に応える。要求に応じて、ソフトウェアの最新の機能バージョンを伝達し、最新のバージョンのソフトウェアを送信する。車外サーバ900は各車両のソフトウェアの更新状況を把握しており、各車両のソフトウェアの状態を一元管理する。
【0063】
車外サーバ900は、車両ソフトウェア管理装置100から停止サービス情報を受信する。停止サービスが存在する場合に、車両1の正常な制御装置によって停止サービスを実施するソフトウェアバージョンを、ソフトウェア検索部903が記憶部901から検索する。正常な制御装置によって停止サービスを実施するソフトウェアバージョンが存在する場合、この機能バージョンのソフトウェアを対策ソフトウェア伝達部904が車両ソフトウェア管理装置100に伝達する。この場合、サーバ通信部902から対策ソフトウェアとして送信する。
【0064】
<車外サーバの通信処理>
図12は、実施の形態2に係る車外サーバ900の通信処理の第一のフローチャートである。図13は、通信処理の第二のフローチャートである。図13は、図12のフローチャートの続きを示す。
【0065】
図12のフローチャートの処理は、車外サーバ900が車両ソフトウェア管理装置100からデータを受信するたびに実行される。図12のフローチャートの処理は、受信の都度ではなく、所定時間ごとに実行される(例えば10msごと)こととしてもよい。
【0066】
処理が開始され、ステップS301で、車両ソフトウェア管理装置100からの受信データが、車両のソフトウェアの最新機能バージョンの照会であるかどうかを判定する。車両のソフトウェアの最新機能バージョンの照会である場合(判定はYES)は、ステップS302へ進んで車両のソフトウェアの最新機能バージョンを返信して処理を終了する。
【0067】
ステップS301で、受信データがソフトウェアの最新機能バージョンの照会でない場合(判定はNO)は、ステップS303へ進む。そして、受信データが、最新バージョンのソフトウェアの送信要求であるかどうかを判定する。受信データが、最新バージョンのソフトウェアの送信要求である場合(判定はYES)は、ステップS304で最新の機能バージョンのソフトウェアを送信して処理を終了する。
【0068】
ステップS303において、受信データが、最新バージョンのソフトウェアの送信要求でない場合(判定はNO)は、図13のステップS305へ進む。ステップS305では、車両ソフトウェア管理装置100からの受信データが、制御装置状態情報と停止サービス情報であるかどうか判定する。受信データが、制御装置状態情報と停止サービス情報でない場合(判定はNO)は、処理を終了する。受信データが、制御装置状態情報と停止サービス情報である場合(判定はYES)は、ステップS306へ進む。
【0069】
ステップS306では、第二停止サービスバックアップフラグSSBKUPf2がセットされているかどうか判定する。第二停止サービスバックアップフラグSSBKUPf2がセットされている場合(判定はYES)は、処理を終了する。第二停止サービスバックアップフラグSSBKUPf2は、停止サービスが検出されて、これに対処するための対策ソフトウェアを送信済みであることを示すフラグである。第二停止サービスバックアップフラグSSBKUPf2がセットされている場合は、新たに対策ソフトウェアの送信は行わない。
【0070】
ステップS306において、第二停止サービスバックアップフラグSSBKUPf2がセットされていない場合(判定はNO)は、ステップS307へ進む。ステップS307では、異常制御装置が存在するかどうか判定する。異常制御装置が無ければ(判定はNO)ステップS313へ進み、第二停止サービスバックアップフラグSSBKUPf2をクリアして処理を終了する。制御装置に異常が発生した場合に備えるためである。
【0071】
ステップS307では、異常制御装置が存在する場合(判定はYES)は、ステップS308へ進む。ステップS308では、停止サービスがあるかどうか判定する。停止サービスが無ければ(判定はNO)処理を終了する。停止サービスが有れば(判定はYES)ステップS309へ進む。
【0072】
ステップS309では、停止サービス対策ソフトウェアを検索する。すなわち、正常な制御装置によって停止サービスを実施するソフトウェアバージョンを、ソフトウェア検索部903が記憶部901から検索する。ステップS310では、検索の結果、停止サービス対策ソフトウェアが見つかったかどうか判定する。停止サービス対策ソフトウェアがない場合(判定はNO)は、ステップS314で、第二停止サービスバックアップフラグSSBKUPf2をクリアして処理を終了する。
【0073】
ステップS310で、停止サービス対策ソフトウェアが有る場合(判定はYES)は、ステップS311で、対策ソフトウェアを車両ソフトウェア管理装置100へ送信する。その後、ステップS312で、第二停止サービスバックアップフラグSSBKUPf2をセットして処理を終了する。
【0074】
以上のように車外サーバ900を構成することで、車両1の制御装置に異常が発生してソフトウェアによるサービスが継続できなくなった場合に、正常な制御装置によりサービスを継続できるソフトウェアのバージョンを検索して送信することができる。これにより車両ソフトウェア管理装置100は、受信したソフトウェアを該当する制御装置に更新指示することができ、サービスを継続できる。よって、車両ソフトウェア管理装置100と車外サーバ900から構成される車両ソフトウェア管理システムによって、必要なサービスの提供を続行することができ、利便性が向上する。
【0075】
3.実施の形態3
<異常制御装置対策ソフトウェア>
実施の形態1、2では、制御装置に異常が発生した場合、当該制御装置を使用せずサービスを継続することができるソフトウェアのバージョンを車外サーバ900が検索して発見し、車両ソフトウェア管理装置100へ伝達する例について説明した。しかし、当該制御装置を使用せずサービスを継続することができるソフトウェアのバージョンが存在しない場合も考えられる。そのような場合に、異常が発生した制御装置によって実施されるソフトウェア数が最小となるソフトウェアのバージョンを検索し、車両ソフトウェア管理装置100へ伝達する場合について説明する。
【0076】
各種のサービスの中で、一部のセンサ、一部のアクチュエータ、一部の制御装置が異常を示した場合、サービスを継続できる場合がある。一部機能を縮退してサービスを継続しても、大きな問題が無い場合も存在する。また、問題はあっても、縮退運転によって自宅、修理工場、避難場所までたどり着くことを優先したリンプホーム運転も存在する。そこで、制御装置に異常が発生した場合に、異常が発生した制御装置によって実施されるソフトウェア数が最小となるソフトウェアのバージョンへのソフトウェア更新をする場合について説明する。
【0077】
実施の形態3に係る、車両ソフトウェア管理装置100、車外サーバ900は、実施の形態2の説明に使用した構成をそのまま流用できる。車外サーバ900のソフトウェアの変更のみで実施の形態3の車外サーバ900を構成できるので、符号は実施の形態1、2と同一とする。
【0078】
図14は、実施の形態3に係る車外サーバ900の通信処理の第二のフローチャートである。実施の形態3に係る車外サーバ900の通信処理の第一のフローチャートは、図12をそのまま流用することとする。図14は、図13のステップS314をステップS315に差し換えて、ステップS315の処理の後、ステップS311へ進むこととした部分のみが異なる。以下では、異なる部分について説明する。
【0079】
図15は、実施の形態3に係るソフトウェアサービス情報を示す図である。図15は、レーンキーピングサービスに関する連携したソフトウェアを示している。レーンキーピングサービスは、車両が走行中のレーンの中央付近の位置をキープして走行するよう、運転者を補助するサービスである。運転者の疲労、居眠り、注意散漫などにより、車両が走行中に進路不安定となり走行がふらつくのを防止することができる。
【0080】
実施の形態1、2では、第三制御装置に異常が発生した場合に、第三制御装置を使用せずに、サービスを継続して提供できるソフトウェアのバージョンを検索して見つけた。しかしながら、図15のようなサービスに対して、第三制御装置を使用せずに実行するソフトウェアのバージョンは存在しない。
【0081】
このような場合であっても、車外サーバによる最適なソフトウェアの提供をあきらめず、異常が発生した制御装置によって実施されるソフトウェア数が最小となるソフトウェアのバージョンを検索し、ソフトウェアを車両ソフトウェア管理装置100へ伝達することを考える。
【0082】
図14の車外サーバの通信処理の第二のフローチャートにおいて、ステップS310において、検索の結果、停止サービス対策ソフトウェアが見つかったかどうか判定する。停止サービス対策ソフトウェアがない場合(判定はNO)は、ステップS315へ進む。
【0083】
停止サービス対策ソフトウェアが存在しない場合には、ステップS315にて、車外サーバ900のソフトウェア検索部903は異常制御装置対策ソフトウェアを検索する。異常制御装置対策ソフトウェアとは、異常が発生した制御装置によって実施されるソフトウェア数が最小となるソフトウェアのバージョンのことを指す。
【0084】
このようなソフトウェアを検索して抽出し、ソフトウェアを車両ソフトウェア管理装置100へ伝達する。これによって、該当する制御装置のソフトウェアの更新を実施し、異常の発生した制御装置による影響を最小限に抑えることができる。
【0085】
異常が発生した制御装置では、ソフトウェアの実行が不可能となる。しかし、当該ソフトウェアが実行されない場合、これに伴い停止するサービスの数を最小限とすることができる。また、サービスによっては連携するソフトウェアの一部が実行不能となっても、機能を縮退してサービスを続行できるものも存在する。
【0086】
車両ソフトウェア管理装置100と車外サーバ900から構成される車両ソフトウェア管理システムによって、車両の制御装置のサービスの継続と、縮退運転の縮退程度を最小限に抑制しながら、車両の走行を支援することができる。よって、車両ソフトウェア管理システムによって、利便性が向上する。
【0087】
本願は、様々な例示的な実施の形態及び実施例が記載されているが、1つ、または複数の実施の形態に記載された様々な特徴、態様、及び機能は特定の実施の形態の適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態に適用可能である。従って、例示されていない無数の変形例が、本願明細書に開示される技術の範囲内において想定される。例えば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも1つの構成要素を抽出し、他の実施の形態の構成要素と組み合わせる場合が含まれるものとする。
【符号の説明】
【0088】
1 車両、100 車両ソフトウェア管理装置、101 情報取得部、102 停止サービス検出部、103 通信部、104 ソフトウェア更新部、200 第一制御装置、201、202、301、401 ソフトウェア、300 第二制御装置、400 第三制御装置、900 車外サーバ、901 記憶部、902 サーバ通信部、903 ソフトウェア検索部、904 対策ソフトウェア伝達部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15