NASA에서 벌어진 상상할 수도 없는 일을 알려드림
NASA에서 벌어진 상상도 할 수 없는 일이 있다.
글 제목을 보고 클릭하기까지 여러 공상과 몽상을 했을 당신.
허나, 그 안에 답은 없다.
NASA에서 실지로 벌어졌던 상상도 할 수 없는 일!
이것은 실화다!
우리네 인생에서 가장 사소한 실수로 치부되는 것을 하나 꼽자면..
그건 바로, '오타'일 것이다.
분명, 오타는 가장 빈번하고 가벼이 취급되는 '개인의 실수'라고 할 수 있겠다.
허나..
지구 문명의 우주 패권을 거머쥐고 있는 NASA에서는 경우가 좀 달랐다.
냉전과 맞물리며 미국과 소련 간의 이데올로기 정쟁으로 인해 우주 패권을 둘러싼 치열한 레이스가 이뤄지던 1960년대.
1950년대 후반, 소련이 최초로 궤도 위성을 쏘아 올린 데 이어 강아지까지 태워 보내고 더 나아가 달 궤도로 탐사선을 날리는 데에 성공한다.
또, 1961년엔 금성으로 탐사선을 통과시키며 최초의 행성 간 비행이라는 업적까지 이룩한다.
여담으로, 이로 인해 1950년대 전 세계를 강타했던 조지 아담스키의 '금성엔 지구를 뛰어넘는 금발의 문명인이 있으며 달 뒷면에도 도시 문명이 존재함' 미스터리 비지니스가 종국을 맞이한다.
한편..
달 탐사에 이어 금성 탐사마저 소련에 밀린 미국의 NASA..
비록 '최초' 타이틀을 빼앗겼으나, 금성의 특성을 보다 명확하게 관측하고자 근접 탐사를 위한 프로그램의 연속으로 매리너 1호를 발사를 계획한다.
그렇게 1962년 7월 22일 플로리다주 케이프 커내버럴 발사 시설에서 런칭이 시작되는데..
무언가 결함으로 인해 통제 불능 상태에 이르자, 하릴없이 발사 293초 만에 2차 피해 방지를 위해 자폭 명령이 수행되면서 플로리다 상공으로 장엄한 폭죽 폭포가 수놓아진다.
이어진 의회 증언에서 NASA의 발사용 로켓을 감독하던 리처드 모리슨은 매리너 1호의 이변에 대해 이렇게 항변한다.
"컴퓨터 방정식의 오류로 인해서 정해진 궤도를 이탈했던 겁니다."
분명..
포괄적인 의미에선 맞는 설명이었으나..
다만, 너무 품위 있게 표현된 게 조금 흠(?)이었다고 할 수 있겠다.
NASA 최초의 행성 탐사 시도로 자국뿐만 아니라 전 세계의 이목을 집중시켰던, 그리고 세기의 라이벌 소련과의 경쟁이 한창이던 시기에 발생한 매리너 1호의 이변의 속사정엔..
다음과 같은 황당한 실수가 있었다!
매리너 1호의 발사 실패로부터 불과 5일 만에 NASA의 과학자들이 이변의 원인을 찾아낸다.
수기로 작성된 컴퓨터 코딩 지침 중 수십 줄에 달하는 비행 유도 방정식에서 단 한 글자의 '오타'가 있었던 것.
그 오타란, 바로 'R̅'이었다.
'개념상 요약'을 해보자면..
해당 코딩에서 R은 레이더가 바로바로 측정한 순간 거리(반지름)로, 로켓이 얼마나 떨어져 있는가를 나타내는 일종의 거릿값이다. (보다 정확히는, 시간에 대한 거리 변화율인 방사 속도)
그리고 이 알파벳 R 위로 막대 바가 그어진 R̅은, 그러한 거릿값에 잡음이 없도록 부드럽게 평균(스무딩)한 값이다. (보다 정확히는, 최근 몇 초간의 방사 속도를 평활화한 값)
쉽게 말해, 로켓-레이더 통신 과정에서 발사 직후 으레 몇 초씩 끊김이 발생하는 현상을 코스 이탈로 오인하지 않도록 '그냥 잠깐 흔들린 거야'라고 신호 잡음 필터링 기능을 위해 R̅을 표기하는 것. (추가로 레이더 및 지상 컴퓨터 측에 순간적 신호 요동도 차단하려는 목적)
보다 쉽게 말해..
크루즈 컨트롤 달린 차량이 시속 100km로 달리다 센서 잡음 내지 튐으로 인해 순간 시속 80km로 인식할 경우, 평균값 R̅을 사용하면 '방금 그냥 튄 거임'하고 무시하지만 즉시값인 R만을 사용하면 '급감이네? 가속함 & 급감이네? 뭐 있나? 브레이크 함'처럼 오인하는 것.
이렇듯 R 위의 바(-)가 빠지면서 지상 컴퓨터에선 과잉 보정이 이뤄지고 이로 인한 궤도 불안정 때문에 통제 불능의 로켓을 자폭 처리해야했던 것이다.
정확한 요약과 간단한 한 줄 요약으로 다시 정리하면..
정확한 요약
: Ṙ (R 위로 .이 표기된/레이더가 실시간으로 측정한 방사 속도) 위에 바(-)가 있는 표기를 사용하면, 몇 초 동안 평균해 노이즈를 걸러낸 값으로 인식함. 헌데 이러한 바(-)를 빠뜨리면서 지상 컴퓨터가 일시적인 신호 요동을 실지 궤도 이탈로 오해해 과잉 보정을 시작했고, 결국 로켓은 통제 불능에 빠져 293초 후 자폭 처리.
간단한 한 줄 요약
: 프로그래머가 수기로 코드 지침 작성하다 R 위에 바(-)를 빼먹으면서 컴퓨터가 오해함.
하여..
검토 과정에서 예상보다 훨씬 더 빨리 문제점을 찾아낸 데 이어 그러한 문제점 수정에 시간과 비용이 들지 않으면서, 한 달 만인 1962년 8월 27일 매리너 2호가 성공적으로 발사돼 금성 탐사에 성공한다.
한편..
일반의 이해를 돕고자 검토 위원회 및 언론에선 '컴퓨터 명령 코드에 하이픈(-)을 빠뜨리며 발생한 사고'라고 전파한다.
그리고 이러한 오타로 인해 발생한 피해액은 약 1,850만 달러로..
지금 가치로 환산하면 약 2억 달러에 달한다.
따라서..
이 글에서 훈수 둘 교훈 하나는 다음과 같겠다.
"프로그래머라면 코드를 재확인 하지 말 것. 세 번 더 확인할 것!"
"하이픈이 로켓을 폭발시켜"
- 당시 <로스앤젤레스 타임스> 1면 헤드라인
"하이픈이 하나 없어 금성 로켓을 잃어버리다"
- 당시 <뉴욕 타임스> 1면 헤드라인
"역사상 가장 값비싼 하이픈"
- 아서 C. 클라크
에필로그
1963년에서 1969년까지 NASA에서 유인 우주비행 부문 부국장을 역임한 조지 뮐러.
그는 아폴로 계획이 한창이던 중요한 시기에 맞서, 사소한 요소조차 그 중요함을 상기하고자 자신의 사무실 책상 벽면으로 바(-) 사진을 액자에 넣어 걸어 두었다.
에필로그 2
그런데..
약 1억 2,500만 달러의 제작비가 들어간 NASA의 화성 기후 궤도선이 1999년 화성 궤도에 진입한 곳에서 그만 산산조각 나고 만다.
NASA의 제트추진연구소 내 항법팀은 미터법을 사용한 반면, 궤도선 설계 및 제작에 참여했던 록히드마틴 아스트로너틱스 측에선 인치&피트&파운드의 영국 표기법으로 가속도 데이터를 제공했던 것이다.
이로 인해 NASA 측은 '뉴턴-초(N·s/국제단위계)'로 단위값을 받을 것으로 알고 있었으나 록히드마틴 측은 '파운드-초(lbf·s/미국 관습 단위)' 단위값을 제공한 것.
하여, 화성에 지나치게 근접한 궤도선은 그대로 장렬히 산화하고 만다.
여담으로, 각 팀은 서로가 사용한 단위 체계 안에선 아무런 오류가 발생하지 않았기에 이러한 결과를 전혀 예상하지 못했다고.
또 여담으로, 당시 궤도선에 투입된 제작비 1억 2,500만 달러는 지금으로 환산할 시 약 2억 4천만 달러에 달한다.
참조
<NASA/Mariner 1>
<NASA/What was Mariner 1?>