JP7508293B2 - 車両制御装置 - Google Patents

車両制御装置 Download PDF

Info

Publication number
JP7508293B2
JP7508293B2 JP2020115578A JP2020115578A JP7508293B2 JP 7508293 B2 JP7508293 B2 JP 7508293B2 JP 2020115578 A JP2020115578 A JP 2020115578A JP 2020115578 A JP2020115578 A JP 2020115578A JP 7508293 B2 JP7508293 B2 JP 7508293B2
Authority
JP
Japan
Prior art keywords
verification
control software
unit
time
control device
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.)
Active
Application number
JP2020115578A
Other languages
English (en)
Other versions
JP2022013187A (ja
Inventor
祐 石郷岡
一 芹沢
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo Ltd
Filing date
Publication date
Application filed by Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Priority to JP2020115578A priority Critical patent/JP7508293B2/ja
Priority to US18/009,896 priority patent/US20230222050A1/en
Priority to PCT/JP2021/022058 priority patent/WO2022004324A1/ja
Priority to DE112021002403.5T priority patent/DE112021002403T5/de
Publication of JP2022013187A publication Critical patent/JP2022013187A/ja
Application granted granted Critical
Publication of JP7508293B2 publication Critical patent/JP7508293B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、車両制御装置に関する。
自動運転システムは複数の電子制御ユニット(ECU)で構成される。例えば、カメラなどの外界環境を認識するECUと、認識した外界情報に基づいて走行経路を決定する自動運転ECUと、決定された経路に基づいて車両を走行させるためにステアリングなどを制御するアクチュエータECUで構成される。
運転手の代わりに走る、曲がる、止まるを判断・実施する自動運転システムの高度化に伴い、外界認識・走行経路計画・車両制御を実現する制御ソフトウェアの複雑化が進展している。
高品質な自動運転システムの実現には、十分なテストが求められるが、システムの稼働条件が膨大であるために、まれに発生する状況も含めたテストケースの設計が困難である。特に機械学習を含む制御ソフトウェアの場合、特定の状況で精度を向上させた制御ソフトウェアが、別の状況で精度が低下している可能性があり、網羅性の高い検証手法が求められる。
特許第6571897号公報
特許文献1記載の技術によると、マルチコア対応の制御ソフトウェアにおいて、第一の制御ソフトウェアと、一部が変更された第二の制御ソフトウェアに対して、同一のテストケースで実行した処理結果を比較することで、並行性処理の妥当性と前記並行性欠陥の原因を推定できる。
しかしながら、特許文献1では、予め設計されたテストケースで品質が依存しているため、本発明が求める高い網羅性を達成することができない課題がある。
本発明は、上記のような課題を解決するためになされたものであり、オンボードで旧バージョンの制御ソフトウェア(旧制御ソフト部)と新バージョンの制御ソフトウェア(新制御ソフト部)の出力から、精度に影響を与える実行条件を特定することができる車両制御装置を提供することを目的とする。
上記目的を達成するために、本発明の車両制御装置は、走行中の車両のセンサによる時系列の入力値を示す時系列入力値を保存する時系列テスト入力保存部と、実時間において所定の周期で旧バージョンの制御ソフトウェアを示す旧制御ソフト部を実行し、センサ値に基づいて車両の制御指令を算出する算出部と、前記実時間から分離された検証内時間を管理し、前記検証内時間に対応する前記時系列入力値を用いて、前記旧制御ソフト部および新バージョンの制御ソフトウェアを示す新制御ソフト部を並行または並列に実行する検証管理部と、前記旧制御ソフト部の出力と前記新制御ソフト部の出力が不一致に相当する場合に不一致を示す情報を出力する検証処理を行う出力検証部と、を備える。
本発明によれば、旧制御ソフト部と新制御ソフト部の出力から、精度に影響を与える実行条件を特定することができる。上記した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
実施の形態1に係るシステムと車両制御装置の構成図である。 実施の形態1に係る旧制御ソフト部の処理フローである。 実施の形態1に係る新制御ソフト部の処理フローである。 実施の形態1、2、3に係るセンサ受信部の処理フローである。 実施の形態1、3に係る検証管理部の処理フローである。 実施の形態1、2、3に係る時系列テスト入力保存部の処理フローである。 実施の形態1、2、3に係る時系列テストケース定義部の処理フローである。 実施の形態1、2、3に係る出力比較部の処理フローである。 実施の形態1、2、3に係る送信部の処理フローである。 実施の形態1、2、3に係るセンシング部の処理フローである。 実施の形態1、2、3に係る転送処理部の処理フローである。 実施の形態1、2、3に係る制御処理部の処理フローである。 実施の形態1、2、3に係る情報保存部の処理フローである。 実施の形態1に係る車両制御装置のデータフローである。 実施の形態1に係る車両制御装置のスケジューリング情報である。 実施の形態2に係るシステムと車両制御装置の構成図である。 実施の形態2に係る旧制御ソフト部の動作フローである。 実施の形態2に係る新制御ソフト部の動作フローである。 実施の形態2に係る検証管理部の動作フローである。 実施の形態2に係る車両制御装置のスケジューリング情報である。 実施の形態3に係るシステムと車両制御装置の構成図である。 実施の形態3に係る切替監視部の動作フローである。 実施の形態3に係る車両制御装置のスケジューリング情報である。 実施の形態4に係る車両制御装置のスケジューリング情報である。
以下、図面を用いて本発明の実施の形態について説明する。
本発明の実施の形態に係る車両制御装置は、オンボードでセンサ情報を一定時間の間、時系列に保存する。保存した時系列センサ情報からテストケースを生成し、実時間とは異なる検証内時間に基づいて旧制御ソフトと新制御ソフトを前記テストケースで実行する。それらの出力結果を比較することで精度に影響を与える実行条件を特定できる。旧制御ソフトを実行していない空きリソース(時間、CPU)を用いて検証するため、コストを抑制しつつ、自動運転システムを検証できる。
(実施の形態1)
図1は、本発明の実施の形態1に係るシステムと車両制御装置の構成図を示す。自動運転システム1は、自動運転ECU11、センサECU12、ゲートウェイECU13、アクチュエータECU14、クラウド15で構成される。自動運転ECU11はセンサECU12、ゲートウェイECU13、アクチュエータECU14と通信可能であり、クラウド15にはゲートウェイECU13経由でデータの送受信が可能である。
自動運転ECU11は旧制御ソフト部111、旧制御ソフト部112、新制御ソフト部113、センサ値受信部114、検証管理部115、時系列テスト入力保存部116、時系列テストケース定義部117、出力比較部118、送信部119で構成される。
また、自動運転ECU11は、CPU-A101、CPU-B102、CPU-C103を搭載し、新制御ソフト検証出力値104、旧制御ソフト検証出力値105、新制御ソフト検証入力値106、旧制御ソフト検証入力値107、時系列入力値108、旧制御ソフト入力値109を備える。
センサECU12はセンシング部121で構成される。ゲートウェイECU13は転送処理部131で構成される。アクチュエータECU14は制御処理部141で構成される。クラウド15は情報保存部151で構成される。
以降より、実施の形態1に係る動作フローの詳細を説明する。
図2は旧制御ソフト部111と旧制御ソフト部112の動作フローである。以下、図2の各ステップについて説明する。
(図2:ステップ1111)
旧制御ソフト部111または112は入力されたセンサ値に基づいて認識処理・経路計画・制御指令を算出する。旧制御ソフト部111は旧制御ソフト入力値109から、旧制御ソフト部112は旧制御ソフト検証入力値107を参照しセンサ値を読み出す。
(図2:ステップ1112)
旧制御ソフト部111または112は、自身が検証で用いられるプログラムか否かを判定し、偽(N:NO)である場合にはステップ1113に進み、真(Y:YES)である場合にはステップ1114に進む。
(図2:ステップ1113)
旧制御ソフト部111または112は、送信部119を利用して制御指令をアクチュエータECUに送信する。
(図2:ステップ1114)
旧制御ソフト部111または112は、検証対象となる計算結果を旧制御ソフト検証出力値105に保存する。
図3は新制御ソフト部113の動作フローである。以下、図3の各ステップについて説明する。
(図3:ステップ1131)
新制御ソフト部113は入力されたセンサ値に基づいて認識処理・経路計画・制御指令を算出する。
(図3:ステップ1132)
新制御ソフト部113は、検証対象となる計算結果を新制御ソフト検証出力値104に保存する。
図4はセンサ値受信部114の動作フローである。以下、図4の各ステップについて説明する。
(図4:ステップ1141)
センサ値受信部114はセンサECU12からセンサ値を受信し、旧制御ソフト入力値109に保存する。
(図4:ステップ1142)
センサ値受信部114は受信したセンサ値を入力として、時系列ソフト入力保存部116を実行する。
図5は検証管理部115の動作フローである。以下、図5の各ステップについて説明する。
(図5:ステップ1151)
検証管理部115は、検証フラグがONであるか否かを判定し、偽(N:NO)である場合には本動作フローを終了する。真(Y:YES)である場合にはステップ1152に進む。
(図5:ステップ1152)
検証管理部115は、検証内時間が検証終了時間を超過するか否かを判定し、真(Y:YES)である場合にはステップ1153に進み、偽(N:NO)である場合にはステップ1154に進む。検証内時間は車両制御装置起動時に初期化される想定である。
(図5:ステップ1153)
検証管理部115は、検証内時間を初期化した後に、検証フラグをOFFにする。
(図5:ステップ1154)
検証管理部115は、時系列テストケース定義部117を実行し、現在の検証内時間に対応したテストケースを入手する。
(図5:ステップ1155)
検証管理部115は、前記テストケースを入力として、検証用の旧制御ソフト部112を実行する。
(図5:ステップ1156)
検証管理部115は、前記テストケースを入力として、検証用の新制御ソフト部113を実行する。
(図5:ステップ1157)
検証管理部115は、旧制御ソフト部112と新制御ソフト部113の出力を比較するために出力比較部118を実行する。
(図5:ステップ1158)
検証管理部115は、検証内時間を進め、ステップ1152に進む。
図6は時系列テスト入力保存部116の動作フローである。以下、図6の各ステップについて説明する。
(図6:ステップ1161)
時系列テスト入力保存部116は、入力されたセンサ値を時系列入力値108に保存する。
(図6:ステップ1162)
時系列テスト入力保存部116は、メモリに空き領域があるか否かを判定し、真(Y:YES)である場合には本動作フローを終了し、偽(N:NO)である場合にはステップ1163に進む。本実施例では、センサ値を保存する終了条件および検証を開始する条件をメモリの空き領域としているがこれに限らない。例えば、一定時間の間のセンサ値を保存することを終了条件としてよい。さらに、終了条件と開始条件を異なる条件としてよい。例えば、終了条件をメモリの空き領域が一定以下、開始条件をCPU負荷が一定以下としてもよい。
(図6:ステップ1163)
時系列テスト入力保存部116は、検証フラグをONにする。
図7は時系列テストケース定義部117の動作フローである。以下、図7の各ステップについて説明する。
(図7:ステップ1171)
時系列テストケース定義部117は、時系列入力値108から現在の検証内時間に対応する入力値を旧制御ソフト検証入力値107と新制御ソフト検証入力値106にコピーする。
図8は出力比較部118の動作フローである。以下、図8の各ステップについて説明する。
(図8:ステップ1181)
出力比較部118は、旧制御ソフト検証出力値105と新制御ソフト検証出力値104を比較する。
(図8:ステップ1182)
出力比較部118は、比較した結果が一致しているか否かを判定し、真(Y:YES)である場合には本動作フローを終了し、偽(N:NO)である場合にはステップ1183に進む。本実施例では、出力結果が妥当であるか否かを比較結果との一致によって判定しているがこれに限らない。例えば、各々出力値が予め設定した正解値と比較することで妥当性を判定してもよい。正解値とは危険状態に到達する可能性のある条件である。しかしこれに限らない。
ここで、危険状態は、異常値(例えば、シーンにそぐわない値、連続性がない値)を出力する状態である。具体的には、例えば、高速道路にそぐわない物体が識別される状態や、AIで物体を識別するときに、今まで「人」として識別されていた物体が急に「猫」と判定されるような状態である。
例えば、出力検証部は、旧制御ソフト部112の出力と新制御ソフト部113の出力をそれぞれ正解値と比較し、それぞれの比較結果のうち少なくとも一方が正解値と異なる場合に不一致を示す情報を出力するようにする。
(図8:ステップ1183)
出力比較部118は、時系列入力値108とマイコン情報(CPUやペリフェラル)、実行情報(CPU負荷、メモリ消費量、スケジューリングログ)などをゲートウェイECU経由でクラウド15に送信する。本実施例では、クラウドに送信しているがこれに限らない。例えば、同じ車両に搭載したドライブレコーダなどの記憶装置に保存してもよい。
図9は送信部119の動作フローである。以下、図9の各ステップについて説明する。
(図9:ステップ1191)
送信部119は、入力されたデータを指定先に送信する。指定先とは、例えば、アクチュエータECU14やクラウド15である。
図10はセンシング部121の動作フローである。以下、図10の各ステップについて説明する。
(図10:ステップ1211)
センシング部121は、センシングしたセンサ値を自動運転ECU11に送信する。
図11は転送処理部131の動作フローである。以下、図11の各ステップについて説明する。
(図11:ステップ1311)
転送処理部131は、入力されたデータをクラウド15に転送する。
図12は制御処理部141の動作フローである。以下、図12の各ステップについて説明する。
(図12:ステップ1411)
制御処理部141は、入力された制御指令値に基づいてアクチュエータを制御する。
図13は情報保存部151の動作フローである。以下、図13の各ステップについて説明する。
(図13:ステップ1511)
情報保存部151は、受信した時系列入力値108とマイコン情報(CPUやペリフェラル)、実行情報(CPU負荷、メモリ消費量、スケジューリングログ)などを保存する。
図14は実施の形態1に係る車両制御装置のデータフローである。
センサ値受信部114は受信したセンサ値を時系列テスト入力保存部116に入力する。また、センサ値受信部114は受信したセンサ値を旧制御ソフト入力値109に保存する。旧制御ソフト部111は入力されたセンサ値に基づいて演算を行い、その結果を送信部119で送信する。
時系列テスト入力保存部116は入力されたセンサ値を時系列入力値108に保存する。換言すれば、時系列テスト入力保存部116は、走行中の車両のセンサによる時系列の入力値を示す時系列入力値を保存する。
時系列テストケース定義部117は時系列入力値108から検証内時間に応じた保存済みセンサ値を、旧制御ソフト検証入力値107と新制御ソフト検証入力値106に保存する。換言すれば、時系列テストケース定義部117は、時系列入力値から検証内時間に対応する入力値を含むテストケースを選定する。
旧制御ソフト部112は旧制御ソフト検証入力値107を入力として演算を行い、その結果を旧制御ソフト検証出力値105に保存する。新制御ソフト部113は新制御ソフト検証入力値106を入力として演算を行い、その結果を新制御ソフト検証出力値104に保存する。出力比較部118は旧制御ソフト検証出力値105と新制御ソフト検証出力値104を比較し、結果に応じてテスト条件情報を送信部で送信する。
換言すれば、検証管理部は、旧バージョンの制御ソフトウェアを示す旧制御ソフト部112と、新バージョンの制御ソフトウェアを示す新制御ソフト部113を並行(図15参照)または並列(図20参照)に実行する。出力検証部は、旧制御ソフト部112の出力と新制御ソフト部113の出力が不一致に相当する場合に不一致を示す情報を出力する。具体的には、例えば、出力検証部は、旧制御ソフト部112の出力と新制御ソフト部113の出力を比較し、それらが不一致の場合に不一致を示す情報を出力する。
本実施の形態では、出力検証部は、旧制御ソフト部112の出力と新制御ソフト部113の出力が不一致の場合に時系列入力値を外部に出力する出力比較部を含む。
図15は実施の形態1に係る自動運転ECU11のスケジューリング情報である。実施の形態1ではCPU-A101を、制御処理を実行する制御コアとして用い、CPU-B102を、検証処理を実行する検証コアとして用いる。具体的にはCPU-A101で旧制御ソフト部111を100ms周期で実行する。一方、CPU-B102では検証処理を検証内時間に基づいて実行する。換言すれば、出力検証部は、旧制御ソフト部111を実行する制御用のCPU-A101(プロセッサ)と別のCPU-B102(プロセッサ)で検証処理を実行する。
図15に示すように実施の形態1では旧制御ソフト部112と新制御ソフト部113を順次実行する。また、実施の形態1の構成では、実時間と検証内時間は一致しない可能性が高い。一致させるには旧制御ソフト部111の実行周期内に、旧制御ソフト部112と新制御ソフト部113の双方の実行を終了させる必要がある。本発明の実施の形態では、実時間と検証内時間を分離しているため、そのような高性能なマイコンでなくても、検証を可能としている。
本実施の形態1によると、時系列入力値は1種類に限らない。例えば2種類以上のセンサ値の時系列データでも良い。またテスト条件に関係すれば、センサ値に限らない。
本実施の形態1によると、時系列入力値は旧制御ソフト部や新制御ソフト部への入力値に限らない。例えば、旧制御ソフト部や新制御ソフト部を分割した中間データであってもよい。
本実施の形態1によると、旧制御ソフト検証出力値や新制御ソフト検証出力値に保存されるデータは、旧制御ソフト部や新制御ソフト部が算出するアクチュエータECUへの制御指令に限らない。例えば、機械学習ベースの認識処理の結果や判断処理の結果などでも良い。
本実施の形態1によると、検証フラグをONとする条件をメモリに空き領域がなくなった条件としているが(図6、ステップ1162:NO)、これに限らない。例えば、一定時間の間のセンサ値を保存したことを条件としてもよい。またこれに限らない。例えば、手動運転状態や駐車状態などの予め決めた特定状態であることを条件としてもよい。あるいは、予め設定したCPU負荷以下となったときに検証フラグをONとする条件であってもよい。
本実施の形態1によると、検証フラグをOFFとする条件を、検証内時間が終了時間を超えたときとしているが(図5、ステップ1152:YES)、これに限らない。例えば、今後多くの計算リソースを使用する可能性が高い場合には、事前に検証フラグをOFFとすることが考えられる。これには自車がヒアリハット多発地点に近づいた状況であったり、新しいソフトウェアをインストールする状況などであることが考えられるが、これらに限らない。
本実施の形態1によると、旧制御ソフト部と新制御ソフト部の出力結果を比較しているが、これに限らない。例えば、各々の出力結果を予め設定した正解値または基準値と比較し、その比較結果が一致しないときに、クラウドに報告することが考えられる。またこれに限らない。
本実施の形態1によると、比較結果が一致しないときに時系列入力値をクラウドに報告しているがこれに限らない。時系列入力値のすべてでも良いし、一致しなかった時間のものでも良い。さらに、演算結果となる出力値も同時に送付してもよい。またこれらに限らない。クラウドに報告されたデータは新制御ソフト部の再学習や不具合修正に用いられる。
本実施の形態1によると、旧制御ソフト部と新制御ソフト部の2種類の制御ソフトウェアを比較しているが、これに限らない。例えば、旧制御ソフト部が2種類、新制御ソフト部が2種類、またはそれ以上であってもよい。
本実施の形態1によると、時系列テストケース定義部117が、検証対象の旧制御ソフト部111、112や新制御ソフト部113に対してテストケースを選定するため、時系列入力値と旧制御ソフト検証入力値と新制御ソフト検証入力値が一致しなくてもよい。
本実施の形態1によると、旧制御ソフト部と新制御ソフト部を交互に実行しているが(図15)、これに限らない。例えば、最初に旧制御ソフト部を一定時間実行し、その後に検証内時間を巻き戻し、巻き戻した検証内時間に基づいたテストケースで新制御ソフト部を一定時間実行してもよい。また実行順序はこの逆でも良い。
換言すれば、並行に実行するとは、例えば、旧制御ソフト部を一定の範囲の検証内時間で実行した後に新制御ソフト部を一定の範囲の検証内時間で実行する、または新制御ソフト部を一定の範囲の検証内時間で実行した後に旧制御ソフト部を一定の範囲の検証内時間で実行することである。
本実施の形態1では、旧制御ソフト部と新制御ソフト部は独立のメモリ空間となっていることを前提としている。例えば、事前に共有変数を持たないように設計されたスレッドで旧制御ソフト部と新制御ソフト部を実行してもよいし、プロセスで分離して実行してもよいし、コンテナで分離して実行してもよいし、ハイパーバイザで分離して実行しても良い。
本実施の形態1によると、本発明の実施の形態によって空いているCPUを用いて旧制御ソフト部と新制御ソフト部を検証できるため、各々に対して専用のCPUを用意する場合と比較して、低コストで検証を実現できる。
(実施の形態2)
図16は、本発明の実施の形態2に係るシステムと車両制御装置の構成図を示す。自動運転システム2は、自動運転ECU21の他、実施の形態1と同様のECUで構成される。自動運転ECU21は旧制御ソフト部212、新制御ソフト部213、検証管理部215の他、実施の形態1と同様の機能で構成される。
以降より、実施の形態2に係る動作フローの詳細を説明する。
図17は旧制御ソフト部212の動作フローである。以下、図17の各ステップについて説明する。
(図17:ステップ2111)
旧制御ソフト部212は、検証管理部215からの実行要求イベントを待つ。実行要求イベントが発行された際にはステップ2112に進む。
(図17:ステップ2112)
旧制御ソフト部212は、入力されたセンサ値に基づいて認識処理・経路計画・制御指令を算出する。旧制御ソフト部212は旧制御ソフト入力値109から、旧制御ソフト部212は旧制御ソフト検証入力値107を参照しセンサ値を読み出す。
(図17:ステップ2113)
旧制御ソフト部212は、自身が検証で用いられるプログラムか否かを判定し、偽(N:NO)である場合にはステップ2114に進み、真(Y:YES)である場合にはステップ2115に進む。
(図17:ステップ2114)
旧制御ソフト部212は、送信部119を利用して制御指令をアクチュエータECUに送信する。
(図17:ステップ2115)
旧制御ソフト部212は、検証対象となる計算結果を旧制御ソフト検証出力値105に保存する。
(図17:ステップ2116)
旧制御ソフト部212は、終了イベントを発行する。
図18は新制御ソフト部213の動作フローである。以下、図18の各ステップについて説明する。
(図18:ステップ2131)
新制御ソフト部213は、検証管理部215からの実行要求イベントを待つ。実行要求イベントが発行された際にはステップ2132に進む。
(図18:ステップ2132)
新制御ソフト部213は入力されたセンサ値に基づいて認識処理・経路計画・制御指令を算出する。
(図18:ステップ2133)
新制御ソフト部213は、検証対象となる計算結果を新制御ソフト検証出力値104に保存する。
(図18:ステップ2134)
新制御ソフト部213は、終了イベントを発行する。
図19は検証管理部215の動作フローである。以下、図19の各ステップについて説明する。
(図19:ステップ2151)
検証管理部215は、検証フラグがONであるか否かを判定し、偽(N:NO)である場合には本動作フローを終了する。真(Y:YES)である場合にはステップ2152に進む。
(図19:ステップ2152)
検証管理部215は、検証内時間が検証終了時間を超過するか否かを判定し、真(Y:YES)である場合にはステップ2153に進み、偽(N:NO)である場合にはステップ2154に進む。検証内時間は車両制御装置起動時に初期化される想定である。
(図19:ステップ2153)
検証管理部215は、検証内時間を初期化した後に、検証フラグをOFFにする。
(図19:ステップ2154)
検証管理部215は、時系列テストケース定義部117を実行し、現在の検証内時間に対応したテストケースを入手する。
(図19:ステップ2155)
検証管理部215は、前記テストケースを入力として、検証用の旧制御ソフト部212に実行要求イベントを発行する。
(図19:ステップ2156)
検証管理部215は、前記テストケースを入力として、検証用の新制御ソフト部213に実行要求イベントを発行する。
(図19:ステップ2157)
検証管理部215は、旧制御ソフト部212と新制御ソフト部213から発行される実行終了イベントを待つ。
(図19:ステップ2158)
検証管理部215は、旧制御ソフト部212と新制御ソフト部213の出力を比較するために出力比較部118を実行する。
(図19:ステップ2159)
検証管理部215は、検証内時間を進め、ステップ2152に進む。
このように、検証管理部215は、検証期間内の時間を示す検証内時間を管理し、検証内時間に基づいて旧制御ソフト部212と新制御ソフト部213を実行する。
図20は実施の形態2に係る自動運転ECU21のスケジューリング情報である。実施の形態2ではCPU-A101を、制御処理を実行する制御コアとして用い、CPU-B102とCPU‐C103を、検証処理を実行する検証コアとして用いる。具体的にはCPU-A101で旧制御ソフト部111を100ms周期で実行する。一方、CPU-B102とCPU-C103では検証処理を検証内時間に基づいて実行する。
換言すれば、並列に実行するとは、例えば、旧制御ソフト部と新制御ソフト部を互いに異なるプロセッサ(CPU-B102とCPU-C103)に割り当て、同じテストケースを用いて互いに同期して実行することである。
図20に示すように実施の形態2では旧制御ソフト部212をCPU-C103で、新制御ソフト部213をCPU-B102で実行する。実施の形態2は旧制御ソフト部212と新制御ソフト部213を並列実行しているため、検証時間が短くなる特徴がある。
本実施の形態2によると、旧制御ソフト部と新制御ソフト部を別のCPUを用いて検証できるため、検証に要する時間を短縮することができる。
(実施の形態3)
図21は、本発明の実施の形態3に係るシステムと車両制御装置の構成図を示す。自動運転システム3は、自動運転ECU31の他、実施の形態1と同様のECUで構成される。自動運転ECU31は切替監視部310の他、実施の形態1と同様の機能で構成される。
図22は切替監視部310の動作フローである。以下、図22の各ステップについて説明する。
(図22:ステップ3101)
切替監視部310は、自動運転要求があるか否かを判定し、偽(N:NO)である場合にはステップ3102に進み、真(Y:YES)である場合にはステップ3103に進む。自動運転要求は、運転手が自動運転開始ボタンを押下する等のイベントである。
(図22:ステップ3102)
切替監視部310は、検証処理許可を出す。すなわち、検証処理を停止させていた場合には、それらの再開処理を実施し、すでに検証処理を実行している場合には継続する。
(図22:ステップ3103)
切替監視部310は、現在検証処理を実行中であるか否かを判定する。真(Y:YES)である場合にはステップ3104に進み、偽(N:NO)である場合にはステップ3105に進む。
(図22:ステップ3104)
切替監視部310は、現在実行中の検証処理を停止させる。
(図22:ステップ3105)
切替監視部310は、旧制御ソフトを実行する。
図23は実施の形態3に係る自動運転ECU31のスケジューリング情報である。実施の形態3ではすべての処理をCPU-A101で実行する。そして、検証モードで検証処理を行い、自動運転モードでは検証処理を実行しない。検証モードは、例えば、バッテリーの充電中、手動運転中等が該当する。
換言すれば、出力検証部は、旧制御ソフト部が実行中でない時に、空きリソース(時間、CPU)を用いて検証処理を実行する。
このようにすることで旧制御ソフト部101と、旧制御ソフト部102の同時処理を避けることができ、メモリ消費量を抑制することができる。
本実施の形態3によると、空いている旧制御ソフト部と新制御ソフト部を別のCPUを用いて検証できるため、検証に要する時間を短縮することができる。
(実施の形態4)
図24は実施の形態4に係る自動運転ECU11のスケジューリング情報である。実施の形態4ではすべての処理をCPU-A101で実行する。旧制御ソフト部の空いている時間(例えば、車両の回りに人や車がいないとき)に検証処理を実行する。旧制御ソフト部の処理実行優先度を高くする設定をオペレーティングシステムに行うことで、旧制御ソフト部に影響を与えずに検証処理を実行できる。
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上述した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
なお、本発明の実施の形態は、以下の態様であってもよい。
(1).旧バージョンの制御ソフトウェアを示す旧制御ソフト部と、新バージョンの制御ソフトウェアを示す新制御ソフト部を並行または並列に実行する検証管理部と、複数の前記制御ソフトのそれぞれの出力を比較し、不一致時には不一致を示す情報を出力する出力検証部と、を備えることを特徴とする車両制御装置。
(2).自動運転などの制御アプリケーション処理が実行されていない空き時間資源で検証処理を実行することを特徴とする(1)に記載の車両制御装置
(3).前記検証管理部は、検証内の実行時間(検証内時間)を管理し、前記検証内時間に基づいて複数の前記制御ソフトを実行することを特徴とする(1)に記載の車両制御装置。
(4).走行中の車両のセンサによる入力値を時系列に時系列入力値に保存する時系列テスト入力保存部と、前記制御ソフトの前記検証の実行時間と検証対象のソフトウェアに応じて、テストケースを選定する時系列テストケース定義部と、を備えることを特徴とする(1)に記載の車両制御装置。
(5).前記出力が不一致を示す情報である際には、前記時系列入力値を外部に出力する出力比較部と、を備えることを特徴とする(1)に記載の車両制御装置。
(6).前記の空き時間資源で検証処理を実行するとは、自動運転などの制御アプリケーション処理とは別のCPUで検証処理を実行することを示す(2)に記載の車両制御装置。
(7).前記の並行に実行するとは、旧制御ソフト部を一定の検証内時間で実行した後に新制御ソフト部を一定の検証内時間で実行する、またはその逆を実施することを示す(1)に記載の車両制御装置。
(8).前記の並列に実行するとは、旧制御ソフト部と新制御ソフト部を別のCPUに割り当て、同じテスト入力データを用いて互いに同期して実行することを特徴とする(1)に記載の車両制御装置。
(9).自動運転などの制御アプリケーション処理よりも低い優先度で検証処理を実行することを特徴とする前記検証管理部を備えることを特徴とする(2)に記載の車両制御装置。
(10).旧制御ソフトから新制御ソフトに実行を切り替え、またはその逆に実行を切り替える際に、検証内時間に際が生じている場合には、前記検証内時間を戻し、戻した前記検証内時間時間に応じてテスト入力データを変更することを特徴とする(1)に記載の車両制御装置。
(11).前記出力比較部は前記旧制御ソフト部と前記新制御ソフト部の出力を比較する、または、出力を正解値と比較し、その結果を比較することを特徴とする(1)に記載の車両制御装置。
(12).前記正解値とは、一定値または範囲で定義された値であることを特徴とする(1)に記載の車両制御装置。
(13).前記正解値とは、非安全状態に到達する可能性のある条件であることを特徴とする(1)に記載の車両制御装置。
(14).前記の空き時間資源として、手動運転モードや充電モード、前方車両追従モード、駐車モードであることを特徴とする(1)に記載の車両制御装置。
換言すれば、車両制御装置は、オンボードでセンサ情報を一定時間の間、時系列に保存する時系列テスト入力保存部と、保存した時系列センサ情報からテストケースを生成する時系列テストケース定義部と、実時間とは異なる検証内時間に基づいて旧制御ソフトと新制御ソフトを前記テストケースで実行する検証管理部と、出力結果を比較することで精度に影響を与える実行条件を特定する出力比較部と、で構成される。
この車両制御装置によれば、車両を制御する自動運転ソフトウェア(旧制御ソフト)の動作を阻害せずに、次のバージョンの新制御ソフトの検証を可能とする。旧制御ソフトを実行していない空きリソース(時間、CPU)を用いて検証するため、コストを抑制しつつ、自動運転システムを検証できる。
1…自動運転システム
2…自動運転システム
3…自動運転システム
15…クラウド
101…旧制御ソフト部
102…旧制御ソフト部
104…新制御ソフト検証出力値
105…旧制御ソフト検証出力値
106…新制御ソフト検証入力値
107…旧制御ソフト検証入力値
108…時系列入力値
109…旧制御ソフト入力値
111…旧制御ソフト部
112…旧制御ソフト部
113…新制御ソフト部
114…センサ値受信部
115…検証管理部
116…時系列テスト入力保存部
117…時系列テストケース定義部
118…出力比較部
119…送信部
121…センシング部
131…転送処理部
141…制御処理部
151…情報保存部
212…旧制御ソフト部
213…新制御ソフト部
215…検証管理部
310…切替監視部

Claims (11)

  1. 走行中の車両のセンサによる時系列の入力値を示す時系列入力値を保存する時系列テスト入力保存部と、
    実時間において所定の周期で旧バージョンの制御ソフトウェアを示す旧制御ソフト部を実行し、センサ値に基づいて車両の制御指令を算出する算出部と、
    前記実時間から分離された検証内時間を管理し、前記検証内時間に対応する前記時系列入力値を用いて、前記旧制御ソフト部および新バージョンの制御ソフトウェアを示す新制御ソフト部を並行または並列に実行する検証管理部と、
    前記旧制御ソフト部の出力と前記新制御ソフト部の出力が不一致に相当する場合に不一致を示す情報を出力する検証処理を行う出力検証部と、
    を備えることを特徴とする車両制御装置。
  2. 請求項1に記載の車両制御装置であって、
    前記出力検証部は、
    前記算出部により前記旧制御ソフト部が実行中でない時に、空きリソースを用いて前記検証処理を実行することを特徴とする車両制御装置。
  3. 請求項1に記載の車両制御装置であって、
    前記検証管理部は、前記検証内時間に対応する前記時系列入力値を用いて前記旧制御ソフト部と前記新制御ソフト部を交互に実行することを特徴とする車両制御装置。
  4. 請求項3に記載の車両制御装置であって
    前記時系列入力値から前記検証内時間に対応する入力値を含むテストケースを選定する時系列テストケース定義部を備えることを特徴とする車両制御装置。
  5. 請求項4に記載の車両制御装置であって、
    前記出力検証部は、
    前記旧制御ソフト部の出力と前記新制御ソフト部の出力が不一致に相当する場合に前記テストケースを外部に出力する出力比較部を含む
    ことを特徴とする車両制御装置。
  6. 請求項2に記載の車両制御装置であって、
    前記出力検証部は、
    前記算出部として前記旧制御ソフト部を実行するプロセッサで前記検証処理を実行する
    ことを特徴とする車両制御装置。
  7. 請求項1に記載の車両制御装置であって、
    並行に実行するとは、
    前記旧制御ソフト部を一定の範囲の検証内時間で実行した後に前記新制御ソフト部を一定の範囲の検証内時間で実行する、または
    前記新制御ソフト部を一定の範囲の検証内時間で実行した後に前記旧制御ソフト部を一定の範囲の検証内時間で実行することである
    ことを特徴とする車両制御装置。
  8. 請求項1に記載の車両制御装置であって、
    前記並列に実行するとは、
    前記旧制御ソフト部と前記新制御ソフト部を互いに異なるプロセッサに割り当て、同じテストケースを用いて互いに同期して実行することである
    ことを特徴とする車両制御装置。
  9. 請求項1に記載の車両制御装置であって、
    前記出力検証部は、
    前記旧制御ソフト部の出力と前記新制御ソフト部の出力を比較し、それらが不一致の場合に不一致を示す情報を出力する
    ことを特徴とする車両制御装置。
  10. 請求項1に記載の車両制御装置であって、
    前記出力検証部は、
    前記旧制御ソフト部の出力と前記新制御ソフト部の出力をそれぞれ正解値と比較し、それぞれの比較結果のうち少なくとも一方が正解値と異なる場合に不一致を示す情報を出力する
    ことを特徴とする車両制御装置。
  11. 請求項1に記載の車両制御装置であって、
    前記検証管理部は、前記検証内時間を前記実時間と異なる縮尺で管理し、前記検証内時間に対応する前記時系列入力値を用いて前記旧制御ソフト部と前記新制御ソフト部を実行することを特徴とする車両制御装置。
JP2020115578A 2020-07-03 2020-07-03 車両制御装置 Active JP7508293B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020115578A JP7508293B2 (ja) 2020-07-03 車両制御装置
US18/009,896 US20230222050A1 (en) 2020-07-03 2021-06-10 Vehicle control device
PCT/JP2021/022058 WO2022004324A1 (ja) 2020-07-03 2021-06-10 車両制御装置
DE112021002403.5T DE112021002403T5 (de) 2020-07-03 2021-06-10 Fahrzeugsteuervorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020115578A JP7508293B2 (ja) 2020-07-03 車両制御装置

Publications (2)

Publication Number Publication Date
JP2022013187A JP2022013187A (ja) 2022-01-18
JP7508293B2 true JP7508293B2 (ja) 2024-07-01

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018598A (ja) 2003-06-27 2005-01-20 Daikin Ind Ltd 制御テスト支援システム、及び制御テスト支援システム用プログラム
JP2017097516A (ja) 2015-11-20 2017-06-01 東芝三菱電機産業システム株式会社 デバッグサポートシステム
JP2019032656A (ja) 2017-08-07 2019-02-28 株式会社Ihi 検証システム及び検証方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018598A (ja) 2003-06-27 2005-01-20 Daikin Ind Ltd 制御テスト支援システム、及び制御テスト支援システム用プログラム
JP2017097516A (ja) 2015-11-20 2017-06-01 東芝三菱電機産業システム株式会社 デバッグサポートシステム
JP2019032656A (ja) 2017-08-07 2019-02-28 株式会社Ihi 検証システム及び検証方法

Similar Documents

Publication Publication Date Title
JP6189004B1 (ja) 共用バックアップユニットおよび制御システム
CN101713970B (zh) 重启飞行控制系统的方法和系统
US8171248B2 (en) Storage system controlling method, switch device and storage system
JP4624448B2 (ja) 制御装置、制御システム及びコンピュータプログラム
CN111891134B (zh) 自动驾驶处理系统和片上系统、监测处理模块的方法
US9690269B2 (en) Controller and process monitoring method including monitoring of process execution sequence
CN102741818A (zh) 故障诊断系统、用于车辆的电子控制单元、故障诊断方法
US20130061098A1 (en) Failure check apparatus and failure check method
WO2015045507A1 (ja) 車両用制御装置
JP5533789B2 (ja) 車載電子制御装置
JP7508293B2 (ja) 車両制御装置
US20210065478A1 (en) Electronic control unit and non-transitory computer readable medium storing session establishment program
WO2022004324A1 (ja) 車両制御装置
CN112217768B (zh) 一种车辆的驾驶权限的移交方法及装置
JP4934113B2 (ja) 制御装置及びコンピュータプログラム
KR102349107B1 (ko) 오토사 플랫폼에서 러너블 실행을 관리하는 방법
JP2020093707A (ja) 電子制御装置
EP4155926A1 (en) Method and device for sequence monitoring of multiple threads
CN116279546B (zh) 一种智能驾驶系统的整车域控制系统及方法
WO2023037576A1 (ja) 車両制御システム及び車両制御方法
EP4254173A1 (en) In-vehicle system with a plurality of control devices
JP7500749B2 (ja) 車両用電子制御システム及びこれに用いるプログラムの更新方法
JP7447781B2 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
WO2021010039A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
WO2022259348A1 (ja) 車両用制御装置