(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024092258
(43)【公開日】2024-07-08
(54)【発明の名称】車両制御システム、車両制御方法、およびプログラム
(51)【国際特許分類】
B60R 16/02 20060101AFI20240701BHJP
H04L 12/28 20060101ALI20240701BHJP
【FI】
B60R16/02 660H
H04L12/28 200B
H04L12/28 100A
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022208057
(22)【出願日】2022-12-26
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(71)【出願人】
【識別番号】000003137
【氏名又は名称】マツダ株式会社
(71)【出願人】
【識別番号】000006286
【氏名又は名称】三菱自動車工業株式会社
(71)【出願人】
【識別番号】000002082
【氏名又は名称】スズキ株式会社
(71)【出願人】
【識別番号】000005348
【氏名又は名称】株式会社SUBARU
(71)【出願人】
【識別番号】000002967
【氏名又は名称】ダイハツ工業株式会社
(71)【出願人】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(71)【出願人】
【識別番号】000005463
【氏名又は名称】日野自動車株式会社
(71)【出願人】
【識別番号】000000170
【氏名又は名称】いすゞ自動車株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【弁理士】
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】河野 悟司
(72)【発明者】
【氏名】河端 雄一
(72)【発明者】
【氏名】齋藤 佳奈子
(72)【発明者】
【氏名】藤江 紀彰
(72)【発明者】
【氏名】森本 康治
(72)【発明者】
【氏名】松▲崎▼ 眞太郎
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033AA02
5K033BA06
5K033CB06
5K033DB14
5K033EA06
(57)【要約】
【課題】複数の制御部を用いて、より適切な処理を実行させる。
【解決手段】実施形態に係る車両制御システムは、車両に搭載されたデバイスごとに設けられる第1制御部と、一以上の前記第1制御部を制御する第2制御部と、一以上の前記第2制御部を制御する第3制御部とを備える車両制御システムであって、前記第2制御部は、前記第1制御部と通信線で接続され、前記第1制御部に接続されたデバイスから出力される出力情報に基づいて第1処理を実行し、前記第3制御部は、前記第2制御部と通信線で接続され、前記車両の所定機能に基づく第2処理を実行し、前記第1処理と前記第2処理とを実行することで前記車両の所定機能が実行される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
車両に搭載されたデバイスごとに設けられる第1制御部と、一以上の前記第1制御部を制御する第2制御部と、一以上の前記第2制御部を制御する第3制御部とを備える車両制御システムであって、
前記第2制御部は、前記第1制御部と通信線で接続され、前記第1制御部に接続されたデバイスから出力される出力情報に基づいて第1処理を実行し、
前記第3制御部は、前記第2制御部と通信線で接続され、前記車両の所定機能に基づく第2処理を実行し、
前記第1処理と前記第2処理とを実行することで前記車両の所定機能が実行される、
車両制御システム。
【請求項2】
前記第1制御部は、前記デバイスから出力される第1情報を取得する第1情報取得部を備え、
前記第2制御部は、前記第1処理として、前記第1情報取得部によって検出された前記第1情報からシグナル情報を抽出するシグナル情報抽出部を備え、
前記第3制御部は、前記第2処理として、前記シグナル情報抽出部によって抽出された前記シグナル情報に基づいて前記車両の所定機能を実行する第1機能制御部を備える、
請求項1に記載の車両制御システム。
【請求項3】
前記シグナル情報抽出部は、前記第1情報を前記シグナル情報とノイズ情報とに分けるフィルタ処理を実行し、前記第3制御部に対して前記シグナル情報を出力する、
請求項2に記載の車両制御システム。
【請求項4】
前記第2制御部は、前記シグナル情報抽出部によって抽出された前記シグナル情報に基づいて前記車両の所定機能を実行する第2機能制御部を更に備え、
前記第3制御部は、前記第1機能制御部によって前記車両の所定機能を実行するか、または、前記第2機能制御部によって前記車両の所定機能を実行するかを切り替える切替処理を実行する切替部を更に備える、
請求項2に記載の車両制御システム。
【請求項5】
前記第3制御部は、前記第3制御部と前記第2制御部とを接続する通信線における通信量を検出し、検出した前記通信量に応じて前記切替処理を実行する、
請求項4に記載の車両制御システム。
【請求項6】
前記第3制御部は、前記通信線の前記通信量が所定量より大きい場合、前記切替部によって前記切り替え処理を実行し、前記第2処理として、前記第2機能制御部によって前記車両の所定機能を実行させる、
請求項5に記載の車両制御システム。
【請求項7】
前記第3制御部は、前記第2処理として、前記車両の所定機能を実行させるための操作内容を決定し、
決定された操作内容に基づいて、前記第3制御部または前記第2制御部の何れかで前記操作内容に基づく操作命令を生成し、
前記第2制御部は、前記第1処理として、前記第1制御部に接続されたデバイスに基づく操作実行情報を生成し、
前記第1制御部は、前記操作実行情報に基づいて前記デバイスに前記車両の所定機能を実行させる、
請求項1に記載の車両制御システム。
【請求項8】
前記車両に所定の事象が発生した場合に、前記第2制御部は、前記車両の所定機能を前記第1制御部に接続されたデバイスに実行させるための操作実行情報を生成し、
前記第1制御部は、前記操作実行情報に基づいて前記車両の所定機能を実行する、
請求項7に記載の車両制御システム。
【請求項9】
車両に搭載されたデバイスごとに設けられる第1制御部と、一以上の前記第1制御部を制御する第2制御部と、一以上の前記第2制御部を制御する第3制御部とを備える車両制御システムのコンピュータが、
前記第2制御部で前記第1制御部に接続されたデバイスから出力される出力情報に基づく第1処理を実行し、
前記第3制御部で前記車両の所定機能に基づく第2処理を実行し、
前記第1処理と前記第2処理とを実行することで前記デバイスに前記車両の所定機能を実行させる、
車両制御方法。
【請求項10】
車両に搭載されたデバイスごとに設けられる第1制御部と、一以上の前記第1制御部を制御する第2制御部と、一以上の前記第2制御部を制御する第3制御部とを備える車両制御システムのコンピュータに、
前記第2制御部により前記第1制御部に接続されたデバイスから出力される出力情報に基づく第1処理を実行させ、
前記第3制御部により前記車両の所定機能に基づく第2処理を実行させ、
前記第1処理と前記第2処理とを実行させることで、前記デバイスに前記車両の所定機能を実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両制御システム、車両制御方法、およびプログラムに関する。
【背景技術】
【0002】
近年、車両に搭載された複数のECU(Electronic Control Unit)が通信しながら協働処理を行い、個別のアクチュエータやセンサを動作させる電子制御装置に関する技術が開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、車両に複数の制御部と搭載した場合にそれぞれをどのような場面でどのように協働させるかについてまで考慮されていなかった。また、従来では個々の制御部ごとに各機能を実行させるためのアプリケーションソフトウェア(以下、ソフトウェアと称する)がインストールされ、機能ごとにECUが動作していたため、ソフトウェアを更新する場合に関係するECUごとに個別の対応が必要であった。そのため、複数の制御部を用いたより適切な処理が実行できない場合があった。
【0005】
本願は、上記課題の解決のため、複数の制御部を用いて、より適切な処理を実行させることが可能な車両制御システム、車両制御方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【0006】
この発明に係る車両制御システム、車両制御方法、およびプログラムは、以下の構成を採用した。
(1):この発明の一態様に係る車両制御システムは、車両に搭載されたデバイスごとに設けられる第1制御部と、一以上の前記第1制御部を制御する第2制御部と、一以上の前記第2制御部を制御する第3制御部とを備える車両制御システムであって、前記第2制御部は、前記第1制御部と通信線で接続され、前記第1制御部に接続されたデバイスから出力される出力情報に基づいて第1処理を実行し、前記第3制御部は、前記第2制御部と通信線で接続され、前記車両の所定機能に基づく第2処理を実行し、前記第1処理と前記第2処理とを実行することで前記車両の所定機能が実行される、車両制御システムである。
【0007】
(2):上記(1)の態様において、前記第1制御部は、前記デバイスから出力される第1情報を取得する第1情報取得部を備え、前記第2制御部は、前記第1処理として、前記第1情報取得部によって検出された前記第1情報からシグナル情報を抽出するシグナル情報抽出部を備え、前記第3制御部は、前記第2処理として、前記シグナル情報抽出部によって抽出された前記シグナル情報に基づいて前記車両の所定機能を実行する第1機能制御部を備えるものである。
【0008】
(3):上記(2)の態様において、前記シグナル情報抽出部は、前記第1情報を前記シグナル情報とノイズ情報とに分けるフィルタ処理を実行し、前記第3制御部に対して前記シグナル情報を出力するものである。
【0009】
(4):上記(2)の態様において、前記第2制御部は、前記シグナル情報抽出部によって抽出された前記シグナル情報に基づいて前記車両の所定機能を実行する第2機能制御部を更に備え、前記第3制御部は、前記第1機能制御部によって前記車両の所定機能を実行するか、または、前記第2機能制御部によって前記車両の所定機能を実行するかを切り替える切替処理を実行する切替部を更に備えるものである。
【0010】
(5):上記(4)の態様において、前記第3制御部は、前記第3制御部と前記第2制御部とを接続する通信線における通信量を検出し、検出した前記通信量に応じて前記切替処理を実行するものである。
【0011】
(6):上記(5)の態様において、前記第3制御部は、前記通信線の前記通信量が所定量より大きい場合、前記切替部によって前記切り替え処理を実行し、前記第2処理として、前記第2機能制御部によって前記車両の所定機能を実行させるものである。
【0012】
(7):上記(1)の態様において、前記第3制御部は、前記第2処理として、前記車両の所定機能を実行させるための操作内容を決定し、決定された操作内容に基づいて、前記第3制御部または前記第2制御部の何れかで前記操作内容に基づく操作命令を生成し、前記第2制御部は、前記第1処理として、前記第1制御部に接続されたデバイスに基づく操作実行情報を生成し、前記第1制御部は、前記操作実行情報に基づいて前記デバイスに前記車両の所定機能を実行させるものである。
【0013】
(8):上記(7)の態様において、前記車両に所定の事象が発生した場合に、前記第2制御部は、前記車両の所定機能を前記第1制御部に接続されたデバイスに実行させるための操作実行情報を生成し、前記第1制御部は、前記操作実行情報に基づいて前記車両の所定機能を実行するものである。
【0014】
(9):本発明の他の態様に係る車両制御方法は、車両に搭載されたデバイスごとに設けられる第1制御部と、一以上の前記第1制御部を制御する第2制御部と、一以上の前記第2制御部を制御する第3制御部とを備える車両制御システムのコンピュータが、前記第2制御部で前記第1制御部に接続されたデバイスから出力される出力情報に基づく第1処理を実行し、前記第3制御部で前記車両の所定機能に基づく第2処理を実行し、前記第1処理と前記第2処理とを実行することで前記デバイスに前記車両の所定機能を実行させる、車両制御方法である。
【0015】
(10):本発明の他の態様に係るプログラムは、車両に搭載されたデバイスごとに設けられる第1制御部と、一以上の前記第1制御部を制御する第2制御部と、一以上の前記第2制御部を制御する第3制御部とを備える車両制御システムのコンピュータに、前記第2制御部により前記第1制御部に接続されたデバイスから出力される出力情報に基づく第1処理を実行させ、前記第3制御部により前記車両の所定機能に基づく第2処理を実行させ、前記第1処理と前記第2処理とを実行させることで、前記デバイスに前記車両の所定機能を実行させるプログラムである。
【発明の効果】
【0016】
上記(1)~(10)の態様によれば、複数の制御部を用いて、より適切な処理を実行させることができる。
【図面の簡単な説明】
【0017】
【
図1】実施形態の車両制御システム1の構成の一例を示す図である。
【
図2】デバイスECU200の機能構成の一例を示す図である。
【
図3】ゾーンECU300の機能構成の一例を示す図である。
【
図4】セントラルECU400の機能構成の一例を示す図である。
【
図5】入力処理での機能の切り分け(機能パーティショニング)について説明するための図である。
【
図6】出力処理での機能の切り分け(機能パーティショニング)について説明するための図である。
【
図7】ゾーンECU300とセントラルECU400とを接続する通信線の帯域に基づく通信量の飽和について説明するための図である。
【
図8】セントラルECU400が実行する処理の一部をゾーンECU300側で実行させる例を説明するための図である。
【
図9】切替部406の動作について説明するための図である。
【
図10】通信帯域に応じた切替例について説明するための図である。
【
図13】通信信号情報に基づき通信量を削減することについて説明するための図である。
【
図14】圧縮前後の通信信号情報の一例を示す図である。
【
図15】セントラルECU400を介したフェールセーフ処理の流れの一例を示す図である。
【
図16】セントラルECU400を介さないフェールセーフ処理の流れの一例を示す図である。
【
図17】車両制御システム1における入力処理の一例を示すフローチャートである。
【
図18】車両制御システム1における出力処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を参照し、本発明の車両制御システム、車両制御方法、およびプログラムの実施形態について説明する。なお、以下の例では、車両制御システムが四輪車両等の移動体に搭載されている場合について説明するが、移動体以外の制御機器に搭載されてもよい。移動体は、例えば、四輪車両に限定されず、三輪車両や二輪車両、マイクロモビリティ等を含み、更に人(運転者)が搭乗するあらゆる移動体を含んでよい。以下の説明では、移動体は四輪車両であるものとし「車両M」と称する。
【0019】
[全体構成]
図1は、実施形態の車両制御システム1の構成の一例を示す図である。車両制御システム1は、例えば、車両Mに搭載された各種デバイス100と、デバイスECU(Electronic Control Unit)200と、ゾーンECU300と、セントラルECU400と、ソフトウェア更新部500とを備える。デバイスECU200、ゾーンECU300、セントラルECU400、およびソフトウェア更新部500のそれぞれは、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予め車両制御システム1のHDD(Hard Disk Drive)やフラッシュメモリなどの記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体(非一過性の記憶媒体)がドライブ装置に装着されることで車両制御システム1のHDDやフラッシュメモリにインストールされてもよい。車両制御システム1は「制御システム」の一例である。デバイスECU200は、「第1制御部」の一例である。ゾーンECU300は、「第2制御部」の一例である。セントラルECU400は、「第3制御部」の一例である。各ECUのそれぞれは、所定のネットワークにより他のECUやソフトウェア更新部500等と通信を行う。所定のネットワークとは、例えば、CAN(Controller Area Network)や、CAN-FD(CAN with Flexible Data rate)、LIN(Local Interconnect Network)、イーサネット(登録商標)等に準拠したネットワークである。また、ネットワークは、ツリー型で構成されてもよく、スター型で構成されてもよく、それらの組み合わせでもよい。
【0020】
各種デバイス100は、車両Mの所定機能を実行するための機器である。各種デバイス100には、例えばエンジン110、ブレーキ装置120、ステアリング装置130、外界検知センサ140、バッテリ150、ナビゲーション装置160、通信装置170等が含まれるが、これに限定されるものではない。各種デバイスのそれぞれには、機能に対応するセンサやアクチュエータ等が接続される。
【0021】
デバイスECU200は、各種デバイス100のデバイスごとに設けられる電子制御部である。
図1の例においてエンジン110を制御するエンジンECU210、ブレーキ装置120を制御するブレーキECU220、ステアリング装置130を制御するステアリングECU230、外界検知センサ140の検出結果に基づいてエンジン110、ブレーキ装置120、ステアリング装置130を制御する運転制御ECU240、バッテリ150の充放電を制御するバッテリECU250、ナビゲーション装置160を制御するナビゲーションECU260、および通信装置170を制御する通信ECU270は、それぞれがデバイスECU200の一例である。デバイスECU200は、上述の種類に限定されるものではない。
【0022】
エンジンECU210は、車両Mが走行するための走行駆動力を駆動輪に出力するエンジン110を制御する。例えば、エンジンECU210は、運転制御ECU240から入力される情報、或いは操作部(不図示)に含まれるアクセルペダルによって入力される情報に従って、エンジン110の回転数等の情報を取得し、取得した情報に基づき、エンジン110が目標エンジントルクを発生するように、スロットルバルブ開度や燃料供給量等を調節してエンジン110の運転状態を制御する。
【0023】
ブレーキECU220は、ブレーキ装置120による車両Mの制動を制御する。ブレーキ装置120は、例えば、ブレーキキャリパーと、ブレーキキャリパーに油圧を伝達するシリンダと、シリンダに油圧を発生させる電動モータとを備える。ブレーキECU220は、運転制御ECU240から入力される情報、或いは操作部90に含まれるブレーキペダルから入力される情報に従って、電動モータを制御し、制動操作に応じたブレーキトルクが各車輪に出力されるようにする。ブレーキ装置120は、ブレーキペダルの操作によって発生させた油圧を、マスターシリンダを介してシリンダに伝達する機構をバックアップとして備えてよい。なお、ブレーキ装置120は、上記説明した構成に限らず、運転制御ECU240から入力される情報に従ってアクチュエータを制御して、マスターシリンダの油圧をシリンダに伝達する電子制御式油圧ブレーキ装置であってもよい。
【0024】
ステアリングECU230は、ステアリング装置130による車両Mの操舵を制御する。ステアリング装置130は、例えば、電動モータを備える。電動モータは、例えば、ラックアンドピニオン機構に力を作用させて転舵輪の向きを変更する。ステアリングECU230は、運転制御ECU240から入力される情報、或いは操作部に含まれるステアリングホイールから入力される情報に従って、ステアリング装置130の電動モータを駆動し、転舵輪の向きを変更させる。
【0025】
運転制御ECU240は、例えば、外界検知センサ140による車両Mの周辺の認識結果に基づいて車両Mの運転制御を行う。運転制御とは、例えば、車両Mの操舵または速度のうち一方または双方を制御して車両Mの乗員の運転を支援することである。運転制御には、例えば、ACC(Adaptive Cruise Control System)、LKAS(Lane Keeping Assistance System)、TJP(Traffic Jam Pilot)、ALC(Auto Lane Changing)、CMBS(Collision Mitigation Brake System)、VSA(Vehicle Stability Assist)等が含まれる。
【0026】
外界検知センサ140は、例えば、カメラと、レーダ装置と、ファインダからの情報を取得して車両Mの周辺の物体認識を行う。カメラは、車両Mの周辺を撮像し、撮像画像を生成する。カメラは、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の固体撮像素子を利用したデジタルカメラである。カメラは、車両制御システム1が搭載される車両Mの任意の箇所に取り付けられる。車両Mの周辺とは、車両Mの前方を含み、車両Mの側方又は後方を含んでいてもよい。例えば、車両Mの前方を撮像する場合、カメラは、フロントウインドシールド上部やルームミラー裏面等に取り付けられる。カメラは、ステレオカメラであってもよい。レーダ装置は、車両Mの周辺の所定の照射方向に対してミリ波等の電波を放射するとともに、物体によって反射された電波(反射波)を検出して少なくとも物体の位置(距離および方位)を検出する。物体とは、例えば、車両Mの周辺に存在する他車両、障害物、構造物等である。レーダ装置は、車両Mの任意の箇所に一つまたは複数が取り付けられる。レーダ装置は、FMCW(Frequency Modulated Continuous Wave)方式によって物体の位置および速度を検出してもよい。ファインダは、車両Mの周辺の所定の照射方向に対して照射された照射光に対する散乱光を測定し、物体までの距離を検出するLIDAR(Light Detection and Ranging、或いはLaser Imaging Detection and Ranging)である。ファインダは、車両Mの任意の箇所に一つまたは複数が取り付けられる。
【0027】
外界検知センサ140は、カメラ、レーダ装置、およびファインダのうち一部または全部による検出結果に対してセンサフュージョン処理を行って、車両Mの周辺に存在する物体の位置、種類、速度等を認識してもよい。また、外界検知センサ140は、センサフュージョン処理によって、車両Mの周辺の道路形状、標識、車線等を認識してもよい。外界検知センサ140は、認識結果を運転制御ECU240に出力する。
【0028】
運転制御ECU240は、外界検知センサ140からの認識結果等に基づいて、所定の運転制御が実行されるように、エンジンECU210、ブレーキECU220、ステアリングECU230に制御情報を取得する。所定の運転制御とは、例えば、車両Mの走行状態や乗員による運転状態に基づく運転制御であり、より具体的には、車両Mと物体との接触を回避するような運転制御や、走行車線を逸脱することを抑制する運転制御、前走車両に追従して走行する運転制御等が含まれる。
【0029】
バッテリECU250は、車両Mに搭載されたバッテリ150のエネルギー量や充放電等のエネルギー制御を行う。バッテリECU250は、例えば、各種デバイス100や操作部、表示部、ソフトウェア更新部500、およびその他の車両M内の電気機器等にバッテリ150の電力を供給する。また、バッテリECU250は、イグニッション装置に対する操作内容に基づいて所定の機器にバッテリ150からの電力を供給してもよい。ソフトウェア等の更新処理の実行時に用いられるエネルギーは、主にバッテリ150から更新対象のECUに供給される。
【0030】
また、バッテリECU250は、例えば、ブレーキ装置120の作動によって発生した回生電流を用いてバッテリ150を充電する制御を行ってもよい。また、バッテリECU250は、例えば、充電コネクタ等を介して外部の充電設備から供給されるエネルギーをバッテリ150に蓄える制御を行ってもよい。また、バッテリECU250は、バッテリ150の端子電圧を測定し、測定した端子電圧の大きさに基づいてエネルギー残量(SOC;State Of Charge)を取得する。また、バッテリECU250は、例えば、電流検出抵抗を使って充電時に蓄えられた電流量を積算しておき、放電時に出力された電流量を求めることでエネルギー残量を取得してもよく、バッテリの放電特性や温度特性等のデータベースを予め記憶部等に記憶しておき、計測した電圧値や電流値と、データベースとに基づいてエネルギー残量を取得してもよい。
【0031】
ナビゲーションECU260は、車両Mに搭載されたナビゲーション装置160を制御する。ナビゲーション装置160は、例えば、GNSS(Global Navigation Satellite System)受信機と、ナビHMI(Human Machine Interface)と、経路決定部とを備える。GNSS受信機は、GNSS衛星から受信した信号に基づいて、車両Mの位置を特定する。ナビHMIは、ディスプレイ、スピーカ、タッチパネル、キー等を含む。ナビHMIは、画像や音声等を用いて乗員に目的地等を設定させたり、目的地までの走行経路を乗員に案内する。経路決定部は、例えば、GNSS受信機により特定された車両Mの位置(或いは入力された任意の位置)から、ナビHMIを用いて乗員により入力された目的地までの経路(以下、地図上経路)を、地図情報等を参照して決定する。ナビゲーションECUは、地図上経路に基づいて、ナビHMIや表示部(不図示)による地図画像表示やスピーカ(不図示)による音声出力によって、経路案内等を行う。
【0032】
通信ECU270は、車両Mに搭載された通信装置170を制御する。通信装置170は、車両Mが外部装置と通信するための通信インタフェースである。通信装置170は、例えば、Wi-Fi(登録商標)やBluetooth(登録商標)等に基づく無線LAN(Local Area Network)インタフェースであってもよいし、セルラー網や専用線等に接続するためのWAN(Wide Area Network)インタフェースであってもよい。通信ECU270は、通信装置170を介して、外部装置にデータを送信したり、外部装置からの情報を受信し、所定のECUに出力する。
【0033】
ゾーンECU300は、デバイスECU200と電気的に接続され、デバイスECU200に接続されたデバイスから出力される出力情報を取得し、取得した出力情報に基づいて処理(第1処理)を実行する。例えば、ゾーンECU300は、例えばデバイスECU200のうち、所定条件によりグルーピングされた一以上のデバイスECUを制御する。所定条件とは、例えばデバイスECU200に対応付けられたデバイスの機能に基づく条件でもよく、所定時間におけるECU間(ゾーンECU300とデバイスECU200との間)の通信量(トラフィック量)や、処理負荷、処理頻度、処理回数に基づく条件でもよい。
【0034】
図1の例において、第1ゾーンECU310、第2ゾーンECU320、および第3ゾーンECU330のそれぞれは、ゾーンECU300の一例である。第1ゾーンECU310は、エンジンECU210、ブレーキECU220、およびステアリングECU230と接続され、各デバイスECU200に所定の処理を実行する。第2ゾーンECU320は、運転制御ECU240と接続され、運転制御ECU240に所定の処理を実行する。第3ゾーンECU330は、バッテリECU250、ナビゲーションECU260、および通信ECU270と接続され、各デバイスECU200に所定の処理を実行する。なお、ゾーンECU300の数や、各ゾーンECUのグルーピングについては、
図1の例に限定されない。
【0035】
セントラルECU400は、ゾーンECU300と電気的に接続され、車両Mの所定機能に基づく処理(第2処理)を実行する。実施形態では、第1処理と第2処理とを実行することで車両Mの所定機能が実行される。セントラルECU400は、ゾーンECU300(
図1に示す第1ゾーンECU310~第3ゾーンECU330)と接続され、各ゾーンECU300に所定の処理を実行する。
図1に示す例では、セントラルECU400とデバイスECU200との間に存在するゾーンECU300にも制御部は存在するため、それぞれの役割を限定的とすることで、ECUごとにより適切な処理を十区させると共に、コストの最適化を図る。例えば、車両制御システム1では、各種デバイス100の機能ごとにグルーピングしてゾーンECU300を配置する。例えば、アクチュエータは、セントラルECU400からの指示を受けて動作し、センサは、検出した情報を信号としてセントラルECU400へ送信する。
【0036】
ソフトウェア更新部500は、通信装置170による外部装置との通信により、車両Mに搭載された車両Mの所定の機能(デバイスごとの機能)を制御する複数のECUごとに組み込まれたソフトウェアを更新する。ソフトウェアを更新するとは、例えば、ECUに設けられた記憶部に記憶されたソフトウェアをバージョンアップすることや、新たなソフトウェアを記憶部にインストールすること、不要となったソフトウェアを記憶部から削除すること等が含まれる。ソフトウェア更新部500は、デバイスECU200、ゾーンECU300、およびセントラルECU400のうち、更新する内容に応じて対象のECUを選択し、選択したECUに組み込まれたソフトウェアを更新する。例えば、デバイス側のセンサに依存する処理内容を更新する場合には、ゾーンECU300に組み込まれているソフトウェアが更新され、車両Mの機能や振る舞いに依存する処理内容を更新する場合には、セントラルECU400に組み込まれているソフトウェアが更新される。なお、デバイスECU200やゾーンECU300の更新は、セントラルECU400経由で実施してもよい。その場合は、ソフトウェア更新部500から各ECUのソフトウェアを受信し、セントラルECU400が更新対象となるECUの更新を行う。
【0037】
次に、デバイスECU200、ゾーンECU300、セントラルECU400のそれぞれの機能構成について説明する。なお、以下の説明では、各デバイスECUおよび各ゾーンECUを、単に「デバイスECU200」、「ゾーンECU300」と称してまとめて説明する。
図2は、デバイスECU200の機能構成の一例を示す図である。デバイスECU200は、例えば、第1情報取得部202と、記憶部204とを備える。第1情報取得部202は、電気的に接続されたデバイスから出力される第1情報を取得する。第1情報は、例えば電気信号である。第1情報には、例えば、デバイス内のセンサによる検出結果や、アクチュエータの駆動量、異常の有無、その他の各種情報が含まれる。記憶部204は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュメモリ等の不揮発性メモリ(Non Volatile Memory)である。記憶部204には、デバイスECU200に組み込まれたソフトウェア(プログラム)や、デバイスECU200に関する構成情報、デバイスECU200による処理結果等が記憶される。構成情報には、例えば、ハードウェア識別情報やソフトウェア識別情報等が含まれる。ハードウェア識別情報には、例えば、機器の部品番号(ハードウェア番号)、ユニークID(シリアルナンバー)等が含まれる。ソフトウェア識別情報には、ソフトウェアのモジュールごとの識別情報(ソフトウェア番号)、バージョン情報等が含まれる。ハードウェア番号やソフトウェア番号には、例えば、機能種別、構成種別、部品類別、バリエーション情報、その他の補足情報(例えば、メーカー別番号)等が含まれてもよい。
【0038】
図3は、ゾーンECU300の機能構成の一例を示す図である。ゾーンECU300は、例えば、シグナル情報抽出部302と、ゾーン側機能制御部304と、記憶部306とを備える。ゾーン側機能制御部304は、「第2機能制御部」の一例である。シグナル情報抽出部302は、第1処理として、第1情報取得部202によって取得された第1情報からシグナル情報を抽出する。例えば、シグナル情報抽出部302は、第1情報をシグナル情報とノイズ情報とに分けるフィルタ処理を実行し、フィルタ処理によって得られた(ノイズ除去された)シグナル情報をセントラルECU400に出力する。
【0039】
ゾーン側機能制御部304は、セントラルECU400からの実行指示を受け付けた場合に、シグナル情報抽出部302によって抽出されたシグナル情報に基づいて車両Mの所定機能を実現するための制御を行う。
【0040】
記憶部306は、例えば、EEPROMやフラッシュメモリ等の不揮発性メモリである。記憶部306には、ゾーンECU300に組み込まれたソフトウェア(プログラム)や、ゾーンECU300に関する構成情報、ゾーンECU300による処理結果等が記憶される。なお、ゾーンECU300には、上述した構成の他、AD変換(アナログ/デジタル変換)やDA変換(デジタル/アナログ変換)を行う機能が設けられてもよい。
【0041】
図4は、セントラルECU400の機能構成の一例を示す図である。セントラルECU400は、例えば、セントラル側機能制御部402と、通信状況検出部404と、切替部406と、記憶部408とを備える。セントラル側機能制御部402は、「第1機能制御部」の一例である。セントラル側機能制御部402は、第2処理として、シグナル情報抽出部302によって抽出されたシグナル情報に基づいて車両Mの所定機能を実現するための制御を行う。また、セントラル側機能制御部402は、制御アプリケーション(ソフトウェア)に基づいて入力情報に基づき各種出力処理を実行してもよい。例えば、セントラル側機能制御部402は、離散的なシグナルを連続的な信号として捉えるための処理(移動平均フィルタ等)や、データから機能側(アプリケーション)が必要とする意味情報(例えば、オートワイパー機能を使用している場合であって、急に雨が降ってきた際にワイパー速度を速くする等)を抽出し、意味情報に基づいてデバイスに対する操作内容を決定する処理等を行ってもよい。
【0042】
通信状況検出部404は、セントラルECU400とゾーンECU300とを接続する通信線(ネットワーク)における通信状況を検出する。通信状況とは、例えば通信量(トラフィック量)である。なお、通信状況検出部404は、所定時間における通信量の変化量を検出してもよく、変化量から近い将来(数秒後)の通信量を予測してもよい。通信状況検出部404は、例えば、パケットキャプチャや、SNMP(Simple Network Management Protocol)やNetFlow等の機能を用いて通信状況を検出する。
【0043】
切替部406は、セントラル側機能制御部402で車両Mの所定機能を実現するための制御を行うか、ゾーン側機能制御部304で車両Mの所定機能を実現するための制御を行うかを切り替える切替処理を実行する。例えば、切替部406は、通信状況検出部404により検出されたセントラルECU400とゾーンECU300とを接続する通信線における通信量に応じて、上述した切替処理を実行する。例えば、切替部406は、通信線の通信量が所定量より大きい場合には、ゾーン側機能制御部304により車両Mの所定機能を実行させ、所定量以下である場合には、セントラル側機能制御部402により車両Mの所定機能を実行させる。また、切替部406は、通信線の通信帯域が狭い場合(所定帯域以下である場合)にゾーン側機能制御部304により車両Mの所定機能を実行させ、通信線の通信帯域が広い場合(所定帯域より大きい場合)に、セントラル側機能制御部402により車両Mの所定機能を実行させてもよい。これらの切り替えを行うことで、通信帯域に対する通信量の増加によってECU間の送信時のデータの遅延が生じることを抑制することができ、ECUごとにより適切な処理を行うことができる。なお、切替部406は、車両Mの所定機能を実現させるための制御を行う機能制御部に対して実行指示を出力する。
【0044】
記憶部408は、例えば、EEPROMやフラッシュメモリ等の不揮発性メモリである。記憶部408には、セントラルECU400に組み込まれたソフトウェア(プログラム)や、セントラルECU400に関する構成情報、セントラルECU400による処理結果等が記憶される。また、記憶部408には、ECU間で入出力される信号(シグナル)の内容を把握したり、調整したりするため信号一覧情報や通信信号情報が格納されてよい。上述した
図2~
図4に示す各ECUの各構成が有する機能は、その機能に対応するソフトウェアによって実現されてよい。
【0045】
例えば、セントラルECU400は、第2処理として、車両Mの所定機能を実行するための操作指示信号を生成する。また、ゾーンECU300は、第1処理として、操作指示信号に基づく第2操作信号を生成する。なお、第2操作信号は、デバイスECU200に関する情報が含まれてよい。つまり、ゾーンECU300は、デバイスECU200に接続されたデバイス情報に基づいて第2操作指示信号生成してもよい。デバイスECU200は、第2操作指示信号に基づいて、接続されたデバイスに対応して車両Mの所定機能を実行させる。デバイス情報とは、例えば、デバイスECU200に接続されたデバイスの種類や機能(例えば、モータ等)や、デバイスにアクチュエータが含まれる場合には、そのアクチュエータが出力可能な動作(例えば、回転速度、回転数等の動作範囲)、センシング系のデバイスであれば、センサが検出した電気信号(例えば、温度センサや窓開閉の物理スイッチ等から得られる信号)である。また、車両Mの所定機能とは、例えば、デバイスによって実施したい車両Mの機能や振る舞いそのものであり、例えば、加減速動作や操舵操作、バッテリ動作、ナビゲーション動作、通信制御動作等である。また、所定機能には、ウィンカー動作、エアコン制御、音楽やラジオ等の再生動作に関する機能が含まれてよい。
【0046】
<ECU間における機能の切り分け>
次に、具体的なデータ例を用いて、ゾーンECU300とセントラルECU400とにおける機能の切り分け(どちらのECUでどのような処理を行うか)について説明する。なお、以下では、入力処理と出力処理とに分けて説明する。
図5は、入力処理での機能の切り分け(機能パーティショニング)について説明するための図である。
図5に示すセンサ(またはスイッチ)およびハードウェア回路は、各種デバイス(末端デバイス)100の一例である。また、ハードウェア回路には、デバイスECU200が含まれてもよい。
図5の例では、センサに入力された情報がハードウェア回路を介して第1入力処理、第2入力処理、および第3入力処理が必要に応じて実行され、その後、制御アプリケーションに基づく統合制御が実行されることを示している。
【0047】
第1入力処理とは、例えば、電気信号をシグナル(有無)と、ノイズ(無意)とに区別し、シグナルのみを取り出す処理である。第2入力処理は、例えば、離散的なシグナル(有意)を連続的な信号として捉えるための処理を行う。第3入力処理は、例えば、データから機能側が必要な意味を抽出する。第3入力処理は、機能側の要件(例えば、その情報は、何のために、且つどのように使用したいのか等)によって処理の内容が異なる。第1入力処理は、主にセンサの性能等に依存する処理と、機能や振る舞いに依存する部分が含まれ、第2入力処理および第3入力処理は、主に車両Mの機能/振る舞いに依存する部分が含まれる。
【0048】
図5の例において、操作スイッチの入力、ワイパースイッチの抵抗分割情報の入力(アナログ入力)、および温度センサ(アナログ入力)は、デバイスECU200の第1情報取得部202により取得される情報である。それぞれの情報の種類等に応じて第1入力処理におけるゾーンECU300とセントラルECU400の実行の切り分けを行う。
【0049】
例えば、操作スイッチの入力を取得した場合、ゾーンECU300(シグナル情報抽出部302)は、第1入力処理として、入力信号に対するチャタリングフィルタを行い、セントラルECU400(セントラル側機能制御部402)は、第1入力処理としてデータ間引きを行う。また、セントラル側機能制御部402は、第3入力処理において、スイッチ入力がHighの場合に、スイッチオン(SW ON)として制御アプリケーションに出力する。
【0050】
例えば、ワイパースイッチの抵抗分割の入力を取得した場合、ゾーンECU300は、第1入力処理として、入力処理に対するIF分岐(A,B,C,Dの何れかに分岐)処理を行い、更にチャタリングフィルタを実行する。また、セントラルECU400は、第1入力処理として、データ間引きを行う。また、セントラルECU400は、第3入力処理として、IF分岐によって得られたA、B、C、Dごとに対応付けられたワイパー制御動作を設定する。
図5の例では、スイッチ入力がAの場合は「Wiper LO」、Bの場合は「Wiper Hi」、Cの場合は「Wiper Auto」、Dの場合は「Wiper OFF」が設定される。
【0051】
例えば、温度の入力を取得した場合、ゾーンECU300では、第1入力処理として、入力処理およびLUT(Lookup table)を用いた変換(例えば、センサ特性に応じた変換)を行う。また、セントラルECU400は、第1入力処理としてデータ間引きを行う。また、セントラルECU400は、制御アプリケーションの種類等に応じて間引いた後のデータを用いて連続信号化等の処理を行ってもよい。セントラルECU400は、制御アプリケーションの制御として、例えば、-10℃以下でランプオン(ON)にしたり、温度フィードバックPID(Proportional Integral Differential)制御が実行される。
【0052】
図5に示すように、不要な信号を削除するためのフィルタ処理、処理の効率化を図るためのルックアップテーブルを使った処理等、センサに依存する処理(センサに依存する第1入力処理)はゾーンECU300側で実行し、それ以降の処理(車両Mに所定の機能や振る舞いを実行させるための処理、機能/振る舞いに依存する第1入力処理)はセントラルECU400側で実行する。
【0053】
図6は、出力処理での機能の切り分け(機能パーティショニング)について説明するための図である。
図6に示すアクチュエータおよびハードウェア回路は、各種デバイス(末端デバイス)100の一例である。アクチュエータは、例えば、モータやソレノイド、バルブの駆動を行うものである。また、ハードウェア回路には、デバイスECU200が含まれてもよい。
図6の例では、制御アプリケーションが取得した入力情報に対応して、第1出力処理、第2出力処理、および第3出力処理が実行され、その後、ハードウェア回路を介してアクチュエータを駆動させる内容を示すものである。第1出力処理は、例えば制御対象デバイス(アクチュエータ)への指示内容(駆動量)を決定する。例えば、車両Mであれば車両の挙動等の振る舞い量を示す。第2出力処理は、例えば、操作量を実現するための操作命令を出力する。操作命令とは、例えば、個々の動作ごとの振る舞いに変換するための指示情報である。第3出力処理は、例えば、第2出力処理の処理結果(操作命令)に応じた作動を実行するものである。作動とは、例えば、リレー素子やFET(Field Effect Transistor)素子等のスイッチング素子に対するオンオフ制御である。
【0054】
図6の例では、車両Mのドア部をロックする、ターンライトで進行方向(右左折)を指示したり、一灯断芯(ライトの球切れ)を通知する、空調で中速運転する、照明制御でFade In制御(明るくする制御)を行う場合のそれぞれの機能の切り分けを示している。
【0055】
例えば、制御アプリケーションでロックする指示が入力された場合、セントラルECU400(セントラル側機能制御部402)は、第1出力処理としてドア部のロック状態に変更するという操作決定を行う。ゾーンECU300(ゾーン側機能制御部304)は、第2出力処理として、所定時間の間、ドア部をロックさせる機構の正転側をONにする操作命令を生成し、第3制御処理として、正転となるリレー素子をオンに切り替える出力(ON出力)する操作を実行させるためにアクチュエータの制御を行う。
【0056】
また、右左折する場合には、セントラルECU400は、第1出力処理としてターンライトを通常パターンで点滅させる操作決定を行い、第2出力処理として、第1時間周期で点灯のオンとオフとを繰り返す操作命令を生成する。ゾーンECU300は、第3出力処理として、ターンリレーにON/OFF出力を第1時間周期で繰り返し実行する操作を実行させるためにアクチュエータの制御を行う。また、一灯断芯する場合には、セントラルECU400は、第1出力処理としてターンライトを通常パターンで点滅させる操作決定を行い、第2出力処理として第1時間よりも短い第2時間周期で点灯のオンとオフを繰り返す操作命令を生成する。ゾーンECU300は、第3出力処理として、ターンリレーにON/OFF出力を第2時間周期で繰り返し実行する操作を実行させるためにアクチュエータの制御を行う。
【0057】
また、空調制御で中速運転を行う場合には、セントラルECU400は、第1出力処理として中速運転に対応した所定風量を出力するという操作決定を行う。ゾーンECU300は、第2出力処理として、第1周波数およびDuty固定でPWM(Pulse Width Modulation)出力するという操作命令を生成し、第3出力処理としてFET素子へのオン/オフ指令を行う。また、照明でFade In制御を行う場合には、セントラルECU400は、第1出力処理として所定照度を目標に所定時間に1%ずつ照度を上げるという操作決定を行い、第2出力処理として第2周波数およびDuty可変でPWM制御を行うための操作命令を生成する。ゾーンECU300は、第3出力処理としてFET素子へのオン/オフ指令を行う。
【0058】
このように、出力処理において、セントラルECU400は、第2処理として、車両Mの所定機能を実行させるための操作内容を決定し(第1出力処理)、決定された操作内容に基づいて、セントラルECU400またはゾーンECU300の何れかで操作内容に基づく操作命令を生成し(第2出力処理)、ゾーンECU300は、第1処理として、デバイスECU200に接続されたデバイスに基づく操作実行情報を生成する(第3出力処理)。これにより、デバイスECU200は、操作実行情報に基づいてデバイス(アクチュエータ等)に応じた車両Mの所定機能を実行させる。特に第2出力処理では、
図6に示すようにロックしたり、中速運転を行う場合の操作命令はゾーンECU300側で行い、右左折、一灯断芯、Fade Inに関する操作命令はセントラルECU400側で行う。つまり、
図6に示すように出力処理では、車両Mの機能や振る舞い要求に依存する処理(機能/振る舞いに依存する第2出力処理)をセントラルECU400で行い、その制御を達成するための処理(アクチュエータに依存する第2出力処理)はゾーンECU300側で実行させる。なお、セントラルECU400とゾーンECU300のうち、どちらのECUでどのような処理を行うかについては、機能ごとまたはデバイスごとに予め設定され、記憶部408等に記憶されていてもよい。
【0059】
ここで、多くの機能をセントラルECU400で実行させる構成にした場合には、特に入力処理においてゾーンECU300からセントラルECU400へ送信する情報量が多くなり通信量が飽和して、データが送信できなかったり、送信遅延が生じる可能性がある。
【0060】
図7は、ゾーンECU300とセントラルECU400とを接続する通信線の帯域に基づく通信量の飽和について説明するための図である。例えば、ゾーンECU300とセントラルECU400とを接続する通信線(ネットワーク)の通信帯域が広い場合(予め決められた所定帯域より広い場合)には、センサに依存する第1入力処理の実行結果が通信線を介してセントラルECU400に出力しても多くの情報量を送信することができるため、セントラルECU400側で遅延なく処理を実行することができる。しかしながら、通信帯域が狭い場合(予め決められた所定帯域より狭い場合)には、センサに依存する第1入力処理後の情報量が遅延なく送信することができず、セントラルECU400側で遅延が生じて処理が正常に動作できない場合が生じる。
【0061】
したがって、実施形態では、通信帯域が狭い場合(帯域が充分に確保できないと予測される場合)に、セントラルECU400(セントラル側機能制御部402)が実行する処理の一部をゾーンECU300(ゾーン側機能制御部304)側に切り替えて実行させる。
図8は、セントラルECU400が実行する処理の一部をゾーンECU300側で実行させる例を説明するための図である。
図8の例では、機能/振る舞いに依存する第1入力処理がゾーンECU300側で実行される例を示している。セントラルECU400は、ゾーンECU300に接続される通信線の帯域が狭い場合に、機能/振る舞いに依存する第1入力処理をゾーンECU300で実行させるための制御を実行する。なお、実施形態では、上述したようにセントラルECU400が自動で帯域を判別して処理を実行させるECUを切り替えることに代えて、設計者や作業者等が通信帯域の状況を見て、処理を実行させるECUを切り替えてもよい。ゾーンECU300側で機能/振る舞いに依存する第1入力処理(例えば、間引き処理)を実行することで、センサに依存する第1入力処理後に出力されるデータ量よりも少ないデータ量をセントラルECU400に送信することになるため、通信帯域が狭い場合にも遅延なく、適切に情報を送信することができる。
【0062】
また、通信帯域は、各デバイスの作動状況や通信状況等によって変動する。そのため、セントラルECU400は、通信状況検出部404の検出結果に基づき、通信帯域が確保できていない場合はゾーンECU300側で機能/振る舞いに依存する第1入力処理を実行し、通信帯域が十分に確保できた場合はセントラルECU400側で処理すべきである。そのため、実施形態では、ゾーンECU300とセントラルECU400のそれぞれに共通の基本ソフトウェア(BSW;Basic Software)として「コンフィグレーションのみで処理の切り替えが可能な機能(切替部406)を設けて制御を行う。
【0063】
図9は、切替部406の動作について説明するための図である。
図9の例では、ゾーンECU300とセントラルECU400との両方に機能/振る舞いに依存する第1入力処理が実行可能に構成されている。この第1入力処理は、例えば、共通の基本ソフトウェアで実現されてよい。この第1入力処理は、ゾーンECU300側ではゾーン側機能制御部304で実行され、セントラルECU400側ではセントラル側機能制御部402で実行される。切替部406は、ゾーンECU300と接続される通信線の通信帯域や、現在における通信状況に応じて機能/振る舞いに依存する第1入力処理の実行先を、ゾーンECU300とセントラルECU400のうち何れかに切り替える。
【0064】
図10は、通信帯域に応じた切替例について説明するための図である。
図10に示すように、通信帯域が広い場合には、切替部406は、ゾーンECU300側の機能/振る舞いに依存する第1入力処理を実行させずに、セントラルECU400側で処理が実行されるように切り替え処理を行う。一方、通信帯域が狭い場合、切替部406は、セントラルECU400側の機能/振る舞いに依存する第1入力処理を実行させずにゾーンECU300側で処理が実行されるように切り替え処理を行う。これにより、通信量が増減した場合であっても柔軟に処理を切り替えることができる。また、通信線が交換された場合であっても対応するECUに組み込まれたソフトウェアの更新(作成し直し等)を回避することができるため、コストを削減することができる。
【0065】
また、ゾーンECU300とセントラルECU400とで処理内容を切り替えることに代えて(または加えて)、通信帯域等に応じて、通信するシグナル(信号)の内容や送信周期を異ならせてもよい。この場合、セントラルECU400は、記憶部408に記憶された通信信号表に基づいて通信量を調整する。
【0066】
図11は、信号一覧情報の一例を示す図である。
図11に示す信号一覧情報は、例えば、信号識別情報と、送信側ECUと、受信側ECUと、メッセージ情報と、通信周期と、ビット配置情報とがそれぞれ対応付けられた情報である。メッセージには、信号に含まれる具体的なデータ内容が格納される。ビット配置情報には、その信号の何ビット目がどのような情報であるか、または、その信号が通信信号情報のどこに配置されるかを示す情報が含まれる。
【0067】
図12は、通信信号情報を説明するための図である。
図12に示す通信信号情報には、30種類の信号(SignalA~SignalAD)と、Aliveカウンタやチェックサム等の送受信する機器(ECU)やデータの状態を検出(例えば、異常検出や誤り検出)するための情報とが8バイト(Byte0~Byte7)の各ビット(0~7ビット)に配置されている。なお、データの送受信においては、信号を送付する前に予め基本情報が送信先(受信側)に送信され、その基本情報に、送信元の情報が含まれていてもよく、送信する信号の先頭に送信元の情報が含まれていてもよい。
【0068】
図13は、通信信号情報に基づき通信量を削減することについて説明するための図である。
図13に例では、2バイト分(byte0、byte1)の各ビットに格納される内容が示されている。例えば、データの内容の変更により通信量を削減する場合には、所定の信号に対して使用するビット数を削減する。ゾーンECU300のゾーン側機能制御部304は、例えば、SignalAが温度情報を示す情報であって、その温度情報を小数第2位までの情報量で送付する信号である場合に、温度情報を下1桁までの情報量に変更(圧縮)することで、送信の際に使用するビット数を減らすことができる。
図13の例では、16ビット使用していたSignalAの信号を8ビットに減らすことができる。そして、ゾーン側機能制御部304は、空いた領域に別の信号(例えば、SignalB)の情報を入れることで、一度に送付可能な信号の種類が増加するため全体としてのデータ量を圧縮することができ、セントラルECU400との通信帯域が狭い場合にも遅延なく送信することができる。なお、ゾーン側機能制御部304は、送信した信号が圧縮されているか否かを示す情報を、セントラルECU400側に送信してもよい。
【0069】
図14は、圧縮前後の通信信号情報の一例を示す図である。
図14の例では、圧縮処理にSignalAのデータ量が削減されたため、その分多くの種類の信号を格納することができる。なお、
図14の例では、SignalAのみを圧縮した例を示しているが、予め決められた他のデータも圧縮してよい。セントラルECU400は、
図14に示す変換表(圧縮前後の通信信号情報)を記憶部408に記憶しておくことで、ゾーンECU300から取得した信号が圧縮されたが否かによって、通信信号の内容をより正確に把握することができる。また、ゾーンECU300のゾーン側機能制御部304は、通信信号の圧縮に代えて(または加えて)、信号の送信周期を長くする(遅らせる)ことで、所定時間における通信量を削減してもよい。
【0070】
このように、ゾーンECU300とセントラルECU400とにおける処理の切り替えや、通信する信号の内容や周期を可変とすることで、通信線等による制約を満たしたうえでゾーンECU300の共通化やリーン開発を実現することができる。なお、上述では主に入力処理について説明したが、出力処理においても同様にゾーンECU300とセントラルECU400とにおける処理の切り替えを行ってもよい。
【0071】
[変形例]
なお、実施形態の車両制御システム1において、車両Mに所定の事象が発生した場合に、ゾーンECU300は、セントラルECU400を介さずに、車両Mの所定機能を実行させるための指示情報を生成して、デバイスECU200に出力してもよい。所定の事象とは、例えば、迅速な応答性が要求される事象であり、例えば、機器故障(例えば、モータ短絡、過電流故障)等の異常時である。この場合の車両Mの所定の機能とは、フェールセーフ処理である。例えば、モータ短絡であれば、フェールセーフ処理として電源供給の停止やリレーオフなどの予め決められた処理が実行される。なお、このフェールセーフ処理も「機能」に依存しているため、通常はセントラルECU400を介した制御が行われる。
【0072】
図15は、セントラルECU400を介したフェールセーフ処理の流れの一例を示す図である。
図15の例において、ゾーンECU300は、時刻T0にセンサで検知された信号を受信し、AD変換や第1入力処理を行った後、時刻T2にセントラルECU400に送信する。セントラルECU400は、時刻T2にゾーンECU300からの信号を受信した後、第2入力処理、第3入力処理、制御アプリケーションによる制御処理(異常検知)、第1出力処理(操作決定)等を行い、時刻T3にゾーンECU300に出力する。ゾーンECU300は、時刻T4にセントラルECU400からの情報を受信し、第2出力処理(操作命令)、第3出力処理(操作実行)、DA変換等を行い、時刻T5に対象機器(例えばアクチュエータ)に操作信号を送信してフェールセーフ処理に応じた動作等を実行させる。
【0073】
しかしながら、フェールセーフ等の実行時において、
図15に示すようにセントラルECU400を介して処理を行うと応答性が低下する可能性があるため、異常を検知した場合にゾーンECU300で全ての処理を実行し、セントラルECU400は関与しないようにする。
【0074】
図16は、セントラルECU400を介さないフェールセーフ処理の流れの一例を示す図である。セントラルECU400を介さずにフェールセーフ処理を実行する場合、ゾーンECU300は、車両Bの所定機能をデバイスECU200に接続されたデバイスに実行させるための操作実行情報を生成する。これにより、デバイスECU200は、ゾーンECU300で生成された操作実行情報に基づいて車両Mの所定機能を実行することができる。
図16の例では、ゾーンECU300がセンサにより検出された情報を取得してAD変換、第1~第3入力処理、第3処理、制御処理、第1~第3出力処理、DA変換等を実行している。これにより、ゾーンECU300から出力される時刻Ta(時刻T0からの経過時間)は、
図15に示す時刻T5よりも短時間となる。なお、ゾーンECU300は、故障等の異常を検知した場合やフェールセーフ処理を実行する場合に、
図16の処理に切り替える。これにより、フェールセーフ処理において、より素早い応答性を満たすことができる。なお、この場合には、セントラルECU400で実行可能な機能をゾーンECU300側にも設けておき、ゾーンECU300の制御処理において、ゾーンECU300とセントラルECU400との切り替え処理が実行される。また、実施形態では、フェースセーフ処理に限定されずに、機能実行時の応答性に応じて自動でセントラルECU400を介する処理(
図15の処理)と介さない処理(
図16の処理)とを切り替えてもよい。この場合、ゾーンECU300またはセントラルECU400は、セントラルECU400からの制御指令出力後からデバイスの動作が開始されるまでの時間を計測し、計測した時間が基準の時間を超えている場合に、セントラルECU400を介さない処理を実行させる。これにより、より応答性の早い処理を実現できる。
【0075】
[処理フロー]
次に、実施形態の車両制御システム1により実行される処理の流れについて説明する。なお、以下の処理では、車両制御システム1で実行される処理のうち、主にECUによる入出力処理について説明する。また、以下では、入力処理と出力処理とに分けて説明する。
図17は、車両制御システム1における入力処理の一例を示すフローチャートである。
図17の例において、デバイスECU200は、接続されたデバイスからの情報を取得する(ステップS100)。次に、ゾーンECU300は、取得した情報からシグナル情報を抽出する(ステップS102)。次に、セントラルECU400は、ゾーンECU300とセントラルECU400とを接続する通信線の通信量を検出し(ステップS104)、通信量が所定量より大きいか否かを判定する(ステップS106)。通信量が所定量より大きいと判定した場合、セントラルECU400は、ゾーン側機能制御部304に切り替えて通信量を削減するための処理を実行させる(ステップS108)。ステップS108の処理後、またはステップS106の処理において、通信量が所定量より大きくないと判定した場合、セントラルECU400は、セントラル側機能制御部402で以降の入力処理を実行する(ステップS110)。これにより、本フローチャートの処理は終了する。
【0076】
図18は、車両制御システム1における出力処理の一例を示すフローチャートである。
図18の例において、セントラルECU400は、入力情報に基づいて、第1出力処理として車両Mに所定機能を実行させるための操作内容を決定する(ステップS200)。次に、セントラルECU400は、入力情報の内容は、操作対象のデバイスの種類や操作決定内容に基づいて、ゾーンECU300またはセントラルECU400の何れかに切り替えて、第2出力処理としての操作命令を生成する(ステップS202)。次に、ゾーンECU300は、第3出力処理として、デバイスECU200に対する操作実行指示を出力して対象デバイスを動作させる(ステップS204)。これにより、本フローチャートの処理は終了する。
【0077】
以上説明した実施形態によれば、車両Mに搭載されたデバイスごとに設けられるデバイスECU(第1制御部の一例)200と、一以上のデバイスECU200を制御するゾーンECU(第2制御部の一例)300と、一以上のゾーンECU300を制御するセントラルECU(第3制御部の一例)400とを備える車両制御システム1であって、ゾーンECU300は、デバイスECU200と通信線で接続され、デバイスECU200に接続されたデバイスから出力される出力情報に基づいて第1処理を実行し、セントラルECU400は、ゾーンECU第2制御部と通信線で接続され、車両の所定機能に基づく第2処理を実行し、第1処理と第2処理とを実行することで車両Mの所定機能が実行されることにより、複数の制御部を用いて、より適切な処理を実行させることができる。
【0078】
具体的には、実施形態によれば、例えば、アプリケーションの機能更新を行う場合には、アプリケーションの機能が実行されるセントラルECU400のソフトウェアのみを書き換えるのみで完結し、デバイスの更新をする場合はデバイスECU200やゾーンECU300のみのソフトウェアのみを書き換えるのみで完結するため、書き換え対象または変更対象のECUを最小限とすることができる。そのため、書き換え処理の高速化を図ることができると共に、開発効率を向上したリーン開発を実現できたり、暗電流を抑制することができる。例えば、車両Mには、所定機能を実現するための様々なデバイスが搭載されており、デバイスECU200やゾーンECU300も多く搭載されるため、上記構成によりECUの処理を制御することでより高い効果を得ることができる。
【0079】
また、実施形態によれば、例えば、通信状況に応じてデータの間引き処理であるフィルタリング処理等の第1入力処理を、セントラルECU400またはゾーンECU300の何れかに切り替えて実行させることができる。また、実施形態によれば、デバイスECU200の変更やソフトウェアの書き換え等が発生してもセントラルECU400には影響がない構成となるため、書き換え処理等におけるコストを削減することができる。また、実施形態によれば、所定の事象の発生等、車両制御の内容に依ってはセントラルECU400に関与させずに、ゾーンECU300で処理できる構成とすることで、車両制御システム全体としての処理の高速化や、負荷を分散した処理効率の向上を図ることができる。また、実施形態によれば、通信線(通信バス)の負荷状況に応じて、どのECUで処理を実行するかを切り替えることができるため、通信遅延を抑制したり、負荷低減を図ることができる。
【0080】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0081】
1 車両制御システム
100 各種デバイス
200 デバイスECU
202 第1情報取得部
204、306、408 記憶部
300 ゾーンECU
302 シグナル情報抽出部
304 ゾーン側機能制御部
400 セントラルECU
402 セントラル側機能制御部
404 通信状況検出部
406 切替部
500 ソフトウェア更新部