Simulink에서 피드포워드 신경망을 사용하여 배터리 충전 상태 추정
이 예제에서는 Simulink® 모델 내에서 피드포워드 딥러닝 신경망을 사용하여 배터리의 충전 상태(SOC)를 예측하는 방법을 보여줍니다. Simulink 모델 내에 Predict 블록으로 신경망을 포함시켜서 매 시뮬레이션 스텝마다 SOC를 예측하도록 합니다.
배터리 SOC는 전기 배터리 용량 대비 배터리 충전 수준을 백분율로 측정한 값입니다. SOC는 차량 에너지 관리 시스템의 핵심 정보이므로, 전기 차량의 안정성과 가격 합리성을 보장하기 위해 정확히 추정되어야 합니다. 칼만 필터(EKF) 알고리즘에 기반한 방식이 이 문제에 대한 전통적 접근 방식이지만, 이 방식에서는 일반적으로 정밀한 파라미터가 필요하고 배터리의 물리적 반응뿐만 아니라 배터리 조성(battery composition)에 대한 지식도 있어야 합니다. 반면에 신경망을 사용한 방식은 데이터에 기반하므로 배터리 또는 배터리의 비선형 동작에 대한 최소한의 지식만 있어도 됩니다[1].
이 예제에서는 [1]의 전처리된 데이터 세트 LG_HG2_Prepared_Dataset_McMasterUniversity_Jan_2020을 사용합니다. 이 예제는 전압, 전류, 온도, 평균 전압, 평균 전류 같은 배터리의 다양한 특징을 표현한 시계열 데이터가 주어지면, 훈련된 피드포워드 신경망을 사용하여 리튬 이온 배터리의 SOC를 예측합니다. 배터리 충전 상태를 추정하는 전체 워크플로에 대해서는 Battery State of Charge Estimation Using Deep Learning 항목을 참조하십시오.
SOC 예측을 위한 Simulink 모델
Simulink 모델 BatterySOCSimulinkEstimation.slx를 엽니다.
BatterySOCSimulinkEstimation_ini;
modelName = 'BatterySOCSimulinkEstimation';
open_system(modelName);
이 모델은 훈련된 신경망의 예측 변수와 테스트 데이터의 목표 SOC를 불러오는 From Workspace 블록 두 개, Deep Learning Toolbox™ 라이브러리의 Predict 블록, 그리고 예측된 출력값과 입력 신호를 표시하는 Scope 블록 두 개를 사용합니다.
Predict 블록은 블록 파라미터로 지정된 훈련된 신경망을 사용하여 입력에 제공된 데이터에 대한 응답 변수를 예측합니다. 이 블록은 신경망 입력 계층의 차원을 갖는 입력 신호를 받고 예측을 출력합니다.
시뮬레이션 실행하기
배터리의 충전 상태를 예측하고 예측의 효율성을 검증하려면 시뮬레이션을 실행합니다.
sim('BatterySOCSimulinkEstimation');이 시스템을 더 큰 규모의 프레임워크 내에 통합할 수 있습니다. 예를 들어 배터리 상태를 지속적으로 모니터링하고 배터리가 안전 동작 영역을 벗어나 작동하는 경우 예방책을 실행하는 배터리 관리 시스템 내에 통합할 수 있습니다.
입력값 플로팅하기
입력값을 플로팅하려면 soc_estimation_plot_inputs.m 스크립트를 사용합니다.
BatterySOCSimulinkEstimation_plot_inputs;

출력값 플로팅 및 분석하기
신경망의 성능을 분석하려면 신경망에서 얻은 예측 결과를 테스트 데이터와 비교합니다.
출력값을 플로팅하려면 soc_estimation_plot_outputs.m 스크립트를 사용합니다.
BatterySOCSimulinkEstimation_plot_outputs;

신경망의 시간에 따른 SOC 예측값이 플롯에 표시됩니다. 신경망 예측값이 테스트 데이터에서 가져온 SOC 값과 비슷합니다. 이 신경망은 –10˚C ~ 25˚C의 온도 범위 내에서 정확도 3으로 충전 상태를 예측합니다.
참고 문헌
[1] Kollmeyer, Phillip, Carlos Vidal, Mina Naguib, and Michael Skells. “LG 18650HG2 Li-Ion Battery Data and Example Deep Neural Network XEV SOC Estimator Script.” Mendeley, March 5, 2020. https://doi.org/10.17632/CP3473X7XV.3.
참고 항목
Stateful Predict | Predict | trainnet | trainingOptions | dlnetwork