(57)【特許請求の範囲】
【請求項１】
車両の動作を制御する第１および第２演算器と接続された車両制御装置であって、
前記第１演算器が故障したとき前記２演算器が前記第１演算器に代わって前記第１演算器が実行すべき制御演算を代替実行する動作を監視する監視部、
前記監視部による監視結果に基づき前記第２演算器が前記代替実行に成功したか否かを判定する判定部、
を備えることを特徴とする車両制御装置。
【請求項２】
前記監視部は、前記第１演算器が故障する前において前記第１演算器が出力する演算結果と、前記第１演算器が故障した後において前記第２演算器が前記第１演算器に代わって出力する演算結果とを比較することにより、前記代替実行する動作を監視し、
前記判定部は、前記監視部による前記比較の結果に基づき、前記代替実行の成否を判定する
ことを特徴とする請求項１記載の車両制御装置。
【請求項３】
前記第１演算器は、現在時刻以降における前記車両の動作シーケンスを制御するための制御計画パラメータを、前記動作シーケンスのシーケンス番号ごとに演算し、
前記監視部は、前記第２演算器が前記代替実行を開始した以降の時刻に対応する前記シーケンス番号ごとに、前記第１演算器が演算した前記制御計画パラメータと前記第２演算器が演算した前記制御計画パラメータを比較することにより、前記代替実行する動作を監視する
ことを特徴とする請求項２記載の車両制御装置。
【請求項４】
前記監視部は、前記第１演算器が出力する演算結果と前記第２演算器が出力する演算結果との間の差分が判定閾値以内に収まっているか否かに基づき、前記代替実行する動作を監視し、
前記監視部は、前記第１演算器が故障した時刻から、前記第２演算器が前記代替実行を開始するために必要であると想定される想定所要時間が経過するまでの間に、前記第１演算器が出力する演算結果が変化する量またはその量に対して所定の係数を乗じた量を、前記判定閾値として用いる
ことを特徴とする請求項１記載の車両制御装置。
【請求項５】
前記判定部は、前記第２演算器が前記代替実行に失敗したと判定した場合は、前記車両が備える車載ネットワークに対してその旨を通知するメッセージを発信する
ことを特徴とする請求項１記載の車両制御装置。
【請求項６】
前記監視部は、前記第２演算器が前記代替実行をする動作を継続的に監視し、
前記判定部は、前記第２演算器が前記代替実行を所定回数以上失敗した場合は、前記車両が備える車載ネットワークに対してその旨を通知するメッセージを発信する
ことを特徴とする請求項１記載の車両制御装置。
【請求項７】
前記第１演算器は、前記制御演算により、前記車両の自動走行計画を規定するパラメータを演算する
ことを特徴とする請求項１記載の車両制御装置。
【請求項８】
車両の動作を制御する第１および第２演算器と接続された車両制御装置、
前記第１演算器、前記第２演算器、および前記車両制御装置を接続する車載ネットワーク、
前記車載ネットワークにおける通信を中継する中継部、
を有する車両制御システムであって、
前記車両制御装置は、
前記第１演算器が故障したとき前記２演算器が前記第１演算器に代わって前記第１演算器が実行すべき制御演算を代替実行する動作を監視する監視部、
前記監視部による監視結果に基づき前記第２演算器が前記代替実行に成功したか否かを判定する判定部、
を備える
ことを特徴とする車両制御システム。
【請求項９】
前記中継部は、前記第２演算器が前記代替実行を開始すると、前記第１演算器が受信すべき通信データが前記第２演算器へ到着するように、前記車載ネットワークにおける通信経路を定義するルーティングテーブルを書き換える
ことを特徴とする請求項８記載の車両制御システム。
【請求項１０】
前記監視部は、前記第１演算器が出力する演算結果と前記第２演算器が出力する演算結果との間の差分が判定閾値以内に収まっているか否かに基づき、前記代替実行する動作を監視し、
前記中継部は、前記差分が前記判定閾値以内に収まっていない場合は、前記第２演算器が前記代替実行により出力した演算結果を中継しない
ことを特徴とする請求項８記載の車両制御システム。
【請求項１１】
前記第２演算器は、前記第１演算器の機能レベルよりも低い機能レベルで前記代替実行を実施する
ことを特徴とする請求項８記載の車両制御システム。
【請求項１２】
前記判定部は、前記第２演算器が前記代替実行に失敗したと判定した場合は、前記車両の運転手に対してその旨を通知するメッセージを発信する
ことを特徴とする請求項８記載の車両制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両を制御する技術に関するものである。
【背景技術】
【０００２】
近年の多くの車両制御システムは、電子化された車両制御機器を操作する電子制御装置（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ：ＥＣＵ）、ＥＣＵ間の通信を可能にする車載ネットワーク（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、を備える。
【０００３】
また近年、ドライバによるアクセス／ブレーキ／ステアリング操作なしに車両を目的地まで自動で運ぶ自動運転システムの要求が高まっている。自動運転システムにおいては、ドライバの判断を肩代わりしている自動運転統合ＥＣＵが故障した際にも、十分に安全性を確保する必要がある。いかなる状態が安全であるかは走行環境に依存する。例えば高速道路や極寒地などの過酷な環境においては、止まることなく走り続けることが安全であるといえる。
【０００４】
ＥＣＵが故障した際にも自動車が走り続けるための方法として、機能の冗長化が知られている。冗長化は、同じ機能を備えたＥＣＵを２つ以上用意し、一方が壊れた際にもう一方に切り替える手法である。例えば通常時は一方のＥＣＵのみが制御指令値を車載ネットワークに対して送信し、そのＥＣＵが壊れた際にもう一方のＥＣＵが制御指令値を車載ネットワークに送信する方法が考えられる。しかしこの手法は、ＥＣＵを２つ用意しなければならないのでコストが高くなる課題がある。
【０００５】
ＥＣＵが故障した際にも自動車が走り続けるための他の方法として、機能代替が知られている。下記特許文献１においては、ＥＣＵの故障を検知すると、故障ＥＣＵの機能の代替先を選定し、その代替先に対して故障ＥＣＵの機能プログラムを転送する。代替先ＥＣＵは、その機能プログラムを用いて故障ＥＣＵの機能を代替する。これにより、新たなＥＣＵを設けずに高信頼化を実現している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２２１０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記特許文献１記載の技術においては、代替先ＥＣＵを選定する際に、限られた情報から妥当なＥＣＵを選定している。しかし限られた情報に基づき代替先ＥＣＵを選定した場合、そのＥＣＵが確実に機能代替をすることができるか否かが分からない。
【０００８】
本発明は、上記のような課題を解決するためになされたものであり、機能代替の安全性を高めることができる車両制御技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る車両制御装置は、代替実行を開始した後の動作を監視することにより、代替実行が成功したか否かを判定する。
【発明の効果】
【００１０】
本発明に係る車両制御装置によれば、代替された機能の成否を判定できるため機能代替後の安全性が担保できる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１に係る車両制御システム１の構成図である。
【図２】監視装置１１の構成図である。
【図３】自動運転統合ＥＣＵ１２の構成図である。
【図４】自動駐車ＥＣＵ１３の構成図である。
【図５】ナビＥＣＵ１４の構成図である。
【図６】メータＥＣＵ１５の構成図である。
【図７】状態データ１１４１の例である。
【図８】元データバッファ１１４２と走行軌道データ１２４１の例である。
【図９】代替データバッファ１１４３と走行軌道データ１３４１の例である。
【図１０】比較テーブル１１４４の例である。
【図１１】エラーカウンタ１１４５の例である。
【図１２】送信バッファ１１４６の例である。
【図１３】送信要求フラグ１２４２の例である。
【図１４】機能代替フラグ１３４２の例である。
【図１５】車両制御システム１の動作を説明するシーケンス図である。
【図１６】故障検知部１１３１の動作を説明するフローチャートである。
【図１７】代替依頼部１１３２の動作を説明するフローチャートである。
【図１８】監視部１１３３の動作を説明するフローチャートである。
【図１９】判定部１１３４の動作を説明するフローチャートである。
【図２０】通知部１１３５の動作を説明するフローチャートである。
【図２１】通信部１１３６の動作を説明するフローチャートである。
【図２２】走行軌道生成部１２３１の動作を説明するフローチャートである。
【図２３】通信部１２３２の動作を説明するフローチャートである。
【図２４】自動駐車部１３３１の動作を説明するフローチャートである。
【図２５】代替処理部１３３２の動作を説明するフローチャートである。
【図２６】通信部１３３３の動作を説明するフローチャートである。
【図２７】ナビゲーション部１４３１の動作を説明するフローチャートである。
【図２８】通信部１４３２の動作を説明するフローチャートである。
【図２９】表示部１５３１の動作を説明するフローチャートである。
【図３０】通信部１５３２の動作を説明するフローチャートである。
【図３１】実施形態２に係る車両制御システム１の構成図である。
【図３２】実施形態３に係る車両制御システム１の構成図である。
【発明を実施するための形態】
【００１２】
＜実施の形態１＞
図１は、本発明の実施形態１に係る車両制御システム１の構成図である。車両制御システム１は、監視装置１１、自動運転統合ＥＣＵ１２、自動駐車ＥＣＵ１３、ナビＥＣＵ１４、メータＥＣＵ１５、車載ネットワーク１６を備える。車載ネットワーク１６は、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＣＡＮ−ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄａｔａ）、ＦｌｅｘＲａｙなどのようなバス型の車載ネットワークである。各装置の構成については以下に詳述する。
【００１３】
以下では記載の便宜上、演算装置が実行するプログラムを動作主体として説明する場合があるが、実際にこれらプログラムを実行するのはその演算装置であることを付言しておく。
【００１４】
図２は、監視装置１１の構成図である。監視装置１１は、ＥＣＵ間の機能代替動作を監視する装置である。監視装置１１は、演算装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）１１１、メモリ１１２、入出力回路１１５を備える。メモリ１１２は記憶領域として、プログラム領域１１３とデータ領域１１４を有する。ＣＰＵ１１１は、入出力回路１１５と車載ネットワーク１６を介して他の装置と通信することができる。
【００１５】
プログラム領域１１３は、ＣＰＵ１１１が実行するプログラムとして、故障検知部１１３１、代替依頼部１１３２、監視部１１３３、判定部１１３４、通知部１１３５、通信部１１３６を格納する。データ領域１１４は、状態データ１１４１、元データバッファ１１４２、代替データバッファ１１４３、比較テーブル１１４４、エラーカウンタ１１４５、送信バッファ１１４６を格納する。各機能部およびデータの詳細については後述する。
【００１６】
図３は、自動運転統合ＥＣＵ１２の構成図である。自動運転統合ＥＣＵ１２は、車両制御システム１を搭載する車両の自動運転を制御するＥＣＵである。自動運転統合ＥＣＵ１２は、演算装置（ＣＰＵ）１２１、メモリ１２２、入出力回路１２５を備える。メモリ１２２は記憶領域として、プログラム領域１２３とデータ領域１２４を有する。ＣＰＵ１２１は、入出力回路１２５と車載ネットワーク１６を介して他の装置と通信することができる。
【００１７】
プログラム領域１２３は、ＣＰＵ１２１が実行するプログラムとして、走行軌道生成部１２３１、通信部１２３２を格納する。データ領域１２４は、走行軌道データ１２４１、送信要求フラグ１２４２を格納する。各機能部およびデータの詳細については後述する。
【００１８】
図４は、自動駐車ＥＣＵ１３の構成図である。自動駐車ＥＣＵ１３は、車両制御システム１を搭載する車両の自動駐車を制御するＥＣＵである。自動駐車ＥＣＵ１３は、演算装置（ＣＰＵ）１３１、メモリ１３２、入出力回路１３５を備える。メモリ１３２は記憶領域として、プログラム領域１３３とデータ領域１３４を有する。ＣＰＵ１３１は、入出力回路１３５と車載ネットワーク１６を介して他の装置と通信することができる。
【００１９】
プログラム領域１３３は、ＣＰＵ１３１が実行するプログラムとして、自動駐車部１３３１、代替処理部１３３２、通信部１３３３を格納する。データ領域１３４は、走行軌道データ１３４１、機能代替フラグ１３４２、送信要求フラグ１３４３を格納する。各機能部およびデータの詳細については後述する。
【００２０】
図５は、ナビＥＣＵ１４の構成図である。ナビＥＣＵ１４は、車両制御システム１を搭載する車両のカーナビゲーション機能を提供するＥＣＵである。ナビＥＣＵ１４は、演算装置（ＣＰＵ）１４１、メモリ１４２、入出力回路１４５を備える。メモリ１４２は記憶領域として、プログラム領域１４３を有する。ＣＰＵ１４１は、入出力回路１４５と車載ネットワーク１６を介して他の装置と通信し、操作・表示装置１４６を制御することができる。操作・表示装置１４６は、カーナビゲーションの操作や画面表示を実施するための装置である。
【００２１】
プログラム領域１４３は、ＣＰＵ１４１が実行するプログラムとして、ナビゲーション部１４３１、通信部１４３２を格納する。各機能部の詳細については後述する。
【００２２】
図６は、メータＥＣＵ１５の構成図である。メータＥＣＵ１５は、車両制御システム１を搭載する車両の計器類を制御するＥＣＵである。メータＥＣＵ１５は、演算装置（ＣＰＵ）１５１、メモリ１５２、入出力回路１５５を備える。メモリ１５２は記憶領域として、プログラム領域１５３を有する。ＣＰＵ１５１は、入出力回路１５５と車載ネットワーク１６を介して他の装置と通信し、表示装置１５６を制御することができる。表示装置１５６は、計器類の画面を表示する装置である。
【００２３】
プログラム領域１５３は、ＣＰＵ１５１が実行するプログラムとして、表示部１５３１、通信部１５３２を格納する。各機能部の詳細については後述する。
【００２４】
図７は、状態データ１１４１の例である。状態データ１１４１は、自動運転統合ＥＣＵ１２の状態を示す。状態データ１１４１が０である場合は自動運転統合ＥＣＵ１２の故障が発生していないことを示し、１である場合は自動運転統合ＥＣＵ１２の故障が発生していることを示す。
【００２５】
図８は、元データバッファ１１４２と走行軌道データ１２４１の例である。走行軌道データ１２４１は、車両が自動走行するときの動作シーケンスを記述した走行計画を表すデータであり、自動運転統合ＥＣＵ１２が作成する。元データバッファ１１４２は、後述する手順にしたがって走行軌道データ１２４１を保存したデータである。したがってこれらは同一の構成を有するので、以下では元データバッファ１１４２が有する各データフィールドについて説明する。
【００２６】
行動ＩＤ１１４２１は動作シーケンスの番号であり、車両は例えば番号が小さい順に動作を実施する。距離１１４２２は、当該番号のシーケンスにおいて走行する距離である。曲率１１４２３は、当該番号のシーケンスにおける走行角度である。例えば曲率１１４２３が０％で距離１１４２２が３００である場合は、３００メール直進することを示す。
【００２７】
自動運転統合ＥＣＵ１２は、例えば所定周期ごとに、次の周期までの走行計画を作成する。車両の周辺環境は時々刻々変化するので、自動運転統合ＥＣＵ１２は周期毎にその時点における状況を反映した上で、走行軌道データ１２４１を逐次作成する。
【００２８】
図９は、代替データバッファ１１４３と走行軌道データ１３４１の例である。走行軌道データ１３４１は、自動駐車ＥＣＵ１３が自動運転統合ＥＣＵ１２に代わって作成した自動運転の走行計画を表すデータである。代替データバッファ１１４３は、後述する手順にしたがって走行軌道データ１３４１を保存したデータである。したがってこれらは走行軌道データ１２４１と同一の構成を有する。
【００２９】
図１０は、比較テーブル１１４４の例である。比較テーブル１１４４は、機能代替前の制御パラメータと機能代替後の制御パラメータとの間の差分として許容される範囲を、車両制御システム１が備える制御機能ごとに規定するデータテーブルである。機能ＩＤ１１４４１は、車両制御システム１が備える制御機能の種類を表す。例えば０は自動運転統合ＥＣＵ１２を示す。許容閾値１１４４２は、故障前のＥＣＵが算出した制御パラメータと故障後の代替ＥＣＵが算出した制御パラメータとの間の差分として許容される値を示す。
【００３０】
図１０に示すデータ例においては、自動運転統合ＥＣＵ１２が算出する制御パラメータに関する許容閾値１１４４２を例示している。具体的には、自動運転統合ＥＣＵ１２が故障する前に算出した距離１１４２２と、自動運転統合ＥＣＵ１２が故障した後に自動駐車ＥＣＵ１３が代替実行により算出した距離１１４３２との間の差分として許容される範囲を規定している。監視部１１３３は、故障発生前のＥＣＵと機能代替ＥＣＵがそれぞれ算出した制御パラメータ間の差分が許容閾値１１４４２以内に収まっているか否かを確認することにより、代替の成否を判定する。
【００３１】
ＥＣＵ故障発生から機能代替を開始するまでの間にも車両は動き続けると考えられるので、許容閾値１１４４２はそのことを考慮して設定する必要がある。例えば、自動運転統合ＥＣＵ１２の故障を検知してから機能代替が開始するまでの時間が１００ｍｓである場合、時速１００ｋｍで走行している車は１００ｍｓの間に約２．８メートル走行する。そうすると、行動ＩＤ１２４１１と同じ行動ＩＤ１３４１１について自動駐車ＥＣＵ１３が算出すべき距離１３４１２は、距離１２４１２よりも２．８メートル少ないことになる。したがって、自動運転統合ＥＣＵ１２に関する許容閾値１１４４２は、２．８メートルまたはこれに適当な係数や誤差を加味した数値とすることが望ましい。図１０においては若干の誤差を考慮して３メートルとした。
【００３２】
図１１は、エラーカウンタ１１４５の例である。エラーカウンタ１１４５は、自動運転統合ＥＣＵ１２が故障したときこれを代替実行することに失敗した回数を記録するデータである。
【００３３】
図１２は、送信バッファ１１４６の例である。送信バッファ１１４６は、監視装置１１が車載ネットワーク１６に対して送信するデータを一時的に蓄積するバッファである。各ＥＣＵも同様のバッファを備えることができる。送信バッファ１１４６は、データＩＤ１１４６１、データ値１１４６２、送信要求フラグ１１４６３を有する。
【００３４】
データＩＤ１１４６１は、車載ネットワーク１６上で送受信されるデータの種別を表す値である。例えば車載ネットワーク１６がＣＡＮである場合、データＩＤ１１４６１としてＣＡＮ  ＩＤを用いることができる。データ値１１４６２は、車載ネットワーク１６に対して送信されるデータ値を示す。送信要求フラグ１１４６３がセットされると、送信バッファ１１４６から車載ネットワーク１６に対してデータが送出される。
【００３５】
図１３は、送信要求フラグ１２４２の例である。送信要求フラグ１２４２がセットされると、走行軌道データ１２４１が車載ネットワークに対して送出される。送信要求フラグ１３４３と走行軌道データ１３４１についても同様である。
【００３６】
図１４は、機能代替フラグ１３４２の例である。機能代替フラグ１３４２は、自動駐車ＥＣＵ１３が自動運転統合ＥＣＵ１２に代わって走行計画を作成する処理を代替実行するか否かを示すフラグである。
【００３７】
図１５は、車両制御システム１の動作を説明するシーケンス図である。以下図１５を用いて車両制御システム１の全体動作を説明し、個々の詳細動作については図１６以降で説明する。
【００３８】
自動運転統合ＥＣＵ１２は、走行軌道データ１２４１を監視装置１１に対して送信する。送信する間隔は周期的であってもよいし、監視装置１１からのリクエストに応じて返信してもよい。監視装置１１は、受信した走行軌道データ１２４１を元データバッファ１１４２へ保存する。
【００３９】
自動運転統合ＥＣＵ１２が故障すると、監視装置１１は自動運転統合ＥＣＵ１２が故障したことを検知する。例えば、周期的に受信していた走行軌道データ１２４１が送られなくなった場合、自動運転統合ＥＣＵ１２が故障としたと判断する。監視装置１１は、自動運転統合ＥＣＵ１２に代わって走行計画を作成するように自動駐車ＥＣＵ１３に対して依頼する。自動駐車ＥＣＵ１３はその依頼を受け取ると、代替実行を開始する。
【００４０】
ナビＥＣＵ１４は、周期的に目的地／周辺地図／経路などのナビゲーションデータを車載ネットワーク１６に送信している。車載ネットワーク１６はバス型ネットワークであるため、自動運転統合ＥＣＵ１２が故障する前に受信していたナビゲーションデータを自動駐車ＥＣＵ１３も受信することができる。自動駐車ＥＣＵ１３は、ナビＥＣＵ１４から受信したナビゲーションデータなどを用いて走行軌道データ１３４１を作成し、監視装置１１に対して送信する。
【００４１】
監視装置１１は、自動運転統合ＥＣＵ１２が故障する前に算出した走行軌道データ１２４１と、自動駐車ＥＣＵ１３が代替実行によって算出した走行軌道データ１３４１を比較し、代替実行が成功したか否かを判定する。監視装置１１は、判定結果をメータＥＣＵ１５に送信する。メータＥＣＵ１５はその判定結果を画面に表示することにより代替成否を運転手に知らせる。
【００４２】
図１６は、故障検知部１１３１の動作を説明するフローチャートである。以下、図１６の各ステップについて説明する。
【００４３】
（図１６：ステップＳ１１３１０１）
故障検知部１１３１は、走行軌道データ１２４１を受信することができたか否かを判定する。例えば後述の図２１において故障検知部１１３１を呼び出す際の引数により、走行軌道データ１２４１を受信することができたか否かを区別することができる。走行軌道データ１２４１を受信していない場合はステップＳ１１３１０２へ進み、受信している場合は本フローチャートを終了する。
【００４４】
（図１６：ステップＳ１１３１０２）
故障検知部１１３１は、代替依頼部１１３２を呼び出す。代替依頼部１１３２は、自動駐車ＥＣＵ１３に対して代替実行を依頼する役割を有する。
【００４５】
図１７は、代替依頼部１１３２の動作を説明するフローチャートである。以下、図１７の各ステップについて説明する。
【００４６】
（図１７：ステップＳ１１３２０１）
代替依頼部１１３２は、自動駐車ＥＣＵ１３に対して代替実行を依頼するデータを送信バッファ１１４６に格納し、当該データの送信要求フラグ１１４６３を１（送出するよう要求する値）にセットする。
【００４７】
図１８は、監視部１１３３の動作を説明するフローチャートである。以下、図１８の各ステップについて説明する。
【００４８】
（図１８：ステップＳ１１３３０１）
監視部１１３３は、状態データ１１４１の値を確認することにより、自動運転統合ＥＣＵ１２が正常状態であるか否かを確認する。例えば値が０であれば正常、１であれば異常である。正常である場合はステップＳ１１３３０２に進み、異常である場合はＳ１１３３０３に進む。
【００４９】
（図１８：ステップＳ１１３３０２）
監視部１１３３は、受信した走行軌道データ１２４１を元データバッファ１１４２に格納する。走行軌道データ１２４１は、例えば監視部１１３３を呼び出す際の引数として引き渡すことができる。
【００５０】
（図１８：ステップＳ１１３３０３）
監視部１１３３は、受信した走行軌道データ１３４１を代替データバッファ１１４３に格納する。走行軌道データ１３４１は、例えば監視部１１３３を呼び出す際の引数として引き渡すことができる。
【００５１】
（図１８：ステップＳ１１３３０４）
監視部１１３３は、元データバッファ１１４２が格納している走行軌道データ１２４１と代替データバッファ１１４３が格納している走行軌道データ１３４１を比較し、両者の間の差分が許容閾値１１４４２以内であるか否かを確認する。閾値以内である場合はステップＳ１１３３０５に進み、それ以外である場合はステップＳ１１３３０６に進む。
【００５２】
（図１８：ステップＳ１１３３０４：補足その１）
本ステップにおいては、差分が許容閾値１１４４２の範囲内に収まるか否かによって代替成否を判定しているが、判定基準はこれに限らない。例えば、差分が想定値と等しいか否かによって判定してもよい。
【００５３】
（図１８：ステップＳ１１３３０４：補足その２）
走行軌道データ１２４１と１３４１が複数の動作ステップ（すなわち複数の行動ＩＤ）によって構成されている場合、監視部１１３３は現在時刻以降の走行計画に対応する行動ＩＤごとに本ステップを実施する。いずれかの行動ＩＤについて差分が許容閾値１１４４２を超えている場合は代替失敗とみなしてもよいし、例えば差分の総和が許容閾値１１４４２を超えている場合は代替失敗とみなしてもよい。
【００５４】
（図１８：ステップＳ１１３３０５）
監視部１１３３は、判定部１１３４を呼び出す。判定部１１３４に対して引き渡す引数は、ステップＳ１１３３０４の差分が許容閾値１１４４２以内であることを示す値（例えば０）とする。
【００５５】
（図１８：ステップＳ１１３３０６）
監視部１１３３は、判定部１１３４を呼び出す。判定部１１３４に対して引き渡す引数は、ステップＳ１１３３０４の差分が許容閾値１１４４２を超えていたことを示す値（例えば１）とする。
【００５６】
図１９は、判定部１１３４の動作を説明するフローチャートである。以下、図１９の各ステップについて説明する。
【００５７】
（図１９：ステップＳ１１３４０１）
判定部１１３４は、元データと代替データとの間の差分が許容閾値１１４４２以内であるか否かを判定する。例えば引き渡された引数が０であるか否かによって判定することができる。許容閾値１１４４２以内である場合はステップＳ１１３４０２に進み、それ以外である場合はステップＳ１１３４０３に進む。
【００５８】
（図１９：ステップＳ１１３４０２）
判定部１１３４は、エラーカウンタ１１４５を０にリセットする。
【００５９】
（図１９：ステップＳ１１３４０３）
判定部１１３４は、エラーカウンタ１１４５に１を加える。
【００６０】
（図１９：ステップＳ１１３４０４）
判定部１１３４は、エラーカウンタ１１４５が所定の閾値以上に達しているか否かを判定する。エラーカウンタ１１４５がこの閾値以上である場合は、代替実行が失敗したとみなす。本フローチャートにおいては例として３回とした。エラーカウンタ１１４５が３以上である場合はステップＳ１１３４０６に進み、それ以外である場合は本フローチャートを終了する。
【００６１】
（図１９：ステップＳ１１３４０５）
判定部１１３４は、通知部１１３５を呼び出す。通知部１１３５に対して引き渡す引数は、代替実行が成功したことを示す値（例えば０）とする。
【００６２】
（図１９：ステップＳ１１３４０６）
判定部１１３４は、通知部１１３５を呼び出す。通知部１１３５に対して引き渡す引数は、代替実行が失敗したことを示す値（例えば１）とする。
【００６３】
図２０は、通知部１１３５の動作を説明するフローチャートである。以下、図２０の各ステップについて説明する。
【００６４】
（図２０：ステップＳ１１３５０１）
通知部１１３５は、代替実行が成功したか否かを確認する。例えば引き渡された引数が０であれば成功、１であれば失敗である。代替実行に成功した場合はステップＳ１１３５０２に進み、それ以外である場合はステップＳ１１３５０３に進む。
【００６５】
（図２０：ステップＳ１１３５０２）
通知部１１３５は、機能代替が成功したことを通知するためのデータを送信バッファ１１４６に格納する。データＩＤ１１４６１は、代替成否を通知するためのデータに対してあらかじめ割り当てられている値とする。通知部１１３５は、格納したデータの送信要求フラグ１１４６３を１にセットする。
【００６６】
（図２０：ステップＳ１１３５０３）
通知部１１３５は、機能代替が失敗したことを通知するためのデータを送信バッファ１１４６に格納する。データＩＤ１１４６１は、代替成否を通知するためのデータに対してあらかじめ割り当てられている値とする。通知部１１３５は、格納したデータの送信要求フラグ１１４６３を１にセットする。
【００６７】
図２１は、通信部１１３６の動作を説明するフローチャートである。ＣＰＵ１１１は、例えば走行軌道データ１２４１と１３４１を受信済であると想定される周期で本フローチャートを繰り返し実行する。以下、図２１の各ステップについて説明する。
【００６８】
（図２１：ステップＳ１１３６０１）
通信部１１３６は、走行軌道データ１２４１または１３４１を受信済であるか否かを確認する。受信済である場合はステップＳ１１３６０２に進み、受信していない場合はステップＳ１１３６０３に進む。
【００６９】
（図２１：ステップＳ１１３６０２）
通信部１１３６は、受信した走行軌道データ１２４１または１３４１を引数にして監視部１１３３を呼び出す。
【００７０】
（図２１：ステップＳ１１３６０３）
通信部１１３６は、走行軌道データ１２４１または１３４１を受信していないことを示す値（例えば０）を引数として、故障検知部１１３１を呼び出す。
【００７１】
（図２１：ステップＳ１１３６０３：補足）
本ステップにおいては、走行軌道データ１２４１または１３４１を受信していなければ即座に故障検知部１１３１を呼び出しているが、これに限らない。例えば受信しなかった回数をカウントし、カウント値がある値程度以上となった時点で故障検知部１１３１を呼び出してもよい。
【００７２】
（図２１：ステップＳ１１３６０４）
通信部１１３６は、走行軌道データ１２４１または１３４１を受信したことを示す値（例えば１）を引数として、故障検知部１１３１を呼び出す。
【００７３】
（図２１：ステップＳ１１３６０５）
通信部１１３６は、送信バッファ１１４６の送信要求フラグ１１４６３が１にセットされているデータがあるか否かを確認する。ある場合はステップＳ１１３６０６に進み、ない場合は本フローチャートを終了する。
【００７４】
（図２１：ステップＳ１１３６０６）
通信部１１３６は、送信要求フラグ１１４６３が１にセットされているデータを車載ネットワーク１６に対して送信する。通信部１１３６は、送信したデータに対応する送信要求フラグ１１４６３を０にリセットする。
【００７５】
図２２は、走行軌道生成部１２３１の動作を説明するフローチャートである。ＣＰＵ１２１は、例えば周期的に本フローチャートを実行する。以下、図２２の各ステップについて説明する。
【００７６】
（図２２：ステップＳ１２３１０１）
走行軌道生成部１２３１は、目的地に到達するために必要な走行軌道データ１２４１を生成し、送信要求フラグ１２４２を１にセットする。
【００７７】
（図２２：ステップＳ１２３１０２）
走行軌道生成部１２３１は、通信部１２３２を呼び出す。
【００７８】
図２３は、通信部１２３２の動作を説明するフローチャートである。以下、図２３の各ステップについて説明する。
【００７９】
（図２３：ステップＳ１２３２０１）
通信部１２３２は、送信要求フラグ１２４２が１にセットされている走行軌道データ１２４１を車載ネットワーク１６に対して送信する。
【００８０】
（図２３：ステップＳ１２３２０２）
通信部１２３２は、送信したデータに対応する送信要求フラグ１２４２を０にクリアする。
【００８１】
図２４は、自動駐車部１３３１の動作を説明するフローチャートである。ＣＰＵ１３１は、例えば運転手が自動運転を指示したとき、本フローチャートを実行する。以下、図２４の各ステップについて説明する。
【００８２】
（図２４：ステップＳ１３３１０１）
自動駐車部１３３１は、車両のギアがバックに入っており、かつ、自動駐車機能がオンになっている場合は、運転手による操作に依拠せず自動的に車両を駐車する。
【００８３】
図２５は、代替処理部１３３２の動作を説明するフローチャートである。以下、図２５の各ステップについて説明する。
【００８４】
（図２５：ステップＳ１３３２０１）
代替処理部１３３２は、機能代替フラグ１３４２が１であるか否かを確認する。１である場合はステップＳ１３３２０２に進み、それ以外である場合はステップＳ１３３２０３に進む。
【００８５】
（図２５：ステップＳ１３３２０２）
代替処理部１３３２は、目的地に到着するために必要な走行軌道データ１３４１を生成し、送信要求フラグ１３４３を１にセットする。
【００８６】
（図２５：ステップＳ１３３２０２：補足）
代替処理部１３３２は、走行軌道データ１３４１を生成する処理を、走行軌道生成部１２３１と同じ機能レベルで実施してもよいし、機能レベルを下げて実施してもよい。ここでいう機能レベルとは、例えば動作シーケンスの個数、精度、などのように、走行軌道データの有用度に対応する制御パラメータである。代替処理部１３３２の機能レベルを走行軌道生成部１２３１よりも落とす場合は、安全度水準の上昇を最低限に抑えることができる。
【００８７】
（図２５：ステップＳ１３３２０３）
代替処理部１３３２は、通信部１３３３を呼び出す。
【００８８】
図２６は、通信部１３３３の動作を説明するフローチャートである。以下、図２６の各ステップについて説明する。
【００８９】
（図２６：ステップＳ１３３３０１）
通信部１３３３は、送信要求フラグ１３４３が１であるか否かを確認する。１である場合はステップＳ１３３３０２に進み、それ以外である場合はステップＳ１３３３０４に進む。
【００９０】
（図２６：ステップＳ１３３３０２）
通信部１３３３は、送信要求フラグ１３４３が１にセットされている走行軌道データ１３４１を車載ネットワーク１６に対して送信する。
【００９１】
（図２６：ステップＳ１３３３０３）
通信部１３３３は、送信したデータに対応する送信要求フラグ１３４３を０にクリアする。
【００９２】
（図２６：ステップＳ１３３３０４）
通信部１３３３は、受信したナビゲーションデータがあり、かつ、機能代替フラグ１３４２が１であるか否かを確認する。これら条件に該当する場合はステップＳ１３３３０５に進み、それ以外の場合は本フローチャートを終了する。
【００９３】
（図２６：ステップＳ１３３３０５）
通信部１３３３は、受信したデータを代替処理部１３３２が参照することができるバッファに保存する。
【００９４】
図２７は、ナビゲーション部１４３１の動作を説明するフローチャートである。ＣＰＵ１４１は、例えば周期的に本フローチャートを実行する。以下、図２７の各ステップについて説明する。
【００９５】
（図２７：ステップＳ１４３１０１）
ナビゲーション部１４３１は、ユーザが設定した目的地に到着するための全体ルートを計算する。
【００９６】
（図２７：ステップＳ１４３１０２）
ナビゲーション部１４３１は、現在の車の周辺地図、目的地、走行経路を引数として、通信部１４３２を呼び出す。
【００９７】
図２８は、通信部１４３２の動作を説明するフローチャートである。以下、図２８の各ステップについて説明する。
【００９８】
（図２８：ステップＳ１４３２０１）
通信部１４３２は、引数として渡された周辺地図、目的地、走行経路などのナビゲーションデータを車載ネットワーク１６に対して送信する。
【００９９】
（図２８：ステップＳ１４３２０１：補足）
本ステップにおいては、ナビＥＣＵ１４から自発的にナビゲーションデータを車載ネットワーク１６に対して送信し、機能代替を初期化することを支援しているが、これに限らない。例えば、代替依頼に応答してナビゲーションデータを送信してもよい。
【０１００】
図２９は、表示部１５３１の動作を説明するフローチャートである。以下、図２９の各ステップについて説明する。
【０１０１】
（図２９：ステップＳ１５３１０１）
表示部１５３１は、代替実行に失敗した旨を示すデータ（例えば値が１のデータ）を受信したか否かを確認する。受信した場合はステップＳ１５３１０２に進み、それ以外である場合はステップＳ１５３１０３に進む。
【０１０２】
（図２９：ステップＳ１５３１０２）
表示部１５３１は、自動駐車ＥＣＵ１３が自動運転統合ＥＣＵ１２に代わって機能を実行することに失敗した旨を、表示装置１５６に表示する。
【０１０３】
（図２９：ステップＳ１５３１０３）
表示部１５３１は、代替実行に成功した旨を示すデータ（例えば値が０のデータ）を受信したか否かを確認する。受信した場合はステップＳ１５３１０４に進み、それ以外の場合は本フローチャートを終了する。
【０１０４】
（図２９：ステップＳ１５３１０４）
表示部１５３１は、自動駐車ＥＣＵ１３が自動運転統合ＥＣＵ１２に代わって機能を実行することに成功した旨を、表示装置１５６に表示する。
【０１０５】
図３０は、通信部１５３２の動作を説明するフローチャートである。ＣＰＵ１５１は、例えば周期的に本フローチャートを実行することにより、車両の運転手に対して代替実行の成否を通知することができる。以下、図３０の各ステップについて説明する。
【０１０６】
（図３０：ステップＳ１５３２０１）
通信部１５３２は、受信したデータがあるか否かを確認する。ある場合はステップＳ１５３２０２に進み、ない場合は本フローチャートを終了する。
【０１０７】
（図３０：ステップＳ１５３２０２）
通信部１５３２は、表示部１５３１を呼び出す。
【０１０８】
＜実施の形態１：まとめ＞
本実施形態１に係る車両制御システム１は、代替開始前後に係る制御パラメータを比較することにより、自動駐車ＥＣＵ１３が機能代替に成功したか否かを判定することができる。したがって、高信頼性が求められる自動運転システムにおいて適している。
【０１０９】
本実施形態１に係る車両制御システム１は、ＥＣＵ間の機能代替によって機能を冗長化するので、ＥＣＵ本体を冗長化する必要がない。したがって、高信頼なシステムを低コストで構築できる。
【０１１０】
＜実施の形態２＞
図３１は、本発明の実施形態２に係る車両制御システム１の構成図である。ゲートウェイ２１は、実施形態１で説明した監視装置１１と同じ構成を有する監視部２１１を備えるとともに、車載ネットワークにおける通信を中継する役割を有する。
【０１１１】
本実施形態２において、メータＥＣＵ１５とナビＥＣＵ１４は車載ネットワーク１６に接続され、自動運転統合ＥＣＵ１２は車載ネットワーク２２に接続され、自動駐車ＥＣＵ１３は車載ネットワーク２３に接続されている。各車載ネットワークはゲートウェイ２１を介して接続され、ゲートウェイ２１が通信データを中継することによって相互通信することができる。車載ネットワーク２２と車載ネットワーク２３は、Ｅｔｈｅｒｎｅｔ（登録商標）のような１対１通信のネットワークである。
【０１１２】
ゲートウェイ２１は、自動駐車ＥＣＵ１３が機能代替に失敗したと判定した場合、自動駐車ＥＣＵ１３から送信されるデータをすべて転送しなくてもよい。例えば走行軌道データ１３４１を受信しても転送せずに破棄することができる。これにより正常でないデータの影響範囲を最小限に留めることができる。
【０１１３】
ゲートウェイ２１は、自動駐車ＥＣＵ１３が機能代替を開始した後（あるいは代替依頼を発行した後）、自動運転統合ＥＣＵ１２が故障する前の時点で自動運転統合ＥＣＵ１２に対して転送していたデータを自動駐車ＥＣＵ１３に対して転送するように、ルーティングテーブルを変更してもよい。これにより、機能代替をスムーズに開始することができる。
【０１１４】
本実施形態２に係る車両制御システム１は、ゲートウェイ２１が通信データの中継先を制御することにより、機能代替をスムーズに開始し、または代替実行が失敗したとき他のＥＣＵに対して与える影響を最小化することができる。
【０１１５】
＜実施の形態３＞
図３２は、本発明の実施形態３に係る車両制御システム１の構成図である。本実施形態３において、自動運転ＥＣＵ１３は自動駐車マイコン１３６と監視マイコン１３７を備える。これらマイコンは例えばシリアル線によって接続されている。
【０１１６】
自動駐車マイコン１３６は、実施形態１で説明した自動駐車ＥＣＵ１３と同じ機能を実装したマイクロコンピュータである。監視マイコン１３７は、実施形態１で説明した監視装置１１と同じ機能を実装したマイクロコンピュータである。
【０１１７】
本実施形態３に係る車両制御システム１は、自動駐車ＥＣＵ１３内に監視マイコン１３７を設けて監視装置１１と同等の機能を実現しているので、監視装置１１を独立したＥＣＵとして構築するよりも安価に同等の機能を実現することができる。
【０１１８】
＜本発明の変形例について＞
本発明は上記実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換える事が可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について他の構成の追加・削除・置換をすることができる。
【０１１９】
以上の実施形態においては、機能代替の対象は走行軌道生成部１２３１としたが、その他ＥＣＵやその他機能部についても機能代替の対象とすることができる。例えば、アクチュエータが車載ネットワーク１６に対して直接接続されるシステムにおいて、エンジン制御ＥＣＵが故障すると同様の機能代替を実施することができる。また２以上の機能部を機能代替の対象とすることもできる。この場合は、状態データ１１４１を機能代替の対象としている機能ごとに設けることができる。許容閾値１１４４２、エラーカウンタ１１４５、機能代替フラグ１３４２などについても同様である。
【０１２０】
以上の実施形態においては、車両が道路の中央を走行軌道にしたがって走ることを想定しているが、これに限らない。また走行軌道データ１２４１（および１３４１）は図８〜図９で説明したように表現したが、表現形式はこれに限らない。例えば、絶対座標形式で自車位置の経時変化を記述することにより走行軌道を表することもできるし、グリッドマップ形式に基づいて走行軌道を表すこともできる。
【０１２１】
以上の実施形態においては、自動運転機能の代替成否を判定するために走行軌道データ１２４１と１３４１を比較したが、これに限らない。例えば、目標トルクの制御計画を比較することもできる。
【０１２２】
以上の実施形態において、許容閾値１１４４２を定数としたが、これに限らない。例えば、自動運転統合ＥＣＵ１２が故障してからの経過時間を測定し、その経過時間に応じて許容閾値１１４４２を動的に算出することもできる。
【０１２３】
図１２においては説明の都合上、データ長を省略しているが、送信データが車載ネットワーク１６の最大パケットサイズを超えている場合は、送信データを複数パケットに分割して送信することもできる。
【０１２４】
以上の実施形態においては、本発明を説明するために必要な範囲で送信要求フラグを用いているが、その他データを車載ネットワーク１６に対して送信する場合はそのデータごとに送信要求フラグを設けることもできる。
【０１２５】
以上の実施形態において、機能代替を依頼するＥＣＵは自動駐車ＥＣＵ１３に固定されているが、これに限らない。例えば、演算負荷の状況などに応じて他のＥＣＵに対して機能代替を依頼してもよい。
【０１２６】
以上の実施形態においては、自動駐車ＥＣＵ１３は代替処理部１３３２をあらかじめ備えているが、これに限らない。例えば、システム実行中にプログラムを転送することにより、代替先ＥＣＵが代替機能を備えるようにしてもよい。
【０１２７】
以上の実施形態においては、ＥＣＵ間で機能代替を実施する例を説明したが、同一のＥＣＵが複数のＣＰＵを備える場合において、いずれかのＣＰＵが故障した際に他のＣＰＵが故障したＣＰＵに代わって機能代替を実施する場合においても、本発明と同様の構成を用いることができる。例えば当該ＥＣＵが監視装置１１と同様の構成を備え、機能代替の成否を判定することができる。
【符号の説明】
【０１２８】
１：車両制御システム、１１：監視装置、１２：自動運転統合ＥＣＵ、１３：自動駐車ＥＣＵ、１４：ナビＥＣＵ、１５：メータＥＣＵ、１６：車載ネットワーク、２１：ゲートウェイ。
【図１】
0006535572.tif 000002
【図２】
0006535572.tif 000003
【図３】
0006535572.tif 000004
【図４】
0006535572.tif 000005
【図５】
0006535572.tif 000006
【図６】
0006535572.tif 000007
【図７】
0006535572.tif 000008
【図８】
0006535572.tif 000009
【図９】
0006535572.tif 000010
【図１０】
0006535572.tif 000011
【図１１】
0006535572.tif 000012
【図１２】
0006535572.tif 000013
【図１３】
0006535572.tif 000014
【図１４】
0006535572.tif 000015
【図１５】
0006535572.tif 000016
【図１６】
0006535572.tif 000017
【図１７】
0006535572.tif 000018
【図１８】
0006535572.tif 000019
【図１９】
0006535572.tif 000020
【図２０】
0006535572.tif 000021
【図２１】
0006535572.tif 000022
【図２２】
0006535572.tif 000023
【図２３】
0006535572.tif 000024
【図２４】
0006535572.tif 000025
【図２５】
0006535572.tif 000026
【図２６】
0006535572.tif 000027
【図２７】
0006535572.tif 000028
【図２８】
0006535572.tif 000029
【図２９】
0006535572.tif 000030
【図３０】
0006535572.tif 000031
【図３１】
0006535572.tif 000032
【図３２】
0006535572.tif 000033