JP2017128308A - 車両用制御システム - Google Patents

車両用制御システム Download PDF

Info

Publication number
JP2017128308A
JP2017128308A JP2016010889A JP2016010889A JP2017128308A JP 2017128308 A JP2017128308 A JP 2017128308A JP 2016010889 A JP2016010889 A JP 2016010889A JP 2016010889 A JP2016010889 A JP 2016010889A JP 2017128308 A JP2017128308 A JP 2017128308A
Authority
JP
Japan
Prior art keywords
program
electronic control
control unit
vehicle
ecu
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
JP2016010889A
Other languages
English (en)
Other versions
JP6504065B2 (ja
Inventor
敏彦 武田
Toshihiko Takeda
敏彦 武田
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2016010889A priority Critical patent/JP6504065B2/ja
Priority to DE102017200286.7A priority patent/DE102017200286A1/de
Publication of JP2017128308A publication Critical patent/JP2017128308A/ja
Application granted granted Critical
Publication of JP6504065B2 publication Critical patent/JP6504065B2/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】第1の電子制御装置及び第2の電子制御装置にそれぞれ設けられたOSプログラムにより、第1の電子制御装置と第2の電子制御装置との連携処理を効率的にサポートすること。【解決手段】マスターECUが保有する第1OSプログラムは、スレーブECUが保有する第2OSプログラムが分担する役割についての情報を取得S100し、その第2OSプログラムが分担する役割を示す情報に基づき、当該第2OSプログラムと協調して動作することができるように、第1OSプログラムの分担する役割を決定S120する。従って、例えば、スレーブECUの能力などに起因して第2OSプログラムの役割分担が変動しても、その役割分担の変動に応じて、第1OSプログラムが、第2OSプログラムと協調して動作することができるように、自動的に、分担する役割を変化させることができる。【選択図】図4

Description

本発明は、車両に搭載された車載機器を制御するために、第1の電子制御装置と第2の電子制御装置とが連携した処理を行う車両用制御システムに関する。
例えば、特許文献1には、階層的に配置された複数の制御ユニットから構成される車載電子機器制御システムについて記載されている。この車載電子機器制御システムは、例えば、リヤデフォッガーとデフロスターとの動作制御に適用される。車載電子機器制御システムは、リヤデフォッガーの基本制御系の制御ユニットECU11と、その上位に位置付けられる自動化拡張機能系の制御ユニットECU21とを有する。また、車載電子機器制御システムは、デフロスターの基本制御系の制御ユニットECU12と、その上位に位置する自動化拡張機能系の制御ユニットECU22とを有する。さらに、車載電子機器制御システムは、リヤデフォッガーの自動化拡張機能系の制御ユニットECU21及びデフロスターの自動化拡張機能系の制御ユニットECU22の上位に位置付けられる、連携制御ユニットECU31を有している。
このような構成において、リヤデフスイッチがオン操作されると、基本制御系の制御ユニットECU11がリヤデフォッガーに通電制御する。このとき、自動化拡張機能系の制御ユニットECU21は、リヤデフォッガーの動作継続時間をタイマー計測し、タイムアップしたときに、リヤデフォッガーをオートオフする自動制御を行う。
また、フロントデフスイッチがオン操作されると、基本制御系の制御ユニットECU21が、エアコンの吹出しモードとして、デフロスターを選択する。そして、自動化拡張機能系の制御ユニットECU22は、外気温センサが検出する外気温と、ユーザによるフロントデフスイッチの操作履歴を記録し、窓曇り条件を累積学習する。自動化拡張機能系の制御ユニットECU22は、次回、検出された外気温が窓曇り条件を充足した場合、フロントデフスイッチが操作されずとも、デフロスターをオートオンする自動制御を行う。
さらに、連携制御ユニットECU31は、リヤデフォッガーとデフロスターとの動作履歴を記録し、連携動作学習を行う。例えば、デフロスターの動作時に、リヤデフォッガーが一定頻度以上で同時に動作する学習結果となっている場合、デフロスターが動作開始したときに、連携制御ユニットECU31は、リヤデフォッガーの自動化拡張機能系の制御ユニットECU21に対し、リヤデフォッガーをオートオンする指令を出力する。
特開2009−56817号公報
上述した特許文献1に記載された車載電子機器制御システムのように、制御システムが複数の電子制御装置(制御ユニット)により構成され、各電子制御装置によって連携した制御が行われることがある。このような連携した制御を行うために、例えば、予め電子制御装置間でやり取りされる信号や処理手順などを厳密に定め、それに応じた連携処理用アプリケーションプログラムを作成したとする。この場合、制御システムが、いわゆる専用品となってしまい、例えば車両のグレードや車種に応じた低機能から高機能までのバリエーションに対応したり、電子制御装置を構成するハードウエアの変更に対応したりすることが困難になってしまう。
そこで、第1の電子制御装置と第2の電子制御装置とが連携した処理を行う場合に、連携処理用アプリケーションの他に、それら連携処理用アプリケーションプログラムを協調して実行させるためのベーシックソフトウエアとしての役割を果たすOSプログラムを、第1及び第2の電子制御装置にそれぞれ設けることが考えられる。
例えば、OSプログラムが、各電子制御装置間の通信データの検証、データの変換、同期メカニズム、リソースの配分等をサポートすることにより、第1及び第2の電子制御装置における連携処理用アプリケーションプログラムは、それぞれの制御機能に特化して作成することができ、制御機能の追加、変更などにも容易に対応可能となる。また、各OSプログラムが、各電子制御装置のハードウエアを抽象化することができるので、この点においても、連携処理用アプリケーションの汎用性を高めることができる。
ただし、第1及び第2の電子制御装置による連携処理をサポートするOSプログラムを、第1及び第2の電子制御装置にそれぞれ設ける場合、それらのOSプログラムは、定められた役割分担の下に協調して動作する必要がある。しかしながら、その役割分担が常に一定であるとすると、例えば、用いられる電子制御装置の能力の相違などに起因して、必ずしもそれぞれの電子制御装置の能力に見合った役割とはならず、連携処理のサポートを効率的に行いえない虞がある。
本発明は、上述した点に鑑みてなされたものであり、第1の電子制御装置及び第2の電子制御装置にそれぞれ設けられたOSプログラムにより、第1の電子制御装置と第2の電子制御装置との連携処理を効率的にサポートすることが可能な車両用制御システムを提供することを目的とする。
上記目的を達成するために、本発明による車両用制御システムは、
車両に搭載された車載機器(31〜33)を制御するために、第1の電子制御装置(40)と第2の電子制御装置(60、70、80)とが連携した処理を行うものであって、
第1の電子制御装置と第2の電子制御装置とは、それぞれ、連携処理を行うための連携処理用アプリケーションプログラム(41a、61a、71a、81a)を有するとともに、それら連携処理用アプリケーションプログラムを協調して実行させるためのベーシックソフトウエアとしての役割を果たす、所定の役割分担の下に協調して動作する第1OSプログラム(41b)と第2OSプログラム(61b、71b、81b)とをそれぞれ有しており、
第2の電子制御装置が保有する第2OSプログラムは、分担する役割が異なる複数の中から選定されたものであり、
第1の電子制御装置が保有する第1OSプログラムは、分担する役割を変更可能に構成され、それにより、分担する役割が異なる複数の中のいずれの第2OSプログラムとも協調した動作を行うことが可能であって、
第1の電子制御装置は、
第2の電子制御装置から、第2OSプログラムが分担する役割についての情報を取得する取得部(S100)と、
取得部により取得した、第2OSプログラムが分担する役割を示す情報に基づき、当該第2OSプログラムと協調して動作することができるように、第1OSプログラムの分担する役割を決定する決定部(S120)と、を備える。
このように、本発明による車両用制御システムによれば、第1の電子制御装置が保有する第1OSプログラムは、第2OSプログラムが分担する役割についての情報を取得し、その第2OSプログラムが分担する役割を示す情報に基づき、当該第2OSプログラムと協調して動作することができるように、第1OSプログラムの分担する役割を決定する。従って、例えば、第2の電子制御装置の能力に起因して第2OSプログラムの役割分担が変動しても、その役割分担の変動に応じて、第1OSプログラムが、第2OSプログラムと協調して動作することができるように、自動的に、分担する役割を変化させることができる。その結果、第1の電子制御装置及び第2の電子制御装置に設けられたOSプログラムにより、第1の電子制御装置と第2の電子制御装置との連携処理を効率的にサポートすることが可能になる。
上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
実施形態に係る車両用制御システムの構成を示す構成図である。 運動ドメイン制御部のPTCが、電子制御装置にPTCアプリケーションとして実装され、その電子制御装置のアプリケーションソフトの1つとしてOSプログラムを設けた例を示す図である。 OSプログラムが提供するサービスの一覧の例を示す図である。 マスターECUにおける第1OSプログラムの具体的な処理内容を示すフローチャートである。 スレーブECUにおける第2OSプログラムの具体的な処理内容を示すフローチャートである。 マスターECUの第1OSプログラムの役割を軽くし、スレーブECUにおける第2OSプログラムの役割を重くした例を示す図である。 マスターECUの第1OSプログラムの役割を重くし、スレーブECUにおける第2OSプログラムの役割を軽くした例を示す図である。 マスターECUの第1OSプログラムが、第2OSプログラムへの伝達情報の変更が必要と判定するいくつかの例を説明するための説明図である。 マスターECUの第1OSプログラムが、スレーブECUの第2OSプログラムから動作条件の変更要求を受けるいくつかの例を説明するための説明図である。
以下、本発明の実施形態に係る車両用制御システムについて、図面を参照しつつ説明する。本実施形態に係る車両用制御システム1は、例えば、図1に示すように、走行駆動源として、エンジン31と電動モータ(モータジェネレータ)33とを有するハイブリッド車両に適用され、このハイブリッド車両に搭載された各種の車載機器31〜35を制御するために用いられる。しかしながら、本実施形態に係る車両用制御システム1は、ハイブリッド車両における車載機器31〜35を制御に適用されることに限られる訳ではなく、エンジンのみを有する通常の車両や、電動モータのみを有する電動車両の車載機器の制御に適用されても良い。
図1は、上述したハイブリッド車両における複数の車載機器31〜35を制御するために、車両用制御システム1が有する各種機能の一例を機能ブロック図として表したものである。ただし、図1には、車両用制御システム1が有する機能の全てが示されている訳ではない。これは、説明の便宜のため、図1には、本実施形態に係る車両用制御システム1の構成の一例しか示していないためである。
図1において、車両用制御システム1は、車載機器としてのエンジン31,トランスミッション(TM)32、モータジェネレータ(MG)33、ブレーキ装置34、及びステアリング装置35などを制御するための機能を有する。しかしながら、上述したように、車両用制御システム1は、さらに、例えば、サスペンション、高圧バッテリ、エアコン装置などのその他の車載機器を制御するための機能を有していても良い。
図1に示すように、車両用制御システム1は、各種の車載機器31〜35を制御するための機能が予め複数の論理ブロック(機能ブロック)12〜16、22〜26に区分けされ、それら複数の論理ブロック12〜16、22〜26間の連結関係を規定することによって構成されている。すなわち、車両用制御システム1における各種の車載機器31〜35を制御するための論理構造が、論理ブロック12〜16、22〜26と、それら論理ブロック12〜16、22〜26間の連結関係によって規定されている。そして、車両用制御システム1は、複数の論理ブロック12〜16、22〜26が、規定された連結関係に従って連携して動作することにより、各種の車載機器31〜35を制御する。
なお、図1には示していないが、各論理ブロック12〜16、22〜26は、少なくとも1つ、通常は多数の制御ブロックを有している。各論理ブロック12〜16、22〜26は、それら多数の制御ブロックにおける演算処理を適宜組み合わせることにより、それぞれの機能(役割)を発揮する。
例えば、論理ブロックとしてのエンジン制御部24は、エンジン31の運転状態を検出すべく、各種のセンサからのセンサ信号を入力して、論理ブロック内で取り扱うことができる信号に変換する制御ブロックを有する。また、センサ信号から把握されるエンジン31の運転状態から現状の発生トルクを算出する制御ブロックを有する。さらに、上位の論理ブロック(パワートレインコーディネータ(PTC)22)から指示された指令トルクと現状の発生トルクとに差異がある場合に、その差異をなくすための目標とするエンジン運転状態を算出する制御ブロックを有する。また、目標エンジン運転状態を達成するためのスロットルバルブ開度、燃料噴射量と燃料噴射時期、及び点火時期を算出する制御ブロックを有する。ただし、これらは単なる例示であって、エンジン制御部24は、その機能を発揮するために必要な、その他の演算処理を行う制御ブロックを有する場合もあり得る。また、例示された制御ブロックを含め、エンジン制御部24内の制御ブロックは、適宜、統合されたり、逆に、細分化されたりすることが可能なものである。
車両用制御システム1は、実際には、各論理ブロック12〜16、22〜26を、プログラムやデータベースなどの制御アプリケーションとして、複数の電子制御装置に振り分けて実装することにより具現化される。この場合、複数の電子制御装置は、論理ブロック12〜16、22〜26の連結関係を維持できるように、個別の通信線を介して接続されたり、各電子制御装置が共通のネットワークに接続され、連結関係に従う所望の電子制御装置同士が通信可能に構成されたりする。なお、必ずしも各論理ブロック12〜16、22〜26をそれぞれ別個の電子制御装置に実装する必要はなく、幾つかの論理ブロックを共通の電子制御装置に実装しても良い。
本実施形態に係る車両用制御システム1は、複数の車載機器31〜35の機能に応じて予め複数のドメインに区分けされている。別の表現をすれば、各論理ブロック12〜16、22〜26が果たすべき機能のまとまりに応じて、予め複数のドメイン10、20に区分けされている。
複数の車載機器31〜35は、いずれかのドメイン10、20に割り振られる。そして、割り振られたドメイン10、20に属するドメイン制御部11、21が、各車載機器31〜35の制御目標値を算出して、車載機器31〜35の制御を司る車載機器制御部15、16、24〜26へ出力したりする。なお、図1に示すように、各ドメイン制御部11、21は、少なくとも1つの論理ブロックから構成される。
具体的には、図1に示す例では、制御システム1は、運動ドメイン10とエネルギードメイン20とに区分けされている。そして、運動ドメイン10には、前後方向及び横方向における車両の挙動を制御する機能を担う運動ドメイン制御部11が設けられている。また、エネルギードメイン20には、車両を加速させたり、減速させたり、あるいは速度を一定に保つように、車両の動力を制御する機能を担うエネルギードメイン制御部21が設けられている。
また、本実施形態に係る車両用制御システム1では、図1に示すように、各ドメイン制御部11、21の下に、対応するドメイン制御部11、21からの指令(制御目標値)に従い、各車載機器31〜35の動作状態を制御する車載機器制御部15、16、24〜26が設けられている。これら車載機器制御部15、16、24〜26は、各車載機器31〜35の動作状態をドメイン制御部11、21からの制御目標値に近づけるための制御信号を生成し、各車載機器31〜35に出力する。
具体的には、図1に示す例では、運動ドメイン制御部11の下に、ブレーキ装置34を制御するブレーキ制御部15及びステアリング装置35を制御するステアリング制御部16が設けられている。また、エネルギードメイン制御部21の下に、エンジン31を制御するエンジン制御部24、トランスミッション32を制御するトランスミッション(TM)制御部25、及びモータジェネレータ33を制御するMG制御部26が設けられている。
なお、モータジェネレータ33は、車両の減速時などに回生エネルギーを発生する。MG制御部26の上位の論理ブロックであるモータジェネレータコーディネータ(MGC)23は、その回生エネルギーの生成も管理する。このエネルギーは、インバータによってDC変換され、図示しない高圧バッテリに蓄電される。
ここで、図1に論理ブロック12〜16、22〜26として例示した、車両用制御システム1が有する各種の機能について詳しく説明する。
車両用制御システム1には、各論理ブロック12〜16、22〜26が与えられた機能を発揮するために必要な各種の情報が入力される。例えば、図示しない各種のセンサによって、ハイブリッド車両の運転のため、運転者によって操作される各種の操作部(アクセルペダル、ブレーキペダル、シフトレバー、ステアリングホイールなど)の操作が検出され、その操作検出信号が車両用制御システム1に入力される。また、車両の走行状態(例えば、速度、加速度、ヨーレートなど)や、各種の車載機器31〜35の動作状態(例えば、エンジン温度、エンジン回転数、トランスミッション変速比、インバータ温度、モータ回転数、ブレーキ油圧、操舵角など)を検出するセンサからの動作検出信号も、車両用制御システム1に入力される。
上述した各種の信号は、車両用制御システム1の各ドメイン制御部11、21や車載機器制御部15、16、24〜26に与えられる。
例えば、運動ドメイン制御部11には、運転者による各種の操作部の操作を示す操作検出信号、及び車両の走行状態を検出するセンサからの動作検出信号が入力される。そして、運動ドメイン制御部11は、原則として、車両が運転者による操作部の操作に応じた挙動を示すように、ブレーキ装置34及びステアリング装置35の制御目標値を算出する。具体的には、車両挙動制御部12が、車両の挙動を安定させつつ、運転者の操作に対応するように車両の挙動を制御すべく、前後挙動制御部13に対して前後方向の目標加速度(目標減速度)を与えるとともに、左右挙動制御部14に対して左右方向の目標加速度を与える。前後挙動制御部13は、与えられた前後方向の目標加速度(目標減速度)を実現すべく、エネルギードメイン制御部21のパワートレインコーディネータ(PTC)22に対して目標駆動トルク(加速トルク又は制動トルク)を出力するとともに、ブレーキ制御部15に対して、ブレーキ装置34の制御目標値である目標制動トルクを出力する。また、左右挙動制御部14は、与えられた左右方向の目標加速度を実現すべく、ステアリング制御部16に対して、ステアリング装置35の制御目標値である目標アシストトルクを出力する。
なお、例えば、運動ドメイン制御部11に、車両の走行車線を区画する白線の認識情報や、先行車両や障害物の情報など、車両の外部環境に関する情報を与えるようにしてもよい。これにより、運動ドメイン制御部11において、例えば、白線によって区画される走行車線を逸脱しないように、ステアリング装置35のアシスト力を調整する(レーンキープアシスト)ように制御目標値を算出することが可能となる。また、運動ドメイン制御部11にて、例えば、先行車両や障害物との衝突を避けるように、ブレーキ装置34やステアリング装置35の制御目標値を算出することが可能となる。
また、エネルギードメイン制御部21には、例えば、図示しない高圧バッテリの電圧や電流を検出するセンサ信号や、車両の走行状態を示すセンサ信号などが入力される。エネルギードメイン制御部21のMGC23は、それらのセンサ信号に基づいて、高圧バッテリの蓄電量を算出する。さらに、MGC23は、主として、高圧バッテリの蓄電量に基づいて、モータジェネレータ33が発生可能な最大MGトルクを算出して、PTC22に与える。PTC22は、運動ドメイン制御部11から与えられた目標駆動トルク(加速トルク)を最も効率良く実現するために、モータジェネレータ33が発生可能な最大MGトルクや、センサ信号に基づく車両の走行状態を考慮しつつ、エンジン31が発生すべき目標エンジントルク、トランスミッション32が実現すべき目標変速比、及びモータジェネレータ33が発生すべき目標MGトルクを算出する。算出された目標エンジントルク、目標変速比、及び目標MGトルクは、それぞれ、制御目標値として、エンジン制御部24、TM制御部25、及びMGC23に与えられる。また、TM制御部25に対しては、クラッチの動作に関する制御目標値(クラッチの接続開始時期や、クラッチの接続完了までの時間など)も与えられても良い。
さらに、エネルギードメイン制御部21のMGC23は、車両の減速時等において、主として、高圧バッテリの蓄電量に基づいてモータジェネレータ33が発生可能な回生電力量を算出する。この回生電力量に対応する回生制動トルクに関する情報は、MGC23から、PTC22を介して運動ドメイン制御部11の前後挙動制御部13に与えられる。
前後挙動制御部13は、車両挙動制御部12から目標減速度が与えられた場合、その目標減速度を実現するための目標制動トルクを算出する。そして、モータジェネレータ33が回生制動トルクを発生可能である場合には、極力、その回生制動トルクを活用するように、ブレーキ装置34による目標制動トルクと、回生ブレーキによる目標回生制動トルクとを定める。この目標回生制動トルクは、制御目標値として、PTC22を介して、エネルギードメイン制御部21のMGC23に与えられる。
ブレーキ制御部15は、前後挙動制御部13から与えられたブレーキ装置34の制御目標値である目標制動トルクに従い、ブレーキ装置34を制御する。より具体的には、ブレーキ制御部15は、ブレーキ装置34が目標制動トルクを発生するようにブレーキフルード圧を制御するための制御信号を出力する。また、ステアリング制御部16も、ステアリング装置35が左右挙動制御部14から与えられた目標アシストトルクを発生するように制御信号を出力して、ステアリング装置35におけるアシストトルクを制御する。
エンジン制御部24は、PTC22から与えられた目標エンジントルクを実現するための制御信号をエンジン31に出力する。より詳細には、エンジン制御部24は、エンジン31の運転状態を検出する各種のセンサ(回転数、温度、空気流量等)からのセンサ信号を入力する。そして、センサ信号から把握されるエンジンの運転状態から現状の発生トルクを算出する。エンジン制御部24は、現状の発生トルクを目標エンジントルクに近づけるためのエンジン運転状態を算出し、その算出したエンジン運転状態を達成するための燃料噴射量と燃料噴射時期、及び点火時期を求め、これらに応じた噴射制御信号及び点火制御信号をエンジン31に出力する。
TM制御部25も、PTC22から目標変速比が与えられ、この与えられた目標変速比を実現するための制御信号をトランスミッション32に出力する。また、TM制御部25は、トランスミッション32において変速比を変更する場合、クラッチの動作に関する制御目標値に従って、クラッチの動作を制御するための制御信号も出力する。
MG制御部26は、MGC23から目標MGトルクが与えられた場合には、その目標MGトルクを発生させるように、モータジェネレータ33のインバータへ制御信号を出力する。一方、MG制御部26は、MGC23から目標回生制動トルクが与えられた場合には、その目標回生制動トルクに相当する制動力をモータジェネレータ33が車軸に対して付与するように、モータジェネレータ33のインバータへ制御信号を出力する。
上述したように、車両用制御システム1を構成する各論理ブロック12〜16、22〜26は、複数の論理ブロック12〜16、22〜26により連携した制御処理を行うことで、各車載機器31〜35を制御する。例えば、PTC22は、運動ドメイン10における前後挙動制御部13と協調したドメイン間連携制御、及び、MGC23、エンジン制御部24、並びにTM制御部25と協調したドメイン内連携制御を実行する。
ここで、上述した車両用制御システム1において、各論理ブロック12〜16、22〜26が実装される電子制御装置間でやり取りされる信号や処理手順などを厳密に定め、それに応じた連携処理用アプリケーションプログラムを作成することも可能である。しかしながら、この場合、車両用制御システム1が、いわゆる専用品となってしまい、例えば車両のグレードや車種に応じた低機能から高機能までのバリエーションに対応したり、電子制御装置を構成するハードウエアの変更に対応したりすることが困難になってしまう。
そこで、各論理ブロック12〜16、22〜26が実装される複数の電子制御装置が連携した処理を行う場合に、連携処理用アプリケーションの他に、それら連携処理用アプリケーションプログラムを協調して実行させるためのベーシックソフトウエアとしての役割を果たすOSプログラムを、各電子制御装置に設けることが考えられる。
例えば、OSプログラムが、各電子制御装置間における通信データの検証、データの変換、同期メカニズム、リソースの配分等をサポートすることにより、各電子制御装置における連携処理用アプリケーションプログラムは、それぞれの制御機能に特化して作成することができ、制御機能の追加、変更などにも容易に対応可能となる。また、各OSプログラムが、各電子制御装置のハードウエアを抽象化することができるので、この点においても、連携処理用アプリケーションの汎用性を高めることができるようになる。
ただし、各電子制御装置による連携処理をサポートするOSプログラムを、各電子制御装置にそれぞれ設ける場合、それらのOSプログラムは、定められた役割分担の下に協調して動作する必要がある。しかしながら、その役割分担が常に一定であるとすると、例えば、用いられる電子制御装置の能力の相違に起因して、必ずしもそれぞれの電子制御装置の能力に見合った役割とはならず、連携処理のサポートを効率的に行いえない虞がある。
そこで、本実施形態に係る車両用制御システム1では、各電子制御装置による連携処理をサポートするOSプログラムの役割を変更可能に構成した。具体的には、連携した処理を行う少なくとも2つの電子制御装置において、一方をマスターECU、他方をスレーブECUとした場合に、まず、マスターECUが保有する第1OSプログラムは、スレーブECUが保有する第2OSプログラムが分担する役割についての情報を取得する。そして、第1OSプログラムは、第2OSプログラムが分担する役割を示す情報に基づき、当該第2OSプログラムと協調して動作することができるように、第1OSプログラムの分担する役割を決定する。従って、例えば、スレーブECUの能力に起因して第2OSプログラムの役割分担が変動しても、その役割分担の変動に応じて、第1OSプログラムが、第2OSプログラムと協調して動作することができるように、自動的に、分担する役割を変化させることができる。その結果、マスターECU及びスレーブECUに設けられた各OSプログラムにより、マスターECUとスレーブECUとの連携処理を効率的にサポートすることが可能になる。
まず、図2を参照して、各電子制御装置にOSプログラムを設ける場合の構成の一例を説明するとともに、OSプログラムが連携処理をサポートするために実施する処理内容などの具体例を説明する。
図2は、エネルギードメイン制御部21のPTC22が、電子制御装置40にPTCアプリケーション41aとして実装され、その電子制御装置40にアプリケーションの1つとしてOSプログラム41bを設けた場合の構成を示している。なお、図2には、PTC22と直接的に通信を行って連携処理を実行する論理ブロック(前後挙動制御部13、MGC23、エンジン制御部24、TM制御部25)として機能するアプリケーション51a、61a、71a、81aをそれぞれ実装した電子制御装置50、60、70、80の構成も示している。これら電子制御装置50、60、70、80においても、アプリケーションの1つとして、それぞれOSプログラム51b、61b、71b、81bが設けられている。
なお、PTCアプリケーション41a、前後挙動制御アプリケーション51a、MGCアプリケーション61b、TM制御アプリケーション71a、EMS制御アプリケーション81aが、それぞれ連携処理用アプリケーションに相当する。
また、図2には、各電子制御装置40、50、60、70、80が、それぞれ1つのOSプログラム41b、51b、61b、71b、81bを有するように示されているが、各電子制御装置40、50、60、70、80は、通信相手毎に、異なるOSプログラムを有する。通信相手が異なることにより、連携処理をサポートするために提供すべきサービス内容も異なるためである。例えば、PTCアプリケーション41aが実装された電子制御装置40は、上位のドメイン制御部である前後挙動制御部13としての電子制御装置50との連携処理をサポートするためのOSプログラム、同じエネルギードメイン制御部21に属するMGC23としての電子制御装置60との連携処理をサポートするためのOSプログラム、下位の機器制御部であるTM制御部25としての電子制御装置70との連携処理をサポートするためのOSプログラム、及びエンジン制御部24としての電子制御装置80との連携処理をサポートするためのOSプログラムをそれぞれ有している。
ただし、PTC22としての電子制御装置40は、機器制御部に分類されるTM制御部25、エンジン制御部24がそれぞれ実装された電子制御装置70及び電子制御装置80との連携処理をサポートするためのOSプログラムを共通化しても良い。この場合、電子制御装置70及び電子制御装置80のOSプログラムの役割や動作条件が相違していてもそれらの相違を包含するデータやサービスを提供するように、電子制御装置40のOSプログラムを設定することで、OSプログラムを共通化することができる。
そして、原則として、上位の電子制御装置がマスターECUとなり、下位の電子制御装置がスレーブECUとなる。なお、同位の電子制御装置の場合、いずれか一方がマスターECUとなり、他方がスレーブECUとなる。
電子制御装置40〜80は、それぞれ、メモリを有しており、図2に示す構造のソフトウエアを、それぞれのメモリに記憶している。各電子制御装置40〜80は、図2に示すように、いわゆるAUTOSAR(AUTomotive Open System ARchitecture)に準拠するソフトウエア構造を有している。そこで、PTCアプリケーション41aを実装した電子制御装置40を代表例として、各電子制御装置40〜80のソフトウエア構造について説明する。
電子制御装置40では、図2に示すように、ハードウエアであるマイクロコントローラ47に対して、ソフトウエアが搭載され、そのソフトウエアは、大きくは、基本ソフトウエア43〜46、ランタイム環境(RTE)42、及び、アプリケーション層に含まれるアプリケーションソフトウエアに分けられる。その中で、PTCアプリケーション41aは、アプリケーション層に実装され、このPTCアプリケーション41aが実行されることにより、電子制御装置40は、PTC22としての機能を発揮する。PTCアプリケーション41aは、実際には、PTC22としての各種の機能ごとに、複数のサブアプリケーションに分割されている。また、OSプログラム41bも、一つのアプリケーションソフトウエアとして、アプリケーション層に実装されている。
基本ソフトウエア43〜46は、マイクロコントローラ抽象化層43、ECU抽象化層44、サービス層45に階層化され、階層が高くなるほど、抽象化度合が強くなり、各種のハードウエアから独立するようになっている。また、基本ソフトウエア43〜46は、複合ドライバ46を含んでいる。
マイクロコントローラ抽象化層43は、基本ソフトウエア43〜46の最下層に位置し、マイクロコントローラドライバ、メモリドライバ、通信ドライバ、I/Oドライバなどを有する。このマイクロコントローラ抽象化層43は、マイクロコントローラ47のハードウエア構成に依存する部分である。しかし、このマイクロコントローラ抽象化層43によって、マイクロコントローラ47とその周辺機器とが抽象化されるため、これより上位の階層は、マイクロコントローラ47及び周辺機器から独立することになる。なお、マイクロコントローラ抽象化層43は、通信ドライバとして、複数の種類の通信ドライバ(例えば、CAN(登録商標)ドライバ、LINドライバ、FlexRay(登録商標)ドライバなど)を有している。そして、電子制御装置40は、例えば、通信相手の電子制御装置がドメイン内か、ドメイン外かなどにより、異なる通信ドライバ、すなわち異なる通信ネットワークを使用して通信を行う。
ECU抽象化層44は、マイクロコントローラ抽象化層43の上位に位置している。このECU抽象化層44は、電子制御装置40の基本コンポーネントを抽象化することにより、上位のソフトウエア層を、電子制御装置40のハードウエアから独立させるものである。このECU抽象化層44は、搭載機器抽象化、メモリハードウエア抽象化、通信ハードウエア抽象化、I/Oハードウエア抽象化などを含む。
サービス層45は、その一部が、ECU抽象化層44の上位に位置し、アプリケーションのための基本的なサービスを提供するためのものである。具体的には、サービス層45は、OS、車両ネットワークの通信と管理、メモリサービス、診断サービス、ECU状態管理などのサービスを提供する。このサービス層45は、大部分がハードウエアから独立している。
複合ドライバ46は、複雑なセンサやアクチュエータを操作するための特殊な機能やタイミング要求を満たすような、他のレイヤにはない複雑な機能が必要な場合に使用されるものである。この複合ドライバ47は、例えば、燃料を噴射するインジェクタを駆動制御する場合などに使用される。
そして、RTE42は、上述した各層からなる基本ソフトウエア43〜46の上位に位置し、アプリケーション層に含まれる各種のアプリケーション41a、41bが、電子制御装置40に依存しないようにするためのものである。そのため、RTE42は、アプリケーション41a、41b間の通信や、アプリケーション41a、41bと基本ソフトウエア43〜46との通信を提供する。
このように、AUTOSARに準拠したソフトウエア構造を採用することで、アプリケーション41a、41bは、マイクロコントローラ47や電子制御装置40のハードウエアに依存せずに済むので、アプリケーション41a、41bの再利用性を高めることができる。
次に、OSプログラム41bについて、詳しく説明する。図2に示すように、OSプログラム41bは、アプリケーションソフトの1つとして具現化される。このOSプログラム41bは、PTCアプリケーション41bの各サブアプリケーションが、他の電子制御装置50〜80と連携した処理を行う際に、その連携処理をサポートするための各種のサービスを提供する。なお、図2に示す例では、現状のAUTOSARに準拠した基本ソフトウエアを前提とし、ECU間連携を実現するOSプログラムは、アプリケーションソフトとして、RTEを介し基本ソフトウエアと結合されている。しかし、OSプログラムは、アプリケーションソフトとして具現化する以外に、基本ソフトウエア内に組み入れることも可能である。
図3に、OSプログラム41bが提供するサービスの一覧の例を示す。なお、図3においては、OSプログラム41bにより提供される各種のサービスを、DVFB(Domain Virtual Function Bus)、ドメインシステムOS(Domain System OS)、ドメインシステム抽象化(Domain System Abstraction)の3つの階層に分類して示している。OSプログラム41bは、図3に示すサービスの一部を提供するものであっても良いし、逆に、図3に示すサービスは一例であって、図3に示すサービス以外のサービスをも含むものであっても良い。
DVFBに分類されるドメイン外内抽象化(Domain External-Internal Abstraction)サービスは、例えば、マスターECUからスレーブECUに、連携処理を行うためのデータ(制御目標データやセンサ検出データなど)が送信される場合に、マスターECUとドメインECUにおいて実行されるOSプログラムの各サービスの処理順を設定したり、そのサービスが実行される時間に関する整合を図ったりするものである。また、DVFBに分類される意味解釈ゲートウェイ(Semantic Gateway)サービスは、ドメイン外内にてデータが異なる場合に、対応するデータに翻訳するものである。
ドメインシステムOSに分類されるリソース調停(Resource Arbitration)サービスは、例えば、マスターECUとスレーブECUとが同じ電子制御装置に実装され、メモリやコアなどのリソースを共用する場合に、そのリソースの配分や調整を行うものである。システムモード(System Mode)サービスは、マスターECUにおける制御モードと、スレーブECUにおける制御モードとが整合した制御モードとなるように、モード管理を行うものである。イベント管理(Event Manager)サービスは、例えばマスターECUとスレーブECUとで同期した処理を行わせるトリガとなるイベントの生成と配信を行うものである。スケジューラ(Scheduler)サービスは、マスターECUでの連携処理のスケジュールに基づいて、スレーブECUでの連携処理のスケジュールを定めるものである。同期メカニズム(Synchronized Mechanism)サービスは、イベントもしくは時間での制御の同期を図るためのものである。クロック(Clock)サービスは、マスターECUとスレーブECUとで共通の時刻を生成するとともに、必要に応じて、データにタイムスタンプを行うものである。セキュリティ(Security)サービスは、例えばIDデータに基づいて正規の通信相手を認証したり、パリティチェックなどにより通信データの正常性を確認したりするためのものである。診断(Diagnostic)サービスは、例えば、マスターECU及びスレーブECUの異常診断を行うとともに、必要に応じてフェールセーフ処理を実行するものである。安全機能メカニズム(Safety function Mechanism)サービスは、異常が重大である場合に、マスターECUとスレーブECUとの連携機能を停止するものである。
ドメインシステム抽象化に分類される機能分散抽象化(Function Distribution Abstraction)サービスは、上述した各種のサービスを実現する上で、マスター側の第1OSプログラムと、スレーブ側の第2OSプログラムとの役割分担の管理を行うものである。つまり、本実施形態では、マスター側の第1OSプログラムとスレーブ側の第2OSプログラムとが協調して動作することにより、上述した各種のサービスを実現する。その際、本実施形態では、マスター側の第1OSプログラムとスレーブ側の第2OSプログラムとの役割を変更可能に構成している。そのため、マスター側の第1OSプログラムとスレーブ側の第2OSプログラムとが、それぞれ、どのような役割を担っているかを管理することが必要となる。支配抽象化(Ownership Abstraction)サービスは、マスター側の第1OSプログラムとスレーブ側の第2OSプログラムとによる、制御対象機器やセンサ機器などに対する制御責任の分担の管理を行うものである。なお、制御責任とは、制御対象機器に対して制御信号を出力したり、センサ機器からの検出信号の受信処理を行ったり、制御対象機器やセンサ機器が正常に動作しているか監視したりする役割を担っていることをいう。
次に、図4及び図5のフローチャートを参照しつつ、マスター側の第1OSプログラムとスレーブ側の第2OSプログラムとが協調して動作可能とするための、設定方法について説明する。なお、第1OSプログラム及び第2OSプログラムの設定は、車両の製造ラインにおいて、車両用制御システムが構築された段階で実施される。また、機能向上のために、マスターECUやスレーブECUのアプリケーションソフトウエアが更新された場合にも実施される。
図4のフローチャートは、マスター側の第1OSプログラムによって実行される処理を示し、図5のフローチャートは、スレーブ側の第2OSプログラムによって実行される処理を示している。
まず、図4のフローチャートのステップS100では、スレーブECUから、スレーブECUが保有する第2OSプログラムが分担する役割情報を取得する。この役割情報として、マスターECUは、上述した各種サービスに関して、スレーブECUの第2OSプログラムが担う役割を示す情報をそれぞれ取得しても良いし、第2OSプログラムに、予め、各種サービスに関する第2OSプログラムの役割の組み合わせを一義的に示す役割パターン情報を保有させておき、その役割パターン情報を取得しても良い。
このように、スレーブECUが保有する第2OSプログラムは、上述した各種サービスに関して、第2OSプログラムが分担する役割が異なる複数のパターンの中から選定されたものである。このため、車両用制御システムの構成や、スレーブECUの能力などに応じて、第2OSプログラムの役割を適切に設定することが可能になる。
続くステップS110では、取得した第2OSプログラムの各種サービスに関する役割が、マスターECUにおける第1OSプログラムの現状の役割と整合しているか否かを判定する。すなわち、マスターECUの第1OSプログラムは、平均的な第2OSプログラムの役割に対応するように、予め設定されている。ステップS110では、このような第1OSプログラムの基本設定で、既に第2OSプログラムの役割に整合しているか否かを判定する。このようにすれば、続くステップS120での第1OSプログラムの変更量を抑えることが可能になる。ただし、第1OSプログラムを事前に設定せずに、取得した第2OSプログラムに対応するように、すべてのサービス項目について、設定するようにしても良い。その場合、ステップS110の処理は省略可能である。
ステップS120では、各種サービスに関する第2OSプログラムの役割と整合するように、第1OSプログラムの役割を変更する。この際、第2OSプログラムの役割と整合していないサービス項目に関してのみ、第1OSプログラムの役割を変更すれば良いので、第1OSプログラムの変更処理を簡便に行うことができる。
ここで、第1OSプログラムと第2OSプログラムとの役割が、各サービス項目に関して、どのように変化するかに関して、典型例を2例ほど示す。
図6は、マスターECUの第1OSプログラムの役割を軽くし、スレーブECUにおける第2OSプログラムの役割を重くした例を示している。
この場合、ドメイン外内抽象化サービスについて、マスターECUの第1OSプログラムは、スレーブECUの第2OSプログラムによる各サービスの処理順処理時間の設定には関与せず、スレーブECUの第2OSプログラムが、当該第2OSプログラムによるサービスの処理順や処理時間の設定を行う。また、意味解釈ゲートウェイサービスに関しては、マスターECUから送信されるデータの意味翻訳を、第2OSプログラムにおいて実行する。
リソース調停サービスに関しては、マスターECUにおける連携処理を優先して実行するために、第1OSプログラムが、その連携処理のためのリソースを確保する処理を行うが、残りリソースの利用調整は、第2OSプログラムにおいて行う。システムモードサービスに関しては、第1OSプログラムが連携処理のモードを生成し、第2OSプログラムは、その連携処理モードを受信し、対応するローカルモードへの変換を行い、スレーブECUの制御モードを、変換したローカルモードに設定する。
イベント管理サービスに関しては、第1OSプログラムは、連携処理に用いる連携イベントを生成するとともに、スレーブECUに配信する。そして、第2OSプログラムは、配信された連携イベントを、スレーブECUにおいて取り扱うことが可能なローカルイベントに変換する。スケジューラサービスに関しては、第1OSプログラムが連携処理のスケジュールを生成し、第2OSプログラムが、その連携処理スケジュールをスレーブECUにおけるローカルスケジュールに変換する。同期メカニズムサービスに関しては、第1OSプログラムが、同期手段として、所定のイベントによる同期指示を選択した場合、その所定のイベントによる同期を実現するための実現機能を第2OSプログラムが選択する。例えば、第2OSプログラムは、イベント管理サービスがローカルイベントを生成している場合には、そのローカルイベントを同期手段として選択する。
クロックサービスに関しては、第1OSプログラムが連携時刻を生成し、第2OSプログラムが、その連携時刻をスレーブECUにおけるローカル時刻に変換する。セキュリティサービスに関しては、第1OSプログラムが、マスターECUの通信相手の認証と、受信データの正常性の確認を行い、第2OSプログラムが、スレーブECUの通信相手の認証と、受信データの正常性の確認を行う。診断サービスに関しては、第1OSプログラムが、マスターECUにおける連携処理の異常検知と、異常時のフェールセーフ処理を行い、第2OSプログラムが、スレーブECUにおける連携処理の異常検知と、異常時のフェールセーフ処理を行う。安全機能メカニズムサービスに関しては、第1OSプログラムが、マスターECUにおける連携機能の停止を司り、第2OSプログラムが、スレーブECUにおけるローカル機能の停止を司る。
機能分散抽象化サービスに関しては、マスターECUの第1OSプログラムは、マスター−スレーブ間の機能分担の管理に関与せず、スレーブECUの第2OSプログラムが、その機能分担の管理を行う。同様に、支配抽象化サービスについても、マスターECUの第1OSプログラムは、責任分担管理に関与せず、スレーブECUの第2OSプログラムが、その責任分担の管理を行う。
一方、図7は、マスターECUの第1OSプログラムの役割を重くし、スレーブECUにおける第2OSプログラムの役割を軽くした例を示している。
この場合、ドメイン外内抽象化サービスについて、マスターECUの第1OSプログラムは、スレーブECUの第2OSプログラムによる各サービスの処理順、処理時間の設定を行い、その設定内容を示すデータを送信する。スレーブECUの第2OSプログラムは、設定内容を示すデータを受信し、その受信されたデータに従って、各種のサービスを実行する。また、意味解釈ゲートウェイサービスに関しては、マスターECUの第1OSプログラムが、データの意味翻訳を行うとともに、翻訳されたデータをスレーブECUに送信する。スレーブECUの第2OSプログラムは、翻訳されたデータを受信し、処理に使用する。
リソース調停サービスに関しては、第1OSプログラムが、マスターECUによる連携処理のためのリソースを確保する処理、さらに、残りリソースの配分処理も行う。第2OSプログラムは、配分されたリソースを使用するように、リソース管理を行う。システムモードサービスに関しては、第1OSプログラムが連携処理のモードを生成し、さらに、その連携イベントを対応するローカルモードに変換して、スレーブECUに送信する。第2OSプログラムは、変換されたローカルモードを受信し、スレーブECUの制御モードを、受信したローカルモードに設定する。
イベント管理サービスに関しては、第1OSプログラムは、連携処理に用いる連携イベントを生成するとともに、その連携イベントを、スレーブECUにおいて取り扱うことが可能なローカルイベントに変換する。第2OSプログラムは、ローカルイベントを受信し、そのローカルイベントに基づく処理が行われるようにする。スケジューラサービスに関しては、第1OSプログラムが連携処理のスケジュールを生成し、さらに、その連携処理スケジュールをスレーブECUにおけるローカルスケジュールに変換して、送信する。第2OSプログラムは、ローカルスケジュールを受信し、そのローカルスケジュールに基づくスケジュール管理を行う。同期メカニズムサービスに関しては、第1OSプログラムが、連携処理における同期手段に対応するローカル同期手段を選定して、送信する。第2OSプログラムは、受信したローカル同期手段を受信し、以降の処理に使用する。
クロックサービスに関しては、第1OSプログラムが連携時刻を生成し、さらに、その連携時刻をスレーブECUにおけるローカル時刻に変換して送信する。第2OSプログラムは、ローカル時刻を受信し、処理に使用する。セキュリティサービスに関しては、第1OSプログラムが、マスターECU及びスレーブECUについて一括して管理する。例えば、第1OSプログラムが、マスターECU及びスレーブECUの通信相手の認証を行ったり、マスター−スレーブ間で送受信されるデータの正常性の確認を行ったりする。この場合、第2OSプログラムは、セキュリティサービスは扱わない。診断サービスに関しては、第1OSプログラムが、マスターECUにおける連携処理の異常検知と、異常時のフェールセーフ処理を行うとともに、異常検知結果をスレーブECUに通知する。第2OSプログラムは、その異常検知通知を受信する。安全機能メカニズムサービスに関しては、第1OSプログラムが、マスターECUにおける連携機能の停止を司るとともに、必要時にローカル機能の停止を指示する。第2OSプログラムは、第1OSプログラムからのローカル機能の停止指示に従い、スレーブECUにおけるローカル機能を停止させる。
機能分散抽象化サービスに関しては、マスターECUの第1OSプログラムが、マスター−スレーブ間の機能分担の管理を行い、スレーブECUの第2OSプログラムは、その機能分担の管理に関与しない。同様に、支配抽象化サービスについても、マスターECUの第1OSプログラムが、責任分担管理を行い、スレーブECUの第2OSプログラムは、その責任分担の管理に関与しない。
以上、第1OSプログラムと第2OSプログラムとの役割分担例を説明したが、この役割分担は、上述した2例以外に、マスターECUでの連携処理の処理応答と、スレーブECUでのローカル処理での処理応答との違い、マスターECU及びスレーブECUの能力など種々の要因によって、各サービス毎に役割分担が変化しえるため、様々なバリエーションが考えられる。
再び、図4のフローチャートに戻って、説明を続ける。ステップS120までの処理により、第1OSプログラムと第2OSプログラムとが協調して連携処理をサポートできるように、第1OSプログラムが設定される。しかし、場合によっては、マスター側からスレーブ側に伝達される情報の種類を変更したり、マスター側における動作条件を修正したりといった微調整を行うことで、第1OSプログラムと第2OSプログラムとが協調した処理をより円滑に行いうる場合がある。
そのため、図4のフローチャートのステップS130では、第2OSプログラムへの伝達情報の変更が必要であるか否かを判定する。そして、伝達情報の変更が必要と判定した場合には、ステップS140において、第2OSプログラムへの伝達情報の変更内容を通知する。さらに、ステップS150において、ステップS140での通知内容に応じた伝達情報の変更を、第1OSプログラムに反映させる。
マスターECUの第1OSプログラムが、第2OSプログラムへの伝達情報の変更が必要と判定するいくつかの例を、図8を参照して説明する。
図8に示すように、伝達情報の変更が必要となる可能性がある対象サービスは、システムモードサービス、イベント管理サービス、スケジューラサービス、安全機能メカニズムサービスなど、いくつか考えられる。
例えば、システムモードサービスの場合、スレーブECUにおけるアプリケーションソフトのバージョンアップなどによりスレーブECUが変更された場合、マスターECUの連携処理モードに紐づくローカルモードが変化することが予測される。この場合には、マスターECUの第1OSプログラムからローカルモードそのものの伝達に代えて、対応するモードの目的(起動、通常制御、停止など)を伝達するように変更する。これにより、スレーブECUの第2OSプログラムは、連携制御モードに対応する適切なモードを選択することが可能になる。
また、イベント管理サービスの場合も、システムモードサービスの場合と同様に、スレーブECUが変更された場合、マスターECUの連携イベントに対応するローカルイベントが変化することが予測される。従って、この場合も、マスターECUの第1OSプログラムからローカルイベントそのものの伝達に代えて、対応するイベントの目的(割込、定期、異常検知など)を伝達するように変更する。これにより、スレーブECUの第2OSプログラムは、連携イベントに対応する適切なローカルイベントを生成することが可能になる。
さらに、スケジューラサービスの場合も、システムモードサービスの場合と同様に、スレーブECUが変更された場合、マスターECUの連携スケジュールに対応するローカルスケジュールが変化することが予測される。従って、この場合も、マスターECUの第1OSプログラムからローカルスケジュールそのものの伝達に代えて、対応するスケジュールの目的(XXの後処理など)を伝達するように変更する。これにより、スレーブECUの第2OSプログラムは、連携スケジュールに対応する適切なローカルスケジュールを生成することが可能になる。
また、安全機能メカニズムサービスの場合、マスター側がスレーブ側の停止指示を行う場合であって、スレーブ側が、マスター側とは独立した機能も備えている場合には、マスター側から停止指示を与えてしまうと、スレーブ側の状況を無視することになる可能性がある。そのため、マスターECUの第1OSプログラムは、スレーブの停止指示を目的で伝達する(制御終了、異常時停止など)。これにより、スレーブECUの第2OSプログラムは、自身の処理状況を踏まえ、その停止目的に応じた対処を取ることが可能になる。
図4のフローチャートのステップS160では、スレーブECUの第2OSプログラムからの変更要求を受けたか否かを判定する。変更要求を受けたと判定した場合には、ステップS170に進み、スレーブECUの第2OSプログラムからの変更要求に応じて、第1OSプログラムの動作条件の修正を行う。
マスターECUの第1OSプログラムが、スレーブECUの第2OSプログラムから動作条件の変更要求を受けるいくつかの例を、図9を参照して説明する。
図9に示すように、動作条件の変更が必要となる可能性がある対象サービスは、ドメイン外内抽象化サービス、リソース調停サービス、同期メカニズムサービス、機能分散抽象化サービス、支配抽象化サービス、安全機能メカニズムサービスなど、いくつか考えられる。
例えば、マスターECUに対して複数のスレーブECUがあり、それら複数のスレーブECUによる制御の応答時間に差があり、スレーブ側の個別の調整では、複数のスレーブECUによる制御の応答時間の差に対応することができない場合など、スレーブ側の処理時間の整合が困難になることがありえる。このような場合、ドメイン内外抽象化サービスに関して、スレーブ側からマスター側に、データ通知タイミングの変更を要求する。例えば、マスターECUが、PTC22が実装された電子制御装置40であり、スレーブECUが、MGC23が実装された電子制御装置60及びエンジン制御部24が実装された電子制御装置80である場合を想定する。この場合、MGC23が実装された電子制御装置60のOSプログラム61b(第2OSプログラム)、もしくはエンジン制御部24が実装された電子制御装置80のOSプログラム81b(第2OSプログラム)は、PTC22が実装された電子制御装置40のOSプログラム41b(第1OSプログラム)に対して、エンジン制御部24が実装された電子制御装置80に対するよりも十分に遅くMGC23が実装された電子制御装置60に制御目標値(目標モータトルク)を通知するように要求する。これにより、エンジン31とモータジェネレータ33との応答時間の差を吸収することができ、エンジン31とモータジェネレータ33とにより、目標通りの駆動トルクを発生させることが可能となる。
また、スレーブECUが制御責任を負う制御対象機器やセンサ機器がある場合、スレーブECUが扱うデータの中で、それら制御対象機器やセンサ機器の異常状態の監視のためのデータと、その他のデータとでは安全要求が異なる場合がある。そのような場合には、リソース調停サービスに関して、スレーブ側からマスター側に、例えば共用メモリにおいて、スレーブECUで使用するデータの安全別にメモリ領域を確保するように要求する。これにより、安全要求に見合ったデータの取り扱いを行うことが容易になる。
また、同期メカニズムサービスに関して、スレーブ側で、同期を実現するための実現機能を選択することができない場合に、同期指示を出す条件をスレーブ側から指定しても良い。
さらに、複数のスレーブがある場合に、マスター−スレーブ間の機能分担管理、責任分担管理を行うのに都合が良いのはマスター側であるため、そのような状況では、機能分散抽象化サービス及び支配抽象化サービスに関して、スレーブ側からマスター側に、機能分担管理、責任分担管理を行うよう要求しても良い。
また、複数のスレーブがある場合、各スレーブでどのような手順で停止処理を行うのが適切であるか不明である状況では、安全機能サービスに関して、スレーブ側からマスター側に、各スレーブでのローカルの機能停止処理手順やその条件などを通知するよう要求しても良い。
図5のフローチャートは、上述したように、スレーブ側の第2OSプログラムによって実行される処理を示しており、ステップS200では、マスターECUに対して、スレーブECUが保有する第2OSプログラムが分担する役割情報を提供する。
続くステップS210では、マスターECUから、伝達情報の変更要求があったか否かを判定する。変更要求ありと判定した場合には、ステップS220に進み、マスターECUからの変更要求に応じて、第2OSプログラムが取得する情報を変更する。さらに、必要に応じて、変更後の情報の処理手順を定めておく。
そして、ステップS230では、マスターECUの第1OSプログラムの動作条件の変更が必要であるか否かを判定する。動作条件の変更が必要であると判定した場合には、ステップS240において、マスターECUに対して、第1OSプログラムの動作条件の変更依頼を行う。そして、ステップS250において、依頼した第1OSプログラムの動作条件の変更内容を、第2OSプログラムに反映させるよう、第2プログラムを修正する。
以上、本発明の好ましい実施形態について説明したが、本発明は、上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
例えば、上述した実施形態では、マスターECUに対して複数のスレーブECUがあり、スレーブ側の個別の調整では、スレーブ側の処理時間の整合が困難な場合、ドメイン内外抽象化サービスに関して、スレーブ側からマスター側に、データ通知タイミングの変更を要求した。しかしながら、スレーブECU同士が通信可能に構成されている場合には、スレーブECUの第2OSプログラム同士の通信によって、スレーブ側の処理時間の整合を図っても良い。例えば、一方のスレーブECUの第2OSプログラムによる処理手順や処理時間の情報に基づいて、他方のスレーブECUの第2OSプログラムにおける、処理手順や処理時間を相互に整合するように調整する。このように、スレーブECU同士が協調すれば、互いの処理の時間整合等も容易に図ることが可能になる。
1 制御システム、11 運動ドメイン制御部、12 車両挙動制御部、13 前後挙動制御部、14 左右挙動制御部、15 ブレーキ制御部、16 ステアリング制御部、21 エネルギードメイン制御部、22 パワートレインコーディネータ、23 モータジェネレータコーディネータ、24 エンジン制御部、25 TM制御部、26 MG制御部、31 エンジン、32 トランスミッション、33 モータジェネレータ、34 ブレーキ装置、35 ステアリング装置、40 電子制御装置、41a PTCアプリケーション、41b OSプログラム、42 RTE、43 マイクロコントローラ抽象化層、44 ECU抽象化層、45 サービス層、46 複合ドライバ、47 マイクロコントローラ

Claims (6)

  1. 車両に搭載された車載機器(31〜33)を制御するために、第1の電子制御装置(40)と第2の電子制御装置(60、70、80)とが連携した処理を行う車両用制御システムであって、
    前記第1の電子制御装置と前記第2の電子制御装置とは、それぞれ、連携処理を行うための連携処理用アプリケーションプログラム(41a、61a、71a、81a)を有するとともに、それら連携処理用アプリケーションプログラムを協調して実行させるためのベーシックソフトウエアとしての役割を果たす、所定の役割分担の下に協調して動作する第1OSプログラム(41b)と第2OSプログラム(61b、71b、81b)とをそれぞれ有しており、
    前記第2の電子制御装置が保有する第2OSプログラムは、分担する役割が異なる複数の中から選定されたものであり、
    前記第1の電子制御装置が保有する第1OSプログラムは、分担する役割を変更可能に構成され、それにより、分担する役割が異なる複数の中のいずれの第2OSプログラムとも協調した動作を行うことが可能であって、
    前記第1の電子制御装置は、
    前記第2の電子制御装置から、前記第2OSプログラムが分担する役割についての情報を取得する取得部(S100)と、
    前記取得部により取得した、前記第2OSプログラムが分担する役割を示す情報に基づき、当該第2OSプログラムと協調して動作することができるように、第1OSプログラムの分担する役割を決定する決定部(S120)と、を備える車両用制御システム。
  2. オペレーティングシステムの役割として複数の項目があり、前記第1OSプログラムと前記第2OSプログラムとは、前記複数の項目について、それぞれ役割分担が定められており、
    前記第1の電子制御装置は、
    前記第2の電子制御装置に対して、特定の項目に関して伝達する情報の変更を通知する変更通知部(S140)と、
    前記変更通知部の変更指示に対応するように、前記特定の項目に関して前記第1OSプログラムが伝達する情報を変更する変更部(S150)と、を有する請求項1に記載の車両用制御システム。
  3. オペレーティングシステムの役割として複数の項目があり、前記第1OSプログラムと前記第2OSプログラムとは、前記複数の項目について、それぞれ役割分担が定められており、
    前記第2の電子制御装置は、
    前記第1の電子制御装置に対して、特定の項目の動作条件の変更要求を行う変更指示部(S240)を有し、
    前記第1の電子制御装置は、前記変更指示部からの変更指示に応じて、前記特定の項目の前記第1OSプログラムの動作条件を変更する動作条件変更部(S170)を有する請求項1に記載の車両用制御システム。
  4. 前記車両用制御システムは、複数の車載機器を制御するための複数の機器制御部(24〜26)と、複数の前記機器制御部の制御を統括するドメイン制御部(21〜23)とに階層化され、
    前記第1の電子制御装置は、前記ドメイン制御部が実装されたものであり、
    前記第2の電子制御装置は、前記機器制御部が実装されたものである請求項1乃至3のいずれかに記載の車両用制御システム。
  5. 前記車両用制御システムは、複数の車載機器を制御するための複数の機器制御部(24〜26)と、複数の前記機器制御部の制御を統括するドメイン制御部(21〜23)とに階層化され、
    前記ドメイン制御部は、少なくとも2つの電子制御装置により構成され、
    前記第1の電子制御装置及び前記第2の電子制御装置は、前記ドメイン制御部を構成する少なくとも2つの電子制御装置である請求項1乃至3のいずれかに記載の車両用制御システム。
  6. 前記車両用制御システムは、複数の車載機器を制御するための複数の機器制御部(24〜26)と、複数の前記機器制御部の制御を統括するドメイン制御部(21〜23)とに階層化され、
    さらに、前記ドメイン制御部の上位に位置付けられ、当該ドメイン制御部に対して制御指示を行う上位制御部(13)を備え、
    前記第1の電子制御装置は、前記上位制御部が実装されたものであり、
    前記第2の電子制御装置は、前記ドメイン制御部が実装されたものである請求項1乃至3のいずれかに記載の車両用制御システム。
JP2016010889A 2016-01-22 2016-01-22 車両用制御システム Active JP6504065B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016010889A JP6504065B2 (ja) 2016-01-22 2016-01-22 車両用制御システム
DE102017200286.7A DE102017200286A1 (de) 2016-01-22 2017-01-10 Fahrzeugsteuersystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016010889A JP6504065B2 (ja) 2016-01-22 2016-01-22 車両用制御システム

Publications (2)

Publication Number Publication Date
JP2017128308A true JP2017128308A (ja) 2017-07-27
JP6504065B2 JP6504065B2 (ja) 2019-04-24

Family

ID=59296106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016010889A Active JP6504065B2 (ja) 2016-01-22 2016-01-22 車両用制御システム

Country Status (2)

Country Link
JP (1) JP6504065B2 (ja)
DE (1) DE102017200286A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019155966A1 (ja) * 2018-02-08 2019-08-15 日立オートモティブシステムズ株式会社 コンピュータプログラム製品、演算装置
JPWO2021010224A1 (ja) * 2019-07-12 2021-01-21
JP2021103484A (ja) * 2019-12-25 2021-07-15 株式会社デンソー 車両用制御システムおよび車両制御装置
US11347892B2 (en) * 2019-11-27 2022-05-31 AO Kaspersky Lab System and method for access control in electronic control units of vehicles
US20220245266A1 (en) * 2019-11-27 2022-08-04 AO Kaspersky Lab System and method for providing a security policy
WO2023281784A1 (ja) * 2021-07-05 2023-01-12 日立Astemo株式会社 電子制御装置及び車載システム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000257501A (ja) * 1999-03-10 2000-09-19 Denso Corp 自動車用制御装置
US20020099484A1 (en) * 2000-06-20 2002-07-25 Hitachi, Ltd. Vehicle travel control apparatus
JP2006142994A (ja) * 2004-11-19 2006-06-08 Denso Corp 車両用ネットワークシステムおよび電子制御装置
JP2008301600A (ja) * 2007-05-30 2008-12-11 Sanyo Electric Co Ltd 電動車輌の分散制御システム
JP2009056817A (ja) * 2007-08-29 2009-03-19 Denso Corp 車載電子機器制御システム
JP2009129083A (ja) * 2007-11-21 2009-06-11 Denso Corp 車両制御装置およびそれを用いた車両制御システム
JP2012218621A (ja) * 2011-04-12 2012-11-12 Denso Corp 車載用電子制御装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000257501A (ja) * 1999-03-10 2000-09-19 Denso Corp 自動車用制御装置
US20020099484A1 (en) * 2000-06-20 2002-07-25 Hitachi, Ltd. Vehicle travel control apparatus
JP2006142994A (ja) * 2004-11-19 2006-06-08 Denso Corp 車両用ネットワークシステムおよび電子制御装置
JP2008301600A (ja) * 2007-05-30 2008-12-11 Sanyo Electric Co Ltd 電動車輌の分散制御システム
JP2009056817A (ja) * 2007-08-29 2009-03-19 Denso Corp 車載電子機器制御システム
JP2009129083A (ja) * 2007-11-21 2009-06-11 Denso Corp 車両制御装置およびそれを用いた車両制御システム
JP2012218621A (ja) * 2011-04-12 2012-11-12 Denso Corp 車載用電子制御装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019155966A1 (ja) * 2018-02-08 2019-08-15 日立オートモティブシステムズ株式会社 コンピュータプログラム製品、演算装置
JP2019139453A (ja) * 2018-02-08 2019-08-22 日立オートモティブシステムズ株式会社 ハイパーバイザ、演算装置
JPWO2021010224A1 (ja) * 2019-07-12 2021-01-21
WO2021010224A1 (ja) * 2019-07-12 2021-01-21 日立オートモティブシステムズ株式会社 セキュリティ処理装置
JP7177272B2 (ja) 2019-07-12 2022-11-22 日立Astemo株式会社 セキュリティ処理装置
US11347892B2 (en) * 2019-11-27 2022-05-31 AO Kaspersky Lab System and method for access control in electronic control units of vehicles
US20220245266A1 (en) * 2019-11-27 2022-08-04 AO Kaspersky Lab System and method for providing a security policy
US11640481B2 (en) * 2019-11-27 2023-05-02 AO Kaspersky Lab System and method for providing a security policy
JP2021103484A (ja) * 2019-12-25 2021-07-15 株式会社デンソー 車両用制御システムおよび車両制御装置
JP7310597B2 (ja) 2019-12-25 2023-07-19 株式会社デンソー 車両用制御システムおよび車両制御装置
WO2023281784A1 (ja) * 2021-07-05 2023-01-12 日立Astemo株式会社 電子制御装置及び車載システム

Also Published As

Publication number Publication date
JP6504065B2 (ja) 2019-04-24
DE102017200286A1 (de) 2017-07-27

Similar Documents

Publication Publication Date Title
JP6504065B2 (ja) 車両用制御システム
JP4059194B2 (ja) 車両の統合制御システム
US8442699B2 (en) Vehicle integrated control system
Fijalkowski Automotive mechatronics: operational and practical issues: volume I
JP4225025B2 (ja) 車両統合制御システム
US20070142987A1 (en) Vehicle integrated control system
WO2004000598A1 (ja) 車両制御情報伝達構造、この伝達構造を用いた車両制御装置、およびこの伝達構造を用いた車両制御シミュレータ
JP6583182B2 (ja) 車両用制御システム
JP6477430B2 (ja) 電子制御装置
JP2007253792A (ja) 車両用電子制御装置のソフトウェアシステムおよびその設計方法
JP6848392B2 (ja) 車両用制御システム
CN113895448B (zh) 域控制器间的协同交互控制架构及其控制方法
JP2009137582A (ja) 車両の統合制御システム
JP2017105362A (ja) 制御システム
CN108657087A (zh) 车辆的底盘控制系统
US11780500B2 (en) Control device, manager, method, non-transitory storage medium, and vehicle
JP6398864B2 (ja) 制御システム
JP7396429B2 (ja) 制御装置、制駆動力制御システム、方法、およびプログラム
JP6406082B2 (ja) 制御システム
CN219687244U (zh) 一种控制器及车辆
JP2017030633A (ja) 制御システム
WO2022259655A1 (ja) 車両制御装置および車両制御システム
Yoshimura et al. Cost-Effective and Fault Tolerant Vehicle Control Architecture for X-by-Wire Systems (Part 1: Architecture Design Based on the Concept of Autonomous Decentralized Systems)
Isermann Automotive Control
Pan-Ngum Alternative vehicle electronic architecture for individual wheel control

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190311

R151 Written notification of patent or utility model registration

Ref document number: 6504065

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250