Optimal Control Problem: Bang-Bang Control

1 minute read

Published:

Minimum Fuel Control (Bang-Bang)

\[\begin{aligned} \min && &J = \int_0^{t_f} \left( |u_x(t)| + |u_y(t)| \right) dt\\ \text{s.t.} && &\dot{x}(t) = v(t), \quad x(0) = x_0, \quad x(t_f) = x_f\\ && &\dot{v}(t) = u_x(t), \quad v(0) = v_0, \quad v(t_f) = v_f\\ && &\dot{y}(t) = w(t), \quad y(0) = y_0, \quad y(t_f) = y_f\\ && &\dot{w}(t) = u_y(t), \quad w(0) = w_0, \quad w(t_f) = w_f\\ && &-1 \leq u_x(t) \leq 1\\ && &-1 \leq u_y(y) \leq 1 \end{aligned}\]

The cost function, as written, is non-smooth. To fix this, we double the number of control inputs by defining,

\[u_x(t) = a_x(t) - b_x(t), \quad 0 \leq a_x(t) \leq 1, \quad 0 \leq b_x(t) \leq 1\]

The optimal control problem becomes,

\[\begin{aligned} \min && &J = \int_0^{t_f} \left( a_x(t) + b_x(t) + a_y(t) + b_y(t) \right) dt\\ \text{s.t.} && &\dot{x}(t) = v(t), \quad x(0) = x_0, \quad x(t_f) = x_f\\ && &\dot{v}(t) = a_x(t) - b_x(t), \quad v(0) = v_0, \quad v(t_f) = v_f\\ && &\dot{y}(t) = w(t), \quad y(0) = y_0, \quad y(t_f) = y_f\\ && &\dot{w}(t) = a_y(t) - b_y(t), \quad w(0) = w_0, \quad w(t_f) = w_f\\ && &0 \leq a_x(t) \leq 1, \quad 0 \leq b_x(t) \leq 1\\ && &0 \leq a_y(y) \leq 1, \quad 0 \leq b_y(t) \leq 1 \end{aligned}\]