Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

Warm Start

  • También llamado: warm starting
  • Categoría: Planning & manipulation › Trajectory optimisation
  • Etiquetas: optimization, model-predictive-control, trajectory-optimization, numerical-methods, real-time

Inicializar un solucionador iterativo con una buena estimación, a menudo una solución previa o relacionada, en lugar de empezar desde cero, para reducir el tiempo de resolución y orientarlo hacia un óptimo local útil.

Definición

Un arranque en caliente (warm start) inicializa un optimizador iterativo o un solucionador numérico con información procedente de un problema relacionado, en lugar de hacerlo desde un punto de partida por defecto o arbitrario, lo que se denomina arranque en frío. La información puede ser las variables primales (las propias variables de decisión, como una trayectoria), las variables duales o multiplicadores de Lagrange, el conjunto activo de restricciones de desigualdad o aproximaciones como un hessiano cuasi-Newton. Como los problemas no lineales de robótica suelen tener muchos óptimos locales, el punto de partida afecta no solo a la rapidez con la que converge un solucionador, sino también a qué solución encuentra.

El control predictivo basado en modelo es el uso más común. En cada ciclo de control, el controlador resuelve una optimización sobre un horizonte que se solapa casi por completo con el anterior, de modo que la solución previa, desplazada un paso de tiempo hacia delante y con el último paso extendido, ya está cerca del nuevo óptimo. Arrancar en caliente de este modo reduce a menudo el solucionador a unas pocas iteraciones por ciclo, y el esquema de iteración en tiempo real de Diehl y sus colaboradores va más allá al realizar una sola iteración de programación cuadrática secuencial por ciclo. Los controladores basados en muestreo, como MPPI y el método de entropía cruzada, arrancan en caliente reutilizando la secuencia de control media anterior.

Cuánto ayuda un arranque en caliente depende del solucionador. Los métodos de conjunto activo, como el de qpOASES, y los métodos de primer orden, como el solucionador ADMM OSQP, se benefician mucho, porque una estimación primal y dual cercana o un conjunto activo correcto les permite terminar rápidamente. Los métodos de punto interior son más difíciles de arrancar en caliente, porque necesitan iterados estrictamente dentro de la región factible y alejados de los límites de las restricciones, donde suelen encontrarse las soluciones previas. En la optimización de trayectorias fuera de línea, un arranque en caliente puede provenir de un modelo más sencillo, de una discretización más gruesa, de una versión relajada del problema, de una biblioteca de soluciones almacenadas o de una red neuronal entrenada para predecir buenas estimaciones iniciales. Los motores de física, de forma similar, arrancan en caliente los solucionadores iterativos de contacto con los impulsos del paso anterior. En aprendizaje automático, el término también se usa para iniciar el entrenamiento a partir de un modelo entrenado previamente.

Por qué importa

Los controladores en tiempo real basados en optimización funcionan a frecuencias de decenas a miles de hercios, y por lo general solo alcanzan esas frecuencias porque cada resolución empieza cerca de su respuesta. En la planificación fuera de línea, un buen arranque en caliente suele marcar la diferencia entre un solucionador que converge a un movimiento sensato y uno que falla o encuentra un mal mínimo local.

Aplicaciones clave

  • Control predictivo basado en modelo en tiempo real en robots con patas, drones y manipuladores
  • Optimización de trayectorias con contacto implícito y no lineal
  • Secuencias de programas cuadráticos relacionados en el control de cuerpo completo
  • Solucionadores iterativos de contacto en motores de física
  • Estimaciones iniciales aprendidas para una planificación de movimiento rápida

En la práctica

Un robot con patas ejecuta un MPC no lineal a 100 Hz. Tras cada resolución, el controlador almacena las trayectorias óptimas de estado y de entrada y los multiplicadores. En el ciclo siguiente las desplaza un paso, copia el último paso para rellenar el final del horizonte, sustituye el primer estado por el estado recién medido y pasa el resultado al solucionador como estimación inicial. Las resoluciones típicas pasan entonces a requerir dos o tres iteraciones en lugar de veinte. Los ingenieros también gestionan los casos en que el arranque en caliente falla: tras un empujón fuerte o un cambio de marcha, la estimación desplazada está lejos del nuevo óptimo, así que el controlador recurre a una trayectoria nominal almacenada para esa marcha y permite más iteraciones en ese ciclo.

Ideas erróneas comunes

  • Un arranque en caliente solo acelera las cosas — en problemas no convexos también decide qué óptimo local se encuentra, por lo que un mal arranque en caliente puede atrapar al solucionador en una mala solución
  • Cualquier solucionador se beneficia por igual — los métodos de conjunto activo y de primer orden son los que más ganan; los métodos de punto interior ganan menos y pueden necesitar un tratamiento especial
  • Un arranque en caliente solo necesita las variables de decisión anteriores — proporcionar también las variables duales o el conjunto activo suele importar tanto como ellas para una convergencia rápida
  • La solución anterior siempre es una buena estimación — tras grandes perturbaciones, cambios de modo o cambios de objetivo puede estar lejos del nuevo óptimo y necesita un recurso de respaldo

Quién debería saberlo

  • Ingenieros de control predictivo basado en modelo
  • Desarrolladores de optimización de trayectorias
  • Ingenieros de locomoción con patas y de control de drones
  • Profesionales de la optimización numérica en robótica

Tecnologías relacionadas

  • OSQP
  • qpOASES
  • IPOPT
  • acados
  • CasADi
  • Esquema de iteración en tiempo real (Real-Time Iteration Scheme)

Términos relacionados

  • Model Predictive Control
  • Direct Collocation
  • Differential dynamic programming
  • Trajectory Planning
  • Model Predictive Path Integral
  • Complementarity Constraint

Proyectos relacionados

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • Dora AI: Dataflow middleware for AI robotics applications, built in Rust
  • GTSAM: Factor-graph optimization library powering many modern SLAM backends

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.