La optimización de trayectoria es el proceso de diseñar una trayectoria que minimice (o maximice) alguna medida de desempeño mientras satisface un conjunto de restricciones. En términos generales, la optimización de trayectoria es una técnica para calcular una solución en bucle abierto a un problema de control óptimo . A menudo se utiliza para sistemas en los que no es necesario calcular la solución de circuito cerrado completo, o es poco práctico o imposible. Si un problema de optimización de trayectoria se puede resolver a una velocidad dada por la inversa de la constante de Lipschitz , entonces se puede utilizar de forma iterativa para generar una solución de bucle cerrado en el sentido de Caratheodory . Si solo se ejecuta el primer paso de la trayectoria para un problema de horizonte infinito, esto se conoce como Control Predictivo del Modelo (MPC) .
Aunque la idea de optimización de trayectoria existe desde hace cientos de años ( cálculo de variaciones , problema de braquistocrona ), sólo se volvió práctica para problemas del mundo real con la llegada de la computadora. Muchas de las aplicaciones originales de la optimización de trayectorias se produjeron en la industria aeroespacial, en la computación de trayectorias de lanzamiento de cohetes y misiles. Más recientemente, la optimización de trayectoria también se ha utilizado en una amplia variedad de aplicaciones de robótica y procesos industriales. [1]
La optimización de la trayectoria apareció por primera vez en 1697, con la introducción del problema de la braquistocrona: encontrar la forma de un alambre tal que una cuenta que se desliza a lo largo de él se mueva entre dos puntos en el mínimo tiempo. [2] Lo interesante de este problema es que se optimiza sobre una curva (la forma del cable), en lugar de un solo número. La más famosa de las soluciones se calculó mediante cálculo de variaciones .
En la década de 1950, la computadora digital comenzó a hacer práctica la optimización de trayectorias para resolver problemas del mundo real. Los primeros enfoques de control óptimo surgieron del cálculo de variaciones , basado en la investigación de Gilbert Ames Bliss y Bryson [3] en Estados Unidos, y Pontryagin [4] en Rusia. Cabe destacar el principio máximo de Pontryagin . Estos primeros investigadores crearon la base de lo que ahora llamamos métodos indirectos para la optimización de trayectorias.
Gran parte de los primeros trabajos sobre optimización de trayectorias se centraron en calcular los perfiles de empuje de los cohetes, tanto en el vacío como en la atmósfera. Esta primera investigación descubrió muchos principios básicos que todavía se utilizan en la actualidad. Otra aplicación exitosa fue el ascenso a trayectorias de altitud para los primeros aviones a reacción. Debido a la alta resistencia asociada con la región de resistencia transónica y el bajo empuje de los primeros aviones a reacción, la optimización de la trayectoria fue la clave para maximizar el rendimiento del ascenso a la altitud. Las trayectorias basadas en un control óptimo fueron responsables de algunos de los récords mundiales. En estas situaciones, el piloto siguió un programa de Mach versus altitud basado en soluciones de control óptimas.
Uno de los primeros problemas importantes en la optimización de trayectorias fue el del arco singular , donde el principio máximo de Pontryagin no logra producir una solución completa. Un ejemplo de problema de control singular es la optimización del empuje de un misil que vuela a una altitud constante y que se lanza a baja velocidad. Aquí el problema es el de un control bang-bang al máximo empuje posible hasta alcanzar el arco singular. Entonces la solución al control singular proporciona un empuje variable menor hasta el agotamiento. En ese punto el control bang-bang hace que el control o empuje llegue a su valor mínimo de cero. Esta solución es la base del perfil de motor de cohete de propulsión y sustentación ampliamente utilizado hoy en día para maximizar el rendimiento de los misiles.
Existe una amplia variedad de aplicaciones para la optimización de trayectorias, principalmente en robótica: industria, manipulación, caminata, planificación de trayectorias y aeroespacial. También se puede utilizar para modelado y estimación.
Dependiendo de la configuración, los manipuladores robóticos de cadena abierta requieren cierto grado de optimización de la trayectoria. Por ejemplo, un brazo robótico con 7 articulaciones y 7 enlaces (7-DOF) es un sistema redundante donde una posición cartesiana de un efector final puede corresponder a un número infinito de posiciones de ángulo de articulación, por lo que esta redundancia se puede utilizar para optimizar un trayectoria para, por ejemplo, evitar cualquier obstáculo en el espacio de trabajo o minimizar el torque en las articulaciones. [5]
La optimización de trayectoria se utiliza a menudo para calcular trayectorias de helicópteros cuadrotor . Estas aplicaciones normalmente utilizaban algoritmos altamente especializados. [6] [7] Una aplicación interesante mostrada por el laboratorio GRASP de la Universidad de Pensilvania es calcular una trayectoria que permite a un cuadrotor volar a través de un aro mientras se lanza. Otro, esta vez en el ETH Zurich Flying Machine Arena, involucra dos quadrotores que lanzan un poste de un lado a otro, balanceándolo como un péndulo invertido. También se ha estudiado recientemente el problema de calcular trayectorias de energía mínima para un cuadricóptero. [8]
La optimización de trayectoria se utiliza en la fabricación, particularmente para controlar procesos químicos [9] o calcular la ruta deseada para manipuladores robóticos. [10]
Existe una variedad de aplicaciones diferentes para la optimización de trayectorias dentro del campo de la robótica andante. Por ejemplo, un artículo utilizó la optimización de la trayectoria de la marcha bípeda en un modelo simple para demostrar que caminar es energéticamente favorable para moverse a baja velocidad y correr es energéticamente favorable para moverse a alta velocidad. [11] Como en muchas otras aplicaciones, la optimización de trayectoria se puede utilizar para calcular una trayectoria nominal, alrededor de la cual se construye un controlador estabilizador. [12] La optimización de la trayectoria se puede aplicar en robots humanoides complejos con planificación detallada del movimiento, como Atlas . [13] Finalmente, la optimización de trayectoria se puede utilizar para la planificación de rutas de robots con restricciones dinámicas complicadas, utilizando modelos de complejidad reducida. [14]
Para los misiles tácticos , los perfiles de vuelo están determinados por los historiales de empuje y sustentación . Estos historiales pueden controlarse mediante diversos medios, incluidas técnicas como el uso de un historial de comando de ángulo de ataque o un programa de altitud/rango descendente que debe seguir el misil. Cada combinación de factores de diseño de misiles, rendimiento deseado del misil y limitaciones del sistema da como resultado un nuevo conjunto de parámetros de control óptimos. [15]
Las técnicas para cualquier problema de optimización se pueden dividir en dos categorías: indirectas y directas. Un método indirecto funciona construyendo analíticamente las condiciones necesarias y suficientes para la optimización, que luego se resuelven numéricamente. Un método directo intenta una solución numérica directa mediante la construcción de una secuencia de aproximaciones que mejoran continuamente hacia la solución óptima. [dieciséis]
El problema de control óptimo es un problema de optimización de dimensión infinita, ya que las variables de decisión son funciones, en lugar de números reales. Todas las técnicas de solución realizan transcripción, un proceso mediante el cual el problema de optimización de trayectoria (optimización sobre funciones) se convierte en un problema de optimización de parámetros restringidos (optimización sobre números reales). Generalmente, este problema de optimización de parámetros restringidos es un programa no lineal, aunque en casos especiales puede reducirse a un programa cuadrático o programa lineal .
El disparo único es el tipo más simple de técnica de optimización de trayectoria. La idea básica es similar a cómo apuntarías con un cañón: elige un conjunto de parámetros para la trayectoria, simula todo y luego comprueba si has dado en el blanco. La trayectoria completa se representa como un solo segmento, con una única restricción, conocida como restricción de defecto, que requiere que el estado final de la simulación coincida con el estado final deseado del sistema. El disparo único es eficaz para problemas que son simples o que tienen una inicialización extremadamente buena. Tanto la formulación indirecta como la directa tienden a tener dificultades en caso contrario. [16] [19] [20]
El disparo múltiple es una extensión simple del disparo único que lo hace mucho más efectivo. En lugar de representar la trayectoria completa como una única simulación (segmento), el algoritmo divide la trayectoria en muchos segmentos más cortos y se agrega una restricción de defecto entre cada uno. El resultado es un programa grande, disperso y no lineal, que tiende a ser más fácil de resolver que los programas pequeños y densos producidos mediante un solo disparo. [19] [20]
Los métodos de colocación directa funcionan aproximando el estado y controlando las trayectorias mediante splines polinomiales . Estos métodos a veces se denominan transcripción directa. La colocación trapezoidal es un método de colocación directa de bajo orden comúnmente utilizado. La dinámica, el objetivo de la ruta y el control se representan mediante splines lineales, y la dinámica se satisface mediante cuadratura trapezoidal . La colocación de Hermite-Simpson es un método común de colocación directa de orden medio. El estado está representado por una spline cúbica de Hermite y la dinámica se satisface utilizando la cuadratura de Simpson . [16] [20]
La colocación ortogonal es técnicamente un subconjunto de la colocación directa, pero los detalles de implementación son tan diferentes que razonablemente puede considerarse como su propio conjunto de métodos. La colocación ortogonal se diferencia de la colocación directa en que normalmente utiliza splines de alto orden y cada segmento de la trayectoria puede representarse mediante una spline de orden diferente. El nombre proviene del uso de polinomios ortogonales en los splines de estado y control. [20] [21]
En la discretización pseudoespectral, toda la trayectoria está representada por una colección de funciones básicas en el dominio del tiempo (variable independiente). Las funciones base no necesitan ser polinomios. La discretización pseudoespectral también se conoce como colocación espectral. [22] [23] [24] Cuando se utiliza para resolver un problema de optimización de trayectoria cuya solución es suave, un método pseudoespectral logrará una convergencia espectral (exponencial). [25] Si la trayectoria no es suave, la convergencia sigue siendo muy rápida, más rápida que los métodos de Runge-Kutta. [26] [27]
En 1990, Dewey H. Hodges y Robert R. Bless [28] propusieron un método hamiltoniano débil de elementos finitos para problemas de control óptimo. La idea era derivar una forma variacional débil de las condiciones necesarias de primer orden para la optimización, discretizar el dominio del tiempo en intervalos finitos y utilizar una representación polinómica simple de orden cero de estados, controles y adjuntos en cada intervalo.
La programación dinámica diferencial es un poco diferente a las otras técnicas descritas aquí. En particular, no separa claramente la transcripción y la optimización. En cambio, realiza una secuencia de pases iterativos hacia adelante y hacia atrás a lo largo de la trayectoria. Cada paso hacia adelante satisface la dinámica del sistema y cada paso hacia atrás satisface las condiciones óptimas para el control. Finalmente, esta iteración converge a una trayectoria que es a la vez factible y óptima. [29]
Hay muchas técnicas para elegir al resolver un problema de optimización de trayectoria. No existe un mejor método, pero algunos métodos podrían funcionar mejor en problemas específicos. Esta sección proporciona una comprensión aproximada de las compensaciones entre métodos.
Al resolver un problema de optimización de trayectoria con un método indirecto, se deben construir explícitamente las ecuaciones adjuntas y sus gradientes. Esto suele ser difícil de hacer, pero proporciona una métrica de precisión excelente para la solución. Los métodos directos son mucho más fáciles de configurar y resolver, pero no tienen una métrica de precisión incorporada. [16] Como resultado, los métodos directos se utilizan más ampliamente, especialmente en aplicaciones no críticas. Los métodos indirectos todavía tienen cabida en aplicaciones especializadas, particularmente aeroespaciales, donde la precisión es fundamental.
Un lugar donde los métodos indirectos tienen dificultades particulares es en los problemas con restricciones de desigualdad de trayectorias. Estos problemas tienden a tener soluciones para las cuales la restricción es parcialmente activa. Al construir las ecuaciones adjuntas para un método indirecto, el usuario debe escribir explícitamente cuándo la restricción está activa en la solución, lo cual es difícil de saber a priori. Una solución es utilizar un método directo para calcular una estimación inicial, que luego se utiliza para construir un problema de múltiples fases donde se prescribe la restricción. El problema resultante puede entonces resolverse con precisión utilizando un método indirecto. [dieciséis]
Los métodos de disparo único se utilizan mejor para problemas en los que el control es muy simple (o hay una suposición inicial extremadamente buena). Por ejemplo, un problema de planificación de una misión satelital donde el único control es la magnitud y dirección de un impulso inicial de los motores. [19]
Los disparos múltiples tienden a ser buenos para problemas con controles relativamente simples, pero dinámicas complicadas. Aunque se pueden utilizar restricciones de ruta, hacen que el programa no lineal resultante sea relativamente difícil de resolver.
Los métodos de colocación directa son buenos para problemas donde la precisión del control y el estado son similares. Estos métodos tienden a ser menos precisos que otros (debido a su bajo orden), pero son particularmente sólidos para problemas con restricciones de ruta difíciles.
Los métodos de colocación ortogonal son mejores para obtener soluciones de alta precisión para problemas donde la precisión de la trayectoria de control es importante. Algunas implementaciones tienen problemas con las restricciones de ruta. Estos métodos son particularmente buenos cuando la solución es suave.
{{cite book}}
: Mantenimiento CS1: varios nombres: lista de autores ( enlace )