JP6189004B1 - 共用バックアップユニットおよび制御システム - Google Patents

共用バックアップユニットおよび制御システム Download PDF

Info

Publication number
JP6189004B1
JP6189004B1 JP2017528595A JP2017528595A JP6189004B1 JP 6189004 B1 JP6189004 B1 JP 6189004B1 JP 2017528595 A JP2017528595 A JP 2017528595A JP 2017528595 A JP2017528595 A JP 2017528595A JP 6189004 B1 JP6189004 B1 JP 6189004B1
Authority
JP
Japan
Prior art keywords
unit
program
ecu
electronic control
execution
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.)
Expired - Fee Related
Application number
JP2017528595A
Other languages
English (en)
Other versions
JPWO2018138775A1 (ja
Inventor
信仁 宮内
信仁 宮内
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6189004B1 publication Critical patent/JP6189004B1/ja
Publication of JPWO2018138775A1 publication Critical patent/JPWO2018138775A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/143Reconfiguring to eliminate the error with loss of software functionality
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • B60R16/0232Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions
    • 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
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • B60W2050/0292Fail-safe or redundant systems, e.g. limp-home or backup systems
    • 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
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • B60W2050/0297Control Giving priority to different actuators or systems
    • 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
    • B60W50/04Monitoring the functioning of the control system
    • B60W2050/041Built in Test Equipment [BITE]
    • 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
    • B60W50/04Monitoring the functioning of the control system
    • 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
    • B60W50/04Monitoring the functioning of the control system
    • B60W50/045Monitoring control system parameters
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

共用バックアップECU(101)において、診断部(132)は、個別の機能を発揮するために機能によって異なるプログラムを実行する複数のECUの異常を診断する。ロード部(135)は、複数のプログラムをあらかじめ記憶するメモリから、診断部(132)により異常が検知されたECUである異常ユニットが実行するプログラムと同じプログラムをロードする。実行部(131)は、ロード部(135)によりロードされたプログラムを実行することで、異常ユニットの代わりに異常ユニットの機能と同じ機能を発揮する。

Description

本発明は、共用バックアップユニットおよび制御システムに関するものである。
市販されている自動車に搭載されるECUでは、自己診断機能が追加されている。「ECU」は、Electronic Control Unitの略語である。不具合が発生した瞬間のデータは記憶され、修理の際に参考資料とされている。ECUへの入力信号に異常が発生した場合、入力信号をECU内に記憶されている標準値または基準値に切り替えることで、車の走行を可能にして、機能安全の確保が図られている。ECUに異常が発生すると、出力をバックアップICによる固定信号に切り替えることによって、車を走行可能にして、機能安全の確保が図られている。「IC」は、Integrated Circuitの略語である。
昨今、国家的に開発が推進されている自動運転システムでは、事故を防ぐ観点から安全面での設計が非常に重視されている。現在の自動車そのものが、非常に複雑化したシステムとなっている。安全性の確保を図るために、自動車用の国際安全規格であるISO 26262が策定されている。ISO 26262では、機能安全を系統的に管理する枠組みが定められている。自動車のシステム、ハードウェアおよびソフトウェアのレベルにて、製品開発プロセスが規定されている。この枠組みの中で、自動車特有のリスクに基づいた方式で、リスク段階が定められている。ASILにてシステムの構成要素が整理されている。「ASIL」は、Automotive Safety Integrity Levelの略語である。
ASILに基づいた機能分類については、非特許文献1に位置付け、すなわち、相場観の例が紹介されている。例えば、曲がる機能でのアシスト喪失、および、走る機能の駆動力喪失は、ASIL A以上の比較的緩いレベルである。一方、止まる機能の制動機能喪失、および、曲がる機能のステアリングロックは、ASIL C以上の重大レベルに位置付けられている。自動車の各種機能のリスク管理を考慮した設計が要求されている。
特に自動運転システムとして、制御処理の中枢となっているECUの実装では、一部のハードウェア故障が発生しても制御不能とならないように、宇宙ロケットおよび航空機と同様に多重系の仕組みが採用されている。多重系の中の1系統分が故障しても、残る1系統が正常動作可能であれば、ECUは、実行処理を継続できる。このECUは、一般にADAS ECUと呼ばれている。「ADAS」は、Advanced Driver Assistance Systemの略語である。
自動運転システムの多重系の構成例を図15に示す。図中の2つの判断ECU311は、自動運転の経路判定処理を行うECUであり、2重系を構成している。2つの判断ECU311の出力情報は、切替器361により比較される。一致しなかった場合、故障として判定されて、故障している判断ECU311がCAN711から切り離される。「CAN」は、Controller Area Networkの略語である。図中の3つの制御ECU211は、エンジンおよびハンドルの制御を行うECUであり、3重系を構成している。3つの制御ECU211の出力情報は、切替器261により比較される。一致しなかった場合、多数決で少数だった制御ECU211が故障として判定されてCAN711から切り離される。
自動運転システム以外の用途でも、自動車は数多くのECUを搭載するようになってきている。搭載されるECUの数も近年、顕著な増加傾向にある。例えば、環境対策の排出ガス削減および低燃費化のためのエンジン制御、事故対応の高度安全機能のためのエアバッグ制御、歩行者検知システムおよびブレーキアシスト機能、ならびに、ドライバの利便性のためのETC(登録商標)およびカーナビゲーションシステム等、多数の新しいECUが次々に追加されてきている。「ETC」は、Electronic Toll Collection Systemの略語である。
重要な機能をECUが受け持つようになってきている。しかし、故障対応のために単純に多数のECU系統を多重化していくと、ハードウェアコストの大幅な増加が避けられなくなる。
以下に、多重系の事例として公開されているウェブサイト情報を示す。
非特許文献2に記載されている技術では、基本的なサブシステムが多重系にされ、片系が故障したら別の系が補完する機能が実装されている。この技術におけるECUは、万が一故障した場合でも、必ず安全な方向に処理するフェイルセーフ機構を備えている。
非特許文献3では、自動車ステアバイワイヤ制御の3重系ECUについて紹介されている。3台のECUによる多数決に基づく、縮退と継続とを含むフェールオペレーショナルの安全アーキテクチャとなっている。
非特許文献4には、センサまたは走行制御ECU内のマイクロコンピュータに故障または暴走が発生した場合、異常を検出し、自動的に故障系を切り離し、異常動作を防止できるECUを開発することが記載されている。
非特許文献5に記載されている技術では、ECUがA系CPUとB系CPUとから構成されている。「CPU」は、Central Processing Unitの略語である。A系CPUおよびB系CPUは、同一の入力情報をもとに同一のプログラムによって演算を行う。演算結果は、それぞれの系のメモリに格納される。メモリに格納されている演算結果は、FS比較回路にて照査されている。「FS」は、Fail Safeの略語である。一致状態が継続中、FSリレーはオン状態となり、出力状態である。不一致が発生した場合、FSリレーはオフ状態となり、出力遮断状態となる。
以下に、多重系を拡張的に採用している特許文献を示す。
特許文献1には、エンジンECUの多重化に関する技術が記載されている。この技術では、単純にエンジンECUが多重化されているだけでなく、エンジンECUが互いに役割を分担し、故障時に動的に役割を変える。
特許文献2に記載されている技術では、複数の実行系ノードに対して、それぞれ仕様が異なる複数の待機系ノードが用意される。1つの実行系ノードに障害が発生した場合、障害の要因を取り除ける待機系ノードが選択され、選択された待機系ノードがデータ処理を引き継ぐ。
特許文献3に記載されている技術では、同一ネットワーク上の2重系構成の計算機の一方が他方を監視し、障害発生時に他方を電源断にしてネットワークから切り離す。
特開2016−71771号公報 特開2007−207219号公報 特開2013−232142号公報
"車載システム開発時に使用するソフトウェアツールをISO 26262の要求事項に準拠させるための作業項目の抽出と考察"、[online]、2013年2月、独立行政法人情報処理推進機構、[2017年1月10日検索]、インターネット〈URL:http://www.ipa.go.jp/files/000026859.pdf〉 "自動運転"、[online]、一般財団法人日本自動車研究所、[2017年1月10日検索]、インターネット〈URL:http://www.jari.or.jp/tabid/111/Default.aspx〉 金子 貴信、中村 英夫、"高度運転支援システムにおける安全アーキテクチャの調査"、[online]、2015年6月、JARI Research Journal、[2017年1月10日検索]、インターネット〈URL:http://www.jari.or.jp/Portals/0/resource/JRJ_q/JRJ20150607_q_.pdf〉 青木 啓二、"自動運転技術の開発動向と実用化に向けた課題"、[online]、2014年1月24日、ISITカーエレクトロニクス研究会、[2017年1月10日検索]、インターネット〈URL:http://www.car−electronics.jp/files/2013/11/CEW14_aoki.pdf〉 "自動運転・隊列走行技術の研究開発"、[online]、国立研究開発法人新エネルギー・産業技術総合開発機構、[2017年1月10日検索]、インターネット〈URL:http://www.nedo.go.jp/content/100095912.pdf〉
これまでの自動車システムでは、故障時対応のために重要なECU系統を多重化する設計がなされてきた。しかし、ECUの数は、近年、顕著な増加傾向にある。そのため、多数のECU系統を多重化すると、ハードウェアコストの大幅な増加が避けられなくなる。
具体的なハードウェアとしては、ECUのマイクロコンピュータだけでなく、搭載基板、ネットワークインタフェース等の周辺機器、ネットワークケーブル、筐体等が増加する。配線も増加し、配線設置、製作および保守の工数が増大する。これは、自動車の価格上昇をもたらし、利用者の負担増加につながる。
搭載電子機器の数が増加することで、消費される電力も増加することになる。これは、搭載されるバッテリ容量を大きくする必要性にもつながる。
本発明は、少ないハードウェアでECUの実質的な多重化を可能にすることを目的とする。
本発明の一態様に係る共用バックアップユニットは、
個別の機能を発揮するために機能によって異なるプログラムを実行する複数の電子制御ユニットの異常を診断する診断部と、
複数のプログラムをあらかじめ記憶するメモリから、前記診断部により異常が検知された電子制御ユニットである異常ユニットが実行するプログラムと同じプログラムをロードするロード部と、
前記ロード部によりロードされたプログラムを実行することで、前記異常ユニットの代わりに前記異常ユニットの機能と同じ機能を発揮する実行部とを備える。
本発明では、共用バックアップユニットが、各ECUを動的に代替できる。そのため、1つ1つのECUに対してバックアップユニットを個別に用意しなくても、各ECUの実質的な多重化が可能になる。すなわち、本発明によれば、少ないハードウェアでECUの実質的な多重化が可能になる。
実施の形態1に係る制御システムの構成を示すブロック図。 実施の形態1に係る制御システムのハードウェア構成を示すブロック図。 実施の形態1におけるマルチタスクの周期処理の例を示す図。 実施の形態1に係る共用バックアップECUの構成を示すブロック図。 実施の形態1に係る共用バックアップECUへの処理の引き継ぎ例を示す図。 実施の形態1に係る共用バックアップECU内の管理テーブルの例を示す表。 実施の形態1に係る共用バックアップECUの動作を示すフローチャート。 実施の形態1に係る共用バックアップECUの退避対象SWC選定処理の手順を示すフローチャート。 実施の形態2に係る共用バックアップECU内の管理テーブルの例を示す表。 実施の形態2に係る共用バックアップECUの退避対象SWC選定処理の手順を示すフローチャート。 実施の形態3に係る共用バックアップECUの構成を示すブロック図。 実施の形態3に係る共用バックアップECUへの処理の引き継ぎ例を示す図。 実施の形態3におけるアクセルペダルおよびエンジンスロットルの出力制御曲線の例を示すグラフ。 実施の形態3に係る共用バックアップECUの動作を示すフローチャート。 従来の自動運転システムの多重系の構成例を示すブロック図。
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、2つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、1つの実施の形態または2つ以上の実施の形態の組み合わせが部分的に実施されても構わない。
実施の形態1.
本実施の形態について、図1から図8を用いて説明する。
***構成の説明***
図1を参照して、本実施の形態に係る制御システム100の構成を説明する。
制御システム100は、個別の機能を発揮するために、機能によって異なるプログラムを実行する複数の電子制御ユニットと、これら複数の電子制御ユニットのうち、任意の電子制御ユニットを代替可能な共用バックアップユニットとを備える。
本実施の形態において、制御システム100は、自動運転システムに相当する。
制御システム100は、複数の電子制御ユニットとして、制御ECU201および判断ECU301を備える。判断ECU301は、運転経路を判断する機能を発揮するために、運転経路の判断処理を行うプログラムである判断SWC302を実行する電子制御ユニットである。「SWC」は、Software Componentの略語である。制御ECU201は、エンジンまたはハンドルを制御する機能を発揮するために、エンジンまたはハンドルの制御処理を行うプログラムである制御SWC202を実行する電子制御ユニットである。
制御システム100は、共用バックアップユニットとして、共用バックアップECU101を備える。共用バックアップECU101は、制御ECU201および判断ECU301のどちらかが故障した際にバックアップとして機能する共用バックアップユニットである。
実際のケースでは、複数のECUの故障に備えて、システム全体で複数の共用バックアップECU101が用意されることになる。第1の共用バックアップECU101自体が故障した際にも、第2および第3の共用バックアップECU101への切り替えができるようになる。すなわち、制御システム100は、少なくとも1つの共用バックアップユニットを備えていればよいが、本実施の形態では、複数の共用バックアップユニットとして、図1に示した共用バックアップECU101だけでなく、1つ以上の他の共用バックアップECU101を備える。
共用バックアップECU101は、切替器144を介してCAN701に接続されている。切替器144は、共用バックアップECU101をCAN701から切り離す機能を有する。
制御ECU201は、切替器251を介してCAN701に接続されている。切替器251は、制御ECU201をCAN701から切り離す機能を有する。制御ECU201の故障時には、切替器251を用いて、制御ECU201がCAN701から切り離される。
判断ECU301は、切替器351を介してCAN701に接続されている。切替器351は、判断ECU301をCAN701から切り離す機能を有する。判断ECU301の故障時には、切替器351を用いて、判断ECU301がCAN701から切り離される。
なお、CAN701は、LIN、FlexRay(登録商標)またはEthernet(登録商標)といった他の種類のネットワークに置き換えられてもよい。「LIN」は、Local Interconnect Networkの略語である。CAN701に他の種類のネットワークが複雑に結合されてくる場合もある。複数のCAN701のネットワーク系統がゲートウェイまたはネットワーク系統切り替えスイッチを介して相互に接続される場合もある。ネットワーク系統例としては、エンジンおよびステアリング制御機器を含むパワートレイン系、カーナビゲーションおよびカーオーディオを含むマルチメディア系、パワーウィンドウおよび電動シートを含むボディ系、ならびに、各種センサおよびアクチュエータを含むスイッチ/センサ系がある。
本実施の形態では、1つ1つのECUを多重化せずに、故障時に利用できる共用バックアップECU101をこれらのECUにて共用することで、ハードウェアコストの増加を低減することができる。
共用バックアップECU101は、切替機能102、解析機能103、ロード機能104および診断機能105を有する。切替機能102は、バックアップ対象のECUを切り替える機能である。解析機能103は、CANメッセージを解析する機能である。ロード機能104は、SWCの圧縮イメージを解凍してロードする機能である。診断機能105は、外部のECUの異常を診断する機能である。共用バックアップECU101は、これらの機能によって、メモリ402上にバックアップ対象ECU上に搭載する必要最小限のSWC群を起動して、バックアップ処理を実行する。具体的には、共用バックアップECU101は、制御ECU201を代替する際には制御SWC111を起動する。共用バックアップECU101は、判断ECU301を代替する際には判断SWC121を起動する。故障発生時にすぐに継続処理用のSWCが実行できるように、共用バックアップECU101はOS起動後待機する。「OS」は、Operating Systemの略語である。
共用バックアップECU101の使用時には、故障ECUのネットワークインタフェースが切断されるか、切り替えられるか、あるいは、故障ECUの電源が切られる。
バックアップ時の継続処理に必要な故障ECUの状態および学習の情報を正常動作時にあらかじめ用意しておく必要がある。これには任意の方法を用いてよいが、本実施の形態では、そのような情報を故障ECUから離れた独立したメモリ領域に退避しておく方法が用いられる。具体的には、制御ECU201は、制御SWC202の処理の引き継ぎに必要な情報をメモリ502から読み取る。制御ECU201は、読み取った情報を送信機能204によってCAN701経由で共用バックアップECU101に送信する。共用バックアップECU101は、制御ECU201から送信された情報を受信する。共用バックアップECU101は、受信した情報をメモリ402に記憶する。同様に、判断ECU301は、判断SWC302の処理の引き継ぎに必要な情報をメモリ602から読み取る。判断ECU301は、読み取った情報を送信機能304によってCAN701経由で共用バックアップECU101に送信する。共用バックアップECU101は、判断ECU301から送信された情報を受信する。共用バックアップECU101は、受信した情報をメモリ402に記憶する。
本実施の形態では、監視対象ECUからの故障検知信号を共用バックアップECU101が受信する仕組みが用意される。具体的には、エラー検知信号を受信するもの、ハートビート信号を受信するもの、自己診断回路等の情報を受信するものがある。
本実施の形態では、性能が比較的劣る共用バックアップECU101が、故障ECUのソフトウェアをすべて実行するのではなく、継続運転に必須のソフトウェアを優先的に実行する。そのために、共用バックアップECU101は、ASILに基づいてSWCを管理し、実行すべきSWCを選択する。本実施の形態によれば、多数のECUの多重化に匹敵する共用バックアップユニットを用意しなくて済む。
本実施の形態では、数多くのECUのSWCを共用バックアップECU101で限られたメモリ容量内で選択的に起動できるように、共用バックアップECU101は、メモリ展開イメージを圧縮して保持し、必要時に解凍してSWCの引き継ぎを行う。具体的には、共用バックアップECU101は、制御ECU201を代替する際には制御SWC111の圧縮イメージ114を解凍して制御SWC111を起動する。共用バックアップECU101は、判断ECU301を代替する際には判断SWC121の圧縮イメージ124を解凍して判断SWC121を起動する。
図2を参照して、制御システム100のハードウェア構成を説明する。
共用バックアップECU101は、マイクロコンピュータである。共用バックアップECU101は、プロセッサ401を備えるとともに、メモリ402およびCANインタフェース403といった他のハードウェアを備える。プロセッサ401は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ401は、各種処理を行うICである。プロセッサ401は、具体的には、CPUである。
メモリ402は、例えば、フラッシュメモリまたはRAMである。「RAM」は、Random Access Memoryの略語である。
CANインタフェース403は、データを受信するレシーバおよびデータを送信するトランスミッタを含む。CANインタフェース403は、例えば、通信チップまたはNICである。「NIC」は、Network Interface Cardの略語である。CANインタフェース403は、USBインタフェースに置き換えられてもよい。「USB」は、Universal Serial Busの略語である。
共用バックアップECU101は、プロセッサ401を代替する複数のプロセッサを備えていてもよい。それぞれのプロセッサは、プロセッサ401と同じように、各種処理を行うICである。
切替器144は、FPGA411を備える。「FPGA」は、Field−Programmable Gate Arrayの略語である。
制御ECU201は、マイクロコンピュータである。制御ECU201は、プロセッサ501を備えるとともに、メモリ502およびCANインタフェース503といった他のハードウェアを備える。プロセッサ501は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ501、メモリ502およびCANインタフェース503については、共用バックアップECU101のプロセッサ401、メモリ402およびCANインタフェース403と同様である。
メモリ502には、制御SWC202が記憶されている。制御SWC202は、プロセッサ501に読み込まれ、プロセッサ501によって実行される。
切替器251は、FPGA511を備える。
判断ECU301は、マイクロコンピュータである。判断ECU301は、プロセッサ601を備えるとともに、メモリ602およびCANインタフェース603といった他のハードウェアを備える。プロセッサ601は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ601、メモリ602およびCANインタフェース603については、共用バックアップECU101のプロセッサ401、メモリ402およびCANインタフェース403と同様である。
メモリ602には、判断SWC302が記憶されている。判断SWC302は、プロセッサ601に読み込まれ、プロセッサ601によって実行される。
切替器351は、FPGA611を備える。
図3を参照して、ECUでの組込ソフトウェアの一般的な実装形態を説明しておく。本実施の形態では、この実装形態がバックアップ対象のECUにも、共用バックアップECU101にも適用される。図3において、黒塗りの矢印はタスク実行中の状態、白塗りの矢印はタスク実行待ちの状態を示している。
基本的に、組込OS上のアプリケーションソフトウェアは、図3に示すようにマルチタスク環境下で実行される場合が多い。故障時に処理が中断しても、個別のタスク変数、共有変数またはグローバル変数、および、アプリケーションの挙動の学習記憶情報等の現行情報をメモリ402に蓄積しておけば、蓄積した情報を再利用することで共用バックアップECU101での継続的な処理の実行が可能になる。
なお、アプリケーションソフトウェアの実行周期が数十ミリ秒程度までの比較的短い周期となっていれば、共用バックアップECU101での継続的な処理の実行が容易になる。具体的には、処理開始時点に一揃いの入力用蓄積情報としてまとめて退避しておいた情報を使用することができる。ただし、周期の途中でダウンしたアプリケーションソフトウェアの処理の実行を再開する場合は、その周期の処理を最初からやり直すため、遅延が発生する。
周期ごとの入力用蓄積情報の退避途中にアプリケーションソフトウェアがダウンする可能性もあるため、退避完了フラグが用意される。退避が完了したかどうかをこのフラグのオンオフで判定できる。入力用蓄積情報の退避領域を2つ保有しておくと、1つの領域の退避書き込みが未完の場合でも、もう1つの領域にある過去の情報を使用することで、1周期分の遅延のみで影響を留めることができる。
図4を参照して、本実施の形態に係る共用バックアップECU101の構成を説明する。
共用バックアップECU101は、機能要素として、実行部131、診断部132、生成部133、管理テーブル134、ロード部135、解凍部136、第1記憶部137、第2記憶部139、解析部140および通信部141を備える。実行部131は、第1処理部142および第2処理部143を備える。実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能は、ソフトウェアにより実現される。管理テーブル134、第1記憶部137および第2記憶部139は、メモリ402により実現される。通信部141は、CANインタフェース403により実現される。
メモリ402には、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能を実現するプログラムである共用バックアッププログラムが記憶されている。共用バックアッププログラムは、プロセッサ401に読み込まれ、プロセッサ401によって実行される。メモリ402には、OSも記憶されている。プロセッサ401は、OSを実行しながら、共用バックアッププログラムを実行する。なお、共用バックアッププログラムの一部または全部がOSに組み込まれていてもよい。
実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の処理の結果を示す情報、データ、信号値および変数値は、メモリ402、または、プロセッサ401内のレジスタまたはキャッシュメモリに記憶される。
共用バックアッププログラムは、磁気ディスクおよび光ディスクといった可搬記録媒体に記憶されてもよい。
***動作の説明***
図1を参照して、本実施の形態に係る共用バックアップECU101の動作の概要を説明する。共用バックアップECU101の動作は、本実施の形態に係るバックアップ方法に相当する。
共用バックアップECU101は、CAN701を経由して届いたCANメッセージを解析機能103で調べて、判断ECU301または制御ECU201の故障を診断機能105で検知する。別の方式として、判断ECU301または制御ECU201が自己診断機能を備えて故障発生時のCANメッセージを共用バックアップECU101に送信する方式も実装可能である。
共用バックアップECU101は、故障を検知すると、切替機能102によって管理テーブル134を参照し、退避すべきSWCを選定し、該当するSWCの圧縮イメージを取り出す。具体的には、共用バックアップECU101は、判断SWC121の圧縮イメージ124、あるいは、制御SWC111の圧縮イメージ114を取り出す。共用バックアップECU101は、ロード機能104により、圧縮イメージを実行メモリ上に展開し、該当するSWCを実行する。具体的には、共用バックアップECU101は、判断SWC121あるいは制御SWC11を実行する。
共用バックアップECU101は、故障した判断ECU301あるいは制御ECU201が異常なCANメッセージの送受信処理を行わないように、切替器351あるいは切替器251に対して切断命令のCANメッセージを送信する。
図4を参照して、共用バックアップECU101の動作の詳細を説明する。
通信部141は、CAN701と接続してCANメッセージの送受信処理を行う。通信部141は、受信したCANメッセージを第1処理部142および解析部140に渡す。第1処理部142は、SWCが起動および実行されたときの受信CANメッセージの処理を行う。第2処理部143は、SWCが起動および実行されたときの送信CANメッセージを通信部141に渡す。生成部133は、切替器144に対する送信CANメッセージを通信部141に渡す。
解析部140は、診断対象のECUに関する情報を診断部132に渡す。診断部132は、ECUが故障しているかどうかを判定する。診断部132は、故障を検知すると、実行部131および生成部133に故障検知情報を伝達する。解析部140は、診断対象のECUの通常動作時のCANメッセージ情報を第2記憶部139に伝達し、保存しておく。
実行部131は、診断部132により故障が報告されると、管理テーブル134を参照して、退避が必要なSWCを選定する。実行部131は、第1記憶部137から必要なメモリイメージを取り込み、解凍部136により解凍する。実行部131は、ロード部135にてメモリ402上に当該メモリイメージを展開する。そして、実行部131は、当該SWCを起動および実行する。
このように、本実施の形態において、診断部132は、複数のECUの異常を診断する。ロード部135は、複数のプログラムをあらかじめ記憶するメモリ402から、診断部132により異常が検知されたECUである異常ユニットが実行するプログラムと同じプログラムをロードする。実行部131は、ロード部135によりロードされたプログラムを実行することで、異常ユニットの代わりに異常ユニットの機能と同じ機能を発揮する。
具体例として、診断部132が、制御ECU201の異常を検知したとする。この場合、ロード部135は、メモリ402から、制御ECU201が実行する制御SWC202と同じプログラムである制御SWC111をロードする。実行部131は、ロード部135によりロードされた制御SWC111を実行することで、制御ECU201の代わりにエンジンまたはハンドルを制御する機能を発揮する。
通信部141は、複数のECUがプログラムの実行中に使用する状態変数を示す個別のメッセージを複数のECUから受信する。実行部131は、診断部132により異常が検知される前に通信部141により異常ユニットから受信されたメッセージに基づいて、ロード部135によりロードされたプログラムを実行する際に使用する状態変数を設定する。
具体例として、診断部132が、制御ECU201の異常を検知したとする。この場合、実行部131は、診断部132により異常が検知される前に通信部141により制御ECU201から受信されたCANメッセージに示された制御SWC202の状態変数に合わせて、ロード部135によりロードされた制御SWC111の状態変数を設定する。
なお、管理テーブル134が用意されている点について、SWCの選定処理そのものは、プログラムのif文等の分岐処理にて実現可能であるため、必ずしもテーブルが必須というわけではない。しかし、SWCの設定処理の実装および保守が容易になるため、テーブルが推奨される。具体的に、SWCがどのように選定されるかを図5の例にて説明する。
図5の例では、通常は動作しているECUとして、高性能のECU1、高性能のECU2、および、中性能のECU3の3個がある。ECU1およびECU2は、それぞれ制御ECU201に該当する。ECU3は、判断ECU301に該当する。ECU1では、ASIL D対応OS805上で、制御SWC202として、ASIL D SWC11、ASIL D SWC12およびASIL D SWC13の3つが動作している。ECU2では、ASIL C対応OS815上で、制御SWC202として、ASIL C SWC21、ASIL B SWC22およびASIL A SWC23の3つが動作している。ECU3では、ASIL B対応OS825上で、判断SWC302として、ASIL B SWC31、ASIL A SWC32およびQM SWC33の3つが動作している。
これに対して、共用バックアップECU101としては、低性能のBECU1およびBECU2の2個がある。BECU1では、ASIL D対応OS834が実行中である。BECU2では、ASIL D対応OS844が実行中である。
図5の例では、完全にECUが故障したときではなく、温度上昇によりECU1、ECU2およびECU3が故障する可能性が生じたときに、共用バックアップECU101への退避が行われる。退避の対象として選定されるSWCは、ASILがC以上のものである。ASILがB以下のものは動作しなくても最悪ケースは避けられることが前提となっている。
温度上昇によりECU1、ECU2およびECU3が故障する可能性が生じたか、あるいは、実際にECU1、ECU2およびECU3が故障したとする。この場合、ECU1内のASIL D SWC11およびASIL D SWC12がBECU1に退避され、ECU1内のASIL D SWC13と、ECU2内のASIL C SWC21とがBECU2に退避される。その結果、BECU1では、ASIL D対応OS834上で、制御SWC111として、ASIL D SWC41およびASIL D SWC42が実行される。BECU2では、ASIL D対応OS844上で、制御SWC111として、ASIL D SWC51およびASIL C SWC52が実行される。その他のASILがB以下のSWCは退避されない。
図5の例にて使用される管理テーブル134の例を図6に示す。
通常は動作しているECU1、ECU2およびECU3について、ID別に、バックアップ対象のSWCのIDと退避先の共用バックアップECU101のIDとが登録されている。「ID」は、Identifierの略語である。バックアップ対象の各SWCのIDには、ASIL情報が付記されている。退避先の共用バックアップECU101のIDについては、共用バックアップECU101が2個あるため、管理テーブル134のエントリも2個割り当てられている。重要なASILのSWCには、必ず共用バックアップECU101が退避先として割り当てられる。低レベルのASILのSWCに割り当てられる退避先は1個あるいは0個となる。
前述した故障の例では、バックアップ対象のSWCのうち、SWC11およびSWC13がBECU1に割り当てられ、SWC13およびSWC21がBECU2に割り当てられる。割当規則として、共用バックアップECU101で動作させるSWCはそれぞれ2つまでとしている。故障時に退避先の共用バックアップECU101が割り当てられ、退避処理が完了すると、管理テーブル134内の退避先の共用バックアップECU101の使用フラグが立てられる。これにより、次にECUが故障したときに、同じ共用バックアップECU101ではなく、空いている共用バックアップECU101を選定できる。
このように、本実施の形態において、実行部131は、異常ユニットが2つ以上のプログラムを実行するECUである場合、プログラムごとにあらかじめ定義された優先度によって、ロード部135にロードさせるプログラムを選定する。実行部131は、診断部132により2つ以上のECUの異常が検知された場合、ECUとプログラムとの組み合わせごとにあらかじめ定義された優先度によって、ロード部135にロードさせるプログラムを選定する。優先度の定義としては、任意の定義が用いられてよいが、前述したように、本実施の形態ではASILが用いられている。
図7を参照して、共用バックアップECU101内にて動作する共用バックアッププログラムの処理手順を説明する。自動車では、一度エンジンが始動され、電源がオンにされると、共用バックアップECU101のバックアップ対応処理は、エンジン停止による電源断まで継続して実行される。
電源オンにより、バックアップ対応処理が開始されると、ステップS11において、内部情報の初期化処理が実行される。通信部141は、CAN701上のCANメッセージの取得を開始する。
ステップS12において、解析部140は、退避元となる各ECUの現行情報を取り込み、第2記憶部139に保存する。退避元となる各ECUに、常時、現行情報を共用バックアップECU101へ送信してもらうことになるが、メッセージサイズを低減するために、現行情報そのものを圧縮して送信してもらい、共用バックアップECU101で解凍することも可能である。
ステップS13において、診断部132は、解析部140によるCANメッセージの解析の結果から、いずれかのECUで故障が発生したかどうかを確認する。故障が発生していなければ、再びステップS12の処理から、繰り返しループ処理が行われる。診断部132は、受信したCANメッセージの解析の結果から故障の発生を検出するだけではなく、定期的に受信するはずのCANメッセージが到着していない場合も故障の発生として検出する。
故障が発生している場合には、ステップS14において、実行部131は、この共用バックアップECU101が退避先に該当するかどうかを確認する。退避先に該当しなければ、またステップS12の処理から、繰り返しループ処理が行われる。
この共用バックアップECU101が退避先に該当している場合には、ステップS15において、実行部131は、管理テーブル134を参照して退避対象SWCを選定する退避対象SWC選定処理を実行する。ここで、退避対象SWC選定処理の手順を図8に示す。ステップS31において、実行部131は、バックアップ対象のSWCのIDを管理テーブル134から取得する。ステップS32において、実行部131は、バックアップ対象のSWCのIDのうち、ASILが必要レベル以上のものだけを選定する。ステップS33において、実行部131は、選定したバックアップ対象のSWCのIDについて、管理テーブル134内の使用フラグをオンにする。
なお、管理テーブル134の使用フラグの更新は、本来は、他の共用バックアップECU101の管理テーブル134へもCANメッセージ等で伝達する必要があるが、他の共用バックアップECU101も同様に故障検知できていることから、伝達は不要で、更新対応は可能である。
ステップS16において、ロード部135は、第1記憶部137から、ステップS15で選定されたSWCのメモリイメージを取得する。ロード部135は、取得したメモリイメージを解凍部136により解凍する。ロード部135は、解凍したメモリイメージをメモリ402上に展開する。
ステップS17において、実行部131は、退避元ECUに接続された切替器を操作して退避元ECUをCAN701から切り離す。具体的には、実行部131は、退避元ECUが制御ECU201であれば、切替器251に対して、切り離しを指示するCANメッセージを通信部141により送信する。実行部131は、退避元ECUが判断ECU301であれば、切替器351に対して、切り離しを指示するCANメッセージを通信部141により送信する。
ステップS18において、実行部131は、ステップS16で展開されたSWCの処理を起動する。このSWCの処理は、バックアップ対応処理のメインループ処理とは独立した別のタスクとして起動される。
展開されたSWCの処理が開始されると、ステップS21において、実行部131は、展開されたSWCのメインループ処理を実行する。
***実施の形態の効果の説明***
本実施の形態では、共用バックアップECU101が、各ECUを動的に代替できる。そのため、1つ1つのECUに対してバックアップユニットを個別に用意しなくても、各ECUの実質的な多重化が可能になる。すなわち、本実施の形態によれば、少ないハードウェアでECUの実質的な多重化が可能になる。
本実施の形態では、共用バックアップECU101が、実行部131、診断部132、ロード部135、第1記憶部137、第2記憶部139、解析部140および通信部141を備える。通信部141は、ネットワークと接続してメッセージの送受信処理を行う。解析部140は、受信されたメッセージを解析する。診断部132は、メッセージの解析結果から他のECUが故障しているかどうかを判定する。実行部131の第1処理部142は、他の複数のECUのうちどれかの故障が検知された際にバックアップのための代替ソフトウェアコンポーネントを必ずしもすべてではなく継続実行のための必須性レベルから個別に選定して起動する。実行部131の第2処理部143は、故障したECUが接続される切替器に送信される切断指示メッセージを生成して通信部141に渡す。第1記憶部137は、他の複数のECUの代替ソフトウェアコンポーネントの実行メモリイメージを記憶しておく。ロード部135は、実行メモリイメージを実行メモリ上にロードする。
本実施の形態によれば、ECUを多重系にする場合の増加するECUの総数を、バックアップECUの共用化により低減できる。その結果、ハードウェア生産コストおよび消費電力の増大を抑制できる。
本実施の形態では、バックアップ対象のSWCとして、継続運転に必須の重要なものを選定して、共用バックアップECU101上で限定して動作させることができる。そのため、バックアップECUとして必ずしも高性能のECUを採用しなくて済むことから、ハードウェア生産コストおよび消費電力の増大をさらに抑制できる。
ECUを多重系にした場合、2重系であれば、2個のECUの故障で処理が破綻する。3重系であれば、3個のECUの故障で処理が破綻する。しかし、バックアップECUを共用化することで、数多くのバックアップECUを相互で利用することができる。そのため、固定的な多重系ECUよりも連続運転の耐久性が向上する。
ECUを多重系にした場合、ハードウェア構成上、多重にしたECUをまとめて基板上に配置することになる。自動車の局所的な故障により、その多重系ECU基板の温度上昇等での破壊が想定される場合、同時に多重系ECUがすべて破壊される可能性がある。それに比べて、共用バックアップECU101は、離れた基板に分散して配置することが可能であるため、局所的な故障に巻き込まれて全滅することを回避できる。結果として、集中型の多重系ECUの構成よりも、連続運転の耐久性が向上する。
***他の構成***
本実施の形態では、制御システム100は、自動運転システムに相当するが、変形例として、制御システム100は、自動運転システム以外のシステムとして実装されてもよい。特に、制御システム100は、非常に多くのマイクロコンピュータを搭載し、動作処理を電子制御にて行い、ECUの故障への対策が必要であり、多重系の構成が想定される機械装置全般に利用できる。その例として、宇宙ロケット、人工衛星、航空機、電車、船舶、潜水艦、工作機械、工事機械、医用機械およびロボット等がある。
本実施の形態では、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能がソフトウェアにより実現されるが、変形例として、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
専用の電子回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、FPGAまたはASICである。「GA」は、Gate Arrayの略語である。「ASIC」は、Application Specific Integrated Circuitの略語である。
プロセッサ401、メモリ402および専用の電子回路を、総称して「プロセッシングサーキットリ」という。つまり、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能は、プロセッシングサーキットリにより実現される。
共用バックアップECU101の「ECU」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な媒体」に読み替え、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の「部」を「手順」または「処理」に読み替えてもよい。
実施の形態2.
本実施の形態について、主に実施の形態1との差異を、図9および図10を用いて説明する。
実施の形態1では、各ソフトウェアコンポーネントの継続実行の必須度レベルが管理テーブル134に記憶されている。本実施の形態では、この管理テーブル134に各ソフトウェアコンポーネントの実行時のCPU負荷がさらに記憶されている。共用バックアップECU101は、CPU負荷の総容量が上限を超えないように、CPU負荷の算出結果に応じて、複数のECUのソフトウェアコンポーネントから個別のソフトウェアコンポーネントを選定する。
***構成の説明***
本実施の形態に係る制御システム100の構成は、図1および図2に示した実施の形態1のものと同様である。
本実施の形態に係る共用バックアップECU101の構成は、図4に示した実施の形態1のものと同様である。
***動作の説明***
SWCの実行CPU負荷をも合わせて管理する管理テーブル134の例を図9に示す。
図9の例では、図6の例と比べると、新しくCPU負荷レベルの列が加えられている。CPU負荷が退避可能な共用バックアップECU101のCPU負荷容量を超えないようにCPU負荷の積算が可能である。図9の例では、自動運転用の5つのECUが元々備えられている車載機器システムに、3つの共用バックアップECU101が用意されている。自動運転用の5つのECUとしては、道路状況認知の機能を発揮するECU1、周辺状況認知の機能を発揮するECU2、走行パス生成の機能を発揮するECU3、ステアリング制御の機能を発揮するECU4、および、エンジン制御の機能を発揮するECU5が用意されている。これらのECUの各SWCが退避先の共用バックアップECU101へ振り分けられている。3つの共用バックアップECU101としては、BECU1、BECU2およびBECU3がある。BECU1、BECU2およびBECU3の最大CPU負荷容量は、それぞれ60、40および40であるとする。
CPU負荷の計算の例として、ECU3およびECU4が故障した場合のSWC退避について説明する。ECU3では、SWC31、SWC32およびSWC33が実行されている。ECU4では、SWC41、SWC42およびSWC43が実行されている。ASIL CのSWCとASIL DのSWCとが共用バックアップECU101へ退避されるものとする。該当する退避対象SWCは、SWC31、SWC41およびSWC42の3つとなる。SWC31、SWC41およびSWC42のCPU負荷レベルは、それぞれ40、20および10である。
まず、重要なASIL DのSWC31とSWC41との退避について処理が行われる。退避先の共用バックアップECU101の第1候補は、どちらもBECU1である。BECU1の負荷上限は60となっている。SWC31およびSWC41の負荷合計は60である。よって、SWC31およびSWC41の両者ともBECU1に退避できることになる。BECU1にSWC31およびSWC41のそれぞれが退避したことを示すために、SWC31およびSWC41の使用フラグがチェックされる。これ以降、さらなる故障が発生しても、BECU1は満杯状況で、SWCの追加退避はできないことになる。
次に、SWC42の退避について処理が行われる。退避先の共用バックアップECU101の第1候補は、BECU2である。BECU2の負荷上限は40となっている。SWC42の単独負荷は10である。よって、SWC42は問題なくBECU2に退避できることになる。BECU2にSWC42が退避したことを示すために、SWC42の使用フラグがチェックされる。これ以降、さらなる故障が生じても、BECU2の負荷の余裕として30残存していて、SWCの追加退避がその分だけ可能である。
このように、本実施の形態において、実行部131は、異常ユニットが2つ以上のプログラムを実行するECUである場合、プログラムごとにあらかじめ予測されたプロセッサ401の負荷の大きさによって、ロード部135にロードさせるプログラムを選定する。実行部131は、診断部132により2つ以上のECUの異常が検知された場合、ECUとプログラムとの組み合わせごとにあらかじめ予測されたプロセッサ401の負荷の大きさによって、ロード部135にロードさせるプログラムを選定する。
共用バックアップECU101内にて動作する共用バックアッププログラムの処理手順は、ステップS15の退避対象SWC選定処理を除いて、図7に示した実施の形態1のものと同様である。ここで、退避対象SWC選定処理の手順を図10に示す。ステップS41およびステップS42の処理は、それぞれ図8のステップS31およびステップS32の処理と同じである。ステップS43において、実行部131は、ステップS42で選定したバックアップ対象のSWCのIDのうち、現在のCPU負荷状況から退避可能なものだけを選定する。ステップS44において、実行部131は、ステップS43で選定したバックアップ対象のSWCのIDについて、管理テーブル134内の使用フラグをオンにする。
***実施の形態の効果の説明***
実施の形態1では、退避先の共用バックアップECU101上で実行される退避元ECUのSWCの個数があらかじめ規定されている。SWCの実行CPU負荷は、軽いものから重たいものまで多様に存在する。そのため、本実施の形態では、管理テーブル134でも、SWCの実行CPU負荷が管理される。つまり、CPU負荷がCPU性能の上限値内となるように、実行対象のSWCについてCPU負荷が計算されつつ実行対象のSWCが追加される。そのため、効率よく共用バックアップECU101のCPUを活用できることになる。
実施の形態3.
本実施の形態について、主に実施の形態1との差異を、図11から図14を用いて説明する。
実施の形態1では、バックアップのための代替ソフトウェアコンポーネントの実行に必要な現行情報がネットワーク上のメッセージとして他の複数のECUから共用バックアップECU101へ送信され、第2記憶部139に記憶される。本実施の形態では、そのような現行情報がネットワーク上のメッセージとして送信されるのではなく、既存のネットワーク送受信処理で送信されるネットワーク上のメッセージの内容が解析され、解析結果を利用して処理の引き継ぎが行われる。具体的には、共用バックアップECU101は、故障ECUの現行情報を持たない状態で、故障ECUのソフトウェアコンポーネントが故障前に出力していた情報から外挿法により故障ECUのソフトウェアコンポーネントがその後出力するはずであった情報を予測する。
バックアップ時の継続処理に必要な故障ECUの状態および学習の情報を、CANメッセージ等で、共用バックアップECU101の独立したメモリ領域に退避させることは、CAN701の通信帯域を消費することにつながる。そのため、本実施の形態では、共用バックアップECU101は、実行中SWCの状態情報を退避領域に定期的に退避せずに、送信される既存のCANメッセージを回収して外挿法にて出力制御値を予測して継続処理を行う。
***構成の説明***
図11を参照して、本実施の形態に係る共用バックアップECU101の構成を説明する。
共用バックアップECU101は、機能要素として、算出部138をさらに備える。算出部138の機能は、ソフトウェアにより実現される。
***動作の説明***
実施の形態1では、図4に基づいて説明したように、解析部140から診断対象のECUの通常動作時のCANメッセージ情報が第2記憶部139に伝達され、保存される。実施の形態1では、各ECUからSWCの継続実行に必要な内部変数情報がCANメッセージに載せられて、共用バックアップECU101へ送信される。したがって、共用バックアップECU101への退避のためのCANメッセージが追加で送信されることになる。CAN701の通信帯域の消費が増大することになるため、消費量が大きくなりすぎないように、通信負荷の見積りをしておく必要がある。
本実施の形態では、追加のCANメッセージの通信が不要である。基本的に、既存のSWCから送信されているCANメッセージが利用され、共用バックアップECU101内で解析が行われ、退避SWCの出力CANメッセージが生成される際に、外挿法で予測された出力値が算出される。
このように、本実施の形態において、通信部141は、複数のECUがプログラムの実行結果として送信する個別のメッセージをそれら複数のECUから受信する。実行部131は、診断部132により異常が検知される前に通信部141により異常ユニットから受信されたメッセージに基づいて、異常ユニットがプログラムの実行中に使用する状態変数を推定する。実行部131は、推定した状態変数に合わせて、ロード部135によりロードされたプログラムを実行する際に使用する状態変数を設定する。
具体例として、診断部132が、制御ECU201の異常を検知したとする。この場合、実行部131は、診断部132により異常が検知される前に通信部141により制御ECU201から受信されたCANメッセージに示された制御SWC202の出力値から、制御SWC202の状態変数を推定する。実行部131は、推定した状態変数に合わせて、ロード部135によりロードされた制御SWC111の状態変数を設定する。
以下に、具体的な例として、図12に示すような電子制御スロットルシステム150を取り上げる。この電子制御スロットルシステム150は、自動車のアクセルペダルとエンジン153のスロットルとの間を電気的に接続して制御する機構である。アクセルペダルおよびスロットルの出力制御には、基本的な制御パターンがある。そのため、イレギュラーなケースがほとんどなく、計算上の予測が容易である。例えば、図13に示すように、エンジン153の状態として、オーバーベンチュリと呼ばれるものがある。これは、エンジン153が十分な回転数に至らない時点で、スロットルを全開にしても、吸入される空気流の密度が増加することはなく充填効率が悪い状態を指す。このような状態を避けるために、電子制御スロットルシステム150ではスロットルの開度およびエンジン153の回転数等からアクセルを開く際のスロットルの開度を制限するように出力制御値が算出されている。
電子制御スロットルシステム150は、制御システム100と、入力装置となるアクセルペダルセンサ152およびモータセンサ154と、出力装置となるエンジン153とを備える。制御システム100は、制御ECU201として、高性能のECU1を備える。制御システム100は、共用バックアップECU101として、低性能のBECU1を備える。ECU1では、エンジン153の出力を制御する制御SWC202が実行されている。故障時には、BECU1上の、エンジン153の出力を制御する制御SWC111が実行される。外挿法にて予測した出力値を算出する予測SWC157もBECU1上にて実行される。
ECU1の制御SWC202に対するアクセルペダルセンサ152からの入力値Xと、ECU1の制御SWC202に対するモータセンサ154からの入力値Yと、制御SWC202の内部変数情報Sとから、エンジン153への出力値Zを求める算出式fは以下のようになる。
Z=f(X,Y,S)
BECU1では、ECU1の制御SWC202の継続実行に必要な内部変数情報Sが実施の形態1のようなCANメッセージにより提供されず、未知である。外挿法で出力値Zを予測する算出式gは以下のようになる。
Z=g(X,Y)
算出部138は、ECU1の制御SWC202の退避を開始した直後からある一定期間、算出式gを用いてエンジン出力値Zを求める。基本的に、内部変数情報Sは、過去の状態から求められるため、上記の一定期間の後は、内部変数情報Sを新たに推定できるようになり、算出式fでの出力値Zの算出が可能になる。
算出式gとしては、2次曲線または3次曲線等の近似曲線を表す式が使用される。既存の方法を用いて、多項式または微分方程式等により出力値Zを算出することができる。本実施の形態では、算出法そのものは、従来の方法でよいが、退避時の引き継ぎのためにCANメッセージの出力値から引き継ぎ時点の出力値を予測する点が特徴になっている。
図14を参照して、共用バックアップECU101内にて動作する共用バックアッププログラムの処理手順を説明する。
ステップS51の処理は、図7のステップS11の処理と同じである。ステップS53からステップS58の処理は、図7のステップS13からステップS18の処理と同じである。
図7に示した実施の形態1のものとの違いは、主に以下の2点である。
図7のステップS12において、解析部140は、追加のCANメッセージで内部変数情報を含む現行情報を退避元となる各ECUから取得する。この追加のCANメッセージは、共用バックアップECU101宛のメッセージである。一方、ステップS52において、解析部140は、通常のCANメッセージからエンジン153等の機器への出力値を取得する。この通常のCANメッセージは、共用バックアップECU101宛のメッセージではなく、エンジン153等の機器宛のメッセージである。
図7のステップS21において、実行部131は、展開されたSWCのメインループ処理を実行する。このメインループ処理は、退避開始時点にすぐに開始される。一方、本実施の形態では、一定期間、外挿法による出力制御処理が実行され、その後に、展開されたSWCのメインループ処理が開始される。具体的には、ステップS61において、実行部131は、一定期間が経過したかどうかを判定する。一定期間が経過していなければ、ステップS62において、算出部138は、算出式gにより出力値を算出する。実行部131は、算出部138により算出された出力値をエンジン153等の機器へ送信する。一定期間が経過していれば、ステップS62において、実行部131は、展開されたSWCのメインループ処理を実行する。このメインループ処理では、実行部131が、算出式fにより出力値を算出する。実行部131は、算出した出力値をエンジン153等の機器へ送信する。
***実施の形態の効果の説明***
本実施の形態では、バックアップ時に継続処理に必要な故障ECUの状態および学習の情報を、追加のCANメッセージ等で、共有バックアップECU101の独立したメモリ領域に退避するのではなく、元々送信されるCANメッセージが回収されて外挿法にて出力値が予測される。そのため、追加のCANメッセージの通信コストが削減でき、ネットワークの帯域の消費増大を回避できる。
本実施の形態では、元々送信されるCANメッセージを回収して外挿法にて出力制御値を予測して継続処理を行えるようにすることで、バックアップECUが元々存在しないシステム構成にて既存ECUのSWCの改修が不要となる。共用バックアップECU101を追加する開発が外付けで行えるため、開発効率が向上する。
実施の形態4.
本実施の形態について、主に実施の形態1との差異を説明する。
実施の形態1では、共用バックアップECU101の内蔵CPUのコア数が1つである。この場合には、ハイパーバイザ構成を採用しない限り、複数のOSを実行させることができない。ECUのシングルコアのハードウェア性能からも単一のOSの実行が前提となっている。本実施の形態では、共用バックアップECU101として、マルチコアのCPUを内蔵したマイクロコンピュータ、あるいは、マルチプロセッサを内蔵したマイクロコンピュータが採用される。そのため、AUTOSAR(登録商標)およびLinux(登録商標)等の異なるOSを動作させた場合、それぞれに対応したSWCの継続実行が可能になる。
実施の形態5.
本実施の形態について、主に実施の形態1との差異を説明する。
実施の形態1では、共用バックアップECU101が1つのネットワーク系統内で共用されている。図示していないが、本実施の形態では、複数のネットワーク系統がゲートウェイにより接続されている。このゲートウェイの位置には、複数のネットワーク系統で共用できる共用バックアップECU101が配置されている。最も通信速度が速いネットワーク系統上に共用バックアップECU101を配置すると、通信効率が向上する。
実施の形態6.
本実施の形態について、主に実施の形態1との差異を説明する。
一般的に、CANには、数多くのECUが接続されるようになってきており、CAN IDの枯渇が懸念されるようになっている。そこで、本実施の形態では、複数の共用バックアップECU101にCAN IDを個別に割り当てるのではなく、複数の共用バックアップECU101に対して全体で1つのCAN IDが割り当てられる。要するに共用バックアップECU101群は、既存のECU群を監視し、緊急時にバックアップ対応処理を行うため、1つのIDを共用する。バックアップ対応処理が開始されてからは、個々の共用バックアップECU101間での識別を行うために、CAN IDとは異なるローカルなIDがCANメッセージ内にアプリケーション情報として格納される。
このように、本実施の形態において、複数のECUがプログラムの実行結果として送信する個別のメッセージには、ECUによって異なる識別子が送信元アドレスとして含まれる。複数の共用バックアップECU101が実行部131でのプログラムの実行結果として送信する個別のメッセージには、共通の識別子が送信元アドレスとして含まれるとともに、共用バックアップECU101によって異なる識別子が送信データの一部として含まれる。ECUによって異なる識別子、および、共通の識別子としては、任意のアドレス体系のIDが割り当てられてよいが、前述したように、本実施の形態ではCAN IDが割り当てられる。共用バックアップECU101によって異なる識別子としても、任意のアドレス体系のIDが割り当てられてよいが、前述したように、本実施の形態ではCAN IDとは別のローカルなIDが割り当てられる。
実施の形態7.
本実施の形態について、主に実施の形態1との差異を説明する。
実施の形態1では、各種ECUおよび共用バックアップECU101がCAN701等の車両用の有線ネットワークに接続される。しかし、昨今の自動車のECUの劇的な増加に伴い、一般的にCANのネットワークケーブル配線は非常に込み入ったものとなり、自動車製造上もネットワークケーブル配線が各所で困難になってきている。そこで、本実施の形態では、従来と同じネットワーク通信には、従来と同じ有線ネットワークが使用される一方で、故障時の退避処理という限定した用途には、無線ネットワークが使用される。すなわち、必要な退避用通信処理は、無線ネットワークを介して行われる。
具体的な例として、複数の共用バックアップECU101がまとめて1つのボックスに収納される。そのボックスと、基幹CAN上の無線ゲートウェイとの間で無線通信が行われる。このような構成を採用することで、配線を気にせずに、既存の自動車ネットワークシステムの完成品に共用バックアップECU101用ボックスを後付けで設置することができる。
100 制御システム、101 共用バックアップECU、102 切替機能、103 解析機能、104 ロード機能、105 診断機能、111 制御SWC、114 圧縮イメージ、121 判断SWC、124 圧縮イメージ、131 実行部、132 診断部、133 生成部、134 管理テーブル、135 ロード部、136 解凍部、137 第1記憶部、138 算出部、139 第2記憶部、140 解析部、141 通信部、142 第1処理部、143 第2処理部、144 切替器、150 電子制御スロットルシステム、152 アクセルペダルセンサ、153 エンジン、154 モータセンサ、157 予測SWC、201 制御ECU、202 制御SWC、204 送信機能、211 制御ECU、251 切替器、261 切替器、301 判断ECU、302 判断SWC、304 送信機能、311 判断ECU、351 切替器、361 切替器、401 プロセッサ、402 メモリ、403 CANインタフェース、411 FPGA、501 プロセッサ、502 メモリ、503 CANインタフェース、511 FPGA、601 プロセッサ、602 メモリ、603 CANインタフェース、611 FPGA、701 CAN、711 CAN、805 ASIL D対応OS、815 ASIL C対応OS、825 ASIL B対応OS、834 ASIL D対応OS、844 ASIL D対応OS。

Claims (11)

  1. 個別の機能を発揮するために機能によって異なるプログラムを実行する複数の電子制御ユニットの異常を診断する診断部と、
    複数のプログラムをあらかじめ記憶するメモリから、前記診断部により異常が検知された電子制御ユニットである異常ユニットが実行するプログラムと同じプログラムをロードするロード部と、
    前記ロード部によりロードされたプログラムを実行することで、前記異常ユニットの代わりに前記異常ユニットの機能と同じ機能を発揮する実行部と
    を備え
    前記実行部は、前記異常ユニットが2つ以上のプログラムを実行する電子制御ユニットである場合、プログラムごとにあらかじめ予測されたプロセッサの負荷の大きさによって、前記ロード部にロードさせるプログラムを選定する共用バックアップユニット。
  2. 個別の機能を発揮するために機能によって異なるプログラムを実行する複数の電子制御ユニットの異常を診断する診断部と、
    複数のプログラムをあらかじめ記憶するメモリから、前記診断部により異常が検知された電子制御ユニットである異常ユニットが実行するプログラムと同じプログラムをロードするロード部と、
    前記ロード部によりロードされたプログラムを実行することで、前記異常ユニットの代わりに前記異常ユニットの機能と同じ機能を発揮する実行部と
    を備え
    前記実行部は、前記診断部により2つ以上の電子制御ユニットの異常が検知された場合、電子制御ユニットとプログラムとの組み合わせごとにあらかじめ予測されたプロセッサの負荷の大きさによって、前記ロード部にロードさせるプログラムを選定する共用バックアップユニット。
  3. 前記複数の電子制御ユニットがプログラムの実行中に使用する状態変数を示す個別のメッセージを前記複数の電子制御ユニットから受信する通信部をさらに備え、
    前記実行部は、前記診断部により異常が検知される前に前記通信部により前記異常ユニットから受信されたメッセージに基づいて、前記ロード部によりロードされたプログラムを実行する際に使用する状態変数を設定する請求項1または2に記載の共用バックアップユニット。
  4. 前記複数の電子制御ユニットがプログラムの実行結果として送信する個別のメッセージを前記複数の電子制御ユニットから受信する通信部をさらに備え、
    前記実行部は、前記診断部により異常が検知される前に前記通信部により前記異常ユニットから受信されたメッセージに基づいて、前記異常ユニットがプログラムの実行中に使用する状態変数を推定し、推定した状態変数に合わせて、前記ロード部によりロードされたプログラムを実行する際に使用する状態変数を設定する請求項1または2に記載の共用バックアップユニット。
  5. 個別の機能を発揮するために機能によって異なるプログラムを実行する複数の電子制御ユニットの異常を診断する診断部と、
    複数のプログラムをあらかじめ記憶するメモリから、前記診断部により異常が検知された電子制御ユニットである異常ユニットが実行するプログラムと同じプログラムをロードするロード部と、
    前記ロード部によりロードされたプログラムを実行することで、前記異常ユニットの代わりに前記異常ユニットの機能と同じ機能を発揮する実行部と
    前記複数の電子制御ユニットがプログラムの実行結果として送信する個別のメッセージを前記複数の電子制御ユニットから受信する通信部と、
    を備え
    前記実行部は、前記診断部により異常が検知される前に前記通信部により前記異常ユニットから受信されたメッセージに基づいて、前記異常ユニットがプログラムの実行中に使用する状態変数を推定し、推定した状態変数に合わせて、前記ロード部によりロードされたプログラムを実行する際に使用する状態変数を設定する共用バックアップユニット。
  6. 前記実行部は、前記異常ユニットが2つ以上のプログラムを実行する電子制御ユニットである場合、プログラムごとにあらかじめ定義された優先度によって、前記ロード部にロードさせるプログラムを選定する請求項1から5のいずれか1項に記載の共用バックアップユニット。
  7. 前記実行部は、前記診断部により2つ以上の電子制御ユニットの異常が検知された場合、電子制御ユニットとプログラムとの組み合わせごとにあらかじめ定義された優先度によって、前記ロード部にロードさせるプログラムを選定する請求項1から6のいずれか1項に記載の共用バックアップユニット。
  8. 請求項1から7のいずれか1項に記載の共用バックアップユニットと、
    前記複数の電子制御ユニットと
    を備える制御システム。
  9. それぞれ前記共用バックアップユニットである複数の共用バックアップユニットを備え、
    前記複数の電子制御ユニットがプログラムの実行結果として送信する個別のメッセージには、電子制御ユニットによって異なる識別子が送信元アドレスとして含まれ、
    前記複数の共用バックアップユニットが前記実行部でのプログラムの実行結果として送信する個別のメッセージには、共通の識別子が送信元アドレスとして含まれるとともに、共用バックアップユニットによって異なる識別子が送信データの一部として含まれる請求項8に記載の制御システム。
  10. 個別の機能を発揮するために機能によって異なるプログラムを実行する複数の電子制御ユニットと、
    前記複数の電子制御ユニットの異常を診断する診断部と、複数のプログラムをあらかじめ記憶するメモリから、前記診断部により異常が検知された電子制御ユニットである異常ユニットが実行するプログラムと同じプログラムをロードするロード部と、前記ロード部によりロードされたプログラムを実行することで、前記異常ユニットの代わりに前記異常ユニットの機能と同じ機能を発揮する実行部とを備える複数の共用バックアップユニット
    を備え、
    前記複数の電子制御ユニットがプログラムの実行結果として送信する個別のメッセージには、電子制御ユニットによって異なる識別子が送信元アドレスとして含まれ、
    前記複数の共用バックアップユニットが前記実行部でのプログラムの実行結果として送信する個別のメッセージには、共通の識別子が送信元アドレスとして含まれるとともに、共用バックアップユニットによって異なる識別子が送信データの一部として含まれる制御システム
  11. 個別の機能を発揮するために機能によって異なるプログラムをプロセッサにより実行する複数の電子制御ユニットと、
    前記複数の電子制御ユニットの異常を診断する診断部と、複数のプログラムをあらかじめ記憶するメモリから、前記診断部により異常が検知された電子制御ユニットである異常ユニットが実行するプログラムと同じプログラムをロードするロード部と、前記ロード部によりロードされたプログラムを前記複数の電子制御ユニットのプロセッサよりも低性能なプロセッサにより実行することで、前記異常ユニットの代わりに前記異常ユニットの機能と同じ機能を発揮する実行部とを備える複数の共用バックアップユニット
    を備え、
    前記実行部は、前記異常ユニットが2つ以上のプログラムを実行する電子制御ユニットである場合、前記実行部を備える共用バックアップユニットが、プログラムごとにあらかじめ登録された退避先の共用バックアップユニットに該当するかどうかによって、前記ロード部にロードさせるプログラムを選定する制御システム
JP2017528595A 2017-01-24 2017-01-24 共用バックアップユニットおよび制御システム Expired - Fee Related JP6189004B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/002340 WO2018138775A1 (ja) 2017-01-24 2017-01-24 共用バックアップユニットおよび制御システム

Publications (2)

Publication Number Publication Date
JP6189004B1 true JP6189004B1 (ja) 2017-08-30
JPWO2018138775A1 JPWO2018138775A1 (ja) 2019-02-14

Family

ID=59720427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017528595A Expired - Fee Related JP6189004B1 (ja) 2017-01-24 2017-01-24 共用バックアップユニットおよび制御システム

Country Status (5)

Country Link
US (1) US20190340116A1 (ja)
JP (1) JP6189004B1 (ja)
CN (1) CN110214312A (ja)
DE (1) DE112017006451B4 (ja)
WO (1) WO2018138775A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019058640A1 (ja) * 2017-09-22 2019-03-28 株式会社日立製作所 移動体の制御システムおよび移動体の制御方法
WO2019131002A1 (ja) * 2017-12-25 2019-07-04 日立オートモティブシステムズ株式会社 車両制御装置および電子制御システム
WO2019131003A1 (ja) * 2017-12-25 2019-07-04 日立オートモティブシステムズ株式会社 車両制御装置および電子制御システム
WO2019159615A1 (ja) * 2018-02-14 2019-08-22 日立オートモティブシステムズ株式会社 車両監視システム
CN110667599A (zh) * 2018-07-03 2020-01-10 本田技研工业株式会社 控制装置、控制单元、控制方法及存储介质
US11492011B2 (en) * 2017-11-13 2022-11-08 Denso Corporation Autonomous driving control device and method for autonomous driving control of vehicles
US11659037B2 (en) 2019-10-30 2023-05-23 Mitsubishi Electric Corporation Control communication system

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11003153B2 (en) * 2017-11-17 2021-05-11 Intel Corporation Safety operation configuration for computer assisted vehicle
JP7010087B2 (ja) * 2018-03-16 2022-01-26 トヨタ自動車株式会社 プログラム更新管理装置、プログラム更新管理方法、およびプログラム
JP6981357B2 (ja) * 2018-04-25 2021-12-15 株式会社デンソー 車両制御装置
JP6922852B2 (ja) * 2018-06-12 2021-08-18 株式会社デンソー 電子制御装置および電子制御システム
JP7192415B2 (ja) * 2018-11-06 2022-12-20 株式会社オートネットワーク技術研究所 プログラム更新システム及び更新処理プログラム
US11281214B2 (en) 2018-12-19 2022-03-22 Zoox, Inc. Safe system operation using CPU usage information
WO2020132305A1 (en) * 2018-12-19 2020-06-25 Zoox, Inc. Safe system operation using latency determinations and cpu usage determinations
DE102019104948A1 (de) * 2019-02-27 2020-08-27 Zf Active Safety Gmbh Kommunikationssystem und Verfahren zur Kommunikation für ein Kraftfahrzeug
WO2020183954A1 (ja) * 2019-03-13 2020-09-17 日本電気株式会社 車両制御システム、車両の制御方法及び車両の制御プログラムが格納された非一時的なコンピュータ可読媒体
CN111891134B (zh) * 2019-05-06 2022-09-30 北京百度网讯科技有限公司 自动驾驶处理系统和片上系统、监测处理模块的方法
CN113993752B (zh) * 2019-06-27 2023-09-08 三菱电机株式会社 电子控制单元和计算机可读取的记录介质
WO2021002164A1 (en) * 2019-07-02 2021-01-07 Hitachi Automotive Systems, Ltd. Method and control system for operating ecus of vehicles in fails-safe mode
CN113556373B (zh) * 2020-04-26 2023-06-02 华为技术有限公司 一种代理服务方法、装置及系统
JP7496756B2 (ja) * 2020-10-16 2024-06-07 株式会社日立製作所 制御システム及びその制御方法
CN114596716A (zh) * 2020-11-19 2022-06-07 常州江苏大学工程技术研究院 基于云计算平台的悬架道路工况识别系统及控制方法
JP2022114880A (ja) * 2021-01-27 2022-08-08 株式会社オートネットワーク技術研究所 車載装置、及び状態変化検出方法
CN113905101B (zh) * 2021-12-06 2022-02-25 北京数字小鸟科技有限公司 多控制核心备份的视频处理设备
JP2024046295A (ja) * 2022-09-22 2024-04-03 株式会社アドヴィックス 制動制御装置及びソフトウェア更新方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022708A (ja) * 1999-07-05 2001-01-26 Mitsubishi Electric Corp 車両用ネットワークシステム
JP2002221075A (ja) * 2001-01-25 2002-08-09 Denso Corp 車両統合制御におけるフェイルセーフシステム
JP2003115847A (ja) * 2001-10-09 2003-04-18 Denso Corp 制御システム及び冗長系信号処理装置
JP2004318498A (ja) * 2003-04-16 2004-11-11 Toyota Central Res & Dev Lab Inc フェールセーフ装置
JP2006134203A (ja) * 2004-11-09 2006-05-25 Hitachi Ltd 分散制御システム
JP2010285001A (ja) * 2009-06-09 2010-12-24 Toyota Motor Corp 電子制御システム、機能代行方法
JP2011213210A (ja) * 2010-03-31 2011-10-27 Denso Corp 電子制御装置及び制御システム
JP2015082825A (ja) * 2013-10-24 2015-04-27 トヨタ自動車株式会社 通信制御装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4920391B2 (ja) 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
JP5966181B2 (ja) 2012-05-01 2016-08-10 株式会社日立製作所 二重化装置および電源停止方法
JP2016071771A (ja) 2014-10-01 2016-05-09 株式会社デンソー 制御装置及び監視装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022708A (ja) * 1999-07-05 2001-01-26 Mitsubishi Electric Corp 車両用ネットワークシステム
JP2002221075A (ja) * 2001-01-25 2002-08-09 Denso Corp 車両統合制御におけるフェイルセーフシステム
JP2003115847A (ja) * 2001-10-09 2003-04-18 Denso Corp 制御システム及び冗長系信号処理装置
JP2004318498A (ja) * 2003-04-16 2004-11-11 Toyota Central Res & Dev Lab Inc フェールセーフ装置
JP2006134203A (ja) * 2004-11-09 2006-05-25 Hitachi Ltd 分散制御システム
JP2010285001A (ja) * 2009-06-09 2010-12-24 Toyota Motor Corp 電子制御システム、機能代行方法
JP2011213210A (ja) * 2010-03-31 2011-10-27 Denso Corp 電子制御装置及び制御システム
JP2015082825A (ja) * 2013-10-24 2015-04-27 トヨタ自動車株式会社 通信制御装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11192562B2 (en) 2017-09-22 2021-12-07 Hitachi, Ltd. Moving object control system and moving object control method
WO2019058640A1 (ja) * 2017-09-22 2019-03-28 株式会社日立製作所 移動体の制御システムおよび移動体の制御方法
US11492011B2 (en) * 2017-11-13 2022-11-08 Denso Corporation Autonomous driving control device and method for autonomous driving control of vehicles
US11247702B2 (en) 2017-12-25 2022-02-15 Hitachi Astemo, Ltd. Vehicle control device and electronic control system
JPWO2019131002A1 (ja) * 2017-12-25 2020-07-27 日立オートモティブシステムズ株式会社 車両制御装置および電子制御システム
JPWO2019131003A1 (ja) * 2017-12-25 2020-08-20 日立オートモティブシステムズ株式会社 車両制御装置および電子制御システム
US11066080B2 (en) 2017-12-25 2021-07-20 Hitachi Automotive Systems, Ltd. Vehicle control device and electronic control system
WO2019131003A1 (ja) * 2017-12-25 2019-07-04 日立オートモティブシステムズ株式会社 車両制御装置および電子制御システム
WO2019131002A1 (ja) * 2017-12-25 2019-07-04 日立オートモティブシステムズ株式会社 車両制御装置および電子制御システム
WO2019159615A1 (ja) * 2018-02-14 2019-08-22 日立オートモティブシステムズ株式会社 車両監視システム
CN110667599A (zh) * 2018-07-03 2020-01-10 本田技研工业株式会社 控制装置、控制单元、控制方法及存储介质
US11527115B2 (en) 2018-07-03 2022-12-13 Honda Motor Co., Ltd. Control device, control unit, control method, and storage medium
US11659037B2 (en) 2019-10-30 2023-05-23 Mitsubishi Electric Corporation Control communication system

Also Published As

Publication number Publication date
DE112017006451B4 (de) 2020-07-16
WO2018138775A1 (ja) 2018-08-02
DE112017006451T5 (de) 2019-09-12
US20190340116A1 (en) 2019-11-07
JPWO2018138775A1 (ja) 2019-02-14
CN110214312A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
JP6189004B1 (ja) 共用バックアップユニットおよび制御システム
CN112004730B (zh) 车辆控制装置
EP3249534B1 (en) Vehicle control device
JP6723955B2 (ja) 情報処理装置及び異常対処方法
JP2006316638A (ja) メインリレー故障診断方法及び電子制御装置
JP2008305317A (ja) マルチプロセッサシステム及びその制御方法
JP2010285001A (ja) 電子制御システム、機能代行方法
KR101960400B1 (ko) 제동 시스템
WO2021002164A1 (en) Method and control system for operating ecus of vehicles in fails-safe mode
CN110533947A (zh) 交通工具的控制系统、方法、电子设备和计算机存储介质
JP2016060413A (ja) 車両用電子制御装置及び制御方法
CN115826393A (zh) 一种飞控系统的双余度管理方法及装置
JP2009509839A (ja) 技術的装置のための通信システム、とりわけ自動車用の通信システム
WO2019235231A1 (ja) 車載制御装置、制御プログラム及び制御方法
JP2009110529A (ja) 車載プログラムの書き換え制御システム
JP2016055673A (ja) 故障診断装置、および電子制御装置
US20200278897A1 (en) Method and apparatus to provide an improved fail-safe system
CN113147776A (zh) 车辆用热备份故障处理系统、方法及采用其的车辆
WO2020075435A1 (ja) 車両用描画装置
JP6681304B2 (ja) 自動車用制御装置及び自動車用内燃機関制御装置
JP4039291B2 (ja) 車両用制御装置
JP5223512B2 (ja) 車両用異常解析システム、車両用異常解析方法、及び車両用故障解析装置
US20230222050A1 (en) Vehicle control device
CN115348133A (zh) 冗余备份系统的备份控制方法、装置、设备及介质
CN114691225A (zh) 用于车载冗余系统的切换方法、系统、车辆和存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170526

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170526

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170526

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170628

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: 20170704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170801

R150 Certificate of patent or registration of utility model

Ref document number: 6189004

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees