(57)【要約】【課題】ヒステリシスの影響を考慮しつつ、二次電池の充電状態を推定する際に必要とされる処理領域を低減することが可能な二次電池の状態推定装置及び二次電池の状態推定方法を提供する。【解決手段】電池ＥＣＵは、ヒステリシス電圧を含む電圧推定値Ｖｍ（ｋ）を演算し、電圧計測値Ｖｍｅａｓとの誤差である電圧誤差値ΔＶｅｒｒ＿ｍｅａｓを演算する。電池ＥＣＵは、オフセット電流推定値と電圧モデル誤差推定値とで構成される状態ベクトルｘｋを更新する。電池ＥＣＵは、状態ベクトルｘ＾＋ｋ−１に対して時間更新処理を行い、時間更新処理後の状態ベクトルｘ＾−ｋに基づいて電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔを演算する。そして、電圧誤差値ΔＶｅｒｒ＿ｍｅａｓと電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔとの差分に基づいて、状態ベクトルｘ＾−ｋの観測更新処理を行う。【選択図】図２
2014182072.tif 000002
【特許請求の範囲】
【請求項１】
二次電池の充放電電流を計測する電流計測部と、
前記二次電池の端子電圧を計測する電圧計測部と、
前記電流計測部による電流計測値から前記電流計測部におけるオフセット電流の推定値であるオフセット電流推定値を除いた電流推定値を演算する電流推定部と、
前記電流推定値に基づいて、前記電圧計測部による電圧計測値の推定値であってヒステリシス電圧の推定値であるヒステリシス電圧推定値を含む電圧推定値を演算する電圧推定部と、
前記電圧計測値と前記電圧推定値との誤差である電圧誤差値を演算する電圧誤差演算部と、
前記オフセット電流推定値と、前記オフセット電流推定値に基づく内部抵抗電圧を前記電圧誤差値から除いた電圧の推定値である電圧モデル誤差推定値とで構成される状態ベクトルを更新するフィルタ処理部と、を備え、
前記フィルタ処理部は、
前記状態ベクトルに対して時間更新処理を行う時間更新部と、
前記時間更新処理のなされた状態ベクトルと前記二次電池の内部抵抗値とに基づいて前記電圧誤差値の推定値である電圧誤差推定値を演算する電圧誤差推定部と、
前記電圧誤差値と前記電圧誤差推定値との差分に基づいて、前記時間更新処理のなされた状態ベクトルの観測更新処理を行う観測更新部と、を含む
二次電池の状態推定装置。
【請求項２】
前記二次電池のＳＯＣの推定値であるＳＯＣ推定値を演算するＳＯＣ推定部を備え、
前記ＳＯＣ推定部は、
前記観測更新処理のなされたオフセット電流推定値を前記電流計測値から除いた電流値を積算することにより前記ＳＯＣ推定値を演算する
請求項１に記載の二次電池の状態推定装置。
【請求項３】
前記電圧推定値を演算するための複数のパラメータを前記二次電池の状態に応じて設定するパラメータ設定部と、
前記パラメータの少なくとも１つと前記電流推定値とに基づいて、前記二次電池の内部抵抗電圧の推定値である内部抵抗電圧推定値を演算する内部抵抗電圧演算部と、
前記パラメータの少なくとも１つと前記電流推定値とに基づいて、前記二次電池の線形分極電圧の推定値である線形分極電圧推定値を演算する内部抵抗電圧演算部と、
前記パラメータの少なくとも１つと前記電流推定値とに基づいて、前記二次電池のヒステリシス電圧の推定値であるヒステリシス電圧推定値を演算する内部抵抗電圧演算部と、
前記パラメータの少なくとも１つと前記電流推定値とに基づいて、前記二次電池の起電圧の推定値である起電圧推定値を演算する起電圧演算部と、を備え、
前記電圧推定部は、
前記内部抵抗電圧推定値、前記線形分極電圧推定値、前記ヒステリシス電圧、前記起電圧推定値に基づいて、前記電圧推定値を演算する
請求項１または２に記載の二次電池の状態推定装置。
【請求項４】
前記パラメータ設定部は、
前記二次電池のＳＯＣの推定値であるＳＯＣ推定値に応じて前記パラメータを変更する
請求項３に記載の二次電池の状態推定装置。
【請求項５】
前記二次電池の温度を計測する温度計測部を備え、
前記パラメータ設定部は、
前記温度計測部の温度計測値に応じて前記パラメータを変更する
請求項３または４に記載の二次電池の状態推定装置。
【請求項６】
前記温度計測値に応じた前記二次電池の内部抵抗値を記憶する記憶部を備え、
前記パラメータ設定部は、
前記パラメータの１つとして前記内部抵抗値を含み、前記温度計測値に応じて前記内部抵抗値を変更する
請求項５に記載の二次電池の状態推定装置。
【請求項７】
前記二次電池の温度を計測する温度計測部と、
前記二次電池のＳＯＣの推定値であるＳＯＣ推定値を演算するＳＯＣ推定部と、
前記差分を補正するゲインであって前記ＳＯＣ推定値と前記温度計測部の温度計測値とに応じたゲインを記憶する記憶部と、を備え、
前記フィルタ処理部は、
前記ＳＯＣ推定値と前記温度計測値とに応じたゲインで前記差分を補正する
請求項１〜６のいずれか一項に記載の二次電池の状態推定装置。
【請求項８】
二次電池の充放電電流を電流計測部にて計測する工程と、
前記二次電池の端子電圧を電圧計測部にて計測する工程と、
前記電流計測部による電流計測値から前記電流計測部におけるオフセット電流の推定値であるオフセット電流推定値を除いた電流推定値を演算する工程と、
前記電流推定値に基づいて、前記電圧計測部による電圧計測値の推定値であってヒステリシス電圧の推定値であるヒステリシス電圧推定値を含む電圧推定値を演算する工程と、
前記電圧計測値と前記電圧推定値との誤差である電圧誤差値を演算する工程と、
前記オフセット電流推定値と前記オフセット電流推定値に基づく内部抵抗電圧を前記電圧誤差値から除いた電圧の推定値である電圧モデル誤差推定値とで構成される状態ベクトルを更新する工程と、を備え、
前記状態ベクトルを更新する工程は、
前記状態ベクトルに対して時間更新処理を行う工程と、
前記時間更新処理のなされた状態ベクトルに基づいて前記電圧誤差値の推定値である電圧誤差推定値を演算する工程と、
前記電圧誤差値と前記電圧誤差推定値との差分に基づいて、前記時間更新処理のなされた状態ベクトルの観測更新処理を行う工程と、を含む
二次電池の状態推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の技術は、二次電池の充電状態を推定する二次電池の状態推定装置及び二次電池の状態推定方法に関する。
【背景技術】
【０００２】
従来から、カルマンフィルタを用いて二次電池の充電状態（ＳＯＣ：Ｓｔａｔｅ  Ｏｆ  Ｃｈａｒｇｅ）を推定する状態推定装置として、例えば特許文献１のような状態推定装置が知られている。特許文献１に記載された状態推定装置において、カルマンフィルタは、電流計測部の計測した電流計測値から該電流計測部におけるオフセット電流値を除いた電流推定値を演算する電流モデルと、該電流推定値を入力ベクトルとする電圧モデルとを有している。電圧モデルでは、内部抵抗電圧値と分極電圧値との加算値である過電圧値、開放電圧値、オフセット電流値、これら３つの要素で状態ベクトルが構成されており、端子電圧の推定値である電圧推定値が出力される。そして、電圧推定値の演算過程において、電圧計測値と電圧推定値との誤差に基づき更新される開放電圧値で二次電池のＳＯＣが推定されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−５７９６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、二次電池であるニッケル水素電池は、同じＳＯＣであったとしてもそのＳＯＣに至るまでの充放電に応じて端子電圧が異なるヒステリシスと呼ばれる現象の影響を受けやすい。特許文献１に記載の状態推定装置は、上記ヒステリシス電圧についての考慮がなされていないため、ニッケル水素電池に適用することは困難である。
【０００５】
一方、ヒステリシスによる電圧であるヒステリシス電圧は非線形性を有している。そのため、上記電圧モデルにヒステリシス電圧を追加し、このヒステリシス電圧を要素の１つとする状態ベクトルを拡張カルマンフィルタを用いて更新することも可能である。しかしながら、状態ベクトルの要素が追加されることで、更新処理に必要とされる、例えばマイクロコンピューターのＲＡＭ領域やＲＯＭ領域といった処理領域が大きくなる。
【０００６】
本開示の技術は、ヒステリシスの影響を考慮しつつ、二次電池の充電状態を推定する際に必要とされる処理領域を低減することが可能な二次電池の状態推定装置及び二次電池の状態推定方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決する二次電池の状態推定装置は、二次電池の充放電電流を計測する電流計測部と、前記二次電池の端子電圧を計測する電圧計測部と、前記電流計測部による電流計測値から前記電流計測部におけるオフセット電流の推定値であるオフセット電流推定値を除いた電流推定値を演算する電流推定部と、前記電流推定値に基づいて、前記電圧計測部による電圧計測値の推定値であってヒステリシス電圧の推定値であるヒステリシス電圧推定値を含む電圧推定値を演算する電圧推定部と、前記電圧計測値と前記電圧推定値との誤差である電圧誤差値を演算する電圧誤差演算部と、前記オフセット電流推定値と、前記オフセット電流推定値に基づく内部抵抗電圧を前記電圧誤差値から除いた電圧の推定値である電圧モデル誤差推定値とで構成される状態ベクトルを更新するフィルタ処理部と、を備え、前記フィルタ処理部は、前記状態ベクトルに対して時間更新処理を行う時間更新部と、前記時間更新処理のなされた状態ベクトルと前記二次電池の内部抵抗値とに基づいて前記電圧誤差値の推定値である電圧誤差推定値を演算する電圧誤差推定部と、前記電圧誤差値と前記電圧誤差推定値との差分に基づいて、前記時間更新処理のなされた状態ベクトルの観測更新処理を行う観測更新部と、を含む。
【０００８】
上記課題を解決する二次電池の状態推定方法は、二次電池の充放電電流を電流計測部にて計測する工程と、前記二次電池の端子電圧を電圧計測部にて計測する工程と、前記電流計測部による電流計測値から前記電流計測部におけるオフセット電流の推定値であるオフセット電流推定値を除いた電流推定値を演算する工程と、前記電流推定値に基づいて、前記電圧計測部による電圧計測値の推定値であってヒステリシス電圧の推定値であるヒステリシス電圧推定値を含む電圧推定値を演算する工程と、前記電圧計測値と前記電圧推定値との誤差である電圧誤差値を演算する工程と、前記オフセット電流推定値と前記オフセット電流推定値に基づく内部抵抗電圧を前記電圧誤差値から除いた電圧の推定値である電圧モデル誤差推定値とで構成される状態ベクトルを更新する工程と、を備え、前記状態ベクトルを更新する工程は、前記状態ベクトルに対して時間更新処理を行う工程と、前記時間更新処理のなされた状態ベクトルに基づいて前記電圧誤差値の推定値である電圧誤差推定値を演算する工程と、前記電圧誤差値と前記電圧誤差推定値との差分に基づいて、前記時間更新処理のなされた状態ベクトルの観測更新処理を行う工程と、を含む。
【０００９】
この二次電池の状態推定装置及び二次電池の状態推定方法によれば、ヒステリシス電圧推定値を含んだ電圧推定値が演算され、電圧計測値と電圧推定値との誤差である電圧誤差値が演算される。また、時間更新処理のなされた状態ベクトルに基づいて電圧誤差値の推定値である電圧誤差推定値が演算される。そして、電圧誤差値と電圧誤差推定値との差分に基づいて、状態ベクトルの観測更新処理が行われる。すなわち、電圧推定値にヒステリシス電圧推定値が含まれることで、電圧推定値にヒステリシス電圧推定値が含まれない場合に比べて、観測更新処理後の状態ベクトルは信頼性の高いものとなり、この状態ベクトルに基づいて推定されるＳＯＣも信頼性が高いものとなる。また、状態ベクトルがオフセット電流推定値と電圧モデル誤差推定値との２つの要素で構成されることから、時間更新処理や観測更新処理に必要とされる処理領域が低減される。その結果、ヒステリシスの影響を考慮しつつ、二次電池のＳＯＣを推定する際に必要とされる処理領域を低減することができる。
【００１０】
上記二次電池の状態推定装置は、前記二次電池のＳＯＣの推定値であるＳＯＣ推定値を演算するＳＯＣ推定部を備え、前記ＳＯＣ推定部は、前記観測更新処理のなされたオフセット電流推定値を前記電流計測値から除いた電流値を積算することにより前記ＳＯＣ推定値を演算することが好ましい。
【００１１】
この構成のように、状態推定装置は、電流計測値から観測更新処理のなされたオフセット電流推定値を除いた電流値を積算することにより二次電池のＳＯＣを演算する。その結果、電流計測時における実際の値により近い値のオフセット電流推定値を用いてＳＯＣ推定値が演算されるため、ＳＯＣ推定値の信頼性が高められる。
【００１２】
上記二次電池の状態推定装置は、前記電圧推定値を演算するための複数のパラメータを前記二次電池の状態に応じて設定するパラメータ設定部と、前記パラメータの少なくとも１つと前記電流推定値とに基づいて、前記二次電池の内部抵抗電圧の推定値である内部抵抗電圧推定値を演算する内部抵抗電圧演算部と、前記パラメータの少なくとも１つと前記電流推定値とに基づいて、前記二次電池の線形分極電圧の推定値である線形分極電圧推定値を演算する内部抵抗電圧演算部と、前記パラメータの少なくとも１つと前記電流推定値とに基づいて、前記二次電池のヒステリシス電圧の推定値であるヒステリシス電圧推定値を演算する内部抵抗電圧演算部と、前記パラメータの少なくとも１つと前記電流推定値とに基づいて、前記二次電池の起電圧の推定値である起電圧推定値を演算する起電圧演算部と、を備え、前記電圧推定部は、前記内部抵抗電圧推定値、前記線形分極電圧推定値、前記ヒステリシス電圧、前記起電圧推定値に基づいて、前記電圧推定値を演算することが好ましい。
【００１３】
この構成によれば、電圧推定値に含まれる各要素の推定値が二次電池の状態に応じたパラメータで演算されるため、電圧推定値の精度が高められる。
上記二次電池の状態推定装置において、前記パラメータ設定部は、前記二次電池のＳＯＣの推定値であるＳＯＣ推定値に応じて前記パラメータを変更することが好ましい。
【００１４】
この構成によれば、ＳＯＣ推定値に応じてパラメータが変更されることから、その時々の二次電池のＳＯＣに応じたパラメータで状態ベクトルの更新処理を行うことができる。その結果、観測更新処理後の状態ベクトルの信頼性、ひいてはＳＯＣ推定値の信頼性が高められる。
【００１５】
上記二次電池の状態推定装置は、前記二次電池の温度を計測する温度計測部を備え、前記パラメータ設定部は、前記温度計測部の温度計測値に応じて前記パラメータを変更することが好ましい。
【００１６】
この構成によれば、温度計測値に応じてパラメータが変更されることから、その時々の温度計測値、すなわち二次電池の状態に応じたパラメータで状態ベクトルの更新処理を行うことができる。その結果、観測更新後の状態ベクトルの信頼性、ひいてはＳＯＣ推定値の信頼性が高められる。
【００１７】
上記二次電池の状態推定装置は、前記温度計測値に応じた前記二次電池の内部抵抗値を記憶する記憶部を備え、前記パラメータ設定部は、前記パラメータの１つとして前記内部抵抗値を含み、前記温度計測値に応じて前記内部抵抗値を変更することが好ましい。
【００１８】
この構成によれば、温度計測値に応じて内部抵抗値が変更されることで、電圧推定値の精度が高められるとともに、この内部抵抗値を用いて演算される電圧誤差推定値の精度も高められる。その結果、観測更新後の状態ベクトルの信頼性、ひいてはＳＯＣ推定値の信頼性が高められる。
【００１９】
上記二次電池の状態推定装置は、前記二次電池の温度を計測する温度計測部と、前記二次電池のＳＯＣの推定値であるＳＯＣ推定値を演算するＳＯＣ推定部と、前記差分を補正するゲインであって前記ＳＯＣ推定値と前記温度計測部の温度計測値とに応じたゲインを記憶する記憶部と、を備え、前記フィルタ処理部は、前記ＳＯＣ推定値と前記温度計測値とに応じたゲインで前記差分を補正することが好ましい。
【００２０】
この構成によれば、差分を補正するためのゲインがＳＯＣ推定値と温度計測値とに応じて選択されることから、状態ベクトルの更新のたびにゲインを演算する必要がある場合に比べて、時間更新処理や観測更新処理に必要とされる処理領域がさらに低減される。
【図面の簡単な説明】
【００２１】
【図１】本開示の技術における二次電池の状態推定装置を具体化した一実施形態を搭載した電池パックの概略構成を示すブロック図。
【図２】制御部の概略構成を示す機能ブロック図。
【図３】電池ブロックにおけるヒステリシス電圧目標値とＳＯＣとの関係の一例を示したグラフ。
【図４】電池ブロックにおける起電圧とＳＯＣとの関係の一例を示すグラフ。
【図５】拡張カルマンフィルタにおける処理手順を示すフローチャート。
【図６】フィルタ処理部における処理手順を示すフローチャート。
【発明を実施するための形態】
【００２２】
以下、図１〜図６を参照して、本開示における二次電池の状態推定装置及び二次電池の状態推定方法の一実施形態について説明する。
図１に示されるように、ハイブリッド自動車等の車両に搭載される電池パック１０は、組電池１５と組電池１５に関わる情報を車両ＥＣＵ１００に出力する電池ＥＣＵ２０とを備えている。組電池１５では、ニッケル水素電池である複数の二次電池で構成された複数の電池ブロック１６が並列接続されている。状態推定装置としての電池ＥＣＵ２０は、組電池１５の充電状態（ＳＯＣ：Ｓｔａｔｅ  Ｏｆ  Ｃｈａｒｇｅ）の推定値であるパックＳＯＣ推定値ＰＳＯＣ（ｋ）を所定の制御周期、例えば１ｓｅｃ毎に演算し、その演算したパックＳＯＣ推定値ＰＳＯＣ（ｋ）を車両ＥＣＵ１００に出力する。車両ＥＣＵ１００は、電池ＥＣＵ２０からのパックＳＯＣ推定値ＰＳＯＣ（ｋ）に基づいて図示されないインバーター等を制御し、組電池１５の充放電を行う。なお、以下では、連続する２つの制御周期を時刻ｋ−１、時刻ｋという。
【００２３】
（電池ＥＣＵ２０の概要）
電池ＥＣＵ２０は、各電池ブロック１６の端子電圧を計測する電圧計測部２１と、各電池ブロック１６の充放電電流を計測する電流計測部２２と、各電池ブロック１６の電池温度を計測する温度計測部２３とを備えている。各計測部２１，２２，２３は、所定の制御周期、例えば１ｓｅｃ毎に各々の計測対象を計測する。電圧計測部２１は、時刻ｋにおける計測結果である電圧計測値Ｖｍｅａｓを電池ＥＣＵ２０の制御部２５に出力する。電流計測部２２は、時刻ｋにおける計測結果である電流計測値ｃｕｒ（ｋ）を充電時にマイナスの電流値、放電時にプラスの電流値として電池ＥＣＵ２０の制御部２５に出力する。温度計測部２３は、時刻ｋにおける計測結果である温度計測値Ｔを電池ＥＣＵ２０の制御部２５に出力する。
【００２４】
制御部２５は、ＣＰＵ等で構成される主制御部２６と、各種制御プログラムや各種データが格納されたＲＯＭや各種データが一時的に格納されるＲＡＭ等で構成される記憶部２７とを備えたマイクロコンピューターである。制御部２５は、ＲＯＭに格納された各種制御プログラムに基づいて各種の処理を実行する。
【００２５】
制御部２５は、時刻ｋにおける電圧計測値Ｖｍｅａｓ、電流計測値ｃｕｒ（ｋ）、温度計測値Ｔ、及び時刻ｋ−１における電流計測部２２のオフセット電流の推定値であるオフセット電流推定値δｃｕｒ（ｋ−１）、これらに基づいて、時刻ｋにおけるオフセット電流推定値δｃｕｒ（ｋ）を演算する。制御部２５は、その推定したオフセット電流推定値δｃｕｒ（ｋ）を電流計測値ｃｕｒ（ｋ）から除いた電流値を積算することによって電池ブロック１６のＳＯＣ推定値ＳＯＣ（ｋ）を演算する。
【００２６】
制御部２５は、各電池ブロック１６についてのＳＯＣ推定値ＳＯＣ（ｋ）を順番に演算し、その演算した各ＳＯＣ推定値ＳＯＣ（ｋ）に基づいてパックＳＯＣ推定値ＰＳＯＣ（ｋ）を演算する。
【００２７】
（制御部２５）
制御部２５の主制御部２６は、電流推定部３０、パラメータ設定部３１、内部抵抗電圧演算部３２、線形分極電圧演算部３３、ヒステリシス電圧演算部３４、起電圧演算部３５、電圧推定部３６、電圧誤差演算部３７、フィルタ処理部３８、ＳＯＣ推定部５６、パックＳＯＣ推定部５７を備えている。以下、制御部２５の各部について、図２〜図６を参照して詳しく説明する。
【００２８】
（電流推定部３０）
図２に示されるように、電流推定部３０には、電流計測部２２が計測した電流計測値ｃｕｒ（ｋ）と、後述するフィルタ処理部３８から時刻ｋ−１におけるオフセット電流推定値δｃｕｒ（ｋ−１）とが入力される。電流推定部３０は、この電流計測値ｃｕｒ（ｋ）を時刻ｋ−１における電流計測値ｃｕｒ（ｋ−１）として取り扱い、電流計測値ｃｕｒ（ｋ−１）からオフセット電流推定値δｃｕｒ（ｋ−１）を除くことで、時刻ｋ−１から時刻ｋまでの間に電池ブロック１６を流れた電流の推定値である電流推定値ｃｕｒｅｓｔ（ｋ−１）（＝ｃｕｒ（ｋ−１）−δｃｕｒ（ｋ−１））を演算する。電流推定部３０は、内部抵抗電圧演算部３２、線形分極電圧演算部３３、ヒステリシス電圧演算部３４、起電圧演算部３５の各々に対して電流推定値ｃｕｒｅｓｔ（ｋ−１）を出力する。
【００２９】
（パラメータ設定部３１）
パラメータ設定部３１には、時刻ｋにおいて温度計測部２３が計測した温度計測値Ｔと、後述するＳＯＣ推定部５６が推定した時刻ｋ−１におけるＳＯＣ推定値ＳＯＣ（ｋ−１）とが入力される。パラメータ設定部３１は、上記温度計測値ＴとＳＯＣ推定値ＳＯＣ（ｋ−１）とに基づいて、各種演算に必要な複数のパラメータを設定する。
【００３０】
また、パラメータ設定部３１は、ＳＯＣ推定部５６から新たなＳＯＣ推定値ＳＯＣ（ｋ−１）が入力されると、記憶部２７の所定領域に格納されているＳＯＣ初期値ＳＯＣ（０）にそのＳＯＣ推定値ＳＯＣ（ｋ−１）を設定する。このＳＯＣ初期値ＳＯＣ（０）は、車両の運転開始時にＳＯＣ推定値ＳＯＣ（ｋ−１）の初期値として用いられる。
【００３１】
（パラメータ設定部３１と内部抵抗電圧演算部３２）
パラメータ設定部３１は、内部抵抗電圧演算部３２の演算に必要なパラメータである電池ブロック１６の内部抵抗値ｄｃｉｒを設定する。パラメータ設定部３１は、温度計測値Ｔと、記憶部２７に格納された内部抵抗マップ４１とに基づいて、電池ブロック１６の内部抵抗値ｄｃｉｒを設定する。内部抵抗マップ４１は、電池ブロック１６の内部抵抗値ｄｃｉｒが温度計測値Ｔ毎に規定されたデータである。パラメータ設定部３１は、温度計測値Ｔに対応する内部抵抗値ｄｃｉｒを内部抵抗マップ４１から読み出して、その読み出した内部抵抗値ｄｃｉｒを内部抵抗電圧演算部３２に出力する。
【００３２】
内部抵抗電圧演算部３２は、電池ブロック１６の内部抵抗による電圧降下分である内部抵抗電圧の推定値を演算する。内部抵抗電圧演算部３２は、電流推定部３０から入力される電流推定値ｃｕｒｅｓｔ（ｋ−１）とパラメータ設定部３１から入力される内部抵抗値ｄｃｉｒとを内部抵抗電圧のモデルである式（１）に代入することにより、時刻ｋにおける内部抵抗電圧推定値Ｖｄｃｉｒ（ｋ）を演算する。内部抵抗電圧演算部３２は、内部抵抗電圧推定値Ｖｄｃｉｒ（ｋ）を電圧推定部３６に出力する。
【数１】
2014182072.tif 000003
【００３３】
（パラメータ設定部３１と線形分極電圧演算部３３）
パラメータ設定部３１は、線形分極電圧演算部３３の演算に必要なパラメータである線形分極電圧の線形分極時定数τｌｐと線形分極ゲインＫｌｐとを設定する。パラメータ設定部３１は、温度計測値Ｔ、ＳＯＣ推定値ＳＯＣ（ｋ−１）、及び記憶部２７に格納された線形分極時定数マップ４２、これらに基づいて線形分極時定数τｌｐを設定する。線形分極時定数マップ４２は、温度計測値Ｔと電池ブロック１６のＳＯＣとに応じて線形分極時定数τｌｐが規定されたデータである。パラメータ設定部３１は、温度計測値ＴとＳＯＣ推定値ＳＯＣ（ｋ−１）とに応じた線形分極時定数τｌｐを線形分極時定数マップ４２から読み出して、その読み出した線形分極時定数τｌｐを線形分極電圧演算部３３に出力する。
【００３４】
パラメータ設定部３１は、温度計測値Ｔ、ＳＯＣ推定値ＳＯＣ（ｋ−１）、及び記憶部２７に格納された線形分極データ４３、これらに基づいて線形分極ゲインＫｌｐを設定する。線形分極データ４３は、温度計測値Ｔと電池ブロック１６のＳＯＣとに応じた線形分極ゲインＫｌｐが規定されたデータである。パラメータ設定部３１は、温度計測値ＴとＳＯＣ推定値ＳＯＣ（ｋ−１）とに応じた線形分極ゲインＫｌｐを線形分極データ４３から読み出して、その読み出した線形分極ゲインＫｌｐを線形分極電圧演算部３３に出力する。
【００３５】
パラメータ設定部３１は、線形分極電圧演算部３３の演算に必要なパラメータとして、上記線形分極時定数τｌｐと線形分極ゲインＫｌｐの他、時刻ｋ−１から時刻ｋまでの時間、すなわち制御周期の間隔を示す処理周期ｄＴ（定数）を線形分極電圧演算部３３に出力する。
【００３６】
線形分極電圧演算部３３は、電池ブロック１６の分極電圧に含まれる線形分極電圧の推定値である線形分極電圧推定値Ｖｌｐを演算する。線形分極電圧演算部３３は、時刻ｋ−１において演算された線形分極電圧推定値Ｖｌｐ（ｋ−１）、電流推定部３０から入力される電流推定値ｃｕｒｅｓｔ（ｋ−１）、パラメータ設定部３１から入力される線形分極時定数τｌｐ、線形分極ゲインＫｌｐ、処理周期ｄＴ、これらを線形分極電圧のモデルである式（２）に代入する。線形分極電圧演算部３３は、その演算結果を時刻ｋにおける線形分極電圧推定値Ｖｌｐ（ｋ）として電圧推定部３６に出力する。
【数２】
2014182072.tif 000004
【００３７】
（パラメータ設定部３１とヒステリシス電圧演算部３４）
パラメータ設定部３１は、ヒステリシス電圧演算部３４の演算に必要なパラメータであるヒステリシス収束係数γを設定する。パラメータ設定部３１は、温度計測値Ｔ、ＳＯＣ推定値ＳＯＣ（ｋ−１）、及び記憶部２７に格納されたヒステリシス収束係数マップ４４、これらに基づいてヒステリシス収束係数γを設定する。ヒステリシス収束係数マップ４４は、温度計測値Ｔと電池ブロック１６のＳＯＣとに応じたヒステリシス収束係数γが規定されたデータである。パラメータ設定部３１は、温度計測値ＴとＳＯＣ推定値ＳＯＣ（ｋ−１）とに応じたヒステリシス収束係数γをヒステリシス収束係数マップ４４から読み出して、その読み出したヒステリシス収束係数γをヒステリシス電圧演算部３４に出力する。
【００３８】
パラメータ設定部３１は、ヒステリシス電圧演算部３４の演算に必要なパラメータとして、上記ヒステリシス収束係数γの他、ＳＯＣ推定値ＳＯＣ（ｋ−１）、処理周期ｄＴをヒステリシス電圧演算部３４に出力する。
【００３９】
ヒステリシス電圧演算部３４は、電池ブロック１６の分極電圧に含まれるヒステリシス電圧の推定値であるヒステリシス電圧推定値Ｖｈｙｓを演算する。ヒステリシス電圧演算部３４は、時刻ｋ−１にて演算されたヒステリシス電圧推定値Ｖｈｙｓ（ｋ−１）、電流推定部３０から入力される電流推定値ｃｕｒｅｓｔ（ｋ−１）、パラメータ設定部３１から入力される処理周期ｄＴ及びヒステリシス収束係数γの他、ヒステリシス電圧目標値Ｖｈｙｓ＿ａｉｍ（ｋ−１）をヒステリシス電圧のモデルである式（３）に代入する。ヒステリシス電圧演算部３４は、その演算結果を時刻ｋにおけるヒステリシス電圧推定値Ｖｈｙｓ（ｋ）として電圧推定部３６に出力する。
【数３】
2014182072.tif 000005
【００４０】
ヒステリシス電圧目標値について説明すると、ヒステリシス電圧は、ＳＯＣが変化したときに変化後のＳＯＣに応じた所定の目標値に向かって変化するという性質を有している。ヒステリシス電圧目標値Ｖｈｙｓ＿ａｉｍ（ｋ−１）は、ＳＯＣ推定値ＳＯＣ（ｋ−１）に対応するヒステリシス電圧の目標値のことである。
【００４１】
図３は、ヒステリシス電圧目標値と電池ブロック１６のＳＯＣとの関係を示したグラフであって、放電時における目標値を実線で示し、充電時における目標値を二点鎖線で示したグラフである。図３に示されるように、ヒステリシス電圧目標値Ｖｈｙｓ＿ａｉｍは、同じＳＯＣであっても放電時と充電時とでは互いに異なる値をとる。記憶部２７には、電池ブロック１６のＳＯＣ毎にヒステリシス電圧目標値Ｖｈｙｓ＿ａｉｍが規定されたヒステリシス電圧目標値マップ４５が格納されている。ヒステリシス電圧演算部３４は、パラメータ設定部３１から入力されるＳＯＣ推定値ＳＯＣ（ｋ−１）に応じたヒステリシス電圧目標値Ｖｈｙｓ＿ａｉｍ（ｋ−１）をヒステリシス電圧目標値マップ４５から読み出して、その読み出したヒステリシス電圧目標値Ｖｈｙｓ＿ａｉｍ（ｋ−１）を上記式（３）に代入する。
【００４２】
（パラメータ設定部３１と起電圧演算部３５）
図２に示されるように、パラメータ設定部３１は、起電圧演算部３５の演算に必要なパラメータである充電効率ηｃを設定する。パラメータ設定部３１は、温度計測値Ｔと、記憶部２７に格納された充電効率マップ４６とに基づいて充電効率ηｃを設定する。充電効率マップ４６は、温度計測値Ｔ毎に充電効率ηｃが規定されたデータである。パラメータ設定部３１は、温度計測値Ｔに応じた充電効率ηｃを充電効率マップ４６から読み出して、その読み出した充電効率ηｃを起電圧演算部３５に出力する。
【００４３】
パラメータ設定部３１は、上記充電効率ηｃの他、起電圧演算部３５の演算に必要なパラメータとして、処理周期ｄＴ及び電池容量ＳＯＣ換算係数Ｃ（ともに定数）を起電圧演算部３５に出力する。
【００４４】
起電圧演算部３５は、電池ブロック１６の起電圧の推定値である起電圧推定値Ｖｅｍｆを演算する。起電圧演算部３５は、電流推定部３０から入力される電流推定値ｃｕｒｅｓｔ（ｋ−１）、パラメータ設定部３１から入力されるＳＯＣ推定値ＳＯＣ（ｋ−１）、処理周期ｄＴ、充電効率ηｃ、電池容量ＳＯＣ換算係数Ｃ、これらを起電圧を求めるモデルである式（４）に代入する。起電圧演算部３５は、式（４）の演算結果であるＳＯＣ推定値ＳＯＣ（ｋ）を、時刻ｋにおける起電圧推定値Ｖｅｍｆ（ｋ）を演算するためのＳＯＣ演算値ＳＯＣｃ（ｋ）を演算する。
【数４】
2014182072.tif 000006
【００４５】
図４は、起電圧と電池ブロック１６のＳＯＣとの関係の一例を示したグラフである。図４に示されるように、起電圧は、電池ブロック１６のＳＯＣ毎に異なる値をとる。記憶部２７には、電池ブロック１６のＳＯＣ毎に起電圧が規定された起電圧マップ４７が格納されている。起電圧演算部３５は、上記式（４）によって演算されたＳＯＣ演算値ＳＯＣｃ（ｋ）に対応する起電圧を起電圧マップ４７から読み出して、その読み出した起電圧を時刻ｋにおける起電圧推定値Ｖｅｍｆ（ｋ）として電圧推定部３６に出力する。
【００４６】
（電圧推定部３６）
図２に示されるように、電圧推定部３６は、各部からの入力値に基づいて、電圧計測部２１の電圧計測値Ｖｍｅａｓの推定値である電圧推定値Ｖｍ（ｋ）を演算し、その演算した電圧推定値Ｖｍ（ｋ）を電圧誤差演算部３７に出力する。
【００４７】
（電圧誤差演算部３７）
電圧誤差演算部３７には、電圧計測部２１が計測した電圧計測値Ｖｍｅａｓと、電圧推定部３６の演算結果である電圧推定値Ｖｍ（ｋ）とが入力される。電圧誤差演算部３７は、電圧計測値Ｖｍｅａｓから電圧推定値Ｖｍ（ｋ）を除くことで時刻ｋにおける電圧誤差値ΔＶｅｒｒ＿ｍｅａｓを演算し、その演算した電圧誤差値ΔＶｅｒｒ＿ｍｅａｓを観測値ｚｋとして拡張カルマンフィルタであるフィルタ処理部３８に出力する。
【００４８】
（拡張カルマンフィルタについて）
フィルタ処理部３８について説明するまえに、まず、拡張カルマンフィルタについて簡単に説明する。拡張カルマンフィルタ（ＥＫＦ：Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）は、カルマンフィルタを部分的に線形化することが可能な非線形システムまで拡張させたものである。
【００４９】
拡張カルマンフィルタでは、状態ベクトルをｘ、入力ベクトルをｕとする状態方程式が式（５）のように設定され、出力をｙとする観測方程式が式（６）のように設定される。ここで、Ａｄは状態行列、Ｂｄは入力行列、Ｃｄは出力行列である。
【数５】
2014182072.tif 000007
【数６】
2014182072.tif 000008
【００５０】
拡張カルマンフィルタでは、時刻ｋ−１における状態ベクトルｘｋ−１に基づいて時刻ｋにおける状態ベクトルｘｋが推定される時間更新処理と、時間更新処理後の状態ベクトルｘｋが観測値ｚｋに基づいて更新される観測更新処理と、が行われる。この処理の手順について図５を参照して説明する。図５は、拡張カルマンフィルタにおける処理の手順を示すフローチャートである。
【００５１】
図５に示されるように、最初のステップＳ１１では、式（７）に示されるように、時刻ｋ−１における状態ベクトルｘｋ−１周りで状態方程式の線形化が行われる。なお、以下では、「−」は時間更新処理後の値であることを示し、「＋」は観測更新処理後の値であることを示し、ハット「＾」は推定値であることを示す。
【数７】
2014182072.tif 000009
【００５２】
次のステップＳ１２では、状態ベクトルｘ＾＋ｋ−１に対する時間更新処理が行われる。この時間更新処理では、式（８）に示されるように、時刻ｋにおける状態ベクトルｘ＾−ｋが時刻ｋ−１における状態ベクトルｘ＾＋ｋ−１に基づいて演算される。また、式（９）に示されるように、ステップＳ１１における状態方程式の線形化により得られた状態行列Ａｄｋ−１及び時刻ｋ−１における誤差共分散行列Ｐ＋ｋ−１、状態推定誤差の重み行列Ｑ、これらに基づいて時刻ｋにおける誤差共分散行列Ｐ−ｋが推定される。
【数８】
2014182072.tif 000010
【数９】
2014182072.tif 000011
【００５３】
次のステップＳ１３では、式（１０）に示されるように、時間更新処理後の状態ベクトルｘ＾−ｋ周りで観測方程式の線形化が行われる。
【数１０】
2014182072.tif 000012
【００５４】
次のステップＳ１４では、観測更新処理が行われる。観測更新処理では、式（１１）に示されるように、誤差共分散行列Ｐ−ｋ、ステップＳ１３において線形化された出力行列Ｃｄｋ、電圧計測部２１における計測誤差の重み行列Ｒ、これらに基づいて、カルマンゲインＫｋが演算される。また、式（１２）に示されるように、カルマンゲインＫｋ、出力行列Ｃｄｋ、これらに基づいて誤差共分散行列Ｐ−ｋが誤差共分散行列Ｐ＋ｋに更新される。なお、式（１２）中の「Ｉ」は、単位行列を示している。また、式（１３）に示されるように、カルマンゲインＫｋ、観測値ｚｋ、出力行列Ｃｄｋ、これらに基づいて状態ベクトルｘ＾−ｋが状態ベクトルｘ＾＋ｋに更新される。そして、ステップＳ１１からステップＳ１４までの処理が繰り返し実行される。
【数１１】
2014182072.tif 000013
【数１２】
2014182072.tif 000014
【数１３】
2014182072.tif 000015
【００５５】
（フィルタ処理部３８）
次に、フィルタ処理部３８について説明する。まず、フィルタ処理部３８における状態ベクトルｘｋ、状態行列Ａｄｋ−１、出力行列Ｃｄｋ、パラメータ設定部３１にて設定されるパラメータについて説明する。
【００５６】
（状態ベクトルｘｋ）
電圧計測値Ｖｍｅａｓは、式（１４）で表される。
【数１４】
2014182072.tif 000016
【００５７】
式（１４）における記号は以下のように定義される。
・δＶｌｐ：時刻ｋにおける線形分極電圧について、実際の値と線形分極電圧推定値Ｖｌｐ（ｋ）との誤差である線形分極誤差推定値
・δＶｈｙｓ：時刻ｋにおけるヒステリシス電圧について、実際の値とヒステリシス電圧推定値Ｖｈｙｓ（ｋ）との誤差であるヒステリシス誤差推定値
・δＶｅｍｆ：時刻ｋにおける起電圧について、実際の値と起電圧推定値Ｖｅｍｆ（ｋ）との誤差である起電圧誤差推定値
・δＶｍ：電圧モデル誤差推定値（＝δＶｌｐ＋δＶｈｙｓ＋δＶｅｍｆ）
【００５８】
上記式（１４）により、電圧計測値Ｖｍｅａｓと電圧推定値Ｖｍ（ｋ）との誤差である電圧誤差値ΔＶｅｒｒ＿ｍｅａｓは、式（１５）で表される。
【数１５】
2014182072.tif 000017
【００５９】
また、上記式（１４）（１５）から、電圧誤差値ΔＶｅｒｒ＿ｍｅａｓの推定値である電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔは、式（１６）で表される。
【数１６】
2014182072.tif 000018
【００６０】
式（１６）において、内部抵抗値ｄｃｉｒは、パラメータ設定部３１によって設定される値である。そのため、フィルタ処理部３８では、状態ベクトルｘｋが式（１７）に示されるように２行１列の行列に設定され、入力ベクトルｕｋが必要とされず、出力ｙｋが式（１８）に示されるように設定される。
【数１７】
2014182072.tif 000019
【数１８】
2014182072.tif 000020
【００６１】
（状態行列Ａｄｋ−１）
ここで、時刻ｋにおけるオフセット電流推定値δｃｕｒ（ｋ）及び電圧モデル誤差推定値δＶｍ（ｋ）の各々は、時刻ｋ−１における値に対してランダムで変化する値である。そのため、時刻ｋにおける値の平均値は、時刻ｋ−１における値と等しくなる。すなわち、電圧モデル誤差推定値δＶｍ（ｋ）及びオフセット電流推定値δｃｕｒ（ｋ）は、下記の式（１９）（２０）のように設定される。
【数１９】
2014182072.tif 000021
【数２０】
2014182072.tif 000022
【００６２】
上記式（１９）（２０）により、状態方程式の線形化により得られる状態行列Ａｄｋ−１は式（２１）に示されるような２行２列の行列に設定される。
【数２１】
2014182072.tif 000023
【００６３】
（出力行列Ｃｄｋ）
式（１８）により、観測方程式の線形化により得られる出力行列Ｃｄｋは、式（２２）に示されるように１行２列の行列に設定される。
【数２２】
2014182072.tif 000024
【００６４】
（パラメータ設定部３１にて設定されるパラメータ）
図２に示されるように、パラメータ設定部３１は、フィルタ処理部３８の演算に必要なパラメータである内部抵抗値ｄｃｉｒを設定する。パラメータ設定部３１は、内部抵抗電圧演算部３２に出力した値と同じ内部抵抗値ｄｃｉｒをフィルタ処理部３８に出力する。
【００６５】
また、パラメータ設定部３１は、フィルタ処理部３８の演算に必要なパラメータである状態ベクトルｘｋの初期ベクトルｘ０を設定する。パラメータ設定部３１は、記憶部２７に格納された初期条件データ４９に基づいて状態ベクトルｘｋの初期ベクトルｘ０を設定する。初期条件データ４９は、状態ベクトルｘｋの初期ベクトルｘ０が規定されたデータであって、予め行った実験等に基づいて、例えば電圧計測値Ｖｍｅａｓと電流計測値ｃｕｒ（ｋ）とに応じた初期ベクトルｘ０が規定されている。パラメータ設定部３１は、その時々の条件に応じた初期ベクトルｘ０を初期条件データ４９から読み出して、その読み出した初期ベクトルｘ０をフィルタ処理部３８に出力する。
【００６６】
（時間更新部５１）
フィルタ処理部３８の時間更新部５１は、上述した式（８）に対して、式（２１）の状態行列Ａｄｋ−１、後述する観測更新部５４から入力される状態ベクトルｘ＾＋ｋ−１、これらを代入することで時刻ｋにおける状態ベクトルｘ＾−ｋを演算する時間更新処理を実行する。時間更新部５１は、演算した状態ベクトルｘ＾−ｋを電圧誤差推定部５２と観測更新部５４とに出力する。
【００６７】
（電圧誤差推定部５２）
フィルタ処理部３８の電圧誤差推定部５２は、状態ベクトルｘ＾−ｋ、パラメータ設定部３１からの内部抵抗値ｄｃｉｒ、これらを式（１６）に代入することで電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔを演算する処理を実行する。電圧誤差推定部５２は、演算した電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔを観測残差演算部５３に出力する。なお、式（１７）（２２）からも明らかなように、電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔは、出力行列Ｃｄｋに状態ベクトルｘ＾−ｋを掛けた値と等しくなる。
【００６８】
（観測残差演算部５３）
フィルタ処理部３８の観測残差演算部５３は、電圧誤差演算部３７の演算結果である電圧誤差値ΔＶｅｒｒ＿ｍｅａｓから電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔを除くことで、電圧誤差値ΔＶｅｒｒ＿ｍｅａｓと電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔとの差分である観測残差（＝ｚｋ−Ｃｄｋｘ＾−ｋ）を演算する処理を実行する。観測残差演算部５３は、演算した観測残差を観測更新部５４に出力する。
【００６９】
（観測更新部５４）
フィルタ処理部３８の観測更新部５４は、時間更新処理後の状態ベクトルｘ＾−ｋ、観測残差（＝ｚｋ−Ｃｄｋｘ＾−ｋ）、カルマンゲインＫｋ、これらに基づいて、状態ベクトルｘ＾−ｋを更新する観測更新処理を実行する。観測更新部５４は、式（１３）に示されるように、カルマンゲインＫｋと観測残差とに基づいて、時間更新処理後の状態ベクトルｘ＾−ｋを更新して状態ベクトルｘ＾＋ｋを演算する。観測更新部５４は、状態ベクトルｘ＾＋ｋを状態ベクトルｘ＾＋ｋ−１として時間更新部５１に出力する。また、観測更新部５４は、状態ベクトルｘ＾＋ｋに含まれるオフセット電流推定値δｃｕｒ（ｋ）をＳＯＣ推定部５６に出力するとともに、該オフセット電流推定値δｃｕｒ（ｋ）を時刻ｋ−１におけるオフセット電流推定値δｃｕｒ（ｋ−１）として電流推定部３０に出力する。
【００７０】
（ＳＯＣ推定部５６）
ＳＯＣ推定部５６には、観測更新部５４からのオフセット電流推定値δｃｕｒ（ｋ）の他、電流計測部２２から電流計測値ｃｕｒ（ｋ）が入力される。ＳＯＣ推定部５６は、この電流計測値ｃｕｒ（ｋ）からオフセット電流推定値δｃｕｒ（ｋ）を除いた電流値を積算することにより電池ブロック１６のＳＯＣ推定値ＳＯＣ（ｋ）を演算する。ＳＯＣ推定部５６は、演算したＳＯＣ推定値ＳＯＣ（ｋ）をパックＳＯＣ推定部５７に出力するとともに時刻ｋ−１におけるＳＯＣ推定値ＳＯＣ（ｋ−１）としてパラメータ設定部３１に出力する。
【００７１】
（パックＳＯＣ推定部５７）
パックＳＯＣ推定部５７は、ＳＯＣ推定部５６から全ての電池ブロック１６のＳＯＣ推定値ＳＯＣ（ｋ）が入力されると、各ＳＯＣ推定値ＳＯＣ（ｋ）に基づいてパックＳＯＣ推定値ＰＳＯＣ（ｋ）を演算し、その演算したパックＳＯＣ推定値ＰＳＯＣ（ｋ）を車両ＥＣＵ１００に出力する。
【００７２】
（ＳＯＣ推定処理の処理手順）
図６を参照して、パックＳＯＣ推定値ＰＳＯＣ（ｋ）が演算されるＳＯＣ推定処理の処理手順について説明する。このＳＯＣ推定処理は、所定の制御周期、例えば１ｓｅｃ毎に実行される。なお、電池ＥＣＵ２０では、状態行列Ａｄｋ−１及び出力行列Ｃｄｋが演算済みであるものとする。
【００７３】
図６に示されるように、最初のステップＳ２１において、電池ＥＣＵ２０は、各電池ブロック１６の電圧計測値Ｖｍｅａｓ、電流計測値ｃｕｒ（ｋ）、温度計測値Ｔを取得する。次のステップＳ２２において、電池ＥＣＵ２０は、車両のイグニッションがＯＮ操作された直後か否か、すなわち車両の運転が開始された直後であるか否かを判断する。ＯＮ操作の直後と判断した場合（ステップＳ２２：ＹＥＳ）、電池ＥＣＵ２０は、ステップＳ２３の処理を実行したのちステップＳ２４の処理に移行する。一方、ＯＮ操作の直後ではないと判断した場合（ステップＳ２２：ＮＯ）、電池ＥＣＵ２０は、そのままステップＳ２４の処理に移行する。
【００７４】
ステップＳ２３において、電池ＥＣＵ２０は、初期化を行う。この初期化において、電池ＥＣＵ２０は、状態ベクトルｘｋの初期ベクトルｘ０を時刻ｋ−１の状態ベクトルｘ＾＋ｋ−１として設定する。また、電池ＥＣＵ２０は、記憶部２７に格納されているＳＯＣ初期値ＳＯＣ（０）を時刻ｋ−１のＳＯＣ推定値ＳＯＣ（ｋ−１）として設定する。電池ＥＣＵ２０は、こうした初期化を各電池ブロック１６に対して行う。
【００７５】
次に、電池ＥＣＵ２０は、ステップＳ２４からステップＳ３３までの処理を各電池ブロック１６に対して順番に実行するループ処理を開始する。
ステップＳ２５において、電池ＥＣＵ２０は、温度計測値Ｔ、オフセット電流推定値δｃｕｒ（ｋ−１）、ＳＯＣ推定値ＳＯＣ（ｋ−１）、これらに基づいて各種パラメータを設定する。電池ＥＣＵ２０は、上記パラメータとして、内部抵抗値ｄｃｉｒ、線形分極時定数τｌｐ、線形分極ゲインＫｌｐ、ヒステリシス収束係数γ、充電効率ηｃ、処理周期ｄＴ、電池容量ＳＯＣ換算係数Ｃ、カルマンゲインＫｋ、ヒステリシス電圧目標値Ｖｈｙｓ＿ａｉｍ（ｋ−１）、ＳＯＣ演算値ＳＯＣｃ（ｋ）、これらを設定する。
【００７６】
次のステップＳ２６において、電池ＥＣＵ２０は、内部抵抗電圧推定値Ｖｄｃｉｒ（ｋ）、線形分極電圧推定値Ｖｌｐ（ｋ）、ヒステリシス電圧推定値Ｖｈｙｓ（ｋ）、起電圧推定値Ｖｅｍｆ（ｋ）を演算したのち、これらの推定値に基づく電圧推定値Ｖｍ（ｋ）を演算する。次のステップＳ２７において、電池ＥＣＵ２０は、電圧計測部２１の電圧計測値Ｖｍｅａｓから電圧推定値Ｖｍ（ｋ）を除くことで電圧誤差値ΔＶｅｒｒ＿ｍｅａｓを演算する。
【００７７】
続いて電池ＥＣＵ２０は、状態ベクトルｘ＾＋ｋ−１の時間更新処理を実行したのち（ステップＳ２８）、電圧誤差値ΔＶｅｒｒ＿ｍｅａｓの推定値である電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔを演算する（ステップＳ２９）。
【００７８】
次のステップＳ３０において、電池ＥＣＵ２０は、ステップＳ２７にて演算された電圧誤差値ΔＶｅｒｒ＿ｍｅａｓとステップＳ２９にて演算された電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔとの誤差である観測残差（＝ｚｋ−Ｃｄｋｘ＾−ｋ）を演算する。そして、電池ＥＣＵ２０は、観測残差とパラメータ設定部３１から入力されるカルマンゲインＫｋとに基づいて、時間更新処理後の状態ベクトルｘ＾−ｋに対して観測更新処理を実行する（ステップＳ３１）。
【００７９】
次のステップＳ３２において、電池ＥＣＵ２０は、電流計測値ｃｕｒ（ｋ）と、観測更新処理後の状態ベクトルｘ＾＋ｋを構成するオフセット電流推定値δｃｕｒ（ｋ）とに基づいてＳＯＣ推定値ＳＯＣ（ｋ）を演算する。
【００８０】
電池ＥＣＵ２０は、ステップＳ２４からステップＳ３３までの処理を各電池ブロック１６に対して順番に行うことで各電池ブロック１６のＳＯＣ推定値ＳＯＣ（ｋ）を演算する。
【００８１】
次のステップＳ３３において、電池ＥＣＵ２０は、各ＳＯＣ推定値ＳＯＣ（ｋ）に基づいて組電池１５のパックＳＯＣ推定値ＰＳＯＣ（ｋ）を演算する。そして、電池ＥＣＵ２０は、パックＳＯＣ推定値ＰＳＯＣ（ｋ）を車両ＥＣＵ１００に出力することでＳＯＣ推定処理を一旦終了する。
【００８２】
（電池ＥＣＵ２０の作用）
次に、上述した電池ＥＣＵ２０の作用について説明する。
上述した電池ＥＣＵ２０では、ヒステリシス電圧推定値Ｖｈｙｓ（ｋ）を含んだ電圧推定値Ｖｍ（ｋ）が演算され、電圧計測値Ｖｍｅａｓと電圧推定値Ｖｍ（ｋ）との誤差である電圧誤差値ΔＶｅｒｒ＿ｍｅａｓが演算される。また、時間更新処理のなされた状態ベクトルｘ＾−ｋに基づいて電圧誤差値ΔＶｅｒｒ＿ｍｅａｓの推定値である電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔが演算される。そして、電圧誤差値ΔＶｅｒｒ＿ｍｅａｓと電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔとの差分である観測残差（＝ｚｋ−Ｃｄｋｘ＾−ｋ）に基づいて、状態ベクトルｘ＾−ｋの観測更新処理が行われる。
【００８３】
そのため、電圧推定値Ｖｍ（ｋ）にヒステリシス電圧推定値Ｖｈｙｓ（ｋ）が含まれることで、電圧推定値Ｖｍ（ｋ）にヒステリシス電圧推定値Ｖｈｙｓ（ｋ）が含まれない場合に比べて、観測更新後の状態ベクトルｘ＾＋ｋの信頼性が高められる。これにより、状態ベクトルｘ＾＋ｋに含まれるオフセット電流推定値δｃｕｒ（ｋ）を用いて演算されるＳＯＣ推定値ＳＯＣ（ｋ）の信頼性、ひいてはパックＳＯＣ推定値ＰＳＯＣ（ｋ）の信頼性が高められる。
【００８４】
ここで、電池ＥＣＵの参考例について説明する。以下に説明する電池ＥＣＵの参考例は、フィルタ処理部において設定される状態ベクトルが電池ＥＣＵ２０とは異なる。その点について詳しく説明する。
【００８５】
上述したように、ニッケル水素電池の端子電圧は、線形分極電圧、ヒステリシス電圧、起電圧、内部抵抗電圧を含んでいる。そのため、電流計測値ｃｕｒ（ｋ）からオフセット電流推定値δｃｕｒ（ｋ）を除いた電流値を積算することでＳＯＣ推定値ＳＯＣ（ｋ）を演算するうえでは、フィルタ処理部における状態ベクトルｘｋを式（２３）に示されるように設定することも可能である。
【数２３】
2014182072.tif 000025
【００８６】
この際、入力ベクトルｕｋは式（２４）のように設定され、出力ｙｋは式（２５）のように設定される。
【数２４】
2014182072.tif 000026
【数２５】
2014182072.tif 000027
【００８７】
また、状態方程式を線形化することにより得られる状態行列Ａｄｋ−１は、式（２）（３）（４）（２０）より式（２６）のように設定される。
【数２６】
2014182072.tif 000028
【００８８】
また、観測方程式を線形化することにより得られる出力行列Ｃｄｋは、式（２７）のように設定される。
【数２７】
2014182072.tif 000029
【００８９】
そして、この参考例の電池ＥＣＵでは、電圧計測値Ｖｍｅａｓと電圧推定値Ｖｍ（ｋ）との誤差である電圧誤差値ΔＶｅｒｒ＿ｍｅａｓを観測残差として状態ベクトルｘ＾−ｋの観測更新処理が実行される。そして、カルマンゲインＫｋ×観測残差（＝ΔＶｅｒｒ＿ｍｅａｓ）の演算による各要素が補正値として用いられる。すなわち、線形分極誤差推定値δＶｌｐが線形分極電圧推定値Ｖｌｐ（ｋ）を演算する際の補正値として用いられ、ヒステリシス誤差推定値δＶｈｙｓがヒステリシス電圧推定値Ｖｈｙｓ（ｋ）を演算する際の補正値として用いられる。また、ＳＯＣ誤差推定値δＳＯＣが起電圧推定値Ｖｅｍｆ（ｋ）を求めるためのＳＯＣ演算値ＳＯＣｃ（ｋ）を演算する際の補正値として用いられ、オフセット電流推定値δｃｕｒ（ｋ）が電流推定値ｃｕｒｅｓｔ（ｋ＋１）及びＳＯＣ推定値ＳＯＣ（ｋ）を演算する際の補正値として用いられる。
【００９０】
しかしながら、上述した参考例の電池ＥＣＵでは、状態ベクトルｘｋが式（２３）に示される４行１列の行列となり、状態行列Ａｄｋ−１が式（２６）に示される４行４列の行列となり、出力行列Ｃｄｋが式（２７）に示される１行４列の行列となる。そのため、時間更新処理及び観測更新処理における演算が複雑になることで、電池ＥＣＵに必要とされる処理領域が大きくなるばかりか処理時間も長くなる。
【００９１】
この点、電池ＥＣＵ２０では、線形分極誤差推定値δＶｌｐ、ヒステリシス誤差推定値δＶｈｙｓ、起電圧誤差推定値δＶｅｍｆの合計値を電圧モデル誤差推定値δＶｍ（ｋ）としている。そのため、電池ＥＣＵ２０では、状態ベクトルｘｋが式（１７）に示される２行１列の行列であり、状態行列Ａｄｋ−１が式（２１）に示される２行２列の行列であり、出力行列Ｃｄｋが式（２２）に示される１行２列の行列である。これにより、参考例の電池ＥＣＵに比べて、各種行列の規模が小さくなるとともに、特に状態行列Ａｄｋ−１における要素が簡素なものとなる。その結果、時間更新処理及び観測更新処理に関し、電池ＥＣＵ２０に必要とされる処理領域が低減されるばかりか処理時間の短縮も図られる。
【００９２】
また、例えば、線形分極電圧は、式（２）で示されるモデルによって推定値を求めることは可能であるが実際の値を計測することが不可能である。参考例の電池ＥＣＵでは、線形分極電圧推定値Ｖｌｐ（ｋ）が演算される際、式（２）による推定値と実際の値との誤差に関わらず、線形分極誤差推定値δＶｌｐによる補正が行われる。そのため、当該補正により線形分極電圧推定値Ｖｌｐが実際の値から遠ざかる場合もあり、線形分極電圧のモデルの信頼性を線形分極誤差推定値δＶｌｐに基づいて評価することは困難である。こうしたことは、ヒステリシス電圧や起電圧についてもいえる。そのため、各誤差推定値によってモデル全体の信頼性の評価をすることは困難である。
【００９３】
これに対し、電池ＥＣＵ２０では、線形分極電圧推定値Ｖｌｐ、ヒステリシス電圧推定値Ｖｈｙｓ、起電圧推定値Ｖｅｍｆ、これらの誤差をまとめて電圧モデル誤差推定値δＶｍとしている。すなわち、線形分極電圧、ヒステリシス電圧、起電圧、これらのモデルをまとめて１つのモデルと仮想して取り扱っている。これにより、電圧モデル誤差推定値δＶｍに基づいて、電圧推定値Ｖｍ（ｋ）を演算するためのモデル全体としての信頼性を評価することができる。そのため、例えば、電圧モデル誤差推定値δＶｍが大きくなる温度領域には、重み行列Ｑ／Ｒを小さく設定することによって、他の領域よりも小さなカルマンゲインＫｋを設定する。一方、記憶部２７のカルマンゲインマップ４８を用いる場合も、電圧モデル誤差推定値δＶｍが大きくなる温度領域には、他の領域よりも小さなカルマンゲインＫｋを設定する。これにより、観測更新後のオフセット電流推定値δｃｕｒ（ｋ）がモデル全体の信頼性に応じた値となる。つまり、電圧モデル誤差推定値δＶｍに応じてモデル全体の信頼性を評価することによって、モデル全体としての信頼性に応じた態様で状態ベクトルｘｋの観測更新を行うことができる。
【００９４】
以上説明したように、上記実施形態の電池ＥＣＵ２０によれば、以下に列挙する効果を得ることができる。
（１）電圧推定値Ｖｍ（ｋ）にヒステリシス電圧推定値Ｖｈｙｓ（ｋ）が含まれることで、観測更新後の状態ベクトルｘ＾＋ｋの信頼性が高められる。これにより、状態ベクトルｘ＾＋ｋに含まれるオフセット電流推定値δｃｕｒ（ｋ）を用いて推定されるＳＯＣ推定値ＳＯＣ（ｋ）、ひいてはパックＳＯＣ推定値ＰＳＯＣ（ｋ）の信頼性が高められる。
【００９５】
（２）状態ベクトルｘｋが式（１７）に示される２行１列の行列であり、状態行列Ａｄｋ−１が式（２１）に示される２行２列の行列であり、出力行列Ｃｄｋが式（２２）に示される１行２列の行列である。これにより、時間更新処理及び観測更新処理に関し、電池ＥＣＵ２０に必要とされる処理領域の低減及び処理時間の短縮が図られる。
【００９６】
（３）電池ＥＣＵ２０は、観測更新処理のなされた状態ベクトルｘ＾＋ｋのオフセット電流推定値δｃｕｒ（ｋ）を電流計測値ｃｕｒ（ｋ）から除いた電流値を積算することによってＳＯＣ推定値ＳＯＣ（ｋ）を演算している。その結果、ＳＯＣ推定値ＳＯＣ（ｋ）の信頼性が高められ、ひいてはパックＳＯＣ推定値ＰＳＯＣ（ｋ）の信頼性が高められる。
【００９７】
（４）電池ＥＣＵ２０は、温度計測値ＴやＳＯＣ推定値ＳＯＣ（ｋ−１）に基づいて、各種演算に必要なパラメータを設定する。これにより、電池ＥＣＵ２０は、その時々の電池ブロック１６の状態に応じたパラメータで電圧推定値Ｖｍ（ｋ）や電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔの演算、状態ベクトルｘ＾−ｋの観測更新処理を行うことができる。その結果、観測更新後の状態ベクトルｘ＾＋ｋの信頼性、ひいてはＳＯＣ推定値ＳＯＣ（ｋ）の信頼性が高められる。
【００９８】
（５）電池ＥＣＵ２０は、温度計測値Ｔに応じて内部抵抗値ｄｃｉｒを設定する。これにより、温度計測値Ｔに関わらず内部抵抗値ｄｃｉｒが一定である場合に比べて、電圧推定値Ｖｍ（ｋ）、ひいては電圧誤差推定値ΔＶｅｒｒ＿ｅｓｔの精度が高められる。その結果、観測更新後の状態ベクトルｘ＾＋ｋの信頼性、ひいてはＳＯＣ推定値ＳＯＣ（ｋ）の信頼性が高められる。
【００９９】
（６）カルマンゲインＫｋがカルマンゲインマップ４８から選択されることによって、フィルタ処理部３８では、誤差共分散行列Ｐの時間更新や観測更新、カルマンゲインＫｋの演算が省略される。その結果、時間更新処理及び観測更新処理に関し、電池ＥＣＵ２０に必要とされる処理領域がさらに低減されるとともに処理時間の短縮も図られる。
【０１００】
なお、上記実施形態は、以下のように適宜変更して実施することもできる。
・フィルタ処理部３８は、式（９）（１１）（１２）に示される演算によってカルマンゲインＫｋを求めてもよい。こうした場合、初期条件データ４９には、誤差共分散行列Ｐの初期行列、例えば温度計測値ＴやＳＯＣ初期値ＳＯＣ（０）に応じた行列が規定されたデータが追加される。また、記憶部２７には、例えば温度計測値ＴとＳＯＣ推定値ＳＯＣ（ｋ−１）とに応じた状態推定誤差の重み行列Ｑ及び計測誤差の重み行列Ｒが規定されたデータが追加される。パラメータ設定部３１は、温度計測値ＴとＳＯＣ推定値ＳＯＣ（ｋ−１）とに応じた重み行列Ｑ，Ｒを上記データから読み出して、その読み出した重み行列Ｑ，Ｒをフィルタ処理部３８に出力する。なお、これらの重み行列Ｑ，Ｒは、電圧モデル誤差推定値δＶｍ（ｋ）に応じて、すなわち電圧モデルの信頼性に応じて選択されてもよい。
【０１０１】
・カルマンゲインマップ４８には、温度計測値ＴとＳＯＣ推定値ＳＯＣ（ｋ）とに応じたカルマンゲインＫｋが規定されている。これに限らず、カルマンゲインマップ４８からカルマンゲインＫｋを選択するための条件は、温度計測値Ｔのみであってもよいし、ＳＯＣ推定値ＳＯＣ（ｋ）のみであってもよい。また、この条件には、電圧計測値Ｖｍｅａｓや電流計測値ｃｕｒ（ｋ）等、電池ブロック１６の状態を示す他の条件が含まれてもよい。
【０１０２】
・内部抵抗値ｄｃｉｒを選択するための条件は、温度計測値Ｔの他、例えばＳＯＣ推定値ＳＯＣ（ｋ−１）等、電池ブロック１６の状態を示す他の条件を含んでいてもよい。
・線形分極時定数τｌｐを選択するための条件は、温度計測値ＴとＳＯＣ推定値ＳＯＣ（ｋ）に加えて、例えば電圧計測値Ｖｍｅａｓ等、電池ブロック１６の状態を示す他の条件を含んでいてもよい。線形分極ゲインＫｌｐ及びヒステリシス収束係数γについても同様である。
【０１０３】
・充電効率ηｃを選択するための条件は、温度計測値Ｔに加えて、例えばＳＯＣ推定値ＳＯＣ（ｋ）等、電池ブロック１６の状態を示す他の条件を含んでいてもよい。
・上記実施形態では、ＳＯＣ推定値ＳＯＣ（ｋ）は、電流計測値ｃｕｒ（ｋ）からオフセット電流推定値δｃｕｒ（ｋ）を除いた電流値を積算することにより求められている。これに限らず、ＳＯＣ推定値ＳＯＣ（ｋ）は、例えば、電流計測値ｃｕｒ（ｋ）からオフセット電流推定値δｃｕｒ（ｋ−１）を除いた電流値、すなわち電流推定値ｃｕｒｅｓｔ（ｋ）の積算により求めてもよい。
【０１０４】
・電池ＥＣＵ２０は、ハイブリッド自動車や電気自動車に限らず、他の電気機器に対しても適用可能である。
・電池ブロック１６を構成する二次電池は、ニッケル水素電池に限らず、ニッケルカドミウム電池やリチウムイオン電池等であってもよい。
【符号の説明】
【０１０５】
１０…電池パック、１５…組電池、１６…電池ブロック、２０…電池ＥＣＵ、２１…電圧計測部、２２…電流計測部、２３…温度計測部、２５…制御部、２６…主制御部、２７…記憶部、３０…電流推定部、３１…パラメータ設定部、３２…内部抵抗電圧演算部、３３…線形分極電圧演算部、３４…ヒステリシス電圧演算部、３５…起電圧演算部、３６…電圧推定部、３７…電圧誤差演算部、３８…フィルタ処理部、４１…内部抵抗マップ、４２…線形分極時定数マップ、４３…線形分極マップ、４４…ヒステリシス収束係数マップ、４５…ヒステリシス電圧目標値マップ、４６…充電効率マップ、４７…起電圧マップ、４８…カルマンゲインマップ、４９…初期条件データ、５１…時間更新部、５２…電圧誤差推定部、５３…観測残差演算部、５４…観測更新部、５６…ＳＯＣ推定部、５７…パックＳＯＣ推定部、１００…車両ＥＣＵ。
【図１】
2014182072.tif 000030
【図２】
2014182072.tif 000031
【図３】
2014182072.tif 000032
【図４】
2014182072.tif 000033
【図５】
2014182072.tif 000034
【図６】
2014182072.tif 000035