(57)【要約】データの整合性を保証することを目的とする。プロセッサとメモリを有し、入力装置から取得した入力データで出力装置を制御する制御装置であって、前記入力装置からデータを受け付けて、当該受け付けたデータに現在の時刻を生成時刻情報として付加して入力データを生成する前処理部と、前記入力データを受け付けて、当該入力データに対して所定の処理を行って出力データを生成する制御部と、を有し、前記制御部は、複数の前記入力データを受け付けて、前記複数の入力データからそれぞれ生成時刻情報を取得して、前記生成時刻情報のズレを生成時刻ズレとして算出し、前記生成時刻ズレが予め設定された第１の条件を満足しない場合に、前記入力データまたは出力データの異常を判定する。
2020039845.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリを有し、入力装置から取得した入力データで出力装置を制御する制御装置であって、
前記入力装置からデータを受け付けて、当該受け付けたデータに現在の時刻を生成時刻情報として付加して入力データを生成する前処理部と、
前記入力データを受け付けて、当該入力データに対して所定の処理を行って出力データを生成する制御部と、を有し、
前記制御部は、
複数の前記入力データを受け付けて、前記複数の入力データからそれぞれ生成時刻情報を取得して、前記生成時刻情報のズレを生成時刻ズレとして算出し、前記生成時刻ズレが予め設定された第１の条件を満足しない場合に、前記入力データまたは出力データの異常を判定することを特徴とする制御装置。
【請求項２】
請求項１に記載の制御装置であって、
前記第１の条件は、所定の閾値を含み、
前記制御部は、
前記生成時刻ズレが前記閾値を超えた場合に、前記異常を判定することを特徴とする制御装置。
【請求項３】
請求項１に記載の制御装置であって、
前記制御部は、第１の制御部と、第２の制御部を有し、
前記第１の制御部は、
前記前処理部が生成した入力データに所定の処理を行って出力データを生成し、前記出力データを生成した時刻を、当該出力データの生成時刻として付加し、前記入力データに付加された前記生成時刻情報を、当該出力データの初期入力時刻情報として付加し、
前記第２の制御部は、
前記第１の制御部が生成した出力データを入力データとして、当該入力データに所定の処理を行って出力データを生成し、前記生成時刻ズレが前記第１の条件を満足しない場合には、前記入力データとして受け付けた前記出力データの初期入力時刻情報のズレを算出し、当該初期入力時刻情報のズレが予め設定された第２の条件を満たす場合には、当該入力データから出力データを生成することを特徴とする制御装置。
【請求項４】
請求項１に記載の制御装置であって、
前記前処理部は、
前記入力装置から受け付けたデータに含まれる初期入力時刻情報を取得して、前記入力データに初期入力時刻情報を付加することを特徴とする制御装置。
【請求項５】
請求項１に記載の制御装置であって、
前記制御部は、
前記入力データを複数受け付けて、これらの入力データから前記生成時刻情報を取得し、当該生成時刻情報の一部を出力データの部分入力時刻情報として付加することを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載等の制御装置の演算処理技術に関するものである。
【背景技術】
【０００２】
制御装置は入力データを処理して、後段の装置にデータを出力する。リアルタイム性を必要とする制御については、データの入力及び出力タイミングに制約が設けられており、その制約を満たすように設計が行われる。【０００３】
例えば、車両制御システムは、電子化された車載装置を制御するＥＣＵ、すなわち電子制御装置（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）を含んで構成され、センサからの入力データを処理して、アクチュエータなどへ信号を出力することで車両を制御している。【０００４】
近年の車両制御システムでは、画像やレーダーなど複数のセンサからの情報を統合して制御する技術が採用されている。情報の統合にあたっては、車両制御装置（電子制御装置）が、同時刻に取得したデータを照合して正常であることを判定する必要がある。しかし、センサ毎にサンプリングレートが異なるなど、厳密に同時刻のデータを取得することは困難であるため、車両制御装置では所定の期間を設け、時間差が閾値以下（所定の期間内）であれば正常としている。【０００５】
特許文献１では、車両に搭載される車載通信システムであって、ネットワークに接続され、周期的に前記ネットワークにデータを出力する複数の情報処理手段と、各情報処理手段が周期的に前記ネットワークに出力するデータのうち、各情報処理手段が最短周期で出力するデータを判別し、該最短周期で出力するデータが前記ネットワークに出力されたか否かを監視することにより、該車載通信システムの通信異常を検知する監視手段と、を有する車載通信システムが記載されている。この車載通信システムでは、最小時間間隔をもとにして、システムが正常か否かを判定している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２３６１８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
所定の時間内で処理が完了することを保証する技術として、リアルタイム制御技術が知られている。しかし、マルチコア化するマイクロコンピュータや複雑化する制御ソフトウェアを利用する制御装置においては、リアルタイム性をほぼ満たすことをテストなどで確認可能であるが、設計としてリアルタイム性を証明することは困難となりつつある。【０００８】
すなわち、近年のマイクロコンピュータでは、条件分岐の投機実行や、データまたは命令のプリフェッチなどによって処理の高速化を図り、また、マルチコア化によってタスク（またはスレッド）の並列実行を可能にしている。しかしながら、投機実行の失敗やキャッシュミス等による処理のペナルティが発生した場合、上記従来のリアルタイム制御技術は、タスク間の時系列的な整合性を保証することはできない。【０００９】
また、上記従来のリアルタイム制御技術では、ソフトウェアの実行時間を計測することで、所定の時間内に処理が完了したことを検証できても、正しいタイミングで取得したデータを使用して演算したことを保証することは困難である。【００１０】
本発明は、上記の課題を解決するためになされたものであり、データの整合性を保証することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、プロセッサとメモリを有し、入力装置から取得した入力データで出力装置を制御する制御装置であって、前記入力装置からデータを受け付けて、当該受け付けたデータに現在の時刻を生成時刻情報として付加して入力データを生成する前処理部と、前記入力データを受け付けて、当該入力データに対して所定の処理を行って出力データを生成する制御部と、を有し、前記制御部は、複数の前記入力データを受け付けて、前記複数の入力データからそれぞれ生成時刻情報を取得して、前記生成時刻情報のズレを生成時刻ズレとして算出し、前記生成時刻ズレが予め設定された第１の条件を満足しない場合に、前記入力データまたは出力データの異常を判定する。
【発明の効果】
【００１２】
本発明に係る制御装置によれば、ある処理が予期しない原因で遅延した場合に、入力データのタイミングの整合性が確保できない出力を抑止する。これにより、データの整合性を保証することが可能となる。
【図面の簡単な説明】
【００１３】
【図１Ａ】本発明の実施例１に係る車両制御装置の機能要素の構成の一例を示す図である。
【図１Ｂ】本発明の実施例１に係る車両制御装置の構成の一例を示すブロック図である。
【図２】本発明の実施例１に係る前処理部で行われる処理の一例を示すフローチャートである。
【図３Ａ】本発明の実施例１に係る制御部で行われる処理の一例を示すフローチャートである。
【図３Ｂ】本発明の実施例１に係る初期入力時刻の一例を示す図である。
【図４】本発明の実施例１に係る他の制御部で行われる処理の一例を示すフローチャートである。
【図５】本発明の実施例１に係る他の制御部で行われる処理の一例を示すフローチャートである。
【図６】本発明の実施例２に係る車両制御装置の機能要素の構成の一例を示す図である。
【図７】本発明の実施例２に係る制御部の処理の一例を示すフローチャートである。
【図８】本発明の実施例３に係る制御部の処理の一例を示すフローチャートである。
【図９】本発明の実施例４に係る車両制御装置の機能要素の構成の一例を示す図である。
【図１０】本発明の実施例４に係る制御部の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、実施例について図面を用いて説明する。なお、本発明は以下の実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲で、各部の構成などを適宜追加、変更、削除などして実施することができる。ここでは例として、本発明を車両制御装置に適用した場合の形態を示す。
【実施例１】
【００１５】
車両制御装置としてのＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）を制御するプログラムは、センサなどの入力装置からの入力を処理して、アクチュエータなどへの出力を生成する。プログラムの内部構造は、関数で構成される。関数は、入力データを記憶し、データを参照して演算処理を行い、結果を出力する。プログラムは複数の関数から構成され、最終的な出力を生成する。【００１６】
実施例１では、車両制御装置が入力装置からの入力データを受信し、時刻の整合性を判定し、出力データを生成する例を示す。関数は、モジュール、サブルーチン、プロセス、手続きなどとも言い換えることができる。プログラムはＥＣＵ内の演算装置（プロセッサなど）が実行することによって、それぞれの機能を提供する。すなわち、処理の主体は演算装置であるが、以降、説明を簡素化するため、各プログラムを主語として説明することがある。【００１７】
図１Ａは、実施例１に係る車両制御装置１の機能要素の構成図である。【００１８】
車両制御装置１では、前処理部１９０が、入力装置１１−１〜１１−３からデータを取得する。前処理部１９０は、入力装置１１−１から取得したデータから値を取得して入力データ１１１の値１１２に設定し、タイマ１５から取得した時刻を生成時刻１１３に設定する。生成時刻１１３は当該データ１１１が生成された時刻を示す。【００１９】
また、前処理部１９０は、別の入力装置１１−２から取得したデータから値を取得してデータ１２１の値１２２に設定し、タイマ１５から取得した時刻を生成時刻１２３に設定する。また前処理部１９０は、別の入力装置１１−３から取得したデータから取得した値をデータ１３１の値１３２に設定し、タイマ１５から取得した時刻を生成時刻１３３に設定する。生成時刻１２３、１３３はデータ１２１、１３１が生成された時刻を示す。【００２０】
なお、以下の説明では特定の入力装置を示唆しない場合には、「−」以降を省略した符号「１１」を使用する。他の構成要素の符号についても同様である。入力装置１１は、データを出力または生成する装置であり、センサや車両制御装置（ＥＣＵ）等で構成することができる。【００２１】
前処理部１９０で生成されたデータ１１１、１２１、１３１は、関数を含む制御部１９−１〜１９−３で入力データとして使用される。制御部１９−１は関数１７１を用いて入力データから出力データを生成する。制御部１９−２は関数１７２を用いて入力データから出力データを生成する。制御部１９−３は関数１７３を用いて入力データから出力データを生成する。【００２２】
制御部１９−１の関数１７１は、データ１１１を使用して演算を行い、データ１４１を生成して出力する。データ１４１は、値１４２、生成時刻１４３、初期入力時刻１４４を含む。なお、生成時刻１４３は、出力されるデータ１４１が生成された時刻であり、制御部１９−１がタイマ１５から取得した時刻である。初期入力時刻１４４には、データ１１１の生成時刻１１３が設定される。【００２３】
制御部１９−２の関数１７２は、データ１２１とデータ１３１を使用して演算を行い、後述するように、入力データの生成時刻のズレが所定の閾値１８１以下の場合、データ１５１を生成して出力する。データ１５１は、値１５２、生成時刻１５３、初期入力時刻１５４を含む。【００２４】
なお、生成時刻１５３は、出力されるデータ１５１が生成された時刻であり、制御部１９−２がタイマ１５から取得した時刻である。初期入力時刻１５４には、データ１２１、１３１の生成時刻１２３、１３３が設定される。【００２５】
制御部１９−３の関数１７３は、データ１４１とデータ１５１を使用して演算を行い、後述するように、入力されたデータの生成時刻のズレが所定の閾値１８２以下の場合、データ１６１を出力装置１４に出力する。入力データの生成時刻のズレが閾値１８２を超える場合でも、初期入力時刻１４４と１５４から計算される初期入力時刻のズレが初期入力閾値１８３以下の場合は、制御部１９−３が前段の処理で入力されたデータの時系列的な整合性は確保されていると判定し、データ１６１を生成して出力装置１４に出力する。データ１６１は、値１６２、生成時刻１６３、初期入力時刻１６４を含む。【００２６】
なお、生成時刻１６３は、出力されるデータ１６１が生成された時刻であり、制御部１９−３がタイマ１５から取得した時刻である。初期入力時刻１６４には、データ１４１、１５１の生成時刻１４３、１５３が設定される。【００２７】
なお、図１Ａでは、関数１７１、１７２、１７３のすべての関数とデータを利用した例を記載したが、すべての関数とデータを利用する必要はなく、関数１７１と関数１７３のみを利用する等、一部の関数やデータを削除、追加、変更しても構わない。【００２８】
図１Ｂは、車両制御装置１の構成の一例を示すブロック図である。車両制御装置１は、プロセッサ２と、メモリ３と、不揮発性メモリ４と、Ｉ／Ｏインタフェース（図中Ｉ／Ｏ）５と、タイマ１５と、ネットワークインタフェース６を含む。プロセッサ２〜ネットワークインタフェース６は、インターコネクト８を介して接続される。【００２９】
Ｉ／Ｏインタフェース５は、入力装置１１と出力装置１４に接続されて通信を行う。ネットワークインタフェース６は、ネットワークインタフェース１３を介して外部制御装置１２−１、１２−２に接続されて通信を行う。【００３０】
メモリ３には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）７と、前処理部１９０と、制御部１９−１、１９−２、１９−３がロードされてプロセッサ２によって実行される。制御部１９−１には、図１Ａに示した関数１７１が含まれ、制御部１９−２には、図１Ａに示した関数１７２が含まれ、制御部１９−３には、図１Ａに示した関数１７３が含まれる。【００３１】
前処理部１９０と制御部１９は、ＯＳ７上で稼働するソフトウェアである。ＯＳ７は、例えば、ＡＵＴＯＳＡＲ（Ａｕｔｏｍｏｔｉｖｅ  Ｏｐｅｎ  Ｓｙｓｔｅｍ  Ａｒｃｈｉｔｅｃｔｕｒｅ）に準拠したＯＳや、リアルタイムＯＳを用いることができる。【００３２】
前処理部１９０は、入力装置１１や外部制御装置１２からデータを取得して生成時刻を設定する。制御部１９は、入力されたデータを関数１７１、１７２、１７３で演算して出力用のデータを生成する。出力用のデータは、出力装置１４や外部制御装置１２または他の制御部１９へ出力される。【００３３】
プロセッサ２は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ２は、制御プログラムに従って処理を実行することで制御部１９として機能する。他のプログラムについても同様である。さらに、プロセッサ２は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。【００３４】
車両制御装置１０の各機能を実現するプログラム、テーブル等の情報は、不揮発性半導体メモリや、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。【００３５】
図２は、前処理部で行われる処理の一例を示すフローチャートである。前処理部の処理２１は、以下の様に実行される。この処理は、図１Ａにおけるデータ１１１、１２１、１３１の生成に対応するものである。【００３６】
ステップ２１１では、前処理部１９０が、例えば、図１Ａの入力装置１１−１から取得したデータの値を、データ１１１の値１１２に設定する。【００３７】
ステップ２１２では、前処理部１９０が、タイマ１５から取得した時刻を、当該データ１１１を生成した生成時刻１１３に設定する。【００３８】
図１Ａに示したデータ１２１、１３１についても同様に処理が実行されて、生成時刻１２３、１３３が設定される。【００３９】
図３Ａは、制御部１９−２で行われる処理の一例を示すフローチャートである。制御部の処理３１は、所定の周期や前処理部１９０からデータが出力された場合など所定のタイミングで実行される。図３Ａの処理は図１Ａにおける関数１７２を含む制御部１９−２の処理に対応する。制御部１９−２は、２つのデータ１２１、１３１を入力データとして、関数１７２で算出した値をデータ１５１として出力する。【００４０】
ステップ３１１では、制御部１９−２が、前処理部１９０から入力データとしてデータ１２１とデータ１３１を取得する。制御部１９−２は、入力されたデータ１２１、１３１の生成時刻１２３、１３３のうち最大のものと最小のものの差分を生成時刻ズレとして算出する。【００４１】
ステップ３１２では、制御部１９−２が、ステップ３１１で算出された生成時刻ズレと、あらかじめ設定した閾値１８１と比較する。制御部１９−２は、生成時刻ズレが閾値１８１以下であればステップ３１３へ進み、生成時刻ズレが閾値１８１を超える場合にはステップ３１７へ進む。【００４２】
ステップ３１３では、制御部１９−２が、生成時刻ズレが閾値１８１以下であるので、入力データの値１２２、１３２を使用して、関数１７２で出力するデータ１５１の値１５２を算出する。【００４３】
ステップ３１４では、制御部１９−２が、タイマ１５から時刻を取得し、出力するデータ１５１の生成時刻１５３に設定する。【００４４】
ステップ３１５では、制御部１９−２が、すべての入力データの生成時刻を、出力するデータ１５１の初期入力時刻１５４に設定する。【００４５】
ステップ３１６では、制御部１９−２が、生成したデータ１５１を出力する。【００４６】
ステップ３１７では、制御部１９−２が、生成時刻ズレが閾値１８１を超えた場合は、システム異常処理などを行う。システムの異常処理としては、システムの異常発生モードへの移行や、アラートの出力や、演算結果の破棄等を採用することができる。また、システムの異常発生モードとしては、閾値を超えた回数が所定回数を超えるまで、制御を継続しその後異常発生モードへ移行するなど、一時的なエラーを許容する構成とすることができる。【００４７】
ここで、初期入力時刻１５４の構成は、図３Ｂで示すように、１以上の数の時刻３８１〜３８３からなる。例えば、初期入力時刻１５４の時刻３８１は、データ１２１の生成時刻１２３が設定され、時刻３８２には、データ１３１の生成時刻１３３が設定される。その他、本発明に係る初期入力時刻１４４、１６４は、図３Ｂの初期入力時刻１５４と、同様の構成である。【００４８】
なお、上記の例では入力データ数は２であったが、３、４、それ以上でもよい。また、上記タイマ１５から取得する時刻は、絶対時刻または相対時刻を用いることができる。相対時刻としては、クロックを積算するカウンタの値などを採用することができる。【００４９】
また、上記の例では生成時刻ズレを差分の算出により取得したが、和、積、商、これらの組み合わせ等の統計処理によって制御部１９で算出することができる。【００５０】
生成時刻ズレの算出について、以下に示す。まず、上述のように、すべての入力データの生成時刻のうち、最大の値（max_T_input）と、最小の値（min_T_input）の差分を用いる場合、生成時刻ズレは次式で算出される。
生成時刻ズレ＝|(max_T_input)-(min_T_input)|【００５１】
次に、生成時刻の比率で生成時刻ズレを算出する場合は、すべての入力データの生成時刻のうち、最大の値（max_T_input）と、最小の値（min_T_input）から次式で算出される。【００５２】
生成時刻ズレ＝(max_T_input)/(min_T_input)【００５３】
次に、基準時刻（T_Ref）から最大の値（max_T_input）と、最小の値（min_T_input）のオフセットの比率で生成時刻ズレを算出する場合は、次式で算出される。【００５４】
生成時刻ズレ＝(max_T_input - T_Ref) / (min_T_input - T_Ref)【００５５】
次に、複数の入力データの生成時刻の分散から生成時刻ズレを算出する場合は、周期ごとに静的な基準値、もしくは動的な平均値や中央値など、基準となる値を決定し、分散は正規分布等に従うものとする。例えば、正規分布に従う場合、標準偏差３σの範囲外のデータがあれば、制御部１９は、エラーなどと判定することができる。【００５６】
以上のように、複数の入力データを関数１７２で処理を実行する場合には、入力データの生成時刻ズレが閾値１８１を超えていれば、入力データの時系列的な整合性が確保できないと判定して、システム異常処理に移行する。これにより、入力データのタイミングの整合性が確保できない出力を抑止することができる。【００５７】
図４は、制御部１９−１で行われる処理の一例を示すフローチャートである。制御部の処理４１は、所定の周期や前処理部１９０からデータが出力された場合など所定のタイミングで実行される。図４の処理は図１Ａにおける関数１７１を含む制御部１９−１の処理に対応する。制御部１９−１では、単一のデータ１１１を入力データとするので、前記図３の制御部１９−２とは異なり、生成時刻ズレを使用しない。【００５８】
ステップ４１１では、制御部１９−１が、前処理部１９０から入力データとしてデータ１１１を取得する。制御部１９−１は、データ１１１の値１１２を関数１７１で処理した結果をデータ１４１の値１４２として設定する。【００５９】
ステップ４１２では、制御部１９−１が、タイマ４４から時刻を取得し、出力するデータ１４１の生成時刻１４３に設定する。【００６０】
ステップ４１３では、制御部１９−１が、入力されたデータ１１１の生成時刻１１３を、出力するデータ１４１の初期入力時刻１４４に設定する。【００６１】
ステップ４１４では、制御部１９−１が、出力データとしてデータ１４１を出力する。上記処理によって、単一の入力データの場合には、制御部１９−１は関数１７１で演算した結果に、タイマ１５から取得した時刻を出力データに付加して出力する。【００６２】
図５は、制御部１９−３で行われる処理の一例を示すフローチャートである。制御部の処理５１は、所定の周期や、関数１７２または関数１７３からデータが出力された場合など所定のタイミングで実行される。【００６３】
ステップ５１１では、制御部１９−３が、制御部１９−１からデータ１４１を取得し、制御部１９−２からデータ１５１を取得する。制御部１９−３は、データ１４１、１５１の生成時刻１４３、１５３のうち最大のものと最小のものの差分を生成時刻ズレとして算出する。【００６４】
ステップ５１２では、制御部１９−３が、ステップ５１１で算出した生成時刻ズレと、あらかじめ設定した閾値１８２と比較する。制御部１９−３は、生成時刻ズレが閾値１８２以下であればステップ５１３に進み、そうでない場合にはステップ５１７へ進む。【００６５】
ステップ５１３では、制御部１９−３が、生成時刻ズレが閾値１８１以下であるので、入力データの値１４２、１５２を関数１７３で処理して、出力するデータ１６１の値１６２を算出する。【００６６】
ステップ５１４では、制御部１９−３が、タイマ１５から時刻を取得し、出力するデータ１６１の生成時刻１６３に設定する。【００６７】
ステップ５１５では、制御部１９−３が、すべての入力されたデータ１４１、１５１の初期入力時刻１４４、１５４を、出力するデータ１６１の初期入力時刻１６４に設定する。【００６８】
ステップ５１６では、制御部１９−３が、出力データとしてデータ１６１を出力する。【００６９】
ステップ５１７では、制御部１９−３が、生成時刻ズレが閾値１８１を超えているのでは、入力されたデータ１４１、１５１の初期入力時刻１４４、１５４のうち最大の値と最小の値の差分を初期入力時刻ズレとして算出する。【００７０】
ステップ５１８では、制御部１９−３が、初期入力時刻ズレとあらかじめ設定した初期入力閾値１８３と比較する。初期入力時刻ズレが初期入力閾値１８３以下である場合は、上述のステップ５１３を実行する。【００７１】
ステップ５１９では、初期入力時刻ズレが初期入力閾値１８３を超えた場合であり、制御部１９−３がシステム異常処理などを行う。【００７２】
なお、上記では入力データ数は２であったが、３、４、それ以上でもよい。また、生成時刻ズレを差分の算出により取得したが、上述したように差分の絶対値や、比率、オフセット、分散などの統計処理により算出することができる。【００７３】
この実施例１では、前処理部１９０により入力データを取得し、タイマ１５の生成時刻を付加し、制御部の処理３１で生成時刻ズレが閾値（時間差許容値）１８１以内であることを、ステップ３１１、３１２により検証し、正常な場合のみ出力データの値３５１を出力することにより、タイミングの整合性が取れていない入力データから計算した出力値が出力されてしまうことを抑止することができる。【００７４】
また、関数１７１、１７２の出力データ（１４１、１５１）を入力データとする制御部１９−３の二次処理以降においても、同様の検証を行い、生成時刻ズレが異常判定された場合は初期入力の時刻を検証することにより、一次処理（制御部１９−１、１９−２）の遅延による時刻ズレを正常と判断することができる。【００７５】
なお、上記処理においては、入力関数前処理部の処理２１、制御部の処理３１、４１、５１のいずれかを利用する等、一部の処理を削除、追加、変更しても構わない。【００７６】
以上、本実施例１に係る車両制御装置１によれば、ある処理が予期しない原因で遅延した場合に、入力データのタイミングの整合性が確保できない出力を抑止することが可能となる。【００７７】
また、入力データの生成時刻ズレが閾値１８２を超えている場合であっても、制御部１９−３は、初期入力時刻ズレが初期入力閾値１８３以下であれば、当該入力データの前段では、時系列的な整合性が確保されていると判定して、関数１７３による処理を実行することができる。【００７８】
本実施例１では、制御部１９が関数１７１〜１７３で処理を行う度に、データ１４１、１５１、１６１の生成時刻を初期入力時刻へ蓄積することで、前段の処理の時刻を検証することにより、制御部１９へ入力されるデータの時系列的な整合性を確保することができる。
【実施例２】
【００７９】
図６は、実施例２に係る車両制御装置１の構成の一例を示すブロック図である。なお、実施例１と同様の部分については説明を省略し、異なる部分についてのみ説明する。【００８０】
車両制御装置１が、入力装置１１から取得するデータが、初期入力時刻を含む構成もありうる。例えば、入力装置１１がプロセッサを有する制御装置の場合、制御装置は出力するデータに初期入力時刻を付加することができる。図６では、図１Ａと異なり、データ１１１、１２１、１３１が初期入力時刻１１４、１２４、１３４をそれぞれ含む。【００８１】
また、制御部１９は、前記実施例１の関数１７２、１７３に代わって、関数１７４、１７５を有する。本実施例２における関数１７４の内容は、次に示す図７の制御部の処理６１となる。また、関数１７５の内容は、実施例１の図５に示した制御部の処理５１となる。【００８２】
図７は、制御部１９−１で行われる処理の一例を示すフローチャートである。制御部の処理６１は、所定の周期や、前処理部１９０からデータが出力された場合など所定のタイミングで実行される。【００８３】
ステップ６１１では、制御部１９−１が、データ１１１を取得して、値１１２を関数１７４で処理して、出力するデータ１４１の値１４２を算出する。【００８４】
ステップ６１２では、制御部１９−１が、タイマ１５から時刻を取得し、出力するデータ１４１の生成時刻１４３に設定する。【００８５】
ステップ６１３では、制御部１９−１が、入力されたデータ１１１の初期入力時刻１１４を、出力するデータ１４１の初期入力時刻１４４に設定する。【００８６】
ステップ６１４では、制御部１９−１が、データ１４１を出力する。【００８７】
本実施例２では、入力装置１１から取得するデータが、すでに異なる車両制御装置で処理されたデータや、車両内外の記憶装置から得られたデータで、初期入力時刻を含んでいる場合に対応することができる。
【実施例３】
【００８８】
図８は、実施例３に係る制御部１９−１で行われる処理の一例を示すフローチャートである。なお、実施例１と同様の部分については説明を省略し、異なる部分についてのみ説明する。関数１７１を含む制御部１９−１は、所定の周期や、前処理部１９０からデータが出力された場合など所定のタイミングで図８のフローチャートを実行する。制御部の処理７１は、以下の様に実行される。【００８９】
ステップ７１１では、制御部１９−１が、入力されたデータ１１１の値１１２を関数１７１で処理して、出力するデータ１４１の値１４２を算出する。【００９０】
ステップ７１２では、制御部１９−１が、タイマ１５から時刻を取得し、出力するデータ１４１の生成時刻１４３に設定する。【００９１】
ステップ７１３では、制御部１９−１が、データ１４１を出力する。【００９２】
制御部の処理７１は、前記実施例１の図４の制御部の処理４１と異なり、出力するデータ１４１の初期入力時刻を設定しない。【００９３】
本実施例３では、同様に、前記実施例１に示した制御部の処理３１、５１のステップ３１５、５１５を省略することで、それぞれの処理にも適用できる。【００９４】
本実施例３では、いずれの場合も、初期入力時刻を削減することにより、出力データのデータ量の増加を抑制することができる。
【実施例４】
【００９５】
図９は、実施例４に係る車両制御装置１の構成の一例を示すブロック図である。なお、実施例１と同様の部分については説明を省略し、異なる部分についてのみ説明する。【００９６】
本実施例４では、初期入力時刻の一部のみ引き継ぐ例を示す。図９では、前記実施例１の図１Ａと異なり、データ１４１、１５１、１６１が初期入力時刻に代わって、部分入力時刻１４５、１５５、１６５をそれぞれ含む。【００９７】
また、制御部１９は、前記実施例１の関数１７１、１７２、１７３に代わって、関数１７６、１７７、１７８を有する。本実施例４における関数１７６の内容は、次に示す図１０の制御部の処理８１となる。【００９８】
図１０は、制御部１９−２で行われる処理の一例を示すフローチャートである。制御部処理８１は、以下の様に実行される。【００９９】
ステップ８１１では、制御部１９−２が、入力されたデータ１２１、１３１の生成時刻１２３、１３３のうち最大の値と最小の値の差分を生成時刻ズレとして算出する。【０１００】
ステップ８１２では、制御部１９−２が、上記生成時刻ズレとあらかじめ設定した閾値１８１と比較する。【０１０１】
ステップ８１３では、制御部１９−２が、上記生成時刻ズレが閾値１８１以下である場合は、入力されたデータ１２１、１３１の値１２２、１３２を関数１７７で処理して、出力するデータ１５１の値１５２を算出する。【０１０２】
ステップ８１４では、制御部１９−２が、タイマ１５から時刻を取得し、出力するデータ１５１の生成時刻１５３に設定する。【０１０３】
ステップ８１５では、制御部１９−２が、すべての入力データ（１２１、１３１）の生成時刻（１２３、１３３）の一部または集約値を、出力するデータ１５１の部分入力時刻１８５に設定する。生成時刻（１２３、１３３）の一部としては、最大値及び最小値を選択すればよい。また、集約値としては、生成時刻（１２３、１３３）の中央値や平均値など、生成時刻に所定の統計処理を加えた値を用いることができる。【０１０４】
ステップ８１６では、制御部１９−２が、データ１５１を出力する。【０１０５】
ステップ８１７では、上記生成時刻ズレが閾値１８１を超えた場合は、制御部１９−２が、システム異常処理などを行う。【０１０６】
ここで、部分入力時刻１８５の構成は、図３Ｂで示した初期入力時刻１５４で示すように、０以上の数の時刻からなる。【０１０７】
制御部の処理８１は、前記実施例１の図３の制御部の処理３１と異なり、すべての入力データのすべての生成時刻を、出力するデータに設定しなくともよい。【０１０８】
本実施例４では、関数１７７、１７８においても同様に、前記実施例１の制御部の処理４１、５１のステップ４１３、５１５をそれぞれ変更することで適用できる。【０１０９】
本実施例４では、いずれの場合も、部分入力時刻を用いることで出力するデータ１５１のデータ量の増加を抑制し、重要な時刻を継承することができる。【０１１０】
＜まとめ＞
なお、上記実施例１〜４では、生成時刻ズレと閾値１８１を比較する例を示したが、制御部１９は、生成時刻ズレが所定の許容条件を満足しない場合に、異常と判定してもよい。また、初期入力時刻ズレと初期入力閾値１８３についても同様であり、制御部１９は、初期入力時刻ズレが所定の許容条件を満足しない場合に、異常と判定してもよい。また、許容条件は、閾値に限定されるものではなく、所定の範囲を有する値であってもよい。【０１１１】
以上のように、上記実施例１〜４の制御装置（車両制御装置１）は、プロセッサ２とメモリ３を有し、入力装置１１から取得した入力データで出力装置１４を制御する制御装置であって、前記入力装置１１からデータを受け付けて、当該受け付けたデータに現在の時刻を生成時刻情報（１１３、１２３、１３３）として付加して入力データ（１１１、１２１、１３１）を生成する前処理部１９０と、前記入力データを受け付けて、当該入力データに対して所定の処理を行って出力データを生成する制御部１９と、を有し、前記制御部１９は、複数の前記入力データを受け付けて、前記複数の入力データからそれぞれ生成時刻情報（１１３、１２３、１３３）を取得して、前記生成時刻情報のズレを生成時刻ズレとして算出し、前記生成時刻ズレが予め設定された第１の条件を満足しない場合に、前記入力データまたは出力データの異常を判定する。【０１１２】
また、前記第１の条件は、所定の閾値１８１、１８２を含み、前記制御部１９は、前記生成時刻ズレが前記閾値１８１、１８２を超えた場合に、前記異常を判定する。【０１１３】
また、前記制御部１９は、第１の制御部（１９−１、１９−２）と、第２の制御部（１９−３）を有し、前記第１の制御部（１９−１、１９−２）は、前記前処理部１９０が生成した入力データ（１１１、１２１、１３１）に所定の処理を行って出力データ（１４１、１５１）を生成し、前記出力データを生成した時刻を、当該出力データの生成時刻１４３、１５３として付加し、前記入力データに付加された前記生成時刻情報（１１３、１２３、１３３）を、当該出力データの初期入力時刻情報（１４４、１５４）として付加し、前記第２の制御部（１９−３）は、前記第１の制御部が生成した出力データ（１４１、１５１）を入力データとして、当該入力データに所定の処理を行って出力データ（１６１）を生成し、前記生成時刻ズレが前記第１の条件を満足しない場合には、前記入力データとして受け付けた前記出力データの初期入力時刻情報（１４４、１５４）のズレを算出し、当該初期入力時刻情報のズレが予め設定された第２の条件を満たす場合には、当該入力データ（１４１、１５１）から出力データ（１６１）を生成する。【０１１４】
また、前記前処理部１９０は、前記入力装置１１から受け付けたデータに含まれる初期入力時刻情報を取得して、前記入力データに初期入力時刻情報（１１４、１２４、１３４）を付加する。【０１１５】
また、前記制御部１９は、前記入力データ（１１１、１２１、１３１）を複数受け付けて、これらの入力データから前記生成時刻情報（１１３、１２３、１３３）を取得し、当該生成時刻情報の一部を出力データの部分入力時刻情報（１４５、１５５、１６５）として付加する。【０１１６】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。【０１１７】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。【０１１８】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１１９】
１  車両制御装置
１１−１、１１−２、１１−３  入力装置
１４  出力装置
１５  タイマ
１１１、１２１、１３１、１４１、１５１、１６１  データ
１８１、１８２  閾値
１４４、１５４、１６４  初期入力時刻
１８３  初期入力閾値
１４５、１５５、１６５  部分入力時刻
【図１Ａ】
2020039845.tif 000003
【図１Ｂ】
2020039845.tif 000004
【図２】
2020039845.tif 000005
【図３Ａ】
2020039845.tif 000006
【図３Ｂ】
2020039845.tif 000007
【図４】
2020039845.tif 000008
【図５】
2020039845.tif 000009
【図６】
2020039845.tif 000010
【図７】
2020039845.tif 000011
【図８】
2020039845.tif 000012
【図９】
2020039845.tif 000013
【図１０】
2020039845.tif 000014
【国際調査報告】
2020039845.tif 000015
2020039845.tif 000016