Ir para o conteúdo principal

NASA perde milhões de dólares por erros de unidade

·3193 palavras·15 minutos·
Ciência Nasa Unidades
Autor
Francisco Bustamante
Um químico trabalhando com Ciência de Dados e Programação em Python.
Tabela de conteúdos

Normalmente, um dos primeiros tópicos que vemos ao estudar ciências é o de unidades e medidas. E então nos deparamos com algumas unidades que não são muito comuns em muitos países, incluindo o Brasil, como pés e libras. Mas aprendemos que existem fatores de conversão entre essas unidades e aquelas com as quais estamos acostumados, e, geralmente, este tópico é considerado simples e até entediante.

Neste artigo, veremos como a NASA perdeu projetos milionários devido a simples erros de conversão de unidades. Também veremos qual sistema de unidades levou o homem à Lua no Programa Apollo, analisando o código-fonte do computador de bordo.

Caso prefira ver em vídeo, clique no player abaixo. O artigo completo se encontra após o vídeo.

Mars Climate Orbiter (MCO)
#

Em 11 de dezembro de 1998, a NASA lançou a Mars Climate Orbiter (MCO), uma espaçonave de 638 kg cujo objetivo era estudar o clima marciano. No entanto, em 23 de setembro de 1999, quando a sonda estava manobrando para entrar na órbita de Marte, a comunicação com a sonda foi perdida.

MCO artist
Concepção artística da Mars Climate Orbiter. Fonte

Um dos relatórios produzidos posteriormente para entender as razões do acidente determinou que a causa principal foi o uso de sistemas de unidades conflitantes. O software usado pela equipe de controle na Terra fornecia dados no sistema de unidades costumeiras dos Estados Unidos (semelhante ao sistema imperial), enquanto a sonda usava unidades do Sistema Internacional de Unidades (também conhecido como SI, do francês Système International d’unités). Como resultado, instruções incorretas foram enviadas à sonda, fazendo-a se aproximar demais do planeta. Acredita-se que ela foi destruída ao entrar na atmosfera ou se perdeu no espaço se conseguiu sair da atmosfera. Custo da missão: US$ 327,6 milhões.

trajectories
Comparação da trajetória esperada e da trajetória real da Mars Climate Orbiter. Fonte

De acordo com o relatório, o sistema de solo que calculava o impulso da sonda produzia resultados em libra-força segundos (lbf s), enquanto o sistema de cálculo de trajetória esperava o resultado em Newton segundos (N s). A conversão é de aproximadamente 4,45, como mostrado na imagem abaixo usando a calculadora SpeedCrunch.

calculator
Conversão de unidades usando a calculadora SpeedCrunch

A NASA havia contratado a empresa Lockheed para fazer o sistema de software da missão, e as especificações pediam que o sistema de unidades de todo o sistema fosse o Sistema Internacional de Unidades. No entanto, a NASA optou por não culpar a Lockheed pelo acidente, afirmando que a própria NASA falhou em realizar verificações e testes que teriam alertado para a discrepância. O relatório indica que houve uma série de falhas internas de comunicação e de procedimento, inclusive mostrando que parte da equipe já havia detectado algo estranho nos dados durante a viagem da sonda, mas decidiu comunicar por e-mail(!) em vez de abrir um procedimento formal de análise, o que talvez explique essa postura da NASA. Vejamos alguns trechos do relatório (livre tradução):

No projeto MCO, e novamente no projeto MPL, há evidências de comunicações inadequadas entre os elementos do projeto, incluindo as equipes de desenvolvimento e operações, as equipes de navegação de operações e de operações, as equipes de gerenciamento de projetos e técnicas, e o gerenciamento de linha técnica e de projeto. Ficou claro que a equipe de navegação de operações não comunicou suas preocupações de trajetória de forma eficaz para a equipe de operações da espaçonave ou para o gerenciamento do projeto. Além disso, a equipe de operações da espaçonave não entendeu as preocupações da equipe de navegação de operações.

Uma comparação precoce desses dados gerados pela espaçonave com os dados de rastreamento poderia ter descoberto o problema de unidades que, no final, levou à perda da espaçonave. Quando conflitos nos dados foram descobertos, a equipe confiou no e-mail para resolver problemas, em vez de processos formais de resolução de problemas, como o procedimento de relatório de Incidente, Surpresa, Anomalia (ISA). A falha em empregar adequadamente o sistema de rastreamento de problemas contribuiu para que este problema “passasse despercebido”.

O relatório mostra também que os módulos de software foram testados separadamente, mas devido a falhas de formatação de arquivos (ver página 17 do relatório), os testes de integração, onde o resultado de um módulo é usado como entrada para outro, foram adiados, e a equipe teve pouco tempo para análise.

A Especificação de Interface de Software (SIS) foi desenvolvida, mas não foi devidamente utilizada no desenvolvimento e teste do software de solo de pequenas forças. O teste de ponta a ponta para validar o desempenho do software de solo de pequenas forças e sua aplicabilidade à especificação parece não ter sido realizado. Não ficou claro se a verificação e validação independentes do software de solo foram realizadas para a MCO. O processo de controle de interface e a verificação de interfaces específicas do sistema de solo não foram concluídos ou foram concluídos com rigor insuficiente.

Como na maioria dos acidentes, houve componentes humanos que foram determinantes para a ocorrência do acidente. Este excelente artigo da IEEE Spectrum mostra outros aspectos deste acidente com mais detalhes e entrevistas. Uma seção deste artigo mostra que participantes do projeto relataram problemas de tomada de decisão que já existiam na NASA anteriormente e resultaram no infeliz acidente do ônibus espacial Challenger, que matou os 7 astronautas da tripulação em 1986.

O ônibus espacial Challenger decola em sua missão final. Fonte

O processo de tomada de decisão e gerenciamento de riscos na NASA também foi apontado como uma das razões para outra explosão de ônibus espacial quatro anos após a perda da MCO, em 2003, quando o Columbia se desintegrou ao reentrar na atmosfera da Terra, matando também os 7 tripulantes.

Demonstration for Autonomous Rendezvous (DART)
#

Em 2005, apenas 6 anos após a perda da MCO na atmosfera marciana, outro projeto da NASA teve problemas. O objetivo principal da DART era testar técnicas de navegação automática, sendo capaz de acoplar automaticamente com outros dispositivos aeroespaciais, evitando colisões. O projeto não tinha forma de controle interativo em solo nem havia maneiras de atualizar o software após o lançamento. Todas as operações em órbita dependiam unicamente de critérios pré-programados. A DART colidiu com o satélite MUBLCOM durante uma manobra de aproximação. Custo da missão: 110 milhões de dólares.

DART
Concepção artística da DART (embaixo) se aproximando do satélite MUBLCOM (em cima). Fonte

Numa prévia do relatório feito pela equipe de análise do acidente, o processo de desenvolvimento de software foi duramente criticado. Havia parâmetros no código que não eram usados (residuais), não foram feitos testes para vários cenários e houve um erro de conversão de unidades em um dos modelos matemáticos de simulação.

É notável que uma seção desta prévia afirma que a velocidade medida pelos instrumentos estava “cerca de” 0,6 metros por segundo a mais do que deveria (original: DART’s primary GPS receiver consistently produced a measured velocity that was offset or “biased” about 0.6 meters per second from what it should have been.). Alguns suspeitam que houve uma conversão de unidade mal feita no código. Como 1 ft/s é equivalente a 0,3048 m/s, a diferença nas magnitudes é de 0,6952 ou, usando os termos científicos do relatório (haha), cerca de 0,6. Assim, há suspeita de que algum fator de conversão de pés para metros feito incorretamente na forma de adição possa estar no código. Suspeita que aumenta, dado que há menção a um erro de conversão de unidades em um dos modelos matemáticos de simulação (original: an omitted units conversion caused an error in a simulation math model.)

Infelizmente, mais detalhes não foram tornados públicos, pois o relatório completo não foi divulgado. Segundo a NASA, havia detalhes protegidos pelo [ITAR

  • Regulamento Internacional sobre o Tráfico de Armas](https://en.wikipedia.org/wiki/International_Traffic_in_Arms_Regulations) dos Estados Unidos. Mas a prévia do relatório deixa claros vários problemas no fluxo de desenvolvimento de software, assim como no caso da MCO. O relatório também mostra claramente as preocupações com a comunicação e o desenvolvimento de software na NASA, que também foi alvo da mídia na época.

A NASA e o Sistema Internacional de Unidades
#

A viagem à Lua
#

A história da NASA com sistemas de unidades é bastante longa. Por exemplo, o Computador de Orientação da Apollo (AGC), o computador a bordo do módulo de comando e do módulo lunar do Projeto Apollo, armazenava internamente os dados no Sistema Internacional de Unidades, mas exibia dados e resultados no sistema de unidades costumeiras dos Estados Unidos. Isso ocorria porque o pessoal de nível operacional da NASA e os próprios astronautas entendiam melhor o sistema americano.

agc
Computador de Orientação da Apollo (AGC) e Visor e Teclado (DSKY). Fonte

Assim, embora internamente altitude e velocidade, por exemplo, fossem armazenadas em metros e metros/segundo, eram exibidas em pés e pés/segundo. Da mesma forma, as massas eram exibidas em libras, embora armazenadas em quilogramas. A análise do código-fonte disponível deixa isso bem claro:

# *** THE ORDER OF THE FOLLOWING SIX CONSTANTS MUST NOT BE CHANGED ***

FDPS		2DEC	4.3670 B-7		# 9817.5 LBS FORCE IN NEWTONS
MDOTDPS		2DEC	0.1480 B-3		# 32.62 LBS/SEC IN KGS/CS
DTDECAY		2DEC	-38
FAPS		2DEC	1.5569 B-7		# 3500 LBS FORCE IN NEWTONS
MDOTAPS		2DEC	0.05135 B-3		# 11.32 LBS/SEC IN KGS/CS
ATDECAY		2DEC	-10

# ********************************************************************

FRCS4		2DEC	0.17792 B-7		# 400 LBS FORCE IN NEWTONS
FRCS2		2DEC	0.08896 B-7		# 200 LBS FORCE IN NEWTONS

		SETLOC	P40S1
		BANK
		COUNT*	$$/P40

# *** APS IMPULSE DATA FOR P42 ***************************************

K1VAL		2DEC	124.55 B-23		# 2800 LB-SEC
K2VAL		2DEC	31.138 B-24		# 700 LB-SEC
K3VAL		2DEC	1.5569 B-10		# FAPS (3500 LBS THRUST)

# ********************************************************************

S40.136		2DEC	.4671 B-9		# .4671 M NEWTONS (DPS)
S40.136_	2DEC	.4671 B+1		# S40.136 SHIFTED LEFT 10.

Neste trecho de código, temos especificações para o motor do Módulo Lunar. DPS significa Sistema de Propulsão de Descida e APS, Sistema de Propulsão de Subida. Note que nos comentários do código, indicados por #, foram colocados os respectivos valores no sistema de medidas americano.

O próprio relatório da missão é interessante do ponto de vista dos sistemas de unidades. A parte mais orientada para a engenharia, com dados da espaçonave e da viagem, usa o sistema americano, enquanto a parte com os resultados dos experimentos usa o sistema internacional. Um reflexo do fato de que, já naquela época, a comunidade científica americana usava mais o sistema internacional, provavelmente porque revistas e outras publicações geralmente exigem este sistema de unidades.

apollo report
Figuras do relatório da missão Apollo. Esquerda: eventos orbitais da descida lunar usando o sistema americano. Direita: resultados do experimento sísmico usando o Sistema Internacional de Unidades.

A migração do sistema de unidades de $300 milhões
#

A NASA iniciou em alguns momentos de sua história movimentos para a transição para o Sistema Internacional de Unidades. É fascinante este link do site da NASA onde uma lei americana é citada que força o uso do SI em programas financiados pelo governo, a menos que seu uso seja impraticável. Governos e seus legisladores brilhantes… Não é de surpreender que, algumas linhas depois, apareça: “Embora o uso do SI nos EUA esteja aumentando, o setor aeroespacial é reconhecido como uma área onde a adoção será difícil, devido ao uso de longa data do sistema “polegada-libra” baseado nos EUA para aeronaves.”. Então tá…

O caso do Programa Constellation é emblemático no que diz respeito aos sistemas de unidades. O programa, iniciado em 2005, era bastante ambicioso, propondo concluir a construção da Estação Espacial Internacional e retornar à superfície lunar antes de 2020. Sabemos que isso não aconteceu, o programa foi cancelado em 2010 devido aos seus altos custos, embora alguns projetos em andamento tenham sido redirecionados para outros programas. O programa havia proposto inicialmente que usaria o sistema métrico, mas… internamente foi solicitado que o sistema métrico não fosse usado, e um relatório foi gerado a partir da análise desse pedido. Vamos analisar brevemente este relatório.

Segundo o relatório, a equipe do Programa Constellation havia estimado um custo de US$ 368 milhões entre 2009 e 2015 para fazer a transição para o SI. Grande parte desse custo viria da reutilização de hardware e software de programas passados, de modo que seriam necessárias revisões de documentação e interfaces. E a equipe também teria achado impraticável fazer a mudança porque houve problemas técnicos de outras naturezas que levaram à necessidade de cortar custos e agilizar procedimentos para cumprir prazos.

constellation report
Figura do relatório do Programa Constellation

A resposta dada pelos revisores no relatório é incrível. Primeiro, eles criticaram o fato de o programa ter levantado o custo de adoção do SI. OK, mas e o custo de NÃO adotá-lo? Uma análise de custo do ciclo de vida não foi feita. Considerando a internacionalização dos programas espaciais, não migrar para o SI poderia custar mais no futuro, porque grande parte da comunidade internacional usa o sistema métrico e seria necessário treinamento no sistema americano.

Outro argumento da equipe do Programa é que a conversão adicionaria riscos inaceitáveis ao projeto. Mas o relatório questiona por que então, em 2007, durante o período de planejamento do Programa, o sistema métrico foi selecionado sob a justificativa da própria equipe de que era mais simples, menos propenso a erros e alinhado com a política internacional da NASA. E ainda cita o caso da MCO que já descrevemos para mostrar que mudar a política envolvendo sistemas de medição com o projeto em andamento pode levar a riscos que, de fato, são inaceitáveis.

A equipe do Programa também tentou usar o argumento de que peças e outros componentes são geralmente fabricados com medidas compatíveis com o sistema americano. No entanto, o relatório afirma que as medidas no sistema métrico estão igualmente disponíveis e que, novamente, o ciclo de vida geral deve ser considerado. Com as indústrias migrando cada vez mais para o sistema métrico, não era razoável iniciar um novo programa no sistema americano. E, novamente, o texto neste ponto reforça a importância de considerar parcerias internacionais para peças, bem como para parcerias comerciais e de pessoal, todos usando o sistema métrico.

A decisão do Programa acabou entrando em conflito com outra agência do governo dos EUA, o Instituto Nacional de Padrões e Tecnologia (NIST). O relatório mostra a comunicação entre as duas entidades estatais, apontando que o NIST não ficou nada satisfeito com a postura da NASA. É notável esta passagem (livre tradução): "[a] transição voluntária bem-sucedida dos EUA para o sistema métrico é um fator crítico no sucesso competitivo das empresas e do país. A NASA é uma agência federal emblemática para a qual outras agências e a indústria buscam liderança e inspiração."

Finalmente, o último argumento da equipe do Programa foi que o uso do sistema métrico pela NASA era dificultado pelo fato de o Departamento de Defesa não o usar em seus projetos. Isso significaria que as empresas do setor aeroespacial não teriam tantas peças disponíveis para o sistema métrico, dada a grande influência dos contratos do Departamento de Defesa. Anteriormente no relatório, já havia sido mostrado que existem peças suficientes disponíveis e, neste ponto, o relatório ainda cita projetos do Departamento de Defesa que foram feitos inteiramente no SI.

Parece que os cowboys do espaço não se importam muito em arranjar desavenças… Primeiro o NIST e agora o Departamento de Defesa. Alguém lá realmente não gosta de fatores de conversão de unidades e do sistema métrico.

Esta decisão não foi bem recebida pelo setor privado, como mostrado neste artigo da época. Representantes das empresas reclamaram, com razão, que o atraso da NASA em migrar para o SI dificultava a criação de um mercado aeroespacial global, além de atrapalhar as colaborações internacionais de pesquisa. Afinal, uma empresa estatal do tamanho da NASA impactava grandemente o mercado a cada decisão que tomava. Lembre-se que estamos falando de pouco mais de uma década atrás.

Situação atual
#

Mas como estamos agora, uma década depois de tudo isso ter acontecido? A NASA sucumbiu ao Sistema Internacional de Unidades?

Bem, se você leu este artigo até aqui, deve ter percebido que o sistema de unidades é o menor dos problemas da NASA. O que fica evidente são as várias questões de comunicação e gerenciamento desses projetos. Se uma mudança aparentemente “simples” de sistema de unidades tem um custo de milhões de dólares, imagine outros fatores envolvidos nesses projetos? Cada relatório mostra claramente vários problemas de desenvolvimento de projetos, desde o software até o próprio equipamento. A realidade é que cada projeto se tornou cada vez maior e mais caro, e o dinheiro, mesmo o dinheiro estatal, é finito.

Com isso em mente, desde meados dos anos 2000, a NASA intensificou programas de colaboração com empresas privadas como Boeing, Orbital, Sierra Nevada e a mais conhecida, SpaceX. Esses programas economizaram milhões de dólares para a NASA. Obviamente, ainda existem programas liderados pela NASA, mas uma parte significativa deles é em cooperação com empresas e agências espaciais de outros países como Japão, Canadá e a Agência Espacial Europeia. Assim, a realidade se impôs, e quando o sistema de medição americano ainda é usado, é em menor escala e internamente. Equipamentos e software são (esperançosamente) desenvolvidos no SI.

Isso não significa que a cultura das pessoas envolvidas e da instituição tenha mudado. Uma simples visita ao site da NASA mostra isso. Os materiais de divulgação ainda usam o sistema americano. Por exemplo, veja este material do Space Launch System, um foguete de lançamento em desenvolvimento. O material é claramente voltado para os próprios americanos, o que é de se esperar de uma agência governamental americana, não é?

Agora veja este material dos veículos Falcon da SpaceX. Ao longo do documento, o sistema métrico é mostrado primeiro, com a conversão para o sistema americano entre parênteses. Afinal, é uma empresa prestadora de serviços, então buscará se comunicar de forma a ter o maior número possível de clientes. Além disso, o marketing e a percepção pública da empresa também são importantes.

nasa vs spacex
Comparando materiais da NASA e da SpaceX. Esquerda: NASA com unidades americanas. Direita: SpaceX com ambos os sistemas, americano e internacional

Se grande parte do mundo usa o sistema métrico, é essencial para a empresa que as pessoas possam entender seus materiais. Isso é notável nos vídeos de lançamento da SpaceX:

Nos vídeos, a altitude é mostrada em quilômetros e a velocidade em quilômetros por hora. Isso atraiu a atenção da imprensa na época dos primeiros lançamentos.

Para ter uma ideia de quanto do nosso planeta já adotou o sistema métrico, o mapa a seguir mostra como está o processo de metrificação ao redor do mundo:

nasa metrification
Países por status atual de metrificação. Verde: completo; amarelo: quase completo; laranja: alguma adoção a parcialmente completo; vermelho: pouca adoção. Fonte

Conclusão
#

Então, você já parou para pensar que o tema de conversão/sistemas de unidades poderia ter tantos desdobramentos? Embora os sistemas e as conversões em si sejam simples, existem vários fatores humanos envolvidos, especialmente os culturais. Também aproveitamos o tema e tivemos algumas discussões sobre desenvolvimento de software. Espero que tenha gostado do artigo, não se esqueça de deixar seus comentários e compartilhar.

Caso queira ler mais sobre uma outra situação onde erros de unidades causaram problemas, veja o caso do avião que caiu por ter ficado sem combustível. em pleno voo.

Até a próxima.

Relacionados

Erro de conversão de unidade derruba avião?
·2085 palavras·10 minutos
Ciência Unidades Calculadora
Como que um avião pode ficar sem combustível a 12 km de altitude? O artigo de hoje é sobre um Boeing que virou um “planador” de mais de 100 toneladas e como isso ocorreu por um simples erro de conversões de unidades.
Criando um ambiente virtual para seu projeto Python
·4301 palavras·21 minutos
Programação Venv Python Linux Conda Pyenv Pipenv Ambiente Virtual
Nesse artigo veremos como usar ambientes virtuais no gerenciamento de projetos Python. Veremos que é possível ter diferentes versões de Python, uma para cada projeto, e também como é feito o controle de pacotes e dependências.
Instalando o Anaconda no Linux Mint 20
·1193 palavras·6 minutos
Programação Anaconda Python Linux Conda
Você já deve ter ouvido falar em data science ou machine learning. E, eventualmente, já ouviu falar ou teve contato com as linguagens R ou Python. O artigo de hoje é sobre o Anaconda, uma distribuição que visa facilitar a instalação e o gerenciamento de ferramentas dessas duas linguagens, visando especialmente aplicações na área científica.