[Tech] 누리호 2차 발사 성공과 소프트웨어 기술

🎊 누리호 2차 발사 성공 🎊

4시부터 손에 땀을 쥐고 방송을 봤다.

12년의 세월과 1조 9천 억원 가량의 자본이 하늘로 쏘아올려지는 것을 보며 내가 다 조마조마했다.

위성이 5개 들어있다는데 신기하다, 수학과에 강연 오셨던 교수님(무려 박사학위가 둘인 워킹맘이라는 엄청난 분이셨다!)도 우주선 궤도 예측 연구를 하신다고 했었는데, 근데 저 분들 집에 못 간다던데, 연구자들은 지금 어떤 기분일까? 잘 끝나면 소고기 회식 하시겠지? 등등…

이런저런 생각을 했고, 다행히도 발사 결과는 성공이었다.

그러다 문득 발사체에 들어가는 소프트웨어 기술에 대한 궁금증이 생겼다. 이전에 드론 대회 코딩을 참가했을 때 바람 안 부는 실내에서도 뜻대로 잘 날지 못해 당황했던 기억(멋지게도 이 때 드론의 프로펠러를 두 개나 부숴먹었다)이 있는 만큼, 그 규모가 거대한 발사체에 대해 생각하면 아득하게만 느껴진다.

항공우주 산업에서의 소프트웨어의 활용

찾아보니 항공우주 분야는 내가 평소 하는 웹 앱 개발이나 분석에 비하면 생소한 느낌으로, 하드웨어나 기계공학 쪽에 더 가까웠다. 모니터가 없고 거대했던 초창기 컴퓨터들을 본 느낌이었고, 검색해보면서 관련 알고리즘이나 코드를 봐도 마치 어셈블리어로 짜여진 백신 코드를 처음 봤을 때처럼 이게 정녕 사람이 다룰 수 있단 말인가… 하는 경이로움이 느껴졌다.

아래는 찾아본 영상들이다.

spaceX는 일론 머스크의 미국 항공우주 장비 제조 회사이고, KAI는 한국의 민간 방산업체이다. BPS.space는 1인 로켓 개발자로, 규모는 상대적으로 작지만 그의 유튜브에 제작 과정과 아두이노를 이용한 관련 코드도 올라와있어 흥미로워서 추가했다.

역시 알고리즘이 중요한 분야여선지 공통적으로 C++ 이 사용된다.

영상들을 보며 대략적으로 항공우주 산업에서 SW를 어떤 느낌으로 사용하는지 감이 잡혔다.

근데 생각해보니 아폴로 11호 발사로 인류가 처음 달에 착륙했던 시기(1969)와 C++이 등장한 시기(1983)가 맞지 않았다.

아폴로 11호 프로젝트에선 SW개발을 어떤 방식으로 했을까? 뭐 애니악… 그런거 나오던 시기 아닌가? (ENIAC은 1946년 제작되었다)

소프트웨어의 창시자, 마거릿 해밀턴(Margaret Heafield Hamilton)

찾아보니 아폴로 프로젝트를 할 시기에는 소프트웨어 개발이라는 개념과 그 중요성이 정립되지 않았었다고 한다.

MIT 항공교수의 책 Digital Apollo에서도 소프트웨어는 아폴로 미션에 포함되어 있지 않았기에 처음엔 소프트웨어 예산이 없었다는 구절도 있다.

그런데 마거릿 해밀턴이 뛰어난 개발 능력으로 MIT 아폴로 운항 소프트웨어 책임자가 되었고, 아폴로 프로젝트를 성공시킨 뒤부터 소프트웨어 학문이 생기고 조명받기 시작했다.

당시의 코딩은 종이에 손코딩을 해서 재봉사들에게 넘기면 재봉사들이 1은 구리선을 코일에 통과시키고 0은 코일에 구리선을 감는 식으로 이루어졌다고 한다!

이렇게 마거릿 해밀턴이 수작업으로 한 코딩의 양이 그의 키만큼 쌓였다고 한다.

검색하면 어렵지 않게 관련된 정보들을 찾을 수 있다. 일반인들도 이해하기 쉽게 정리한 곳들이라고 생각한 링크들을 아래에 남긴다.

남은 궁금증

예전부터 TV, 컴퓨터, 동영상 촬영, 라디오 등의 원리를 궁금해하고 찾아봤지만 인터넷에 적힌 간단한 설명만으로는 제대로 이해하지 못해 답답한 기분이 들었다.

공통적으로 전자공학 베이스의 물건들에 대해 특히 이해하기 어렵고 꾸준히 궁금한 것 같다. 왜 010101 같은거에 전기를 먹이면 컴퓨터 폰 라디오 TV가 되는건지 일단 세상에 존재하니까 받아들이긴 하는데 이해가 안된다

하지만 딥하게 들어가면 무지로 인한 답답함이 더 커져서 깊게 알아보다가 포기하기를 반복하게 된다.

이번에도 겉핥기 수준으로만 찾아봤지만, 개발자라면 컴퓨터에 대해 딥하게 알아야 될 것 같아서 이번엔 정말 제대로 찾아보기로 했다.

재미로 찾아보곤 했던 난해한 프로그래밍 언어들(ex. 슈슉 언어 등)의 원리도 이해하고 사용할 수 있지 않을까?

도움 될 사이트들을 찾아서 첨부해본다.

Categories:

Updated:

Leave a comment