본문 바로가기
Battery/Battery Paper review

[MDPI-2021] Machine Learning-Based Data-Driven Fault Detection/Diagnosis of Lithium-Ion Battery: A Critical Review

by 노마드공학자 2023. 1. 9.

논문 전문 : https://www.mdpi.com/2079-9292/10/11/1309

[출처] Article: Machine Learning-Based Data-Driven Fault Detection/Diagnosis of Lithium-Ion Battery: A Critical Review
Authors: by Akash Samanta,Sumana Chowdhuri and Sheldon S. Williamson Link: https://www.mdpi.com/2079-9292/10/11/1309

 

 

※ The picture and content of this article are from the original paper.


[논문요약]
Machine Learning-Based Data-Driven Fault Detection/Diagnosis of Lithium-Ion Battery: A Critical Review

 

머신러닝을 활용하여 배터리 Fault Detection을 하는 방법들에 대해 정리하고 한계점 및 Future work에 대해 논하는 논문입니다. 사실 ML을 활용한 Fault Detecting 기법에 대한 논문들은 이전글에서 모두  세세하게 하나씩 다루어 정리했었습니다. 본디 시계열 데이터의 특성을 가지는 배터리의 한계상 Regression이나 Classification의 용도로 쓰는것외에 특별히 사용되는 스킬들도 많지 않구요

이 논문도 마찬가지로 GPR(Gaussian Process Regression)이나 SVM(Support Vector Machine), RF(Random Forest)같은 기법들을 사용한 배터리 Fault Detecting논문들에 대해 일부 정리하였으며, 이부분은 인사이트가 없었습니다.

 

하지만 제가 이 논문을 정리하게 된 이유는, 바로 논문의 맨뒤 3장이 꽤나 인사이트를 주었기 때문인데요

바로 ML을 배터리에 적용하는것에 대한 한계점이였습니다. 제가 평상시 생각하고있던것을 구체적으로 분류하여 잘 정리해두었기에 놀랐을 뿐 아니라, 논문의 저자들은 모두 학교에 있는 교수, 연구원들인데 Industry에서 바라보는 시선을 이렇게 잘 알고있다는 점에서 두번째로 놀랐습니다. (아마 회사에서 연구를 하다가 학교로 간 분들이 아닐까 합리적 의심이 됩니다.)

 

Purpose

 

SVM, GPR, RF, LR, ANN...같은 몇가지 머신러닝 기법들을 통해 배터리 이상셀을 진단하는것들에 대해 정리 되어있습니다. Regression을 통한 예측값과 현재값의 거동차이 분석을 통한 진단, 혹은 Reconstruction Error를 통한 진단이 있는데요 이부분은 이 전글들에서도 충분히 많이 다루었기에 다시한번 정리하진 않겠습니다.

 

논문에서 나온 하기이미지로 이부분 내용정리는 대체하도록 하겠습니다.

 

 

하기에는 이 논문의 말미에 서술된, 머신러닝 기법의 한계와 배터리 연구분야에 적용했을때 발생하는 문제점들을 위주로 제 생각과 논문의 내용을 곁들여 정리해보겠습니다.

 

Contents

 

1. Data Pre-Processing의 한계

머신러닝을 위해서는 High Qaulity, Quantity의 Data가 필요합니다. 

특히 배터리 같은 경우는 화학 성분의 변화이기에 Time resolution이 1ms, 10ms와 같이 아주 세밀한 데이터가 필요한데요,

이런 데이터들을 서버로 쏘아올리다보면 자연스레 Data Loss가 생기게 마련입니다.

 

그이유는, 예를들어 아주 간단하게만 얘기해보겠습니다.

배터리를 분석하는데에 전류,전압,온도,SOC 이렇게 4개데이터만 필요하다고 가정해보시죠

그리고 실제 차량이 1시간동안만 운전한다고 가정했을때 1초당 데이터로 3600 * 4(4개 종류데이터) = 14,400개의 데이터가 필요합니다.

그런데 화학적으로 1초는 아주 긴시간이며, 유의미한 거동 분석을 위해 10ms 데이터가 필요하다고 가정해보시죠

그러면 1시간 운전하는 시간동안의 데이터가 1,440,000개 필요합니다.

조금더 현실적으로 말해보겠습니다.

테슬라는 배터리셀이 21700적용된 모델3기준 7000개정도가 들어갑니다.

그러면 7000개 셀의 전압을 모두 봐야겠죠, 온도는 모듈당 1개씩 있다고 가정하고 20개있다고 가정해봅시다.

그러면 차량이 1시간 운전할때 얻을 수 있는 데이터는 이렇게됩니다.

3600(1시간/초) * 7022(7000개셀전압+온도센서20개+전류+SOC) * 100(10ms단위) = 2,527,920,000

 

아주 간소화한것임에도 1시간 운전할때 필요한 데이터는 25억개입니다.

 

테슬라의 경우, 년간 50만대 정도를 팔고있습니다.

당연히 이차들은 하루에도 평균 수시간 이상 주행을 할테구요. 즉, 말도안되는 양의 데이터를 서버로 쏘아올려야합니다.

 

하루에 400대의 차가 1시간만 운행한다고해도 1조개의 데이터가 서버로 쏘아올라가는데,

서버로 쏘아진 데이터는 아름답고 예쁘게 바로 데이터분석에쓸수있게 업로드 되지 않습니다. 데이터를 서버로 송수신하는것 또한 결국 통신기법에 의해 엔지니어링 처리되는것이기에 데이터 변복조 과정에서 Loss가 반드시 발생하고, 실제로 발생하는 비율이 아주 낮지않다는것을 직접 확인하기도 했습니다.

 

그럼 1조개중에 1000개의 데이터가 중간중간에 문제가있다고 생각해봅시다.

이걸 언제 하나하나 찾아내고, 찾아낼지라도 그게 문제가 없을때 값이 어떨지 어떻게알수있을까요? 이또한 하나의 연구분야입니다. 

 

따라서, 실제로 빅데이터서버를 만들고 이를 머신러닝 기법을 통해 분석하고 OTA(Over The Air)를 통해 다시 제어기로 연산결과를 보내는 이 일련의 과정들 자체가 어려울 뿐 아니라, 과정 중 데이터 손실이 꾸준히 발생한다는것을 지각해야합니다. 절대로 통신 Module/De-module 및 Tx/Rx 과정에서 데이터가 예쁘게 주고받아지지 않습니다.

 

따라서, Cloud-BMS라고 해서 국내외를 막론하고 다양한 스타트업과 회사들의 제안서를 본적이 있는데요. 저는 근본적으로 이런 과정에 대한 솔루션을 제공할수는 없더라도, 자각하고 있냐 없냐를 대단히 중요하게 여기고 있습니다.

 

2. 양산 배터리 시스템의 원가 압박에 의한 한계

이건 1번과도 어느정도 연관됩니다.

논문의 13장 첫문단에 잘나와있는데요, Academy에서 나오는 논문들은 대부분 단셀에 Lab Scale의 0.1mV단위로 센싱 가능한 장비에 온도도 Anode, Cathode 다찍어보는 수준으로 연구를 진행하고 있습니다.

 

하지만, 양산에 적용되는 배터리 시스템은 원가 압박이 있기에 ESS건 EV건 관계없이 센서 성능에 한계가 있습니다.

예를들어, 1억에 파는 전기차에 센서값으로 2억을 쓸수는 없는 노릇이기 때문입니다.

 

따라서 센서의 성능이나 Frequency도 화학성분을 분석하기에는 부족한 경우가 많습니다. 자체 Noise도 감안해야하구요.

저는 셀과 시스템을 모두 연구하기에 양쪽의 입장 모두 이해가되는데요, 업무를 하다보면 이런 경우가 많습니다.

"셀에서는 되는데요?" "시스템에서는 안돼요" 

이런식으로 회의가 진행되는 경우가 꽤나 있는데요, 1개 셀로 볼때와 수백 수천개의 셀이 버스바와 같은 저항체들을 통해 직병렬 연결되고, 플라스틱 모듈로 감싸졌으며, 센싱 모듈의 Noise들도 감안해야하고 실제 차 안에서는 Converter와 Inverter들의 Switching 주파수에 따른 Noise들 까지도 고려해야하는 부분이 있습니다. 또한, 셀 발열에 대해서는 냉각수 제어를 어떻게하는지, 냉각 plate를 어떻게 설계했고, 냉각수 EWP(Electric Water Pump)의 RPM은 몇인지, 유로를 어떻게 구성했는지, PE(Power Electric)다른 부품에서의 열이 배터리 시스템에는 어떤식으로 영향을 주는지.. 고려해야할것이 한두가지가 아니기 때문입니다.

 

즉, 똑같은 전류 시퀀스에 대해 실험을 하더라도 배터리 단셀과 시스템에서의 결과치는 달라질 수 밖에없으며, 시스템으로 데이터 모니터링시 수많은 셀들간의 제조산포까지 고려해야하기에 데이터분석과정에서 어려움이 있을 뿐 아니라, 원가에 의한 센서 성능 한계가 있기에 데이터 퀄리티 측면에서 Academy보단 떨어질 수 밖에 없습니다.

 

3. BMS 임베디드 및 데이터 확보의 한계

일반적인 BMS Board내에 진단이나 특정 목적만을 위해 메모리를 많이 할당할 수는 없습니다.

LSTM은 커녕 RNN, ANN의 레이어만 조금 깊어져도 Computational Power가 엄청나게 올라가는데요, 

 

BMS에 서버나 데스크탑급 GPU를 달수도 없을 뿐더러(원가 문제 포함), 굳이 한개 차량에서 얻어지는 데이터를 가지고 학습할 필요도 없습니다. 학습을 해야한다면, 수많은 차량들의 빅데이터를 통해 학습한 Weight와 Bias들을 사용해야겠죠. 따라서, Cloud BMS를 만들어서 OTA를 통해 Real time으로 데이터 송수신한다느니 이런 현재에서는 꿈같은 얘기는 뒤로하고, ML모델을 BMS에 탑재해야한다면 offline에서 학습을 완료하고 weight와 bias는 고정인채로 탑재해야합니다.

 

그러기위해선 offline에서 미리 필드에서 발생할 수 있는 가능한 모든 데이터들에 대해 선행학습되어있어야하는데요.

SOC, 온도, SOH, 전류 딱 이렇게 4가지만해도 4차원의 데이터가 필요합니다. 4차원의 경우의 수에 대해 빼곡하게 정리된 양질의 데이터가 필요한거죠 (물론 현실에선 더필요합니다.) 

특히, SOH는 열화시험한다고 끝나는게 아니라 똑같은 SOH라도 열화한 방법에 따라 메커니즘과 저항성분이 달라질 수 있기에 특정지을수가 없습니다. 예를들어, Internal resistance가 높아서 상하한전압 도달시 용량이 낮게나올수도있고, capacity fading이 되서 애초에 용량자체가 줄어든 셀일수도있고, 기타등등... 이런것들을 모두 나누어 실험을 할수도, 애초에 정량화할수도없습니다.

 

따라서, 배터리 데이터 학습을 위해 offline에서 사전에 데이터를 모든 시나리오에 대해 준비한다는것은 근본적으로 한계점이있다는 것입니다.

 

또한, 임베디드 컴퓨팅이라는 분야가 따로있습니다.

제가 운영하는 연구그룹에서 최근 맞닥드렸던 문제점중 하나인데요,

임베디드 BMS보드는 말 그대로 보드입니다. 즉, matlab이나 python, c에서 흔히 library로 제공하는 math와 관련된것들은 전혀 쓸수가 없으며, 간단한 사칙연산을 제외하곤 아무것도 없는 백지상태의 코드라고 보면됩니다.

이런 경우에, 예를들면 x.^(4.8) 을 구현해야한다고 해봅시다.

어떻게하면좋을까요?

이런경우에 임베디드 컴퓨팅을 하는사람들은 최적화까지해야하므로, 테일러 급수를 통해 지수승을 표현하곤 합니다. 

즉, 딥러닝과 관련된 모든 머신러닝 모델에 대해서도 pytorch나 tensorflow에서 지원하는것이 아닌 직접 해당 BMS 보드가 지원하는 언어로 밑바닥부터 사칙연산만 기반으로하여 코드를 짜야한다는 어려움이 있습니다.

(물론, 익숙해지면 지수승이나 이런것도 모두 함수화해버리겠지만요)

 

4. 학습에 걸리는 과도한 시간

논문의 저자는 Real Time이라는 것에 꽂혀있습니다.

따라서, 특정 데이터 시퀀스가 들어오고 이것의 이상여부를 판단하기 위해서는 끊임없이 여러차종들의 데이터를 받고 학습해야한다고 생각하고 있는데요

이를 위해서 GPR 베이스로 본인이 짠 Regression식은 167초의 학습시간이 걸렸다고하며, 이는 Real Time진단을 막는 장애요소라고 합니다.

이것도 말은 되는것이, 지금 당장 이 차의 배터리가 문제가 있는지 진단해야하는데, 지금당장의 데이터로 딥러닝 모델을 학습하는데 167초면 최소한 3분후에 진단을 할 수 있기때문입니다.

 

하지만 저는 이부분에 대해서는 비공감하는 부분이, 결국에는 당장 문제가 있기전 어떤 문제가 있어보이는 셀에 대한 조기경보의 컨셉으로 연구를 진행하고있기에 굳이 3분이라는 시간이 문제가 될게있나 하는것입니다.

즉, Thermal Runaway 직전 3분에 진단한다. 이러면 문제가 있겠지만, Thermal Runaway의 조짐이 보이는 어떤것을 미리미리 걸러낸다는 컨셉으로 하면 그렇게 학습시간에 얽매일 필요가 없다고 생각합니다.

또한, 양질의 빅데이터로 학습시켜놓은 어떤 모델을 굳이 매번 학습 할 필요도 없다고 생각되구요 

 

 

Results

학교에서 나온 논문이지만 인더스트리에서 하는 고민에 대해 꽤나 정확하게 알고있는 논문입니다.

상기에 적은 내용은, 논문내용 일부와 제가 생각하고있던 부분을 조금 합쳐서 적었는데요

BMS하시는분들은 한번 읽어보면 좋을듯합니다. 특히 ML 접목하시는 분들은요

참조

[1] Article: Machine Learning-Based Data-Driven Fault Detection/Diagnosis of Lithium-Ion Battery: A Critical Review
Authors: by Akash Samanta,Sumana Chowdhuri andSheldon S. Williamson Link: https://www.mdpi.com/2079-9292/10/11/1309

 

 

댓글