(57)【要約】【課題】ニューラルネット演算式二次電池の内部状態推定における電池温度変動による推定精度低下を低減可能な二次電池の内部状態検出装置を提供すること。【解決手段】電池温度の真値と、電池温度の真値より温度センサの検出誤差にほぼ等しい温度差だけ離れた温度大値及び温度小値をニューラルネットワーク部に学習させる。この学習済みのニューラルネットワーク部に温度センサで検出した電池温度を入力してSOCを演算すると、SOC演算精度を大幅に向上することができる。【選択図】図９
2008232758.tif 000002
【特許請求の範囲】
【請求項１】
モデルとしての二次電池の温度を含む電池状態量を入力パラメータとし前記二次電池の所定の内部状態量を出力パラメータとする所定のニューラルネットワークに前記電池状態量の真値の組み合わせを多数回入力して前記ニューラルネットワークを学習させ、
検出すべき二次電池の前記電池状態量を定期的に検出し、
前記学習済みニューラルネットワークに前記電池状態量の検出値を入力して前記二次電池の前記出力パラメータを推定する二次電池の状態量演算方式において、
前記ニューラルネットワークの学習に際して、前記モデルとしての二次電池の温度の真値より小さい温度小値、及び、前記モデルとしての二次電池の温度の真値より大きい温度大値を、前記モデルとしての二次電池の温度の真値とともに前記ニューラルネットに入力し、
前記温度小値及び温度大値と前記温度の真値との差の絶対値は、前記温度センサの検出誤差の最大値の絶対値にほぼ等しく設定されることを特徴とする二次電池の状態量演算方式。
【請求項２】
請求項１記載の二次電池の状態量演算方式において、
前記ニューラルネットワークの学習に際して、前記ニューラルネットワークへの前記温度の真値の入力回数は、前記ニューラルネットワークへの前記温度小値及び前記温度大値の入力回数よりも実質的に大きく設定される二次電池の状態量演算方式。
【請求項３】
請求項１又は２記載の二次電池の状態量演算方式において、
前記電池状態量は、前記温度に加えて開路電圧比を含む二次電池の状態量演算方式。
【請求項４】
観測対象の観測状態量を検出するセンサと、前記センサの出力信号又はこの出力信号を入力変数とする所定の関数値を入力パラメータとしてニューラルネット演算を行って前記観測状態量とは異なる前記観測対象の所定の目的状態量を出力パラメータとして出力するニューラルネットワークとを有し、
前記ニューラルネットワークは、前記出力信号又は前記関数値の真値と前記目的状態量の真値との組み合わせを多数回学習済みであるニューラルネット式状態量推定装置において、
前記ニューラルネットワークは、
前記出力信号又は前記関数値の真値と前記目的状態量の真値との関係を学習させるのに加えて、前記出力信号又は前記関数値に所定のセンサ検出誤差量を加減算した値と前記目的状態量の真値との関係も予め学習済みであることを特徴とするニューラルネット式状態量推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネット式状態量推定装置に関し、特にニューラルネットを用いた二次電池の内部状態検出装置の改良に関する。
【背景技術】
【０００２】
車両用に用いられる二次電池は、容量管理や安全管理の必要性から内部状態を高精度に推定する必要がある。このため、二次電池の内部状態量（例えば擬似開路電圧、内部抵抗、充電率・残存容量など）を演算する内部状態量演算装置が従来より種々提案されていた。しかしながら、二次電池の内部状態は極めて複雑な電気化学現象であるため高精度に内部状態量を推定する良い方法は未だ知られていなかった。
【０００３】
この問題に鑑み、下記の特許文献１、２は、ニューラルネットワークの優れた学習機能を二次電池の充電率（ＳＯＣ）推定に用いることを提案している。
【特許文献１】特開平9-243716号公報
【特許文献２】特開2003-249271号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記した特許文献のニューラルネットワークを用いた二次電池の内部状態推定（以下、ニューラルネット演算法とも称する）を用いれば、二次電池から検出した検出値である電流・電圧値や温度、あるいはこれら検出値から演算した内部インピーダンスなどを入力パラメータ（入力信号）として求め、入力信号と充電率との相関関係を予め事前学習したニューラルネットワークにこれら入力信号を入力することによって充電率の推定を行うことができる。このニューラルネット演算法によれば、それまでの関数演算型の内部状態量算出方式に比べて推定精度を改善することが判明している。
【０００５】
しかしながら、電池温度が種々変化した場合、ニューラルネット演算法以外の従来方式の推定精度が低下することはもちろんであるが、たとえば電池温度などを検出するセンサの検出誤差により、ニューラルネットへの入力情報とニューラルネット内部の学習情報との相関性が低下し、その結果としてニューラルネット演算法の推定精度がかなり低下することがわかった。この問題を改善するには、用いるセンサの検出精度を向上させればよいが、それには経済的、技術的な限界がある。
【０００６】
つまり、ニューラルネットを用いた観測対称の状態量推定の精度は、センサの検出精度に大きく依存するという問題があった。
【０００７】
本発明は上記問題点に鑑みなされたものであり、センサの検出誤差にもかかわらずニューラルネットを用いた観測対称の状態量推定精度の向上が可能であり、特にニューラルネット演算式二次電池の内部状態推定における推定精度低下を低減可能な二次電池の内部状態検出装置を提供することをその目的としている。
【課題を解決するための手段】
【０００８】
上記課題を解決する本発明は、モデルとしての二次電池の温度を少なくとも含む電池状態量を入力パラメータとし前記二次電池の所定の内部状態量を出力パラメータとする所定のニューラルネットワークに前記電池状態量の真値の組み合わせを多数回入力して前記ニューラルネットワークを学習させ、検出すべき二次電池の前記電池状態量を定期的に検出し、前記学習済みニューラルネットワークに前記電池状態量の検出値を入力して前記二次電池の前記出力パラメータを推定する二次電池の状態量演算方式において、前記ニューラルネットワークの学習に際して、前記モデルとしての二次電池の温度の真値より小さい温度小値、及び、前記モデルとしての二次電池の温度の真値より大きい温度大値を、前記モデルとしての二次電池の温度の真値とともに前記ニューラルネットに入力し、前記温度小値及び温度大値と前記温度の真値との差の絶対値は、前記温度センサの検出誤差の最大値の絶対値にほぼ等しく設定されることを特徴としている。
【０００９】
すなわち、この発明は、ニューラルネットワークの学習に際して、電池温度の真値だけでなく、それより温度センサの検出誤差の最大値だけ略小さい温度小値及び略大きい温度大値も併せて入力する。これにより、ニューラルネットワークは、温度の真値と出力パラメータとの相関に加えて、温度大値や温度小値と出力パラメータとの相関も学習することになる。このため、その後におけるニューラルネットワークの運用に際して、温度検出値が温度の真値から外れることによるニューラルネットワークの出力パラメータ推定誤差の低下は、温度検出値が温度大値又は温度小値に近づくことによるニューラルネットワークの出力パラメータ推定誤差の向上によりある程度相殺されるため、温度検出誤差によるニューラルネットワークの推定誤差の増大を抑止することができる。実験結果によれば、本発明の推定方式を用いると、ニューラルネット演算法における電池温度（検出値）の変動による内部状態量推定誤差増大を良好に低減できることがわかった。
【００１０】
なお、温度センサの検出誤差の最大値の絶対値は、市販の温度センサでは使用温度範囲において予め測定されて仕様に記載されているのが通常である。温度センサを内製する場合には予め実測しておくことができる。なお、温度小値や温度大値と温度の真値との間の差は、温度センサの想定温度範囲における温度検出誤差の最大値に近似する値とすればよく、１０％程度異なってもよい。
【００１１】
本発明の特徴を更に具体的に説明する。
【００１２】
二次電池特に車両用二次電池の電池温度の正確な計測は簡単ではない。温度が電解液や電解質におけるイオン移動速度に大きな影響を与えることを考慮すると、電池温度として電解液や電解質の温度が直接計測することが必要であるが、各種の温度センサにより電解液や電解質の温度を直接計測することは電池構造の点から困難である。このため、蓄電装置の缶体外表面や外部端子の温度（電池外部温度と言う）を計測して内部の電解液や電解質の温度（電池内部温度と言う）としたり、あるいはこれら電池外部温度に所定の演算を行って電池内部温度を推定することも考えられるが、真正な電池内部温度を推定することは容易なことではない。このため上記した電池外部温度の検出値（検出温度と言う）と電池内部温度（電池温度の真値）との間にはある程度の温度検出誤差ΔTが必然的に発生した。典型的な車両用二次電池における上記温度検出誤差ΔTは約１０℃であることが判明している。
【００１３】
つまり、電池の温度（正確には電池の検出温度）をニューラルネット演算法の入力パラメータとして入力することを想定した場合、この入力パラメータとしての検出温度は、他の入力パラメータである電池電圧の検出値や電池電流の検出値に比べて大幅な検出誤差を内包している点が大きく異なる。このため、電池の検出温度をニューラルネットに入力する場合、不正確な入力パラメータが導入されることになり、これに起因してかえってニューラルネットの推定精度が低下することが予想される。
【００１４】
本発明はこの問題点に着目して開発された。本発明では、ニューラルネットワークの学習に際して電池温度の真値に加えて、その検出誤差だけ上下にずれた温度小値及び温度大値もニューラルネットワークに入力パラメータとして入力する。これはある意味において、電池温度としてある温度幅をもつ温度情報を入力パラメータとしてニューラルネットワークの学習を行うことに相当する。これによれば、温度センサの検出誤差が大きい場合に出力パラメータ推定誤差が大幅に大きくなるという不具合を低減できることがわかった。
【００１５】
なお、ニューラルネットワークに学習させ、その後のニューラルネットワークの演算による出力パラメータの算出に用いる電池状態量としては、上記温度の他、二次電池の電圧データ及び電流データを追加することができる。この電圧データ及び電流データは、直近の所定期間においてサンプリングした電圧や電流の履歴、つまり現時点までの所定期間の間に定期的にサンプリングした二次電池の電圧値や電流値の集合である。これら電圧値及び電流値は、電圧・電流ペアとして同時にサンプリングされることが好適である。この電圧・電流ペアは、直近の所定期間における電圧、電流履歴とすることができる他、それらの平均値を採用してもよい。
【００１６】
上記で言うニューラルネット演算方式として、公知の種々のニューラルネット演算方式を採用することができる。このニューラルネット演算を行うプログラムをもつマイクロコンピュータにより、ニューラルネットを構築することができる。
【００１７】
ニューラルネットワークは、電池状態量を入力パラメータとして取り込む入力層と、二次電池のたとえば蓄電状態量を出力パラメータとして出力する出力層と、入力層と出力層との間に配置されてそれぞれ所定の演算を行う所定段数の中間層とを有する。中間層は、前段の中間層又は入力層に対して所定の結合係数で重み付けられて結合され、かつ次段の中間層又は出力層に対して所定の結合係数で重み付けられて結合されている。各結合係数は、学習により書き換え可能な結合係数記憶テーブルとして記憶されることができる。
【００１８】
その他、ニューラルネットワークに学習させたり、その後の出力パラメータ演算のために入力したり電池状態量（入力パラメータ）としては、既知の式により演算した二次電池の内部抵抗、開路電圧、二次電池の分極量に相関を有する分極相関量などを追加することもできる。内部抵抗や開路電圧は、過去の電圧・電流データから従来通り近似的に演算することができる。
【００１９】
また、前記温度の検出値は、前記学習済みのニューラルネットワークに入力される前に所定の演算により前記検出誤差低減のための補正をなされた補正済み検出値としてもよい。すなわち、温度センサは二次電池の外郭表面（外部端子表面を含む）に接した状態で配置されることを考えると、この温度センサから得られる温度検出値は、二次電池の周囲温度と、二次電池内部の発熱量（抵抗損）と、電池内部の発熱部から上記外郭までの経路の伝達熱抵抗及び熱容量と、外郭から周囲の熱源までの経路の熱抵抗及び熱容量に依存する関数となる。したがって、これらを加味した二次電池の放熱回路モデルの演算により検出温度をある程度補正することができ、この補正した温度を補正済み検出値として採用することができる。
【００２０】
好適な態様において、前記ニューラルネットワークの学習に際して、前記ニューラルネットワークへの前記温度の真値の入力回数は、前記ニューラルネットワークへの前記温度小値及び前記温度大値の入力回数よりも実質的に大きく設定される。このようにすれば、ニューラルネットワークの運用に際して、温度センサが検出する温度の検出値は、温度小値や温度大値よりも温度の真値に近い確率が大きいため、ニューラルネットワークの学習に際して温度の真値、温度大値、温度小値をニューラルネットワークに均等に入力する場合に比べて、出力パラメータの推定誤差を低減することができる。
【００２１】
好適な態様において、ニューラルネットワークに学習させたり、その後の出力パラメータ演算のために入力したり電池状態量（入力パラメータ）としては、電池の温度に加えて開路電圧比を追加することが検出精度向上のために好適であることがわかった。
【００２２】
上記説明では、観測対象としての電池からセンサが検出する状態量（観測状態量）を電池温度とし、この電池温度の想定する所定の検出誤差量を電池温度の真値に加減算した値（温度小値又は温度大値）と、電池の目的とする状態量（目的状態量）の真値との関係を予めニューラルネットワークに学習させ、これにより観測状態量の検出誤差によるニューラルネットワークの学習系における観測状態量と目的状態量との相関性低下を低減した。
【００２３】
その他、上記観測状態量を入力変数とする関数の値を演算してニューラルネットワークに入力パラメータとして入力する場合には、当然、観測状態量の検出誤差がこの関数の値の誤差を生じさせる。そこで、上記観測状態量を入力変数とする関数の値を演算してニューラルネットワークに入力パラメータとして入力する場合において、観測状態量の想定する所定の検出誤差量を加減算した値に基づいて得た上記関数の値（関数小値、関数大値）と、電池の目的とする状態量（目的状態量）の真値との関係を予めニューラルネットワークに学習させ、これにより観測状態量の検出誤差による前記関数の値のばらつきに起因するニューラルネットワークの学習系における上記関数の値と目的状態量との相関性低下を低減することもできる。上記関数の値としては、たとえば内部抵抗、開路電圧、分極量などが挙げられる。
【００２４】
その他、上記したセンサ誤差によるニューラルネットワークの推定誤差低減技術は、電池以外の観測対象に対しても当然有効であるはずである。
【００２５】
この観測対象の範囲を拡大した場合の本発明は以下のように定義される。
【００２６】
「観測対象の観測状態量を検出するセンサと、前記センサの出力信号又はこの出力信号を入力変数とする所定の関数値を入力パラメータとしてニューラルネット演算を行って前記観測状態量とは異なる前記観測対象の所定の目的状態量を出力パラメータとして出力するニューラルネットワークとを有し、前記ニューラルネットワークは、前記出力信号又は前記関数値の真値と前記目的状態量の真値との組み合わせを多数回学習済みであるニューラルネット式状態量推定装置において、前記ニューラルネットワークは、前記出力信号又は前記関数値の真値と前記目的状態量の真値との関係を学習させるのに加えて、前記出力信号又は前記関数値に所定のセンサ検出誤差量を加減算した値と前記目的状態量の真値との関係も予め学習済みであることを特徴とするニューラルネット式状態量推定装置」
なお、上記で言う「出力信号又は関数値の真値」とは、センサの出力信号の真値、もしくは、この出力信号の真値を入力変数の値とする所定の関数の出力変数の値である関数値を言う。センサの出力信号が真値である場合の関数値である上記関数値の真値は、予め記憶する関数式（又はマップ）に出力信号の真値を入力して演算することにより得られる。
【００２７】
「所定のセンサ検出誤差量」とは、センサの既知の検出精度に基づいて決定することができる。たとえば、「所定のセンサ検出誤差量」は、好適には、センサの既知の検出精度から導出される誤差の最大値の絶対値とすることができ、あるいはその５０〜１００％のうちのいずれかの値とすることもできる。このようにすれば、学習済みのニューラルネットワークにおける入力パラメータと出力パラメータとの相関性がセンサ出力の検出誤差により低下する不具合を簡単な方法で抑止することができる。
【発明を実施するための最良の形態】
【００２８】
本発明の二次電池の残存容量演算方式を以下に説明する。
【００２９】
（ニューラルネットワーク型二次電池の状態量演算方式の原理説明）
まず、ニューラルネットワーク式の二次電池の状態量演算方式の原理を以下に説明する。
【００３０】
まず、回路構成を図１に示すブロック図を参照して説明する。
【００３１】
１０１は本発明の二次電池をなす車載の蓄電装置（以下、バッテリとも呼ぶ）である。バッテリ１０１は、鉛二次電池、ニッケル水素吸蔵合金二次電池、リチウム二次電池などにより構成されることができる。１０２は図示しないエンジンにより駆動される車載の発電機、１０３は車載の電気負荷、１０４はバッテリ１０１の充放電電流を検出する電流センサ、１０５はバッテリ１０１の状態を推定する蓄電池状態検知装置、１０６はバッファ部、１０７はニューラルネットワーク部である。バッファ部１０６は、バッテリ１０１から検出した電圧V、電流I、温度Tを入力し、電圧V、電流Iの入力値を記憶するとともに、これら入力値や記憶値をニューラルネットワーク部１０７に出力する。ニューラルネットワーク部１０７は、入力された信号を演算して電池状態量としてＳＯＣを推定し、推定したＳＯＣをエンジン制御装置（ECU）１０８に出力する。ECU１０８は、入力されたＳＯＣやその他のエンジン状態量や車両状態量に基づいて発電量を演算し、それを発電制御装置１０９に入力する。発電制御装置１０９は、入力された発電量にもとづく発電を発電機１０２に指令する。１１０はバッテリ１０１の外郭に当接されてバッテリ温度を検出する温度センサである。
【００３２】
（バッファ部１０６及びニューラルネットワーク部１０７の基本動作）
バッファ部１０６及びニューラルネットワーク部１０７はマイコン装置によるソフトウエア演算により実現されるが、専用のハードウエア回路により構成されてよいことはもちろんである。
【００３３】
バッファ部１０６は、定期的に入力され、記憶された直前の所定個数の電圧・電流ペアに基づいて公知の方式により開路電圧Ｖｏを演算し、これらの開路電圧Ｖｏも入力パラメータとしてニューラルネットワーク部１０７に入力する。更に、バッテリ１０１の内部抵抗Rを演算してニューラルネットワーク部１０７に入力してもよい。
【００３４】
開路電圧Ｖｏ及び内部抵抗Ｒを演算する方法を簡単に説明する。まず、上記所定個数の電圧・電流ペアから最小自乗法により電圧Ｖと電流Ｉとの関係を示す直線近似式Ｌを作成し、この直線近似式Ｌにより切片（開路電圧Ｖｏ）及び／又は傾斜（内部抵抗Ｒ）を電圧Ｖと電流Ｉとのペアが入力されるごとに演算して開路電圧Ｖｏ及び内部抵抗Ｒとして出力する。この種の最小自乗法を用いた直線近似式Ｌの創成と、この直線近似式Ｌを用いた開路電圧Ｖｏや内部抵抗Ｒの抽出自体は公知事項であるため、更なる説明は省略する。その他、バッテリ１０１の分極に関する電気量である分極相関量を上記電圧・電流ペアから演算し、入力パラメータとしてニューラルネットワーク部１０７に入力しても良い。
【００３５】
次に、上記したニューラルネット演算について図２に示すブロック図を参照して説明する。
【００３６】
学習済みのニューラルネットワーク部１０７は３階層のフィードフォワード型で誤差逆伝播方法により学習する形式であるが、この形式に限定されるものではない。ニューラルネットワーク部１０７は、入力層２０１、中間層２０２及び出力層２０３により構成されている。ただし、ニューラルネットワーク部１０７は、実際には所定の演算インタバルで実施されるソフトウエア処理により構成される。つまり、ニューラルネットワーク部１０７は、実際にはマイコン回路のソフトウエア演算により構成されるため、図１に示す回路構成は機能的なものにすぎない。入力層２０１の各入力セルは入力パラメータを個別に受け取り、入力データとして中間層２０２の各演算セルすべてに出力する。中間層２０２の各演算セルは、入力層２０１の各入力セルから入力される各入力データに後述するニューラルネット演算を行い、演算結果を出力層２０３の出力セルに出力する。出力層２０３の出力セルは、この実施例では充電率（SOC）を出力する。
【００３７】
（ニューラルネットワーク部１０７の学習方法）
図２に示すニューラルネットワーク部１０７の学習方法について以下に説明する。
【００３８】
ニューラルネットワーク部１０７の入力層201のｊ番目のセルの入力データをIj、入力層201のｊ番目と中間層202のｋ番目のセルの結合係数をＷjkとすると中間層のｋ番目のセルへの入力信号は、
INPUTk(t)＝Σ( Wjk * Ij )             ( j = 1 to ２ｍ+3 )
となる。中間層のｋ番目のセルからの出力信号は、
OUTk(t)＝ｆ(ｘ)＝ｆ( INPUTk(t) + b )
で表される。ｂは定数である。ｆ( INPUTk(t) + b) は INPUTk(t) ＋ｂを入力変数とするいわゆるシグモイド関数と呼ばれる非線形関数であり、
f (INPUTk(t) + b )＝１／（１＋exp（−（ INPUTk(t) + b）））
で定義される関数である。中間層202のｋ番目のセルと出力層203のセルとの結合係数をＷkとすれば、出力層への入力信号INPUTｏ(t)は同様に、
INPUTｏ(t)＝Σ Wk * OUTk(t)
k＝1 to Q
で定義される。 Qは中間層202のセル数である。時刻ｔにおける出力信号は、
OUTsoc(t)＝L * INPUTｏ(t)
となる。Ｌは線形定数である。
【００３９】
この明細書で言う学習過程とは、時刻ｔにおける最終出力OUTsoc(t)と、あらかじめ測定した教師信号（即ち真値tar(t)）との間の誤差を最小にするように各セル間の結合係数を最適化することである。なお、出力OUTsoc(t)は、出力層２０３が出力すべき出力パラメータであり、ここでは時点ｔにおけるＳＯＣである。
【００４０】
次に各結合係数の更新方法について説明する。
【００４１】
中間層のｋ番目のセルと出力層のセル間の結合係数Wkの更新は、
Wk ＝ Wk + △Wk    
で行われる。ここで△Wkは以下で定義される。
【００４２】
△Wk = −η*∂Ek／∂Wk                      η；定数
= η* { OUT(t) − tar(t) }* { ∂OUTsoc(t)／∂Wk }
= η* { OUTsoc(t) − tar(t) }* L *{ ∂INPUTｏ(t)／∂Wk }
= η* L* { OUTsoc(t) − tar(t) } * OUTk(t)
で表される。Ekは教師データとネットワーク出力の誤差を表す量で次の式で定義される。      
【００４３】
Ek＝{ OUT(t) − tar(t) }×{ OUT(t) − tar(t) }／2
次に、中間層202のｋ番目のセルと入力層201のｊ番目のセルの結合係数Ｗjkの更新ルールを説明する。結合係数Wjkの更新は以下の式で実現される。
【００４４】
Wjk ＝ Wjk ＋ △Wjk
ここで△Ｗjkは以下で定義される。
【００４５】
△Wjk ＝ −η*∂Ek／∂Wjk
＝ −η*{∂Ek／∂INPUTk(t) } * {∂INPUTk(t)／∂Ｗjk }
＝ −η*{∂Ek／∂OUTk(t) } *{∂OUTk(t)／∂INPUTk(t) } * Ij
＝ −η*{∂Ek／∂OUTsoc(t) } * {∂OUTsoc(t)／∂INPUTｏ} * 
{∂INPUTｏ／OUTk(t) } * ｆ’（INPUTk(t)＋ｂ）* Ij
＝  −η*( OUTsoc(t)−tar(t)) *Ｌ* Ｗk *ｆ’（INPUTk(t)＋ｂ）* Ij
＝  −η* L * Wk * Ij * ( OUTsoc(t)−tar(t))* f’(INPUTk(t)＋ｂ)
ここで、ｆ’（INPUTk(t)＋ｂ）は伝達関数f（INPUTk(t)＋ｂ）の微分値である。
【００４６】
こうして更新された新たな結合係数 Wk、Wjk で再び出力OUTsoc(t)すなわち時点ｔにおけるＳＯＣを計算し、誤差関数Ekが所定の微小値以下になるまで結合係数を更新しつづける。このように誤差関数Ekを所定値以下になるよう結合係数を更新してゆくことにより、ニューラルネットワーク部１０７は学習を行う。
【００４７】
上記学習過程のフローチャートを図３に示す。ただし、ニューラルネットワーク部１０７が出力するべき蓄電状態量はSOC(充電率)とするが、残存容量（ＳＯＨ）でもよい。
【００４８】
まず、ニューラルネットワーク部１０７の各結合係数の適当な初期値を設定する（ステップ302）。これは例えば乱数などにより適当に決定すればよい。次に、学習用の入力信号をニューラルネットワーク部１０７の入力層201の各セルに個別に入力し（ステップ303）、この入力信号を上記した結合係数の初期値を用いてニューラルネット演算することにより出力パラメータとしてのSOCを算出する（ステップ304）。次に、上記した方法で誤差関数Ｅｋを算出し（ステップ305）、この誤差関数が所定の微小値ｔｈより小さいか否か判定する（ステップ306）。誤差関数Ｅｋが微小値ｔｈより大きければ、前記学習過程で定義された各結合係数の更新量△Ｗを計算し（ステップ307）、各結合係数を更新する（ステップ308）。次に、再び学習用の入力信号を入力層201の各セルに入力してSOCを計算する。次に、誤算関数Ｅｋを評価してそれが微小値ｔｈを下回れば学習を完了したと判定して（ステップ309）、この学習課程を終了する。誤差関数Ｅｋが微小値を下回ってなければ、結合係数を再び更新してSOC計算し、誤差関数Ｅｋの評価を実施し、誤差関数Ｅｋがこの微小値を下回るまでこのプロセスを繰り返す。
【００４９】
このように、入力信号と出力信号（ＳＯＣ）との関係を事前に学習したニューラルネットワーク部１０７を装備することにより、バッテリ１０１のＳＯＣを良好に推定することが可能となる。
【００５０】
（この実施形態で用いた入力パラメータ）  
次に、ニューラルネットワークの学習及びその後のＳＯＣ演算自体はいままで説明した方法と同じであるが、学習及びその後のＳＯＣニューラルネット演算においてニューラルネットワーク部１０７の入力パラメータとして、擬似開路電圧比及び電解液温度だけを用いた場合について以下に説明する。
【００５１】
すなわち、この参考例では、予め求めた擬似開路電圧比と電解液温度とＳＯＣとのデータセットをニューラルネットワーク部１０７に多数回代入してニューラルネットワーク部１０７に学習を行わせ、その後のニューラルネットワーク部１０７によるＳＯＣ演算においても、ニューラルネットワーク部１０７には疑似開放電圧比及び電解液温度だけが入力パラメータとして入力される。
【００５２】
図４はこの学習過程を示すニューラルネットワーク部１０７のブロック図である。
【００５３】
擬似開路電圧比の算出法を図５を参照して説明する。ここで言う擬似開路電圧比とは、特定のSOC(例えばSOC 90%)での擬似開路電圧値Vofと、各SOCで検出された擬似開路電圧値Voとの比として定義される。まず、エンジン始動時の大電流放電時の電流・電圧特性線３００から、内部抵抗値R(電流・電圧の回帰直線の傾き)を算出する。その後、発電電圧を所定の調整電圧値に一致させる通常の定電圧発電制御を行うことによりバッテリ１０１の定電圧充電を60sec間だけ行う。次に、この定電圧充電終了直後の電流値Ibと電圧値Vbにより指定される座標点を通り、先に算出した内部抵抗値Rを傾きとする電流・電圧特性線３０１を求める。この電流・電圧特性線３０１であるVo=Vb-R*Ibから擬似開路電圧値Voを算出する。なお、上記した擬似開路電圧の算出は電流変化が大きいエンジン始動直後に行うことが好適であるが、それに限定されるものではない。
【００５４】
電解液温度と擬似開路電圧比とSOCとの関係を図６に示す。電解液温度によって、擬似開路電圧比とSOCの関係が変化することがわかる。また、図６から、疑似開放電圧比と電解液温度とが分かればＳＯＣを推定できることがわかる。
【００５５】
なお、正確には、この実施形態では、後述するように、ニューラルネットワーク部１０７によるＳＯＣ演算においては電解液温度として温度センサにより検出した温度検出値を用いて推定した電解液温度推定値を用いた。なお、この推定は、二次電池の缶体外表面に接着された温度センサの検出温度と電解液温度との誤差を低減するためになされるものである。ここで、温度検出値Tdから電解液温度推定値Tpを求める方法の一例を以下に説明する。10secごとにサンプリングされた温度検出値Tdに対し、加重平均(1/1024なまし)した値を推定値とする。計算式は、Tp(n)を温度検出値、Tp(n-1)を温度検出値の前回値とし、次式で表される。
【００５６】
Tp(n) = Tp(n-1)*1023/1024 + Td*1/1024
（参考例）
次に、入力パラメータとして用いる電解液温度としてその真値だけを用い、ニューラルネットワーク部１０７によるＳＯＣ演算においては電解液温度として温度センサにより検出した温度検出値を用いて推定した電解液温度推定値を用いた参考例について説明する。
【００５７】
まず学習について説明する。
【００５８】
この参考例では、学習時において、下記の表１に記載した電解液温度（真値）をニューラルネットワーク部１０７に入力した。電解液温度（真値）は、熱電対などにより電解液温度を直接測定した。
【００５９】
なお、下記の表１におけるバッテリＡ〜Ｅは、電解液温度が異なる同一バッテリとした。
【００６０】
【表１】
2008232758.tif 000003
【００６１】
この参考例のニューラルネットワーク部１０７の学習時及びその後のＳＯＣ演算時のブロック図を図７に示す。
【００６２】
（学習後のＳＯＣ演算）
当然のことながら、学習時において擬似開路電圧比が入力される入力層の入力セルには、その後のニューラルネットワーク部１０７の適用において同じくこの擬似開路電圧比を演算して入力される。同様に、学習時においてニューラルネットワーク部１０７の電解液温度が入力される入力層の入力セルには、その後のニューラルネットワーク部１０７の運用において温度センサ１１０の検出温度から推定した電解液温度推定値が入力される。
【００６３】
次に、この参考例の学習済みニューラルネットワーク部１０７に電解液温度として真値、真値＋１０℃、真値−１０℃を入力した場合のＳＯＣ検出誤差を図８を参照して説明する。同時に入力される疑似開放電圧比は真値、真値＋１０℃、真値−１０℃で等しくした。図８において丸は真値、三角は真値＋１０℃、四角は真値−１０℃である。なお、各電解液温度ごとに求めた疑似開放電圧比が演算されてニューラルネットワーク部１０７に入力パラメータとして入力された。図８の横軸は電流積算により求めたＳＯＣ値であり、縦軸は参考例のニューラルネットワーク又は実施例のニューラルネットワークで求めたＳＯＣ検出値である。
【００６４】
図８から、電解液温度の推定値が正しく入力された場合(真値0℃が入力された場合)に比べて、10℃だけ大きい推定誤差がある温度検出値がニューラルネットワーク部１０７に入力された場合、ＳＯＣ検出値は＋9.6%となり、10℃だけ小さい推定誤差がある温度検出値がニューラルネットワーク部１０７に入力された場合、ＳＯＣ検出値は−11.6%となり、検出誤差が増大することがわかる。
【００６５】
（実施例）
次に、ニューラルネットワーク部の学習において、電解液温度の真値と、それよりも＋１０℃高い温度大値と、それよりー１０℃低い温度小値とを用いる実施例について説明する。ただし、この学習済みのニューラルネットワーク部１０７によるＳＯＣ演算における電解液温度としては、参考例と同じく既述の電解液温度推定値を用いた。すなわち、この実施例では、学習時において、ニューラルネットワーク部１０７に入力する一つの入力パラメータとしての電解液温度を下記の表２に示す。なお、表１におけるバッテリＡ〜Ｅは、電解液温度が異なる同一バッテリとした。
【００６６】
【表２】
2008232758.tif 000004
【００６７】
この実施例のニューラルネットワーク部１０７の学習時及びその後のＳＯＣ演算時のブロック図を図９に示す。
【００６８】
なお、学習後のＳＯＣ演算は、既述の参考例と同じとした。
【００６９】
（学習後のＳＯＣ演算）
次に、この実施例の学習済みニューラルネットワーク部１０７に電解液温度として真値、真値＋１０℃、真値−１０℃を入力した場合のＳＯＣ検出誤差を図１０を参照して説明する。同時に入力される疑似開放電圧比は真値、真値＋１０℃、真値−１０℃で等しくした。図１０において丸は真値、三角は真値＋１０℃、四角は真値−１０℃である。なお、各電解液温度ごとに求めた疑似開放電圧比が演算されてニューラルネットワーク部１０７に入力パラメータとして入力された。図１０の横軸は電流積算により求めたＳＯＣ値であり、縦軸は参考例のニューラルネットワーク又は実施例のニューラルネットワークで求めたＳＯＣ検出値である。
【００７０】
図１０から、電解液温度の推定値が正しく入力された場合(真値0℃が入力された場合)に比べて、10℃だけ大きい推定誤差がある温度検出値がニューラルネットワーク部１０７に入力された場合、ＳＯＣ検出値は＋7.1%となり、10℃だけ小さい推定誤差がある温度検出値がニューラルネットワーク部１０７に入力された場合、ＳＯＣ検出値は−5.7%となり、検出誤差を大幅に減らせることがわかる。
【００７１】
（各種バッテリを学習した場合の説明）
次に、実際に、容量・劣化度合いが異なる８個のバッテリ（車両用鉛電池）について参考例（従来方法）の学習済みニューラルネットワークと、実施例（提案方法）の学習済みニューラルネットワークとでＳＯＣ検出誤差を比較した。ＳＯＣ検出誤差は、電流積算法で求めたＳＯＣと上記学習済みニューラルネットワークで求めたＳＯＣ検出値との差とした。
【００７２】
その結果を図１１に示す。図１１から、実施例によればＳＯＣ検出誤差を大幅に低減できることがわかる。
【００７３】
（変形態様１）
上記実施例のニューラルネットワーク部１０７の学習では、表２に示すように、温度真値と温度大値と温度小値とを等しくニューラルネットワーク部１０７の入力パラメータとした。けれども、温度センサが検出する温度検出値が温度真値に近い値である確率は、それが温度大値又は温度小値に近い値である確率よりも大きい。そこで、この変形態様は、表２で示す温度真値の学習回数は、温度大値又は温度小値の学習回数よりも多く、繰り返して学習時にニューラルネットワーク部１０７に入力される。たとえば、温度真値の学習回数は、温度大値又は温度小値の学習回数の３倍に設定される。これにより、温度検出誤差を更に低減することができる。
【００７４】
（変形態様２）
上記実施例のニューラルネットワーク部１０７の学習では、表２に示すように、温度真値と温度大値と温度小値とを等しくニューラルネットワーク部１０７の入力パラメータとした。けれども、温度センサが検出する温度検出値が温度真値に近い値である確率は、それが温度大値又は温度小値に近い値である確率よりも大きい。そこで、この変形態様は、温度真値を入力する複数の真値入力セルと、温度小値が入力される一つの温度小値入力セルと、温度大値が入力される一つの温度大値入力セルとを入力層の入力セル（入力端）として設け、学習させる。その後の学習済みニューラルネットワーク部１０７によるＳＯＣ演算では、これら真値入力セル、温度小値入力セル、温度大値入力セルに温度検出値を入力する。このようにすれば、変形態様１と同様の重み付けを行うことができる。
【００７５】
（変形態様３）
上記実施例では、ＳＯＣを演算するニューラルネットワークについて説明したが、ニューラルネットワーク部１０７の出力パラメータを、その他の二次電池の各種公知の内部状態量としてもよいことは明白である。
【００７６】
（まとめ）
上記実施形態では、観測対象としての電池から温度センサが検出する電池温度又はそれを補正した関数値をニューラルネットワークの入力パラメータとした場合の出力パラメータであるＳＯＣが、温度検出誤差により変動することを防止するため、予め温度検出誤差を加味した電池温度や温度検出誤差を加味した上記関数値と出力パラメータであるＳＯＣとの関係をニューラルネットワークに予め学習させる。
【００７７】
更に考えると、この発明思想は、観測対象として電池に限定されるものではなく、ニューラルネットワークの入力パラメータとしてのセンサは温度センサに限定されるものではなく、更に、ニューラルネットワークの入力パラメータとしては、センサ出力を入力変数とする所定の関数値であってもよいことは明白である。
【図面の簡単な説明】
【００７８】
【図１】実施例の二次電池の状態量演算装置を示すブロック回路図である。
【図２】図１のニューラルネットワーク部の基本構成例を示すブロック図である。
【図３】図２のニューラルネットワーク部の学習過程のフローチャートである。
【図４】学習時のニューラルネットワーク部を示すブロック図である。
【図５】疑似開放電圧を求める手順を示す説明図である。
【図６】疑似開放電圧比とＳＯＣと電解液温度との関係を示す特性図である。
【図７】参考例のニューラルネットワーク部を示すブロック図である。
【図８】図７の学習済みニューラルネットワーク部の各温度におけるSOC誤差を示す特性図である。
【図９】実施例のニューラルネットワーク部を示すブロック図である。
【図１０】図９の学習済みニューラルネットワーク部の各温度におけるSOC誤差を示す特性図である。
【図１１】実施例及び参考例のニューラルネットワーク部で演算した各種バッテリのＳＯＣ検出誤差を示す図である。
【符号の説明】
【００７９】
１０１      バッテリ
１０２      発電機
１０６      バッファ部
１０７      ニューラルネットワーク部
１０９      発電制御装置
１１０      温度センサ
２０１      入力層
２０２      中間層
２０３      出力層
３００      電圧特性線
３０１      電圧特性線
【図１】
2008232758.tif 000005
【図２】
2008232758.tif 000006
【図３】
2008232758.tif 000007
【図４】
2008232758.tif 000008
【図５】
2008232758.tif 000009
【図６】
2008232758.tif 000010
【図７】
2008232758.tif 000011
【図８】
2008232758.tif 000012
【図９】
2008232758.tif 000013
【図１０】
2008232758.tif 000014
【図１１】
2008232758.tif 000015