To grasp variation in impedance of a battery correctly and make it reflected on battery management.
A motor is operated as a generator by making a power generation request for calculating impedance and when a time determined by a set value TGEN elapses after starting power generation, current I1 and voltage V1 of a battery are measured and power generation is ended. Upon elapsing a time determined by a set value TNLD after ending power generation, current I2 and voltage V2 of the battery are measured again. Correction value of impedance is then calculated by comparing an impedance calculated from measured currents I1, I2 and voltages V1, V2 with a reference impedance determined under initial state. It is used for correcting the table value of impedance when residual capacity is calculated by estimating open voltage from the table value so that precision of residual capacity is sustained even when the battery deteriorates, and reflected on battery management.