한국항공우주연구원, DO-178C 표준에 부합하는 헬리콥터 자동비행제어 소프트웨어 개발에 Model-Based Design 채택

“MathWorks Consulting Services로 자동 환경을 구축해서 저희 설계자들은 DO-178C에 따라 제어법칙 소프트웨어를 검증할 수 있었습니다. 컨설턴트들이 저희가 개발한 모델에 어떻게 테스트 하네스를 설정해야 되는지, 모델을 어떻게 수정해서 문제를 해결해야 하는지 상세히 알려주었습니다.”

과제

DO-178C에 따라 헬리콥터 자동비행제어장치용 비행 제어법칙 소프트웨어를 개발하고 테스트합니다

솔루션

Model-Based Design을 이용하여 소프트웨어 모델링과 시뮬레이션을 수행하고 코드를 생성한 뒤 MathWorks Consulting Services가 제공한 자동 환경에서 소프트웨어를 검증합니다

결과

  • 신속한 소프트웨어 수정
  • 소프트웨어 결함률 감소됨
  • 자동으로 DO-178C 검증
DO-178C절차에 따른 제어법칙 SW 개발.

DO-178C절차에 따른 제어법칙 SW 개발.

최근에 한국항공우주연구원(이하 'KARI'로 약칭)은 유인 헬리콥터의 자동비행제어장치(AFCS)에 사용되며 국제표준 DO-178C에 부합하는 소프트웨어를 개발하고 테스트하기 위해 MATLAB®과 Simulink®를 이용한 Model-Based Design을 채택하였습니다. 지금까지 KARI에서는 Model-Based Design이나 DO-178C 절차를 접한 적이 없기 때문에, MathWorks Consulting Services를 통하여 DO-178C Level A 표준에 적합한 개발과 검증을 위한 교육을 수행하고 환경을 조성하였습니다.

KARI 비행제어 연구팀의 책임연구원인 강영신 박사는 “MATLAB과 Simulink가 없었다면 DO-178C에 부합하는 제어법칙 설계와 소프트웨어 개발에 훨씬 많은 인력은 물론 상당한 기술적 노하우와 경험이 필요했을 겁니다. MATLAB과 Simulink 덕분에 저희는 경험 없이도 이 프로젝트를 기한 내에 마칠 수 있었습니다”라고 밝혔습니다.

과제

과거에 이와 비슷한 프로젝트에서는 연구원들이 제어법칙을 개발하면 비행운용프로그램 소프트웨어 개발자에게 설계를 넘겨주어, 개발자가 일일이 코딩하고 수작업으로 테스트해야 했습니다. 제어법칙 설계자와 소프트웨어 개발자 사이에 미묘한 오해만 있어도 소프트웨어에 오류가 발생하였고, 그런 오류를 비행 테스트 단계까지도 발견하지 못하는 경우도 있었습니다. KARI는 설계에서 직접 소프트웨어를 생성하는 방식을 통해 이런 오류를 차단하기로 했습니다.

헬리콥터 AFCS 프로젝트는 KARI가 한국에서 최초로 시도하였습니다. 경험이 부족하다는 문제를 인식한 KARI 팀은 코드를 생성할 뿐만 아니라, DO-178C 지침에 부합하도록 제어법칙 소프트웨어를 자동으로 검증하고 유효성 검사할 수 있는 개발 환경을 조성하기 위해 전문가의 도움을 요청했습니다.

솔루션

KARI 연구원들은 MATLAB과 Simulink를 이용한 Model-Based Design을 이용하여 AFCS 제어법칙 소프트웨어를 개발하고 검증하였습니다.

개발에 착수하기 전에 연구 팀은 MathWorks Consulting Services로부터 Model-Based Design에 대해 교육을 받았습니다. 컨설턴트들이 코칭과 교육 뿐만 아니라 새로운 개발 환경에 대한 실제적인 기술 지원도 제공해 준 덕분에 연구 팀은 코드 생성, 확인, 유효성 검사 과정을 자동화할 수 있었습니다.

KARI 연구원들은 기본 안정화 제어, 외부 루프 제어, 모드 전환에 관한 서브모델이 포함된 제어법칙 모델을 Simulink를 이용하여 개발하였습니다. 이 모델은 헬리콥터 조종간과 센서에서 나온 입력을 처리하여, 작동기 변위 명령과 모드 변경승인신호(Mode Change Authorization Signals)를 생성하였습니다.

연구 팀은 제어법칙 모델과 항공기의 비선형 운동 모델을 결합시켰고,작동기와 센서의 고장 조건이 포함된 폐루프 시뮬레이션을 실행하였습니다.

연구원들은 MATLAB 스크립트를 이용하여 시뮬레이션 결과를 후처리하고 세부 보고서를 생성했습니다. 보고서에는 조종사의 입력 뿐만 아니라 그에 상응하는 동체 속도, 자세, 작동기 변위가 담겨 있었습니다.

KARI 연구원들은 MathWorks 컨설턴트들이 조성한 환경을 이용하여 자동 확인과 유효성 검사 프로세스를 밟았습니다. 이 과정에서 Simulink 확인 및 유효성 검사 툴을 이용하여 모델 실행률 분석을 수행하고 설계 오류와 데드 로직을 탐지하였을 뿐만 아니라, 모델이 DO-178C 지침을 비롯한 안전표준과 고무결성(high-integrity) 모델링 지침에 부합하는지 검사했습니다.

Simulink Test™ 를 이용하여 요구사항기반 시험을 관리하고 실행하였으며, 테스트 하네스를 생성함으로써 연구 팀은 제어법칙 모델에 있는 모든 서브모델에 대해 100% 커버리지를 만족하는 시험을 완료하였습니다. 다음으로 연구 팀은 Embedded Coder®를 이용하여, 검증된 제어법칙 모델로부터 코드를 생성하고, 생성된 코드에 대해 단위 테스트를 시행하였습니다.

지금 연구 팀은 하드웨어 인더 루프(hardware-in-the-loop) 시뮬레이션과 DO-178C 감사, 제어법칙 소프트웨어에 대한 비행시험을 준비하고 있습니다.

결과

  • 신속한 소프트웨어 수정. 강 박사는 “프로젝트 중에 긴급한 수정 요청을 받는 일이 흔했습니다. Model-Based Design에 도입한 자동 프로세스 덕분에 저희는 소프트웨어 수정에 드는 시간을 최대 50%까지 줄일 수 있었습니다”라고 언급했습니다.
  • 소프트웨어 결함률 감소됨. 강 박사는 “Embedded Coder를 이용해서 Simulink 제어법칙 모델에서 직접 코드를 생성했기 때문에 소프트웨어 버그가 사라졌습니다. 제어법칙 설계자와 소프트웨어 개발자 사이에 오해가 있으면 버그가 생기기 마련이죠”라고 말합니다.
  • • 자동으로 DO-178C 검증.강 박사는 “DO-178C 절차가 저희 Simulink 개발 및 검증 환경에 자동으로 반영되었습니다. 그래서 DO-178C를 접해 본 경험이 없는 개발자들도 지침을 준수할 수 있었습니다”라고 밝혔습니다.