한국항공우주산업(KAI), DO-178C 표준을 준수하는 헬리콥터 능동 진동 제어 시스템 소프트웨어를 개발
과제
헬리콥터용 능동 진동 제어 시스템 소프트웨어 개발 및 검증
솔루션
모델 기반 설계를 사용하여 DO-178C에 따라 제어 소프트웨어 모델링, 시뮬레이션, 검증
결과
- 개발 시간을 절반으로 단축
- 설계 반복 최소화
- DO-178C 개발 간소화
헬리콥터가 비행 중 회전하는 주로터 시스템에 의해 진동이 생성되며 이는 로터 마스트를 통해 하부의 기체로 전달됩니다. 이러한 진동은 전기/전자 구성품 혹은 구조적 구성 요소에 영향을 줄 수 있으며 수명이 단축될 수도 있습니다. 수동형 진동저감장치는 진동을 일부 흡수하긴 하지만, 비행 기동 및 주로터 RPM 변화에 따른 진동 적응 제어를 수행할 수 없습니다.
한국항공우주산업(KAI)과 항공우주연구원(KARI)의 개발 엔지니어들은 다양한 비행 환경에 따라 헬기의 진동을 능동적으로 제어하여 저감할 수 있는 능동 진동 제어 시스템(Active Vibration Control System, AVCS)을 설계하고 있습니다. 소형무장헬기 연계 민수헬기 핵심기술개발 프로그램(LCH/LAH Program)의 핵심 기술인 AVCS DAL-C 제어법칙 소프트웨어는 MATLAB® 및 Simulink®를 활용한 모델 기반 설계를 사용하여 DO-178C 표준에 따라 개발되었습니다.
LCH AVCS 개발 실무책임자인 KAI의 곽동일 책임연구원은 다음과 같이 밝혔습니다. "우리 팀은 모델 기반 설계를 사용하고 DO-178C 및 DO-331 표준에 따라 AVCS 알고리즘으로 구성된 동적 모델을 개발했습니다. 이러한 접근법을 통해 설계적 반복 작업을 최소화하고 신뢰성이 높은 C 코드를 만들 수 있었으며, 그 다음 SIL(software-in-the-loop) 및 PIL(processor-in-the-loop) 테스트를 사용하여 코드를 검증했습니다."
과제
AVCS 프로젝트는 한국 정부에서 발주한 대규모 LCH/LAH 프로그램의 일부이기 때문에, KAI/KARI 개발팀은 해당 프로그램의 엄격한 절차와 일정을 준수해야 했습니다.
AVCS 개발팀의 7명의 엔지니어들은 임베디드 소프트웨어 프로그래밍에 대한 경험이 거의 없었으며, 이번이 이 팀의 첫 번째 DO-178C 프로젝트였습니다.
KAI에서는 모델링과 시뮬레이션을 통해 최대한 빨리 알고리즘을 검증하여 개발 속도를 단축하고, 수동 코딩으로 인해 야기될 수 있는 오류를 최소화하고자 했습니다.
솔루션
KAI 엔지니어는 MATLAB, Simulink, Embedded Coder®를 통해 모델 기반 설계를 사용하여 AVCS 소프트웨어를 개발하고 검증했습니다.
AVCS에 대한 기본 입력값은 항공기에 장착된 가속도계 및 주로터 회전 속도계를 통해 측정하여 도출되었습니다. KAI/KARI 팀은 Simulink로 작업을 수행하면서 이러한 센서에서 생성된 실시간 신호를 처리하는 모델을 개발했습니다.
KAI/KARI 팀은 시스템의 가장 중요한 제어 알고리즘을 구현한 Simulink 모델을 만들어냈으며, 이 알고리즘은 기체에 장착된 하중발생기에 전달되는 명령을 생성합니다. 이 알고리즘은 주로터 회전 속도계 및 가속도계의 측정값과 시스템 응답특성 모델을 함께 입력으로 사용하여 진동을 저감하기 위한 하중 명령을 출력합니다.
비행 중 시스템에 작용된 하중과 발생된 가속도간 응답특성을 계산하는 시스템 응답특성 식별 알고리즘 모델은 일련의 하중 명령과 측정된 응답 데이터를 사용하여 Simulink 및 Stateflow®를 통해 생성되었습니다.
KAI/KARI 팀은 Simulink Check™ 를 사용하여 KAI 및 DO-178C 모델링 표준 준수 여부를 확인하고 Requirements Toolbox™ 를 사용하여 IBM® Rational® DOORS®에서 관리되는 구성 요소 및 요구 사항 간의 추적 기능을 설정했습니다. 또한, KAI/KARI 팀은 Simulink Coverage™ 를 사용하여 설계를 시뮬레이션하는 과정에서 모델 적용 범위를 측정했습니다.
KAI/KARI 팀의 엔지니어들은 Embedded Coder를 사용하여 제어 모델에서 약 7000개에 달하는 C 코드 행을 생성했습니다. 이 코드를 검증하기 위해 KAI/KARI 팀은 시뮬레이션에 사용했던 것과 동일한 테스트 케이스를 사용하여 Simulink에서 SIL(software-in-the-loop) 테스트를 실행했습니다. 그 다음, 타겟 하드웨어인 TI F28335 DSP와 동일한 프로세서가 탑재된 평가 보드에서 PIL(processor-in-the-loop) 테스트를 실행했습니다.
KAI/KARI 팀은 AVCS 제어 알고리즘의 개발과 검증을 완료했으며 하드웨어 및 소프트웨어 구성, 비행 테스트, 항공안전기술원 인증 테스트에 대비하여 생성된 코드를 프로덕션 소프트웨어의 다른 구성 요소와 통합하는 중입니다.
결과
- 개발 시간을 절반으로 단축. "모델 기반 설계가 없었다면 프로젝트를 완료하는 데 두 배 이상의 시간이 걸렸을 겁니다. 모델 기반 설계를 사용했기 때문에 엔지니어들이 한 팀이 되어 더욱 효율적으로 협력할 수 있었으며, 모델을 통해 코드를 생성하여 실수를 줄일 수 있었습니다." - 곽동일 책임연구원
- 설계 반복 최소화. "Simulink에서 모델을 만들고 실현 가능한 시뮬레이션을 실행하면서 반복 횟수가 줄어들었고, 팀원들의 요구 사항을 충족하는 가장 간단한 설계에 신속하게 수렴할 수 있었습니다." - 곽동일 책임연구원
- DO-178C 개발 간소화. "Simulink 덕분에 우리 팀이 최초로 담당한 DO-178C 개발 프로젝트에서 테스트 케이스 실행, 코드 생성, 병합할 변경 사항 식별을 비롯한 여러 가지 중요한 개발 작업을 자동화할 수 있었습니다. 모델 기반 설계로 인해 프로세스와 설계를 모두 쉽게 시각화할 수 있으므로 인증도 원활하게 통과할 것으로 예상합니다." – 곽동일 책임연구원