Optimización de trayectorias

IE3041 - Sistemas de Control 2

Dos métodos de transcripción directa

-
métodos de disparo (shooting)
- basados en simulación
- buenos para problemas sin (muchas) restricciones
-
métodos de colocación (collocation)
- basados en aproximaciones de la dinámica
- mejores para problemas con restricciones
Dos métodos
-
métodos de disparo (shooting)
- basados en simulación
- buenos para problemas sin (muchas) restricciones
-
métodos de colocación (collocation)
- basados en aproximaciones de la dinámica
- mejores para problemas con restricciones
método de colocación directa
Dos métodos
El método de colocación directa
El método de colocación directa
dynamics constraints
path constraints
boundary constraints
state bounds
control bounds
initial and final time bounds
initial state bounds
final state bounds
Transcribiendo el problema
Variables de decisión
puntos de colocación
\(N\) segmentos
\(M\) puntos de colocación
variables de decisión
Función objetivo
no hace falta discretizar
operador continuo, debe discretizarse
no hace falta discretizar
operador continuo, debe discretizarse
collocation method
no hace falta discretizar
operador continuo, debe discretizarse
- trapezoidal
- Hermite-Simpson
- Runge-Kutta
- Chebyshev
- ...
collocation method
no hace falta discretizar
operador continuo, debe discretizarse
- trapezoidal (ejemplo)
- Hermite-Simpson
- Runge-Kutta
- Chebyshev
- ...
collocation method
paso fijo
paso variable, las \(h_k\) deben añadirse a las variables de decisión
paso fijo
paso variable, las \(h_k\) deben añadirse a las variables de decisión
el tipo de colocación también informa sobre la interpolación a emplear para \(\mathbf{u}(t)\)
Restricción de dinámica
de nuevo depende del método de colocación
ej: colocación trapezoidal
ej: colocación trapezoidal
ej: colocación trapezoidal
(restricciones de colocación)
el resto de restricciones se transcriben tal cual (dado que ya están planteadas de forma discreta)
el resto de restricciones se transcriben tal cual (dado que ya están planteadas de forma discreta)
finalmente, se recomienda como aproximación inicial:
el resto de restricciones se transcriben tal cual (dado que ya están planteadas de forma discreta)
finalmente, se recomienda como aproximación inicial:
(interpolación lineal entre \(\mathbf{x}_0\) y \(\mathbf{x}_f\))
Ya con esto podemos plantear el problema como un programa no lineal y emplear (por ejemplo):
z = fmincon(fun, z0, A, b, Aeq, beq, lb, ub, nonlcon)
Resolviendo el problema
Ya con esto podemos plantear el problema como un programa no lineal y emplear (por ejemplo):
z = fmincon(fun, z0, A, b, Aeq, beq, lb, ub, nonlcon)
Resolviendo el problema
Ejemplo: cart-pole swing up
Ejemplo: cart-pole swing up
Desde cero
>> cartpole_manual_solve.m
Con OptimTraj
>> cartpole_optimtraj_solve.m
Simulación de resultados
>> cartpole_sim.m
IE3041 - Lecture 13 (2025)
By Miguel Enrique Zea Arenales
IE3041 - Lecture 13 (2025)
- 1