5.4 KiB
Take 1
Controllers in the real world control plants that are not perfectly represented by a mathematical model. For this reason, controllers that operate in high-assurance environments must be evaluated to be robust.
Validation and verification of controller robustness is done today, but is a strenuous, manual task.
Examining the robustness of a controller requires additional mathematical formalism of a system, and analysis of perturbations to a nominal plant model.
Perturbations can be considered as two forms--structured and unstructured perturbation.
Unstructured perturbation in particular allows the perturbation to take on any transfer function (or transfer matrix), such that the gain of the transfer function remains less than one.
If a controlled system remains stable for the nominal plant and all possible perturbations all possible perturbations within the set1, it is considered robust.
To actually validate this statement with actual perturbations is a difficult problem.
Generating perturbations is not trivial because there is so much possibility for the form of an unstructured perturbation.
For an engineer to accomplish this task today one of two things happens:
- An engineer can randomly generate transfer functions as a perturbation and evaluate if their gain is less than one, or
- An engineer creates a structured perturbation instead using some parameters (transfer function order, physical attributes, etc.) 2 We suggest a different way of generating unstructured perturbations. Instead of an engineer creating the perturbations, we suggest using a diffusion generative model to create perturbed plants directly. To do this, the diffusion generative model is trained to create Bode plots of transfer functions from noise. (WORD LIMIT) This model is then given a warm-start on a slightly-noisy nominal plant with which it will create a perturbed plant as it attempts to remove noise from the nominal plant. This generated plant can then be analyzed using analytical fitting of a transfer function to the bode plot, and evaluated whether or not it is within the set of allowed perturbations. Due to the ability of diffusion generative models to create novel samples, we can perform this process numerous times to collect a large number of perturbed plants. We can then perform our validation using this subset of the unstructured perturbed set.
This method of perturbation generation can be very powerful for robust controller validation. Using a diffusion generative model, we can generate a limitless number of perturbed plants. We can also add some structure to this model if we like, specifying uncertainty with the amount of noise introduced to different sections of the Bode plot.
STATS: 407 words. 157 too many.
Take 2
First thoughts
- Introduce what a perturbation set is
- Generating unstructured perturbations is hard, but maybe we can use diffusion to do it
- Who gives a fuck about validation and verification. Why do we need to do actual samples?
Attempt
Real world control systems do not operate on nominal plants, but instead control a physical plant that has similar but slightly different dynamics. This discrepancy of dynamics is called a perturbation, and can affect controller performance. The amount of perturbation that a control system can tolerate without violating performance or safety requirements is a crucial property to understand for high assurance systems. The field of robust control and robustness analysis establishes bounds for the allowable amount of perturbation for a given controller and set of requirements. We can know the set of allowable plants that our controller can command, and we can make guarantees about plants within those sets using robust control.
What we cannot do is easily validate our guarantees on a real controller. While we have been able to find the set of perturbed plants for decades, being able to create and test a controller with elements from that set is by no means trivial. The most common way of accomplishing this task today is by using structured perturbations, where an engineer traces throughout the system where uncertainty comes from and then establishes probability density functions for each uncertainty, culminating in a probabilistic model that can be sampled to create elements of the set. This is an expensive way to create perturbations. The other way is by using unstructured perturbations. For this method, some transfer function \delta with a maximum gain is used to augment the nominal plant model. Creating \delta however is an opaque challenge.
We suggest using new technologies to create unstructured perturbations. The diffusion generative model has shown great promise in creating novel and convincing samples