(57)【特許請求の範囲】
【請求項１】
第１システムに含まれ、ＡＤ（Autonomous Driving）制御及びＡＤＡＳ（Advanced Driver Assistance System）制御の少なくともいずれかを含む車両制御が可能である第１制御部と、
第２システムに含まれ、前記車両制御が可能である第２制御部と
を備え、
前記第１制御部は、
前記第１制御部の前記車両制御で用いられる指令値の演算処理を行う第１演算部と、
前記第１演算部で得られる前記指令値の送信処理を行う第１通信処理部と
を含み、
前記第２制御部は、
前記第２制御部の前記車両制御で用いられる指令値の演算処理を行う第２演算部と、
前記第２演算部で得られる前記指令値の送信処理を行う第２通信処理部と
を含み、
前記第１システムの故障を検出する故障監視部と、
前記第１システムの故障を示す故障情報と、前記第１通信処理部が送信処理中であるか否かを示す送信情報とに基づいて、または、前記故障情報と、前記送信情報と、前記第１演算部が演算処理中であるか否かを示す演算情報とに基づいて、前記第１システムの前記第１通信処理部を用いた前記指令値の送信である第１システム送信から、前記第２システムの前記第２通信処理部を用いた前記指令値の送信である第２システム送信に切り替えるタイミングを変更する出力切替部と
をさらに備える、車両制御装置。
【請求項２】
請求項１に記載の車両制御装置であって、
前記出力切替部は、
前記故障情報と前記送信情報とに基づいて、前記第１通信処理部の送信処理開始から送信処理完了までの間に前記第１システムの故障が発生したと判定した場合に、当該送信処理後に前記第１システム送信を停止し、
前記故障情報と前記送信情報とに基づいて、前記第１通信処理部の送信処理完了から送信処理開始までの間に前記第１システムの故障が発生したと判定した場合に、当該判定直後に前記第１システム送信を停止する、車両制御装置。
【請求項３】
請求項１に記載の車両制御装置であって、
前記出力切替部は、
前記故障情報と前記送信情報と前記演算情報とに基づいて、前記第１演算部の演算処理完了から当該演算処理完了直後の前記第１通信処理部の送信処理完了までの間に前記第１システムの故障が発生したと判定した場合に、当該送信処理後に前記第１システム送信を停止し、
前記故障情報と前記送信情報と前記演算情報とに基づいて、前記第１演算部の演算処理完了直後の前記第１通信処理部の送信処理完了から前記第１演算部の演算処理完了までの間に前記第１システムの故障が発生したと判定した場合に、当該判定直後に前記第１システム送信を停止する、車両制御装置。
【請求項４】
請求項１から請求項３のうちのいずれか１項に記載の車両制御装置であって、
前記故障監視部は、
前記第１制御部における複数種類の領域の故障をさらに検出し、
前記出力切替部は、
前記故障監視部で故障が検出された領域の種類を考慮して前記タイミングを変更する、車両制御装置。
【請求項５】
請求項４に記載の車両制御装置であって、
前記複数種類の領域は、
前記第１通信処理部の通信処理に関する領域である通信領域、及び、前記第１演算部の演算処理に関する領域である演算領域の少なくともいずれか１つを含む、車両制御装置。
【請求項６】
請求項１から請求項５のうちのいずれか１項に記載の車両制御装置であって、
前記故障監視部は、
前記第１システムにおけるハードウェアの故障をさらに検出し、
前記出力切替部は、
前記ハードウェアの故障を考慮して前記タイミングを変更する、車両制御装置。
【請求項７】
請求項１から請求項３のうちのいずれか１項に記載の車両制御装置であって、
前記故障監視部は、
前記第１システムに含まれる第１故障監視部を含み、かつ、前記第１通信処理部の通信処理に関する領域である通信領域の故障をさらに検出し、
前記故障監視部で前記通信領域の故障が検出されなかった場合には、前記出力切替部によって前記第１システム送信を停止するか否かが判定され、
前記故障監視部で前記通信領域の故障が検出された場合には、前記第１故障監視部または前記出力切替部によって前記第１システム送信を停止するか否かが判定される、車両制御装置。
【請求項８】
請求項１から請求項７のうちのいずれか１項に記載の車両制御装置であって、
前記出力切替部は、
前記第１システムが故障状態から正常状態へ復帰する場合、前記第２システム送信を停止した後に前記第１システム送信を行う、車両制御装置。
【請求項９】
請求項１から請求項８のうちのいずれか１項に記載の車両制御装置であって、
前記第２システムは、予防安全システムであり、
前記第１システムは、前記第２システムよりも自動化レベルが高い自動運転システムである、車両制御装置。
【請求項１０】
請求項１から請求項４のうちのいずれか１項に記載の車両制御装置であって、
前記出力切替部は、
前記第１システムに含まれる第１出力切替部と、
前記第２システムに含まれる第２出力切替部と
を含み、
前記第１出力切替部及び前記第２出力切替部のそれぞれは、
前記故障情報と前記送信情報とに基づいて、または、前記故障情報と前記送信情報と前記演算情報とに基づいて、前記タイミングを変更する、車両制御装置。
【請求項１１】
請求項１０に記載の車両制御装置であって、
前記故障監視部は、
前記第１制御部における複数種類の領域の故障をさらに検出し、
前記第１出力切替部及び前記第２出力切替部のそれぞれは、
前記故障監視部で故障が検出された領域の種類を考慮して前記タイミングを変更する、車両制御装置。
【請求項１２】
請求項１１に記載の車両制御装置であって、
前記複数種類の領域は、
前記第１通信処理部の通信処理に関する領域である通信領域、及び、前記第１演算部の演算処理に関する領域である演算領域を含み、
前記故障監視部は、
前記第１システムに含まれる第１故障監視部を含み、
前記第１故障監視部は、
前記故障監視部で前記通信領域の故障が検出され、前記第１故障監視部が前記第１システム送信を停止可能である場合に、前記第１システム送信を停止し、
前記第２出力切替部は、
前記故障監視部で前記通信領域の故障が検出され、前記第１故障監視部が前記第１システム送信を停止可能でない場合に、前記故障情報と、前記送信情報と、前記演算情報と、前記故障監視部で故障が検出された領域の種類とに基づいて、前記第１システム送信を停止し、
前記第１出力切替部は、
前記故障監視部で前記通信領域の故障が検出されずに前記演算領域の故障が検出された場合に、前記第１通信処理部の送信処理後に前記第１システム送信を停止し、
前記故障監視部で前記通信領域の故障及び前記演算領域の故障のいずれも検出されず、かつ、前記故障情報と前記送信情報と前記演算情報とに基づいて、前記第１演算部の演算処理完了から当該演算処理完了直後の前記第１通信処理部の送信処理完了までの間に前記第１システムの故障が発生したと判定した場合に、当該送信処理後に前記第１システム送信を停止し、
前記故障監視部で前記通信領域の故障及び前記演算領域の故障のいずれも検出されず、かつ、前記故障情報と前記送信情報と前記演算情報とに基づいて、前記第１演算部の演算処理完了直後の前記第１通信処理部の送信処理完了から前記第１演算部の演算処理完了までの間に前記第１システムの故障が発生したと判定した場合に、当該判定直後に前記第１システム送信を停止する、車両制御装置。
【請求項１３】
車両制御装置を用いた車両制御方法であって、
前記車両制御装置は、
第１システムに含まれ、ＡＤ（Autonomous Driving）制御及びＡＤＡＳ（Advanced Driver Assistance System）制御の少なくともいずれかを含む車両制御が可能である第１制御部と、
第２システムに含まれ、前記車両制御が可能である第２制御部と
を備え、
前記第１制御部は、
前記第１制御部の前記車両制御で用いられる指令値の演算処理を行う第１演算部と、
前記第１演算部で得られる前記指令値の送信処理を行う第１通信処理部と
を含み、
前記第２制御部は、
前記第２制御部の前記車両制御で用いられる指令値の演算処理を行う第２演算部と、
前記第２演算部で得られる前記指令値の送信処理を行う第２通信処理部と
を含み、
前記車両制御方法は、
前記第１システムの故障を検出し、
前記第１システムの故障を示す故障情報と、前記第１通信処理部が送信処理中であるか否かを示す送信情報とに基づいて、または、前記故障情報と、前記送信情報と、前記第１演算部が演算処理中であるか否かを示す演算情報とに基づいて、前記第１システムの前記第１通信処理部を用いた前記指令値の送信である第１システム送信から、前記第２システムの前記第２通信処理部を用いた前記指令値の送信である第２システム送信に切り替えるタイミングを変更する、車両制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車両制御装置及び車両制御方法に関する。
【背景技術】
【０００２】
近年、ＡＤ（Autonomous Driving）制御及びＡＤＡＳ（Advanced Driver Assistance System）制御などの車両制御を行うシステムについて様々な技術が提案されている。例えば、特許文献１には、２つのＣＰＵで二重化した処理系において、どちらか一方のＣＰＵが故障した際に、他方のＣＰＵの送信（出力）を用いることで、一方の処理系が故障しても他方の処理系を用いて運行を継続できるというフェールセーフ化が図られた制御システムが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６６７５４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の制御システムでは、処理系を冗長化することによって、一方の処理系が故障した場合でも機能の継続が実現されている。しかしながら、当該制御システムでは、故障が発生すると、一方の処理系の送信から他方の処理系の送信に強制的に即座に切り替える。このため、適切に演算されたデータの送信途中であってもその送信を停止したり、切り替えが間に合わなかったりするため、アクチュエータ等の受信側でフェールが発生する場合があると考えられる。
【０００５】
そこで、本開示は、上記のような問題点を鑑みてなされたものであり、故障発生時において送信を切り替えるタイミングを適切化可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示に係る車両制御装置は、第１システムに含まれ、ＡＤ（Autonomous Driving）制御及びＡＤＡＳ（Advanced Driver Assistance System）制御の少なくともいずれかを含む車両制御が可能である第１制御部と、第２システムに含まれ、前記車両制御が可能である第２制御部とを備え、前記第１制御部は、前記第１制御部の前記車両制御で用いられる指令値の演算処理を行う第１演算部と、前記第１演算部で得られる前記指令値の送信処理を行う第１通信処理部とを含み、前記第２制御部は、前記第２制御部の前記車両制御で用いられる指令値の演算処理を行う第２演算部と、前記第２演算部で得られる前記指令値の送信処理を行う第２通信処理部とを含み、前記第１システムの故障を検出する故障監視部と、前記第１システムの故障を示す故障情報と、前記第１通信処理部が送信処理中であるか否かを示す送信情報とに基づいて、または、前記故障情報と、前記送信情報と、前記第１演算部が演算処理中であるか否かを示す演算情報とに基づいて、前記第１システムの前記第１通信処理部を用いた前記指令値の送信である第１システム送信から、前記第２システムの前記第２通信処理部を用いた前記指令値の送信である第２システム送信に切り替えるタイミングを変更する出力切替部とをさらに備える。
【発明の効果】
【０００７】
本開示によれば、第１システムの故障情報と、第１通信処理部の送信情報とに基づいて、第１システム送信から第２システム送信に切り替えるタイミングを変更する。このような構成によれば、故障発生時において送信を切り替えるタイミングを適切化することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る車両制御装置の構成を示すブロック図である。
【図２】実施の形態１に係る車両制御装置の動作の概要を説明するための図である。
【図３】実施の形態１に係る車両制御装置の動作を示すフローチャートである。
【図４】実施の形態１に係る車両制御装置の動作を示すフローチャートである。
【図５】変形例１−１に係る車両制御装置の動作の概要を説明するための図である。
【図６】変形例１−１に係る車両制御装置の動作を示すフローチャートである。
【図７】変形例１−１に係る車両制御装置の動作を示すフローチャートである。
【図８】変形例１−２に係る車両制御装置に関連する装置の動作の概要を説明するための図である。
【図９】変形例１−２に係る車両制御装置の動作の概要を説明するための図である。
【図１０】変形例１−２に係る車両制御装置の動作を示すフローチャートである。
【図１１】変形例１−３に係る車両制御装置の動作を示すフローチャートである。
【図１２】変形例１−３に係る車両制御装置の動作を示すフローチャートである。
【図１３】変形例１−５に係る車両制御装置の動作を示すフローチャートである。
【図１４】変形例１−５に係る車両制御装置の動作を示すフローチャートである。
【図１５】変形例１−６に係る車両制御装置の動作を示すフローチャートである。
【図１６】実施の形態２に係る車両制御装置の構成を示すブロック図である。
【図１７】実施の形態２に係る車両制御装置の動作を示すフローチャートである。
【図１８】実施の形態２に係る車両制御装置の動作を示すフローチャートである。
【図１９】変形例２−１に係る車両制御装置の動作を示すフローチャートである。
【図２０】変形例２−１に係る車両制御装置の動作を示すフローチャートである。
【図２１】変形例２−２に係る車両制御装置の動作を示すフローチャートである。
【図２２】変形例２−２に係る車両制御装置の動作を示すフローチャートである。
【発明を実施するための形態】
【０００９】
＜実施の形態１＞
図１は、本実施の形態１に係る車両制御装置の構成を示すブロック図である。図１の車両制御装置は、ＥＣＵ１１を含む第１システムと、ＥＣＵ２１を含む第２システムとを備える。
【００１０】
ＥＣＵ１１は、第１制御部であるＣＰＵ（Central Processing Unit）１２と、第１故障監視部である故障監視部１３と、通信回路１４と、スイッチ１５とを含む。ＥＣＵ２１は、第２制御部であるＣＰＵ２２と、第２故障監視部である故障監視部２３と、通信回路２４とを含む。図１の車両制御装置では、ＣＰＵ１２及びＣＰＵ２２の一方が故障した場合に他方を用いるフェールセーフ機能が実現さるように、ＥＣＵ１１及びＥＣＵ２１は互いに通信可能となっている。
【００１１】
ＣＰＵ１２は、ＡＤ（Autonomous Driving）制御及びＡＤＡＳ（Advanced Driver Assistance System）制御の少なくともいずれかを含む車両制御が可能である。ＣＰＵ２２は、ＣＰＵ１２の車両制御と同様の車両制御が可能である。
【００１２】
ここで、ＳＩＰ（戦略的イノベーション創造プログラム）自動走行システム研究開発計画（内閣府、２０１５年５月２１日）には、自動車の自動運転の自動化レベル（自動運転レベル）について、次のように定義されている。
【００１３】
レベル１：加速、操舵、制動のいずれかをシステムが行う状態
レベル２：加速、操舵、制動のうち複数の操作をシステムが行う状態
レベル３：加速、操舵、制動の全てをシステムが行い、システムが要請したときは運転者が対応する状態
レベル４：加速、操舵、制動の全てを運転者以外が行い、運転者が全く関与しない状態
なお、ここでいう「システム」とは、自動車が自律センサや通信等により得られる情報から道路環境などを判断し、自動車の加速、操舵、制動の全てまたは一部を行う仕組みを意味する。
【００１４】
各レベルの定義から分かるように、自動車の運転権限は、レベル３以上ではシステム側にあり、レベル２以下では運転者側にある。レベル２以下の車両制御は、運転者の安全な運転を支援するものであり、「ＡＤＡＳ制御」と呼ばれる。ＡＤＡＳ制御よりもレベルが高い車両制御は、「ＡＤ制御」と呼ばれる。ＡＤ制御及びＡＤＡＳ制御は、例えば、自動ブレーキ制御、ＡＣＣ（Adaptive Cruise Control）などの自動加減速制御、自動駐車制御、車線維持制御などを含む。
【００１５】
以下の説明では、ＣＰＵ１２及びＣＰＵ２２によって車両制御（ＡＤ制御、ＡＤＡＳ制御）が行われる車両を「自車両」と記すこともある。
【００１６】
ＣＰＵ１２は、第１演算部である演算部１２ａと、第１通信処理部である通信処理部１２ｂとを含む。ＣＰＵ２２は、第２演算部である演算部２２ａと、第２通信処理部である通信処理部２２ｂと、出力切替部２２ｃとを含む。演算部１２ａ，２２ａと、通信処理部１２ｂ，２２ｂと、出力切替部２２ｃとについては、後で詳細に説明する。
【００１７】
故障監視部１３は、第１システムの故障を検出する自己診断機能と、第１システムの動作と、第２システムの動作とを比較することで、第１システム及び第２システムのいずれかの故障を検出する相互診断機能とを有している。同様に、故障監視部２３は、第２システムの故障を検出する自己診断機能と、第１システムの動作と、第２システムの動作とを比較することで、第１システム及び第２システムのいずれかの故障を検出する相互診断機能とを有している。
【００１８】
自己診断は、例えば、いわゆるウォッチドッグタイマーを用いて実現される。相互診断は、例えば、第１システム及び第２システムのそれぞれにおいて、相互監視を目的とした同一のアプリ（プログラム）を実行して同一の演算を行い、両者の出力結果が一致するかどうかを確認することによって実現される。自己診断と相互診断とを行うことで、第１システム及び第２システムの故障状態の判定精度を高めることができる。
【００１９】
故障監視部１３，２３は、相互診断機能などによって、ＣＰＵ１２における複数種類の領域の故障を検出し、第１システムにおけるＣＰＵ１２以外のハードウェア（Ｈ／Ｗ）の故障を検出する。複数種類の領域は、例えば、通信処理部１２ｂの通信処理に関するメモリ領域などの通信領域、及び、演算部１２ａの演算処理に関するメモリ領域などの演算領域を含む。第１システムにおけるハードウェア（Ｈ／Ｗ）の故障は、例えば、電圧異常、通信回路のオープン及びショートを含む。Ｈ／Ｗの故障判定には、例えば、特許第４６５６４２１号に記載された、ショート故障及びオープン故障を判定する手法を用いてもよい。
【００２０】
同様に、故障監視部１３，２３は、相互診断機能などによって、ＣＰＵ２２における複数種類の領域の故障を検出し、第２システムにおけるＣＰＵ２２以外のハードウェア（Ｈ／Ｗ）の故障を検出する。
【００２１】
故障監視部１３，２３は、以上の検出結果に基づいて、第１システムの故障を示す故障情報、ＣＰＵ１２，２２における複数種類の領域の故障、ハードウェアの故障などを、出力切替部２２ｃに出力する。
【００２２】
なお、故障監視部１３，２３による２重系システムの相互監視では、第１システム及び第２システムのどちらが壊れたか判定できない。そのため、３重系システムにして多数決をとってもよいし、後述するように第１システム及び第２システムの一方の判定を他方の判定よりも優先してもよい。また、２つの故障監視部（故障監視部１３，２３）の代わりに、故障監視部１３，２３の機能を有する１つの故障監視部が設けられてもよい。また、故障監視部１３，２３はＥＣＵ１１，２１の外部に設けられてもよいし、ＣＰＵ１２，２２内の機能として設けられてもよい。
【００２３】
通信処理部１２ｂは、第１システムにおいて車両制御（ＡＤ制御、ＡＤＡＳ制御）を行うのに必要な情報の送受信処理を行う。同様に、通信処理部２２ｂは、第２システムにおいて車両制御（ＡＤ制御、ＡＤＡＳ制御）を行うのに必要な情報の送受信処理を行う。また、通信処理部１２ｂ，２２ｂは、切り替えタイミングを判定するのに必要な情報の送受信処理を行う。
【００２４】
通信回路１４は、通信処理部１２ｂの送受信処理によってシステムと送受信を行い、通信回路２４は、通信処理部２２ｂの送受信処理によってシステムと送受信を行う。通信処理部１２ｂ，２２ｂは例えばソフトウェアで実現され、通信回路１４は例えばＣＡＮ（Controller Area Network）のＩＣやハーネスを含む回路などのハードウェアで構成される。
【００２５】
通信処理部１２ｂ，２２ｂは、外部装置から通信回路１４，２４を介して、例えば、自車両の周辺環境の状態を示す情報（周辺情報）を取得する。ここでいう外部装置は、例えば、ＧＰＳ（Global Positioning System）装置、車載通信機、周辺センサ、ナビゲーションシステムなどを含む。ＧＰＳ装置は、複数のＧＰＳ衛星からＧＰＳ信号を受信して、自車両の位置を測位する。車載通信機は、自車両と他車両との間の通信（車車間通信）や、自車両と路側機との間の通信（路車間通信）を行う。周辺センサは、ミリ波レーダーや超音波ソナーなどの距離感知センサであり、自車両の周囲に存在する他車両、歩行者、建物、障害物などの物体の位置を検出するとともに、検出された物体が移動体（他車両、歩行者等）であるときはその移動速度も検出する。周辺センサはこれらに限られず、自車両の周辺環境の状態を認識できるものであれば、他のセンサ（例えば、車載カメラなど）であってもよい。ナビゲーションシステムは、ＧＰＳ装置が取得した自車両の位置情報と地図情報とを用いて、地図画面上に自車両の位置を表示したり、目的地までの経路を案内したりする。
【００２６】
また、通信処理部１２ｂ，２２ｂは、外部装置から通信回路１４，２４を介して、例えば、自車両の動作状態を示す情報（車両情報）を取得する。ここでいう外部装置は、例えば、舵角センサ、車速センサ、ウィンカーセンサ、ライトセンサなどを含む。舵角センサは、自車両のステアリング角を検出する。車速センサは、自車両の走行速度を検出する。ウィンカーセンサは、自車両の方向指示器の指示方向を検出する。ライトセンサは、自車両のライトのオン、オフを検出する。車両情報を検出するセンサはこれらに限られず、自車両の動作状態を認識できるものであれば、他のセンサ（例えば、ブレーキ、ギア、ワイパーなどの動作状態を検出するセンサなど）であってもよい。
【００２７】
また、通信処理部１２ｂ，２２ｂは、外部装置から通信回路１４，２４を介して、例えば、自車両の運転者の状態を示す情報（運転者情報）を取得する。運転者の状態としては、例えば、眠気があるか、脇見運転をしていないか、冷静であるか（興奮していないか）、などである。運転者情報を取得する外部装置は、例えば、運転者を撮影する車内カメラと、当該車内カメラが撮影した画像の画像解析により、運転者の眼球や顔の動きを検出し、運転者の視線の方向、顔の向きなどから、運転者の状態を判定する判定装置とを含む。運転者情報を取得する外部装置はこれらに限られず、運転者の挙動を検出できれば、車内カメラの代わりに、他の取得装置（例えば、運転者の音声を取得する集音マイク、ハンドルに設けられた生体センサ、脳波センサなど）を用いてもよい。
【００２８】
通信処理部１２ｂは、後述する演算部１２ａで得られる演算結果である指令値の送信処理を行うことによって、通信回路１４は指令値をシステム（例えばアクチュエータのシステム）へ送信する。同様に、通信処理部２２ｂは、後述する演算部２２ａで得られる演算結果である指令値の送信処理を行うことによって、通信回路２４は指令値をシステム（例えばアクチュエータのシステム）へ送信する。なお、アクチュエータは、例えばステアリング、スロットル、ブレーキ、シフト、ウィンカーなどのアクチュエータを含む。送信手段としては、例えば、演算結果を所定サンプリング毎にデータフレームに格納して送信するＣＡＮ通信が用いられてもよいし、Ｅｔｈｅｒｎｅｔ（登録商標）通信やＳＰＩ（Serial Peripheral Interface）通信が用いられてもよい。
【００２９】
また、通信処理部１２ｂ，２２ｂは、通信処理部１２ｂ，２２ｂが送信処理中であるか否かを示す送信情報を、出力切替部２２ｃに出力する。送信情報は、例えば、データフレームへの車両制御（ＡＤ制御，ＡＤＡＳ制御）の指令値の格納完了／未完了を示すフラグや、送信許可／不許可の状態を示すレジスタやメモリの値を含む。
【００３０】
さらに、通信処理部１２ｂ，２２ｂは、ある特定のデータフレームを送信したかどうかの情報を出力切替部２２ｃに出力する。この情報は、例えば、最も送信優先度が高いデータフレームへの演算結果の格納／未格納を示すフラグや、ある特定のデータフレームの送信許可／不許可の状態を含む。送信情報などの通信手段には、通信処理部１２ｂ，２２ｂと出力切替部２２ｃの間の専用の通信が用いられてもよいし、ＣＰＵ１２とＣＰＵ２２との間の汎用の通信が用いられてもよい。
【００３１】
演算部１２ａは、通信処理部１２ｂで取得される周辺情報、車両情報、運転者情報の少なくとも１つに基づいて、ＣＰＵ１２の車両制御（ＡＤ制御、ＡＤＡＳ制御）に用いられるアクチュエータの指令値（制御指令値）の演算処理を行う。同様に、演算部２２ａは、通信処理部２２ｂで取得される周辺情報、車両情報、運転者情報の少なくとも１つに基づいて、ＣＰＵ２２の車両制御（ＡＤ制御、ＡＤＡＳ制御）に用いられるアクチュエータの指令値（制御指令値）の演算処理を行う。
【００３２】
また、演算部１２ａは、所定サンプリング毎またはイベント起動ごとに演算を行い、演算中か否かの状態を示す演算状態をメモリに記録する。そして、演算部１２ａは、演算部１２ａが演算処理中であるか否かを示す演算情報を出力切替部２２ｃに出力する。同様に、演算部２２ａは、演算部２２ａが演算処理中であるか否かを示す演算情報を出力切替部２２ｃに出力する。
【００３３】
出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報とに基づいて、第１システム送信から第２システム送信に切り替えるタイミングを変更する。ここで、第１システム送信は、第１システムの通信処理部１２ｂを用いた指令値の送信であり、第２システム送信は、第２システムの通信処理部２２ｂを用いた指令値の送信である。以下、第１システム送信から第２システム送信に切り替えるタイミングを、「切り替えタイミング」と記すこともある。
【００３４】
なお、本実施の形態１では、スイッチ１５を介して通信回路１４が制御されることにより第１システム送信が制御されるが、通信処理部１２ｂが制御されることにより第１システム送信が制御されてもよい。また、本実施の形態１では、通信処理部２２ｂが制御されることにより第２システム送信が制御されるが、図示しないスイッチを介して通信回路２４が制御されることにより第２システム送信が制御されてもよい。また図１では、出力切替部２２ｃはＣＰＵ２２に設けられているが、故障監視部１３，２３はＣＰＵ２２の外部、ひいてはＥＣＵ２１の外部に設けられてもよい。
【００３５】
＜動作＞
図２は、本実施の形態１に係る車両制御装置の動作の概要を説明するための図である。出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報とに基づいて、通信処理部１２ｂの送信処理開始から送信処理完了までの間に第１システムの故障が発生したか否かを判定する。逆に言えば、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報とに基づいて、通信処理部１２ｂの送信処理完了から送信処理開始までの間に第１システムの故障が発生したか否かを判定する。
【００３６】
出力切替部２２ｃは、図２（ａ）のように、通信処理部１２ｂの送信処理開始から送信処理完了までの間に第１システムの故障が発生したと判定した場合には、当該送信処理後に第１システム送信を停止する。本実施の形態１では、出力切替部２２ｃは、スイッチ１５を介して通信回路１４を制御することにより第１システム送信を停止するが、通信処理部１２ｂを制御することにより第１システム送信を停止してもよい。
【００３７】
出力切替部２２ｃは、図２（ｂ）のように、通信処理部１２ｂの送信処理完了から送信処理開始までの間に第１システムの故障が発生したと判定した場合には、当該判定直後に第１システム送信を停止する。
【００３８】
図３は、本実施の形態１に係る第１システムの動作を示すフローチャートである。図３の動作は、第１システムの故障が故障監視部１３で検出された場合に行われる。
【００３９】
まずステップＳ１にて、故障監視部１３は、第１システムの故障情報を、故障監視部２３を介して出力切替部２２ｃに出力し、通信処理部１２ｂは、通信処理部１２ｂの送信情報を出力切替部２２ｃに出力する。
【００４０】
ステップＳ２にて、故障監視部１３は、第１システム送信が停止したか否かを判定する。第１システム送信が停止したと判定された場合には処理がステップＳ４に進み、第１システム送信が停止したと判定されなかった場合には処理がステップＳ３に進む。なお、後者の場合は、故障監視部１３が、第１システム送信が停止していないと判定した場合と、故障監視部１３が、第１システム送信の停止を判定するための情報を取得できなかった場合とを含む。
【００４１】
ステップＳ３にて、故障監視部１３は、ステップＳ２の判定を行ってから経過した時間が予め定められた閾値以上であるか否か、つまりタイムアウトしたか否かを判定する。タイムアウトしたと判定された場合には処理がステップＳ４に進み、タイムアウトしたと判定されなかった場合には処理がステップＳ２に戻る。なお、上記閾値を無限大に設定して、ステップＳ３からステップＳ４に処理が進まないようにしてもよい。
【００４２】
ステップＳ４にて、故障監視部１３は、ＣＰＵ１２をリセットし、ＣＰＵ１２の復帰処理を行う。これにより、故障監視部１３は、第１システム送信の停止を判定できない場合にタイムアウトする（ステップＳ３でＹｅｓ）と、リセット（復帰処理）を行う。
【００４３】
ステップＳ５にて、故障監視部１３は、第１システムが正常に復帰したか否かを判定する。第１システムが正常に復帰したと判定された場合には図３の動作が終了し、第１システムが正常に復帰したと判定されなかった場合には図３の動作が再度行われる。
【００４４】
図４は、本実施の形態１に係る第２システムの動作を示すフローチャートである。図４の動作は、第１システムの故障が故障監視部１３で検出された場合に行われる。
【００４５】
まずステップＳ１１にて、故障監視部２３は、第１システムの故障情報を故障監視部１３から受けて出力切替部２２ｃに出力する。
【００４６】
ステップＳ１２にて、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報とに基づいて、通信処理部１２ｂの送信処理開始から送信処理完了までの間に第１システムの故障が発生したか否かを判定する。通信処理部１２ｂの送信処理開始から送信処理完了までの間に第１システムの故障が発生したと判定された場合には処理がステップＳ１３に進み、通信処理部１２ｂの送信処理開始から送信処理完了までの間に第１システムの故障が発生したと判定されなかった場合には処理がステップＳ１５に進む。なお、後者の場合は、出力切替部２２ｃが、通信処理部１２ｂの送信処理完了から送信処理開始からまでの間に第１システムの故障が発生したと判定した場合と、出力切替部２２ｃが、送信情報を取得できなかった場合とを含む。
【００４７】
ステップＳ１３にて、出力切替部２２ｃは、通信処理部１２ｂの送信処理を含む第１システム送信が完了したか否かを判定する。この判定は、例えば、通信処理部１２ｂから新しく出力された送信情報などに基づいて行われる。第１システム送信が完了したと判定された場合には処理がステップＳ１５に進み、第１システム送信が完了したと判定されなかった場合には処理がステップＳ１４に進む。なお、後者の場合は、出力切替部２２ｃが、第１システム送信が完了していないと判定した場合と、出力切替部２２ｃが、第１システム送信の完了を判定するための情報を取得できなかった場合とを含む。
【００４８】
ステップＳ１４にて、出力切替部２２ｃは、ステップＳ１３の判定を行ってから経過した時間が予め定められた閾値以上であるか否か、つまりタイムアウトしたか否かを判定する。タイムアウトしたと判定された場合には処理がステップＳ１５に進み、タイムアウトしたと判定されなかった場合には処理がステップＳ１３に戻る。なお、上記閾値を無限大に設定して、ステップＳ１４からステップＳ１５に処理が進まないようにしてもよい。
【００４９】
ステップＳ１５にて、出力切替部２２ｃは、第１システム送信を停止する。
【００５０】
ステップＳ１６にて、出力切替部２２ｃは、第２システム送信を開始する。その後、図４の動作が終了する。なお、ステップＳ１５の動作が行われた後に、図３のステップＳ２から動作が行われてもよい。
【００５１】
＜実施の形態１のまとめ＞
以上のような本実施の形態１に係る車両制御装置（車両制御方法）では、第１システムの故障情報と、通信処理部１２ｂの送信情報とに基づいて、第１システム送信から第２システム送信に切り替えるタイミングを変更する。このような構成によれば、図２（ａ）のような場合であっても、故障発生時において送信を切り替えるタイミングを適切化することができる。このため、アクチュエータ等の受信側でフェールが発生することを抑制することができ、スムーズな切り替えが期待できる。
【００５２】
＜変形例１−１＞
実施の形態１では、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報とに基づいて切り替えタイミングを変更したが、これに限ったものではない。例えば、出力切替部２２ｃは、演算部１２ａの演算情報を考慮して切り替えタイミングを変更してもよい。すなわち、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報とに基づいて切り替えタイミングを変更してもよい。
【００５３】
図５は、本変形例１−１に係る車両制御装置の動作の概要を説明するための図である。出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報とに基づいて、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したか否かを判定する。逆に言えば、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報とに基づいて、演算部１２ａの演算処理完了直後の通信処理部１２ｂの送信処理完了から演算部１２ａの演算処理完了までの間に第１システムの故障が発生したか否かを判定する。
【００５４】
出力切替部２２ｃは、図５（ａ）のように、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したと判定した場合には、当該送信処理後に第１システム送信を停止する。
【００５５】
出力切替部２２ｃは、図５（ｂ）のように、演算部１２ａの演算処理完了直後の通信処理部１２ｂの送信処理完了から演算部１２ａの演算処理完了までの間に第１システムの故障が発生したと判定した場合には、当該判定直後に第１システム送信を停止する。
【００５６】
図６は、本変形例１−１に係る第１システムの動作を示すフローチャートである。図６の動作は、図３の動作のステップＳ１をステップＳ１ａに変更した動作と同様である。
【００５７】
ステップＳ１ａにて、故障監視部１３は、第１システムの故障情報を出力切替部２２ｃに出力し、通信処理部１２ｂは、通信処理部１２ｂの送信情報を出力切替部２２ｃに出力する。また、演算部１２ａは、演算部１２ａの演算情報を出力切替部２２ｃに出力する。
【００５８】
図７は、本変形例１−１に係る第２システムの動作を示すフローチャートである。図７の動作は、図４の動作のステップＳ１２をステップＳ１２ａに変更し、ステップＳ１４のタイムアウトの判定を削除した動作と同様である。なお、図７ではバリエーションを示すためにステップＳ１４を削除したが、もちろんステップＳ１４は行われてもよく、このことは以下の説明においても同様である。
【００５９】
ステップＳ１２ａにて、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報とに基づいて、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したか否かを判定する。
【００６０】
演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したと判定された場合には処理がステップＳ１３に進む。一方、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したと判定されなかった場合には処理がステップＳ１５に進む。なお、後者の場合は、出力切替部２２ｃが、演算部１２ａの演算処理完了直後の通信処理部１２ｂの送信処理完了から演算部１２ａの演算処理完了までの間に第１システムの故障が発生した場合と、出力切替部２２ｃが、送信情報または演算情報を取得できなかった場合とを含む。
【００６１】
ステップＳ１３にて、出力切替部２２ｃは、通信処理部１２ｂの送信処理を含む第１システム送信が完了したか否かを判定する。第１システム送信が完了したと判定された場合には処理がステップＳ１５に進み、第１システム送信が完了したと判定されなかった場合にはステップＳ１３の処理が再度行われる。
【００６２】
以上のような本変形例１−１によれば、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報とに基づいて第１システム送信から第２システム送信に切り替えるタイミングを変更する。このような構成によれば、故障発生時において送信を切り替えるタイミングを適切化することができる。
【００６３】
＜変形例１−２＞
変形例１−１では、出力切替部２２ｃは、演算部１２ａの演算処理完了直後の通信処理部１２ｂの送信処理完了から演算部１２ａの演算処理完了までの間に第１システムの故障が発生したと判定した場合には、当該判定直後に第１システム送信を停止した。この場合、図８に示すように、出力切替部２２ｃは、第２システム送信への切り替え時間が間に合わず、アクチュエータ等の受信側でフェールが発生してしまうことも考えられる。
【００６４】
そこで、出力切替部２２ｃは、図９に示すように、演算処理完了直後の送信処理完了から演算処理完了までの間に第１システムの故障が発生したと判定した場合でも、第１システム送信の実施中のデータが存在する場合には、当該第１システム送信の完了後に、その送信を停止してもよい。
【００６５】
本変形例１−２に係る第１システムの動作を示すフローチャートは、図６のフローチャートと同じである。図１０は、本変形例１−２に係る第２システムの動作を示すフローチャートである。図１０の動作は、図７の動作にステップＳ１７及びステップＳ１８を追加した動作と同様である。
【００６６】
図１０ではステップＳ１２ａにて、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したと判定されなかった場合には処理がステップＳ１７に進む。
【００６７】
ステップＳ１７にて、出力切替部２２ｃは、第１システム送信が実施中であるか否か、つまり第１システム送信の実施中のデータが存在するか否かを判定する。この判定は、例えば、通信処理部１２ｂから新しく出力された送信情報などに基づいて行われる。第１システム送信が実施中であると判定された場合には処理がステップＳ１８に進み、第１システム送信が実施中でないと判定された場合には処理がステップＳ１５に進む。
【００６８】
ステップＳ１８にて、出力切替部２２ｃは、通信処理部１２ｂの送信処理を含む第１システム送信が完了したか否かを判定する。第１システム送信が完了したと判定された場合には処理がステップＳ１５に進み、第１システム送信が完了していないと判定された場合にはステップＳ１８の処理が再度行われる。
【００６９】
以上のような本変形例１−２によれば、故障発生時において送信を切り替えるタイミングを適切化することができる。
【００７０】
＜変形例１−３＞
出力切替部２２ｃは、故障監視部１３で故障が検出されたＣＰＵ１２の領域の種類を考慮して切り替えタイミングを変更してもよい。つまり、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、故障が検出された領域の種類とに基づいて、切り替えタイミングを変更してもよい。または、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報と、故障が検出された領域の種類とに基づいて、切り替えタイミングを変更してもよい。以下では、後者について説明するが、前者の説明も以下の説明と概ね同じである。
【００７１】
また、故障監視部１３で通信領域の故障が検出されなかった場合には、出力切替部２２ｃによって第１システム送信を停止するか否かが判定されてもよく、故障監視部１３で通信領域の故障が検出された場合には、故障監視部１３または出力切替部２２ｃによって第１システム送信を停止するか否かが判定されてもよい。
【００７２】
図１１は、本変形例１−３に係る第１システムの動作を示すフローチャートである。図１１の動作は、図６の動作にステップＳ６、ステップＳ７及びステップＳ８を追加し、ステップＳ１ａをステップＳ１ｂに変更した動作と同様である。
【００７３】
まず、ステップＳ６にて、故障監視部１３は、通信処理部１２ｂの通信領域が故障したか否かを判定する。通信領域が故障したと判定された場合には処理がステップＳ７に進み、通信領域が故障していないと判定された場合には処理がステップＳ１ｂに進む。
【００７４】
ステップＳ１ｂにて、故障監視部１３は、第１システムの故障情報と、故障が検出された領域の種類とを出力切替部２２ｃに出力する。通信処理部１２ｂは、通信処理部１２ｂの送信情報を出力切替部２２ｃに出力する。演算部１２ａは、演算部１２ａの演算情報を出力切替部２２ｃに出力する。
【００７５】
ステップＳ７にて、故障監視部１３は、故障監視部１３が第１システムのハードウェアの電源オフ及びリセット並びにソフトウェアの送信処理停止を行うことによって第１システム送信を停止可能であるか否かを判定する。故障監視部１３が第１システム送信を停止可能であると判定された場合には処理がステップＳ８に進み、故障監視部１３が第１システム送信を停止可能でないと判定された場合には処理がステップＳ２に進む。
【００７６】
ステップＳ８にて、出力切替部２２ｃではなく故障監視部１３が、第１システム送信を停止する。その後、処理がステップＳ４に進む。
【００７７】
図１２は、本変形例１−３に係る第２システムの動作を示すフローチャートである。図１２の動作は、図７の動作にステップＳ１９、ステップＳ２０及びステップＳ２１を追加した動作と同様である。
【００７８】
ステップＳ１１後のステップＳ１９にて、出力切替部２２ｃは、故障監視部１３が第１システム送信を停止可能であるか否かを判定する。故障監視部１３が第１システム送信を停止可能であると判定された場合には処理がステップＳ１５に進み、故障監視部１３が第１システム送信を停止可能でないと判定された場合には処理がステップＳ２０に進む。
【００７９】
なお、ステップＳ１９からステップＳ１５に処理が進んだ場合には、第１システムによる第１システム送信の停止よりも前に、第２システムの出力切替部２２ｃが第１システム送信を停止してしまう可能性がある。そこで、出力切替部２２ｃは、ＣＰＵ１２の処理周期よりも十分遅いタイミングでスイッチ１５を介して通信回路１４をオフしてもよいし、通信処理部１２ｂの出力が停止することを確認してからスイッチ１５を介して通信回路１４をオフしてもよい。
【００８０】
ステップＳ２０にて、出力切替部２２ｃは、通信処理部１２ｂの通信領域が故障したか否かを判定する。通信処理部１２ｂの通信領域が故障したと判定された場合には処理がステップＳ１５に進み、第１システム送信を停止する。通信処理部１２ｂの通信領域が故障していないと判定された場合には処理がステップＳ２１に進む。
【００８１】
ステップＳ２１にて、出力切替部２２ｃは、演算部１２ａの演算領域が故障したか否かを判定する。演算部１２ａの演算領域が故障したと判定された場合には処理がステップＳ１３に進み、第１システム送信が完了した後に第１システム送信を停止する。演算部１２ａの演算領域が故障していないと判定された場合には処理がステップＳ１２ａに進む。
【００８２】
以上のような本変形例１−３によれば、故障箇所に合わせて第１システム送信を適切に停止することができるため、アクチュエータ等の受信側でフェールが発生することを抑制することができる。
【００８３】
なお、出力切替部２２ｃは、第１システムにおけるＣＰＵ１２以外のＨ／Ｗの故障を考慮して切り替えタイミングを変更してもよい。例えば、ステップＳ２１と同様に、Ｈ／Ｗが故障したと判定された場合には処理がステップＳ１３に進み、Ｈ／Ｗが故障していないと判定された場合には処理がステップＳ１２ａに進むように、出力切替部２２ｃが構成されてもよい。
【００８４】
＜変形例１−４＞
実施の形態１から変形例１−４までのステップＳ１３の代わりに、出力切替部２２ｃは、ある特定のデータフレームが第１システム送信によって送信されたか否かを判定してもよい。この判定は、例えば、最も送信優先度の高いデータフレームへの演算結果の格納／未格納を示すフラグや、ある特定のデータフレームの送信許可／不許可の状態を用いて判定されてもよい。
【００８５】
＜変形例１−５＞
出力切替部２２ｃは、第１システムが故障状態から正常状態へ復帰する場合、第２システム送信を停止した後に第１システム送信を行ってもよい。また、出力切替部２２ｃは、第１システムの復帰情報と、通信処理部２２ｂの送信情報とに基づいて、第２システム送信から第１システム送信に切り替えるタイミングを変更してもよい。または、出力切替部２２ｃは、第１システムの復帰情報と、通信処理部２２ｂの送信情報と、演算部２２ａの演算情報とに基づいて、第２システム送信から第１システム送信に切り替えるタイミングを変更してもよい。
【００８６】
図１３は、本変形例１−５に係る第１システムの動作を示すフローチャートである。なお、図１３の動作は、第１システムが正常に復帰した場合に行われる。
【００８７】
まずステップＳ３１にて、故障監視部１３は、第１システムの復帰情報を、故障監視部２３を介して第２システムに出力する。
【００８８】
ステップＳ３２にて、演算部１２ａは、指令値などの演算を開始し、その演算結果を通信処理部１２ｂに出力する。
【００８９】
ステップＳ３３にて、ＣＰＵ１２は、第２システムから送信許可を受けたか否かを判定する。送信許可を受けたと判定した場合には処理がステップＳ３４に進み、送信許可を受けなかったと判定した場合にはステップＳ３３の処理が再度行われる。
【００９０】
ステップＳ３４にて、第１システムは、第１システム送信を開始する。その後、図１３の動作が終了する。
【００９１】
図１４は、本変形例１−５に係る第２システムの動作を示すフローチャートである。なお、図１４の動作は、第１システムが正常に復帰した場合に行われる。
【００９２】
まずステップＳ４１にて、故障監視部２３は、第１システムの復帰情報を故障監視部１３から受けて出力切替部２２ｃに出力する。
【００９３】
ステップＳ４２にて、演算部２２ａは、演算部２２ａの演算情報を出力切替部２２ｃに出力し、通信処理部２２ｂは、通信処理部２２ｂの送信情報を出力切替部２２ｃに出力する。
【００９４】
ステップＳ４３にて、出力切替部２２ｃは、第１システムの復帰情報と、通信処理部２２ｂの送信情報と、演算部２２ａの演算情報とに基づいて、演算部２２ａの演算処理完了から当該演算処理完了直後の通信処理部２２ｂの送信処理完了までの間に第１システムが復帰したか否かを判定する。
【００９５】
演算部２２ａの演算処理完了から当該演算処理完了直後の通信処理部２２ｂの送信処理完了までの間に第１システムが復帰したと判定された場合には処理がステップＳ４４に進む。一方、演算部２２ａの演算処理完了から当該演算処理完了直後の通信処理部２２ｂの送信処理完了までの間に第１システムが復帰したと判定されなかった場合には処理がステップＳ４５に進む。
【００９６】
ステップＳ４４にて、出力切替部２２ｃは、通信処理部２２ｂの送信処理を含む第２システム送信が完了したか否かを判定する。第２システム送信が完了したと判定された場合には処理がステップＳ４５に進み、第１システム送信が完了したと判定されなかった場合にはステップＳ４４の処理が再度行われる。
【００９７】
ステップＳ４５にて、出力切替部２２ｃは、第２システム送信を停止する。
【００９８】
ステップＳ４６にて、出力切替部２２ｃは、送信許可を第１システムに出力する。これにより図１３のステップＳ３４にて第１システム送信が開始される。その後、図１４の動作が終了する。なお、ステップＳ４６の動作が行われた後に、図１３のステップＳ３３から動作が行われてもよい。
【００９９】
以上のような本変形例１−５によれば、第１システム送信を適切に開始することができる。
【０１００】
＜変形例１−６＞
第２システムの演算結果を送信可能な、第１システム及び第２システムの両方が正常である状態から、第２システムが故障した場合、つまりＣＰＵ２２などが故障（冗長システムが崩壊）した場合を想定する。この場合、出力切替部２２ｃが送信を切り替えずに、ＣＰＵ１２が縮退制御を行ってもよい。なお、縮退制御は、例えば、運転者にＣＰＵ２２が故障したことを通知するとともに、運転手主体の自動運転レベルに引き下げること、及び、第１システムによって安全な車両をスペースに自動で停止する制御を行うことなどを含む。
【０１０１】
図１５は、本変形例１−５に係る第１システム及び第２システムの動作を示すフローチャートである。図１５の動作は、第２システムの故障が故障監視部２３で検出された場合に行われる。
【０１０２】
ステップＳ５１にて、故障監視部２３は、第２システムの故障情報を第１システムに送信する。
【０１０３】
ステップＳ５２にて、故障監視部２３は、ＣＰＵ２２をリセットし、ＣＰＵ２２の復帰処理を行う。
【０１０４】
ステップＳ５３にて、故障監視部１３は、第２システムの故障情報を故障監視部２３から受けてＣＰＵ１２に出力する。
【０１０５】
ステップＳ５４にて、ＣＰＵ１２は縮退制御を行う。その後、図１５の動作が終了する。
【０１０６】
以上のような本変形例１−５によれば、第２システムが故障した場合に適切な車両制御を行うことができる。
【０１０７】
＜変形例１−７＞
以上の説明では、故障監視部１３と故障監視部２３との両方が相互監視機能（比較機能）を有する構成としたが、その機能はそれらの片方のみに持たせてもよい。例えば、ＣＰＵ２２は、ＣＰＵ１２に比べて故障率が低い構成にし、故障監視部２３のみに相互監視機能を持たせてもよい。
【０１０８】
また以上の説明において、ＣＰＵ２２の故障監視部２３は、ＣＰＵ１２の故障監視部１３よりも故障率が低く、信頼性が高くなるように、故障監視部１３，２３は構成されてもよい。そして、その構成において、故障監視部２３による故障診断の結果は、故障監視部１３による故障診断の結果よりも優先度が高く設定されてもよい。つまり、故障監視部２３による診断結果と故障監視部１３による診断結果とが互いに異なる場合、故障監視部２３の診断結果が優先されてもよい。例えば、ＣＰＵ１２の故障監視部１３では故障が検出されていないが、ＣＰＵ２２の故障監視部２３の相互監視機能によって故障が検出された場合には、ＣＰＵ１２側で故障が発生したものと判定されてもよい。
【０１０９】
なお本変形例１−７の以上の構成では、故障監視部２３及び故障監視部１３の優先度は、それらの故障率に対応させて設定されたが、これに限ったものではない。例えば、ＩＳＯ２６２６２に規定されるＡＳＩＬ（Automotive Safety Integrity Level）に従い、ＡＳＩＬレベルの高い方に、高い優先度を持たせてもよい。また、第２システムは、予防安全システムであり、第１システムは、第２システムよりも自動化レベルが高い自動運転システムであってもよい。
【０１１０】
＜実施の形態２＞
図１６は、本実施の形態２に係る車両制御装置の構成を示すブロック図である。以下、本実施の形態２に係る構成要素のうち、上述の構成要素と同じまたは類似する構成要素については同じまたは類似する参照符号を付し、異なる構成要素について主に説明する。
【０１１１】
本実施の形態２では、出力切替部は、第２システムに含まれる出力切替部２２ｃ（第２出力切替部）だけでなく、第１システムに含まれる出力切替部１２ｃ（第１出力切替部）を含む。そして変形例１−１と同様、出力切替部１２ｃ及び出力切替部２２ｃのそれぞれは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報とに基づいて、切り替えタイミングを変更する。また変形例１−３と同様、出力切替部１２ｃ及び出力切替部２２ｃのそれぞれは、故障監視部１３で故障が検出された領域の種類を考慮して切り替えタイミングを変更する。
【０１１２】
＜動作＞
図１７は、本実施の形態２に係る第１システムの動作を示すフローチャートである。図１７の動作は、第１システムの故障が故障監視部１３で検出された場合に行われる。
【０１１３】
まずステップＳ６１にて、故障監視部１３は、第１システムの故障情報と、故障が検出された領域の種類とを出力切替部１２ｃ，２２ｃに出力する。通信処理部１２ｂは、通信処理部１２ｂの送信情報を出力切替部１２ｃ，２２ｃに出力する。演算部１２ａは、演算部１２ａの演算情報を出力切替部１２ｃ，２２ｃに出力する。
【０１１４】
ステップＳ６２にて、故障監視部１３は、通信処理部１２ｂの通信領域が故障したか否かを判定する。通信領域が故障したと判定された場合には処理がステップＳ６３に進み、通信領域が故障していないと判定された場合には処理がステップＳ６６に進む。
【０１１５】
ステップＳ６３にて、故障監視部１３は、故障監視部１３が第１システムのハードウェアの電源オフ及びリセット並びにソフトウェアの送信処理停止を行うことによって第１システム送信を停止可能であるか否かを判定する。故障監視部１３が第１システム送信を停止可能であると判定された場合には処理がステップＳ７１に進み、故障監視部１３が第１システム送信を停止可能でないと判定された場合には処理がステップＳ６４に進む。なお、ステップＳ６４に処理が進んだ場合には、後述する第２システムの動作（図１８のステップＳ１５）によって第１システム送信が停止される。
【０１１６】
ステップＳ６４にて、故障監視部１３は、第１システム送信が停止したか否かを判定する。第１システム送信が停止したと判定された場合には処理がステップＳ７２に進み、第１システム送信が停止したと判定されなかった場合には処理がステップＳ６５に進む。
【０１１７】
ステップＳ６５にて、故障監視部１３は、ステップＳ６４の判定を行ってから経過した時間が予め定められた閾値以上であるか否か、つまりタイムアウトしたか否かを判定する。タイムアウトしたと判定された場合には処理がステップＳ７２に進み、タイムアウトしたと判定されなかった場合には処理がステップＳ６４に戻る。
【０１１８】
ステップＳ６６にて、故障監視部１３は、故障監視部１３がＣＰＵ１２を停止することにより第１システム送信を停止可能であるか否かを判定する。故障監視部１３が第１システム送信を停止可能であると判定された場合には処理がステップＳ６７に進み、故障監視部１３が第１システム送信を停止可能でないと判定された場合には処理がステップＳ６４に進む。なお、ステップＳ６７に処理が進んだ場合には、以下で説明するように、出力切替部１２ｃが、変形例１−３で出力切替部２２ｃが行った図１２のステップＳ２１以降の処理の一部と同様の処理を行う。
【０１１９】
ステップＳ６７にて、出力切替部１２ｃは、演算部１２ａの演算領域が故障したか否かを判定する。演算部１２ａの演算領域が故障したと判定された場合には処理がステップＳ６９に進み、演算部１２ａの演算領域が故障していないと判定された場合には処理がステップＳ６８に進む。
【０１２０】
ステップＳ６８にて、出力切替部１２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報とに基づいて、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したか否かを判定する。
【０１２１】
演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したと判定された場合には処理がステップＳ６９に進む。一方、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したと判定されなかった場合には処理がステップＳ７１に進む。
【０１２２】
ステップＳ６９にて、出力切替部１２ｃは、通信処理部１２ｂの送信処理を含む第１システム送信が完了したか否かを判定する。この判定は、例えば、通信処理部１２ｂから新しく出力された送信情報などに基づいて行われる。第１システム送信が完了したと判定された場合には処理がステップＳ７１に進み、第１システム送信が完了したと判定されなかった場合には処理がステップＳ７０に進む。
【０１２３】
ステップＳ７０にて、出力切替部１２ｃは、ステップＳ６９の判定を行ってから経過した時間が予め定められた閾値以上であるか否か、つまりタイムアウトしたか否かを判定する。タイムアウトしたと判定された場合には処理がステップＳ７２に進み、タイムアウトしたと判定されなかった場合には処理がステップＳ６９に戻る。
【０１２４】
ステップＳ７１にて、出力切替部１２ｃは、第１システム送信を停止する。
【０１２５】
ステップＳ７２にて、故障監視部１３は、ＣＰＵ１２をリセットし、ＣＰＵ１２の復帰処理を行う。
【０１２６】
ステップＳ７３にて、故障監視部１３は、第１システムが正常に復帰したか否かを判定する。第１システムが正常に復帰したと判定された場合には図１７の動作が終了し、第１システムが正常に復帰したと判定されなかった場合には図１７の動作が再度行われる。
【０１２７】
図１８は、本実施の形態２に係る第２システムの動作を示すフローチャートである。図１８の動作は、第１システムの故障が故障監視部１３で検出された場合に行われる。図１８の動作は、図１２の動作に図４のステップＳ１４を追加した動作と同様である。
【０１２８】
ステップＳ１３にて、出力切替部２２ｃは、通信処理部１２ｂの送信処理を含む第１システム送信が完了したか否かを判定する。第１システム送信が完了したと判定された場合には処理がステップＳ１５に進み、第１システム送信が完了したと判定されなかった場合には処理がステップＳ１４に進む。
【０１２９】
ステップＳ１４にて、出力切替部２２ｃは、ステップＳ１３の判定を行ってから経過した時間が予め定められた閾値以上であるか否か、つまりタイムアウトしたか否かを判定する。タイムアウトしたと判定された場合には処理がステップＳ１５に進み、タイムアウトしたと判定されなかった場合には処理がステップＳ１３に戻る。
【０１３０】
なお、ステップＳ１５の動作が行われた後に、図１７のステップＳ６４から動作が行われてもよい。
【０１３１】
＜動作の概要＞
以上の図１７及び図１８の動作の概要について説明する。
【０１３２】
故障監視部１３で通信領域の故障が検出され、故障監視部１３が第１システム送信を停止可能である場合（図１７のステップＳ６３でＹｅｓ）に、故障監視部１３は、第１システム送信を停止する（図１７のステップＳ７１）。
【０１３３】
故障監視部１３で通信領域の故障が検出され、故障監視部１３が第１システム送信を停止可能でない場合（図１７のステップＳ６３でＮｏ、図１８のステップＳ１９でＮｏ）を想定する。この場合に、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報と、故障監視部１３で故障が検出された領域の種類とに基づいて、第１システム送信を停止する（図１８のステップＳ２０、ステップＳ２１、ステップＳ１２ａ、ステップＳ１３、ステップＳ１５）。
【０１３４】
故障監視部１３で通信領域の故障が検出されずに演算領域の故障が検出された場合（図１７のステップＳ６７でＹｅｓ）に、出力切替部１２ｃは、通信処理部１２ｂの送信処理後に第１システム送信を停止する（図１７のステップＳ６９、ステップＳ７１）。
【０１３５】
故障監視部１３で通信領域の故障及び演算領域の故障のいずれも検出されず（図１７のステップＳ６７でＮｏ）、かつ、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したと判定した場合（図１７のステップＳ６８でＹｅｓ）を想定する。この場合に、出力切替部１２ｃは、通信処理部１２ｂの送信処理後に第１システム送信を停止する（図１７のステップＳ６９、ステップＳ７１）。
【０１３６】
故障監視部１３で通信領域の故障及び演算領域の故障のいずれも検出されず（図１７のステップＳ６７でＮｏ）、かつ、演算部１２ａの演算処理完了直後の通信処理部１２ｂの送信処理完了から演算部１２ａの演算処理完了までの間に第１システムの故障が発生したと判定した場合（図１７のステップＳ６８でＮｏ）を想定する。この場合に、出力切替部１２ｃは、当該判定直後に第１システム送信を停止する（ステップＳ７１）。
【０１３７】
なお、出力切替部１２ｃは、第１システムにおけるＣＰＵ１２以外のＨ／Ｗの故障を考慮して切り替えタイミングを変更してもよい。例えば、ステップＳ６７の代わりに、出力切替部１２ｃは、第１システムにおけるＣＰＵ１２以外のＨ／Ｗが故障しているか否かについての判定医を用いてもよい。
【０１３８】
＜実施の形態２のまとめ＞
以上のような本実施の形態２に係る車両制御装置では、出力切替部１２ｃ及び出力切替部２２ｃのそれぞれは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報とに基づいて、切り替えタイミングを変更する。このような構成によれば、出力切替部１２ｃ及び出力切替部２２ｃのいずれかに故障が生じても、送信を適切に切り替えることができる。
【０１３９】
＜変形例２−１＞
実施の形態２では、出力切替部１２ｃ及び出力切替部２２ｃのそれぞれは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報とに基づいて、切り替えタイミングを変更した。しかしこれに限ったものではなく、出力切替部１２ｃ及び出力切替部２２ｃのそれぞれは、切り替えタイミングの変更に、演算部１２ａの演算情報を考慮しなくてもよい。つまり、出力切替部１２ｃ及び出力切替部２２ｃのそれぞれは、第１システムの故障情報と、通信処理部１２ｂの送信情報とに基づいて、切り替えタイミングを変更してもよい。
【０１４０】
また実施の形態２では、出力切替部１２ｃ及び出力切替部２２ｃのそれぞれは、故障監視部１３で故障が検出された領域の種類を考慮して切り替えタイミングを変更したが、考慮しなくてもよい。
【０１４１】
図１９は、本変形例２−１に係る第１システムの動作を示すフローチャートである。図１９の動作は、第１システムの故障が故障監視部１３で検出された場合に行われる。
【０１４２】
まずステップＳ８１にて、故障監視部１３は、第１システムの故障情報を、故障監視部２３を介して出力切替部２２ｃに出力し、通信処理部１２ｂは、通信処理部１２ｂの送信情報を出力切替部２２ｃに出力する。
【０１４３】
ステップＳ８２にて、故障監視部１３は、故障監視部１３が第１システムのハードウェアの電源オフ及びリセット並びにソフトウェアの送信処理停止を行うことによって第１システム送信を停止可能であるか否かを判定する。故障監視部１３が第１システム送信を停止可能であると判定された場合には処理がステップＳ８５に進み、故障監視部１３が第１システム送信を停止可能でないと判定された場合には処理がステップＳ８３に進む。
【０１４４】
ステップＳ８３にて、故障監視部１３は、第１システム送信が停止したか否かを判定する。第１システム送信が停止したと判定された場合には処理がステップＳ８９に進み、第１システム送信が停止したと判定されなかった場合には処理がステップＳ８４に進む。
【０１４５】
ステップＳ８４にて、故障監視部１３は、ステップＳ８３の判定を行ってから経過した時間が予め定められた閾値以上であるか否か、つまりタイムアウトしたか否かを判定する。タイムアウトしたと判定された場合には処理がステップＳ８９に進み、タイムアウトしたと判定されなかった場合には処理がステップＳ８３に戻る。
【０１４６】
ステップＳ８５にて、出力切替部１２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報とに基づいて、通信処理部１２ｂの送信処理開始から送信処理完了までの間に第１システムの故障が発生したか否かを判定する。通信処理部１２ｂの送信処理開始から送信処理完了までの間に第１システムの故障が発生したと判定された場合には処理がステップＳ８６に進み、通信処理部１２ｂの送信処理開始から送信処理完了までの間に第１システムの故障が発生したと判定されなかった場合には処理がステップＳ８８に進む。
【０１４７】
ステップＳ８６にて、出力切替部１２ｃは、通信処理部１２ｂの送信処理を含む第１システム送信が完了したか否かを判定する。この判定は、例えば、通信処理部１２ｂから新しく出力された送信情報などに基づいて行われる。第１システム送信が完了したと判定された場合には処理がステップＳ８８に進み、第１システム送信が完了したと判定されなかった場合には処理がステップＳ８７に進む。
【０１４８】
ステップＳ８７にて、出力切替部１２ｃは、ステップＳ８６の判定を行ってから経過した時間が予め定められた閾値以上であるか否か、つまりタイムアウトしたか否かを判定する。タイムアウトしたと判定された場合には処理がステップＳ８９に進み、タイムアウトしたと判定されなかった場合には処理がステップＳ８６に戻る。なお、ステップＳ８７の閾値を無限大に設定して、ステップＳ８７からステップＳ８９に処理が進まないようにしてもよい。
【０１４９】
ステップＳ８８にて、出力切替部１２ｃは、第１システム送信を停止する。
【０１５０】
ステップＳ８９にて、故障監視部１３は、ＣＰＵ１２をリセットし、ＣＰＵ１２の復帰処理を行う。
【０１５１】
ステップＳ９０にて、故障監視部１３は、第１システムが正常に復帰したか否かを判定する。第１システムが正常に復帰したと判定された場合には図１９の動作が終了し、第１システムが正常に復帰したと判定されなかった場合には図１９の動作が再度行われる。
【０１５２】
図２０は、本変形例２−１に係る第２システムの動作を示すフローチャートである。図２０の動作は、第１システムの故障が故障監視部１３で検出された場合に行われる。
【０１５３】
まずステップＳ１０１にて、故障監視部２３は、第１システムの故障情報を故障監視部１３から受けて出力切替部２２ｃに出力する。
【０１５４】
ステップＳ１０２にて、出力切替部２２ｃは、故障監視部１３が第１システム送信を停止可能であるか否かを判定する。故障監視部１３が第１システム送信を停止可能であると判定された場合には処理がステップＳ１０６に進み、故障監視部１３が第１システム送信を停止可能でないと判定された場合には処理がステップＳ１０３に進む。
【０１５５】
ステップＳ１０３にて、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報とに基づいて、通信処理部１２ｂの送信処理開始から送信処理完了までの間に第１システムの故障が発生したか否かを判定する。通信処理部１２ｂの送信処理開始から送信処理完了までの間に第１システムの故障が発生したと判定された場合には処理がステップＳ１０４に進み、通信処理部１２ｂの送信処理開始から送信処理完了までの間に第１システムの故障が発生したと判定されなかった場合には処理がステップＳ１０６に進む。
【０１５６】
ステップＳ１０４にて、出力切替部２２ｃは、通信処理部１２ｂの送信処理を含む第１システム送信が完了したか否かを判定する。この判定は、例えば、通信処理部１２ｂから新しく出力された送信情報などに基づいて行われる。第１システム送信が完了したと判定された場合には処理がステップＳ１０６に進み、第１システム送信が完了したと判定されなかった場合には処理がステップＳ１０５に進む。
【０１５７】
ステップＳ１０５にて、出力切替部２２ｃは、ステップＳ１０４の判定を行ってから経過した時間が予め定められた閾値以上であるか否か、つまりタイムアウトしたか否かを判定する。タイムアウトしたと判定された場合には処理がステップＳ１０６に進み、タイムアウトしたと判定されなかった場合には処理がステップＳ１０４に戻る。
【０１５８】
ステップＳ１０６にて、出力切替部２２ｃは、第１システム送信を停止する。なお、ステップＳ１０２からステップＳ１０６に処理が進んだ場合には、第１システムによる第１システム送信の停止よりも前に、第２システムの出力切替部２２ｃが第１システム送信を停止してしまう可能性がある。そこで、出力切替部２２ｃは、ＣＰＵ１２の処理周期よりも十分遅いタイミングでスイッチ１５を介して通信回路１４をオフしてもよいし、通信処理部１２ｂの出力が停止することを確認してからスイッチ１５を介して通信回路１４をオフしてもよい。
【０１５９】
ステップＳ１０７にて、出力切替部２２ｃは、第２システム送信を開始する。その後、図２０の動作が終了する。なお、ステップＳ１０６の動作が行われた後に、図１９のステップＳ８３から動作が行われてもよい。
【０１６０】
＜動作の概要＞
以上の図１９及び図２０の動作の概要について説明する。
【０１６１】
故障監視部１３が第１システム送信を停止可能であり（図１９のステップＳ８２でＹｅｓ）、かつ、通信処理部１２ｂの送信処理開始から送信処理完了までの間に第１システムの故障が発生した場合（図１９のステップＳ８５でＹｅｓ）を想定する。この場合に、出力切替部１２ｃは、通信処理部１２ｂの送信処理後に第１システム送信を停止する（図１９のステップＳ８６、ステップＳ８８）。
【０１６２】
故障監視部１３が第１システム送信を停止可能であり（図１９のステップＳ８２でＹｅｓ）、かつ、通信処理部１２ｂの送信処理完了から送信処理開始までの間に第１システムの故障が発生した場合（図１９のステップＳ８５でＮｏ）を想定する。この場合に、出力切替部１２ｃは、当該判定直後に第１システム送信を停止する（図１９のステップＳ８８）。
【０１６３】
送信情報を取得できずにタイムアウトした場合（図２０のステップＳ１０５のＹｅｓ）には、出力切替部２２ｃは第１システム送信を停止する（図２０のステップＳ１０６）。
【０１６４】
故障監視部１３が第１システム送信を停止可能でない場合（図１９のステップＳ８２でＮｏ、図２０のステップＳ１０２でＮｏ）を想定する。この場合に、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報とに基づいて、第１システム送信を停止する（図２０のステップＳ１０３、ステップＳ１０４、ステップＳ１０５、ステップＳ１０６）。
【０１６５】
故障監視部１３が第１システム送信を停止可能である場合（図２０のステップＳ１０２でＹｅｓ）、好ましくは第１システムが第１システム送信を停止してから、出力切替部２２ｃは、第１システム送信を停止する（図２０のステップＳ１０６）。
【０１６６】
故障監視部１３は、第１システム送信の停止後に、ＣＰＵ１２をリセットし、ＣＰＵ１２の復帰処理を行う（図１９のステップＳ８９）。また、故障監視部１３は、第１システム送信の停止を判定できない場合にタイムアウトする（図１９のステップＳ８７でＹｅｓ）と、リセット（復帰処理）を行う（図１９のステップＳ８９）。
【０１６７】
＜変形例２−２＞
実施の形態２では、出力切替部１２ｃ及び出力切替部２２ｃのそれぞれは、故障監視部１３で故障が検出された領域の種類を考慮して切り替えタイミングを変更したが、考慮しなくてもよい。
【０１６８】
図２１は、本変形例２−２に係る第１システムの動作を示すフローチャートである。図２１の動作は、図１９の動作のステップＳ８１及びステップＳ８５を、ステップＳ８１ａ及びステップＳ８５ａにそれぞれ変更した動作と同様である。
【０１６９】
ステップＳ８１ａにて、故障監視部１３は、第１システムの故障情報を出力切替部２２ｃに出力し、通信処理部１２ｂは、通信処理部１２ｂの送信情報を出力切替部２２ｃに出力する。また、演算部１２ａは、演算部１２ａの演算情報を出力切替部２２ｃに出力する。
【０１７０】
ステップＳ８５ａにて、出力切替部１２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報とに基づいて、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したか否かを判定する。
【０１７１】
演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したと判定された場合には処理がステップＳ８６に進む。一方、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したと判定されなかった場合には処理がステップＳ８８に進む。
【０１７２】
図２２は、本変形例２−２に係る第２システムの動作を示すフローチャートである。図２２の動作は、図２０の動作のステップＳ１０３を、ステップＳ１０３ａに変更した動作と同様である。
【０１７３】
ステップＳ１０３ａにて、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報と、演算部１２ａの演算情報とに基づいて、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したか否かを判定する。
【０１７４】
演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したと判定された場合には処理がステップＳ１０４に進む。一方、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生したと判定されなかった場合には処理がステップＳ１０６に進む。
【０１７５】
＜動作の概要＞
以上の図２１及び図２２の動作の概要について説明する。
【０１７６】
故障監視部１３が第１システム送信を停止可能であり（図２１のステップＳ８２でＹｅｓ）、かつ、演算部１２ａの演算処理完了から当該演算処理完了直後の通信処理部１２ｂの送信処理完了までの間に第１システムの故障が発生した場合（図２１のステップＳ８５ａでＹｅｓ）を想定する。この場合に、出力切替部１２ｃは、通信処理部１２ｂの送信処理後に第１システム送信を停止する（図２１のステップＳ８６、ステップＳ８８）。
【０１７７】
故障監視部１３が第１システム送信を停止可能であり（図２１のステップＳ８２でＹｅｓ）、かつ、演算部１２ａの演算処理完了直後の通信処理部１２ｂの送信処理完了から演算部１２ａの演算処理完了までの間に第１システムの故障が発生した場合（図２１のステップＳ８５ａでＮｏ）を想定する。この場合に、出力切替部１２ｃは、当該判定直後に第１システム送信を停止する（図２１のステップＳ８８）。
【０１７８】
送信情報を取得できずにタイムアウトした場合（図２２のステップＳ１０５のＹｅｓ）には、出力切替部２２ｃは第１システム送信を停止する（図２２のステップＳ１０６）。
【０１７９】
故障監視部１３が第１システム送信を停止可能でない場合（図２１のステップＳ８２でＮｏ、図２２のステップＳ１０２でＮｏ）を想定する。この場合に、出力切替部２２ｃは、第１システムの故障情報と、通信処理部１２ｂの送信情報とに基づいて、第１システム送信を停止する（図２２のステップＳ１０３ａ、ステップＳ１０４、ステップＳ１０５、ステップＳ１０６）。
【０１８０】
故障監視部１３が第１システム送信を停止可能である場合（図２２のステップＳ１０２でＹｅｓ）、好ましくは第１システムが第１システム送信を停止してから、出力切替部２２ｃは、第１システム送信を停止する（図２２のステップＳ１０６）。
【０１８１】
故障監視部１３は、第１システム送信の停止後に、ＣＰＵ１２をリセットし、ＣＰＵ１２の復帰処理を行う（図２１のステップＳ８９）。また、故障監視部１３は、第１システム送信の停止を判定できない場合にタイムアウトする（図２１のステップＳ８７でＹｅｓ）と、リセット（復帰処理）を行う（図２１のステップＳ８９）。
【０１８２】
＜その他＞
以上で説明した車両制御装置は、ＣＰＵ及びメモリなどのハードウェアと、車両制御装置の動作を制御するための制御プログラムなどのソフトウェアとが協働することによって実現されてもよいし、処理回路などの専用のハードウェアによって実現されてもよい。
【０１８３】
なお、各実施の形態及び各変形例を自由に組み合わせたり、各実施の形態及び各変形例を適宜、変形、省略したりすることが可能である。
【符号の説明】
【０１８４】
１２，２２  ＣＰＵ、１２ａ，２２ａ  演算部、１２ｂ，２２ｂ  通信処理部、１３，２３  故障監視部、１２ｃ，２２ｃ  出力切替部。
【要約】
【課題】故障発生時において送信を切り替えるタイミングを適切化可能な技術を提供することを目的とする。
【解決手段】車両制御装置は、ＡＤ制御及びＡＤＡＳ制御の少なくともいずれかを含む車両制御が可能である第１制御部と、第２システムに含まれ、車両制御が可能である第２制御部と、故障情報と送信情報とに基づいて、または、故障情報と送信情報と演算情報とに基づいて、第１システム送信から第２システム送信に切り替えるタイミングを変更する出力切替部とを備える。
【選択図】図１【図１】
0006987201.tif 000002
【図２】
0006987201.tif 000003
【図３】
0006987201.tif 000004
【図４】
0006987201.tif 000005
【図５】
0006987201.tif 000006
【図６】
0006987201.tif 000007
【図７】
0006987201.tif 000008
【図８】
0006987201.tif 000009
【図９】
0006987201.tif 000010
【図１０】
0006987201.tif 000011
【図１１】
0006987201.tif 000012
【図１２】
0006987201.tif 000013
【図１３】
0006987201.tif 000014
【図１４】
0006987201.tif 000015
【図１５】
0006987201.tif 000016
【図１６】
0006987201.tif 000017
【図１７】
0006987201.tif 000018
【図１８】
0006987201.tif 000019
【図１９】
0006987201.tif 000020
【図２０】
0006987201.tif 000021
【図２１】
0006987201.tif 000022
【図２２】
0006987201.tif 000023