A filha de Margaret Hamilton, Lauren, teve um papel inesperado na prevenção de um erro no software da Apollo. Margaret Hamilton foi a diretora da equipe de engenharia de software do Programa Espacial Apollo e teve um papel fundamental no desenvolvimento do software de voo da missão.
Infelizmente Margaret faleceu aos 90 anos no dia 30 de setembro de 2026, em Cambridge, nos Estados Unidos, com confirmação oficial divulgada pelo Instituto de Tecnologia de Massachusetts (MIT) em 7 de outubro de 2026.
Esse incidente revelou um problema sério: se um astronauta cometesse o mesmo erro durante uma missão real, o sistema poderia falhar ou comprometer a segurança da nave. Margaret imediatamente reportou o problema e argumentou que era necessário programar uma solução para evitar essa situação. Inicialmente, a NASA resistiu à ideia de gastar tempo e recursos corrigindo algo que, teoricamente, os astronautas deveriam evitar apenas seguindo as instruções corretamente.
Porém, sua preocupação se mostrou válida quando, durante a missão Apollo 8, o astronauta Jim Lovell acidentalmente digitou o mesmo comando que Lauren havia, brincando, descoberto, colocando o computador da espaçonave no modo errado. Felizmente, graças às modificações que Margaret insistiu em implementar, o software conseguiu se recuperar automaticamente e evitar um desastre.
Esse episódio reforçou a importância do trabalho de Hamilton e sua abordagem meticulosa ao desenvolvimento de software, garantindo que o sistema pudesse lidar com erros humanos e imprevistos, um conceito que se tornaria essencial para a engenharia de software moderna.
A falha durante a alunissagem da Apollo 11
Durante a aproximação do Módulo Lunar Eagle à superfície da Lua, o computador de navegação (AGC Apollo Guidance Computer) começou a exibir alarmes de erro, especificamente os códigos 1202 e 1201. Esses erros indicavam uma sobrecarga de processamento, ou seja, o computador estava recebendo mais tarefas do que conseguia processar.
Causa do problema:
O problema foi causado por um radar de acoplagem que, por engano, permaneceu ligado durante a descida. Isso gerou dados extras e sobrecarregou o computador.
Como o software evitou um desastre:
Graças ao design inteligente do software desenvolvido pela equipe de Margaret Hamilton, o sistema foi programado para priorizar tarefas essenciais automaticamente. Dessa forma, o computador descartou processos menos importantes e continuou executando apenas as funções críticas para a alunissagem, permitindo que Neil Armstrong e Buzz Aldrin completassem, manualmente, o pouso com segurança.
Se não fosse por esse design, o computador poderia ter travado ou exigido um reinício, forçando o cancelamento do pouso. Esse episódio comprovou a robustez do software da Apollo e consolidou a importância do trabalho de Margaret Hamilton na história da computação e da exploração espacial.
O reconhecimento tardio
Em 22 de novembro de 2016, Margaret Hamilton recebeu a Medalha Presidencial da Liberdade, a mais alta condecoração civil dos Estados Unidos, entregue pelo então presidente Barack Obama.
Ela foi reconhecida por seu trabalho pioneiro na engenharia de software e por sua contribuição fundamental para o sucesso das missões Apollo. Durante a cerimônia, Obama destacou sua importância ao afirmar que Hamilton foi responsável por garantir que o software do Apollo Guidance Computer (AGC) permitisse que os astronautas chegassem à Lua e voltassem em segurança.
Uma das imagens mais icônicas desse reconhecimento é Margaret Hamilton sorrindo ao lado de Barack Obama. Esse prêmio simbolizou o reconhecimento tardio, mas merecido, de seu impacto na história da computação e da exploração espacial.
A NASA disponibilizou o código fonte do AGC usado na Apollo 11
O código fonte foi digitalizado e publicado no GitHub por um ex-estagiário da NASA chamado Chris Garry, em 2016.
Acesse aqui:
https://github.com/chrislgarry/Apollo-11
O código foi originalmente escrito em Assembly para o processador do AGC, que tinha apenas 2 KB de RAM e 36 KB de memória fixa. Ele contém comentários interessantes, incluindo algumas piadas da equipe de programadores do MIT.
Detalhes da linguagem:
- O Assembly usado era um "dialeto" personalizado chamado AGC4 Assembly, desenvolvido para o processador do AGC.
- O AGC era uma máquina de palavra de 15 bits, com instruções altamente otimizadas devido às limitações de hardware.
- O código era escrito em listagens de código fonte impressas em papel perfurado e depois convertido para o formato que o computador entendia.
Curiosidades sobre o código:
- Ele contém comentários engraçados dos programadores do MIT Instrumentation Laboratory.
- Um dos arquivos faz referência a "BURN_BABY_BURN", uma piada interna sobre a sequência de ignição do motor.
Parabéns, Everaldo! Excelente artigo!
ResponderExcluirUma época, andei baixando os materiais do klabs.org, archive.org e MIT para fazer uma réplica do AGC com DSKY, mas por falta de tempo e grana, acabei deixando o projeto de lado… :'-(
https://klabs.org/history/ech/agc_schematics/#SERVICE_GATES
Obrigado! O DSKY está na minha fila de réplicas.
ExcluirOlhado os esquemas, me vem a cabeça que um Arduino, com um terminal quebrado, poderia substituir o AGC. KKK
ExcluirFantastico post de um fantastico empreendimento para a Humanidade !
ResponderExcluir