"バッテリの充放電電流値を検出する充放電電流検出手段と、前記バッテリの端子電圧値を検出する端子電圧検出手段と、前記充放電電流検出手段から入力された前記充放電電流値を積算して得た充電率とこの前に得た充電率とから前記バッテリの電流積算法充電率を推定する電流積算充電率推定手段と、前記充放電電流検出手段から入力された前記充放電電流値と前記端子電圧検出手段から入力された前記端子電圧値とに基づきバッテリ等価回路モデルを用いて前記バッテリの開放電圧値を推定し、該開放電圧値から開放電圧法充電率を推定する開放電圧法充電率推定手段と、前記開放電圧法充電率と前記電流積算法充電率との充電率差を演算する充電率差演算手段と、前記充電率差が入力されて、前記流積算充電率推定手段と前記開放電圧法充電率推定手段の計算間隔より長い間隔で、前記電流積算法充電率および前記開放電圧法充電率のうちの一方の推定誤差を推定する誤差推定手段と、前記電流積算法充電およびと前記開放電圧法充電率のうちの一方と前記推定誤差とから前記バッテリの充電率を求める充電率算出手段と、ことを特徴とするバッテリの充電率推定装置。請求項1に記載のバッテリの充電率推定装置において、前記開放電圧法充電率推定手段および前記誤差推定手段は、それぞれカルマンフィルタを用いる、ことを特徴とするバッテリの充電率推定装置。請求項1又は2に記載のバッテリの充電率推定装置において、前記誤差推定手段への、前記電流積算法充電率と前記開放電圧法充電率と前記充電率差との入力を、伝達、遮断間で切り替える第1切替手段と、前記充電率算出手段への、前記推定誤差の入力を、伝達、遮断間で切り替える第2切替手段と、のうちの少なくとも1つの切替手段を有する、ことを特徴とするバッテリの充電率推定装置。請求項1乃至3のいずれか1項に記載のバッテリの充電率推定装置において、前記電流積算充電率推定手段は、前記充放電電流検出手段の検出精度に関する情報が入力され、前記電流積算法充電率の分散を算出して前記誤差推定手段へ入力可能であり、前記開放電圧法充電率推定手段は、前記充放電電流検出手段および前記端子電圧検出手段の検出精度に関する情報が入力され、前記開放電圧法充電率の分散を算出して前記誤差推定手段へ入力可能であり、該誤差推定手段は、前記充電率差に加えて、前記電流積算充電率推定手段からの分散と、前記開放電圧法充電率推定手段からの分散と、が入力されて前記一方の推定誤差を推定する、ことを特徴とするバッテリの充電率推定装置。請求項1乃至4のいずれか1項に記載のバッテリの充電率推定装置において、前記電流積算法充電率推定手段は、前記前に得た充電率に前記充電率算出手段で得た充電率を用いて前記電流積算法充電率を推定する、ことを特徴とするバッテリの充電率推定装置。しかしながら、上記従来発明にあっては、第1の残存容量と第2の残存容量とを重み付け合成しているため、充電率推定の誤差を小さくしようとしているものの、以下の理由で十分とは言えない。すなわち、電流積算法では、計算間隔をできるだけ短くした方が、推定精度が上がるのに対し、開放電圧法では、計算間隔を短くすると、高周波ノイズが多く含まれるようになる。したがって、同じ計算間隔で得た第1の残存容量と第2の残存容量とをたとえ重み付けして合成したとしても、その推定精度はあまり良くならない。本発明は、上記不具合に鑑みなされたもので、その目的は、より高精度でバッテリの充電率の推定ができるようにしたバッテリの充電率推定装置を提供することにある。この目的のため、本発明の請求項1のバッテリの充電率推定装置は、バッテリの充放電電流値を検出する充放電電流検出手段と、バッテリの端子電圧を検出する端子電圧検出手段と、充放電電流検出手段から入力された充放電電流値を積算して得た充電率とこの前に得た充電率とからバッテリの電流積算法充電率を推定する電流積算充電率推定手段と、充放電電流検出手段から入力された充放電電流値と端子電圧検出手段から入力された端子電圧値とに基づきバッテリ等価回路モデルを用いてバッテリの開放電圧値を推定し、この開放電圧値から開放電圧法充電率を推定する開放電圧法充電率推定手段と、開放電圧法充電率と電流積算法充電率との充電率差を演算する充電率差演算手段と、充電率差が入力されて、電流積算充電率推定手段と開放電圧法充電率推定手段の計算間隔より長い間隔で、電流積算法充電率および開放電圧法充電率のうちの一方の推定誤差を推定する誤差推定手段と、電流積算法充電率および開放電圧法充電率のうちの一方と推定誤差とからバッテリの充電率を求める充電率算出手段と、を有することを特徴とする。本発明の請求項2に記載のバッテリの充電率推定装置は、上記請求項1に記載の装置にあって、開放電圧法充電率推定手段および誤差推定手段は、それぞれカルマンフィルタを用いる、ことを特徴とする。本発明の請求項3に記載のバッテリの充電率推定装置は、上記請求項1又は2に記載の装置にあって、誤差推定手段への電流積算法充電率と開放電圧法充電率と充電率差との入力を、伝達、遮断間で切り替える第1切替手段と、充電率算出手段への推定誤差の入力を、伝達、遮断間で切り替える第2切替手段と、のうちの少なくとも1つの切替手段を有することを特徴とする。本発明の請求項4に記載のバッテリの充電率推定装置は、上記請求項1乃至3のいずれか1項に記載の装置にあって、電流積算充電率推定手段が、充放電電流検出手段の検出精度に関する情報をもとに電流積算法充電率の分散を算出して誤差推定手段へ入力可能であり、開放電圧法充電率推定手段が、充放電電流検出手段および端子電圧検出手段の検出精度に関する情報をもとに開放電圧法充電率の分散を算出して誤差推定手段へ入力可能であり、誤差推定手段は、充電率差に加えて、電流積算充電率推定手段からの分散と、開放電圧法充電率推定手段からの分散と、が入力されて一方の推定誤差を推定する、ることを特徴とする。本発明の請求項5に記載のバッテリの充電率推定装置は、上記請求項1乃至4のいずれか1項に記載の装置にあって、電流積算法充電率推定手段は、充電率に充電率算出手段で前に得たバッテリの充電率を用いて電流積算法充電率を推定することを特徴とする。本発明の請求項1のバッテリの充電率推定装置にあっては、充電率差演算手段が開放電圧法充電率と電流積算法充電率との充電率差を演算し、誤差推定手段が電流積算充電率推定手段と開放電圧法充電率推定手段の計算間隔より長い間隔で、充電率差を用いて電流積算法充電率の推定誤差を推定し、この推定誤差を用いて充電率算出手段でバッテリの充電率を推定するようにしたので、充電率算出手段が開放電圧法充電率と電流積算法充電率のそれぞれの特徴を生かすことで、従来発明のものより高い精度でバッテリBの充電率SOCを推定できるようになる。本発明の請求項2のバッテリの充電率推定装置にあっては、開放電圧法充電率推定手段および誤差推定手段には、それぞれカルマンフィルタを用いたので、バッテリの状態量を容易かつ高い精度で推測できるようになるとともに、カルマンフィルタでもともと推定平均値と推定分散値を逐次的に推定算出していることから、これらの値を新たに別途算出する必要はなくなる。本発明の請求項3のバッテリの充電率推定装置にあっては、第1切替手段と第2切替手段のうち少なくとも一方を用いているので、電流積算充電率推定手段と開放電圧法充電率推定手段の計算間隔より長い間隔における、誤差推定手段での誤差推定演算や充電率算出手段での演算を、簡単に行えるようになる。本発明の請求項4のバッテリの充電率推定装置にあっては、電流積算充電率推定手段と開放電圧法充電率推定手段とが、充放電電流検出手段および端子電圧検出手段の検出精度に関する情報を元にして得た分散を用いて充電率の演算を行うので、充放電電流検出手段および端子電圧検出手段に特性の変動やばらつきがある場合にも、従来発明のものより高い精度でバッテリBの充電率SOCを推定できるようになる。本発明の請求項5のバッテリの充電率推定装置にあっては、充電流積算法充電率推定手段が、充電率算出手段で得た充電率を用いて電流積算法充電率を推定するので、より高精度で電流積算法充電率を推定することが可能となる。以下、本発明の実施の形態を、図面に示す実施例に基づき詳細に説明する。実施例1のバッテリの充電率推定装置の構成を図1に示す。同図に示すように、バッテリBに接続された充電率推定装置は、充放電電流検出部1と、端子電圧検出部2と、電流積算法充電率推定部3と、開放電圧法充電率推定法4と、減算器5と、第1切替部6と、誤差推定部7と、第2切替部8と、減算器9と、を有する。バッテリBは、本実施例にあっては、リチャージャブルバッテリであり、たとえばリチウムイオンバッテリを用いるが、これに限られることはなく、ニッケル水素バッテリ等、他の種類のバッテリを用いてもよいことは言うまでもない。充放電電流検出部1は、バッテリBから図示しない電気モータ等へ電力を供給する場合の放電電流の大きさ、および制動時に電気モータを発電機として機能して制動エネルギの一部を回収したり地上の電源設備から充電したりする場合の充電電流の大きさを検出するもので、たとえば、シャント抵抗等を使ってバッテリBに流れる充放電電流値Iを検出する。検出した充放電電流値Iは、入力信号として電流積算法充電率推定部3と開放電圧法充電率推定法4との双方へ入力される。なお、電流検出部1は、種々の構造形式を有するものを適宜採用でき、本発明の充放電電流検出手段に相当する。端子電圧検出部2は、バッテリBの端子間の電圧を検出するものであり、ここで検出した端子電圧値Vは開放電圧法充電率推定法4へ入力される。なお、電圧検出部2は、種々の構造形式を有するものを適宜採用でき、本発明の端子電圧検出手段に相当する。電流積算法充電率推定部3は、減算器9で最終的に得られるバッテリBの充電率SOCと充放電電流検出部1で検出された充放電電流値Iとが入力されて、この充放電電流値Iを積算して電流積算値を算出することでバッテリBに出入りした電荷量を求め、これと減算器7から入力された充電率SOCとから電流積算法充電率SOCiを算出するとともに、あらかじめ得られている充放電電流検出部1の検出精度に関する情報q図2を参照に基づいて電流積算法分散Qiを求めるものである。なお、電流積算法充電率SOCiは、真の充電率SOCに誤差ノイズniが重畳された値になっている。また、電流積算法充電率推定部3は、本発明の電流積算法充電率推定手段に相当する。図2に、この電流積算法充電率推定部3の具体的構成を示す。同図に示すように、電流積算法充電率推定部3は、乗算器31および積分器32からなる充電率算出部3Aと、電流積算法分散算出部3Bと、を備える。積分器32は、乗算器321と、遅延器322と、加算器323と、を有する。乗算器31は、充放電電流検出部1から演算周期TSごとに得られた充放電電流値I平均値に、係数1FCCを掛ける演算器である。ここで、FCCはバッテリBの満充電気量であり、バッテリBの公称値新品時の値でも、劣化度を考慮した値のいずれでも良い。積分器32の乗算器321は、乗算器31からの出力値に演算周期TSを掛けるものであり、この出力値はそのとき現在の充電率となる。遅延器322は、減算器7で得た充電率SOCに1zzはz変換を示すを掛けて現在より1つ前の充電率SOCを得るものである。加算器323は、乗算器321からの出力値と遅延器322からの出力値とを加算して、電流積算法充電率SOCiを出力する。一方、電流積算法分散算出部3Bは、あらかじめ得られている充放電電流検出部1の検出精度に関する情報qに基づき、電流積算法分散Qiを求めるものであって、この算出には、以下の式を用いて再帰的行列演算を行う。なお、以下の式において、Pは共分散行列、Fは状態遷移行列、Qはノイズ行列、TSは演算周期であり、添え字kは時刻、上付き添え字Tは転置を表す記号である。ここで、Qiは共分散行列P中のP11として求まる。開放電圧法充電率推定部4は、充放電電流検検出部1から演算周期TSごとに得られた充放電電流値Iと、端子電圧検出部2から演算周期TSごとに入力された端子電圧値Vと、に基づき、バッテリBのバッテリ等価回路モデルを用いて推定した開放電圧値VOCVから開放電圧法充電率SOCVを求めるとともに、充放電電流検出部1および端子電圧検出部2のあらかじめ与えられた検出精度の情報を元に開放電圧値VOCVの分散POCVや開放電圧法充電率SOCVの分散PSOCV=Qvを算出するものである。本実施例では、開放電圧法充電率推定部4には、カルマンフィルタを用いる。カルマンフィルタについては後で説明する。なお、開放電圧法充電率推定部4は、本発明の開放電圧法充電率推定手段に相当する。図3に、開放電圧法充電率推定部4の具体的構成を示す。開放電圧法充電率推定部4は、同図に示すように、開放電圧推定部4Aと、充電率算出部4Bと、遅延器4Cと、開放電圧部コンデンサ容量算出部4Dと、を有する。開放電圧推定部4Aは、充放電電流検出部1から演算周期TSごとに得られた充放電電流値Iと、端子電圧検出部2から演算周期TSごとに得られた端子電圧値Vと、開放電圧部コンデンサ容量算出部4Dから入力された開放電圧部コンデンサ容量値COCVと、が入力され、カルマンフィルタを用いてバッテリBの開放電圧値VOCVを推定するとともに、あらかじめ得られている充放電電流検出部1と端子電圧検出部2の検出精度に関する情報から、開放電圧の分散POCVを算出するものである。充電率算出部4Bは、開放電圧推定部4Aで推定した開放電圧値VOCVに基づき、あらかじめ計測して記憶している、開放電圧値と開放電圧法充電率との関係のデータを用いて開放電圧法充電率SOCVを算出するとともに、開放電圧推定部4Aで算出した開放電圧の分散POCVに基づき、開放電圧法充電率SOCVの分散PSOCVを算出するものである。なお、充電率算出部4Bで推定した開放電圧法充電率SOCVは、図1に示すように、真の充電率SOCに誤差nvを重畳した値となっている。遅延器4Cは、開放電圧推定部4Aで推定した開放電圧値VOCVが入力されて1zが掛けられて現在の1つ前の開放電圧を算出するものである。開放電圧部コンデンサ容量算出部4Dは、遅延器4Cで算出された開放電圧値に基づき、バッテリBの開放電圧コンデンサ容量値COCVを算出して開放電圧推定部4Aへ出力するものである。なお、開放電圧コンデンサ容量値COCVは、COCV=FCC/{100×1つ前のサンプリング時に得られた開放電圧値のときの開放電圧法充電率SOCVに対する開放電圧の傾き}の式を用いて得られる。減算器5は、開放電圧法充電率推定部4で得た開放電圧法充電率SOCVから電流積算法充電率推定部3で得た電流積算法充電率SOCiを減算して得た減算値yを誤差推定部6へ出力するものである。なお、減算器5は、は、本発明の充電率差演算手段に相当する。第1切替部6は、電流積算法充電率推定部3の出力値と開放電圧法充電率推定部4の出力値とが入力されて、電流積算法充電率推定部3と開放電圧法充電率推定部4の計算間隔より長い間隔で誤差推定部7での誤差推定を行うか否か、を決めるように、信号を伝達遮断のいずれかに切り替えるものである。一方、第2切替部8は、誤差推定部7で得られた誤差推定を用いて充電率SOCの演算を行うか否か、を決めるように、信号を伝達遮断のいずれかに切り替えるものである。これらの切り替えの詳細については、後で説明する。なお、第1切替部6は本発明の第1切替手段に、また第2切替部8は本発明の第2切替手段にそれぞれ相当する。誤差推定部7は、電流積算法充電率推定部3で得た電流積算法分散Qiと、減算器5で得た充電率の減算値yと、開放電圧法充電率推定部4で得た開放電圧法分散QVと、に基づき、カルマンフィルタを用いて、電流積算法充電率SOCiの推定誤差niを推定するものである。なお、誤差推定部6では、開放電圧法充電率SOCVの推定誤差nvも推定される。誤差推定部6は、本発明の誤差推定手段に相当する。ここで、上記開放電圧法充電率推定部4や誤差推定部7で用いるカルマンフィルタにつき、説明する。開放電圧法充電率推定部4でのカルマンフィルタは、バッテリBのバッテリ等価回路モデルに、実際のバッテリBと同じ入力充放電電流、端子電流、バッテリ温度などを入力し、これらの出力端子電圧を比較し、両者に差があれば、この差にカルマンゲインを掛けてフィードバックし、誤差が最小になるようにバッテリ等価回路モデルを修正していく。これを逐次繰り返して、真の内部状態量である開放電圧値などを推定する。誤差推定部7でのカルマンフィルタでは、誤差モデルで推定した誤差の差を減算器5で得た充電率の減算値と比較し、両者に差があれば、この差にカルマンゲインを掛けてフィードバックし、誤差が最小になるように推定誤差を修正していく。これを逐次繰り返して、真の充電率推定誤差を推定する。開放電圧法充電率推定部4でのカルマンフィルタでは、以下のような離散システムを考える。ただし、添え字kは時刻を表わしている。また、上記式でである。ここで、プロセスノイズと検出部ノイズは、平均値0、分散Q、Rの正規性白色ノイズであって、電流積算法充電率推定部3と開放電圧法充電率推定部4とでそれぞれ求めた充電率の分散Qi、Qvを用いて、以下の式で表される。本実施例では、電流積算法充電率推定部3と開放電圧法充電率推定部4とで算出された分散の値を用いるので、上記値は可変値となる。したがって、誤差推定部6の上流側にある電流積算法充電率推定部3と開放電圧法充電率推定部4との逐次的な推定精度分散の値を考慮した誤差推定が可能となり、より高精度での充電率SOCの推定が可能となる。カルマンフィルタは、以下の式を用いたアルゴリズムを利用する。ここで、Kkはカルマンゲイン、Xkは推定平均値、Pkは推定分散値である。図4に示すように、カルマンフィルタは、分散値算出部10と、カルマンゲイン算出11と、平均値算出部12と、を備えている。分散値算出部8は、共分散行列Pと、ノイズ行列Qと、分散値算出部8からの出力値である分散値と、カルマンゲイン算出部9からのカルマンゲインKが入力され、上記式3を用いて推定分散値Pkを算出するものである。カルマンゲイン算出部11は、分散値算出部10から入力された推定分散値Pkと正規白色ノイズRとが入力され、上記式1を用いてカルマンゲインKを算出するものである。平均値算出部12は、減算器13と、乗算器14と、加算器15と、遅延器16と、乗算器17と、乗算器18と、を有し、減算器5から入力された観測値y=SOCV-SOCiとカルマンゲイン算出部11で得られたカルマンゲインKとに基づき、上記式2を用いて、状態変数xを演算するものである。平均値算出部12の減算器13は、入力された観測値yから乗算器18の出力値を減算するものである。乗算器14は、カルマンゲイン算出部11で得たカルマンゲインKに減算器13の出力値を掛けるものである。加算器15は、乗算器14の出力値と乗算器17の出力値とを加算して得た加算値を遅延器16へ出力するものである。遅延器16は、加算器15の加算値に1zをかけて現在の1つ前の加算値を得てこの値を状態変数xとするものである。乗算器17は、状態行列Fに遅延器16から入力されたに状態変数xを掛けて得た値を加算器15と乗算器18へ出力するものである。乗算器18は、出力行列Hに乗算器17の出力値を掛けて得た値を減算器13へ出力するものである。なお、カルマンフィルタでは、もともとバッテリBの状態量を推定するに際し、その推定の平均値と分散値を逐次的に推定算出しているので、これらの値を新たに別途算出する必要はない。減算器9は、電流積算法充電率推定部3で推定した電流積算法充電率SOCiから、誤差推定部7で得た推定誤差niを減算して、バッテリBの充電率SOCを得るものである。なお、後述のように、第1切替部5、第2切替部8の切替状態によっては、推定誤差niが入力されず減算しない場合がある。減算器9は、本発明の充電率算出手段に相当する。ここで、上記第1切替部6および第2切替部8の機能につき、説明する。第1切替部6および第2切替部8の切り替えは、同期して作動するようにしても、あるいは非同期で作動させるようにしてもよい。この両方の場合について、以下に説明する。まず、第1切替部6および第2切替部8の切り替えを同期で作動させる場合には、下記作動1、作動2の間で切り替えられることになる。作動1第1切替部6と第2切替部8の両方がOFFのとき、図1中に示す充電率推定装置のブロック図は、図5aに示すブロック図と実質同等になる。この場合、誤差推定部7では推定誤差niの演算が行われず、減算器9では推定誤差niの減算も行われないことから、電流積算法のみを使って充電率SOCを求めるものと同じになる。すなわち、バッテリBの充電率SOCは、電流積算法充電率SOCiに等しくなる。作動2第1切替部6および第2切替部8の両方がONのとき、図1中に示す充電率推定装置のブロック図は、図5bに示すブロック図と実質同等になる。この場合、誤差推定部7には、電流積算法充電率推定部3の出力値分散と開放電圧法充電率推定部4の出力値の両方と、減算器5からの充電率差とが入力され、ここで推定誤差niを算出した後、減算器9で、電流積算法充電率推定部3で得た電流積算法充電率SOCiから推定誤差niを減算補正し、この減算値をバッテリBの充電率SOCとする。次に、第1切替部6および第2切替部8の切り替えを非同期で作動させる場合には、下記作動3、作動4の間で切り替えられることになる。作動3第1切替部6がONで第2切替部8がOFFの場合には、図1中に示す充電率推定装置のブロック図は、図5cに示すブロック図と実質同等になる。この場合、誤差推定部7で、電流積算法充電率推定部3の出力値と開放電圧法充電率推定部4の出力値の両方が入力され、ここで推定誤差niを算出するものの、この推定誤差niは減算器9には入力されないので、結局、この場合は、電流積算法のみを使って充電率SOCを求めることとなり、バッテリBの充電率SOCは電流積算法充電率SOCiに等しくなる。作動4第1切替部6がOFFで第2切替部8がONのとき、図1中に示す充電率推定装置のブロック図は、図5dに示すブロック図と実質同等になる。この場合、誤差推定部7には新たな入力は行われず新たな推定誤差niの演算は行われない。しかしながら、誤差推定部7には、作動4の前の上記作動3のときに得たがそのとき使用されなかった推定誤差niが記憶されていて、この値が減算器9に入力されるため、減算器9は、電流積算法充電率推定部3で得た電流積算法充電率SOCiから推定誤差niを減算補正し、この減算値をバッテリBの充電率SOCとする。次に、上記のように構成した実施例1の充電率算出装置作用につき、以下に説明する。バッテリBの充放電電流値Iと端子電圧値Vとは、充放電電流検出部1と端子電圧検出部2とにより充電率算出装置の起動中、逐次検出される。なお、これらの検出値は検出したアナログ値がデジタル値に変換されて、それらの後のデジタル演算に利用される。電流積算法充電率推定部3では、充放電電流値と、あらかじめ与えておいた充放電電流検出部1の情報分散と、減算器7で得た充電率SOCと、に基づき、電流積算法充電率SOCiとこの分散Qiとを算出する。一方、開放電圧法充電率推定部4では、充放電電流値Iと、端子電圧値Vと、あらかじめ与えておいた充放電電流検出部1および端子電圧検出部2双方の情報分散と、に基づき、カルマンフィルタを利用して、開放電圧法充電率SOCVとこの分散Qvとを算出する。電流積算法充電率推定部3、開放電圧法充電率推定部4でそれぞれ得られた充電率の分散Qi、Qvと、減算器5で得られた観測値y=SOCV-SOCiとは、第1切替部6がONのときには、誤差推定部6に入力されて、ここでカルマンフィルタを利用して電流積算法充電率SOCiの推定誤差niを推定する。一方、第1切替部6がOFFの時には、上記値は誤差推定部6に入力されず、誤差推定部6での推定誤差niの演算は行われない。減算器9では、第2切替部8がONの時には、減算器8で、電流積算法充電率推定部3で得た電流積算法充電率SOCiからこのノイズとして誤差推定部6から得た推定誤差niを減算して、バッテリBの充電率SOCを得る。一方、第2切替部8がOFFの時には、減算器9には誤差推定部7で得た推定誤差niを入力せず、電流積算法充電率SOCiをバッテリBの充電率SOCとする。すなわち、実施例1の充電率推定装置にあっては、バッテリBの充電率SOCは、基本的には短い計算間隔では精度が良い電流積算法充電率SOCiに等しくするものの、短い計算間隔では精度は悪いが長い計算間隔では精度が良い開放電圧法充電率SOCVを用いて、誤差推定部7にて、電流積算法充電率推定部3と開放電圧法充電率推定部4の計算間隔より長い間隔での推定誤差niを求め、減算器9で電流積算法充電率SOCiから推定誤差niを減算してバッテリBの充電率SOCを得る。ここで、推定された充電率の時間的変化の結果につき、実施例1の充電率算出装置と従来発明に記載された装置やその他の装置との間でそれぞれ比較したシミュレーション結果を図6、7に示す。なお、図6において、aは電流積算法を用いて得られた充電率の時間的変化を示す図、bは開放電圧法を用いて得られた充電率の時間的変化を示す図、cは従来発明で得られた充電率の時間的変化を示す図、また図7において、dは実施例1の充電率推定装置で第1切替部6および第2切替部8の両方をONのまま固定した状態で得られた充電率の時間的変化を示す図、eは実施例1の充電率推定装置で得られた充電率の時間的変化を示す図である。図6aに示すように、電流積算法による充電率の推定値は、時間が経過するにしたがって、充電率の真値から大きくずれて行くことが分かる。また、図6bに示すように、開放電圧法を用いて充電率を得る場合には、この推定値と充電率真値との誤差が、時間が経つにつれ大きくなっていくということはないが、絶えず短い時間で充電率真値に対し、大きくなったり小さくなったりして、大きくずれていることが分かる。また、図6cに示すように、上記従来発明特許文献1に記載のものでは、得られた充電率は重み付けを絶えず細かく変更されて補正されていくため、充電率の誤差は、上記電流積算法や開放電圧法の場合に比べると小さくなっている。しかしながら、開放電圧法の結果が大きくずれることの影響を避けることができず、充電率が所々で急激に大きくなってずれてしまうことがある。一方、実施例1の充電率推定装置で第1切替部6および第2切替部8の両方をONにしたままの状態にした場合には、図7dに示すように、上記従来発明の場合と同様な傾向を示し充電率が所々でやや急激にずれてしまうが、従来発明の場合よりそのずれ量は小さくなっていることが分かる。実施例1の充電率推定装置では、第1切替部6および第2切替部8を切り替えていくことで、図7eに示すように、真値とのずれを小さく保ちながら、しかも図6cや図7dにみられるように所々で急に大きくずれることもない。このように急で大きなずれがなくなっているのは、カルマンフィルタが現在の時刻に得られた観測値と現在の1つ前の時刻における推定結果との2つの値を利用して推定値を算出するようにしたことによる。開放電圧法では急に大きくずれる推定値が問題になるが、これらは瞬間的なものであって、1つ前の時刻には正常な値であることがほとんどであるため、充電率を問題なく推定できる。以上のように、実施例1のバッテリの充電率推定装置にあっては、以下の効果を得ることができる。1実施例1のバッテリの充電率推定装置にあっては、電流積算法充電率推定部3、開放電圧法充電率推定部4で電流積算法充電率SOCiと開放電圧法充電率SOCVを求めるとき、併せてこれらの平均値および分散も用いて統計的な処理を施すようにするとともに、第1切替部6と第2切替部8の切替作動により電流積算法による充電率SOCiの推定に、電流積算法充電率推定部3と開放電圧法充電率推定部4の計算間隔より長い間隔で求めた電流積算法充電率SOCiの推定誤差niを用いるようにしたので、従来発明のものよりも高い精度でバッテリBの充電率SOCを推定できるようになる。2また、開放電圧法充電率推定部4および誤差推定部7には、それぞれカルマンフィルタを用いたので、バッテリBの状態量を容易かつ高い精度で推測できるようになるとともに、カルマンフィルタでもともと推定平均値と推定分散値を逐次的に推定算出していることから、これらの値を新たに別途算出する必要がなくなる。3また、電流積算法充電率推定部3と開放電圧法充電率推定部4の計算間隔より長い間隔で、電流積算法充電率SOCiの推定誤差niを、推定する際、第1切換部6と第2切替部8を用いるので、演算構成を簡単なものにすることができる。4また、誤差推定部7では、充電率差yに加え、電流積算法充電率推定部3で得た電流積算法充電率SOCiの分散Qiと、開放電圧法充電率推定部4で得た開放電圧法充電率SOCVの分散Qvと、が入力され、これらの統計値を用いて推定誤差niを得るようにしているので、充放電電流検出部1や端子電圧検出部2に特性の変動やばらつきがある場合にも、従来発明のものより高い精度でバッテリBの充電率SOCを推定できる。5また、電流積算法充電率推定部3では、減算器9で得た充電率を用いて電流積算法充電率SOCiを推定するので、高精度で流積算法充電率SOCiを推定することが可能となる。次に、本発明に係る実施例2のバッテリの充電率推定装置につき、図8に基づいて説明する。なお、実施例2にあっては、実施例1と同様の構成部分には実施例1のものと同じ番号を付し、それらの説明は省略する。実施例2の充電率推定装置では、図1の実施例1のものにおいて、電流積算法充電率推定部3と開放電圧法推定部4とを入れ替えたものである。その他の構成は、実施例1と同じである。誤差推定部7で最終的に求められるのは、状態変数x,すなわち推定誤差niとnvの両方なので、実施例2でも、実施例1と同様に作用し、同様の効果を得ることができる。次に、本発明に係る実施例3のバッテリの充電率推定装置につき、図9に基づいて説明する。なお、実施例3にあっては、実施例1と同様の構成部分には実施例1のものと同じ番号を付し、それらの説明は省略する。実施例3の充電率推定装置では、図1の実施例1のものにおいて、第1切替部6を省略して第2切換部8のみを用いるようにしたものであり、その他の構成は、実施例1と同じである。したがって、誤差切替部7では、誤差推定部7が常に推定誤差niを推定するようになり、第2切替部8のONへの切り替えにより、間欠的に誤差切替部7で得た推定誤差niを用いて、減算器9が、電流積算法充電率推定部3で得た電流積算法充電率SOCiを補正してバッテリBの充電率SOCを得る。この場合、実施例1に比べ充電率SOCの推定精度は劣るものの、十分な推定精度を得ることができる。次に、本発明に係る実施例4のバッテリの充電率推定装置につき、図10に基づいて説明する。なお、実施例4にあっては、実施例1と同様の構成部分には実施例1のものと同じ番号を付し、それらの説明は省略する。実施例4の充電率推定装置では、図1の実施例1のものにおいて、第2切替部8を省略して第1切替部6のみを用いるようにしたものであり、その他の構成は、実施例1と同じである。したがって、誤差切替部7では、第1切替部8のON、OFF切り替えにより間欠的に電流積算法充電率推定部3、開放電圧法充電率推定部4,減算器5からそれらの出力値が入力されて、これらに基づき推定誤差niを推定する。誤差推定部7で得られた推定誤差niは、第1切替部8のON時に得られた値を示し、常時、減算器9へ入力されて、ここで電流積算法充電率推定部3にて得られた電流積算法充電率SOCiを補正する。この場合、実施例1に比べ充電率SOCの推定精度は劣るものの、実施例3と同様に十分な推定精度を得ることができる。以上、本発明を上記各実施例に基づき説明してきたが、本発明はこれらの実施例に限られず、本発明の要旨を逸脱しない範囲で設計変更等があった場合でも、本発明に含まれる。たとえば、本発明にあっては、実施例1、2ではノイズ行列Qを可変値としたが、通常のカルマンフィルタのように固定値を用いることも可能である。この場合、可変値を用いた場合より若干推定精度は低下するものの、従来発明での推定精度より高い精度を得ることができることは言うまでもない。また、誤差推定部7での推定にあっては、かならずしも上記のように分散Qi、Qvを計算する必要はない。例えば、電流積算法充電率SOCiと開放電圧法充電率SOCVの推定誤差が単純にある特定の割合ri:rvの割合で含まれていると仮定すると、電流積算法充電率SOCiとの推定誤差niは、次式で得られる。また、開放電圧法充電率SOCVの誤差nvを推定するには、以下の式を用いる。これらの式を用いれば、複雑な計算をすることなく、従来発明に比べてより高い精度でバッテリBの充電率SOCを得ることができる。図7fに、ri:rv=1:1の割合にした場合の充電率SOCの推定値を真値と比較した場合を示す。2箇所で急激に立ち上がっているものの、この場合にも、急激に大きくなる部分がほぼ低減されていることが分かる。なお、この分散を利用しないものを含め、本発明の効果を分かりやすくするための参考例として、上記式においてri:rv=0:1の割合にした図11のバッテリの充電率推定装置で得た充電率の推定値と真値を比較したものを、図7gに示す。この参考例の充電率推定装置では、図1の実施例1において、減算器5、第1切替部6、誤差推定部7、第2切替部8を省略して、電流積算法充電率推定部3で得た電流積算法充電率SOCiと開放電圧法充電率推定部4で得た開放電圧法充電率SOCVとが入力されて、電流積算法充電率SOCiと開放電圧法充電率SOCVのうちの一方を選択し、間欠的に切り替えることで、その出力値をバッテリBの充電率SOCとする選択部50を備えている。なお、選択部50の出力値である充電率SOCは、電流積算法充電率推定部3に入力される。この場合、誤差は全般的に低減されるものの、充電率の推定値の一部が急激にかなり大きくなる所が実施例4と同様に発生し、このずれが実施例4の場合よりも大きくなって、本発明の実施例のものに比べ充電率SOCの推定精度が劣ることが分かる。"