SLS 로켓의 도움으로 달로 가는 Orion 우주선
달에서 장기 체류를 목표로 삼은 NASA의 아르테미스 계획
인류는 거의 50년 전인 1972년 이후로는 달에 발을 딛지 않았습니다. 하지만 모든 게 계획대로 진행된다면 우리는 얼마 후에 달에 다시 갈 것입니다. NASA는 현재 그리스 신화에서 사냥과 달의 여신의 이름을 딴 아르테미스 계획을 개발하고 있습니다. 무인 아르테미스 1호 임무에서는 SLS(우주 발사 시스템)라는 신형 로켓을 테스트할 것입니다. SLS는 지금까지 제작된 로켓 중 가장 강력한 로켓으로서 39.1 메가뉴턴(880만 파운드)이라는 막대한 추력을 자랑합니다.
하지만 SLS는 아르테미스 기술의 일부분에 지나지 않습니다. 30층 높이에 달하는 SLS의 상단에는 최대 6명을 달 너머까지 태워 보낼 수 있는 Orion이 실릴 것입니다. Orion은 심우주의 극한 조건에서 승무원을 보호하도록 설계되어 있습니다. SLS는 Orion을 달 궤도로 올리는 역할을 맡을 것입니다.
아르테미스 1호는 달을 탐사하고 미래에 달 베이스캠프를 건설하기 위한 중요한 발걸음입니다. 아르테미스 2호는 일 년 뒤에 같은 여정을 떠나지만, 그때는 Orion 기체에 우주인이 승선할 것입니다. 그리고 아르테미스 3호는 2024년에 최초로 여성과 유색 인종 우주인을 달 표면에 보낼 것입니다. 미래의 아르테미스 임무에서는 달에 인프라를 건설하여 탐사, 산업, 혁신을 실현하고 화성까지 여행할 수 있는 능력을 보여줄 계획입니다.
그리스의 여신인 아르테미스는 쌍둥이인 아폴로보다 약간 일찍 태어났지만 NASA의 아르테미스는 아폴로보다 젊고 더 스마트합니다. 1969년에 최초로 인간을 달에 보낸 아폴로 11호에 탑재된 컴퓨터는 RAM이 4킬로바이트였습니다. 최신 iPhone의 RAM은 그보다 수백만 배이고, 아르테미스의 소프트웨어를 개발하고 실행하는 데 사용되는 컴퓨터는 그보다도 용량이 훨씬 큽니다. 메모리만이 아닙니다. 엔지니어들은 설계 과정을 간소화하여 더 스마트하게 일할 수 있도록 돕는 새롭고 다양한 툴을 갖고 있습니다.
보이지 않는 곳으로
Hector Hernandez는 대학을 졸업한 후 Orion 개발을 위해 Lockheed Martin에 입사했습니다. "우리는 달에 장기간 체류할 계획입니다." 그가 말한다. "화성에 간다는 더 큰 도전을 준비하기 위한 것이죠. 정말로 기대되는 부분이 바로 그 부분입니다."
Hernandez는 Orion의 전력 시스템 Lead Analyst입니다. 그의 팀은 모든 오류를 예상하고 피할 수 있도록 소프트웨어를 사용하여 모든 하드웨어를 모델링합니다. "저희는 시스템에 연결된 모든 구성요소와 시스템 자체가 함께 잘 작동하도록 하고 있습니다." 그가 말합니다.
전력 시스템에는 배터리, 태양광 패널, 컴퓨터, 전선, 연결부(노드)가 포함되어 있습니다. 전력의 품질이 임무의 성공과 승무원의 생존을 좌우합니다. 즉 모든 구성요소가 올바른 범위의 전압을 받고 전압에 큰 '리플'이 없도록 해야 합니다. 모델을 사용하여 팀은 다양한 요소의 크기와 연결을 결정할 수 있습니다. 모델을 통해 임무를 모니터링하고 중요한 의사결정을 할 수도 있습니다. 실제 우주선에서 뭔가 잘못되면 그들은 결함을 시뮬레이션하고 모델이 어떻게 반응하는지 살펴보고, 임무를 중단할지 또는 다른 조치를 취할지 임무 운영자에게 제안할 수 있습니다.
Hernandez는 또한 Simulink®를 사용하여 SPoC(Spacecraft Power Capability)라는 모델을 개발하였습니다. 그는 전기 시스템의 물리를 모델링하는 Simscape Electrical™을 사용하여 모델 안에 많은 블록을 만들었습니다. 배터리, 태양 전지 등에 대한 블록이 있습니다. 과거에는 Microsoft® Excel® 스프레드시트를 사용하여 작업을 수행했습니다. Hernandez는 빠르게 질문에 답하는 용도로 아직까지 스프레드시트를 사용하고 있지만, 이는 케이블 연결점이 많은 멀티노드 시스템을 모델링할 수는 없습니다. "더 복잡한 질문에 답하려 할 때는 SPoC를 사용합니다"라고 말합니다." 그의 말입니다.
그리고 그는 말합니다. "저는 개인적으로 그림을 좋아합니다." 상자들을 이리저리 옮기면서 모든 게 어떻게 연결되어 있는지 직관적으로 느낄 수 있습니다. Simulink를 사용하면 많은 로우 레벨 코드를 다룰 필요가 사라집니다. 모델을 다른 사람이 더 잘 이해할 수 있도록 만들어주기도 하고 블록 내 특정 IP를 숨길 수도 있습니다. "지저분한 많은 것들을 보이지 않는 곳으로 숨길 수 있습니다." Hernandez의 말이다.
지금까지 SPoC는 모든 성능 리뷰를 통과했습니다. SPoC의 동작은 실제 Orion의 그것과 일치합니다. 그리고 Orion으로부터 실제 테스트 데이터를 받을 때마다 팀은 이를 이용해 모델을 수정합니다. "제 다음 단계는 아르테미스 1호 임무를 성공리에 마치는 것입니다." 그가 말합니다. "그다음에 아르테미스 2호로 넘어갈 겁니다."
NASA에서 결함 관리는 임무 필수
달로 가는 과정에서 많은 일이 발생할 수 있습니다. SLS를 설계하면서 NASA의 엔지니어와 과학자들은 장비와 최종 선내 승무원에게 위험할 수 있는 우주선의 잠재적 결함을 모니터링하는 임무 필수 알고리즘을 시뮬레이션하기 위해 소프트웨어 모델을 만들었습니다.
SLS 팀의 과학자와 엔지니어들이 발표한 논문에 따르면, M&FM(임무 및 결함 관리) 알고리즘의 신뢰성 있는 검증은 임무의 성공에 매우 중요합니다. SLS 팀은 "NASA 우주 발사 시스템에서 임무 및 결함 관리 알고리즘의 발사체 검증 테스트 지원을 위한 Stateflow 환경에서의 모델링"이라는 논문에서 설계 과정을 설명했습니다.
해당 논문에서는 "임무(결함 포함) 관리 시스템에서 오류 발생을 방지하는 것은 SLS 프로그램의 FSW[비행 소프트웨어] 구현을 위한 안전 필수 시스템 알고리즘을 제작하는 M&FM 테스트 팀에게 가장 중요한 테마이다"라고 언급하고 있습니다.
발사체나 탑승 인원에게 치명적일 수 있는 오류를 포함해 로켓 안에서는 많은 오류가 발생할 수 있습니다. 아르테미스 M&FM 팀의 업무는 로켓의 모든 이상을 선별하는 소프트웨어 알고리즘을 개발하는 것입니다. 그다음에 지상 관제 팀은 예를 들어 발사 시퀀스를 중단할지 또는 임무 전체를 중단할지 결정할 수 있습니다.
실제 로켓에서 알고리즘을 개발하고 테스트하는 대신에 아르테미스 M&FM 팀은 SAM(State Analysis Model)이라는 이름의 SLS 소프트웨어 시뮬레이션을 만들었습니다. 이 가상 로켓에서 그들이 결함 모니터링 알고리즘의 성능에 만족하면 소프트웨어 개발 팀은 SLS에 업로드할 수 있는 언어로 코드를 작성합니다.
SLS 팀은 모든 항공전자 구성요소를 모델링합니다. 많은 구성요소를 나타내는 복잡한 용어들로 되어 있습니다. 예를 들면, 여분의 관성항법장치 같은 기타 장치에 사용되는 전기 스위치가 담긴 상자인 PDCU(전력 분배 및 제어 장치), HPU(유압동력장치), TAC(TVC 액추에이터 제어기) 등이 있습니다. TAC는 PDCU에서 전력을 받아서 유압을 이용하여 엔진을 제어하는 TVC(추력편향) 액추에이터를 제어합니다. 다른 장치들은 엔진에 대한 펌프와 밸브들을 제어합니다.
이론적으로 M&FM 팀은 전체 시스템을 나타내는 상세한 물리 모델을 만들 수 있지만, 그러면 실행 속도가 느릴 것입니다. 그들은 대신에 Stateflow®에서 구축한 선들로 연결된 상자 모양의 모델을 사용합니다. 그 모델을 상태 머신이라고 부르고, 각각의 상자는 시스템의 어떤 측면의 잠재적인 상태를 나타냅니다. 상자 하나가 밸브가 열린 상태를 나타낼 수 있고, 다른 상자는 밸브가 닫힌 상태를 나타낼 수 있습니다. 선들은 상태 간의 천이를 나타내고, 지정된 이벤트에 의해 트리거됩니다. 상자 안쪽을 보면 MATLAB®으로 작성한 코드 또는 상태를 기술하고 그 정보를 다른 구성요소로 전달하는 Simulink 소프트웨어의 그래픽 모델을 볼 수 있습니다.
Stateflow 다이어그램은 시스템의 로직을 기술합니다. Stateflow와 Simulink 모델은 모두 선으로 연결된 상자라는 점에서 닮았지만 다른 수준에서 작동합니다. MathWorks의 우주 분야 Manager인 Ossi Saarela는 다음과 같이 말합니다. "가령 길을 걸어가다가 교차로에 도달했다고 해보죠." "Stateflow는 여러분이 오른쪽 혹은 왼쪽으로 갈지 결정하고, Simulink는 여러분이 균형을 유지하도록 도와줄 겁니다."
M&FM 팀에는 물리 기반 모델인 SIL(시스템 통합 시험)도 있습니다. NASA 논문에 따르면, "SIL은 실제 비행 소프트웨어와 실제 및 시뮬레이션된 SLS 하드웨어와 환경의 조합을 통합하는 고충실도 테스트베드입니다."
하지만 M&FM 팀은 두 가지 모델이 모두 필요합니다. SIL에는 로켓과 동일한 소프트웨어와 항공전자 상자가 있고, 심지어는 케이블링과 길이도 동일해서 충실도가 훨씬 높습니다. 모델들을 비교함으로써 그들은 SIL의 출력을 사용하여 SAM을 개선할 수 있습니다.
M&FM 팀은 속도 측면에서 SAM을 최적화하는 데 적합한 스크립트를 찾아내야 했습니다. 그들은 시도해 볼 테스트 케이스를 결정하고 시스템의 통과 여부를 판별할 방법을 결정해야 했습니다. 지금 M&FM 팀은 SIL에서 무엇을 예상할 수 있는지 알려주는 '수정 구슬' 같은 역할을 하는 SAM에서 아주 빠르게 반복할 수 있습니다. 논문에 따르면 보통의 PC에서 임무 발사 프로파일 후보를 실행하는 데 SAM은 약 120초가 걸립니다. 여러 테스트를 실행하고 몇 가지 이정표를 통과한 후에 팀은 대부분의 경우에 SAM의 결과가 SIL과 거의 일치한다는 사실을 알게 되었습니다.
로켓을 지상에 고정하고 엔진을 점화하는 지상연소 테스트도 획기적인 이벤트였습니다.
"엔진이 점화되면 아주 먼 거리에서도 느낄 수 있죠." Saarela의 말입니다. 어마어마한 양의 출력이 방출되고 미리 모든 구성요소의 정확한 동작을 예측할 수 있다는 게 핵심입니다."
NASA에는 흥미로운 프로그램이 많이 진행되고 있기 때문에 이 팀이 발견한 것은 다른 곳에서도 적용할 수 있습니다.
"아르테미스의 인간 착륙 시스템 또는 화성 상승선 로켓 같은 새로운 설계는 SLS에서 사용하고 있는 새로운 툴과 프로세스의 도움을 받을 게 확실합니다." Saarela의 말입니다. "항공우주공학은 급속한 변혁기를 거치고 있습니다."
우주선의 오토파일럿
NASA에서는 알고리즘 테스트와 하드웨어 시뮬레이션뿐만 아니라 승무원 캡슐에 사용되는 실제 코드를 생성하는 데도 소프트웨어 모델을 사용하고 있습니다. GNC(유도항법제어)는 기본적으로 센서 데이터를 통합하고 항적을 계획하는 우주선의 오토파일럿입니다. 과거에는 GNC 설계자들이 요구사항을 작성하고 소프트웨어 엔지니어들이 이를 사용해 최종 코드를 작성했습니다. 새로운 방법은 모델 기반 설계를 사용하는 것입니다. 정적 사양을 작성하는 대신 설계자들은 빠르게 테스트하고 반복할 수 있도록 실행 가능한 모델을 구축했습니다. 다음으로 소프트웨어가 그 모델에 있는 알고리즘을 자동으로 최종 코드로 변환합니다.
모델 기반 설계를 사용하면 설계자는 정적 사양을 작성하는 대신에 실행 가능한 모델을 구축하며, 그다음에 소프트웨어가 그 모델에 있는 알고리즘을 최종 코드로 자동으로 변환해 줍니다.
Orion의 GNC 설계자들은 Simulink를 사용합니다. 설계자들은 우주선과 우주에서 우주선의 운동을 정의하는 물리학을 표현하는 NASA의 고충실도 소프트웨어 시뮬레이션인 Trick에 Simulink 모델을 삽입할 수 있습니다. 모델이 완성되면 Embedded Coder®가 C++로 제어 코드를 생성하고, 그것도 Trick에 삽입할 수 있습니다. MATLAB에서는 Simulink 모델과 C++ 코드가 정확히 똑같이 작동하는지 확인할 수 있습니다. 그다음에 C++ 코드를 우주선에 실을 수 있습니다.
모델 기반 설계를 사용하면 알고리즘을 개발하면서 수작업으로 코드를 작성하고 재작성할 필요가 없기 때문에 시간이 절약됩니다. 로우 레벨 코딩 오류도 줄어들게 됩니다. 알고리즘을 검사하기도 쉬워집니다. 컴퓨터는 이제 로켓을 날릴 수도 있고 로켓을 날리는 코드를 작성할 수도 있게 될 정도로 똑똑해졌습니다.
NASA에 따르면, "아르테미스 임무에서 NASA는 과거 어느 때보다 달 표면을 자세히 탐사하기 위한 혁신적인 기술을 사용하여 최초로 여성 및 유색 인종 우주인을 달에 착륙시킬 것입니다. NASA는 기업 파트너 및 국제 파트너와 협력하고 최초로 달에 장기간 체류할 것입니다. 이어서 NASA는 달에서 배운 것들을 사용하여 화성에 최초로 우주인을 보내는 획기적인 도약을 이룰 것입니다."
달로 갑시다!
게재 일자: 2022년 11월