WO2021199607A1 - Control device and method - Google Patents

Control device and method Download PDF

Info

Publication number
WO2021199607A1
WO2021199607A1 PCT/JP2021/002148 JP2021002148W WO2021199607A1 WO 2021199607 A1 WO2021199607 A1 WO 2021199607A1 JP 2021002148 W JP2021002148 W JP 2021002148W WO 2021199607 A1 WO2021199607 A1 WO 2021199607A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
prediction
value
buffer
output
Prior art date
Application number
PCT/JP2021/002148
Other languages
French (fr)
Japanese (ja)
Inventor
亮輔 林
一 芹沢
Original Assignee
日立Astemo株式会社
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 日立Astemo株式会社 filed Critical 日立Astemo株式会社
Priority to JP2022511568A priority Critical patent/JP7421634B2/en
Priority to DE112021000387.9T priority patent/DE112021000387T5/en
Publication of WO2021199607A1 publication Critical patent/WO2021199607A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Definitions

  • the control device processes the input data and outputs the data to the subsequent device.
  • the periodic task is processed within a predetermined time (from the start timing of the periodic task to the deadline). The deadline must be determined so that the system does not fail.
  • the scheduler 14 activates the periodic task B (13) at the periodic task B start time 23. As a result, the periodic task B (13-1) is activated.
  • the periodic task B (13-1) reads the value written by the periodic task A (11-1) from the buffer 15 and performs an operation using the buffer 15.
  • the use of the previous value can be prevented by using the output value predicted in advance. It is possible to prevent the processing accuracy from being lowered.
  • FIG. 19 is a flowchart showing an example of processing performed by the ignition timing calculation task 11-10 (processor 2) according to the sixth embodiment.
  • FIG. 20 is a flowchart showing an example of processing performed by the timer set task 13-10 (processor 2) according to the sixth embodiment. The same description as in FIG. 5 will be omitted.
  • the memory 3 contains the OS 7, the vertical position estimation task 11-20, the horizontal position estimation task 11-21, the vertical position prediction task 12-20, the horizontal position prediction task 12-21, and the scene determination task 31. Fusion task 32 is loaded and executed by processor 2.
  • the AD unit is a control unit that controls automatic driving, receives inputs from various sensors such as cameras, recognizes objects around the vehicle from the inputs, and integrates (fusion) the recognized object information. , After determining the driving situation (scene) of the own vehicle and estimating the self-position of the own vehicle, calculate the route that the own vehicle should take and control the steering angle etc. required to travel on that route. The information is calculated and the control information is output to an actuator such as an EPS (electric steering system).
  • EPS electric steering system
  • the horizontal position estimation task 11-21 estimates the horizontal position of the own vehicle and outputs the result to the horizontal position buffer 15-21.

Abstract

Provided is a control device and a method that can suppress reduction in processing accuracy. A first task unit executes a first task (cyclic task A) in a predetermined execution cycle and writes an output value of the first task in a buffer. A predicted task unit predicts the output value of the first task before the output value of the first task is written in the buffer in the execution cycle, and writes the predicted value in the buffer. A second task unit reads the output value or the predicted value of the first task from the buffer in the execution cycle, executes a second task (cyclic task B) using the output value or the predicted value read from the buffer as input, and outputs an output value of the second task.

Description

制御装置及び方法Control device and method
 本発明は、制御装置及び方法に関する。 The present invention relates to a control device and a method.
 制御装置は入力データを処理して、後段の装置にデータを出力する。リアルタイム性を必要とする制御については、データの入力及び出力タイミングに制約が設けられており、その制約を満たすように設計が行われる。周期タスクは、所定の時間(周期タスクの起動タイミングからデッドラインまで)内に処理を行う。デッドラインは、システムが破綻しないよう決定しなければならない。 The control device processes the input data and outputs the data to the subsequent device. For controls that require real-time performance, there are restrictions on data input and output timing, and the design is performed so as to satisfy the restrictions. The periodic task is processed within a predetermined time (from the start timing of the periodic task to the deadline). The deadline must be determined so that the system does not fail.
 特許文献1では、タスクと通信の同期技術について記載されている。同文献では、タスクの古い出力データを出力メモリ領域に保持し、後続タスクの入力メモリに転送することで、後続タスクの時刻決定的な動作を保証している。 Patent Document 1 describes a technique for synchronizing tasks and communications. In this document, the time-determining operation of the succeeding task is guaranteed by holding the old output data of the task in the output memory area and transferring it to the input memory of the succeeding task.
 特許文献2では、車両制御装置のタスクの遅延度を監視する技術について記載している。同文献においては、タスクを構成するサブタスクの遅延度を監視し、遅延度が閾値以上であれば前記タスクに代えてフェールセーフタスクを実行し、タスクがデッドライン内に処理を完了できずシステム全体がシャットダウンすることを防いでいる。 Patent Document 2 describes a technique for monitoring the degree of delay of a task of a vehicle control device. In the same document, the delay degree of the subtasks that compose the task is monitored, and if the delay degree is equal to or higher than the threshold value, a fail-safe task is executed instead of the task, and the task cannot complete the process within the deadline and the entire system. Prevents it from shutting down.
特表2016―523409号公報Special Table 2016-523409 Gazette 特開2016-66139号公報Japanese Unexamined Patent Publication No. 2016-66139
 周期タスクのデッドラインはあらかじめ計算された最悪実行時間に基づいて決定するのが一般的である。しかしながら、システムが大規模化、複雑化するにつれ、最悪実行時間の計算が難しくなってきた。また、処理の高速化の要求から、ごく低確率でしか発生しない最悪実行時間に基づいたデッドラインを採用すること自体が難しくなってきている。そのため、おおよそ十分な処理周期を設定し、万一周期を守れない場合の対応が必要になってきている。 The deadline of a periodic task is generally determined based on the worst execution time calculated in advance. However, as the system becomes larger and more complex, it has become difficult to calculate the worst execution time. Further, due to the demand for high-speed processing, it is becoming difficult to adopt a deadline based on the worst execution time that occurs only with a very low probability. Therefore, it is necessary to set an approximately sufficient processing cycle and take measures in the unlikely event that the cycle cannot be observed.
 ある周期タスクが所定の時間内に処理を完了しない(オーバーラン)場合、前回値を使うなど、処理の精度を大きく落とさなければならなかった。 If a certain periodic task did not complete the process within the specified time (overrun), the accuracy of the process had to be greatly reduced by using the previous value.
 本発明は、上記の課題を解決するためになされたものであり、処理精度の低下を抑制することができる制御装置及び方法を提供することを目的とする。 The present invention has been made to solve the above problems, and an object of the present invention is to provide a control device and a method capable of suppressing a decrease in processing accuracy.
 上記目的を達成するために、本発明の一例である制御装置は、バッファと、所定の実行周期で第1タスクを実行し、前記第1タスクの出力値を前記バッファに書き込む第1タスク部と、前記実行周期において前記第1タスクの出力値が前記バッファに書き込まれる前に、前記第1タスクの前記出力値を予測し、予測値を前記バッファに書き込む予測タスク部と、前記実行周期において前記バッファから前記第1タスクの前記出力値または前記予測値を読み出し、前記バッファから読み出した前記出力値または前記予測値を入力として第2タスクを実行し、前記第2タスクの出力値を出力する第2タスク部と、を備える。 In order to achieve the above object, the control device which is an example of the present invention includes a buffer and a first task unit which executes the first task in a predetermined execution cycle and writes the output value of the first task to the buffer. , The prediction task unit that predicts the output value of the first task and writes the predicted value to the buffer before the output value of the first task is written to the buffer in the execution cycle, and the said in the execution cycle. A second task that reads the output value or the predicted value of the first task from the buffer, executes the second task with the output value or the predicted value read from the buffer as an input, and outputs the output value of the second task. It has two task units.
 本発明によれば、処理精度の低下を抑制することができる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。 According to the present invention, it is possible to suppress a decrease in processing accuracy. Issues, configurations and effects other than those described above will be clarified by the description of the following embodiments.
本発明の実施例1に係る車両制御装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of the structure of the vehicle control device which concerns on Example 1 of this invention. 本発明の実施例1に係る車両制御装置の機能要素の構成の一例を示す図である。It is a figure which shows an example of the structure of the functional element of the vehicle control device which concerns on Example 1 of this invention. 本発明の実施例1に係る周期タスクAで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed in the periodic task A which concerns on Example 1 of this invention. 本発明の実施例1に係る予測タスクで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed in the prediction task which concerns on Example 1 of this invention. 本発明の実施例1に係る周期タスクBで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed in the periodic task B which concerns on Example 1 of this invention. 本発明の実施例1に係るスケジューラで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed by the scheduler which concerns on Example 1 of this invention. 本発明の実施例1における各処理の動作を時間軸上で模式的に説明する図である。It is a figure which schematically explains the operation of each process in Example 1 of this invention on the time axis. 本発明の実施例2に係るスケジューラで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed by the scheduler which concerns on Example 2 of this invention. 本発明の実施例2における各処理の動作を時間軸上で模式的に説明する図である。It is a figure which schematically explains the operation of each process in Example 2 of this invention on the time axis. 本発明の実施例3に係る予測タスクで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed in the prediction task which concerns on Example 3 of this invention. 本発明の実施例3における各処理の動作を時間軸上で模式的に説明する図である。It is a figure which schematically explains the operation of each process in Example 3 of this invention on the time axis. 本発明の実施例4に係る周期タスクAで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed in the periodic task A which concerns on Example 4 of this invention. 本発明の実施例4に係るスケジューラで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed by the scheduler which concerns on Example 4 of this invention. 本発明の実施例5に係る周期タスクAで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed in the periodic task A which concerns on Example 5 of this invention. 本発明の実施例5に係るスケジューラで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed by the scheduler which concerns on Example 5 of this invention. 本発明の実施例5における各処理の動作を時間軸上で模式的に説明する図である。It is a figure which schematically explains the operation of each process in Example 5 of this invention on the time axis. 本発明の実施例6に係るエンジン制御ユニットの構成の一例を示すブロック図である。It is a block diagram which shows an example of the structure of the engine control unit which concerns on Example 6 of this invention. 本発明の実施例6に係るエンジン制御ユニットの機能要素の構成の一例を示す図である。It is a figure which shows an example of the structure of the functional element of the engine control unit which concerns on Example 6 of this invention. 本発明の実施例6係る点火時期算出タスクで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed in the ignition timing calculation task which concerns on Example 6 of this invention. 本発明の実施例6係るタイマセットタスクで行われる処理の一例を示すフローチャートである。6 is a flowchart showing an example of processing performed by the timer set task according to the sixth embodiment of the present invention. 本発明の実施例6係る予測タスクで行われる処理の一例を示すフローチャートである。6 is a flowchart showing an example of processing performed in the prediction task according to the sixth embodiment of the present invention. 本発明の実施例7に係るADユニットの構成の一例を示すブロック図である。It is a block diagram which shows an example of the structure of the AD unit which concerns on Example 7 of this invention. 本発明の実施例7に係るADユニットの機能要素の構成の一例を示す図である。It is a figure which shows an example of the structure of the functional element of the AD unit which concerns on Example 7 of this invention. 本発明の実施例7係る縦位置推定タスクで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed in the vertical position estimation task which concerns on Example 7 of this invention. 本発明の実施例7係る横位置推定タスクで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed in the horizontal position estimation task which concerns on Example 7 of this invention. 本発明の実施例7係る経路算出タスクで行われる処理の一例を示すフローチャートである。FIG. 7 is a flowchart showing an example of processing performed in the route calculation task according to the seventh embodiment of the present invention. 本発明の実施例7係る縦位置予測タスクで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed in the vertical position prediction task which concerns on Example 7 of this invention. 本発明の実施例7係る横位置予測タスクで行われる処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed in the horizontal position prediction task which concerns on Example 7 of this invention.
 以下、実施例について図面を用いて説明する。なお、本発明は以下の実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲で、各部の構成などを適宜追加、変更、削除などして実施することができる。ここでは例として、本発明を車両制御装置に適用した場合の形態を示す。以下の実施例に係る車両制御装置は、例えば、処理のオーバーラン時に精度が低下することの防止を目的とする。 Hereinafter, examples will be described with reference to the drawings. The present invention is not limited to the following examples, and the configuration of each part can be added, changed, or deleted as appropriate without departing from the spirit of the present invention. Here, as an example, a mode in which the present invention is applied to a vehicle control device is shown. The vehicle control device according to the following embodiment aims to prevent the accuracy from being lowered when the processing is overrun, for example.
 [実施例1]
 図1は、実施例1に係る車両制御装置1の構成の一例を示すブロック図である。車両制御装置1は、プロセッサ2と、メモリ3と、不揮発性メモリ4と、バッファ15を含む。
プロセッサ2~バッファ15は、インターコネクト8を介して接続される。
[Example 1]
FIG. 1 is a block diagram showing an example of the configuration of the vehicle control device 1 according to the first embodiment. The vehicle control device 1 includes a processor 2, a memory 3, a non-volatile memory 4, and a buffer 15.
The processor 2 to the buffer 15 are connected via the interconnect 8.
 メモリ3には、OS(Operating System)7と、周期タスクA(11)と、予測タスク12と、周期タスクB(13)がロードされてプロセッサ2によって実行される。以下では、便宜上、タスクを各処理の動作主体として説明することもあるが、各処理の実際の動作主体はプロセッサ2である。 The OS (Operating System) 7, the periodic task A (11), the prediction task 12, and the periodic task B (13) are loaded into the memory 3 and executed by the processor 2. In the following, for convenience, the task may be described as the operating subject of each process, but the actual operating subject of each process is the processor 2.
 周期タスクA(11)と、予測タスク12と、周期タスクB(13)と、スケジューラ14は、OS7上で稼働するソフトウェアである。OS7は、例えば、AUTOSAR(Automotive Open System Architecture)に準拠したOSや、リアルタイムOSを用いることができる。 The periodic task A (11), the prediction task 12, the periodic task B (13), and the scheduler 14 are software that runs on the OS 7. As the OS7, for example, an OS compliant with AUTOSAR (Automotive Open System Archive) or a real-time OS can be used.
 図2は、実施例1に係る車両制御装置1の機能要素の構成図である。 FIG. 2 is a configuration diagram of functional elements of the vehicle control device 1 according to the first embodiment.
 車両制御装置1では、周期タスクA(11)が処理を行い、出力値をバッファ15に格納する。周期タスクB(13)は、バッファ15から周期タスクA(11)が格納した値を読み込み、処理を行う。予測タスク12は、周期タスクA(11)の出力値を予測し、バッファ15に格納する。スケジューラ14は、周期タスクA(11)、予測タスク12、周期タスクB(13)の起動および終了を行う。 In the vehicle control device 1, the periodic task A (11) performs processing and stores the output value in the buffer 15. The periodic task B (13) reads the value stored in the periodic task A (11) from the buffer 15 and performs processing. The prediction task 12 predicts the output value of the periodic task A (11) and stores it in the buffer 15. The scheduler 14 starts and ends the periodic task A (11), the prediction task 12, and the periodic task B (13).
 換言すれば、車両制御装置1(制御装置)は、少なくとも、バッファ15、第1タスク部、予測タスク部、第2タスク部を備える。なお、本実施例では、第1タスク部、予測タスク部、第2タスク部は、それぞれメモリ3(図1)にロードされるソフトウェアとプロセッサ2(図1)が協働することにより実現されるが、FPGA(Field-Programmable Gate Array)等のハードウェアで実現してもよい。 In other words, the vehicle control device 1 (control device) includes at least a buffer 15, a first task unit, a prediction task unit, and a second task unit. In this embodiment, the first task unit, the prediction task unit, and the second task unit are realized by the cooperation of the software loaded in the memory 3 (FIG. 1) and the processor 2 (FIG. 1), respectively. However, it may be realized by hardware such as FPGA (Field-Programmable Gate Array).
 ここで、第1タスク部(プロセッサ2)は、所定の実行周期で第1タスク(周期タスクA)を実行し、第1タスク(周期タスクA)の出力値をバッファ15に書き込む。予測タスク部(プロセッサ2)は、実行周期において第1タスク(周期タスクA)の出力値がバッファ15に書き込まれる前に、第1タスク(周期タスクA)の出力値を予測し、予測値をバッファ15に書き込む。第2タスク部(プロセッサ2)は、実行周期でバッファ15から第1タスク(周期タスクA)の出力値または予測値を読み出し、バッファ15から読み出した出力値または予測値を入力として第2タスク(周期タスクB)を実行し、第2タスク(周期タスクB)の出力値を出力する。これらの動作の詳細は図7を用いて後述される。 Here, the first task unit (processor 2) executes the first task (cycle task A) in a predetermined execution cycle, and writes the output value of the first task (cycle task A) to the buffer 15. The prediction task unit (processor 2) predicts the output value of the first task (cycle task A) before the output value of the first task (cycle task A) is written to the buffer 15 in the execution cycle, and calculates the predicted value. Write to buffer 15. The second task unit (processor 2) reads the output value or predicted value of the first task (cycle task A) from the buffer 15 in the execution cycle, and inputs the output value or predicted value read from the buffer 15 to the second task (processor 2). Executes the periodic task B) and outputs the output value of the second task (periodic task B). Details of these operations will be described later with reference to FIG.
 これにより、実行周期において第1タスク(周期タスクA)の出力値がバッファ15に書き込まれなくても第1タスク(周期タスクA)の予測値を入力として第2タスク(周期タスクB)を完了することができる。その結果、第2タスク(周期タスクB)の出力値(例えば、アクチュエータの制御量)の精度が低下することを抑制することができる。 As a result, even if the output value of the first task (cycle task A) is not written to the buffer 15 in the execution cycle, the second task (cycle task B) is completed by inputting the predicted value of the first task (cycle task A). can do. As a result, it is possible to suppress a decrease in the accuracy of the output value (for example, the control amount of the actuator) of the second task (periodic task B).
 なお、予測値は、例えば、バッファ15に書き込まれた後、第1タスク(周期タスクA)の出力値で上書きされる。上書きに代えてリングバッファを用いてもよい。 The predicted value is written to the buffer 15, and then overwritten with the output value of the first task (periodic task A). A ring buffer may be used instead of overwriting.
 図3は、実施例1に係る周期タスクA(11)で行われる処理の一例を示すフローチャートである。周期タスクA(プロセッサ2)の処理100は、以下のように実行される。 FIG. 3 is a flowchart showing an example of the processing performed in the periodic task A (11) according to the first embodiment. The process 100 of the periodic task A (processor 2) is executed as follows.
 ステップ101では、周期タスクAは入力値を取得する。 In step 101, the periodic task A acquires the input value.
 ステップ102では、周期タスクAは取得した入力値を用いて、演算処理を行う。 In step 102, the periodic task A performs arithmetic processing using the acquired input value.
 ステップ103では、周期タスクAは演算処理の結果を出力値としてバッファ15に書き込む。 In step 103, the periodic task A writes the result of the arithmetic processing as an output value in the buffer 15.
 図4は、実施例1に係る予測タスク12で行われる処理の一例を示すフローチャートである。予測タスク(プロセッサ2)の処理200は、以下のように実行される。 FIG. 4 is a flowchart showing an example of the processing performed in the prediction task 12 according to the first embodiment. The processing 200 of the prediction task (processor 2) is executed as follows.
 ステップ201では、予測タスクは入力値を取得する。 In step 201, the prediction task acquires the input value.
 ステップ202では、予測タスクは取得した入力値を用いて、周期タスクA(11)で出力される値を予測する。 In step 202, the prediction task predicts the value output in the periodic task A (11) using the acquired input value.
 ステップ203では、予測タスクは得られた予測値をバッファ15に書き込む。 In step 203, the prediction task writes the obtained predicted value to the buffer 15.
 図5は、実施例1に係る周期タスクB(13)で行われる処理の一例を示すフローチャートである。周期タスクB(プロセッサ2)の処理300は、以下のように実行される。 FIG. 5 is a flowchart showing an example of the processing performed in the periodic task B (13) according to the first embodiment. The process 300 of the periodic task B (processor 2) is executed as follows.
 ステップ301では、周期タスクBは入力値をバッファ15から取得する。 In step 301, the periodic task B acquires the input value from the buffer 15.
 ステップ302では、周期タスクBは取得した入力値を用いて、演算処理を行う。 In step 302, the periodic task B performs arithmetic processing using the acquired input value.
 ステップ303では、周期タスクBは演算処理の結果を出力値として出力する。 In step 303, the periodic task B outputs the result of the arithmetic processing as an output value.
 図6は、実施例1に係るスケジューラ14で行われる処理の一例を示すフローチャートである。スケジューラ14(プロセッサ2)の処理400は、以下のように実行される。 FIG. 6 is a flowchart showing an example of processing performed by the scheduler 14 according to the first embodiment. The process 400 of the scheduler 14 (processor 2) is executed as follows.
 ステップ401では、スケジューラ14は時刻と、周期タスクA起動時刻16とを比較する。スケジューラ14は、時刻が周期タスクA起動時刻16と一致する場合はステップ402へ進み(ステップ401:Yes)、時刻が周期タスクA起動時刻16と一致しない場合には(ステップ401:No)、ステップ403へ進む。 In step 401, the scheduler 14 compares the time with the periodic task A start time 16. The scheduler 14 proceeds to step 402 if the time matches the periodic task A start time 16 (step 401: Yes), and if the time does not match the periodic task A start time 16 (step 401: No), the step Proceed to 403.
 ステップ402では、時刻が周期タスクA起動時刻であるので、スケジューラ14は周期タスクA(11)を起動させる。 In step 402, since the time is the periodic task A activation time, the scheduler 14 activates the periodic task A (11).
 ステップ403では、スケジューラ14は時刻と、周期タスクAデッドラインとを比較し、さらに周期タスクA(11)が実行中であるか判定する。スケジューラ14は、時刻が周期タスクAデッドラインと一致し、かつ周期タスクA(11)が実行中の場合(ステップ403:Yes)、ステップ404へ進み、時刻が周期タスクAデッドラインと一致しない、もしくは周期タスクA(11)が実行中でない場合(ステップ403:No)、ステップ405へ進む。 In step 403, the scheduler 14 compares the time with the periodic task A deadline, and further determines whether the periodic task A (11) is being executed. When the time coincides with the periodic task A deadline and the periodic task A (11) is being executed (step 403: Yes), the scheduler 14 proceeds to step 404, and the time does not coincide with the periodic task A deadline. Alternatively, if the periodic task A (11) is not being executed (step 403: No), the process proceeds to step 405.
 ステップ404では、スケジューラ14は周期タスクA(11)を終了させる。 In step 404, the scheduler 14 ends the periodic task A (11).
 ステップ405では、スケジューラ14は時刻と、周期タスクB起動時刻とを比較する。スケジューラ14は、時刻が周期タスクB起動時刻と一致する場合は(ステップ405:Yes)、ステップ406へ進み、時刻が周期タスクB起動時刻と一致しない場合には(ステップ405:No)、ステップ407へ進む。 In step 405, the scheduler 14 compares the time with the periodic task B start time. The scheduler 14 proceeds to step 406 if the time matches the periodic task B startup time (step 405: Yes), and if the time does not match the periodic task B startup time (step 405: No), step 407. Proceed to.
 ステップ406では、時刻が周期タスクB起動時刻であるので、スケジューラ14は周期タスクB(13)を起動させる。 In step 406, since the time is the periodic task B activation time, the scheduler 14 activates the periodic task B (13).
 ステップ407では、スケジューラ14は時刻と、予測タスク起動時刻とを比較する。
スケジューラ14は、時刻が予測タスク起動時刻と一致する場合は(ステップ407:Yes)、ステップ408へ進み、時刻が予測タスク起動時刻と一致しない場合には(ステップ407:No)、ステップ401へ進む。
In step 407, the scheduler 14 compares the time with the predicted task start time.
The scheduler 14 proceeds to step 408 if the time matches the predicted task start time (step 407: Yes), and proceeds to step 401 if the time does not match the predicted task start time (step 407: No). ..
 ステップ408では、時刻が予測タスク起動時刻であるので、スケジューラ14は予測タスク12を起動させる。 In step 408, since the time is the predicted task activation time, the scheduler 14 activates the predicted task 12.
 図7は、実施例1における各処理の動作を時間軸上で模式的に説明する図である。 FIG. 7 is a diagram schematically explaining the operation of each process in the first embodiment on the time axis.
 図中の黒色矢印は、スケジューラ14の命令を表し、白色矢印はバッファ15からの読み込み、もしくはバッファ15への書き込みを表している。 The black arrow in the figure represents the instruction of the scheduler 14, and the white arrow represents the reading from the buffer 15 or the writing to the buffer 15.
 本例は、時刻(t)=26において、周期タスクA(11-2)がオーバーランを起こした場合について説明する。 This example describes the case where the periodic task A (11-2) causes an overrun at the time (t) = 26.
 スケジューラ14は、予測タスク起動時刻20において、予測タスク12を起動させる(ステップ408)。これにより予測タスク12-1が起動する。予測タスク12-1は演算が完了すると、バッファ15へ予測値を書き込む。なお、予測タスク12-1の処理時間は、周期タスクAの処理時間又は周期タスクBの処理時間に対して十分に小さい(後述の12-2も同様)。 The scheduler 14 activates the prediction task 12 at the prediction task start time 20 (step 408). As a result, the prediction task 12-1 is activated. When the prediction task 12-1 completes the calculation, the prediction task 12-1 writes the prediction value to the buffer 15. The processing time of the prediction task 12-1 is sufficiently smaller than the processing time of the periodic task A or the processing time of the periodic task B (the same applies to 12-2 described later).
 スケジューラ14は、周期タスクA起動時刻21において、周期タスクA(11)を起動させる。これにより周期タスクA(11-1)が起動する。周期タスクA(11-1)は演算が完了すると、バッファ15へ出力値を書き込む。 The scheduler 14 activates the periodic task A (11) at the periodic task A start time 21. As a result, the periodic task A (11-1) is activated. When the calculation is completed, the periodic task A (11-1) writes an output value to the buffer 15.
 スケジューラ14は、周期タスクB起動時刻23において、周期タスクB(13)を起動させる。これにより周期タスクB(13-1)が起動する。周期タスクB(13-1)は、周期タスクA(11-1)によって書き込まれた値を、バッファ15から読み込み、これを用いて演算を行う。 The scheduler 14 activates the periodic task B (13) at the periodic task B start time 23. As a result, the periodic task B (13-1) is activated. The periodic task B (13-1) reads the value written by the periodic task A (11-1) from the buffer 15 and performs an operation using the buffer 15.
 スケジューラ14は、予測タスク起動時刻24において、予測タスク12を起動させる。これにより予測タスク12-2が起動する。予測タスク12-2は演算が完了すると、バッファ15へ予測値を書き込む。 The scheduler 14 starts the prediction task 12 at the prediction task start time 24. As a result, the prediction task 12-2 is activated. When the prediction task 12-2 completes the calculation, the prediction task 12-2 writes the prediction value to the buffer 15.
 スケジューラ14は、周期タスクA起動時刻25において、周期タスクA(11)を起動させる。これにより周期タスクA(11-2)が起動する。しかし、本例では周期タスクA(11-2)は、所定の周期タスクAデッドライン26までに演算が完了しなかったとする。スケジューラ14は、周期タスクAデッドライン26において、周期タスクA(11-2)を終了させる。 The scheduler 14 activates the periodic task A (11) at the periodic task A start time 25. As a result, the periodic task A (11-2) is started. However, in this example, it is assumed that the calculation of the periodic task A (11-2) is not completed by the predetermined periodic task A deadline 26. The scheduler 14 ends the periodic task A (11-2) at the periodic task A deadline 26.
 スケジューラ14は、周期タスクB起動時刻27において、周期タスクB(13)を起動させる。これにより周期タスクB(13-2)が起動する。周期タスクB(13-2)は、予測タスク12-2によって書き込まれた値を、バッファ15から読み込み、これを用いて演算を行う。 The scheduler 14 activates the periodic task B (13) at the periodic task B start time 27. As a result, periodic task B (13-2) is activated. The periodic task B (13-2) reads the value written by the prediction task 12-2 from the buffer 15 and performs an operation using the buffer 15.
 換言すれば、第2タスク部(プロセッサ2)は、実行周期において第1タスク(周期タスクA)の締め切りタイミングを示す第1タスクデッドライン(周期タスクAデッドライン)までに第1タスク(周期タスクA)が完了しない場合、第1タスク(周期タスクA)の予測値を入力として第2タスク(周期タスクB)を実行する。これにより、第1タスクデッドライン(周期タスクAデッドライン)までに第1タスク(周期タスクA)が完了しなくても第1タスク(周期タスクA)の予測値を入力として第2タスク(周期タスクB)を完了することができる。 In other words, the second task unit (processor 2) has the first task (cycled task) by the first task deadline (cycled task A deadline) indicating the deadline timing of the first task (cycled task A) in the execution cycle. If A) is not completed, the second task (periodic task B) is executed by inputting the predicted value of the first task (periodic task A). As a result, even if the first task (cycle task A) is not completed by the first task deadline (cycle task A deadline), the predicted value of the first task (cycle task A) is input as the second task (cycle). Task B) can be completed.
 以上、本実施例1によれば、ある処理が所定の出力周期内に演算を完了することができなかった場合、あらかじめ予測した出力値を用いることで、前回値の使用を防ぐことができ、処理の精度が低下することを防ぐことが可能となる。 As described above, according to the first embodiment, when a certain process cannot complete the calculation within a predetermined output cycle, the use of the previous value can be prevented by using the output value predicted in advance. It is possible to prevent the processing accuracy from being lowered.
 [実施例2]
 図8は、実施例2に係るスケジューラ14で行われる処理の一例を示すフローチャートである。スケジューラ14(プロセッサ2)の処理500は、以下のように実行される。
なお、図6と同様の説明は省略する。
[Example 2]
FIG. 8 is a flowchart showing an example of processing performed by the scheduler 14 according to the second embodiment. The process 500 of the scheduler 14 (processor 2) is executed as follows.
The same description as in FIG. 6 will be omitted.
 ステップ507では、スケジューラ14は時刻と、予測タスク起動時刻βとを比較する。スケジューラ14は、時刻が予測タスク起動時刻βと一致する場合は(ステップ507:Yes)、ステップ509へ進み、時刻が予測タスク起動時刻βと一致しない場合には(ステップ507:No)、ステップ510へ進む。 In step 507, the scheduler 14 compares the time with the predicted task start time β. The scheduler 14 proceeds to step 509 if the time matches the predicted task start time β (step 507: Yes), and if the time does not match the predicted task start time β (step 507: No), step 510. Proceed to.
 ステップ509では、スケジューラ14は周期タスクB(13)が演算を完了しているか判定する。周期タスクB(13)が演算を完了している場合は(ステップ509:Yes)、ステップ408へ進む。周期タスクB(13)が演算を完了していない場合は、ステップ401へ進む。 In step 509, the scheduler 14 determines whether the periodic task B (13) has completed the calculation. If the periodic task B (13) has completed the calculation (step 509: Yes), the process proceeds to step 408. If the periodic task B (13) has not completed the calculation, the process proceeds to step 401.
 ステップ408では、時刻が予測タスク起動時刻であるので、スケジューラ14は予測タスク12を起動させる。 In step 408, since the time is the predicted task activation time, the scheduler 14 activates the predicted task 12.
 ステップ510では、スケジューラ14は時刻と、予測タスク起動時刻αを比較し、さらに予測タスク12が未実行であるか判定する。ここで、β<αである。スケジューラ14は、時刻が予測タスク起動時刻αと一致し、かつ予測タスク12が未実行の場合(ステップ510:Yes)、ステップ511へ進み、時刻が予測タスク起動時刻αと一致しない、もしくは予測タスク12が実行済みの場合(ステップ510:No)、ステップ401へ進む。 In step 510, the scheduler 14 compares the time with the predicted task start time α, and further determines whether the predicted task 12 has not been executed. Here, β <α. If the time matches the predicted task start time α and the predicted task 12 has not been executed (step 510: Yes), the scheduler 14 proceeds to step 511, and the time does not match the predicted task start time α, or the predicted task If 12 has been executed (step 510: No), the process proceeds to step 401.
 ステップ511では、スケジューラ14は予測タスク12を起動する。 In step 511, the scheduler 14 activates the prediction task 12.
 図9は、実施例2における各処理の動作を時間軸上で模式的に説明する図である。 FIG. 9 is a diagram schematically explaining the operation of each process in the second embodiment on the time axis.
 本例は、時刻(t)=28において、予測タスク12-3が起動し、時刻(t)=26において、周期タスクA(11-2)がオーバーランを起こした場合について説明する。
なお、図7と同様の説明は省略する。
In this example, the case where the prediction task 12-3 is activated at the time (t) = 28 and the periodic task A (11-2) causes an overrun at the time (t) = 26 will be described.
The same description as in FIG. 7 will be omitted.
 スケジューラ14は、周期タスクB起動時刻23において、周期タスクB(13)を起動させる。これにより周期タスクB(13-3)が起動する。 The scheduler 14 activates the periodic task B (13) at the periodic task B start time 23. As a result, the periodic task B (13-3) is activated.
 スケジューラ14は、予測タスク起動時刻β(28)において、予測タスク12を起動させる。これにより予測タスク12-3が起動する(ステップ408)。 The scheduler 14 activates the prediction task 12 at the prediction task start time β (28). As a result, the prediction task 12-3 is activated (step 408).
 スケジューラ14は、予測タスク起動時刻α(24)において、すでに予測タスク12-3が実行されたため、予測タスク12を起動しない。 The scheduler 14 does not start the prediction task 12 because the prediction task 12-3 has already been executed at the prediction task start time α (24).
 スケジューラ14は、周期タスクB起動時刻27において、周期タスクB(13)を起動させる。これにより周期タスクB(13-4)が起動する。周期タスクB(13-4)は予測タスク12-3によって書き込まれた値を、バッファ15から読み込み、これを用いて演算を行う。 The scheduler 14 activates the periodic task B (13) at the periodic task B start time 27. As a result, the periodic task B (13-4) is activated. The periodic task B (13-4) reads the value written by the prediction task 12-3 from the buffer 15 and performs an operation using the buffer 15.
 以上、本実施例2によれば、実施例1において予測タスク12が占有していたプロセッサの実行時間を、他の任意の処理に割り当てることが可能となる。また、周期タスクBの演算が完了していれば、次周期の予測タスクの起動が実施例1より早くなる。 As described above, according to the second embodiment, the execution time of the processor occupied by the prediction task 12 in the first embodiment can be allocated to any other processing. Further, if the calculation of the periodic task B is completed, the prediction task of the next cycle is started earlier than in the first embodiment.
 [実施例3](空き時間の大小で予測アルゴリズムを変更する)
 図10は、実施例3に係る予測タスク12で行われる処理の一例を示すフローチャートである。予測タスク12(プロセッサ2)の処理600は、以下のように実行される。なお、図4と同様の説明は省略する。
[Example 3] (The prediction algorithm is changed depending on the amount of free time)
FIG. 10 is a flowchart showing an example of the processing performed in the prediction task 12 according to the third embodiment. The process 600 of the prediction task 12 (processor 2) is executed as follows. The same description as in FIG. 4 will be omitted.
 ステップ602では、予測タスク12が予測タスク起動時刻βで起動したか判定する。
予測タスク12が予測タスク起動時刻βで起動していた場合は(ステップ602:Yes)、ステップ603へ進む。予測タスク12が予測タスク起動時刻βで起動していなかった場合は(ステップ602:No)、ステップ604へ進む。
In step 602, it is determined whether or not the prediction task 12 is started at the prediction task start time β.
If the prediction task 12 is started at the prediction task start time β (step 602: Yes), the process proceeds to step 603. If the prediction task 12 is not started at the prediction task start time β (step 602: No), the process proceeds to step 604.
 ステップ603では、予測タスク12は、より高精度な予測アルゴリズムを用いて、取得した入力値をもとに、周期タスクA(11)で出力される値を予測する。なお、高精度な予測アルゴリズムは、例えば、高次の回帰曲線や多数のデータを用いるアルゴリズムである。 In step 603, the prediction task 12 predicts the value output by the periodic task A (11) based on the acquired input value by using a more accurate prediction algorithm. The highly accurate prediction algorithm is, for example, an algorithm that uses a high-order regression curve or a large amount of data.
 ステップ604では、予測タスク12は、より高速な予測アルゴリズムを用いて、取得した入力値をもとに、周期タスクA(11)で出力される値を予測する。なお、高速な予測アルゴリズムは、例えば、テーブル参照により、入力値に対応する予測値を取得するアルゴリズムである。 In step 604, the prediction task 12 predicts the value output by the periodic task A (11) based on the acquired input value by using a faster prediction algorithm. The high-speed prediction algorithm is, for example, an algorithm that acquires a predicted value corresponding to an input value by referring to a table.
 図11は、実施例3における各処理の動作を時間軸上で模式的に説明する図である。なお、図7、9と同様の説明は省略する。 FIG. 11 is a diagram schematically explaining the operation of each process in the third embodiment on the time axis. The same description as in FIGS. 7 and 9 will be omitted.
 スケジューラ14は、予測タスク起動時刻β(28)において、予測タスク12を起動させる。これにより予測タスク12-4が起動する。予測タスク12-4は、予測タスク起動時刻βで起動したため、高精度な予測アルゴリズムを用いて、予測を行う(ステップ603)。 The scheduler 14 activates the prediction task 12 at the prediction task start time β (28). As a result, the prediction task 12-4 is activated. Since the prediction task 12-4 was started at the prediction task start time β, the prediction is performed using a highly accurate prediction algorithm (step 603).
 換言すれば、予測タスク部(プロセッサ2)は、実行周期において第2タスク(周期タスクB)が完了し、かつ、次の第1タスク(周期タスクA)の出力値の予測を開始するタイミング(予測タスク起動時刻β)から実行周期が終わるタイミングまでの時間を示す空き時間が第1閾値(例えば、第1予測(高精度)に要する時間)を超える場合、速度よりも精度を優先する第1予測を行い、空き時間が第1閾値以下の場合、精度よりも速度を優先する第2予測を行う。これにより、空き時間の長さに応じて、精度を優先する第1予測と、速度を優先する第2予測を切り替えることができる。 In other words, the prediction task unit (processor 2) completes the second task (cycle task B) in the execution cycle, and starts predicting the output value of the next first task (cycle task A) (timing). When the free time indicating the time from the predicted task start time β) to the end of the execution cycle exceeds the first threshold value (for example, the time required for the first prediction (high accuracy)), the first priority is given to accuracy over speed. Prediction is performed, and when the free time is equal to or less than the first threshold value, the second prediction is performed in which speed is prioritized over accuracy. As a result, it is possible to switch between the first prediction that prioritizes accuracy and the second prediction that prioritizes speed according to the length of free time.
 以上、実施例3によれば、予測タスク12は他のタスクの処理状況次第で、高精度な予測アルゴリズムを用いて、より精度の良い予測値を出力することが可能となる。また、予測タスク12が高速な予測アルゴリズムを用いる場合には計算負荷が低減するため、車両制御装置が消費する電力を抑制することができる。 As described above, according to the third embodiment, the prediction task 12 can output a more accurate prediction value by using a highly accurate prediction algorithm depending on the processing status of other tasks. Further, when the prediction task 12 uses a high-speed prediction algorithm, the calculation load is reduced, so that the power consumed by the vehicle control device can be suppressed.
 [実施例4]
 図12は、実施例4に係る周期タスクA(11)で行われる処理の一例を示すフローチャートである。周期タスクA(プロセッサ2)の処理700は、以下のように実行される。なお、図3と同様の説明は省略する。
[Example 4]
FIG. 12 is a flowchart showing an example of the processing performed in the periodic task A (11) according to the fourth embodiment. The process 700 of the periodic task A (processor 2) is executed as follows. The same description as in FIG. 3 will be omitted.
 ステップ703では、周期タスクAは予測タスクスキップフラグが無効か判定する。予測タスクスキップフラグが無効の場合は(ステップ703:Yes)、ステップ704へ進む。予測タスクスキップフラグが無効でない場合は(ステップ703:No)、ステップ103へ進む。 In step 703, the periodic task A determines whether the prediction task skip flag is invalid. If the predictive task skip flag is invalid (step 703: Yes), the process proceeds to step 704. If the predictive task skip flag is not invalid (step 703: No), the process proceeds to step 103.
 ステップ704では、周期タスクAはバッファ15から予測値を読み込む。 In step 704, the periodic task A reads the predicted value from the buffer 15.
 ステップ705では、周期タスクAは、読み込んだ予測値と、演算結果とを用いて、予測精度を求め、予測精度をあらかじめ決められた閾値と比較する。予測精度が閾値以上の場合は、ステップ103へ進む。予測精度が閾値未満の場合は、ステップ706へ進む。 In step 705, the periodic task A obtains the prediction accuracy using the read predicted value and the calculation result, and compares the prediction accuracy with a predetermined threshold value. If the prediction accuracy is equal to or higher than the threshold value, the process proceeds to step 103. If the prediction accuracy is less than the threshold value, the process proceeds to step 706.
 ステップ706では、周期タスクAは予測タスクスキップフラグを有効にする。 In step 706, the periodic task A enables the predictive task skip flag.
 換言すれば、第1タスク部(プロセッサ2)は、周期タスクAの出力値(演算結果)と予測値の一致の度合いを示す予測精度が第2閾値より低い場合、予測タスク部(プロセッサ2)の起動をスキップさせる。これにより、予測精度が低い場合に、第1タスク(周期タスクA)の出力値を入力として第2タスク(周期タスクB)を完了することができる。 In other words, the first task unit (processor 2) is the prediction task unit (processor 2) when the prediction accuracy indicating the degree of matching between the output value (calculation result) of the periodic task A and the predicted value is lower than the second threshold value. To skip the startup of. As a result, when the prediction accuracy is low, the second task (periodic task B) can be completed by inputting the output value of the first task (periodic task A).
 図13は、実施例4に係るスケジューラ14で行われる処理の一例を示すフローチャートである。スケジューラ14(プロセッサ2)の処理800は、以下のように実行される。なお、図6と同様の説明は省略する。 FIG. 13 is a flowchart showing an example of processing performed by the scheduler 14 according to the fourth embodiment. The process 800 of the scheduler 14 (processor 2) is executed as follows. The same description as in FIG. 6 will be omitted.
 ステップ807では、スケジューラ14は予測タスクスキップフラグが無効か判定する。予測タスクスキップフラグが無効の場合は(ステップ807:Yes)、ステップ407へ進む。予測タスクスキップフラグが無効でない場合は(ステップ807:No)、ステップ811へ進む。 In step 807, the scheduler 14 determines whether the predictive task skip flag is invalid. If the predictive task skip flag is invalid (step 807: Yes), the process proceeds to step 407. If the predictive task skip flag is not invalid (step 807: No), the process proceeds to step 811.
 ステップ811では、スケジューラ14は予測タスクスキップカウンタを減算する。予測タスクスキップカウンタは、あらかじめ決められた値を持つ。 In step 811 the scheduler 14 subtracts the predicted task skip counter. The predictive task skip counter has a predetermined value.
 ステップ812では、スケジューラ14は予測タスクスキップカウンタが0か判定する。0の場合は、ステップ813へ進む。0でない場合は、ステップ401へ進む。 In step 812, the scheduler 14 determines whether the prediction task skip counter is 0. If it is 0, the process proceeds to step 813. If it is not 0, the process proceeds to step 401.
 ステップ813では、スケジューラ14は予測タスクスキップフラグを無効にし、予測タスクスキップカウンタの値を初期化する。 In step 813, the scheduler 14 invalidates the predictive task skip flag and initializes the value of the predictive task skip counter.
 以上、実施例4によれば、予測の精度があらかじめ決められた閾値に満たない場合に、予測タスク12の実行をスキップすることができる。これにより、予測タスク12が占有していたプロセッサの実行時間を、他の任意の処理に割り当てることが可能となる。また、車両制御装置が消費する電力を抑制することができる。 As described above, according to the fourth embodiment, when the accuracy of the prediction does not reach the predetermined threshold value, the execution of the prediction task 12 can be skipped. As a result, the execution time of the processor occupied by the prediction task 12 can be allocated to any other processing. In addition, the electric power consumed by the vehicle control device can be suppressed.
 [実施例5]
 図14は、実施例5に係る周期タスクA(11)で行われる処理の一例を示すフローチャートである。周期タスクA(プロセッサ2)の処理900は、以下のように実行される。なお、図3と同様の説明は省略する。
[Example 5]
FIG. 14 is a flowchart showing an example of the processing performed in the periodic task A (11) according to the fifth embodiment. The process 900 of the periodic task A (processor 2) is executed as follows. The same description as in FIG. 3 will be omitted.
 ステップ902では、周期タスクAは演算処理Iを実行する。 In step 902, the periodic task A executes the arithmetic processing I.
 ステップ903では、周期タスクAは、時刻が、所定の演算処理Iデッドライン以内であるか判定する。時刻が演算処理Iデッドライン以内(以前)である場合は(ステップ903:Yes)、ステップ904へ進む。時刻が演算処理Iデッドラインを超えている場合は(ステップ903:No)、ステップ905へ進む。 In step 903, the periodic task A determines whether the time is within the predetermined arithmetic processing I deadline. If the time is within (previously) the arithmetic processing I deadline (step 903: Yes), the process proceeds to step 904. If the time exceeds the arithmetic processing I deadline (step 903: No), the process proceeds to step 905.
 ステップ904では、周期タスクAは演算処理IIを実行する。 In step 904, the periodic task A executes the arithmetic processing II.
 ステップ905では、周期タスクAは予測タスク起動イベントを発生させる。 In step 905, the periodic task A generates a predicted task activation event.
 換言すれば、第1タスク(周期タスクA)は、少なくとも第1演算処理(演算処理I)と第2演算処理(演算処理II)を含む。第1タスク部(プロセッサ2)は、第1演算処理(演算処理I)がその締め切りタイミングを示す第1演算処理デッドライン(演算処理Iデッドライン)を超えて完了した場合、第2演算処理(演算処理II)の実行をキャンセルし、予測タスク部(プロセッサ2)を起動させる。これにより、第1演算処理デッドライン(演算処理Iデッドライン)を超えて第1演算処理(演算処理I)が完了した場合、第2演算処理(演算処理II)の実行をキャンセルし、第2演算処理(演算処理II)が使用するリソースを確保する必要がなくなる。 In other words, the first task (periodic task A) includes at least the first arithmetic processing (arithmetic processing I) and the second arithmetic processing (arithmetic processing II). When the first arithmetic processing (arithmetic processing I) is completed beyond the first arithmetic processing deadline (arithmetic processing I deadline) indicating the deadline timing, the first task unit (processor 2) performs the second arithmetic processing (arithmetic processing I deadline). The execution of the arithmetic processing II) is canceled, and the prediction task unit (processor 2) is started. As a result, when the first arithmetic processing (arithmetic processing I) is completed beyond the first arithmetic processing deadline (arithmetic processing I deadline), the execution of the second arithmetic processing (arithmetic processing II) is canceled and the second arithmetic processing is canceled. It is not necessary to secure the resources used by the arithmetic processing (arithmetic processing II).
 図15は、実施例5に係るスケジューラ14で行われる処理の一例を示すフローチャートである。スケジューラ14(プロセッサ2)の処理1000は、以下のように実行される。なお、図6と同様の説明は省略する。 FIG. 15 is a flowchart showing an example of processing performed by the scheduler 14 according to the fifth embodiment. The process 1000 of the scheduler 14 (processor 2) is executed as follows. The same description as in FIG. 6 will be omitted.
 ステップ1007では、スケジューラ14は予測タスク起動イベントを受信しているか判定する。予測タスク起動イベントを受信している場合は(ステップ1007:Yes)、ステップ408へ進む。予測タスク起動イベントを受信していない場合は(ステップ1007:No)、ステップ401へ進む。 In step 1007, the scheduler 14 determines whether or not the predicted task activation event has been received. If the predicted task start event has been received (step 1007: Yes), the process proceeds to step 408. If the predicted task start event has not been received (step 1007: No), the process proceeds to step 401.
 図16は、実施例5における各処理の動作を時間軸上で模式的に説明する図である。なお、図7と同様の説明は省略する。 FIG. 16 is a diagram schematically explaining the operation of each process in the fifth embodiment on the time axis. The same description as in FIG. 7 will be omitted.
 周期タスクA(11-3)は、時刻30において、演算処理Iを完了する。しかし、これは周期タスクA演算処理Iデッドライン29を超える時刻であるため、予測タスク起動イベントを発生させ、処理を終了する(ステップ905)。 Periodic task A (11-3) completes arithmetic processing I at time 30. However, since this is a time that exceeds the periodic task A arithmetic processing I deadline 29, the predicted task activation event is generated and the processing is terminated (step 905).
 スケジューラ14は、時刻30において、予測タスク起動イベントを受信したため、予測タスク12を起動させる(ステップ408)。これにより予測タスク12-5が起動する。予測タスク12-5は、周期タスクA(11-3)の出力値を予測する。 Since the scheduler 14 received the prediction task start event at time 30, the scheduler 14 starts the prediction task 12 (step 408). This activates the prediction task 12-5. The prediction task 12-5 predicts the output value of the periodic task A (11-3).
 以上、実施例5によれば、周期タスクA(11)がオーバーラン(デッドラインを超えてしまうこと)することを未然に防ぎ、周期タスクB13が予測タスク12から出力される予測値を用いて演算を行うことが可能となる。 As described above, according to the fifth embodiment, the periodic task A (11) is prevented from overrunning (exceeding the deadline), and the periodic task B13 uses the predicted value output from the predicted task 12. It is possible to perform calculations.
 [実施例6]
 図17は、実施例6に係る本発明を適用したエンジン制御ユニット1-10の構成の一例を示すブロック図である。なお、図1と同様の説明は省略する。センサ入力22は、クランク角センサなど、各種センサからの入力を受け取る装置である。点火ドライバ23-10は、エンジンの点火系に接続し、点火タイマ24-10の指示に従って、プラグに点火するための電流を流す。点火タイマ24-10は、プロセッサが指定した時刻に点火ドライバ23-10を起動する。
[Example 6]
FIG. 17 is a block diagram showing an example of the configuration of the engine control unit 1-10 to which the present invention according to the sixth embodiment is applied. The same description as in FIG. 1 will be omitted. The sensor input 22 is a device that receives inputs from various sensors such as a crank angle sensor. The ignition driver 23-10 is connected to the ignition system of the engine and flows a current for igniting the plug according to the instruction of the ignition timer 24-10. The ignition timer 24-10 activates the ignition driver 23-10 at a time specified by the processor.
 図18は、実施例6に係る本発明を適用したエンジン制御ユニット1-10の機能構成の一例を示すブロック図である。回転数算出タスク21-10は、周期内のクランク角センサ割込みをカウントし、回転数を算出する。点火時期算出タスク11-10は、回転数や吸気温度などの入力から点火時期を算出し、バッファ15に点火時期の値(上死点到達予定時刻からの相対時間)を書き込む。タイマセットタスク13-10は、バッファ15から点火時期を読み取り、絶対時刻に変換して点火タイマをセットする。予測タスク12は、点火時期の予測値を算出してバッファ15に書き込む。スケジューラ14は、各タスクを所定の周期で起動する。 FIG. 18 is a block diagram showing an example of the functional configuration of the engine control unit 1-10 to which the present invention according to the sixth embodiment is applied. The rotation speed calculation task 21-10 counts the crank angle sensor interrupts in the cycle and calculates the rotation speed. The ignition timing calculation task 11-10 calculates the ignition timing from inputs such as the rotation speed and the intake air temperature, and writes the ignition timing value (relative time from the scheduled top dead center arrival time) in the buffer 15. The timer setting task 13-10 reads the ignition timing from the buffer 15 and converts it into an absolute time to set the ignition timer. The prediction task 12 calculates the predicted value of the ignition timing and writes it in the buffer 15. The scheduler 14 starts each task at a predetermined cycle.
 図19は、実施例6に係る点火時期算出タスク11-10(プロセッサ2)で行われる処理の一例を示すフローチャートである。図20は、実施例6に係るタイマセットタスク13-10(プロセッサ2)で行われる処理の一例を示すフローチャートである。なお、図5と同様の説明は省略する。 FIG. 19 is a flowchart showing an example of processing performed by the ignition timing calculation task 11-10 (processor 2) according to the sixth embodiment. FIG. 20 is a flowchart showing an example of processing performed by the timer set task 13-10 (processor 2) according to the sixth embodiment. The same description as in FIG. 5 will be omitted.
 図20のステップ1202では、タイマセットタスクは点火タイマをセットする。 In step 1202 of FIG. 20, the timer setting task sets the ignition timer.
 図21は、実施例6に係る予測タスク12(プロセッサ2)で行われる処理の一例を示すフローチャートである。予測タスクの処理1300は、以下のように実行される。なお、図4と同様の説明は省略する。 FIG. 21 is a flowchart showing an example of processing performed by the prediction task 12 (processor 2) according to the sixth embodiment. The processing 1300 of the prediction task is executed as follows. The same description as in FIG. 4 will be omitted.
 予測タスク12は、入力処理(ステップ201)において回転数を入力し、前回との回転数の差分が一定値より小さい場合、処理を終了する(ステップ1302:Yes)。そうでない場合(ステップ1302:Yes)、予測タスク12は、高回転かどうかを判定し(ステップ1303)、高回転の場合(ステップ1303:Yes)は軽量アルゴリズム、すなわち回転数に応じたテーブル参照と参照した値を前回の点火時期に加算して点火時期を決定する。 The prediction task 12 inputs the rotation speed in the input process (step 201), and ends the process when the difference between the rotation speed and the previous time is smaller than a certain value (step 1302: Yes). If not (step 1302: Yes), the prediction task 12 determines whether the rotation is high (step 1303), and if it is high rotation (step 1303: Yes), it is a lightweight algorithm, that is, a table reference according to the rotation speed. The referenced value is added to the previous ignition timing to determine the ignition timing.
 高回転でない場合(ステップ1303:No)、予測タスク12は、高精度アルゴリズム、すなわち複数周期前からの回転数の変化から現在の回転数を予測し、その予測値に基づいて点火時期を予測する(ステップ603)。予測タスク12は出力処理においてバッファ15に点火時期の予測値を書き込む。 When the rotation speed is not high (step 1303: No), the prediction task 12 predicts the current rotation speed from a high-precision algorithm, that is, a change in the rotation speed from a plurality of cycles before, and predicts the ignition timing based on the predicted value. (Step 603). The prediction task 12 writes the predicted value of the ignition timing to the buffer 15 in the output process.
 ステップ1302では、前回との回転数の差分が一定値より小さい場合予測処理および出力処理をスキップすることができ、予測が不要な場合すなわち前回値との差分が一定以下になる場合に処理負荷を削減することができる。 In step 1302, the prediction processing and the output processing can be skipped when the difference in the number of rotations from the previous value is smaller than a certain value, and the processing load is increased when the prediction is unnecessary, that is, when the difference from the previous value is less than a certain value. Can be reduced.
 ステップ1303、603、604では、高回転の場合は(ステップ1303:Yes)、軽量アルゴリズム(ステップ604)、そうでない場合(ステップ1303:No)は高精度アルゴリズムに基づいて予測処理を行うことで(ステップ603)、処理負荷に合わせて予測処理を切り替えることができる。 In steps 1303, 603, and 604, if the rotation speed is high (step 1303: Yes), the lightweight algorithm (step 604) is performed, and if not (step 1303: No), the prediction process is performed based on the high-precision algorithm (step 1303: No). Step 603), the prediction process can be switched according to the processing load.
 以上、実施例6によれば、エンジン制御ユニットにおいて、点火時期算出タスク11-10が所定の出力周期内に演算を完了することができなかった場合、あらかじめ予測した出力値を用いることで、前回値の使用を防ぐことができ、タイマセットタスク13-10の精度が低下することを防ぐことが可能となる。 As described above, according to the sixth embodiment, when the ignition timing calculation task 11-10 cannot complete the calculation within the predetermined output cycle in the engine control unit, the output value predicted in advance is used to obtain the previous time. The use of the value can be prevented, and the accuracy of the timer set task 13-10 can be prevented from being lowered.
 [実施例7]
 図22は、本発明を適用したADユニット1-20(Autonomous Driving Unit)の構成の一例を示すブロック図である。なお、図1と同様の説明は省略する。
[Example 7]
FIG. 22 is a block diagram showing an example of the configuration of the AD unit 1-20 (Autonomous Driving Unit) to which the present invention is applied. The same description as in FIG. 1 will be omitted.
 メモリ3には、OS7と、縦位置推定タスク11-20と、横位置推定タスク11-21と、縦位置予測タスク12-20と、横位置予測タスク12-21と、シーン判定タスク31と、フュージョンタスク32がロードされてプロセッサ2によって実行される。 The memory 3 contains the OS 7, the vertical position estimation task 11-20, the horizontal position estimation task 11-21, the vertical position prediction task 12-20, the horizontal position prediction task 12-21, and the scene determination task 31. Fusion task 32 is loaded and executed by processor 2.
 ADユニットは自動運転の制御を行う制御ユニットであり、カメラなど各種センサからの入力を受け取り、その入力から自車周辺の物体の認識等を行い、認識した物体情報などを統合(フュージョン)したり、自車の走行状況(シーン)を判定したり、自車の自己位置を推定したりしたのち、自車が進むべき経路を算出し、その経路を走行するために必要な舵角等の制御情報を算出して、EPS(電動ステアリングシステム)などのアクチュエータに制御情報を出力する。 The AD unit is a control unit that controls automatic driving, receives inputs from various sensors such as cameras, recognizes objects around the vehicle from the inputs, and integrates (fusion) the recognized object information. , After determining the driving situation (scene) of the own vehicle and estimating the self-position of the own vehicle, calculate the route that the own vehicle should take and control the steering angle etc. required to travel on that route. The information is calculated and the control information is output to an actuator such as an EPS (electric steering system).
 なお、本発明は、ADユニットの機能のうち、自己位置推定に適用するため、自己位置推定にかかわる構成要素のみ図示する。 Since the present invention applies to self-position estimation among the functions of the AD unit, only the components related to self-position estimation are shown.
 図23は、本発明を適用したADユニット1-20の機能構成の一例を示すブロック図である。 FIG. 23 is a block diagram showing an example of the functional configuration of the AD unit 1-20 to which the present invention is applied.
 フュージョンタスク32は認識した物体情報などを統合し、縦位置推定タスク11-20および横位置推定タスク11-21が必要とする情報を出力する。 The fusion task 32 integrates the recognized object information and the like, and outputs the information required by the vertical position estimation task 11-20 and the horizontal position estimation task 11-21.
 シーン判定タスク31は、自車加速中または先行車減速中などで先行車との衝突リスクが一定以上ある場合か、左右の車線変更中かを判断して出力する。 The scene determination task 31 determines whether the risk of collision with the preceding vehicle is above a certain level while the own vehicle is accelerating or decelerating the preceding vehicle, or whether the left and right lanes are being changed and output.
 縦位置推定タスク11-20は、自車の縦位置を推定して結果を縦位置バッファ15-20に出力する。 The vertical position estimation task 11-20 estimates the vertical position of the own vehicle and outputs the result to the vertical position buffer 15-20.
 横位置推定タスク11-21は、自車の横位置を推定して結果を横位置バッファ15-21に出力する。 The horizontal position estimation task 11-21 estimates the horizontal position of the own vehicle and outputs the result to the horizontal position buffer 15-21.
 縦位置予測タスク12-20は、自車の縦位置を予測して結果を縦位置バッファ15-20に出力する。 The vertical position prediction task 12-20 predicts the vertical position of the own vehicle and outputs the result to the vertical position buffer 15-20.
 横位置予測タスク12-21は、自車の横位置を予測して結果を横位置バッファ15-21に出力する。 The horizontal position prediction task 12-21 predicts the horizontal position of the own vehicle and outputs the result to the horizontal position buffer 15-21.
 経路算出タスク13-20は自車の縦位置および横位置や車線情報、フリースペース情報などから自車の進むべき経路を算出する。 Route calculation task 13-20 calculates the route that the vehicle should take from the vertical and horizontal positions of the vehicle, lane information, free space information, and the like.
 図24は、実施例7に係る縦位置推定タスク11-20で行われる処理の一例を示すフローチャートである。図25は、実施例7に係る横位置推定タスク11-21で行われる処理の一例を示すフローチャートである。図26は、実施例7に係る経路算出タスク13-20で行われる処理の一例を示すフローチャートである。経路算出タスク1600の処理は、以下のように実行される。なお、図5と同様の説明は省略する。 FIG. 24 is a flowchart showing an example of the processing performed in the vertical position estimation task 11-20 according to the seventh embodiment. FIG. 25 is a flowchart showing an example of the processing performed in the horizontal position estimation task 11-21 according to the seventh embodiment. FIG. 26 is a flowchart showing an example of the processing performed in the route calculation task 13-20 according to the seventh embodiment. The process of the route calculation task 1600 is executed as follows. The same description as in FIG. 5 will be omitted.
 図26のステップ1601では、入力値を、縦位置バッファ15-20と横位置バッファ15-21から取得する。 In step 1601 of FIG. 26, the input value is acquired from the vertical position buffer 15-20 and the horizontal position buffer 15-21.
 図27は、実施例7に係る縦位置予測タスク12-20で行われる処理の一例を示すフローチャートである。縦位置予測タスク(プロセッサ2)の処理1700は、以下のように実行される。なお、図4と同様の説明は省略する。 FIG. 27 is a flowchart showing an example of the processing performed in the vertical position prediction task 12-20 according to the seventh embodiment. The process 1700 of the vertical position prediction task (processor 2) is executed as follows. The same description as in FIG. 4 will be omitted.
 ステップ1702では、縦位置予測タスクは自車と先行車が衝突するリスクがあるか判定する。 In step 1702, the vertical position prediction task determines whether there is a risk of the own vehicle colliding with the preceding vehicle.
 縦位置予測タスク12-20は、入力処理(ステップ201)においてフュージョン結果およびシーン判定結果を入力し、先行車との衝突リスクが一定以下の場合(ステップ1702:No)、処理を終了する。そうでない場合(ステップ1702:Yes)、予測処理(ステップ202)において自車縦位置の予測を行い、出力処理(ステップ203)において出力値を縦位置バッファ15-20へ書き込む。 The vertical position prediction task 12-20 inputs the fusion result and the scene determination result in the input process (step 201), and ends the process when the collision risk with the preceding vehicle is below a certain level (step 1702: No). If not (step 1702: Yes), the vertical position of the own vehicle is predicted in the prediction process (step 202), and the output value is written to the vertical position buffer 15-20 in the output process (step 203).
 図28は、実施例7に係る横位置予測タスク12-21で行われる処理の一例を示すフローチャートである。横位置予測タスク(プロセッサ2)の処理1800は、以下のように実行される。なお、図4と同様の説明は省略する。 FIG. 28 is a flowchart showing an example of the processing performed in the horizontal position prediction task 12-21 according to the seventh embodiment. The process 1800 of the horizontal position prediction task (processor 2) is executed as follows. The same description as in FIG. 4 will be omitted.
 ステップ1802では、横位置予測タスク12-21は車線を変更中であるか判定する。 In step 1802, the lateral position prediction task 12-21 determines whether the lane is being changed.
 横位置予測タスク12-21は、入力処理(ステップ201)においてフュージョン結果およびシーン判定結果を入力し、車線変更中でない場合(ステップ1802:No)、処理を終了する。そうでない場合(ステップ1802:Yes)、予測処理(ステップ202)において自車横位置の予測を行い、出力処理(ステップ203)において出力値を横位置バッファ15-21へ書き込む。 The horizontal position prediction task 12-21 inputs the fusion result and the scene determination result in the input process (step 201), and ends the process when the lane is not being changed (step 1802: No). If not (step 1802: Yes), the vehicle lateral position is predicted in the prediction process (step 202), and the output value is written to the lateral position buffer 15-21 in the output process (step 203).
 ステップ1702、ステップ1802において、シーン判定結果に基づいてどの予測処理を行うか切り替えることができ、不要な予測処理による処理負荷上昇を回避することができる。 In steps 1702 and 1802, it is possible to switch which prediction processing is to be performed based on the scene determination result, and it is possible to avoid an increase in processing load due to unnecessary prediction processing.
 以上、実施例7によれば、ADユニットにおいて、縦位置推定タスク11-20もしくは横位置推定タスク11-21が所定の出力周期内に演算を完了することができなかった場合、あらかじめ予測した出力値を用いることで、前回値の使用を防ぐことができ、経路算出タスク13-20の精度が低下することを防ぐことが可能となる。 As described above, according to the seventh embodiment, when the vertical position estimation task 11-20 or the horizontal position estimation task 11-21 cannot complete the calculation within the predetermined output cycle in the AD unit, the output predicted in advance. By using the value, it is possible to prevent the use of the previous value and prevent the accuracy of the route calculation task 13-20 from being lowered.
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。
例えば、上述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
The present invention is not limited to the above-described examples, and includes various modifications.
For example, the above-described examples have been described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the described configurations. Further, it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. Further, it is possible to add / delete / replace a part of the configuration of each embodiment with another configuration.
 また、上記の各構成、機能等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。 Further, each of the above configurations, functions, etc. may be realized by hardware, for example, by designing a part or all of them with an integrated circuit. Further, each of the above configurations, functions, and the like may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files that realize each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
 なお、本発明の実施例は、以下の態様であってもよい。 The embodiment of the present invention may have the following aspects.
 (1).所定周期でタスクを実行するタスク実行部(プロセッサ)を備えた制御装置において、前記タスク実行部は、実行周期における前記タスクの出力値を、前記実行周期での出力前に予測することを特徴とする制御装置。 (1). In a control device including a task execution unit (processor) that executes a task in a predetermined cycle, the task execution unit is characterized in that the output value of the task in the execution cycle is predicted before the output in the execution cycle. Control device.
 (2).(1)において、前記タスク実行部は、前記実行周期内に前記タスクが完了しない場合、前記予測した値を受け取り可能な状態にすることを特徴とする制御装置。 (2). In (1), the task execution unit is a control device that makes it possible to receive the predicted value when the task is not completed within the execution cycle.
 (3).(1)または(2)において、前記タスク実行部は、前記実行周期における前記出力値を予測する際、前記実行周期での出力前のいずれかの実行周期の空き時間が所定より多い場合、精度を優先する予測をし、前記実行周期での出力前のいずれかの実行周期の空き時間が所定より少ない場合、速度を優先する予測をすることを特徴とする制御装置。 (3). In (1) or (2), when the task execution unit predicts the output value in the execution cycle, if the free time of any of the execution cycles before the output in the execution cycle is longer than a predetermined value, the accuracy is correct. A control device that makes a prediction that gives priority to speed, and makes a prediction that gives priority to speed when the free time of any of the execution cycles before output in the execution cycle is less than a predetermined value.
 (4).(1)または(2)において、前記タスク実行部は、前記実行周期の前記タスクの遅延が閾値を超える場合、前記実行周期の前記タスクを中断して、前記実行周期の前記出力値を予測することを特徴とする制御装置。 (4). In (1) or (2), when the delay of the task in the execution cycle exceeds the threshold value, the task execution unit interrupts the task in the execution cycle and predicts the output value in the execution cycle. A control device characterized by that.
 (5).(3)において、精度を優先する予測は、高次の回帰曲線又は多数のデータを用いるアルゴリズムを用い、速度を優先する予測は、テーブル参照により、入力値に対応する予測値を取得するアルゴリズムを用いる。 (5). In (3), the prediction that prioritizes accuracy uses an algorithm that uses a high-order regression curve or a large amount of data, and the prediction that prioritizes speed uses an algorithm that acquires the predicted value corresponding to the input value by referring to the table. Use.
 (6).(1)において、制御装置は、ADユニットである。 (6). In (1), the control device is an AD unit.
 すなわち、制御装置は、プロセッサとメモリを有し、入力装置から取得した入力データを用いて演算を行い、出力値を生成し、所定の時間内に出力装置を制御する制御装置であって、前記入力装置からデータを受け付けて、当該受け付けたデータに対して所定の演算処理を行って出力値を生成する周期タスクAと、当該生成された出力値を入力として演算処理を行う周期タスクBと、前記周期タスクAの出力値を予測する予測タスクと、を有し、前記周期タスクBは、前記周期タスクAが所定の時間内に処理を完了しない場合に、前記予測タスクの出力値を用いて、演算処理を行う。 That is, the control device is a control device that has a processor and a memory, performs calculations using input data acquired from the input device, generates an output value, and controls the output device within a predetermined time. A periodic task A that receives data from an input device and performs predetermined arithmetic processing on the received data to generate an output value, and a periodic task B that performs arithmetic processing using the generated output value as an input. It has a prediction task that predicts the output value of the cycle task A, and the cycle task B uses the output value of the prediction task when the cycle task A does not complete the process within a predetermined time. , Perform arithmetic processing.
 この制御装置によれば、ある処理が所定の出力周期内に演算を完了することができなかった場合、あらかじめ予測した出力値を用いることで、処理の精度が低下することを防ぐことができる。 According to this control device, when a certain process cannot complete the calculation within a predetermined output cycle, it is possible to prevent the processing accuracy from being lowered by using the output value predicted in advance.
1…車両制御装置
2…プロセッサ
3…メモリ
4…不揮発性メモリ
8…インターコネクト
11…周期タスクA
12…予測タスク
13…周期タスクB
14…スケジューラ
15…バッファ
1 ... Vehicle control device 2 ... Processor 3 ... Memory 4 ... Non-volatile memory 8 ... Interconnect 11 ... Periodic task A
12 ... Prediction task 13 ... Periodic task B
14 ... Scheduler 15 ... Buffer

Claims (6)

  1.  バッファと、
     所定の実行周期で第1タスクを実行し、前記第1タスクの出力値を前記バッファに書き込む第1タスク部と、
     前記実行周期において前記第1タスクの出力値が前記バッファに書き込まれる前に、前記第1タスクの前記出力値を予測し、予測値を前記バッファに書き込む予測タスク部と、
     前記実行周期において前記バッファから前記第1タスクの前記出力値または前記予測値を読み出し、前記バッファから読み出した前記出力値または前記予測値を入力として第2タスクを実行し、前記第2タスクの出力値を出力する第2タスク部と、
     を備えることを特長とする制御装置。
    With a buffer
    A first task unit that executes the first task in a predetermined execution cycle and writes the output value of the first task to the buffer.
    A prediction task unit that predicts the output value of the first task and writes the predicted value to the buffer before the output value of the first task is written to the buffer in the execution cycle.
    In the execution cycle, the output value or the predicted value of the first task is read from the buffer, the second task is executed by inputting the output value or the predicted value read from the buffer, and the output of the second task is output. The second task part that outputs the value and
    A control device characterized by being equipped with.
  2.  請求項1に記載の制御装置であって、
     前記第2タスク部は、
     前記実行周期において前記第1タスクの締め切りタイミングを示す第1タスクデッドラインまでに前記第1タスクが完了しない場合、前記第1タスクの前記予測値を入力として前記第2タスクを実行する
     ことを特長とする制御装置。
    The control device according to claim 1.
    The second task part is
    When the first task is not completed by the first task deadline indicating the deadline timing of the first task in the execution cycle, the second task is executed by inputting the predicted value of the first task. Control device.
  3.  請求項2に記載の制御装置であって、
     前記予測タスク部は、
     前記実行周期において前記第2タスクが完了し、かつ、次の前記第1タスクの前記出力値の予測を開始するタイミングから前記実行周期が終わるタイミングまでの時間を示す空き時間が第1閾値を超える場合、速度よりも精度を優先する第1予測を行い、
     前記空き時間が第1閾値以下の場合、精度よりも速度を優先する第2予測を行う ことを特長とする制御装置。
    The control device according to claim 2.
    The prediction task section
    The free time indicating the time from the timing at which the second task is completed in the execution cycle and the timing at which the prediction of the output value of the next first task is started to the timing at which the execution cycle ends exceeds the first threshold value. In the case, make the first prediction that prioritizes accuracy over speed,
    A control device characterized in that when the free time is equal to or less than the first threshold value, a second prediction is performed in which speed is prioritized over accuracy.
  4.  請求項2に記載の制御装置であって、
     前記第1タスクは、
     少なくとも第1演算処理と第2演算処理を含み、
     前記第1タスク部は、
     前記第1演算処理がその締め切りタイミングを示す第1演算処理デッドラインを超えて完了した場合、前記第2演算処理の実行をキャンセルし、前記予測タスク部を起動させる
     ことを特長とする制御装置。
    The control device according to claim 2.
    The first task is
    Including at least the first arithmetic processing and the second arithmetic processing,
    The first task section is
    A control device characterized in that when the first arithmetic processing is completed beyond the deadline of the first arithmetic processing indicating the deadline timing, the execution of the second arithmetic processing is canceled and the prediction task unit is activated.
  5.  請求項2に記載の制御装置であって、
     前記第1タスク部は、
     前記出力値と前記予測値の一致の度合いを示す予測精度が第2閾値より低い場合、前記予測タスク部の起動をスキップさせる
     ことを特長とする制御装置。
    The control device according to claim 2.
    The first task section is
    A control device characterized in that when the prediction accuracy indicating the degree of coincidence between the output value and the predicted value is lower than the second threshold value, the activation of the predicted task unit is skipped.
  6.  所定の実行周期で第1タスクを実行し、前記第1タスクの出力値をバッファに書き込む第1工程と、
     前記実行周期において前記第1タスクの出力値が前記バッファに書き込まれる前に、前記第1タスクの前記出力値を予測し、予測値を前記バッファに書き込む第2工程と、
     前記実行周期において前記バッファから前記第1タスクの前記出力値または前記予測値を読み出し、前記バッファから読み出した前記出力値または前記予測値を入力として第2タスクを実行し、前記第2タスクの出力値を出力する第3工程と、
     をプロセッサに実行させる方法。
    The first step of executing the first task in a predetermined execution cycle and writing the output value of the first task to the buffer, and
    A second step of predicting the output value of the first task and writing the predicted value to the buffer before the output value of the first task is written to the buffer in the execution cycle.
    In the execution cycle, the output value or the predicted value of the first task is read from the buffer, the second task is executed by inputting the output value or the predicted value read from the buffer, and the output of the second task is output. The third step to output the value and
    How to get the processor to run.
PCT/JP2021/002148 2020-03-31 2021-01-22 Control device and method WO2021199607A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022511568A JP7421634B2 (en) 2020-03-31 2021-01-22 Control device and method
DE112021000387.9T DE112021000387T5 (en) 2020-03-31 2021-01-22 CONTROL DEVICE AND METHOD

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020063374 2020-03-31
JP2020-063374 2020-03-31

Publications (1)

Publication Number Publication Date
WO2021199607A1 true WO2021199607A1 (en) 2021-10-07

Family

ID=77929916

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/002148 WO2021199607A1 (en) 2020-03-31 2021-01-22 Control device and method

Country Status (3)

Country Link
JP (1) JP7421634B2 (en)
DE (1) DE112021000387T5 (en)
WO (1) WO2021199607A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001515242A (en) * 1997-09-04 2001-09-18 イクエーター テクノロジーズ インコーポレイテッド Processor resource distribution apparatus and method
JP2006090356A (en) * 2004-09-21 2006-04-06 Denso Corp Vehicle control device and processing load control program
JP2009181497A (en) * 2008-01-31 2009-08-13 Nomura Research Institute Ltd Job processing system and job processing method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT514444A2 (en) 2013-06-24 2015-01-15 Fts Computertechnik Gmbh Method and device for timely data transfer to the cyclic tasks in a distributed real-time system
JP2016066139A (en) 2014-09-24 2016-04-28 日立オートモティブシステムズ株式会社 Vehicle control unit
US10754709B2 (en) 2018-09-26 2020-08-25 Ciena Corporation Scalable task scheduling systems and methods for cyclic interdependent tasks using semantic analysis

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001515242A (en) * 1997-09-04 2001-09-18 イクエーター テクノロジーズ インコーポレイテッド Processor resource distribution apparatus and method
JP2006090356A (en) * 2004-09-21 2006-04-06 Denso Corp Vehicle control device and processing load control program
JP2009181497A (en) * 2008-01-31 2009-08-13 Nomura Research Institute Ltd Job processing system and job processing method

Also Published As

Publication number Publication date
JPWO2021199607A1 (en) 2021-10-07
JP7421634B2 (en) 2024-01-24
DE112021000387T5 (en) 2022-11-17

Similar Documents

Publication Publication Date Title
US8856196B2 (en) System and method for transferring tasks in a multi-core processor based on trial execution and core node
CN109204324B (en) Centralized dispatch system for operating autonomous vehicles
CN101713970B (en) Method and systems for restarting a flight control system
CN109213143B (en) Centralized scheduling system for operating cycles of use events for autonomous vehicles
CN109213609B (en) Centralized dispatch system using global memory for operating autonomous vehicles
CN108701055B (en) Vehicle control device and vehicle system
US11709697B2 (en) Vehicle control device, vehicle control method, and recording medium storing vehicle control program
JP4241462B2 (en) Control unit and microcomputer
US20210103436A1 (en) Method for performing a software update in a control unit of a motor vehicle, and motor vehicle designed accordingly
JP5406072B2 (en) Embedded control device
WO2021199607A1 (en) Control device and method
US9128757B2 (en) Method and lightweight mechanism for mixed-critical applications
JP6808090B1 (en) Control device and distributed processing method
WO2022138218A1 (en) On-board computer, computer execution method, and computer program
US20210146948A1 (en) Vehicle and Control Method Thereof
US20210240512A1 (en) Vehicle control device, vehicle control method and storage medium storing vehicle control program
US20240036941A1 (en) Vehicle-mounted computer, computer execution method, and computer program
WO2023149001A1 (en) Vehicle control device
WO2010109609A1 (en) Processing device and vehicle engine control device
WO2022137665A1 (en) Electronic control device
US20230219596A1 (en) Control apparatus for autonomous vehicle and method thereof
US20220300274A1 (en) Program update control apparatus, program update control method, and computer-readable storage medium
JP7439773B2 (en) In-vehicle computer, computer execution method and computer program
US20220179676A1 (en) Vehicle control device, vehicle control method, and recording medium recording control program
US20230259302A1 (en) Control device, control method, recording medium in which control program is recorded, and vehicle

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21779693

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022511568

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21779693

Country of ref document: EP

Kind code of ref document: A1