MATLAB® 및 Simulink® 는 항공 우주 엔지니어에게 개발 프로세스를 가속화하고 팀 간 의사 소통을 향상시키는 기능을 제공합니다. 시스템과 서브시스템 엔지니어는 MATLAB 및 Simulink를 사용하여 다음을 수행합니다.
- 시간 영역에서 요구 사항 기반 임무 검증을 수행합니다
- 통합(multi-discipline) 우주선 모델을 사용하여 시스템 수준의 Monte-Carlo 시뮬레이션을 실행합니다.
- 우주선의 크기 조정과 하드웨어 선택을 위한 트레이드 오프 분석을 수행합니다
- 우주선의 원격 측정과 페이로드 데이터를 분석합니다
- 상세한 유도항법제어(GNC) 알고리즘을 설계합니다
- 태양 전지 전력 서브시스템을 모델링하고 전력 전자 부품을 설계합니다
- RF와 디지털 통신 서브시스템을 분석하여 FPGA에 알고리즘을 배치합니다
- 우주 산업 표준을 따르는 임베디드 C 및 C++ 코드를 생성합니다
- 비행 소프트웨어 확인 및 검증을 수행합니다
"MATLAB과 Simulink를 통해 우리가 고려했던 대안과 비교하여 비용을 약 90% 줄였습니다. 또한, 우리의 자체 모듈을 개발할 수 있는 코딩 유연성을 제공했고 결과를 다른 팀에 보고할 때 반드시 필요한 가정들을 완전히 이해할 수 있도록 해주었습니다."
Patrick Harvey, Virgin Orbit
우주 시스템에 MATLAB과 Simulink 사용하기
유도항법제어(GNC)
제어 엔지니어는 MATLAB과 Simulink를 사용하여 구현 전에 플랜트 모델로 제어 알고리즘을 테스트할 수 있으므로 값비싼 프로토타입을 사용하지 않고도 복잡한 설계를 수행할 수 있습니다. 엔지니어는 위성 설계의 공통 버스 아키텍처와 같은 여러 물리적 구성을 설계할 수 있습니다. 단일 환경에서 엔지니어는 다음을 수행합니다.
- GNC 모델 구축과 공유
- 컨트롤과 기계 설계 변경 시, 시스템 수준의 효과 통합 및 시뮬레이션
- 자동 생성된 비행체의코드와 테스트 케이스 재사용
- 새로운 설계를 레거시 설계 및 도구와 통합
전력 시스템
전력 시스템 엔지니어는 임무 전력 프로파일 분석을 위한 시뮬레이션 실행, 배터리 노화의 시스템 영향 예측, DC-DC 컨버터와 같은 전기 부품의 세부 설계 수행과 같은 작업에 MATLAB과 Simulink를 사용합니다.
전력 시스템 엔지니어는 제공된 블록을 사용하여 솔라 어레이 및 전압 조정기와 같은 전기 부품과 시스템을 신속하게 전동화하거나, 설계에 요구되는 맞춤 블록을 생성할 수 있습니다. 그런 다음 엔지니어는 모델을 시뮬레이션하여 로우 레벨 코드를 작성하지 않고도 기본 방정식의 복잡한 시스템을 해결하고, 즉시 결과를 시각화할 수 있습니다. 또한, 모델에 열과 자세 영향성을 포함시켜 한 환경에서 다중 도메인 시뮬레이션을 수행할 수 있습니다.
통신 시스템
통신 시스템 엔지니어는 MATLAB과 Simulink를 우주선 통신 시스템을 개발, 분석, 구현하기 위한 공통 설계 환경으로 사용합니다. 엔지니어는 MATLAB과 Simulink를 사용하여 RF, 안테나, 디지털 요소가 포함된 신호 체인 요소의 시제품을 제작할 수 있습니다. 그런 다음 엔지니어는 여러 팀의 작업을 시스템 수준의 실행 가능한 모델로 결합할 수 있습니다.
엔지니어는 시스템 수준에서 결함을 신속하게 조사하고 실험실에서 생성하기 어려운 가정(what-if) 시나리오를 검사할 수 있습니다. 설계 완료가 가까워지면 엔지니어는 임베디드 프로세서를 위한 C코드와 FPGA를 위한 HDL 코드를 자동으로 생성할 수 있습니다.
시스템 엔지니어링
시스템 엔지니어는 MATLAB과 Simulink를 사용하여 동적 분석을 수행합니다. 엔지니어는 요구 사항 확인 및 검증을 위해 실행 가능한 다중 도메인 우주선 및 지상 시스템 모델을 사용하여, 정적 분석만으로는 얻을 수 없는 시스템 수준의 동작 및 성능에 대한 통찰력을 제공합니다..
시스템 엔지니어는 고급 사양의 요구 사항을 추적하고, 설계 요구 사항의 세부 구현을 모니터링하며, 자동 생성된 소스 코드의 요구 사항을 추적할 수 있습니다. 요구 사항을 테스트 케이스에 매핑하고 테스트 케이스가 실행될 때 요구 사항 범위를 자동으로 측정할 수 있습니다.
시스템 엔지니어는 설계 문서화와 테스트를 위해 사용자 정의된 자동 보고서를 작성할 수도 있습니다.
우주 표준 준수를 위한 소프트웨어 공학
항공 우주 및 소프트웨어 엔지니어는 프로세스를 관리하는 다양한 표준을 준수해야 합니다. MATLAB 및 Simulink를 통해 엔지니어는 NPR 7150.2(NASA 소프트웨어 공학 요구 사항) 및 ECSS-E-40(유럽 우주표준협력기구, 우주 공학 소프트웨어)과 같이 전 세계에서 사용되는 표준을 준수할 수 있습니다.
엔지니어는 요구 사항 기반 단위 테스트를 실행하고 자동화된 모델링 표준 검사를 사용하여 비행 소프트웨어 알고리즘이 양산 준비 상태인지 확인할 수 있습니다. 그런 다음 엔지니어는 모델에서 자동으로 C 및 C++ 코드를 생성할 수 있으며 정적 코드 분석, 정형기법 및 코드 검토 기능을 사용하여 MISRA와 같은 표준 준수 여부를 확인할 수 있습니다.
또한, 런타임 오류가 없음을 증명하고 코드 검사를 자동화할 수 있습니다. 엔지니어는 소프트웨어 설계 문서, 메트릭 및 요구 사항을 포함하여 각 단계마다 인증 아티팩트 생성을 자동화할 수 있습니다.
자세히 알아보기
- NASA Ames Research Center: LADEE(달 탐사선)용 비행 소프트웨어 개발
- MATLAB 및 Simulink를 사용한 NASA 소프트웨어 공학 요구 사항 워크플로
- MATLAB 및 Simulink를 사용한 ECSS 우주 공학 소프트웨어 워크플로