JP6245616B2 - 制御システム及び方法 - Google Patents

制御システム及び方法 Download PDF

Info

Publication number
JP6245616B2
JP6245616B2 JP2016084643A JP2016084643A JP6245616B2 JP 6245616 B2 JP6245616 B2 JP 6245616B2 JP 2016084643 A JP2016084643 A JP 2016084643A JP 2016084643 A JP2016084643 A JP 2016084643A JP 6245616 B2 JP6245616 B2 JP 6245616B2
Authority
JP
Japan
Prior art keywords
task
subsystem
purpose processor
safety level
general
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.)
Active
Application number
JP2016084643A
Other languages
English (en)
Other versions
JP2016207215A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Publication of JP2016207215A publication Critical patent/JP2016207215A/ja
Application granted granted Critical
Publication of JP6245616B2 publication Critical patent/JP6245616B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Safety Devices In Control Systems (AREA)
  • Vehicle Body Suspensions (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Description

本発明は、制御システム及び方法に関する。
現代の自動車(自動車両)は、車両の種々の機能を制御する70以上の異なる制御システムを含む高度に洗練されたシステムである。これらの制御システムはセンサ及び/又はアクチュエータを含み、又、ドアロックのような単純なシステムから、エンジン制御装置、トランスミッション制御装置、安定制御装置、アクティブサスペンションなどのような、より複雑なシステムまで関連している。
現在、自動車の電子アーキテクチャは、一般に、共有ネットワークインターフェース、或いはCANバス等のバスを介して互いに通信する多くの自立的なサブシステムから成っている。これらの種々のサブシステムは、更に、多様なサプライヤーによって組み立てられ、各サブシステムはそれ自体のハードウェアとそれ自体のソフトウエア設計を有する。従って、このことが、種々のサブシステムの車内での統合、試験、サブシステムのトラブルシューティングを困難なものとし、又、時間を浪費するものとしている。更に、各サブシステムは、一般に、アクチュエータを駆動するために、一つ以上のセンサの状態を判定し、適切な出力信号を出力するそれ自体のプロセッサを備えており、個々のシステムのトータルコストはかなり高くなる。
自動車の現代の電子アーキテクチャでは、最新式にすること、即ち、既に製造され、及び/又は消費者に供給された自動車に新しい機能を導入することが困難である。事実上、多くの場合、一度完成した自動車に新しい機能を組み込むことは不可能である。たとえ新しい機能を組み込むことが可能だとしても、一つ以上の複合部品、或いはサブシステム全体を完全に交換することが必要となり、その組み込みのトータルコストが増えることとなる。更に、自動車全体の広範囲に及ぶ安全試験を受けることが必要になるので、ステアバイワイア又は自律運転サブシステム等の安全性重視の多くの機能において自動車の数個の部品を交換することは実現可能な解決策ではない。
本発明の目的は、コストを低減しつつ機能を容易にアップデートすることができる制御システム及び方法を提供することにある。
上記目的を達成するために、本発明は、車両の状態を検知するセンサ、及び/又は、駆動時に車両の機能を実行するアクチュエータをそれぞれが有する複数のサブシステムと、各サブシステムの動作とそれぞれが関連する複数のソフトウエアアプリケーションがプログラムされた汎用プロセッサと、前記汎用プロセッサと前記複数のサブシステムを接続するバスとを備えた制御システムであって、各サブシステムは、前記汎用プロセッサからの命令を受け取り、及び/又は、前記バスを介してサブシステムタスクを前記汎用プロセッサに送る通信インターフェースを有し各サブシステムタスクに安全に関するサブシステムの重要度を示す安全レベルが割り当てられ、前記汎用プロセッサは、予め設定された時間の間に、各サブシステムから受け取った多数のサブシステムタスクの実行の順序に前記安全レベルに基づいて優先順位を付けるタスクアービトレータを有し、前記汎用プロセッサは、前記タスクアービトレータによって付けられた優先順位に従って前記サブシステムタスクの前記サブシステムと関連する前記ソフトウエアアプリケーションの実行を開始し、その後、前記関連するソフトウエアアプリケーションの実行の結果として、前記バスを介して制御信号を一つ以上のサブシステムに伝送する。
本発明によれば、コストを低減しつつ機能を容易にアップデートすることができる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
本発明の実施形態による制御システムを備えた電気自動車を示す図である。 汎用プロセッサのブロック図である。 共有メモリを示すブロック図である。 タスクアービトレータの動作を示すフローチャートである。 タスクアービトレータの動作の一部を示すフローチャートである。 タスクアービトレータの動作の一部を示すフローチャートである。 共有モードにおけるタスク分配器のワークフローを示す図である。 共有モードにおけるタスク分配器のタスク割り当てワークフローを示す図である。 分離モードにおけるタスク分配器のワークフローを示す図である。 タスク分配器の動作を示すフローチャートである。 タスクアービトレータの動作を説明するための表である。 共有モード及び分離モードにおけるタスク分配器の動作を説明するための表である。
以下、図面を用いて、本発明の実施形態による制御システム等の構成及び動作について説明する。なお、各図において、同一符号は同一部分を示す。
図1には、電気自動車等の車両20のための複数の車両サブシステムが示されている。種々のサブシステムが、例としてのみ示されており、例えば、レーダセンササブシステム22、電動モータ制御サブシステム24、ブレーキアクチュエータサブシステム26、アクティブサスペンションサブシステム28、ステレオカメラサブシステム30、バックアップカメラサブシステム32、インフォテインメントサブシステム34、バッテリサブシステム35を含む。更に、電動モータ制御サブシステム24、ブレーキアクチュエータサブシステム26、アクティブサスペンションサブシステム28などの一部のサブシステムは、四つの車輪36のそれぞれに対して設けられる(繰り返される)。
車両には汎用プロセッサ40が含まれる。汎用プロセッサ40は、好ましくは、非同期通信を用いて、バス42(電子バス)を介して種々のサブシステム22〜35と通信する。
種々の車両サブシステムはそれらの名前が意味するような機能を実施する。例えば、レーダセンササブシステム22は車両20の前方の障害物を検知して、その情報を汎用プロセッサ40に送信する。同様に、電動モータ制御サブシステム24は各車輪36と関連して、車両20を推進する電動モータの作動を制御する。同様に、ブレーキアクチュエータサブシステム26は車両を減速するためブレーキの作動を制御する。
同様に、アクティブサスペンションサブシステム28は、各車輪36のサスペンションシステムの高さと剛性を制御する。各車輪36のサスペンションシステムの減衰は、減衰特性を動的に変化させるために用いられ、乗員の快適性、走行体験、或いは他の目的を最適化する。
ステレオカメラサブシステム30は、車両前方の対象物のステレオ画像をリアルタイムで撮影し、これらの画像をバス42を介して汎用プロセッサ40に送信する。そのようなカメラの画像は、障害物を検知し、交通標識を読み取り、車線の逸脱を判定し、又は他の目的のため、汎用プロセッサ40による画像処理で利用されてもよい。同様に、バックアップカメラサブシステム32は車両のバックアップカメラの駆動を制御する。
インフォテインメントサブシステム34は、ラジオ、MP3プレイヤー、A/Cコントロール、GPSナビゲーションシステム、CDプレイヤーなどを統合する。バッテリサブシステム35は、充電、メンテナンス、モニタリングなどの車両バッテリに関連するすべての機能を制御する。
すべてのサブシステム22〜35(図1)はバス42を介して汎用プロセッサ40と通信する。好ましくは、図2に示すように、汎用プロセッサ40は複数の処理装置44、46、48を有しているが、代わりに、汎用プロセッサ40は、各コアが他のコアから独立してアルゴリズムを実施することができる多数のコアを有する一つ以上のプロセッサを含んでもよい。
汎用プロセッサ40は、汎用プロセッサ40と種々のサブシステム間の通信を制御するI/Oコントローラ50を有している。このI/Oコントローラ50は汎用プロセッサ40の内部バス52に通じ、種々の処理装置44〜48と通信する。加えて、汎用プロセッサ40は永続記憶装置54(記憶装置)を有しており、この永続記憶装置54はバス52を介して処理装置44〜48と通信する。この永続記憶装置54は種々のアプリケーションソフトウェアを含んでおり、一つのアプリケーションソフトウェアはサブシステム22〜35(図1)のそれぞれと関連し、サブシステム22〜35からセンサ信号若しくはタスクを受け取り、及び/又は、汎用プロセッサ40からバス42を介してサブシステムに戻す出力制御信号を生成する。
図2と図3に示すように、汎用プロセッサ40は、異なるメモリパーテッションに含まれる複数のアプリケーションを有する共有メモリ56を備え、一つのアプリケーションは、車両のサブシステム22〜35の一つと関連している。例えば、アプリケーション60は車両モニターアプリケーションを、アプリケーション62は適応クルーズ制御アプリケーションを、アプリケーション64はモータ制御アプリケーションを、アプリケーション66はブレーキ制御アプリケーションを、それぞれ対象としたものである。更に、四つのアプリケーション60〜66は、すべて、車両20の安全操作にとって極めて重要であり、そのため、すべて、共有メモリ56において同じ安全レベルに置かれている。ここで、安全レベルは、安全に関するサブシステムの重要度を示す。
逆に、アプリケーション60〜66ほど安全重視ではないアプリケーションが、共有メモリ56の第二のレベル(安全レベル)に位置付けられている。この第二のレベルには、レーダーアプリケーション68、ステレオカメラアプリケーション70、安定制御アプリケーション72、バッテリ制御アプリケーション74などが含まれる。これらのアプリケーション68〜74のすべてが車両の操作にとって重要であるが、車両の安全操作にとって極めて重要であるというわけでない。
最後に、車両の安全操作に殆どあるいは全く影響を与えないアプリケーションが、更に他のレイヤに位置付けられている。これらのアプリケーションにはリアビューカメラアプリケーション76とインフォテインメントアプリケーション78が含まれる。これらの両方のアプリケーションは、車両の安全操作に悪影響を与えることなく全く機能しないこともあり得る。
次いで、サブシステム22〜35の一つから受信したタスク信号に応じたアプリケーションの実行が、詳細に後述されるように、処理装置44〜48の一つに割り当てられる。そのプログラムの実行に続いて、特定のサブシステムと関連するアルゴリズムを実行する処理装置44〜48は、出力制御信号を生成する。この制御信号は、バス52、I/Oコントローラ50及びバス42を介して一つ以上の適切なサブシステム22〜35に戻るが、それは元のタスク信号を生成するサブシステム22〜35と同じであってもよく、或いは異なってもよい。いずれにしろ、汎用プロセッサ40によって一つ以上のサブシステム22〜35に送り戻された制御信号は、次いで、一般的には、アクチュエータを駆動して車両のある機能を実行する。この車両の機能は、車速がある閾値を越えた時に車のドアをロックするような単純なものでもよく、或いは、ブレーキアクチュエータサブシステム26でブレーキを駆動するような複雑なものでもよい。
種々のサブシステム22〜35から受信したタスク信号は仮想バス80によってタスクアービトレータ82に結び付けられる。タスクアービトレータ82は、それらの安全レベルに応じて所定の時間内にサブシステムから受信したすべてのタスク信号に優先順位を付ける。タスクアービトレータ82の動作を示すフローチャートが図4に示されている。ステップ90で開始した後、ステップ90はステップ92に進み、タスク信号を収集する時間が時間ΔTに等しい時間Tに設定される。一般的に、Tは数ミリ秒である。ステップ92は次いでステップ94に進む。
ステップ94において、タスクアービトレータ82は、時間T−TΔとTの間に受信したすべてのタスク信号を収集する。すべてのタスク(タスク信号が示すタスク)は安全レベルに関係なく収集される。次いで、ステップ94はステップ96に進む。
次いで、ステップ96では、タスクアービトレータ82は時間ΔTの間に受信したすべてのタスクに対する安全レベルを特定する。次いで、ステップ96はステップ98に進み、タスクアービトレータ82は安全レベルに応じて受信したタスクを並べる、即ち、優先順位を付ける。ステップ98は図5により詳細に記載される。
図5に示すように、アルゴリズムがステップ100で開始した後、ステップ100はステップ102に進む。ステップ102において、タスクが安全レベルごとにグループ化される。本実施形態では、0レベルは最高の安全レベルである。その結果、ステップ102の後、レベル0のすべてのタスク、レベル1のすべてのタスク、レベル2のすべてのタスクなどのように、それぞれグループ分けされる。ステップ102は次いでステップ104に進む。
ステップ104において、安全レベルL_Sは0に、即ち最高安全レベルに設定される。ステップ104は次いでステップ106に進み、安全レベルL_Sが最大閾値L_S_MAXと比較される。安全レベルL_Sが最大安全レベルL_S_MAXより低い場合(ステップ106:YES)、これはステップ106の最初の実行の間に常に発生するのだが(処理すべきタスクが存在すると仮定して)、ステップ106はステップ108に進む。そうでない場合(ステップ106:NO)には、ステップ106はステップ110に分岐し、アルゴリズムを終了する。
ステップ108において、アルゴリズムは同じ安全レベルL_Sのグループのタスクを並べる。ステップ108のアルゴリズムは図6により詳細に示される。
図6に示すように、ステップ112でアルゴリズムを開始した後、ステップ112はステップ114に進み、一つの安全レベル(同じ安全レベル)のすべてのタスクが集められる。次いで、ステップ114はステップ116に進み、現タスク優先度を記憶するために用いる変数L_Tがまず0に設定される。ステップ116は次いでステップ118に進む。ステップ118で、まず、変数L_Tはその変数の最大閾値L_T_MAXと比較される。最大閾値と等しい場合(ステップ118:NO)には、ステップ118はステップ120に分岐し、サブキューを、メインキュー122(図3)に送る。ここで、各タスクは同じ安全レベルである。次いで、ステップ120はステップ124に進み、アルゴリズムを終了する。
逆に、変数L_Tが最大閾値L_TMAXより小さい場合(ステップ118:YES)には、ステップ118はその代わりにステップ126に進み、タスク優先度L_Tを有するタスクがサブキューに加えられる。更に、ステップ126では、同じ安全レベルを有するすべてのタスクをサブキューに加え、次いで、ステップ128に進む。
ステップ128において、安全レベルを示す変数L_Tがインクリメントされ、ステップ128はステップ118に戻る。上記プロセスは繰り返され、この時、すべての安全レベルが処理されるまで次に高い安全レベルが新規のサブキューを形成する。すべての安全レベルが処理されたとき、ステップ118はステップ120に分岐し、次いで、ステップ124に進み、すべての命令されたタスク、又は全ての優先付けされたタスクがタスクアービトレータ82からメインキュー122(図3)に並べられる。
もちろん、上記の全プロセスが各時間セグメントΔTで繰り返されることは理解されるであろう。一般的に容易に管理できる数のタスクがいつでもメインキュー122に形成されるように、ΔTは一般的に数ミリ秒に等しい。
図5に戻り、同じ安全レベルのすべてのタスクが特定され、かつサブキューに形成された後、ステップ108はステップ130に進み、それらのタスクは次いでメインキュー122(図3)にシフトされる。ステップ130は次いでステップ132に進み、安全レベルL_Sがインクリメントされる。ステップ132は次いでステップ106に戻り、上記プロセスは、すべての安全レベルがステップ106で決められたように処理されるまで、次の安全レベルに対して繰り返される。そこで、タスクアービトレータ82のアルゴリズムはステップ110においてその時間間隔ΔTで終了する。
このようにして、タスクアービトレータ82は、最高安全レベル0のタスクがキューの始めで、最低安全レベル3がキュー122の後方になるように、タスクをメインキュー122に並べる、即ち優先順位に並べることが分かるであろう。従って、高位の優先順位のタスクが低位の優先順位の安全タスクの前に確実に実行される。
図5に示されたアルゴリズムが完了した後、図4に戻り、ステップ98はステップ134に進み、ここで、時間がΔTだけインクリメントされる。ステップ134は次いでステップ94に戻り、ここで、上記プロセスがタスクアービトレータ82によって繰り返される。
図11はタスクアービトレータ82によって実施されるタスク140の優先順位づけを示している。特に、図11(a)は、タスクID1〜6をタスクアービトレータ82が受け取った順番に示している。これらのタスクID1〜6は、最高レベルの0から最低レベルの3の範囲の異なる安全レベルを有している。各タスクIDはタスク優先度とアプリケーションIDも有している。すべてのタスクID1〜6は時間窓(T−ΔT)〜T内に受け取られる。
図11(b)は、タスクアービトレータ82によって優先順位づけられた後のタスクを示している。明瞭に示されているように、最高安全レベル0のタスクが最初に配置され、次いで、安全レベル1、2、3が続く。
図3に戻り、メインキュー122は、次いで、入力としてタスク分配器142と結合され、タスク分配器142は、複数の処理装置44、46、48のどれがメインキュー122から出た複数のタスク140を実行するかを決定する。タスク分配器142は共有モードあるいは分離モードで操作可能であるが、それぞれのモードについては別々に説明する。次いで、図3と図7に示すように、共有モードにおいて、タスク分配器142は、メインキュー122から受け取った複数のタスク140を最低CPU負荷の処理装置44〜48に割り当てる。共有モードのタスク分配器142のアルゴリズムが図7に示されている。ここで、ステップ150で開始した後、ステップ150はステップ152に進む。ステップ152において、アルゴリズムはタスク分配器142(タスクマネージャー)を共有モードに設定する。次いで、ステップ152はステップ154に進む。
ステップ154において、一つのタスク140をメインキュー122から受け取る。新規のタスクがある場合、ステップ154はステップ156に進み、タスク分配器142がそのタスク140を最低CPU負荷のCPU44〜48に割り当てる。タスク分配器142がすべてのタスク140を受け取り、処理するまで、ステップ156はステップ154に戻る。すべてのタスクが処理された後、少なくとも時間間隔ΔTの間、新規の複数のタスク140をメインキュー122から受け取るまでステップ154は単にそのステップ154に戻るように分岐する。
ステップ156が図8により詳細に示されている。ステップ160でアルゴリズムが開始後、ステップ160はステップ162に進み、ここで、メインキュー122から一つのタスク140を受け取る。ステップ162は次いでステップ164に進む。
ステップ164で、現在のCPU識別子CRT_CPU_IDが0に設定される。次に利用可能なCPU識別子ASGD_CPU_IDが現在のCPU識別子CRT_CPU_IDに設定される。次いで、ステップ164はステップ166に進む。ステップ166で、アルゴリズムは、現在のCPU識別子CRT_CPU_IDが処理装置44〜48の最後かどうかを判定する。最後でなければ、ステップ166はステップ168に進む。ステップ168において、利用可能なCPUのCPU負荷ASGD_CPU_LOADが現在のCPUのCPU負荷CRT_CPU_LOADより大きいか判定される。もしそうならば(ステップ168:YES)、ステップ168はステップ170に進み、利用可能なCPU識別子ASGD_CPU_IDが現在のCPU識別子CRT_CPU_IDに設定され、利用可能なCPU負荷ASGD_CPU_LOADが現在のCPU負荷CRT_CPU_LOADに割り当てられる。ステップ170は次いでステップ172に進む。同様に、ステップ168で利用可能なCPU負荷が現在のCPU負荷より小さい場合(ステップ168:NO)、ステップ168は直接ステップ172に進む。その結果、ステップ168と170は共に、タスクを最低演算負荷の利用可能なCPU識別子ASGD_CPU_IDに対応する処理装置に確実に割り当てる。その割り当ては、最後の処理装置44〜48がステップ166で処理された後、ステップ174で発生する。次いで、アルゴリズムはステップ176で終了する。
図12(a)は共有モードにおけるCPU識別子(CPU ID)0〜3毎の処理装置44〜48の割り当てを示している。タスク分配器142が共有モードで作動しているとき、タスクは、最も利用可能な演算負荷の処理装置44〜48に割り当てられる。
タスク分配器142は分離モードで作動してもよい。分離モードにおいて、一つ以上の処理装置44〜48がそれぞれ特定の安全レベルに割り当てられる。分離モードの動作が図9に最もよく示されている。図9において、ステップ180でアルゴリズムの開始後、ステップ180はステップ182に進み、タスク分配器142は分離モードに設定される。ステップ182は、次いで、ステップ184に進む。
ステップ184において、タスク分配器142は、メインキュー122からの新規のタスクがあるかどうか判定する。新規のタスクがない場合は、ステップ184は、単に同ステップに戻るように分岐する。しかしながら、一つのタスク140が利用できるときには、その代わりに、ステップ184はステップ186に分岐し、メインキュー122からの複数のタスク140が指定された処理装置44〜48に割り当てられる。ステップ186で実行されるアルゴリズムは図10により詳細に示される。
次いで図10に示すように、ステップ188でアルゴリズムを開始後、ステップ188はステップ190に進み、タスク分配器142は一つのタスク140をメインキュー122から受け取る。ステップ190は次いでステップ192に進む。
ステップ192において、タスク分配器142はタスク140の指定CPU情報を得る。ステップ192は次いでステップ194に進み、現在の指定CPU識別子CRT_DESIG_CPU_IDを0に割り当て、利用可能なCPU識別子ASGD_CPU_IDを現在の指定CPU識別子に割り当てる。ステップ194は次いでステップ196に進む。
ステップ196において、アルゴリズムは、一つ以上のCPUが、タスクの特定の安全負荷(安全レベル)を取り扱うように指定されているかどうかを判定する。その特定安全レベルに割り当てられた一つの処理装置だけが存在する場合、ステップ196はステップ198に分岐し、次いで、ステップ200でアルゴリズムを終了する。
逆に、多くの状況において、特に高位の安全レベルのタスクの場合、二つ以上の処理装置44〜48が特定安全レベルに割り当てられる。この場合、ステップ196はステップ202に進み、現在の指定CPU識別子CRT_DESIG_CPU_IDが最後の指定された処理装置44〜48であるか判定する。もしそうならば(ステップ202:YES)、ステップ202はステップ198に分岐し、タスクを処理装置に割り当て、次いで、ステップ200で終了する。そうでない場合(ステップ202:NO)、ステップ202はステップ204に進む。
ステップ204において、利用可能な処理装置の負荷が現在の指定CPU負荷CRT_DSIG_CPU_LOADと比較され、大きい場合には(ステップ204:YES)、ステップ204はステップ206に分岐する。そうでない場合には(ステップ204:NO)、ステップ204はステップ208に進み、利用可能なCPU識別子ASGD_CPU_IDは、現在の指定CPU識別子CRT_DESIG_CPU_IDに設定される。同様に、利用可能なCPU負荷ASGD_CPU_LOADは現在のCPU負荷CRT_DSIG_CPU_LOADに設定される。ステップ208は、次いで、ステップ206に進む。ステップ206でステップ202に戻り、特定安全レベルのすべての処理装置が調査されるまで、次の利用可能な処理装置が調査され、特定安全レベルに対し現在の演算負荷が最低である利用可能な処理装置が決定される。
図12(b)は分離モードにおけるタスク分配器142によるタスクの割り当てを示している。分離モードにおいて、CPU ID(CPU識別子)が0の処理装置44〜48は、安全レベル0のタスクだけを処理するように割り当てられる。一方、CPU IDが1の処理装置は安全レベル1〜2のタスクを処理するのに対し、CPU IDが2の処理装置は安全レベル3〜4のタスクを処理し、以下同様となる。
上述のことから、本発明が提供する自動車用電子制御システムにおいて、タスクを分析するためだけでなく、適切な出力信号を種々の車両システムの種々のアクチュエータに提供するために必要な演算能力が、汎用プロセッサによって集中制御される、ということがわかるであろう。次に、これによって、個々のシステム(サブシステム)は中央処理装置としての汎用プロセッサのソフトウエアを単にアップデートすることによって容易にアップデートされることが可能となる。更に、中央処理装置としての汎用プロセッサによって、車両の個々のシステムによって使用されるプロセッサの数、及び/又は、電力が削減され、これによって、車両の制御システムのトータルコストが低減される。
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上述した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
上記実施形態では、制御システムを電気自動車に適用しているが、内燃機関で駆動される自動車に適用してもよい。この場合、センサは、例えば、エンジンの状態を検知する。
なお、本発明の実施形態を要約すると以下の通りである。
本発明は、既知の電子システムの不都合を解消する自動車用の制御システムを提供する。
要するに、本発明の実施形態による制御システムは複数のサブシステムを有する自動車用に設計されている。更に、各サブシステムは、一つ以上のセンサ、及び/又は、アクチュエータを含み、作動時に、それらは状態を測定するか、又は車両の機能を実行する。サブシステムは、特に、レーダセンササブシステム、ブレーキアクチュエータサブシステム、アクティブサスペンションサブシステム、インフォテインメントサブシステム、バックアップカメラなどを含む。
本発明の実施形態による制御システムは、汎用プロセッサを有し、好ましくは、多数の処理装置、又、代替的には、多数のコアを有する単一の処理装置から構成される。この汎用プロセッサは、複数のソフトウエアアプリケーションがプログラムされ、それぞれのソフトウエアアプリケーションは車両のサブシステムの一つの動作と関連づけられる。好ましくは、すべてのソフトウエアは汎用プロセッサにアクセス可能な異なるメモリパーティションに含まれる。
バス(電子バス)は、汎用プロセッサと車両のサブシステムを電気的に接続する。このバスを介して、汎用プロセッサとサブシステムとの間で通信が行われる。
各サブシステムは、汎用プロセッサから命令を受け取り、及び/又は、センサ信号若しくはタスクをバスを介して汎用プロセッサに送る通信インターフェースを有する。汎用プロセッサとサブシステム間の通信にCANバスを用いてもよい。
バスと汎用プロセッサの間にタスクアービトレータが介在する。タスクアービトレータは、例えば、数ミリ秒間のような、予め設定された時間の間に、汎用プロセッサが受け取った多数のセンサ信号の実行順序に優先順位(優先度)を付ける。アービトレータによる多数のセンサ信号の優先順位付けは、センサ信号の安全レベルに応じて実施される。例えば、ブレーキアクチュエータ又はレーダセンサから受けたタスクにはインフォテインメントサブシステムから受けたタスクよりはるかに高い優先度が割り当てられる。
汎用プロセッサは、次いで、タスクアービトレータから受けたセンサ信号のサブシステムと関連するソフトウエアアプリケーションの実行を開始する。その後、汎用プロセッサは、関連するソフトウエアアプリケーションの実行の結果として、制御信号をバスを介して一つ以上のサブシステムに伝送する。
20…車両
22…レーダセンササブシステム
24…電動モータ制御サブシステム
26…ブレーキアクチュエータサブシステム
28…アクティブサスペンションサブシステム
30…ステレオカメラサブシステム
32…バックアップカメラサブシステム
34…インフォテインメントサブシステム
35…バッテリサブシステム
36…車輪
40…汎用プロセッサ
42…バス
44〜48…処理装置
50…コントローラ
52…内部バス
54…永続記憶装置
56…共有メモリ
60〜78…アプリケーション
80…仮想バス
82…タスクアービトレータ
122…メインキュー
142…タスク分配器

Claims (16)

  1. 車両の状態を検知するセンサ、及び/又は、駆動時に車両の機能を実行するアクチュエータをそれぞれが有する複数のサブシステムと、
    各サブシステムの動作とそれぞれが関連する複数のソフトウエアアプリケーションがプログラムされた汎用プロセッサと、
    前記汎用プロセッサと前記複数のサブシステムを接続するバスとを備えた制御システムであって
    各サブシステムは、前記汎用プロセッサからの命令を受け取り、及び/又は、前記バスを介してサブシステムタスクを前記汎用プロセッサに送る通信インターフェースを有し
    各サブシステムタスクに安全に関するサブシステムの重要度を示す安全レベルが割り当てられ、
    前記汎用プロセッサは、予め設定された時間の間に、各サブシステムから受け取った多数のサブシステムタスクの実行の順序に前記安全レベルに基づいて優先順位を付けるタスクアービトレータを有し、
    前記汎用プロセッサは、前記タスクアービトレータによって付けられた優先順位に従って前記サブシステムタスクの前記サブシステムと関連する前記ソフトウエアアプリケーションの実行を開始し、
    その後、前記関連するソフトウエアアプリケーションの実行の結果として、前記バスを介して制御信号を一つ以上のサブシステムに伝送することを特徴とする制御システム。
  2. 前記汎用プロセッサは複数の処理装置を備えることを特徴とする請求項1に記載の制御システム。
  3. 前記処理装置は多数のコアプロセッサを備えることを特徴とする請求項2に記載の制御システム。
  4. 前記タスクアービトレータは、前記安全レベル及びタスク優先度に基づいて多数のサブシステムタスクの実行の順序に優先順位を付けることを特徴とする請求項2に記載の制御システム。
  5. 前記汎用プロセッサは複数の処理装置とタスク分配器を備え、前記タスク分配器は前記タスクアービトレータから前記サブシステムタスクを受け取り、前記サブシステムタスクをそれぞれ、選択された処理装置に送ることを特徴とする請求項4に記載の制御システム。
  6. 前記タスク分配器は演算負荷が最低の前記処理装置を決定し、サブシステムタスクを、決定された前記処理装置に割り当てることを特徴とする請求項5に記載の制御システム。
  7. 各処理装置に安全レベルが割り当てられ、前記タスク分配器は、前記サブシステムタスクの前記安全レベルと同じ安全レベルが割り当てられた処理装置を決定し、サブシステムタスクを、決定された前記処理装置に割り当てることを特徴とする請求項5に記載の制御システム。
  8. 前記制御システムは、前記汎用プロセッサがアクセス可能なメモリを備え、前記ソフトウエアアプリケーションは異なるメモリパーティションに保持されることを特徴とする請求項1に記載の制御システム。
  9. エンジンの状態を検知するセンサ、及び/又は、車両の機能を実行するアクチュエータをそれぞれが有する複数のサブシステムを備える車両を制御する方法であって、
    各サブシステムの動作とそれぞれが関連する複数のソフトウエアアプリケーションがプログラムされた汎用プロセッサを提供するステップと、
    前記汎用プロセッサと前記複数のサブシステムを接続するバスを提供するステップとを備え、
    各サブシステムは、前記汎用プロセッサからの命令を受け取り、及び/又は、前記バスを介してサブシステムタスクを前記汎用プロセッサに送る通信インターフェースを有し、
    各サブシステムタスクに安全に関するサブシステムの重要度を示す安全レベルが割り当てられ、
    前記汎用プロセッサは、予め設定された時間の間に、各サブシステムから受け取った多数のサブシステムタスクの実行の順序にタスクアービトレータで前記安全レベルに基づいて優先順位を付けるステップと、
    前記汎用プロセッサは、前記タスクアービトレータによって付けられた優先順位に従って前記サブシステムタスクの前記サブシステムと関連する前記ソフトウエアアプリケーションの実行を開始するステップと、
    前記汎用プロセッサは、その後、前記関連するソフトウエアアプリケーションの実行の結果として、制御信号を前記バスを介して一つ以上のサブシステムに伝送するステップを備えることを特徴とする方法。
  10. 前記汎用プロセッサは複数の処理装置を備えることを特徴とする請求項9に記載の方法。
  11. 前記処理装置は多数のコアプロセッサを備えることを特徴とする請求項10に記載の方法。
  12. 前記タスクアービトレータは、各サブシステムタスクに割り当てられた安全レベルに基づいて、多数のサブシステムタスクの実行の順序に優先順位を付けることを特徴とする請求項10に記載の方法。
  13. 前記汎用プロセッサは複数の処理装置とタスク分配器を備え、前記タスク分配器は前記タスクアービトレータから前記複数のサブシステムタスクを受け取り、前記複数のサブシステムタスクをそれぞれ選択された処理装置に送ることを特徴とする請求項12に記載の方法。
  14. 前記タスク分配器は、演算負荷が最低の前記処理装置を決定し、前記サブシステムタスクの実行を、決定された前記処理装置に割り当てるステップを備えることを特徴とする請求項13に記載の方法。
  15. 各処理装置に安全レベル割り当てられ、前記タスク分配器は、前記サブシステムタスクの前記安全レベルと同じ安全レベルが割り当てられた処理装置を決定し、サブシステムタスクを、決定された前記処理装置に割り当てることを特徴とする請求項13に記載の方法。
  16. 前記方法は、前記汎用プロセッサがアクセス可能なメモリを備え、前記ソフトウエアアプリケーションが異なるメモリパーティションに保持されることを特徴とする請求項9に記載の方法。
JP2016084643A 2015-04-20 2016-04-20 制御システム及び方法 Active JP6245616B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/690,821 2015-04-20
US14/690,821 US9694765B2 (en) 2015-04-20 2015-04-20 Control system for an automotive vehicle

Publications (2)

Publication Number Publication Date
JP2016207215A JP2016207215A (ja) 2016-12-08
JP6245616B2 true JP6245616B2 (ja) 2017-12-13

Family

ID=57128680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016084643A Active JP6245616B2 (ja) 2015-04-20 2016-04-20 制御システム及び方法

Country Status (2)

Country Link
US (1) US9694765B2 (ja)
JP (1) JP6245616B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10373259B1 (en) 2014-05-20 2019-08-06 State Farm Mutual Automobile Insurance Company Fully autonomous vehicle insurance pricing
US9754325B1 (en) 2014-05-20 2017-09-05 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation feature monitoring and evaluation of effectiveness
US10599155B1 (en) 2014-05-20 2020-03-24 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation feature monitoring and evaluation of effectiveness
US11669090B2 (en) 2014-05-20 2023-06-06 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation feature monitoring and evaluation of effectiveness
US9972054B1 (en) 2014-05-20 2018-05-15 State Farm Mutual Automobile Insurance Company Accident fault determination for autonomous vehicles
US10387962B1 (en) 2014-07-21 2019-08-20 State Farm Mutual Automobile Insurance Company Methods of reconstructing an accident scene using telematics data
US9946531B1 (en) 2014-11-13 2018-04-17 State Farm Mutual Automobile Insurance Company Autonomous vehicle software version assessment
US10163350B1 (en) 2015-08-28 2018-12-25 State Farm Mutual Automobile Insurance Company Vehicular driver warnings
US10134278B1 (en) 2016-01-22 2018-11-20 State Farm Mutual Automobile Insurance Company Autonomous vehicle application
US10386845B1 (en) 2016-01-22 2019-08-20 State Farm Mutual Automobile Insurance Company Autonomous vehicle parking
US11441916B1 (en) 2016-01-22 2022-09-13 State Farm Mutual Automobile Insurance Company Autonomous vehicle trip routing
US11719545B2 (en) 2016-01-22 2023-08-08 Hyundai Motor Company Autonomous vehicle component damage and salvage assessment
US11242051B1 (en) 2016-01-22 2022-02-08 State Farm Mutual Automobile Insurance Company Autonomous vehicle action communications
US10395332B1 (en) 2016-01-22 2019-08-27 State Farm Mutual Automobile Insurance Company Coordinated autonomous vehicle automatic area scanning
US10324463B1 (en) 2016-01-22 2019-06-18 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation adjustment based upon route
GB2551516B (en) * 2016-06-20 2019-03-20 Jaguar Land Rover Ltd Activity monitor
US10310934B2 (en) * 2017-04-27 2019-06-04 GM Global Technology Operations LLC Methods and systems for diagnosing a controller area network
KR101852362B1 (ko) * 2017-12-21 2018-04-27 이승호 차량의 범용 서비스 동작 통합 제어 장치
JP7077920B2 (ja) * 2018-11-08 2022-05-31 株式会社デンソー 通信装置
FR3090530B1 (fr) * 2018-12-20 2021-04-23 Commissariat Energie Atomique Architecture électronique pour système embarqué
CN111174805A (zh) * 2019-04-30 2020-05-19 奥特酷智能科技(南京)有限公司 分布集中式自动驾驶系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1086769A (ja) * 1996-09-13 1998-04-07 Keihin Seiki Mfg Co Ltd 車両用通信装置
US7191271B2 (en) * 2001-09-20 2007-03-13 Lockheed Martin Corporation Two level multi-tier system bus
US7558775B1 (en) * 2002-06-08 2009-07-07 Cisco Technology, Inc. Methods and apparatus for maintaining sets of ranges typically using an associative memory and for using these ranges to identify a matching range based on a query point or query range and to maintain sorted elements for use such as in providing priority queue operations
DE10357118A1 (de) * 2003-12-06 2005-07-07 Daimlerchrysler Ag Laden von Software-Modulen
JP2009126451A (ja) * 2007-11-27 2009-06-11 Denso Corp 車両用制御装置
JP4709268B2 (ja) * 2008-11-28 2011-06-22 日立オートモティブシステムズ株式会社 車両制御用マルチコアシステムまたは内燃機関の制御装置
JP5441626B2 (ja) * 2009-11-06 2014-03-12 日立オートモティブシステムズ株式会社 車載用マルチアプリ実行装置
DE102011086530A1 (de) * 2010-11-19 2012-05-24 Continental Teves Ag & Co. Ohg Mikroprozessorsystem mit fehlertoleranter Architektur
US8612100B2 (en) * 2011-02-19 2013-12-17 Min Tat Goy Vehicle management and control system
DE102011106078A1 (de) * 2011-06-30 2013-01-03 Continental Automotive Gmbh Fahrzeugeinheit und Verfahren zum Betreiben der Fahrzeugeinheit
DE102012216089A1 (de) * 2012-09-11 2014-03-13 Siemens Aktiengesellschaft Verfahren und Steuereinheit zur Ansteuerung von Aktoren eines Fahrzeugs in einem Notbetrieb
US9231998B2 (en) * 2014-01-22 2016-01-05 Ford Global Technologies, Llc Vehicle-specific computation management system for cloud computing
DE102014201682A1 (de) * 2014-01-30 2015-07-30 Robert Bosch Gmbh Verfahren zur Koexistenz von Software mit verschiedenen Sicherheitsstufen in einem Multicore-Prozessorsystem

Also Published As

Publication number Publication date
US20160304038A1 (en) 2016-10-20
US9694765B2 (en) 2017-07-04
JP2016207215A (ja) 2016-12-08

Similar Documents

Publication Publication Date Title
JP6245616B2 (ja) 制御システム及び方法
CN109131340B (zh) 基于驾驶员行为的主动车辆性能调整
US9606538B2 (en) Device and method for the autonomous control of motor vehicles
JP4410661B2 (ja) 分散制御システム
CN110214312A (zh) 共享备用单元和控制系统
CN113276837B (zh) 控制装置、管理器、方法、非暂时性存储介质、致动器系统和车辆
US20200117495A1 (en) Zone compute and control architecture
US11119970B2 (en) Resource sharing among vehicle applications connected via a bus
CN112615797A (zh) 车辆数据传送排队
WO2022138218A1 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
CN111791886B (zh) 用于车辆的实时控制系统以及经由实时控制系统执行车辆控制的方法
JP2021128531A5 (ja)
CN115123227A (zh) 变道决策方法、装置以及车辆
US10834550B2 (en) Vehicle feature control
JP7057328B2 (ja) 車両制御装置、及び車両制御方法
JP7431186B2 (ja) マネージャ、システム、制御方法、制御プログラム、及び車両
JP2020188407A (ja) 電子制御装置および移動体制御システム
US11840160B1 (en) Automatically adjusting ergonomic features of a vehicle seat
JP7481290B2 (ja) マネージャ、電子制御ユニット、システム、制御方法、制御プログラム、及び車両
JP7447781B2 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
WO2021256014A1 (ja) 車両制御システム
WO2024009656A1 (ja) 車両制御装置
JP6594275B2 (ja) 車両制御システム
JP2022131355A (ja) マネージャ、電子制御ユニット、システム、制御方法、制御プログラム、及び車両
CN114987447A (zh) 管理器、控制方法、记录介质、车辆以及控制装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170705

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171108

R150 Certificate of patent or registration of utility model

Ref document number: 6245616

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150