stringtranslate.com

Optimización de trayectoria

La optimización de trayectoria es el proceso de diseñar una trayectoria que minimice (o maximice) alguna medida de rendimiento mientras satisface un conjunto de restricciones. En términos generales, la optimización de trayectoria es una técnica para calcular una solución de bucle abierto para un problema de control óptimo . A menudo se utiliza para sistemas en los que no se requiere, no es práctico o es imposible calcular la solución de bucle cerrado completa. Si un problema de optimización de trayectoria se puede resolver a una tasa dada por la inversa de la constante de Lipschitz , entonces se puede usar 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 de modelos (MPC) .

Aunque la idea de la optimización de trayectorias existe desde hace cientos de años ( cálculo de variaciones , problema de la braquistócrona ), recién 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 dieron en la industria aeroespacial, para calcular trayectorias de lanzamiento de cohetes y misiles. Más recientemente, la optimización de trayectorias también se ha utilizado en una amplia variedad de aplicaciones de procesos industriales y robótica. [1]

Historia

La optimización de trayectorias apareció por primera vez en 1697, con la introducción del problema de la braquistócrona: encontrar la forma de un alambre de modo que una cuenta que se deslice por é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 alambre), en lugar de sobre un único número. La más famosa de las soluciones se calculó utilizando el cálculo de variaciones .

En la década de 1950, la computadora digital comenzó a hacer que la optimización de trayectorias fuera práctica 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. El principio máximo de Pontryagin es de particular importancia. Estos primeros investigadores crearon las bases de lo que ahora llamamos métodos indirectos para la optimización de trayectorias.

Gran parte de los primeros trabajos en optimización de trayectorias se centraron en calcular perfiles de empuje de cohetes, tanto en el vacío como en la atmósfera. Estas primeras investigaciones descubrieron muchos principios básicos que todavía se utilizan en la actualidad. Otra aplicación exitosa fueron las trayectorias de ascenso a la altitud para los primeros aviones a reacción. Debido a la alta resistencia asociada con la región de resistencia transónica y al bajo empuje de los primeros aviones a reacción, la optimización de trayectorias fue la clave para maximizar el rendimiento de ascenso a la altitud. Las trayectorias basadas en 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 de máximo de Pontryagin no logra producir una solución completa. Un ejemplo de un problema con 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 uno de un control bang-bang con el máximo empuje posible hasta que se alcanza el arco singular. Luego, la solución al control singular proporciona un empuje variable menor hasta que se quema. En ese punto, el control bang-bang hace que el control o el empuje lleguen a su valor mínimo de cero. Esta solución es la base del perfil de motor de cohete de impulso-sostenimiento ampliamente utilizado hoy en día para maximizar el rendimiento de los misiles.

Aplicaciones

La optimización de trayectorias tiene una amplia variedad de aplicaciones, principalmente en robótica: industria, manipulación, marcha, planificación de rutas y aeroespacial. También se puede utilizar para modelado y estimación.

Manipuladores robóticos

Dependiendo de la configuración, los manipuladores robóticos de cadena abierta requieren un 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 ángulos de articulación, por lo que esta redundancia se puede utilizar para optimizar una trayectoria para, por ejemplo, evitar obstáculos en el espacio de trabajo o minimizar el torque en las articulaciones. [5]

Helicópteros cuadricópteros

La optimización de trayectorias se utiliza a menudo para calcular trayectorias de helicópteros cuadricópteros . Estas aplicaciones suelen utilizar algoritmos altamente especializados. [6] [7] Una aplicación interesante mostrada por el Laboratorio GRASP de la Universidad de Pensilvania es el cálculo de una trayectoria que permite a un cuadricóptero volar a través de un aro mientras es lanzado. Otra, esta vez por el ETH Zurich Flying Machine Arena, implica que dos cuadricópteros se lancen un palo de un lado a otro entre ellos, con este equilibrado como un péndulo invertido. El problema de calcular trayectorias de energía mínima para un cuadricóptero también se ha estudiado recientemente. [8]

Fabricación

La optimización de trayectorias se utiliza en la fabricación, en particular para controlar procesos químicos [9] o calcular la trayectoria deseada para manipuladores robóticos. [10]

Robots que caminan

Existen diversas aplicaciones para la optimización de trayectorias dentro del campo de la robótica de la marcha. Por ejemplo, un artículo utilizó la optimización de trayectorias de marchas bípedas 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 trayectorias se puede utilizar para calcular una trayectoria nominal, alrededor de la cual se construye un controlador estabilizador. [12] La optimización de trayectorias se puede aplicar en la planificación detallada del movimiento de robots humanoides complejos, como Atlas . [13] Finalmente, la optimización de trayectorias se puede utilizar para la planificación de rutas de robots con restricciones dinámicas complicadas, utilizando modelos de complejidad reducida. [14]

Aeroespacial

En el caso de los misiles tácticos , los perfiles de vuelo están determinados por los historiales de empuje y sustentación . Estos historiales se pueden controlar mediante diversos medios, incluidas técnicas como el uso de un historial de comandos de ángulo de ataque o un programa de altitud/rango de ataque que el misil debe seguir. Cada combinación de factores de diseño de misiles, rendimiento deseado del misil y restricciones del sistema da como resultado un nuevo conjunto de parámetros de control óptimos. [15]

Terminología

Variables de decisión
El conjunto de incógnitas que se encontrarán mediante la optimización.
Problema de optimización de trayectoria
Un tipo especial de problema de optimización donde las variables de decisión son funciones, en lugar de números reales.
Optimización de parámetros
Cualquier problema de optimización donde las variables de decisión sean números reales.
Programa no lineal
Una clase de optimización de parámetros restringidos donde la función objetivo o las restricciones son no lineales.
Método indirecto
Un método indirecto para resolver un problema de optimización de trayectoria se desarrolla en tres pasos: 1) Construir analíticamente las condiciones necesarias y suficientes para la optimalidad, 2) Discretizar estas condiciones, construyendo un problema de optimización de parámetros restringidos, 3) Resolver ese problema de optimización. [16]
Método directo
Un método directo para resolver un problema de optimización de trayectoria consta de dos pasos: 1) Discretizar directamente el problema de optimización de trayectoria, convirtiéndolo en un problema de optimización de parámetros restringidos, 2) Resolver ese problema de optimización. [16]
Transcripción
Proceso mediante el cual un problema de optimización de trayectoria se convierte en un problema de optimización de parámetros. A esto a veces se lo denomina discretización. Los métodos de transcripción generalmente se dividen en dos categorías: métodos de disparo y métodos de colocación.
Método de disparo
Un método de transcripción que se basa en la simulación y que normalmente utiliza esquemas Runge-Kutta explícitos.
Método de colocación (Método simultáneo)
Un método de transcripción que se basa en la aproximación de funciones, generalmente utilizando esquemas de Runge-Kutta implícitos.
Método pseudoespectral (colocación global)
Un método de transcripción que representa toda la trayectoria como un único polinomio ortogonal de orden superior.
Malla (cuadrícula)
Después de la transcripción, la trayectoria anteriormente continua ahora está representada por un conjunto discreto de puntos, conocidos como puntos de malla o puntos de cuadrícula.
Refinamiento de malla
Proceso mediante el cual se mejora la malla de discretización resolviendo una secuencia de problemas de optimización de trayectorias. El refinamiento de la malla se realiza subdividiendo un segmento de trayectoria o aumentando el orden del polinomio que representa ese segmento. [17]
Problema de optimización de trayectoria multifase
La optimización de trayectorias en un sistema con dinámica híbrida se puede lograr planteándolo como un problema de optimización de trayectorias multifásicas. Esto se hace componiendo una secuencia de problemas de optimización de trayectorias estándar que están conectados mediante restricciones. [18]

Técnicas de optimización de trayectorias

Las técnicas para resolver 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 optimalidad, que luego se resuelven numéricamente. Un método directo intenta una solución numérica directa construyendo una secuencia de aproximaciones que mejoran continuamente hasta la solución óptima. [16]

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 una transcripción, un proceso por el cual el problema de optimización de trayectorias (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 un programa lineal .

Disparo único

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 un cañón: elige un conjunto de parámetros para la trayectoria, simula todo y luego verifica si aciertas. 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 efectivo 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 otros casos. [16] [19] [20]

Disparos múltiples

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 no lineal disperso y grande, que tiende a ser más fácil de resolver que los programas pequeños y densos producidos por el disparo único. [19] [20]

Colocación directa

Los métodos de colocación directa funcionan aproximando las trayectorias de estado y control 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 orden bajo 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 de colocación directa de orden medio común. El estado se representa mediante un spline cúbico-Hermite y la dinámica se satisface mediante cuadratura de Simpson . [16] [20]

Colocación ortogonal

La colocación ortogonal es técnicamente un subconjunto de la colocación directa, pero los detalles de implementación son tan diferentes que se puede considerar razonablemente como un conjunto propio de métodos. La colocación ortogonal difiere de la colocación directa en que normalmente utiliza splines de orden superior y cada segmento de la trayectoria puede estar representado por un spline de un orden diferente. El nombre proviene del uso de polinomios ortogonales en los splines de estado y control. [20] [21]

Discretización pseudoespectral

En la discretización pseudoespectral, la trayectoria completa está representada por una colección de funciones base 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]

Elementos finitos temporales

En 1990, Dewey H. Hodges y Robert R. Bless [28] propusieron un método de elementos finitos hamiltoniano débil para problemas de control óptimo. La idea era derivar una forma variacional débil de las condiciones necesarias de primer orden para la optimalidad, 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.

Programación dinámica diferencial

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 pasadas iterativas hacia adelante y hacia atrás a lo largo de la trayectoria. Cada pasada hacia adelante satisface la dinámica del sistema y cada pasada hacia atrás satisface las condiciones de optimalidad para el control. Finalmente, esta iteración converge a una trayectoria que es factible y óptima. [29]

Comparación de técnicas

Existen muchas técnicas entre las que elegir para resolver un problema de optimización de trayectorias. No existe un método ideal, pero algunos métodos pueden funcionar mejor en problemas específicos. Esta sección ofrece una comprensión aproximada de las ventajas y desventajas de los distintos métodos.

Métodos indirectos vs. directos

Al resolver un problema de optimización de trayectorias 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 excelente métrica de precisión 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 aún tienen un lugar en aplicaciones especializadas, particularmente aeroespaciales, donde la precisión es crítica.

Un lugar donde los métodos indirectos tienen particular dificultad es en los problemas con restricciones de desigualdad de trayectorias. Estos problemas tienden a tener soluciones para las cuales la restricción está 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. [16]

Disparos vs. colocación

Los métodos de disparo único son los más adecuados para problemas en los que el control es muy simple (o hay una estimación inicial extremadamente precisa). Por ejemplo, un problema de planificación de una misión satelital en el que el único control es la magnitud y la dirección de un impulso inicial de los motores. [19]

Los disparos múltiples suelen ser una buena opción para problemas con un control relativamente simple, pero con dinámicas complicadas. Aunque se pueden utilizar restricciones de trayectoria, estas hacen que el programa no lineal resultante sea relativamente difícil de resolver.

Los métodos de colocación directa son buenos para problemas en los que la precisión del control y el estado son similares. Estos métodos tienden a ser menos precisos que otros (debido a su orden bajo), pero son particularmente robustos para problemas con restricciones de ruta difíciles.

Los métodos de colocación ortogonal son los mejores para obtener soluciones de alta precisión para problemas en los que la precisión de la trayectoria de control es importante. Algunas implementaciones tienen problemas con las restricciones de trayectoria. Estos métodos son particularmente buenos cuando la solución es uniforme.

Véase también

Referencias

  1. ^ Qi Gong; Wei Kang; Bedrossian, NS; Fahroo, F.; Pooya Sekhavat; Bollino, K. (diciembre de 2007). "Control óptimo pseudoespectral para aplicaciones militares e industriales". 2007 46.ª Conferencia IEEE sobre decisiones y control . págs. 4128–4142. doi :10.1109/CDC.2007.4435052. ISBN . 978-1-4244-1497-0. Número de identificación del sujeto  2935682.
  2. ^ 300 años de control óptimo: desde la braquistócrona hasta el principio de máximo , Hector J. Sussmann y Jan C. Willems. Revista IEEE Control Systems, 1997.
  3. ^ Bryson, Ho, Control óptimo aplicado, Blaisdell Publishing Company, 1969, pág. 246.
  4. ^ LS Pontyragin, La teoría matemática de los procesos óptimos, Nueva York, Intersciences, 1962
  5. ^ Malik, Aryslan; Henderson, Troy; Prazenica, Richard (enero de 2021). "Generación de trayectorias para un sistema robótico multicuerpo utilizando la formulación del producto de exponenciales". Foro AIAA Scitech 2021 : 2016. doi : 10.2514/6.2021-2016. ISBN 978-1-62410-609-5.S2CID234251587  .​
  6. ^ Daniel Mellinger y Vijay Kumar, "Generación y control de trayectoria de ajuste mínimo para cuadricópteros", Conferencia internacional sobre robótica y automatización, IEEE 2011.
  7. ^ Markus Hehn y Raffaello D'Andrea, "Generación de trayectorias en tiempo real para cuadricópteros" IEEE Transactions on Robotics, 2015.
  8. ^ Fabio Morbidi, Roel Cano, David Lara, "Generación de trayectoria de energía mínima para un UAV cuadricóptero" en Proc. IEEE International Conference on Robotics and Automation, págs. 1492-1498, 2016.
  9. ^ John W. Eaton y James B. Rawlings. "Control predictivo de modelos de procesos químicos" Chemical Engineering Science, vol. 47, n.º 4, 1992.
  10. ^ T. Chettibi, H. Lehtihet, M. Haddad, S. Hanchi, "Planificación de trayectoria de coste mínimo para robots industriales", European Journal of Mechanics, 2004.
  11. ^ Manoj Srinivasan y Andy Ruina. "La optimización informática de un modelo bípedo mínimo permite descubrir la marcha y la carrera", Nature, 2006.
  12. ^ ER Westervelt, JW Grizzle y DE Koditschek. "Dinámica híbrida de ceros en caminantes bípedos planos" IEEE Transactions on Automatic Control, 2003.
  13. ^ Michael Posa, Scott Kuindersma y Russ Tedrake. "Optimización y estabilización de trayectorias para sistemas dinámicos restringidos". Conferencia internacional sobre robótica y automatización, IEEE 2016.
  14. ^ Hongkai Dai, Andres Valenzuela y Russ Tedrake. "Planificación del movimiento de cuerpo entero con dinámica centroidal y cinemática completa". Conferencia internacional sobre robots humanoides, IEEE 2014.
  15. ^ Phillips, CA, "Gestión energética de un misil de pulsos múltiples", AIAA Paper 88-0334, enero de 1988
  16. ^ abcdefg John T. Betts "Métodos prácticos para el control y estimación óptimos utilizando programación no lineal" SIAM Advances in Design and Control, 2010.
  17. ^ Christopher L. Darby, William W. Hager y Anil V. Rao. "Un método pseudoespectral adaptativo a la velocidad de la luz para resolver problemas de control óptimo". Aplicaciones y métodos de control óptimo, 2010.
  18. ^ Patterson, Michael A.; Rao, Anil V. (1 de octubre de 2014). "GPOPS-II: un software de MATLAB para resolver problemas de control óptimo de múltiples fases utilizando métodos de colocación en cuadratura gaussiana adaptativa hp y programación no lineal dispersa". ACM Trans. Math. Softw . 41 (1): 1:1–1:37. doi : 10.1145/2558904 . ISSN  0098-3500.
  19. ^ abc Encuesta de métodos numéricos para la optimización de trayectorias; John T. Betts Journal of Guidance, Control, and Dynamics 1998; 0731-5090 vol.21 no.2 (193-207)
  20. ^ abcd Anil V. Rao "Un estudio de métodos numéricos para el control óptimo" Avances en Ciencias Astronáuticas, 2009.
  21. ^ Camila C. Francolin, David A. Benson, William W. Hager, Anil V. Rao. "Estimación de costados en control óptimo utilizando métodos de colocación ortogonal en cuadratura gaussiana integral" Aplicaciones y métodos de control óptimo, 2014.
  22. ^ R., Malik, Mujeeb (1984). Un método de colocación espectral para las ecuaciones de Navier-Stokes . Administración Nacional de Aeronáutica y del Espacio, Centro de Investigación Langley. OCLC  11642811.{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace )
  23. ^ "Métodos espectrales y métodos pseudoespectrales", Métodos espectrales y sus aplicaciones , WORLD SCIENTIFIC, págs. 100-187, mayo de 1998, doi :10.1142/9789812816641_0004, ISBN 978-981-02-3333-4, consultado el 23 de abril de 2021
  24. ^ Gong, Qi. Control óptimo espectral y pseudoespectral sobre cuadrículas arbitrarias . OCLC  1185648645.
  25. ^ Lloyd N. Trefethen. "Teoría de la aproximación y práctica de la aproximación", SIAM 2013
  26. ^ Kang, Wei (noviembre de 2010). "Tasa de convergencia para el control óptimo pseudoespectral de Legendre de sistemas linealizables por retroalimentación". Journal of Control Theory and Applications . 8 (4): 391–405. doi :10.1007/s11768-010-9104-0. ISSN  1672-6340. S2CID  122945121.
  27. ^ Trefethen, Lloyd N. (Lloyd Nicholas) (enero de 2019). Teoría de la aproximación y práctica de la aproximación . ISBN 978-1-61197-594-9.OCLC 1119061092  .
  28. ^ DH Hodges y RR Bless, "Un método de elementos finitos hamiltoniano débil para problemas de control óptimo", Journal of Guidance, Control, and Dynamics, 1990. https://arc.aiaa.org/doi/10.2514/3.20616
  29. ^ David H. Jacobson, David Q. Mayne. "Programación dinámica diferencial", Elsevier, 1970.

Enlaces externos