(57)【特許請求の範囲】
【請求項１】
入力装置及び出力装置に接続し、複数の処理モジュールを有する車両制御装置であって、
前記複数の処理モジュールは、
前記入力装置からの入力データを取得して第１の演算を行い第１のデータを出力する入力側処理モジュールと、
前記入力側処理モジュールから出力された前記第１のデータを取得して第２の演算を行い第２のデータを出力する中間処理モジュールと、
前記中間処理モジュールから出力された前記第２のデータに基づく出力データを前記出力装置へ出力する出力側処理モジュールと、を含み、
前記入力データは、前記入力装置から取得した値と、その値を前記入力装置から取得した取得時刻と、を含み、
前記入力側処理モジュールは、前記入力データの値を使用して前記第１の演算を行うことで算出した値と、前記入力データに含まれる前記取得時刻に基づいて設定した第１の最大時刻および第１の最小時刻と、を含むデータを、前記第１のデータとして出力し、
前記中間処理モジュールは、前記第１のデータの値を使用して前記第２の演算を行うことで算出した値と、前記第１のデータに含まれる前記第１の最大時刻および前記第１の最小時刻に基づいてそれぞれ設定した第２の最大時刻および第２の最小時刻の情報と、を含むデータを、前記第２のデータとして出力し、
前記出力側処理モジュールは、
前記第２のデータに含まれる前記第２の最大時刻と前記第２の最小時刻との時間差が所定の許容値以下であるか否かを判定し、
前記時間差が前記許容値以下である場合は、前記第２のデータの値を前記出力データとして出力し、
前記時間差が前記許容値を超えた場合は、前記出力データの出力を行わないことを特徴とする、車両制御装置。
【請求項２】
請求項１に記載の車両制御装置であって、
前記入力側処理モジュールは、一つの前記入力データを取得する第１の入力側処理モジュールと、複数の前記入力データを取得する第２の入力側処理モジュールと、を有し、
前記第１の入力側処理モジュールは、前記第１の演算を開始した時刻を前記第１の最大時刻に設定するとともに、前記入力データにおける前記取得時刻を前記第１の最小時刻に設定し、
前記第２の入力側処理モジュールは、複数の前記入力データにおける前記取得時刻のうちで最大のものを前記第１の最大時刻に設定するとともに、複数の前記入力データにおける前記取得時刻のうちで最小のものを前記第１の最小時刻に設定することを特徴とする、車両制御装置。
【請求項３】
請求項１または２に記載の車両制御装置であって、
前記中間処理モジュールは、複数の前記第１のデータを取得し、複数の前記第１のデータにおける前記第１の最大時刻のうちで最大のものを前記第２の最大時刻に設定するとともに、複数の前記第１のデータにおける前記第１の最小時刻のうちで最小のものを前記第２の最小時刻に設定することを特徴とする、車両制御装置。
【請求項４】
請求項１から３のいずれか一項に記載の車両制御装置であって、
前記出力側処理モジュールから出力された前記出力データを新たな前記入力データとして設定し、前記出力側処理モジュールが前記出力データを出力した時刻を、新たな前記入力データの前記取得時刻として記録する手段を有することを特徴とする、車両制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両制御装置の演算処理技術に関するものである。
【背景技術】
【０００２】
車両制御システムは電子化された車両制御装置を操作するＥＣＵ、すなわち電子制御装置（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）で構成され、センサーからの入力データを処理して、アクチュエータなどへ出力することで車両を制御している。
【０００３】
近年の車両制御システムでは、画像やレーダーなど複数のセンサーからの情報を統合して制御するなどを行っている。情報の統合にあたっては、同時刻に取得したデータを照合して正常であることを確認する必要があるが、サンプリングレートが異なるなど、厳密に同時刻に取得することは困難であるため、所定の時間を設け、時間差がそれ以下であれば、正常としている。
【０００４】
特許文献１では、車両に搭載される車載通信システムであって、ネットワークに接続され、周期的に前記ネットワークにデータを出力する複数の情報処理手段と、各情報処理手段が周期的に前記ネットワークに出力するデータのうち、各情報処理手段が最短周期で出力するデータを判別し、該最短周期で出力するデータが前記ネットワークに出力されたか否かを監視することにより、該車載通信システムの通信異常を検知する監視手段と、を備える車載通信システムが記載されている。この車載通信システムでは、最小時間間隔をもとにして、システムが正常か否かを判定している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３-２３６１８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
同時刻で取得したデータを照合するためには、所定の時間内で処理することを保証するリアルタイム制御などの技術がある。しかし、マルチコア化するマイコンや複雑化する制御ソフトウェアにおいては、リアルタイム性をほぼ満たすことをテストなどで確認可能であるが、設計として証明することは困難となりつつある。また、ソフトウェアの実行時間を計測することで、時間内に処理が完了したことを確認できても、正しいタイミングで取得したデータを使用して演算したことを確認することは困難である。
【０００７】
本発明は、上記の課題を解決するためになされたものであり、データ処理結果の整合性の確認を目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の車両制御装置は、入力装置及び出力装置に接続し、複数の処理モジュールを有するものであって、前記複数の処理モジュールは、前記入力装置からの入力データを取得して第１の演算を行い第１のデータを出力する入力側処理モジュールと、前記入力側処理モジュールから出力された前記第１のデータを取得して第２の演算を行い第２のデータを出力する中間処理モジュールと、前記中間処理モジュールから出力された前記第２のデータに基づく出力データを前記出力装置へ出力する出力側処理モジュールと、を含み、前記入力データは、前記入力装置から取得した値と、その値を前記入力装置から取得した取得時刻と、を含み、前記入力側処理モジュールは、前記入力データの値を使用して前記第１の演算を行うことで算出した値と、前記入力データに含まれる前記取得時刻に基づいて設定した第１の最大時刻および第１の最小時刻と、を含むデータを、前記第１のデータとして出力し、前記中間処理モジュールは、前記第１のデータの値を使用して前記第２の演算を行うことで算出した値と、前記第１のデータに含まれる前記第１の最大時刻および前記第１の最小時刻に基づいてそれぞれ設定した第２の最大時刻および第２の最小時刻の情報と、を含むデータを、前記第２のデータとして出力し、前記出力側処理モジュールは、前記第２のデータに含まれる前記第２の最大時刻と前記第２の最小時刻との時間差が所定の許容値以下であるか否かを判定し、前記時間差が前記許容値以下である場合は、前記第２のデータの値を前記出力データとして出力し、前記時間差が前記許容値を超えた場合は、前記出力データの出力を行わないことを特徴とする。
【発明の効果】
【０００９】
本発明に係る車両制御装置によれば、ある処理が予期しない原因で遅延した場合に、入力データのタイミングの整合性が確保できない出力を抑止することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施例１に係る車両制御装置の構成図
【図２】入力関数の処理フローの図
【図３】演算関数の処理フローの図
【図４】別の演算関数の処理フローの図
【図５】出力判定の処理フローの図
【図６】フィードバック関数の処理フローの図
【図７】イベント判定の処理フローの図
【発明を実施するための形態】
【００１１】
以下、実施例を図面を用いて説明する。なお、本発明は以下の実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲で、各部の構成などを適宜追加、変更、削除などして実施することができる。
【実施例１】
【００１２】
ＥＣＵを制御するプログラムは、センサーからの入力を処理して、アクチュエータなどの出力を生成する。プログラムの内部構造は、入力データを記憶し、データを参照して演算処理を行い、結果をアクチュエータへ出力する、関数で構成される。プログラムは、複数の関数から構成され、最終的な出力を生成する。
【００１３】
実施例１では、センサからの入力を処理し、時刻の整合性を判定し、アクチュエータへ出力する方式を示す。関数は、モジュール、サブルーチン、プロセス、手続きなどとも言い換えることができる。プログラムはＥＣＵ内の演算装置が実行することによって、それぞれの機能を提供する。すなわち、動作主体は演算装置であるが、以降、説明を簡素化するため、各プログラムを主語として説明する。
【００１４】
図１は、実施例１に係る車両制御装置の構成図である。
【００１５】
車両制御装置１の、センサ１１から取得したデータ１１１には、値１１２と、タイマ２０から取得した時刻１１３とを記憶する。時刻１１３には最大時刻１１８と最小時刻１１９が設定できるように構成されている。初期の動作時には、最大時刻１１８と最小時刻１１９にタイマ２０から取得した同じ時刻が設定される。すなわち最大時刻１１８＝最小時刻１１９である。また別のセンサ１２から取得したデータ１２１には、値１２２と、タイマ２０から取得した時刻１２３とを記憶する。同様に最大時刻と最小時刻が設定可能に構成されている。また別のセンサ１３から取得したデータ１３１には、値１３２と、タイマ２０から取得した時刻１３３とを記憶する。同様に最大時刻と最小時刻が設定可能に構成されている。
【００１６】
関数１１４は、データ１１１を使用して演算を行いデータ１４１を出力する。データ１４１には、値１４２と最大時刻１４３、最小時刻１４４を記憶する。ここでの最大時刻１４３にはデータ１１１を参照して関数１１４が処理を開始した時刻を設定する。また最小時刻１４４には、センサ１１からデータ１１１を取得した時刻１１３を設定する。なお、別の実施形態として、最大時刻１４３と最小時刻１４４には最大時刻１１８と最小時刻１１９を設定することも可能である。
【００１７】
関数１１５は、データ１２１とデータ１３１を使用して演算を行いデータ１５１を出力する。データ１５１には、値１５２と最大時刻１５３、最小時刻１５４を記憶する。最大時刻１５３には、入力としたデータ１２１の時刻１２３とデータ１３１の時刻１３３の中から最大の時刻を設定する。最小時刻１５４には、入力したデータ１２１の時刻１２３とデータ１３１の時刻１３３の中から最小の時刻を設定する。
【００１８】
関数１１６は、データ１４１とデータ１５１を使用して演算を行いデータ１６１を出力する。データ１６１にも、同様に値１６２と最大時刻１６３と最小時刻１６４を記憶する。最大時刻１６３にはデータ１４１とデータ１５１の中から最大の時刻を設定する。最小時刻１６４にはデータ１４１とデータ１５１の中から最小の時刻を設定する。
【００１９】
関数１１７は、データ１６１を参照し、最大時刻１６３と最小時刻１６４の差が、許容時間差１７１以下の場合、出力装置１４に値を出力する。
【００２０】
なお、図１では関数１１４、関数１１５、関数１１６、関数１１７の全ての関数とデータを利用した例を記載したが、すべての関数とデータを利用する必要はなく、関数１１４と関数１１７のみを利用する等、一部の関数やデータを削除、追加、変更しても構わない。
【００２１】
図２は、入力関数の処理フローの図である。入力関数の処理２１は、以下の様に動作する。図１でのデータ１１１、１２１，１３１の設定に対応するものである。
ステップ２１１：例えばセンサ１１から取得した値を出力データの値２２１に設定する。
ステップ２１２：タイマ２０から取得した時刻を最大時刻２２２と最小時刻２２３を設定する。なお、初期の動作時には、最大時刻２２２と最小時刻２２３には同じ時刻が設定されている。
【００２２】
図３は、演算関数の処理フローの図である。演算関数の処理３１は、以下の様に動作する。図１での関数１１５や関数１１６での処理に対応する。
ステップ３１１：入力データ３２、３３、３４の値３２１、３３１、３４１を使用し、出力データ３５の値３５１を算出する。
ステップ３１２：入力データの最大時刻３２２，３３２，３４２の最大の値を出力データ３５の最大時刻３５２に設定する。すなわち複数の入力データの最大時刻の中から最大の時刻を設定する。
ステップ３１３：入力データの最小時刻３２３，３３３，３４３の最小の値を出力データ３５の最小時刻３５３に設定する。すなわち複数の入力データの最小時刻の中から最小の時刻を設定する。
なお、複数の出力データがある場合には、それぞれの出力データに、最大時刻、最小時刻を設定する。
【００２３】
図４は別の演算関数の処理フローの図である。演算関数の処理３６は、以下の様に動作する。図１での関数１１４の処理に対応する。
ステップ３６１：入力データ３７の値３７１を使用し、出力データ３８の値３８１を算出する。
ステップ３６２：最大時刻３８２にはデータを参照して関数が処理を開始した時刻を設定する。
ステップ３６３：最小時刻２８３にはセンサにてデータを取得した時刻であるタイマ２０の時刻を設定する。ここでは最大時刻３７２＝最小時刻３７３のためどちらの値を利用しても良い。
【００２４】
図５は、出力判定の処理フローの図である。出力判定処理４１は、以下の様に動作する。図１での関数１１７の処理に対応する。
ステップ４１１：例えば出力データ４２の最大時刻４２２−最小時刻４２３を算出し、入力データ時間差４３を求める。
ステップ４１２：あらかじめ設定した時間差許容値４４と比較する。
ステップ４１３：時間差許容値４４以下である場合は、出力データ４２の値４２１を出力する。
ステップ４１４：時間差許容値４４を超えた場合は、システム異常処理などを行う。
【００２５】
この実施例では、入力関数の処理２１、演算関数の処理３１、出力判定処理４１により入力データ取得の最大時刻４２２と最小時刻４２３を記録し、その差が時間差許容値４４以内であることを、ステップ４１１、ステップ４１２により検証し、正常な場合のみ出力データの値４２１を出力することにより、タイミングの整合性が取れていない入力データから計算した出力値が出力されてしまうことを抑止することができる。なお、処理においては、入力関数の処理２１、演算関数の処理３１、３６のいずれかを利用する等、一部の関数処理を削除、追加、変更しても構わない。
【００２６】
以上、本発明に係る車両制御装置によれば、ある処理が予期しない原因で遅延した場合に、入力データのタイミングの整合性が確保できない出力を抑止することが可能となる。
【実施例２】
【００２７】
実施例２について図６を用いて説明する。なお、実施例１と同様の部分については説明を省略し、異なる部分についてのみ説明をする。
【００２８】
フィードバックループを構成するプログラムでは、アクチュエータなどへ出力するとともに、演算値を次の周期処理の入力として設定する構成もありうる。この場合、出力処理を行った時刻をタイマ２０から取得し、新たな入力データの最大時刻、最小時刻に設定することもできる。値には出力処理した値を設定する。この形態では、フィードバックループの周期時刻と別の入力データとのタイミングの整合性を確認することが行える。
【００２９】
また、出力データの値と最大時刻、最小時刻を新たな入力データの値、最大時刻、最小時刻に設定することもできる。
【００３０】
図６は、フィードバック関数の処理フローの図である。
ステップ５１１：前回の出力データ５２の値５２１を新しい入力データの値５３１に設定する。
ステップ５１２：前回の出力データの最大時刻、最小時刻を、出力処理を行った時刻に置き換えて新しい入力データの最大時刻、最小時刻に設定する。なお出力データの最大時刻、最小時刻を新たな入力データの最大時刻、最小時刻にそのまま設定することもできる。
これにより周期的に演算処理を行う場合に、処理したデータを入力して処理することで、フィードバックループの周期時刻と同期したタイミングでの整合性を確認することが行える。
【実施例３】
【００３１】
実施例３について図７を用いて説明する。なお、実施例１、２と同様の部分については説明を省略し、異なる部分についてのみ説明をする。
【００３２】
図７はイベント判定の処理フローの図である。割込みなどのイベントに起因する処理を含むプログラムでは、イベントが発生した要因を値とし、イベントが発生した時刻を、入力データとする構成もありうる。
ステップ６１１：例えば入力データとイベントが発生した時刻との入力データとイベント間の時間差６３を算出する。
ステップ６１２：あらかじめ設定した時間差許容値６４と比較する。
ステップ６１３：時間差許容値６４以下である場合は、出力データ６２の値６２１を出力する。
ステップ６１４：時間差許容値６４を超えた場合は、システム異常処理などを行う。
これにより、イベントが発生した時刻において、センサーからの入力が適切であるかのタイミングの整合性を確認することが行える。
【符号の説明】
【００３３】
１  車両制御装置
１１、１２，１３  センサ
１４  出力装置
２０  タイマ
３２、３３、３４、３７  入力データ
３５、３８、４２、  出力データ
４１  出力判定処理
４３  入力データ時間差
４４、６４  時間差許容値
５２  前回の出力データ
５３  新たな入力データ
６３  入力データとイベント間の時間差
１１１、１２１、１３１、１４１、１５１、１６１  データ
１１２、１２２、１３２、１４２、１５２、１６２、２２１、３２１、３３１、３４１、３５１、３７１、３８１、４２１、５２１、５３１、６２１  値
１１３、１２３、１３３  時刻
１１４、１１５、１１６、１１７  関数
１１８、１４３、１５３、１６３、２２２、３２２、３３２、３４２、３５２、３７２、３８２、４２２、５２２、５３２  最大時刻
１１９、１４４、１５４、１６４、２２３、３２３、３３３、３４３、３５３、３７３、３８３、４２３、５２３、５３３  最小時刻
１７１  許容時間差
【図１】
0006925954.tif 000002
【図２】
0006925954.tif 000003
【図３】
0006925954.tif 000004
【図４】
0006925954.tif 000005
【図５】
0006925954.tif 000006
【図６】
0006925954.tif 000007
【図７】
0006925954.tif 000008