이 페이지는 기계 번역되었습니다.
번역 품질에 대한 1분 설문 조사에 참여해 주세요.
모델 기반 설계를 통한 하이브리드 자동차 배터리 관리 시스템의 AUTOSAR 및 ISO 26262 준수 소프트웨어 개발
작성자: 김덕영, 조원태, 이호진, LG화학
우리 팀이 Volvo XC90 플러그인 하이브리드용 BMS(배터리 관리 시스템)을 개발할 때 AUTOSAR를 사용하는 것은 Volvo의 요구사항이었지만, 개발 방법론과 툴은 우리가 자유롭게 선택할 수 있었습니다. 우리는 이 프로젝트를 모델 기반 설계에 기반한 워크플로를 구축할 수 있는 기회로 보았습니다. 이 워크플로를 사용하면 기본 소프트웨어 계층의 하드웨어별 모듈 개발을 해당 분야의 전문 지식을 갖춘 공급업체에 맡기고 응용 계층의 제어 논리를 모델링, 시뮬레이션, 검증하는 데 집중할 수 있습니다.
MATLAB® 및 Simulink®를 사용한 모델 기반 설계를 통해 컴포넌트 재사용률을 높이고, 수동 코딩을 줄이고, 고객과의 소통을 개선하고, 더 높은 품질의 BMS를 제공할 수 있었습니다. 모델 기반 설계가 도입된 이후, 각 소프트웨어 릴리스에서 발견된 소프트웨어 문제 수는 약 22개에서 9개 미만으로 줄었습니다. 이는 프로젝트 목표보다 훨씬 낮습니다.
왜 모델 기반 설계인가?
우리가 모델 기반 설계를 선택한 이유 중 하나는 BMS의 핵심을 구성하는 복잡한 알고리즘과 동작을 모델링하고 시뮬레이션할 수 있기 때문입니다. 우리는 고객 인수 테스트에 앞서 SIL(Software-in-the-Loop) 및 HIL(Hardware-in-the-Loop) 테스트를 통해 품질 검사를 자동화하고 설계를 철저히 검증하고자 했습니다.
우리가 개발하는 데 필요한 알고리즘에는 전기화학, 수학, 제어 설계, 소프트웨어 공학을 포함한 다양한 분야와 배경을 가진 엔지니어의 기여가 필요했습니다. 우리는 모델 기반 설계가 그들에게 설계 협업을 위한 공통 플랫폼과 공유 언어를 제공할 것이라는 걸 알았습니다.
재사용성은 우리의 결정을 뒷받침하는 또 다른 주요 요소였습니다. 우리는 이미 Volvo BMS 프로젝트에 사용하고자 하는 구성요소 라이브러리를 조립해 놓았고, 향후 OEM과의 프로젝트 개발을 가속화하기 위해 이 라이브러리를 계속 개발하고 싶었습니다. 지금까지 Volvo 프로젝트에서는 5가지 변형 모델에 걸쳐 핵심 라이브러리를 활용했습니다. 이 핵심 라이브러리를 사용하면 새로운 변형 모델을 시작하고 새로운 프로젝트를 시작하는 데 걸리는 시간이 훨씬 줄어듭니다.
AUTOSAR 소프트웨어 컴포넌트 개발
우리는 AUTOSAR 저작 도구에서 시스템 아키텍처를 모델링하고 소프트웨어 컴포넌트 설명을 정의하여 하향식 개발 접근 방식을 시작했습니다. 그런 다음 컴포넌트 설명(ARXML 파일로 내보냄)을 Simulink로 가져왔습니다.
Simulink 및 Stateflow®에서 작업하여 우리는 가져오기 프로세스 중에 자동으로 생성된 뼈대 모델을 사용하여 BMS의 제어 논리와 알고리즘 동작을 모델링했습니다. 또한 Simulink 모델의 신호를 AUTOSAR 컴포넌트 설명의 신호에 매핑했습니다. 이 단계에서는 이전 프로젝트에서 결합한 핵심 라이브러리에서 Simulink 컴포넌트를 재사용하여 SoC(충전 상태) 추정, SoH(성능 상태) 추정, 제어 논리, 진단 논리 등을 수행했습니다. 우리는 Volvo의 이 특정 프로젝트 요구사항을 충족하기 위해 PHEV의 모터 중재 논리를 포함하여 맞춤형 논리를 추가했습니다.
Simulink에서 제어기 모델을 개발하면서 우리는 모델 어드바이저를 사용하여 스타일 지침과 모델링 표준을 준수하는지 수시로 확인했습니다. 또한 Simulink Design Verifier™를 사용하여 모델에서 데드 로직, 0으로 나누기 오류 및 기타 설계 오류도 확인했습니다.
LG화학의 전기화학 시뮬레이션 팀은 배터리팩의 전기화학 셀에 대한 수학적 모델을 만들었습니다. 우리는 이 팀의 MATLAB 코드를 Simulink 플랜트 모델에 통합하여 컨트롤러 모델을 시뮬레이션했습니다.
코드 생성 및 테스트 자동화
초기 설계를 완료한 후, 우리의 목표는 코드 구현과 테스트 실행을 포함하여 남은 워크플로를 최대한 자동화하는 것이었습니다. 우리는 Embedded Coder® 및 Embedded Coder Support Package for AUTOSAR Standard를 사용하여 제어기 모델로부터 AUTOSAR 준수 C 코드를 생성했습니다.
생성된 코드의 유효성을 검사하기 위해 핵심 라이브러리 컴포넌트, 매핑된 신호, 사용자 정의 논리의 세 가지 영역에 초점을 맞춘 테스트 케이스를 사용하여 SIL 테스트를 수행했습니다.
자동화된 SIL 테스트 동안 우리는 Simulink Coverage™를 사용해 실행 커버리지, MC/DC(수정 조건/결정 커버리지), 룩업 테이블 커버리지 및 순환 복잡도를 측정했습니다. 이러한 메트릭을 통해 테스트가 전체 설계를 준수하고 있는지 확인할 수 있었습니다. 통합 테스트에서 발견된 디버깅하기 어려운 문제는 수동 코딩에 의존하는 개발 프로세스로 진단하는 것이 거의 불가능할 수 있습니다. 특히 소프트웨어 컴포넌트(SWC)의 출력이 두 번째 SWC에서 처리된 다음 원래 SWC로 다시 피드백되는 시스템의 경우 더욱 그렇습니다. 모델 기반 설계를 사용하면 시뮬레이션 중에 각 수준의 신호를 표시하고 피드백 루프에서 SWC를 통해 오류가 어떻게 전파되는지 확인할 수 있어 기본 문제를 더 쉽게 식별하고 수정할 수 있습니다.
우리는 생성된 코드를 차량의 전체 전기 파워트레인을 시뮬레이션하는 HIL 테스트를 위해 대상 임베디드 프로세서에 배포했습니다. 이러한 최종 테스트는 고객이 실시하는 차량 검증 테스트로 이어집니다. 고객 테스트에서 오류가 발견되면 테스트 로그 파일을 사용하여 Simulink에서 문제를 재현하고 시뮬레이션을 통해 근본 원인을 식별한 다음 모델을 조정하여 문제를 해결할 수 있습니다. 워크플로의 일부로 수행한 광범위한 테스트 덕분에 소프트웨어 문제가 현저히 감소했습니다. (그림 1)
다음 단계
우리가 AUTOSAR 및 모델 기반 설계를 사용해 Volvo를 위해 개발한 BMS는 ASIL C(자동차 안전 무결성 수준 C)에 대한 ISO 26262 기능 안전 기반 인증을 획득했습니다. 이 초기 프로젝트에서는 대부분의 인증 작업을 수동으로 완료했습니다. 그 이후로 우리는 많은 작업을 자동화하고 인증을 위한 보고서 생성에 필요한 리소스를 줄였습니다.
현재 저희 팀은 Volvo BMS를 위해 구축한 워크플로를 활용하여 점점 더 많은 자동차 OEM 고객을 대상으로 AUTOSAR 소프트웨어 컴포넌트를 개발하고 있습니다.
2018년 기고