Artificial Neural Network based State of Charge Estimation for Lithium-ion Batteries