El 4 de junio de 1996, el nuevo cohete europeo Ariane 5 despegó por primera vez desde Kurú, en la Guayana Francesa. Unos 40 segundos después, a unos 3.700 metros de altitud, se desvió de su trayectoria, se rompió y explotó. No hubo fallo de motores ni de estructura: el culpable fue un error de software.
El caso se estudia desde entonces en facultades de ingeniería de todo el mundo como ejemplo de cómo un detalle aparentemente inofensivo puede arruinar un proyecto gigantesco.
Qué vieron los ingenieros
La Agencia Espacial Europea (ESA) y la agencia francesa CNES nombraron una comisión de investigación independiente presidida por el matemático Jacques-Louis Lions. Su informe, presentado en julio de 1996, reconstruyó la secuencia: el cohete se comportó con normalidad hasta unos 36 segundos después del inicio de la secuencia de vuelo. Entonces fallaron casi a la vez los dos sistemas de referencia inercial (SRI), que le indican al cohete su posición y orientación.
Las toberas de los propulsores y del motor principal Vulcain giraron hasta su posición extrema, el cohete adoptó un ángulo de ataque de más de 20 grados y las fuerzas aerodinámicas lo desgarraron. La separación de los propulsores activó, tal y como estaba previsto, el sistema de autodestrucción.
Un número que no cabía
El origen estaba en una simple conversión de datos. El software del SRI convertía un número de coma flotante de 64 bits en un entero con signo de 16 bits. Un entero así solo puede representar valores entre −32.768 y 32.767, y el número que llegó era mayor. El resultado fue un error de operando (Operand Error) que el programa, escrito en Ada, no tenía protegido.
Lo más llamativo es que otras conversiones parecidas del mismo código sí estaban protegidas. Según el informe, se habían identificado siete variables con riesgo, pero solo se protegieron cuatro, en parte porque se había fijado un objetivo de carga máxima del 80 % para el ordenador del SRI. Para las otras tres se razonó que estaban limitadas físicamente o tenían un gran margen de seguridad. En el caso de la variable que falló, ese razonamiento resultó erróneo.
Software del Ariane 4 en un cohete diferente
El SRI del Ariane 5 era prácticamente igual al del Ariane 4, sobre todo en el software. El error se produjo en una función de alineación de la plataforma inercial que solo tenía sentido antes del despegue, pero que, por un requisito heredado del Ariane 4, seguía funcionando unos 40 segundos después. En el Ariane 5 no hacía falta.
Esa función calculaba un valor llamado BH (sesgo horizontal), relacionado con la velocidad horizontal. Como la primera parte de la trayectoria del Ariane 5 era distinta y generaba velocidades horizontales mucho mayores, BH superó lo que cabía en 16 bits.
Redundancia que no sirvió
El cohete tenía dos SRI precisamente para cubrir averías. Pero ambos ejecutaban el mismo software, así que el de reserva había fallado 72 milisegundos antes por exactamente la misma razón. Cuando el sistema activo cayó, no había adónde cambiar. Además, el SRI averiado envió un patrón de diagnóstico que el ordenador de a bordo interpretó como datos de vuelo, lo que provocó el giro brusco de las toberas.
La comisión señaló un problema cultural: el programa estaba pensado para afrontar fallos aleatorios de hardware, que un sistema de reserva resuelve bien, no errores sistemáticos de diseño de software, que se repiten en todas las copias.
Las lecciones
El informe concluyó que las revisiones y pruebas no incluyeron un análisis adecuado del sistema de referencia inercial ni del control de vuelo completo, y que la función de alineación no se tuvo en cuenta en las simulaciones. Entre sus recomendaciones estaban revisar todo el software embarcado y hacer pruebas más representativas del cohete real.
La lección sigue vigente: reutilizar código probado ahorra tiempo, pero solo si se comprueba que las suposiciones originales siguen siendo válidas. Es algo que vemos también en los fallos de seguridad del software de bajo nivel, como el del firmware UEFI que permite atacar servidores. La ESA corrigió el problema del SRI y revisó todo el software embarcado antes de volver a volar.
Fuentes
- ESA: Ariane 501 – Presentation of Inquiry Board report
- Informe de la comisión de investigación (copia de la Universidad de Minnesota): ARIANE 5 Flight 501 Failure, Report by the Inquiry Board






Deja una respuesta