--- title: State of the Art allDay: true date: 2024-10-03 endDate: 2024-10-10 completed: type: single --- 1.25 Pages **TARGET: ~700 words** # Outline 1. [[Robust Control]] 2. [[How is robust control validation done?]] 3. [[How do people generate unstructured perturbations?]] # Take 1 ## Attempt Robust control as a field determines how resilient a control system is to a difference in plant dynamics for a given characteristic. In a real system, there will always be some inaccuracy in the model of plant dynamics, disturbances, or other noise. These unmodeled features will affect plant behavior if they are not anticipated. Robust control gives us tools to design for these perturbations proactively. We can design characteristics such as performance and stability to guarantee as 'robust'. Robustness is dependent on two features: the characteristic to be guaranteed, and the set of reasonably possible perturbed plants $\mathcal{P}$. Usually the characteristic we're interested in is internal stability or performance. The possible set of plants, however, is less straightforward. The set $\mathcal{P}$ can be structured or unstructured. A structured set in this instance can be a discrete number of possible perturbed plants, or possibly a parametric study with a finite number of parameters @doyleFeedbackControlTheory2009 . Let's consider an example. Suppose a plant representing a spring-mass-damper system is described as follows @controltutorialsformatlab&simulinkInvertedPendulumSystem : $$ P = \frac{X(s)}{F(s)} = \frac{1}{ms^2 + bs +k}$$ A structured perturbation might take each of these physical parameters $m$, $b$, and $k$ and attribute a likely range or tolerance to their value: $$ \mathcal{P} = \left\{ \frac{1}{(m+e_m)s^2 + (b+e_b)s + (k + e_k)} \right\} \text{ : } \matrix{m_{min} \leq m+e_m \leq m_{max} \\ b_{min} \leq b +e_b \leq b_{max} \\ k_{min} \leq k +e_k \leq k_{max}} $$ where $e_m$ is the difference between the nominal mass and the actual as-built mass. $e_b$ and $e_k$ follow similar logic. Structured perturbations are easy to use to create perturbed plants: simply pick values for $e_m$, $e_b$, and $e_k$ that are within the allowable bounds and plug them in to create a new, perturbed transfer function. Structured perturbations also require a lot of leg work to create **Limitation:** *Structured perturbations limit the form of perturbation possible to sample.* Because structured perturbations either are chosen a priori or through a parametric study, the form of possible perturbed plants is limited. Structured perturbations do not allow for unmodelled dynamics to be included as a possible perturbation. The other type of uncertainty considered is unstructured uncertainty. This type of uncertainty does not assume a form and thus is able to capture unmodelled behavior in its robustness analysis. Unstructured sets are advantageous compared to structured sets for this reason. Robustness with respect to unstructured sets provides a guarantee of resilience to adverse conditions that are unanticipated, or difficult to model. One popular way of implementing unstructured uncertainty is the disk multiplicative perturbation. The disk multiplicative perturbation is defined as follows: $$ \tilde P = (1+\Delta W_2) P $$ Where $\Delta$ is a variable stable transfer function with $||\Delta||_\infty < 1$, and $W_2$ is the uncertainty profile. The 'disk' part of the multiplicative disk uncertainty comes from analysis in the complex domain, specifically looking at the Nyquist Stability Criterion. Stability according to this criterion is determined when the loop gain $L$ of a system does not pass through the point -1 during a sweep of all frequencies on the imaginary access. For robust stability, we examine if a system is still stable when calculating the Nyquist plot of $W_2 L$. If it is, then all perturbed plants $\tilde P = (1+\Delta W_2)P$ are also stable. This is useful for us. If we can find an uncertainty transfer function $W_2$ that we are satisfied with, and pair it with a design of a controller that maintains the Nyquist criterion, then we know our system is robust to any perturbations captured by $||\Delta||_\infty <1$. Robust performance can be achieved using a similar process @doyleFeedbackControlTheory2009 . $\Delta$ is almost always considered a free variable transfer function. Since $||\Delta||_\infty < 1 \text{ } \forall \omega$, $\Delta$ will not decrease the minimum robustness margin. This is fine for developing a controller, but when it comes to actually verifying robustness of a controller implementation, $\Delta$ cannot be a variable. To create a plant to simulate a perturbed plant, $\Delta$ must have an expression. **Limitation**: *There is no current method for creating random examples of $\Delta$.* Because of this, it is not currently possible to test implementations of controllers against unstructured perturbations.