JP2020128117A - 電子制御装置、制御方法 - Google Patents

電子制御装置、制御方法 Download PDF

Info

Publication number
JP2020128117A
JP2020128117A JP2019020509A JP2019020509A JP2020128117A JP 2020128117 A JP2020128117 A JP 2020128117A JP 2019020509 A JP2019020509 A JP 2019020509A JP 2019020509 A JP2019020509 A JP 2019020509A JP 2020128117 A JP2020128117 A JP 2020128117A
Authority
JP
Japan
Prior art keywords
processing
processor
control unit
configuration
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019020509A
Other languages
English (en)
Other versions
JP7221070B2 (ja
Inventor
泰輔 植田
Yasusuke Ueda
泰輔 植田
辰也 堀口
Tatsuya HORIGUCHI
辰也 堀口
健一 新保
Kenichi Shinpo
健一 新保
坂本 英之
Hideyuki Sakamoto
英之 坂本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2019020509A priority Critical patent/JP7221070B2/ja
Priority to CN202080012563.6A priority patent/CN113412476B/zh
Priority to US17/428,107 priority patent/US11789730B2/en
Priority to PCT/JP2020/003150 priority patent/WO2020162280A1/ja
Publication of JP2020128117A publication Critical patent/JP2020128117A/ja
Application granted granted Critical
Publication of JP7221070B2 publication Critical patent/JP7221070B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor

Abstract

【課題】冗長構成による判定を低コストに実現できる電子制御装置を提供する。【解決手段】電子制御装置は、処理制御部と情報取得部とを備え、情報取得部は、外界の情報を収集して処理制御部に転送し、処理制御部は、第1プロセッサと第2プロセッサと記憶部とを備え、処理制御部は、第1プロセッサと第2プロセッサとを用いて非冗長処理を実行する非冗長処理構成による演算処理と、第1プロセッサと第2プロセッサとを用いて冗長処理を実行する冗長処理構成による演算処理と、を実行し、処理制御部は、非冗長処理構成による演算処理の結果を記憶部に格納し、冗長処理構成による演算処理によって、格納した結果を用いた演算処理を第1プロセッサと第2プロセッサとの双方で個別に行い、第1プロセッサによる演算結果と第2プロセッサによる演算結果とに基づいて非冗長処理構成による演算処理結果に対する判定を行う。【選択図】図3

Description

本発明は、電子制御装置、および制御方法に関する。
車両の自動運転を目指した技術開発が進められている。自動運転は運転者に代わり周囲の認識、車両の制御を行う必要があり、膨大な情報処理が求められる。増大する情報処理に対応するため、CPU(Central Processing Unit)のマルチコアを活用する検討に加え、論理回路を再構成可能なFPGA(Field Programmable Gate Array)等のPLD(Programmable Logic Device)をハードウェアアクセラレータとして用いる検討が進められている。これらの検討を自動運転の制御に適用する場合、信頼性を考慮した適切な処理が求められる。特許文献1には、処理結果が監視される被監視プロセッサコアと、前記被監視プロセッサコアを監視するための処理を行うことが可能な二以上の監視プロセッサコアを含む監視プロセッサコア群と、前記監視プロセッサコア群の処理負荷を評価する評価手段と、前記評価手段により前記監視プロセッサコア群の処理負荷が低いと評価された場合に、前記被監視プロセッサコアを監視するための処理を前記監視プロセッサコア群で分散して行わせ、前記評価手段により監視プロセッサコア群の処理負荷が高いと評価された場合に、前記被監視プロセッサコアを監視するための処理を前記監視プロセッサコア群のうち相対的に優先度の低い処理を行っている監視プロセッサコアに行わせる制御手段と、を備えるマルチコア・プロセッサが開示されている。
国際公開第2013/088519号
特許文献1に記載されている発明では、冗長処理を実現するためのコストを低減する余地がある。
本発明の第1の態様による電子制御装置は、処理制御部と情報取得部とを備える電子制御装置であって、前記情報取得部は、外界の情報を収集して前記処理制御部に転送し、前記処理制御部は、第1プロセッサと第2プロセッサと記憶部とを備え、前記処理制御部は、前記第1プロセッサと前記第2プロセッサとを用いて非冗長処理を実行する非冗長処理構成による演算処理と、前記第1プロセッサと前記第2プロセッサとを用いて冗長処理を実行する冗長処理構成による演算処理と、を実行し、前記処理制御部は、前記非冗長処理構成による演算処理の結果を前記記憶部に格納し、前記冗長処理構成による演算処理によって、前記格納した結果を用いた演算処理を前記第1プロセッサと前記第2プロセッサとの双方で個別に行い、前記第1プロセッサによる演算結果と前記第2プロセッサによる演算結果とに基づいて前記非冗長処理構成による演算処理結果に対する判定を行う。
本発明の第2の態様による制御方法は、処理制御部と情報取得部とを備える電子制御装置が実行する制御方法であって、前記処理制御部は、第1プロセッサと第2プロセッサと記憶部とを備え、前記情報取得部に、外界の情報を収集して前記処理制御部に転送させることと、前記処理制御部に、前記第1プロセッサと前記第2プロセッサとを用いて非冗長処理を実行する第1の処理構成による演算処理と、前記第1プロセッサと前記第2プロセッサとを冗長させて個別に処理を実行する第2の処理構成による演算処理と、を実行させることと、前記処理制御部に、前記第1の処理構成による演算処理の結果を前記記憶部に格納させ、前記第2の処理構成による演算処理によって、前記格納した結果を用いた演算処理を前記第1プロセッサ前記と第2プロセッサとの双方で個別に行わせ、前記第1プロセッサによる演算結果と前記第2プロセッサによる演算結果とに基づいて前記第1の処理構成による演算処理結果に対する判定を行わせることとを含む。
本発明によれば、冗長構成による判定を低コストに実現できる。前述した以外の課題、構成、および効果は、以下の実施例の説明により明らかにされる。
車載システム1のシステム構成図 自律走行制御装置2のハードウェア構成図 自律走行制御装置2の機能構成図 図4(a)は非冗長処理構成を示す図、図4(b)は冗長処理構成を示す図 周辺認知処理、行動予測処理、および軌道計画処理の関係を示す図 管理DB3の一例を示す図 処理制御部203の動作概要を示すフローチャート 処理制御部203の動作詳細を示すシーケンス図 変形例1における管理データベース3の一例を示す図 変形例1における処理制御部203の動作詳細を示すシーケンス図 変形例2における処理制御部1203の構成例を示す図 第2の実施の形態における自律走行制御装置2の機能構成図
―第1の実施の形態―
以下、図1〜図8を参照して、電子制御装置である自律走行制御装置の第1の実施の形態を説明する。
<システム構成>
図1は、自律走行制御装置2を含む車載システム1のシステム構成図である。車載システム1は、車両100に搭載される。車両100には、車両100の外界状況を取得する不図示のカメラ、レーダ、およびレーザが備えられる。なお以下では、カメラ、レーダ、およびレーザをまとめて「センサ」と呼ぶ。さらに車両100には、図示していないが、衛星航法システムの受信機、たとえばGPS(Global Positioning System)の受信機が備えられる。
車載システム1は、不図示のカメラから車両100の外界状況を取得するカメラ情報取得部101と、不図示のレーダから車両100の外界状況を取得するレーダ情報取得部102と、不図示のレーザから車両100の外界状況を取得するレーザ情報取得部103と、衛星航法システムの受信機を用いて車両100の位置を検出する自車位置情報取得部104とを備える。車載システム1はさらに、車両100の自動運転を設定するための自動運転設定部105と、OTA(Over−The−Air)により車載システム1の情報を更新するための無線通信部106を備える。
車載システム1はさらに、自律走行制御装置2と、補助制御部107と、ブレーキ制御部108と、エンジン制御部109と、パワーステアリング制御部110とを備える。自律走行制御装置2、補助制御部107、ブレーキ制御部108、エンジン制御部109、およびパワーステアリング制御部110は、たとえばECU(Electronic Control Unit)である。
カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、自車位置情報取得部104、自動運転設定部105、無線通信部106、自律走行制御装置2、補助制御部107、ブレーキ制御部108、エンジン制御部109、およびパワーステアリング制御部110は、CAN(Controller Area Network)やイーサネット(登録商標)等の車載ネットワークによって相互に通信可能に接続される。
カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、および自車位置情報取得部104は、それぞれがセンサなどから受信した情報を自律走行制御装置2に送信する。また、カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、および自車位置情報取得部104は、それぞれのセンサなどの異常を検出した情報を自律走行制御装置2に送信してもよい。
自動運転設定部105は、自動運転時の目的地、ルート、走行速度等の設定情報を自律走行制御装置2に送信する。ただし自動運転設定部105が送信する情報の一部が無線通信部106を介して外部から受信したものであってもよい。
自律走行制御装置2は、自動運転制御のための処理を行い処理結果に基づいて制御指令を、ブレーキ制御部108、エンジン制御部109、およびパワーステアリング制御部110へ出力する。補助制御部107は、自律走行制御装置2と同様の制御を補助として行う。ブレーキ制御部108は、車両100の制動力を制御する。エンジン制御部109は、車両100の駆動力を制御する。パワーステアリング制御部110は、車両100のステアリングを制御する。
自律走行制御装置2は、自動運転設定部105により自動運転の設定要求を受け付けると、カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、および自車位置情報取得部104等からの外界の情報を基に車両100が移動する軌道を算出する。そして、自律走行制御装置2は、算出した軌道に従って車両100を移動させるように、制動力、駆動力、操舵などの制御指令を、ブレーキ制御部108、エンジン制御部109、およびパワーステアリング制御部110に出力する。ブレーキ制御部108、エンジン制御部109、およびパワーステアリング制御部110は、自律走行制御装置2から制御指令を受けて、それぞれ不図示の制御対象であるアクチュエータに操作信号を出力する。
<自律走行制御部のハードウェア構成>
図2は、自律走行制御装置2のハードウェア構成図である。自律走行制御装置2は、CPU21と、ROM22と、RAM23と、フラッシュメモリ24と、論理回路25と、通信インタフェース26とを備える。CPU21は、ROM22に格納されたプログラムをRAM23に展開して実行することで後述する機能を実現する。フラッシュメモリ24は不揮発性の記憶領域である。論理回路25は、FPGAなどのPLDを用いた再構成可能な論理回路である。論理回路25はその一部のみを再構成することが可能な、いわゆる部分再構成可能な論理回路である。通信インタフェース26は、CAN等の所定のプロトコルで通信するインタフェースである。
なお、自律走行制御装置2を構成するCPU21、ROM22、RAM23、フラッシュメモリ24、論理回路25のハードウェアは、それぞれが1つ、または複数のデバイスとしてECU上に構成されてもよいし、SoC(System on Chip)のように、複数のハードウェアを1つのデバイスとしてECU上に構成されてもよい。また、自律走行制御装置2は、1つのECUで構成してもよいし、複数のECUで構成してもよい。
<自律走行制御装置の機能構成>
図3は、自律走行制御装置2の機能構成図である。自律走行制御装置2は、第1通信インタフェース201−1、第2通信インタフェース201−2、情報取得部202、処理制御部203、管理データベース(以下、管理DB)3、処理データベース(以下、処理DB)4、および地図データベース(以下、地図DB)5を有する。処理制御部203は、記憶部235を備える共通部231、第1プロセッサコア232−1、第2プロセッサコア232−2、論理回路233、および内部バス234を有する。以下では、第1通信インタフェース201−1、第2通信インタフェース201−2をまとめて、「通信インタフェース201」と呼ぶ。また、第1プロセッサコア232−1、第2プロセッサコア232−2をまとめて、「プロセッサコア232」と呼ぶ。
通信インタフェース201は、図2の通信インタフェース26により実現される。管理DB3、処理DB4、および地図DB5は、RAM23またはフラッシュメモリ24に格納される情報である。情報取得部202は、CPU21および論理回路25のいずれかにより構成され、処理制御部203と共存して構成されてもよい。処理制御部203は、主にCPU21および論理回路25により構成される。共通部231およびプロセッサコア232はCPU21から構成され、論理回路233は論理回路25から構成される。共通部231は、他のプロセッサコアとして構成されてもよい。記憶部235は、第1プロセッサコア232−1内または第2プロセッサコア232−2内に構成されてもよいし、RAM23またはフラッシュメモリ24により実現されてもよい。
自律走行制御装置2は、第1通信インタフェース201−1を介して、図1のカメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、自車位置情報取得部104、自動運転設定部105、および無線通信部106と接続される。自律走行制御装置2は、第2通信インタフェース201−2を介して補助制御部107、ブレーキ制御部108、エンジン制御部109、およびパワーステアリング制御部110と接続される。図3では、自律走行制御装置2は第1通信インタフェース201−1および第2通信インタフェース201−2の論理的な2つの通信インタフェースを備えるが、両者の機能を併せ持つ1つの論理的な通信インタフェースのみを備えてもよい。
情報取得部202は、通信インタフェース201−1から入力される、カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、および自車位置情報取得部104からのセンサ情報、自動運転設定部105からの自動運転設定情報を取得する。情報取得部202は、後述する所定の処理周期で処理制御部203にセンサ情報や自動運転設定情報を送信する。
処理制御部203は、情報取得部202から情報を取得すると、所定の処理を実行し、処理実行結果を一連の実行結果として制御し、制御した実行結果を基に、制動力や駆動力などの制御指令を通信インタフェース201−2から出力する。処理制御部203において、プロセッサコア232および論理回路233は、所定の処理を実行する機能部として構成される。共通部231は、管理DB3を参照し、プロセッサコア232および論理回路233において実行する所定の処理と、該当する所定の処理において使用するプログラムデータおよび回路データを判定する。
このプログラムデータおよび回路データは処理DB4に格納されているので、必要に応じて処理DB4から読み出される。プログラムデータは該当するプロセッサコア232の各演算に用いられ、回路データは論理回路233の構成に用いられる。地図DB5には地図情報が格納され、本実施の形態における所定の処理の1つである周辺認知処理(詳細は後述)において使用される。共通部231が備える記憶部235には、プロセッサコア232および論理回路233において実行された所定の処理の結果が格納される。
<処理制御部の処理構成例>
図4は、処理制御部203の構成例を示す図である。図4(a)は、プロセッサコア232が論理回路233全体を活用して非冗長な並列処理を実施する構成例を示す図である。図4(b)は、プロセッサコア232の各コアが分割された論理回路233を個別に活用して冗長処理を実施する構成例を示す図である。図4(a)に示す構成では冗長処理は行わないので、図4(b)に示す構成との対比では図4(a)に示す構成は非冗長処理を実施する構成と言える。そのため以下では、図4(a)に示す構成を「非冗長処理構成」と呼び、図4(b)に示す構成を「冗長処理構成」と呼ぶ。本実施の形態では、処理制御部203において、非冗長処理向けや冗長処理向けとして、プロセッサコア232、または、プロセッサコア232および論理回路233の機能部の構成を切り替える。
なお、図4(b)に示すように論理回路233を複数に分割した場合であっても、第1回路構成B252−1と第2回路構成B252−2とが異なる処理を行う場合、たとえば一方がカメラの出力を処理し他方はレーザの出力を処理する場合は、非冗長処理構成として扱う。ただし図4(a)に示す構成と区別するために、以下ではこれを「第2非冗長処理構成」と呼び、図4(a)に示す構成を「第1非冗長処理構成」と呼ぶ。「非冗長処理構成」は、「第1非冗長処理構成」と「第2非冗長処理構成」との上位概念である。
図4(a)では、処理構成A241として、第1プロセッサコア232−1、第2プロセッサコア232−2、および論理回路233の全体を活用して所定の処理を実施する例を示す。第1プロセッサコア232−1と第2プロセッサコア232−2は、非冗長処理を実施し、さらに、内部バス234を経由して、論理回路233をアクセラレータとして活用する。このとき、論理回路233は、回路構成A251として1つのアクセラレータ回路を構成する。
図4(b)では、第1処理構成B242−1と第2処理構成B242−2を合わせた処理構成B242として、プロセッサコア232の各コアが、2つに分割された論理回路233を個別に活用して冗長処理を実施する構成例を示す。第1処理構成B242−1では第1プロセッサコア232−1を使用し、第2処理構成B242−2では第2プロセッサコア232−2を使用し、冗長処理を実施する。
第1プロセッサコア232−1および第2プロセッサコア232−2は、それぞれ内部バス234を経由して、論理回路233をアクセラレータとして活用する。このとき、論理回路233は、第1回路構成B252−1と第2回路構成B252−2を合わせて回路構成B252とし、第1回路構成B252−1は第1プロセッサコア232−1のアクセラレータ回路、第2回路構成B252−2は第2プロセッサコア232−2のアクセラレータ回路をそれぞれ構成する。なお、第1回路構成B252−1と第2回路構成B252−2で構成される回路は、ハードウェアの信頼性を考慮し、論理回路25において物理的に隔たれた回路領域を使用することが好ましい。
図4(b)において、処理制御部203は、第1処理構成B242−1と第2処理構成B242−2において冗長処理として個別に実行された結果を比較することで、所定の処理における異常の有無や結果の妥当性の判定などの信頼性を向上する。
念のために記載すると、図4(a)に示す非冗長処理構成では、第1プロセッサコア232−1と第2プロセッサコア232−2は、異なる処理を実行する。図4(b)に示す冗長処理構成では、第1プロセッサコア232−1と第2プロセッサコア232−2は、同一の処理を実行する。すなわち図4(b)に示す冗長処理構成では、第1プロセッサコア232−1と第2プロセッサコア232−2には、同一の処理を実行するプログラムデータが読み込まれる。なお同一の処理とは、ある入力データに対して同一の出力データを出力する処理である。
第1回路構成B252−1と第2回路構成B252−2は同一の処理を実行する。すなわち第1回路構成B252−1と第2回路構成B252−2は、ある入力データに対して同一の出力データを出力する。第1回路構成B252−1と第2回路構成B252−2は、ルックアップテーブル、フリップフロップ、内部メモリ、および演算器などの論理回路内部の具体的なハードウェアリソースの使用方法が異なっていてもよい。
<自車周辺予測>
図5は、周辺認知処理、行動予測処理、および軌道計画処理の関係を示す図である。図5(a)は、時刻Tにおける自車周辺地図51の例を示す図である。図5(b)は、時刻Tに演算される、時刻T+1における自車周辺予測地図52の例を示す図である。
本実施の形態では、処理制御部203は、前述した所定の処理として、周辺認知処理、行動予測処理、および軌道計画処理を実施する。周辺認知処理では、処理制御部203は、情報取得部202から受信したセンサ情報や、地図DB5から取得した地図情報を基に、自車周辺物体を認知する。行動予測処理では、処理制御部203は、周辺認知処理による自車周辺物体認知結果を基に、各周辺物体の行動予測を行う。予測の方式としては、たとえば現在の各周辺物体の位置と速度を基に、将来位置を外挿して求める方式が挙げられる。軌道計画処理では、処理制御部203は、各周辺物体における予測位置を基に、自車の予測軌道を生成する。処理制御部203は、これらの処理結果を基に、自車の予測軌道を満たすような、制御指令値を生成する。
図5(a)では、周辺認知処理において実行された、時刻Tにおける自車周辺物体の認知結果の例を示す。処理制御部203は、時刻Tにおけるセンサ情報を基に、自車周辺物体の位置や大きさ、移動速度情報等を統合し、地図DB5から取得した地図情報に自車周辺物体をマッピングし、時刻Tにおける自車周辺地図51を作成する。図5(a)では、自車位置501に加え、歩行者位置502や他車位置503が自車周辺地図51上にマッピングされたとする。
図5(b)では、行動予測処理および軌道計画処理において実行された、時刻T+1における各周辺物体の行動予測結果および自車の予測軌道結果の例を示す。処理制御部203は、図5(a)で記した時刻Tにおける結果を基に、時刻T+1以降を予測する。図5(b)では、行動予測結果として歩行者予測位置552や他車予測位置553、自車の予測軌道計画結果として自車予測位置551が自車周辺予測地図52上にマッピングされたとする。
なお図5(b)には時刻T+1における予測位置を点線で示し、図5(a)で記した時刻Tの認知結果を実線で示しているが、実際の予測結果にこれら実位置は必ずしも含まれない。また図5(b)には各物体の予測位置を1つだけ示しているが、このような各物体の予測位置は、自車の予測軌道の生成に必要となる数だけ生成される。たとえば、100ミリ秒ごとに10秒分の軌道を予測する場合、処理制御部203は、各物体における予測位置を100個生成する。
また処理制御部203は、判定処理においてはたとえば、時刻Tにおける自車周辺物体の認知結果から予測した時刻T+1時点における自車周辺物体の予測位置と、時刻T+1時点における自車周辺物体の認知結果とを比較することで、位置情報の乖離の程度などから、異常の有無や演算結果の妥当性、すなわち異常の有無を判定する。処理制御部203は判定処理において、たとえば位置情報の乖離があらかじめ定めた閾値以内であれば異常なしと判定し、位置情報の乖離がその閾値よりも大きければ異常ありと判定する。
<管理データベース情報>
図6は、管理DB3の一例を示す図である。管理DB3は、複数のレコードを有するデータベースである。管理DB3に格納される情報は、あらかじめオペレータなどにより作成される。管理DB3は、共通部231を経由して処理制御部203によって参照される。管理DB3の各レコードには、処理制御部203が実行する処理の名称、処理に応じた処理制御部203の処理構成、プロセッサコア232が実行するプログラムデータ、および論理回路233上に構成する回路データの情報が格納される。
処理制御部203は管理DB3に格納されるレコードを上から読み込んで順番に実行するので、管理DB3に記載されているレコードの順番が処理の順番を示している。ただし図6に示す管理DB3の構成は一例にすぎず、たとえば実行順序を明示する情報を管理DB3の各レコードに含ませて、処理制御部203は管理DB3の記載順番や読み込みの順番に依存せず、各レコードに含まれる実行順序に従って処理を実行してもよい。
管理DB3は、名称601、処理構成602、プロセッサ演算603、および論理回路604のフィールドを有する。名称601のフィールドには、実行する処理の名称が格納される。処理構成602のフィールドには、処理制御部203の構成種別、すなわち処理構成A241または処理構成B242のいずれかが格納される。プロセッサ演算603のフィールドには、プロセッサコア232が実行する演算のプログラムデータの情報が格納される。論理回路604のフィールドには、論理回路233を構成する回路データの情報が格納される。
図6に示す例では、説明のために分かりやすい名称を記載しているが、実際には判別可能であればどのような情報であってもかまわない。たとえば名称601のフィールドにはアルファベットや数字の1文字が格納されてもよく、処理構成602のフィールドには0/1などの真偽値が格納されてもよい。プロセッサ演算603および論理回路604のフィールドには、読み込むべきデータが格納されているアドレスが格納されてもよい。
図6に示す例では、名称601のフィールドに、上から順番に「周辺認知処理」、「判定処理」、「行動予測処理」、および「軌道計画処理」が格納されている。そのため処理制御部203は、第1に周辺認知処理を実行し、第2に判定処理を実行し、第3に行動予測処理を実行し、第4に軌道計画処理を実行する。なお「行動予測処理」の結果、および「軌道計画処理」の結果は、記憶部235に格納される。
1つ目のレコードに示される「周辺認知処理」では、プロセッサコア232が論理回路233全体を活用して非冗長処理を実施する「処理構成A」が処理構成602のフィールドに、プロセッサコア232が周辺認知処理演算を実施するプログラムデータの情報がプロセッサ演算603のフィールドに、論理回路233が周辺認知処理回路を構成する回路構成A251の回路データの情報が論理回路604のフィールドに、それぞれ示されている。
2つ目のレコードに示される「判定処理」では、プロセッサコア232の各コアが分割された論理回路233を個別に活用して冗長処理を実施する「処理構成B」が処理構成602のフィールドに、第1プロセッサコア232−1が第1の判定処理演算を実施するプログラムデータの情報、および第2プロセッサコア232−2が第2の判定処理演算を実施するプログラムデータの情報がプロセッサ演算603のフィールドに、論理回路233において第1の判定処理回路を構成する第1回路構成B252−1の回路データの情報、および第2の判定処理回路を構成する第2回路構成B252−2の回路データの情報が論理回路604のフィールドに、それぞれ示されている。
3つ目のレコードに示される「行動予測処理」では、「処理構成A」が処理構成602のフィールドに、プロセッサコア232が行動予測処理演算を実施するプログラムデータの情報がプロセッサ演算603のフィールドに、論理回路233が行動予測処理回路を構成する回路構成A251の回路データの情報が論理回路604のフィールドに、それぞれ示されている。
4つ目のレコードに示される「軌道計画処理」では、「処理構成A」が処理構成602のフィールドに、プロセッサコア232が軌道計画処理演算を実施するプログラムデータの情報がプロセッサ演算603のフィールドに、論理回路233が軌道計画処理回路を構成する回路構成A251の回路データの情報が論理回路604のフィールドに、それぞれ示されている。
<動作フローチャート>
図7は、処理制御部203の動作概要を示すフローチャートである。処理制御部203は、所定の処理周期、たとえば100ミリ秒ごとに情報取得部202から情報を取得して、図7に示す処理を実行する。すなわち図7に示す処理はある1処理周期において実行される処理であり、実際には図7に示す処理が繰り返し実行される。
まずステップS701では、処理制御部203は各種DB、すなわち管理DB3、処理DB4、および地図DB5を読み込む。続くステップS702では処理制御部203は、ステップS701において読み込んだ管理DB3の先頭レコードを処理対象に設定する。続くステップS703では処理制御部203は、処理対象が判定処理であるか否かを判断し、処理対象が判定処理であると判断する場合はステップS704に進み、処理対象が判定処理ではないと判断する場合はステップS705に進む。
ステップS704では処理制御部203は、前回周期のデータが存在するか否か、換言すると、前回の処理周期における行動予測処理結果や軌道計画処理結果が記憶部235に格納されているか否かを判断する。処理制御部203は、前回周期のデータが存在すると判断する場合はステップS706に進み、前回周期のデータが存在しないと判断する場合はステップS708に進む。たとえば車両100のイグニッションキーがONにされた直後など、図7に示す処理が初回に実行された場合には、行動予測処理結果や軌道計画処理結果が記憶部235に格納されていないのでステップS704は否定判断される。
ステップS705では処理制御部203は、処理対象のレコードにおいて指定された処理を実行してステップS708に進む。ステップS705の処理を詳述すると次のとおりである。処理制御部203は、処理対象のレコードにおけるプロセッサ演算603のフィールドの記載に基づきプロセッサコア232にプログラムを読み込み実行する。さらに処理制御部203は、処理対象のレコードにおける論理回路604のフィールドの記載に基づき論理回路233を再構成して演算を実行させる。なおプロセッサ演算603のフィールドにプログラムデータが1つしか記載されていない場合はプロセッサコア232が同一のプログラムを実行し、プロセッサ演算603のフィールドにプログラムデータが2つ記載されている場合はプロセッサコア232が別々のプログラムを実行する。
また論理回路604のフィールドに回路データが1つしか記載されていない場合は論理回路233の全体で1つの処理を実行し、論理回路604のフィールドに回路データが複数記載されている場合は論理回路233が複数に分割されてそれぞれの領域で異なる処理が実行される。以上がステップS705の詳細な説明である。
ステップS706では処理制御部203は、ステップS705と同様に、処理対象のレコードにおいて指定された処理、すなわち判定処理を実行してステップS707に進む。なおステップS706の実行手順自体はステップS705と変わらないが、判定処理は前述のとおり第1処理構成B242−1および第2処理構成B242−2の両方で冗長して実行される。
この判定処理ではたとえば、今回の処理周期における自車周辺物体の認知結果と、前回の処理周期における自車周辺物体の認知結果から予測した今回の処理周期における予測位置との乖離を算出する。さらに判定処理では、算出した乖離があらかじめ定めた閾値以内であれば異常なしと判定し、乖離が閾値よりも大きければ異常ありと判定し、判定結果を記憶部235に格納する。前述のとおり判定処理は、第1処理構成B242−1および第2処理構成B242−2の両方で冗長して実行されるので、記憶部235にはそれぞれの実行結果が格納される。
続くステップS707では処理制御部203の共通部231は、第1処理構成B242−1および第2処理構成B242−2の判定結果に基づき異常の有無を判断する。共通部231は、2つの判定結果がどちらも異常無しの場合は検証結果として異常無しと判定し、2つの判定結果がどちらも異常有りの場合、および、2つの判定結果が異なる場合は検証結果として異常有りと判定する。処理制御部203は、異常ありと判断すると図7に示す処理を終了し、異常なしと判断する場合はステップS708に進む。ただし処理制御部203は、異常ありと判断する場合に異常を検出したことの記録を残してもよいし、第2通信IF201−2を介して車両100に搭載される他の機器に異常の検出を報知してもよい。
ステップS708では処理制御部203は、管理DB3に記載されている全てのレコードの処理が完了したか否かを判断する。処理制御部203は、全て処理が完了したと判断する場合は図7に示す処理を終了し、未処理のレコードが存在すると判断する場合はステップS709に進む。ステップS709では処理制御部203は、管理DB3に記載されているレコードのうち、未処理のレコードであって処理すべき順番がもっとも早いレコードを処理対象に更新してステップS703に戻る。
<動作シーケンス>
図8は、処理制御部203の動作詳細を示すシーケンス図である。図8では、管理DB3が図6に示したものである場合における、共通部231、プロセッサコア232、および、論理回路233の動作を示している。図8では図示上部から下部に向かって時間が経過している。説明の便宜のために、図8の右端に示すように時間帯を示すQ1〜Q12を用いる。「Q」の後ろに続く数字が大きいほど後の時間帯を表している。ただしそれぞれの時間帯の長さは同一でなくてもよい。
図8では、処理制御部203は、図6に示した管理DB3の記載に従って、周辺認知処理、行動予測処理、軌道生成処理を非冗長処理構成により実施してその結果を共通部231の記憶部235に格納する。また、処理制御部203は、格納された結果の判定処理を冗長処理構成により実施することで、判定結果に対する信頼性を確保する。
なお図8では、処理周期P1と処理周期P1に続く処理周期P2の一部のみを示しているが、処理周期P2の続きや、処理周期P2に続くさらなる処理周期も同様に実行される。周期P1が1周期目、周期P2が2周期目を示し、どちらも処理時間は処理周期Pに従う。
図8では初めに、プロセッサコア232、および論理回路233は処理構成Aを構成して周辺認知処理を行う(時間帯Q1)。プロセッサコア232は周辺認知処理演算を非冗長処理し、周辺認知処理回路で構成される論理回路233をアクセラレータとして活用する。第1プロセッサコア232−1および第2プロセッサコア232−2は、周辺認知処理を終了すると処理結果を共通部231に送信し、共通部231は記憶部235にその結果を保持する。なお信頼性を考慮して、記憶部235に処理結果を冗長化させて保持してもよい。
共通部231への結果送信を終えると、プロセッサコア232、および論理回路233は、判定処理を実施するために、処理構成Aから処理構成Bに構成を変更する(時間帯Q2)。具体的には、処理DB4から判定処理用のプログラムデータや回路データを取得し、プロセッサコアへの読み込み、および論理回路233の書き換えを行う。プロセッサコア232は、それぞれ共通部231から保持結果を取得し、判定処理演算を冗長処理する。なおこの保持結果とは、具体的には、周期P1の前の周期の行動予測処理結果と軌道計画処理結果、および周期P1の周辺認知処理結果である。またプロセッサコア232は、2つに分割された判定処理回路で構成される論理回路233をそれぞれ個別にアクセラレータとして活用する(時間帯Q3)。
プロセッサコア232は、判定処理を終了すると結果を共通部231に送信し、共通部231は、2つの判定結果が同じか否かを検証する(時間帯Q4)。たとえば、図7に示したステップS705において、処理制御部203は、判定処理において異常判定か否かを判定する。共通部231は、2つの判定結果がどちらも異常無しの場合は検証結果として異常無しと判定し、2つの判定結果がどちらも異常有りの場合、および、2つの判定結果が異なる場合は検証結果として異常有りと判定する。仮に検証結果として異常有りと判定された場合は周期P1における処理を終了するが、ここでは異常無しと判定された場合として説明を続ける。
時間帯Q4において、プロセッサコア232、および論理回路233は、次の行動予測処理を実施するために、処理DB4から判定処理用のプログラムデータや回路データを取得し、プロセッサコア232への読み込み、および論理回路233の書き換えを行う。そしてプロセッサコア232は、共通部231から処理周期P1における周辺認知処理結果を取得する。プロセッサコア232は、行動予測処理演算を非冗長処理し、行動予測処理回路で構成される論理回路233をアクセラレータとして活用する(時間帯Q5)。プロセッサコア232は、行動予測処理を終了すると処理結果を共通部231に送信し、共通部231は記憶部235にその結果を保持する。
共通部231への結果送信を終えると、プロセッサコア232、および論理回路233は、次の軌道計画処理を実施するために、構成は処理構成Aを維持して次の処理に備える。具体的にはプロセッサコア232、および論理回路233は、処理DB4から取得したプログラムデータを読み込み、回路データを用いて論理回路233を再構成する(時間帯Q6)。共通部231から処理周期P1における周辺認知処理結果や行動予測処理結果を取得すると、プロセッサコア232は、軌道計画処理演算を非冗長処理し、軌道計画処理回路で構成される論理回路233をアクセラレータとして活用する(時間帯Q7)。プロセッサコア232は、軌道計画処理を終了すると処理結果を共通部231に送信し、共通部231は記憶部235にその結果を保持する。
共通部231への結果送信を終えると、プロセッサコア232、および論理回路233は、次の周期P2における周辺認知処理を実施するために、構成は処理構成Aを維持し、処理DB4から取得したプログラムデータや回路データを周辺認知処理用にそれぞれ変更する(Q8)。以上のQ1からQ8までの時間帯が処理周期P1であり、処理制御部203は、この軌道計画処理の結果を満たすように、制御指令値を出力する。
次に、共通部231、プロセッサコア232、および論理回路233は、時間帯Q1〜Q8と同様に、時間帯Q9以降から処理周期P2の処理を開始する。処理周期P2の処理は処理周期P1と同様であるため、時間帯Q9〜Q12の詳細な記載は省略するが、時間帯Q11において、記憶部235から取得する保持結果は、処理周期P1の行動予測処理結果と軌道計画処理結果、および処理周期P2の周辺認知処理結果となる。以上が図8に示した動作の説明である。
前述のとおり、本実施の形態によれば、自動運転における周辺認知処理、行動予測処理、軌道計画処理は非冗長処理により高速化し、冗長処理は判定処理のみを対象とすることで信頼性を向上することができる。また、非冗長処理向けの処理構成と冗長処理向けの処理構成を処理に応じて切り替えて制御することができる。したがって、本実施の形態によれば、要求される信頼性や処理時間に応じて、監視等のための冗長処理の対象や範囲を変更し、非冗長処理と冗長処理を効率的に実施可能な構成を提供することができる。
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)電子制御装置である自律走行制御装置2は、処理制御部203と情報取得部202とを備える。情報取得部202は、外界の情報を収集して処理制御部203に転送する。処理制御部203は、第1プロセッサコア232−1と第2プロセッサコア232−2と記憶部235とを備える。処理制御部203は、図4(a)に示すように第1プロセッサコア232−1と第2プロセッサコア232−2とを用いて非冗長処理を実行する非冗長処理構成による演算処理と、図4(b)に示すように第1プロセッサコア232−1と第2プロセッサコア232−2を用いて冗長処理を実行する冗長処理構成による演算処理と、を実行する。処理制御部203は、非冗長処理構成による演算処理の結果を記憶部235に格納し、冗長処理構成による演算処理、すなわち判定処理によって、記憶部235に格納した結果を用いた演算処理を第1プロセッサコア232−1と第2プロセッサコア232−2との双方で個別に行い、第1プロセッサコア232−1による演算結果と第2プロセッサコア232−2による演算結果とに基づいて非冗長処理構成による演算処理結果に対する判定を行う。そのため、非冗長処理構成と冗長処理構成を適宜切り替えることにより、冗長構成による判定を低コストに実現できる。
(2)判定は非冗長処理構成による演算処理の結果の異常有無判定である。そのため、非冗長処理構成による低コストで高速な演算の異常の有無を、信頼性の高い冗長構成により判定できる。
(3)処理制御部203は、再構成可能な論理回路25を備える。論理回路25は、非冗長処理構成において第1プロセッサコア232−1および第2プロセッサコア232−2とともに処理を実行し、冗長処理構成において再構成により回路を2つの領域に分割し、第1プロセッサコア232−1と第1回路構成B252−1、および第2プロセッサコア232−2と第2回路構成B252−2を冗長させて個別に処理を実行する。そのため処理制御部203は、論理回路も含めた冗長構成をとることができる。
(4)判定は、第1プロセッサコア232−1または第2プロセッサコア232−2において実行される。そのため処理制御部203は、追加のプロセッサを用いることなく判定を実行できる。
(変形例1)
上述した第1の実施の形態では、処理制御部203は、判定処理においてのみ冗長処理を実施する処理構成Bとしたが、他の周辺認知処理や行動予測処理、軌道計画処理を処理構成Bとしてもよい。たとえば管理DB3を書き換えて、非冗長処理を実施する処理構成Aとしても、非冗長処理による高速化の効果が小さい場合や、処理構成の変更に時間を要する場合が考えられる。
<管理データベース情報>
図9は、変形例1における管理データベース3の一例を示す図である。すなわち図9は、上述した第1の実施の形態における図6に対応する。図9では、図6と比較し、行動予測処理における処理構成602が、処理構成Aか処理構成Bかという点が異なる。図9では、行動予測処理における処理構成602は処理構成Bである。
図9に示す例の「行動予測処理」では、処理構成Bが符号602に、第1プロセッサコア232−1が第1の行動予測処理演算を実施するプログラムデータの情報、および第2プロセッサコア232−2が第2の行動予測処理演算を実施するプログラムデータの情報が符号603に、論理回路233において第1の行動予測処理回路を構成する第1回路構成B252−1の回路データの情報、および第2の行動予測処理回路を構成する第2回路構成B252−2の回路データの情報が符号604にそれぞれ示されている。
<動作シーケンス>
図10は、変形例1における処理制御部203の動作詳細を示すシーケンス図である。すなわち図10は、上述した第1の実施の形態における図8に対応する。図10では、行動予測処理における処理構成602は処理構成Bである。時間帯Q1〜Q4、Q7〜Q12における処理は図8と同様なので説明を省略する。時間帯Q4において、プロセッサコア232、および論理回路233は、次の行動予測処理を実施するために、処理構成Bを維持し、処理DB4から取得したプログラムデータや回路データを行動予測処理用にそれぞれ変更する。
第1プロセッサコア232−1と第2プロセッサコア232−2は、それぞれ共通部231から処理周期P1の周辺認知処理結果を取得し、行動予測処理演算を冗長処理する。また、2つに分割された行動予測処理回路で構成される論理回路233をそれぞれ個別にアクセラレータとして活用する(時間帯Q55)。第1プロセッサコア232−1および第2プロセッサコア232−2は、行動予測処理を終了すると結果を共通部231にそれぞれ送信する。共通部231への結果送信を終えると、プロセッサコア232、および論理回路233は、次の軌道計画処理を実施するために、構成を処理構成Bから処理構成Aに変更し、処理DB4から取得したプログラムデータや回路データを軌道計画処理用にそれぞれ変更する(時間帯Q56)。
(変形例2)
上述した第1の実施の形態では、処理制御部203は、2つのプロセッサコア232を所定の処理の演算に使用したが、3つ以上のプロセッサコアを演算に使用してもよい。
<処理制御部の処理構成例>
図11は、変形例2における処理制御部1203の構成例を示す図である。本変形例では処理制御部1203は、第1プロセッサコア1232−1、第2プロセッサコア1232−2、および第3プロセッサコア1232−3の3つのプロセッサコアを備える。以下では、第1プロセッサコア1232−1、第2プロセッサコア1232−2、および第3プロセッサコア1232−3をまとめて、「プロセッサコア1232」と呼ぶ。
図11(a)は、プロセッサコア1232が論理回路1233全体を活用して非冗長処理を実施する構成例を示す図である。図11(b)は、プロセッサコア1232の各コアが分割された論理回路1233を個別に活用して冗長処理を実施する構成例を示す図である。すなわち図11は、上述した第1の実施の形態における図4に対応し、3つのプロセッサコアを所定の処理の演算に使用する例を示す。
図11(a)は、処理構成A1241として、第1プロセッサコア1232−1、第2プロセッサコア1232−2、第3プロセッサコア1232−3、および論理回路233の全体を活用して所定の処理を実施する例を示す。第1プロセッサコア1232−1、第2プロセッサコア1232−2、および第3プロセッサコア1232−3は、それぞれが異なる処理、すなわち非冗長処理を実施する。さらにこれら3つのプロセッサコアは、内部バス1234を経由して、論理回路1233をアクセラレータとして活用する。
このとき論理回路1233は、回路構成A1251として1つのアクセラレータ回路を構成する。ただし論理回路1233を複数の領域に分割し、各領域に構成された回路が別々のプロセッサコアのアクセラレータとして機能してもよい。
図11(b)は、第1処理構成B1242−1と、第2処理構成B1242−2と、第3処理構成B1242−3を合わせた処理構成B1242として、プロセッサコア1232の各コアが3つに分割された論理回路1233を個別に活用して冗長処理を実施する構成例を示す。第1処理構成B1242−1では第1プロセッサコア1232−1を、第2処理構成B1242−2では第2プロセッサコア1232−2を、第3処理構成B1242−3では第3プロセッサコア1232−3をそれぞれ使用し、冗長処理をする。第1プロセッサコア1232−1、第2プロセッサコア1232−2、および第3プロセッサコア1232−3は、それぞれ内部バス1234を経由して、論理回路1233をアクセラレータとして活用する。
このとき、論理回路1233は、第1回路構成B1252−1と、第2回路構成B1252−2、第3回路構成B1252−3を合わせて回路構成B1252とし、第1回路構成B1252−1は第1プロセッサコア1232−1のアクセラレータ回路、第2回路構成B1252−2は第2プロセッサコア1232−2のアクセラレータ回路、第3回路構成B1252−3は第3プロセッサコア1232−3のアクセラレータ回路をそれぞれ構成する。なお、第1回路構成B1252−1、第2回路構成B1252−2、および第3回路構成B1252−3で構成される回路は、ハードウェアの信頼性を考慮し、論理回路25において物理的に隔たれた回路領域を使用することが好ましい。
図11(b)において、処理制御部1203は、第1処理構成B1242−1と、第2処理構成B1242−2と、第3処理構成B1242−3において3つの冗長処理として個別に実行された結果を比較することで、所定の処理における異常の有無や結果の妥当性の判定などの信頼性を向上する。
たとえば、上述した第1の実施の形態の図7に示したステップS705において、処理制御部203は、判定処理において異常判定か否かを判定した。変形例2の処理制御部1203で実施する場合、処理制御部1203は、3つの判定処理の結果から異常判定か否かを判定してもよい。共通部1231は、3つの判定結果のいずれも異常無しの場合、および、2つの判定結果が異常無しで1つの判定結果が異常有りの場合は検証結果として異常無しと判定してもよい。また、共通部1231は、1つの判定結果が異常無しで2つの判定結果が異常ありの場合、および、3つの判定結果のいずれも異常ありの場合は検証結果として異常ありと判定してもよい。
本変形例によれば次の作用効果が得られる。
(5)処理制御部203は、第3プロセッサコア232−3を備え、判定は、第3プロセッサにおいて実行される。
(6)処理制御部203は、第3プロセッサコア232−3を備える。第1プロセッサコア232−1と第2プロセッサコア232−2と第3プロセッサコア232−3とを用いて非冗長処理を実行する第3の処理構成による演算処理と、第1プロセッサコア232−1と第2プロセッサコア232−2と第3プロセッサコア232−3とを冗長させて個別に処理を実行する第4の処理構成による演算処理と、を実行する。処理制御部203は、第3の処理構成による演算処理の結果を記憶部235に格納し、第4の処理構成による演算処理によって、格納した結果を用いた演算処理を第1プロセッサコア232−1と第2プロセッサコア232−2と第3プロセッサコア232−3のそれぞれで個別に行い、当該第1プロセッサコア232−1による演算結果と当該第2プロセッサコア232−2による演算結果と当該第3プロセッサコア232−3による演算結果とに基づいて第3の処理構成による演算処理結果に対する判定を行う。そのため、三重の冗長系による判定を低コストに実現できる。
(7)判定は第3の処理構成による演算処理の結果の異常有無判定である。そのため第1の実施の形態よりも高い冗長性を確保できる。
(8)異常有無判定は、当該第1プロセッサコア232−1による演算結果と当該第2プロセッサコア232−2による演算結果と当該第3プロセッサコア232−3による演算結果の各結果の多数決に基づく。そのため、異常の有無だけでなくどちらが正しいかを判別できる。
(変形例3)
上述した第1の実施の形態では、図4に示すように、共通部231をプロセッサコア232と分離して記載した。しかし、第1プロセッサコア232−1または第2プロセッサコア232−2により共通部231が実現されてもよいし、自律走行制御装置2に内蔵される不図示の他のプロセッサコアにより実現されてもよい。
(変形例4)
上述した第1の実施の形態では、判定処理において前回の処理周期における自車周辺物体の予測位置と、現在の処理周期における自車周辺物体の認知結果とを比較した。しかし両者を比較する代わりにそれぞれを基準値と比較してもよいし、いずれか一方のみを基準値と比較してもよい。この場合はたとえば、ROM22にあらかじめ定性的または定量的な整合性ルールを格納しておく。そして判定処理では、前回の処理周期における自車周辺物体の予測位置と前述の整合性ルールとを比較することで、前回の処理周期における自車周辺物体の予測位置の異常を検出する。また判定処理ではさらに、現在の処理周期における自車周辺物体の認知結果と前述の整合性ルールとを比較することで、現在の処理周期における自車周辺物体の認知結果の異常を検出する。
認知結果と比較する整合性ルールとはたとえば、センサの仕様から現実的と考えられる条件であり、車両100からの自車周辺物体との距離がセンサの限界を超えていないことや、自車周辺物体の位置がセンサの視野範囲内に収まっていることである。自車周辺物体の予測位置と比較する整合性ルールとはたとえば、自車周辺物体の速度が所定の閾値以下であることである。
(変形例5)
上述した第1の実施の形態では、判定処理において異常の有無を判断した。しかし判定処理では異常の有無の判断までは行わず、異常の程度を判断してもよい。この場合はたとえば図7のステップS706において、第1処理構成B242−1および第2処理構成B242−2は、異常の程度を複数の段階で評価してもよいし、異常の可能性の有無のみを判断してもよい。またこの場合に共通部231は、図7のステップS707において、第1処理構成B242−1および第2処理構成B242−2が判定する異常の程度が同一である場合にステップS707を否定判断してステップS708に進み、両者が判定する異常の程度が同一でない場合に肯定判断して図7に示す処理を終了する。
(変形例6)
処理制御部203は、論理回路233をアクセラレータとして使用しなくてもよい。この場合は自律走行制御装置2は、論理回路26を備えなくてもよい。この場合には、管理DB3には論理回路604のフィールドが含まれなくてもよい。
(変形例7)
上述した第1の実施の形態では、非冗長処理構成は図4(a)に示す第1非冗長処理構成として説明した。しかし非冗長処理構成を、第1回路構成B252−1がカメラの出力を処理し、第2回路構成B252−2がレーザの出力を処理するような、第2冗長処理構成としてもよい。
(変形例8)
図8に示すシーケンス図では、冗長処理である第1判定処理演算と第2判定処理演算とが略同時に実行されるように記載されている。しかし冗長処理は厳密な同時や略同時に実行されなくてもよく、プロセッサコア毎の処理時間や処理タイミングが異なってもよい。換言すると、第1処理構成B242−1および第2処理構成B242−2の処理時間や処理タイミングが異なっていても冗長処理として扱ってもよい。
―第2の実施の形態―
図12を参照して、電子制御装置である自律走行制御装置の第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、処理制御部203が管理DB3を生成する点で、第1の実施の形態と異なる。
図12は、本実施の形態における自律走行制御装置2の機能構成図である。本実施の形態では、簡易管理シート6がさらに備えられる。本実施の形態では、共通部231は簡易管理シート6に基づき管理DB3を作成する管理DB作成部としても機能する。すなわち本実施の形態では、管理DB3はフラッシュメモリ24やROM22にあらかじめ格納されているのではなく、共通部231により作成される。簡易管理シート6は、オペレータによりあらかじめ作成される。
簡易管理シート6には、実行すべき処理の名称、実行すべき処理の順番、それぞれの回路情報の読み込みに要する時間、論理回路の書き換えに要する時間、および論理回路の実行時間が記載される。処理制御部203は、自律走行制御装置2の電源がオンにされると管理DB3の作成を開始し、管理DB3が完成すると第1の実施の形態と同様に管理DB3の記載に従って処理を行う。処理制御部203による管理DB3の作成は次のとおりである。
処理制御部203は、判定処理以外の処理について、冗長処理構成と非冗長処理構成のいずれとするかを決定し、管理DB3を作成する。一般に、実行時間だけに注目すれば、非冗長処理構成をとる方が短時間で完了する。しかし、非冗長処理構成の方が回路情報の読み込みや回路の再構成に長時間を要する場合があるため、読み込みや再構成の時間も考慮すると、冗長処理構成の方が短時間で完了する場合がある。そのため処理制御部203は、簡易管理シート6に記載された情報に基づき、読み込みや再構成を含めて実行時間が最短となるように、判定処理以外の処理について、冗長処理構成と非冗長処理構成のいずれとするかを決定する。
上述した第2の実施の形態によれば、処理制御部203が最適な管理DB3を生成できる利点を有する。
本発明は前述した実施の形態や変形例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例や変形例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されるものではない。また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてもよい。
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
1…車載システム
2…自律走行制御装置
3…管理データベース
4…処理データベース
100…車両
201…通信インタフェース
202…情報取得部
203…処理制御部
231…共通部
232…プロセッサコア
232−1…第1プロセッサコア
232−2…第2プロセッサコア
233…論理回路
241…処理構成A
242…処理構成B
242−1…第1処理構成B
242−2…第2処理構成B
251…回路構成A
252…回路構成B
252−1…第1回路構成B
252−2…第2回路構成B

Claims (9)

  1. 処理制御部と情報取得部とを備える電子制御装置であって、
    前記情報取得部は、外界の情報を収集して前記処理制御部に転送し、
    前記処理制御部は、第1プロセッサと第2プロセッサと記憶部とを備え、
    前記処理制御部は、前記第1プロセッサと前記第2プロセッサとを用いて非冗長処理を実行する非冗長処理構成による演算処理と、前記第1プロセッサと前記第2プロセッサとを用いて冗長処理を実行する冗長処理構成による演算処理と、を実行し、
    前記処理制御部は、前記非冗長処理構成による演算処理の結果を前記記憶部に格納し、前記冗長処理構成による演算処理によって、前記格納した結果を用いた演算処理を前記第1プロセッサと前記第2プロセッサとの双方で個別に行い、前記第1プロセッサによる演算結果と前記第2プロセッサによる演算結果とに基づいて前記非冗長処理構成による演算処理結果に対する判定を行う電子制御装置。
  2. 請求項1に記載の電子制御装置において、
    前記判定は前記非冗長処理構成による演算処理の結果の異常有無判定である電子制御装置。
  3. 請求項1に記載の電子制御装置において、
    前記処理制御部は、さらに再構成可能な論理回路を備え、
    前記再構成可能な論理回路は、
    前記非冗長処理構成において前記第1プロセッサと前記第2プロセッサとともに処理を実行し、
    前記冗長処理構成において再構成により回路を第1領域と第2領域とに分割し、前記第1プロセッサと前記第1領域、および前記第2プロセッサと前記第2領域を冗長させて個別に処理を実行する電子制御装置。
  4. 請求項1に記載の電子制御装置において、
    前記判定は、前記第1プロセッサまたは前記第2プロセッサにおいて実行される電子制御装置。
  5. 請求項1に記載の電子制御装置において、
    前記処理制御部は、第3プロセッサを備え、
    前記判定は、前記第3プロセッサにおいて実行される電子制御装置。
  6. 請求項1に記載の電子制御装置において、
    前記処理制御部は、第3プロセッサをさらに備え、
    前記処理制御部は、前記第1プロセッサと前記第2プロセッサと前記第3プロセッサとを用いて非冗長処理を実行する第3の処理構成による演算処理と、前記第1プロセッサと前記第2プロセッサと前記第3プロセッサとを冗長させて個別に処理を実行する第4の処理構成による演算処理と、を実行し、前記第3の処理構成による演算処理の結果を前記記憶部に格納し、前記第4の処理構成による演算処理によって、前記格納した結果を用いた演算処理を前記第1プロセッサと前記第2プロセッサと前記第3プロセッサのそれぞれで個別に行い、前記第1プロセッサによる演算結果と前記第2プロセッサによる演算結果と前記第3プロセッサによる演算結果とに基づいて前記第3の処理構成による演算処理結果に対する判定を行う電子制御装置。
  7. 請求項6に記載の電子制御装置において、
    前記判定は前記第3の処理構成による演算処理の結果の異常有無の判定である電子制御装置。
  8. 請求項7に記載の電子制御装置において、
    前記異常有無の判定は、前記第1プロセッサによる演算結果と前記第2プロセッサによる演算結果と前記第3プロセッサによる演算結果の各結果の多数決に基づく電子制御装置。
  9. 処理制御部と情報取得部とを備える電子制御装置が実行する制御方法であって、
    前記処理制御部は、第1プロセッサと第2プロセッサと記憶部とを備え、
    前記情報取得部に、外界の情報を収集して前記処理制御部に転送させることと、
    前記処理制御部に、前記第1プロセッサと前記第2プロセッサとを用いて非冗長処理を実行する第1の処理構成による演算処理と、前記第1プロセッサと前記第2プロセッサとを冗長させて個別に処理を実行する第2の処理構成による演算処理と、を実行させることと、
    前記処理制御部に、前記第1の処理構成による演算処理の結果を前記記憶部に格納させ、前記第2の処理構成による演算処理によって、前記格納した結果を用いた演算処理を前記第1プロセッサ前記と第2プロセッサとの双方で個別に行わせ、前記第1プロセッサによる演算結果と前記第2プロセッサによる演算結果とに基づいて前記第1の処理構成による演算処理結果に対する判定を行わせることとを含む、制御方法。
JP2019020509A 2019-02-07 2019-02-07 電子制御装置、制御方法 Active JP7221070B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019020509A JP7221070B2 (ja) 2019-02-07 2019-02-07 電子制御装置、制御方法
CN202080012563.6A CN113412476B (zh) 2019-02-07 2020-01-29 电子控制装置、控制方法
US17/428,107 US11789730B2 (en) 2019-02-07 2020-01-29 Electronic control device and control method
PCT/JP2020/003150 WO2020162280A1 (ja) 2019-02-07 2020-01-29 電子制御装置、制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019020509A JP7221070B2 (ja) 2019-02-07 2019-02-07 電子制御装置、制御方法

Publications (2)

Publication Number Publication Date
JP2020128117A true JP2020128117A (ja) 2020-08-27
JP7221070B2 JP7221070B2 (ja) 2023-02-13

Family

ID=71947650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019020509A Active JP7221070B2 (ja) 2019-02-07 2019-02-07 電子制御装置、制御方法

Country Status (4)

Country Link
US (1) US11789730B2 (ja)
JP (1) JP7221070B2 (ja)
CN (1) CN113412476B (ja)
WO (1) WO2020162280A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7453173B2 (ja) 2021-03-18 2024-03-19 トヨタ自動車株式会社 マネージャ、車両制御方法及び車両制御プログラム、並びに、マネージャを備えた車両

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008518306A (ja) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの処理ユニットを有する計算機システムにおける切り替えおよび信号比較の方法および装置
JP2008538151A (ja) * 2005-04-01 2008-10-09 ハネウェル・インターナショナル・インコーポレーテッド 冗長処理システムの性能及び信頼性を動的に最適化するためのシステム及び方法
JP2014102692A (ja) * 2012-11-20 2014-06-05 Nec Corp 演算処理システム、実行制御装置、実行制御方法及び実行制御プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3338488B2 (ja) * 1992-11-18 2002-10-28 富士通株式会社 データ処理装置の検証方法及び装置
JPH10260856A (ja) * 1997-03-21 1998-09-29 Nec Eng Ltd 演算プロセッサ装置
WO2006045790A1 (de) * 2004-10-25 2006-05-04 Robert Bosch Gmbh Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
JP4512621B2 (ja) * 2007-08-06 2010-07-28 株式会社日立製作所 分散システム
JP2011123545A (ja) * 2009-12-08 2011-06-23 Toshiba Corp 比較冗長型情報処理装置
US9052887B2 (en) * 2010-02-16 2015-06-09 Freescale Semiconductor, Inc. Fault tolerance of data processing steps operating in either a parallel operation mode or a non-synchronous redundant operation mode
CN102318250B (zh) * 2011-08-02 2014-03-05 华为技术有限公司 通信系统中的循环冗余校验处理方法、装置和lte终端
EP2793133B1 (en) 2011-12-13 2019-09-25 Toyota Jidosha Kabushiki Kaisha Multi-core processor
US9990212B2 (en) * 2013-02-19 2018-06-05 Empire Technology Development Llc Testing and repair of a hardware accelerator image in a programmable logic circuit
JP6094387B2 (ja) * 2013-06-06 2017-03-15 株式会社デンソー 制御装置
WO2015104841A1 (ja) * 2014-01-10 2015-07-16 株式会社 日立製作所 多重系システムおよび多重系システム管理方法
JP7346401B2 (ja) * 2017-11-10 2023-09-19 エヌビディア コーポレーション 安全で信頼できる自動運転車両のためのシステム及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008518306A (ja) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの処理ユニットを有する計算機システムにおける切り替えおよび信号比較の方法および装置
JP2008538151A (ja) * 2005-04-01 2008-10-09 ハネウェル・インターナショナル・インコーポレーテッド 冗長処理システムの性能及び信頼性を動的に最適化するためのシステム及び方法
JP2014102692A (ja) * 2012-11-20 2014-06-05 Nec Corp 演算処理システム、実行制御装置、実行制御方法及び実行制御プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7453173B2 (ja) 2021-03-18 2024-03-19 トヨタ自動車株式会社 マネージャ、車両制御方法及び車両制御プログラム、並びに、マネージャを備えた車両

Also Published As

Publication number Publication date
WO2020162280A1 (ja) 2020-08-13
CN113412476A (zh) 2021-09-17
US11789730B2 (en) 2023-10-17
JP7221070B2 (ja) 2023-02-13
US20220058020A1 (en) 2022-02-24
CN113412476B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
US11487748B2 (en) In-vehicle processing device
US11125572B2 (en) Electronic control device for autonomous driving of a vehicle
US11318929B2 (en) Electronic control apparatus, electronic control system, and electronic control method
US11341398B2 (en) Recognition apparatus and learning system using neural networks
KR102263955B1 (ko) 적어도 부분 자율 자동차용 제어 시스템의 구성
US20210146953A1 (en) Electronic Control Unit
WO2020105408A1 (ja) 車両制御装置及び車両制御方法
US20210269047A1 (en) In-vehicle equipment control device
WO2020162280A1 (ja) 電子制御装置、制御方法
US11521437B2 (en) In-vehicle device, information processing method, and computer readable medium
US20170171036A1 (en) Distributed network management system and method for a vehicle
CN111936366B (zh) 电子控制装置、控制方法
CN114048120A (zh) 一种无人设备多阶段系统测试方法、装置、设备及存储介质
WO2019087728A1 (ja) 電子制御装置
US11845452B2 (en) Electronic control device and parallel processing method
JP6781089B2 (ja) 電子制御装置、電子制御システム、電子制御装置の制御方法
WO2023084581A1 (ja) 電子制御装置及び車両制御システム
US20220315025A1 (en) Vehicle control system, vehicle, and control method
US20230271628A1 (en) Distributed processing of vehicle sensor data
US20170023935A1 (en) Method and Control System
JP2004338630A (ja) 動的再構成デバイスを用いた車両機能担保システム
CN116279537A (zh) 控制系统及车辆
CN113291303A (zh) 车辆用控制装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230201

R150 Certificate of patent or registration of utility model

Ref document number: 7221070

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150