"二次電池の充放電電流の電流値を経時的に取得する電流値取得部と、前記電流値取得部が取得した前記電流値を積算し、該積算した積算値に基づいて前記二次電池の第一充電率を算出する充電率算出部と、前記二次電池の端子間電圧値を取得する電圧値取得部と、前記電流値取得部が前記電流値を所定値以下で且つ所定時間継続して取得した場合、前記電圧値取得部が取得した前記端子間電圧値を用いて、前記二次電池の端子間電圧値と充電率との相関関係に基づいて、前記二次電池の第二充電率を推定する充電率推定部と、前記第一充電率と前記第二充電率との差分の絶対値が補正対象値以上である場合に、前記電圧値取得部が取得した前記端子間電圧値より決定される代表電圧値と前記相関関係により推定される第一充電率に応じた端子間電圧値との差分が、前記二次電池の内部抵抗値に起因しているか否かを判定する判定部と、前記判定部が判定した結果、前記代表電圧値と前記第一充電率に応じた端子間電圧値との差分が、前記内部抵抗値に起因していない場合に、前記第一充電率を前記第二充電率に基づいて補正する補正部と、を有することを特徴とする電池システム。前記判定部は、前記第一充電率と前記第二充電率との差分の絶対値が補正対象値以上である場合に、前記二次電池の内部抵抗値による電圧降下値を算出し、前記電圧値取得部が取得した前記端子間電圧値より決定される代表電圧値と前記相関関係により推定される第一充電率に応じた端子間電圧値との差分の絶対値が、前記二次電池の内部抵抗値による電圧降下値より大きいか否かを判定し、前記補正部は、前記判定部が判定した結果、前記代表電圧値と前記第一充電率に応じた端子間電圧値との差分の絶対値が、前記電圧降下値より大きい場合に、前記第一充電率を前記第二充電率に基づいて補正することを特徴とする請求項1に記載の電池システム。前記判定部は、前記電圧値取得部が前記二次電池の端子間電圧値を取得した時点を含む一定期間、前記電流値取得部が取得する前記電流値の電流変動が所定範囲内であるか否かを判定し、前記補正部は、上記判定部が前記一定期間、前記電流値取得部が取得する前記電流値の電流変動が所定範囲内であると判定したとき、前記第一充電率を前記第二充電率に基づいて補正することを特徴とする請求項1又は請求項2に記載の電池システム。前記判定部は、前記電圧値取得部が前記二次電池の端子間電圧値を取得した時点を含む一定期間、前記二次電池の充電状態又は放電状態のいずれか一方の状態であるか否かを更に判定し、前記補正部は、上記判定部が前記一定期間、前記二次電池の充電状態又は放電状態のいずれか一方の状態であると判定したとき、前記第一充電率を前記第二充電率に基づいて補正することを特徴とする請求項1乃至請求項3のいずれか1項に記載の電池システム。前記二次電池の温度を取得する温度取得部を更に有し、前記判定部は、前記第一充電率と前記第二充電率との差分の絶対値が補正対象値以上である場合に、前記二次電池の内部抵抗値に応じた最低許容温度を設定し、前記温度取得部が取得した前記温度が前記最低許容温度以上であるか否かを判定し、前記補正部は、前記判定部が判定した結果、前記温度取得部が取得した前記温度が前記最低許容温度以上である場合に、前記第一充電率を前記第二充電率に基づいて補正することを特徴とする請求項1に記載の電池システム。しかしながら、上記特許文献1に記載の技術では、二次電池の充放電状態が反転した時に上記充放電電流の積算値による充電率を補正するものであるため、例えば、上記充放電状態の反転が少ない場合、二次電池の充電率を補正するタイミングがなかなか無く、誤差が積み上げられた充電率を制御装置の各制御で使用することになり、制御装置による各種制御結果に悪影響を及ぼしてしまうという問題点を依然として有していた。したがって、本発明は上記問題点に鑑み、二次電池の充放電状態の反転が少ない場合であっても、二次電池の充電率を適切に補正することができる簡易な新しい電池システムを提供することを目的とする。本発明による電池システムは、二次電池の充放電電流の電流値を経時的に取得する電流値取得部と、電流値取得部が取得した電流値を積算し、該積算した積算値に基づいて二次電池の第一充電率を算出する充電率算出部と、二次電池の端子間電圧値を取得する電圧値取得部と、電流値取得部が電流値を所定値以下で且つ所定時間継続して取得した場合、電圧値取得部が取得した端子間電圧値を用いて、二次電池の端子間電圧値と充電率との相関関係に基づいて、二次電池の第二充電率を推定する充電率推定部と、第一充電率と第二充電率との差分の絶対値が補正対象値以上である場合に、電圧値取得部が取得した端子間電圧値より決定される代表電圧値と相関関係により推定される第一充電率に応じた端子間電圧値との差分が、二次電池の内部抵抗値に起因しているか否かを判定する判定部と、判定部が判定した結果、代表電圧値と第一充電率に応じた端子間電圧値との差分が、内部抵抗値に起因していない場合に、第一充電率を第二充電率に基づいて補正する補正部と、を有する。かかる電池システムによれば、電流値が所定値以下で且つ所定時間継続した場合に、二次電池の充放電電流の電流値を積算して算出する第一充電率を、二次電池の端子間電圧値で推定する第二充電率に基づいて補正することによって、誤差の少ない充電率を制御装置の各種制御で使用でき、その制御結果に与える影響を抑制することができる。ここで、第二充電率を推定するために取得する端子間電圧値は、負荷が駆動中のときの端子間電圧値であり得るため、その負荷が必要とする二次電池の電流値によっては、二次電池の内部抵抗による電圧降下値も大きく影響を受けることがある。その結果、端子間電圧値を測定するタイミングによっては、端子間電圧値が大きく異なり、その端子間電圧値によって推定した第二充電率も正確ではない可能性がある。それにもかかわらず、この第二充電率に基づいて第一充電率を補正してしまうと、第一充電率よりも実際の充電率と乖離した第二充電率を制御装置の各種制御に使用してしまうおそれもある。しかし、本発明の電池システムによれば、二次電池の内部抵抗値に基づいて上記推定した第二充電率の正確さを考慮することで、適切な第二充電率で第一充電率を補正することができ、誤差の少ない充電率を制御装置の各種制御で確実に使用することができる。以上のように構成された本発明の電池システムによれば、駆動停止が少ない負荷に対しても、二次電池の充電率を適切に補正することができる。本実施形態の電池システムは、二次電池の充放電電流を積算して算出された誤差を含み得る第一充電率ASOCを、二次電池の端子間電圧値で推定した第二充電率ESOCに基づいて補正するものであり、この補正するか否かを二次電池の内部抵抗値に起因した影響等を考慮して決めることを特徴の一つとする。本発明を実施するための好適な実施形態を、図面を参照しながら説明する。なお、本実施形態の電池システム1は、作業車例えば、無人作業車100に搭載されたものを例にとって説明する。図1は、電池システム1の概略的な構成図を示し、図2は、上記作業車100の概要を説明するための図を示す。電池システム1は、図1に示すように、作業車100を駆動する駆動源として複数の二次電池20を含んでなる電池装置2と、電池装置2と情報を送受しつつ、作業車100の駆動を制御する上位制御装置3と、作業車100を駆動するためのモータなどの電力負荷4と、外部電源から電力を受電する受電部5とを含んで構成される。ここで、まず、作業車100について、図2を参照しながら、簡単に説明する。作業車100は、図2に示すように、例えば、巡回路110の各所に設けられたステーション111を巡回し、あるステーション111で物を受け取って、他のステーション111で物を引き渡す車両として利用される。作業車100は、電池システム1の構成要素である二次電池20を駆動源として走行し、巡回路111の所定の箇所に設けられた給電設備112から供給される電力を受電部5を介して受電して二次電池20を充電することができる。給電設備112は、例えば、巡回路110に沿って配された給電線図示せずを有し、該給電線を通じて商用電源から受電した外部電力を作業車100に対して供給する。受電部5は、例えば、作業車100が走行した場合に上記給電線に沿うように配された電磁コイルであり、上記給電線から電磁誘導によって供給された電力を受電する。このような作業車100は、電池システム1の二次電池20の充放電を繰り返しつつ、24時間停止することなく駆動することができる。以下、電池システム1の構成要素である電池装置2及び上位制御装置3について詳細に説明する。電池装置2は、図1に示すように、作業車100の駆動に必要な電力源である複数の二次電池2020a~20hからなる組電池21と、電池管理装置22とで構成され、複数の二次電池20a~20hに充電された電力を電力負荷4に対して放電することができ、また、商用電源図示せずから受電部5を介して受電した電力で二次電池20a~20hを充電することができる。二次電池20a~20hは、充放電可能な二次電池であればよく、例えば、リチウムイオン二次電池である。組電池21は、直列接続された4つの二次電池20a~20dからなる第一アームと、直列接続された4つの二次電池20e~20hからなる第二アームとが並列に接続されて構成される。なお、本実施形態の組電池21では、図1に示すように8個の二次電池20a~20hがそれぞれ直列又は並列に接続された場合を例にとって説明するが、本発明はこの場合に限られず、直列又は並列に接続される二次電池の数を適宜変更してもよいし、複数の二次電池を直列のみに接続したり、並列のみに接続したりしてもよい。また、電池装置2は、二次電池20a~20hのそれぞれの温度例えば、電池容器表面の温度Ta~Thを計測するための温度センサTA~THと、二次電池20a~20hのそれぞれの正極端子と負極端子との間の端子間電圧セル電圧Va~Vhを計測するための電圧センサVA~VHと、第一アームの二次電池20a~20dに流れる電流Iaを計測する電流センサIA及び第二アームの二次電池20e~20hに流れる電流Ibを計測する電流センサIBとがそれぞれ配される。電池管理装置BatteryManegementSystem:BMS22は、複数の二次電池20a~20hを集中管理するとともに、上位制御装置3との間で各種信号の送受を行う装置であり、CMUCellMonitorUnit221A,221Bと、BMUBatteryManegementUnit222とで構成される。CMU221Aは、第一アームの二次電池20a~20dの各温度Ta~Td、各端子間電圧Va~Vdを監視するためのユニットであり、温度センサTA~TD、及び電圧センサVA~VDと通信線を介して接続されている。CMU221Aは、例えば、上記各種センサが計測して出力する計測情報温度Ta~Td、端子間電圧Va~Vdをそれぞれアナログ信号として受信して、これらアナログ信号をアナログデジタル変換器AnalogDigitalConverter:ADCによってそれぞれに対応するデジタル信号に変換した後、二次電池20a~20dを識別するために識別IDをそれぞれの計測情報に付与してBMU222へ出力する。CMU221Bは、第二アームの二次電池20e~20hの各温度Te~Th、各端子間電圧Ve~Vhを監視するためのユニットであり、温度センサTE~TH、及び電圧センサVE~VHと通信線を介して接続されている。CMU221Bは、例えば、上記各種センサが計測して出力する計測情報温度Te~Th、端子間電圧Ve~Vhをそれぞれアナログ信号として受信して、これらアナログ信号をアナログデジタル変換器ADCによってそれぞれに対応するデジタル信号に変換した後、二次電池20a~20dを識別するために識別IDをそれぞれの計測情報に付与してBMU222へ出力する。なお、本実施形態の電池システム1において、複数の二次電池20が直列に接続されているアームごとにCMU221A,221Bを備える構成としているが、本発明はこの場合に限られず、例えば、直列接続された2つの二次電池ごとにCMUを備える構成としてもよいし、個々の二次電池ごとにCMUを備える構成としてもよく、その構成は適宜変更することができる。BMU222は、CMU221A,221B、及び上位制御装置3と通信線を介して接続されており、これらCMU221A,221Bからデジタル信号に変換された各計測情報温度Ta~Th、端子間電圧Va~Vhを受信する。また、BMU222は、第一アームに流れる電流Ia及び第二アームに流れる電流Ibを監視するために、電流センサIA,IBと通信線を介して接続されており、例えば、電流センサIA,IBが計測して出力する計測情報電流Ia,Ibをそれぞれアナログ信号として受信して、これらアナログ信号をアナログデジタル変換器ADCによってそれぞれに対応するデジタル信号に変換する。BMU222は、これら計測情報に基づいて充電率を算出して上位制御装置3との間で各種信号の送受を行う。BMU222は、電池装置2の充電率を導出する処理機能として、例えば、図3に示すように、電流センサIA,IBから電流Ia,Ibの情報を取得する電流値取得部23と、電流値取得部23で取得した電流Ia,Ibの情報から第一充電率ASOCを算出する充電率算出部24と、CMU221A,221Bから二次電池20a~20hの各端子間電圧値Va~Vhの情報を取得する電圧値取得部25と、CMU221A,221Bから二次電池20a~20hの各温度Ta~Thの情報を取得する温度取得部26と、電圧値取得部25及び温度取得部26で取得した各端子間電圧値Va~Vh及び温度Ta~Thの各情報に基づいて第二充電率ESOCを推定する充電率推定部27と、第一充電率ASOCを第二充電率ESOCに基づいて補正するか否かを判定する判定部28と、第一充電率ASOCを第二充電率ESOCに基づいて補正する補正部29とを備える。また、BMU222は、充電率算出部24で算出した第一充電率ASOC、及び充電率推定部27で推定した第二充電率ESOCを組電池21の充電率として記憶可能な充電率記憶部30と、充電率推定部27で第二充電率ESOCの推定等に用いる各種テーブルを記憶するテーブル記憶部31とを備える。BMU222は、例えば、種々の演算および制御を行うためのプロセッサ、情報データを一時的に格納するとともに、制御時にワーキングエリアとして機能するRAM、プログラム等を格納するROM、及び周辺回路から構成され、上記各部の処理機能を実現することができる。電流値取得部23は、電池装置2内の二次電池20a~20hに流れる充放電電流の電流値Ia,Ibの情報を電流センサIA,IBから経時的に取得する。なお、この電流値Ia,Ibを取得するタイミングは、作業車100の特性や運転状況などの要因に応じて適宜設定することができるが、例えば、100msecごとに設定する。電流値取得部23は、取得した電流値Ia,Ibの情報を、充電率算出部24に通知する。また、電流値取得部23は、電流値Ia,Ibを所定値以下で且つ所定時間継続して取得した場合、その旨の情報を充電率推定部27に通知する。ここで、電流値取得部23が電流値Ia,Ibを所定値以下で且つ所定時間継続して取得した場合とは、各二次電池20a~20hの端子間電圧値Va~Vhが無負荷電圧値になるべく近い値となる場合であって、例えば、上記所定値を100A、及び上記所定時間を10secと設定することができる。なお、この所定値及び所定時間は、作業車100を駆動するために必要な電力及び二次電池のスペックなどの要因に応じて適宜設定することができる。充電率算出部24は、電流値取得部23が取得した電流値Ia,Ibを積算し、該積算した積算値に基づいて複数の二次電池20a~20hで構成される組電池21の第一充電率ASOCを算出する。第一充電率ASOCは、充電率記憶部30に記憶されている充電率SOCを初期充電率として、この初期充電率に充電率変動分を加算又は減算することで算出することができ、充電率算出部24は、該算出した第一充電率ASOCを充電率SOCとして充電率記憶部30に上書きする。なお、充放電電流の電流値を積算して充電率を算出する方法自体は、従来の算出方法と同様とすることができる。電圧値取得部25は、CMU221A,221Bから送信される各二次電池20a~20hの端子間電圧値Va~Vhを取得する。電圧値取得部25は、取得した端子間電圧値Va~Vhの情報を、充電率推定部27及び補正部29に通知する。温度取得部26は、電圧値取得部25と同様に、CMU221A,221Bから送信される各二次電池20a~20hの温度Ta~Thを取得する。温度取得部26は、取得した温度Ta~Thの情報を、充電率推定部27に通知する。なお、電圧値取得部25が端子間電圧値Va~Vhを取得するタイミング、及び温度取得部26が温度Ta~Thを取得するタイミングは、作業車100の特性や運転状況などの要因に応じて適宜設定することができるが、例えば、それぞれ500msecごととしてもよいし、電流値取得部23が電流値Ia,Ibを所定値以下で且つ所定時間継続して取得した場合に、その旨の情報を電流値取得部23から電圧値取得部25及び温度取得部26がそれぞれ受信したときとしてもよい。充電率推定部27は、電流値Ia,Ibを所定値以下で且つ所定時間継続して取得した旨の情報を電流値取得部23より受信した場合に、電圧値取得部25が取得した端子間電圧値Va~Vhと、温度取得部26が取得した温度Ta~Thとを用いて、予めテーブル記憶部31に記憶された二次電池の端子間電圧値と温度と充電率との相関関係を示すテーブル図4を参照して、各二次電池20a~20hのそれぞれの充電率ESOC[a]~ESOC[h]を推定する。充電率推定部27は、更に、推定した各二次電池20a~20hの充電率ESOC[a]~ESOC[h]から、組電池21の充電率である第二充電率ESOCを推定する。なお、上記テーブルは、全ての二次電池20a~20hが同一特性を有するのであれば、上記テーブルを予め一つテーブル記憶部31に記憶しておけば良いし、少なくとも1つの二次電池が他の二次電池と異なる特性を有するのであれば、上記テーブルはその異なる特性の数分、予めテーブル記憶部31に記憶しておけば良い。ここで、通常、二次電池20の充電率は、無負荷時二次電池の電流値が略0Aの二次電池20の端子間電圧開放電圧OCVと相関関係を有しているので、二次電池20の開放電圧OCVを確認できれば、その二次電池20の充電率を推定することができる。本実施形態の作業車100のように、負荷が停止しておらず、二次電池20の電流値が略0Aでない場合であっても、二次電池20の電流値がある所定値以下で且つ所定時間継続した時の二次電池20の端子間電圧であれば、一定の精度を保って、実際の充電率と近似した充電率を推定することができる。特に、電池システム1において、二次電池20の充放電を繰り返して使用する際の充電率の使用範囲が一定範囲例えば、60~70であって、二次電池20の充電率の使用許容範囲例えば、10~90内に収まる場合、その使用範囲の上限70と使用許容範囲の上限90とで余裕代20、及び、その使用範囲の下限60と使用許容範囲の下限10とで余裕代50があるため、上記一定の精度を保って充電率を推定する方法でも十分有用である。上記使用許容範囲とは、二次電池20を効率よく使用でき且つ寿命を延ばすことができる望ましい充電率の使用範囲であって、充電率がこの使用範囲外になった場合に、二次電池20の充放電が制限される範囲である。なお、使用許容範囲は、二次電池20の種類等に応じて適宜変更でき、例えば、0~100をその範囲としてもよい。充電率推定部27における第二充電率ESOCの推定方法は、例えば、充電率ESOC[a]~ESOC[h]から最大の充電率SOC[max]と最小の充電率SOC[min]とを導き出して、下記式1を用いてその中間値を算出し、該算出した中間値を第二充電率ESOCとして推定することができる。なお、本実施形態の電池システム1において、上記式1を用いた第二充電率ESOCの推定方法は一例にすぎず、他の推定方法を用いてもよく、例えば、単に、充電率ESOC[a]~ESOC[h]の平均値を算出して、該算出した平均値を第二充電率ESOCと推定してもよい。判定部28は、第一充電率ASOCと第二充電率ESOCとの差分の絶対値が補正対象値XD1以上である場合に、電圧値取得部25が取得した端子間電圧値Va~Vhより決定される代表電圧値Vrと相関関係により推定される第一充電率ASOCに応じた端子間電圧値VASOCとの差分が、二次電池20の内部抵抗値に起因しているか否かを判定する。具体的には、判定部28は、二次電池20の内部抵抗値による電圧降下値Vdrを算出し、代表電圧値Vrと端子間電圧値VASOCとの差分が、上記算出した電圧降下値Vdrより大きいか否かを判定する。すなわち、充電率算出部24において、誤差を含み得る電流値Ia,Ibを積算することによって第一充電率ASOCを算出しているので、その第一充電率ASOCは実際の充電率と大きく異なり得る。そのため、第一充電率ASOCを、実際の充電率と近似する第二充電率ESOCに基づいて補正する必要がある。しかし、第二充電率ESOCを推定するために取得する端子間電圧値は、負荷が駆動中のときの端子間電圧値であり得るため、その負荷が必要とする二次電池の電流値によっては、二次電池の内部抵抗による電圧降下値も大きく影響を受けることがある。その結果、端子間電圧値を測定するタイミングによっては、その端子間電圧値によって推定した第二充電率も正確ではない可能性がある。よって、判定部28は、二次電池20の内部抵抗値による電圧降下値Vdrを算出し、第一充電率ASOCを適切な第二充電率ESOCに基づいて補正するため、第二充電率ESOCが実際の充電率と近似する充電率であるか否かを判定する。補正対象値XD1は、第一充電率ASOCを第二充電率ESOCに基づいて補正する際の指標となる値であって、例えば、電池システム1における二次電池20の充電率の使用範囲、及び上記使用許容範囲とを考慮して決定することができる。これは、第一充電率ASOCは誤差によって実際の充電率とは大きく異なる値を示すおそれがあり、その値が上記使用許容範囲を超えると、作業車100は二次電池20の充放電を制限してしまうおそれがあるためである。ここで、例えば、実際の充電率真値をTrSOCとして表し、使用許容範囲を10~90とし、使用範囲を60~70とすれば、ASOC<TrSOCのとき、図5aに示すように、誤差を含む第一充電率ASOCが使用範囲の上限70以下であっても、実際の充電率TrSOCが使用許容範囲の上限90を上回った場合、この第一充電率ASOCを各制御に用いると各種制御結果に悪影響を及ぼしてしまう。よって、使用許容範囲の上限90と使用範囲の上限70との差分が20であることを考慮して、補正対象値XD1を20と設定する。一方、ASOC>TrSOCのとき、図5bに示すように、誤差を含む第一充電率ASOCが使用範囲の下限60以上であっても、実際の充電率TrSOCが使用許容範囲の下限10を下回らないように、上記補正対象値XD1を20と設定する。これにより、第一充電率ASOCは少なくとも使用範囲の下限60の20下の40で、第二充電率ESOCに基づいて補正されるので、特段の問題は生じない。なお、補正対象値は、1ASOC<TrSOCのときと、2ASOC>TrSOCのときとで、その値を別々に設定してもよく、例えば、使用許容範囲を10~90とし、使用範囲を60~70とすれば、1ASOC<TrSOCのときの補正対象値XD1を20、2ASOC>TrSOCのときの補正対象値XD2を30と設定してもよい。また、補正対象値XD1は、上述のように、使用許容範囲の上限90と使用範囲の上限70との差分20を設定するのではなく、余裕幅α例えば、5を適宜加えて15と設定してもよい。また、判定部28において、電圧降下値Vdrの算出は、温度取得部26が取得した温度Ta~Thにより決定される代表温度Trと、充電率推定部27が推定した第二充電率ESOCとを用いて、予めテーブル記憶部31に記憶された二次電池の内部抵抗値と温度と充電率との関係を示すテーブル図6を参照して、二次電池20の内部抵抗値Rinを推定し、該推定した内部抵抗値Rinと電流値取得部23が取得した電流値Ia又はIbとを乗算することで電圧降下値Vdrを算出する。図6aは、二次電池20の放電時の内部抵抗値と温度と充電率との関係を示すテーブルの一例であり、図6bは、二次電池20の充電時の内部抵抗値と温度と充電率との関係を示すテーブルの一例である。ここで、代表温度Trとは、組電池21として複数の二次電池20a~20hを有する場合に、二次電池20の内部抵抗値Rinを推定するために温度取得部26が取得した温度Ta~Thにより決定される温度である。例えば、上述したように、最大の充電率ESOC[max]と最小の充電率ESOC[min]の中間値を第二充電率ESOCとして推定した場合、代表温度Trも同様に、温度Ta~Thのうち最大の温度T[max]と最小の温度T[min]との中間値として決定することができる。なお、代表温度Trは、第二充電率ESOCの推定方法などに合わせて、他の方法でも決定でき、例えば、温度Ta~Thの平均値として決定してもよい。また、電池装置2内において二次電池20が1つの場合は、その温度が代表温度Trとなる。判定部28は、第一充電率ASOCと第二充電率ESOCとの差分の絶対値が補正対象値XD1以上である場合に、電圧値取得部25が取得した端子間電圧値Va~Vhにより決定される代表電圧値Vrと、図4に示すテーブルにより推定される第一充電率ASOCに応じた端子間電圧値VASOCとの差分の絶対値が少なくとも電圧降下値Vdrより大きいか否か下記式2を満たすか否かを判定する。下記式2中のβ例えば、β≧1は係数であり、将来の二次電池20の劣化による内部抵抗値の増加等を考慮して適宜その値を設定することができる。ここで、代表電圧値Vrとは、組電池21として複数の二次電池20a~20hを有する場合に、上記第一充電率ASOCに応じた端子間電圧値VASOCと比較するために電圧値取得部25が取得した端子間電圧値Va~Vhにより決定される電圧値である。例えば、上述のように、最大の充電率ESOC[max]と最小の充電率ESOC[min]の中間値を第二充電率ESOCとして推定した場合、代表電圧値Vrも同様に、端子間電圧値Va~Vhのうち最大の端子間電圧値V[max]と最小の端子間電圧値V[min]との中間値を代表電圧値Vrとして決定することができる。なお、代表電圧値Vrは、第二充電率ESOCの推定方法などに合わせて、他の方法でも決定でき、例えば、端子間電圧値Va~Vhの平均値として決定してもよい。また、電池装置2内の二次電池20が1つの場合は、その端子間電圧値が代表電圧値Vrとなる。補正部29は、判定部28において代表電圧値Vrと端子間電圧値VASOCとの差分の絶対値が少なくとも電圧降下値Vdrより大きいと判定された場合、第一充電率ASOCを第二充電率ESOCに基づいて補正する。すなわち、補正部29は、充電率記憶部30に充電率SOCとして記憶された第一充電率ASOCを第二充電率ESOCで書き換える。判定部29は、また、電圧値取得部25が二次電池20の端子間電圧値Va~Vhを取得した時点を含む一定期間、電流値取得部23が取得する電流値Ia及び/又はIbの電流変動が所定範囲IP内であるか否かすなわち、下記式3を満たすか否かを判定することもできる。そして、補正部29は、判定部28が上記一定期間、電流値取得部23が取得する電流値Ia及び/又はIbの電流変動が所定範囲内であると判定したとき、第一充電率ASOCを第二充電率ESOCに基づいて補正してもよい。すなわち、計測するタイミングの前後で電流値が所定範囲IPを超えて変動すると、第二充電率ESOCにも大きな影響を及ぼし、第二充電率ESOCを正確に推定できないおそれがあり得るので、補正部29は、電流変動がある一定の所定範囲IP内にある場合に、第一充電率ASOCを第二充電率ESOCに基づいて補正する。なお、下記式3中において、Itは各端子間電圧値Va~Vhを取得した時点tに取得した電流値であり、It-1は時点tの直前例えば、100msec前に取得した電流値であり、It1はtの直後例えば、100msec後に取得した電流値である後述する式4中においても同様とする。ここで、上記所定範囲IPは、例えば、上記補正対象範囲XD1、二次電池20の電圧降下値Vdr、CMU221A,221BとBMU222との間の同期ズレなどの要因を考慮して決定することができる。例えば、補正対象範囲XD1を20と設定した場合、電圧降下による充電率の許容誤差分を10、同期ズレによる充電率の許容誤差分を5、及び電流変動による充電率の許容誤差分を5とすることができる。このとき、例えば、温度が5度であるとすると、図4に示すテーブルを参照し、ある充電率例えば、充電率70を基準として、その充電率より5高い充電率の端子間電圧値を求めて、該端子間電圧値に応じた内部抵抗値を、図6に示すテーブルを参照して求める。そして、これら端子間電圧値と内部抵抗値とから求められる電流値を電流変動の所定範囲IPとして決定することができる。なお、上述の所定範囲IPの決定方法は、一例であって、実験を繰り返して適切な電流変動の所定範囲IPを決定するようにしてもよい。また、判定部28及び補正部29において、上記一定期間、電流値取得部23が取得する電流値の電流変動が所定範囲IP内であるか否かを判定し、その結果に応じて、第一充電率ASOCを第二充電率ESOCに基づいて補正するという機能処理は、電池システム1において、電力負荷が必要とする電力二次電池の電流値が大きく変動するような使用状況によっては特に有用であるが、省略してもよい。判定部28は、さらに、電圧値取得部25が二次電池20の各端子間電圧値Va~Vhを取得した時点を含む一定期間、二次電池20の充電状態又は放電状態のいずれか一方の状態であるか否かすなわち、下記式4を満たすか否かを判定することもできる。そして、補正部29は、上記判定部28が前記一定期間、二次電池20が充電状態又は放電状態のいずれか一方の状態であると判定したとき、第一充電率ASOCを第二充電率ESOCに基づいて補正してもよい。例えば、図7に示すように、上記各時点t-1,t,t1における電流値It-1,It,It1がいずれも放電状態であれば、補正部29は、第一充電率ASOCを第二充電率ESOCに基づいて補正する。この補正部29の処理は次の有用な効果を奏する。すなわち、CMU221A,221BとBMU222との間の同期ズレなどの要因による、二次電池20の充放電電流の反転時における正確な電圧降下値Vdrを算出できなくなるおそれを回避することができる。なお、判定部28及び補正部29において、上記一定期間、二次電池20の充電状態又は放電状態のいずれか一方の状態であるか否かを判定し、その結果に応じて、第一充電率ASOCを第二充電率ESOCに基づいて補正するという機能処理は省略してもよい。上位制御装置3は、作業車100に搭載されるモータなどの電力負荷4を制御するものであって、BMU222の充電率記憶部30から組電池21の充電率SOCの情報を受信して、充電率に応じた許容電流値を設定し、電力負荷4が電池装置2に対して出力要求する電流値を制限するといった各種制御を行う。以下、図8及び図9に示すフローチャートを参照して、BMU222を用いて実施される本実施形態の電池システム1の充電率の設定処理について説明する。なお、図8及び図9のフローチャートで示される各処理は、処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。また、電池システム1は、図2に示すものを用いるものとし、テーブル記憶部31には、図4に示すテーブル及び図6に示すテーブルが予め記憶されているものとする。まず、電流値取得部23は、電池装置2内の二次電池20a~20hに流れる充放電電流の電流値Ia,Ibの情報を電流センサIA,IBから経時的に取得するステップS100。電流値Ia,Ibの情報を取得するタイミングは、例えば、一定の時間間隔100msecごととする。次いで、充電率算出部24は、電流値取得部23が取得した電流値Ia,Ibを積算し、該積算した積算値に基づいて組電池21の第一充電率ASOCを算出するステップS101。第一充電率ASOCは、充電率記憶部30に充電率SOCとして記憶されている値を初期充電率として、この初期充電率に充電率変動分を加算又は減算することで算出することができ、算出した第一充電率ASOCを充電率SOCとして充電率記憶部30に上書きする。この充電率記憶部30に充電率SOCとして記憶された情報は、上位制御装置3との間で送受可能である。なお、初期充電率は、例えば、前回、電池システム1を起動して終了した際に充電率記憶部30に保存された充電率を用いることができる。また、電流値取得部23は、取得した電流値Ia,Ibの合計が所定値以上であるか否かを判定するステップS102。所定値以下でない場合ステップS102:No、ステップS100の処理に戻る。この所定値は、組電池21の容量や電力負荷4が要求する出力の大きさを考慮して適宜設定することができるが、例えば、100Aと設定する。一方、所定値以上である場合ステップS102:Yes、電流値取得部23は、タイマをONとしステップS103、上記一定の時間間隔をおいて、電流値の情報を再度取得するステップS104。そして、充電率算出部24は、ステップS101の処理と同様に、電流値取得部23が取得した電流値Ia,Ibを積算し、該積算した積算値に基づいて組電池21の第一充電率ASOCを算出するステップS105。充電率算出部24は、本ステップで算出した第一充電率ASOCを充電率SOCとして充電率記憶部30に再度上書きする。ここで、電流値取得部23は、ステップS104の処理で取得した電流値Ia,Ibが再度、上記所定値以下であるか否かを判定するステップS106。所定値以下でない場合ステップS106:No、電流値取得部23は、タイマをリセットしステップS107、ステップS100の処理に戻る。一方、所定値以下の場合ステップS106:Yes、電流値取得部23は、上記タイマを参照して、一定時間経過したか否かを判定するステップS108。一定時間経過していないと判定した場合ステップS108:No、ステップS104の処理に移る。なお、この一定時間は、組電池21の容量や電力負荷4が要求する出力電力の大きさ等を考慮して適宜設定することができるが、例えば、10secと設定する。ステップS108の処理において、電流値取得部23が、一定時間経過していると判定した場合ステップS108:Yes、その旨を電圧値取得部25及び温度取得部26に通知し、電圧値取得部25及び温度取得部26は、計測情報として、端子間電圧値Va~Vh、及び温度Ta~Thの各情報をCMU221A,221Bから取得するステップS109。なお、電圧値取得部25及び温度取得部26は、電流値取得部23からの上記通知を受け付けた場合に限られず、端子間電圧値Va~Vh、及び温度Ta~Thの各情報をCMU221A,221Bから、所定時間ごと例えば、500msecごとに、取得するようにしていてもよい。次いで、充電率推定部27は、上記取得した計測情報に基づいて組電池21の第二充電率ESOCを推定するステップS110。具体的には、充電率推定部27は、上記取得した端子間電圧値Va~Vh及び温度Ta~Thの各情報を用いて、予め用意された二次電池の端子間電圧値と温度と充電率との相関関係を示すテーブル図4を参照して、各二次電池20a~20hのそれぞれの充電率ESOC[a]~ESOC[h]を推定し、上記式1を用いて第二充電率ESOCを推定する。なお、上記ステップS109の処理において、電圧値取得部25及び温度取得部26が、端子間電圧値Va~Vh及び温度Ta~Thの各情報をCMU221A,221Bから、所定時間ごとに取得するようにした場合、充電率推定部27は、電流値取得部23が電流値Ia,Ibを取得したタイミングより前の端子間電圧値Va~Vh、及び温度Ta~Thの各情報に基づいて組電池21の第二充電率ESOCを推定してもよい。すなわち、電流値Ia,Ibの情報は、電流センサIA,IBからBMU222に直接BMU222に通知されるのに対し、端子間電圧値Va~Vh及び温度Ta~Thの各情報は、電圧センサVA~VH及び温度センサTA~THからCMU221A,221Bを介してBMU222に通知されるため、BMU222が、電流値Ia,Ibの情報と、端子間電圧値Va~Vh及び温度Ta~Thの各情報とを受信するのにタイムラグがあって同期ズレすることも考えられる。よって、電圧値取得部25及び温度取得部26は、その同期ズレ分を考慮して、電流値Ia,Ibを取得する所定時間前の端子間電圧値Va~Vh、及び温度Ta~Thの各情報をCMU221A,221Bから取得することで、後述するステップS111の処理において、電流値に基づく第一充電率ASOCと、端子間電圧値等に基づく第二充電率ESOCとの差分のうち、その同期ズレ分を予め取り除くことができる、次いで、判定部28は、第一充電率ASOCと第二充電率ESOCとの差分の絶対値が補正対象値XD1以上である場合に、電圧値取得部25が取得した端子間電圧値Va~Vhより決定される代表電圧値Vrと、テーブル記憶部31に記憶されている相関関係を示すテーブルによって推定される第一充電率ASOCに応じた端子間電圧値VASOCとの差分が、二次電池20の内部抵抗値の電圧降下値によるものか否かを判定するステップS111。この判定部28における判定処理について図9に示すフローチャートを参照して詳細に説明する。まず、判定部28は、図9に示すように、第一充電率ASOCから第二充電率ESOCを減算した値が補正対象値XD1以上であるか否かを判定するステップS200。ステップS200の処理において、補正対象値XD1以上であると判定した場合ステップS200:Yes判定部28は、二次電池20の内部抵抗値による電圧降下値Vdrを算出するステップS201。一方、補正対象値XD1以上でないと判定した場合ステップS200:No、ステップS206の処理に移る。ステップS201の処理後、判定部29は、上記式1を用いて、図4に示すテーブルにより推定される第一充電率ASOCに応じた端子間電圧値VASOCから電圧値取得部25が取得した端子間電圧値Va~Vhより決定される代表電圧値Vrを減算した値VASOC-Vrが、電圧降下値Vdrより大きいか否かを判定するステップS202。ステップS202の処理において、VASOC-Vrが電圧降下値Vdrより大きいと判定した場合ステップS202:Yes、判定部28は、上記式4を用いて、電圧値取得部25が二次電池20の各端子間電圧値Va~Vhを取得した時点を含む一定期間、二次電池20の充電状態又は放電状態のいずれか一方の状態であるか否かを判定するステップS203。一方、VASOC-Vrが電圧降下値Vdr以下であると判定した場合ステップS202:No、ステップS100の処理に移る。ステップS203の処理において、充電状態又は放電状態のいずれか一方の状態であると判定した場合ステップS203:Yes、判定部28は、上記式3を用いて、電圧値取得部25が二次電池20の各端子間電圧値Va~Vhを取得した時点を含む一定期間、電流値取得部23が取得する電流値Ia,Ibの電流変動が所定範囲IP内であるか否かを判定するステップS204。一方、充電状態又は放電状態のいずれか一方の状態でないと判定した場合ステップS203:No、ステップS100の処理に移る。ステップS204の処理において、電流値取得部23が取得する電流値Ia,Ibの電流変動が所定範囲IP内であると判定した場合ステップS204:Yes、判定部28は、第一充電率ASOCを第二充電率ESOCに基づいて補正するステップS205。一方、電流値取得部23が取得する電流値の電流変動Ia,Ibが所定範囲IP内でないと判定した場合ステップS204:No、ステップS100の処理に移る。ステップS205の処理後、図8に示すフローチャートに戻り、ステップS112の処理に移る。一方、上記ステップS200の処理において、補正対象値XD1以上でないと判定した場合ステップS200:No、判定部28は、第二充電率ESOCから第一充電率ASOCを減算した値が補正対象値XD1以上であるか否かを判定するステップS206。ステップS206の処理において、補正対象値XD1以上であると判定した場合ステップS206:Yes、判定部28は、二次電池20の内部抵抗値による電圧降下値Vdrを算出するステップS207。ステップS207の処理後、判定部28は、電圧値取得部25が取得した端子間電圧値Va~Vhより決定される代表電圧値Vrから図4に示すテーブルにより推定される第一充電率ASOCに応じた端子間電圧値VASOCを減算した値Vr-VASOCが、電圧降下値Vdrより大きいか否かを判定するステップS208。ステップS208の処理において、Vr-VASOCが電圧降下値Vdrより大きいと判定した場合ステップS208:Yes、ステップS203の処理に移る。一方、Vr-VASOCが電圧降下値Vdr以下であると判定した場合ステップS208:No、ステップS100の処理に移る。また、ステップS206の処理において、補正対象値XD1以上でないと判定した場合ステップS206:No、タイマをリセットしステップS209、ステップS100の処理に移る。図8のフローチャートに戻り、ステップS111の処理の中のステップS205の処理後、補正部29は、第一充電率ASOCを第二充電率ESOCに基づいて補正する。すなわち、補正部29は、充電率記憶部30に充電率SOCとして記憶された第一充電率ASOCを第二充電率ESOCで書き換えて、第二充電率ESOCをステップS101における初期充電率にする。以上のように本実施形態の電池システム1のBMS222において充電率の設定処理動作が実行される。本実施形態の電池システム1によれば、電流値が所定値以下で且つ所定時間継続した場合に、二次電池の充放電電流の電流値を積算して算出する第一充電率を、二次電池の端子間電圧値で推定する第二充電率に基づいて補正することによって、誤差の少ない充電率を制御装置の各種制御で使用でき、その制御結果に与える影響を抑制することができる。また、本発明の電池システムによれば、二次電池の内部抵抗による電圧降下値を算出し、この算出した電圧降下値によって上記推定した第二充電率の正確さを考慮することで、適切な第二充電率で第一充電率を補正することができ、誤差の少ない充電率を制御装置の各種制御で確実に使用することができる。<変形例>以上のように本発明の電池システムの好適な実施形態について説明したが、本発明は、上記実施形態に限定されるべきものではなく、特許請求の範囲に表現された思想及び範囲を逸脱することなく、種々の変形、追加、及び省略が当業者によって可能である。例えば、上記本実施形態の電池システム1において、判定部28において、第一充電率ASOCと第二充電率ESOCとの差分の絶対値が補正対象値XD1以上であるか否かを判定し、上記差分の絶対値が補正対象値XD1以上である場合に、二次電池20の内部抵抗値による電圧降下値Vdrを算出するようにしていたが、本発明はこれに限られない。例えば、判定部28は、第一充電率ASOCと第二充電率ESOCとの差分の絶対値が補正対象値XD1以上である場合に、二次電池の内部抵抗値に応じた最低許容温度を設定し、温度取得部26が取得した温度Ta~Tより決定される代表温度が最低許容温度以上であるか否かを判定し、補正部29は、判定部28が判定した結果、代表温度が最低許容温度以上である場合に、第一充電率ASOCを第二充電率ESOCに基づいて補正するようにしてもよい。すなわち、内部抵抗値と温度とは、図6に示すように、相関関係があるので、例えば、充電率の使用範囲が60~70であり、上記補正対象範囲内XD1となる内部抵抗値が1.2mΩであるとすると、図6を参照すると、温度が5度以上であれば、第二充電率ESOCの電圧降下値の影響は許容範囲内と考えることができる。よって、設定部28において、最低許容温度を5度と設定し、補正部29が、代表温度が最低許容温度以上であると判定した場合に、第一充電率ASOCを第二充電率ESOCに基づいて補正する。このようにすることで、図6に示すテーブルをテーブル記憶部31などのメモリに予め記憶しておく必要がなく、記憶すべきデータ量を減らすことができる。なお、設定部28における最低許容温度の設定は、例えば、電池システムの使用環境等を考慮して、ユーザが適宜入力設定することができる。また、上記本実施形態の電池システム1として、作業車に適用される場合を例にとって説明したが、本発明はこれに限られず、電池装置2に充電された電力を負荷に対して供給する種々の装置に適用可能であって、例えば、電気自動車や電気バスなどの車両、飛行機や船に用いられる移動体用システム、又は、家庭用の電力貯蔵システム、風車や太陽光のような自然エネルギー発電と組み合わせた系統連系円滑化蓄電システムなどの定置用システムにも適用することができる。さらに、上記本実施形態の電池システム1では、電池管理装置22が各二次電池20a~20hの端子間電圧Va~Vh、及び温度Ta~Thを全て取得する場合を例にとって説明したが、本発明はこれに限られず、例えば、端子間電圧及び温度を取得する二次電池をアームごとに選択して、これらから第二充電率ESOCを推定してもよい。この場合、各種計測センサ電圧センサ、温度センサの数を減らすことができ。コストを抑制することもできる。またさらに、上記本実施形態の電池システム1では、BMS22と上位制御装置3とを別途備える場合を例にとって説明したが、これらは、BMS22と上位制御装置3との各処理を一つの制御装置で行うようにしてもよい。さらに、上記本実施形態の電池システム1では、充電率推定部27は、電圧値取得部25が取得した端子間電圧値Va~Vhと、温度取得部26が取得した温度Ta~Thとを用いて、第二充電率ESOCを推定していたが、本発明はこれに限られず、例えば、電池システム1において温度が一定状態になるように温度管理ができる状況下等では、電圧値取得部25が取得した端子間電圧値Va~Vhのみから、第二充電率ESOCを推定するようにしてもよい。この場合、ある一定温度の端子間電圧値と充電率との関係を表すテーブルを用意するだけでよい。またさらに、判定部28において電圧降下値Vdrの算出する際に、温度取得部26が取得した温度Ta~Thにより決定される代表温度Trと、充電率推定部27が推定した第二充電率ESOCとを用いて、電圧降下値Vdrを算出していたが、本発明はこれに限られず、例えば、電池システム1において温度が一定状態になるように温度管理ができる状況下等では、充電率推定部27が推定した第二充電率ESOCのみから、電圧降下値Vdrを算出してもよい。この場合、ある一定温度の内部抵抗値と充電率との関係を表すテーブルを用意するだけでよい。さらに、判定部28において電圧降下値Vdrの算出する際に、予め用意された二次電池20の内部抵抗値と充電率との関係を示すテーブルを用いて、二次電池20の内部抵抗値Rinを推定し、該推定した内部抵抗値Rinと電流値取得部23が取得した電流値Ia,Ibとを乗算することで電圧降下値Rinを算出していたが、本発明はこれに限られず、二次電池20の端子間電圧値Va~Vhと電流値取得部23が取得した電流値Ia,Ibに基づいて電圧降下値を算出するようにしてもよい。またさらに、上記本実施形態において、BMU222には、用途に応じた各部が備えられているが、BMU222に備えられている各部は、そのいくつかを一纏めにして構成されていてもよいし、一つの部をさらに複数の部に分割して構成されていてもよい。"