We have a vectorized form IOP with SPA equation:

We also have vectorized forms of the specs for control design:

  • Steady-state error (or could be something like ):
  • Control effort :
  • Overshoot :
  • Settling time (within 2%) with :

We can turn this into a numerical optimization problem.

Optimization Problem

An optimization problem has the general form:

subject to some .

In our case, we want to:

and our constraints are the IOP + specs equations above.

Example

1. Choose poles

First, we choose poles . Following our method for choosing poles for IOP and SPA , we choose poles along a spiral initially, but we don’t want the spiral to go all the way out to the boundaries of the unit disk.

Consider a pole of the form . Then, , where the term controls the rate of decay and the controls the rate of oscillation. If we pick poles where is close to , the rate of decay will be very slow. Furthermore, we may create numerical issues. Thus, we select some (typically between 0.8 and 0.95) for our spiral.

We also need to choose the number of poles; we typically start with a larger number of poles () and then try to reduce it later if desired. With more poles, it’s more likely we will find a feasible design.

2. Calculate Variables

Then, we calculate .

3. Define objective and constraints

This is done in YALMIP - we can pretty much directly write constraints

4. Solve the optimization problem

Then, we solve the optimization problem with YALMIP (language)/MOSEK(solver).

5. Recover controller

Then we recover

where

Design Implications

  • Safety
    • Stability margins for improved robustness
    • Simplicity of controllers (reducing the number of poles)
    • More robust to physical or engineered limits (can tighten limits or ) further in specs
  • Economics
    • Less expensive sensors; increase sampling time , which limits the performance (response time) of our control system
    • Reducing actuator wear and tear
      • (i) By minimizing the size of the control signal
      • (ii) By minimizing the variability of the control signal
  • Note that here we are using the Infinity Norm

  • Sustainability

    • Minimizing the energy use of our controller