La Singularidad Desnuda

Un universo impredecible de pensamientos y cavilaciones sobre ciencia, tecnología y otros conundros

Posts Tagged ‘Mars Global Surveyor’

Un fallo de punteros acabó con la Mars Global Surveyor

Posted by Carlos en abril 14, 2007

Cuando hace poco más de cinco meses la Mars Global Surveyor perdió contacto con la Tierra, La NASA formó un comité interno para estudiar las causas. Los resultados del informe se hicieron públicos ayer mismo, reconstruyendo la cadena de eventos que dieron lugar a la pérdida final de la sonda. A grandes rasgos, el error crítico que desencadenó todo fue un fallo en la escritura en memoria de la nave, que tuvo lugar al intentar corregir un error no-crítico anterior. Básicamente, la situación fue la siguiente:

  • Los sistemas de la nave están deseñados con redundancia, precisamente para hacerla más robusta ante posibles fallos de equipamiento o de programación. Así por ejemplo, los parámetros de control de la sonda se almacenan por duplicado, y cualquier inconsistencia entre las dos copias dispara una alerta de seguridad. Uno de estos parámetros hace referencia a la orientación de una de las antenas de la sonda (HGA), y se actualizó en septiembre de 2005 en dos momentos diferentes cada una de las dos copias. Durante este proceso, los datos se introdujeron con diferente precisión en cada ocasión. La diferencia era en la práctica irrelevante y no conllevaba ningún peligro, pero fue detectada por los sistemas de seguridad por lo que fue necesaria una actualización en junio de 2006. Durante la misma tuvo lugar el error crítico: el valor corregido se escribió en una dirección de memoria incorrecta. Esto afectó a los límites de seguridad de los paneles solares, y corrompió la dirección en la que debía apuntar la HGA durante una contingencia.
  • En noviembre de 2006 se mandaron instrucciones rutinarias a la sonda para reposicionar uno de sus paneles solares, pero la corrupción en el límite de seguridad hizo que el panel girará hasta el límite físico. En ese momento, la sonda interpretó que uno de los paneles estaba atascado por lo que entró en modo de contingencia con tan mala fortuna que una de las baterías quedó expuesta directamente al Sol. Dicha batería se sobrecalentó, lo que fue nuevamente erróneamente interpretado como una sobrecarga, lo que condujo a que se interrumpiera su recarga, y se pasara a la batería de reserva. Ésta no pudo soportar toda la carga eléctrica de la sonda, por lo que en un plazo de 12 horas ambas baterías se descargaron completamente.
  • Aunque la sonda esta orientada correctamente hacia la Tierra, la dirección en la que la HGA debía apuntar en ese caso estaba corrompida, por lo que fue imposible la comunicación con el equipo de seguimiento en tierra, y la detección de las falsas alarmas.

Como puede verse, la cadena de eventos fue realmente desafortunada, y aunque se parte de un fallo de programación, el informe de la NASA afirma que se siguieron los protocolos y procedimientos correctamente. No se culpa directamente a la reducción del presupuesto, pero sí se dice que con más medios quizás hubieran sido posibles revisiones periódicas que hubieran detectado el fallo antes de que se produjera.

Mars Global Surveyor

Sea como fuere, este lamentable accidente pone fin a una misión de 10 años, cinco veces más de los dos años iniciales planeados. Fue precisamente el valor científico de los datos proporcionados por la sonda lo que motivó que se extendiera tanto la misión. Cuando se habla de sacarle valor al dinero invertido en el programa espacial, sin duda esta misión ha de ser uno de los ejemplos. Al margen de esto, hay una moraleja doble para los estudiantes de informática: (1) hasta los ingenieros de la NASA comenten errores con los punteros, y (2) si queremos algún día conquistar el espacio, ¡estudia bien los punteros for favor!

Enviar a Blog Memes Enviar a del.icio.us Enviar a digg Enviar a fresqui Enviar a menéame

Anuncios

Posted in Astronáutica, Programación | Etiquetado: , , , | 21 Comments »