• No results found

Model Predictive Control and Dynamic Steady-Input Control

5.4 Proposed control systems

5.4.3 Model Predictive Control and Dynamic Steady-Input Control

MPC is a framework which uses a plant model to calculate future control inputs over a finite time horizon, by minimising an objective function [157]. MPC also uses a similar quadratic cost function as LQR (54), but there are two main differences in their implementation:

1. MPC optimises over a receding time-window, rather than the fixed (and infinite, for the LQR controller calculated in Submission 3) time-window. 2. LQR uses the optimal solution for the entire implementation: a static gain

matrix calculated offline. MPC re-calculates the solution dynamically during online operation.

Compared to a regulator such as state feedback, MPC has the potential to calculate more efficient and faster imbalance reduction as it can incorporate knowledge of disturbances and adapt to changes in operating conditions. It is also easier to account for constraints to states and inputs [157]. However, it is generally more complex, more computationally expensive to solve for and more sensitive to model errors if a long time horizon is considered [157]. Active cell balancing will typically take a long time, within the order of 30 minutes or more. For a one second time-step, this means calculating at least 1800 control vectors, which results in a large optimisation problem (compounded as the number of cells increases) not suited to online calculation.

For the model in section 5.3 there are five sources of error when planning a trajectory, shown in Table 14. The combination of these errors means that solving a complete trajectory then applying the control input vectors is unlikely to result in an optimal or reliable solution.

Table 14: Sources of error in control model

Source Description

Disturbance current d

The future inputs are not known, adding uncertainty to any trajectories. For example, if a BEV was at rest when balancing started, but was then used for motorway driving, the impact of the disturbance has changed compared to when the trajectory was calculated

Control currents u

Set-point errors or variations in current mean that the requested currents may not actually be applied, meaning the calculated trajectory is not exactly applied.

Cell capacities

Qcap

The cell capacities well generally be an estimate and as such subject to some uncertainty. The model calculates Ξ”SOC using coulomb counting, which is proportional to capacity. As such, incorrect capacity estimates will result in incorrect Ξ”SOC projections.

Feedback matrix F

This matrix models how the balancing currents impact the other cells. Inaccuracies in this matrix, for example ignoring the balancing efficiency, will result in incorrect trajectories.

Ξ”SOC estimate m

The Ξ”SOC estimates determine the initial conditions for the MPC scheme. If these initial conditions are incorrect then the control vectors calculated will not actually remove imbalance as intended.

Instead of solving for a time-varying solution, a single control vector can be solved for to apply until balancing is complete. This can then regularly be updated based on the latest SOC data. The objective function used for this controller is the sum- of-squares quadratic cost function (67). Quadratic cost functions are often used for control systems because there are a variety of robust methods to solve them [157], and its value approaches zero as the state vector approaches zero (i.e. when there is no imbalance). The optimisation problem statement is given by (68) and aims to find the balancing current vector which minimises total cost J, subject to the lower and upper inequality constraints lb and ub that limit the balancing currents to what the hardware is capable of. While (67) does not explicitly contain the u vector, given the discrete system dynamics in (52), (67) can be rewritten as (69). This can be grouped to create a standard quadratic programming problem (70). This is broken into three components: the quadratic component by matrix

H, the linear component from vector g and the constant term f.

𝐽 = π’Žβ€˜Ε½Ζ’Β» π’Ž β€˜Ε½Ζ’= π’›β€˜Ε½Ζ’Β» π’›β€˜Ε½Ζ’ (67) arg min 𝒖ú 𝐽(π’–β€˜) 𝑠. 𝑑. 𝒍𝒃 ≀ 𝒖 ≀ 𝒖𝒃 (68) 𝐽 = Γπ’›β€˜+ π›₯π‘‘π΅Γ―Ζ’π’–β€˜+ π›₯𝑑𝒃(πŸπ‘‘β€˜ΓΒ»Γπ’›β€˜+ π›₯π‘‘π΅Γ―Ζ’π’–β€˜+ Δ𝑑𝒃(πŸπ‘‘β€˜Γ (69) 𝐽 = 𝑓 + π’ˆΒ»π‘’ + 𝒖»𝐻𝒖 𝑓 = π’›β€˜Β»π’› β€˜+ π›₯π‘‘Λ†π‘‘β€˜Β»π’ƒ(πŸπ‘»π΅Γ―Λ†π‘‘β€˜+ 2π›₯π‘‘π‘‘β€˜π’ƒ(πŸπ‘»π’›β€˜ π’ˆ = 2π›₯𝑑𝐡Ï𝒛 β€˜+ π›₯𝑑𝒃(πŸπ‘‘β€˜Γ 𝐻 = π›₯𝑑ˆ𝐡ï ƒ»𝐡ïƒ (70)

The optimisation problem means that a balancing vector will be found which removes the largest amount of imbalance feasible from time step k to k+1. However, this period of time is only 1 second, meaning that it will be impossible to reach a completely balanced state unless there is only a very small amount of imbalance. It means that generally all cells will be saturated permanently, which is not the aim of the control system. Some cells will have been balanced faster than necessary, reducing efficiency through increased power loss from the higher

currents. The end result is that it is essentially the same as using a rule-based approach where all cells below the mean are set to charge, and all cells above the mean are set to discharge. For example, McCurlie et al. [112] found that using a rule-based scheme resulted in almost 50% higher energy loss through balancing compared to a similar MPC scheme to the one presented here. The exact amount of energy saved will depend on the initial SOCs and cell capacities.

To avoid the saturation issue, the time-step itself is adjusted here to project further forward in time (extending the time in which the charge is delivered, thereby reducing the average current) . Changing βˆ†t in (52) changes the balancing window: a shorter time will result in faster balancing, with increased likelihood that the inputs are all saturated. A longer time will bring the cells to the mean SOC simultaneously, but can increase the balancing time. The time window can be maintained while continually recalculating the control vector based on new SOC and disturbance current. Alternatively, the time window can be rescaled based on current performance. Equation (71) shows the scheme employed to adjust the time-step. If any of balancing currents are at the maximum, and the average current is within 95% of the maximum, then the window is increased by 10%. Similarly, if no inputs are at the maximum it is possible to balance faster than at present, so the window can be reduced by 10%. This avoids all inputs being saturated while still allowing for saturation to occur, which is useful for if one cell is particularly far from the mean compared to the others. π›₯π‘‘β€˜Ε½Ζ’ = ΓΎ1.1π›₯π‘‘β€˜, βˆƒπ’–(𝒖 = 𝑒ÛaΓΆ)∧ β€’ 𝒖j β€š jdΖ’ β‰₯ 0.95𝑁𝑒ÛaΓΆ 0.9π›₯π‘‘β€˜, βˆ€π’–(𝒖 < 𝑒ÛaΓΆ) (71)

The disturbance current is part of the control system, but is not known in advance, so an estimate of what the current will be is required. As this is a single-step solution, a detailed prediction of a time-varying current profile is not required, only the average current during the following time window. This could be obtained from the vehicle’s energy management system, which makes predictions of how the vehicle will be driven to give an estimate of how many miles can be driven before the battery pack reaches EOD [158]. Alternatively, the average current over a previous time window can be used for the following time step.

In summary, there are three key differences from this method compared to MPC: 1. The quadratic cost function has been altered to maximise imbalance

reduction.

2. A single input vector is solved for, rather than a series of vectors over the time horizon. This significantly reduces the optimality of the solution, while being more feasible to solve online. This input vector is found on the basis that it would be applied for the rest of the time input.

3. The solution is updated every time-step, not just when the time horizon of the current solution is reached. This ensures that any sudden changes in SOC estimate are accounted for as early as possible.

While this control strategy was inspired by the principles of MPC, it is distinct and is referred to here as Dynamic Steady-Input Control (DSIC). Figure 38 shows an example process for DSIC. A change in SOC estimates means that imbalance can no longer be removed by the requested window. A longer window is calculated, and from then on the control vector is updated at each time-step to account for small changes in SOC estimation and model errors.