Model Predictive Control Toolbox™ proporciona funciones, una app y bloques de Simulink® para diseñar y simular controladores mediante el control predictivo de modelos (MPC) lineal y no lineal. Esta toolbox permite especificar modelos de plantas y perturbaciones, horizontes, restricciones y pesos. Puede evaluar el rendimiento del controlador ejecutando simulaciones de bucle cerrado.
Puede ajustar el comportamiento del controlador variando sus pesos y restricciones en tiempo de ejecución. Esta toolbox proporciona solvers de optimización desplegables y también permite utilizar un solver personalizado. Para controlar una planta no lineal, puede implementar controladores MPC adaptativos, con planificación de ganancia y no lineales. Para aplicaciones con tasas de muestreo rápidas, la toolbox permite generar un controlador predictivo de modelos explícito a partir de un controlador normal o implementar una solución aproximada.
Para el prototipado rápido y la implementación de sistemas embebidos, incluido el despliegue de solvers de optimización, esta toolbox soporta la generación de código C y de texto estructurado IEC 61131-3.
Más información:
- Diseño de controladores predictivos de modelos
- Aplicaciones de conducción autónoma
- Controladores predictivos de modelos lineales
- Especificación de parámetros, estimación del estado y revisión del diseño de MPC
- Ajuste de parámetros y supervisión del rendimiento en tiempo de ejecución
- Implementación de controladores predictivos de modelos rápidos
White paper gratuito
Implementación de un controlador de crucero adaptativo con Simulink
Lea el white paperApp MPC Designer
Diseñe controladores MPC de manera interactiva definiendo un modelo de planta interno y ajustando los horizontes, los pesos y las restricciones. Valide el rendimiento del controlador mediante escenarios de simulación. Compare las respuestas de varios controladores MPC.
Diseño de MPC en Simulink
Modele y simule controladores MPC en Simulink usando el bloque MPC Controller y otros bloques proporcionados en esta toolbox. Recorte y linealice un modelo de Simulink para calcular un modelo de planta interno lineal invariable en el tiempo para su controlador MPC y obtenga los valores nominales de las entradas y salidas de la planta mediante Simulink Control Design™.
Diseño de MPC en MATLAB
Utilice funciones en la línea de comandos para diseñar controladores MPC. Defina un modelo de planta interno y ajuste los pesos, las restricciones y otros parámetros del controlador. Simule la respuesta del sistema de bucle cerrado para evaluar el rendimiento del controlador.
Bloques predefinidos
Utilice los bloques Adaptive Cruise Control System, Lane Keeping Assist System y Path Following Control System como punto de partida para su aplicación ADAS, y personalice el diseño según sea necesario. Genere código desde los bloques predefinidos para el despliegue en el vehículo.
Ejemplos de aplicaciones de referencia
Utilice los ejemplos de aplicaciones de referencia para seguir un flujo de trabajo destinado a diseñar y desplegar controladores MPC para sistemas de conducción autónoma. Los ejemplos de aplicaciones de referencia también muestran cómo se pueden modelar distintas partes del sistema con diferentes niveles de fidelidad.
MPC lineal
Diseñe un controlador MPC lineal especificando un modelo de planta interno como un sistema lineal invariable en el tiempo (LTI) creado con Control System Toolbox™, o bien linealizando un modelo de Simulink con Simulink Control Design. También puede importar un modelo creado a partir de datos medidos de entrada y salida mediante System Identification Toolbox™.
MPC adaptativo
Diseñe y simule controladores MPC adaptativos usando funciones en la línea de comandos y el bloque Adaptive MPC Controller. Actualice el modelo de planta en tiempo de ejecución y proporciónelo como entrada al controlador. Utilice un filtro de Kalman lineal variante en el tiempo (LTV) integrado con garantía de estabilidad asintótica para la estimación del estado en controladores predictivos de modelos adaptativos.
MPC con planificación de ganancia
Controle plantas no lineales en una amplia variedad de condiciones operativas con el bloque Multiple MPC Controllers. Diseñe un controlador MPC para cada punto operativo y cambie de controlador en tiempo de ejecución.
Especificación de parámetros, estimación del estado y revisión del diseño de MPC
Mejore de manera iterativa el diseño del controlador definiendo un modelo de planta interno, ajustando los parámetros del controlador y simulando la respuesta del sistema de bucle cerrado para evaluar el rendimiento del controlador. Revise el controlador para detectar posibles problemas de diseño.
Parámetros del controlador
Después de definir el modelo de planta interno, complete el diseño del controlador MPC especificando el tiempo de muestreo, los horizontes de predicción y control, los factores de escala, las restricciones de entrada y salida, y los pesos. Esta toolbox también es compatible con el suavizado de las restricciones, y con restricciones y pesos variantes en el tiempo.
Estimación del estado
Estime los estados del controlador a partir de salidas medidas con el estimador de estado incorporado. También puede utilizar un algoritmo personalizado para estimar el estado.
Revisión del diseño
Detecte posibles problemas de estabilidad y solidez en el controlador MPC mediante la función de diagnóstico incorporada. Utilice los resultados del diagnóstico para ajustar los pesos y las restricciones durante el diseño del controlador y evitar fallos en tiempo de ejecución.
Ajuste de parámetros en tiempo de ejecución
Ajuste los pesos y las restricciones del controlador MPC para optimizar su rendimiento en tiempo de ejecución sin necesidad de rediseñarlo o reimplementarlo. Realice el ajuste del controlador en tiempo de ejecución tanto en MATLAB® como en Simulink.
Supervisión del rendimiento en tiempo de ejecución
Acceda a la señal del estado de optimización para detectar las raras ocasiones en las que una optimización puede no converger. Utilice esta información para tomar decisiones sobre estrategias de control de copias de seguridad.
MPC explícito
Genere un controlador MPC explícito a partir del diseño de un MPC implícito para acelerar la ejecución. Simplifique un controlador MPC explícito generado para reducir el uso de memoria.
Solución aproximada (subóptima)
Diseñe, simule y despliegue un controlador MPC con tiempo de ejecución garantizado en el peor de los casos usando una solución aproximada (subóptima).
Planificación óptima
Utilice controladores MPC no lineales para aplicaciones de planificación óptima que requieran un modelo no lineal con costes o restricciones no lineales.
Sistemas de control de retroalimentación
Simule un sistema de control de bucle cerrado de plantas no lineales con costes y restricciones no lineales. De forma predeterminada, los controladores MPC no lineales utilizan Optimization Toolbox™ para resolver el problema de programación no lineal. También puede especificar su propio solver no lineal personalizado.
MPC económico
Diseñe controladores MPC económicos para optimizar el controlador para una función de coste arbitraria con restricciones no lineales arbitrarias. Puede utilizar un modelo de predicción lineal o no lineal, una función de coste no lineal personalizada y restricciones no lineales personalizadas.
Generación de código con MATLAB y Simulink
Diseñe un controlador MPC en Simulink y genere código C o texto estructurado IEC 61131-3 mediante Simulink Coder™ o Simulink PLC Coder™, respectivamente. Utilice MATLAB Coder™ para generar código C en MATLAB y despliéguelo para sistemas de control en tiempo real. También puede utilizar MATLAB Compiler™ para empaquetar y compartir su controlador MPC como una aplicación independiente.
Solvers integrados
Genere código desde los solvers de programación cuadrática (QP) de conjunto activo y de punto interior proporcionados para lograr una implementación eficiente en procesadores embebidos. Para problemas no lineales, utilice el solver de programación cuadrática secuencial (SQP) de Optimization Toolbox para simular y generar código. Despliegue el código generado en la cantidad de procesadores que desee.
Solvers personalizados
Utilice los solvers QP y NLP (programación no lineal) FORCES PRO de Embotech para simular y generar código para controladores MPC lineales y no lineales. Si lo prefiere, utilice solvers QP y NLP personalizados para simular y generar código.
Recursos del producto:
Obtenga una versión de prueba gratuita
30 días de exploración a su alcance.
Solicitar más información
Díganos cómo podemos ayudar.