Problem formulation

Basically, the energy strategy works by solving an Optimal Control Problem. Its objective function is the lethargy, i.e., the time the vehicle takes to complete the race,

\[J(x(s)) = \int_{0}^{s_\mathrm{f}}{\frac{1}{v(s)}\mathrm{d}s},\]

where \(v(s)\) is the velocity and \(s\) the independent distance variable.

The state variables in the optimization problem are:

\[\boldsymbol{x}(s) = \left(v~t~\sigma~T_\mathrm{B}~T_\mathrm{M}~T_\mathrm{I}~T_\mathrm{CM}~T_\mathrm{CB }\right)^T \in \mathbb{R}^{n_x \times 1},\]

where \(t(s)\) describes the time, \(\sigma(s)\) the battery SOC, and \(T_\mathrm{B}\), \(T_\mathrm{M}\), \(T_\mathrm{I}\), \(T_\mathrm{CM}\), \(T_\mathrm{CB}\) the temperatures of battery, electric machines, inverters, colling liquid machine-inverter and cooling liquid battery.

For convenience, we also included \(s(s)\) in the state vector to simplify plotting the results. The control vector contains

\[\boldsymbol{u}(s) = \left(F_\mathrm{d}~F_\mathrm{b}\right)^T \in \mathbb{R}^{n_u \times 1},\]

where \(F_\mathrm{d}\) is the drive and \(F_\mathrm{b}\) the brake force.

The algebraic variable

\[z(s) = \frac{1}{v} \in \mathbb{R}^{n_z \times 1}\]

describes the time spent between two spatial discretization points and depicts the main contribution to the objective function.

The detailed mathematical problem formulation behind the code and further explanations can be found in our publication.

The paper will soon be available on SAE Mobilus, see Citing.

Convergence

If the solver does not convergence during the presolve or the resolve step, it is likely that the optimization horizon is too short. The energy strategy makes only sense if the brake force gets restricted by nature. This means that simultaneous activation of the drive and brake force must be avoided by a sufficient length of the optimization horizon. If the race is too short, and no energetic or thermodynamic constraint becomes active, no energy strategy is necessary. A full speed operation is then appropriate.