Uncertainty Models
This page describes the uncertainty models used to generate (random) disturbances or sensor noise for closed-loop simulation. To enable seamless interchangeability of different uncertainty models (e.g., Gaussian, uniform distributions), a common interface including a dataclass for generated uncertainty vectors are provided. The implemented concrete models are (briefly) presented at the end of this file.
Dataclass Objects
Generated uncertainty vectors are stored as instances of the corresponding UncertaintyInterface dataclass.
Each vehicle model must implement its concrete disturbance dataclass.
The uncertainty dataclass objects can be converted to numpy arrays using their convert_to_array() method.
Overview and Interface Concept
All uncertainty models implement the same abstract interface, UncertaintyModelInterface.
Let the uncertainty be represented by a random vector \(z \in \mathbb{R}^d\) with fixed dimension \(d\). Each uncertainty model provides:
-
a nominal value $$ \bar{z} = \mathbb{E}[z] \quad \text{(or a user-defined value)} $$
-
a sampling operator $$ w \sim \mathcal{Z} $$ where \(\mathcal{Z}\) denotes the underlying distribution.
Interface Definition
Required Parameters
| Parameter | Variable type | Description |
|---|---|---|
dim |
int |
Dimension of the uncertainty vector |
nominal_value |
np.ndarray/List[float]/UncertaintyInterface |
User-defined nominal value or default value defined in the concrete child class |
Required Methods
| Method | Description |
|---|---|
nominal_value() |
Returns the nominal value |
sample_uncertainty() |
Draws a random sample from the underlying uncertainty distribution |
Implemented Uncertainty Models
No Uncertainty
Dummy uncertainty model if, for instance, no disturbances or sensor noise is desired.
Default nominal value: \(\bar{z} = 0\)
Additional parameters:
No additional parameters required.
Gaussian Distribution
Models a normally distributed random variable, i.e., \(z \sim \mathcal{N}(\mu,\sigma^2)\) with mean \(\mu \in \mathbb{R}^d\) and standard deviation \(\sigma \in \mathbb{R}^d\).
Default value: \(\bar{z} = \mu\)
Additional parameters:
| Parameter | Variable type and default value | Description |
|---|---|---|
mean |
np.ndarray/List[float]/UncertaintyInterface |
Mean |
std_deviation |
np.ndarray/List[float]/UncertaintyInterface |
Standard deviation |
Uniform Distribution
Models a uniformly distributed random variable \(z\) whose value lies between certain bounds \(a \in \mathbb{R}^d\), \(b \in \mathbb{R}^d\) with \(a \leq b\).
Default nominal value: \(\bar{z} = \frac{1}{2}(a + b)\)
Additional parameters:
| Parameter | Variable type and default value | Description |
|---|---|---|
lower_bound |
np.ndarray/List[float]/UncertaintyInterface |
Lower bound |
upper_bound |
np.ndarray/List[float]/UncertaintyInterface |
Upper bound |