All Projects → MichaelBosello → battery-rul-estimation

MichaelBosello / battery-rul-estimation

Licence: Apache-2.0 License
Remaining Useful Life (RUL) estimation of Lithium-ion batteries using deep LSTMs

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to battery-rul-estimation

Java Deep Learning Cookbook
Code for Java Deep Learning Cookbook
Stars: ✭ 156 (+524%)
Mutual labels:  time-series, regression, deeplearning
Ailearning
AiLearning: 机器学习 - MachineLearning - ML、深度学习 - DeepLearning - DL、自然语言处理 NLP
Stars: ✭ 32,316 (+129164%)
Mutual labels:  regression, lstm, deeplearning
lightweight-temporal-attention-pytorch
A PyTorch implementation of the Light Temporal Attention Encoder (L-TAE) for satellite image time series. classification
Stars: ✭ 43 (+72%)
Mutual labels:  time-series, deeplearning
foxbms-2
foxBMS 2, online documentation at https://docs.foxbms.org
Stars: ✭ 75 (+200%)
Mutual labels:  bms, battery-management-system
OCR
Optical character recognition Using Deep Learning
Stars: ✭ 25 (+0%)
Mutual labels:  lstm, deeplearning
Time-Series-Forecasting
Rainfall analysis of Maharashtra - Season/Month wise forecasting. Different methods have been used. The main goal of this project is to increase the performance of forecasted results during rainy seasons.
Stars: ✭ 27 (+8%)
Mutual labels:  time-series, lstm
ENNOID-BMS
Open-Source: Modular BMS based on LTC68XX & STM32 MCU for up to 400V EV battery pack
Stars: ✭ 132 (+428%)
Mutual labels:  bms, battery-management-system
Forecasting-Solar-Energy
Forecasting Solar Power: Analysis of using a LSTM Neural Network
Stars: ✭ 23 (-8%)
Mutual labels:  lstm, deeplearning
Kaggle Competition Favorita
5th place solution for Kaggle competition Favorita Grocery Sales Forecasting
Stars: ✭ 169 (+576%)
Mutual labels:  time-series, lstm
Robust-Deep-Learning-Pipeline
Deep Convolutional Bidirectional LSTM for Complex Activity Recognition with Missing Data. Human Activity Recognition Challenge. Springer SIST (2020)
Stars: ✭ 20 (-20%)
Mutual labels:  time-series, lstm
SentimentAnalysis
Sentiment Analysis: Deep Bi-LSTM+attention model
Stars: ✭ 32 (+28%)
Mutual labels:  lstm, deeplearning
Learning-Lab-C-Library
This library provides a set of basic functions for different type of deep learning (and other) algorithms in C.This deep learning library will be constantly updated
Stars: ✭ 20 (-20%)
Mutual labels:  lstm, deeplearning
DataScience ArtificialIntelligence Utils
Examples of Data Science projects and Artificial Intelligence use cases
Stars: ✭ 302 (+1108%)
Mutual labels:  time-series, regression
diyBMSv4Code
Software for diyBMS v4
Stars: ✭ 128 (+412%)
Mutual labels:  bms, battery-management-system
LSTM-Time-Series-Analysis
Using LSTM network for time series forecasting
Stars: ✭ 41 (+64%)
Mutual labels:  time-series, lstm
Lstm anomaly thesis
Anomaly detection for temporal data using LSTMs
Stars: ✭ 178 (+612%)
Mutual labels:  time-series, lstm
air writing
Online Hand Writing Recognition using BLSTM
Stars: ✭ 26 (+4%)
Mutual labels:  lstm, deeplearning
deep-improvisation
Easy-to-use Deep LSTM Neural Network to generate song sounds like containing improvisation.
Stars: ✭ 53 (+112%)
Mutual labels:  lstm, deeplearning
Motion Sense
MotionSense Dataset for Human Activity and Attribute Recognition ( time-series data generated by smartphone's sensors: accelerometer and gyroscope)
Stars: ✭ 159 (+536%)
Mutual labels:  time-series, deeplearning
Sequitur
Library of autoencoders for sequential data
Stars: ✭ 162 (+548%)
Mutual labels:  time-series, lstm

Battery-state-estimation

Estimation of the Remaining Useful Life (RUL) of Lithium-ion batteries using Deep LSTMs.

Introduction

This repository provides the implementation of deep LSTMs for RUL estimation. The experiments have been performed on two datasets: the NASA Randomized Battery Usage Data Set and the UNIBO Powertools Dataset.

Paper

If you use this repo, please cite our paper:

To Charge or To Sell? EV Pack Useful Life Estimation via LSTMs and Autoencoders [URL]

@misc{bosello2021charge,
      title={To Charge or To Sell? EV Pack Useful Life Estimation via LSTMs and Autoencoders}, 
      author={Michael Bosello and Carlo Falcomer and Claudio Rossi and Giovanni Pau},
      year={2021},
      eprint={2110.03585},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

Source code structure

The package data_processing contains the scripts that load the data from the two sets. unibo_powertools_data.py loads the data from the UNIBO dataset and compute the derived columns like the SOC one, while model_data_handler.py prepare the time series. nasa_random_data.py both loads and prepares the data of the NASA Randomized set. prepare_rul_data.py is used for both datasets; it calculates the integral of the current to obtain the RUL based on Ah, and it format the time series for the neural network.

The experiments directory contains the Jupyter notebooks defining the various experiments and LSTM models used. The results directory shows the plots of the results and the measurements like RMSE, MAE, etc.

Quick start

1) Install requirements

Python packages

pip install tensorflow
pip install pandas
pip install sklearn
pip install scipy
pip install plotly
pip install jupyterlab

Let Plotly work in Jupyterlab

  1. Install node

  2. jupyter labextension install jupyterlab-plotly

2) Download the datasets

Download the NASA Randomized Battery Dataset and put its content in the directory battery-state-estimation/data/nasa-randomized/

Download the UNIBO dataset and put its content in the directory battery-state-estimation/data/unibo-powertools-dataset/

3) Run one of the notebooks

Run one of the notebooks in the experiments directory. You can switch between training a new model or loading an existing one by toggling the value of IS_TRAINING at the top of the notebook (just define the model file name in RESULT_NAME).

Check out the results directory if you want to see the results obtained by us.

If you want to run the notebook on Google Colab, load the repository in your Google Drive and set to True the variable IS_COLAB at the top of the notebook. This will allow the notebook to find the datasets and to save the results in your Drive.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].