GM Engineering Europe - 모델 기반 설계를 사용한 GM 차량의 HVAC 제어기 개발 사례
과제
솔루션
결과
- 전 세계 54개 제품에서 시스템 모델 재사용
- 조기 검증을 통한 품질 개선
- 팀 소통 개선
GM Engineering Europe은 모델 기반 설계를 사용하여 실시간으로 주변 온도, 일광 부하, 열 전달 메커니즘, 대류, 기류, 열 복사가 미치는 효과를 시뮬레이션함으로써 차량 내부 전체의 공기 온도를 계산하는 정교한 임베디드 HVAC 제어 시스템을 개발했습니다.
"시간 제약 조건을 감안하면 우리는 C로 직접 코딩하여 그런 복잡한 모델을 개발할 수 없었을 것입니다." GM Engineering Europe의 소프트웨어 제어 그룹에서 섀시 제어 매니저를 맡고 있는 Johan Hägnander가 말합니다. "모델 기반 설계를 위한 MathWorks 툴로 우리는 HVAC 시스템의 시스템 수준 시뮬레이션을 만들어서 프로젝트 초기에 기능과 성능을 검증했습니다. 이후 우리는 동일한 모델을 사용해서 프로토타이핑에 쓰일 코드를 생성하고 최종적으로 프로덕션 하드웨어에 코드를 타겟팅했습니다."
과제
GM Engineering Europe의 엔지니어들은 GM의 유럽 브랜드에 대한 소프트웨어를 개발한 다년간의 경험이 있습니다. 최근에 이 그룹은 신형 하이브리드 및 주행거리 연장 전기차 등 전 세계 모든 GM 차량에 사용될 HVAC 소프트웨어 개발을 맡게 되었습니다.
"우리는 동일한 핵심 소프트웨어로 모든 GM 차량을 지원하길 원했기 때문에 개발 플랫폼이 더 유연해야 했습니다." Hägnander의 말입니다. "또한 우리는 전력 소비량 최소화를 최우선으로 하는 하이브리드 차량을 위해 새로운 기능을 추가해야 했습니다."
뿐만 아니라 GM Engineering Europe은 아시아, 북미, 유럽의 엔지니어링 팀들도 효과적으로 협업할 수 있는 플랫폼을 원했습니다.
과거 GM 엔지니어들은 시스템 전체를 개발하고 하드웨어가 준비되기 전에는 테스트를 시작할 수 없었습니다. "우리 목표는 공정 조기에 설계를 검증하는 것이었습니다." GM Engineering Europe의 소프트웨어 개발자인 Gerhard Stengel의 말입니다.
새롭고 더욱 복잡한 HVAC 제어기를 개발하는 팀도 이미 양산 중인 제품을 위해 인도 스케줄을 지켜야 했습니다.
솔루션
새로운 HVAC 제어기를 개발하기 위해 GM 엔지니어들은 MathWorks 툴을 사용하고 하드웨어가 준비되기 전에 다양한 결함 조건에서 구성요소를 테스트하고 설계를 검증할 수 있게 해주는 접근법인 모델 기반 설계를 채택했습니다.
MathWorks 컨설턴트들과 협력하여 팀은 전체 HVAC 제어기를 위한 모델 프레임워크를 Simulink®에서 개발하고 C 코드로 작성된 기존의 구성요소들을 통합했습니다.
엔지니어들은 C로 작성된 구성요소들을 Simulink 및 Stateflow® 모델로 변환했고 현재 설계 요구사항을 충족하기 위해 기능을 추가했습니다. 이 접근법을 통해 그들은 양산에 들어가는 차량에 최신 제어 소프트웨어를 제공할 수 있었고 시스템을 구성요소 단위로 업데이트할 수 있었습니다.
Simulink Report Generator™를 사용하여 GM Engineering Europe은 그들의 Simulink 및 Stateflow 모델에 관한 문서를 작성했고, 이로써 팀원들은 다른 사람들이 만든 구성요소 설계를 쉽게 이해할 수 있었습니다. Simulink 프레임워크 및 이러한 문서를 통해 인도, 북미, 독일, 스웨덴의 GM Engineering 팀들은 함께 병렬적으로 설계 작업을 할 수 있게 되었습니다.
하이브리드 차량의 전기 구동 압축기를 위한 제어기 등의 새로운 구성요소는 Simulink 및 Stateflow에서 전부 개발되었습니다. 이 팀은 압축기, 송풍기, 보조 히터에 대한 Simulink 플랜트 모델을 개발하여 폐루프 시뮬레이션을 통해 구성요소의 기능을 검증했습니다.
그들은 Simulink Coder™를 사용하여 Simulink에서 모델링한 구성요소들의 코드를 자동으로 생성하고 신속 프로토타이핑 하드웨어를 사용하여 실시간 차량 내 테스트를 진행했습니다. 시스템 모델에서 자동으로 코드가 생성되었기 때문에 그들은 단 몇 분 안에 모델을 변경하고 코드를 재생성하며 새로운 버전을 테스트할 수 있었습니다.
이어서 그들은 Embedded Coder®를 사용하여 프로덕션 코드를 생성하고 타겟인 32비트 마이크로컨트롤러에 배포했습니다.
이 새로운 제어기는 이미 Opel Insignia 등 많은 양산 차량에 설치되었고 GM 엔지니어들은 매 소프트웨어 릴리스마다 자동 생성된 코드의 비율을 높이면서 완전한 Simulink 구현을 향해 노력하고 있습니다.
결과
전 세계 54개 제품에서 시스템 모델 재사용. "모델 기반 설계로 전환한 이후 우리는 단순히 차량의 치수 같은 파라미터를 보정하고 다시 프로덕션 코드를 생성하는 것만으로 다른 많은 차량에 똑같은 핵심 시스템을 사용할 수 있게 되었습니다." Hägnander의 말입니다.
조기 검증을 통한 품질 개선 "타겟에서 디버깅하는 것과 모델에서 디버깅하는 것은 비교할 수도 없습니다." Stengel이 말합니다. "과거 우리는 배포한 후에야 시스템 전체를 테스트할 수 있었습니다. Simulink를 통해 우리는 몇 개월 일찍 구성요소 수준에서 시뮬레이션과 테스트를 했고 이는 최종 제품의 품질을 개선해 주었습니다."
팀 소통 개선 "Simulink 모델은 C 코드에 비해 이해하기가 훨씬 쉽습니다." Hägnander가 말합니다. "시뮬레이션을 통해 모델이 실행되는 것을 볼 수 있을 때 여러분과 팀원이 무엇을 개발하고 있는지 더 잘 이해할 수 있습니다."