(57)【要約】      （修正有）【課題】冗長構成による判定を低コストに実現できる電子制御装置を提供する。【解決手段】電子制御装置は、処理制御部と情報取得部とを備え、情報取得部は、外界の情報を収集して処理制御部に転送し、処理制御部は、第１プロセッサと第２プロセッサと記憶部とを備え、処理制御部は、第１プロセッサと第２プロセッサとを用いて非冗長処理を実行する非冗長処理構成による演算処理と、第１プロセッサと第２プロセッサとを用いて冗長処理を実行する冗長処理構成による演算処理と、を実行し、処理制御部は、非冗長処理構成による演算処理の結果を記憶部に格納し、冗長処理構成による演算処理によって、格納した結果を用いた演算処理を第１プロセッサと第２プロセッサとの双方で個別に行い、第１プロセッサによる演算結果と第２プロセッサによる演算結果とに基づいて非冗長処理構成による演算処理結果に対する判定を行う。【選択図】図３
2020128117.tif 000002
【特許請求の範囲】
【請求項１】
処理制御部と情報取得部とを備える電子制御装置であって、
前記情報取得部は、外界の情報を収集して前記処理制御部に転送し、
前記処理制御部は、第１プロセッサと第２プロセッサと記憶部とを備え、
前記処理制御部は、前記第１プロセッサと前記第２プロセッサとを用いて非冗長処理を実行する非冗長処理構成による演算処理と、前記第１プロセッサと前記第２プロセッサとを用いて冗長処理を実行する冗長処理構成による演算処理と、を実行し、
前記処理制御部は、前記非冗長処理構成による演算処理の結果を前記記憶部に格納し、前記冗長処理構成による演算処理によって、前記格納した結果を用いた演算処理を前記第１プロセッサと前記第２プロセッサとの双方で個別に行い、前記第１プロセッサによる演算結果と前記第２プロセッサによる演算結果とに基づいて前記非冗長処理構成による演算処理結果に対する判定を行う電子制御装置。
【請求項２】
請求項１に記載の電子制御装置において、
前記判定は前記非冗長処理構成による演算処理の結果の異常有無判定である電子制御装置。
【請求項３】
請求項１に記載の電子制御装置において、
前記処理制御部は、さらに再構成可能な論理回路を備え、
前記再構成可能な論理回路は、
前記非冗長処理構成において前記第１プロセッサと前記第２プロセッサとともに処理を実行し、
前記冗長処理構成において再構成により回路を第１領域と第２領域とに分割し、前記第１プロセッサと前記第１領域、および前記第２プロセッサと前記第２領域を冗長させて個別に処理を実行する電子制御装置。
【請求項４】
請求項１に記載の電子制御装置において、
前記判定は、前記第１プロセッサまたは前記第２プロセッサにおいて実行される電子制御装置。
【請求項５】
請求項１に記載の電子制御装置において、
前記処理制御部は、第３プロセッサを備え、
前記判定は、前記第３プロセッサにおいて実行される電子制御装置。
【請求項６】
請求項１に記載の電子制御装置において、
前記処理制御部は、第３プロセッサをさらに備え、
前記処理制御部は、前記第１プロセッサと前記第２プロセッサと前記第３プロセッサとを用いて非冗長処理を実行する第３の処理構成による演算処理と、前記第１プロセッサと前記第２プロセッサと前記第３プロセッサとを冗長させて個別に処理を実行する第４の処理構成による演算処理と、を実行し、前記第３の処理構成による演算処理の結果を前記記憶部に格納し、前記第４の処理構成による演算処理によって、前記格納した結果を用いた演算処理を前記第１プロセッサと前記第２プロセッサと前記第３プロセッサのそれぞれで個別に行い、前記第１プロセッサによる演算結果と前記第２プロセッサによる演算結果と前記第３プロセッサによる演算結果とに基づいて前記第３の処理構成による演算処理結果に対する判定を行う電子制御装置。
【請求項７】
請求項６に記載の電子制御装置において、
前記判定は前記第３の処理構成による演算処理の結果の異常有無の判定である電子制御装置。
【請求項８】
請求項７に記載の電子制御装置において、
前記異常有無の判定は、前記第１プロセッサによる演算結果と前記第２プロセッサによる演算結果と前記第３プロセッサによる演算結果の各結果の多数決に基づく電子制御装置。
【請求項９】
処理制御部と情報取得部とを備える電子制御装置が実行する制御方法であって、
前記処理制御部は、第１プロセッサと第２プロセッサと記憶部とを備え、
前記情報取得部に、外界の情報を収集して前記処理制御部に転送させることと、
前記処理制御部に、前記第１プロセッサと前記第２プロセッサとを用いて非冗長処理を実行する第１の処理構成による演算処理と、前記第１プロセッサと前記第２プロセッサとを冗長させて個別に処理を実行する第２の処理構成による演算処理と、を実行させることと、
前記処理制御部に、前記第１の処理構成による演算処理の結果を前記記憶部に格納させ、前記第２の処理構成による演算処理によって、前記格納した結果を用いた演算処理を前記第１プロセッサ前記と第２プロセッサとの双方で個別に行わせ、前記第１プロセッサによる演算結果と前記第２プロセッサによる演算結果とに基づいて前記第１の処理構成による演算処理結果に対する判定を行わせることとを含む、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置、および制御方法に関する。
【背景技術】
【０００２】
車両の自動運転を目指した技術開発が進められている。自動運転は運転者に代わり周囲の認識、車両の制御を行う必要があり、膨大な情報処理が求められる。増大する情報処理に対応するため、ＣＰＵ（Central  Processing  Unit）のマルチコアを活用する検討に加え、論理回路を再構成可能なＦＰＧＡ（Field  Programmable  Gate  Array）等のＰＬＤ（Programmable  Logic  Device）をハードウェアアクセラレータとして用いる検討が進められている。これらの検討を自動運転の制御に適用する場合、信頼性を考慮した適切な処理が求められる。特許文献１には、処理結果が監視される被監視プロセッサコアと、前記被監視プロセッサコアを監視するための処理を行うことが可能な二以上の監視プロセッサコアを含む監視プロセッサコア群と、前記監視プロセッサコア群の処理負荷を評価する評価手段と、前記評価手段により前記監視プロセッサコア群の処理負荷が低いと評価された場合に、前記被監視プロセッサコアを監視するための処理を前記監視プロセッサコア群で分散して行わせ、前記評価手段により監視プロセッサコア群の処理負荷が高いと評価された場合に、前記被監視プロセッサコアを監視するための処理を前記監視プロセッサコア群のうち相対的に優先度の低い処理を行っている監視プロセッサコアに行わせる制御手段と、を備えるマルチコア・プロセッサが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１３／０８８５１９号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されている発明では、冗長処理を実現するためのコストを低減する余地がある。
【課題を解決するための手段】
【０００５】
本発明の第１の態様による電子制御装置は、処理制御部と情報取得部とを備える電子制御装置であって、前記情報取得部は、外界の情報を収集して前記処理制御部に転送し、前記処理制御部は、第１プロセッサと第２プロセッサと記憶部とを備え、前記処理制御部は、前記第１プロセッサと前記第２プロセッサとを用いて非冗長処理を実行する非冗長処理構成による演算処理と、前記第１プロセッサと前記第２プロセッサとを用いて冗長処理を実行する冗長処理構成による演算処理と、を実行し、前記処理制御部は、前記非冗長処理構成による演算処理の結果を前記記憶部に格納し、前記冗長処理構成による演算処理によって、前記格納した結果を用いた演算処理を前記第１プロセッサと前記第２プロセッサとの双方で個別に行い、前記第１プロセッサによる演算結果と前記第２プロセッサによる演算結果とに基づいて前記非冗長処理構成による演算処理結果に対する判定を行う。
本発明の第２の態様による制御方法は、処理制御部と情報取得部とを備える電子制御装置が実行する制御方法であって、前記処理制御部は、第１プロセッサと第２プロセッサと記憶部とを備え、前記情報取得部に、外界の情報を収集して前記処理制御部に転送させることと、前記処理制御部に、前記第１プロセッサと前記第２プロセッサとを用いて非冗長処理を実行する第１の処理構成による演算処理と、前記第１プロセッサと前記第２プロセッサとを冗長させて個別に処理を実行する第２の処理構成による演算処理と、を実行させることと、前記処理制御部に、前記第１の処理構成による演算処理の結果を前記記憶部に格納させ、前記第２の処理構成による演算処理によって、前記格納した結果を用いた演算処理を前記第１プロセッサ前記と第２プロセッサとの双方で個別に行わせ、前記第１プロセッサによる演算結果と前記第２プロセッサによる演算結果とに基づいて前記第１の処理構成による演算処理結果に対する判定を行わせることとを含む。
【発明の効果】
【０００６】
本発明によれば、冗長構成による判定を低コストに実現できる。前述した以外の課題、構成、および効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【０００７】
【図１】車載システム１のシステム構成図
【図２】自律走行制御装置２のハードウェア構成図
【図３】自律走行制御装置２の機能構成図
【図４】図４（ａ）は非冗長処理構成を示す図、図４（ｂ）は冗長処理構成を示す図
【図５】周辺認知処理、行動予測処理、および軌道計画処理の関係を示す図
【図６】管理ＤＢ３の一例を示す図
【図７】処理制御部２０３の動作概要を示すフローチャート
【図８】処理制御部２０３の動作詳細を示すシーケンス図
【図９】変形例１における管理データベース３の一例を示す図
【図１０】変形例１における処理制御部２０３の動作詳細を示すシーケンス図
【図１１】変形例２における処理制御部１２０３の構成例を示す図
【図１２】第２の実施の形態における自律走行制御装置２の機能構成図
【発明を実施するための形態】
【０００８】
―第１の実施の形態―
以下、図１〜図８を参照して、電子制御装置である自律走行制御装置の第１の実施の形態を説明する。
【０００９】
＜システム構成＞
図１は、自律走行制御装置２を含む車載システム１のシステム構成図である。車載システム１は、車両１００に搭載される。車両１００には、車両１００の外界状況を取得する不図示のカメラ、レーダ、およびレーザが備えられる。なお以下では、カメラ、レーダ、およびレーザをまとめて「センサ」と呼ぶ。さらに車両１００には、図示していないが、衛星航法システムの受信機、たとえばＧＰＳ（Global  Positioning  System）の受信機が備えられる。
【００１０】
車載システム１は、不図示のカメラから車両１００の外界状況を取得するカメラ情報取得部１０１と、不図示のレーダから車両１００の外界状況を取得するレーダ情報取得部１０２と、不図示のレーザから車両１００の外界状況を取得するレーザ情報取得部１０３と、衛星航法システムの受信機を用いて車両１００の位置を検出する自車位置情報取得部１０４とを備える。車載システム１はさらに、車両１００の自動運転を設定するための自動運転設定部１０５と、ＯＴＡ（Over−The−Air）により車載システム１の情報を更新するための無線通信部１０６を備える。
【００１１】
車載システム１はさらに、自律走行制御装置２と、補助制御部１０７と、ブレーキ制御部１０８と、エンジン制御部１０９と、パワーステアリング制御部１１０とを備える。自律走行制御装置２、補助制御部１０７、ブレーキ制御部１０８、エンジン制御部１０９、およびパワーステアリング制御部１１０は、たとえばＥＣＵ（Electronic  Control  Unit）である。
【００１２】
カメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、自車位置情報取得部１０４、自動運転設定部１０５、無線通信部１０６、自律走行制御装置２、補助制御部１０７、ブレーキ制御部１０８、エンジン制御部１０９、およびパワーステアリング制御部１１０は、ＣＡＮ（Controller  Area  Network）やイーサネット（登録商標）等の車載ネットワークによって相互に通信可能に接続される。
【００１３】
カメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、および自車位置情報取得部１０４は、それぞれがセンサなどから受信した情報を自律走行制御装置２に送信する。また、カメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、および自車位置情報取得部１０４は、それぞれのセンサなどの異常を検出した情報を自律走行制御装置２に送信してもよい。
【００１４】
自動運転設定部１０５は、自動運転時の目的地、ルート、走行速度等の設定情報を自律走行制御装置２に送信する。ただし自動運転設定部１０５が送信する情報の一部が無線通信部１０６を介して外部から受信したものであってもよい。
【００１５】
自律走行制御装置２は、自動運転制御のための処理を行い処理結果に基づいて制御指令を、ブレーキ制御部１０８、エンジン制御部１０９、およびパワーステアリング制御部１１０へ出力する。補助制御部１０７は、自律走行制御装置２と同様の制御を補助として行う。ブレーキ制御部１０８は、車両１００の制動力を制御する。エンジン制御部１０９は、車両１００の駆動力を制御する。パワーステアリング制御部１１０は、車両１００のステアリングを制御する。
【００１６】
自律走行制御装置２は、自動運転設定部１０５により自動運転の設定要求を受け付けると、カメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、および自車位置情報取得部１０４等からの外界の情報を基に車両１００が移動する軌道を算出する。そして、自律走行制御装置２は、算出した軌道に従って車両１００を移動させるように、制動力、駆動力、操舵などの制御指令を、ブレーキ制御部１０８、エンジン制御部１０９、およびパワーステアリング制御部１１０に出力する。ブレーキ制御部１０８、エンジン制御部１０９、およびパワーステアリング制御部１１０は、自律走行制御装置２から制御指令を受けて、それぞれ不図示の制御対象であるアクチュエータに操作信号を出力する。
【００１７】
＜自律走行制御部のハードウェア構成＞
図２は、自律走行制御装置２のハードウェア構成図である。自律走行制御装置２は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、フラッシュメモリ２４と、論理回路２５と、通信インタフェース２６とを備える。ＣＰＵ２１は、ＲＯＭ２２に格納されたプログラムをＲＡＭ２３に展開して実行することで後述する機能を実現する。フラッシュメモリ２４は不揮発性の記憶領域である。論理回路２５は、ＦＰＧＡなどのＰＬＤを用いた再構成可能な論理回路である。論理回路２５はその一部のみを再構成することが可能な、いわゆる部分再構成可能な論理回路である。通信インタフェース２６は、ＣＡＮ等の所定のプロトコルで通信するインタフェースである。
【００１８】
なお、自律走行制御装置２を構成するＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、フラッシュメモリ２４、論理回路２５のハードウェアは、それぞれが１つ、または複数のデバイスとしてＥＣＵ上に構成されてもよいし、ＳｏＣ（System  on  Chip）のように、複数のハードウェアを１つのデバイスとしてＥＣＵ上に構成されてもよい。また、自律走行制御装置２は、１つのＥＣＵで構成してもよいし、複数のＥＣＵで構成してもよい。
【００１９】
＜自律走行制御装置の機能構成＞
図３は、自律走行制御装置２の機能構成図である。自律走行制御装置２は、第１通信インタフェース２０１−１、第２通信インタフェース２０１−２、情報取得部２０２、処理制御部２０３、管理データベース（以下、管理ＤＢ）３、処理データベース（以下、処理ＤＢ）４、および地図データベース（以下、地図ＤＢ）５を有する。処理制御部２０３は、記憶部２３５を備える共通部２３１、第１プロセッサコア２３２−１、第２プロセッサコア２３２−２、論理回路２３３、および内部バス２３４を有する。以下では、第１通信インタフェース２０１−１、第２通信インタフェース２０１−２をまとめて、「通信インタフェース２０１」と呼ぶ。また、第１プロセッサコア２３２−１、第２プロセッサコア２３２−２をまとめて、「プロセッサコア２３２」と呼ぶ。
【００２０】
通信インタフェース２０１は、図２の通信インタフェース２６により実現される。管理ＤＢ３、処理ＤＢ４、および地図ＤＢ５は、ＲＡＭ２３またはフラッシュメモリ２４に格納される情報である。情報取得部２０２は、ＣＰＵ２１および論理回路２５のいずれかにより構成され、処理制御部２０３と共存して構成されてもよい。処理制御部２０３は、主にＣＰＵ２１および論理回路２５により構成される。共通部２３１およびプロセッサコア２３２はＣＰＵ２１から構成され、論理回路２３３は論理回路２５から構成される。共通部２３１は、他のプロセッサコアとして構成されてもよい。記憶部２３５は、第１プロセッサコア２３２−１内または第２プロセッサコア２３２−２内に構成されてもよいし、ＲＡＭ２３またはフラッシュメモリ２４により実現されてもよい。
【００２１】
自律走行制御装置２は、第１通信インタフェース２０１−１を介して、図１のカメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、自車位置情報取得部１０４、自動運転設定部１０５、および無線通信部１０６と接続される。自律走行制御装置２は、第２通信インタフェース２０１−２を介して補助制御部１０７、ブレーキ制御部１０８、エンジン制御部１０９、およびパワーステアリング制御部１１０と接続される。図３では、自律走行制御装置２は第１通信インタフェース２０１−１および第２通信インタフェース２０１−２の論理的な２つの通信インタフェースを備えるが、両者の機能を併せ持つ１つの論理的な通信インタフェースのみを備えてもよい。
【００２２】
情報取得部２０２は、通信インタフェース２０１−１から入力される、カメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、および自車位置情報取得部１０４からのセンサ情報、自動運転設定部１０５からの自動運転設定情報を取得する。情報取得部２０２は、後述する所定の処理周期で処理制御部２０３にセンサ情報や自動運転設定情報を送信する。
【００２３】
処理制御部２０３は、情報取得部２０２から情報を取得すると、所定の処理を実行し、処理実行結果を一連の実行結果として制御し、制御した実行結果を基に、制動力や駆動力などの制御指令を通信インタフェース２０１−２から出力する。処理制御部２０３において、プロセッサコア２３２および論理回路２３３は、所定の処理を実行する機能部として構成される。共通部２３１は、管理ＤＢ３を参照し、プロセッサコア２３２および論理回路２３３において実行する所定の処理と、該当する所定の処理において使用するプログラムデータおよび回路データを判定する。
【００２４】
このプログラムデータおよび回路データは処理ＤＢ４に格納されているので、必要に応じて処理ＤＢ４から読み出される。プログラムデータは該当するプロセッサコア２３２の各演算に用いられ、回路データは論理回路２３３の構成に用いられる。地図ＤＢ５には地図情報が格納され、本実施の形態における所定の処理の１つである周辺認知処理（詳細は後述）において使用される。共通部２３１が備える記憶部２３５には、プロセッサコア２３２および論理回路２３３において実行された所定の処理の結果が格納される。
【００２５】
＜処理制御部の処理構成例＞
図４は、処理制御部２０３の構成例を示す図である。図４（ａ）は、プロセッサコア２３２が論理回路２３３全体を活用して非冗長な並列処理を実施する構成例を示す図である。図４（ｂ）は、プロセッサコア２３２の各コアが分割された論理回路２３３を個別に活用して冗長処理を実施する構成例を示す図である。図４（ａ）に示す構成では冗長処理は行わないので、図４（ｂ）に示す構成との対比では図４（ａ）に示す構成は非冗長処理を実施する構成と言える。そのため以下では、図４（ａ）に示す構成を「非冗長処理構成」と呼び、図４（ｂ）に示す構成を「冗長処理構成」と呼ぶ。本実施の形態では、処理制御部２０３において、非冗長処理向けや冗長処理向けとして、プロセッサコア２３２、または、プロセッサコア２３２および論理回路２３３の機能部の構成を切り替える。
【００２６】
なお、図４（ｂ）に示すように論理回路２３３を複数に分割した場合であっても、第１回路構成Ｂ２５２−１と第２回路構成Ｂ２５２−２とが異なる処理を行う場合、たとえば一方がカメラの出力を処理し他方はレーザの出力を処理する場合は、非冗長処理構成として扱う。ただし図４（ａ）に示す構成と区別するために、以下ではこれを「第２非冗長処理構成」と呼び、図４（ａ）に示す構成を「第１非冗長処理構成」と呼ぶ。「非冗長処理構成」は、「第１非冗長処理構成」と「第２非冗長処理構成」との上位概念である。
【００２７】
図４（ａ）では、処理構成Ａ２４１として、第１プロセッサコア２３２−１、第２プロセッサコア２３２−２、および論理回路２３３の全体を活用して所定の処理を実施する例を示す。第１プロセッサコア２３２−１と第２プロセッサコア２３２−２は、非冗長処理を実施し、さらに、内部バス２３４を経由して、論理回路２３３をアクセラレータとして活用する。このとき、論理回路２３３は、回路構成Ａ２５１として１つのアクセラレータ回路を構成する。
【００２８】
図４（ｂ）では、第１処理構成Ｂ２４２−１と第２処理構成Ｂ２４２−２を合わせた処理構成Ｂ２４２として、プロセッサコア２３２の各コアが、２つに分割された論理回路２３３を個別に活用して冗長処理を実施する構成例を示す。第１処理構成Ｂ２４２−１では第１プロセッサコア２３２−１を使用し、第２処理構成Ｂ２４２−２では第２プロセッサコア２３２−２を使用し、冗長処理を実施する。
【００２９】
第１プロセッサコア２３２−１および第２プロセッサコア２３２−２は、それぞれ内部バス２３４を経由して、論理回路２３３をアクセラレータとして活用する。このとき、論理回路２３３は、第１回路構成Ｂ２５２−１と第２回路構成Ｂ２５２−２を合わせて回路構成Ｂ２５２とし、第１回路構成Ｂ２５２−１は第１プロセッサコア２３２−１のアクセラレータ回路、第２回路構成Ｂ２５２−２は第２プロセッサコア２３２−２のアクセラレータ回路をそれぞれ構成する。なお、第１回路構成Ｂ２５２−１と第２回路構成Ｂ２５２−２で構成される回路は、ハードウェアの信頼性を考慮し、論理回路２５において物理的に隔たれた回路領域を使用することが好ましい。
【００３０】
図４（ｂ）において、処理制御部２０３は、第１処理構成Ｂ２４２−１と第２処理構成Ｂ２４２−２において冗長処理として個別に実行された結果を比較することで、所定の処理における異常の有無や結果の妥当性の判定などの信頼性を向上する。
【００３１】
念のために記載すると、図４（ａ）に示す非冗長処理構成では、第１プロセッサコア２３２−１と第２プロセッサコア２３２−２は、異なる処理を実行する。図４（ｂ）に示す冗長処理構成では、第１プロセッサコア２３２−１と第２プロセッサコア２３２−２は、同一の処理を実行する。すなわち図４（ｂ）に示す冗長処理構成では、第１プロセッサコア２３２−１と第２プロセッサコア２３２−２には、同一の処理を実行するプログラムデータが読み込まれる。なお同一の処理とは、ある入力データに対して同一の出力データを出力する処理である。
【００３２】
第１回路構成Ｂ２５２−１と第２回路構成Ｂ２５２−２は同一の処理を実行する。すなわち第１回路構成Ｂ２５２−１と第２回路構成Ｂ２５２−２は、ある入力データに対して同一の出力データを出力する。第１回路構成Ｂ２５２−１と第２回路構成Ｂ２５２−２は、ルックアップテーブル、フリップフロップ、内部メモリ、および演算器などの論理回路内部の具体的なハードウェアリソースの使用方法が異なっていてもよい。
【００３３】
＜自車周辺予測＞
図５は、周辺認知処理、行動予測処理、および軌道計画処理の関係を示す図である。図５（ａ）は、時刻Ｔにおける自車周辺地図５１の例を示す図である。図５（ｂ）は、時刻Ｔに演算される、時刻Ｔ＋１における自車周辺予測地図５２の例を示す図である。
【００３４】
本実施の形態では、処理制御部２０３は、前述した所定の処理として、周辺認知処理、行動予測処理、および軌道計画処理を実施する。周辺認知処理では、処理制御部２０３は、情報取得部２０２から受信したセンサ情報や、地図ＤＢ５から取得した地図情報を基に、自車周辺物体を認知する。行動予測処理では、処理制御部２０３は、周辺認知処理による自車周辺物体認知結果を基に、各周辺物体の行動予測を行う。予測の方式としては、たとえば現在の各周辺物体の位置と速度を基に、将来位置を外挿して求める方式が挙げられる。軌道計画処理では、処理制御部２０３は、各周辺物体における予測位置を基に、自車の予測軌道を生成する。処理制御部２０３は、これらの処理結果を基に、自車の予測軌道を満たすような、制御指令値を生成する。
【００３５】
図５（ａ）では、周辺認知処理において実行された、時刻Ｔにおける自車周辺物体の認知結果の例を示す。処理制御部２０３は、時刻Ｔにおけるセンサ情報を基に、自車周辺物体の位置や大きさ、移動速度情報等を統合し、地図ＤＢ５から取得した地図情報に自車周辺物体をマッピングし、時刻Ｔにおける自車周辺地図５１を作成する。図５（ａ）では、自車位置５０１に加え、歩行者位置５０２や他車位置５０３が自車周辺地図５１上にマッピングされたとする。
【００３６】
図５（ｂ）では、行動予測処理および軌道計画処理において実行された、時刻Ｔ＋１における各周辺物体の行動予測結果および自車の予測軌道結果の例を示す。処理制御部２０３は、図５（ａ）で記した時刻Ｔにおける結果を基に、時刻Ｔ＋１以降を予測する。図５（ｂ）では、行動予測結果として歩行者予測位置５５２や他車予測位置５５３、自車の予測軌道計画結果として自車予測位置５５１が自車周辺予測地図５２上にマッピングされたとする。
【００３７】
なお図５（ｂ）には時刻Ｔ＋１における予測位置を点線で示し、図５（ａ）で記した時刻Ｔの認知結果を実線で示しているが、実際の予測結果にこれら実位置は必ずしも含まれない。また図５（ｂ）には各物体の予測位置を１つだけ示しているが、このような各物体の予測位置は、自車の予測軌道の生成に必要となる数だけ生成される。たとえば、１００ミリ秒ごとに１０秒分の軌道を予測する場合、処理制御部２０３は、各物体における予測位置を１００個生成する。
【００３８】
また処理制御部２０３は、判定処理においてはたとえば、時刻Ｔにおける自車周辺物体の認知結果から予測した時刻Ｔ＋１時点における自車周辺物体の予測位置と、時刻Ｔ＋１時点における自車周辺物体の認知結果とを比較することで、位置情報の乖離の程度などから、異常の有無や演算結果の妥当性、すなわち異常の有無を判定する。処理制御部２０３は判定処理において、たとえば位置情報の乖離があらかじめ定めた閾値以内であれば異常なしと判定し、位置情報の乖離がその閾値よりも大きければ異常ありと判定する。
【００３９】
＜管理データベース情報＞
図６は、管理ＤＢ３の一例を示す図である。管理ＤＢ３は、複数のレコードを有するデータベースである。管理ＤＢ３に格納される情報は、あらかじめオペレータなどにより作成される。管理ＤＢ３は、共通部２３１を経由して処理制御部２０３によって参照される。管理ＤＢ３の各レコードには、処理制御部２０３が実行する処理の名称、処理に応じた処理制御部２０３の処理構成、プロセッサコア２３２が実行するプログラムデータ、および論理回路２３３上に構成する回路データの情報が格納される。
【００４０】
処理制御部２０３は管理ＤＢ３に格納されるレコードを上から読み込んで順番に実行するので、管理ＤＢ３に記載されているレコードの順番が処理の順番を示している。ただし図６に示す管理ＤＢ３の構成は一例にすぎず、たとえば実行順序を明示する情報を管理ＤＢ３の各レコードに含ませて、処理制御部２０３は管理ＤＢ３の記載順番や読み込みの順番に依存せず、各レコードに含まれる実行順序に従って処理を実行してもよい。
【００４１】
管理ＤＢ３は、名称６０１、処理構成６０２、プロセッサ演算６０３、および論理回路６０４のフィールドを有する。名称６０１のフィールドには、実行する処理の名称が格納される。処理構成６０２のフィールドには、処理制御部２０３の構成種別、すなわち処理構成Ａ２４１または処理構成Ｂ２４２のいずれかが格納される。プロセッサ演算６０３のフィールドには、プロセッサコア２３２が実行する演算のプログラムデータの情報が格納される。論理回路６０４のフィールドには、論理回路２３３を構成する回路データの情報が格納される。
【００４２】
図６に示す例では、説明のために分かりやすい名称を記載しているが、実際には判別可能であればどのような情報であってもかまわない。たとえば名称６０１のフィールドにはアルファベットや数字の１文字が格納されてもよく、処理構成６０２のフィールドには０／１などの真偽値が格納されてもよい。プロセッサ演算６０３および論理回路６０４のフィールドには、読み込むべきデータが格納されているアドレスが格納されてもよい。
【００４３】
図６に示す例では、名称６０１のフィールドに、上から順番に「周辺認知処理」、「判定処理」、「行動予測処理」、および「軌道計画処理」が格納されている。そのため処理制御部２０３は、第１に周辺認知処理を実行し、第２に判定処理を実行し、第３に行動予測処理を実行し、第４に軌道計画処理を実行する。なお「行動予測処理」の結果、および「軌道計画処理」の結果は、記憶部２３５に格納される。
【００４４】
１つ目のレコードに示される「周辺認知処理」では、プロセッサコア２３２が論理回路２３３全体を活用して非冗長処理を実施する「処理構成Ａ」が処理構成６０２のフィールドに、プロセッサコア２３２が周辺認知処理演算を実施するプログラムデータの情報がプロセッサ演算６０３のフィールドに、論理回路２３３が周辺認知処理回路を構成する回路構成Ａ２５１の回路データの情報が論理回路６０４のフィールドに、それぞれ示されている。
【００４５】
２つ目のレコードに示される「判定処理」では、プロセッサコア２３２の各コアが分割された論理回路２３３を個別に活用して冗長処理を実施する「処理構成Ｂ」が処理構成６０２のフィールドに、第１プロセッサコア２３２−１が第１の判定処理演算を実施するプログラムデータの情報、および第２プロセッサコア２３２−２が第２の判定処理演算を実施するプログラムデータの情報がプロセッサ演算６０３のフィールドに、論理回路２３３において第１の判定処理回路を構成する第１回路構成Ｂ２５２−１の回路データの情報、および第２の判定処理回路を構成する第２回路構成Ｂ２５２−２の回路データの情報が論理回路６０４のフィールドに、それぞれ示されている。
【００４６】
３つ目のレコードに示される「行動予測処理」では、「処理構成Ａ」が処理構成６０２のフィールドに、プロセッサコア２３２が行動予測処理演算を実施するプログラムデータの情報がプロセッサ演算６０３のフィールドに、論理回路２３３が行動予測処理回路を構成する回路構成Ａ２５１の回路データの情報が論理回路６０４のフィールドに、それぞれ示されている。
【００４７】
４つ目のレコードに示される「軌道計画処理」では、「処理構成Ａ」が処理構成６０２のフィールドに、プロセッサコア２３２が軌道計画処理演算を実施するプログラムデータの情報がプロセッサ演算６０３のフィールドに、論理回路２３３が軌道計画処理回路を構成する回路構成Ａ２５１の回路データの情報が論理回路６０４のフィールドに、それぞれ示されている。
【００４８】
＜動作フローチャート＞
図７は、処理制御部２０３の動作概要を示すフローチャートである。処理制御部２０３は、所定の処理周期、たとえば１００ミリ秒ごとに情報取得部２０２から情報を取得して、図７に示す処理を実行する。すなわち図７に示す処理はある１処理周期において実行される処理であり、実際には図７に示す処理が繰り返し実行される。
【００４９】
まずステップＳ７０１では、処理制御部２０３は各種ＤＢ、すなわち管理ＤＢ３、処理ＤＢ４、および地図ＤＢ５を読み込む。続くステップＳ７０２では処理制御部２０３は、ステップＳ７０１において読み込んだ管理ＤＢ３の先頭レコードを処理対象に設定する。続くステップＳ７０３では処理制御部２０３は、処理対象が判定処理であるか否かを判断し、処理対象が判定処理であると判断する場合はステップＳ７０４に進み、処理対象が判定処理ではないと判断する場合はステップＳ７０５に進む。
【００５０】
ステップＳ７０４では処理制御部２０３は、前回周期のデータが存在するか否か、換言すると、前回の処理周期における行動予測処理結果や軌道計画処理結果が記憶部２３５に格納されているか否かを判断する。処理制御部２０３は、前回周期のデータが存在すると判断する場合はステップＳ７０６に進み、前回周期のデータが存在しないと判断する場合はステップＳ７０８に進む。たとえば車両１００のイグニッションキーがＯＮにされた直後など、図７に示す処理が初回に実行された場合には、行動予測処理結果や軌道計画処理結果が記憶部２３５に格納されていないのでステップＳ７０４は否定判断される。
【００５１】
ステップＳ７０５では処理制御部２０３は、処理対象のレコードにおいて指定された処理を実行してステップＳ７０８に進む。ステップＳ７０５の処理を詳述すると次のとおりである。処理制御部２０３は、処理対象のレコードにおけるプロセッサ演算６０３のフィールドの記載に基づきプロセッサコア２３２にプログラムを読み込み実行する。さらに処理制御部２０３は、処理対象のレコードにおける論理回路６０４のフィールドの記載に基づき論理回路２３３を再構成して演算を実行させる。なおプロセッサ演算６０３のフィールドにプログラムデータが１つしか記載されていない場合はプロセッサコア２３２が同一のプログラムを実行し、プロセッサ演算６０３のフィールドにプログラムデータが２つ記載されている場合はプロセッサコア２３２が別々のプログラムを実行する。
【００５２】
また論理回路６０４のフィールドに回路データが１つしか記載されていない場合は論理回路２３３の全体で１つの処理を実行し、論理回路６０４のフィールドに回路データが複数記載されている場合は論理回路２３３が複数に分割されてそれぞれの領域で異なる処理が実行される。以上がステップＳ７０５の詳細な説明である。
【００５３】
ステップＳ７０６では処理制御部２０３は、ステップＳ７０５と同様に、処理対象のレコードにおいて指定された処理、すなわち判定処理を実行してステップＳ７０７に進む。なおステップＳ７０６の実行手順自体はステップＳ７０５と変わらないが、判定処理は前述のとおり第１処理構成Ｂ２４２−１および第２処理構成Ｂ２４２−２の両方で冗長して実行される。
【００５４】
この判定処理ではたとえば、今回の処理周期における自車周辺物体の認知結果と、前回の処理周期における自車周辺物体の認知結果から予測した今回の処理周期における予測位置との乖離を算出する。さらに判定処理では、算出した乖離があらかじめ定めた閾値以内であれば異常なしと判定し、乖離が閾値よりも大きければ異常ありと判定し、判定結果を記憶部２３５に格納する。前述のとおり判定処理は、第１処理構成Ｂ２４２−１および第２処理構成Ｂ２４２−２の両方で冗長して実行されるので、記憶部２３５にはそれぞれの実行結果が格納される。
【００５５】
続くステップＳ７０７では処理制御部２０３の共通部２３１は、第１処理構成Ｂ２４２−１および第２処理構成Ｂ２４２−２の判定結果に基づき異常の有無を判断する。共通部２３１は、２つの判定結果がどちらも異常無しの場合は検証結果として異常無しと判定し、２つの判定結果がどちらも異常有りの場合、および、２つの判定結果が異なる場合は検証結果として異常有りと判定する。処理制御部２０３は、異常ありと判断すると図７に示す処理を終了し、異常なしと判断する場合はステップＳ７０８に進む。ただし処理制御部２０３は、異常ありと判断する場合に異常を検出したことの記録を残してもよいし、第２通信ＩＦ２０１−２を介して車両１００に搭載される他の機器に異常の検出を報知してもよい。
【００５６】
ステップＳ７０８では処理制御部２０３は、管理ＤＢ３に記載されている全てのレコードの処理が完了したか否かを判断する。処理制御部２０３は、全て処理が完了したと判断する場合は図７に示す処理を終了し、未処理のレコードが存在すると判断する場合はステップＳ７０９に進む。ステップＳ７０９では処理制御部２０３は、管理ＤＢ３に記載されているレコードのうち、未処理のレコードであって処理すべき順番がもっとも早いレコードを処理対象に更新してステップＳ７０３に戻る。
【００５７】
＜動作シーケンス＞
図８は、処理制御部２０３の動作詳細を示すシーケンス図である。図８では、管理ＤＢ３が図６に示したものである場合における、共通部２３１、プロセッサコア２３２、および、論理回路２３３の動作を示している。図８では図示上部から下部に向かって時間が経過している。説明の便宜のために、図８の右端に示すように時間帯を示すＱ１〜Ｑ１２を用いる。「Ｑ」の後ろに続く数字が大きいほど後の時間帯を表している。ただしそれぞれの時間帯の長さは同一でなくてもよい。
【００５８】
図８では、処理制御部２０３は、図６に示した管理ＤＢ３の記載に従って、周辺認知処理、行動予測処理、軌道生成処理を非冗長処理構成により実施してその結果を共通部２３１の記憶部２３５に格納する。また、処理制御部２０３は、格納された結果の判定処理を冗長処理構成により実施することで、判定結果に対する信頼性を確保する。
【００５９】
なお図８では、処理周期Ｐ１と処理周期Ｐ１に続く処理周期Ｐ２の一部のみを示しているが、処理周期Ｐ２の続きや、処理周期Ｐ２に続くさらなる処理周期も同様に実行される。周期Ｐ１が１周期目、周期Ｐ２が２周期目を示し、どちらも処理時間は処理周期Ｐに従う。
【００６０】
図８では初めに、プロセッサコア２３２、および論理回路２３３は処理構成Ａを構成して周辺認知処理を行う（時間帯Ｑ１）。プロセッサコア２３２は周辺認知処理演算を非冗長処理し、周辺認知処理回路で構成される論理回路２３３をアクセラレータとして活用する。第１プロセッサコア２３２−１および第２プロセッサコア２３２−２は、周辺認知処理を終了すると処理結果を共通部２３１に送信し、共通部２３１は記憶部２３５にその結果を保持する。なお信頼性を考慮して、記憶部２３５に処理結果を冗長化させて保持してもよい。
【００６１】
共通部２３１への結果送信を終えると、プロセッサコア２３２、および論理回路２３３は、判定処理を実施するために、処理構成Ａから処理構成Ｂに構成を変更する（時間帯Ｑ２）。具体的には、処理ＤＢ４から判定処理用のプログラムデータや回路データを取得し、プロセッサコアへの読み込み、および論理回路２３３の書き換えを行う。プロセッサコア２３２は、それぞれ共通部２３１から保持結果を取得し、判定処理演算を冗長処理する。なおこの保持結果とは、具体的には、周期Ｐ１の前の周期の行動予測処理結果と軌道計画処理結果、および周期Ｐ１の周辺認知処理結果である。またプロセッサコア２３２は、２つに分割された判定処理回路で構成される論理回路２３３をそれぞれ個別にアクセラレータとして活用する（時間帯Ｑ３）。
【００６２】
プロセッサコア２３２は、判定処理を終了すると結果を共通部２３１に送信し、共通部２３１は、２つの判定結果が同じか否かを検証する（時間帯Ｑ４）。たとえば、図７に示したステップＳ７０５において、処理制御部２０３は、判定処理において異常判定か否かを判定する。共通部２３１は、２つの判定結果がどちらも異常無しの場合は検証結果として異常無しと判定し、２つの判定結果がどちらも異常有りの場合、および、２つの判定結果が異なる場合は検証結果として異常有りと判定する。仮に検証結果として異常有りと判定された場合は周期Ｐ１における処理を終了するが、ここでは異常無しと判定された場合として説明を続ける。
【００６３】
時間帯Ｑ４において、プロセッサコア２３２、および論理回路２３３は、次の行動予測処理を実施するために、処理ＤＢ４から判定処理用のプログラムデータや回路データを取得し、プロセッサコア２３２への読み込み、および論理回路２３３の書き換えを行う。そしてプロセッサコア２３２は、共通部２３１から処理周期Ｐ１における周辺認知処理結果を取得する。プロセッサコア２３２は、行動予測処理演算を非冗長処理し、行動予測処理回路で構成される論理回路２３３をアクセラレータとして活用する（時間帯Ｑ５）。プロセッサコア２３２は、行動予測処理を終了すると処理結果を共通部２３１に送信し、共通部２３１は記憶部２３５にその結果を保持する。
【００６４】
共通部２３１への結果送信を終えると、プロセッサコア２３２、および論理回路２３３は、次の軌道計画処理を実施するために、構成は処理構成Ａを維持して次の処理に備える。具体的にはプロセッサコア２３２、および論理回路２３３は、処理ＤＢ４から取得したプログラムデータを読み込み、回路データを用いて論理回路２３３を再構成する（時間帯Ｑ６）。共通部２３１から処理周期Ｐ１における周辺認知処理結果や行動予測処理結果を取得すると、プロセッサコア２３２は、軌道計画処理演算を非冗長処理し、軌道計画処理回路で構成される論理回路２３３をアクセラレータとして活用する（時間帯Ｑ７）。プロセッサコア２３２は、軌道計画処理を終了すると処理結果を共通部２３１に送信し、共通部２３１は記憶部２３５にその結果を保持する。
【００６５】
共通部２３１への結果送信を終えると、プロセッサコア２３２、および論理回路２３３は、次の周期Ｐ２における周辺認知処理を実施するために、構成は処理構成Ａを維持し、処理ＤＢ４から取得したプログラムデータや回路データを周辺認知処理用にそれぞれ変更する（Ｑ８）。以上のＱ１からＱ８までの時間帯が処理周期Ｐ１であり、処理制御部２０３は、この軌道計画処理の結果を満たすように、制御指令値を出力する。
【００６６】
次に、共通部２３１、プロセッサコア２３２、および論理回路２３３は、時間帯Ｑ１〜Ｑ８と同様に、時間帯Ｑ９以降から処理周期Ｐ２の処理を開始する。処理周期Ｐ２の処理は処理周期Ｐ１と同様であるため、時間帯Ｑ９〜Ｑ１２の詳細な記載は省略するが、時間帯Ｑ１１において、記憶部２３５から取得する保持結果は、処理周期Ｐ１の行動予測処理結果と軌道計画処理結果、および処理周期Ｐ２の周辺認知処理結果となる。以上が図８に示した動作の説明である。
【００６７】
前述のとおり、本実施の形態によれば、自動運転における周辺認知処理、行動予測処理、軌道計画処理は非冗長処理により高速化し、冗長処理は判定処理のみを対象とすることで信頼性を向上することができる。また、非冗長処理向けの処理構成と冗長処理向けの処理構成を処理に応じて切り替えて制御することができる。したがって、本実施の形態によれば、要求される信頼性や処理時間に応じて、監視等のための冗長処理の対象や範囲を変更し、非冗長処理と冗長処理を効率的に実施可能な構成を提供することができる。
【００６８】
上述した第１の実施の形態によれば、次の作用効果が得られる。
（１）電子制御装置である自律走行制御装置２は、処理制御部２０３と情報取得部２０２とを備える。情報取得部２０２は、外界の情報を収集して処理制御部２０３に転送する。処理制御部２０３は、第１プロセッサコア２３２−１と第２プロセッサコア２３２−２と記憶部２３５とを備える。処理制御部２０３は、図４（ａ）に示すように第１プロセッサコア２３２−１と第２プロセッサコア２３２−２とを用いて非冗長処理を実行する非冗長処理構成による演算処理と、図４（ｂ）に示すように第１プロセッサコア２３２−１と第２プロセッサコア２３２−２を用いて冗長処理を実行する冗長処理構成による演算処理と、を実行する。処理制御部２０３は、非冗長処理構成による演算処理の結果を記憶部２３５に格納し、冗長処理構成による演算処理、すなわち判定処理によって、記憶部２３５に格納した結果を用いた演算処理を第１プロセッサコア２３２−１と第２プロセッサコア２３２−２との双方で個別に行い、第１プロセッサコア２３２−１による演算結果と第２プロセッサコア２３２−２による演算結果とに基づいて非冗長処理構成による演算処理結果に対する判定を行う。そのため、非冗長処理構成と冗長処理構成を適宜切り替えることにより、冗長構成による判定を低コストに実現できる。
【００６９】
（２）判定は非冗長処理構成による演算処理の結果の異常有無判定である。そのため、非冗長処理構成による低コストで高速な演算の異常の有無を、信頼性の高い冗長構成により判定できる。
【００７０】
（３）処理制御部２０３は、再構成可能な論理回路２５を備える。論理回路２５は、非冗長処理構成において第１プロセッサコア２３２−１および第２プロセッサコア２３２−２とともに処理を実行し、冗長処理構成において再構成により回路を２つの領域に分割し、第１プロセッサコア２３２−１と第１回路構成Ｂ２５２−１、および第２プロセッサコア２３２−２と第２回路構成Ｂ２５２−２を冗長させて個別に処理を実行する。そのため処理制御部２０３は、論理回路も含めた冗長構成をとることができる。
【００７１】
（４）判定は、第１プロセッサコア２３２−１または第２プロセッサコア２３２−２において実行される。そのため処理制御部２０３は、追加のプロセッサを用いることなく判定を実行できる。
【００７２】
（変形例１）
上述した第１の実施の形態では、処理制御部２０３は、判定処理においてのみ冗長処理を実施する処理構成Ｂとしたが、他の周辺認知処理や行動予測処理、軌道計画処理を処理構成Ｂとしてもよい。たとえば管理ＤＢ３を書き換えて、非冗長処理を実施する処理構成Ａとしても、非冗長処理による高速化の効果が小さい場合や、処理構成の変更に時間を要する場合が考えられる。
【００７３】
＜管理データベース情報＞
図９は、変形例１における管理データベース３の一例を示す図である。すなわち図９は、上述した第１の実施の形態における図６に対応する。図９では、図６と比較し、行動予測処理における処理構成６０２が、処理構成Ａか処理構成Ｂかという点が異なる。図９では、行動予測処理における処理構成６０２は処理構成Ｂである。
【００７４】
図９に示す例の「行動予測処理」では、処理構成Ｂが符号６０２に、第１プロセッサコア２３２−１が第１の行動予測処理演算を実施するプログラムデータの情報、および第２プロセッサコア２３２−２が第２の行動予測処理演算を実施するプログラムデータの情報が符号６０３に、論理回路２３３において第１の行動予測処理回路を構成する第１回路構成Ｂ２５２−１の回路データの情報、および第２の行動予測処理回路を構成する第２回路構成Ｂ２５２−２の回路データの情報が符号６０４にそれぞれ示されている。
【００７５】
＜動作シーケンス＞
図１０は、変形例１における処理制御部２０３の動作詳細を示すシーケンス図である。すなわち図１０は、上述した第１の実施の形態における図８に対応する。図１０では、行動予測処理における処理構成６０２は処理構成Ｂである。時間帯Ｑ１〜Ｑ４、Ｑ７〜Ｑ１２における処理は図８と同様なので説明を省略する。時間帯Ｑ４において、プロセッサコア２３２、および論理回路２３３は、次の行動予測処理を実施するために、処理構成Ｂを維持し、処理ＤＢ４から取得したプログラムデータや回路データを行動予測処理用にそれぞれ変更する。
【００７６】
第１プロセッサコア２３２−１と第２プロセッサコア２３２−２は、それぞれ共通部２３１から処理周期Ｐ１の周辺認知処理結果を取得し、行動予測処理演算を冗長処理する。また、２つに分割された行動予測処理回路で構成される論理回路２３３をそれぞれ個別にアクセラレータとして活用する（時間帯Ｑ５５）。第１プロセッサコア２３２−１および第２プロセッサコア２３２−２は、行動予測処理を終了すると結果を共通部２３１にそれぞれ送信する。共通部２３１への結果送信を終えると、プロセッサコア２３２、および論理回路２３３は、次の軌道計画処理を実施するために、構成を処理構成Ｂから処理構成Ａに変更し、処理ＤＢ４から取得したプログラムデータや回路データを軌道計画処理用にそれぞれ変更する（時間帯Ｑ５６）。
【００７７】
（変形例２）
上述した第１の実施の形態では、処理制御部２０３は、２つのプロセッサコア２３２を所定の処理の演算に使用したが、３つ以上のプロセッサコアを演算に使用してもよい。
【００７８】
＜処理制御部の処理構成例＞
図１１は、変形例２における処理制御部１２０３の構成例を示す図である。本変形例では処理制御部１２０３は、第１プロセッサコア１２３２−１、第２プロセッサコア１２３２−２、および第３プロセッサコア１２３２−３の３つのプロセッサコアを備える。以下では、第１プロセッサコア１２３２−１、第２プロセッサコア１２３２−２、および第３プロセッサコア１２３２−３をまとめて、「プロセッサコア１２３２」と呼ぶ。
【００７９】
図１１（ａ）は、プロセッサコア１２３２が論理回路１２３３全体を活用して非冗長処理を実施する構成例を示す図である。図１１（ｂ）は、プロセッサコア１２３２の各コアが分割された論理回路１２３３を個別に活用して冗長処理を実施する構成例を示す図である。すなわち図１１は、上述した第１の実施の形態における図４に対応し、３つのプロセッサコアを所定の処理の演算に使用する例を示す。
【００８０】
図１１（ａ）は、処理構成Ａ１２４１として、第１プロセッサコア１２３２−１、第２プロセッサコア１２３２−２、第３プロセッサコア１２３２−３、および論理回路２３３の全体を活用して所定の処理を実施する例を示す。第１プロセッサコア１２３２−１、第２プロセッサコア１２３２−２、および第３プロセッサコア１２３２−３は、それぞれが異なる処理、すなわち非冗長処理を実施する。さらにこれら３つのプロセッサコアは、内部バス１２３４を経由して、論理回路１２３３をアクセラレータとして活用する。
【００８１】
このとき論理回路１２３３は、回路構成Ａ１２５１として１つのアクセラレータ回路を構成する。ただし論理回路１２３３を複数の領域に分割し、各領域に構成された回路が別々のプロセッサコアのアクセラレータとして機能してもよい。
【００８２】
図１１（ｂ）は、第１処理構成Ｂ１２４２−１と、第２処理構成Ｂ１２４２−２と、第３処理構成Ｂ１２４２−３を合わせた処理構成Ｂ１２４２として、プロセッサコア１２３２の各コアが３つに分割された論理回路１２３３を個別に活用して冗長処理を実施する構成例を示す。第１処理構成Ｂ１２４２−１では第１プロセッサコア１２３２−１を、第２処理構成Ｂ１２４２−２では第２プロセッサコア１２３２−２を、第３処理構成Ｂ１２４２−３では第３プロセッサコア１２３２−３をそれぞれ使用し、冗長処理をする。第１プロセッサコア１２３２−１、第２プロセッサコア１２３２−２、および第３プロセッサコア１２３２−３は、それぞれ内部バス１２３４を経由して、論理回路１２３３をアクセラレータとして活用する。
【００８３】
このとき、論理回路１２３３は、第１回路構成Ｂ１２５２−１と、第２回路構成Ｂ１２５２−２、第３回路構成Ｂ１２５２−３を合わせて回路構成Ｂ１２５２とし、第１回路構成Ｂ１２５２−１は第１プロセッサコア１２３２−１のアクセラレータ回路、第２回路構成Ｂ１２５２−２は第２プロセッサコア１２３２−２のアクセラレータ回路、第３回路構成Ｂ１２５２−３は第３プロセッサコア１２３２−３のアクセラレータ回路をそれぞれ構成する。なお、第１回路構成Ｂ１２５２−１、第２回路構成Ｂ１２５２−２、および第３回路構成Ｂ１２５２−３で構成される回路は、ハードウェアの信頼性を考慮し、論理回路２５において物理的に隔たれた回路領域を使用することが好ましい。
【００８４】
図１１（ｂ）において、処理制御部１２０３は、第１処理構成Ｂ１２４２−１と、第２処理構成Ｂ１２４２−２と、第３処理構成Ｂ１２４２−３において３つの冗長処理として個別に実行された結果を比較することで、所定の処理における異常の有無や結果の妥当性の判定などの信頼性を向上する。
【００８５】
たとえば、上述した第１の実施の形態の図７に示したステップＳ７０５において、処理制御部２０３は、判定処理において異常判定か否かを判定した。変形例２の処理制御部１２０３で実施する場合、処理制御部１２０３は、３つの判定処理の結果から異常判定か否かを判定してもよい。共通部１２３１は、３つの判定結果のいずれも異常無しの場合、および、２つの判定結果が異常無しで１つの判定結果が異常有りの場合は検証結果として異常無しと判定してもよい。また、共通部１２３１は、１つの判定結果が異常無しで２つの判定結果が異常ありの場合、および、３つの判定結果のいずれも異常ありの場合は検証結果として異常ありと判定してもよい。
【００８６】
本変形例によれば次の作用効果が得られる。
（５）処理制御部２０３は、第３プロセッサコア２３２−３を備え、判定は、第３プロセッサにおいて実行される。
【００８７】
（６）処理制御部２０３は、第３プロセッサコア２３２−３を備える。第１プロセッサコア２３２−１と第２プロセッサコア２３２−２と第３プロセッサコア２３２−３とを用いて非冗長処理を実行する第３の処理構成による演算処理と、第１プロセッサコア２３２−１と第２プロセッサコア２３２−２と第３プロセッサコア２３２−３とを冗長させて個別に処理を実行する第４の処理構成による演算処理と、を実行する。処理制御部２０３は、第３の処理構成による演算処理の結果を記憶部２３５に格納し、第４の処理構成による演算処理によって、格納した結果を用いた演算処理を第１プロセッサコア２３２−１と第２プロセッサコア２３２−２と第３プロセッサコア２３２−３のそれぞれで個別に行い、当該第１プロセッサコア２３２−１による演算結果と当該第２プロセッサコア２３２−２による演算結果と当該第３プロセッサコア２３２−３による演算結果とに基づいて第３の処理構成による演算処理結果に対する判定を行う。そのため、三重の冗長系による判定を低コストに実現できる。
【００８８】
（７）判定は第３の処理構成による演算処理の結果の異常有無判定である。そのため第１の実施の形態よりも高い冗長性を確保できる。
【００８９】
（８）異常有無判定は、当該第１プロセッサコア２３２−１による演算結果と当該第２プロセッサコア２３２−２による演算結果と当該第３プロセッサコア２３２−３による演算結果の各結果の多数決に基づく。そのため、異常の有無だけでなくどちらが正しいかを判別できる。
【００９０】
（変形例３）
上述した第１の実施の形態では、図４に示すように、共通部２３１をプロセッサコア２３２と分離して記載した。しかし、第１プロセッサコア２３２−１または第２プロセッサコア２３２−２により共通部２３１が実現されてもよいし、自律走行制御装置２に内蔵される不図示の他のプロセッサコアにより実現されてもよい。
【００９１】
（変形例４）
上述した第１の実施の形態では、判定処理において前回の処理周期における自車周辺物体の予測位置と、現在の処理周期における自車周辺物体の認知結果とを比較した。しかし両者を比較する代わりにそれぞれを基準値と比較してもよいし、いずれか一方のみを基準値と比較してもよい。この場合はたとえば、ＲＯＭ２２にあらかじめ定性的または定量的な整合性ルールを格納しておく。そして判定処理では、前回の処理周期における自車周辺物体の予測位置と前述の整合性ルールとを比較することで、前回の処理周期における自車周辺物体の予測位置の異常を検出する。また判定処理ではさらに、現在の処理周期における自車周辺物体の認知結果と前述の整合性ルールとを比較することで、現在の処理周期における自車周辺物体の認知結果の異常を検出する。
【００９２】
認知結果と比較する整合性ルールとはたとえば、センサの仕様から現実的と考えられる条件であり、車両１００からの自車周辺物体との距離がセンサの限界を超えていないことや、自車周辺物体の位置がセンサの視野範囲内に収まっていることである。自車周辺物体の予測位置と比較する整合性ルールとはたとえば、自車周辺物体の速度が所定の閾値以下であることである。
【００９３】
（変形例５）
上述した第１の実施の形態では、判定処理において異常の有無を判断した。しかし判定処理では異常の有無の判断までは行わず、異常の程度を判断してもよい。この場合はたとえば図７のステップＳ７０６において、第１処理構成Ｂ２４２−１および第２処理構成Ｂ２４２−２は、異常の程度を複数の段階で評価してもよいし、異常の可能性の有無のみを判断してもよい。またこの場合に共通部２３１は、図７のステップＳ７０７において、第１処理構成Ｂ２４２−１および第２処理構成Ｂ２４２−２が判定する異常の程度が同一である場合にステップＳ７０７を否定判断してステップＳ７０８に進み、両者が判定する異常の程度が同一でない場合に肯定判断して図７に示す処理を終了する。
【００９４】
（変形例６）
処理制御部２０３は、論理回路２３３をアクセラレータとして使用しなくてもよい。この場合は自律走行制御装置２は、論理回路２６を備えなくてもよい。この場合には、管理ＤＢ３には論理回路６０４のフィールドが含まれなくてもよい。
【００９５】
（変形例７）
上述した第１の実施の形態では、非冗長処理構成は図４（ａ）に示す第１非冗長処理構成として説明した。しかし非冗長処理構成を、第１回路構成Ｂ２５２−１がカメラの出力を処理し、第２回路構成Ｂ２５２−２がレーザの出力を処理するような、第２冗長処理構成としてもよい。
【００９６】
（変形例８）
図８に示すシーケンス図では、冗長処理である第１判定処理演算と第２判定処理演算とが略同時に実行されるように記載されている。しかし冗長処理は厳密な同時や略同時に実行されなくてもよく、プロセッサコア毎の処理時間や処理タイミングが異なってもよい。換言すると、第１処理構成Ｂ２４２−１および第２処理構成Ｂ２４２−２の処理時間や処理タイミングが異なっていても冗長処理として扱ってもよい。
【００９７】
―第２の実施の形態―
図１２を参照して、電子制御装置である自律走行制御装置の第２の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、処理制御部２０３が管理ＤＢ３を生成する点で、第１の実施の形態と異なる。
【００９８】
図１２は、本実施の形態における自律走行制御装置２の機能構成図である。本実施の形態では、簡易管理シート６がさらに備えられる。本実施の形態では、共通部２３１は簡易管理シート６に基づき管理ＤＢ３を作成する管理ＤＢ作成部としても機能する。すなわち本実施の形態では、管理ＤＢ３はフラッシュメモリ２４やＲＯＭ２２にあらかじめ格納されているのではなく、共通部２３１により作成される。簡易管理シート６は、オペレータによりあらかじめ作成される。
【００９９】
簡易管理シート６には、実行すべき処理の名称、実行すべき処理の順番、それぞれの回路情報の読み込みに要する時間、論理回路の書き換えに要する時間、および論理回路の実行時間が記載される。処理制御部２０３は、自律走行制御装置２の電源がオンにされると管理ＤＢ３の作成を開始し、管理ＤＢ３が完成すると第１の実施の形態と同様に管理ＤＢ３の記載に従って処理を行う。処理制御部２０３による管理ＤＢ３の作成は次のとおりである。
【０１００】
処理制御部２０３は、判定処理以外の処理について、冗長処理構成と非冗長処理構成のいずれとするかを決定し、管理ＤＢ３を作成する。一般に、実行時間だけに注目すれば、非冗長処理構成をとる方が短時間で完了する。しかし、非冗長処理構成の方が回路情報の読み込みや回路の再構成に長時間を要する場合があるため、読み込みや再構成の時間も考慮すると、冗長処理構成の方が短時間で完了する場合がある。そのため処理制御部２０３は、簡易管理シート６に記載された情報に基づき、読み込みや再構成を含めて実行時間が最短となるように、判定処理以外の処理について、冗長処理構成と非冗長処理構成のいずれとするかを決定する。
【０１０１】
上述した第２の実施の形態によれば、処理制御部２０３が最適な管理ＤＢ３を生成できる利点を有する。
【０１０２】
本発明は前述した実施の形態や変形例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例や変形例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されるものではない。また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてもよい。
【０１０３】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【０１０４】
１…車載システム
２…自律走行制御装置
３…管理データベース
４…処理データベース
１００…車両
２０１…通信インタフェース
２０２…情報取得部
２０３…処理制御部
２３１…共通部
２３２…プロセッサコア
２３２−１…第１プロセッサコア
２３２−２…第２プロセッサコア
２３３…論理回路
２４１…処理構成Ａ
２４２…処理構成Ｂ
２４２−１…第１処理構成Ｂ
２４２−２…第２処理構成Ｂ
２５１…回路構成Ａ
２５２…回路構成Ｂ
２５２−１…第１回路構成Ｂ
２５２−２…第２回路構成Ｂ
【図１】
2020128117.tif 000003
【図２】
2020128117.tif 000004
【図３】
2020128117.tif 000005
【図４】
2020128117.tif 000006
【図５】
2020128117.tif 000007
【図６】
2020128117.tif 000008
【図７】
2020128117.tif 000009
【図８】
2020128117.tif 000010
【図９】
2020128117.tif 000011
【図１０】
2020128117.tif 000012
【図１１】
2020128117.tif 000013
【図１２】
2020128117.tif 000014