Materiales: [ Cód.: optimconode.mlx ] [ PDF ]
Dado que Simulink internamente transforma los diagramas de bloques a código usable por los integradores numéricos (ode45, etc.), si dichas manipulaciones se realizan por el programador, se pueden resolver problemas de control óptimo usando el mencionado ode45 y el comando fminunc de la Optimization Toolbox (o, opcionalmente, fmincon si se desea incluir restricciones o cotas que determinen la región de parámetros a explorar).
Si el lector no tiene familiaridad con la representación interna (variables de
estado) de sistemas dinámicos e integración numérica, se le recomienda
visionar los vídeos [
Este vídeo plantea un problema de control óptimo sobre un modelo de péndulo en su punto de equilibrio superior inestable. Como ode45 trabaja con la representación en variables de estado , se detallan:
El modelo en representación interna en bucle abierto invariante en el tiempo, siendo el vector de estado el vector con la posición y la velocidad.
La parametrización elegida (regulador PD, pero como la referencia es constante igual a cero –pto. func.– se puede simplificar a , que en teoría de control se denomina realimentación del estado. El vector serán los parámetros ajustables de este problema, expresando el controlador con .
Las ecuaciones en bucle cerrado: .
El índice de coste cuadrático a utilizar (objetivo: minimizar su integral)... en la literatura, se suele denominar a el coste inmediato, para distinguirlo del coste acumulado .
Este vídeo discute las fases iniciales de modelado y planteamiento del
problema; el código de simulación y optimización es discutido en detalle en el
vídeo [
Nota: En este vídeo, el controlador no tiene dinámica (es “realimentación
del estado”, posición y velocidad medidas ambas); el vídeo [
Colección completa [VER]:
Anterior Optimización ISE/IAE/ITAE/IT2AE para rechazo de perturbaciones: comparativa de respuesta temporal
Siguiente Optimización de parámetros de reguladores con ode45+fminunc (2): Simulación y optimización