(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024068432
(43)【公開日】2024-05-20
(54)【発明の名称】制御装置および制御方法
(51)【国際特許分類】
B60W 50/02 20120101AFI20240513BHJP
B60R 16/03 20060101ALI20240513BHJP
H02J 7/34 20060101ALI20240513BHJP
【FI】
B60W50/02
B60R16/03 A
H02J7/34 B
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022178875
(22)【出願日】2022-11-08
(71)【出願人】
【識別番号】000237592
【氏名又は名称】株式会社デンソーテン
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】松本 健
(72)【発明者】
【氏名】白島 大樹
【テーマコード(参考)】
3D241
5G503
【Fターム(参考)】
3D241BA60
3D241BA62
3D241BA63
3D241CA06
3D241CA08
3D241CD21
3D241CD27
3D241CE02
3D241CE04
3D241DA67B
5G503AA07
5G503BA02
5G503BB01
5G503BB02
5G503BB05
5G503DA04
5G503GD03
(57)【要約】
【課題】自動運転中には接続装置の制御を冗長化できる制御装置および制御方法を提供する。
【解決手段】実施形態に係る制御装置は、複数のコントローラを備える。複数のコントローラは、制御プログラムを実行することによって接続装置を制御する。接続装置は、第1電源の電力を第1負荷に供給する第1系統と、第2電源の電力を第2負荷に供給する第2系統とを接続および切断可能である。一部のコントローラは、自動運転が可能な車両の走行中に制御プログラムを更新する場合、車両の自動運転を禁止し、他のコントローラの動作を停止させ、他のコントローラによって実行される制御プログラムを更新する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
第1電源の電力を第1負荷に供給する第1系統と、第2電源の電力を第2負荷に供給する第2系統とを接続および切断可能な接続装置を、制御プログラムを実行することによって制御する複数のコントローラを備え、
一部の前記コントローラは、自動運転が可能な車両の走行中に前記制御プログラムを更新する場合、前記車両の自動運転を禁止し、他の前記コントローラの動作を停止させ、前記他のコントローラによって実行される前記制御プログラムを更新する、
制御装置。
【請求項2】
前記一部のコントローラは、前記車両の走行中に新たな前記制御プログラムを受信した場合、前記他のコントローラによって実行される前記制御プログラムを更新し、前記車両が非起動状態の期間に前記一部のコントローラによって実行される前記制御プログラムを更新する、
請求項1に記載の制御装置。
【請求項3】
前記一部のコントローラは、自動運転中でない場合に他のコントローラによって実行される前記制御プログラムを更新し、自動運転中である場合は他のコントローラによって実行される前記制御プログラムを更新せず、前記車両が非起動状態の期間に前記他のコントローラによって実行される前記制御プログラムを更新する
請求項2に記載の制御装置。
【請求項4】
前記一部のコントローラは、前記制御プログラムを更新することと、前記車両の自動運転を開始するためには前記車両の再起動が必要であることとをユーザに通知する、
請求項2に記載の制御装置。
【請求項5】
前記一部のコントローラは、前記制御プログラムの更新に要する時間と、前記制御プログラムの更新が完了するまで前記車両の起動状態を継続させることとをユーザに通知する、
請求項2に記載の制御装置。
【請求項6】
前記一部のコントローラは、前記車両の走行中に新たな前記制御プログラムを受信した場合、ユーザに前記制御プログラムの更新の許可を要求し、前記更新が許可された場合、前記他のコントローラによって実行される前記制御プログラムを更新する、
請求項1に記載の制御装置。
【請求項7】
前記一部のコントローラは、前記更新が許可されない場合、前記車両が非起動状態の期間に前記他のコントローラによって実行される前記制御プログラムを更新する、
請求項6に記載の制御装置。
【請求項8】
前記一部のコントローラは、前記制御プログラムの更新に要する時間をユーザに通知する、
請求項6に記載の制御装置。
【請求項9】
前記複数のコントローラ毎に設けられ、各前記コントローラによって実行される前記制御プログラムを記憶する記憶部を備える、請求項1に記載の制御装置。
【請求項10】
第1電源の電力を第1負荷に供給する第1系統と、第2電源の電力を第2負荷に供給する第2系統とを接続および切断可能な接続装置を、制御プログラムを実行することによって制御する複数のコントローラのうち、一部の前記コントローラが、
自動運転が可能な車両の走行中に前記制御プログラムを更新する場合、前記車両の自動運転を禁止し、他の前記コントローラの動作を停止させ、前記他のコントローラによって実行される前記制御プログラムを更新する、
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、制御装置および制御方法に関する。
【背景技術】
【0002】
自動運転が可能な車両は、冗長電源システムを備える。冗長電源システムは、第1電源の電力を第1負荷に供給する第1系統と、第2電源の電力を第2負荷に供給する第2系統とを備える。冗長電源システムは、車両の自動運転中に、第1系統と第2系統とのうち、どちらかの系統に電源失陥が発生した場合、確実に系統間を遮断する必要がある。
【0003】
そのため、メインマイコンとサブマイコンとの両方で、それぞれが同じ制御プログラムを実行して第1系統と第2系統とを接続および切断可能な接続装置を制御する技術がある(例えば、特許文献1参照)。かかる技術によれば、接続装置の制御を冗長化できる。
【0004】
かかる制御プログラムを修正する必要が生じた場合は、制御プログラムを更新する必要がある。制御プログラムの更新技術としては、サーバから車両に無線で制御プログラムを送信して更新するOTA(Over The Air)技術が知られている。
【0005】
その場合、制御プログラムを更新する制御装置は、メインマイコンによって実行される制御プログラムと、サブマイコンによって実行される制御プログラムとをOTA技術によって車両の走行中に更新すると、次のような問題が生じるおそれがある。
【0006】
例えば、制御装置は、車両の制御を中断させたり、車両に望ましくない挙動が生じさせる可能性がある。そのため、車両の走行中にメインマイコンおよびサブマイコンの制御プログラムを両方とも更新することは望ましくない。
【0007】
一方で、走行中にOTA技術により受信した新たな制御プログラムを一旦記憶しておき、イグニッション(IG)がオフとなる車両の非起動時にメインマイコンとサブマイコンの制御プログラムを順次更新することも考えられる。
【0008】
その場合は、メインマイコンとサブマイコンの両方の制御プログラムを更新する必要があることから、制御プログラムの更新に要する時間が長くなる。すると暗電流が増加するだけでなく、制御プログラムの更新中にIGがオンされて車両が起動される可能性が高くなる。プログラムの更新中にIGがオンされると、更新中であったマイコンは正しく動作できない。
【0009】
このため、制御装置は、車両の走行中に新たな制御プログラムを入手した場合、一方のマイコンによって更新前の制御プログラムの実行を継続させる。そして、制御装置は、他方のマイコンの動作を停止させて他方のマイコンによって実行される制御プログラムを更新することが望ましい。
【0010】
これにより、制御装置は、車両の走行中に車両の制御を中断させることなく、他方のマイコンによって実行される制御プログラムを更新できる。そして、制御装置は、車両が非起動状態の期間に、一方のマイコンによって実行される制御プログラムを更新する。これにより、制御装置は、車両が非起動状態の期間に行われる制御プログラムの更新に要する時間を短くでき、次回、車両が起動された後には、双方のマイコンによって更新後の制御プログラムを実行させることができる。
【先行技術文献】
【特許文献】
【0011】
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、制御装置は、自動運転中に一方のマイコンによる制御を継続させ、他方のマイコンの動作を停止させて制御プログラムを更新すると、接続装置の制御を冗長化できなくなる。
【0013】
実施形態は、上記に鑑みてなされたものであって、自動運転中に接続装置の制御を冗長化できる制御装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
実施形態に係る制御装置は、複数のコントローラを備える。複数のコントローラは、制御プログラムを実行することによって接続装置を制御する。接続装置は、第1電源の電力を第1負荷に供給する第1系統と、第2電源の電力を第2負荷に供給する第2系統とを接続および切断可能である。一部の前記コントローラは、自動運転が可能な車両の走行中に前記制御プログラムを更新する場合、前記車両の自動運転を禁止し、他の前記コントローラの動作を停止させ、前記他のコントローラによって実行される前記制御プログラムを更新する。
【発明の効果】
【0015】
実施形態の一態様に係る制御装置および制御方法によれば、自動運転中には接続装置の制御を冗長化できるという効果を奏する。
【図面の簡単な説明】
【0016】
【
図1】
図1は、実施形態に係る電源制御装置の構成例を示す説明図である。
【
図2】
図2は、実施形態に係る制御装置の構成例および通常時動作を示す説明図である。
【
図3】
図3は、実施形態に係る制御装置のリプロ動作を示す説明図である。
【
図4】
図4は、実施形態に係る制御装置のリプロ動作を示す説明図である。
【
図5】
図5は、実施形態に係る制御装置が実行する処理の一例を示すフローチャートである。
【
図6】
図6は、実施形態に係る制御装置が実行する処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、添付図面を参照して、制御装置および制御方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【0018】
実施形態に係る電源制御装置は、自動運転機能を備える車両に搭載される。自動運転機能を備える車両は、例えば、電気自動車、ハイブリット自動車、または、内燃機関によって走行するエンジン自動車などであってもよい。
【0019】
[1.電源制御装置の構成]
図1は、実施形態に係る制御装置を備える電源制御装置1の構成例を示す説明図である。
図1に示すように、実施形態に係る電源制御装置1は、第1電源10と、自動運転制御装置71と、通知装置72とに接続される。また、電源制御装置1は、通信ネットワーク200を介して、プログラム提供装置201と接続される。
【0020】
さらに、電源制御装置1は、第1一般負荷101、フェイルオペレーション負荷(以下、「FOP負荷」と記載する)102、第2一般負荷103、第3一般負荷104、および第4一般負荷105に接続される。
【0021】
第1一般負荷101、FOP負荷102、および第3一般負荷104は、第1電源10から電力が供給される第1負荷の一例である。FOP負荷102、第2一般負荷103、および第4一般負荷105は、後述する第2電源20から電力が供給される第2負荷の一例である。
【0022】
また、電源制御装置1は、第1系統110と、第2系統120とを備える。第1系統110は、第1電源10の電力を第1一般負荷101、FOP負荷102、および第3一般負荷104に供給する。第2系統120は、後述する第2電源20の電力をFOP負荷102、第2一般負荷103、および第4一般負荷105に供給する。
【0023】
第1一般負荷101、第2一般負荷103、第3一般負荷104、および第4一般負荷105は、自動運転に直接関与しない負荷を含む。第1一般負荷101、第2一般負荷103、第3一般負荷104、および第4一般負荷105は、例えば、ディスプレイ、エアコン、オーディオ、およびビデオを含む。さらに、第1一般負荷101、第2一般負荷103、第3一般負荷104、および第4一般負荷105は、例えば、各種ライト、ドライブレコーダ、セキュリティ装置、通信装置、および各種センサなどを含む。
【0024】
FOP負荷102は、自動運転用の装置である。例えば、FOP負荷102は、自動運転中に動作するステアリングモータ、電動ブレーキ装置、車載カメラ、およびレーダなどを含む。
【0025】
自動運転制御装置71は、GPS(Global Positioning System)を備える。自動運転制御装置71は、FOP負荷102を動作させて、車両を自動運転走行制御する装置である。なお、自動運転制御装置71は、GPSの自車位置情報、地図情報、および道路交通情報などを、図示せぬナビゲーション装置から入手してもよい。
【0026】
第1電源10は、電源制御装置1がエンジン自動車に搭載される場合、発電機12と、鉛バッテリ(以下、「PbB11」と記載する)とを含む。なお、第1電源10の電池は、PbB11以外の任意の2次電池であってもよい。
【0027】
発電機12は、例えば、走行する車両の運動エネルギーを電気に変換して発電するオルタネータである。発電機12は、発電した電力によるPbB11および後述する第2電源20の充電を行う。また、発電機12は、第1一般負荷101、FOP負荷102、第2一般負荷103、第3一般負荷104、および第4一般負荷105への電力供給を行う。
【0028】
第1電源10は、電源制御装置1が電気自動車またはハイブリッド自動車に搭載される場合、DC/DCコンバータ(以下、「DCDC」と記載する)と、PbB11とを含む。この場合、DCDCは、発電機と、PbB11よりも電圧が高い高圧バッテリとに接続され、発電機および高圧バッテリの電圧を降圧して第1系統110に出力する。この場合、発電機は、例えば、走行する車両の運動エネルギーを電気に変換して発電するオルタネータである。高圧バッテリは、例えば、電気自動車やハイブリット自動車に搭載される車両駆動用のバッテリである。
【0029】
また、電源制御装置1は、第2電源20と、制御装置3と、セントラルECU(Electronic Control Unit)6と、複数の接続装置とを備える。具体的には、電源制御装置1は、第1接続装置41、第2接続装置42、第3接続装置43、第4接続装置44、第5接続装置45、第6接続装置46、第7接続装置47、および第8接続装置48を備える。
【0030】
第1接続装置41は、第1系統110と第2系統120とを接続および切断可能なスイッチである。なお、第1接続装置41は、DCDCであってもよい。この場合、DCDCは、動作することによって第1系統110と第2系統120とを接続し、動作を停止することによって第1系統110と第2系統120との接続を切断する。
【0031】
第2接続装置42は、第2系統120とFOP負荷102とを接続および切断可能なスイッチである。第3接続装置43は、第2系統120と第2一般負荷103とを接続および切断可能なスイッチである。第4接続装置44は、第2系統120と第4一般負荷105とを接続および切断可能なスイッチである。第5接続装置45は、第2電源20と第2系統120とを接続および切断可能なスイッチである。
【0032】
第6接続装置46は、第1系統110と第1一般負荷101とを接続および切断可能なスイッチである。第7接続装置47は、第1系統110とFOP負荷102とを接続および切断可能なスイッチである。第8接続装置48は、第1系統110と第3一般負荷104とを接続および切断可能なスイッチである。
【0033】
第2電源20は、第1電源10による電力供給ができなくなった場合のバックアップ用電源である。第2電源20は、リチウムイオンバッテリ(以下、「LiB21」と記載する)を備える。なお、第2電源20の電池は、LiB21以外の任意の2次電池であってもよい。
【0034】
また、電源制御装置1は、第1電圧センサ51と第2電圧センサ52とを備える。第1電圧センサ51は、第1系統110に設けられる。第1電圧センサ51は、第1系統110の電圧を検出する。そして、第1電圧センサ51は、検出結果を制御装置3に出力する。第2電圧センサ52は、第2系統120に設けられる。第2電圧センサ52は、第2系統120の電圧を検出する。そして、第2電圧センサ52は、検出結果を制御装置3に出力する。
【0035】
制御装置3は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などを有するマイクロコンピュータ(以下、「マイコン」と記載する)や各種の回路を含む。
【0036】
なお、制御装置3は、その一部または全部がASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成されてもよい。
【0037】
制御装置3は、CPUがROMに記憶されたプログラムを、RAMを作業領域として使用して実行することにより、第1~第8接続装置41~48の動作を制御する。また、制御装置3は、通知装置72に接続される。
【0038】
通知装置72は、ディスプレイおよびスピーカを含んでもよい。通知装置72は、制御装置3から入力される情報を表示および音声の少なくともいずれか一方によってユーザに通知する。また、通知装置72は、ユーザの音声または操作による指示を受け付けるユーザインターフェースを含んでもよい。
【0039】
また、制御装置3は、セントラルECU6に接続される。セントラルECU6は、通信ネットワーク200を介して、例えば、プログラム提供装置201と接続される。通信ネットワーク200は、例えば、インターネットであってもよい。プログラム提供装置201は、車両の制御に関する書き換え用の各種制御プログラムを、例えば、OTA(Over The Air)技術によって、車両に提供する。
【0040】
セントラルECU6は、プログラム提供装置201から通信ネットワーク200を介して各種制御プログラムを受信する。セントラルECU6は、受信する制御プログラムを制御装置3に出力する。
【0041】
[2.電源制御装置の動作例]
次に、電源制御装置1の動作例について説明する。
【0042】
[2.1.通常時動作]
制御装置3は、車両のイグニッションスイッチ(以下、「IG」と記載する)がオンされた状態で第1系統110および第2系統120に地絡が発生していない通常時の停車中、手動運転中、または自動運転中には、第1電源10の電力を全ての負荷に供給する。
【0043】
このとき、制御装置3は、第1~第4接続装置41~44および第6~第8接続装置46~48をオンし、第5接続装置45をオフする。これにより、電源制御装置1は、LiB21の通常時における放電を抑えつつ、第1電源10から第1~第4一般負荷101,103~105、およびFOP負荷102に電力を供給できる。
【0044】
[2.2.電源制御装置の地絡発生時動作]
電源制御装置1では、例えば、第1系統110で地絡が発生すると、地絡点に向けて過電流が流れるため、第1電圧センサ51によって検出される電圧が地絡閾値以下になる。
【0045】
このため、制御装置3は、第1電圧センサ51によって検出される電圧が所定時間継続して地絡閾値以下になった場合に、第1系統110の地絡を検知する。制御装置3は、第1系統110の地絡を検知すると、まず、第1接続装置41をオフし、第5接続装置45をオンし、第6~第8接続装置46~48をオフする。
【0046】
これにより、電源制御装置1は、第1系統110で地絡が発生しても、第2電源20からFOP負荷102、第2一般負荷103、および第4一般負荷105に電力を供給してFOP制御を行うことができる。
【0047】
その後、制御装置3は、第1系統110で地絡が発生し、FOP制御へ移行したことを自動運転制御装置71に通知する。これにより、自動運転制御装置71は、第2電源20から供給される電力によってFOP負荷102を動作させて、車両を安全な場所まで退避走行させて停車させることができる。
【0048】
ただし、電源制御装置1は、例えば、第1系統110で地絡が発生した場合に、第1接続装置41を確実にオフ、つまり、遮断できなければ、第2電源20のLiB21が放電してFOP制御ができなくなる。このため、電源制御装置1は、第1接続装置41の制御を冗長化することによって、必要なときに、第1接続装置41を確実にオフできるように構成される。
【0049】
[3.制御装置の構成]
次に、実施形態に係る制御装置3の構成について、
図2を参照して説明する。
図2は、実施形態に係る制御装置3の構成例を示す説明図である。以下では、制御装置3が第1接続装置41を制御するために実行するプログラムをISO(アイソレータ)制御プログラムと称する。また、以下では、ISO制御プログラムの更新をリプロと称する場合がある。
【0050】
[3.1.制御装置の構成および通常時動作]
制御装置3は、複数のコントローラを備える。例えば、
図2に示すように、制御装置3は、第1コントローラ31と、第2コントローラ32とを備える。第1コントローラ31および第2コントローラ32は、例えば、コアプロセッサである。
【0051】
さらに、制御装置3は、第1バンク33と、第2バンク34と、第1入出力(以下、「I/O」と記載する)ポート35と、第2I/Oポート36とを備える。第1バンク33および第2バンク34は、記憶装置である。第1バンク33および第2バンク34は、例えば、RAMである。
【0052】
第1バンク33は、第1コントローラ31によって実行されるプログラムを記憶する。第1バンク33は、リプロプログラム37と、ISO制御プログラム38とを記憶する。第2バンク34は、ISO制御プログラム38を記憶する。
【0053】
第1バンク33に記憶されるリプロプログラム37およびISO制御プログラム38は、第1コントローラ31によって実行されるプログラムである。第2バンク34に記憶されるISO制御プログラム38は、第2コントローラ32によって実行されるプログラムである。
【0054】
このように、制御装置3は、複数のコントローラ毎に設けられる記憶部を備える。記憶部は、各コントローラによって実行される制御プログラムを記憶する。
【0055】
第1コントローラ31は、第1バンク33に記憶されたISO制御プログラム38を実行する。そして、第1コントローラ31は、第1I/Oポート35を介して、第1接続装置41に制御信号を出力する。
【0056】
第1コントローラ31は、電源制御装置1の通常動作時に、第1接続装置41を導通させる制御信号を出力する。第1コントローラ31は、例えば、第1系統110の地絡を検知した場合に、第1接続装置41を遮断する制御信号を出力する。
【0057】
第2コントローラ32は、第2バンク34に記憶されたISO制御プログラム38を実行する。そして、第2コントローラ32は、第2I/Oポート36を介して、第1接続装置41に制御信号を出力する。
【0058】
第2コントローラ32は、電源制御装置1の通常動作時に、第1接続装置41を導通させる制御信号を出力する。第2コントローラ32は、例えば、第1系統110の地絡を検知した場合に、第1接続装置41を遮断する制御信号を出力する。
【0059】
このように、制御装置3では、第1コントローラ31および第2コントローラ32がそれぞれ独立して、同じISO制御プログラム38を実行することによって、第1接続装置41の制御を冗長化できる。
【0060】
これにより、制御装置3は、例えば、第1系統110の地絡を検知した場合に、第1コントローラ31および第2コントローラ32のいずれか一方が故障しても、他方によって第1接続装置41を確実に遮断できる。
【0061】
また、制御装置3は、第1系統110の地絡を検知した場合に、第1バンク33および第2バンク34のいずれか一方が故障しても、他方に記憶されたISO制御プログラム38が実行されることによって、第1接続装置41を確実に遮断できる。
【0062】
ISO制御プログラム38は、新たな機能が追加される場合がある。この場合、プログラム提供装置201は、新たな機能が追加されたISO新制御プログラム39(
図3参照)を電源制御装置1に提供する。
【0063】
第1コントローラ31は、リプロプログラム37を実行することによって、第1バンク33および第2バンク34に記憶されたISO制御プログラム38をISO新制御プログラム39にリプロする。
【0064】
[3.2.制御装置のリプロ動作]
次に、実施形態に係る制御装置3のリプロ動作について、
図3および
図4を参照して説明する。
図3および
図4は、実施形態に係る制御装置3のリプロ動作を示す説明図である。
【0065】
プログラム提供装置201は、ISO新制御プログラム39が公開されると、ISO新制御プログラム39を電源制御装置1(
図1参照)に送信する。例えば、
図3に示すように、プログラム提供装置201は、通信ネットワーク200を介して、セントラルECU6にISO新制御プログラム39を送信する(ステップS1)。
【0066】
セントラルECU6は、RAM61を備える。セントラルECU6は、通信ネットワーク200を介して、プログラム提供装置201から受信するISO新制御プログラム39をRAM61に一時的に記憶する(ステップS2)。
【0067】
その後、セントラルECU6は、リプロ要求を第1コントローラ31に送信する(ステップS3)。リプロ要求には、ISO新制御プログラム39のデータ量を示す情報が含まれる。第1コントローラ31は、車両の走行中にリプロ要求を受信すると、自動運転中でなければ、自動運転制御装置71に自動運転禁止通知を送信する(ステップS4)。
【0068】
その後、第1コントローラ31は、セントラルECU6のRAM61からISO新制御プログラム39を取得する(ステップS5)。そして、第1コントローラ31は、第2コントローラ32の動作を停止させる(ステップS6)。
【0069】
その後、第1コントローラ31は、第2バンク34のISO制御プログラム38をISO新制御プログラム39にリプロする(ステップS7)。このとき、第1コントローラ31は、ISO新制御プログラム39の一部をリプロしてもよい。また、第1コントローラ31は、ISO新制御プログラム39の全部を更新してもよい。
【0070】
なお、第1コントローラ31は、リプロ要求を受信した場合に、自動運転中であれば、リプロを行わない。この場合、第1コントローラ31は、車両のIGがオフされている期間にリプロを行う。
【0071】
このように、制御装置3が備える一部のコントローラ(ここでは、第1コントローラ31)は、自動運転が可能な車両の走行中に制御プログラムを更新する場合、車両の自動運転を禁止する。そして、一部のコントローラは、他のコントローラ(ここでは、第2コントローラ32)の動作を停止させ、他のコントローラによって実行される制御プログラムを更新する。
【0072】
換言すれば、制御装置3は、自動運転を禁止していない期間には全てのコントローラ(ここでは、第1コントローラ31および第2コントローラ32)の動作を継続させる。これにより、制御装置3は、自動運転中には接続装置の制御を冗長化できる。
【0073】
また、制御装置3が備える一部のコントローラは、プログラム提供装置201から車両の走行中に新たな制御プログラムを受信した場合、他のコントローラによって実行される制御プログラムを更新する。そして、一部のコントローラは、車両が非起動状態の期間に一部のコントローラによって実行される制御プログラムを更新する。これにより、制御装置3は、新たな制御プログラムを受信した場合、即座に制御プログラムを更新できる。
【0074】
また、制御装置3が備える一部のコントローラは、自動運転中でない場合に他のコントローラによって実行される制御プログラムを更新する。そして、一部のコントローラは、自動運転中である場合は他のコントローラによって実行される制御プログラムを更新せず、車両が非起動状態の期間に他のコントローラによって実行される制御プログラムを更新する。これにより、制御装置3は、自動運転中にリプロ要求があった場合には、第2コントローラ32を停止させることがなく、第1接続装置41の制御の冗長化が可能となる。
【0075】
また、第1コントローラ31は、リプロを開始する場合、リプロに関する情報を通知装置72によってユーザに通知させる(ステップS8)。例えば、第1コントローラ31は、「これからリプロを開始します。自動運転を開始するためには、一度IGをオフし、その後、IGをオンする必要があります。」というメッセージを通知装置72によってユーザへ通知する。
【0076】
このように、制御装置3が備える一部のコントローラは、制御プログラムを更新することと、車両の自動運転を開始するためには、車両の再起動が必要であることをユーザに通知する。これにより、制御装置3は、制御プログラムの更新のため、次回、車両を起動させるまでの間、自動運転ができなくなることをユーザに認識させることができる。
【0077】
また、第1コントローラ31は、リプロを開始する場合、ISO新制御プログラム39のデータ量に基づいて、リプロに要する時間を算出する。そして、第1コントローラ31は、例えば、「リプロ完了まで、あとT分です。リプロが完了するまでIGをオフしないでください。」というメッセージを通知装置72によってユーザへ通知する。なお、第1コントローラは、リプロに要する時間の通知と合わせて、リプロの進行状況を示すプログレスバーを通知装置72によって表示させてもよい。
【0078】
このように、制御装置3が備える一部のコントローラは、制御プログラムの更新に要する時間と、制御プログラムの更新が完了するまで、車両の起動を継続させることをユーザに通知する。
【0079】
これにより、制御装置3は、現在リプロ中であることと、リプロに要する時間とを明確にユーザに認識させることができる。また、制御装置3は、車両の走行中に、確実にリプロを完了させることができる。
【0080】
その後、第1コントローラ31は、第2バンク34のリプロが完了してIGがオフされると、
図4に示すように、第2バンク34に記憶させたISO新制御プログラム39をコピーして第1バンク33に記憶させる(ステップS9)。
【0081】
また、第1コントローラ31は、第2バンク34のリプロが完了する前に、IGがオフされた場合には、第2バンク34の残りのリプロを完了させた後に、第2バンク34に記憶させたISO新制御プログラム39をコピーして第1バンク33に記憶させる。
【0082】
これにより、第1コントローラ31は、次回IGがオンされた後は、第1バンク33に記憶されたISO新制御プログラム39を実行して第1接続装置41を制御できる。同時に、第2コントローラ32は、第2バンク34に記憶されたISO新制御プログラム39を実行して第1接続装置41を制御できる。
【0083】
ここでは、制御装置3がプログラム提供装置201からISO新制御プログラム39を受信した場合に、第1コントローラ31が強制的にリプロを開始する場合について説明したが、これは一例である。
【0084】
第1コントローラ31は、ISO新制御プログラム39を受信した場合、ユーザにリプロの更新許可を要求してもよい。この場合、第1コントローラ31は、例えば「新ソフトをダウンロードしますか?ダウンロードに要する時間はT分です。停車しIGをオンするまで自動運転はできません。ダウンロードを許可する場合は、許可ボタンの押下をお願いします。」というメッセージを通知装置72によってユーザへ通知する。
【0085】
また、第1コントローラ31は、例えば、「新たな制御プログラムを利用可能です。制御プログラムの更新を開始してもよろしいですか?」というメッセージを通知装置72によってユーザへ通知してもよい。
【0086】
ユーザは、例えば、通知装置72のユーザインターフェースを使って、音声または操作により、更新許可の要求に対する回答を制御装置3に入力する。そして、第1コントローラ31は、ユーザからリプロの更新が許可された場合に、第2バンク34のISO制御プログラム38をISO新制御プログラム39に更新する。
【0087】
このように、制御装置3が備える一部のコントローラは、車両の走行中に新たな制御プログラムを受信した場合、ユーザに制御プログラムの更新の許可を要求する。そして、一部のコントローラは、更新が許可された場合、他のコントローラによって実行される制御プログラムを更新する。
【0088】
これにより、ユーザは、自動運転を開始する予定があれば、制御プログラムの更新を拒否できる。このため、制御装置3は、ユーザの意思を反映しつつ、制御プログラムの更新を行うことができる。
【0089】
また、第1コントローラ31は、ユーザによってリプロが許可されない場合、IGがオフになってから第2コントローラ32によって実行される第2バンク34のISO制御プログラム38をISO新制御プログラム39に更新する。
【0090】
このように、制御装置3が備える一部のコントローラは、制御プログラムの更新が許可されない場合、IGがオフされている車両が非起動状態の期間に、他のコントローラによって実行される制御プログラムを更新する。これにより、制御装置3は、走行中の更新がユーザによって拒否されても、停車中に制御プログラムを確実に更新できる。
【0091】
また、制御装置3が備える一部のコントローラは、制御プログラムの更新に要する時間をユーザに通知する。これにより、ユーザは、制御プログラムの更新時間以内に降車するつもりであれば、更新を拒否できる。また、ユーザは、制御装置3から通知される更新に要する時間を見て、更新を許可するか否かを判断できる。
【0092】
[4.制御装置が実行する処理]
次に、制御装置3が実行する処理の一例について、
図5を参照して説明する。
図5は、実施形態に係る制御装置が実行する処理の一例を示すフローチャートである。制御装置3は、車両のIGがオンされると、
図5に示す処理を開始する。
【0093】
図5に示すように、例えば、制御装置3の第1コントローラ31は、IGがオンされると、まず、第1バンク33に対する更新完了フラグF1および第2バンク34に対する更新完了フラグF2が立っているか否かを判定する(ステップS101)。
【0094】
更新完了フラグF1,F2は、後述するステップS108、S112、S113で設定されるもので、前回のIGオン中のISO新制御プログラム39へのリプロ要求に対して、第1バンク33および第2バンク34の更新が完了していることを示す。
【0095】
よって、ステップS101は、第1コントローラ31が、前回のIGオン中のリプロ要求に対して、第1バンク33および第2バンク34のISO制御プログラム38がISO新制御プログラム39に更新されているか否かを判定しているともいえる。ここでのIGオン中とは、例えば、車両の走行中のことである。
【0096】
第1コントローラ31は、更新完了フラグF1,F2が共に立っていると判定した場合(ステップS101,Yes)、自動運転禁止解除通知を自動運転制御装置71に送信する(ステップS102)。
【0097】
すなわち、第1コントローラ31は、前回のIGオン中のリプロ要求に対して、第1バンク33および第2バンク34のISO制御プログラム38がISO新制御プログラム39に更新されている場合、自動運転禁止解除通知を自動運転制御装置71に送信する。このとき、第1コントローラ31は、更新完了フラグF1,F2をクリアする。そして、第1コントローラ31は、処理をステップS103へ移す。
【0098】
第1コントローラ31は、更新完了フラグF1,F2が共に立っていないと判定した場合(ステップS101,No)、今回の走行中にセントラルECU6からリプロ要求があるか否かを判定する(ステップS103)。すなわち、第1コントローラ31は、前回の走行中にISO新制御プログラム39へのリプロ要求がなかった場合、今回の走行中にセントラルECU6からリプロ要求があるか否かを判定する。
【0099】
第1コントローラ31は、リプロ要求がないと判定した場合(ステップS103,No)、処理をステップS109へ移す。第1コントローラ31は、リプロ要求があると判定した場合(ステップS103,Yes)、自動運転中か否かを判定する(ステップS104)。第1コントローラ31は、自動運転中でないと判定した場合(ステップS104,No)、リプロに関する情報をユーザに通知する(ステップS105)。
【0100】
例えば、第1コントローラ31は、「これからリプロを開始します。自動運転を開始するためには、一度IGをオフし、その後、IGをオンする必要があります。」というメッセージを通知装置72によってユーザへ通知する。また、第1コントローラ31は、例えば、「リプロ完了まで、あとT分です。リプロが完了するまでIGをオフしないでください。」というメッセージを通知装置72によってユーザへ通知する。
【0101】
続いて、第1コントローラ31は、自動運転禁止通知を自動運転制御装置71に送信する(ステップS106)。そして、第1コントローラ31は、第2コントローラ32の動作を停止させる(ステップS107)。その後、第1コントローラ31は、第2バンク34のリプロを行う(ステップS108)。
【0102】
具体的には、第1コントローラ31は、セントラルECU6からISO新制御プログラム39を受信する。そして、第1コントローラ31は、第2バンク34のISO制御プログラム38をISO新制御プログラム39に更新し、第2バンク34に対する更新完了フラグF2を立てる。
【0103】
一方、第1コントローラ31は、ステップS104で自動運転中と判定した場合(ステップS104,Yes)、処理をステップS109へ移す。これにより、自動運転中にリプロ要求があった場合、第1コントローラ31は、ステップS105~S108の処理を行わないため、第2コントローラ32を停止させることがなく、自動運転中に第1接続装置41の制御の冗長化が可能となる。
【0104】
その後、第1コントローラ31は、IGがオフされたか否かを判定する(ステップS109)。第1コントローラ31は、IGがオフされていないと判定した場合(ステップS109,No)、処理をステップS103へ移す。
【0105】
第1コントローラ31は、IGがオフされたと判定した場合(ステップS109,Yes)、新制御プログラムがあるか否かを判定する(ステップS110)。このとき、第1コントローラ31は、セントラルECU6と通信する。そして、第1コントローラ31は、セントラルECU6にISO新制御プログラム39を記憶しているか否かを確認する。
【0106】
第1コントローラは、セントラルECU6がISO新制御プログラム39を記憶していない場合に、新制御プログラムなしと判定し(ステップS110,No)、処理を終了する。第1コントローラ31は、セントラルECU6がISO新制御プログラム39を記憶している場合に、新制御プログラムありと判定する(ステップS110,Yes)。
【0107】
そして、第1コントローラ31は、第2バンク34の更新完了フラグF2が立っているか否かに基づいて、第2バンク34をリプロ済みか否かを判定する(ステップS111)。第2バンク34のISO制御プログラム38がISO新制御プログラム39に更新されていなければ、つまり、更新完了フラグF2が立っていなければ、第2バンク34をリプロ済みでないと判定する(ステップS111,No)。
【0108】
第1コントローラ31は、前述のステップS104でYesと判定した場合、つまり、自動運転中にリプロ要求ありの場合に、第2バンク34をリプロ済みでないと判定することになる。
【0109】
そして、第1コントローラ31は、第2バンク34のリプロを行い(ステップS112)、更新完了フラグF2を立てる。このように、第1コントローラ31は、自動運転中にリプロ要求を受信した場合、このタイミングで、すなわちIGがオフになった車両の非起動時に第2バンク34のリプロを行う。
【0110】
具体的には、第1コントローラ31は、セントラルECU6からISO新制御プログラム39を受信する。そして、第1コントローラ31は、第2バンク34のISO制御プログラム38をISO新制御プログラム39に更新する。
【0111】
第1コントローラ31は、第2バンク34のISO制御プログラム38がISO新制御プログラム39に更新されていれば、つまり、更新完了フラグF2が立っていれば、第2バンク34をリプロ済みと判定する(ステップS111,Yes)。そして、第1コントローラ31は、第2バンク34のISO新制御プログラム39を第1バンク33へコピーし(ステップS113)、更新完了フラグF1を立てる。つまり、第1コントローラ31は、第1バンク33のISO制御プログラム38をISO新制御プログラム39に更新する。その後、第1コントローラ31は、処理を終了する。
【0112】
[5.制御装置が実行する処理の変形例]
次に、制御装置3が実行する処理の変形例について、
図6を参照して説明する。
図6は、実施形態に係る制御装置が実行する処理の変形例を示すフローチャートである。
【0113】
制御装置3は、変形例に係る処理を実行する場合、車両のIGがオンされると、
図6に示す処理を開始する。
図6に示すように、例えば、制御装置3の第1コントローラ31は、IGがオンされると、まず、第1バンク33に対する更新完了フラグF1および第2バンク34に対する更新完了フラグF2が立っているか否かを判定する(ステップS201)。第1コントローラ31は、第1バンク33および第2バンク34のISO制御プログラム38がISO新制御プログラム39に更新されているか否かを判定する。
【0114】
更新完了フラグF1,F2は、後述するステップS209、S213、S214で設定されるもので、前回のIGオン中のISO新制御プログラム39へのリプロ要求に対して、第1バンク33および第2バンク34の更新が完了していることを示す。
【0115】
よって、ステップS201は、第1コントローラ31が、前回のIGオン中のリプロ要求に対して、第1バンク33および第2バンク34のISO制御プログラム38がISO新制御プログラム39に更新されているか否かを判定しているともいえる。ここでのIGオン中とは、例えば、車両の走行中のことである。
【0116】
第1コントローラ31は、更新完了フラグF1,F2が共に立っていると判定した場合(ステップS201,Yes)、自動運転禁止解除通知を自動運転制御装置71に送信する(ステップS202)。
【0117】
すなわち、第1コントローラ31は、前回のIGオン中のリプロ要求に対して、第1バンク33および第2バンク34のISO制御プログラム38がISO新制御プログラム39に更新されている場合、自動運転禁止解除通知を自動運転制御装置71に送信する。このとき、第1コントローラ31は、更新完了フラグF1,F2をクリアする。そして、第1コントローラ31は、処理をステップS203へ移す。
【0118】
第1コントローラ31は、更新完了フラグF1,F2が共に立っていないと判定した場合(ステップS201,No)、今回の走行中にセントラルECU6からリプロ要求があるか否かを判定する(ステップS203)。すなわち、第1コントローラ31は、前回の走行中にISO新制御プログラム39へのリプロ要求がなかった場合、今回の走行中にセントラルECU6からリプロ要求があるか否かを判定する。
【0119】
第1コントローラ31は、リプロ要求がないと判定した場合(ステップS203,No)、処理をステップS210へ移す。第1コントローラ31は、リプロ要求があると判定した場合(ステップS203,Yes)、自動運転中か否かを判定する(ステップS204)。第1コントローラ31は、自動運転中でないと判定した場合(ステップS204,No)、リプロに関する情報をユーザに通知する(ステップS205)。
【0120】
例えば、第1コントローラ31は、「新ソフトをダウンロードしますか?ダウンロードに要する時間はT分です。停車しIGをオンするまで自動運転はできません。ダウンロードを許可する場合は、許可ボタンの押下をお願いします。」というメッセージを通知装置72によってユーザへ通知する。
【0121】
また、第1コントローラ31は、例えば、「新たな制御プログラムを利用可能です。制御プログラムの更新を開始してもよろしいですか?」というメッセージを通知装置72によってユーザへ通知してもよい。つまり、第1コントローラ31は、リプロの許可をユーザに要求する。
【0122】
続いて、第1コントローラ31は、リプロがOKか否かを判定する(ステップS206)。具体的には、第1コントローラ31は、ユーザによってリプロが拒否された場合、リプロがNGであると判定する(ステップS206,No)。この場合、第1コントローラ31は、処理をステップS210へ移す。
【0123】
第1コントローラ31は、ユーザによってリプロが許可された場合、リプロがOKと判定する(ステップS206,Yes)。この場合、第1コントローラ31は、自動運転禁止通知を自動運転制御装置71に送信する(ステップS207)。
【0124】
そして、第1コントローラ31は、第2コントローラ32の動作を停止させる(ステップS208)。その後、第1コントローラ31は、第2バンク34のリプロを行う(ステップS209)。
【0125】
具体的には、第1コントローラ31は、セントラルECU6からISO新制御プログラム39を受信する。そして、第1コントローラ31は、第2バンク34のISO制御プログラム38をISO新制御プログラム39に更新し、第2バンク34に対する更新完了フラグF2を立てる。
【0126】
一方、第1コントローラ31は、ステップS204で自動運転中と判定した場合(ステップS204,Yes)、処理をステップS210へ移す。これにより、自動運転中にリプロ要求があった場合、第1コントローラ31は、ステップS205~S209の処理を行わないため、第2コントローラ32を停止させることがなく、自動運転中に第1接続装置41の制御の冗長化が可能となる。
【0127】
その後、第1コントローラ31は、IGがオフされたか否かを判定する(ステップS210)。第1コントローラ31は、IGがオフされていないと判定した場合(ステップS210,No)、処理をステップS203へ移す。
【0128】
第1コントローラ31は、IGがオフされたと判定した場合(ステップS210,Yes)、新制御プログラムがあるか否かを判定する(ステップS211)。このとき、第1コントローラ31は、セントラルECU6と通信する。そして、第1コントローラ31は、セントラルECU6にISO新制御プログラム39を記憶しているか否かを確認する。
【0129】
第1コントローラは、セントラルECU6がISO新制御プログラム39を記憶していない場合に、新制御プログラムなしと判定し(ステップS211,No)、処理を終了する。第1コントローラ31は、セントラルECU6がISO新制御プログラム39を記憶している場合に、新制御プログラムありと判定する(ステップS211,Yes)。
【0130】
そして、第1コントローラ31は、第2バンク34の更新完了フラグF2が立っているか否かに基づいて、第2バンク34をリプロ済みか否かを判定する(ステップS212)。第2バンク34のISO制御プログラム38がISO新制御プログラム39に更新されていなければ、つまり、更新完了フラグF2が立っていなければ、第2バンク34をリプロ済みでないと判定する(ステップS212,No)。
【0131】
第1コントローラ31は、前述のステップ204でYesと判定した場合、つまり、自動運転中にリプロ要求ありの場合に、第2バンク34をリプロ済みでないと判定することになる。
【0132】
そして、第1コントローラ31は、第2バンク34のリプロを行い(ステップS213)、更新完了フラグF2を立てる。このように、第1コントローラ31は、自動運転中にリプロ要求を受信した場合、このタイミングで、すなわちIGがオフになった車両の非起動時に第2バンク34のリプロを行う。
【0133】
具体的には、第1コントローラ31は、セントラルECU6からISO新制御プログラム39を受信する。そして、第1コントローラ31は、第2バンク34のISO制御プログラム38をISO新制御プログラム39に更新する。
【0134】
第1コントローラ31は、第2バンク34のISO制御プログラム38がISO新制御プログラム39に更新されていれば、つまり、更新完了フラグF2が立っていれば、第2バンク34をリプロ済みと判定する(ステップS212,Yes)。
【0135】
そして、第1コントローラ31は、第2バンク34のISO新制御プログラム39を第1バンク33へコピーし(ステップS214)、更新完了フラグF1を立てる。つまり、第1コントローラ31は、第1バンク33のISO制御プログラム38をISO新制御プログラム39に更新する。その後、第1コントローラ31は、処理を終了する。
【0136】
なお、上述した実施形態では、第1コントローラ31が走行中にリプロ要求を受信した場合に、第2コントローラ32の動作を停止させて、第2バンク34をリプロする場合について説明したが、これは一例である。制御装置3は、例えば、第2コントローラ32が走行中にリプロ要求を受信した場合に、第1コントローラ31の動作を停止させて、第1バンク33をリプロしてもよい。
【0137】
また、制御装置3は、セントラルECU6を含んでもよい。この場合、セントラルECU6は、ISO新制御プログラム39を受信した場合に、第1コントローラ31および第2コントローラ32のいずれか一方の動作を停止させ、他方の動作を継続させる。そして、セントラルECU6は、動作を停止させた方のコントローラによって実行される制御プログラムを更新する。
【0138】
また、セントラルECU6は、ユーザによってリプロが許可された場合に、第1コントローラ31および第2コントローラ32のいずれか一方の動作を停止させてもよい。そして、セントラルECU6は、動作を停止させた方のコントローラによって実行される制御プログラムを更新してもよい。
【0139】
[6.付記]
付記として、本発明の特徴を以下の通り示す。
(1)
第1電源の電力を第1負荷に供給する第1系統と、第2電源の電力を第2負荷に供給する第2系統とを接続および切断可能な接続装置を、制御プログラムを実行することによって制御する複数のコントローラを備え、
一部の前記コントローラは、自動運転が可能な車両の走行中に前記制御プログラムを更新する場合、前記車両の自動運転を禁止し、他の前記コントローラの動作を停止させ、前記他のコントローラによって実行される前記制御プログラムを更新する、
制御装置。
(2)
前記一部のコントローラは、前記車両の走行中に新たな前記制御プログラムを受信した場合、前記他のコントローラによって実行される前記制御プログラムを更新し、前記車両が非起動状態の期間に前記一部のコントローラによって実行される前記制御プログラムを更新する、
前記(1)に記載の制御装置。
(3)
前記一部のコントローラは、自動運転中でない場合に他のコントローラによって実行される前記制御プログラムを更新し、自動運転中である場合は他のコントローラによって実行される前記制御プログラムを更新せず、前記車両が非起動状態の期間に前記他のコントローラによって実行される前記制御プログラムを更新する
(2)に記載の制御装置。
(4)
前記一部のコントローラは、前記制御プログラムを更新することと、前記車両の自動運転を開始するためには前記車両の再起動が必要であることとをユーザに通知する、
前記(2)または(3)に記載の制御装置。
(5)
前記一部のコントローラは、前記制御プログラムの更新に要する時間と、前記制御プログラムの更新が完了するまで前記車両の起動状態を継続させることとをユーザに通知する、
前記(2)から(4)のいずれか一つに記載の制御装置。
(6)
前記一部のコントローラは、前記車両の走行中に新たな前記制御プログラムを受信した場合、ユーザに前記制御プログラムの更新の許可を要求し、前記更新が許可された場合、前記他のコントローラによって実行される前記制御プログラムを更新する、
前記(1)に記載の制御装置。
(7)
前記一部のコントローラは、前記更新が許可されない場合、前記車両が非起動状態の期間に前記他のコントローラによって実行される前記制御プログラムを更新する、
前記(6)に記載の制御装置。
(8)
前記一部のコントローラは、前記制御プログラムの更新に要する時間をユーザに通知する、
前記(6)または(7)に記載の制御装置。
(9)
前記複数のコントローラ毎に設けられ、各前記コントローラによって実行される前記制御プログラムを記憶する記憶部を備える、
前記(1)から(8)のいずれか一つに記載の制御装置。
(10)
第1電源の電力を第1負荷に供給する第1系統と、第2電源の電力を第2負荷に供給する第2系統とを接続および切断可能な接続装置を、制御プログラムを実行することによって制御する複数のコントローラのうち、一部の前記コントローラが、
自動運転が可能な車両の走行中に前記制御プログラムを更新する場合、前記車両の自動運転を禁止し、他の前記コントローラの動作を停止させ、前記他のコントローラによって実行される前記制御プログラムを更新する、
制御方法。
【0140】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0141】
1 電源制御装置
3 制御装置
10 第1電源
12 発電機
20 第2電源
31 第1コントローラ
32 第2コントローラ
33 第1バンク
34 第2バンク
35 第1I/Oポート
36 第2I/Oポート
37 リプロプログラム
38 ISO制御プログラム
39 ISO新制御プログラム
41 第1接続装置
42 第2接続装置
43 第3接続装置
44 第4接続装置
45 第5接続装置
46 第6接続装置
47 第7接続装置
48 第8接続装置
51 第1電圧センサ
52 第2電圧センサ
6 セントラルECU
61 RAM
71 自動運転制御装置
72 通知装置
101 第1一般負荷
102 FOP負荷
103 第2一般負荷
104 第3一般負荷
105 第4一般負荷
110 第1系統
120 第2系統
200 通信ネットワーク
201 プログラム提供装置