viernes, 26 de julio de 2013

Kerbal Space Program: diseñando cohetes.

- Introducción.

El objetivo de este artículo es explicar algunos principios básicos en la construcción de cohetes en el juego Kerbal Space Program.

Si estás leyendo esto, probablemente ya has estado trasteando con el juego. Habrás conseguido poner algún satélite en órbita (o no), a base de ensayo y error. Quizás hasta hayas llegado a la primera luna. Sin embargo, es difícil llegar mucho más lejos diseñando cohetes "a ojo".

En este artículo explicaré algunos conceptos básicos que te permitirán (por ejemplo) , saber si tienes bastante combustible para ir y volver a un planeta.

No voy a entrar en fórmulas ni cálculos matemáticos porque, primero, yo no soy físico, y segundo, probablemente a ti no te interesen demasiado. Sí pondré enlaces a las páginas de Wikipedia que profundizan en el desarrollo matemático de lo que explico.

En el momento de escribir ésto (versión 0.21) , el juego está en desarrollo y todavía no da información que creo que es crítica a la hora de diseñar un cohete. Para ver alguno de los parámetros de los que hablo en este artículo deberás instalar un mod como  Mechjeb

- Delta V

¿Qué es el Delta V? 

La Wikipedia define el delta-v como una medida escalar del "esfuerzo" necesario para llevar a cabo una maniobra orbital. Se expresa en metros por segundo.

¿Por qué es importante? 

Porque esa medida se comporta como el "combustible" de tu nave: tienes una cierta cantidad de delta-v al principio, y lo vas gastando conforme haces maniobras. Pero es mucho mejor hablar de delta-v que de combustible porque el delta-v ya incluye el peso de tu nave y eficiencia de tus motores.

Por ejemplo, ¿cuánto combustible necesitas para poner un satélite en una órbita estable a 100 km de Kerbin? Pues dependiendo del peso de tu satélite y de si usas motores nucleares, de combustible líquido o turbina, la respuesta puede variar entre unos cientos de litros, a decenas de miles.

Replanteamos la pregunta. ¿Cuánto delta-v necesitas para poner un satélite en una órbita estable a 100 km de Kerbin? Pues 4500 m/s , independientemente de si estás lanzando el satélite más pequeño jamás creado, o la Catedral de Santiago.

Obviamente, si tu nave es más grande, necesitarás más litros de combustible para conseguir los 4500 m/s de delta-v Además, cuanto más eficientes sean tus motores, más delta-v conseguirás para la misma cantidad de combustible. Pero una vez en la rampa, sabes que tienes que gastar 4500 m/s para ponerte en órbita.

Bien, ¿dónde quieres ir? Sea cual sea tu destino, deberías echarle un vistazo a un plano de delta-v. Puedes encontrar uno en la wiki del juego :



Imagina que quieres construir un cohete capaz de alunizar en Minmus. Para realizar las maniobras necesarias, deberás gastar la siguiente cantidad de delta-v :

. 4500 m/s para alcanzar una órbita estable.
. 920 m/s para hacer la transferencia.
. 80 para ponerte en una órbita a bajo nivel
. 240 m/s para conseguir aterrizar.

En total, tu cohete deberá gastar un mínimo de 5740 m/s desde que enciendes los motores para despegar, hasta que te poses en Minmus. Si además quieres volver, tendrás que sumar los delta-v de vuelta (excepto los 4500 de Kerbin, porque usarás la atmósfera para frenar).

¿Qué influye en el Delta V?

Los principales parámetros que influyen en tu delta v son:
  • La masa "en seco" (sin combustible)  de tu cohete.
  • La cantidad de combustible que llevas.
  • La eficiencia de tus motores.
El cálculo exacto del delta-v está fuera del alcance de este tutorial. Usa el mod Mechjeb para obtener un análisis por etapas del delta-v de tu cohete. A continuación tienes un  ejemplo:




Las dos primeras líneas muestran el delta-v de la etapa actual y de toda la nave.La eficiencia de los motores suele variar mucho si estás en atmósfera o en el vacío, así que se suelen dar dos valores de delta-v: atmosférico y en el vacío.

Después tienes un desglose del delta-v por etapas. En la etapa actual (número 2) me quedan 7248 m/s, suficiente para llegar  a casi cualquier planeta del sistema solar. La etapa 1 es una etapa de transición, así que no tiene delta-v La última etapa, la 0, es un lander pesado, diseñado para aterrizar (¡y luego volver!) de lunas o planetas con una gravedad media o baja.

El otro valor que se muestra, el TWR, lo describo en el apartado siguiente.

¿Cómo varía el delta-v?

Cada vez que enciendes tus motores para realizar una maniobra, gastas delta-V.

Cada vez que te desprendes de masa (por ejemplo, eliminando un depósito de combustible vacío), ganas delta-v.

Cada vez que cargas combustible (abasteciendo el cohete en órbita, por ejemplo), ganas delta-v.

A igualdad de masa "seca" y combustible, cuanto más eficientes sean tus motores, más delta-v tendrás disponible.

- TWR

¿Qué es el TWR?

"Thrust to weight ratio" Es la relación que hay entre el peso total de tu nave y la cantidad de impulso que son capaces de generar tus motores.

¿Por qué es importante el TWR?

Para despegar desde la superficie de Kerbin con un ingenio sin sustentación aerodinámica (es decir, cualquier cohete) necesitas un TWR superior a 1.0 

Si tu TWR es menor, los motores no podrán generar suficiente empuje para levantar el cohete, y te quedarás en la zona de despegue hasta que consumas suficiente combustible (o explotes).

¿Qué influye en el TWR?
  • El peso de tu nave.
  • El impulso de tus motores.
¿Cómo varía el TWR?

Una vez has conseguido despegar de la superficie, el TWR se reducirá porque 1) tu cohete consumirá combustible, así que reducirá su masa y por tanto su peso 2) el campo gravitatorio del planeta se debilita según te alejas, por lo que el peso se reduce.

En superficie, tu TWR es crítico, porque indica si tu cohete será capaz de levantarse del suelo, o no. En el espacio no tienes que preocuparte del TWR. Si tu TWR es bajo es porque tus motores no generan mucho impulso. Cuando vayas a hacer una maniobra, tendrás que tenerlos encendidos más tiempo, lo que no es un problema.

- Entonces, ¿cómo diseño un cohete?

Hay tres reglas básicas:
  • Cada gramo de combustible que añades aumenta tu delta-v, y reduce tu TWR.
  • Cada motor que añades reduce tu delta-v y aumenta tu TWR.
  • Cada gramo que no es combustible ni  motor reduce tu delta-v y tu TWR.
Necesitas un TWR mayor de uno para despegar de Kerbin, es aconsejable un mínimo de 1.5 o 2. 

Necesitas suficiente delta-v para llevar a cabo todas las maniobras necesarias para cumplir el objetivo de tu misión. Ten en cuenta que los mapas dan el delta-v necesario si realizas las maniobras de la forma más eficiente. Créeme, es mucho pedir para un novato, así que vete siempre con una cantidad extra de delta-v.

Como puedes ver, los dos parámetros fundamentales dependen directa o indirectamente de la masa de tu nave. Es muy importante librarse de todo aquello que no necesites, especialmente depósitos de combustible vacíos y motores que no vayas a usar más. 

Por eso los cohetes se construyen en fases. La primera fase suele ser la encargada de sacar la nave de la tierra, para lo que se necesitan motores muy potentes (pero poco eficientes) que te den suficiente TWR para vencer el campo gravitatorio de la tierra. Pero una vez en el espacio, la eficiencia pasa a ser el factor clave, así que debes librarte del peso muerto y maniobrar con motores más pequeños y eficientes.

La elección de los motores para cada fase es crucial en el diseño del cohete. Aquí puedes ver un resumen de todos los motores que trae el juego. Voy a hacer un  pequeño resumen de cada tipo de motor, válido para la versión 0.20.
  • Los motores líquidos consumen una mezcla de combustible líquido y oxidante. Son el tipo de motor estándar y vienen en tres tamaños. Las versiones grandes son potentes (mucho TWR y poco delta-v) así que son apropiadas para las primeras etapas del cohete. Las pequeñas tienen menos TWR, pero son más eficientes y por tanto te dan más delta-v con el mismo combustible.
  • Los motores de combustible sólido son muy potentes, pero tienen el grave inconveniente de que una vez encendidos no se pueden apagar ni regular. Normalmente, se usan para reforzar las primeras etapas del cohete, cuando más empuje necesitas.
  • Los motores nucleares son mucho más eficientes que los líquidos "normales", pero tienen muy poco empuje. Son ideales (¿necesarios?) para viajes interplanetarios, donde la eficiencia es crítica. También consumen una mezcla de combustible líquido y oxidante.
  • Los "aerospike" son un  tipo de motor líquido muy eficiente en atmósfera. Se suelen utilizar en los módulos de aterrizaje para planetas y lunas con atmósfera, como Duna. 
  • Las turbinas (motores "jet") consumen combustible líquido y toman el oxígeno de la atmósfera. Por tanto, necesitan una atmósfera con oxígeno :P (Kerbin, Lathye y no sé si me dejo alguno). Suelen emplearse en aviones y, a veces, en las primeras fases de los cohetes.
  • Los motores de iones consumen gas Xeon. Son los más eficientes de todos, pero tienen tan poco empuje que prácticamente sólo se usan en satélites y sondas, o para ajustes de órbita.
Bueno, con esto tienes lo necesario para plantar un cohete en cualquier sitio del sistema solar. Suerte por ahí fuera :)

domingo, 7 de julio de 2013

Kerbal Space Program: acoplando naves.

- Introducción

Kerbal Space Program es un simulador espacial que te permite diseñar naves espaciales y usarlas en un entorno (relativamente) realista.

Dentro del simulador, la operación de acoplar naves ("docking") es especialmente complicada para novatos. Sin embargo, una vez le coges el truco se convierte en algo rutinario que abre muchas posibilidades dentro del juego, desde la construcción de estaciones espaciales a operaciones de abastecimiento en órbita.

Quiero dejar claro que no soy físico. El método que explico a continuación no es el más eficiente, pero como funciona "a ojo", creo que es bastante sencillo.

Quiero darle las gracias a Haplo, del foro http://www.puntadelanza.net , por la serie de artículos que escribió sobre el juego y que me ayudaron a iniciarme

http://www.puntadelanza.net/Foro/phpBB3/viewtopic.php?f=41&t=14887

- Preparativos

Para acoplar dos naves necesitas, evidentemente, dos naves. Pueden ser de cualquier tipo (una estación y una nave, dos naves, etc) , pero lo que es importante es que tengan dos escotillas de acoplamiento del mismo tamaño. También es importante montarlas bien, no serías el primero en darte cuenta de que una escotilla está mal montada mientras orbitas el último pedrusco del sistema solar.



Si te fijas en la imagen, verás que las piezas que se van a acoplar tienen una especie de "rebaba", un círculo más interno. Ese círculo debe quedar mirando hacia fuera.

La naves que se van a acoplar necesitan llevar montado un sistema de RCS (reaction control system) para maniobrar, y uno o más tanques de monopropelente. En los primeros intentos vas a gastar mucho combustible RCS y para motor (ojo, son distintos) , así que asegúrate de ir sobrado de los dos tipos.

Un consejo muy importante: no intentes hacer la maniobra de forma visual, porque no es nada intuitiva. En la Tierra, cuando quieres acercarte a un objeto, lo normal es acelerar hacia él, ¿no? Pues eso en el espacio no funciona. Cuando aceleras, estás variando tu órbita, así que acelerando hacia el objeto sin más sólo te hará pasar por encima o por debajo, envuelto en nubes de juramentos y palabrotas.

Hasta la fase final, la información que necesitas está en el "navball" o la ventana de órbita, no en tu nave.

Deberías familiarizarte con los controles RCS. Por defecto, el RCS se activa con la tecla R. Usa H y N para ir adelante/atrás, e IJKL para moverte a los lados. El juego lleva un "modo de docking" pero en este tutorial NO se usa, la nave la manejaremos siempre desde la ventana de órbita o en "modo phasing" (el normal, vamos).


Es aconsejable que la órbita de la nave a la que te vas a acoplar sea lo más circular posible, y poco excéntrica. También es aconsejable que sincronices el despegue de una nave con la órbita del objeto al que te vas a acoplar. Digo "aconsejable" porque permite hacer la maniobra de forma algo más sencilla y eficiente, pero no es necesario.

Y un último consejo: monta un par de focos en las DOS naves. Si no lo haces, acoplarse a la sombra de un planeta puede complicarse mucho. Monta también un par de placas solares y alguna batería.

- Primera parte: aproximando las órbitas.

Si quieres acoplar una nave que va a despegar con otra que está orbitando, intenta sincronizar el despegue. Para hacerlo a ojo, sencillamente espera a que la nave que está orbitando pase sobre la nave que va a despegar. Te ahorrarás muchos ajustes orbitales.

. Uno: igualando el plano de las órbitas.

El objetivo de este paso es que las órbitas estén en el mismo plano.

Ve a la ventana de órbitas (M); debes hacer click sobre la nave a la que te quieras acoplar y seleccionarla como objetivo.




Una vez hayas seleccionado el objetivo al que te quieres acoplar, la imagen cambiará. En azul, como siempre, está tu órbita y tus puntos de apoapsis y periapsis. En verde, casi amarillo, aparecerá la órbita de tu objetivo. Los puntos verdes sobre tu órbita son los nodos ascendentes (AN) y descendentes (DN) , que son los puntos donde las dos órbitas están en un mismo plano. Los puntos de máximo acercamiento están en rojo.

Si colocas el ratón sobre uno de los nodos te dará la diferencia de inclinación entre las dos órbitas (p. ej 0.5). Tienes que planificar una maniobra sobre uno de los dos nodos para situar las dos órbitas en el mismo plano (0.0º de diferencia) con un error de -0.1 a 0.1




. Dos: tocando las órbitas.

Una vez las dos órbitas están en el mismo plano, debes conseguir que se toquen en al menos UN punto. NO es necesario igualar las órbitas,



. Tres: puntos de encuentro.

Nuestro objetivo ahora es que las dos naves estén a una distancia de menos de 50 kilómetros. Lo ideal serían 10 o 20, pero como es nuestra primera vez, tampoco vamos a ponernos muy exigentes :)

Cuando seleccionaste el objetivo, además de los nodos aparecieron uno o dos puntos de mínima separación (en rojo en la imagen). Si pasas el ratón por encima verás a qué distancia estarás cuando tu nave llegue a ese punto.

Para conseguir que se acerquen, tenemos que jugar con el hecho de que las órbitas más pequeñas tardan menos tiempo en completarse, y las órbitas grandes tardan más tiempo.

Por tanto, si tu nave está detrás de su objetivo, necesitarás reducir su órbita para que gire más rápido que el objeto al que quieres  alcanzar. En el ejemplo de arriba, debes mantener la periapsis por debajo de la órbita de tu objetivo.

Sin embargo, si tu nave está por delante de su objetivo, te interesará que gire más despacio para que el objetivo le dé alcance. En ese caso, tendrás que subir la apoapsis por encima de la órbita de tu objetivo.

Hagas lo que hagas, ten en cuenta dos cosas. Primera, que las dos órbitas deben tocarse siempre en un punto. Segunda, que si estás orbitando un cuerpo con atmósfera debes tener cuidado al bajar la órbita para no meterla en la atmósfera, frenarte, y acabar dándote el gran morrazo.


Ahora solo te queda usar la función "time warp" para que las naves den una vuelta completa, y puedas observar cómo ha cambiado la separación mínima. Probablemente tendrás que hacer ajustes, irás muy de prisa y te pasarás, o muy despacio y se te escapará. No te preocupes, vuelve a ajustar las órbitas y mira qué pasa en la siguiente vuelta.

Cuando consigas que la separación mínima sea menor de 50 kms, pasa al siguiente paso.

. Cuatro: igualando la órbita.

Una vez estés contento con la separación mínima, haz un último ajuste para que las dos órbitas sean lo más parecidas posibles. Es decir, las dos órbitas deben quedar "una encima de la otra".




(En la imagen, no hagas caso de los puntos de aproximación. En tu juego deberían estar más cerca.)


- Segunda parte: aproximando las naves.

. Uno: Aproximación.

Sal de la ventana de órbitas (tecla M). Bien, ésto es muy importante:  a partir de ahora tu "navball" debe estar siempre en modo "target", no superficie ni órbita.


Si no estás ya en modo "target", puedes cambiar el modo de tu "navball" haciendo click sobre el texto que aparece en verde. La posición de tu objetivo aparece en rosa. Tanto los puntos "prograde" y "retrograde" como la lectura de velocidad lo son con respecto al vector de velocidad de tu objetivo. En la imagen, los 20.4 m/s significan que me estoy acercando o alejando de mi objetivo a 20.4 metros por segundo.

Bien, hay dos opciones: o te estás alejando, o te estás acercando. Si te estás acercando, vas bien y no tienes que hacer nada. Pero como las dos órbitas son distintas, llegará un momento en que empieces a alejarte. En ese momento tienes que hacer "La Maniobra" (en mayúsculas, negrita y subrayado :D ). Consta de dos pasos.

  • Primero, coloca la nave mirando hacia TU retrograde (el círculo amarillo con la cruz en el centro, como ya sabrás). Con cuidado (no los pongas al máximo), enciende los motores y vete reduciendo la velocidad  hasta unos 10 m/s



  • Segundo, cuando la nave haya perdido la velocidad, colócala mirando hacia el objetivo (NO hacia el prograde, directamente hacia el objetivo que es ese círculo rosa). Vuelve a encender el motor, y poco a poco, aumenta la velocidad a un valor con el que estés cómodo (dependiendo de la distancia, pero como máximo unos 50 m/s, si está cerca no pases de 5 - 10 m/s)





Si todo ha ido bien, verás que vuelves a acercarte a tu objetivo. Al cabo del rato volverás a alejarte. Repite La Maniobra cuantas veces sea necesario. Cuando estés a unos 50 metros del objetivo, pasa al siguiente apartado.

Si tienes curiosidad por lo que hace "La Maniobra", échale un vistazo a la siguiente foto.  Como ya comenté, si aceleras directamente hacia tu objetivo, sólo conseguirás pasar por encima o por debajo. "La maniobra", por contra, modifica la órbita de forma que los dos objetos vuelven a cruzarse.


Pero vamos, que a efectos prácticos da absolutamente igual. Lo importante es que te acercas. 

. Dos: contacto.

Cuando llegues a una distancia de unos 50 metros apunta la nave a tu retrograde y deja la velocidad a 0.0 o 0.1 Luego cambia la orientación de forma que la escotilla que se vaya a acoplar quede mirando a tu nave objetivo.

Lo más probable es que la otra nave esté orientada hacia el peor sitio posible (Ley de Murphy). Debes tomar el control de la otra nave, y cambiar su orientación para que las escotillas que se van a acoplar queden una mirando a la otra. Con eso te ahorrarás una enorme cantidad de combustible, ajustes, gritos y fracasos :) Para ello, pasa a la ventana de órbita (M) pincha sobre la nave objetivo y selecciona "switch to"



Una vez hayas cambiado a la nave objetivo, sal de la ventana de órbitas (M), y orienta la nave objetivo hacia tu nave.

Bien, pues en este punto tienes las dos naves a 50 metros, prácticamente inmóviles, y mirando la una hacia la otra.



Lo único que te queda por hacer es encender el RCS (tecla R), y usar H y N para acoplar las naves. Normalmente, la tecla H aumentará la velocidad de aproximación de las naves, y N la reducirá. En la maniobra de aproximación final, no pases de 0.5 m/s. Cuando vayan a tocarse, es aconsejable ir a 0.1o  0.2  m/s como máximo.


Una vez esté lo bastante cerca, los imanes de las escotillas harán su trabajo y terminarán de unir las naves. La nave (lander + impulsor interplanetario) completa.



- MOAR HELP!.

Si sigues atascado, quizá podrías probar un mod llamado MechJeb.

El mod puede ayudarte con varias cosas. Primero, trae un  piloto automático para despegar la nave que permite sincronizar el despegue con otro objeto en órbita. Eso te ahorrará infinidad infinidad de ajustes orbitales.

Segundo, y más importante, trae un módulo llamado "rendezvous" que da información útil para el acople de dos naves. El dato crítico es cual va a ser la separación mínima entre tu objetivo y tu. Eso te permite predecir cuando vas a tener que hacer la siguiente Maniobra.

Tercero, te permite mantener el morro orientado en la dirección que quieras (prograde, retrograde, objetivo...) Si sabes lo que quieres hacer, sólo tienes que darle a un botón y el mod colocará la nave mirando hacia donde tú le digas. Eso te dará más tiempo para ocuparte de otros aspectos de la maniobra.

Finalmente, a partir de la versión dos también trae un  piloto automático para hacer acoples. Personalmente no lo he usado, pero en un momento de desesperación puede ser una opción mejor que mandar el juego a paseo :)