JP6085386B1 - 基盤プログラム及び車両監視システム - Google Patents

基盤プログラム及び車両監視システム Download PDF

Info

Publication number
JP6085386B1
JP6085386B1 JP2016070399A JP2016070399A JP6085386B1 JP 6085386 B1 JP6085386 B1 JP 6085386B1 JP 2016070399 A JP2016070399 A JP 2016070399A JP 2016070399 A JP2016070399 A JP 2016070399A JP 6085386 B1 JP6085386 B1 JP 6085386B1
Authority
JP
Japan
Prior art keywords
control system
unit
monitoring
actuator
sensor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016070399A
Other languages
English (en)
Other versions
JP2017182547A (ja
Inventor
徳生 八島
徳生 八島
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.)
SCSK Corp
Original Assignee
SCSK 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 SCSK Corp filed Critical SCSK Corp
Priority to JP2016070399A priority Critical patent/JP6085386B1/ja
Application granted granted Critical
Publication of JP6085386B1 publication Critical patent/JP6085386B1/ja
Publication of JP2017182547A publication Critical patent/JP2017182547A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Safety Devices In Control Systems (AREA)

Abstract

【課題】安全な車両システムを効率的に開発することを目的とする。【解決手段】一実施形態に係る基盤プログラムは、車両のアクチュエータをセンサからの入力に基づいて制御する制御系を監視するためのコンピュータに車両監視方法を実行させる。車両監視方法は、制御系及びセンサの少なくとも一方から所定の入力データを受け付ける受付ステップと、基盤プログラムとは独立した外部プログラムに、制御系が正常であるか否かを判定させるために、入力データに基づく値を入力変数として該外部プログラムを呼び出す呼出ステップと、呼出ステップに応じて外部プログラムから返された判定結果が制御系の異常を示す場合に、制御系及びアクチュエータの少なくとも一方に所定の制御データを出力する出力ステップとを含む。【選択図】図1

Description

本発明の一側面は、車両の機能の安全を図るために用いられる基盤プログラム及び車両監視システムに関する。
従来から、車両の機能の安全を図るための様々な仕組みが知られている。例えば下記特許文献1には、既存のソフトウェアを再利用しつつ新たな機能安全要求にも対応可能な車両制御装置が知られている。この車両制御装置は、入力に対して、機能安全規格に対応した出力を行う第1制御手段と、第1制御手段のソフトウェアを管理し、機能安全規格に対応した第1プラットホームと、入力に対して、機能安全規格に非対応の出力を行う第2制御手段と、第2制御手段のソフトウェアを管理し、機能安全規格に非対応の第2プラットホームと、第1制御手段の出力と第2制御手段の出力とを比較結合して制御対象に出力する比較結合手段とを備える。第1プラットホームと第2プラットホームとは、少なくとも、第1プラットホームによる第1制御手段のソフトウェアの管理と第2プラットホームによる第2制御手段のソフトウェアの管理とに関して独立するものである。
特許第5549665号明細書
車両に搭載される機能は年々高度になってきており、それを実現するための車載システムの開発規模は大幅に増大している。また、安全性又はセキュリティに関する新たな基準への対応が求められることも多い。これらのような背景から、安全な車両システムを効率的に開発することが望まれており、その要求に応えるためのフレームワークが求められている。
本発明の一側面に係る基盤プログラムは、車両のアクチュエータをセンサからの入力に基づいて制御する制御系を監視するためのコンピュータに車両監視方法を実行させる基盤プログラムであって、車両監視方法が、制御系及びセンサの少なくとも一方から所定の入力データを受け付ける受付ステップと、基盤プログラムとは独立した外部プログラムに、制御系が正常であるか否かを判定させるために、入力データに基づく値を入力変数として該外部プログラムを呼び出す呼出ステップと、呼出ステップに応じて外部プログラムから返された判定結果が制御系の異常を示す場合に、制御系及びアクチュエータの少なくとも一方に所定の制御データを出力する出力ステップとを含む。
本発明の一側面に係る車両監視システムは、車両のアクチュエータをセンサからの入力に基づいて制御する制御系を監視する車両監視システムであって、制御系及びセンサの少なくとも一方から所定の入力データを受け付ける受付部と、制御系が正常であるか否かを入力データに基づいて判定する判定部と、制御系が異常であると判定部により判定された場合に、制御系及びアクチュエータの少なくとも一方に所定の制御データを出力する出力部とを備え、判定部が、基盤プログラムと、該基盤プログラムとは独立した外部プログラムがコンピュータ上で実行されることで実現するものであり、基盤プログラムが入力データに基づく値を入力変数として外部プログラムを呼び出すことで、判定が実行される。
このような側面においては、制御系と、その制御系が正常であるか否かの判定処理との間に基盤プログラムが介在する。制御系の動作を検証する際の具体的な基準又は手法は個々の制御系で異なり得る。個々の制御系に依存する判定ロジックを外部プログラムとして切り出し、制御系と判定ロジックとをつなぐ部分を基盤プログラムとして共通化することで、安全な車両システムを効率的に開発することが可能になる。
本発明の一側面によれば、安全な車両システムを効率的に開発することができる。
実施形態に係る基盤プログラムの構成を示す図である。 第1実施形態に係る制御系及び監視系の機能構成を示す図である。 第1実施形態に係る診断処理の例を示すシーケンス図である。 第1実施形態に係る診断処理の例を示すシーケンス図である。 第1実施形態に係る診断処理の例を示すシーケンス図である。 第1実施形態に係る診断処理の詳細の例を示すシーケンス図である。 第1実施形態に係る停止処理の例を示すシーケンス図である。 第1実施形態に係る復旧処理の例を示すシーケンス図である。 第2実施形態に係る2系統の機能構成を示す図である。 第2実施形態に係る診断及び二重監視の処理の例を示すシーケンス図である。 第2実施形態に係る切替処理の例を示すシーケンス図である。 変形例に係る制御系及び監視系の機能構成を示す図である。 変形例に係る2系統の機能構成を示す図である。
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
図1は、後述する第1及び第2実施形態に係る基盤プログラムP1の構成を示す。基盤プログラムP1は、車両の走行を制御するコンピュータ・システム(以下ではこれを「制御系」という)の監視をコンピュータに実行させるためのフレームワークである。フレームワークとは、汎用的又は基本的な、ソフトウェアの半完成品のことである。車両とは、陸上を走行する有人又は無人の移動体であり、例えば自動車である。
基盤プログラムP1は、メインモジュールP10、監視モジュールP11、診断モジュールP12、及び処理モジュールP13を備える。メインモジュールP10は、制御系の監視を統括的に制御する部分である。監視モジュールP11は、制御系及びセンサの少なくとも一方から所定の入力データを受け付ける機能を有する。診断モジュールP12は、その入力データに基づく判定処理を外部プログラムP2と連携して実行する機能を有する。処理モジュールP13は判定結果に基づいて、制御系及びアクチュエータの少なくとも一方に所定の制御データを出力する機能を有する。
基盤プログラムP1は、判定用の外部プログラムP2(以下では単に「外部プログラム」という)とは独立したプログラムである。これは、制御系の動作に関する具体的な判定処理又は判定基準がメーカ又は車種により異なることを考慮した仕組みである。予め定められた、基盤プログラムP1(より具体的には診断モジュールP12)と外部プログラムP2との間のインタフェース(関数、入力変数、及び出力変数)に従いさえすれば、開発者は外部プログラムP2の内部ロジックを自由に設計することができる。また、基盤プログラムP1は、制御系のプログラムとも独立する。基盤プログラムP1と制御系プログラムとの間のインタフェースも予め定められる。このように各プログラムの独立性を高めることで、開発の自由度及びシステムの保守性が向上するので、安全な車両システムを効率的に開発することが可能になる。
基盤プログラムP1は、例えば、CD−ROMやDVD−ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、基盤プログラムP1は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
基盤プログラムP1がECU(Electronic Control Unit)にインストールされて実行されることで、監視系が実現する。監視系は、制御系の動作を監視するコンピュータ・システム(すなわち、車両監視システム)である。本実施形態では、一つのECU1に制御系プログラム及び基盤プログラムP1の双方がインストールされる。ECU1は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、CAN(Controller Area Network)通信回路を有するコンピュータである。ECU1では、ROMに記憶されているプログラムがCAN通信回路を介してRAMにロードされ、CPUがそのプログラムを実行することで各種の機能が実現される。ECU1は複数の電子制御ユニットで構成されてもよい。
制御系プログラム、基盤プログラムP1、及び外部プログラムP2はいずれも、ランタイム環境(RTE:Runtime Environment)上で実行されるアプリケーション・プログラムである。
(第1実施形態)
図2は、第1実施形態に係る制御系及び監視系の機能構成を示す。
制御系10はセンサ3からの入力に基づいてアクチュエータ4を制御する。制御系10は機能的構成要素として入力部11、制御部12、及び出力部13を備える。これらの機能要素はランタイム環境を介してデータの受け渡しを行う。入力部11は、センサ3からデータを取得する機能要素である。入力部11は、取得したデータそのもの、又は取得したデータをフィルタ機能により加工して得られるデータをランタイム環境経由で制御部12に出力する。制御部12は、入力部11からのデータに基づいてアクチュエータ4への指示を決定する機能要素である。制御部12は入力されたデータを所定のメモリに保存すると共に、決定した指示を示すデータをランタイム環境経由で出力部13に出力する。出力部13は、制御部12から入力された指示に基づいてアクチュエータ4に指示信号を出力することで該アクチュエータ4を制御する機能要素である。これら三つの機能要素はいずれも、自身が正常であるか否かを検査してその結果をランタイム環境経由で監視系20に出力する自己監視機能と、自己の内部状態をランタイム環境経由で監視系20に通知する機能とを有する。自己監視における検査項目、及び内部状態の詳細は何ら限定されないが、例えば、機能要素の実行経路及び実行時間がその例として挙げられる。
なお、センサ3及びアクチュエータ4の種類は何ら限定されない。センサ3の例として車速センサ、加速度センサ、及びヨーレートセンサが挙げられる。アクチュエータ4の例としてはスロットルアクチュエータ、ブレーキアクチュエータ、及び操舵アクチュエータが挙げられる。センサ3及びアクチュエータ4の種類が限定されないことに応じて、制御系10の各機能要素の具体的な機能及び構成も限定されない。
監視系20は機能的構成要素として監視部21、診断部22、及び処理部23を備える。これらの機能要素はランタイム環境を介してデータの受け渡しを行う。
監視部21は、制御系10(すなわち、入力部11、制御部12、及び出力部13)からのデータを受け付ける機能要素(受付部)である。監視部21は基盤プログラムP1の監視モジュールP11がECU1上で実行されることで実現される。監視部21は制御系10の各機能要素から出力された自己監視の結果又は内部状態の通知を取得すると、そのデータをランタイム環境経由で診断部22に出力する。また、監視部21は制御系10の各機能要素に対してポーリングによる死活監視を行うことで、制御系10が正常に動作しているか否かを検査し、その検査結果をランタイム環境経由で診断部22に出力する。
診断部22は、監視部21から入力されたデータに基づいて制御系10が正常であるか否かを判定し、その判定結果をランタイム環境経由で処理部23に出力する機能要素(判定部)である。診断部22は基盤プログラムP1の診断モジュールP12と外部プログラムP2との双方がECU1上で実行されることで実現される。診断モジュールP12は、外部プログラムP2(外部プロシージャ)を呼び出す際に、監視部21からの入力データに基づく値を入力変数として外部プログラムP2に渡す。入力変数として外部プログラムP2に渡される値は、入力データの一部または全体であってもよいし、入力データの少なくとも一部を加工して得られる値であってもよい。外部プログラムP2はその呼出しに応じて具体的な判定処理を実行し、判定結果を診断モジュールP12に返す。診断モジュールP12はその判定結果を処理部23に出力する。
処理部23は、診断部22から入力された判定結果に基づいて所定の制御データ(指示信号)を制御系10に出力する機能要素(出力部)である。処理部23は基盤プログラムP1の処理モジュールP13がECU1上で実行されることで実現される。判定結果が異常を示す場合には、処理部23は停止指示の信号を入力部11、制御部12、及び出力部13に出力することで制御系10を停止させる。制御系10が停止している状態において、正常を示す判定結果が入力された場合には、処理部23は復旧指示の信号を入力部11、制御部12、及び出力部13に出力することで制御系10を再稼働させる。
次に、図3〜図8を参照しながら、監視系20の動作を説明するとともに本実施形態に係る車両監視方法について説明する。なお、図3〜図8では便宜上ランタイム環境(RTE)を一本の線で表現する。
図3は、制御系10から入力された内部状態の通知に基づく診断の例を示す。この図では制御部12についての処理を示すが、入力部11及び出力部13についても同様の処理が実行される。制御部12は、ランタイム環境(RTE)からの呼出し(ステップS11)に応じてセンサ情報を入力部11から取得して保存し(ステップS12)、保存した情報をデータ更新通知としてランタイム環境に出力する(ステップS13)。ランタイム環境はその情報を更新通知として監視部21に出力する(ステップS14)。監視部21はその更新通知を受け付けると(受付ステップ)、その更新通知をランタイム環境経由で診断部22に出力する(ステップS15)。診断部22はその更新通知で示されるデータを用いて制御部12の状態を判定する(ステップS16)。診断部22の判定(すなわち、制御部12が正常であると判定されるか異常であると判定されるか)は外部プログラムP2に依存する。
図4は、ポーリングによる死活監視の例を示す。この図では制御部12についての処理を示すが、入力部11及び出力部13についても同様の処理が実行される。監視部21は死活監視用のタイマを起動した上で(ステップS21)、制御部12の状態を監視するための信号(図4における「状態監視」)を定期的にランタイム環境に出力し、ランタイム環境はその信号を制御部12に出力する(ステップS22)。状態監視の信号は非同期の信号である。
制御部12がその信号を受け付けた場合には、制御部12はその問合せに応じて応答信号をランタイム環境に出力する(ステップS23)。なお、このステップS23における「応答(1)」は、ステップS22における「状態監視(1)」という信号に対応する。ランタイム環境はその応答(応答信号を受け付けたことを示す結果)を保存する(ステップS24)。その後、監視部21はタイマで設定された時刻に状態監視の信号に対応する結果をランタイム環境に問い合わせ(ステップS25)、ランタイム環境はこの問合せに応じて、保存している応答をその結果として監視部21に出力する(ステップS26)。監視部21はその結果を取得すると(受付ステップ)、その結果をランタイム環境経由で診断部22に出力する(ステップS27)。診断部22はその結果を用いて制御部12の状態を判定する(ステップS28)。診断部22の判定は外部プログラムP2に依存する。
制御部12が何らかの原因で状態監視の信号を受け付けることができなかった場合には、応答信号をランタイム環境に出力することもできず、したがってランタイム環境は応答を保存することができない。すなわち、図4におけるステップS23,S24が実行されない。この状況下で、監視部21がタイマで設定された時刻に状態監視の信号に対応する結果をランタイム環境に問い合わせた場合にも(ステップS25)、ランタイム環境はこの問合せに応じた結果を監視部21に返す(ステップS26)。しかし、この結果は、制御部12からの応答信号を受け付けなかったことを示すものである。この場合にも、監視部21はその結果を受け付けると(受付ステップ)、その結果をランタイム環境経由で診断部22に出力する(ステップS27)。診断部22はその結果を用いて制御部12の状態を判定する(ステップS28)。診断部22の判定は外部プログラムP2に依存する。
図5は、制御系10から入力された自己監視の結果に基づく診断の例を示す。この図では制御部12についての処理を示すが、入力部11及び出力部13についても同様の処理が実行される。制御部12は所定のタイミングで(例えば定期的に)自己監視を実行し(ステップS31)、エラーが発生したと判定した場合にはエラー通知をランタイム環境に出力する(ステップS32)。ランタイム環境はそのエラー通知を監視部21に出力する(ステップS33)。監視部21はそのエラー通知を受け付けると(受付ステップ)、その通知をランタイム環境経由で診断部22に出力する(ステップS34)。診断部22はそのエラー通知に基づいて制御部12の状態を判定する(ステップS35)。診断部22の判定は外部プログラムP2に依存する。
図6は診断の詳細を示し、より具体的には上記のステップS16,S28,S35の詳細を示す。監視部21からランタイム環境経由で判定用のデータ(更新通知、状態監視の結果、又はエラー通知)を取得すると(ステップS41)、診断部22はそのデータに基づいて制御系10の機能要素(入力部11、制御部12、又は出力部13)の状態を判定する(ステップS42)。この判定処理は、基盤プログラムP1の診断モジュールP12が、入力されたデータに基づく値を入力変数として外部プログラムP2(外部プロシージャ)を呼び出すことで行われる(呼出ステップ)。外部プログラムP2の出力変数である判定結果が正常(OK)を示す場合には(ステップS43において「OK」)、監視系20はこの時点で処理を終了し、したがって処理部23は作動しない。一方、判定結果が異常を示す場合には(ステップS43において「NG」)、診断部22はその結果をランタイム環境経由で処理部23に出力する(ステップS44)。処理部23はその判定結果に応じて安全のための処理を実行する(ステップS45)。
ただし、上記ステップS43において判定結果が正常(OK)であった場合に監視系20が後続の処理を行う場合もある。例えば、制御系が停止している状況下で正常(OK)という判定結果が得られた場合には、後述する復旧処理(図8参照)が行われる。
図7は、監視系20による制御系10の停止の例を示し、より具体的には上記のステップS45の詳細を示す。異常(NG)を示す判定結果が診断部22からランタイム環境経由で入力されると(ステップS51)、処理部23は制御系10の各機能要素(すなわち、入力部11、制御部12、及び出力部13)について停止指示をランタイム環境に出力し、ランタイム環境はその信号を各機能要素に出力する(ステップS52、出力ステップ)。停止指示を受けた入力部11、制御部12、及び出力部13はそれぞれ停止状態に遷移する(ステップS53)。出力部13は自らを停止する前にアクチュエータ4に停止信号を出力し(ステップS54)、アクチュエータはその信号に応じて停止する(ステップS55)。
図8は、監視系20による復旧の例を示す。例えば、上記ステップS43において制御系10が正常であると判定され、その判定結果が診断部22からランタイム環境経由で入力されたとする(ステップS61)。この場合、処理部23は制御系10の各機能要素(すなわち、入力部11、制御部12、及び出力部13)について復旧指示をランタイム環境に出力し、ランタイム環境はその信号を各機能要素に出力する(ステップS62、出力ステップ)。復旧指示を受けた入力部11、制御部12、及び出力部13は再起動し(有効化)、これにより制御系10が復帰する(ステップS63)。
なお、監視部21はセンサ3から直接にデータを受け付けてもよいし、制御系10及びセンサ3の双方からデータを受け付けてもよい。また、処理部23は制御系10に制御データ(指示信号)を出力するのではなく、アクチュエータ4に制御データ(指示信号)を出力することでアクチュエータ4を直接に停止又は有効化してもよい。あるいは、処理部23は制御系10及びアクチュエータ4の双方に制御データ(指示信号)を出力してもよい。
(第2実施形態)
図9は、第2実施形態に係る制御系及び監視系の機能構成を示す。第1実施形態と異なる点は、制御系及び監視系がそれぞれ多重化される点である。本実施形態では2系統(すなわち、制御系と監視系とのセットの個数が2であること)、すなわち二重化の例を示す。しかし、多重化はその例に限定されるものではなく、3以上の系統(すなわち、制御系と監視系とのセットの個数を3以上にすること)により多重化が実現されてもよい。個々の系統内の機能、構成、及び動作は第1実施形態と同じであり、2系統間の監視系の連携が、第1実施形態にはない点である。以下では、第2実施形態で特有の事項について特に説明し、第1実施形態と同一又は同等の点については説明を省略する。
本実施形態では、第1制御系110及び第1監視系120を備える第1系統100と、第2制御系210及び第2監視系220を備える第2系統200とが存在するものとする。本実施形態では、第1系統100が正常系として機能し、第2系統200が、第1系統100に障害が発生した際に稼働する待機系として機能するものとする。第1制御系110及び第1監視系120はECU101上で実現される。第2制御系210及び第2監視系220はECU201上で実現される。ECU101及びECU201は互いに独立した電子機器である。
第1制御系110は機能的構成要素として第1入力部111、第1制御部112、及び第1出力部113を備える。これらの機能要素はランタイム環境を介してデータの受け渡しを行う。第1入力部111、第1制御部112、及び第1出力部113の機能はそれぞれ、第1実施形態における入力部11、制御部12、及び出力部13の機能と同一又は同等である。第1センサ103及び第1アクチュエータ104は第1実施形態におけるセンサ3及びアクチュエータ4と同一又は同等である。
第1監視系120は機能的構成要素として第1監視部(入力部)121、第1診断部(判定部)122、及び第1処理部(出力部)123を備える。これらの機能要素はランタイム環境を介してデータの受け渡しを行う。第1監視部121、第1診断部122、及び第1処理部123の機能はそれぞれ、第1実施形態における監視部21、診断部22、及び処理部23の機能と同一又は同等である。
第2制御系210は機能的構成要素として第2入力部211、第2制御部212、及び第2出力部213を備える。これらの機能要素はランタイム環境を介してデータの受け渡しを行う。第2入力部211、第2制御部212、及び第2出力部213の機能はそれぞれ、第1実施形態における入力部11、制御部12、及び出力部13の機能と同一又は同等である。第2センサ203及び第2アクチュエータ204は第1実施形態におけるセンサ3及びアクチュエータ4と同一又は同等である。本実施形態では、第2制御系210は、第1制御系110に障害が発生した際に初めて稼働するものとする。
第2監視系220は機能的構成要素として第2監視部(入力部)221、第2診断部(判定部)222、及び第2処理部(出力部)223を備える。これらの機能要素はランタイム環境を介してデータの受け渡しを行う。第2監視部221、第2診断部222、及び第2処理部223の機能はそれぞれ、第1実施形態における監視部21、診断部22、及び処理部23の機能と同一又は同等である。
本実施形態において、第1監視系120は第2監視系220と連携する。具体的には、第1監視系120は第1制御系110に関するデータを第2監視系220に渡すことで、そのデータを第2監視系220にも保存させる。その上で、第1監視系120が第1制御系110を停止させる場合には、第1監視系120は第2監視系220に向けて異常通知を出力し、第2監視系220はその通知に応じて第2制御系210を作動させる。これらの処理により、第1系統100(より具体的には第1制御系110)の障害発生直前までの処理を円滑に引き継いだ形で第2系統200(より具体的には第2制御系210)を作動させることができる。
次に、図10及び図11を参照しながら、第1監視系120及び第2監視系220の動作を説明するとともに本実施形態に係る車両監視方法について説明する。なお、図10及び図11では便宜上ランタイム環境(RTE)を一本の線で表現する。
図10は、第1制御系110から入力された内部状態の通知に基づく診断及び二重監視の例を示す。この図では第1制御部112についての処理を示すが、第1入力部111及び第1出力部113についても同様の処理が実行される。第1制御部112は、ランタイム環境(RTE)からの呼出し(ステップS71)に応じてセンサ情報を第1入力部111から取得して保存し(ステップS72)、保存した情報をデータ更新通知としてランタイム環境に出力する(ステップS73)。ランタイム環境はその情報を更新通知として第1監視部121に出力する(ステップS74)。第1監視部121はその更新通知を受け付けると(受付ステップ)、その更新通知をランタイム環境経由で第1診断部122に出力する(ステップS75)。第1診断部122はその更新通知で示されるデータを用いて第1制御部112の状態を判定する(ステップS76)。この判定処理において、基盤プログラムP1の診断モジュールP12は外部プログラムP2を呼び出すことでその外部プログラムP2に具体的な判定処理を実行させる(呼出ステップ)。したがって、第1診断部122の判定は外部プログラムP2に依存する。
さらに第1診断部122は、その更新通知をランタイム環境に出力し(ステップS77)、ランタイム環境はその通知を第2監視部221に出力する(ステップS78、多重化ステップ)。第2監視部221はその更新通知をランタイム環境経由で第2診断部222に出力する(ステップS79)。第2制御部212はその更新通知に基づいて第1制御部112に関するデータを更新及び保存する(ステップS80)。
第1診断部122は、ポーリングによる死活監視(図4参照)、及び自己監視に基づく診断(図5参照)においても、第1制御系110(第1入力部111、第1制御部112、又は第1出力部113)の状態を判定するとともに、第1監視部121から取得したデータをランタイム環境経由で第2監視部221に出力する。第2監視部221はそのデータをランタイム環境経由で第2診断部222に出力し、第2制御部212はそのデータに基づいて第1制御系110(第1入力部111、第1制御部112、又は第1出力部113)に関するデータを更新及び保存する。
図11は、第1制御系110から第2制御系210への切替えの例を示す。異常(NG)を示す判定結果が第1診断部122からランタイム環境経由で入力されると、第1処理部123は第1制御系110の各機能要素(すなわち、第1入力部111、第1制御部112、及び第1出力部113)について停止指示をランタイム環境に出力し(出力ステップ)、ランタイム環境はその信号を各機能要素に出力する(ステップS81)。停止指示を受けた第1入力部111、第1制御部112、及び第1出力部113はそれぞれ停止状態に遷移する。これら一連の処理は第1実施形態と同じである(図7参照)。
第1処理部123はさらに、第1制御系110に異常が発生したことを示す異常通知をランタイム環境に出力し(ステップS82)、ランタイム環境はその異常通知を第2監視部221に出力する(ステップS83)。この異常通知は第2監視部221から第2診断部222を経由して第2処理部223へと流れる(ステップS84)。なお、機能要素間の入出力にはランタイム環境が介在する。第2処理部223はその異常通知に応じて、第2制御系210の各機能要素(すなわち、第2入力部211、第2制御部212、及び第2出力部213)について起動指示をランタイム環境に出力し、ランタイム環境はその信号を各機能要素に出力する(ステップS85)。必要に応じて、この起動指示は、第1制御系110の対応する機能要素の最後の状態を引き継いで起動させるためのデータを含む。第2入力部211、第2制御部212、及び第2出力部213はその起動指示に応じて起動し、これにより第2制御系210が第1制御系110を引き継いだ形で稼働し始める。
なお、第1系統100および第2系統200の双方において、監視部はセンサから直接にデータを受け付けてもよいし、制御系及びセンサの双方からデータを受け付けてもよい。また、処理部は制御系に制御データ(指示信号)を出力するのではなく、アクチュエータに制御データ(指示信号)を出力することでアクチュエータを直接に停止又は有効化してもよい。あるいは、処理部は制御系及びアクチュエータの双方に制御データ(指示信号)を出力してもよい。このような変形も第1実施形態と同様である。
以上説明したように、本発明の一側面に係る基盤プログラムは、車両のアクチュエータをセンサからの入力に基づいて制御する制御系を監視するためのコンピュータに車両監視方法を実行させる基盤プログラムであって、車両監視方法が、制御系及びセンサの少なくとも一方から所定の入力データを受け付ける受付ステップと、基盤プログラムとは独立した外部プログラムに、制御系が正常であるか否かを判定させるために、入力データに基づく値を入力変数として該外部プログラムを呼び出す呼出ステップと、呼出ステップに応じて外部プログラムから返された判定結果が制御系の異常を示す場合に、制御系及びアクチュエータの少なくとも一方に所定の制御データを出力する出力ステップとを含む。
本発明の一側面に係る車両監視システムは、車両のアクチュエータをセンサからの入力に基づいて制御する制御系を監視する車両監視システムであって、制御系及びセンサの少なくとも一方から所定の入力データを受け付ける受付部と、制御系が正常であるか否かを入力データに基づいて判定する判定部と、制御系が異常であると判定部により判定された場合に、制御系及びアクチュエータの少なくとも一方に所定の制御データを出力する出力部とを備え、判定部が、基盤プログラムと、該基盤プログラムとは独立した外部プログラムがコンピュータ上で実行されることで実現するものであり、基盤プログラムが入力データに基づく値を入力変数として外部プログラムを呼び出すことで、判定が実行される。
このような側面においては、制御系と、その制御系が正常であるか否かの判定処理との間に基盤プログラムが介在する。制御系の動作を検証する際の具体的な基準又は手法は個々の制御系で異なり得る。個々の制御系に依存する判定ロジックを外部プログラムとして切り出し、制御系と判定ロジックとをつなぐ部分を基盤プログラムとして共通化することで、安全な車両システムを効率的に開発することが可能になる。
他の側面に係る基盤プログラムでは、車両監視方法が、車両の他のアクチュエータを制御する他の制御系の動作を監視する他のコンピュータに入力データを渡す多重化ステップをさらに含み、他のコンピュータが、多重化ステップにおいて渡された入力データを保存してもよい。車両監視システムを多重化させた場合に、ある一つの車両監視システム(ある一つのコンピュータ)で得られた入力データを他の車両監視システム(他のコンピュータ)に渡すことで、車両の監視を一方の車両監視システムから他の車両監視システムに円滑に引き継がせることが可能になる。
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
上記各実施形態では、制御系を監視する手法として、内部状態の通知と、死活監視と、自己監視機能とを例示した。しかし、車両監視システムはこれら3種類から任意に選択される一つまたは二つの手法のみを用いて制御系を監視してもよい。
少なくとも一つのプロセッサにより実行される車両監視方法の処理手順は上記実施形態での例に限定されない。例えば、監視系は上述したステップ(処理)の一部を省略してもよいし、別の順序で各ステップを実行してもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、監視系は上記の各ステップに加えて他のステップを実行してもよい。
監視系の処理部は、制御系又はアクチュエータに指示信号を出力することに加えて、所定の通知部(例えばモニタ、表示器、またはスピーカ)に判定結果を出力してもよい。この場合には、その判定結果、又は該判定結果に基づいて生成された情報が通知部から出力される。この通知によりユーザは車両の状態を知ることができる。
上記第2実施形態では第1系統100が正常系であり及び第2系統200が待機系であったが、車両の制御及び監視における複数系統の関係はこれに限定されない。例えばそれら複数系統が対等の立場で並列して動作してもよい。
上記実施形態では一つのECU上で制御系及び監視系が実現されたが、制御系のECUと監視系のECUとが互いに独立したものであってもよい。例えば図12に示すように、第1実施形態における制御系10がECU1上で実現され、監視系20が、ECU1とは独立したECU2上で実現されてもよい。あるいは図13に示すように、2系統のそれぞれにおいて制御系および監視系が別々のECU上で実現されてもよい。この変形例では、第1制御系110はECU101上で実現され、第1監視系120はECU102上で実現される。第2制御系210はECU201上で実現され、第2監視系220はECU202上で実現される。ECU101、ECU102、ECU201、及びECU202は互いに独立した電子機器である。
すなわち、他の側面に係る基盤プログラムでは、コンピュータが制御系から独立してもよい。制御系を監視するコンピュータを該制御系から独立させることで、双方のシステムの開発の自由度及び保守性を向上させることができる。
上記実施形態では一つの監視系が一つの制御系を監視したが、一つの監視系が複数の制御系を監視してもよいし、複数の監視系が一つの制御系を監視してもよい。
上記実施形態では制御系が入力部、制御部、及び出力部を備え、監視系が監視部、診断部、及び処理部を備えたが、監視系及び制御系のそれぞれについて、機能要素の構成及び個数はこれに限定されるものではない。
1,2…ECU、3…センサ、4…アクチュエータ、10…制御系、11…入力部、12…制御部、13…出力部、20…監視系、21…監視部、22…診断部、23…処理部、100…第1系統、101,102…ECU、103…第1センサ、104…第1アクチュエータ、110…第1制御系、111…第1入力部、112…第1制御部、113…第1出力部、120…第1監視系、121…第1監視部、122…第1診断部、123…第1処理部、200…第2系統、201,202…ECU、203…第2センサ、204…第2アクチュエータ、210…第2制御系、211…第2入力部、212…第2制御部、213…第2出力部、220…第2監視系、221…第2監視部、222…第2診断部、223…第2処理部、P1…基盤プログラム、P10…メインモジュール、P11…監視モジュール、P12…診断モジュール、P13…処理モジュール、P2…外部プログラム。

Claims (4)

  1. 車両のアクチュエータをセンサからの入力に基づいて制御する制御系を監視するためのコンピュータに車両監視方法を実行させる基盤プログラムであって、
    前記車両監視方法が、
    前記制御系及び前記センサの少なくとも一方から該センサのデータを受け付ける受付ステップと、
    前記基盤プログラムとは独立した外部プログラムに、前記制御系が正常であるか否かを判定させるために、前記受付ステップにおいて受け付けられた前記センサのデータを入力変数として該外部プログラムを呼び出す呼出ステップと、
    前記呼出ステップに応じて前記外部プログラムから返された判定結果が前記制御系の異常を示す場合には、前記制御系及び前記アクチュエータの少なくとも一方に停止指示を出力し、前記制御系及び前記アクチュエータの少なくとも一方が停止している状態において前記判定結果が前記制御系の正常を示す場合には、前記制御系及び前記アクチュエータの少なくとも一方に復旧指示を出力する出力ステップと
    を含む、
    基盤プログラム。
  2. 前記コンピュータが前記制御系から独立している、
    請求項1に記載の基盤プログラム。
  3. 前記車両監視方法が、前記車両の他のアクチュエータを制御する他の制御系の動作を監視する他のコンピュータに前記受付ステップにおいて受け付けられた前記センサのデータを渡す多重化ステップをさらに含み、
    前記他のコンピュータが、前記多重化ステップにおいて渡された前記データを保存する、
    請求項1又は2に記載の基盤プログラム。
  4. 車両のアクチュエータをセンサからの入力に基づいて制御する制御系を監視する車両監視システムであって、
    前記制御系及び前記センサの少なくとも一方から該センサのデータを受け付ける受付部と、
    前記制御系が正常であるか否かを前記受付部により受け付けられた前記センサのデータに基づいて判定する判定部と、
    前記制御系が異常であると前記判定部により判定された場合には、前記制御系及び前記アクチュエータの少なくとも一方に停止指示を出力し、前記制御系及び前記アクチュエータの少なくとも一方が停止している状態において前記制御系が正常であると前記判定部により判定された場合には、前記制御系及び前記アクチュエータの少なくとも一方に復旧指示を出力する出力部と
    を備え、
    前記判定部が、基盤プログラムと、該基盤プログラムとは独立した外部プログラムがコンピュータ上で実行されることで実現するものであり、
    前記基盤プログラムが前記受付部により受け付けられた前記センサのデータを入力変数として前記外部プログラムを呼び出すことで、前記判定が実行される、
    車両監視システム。
JP2016070399A 2016-03-31 2016-03-31 基盤プログラム及び車両監視システム Active JP6085386B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016070399A JP6085386B1 (ja) 2016-03-31 2016-03-31 基盤プログラム及び車両監視システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016070399A JP6085386B1 (ja) 2016-03-31 2016-03-31 基盤プログラム及び車両監視システム

Publications (2)

Publication Number Publication Date
JP6085386B1 true JP6085386B1 (ja) 2017-02-22
JP2017182547A JP2017182547A (ja) 2017-10-05

Family

ID=58095288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016070399A Active JP6085386B1 (ja) 2016-03-31 2016-03-31 基盤プログラム及び車両監視システム

Country Status (1)

Country Link
JP (1) JP6085386B1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62161037A (ja) * 1986-01-09 1987-07-17 Nippon Denso Co Ltd 車両に搭載される総合診断装置
JPH04360201A (ja) * 1991-06-06 1992-12-14 Omron Corp 情報統合化装置
JP2000305604A (ja) * 1999-04-19 2000-11-02 Mitsubishi Electric Corp 自己監視機能付き車載用電子制御装置
JP2003019931A (ja) * 2001-07-06 2003-01-21 Denso Corp 故障診断システム、車両管理装置、サーバ装置、及び検査診断プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62161037A (ja) * 1986-01-09 1987-07-17 Nippon Denso Co Ltd 車両に搭載される総合診断装置
JPH04360201A (ja) * 1991-06-06 1992-12-14 Omron Corp 情報統合化装置
JP2000305604A (ja) * 1999-04-19 2000-11-02 Mitsubishi Electric Corp 自己監視機能付き車載用電子制御装置
JP2003019931A (ja) * 2001-07-06 2003-01-21 Denso Corp 故障診断システム、車両管理装置、サーバ装置、及び検査診断プログラム

Also Published As

Publication number Publication date
JP2017182547A (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
US20200249937A1 (en) Information update apparatus and information update method
US7552359B2 (en) Computer system and method for dealing with errors
JP2020506472A (ja) 冗長プロセッサアーキテクチャ
CN104583969A (zh) 具备自监视功能的计算机、监视程序
US9925935B2 (en) In-vehicle communication system and in-vehicle communication method
JP2013041501A (ja) 車両制御装置、車両制御システム
JP5327105B2 (ja) バックアップシステム
CN112740121A (zh) 用于车辆的控制架构
JP6085386B1 (ja) 基盤プログラム及び車両監視システム
CN114064343B (zh) 一种区块链的异常处置方法及装置
JP4328969B2 (ja) 制御装置の診断方法
JP2007039206A (ja) エレベーター制御システム
US10089200B2 (en) Computer apparatus and computer mechanism
JP2018052315A (ja) 自動車用制御装置及び内燃機関用制御装置
CN109086179B (zh) 一种程序异常情况下的处理方法和装置
EP3534226B1 (en) Modular control system
JP2005092695A (ja) 二重化コントローラ、その等値化モード決定方法
JP6766612B2 (ja) 車載式故障診断装置
KR102713479B1 (ko) 항공기 제어를 위한 방법, 장치 및 시스템
JP2006279498A (ja) ノード診断システム及びノード
JP4640116B2 (ja) マルチノードコンピュータシステム、統合サービスプロセッサ、ステータス管理方法及びプログラム
JP2015064737A (ja) プロセス計算機の冗長化装置および冗長化方法、並びに当該冗長化装置を適用したプロセス計算機
JP2005115472A (ja) 運行管理装置
US20230318870A1 (en) Providing a service in a node of a cyber-physical system having at least two application modules
JP5559100B2 (ja) 電子制御システム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170127

R150 Certificate of patent or registration of utility model

Ref document number: 6085386

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250