(57)【特許請求の範囲】
【請求項１】
複数のセンサモジュールと、複数の機能モジュールと、前記機能モジュールを統括する統括機能モジュールと、から少なくとも構成される電子制御システムにおいて、
前記機能モジュールは、
他の前記機能モジュールと協調することなく、センサモジュールからの入力値を基に自らの機能に応じてアクチュエータに対する指令値を決定し、前記統括機能モジュールに出力する手段と、
自らが故障した場合、自らが異常であることを前記統括機能モジュールに通知する手段と、
を具備し、
前記統括機能モジュールは、
前記機能モジュール同士のいずれが優先されて実行されるかを示す優先関係が定義された優先順位テーブルを保持する手段と、
前記機能モジュールから入力された指令値のうち、前記優先関係が高い前記機能モジュールからの指令値を採用する指令値採用手段と、
前記指令値採用手段によって採用された指令値を前記アクチュエータに出力する手段と、
を具備し、
前記指令値採用手段は、前記機能モジュールから異常であることを通知された場合には、異常であると通知された前記機能モジュールからの指令値、および異常であると通知された前記機能モジュールよりも前記優先関係が低い前記機能モジュールからの指令値を採用しないことを特徴とする電子制御システム。
【請求項２】
前記指令値採用手段は、前記センサモジュールから異常であることを通知された場合には、異常であると通知された前記センサモジュールからの入力値を用いる前記機能モジュールからの指令値を採用しないことを特徴とする請求項１に記載の電子制御システム。
【請求項３】
前記優先関係は、複数の優先順位を組み合わせて定義されたものであることを特徴とする請求項１または請求項２に記載の電子制御システム。
【請求項４】
前記優先関係は、フェールセーフ設計によって前記機能モジュールを順位付けした第１の優先順位と、前記第１の優先順位が同一である前記機能モジュール群の中からフォールトトレランス設計によって前記機能モジュールを順位付けした第２の優先順位と、を含むものであることを特徴とする請求項３に記載の電子制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機能モジュールで構成される電子制御システムに関する。
【背景技術】
【０００２】
近年、商用車の電子制御システムが増加、高度化している（非特許文献１参照）。非特許文献１でも述べられているように、現状の商用車に搭載されている複数の機能モジュールは、それぞれ他の機能モジュールと協調するロジックを内包している。従って、（ｉ）全体として統制が取れているかどうかの検証、（ii）新たな機能モジュールを追加する場合における他の機能モジュールに内包されている協調ロジックの修正、といった作業が非常に困難になっているという問題がある。
【０００３】
一方、ロボット制御の分野では、近年、サブサンプション・アーキテクチャ（ＳＡ）というソフトウェア、ハードウェアの区分を超越した新しい処理形態が注目されている（非特許文献２）。ＳＡは、１９８６年に当時マサチューセッツ工科大学の助教授であったブルックス博士が発表したものである。
【０００４】
ＳＡを商用車の電子制御システムに適用すると、各機能モジュールを並列的に構成することになる。そして、複数の機能モジュールが同時に起動された場合には、各機能モジュールとは独立した何らかの仕組みによって、いずれの機能モジュールの指令を優先するかという優先順位に従って制御が行われる。このように、各機能モジュールは協調ロジックを内包しないことから、前述の問題点を解消することができる。
【非特許文献１】森川倫仁著、「商用車の電子制御システムのあるべき姿に関する一考察−フォールトトレランスに注目して−」、電子情報通信学会技術研究報告  ＳＳＳ２００２−２０，ｐｐ．５〜８、２００２年１０月．
【非特許文献２】五味隆志著、「サブサンプション・アーキテクチャ」、日本ファジイ学会  Ｖｏｌ．７，Ｎｏ．５，ｐｐ．９０９〜９３０、１９９５年１０月．
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献２では、障害時の対応については具体的な記載がない。非特許文献１でも述べているように、電子制御システムにおいては万一故障したときの安全性確保が不可欠であるとともに、商用車においては、特に運行継続性の確保が重要である。従って、ＳＡを商用車の電子制御システムに適用した場合、障害時の対応をいかに行うかということが課題となる。
【０００６】
本発明は、前述した問題点に鑑みてなされたもので、その目的は、各機能モジュールが並列に構成され、安全性および運行継続性が確保された障害時の対応が可能な電子制御システムを提供することである。
【課題を解決するための手段】
【０００７】
前述した目的を達成するために第１の発明は、複数の機能モジュールと、前記機能モジュールを統括する統括機能モジュールと、から少なくとも構成される電子制御システムにおいて、前記機能モジュールは、他の前記機能モジュールと協調することなく、センサモジュールからの入力値を基に自らの機能に応じてアクチュエータに対する指令値を決定し、前記統括機能モジュールに出力する手段と、自らが故障した場合、自らが異常であることを前記統括機能モジュールに通知する手段と、を具備し、前記統括機能モジュールは、前記機能モジュール同士のいずれが優先されて実行されるかを示す優先関係が定義された優先順位テーブルを保持する手段と、前記機能モジュールから入力された指令値のうち、前記優先関係が高い前記機能モジュールからの指令値を採用する指令値採用手段と、前記指令値採用手段によって採用された指令値を前記アクチュエータに出力する手段と、を具備し、前記指令値採用手段は、前記機能モジュールから異常であることを通知された場合には、異常であると通知された前記機能モジュールからの指令値、および異常であると通知された前記機能モジュールよりも前記優先関係が低い前記機能モジュールからの指令値を採用しないことを特徴とする電子制御システムである。第１の発明における電子制御システムでは、各機能モジュールが並列に構成され、安全性および運行継続性が確保された障害時の対応ができる。
【０００８】
第１の発明における前記指令値採用手段は、前記センサモジュールから異常であることを通知された場合には、異常であると通知された前記センサモジュールからの入力値を用いる前記機能モジュールからの指令値を採用しないものであっても良い。
【０００９】
また、第１の発明における前記優先関係は、複数の優先順位を組み合わせて定義されたものであることが望ましい。複数の優先順位を組み合わせて定義することで、優先関係を正確に定義できるとともに、複雑な優先関係がある場合であっても統括機能モジュールの処理は単純になる。
【００１０】
また、第１の発明における前記優先関係は、フェールセーフ設計によって前記機能モジュールを順位付けした第１の優先順位と、前記第１の優先順位が同一である前記機能モジュール群の中からフォールトトレランス設計によって前記機能モジュールを順位付けした第２の優先順位と、を含むものであっても良い。このような優先関係を定義することで、電子制御システムの安全性および運行継続性が十分に確保される。
【発明の効果】
【００１１】
本発明により、各機能モジュールが並列に構成され、安全性および運行継続性が確保された障害時の対応が可能な電子制御システムを提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下図面に基づいて、本発明の実施形態を詳細に説明する。
図１は、本発明の実施の形態に係る電子制御システム１の概略構成を示す図である。電子制御システム１は、サブサンプション・アーキテクチャ（以下、「ＳＡ」と記載する。）を適用し、各機能モジュールを並列的に構成する。
【００１３】
図１に示すように、電子制御システム１は、複数のセンサ３、複数のセンサ異常判定装置５、複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）７、複数のＥＣＵ異常判定装置９、統括ＥＣＵ１１、複数のアクチュエータ１３等から構成される。各装置は、必要があれば、例えば、車載ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）（図示しない）等を介して接続される。また、図中の矢印は、電子制御システム１における情報の流れを模式的に示している。但し、矢印で示した以外の経路でも、情報が伝達されることはある。
【００１４】
センサ３とセンサ異常判定装置５とは、一対一で対応している。センサ３とセンサ異常判定装置５とによって、特定の情報をセンシングするセンサモジュールを構成する。同様に、ＥＣＵ７とＥＣＵ異常判定装置９とは、一対一で対応している。ＥＣＵ７とＥＣＵ異常判定装置９とによって、特定の機能を実行する機能モジュールを構成する。
【００１５】
センサ３は、例えば、車速をセンシングする車速センサ、前輪の負荷をセンシングする前輪負荷センサ、前方の障害物をセンシングする前方障害物センサ、転舵角をセンシングする転舵角センサ等である。電子制御システム１は、目的に合致したセンサ３を構成に含めることによって、ＥＣＵ７が必要とする様々な情報をセンシングすることができる。
【００１６】
センサ異常判定装置５は、対応するセンサ３が異常であるかどうかを判定し、異常と判定した場合、異常通知を出力する。
【００１７】
ＥＣＵ７は、運転状態、車両状態、周辺環境状態など様々な条件に対して、自らの機能を達成するためのアクチュエータ１３に対する最適な指令値を予め記憶している。そして、ＥＣＵ７は、センサモジュールからの入力値を基に自らの機能に応じてアクチュエータ１３に対する指令値を決定し、出力する。ここで、ＥＣＵ７が入力する情報は、他の機能モジュールからの情報は一切含まない。すなわち、ＥＣＵ７は、他の機能モジュールと協調することなく、アクチュエータ１３に対する指令値を決定する。
【００１８】
ＥＣＵ異常判定装置９は、対応するＥＣＵ７が異常であるかどうかを判定し、異常と判定した場合、異常通知を出力する。
【００１９】
統括ＥＣＵ１１は、電子制御システム１を統括する。すなわち、統括ＥＣＵ１１は、各機能モジュールの機能が円滑に実行されるように、電子制御システム１全体を制御する。また、図示はしていないが、電子制御システム１は、統括ＥＣＵ１１が異常であるかどうかを判定する異常判定装置を構成に含めても良い。また、図示はしていないが、電子制御システム１は、バックアップ用として、統括ＥＣＵ１１と同等の装置を構成に含めても良い。統括ＥＣＵ１１と、必要があれば、異常判定装置、バックアップ用の装置とによって、電子制御システム１を統括する統括機能モジュールを構成する。
【００２０】
アクチュエータ１３は、例えば、車速等各種のメータを表示する表示装置、警告音を出力する警告音出力装置、ブレーキを制御するブレーキ制御装置、転舵角を制御する転舵角制御装置等である。電子制御システム１は、各ＥＣＵ７の機能に合致したアクチュエータ１３を構成に含めることによって、ＥＣＵ７の機能を実現することができる。
【００２１】
センサ３等によって構成されるセンサモジュールと、ＥＣＵ７等によって構成される機能モジュールとは、ｍ対ｎ（ｍ、ｎは自然数）で対応している。また、機能モジュールと、統括ＥＣＵ１１等で構成される統括機能モジュールとは、ｎ対１で対応している。また、統括機能モジュールと、アクチュエータ１３とは、１対ｋ（ｋは自然数）で対応している。
【００２２】
次に、図２を参照しながら、電子制御システム１を構成する装置間の通信について説明する。
図２は、装置間の通信を示す図である。
【００２３】
図２に示すように、センサ３は、センサ異常判定装置５にセンサ値ａを送信する。センサ値ａは、例えば、送信直前にセンシングした値である。センサ３は、例えば、センサ異常判定装置５からの問い合わせに応答する形で、センサ値ａを送信しても良い。また、センサ３は、例えば、自らが正常に稼動していることを示す信号を継続的にセンサ異常判定装置５に送信するようにしても良い。
【００２４】
センサ異常判定装置５は、ＥＣＵ７にセンサ値ｂを送信する。センサ値ｂは、ＥＣＵ７が処理をし易い形に加工したものが望ましい。
【００２５】
また、センサ異常判定装置５は、統括ＥＣＵ１１にセンサ３が異常であることの通知、すなわち異常通知ｃを送信する。異常通知ｃは、センサ３が故障したときに送信される。尚、センサ３が故障から復旧した場合、センサ異常判定装置５は、統括ＥＣＵ１１にセンサ３が正常であることの通知を送信するようにしても良い。
【００２６】
例えば、センサ異常判定装置５は、対応するセンサ３が出力するセンサ値ａが、予め設定したセンサ値の許容範囲外（例えば、上限値を上回る、下限値を下回る等）の場合、対応するセンサ３が故障したと判断し、異常と判定する。また、例えば、センサ異常判定装置５は、対応するセンサ３が所定のタイミング（例えば、センサ異常判定装置５が所定の時間だけポーリングし、センサ３に問い合わせる等）にセンサ値ａを出力しない場合、対応するセンサ３が故障したと判断し、異常と判定する。また、例えば、対応するセンサ３が、自らが正常に稼動していることを示す信号を継続的にセンサ異常判定装置５に送信するように構成する場合、センサ異常判定装置５は、当該信号が所定の期間経過しても送信されないときに、対応するセンサ３が故障したと判断し、異常と判定するようにしても良い。
【００２７】
ＥＣＵ７は、ＥＣＵ異常判定装置９に指令値ｄを送信する。指令値ｄは、直前に受信したセンサ値を基に決定した値であり、ＮＵＬＬの場合（すなわち、あるアクチュエータ１３に対しては、何ら指令をしない場合）も含む。また、ＥＣＵ７は、例えば、自らが正常に稼動していることを示す信号を継続的にＥＣＵ異常判定装置９に送信するようにしても良い。
【００２８】
ＥＣＵ異常判定装置９は、統括ＥＣＵ１１に指令値ｅを送信する。指令値ｅは、ＮＵＬＬの場合（すなわち、あるアクチュエータ１３に対しては、何ら指令をしない場合）も含む。
【００２９】
また、ＥＣＵ異常判定装置９は、統括ＥＣＵ１１にＥＣＵ７が異常であることの通知、すなわち異常通知ｆを送信する。異常通知ｆは、ＥＣＵ７が故障したときに送信される。尚、ＥＣＵ７が故障から復旧した場合、ＥＣＵ異常判定装置９は、統括ＥＣＵ１１にＥＣＵ７が正常であることの通知を送信するようにしても良い。
【００３０】
例えば、ＥＣＵ異常判定装置９は、対応するＥＣＵ７が出力する指令値ｄが、予め設定した指令値の許容範囲外（例えば、上限値を上回る、下限値を下回る等）の場合、対応するＥＣＵ７が故障したと判断し、異常と判定する。また、例えば、ＥＣＵ異常判定装置９は、対応するＥＣＵ７が所定のタイミング（例えば、ＥＣＵ異常判定装置９が所定の時間だけポーリングし、ＥＣＵ７に問い合わせる等）に指令値ｄを出力しない場合、対応するＥＣＵ７が故障したと判断し、異常と判定する。また、例えば、対応するＥＣＵ７が、自らが正常に稼動していることを示す信号を継続的にＥＣＵ異常判定装置９に送信するように構成する場合、ＥＣＵ異常判定装置９は、当該信号が所定の期間経過しても送信されないときに、対応するＥＣＵ７が故障したと判断し、異常と判定するようにしても良い。
【００３１】
統括ＥＣＵ１１は、アクチュエータ１３に指令値ｇを送信する。あるアクチュエータ１３に対しては何ら指令をする必要がない場合、そのアクチュエータ１３に対する指令値ｇは、送信しないようにしても良い。
【００３２】
次に、図３、図４を参照しながら、ＥＣＵ７、統括ＥＣＵ１１の構成について説明する。
【００３３】
図３は、ＥＣＵ７の構成を示すブロック図である。図３に示すように、ＥＣＵ７は、センサ値入力手段１５、指令値決定手段１７、指令値出力手段１９等を具備する。
【００３４】
センサ値入力手段１５は、ＥＣＵ７がセンサモジュールから受信したセンサ値ｂを入力する。
【００３５】
指令値決定手段１７は、センサ値入力手段１５から入力したセンサ値ｂを条件として、自らの機能を達成するためのアクチュエータ１３に対する最適な指令値ｄを決定する。尚、入力したセンサ値ｂ、すなわち運転状態、車両状態、周辺環境状態などの状況によっては、自らの機能の実行条件に該当しない場合もある。その場合、指令値決定手段１７は、例えば、指令値をＮＵＬＬ（各アクチュエータ１３に対して何ら指令をしないことを意味する。）に決定しても良い。ここで、指令値決定手段１７は、他のＥＣＵ７と通信を行うことはしない。すなわち、指令値決定手段１７には、他のＥＣＵ７と協調するロジックは含まれない。
【００３６】
指令値出力手段１９は、指令値決定手段１７によって決定された指令値ｄを機能統括モジュールに出力する。
【００３７】
尚、図３では、３つの手段を示した。しかしながら、ＳＡの処理形態は、入力−処理−出力という従来のコンピュータの基本的な考え方と異なり、感知−反応というダイレクトなものである。従って、図３に示すように手段を分けたことは、説明のための便宜に過ぎない。
【００３８】
図４は、統括ＥＣＵ１１の構成を示すブロック図である。図４に示すように、統括ＥＣＵ１１は、指令値入力手段２１、異常通知入力手段２３、指令値採用手段２５、採用指令値出力手段２７、優先順位テーブル２９等を具備する。
【００３９】
指令値入力手段２１は、統括ＥＣＵ１１が機能モジュールから受信した指令値ｅを入力する。
【００４０】
異常通知入力手段２３は、統括ＥＣＵ１１がセンサモジュールから受信した異常通知ｃ、または機能モジュールから受信した異常通知ｆを入力する。
【００４１】
指令値採用手段２５は、機能モジュールから入力された指令値ｅのうち、優先関係が高い機能モジュールからの指令値ｅを採用する。また、指令値採用手段２５は、機能モジュールから異常であることを通知された場合には、異常であると通知された機能モジュールからの指令値ｅ、および異常であると通知された機能モジュールよりも優先関係が低い機能モジュールからの指令値ｅを採用しない。更に、指令値採用手段２５は、センサモジュールから異常であることを通知された場合には、異常であると通知されたセンサモジュールからの入力値を用いる機能モジュールからの指令値ｅを採用しないようにしても良い。
【００４２】
採用指令値出力手段２７は、指令値採用手段２５によって採用された指令値ｇをアクチュエータ１３に出力する。
【００４３】
優先順位テーブル２９は、機能モジュール同士のいずれが優先されて実行されるかを示す優先関係が定義されている。例えば、機能モジュール（Ａ）と機能モジュール（Ｂ）との関係において、機能モジュール（Ａ）が優先されて実行される場合、機能モジュール（Ａ）は機能モジュール（Ｂ）よりも優先関係が高い。
【００４４】
また、優先順位テーブル２９に定義される優先関係は、複数の優先順位を組み合わせて定義されたものであることが望ましい。ここで、個々の優先順位は、様々な設計思想を反映することができる。例えば、優先関係は、フェールセーフ設計によって機能モジュールを順位付けした第１の優先順位と、第１の優先順位が同一である機能モジュール群の中からフォールトトレランス設計によって機能モジュールを順位付けした第２の優先順位と、を含むものとしても良い。このような優先関係を定義することで、電子制御システム１の安全性および運行継続性が十分に確保される。
尚、フェールセーフ設計とは、システムに障害が発生した場合、常に安全側に制御するように設計することをいう。また、フォールトトレランス設計とは、システムの一部に問題が生じても全体が機能停止せず、たとえ機能を縮小しても動作し続けるように設計することをいう。
【００４５】
次に、図５を参照しながら、統括ＥＣＵ１１の動作の詳細について説明する。図５は、統括ＥＣＵ１１の処理の流れを示すフローチャートである。以下では、優先順位テーブル２９に定義された優先関係は、優先順位Ａと優先順位Ｂの２種類の組み合わせによるものとする。優先順位Ｂは、例えば、同一の機能を有する機能モジュールの中での順位付けである。優先順位Ａは、例えば、異なる機能を有する機能モジュール同士の順位付けである。
【００４６】
図５に示すように、統括ＥＣＵ１１は、指令値入力手段２１によって指令値ｅ、異常通知入力手段２３によって異常通知ｃ、異常通知ｆを入力する（ステップ１０１）。
【００４７】
次に、統括ＥＣＵ１１は、異常があるかどうか確認する（ステップ１０２）。
異常がある場合（ステップ１０２のＹｅｓ）、統括ＥＣＵ１１は、異常扱いとする機能モジュールを決定する（ステップ１０３）。すなわち、異常通知ｆを入力した場合、統括ＥＣＵ１１は、異常であると通知された機能モジュールを異常扱いとする。また、異常通知ｃを入力した場合、統括ＥＣＵ１１は、異常であると通知されたセンサモジュールからのセンサ値ｂを用いる機能モジュールを異常扱いとする。
異常がない場合（ステップ１０２のＮｏ）、統括ＥＣＵ１１は、ステップ１０４に進む。
【００４８】
次に、統括ＥＣＵ１１は、優先順位テーブル２９を参照し、優先順位Ａごとの代表機能モジュールを決定する（ステップ１０４）。
【００４９】
ここで、図６を参照し、ステップ１０４の処理を詳細に説明する。図６は、優先順位Ａごとの代表機能モジュールの決定について説明する図である。図６では、優先順位Ｂとして１位〜３位の機能モジュールが存在する場合を示している。すなわち、優先順位Ａが同一の機能モジュールが３つ存在し、優先順位Ｂによって順位付けがなされている。図に示す「○」は、当該順位に係る機能モジュールが正常であることを示している。一方、図に示す「×」は、当該順位に係る機能モジュールが異常であることを示している。「代表機能モジュール」の欄に示された順位は、優先順位Ｂの順位である。
【００５０】
例えば、優先順位Ｂが１位、２位、３位の全ての機能モジュールが正常の場合、代表機能モジュールは、優先順位Ｂが１位の機能モジュールとなる。
また、例えば、優先順位Ｂが１位の機能モジュールが異常、優先順位Ｂが２位、３位の機能モジュールが正常の場合、代表機能モジュールは、優先順位Ｂが２位の機能モジュールとなる。
また、例えば、優先順位Ｂが１位、２位の機能モジュールが異常、優先順位Ｂが３位の機能モジュールが正常の場合、代表機能モジュールは、優先順位Ｂが３位の機能モジュールとなる。
また、例えば、優先順位Ｂが１位、２位、３位の全ての機能モジュールが異常の場合、代表機能モジュールはなしとなる。
【００５１】
図５の説明に戻る。次に、統括ＥＣＵ１１は、優先順位テーブル２９を参照し、出力する指令値ｇの決定に用いる機能モジュールを決定する（ステップ１０５）。
【００５２】
ここで、図７を参照し、ステップ１０５の処理を詳細に説明する。図７は、出力する指令値ｇの決定に用いる機能モジュールの決定について説明する図である。図７では、優先順位Ａとして１位〜４位の代表機能モジュールが決定されている場合（代表機能モジュールがなしの場合を含む。）を示している。図に示す「○」は、当該順位に係る代表機能モジュールが存在することを示している。一方、図に示す「×」は、当該順位に係る代表機能モジュールがなしであることを示している。「指令値ｇの決定に用いる機能モジュール」の欄に示された順位は、優先順位Ａの順位である。
尚、優先順位Ａが１位の代表機能モジュールが存在しない場合、指令値ｇが決定されることはない。この場合、電子制御システム１は、何らかの手段によって運行を安全に停止する。従って、優先順位Ａが１位の代表機能モジュールが存在しない場合を考慮する必要がないことから、図７に示す優先順位Ａが１位の欄には「×」の例がない。
【００５３】
例えば、優先順位Ａが１位、２位、３位、４位の全ての代表機能モジュールが存在する場合、指令値ｇの決定に用いる機能モジュールは、優先順位Ａが１位、２位、３位、４位の代表機能モジュールとなる。
また、例えば、優先順位Ａが１位、２位、３位の代表機能モジュールが存在し、優先順位Ａが４位の代表機能モジュールが存在しない場合、指令値ｇの決定に用いる機能モジュールは、優先順位Ａが１位、２位、３位の代表機能モジュールとなる。
また、例えば、優先順位Ａが１位、２位、４位の代表機能モジュールが存在し、優先順位Ａが３位の代表機能モジュールが存在しない場合、指令値ｇの決定に用いる機能モジュールは、優先順位Ａが１位、２位の代表機能モジュールとなる。
また、例えば、優先順位Ａが１位、３位、４位の代表機能モジュールが存在し、優先順位Ａが２位の代表機能モジュールが存在しない場合、指令値ｇの決定に用いる機能モジュールは、優先順位Ａが１位の代表機能モジュールとなる。
【００５４】
このように、統括ＥＣＵ１１は、機能モジュールから異常であることを通知された場合には、異常であると通知された機能モジュールからの指令値、および異常であると通知された機能モジュールよりも優先関係が低い機能モジュールからの指令値を採用しない。
【００５５】
図５の説明に戻る。次に、統括ＥＣＵ１１は、出力する指令値ｇを決定する（ステップ１０６）。ステップ１０５の処理において、複数の代表機能モジュールが、指令値ｇの決定に用いる機能モジュールとして決定されると、同一のアクチュエータ１３に対する指令値が複数存在し、競合する場合がある。この場合、当然ながら、優先関係が高い代表機能モジュールからの指令値を採用し、出力する指令値ｇとして決定する。一方、競合していない場合、優先関係が一番低い代表機能モジュールからの指令値であっても採用し、出力する指令値ｇとして決定するようにしても良い。決定した指令値ｇは、採用指令値出力手段２７によって、各アクチュエータ１３に出力される。
【００５６】
次に、統括ＥＣＵ１１は、所定の時間ポーリングし（ステップ１０７）、ステップ１０１から繰り返す。尚、ポーリングする所定の時間は、電子制御システム１の周辺環境等の反応と比して、十分短いものである。
【実施例】
【００５７】
次に、図８、図９を参照しながら、本発明の実施の形態に係る実施例について説明する。本実施例は、「自動操舵」の電子制御システムである。図８は、実施例に係る優先順位テーブル２９ａを示す図である。
【００５８】
図８に示すように、優先順位テーブル２９ａでは、４つの機能モジュールが存在する。機能の種類は、Ｌｅｖｅｌ０「人や車との衝突を避ける」機能、Ｌｅｖｅｌ１「（静的）環境への衝突を避ける（車道の中央を走る）」機能、Ｌｅｖｅｌ２「目的地に近づく」機能の３種類である。また、Ｌｅｖｅｌ０の機能については、Ｌｅｖｅｌ０−０、Ｌｅｖｅｌ０−１の２つの機能モジュールが存在する。
【００５９】
優先順位テーブル２９ａの優先順位Ａは、車両が安全側に制御されるように順位付けされている（フェールセーフ設計）。一方、優先順位テーブル２９ａの優先順位Ｂは、同等の機能（性能には優劣があっても良い。）を有するモジュールが複数ある場合（モジュールの二重化）についての順位付けである。モジュールの二重化によって、一部に故障が生じても動作し続けるシステムを実現する（フォールトトレランス設計）。
【００６０】
統括ＥＣＵ１１は、前述したように、優先順位テーブル２９ａに従い、様々な状況に対応しながら、「自動操舵」を実現する。尚、「自動操舵」は、完全に自動化されたものだけでなく、運転者の運転を自動的にアシストするようなものであっても良い。
【００６１】
図９は、実施例に係る優先順位テーブル２９ｂを示す図である。図９に示す例では、機能拡張時における本発明の実施の形態の優位性について説明する。
【００６２】
図９に示すように、優先順位テーブル２９ｂでは、５つの機能モジュールが存在する。優先順位テーブル２９ａと比較すると、Ｌｅｖｅｌ１．５「通行止め箇所を避ける」機能が追加されている。Ｌｅｖｅｌ１．５の機能は、優先順位Ａについて、Ｌｅｖｅｌ１とＬｅｖｅｌ２の間に順位付けされている。
【００６３】
従来のように、機能モジュール同士が協調して制御を行っている場合、機能拡張時には既存の機能モジュールとの整合性を確認し、既存の機能モジュールのロジックも修正する必要がある。しかしながら、本実施の形態に係る実施例では、Ｌｅｖｅｌ１．５の機能が追加されても、図８に示す優先順位テーブル２９ａから図９に示す優先順位テーブル２９ｂに書き換えるだけで良い。つまり、既存の機能モジュールのロジックは修正する必要がない。更に、図５に示すフローチャートを見れば分かるように、基本的には、統括機能モジュールのロジックも修正する必要がない。
尚、図５に示すステップ１０３の処理では、センサモジュールからの異常通知ｃを受けたときに、どの機能モジュールを異常扱いとするかを判定する為、追加する機能モジュールがどのセンサモジュールからのセンサ値を用いているかという情報は追加する必要がある。しかしながら、必要があれば、当該情報もテーブル化（また、初期設定ファイルを用いるなどでも良い。）することができる（プログラムのロジックと独立させることができる。）ことから、基本的には、統括機能モジュールのロジックを修正する必要はない。
【００６４】
以上説明したように、本発明の実施の形態によれば、各機能モジュールが並列に構成され、安全性および運行継続性が確保された障害時の対応が可能な電子制御システムを提供することができる。更に、機能追加をする際、既存の機能モジュールおよび統括機能モジュールのロジックを修正する必要がない電子制御システムを提供することができる。
【００６５】
以上、添付図面を参照しながら、本発明に係る電子制御システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態に係る電子制御システム１の概略構成を示す図
【図２】装置間の通信を示す図
【図３】ＥＣＵ７の構成を示すブロック図
【図４】統括ＥＣＵ１１の構成を示すブロック図
【図５】統括ＥＣＵ１１の処理の流れを示すフローチャート
【図６】優先順位Ａごとの代表機能モジュールの決定について説明する図
【図７】出力する指令値ｇの決定に用いる機能モジュールの決定について説明する図
【図８】実施例に係る優先順位テーブル２９ａを示す図
【図９】実施例に係る優先順位テーブル２９ｂを示す図
【符号の説明】
【００６７】
１………電子制御システム
３………センサ
５………センサ異常判定装置
７………ＥＣＵ
９………ＥＣＵ異常判定装置
１１………統括ＥＣＵ
１３………アクチュエータ
１５………センサ値入力手段
１７………指令値決定手段
１９………指令値出力手段
２１………指令値入力手段
２３………異常通知入力手段
２５………指令値採用手段
２７………採用指令値出力手段
２９………優先順位テーブル
【図１】
0005119892.tif 000002
【図２】
0005119892.tif 000003
【図３】
0005119892.tif 000004
【図４】
0005119892.tif 000005
【図５】
0005119892.tif 000006
【図６】
0005119892.tif 000007
【図７】
0005119892.tif 000008
【図８】
0005119892.tif 000009
【図９】
0005119892.tif 000010