Inverse Problems for DOBC
Last updated: Jan 25, 2022
PDF | GitHub
Full treatment is in the linked PDF and GitHub repo. This page summarizes the main ideas.
Description
The project’s full title is:
Noise Extraction in Disturbance Observer-Based Control
A Computational Inverse Problems Approach
In the context of control theory, a system with inputs $u$ and outputs $y$ may be subject to disturbances on the input, either as unknown external inputs or as model mismatch (inaccurate knowledge of the system).
A disturbance observer is a dynamical system, or filter, patched onto an existing controlled system, that estimates these disturbances in order to reject them.
This projects reformulates a linear disturbance observer as a Fredholm integral equation of the first kind (continuous linear system) of the form:
$$ y(s) = \int_{t_1}^{t_n} g(s,t) u(t) \; \mathrm{d}t $$
This is discretized into a discrete linear system, which is ill-posed, of the form: $$ \mathbf{y_{u+d}} = \mathrm{G}(\mathbf{u+d}) $$
The Inverse Problem consists of extracting the unknown true disturbance $\mathbf{d}$ (at the input) with an estimate $\mathbf{\hat{d}}$, given the input $\mathbf{u}$, output $\mathbf{y_{u+d}}$, and forward model $\mathrm{G}$ of the ill-posed system.
Nuances
There are two kinds of “noise” in this problem, and they are distinct.
- Input noise, or disturbance $\mathbf{d}$, which we estimate with $\mathbf{\hat{d}}$. This noise $\mathbf{d}$ is added to the input $\mathbf{u}$
- Output noise, often interpreted as sensor noise or measurement noise, which we estimate as $\varepsilon$. This noise $\varepsilon$ is added to the true output $\mathbf{y}_\mathrm{true} +\varepsilon = \mathbf{y}_\mathrm{noisy}$ producing a noisy output.
Our goal is to estimate $\mathbf{d}$ so we can reject it from the system’s input. The measurement noise $\varepsilon$ is worked around.
Methods
Three methods are implemented, employed, and compared to solve the system:
- Tikhonov regularization
- Conjugate gradient least-squares (CGLS)
- Stochastic gradient descent (SGD)
Similar iterative methods are easily attempted:
Landweber, Gradient descent, Exact line search, among others.
Figures
These examples illustrate some aspects of the problem.
In this first figure, the solutions $\mathbf{x}_\alpha$ obtained using Tikhonov regularization approximate the true solution $\mathbf{x}_\mathrm{true} = \mathbf{u} + \mathbf{d}$.
In this second figure, that solution $\mathbf{x}_\alpha$ is then used to approximate, here a sinusoidal disturbance $\mathbf{d}$, with an estimate $\mathbf{\hat{d}}$.
In this third figure, the regularization parameter $\alpha$ can be studied on an L-curve to select a “good” value for it.
We can show similar plots while using CGLS as a solver. This fourth figure shows similar results, but with a constant disturbance.
As a final note, to illustrate what is meant by “output noise” versus “input noise”, observe this last figure. The noise at $\mathbf{y}_\mathrm{noisy}$ is output noise, or measurement noise. The noise $\mathbf{d}$, instead, is a constant disturbance at the input. This figure runs the same simulation as the prior figure, adding only output noise.
References
Li et al., Disturbance Observer-Based Control: Methods and Applications, 2014.
Dennis & Schnabel, Numerical Methods for Unconstrained Optimization and Nonlinear Equations, 1996.