(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】二次電池の内部抵抗の推定方法及び二次電池の異常検知システム
(51)【国際特許分類】
G01R 31/389 20190101AFI20240709BHJP
G01R 31/367 20190101ALI20240709BHJP
G01R 31/392 20190101ALI20240709BHJP
G01R 31/382 20190101ALI20240709BHJP
G01R 31/385 20190101ALI20240709BHJP
H01M 10/44 20060101ALI20240709BHJP
H01M 10/48 20060101ALI20240709BHJP
【FI】
G01R31/389
G01R31/367
G01R31/392
G01R31/382
G01R31/385
H01M10/44 Q
H01M10/48 P
H01M10/48 301
(21)【出願番号】P 2021523123
(86)(22)【出願日】2020-05-15
(86)【国際出願番号】 IB2020054599
(87)【国際公開番号】W WO2020240324
(87)【国際公開日】2020-12-03
【審査請求日】2023-05-11
(31)【優先権主張番号】P 2019097257
(32)【優先日】2019-05-24
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000153878
【氏名又は名称】株式会社半導体エネルギー研究所
(72)【発明者】
【氏名】斉藤 丞
(72)【発明者】
【氏名】三上 真弓
【審査官】島▲崎▼ 純一
(56)【参考文献】
【文献】特開2001-228222(JP,A)
【文献】特開2001-233065(JP,A)
【文献】国際公開第2019/053557(WO,A1)
【文献】米国特許出願公開第2018/0203070(US,A1)
【文献】特開2009-146843(JP,A)
【文献】特開2017-112648(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01R 31/389
G01R 31/367
G01R 31/392
G01R 31/382
G01R 31/385
H01M 10/44
H01M 10/48
(57)【特許請求の範囲】
【請求項1】
二次電池と、前記二次電池の内部抵抗を推定するニューラルネットワーク部と、前記二次電池に充電を行う充電回路と、前記二次電池に回生充電を行う回生ブレーキと、を少なくとも有する電動車両の運転時に、
運転手がブレーキを作動させることにより前記二次電池に回生充電が開始され、前記電動車両が停止して充電も停止している間の前記二次電池のデータを抽出し、
学習済の前記ニューラルネットワーク部に前記二次電池のデータを入力し、推定された前記二次電池の内部抵抗が出力される推定方法であり、
前記二次電池のデータは、前記回生充電の終了時間の前後のある時間範囲に限定されたデータであ
り、
前記回生充電の終了時間の前後のある時間範囲は、回生充電中の終了前の時点から終了時点を経過し、休止中の時点を含む二次電池の内部抵抗の推定方法。
【請求項2】
請求項
1において、前記ニューラルネットワーク部に学習させたデータ及び前記二次電池のデータは、温度、電圧、電力、電流、休止後電圧から選ばれる一つまたは複数を用いる二次電池の内部抵抗の推定方法。
【請求項3】
二次電池と、前記二次電池の内部抵抗を推定するニューラルネットワーク部と、前記二次電池に充電を行う充電回路と、前記二次電池に回生充電を行う回生ブレーキと、を少なくとも有する電動車両の運転時に、
運転手がブレーキを作動させることにより前記二次電池に回生充電が開始され、
前記電動車両が停止して充電も停止している間の前記二次電池のデータを抽出し、
学習済の前記ニューラルネットワーク部に前記二次電池のデータを入力し、推定された前記二次電池の内部抵抗が出力され、
前記推定された内部抵抗の値に基づいて、予めメモリに記憶された基準値と比較して異常検知を行う二次電池の異常検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一様態は、物、方法、又は、製造方法に関する。または、本発明は、プロセス、マシン、マニュファクチャ、又は、組成物(コンポジション・オブ・マター)に関する。本発明の一態様は、半導体装置、表示装置、発光装置、蓄電装置、照明装置、電子機器またはそれらの製造方法に関する。また、本発明の一様態は、蓄電装置の充電状態推定方法、蓄電装置の充電状態推定システム、及び異常検知方法に関する。特に、蓄電装置の充電状態推定システム、および蓄電装置の異常検知システムに関する。
【0002】
なお、本明細書中において、蓄電装置とは、蓄電機能を有する素子及び装置全般を指すものである。例えば、リチウムイオン二次電池などの蓄電池(二次電池ともいう)、リチウムイオンキャパシタ、ニッケル水素電池、全固体電池、及び電気二重層キャパシタなどを含む。
【0003】
また、本発明の一態様は、ニューラルネットワーク、及びそれを用いた蓄電装置の異常検知システムに関する。また、本発明の一態様は、ニューラルネットワークを用いた車両に関する。また、本発明の一態様は、ニューラルネットワークを用いた電子機器に関する。また、本発明の一態様は、車両に限定されず、構造体などに設置された太陽光発電パネルなどの発電設備から得られた電力を貯蔵するための蓄電装置にも適用でき、設備異常検知システムに関する。
【背景技術】
【0004】
二次電池の状態を知るための特性値として、内部抵抗がある。内部抵抗は、SOC(State Of Charge)によっても異なる。そのため、内部抵抗の値からSOCを推測できる可能性がある。二次電池の充放電を繰り返すことで負極表面の被膜が厚くなるなどによって、内部抵抗が増大することが知られている。二次電池の内部抵抗を算出できれば、その内部抵抗に基づいて二次電池の劣化の程度が判定できる。内部抵抗は一定の条件で充放電を行わないと正確に測定することは困難である。
【0005】
近年、人工ニューラルネットワーク(以下、ニューラルネットワークと呼ぶ)などの機械学習技術の開発が盛んに行われている。
【0006】
特許文献1には、二次電池の残存容量の演算に、ニューラルネットワークを用いる一例が示されている。
【先行技術文献】
【特許文献】
【0007】
【文献】米国特許公開第2006/0181245号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
二次電池を搭載した車両は、ブレーキ時などで生じる回生電力を二次電池に充電(回生充電とも呼ぶ)することができ、過充電により二次電池が適切に使用できなくなる恐れがある。過充電や過放電の問題を事前に発生しないようにするため二次電池の残量、即ち二次電池のSOCを高い精度で推定することが求められている。推定精度の高い二次電池の充電状態推定方法または蓄電装置制御方法を提供する。
【0009】
通常、二次電池を搭載した電気自動車の実使用時、即ち走行時または一時停止時に残量を確認する。従来では、二次電池の電圧か、放電電流の積算で行う。この手法では電池の劣化度合いを考慮しないと、実際の残量とのずれが生じる。従って、二次電池の充放電を繰り返すとずれが大きくなり、高精度に残量を確認することが困難である。
【0010】
二次電池を搭載した電気自動車の欠点は、二次電池の劣化があるため、残量を正確に知ることが困難であり、残量ゼロに何時なるか予測することが困難な点である。現状では、満充電時での走行距離がおおまかに表示され、残量が少なくなると警告表示のみが表示され、走行可能距離の表示がなされない場合がある。
【0011】
二次電池が劣化しても高精度に内部抵抗を推定することを課題の一つとする。内部抵抗を基に二次電池の残量などの状態を低コスト、且つ、高精度に解析することも課題の一つとする。
【0012】
また、大幅に内部抵抗が変化することを異常とみなし、異常検知することも課題の一つとする。
【0013】
ニューラルネットワークを用いる場合、用いるアルゴリズム、データの種類、量などによって出力される値が変動するため、多い蓄積データを用いれば用いるほど正確な値が算出できるというものではない。
【0014】
二次電池を搭載した電気自動車の実使用時、例えば、走行中または一時停止中のような運航状態において得られるデータから、内部抵抗を推定することも課題の一つとする。
【課題を解決するための手段】
【0015】
二次電池が劣化しても高精度に内部抵抗を推定するために、二次電池の内部抵抗の推定装置を車両に搭載する。
【0016】
推定装置は、予め取得した学習データ及び学習モデルに基づいて、二次電池の内部抵抗を推定する。推定装置は、少なくともデータ処理部と記憶部とを有する。データ処理部は、CPU(Central Processing Unit)、ROM、RAMなどを有し、CPUは、記憶部またはROMから処理内容に応じたプログラムを読みだしてRAMに展開し、展開したプログラムを実行することにより、所定の処理を実行する。
【0017】
また、上記推定のニューラルネットワーク処理を行うための推論用プログラムを実行するソフトウェアのプログラムは、Python、Go、Perl、Ruby、Prolog、Visual Basic、C、C++、Swift、Java(登録商標)、.NETなどの各種プログラミング言語で記述できる。また、アプリケーションをChainer(Pythonで利用できる)、Caffe(PythonおよびC++で利用できる)、TensorFlow(C、C++、およびPythonで利用できる)等のフレームワークを使用して作成してもよい。
【0018】
少なくともPythonのソフトを実行する動作環境とする。CPUに代えてGPU(Graphics Processing Unit)、PMU(Power Management Unit)などと統合した一つのICチップを用いてもよい。また、CPUとGPUを一つに統合したチップをAPU(Accelerated Processing Unit)と呼ぶこともあり、このAPUチップを用いることもできる。また、FPGA(field-programmable gate array)を用いてもよい。
【0019】
推定装置は、できるだけ少ないデータ量を用いて推定を行い、精度の高い推定値を出力することが望まれる。データ量が少なければ、蓄積する学習用のデータを少なくすることができるためそれらを収納するためのメモリ容量を小さくすることができる。また、データ量が少なければ演算処理に要する時間も短くすることができる。
【0020】
推定装置において、処理は学習を行う第1の段階と、推定を行う第2の段階とに区別して実行される。
【0021】
学習や推定を行うためのデータは、回生充電の終了時間の前後のある時間範囲に限定されたデータ群(回生充電ありのデータとも呼ぶ)とする。このように限定された範囲のデータを抽出して用いて学習を行い、推定することで高精度、具体的には平均誤差率1%以下の内部抵抗の値を出力することができる。このような学習モデルを構築することは、学習段階(学習フェーズ)を指している。
【0022】
第1の段階では、回生充電ありのデータを取得してから、それらのデータを基に学習モデルを構成する。そのため、車両が走行して減速(または停止)する際に回生充電を行った後、回生充電停止から休止している約数分間の間にデータ取得する。このデータは、回生充電の終了時間の前後のある時間範囲で取得されたものである。学習データのために、推定しようとしている車両の二次電池と同種類の二次電池を用いて温度の異なる条件、劣化度の異なる二次電池を用いた場合のデータを予め取得する。
【0023】
その後は、第2段階となり、走行中に回生充電が行われる際のデータ(回生充電の終了時間の前後のある時間範囲で取得されたデータ)を取得し、プログラムを実行することで、一時停止などを含む運転中に内部抵抗を高精度に出力でき、さらに、その内部抵抗に基づき、残量、劣化度などを判定でき、加えて、内部抵抗の大幅な変化が見られた場合には異常とみなす異常検知もできるシステムを構築することもできる。また、学習モデルを用いた学習結果を用いて内部抵抗を得ることは判断段階(判断フェーズ)を指している。車両などにおいて学習段階と判断段階の両方を実装してもよいが、予め学習結果を得ておき、少なくとも判断段階を車両に搭載することで、運転者は内部抵抗を得ることができる。また、走行中のデータを学習パラメータとして用いる場合、学習段階と判断段階の両方を車両に実装することで、運転者は、走行中により正確な残量、劣化度などを判定でき、加えて、内部抵抗の大幅な変化が見られた場合には異常とみなす異常検知もできる。二次電池の残容量の算出は、二次電池の充電終了後または二次電池の放電中(具体的には車両の走行中)に適宜行うことができる。
【0024】
比較のため、回生充電なしのデータ、即ち休止のみのデータを用いた場合、精度が落ちる結果となった。
【0025】
回生充電の終了時間の前後のある時間範囲で取得されたデータを回生充電ありのデータと呼び、その回生充電ありのデータを学習データまたは収集データとすることで、内部抵抗の高精度な検出を可能とすることができる。
【0026】
回生充電は、駆動モータへの負荷を電力に変換してリチウムイオン二次電池に充電を行うことを指している。
【0027】
回生充電の終了時間の前後のある時間範囲で取得されたデータを利用することで高精度の推定を行うことができることを発明者らは見出した。これらのデータを蓄積し、学習させたニューラルネットワーク部で推論させることで、内部抵抗の推定が可能である。例えば、走行後一時停止した後に二次電池の内部抵抗の診断結果を運転者が確認できる。回生充電は減速または停止時に行われるため、通常の走行時または一時停止時にデータを取得することができ、推定が可能である。
【0028】
また、意図的に回生充電と休止を行ってもよい。その場合には、別途、回生充電ありのデータを取得するための回生充電制御回路を有してもよい。その場合、この回生充電制御回路はサンプリング回路とも呼べる。データ取得するタイミングで短時間の回生充電を行った後、充電停止し、充電停止したまま放置(休止とも呼ぶ)を1分間行い、回生充電開始から休止終了までのデータを取得する。即ち、減速により回生充電ができる期間を一時的にカットする。または、回生充電を一時的に終了させる制御を行ってもよい。これらの処理は、内部抵抗を推定するために行われ、回生充電を一時的に停止し、短時間の充電停止期間のデータを用いることで高精度の推定値を得るものである。
【0029】
また、充電停止期間中は、急激な放電でなければある程度の放電があっても推定値に影響がほとんどない。即ち、充電停止期間中に、車両での表示器やヘッドライトの点灯での電流消費があってもよく、充電停止期間とは、充電処理の停止であって二次電池の使用停止を意味するものではない。
【0030】
データ取得するタイミングは一時停止毎に行う、または車両の運転者が残量などを知りたい時に入力ボタン(物理ボタンまたは表示パネルのタッチ入力ボタン)を押すタイミングとする。走行中に入力ボタンを押した場合においては、前に一時停止した時の二次電池の内部抵抗値が表示されることとなる。
【0031】
本明細書で開示する発明の構成は、二次電池と、二次電池の内部抵抗を推定するニューラルネットワーク部と、二次電池に充電を行う充電回路と、二次電池に回生充電を行う回生ブレーキと、を少なくとも有する電動車両の運転時に、運転手がブレーキを作動させることにより二次電池に回生充電が開始され、電動車両が停止して充電も停止している間の二次電池のデータを抽出し、学習済のニューラルネットワーク部に二次電池のデータを入力し、推定された二次電池の内部抵抗が出力される推定方法であり、二次電池のデータは、回生充電の終了時間の前後のある時間範囲に限定されたデータである二次電池の内部抵抗の推定方法である。
【0032】
上記構成において、回生充電の終了時間の前後のある時間範囲は、回生充電中の終了前の時点から終了時点を経過し、休止中の時点を含む。この時間範囲が短ければ短いほどデータ量を少なくすることができるが、少なすぎると推定値の精度が低下する恐れがある。上記時間範囲の好ましい時間は、約数分間、さらに好ましくは約1分とする。ただし、この時間は、電池の種類、個数や、回生充電の大きさにも左右される場合がある。
【0033】
また、上記構成において、ニューラルネットワーク部に学習させたデータ及び二次電池のデータは、温度、電圧、電力、電流、休止後電圧から選ばれる一つまたは複数を用いる。
【0034】
また、推定された内部抵抗に基づいて、二次電池の異常を検出することも本発明の一つである。二次電池の異常検知方法についての発明の構成は、二次電池と、二次電池の内部抵抗を推定するニューラルネットワーク部と、二次電池に充電を行う充電回路と、二次電池に回生充電を行う回生ブレーキと、を少なくとも有する電動車両の運転時に、運転手がブレーキを作動させることにより二次電池に回生充電が開始され、電動車両が停止して充電も停止している間の二次電池のデータを抽出し、学習済のニューラルネットワーク部に二次電池のデータを入力し、推定された二次電池の内部抵抗が出力され、推定された内部抵抗の値に基づいて、予めメモリに記憶された基準値と比較して異常検知を行う二次電池の異常検知方法である。
【0035】
電動車両において、効率よく内部抵抗を推定するために回生充電を用いる構成としているが、推定のために用いる充電は特に限定されず、推定のための充電装置を別途設けてもよいし、エンジン始動時に用いるクランキングバッテリー(スターターバッテリーとも呼ばれる)からの充電を用いてもよい。データ取得するタイミングでクランキングバッテリーから短時間の充電をリチウムイオン二次電池に行った後、充電停止を1分間行い、データを取得する。この場合、予め決められた充電電圧、充電電流、及び充電時間で短時間の充電をリチウムイオン二次電池に行うことができ、運転開始直後にも内部抵抗の推定を行うこともできる。
【0036】
内部抵抗は一定の条件で充放電を行わないと正確に測定することが困難である。しかし、電気自動車などで、バッテリー内部抵抗の測定だけを目的に静的な状態でテスト充放電を行うのは、現実的でない。温度や充放電電流などの条件が多少変動しても、内部抵抗を正しく算出するために、機械学習を用いる上述の手段を用いることで、走行中に一時停止すれば高精度に内部抵抗を推定することができる。
【0037】
予め固定した充電条件及び休止条件でのサンプリングを二次電池に対して行うことで、それらのデータの蓄積、及びそれらのデータに基づいたニューラルネットワーク部を用いての内部抵抗の推定が可能となる。予め複数回のサンプリング処理を行い、それらのデータを学習させ、走行中にサンプリング期間を設けてサンプリング処理を行い、データ取得する。
【0038】
内部抵抗を推定することで、二次電池の劣化診断を行うこともでき、残寿命を予測することもできる。
【発明の効果】
【0039】
膨大なデータを用いなくとも、内部抵抗の高精度な検出が可能である。従って、演算処理も短縮することができる。また、推定に用いるハードウエアも比較的小規模とすることができる。従って、推定装置を電動車両などの車両に搭載することが可能である。
【図面の簡単な説明】
【0040】
図1は本発明の一態様を示すブロック図である。
図2は本発明の一態様を示すフローチャートである。
図3は本発明の一態様を示すフローチャートである。
図4は本発明の一態様を示すフローチャートである。
図5は本発明の一態様を示す推定に用いるデータの一例を示すグラフである。
図6は本発明の一態様に用いるメモリに記録されたソースコードを含むプログラムの記録の一例である。
図7は本発明の一態様を示す推定結果と正解データの比較結果を示すグラフである。
図8は比較例を示す推定に用いるデータの一例を示すグラフである。
【発明を実施するための形態】
【0041】
以下では、本発明の実施の形態について図面を用いて詳細に説明する。ただし、本発明は以下の説明に限定されず、その形態および詳細を様々に変更し得ることは、当業者であれば容易に理解される。また、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。
【0042】
(実施の形態1)
電気自動車などの電動車両に搭載する推定装置100の構成の一例を
図1に示すブロック図を参照して説明する。
【0043】
推定装置100は、二次電池101の内部抵抗を推定するための装置である。
【0044】
二次電池101の内部抵抗は、温度依存性を有するため、温度センサ105でモニターする。
【0045】
二次電池101は、複数の二次電池を直列接続または並列接続して保護回路を設け、電池パック(組電池ともよぶ)として使用される。電池パックとは、二次電池101の取り扱いを容易にするため、複数個の二次電池を、所定の回路と共に容器(金属缶、フィルム外装体)内部に収納したものを指す。電池パックは、動作状態を管理するために、ECU(Electronic Control Unit)が設けられる。
【0046】
図1においてECUは、充電制御回路102、電流計103、電圧計104を少なくとも含む。また、ECUにニューラルネットワーク部106を含む構成としてもよい。また、運転支援システム150のためのECUを別途設けてもよいし、一つにまとめてもよい。
【0047】
充電制御回路102には、回生充電のための発電機が接続されているが、ここでは図示しない。回生充電は、車両の運転時のフットブレーキ操作があった場合の回生発電を伴う回生制動時に二次電池に充電されることを指している。また、フットブレーキ操作がない場合でもアクセルをかけずに減速することで交流モータに回生発電させることでも回生充電が行われる。
【0048】
ニューラルネットワーク部106は、ソフトウェア演算を行うマイクロコントローラにより実現される。マイクロコントローラは、コンピュータシステムを一つの集積回路(IC)に組み込んだものである。演算規模や扱うデータが大きい場合には複数のICを組み合わせてニューラルネットワーク部106を構成してもよい。また、Linux(登録商標)を搭載したマイクロコントローラであればフリーのソフトウェアを用いることができるため、ニューラルネットワーク部106を構成するためのトータルのコストを低減することができるため好ましい。また、Linux(登録商標)に限定されず、他のOS(オペレーティングシステム)を用いてもよい。
【0049】
図1に示すニューラルネットワーク部106の学習について以下に示す。
【0050】
Linux(登録商標)の動作環境下にてPythonを用いてプログラムを作成する。プログラムはメモリに記録し、マイクロコントローラが実行する。本実施の形態では、Pandasのデータフレームを用いる。Pandasは、Pythonを使ったデータ解析に便利な機能を提供しているライブラリである。また、警告制御のための警告フィルタを用いる。一致した警告は出力しない設定とする。また、NumpyのライブラリをPython上で扱うために、Numpyを読み込みする。
図6は、メモリ内に記録されたソースコードを含むプログラムの記録を示している。
【0051】
上述した処理に対応するソースコードは
図6中のIn[1]の行の下に順に示す。
【0052】
次にデータを読み込む。予めデータは取得しておく。
図5にデータの一例を示す。
図5のデータは、回生充電を数秒した後、休止60秒とした場合の電圧と時間の関係を示すグラフである。データ全体のなかから、奇数列をテストデータ、偶数列をトレーニングデータとする。データとしては、データファイル名「X label.csv」のデータを読み込む。
【0053】
上述した処理に対応するソースコードは
図6中のIn[2]の行の下に順に示す。
【0054】
また、データファイル名「x_label.csv」の一部(10行分)を表1として示す。実際には、全部で143行分用意する。温度は、20℃、25℃、30℃の3種類とし、回生充電前の電圧(V)、消費電力(P)、1Cの電流(I)、充電休止後60秒後の電圧(60secV)、60secVと回生充電前の電圧Vの差(DeltaV)、SOH(State Of Health:健全度とも呼ぶ)をそれぞれ時系列的に実測してデータを取得する。なお、SOHは1と0.9の2種類の劣化の進行度が異なる二次電池を用いてデータ取得する。
【0055】
【0056】
続いて、データファイル名「y label.csv」のデータを読み込む。データ全体のなかから、奇数列をテストデータ、偶数列をトレーニングデータとする。
【0057】
上述した処理に対応するソースコードは
図6中のIn[3]の行の下に順に示す。
【0058】
また、データファイル名「y_label.csv」の一部(10行分)を表2として示す。実際には、全部で143行分用意する。
【0059】
【0060】
トレーニングデータと、テストデータを作成するためにPythonの機械学習ライブラリのscikit-learn(Sklearnとも呼ぶ)を用いる。ここでは学習モデルを作成する。
【0061】
上述した処理に対応するソースコードは
図6中のIn[4]の行の下に順に示す。
【0062】
なお、エクストラツリー(ExtraTrees)は、ランダムフォレストの派生形の一つである。ランダムフォレストは、機械学習のアルゴリズムの一つであり、分類、回帰、クラスタリングに用いられる。決定木を弱学習器とする集団学習アルゴリズムである。
【0063】
そして、学習モデルに従って学習を行い、yの予測値を出力する。
【0064】
上述した処理に対応するソースコードは
図6中のIn[5]の行の下に順に示す。
【0065】
なお、
図6中のIn[6]の行の下に順に示したソースコードのプログラムは、データの出力及びセーブの処理を行うものである。
【0066】
図6に示したソースコードのプログラムを用いて内部抵抗の予測値を出力すると、比較的精度の高い値を得ることができる。
【0067】
図6に示したソースコードのプログラムを用い、表1及び表2を含むデータを入力して出力した推定値のグラフを
図7に示す。
図7において、正解内部抵抗はAnswerで示し、予測内部抵抗(推定値)をPredictとして図示している。また、AnswerとPredictの平均誤差率は0.82%と優れた値となった。誤差率は、推定値と正解内部抵抗の差を正解内部抵抗で割った値を百分率としており、そのトータルの平均値が平均誤差率である。
【0068】
また、比較のため、
図5とは異なるデータ、具体的には
図8に示す回生充電のないデータを用いて学習及び推論を行ったところ、平均誤差率は5.97%であった。
【0069】
また、内部抵抗の予測値を出力するのに要する時間は、0.35秒以上0.4秒以下であり、短時間に演算処理を終えることができる。なお、演算処理は、CPUまたはGPUのどちらを用いてもよく、内部抵抗の予測値を出力するのに要する時間はほとんど変わらない。また、上述したPythonプログラムの実行時に必要とする容量は約100MBである。
【0070】
また、演算処理においては積和演算などを用いてもよく、演算の際には一時的にデータを保存するメモリを用いるが、消費電力低減のために酸化物半導体を用いたトランジスタを含むメモリを用いてもよい。本明細書などでは、チャネルが形成される半導体層に酸化物半導体を含むトランジスタを「OSトランジスタ」ともいう。酸化物半導体として、インジウム、元素M(元素Mは、アルミニウム、ガリウム、イットリウム、銅、バナジウム、ベリリウム、ホウ素、チタン、鉄、ニッケル、ゲルマニウム、ジルコニウム、モリブデン、ランタン、セリウム、ネオジム、ハフニウム、タンタル、タングステン、またはマグネシウムなどから選ばれた一種、または複数種)、亜鉛のいずれか一つまたは複数を用いることができる。特に、酸化物半導体は、インジウム、ガリウム、亜鉛を含む酸化物半導体であることが好ましい。OSトランジスタは、オフ電流が極めて少ないという特性を有している。なお、酸化物半導体は、例えば、スパッタリング法、またはALD(Atomic Layer Deposition)法を用いて形成することができる。
【0071】
ニューラルネットワーク部106での推定を終えると、その推定値と基準値とを判定部107で比較して異常検知を行うことができる。基準値は、予め記憶部108にルックアップテーブルなどに収納してあるいくつかの基準値のうち、一つを選択すればよい。ルックアップテーブルに記憶されたデータは、入力に対応する出力を対応づけるデータである。また、そのデータは、複数のパラメータの配列を含み、対比表のデータである。なお、ルックアップテーブルは、数式などの関数を用いて入力に対応する出力を対応づけるものを含む。また、推定値が基準値と比較して差が大きく異常と判定できる場合には、表示部109に異常検知の表示などを行うことは運転支援システム150の構成の一つとすることができる。表示部109は、カーナビゲーション装置の表示部と共通とすることで、地図表示と同時に二次電池の異常警告表示(状態表示、警告表示などを含む)を行うことで運転者に注意を促すことができる。
【0072】
また、本実施の形態では、運転者が操作する車両に関して説明したが、特に限定されず、車両周辺を撮像するカメラやレーダと画像処理などを行うECUとを組み合わせることで、半自動運転を行える車両、或いは全自動運転を行える車両に適用することもできる。
【0073】
(実施の形態2)
本実施の形態では、実施の形態1に示した学習モデル及びプログラムを用いて、劣化状態または残量表示を行うフローを
図2に示す。
【0074】
実施の形態1に示す推定装置を搭載させた電気自動車などの電動車両を起動し、運転を開始する。
【0075】
二次電池の内部抵抗を予測するためのデータを取得する準備を開始し、データ取得開始する(S1)。なお、温度データは、二次電池の周辺の環境温度を温度センサで常時取得しておく。
【0076】
車両の走行または一時停止する際には、アクセルペダルを踏めば放電され、アクセルペダルを踏むことなく減速すれば回生充電される。また、信号機の停止信号に従って一時停止する。車両では目的地に達するまでにこれらの走行または一時停止を複数回行う(S2)。信号機での赤信号などによる停止時間は1分以上2分30秒以下であることがほとんどであるため、赤信号による停止においてデータ取得できる。
【0077】
走行または一時停止の間のいくつかの条件を満たすデータを学習データとすることができる。少なくとも回生充電が行われ、一時停止する期間のデータ取得を行う。予め、回生充電の終了時間の前後のある時間範囲のデータ取得することを決定しておく。まず、回生充電を行う時にデータを取得する(S3)。ここで取得するデータとしては、回生充電前の電圧を測定する。
【0078】
次いで、回生充電後に充電停止し、データを取得する(S4)。ここで取得するデータとしては、回生充電停止から60秒後の電圧を測定する。本実施の形態では、回生充電の終了時間の前後のある時間範囲は約60秒+回生充電時間(少なくとも1秒以上)である。
【0079】
取得したデータを用いて予め学習済の学習モデルで演算を行う(S5)。決定木学習、即ちエクストラツリー(ExtraTrees)のアルゴリズムは、例えば、Sklearnのライブラリの一つを用いることができる。
【0080】
内部抵抗の推定値が出力される(S6)。
【0081】
そして、温度または劣化度に対応する基準値のデータが記憶されているルックアップテーブルのデータと比較する(S7)。
【0082】
ルックアップテーブルのデータの基準値と比較して、対応する劣化状態または残量を表示する(S8)。
【0083】
上記S1からS8を少なくとも繰り返すことで、走行時または一時停止時に二次電池の劣化状態や残量を把握することができる。運転手は、二次電池の残量を確認して、二次電池の残量に基づき、選択した給電スポットに向かうことができる。また、実施の形態1に示した運転支援システムが、これらの情報を基に、目的地または給電スポットへの推奨ルートを運転手に対して提案してもよい。
【0084】
(実施の形態3)
本実施の形態では、実施の形態1に示した学習モデル及びプログラムを用いて、異常検知または異常警告表示を行うフローを
図3に示す。なお、
図2とは共通する部分が多く、同じステップは同じ符号で示す。
図3においてステップS1からステップS6までは同一である。
【0085】
まず、実施の形態1に示す推定装置を搭載させた電気自動車などの電動車両を起動し、運転を開始する。
【0086】
二次電池の内部抵抗を予測するためのデータを取得する準備を開始する(S1)。なお、温度データは環境温度を温度センサで常時取得しておく。
【0087】
車両の走行または一時停止する際には、アクセルペダルを踏めば放電され、アクセルペダルを踏むことなく減速すれば回生充電される。また、信号機の停止信号に従って一時停止する。車両では目的地に達するまでにこれらの走行または一時停止を複数回行う(S2)。満充電後に走行を開始した場合には、過充電防止のため、回生充電が行われない期間がある。
【0088】
満充電状態から電力が消費され、二次電池への回生充電が可能となった後、回生充電を行う時にデータを取得する(S3)。ここで取得するデータとしては、回生充電前の電圧を測定する。
【0089】
また、回生充電後に充電停止し、データを取得する(S4)。ここで取得するデータとしては、回生充電停止から60秒後の電圧を測定する。
【0090】
取得したデータを用いて予め学習済の学習モデルで演算を行う(S5)。エクストラツリーのアルゴリズムは、例えば、Sklearnのライブラリの一つを用いることができる。
【0091】
内部抵抗の推定値が出力される(S6)。
【0092】
そして、1回前に推定した推定値の結果と、今回の推定値を比較して判定する(S9)。前回推定値と今回推定値の差分(絶対値)を異常判定の基準とする。ルックアップテーブルのデータには、異常検出とみなす差分の大きさが温度と対応して保存されている。
【0093】
差分、即ち、推定値の変動がルックアップテーブルのデータと比較して大きい場合には、異常と判断し、車両運転者などに対して異常検知警告表示を行う(S10)。
【0094】
また、差分、即ち、推定値の変動がルックアップテーブルのデータと比較して小さい場合には、正常であると判断する。
【0095】
こうして走行時に上記ステップを繰り返すことで異常検知を行いながら、安全に走行を続けることができる。
【0096】
また、本実施の形態は、実施の形態2と組み合わせることができる。実施の形態2に示した内部抵抗に関するルックアップテーブルのデータを用いることで、対応する劣化状態または残量を表示することができる。その場合、本実施の形態に示した推定値の変動に関するルックアップテーブルのデータとの比較に大きな差があった場合には、異常検知もできる。
【0097】
(実施の形態4)
本実施の形態では、走行しながらデータを収集し、学習モデルを更新しつつ、異常検知を行うフローを
図4に示す。
【0098】
まず、推定装置を搭載させた電気自動車などの電動車両を起動する。本実施の形態に示す推定装置は、学習データを収納することのできるデータベースと、データ学習モデルを更新することのできるハードウエアを少なくとも有する。
【0099】
まず、データ取得を開始する(S11)。
【0100】
そして、運転を開始し、回生充電を行う時にデータを取得する(S13)。ここで取得するデータとしては、回生充電前の電圧を測定する。
【0101】
また、回生充電後に充電停止し、データを取得する(S14)。ここで取得するデータとしては、回生充電停止から60秒後の電圧を測定する。本実施の形態では、回生充電の終了時間の前後のある時間範囲は約60秒+回生充電時間(少なくとも1秒以上)である。
【0102】
上記データの取得を繰り返し行う。
【0103】
取得したデータをデータベースに蓄積する(S12)。学習モデルを作成または更新するためのデータが得られた段階で学習モデルを更新する(S15)。集団学習アルゴリズムによるモデルを構築するには、準備したデータセットをトレーニングデータと、テストデータの2つに分割して予測モデルの作成、評価を行う。トレーニングデータのみを用いて変数の関係性を学習し、ある変数Aが入力された時にある変数Bを返す機械学習モデルを作成する。トレーニングデータと、テストデータを作成するためにPythonの機械学習ライブラリのscikit-learnを用いる。
【0104】
本実施の形態では、走行の初期段階でデータの取得を行う例を示したが特に限定されない。データベースには、学習用のデータを事前に用意してもよい。例えば、前回走行時に収集した過去データや、電動車両の製造メーカが予め取得している学習用データを取得する。これらのデータはデータベースに予め記憶させておく。また、本実施の形態では、データベースとしているが、取得したデータを保存できる程度の容量のメモリであればよい。また、データベースは外部装置(外部サーバーなど)から直接または無線を用いて間接的に適宜更新してもよい。
【0105】
学習モデル更新を終えれば、運転再開する(S16)。本実施の形態では、S11からS16までが学習のための第1段階といえる。
【0106】
そして、推定のための第2段階を以下に示す。
【0107】
走行または一時停止を複数回行う(S17)。
【0108】
回生充電を行う時にデータを取得する(S18)。ここで取得するデータとしては、回生充電前の電圧を測定する。
【0109】
また、回生充電後に充電停止し、データを取得する(S19)。ここで取得するデータとしては、回生充電停止から60秒後の電圧を測定する。本実施の形態では、回生充電の終了時間の前後のある時間範囲は約60秒+回生充電時間(少なくとも1秒以上)である。
【0110】
取得したデータを用いて予め学習済の学習モデルで演算を行う(S20)。エクストラツリー(ExtraTrees)のアルゴリズムは、例えば、Sklearnのライブラリの一つを用いることができる。
【0111】
内部抵抗の推定値が出力される(S21)。
【0112】
そして、異常検知のための第3段階を以下に示す。
【0113】
1回前に推定した推定値の結果と、今回の推定値を比較して判定する(S22)。前回推定値と今回推定値の差分(絶対値)を異常判定の基準とする。ルックアップテーブルのデータには、異常検出とみなす差分の大きさが温度と対応して保存されている。
【0114】
差分、即ち、推定値の変動がルックアップテーブルのデータと比較して大きい場合には、異常と判断し、車両運転者などに対して異常検知警告表示を行う(S23)。
【0115】
また、差分、即ち、推定値の変動がルックアップテーブルのデータと比較して小さい場合には、正常であると判断する。
【0116】
こうして走行時に上記第1段階、第2段階、第3段階を繰り返すことで学習モデルを更新しつつ、異常検知を行いながら、安全に走行を続けることができる。また、走行時の膨大なデータを用いるのではなく、ある程度少ないデータ(一時停止の前後の短時間のデータ)を用いることでメモリ容量及び演算量を減らすことができ、且つ、高精度の推定及び異常検知を行うことができる。
【0117】
また、本実施の形態は、実施の形態1乃至3のいずれか一と自由に組み合わせることができる。
【符号の説明】
【0118】
100:推定装置、101:二次電池、102:充電制御回路、103:電流計、104:電圧計、105:温度センサ、106:ニューラルネットワーク部、107:判定部、108:記憶部、109:表示部、150:運転支援システム