Implementación de un sistema de control para rastrear referencias de posición y velocidad simultáneamente

He estado tratando de implementar un controlador PI ( proporcional-integral ) para permitir que un vehículo de lanzamiento rastree 2 estados de referencia simultáneos, a saber, posición y velocidad, de modo que el vehículo de lanzamiento termine su ascenso en una órbita circular estable a 600 km. altitud orbital. Intenté hacer esto resolviendo primero un problema de guía óptimo que proporciona la posición de referencia requerida, la velocidad de referencia y la entrada de control de referencia (que se usa como control de avance) para que el cohete siga su ascenso. Entonces, el controlador PI se usa principalmente para rechazar perturbaciones, y el control de avance proporciona la mayor parte de la entrada de control.

Lo que he notado es que el controlador PI hace un buen trabajo al rastrear 1 referencia a la vez (es decir, rastrear una referencia de posición o una referencia de velocidad), pero si trato de rastrear tanto la posición como la velocidad al mismo tiempo , da resultados decepcionantes, con solo 1 de los estados de referencia siendo rastreado con precisión.

Se adjunta un ejemplo de implementación del controlador para rastrear solo una referencia de posición. La posición radial se da en el gráfico de la izquierda y la velocidad total en el gráfico de la derecha, donde los gráficos azules son las referencias a seguir y los gráficos naranjas son las trayectorias reales tomadas por el cohete.

ingrese la descripción de la imagen aquí

Como puede verse, el controlador rastrea muy bien la referencia de posición, pero no puede rastrear la referencia de velocidad con buena precisión.

Si luego tratamos de rastrear solo la referencia de velocidad, tenemos las siguientes gráficas, donde la velocidad se rastrea bien, pero la posición se desvía de nuestra trayectoria deseada.

ingrese la descripción de la imagen aquí

Como tal, me preguntaba si hay una manera de rastrear con precisión tanto la posición como la velocidad para el ascenso del vehículo de lanzamiento a la órbita. ¿Cómo se lograría el seguimiento de múltiples objetivos de referencia durante un evento de lanzamiento real?

No soy una persona de sistemas de control, pero me pregunto si hay alguna expectativa de que esto pueda funcionar para empezar. Estos no son parámetros independientes, uno se basa en derivados del otro, por lo que no se pueden controlar de forma independiente. Además, ¿la trayectoria entre t = 60 y 760 segundos es balística? Parece que no hay empuje. ¿Qué es exactamente lo que controla el algoritmo? Creo que sería mejor si incluye una lista clara y completa y una descripción de los parámetros de entrada y de salida específicos a los que está conectado su algoritmo.
Apenas sé nada sobre controles aparte del hecho de que su error de seguimiento está determinado por el orden del sistema. Asegúrese de que su controlador pueda minimizar razonablemente su error de acuerdo con lo que dicte la dinámica. En otras palabras, un controlador PI puede no ser su mejor opción, es posible que deba hacer un PID o PD. Nuevamente, no soy un tipo de controles, por lo que este comentario puede parecer inútil, pero creo que vale la pena ver si está utilizando o no el algoritmo de control correcto para rastrear simultáneamente la velocidad y la posición.
-1. Esta pregunta no tiene ningún sentido para mí como ingeniero de control. Como otros señalan, no puede controlar la posición y la velocidad como funciones del tiempo. Podría intentar controlar la velocidad en función de la posición, pero esto es solo un ejercicio teórico, ya que no tiene ningún sentido físico (los propulsores aplican fuerzas que resultan en aceleraciones).
Oh hombre, esto es como el principio de incertidumbre de la mecánica cuántica en general, que dice que la posición o el momento se pueden conocer con precisión, pero nunca ambos al mismo tiempo. Ja ja. ¿Está tu cohete en el electrón? :/

Respuestas (2)

Como tal, me preguntaba si hay una manera de rastrear con precisión tanto la posición como la velocidad para el ascenso del vehículo de lanzamiento a la órbita.

Si es posible, tenga actuadores y modelos de referencia más precisos. Mejora el seguimiento de los estados más fácil.

Pero dado que existe una relación entre la posición y la velocidad, no puede controlar ambas correctamente. La razón es simple: si tiene una posición de trayectoria de referencia y una velocidad, ambas están alineadas con el tiempo. Si en algún momento se está quedando atrás en la posición, solo puede compensar acelerando y, por lo tanto, aumentando la velocidad, lo que lo haría desviarse de la velocidad de referencia. Si solo intentara controlar la velocidad de referencia, con el tiempo, su posición se desviaría cada vez más de su referencia.

Lo que te sugiero que consideres para un problema tan simplificado es que, mientras generas pag ( t ) y v ( t ) como referencias basadas en el tiempo, debe tratar de controlar la velocidad en función de la posición, es decir v ( pag ) . Esto tiene sentido porque es mejor estar a la altura pertinente con la velocidad pertinente que en el momento adecuado.

¿Cómo se lograría el seguimiento de múltiples objetivos de referencia durante un evento de lanzamiento real?

Esa es prácticamente información patentada para cada cohete y sitio de lanzamiento. Pero tenga en cuenta algunas cosas: 1. No solo se controlan la altura y la velocidad, también hay latitud, longitud, velocidad absoluta, velocidad vertical y velocidad horizontal. 2. La actitud del cohete importa mucho. 3. No es sencillo modular la confianza (ni siquiera creo que cualquier cohete pueda controlar la presión interna con una referencia). Y encender y apagar los propulsores lleva mucho tiempo si es posible. 4. Cualquier cohete moderno controla la orientación del empuje, pero de una manera muy limitada, con un ángulo pequeño, y la dirección solo puede (y debe) cambiar lentamente.

Sin embargo, no hay forma de controlar la velocidad en ningún modelo físico realista.
@Ludo: No estoy seguro de lo que quieres decir con esto. ¿Sabes que los aviones, los coches, etc. controlan la velocidad, verdad? Seguramente, no es perfecto, pero esta es una cuestión de teoría/ingeniería de control, no un problema de física pura.
Me refiero a que un modelo de sistema donde v = tu , es decir, donde la velocidad se impone directamente, no tiene sentido como modelo. Los automóviles y aviones controlan la aceleración para lograr la velocidad deseada. Sin embargo, ahora me doy cuenta de que podría querer decir "control" como la variable de estado controlada, donde me refiero a "control" como la entrada de control.

Como tal, me preguntaba si hay una manera de rastrear con precisión tanto la posición como la velocidad para el ascenso del vehículo de lanzamiento a la órbita. ¿Cómo se lograría el seguimiento de múltiples objetivos de referencia durante un evento de lanzamiento real?

No puedes. La posición y la velocidad son variables dependientes (la velocidad es, por definición, la derivada temporal de la posición), por lo que controlar una afectará a la otra y viceversa (ver la respuesta de Mefitico ).

Como ejercicio teórico, podrías parametrizar la trayectoria para obtener la velocidad en función de la posición como sugiere Mefitico, pero este enfoque no tiene ningún sentido físico: los sistemas físicos te permiten aplicar una fuerza, produciendo una aceleración (cualquier cosa que se comporte como un masa, a = 1 metro F ), o desplazarlo produciendo una fuerza (cosas parecidas a resortes, F = k X ).

Así que te sugiero que primero modeles tu cohete como una masa puntual con un propulsor omnidireccional y veas si puedes seguir tu trayectoria. Luego refina gradualmente tu modelo a partir de ahí.

Para ser claros: no estoy sugiriendo que debería crear un sistema donde el comportamiento físico de la velocidad sea una función de la posición, sino más bien, como es una cuestión de sistemas de control, que descarte controlar la posición e intente controlar la velocidad. solo, pero luego use una velocidad de referencia que debe calcularse a bordo en función de la posición, de acuerdo con el perfil pregenerado que creó.