(57)【要約】【課題】オーバヘッドの増加を抑えつつ、柔軟に処理を高速化できる。【解決手段】電子制御装置は、第１処理制御部および第２処理制御部を備え、第１処理制御部および第２処理制御部は、外界の情報を入力とする演算処理を交互に開始し、第１処理制御部による第１の演算処理の開始後から第１の演算処理の終了前までに、第２処理制御部の第２の演算処理を開始する。【選択図】図４
2020060859.tif 000002
【特許請求の範囲】
【請求項１】
第１処理制御部および第２処理制御部を備える電子制御装置であって、
前記第１処理制御部および前記第２処理制御部は、外界の情報を入力とする演算処理を交互に開始し、
前記第１処理制御部による第１の演算処理の開始後から前記第１の演算処理の終了前までに、前記第２処理制御部の第２の演算処理を開始する電子制御装置。
【請求項２】
請求項１に記載の電子制御装置において、
前記第１の演算処理の結果と前記第２の演算処理の結果とを一連の演算結果として制御する出力制御部をさらに備える電子制御装置。
【請求項３】
請求項１に記載の電子制御装置において、
前記第１処理制御部に入力される前記外界の情報と、前記第２処理制御部に入力される前記外界の情報とは、異なる時刻の情報である電子制御装置。
【請求項４】
請求項１に記載の電子制御装置において、
収集した前記外界の情報を前記第１処理制御部と前記第２処理制御部とに交互に振分ける振分制御部をさらに備え、
前記第１処理制御部と前記第２処理制御部とは、前記交互に振り分けられた前記外界の情報を入力として前記演算処理を交互に開始する電子制御装置。
【請求項５】
請求項４に記載の電子制御装置において、
前記第１処理制御部の演算処理に基づく出力と前記第２処理制御部の演算処理に基づく出力とを比較し、前記比較の結果に基づき前記第１処理制御部または前記第２処理制御部の障害を検知する障害判定部をさらに備える電子制御装置。
【請求項６】
請求項５に記載の電子制御装置において、
前記第１処理制御部の演算処理は、第１の時刻の外界の情報を入力として前記第１の時刻の外界の状況を認知する第１周辺認知処理、および前記第１周辺認知処理の演算結果に基づき前記第１の時刻よりも将来の外界の状況を予測する第１予測処理から構成され、
前記第２処理制御部の演算処理は、第２の時刻の外界の情報を入力として前記第２の時刻の外界の状況を認知する第２周辺認知処理、および前記第２周辺認知処理の演算結果に基づき前記第２の時刻よりも将来の外界の状況を予測する第２予測処理から構成され、
前記第１処理制御部の演算処理に基づく出力は、前記第１処理制御部の演算処理における第１予測処理の演算結果であり、
前記第２処理制御部の演算処理に基づく出力は、前記第２処理制御部の演算処理における前記第２周辺認知処理の演算結果である電子制御装置。
【請求項７】
請求項５に記載の電子制御装置において、
前記第１の演算処理は、第１の時刻の外界の情報を入力として前記第１の時刻の外界の状況を認知する第１周辺認知処理、および前記第１周辺認知処理の演算結果に基づき前記第１の時刻よりも将来の外界の状況を予測する第１予測処理から構成され、
前記第２の演算処理は、第２の時刻の外界の情報を入力として前記第２の時刻の外界の状況を認知する第２周辺認知処理、および前記第２周辺認知処理の演算結果に基づき前記第２の時刻よりも将来の外界の状況を予測する第２予測処理から構成され、
前記第１処理制御部の演算処理に基づく出力は、前記第１予測処理の演算結果であり、
前記第２処理制御部の演算処理に基づく出力は、前記第２予測処理の演算結果および前記第２周辺認知処理の演算結果である電子制御装置。
【請求項８】
請求項７に記載の電子制御装置において、
前記障害判定部は、前記第１予測処理の演算結果よりも前記第２予測処理の演算結果のほうがより確からしいとして前記第１処理制御部または前記第２処理制御部の障害を検知する電子制御装置。
【請求項９】
請求項７に記載の電子制御装置において、
前記障害判定部は、前記第１処理制御部または前記第２処理制御部の障害を検知すると、前記振分制御部に、前記第１処理制御部または前記第２処理制御部の該当する処理制御部の障害を通知し、
前記振分制御部は、前記収集した前記外界の情報の前記該当する処理制御部への振分けを中止する電子制御装置。
【請求項１０】
請求項１に記載の電子制御装置において、
前記第１処理制御部および前記第２処理制御部の少なくとも一方は、再構成可能な論理回路を含んで構成され、前記論理回路を用いて前記第１の演算処理または前記第２の演算処理を実行する電子制御装置。
【請求項１１】
第１処理制御部および第２処理制御部を備える電子制御装置が実行する並列処理方法であって、
前記第１処理制御部および前記第２処理制御部に、外界の情報を入力とする演算処理を交互に開始させることと、
前記第１処理制御部による第１の演算処理の開始後から終了前までに、前記第２処理制御部の第２の演算処理を開始させることとを含む並列処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置、および並列処理方法に関する。
【背景技術】
【０００２】
車両の自動運転を目指した技術開発が進められている。自動運転は運転者に代わり周囲の認識、車両の制御を行う必要があり、膨大な情報処理が求められる。増大する情報処理に対応するため、ＣＰＵ（Central  Processing  Unit）に加え、論理回路を再構成可能なＦＰＧＡ（Field  Programmable  Gate  Array）等のＰＬＤ（Programmable  Logic  Device）やＧＰＵ（Graphics  Processing  Unit）を用いる検討が進められている。ＰＬＤやＧＰＵなどのハードウェアチップを用いて高速な演算を行う場合は、消費電力を考慮した適切な処理が求められる。特許文献１には、シングルコアプロセッサで処理可能なように記述された逐次プログラムからマルチコアプロセッサで処理可能なように並列化した並列プログラムを生成する並列化コンパイル方法であって、前記逐次プログラムを構成する処理群を、前記マルチコアプロセッサを構成する単一コア上で逐次動作する逐次処理と、前記マルチコアプロセッサを構成する複数コア上で並列動作する並列処理とに分類する分類手順と、前記分類手順によって前記並列処理に分類された処理を前記複数コアに対して不均一に割り当てる不均一割当処理を実行する割当手順と、前記分類手順の分類結果及び前記割当手順の割当結果に基づいて前記並列プログラムを生成する生成手順と、を備えることを特徴とする並列化コンパイル方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２１８５０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されている発明では、プログラムの増大に伴って並列数が多くなると各コアへの処理の割り当てが複雑になり、オーバヘッドも増大することが懸念される。
【課題を解決するための手段】
【０００５】
本発明の第１の態様による電子制御装置は、第１処理制御部および第２処理制御部を備える電子制御装置であって、前記第１処理制御部および前記第２処理制御部は、外界の情報を入力とする演算処理を交互に開始し、前記第１処理制御部による第１の演算処理の開始後から前記第１の演算処理の終了前までに、前記第２処理制御部の第２の演算処理を開始する。
本発明の第２の態様による並列処理方法は、第１処理制御部および第２処理制御部を備える電子制御装置が実行する並列処理方法であって、前記第１処理制御部および前記第２処理制御部に、外界の情報を入力とする演算処理を交互に開始させることと、前記第１処理制御部による第１の演算処理の開始後から終了前までに、前記第２処理制御部の第２の演算処理を開始させることとを含む。
【発明の効果】
【０００６】
本発明によればオーバヘッドの増加を抑えつつ、柔軟に処理を高速化できる。
【図面の簡単な説明】
【０００７】
【図１】車載システム１のシステム構成図
【図２】自律走行制御装置２のハードウェア構成図
【図３】一般化した自律走行制御装置２の機能構成図
【図４】自律走行制御装置２の具体的な機能構成図
【図５】周辺認知処理と予測処理の関係を示す図。図６（ａ）は、時刻Ｔにおける自車周辺地図８１の例を示す図である。図６（ｂ）は、時刻Ｔに演算される、時刻Ｔ＋１における自車周辺予測地図８２の例を示す図
【図６】回路管理ＤＢ３の一例を示す図
【図７】自律走行制御装置２の動作を示すシーケンス図
【図８】自律走行制御装置２の動作を示すタイミングチャート
【図９】障害判定部２４２の障害判定方法の一例を示す図
【発明を実施するための形態】
【０００８】
―実施の形態―
以下、図１〜図９を参照して、電子制御装置である自律走行制御装置の実施の形態を説明する。
【０００９】
＜システム構成＞
図１は、本発明に係る電子制御装置である自律走行制御装置２を含む車載システム１のシステム構成図である。車載システム１は、車両１００に搭載され、車両１００の外界状況をカメラにより取得するカメラ情報取得部１０１と、車両１００の外界状況をレーダにより取得するレーダ情報取得部１０２と、車両１００の外界状況をレーザにより取得するレーザ情報取得部１０３と、衛星航法システム、たとえばＧＰＳ（Global  Positioning  System）の受信機の出力を用いて車両１００の位置を検出する自車位置情報取得部１０４とを備える。
【００１０】
すなわち図１には図示していないが、車両１００には、カメラ、レーダ、レーザ、および衛星航法システムの受信機が備えられる。カメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、および自車位置情報取得部１０４のそれぞれは、カメラ、レーダ、レーザ、衛星航法システムの受信機のそれぞれの出力を受信する。車載システム１はさらに、車両１００の自動運転を設定するための自動運転設定部１０５と、ＯＴＡ（Over−The−Air）により車載システム１の情報を更新するための無線通信部１０６を備える。
【００１１】
車載システム１はさらに、自律走行制御装置２と、補助制御部１０７と、ブレーキ制御部１０８と、エンジン制御部１０９と、パワーステアリング制御部１１０とを備える。自律走行制御装置２、補助制御部１０７、ブレーキ制御部１０８、エンジン制御部１０９、およびパワーステアリング制御部１１０は、たとえばＥＣＵ（電子制御装置：Electronic  Control  Unit）である。
【００１２】
カメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、自車位置情報取得部１０４、自動運転設定部１０５、無線通信部１０６、自律走行制御装置２、補助制御部１０７、ブレーキ制御部１０８、エンジン制御部１０９、およびパワーステアリング制御部１１０は、ＣＡＮ（Controller  Area  Network）（登録商標）やイーサネット（登録商標）等の車載ネットワークによって相互に通信可能に接続される。
【００１３】
カメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、および自車位置情報取得部１０４は、それぞれがセンサなどから受信した情報を自律走行制御装置２に送信する。また、カメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、および自車位置情報取得部１０４は、それぞれのセンサなどの異常を検出した情報を自律走行制御装置２に送信してもよい。
【００１４】
自動運転設定部１０５は、自動運転時の目的地、ルート、走行速度等の設定情報を自律走行制御装置２に送信する。ただし自動運転設定部１０５が送信する情報の一部が無線通信部１０６を介して外部から受信したものであってもよい。
【００１５】
自律走行制御装置２は、自動運転制御のための処理を行い処理結果に基づいて制御指令を、ブレーキ制御部１０８、エンジン制御部１０９、およびパワーステアリング制御部１１０へ出力する。補助制御部１０７は、自律走行制御装置２と同様の制御を補助として行う。ブレーキ制御部１０８は、車両１００の制動力を制御する。エンジン制御部１０９は、車両１００の駆動力を制御する。パワーステアリング制御部１１０は、車両１００のステアリングを制御する。
【００１６】
自律走行制御装置２は、自動運転設定部１０５により自動運転の設定要求を受け付けると、カメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、および自車位置情報取得部１０４等からの外界の情報を基に車両１００が移動する軌道を算出する。そして自律走行制御装置２は、算出した軌道に従って車両１００を移動させるように、制動力、駆動力、操舵などの制御指令を、ブレーキ制御部１０８、エンジン制御部１０９、およびパワーステアリング制御部１１０に出力する。ブレーキ制御部１０８、エンジン制御部１０９、およびパワーステアリング制御部１１０は、自律走行制御装置２から制御指令を受けて、それぞれ不図示の制御対象であるアクチュエータに操作信号を出力する。
【００１７】
＜自律走行制御装置２のハードウェア構成＞
図２は、自律走行制御装置２のハードウェア構成図である。自律走行制御装置２は、ＣＰＵ２５１と、ＲＯＭ２５２と、ＲＡＭ２５３と、フラッシュメモリ２５４と、論理回路２５５と、ＧＰＵ２５６と、通信インタフェース２５７とを備える。ＣＰＵ２５１やＧＰＵ２５６は、ＲＯＭ２５２に格納されたプログラムをＲＡＭ２５３に展開して実行することで後述する機能を実現する。フラッシュメモリ２５４は不揮発性の記憶領域である。論理回路２５５は、ＦＰＧＡなどのＰＬＤを用いた再構成可能な論理回路である。論理回路２５５はその一部のみを再構成することが可能な、いわゆる部分再構成可能な論理回路である。通信インタフェース２５７は、ＣＡＮ等の所定のプロトコルで通信するインタフェースである。
【００１８】
なお、自律走行制御装置２を構成するＣＰＵ２５１、ＲＯＭ２５２、ＲＡＭ２５３、フラッシュメモリ２５４、論理回路２５５、およびＧＰＵ２５６のハードウェアは、それぞれが１つ、あるいは複数のデバイスとしてＥＣＵ上に構成されてもよいし、ＳｏＣ（System  on  Chip）のように、複数のハードウェアを１つのデバイスとしてＥＣＵ上に構成されてもよい。また、自律走行制御装置２は、１つのＥＣＵで構成してもよいし、複数のＥＣＵで構成してもよい。
【００１９】
＜自律走行制御装置２の一般機能構成＞
図３は、一般化した自律走行制御装置２の機能構成図である。自律走行制御装置２は、第１通信インタフェース２０１−１、第２通信インタフェース２０１−２、振分制御部２０２、第１処理制御部２０３−１〜第Ｎ処理制御部２０３−Ｎ（Ｎは任意の２以上の自然数）、共通部２０４、出力制御部２０５、回路管理データベース（以下、回路管理ＤＢ）３、および回路データベース（以下、回路ＤＢ）４を有する。以下では、第１通信インタフェース２０１−１、第２通信インタフェース２０１−２をまとめて、「通信インタフェース２０１」と呼ぶ。また、第１処理制御部２０３−１〜第Ｎ処理制御部２０３−Ｎをまとめて、「処理制御部２０３」と呼ぶ。
【００２０】
通信インタフェース２０１は、図２の通信インタフェース２５７により実現される。回路管理ＤＢ３および回路ＤＢ４は、ＲＡＭ２５３またはフラッシュメモリ２５４により実現される。振分制御部２０２、処理制御部２０３、共通部２０４、および、出力制御部２０５は、ＣＰＵ２５１、論理回路２５５、およびＧＰＵ２５６のいずれかにより構成され、他の機能部と一体として構成されてもよい。
【００２１】
自律走行制御装置２は、第１通信インタフェース２０１−１を介して、図１のカメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、自車位置情報取得部１０４、自動運転設定部１０５、および無線通信部１０６と接続され、第２通信インタフェース２０１−２を介して補助制御部１０７、ブレーキ制御部１０８、エンジン制御部１０９、およびパワーステアリング制御部１１０と接続される。なお図３では、自律走行制御装置２は第１通信インタフェース２０１−１および第２通信インタフェース２０１−２の論理的な２つの通信インタフェースを備えるが、両者の機能を併せ持つ１つの論理的な通信インタフェースのみを備えてもよい。
【００２２】
振分制御部２０２は、通信インタフェース２０１から入力される情報、および自動運転設定部１０５から入力される自動運転設定情報を収集する。通信インタフェース２０１から入力される情報とは、カメラ情報取得部１０１、レーダ情報取得部１０２、レーザ情報取得部１０３、および自車位置情報取得部１０４から出力されるセンサ情報である。振分制御部２０２は収集したセンサ情報を、第１処理制御部２０３−１〜第Ｎ処理制御部２０３−Ｎのいずれかの処理制御部に出力する。すなわち振分制御部２０２は収集したセンサ情報をいずれかの処理制御部に振り分ける。
【００２３】
振分制御部２０２は、後述する所定の処理周期で処理制御部２０３にセンサ情報を振分ける。振分制御部２０２は、センサ情報を振分けた処理制御部２０３の順序情報や、処理制御部２０３からの処理完了タイミングを出力制御部２０５に通知する。なお振分制御部２０２は、収集したセンサ情報や自動運転設定情報を共通部２０４に送信してもよい。
【００２４】
処理制御部２０３は、振分制御部２０２からセンサ情報を取得すると、所定の処理を実行し、出力制御部２０５に処理実行結果を送信する。第１処理制御部２０３−１〜第Ｎ処理制御部２０３−Ｎは、それぞれ同じ所定の処理を実行し、同じ処理時間となるようにハードウェアリソースを使用して構成される。また処理制御部２０３は、ハードウェアとして論理回路２５５を使用する場合は、共通部２０４を経由して回路管理ＤＢ３を参照し、該当する処理制御部２０３が実行する処理において使用する回路データを判定する。判定される回路データは、回路ＤＢ４に格納される。回路データは、該当処理制御部２０３に書き込まれて論理回路を構成する。
【００２５】
共通部２０４は、振分制御部２０２から取得したセンサ情報や自動運転設定情報を用いて、回路管理ＤＢ３や回路ＤＢ４を更新してもよいし、処理制御部２０３が実施する所定の処理を変更してもよい。さらに共通部２０４は、処理制御部２０３の状態に基づき、振分制御部２０２の転送順序や出力制御部２０５の出力を制御してもよい。
【００２６】
出力制御部２０５は、処理制御部２０３からそれぞれ取得した処理実行結果を一連の実行結果として制御する。さらに出力制御部２０５は、制御した実行結果に基づき、制動力や駆動力などの制御指令を第２通信インタフェース２０１−２から出力する。
【００２７】
＜自律走行制御装置２の機能構成＞
図４は、本実施の形態における自律走行制御装置２の具体的な機能構成図である。自律走行制御装置２には２つの処理制御部２０３が備えられ、各処理制御部２０３にはそれぞれ周辺認知処理部２３１、予測処理部２３２、および、演算部２３３が構成される。演算部２３３は、論理回路により構成される。自律走行制御装置２は、周辺の地図情報を格納する地図データベース（以下、地図ＤＢ）５を備える。
【００２８】
第１処理制御部２０３−１は、第１周辺認知処理部２３１−１、第１予測処理部２３２−１、および、第１演算部２３３−１を備える。第２処理制御部２０３−２は、第２周辺認知処理部２３１−２、第２予測処理部２３２−２、および、第２演算部２３３−２を備える。第１周辺認知処理部２３１−１、第２周辺認知処理部２３１−２をまとめて、「周辺認知処理部２３１」と呼ぶ。また、第１予測処理部２３２−１、第２予測処理部２３２−２をまとめて、「予測処理部２３２」と呼ぶ。また、第１演算部２３３−１、第２演算部２３３−２をまとめて、「演算部２３３」と呼ぶ。共通部２０４は、データベース管理部（以下、ＤＢ管理部）２４１と障害判定部２４２とを備える。
【００２９】
周辺認知処理部２３１は、振分制御部２０２から受信したセンサ情報や、ＤＢ管理部２４１を経由して地図ＤＢ５から取得した地図情報を用いて、車両１００の周辺に存在する物体（以下、「自車周辺物体」と呼ぶ）を認知する。このとき処理制御部２０３は、ＤＢ管理部２４１を経由して回路管理ＤＢ３を参照し、演算部２３３を書き換えて演算を実行させて、処理を高速化する。すなわち、処理制御部２０３は同じ処理制御部２０３内の演算部２３３の論理回路を、回路ＤＢ４より取得した回路データで書き換え、該当演算部２３３に自車周辺物体を認知するための演算を実行させる。
【００３０】
予測処理部２３２は、周辺認知処理部２３１の自車周辺物体認知結果を用いて、それぞれの周辺物体の行動予測を行う。行動予測はたとえば、現在の各周辺物体の位置と速度を用いて、周辺物体の将来の位置である予測位置を外挿して求めることである。また予測処理部２３２は、各周辺物体の予測位置に基づき、これらの位置を避けるように自車の予測軌道を生成し、出力制御部２０５に送信する。出力制御部２０５は、この自車の予測軌道と車両１００の実際の軌道が一致するように制御指令値を生成する。
【００３１】
このとき処理制御部２０３は、演算部２３３を利用して演算を高速化してもよい。詳述すると、処理制御部２０３はまず回路管理ＤＢ３を参照して回路ＤＢ４より取得した回路データで演算部２３３の論理回路を書き換える。そして処理制御部２０３は、該当演算部２３３に、各周辺物体の行動予測や自車の予測軌道の生成の演算を実行させる。
【００３２】
ＤＢ管理部２４１は、処理制御部２０３からの要求に応じて、回路管理ＤＢ３、回路ＤＢ４、地図ＤＢ５の情報の読み出しを制御する。ＤＢ管理部２４１はさらに、振分制御部２０２から取得したセンサ情報や自動運転設定情報に応じて、回路管理ＤＢ３、回路ＤＢ４、地図ＤＢ５の更新を制御してもよい。
【００３３】
障害判定部２４２は、各処理制御部２０３における、自車周辺物体認知結果と自車の予測軌道を比較することで、周辺認知処理部２３１や予測処理部２３２、第１処理制御部２０３−１や第２処理制御部２０３−２の異常の有無を検出する。詳細は後述する。障害判定部２４２は、これらの異常検出結果に基づき、振分制御部２０２の転送順序や出力制御部２０５の出力を制御してもよい。
【００３４】
＜自車周辺予測＞
図５は、周辺認知処理と予測処理の関係を示す図である。図５（ａ）は、時刻Ｔにおける自車周辺地図８１の例を示す図である。図５（ｂ）は、時刻Ｔに演算される、時刻Ｔ＋１における自車周辺予測地図８２の例を示す図である。
【００３５】
図５（ａ）は、周辺認知処理部２３１が実行した、時刻Ｔにおける自車周辺物体の認知結果の例を示す図である。周辺認知処理部２３１は、振分制御部２０２から受信したセンサ情報を基に、自車周辺物体の位置や大きさ、移動速度情報等を統合し、地図ＤＢ５から取得した地図情報に自車周辺物体をマッピングし、ある時刻、ここでは時刻Ｔにおける自車周辺地図８１を作成する。図５（ａ）では、自車位置８０１に加え、歩行者位置８０２や他車位置８０３が自車周辺地図８１上にマッピングされている。
【００３６】
図５（ｂ）は、予測処理部２３２が実行した、時刻Ｔ＋１における各周辺物体の行動予測結果および自車の予測軌道結果の例を示す図である。予測処理部２３２は、図５（ａ）で記した周辺認知処理部２３１の時刻Ｔにおける結果を基に、時刻Ｔ＋１以降の自車周辺物体の位置を予測する。図５（ｂ）では、行動予測結果として歩行者予測位置８５２や他車予測位置８５３、自車の予測軌道結果として自車予測位置８５１が自車周辺予測地図８２上にマッピングされたとする。
【００３７】
なお、説明のため、時刻Ｔ＋１における予測位置を点線で、図５（ａ）で記した時刻Ｔの認知結果を実線で示しているが、実際の予測処理部２３２の結果にこれら実位置は必ずしも含まれない。また図５（ｂ）には各物体の予測位置を１つだけ示しているが、このような各物体の予測位置は、自車の予測軌道の生成に必要となる数だけ生成される。たとえば、１００ミリ秒毎に１０秒分の軌道を予測する場合、予測処理部２３２は、各物体における予測位置は１００個、すなわち１００ミリ秒毎に１０秒分を生成することとなる。
【００３８】
＜回路管理データベースの管理情報＞
図６は、回路管理ＤＢ３の一例を示す図である。回路管理ＤＢ３は、処理制御部２０３が実行する処理順序や処理仕様の情報と、各処理制御部２０３の該当演算部２３３に構成する論理回路の回路データの情報が格納されるデータベースである。回路管理ＤＢ３は、共通部２０４を経由して処理制御部２０３によって参照される。図６では、図４で示したように自律走行制御装置２が構成される場合の回路管理ＤＢ３の例を示す。
【００３９】
回路管理ＤＢ３は、処理順序や処理仕様５０１ごとに、各処理制御部２０３用の回路データ５０２のフィールドを有する。処理順序や処理仕様５０１は、エントリの登録順に処理順序を示し、各順において処理制御部２０３が実行する処理仕様が格納される。各処理制御部２０３用の回路データ５０２には、処理順序や処理仕様５０１に応じて、該当演算部２３３を構成する論理回路の回路データの情報が格納される。
【００４０】
図６に示す例では、処理順序や処理仕様５０１のフィールドに、順番で「周辺認知処理」、「予測処理」が格納されており、各処理制御部２０３は、第１に周辺認知処理を実行し、第２に予測処理を実行することが示されている。符号５０２−１には、第１処理制御部２０３−１用の回路データの情報、符号５０２−２には、第２処理制御部２０３−２用の回路データの情報が、それぞれの処理仕様に応じて示されている。
【００４１】
＜動作シーケンス＞
図７は、自律走行制御装置２の動作を示すシーケンス図である。図７では、自律走行制御装置２内において、図４に示した２つの処理制御部が構成される例を用いて、振分制御部２０２、第１処理制御部２０３−１、第２処理制御部２０３−２、共通部２０４、および、出力制御部２０５の動作概要を示す。
【００４２】
図７に示す動作シーケンスでは、２つ処理制御部２０３に、周辺認知処理および予測処理を、演算処理の期間を重複させつつ交互に実行させることを意図している。ただし図７に示す動作シーケンスでは動作のタイミングを示すことは困難なので、２つ処理制御部２０３に周辺認知処理および予測処理を、演算処理の期間を重複させつつ交互に実行させることは、後に図８のタイミングチャートを参照して説明する。
【００４３】
自律走行制御装置２は、周辺認知処理および予測処理の演算処理の期間を重複させることで、２つの処理制御部２０３を合わせてみた場合に演算処理の結果の出力の期間が短くなり、スループットを向上できる。振分制御部２０２は、第１処理制御部２０３−１の予測処理結果と第２処理制御部２０３−２の予測処理結果が、交互に均等に出力されるように、所定の処理周期で２つの処理制御部２０３にセンサ情報を振分ける。出力制御部２０５は、２つの処理制御部２０３から交互に取得する自車の予測軌道から最新の予測軌道を基に、一連の演算の結果として制御指令値を生成する。
【００４４】
なお図７では、第１処理制御部２０３−１は２周期分（Ｐ１−１およびＰ１−２）、第２処理制御部２０３−２は１周期分（Ｐ２−１）と２周期目の途中処理（Ｐ２−２）のみを示しているが、これらの処理は繰り返し実行される。Ｐ１は第１処理制御部２０３−１の１周期あたりの処理時間であり、Ｐ１−１が１周期目、Ｐ１−２が２周期目を示す。Ｐ２は第２処理制御部２０３−２の１周期あたりの処理時間であり、Ｐ２−１が１周期目、Ｐ２−２が２周期目を示す。図７の動作シーケンスでは、第１処理制御部２０３−１が処理を開始するところから始まる。
【００４５】
それぞれの処理制御部２０３の動作は周期ごとの繰り返しなので１周期分をそれぞれ説明する。すなわち図７では繰り返しであることを明確にするために２周期目も記載しているが、２周期目の説明は冗長になるので最小限のみ記載する。
【００４６】
図７の上部に示すように、まず振分制御部２０２は、所定の処理周期（Ｐ１）に従って、第１処理制御部２０３−１を振分先として選定する（Ｓ６０１）。また振分制御部２０２は、センサ情報を第１処理制御部２０３−１に振分けることや、第１処理制御部２０３−１の処理完了タイミングなどを振分情報として出力制御部２０５に通知する（Ｓ６０２）。さらに振分制御部２０２は、ステップＳ６０１で選定した第１処理制御部２０３−１にセンサ情報のデータを転送する（Ｓ６０３）。なお振分制御部２０２は、共通部２０４にもセンサ情報や自動運転設定情報を転送してもよい。
【００４７】
次に第１処理制御部２０３−１は、共通部２０４を経由して各種ＤＢの検索を行う（Ｓ６０４）。共通部２０４は、地図ＤＢ５から地図情報を読み込み、回路管理ＤＢ３を検索し、回路ＤＢ４から回路データを読み込む（Ｓ６０５）。共通部２０４は、読み込んだ結果を第１処理制御部２０３−１に通知する（Ｓ６０６）。
【００４８】
第１処理制御部２０３−１は、共通部２０４から各種ＤＢの検索結果を受信した後に各種演算の実施を開始する（Ｓ６０７）。具体的には第１処理制御部２０３−１は、第１周辺認知処理部２３１−１や第１予測処理部２３２−１が第１演算部２３３−１を活用して周辺認知処理や予測処理を順番に実行する。なお図７では作図の都合によりＳ６０７は特に大きく記載していないが、実際には１周期のうち大きな割合をＳ６０７の実行時間が占める。詳しくは次の図８で改めて説明する。第１処理制御部２０３−１は、周辺認知処理および予測処理のそれぞれが完了すると、その処理結果を共通部２０４に通知する（Ｓ６０８）。すなわち図７ではＳ６０８は１つしか記載していないが、実際には周辺認知処理が完了した際と、予測処理が完了した際との２回にわたってＳ６０８は実行される。
【００４９】
ステップＳ６０７おいて第１処理制御部２０３−１が各種演算処理を実行している最中に、振分制御部２０２は次の振分制御を開始する。振分制御部２０２は、所定の処理周期（Ｐ２）に従って、第２処理制御部２０３−２を振分先として選定する（Ｓ６５１）。また振分制御部２０２は、センサ情報を第２処理制御部２０３−２に振分けることや、第２処理制御部２０３−２の処理完了タイミングなどを振分情報として出力制御部２０５に通知する（Ｓ６５２）。さらに振分制御部２０２は、ステップＳ６５１で選定した第２処理制御部２０３−２にセンサ情報のデータを転送する（Ｓ６５３）。なお振分制御部２０２は、共通部２０４にもセンサ情報や自動運転設定情報を転送してもよい。
【００５０】
次に第２処理制御部２０３−２は、ステップＳ６０４からステップＳ６０７までの処理と同様に各種ＤＢの検索を行い、各種演算の実施を開始する（Ｓ６５４〜Ｓ６５７）。具体的には、第２周辺認知処理部２３１−２や第２予測処理部２３２−２が第２演算部２３３−２を活用して周辺認知処理や予測処理を順番に実行する。第２処理制御部２０３−２は、周辺認知処理および予測処理のそれぞれが完了すると、その処理結果を共通部２０４に通知する（Ｓ６５８）。すなわち図７ではステップＳ６５８は１つしか記載していないが、実際には周辺認知処理が完了した際と、予測処理が完了した際との２回にわたってステップＳ６５８は実行される。
【００５１】
一方、第１処理制御部２０３−１は、第２処理制御部２０３−２がステップＳ６５３からステップＳ６５８において各種演算処理を実行している最中に、ステップＳ６０７において開始した各種演算処理を終了し、演算結果を出力制御部２０５に通知する（Ｓ６０９）。具体的には、第１予測処理部２３２−１が生成した自車の予測軌道を出力する。出力制御部２０５は、この予測軌道を満たすように、制御指令値を出力する（Ｓ６１０）。ステップＳ６０１からステップＳ６１０までが周期Ｐ１−１となる。なお作図の都合により第２処理制御部２０３−２が実行するステップＳ６５４〜ステップＳ６５７も周期Ｐ１−１に含まれているが、周期Ｐ１−１の完了とステップＳ６５４〜ステップＳ６５７が実行されるタイミングの前後は不問である。
【００５２】
ステップＳ６５７において第２処理制御部２０３−２が各種演算処理を実行している最中に、振分制御部２０２は次の振分制御を開始する。振分制御部２０２は、所定の処理周期（Ｐ１）に従って、第１処理制御部２０３−１を振分先として選定する（Ｓ６２１）。また、振分制御部２０２は、センサ情報を第１処理制御部２０３−１に振分けることや、第１処理制御部２０３−１の処理完了タイミングなどを振分情報として出力制御部２０５に通知する（Ｓ６２２）。さらに振分制御部２０２は、ステップＳ６２１で選定した第１処理制御部２０３−１にセンサ情報のデータを転送する（Ｓ６２３）。なお振分制御部２０２は、共通部２０４にもセンサ情報や自動運転設定情報を転送してもよい。
【００５３】
次に第１処理制御部２０３−１は、ステップＳ６０４からステップＳ６０７と同様に、各種ＤＢの検索を行い、各種演算の実施を開始する（Ｓ６２４〜Ｓ６２７）。また、第１処理制御部２０３−１は、この実行過程において、周辺認知処理や予測処理の結果を共通部２０４に通知する（Ｓ６２８）。
【００５４】
一方、第２処理制御部２０３−２は、第１処理制御部２０３−１がステップＳ６２３からステップＳ６２８において各種演算処理を実行している最中に、ステップＳ６５７において開始した各種演算処理を終了し、演算結果を出力制御部２０５に通知する（Ｓ６５９）。具体的には第２処理制御部２０３−２は、第２予測処理部２３２−２が生成した自車の予測軌道を出力する。出力制御部２０５は、この予測軌道を満たすように、制御指令値を出力する（Ｓ６６０）。ステップＳ６５１からステップＳ６６０までが周期Ｐ２−１となる。なお作図の都合により第１処理制御部２０３−１が実行するステップＳ６２４〜ステップＳ６２７も周期Ｐ２−１に含まれているが、周期Ｐ２−１の完了とステップＳ６２４〜ステップＳ６２７が実行されるタイミングの前後は不問である。
【００５５】
また、ステップＳ６２７やステップＳ６２８において、第１処理制御部２０３−１が各種演算処理を実行している時に、振分制御部２０２は、次の振分制御を開始する。これ以降の処理は繰り返しになるので記載を省略する。これ以降も、所定の処理周期で第１処理制御部２０３−１と第２処理制御部２０３−２は交互に実行される。以上が図７に示した動作概要の説明である。
【００５６】
＜タイミングチャート＞
図８は、自律走行制御装置２の動作を示すタイミングチャートである。図８に示す例では、図７に記載した動作概要において、処理制御部２０３が実施する各種演算、すなわち、周辺認知処理部２３１や予測処理部２３２が演算部２３３を活用して周辺認知処理や予測処理を順番に実行する部分の動作タイミングについて説明する。なお図８に示す動作のほとんどは図７で説明するものであるが、図７では説明しなかった障害判定部２４２の動作も図８では説明する。
【００５７】
図８は図示左から右に向かって時間が経過している。図８では左端に示すように、上から順番に、第１処理制御部２０３−１、第１周辺認知処理部２３１−１、第１予測処理部２３２−１、第１演算部２３３−１、障害判定部２４２、第２処理制御部２０３−２、第２周辺認知処理部２３１−２、第２予測処理部２３２−２、および、第２演算部２３３−２の処理や状態を示している。
【００５８】
第１処理制御部２０３−１は、振分制御部２０２からのセンサ情報の取得タイミングに基づいて、時刻ｔ０で所定の周期処理（Ｐ１−１）を開始する。第１処理制御部２０３−１は、共通部２０４を経由して各種ＤＢの検索を行い、地図ＤＢ５から地図情報を取得し、回路ＤＢ４から回路データを読み込む。なおこのＤＢ検索は図７のＳ６０４に相当する。
【００５９】
読み込みが完了した時刻ｔ１において、第１周辺認知処理部２３１−１は、周辺認知処理を開始する。第１処理制御部２０３−１は、図６の符号５０２−１で示す第１処理制御部用の回路データの情報で指定される、第１演算部２３３−１における周辺認知処理のための回路データを用いて、第１演算部２３３−１の論理回路の再構成を開始する。なお時刻ｔ１から後述する時刻ｔ８までの処理が図７のＳ６０７の処理に相当する。
【００６０】
時刻ｔ２において、第１演算部２３３−１の再構成が完了すると、第１演算部２３３−１は、周辺認知処理を開始する。ただし図８では作図の都合により、「再構成」の代わりに「構成」と記載している。ここで、第１処理制御部２０３−１と並行して、第２処理制御部２０３−２は、振分制御部２０２からのセンサ情報の取得タイミングに基づいて、時刻ｔ３で所定の周期処理（Ｐ２−１）を開始する。第２処理制御部２０３−２は、共通部２０４を経由して各種ＤＢの検索を行い、地図ＤＢ５から地図情報を取得し、回路ＤＢ４から回路データを読み込む。
【００６１】
時刻ｔ４において、第１演算部２３３−１の周辺認知処理が完了すると、第１周辺認知処理部２３１−１は周辺認知処理を終了し、第１予測処理部２３２−１が予測処理を開始する。第１処理制御部２０３−１は、図６の符号５０２−１で示す第１処理制御部用の回路データの情報で指定される、第１演算部２３３−１における予測処理のための回路データを用いて、第１演算部２３３−１の論理回路の再構成を開始する。さらに第１処理制御部２０３−１は、周辺認知処理の結果を共通部２０４へ出力する。
【００６２】
時刻ｔ３に開始した読み込みが完了した時刻ｔ５において、第２周辺認知処理部２３１−２は、周辺認知処理を開始する。第２処理制御部２０３−２は、図６の符号５０２−２で示す第２処理制御部用の回路データの情報で指定される、第２演算部２３３−２における周辺認知処理のための回路データを用いて、第２演算部２３３−２の論理回路の再構成を開始する。
【００６３】
時刻ｔ６において、第１演算部２３３−１の再構成が完了すると、第１演算部２３３−１は、予測処理を開始する。また時刻ｔ７において、第２演算部２３３−２の再構成が完了すると、第２演算部２３３−２は、周辺認知処理を開始する。時刻ｔ８において、第１演算部２３３−１の予測処理が完了すると、第１処理制御部２０３−１は出力制御部２０５への自車の軌道生成結果の出力を開始する。さらに第１処理制御部２０３−１は、予測処理の結果を共通部２０４へ出力する。
【００６４】
時刻ｔ９において、第２演算部２３３−２の周辺認知処理が完了すると、第２予測処理部２３２−２は予測処理を開始する。第２処理制御部２０３−２は、符号５０２−２で示す第２処理制御部用の回路データの情報で指定される、第２演算部２３３−２における予測処理のための回路データを用いて、第２演算部２３３−２の論理回路の再構成を開始する。さらに第２処理制御部２０３−２は、周辺認知処理の結果を共通部２０４へ出力する。
【００６５】
第１処理制御部２０３−１は、出力制御部２０５への自車の軌道生成結果の出力を終えると、１周期目（Ｐ１−１）の処理を終了する。そして第１処理制御部２０３−１は、次の振分制御部２０２からのセンサ情報の取得タイミングに基づいて、時刻ｔ１０で２周期目（Ｐ１−２）の処理を開始する。第１処理制御部２０３−１は、共通部２０４を経由して各種ＤＢの検索を行い、地図ＤＢ５から地図情報を取得し、回路ＤＢ４から回路データを読み込む。なお、地図情報の更新や回路データの更新がない場合は、第１処理制御部２０３−１は各種ＤＢの検索を省略してもよい。
【００６６】
時刻ｔ１１において、第２演算部２３３−２の再構成が完了すると、第２演算部２３３−２は予測処理を開始する。
【００６７】
時刻ｔ１０に開始した読み込みが完了した時刻ｔ１２において、第１周辺認知処理部２３１−１は、周辺認知処理を開始する。第１処理制御部２０３−１は、符号５０２−１で示す第１処理制御部用の回路データの情報で指定される、第１演算部２３３−１における周辺認知処理のための回路データを用いて、第１演算部２３３−１の論理回路の再構成を開始する。
【００６８】
時刻ｔ１３において、第１演算部２３３−１の再構成が完了すると、第１演算部２３３−１は、周辺認知処理を開始する。また同時刻の時刻ｔ１３において、第２演算部２３３−２の予測処理が完了し、第２処理制御部２０３−２は、出力制御部２０５への自車の軌道生成結果の出力を開始する。さらに第２処理制御部２０３−２は、予測処理の結果を共通部２０４へ出力する。
【００６９】
第２処理制御部２０３−２は、出力制御部２０５への自車の軌道生成結果の出力を終えると、１周期目の処理（Ｐ２−１）を終了し、次の振分制御部２０２からのセンサ情報の取得タイミングに基づいて、時刻ｔ１４で所定の周期処理（Ｐ２−２）を開始する。第２処理制御部２０３−２は、共通部２０４を経由して各種ＤＢの検索を行い、地図ＤＢ５から地図情報を取得し、回路ＤＢ４から回路データを読み込む。なお、地図情報の更新や回路データの更新がない場合は、各種ＤＢの検索を省略してもよい。
【００７０】
時刻ｔ１５において、第１演算部２３３−１の周辺認知処理が完了すると、第１周辺認知処理部２３１−１は周辺認知処理を終了し、第１予測処理部２３２−１が予測処理を開始する。第１処理制御部２０３−１は、符号５０２−１で示す第１処理制御部用の回路データの情報で指定される、第１演算部２３３−１における予測処理のための回路データを用いて、第１演算部２３３−１の論理回路の再構成を開始する。さらに第１処理制御部２０３−１は、周辺認知処理の結果を共通部２０４へ出力する。
【００７１】
同じく時刻ｔ１５において、第１処理制御部２０３−１から周辺認知処理の結果を受信した障害判定部２４２は、障害判定処理を実行する。ただし図８では作図の都合により障害判定部２４２の実行タイミングを時刻ｔ１５としているが、厳密には第１処理制御部２０３−１から周辺認知処理の結果を受信してからである。なおこれ以降は、第１処理制御部２０３−１および第２処理制御部２０３−２のいずれかから周辺認知処理の結果を受信するたびに、障害判定部２４２は障害判定処理を実行する。障害判定処理の詳細は後述する。
【００７２】
時刻ｔ１４に開始した読み込みが完了した時刻ｔ１６において、第２周辺認知処理部２３１−２は、周辺認知処理を開始する。第２処理制御部２０３−２は、符号５０２−２で示す第２処理制御部用の回路データの情報で指定される、第２演算部２３３−２における周辺認知処理のための回路データを用いて、第２演算部２３３−２の論理回路の再構成を開始する。
【００７３】
時刻ｔ１７において、第１演算部２３３−１の再構成が完了すると、第１演算部２３３−１は、予測処理を開始する。また、時刻ｔ１８において、第２演算部２３３−２の再構成が完了すると、第２演算部２３３−２は、周辺認知処理を開始する。時刻ｔ１９において、第１演算部２３３−１の予測処理が完了すると、第１予測処理部２３２−１は予測処理を終了する。
【００７４】
時刻ｔ１９以降の処理は、時刻ｔ８以降の処理の繰り返しである。以上、図８を用いて説明した処理により、第１処理制御部２０３−１および第２処理制御部２０３−２からの演算結果は時刻ｔ８から時刻ｔ１３まで期間の周期で出力されることになる。これにより、第１処理制御部２０３−１と第２処理制御部２０３−２とを全体でみたときの処理のスループットが向上する。また障害判定部２４２が障害判定処理を適宜実行できる。
【００７５】
＜障害判定処理＞
図９は、障害判定部２４２の障害判定方法の一例を示す図である。障害判定部２４２は、最新の１つの周辺認知結果と最新の２つの予測結果とを用いて障害判定を行う。図９に示す例では、図８の時刻ｔ１５における障害判定に対応させて具体的に時刻情報を記入している。
【００７６】
具体的には図９では、図８における、時刻ｔ４に開始した第１予測処理部２３２−１の予測処理結果（以下、ｔ４予測）と、時刻ｔ９に開始した第２予測処理部２３２−２の予測処理結果（以下、ｔ９予測）と、時刻ｔ１２に開始した第１周辺認知処理部２３１−１の周辺認知結果（以下、ｔ１２周辺認知）を共通部２０４が取得し、これらの結果に基づいて障害判定部２４２が障害や異常の有無を判定する例を示す。
【００７７】
ｔ４予測は時刻ｔ１時点の周辺情報（センサ情報）を用いた予測結果、ｔ９予測は時刻ｔ５時点の周辺情報を用いた予測結果、ｔ１２周辺認知は時刻ｔ１２時点の周辺情報を用いたした認知結果である。時刻ｔ１時点から予測した時刻ｔ１２時点の予測位置と、時刻ｔ５時点から予測した時刻ｔ１２時点の予測位置と、時刻ｔ１２時点の認知位置との３つの位置情報を比較し、たとえば位置情報の乖離の程度などから、異常の有無を判定する。障害判定部２４２は、たとえば位置情報の乖離があらかじめ定めた閾値以内であれば異常なしと判定し、位置情報の乖離がその閾値よりも大きければ異常ありと判定する。
【００７８】
以下では図９に示した５つのケースを上から順番に説明する。ｔ９予測とｔ１２周辺認知の比較結果が「異常なし」であり、ｔ４予測とｔ１２周辺認知の比較結果も「異常なし」と判定された場合、障害判定部２４２は「異常なし」と判定する。すべてに異常がないからである。
【００７９】
ｔ９予測とｔ１２周辺認知の比較結果が「異常なし」であり、ｔ４予測とｔ１２周辺認知の比較結果が「異常あり」と判定された場合、障害判定部２４２は「ｔ９予測に異常あり」と判定する。ｔ４予測とｔ９予測とを同列に扱うといずれに問題があるか判断ができいが、周辺認知と同系列、すなわちこの場合はｔ１２周辺認知は第１周辺認知処理部２３１−１の演算結果なので、同じ第１周辺認知処理部２３１−１が演算したｔ４予測がより確からしいとの考えに基づき、ｔ９予測に異常があると判定する。このとき、障害判定部２４２は、振分制御部２０２に第２処理制御部２０３−２に転送しないよう通知し、転送順序を制御してもよい。
【００８０】
図９の上から３つ目のケースは次のとおりである。ｔ９予測とｔ１２周辺認知の比較結果が「異常あり」であり、ｔ４予測とｔ１２周辺認知の比較結果が「異常なし」と判定された場合、障害判定部２４２は「ｔ４予測に異常あり」と判定する。このとき、障害判定部２４２は、振分制御部２０２に第１処理制御部２０３−１に転送しないよう通知し、転送順序を制御してもよい。
【００８１】
ｔ９予測とｔ１２周辺認知の比較結果が「異常あり」であり、ｔ４予測とｔ１２周辺認知の比較結果が「異常あり」であり、ｔ４予測とｔ９予測の比較結果が「異常なし」と判定された場合、障害判定部２４２は「ｔ１２周辺認知に異常あり」と判定する。このとき、障害判定部２４２は、振分制御部２０２に第２処理制御部２０３−２に転送しないよう通知し、転送順序を制御してもよい。
【００８２】
図９の最後のケースは次のとおりである。ｔ９予測とｔ１２周辺認知の比較結果が「異常あり」であり、ｔ４予測とｔ１２周辺認知の比較結果が「異常あり」であり、ｔ４予測とｔ９予測の比較結果も「異常あり」と判定された場合、障害判定部２４２は「異常特定負荷」と判定する。このとき、障害判定部２４２は、出力制御部２０５を経由して、補助制御部１０７へ自律走行制御装置２の異常を通知するなど、補助制御部１０７へ補助を要求してもよい。
【００８３】
なお時刻ｔ１５の次に障害判定処理が行われるのは、図８の例において時刻ｔ１６から開始周辺認知処理の結果（以下、「ｔ１６周辺認知」と呼ぶ）を共通部２０４が受信した際である。この際には、このｔ１６周辺認知、ｔ９予測、および時刻ｔ１５に開始した第１予測処理部２３２−１の予測処理結果（以下、「ｔ１５予測」と呼ぶ）が用いられる。そしてこの際の判断は、図９におけるｔ４予測をｔ９予測に読み替え、ｔ９予測をｔ１５予測に読み替え、ｔ１２周辺認知をｔ１６周辺認知に読み替えればよい。
【００８４】
なお障害判定部２４２は、図９に示すような情報をあらかじめＲＯＭ２５２に格納しておき、それを参照することで判定を実行してもよいし、障害を判定するロジックをＲＯＭ２５２に格納しておき、そのロジックを用いて判定を実行してもよい。なおこのロジックには、２つの予想が一致しない場合には周辺認知と同系統で演算された予想がより確からしいとの判断を含む。
【００８５】
以上説明したように、本実施の形態によれば、２つ以上の処理制御部にそれぞれ同様の演算処理を、期間を重複させつつ順番に実行させ、一連の演算結果として制御することができる。また、障害の有無を判定するだけでなく、障害の発生している処理部を判定することも可能になる。そして障害が発生していると判定された処理制御部を使用しないように制御することができる。そのため本実施の形態によれば、消費電力やオーバヘッドの増加を抑えつつ、柔軟に処理を高速化できる。さらに、障害の有無と障害発生部を特定することや、特定された障害発生部に応じて処理を変更することにより安全性を担保することができる。
【００８６】
上述した実施の形態によれば、次の作用効果が得られる。
（１）電子制御装置である自律走行制御装置２は、第１処理制御部２０３−１および第２処理制御部２０３−２を備える。第１処理制御部２０３−１および第２処理制御部２０３−２は、外界の情報を入力とする演算処理を交互に開始する。第１処理制御部２０３−１によるある演算処理の開始後から終了前までに、第２処理制御部２０３−２の演算処理を開始する。たとえば図８では第１処理制御部２０３−１による時刻ｔ１〜時刻ｔ８までの演算の途中である時刻ｔ５に、第２処理制御部２０３−２は演算を開始する。そのため自律走行制御装置２は、オーバヘッドの増加を抑えつつ、柔軟に処理を高速化できる。
【００８７】
（２）自律走行制御装置２は、第１の演算結果と第２の演算結果とを一連の演算結果として制御する出力制御部２０５を備える。そのため自律走行制御装置２は、１つの処理制御部２０３のみを備える場合と同様に、２つの処理制御部２０３の演算結果を一連の演算結果として扱うことができる。
【００８８】
（３）第１処理制御部２０３−１に入力される外界の情報と、第２処理制御部２０３−２に入力される外界の情報とは、異なる時刻の情報である。すなわち第１処理制御部２０３−１および第２処理制御部２０３−２が実行する処理は同様であるが処理対象のデータが異なり、それぞれが異なるデータを処理することで処理を高速化する。
【００８９】
（４）収集した外界の情報を第１処理制御部２０３−１と第２処理制御部２０３−２とに交互に振分ける振分制御部２０２を備える。第１処理制御部２０３−１および第２処理制御部２０３−２は、交互に振り分けられた外界の情報を入力として演算処理を交互に開始する。そのため振分制御部２０２の処理は複雑にならず、オーバヘッドが小さい。
【００９０】
（５）第１処理制御部２０３−１の演算処理に基づく出力と第２処理制御部２０３−２の演算処理に基づく出力とを比較し、比較の結果に基づき第１処理制御部２０３−１または第２処理制御部２０３−２の障害を検知する障害判定部２４２を備える。そのため自律走行制御装置２は、処理制御部２０３の障害を検出できる。
【００９１】
（６）第１処理制御部２０３−１による時刻ｔ１〜時刻ｔ８の演算処理は、時刻ｔ１の外界の情報を入力として時刻ｔ１の外界の状況を認知する第１周辺認知処理部２３１−１による時刻ｔ１〜時刻ｔ４の処理、および第１周辺認知処理部２３１−１の演算結果に基づき第１の期間よりも将来の外界の状況を予測する第１予測処理部２３２−１による時刻ｔ４〜時刻ｔ８までの予測処理から構成される。第２処理制御部２０３−２による時刻ｔ５〜時刻ｔ１３の演算処理は、時刻ｔ５の外界の情報を入力として時刻ｔ５の外界の状況を認知する第２周辺認知処理部２３１−２による時刻ｔ５〜時刻ｔ９の処理、および第２周辺認知処理部２３１−２の演算結果に基づき時刻ｔ５よりも将来の外界の状況を予測する第２予測処理部２３２−２による時刻ｔ９〜時刻ｔ１３の処理から構成される。障害判定部２４２は、最新の１つの周辺認知結果と最新の２つの予測結果、たとえば図９に示す例では、ｔ４予測と、ｔ９予測と、ｔ１２周辺認知に基づき障害を判定する。そのため自律走行制御装置２は、３つの情報を用いて障害を特定することができる。
【００９２】
（７）障害判定部２４２は、第１予測処理の演算結果よりも第２予測処理の演算結果のほうがより確からしいとして第１処理制御部２０３−１および第２処理制御部２０３−２の障害を検知する。
【００９３】
（８）障害判定部２４２は、第１処理制御部２０３−１または第２処理制御部２０３−２の障害を検知すると、振分制御部２０２に、第１処理制御部２０３−１または第２処理制御部２０３−２の該当する処理制御部２０３の障害を通知する。振分制御部２０２は、収集した外界の情報の該当する処理制御部２０３への振分けを中止する。そのため障害が検知された処理制御部２０３を用いた演算を停止できる。
【００９４】
（９）第１処理制御部２０３−１および第２処理制御部２０３−２は、再構成可能な論理回路２５５を含んで構成され、論理回路２５５を用いて第１の演算処理および第２の演算処理を実行する。そのため高速な処理が可能となる。
【００９５】
（変形例１）
図３に示したように、自律走行制御装置２は３つ以上の処理制御部２０３を備えてもよい。この場合は、３つ以上存在する処理制御部２０３が順番にローテーションで演算を実行する。
【００９６】
（変形例２）
上述した実施の形態では、障害判定部２４２は最新の１つの周辺認知結果と最新の２つの予測結果とを用いて障害判定を行った。しかし障害判定部２４２は、最新の１つの周辺認知結果と最新の１つの予測結果とを用いて障害判定を行ってもよい。ただしこの場合は、予測結果と周辺認知結果は異なる処理制御部２０３の出力を用いる。たとえば第１処理制御部２０３−１が出力する最新の予測結果と第２処理制御部２０３−２が出力する最新の周辺認知結果とを比較し、位置情報の乖離があらかじめ定めた閾値以内であれば異常なしと判定する。
【００９７】
（変形例３）
図８に示したタイミングチャートでは障害判定部２４２は周辺認知処理が終了したｔ１５に判定処理を開始している。しかし障害判定部２４２が障害判定処理を実行するタイミングは、時刻ｔ１５に限定されず、時刻ｔ１５以降であればいつ開始してもよい。
【００９８】
（変形例４）
上述した実施の形態では、第１処理制御部２０３−１および第２処理制御部２０３−２は論理回路２５５を利用した。第１処理制御部２０３−１および第２処理制御部２０３−２が利用するハードウェアは特に制限されない。たとえば第１処理制御部２０３−１および第２処理制御部２０３−２は論理回路２５５を利用しなくてもよいし、ＧＰＵ２５６を利用してもよいし、ＣＰＵ２５１のみで演算を行ってもよい。
【００９９】
（変形例５）
第１処理制御部２０３−１のハードウェア構成と、第２処理制御部２０３−２のハードウェア構成とが異なっていてもよい。たとえば第１処理制御部２０３−１は論理回路２５５を利用する構成とし、第２処理制御部２０３−２は論理回路２５５を利用しない構成としてもよい。
【０１００】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。また上述した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されるものではない。また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１０１】
１…車載システム
２…自律走行制御装置
１００…車両
２０２…振分制御部
２０３…処理制御部
２０３−１…第１処理制御部
２０３−２…第２処理制御部
２０４…共通部
２０５…出力制御部
２３１…周辺認知処理部
２３１−１…第１周辺認知処理部
２３１−２…第２周辺認知処理部
２３２…予測処理部
２３２−１…第１予測処理部
２３２−２…第２予測処理部
２３３…演算部
２３３−１…第１演算部
２３３−２…第２演算部
２４１…データベース管理部
２４２…障害判定部
２５５…論理回路
【図１】
2020060859.tif 000003
【図２】
2020060859.tif 000004
【図３】
2020060859.tif 000005
【図４】
2020060859.tif 000006
【図５】
2020060859.tif 000007
【図６】
2020060859.tif 000008
【図７】
2020060859.tif 000009
【図８】
2020060859.tif 000010
【図９】
2020060859.tif 000011