JP7259656B2 - 車両の制御装置、車両の制御方法及び制御プログラム - Google Patents

車両の制御装置、車両の制御方法及び制御プログラム Download PDF

Info

Publication number
JP7259656B2
JP7259656B2 JP2019161529A JP2019161529A JP7259656B2 JP 7259656 B2 JP7259656 B2 JP 7259656B2 JP 2019161529 A JP2019161529 A JP 2019161529A JP 2019161529 A JP2019161529 A JP 2019161529A JP 7259656 B2 JP7259656 B2 JP 7259656B2
Authority
JP
Japan
Prior art keywords
vehicle
control
vms
state
control unit
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
JP2019161529A
Other languages
English (en)
Other versions
JP2021039611A (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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2019161529A priority Critical patent/JP7259656B2/ja
Priority to US16/944,569 priority patent/US11709697B2/en
Priority to EP20189338.5A priority patent/EP3789874B1/en
Priority to CN202010844916.0A priority patent/CN112445572A/zh
Publication of JP2021039611A publication Critical patent/JP2021039611A/ja
Application granted granted Critical
Publication of JP7259656B2 publication Critical patent/JP7259656B2/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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Description

本発明は、車両の制御装置、車両の制御方法及び制御プログラムに関する。
車両のECUの機能をソフトウェアとして1つの制御装置に統合するような開発が行われている。例えば、特許文献1には、プロセス間の依存性を考慮して起動の優先順位を決定する情報処理装置が開示されている。
特開2012-203449号公報
ここで、車両のECUの機能を有する複数のソフトウェアを1つの制御装置で実行する場合、VM(Virtual Machine)を構成することで実現されるが、この場合、車両の制御に必要なソフトウェアの起動が遅延するおそれがある。
本発明は、起動を優先すべきVMを車両の状態に応じて切り替えることにより、車両の制御に重要なVMの遅延を抑制する車両の制御装置、車両の制御方法及び制御プログラムを提供することを目的とする。
請求項1に記載の車両の制御装置は、車両の状態を判定する判定部と、前記車両に搭載された機器を制御する複数のVM(Virtual Machine)を構成するVM構成部と、前記車両の状態に応じて、前記複数のVMの起動又は停止を判断し、起動するVMの順序を決定するVM制御部と、を備えている。
請求項1に記載の車両の制御装置では、VM構成部により複数のVMが構成されており、各VMにおいて車両に搭載された機器が制御されている。当該車両の制御装置では、判定部により判定された車両の状態に応じて、VM制御部が複数のVMの起動又は停止を判断し、起動するVMの順序を決定する。これにより、車両の制御に重要なVMを優先的に起動させることができる。すなわち、当該車両の制御装置によれば、起動を優先すべきVMを車両の状態に応じて切り替えることにより、車両の制御に重要なVMの遅延を抑制することができる。
請求項2に記載の車両の制御装置は、請求項1に記載の車両の制御装置において、前記VM制御部は、一のVMに依存する他のVMが存在する場合、前記一のVMを起動させてから前記他のVMを起動させ、前記他のVMを停止させてから前記一のVMを停止させる。
請求項2に記載の車両の制御装置は、一のVMに依存する他のVMが存在する場合、一のVMが停止状態のまま他のVMが起動することのないように制御を行う。すなわち、当該車両の制御装置においては、一のVMを起動又は停止させる場合に、他のVMは停止しているため、一のVMの起動又は停止に要する処理時間を短縮させることができる。
請求項3に記載の車両の制御装置は、請求項1又は2に記載の車両の制御装置において、前記VM制御部は、起動中のVMを終了させて、停止中のVMを起動させる場合、終了させる前記起動中のVMに対する前記VM構成部のリソーセスを減少させ、前記停止中のVMの前記リソーセスを増加させての起動を可能とする。
請求項3に記載の車両の制御装置では、起動中のVMを終了させる処理を後回しにすることとし、当該VMに対するVM構成部のリソーセスを減少させ、これから起動させるVMのリソーセスを増加させる。これにより、停止中のVMの起動に係る処理は、終了を後回しにしたVMの処理から影響を受けることが抑制される。すなわち、当該車両の制御装置によれば、起動させるVMの起動時間を短縮することができる。
請求項4に記載の車両の制御装置は、請求項3に記載の車両の制御装置において、前記VM制御部は、前記車両の走行に係るVMを起動させる場合、当該VMの起動開始後に前記リソーセスを増加させ、起動完了後に前記リソーセスを通常使用量まで減少させる。
請求項4に記載の車両の制御装置では、終了に係る処理を後回しにしたVMに割り当てられていたリソーセスを、これから起動させる車両の走行に係るVMに振り分けることができる。したがって、当該車両の制御装置によれば、車両の走行に係るVMの起動時間を短縮することができる。
請求項5に記載の車両の制御装置は、請求項3又は4に記載の車両の制御装置において、前記VM制御部は、前記車両の走行に影響のないVMを起動させる場合、当該VMの起動を開始した後、当該VMの起動完了を待たずに順序が次のVMに係る起動又は停止を実行する。
請求項5に記載の車両の制御装置では、車両の走行に影響のないVMを起動させる場合、VM制御部は当該VMの起動完了を待たずに順序が次のVMに係る起動又は停止を実行する。すなわち、当該車両の制御装置によれば、車両の走行に影響のないVMに関しては、他のVMの処理と並行して行うことで、全ての処理が完了するまでの時間を短縮することができる。
請求項6に記載の車両の制御方法は、車両の状態を判定する判定ステップと、前記車両に搭載された機器を制御する複数のVMを構成する構成ステップと、前記車両の状態に応じて、前記複数のVMの起動又は停止を判断し、起動するVMの順序を決定する制御ステップと、を備えている。
請求項6に記載の車両の制御方法は、構成ステップにより複数のVMが構成されており、各VMにおいて車両に搭載された機器が制御されている。当該車両の制御方法では、判定ステップにより判定された車両の状態に応じて、複数のVMの起動又は停止を判断し、起動するVMの順序を決定する処理が実行されている。これにより、車両の制御に重要なVMを優先的に起動させることができる。すなわち、当該車両の制御方法によれば、起動を優先すべきVMを車両の状態に応じて切り替えることにより、車両の制御に重要なVMの遅延を抑制することができる。
請求項7に記載の制御プログラムは、車両の状態を判定する判定ステップと、前記車両に搭載された機器を制御する複数のVMを構成する構成ステップと、前記車両の状態に応じて、前記複数のVMの起動又は停止を判断し、起動するVMの順序を決定する制御ステップと、を含む処理をコンピュータに実行させる。
請求項7に記載の制御プログラムは、コンピュータが実行する構成ステップにより複数のVMが構成されており、各VMにおいて車両に搭載された機器が制御されている。当該コンピュータは、判定ステップにより判定された車両の状態に応じて、複数のVMの起動又は停止を判断し、起動するVMの順序を決定する処理が実行されている。これにより、車両の制御に重要なVMを優先的に起動させることができる。すなわち、当該制御プログラムによれば、起動を優先すべきVMを車両の状態に応じて切り替えることにより、車両の制御に重要なVMの遅延を抑制することができる。
本発明によれば、起動を優先すべきVMを車両の状態に応じて切り替えることにより、車両の制御に重要なVMの遅延を抑制することができる。
第1の実施形態に係る車両のハードウェア構成を示すブロック図である。 第1の実施形態の車両の機能構成の例を示すブロック図である。 第1の実施形態の車両の制御装置における起動順序テーブルの一例を示す図である。 第1の実施形態における車両の状態と起動又は停止するVMとを説明する図である。 第1の実施形態における起動処理の流れを示すフローチャートである。 第1の実施形態における起動処理の流れを示すフローチャート(図5の続き)である。 第2の実施形態の車両の機能構成の例を示すブロック図である。 第3の実施形態の車両の機能構成の例を示すブロック図である。 第4の実施形態の車両の機能構成の例を示すブロック図である。
[第1の実施形態]
図1は、第1の実施形態に係る車両12の制御系を示すブロック図である。
(構成)
図1に示されるように、第1の実施形態に係る車両12は、車両の制御装置(以下、単に「制御装置」とする)10としてのECU(Electronic Control Unit)20と、ECU20に接続される車載機器群16とを含んで構成されている。車載機器群16は、車両12に設けられたセンサ類であって、ボデー各部、エンジン各部に装着されたセンサを含む。また、車載機器群16は、車両12に設けられた駆動用の装置類であって、ボデー各部、エンジン各部に装着されたモータ、バルブ、アクチュエータを含む。
ECU20は、CPU(Central Processing Unit)20A、ROM(Read Only Memory)20B、RAM(Random Access Memory)20C、通信I/F(Inter Face)20D及び入出力I/F(Inter Face)20Eを含んで構成されている。CPU20A、ROM20B、RAM20C、通信I/F20D及び入出力I/F20Eは、バス20Fを介して相互に通信可能に接続されている。
CPU20Aは、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU20Aは、ROM20Bからプログラムを読み出し、RAM20Cを作業領域としてプログラムを実行する。本実施形態では、CPU20A自体を複数備えてもよいし(いわゆる、マルチプロセッサ)、CPU20Aにおいてコアを複数有していてもよい(いわゆる、マルチコア)。
ROM20Bは、各種プログラム及び各種データを記憶している。本実施形態のROM20Bには、制御プログラム200が記憶されている。制御プログラム200は、後述する起動処理を行うためのプログラムである。また、ROM20Bには、後述する起動順序テーブル220が記憶されている。
RAM20Cは、作業領域として一時的にプログラム又はデータを記憶する。
通信I/F20Dは、車両12に設けられた他の装置と接続するためのインタフェースである。当該インタフェースは、CAN(Controller Area Network)、イーサネット(登録商標)等による通信規格が用いられる。
入出力I/F20Eは、車両12に搭載される車載機器群16と通信するためのインタフェースである。
図2は、ECU20の機能構成の例を示すブロック図である。各機能構成は、CPU20AがROM20Bに記憶された制御プログラム200を読み出し、これを実行することによって実現される。
図2に示されるように、ECU20は、4つのVM(Virtual Machine:仮想マシン)110及びVM構成部250を有している。VM110は、ボデー制御VM110A、エンジン制御VM110B、自動運転制御VM110C、及びマルチメディアVM110Dを含んでいる。ここで、エンジン制御VM110Bは、一のVMの一例であり、自動運転制御VM110Cは、他のVMの一例である。なお、ECU20において実現されるVM110はこの限りでなく、用途に応じたVM110をさらに含んでいてもよい。
VM構成部250は、各VM110を仮想的に構成する機能を有している。このVM構成部250は、いわゆるハイパーバイザーの機能により実現される。VM構成部250は、VM制御部260と、判定部としての状態判定部270とをさらに含んでいる。
VM制御部260は、各VM110の起動又は終了の順序、及びCPU20Aのリソーセスの割り当てを制御する機能を有している。VM制御部260は、起動順序テーブル220、起動VM判断部262、及びリソーセス管理部264をさらに含んでいる。
図3に示されるように、起動順序テーブル220は各VM110を起動する場合における各VM110の起動順位を規定したテーブルである。当該順位は車両12の走行にとって重要なVM110、すなわち、優先度の高いVM110程、高い順位が付与されている。例えば、車両12の走行に必須となるボデー制御VM110A、及びエンジン制御VM110Bの優先度はHighに設定され、付加機能である自動運転を実現するための自動運転制御VM110Cの優先度はMiddleに設定されている。また、車両12の走行には直接関係のないマルチメディアVM110Dの優先度はLowに設定されている。
さらに、起動順序テーブル220には、VM110毎の依存関係が規定されている。例えば、図3に示されるように、自動運転制御VM110Cはエンジン制御VM110Bに依存している。すなわち、自動運転を行う場合、自動運転制御VM110Cが起動される前にエンジン制御VM110Bが起動している必要がある。
起動VM判断部262は、車両12の状態に応じて、各VM110を起動させるか又は停止させるかを判断する機能を有している。具体的に起動VM判断部262は、後述する状態判定部270により判定された車両12の状態に基づいて、各VM110を起動させるか又は停止させるかの何れかを判断する。例えば、図4に示されるように、車両12の状態が「乗車」かつ「駐車」とされる状態Aにおいては、ボデー制御VM110A及びマルチメディアVM110Dは起動と判断され、エンジン制御VM110B及び自動運転制御VM110Cは停止と判断される。また、例えば、車両12の状態が「乗車」かつ「走行中」かつ「自動運転」とされる状態Bにおいては、ボデー制御VM110A、エンジン制御VM110B、自動運転制御VM110C及びマルチメディアVM110Dはいずれも起動と判断される。
リソーセス管理部264は、各VM110に割り当てるCPU20Aのリソーセスの管理を行う機能を有している。リソーセス管理部264は、VM構成部250やVM制御部260の実行に要するリソーセスを除いたリソーセスを各VM110に対して割り当てる。
状態判定部270は、車載機器群16の情報を基に車両12の状態を判定する機能を有している。車両12の状態には、乗車状態、走行状態、運転状態等がある。乗車状態には、車載機器群16に含まれる車内カメラや着座センサ等の情報に基づいて判定される「乗車」及び「空車」の区分がある。走行状態には、車載機器群16に含まれる車速センサ等の情報に基づいて判定される「走行中」及び「駐車」の区分がある。運転状態には、車載機器群16に含まれる舵角センサやスロットルポジションセンサ等の情報に基づいて判定される「自動運転」及び「手動運転」の区分がある。
(制御の流れ)
本実施形態において、ECU10が実行する起動処理の流れの例を図5及び図6のフローチャートで説明する。
図5のステップS100において、CPU20Aは、構成ステップとしてソフトウェアとしてのハイパーバイザーを起動する。これにより、仮想化された各VM110が構成される。
ステップS101において、状態判定部270は、判定ステップとして車両12の状態を判定する。状態判定部270が車両12の状態が状態A(図4参照)であると判定した場合、ステップS102に進む。一方、状態判定部270が車両12の状態が状態B(図4参照)であると判定した場合、ステップS120に進む。
なお、ステップS101の判定ステップの結果、車両12の状態が判定された場合、続けて切替ステップが実行される。車両12の状態が状態Aである場合、切替ステップにおいては、起動順序テーブル220に定義された順位及び依存先と、起動VM判断部262において判断された起動又は停止の別と、で処理の順位が決定される。状態Aの場合、ステップS102~ステップS118のとおり、自動運転制御VM110C、エンジン制御VM110B、ボデー制御VM110A、マルチメディアVM110D、自動運転制御VM110C、エンジン制御VM110Bの順序で起動の有無に係る判断処理が実行される。
ステップS102において、VM制御部260は自動運転制御VM110Cが起動中であるか否かの判定を行う。VM制御部260は自動運転制御VM110Cが起動中であると判定した場合、ステップS103に進む。一方、VM制御部260は自動運転制御VM110Cが起動中ではない、すなわち停止中であると判定した場合、ステップS104に進む。
ステップS103において、リソーセス管理部264は自動運転制御VM110Cに対するCPU20Aのリソーセスの割り当てを事実上の停止レベルまで減少させる。そして、ステップS104に進む。
ステップS104において、VM制御部260はエンジン制御VM110Bが起動中であるか否かの判定を行う。VM制御部260はエンジン制御VM110Bが起動中であると判定した場合、ステップS105に進む。一方、VM制御部260はエンジン制御VM110Bが起動中ではない、すなわち停止中であると判定した場合、ステップS106に進む。
ステップS105において、リソーセス管理部264はエンジン制御VM110Bに対するCPU20Aのリソーセスの割り当てを事実上の停止レベルまで減少させる。そして、ステップS106に進む。
ステップS106において、VM制御部260はボデー制御VM110Aが起動中であるか否かの判定を行う。VM制御部260はボデー制御VM110Aが起動中であると判定した場合、ステップS111に進む。一方、VM制御部260はボデー制御VM110Aが起動中ではない、すなわち停止中であると判定した場合、ステップS107に進む。
ステップS107において、VM制御部260はボデー制御VM110Aの起動を開始する。
ステップS108において、リソーセス管理部264はボデー制御VM110Aに対するCPU20Aのリソーセスの割り当てを増加させる。
ステップS109において、VM制御部260はボデー制御VM110Aが起動したか否かの判定を行う。VM制御部260はボデー制御VM110Aが起動したと判定した場合、ステップS110に進む。一方、VM制御部260はボデー制御VM110Aが起動していないと判定した場合、ステップS109を繰り返す。
ステップS110において、リソーセス管理部264はボデー制御VM110Aに対するCPU20Aのリソーセスの割り当てを通常レベルまで減少させる。そして、ステップS111に進む。
ステップS111において、VM制御部260はマルチメディアVM110Dが起動中であるか否かの判定を行う。VM制御部260はマルチメディアVM110Dが起動中であると判定した場合、ステップS113に進む。一方、VM制御部260はマルチメディアVM110Dが起動中ではない、すなわち停止中であると判定した場合、ステップS112に進む。
ステップS112において、VM制御部260はマルチメディアVM110Dの起動を開始する。そして、ステップS113に進む。
ステップS113において、VM制御部260は自動運転制御VM110Cが起動中であるか否かの判定を行う。VM制御部260は自動運転制御VM110Cが起動中であると判定した場合、ステップS114に進む。一方、VM制御部260は自動運転制御VM110Cが起動中ではない、すなわち停止中であると判定した場合、ステップS116に進む。
ステップS114において、リソーセス管理部264は自動運転制御VM110Cに対するCPU20Aのリソーセスの割り当てを通常の処理を可能とする最小レベルまで増加させる。
ステップS113において、VM制御部260は自動運転制御VM110Cの終了処理を行う。そして、ステップS116に進む。
ステップS116において、VM制御部260はエンジン制御VM110Bが起動中であるか否かの判定を行う。VM制御部260はエンジン制御VM110Bが起動中であると判定した場合、ステップS117に進む。一方、VM制御部260はエンジン制御VM110Bが起動中ではない、すなわち停止中であると判定した場合、ステップS119に進む。
ステップS117において、リソーセス管理部264はエンジン制御VM110Bに対するCPU20Aのリソーセスの割り当てを通常の処理を可能とする最小レベルまで増加させる。
ステップS118において、VM制御部260はエンジン制御VM110Bの終了処理を行う。そして、ステップS119に進む。
ステップS119において、状態判定部270は車両12の状態を判定する。状態判定部270が車両12の状態が変化していると判定した場合、ステップS101に戻る。一方、状態判定部270が車両12の状態が変化していないと判定した場合、ステップS119を繰り返す。すなわち、車両12の状態が変化するまで処理を待機する。
一方、車両12の状態が状態Bである場合、切替ステップにおいては、起動順序テーブル220に定義された順位に沿って行われる。状態Bの場合、図6のステップS120~ステップS136のとおり、ボデー制御VM110A、エンジン制御VM110B、自動運転制御VM110C、マルチメディアVM110Dの順序で起動の有無に係る判断処理が実行される。
ステップS120において、VM制御部260はボデー制御VM110Aが起動中であるか否かの判定を行う。VM制御部260はボデー制御VM110Aが起動中であると判定した場合、ステップS125に進む。一方、VM制御部260はボデー制御VM110Aが起動中ではない、すなわち停止中であると判定した場合、ステップS121に進む。
ステップS121において、VM制御部260はボデー制御VM110Aの起動を開始する。
ステップS122において、リソーセス管理部264はボデー制御VM110Aに対するCPU20Aのリソーセスの割り当てを増加させる。
ステップS123において、VM制御部260はボデー制御VM110Aが起動したか否かの判定を行う。VM制御部260はボデー制御VM110Aが起動したと判定した場合、ステップS124に進む。一方、VM制御部260はボデー制御VM110Aが起動していないと判定した場合、ステップS123を繰り返す。
ステップS124において、リソーセス管理部264はボデー制御VM110Aに対するCPU20Aのリソーセスの割り当てを通常レベルまで減少させる。そして、ステップS125に進む。
ステップS125において、VM制御部260はエンジン制御VM110Bが起動中であるか否かの判定を行う。VM制御部260はエンジン制御VM110Bが起動中であると判定した場合、ステップS130に進む。一方、VM制御部260はエンジン制御VM110Bが起動中ではない、すなわち停止中であると判定した場合、ステップS126に進む。
ステップS126において、VM制御部260はエンジン制御VM110Bの起動を開始する。
ステップS127において、リソーセス管理部264はエンジン制御VM110Bに対するCPU20Aのリソーセスの割り当てを増加させる。
ステップS128において、VM制御部260はエンジン制御VM110Bが起動したか否かの判定を行う。VM制御部260はエンジン制御VM110Bが起動したと判定した場合、ステップS129に進む。一方、VM制御部260はエンジン制御VM110Bが起動していないと判定した場合、ステップS128を繰り返す。
ステップS129において、リソーセス管理部264はエンジン制御VM110Bに対するCPU20Aのリソーセスの割り当てを通常レベルまで減少させる。そして、ステップS130に進む。
ステップS130において、VM制御部260は自動運転制御VM110Cが起動中であるか否かの判定を行う。VM制御部260は自動運転制御VM110Cが起動中であると判定した場合、ステップS135に進む。一方、VM制御部260は自動運転制御VM110Cが起動中ではない、すなわち停止中であると判定した場合、ステップS131に進む。
ステップS131において、VM制御部260は自動運転制御VM110Cの起動を開始する。
ステップS132において、リソーセス管理部264は自動運転制御VM110Cに対するCPU20Aのリソーセスの割り当てを増加させる。
ステップS133において、VM制御部260は自動運転制御VM110Cが起動したか否かの判定を行う。VM制御部260は自動運転制御VM110Cが起動したと判定した場合、ステップS134に進む。一方、VM制御部260は自動運転制御VM110Cが起動していないと判定した場合、ステップS133を繰り返す。
ステップS134において、リソーセス管理部264は自動運転制御VM110Cに対するCPU20Aのリソーセスの割り当てを通常レベルまで減少させる。そして、ステップS135に進む。
ステップS135において、VM制御部260はマルチメディアVM110Dが起動中であるか否かの判定を行う。VM制御部260はマルチメディアVM110Dが起動中であると判定した場合、ステップS119に進む。一方、VM制御部260はマルチメディアVM110Dが起動中ではない、すなわち停止中であると判定した場合、ステップS136に進む。
ステップS136において、VM制御部260はマルチメディアVM110Dの起動を開始する。そして、ステップS119に進む。
(第1の実施形態のまとめ)
本実施形態の制御装置10では、VM構成部250により仮想化された複数のVM110が構成されており、各VM110において車両12に搭載された機器(車載機器群16)が制御されている。当該制御装置10では、状態判定部270により判定された車両12の状態に応じて、VM制御部260が複数のVM110の起動又は停止を行う順位を切り替えている。
例えば、車両12が状態Bであって停止中の各VM110がそれぞれ起動する場合、制御装置10では、起動順序テーブル220に規定された順位に沿って起動を行う(図6のステップS120~ステップS136参照)。一方、車両12が状態Aであって一部のVM110が終了する場合、制御装置10では、VM110の依存関係と、CPU20Aのリソーセスの増減を行うVM110の順序とを考慮した順位に沿って起動又は停止を行う(図5のステップS102~ステップS118参照)。
本実施形態の制御装置10は、VM110の起動又は停止を行う順序を切り替えることにより、車両12の制御に重要なVM110、例えば、ボデー制御VM110Aを優先的に起動させることができる。すなわち、本実施形態によれば、起動を優先すべきVM110を車両12の状態に応じて切り替えることにより、車両12の制御に重要なVM110の遅延を抑制することができる。
また、本実施形態の制御装置10は、一のVM110に依存する他のVM110が存在する場合、一のVM110が停止状態のまま他のVM110が起動することのないように制御を行う。具体的に、本実施形態では、一のVM110であるエンジン制御VM110Bが停止状態のまま、他のVM110である自動運転制御VM110Cが起動することのないように制御を行っている。すなわち、本実施形態においては、エンジン制御VM110Bを起動又は停止させる場合に、自動運転制御VM110Cは停止しているため、エンジン制御VM110Bの起動又は停止に要する処理時間を短縮することができる。
また、本実施形態の制御装置10では、エンジン制御VM110B及び自動運転制御VM110Cを起動させる必要のない状態Aにおいて、エンジン制御VM110B及び自動運転制御VM110Cを終了させる処理を後回しにしている。この際、終了を後回しにするエンジン制御VM110B及び自動運転制御VM110Cでは、CPU20Aのリソーセスを減少させる。これにより、停止中のボデー制御VM110A及びマルチメディアVM110Dの起動に係る処理は、終了を後回しにしたエンジン制御VM110B及び自動運転制御VM110Cの処理から影響を受けることが抑制される。すなわち、本実施形態によれば、起動させるボデー制御VM110A及びマルチメディアVM110D、特に車両12の走行に重要なボデー制御VM110Aの起動に係る処理時間を短縮することができる。
また、本実施形態の制御装置10では、終了に係る処理を後回しにしたエンジン制御VM110B及び自動運転制御VM110Cに割り当てられていたCPU20Aのリソーセスを、起動に係る処理を行うボデー制御VM110Aに振り分けることができる。したがって、本実施形態によれば、起動させるボデー制御VM110Aの処理時間を短縮することができる。
なお、CPU20Aに係るリソーセスの割り当ての変更はハイパーバイザーの機能としてのVM構成部250の操作のみで行われ、制御装置10全体におけるCPU20Aのリソーセスの消費は少ない。また、マルチメディアVM110Dはボデー制御VM110Aが起動完了するまで起動させないため、マルチメディアVM110Dで利用しようとしていたリソーセスもボデー制御VM110Aに割り当てが可能となる。すなわち、ボデー制御VM110Aに割り当てるCPU20Aのリソーセスを極力増加させることができ、さらなる起動時間の短縮が実現できる。そして、ボデー制御VM110Aの起動処理が完了したあとは、ボデー制御VM110AからVM制御部260へ起動完了の通知を行うことで、ボデー制御VM110Aへのリソーセス割り当てを通常運用レベルに変更する。
さらに、本実施形態の制御装置10では、車両12の走行に影響のないマルチメディアVM110Dを起動させる場合、VM制御部260はマルチメディアVM110Dの起動の完了を待たずに次の順位のVMに係る起動又は停止を実行する。すなわち、車両12の走行に影響のないマルチメディアVM110Dに関しては、エンジン制御VM110B及び自動運転制御VM110Cを終了させる処理と並行して行うことで、全ての処理が完了するまでの時間を短縮することができる。
[第2の実施形態]
第1の実施形態では、ハイパーバイザーの機能としてのVM構成部250にVM制御部260を設けていた。これに対して、第2の実施形態では、一のVM110にVM制御部260を構成した点で第1の実施形態と異なる。以下、第1の実施形態との相違点について説明する。なお、同一の構成には同一の符号を付しており、説明については省略する。
図7に示されるように、本実施形態のECU20において、VM110は、ボデー制御VM110A、エンジン制御VM110B、自動運転制御VM110C、マルチメディアVM110Dの他に、制御用VM120を有している。本実施形態では制御用VM120がVM制御部260を備えている。VM構成部250は制御用VM120を特殊なVM110として、他のVM110とは異なるものとして扱い、ハイパーバイザーの起動直後に、制御用VM120を起動する。
また、本実施形態の状態判定部270は、VM制御部260の内部に設けられている。一方、VM構成部250には、RAM20Cの一部である共有メモリ280が設けられている。共有メモリ280は各VM110(ボデー制御VM110A、エンジン制御VM110B、自動運転制御VM110C、マルチメディアVM110D)に係る情報をVM構成部250とVM制御部260とで共有している。VM制御部260からVM構成部250に対する各VM110(VM110A~VM110D)の起動及び終了の指示は、ECU20内部の通信により行われる。
本実施形態においても、第1の実施形態と同様の作用効果を得ることができる。
[第3の実施形態]
第1の実施形態に対して、第3の実施形態では、状態判定部270を他のECU20に設けた点で第1の実施形態と異なる。以下、第1の実施形態との相違点について説明する。なお、同一の構成には同一の符号を付しており、説明については省略する。
図8に示されるように、本実施形態の制御装置10は、ECU20としてメインECU22と、サブECU23とを含んでいる。本実施形態では、メインECU22に各VM110、VM構成部250、及びVM制御部260が設けられ、サブECU23に状態判定部270が設けられている。状態判定部270において判定された車両12の状態は、ECU20同士の通信(例えば、CAN)により、VM制御部260に対して通知される。
本実施形態においても、第1の実施形態と同様の作用効果を得ることができる。
[第4の実施形態]
第1の実施形態に対して、第3の実施形態では、VM制御部260と状態判定部270とをそれぞれ他のECU20に設けた点で異なる。以下、第1の実施形態との相違点について説明する。なお、同一の構成には同一の符号を付しており、説明については省略する。
図9に示されるように、本実施形態の制御装置10は、ECU20として第一ECU24と、第二ECU25と、第三ECU26とを含んでいる。本実施形態では、第一ECU24に各VM110及びVM構成部250が設けられ、第二ECU25にVM制御部260が設けられ、第三ECU26に状態判定部270が設けられている。
本実施形態では、各VM110(ボデー制御VM110A、エンジン制御VM110B、自動運転制御VM110C、マルチメディアVM110D)に係る情報をVM構成部250とVM制御部260とで共有すべく、第一ECU24のRAM20Cと、第二ECU25のRAM20Cとで各VM110の情報の同期が図られている。状態判定部270において判定された車両12の状態は、ECU20同士の通信(例えば、CAN)により、VM制御部260に対して通知される。また、VM制御部260からVM構成部250に対するVM110の起動及び終了の指示は、ECU20同士の通信(例えば、CAN)により行われる。
本実施形態においても、第1の実施形態と同様の作用効果を得ることができる。
[備考]
なお、上記実施形態の車両12には、状態A及び状態Bの2つの状態が設けられていたが(図4参照)、これに限らず3以上の状態を設けてもよい。
また、上記実施形態でCPU20Aがソフトウェア(プログラム)を読み込んで実行した処理は、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、各処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
また、上記実施形態において、プログラムはコンピュータが読み取り可能な非一時的記録媒体に予め記憶(インストール)されている態様で説明した。例えば、ECU20において制御プログラム200は、ROM20Bに予め記憶されている。しかしこれに限らず、各プログラムは、HDD(Hard Disk Drive)、及びSSD(Solid State Drive)等のストレージに記憶されていてもよい。また、各プログラムは、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的記録媒体に記録された形態で提供されてもよい。また、各プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
上記実施形態で説明した処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
10 車両の制御装置
12 車両
110 VM(Virtual Machine)
110B エンジン制御VM(一のVM)
110C 自動運転制御VM(他のVM)
220 制御プログラム
250 VM構成部
260 VM制御部
270 状態判定部(判定部)

Claims (7)

  1. 車両の状態を判定する判定部と、
    前記車両に搭載された機器を制御する複数のVM(Virtual Machine)を構成するVM構成部と、
    前記車両の状態に応じて、前記複数のVMの起動又は停止を判断し、起動するVMの順序を決定するVM制御部と、
    を備える車両の制御装置。
  2. 前記VM制御部は、一のVMに依存する他のVMが存在する場合、前記一のVMを起動させてから前記他のVMを起動させ、前記他のVMを停止させてから前記一のVMを停止させる請求項1に記載の車両の制御装置。
  3. 前記VM制御部は、起動中のVMを終了させて、停止中のVMを起動させる場合、終了させる前記起動中のVMに対する前記VM構成部のリソーセスを減少させ、前記停止中のVMの前記リソーセスを増加させての起動を可能とする請求項1又は2に記載の車両の制御装置。
  4. 前記VM制御部は、前記車両の走行に係るVMを起動させる場合、当該VMの起動開始後に前記リソーセスを増加させ、起動完了後に前記リソーセスを通常使用量まで減少させる請求項3に記載の車両の制御装置。
  5. 前記VM制御部は、前記車両の走行に影響のないVMを起動させる場合、当該VMの起動を開始した後、当該VMの起動完了を待たずに順序が次のVMに係る起動又は停止を実行する請求項3又は4に記載の車両の制御装置。
  6. 車両の状態を判定する判定ステップと、
    前記車両に搭載された機器を制御する複数のVMを構成する構成ステップと、
    前記車両の状態に応じて、前記複数のVMの起動又は停止を判断し、起動するVMの順序を決定する制御ステップと、
    を備える車両の制御方法。
  7. 車両の状態を判定する判定ステップと、
    前記車両に搭載された機器を制御する複数のVMを構成する構成ステップと、
    前記車両の状態に応じて、前記複数のVMの起動又は停止を判断し、起動するVMの順序を決定する制御ステップと、
    を含む処理をコンピュータに実行させるための制御プログラム。
JP2019161529A 2019-09-04 2019-09-04 車両の制御装置、車両の制御方法及び制御プログラム Active JP7259656B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019161529A JP7259656B2 (ja) 2019-09-04 2019-09-04 車両の制御装置、車両の制御方法及び制御プログラム
US16/944,569 US11709697B2 (en) 2019-09-04 2020-07-31 Vehicle control device, vehicle control method, and recording medium storing vehicle control program
EP20189338.5A EP3789874B1 (en) 2019-09-04 2020-08-04 Vehicle control device, vehicle control method, and recording medium storing vehicle control program
CN202010844916.0A CN112445572A (zh) 2019-09-04 2020-08-20 车辆的控制装置、控制方法及存储控制程序的存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019161529A JP7259656B2 (ja) 2019-09-04 2019-09-04 車両の制御装置、車両の制御方法及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2021039611A JP2021039611A (ja) 2021-03-11
JP7259656B2 true JP7259656B2 (ja) 2023-04-18

Family

ID=71948471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019161529A Active JP7259656B2 (ja) 2019-09-04 2019-09-04 車両の制御装置、車両の制御方法及び制御プログラム

Country Status (4)

Country Link
US (1) US11709697B2 (ja)
EP (1) EP3789874B1 (ja)
JP (1) JP7259656B2 (ja)
CN (1) CN112445572A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021124902A (ja) * 2020-02-04 2021-08-30 トヨタ自動車株式会社 車両制御装置、車両制御方法、及び車両制御プログラム
EP4305527A1 (en) * 2021-03-12 2024-01-17 Woven by Toyota, U.S., Inc. Service-oriented data architecture for a vehicle
JP2022144140A (ja) * 2021-03-18 2022-10-03 株式会社オートネットワーク技術研究所 車載装置、情報処理方法、及びコンピュータプログラム
CN113364805B (zh) * 2021-06-29 2022-04-05 潍柴动力股份有限公司 一种can报文保护方法、装置、存储介质和设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058412A (ja) 2005-08-23 2007-03-08 Denso Corp 車載システム及び車載システムにおけるリソースの管理方法
WO2008062512A1 (fr) 2006-11-21 2008-05-29 Fujitsu Limited Système multiprocesseur
WO2013132647A1 (ja) 2012-03-09 2013-09-12 パイオニア株式会社 情報処理装置、情報処理方法、情報処理プログラムが記録された記録媒体及び情報処理プログラム
JP2015532754A (ja) 2012-08-27 2015-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想マシンの配備時間の最適化
JP2016153986A (ja) 2015-02-20 2016-08-25 株式会社デジタル 計算機資源使用制御装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4090908B2 (ja) 2003-02-21 2008-05-28 シャープ株式会社 画像処理装置および画像形成装置
JP2005043962A (ja) 2003-07-22 2005-02-17 Nippon Telegr & Teleph Corp <Ntt> 分散サーバシステム、サーバ、アプリケーションプロセス起動制御方法、及びプログラム
JP4082706B2 (ja) 2005-04-12 2008-04-30 学校法人早稲田大学 マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
JP4955943B2 (ja) 2005-06-28 2012-06-20 クラリオン株式会社 情報端末および計算機資源管理方法
JP2008011031A (ja) 2006-06-28 2008-01-17 Fujitsu Ltd 無線基地局装置
JP2009069921A (ja) 2007-09-11 2009-04-02 Hitachi Ltd マルチプロセッサシステム
JP5352367B2 (ja) * 2009-07-27 2013-11-27 株式会社エヌ・ティ・ティ・データ 仮想マシン起動端末および仮想マシン起動プログラム
JP2011065241A (ja) 2009-09-15 2011-03-31 Nec Corp プロセス起動条件システム
JP5458998B2 (ja) 2010-03-19 2014-04-02 富士通株式会社 仮想マシンシステムおよび仮想マシン管理方法
JP2012203449A (ja) 2011-03-23 2012-10-22 Nec Corp 情報処理装置、情報処理方法、および、コンピュータ・プログラム
WO2013145288A1 (ja) 2012-03-30 2013-10-03 富士通株式会社 情報処理装置、仮想マシン停止方法およびプログラム
JP6099323B2 (ja) 2012-06-13 2017-03-22 株式会社富士通マーケティング サーバ制御装置およびサーバ制御プログラム
US20140007097A1 (en) * 2012-06-29 2014-01-02 Brocade Communications Systems, Inc. Dynamic resource allocation for virtual machines
WO2014172320A1 (en) * 2013-04-15 2014-10-23 Flextronics Ap, Llc Vehicle location-based home automation triggers
JP2017142722A (ja) 2016-02-12 2017-08-17 日本電信電話株式会社 仮想計算機システムおよびvm起動制御方法
US20180295011A1 (en) * 2017-04-05 2018-10-11 GM Global Technology Operations LLC Architectures and methods for management of in-vehicle networked controllers and devices
JP7000797B2 (ja) 2017-10-25 2022-01-19 日本電気株式会社 起動管理装置、起動管理システム、起動管理方法、および、起動管理プログラム
WO2020047016A1 (en) * 2018-08-30 2020-03-05 Karamba Security Ltd. Virtualized controllers for in-vehicle and iot networks
CN113767367A (zh) * 2019-05-10 2021-12-07 日立安斯泰莫株式会社 虚拟机监视器及控制装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058412A (ja) 2005-08-23 2007-03-08 Denso Corp 車載システム及び車載システムにおけるリソースの管理方法
WO2008062512A1 (fr) 2006-11-21 2008-05-29 Fujitsu Limited Système multiprocesseur
WO2013132647A1 (ja) 2012-03-09 2013-09-12 パイオニア株式会社 情報処理装置、情報処理方法、情報処理プログラムが記録された記録媒体及び情報処理プログラム
JP2015532754A (ja) 2012-08-27 2015-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想マシンの配備時間の最適化
JP2016153986A (ja) 2015-02-20 2016-08-25 株式会社デジタル 計算機資源使用制御装置

Also Published As

Publication number Publication date
JP2021039611A (ja) 2021-03-11
EP3789874B1 (en) 2023-04-26
EP3789874A1 (en) 2021-03-10
US20210064409A1 (en) 2021-03-04
US11709697B2 (en) 2023-07-25
CN112445572A (zh) 2021-03-05

Similar Documents

Publication Publication Date Title
JP7259656B2 (ja) 車両の制御装置、車両の制御方法及び制御プログラム
KR102356316B1 (ko) 차량 시스템, 차량 및 이러한 차량 시스템을 동작시키기 위한 방법
EP3239852B1 (en) Method and device for task scheduling on heterogeneous multi-core reconfigurable computing platform
EP2799990B1 (en) Dynamic virtual machine sizing
EP2128759B1 (en) Operating system startup control method and information processing apparatus
JP5316718B1 (ja) マルチコア・プロセッサ
US20180260257A1 (en) Pld management method and pld management system
JP7006451B2 (ja) 電子制御装置及びマルチコアの割当て方法
EP2839374B1 (en) Information processing device, information processing method, and storage medium storing program for executing information processing method
KR101548068B1 (ko) 운영 체제를 구동하는 프로세서 코어들의 동적 할당
CN115033356A (zh) 一种基于异构可重构的动态资源调度方法及系统
JP6902992B2 (ja) 自動車用電子制御装置
US10810032B2 (en) System and method for dynamic guest-controlled halt polling using a CPU governor
JP2014004858A (ja) 車両制御装置
JP6365387B2 (ja) 電子制御装置
US20230385189A1 (en) Information processing device, information processing method, and non-transitory storage medium
CN117917641A (zh) 信息处理装置、车辆、信息处理方法以及记录有程序的记录介质
KR102115738B1 (ko) 가상화된 시스템에서의 중요한 서비스 가속화 방법 및 장치
JP2023102942A (ja) 情報処理装置、車両、情報処理方法、及び情報処理プログラム
US20230004442A1 (en) Cache coherent acceleration function virtualization
EP3336698B1 (en) System comprising a plurality of virtualization systems
CN114661408A (zh) 信息处理装置、控制方法、非暂时性存储介质以及车辆
JP2020166757A (ja) 制御装置および制御方法
JP2023032307A (ja) 仮想化制御装置および割り込み制御方法
JP5146272B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221031

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230320

R151 Written notification of patent or utility model registration

Ref document number: 7259656

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151