JP6975854B2 - 制御コントローラおよび車両制御システム - Google Patents
制御コントローラおよび車両制御システム Download PDFInfo
- Publication number
- JP6975854B2 JP6975854B2 JP2020525010A JP2020525010A JP6975854B2 JP 6975854 B2 JP6975854 B2 JP 6975854B2 JP 2020525010 A JP2020525010 A JP 2020525010A JP 2020525010 A JP2020525010 A JP 2020525010A JP 6975854 B2 JP6975854 B2 JP 6975854B2
- Authority
- JP
- Japan
- Prior art keywords
- function group
- unit
- control controller
- function
- situation
- 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
Links
- 230000006870 function Effects 0.000 claims description 244
- 238000000034 method Methods 0.000 claims description 97
- 230000008569 process Effects 0.000 claims description 83
- 230000008859 change Effects 0.000 claims description 75
- 238000012545 processing Methods 0.000 claims description 54
- 238000005192 partition Methods 0.000 claims description 52
- 238000002360 preparation method Methods 0.000 claims description 32
- 238000000926 separation method Methods 0.000 claims description 29
- 125000000524 functional group Chemical group 0.000 claims description 25
- 238000000638 solvent extraction Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 8
- 230000002093 peripheral effect Effects 0.000 description 48
- 238000013461 design Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 14
- 230000007704 transition Effects 0.000 description 8
- 230000003213 activating effect Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/06—Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
Description
そこで、例えばOTA(Over The Air)と呼ばれる、必要となった状況で必要なプログラムをダウンロードする技術が提唱されている。
本明細書の記述は典型的な例示に過ぎず、本開示の請求の範囲又は適用例を如何なる意味においても限定するものではないことを理解する必要がある。
<車両システムのユースケース>
図1は、本実施形態による車両システム10のユースケース(車両システムにおける状態遷移)を示す図である。
図2は、本実施形態による車両システム10の概略構成例を示す図である。車両システム10は、例えば、ECU−A11とECU−B12とその他のECUで構成され、ネットワークバス13で接続される。第1の実施形態では、各ECUがネットワークバス13で接続されているが、このような形態に限られず、各ECUが1対1に接続されるようなネットワークトポロジであってもよい。
図3は、本実施形態におけるECU−A11の状態遷移の例を示す図である。ECU−A11は、はキーONによりシステム初期化モード001となり、全体初期化処理(共通初期化処理)を行う。初期化終了後、ECU−A11は、パーティションを有効とし、それにより、状態は走行モード002に遷移する。ここで、本実施形態における「パーティション」とは、メモリを複数の領域に区切り、処理すべきデータを各領域に適切に割り当てること(空間分離)、および時間分離で各種処理をスケジューリングし、このスケジュールに従って処理を実行(CPUを使うときに影響を受けない)すること(時間分離)を意味する。なお、時間分離の場合、CPUがシングルコアの場合とマルチコアの場合とでは処理の態様が異なる。前者の場合、時分割でスケジューリングして処理が実行され、後者の場合、例えば、1つ目のコアが共通機能グループの処理を実行し、2つ目のコアが個別機能グループの処理を実行する。また、後者の場合、物理メモリは共通となるが、使用されるメモリ領域(アドレス空間)は異なってくる。
図4は、本実施形態による機能グループのデータフローの例を示す図である。
図4において、状況A01では、周辺認識1部1104は、カメラ画像とポイントクラウド情報(点群(形状)と距離の情報)を入力とし、走行環境情報を出力する。走行計画部1101は、走行環境情報を入力とし、起動候補情報を出力する。また、判断機能部1102は、起動候補情報を入力とし、走行軌道情報を出力する。
図5は、第1の実施形態の更新前(状況A01)におけるタスク構成1111の例を示す図である。なお、当該タスク構成1111(テーブル)は、例えば、ECU−A11のメモリ(図示しない)に設定されて管理される。最初からデータとしてメモリ上に設定されていてもよいし、例えばECU−B12からデータが送信されてきて設定されるようにしてもよい。
図6は、第1の実施形態の更新中(状況AtoB02)における更新機能グループのタスク情報1112と実行管理設定1113の構成例を示す図である。なお、当該タスク構成1112および実行管理設定1113(テーブル)は、例えば、ECU−A11のメモリ(図示しない)に設定されて管理される。最初からデータとしてメモリ上に設定されていてもよいし、例えばECU−B12からデータが送信されてきて設定されるようにしてもよい。
タスク名11131は、タスク名称を示す情報である。タスクID11132は、タスクを一意に識別・特定することができる識別情報である。
図7は、第1の実施形態の更新後(状況B03)におけるタスク構成1114の例を示す図である。なお、当該タスク構成1114(テーブル)は、例えば、ECU−A11のメモリ(図示しない)に設定されて管理される。最初からデータとしてメモリ上に設定されていてもよいし、例えばECU−B12からデータが送信されてきて設定されるようにしてもよい。
図8は、第1の実施形態に係るスロット(タイムスロット)設計の例を示す図である。図8では、状況Aと、状況AtoBと、状況Bのときのスロット設計が示されている。スロット設計は、スロットID11151、11161、および11171と、開始時間11152、11162、および11172と、終了時間11153、11163、および11173と、実行対象11154、11164、および11174と、を構成項目としている。
スロットID11151は、スロットを一意に識別・特定できる識別情報である。開始時間11152は、スロットと定めた時間の開始時刻を示す情報である。終了時刻11153は、スロットと定めた時刻の終了時刻を示す情報である。実行対象11154は、該当するスロットで実行許可されている機能グループを示す情報である。
スロットID11161は、スロットを一意に識別・特定できる識別情報である。開始時間11162は、スロットと定めた時間の開始時刻を示す情報である。終了時刻11163は、スロットと定めた時刻の終了時刻を示す情報である。実行対象11164は、該当するスロットで実行許可されている機能グループを示す情報である。
スロットID11171は、スロットを一意に識別・特定できる識別情報である。開始時間11172は、スロットと定めた時間の開始時刻を示す情報である。終了時刻11173は、スロットと定めた時刻の終了時刻を示す情報である。実行対象11174は、該当するスロットで実行許可されている機能グループを示す情報である。
図9は、第1の実施形態によるタスクのスケジューリング例を示す図である。当該スケジューリング例は、図8のスロット設計に基づいてなされたものである。図8は、時分割(時間分離)パーティショニングによるタスクスケジューリングについて示している。
図10は、本実施形態におけるメモリ保護設定の例を示す図である。メモリ保護設定は、表形式で実現され(ただし、表形式に限定されない)、対象となる機能グループの名称(種別であってもよい)を示す機能グループ411、421、および431と、対応する機能グループがアクセスできるメモリ領域を示すアクセス可能領域412、422、および432と、対応する機能グループがアクセスできないメモリ領域を示すアクセス不可領域413、423、および433と、を構成項目として有している。
図11は、本実施形態におけるメモリマップの例を示す図である。図11の例では、ECU−A11が使用するメモリは、4つ領域(領域AからD)に分割されている(空間分離)。ただし、本実施形態によるメモリマップでは、非特許文献1とは異なり、各領域にアクセスできる機能グループが固定となっていない。例えば、外部からの指令に従って、ECU−A11が各機能グループについて使用するメモリ領域を割り当てることも可能である(例えば、第2の実施形態参照)。
図12は、走行計画部1101よる走行計画生成処理を説明するためのフローチャートである。ここでは、走行計画部1101を動作主体としているが、走行計画部1101はプログラムで実現されるので、ECUA−11を動作主体としてもよい。
図13は、判断機能部1102による走行軌道決定処理を説明するためのフローチャートである。ここでは、判断機能部1102を動作主体としているが、判断機能部1102はプログラムで実現されるので、ECUA−11を動作主体としてもよい。
判断機能部1102は、走行計画生成処理(図12)で得られた走行軌道の候補から採用する走行軌道を決定する。
判断機能部1102は、ステップ1301で決定した走行軌道を、ネットワークバス13を介してECU−A11の外部(例えば、ECU−B12や各ECUを制御する制御装置)に送信する。
図14は、共通初期化部1103による共通初期化処理を説明するためのフローチャートである。ここでは、共通初期化部1103を動作主体としているが、共通初期化部1103はプログラムで実現されるので、ECUA−11を動作主体としてもよい。
共通初期化部1103は、走行計画部1101と判断機能部1102の初期化を実施する。
共通初期化部1103は、パーティションを有効にする。つまり、メモリ保護(空間的分離:図11)と時分割スケジューリングのデッドライン判定(時間的分離:図9)を有効にする。
共通初期化部1103は、現在の状況に応じた機能の実行許可イベントを発行する。
共通初期化部1103は、時分割スケジューリングを開始する。具体的には、時分割制御部1110を実行するためにタイマをセットする。
図15は、周辺認識1部1104による周辺認識処理を説明するためのフローチャートである。ここでは、周辺認識1部1104を動作主体としているが、周辺認識1部1104はプログラムで実現されるので、ECUA−11を動作主体としてもよい。
周辺認識1部1104は、状況A固有初期化部1105に対して、状況A固有初期化処理を実行するように命令する。なお、ステップ1501の詳細は後述する(図16参照)。
状況A固有初期化処理が完了すると、周辺認識1部1104は、状況Aに適したアルゴリズムを用いて、受信した画像とポイントクラウドを解析し、周囲の状況を認識する。
周辺認識1部1104は、認識結果を周辺情報としてメモリ(図示せず)に保存する。
図16は、状況A固有初期化部1105による状況A固有初期化処理を説明するためのフローチャートである。ここでは、状況A固有初期化部1105を動作主体としているが、状況A固有初期化部1105はプログラムで実現されるので、ECUA−11を動作主体としてもよい。なお、本実施形態では、初期化処理には2種類ある。1つはエンジンを掛けたとき(ステップ15016)、もう1つは走行中に状況が変化したとき(状況Aから状況AtoBになったとき)である。
状況A固有初期化部1105は、パーティションが有効中であるか、即ち空間分離(メモリ保護)および時間分離(時分割スケジューリング)が有効であるか判定する。パーティションが有効中(時分割スケジューリング中(走行中))である場合(ステップ15011でYesの場合)、処理はステップ15012に移行する。パーティションが有効中でない場合(例えば、エンジンを掛けたとき:ステップ15011でNoの場合)、処理はステップ15016に移行する。
状況A固有初期化部1105は、状況Aで実行される機能グループのデッドライン監視をOFFに設定する。つまり、初期化処理時には、デッドラインタスクは実行されない。
状況A固有初期化部1105は、周辺認識1部1104の初期化を実施する。
状況A固有初期化部1105は、実行許可イベントを待つ。待っている間、時分割スケジューリングが実行されている場合は、ディスパッチが発生する。
状況A固有初期化部1105は、状況Aで実行される機能グループのデッドライン監視をON(デッドライン判定を有効)にする。
状況A固有初期化部1105は、周辺認識1部1104の初期化を実施する。
図17は、周辺認識2部1106による周辺認識処理を説明するためのフローチャートである。ここでは、周辺認識2部1106を動作主体としているが、周辺認識2部1106はプログラムで実現されるので、ECUA−11を動作主体としてもよい。
周辺認識2部1106は、状況B固有初期化部1107に対して、状況B固有初期化処理を実行するように命令する。なお、ステップ1701の詳細は後述する(図18参照)。
状況B固有初期化処理が完了すると、周辺認識2部1104は、状況Bに適したアルゴリズムを用いて、受信した画像とポイントクラウドを解析し、周囲の状況を認識する。
周辺認識2部1106は、認識結果を周辺情報としてメモリ(図示せず)に保存する。
図18は、状況B固有初期化部1107による状況B固有初期化処理を説明するためのフローチャートである。ここでは、状況B固有初期化部1107を動作主体としているが、状況B固有初期化部1107はプログラムで実現されるので、ECUA−11を動作主体としてもよい。なお、本実施形態では、初期化処理には2種類ある。1つはエンジンを掛けたとき(ステップ17016)、もう1つは走行中に状況が変化したとき(状況Bから状況AtoBになったとき)である。
状況B固有初期化部1107は、パーティションが有効中であるか、即ち空間分離(メモリ保護)および時間分離(時分割スケジューリング)が有効であるか判定する。パーティションが有効中(時分割スケジューリング中(走行中))である場合(ステップ15011でYesの場合)、処理はステップ17012に移行する。パーティションが有効中でない場合(例えば、エンジンを掛けたとき:ステップ17011でNoの場合)、処理はステップ17016に移行する。
状況B固有初期化部1107は、状況Bで実行される機能グループのデッドライン監視をOFFに設定する。つまり、初期化処理時には、デッドラインタスクは実行されない。
状況B固有初期化部1107は、周辺認識2部1106の初期化を実施する。
状況B固有初期化部1107は、実行許可イベントを待つ。待っている間、時分割スケジューリングが実行されている場合は、ディスパッチが発生する。
状況B固有初期化部1107は、状況Bで実行される機能グループのデッドライン監視をON(デッドライン判定を有効)にする。
状況B固有初期化部1107は、周辺認識2部1106の初期化を実施する。
図19は、モード変更部1108によるモード変更処理を説明するためのフローチャートである。ここでは、モード変更部1108を動作主体としているが、モード変更部1108はプログラムで実現されるので、ECUA−11を動作主体としてもよい。
モード変更部1108は、更新準備要求が受信しているかを判定する。ECUA−11が外部(例えば、ECUB−12や図示しない各ECUを全体制御する制御装置)から受信するのは更新準備要求あるいは更新実施要求である。
モード変更部1108は、プログラムと設計情報を外部から受信する。本実施形態では、受信対象をプログラムとしているが、これに限らない。例えば、パラメータのみを受信し、プログラムがパラメータを変更するだけで状況変化に追従できる構成であってもよい。
モード変更部1108は、パーティション更新部1109を呼び出してパーティションを変更する。ステップ1903の詳細については後述する(図20参照)。
モード変更部1108は、更新機能グループを起動する。本実施形態では状況Aから状況Bに移行する例が示されているため、状況B向け機能グループが起動されることになる。
モード変更部1108は、更新実施要求を受信しているかを判定する。更新実施要求を受信した場合(ステップ1905でYesの場合)、処理はステップ1906に移行する。更新実施要求を受信しなかった場合(ステップ1905でNoの場合:何の要求も受信しなかった場合)、モード変更処理は終了する。
モード変更部1108は、実行許可イベントを発行する。
図20は、パーティション更新部1109によるパーティション更新処理(ステップ1903の詳細)を説明するためのフローチャートである。ここでは、パーティション更新部1109を動作主体としているが、パーティション更新部1109はプログラムで実現されるので、ECUA−11を動作主体としてもよい。
パーティション更新部1109は、受信したプログラムを空きメモリ領域に保存し、メモリ保護を実施する。具体的には、図11における状況AtoBのときの処理である。
パーティション更新部1109はメモリ保護を実施できたかを判定する。メモリ保護ができた場合(ステップ19032でYesの場合)、処理はステップ19033に移行する。メモリ保護ができなかった場合(ステップ19032でNoの場合)、処理はステップ19036に移行する。
パーティション更新部1109は、外部から送信されてきた設計情報(なお、ECU−A11内部に保持している設計情報でもよい)に基づいて、空きスロットの範囲内でスロットを設計する。例えば、空きスロットの時間から対象とするタスクの実行時間を引き、正の数である場合にはタスクの実行時間をスロットの時間とする。ただし、この方法に限定されるものではない。
パーティション更新部1109は、スロット設計を実施できたか判定する。スロット設計が実施できた場合(ステップ19034でYesの場合)、処理はステップ19035に移行する。スロット設計が実施できなかった場合(ステップ19034でNoの場合)、処理はステップ19036に移行する。
パーティション更新部1109は、動的機能更新準備環境を示すイベントをネットワークバス13に送信する。例えば、ECU−B12や外部のサーバ(図示せず)が当該イベントを受信し、状況B走行モードの更新実施要求をECU−A11に送信する。
パーティション更新部1109は、動的機能更新エラーを示すイベントをネットワークバス13に送信する。この場合、ユーザへの注意喚起のため、動的機能更新がエラーとなったことが表示部の画面上に表示されるようにしてもよい。
図21は、時分割制御部1110による時分割制御処理を説明するためのフローチャートである。ここでは、時分割制御部1110を動作主体としているが、時分割制御部1110はプログラムで実現されるので、ECUA−11を動作主体としてもよい。
時分割制御部1110は、現スロットの前のスロット(スロットIDが1つ前のスロット)の処理が終了しているか判断する。前のスロットの処理が終了している場合(ステップ2101でYesの場合:当該スロットについて最初の実行の場合)、処理はステップ2106に移行する。前のスロットの処理が終了していない場合(ステップ2101でNoの場合)、処理はステップ2102に移行する。
時分割制御部1110は、対象タスクのデッドライン判定が有効であるか(デッドライン監視がONか)を判定する。デッドライン判定が有効である場合(ステップ2102でYesの場合)、処理はステップ2103に移行する。デッドライン判定が無効である場合(ステップ2102でNoの場合)、処理はステップ2104に移行する。
時分割制御部1110は、前スロットにおける未終了の処理を強制停止させる。スロットの終端に来たにも拘らず処理が終了していないときには、そのままその未了の処理を実行し続けると次の処理のために使うCPU(プロセッサ)を使ってしまう。また、この段階ではパーティショニングがされていないため、未終了の処理を強制終了させる。例えば、状況AtoBになったとき、最初は初期化処理が実行されるが、初期化処理は、図6に示されるように、通常の処理も処理時間が長くなることが多い。このため、初期化処理が実行周期(例えば、50ms)の間に終了しないことがある。この未終了という事象は処理が異常であったから発生したわけではないため、未終了の処理は強制停止されることになる。
時分割制御部1110は、前スロットにおける未終了の処理を異常停止させる(例えば、デッドラインオーバしてしまったため、異常と判断し処理を停止させる)。
時分割制御部1110は、デッドラインミスを通知するイベントをネットワークバス13に送信する。これにより、例えば、他のECU(ECU−B12)や各ECUの全体制御を実行する制御装置は、異常停止のタスクを認識することができる。
時分割制御部1110は、スロット設計表に基づいて次のスロットで実行する特定のタスクを指定スケジューリングで起動する。前回強制停止の場合には、時分割制御部1110は、強制終了したタスクを再開する。ただし、前回異常停止の場合にはタスクを再度起動しない。
時分割制御部1110は、次のスロットの終了時間に時分割制御部1110を起動するタイマをセットする。
図22は、ECU−B12の画面表示部1201より画面表示処理を説明するためのフローチャートである。ここでは、画面表示部1201を動作主体としているが、画面表示部1201はプログラムで実現されるので、ECU−B12を動作主体としてもよい。
画面表示部1201は、ECU−A11の時分割制御部1110から受信したデッドラインミスイベントに基づいて画面にエラーを表示する。
画面表示部1201は、ECU−A11のパーティション更新部1109から受信した動的機能更新エラーイベントに基づいて画面にエラーを表示する。
図23は、ECU−B12の更新準備指示部1202による更新準備指示処理を説明するためのフローチャートである。ここでは、更新準備指示部1202を動作主体としているが、更新準備指示部1202はプログラムで実現されるので、ECU−B12を動作主体としてもよい。
更新準備指示部1202は、状況が遷移状態(境界)にあるとき(例えば、状況AtoBのとき、あるいは状況BtoAのとき)に、更新準備要求をネットワークバス13に送信する。
更新準備指示部1202は、ネットワークバス13を介して更新プログラムと設計情報をECU−A11に送信し、ECU−A11がそれらを利用できるようにする。
図24は、ECU−B12の更新実施指示部1203による更新実施指示処理を説明するためのフローチャートである。ここでは、更新実施指示部1203を動作主体としているが、更新実施指示部1203はプログラムで実現されるので、ECU−B12を動作主体としてもよい。
更新実施指示部1203は、動的機能更新準備の完了イベントを受信したかを判定する。動的機能更新準備の完了イベントを受信している場合(ステップ2401でYesの場合)、処理はステップ2402に移行する。動的機能更新準備の完了イベントを受信していない場合(ステップ2401でNoの場合)、更新実施指示処理は終了する。
更新実施指示部1203は、状況が切り替わったとき(例えば、状況AtoBから状況Bに切り替わったとき、あるいは状況BtoAから状況Aに切り替わったとき)に、ネットワークバス13を介して更新実施要求をECU−A11に送信する。
第1の本実施形態によれば、機能グループ単位で更新が可能となるため、ハードウェアリソースを節約できる。また、状況に応じて適した機能グループを選択し、車両走行が可能となるため、安全で快適な走行が可能となる。
<更新機能グループのタスク情報とタスク構成>
図25は、第2の実施形態の、状況AtoB02における更新機能グループのタスク情報2112と状況B03におけるタスク情報2114の例を示す図である。構成項目は第1の実施形態と同様である。なお、図25では、状況Aのタスク情報は第1の実施形態と同じであるため、省略されている(図5参照)。
タスクID21122は、タスクを識別可能なIDを示す。実行周期21123はタスクを起動する周期を示す。単位はミリ秒である。
第2の実施形態では、第1の実施形態と比べて、初期化実行時間21126が短く設定されている。
図26は、第2の実施形態によるスロット設計の例を示す図である。構成項目は第1の実施形態と同様である。以下、各状況に対応したスロット設計について説明する。
図27は、第2の実施形態によるタスクスケジューリングの例を示す図である。以下、各状況に対応したタスクスケジューリングについて説明する。
第2の実施形態によれば、異なる状況における同じスロットの時間において、異なる機能グループを動作させることが可能となる、したがって、ハードウェアリソースを節約できる。また、初期化処理の時間が短い際にはデッドラインを有効のまま、機能更新が可能になり、煩雑な設計を回避可能となる。
第1および第2の実施形態によると、シングルコアにおいてタイムパーティションを実現するために時分割スケジューリングを使用したが、これに限らない。例えば、マルチコアシステムにおいて、継続する機能グループと更新する機能グループを異なるコアで実行させることで、タイムパーティショニングを実現してもよい。この場合、第1および第2の実施形態と同様にメモリ保護は必要となり、モード変更部1108は継続する機能グループと同様のコアで実行され、他のコアの機能グループを更新することとなる。
(i)本実施形態によれば、車両制御システムの制御コントローラ(ECU−A)は、複数の機能を予め決められた機能グループの単位で管理し、実行する。当該制御コントローラ(ECU−A)は、動的に機能グループ単位を変更し(パーティション更新部)、制御コントローラの外部(別のECU(ECU−B)や図示しないサーバ)から、システムの稼働環境の変化に応じて機能グループの変更を指示する機能グループ変更実施要求を受信し、当該機能グループ変更実施要求に応答して、パーティション更新(変更)された機能グループの実行を許可する(モード変更部)ように構成されている。これにより、状況変化を検知した外部のECUやサーバからの指令にと応答してシステムの機能を変更することができ、システムの可用性と安全性を担保することができる。
02 状況AtoB
03 状況B
11 ECU−A
12 ECU−B
1101 走行計画部
1102 判断機能部
1103 共通初期化部
1104 周辺認識1部
1105 状況A固有初期化部
1106 周辺認識2部
1107 状況B固有初期化部
1108 モード変更部
1109 パーティション更新部
1110 時分割制御部
1201 画面表示部
1202 更新準備指示部
1203 更新実施指示部
Claims (18)
- 複数の機能を予め決められた機能グループの単位で管理し、実行する制御コントローラであって、
動的に機能グループ単位を変更するパーティション更新部と、
前記制御コントローラの外部から、システムの稼働環境の変化に応じて機能グループの変更を指示する機能グループ変更実施要求を受信し、当該機能グループ変更実施要求に応答して、前記パーティション更新部によって変更された前記機能グループの実行を許可するモード変更部と、を備え、
前記パーティション更新部は、前記機能グループ単位に使用するメモリ空間を別にする空間分離と前記機能グループ単位に実行する時間を別にする時間分離とに基づいて、前記複数の機能のパーティショニングを実行する、制御コントローラ。 - 請求項1において、
前記モード変更部は、前記機能グループ変更実施要求を受信する前に、前記制御コントローラの外部から、前記機能グループの変更の準備を要求する機能グループ変更準備要求を受信し、当該機能グループ変更準備要求に応答して、前記制御コントローラの外部から変更すべき事項が記述された変更情報を取得し、前記パーティション更新部に前記機能グループのパーティションの変更を指示し、
前記パーティション更新部は、前記変更情報に基づいて、前記機能グループのパーティショニングを再設定する、制御コントローラ。 - 請求項1において、
前記機能グループは、少なくとも、複数の状況において共通に実行される機能である共通機能グループと状況に応じて実行される機能が異なる個別機能グループとを含む、制御コントローラ。 - 請求項3において、
前記空間分離において、前記共通機能グループのメモリアドレス空間と前記個別機能グループのメモリアドレス空間が区別されており、前記共通機能グループと前記個別機能グループとの間のメモリ領域は共有メモリ空間を介して構成される、制御コントローラ。 - 請求項3において、
前記制御コントローラは、シングルコアプロセッサで構成され、
前記パーティション更新部は、前記時間分離として、時分割スケジューリングによってタイムパーティショニングを実現し、
前記制御コントローラは、さらに、前記機能グループ毎にスロットを割り当てる時分割制御部を備える、制御コントローラ。 - 請求項3において、
前記制御コントローラは、マルチコアプロセッサで構成され、
前記共通機能グループと前記個別機能グループとは異なるコアプロセッサで実行される、制御コントローラ。 - 請求項3において、
前記制御コントローラに含まれるプロセッサは、更新対象である前記個別機能グループに含まれるタスクを更新している間に、更新対象以外の前記共通機能グループに含まれるタスクの処理を継続的に実行する、制御コントローラ。 - 請求項5において、
前記モード変更部は、前記時分割制御部によって前記機能グループに割り当てられているスロット以外のスロットで、前記パーティション更新部にパーティション変更を指示し、前記パーティション更新部によるパーティション更新後、更新機能グループを起動する、制御コントローラ。 - 請求項3において、
前記パーティション更新部は、前記個別機能グループに対しては、実行、書き込み、および読み出しが可能となるように前記メモリ空間を割り当て、少なくとも前記共通機能グループに対しては、前記個別機能グループに割り当てられた前記メモリ空間からの読み出しが可能となるように前記メモリ空間を設定する、制御コントローラ。 - 請求項1において、
前記パーティション更新部は、前記機能グループ単位でのメモリ空間の割り当てとスロットの割り当てに失敗した場合に、動的機能更新エラーを示すイベントを生成し、出力する、制御コントローラ。 - 請求項5において、
前記機能グループに含まれるタスクについてデッドライン判定が有効であり、かつ前記スロットの終了時に当該スロットに割り当てられた前記タスクが未終了の場合、前記時分割制御部は、当該未終了のタスクを異常停止させ、デッドラインミスイベントを生成し、出力する、制御コントローラ。 - 請求項5において、
前記個別機能グループは、当該個別機能グループに含まれるタスクの初期化処理を実行する初期化処理部を含み、
前記初期化処理部は、前記初期化処理を実行する場合には、前記タスクのデッドライン判定を無効にし、当該タスクの初期化処理を完了させた後に前記デッドライン判定を有効にする、制御コントローラ。 - 請求項3において、
前記共通機能グループは、車両制御システムの安全性を保証する処理を実行する機能であり、
前記個別機能グループは、前記車両制御システムの可用性を向上させる処理を実行する機能である、制御コントローラ。 - 第1の制御コントローラと、
第2の制御コントローラと、を備え、
前記第1の制御コントローラは、請求項1に記載の制御コントローラであり、
前記第2の制御コントローラは、前記機能グループ変更実施要求を発行し、前記第1の制御コントローラに送信する、車両制御システム。 - 請求項14において、
前記第2の制御コントローラは、前記機能グループ変更実施要求を発行する前に、前記
機能グループの変更の準備を要求する機能グループ変更準備要求を発行して前記第1の制御コントローラに送信し、
前記第1の制御コントローラの前記モード変更部は、前記第2の制御コントローラから、前記機能グループ変更準備要求を受信し、当該機能グループ変更準備要求に応答して、前記制御コントローラの外部から変更すべき事項が記述された変更情報を取得し、前記パーティション更新部に前記機能グループのパーティションの変更を指示し、
前記第1の制御コントローラの前記パーティション更新部は、前記変更情報に基づいて、前記機能グループのパーティショニングを再設定する、車両制御システム。 - 請求項15において、
前記パーティション更新部は、空間分離および時間分離に基づいて、前記複数の機能のパーティショニングを実行する、車両制御システム。 - 請求項16において、
前記第1の制御コントローラは、第1の機能の処理を実行しつつ、当該第1の機能とは異なる第2の機能を更新する、車両制御システム。 - 請求項17において、
前記機能グループは、少なくとも、複数の状況において共通に実行される機能である共通機能グループと状況に応じて実行される機能が異なる個別機能グループとを含み、
前記第1の制御コントローラは、第1の状況に応じた第1の機能グループの処理を実行しつつ、前記第1の状況とは異なる第2の状況に応じた第2の機能グループの処理を更新する、車両制御システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/022599 WO2019239522A1 (ja) | 2018-06-13 | 2018-06-13 | 制御コントローラおよび車両制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019239522A1 JPWO2019239522A1 (ja) | 2021-06-03 |
JP6975854B2 true JP6975854B2 (ja) | 2021-12-01 |
Family
ID=68843080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020525010A Active JP6975854B2 (ja) | 2018-06-13 | 2018-06-13 | 制御コントローラおよび車両制御システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11934865B2 (ja) |
EP (1) | EP3809263A4 (ja) |
JP (1) | JP6975854B2 (ja) |
WO (1) | WO2019239522A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7123843B2 (ja) * | 2019-03-29 | 2022-08-23 | 日立Astemo株式会社 | 演算装置、判定方法 |
JP7547949B2 (ja) * | 2020-11-10 | 2024-09-10 | トヨタ自動車株式会社 | 情報処理装置、方法、プログラム、及び車両 |
WO2022218510A1 (en) * | 2021-04-13 | 2022-10-20 | Cariad Se | Method for scheduling software tasks on at least one heterogeneous processing system using a backend computer system, wherein each processing system is situated in a respective vehicle of a vehicle fleet, and control framework for at least one vehicle |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4399987B2 (ja) | 2001-01-25 | 2010-01-20 | 株式会社デンソー | 車両統合制御におけるフェイルセーフシステム |
JP2010190673A (ja) | 2009-02-17 | 2010-09-02 | Toyota Motor Corp | 車両用仕様変更装置 |
JP5373862B2 (ja) | 2011-07-22 | 2013-12-18 | 株式会社日立製作所 | 信号保安システム及び車上信号装置 |
JP6683566B2 (ja) | 2016-07-29 | 2020-04-22 | 日本電信電話株式会社 | 通信装置、設計方法及びコンピュータプログラム |
US11300958B2 (en) * | 2017-07-13 | 2022-04-12 | Waymo Llc | Sensor adjustment based on vehicle motion |
-
2018
- 2018-06-13 JP JP2020525010A patent/JP6975854B2/ja active Active
- 2018-06-13 WO PCT/JP2018/022599 patent/WO2019239522A1/ja unknown
- 2018-06-13 US US15/734,055 patent/US11934865B2/en active Active
- 2018-06-13 EP EP18922266.4A patent/EP3809263A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2019239522A1 (ja) | 2019-12-19 |
EP3809263A4 (en) | 2021-12-29 |
JPWO2019239522A1 (ja) | 2021-06-03 |
US20210216361A1 (en) | 2021-07-15 |
EP3809263A1 (en) | 2021-04-21 |
US11934865B2 (en) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6975854B2 (ja) | 制御コントローラおよび車両制御システム | |
CN109997112B (zh) | 数据处理 | |
US8595746B2 (en) | Method and apparatus for scheduling tasks to control hardware devices | |
JP4345630B2 (ja) | 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム | |
JP2007011491A (ja) | 情報端末、計算機資源管理方法、および仮想マシンの実行切り替え方法 | |
JP2000194674A (ja) | 分散ジョブ統合管理システム | |
CN112052068A (zh) | 一种Kubernetes容器平台CPU绑核的方法与装置 | |
JP5458998B2 (ja) | 仮想マシンシステムおよび仮想マシン管理方法 | |
WO2007072544A1 (ja) | 情報処理装置、計算機、リソース割り当て方法及びリソース割り当てプログラム | |
WO2020208954A1 (ja) | 車載コンピュータ、車載通信システム、コンピュータ実行方法及びコンピュータプログラム | |
CN113849264A (zh) | 用于编排终端设备上的基于容器的应用的方法 | |
JPH0816410A (ja) | スケジュール制御装置とその方法 | |
EP2833264B1 (en) | Virtual computer schedule method | |
WO2022138218A1 (ja) | 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム | |
WO2018127394A1 (en) | Scalable control system for a motor vehicle | |
JP6796040B2 (ja) | アクセス制御装置 | |
JP6836536B2 (ja) | ストレージシステム及びio処理の制御方法 | |
JP2013041361A (ja) | リソース調停システム及び調停方法 | |
JP3524961B2 (ja) | マルチプロセッサシステムおよび同システムにおけるタスクスケジューリング方法 | |
JP7447781B2 (ja) | 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム | |
US20240303103A1 (en) | Vehicle-mounted computer, computer execution method, and computer program | |
CN104714924B (zh) | 一种资源控制方法和装置 | |
JP2019040325A (ja) | 電源管理装置,ノード電源管理方法およびノード電源管理プログラム | |
Meier et al. | Enhancing Task Assignment in Many-Core Systems by a Situation Aware Scheduler | |
CN113900807A (zh) | 端口分配方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210921 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211014 |
|
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: 20211026 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211108 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6975854 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |