(57)【特許請求の範囲】
【請求項１】
少なくとも第一の処理装置と接続される第二の処理装置であって、
前記第一の処理装置が前記第一の処理装置に搭載される制御プログラムに基づいて制御動作を実行する期間中に、前記第二の処理装置は、前記第一の処理装置から前記制御プログラムを代替する代替プログラムを取得し、
前記代替プログラムは、前記第一の処理装置が故障した際に、前記第二の処理装置が代替動作を行うためのプログラムであり、前記第一の処理装置から前記第二の処理装置への前記代替プログラムの送信は、リアルタイム性を要する通常の制御情報の通信指令より低い優先度で実行される処理装置。
処理装置。
【請求項２】
請求項１に記載の処理装置において、
前記代替プログラムは、車両制御状態に応じて決定される処理装置。 
【請求項３】
請求項１に記載の処理装置において、
前記第二の処理装置は、前記第一の処理装置から代替プログラムの実行を指示された場合に、前記代替プログラムの配置が完了している場合には前記配置された代替プログラムを実行し、配置が完了していない場合には前記配置を行っている代替プログラムとは異なるプログラムを実行することを特徴とする処理装置。 
【請求項４】
請求項１に記載の処理装置において、
前記第二の処理装置は、安全維持制御を行った後に代替プログラムの取得を行うことを特徴とする処理装置。 
【請求項５】
請求項１に記載の処理装置において、
前記第一の処理装置は、前記第二の処理装置、及び第三の処理装置に接続され、
前記第二の処理装置は前記制御動作を実行する期間中に、前記代替プログラムを前記第三の処理装置に送信する処理装置。 
【請求項６】
請求項５に記載の処理装置において、
前記第一の処理装置の故障発生後の代替プログラムの送信は、リアルタイム性を要する通常の制御情報の通信指令時よりも高い優先度を割り当てることを特徴とする処理装置。
【請求項７】
請求項１に記載の処理装置と通信を行う車載制御システムであり、
第三の処理装置を備え、
前記第二の処理装置が前記制御動作を実行する期間に、前記代替プログラムを前記第三の処理装置が取得する車載制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理装置および車両制御システムに関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特開２０１０−２８５００１号公報（特許文献１）がある。この公報には、「特定のＥＣＵに依存することなくＥＣＵの故障に対応可能な電子制御システム及び機能代行方法を提供すること。」ことを目的とし、解決手段として、「第１の電子制御ユニット１と１以上の第２の電子制御ユニットＡ、Ｂがネットワーク２０を介して接続された電子制御システム１００において、第１の電子制御ユニットは、自己機能の故障を検出する故障検出手段３６と、故障した故障機能の代行を第２の電子制御ユニットに要求する代行要求手段３５と、を有し、第２の電子制御ユニットは、故障機能の代替が可能か否かを判定する判定手段４２と、代行が可能と判定した場合、前記故障機能を代行する代行手段４１、４３と、を有する、ことを特徴とする。」と記載されている。
【０００３】
また別の背景技術として、特開２０１４−４９０１３号公報（特許文献２）がある。この公報には、「運複数のプロセッサを備えた自動車用電子制御システムにおいて、あるプロセッサに異常が発生しても、そこに割り付けられた機能を保障する。」ことを課題とし、解決手段として、「プロセッサＡ及びＢを備えた電子制御システムにおいて、プロセッサＡが独占使用するメモリＡのＲＯＭにプログラムＡ及びその機能の一部を実現するＲＡＭプログラムＡを格納する一方、プロセッサＢが独占使用するメモリＢのＲＯＭにプログラムＢ及びその機能の一部を実現するＲＡＭプログラムＢを格納する。そして、電子制御システムの起動時に、プロセッサＡのＲＡＭプログラムＡをプロセッサＢのＲＡＭに転送して展開すると共に、プロセッサＢのＲＡＭプログラムＢをプロセッサＡのＲＡＭに転送して展開する。その後、プロセッサＡ及びＢの一方に異常が発生すると、他のプロセッサがＲＡＭプログラムを実行し、異常が発生したプロセッサに割り付けられていた機能を代行する。」と記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２８５００１号公報
【特許文献２】特開２０１４−４９０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記背景技術では故障を想定した機能の再構成について記載されており、代替プログラム（機能の代替、または縮退機能の実行を行うプログラム）を故障していないＥＣＵに配置し、機能を代替させる例について記載されている。
【０００６】
しかし、近年検討されている自動運転システムのように、機能の連続的な動作が要求されるシステムにおいては、特許文献１に記載されている故障発生後の書き換えや、特許文献２に記載されている起動前の診断では、走行状態での機能の代替について即座に実行困難である。そのため、自動運転機能の突然の停止による安全性の低下を防ぐという課題がある。
【０００７】
また別の観点では、自動運転システムなど機能が多様化しており、それに伴い故障時の安全制御の方式も多様化している。故障時の状況に応じた最適な安全制御の実現も課題となる。
【０００８】
本発明は、車両制御システムの機能再構成を高速に実現可能とするシステムを提供する。
【課題を解決するための手段】
【０００９】
本発明は、少なくとも一つの処理装置と接続される処理装置であって、前記一つの処理装置が該一つの処理装置に搭載される制御プログラムに基づいて制御動作を実行する期間中に、前記制御プログラムを代替する代替プログラムを取得する。
【発明の効果】
【００１０】
本発明によれば、車両制御システムの機能再構成を高速に実現可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施例における車両制御システムのシーケンス図である。
【図２】システムの例である。
【図３】車両制御システム構成の例である。
【図４】コントローラの構成例である。
【図５】コントローラのソフトウェアモジュール構成の例である。
【図６】車両制御システムの構成例である。
【図７】車両制御システム機能の配置例である。
【図８】再構成管理部と再構成実行部の機能例である。
【図９】再構成実行時のメモリマップの例である。
【図１０】再構成時の画面表示の例である。
【図１１】故障発生時におけるシステム制御フローの例である。
【図１２】故障時に配置完了していない場合の車両制御システムのシーケンス図である。
【図１３】本発明の第２の実施例にかかる車両制御システム構成の例である。
【図１４】本発明の第２の実施例にかかる車両制御システム機能の配置例である。
【図１５】本発明の第２の実施例にかかる故障発生時のシステム制御フローの例である。
【図１６】本発明の第２の実施例にかかる車両制御システムのシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、本発明に好適な実施形態の例（実施例）を説明する。本実施例は、主には車両システムにおける車両制御システム、および車両制御装置について説明しており、車両システムにおける実施に好適であるが、車両システム以外への適用を妨げるものではない。
【実施例１】
【００１３】
＜車両制御システムの構成＞
図２は本実施例の車両制御システムおよび車両制御装置を有する車両システムの概要である。１は自動車など内部に車両制御システムを有する車両システムを示している。２は例えば車載ネットワーク（ＣＡＮ：Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、ＣＡＮＦＤ：ＣＡＮ  ｗｉｔｈ  Ｆｌｅｘｉｂｌｅ  Ｄａｔａ−ｒａｔｅ、Ｅｔｈｅｒｎｅｔ（登録商標）、等）とコントローラ（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ等）により構成される車両制御システムを示している。３は、車両システム１の外部と無線通信（例えば携帯電話の通信、無線ＬＡＮ、ＷＡＮ、Ｃ２Ｘ（Ｃａｒ ｔｏ  Ｘ：車両対車両または車両対インフラ通信）等のプロトコルを使用した通信、またはＧＰＳ：Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍを用いた通信）を行い、外界（インフラ、他車、地図）の情報または自車に関する情報を取得・送信などの無線通信を実施、または診断端子（ＯＢＤ）やＥｔｈｅｒｎｅｔ端子、外部記録媒体（例えばＵＳＢメモリ、ＳＤカード、等）端子などを有し、車両制御システム２と通信を実施する通信装置を示している。４は、例えば２と異なる、または同一のプロトコルを用いたネットワークにより構成される車両制御システムを示している。５は、車両制御システム２の制御に従い、車両運動を制御する機械および電気装置（例えばエンジン、トランスミッション、ホイール、ブレーキ、操舵装置等）の駆動を行うアクチュエータ等の駆動装置を示している。６は、外界から入力される情報を取得し、後述する外界認識情報を生成するための情報を出力する、カメラ、レーダ、ＬＩＤＡＲ、超音波センサなどの外界センサ、および、車両システム１の状態（運動状態、位置情報、加速度、車輪速度等）を認識する力学系センサにより構成される認識装置を示している。７は、ネットワークシステムに有線または無線で接続され、ネットワークシステムから送出されるデータを受信し、メッセージ情報（例えば映像、音）など必要な情報を表示または出力する、液晶ディスプレイ、警告灯、スピーカなどの出力装置を示している。８は、ユーザが車両制御システム２に対して、操作の意図や指示を入力する入力信号を生成するための、例えばステアリング、ペダル、ボタン、レバー、タッチパネル、等の入力装置を示している。９は、車両システム１が外界に対して、車両の状態等を通知するための、ランプ、ＬＥＤ、スピーカ等の通知装置、を示している。
【００１４】
車両制御システム２は、その他の車両制御システム４、無線通信部３、駆動装置５、認識装置６、出力装置７、入力装置８、通知装置９などと接続され、それぞれ情報の送受信を行う。
【００１５】
図３は、車両制御システム２のＨ／Ｗ（Ｈａｒｄｗａｒｅ）構成例を示している。３０１は車載ネットワーク上のネットワーク装置を接続するネットワークリンクであり、例えばＣＡＮバスなどのネットワークリンク、３０２はネットワークリンク３０１および駆動装置５や認識装置６や３０１以外のネットワークリンク（専用線含む）に接続され、駆動装置５や認識装置６の制御および情報取得、ネットワークとのデータ送受信を行うＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ：電子制御ユニット）、３０３は複数のネットワークリンク３０１を接続し、それぞれのネットワークリンクとデータの送受信を行うゲートウェイ（以下ＧＷ）、を示している。
【００１６】
ネットワークトポロジの例は、図３に示す２つのバスに複数のＥＣＵが接続されているバス型の例以外にも、複数のＥＣＵが直接ＧＷに接続されるスター型や、ＥＣＵが一連のリンクにリング状に接続されているリンク型、それぞれの型が混在し複数のネットワークにより構成される混在型、等がある。ＧＷ３０３とＥＣＵ３０２については、それぞれＧＷ機能を有するＥＣＵ、またはＥＣＵの機能を有するＧＷと、がある。
【００１７】
ＥＣＵ３０２はネットワークから受信したデータをもとに、駆動装置５への制御信号の出力、認識装置６からの情報の取得、ネットワークへの制御信号および情報の出力、内部状態の変更、などの制御処理を行う。  
図４は、本発明にかかるネットワーク装置であるＥＣＵ３０２またはＧＷ３０３の内部構成の一例である。４０１はキャッシュやレジスタなどの記憶素子を持ち、制御を実行するＣＰＵなどのプロセッサ、４０２はネットワークリンク３０１またはネットワークや専用線で接続された駆動装置５または／および認識装置６に対してデータの送受信を行うＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）、４０３は図示しないクロックなどを使用し、時間および時刻の管理を行うタイマ、４０４はプログラムおよび不揮発性のデータを保存するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、４０５はプログラムおよび揮発性のデータを保存するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、４０６はＥＣＵ内部での通信に用いられる内部バス、を示している。
【００１８】
次にプロセッサ４０１で動作するソフトウェアモジュールの構成について図５に示す。５０２は、通信Ｉ／Ｆ４０２の動作および状態を管理し、内部バス４０６を介し通信Ｉ／Ｆ４０２に指示を行う通信管理部、５０３は、タイマ４０３を管理し、時間に関する情報取得や制御を行う時間管理部、５０１は通信Ｉ／Ｆ４０２から取得したデータの解析や、ソフトウェアモジュール全体の制御を行う制御部、５０４は車両制御に必要な情報を保持するデータテーブル、５０５は一時的にデータを保持するバッファ、を表している。
【００１９】
これら図５の構成についてはプロセッサ４０１上の動作概念を示したものであり、動作時に必要な情報はＲＯＭ４０４およびＲＡＭ４０５から適宜取得、またはＲＯＭ４０４およびＲＡＭ４０５に適宜書き込み、を行い動作する。
【００２０】
後述する車両制御システムの各機能は、制御部５０１にて実行される。
【００２１】
＜車両制御システムの機能構成例＞
車両制御システムの機能構成例について図６に示す。６０１は本発明にかかる車両制御システム全体を示している。６０２は複数の認識装置６および通信装置３から出力される外界認識情報を統合した外界認識マップを作成する統合認識部を示している。６０３は統合認識部６０２により生成された前記外界認識マップおよびユーザ入力部６０４から入力されたユーザ入力により、自動運転制御情報（軌道等）の生成および出力を示している。出力管理部６０５への出力指示、および通知管理部６０６への通知指示を行う自動運転制御部を示している。６０４は入力装置８からの入力に従い、ユーザの指示情報を生成するユーザ入力部を示している。６０５は自動運転制御部６０３および異常検出部６０７の出力に応じ出力装置７への出力指示を行う出力管理部を示している。６０６は自動運転制御部６０３および異常検出部６０７の出力に応じ通知装置９への通知指示を行う通知管理部を示している。６０７は自動運転制御部６０３からの自動運転制御情報等の通知または図示していない各部からの通知により異常を検出する異常検出部を示している。６０８は、異常検出部６０７の異常検出結果等により、運動制御部６０９に対する出力を自動運転制御部６０３からの入力またはユーザ入力部６０４からの入力に切替える切替部を示している。６０９は、切替部６０８からの軌道情報または運動制御情報、認識装置６から取得する車両システム１の状態、および駆動装置５からの応答、に従い複数の駆動装置５に対して制御を行う運動制御部を示している。６１０は、自動運転制御部６０３からの情報および異常検出部６０７からの通知を受け、代替プログラムの取得、代替プログラムおよび指示を各部に出力、ユーザまたは外部への出力を出力管理部６０５と通知管理部６０６に出力する再構成管理部を示している。６１１は、前記再構成管理部６１０の指示または代替プログラムを受信して代替プログラムの配置や実行、配置完了の通知を行う再構成実行部を示している。
【００２２】
運動制御情報とは、例えば加速度やヨーレート等の運動制御パラメータの目標値や、各駆動装置５への制御指令値、およびそれらの時系列での連続値を示している。
【００２３】
車両制御システムには、通信装置３、駆動装置５、認識装置６、出力装置７、入力装置８、通知装置９の一部またはすべてが含まれる場合もある。また車両制御装置は、前記車両制御システムにおける一部またはすべての機能を有する装置を指す。
【００２４】
車両制御システム６０１は複数の機能から構成されており、図３に示すＨ／Ｗへの機能配置は複数のパターンが存在する。配置の一例について図７に示す。機能の配置はこれに限らず、それぞれの機能は記載と別のＥＣＵに配置されていても良い。
【００２５】
＜再構成管理部の構成＞
再構成管理部６１０および再構成実行部６１１の詳細な構成について図８に示す。再構成管理部６１０は、下記の各部により構成されている。８０１は自動運転制御部６０３等から現在の車両制御状態を受信する制御状態監視部、８０２は現在の車両制御状態を判定し、いずれのＥＣＵにどの代替プログラムを配置するかという再構成の方針を決定する制御状態判定部、８０３は再構成に関する情報を出力管理部６０５または通知管理部６０６に通知する情報通知部、８０４は、代替プログラムを再構成管理部が配置されたＥＣＵ、またはネットワークリンク３０１や通信装置３等を介し異なる場所の記憶領域（クラウド、ＲＯＭ、ＨＤＤ、ＲＡＭ等）から取得する代替プログラム取得部、８０５は、代替プログラムを送信する代替プログラム送信部、８０６は、異常時の制御を後述する異常時制御決定方法に従い決定する異常時制御決定部、を表している。
【００２６】
再構成実行部６１１は、下記の各部により構成されている。８１０は、再構成管理部６１０等により送信される代替プログラムを受信する代替プログラム受信部を示している。８１１は、前記受信した代替プログラムを記憶領域（ＲＯＭ、ＲＡＭ等）に配置する代替プログラム配置部を示している。８１２は、代替プログラムの記憶領域への配置が完了したことを再構成管理部６１０等に通知する配置完了通知部を示している。８１３は、再構成管理部からの代替プログラム受信指示または代替プログラムの実行指示を受ける再構成指示受信部を示している。８１４は、記憶領域に配置した代替プログラムを実行する代替プログラム実行部を示している。
【００２７】
これら再構成管理部６１０と再構成実行部６１１の内部の各部はそれぞれに通信を行い、必要な情報や指示をやり取りする。また再構成管理部６１０と再構成実行部６１１の機能分担についてはこの例に因らず、例えば代替プログラムの取得は再構成管理部６１０でなく再構成実行部６１１が直接実行しても良い。その場合には再構成管理部６１０による代替プログラムの送受信処理が不要となり、処理負荷が低減される。
【００２８】
また再構成管理部６１０と再構成実行部６１１については、システムの中で複数存在することが可能である。例えばあるＥＣＵ＿Ａの機能代替を、ＥＣＵ＿ＢだけでなくＥＣＵ＿Ｃ、ＥＣＵ＿Ｄも実行するように再構成実行部６１１をそれぞれに複数配置することも可能であり、同時にＥＣＵ＿Ｂの機能代替をＥＣＵ＿Ｃが行うことも可能である。このようにすることにより、一つのＥＣＵの機能代替を複数のＥＣＵが実施し、また複数のＥＣＵの機能代替を同時に行うことが可能となる。
【００２９】
またそれら管理を、ＥＣＵ＿Ｅが１か所で集中的に行うことも、ＥＣＵ＿ＥとＥＣＵ＿Ｆが分散して管理することも可能である。これにより、再構成管理の一部機能が故障してもその他のＥＣＵが補うことができ、より安全性を高めることが可能である。
【００３０】
＜異常検出＞
異常の検出方法について説明する。異常とは、ハードウェア故障やソフトウェアの不具合、想定外の入力等を原因として発生する通常時想定している状態と異なる状態を示している。車両制御システム２の各部は、ネットワークまたは専用線等の通信経路を介して通信を行っており、通信の異常については、通信が行えない（通信処理がエラー応答、信号線の電位が異常）、通信の信号値が異常、等が発生する。これら通信の異常について、電気回路での異常検出（電位検出等）、定期的な生存確認（ハートビート）、ＣＲＣ等の誤り検出符号のエラー検出、することにより、通信の異常が検出可能である。
【００３１】
また演算装置の故障については、同じ演算を行った結果の検算（演算結果の比較）により異常検出可能であり、メモリの故障については前記ＲＡＭやＲＯＭにアクセスした場合の誤り検出等により検出可能である。
【００３２】
またソフトウェアの不具合については、前記同じ演算を行った結果の比較以外にも、出力結果の範囲異常により検出することも可能である。
【００３３】
これら異常を異常検出部６０７は自ら検出、または各部からの異常を検出した通知を受信することにより異常を検出する。例えば自動運転制御部６０３は、認識装置６、通信装置３、統合認識部６０２、およびそれらの間の通信のいずれかの部分で異常が発生していることを自動運転制御情報に情報として付与して送信し、異常検出部６０７は前記情報を受信し異常発生を検出する。異常を検出した結果により後述する代替プログラムの実行などの異常時制御を実施する。
【００３４】
また異常検出部６０７は、出力管理部６０５または／および通知管理部６０６に対して異常を検知したことを通知する。これにより、出力管理部６０５または／および通知管理部６０６は後述する車両状態のユーザへの出力または／および車外への通知を実施する。
【００３５】
＜再構成処理シーケンス＞
本実施例にかかる再構成処理の処理シーケンスについて図１を用いて説明する。ここではＥＣＵ＿Ａが再構成管理部６１０を有し再構成指示を行い、かつ故障が発生する制御（例：自動運転制御部）を有する例を表している。ＥＣＵ＿Ｂは再構成実行部６１１を有し、代替制御を実施するＥＣＵ、ＥＣＵ＿Ｃが通常時にＥＣＵ＿Ａから制御を受けている例を示している。
【００３６】
通常時にＥＣＵ＿Ａは、制御信号をＥＣＵ＿Ｃに対して出力する（Ｓ１０１）。またＥＣＵ＿Ｂも通常時にＥＣＵ＿Ｃに制御信号を出力しているとする（Ｓ１０２）。その後走行を続けた結果、後述する車両制御状態が変更になった場合、ここではＥＣＵ＿Ａの自動運転制御部６０３がそれを判断し、再構成管理部６１０に車両制御状態の変更を通知する（Ｓ１０３）。前期通知を受けた再構成管理部６１０は、代替プログラムを自ら取得する。またはいずれかのＥＣＵまたストレージに出力するように指示を行う（Ｓ１０４）。この場合の代替プログラムの取得先は、車両システム内部のいずれかのＥＣＵ、もしくはストレージ（ＨＤＤ等）、または通信装置３やＧＷを解して車両システム外部から取得する。もしくはＥＣＵ＿Ａ内など、機能代行を依頼するＥＣＵにあらかじめ保持しておく。代替プログラムを取得した（Ｓ１０５）ＥＣＵ＿Ａは、故障時に機能代行を行うＥＣＵ＿Ｂに前記代替プログラムを送信する（Ｓ１０６）前記代替プログラムを受信したＥＣＵ＿Ｂは、後述する図９の例の様に代替プログラムを配置する。またすべてのプログラムを受信および配置が完了した時点で配置完了通知を行う（Ｓ１０７）。再構成の管理を行いながら、ＥＣＵ＿Ａは通常時の制御を継続して実施する（Ｓ１０８）。
【００３７】
その後故障が発生した場合には（Ｓ１０９）、例えばＥＣＵ＿Ａ内の異常検出部６０７が検出し、ＥＣＵ＿Ｂへ故障発生の通知を行う。またはＥＣＵ＿Ｂは通信が途絶したことにより異常を検出する（Ｓ１１０）。前記故障を認識したＥＣＵ＿Ｂは、保持していた代替プログラムの実行を開始する（Ｓ１１１）。その時点で制御を引き継ぎ、ＥＣＵ＿ＢからＥＣＵ＿Ｃに対して代替での制御を実施する（Ｓ１１２）。このようにして機能の代替を実施する。
【００３８】
一方、故障が発生する前に車両制御状態が変更になった場合には（Ｓ１１３）、前記と同様に再構成管理部６１０が自動運転制御部６０３などから通知を受け、ＥＣＵ＿Ｂに対して前記代替プログラムが不要である情報を含む状態変更通知を行う（Ｓ１１４）。前記状態変更通知を受け、ＥＣＵ＿Ｂは保持していた代替プログラムを破棄する（Ｓ１１５）。その後必要に応じてＥＣＵ＿Ｂは通常時の制御を実施する（Ｓ１１６）。
【００３９】
このようにして車両制御状態に応じて代替処理用のプログラムをあらかじめＥＣＵに配置し、故障が発生した場合には即座に代替プログラムに切り替え、安全性と利便性を確保する。
【００４０】
ここではＥＣＵ＿Ｂが通常時にも制御を行っている例について示したが、通常時は制御を行わず、故障発生時のみ制御を行うＥＣＵであっても良い。その場合にはＳ１１４での状態変更通知を受けてプログラムを破棄する必要が無くなり、再度のプログラム配置が不要となる。
【００４１】
また、機能代替するＥＣＵをここではＥＣＵ＿Ｂのみとしている例を示したが、他のＥＣＵにも同時に同様のシーケンスにより代替プログラムを実行させてもよい。これにより故障発生時のバックアップを二重以上で実施可能であり信頼度を上げる他、ネットワークが断線した場合に別経路で制御を継続させることも可能となる。また複数のＥＣＵでの代替プログラムでそれぞれ独立した制御を行うことにより、負荷を低減することも可能となる。
【００４２】
また代替プログラムは、車両制御状態に合わせて変更可能である。例えば高い安全性が要求される状況（高速走行、高速道走行、密度の高い一般道走行、地図が無い状態での自動走行、ユーザが非覚醒状態）ではより高度（データ量が多い等）な代替プログラムを使用しかつ高い安全度（ＡＳＩＬ等）を実現可能なＥＣＵに配置する。高い安全性が要求されない状況（低速走行、駐車場内、ユーザが監視中等）では、簡易な代替プログラムを必要な安全度を実現可能なＥＣＵに配置するように、再構成管理部がＳ１０５にてプログラムを取得して必要なＥＣＵへの再構成指示を行う。このようにすることにより制御状態に合わせて適切な代替プログラムを実行することが可能となる。
【００４３】
また代替プログラムの送信については、制御情報の通信と同時に発生するため、通信の優先度を下げることが望ましい。これにより既存の制御情報の通信を大きく妨げることなく再構成情報の送信が可能となる。また優先度については下げるだけでなく、それ以外のリアルタイム性を有しない通信（例えば制御に用いない音声・メッセージ用信号、優先度の低いエアコン、メータ等信号）よりは高い優先度を設定することが望ましい。これにより、再構成を比較的早く完了させることが可能になり、結果として安全性を高めることが可能となる。
【００４４】
＜再構成時のＥＣＵ内処理＞
図９に再構成処理を行っている際の、上記例におけるＥＣＵ_Ｂ内での処理概要およびメモリイメージを示す。（ａ）は通常時のＲＯＭおよびＲＡＭの状態を示している。ＲＯＭには制御プログラムが格納されており、ＣＰＵにより前記制御プログラムが実行される。ＲＡＭには通常時使用するＭＡＩＮデータ、および特定制御状態では使用しないＳＵＢデータが格納されている例を示している。
【００４５】
図９（ｂ）はＳ１０７でのメモリイメージを示している。現在の制御状態では使用していないＳｕｂデータの領域に対し、代替プログラムを配置する。ここで代替プログラムはリロケータブルモジュールであり、自己の領域および予約され確保されたＲＡＭの領域外にアクセスしない形式であることが望ましい。これによりＥＣＵ＿Ｂが本来使用するデータへの不正なアクセスを防ぐことが可能となる。
【００４６】
図９（ｃ）はＳ１１１での制御の切り替えについて示しており、ＲＯＭ内の制御プログラムの一部から、代替プログラムを実行するように切り替えを行う。これにより代替プログラムの実行が可能となる。
【００４７】
図９（ｄ）はＳ１１５でのメモリイメージを示しており、制御状態が変わり、代替プログラムを配置していた領域について、内部フラグ等で確保していた領域を解放し、未使用状態とすることを示している。
【００４８】
図９（ｅ）はＳ１１６において、本来ＥＣＵ＿Ｂが使用していたＲＡＭのデータ（Ｓｕｂデータ）を再び格納している例を示している。
【００４９】
このように制御状態に応じて未使用の領域に予め代替プログラムを格納しておくことにより、故障発生時の早期な切り替えが可能となる。
【００５０】
ここでは制御状態により変更となるＲＡＭ領域への代替プログラムの格納例を示しているが、本来使用していないＲＡＭの領域やＲＯＭの領域を使用しても良い。そのようにすることにより、Ｓ１１５でのプログラム破棄および同様の制御状態でのＳ１０７でのプログラム配置が不要となり、制御状態が変更となっても再度の代替プログラム送信が不要となる。
【００５１】
＜車両制御状態＞
車両制御状態とは、車両システムの制御の状態を示す。例として、自動運転状態のＯＮ／ＯＦＦ（ＯＦＦではドライバが操作し、システムがアシストを行う、もしくはシステムは制御を行わない）、一般道または高速道を走行、自動駐車中のＯＮ／ＯＦＦ、走行速度（低速、中速、高速）、ドライバの状態（運転操作可能または困難）、天候など自動運転が困難な状況（強雨、霧、逆光、地図に無い道等）、等を表す。
【００５２】
これら車両制御状態に応じて、代替機能が必要なＥＣＵ、または機能代替が可能なＥＣＵが変更となる。例えば自動駐車を行っていない場合には、自動駐車がその機能を実現するために必要となるＣＰＵ、ＲＯＭ、ＲＡＭ等のリソースが一時的に不要となり、その領域に代替プログラムを配置しておく。また別の例では一般道を自動運転中では使用しない統合認識部や自動運転制御部のリソースに配置をしておく。
【００５３】
車両制御状態および／または要求安全レベルに応じて前記代替プログラムや配置ＥＣＵを変更することにより、車両制御状態に合わせた最適な代替制御を実行することが可能となる。
【００５４】
＜車両状態のユーザへの出力・車外への通知＞
車両制御システム２は、現在の車両の状態について、出力装置７を介してユーザに、または車両の外部に対して通知装置９または通信装置３を介して出力する。例えば車両システム１のいずれかの部分に異常が発生した場合に、出力装置７を介してユーザに対して警告等の点灯、もしくは音による警告を実施する。または通知装置９または通信装置３を介して車両外部に、ランプによる警告状態の出力や、スピーカによる警告音、異常に関する情報等の出力等を実施する。
【００５５】
上記異常検出手段により異常が検出された場合には、ユーザに対して異常が発生したことを、警告等や音で通知し、さらに異常の内容（異常が発生した各部、通信経路）についても出力装置７が有するディスプレイや警告灯で表示するなどを行う。これにより発生した異常をユーザが認識し、操作の引き継ぎを行うことが可能となる。
【００５６】
また車外への通知についても同様に、異常が発生したことと、異常が発生した範囲、または軌道の方向等を通知装置９または通信装置３を介して通知する。このようにすることにより、後続車などが、異常が発生した車両システム２の行動を予測可能となり、衝突などを回避することが可能となる。
【００５７】
出力装置７への表示例について図１０に示す。ここでは１０００が表示画面全体、１００１がメッセージ例を示している。メッセージの内容については、再構成管理部６１０または異常検出部６０７から受信した、現在実行している代替プログラムの概要の名称、故障箇所（ＥＣＵ、またはその中のマイコン、ＲＡＭ、ＲＯＭ、異常箇所）、使用不能箇所（同左）、前記故障および使用不能箇所から使用不能となる機能表示する。使用不能箇所とは、前記直接故障した箇所だけでは無く、例えば故障個所を経由した通信が不可能になるなどで使用できなくなる箇所を示している。これにより、ユーザは現在の車両制御システム２の状態を判断し、故障に応じた操作や、使用不能である機能を使わない計画、修理等の対応が可能となり、システムの利便性・安全性を向上させることが可能となる。
【００５８】
＜ユーザ引き継ぎ制御＞
自動運転制御情報に基づく制御、または相対情報に基づく制御から、ユーザによる制御について切り替える例を説明する。ユーザ入力部６０４は入力装置８を介したユーザの運転操作開始動作（例えばペダルを踏む、ステアを操作する、自動運転終了のボタンを押す、等）を検出し、切替部６０８に通知する。切替部６０８は、ユーザの運転操作開始動作の通知を受け、自動運転制御情報および相対情報に基づく制御を中止し、ユーザの運転操作に切り替える。このようにして、自動運転制御および相対情報に基づく制御からユーザの運転操作に切り替えを実施する。
【００５９】
＜異常時制御決定方法＞
図１１に代替プログラムの配置状態に応じた制御フローを、その際の動作シーケンス図を図１２に示す。ここではＥＣＵ＿Ｂへの代替プログラムの配置が完了しておらず、Ｓ１０７での配置完了通知が未だ通知されていないものとする。
【００６０】
再構成管理部６１０の故障発生時の制御フローは、まず代替プログラムの配置が完了しているかについて、現在の車両制御状態における前記配置完了通知の受信済みを確認する。配置完了済みである場合には（Ｓ１１０３のｙｅｓ）、配置完了している代替プログラムを実行するように再構成実行部６１１に指示を行う（Ｓ１１０３）。配置が完了していない場合には（Ｓ１１０３のｎｏ）、固定の代替プログラムを実行するように、再構成実行部６１１、または再構成実行部を有せず固定の代替プログラムを実行可能なＥＣＵに指示を行う。
【００６１】
シーケンスの例についても図１２を用いて説明する。配置が完了していない状態で故障が発生した場合（Ｓ１２００）、ＥＣＵ＿Ａは故障発生を検出後、ＥＣＵ＿Ｃに固定での代替プログラムの実行を指示し（Ｓ１２０１）、前記指示を受けたＥＣＵ＿Ｃは、予め保有している代替プログラムを実行する（Ｓ１２０２）。
【００６２】
このようにすることにより、代替プログラムの配置が未完了である場合でも、固定での異なる代替プログラムを実行することにより、最低限の安全性を確保することが可能となる。  固定での代替プログラムの実行については、ＥＣＵ＿Ｃ以外のＥＣＵ＿Ｄが実行しても良い。ＥＣＵ＿Ｄが実行することにより、ＥＣＵ＿Ｃは不要なプログラムの実行が不要となり、安全に制御プログラムを実行することが可能となる。またＥＣＵ＿Ｃが代替プログラムを実行することにより、ネットワーク等の障害が発生した場合でも安全に代替プログラムを実行可能となる。
【実施例２】
【００６３】
本実施例における車両制御システム２の構成例を図１３に示す。本実施例においては、認識装置６から出力される情報を基に、後述する相対情報を作成する相対情報認識部６１２、相対情報および認識装置６から出力される情報から運動制御情報を作成する相対情報制御部６１３、自動運転制御情報を保持しておき、必要に応じて出力を行う自動運転制御情報保持部６１４を追加している。
【００６４】
相対情報とは、前記外界認識情報のうち、特に認識装置６から取得可能な情報であり、周辺オブジェクトと自車両との相対位置および相対速度、相対加速度、およびそれら値から演算可能な値、のいずれかの情報の組み合わせである。
【００６５】
また、運動制御情報とは、例えば加速度やヨーレート等の運動制御パラメータの目標値や、各駆動装置５への制御指令値、およびそれらの時系列での連続値を示している。
【００６６】
出力管理部６０５および通知管理部６０６は前記相対情報制御部６１３の出力を受け、出力指示および通知指示を行い、異常検出部６０７は相対情報認識部６１２からの情報を基に異常検出を行い、切替部６０８は、異常検出部６０７の異常検出結果を基に、運動制御部６０９に対する出力を自動運転制御部６０３からの入力またはユーザ入力部６０４、相対情報制御部６０８、自動運転制御情報保持部６１４からの入力を切替える構成としている。
【００６７】
本実施例におけるＨ／Ｗへの機能配置例を図１４に示す。機能の配置はこれに限らず、それぞれの機能は記載と別のＥＣＵに配置されていても良い。例えば統合認識部６０２、自動運転制御部６０３と、相対情報認識部６１２、相対情報制御部６１３を別のＥＣＵ、またはマイコンに機能を配置することにより、Ｈ／Ｗ故障による共通原因故障のリスクからそれぞれの機能を守り、高信頼化を実現することが可能となる。
【００６８】
自動運転制御部６０３は、統合認識部６０２から出力された周辺認識の結果を基に、自動運転制御情報を作成する。自動運転制御情報の例としては軌道がある。軌道は、車両システムが安全に走行可能（例：他の障害物に衝突する可能性が低い）である安全性制約、車両システムが実現可能な加速度・減速度、ヨーレート、などの運動制約、を満たすように生成する。
【００６９】
軌道とは、例えば一定時間間隔ごとの自車位置の座標の集合により表わされる。また別の例では、一定時間間隔ごとの運動制御値（目標加速度・ヨーレート）の集合、一定時間間隔ごとの自車両のベクトル値（方向・速度）、一定距離を進むための時間間隔、等で表すことが可能である。
【００７０】
このように、車両が移動する方向、運動制約、安全性制約を基に軌道を作成し、生成された軌道を基に、自動運転制御部６０３は運動制御部６１２に切替部６０８を介して軌道情報を送信し、運動制御部６１２は前記軌道情報を基に駆動装置５を制御し、車両システムを制御する。
【００７１】
＜自動運転制御情報に基づく制御＞
運動制御部６０９は、切替部６０８が出力した自動運転制御情報または運動制御情報を実現するように駆動装置５の制御を行う。
【００７２】
自動運転制御情報による制御は、例えば自動運転制御情報が軌道である場合、前記軌道に追従可能なように、認識装置６から取得した車両システム１のシステム状態（現在速度、加速度、ヨーレート等）を反映し、車両システム１の目標速度およびヨーレート等を算出する。これら目標速度およびヨーレートを実現するため、それぞれ必要な駆動装置５の制御を行う。これにより目標である軌道に追従可能な車両制御を実現する。
【００７３】
また、運動制御情報による制御を実現するためには、目標の速度を実現するために、エンジントルクの出力を増加させる、減速を行うためにブレーキを制御する、目標ヨーレートを実現するためにステアを転舵させる、または車輪速が不均等になるように車輪個別に制動・加速の制御を行う。また運動制御情報が駆動装置５の制御値である場合には、前記制御値を用いて駆動装置５の制御を行う。このようにして目標の運動制御を実現する。
【００７４】
＜自動運転制御情報の保持＞
自動運転制御情報保持部６１４は、異常が発生した場合に最低限安全を確保可能な自動運転制御情報（例えば、自動運転制御部６０３により計算された一定時間先までの自動運転制御情報、車線に沿って走行、車線に沿って走行して緩やかな減速、路肩へ退避して停止、等。以下保持制御情報）を予め演算された結果を保持しておき、異常発生時に保持していた保持制御情報に切り替えるためのものである。
【００７５】
自動運転制御部６０３は演算した保持制御情報を自動運転制御情報保持部６１４に送信する。前記送信の際に、異常検出部６０７は保持制御情報についても異常の有無を検出する。
【００７６】
切替部６０８は、自動運転制御部６０３、相対情報制御部６１３、自動運転制御情報保持部６１４からの制御情報を切り替えて運動制御部６０９に出力する。
【００７７】
このようにすることにより、自動運転制御情報で異常が発生した場合にも、一定時間は保持していた安全を維持可能かつ異常が検出されていない保持制御情報で制御を行うことが可能となり、なおかつその後相対情報で異常が検出された場合に、安全に相対情報による制御に切り替えることが可能となる。
【００７８】
＜相対情報に基づく制御＞
相対情報に基づく制御例について説明する。相対情報制御部６１３は、相対情報認識部６１２が出力する相対情報および認識装置６から取得する自車の状態に基づいて運動制御情報を作成する。
【００７９】
前方にオブジェクト（車両）が存在している場合の例について説明する。前方に車両が存在し、相対情報における相対位置（距離）が一定値を下回った場合には自車両に対して減速の制御を行う。そのために、相対情報制御部６１３は前記相対情報および認識装置６から取得する自車の状態を判定し、減速を行うための運動制御情報を切替部６０８に対して出力する。また逆に相対位置が一定値を上回る場合には、同様にして自車両に対して加速の制御を行うための運動制御情報を出力する。このようにして前方車両に対して相対位置が一定量を上回るまたは一定量を下回ることの無いように、加速・減速の制御を行う。後方にオブジェクトが存在している場合にも同様に、相対位置が一定量を上回る、一定量を下回ることの無いように制御を行う。これら判定および加減速の制御により、相対情報に基づいた制御が可能となる。
【００８０】
また、前後方向のみでなく、左右方向についても、相対位置から認識し、オブジェクトが存在していない方向に操舵を行い、例えば前後方向への衝突を回避する制御を行う。そのための目標ヨーレートについても上記運動制御情報に含み、相対情報制御部６１３が切替部６０８に対して出力を行う。
【００８１】
＜安全維持制御状態における再構成処理＞
これら保持制御情報または相対情報に基づく制御（以下安全維持制御）を実施する場合の故障時の再構成管理部のシステム制御フローについて図１５に示す。
【００８２】
まず故障発生を検出後、再構成管理部６１０は、代替プログラムの配置が完了しているかについて、現在の車両制御状態における前記配置完了通知を受信済みを確認する。配置完了済みである場合には（Ｓ１５０１のｙｅｓ）、配置完了している代替プログラムを実行するように再構成実行部６１１に指示を行う（Ｓ１５０５）。配置が完了していない場合には（Ｓ１５０１のｎｏ）、前記安全維持制御を実施する。これにより一定時間の処理を行った後、再度代替プログラムの配置が完了しているかを確認する（Ｓ１５０３）。その後配置完了済みである場合には（Ｓ１５０１のｙｅｓ）、配置完了している代替プログラムを実行するように再構成実行部６１１に指示を行う（Ｓ１５０５）。配置が完了していない場合には（Ｓ１５０１のｎｏ）固定の代替プログラムを実行するように、再構成実行部６１１に指示を行う。このようにして代替プログラムの配置が完了していない場合でも、安全機能維持により安全性を確保し、その後配置が完了した場合には代替プログラムを実行し、完了しない場合には固定プログラムを実行する。このようにして代替プログラムが実行される機会を増加させ、安全性を向上する。
【００８３】
ここでＳ１５０２で安全維持制御を実行している間も、代替プログラムの送信および配置を実行しているが、その間に配置を高速に終了させるため、代替プログラムの通信の優先度を上げ、配置を高速化しても良い。また通信の帯域についても、故障発生により使用していない通信帯域があるため、その帯域を使用するようにしてもよい。これらにより安全維持制御を実行している間に配置がより早く完了するようになり、配置した代替プログラムでの実行する可能性を高めることが可能となる。
【００８４】
また、Ｓ１５０２で安全維持制御を実行中に配置が完了した場合には、配置完了通知を受けた時点で配置した代替プログラムの実行に切り替えても良い。これにより安全維持制御の実行時間をより短くすることが可能になる。
【００８５】
また、再構成管理部６１０が、現在実行可能な代替プログラムより、安全維持制御の方がより安全性を高められると判定した場合には、安全維持制御を配置した代替プログラムの実行よりも優先しても良い。その場合にはＳ１５０１が不要となる。またこれにより、より安全性を高める制御が可能になる。
【００８６】
また、代替プログラムの配置の開始は、故障が発生した後で安全維持制御を実施しながら実行を行っても良い。シーケンス図の例について図１６に示す。ここでは故障発生後（Ｓ１０９）、ＥＣＵ＿Ａが機能維持制御を実施指示し（Ｓ１６０１）、その間に代替プログラムの配置（Ｓ１０４からＳ１０７）を行う。その後、安全維持制御が終了したタイミングまたは代替プログラムが配置完了したタイミングで、代替プログラムの実行を行う（Ｓ１６０２）このようにすることにより、車両制御状態だけでなく、故障状態に応じた代替プログラムの配置が可能となり、さらに故障が発生していない状況での代替プログラムの配置が不要となり、前記配置処理および通信処理の負荷を低減することが可能となる。
【００８７】
以上説明した実施例によれば、車両制御情報が切り替わった時点で再構成のための代替プログラムを予め配置し、故障が発生した場合に前記代替プログラムの制御に切り替えることにより、再構成が完了するまでの時間を短縮し、かつ代替プログラムの内容を可変とすることが可能となる。これにより、システムの利便性や安全性、可用性を向上させることが可能となる。
【００８８】
特に代替プログラムの内容および配置先（ＥＣＵ）を車両制御状態により変更可能とすることにより、車両制御状態に合わせた安全制御の実現や、車両制御システムのリソースの最適な使用も可能となる。
【００８９】
また代替プログラムの配置が完了していない場合に固定での代替プログラムを実行することにより、最低限の安全確保が可能となる。
【００９０】
また別の実施例では、自動運転制御状態において故障が発生した場合に、安全維持制御を行いその間に代替プログラムの配置を行うことにより、より安全性や利便性を向上させることが可能となる。
【００９１】
特に故障発生後に、例えば安全維持制御を行いながら、代替プログラムの送信の優先度を上げることにより、より安全に制御状態に合わせた代替プログラムの実行を行うことが可能となる。
【００９２】
さらに故障発生後に、安全維持制御を実行して代替プログラムの配置を行うことにより、
故障状態に応じた代替プログラムの配置が可能となり、安全性や利便性のさらなる向上や、さらに故障が発生していない状況での代替プログラムの配置が不要となり、前記配置処理および通信処理の負荷を低減することが可能となる。
【符号の説明】
【００９３】
１  車両システム
２  車両制御システム
３  通信装置
４  車両制御システム
５  駆動装置
６  認識装置
７  出力装置
８  入力装置
９  通知装置
３０１  ネットワークリンク
３０２  ＥＣＵ
３０３  ＧＷ
４０１  プロセッサ
４０２  Ｉ／Ｏ
４０３  タイマ
４０４  ＲＯＭ
４０５  ＲＡＭ
４０６  内部バス
５０１  制御部
５０２  通信管理部
５０３  時間管理部
５０４  データテーブル
５０５  バッファ
６０１  車両制御システム
６０２  統合認識部
６０３  自動運転制御部
６０４  ユーザ入力部
６０５  出力管理部
６０６  通知管理部
６０７  異常検出部
６０８  切替部
６０９  運動制御部
６１０  再構成管理部
６１１  再構成実行部
６１２  相対情報認識部
６１３  相対情報制御部
６１４  自動運転制御情報保持部
８０１  制御状態監視部
８０２  制御状態判定部
８０３  情報通知部
８０４  代替プログラム取得部
８０５  代替プログラム送信部
８０６  異常時制御決定部
８１０  代替プログラム受信部
８１１  代替プログラム配置部
８１２  配置完了通知部
８１３  再構成指示受信部
８１４  代替プログラム実行部
１０００  ユーザ通知画面
【図１】
0006698320.tif 000002
【図２】
0006698320.tif 000003
【図３】
0006698320.tif 000004
【図４】
0006698320.tif 000005
【図５】
0006698320.tif 000006
【図６】
0006698320.tif 000007
【図７】
0006698320.tif 000008
【図８】
0006698320.tif 000009
【図９】
0006698320.tif 000010
【図１０】
0006698320.tif 000011
【図１１】
0006698320.tif 000012
【図１２】
0006698320.tif 000013
【図１３】
0006698320.tif 000014
【図１４】
0006698320.tif 000015
【図１５】
0006698320.tif 000016
【図１６】
0006698320.tif 000017