A system for estimating a state of charge in a battery comprising: a sensor operatively connected to the battery and configured to measure at least one of an input current, input voltage, output current, and output voltage from the battery; a memory configured to store programmed instructions and a plurality of model parameters (120, 124, 128) associated with the battery; an output device configured to generate an output corresponding to an estimated state of charge in the battery; and a processor operatively connected to the sensor, the memory, and the output device, the processor being configured to: identify a first state of charge in the battery at a first time with reference to a first signal from the sensor, the first state of charge being a charge state of the battery being either fully charged or fully discharged; identify the first state of charge in the battery at a second time with reference to a second signal from the sensor after the battery operates in at least one operating mode with a plurality of states of charge in the battery other than the first state of charge, the second time being later than the first time; characterized in that the processor is further configured to: identify an estimated state of charge at the second time with reference to a model having the plurality of model parameters corresponding to the battery in the first state of charge at the first time; identify an error between the first state of charge and the estimated state of charge of the battery; modify at least one of the plurality of model parameters with reference to the identified error; and generate, with the output device, an output corresponding to an estimate of the state of charge of the battery using the model with the at least one modified parameter while the battery operates in the at least one operating mode after the second time. a sensor operatively connected to the battery and configured to measure at least one of an input current, input voltage, output current, and output voltage from the battery; a memory configured to store programmed instructions and a plurality of model parameters (120, 124, 128) associated with the battery; an output device configured to generate an output corresponding to an estimated state of charge in the battery; and a processor operatively connected to the sensor, the memory, and the output device, the processor being configured to: identify a first state of charge in the battery at a first time with reference to a first signal from the sensor, the first state of charge being a charge state of the battery being either fully charged or fully discharged; identify the first state of charge in the battery at a second time with reference to a second signal from the sensor after the battery operates in at least one operating mode with a plurality of states of charge in the battery other than the first state of charge, the second time being later than the first time; characterized in that the processor is further configured to: identify an estimated state of charge at the second time with reference to a model having the plurality of model parameters corresponding to the battery in the first state of charge at the first time; identify an error between the first state of charge and the estimated state of charge of the battery; modify at least one of the plurality of model parameters with reference to the identified error; and generate, with the output device, an output corresponding to an estimate of the state of charge of the battery using the model with the at least one modified identify a first state of charge in the battery at a first time with reference to a first signal from the sensor, the first state of charge being a charge state of the battery being either fully charged or fully discharged; identify the first state of charge in the battery at a second time with reference to a second signal from the sensor after the battery operates in at least one operating mode with a plurality of states of charge in the battery other than the first state of charge, the second time being later than the first time; characterized in that the processor is further configured to: identify an estimated state of charge at the second time with reference to a model having the plurality of model parameters corresponding to the battery in the first state of charge at the first time; identify an error between the first state of charge and the estimated state of charge of the battery; modify at least one of the plurality of model parameters with reference to the identified error; and generate, with the output device, an output corresponding to an estimate of the state of charge of the battery using the model with the at least one modified identify an estimated state of charge at the second time with reference to a model having the plurality of model parameters corresponding to the battery in the first state of charge at the first time; identify an error between the first state of charge and the estimated state of charge of the battery; modify at least one of the plurality of model parameters with reference to the identified error; and generate, with the output device, an output corresponding to an estimate of the state of charge of the battery using the model with the at least one modified parameter while the battery operates in the at least one operating mode after the second time.