Las computadoras del Buran
Redacción |
 |
|
 |
El 15 de Mayo de 1987
tuvo lugar el primer lanzamiento de prueba del nuevo vector
pesado Energia, transportando al satélite militar
Polyus, el cual no pudo llegar a órbita. Un año
y medio más tarde, sin embargo, el segundo lanzamiento
fue exitoso e hizo historia: el Energia puso en órbita
al transbordador espacial Buran. El Buran dio dos vueltas
a la Tierra y descendió de manera perfecta en una
pista especial en Baikonur, luego de cumplir una misión
de tres horas. Pero no había tripulación a
bordo: los más de cincuenta sistemas que controlaban
y daban capacidad de decisión al Buran eran a su
vez controlados por programas almacenados en la computadoras
de a bordo. El diseño de los sistemas de guía
del vector Energia y del transbordador Buran en la década
de 1980 fue probablemente el pináculo de los esfuerzos
creativos de la escuela rusa de diseño de computadoras
de a bordo. |
|
 |
l sistema
de guía del vector pesado Energia fue diseñado en el
Centro de Investigación Científica Khartron (Kharkov,
Ucrania), que también diseñó numerosos otros
sistemas de guía para diversos artefactos espaciales y misiles
estratégicos. La transición de los sistemas de guía
analógicos a los sistemas computarizados tuvo lugar a mediados
de la década de 1960. En esta época la tarea de guiar
un misil balístico intercontinental requería de cálculos
muy precisos y del tratamiento de una gran masa de información
en tiempo real por parte de los sistemas embarcados. Eso podía
solamente ser realizado por potentes computadoras de a bordo. El primer
cohete con un sistema de guía que incluía una computadora
de a bordo fue lanzado en 1971. A mediados de los '80 Khartron trabajaba
simultáneamente en dos sistemas igualmente complejos: un sistema
de guía para el Energia y otro para el poderoso misil intercontinental
SS-18, conocido en occidente bajo el tremendo nombre de “Satán”.
En ese entonces científicos en Moscú y Ucrania trabajaban
sobre el sistema Salyut-5 para la estación espacial Mir, el
sistema de aproximación Kurs –el cual funcionó
exitosamente en el complejo Mir-Soyuz-Progress y ahora lo hace en
la ISS– y otros sistemas de control para artefactos espaciales.
El primer Sputnik, lanzado en 1957, tenía el más primitivo
equipamiento de a bordo que permitía a los controladores de
tierra monitorear solamente algunos parámetros del mismo. Por
el contrario, los sistemas de control de los ingenios espaciales de
los años '80 debían realizar tareas como la orientación
y la estabilización en el espacio, la navegación, la
programación de acciones, el monitoreo de parámetros,
diagnósticos, y muchas otras. El sistema Salyut-5 desarrollado
para la última estación espacial soviética Mir
sigue siendo hasta ahora el más poderoso y confiable de todos
los sistemas computarizados de a bordo producidos en serie.
Sin embargo lo más impresionante en términos de complejidad
y de resultados alcanzados, es el trabajo sobre el transbordador espacial
Buran. A diferencia del transbordador espacial norteamericano, el
cual había sido diseñado desde el principio como una
nave tripulada, la lanzadera soviética Buran tenía que
ser capaz de cumplir misiones automáticas (sin tripulación).
Eso impuso a los desarrolladores del sistema de guía una tarea
mucho más complicada. Tenían que anticipar todas las
emergencias posibles, e idear los procedimientos adecuados para escapar
de situaciones complejas.
En el diseño de una computadora de a bordo para el Buran se
implementaron numerosas soluciones originales. Una de las especificaciones
para el sistema de guía era la siguiente: si fallaban dos componentes
críticos cualesquiera, el sistema debía seguir operando
correctamente de forma tal de garantizar el retorno de la nave desde
el espacio. La redundancia de los sistemas de tratamiento solucionaba
el problema de la confiabilidad, pero al mismo tiempo instalaba un
nuevo problema: el de la sincronización. A diferencia de los
norteamericanos, los diseñadores soviéticos no implementaron
una sincronización controlada por software, sino que decidieron
hacerla en hardware. Al hacer esto evitaron la penosa tarea de escribir
enormes programas para la sincronización de las computadoras
del sistema de guía.
Cuando comenzaron los trabajos respectivos una de las cuestiones más
importantes era ¿qué lenguaje de programación
se debía elegir?. Aunque existían algunos lenguajes
de bajo nivel para programar las computadoras de control de los misiles,
el proyecto Buran tenía una escala y una complejidad sin precedentes.
En un plazo de tiempo muy corto era necesario escribir programas de
un tamaño mucho más grande que el tradicional software
de guía. Era imperativo incrementar la eficiencia del trabajo
de los programadores; por consiguiente, la programación en
lenguaje ensamblador (o assembler) fue descartada.
Por otro lado, la enorme magnitud del proyecto requería de
la participación de una gran cantidad de organizaciones. Todo
el país construyó al Buran. Numerosos programadores
tenían que interactuar unos con otros y con los especialistas
en sistemas de a bordo. Todo esto hizo particularmente complicada
la elección de un lenguaje de programación. El Keldysh
Institute of Applied Mathematics (KIAM) tuvo la responsabilidad
de resolver este problema. El matemático del KIAM Mikhail Romanovich
Shura-Bura, legítimamente reconocido como el patriarca de los
programadores en la URSS, supervisó este proyecto. Al final,
se desarrollaron nuevos lenguajes de programación: “Prol-2”
(para el desarrollo de los sistemas de a bordo), “Dipol”
(para el desarrollo del software de control terrestre), y también
el lenguaje especial de descripción de objetos “Floks”,
el cual hacía compatibles a estos dos lenguajes. También
se desarrolló el lenguaje de modelado “Laks” y
se hizo uso del lenguaje para el desarrollo de compiladores “Refal”.
Es interesante destacar que a partir de los lenguajes Prol-2, Dipol
y Laks el KIAM y el Centro Pilyugin crearon un nuevo lenguaje de programación
gráfica conocido como “Drakon”, el cual fue desarrollado
entre los años 1986 y 1998. |
|
Todo esto comprendía un entorno de desarrollo
que incluía lenguajes para la escritura del código fuente,
y herramientas informáticas para la depuración del mismo,
y la obtención de los códigos objeto instalados en las
computadoras de a bordo y terrestres. Este entorno proporcionaba una
base sólida para la colaboración eficiente entre todos
los desarrolladores del software de guía del Buran.
Detalles de la computadora de a bordo del Buran. La computadora de
a bordo recibe la información de los sensores de a bordo, trata
la información en función de las distintas tareas y
envía las correspondientes órdenes a los actuadores
y sistemas de a bordo. Para garantizar el funcionamiento en tiempo
real la lectura/escritura de las entradas/salidas es hecha cada 32,8
ms.
La estructura de la computadora de a bordo es definida por la conservación
de la capacidad de trabajo así como la garantía de la
seguridad de la tripulación. La computadora de abordo consiste
de dos módulos: de tratamiento “central” y de tratamiento
“periférico”. Cada uno de estos módulos
está compuesto por 4 computadoras que trabajan de manera sincrónica
y ejecutan las mismas tareas. Las cuatro computadoras realizan las
mismas operaciones y al final del proceso sus resultados son comparados;
si alguna sufre alguna falla, es desconectada automáticamente
(las otras tres siguen funcionando) y así sucesivamente hasta
que no haya más que 2 computadoras; si de nuevo surge algún
desperfecto (los resultados arrojados por las dos computadoras son
diferentes) el sistema “decide” desconectar al azar una
de las máquinas de modo que siempre exista una probabilidad
de buen funcionamiento del 50 %.
La sincronización de la información de las 4 unidades
de tratamiento en tiempo real es una operación difícil
y no confiable. Así, como bien se mencionó con anterioridad,
la sincronización de los módulos central y periférico
no es realizada en software (como en el transbordador norteamericano)
sino en hardware; hay un solo reloj de cuarzo que genera el tren de
impulsos para las 8 unidades de tratamiento a la frecuencia de 4 MHz.
Como el reloj también tiene que responder a los requerimientos
de confiabilidad (es decir se tiene en cuenta las posibles fallas
de dos equipos cualesquiera) hay 5 canales que se reservan para la
señal del reloj sobre la que se establece la regla de votación
(o mecanismo de decisión mayoritaria)
“3 de 5”. El almacenamiento de la información de
la computadora de a bordo se realiza en una cinta magnética
con una capacidad de almacenamiento de 819 200 palabras de 32 bits
(se reserva una parte para el almacenamiento del software antes de
su carga en memoria RAM). Por último, esta cinta también
se podía utilizar para almacenar la información que
tenía que ser mostrada en las pantallas de la cabina. |
|
| Detalles
técnicos del sistema de guía del
Buran |
|
|
 |
| Características |
Valor |
| Capacidad de cálculo,
op/s |
37*10^4 |
| Cantidad de procesadores |
74 |
| Capacidad RAM |
|
 operacional,
palabras de 32 bits |
131 072 |
 permanente,
palabras de 32 bits |
16 384 |
| Cantidad de procesadores
de entrada/salida |
4 |
| Cantidad de líneas
para la transmisión |
21 |
| Longitud de la información
entre computadoras, bits |
36 |
| Frecuencia de muestreo de
los sensores, MHz |
0,25 |
| Velocidad del bus entre
las 4 unidades de tratamiento, palabras de 36 bits/s |
61 440 |
| Consumo eléctrico,
Watt |
270 |
| Tensión, Volt |
27 |
| Temperatura de trabajo,
°C |
-10 a +50 |
| Peso, kg |
33,6 |
|
 |
|
|
| |
|
| |
| Mendoza, Argentina, 12 de Setiembre de 2007. |
|