¿Controlar la ubicación de aterrizaje de quemaduras suicidas en una simulación de Python?

Recientemente hice una pregunta en stackoverflow sobre Simulación de quemaduras suicidas en LunarLander de openai-gym . Lamentablemente, la mayoría de mis suposiciones sobre la implementación de quemaduras suicidas eran incorrectas, pero la respuesta dada a mi pregunta resolvió mi problema y pudo aterrizar el módulo de aterrizaje con gracia. Pero si miras la simulación del módulo de aterrizaje, actualmente aterriza en ubicaciones aleatorias y quiero aterrizar el módulo de aterrizaje entre las dos banderas que están en el rango (-0.05,0.05)de x, ¿dónde xestá el x=state[0] ingrese la descripción de la imagen aquí.

Puedo controlar el módulo de aterrizaje usando 4 acciones (nada, abajo, izquierda, derecha) pero en mi publicación de stackoverflow hice simulaciones solo con 2 de 4 acciones. ¿Cómo obligo a aterrizar mi módulo de aterrizaje entre estas coordenadas?

Una segunda pregunta menor es con respecto a esta ecuación.

 alt_burn = (y * g + 0.5 * v*v) / (13.0 / env.lander.mass * 0.5)

¿Por qué la aceleración de los motores no debe definirse como la aceleración actual?

Respuestas (1)

¿Por qué la aceleración de los motores no debe definirse como la aceleración actual?

alt_burnno es una aceleración. Es, creo, la altitud para iniciar la quemadura suicida. No sé por qué el otro cartel lo llamó una aceleración. Si parte de una respuesta lo confunde, generalmente es una buena idea pedir una aclaración a la persona que le dio la respuesta.

Quiero aterrizar el módulo de aterrizaje entre las dos banderas.

Un enfoque es estimar dónde va a aterrizar y luego hacer una maniobra correctiva si no le gusta la respuesta.

Para estimar su posición de aterrizaje x, primero calcule cuánto tiempo tiene hasta el aterrizaje. Su altitud actual dividida por su velocidad vertical actual no es una muy buena estimación, porque la gravedad lo acelerará y luego lo desacelerará su quemadura suicida, pero podría ser una estimación lo suficientemente buena para nuestros propósitos.

Tome su posición x actual, agregue su velocidad x multiplicada por el tiempo hasta el aterrizaje, y esa es su posición x de aterrizaje estimada.

Si esa x está demasiado a la izquierda, agregue una entrada hacia la derecha. Si está demasiado a la derecha, agregue una entrada hacia la izquierda.

I don't know why the other poster called it an accelerationCreo que se refería a esta parte de alt_burnla ecuación.(13.0 / env.lander.mass * 0.5)