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

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

▶ 日立オートモティブシステムズ株式会社の特許一覧

<>
  • 特開-車両制御装置 図1
  • 特開-車両制御装置 図2
  • 特開-車両制御装置 図3
  • 特開-車両制御装置 図4
  • 特開-車両制御装置 図5
  • 特開-車両制御装置 図6
  • 特開-車両制御装置 図7
  • 特開-車両制御装置 図8
  • 特開-車両制御装置 図9
  • 特開-車両制御装置 図10
  • 特開-車両制御装置 図11
  • 特開-車両制御装置 図12
  • 特開-車両制御装置 図13
  • 特開-車両制御装置 図14
  • 特開-車両制御装置 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024008514
(43)【公開日】2024-01-19
(54)【発明の名称】車両制御装置
(51)【国際特許分類】
   G06F 8/65 20180101AFI20240112BHJP
   G06F 9/50 20060101ALI20240112BHJP
   B60R 16/02 20060101ALI20240112BHJP
【FI】
G06F8/65
G06F9/50 150A
B60R16/02 660U
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022110451
(22)【出願日】2022-07-08
(71)【出願人】
【識別番号】509186579
【氏名又は名称】日立Astemo株式会社
(74)【代理人】
【識別番号】110000925
【氏名又は名称】弁理士法人信友国際特許事務所
(72)【発明者】
【氏名】福田 毅
(72)【発明者】
【氏名】溝口 将史
(72)【発明者】
【氏名】前田 功治
(72)【発明者】
【氏名】蛯名 朋仁
(72)【発明者】
【氏名】村上 隆
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA01
5B376CA41
5B376CA43
5B376GA07
(57)【要約】
【課題】ハードウェアリソースが枯渇する場合であっても、ソフトウェアアップデートを可能にする。
【解決手段】車両制御装置は、第一の演算部と第二の演算部とを備える。ここで、第一の演算部の実行状況と新たに実装される新ソフトウェアの構成に基づき、第一の演算部において既存ソフトウェアを新ソフトウェアにアップデート可能かを判断すると共に、新ソフトウェアの全構成を第一の演算部においてアップデート可能か、あるいは新ソフトウェアの一部構成を第二の演算部に配置変更するかを、リソース情報保持部の保持情報から判断する。そして、第二の演算部へ配置変更すると判断した場合に、新ソフトウェアの実行時に伴う第一の演算部と第二の演算部との間でのレイテンシを考慮して、第二の演算部へ配置する新ソフトウェア構成の一部を決定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
既存ソフトウェアを実行する第一の演算部と、前記既存ソフトウェアとは別のソフトウェアを実行する第二の演算部とを備えて、車両の制御を行う車両制御装置であり、
前記第一の演算部の実行状況と新たに実装される新ソフトウェアの構成に基づき、前記第一の演算部において前記既存ソフトウェアを前記新ソフトウェアにアップデート可能か判断するアップデート判断部と、
前記アップデート判断部の判断結果に応じて、前記既存ソフトウェアのアップデートを実行するアップデート実行部と、
前記車両の動作中に使用されるリソース情報を監視するリソース監視部と、
前記リソース監視部から提供されるリソース使用状況に基づきリソース使用量情報を保持するリソース情報保持部と、
前記第一の演算部が実行している前記既存ソフトウェアあるいは新ソフトウェアの構成の一部の配置変更を、前記第二の演算部に依頼するソフトウェア配置変更依頼送受信部と、を備え、
前記アップデート判断部は、前記新ソフトウェアの全構成を前記第一の演算部においてアップデート可能か、あるいは前記新ソフトウェアの一部構成を前記第二の演算部に配置変更するかを、前記リソース情報保持部の保持情報から判断し、
前記アップデート判断部が前記第二の演算部へ前記配置変更すると判断した場合に、前記ソフトウェア配置変更依頼送受信部が前記第二の演算部に依頼し、
前記ソフトウェア配置変更依頼送受信部は、前記新ソフトウェアの構成の一部の配置変更を行う際に、前記新ソフトウェアの実行時に伴う前記第一の演算部と前記第二の演算部とのレイテンシを考慮して、前記第二の演算部へ配置する前記新ソフトウェア又は前記既存ソフトウェアの構成の一部を決定する
車両制御装置。
【請求項2】
前記アップデート判断部は、前記新ソフトウェアの全構成を前記第一の演算部においてアップデート可能か、あるいは前記新ソフトウェアの一部構成を前記第二の演算部に配置変更するかを、前記リソース情報保持部の保持情報の一部である中央処理ユニットの負荷率、メモリ使用量、レイテンシの少なくともいずれか1つに基づいて判断する
請求項1に記載の車両制御装置。
【請求項3】
前記アップデート判断部は、前記車両の任意のタイミングで、前記新ソフトウェアの全構成を前記第一の演算部においてアップデート可能か、あるいは前記新ソフトウェアの一部構成を前記第二の演算部に配置変更するかを、前記リソース情報保持部の保持情報の一部である中央処理ユニットの負荷率、メモリ使用量、レイテンシの少なくともいずれか1つに基づいて判断する
請求項1に記載の車両制御装置。
【請求項4】
前記任意のタイミングは、前記車両の停車時、前記車両の駐車時、前記車両の充電時、前記車両のユーザインターフェースによる通知時のいずれかのタイミングである
請求項3に記載の車両制御装置。
【請求項5】
前記アップデート判断部が前記第二の演算部へ配置変更すると判断する際に、ハードウェアリソースの使用量が最適になるように、前記既存ソフトウェアの中から前記第二の演算部へ配置変更するソフトウェアを選択する
請求項1に記載の車両制御装置。
【請求項6】
前記ハードウェアリソースは、中央処理ユニットの負荷率、メモリ使用量、レイテンシの少なくともいずれか1つである
請求項5に記載の車両制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両制御装置に関する。
【背景技術】
【0002】
車両制御装置(ECU:Electronic Control Unit)に搭載されたソフトウェアを、製品リリース後にアップデートする技術がある。車両電子制御の高度化は年々進んでおり、製品リリース後にソフトウェアをアップデートすることで、常に最新の制御ソフトウェアを車両に搭載する価値は大きい。ただし、車両制御装置はプロセッサ性能やメモリ量などのハードウェアリソース量が限定される場合が多いため、限られたハードウェアリソースを有効に活用したソフトウェアアップデート手法が有効とされている。
【0003】
例えば特許文献1には、ソフトウェアの更新情報により更新するモジュールを依存させる順に並べて記憶部の空き容量を計算し、空き容量が不足しないようにモジュールの更新順序を変更してソフトウェアを更新する技術が記載されている。これにより、例えモジュールを記憶する空き容量が、更新するソフトウェアの容量よりも小さい場合であっても、ソフトウェアを更新することを可能としている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007-213189号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載された技術によれば、モジュールの更新順序を変化させることで、モジュールを記憶する記憶部の空き容量が小さい場合であっても、ソフトウェアが更新可能となる。しかしながら、1つのシステムの記憶容量を超えてのソフトウェアアップデートは不可能なため、例えば10年単位で利用されるような製品寿命が長いシステムにおいては、活用できる空き容量の限界を迎えてしまい、ハードウェアリソース枯渇によってソフトウェアアップデートができなくなるという問題があった。
【0006】
本発明は、ハードウェアリソースが枯渇する場合であっても、ソフトウェアアップデートを可能とする車両制御装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、
既存ソフトウェアを実行する第一の演算部と、既存ソフトウェアとは別のソフトウェアを実行する第二の演算部とを備えて、車両の制御を行う車両制御装置に適用したものである。
そして、車両制御装置は、
第一の演算部の実行状況と新たに実装される新ソフトウェアの構成に基づき、第一の演算部において既存ソフトウェアを新ソフトウェアにアップデート可能か判断するアップデート判断部と、
アップデート判断部の判断結果に応じて、既存ソフトウェアのアップデートを実行するアップデート実行部と、
車両の動作中に使用されるリソース情報を監視するリソース監視部と、
リソース監視部から提供されるリソース使用状況に基づきリソース使用量情報を保持するリソース情報保持部と、
第一の演算部が実行している既存ソフトウェアあるいは新ソフトウェアの構成の一部の配置変更を、第二の演算部に依頼するソフトウェア配置変更依頼送受信部と、を備える。
さらに、アップデート判断部は、新ソフトウェアの全構成を第一の演算部においてアップデート可能か、あるいは新ソフトウェアの一部構成を第二の演算部に配置変更するかを、リソース情報保持部の保持情報から判断し、
アップデート判断部が第二の演算部へ配置変更すると判断した場合に、ソフトウェア配置変更依頼送受信部が第二の演算部に依頼し、
ソフトウェア配置変更依頼送受信部は、新ソフトウェア構成の一部の配置変更を行う際に、新ソフトウェアの実行時に伴う第一の演算部と第二の演算部との間でのレイテンシを考慮して、第二の演算部へ配置する新ソフトウェア構成の一部を決定する。
【発明の効果】
【0008】
本発明によれば、車両の制御を実現するソフトウェアの処理時のレイテンシを考慮しつつ、複数の演算部の間でソフトウェア配置を変更することで、ハードウェアリソースが枯渇する場合であっても、ソフトウェアのアップデートが実現できるようになる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0009】
図1】本発明の一実施の形態例による車両制御装置の全体構成を示すブロック図である。
図2】本発明の一実施の形態例による車両制御装置の車両の内部の配置例を示す構成図である。
図3】本発明の一実施の形態例にて演算処理される既存ソフトウェアの一例を示す図である。
図4】本発明の一実施の形態例の第一の演算部の処理手順を示すフローチャートである。
図5】本発明の一実施の形態例のリソース使用量の一例を示す図である。
図6】本発明の一実施の形態例の最悪リソース使用量の一例を示す図である。
図7】本発明の一実施の形態例のリソース監視部の処理手順を示すフローチャートである。
図8】本発明の一実施の形態例による新ソフトウェアのリソース使用量の一例を示す図である。
図9】本発明の一実施の形態例のアップデート判断部の処理手順を示すフローチャートである。
図10】本発明の一実施の形態例による判断結果の一例を示す図である。
図11】本発明の一実施の形態例のアップデート実行部の処理手順を示すフローチャートである。
図12】本発明の一実施の形態例による配置変更依頼情報109の一例を示す図である。
図13】本発明の一実施の形態例のソフトウェア配置変更依頼送受信部の処理手順を示すフローチャートである。
図14】本発明の一実施の形態例によるソフトウェアアップデート前のソフトウェア配置例を示す図である。
図15】本発明の一実施の形態例によるソフトウェアアップデート後のソフトウェア配置例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の一実施の形態例(以下、「本例」と称する)を、添付図面を参照して説明する。
【0011】
[車両制御装置の構成]
図1は、本例の車両制御装置1のソフトウェア更新のための機能の全体構成を示すブロック図である。
本例の車両制御装置1は、車両に搭載されて走行などを制御する装置であり、図2で説明するように、1台の車両に複数設置されて、複数の車両制御装置1がネットワークで接続されている。それぞれの車両制御装置1は、実装されたソフトウェアを演算部によって実行することで、車両の制御動作を行うコンピュータとして構成される。
車両制御装置1は、図1に示すように、既存ソフトウェア保持部101に、動作を行うためのソフトウェア(既存ソフトウェア)が保持されている。この既存ソフトウェアは、外部から供給される新ソフトウェアによりアップデートを行うことができる。ここでの新ソフトウェアは、既存ソフトウェアの少なくとも一部をアップデートするために用いられるものである。なお、図面ではソフトウェアを「SW」と略記している。
【0012】
車両制御装置1が既存ソフトウェアを新ソフトウェアにアップデートする際には、新ソフトウェアのリソース使用量情報2が、車両制御装置1に供給される。この新ソフトウェアリソース使用量情報2は、新ソフトウェアと共に外部から取得されるが、車両内で新ソフトウェアを受信した際に生成するようにしてもよい。
【0013】
図1に示す車両制御装置1の構成は、車両制御装置1が既存ソフトウェアを新ソフトウェアにアップデートする際に必要な構成になっている。この図1に示す各部の構成は、車両制御装置1を作動させるソフトウェアにより構成され、同様に図1に示す各情報は、同じソフトウェアにより取得される。なお、図1に示される各構成の処理の詳細は図3以降で説明する。
【0014】
まず、図1に示す車両制御装置1の全体構成について説明する。車両制御装置1は、既存ソフトウェア保持部101、第一の演算部102、リソース使用量情報103、リソース監視部104、リソース情報保持部105、および最悪リソース使用量情報106を備える。
また、車両制御装置1は、アップデート判断部107、アップデート判断結果情報108、配置変更依頼情報109、アップデート実行部110、およびソフトウェア配置変更依頼送受信部111を備える。なお、リソース使用量情報103、アップデート判断結果情報108、および配置変更依頼情報109は、それぞれ対応した保持部に保持される。
【0015】
また、図1に示す車両制御装置1の外部には、第二の演算部3が用意される。この第二の演算部3は、車両内に複数設けられた別の車両制御装置に用意されるものである。車両に複数の車両制御装置が用意される構成については図2で後述する。
【0016】
既存ソフトウェア保持部101は、車両制御装置1が実行するソフトウェアを保持する。既存ソフトウェア保持部101が保持した既存ソフトウェアは、第一の演算部102で実行される。
第一の演算部102で実行中のリソース使用量は、車両制御装置1内で計測され、計測したリソース使用量情報103が保持される。
リソース使用量情報103は、リソース監視部104に送られて、リソース監視部104で監視される。
リソース監視部104における監視結果は、リソース情報保持部105に保持される。リソース情報保持部105は、保持する情報の一つとして最悪リソース使用量情報106を有する。
【0017】
アップデート判断部107は、新ソフトウェアのリソース使用量情報2と、リソース情報保持部105に保持された最悪リソース使用量情報106とに基づいて、第一の演算部102におけるソフトウェアの実行が可能か否かを判定して、新ソフトウェアへのアップデートの可否を判断する。そして、アップデート判断部107は、新ソフトウェアへのアップデートの可否の判断に基づいて、アップデート判断結果情報108を生成する。
アップデート実行部110は、アップデート判断結果情報108に基づいて既存ソフトウェア保持部101が保持した既存ソフトウェアを、新ソフトウェアにアップデートさせる。
【0018】
また、アップデート判断部107は、第一の演算部102で新ソフトウェアへのアップデートができないと判定したとき、配置変更依頼情報109を生成する。アップデート判断部107が生成した配置変更依頼情報109は、ソフトウェア配置変更依頼送受信部111から、別の車両制御装置が備える第二の演算部3に送信される。
【0019】
配置変更依頼情報109を受信した第二の演算部3は、配置変更依頼情報109に基づいて、実行するソフトウェアを変更する。ここでのソフトウェアの変更には、新ソフトウェアを実行する場合の他、既存ソフトウェア保持部101で保持された既存ソフトウェアの少なくとも一部を実行する場合も含まれる。
なお、第二の演算部3を備える車両制御装置も、図1に示す車両制御装置1と同様の構成を備えており、配置変更が指示されたソフトウェアが実行可能か否かを判断して、実行可能であるときに、配置変更依頼に基づいた配置変更を行う。
【0020】
[複数の車両制御装置の配置構成]
図2は、車両Mに複数の車両制御装置が配置される例を示す。ここでは、第一車両制御装置1a、第二車両制御装置1b、第三車両制御装置1c、および第四車両制御装置1dの4つの車両制御装置が配置される例を示している。各車両制御装置1a~1dは、ネットワークNWで接続され、相互にデータの送受信が可能になっている。また、ネットワークNWに接続される各車両制御装置1a~1dは、車両の外部などとデータのやり取りを行うための送受信部または通信ポートを備えており、外部から新ソフトウェアなどの情報を取得することができる。
各車両制御装置1a~1dは、演算部(図1における演算部102に相当)を備えると共に、その演算部で実行するソフトウェアをアップデートするために、図1に示す構成を備える。
【0021】
ここで、各車両制御装置1a~1dのハードウェア構成を説明すると、例えば第一車両制御装置1aは、CPU(中央処理ユニット)11とワークメモリ12と記憶部13とインターフェース(I/F)14とを備え、これらが相互にデータ転送可能に接続されている。
CPU11は、記憶部13に記憶されたプログラム(ソフトウェア)をワークメモリ12内で実行する。これにより、ワークメモリ12内に図1に示す各処理部が構成される。
記憶部13は、車両制御を行うプログラムを記憶すると共に、画像や制御データなどを記憶する。記憶部13に記憶されるプログラムには、ソフトウェアのアップデート処理を行うためのプログラムも含まれる。
【0022】
インターフェース14は、カメラや各種センサの検出データの入力処理や、車両の制御データの出力処理を行う。
第一車両制御装置1a以外の車両制御装置1b~1dも、第一車両制御装置1aと同様の構成を有する。
なお、以下の説明で車両制御装置1と述べた場合、これら複数の車両制御装置1a~1dのいずれか一つを示すものとする。
【0023】
[車両制御装置にて演算処理されるソフトウェアの例]
図3は、車両制御装置1にて演算処理される既存ソフトウェアの101の処理と周期情報に関するデータD11の一例を示す図である。
ここでは、車両制御装置1で演算処理される既存ソフトウェア101による処理の例として、センサフュージョン、オブジェクトトラッキング、ローカルマップ作成、軌道生成、制御値算出が示されている。
それぞれのソフトウェアによる処理は、演算処理される周期を示すタスクを有する。例えば、図3のデータD11の例では、センサフュージョン、オブジェクトトラッキング、およびローカルマップ作成は、40ms周期で演算処理される。また、軌道生成と制御値算出は、10ms周期で演算処理される。
【0024】
[演算部での演算処理]
図4は、第一の演算部102における処理手順を示したフローチャートである。
まず、第一の演算部102は、既存ソフトウェア101を取得する(ステップS11)。そして、第一の演算部102は、取得したソフトウェアを演算処理して、ソフトウェアに基づいた制御などを実行する(ステップS12)。
【0025】
ここで、第一の演算部102は、ステップS12で演算処理した際のリソース使用量情報103を出力する(ステップS13)。このステップS11~S13の処理が、第一の演算部102が稼働中に繰り返される。
【0026】
[リソース使用量と最悪リソース使用量の例]
図5は、本例におけるリソース使用量情報103の一例を示す図である。リソース使用量情報103は、第一の演算部102がソフトウェアを実行中の情報であり、演算処理中に随時変化する。
ここでのリソース使用量情報103は、第一の演算部102にて既存ソフトウェア101を演算処理した場合のCPU負荷率の情報D12と、第一の演算部102にて既存ソフトウェア101を演算処理した場合のレイテンシの情報D13を含む。
【0027】
CPU負荷率の情報D12は、演算中のCPU負荷率として示されている。
ここでは、例えば、センサフュージョンのCPU負荷率は20%、オブジェクトトラッキングのCPU負荷率は25%、ローカルマップ作成のCPU負荷率は15%、軌道生成のCPU負荷率は12%、制御値算出のCPU負荷率は10%とされている。
また、CPU負荷率の情報D12には、これらの合計のCPU負荷率(ここでは82%)の情報も含まれている。
【0028】
レイテンシの情報D13には、演算中の処理時間がレイテンシとして示されている。
例えば、センサフュージョンのレイテンシは40ms、オブジェクトトラッキングのレイテンシは40ms、ローカルマップ作成のレイテンシは40ms、軌道生成のレイテンシは10ms、制御値算出のレイテンシは10msとされている。
また、レイテンシの情報D13には、これらの合計のレイテンシ(ここでは140ms)の情報も含まれている。
【0029】
図6は、リソース監視部104で監視して得られた最悪リソース使用量情報106の一例を示す図である。
最悪リソース使用量情報106は、第一の演算部102にて既存ソフトウェア101を演算処理した場合の最悪CPU負荷率の情報D14と、第一の演算部102にて既存ソフトウェア101を演算処理した場合の最悪レイテンシの情報D15を含む。
【0030】
これらの最悪CPU負荷率の情報D14と最悪レイテンシの情報D15は、次の図7に示すリソース監視処理によって、図5に示すCPU負荷率の情報D12およびレイテンシの情報D13として得られた値の最悪値(最大値)となるようにしている。
例えば、図6のオブジェクトトラッキングの最悪CPU負荷率は23%、ローカルマップ作成の最悪CPU負荷率は18%となり、合計の最悪CPU負荷率も83%となっており、図5に示すCPU負荷率とは相違している。
【0031】
[リソース監視処理]
図7は、この図5および図6に示す情報を得るためのリソース監視部104による処理手順を示したフローチャートである。
まず、リソース監視部104は、第一の演算部102からリソース使用量情報103を入手する(ステップS21)。また、リソース監視部104は、リソース情報保持部105が保持した最悪リソース使用量情報106を入手する(ステップS22)。
【0032】
次に、リソース監視部104は、ステップS21で入手したリソース使用量情報103で示される各ソフトウェアのリソースの値が、ステップS22で入手した最悪リソース使用量情報106の値より大きいか否かを判定する(ステップS23)。
ステップS23での判定結果が、最悪リソース使用量情報106の値より大きい場合(ステップS23のYES)、リソース監視部104は、最悪リソース使用量情報106の値を、リソース使用量情報103の値に基づき更新する(ステップS24)。そして、リソース監視部104は、更新した最悪リソース使用量情報106の値を出力して、リソース情報保持部105に保持させる(ステップS25)。
【0033】
また、ステップS23での判定結果が、最悪リソース使用量情報106の値と同じか小さい場合(ステップS23のNO)、リソース監視部104は、最悪リソース使用量情報の値を更新せずにリソース監視処理を終了する。
リソース監視部104は、この図7のフローチャートの処理を繰り返し実行する。
【0034】
なお、図6に示す最悪リソース使用量情報D14,D15が設定されて、図5に示すリソース使用量情報D12,D13の情報が入手された場合には、オブジェクトトラッキングのCPU負荷率25%が、最悪CPU負荷率23%よりも大きな値になる。したがって、リソース監視部104は、ステップS24で最悪CPU負荷率を25%に更新する。
【0035】
[新ソフトウェアのリソース使用量]
図8は、本例に新ソフトウェアリソース使用量情報2の一例を示す図である。
ここでは、ソフトウェアアップデートにより既存ソフトウェア101の中のフュージョン処理が更新される場合を想定している。
図8に示す新ソフトウェアリソース使用量D16では、新しくアップデートされるフュージョン機能について、更新後のフュージョンはCPU負荷率が40%、レイテンシが40msになることが示されている。
【0036】
[アップデート判断処理]
図9は、アップデート判断部107の処理手順を示すフローチャートである。
まず、アップデート判断部107は、新ソフトウェアリソース使用量情報2を入手する(ステップS31)。この新ソフトウェアリソース使用量情報2の入手は、アップデートを開始する任意のタイミングで行われる。ここでのアップデートを開始する任意のタイミングとは、例えば車両の停車時、車両の駐車時、車両の充電時(電気自動車又は充電可能なハイブリッド車の場合)、車両のユーザインターフェースによる通知時のいずれかのタイミングとすることで、車両の走行中を避けた適切なアップデートが可能になる。
【0037】
そして、アップデート判断部107は、リソース情報保持部105に保持された最悪リソース使用量情報106を入手する(ステップS32)。
次に、アップデート判断部107は、新ソフトウェアでアップデートを行った場合に、ハードウェアリソースが枯渇するかどうかを、新ソフトウェアリソース使用量情報2の値と、最悪リソース使用量情報106の更新対象ソフトウェア以外のソフトウェアの値とを加算して判断する(ステップS33)。
【0038】
例えば、図8に示す新ソフトウェアリソース使用量D16(フュージョンのCPU負荷率40%、レイテンシ40ms)のとき、図6に示す最悪リソース使用量情報D14,D15のフュージョンの値を、新ソフトウェアリソース使用量D16で更新して合計値を求める。この合計値が一定のCPU負荷率(例えば100%あるいは余裕を持たせた95%などの)を超えた場合、あるいはレイテンシの合計が処理周期を超えた場合、アップデート判断部107は、ハードウェアリソースが枯渇すると判断する。なお、枯渇すると判断するCPU負荷率は、余裕を持たせた95%や90%などの100%よりも低い値としてもよい。同様に、レイテンシについても処理周期よりも短い時間としてもよい。
【0039】
そして、ステップS33の判断で、ハードウェアリソースが枯渇すると判断したとき(ステップS33のYES)、アップデート判断部107は、アップデート判断結果情報108として、アップデートできないことを示す「NG」を出力する(ステップS34)。
さらに、アップデート判断部107は、配置変更依頼情報109を出力して(ステップS34)、アップデート判断処理を終了する。
【0040】
また、ステップS33の判断で、ハードウェアリソースが枯渇しないと判断したとき(ステップS33のNO)、アップデート判断部107は、アップデート判断結果情報108として、アップデート可能を示す「OK」を出力して(ステップS36)、アップデート判断処理を終了する。
【0041】
図10は、アップデート判断結果情報108の例を示す。ここでは、アップデート判断結果「NG」の情報D17を示す。この図10に示すアップデート判断結果情報108の場合には、配置変更依頼が行われる。一方、図示は省略するがアップデート判断結果「OK」の場合には、アップデート実行部110でのアップデートが実行される。
【0042】
[アップデート実行処理]
図11は、アップデート実行部110によるアップデート実行時の処理手順を示すフローチャートである。
アップデート実行部110は、アップデート判断結果情報108を入手する(ステップS41)。そして、アップデート実行部110は、入手した判断結果が「OK」であるか否かを判断する(ステップS42)。このステップS42の判断で、判断結果「OK」の場合には(ステップS42のYES)、アップデート実行部110は、用意された新ソフトウェアによるアップデートを実行して(ステップS43)、アップデート実行処理を終了する。一方、ステップS42の判断で、判断結果「NG」の場合には(ステップS42のNO)、アップデートを実行せずに、アップデート実行処理を終了する。
【0043】
[配置変更依頼の例]
図12は、本例の配置変更依頼情報109の一例を示す図である。
図12の例の配置変更依頼の情報D19には、制御値算出のソフトウェアのCPU負荷率情報(10%)とレイテンシ情報(10ms)を含む配置を変更するソフトウェアとして制御値算出が記載されている。
なお、ここでの配置を変更するソフトウェアは、新ソフトウェアにアップデートした場合に、CPU負荷率やレイテンシが、ハードウェアリソースが枯渇しないようにするために、アップデート判断部107などで選択されるものである。すなわち、いずれのソフトウェアを別の演算部で実行させるように配置変更依頼するかは、新ソフトウェアの実行時に伴う第一の演算部102と、別の演算部(第二の演算部3)とのレイテンシを考慮して判断される。
【0044】
[配置変更依頼の送信処理]
図13は、本例のソフトウェア配置変更依頼送受信部111の処理手順を示すフローチャートである。
まず、ソフトウェア配置変更依頼送受信部111は、配置変更依頼情報109を入手する(ステップS51)。そして、ソフトウェア配置変更依頼送受信部111は、入手した配置変更依頼情報109を、別の車両制御装置の第二の演算部3に出力して(ステップS52)、配置変更依頼の送信処理を終了する。
【0045】
なお、配置変更依頼を受信した第二の演算部3は、図1の構成と同様の構成になっており、配置変更依頼が行われたソフトウェアを実行した場合に、ハードウェアリソースが枯渇しないか否かを判断する。そして、第二の演算部3は、その結果で配置変更依頼を受ける場合に、ソフトウェア配置変更依頼送受信部111に変更依頼OKの返信を行う。
また、該当する配置変更を行うソフトウェアの情報(プログラムデータ)も、第一の演算部102を有する車両制御装置1から、第二の演算部3を有する車両制御装置に転送される。あるいは、ソフトウェアのプログラムデータは、第一の演算部102を有する車両制御装置1の記憶部が保持したまま、第二の演算部3を有する車両制御装置は、該当するプログラムデータを、ネットワークNWを経由して読み出して実行してもよい。
【0046】
[ソフトウェアの配置変更の例]
図14および図15は、ソフトウェアのアップデート前後のソフトウェア配置の違いを示す図である。
例えば、図14に示すように、第一の演算部102が、フュージョンSW1、オブジェクトトラッキングSW2、ローカルマップ作成SW3、軌道生成SW4、および制御値算出SW5の各ソフトウェアを実行する構成になっており、第二の演算部3はその他のソフトウェアを実行する構成になっているものとする。
【0047】
この状態で、例えばフュージョンSW1が新ソフトウェアのフュージョンSW1′にアップデートされたとする。ここで、そのままでは第一の演算部102のハードウェアリソースが枯渇すると判断された場合に、図15に示すように配置変更が行われる。
すなわち、図15に示すように、フュージョンSW1′、オブジェクトトラッキングSW2、ローカルマップ作成SW3、および軌道生成SW4が、第一の演算部102で実行される。そして、制御値算出SW5が第二の演算部3で実行されるようになる。
【0048】
この図15の例では、新ソフトウェアであるフュージョンSW1′は、第一の演算部102で行うようにしたが、逆に、新ソフトウェアであるフュージョンSW1′を第二の演算部3で実行するようにしてもよい。あるいは、アップデートに関係した全てのソフトウェアを、第二の演算部3で実行するようにしてもよい。また、新ソフトウェアであるフュージョンSW1′の一部を第一の演算部102で行うようにし、フュージョンSW1′の残りの一部を第二の演算部3で実行するようにしてもよい。
いずれのソフトウェアを第二の演算部3で実行させるかは、新ソフトウェアの実行時に伴う第一の演算部102と第二の演算部3とのレイテンシを考慮して行われる。
【0049】
以上説明した処理が行われることで、本例の車両制御装置により、ソフトウェアの処理時のレイテンシを考慮しつつ、複数の演算部の間でソフトウェア配置を変更する処理が行われる。したがって、ソフトウェアのアップデートによって、1つの演算部ではハードウェアリソースが枯渇する場合であっても、別の演算部と協調してアップデートが行われ、適切にソフトウェアのアップデートが実現できるようになる。
【0050】
また、アップデート判断部107によるアップデートの可否の判断として、CPU負荷率とレイテンシとから判断するようにしたため、比較的簡単にリソース使用状況を判断でき、アップデートの可否の判断が少ない演算で簡単に行える効果を有する。なお、CPU負荷率とレイテンシとからアップデートの可否を判断するのは一例であり、CPU負荷率とレイテンシの他に、メモリ使用量を加えてもよい。CPU負荷率とレイテンシとメモリ使用量とからリソース使用状況を判断することで、リソース使用状況をより的確に判断できるようになる。
あるいは、アップデート判断部107は、CPU負荷率とレイテンシとメモリ使用量のいずれか1つから、リソース使用状況を判断してもよい。これによりリソース使用状況を判断する際に判定する数値が一つでよく、簡単にリソース使用状況を判断できるようになる。
【0051】
また、図15に示したように、新ソフトウェアについては第一の演算部102で行うようにして、既存ソフトウェアの一部を第二の演算部3で行うように構成変更を行うようにしたことで、各演算部のハードウェア資源を有効に使ったアップデートが可能になる。この場合の配置変更の判断についても、CPU負荷率、レイテンシ、メモリ使用量などのリソース使用状況に基づいて行うことで、最適な配置変更ができるようになる。
【0052】
[変形例]
なお、ここまで説明した実施の形態例は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
例えば、車両制御装置1がアップデートを実行するタイミングについては、車両の任意のタイミングに行うことが可能である。すなわち、新ソフトウェアの全構成を第一の演算部102においてアップデート可能か、あるいは新ソフトウェアの一部構成を第二の演算部3に配置変更するかを、リソース情報保持部105の保持情報の一部である最悪リソース使用量情報106(中央処理ユニットの負荷率、メモリ使用量、レイテンシの少なくともいずれか1つ)に基づいて判断することを、車両の任意のタイミングで行うことで、適切なアップデートが可能になる。
ここでの車両の任意のタイミングとは、例えば車両の停車時、車両の駐車時、車両の充電時(電気自動車又は充電可能なハイブリッド車の場合)、車両のユーザインターフェースによる通知時のいずれかのタイミングとすることで、車両の走行中を避けた適切なアップデートが可能になる。
【0053】
また、上述した実施の形態例では、車両制御装置の外部にある別の車両制御装置の演算部とのソフトウェア配置変更を例にして説明したが、演算部の配置箇所には上述した実施の形態例に限定されるものではなく、本発明は、複数の演算部が搭載されたシステムに広く適用可能である。
また、図1図2に示す構成図では、制御線や情報線は説明上必要と考えられるものだけを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
また、図4以降に示すフローチャートの処理の流れについても一例であり、処理結果が同じであれば、一部の処理順序を変えたり、複数の処理を同時に実行したりしてもよい。
【0054】
また、本発明の車両制御装置で行われる処理は、プログラム(ソフトウェア)の実行により行われるものであり、例えば既存の情報処理装置(コンピュータ)に、実施の形態例で説明した処理を実行するプログラムを実装することで、本発明の車両制御装置として機能させてもよい。この場合のプログラムの情報は、メモリや、ハードディスク、SSD(Solid State Drive)、ICカード、SDカード光ディスク等の各種記録媒体に置くことができる。
また、車両制御装置は、図2に示す構成では、CPUの制御で実行される情報処理装置(コンピュータ)で構成した例としたが、車両制御装置が行う機能の一部又は全部を、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などの専用のハードウェアによって実現してもよい。
【符号の説明】
【0055】
1,1a,1b,1c,1d…車両制御装置、2…ソフトウェアリソース使用量情報、3…第二の演算部、11…CPU、12…ワークメモリ、13…記憶部、14…インターフェース、101…既存ソフトウェア保持部、102…第一の演算部、103…リソース使用量情報、104…リソース監視部、105…リソース情報保持部、106…最悪リソース使用量情報、107…アップデート判断部、108…アップデート判断結果情報、109…配置変更依頼情報、110…アップデート実行部、111…ソフトウェア配置変更依頼送受信部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15