(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-13
(45)【発行日】2024-11-21
(54)【発明の名称】制御システムおよび制御装置
(51)【国際特許分類】
B60W 50/00 20060101AFI20241114BHJP
B60R 16/02 20060101ALI20241114BHJP
B60W 50/14 20200101ALI20241114BHJP
B60W 60/00 20200101ALI20241114BHJP
G06F 8/65 20180101ALI20241114BHJP
【FI】
B60W50/00
B60R16/02 660U
B60W50/14
B60W60/00
G06F8/65
(21)【出願番号】P 2021060628
(22)【出願日】2021-03-31
【審査請求日】2023-11-17
(73)【特許権者】
【識別番号】322003857
【氏名又は名称】パナソニックオートモーティブシステムズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】上原 利幸
(72)【発明者】
【氏名】榊原 達人
【審査官】戸田 耕太郎
(56)【参考文献】
【文献】特開2020-042850(JP,A)
【文献】特開2017-159723(JP,A)
【文献】特開2006-268554(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 50/00
B60R 16/02
B60W 50/14
B60W 60/00
G06F 8/65
(57)【特許請求の範囲】
【請求項1】
自動運転への切り替えを指示する第1切り替え指令を検出する検出部と、
ソフトウェアの更新処理を制御する書き換え管理部と、
前記検出部により前記第1切り替え指令が検出された場合、
前記ソフトウェアの更新を抑制するための更新抑制要求を、前記
書き換え管理部へ送る抑制要求部と、
前記更新抑制要求に応じて、
前記抑制要求部が、前記ソフトウェアの更新が抑制された旨を示す第1応答を前記書き換え管理部から受けた場合、自動運転制御を実行する少なくとも1つの実行部に対して自動運転の開始の要求をする運転制御部と、
を備え
、
前記書き換え管理部は、前記更新抑制要求を受けた場合、前記ソフトウェアが更新中である場合には前記少なくとも1つの実行部に対して前記ソフトウェアの更新の中断させるための更新制御指令を送り、該少なくとも1つの実行部から中断が完了した旨を示す第3応答を受けた場合、前記第1応答を前記抑制要求部へ送る、制御システム。
【請求項2】
前記第1応答は、前記書き換え管理部が、前記ソフトウェアの更新を開始しない旨の応答、および、前記少なくとも1つの実行部において、前記ソフトウェアの更新を中断させた旨の応答の少なくとも一方を含む、請求項1に記載の制御システム。
【請求項3】
前記運転制御部が、自動運転が開始された旨を示す第2応答を前記少なくとも1つの実行部から受けた場合、自動運転が開始された旨を出力装置に出力させる出力制御部を、さらに備えた請求項1または2に記載の制御システム。
【請求項4】
前記出力装置は、表示装置であり、
前記運転制御部が前記第2応答を受けた場合、前記出力制御部は、前記出力装置に、自動運転が開始された旨の通知を表示させる、請求項3に記載の制御システム。
【請求項5】
前記検出部は、運転状態を切り替えるための操作部から前記第1切り替え指令を検出する、請求項1~4のいずれか一項に記載の制御システム。
【請求項6】
前記少なくとも1つの実行部は、更新の抑制対象となるソフトウェアを実行する第1実行部と、更新の抑制対象とならないソフトウェアを実行する第2実行部と、を含み、
前記書き換え管理部は、前記更新抑制要求を受けた場合、前記更新の抑制対象となるソフトウェアが更新中である場合には前記第1実行部に対して前記更新制御指令を送り、前記第2実行部に対して前記更新制御指令を送らない請求項
1~5のいずれか一項に記載の制御システム。
【請求項7】
前記更新抑制要求を受けた場合において、前記書き換え管理部は、更新対象のソフトウェアの優先度が低い場合、前記実行部に対して前記更新制御指令を送り、前記優先度が高い場合、前記実行部に対して前記更新制御指令を送らない、請求項
1~6のいずれか一項に記載の制御システム。
【請求項8】
前記検出部は、手動運転への切り替えを指示する第2切り替え指令を検出し、
前記検出部により前記第2切り替え指令が検出された場合、前記運転制御部は、前記少なくとも1つの実行部に対して自動運転の終了の要求をし、
前記抑制要求部は、自動運転が終了された旨を示す第4応答を前記少なくとも1つの実行部から受けた場合、前記ソフトウェアの更新の抑制を解除するための更新抑制解除要求を前記書き換え管理部へ送り、
前記書き換え管理部は、前記更新抑制解除要求を受けたことを条件として、前記少なくとも1つの実行部に対してソフトウェアの更新の開始または再開を可能にする請求項1~
7のいずれか一項に記載の制御システム。
【請求項9】
前記書き換え管理部は、前記更新抑制解除要求を受けた場合、周囲温度を検出する温度検出部により検出された該周囲温度が所定の閾値より高い場合には、前記実行部に対してソフトウェアの更新を開始または再開させない請求項
8に記載の制御システム。
【請求項10】
自動運転への切り替えを指示する第1切り替え指令を検出する検出部と、
ソフトウェアの更新処理を制御する書き換え管理部と、
前記検出部により前記第1切り替え指令が検出された場合、
前記ソフトウェアの更新を抑制するための更新抑制要求を、前記
書き換え管理部へ送る抑制要求部と、
前記更新抑制要求に応じて、
前記抑制要求部が、前記ソフトウェアの更新が抑制された旨を示す第1応答を前記書き換え管理部から受けた場合、自動運転制御を実行する少なくとも1つの実行部に対して自動運転の開始の要求をする運転制御部と、
を備え
、
前記書き換え管理部は、前記更新抑制要求を受けた場合、前記ソフトウェアが更新中である場合には前記少なくとも1つの実行部に対して前記ソフトウェアの更新の中断させるための更新制御指令を送り、該少なくとも1つの実行部から中断が完了した旨を示す第3応答を受けた場合、前記第1応答を前記抑制要求部へ送る、制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御システムおよび制御装置に関する。
【背景技術】
【0002】
昨今、車両の自動運転の技術が進展しており、自動運転と、運転者が運転する手動運転とを切り替える技術が知られている。また、自動運転中では、一般にECU(Electronic Control Unit)のCPU(Central Processing Unit)の処理量が増加する。また、ECUで処理されるソフトウェアの更新のために、OTA(Over The Air)技術により無線を経由したソフトウェアの書換えを行う技術が進展している。このような、車両のECUにインストールされているソフトウェアを更新する技術として、自動運転機能または運転支援機能に関するソフトウェアについて更新が必要になった場合に、自動運転機能または運転支援機能の作動について制限して、ソフトウェアの更新を優先させる技術が開示されている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ソフトウェアの更新よりも自動運転機能または運転支援機能の使用の継続を優先させたい場合がある。
【0005】
本開示は、機能を制限することなく自動運転が可能となる制御システムおよび制御装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示に係る制御システムは、検出部と、書き換え管理部と、抑制要求部と、運転制御部と、を備える。検出部は、自動運転への切り替えを指示する第1切り替え指令を検出する。書き換え管理部は、ソフトウェアの更新処理を制御する。抑制要求部は、検出部により第1切り替え指令が検出された場合、ソフトウェアの更新を抑制するための更新抑制要求を、ソフトウェアの更新処理を制御する書き換え管理部へ送る。運転制御部は、更新抑制要求に応じて、抑制要求部が、ソフトウェアの更新が抑制された旨を示す第1応答を書き換え管理部から受けた場合、自動運転制御を実行する少なくとも1つの実行部に対して自動運転の開始の要求をする。書き換え管理部は、更新抑制要求を受けた場合、ソフトウェアが更新中である場合には少なくとも1つの実行部に対してソフトウェアの更新の中断させるための更新制御指令を送り、当該少なくとも1つの実行部から中断が完了した旨を示す第3応答を受けた場合、第1応答を抑制要求部へ送る。
【発明の効果】
【0007】
本開示に係る制御システムおよび制御装置によれば、機能を制限することなく自動運転が可能となる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、第1の実施形態に係る車両の全体構成の一例を示す図である。
【
図2】
図2は、第1の実施形態に係る車両制御装置のハードウェア構成の一例を示す図である。
【
図3】
図3は、第1の実施形態に係る車両制御装置の機能ブロックの構成の一例を示す図である。
【
図4】
図4は、第1の実施形態に係る車両制御装置の機能ブロックの構成の別の例を示す図である。
【
図5】
図5は、第1の実施形態に係る車両制御装置の制御要求部の手動運転から自動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
【
図6】
図6は、第1の実施形態に係る車両制御装置の制御要求部の自動運転から手動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
【
図7】
図7は、第1の実施形態に係る車両制御装置の書き換え管理部の手動運転から自動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
【
図8】
図8は、第1の実施形態に係る車両制御装置の書き換え管理部の自動運転から手動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
【
図9】
図9は、第1の実施形態に係る車両制御装置の実行部のソフトウェア更新動作の流れの一例を示すフローチャートである。
【
図10】
図10は、第1の実施形態に係る車両制御装置の実行部の自動・手動切替動作の流れの一例を示すフローチャートである。
【
図11】
図11は、第2の実施形態に係る車両制御装置の機能ブロックの構成の一例を示す図である。
【
図12】
図12は、第2の実施形態に係る車両制御装置の書き換え管理部の手動運転から自動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
【
図13】
図13は、第2の実施形態に係る車両制御装置の書き換え管理部の自動運転から手動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
【
図14】
図14は、第3の実施形態に係る車両制御装置の制御要求部の手動運転から自動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
【
図15】
図15は、第3の実施形態に係る車両制御装置の書き換え管理部の手動運転から自動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照しながら、本開示に係る制御システムおよび制御装置の実施形態について説明する。
【0010】
[第1の実施形態]
(車両の全体構成)
図1は、第1の実施形態に係る車両の全体構成の一例を示す図である。
図1を参照しながら、本実施形態に係る車両1の全体構成について説明する。
【0011】
図1に示すように、車両1は、車体2と、車輪3Fと、車輪3Rと、を備えている。車輪3Fは、車体2の前方側に設置され、路面に接触する一対の前輪である。車輪3Rは、車体2の後方側に設置され、路面に接触する一対の後輪である。車両1は、所定方向に沿って配置された1対の車輪3Fと、1対の車輪3Rとを用いて走行することが可能である。この場合、車輪3Fおよび車輪3Rが配置される所定方向が車両1の移動方向となり、ギアの切り替え等により前進または後退することができる。なお、車輪3Fおよび車輪3Rのうち任意の車輪を示す場合、または総称する場合、単に「車輪3」と称するものとする。
【0012】
また、車両1は、
図1に示すように、座席4と、車両駆動部5と、撮像部6aおよび撮像部6bと、ドアミラー7Lおよびドアミラー7Rと、後部座席8と、ルームミラー9と、エンジンスイッチ10aと、自動運転切替スイッチ10bと、ハンドル11と、シフトレバー12と、パーキングブレーキ13と、ドアロック装置14と、表示装置15と、スピーカ19と、車両制御装置20と、温度センサ21と、を備えている。
【0013】
座席4は、車両1の車室内に設けられ、車両1の運転者が着座するための運転席である。運転者は、座席4に着座した状態で、ハンドル11を操作したり、図示しないアクセルペダルおよびブレーキペダルを操作したりすることによって、車両1を操縦することが可能である。
【0014】
車両駆動部5は、車両1に搭載された駆動デバイスである。車両駆動部5は、例えば、エンジン、モータ、車輪3の駆動部等である。
【0015】
撮像部6aは、車両1の前方部分に設けられた、車両1の前方を撮像するカメラである。撮像部6bは、車両1の後方部分に設けられた、車両1の後方を撮像するカメラである。撮像部6aおよび撮像部6bは、後述するように、他車両の位置、距離および速度等を検知することができるような単眼カメラまたはステレオカメラである。撮像部6aおよび撮像部6bは、例えば、車両1が自動運転を実行する上で周囲の状況を把握するために用いられる。なお、撮像部6aおよび撮像部6bのうち任意の撮像部を示す場合、または総称する場合、単に「撮像部6」と称するものとする。
【0016】
ドアミラー7Lは、車体2の左側ドアの前方に取り付けられた、左後方を視認するための室外後写鏡である。ドラミラー7Rは、車体2の右側ドアの前方に取り付けられた、右後方を視認するための室外後写鏡である。なお、ドアミラー7Lおよびドアミラー7Rのうち任意のドアミラーを示す場合、または総称する場合、単に「ドアミラー7」と称するものとする。また、ドアミラーは、サイドミラー等とも呼称される場合がある。また、ドアミラー7の代わりに、車体2のボンネットの前方端に取り付けられるフェンダーミラーが設置されるものとしてもよい。
【0017】
後部座席8は、車両1の車室内後方側に設けられ、車両1の運転者以外の同乗者が着座するための座席である。
【0018】
ルームミラー9は、フロントガラスの上方側の天井に設置された、後方および後側方を視認するための室内後写鏡である。なお、ルームミラーは、バックミラー等とも呼称される。
【0019】
エンジンスイッチ10aは、運転者が車両1のエンジン始動時に操作するスイッチである。エンジンスイッチ10aは、イグニッションスイッチとも称される。運転者によるエンジンスイッチ10aの操作により、車両1がエンジン始動またはエンジン停止した状態となる。また、エンジンスイッチ10aの操作により、車両1に搭載された電子機器への電力供給等が制御される。
【0020】
自動運転切替スイッチ10bは、車両1の運転状態を自動運転または手動運転に切り替えるためのスイッチである。自動運転切替スイッチ10bは、「操作部」の一例である。
【0021】
ハンドル11は、座席4の前方のダッシュボードに設置された車両1を操舵するためのステアリングホイールである。
【0022】
シフトレバー12は、運転者がシフトポジションを変更する時に操作するレバーである。シフトレバー12の可動範囲には、例えば、パーキングポジション、リバースポジション、ニュートラルポジション、およびドライブポジションが設けられている。シフトレバー12がパーキングポジションに位置する状態では、車両1のエンジンの動力が車輪3に伝達されない、いわゆる駐車状態となる。シフトレバー12がリバースポジションに位置する状態では、車両1は後退可能な状態となる。シフトレバー12がドライブポジションに位置する状態では、車両1は前進可能な状態となる。
【0023】
パーキングブレーキ13は、車両1のブレーキ機構の1つである。パーキングブレーキ13は、運転者が手動で車両1の移動を停止させるための手動式の制動機構である。パーキングブレーキ13がかけられた状態では、車両1の移動が停止された状態となり、駐車状態となる。また、パーキングブレーキ13が解除された状態では、車両1は移動可能な状態となる。なお、パーキングブレーキは、サイドブレーキとも呼称される。
【0024】
ドアロック装置14は、車両1に設けられたドアをロック状態またはロック解除状態に切り替える装置である。例えば、車両1外部から車両1用の鍵等により車両1のドアがロック状態またはロック解除状態に切り替えられる。
【0025】
表示装置15は、座席4の前方のダッシュボード等に設置されたLCD(Liquid Crystal Display:液晶ディスプレイ)、またはOELD(Organic Electro-Luminescent Display:有機ELディスプレイ)等の表示装置である。表示装置15は、道路案内、天気予報、運転支援表示、自動運転または手動運転に切り替わった旨の表示等の各種表示を行う。なお、表示装置15は、画像表示機能のほか、音声出力機能および入力機能等を有していてもよい。
【0026】
なお、表示装置15の音声出力機能は、スピーカ19により実現されるものとしてもよい。また、表示装置15は、ユーザによる操作入力を受け付ける入力機能を備えた、タッチパネルとして構成されるものとしてもよい。また、表示装置15は、位置情報取得機能、および地図情報を用いた経路探索機能を有するナビゲーション装置を含んでもよい。
【0027】
スピーカ19は、音声を出力する装置である。例えば、スピーカ19は、自動運転または手動運転に切り替わった旨の音声、運転支援用の運転指示の音声等を出力する。
【0028】
車両制御装置20は、車両1の各種動作の制御を司るECU(Electronic Control Unit)、またはOBU(On Board Unit)である。車両制御装置20は、例えば、運転制御機能および運転支援機能等を司るのみではなく、車両1全体として備えた各種機能に基づく動作を制御する装置である。
【0029】
温度センサ21は、車両制御装置20の内部温度または周囲温度を検知するセンサである。温度センサ21は、例えば車両制御装置20の内部または近傍に設置される。温度センサ21は、「温度検出部」に相当する。なお、温度センサ21は、後述のCPU101がSoCである場合、SoCに内蔵されてもよい。
【0030】
(車両制御装置のハードウェア構成)
図2は、第1の実施形態に係る車両制御装置のハードウェア構成の一例を示す図である。
図2を参照しながら、本実施形態に係る車両制御装置20のハードウェア構成について説明する。
【0031】
図2に示すように、車両制御装置20は、CPU(Central Processing Unit)101と、RAM(Random Access Memory)102と、ROM(Read Only Memory)103と、撮像I/F104と、表示I/F105と、GPS(Global Positioning System) I/F106と、車速I/F107と、通信I/F108と、音声I/F109と、入力I/F110と、センサI/F111と、を備える。CPU101、RAM102、ROM103、撮像I/F104、表示I/F105、GPS I/F106、車速I/F107、通信I/F108、音声I/F109、入力I/F110およびセンサI/F111は、バス112を介してデータ通信が可能となるように互いに接続されている。なお、バス112は、
図2に示すように、すべての構成要素が接続されている形態に限定されず、例えばCPU101に対してそれぞれの構成要素がバスで接続されていてもよい。
【0032】
CPU101は、車両制御装置20全体の制御を司る演算装置である。RAM102は、CPU101による処理のワークエリアとなる揮発性の記憶装置である。ROM103は、車両制御装置20の制御プログラムおよび各種データ等を記憶する不揮発性の記憶装置である。
【0033】
なお、CPU101は、MPU(Micro Processing unit)、MCU(Micro Controller Unit)およびSoC(System on a Chip)等を含む概念である。CPU101は、MPU、MCU、およびSoCのうち2つ以上を含んでもよい。
【0034】
撮像I/F104は、撮像部6aおよび撮像部6bにより撮像された撮像画像を受信するためのインターフェースである。撮像I/F104は、撮像部6aおよび撮像部6bで撮像された撮像画像をフレーム画像として連続的に受信することにより動画像として取得する。
【0035】
表示I/F105は、表示装置15に対して各種表示データを送信するためのインターフェースである。
【0036】
GPS I/F106は、車両1に設置されたGPSセンサ16により受信された位置情報を受信するためのインターフェースである。GPSセンサ16により受信された位置情報とは、例えばGPS信号である。車速I/F107は、車両1の車速を検知する車速センサ17から速度情報を受信するためのインターフェースである。車速センサ17は、例えば車輪3の付近に設置され、車輪3の回転速度または回転数を示す車速パルスを生成する。
【0037】
通信I/F108は、車両1に設置された通信装置18とデータを送受信するためのインターフェースである。通信装置18は、サーバ等の外部装置と無線通信によりデータ通信を行う。これによって、通信I/F108は、通信装置18を介して、外部装置とデータ通信を行うことができる。
【0038】
音声I/F109は、車両1に設置されたスピーカ19に対して音声データを出力するためのインターフェースである。
【0039】
入力I/F110は、各種の入力装置からの入力データおよび操作信号等を車両制御装置20に入力するためのインターフェースである。例えば、入力I/F110には、自動運転切替スイッチ10bが接続されており、入力I/F110は、自動運転切替スイッチ10bから自動運転または手動運転への切り替え指令を受信するためのインターフェースである。
【0040】
センサI/F111は、車両1に配置された各種のセンサからの検出信号または検出データを車両制御装置20に入力するためのインターフェースである。例えば、センサI/F111には、温度センサ21が接続されており、センサI/F111は、温度センサ21により検知された、車両制御装置20の内部温度または周囲温度を車両制御装置20に入力する。
【0041】
なお、
図2に示した車両制御装置20のハードウェア構成は一例を示すものであり、
図2に示した構成要素を全て含む必要はなく、または、その他の構成要素を含むものとしてもよい。
【0042】
(車両制御装置の機能ブロックの構成および動作)
図3は、第1の実施形態に係る車両制御装置の機能ブロックの構成の一例を示す図である。
図4は、第1の実施形態に係る車両制御装置の機能ブロックの構成の別の例を示す図である。
図3および
図4を参照しながら、本実施形態に係る車両制御装置20の機能ブロックの構成および動作について説明する。
【0043】
図3に示すように、車両制御装置20は、スイッチ検出部201と、制御要求部202と、書き換え管理部203と、実行部204と、出力制御部205と、を有する。
【0044】
スイッチ検出部201は、自動運転切替スイッチ10bから手動運転から自動運転への切り替え指令、または自動運転から手動運転への切り替え指令を検出する機能部である。スイッチ検出部201は、「検出部」に相当する。スイッチ検出部201は、例えば、
図2に示す入力I/F110およびCPU101によりプログラムが実行されることによって実現される。
【0045】
なお、スイッチ検出部201により検出される自動運転または手動運転への切り替え指令は、自動運転切替スイッチ10bから検出されることに限定されるものではなく、例えば、所定のイベントの発生に基づいて検出されるものとしてもよい。自動運転から手動運転への切り替えについては、例えば、車両制御装置20内の動作に不具合が生じた場合、または車両1の運転動作に障害が発生した場合等に、スイッチ検出部201により切り替え指令として検出されるものとしてもよい。また、手動運転から自動運転への切り替えについては、例えば、手動運転によらずに危険回避する必要がある事象が発生した場合、または運転者の居眠りもしくは異常が検知された場合等に、スイッチ検出部201により切り替え指令として検出されるものとしてもよい。
【0046】
制御要求部202は、スイッチ検出部201により検出された切り替え指令に基づいて、ソフトウェアの更新の抑制制御、および自動運転の開始・終了制御を行う機能部である。ソフトウェアは、例えば自動運転機能、運転支援機能、およびこれらの機能以外の機能を実現するためのプログラムおよびデータであり、ROM103にインストールされる。制御要求部202は、
図3に示すように、抑制要求部2021と、自動運転制御要求部2022と、通知制御部2023と、を有する。制御要求部202は、例えば、
図2に示すCPU101によりプログラムが実行されることによって実現される。
【0047】
抑制要求部2021は、スイッチ検出部201により手動運転から自動運転への切り替え指令が検出された場合、書き換え管理部203に対してソフトウェアの更新を抑制するための更新抑制要求を送る機能部である。
【0048】
自動運転制御要求部2022は、抑制要求部2021が、更新抑制要求に応じて、書き換え管理部203からソフトウェアの更新が抑制された旨を示す旨の応答を受けた場合に、実行部204に対して自動運転の開始を要求するための自動運転開始要求を送る機能部である。ソフトウェアの更新が抑制された旨を示す応答とは、実行部204がソフトウェアの更新中であった場合には、例えば、書き換え管理部203がソフトウェアの更新を開始しない、および、実行部204にソフトウェアの更新を中断させた旨の応答である。また、ソフトウェアの更新が抑制された旨を示す応答とは、実行部204がソフトウェアの更新中でない場合には、例えば、書き換え管理部203がソフトウェアの更新を開始しない旨の応答である。自動運転制御要求部2022は、「運転制御部」に相当する。
【0049】
通知制御部2023は、自動運転制御要求部2022が、自動運転開始要求に対して実行部204から自動運転が開始された旨の応答を受けた場合、自動運転が開始された旨を出力制御部205へ通知する機能部である。
【0050】
書き換え管理部203は、通信装置18を介して外部サーバからソフトウェア更新のためのモジュールを受信した場合、実行部204における当該ソフトウェアの更新処理を制御する機能部である。また、書き換え管理部203は、抑制要求部2021から更新抑制要求を受けた場合、実行部204に対して、ソフトウェアの更新中の場合には中断させるための更新制御指令を送る。書き換え管理部203は、例えば、
図2に示す通信I/F108、およびCPU101によりプログラムが実行されることによって実現される。
【0051】
実行部204は、自動運転制御要求部2022からの自動運転開始要求に応じて、自動運転を開始し、自動運転制御を実行する機能部である。また、実行部204は、書き換え管理部203による制御により、ソフトウェア更新のためのモジュールをROM103へ書き込む。また、実行部204は、ソフトウェアの更新中の場合には更新を中断させるための更新制御指令を書き換え管理部203から受けた場合、ソフトウェアの更新中の場合にはROM103への書き込み処理を中断し、書き換え管理部203は、更新を開始しないように自身の状態を制御する。また、書き換え管理部203は、ソフトウェアの更新中ではない場合には、ソフトウェアの更新を開始しないように自身の状態を制御する。実行部204は、例えば、
図2に示すCPU101によりプログラムが実行されることによって実現される。なお、
図3では、1つの実行部204が示されているが、これに限定されず、複数の実行部204が備えられてもよい。この場合、複数の実行部204のうち、少なくとも1つの実行部204は、自動運転制御要求部2022からの自動運転開始要求に応じて、自動運転を開始し、自動運転制御を実行する。
【0052】
出力制御部205は、通知制御部2023から自動運転が開始された旨の通知を受けた場合、表示装置15に当該通知を表示させること、およびスピーカ19に当該通知を音声出力させること、の少なくとも一方を行う。出力制御部205は、例えば、
図2に示すCPU101によりプログラムが実行されることによって実現される。表示装置15およびスピーカ19は、「出力装置」の一例である。
【0053】
なお、表示装置15による当該通知の表示、およびスピーカ19による当該通知の音声出力のうち、少なくとも表示装置15による当該通知の表示が行われることが望ましい。スピーカ19による音声出力については、運転者が聞き逃す可能性があるが、表示装置15による表示については、継続的に運転者に対して自動運転の開始を伝達し続けることができる。
【0054】
また、
図3に示す車両制御装置20の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、
図3に示す車両制御装置20で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、
図3に示す車両制御装置20で1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【0055】
また、
図3では、車両制御装置20が1つのECUによって構成される場合のブロック構成を示したが、これに限定されるものではなく、車両制御装置20の機能が複数のECUによって実現されてもよい。例えば、
図4に示すように、3つのECUである車両制御装置20a~20cによって車両制御装置20と同等の機能が実現されてもよい。
図4に示す例では、車両制御装置20a、車両制御装置20bおよび車両制御装置20cが有機的に共同して1つの制御システムを構成している。
図4に示す例では、車両制御装置20aは、スイッチ検出部201と、制御要求部202と、出力制御部205と、を含み、車両制御装置20bは、書き換え管理部203を含み、車両制御装置20cは、実行部204を含む。車両制御装置20a~20cは、例えば、互いにCAN(Controller Area Network)通信等によりデータおよび信号を送受信する。なお、制御システムは、複数の車両制御装置が含まれたシステムであることに限定されるものではなく、
図4に示す車両制御装置20a~20cそれぞれ、および
図3に示すような1つの車両制御装置20についても、制御システムの概念に含むものとする。
【0056】
(制御要求部の動作の流れ)
図5は、第1の実施形態に係る車両制御装置の制御要求部の手動運転から自動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
図6は、第1の実施形態に係る車両制御装置の制御要求部の自動運転から手動運転に切り替える場合の動作の流れの一例を示すフローチャートである。まず、
図5を参照しながら、車両制御装置20の制御要求部202について手動運転から自動運転に切り替える際の動作について説明する。
【0057】
<ステップS11>
スイッチ検出部201により、自動運転切替スイッチ10bから手動運転から自動運転への切り替え指令が検出された場合(ステップS11:Yes)、ステップS12へ移行し、検出されない場合(ステップS11:No)、切り替え指令が検出されるまで待機する。手動運転から自動運転への切り替え指令は、「第1切り替え指令」に相当する。
【0058】
<ステップS12>
制御要求部202の抑制要求部2021は、書き換え管理部203に対してソフトウェアの更新を抑制するための更新抑制要求を送る。そして、ステップS13へ移行する。
【0059】
<ステップS13>
抑制要求部2021が、書き換え管理部203から、ソフトウェアの更新が抑制された旨を示す、更新抑制要求に対する肯定応答を受けた場合(ステップS13:Yes)、ステップS14へ移行し、肯定応答を受けていない場合(ステップS13:No)、肯定応答を受けるまで待機する。更新抑制要求に対する肯定応答は、「第1応答」に相当する。当該第1応答は、書き換え管理部203が、ソフトウェアの更新を開始しない旨の応答、および、少なくとも1つの実行部204において、ソフトウェアの更新を中断させた旨の応答の少なくとも一方を含む。
【0060】
<ステップS14>
車両制御装置20の自動運転制御要求部2022は、実行部204に対して自動運転の開始を要求するための自動運転開始要求を送る。そして、ステップS15へ移行する。
【0061】
<ステップS15>
自動運転制御要求部2022が、自動運転開始要求に対して実行部204から自動運転が開始された旨を示す肯定応答を受けた場合(ステップS15:Yes)、ステップS16へ移行し、肯定応答を受けていない場合(ステップS15:No)、肯定応答を受けるまで待機する。実行部204からの自動運転が開始された旨を示す肯定応答は、「第2応答」に相当する。
【0062】
<ステップS16>
車両制御装置20の通知制御部2023は、自動運転が開始された旨を出力制御部205へ通知する。そして、制御要求部202の処理を終了する。
【0063】
以上のステップS11~S16の流れで、制御要求部202において手動運転から自動運転に切り替える際の動作が行われる。
【0064】
次に、
図6を参照しながら、車両制御装置20の制御要求部202について自動運転から手動運転に切り替える際の動作について説明する。
【0065】
<ステップS21>
スイッチ検出部201により、自動運転切替スイッチ10bから自動運転から手動運転への切り替え指令が検出された場合(ステップS21:Yes)、ステップS22へ移行し、検出されない場合(ステップS21:No)、切り替え指令が検出されるまで待機する。自動運転から手動運転への切り替え指令は、「第2切り替え指令」に相当する。
【0066】
<ステップS22>
自動運転制御要求部2022は、実行部204に対して自動運転の終了を要求するための自動運転終了要求を送る。そして、ステップS23へ移行する。
【0067】
<ステップS23>
自動運転制御要求部2022が、自動運転終了要求に対して実行部204から自動運転が終了された旨を示す肯定応答を受けた場合(ステップS23:Yes)、ステップS24へ移行し、肯定応答を受けていない場合(ステップS23:No)、肯定応答を受けるまで待機する。実行部204からの自動運転が終了された旨を示す肯定応答は、「第4応答」に相当する。
【0068】
<ステップS24>
通知制御部2023は、自動運転が終了された旨を出力制御部205へ通知する。そして、ステップS25へ移行する。
【0069】
<ステップS25>
抑制要求部2021は、書き換え管理部203に対してソフトウェアの更新の抑制を解除するための更新抑制解除要求を送る。そして、ステップS26へ移行する。
【0070】
<ステップS26>
抑制要求部2021が、書き換え管理部203から実行部204に対してソフトウェアの更新を中断したことまたは更新を開始しないことを解除した旨を示す、更新抑制解除要求に対する肯定応答を受けた場合(ステップS26:Yes)、処理を終了し、肯定応答を受けていない場合(ステップS26:No)、肯定応答を受けるまで待機する。
【0071】
以上のステップS21~S26の流れで、制御要求部202において自動運転から手動運転に切り替える際の動作が行われる。
【0072】
(書き換え管理部の動作の流れ)
図7は、第1の実施形態に係る車両制御装置の書き換え管理部の手動運転から自動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
図8は、第1の実施形態に係る車両制御装置の書き換え管理部の自動運転から手動運転に切り替える場合の動作の流れの一例を示すフローチャートである。まず、
図7を参照しながら、車両制御装置20の書き換え管理部203について手動運転から自動運転に切り替える際の動作について説明する。
【0073】
<ステップS31>
書き換え管理部203が、抑制要求部2021から更新抑制要求を受けた場合(ステップS31:Yes)、ステップS32へ移行し、更新抑制要求を受けていない場合(ステップS31:No)、更新抑制要求を受けるまで待機する。
【0074】
<ステップS32>
書き換え管理部203により、実行部204においてソフトウェアの更新中であることが確認された場合(ステップS32:Yes)、ステップS33へ移行し、ソフトウェアの更新中でないことが確認された場合(ステップS32:No)、ステップS35へ移行する。
【0075】
<ステップS33>
書き換え管理部203は、実行部204に対して、ソフトウェアの更新を中断させるための更新制御指令を送る。そして、ステップS34へ移行する。
【0076】
<ステップS34>
書き換え管理部203が、実行部204からソフトウェアの更新の中断がされた旨を示す肯定応答を受けた場合(ステップS34:Yes)、ステップS35へ移行し、肯定応答を受けていない場合(ステップS34:No)、肯定応答を受けるまで待機する。実行部204からのソフトウェアの更新の中断がされた旨を示す肯定応答は、「第3応答」に相当する。
【0077】
<ステップS35>
書き換え管理部203は、実行部204へのソフトウェアの更新を内部で制御するための更新フラグを「不可」に設定する。そして、ステップS36へ移行する。
【0078】
<ステップS36>
書き換え管理部203は、ソフトウェアの更新が抑制された旨を示す、更新抑制要求に対する肯定応答を、抑制要求部2021へ送る。そして、書き換え管理部203の処理を終了する。
【0079】
以上のステップS31~S36の流れで、書き換え管理部203において手動運転から自動運転に切り替える際の動作が行われる。
【0080】
次に、
図8を参照しながら、車両制御装置20の書き換え管理部203について自動運転から手動運転に切り替える際の動作について説明する。
【0081】
<ステップS41>
書き換え管理部203が、抑制要求部2021から更新抑制解除要求を受けた場合(ステップS41:Yes)、ステップS42へ移行し、更新抑制解除要求を受けていない場合(ステップS41:No)、更新抑制解除要求を受けるまで待機する。
【0082】
<ステップS42>
書き換え管理部203は、実行部204へのソフトウェアの更新を内部で制御するための更新フラグを「可」に設定する。なお、実行部204におけるソフトウェアの更新処理の負荷が大きいため、ソフトウェアの更新処理時にはCPU101の温度の上昇が見込まれる。例えば、書き換え管理部203は、更新抑制解除要求を受けたとしても、温度センサ21からセンサI/F111を介して取得した車両制御装置20の内部温度または周囲温度が所定の閾値よりも高い場合には、更新フラグを「不可」に設定することにより、ソフトウェアの更新を開始または再開させなくてもよい。あるいは、書き換え管理部203は、更新フラグを「可」に設定していても、当該内部温度または周囲温度が所定の閾値よりも高い場合には、ソフトウェアの更新を開始または再開させなくてもよい。これによって、CPU101の更新処理による温度上昇に伴う、CPU101の周波数制限等の不具合の発生を抑制することができる。周波数制限とは、具体的には以下の通りである。CPU101は、処理量の増加に伴う発熱を、処理周波数を低下させることによって抑える場合がある。このとき、処理周波数が低下することにより、CPU101の処理速度の低下につながる場合がある。そして、ステップS43へ移行する。
【0083】
<ステップS43>
書き換え管理部203は、ソフトウェアの更新が抑制された旨を示す、更新抑制解除要求に対する肯定応答を、抑制要求部2021へ送る。そして、書き換え管理部203の処理を終了する。
【0084】
以上のステップS41~S43の流れで、書き換え管理部203において自動運転から手動運転に切り替える際の動作が行われる。
【0085】
(実行部の動作の流れ)
図9は、第1の実施形態に係る車両制御装置の実行部のソフトウェア更新動作の流れの一例を示すフローチャートである。
図10は、第1の実施形態に係る車両制御装置の実行部の自動・手動切替動作の流れの一例を示すフローチャートである。まず、
図9を参照しながら、車両制御装置20の実行部204におけるソフトウェアの更新動作について説明する。
【0086】
<ステップS51>
実行部204においてソフトウェアの更新中である場合(ステップS51:Yes)、ステップS52へ移行し、更新中でない場合(ステップS51:No)、ステップS57へ移行する。
【0087】
<ステップS52>
実行部204が、自動運転制御要求部2022から自動運転開始要求を受けた場合(ステップS52:Yes)、ステップS53へ移行し、自動運転開始要求を受けていない場合(ステップS52:No)、ステップS54へ移行する。
【0088】
<ステップS53>
ソフトウェア更新中であるため、実行部204は、自動運転を開始することができない旨を示す、自動運転開始要求に対する否定応答を、自動運転制御要求部2022へ送る。そして、ステップS54へ移行する。
【0089】
<ステップS54>
実行部204が、書き換え管理部203からソフトウェアの更新を中断させるための更新制御指令を受けた場合(ステップS54:Yes)、ステップS55へ移行し、更新制御指令を受けていない場合(ステップS54:No)、ステップS52へ戻る。
【0090】
<ステップS55>
実行部204は、更新制御指令に応じて、更新対象のソフトウェアのROM103への書き込み処理を中断する。そして、ステップS56へ移行する。
【0091】
<ステップS56>
実行部204は、ソフトウェアの更新を中断した旨を示す、更新制御指令に対する肯定応答を、書き換え管理部203へ送る。そして、実行部204の処理を終了する。
【0092】
<ステップS57>
実行部204が、自動運転処理を実行中、または、自動運転制御要求部2022から自動運転開始要求もしくは自動運転終了要求を受けている場合(ステップS57:Yes)、ソフトウェアの更新処理を開始または再開することができないため、処理を終了する。一方、実行部204が、自動運転処理を実行中でもなく、かつ、自動運転制御要求部2022から自動運転開始要求および自動運転終了要求を受けていない場合(ステップS57:No)、ステップS58へ移行する。
【0093】
<ステップS58>
実行部204が、書き換え管理部203からソフトウェアの更新を開始または再開させるための更新制御指令を受けた場合(ステップS58:Yes)、ステップS59へ移行し、更新制御指令を受けていない場合(ステップS58:No)、ステップS57へ戻る。
【0094】
<ステップS59>
実行部204は、更新制御指令に応じて、更新対象のソフトウェアのROM103への書き込み処理を開始または再開する。そして、ステップS60へ移行する。
【0095】
<ステップS60>
実行部204は、ソフトウェアの更新を開始または再開した旨を示す、更新制御指令に対する肯定応答を、書き換え管理部203へ送る。そして、実行部204の処理を終了する。
【0096】
以上のステップS51~S60の流れで、実行部204におけるソフトウェアの更新の開始・再開、中断の動作が行われる。
【0097】
次に、
図10を参照しながら、車両制御装置20の実行部204における自動・手動切替動作について説明する。
【0098】
<ステップS71>
実行部204において自動運転処理の実行中でない場合(ステップS71:No)、ステップS72へ移行し、自動運転処理の実行中である場合(ステップS71:Yes)、ステップS76へ移行する。
【0099】
<ステップS72>
実行部204においてソフトウェアの更新中、または書き換え管理部203からソフトウェアの更新を開始または再開させるための更新制御指令を受けている場合(ステップS72:Yes)、ソフトウェアの更新を中断するまでは自動運転処理を開始することができないため、実行部204の処理を終了する。一方、実行部204においてソフトウェアの更新中でもなく、かつ、書き換え管理部203からソフトウェアの更新を開始または再開させるための更新制御指令を受けていない場合(ステップS72:No)、ステップS73へ移行する。
【0100】
<ステップS73>
実行部204が、自動運転制御要求部2022から自動運転開始要求を受けた場合(ステップS73:Yes)、ステップS74へ移行し、自動運転開始要求を受けていない場合(ステップS73:No)、ステップS72へ戻る。
【0101】
<ステップS74>
実行部204は、自動運転処理を開始する。そして、ステップS75へ移行する。
【0102】
<ステップS75>
実行部204は、自動運転処理を開始した旨を示す、自動運転開始要求に対する肯定応答を、自動運転制御要求部2022へ送る。そして、処理を終了する。
【0103】
<ステップS76>
実行部204が、自動運転処理の実行中に、書き換え管理部203からソフトウェアの更新を開始または再開させるための更新制御指令を受けた場合(ステップS76:Yes)、ステップS77へ移行し、更新制御指令を受けていない場合(ステップS76:No)、ステップS78へ移行する。
【0104】
<ステップS77>
実行部204は、自動運転処理の実行中にソフトウェアの更新は行わないものとして、ソフトウェアの更新を開始または再開させるための更新制御指令に対する否定応答を、書き換え管理部203へ送る。そして、ステップS78へ移行する。
【0105】
<ステップS78>
実行部204が、自動運転制御要求部2022から自動運転終了要求を受けた場合(ステップS78:Yes)、ステップS79へ移行し、自動運転終了要求を受けていない場合(ステップS78:No)、ステップS76へ移行する。
【0106】
<ステップS79>
実行部204は、自動運転処理を終了する。そして、ステップS80へ移行する。
【0107】
<ステップS80>
実行部204は、自動運転処理を終了した旨を示す、自動運転終了要求に対する肯定応答を、自動運転制御要求部2022へ送る。そして、処理を終了する。
【0108】
以上のステップS71~S80の流れで、実行部204における自動運転または手動運転への切替動作が行われる。
【0109】
以上のように、本実施形態に係る車両制御装置20では、スイッチ検出部201により切り替え指令が検出された場合、抑制要求部2021が、ソフトウェアの更新を抑制するための更新抑制要求を書き換え管理部203へ送る。更新抑制要求に応じて、抑制要求部2021が、ソフトウェアの更新が抑制された旨を示す応答を書き換え管理部203から受けた場合、自動運転制御要求部2022が、実行部204に対して自動運転開始要求を送る。これによって、車両1の運転状態について、自動運転への切り替えを行ったときには、車両制御装置20にインストールされているソフトウェアの更新を中断させることにより、現行のソフトウェアについて機能を制限することなく車両1において自動運転を行うことが可能となる。また、システム設計時に、一般的に頻度が少ないソフトウェアの書き込み処理、自動運転時におけるCPU101の処理、およびRAM102およびROM103のアクセス処理が同時に行われることを考慮する必要がなくなる。したがって、システム設計における自由度が向上する。
【0110】
[第2の実施形態]
第2の実施形態に係る車両制御装置について、第1の実施形態に係る車両制御装置20と相違する点を中心に説明する。第1の実施形態では、実行部204で実行されるソフトウェアのすべてについて、車両1の運転状態を自動運転へと切り替える際に、車両制御装置においてソフトウェアの更新を中断する、または更新を開始しない動作について説明した。本実施形態では、実行部で実行されるソフトウェアが自動運転動作に関するものか否かによって車両制御装置の処理を異ならせる動作について説明する。
【0111】
(車両制御装置の機能ブロックの構成および動作)
図11は、第2の実施形態に係る車両制御装置の機能ブロックの構成の一例を示す図である。
図11を参照しながら、本実施形態に係る制御システムの機能ブロックの構成および動作について説明する。
【0112】
本実施形態では、
図11に示すように、車両制御装置20a~20dが制御システムを構成する。車両制御装置20aは、スイッチ検出部201と、制御要求部202と、出力制御部205と、を有する。車両制御装置20bは、書き換え管理部203を有する。車両制御装置20cは、実行部204aを有する。車両制御装置20dは、実行部204bを有する。なお、スイッチ検出部201、制御要求部202および出力制御部205の動作は、第1の実施形態で説明した動作と同様である。また、車両制御装置20a~20dのうち任意の車両制御装置を示す場合、または総称する場合、単に「車両制御装置20」と称するものとする。
【0113】
書き換え管理部203は、通信装置18を介して外部サーバからソフトウェア更新のためのモジュールを受信した場合、実行部204aおよび実行部204bにおける当該ソフトウェアの更新処理を制御する機能部である。また、書き換え管理部203は、抑制要求部2021から更新抑制要求を受けた場合、自動運転動作の機能を実行する実行部204aに対して、ソフトウェアの更新中の場合には更新を中断させるための更新制御指令を送る。また、書き換え管理部203は、抑制要求部2021から更新抑制要求を受けた場合、自動運転動作以外の機能を実行する実行部204bに対しては、ソフトウェアの更新を優先させる。言い換えると、書き換え管理部203は、実行部204bがソフトウェアの更新中の場合には実行部204bに更新を中断させず、更新中ではない場合には実行部204bに更新を禁止させない。書き換え管理部203は、例えば、
図2に示す通信I/F108、およびCPU101によりプログラムが実行されることによって実現される。
【0114】
実行部204aは、自動運転動作対象となる機能部であり、自動運転制御要求部2022からの自動運転開始要求に応じて、自動運転を開始し、自動運転制御を実行する機能部である。また、実行部204aは、書き換え管理部203による制御により、ソフトウェア更新のためのモジュールをROM103へ書き込む。また、実行部204aは、ソフトウェアの更新中の場合には更新を中断させるための更新制御指令を書き換え管理部203から受けた場合、ソフトウェアの更新中の場合にはROM103への書き込み処理を中断し、書き換え管理部203は、更新を開始しないように自身の状態を制御する。また、書き換え管理部203は、ソフトウェアの更新中ではない場合には、ソフトウェアの更新を開始しないように自身の状態を制御する。すなわち、実行部204aに対応するCPU101は、ソフトウェアの更新の抑制の対象となる抑制対象CPUである。実行部204aは、例えば、車両制御装置20cの
図2に示すCPU101によりプログラムが実行されることによって実現される。実行部204aは、「第1実行部」に相当する。なお、
図11では、1つの実行部204aが示されているが、これに限定されず、複数の実行部204aが備えられてもよい。この場合、複数の実行部204aのうち、少なくとも1つの実行部204aは、自動運転制御要求部2022からの自動運転開始要求に応じて、自動運転を開始し、自動運転制御を実行する。
【0115】
実行部204bは、自動運転動作対象外の機能部であり、自動運転処理以外の処理を実行する機能部である。実行部204bは、例えばRSE(Rear Seat Entertainment)を実現する機能部である。また、実行部204bは、書き換え管理部203による制御により、ソフトウェア更新のためのモジュールをROM103へ書き込む。また、実行部204bは、書き換え管理部203が抑制要求部2021から更新抑制要求を受けた場合でも、ソフトウェアの更新中の場合にROM103への書き込み処理を継続する。すなわち、実行部204bに対応するCPU101は、ソフトウェアの更新の抑制の対象外となる抑制対象外CPUである。実行部204bは、例えば、車両制御装置20dの
図2に示すCPU101によりプログラムが実行されることによって実現される。実行部204bは、「第2実行部」に相当する。なお、
図11では、1つの実行部204bが示されているが、これに限定されず、複数の実行部204bが備えられてもよい。
【0116】
なお、実行部204aおよび実行部204bのうち任意の実行部を示す場合、または総称する場合、単に「実行部204」と称するものとする。
【0117】
また、
図11では、抑制対象CPUに対応する実行部204として実行部204a、抑制対象外CPUに対応する実行部204として実行部204bを示しているが、それぞれ複数の実行部204が抑制対象CPUおよび抑制対象外CPUに対応してもよい。
【0118】
また、
図11に示す車両制御装置20a~20dの各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、車両制御装置20a~20dとして例示した複数の機能部を、1つの機能部として構成してもよい。一方、車両制御装置20a~20dとして例示した各機能部において1つの機能部が有する機能を複数に分割し、複数の機能部として構成してもよい。
【0119】
また、
図11に示す制御システムの構成は、車両制御装置20a~20dで構成されているが、これに限定されるものではなく、1つの車両制御装置で構成されてもよく、その他の数の車両制御装置で構成されていてもよい。
【0120】
(書き換え管理部の動作の流れ)
図12は、第2の実施形態に係る車両制御装置の書き換え管理部の手動運転から自動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
図13は、第2の実施形態に係る車両制御装置の書き換え管理部の自動運転から手動運転に切り替える場合の動作の流れの一例を示すフローチャートである。まず、
図12を参照しながら、車両制御装置20bの書き換え管理部203について手動運転から自動運転に切り替える際の動作について説明する。
【0121】
<ステップS31a>
書き換え管理部203が、抑制要求部2021から更新抑制要求を受けた場合(ステップS31a:Yes)、ステップS32aへ移行し、更新抑制要求を受けていない場合(ステップS31a:No)、更新抑制要求を受けるまで待機する。
【0122】
<ステップS32a>
書き換え管理部203により、ソフトウェアの更新中であり、かつ抑制対象CPUに対応する実行部204があることが確認された場合(ステップS32a:Yes)、ステップS33aへ移行し、ソフトウェアの更新中の実行部204がなく、またはソフトウェアの更新中であっても抑制対象外CPUに対応する実行部204であることが確認された場合(ステップS32a:No)、ステップS35aへ移行する。
【0123】
<ステップS33a>
書き換え管理部203は、ソフトウェアの更新中であり、かつ抑制対象CPUに対応する実行部204に対して、ソフトウェアの更新を中断させるための更新制御指令を送る。そして、ステップS34aへ移行する。
【0124】
<ステップS34a>
書き換え管理部203が、抑制対象CPUに対応する実行部204からソフトウェアの更新の中断がされた旨を示す肯定応答を受けた場合(ステップS34a:Yes)、ステップS35aへ移行し、肯定応答を受けていない場合(ステップS34a:No)、肯定応答を受けるまで待機する。抑制対象CPUに対応する実行部204からのソフトウェアの更新の中断がされた旨を示す肯定応答は、「第3応答」に相当する。
【0125】
<ステップS35a>
書き換え管理部203は、抑制対象CPUに対応する実行部204へのソフトウェアの更新を内部で制御するための更新フラグを「不可」に設定する。そして、ステップS36aへ移行する。
【0126】
<ステップS36a>
書き換え管理部203は、ソフトウェアの更新が抑制された旨を示す、更新抑制要求に対する肯定応答を、抑制要求部2021へ送る。そして、ステップS37aへ移行する。
【0127】
<ステップS37a>
書き換え管理部203により、ソフトウェアの更新待ちの抑制対象外CPUに対応する実行部204があることが確認された場合(ステップS37a:Yes)、ステップS38aへ移行し、ソフトウェアの更新待ちの抑制対象外CPUに対応する実行部204がなくなった場合(ステップS37a:No)、書き換え管理部203の処理を終了する。
【0128】
<ステップS38a>
書き換え管理部203は、抑制対象外CPUに対応する実行部204におけるソフトウェアの更新処理を制御する。そして、ステップS37aへ戻る。
【0129】
以上のステップS31a~S38aの流れで、書き換え管理部203において手動運転から自動運転に切り替える際の動作が行われる。
【0130】
次に、
図13を参照しながら、車両制御装置20bの書き換え管理部203について自動運転から手動運転に切り替える際の動作について説明する。
【0131】
<ステップS41a>
書き換え管理部203が、抑制要求部2021から更新抑制解除要求を受けた場合(ステップS41a:Yes)、ステップS42aへ移行し、更新抑制解除要求を受けていない場合(ステップS41a:No)、更新抑制解除要求を受けるまで待機する。
【0132】
<ステップS42a>
書き換え管理部203は、抑制対象CPUに対応する実行部204へのソフトウェアの更新を内部で制御するための更新フラグを「可」に設定する。なお、抑制対象CPUに対応する実行部204におけるソフトウェアの更新処理は、上述したように、負荷が大きいため、ソフトウェアの更新処理時にはCPU101の温度の上昇が見込まれる。例えば、書き換え管理部203は、更新抑制解除要求を受けたとしても、温度センサ21からセンサI/F111を介して取得した抑制対象CPUに対応した車両制御装置20の内部温度または周囲温度が所定の閾値よりも高い場合には、更新フラグを「不可」に設定することにより、ソフトウェアの更新を開始または再開させなくてもよい。あるいは、書き換え管理部203は、更新フラグを「可」に設定していても、当該内部温度または周囲温度が所定の閾値よりも高い場合には、ソフトウェアの更新を開始または再開させなくてもよい。これによって、CPU101の更新処理による温度上昇に伴う、CPU101の周波数制限等の不具合の発生を抑制することができる。そして、ステップS43aへ移行する。
【0133】
<ステップS43a>
書き換え管理部203は、抑制対象CPUに対応する実行部204に対してソフトウェアの更新を中断したことまたは更新を開始しないことを解除した旨を示す、更新抑制解除要求に対する肯定応答を、抑制要求部2021へ送る。そして、書き換え管理部203の処理を終了する。
【0134】
以上のステップS41a~S43aの流れで、書き換え管理部203において自動運転から手動運転に切り替える際の動作が行われる。
【0135】
以上のように、本実施形態に係る制御システムでは、書き換え管理部203が、抑制要求部2021から更新抑制要求を受けた場合、ソフトウェアの更新の抑制対象となる実行部204aに対して更新制御指令を送り、ソフトウェアの更新の抑制対象とならない実行部204bに対しては更新制御指令を送らない。すなわち、実行部204bについては、抑制要求部2021による更新抑制要求が発生しても、ソフトウェアの更新処理が中断されることなく継続されることになる。自動運転制御を実行する実行部204aにおいて、自動運転とソフトウェアの更新とを同時に行わせると、実行部204aの処理負荷が高くなる場合がある。よって、実行部204aについては更新を中断させることによって、処理負荷を高めることなく自動運転を開始することができる。また、自動運転動作以外の処置を実行する実行部204bにおいては、自動運転と同時にソフトウェアの更新を行わせても、自動運転を行っていないときにソフトウェアの更新を行わせても、処理負荷には変わりない。したがって、実行部204bについては、更新を中断させないことにより、制御システムにおける処理負荷を高めることなく、ソフトウェアの更新に由来する機能改善を行うことができる。
【0136】
[第3の実施形態]
第3の実施形態に係る車両制御装置について、第1の実施形態に係る車両制御装置20と相違する点を中心に説明する。第1の実施形態では、実行部204で実行されるソフトウェアのすべてについて、車両1の運転状態を自動運転へと切り替える際に、車両制御装置においてソフトウェアの更新を中断する、または更新を開始しない動作について説明した。本実施形態では、更新対象となるソフトウェアの優先順位に従って車両制御装置の処理を異ならせる動作について説明する。なお、本実施形態に係る車両制御装置20の機能ブロックの構成は、第1の実施形態に係る車両制御装置20の機能ブロックの構成と同様であるものとする。
【0137】
(制御要求部の動作の流れ)
図14は、第3の実施形態に係る車両制御装置の制御要求部の手動運転から自動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
図14を参照しながら、車両制御装置20の制御要求部202について手動運転から自動運転に切り替える際の動作について説明する。
【0138】
<ステップS11b>
スイッチ検出部201により、自動運転切替スイッチ10bから手動運転から自動運転への切り替え指令が検出された場合(ステップS11b:Yes)、ステップS12aへ移行し、検出されない場合(ステップS11b:No)、切り替え指令が検出されるまで待機する。手動運転から自動運転への切り替え指令は、「第1切り替え指令」に相当する。
【0139】
<ステップS12b>
制御要求部202の抑制要求部2021は、書き換え管理部203に対してソフトウェアの更新を抑制するための更新抑制要求を送る。そして、ステップS13bへ移行する。
【0140】
<ステップS13b>
抑制要求部2021が、書き換え管理部203から更新抑制要求に対する応答を受けた場合(ステップS13b:Yes)、ステップS14bへ移行し、応答を受けていない場合(ステップS13b:No)、応答を受けるまで待機する。更新抑制要求に対する肯定応答は、「第1応答」に相当する。当該第1応答は、書き換え管理部203が、ソフトウェアの更新を開始しない旨の応答、および、少なくとも1つの実行部204において、ソフトウェアの更新を中断させた旨の応答の少なくとも一方を含む。
【0141】
<ステップS14b>
抑制要求部2021が書き換え管理部203から受けた応答が、ソフトウェアの更新が抑制された旨を示す肯定応答である場合(ステップS14b:Yes)、ステップS15bへ移行し、否定応答である場合(ステップS14b:No)、ステップS18bへ移行する。
【0142】
<ステップS15b>
車両制御装置20の自動運転制御要求部2022は、実行部204に対して自動運転の開始を要求するための自動運転開始要求を送る。そして、ステップS16bへ移行する。
【0143】
<ステップS16b>
自動運転制御要求部2022が、自動運転開始要求に対して実行部204から自動運転が開始された旨を示す肯定応答を受けた場合(ステップS16b:Yes)、ステップS17bへ移行し、肯定応答を受けていない場合(ステップS16b:No)、肯定応答を受けるまで待機する。実行部204からの自動運転が開始された旨を示す肯定応答は、「第2応答」に相当する。
【0144】
<ステップS17b>
車両制御装置20の通知制御部2023は、自動運転が開始された旨を出力制御部205へ通知する。そして、制御要求部202の処理を終了する。
【0145】
<ステップS18b>
車両制御装置20の通知制御部2023は、自動運転の開始が不可である旨を出力制御部205へ通知する。そして、制御要求部202の処理を終了する。
【0146】
なお、制御要求部202についての自動運転から手動運転に切り替える際の動作については、第1の実施形態と同様である。
【0147】
(書き換え管理部の動作の流れ)
図15は、第3の実施形態に係る車両制御装置の書き換え管理部の手動運転から自動運転に切り替える場合の動作の流れの一例を示すフローチャートである。
図15を参照しながら、車両制御装置20の書き換え管理部203について手動運転から自動運転に切り替える際の動作について説明する。
【0148】
<ステップS31b>
書き換え管理部203が、抑制要求部2021から更新抑制要求を受けた場合(ステップS31b:Yes)、ステップS32bへ移行し、更新抑制要求を受けていない場合(ステップS31b:No)、更新抑制要求を受けるまで待機する。
【0149】
<ステップS32b>
書き換え管理部203が、実行部204においてソフトウェアの更新中であると判定した場合(ステップS32b:Yes)、ステップS33bへ移行し、ソフトウェアの更新中でないと判定した場合(ステップS32b:No)、ステップS36bへ移行する。書き換え管理部203は、例えばソフトウェア更新のためのやり取りを書き換え管理部203と実行部204との間で行っている場合に、実行部204においてソフトウェアの更新中であると判定する。
【0150】
<ステップS33b>
実行部204においてソフトウェアの更新中であると判定した場合、書き換え管理部203は、更新中のソフトウェアの優先度が低いか否かを判定する。例えば、書き換え管理部203は、当該優先度が低い場合(ステップS33b:Yes)、ステップS34bへ移行し、当該優先度が高い場合(ステップS33b:No)、ステップS38bへ移行する。ここで、優先度が高いソフトウェアとは、例えば不具合の修正が更新目的となる、更新の緊急度の高いソフトウェアである。また、優先度が低いソフトウェアとは、例えば機能向上または機能追加が更新目的となるソフトウェアである。
【0151】
<ステップS34b>
書き換え管理部203は、実行部204に対して、ソフトウェアの更新を中断させるための更新制御指令を送る。そして、ステップS35bへ移行する。
【0152】
<ステップS35b>
書き換え管理部203が、実行部204からソフトウェアの更新の中断がされた旨を示す肯定応答を受けた場合(ステップS35b:Yes)、ステップS36bへ移行し、肯定応答を受けていない場合(ステップS35b:No)、肯定応答を受けるまで待機する。実行部204からのソフトウェアの更新の中断がされた旨を示す肯定応答は、「第3応答」に相当する。
【0153】
<ステップS36b>
書き換え管理部203は、実行部204へのソフトウェアの更新を内部で制御するための更新フラグを「不可」に設定する。そして、ステップS37bへ移行する。
【0154】
<ステップS37b>
書き換え管理部203は、ソフトウェアの更新が抑制された旨を示す、更新抑制要求に対する肯定応答を、抑制要求部2021へ送る。そして、書き換え管理部203の処理を終了する。
【0155】
<ステップS38b>
更新中のソフトウェアの優先度が高い場合、書き換え管理部203は、実行部204に対してソフトウェアの更新を中断することまたは更新を開始させないことを不可とする、更新抑制要求に対する否定応答を、抑制要求部2021へ送る。そして、書き換え管理部203の処理を終了する。
【0156】
以上のように、本実施形態に係る車両制御装置20では、更新対象のソフトウェアの優先度が低い場合、書き換え管理部203が実行部204に対して更新制御指令を送り、更新対象のソフトウェアの優先度が高い場合、実行部204に対して更新制御指令を送らない。車両制御装置20は、優先度が低いソフトウェアについては更新を中断することによって、実行部204での処理負荷を高めることなく自動運転を開始することができる。また、車両制御装置20は、優先度が高いソフトウェアについては、更新処理を優先させることにより、ソフトウェアの更新に由来する機能改善を行うことができる。
【0157】
なお、上述したそれぞれの実施形態に係る車両制御装置20で実行されるプログラムは、ROM等に予め組み込まれた状態で提供される。また、車両制御装置20で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記憶媒体に記録して提供するように構成してもよい。また、上述のプログラムは、インターネット等のネットワークを介して車両制御装置20に提供されてもよい。また、上述したそれぞれの実施形態に係る車両制御装置20で実行するためのプログラムは、上述の各機能部を含むモジュール構成となっており、実際のハードウェアとしては、例えば、CPU101がROM103からプログラムを読み出して実行することにより、上述した複数の各機能部のそれぞれが主記憶装置であるRAM102上にロードされ、上述した複数の各機能部のそれぞれがRAM102上に生成されるようになっている。
【0158】
本開示の実施形態それぞれを説明したが、これらは一例として提示したものであり、発明の技術的範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これらの実施形態は、発明の範囲および要旨に含まれると同様に、特許請求の範囲に記載された発明の均等の範囲に含まれる。
【符号の説明】
【0159】
1 車両
2 車体
3、3F、3R 車輪
4 座席
5 車両駆動部
6、6a、6b 撮像部
7、7L、7R ドアミラー
8 後部座席
9 ルームミラー
10a エンジンスイッチ
10b 自動運転切替スイッチ
11 ハンドル
12 シフトレバー
13 パーキングブレーキ
14 ドアロック装置
15 表示装置
16 GPSセンサ
17 車速センサ
18 通信装置
19 スピーカ
20、20a~20d 車両制御装置
21 温度センサ
101 CPU
102 RAM
103 ROM
104 撮像I/F
105 表示I/F
106 GPS I/F
107 車速I/F
108 通信I/F
109 音声I/F
110 入力I/F
111 センサI/F
112 バス
201 スイッチ検出部
202 制御要求部
203 書き換え管理部
204、204a、204b 実行部
205 出力制御部
2021 抑制要求部
2022 自動運転制御要求部
2023 通知制御部