Contents — find the section you need

El Control Predictivo Basado en Modelo (MPC) predice la acción de una orden actual en los pasos siguientes, selecciona una secuencia de órdenes que equilibra de forma óptima el seguimiento y el esfuerzo, cumpliendo con las restricciones, aplica solo la primera orden y, a continuación, realiza mediciones y optimiza el proceso. Este bucle de horizonte deslizante resulta valioso cuando las entradas tienen límites, las variables de estado tienen límites de seguridad, las entradas interactúan entre sí o la curvatura y el retardo futuros son relevantes. Se utiliza en diversos ámbitos, desde plantas de proceso hasta vehículos, sistemas de movimiento robótico y sistemas energéticos.

El MPC no sustituye universalmente al PID. Un optimizador predictivo con una estimación de estado tardía, un modelo erróneo, un problema inviable o un plazo incumplido no se vuelve seguro simplemente porque sus restricciones matemáticas parezcan completas. Muchas arquitecturas robustas conservan bucles PID rápidos de corriente/velocidad bajo el MPC para la coordinación de trayectorias, energía, térmica o multivariable. Consulta ROS 2 Primer para conocer el límite de ejecución y Visual SLAM Primer para comprender las suposiciones de temporización y localización que alimentan un controlador de robot móvil.

Conclusión práctica

  • Construye el horizonte N a partir del estado x y la entrada u, e incorpora restricciones de entrada, velocidad de entrada, estado y seguridad en la optimización, en lugar de recortar un comando sin restricciones posteriormente.

  • Especifica qué sucede cuando el solucionador se retrasa, es numérico o inviable antes de la implementación. El límite de tiempo, la reserva y el comportamiento de parada independiente forman parte del controlador.

  • Comienza con el modelo más pequeño que prediga la escala de tiempo relevante. Un modelo más grande puede empeorar el tiempo de ejecución, el error de identificación y el mantenimiento sin mejorar las decisiones.

  • Ajuste el horizonte y los pesos a partir de prioridades operativas explícitas: margen de seguridad, seguimiento, energía, desgaste, comodidad y cálculo, no aumentando indiscriminadamente el peso de seguimiento.

Intuición: decidir frenar antes de la curva

Un controlador de retroalimentación simple puede girar un vehículo tras detectar un error lateral. El MPC puede considerar la curva, la velocidad, el rango de dirección, los límites de los neumáticos, la aceleración y la distancia al obstáculo. Evalúa secuencias de dirección y aceleración candidatas, elige una que se mantenga dentro de la región factible, ejecuta solo el primer movimiento y luego descarta la predicción anterior cuando llega una nueva medición. Por lo tanto, el MPC no es un adivino. Es un control de retroalimentación que prueba repetidamente hipótesis efímeras sobre el futuro.

Flujo de señales y horizonte deslizante

Diagram 1 · Use the button to switch views
MPC: reference, model, constraints and estimated state feed optimization; apply the first move and observe again.
La referencia, el modelo, las restricciones y el estado estimado entran al optimizador por separado. La ruta punteada devuelve nuevas observaciones para la siguiente resolución. Open figura a tamaño completo

Diagrama: Duskcoil, conceptual en lugar de medido. Una trayectoria predicha es una candidata basada en el modelo y debe actualizarse mediante la observación después de aplicar una acción.

Una formulación MPC lineal mínima

Para el modelo lineal discreto

x_{k+1}=Ax_k+Bu_k+Ew_k,\qquad y_k=Cx_k

x es el estado, u la entrada, w la perturbación y y la salida. En un horizonte de predicción N (para referencia r), un costo cuadrático común es:

J=\sum_{i=0}^{N-1}\left(\lVert x_{k+i}-x_{ref,k+i}\rVert_Q^2+\lVert u_{k+i}\rVert_R^2+\lVert\Delta u_{k+i}\rVert_S^2\right)+\lVert x_{k+N}-x_{ref,k+N}\rVert_P^2

donde \Delta u_k=u_k-u_{k-1} y Q,R,S,P expresan la importancia del seguimiento de estado, la magnitud del comando, el cambio abrupto y el comportamiento terminal. Estas son prioridades de ingeniería expresadas matemáticamente. Penalizar únicamente el error lateral, por ejemplo, puede producir una dirección violenta inaceptable para los pasajeros, los neumáticos o un actuador.

La diferencia esencial con un regulador sin restricciones radica en el conjunto factible explícito:

u_{min}\le u_{k+i}\le u_{max},\quad \Delta u_{min}\le\Delta u_{k+i}\le\Delta u_{max},\quad x_{min}\le x_{k+i}\le x_{max}

Los límites pueden representar la dirección, la corriente, la temperatura, el ángulo de la articulación, el estado de la batería, la presión o la distancia a los obstáculos. Las restricciones pueden entrar en conflicto. Mantenga un límite de colisión o de hardware inviolable como estricto; utilice una holgura no negativa \epsilon\ge0 solo para restricciones deliberadamente flexibles y penalícela, por ejemplo. \rho\lVert\epsilon\rVert^2. Registra cuándo se utilizó holgura: una restricción flexible es un compromiso declarado, no prueba de que la violación sea inofensiva.

Estimación, retardo y desajuste del modelo

El MPC predice a partir de x_k, pero este estado suele ser una estimación de fusión de sensores. Para un robot móvil que utiliza SLAM visual, la latencia de localización, los saltos de relocalización y los fotogramas inconsistentes corrompen el estado inicial de cada optimización; consulta Visual SLAM Primer. Resolver un problema perfecto con un estado antiguo y una nueva referencia genera un comando físicamente tardío.

El desajuste incluye fricción, carga útil, viento, deslizamiento de neumáticos, capacidad térmica variable y flexión no modelada. Las respuestas incluyen aumento del estado de perturbación o acción integral, actualizaciones de parámetros en línea, múltiples modelos, márgenes de MPC robustos/de tubo y un bucle interno estabilizado rápido. Ninguna reemplaza el comportamiento de parada independiente cuando el desajuste está fuera del rango de diseño.

Ajuste del horizonte y ponderaciones

Seleccione el tiempo de muestreo T_s y el horizonte N de modo que NT_s cubra el retardo relevante, la distancia de frenado, el transitorio dominante y la curvatura de la ruta, pero no tanto como para que el tiempo de ejecución y el error del modelo a largo plazo sean dominantes. Un horizonte de control más corto puede mantener constantes las entradas posteriores y reducir las variables de decisión.

Ajuste en este orden: fije las unidades y los límites de seguridad estrictos; seleccione las ponderaciones de seguimiento Q para la tarea operativa; aumente R y S para gestionar la energía, el desgaste y la suavidad; luego mida el tiempo de resolución en el peor de los casos y la inviabilidad bajo ruido, carga, latencia y perturbaciones. Pruebe tanto un horizonte corto N como uno largo antes de seleccionar el punto de operación. Aumentar Q hasta que el sistema parezca rápido puede hacer que el optimizador se mantenga en los límites de las restricciones estrictas, dejando poco margen incluso cuando se cumplen las restricciones.

Observación Causa plausible Inspeccionar primero Acción típica
Al final de una curva horizonte demasiado corto; retardo de estado trayectoria prevista vs. medida, marcas de tiempo ajustar horizonte, plan de velocidad, gestión de retardos
Comandos irregulares S bajo; estimación ruidosa \Delta u y traza del sensor aumentar la penalización por movimiento; mejorar el estimador/filtro
Holgura/límites frecuentes desajuste; sin margen holgura, restricciones activas, perturbación añadir margen, modelo de perturbación, referencia más suave
Sin solución restricciones conflictivas estado del solucionador y conjunto activo definir política inviable; suavizar solo los límites permitidos
Incumplimiento de plazos Problema demasiado grande/variable Tiempo de resolución en el peor de los casos Reducir modelo/horizonte; configurar solucionador

Relación con PID y seguridad

Un bucle MPC podría funcionar a 10-100 Hz para emitir referencias de velocidad, actitud o trayectoria, mientras que los controladores de motor o los bucles PID ros2_control cierran la corriente, la velocidad o la posición a una frecuencia mayor. El MPC debe conocer las capacidades reales del bucle interno: saturación, retardo, tiempo de espera y límites de seguimiento. Si el optimizador se retrasa o no es factible, el bucle inferior necesita una referencia segura definida, como velocidad cero, desaceleración controlada o retención.

Las protecciones de seguridad deben ser independientes del optimizador: parada de emergencia, detección de colisiones, límites de recorrido estrictos, protección contra sobrecorriente/sobretemperatura, monitorización de velocidad y mecanismos de vigilancia de la comunicación. Defina una respuesta para una resolución faltante, un error numérico, un estado obsoleto, una referencia no válida y un fallo del estimador. La factibilidad en el modelo de optimización no es lo mismo que la seguridad en el mundo real.

Software, productos y ejemplos de investigación actuales

La computación multipropósito (MPC) se ha extendido desde las industrias de procesos continuos a los vehículos, la robótica y la gestión energética. Una implementación desplegada incluye un solucionador, identificación de modelos, estimación de estado, monitorización y gestión de plazos, no solo una función de coste. OSQP publica un solucionador de programación cuadrática convexa de código abierto y material orientado a MPC. La descripción general de MPC de MathWorks describe la estructura de predicción, restricciones y optimización repetida. Son referencias de implementación primarias, no recomendaciones de productos.

En el ámbito de la robótica, ros2_control gestiona las interfaces de hardware, los ciclos de vida de los controladores, las actualizaciones asíncronas y el encadenamiento de controladores. Integrar un nodo MPC en ROS 2 no garantiza por sí solo la planificación en tiempo real, la alineación de marcas de tiempo de estado/referencia ni un bucle inferior independiente y seguro. La investigación actual incluye MPC no lineal, dinámica aprendida, MPC robusto a la distribución y optimización conjunta de percepción y planificación; el tiempo de ejecución, la explicabilidad, la incertidumbre y la garantía de seguridad siguen siendo limitaciones prácticas.

Lista de verificación de implementación

  1. Defina las unidades, los marcos, las tasas de actualización, la latencia, la frescura, el horizonte N y el peso de movimiento S para el estado, la entrada, la perturbación y la referencia.

  2. Separe las restricciones físicas estrictas de las operacionales deliberadamente flexibles.

  3. Pruebe el tiempo de resolución en el peor de los casos, el tiempo de espera, la inviabilidad y la reserva ante fallos numéricos.

  4. Registre las predicciones, las mediciones, la secuencia de entrada, las restricciones activas, la holgura y el estado del solucionador en un solo reloj.

  5. Inyecte desajustes, perturbaciones, deslizamientos, retardo/pérdida de sensores y pérdida de comunicación.

  6. Asegúrese de que el MPC comprenda la saturación del bucle interno y que la protección de parada independiente funcione si falla el MPC, ROS 2 o la estimación.

Casos límite para probar primero en simulación

El control predictivo basado en modelos (MPC) puede generar trayectorias atractivas en simulación, por lo que las condiciones normales por sí solas pueden ocultar suposiciones peligrosas. Automatice los cambios abruptos de referencia, los cambios de fricción y carga útil, la saturación del actuador, las mediciones retrasadas o faltantes y los plazos de ejecución del solucionador intencionalmente cortos. Registre qué restricción se activó, cuántos ciclos tardó en entrar en una situación de seguridad y qué señal justificó la decisión. Pase al hardware a baja velocidad y con una salida con margen amplio, y supervise los residuos, el tiempo de saturación, la holgura y la distancia de parada en lugar de solo el indicador de éxito del solucionador.

Compruebe su comprensión
¿Se ha ejecutado toda la secuencia de entrada optimizada?

Normalmente, solo se aplica la primera entrada; luego, el problema se resuelve de nuevo utilizando nuevas observaciones.

Esto incorpora desviaciones de la predicción. ## Referencias - [OSQP](https://osqp.org/) - [MathWorks: Control Predictivo de Modelos](https://www.mathworks.com/discovery/model-predictive-control.html) - [Documentación de Control de ROS 2](https://control.ros.org/master/doc/ros2_control/doc/index.html) - [Introducción a ROS 2](/es/blog/posts/robotics-ros2.html), [Introducción a Visual SLAM](/es/blog/posts/robotics-visual-slam.html)

Related reading

Explore another aspect of this fieldLab de MPC: volver a resolver una secuencia de curvatura dentro del horizonte y los límites de direcciónExplore another aspect of this fieldLab de comparación de seguimiento de trayectoria: ejecute PP, APP, RPP, Stanley y MPC en las mismas condicionesExplore another aspect of this fieldLab de Pure Pursuit: comparar el seguimiento de trayectoria con lookahead fijo