(57)【特許請求の範囲】
【請求項１】
二重化された処理回路である第１の処理回路及び第２の処理回路の各々から、アクチュエータを制御するための制御値を取得する制御値取得部と、
前記第１の処理回路から取得された第１の制御値と前記第２の処理回路から取得された第２の制御値とが一致しない場合に、前記アクチュエータが含まれる上位システムである車両の現在の動作状態又は前記アクチュエータの現在の動作状態から推定される制御値の正常値の範囲である状態正常範囲及び前記第１の処理回路又は前記第２の処理回路から過去に取得された複数の制御値から推定される制御値の正常値の範囲である履歴正常範囲と、前記第１の制御値及び前記第２の制御値との比較を行って、前記第１の処理回路及び前記第２の処理回路に異常が発生しているか否かを判定する異常判定部と、
前記第１の制御値と前記第２の制御値との平均値を生成する平均値生成部と、
前記第１の制御値及び前記第２の制御値が前記状態正常範囲内及び前記履歴正常範囲内であり、前記異常判定部により前記第１の処理回路及び前記第２の処理回路のいずれにも異常が発生していないと判定された場合に、前記平均値生成部により生成された平均値を前記アクチュエータに出力する出力部とを有する異常判定装置。
【請求項２】
前記異常判定装置は、更に、
前記車両の現在の動作状態又は前記アクチュエータの現在の動作状態が示される状態値から前記状態正常範囲を推定する状態判定部を有する請求項１に記載の異常判定装置。
【請求項３】
前記出力部は、
前記異常判定部により前記第１の処理回路が異常であると判定された場合に、前記第２の制御値を前記アクチュエータに出力し、前記異常判定部により前記第２の処理回路が異常であると判定された場合に、前記第１の制御値を前記アクチュエータに出力する請求項１に記載の異常判定装置。
【請求項４】
コンピュータが、二重化された処理回路である第１の処理回路及び第２の処理回路の各々から、アクチュエータを制御するための制御値を取得し、
前記第１の処理回路から取得された第１の制御値と前記第２の処理回路から取得された第２の制御値とが一致しない場合に、前記コンピュータが、前記アクチュエータが含まれる上位システムである車両の現在の動作状態又は前記アクチュエータの現在の動作状態から推定される制御値の正常値の範囲である状態正常範囲及び前記第１の処理回路又は前記第２の処理回路から過去に取得された複数の制御値から推定される制御値の正常値の範囲である履歴正常範囲と、前記第１の制御値及び前記第２の制御値との比較を行って、前記第１の処理回路及び前記第２の処理回路に異常が発生しているか否かを判定し、
前記コンピュータが、前記第１の制御値と前記第２の制御値との平均値を生成し、
前記第１の制御値及び前記第２の制御値が前記状態正常範囲内及び前記履歴正常範囲内であり、前記第１の処理回路及び前記第２の処理回路のいずれにも異常が発生していないと判定された場合に、前記コンピュータが、生成された平均値を前記アクチュエータに出力する異常判定方法。
【請求項５】
二重化された処理回路である第１の処理回路及び第２の処理回路の各々から、アクチュエータを制御するための制御値を取得する制御値取得処理と、
前記第１の処理回路から取得された第１の制御値と前記第２の処理回路から取得された第２の制御値とが一致しない場合に、前記アクチュエータが含まれる上位システムである車両の現在の動作状態又は前記アクチュエータの現在の動作状態から推定される制御値の正常値の範囲である状態正常範囲及び前記第１の処理回路又は前記第２の処理回路から過去に取得された複数の制御値から推定される制御値の正常値の範囲である履歴正常範囲と、前記第１の制御値及び前記第２の制御値との比較を行って、前記第１の処理回路及び前記第２の処理回路に異常が発生しているか否かを判定する異常判定処理と、
前記第１の制御値と前記第２の制御値との平均値を生成する平均値生成処理と、
前記第１の制御値及び前記第２の制御値が前記状態正常範囲内及び前記履歴正常範囲内であり、前記異常判定処理により前記第１の処理回路及び前記第２の処理回路のいずれにも異常が発生していないと判定された場合に、前記平均値生成処理により生成された平均値を前記アクチュエータに出力する出力処理とをコンピュータに実行させる異常判定プログラム。
【請求項６】
前記異常判定装置は、更に、
前記第１の処理回路で行われた自己診断の結果が示される第１の自己診断情報と、前記第２の処理回路で行われた自己診断の結果が示される第２の自己診断情報とを取得する自己診断情報取得部を有し、
前記異常判定部は、
前記第１の自己診断情報を用いて前記第１の処理回路に異常が発生しているかを判定し、前記第２の自己診断情報を用いて前記第２の処理回路に異常が発生しているかを判定し、
前記第１の処理回路及び前記第２の処理回路のいずれにも異常が発生していないと判定した場合に、前記第１の制御値と前記第２の制御値とが一致するかを判定する請求項１に記載の異常判定装置。
【請求項７】
前記異常判定装置は、更に、
前記異常判定部により前記第１の処理回路及び前記第２の処理回路のいずれかに異常が発生していると判定された場合に、前記異常判定部により異常が発生していると判定された処理回路に、初期化処理を行わせる初期化通知を出力する処理回路復帰部を有する請求項１に記載の異常判定装置。
【請求項８】
前記処理回路復帰部は、
前記初期化通知の出力先の処理回路が前記初期化処理の後、他方の処理回路から取得した当該他方の処理回路での計算状態を通知する計算情報を用いて当該他方の処理回路と同じ計算が可能になった際に、前記初期化通知の出力先の処理回路が正常な状態に復帰したことを通知する復帰完了通知を取得する請求項７に記載の異常判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常判定装置、異常判定方法及び異常判定プログラムに関する。
【背景技術】
【０００２】
故障などのトラブルが発生した場合でも、処理を継続することが求められるシステムでは、フォルトトレラント構成が取られる。フォルトトレラント構成では、処理回路が冗長化される。そして、いずれかの処理回路に故障が発生した場合でも、正常な処理回路が動作を継続することで所望の処理が行われる。
フォルトトレラント構成では、各処理回路の出力を比較することで、いずれかの処理回路で故障が発生したかどうかを検知することができる。そして、フォルトトレラント構成では、故障の発生が検知された処理回路を分離し、正常な処理回路で処理を継続する。【０００３】
処理回路が三重化された構成では、各処理回路の出力の間で多数決をとることで、故障が発生した処理回路を特定することができる。
処理回路が二重化された構成では、各処理回路の出力が一致しない場合に、いずれかの処理回路で故障が発生していることを検知することはできる。しかしながら、処理回路が二重化された構成では、いずれの処理回路で故障が発生しているかを特定することは困難である。【０００４】
自動車の車両制御システムなど、コストに対する条件が厳しい用途では、処理回路が三重化された構成を採用することが困難である。このようなコストに対する条件が厳しい用途では、処理回路が二重化された構成において故障が発生した処理回路を特定できるようにすることが求められる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−０８１０１３号公報
【特許文献２】特開２０１０−０７６６３７号公報
【特許文献３】特開２０１２−０４５９９０号公報
【特許文献４】特開２０１５−２２３８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１には、電動パワーステアリング制御装置が開示されている。特許文献１の電動パワーステアリング制御装置は、２つのマイクロコンピュータを備える。特許文献１では、各マイクロコンピュータの制御値が比較され、２つの制御値の間の差が既定範囲外であれば、いずれかのマイクロコンピュータに異常が発生していると判定される。そして、特許文献１では、各マイクロコンピュータについて、前回の制御値と今回の制御値とが比較される。そして、前回の制御値と今回の制御値との差が大きいマイクロコンピュータに異常が発生していると判定される。【０００７】
上述のように、特許文献１では、前回の制御値と今回の制御値との差のみで異常が発生したマイクロコンピュータを特定する。しかし、例えば、車両の運転時に、急ブレーキ又は急ハンドルが生じた場合は、前回の制御値から大きく異なる制御値が出力される可能性がある。このような場合は、前回の制御値から大きく異なる制御値を出力したマイクロコンピュータが正常に動作しているマイクロコンピュータである。
特許文献１では、このように制御値が大きく変化する状況では、正常に動作しているマイクロコンピュータを誤って異常が発生したマイクロコンピュータと判定してしまうという課題がある。【０００８】
本発明は、このような課題を解決することを主な目的とする。より具体的には、本発明は、制御値が大きく変化する場合にも、異常が発生している処理回路を正確に判定できる構成を得ることを主な目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る異常判定装置は、
二重化された処理回路である第１の処理回路及び第２の処理回路の各々から、制御対象物を制御するための制御値を取得する制御値取得部と、
前記第１の処理回路から取得された第１の制御値と前記第２の処理回路から取得された第２の制御値とが一致しない場合に、前記制御対象物が含まれる上位システムの現在の動作状態又は前記制御対象物の現在の動作状態から推定される制御値の正常値の範囲である状態正常範囲と、前記第１の制御値及び前記第２の制御値の少なくともいずれかとの比較を行って、前記第１の処理回路及び前記第２の処理回路のいずれに異常が発生しているかを判定する異常判定部とを有する。
【発明の効果】
【００１０】
本発明によれば、状態正常範囲を用いることで、制御値が大きく変化する場合にも、異常が発生している処理回路を正確に判定することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る車両制御システムの構成例を示す図。
【図２】実施の形態１に係る第２の制御値の時間推移の例を示す図。
【図３】実施の形態１に係る故障診断回路の動作例を示す図。
【図４】実施の形態２に係る車両制御システムの構成例を示す図。
【図５】実施の形態２に係る故障診断回路の動作例を示す図。
【図６】実施の形態１及び２に係る故障診断回路のハードウェア構成例を示す図。
【図７】実施の形態３に係る車両制御システムの構成例を示す図。
【図８】実施の形態３に係る故障診断回路の動作例を示す図。
【図９】実施の形態４に係る車両制御システムの構成例を示す図。
【図１０】実施の形態４に係る故障診断回路の動作例を示す図。
【図１１】実施の形態４に係る第１の処理回路及び第２の処理回路の動作例を示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
【００１３】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係る車両制御システム１０の構成例を示す。
車両制御システム１０は、アクチュエータ２０を制御する。アクチュエータ２０は、ブレーキ、エンジン、モータ、ステアリングなどのアクチュエータである。
車両制御システム１０は、第１の処理回路１１、第２の処理回路１２、データ選択回路１３及び故障診断装置１４で構成される。
第１の処理回路１１及び第２の処理回路１２は、マイクロコンピュータまたはマイクロコンピュータ及びメモリから構成される。
データ選択回路１３及び故障診断装置１４は、処理回路により実現される。処理回路は、具体的には、ＬＳＩ（Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）である。ＬＳＩは、例えば、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）である。また、ＬＳＩは、ＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）又はＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であってもよい。
データ選択回路１３及び故障診断装置１４は、それぞれ、別のＬＳＩによって実現されてもよいし、１つのＬＳＩで実現されてもよい。
【００１４】
第１の処理回路１１及び第２の処理回路１２は、二重化された処理回路である。
第１の処理回路１１及び第２の処理回路１２は、それぞれアクチュエータ２０を制御するための制御値を生成する。アクチュエータ２０は、制御対象物に相当する。
第１の処理回路１１により生成される制御値を第１の制御値という。また、第２の処理回路１２により生成される制御値を第２の制御値という。
【００１５】
データ選択回路１３は、第１の制御値及び第２の制御値のうち、正常に動作している処理回路からの制御値を選択し、選択した制御値をアクチュエータ２０に出力する。データ選択回路１３は、後述する故障診断部１４４からの正常通知信号により、正常に動作している処理回路を判別することができる。
なお、データ選択回路１３は、出力部に相当する。
【００１６】
故障診断装置１４は、正常に動作している処理回路と異常が発生している処理回路とを判定する。
故障診断装置１４は、状態判定部１４１、制御値格納部１４２、履歴正常範囲推定部１４３及び故障診断部１４４で構成される。
【００１７】
状態判定部１４１は、アクチュエータ２０が含まれる上位システムの現在の動作状態が示される状態値を取得する。そして、状態判定部１４１は、取得した状態値から状態正常範囲を推定し、状態正常範囲を故障診断部１４４に出力する。状態正常範囲は、上位システムの現在の動作状態から推定される制御値の正常値の範囲である。上位システムとは、本実施の形態では、車両制御システム１０及びアクチュエータ２０を含む車両である。
つまり、状態判定部１４１は、状態値から、上位システムである車両の現在の状態に適合する正常値の範囲を状態正常範囲として推定する。
状態判定部１４１は、車両制御システム１０の外部にあるセンサ等から、車両の動作状態が示される状態値を取得する。状態値には、例えば、車両が駐車場を走行している、車両が坂道を登板している等の車両の状態が示される。また、状態値に、車両が高速道路を走行している状態、車両が一般道を走行している状態等が示されていてもよい。更に、状態値に、衝突防止機能が稼動している状態等が示されていてもよい。
また、状態判定部１４１は、アクチュエータ２０の現在の動作状態が示される状態値を取得し、アクチュエータ２０の現在の動作状態から推定される制御値の正常値の範囲を状態正常範囲として推定してもよい。
【００１８】
制御値格納部１４２は、第１の処理回路１１から第１の制御値が出力される度に、出力された第１の制御値を格納する。また、制御値格納部１４２は、第２の処理回路１２から第２の制御値が出力される度に、出力された第２の制御値を格納する。このため、制御値格納部１４２には、過去の複数の第１の制御値が格納され、過去の複数の第２の制御値が格納されている。
【００１９】
履歴正常範囲推定部１４３は、制御値格納部１４２に格納されている過去の複数の第１の制御値から制御値の正常値の範囲を推定する。制御値格納部１４２により推定される制御値の正常値の範囲を履歴正常範囲という。
履歴正常範囲推定部１４３は、制御値格納部１４２に格納されている過去の複数の第２の制御値から履歴正常範囲を推定してもよい。
【００２０】
故障診断部１４４は、第１の処理回路１１から第１の制御値を取得し、第２の処理回路１２から第２の制御値を取得する。
また、故障診断部１４４は、第１の制御値と第２の制御値とを比較する。第１の制御値と第２の制御値とが一致しない場合に、故障診断部１４４は、状態判定部１４１から状態正常範囲を取得し、履歴正常範囲推定部１４３から履歴正常範囲を取得する。そして、故障診断部１４４は、状態正常範囲と、第１の制御値及び第２の制御値の少なくともいずれかとの比較を行って、第１の処理回路１１及び第２の処理回路１２のいずれに異常が発生しているかを判定する。
より具体的には、故障診断部１４４は、状態正常範囲と第１の制御値との比較を行い、第１の制御値が状態正常範囲から外れる場合に、第１の処理回路に異常が発生していると判定する。一方、第１の制御値が状態正常範囲内である場合は、故障診断部１４４は、状態正常範囲と第２の制御値との比較を行う。そして、第２の制御値が状態正常範囲から外れる場合に、故障診断部１４４は、第２の処理回路に異常が発生していると判定する。一方、第２の制御値が状態正常範囲内である場合は、故障診断部１４４は、履歴正常範囲と第１の制御値との比較を行う。この結果、第１の制御値が履歴正常範囲から外れる場合に、故障診断部１４４は、第１の処理回路１１に異常が発生していると判定する。また、第１の制御値が履歴正常範囲内である場合は、故障診断部１４４は、第２の処理回路１２に異常が発生していると判定する。
故障診断部１４４は、正常と判定した処理回路を通知する正常通知信号をデータ選択回路１３に出力する。
故障診断部１４４は制御値取得部及び異常判定部に相当する。また、故障診断部１４４により行われる処理が制御値取得処理及び異常判定処理に相当する。
【００２１】
図１に示すように、データ選択回路１３及び故障診断装置１４は、異常判定装置に相当する。また、データ選択回路１３及び故障診断装置１４で行われる動作は異常判定方法に相当する。
【００２２】
＊＊＊動作の説明＊＊＊
次に、本実施の形態に係る車両制御システム１０の動作の概要を説明する。
【００２３】
ここでは、初期状態では第１の処理回路１１及び第２の処理回路１２が正常であったが、後に第１の処理回路１１に異常が発生した例を想定する。
初期状態では第１の処理回路１１及び第２の処理回路１２が正常である。このため、故障診断装置１４は、例えば、第１の処理回路１１が正常であることを通知する正常通知信号をデータ選択回路１３に出力する。データ選択回路１３は第１の処理回路１１からの第１の制御値を選択し、選択した第１の制御値をアクチュエータ２０に出力する。
第１の処理回路１１に異常が発生すると、第１の制御値が異常値になる。このため、故障診断装置１４は、第２の処理回路１２は正常であるが、第１の処理回路１１は異常であると判定する。そして、故障診断装置１４は、第２の処理回路１２が正常であることを通知する正常通知信号をデータ選択回路１３に出力する。データ選択回路１３は、正常通信信号に基づき、第１の処理回路１１からの第１の制御値を破棄し、第２の処理回路１２からの第２の制御値をアクチュエータ２０に出力する。
【００２４】
図２は、正常な制御値の時間推移の例を示す。なお、図２では、１秒に一度、第２の制御値が出力される例を示している。
【００２５】
まず、６秒時に第１の制御値と第２の制御値との不一致が発生したと仮定する。つまり、０秒時から５秒時までの第１の制御値と第２の制御値とは一致しており、第１の制御値及び第２の制御値は図２に示すとおりである。ここで、１つ前の値（５秒時）と、２つ前の値（４秒時）と、３つ前の値（３秒時）に着目する。３秒時の値は５６であり、４秒時の値は６１であり、５秒時の値は６３である。３秒時から４秒時での値の変化は＋５であり、４秒時から５秒時での値の変化は＋２である。このように、３秒時から５秒時の間は、値が比較的小さく変化しているため、６秒時の値は５秒時の値に対して、±５の範囲に収まると推測できる。
このような推測により、履歴正常範囲推定部１４３は、５秒時の値から±５の範囲を６秒時の値の履歴正常範囲として推定する。
故障診断部１４４は、６秒時の制御値が５秒時の制御値の±５の範囲から外れている場合に、６秒時の制御値が異常であると判定する。
次に、９秒時に第１の制御値と第２の制御値との不一致が発生したと仮定する。つまり、０秒時から８秒時までの第１の制御値と第２の制御値とは一致しており、第１の制御値及び第２の制御値は図２に示すとおりである。ここで、１つ前の値（８秒時）と、２つ前の値（７秒時）と、３つ前の値（６秒時）に着目する。６秒時の値は６０であり、７秒時の値は５０であり、８秒時の値は３０である。６秒時から７秒時での値の変化は−１０であり、７秒時から８秒時での値の変化は−２０である。このように、６秒時から８秒時では、３秒時から６秒時の値の変化に比べて、大きく値が変化している。このため、９秒時の値は８秒時の値に対して、±３０の範囲に収まると推測できる。
このような推測により、履歴正常範囲推定部１４３は、８秒時の値から±３０の範囲を９秒時の値の履歴正常範囲として推定する。
故障診断部１４４は、９秒時の制御値が８秒時の制御値の±３０の範囲から外れている場合に、９秒時の制御値が異常であると判定する。
【００２６】
このように、履歴正常範囲推定部１４３は、過去数回分の制御値から、正常値の範囲を履歴正常範囲として推定することができる。そして、故障診断部１４４は、履歴正常範囲に基づいて、異常が発生している処理回路を判定することができる。しかしながら、履歴正常範囲のみを用いた判定では、過去の制御値の推移からは大きく外れる制御値の急変が発生した場合に、故障診断部１４４は、正常値を異常値と誤認識してしまい、正常に動作している処理回路を異常と判定してしまう。
【００２７】
図２の１２秒時に第１の制御値と第２の制御値との不一致が発生した場合を考える。つまり、０秒時から１１秒時までの第１の制御値と第２の制御値とは一致しており、第１の制御値及び第２の制御値は図２に示すとおりである。ここで、１つ前の値（１１秒時）は０であり、２つ前の値（１０秒時）は３であり、３つ前の値（９秒時）は１０である。９秒時から１０秒時での値の変化は−７であり、１０秒時から１１秒時での値の変化は−３である。このため、１２秒時の値は１１秒時の値に対して±１０の範囲に収まると推測できる。
このような推測により、履歴正常範囲推定部１４３は、１１秒時の値から±１０の範囲を１２秒時の値の履歴正常範囲として推定する。
しかし、１２秒時の値は５６であるため、１１秒時の値から±１０の範囲には収まらない。従って、１２秒時の値である５６は正常値であるにもかからず、履歴正常範囲から外れるので、故障診断部１４４は、この５６を異常値と誤って判定してしまう。
このような誤判定を防ぐため、本実施の形態では状態判定部１４１が状態正常範囲を推定し、故障診断部１４４が状態正常範囲を用いて、第１の制御値及び第２の制御値が正常であるかどうかを判定する。
例えば、車両が駐車場を走行中は、急加速が発生する可能性が低いという特性がある。このため、状態判定部１４１は、この特性に合わせた状態正常範囲を推定する。また、例えば、車両が坂道登板中は、急加速が発生する可能性が高いという特性がある。このため、状態判定部１４１は、この特性に合わせた状態正常範囲を推定する。また、例えば、車両が高速道路を走行中は、急ハンドルが発生する可能性が低いという特性がある。このため、状態判定部１４１は、この特性に合わせた状態正常範囲を推定する。このように、状態判定部１４１は、車両の状態に適合する状態正常範囲を推定する。
状態判定部１４１は、車両の状態ごとに制御値の典型値を保持することで、車両の状態ごとに正確に状態正常範囲を推定することができる。
【００２８】
このように、本実施の形態に係る故障診断装置１４は、履歴正常範囲と状態正常範囲とを組み合わせて、異常が発生している処理回路を特定する。
【００２９】
次に、本実施の形態に係る故障診断装置１４の動作の詳細を説明する。
図３は、故障診断装置１４の動作例を示すフローチャートである。
【００３０】
故障診断部１４４が、第１の処理回路１１から第１の制御値を取得し、第２の処理回路１２から第２の制御値を取得する。そして、故障診断部１４４は、第１の制御値と第２の制御値とを比較する（ステップＳ１０１）。
【００３１】
第１の制御値と第２の制御値とが一致しない場合（ステップＳ１０１でＮＯ）は、故障診断部１４４は履歴正常範囲推定部１４３に履歴正常範囲の推定を指示し、履歴正常範囲推定部１４３が履歴正常範囲を推定する（ステップＳ１０２）。そして、履歴正常範囲推定部１４３は、履歴正常範囲を故障診断部１４４に通知する。
【００３２】
次に、故障診断部１４４は状態判定部１４１に状態正常範囲の推定を指示し、状態判定部１４１が状態正常範囲を推定する（ステップＳ１０３）。そして、状態判定部１４１は、状態正常範囲を故障診断部１４４に通知する。
なお、ステップＳ１０２とステップＳ１０３は順序が逆になってもよい。
【００３３】
次に、故障診断部１４４は、第１の制御値と状態正常範囲とを比較する（ステップＳ１０４）。
第１の制御値が状態正常範囲から外れる場合（ステップＳ１０４でＮＯ）は、故障診断部１４４は、第１の処理回路１１に異常が発生していると判定する（ステップＳ１０５）。そして、故障診断部１４４は、第２の処理回路１２が正常に動作していることを通知する正常通知信号をデータ選択回路１３に出力する。
【００３４】
一方、第１の制御値が状態正常範囲内であれば（ステップＳ１０４でＹＥＳ）、故障診断部１４４は、次に、第２の制御値と状態正常範囲とを比較する（ステップＳ１０６）。
第２の制御値が状態正常範囲から外れる場合（ステップＳ１０６でＮＯ）は、故障診断部１４４は、第２の処理回路１２に異常が発生していると判定する（ステップＳ１０７）。そして、故障診断部１４４は、第１の処理回路１１が正常に動作していることを通知する正常通知信号をデータ選択回路１３に出力する。
【００３５】
第２の制御値が状態正常範囲内であれば（ステップＳ１０６でＹＥＳ）は、故障診断部１４４は、次に、第１の制御値と履歴正常範囲とを比較する（ステップＳ１０８）。
第１の制御値が履歴正常範囲から外れる場合（ステップＳ１０８でＮＯ）は、故障診断部１４４は、第１の処理回路１１に異常が発生していると判定する（ステップＳ１０９）。そして、故障診断部１４４は、第２の処理回路１２が正常に動作していることを通知する正常通知信号をデータ選択回路１３に出力する。
一方、第１の制御値が履歴正常範囲内であれば（ステップＳ１０８でＹＥＳ）は、故障診断部１４４は、第２の処理回路１２に異常が発生していると判定する（ステップＳ１１０）。そして、故障診断部１４４は、第１の処理回路１１が正常に動作していることを通知する正常通知信号をデータ選択回路１３に出力する。
【００３６】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、車両の状態（駐車場走行中、坂道登板中、高速道路走行中等）に応じて状態正常範囲を推定し、状態正常範囲を用いて異常が発生している処理回路を判定する。このため、本実施の形態によれば、車両の状態に従って制御値が大きく変化する場合にも、異常が発生している処理回路を正確に判定することができる。
【００３７】
実施の形態２．
図４は、本実施の形態に係る車両制御システム１０の構成例を示す。図４の車両制御システム１０は、図１に示す車両制御システム１０と異なり、データ選択回路１３が正常制御値選択部１３１、平均値生成部１３２及び出力選択部１３３で構成されている。
【００３８】
正常制御値選択部１３１は、故障診断部１４４からの正常通知信号に従い、第１の制御値と第２の制御値とのうち、正常である制御値を選択する。そして、正常制御値選択部１３１は、選択した制御値を出力選択部１３３に出力する。
平均値生成部１３２は、第１の制御値と第２の制御値との平均値を生成し、生成した平均値を出力選択部１３３に出力する。
出力選択部１３３は、正常制御値選択部１３１から出力された制御値と平均値生成部１３２から出力された平均値とのうち、アクチュエータ２０に出力する制御値を選択する。より具体的には、出力選択部１３３は、故障診断部１４４から平均出力信号が出力された場合に、平均値生成部１３２からの平均値をアクチュエータ２０に出力する。
【００３９】
なお、本実施の形態では、故障診断部１４４は、状態正常範囲及び履歴正常範囲を用いた評価を行っても、第１の処理回路１１及び第２の処理回路１２のいずれにも異常が発生していないと判定した場合に、出力選択部１３３に平均出力信号を出力する。
例えば、図２の６秒時の第１の制御値と第２の制御値が不一致である場合に、車両の状態が駐車場走行中であれば、６秒時の値は５秒時の値に対して±５の範囲には収まると推定される。この場合に、第１の制御値及び第２の制御値がともに、±５の範囲に収まっている場合は、故障診断部１４４は第１の処理回路１１及び第２の処理回路１２のいずれにも異常が発生していないと判定する。そして、故障診断部１４４は出力選択部１３３に平均出力信号を出力する。
【００４０】
なお、本実施の形態では、出力選択部１３３が出力部に相当する。
また、図４では、図示を省略しているが、実施の形態１と同様に、データ選択回路１３及び故障診断装置１４が異常判定装置に相当する。また、故障診断部１４４が制御値取得部及び異常判定部に相当する。
【００４１】
図５は、本実施の形態に係る故障診断装置１４の動作例を示す。
【００４２】
図５においてステップＳ１０１からステップＳ１０９は、図３に示すものと同じであるため、説明を省略する。
ステップＳ１０８において第１の制御値が履歴正常範囲内であれば（ステップＳ１０８でＹＥＳ）、故障診断部１４４は、第２の制御値と履歴正常範囲とを比較する（ステップＳ１１０）。
【００４３】
第２の制御値が履歴正常範囲から外れる場合（ステップＳ１１０でＮＯ）は、故障診断部１４４は、第２の処理回路１２に異常が発生していると判定する（ステップＳ１１１）。そして、故障診断部１４４は第１の処理回路１１が正常に動作していることを通知する正常通知信号をデータ選択回路１３に出力する。
一方、第２の制御値が履歴正常範囲内であれば（ステップＳ１１０でＹＥＳ）は、故障診断部１４４は、故障診断部１４４は第１の処理回路１１及び第２の処理回路１２のいずれにも異常が発生していないと判定する。そして、故障診断部１４４は出力選択部１３３に平均出力信号を出力する（ステップＳ１１２）。
【００４４】
第１の処理回路１１及び第２の処理回路１２のいずれにも異常が発生していないと判定される場合には、第１の制御値と第２の制御値とのいずれが正しい値であるかが不明である。
本実施の形態では、第１の制御値と第２の制御値との平均値を出力することで、誤った値でアクチュエータ２０が制御されるリスクを軽減する。
【００４５】
実施の形態３．
＊＊＊構成の説明＊＊＊
図７は、本実施の形態に係る車両制御システム１０の構成例を示す。図７の車両制御システム１０では、故障診断部１４４は、第１の処理回路１１から出力される第１の自己診断情報と、第２の処理回路１２から出力される第２の自己診断情報を取得する。そして、故障診断部１４４は、第１の自己診断情報と第２の自己診断情報を異常診断に使用する。
このため、本実施の形態では、故障診断部１４４は、制御値取得部、異常判定部及び自己診断情報取得部に相当する。
【００４６】
また、本実施の形態では、第１の処理回路１１及び第２の処理回路１２は、機能安全（ＩＥＣ６１５０８、ＩＳＯ２６２６２など）に対応する自己診断機能が搭載されているマイクロコンピュータ又はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
本実施の形態では、第１の処理回路１１及び第２の処理回路１２は、自己診断機能として、例えばｂｉｔ反転チェック機能、ＢＩＳＴ（Ｂａｃｋｇｒｏｕｎｄ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｔｒａｎｓｆｅｒ  Ｓｅｒｖｉｃｅ）機能、クロック周期検査機能、電圧検査機能、温度検査機能及びデュアルコアロックステップ機能を実施することができる。
ｂｉｔ反転チェック機能では、メモリのｂｉｔ反転の有無が検査される。
ＢＩＳＴ機能では、処理回路（マイクロコンピュータ又はＣＰＵ）内の各機能にテスト値を入力し、入力後の各機能の動作が期待値と一致するか否かが判定されて、処理回路の正常／異常が検査される。
クロック周期検査機能では、処理回路（マイクロコンピュータ又はＣＰＵ）に入力されるクロック周波数が定格値を満たさないことが検出される。
電圧検査機能では、処理回路（マイクロコンピュータ又はＣＰＵ）に入力される電圧が処理回路の定格値を満たさないことが検出される。
温度検査機能では、現在の温度が処理回路（マイクロコンピュータ又はＣＰＵ）の定格温度を満たさないことが検出される。
デュアルコアロックステップ機能では、処理回路（マイクロコンピュータ又はＣＰＵ）内の二重化された演算回路が１クロックごとに同じ動作を行うかう否かが検査される。
【００４７】
図７の他の要素は、図１に示したものと同様であるため、説明を省略する。
本実施の形態では、主に実施の形態１との差異を説明する。
なお、以下で説明していない事項は、実施の形態１と同様である。
【００４８】
＊＊＊動作の説明＊＊＊
図８は、本実施の形態に係る故障診断装置１４の動作例を示す。
【００４９】
故障診断部１４４は、第１の処理回路１１から出力される第１の自己診断情報と、第２の処理回路１２から出力される第２の自己診断情報を取得する。
第１の自己診断情報には、第１の処理回路１１の自己診断機能を用いて行われた自己診断の結果が示される。第２の自己診断情報には、第２の処理回路１２の自己診断機能を用いて行われた自己診断の結果が示される。第１の処理回路１１は第１の自己診断情報を出力し続けている。また、第２の処理回路１２は第２の自己診断情報を出力し続けている。
【００５０】
故障診断部１４４は、第１の自己診断情報を解析し、第１の自己診断情報に異常発生通知が含まれているか否かを判定する（ステップＳ２０１）。第１の自己診断情報の異常発生通知は、第１の処理回路１１での異常の発生を通知する情報である。
第１の自己診断情報に異常発生通知が含まれている場合（ステップＳ２０１でＹＥＳ）は、故障診断部１４４は、第１の処理回路１１に異常が発生していると判定する（ステップＳ２０２）。
【００５１】
第１の自己診断情報に異常発生通知が含まれていない場合（ステップＳ２０１でＮＯ）は、故障診断部１４４は、第２の自己診断情報を解析し、第２の自己診断情報に異常発生通知が含まれているか否かを判定する（ステップＳ２０３）。第２の自己診断情報の異常発生通知は、第２の処理回路１２での異常の発生を通知する情報である。
第２の自己診断情報に異常発生通知が含まれている場合（ステップＳ２０３でＹＥＳ）は、故障診断部１４４は、第２の処理回路１２に異常が発生していると判定する（ステップＳ２０４）。
【００５２】
第２の自己診断情報に異常発生通知が含まれていない場合（ステップＳ２０３でＮＯ）は、故障診断部１４４は、第１の処理回路１１から第１の制御値を取得し、第２の処理回路１２から第２の制御値を取得し、第１の制御値と第２の制御値とを比較する（ステップＳ１０１）。
第１の制御値と第２の制御値とが一致しない場合（ステップＳ１０１でＮＯ）は、故障診断部１４４は、図３に示すステップＳ１０２からステップＳ１１０の処理を行う。
一方、第１の制御値と第２の制御値とが一致する場合（ステップＳ１０１でＹＥＳ）は、故障診断部１４４は、ステップＳ２０１以降の処理を行う。
【００５３】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、自己診断情報に異常発生通知が含まれていれば、自己診断情報の出力元の処理装置に異常が発生していると判定することができる。つまり、自己診断情報に異常発生通知が含まれていれば、実施の形態１及び実施の形態２に示した処理を省略することができる。このように、本実施の形態によれば、実施の形態１及び実施の形態２に比べて、より効率的に処理回路の異常判定を行うことができる。
【００５４】
実施の形態４．
＊＊＊構成の説明＊＊＊
図９は、本実施の形態に係る車両制御システム１０の構成例を示す。図９の車両制御システム１０では、故障診断部１４４は、第１の処理回路１１又は第２の処理回路１２に異常が発生した際に、異常が発生した処理回路に初期化通知を出力する。初期化通知は、異常が発生した処理回路に初期化処理を行わせる情報である。故障診断部１４４が第１の処理回路１１に出力する初期化通知を第１の初期化通知という。また、故障診断部１４４が第２の処理回路１２に出力する初期化通知を第２の初期化通知という。
更に、故障診断部１４４は、初期化通知の出力先の処理回路から復帰完了通知を取得する。復帰完了通知は、初期化通知の出力先の処理回路が初期化処理の後、他方の処理回路から取得した計算情報を用いて当該他方の処理回路と同じ計算が可能になった際に、初期化通知の出力先の処理回路が正常な状態に復帰したことを通知する情報である。第１の処理回路１１が出力する復帰完了通知を第１の復帰完了通知という。また、第２の処理回路１２が出力する復帰完了通知を第２の復帰完了通知という。
本実施の形態では、故障診断部１４４は、制御値取得部、異常判定部及び処理回路復帰部に相当する。
【００５５】
また、本実施の形態では、第１の処理回路１１は、初期化処理の後、第２の処理回路１２から第２の処理回路計算情報を取得する。第２の処理回路計算情報では、第２の処理回路１２での現在の計算状態が通知される。第１の処理回路１１は、第２の処理回路計算情報を用いて第２の処理回路１２と同じ計算を開始する。第１の処理回路１１は、第２の処理回路１２と同じ計算を行うことができるようになった際に、故障診断部１４４に第１の復帰完了通知を出力する。
第２の処理回路１２は、初期化処理の後、第１の処理回路１１から第１の処理回路計算情報を取得する。第１の処理回路計算情報では、第１の処理回路１１での現在の計算状態が通知される。第２の処理回路１２は、第１の処理回路計算情報を用いて第２の処理回路１１と同じ計算を開始する。第２の処理回路１２は、第１の処理回路１１と同じ計算を行うことができるようになった際に、故障診断部１４４に第２の復帰完了通知を出力する。
【００５６】
図９の他の要素は、図１に示したものと同様であるため、説明を省略する。
本実施の形態では、主に実施の形態１との差異を説明する。
なお、以下で説明していない事項は、実施の形態１と同様である。
【００５７】
＊＊＊動作の説明＊＊＊
図１０は、本実施の形態に係る故障診断装置１４の動作例を示す。
より具体的には、図１０は、第１の処理回路１１又は第２の処理回路１２の異常を検知した後の故障診断部１４４の動作例を示す。
【００５８】
実施の形態１、実施の形態２及び実施の形態３のいずれかの方法により、故障診断部１４４が第１の処理回路１１に異常が発生していることを検知した場合（ステップＳ３０１でＹＥＳ）に、故障診断部１４４は、第１の処理回路１１に第１の初期化通知を出力する（ステップＳ３０２）。
そして、故障診断部１４４は、第１の処理回路１１からの第１の復帰完了通知の受信を待ち、第１の処理回路１１から第１の復帰完了通知を受信した場合（ステップＳ３０３でＹＥＳ）に、故障診断部１４４は処理を終了する。
【００５９】
また、実施の形態１、実施の形態２及び実施の形態３のいずれかの方法により、故障診断部１４４が第２の処理回路１２に異常が発生していることを検知した場合（ステップＳ３０４でＹＥＳ）に、故障診断部１４４は、第２の処理回路１２に第２の初期化通知を出力する（ステップＳ３０５）。
そして、故障診断部１４４は、第２の処理回路１２からの第２の復帰完了通知の受信を待ち、第２の処理回路１２から第２の復帰完了通知を受信した場合（ステップＳ３０６でＹＥＳ）に、故障診断部１４４は処理を終了する。
【００６０】
なお、故障診断部１４４は、第１の初期化通知（又は第２の初期化通知）を出力した後、第１の復帰完了通知（又は第２の復帰完了通知）を受信するまでの間は、実施の形態１−３と同様に、データ選択回路１３に対して、正常に動作している処理回路を通知する正常通知信号を出力する。データ選択回路１３は、正常通知信号に従い、正常に動作している処理回路の制御値をアクチュエータ２０に出力する。
また、故障診断部１４４は、第１の復帰完了通知（又は第２の復帰完了通知）を受信した後は、データ選択回路１３に対して、第１の処理回路１１と第２の処理回路１２の両方が正常に動作していることを通知する正常通知信号を出力する。
【００６１】
図１１は、本実施の形態に係る第１の処理回路１１及び第２の処理回路１２の動作例を示す。より具体的には、図１１は、異常が発生した処理回路の動作例を示す。
なお、以下では、第１の処理回路１１の動作として説明するが、第２の処理回路１２の動作も以下に示す通りである。
【００６２】
第１の処理回路１１は、故障診断部１４４から第１の初期化通知を受信した場合（ステップＳ４０１でＹＥＳ）に、リセットなどにより第１の処理回路１１の初期化処理を行う（ステップＳ４０２）。
なお、第１の処理回路１１が自らの制御により初期化処理を開始してもよいし、第１の初期化通知が初期化処理を開始させる信号となっていてもよい。
【００６３】
次に、第１の処理回路１１は、初期化処理が完了すると（ステップＳ４０３でＹＥＳ）、第２の処理回路１２から、第２の処理回路１２の計算情報（第２の処理回路計算情報）を読み出す（ステップＳ４０４）。第２の処理回路計算情報には、第２の処理回路１２の現在の計算状態、すなわち、第２の処理回路１２が現在行っている計算の詳細が示される。
第２の処理回路計算情報の読み出しが完了した場合（ステップＳ４０５でＹＥＳ）に、第１の処理回路１１は、第２の処理回路計算情報を用いて第２の処理回路１２と同じ計算を開始する（ステップＳ４０６）。
そして、第１の処理回路１１は、第１の復帰完了通知を故障診断部１４４に出力する（ステップＳ４０７）。
【００６４】
＊＊＊実施の形態の効果の説明＊＊＊
実施の形態１−３の構成では、第１の処理回路と第２の処理回路のいずれかで異常が発生した場合に、第１の処理回路と第２の処理回路の両方が正常に動作する状態に戻すためには、一旦車両制御システムを停止し、メンテナンスを行うことが必要である。
しかし、異常が一時的なものである場合は、リセットなどにより処理回路を初期化するだけで、処理回路が正常な状態に戻る可能性がある。
本実施の形態では、動作中に異常が発生した処理回路の初期化を行うことができる。このため、本実施の形態によれば、車両制御システムを停止しなくても、第１の処理回路と第２の処理回路の両方が正常な状態に戻すことが可能である。
【００６５】
以上では、故障診断装置１４をＦＰＧＡ、ＣＰＬＤ、ＡＳＩＣ等のＬＳＩで実現する例を説明した。これに代えて、図６に示すように、故障診断装置１４をプロセッサ９０１、メモリ９０２及び補助記憶装置９０３を用いてプログラムにより実現してもよい。
つまり、状態判定部１４１、履歴正常範囲推定部１４３及び故障診断部１４４の機能を実現するプログラムをプロセッサ９０１が実行することで、プロセッサ９０１が上述の状態判定部１４１、履歴正常範囲推定部１４３及び故障診断部１４４の動作を行うようにしてもよい。
状態判定部１４１、履歴正常範囲推定部１４３及び故障診断部１４４の機能を実現するプログラムは、補助記憶装置９０３に記憶され、メモリ９０２にロードされる。そして、プロセッサ９０１がメモリ９０２からプログラムを読込み、プログラムを実行する。
また、制御値格納部１４２は、例えば、メモリ９０２又は補助記憶装置９０３により実現される。
状態判定部１４１、履歴正常範囲推定部１４３及び故障診断部１４４の機能を実現するプログラムは、異常判定プログラムに相当する。
状態判定部１４１、履歴正常範囲推定部１４３及び故障診断部１４４の機能を実現するプログラムの機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記憶媒体に記憶されてもよい。
また、状態判定部１４１、履歴正常範囲推定部１４３及び故障診断部１４４の「部」を、「工程」又は「手順」又は「処理」に読み替えてもよい
【００６６】
プロセッサ９０１は、例えば、ＣＰＵ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）である。
メモリ９０２は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
補助記憶装置９０３は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。
なお、本明細書では、プロセッサ９０１と、プロセッサ９０１とメモリ９０２と補助記憶装置９０３の組合せと、ＬＳＩ等の処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサ９０１と、プロセッサ９０１とメモリ９０２と補助記憶装置９０３の組合せと、処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
【００６７】
以上、本発明の実施の形態について説明したが、これら２つの実施の形態を組み合わせて実施しても構わない。
あるいは、これら２つの実施の形態のうち、１つを部分的に実施しても構わない。
あるいは、これら２つの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【００６８】
１０  車両制御システム、１１  第１の処理回路、１２  第２の処理回路、１３  データ選択回路、１４  故障診断装置、２０  アクチュエータ、１３１  正常制御値選択部、１３２  平均値生成部、１３３  出力選択部、１４１  状態判定部、１４２  制御値格納部、１４３  履歴正常範囲推定部、１４４  故障診断部。
【図１】
0006599054.tif 000002
【図２】
0006599054.tif 000003
【図３】
0006599054.tif 000004
【図４】
0006599054.tif 000005
【図５】
0006599054.tif 000006
【図６】
0006599054.tif 000007
【図７】
0006599054.tif 000008
【図８】
0006599054.tif 000009
【図９】
0006599054.tif 000010
【図１０】
0006599054.tif 000011
【図１１】
0006599054.tif 000012