GM의 버추얼 프로토타이핑
연료전지 프로젝트의 소프트웨어 개발 공정에 INTECRIO 활용
2009년 08월호 지면기사  / 글│척 올로스키(Chuck Olosky), 샌딥 데슈판테(Sandip Deshpande) 제너널 모터스(GM)

GM 연료전지사업본부(GM-Fuel Cell Activity: GM-FCA)의 ECU 소프트웨어 개발팀과 플랜트 모델링 팀은 Simulink짋/Stateflow를 사용해 ECU 연료전지 시스템의 제어 모델과 연료전지 시스템의 플랜트 모델을 개발하고 있다. 연료전지에 관한 기존 알고리즘이 존재하지 않기 때문에, 제어 소프트웨어 개발 환경은 완전 모델 기반(model-based)이다. 프로토타이핑 컨트롤러를 사용한 개발 과정에서 같은 제어 모델을 사용하고 양산용 ECU에 구현하기 위한 자동 코드 생성에도 이 모델을 사용했다. ECU의 제어 기능을 개발하기 위해 GM 내연기관(ICE) 양산 프로젝트를 수정해서 자동 코드 생성 알고리즘을 기존의 ECU 인프라스트럭처에 통합했다.
가상 테스트에서는 물리 시스템을 연료전지 시스템 전체의 플랜트 모델로 대체함으로써 MiL(Model-in-the-Loop)와 HiL (Hardware-in-the-Loop) 환경에서 알고리즘 테스트가 가능해졌다. GM-FCA에서는 알고리즘 개발자, 소프트웨어 테스트 담당자, 플랜트 모델 설계 담당자 사이에 MiL 환경을 공통 플랫폼으로 사용하고 연료전지의 제어 모델과 플랜트 모델을 개발 및 테스트하고 통합한다. 개발 프로세스에 구성 관리 시스템을 도입하여 MiL에서 사용되는 모델을 독립적이면서 동시에 평행 경로로 제공함으로써 알고리즘 개발자와 플랜트 모델 작성자의 작업을 원활하게 했다.
이 포괄적인 MiL 플랜트 모델은 ETAS의 LABCAR HiL 환경에서도 사용되고 있다. 플랜트 모델의 물리 신호를 ECU의 전기 신호에 접속하기 위해 MiL 모델의 제어 알고리즘은 LABCAR로 대체된다. HiL 시스템은 I/O 및 CAN 통신, 신호의 정량화나 타이밍의 영향을 철저하게 점검하기 위한 환경을 제공한다. ECU 측에서는 종합적인 진단 점검이나 소스 수준 디버깅 등의 작업을 실제 하드웨어를 사용하지 않고 할 수 있다. 또한 ETAS의 INCA 환경을 사용해 HiL에서 ECU를 미리 보정할 수 있다.


INTECRIO를 사용해 MiL 프로세스의 개선

MiL의 대안 플랫폼으로서 소프트웨어 개발 프로세스 전체를 개선하기 위해 ETAS의 INTECRIO V3.0의 평가가 이뤄졌다.
INTECRIO는 MATLAB/Simulink의 다른 버전에서 작성된 모델로부터 RealTimes Workshop(RTW)이나 Embedded Coder (EC)를 사용해 자동 코드 생성된 소프트웨어 컴포넌트를 통합하는 플랫폼을 제공한다. 통합된 소프트웨어는 OS 환경설정 편집기를 제공하는 RTA-OSEK OS에 의해 PC (X86)에서 태스크와 프로세스의 타깃 시뮬레이션이 타깃 ECU 환경에서처럼 실행된다. INTECRIO는 시뮬레이션하고 검증하는데 소요되는 시간을 단축시켜 준다. 즉 INTECRIO는 시스템 전체를 PC 상에서 컴파일해서 동작시키기 때문에 시스템의 시뮬레이션 실행이 빨라진다. 또한 변경된 모델만을 재컴파일 하는 incremental build를 지원한다. MiL 플랫폼으로 INTECRIO를 사용하는 주요 이점은 INCA-EIP를 사용해 데이터 수집 및 보정 관리를 INCA V6.1과 연계시켜서 할 수 있다는 점이다. 개발 프로세스(MiL, HiL , 엔진/차량 테스트 환경) 전체에 같은 INCA 실험 환경, 분석 플롯, 보정 값을 사용할 수 있다(우측 그림 참조). 이러한 접근법을 통해 소프트웨어 개발과 테스트에 종사하는 모든 엔지니어들은 동일한 환경을 사용할 수 있다. 거의 모든 관계된 보정 파라미터가 제어 모델에 있기 때문에, 개발 프로세스 간에 같은 ECU 보정 세트를 개발하고 교환하고 관리할 수 있다.


INTECRIO로 제어 모델과 플랜트 모델의 통합

FCA에서는 각각의 제어 모델과 플랜트 모델을 통합해서 MiL 플랫폼을 개선하기 위해 INTECRIO를 사용했다. INTECRIO의 최초 평가는 MATLAB 버전 R14SP2 환경에서 구축된 제어 모델과 R2006b 환경에서 구축된 플랜트 모델에 기반했다. 간단한 MATLAB 스크립트를 작성하고, Simulink 제어/플랜트 모델의 입출력 포트를 INTECRIO의 입출력 포트로 변환하고 모델이 INTECRIO 모듈로서 접속할 수 있게 준비했다. 두 모델에 같은 신호 이름을 사용해 용이하게 모델 간의 접속을 실현하는 INTECRIO의 “autoconnect” 기능을 사용했다.
INTECRIO 시스템을 구축한 후, 제어 모델과 플랜트 모델의 사이클 시간을 독립적으로 설정할 수 있는 “OS-Configuration” 창을 이용해 운용체제(OS)의 환경 설정을 할 수 있다. 빌드 후, 실험 환경을 시작하여 모델을 실행하고 Simulink의 모든 파라미터와 변수에 액세스할 수 있다. 제어 모델과 플랜트 모델은 분리돼 있기 때문에, INTECRIO는 변경된 모델만을 재빌드한다. 표에 제시한 것 같이, incremental build 기능에 의해 제어 모델의 빌드에 요구되는 시간은 전체적으로 2.4배 빨라진다. 이 표는 시뮬레이션의 실행 시간 성능도 우위임을 보여준다. 제어 및 플랜트 모델의 시뮬레이션은 INTECRIO에서는 실시간으로 실행되는 반면, Simulink의 MiL 플랫폼에서는 “표준” 모드에서 7배, “가속” 모드에서 1.5배 정도 상대적으로 시간을 더 요구한다. 또한 CPU의 점유율이 낮기 때문에, 다른 애플리케이션에서 사용하기 위한 여유가 있고 향후 개발에도 대비할 수 있다.


INCA를 사용한 Simulink 모델의 실험

시스템을 구축한 후, PC 시뮬레이션 타깃과 INCA를 간단히 접속하기 위해 INTECRIO에는 A2L 파일이 제공된다. ECU와 같은 빌드를 제공함으로써 PC 시뮬레이션 중에 INCA를 사용해 Simulink의 제어/플랜트 모델의 보정 및 측정을 할 수 있다. 목표는 “가상” HiL로서 INTECRIO를 사용하고 제어 모델의 보정에 INCA를 사용하는 것이며, 동시에 LABCAR에서 개발되는 GUI 화면을 플랜트 화면에 재이용하는 것이다. 결과적으로 V-사이클 전반에 INCA를 사용해 데이터 수집과 보정 데이터 관리, 데이터 분석에 일관성을 갖게 할 수 있다. 또한 INTECRIO와 LABCAR에서는 MiL과 HiL 환경에 있어서 같은 실험 환경 화면을 이용할 수 있다. 향후에 LABCAR-AUTOMATION이 INTECRIO 환경에 완전히 구현되면, 테스트 스크립트의 재이용이 가능하게 된다. 이로 인해 V-사이클의 초기에 개발되고 사용된 테스트 스크립트를 자동 HiL 테스트 환경에서 재사용할 수 있다.
 

결론

GM-FCA에서는 소프트웨어 개발 프로세스에 INTECRIO를 활용해 개발 작업 환경을 실제 차량이나 HiL에서 순수한 PC 기반의 가상 환경으로 전환함에 따른 이점을 확인했다. 더 많은 개발 공정과 테스트 작업을 V-사이클 초기에 수행할 수 있다. 측정과 보정은 INCA에서 하고, 테스트 자동화는 LABCAR-AUTOMATION에서 하기 위해 일관된 툴을 활용함으로써 개발 공정에서 필요한 작업을 조기에 실행해 이 작업으로부터 얻을 수 있는 결과물을 후공정에서도 재사용할 수 있다. 검증과 평가를 조기에 실행할 수 있을 뿐 아니라, 제어 기능의 개발 및 테스트에 필요한 소요 시간이 단축되고 INTECRIO 기반 MiL 플랫폼 상에서 제어 및 플랜트 모델의 실시간 실행이 고속화되어 MiL의 성능이 현저하게 향상된다. 결론적으로 ECU 소프트웨어 개발 프로세스의 효율이 향상됐다. 



AEM_Automotive Electronics Magazine


<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>


  • 100자평 쓰기
  • 로그인


  • 세미나/교육/전시

TOP