JP2012048405A - Control device, electronic control unit and abnormality detection method - Google Patents

Control device, electronic control unit and abnormality detection method Download PDF

Info

Publication number
JP2012048405A
JP2012048405A JP2010188766A JP2010188766A JP2012048405A JP 2012048405 A JP2012048405 A JP 2012048405A JP 2010188766 A JP2010188766 A JP 2010188766A JP 2010188766 A JP2010188766 A JP 2010188766A JP 2012048405 A JP2012048405 A JP 2012048405A
Authority
JP
Japan
Prior art keywords
data
value
input
predicted
computing
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.)
Pending
Application number
JP2010188766A
Other languages
Japanese (ja)
Inventor
Seiki Moriizumi
清貴 森泉
Tetsuya Abe
哲也 阿部
Takeshi Matsui
健 松井
Eisuke Ando
栄祐 安藤
Koji Ueda
幸治 上田
Hideki Yabe
秀樹 矢部
Ryoichi Chiaki
亮一 千秋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2010188766A priority Critical patent/JP2012048405A/en
Publication of JP2012048405A publication Critical patent/JP2012048405A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a control device capable of discriminating an abnormality a supply source of input data supplied to an ECU from a CPU incorporated in the ECU.SOLUTION: A control device 100 includes: data output means 22 for outputting first data and outputting second data after the first data; data prediction means 16 for predicting the second data from the first data and outputting it as predicted data; first arithmetic operation means A for performing arithmetic operation on the second data; second arithmetic operation means B for performing arithmetic operation on the predicted data; and comparison means 17 for comparing between a fist output value on which the first arithmetic operation means has performed an arithmetic operation and a second output value on which the second arithmetic operation means has performed an arithmetic operation on the predicted data.

Description

本発明は、CPUや入力系の異常を検出することが可能な制御装置等に関し、特に、CPUが複数のコアを有する場合にCPUや入力系の異常を検出することが可能な制御装置、電子制御ユニット及び異常検出方法に関する。   The present invention relates to a control device that can detect an abnormality in a CPU or an input system, and in particular, a control device that can detect an abnormality in a CPU or an input system when the CPU has a plurality of cores, an electronic device, and the like. The present invention relates to a control unit and an abnormality detection method.

車載されるECU(electronic control unit)に異常が生じると車両の制御に影響を与えるので、ECUの異常を検出する機能が搭載されることが多い。例えば、1つのCPUの異常を検出するWDT(Watch Dog Timer)や、2つのECU間で相互監視する技術が知られている。しかし、WDTは、何らかの原因でタスクの処理が進まなくなるなど処理遅れを検出するものであり、処理は進むが正しい演算が行えなくなっている状態を検出する相互監視の方が、より早期に異常を検出できる可能性がある。   When an abnormality occurs in an on-vehicle ECU (electronic control unit), the control of the vehicle is affected, so a function for detecting an abnormality of the ECU is often installed. For example, a WDT (Watch Dog Timer) for detecting an abnormality of one CPU and a technique for mutual monitoring between two ECUs are known. However, WDT detects processing delays such as the task processing not progressing for some reason. Mutual monitoring that detects a state where processing proceeds but correct calculation cannot be performed is more abnormal. There is a possibility that it can be detected.

2つのECUの相互監視では、物理的に異なる処理系統による2つの演算結果を比較するので、同時に同種の異常が双方に起こらない限り異常の検出が可能である。   In the mutual monitoring of the two ECUs, two calculation results from physically different processing systems are compared, so that an abnormality can be detected as long as the same kind of abnormality does not occur at the same time.

ところで、車載されるECUの数を低減するためECUの統合化が進められており、従来、2つだったECUの機能が1つのECUに搭載されると、こういった相互監視が不可能になる。例えば、異常を検出する方法として、演算結果の前回値と現在値の差が誤差を超える場合に異常を検出する技術が考案されている(例えば、特許文献1参照。)。この技術を1つのECUに適用した場合、複数のコアで同じ演算を行い両者の演算結果の差が誤差を超えるか否かを判定することが考えられる。   By the way, integration of ECUs has been promoted in order to reduce the number of ECUs mounted on the vehicle, and if the functions of two ECUs are conventionally mounted on one ECU, such mutual monitoring becomes impossible. Become. For example, as a method for detecting an abnormality, a technique for detecting an abnormality when a difference between a previous value and a current value of a calculation result exceeds an error has been devised (see, for example, Patent Document 1). When this technology is applied to one ECU, it is conceivable to perform the same calculation with a plurality of cores and determine whether or not the difference between the calculation results of both exceeds an error.

また、対象システムの入出力データから仮定的にモデル化した状態空間モデルのパラメータを求めて、対象システムのシステム同定を行うシステムモデル構築方法が提案されている(例えば、特許文献2参照。)。特許文献2には、モデルにより推定された推定出力データと、入力データを実際に対象システムに対して実行させた実測出力データとを比較することで、得られた状態空間モデルとパラメータとの精度を確認する技術が開示されている。   Further, a system model construction method has been proposed in which parameters of a state space model modeled hypothetically from input / output data of the target system are obtained to perform system identification of the target system (see, for example, Patent Document 2). In Patent Document 2, the accuracy of the obtained state space model and the parameters is compared by comparing the estimated output data estimated by the model with the actually measured output data obtained by actually executing the input data on the target system. A technique for confirming the above is disclosed.

特開昭61−175701号公報JP-A-61-175701 特開2007−260504号公報JP 2007-260504 A

しかしながら、特許文献1と2のいずれも入力データは正しいという前提であるが、入力データもハード的に構成されるセンサや回路などが供給するものであるため、入力データに大きな誤差が含まれることがある。この場合、特許文献1,2では入力データを共に複数の演算手段に提供するので、入力データを提供するセンサ等の異常を検知できないという問題がある。   However, both Patent Documents 1 and 2 are based on the premise that the input data is correct. However, since the input data is supplied by a sensor or a circuit configured in hardware, the input data includes a large error. There is. In this case, Patent Documents 1 and 2 both provide input data to a plurality of computing means, and thus there is a problem that an abnormality such as a sensor that provides input data cannot be detected.

本発明は、上記課題に鑑み、ECUに搭載されたCPUと、ECUに供給される入力データの供給元の異常を判別できる制御装置、電子制御ユニット及び異常検出方法を提供することを目的とする。   In view of the above problems, an object of the present invention is to provide a CPU mounted on an ECU, a control device capable of determining an abnormality of a supply source of input data supplied to the ECU, an electronic control unit, and an abnormality detection method. .

上記課題に鑑み、本発明は、第1のデータを出力し、前記第1のデータの後、第2のデータを出力するデータ出力手段と、前記第1のデータから前記第2のデータを予測して予測データとして出力するデータ予測手段と、前記第2のデータに演算を行う第1の演算手段と、前記予測データに演算を行う第2の演算手段と、前記第1の演算手段が前記第2のデータに演算を施した第1の出力値と、前記第2の演算手段が前記予測データに演算を施した第2の出力値と、を比較する比較手段と、を有することを特徴とする制御装置を提供する。   In view of the above problems, the present invention predicts the second data from the first data by outputting data of the first data and outputting the second data after the first data. Data predicting means for outputting as prediction data, first computing means for computing the second data, second computing means for computing the forecast data, and the first computing means Comparing means for comparing the first output value obtained by calculating the second data and the second output value calculated by the second calculating means on the prediction data. A control device is provided.

ECUに搭載されたCPUと、ECUに供給される入力データの供給元の異常を判別できる制御装置、電子制御ユニット及び異常検出方法を提供することができる。   It is possible to provide a CPU mounted on the ECU, a control device, an electronic control unit, and an abnormality detection method capable of determining an abnormality of a supply source of input data supplied to the ECU.

ECUの概略を説明する図の一例である。It is an example of the figure explaining the outline of ECU. ECUのハードウェア構成図の一例である。It is an example of the hardware block diagram of ECU. ECUの機能ブロックを模式的に説明する図の一例である。It is an example of the figure which illustrates the functional block of ECU typically. 隠れマルコフモデルを模式的に説明する図の一例である。It is an example of the figure which illustrates a hidden Markov model typically. 学習結果を模式的に示す図の一例である。It is an example of the figure which shows a learning result typically. 自己組織化マップで用いられる参照ベクトルを説明する図の一例である。It is an example of the figure explaining the reference vector used with a self-organizing map. ラベルと入力ベクトルの関係を模式的に示す図の一例である。It is an example of the figure which shows the relationship between a label and an input vector typically. ECUの動作手順を示すフローチャート図の一例である。It is an example of the flowchart figure which shows the operation | movement procedure of ECU.

以下、本発明を実施するための形態について図面を参照しながら説明する。
図1(a)は、本実施形態のECUの概略を説明する図の一例である。なお、比較のため、従来のECU(electronic control unit)についても図1(b)に示した。
Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
FIG. 1A is an example of a diagram illustrating an outline of the ECU according to the present embodiment. For comparison, a conventional ECU (electronic control unit) is also shown in FIG.

従来図に示すように、従来は、別々の基板にECU_AとECU_Bが搭載されており、ECU_AはアプリケーションAを、ECU_BはアプリケーションBをそれぞれ実行している。また、ECU_AはECU_Bの異常を、ECU_BはECU_Aの異常を相互に監視している。   As shown in the conventional diagram, conventionally, ECU_A and ECU_B are mounted on separate boards, and ECU_A executes application A and ECU_B executes application B, respectively. ECU_A monitors ECU_B for abnormality, and ECU_B monitors ECU_A for abnormality.

したがって、仮にECU_AとECU_Bをそのまま1つのECU_Wに統合した場合は、図1(b)の下図に示すように、ECU_Wは共通のPF(プラットフォーム)上で、アプリケーションAとアプリケーションBを実行する。この場合、アプリケーションAとアプリケーションBにはそれぞれ独立したコアが割り当てられるが、2つのコアには同じ入力値(演算対象)が与えられるので、単に統合しただけでは入力値に異常があることは検出できない。   Therefore, if ECU_A and ECU_B are integrated into one ECU_W as they are, ECU_W executes application A and application B on a common PF (platform) as shown in the lower diagram of FIG. In this case, an independent core is assigned to each of application A and application B. However, since the same input value (calculation target) is given to the two cores, it is detected that there is an abnormality in the input value simply by integrating them. Can not.

これに対し、本実施形態では、ECU_AとECU_Bを統合する際に、確率モデルを一方のコアBに接続する。確率モデルは、入力値の推定に有効な確率モデルであればよいが、例えば、隠れマルコフモデルや自己組織化マップである。確率モデルは、ECU_Aとその入力系、ECU_Bとその入力系が正常な状態における、入力値を学習しており、1制御周期前の入力値が正常なら、「確率的に最も起こりえる正常値」を出力する(この正常値は後述の「予測入力値」である)。以下、ハードウェア22が入力値を供するとして説明する。   On the other hand, in this embodiment, when integrating ECU_A and ECU_B, the probability model is connected to one core B. The probabilistic model may be a probabilistic model that is effective for estimating an input value, and is, for example, a hidden Markov model or a self-organizing map. The probabilistic model learns input values when the ECU_A and its input system and the ECU_B and its input system are in a normal state, and if the input value before one control cycle is normal, the “normal value most probable in probability” (This normal value is a “predicted input value” described later). In the following description, it is assumed that the hardware 22 provides an input value.

コアAのアプリケーションA、Bは、ハードウェア22が出力する入力値に基づき演算し、コアBのアプリケーションA、Bは、確率モデルが出力する予測入力値に基づき演算する。したがって、入力値と予測入力値がほぼ同じで、コアAのアプリケーションA、BとコアBのアプリケーションA、Bが出力する値(以下、それぞれを今回出力値と予測出力値という)が違う場合、コアA、Bのどちらか又は両方に何らかの異常が生じている可能性があることになる。   The applications A and B of the core A are calculated based on input values output from the hardware 22, and the applications A and B of the core B are calculated based on predicted input values output from the probability model. Therefore, when the input value and the predicted input value are substantially the same, and the values output by the applications A and B of the core A and the applications A and B of the core B (hereinafter referred to as the current output value and the predicted output value, respectively) Some abnormality may occur in either or both of the cores A and B.

一方、コアAのアプリケーションA、Bが出力する今回出力値とコアBのアプリケーションA、Bが出力する予測出力値が違う場合、入力値と予測入力値が同じでないのなら、確率モデルが出力する予測入力値は正常値なので、ハードウェア22に異常が生じている可能性があることになる
このように、本実施形態のECU100は、正常な入力値を提供する確率モデルを有することで、1つのECUに搭載された複数のコアと、複数のコアに入力値を提供するハードウェア22のどちらに異常が生じたのかを検出することができる。
On the other hand, if the current output value output by the applications A and B of the core A and the predicted output value output by the applications A and B of the core B are different, the probability model outputs if the input value and the predicted input value are not the same. Since the predicted input value is a normal value, there is a possibility that an abnormality has occurred in the hardware 22. As described above, the ECU 100 of the present embodiment has a probability model that provides a normal input value. It is possible to detect which of the plurality of cores mounted on one ECU and the hardware 22 that provides input values to the plurality of cores has an abnormality.

〔構成〕
図2は、ECU100のハードウェア構成図の一例を示す。ECU100は、マルチコアCPU11、リセット回路12、I/Oブリッジ13、EEPROM14、比較装置17、確率モデル実装部16及びメモリ15を有する。マルチコアCPU11は、コアAとコアBに代表される複数のコア18を有する。図では2つだがコア18は3つ以上でもよい。
〔Constitution〕
FIG. 2 shows an example of a hardware configuration diagram of the ECU 100. The ECU 100 includes a multi-core CPU 11, a reset circuit 12, an I / O bridge 13, an EEPROM 14, a comparison device 17, a probability model mounting unit 16, and a memory 15. The multi-core CPU 11 has a plurality of cores 18 represented by core A and core B. Although there are two in the figure, the number of cores 18 may be three or more.

I/Oブリッジ13には各種のセンサ、アクチュエータ及びスイッチが接続されており、I/Oブリッジ13はセンサ等からの接続要求を調停したり、マルチコアCPU11の要求に従いマルチコアCPU11が演算したデータをアクチュエータ等に送信する。   Various sensors, actuators, and switches are connected to the I / O bridge 13, and the I / O bridge 13 arbitrates connection requests from sensors and the like, and the actuator calculates data calculated by the multi-core CPU 11 in accordance with requests from the multi-core CPU 11. Send to etc.

リセット回路12は、コアAとコアBのいずれか又はコアAとコアBの両方にリセット信号を出力する回路である。リセットされたコアA、コアBは再起動されるので、何らかの異常が生じた場合に、回復させることができる場合がある。   The reset circuit 12 is a circuit that outputs a reset signal to either the core A or the core B or both the core A and the core B. Since the reset core A and core B are restarted, they may be able to be recovered if any abnormality occurs.

EEPROM14はアプリケーションA,B、OS(Operating System)、ドライバ等を記憶する不揮発メモリである。OSとドライバなどハードウェア側のソフトウェアが上記のPF21に相当する。コアAはメモリ15を一時的な記憶領域にしてアプリケーションA,Bを実行し、コアBも同様にアプリケーションA,Bを実行するが、アクチュエータ等の制御に用いられるのはコアAがアプリケーションA,Bを実行して算出した出力値とする(コアBがアプリケーションA,Bを実行して算出した出力値を制御に用いてもよい)。なお、メモリ15はDIMM(Dual Inline Memory Module)等の揮発メモリである。   The EEPROM 14 is a non-volatile memory that stores applications A and B, an OS (Operating System), a driver, and the like. Software on the hardware side such as an OS and a driver corresponds to the PF 21 described above. The core A executes the applications A and B by using the memory 15 as a temporary storage area, and the core B executes the applications A and B in the same manner. The output value calculated by executing B is used (the output value calculated by the core B executing the applications A and B may be used for control). The memory 15 is a volatile memory such as a DIMM (Dual Inline Memory Module).

コアAとコアBは、アプリケーションA又はBの処理内容に基づき、入力値に対し同じ演算を施す。ただ、例えは、センサがアナログ値を出力する場合、コアAだけはA/D変換することが必要になる。   The core A and the core B perform the same calculation on the input value based on the processing content of the application A or B. However, for example, when the sensor outputs an analog value, only the core A needs to be A / D converted.

比較装置17は、コアAが実行したアプリケーションAの今回出力値とコアBが実行したアプリケーションAの予測出力値とをそれぞれ比較し、コアAが実行したアプリケーションBの今回出力値とコアBが実行したアプリケーションBの予測出力値とを比較する。両者の差の絶対値に一致したと見なせない程度以上の差があった場合、比較装置17は異常回避行動を開始する。異常回避行動については後述する。   The comparison device 17 compares the current output value of the application A executed by the core A with the predicted output value of the application A executed by the core B, and the current output value of the application B executed by the core A and the execution of the core B. The predicted output value of application B is compared. If there is a difference greater than the degree that the absolute value of the difference between the two cannot be regarded as coincident, the comparison device 17 starts the abnormal avoidance action. The abnormal avoidance behavior will be described later.

確率モデル実装部16は、所定の確率モデルに従いハードウェア22が正常状態の入力値を学習し、学習結果を利用して過去の実際の入力値から予測入力値を算出し、コアBに出力する。予測入力値の求め方については後述する。この確率モデル実装部16が、検証された入力値(今回入力値)から予測入力値を算出することで、「確率的に最も起こりえる正常値=予測入力値」をコアBに提供することができる。確率モデル実装部16は、例えば、前回の入力値に基づき学習により得られたマップを引いて今回の予測入力値を取り出し、または、前回の入力値を学習により得られた関数に入力し予測入力値を算出する。   The probability model mounting unit 16 learns an input value when the hardware 22 is in a normal state according to a predetermined probability model, calculates a predicted input value from a past actual input value using the learning result, and outputs the predicted input value to the core B. . How to obtain the predicted input value will be described later. The probability model mounting unit 16 may provide the core B with “normal value most likely to be probable = predicted input value” by calculating the predicted input value from the verified input value (current input value). it can. For example, the probability model implementation unit 16 draws a map obtained by learning based on the previous input value to extract the current predicted input value, or inputs the previous input value to the function obtained by learning to input the predicted value. Calculate the value.

確率モデル実装部16は、アプリケーションA用の予測入力値とアプリケーションB用の予測入力値をそれぞれ算出する。確率モデルはアプリケーションA又はアプリケーションBが演算に用いる入力値を確率的に推定する上で適したモデルをものを使えばよい。なお、本実施形態ではアプリケーションAとアプリケーションBを区別せずに説明する。   The probability model mounting unit 16 calculates a predicted input value for application A and a predicted input value for application B, respectively. What is necessary is just to use a model suitable for estimating the input value which the application A or the application B uses for a calculation stochastically. In the present embodiment, application A and application B will be described without distinction.

比較装置17及び確率モデル実装部16は、ハード的にもソフト的にも実装できるが、ハード的に実装することがより好ましい。ハード的に実装することで、コアAやコアB及び入力系の異常の影響を受けずに、比較装置17は今回出力値と予測出力値を比較でき、確率モデル実装部16は予測入力値を算出できる。ソフト的に実装する場合、3つめのコアCを設け、コアCが今回出力値と予測出力値を比較し、確率モデルに基づき予測入力値を算出することが好ましい。   The comparison device 17 and the probability model mounting unit 16 can be mounted both in hardware and software, but more preferably in hardware. By implementing the hardware, the comparison device 17 can compare the current output value with the predicted output value without being affected by the abnormalities of the core A, the core B, and the input system, and the probability model mounting unit 16 determines the predicted input value. It can be calculated. When implemented in software, it is preferable to provide a third core C, and the core C compares the current output value with the predicted output value and calculates the predicted input value based on the probability model.

図3は、ECU100の機能ブロックを模式的に説明する図の一例である。ハードウェア22は、センサ、アクチュエータ、ECU100のハード部分等であり、ECU100に入力値を供給するハードウェアが相当する。
(1)図示するようにコアAにはハードウェア22から入力値(今回入力値と同じもの)が入力されるが、コアBには入力されない。
FIG. 3 is an example of a diagram schematically illustrating functional blocks of the ECU 100. The hardware 22 is a sensor, an actuator, a hardware part of the ECU 100, and the like, and corresponds to hardware that supplies an input value to the ECU 100.
(1) As illustrated, an input value (same as the current input value) is input to the core A from the hardware 22, but not input to the core B.

比較装置17は、今回入力値と前回値(前回の制御周期の今回入力値)及び予測入力値をRAMなどに記憶し、今回出力値と予測出力値をRAMなどに記憶することができる。比較装置17は、ハードウェア22からの入力値を今回入力値として記憶しておく。
(2)コアAは、ハードウェア22からの入力値に基づきアプリケーションA又はBの今回出力値を算出し、比較装置17に入力する。比較装置17は今回出力値を記憶する。比較装置17は、例えば、ECU100が安定するまで(例えば、起動から数秒から数分間)、今回出力値と予測出力値を比較することなく、コアAのアプリケーションA又はBが今回出力値を出力する毎に今回出力値の上書きを繰り返す。
(3)比較装置17は、コアAのアプリケーションA又はBが今回出力値を出力する毎に(比較結果が一致した場合)、すでに記憶している今回入力値を前回値にコピーし、その前回値を確率モデル実装部16に出力する。よって、コアAに入力される入力値と確率モデル実装部16に入力される入力値(前回値)は1制御周期ずれたものになる。
(4)これにより、確率モデル実装部16は前回値から予測入力値を算出する。予測入力値は、次の制御周期でコアAに入力される今回入力値を予測したものである。確率モデル実装部16は、算出した予測入力値を比較装置17に書き込む。これにより比較装置17は、予測入力値と今回入力値の比較が可能になる。
(5)また、確率モデル実装部16は、算出した予測入力値をコアBに提供する。これにより、コアBは予測出力値の出力が可能になる。コアBが出力する予測出力値とコアAが出力する今回出力値は同じ制御周期の演算結果とみなすことができる。
(6)コアBは予測入力値に基づき演算した予測出力値を比較装置17に出力する。
(7)比較装置17は今回出力値と予測出力値が略一致する場合、今回出力値が正しいことが検証されたので、今回出力値をアクチュエータ等に出力する。今回出力値が正しいことが検証されれば今回入力値も正しいと検証できる。よって、(3)のように、今回出力値と予測出力値が一致する場合、比較装置17は、正しいことが検証された今回入力値を前回値にコピーし、その前回値を確率モデル実装部16に出力する。
The comparison device 17 can store the current input value, the previous value (current input value of the previous control cycle), and the predicted input value in a RAM or the like, and can store the current output value and the predicted output value in a RAM or the like. The comparison device 17 stores the input value from the hardware 22 as the current input value.
(2) The core A calculates the current output value of the application A or B based on the input value from the hardware 22 and inputs it to the comparison device 17. The comparison device 17 stores the current output value. In the comparison device 17, for example, the application A or B of the core A outputs the current output value without comparing the current output value with the predicted output value until the ECU 100 is stabilized (for example, several seconds to several minutes after activation). Repeat overwriting of the current output value every time.
(3) Each time the application A or B of the core A outputs the current output value (when the comparison result matches), the comparison device 17 copies the already stored current input value to the previous value. The value is output to the probability model mounting unit 16. Therefore, the input value input to the core A and the input value (previous value) input to the probability model mounting unit 16 are shifted by one control cycle.
(4) Thereby, the probability model mounting unit 16 calculates the predicted input value from the previous value. The predicted input value is a predicted current input value that is input to the core A in the next control cycle. The probability model mounting unit 16 writes the calculated predicted input value in the comparison device 17. Thereby, the comparison device 17 can compare the predicted input value and the current input value.
(5) Further, the probability model mounting unit 16 provides the calculated predicted input value to the core B. As a result, the core B can output the predicted output value. The predicted output value output by the core B and the current output value output by the core A can be regarded as the calculation result of the same control cycle.
(6) The core B outputs the predicted output value calculated based on the predicted input value to the comparison device 17.
(7) If the current output value and the predicted output value substantially match, the comparison device 17 has verified that the current output value is correct, and outputs the current output value to an actuator or the like. If it is verified that the output value is correct this time, it can be verified that the input value is correct this time. Therefore, as shown in (3), when the current output value matches the predicted output value, the comparison device 17 copies the current input value verified to be correct to the previous value, and uses the previous value as the probability model implementation unit. 16 is output.

このようにコアBは、常に、正しいことが検証された前回値から算出された、確率的に最も起こりえる予測入力値を、演算対象とすることができる。これを利用することでマルチコアCPU11とハードウェア22の異常を切り分けることができる。   In this way, the core B can always use the predicted input value that is most likely to be probabilistically calculated from the previous value verified to be correct as a calculation target. By using this, it is possible to isolate an abnormality between the multi-core CPU 11 and the hardware 22.

〔隠れマルコフモデル〕
確率モデル実装部16が実装する確率モデルについて説明する。
隠れマルコフモデルは、任意の時点tでの状態Stがそれ以前のk個の状態系列St-1,St-2,St-3,… St-k,だけを条件として決定されるマルコフ連鎖に基づいた、時系列パターンの確率的な生成モデルである。観察者は外から状態Stを観測できないが,確率に従い出力される観測シンボルを観測することができる。
[Hidden Markov Model]
The probability model mounted by the probability model mounting unit 16 will be described.
The hidden Markov model is based on a Markov chain in which a state St at an arbitrary time point t is determined only on k state sequences St-1, St-2, St-3, ... St-k. In addition, it is a probabilistic generation model of time series patterns. The observer cannot observe the state St from the outside, but can observe the observation symbol output according to the probability.

図4は、隠れマルコフモデルを模式的に説明する図の一例である。“a”と添字ijで表される値は、状態SiからSjへの遷移確率であり、“b”と添字で表される値は、状態遷移する際に出力される観測シンボルの出力確率である。なお、下記の“N”は状態の数であるのでN=4である。
aij(t)=P(St+1=S|St=Si) (1≦i、j≦N)

bjk(t)=P(Ot|Si=Sj) (1≦i、j≦N)
なお、bi1+bi2+bi3=1である。
FIG. 4 is an example of a diagram schematically illustrating the hidden Markov model. The value represented by “a” and the subscript ij is the transition probability from the state Si to Sj, and the value represented by “b” and the subscript is the output probability of the observation symbol output at the time of state transition. is there. Since “N” below is the number of states, N = 4.
a ij (t) = P (S t + 1 = S j | S t = S i ) (1 ≦ i, j ≦ N)

b jk (t) = P (O t | S i = S j ) (1 ≦ i, j ≦ N)
Note that bi1 + bi2 + bi3 = 1.

ここでOtは観測シンボルであり、O1〜OTのT個(図では3個)のシンボル数を有するものとする。
Ot=O1,O2,…OT
また、隠れマルコフモデルは初期に状態Stを取る確率を初期状態πで表す。本実施形態ではπ={1,0,0}である。
Here, O t is an observation symbol, and has T symbols (three in the figure) of O 1 to O T.
O t = O 1 , O 2 ,… O T
The hidden Markov model expresses the probability of initially taking the state St as the initial state π. In the present embodiment, π = {1, 0, 0}.

隠れマルコフモデルによる事象の確率は、aij(t)、bjk(t)及びπから導くことができる。aij(t)、bjk(t)及びπの組を隠れマルコフモデルλという。
上記のように、隠れマルコフモデルでは状態Stを外部から観測することができないので、観測シンボルから次にある観測シンボルが観測される確率や、観測シンボルの観測系列が生じる確率を算出する。例えば、初期状態(状態S1)においてO1が観測される確率は「a11・b11」、O2が観測される確率は「a11・b12」、O3が観測される確率は「a11・ b13」である。また{O1,O2}が観測される確率は、以下のようになる。
a11・b11・a11・b12+a11・b11・a12・b22+a11・b11・a13・b32
+a12・b21・a22・b22+a12・b21・a23・b32
+a13・b31・a33・b32+a13・b31・a32・b22
したがって、後述するような方法でaij(t)、bjk(t)及びπを求めれば、過去の観測系列から、次に最も観測される可能性が高い出力シンボルを決定することができる。例えば、{O1,O2}の次にどの観測シンボルが最も観測され易いかを算出することができる。
The probability of an event according to a hidden Markov model can be derived from a ij (t), b jk (t) and π. A set of a ij (t), b jk (t) and π is called a hidden Markov model λ.
As described above, since the state St cannot be observed from the outside in the hidden Markov model, the probability that the next observation symbol is observed from the observation symbol and the probability that the observation sequence of the observation symbol is generated are calculated. For example, the probability that O 1 is observed in the initial state (state S 1 ) is “a 11 · b 11 ”, the probability that O 2 is observed is “a 11 · b 12 ”, and the probability that O 3 is observed is “A 11・ b 13 ”. The probability that {O 1 , O 2 } is observed is as follows.
a 11 · b 11 · a 11 · b 12 + a 11 · b 11 · a 12 · b 22 + a 11 · b 11 · a 13 · b 32
+ A 12 , b 21 , a 22 , b 22 + a 12 , b 21 , a 23 , b 32
+ A 13・ b 31・ a 33・ b 32 + a 13・ b 31・ a 32・ b 22
Therefore, if a ij (t), b jk (t), and π are obtained by a method described later, an output symbol that is most likely to be observed next can be determined from a past observation sequence. For example, it is possible to calculate which observation symbol is most easily observed next to {O 1 , O 2 }.

上式の第1項「a11・b11・a11・b12」の次に“O1”が観測される確率は
a11・b11・a11・b12 ・a11・b11
“O2”が観測される確率は
a11・b11・a11・b12 ・a11・b12
“O3”が観測される確率は
a11・b11・a11・b12 ・a11・b13
となる。このような計算を式(1)の全項について行い、最も数値の高かった観測シンボルが{O1,O2}の次に最も観測されやすい観測シンボルとなる。
The probability that “O 1 ” is observed after the first term “a 11・ b 11・ a 11・ b 12 ” in the above equation is
a 11 , b 11 , a 11 , b 12 , a 11 , b 11
The probability that “O 2 ” is observed is
a 11 , b 11 , a 11 , b 12 , a 11 , b 12
The probability that “O 3 ” is observed is
a 11 , b 11 , a 11 , b 12 , a 11 , b 13
It becomes. Such a calculation is performed for all the terms of Equation (1), and the observation symbol with the highest numerical value becomes the observation symbol that is most easily observed next to {O 1 , O 2 }.

以上から、観測シンボルの数から状態Stの数や可能な遷移を想定し、a ij(t)、bjk(t)及びπを求めることで、隠れマルコフモデルを生成することができる。a ij(t)及びbjk(t)の完全な解法は見つかっていないが、前向きアルゴリズムでa ij(t)を、後ろ向きアルゴリズムでbjk(t)をそれぞれ推定でき、観測系列の生成確率を最大にするモデルλのパラメータの局所的最適値を求める方法としてBaum-Welch アルゴリズムが知られている。これらの推定方法は既知なので簡単に説明する。詳細は例えば上坂吉則著「パターン認識と学習のアルゴリズム」に記載されている。 From the above, it is possible to generate a hidden Markov model by calculating a ij (t), b jk (t), and π, assuming the number of states St and possible transitions from the number of observed symbols. Although a complete solution for a ij (t) and b jk (t) has not been found, a forward algorithm can estimate a ij (t) and a backward algorithm can estimate b jk (t). The Baum-Welch algorithm is known as a method for obtaining the local optimum value of the parameter of the model λ to be maximized. Since these estimation methods are known, they will be briefly described. Details are described in, for example, “Pattern Recognition and Learning Algorithm” by Yoshinori Uesaka.

・前向きアルゴリズム
時刻tの時に状態St=iにいる確率を次のように定義する。
αt(i)=P(O12...T,St=i|λ)
まず、αt(i)を初期化する。すべてのαt(i)(1≦i≦N)に対し、
α1(j)=πjbjkとする。また、bjk(t)に適当な初期値(例えば、各要素が均一な初期値)を設定しておく。
次に、各時間t(1〜T)毎に、全てのj(1≦j≦N)に対し以下の計算を繰り返す。
Prospective algorithm The probability of being in the state St = i at time t is defined as follows.
α t (i) = P (O 1 O 2... O T, St = i | λ)
First, α t (i) is initialized. For all α t (i) (1 ≦ i ≦ N)
α 1 (j) = π j b jk . Also, an appropriate initial value (for example, an initial value in which each element is uniform) is set in b jk (t).
Next, the following calculation is repeated for all j (1 ≦ j ≦ N) at each time t (1 to T).

Figure 2012048405

以上の計算から
P(O|λ)は次のように表すことができる、
Figure 2012048405

From the above calculation
P (O | λ) can be expressed as:

Figure 2012048405

・後ろ向きアルゴリズム
時間tにおいて状態Siにいて、Ot+1,Ot+2…,OTという観測系列を出力する確率Pを次のように定義する。
βt(i)=P(Ot+1,Ot+2…,OT,St=i|λ)
まず、β(i)を初期化する。すべてのB(i)(1≦i≦N)に対し、
βT(i)=1とする。
次に、各時間t(T-1、T-2、…0)毎に、全てのi(1≦j≦N)に対し以下の計算を繰り返す。す
Figure 2012048405

Backward algorithm The probability P of outputting an observation sequence O t + 1 , O t + 2 ..., O T in the state Si at time t is defined as follows.
β t (i) = P (O t + 1 , O t + 2 ..., O T, S t = i | λ)
First, β t (i) is initialized. For all B t (i) (1 ≦ i ≦ N)
Let β T (i) = 1.
Next, the following calculation is repeated for all i (1 ≦ j ≦ N) at each time t (T−1, T−2,... 0). You

Figure 2012048405

以上の計算から
P(O|λ)は次のように表すことができる、
Figure 2012048405

From the above calculation
P (O | λ) can be expressed as:

Figure 2012048405

・Baum-Welch アルゴリズム
与えられた観測系列の生成確率を最大にするモデルλを推定する。まず、以下の式により、πi、aij、bijを計算する。πi、aij、bijの上のバー中間の計算値を意味する。
Figure 2012048405

・ Baum-Welch algorithm Estimates the model λ that maximizes the probability of generating a given observation sequence. First, π i , a ij , and b ij are calculated by the following equations. It means the calculated value in the middle of the bar on π i , a ij and b ij .

Figure 2012048405

これにより、モデルλが推定されるので、モデルλに対し与えられた観測系列O12...T,が観測される確率P(O|λ)を計算する。計算された確率Pを記憶しておき、再度、上式によりP(O|λ)を計算し、記憶しておいた確率Pと比較して、両者の差が閾値を超えなくなったら、演算を終了する。言い換えると、隠れマルコフモデルが与えられた観測系列による学習が終了したことになる。
Figure 2012048405

Thus, since the model λ is estimated, the probability P (O | λ) that the observation sequence O 1 O 2... O T given to the model λ is observed is calculated. Store the calculated probability P, calculate P (O | λ) by the above formula again, and compare it with the stored probability P. If the difference between the two does not exceed the threshold, calculate finish. In other words, the learning by the observation sequence given the hidden Markov model has been completed.

〔適用例〕
以上のようにして求められた隠れマルコフモデルによる確率モデル実装部16は、比較装置17から与えられた前回値に対し、確率的に最も起こりえる正常値(入力予測値)を出力する。例えば、確率モデル実装部16は過去のm個の前回値に基づき、最尤値を入力予測値として出力する。
[Application example]
The probability model mounting unit 16 based on the hidden Markov model obtained as described above outputs a normal value (input predicted value) that is most likely to occur with respect to the previous value given from the comparison device 17. For example, the probability model mounting unit 16 outputs the maximum likelihood value as the input predicted value based on the past m previous values.

ハードウェア22が提供する入力値をPWM信号のデューティとし、デューティとして0%、100%、又は、不定値のいずれかを出力する場合を例に説明する。このデューティが隠れマルコフモデルにおいて外部から観測可能な観測シンボルとなる。したがって、確率モデル実装部16が観測シンボルを学習する際は、0%、100%、又は、不定値を、観測シンボルO、O、Oにそれぞれ割り当てる。また、学習の際には、ハードウェア22が実際に出力したデューティを時系列に記録し、観測シンボルに割り当てていく。 An example will be described in which the input value provided by the hardware 22 is the duty of the PWM signal, and 0%, 100%, or an indefinite value is output as the duty. This duty becomes an observation symbol that can be observed from the outside in the hidden Markov model. Therefore, when the probability model mounting unit 16 learns observation symbols, 0%, 100%, or indefinite values are assigned to the observation symbols O 1 , O 2 , and O 3 , respectively. In learning, the duty actually output by the hardware 22 is recorded in time series and assigned to the observation symbol.

ハードウェア22は、例えば、100%のデューティの後は100%のデューティを出力する確率が多く、不定値の後は0%のデューティを出力し、0%は2回連続して出力しないことが多いとする。確率モデル実装部16は、このようなハードウェア22が出力する入力値を観測系列から学習している。   For example, the hardware 22 has a high probability of outputting 100% duty after 100% duty, outputs 0% duty after an indefinite value, and does not output 0% twice consecutively. Suppose there are many. The probability model mounting unit 16 learns the input value output from the hardware 22 from the observation sequence.

図5は、学習結果を模式的に示す図の一例である。遷移確率の下の3つの数値は、観測シンボルO、O、Oが観測される確率を示す。
・観測系列が{O2、O2}の場合(100%、100%の場合)に、次に観測されうる観測シンボルはO、O、Oであるが、それぞれが観測される確率を算出すると次のようになる。π={1,0,0}として初期状態はSとする。
O1:0.9×0.5×0.7×1×0.2×0.5
O2:0.9×0.5×0.7×1×0.7×1 + 0.9×0.5×0.7×1×0.2×0.5 + 0.9×0.5×0.7×1×0.1×0.5
O3:0.9×0.5×0.7×1×0.1×0.5 + 0.9×0.5×0.2×0.5×0.1×15
したがって、観測系列が{O2、O2}の場合に次に最も観測されやすい観測シンボルはOであることがわかる。
・観測系列が{O3、O1}の場合(不定値、0%の場合)に、次に観測されうる観測シンボルはO、O、Oであるが、それぞれが観測される確率を算出すると次のようになる。
O1: 0.9×0.1×0.2×0.5×0.9×0.4
O2: 0.9×0.1×0.2×0.5×0.9×0.5
O3: 0.9×0.1×0.2×0.5×0.9×0.1 + 0.9×0.1×0.2×0.5×0.1×1
したがって、{O3、O1}の場合に次に最も観測されやすい観測シンボルはOであることがわかる。
このように、確率モデル実装部16は、確率モデル実装部16が正常である限り、ハードウェア22が正常な状態で出力する予測入力値を算出できる。上記の例から以下のように予測できる。
FIG. 5 is an example of a diagram schematically showing a learning result. The three numerical values below the transition probability indicate the probability that the observation symbols O 1 , O 2 , and O 3 are observed.
-When the observation series is {O 2 , O 2 } (100%, 100%), the observation symbols that can be observed next are O 1 , O 2 , and O 3 , but the probability that each will be observed Is calculated as follows. Assume that π = {1, 0, 0} and the initial state is S 1 .
O1: 0.9 x 0.5 x 0.7 x 1 x 0.2 x 0.5
O2: 0.9 x 0.5 x 0.7 x 1 x 0.7 x 1 + 0.9 x 0.5 x 0.7 x 1 x 0.2 x 0.5 + 0.9 x 0.5 x 0.7 x 1 x 0.1 x 0.5
O3: 0.9 x 0.5 x 0.7 x 1 x 0.1 x 0.5 + 0.9 x 0.5 x 0.2 x 0.5 x 0.1 x 15
Therefore, it can be seen that the observation symbol most likely to be observed next is O 2 when the observation sequence is {O 2 , O 2 }.
When the observation series is {O 3 , O 1 } (indefinite value, 0%), the next observation symbols that can be observed are O 1 , O 2 , and O 3 , but the probability that each will be observed Is calculated as follows.
O1: 0.9 × 0.1 × 0.2 × 0.5 × 0.9 × 0.4
O2: 0.9 × 0.1 × 0.2 × 0.5 × 0.9 × 0.5
O3: 0.9 × 0.1 × 0.2 × 0.5 × 0.9 × 0.1 + 0.9 × 0.1 × 0.2 × 0.5 × 0.1 × 1
Therefore, it can be seen that the observation symbol most likely to be observed next in the case of {O 3 , O 1 } is O 2 .
As described above, the probability model mounting unit 16 can calculate a predicted input value output in a normal state of the hardware 22 as long as the probability model mounting unit 16 is normal. From the above example, it can be predicted as follows.

100%(t−2)→100%(t−1)→100%(t:現在)
不定値(t−2)→0%(t−1)→100%(t:現在)
車両においてPWM信号はモータのトルクの制御によく使用されている。実際にはデューティは1%単位の値を取りうるが、全てのデューティを異なる観測シンボルへ割り当てる必要はなく、入力値の種類が多い場合には観測シンボルを量子化すればよい。
100% (t-2) → 100% (t-1) → 100% (t: present)
Undefined value (t-2) → 0% (t-1) → 100% (t: present)
In vehicles, PWM signals are often used to control motor torque. Actually, the duty can take a value of 1%, but it is not necessary to assign all the duty to different observation symbols, and if there are many types of input values, the observation symbols may be quantized.

また、PWM信号に限られず、入力値として電圧値や電流値が用いられている場合も確率モデルを生成することが可能である。例えば、電圧値が0〜12Vの範囲を取る場合、0≦電圧値<4を観測シンボル1に、4≦電圧値<8を観測シンボル2に、8≦電圧値≦12を観測シンボル3に、割り当て、確率モデルを決定する。   Further, not only the PWM signal but also a probability model can be generated when a voltage value or a current value is used as an input value. For example, when the voltage value ranges from 0 to 12 V, 0 ≦ voltage value <4 is observed symbol 1, 4 ≦ voltage value <8 is observed symbol 2, 8 ≦ voltage value ≦ 12 is observed symbol 3, Assign and determine a probability model.

〔自己組織化マップ〕
確率モデルに自己組織化マップを用いた例を説明する。
図6は自己組織化マップで用いられる参照ベクトルを説明する図の一例である。入力層には分析対象となる入力値の特徴量x〜xが配置され、出力層には特徴量の数以上のユニット(ニューロン)m1,1〜m5,5がある。出力層における任意の1つのユニットmi,jは、入力層における特徴量x〜xと同次元の参照ベクトルを持っている。例えば、ユニットm5,1は{m5,1 1,m5,1 2、m5,1 3,… m5,1 n}という参照ベクトルを持っている。
[Self-organizing map]
An example in which a self-organizing map is used as a probability model will be described.
FIG. 6 is an example of a diagram for explaining reference vectors used in the self-organizing map. In the input layer, feature values x 1 to x n of input values to be analyzed are arranged, and in the output layer, there are units (neurons) m 1,1 to m 5,5 that are more than the number of feature values. Any one unit m i, j in the output layer has a reference vector of the same dimension as the feature quantities x 1 to x n in the input layer. For example, unit m 5,1 has a reference vector of {m 5,1 1 , m 5,1 2 , m 5,1 3 ,... M 5,1 n }.

このような構造の自己組織化マップは、入力ベクトルx(t)に最も近い参照ベクトルを有するユニットの座標(i、j)を出力する。すなわち、入力ベクトルx(t)に最も関連性がある座標が得られる。この座標に意味を与えておけば、入力ベクトルx(t)を意味のある値に変換できることになる。   The self-organizing map having such a structure outputs the coordinates (i, j) of the unit having the reference vector closest to the input vector x (t). That is, the coordinates most relevant to the input vector x (t) are obtained. If meaning is given to these coordinates, the input vector x (t) can be converted into a meaningful value.

自己組織化マップでは、複数の入力ベクトルx(t)が入力されることで、教師なし学習によりユニットの持つ参照ベクトルが入力ベクトルx(t)に類似したものに偏るよう参照ベクトルを更新していく。参照ベクトルのこの更新が自己組織化マップの学習である。なお、学習方法は公知なので間単に説明する。   In the self-organizing map, the reference vector is updated so that the reference vector of the unit is biased to be similar to the input vector x (t) by unsupervised learning when multiple input vectors x (t) are input. Go. This update of the reference vector is self-organizing map learning. Since the learning method is known, it will be described briefly.

(1)参照ベクトル{mi,j 1,mi,j 2、mi,j 3,… mi,j n}をランダムに決定する。 (1) The reference vector {m i, j 1 , m i, j 2 , m i, j 3 ,... M i, j n } is determined at random.

(2)学習用の入力ベクトルx(t)を用意して、x(t)に最も類似したユニットを決定する。類似の尺度は例えばユークリッド距離である。   (2) An input vector x (t) for learning is prepared, and a unit most similar to x (t) is determined. A similar measure is, for example, the Euclidean distance.

(3)決定したユニットとその周辺のユニットの参照ベクトルを更新する。この更新により、参照ベクトルは徐々に入力ベクトルを学習していく(近くなっていく)。下式のhci(t)は近傍係数で、決定されたユニットと周辺のユニットの距離が大きいほど小さくなる。 (3) Update the reference vectors of the determined unit and its surrounding units. With this update, the reference vector gradually learns (closer to) the input vector. H ci (t) in the following equation is a neighborhood coefficient, and becomes smaller as the distance between the determined unit and the surrounding unit is larger.

mij(t+1)=mij(t)+hci(t)[x(t)-mij(t)]
(4) (2)(3)を繰り返すことにより、入力ベクトルx(t)に類似したユニットが集まるようになる。
m ij (t + 1) = m ij (t) + h ci (t) [x (t) -m ij (t)]
(4) By repeating (2) and (3), units similar to the input vector x (t) are gathered.

〔適用例〕
簡略化された例として、例えば、入力ベクトルx(t)をいずれかの座標に分類する例を説明する。入力ベクトルx(t)として{前々回値、前回値}を用いる。すなわち、特徴量は2つであり、各ユニットは{前々回値、前回値}を学習することで、{前々回値、前回値}に近い参照ベクトルを持つようになる。
[Application example]
As a simplified example, for example, an example in which the input vector x (t) is classified into any coordinate will be described. {Previous value, previous value} is used as the input vector x (t). That is, there are two feature quantities, and each unit has a reference vector close to {previous value, previous value} by learning {previous value, previous value}.

ハードウェア22が提供する入力値を入力ベクトルx(t)として、その特徴量を上記と同じくPWM信号のデューティとする。すなわち、入力ベクトルx(t)は前々回の入力値と、前回の入力値を特徴量として有する。また、取り扱いを簡単にするため、デューティ0%を“0”、100%を“1”、不定値を“2”に置き換える。   The input value provided by the hardware 22 is set as an input vector x (t), and the feature value is set as the duty of the PWM signal as described above. In other words, the input vector x (t) has the previous input value and the previous input value as feature amounts. In order to simplify the handling, the duty 0% is replaced with “0”, 100% is replaced with “1”, and the indefinite value is replaced with “2”.

図7は、自己組織化マップの学習例を模式的に示す図の一例である。自己組織化マップは、ハードウェア22が実際に出力した入力値を前々回値から現在値までの3つの入力値を1セットに取り出す。   FIG. 7 is an example of a diagram schematically illustrating a learning example of a self-organizing map. In the self-organizing map, the input values actually output by the hardware 22 are extracted as a set of three input values from the previous value to the current value.

そして、自己組織化マップは、前々回値と前回値の組に最も近い参照ベクトルを持っているユニットを特定し、そのユニットの参照ベクトルを前々回値と前回値により学習する。また、前々回値と前回値の組に最も近い参照ベクトルに現在値を紐付ける。この処理を繰り返すことで、自己組織化マップの各座標の参照ベクトルは、前々回値と前回値に近いものが集まるようになり、各座標には現在値が紐付けられる。   Then, the self-organizing map identifies a unit having a reference vector that is closest to the set of the previous value and the previous value, and learns the reference vector of the unit from the previous value and the previous value. Further, the current value is linked to the reference vector closest to the set of the previous time value and the previous value. By repeating this process, the reference vectors for each coordinate of the self-organizing map come to gather values that are close to the previous value and the previous value, and the current value is associated with each coordinate.

なお、学習の過程では、時刻tでユニットmijに紐付けられたラベルaが、時刻t+1では同じユニットmijにラベルbが紐付けられることもある。自己組織化マップは、現在値を正確に学習するため、学習過程のラベルを記憶しておき、学習過程のラベルの、例えば平均、中央値、最頻度値など統計処理した値をユニットのラベルとする。 In the learning process, the label a associated with the unit m ij at the time t may be associated with the label b with the same unit m ij at the time t + 1. In order to learn the current value accurately, the self-organizing map stores the label of the learning process, and the value of the learning process label, such as the average, median, and most frequent values, as the unit label. To do.

図7では、学習によりユニットm2,2が(2,0)の参照ベクトルを有し、ユニットm4,2が(1,1)の参照ベクトルを有し、ユニットm2,4が(2,2)の参照ベクトルを有し、ユニットm4,4が(0,1)の参照ベクトルを有するようになった。また、ユニットm2,2にはラベル“100%”が、ユニットm4,2にはラベル“100%”が、ユニットm2,4にはラベル“0%”が、ユニットm4,4にはラベル“100%”が、それぞれ紐付けられている。これらの代表的なユニットには、各ユニットの参照ベクトルに近い参照ベクトルを有するユニットが近接している。なお、ユニットの数は識別したい事象の数に応じて調整できる。 In FIG. 7, unit m 2,2 has a reference vector of (2,0) by learning, unit m 4,2 has a reference vector of (1,1), and unit m 2,4 has (2 , 2), and the unit m 4,4 has a reference vector of (0, 1). Also, the label “100%” is assigned to the unit m 2,2 , the label “100%” is assigned to the unit m 4 , 2, and the label “0%” is assigned to the unit m 2 , 4 . Are labeled “100%”. These representative units are in close proximity to units having a reference vector close to the reference vector of each unit. The number of units can be adjusted according to the number of events to be identified.

確率モデル実装部16は、このようにして学習した結果を利用して、予測入力値を算出する。例えば、前々回値が100%、前回値が100%の場合、入力ベクトルx(t)は{1,1}となり、確率モデル実装部16は入力ベクトルx(t)をユニットm4,2に分類する。そして、ラベルを参照し、“100%”を予測入力値としてコアBに提供する。 The probability model mounting unit 16 calculates a predicted input value using the result learned in this way. For example, when the last time value is 100% and the previous value is 100%, the input vector x (t) is {1, 1}, and the probability model mounting unit 16 classifies the input vector x (t) into units m 4 and 2 . To do. Then, referring to the label, “100%” is provided to the core B as a predicted input value.

同様に、前々回値が不定値、前回値が0%の場合、入力ベクトルx(t)は{2,0}となり、ユニットm2,2に分類される。よって、予測入力値は“100%”となる。前々回値が0%、前回値が100%の場合、入力ベクトルx(t)は{0,1}となり、ユニットm4,2に分類される。よって、予測入力値は“100%”となる。前々回値が不定値、前回値が不定値の場合、入力ベクトルx(t)は{2,2}となり、ユニットm2,4に分類される。よって、予測入力値は“0%”となる。
このように、確率モデル実装部16は、前々回値と前回の入力値から入力予測値を出力できる。
Similarly, when the last time value is an indefinite value and the previous value is 0%, the input vector x (t) is {2, 0}, and is classified into units m 2,2 . Therefore, the predicted input value is “100%”. When the previous value is 0% and the previous value is 100%, the input vector x (t) is {0, 1} and is classified into units m 4,2 . Therefore, the predicted input value is “100%”. When the last time value is an indefinite value and the previous value is an indefinite value, the input vector x (t) is {2, 2}, and is classified into units m 2,4 . Therefore, the predicted input value is “0%”.
In this way, the probability model mounting unit 16 can output an input predicted value from the previous time value and the previous input value.

〔動作手順〕
図8は、ECU100の動作手順を示すフローチャート図の一例である。まず、ハードウェア22からコアAに今回入力値が入力される(S10)。コアAは、今回入力値がアナログ値の場合、今回入力値にA/D変換を施す(S20)。また、コアAは、今回入力値を比較装置17に書き込む。
[Operation procedure]
FIG. 8 is an example of a flowchart showing an operation procedure of the ECU 100. First, the current input value is input from the hardware 22 to the core A (S10). When the current input value is an analog value, the core A performs A / D conversion on the current input value (S20). In addition, the core A writes the input value this time in the comparison device 17.

また、少なくとも一制御周期が経過する前に、確率モデル実装部16は、比較装置17から前回値の入力を受け付ける(S101)。そして、上述した方法で、確率モデル実装部16は、予測入力値を算出する(S201)。また、確率モデル実装部16は、予測入力値を比較装置17に書き込む。   In addition, before at least one control cycle elapses, the probability model mounting unit 16 receives an input of a previous value from the comparison device 17 (S101). Then, the probability model mounting unit 16 calculates a predicted input value by the method described above (S201). In addition, the probability model mounting unit 16 writes the predicted input value in the comparison device 17.

以降の処理は、コアAとコアBで同様である。コアAは今回入力値を論理値に変換し(S30)、コアBは予測入力値を論理値に変換する(S301)。論理値は、入力値をアプリケーションA又はBが取り扱う形に変換したものである。例えば、デューティであれば0〜100%のパーセント値を所定の数値に変換する。   The subsequent processing is the same for the core A and the core B. Core A converts the current input value to a logical value (S30), and Core B converts the predicted input value to a logical value (S301). The logical value is obtained by converting the input value into a form handled by the application A or B. For example, in the case of duty, a percentage value of 0 to 100% is converted into a predetermined numerical value.

次に、コアAは論理値を制御値に変換し(S40)、コアBは論理値を制御値に変換する(S401)。すなわち、論理値はアプリケーションA又はBの処理内容に応じて制御値へ変換される。例えば、目標制御値との差分に応じたフィードバック制御のための演算や、論理値に応じた値をマップから読み出す処理により、制御値が得られる。   Next, the core A converts the logical value into a control value (S40), and the core B converts the logical value into a control value (S401). That is, the logical value is converted into a control value according to the processing contents of the application A or B. For example, the control value can be obtained by calculation for feedback control according to the difference from the target control value or processing for reading the value according to the logical value from the map.

次に、コアAは制御値を物理値に変換し(S50)、コアBは制御値を物理値に変換する(S501)。物理値は、アクチュエータ等を制御する際の電圧値や電流値とほぼ同義であり、これまでの説明ではデューティである。よって、コアAの物理値は今回出力値となり比較装置17に書き込まれ、コアBの物理値は予測出力値となり比較装置17に書き込まれる。   Next, the core A converts the control value into a physical value (S50), and the core B converts the control value into a physical value (S501). The physical value is almost synonymous with a voltage value or a current value when controlling the actuator or the like, and is a duty in the description so far. Therefore, the physical value of the core A becomes the current output value and is written in the comparison device 17, and the physical value of the core B becomes the predicted output value and is written in the comparison device 17.

比較装置17は、今回出力値と予測出力値が書き込まれると、両者が略一致するか否かを判定する(S60)。予測出力値は、確率モデル実装部16が算出した予測入力値が完全に今回入力値と一致しない場合、今回出力値と完全には一致しない可能性がある。このため、比較装置17は、今回出力値と予測出力値の差の絶対値が予め定めた閾値未満の場合、両者が一致すると判定する。   When the current output value and the predicted output value are written, the comparison device 17 determines whether or not the two substantially match (S60). If the predicted input value calculated by the probability model mounting unit 16 does not completely match the current input value, the predicted output value may not completely match the current output value. For this reason, the comparison device 17 determines that the two values coincide when the absolute value of the difference between the current output value and the predicted output value is less than a predetermined threshold value.

今回出力値と予測出力値が略一致する場合(S70のYes)、予測入力値が正常であると検証されたことになるので、比較装置17は予測入力値を前回値に上書きする(S80)。そして、コアAは、今回出力値をアクチュエータ等に出力する(S90)。   If the current output value and the predicted output value substantially match (Yes in S70), it is verified that the predicted input value is normal, so the comparison device 17 overwrites the previous input value with the predicted input value (S80). . Then, the core A outputs the current output value to the actuator or the like (S90).

今回出力値と予測出力値が略一致しない場合(S70のNo)、コアA又はコアBに異常が生じている可能性があるので、比較装置17は、今回入力値と予測入力値と比較する(S100)。同様に、今回入力値と予測入力値は、完全には一致しない可能性があるので、比較装置17は、今回入力値と予測入力値の差の絶対値が予め定めた閾値未満の場合、両者が一致すると判定する。   If the current output value and the predicted output value do not substantially match (No in S70), there is a possibility that an abnormality has occurred in the core A or the core B, so the comparison device 17 compares the current input value with the predicted input value. (S100). Similarly, since there is a possibility that the current input value and the predicted input value do not completely match, the comparison device 17 determines that the absolute value of the difference between the current input value and the predicted input value is less than a predetermined threshold value. Are determined to match.

今回入力値と予測入力値が略一致する場合(S100のYes)、ハードウェア22が適切な今回入力値を提供しているので、比較装置17はマルチコアCPU11に異常があることを検出する。このため、比較装置17は、リセット回路12に異常回避のためコアA及びコアBをリセットするよう要求する(S110)。   If the current input value and the predicted input value substantially match (Yes in S100), the hardware device 22 provides an appropriate current input value, so the comparison device 17 detects that there is an abnormality in the multi-core CPU 11. For this reason, the comparison device 17 requests the reset circuit 12 to reset the core A and the core B in order to avoid an abnormality (S110).

今回入力値と予測入力値が略一致しない場合(S100のNo)、予測入力値は正常であるのでハードウェア22に異常が生じた可能性が高くなる。このため、比較装置17は、ハードウェア22に異常からの異常回避行動を要求する(S120)。例えば、ハードウェア22がセンサやアクチュエータの場合、代替性のあるセンサやアクチュエータに切り替えたり、センサやアクチュエータを再起動したり、そのセンサやアクチュエータを停止させる。   If the current input value and the predicted input value do not substantially match (No in S100), the predicted input value is normal, so there is a high possibility that an abnormality has occurred in the hardware 22. For this reason, the comparison device 17 requests the hardware 22 for an abnormal avoidance action from the abnormality (S120). For example, when the hardware 22 is a sensor or actuator, the sensor 22 is switched to an alternative sensor or actuator, the sensor or actuator is restarted, or the sensor or actuator is stopped.

なお、ステップS120、S130で何らかの異常を検出した場合、比較装置17はマルチコアCPU11に通知する。これにより、マルチコアCPU11は、異常が生じたことの記録を取ることができる。記録される内容は、例えば、推定される異常箇所(マルチコアCPU11 or ハードウェア22)、異常検出日時、車両の位置情報、その他の車両情報(車速、アクセル開度、操舵角等)である。   When any abnormality is detected in steps S120 and S130, the comparison device 17 notifies the multi-core CPU 11. Thereby, the multi-core CPU 11 can record that an abnormality has occurred. The recorded contents are, for example, an estimated abnormality location (multi-core CPU 11 or hardware 22), abnormality detection date and time, vehicle position information, and other vehicle information (vehicle speed, accelerator opening, steering angle, etc.).

以上説明したように、本実施形態のECU100は、正常な予測入力値を算出する確率モデルを有することで、ECU100に搭載されたマルチコアCPU11と、入力系のハードウェア22のどちらに異常が生じたのかを検出することができる。   As described above, the ECU 100 according to the present embodiment has a probability model for calculating a normal predicted input value, and thus an abnormality has occurred in either the multicore CPU 11 mounted in the ECU 100 or the input system hardware 22. Can be detected.

11 マルチコアCPU
12 リセット回路
13 I/Oブリッジ
14 EEPROM
15 メモリ
16 確率モデル実装部
17 比較装置
22 ハードウェア
100 ECU
11 Multi-core CPU
12 Reset circuit 13 I / O bridge 14 EEPROM
DESCRIPTION OF SYMBOLS 15 Memory 16 Probability model mounting part 17 Comparison apparatus 22 Hardware 100 ECU

Claims (9)

第1のデータを出力し、前記第1のデータの後、第2のデータを出力するデータ出力手段と、
前記第1のデータから前記第2のデータを予測して予測データとして出力するデータ予測手段と、
前記第2のデータに演算を行う第1の演算手段と、
前記予測データに演算を行う第2の演算手段と、
前記第1の演算手段が前記第2のデータに演算を施した第1の出力値と、前記第2の演算手段が前記予測データに演算を施した第2の出力値と、を比較する比較手段と、
を有することを特徴とする制御装置。
Data output means for outputting first data and outputting second data after the first data;
Data prediction means for predicting the second data from the first data and outputting it as prediction data;
First computing means for computing the second data;
Second computing means for computing the predicted data;
A comparison for comparing the first output value obtained by computing the second data by the first computing means and the second output value obtained by computing the predicted data by the second computing means. Means,
A control device comprising:
前記データ予測手段は、確率モデルに基づき前記予測データを予測する、ことを特徴とする請求項1記載の制御装置。   The control device according to claim 1, wherein the data prediction unit predicts the prediction data based on a probability model. 前記確率モデルは、隠れマルコフモデル又は自己組織化マップである、ことを特徴とする請求項2記載の制御装置。   The control apparatus according to claim 2, wherein the probability model is a hidden Markov model or a self-organizing map. 前記比較装置は、前記第1の出力値と前記第2の出力値との差の絶対値を、閾値と比較することで、異常の有無を判定する、ことを特徴とする請求項1〜3いずれか1項記載の制御装置。   The comparison device determines whether or not there is an abnormality by comparing an absolute value of a difference between the first output value and the second output value with a threshold value. The control device according to any one of claims. 前記比較装置は、前記第1の出力値と前記第2の出力値との差の絶対値が閾値以上の場合、
前記第2のデータと前記予測データを比較して、異常の有無を判定する、ことを特徴とする請求項4項記載の制御装置。
When the absolute value of the difference between the first output value and the second output value is greater than or equal to a threshold, the comparison device
The control apparatus according to claim 4, wherein the second data and the predicted data are compared to determine whether there is an abnormality.
前記比較装置は、前記第2のデータと前記予測データの差の絶対値が閾値以上の場合、前記データ提供手段に異常があると判定し、
前記第2のデータと前記予測データの差の絶対値が閾値未満の場合、前記第1の演算手段又は前記第2の演算手段の少なくとも一方に異常があると判定する、
ことを特徴とする請求項5項記載の制御装置。
When the absolute value of the difference between the second data and the prediction data is greater than or equal to a threshold, the comparison device determines that the data providing unit is abnormal,
If the absolute value of the difference between the second data and the prediction data is less than a threshold, it is determined that at least one of the first calculation means or the second calculation means is abnormal.
The control device according to claim 5.
前記演算手段に異常があると判定された場合、前記第1の演算手段又は前記第2の演算手段に異常の解消動作をさせる異常解消手段を有する、
ことを特徴とする請求項6項記載の制御装置。
When it is determined that there is an abnormality in the calculation means, the first calculation means or the second calculation means has an abnormality elimination means for causing the abnormality elimination operation,
The control device according to claim 6.
請求項1〜7いずれか1項記載の制御装置を搭載した電子制御ユニット。   The electronic control unit carrying the control apparatus of any one of Claims 1-7. 第1の演算手段と第2の演算手段とを備えた制御装置の異常検出方法であって、
データ出力手段が、第1のデータを出力するステップと、
前記データ出力手段が、第2のデータを出力するステップと、
データ予測手段が、前記第1のデータから前記第2のデータを予測して予測データとして出力するステップと、
前記第1の演算手段が、前記第2のデータに演算を行うステップと、
第2の演算手段が、前記予測データに演算を行うステップと、
比較手段が、前記第1の演算手段が前記第2のデータに演算を施した第1の出力値と、前記第2の演算手段が前記予測データに演算を施した第2の出力値と、を比較するステップと、を有することを特徴とする異常検出方法。
An abnormality detection method for a control device including a first calculation means and a second calculation means,
A data output means for outputting the first data;
The data output means outputs second data;
A step of predicting the second data from the first data and outputting the second data as prediction data;
The first computing means computing the second data;
A second calculating means for calculating the prediction data;
The comparison means includes a first output value obtained by computing the second data by the first computing means, a second output value obtained by computing the predicted data by the second computing means, And a method of detecting an abnormality characterized by comprising:
JP2010188766A 2010-08-25 2010-08-25 Control device, electronic control unit and abnormality detection method Pending JP2012048405A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010188766A JP2012048405A (en) 2010-08-25 2010-08-25 Control device, electronic control unit and abnormality detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010188766A JP2012048405A (en) 2010-08-25 2010-08-25 Control device, electronic control unit and abnormality detection method

Publications (1)

Publication Number Publication Date
JP2012048405A true JP2012048405A (en) 2012-03-08

Family

ID=45903216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010188766A Pending JP2012048405A (en) 2010-08-25 2010-08-25 Control device, electronic control unit and abnormality detection method

Country Status (1)

Country Link
JP (1) JP2012048405A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019003404A1 (en) * 2017-06-30 2019-01-03 三菱電機株式会社 Unsteadiness detection device, unsteadiness detection system, and unsteadiness detection method
JP2022519228A (en) * 2019-01-30 2022-03-22 ビューラー アーゲー Systems and methods for detecting and measuring signal anomalies generated by components used in industrial processes

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019003404A1 (en) * 2017-06-30 2019-01-03 三菱電機株式会社 Unsteadiness detection device, unsteadiness detection system, and unsteadiness detection method
JPWO2019003404A1 (en) * 2017-06-30 2019-11-07 三菱電機株式会社 Transient detection device, transient detection system, and transient detection method
US11493912B2 (en) 2017-06-30 2022-11-08 Mitsubishi Electric Corporation Unsteadiness detection device, unsteadiness detection system and unsteadiness detection method
JP2022519228A (en) * 2019-01-30 2022-03-22 ビューラー アーゲー Systems and methods for detecting and measuring signal anomalies generated by components used in industrial processes
JP7282184B2 (en) 2019-01-30 2023-05-26 ビューラー アーゲー Systems and methods for detecting and measuring anomalies in signals originating from components used in industrial processes

Similar Documents

Publication Publication Date Title
KR101869438B1 (en) Method and system for predicting prognosis from diagnostic histories using deep learning
CA2921054C (en) Anomaly detection system and method
CN108573270B (en) Method and apparatus for synchronizing multi-sensor target information fusion and multi-sensor sensing, computer device, and recording medium
JP4884096B2 (en) Object identification system
US8175782B2 (en) Adaptive driver assistance systems with robust estimation of object properties
JP7154432B2 (en) System and method for controlling a robot arm
US9111400B2 (en) System for detecting abnormal driving behavior
JP2021528745A (en) Anomaly detection using deep learning on time series data related to application information
US20200397346A1 (en) Annotation method, annotation device, storage medium, and identification system
JP6865572B2 (en) Automotive risk-based control
CN110799949A (en) Method, apparatus, and computer-readable storage medium having instructions for eliminating redundancy of two or more redundant modules
JP6052278B2 (en) Motion determination device, motion determination system, and motion determination method
WO2020158058A1 (en) Computing device
JP7283485B2 (en) Estimation device, estimation method, and program
JP2009003685A (en) Data storage device, data storage method and data-storing program
JP2012048405A (en) Control device, electronic control unit and abnormality detection method
Telford et al. Fault classification and diagnostic system for unmanned aerial vehicle electrical networks based on hidden Markov models
JP5056396B2 (en) Software operation monitoring device, program
US10955836B2 (en) Diagnosis system and electronic control device
CN115712517A (en) Fault processing method and device of neural network processor
JP7180692B2 (en) Estimation device, estimation method, and program
CN112902947A (en) Apparatus for diagnosing abnormality of vehicle sensor and method thereof
CN112989352A (en) Method and apparatus for model-based analysis
JP2009245195A (en) Autonomous mobile robot and obstacle identification method thereof
JP2021033583A (en) Control apparatus, control system, and control method