dehaeze20_optim_robus_compl.../paper/paper.org

435 lines
17 KiB
Org Mode

#+TITLE: Optimal and Robust Sensor Fusion
:DRAWER:
#+LATEX_CLASS: IEEEtran
#+LATEX_CLASS_OPTIONS: [conference]
#+OPTIONS: toc:nil todo:nil
#+STARTUP: overview
#+DATE: {{{time(%Y-%m-%d)}}}
#+AUTHOR: @@latex:\IEEEauthorblockN{Dehaeze Thomas}@@
#+AUTHOR: @@latex:\IEEEauthorblockA{\textit{European Synchrotron Radiation Facility} \\@@
#+AUTHOR: @@latex:Grenoble, France\\@@
#+AUTHOR: @@latex:\textit{Precision Mechatronics Laboratory} \\@@
#+AUTHOR: @@latex:\textit{University of Liege}, Belgium \\@@
#+AUTHOR: @@latex:thomas.dehaeze@esrf.fr@@
#+AUTHOR: @@latex:}\and@@
#+AUTHOR: @@latex:\IEEEauthorblockN{Collette Christophe}@@
#+AUTHOR: @@latex:\IEEEauthorblockA{\textit{BEAMS Department}\\@@
#+AUTHOR: @@latex:\textit{Free University of Brussels}, Belgium\\@@
#+AUTHOR: @@latex:\textit{Precision Mechatronics Laboratory} \\@@
#+AUTHOR: @@latex:\textit{University of Liege}, Belgium \\@@
#+AUTHOR: @@latex:ccollett@ulb.ac.be@@
#+AUTHOR: @@latex:}@@
#+LATEX_HEADER: \IEEEoverridecommandlockouts
#+LATEX_HEADER: \usepackage{cite}
#+LATEX_HEADER: \usepackage{amsmath,amssymb,amsfonts}
#+LATEX_HEADER: \usepackage{algorithmic}
#+LATEX_HEADER: \usepackage{graphicx}
#+LATEX_HEADER: \usepackage{textcomp}
#+LATEX_HEADER: \usepackage{xcolor}
#+LATEX_HEADER: \usepackage{cases}
#+LATEX_HEADER: \usepackage{tabularx,siunitx,booktabs}
#+LATEX_HEADER: \usepackage{algorithmic}
#+LATEX_HEADER: \usepackage{import, hyperref}
#+LATEX_HEADER: \renewcommand{\citedash}{--}
#+LATEX_HEADER_EXTRA: \usepackage{showframe}
#+LATEX_HEADER: \def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\bibliographystyle{IEEEtran}
:END:
* LaTeX Config :noexport:
#+begin_src latex :tangle config.tex
#+end_src
* Build :noexport:
#+NAME: startblock
#+BEGIN_SRC emacs-lisp :results none
(add-to-list 'org-latex-classes
'("IEEEtran"
"\\documentclass{IEEEtran}"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
)
(defun delete-org-comments (backend)
(loop for comment in (reverse (org-element-map (org-element-parse-buffer)
'comment 'identity))
do
(setf (buffer-substring (org-element-property :begin comment)
(org-element-property :end comment))
"")))
;; add to export hook
(add-hook 'org-export-before-processing-hook 'delete-org-comments)
;; Remove hypersetup
(setq org-latex-with-hyperref nil)
#+END_SRC
* Abstract :ignore:
#+begin_abstract
Abstract text to be done
#+end_abstract
* Keywords :ignore:
#+begin_IEEEkeywords
Complementary Filters, Sensor Fusion, H-Infinity Synthesis
#+end_IEEEkeywords
* Introduction
<<sec:introduction>>
- Section ref:sec:optimal_fusion
- Section ref:sec:robust_fusion
- Section ref:sec:optimal_robust_fusion
- Section ref:sec:experimental_validation
* Optimal Super Sensor Noise: $\mathcal{H}_2$ Synthesis
<<sec:optimal_fusion>>
** Sensor Model
Let's consider a sensor measuring a physical quantity $x$ (Figure ref:fig:sensor_model_noise).
The sensor has an internal dynamics which is here modelled with a Linear Time Invariant (LTI) system transfer function $G_i(s)$.
The noise of sensor can be described by the Power Spectral Density (PSD) $\Phi_{n_i}(\omega)$.
This is approximated by shaping a white noise with unitary PSD $\tilde{n}_i$ eqref:eq:unitary_sensor_noise_psd with a LTI transfer function $N_i(s)$:
\begin{equation}
\begin{aligned}
\Phi_{n_i}(\omega) &= \left| N_i(j\omega) \right|^2 \Phi_{\tilde{n}_i}(\omega) \\
&= \left| N_i(j\omega) \right|^2
\end{aligned}
\end{equation}
#+name: eq:unitary_sensor_noise_psd
\begin{equation}
\Phi_{\tilde{n}_i}(\omega) = 1
\end{equation}
The output of the sensor $v_i$:
\begin{equation}
v_i = \left( G_i \right) x + \left( G_i N_i \right) \tilde{n}_i
\end{equation}
In order to obtain an estimate $\hat{x}_i$ of $x$, a model $\hat{G}_i$ of the (true) sensor dynamics $G_i$ is inverted and applied at the output (Figure ref:fig:sensor_model_noise):
\begin{equation}
\hat{x}_i = \left( \hat{G}_i^{-1} G_i \right) x + \left( \hat{G}_i^{-1} G_i N_i \right) \tilde{n}_i
\end{equation}
#+name: fig:sensor_model_noise
#+caption: Sensor Model
#+attr_latex: :scale 1
[[file:figs/sensor_model_noise.pdf]]
** Sensor Fusion Architecture
Let's now consider two sensors measuring the same physical quantity $x$ but with different dynamics $(G_1, G_2)$ and noise characteristics $(N_1, N_2)$ (Figure ref:fig:sensor_fusion_noise_arch).
The noise sources $\tilde{n}_1$ and $\tilde{n}_2$ are considered to be uncorrelated.
#+name: fig:sensor_fusion_noise_arch
#+caption: Sensor Fusion Architecture with sensor noise
#+attr_latex: :scale 1
[[file:figs/sensor_fusion_noise_arch.pdf]]
The output of both sensors $(v1,v2)$ are then passed through the inverse of the sensor model to obtained two estimates $(\hat{x}_1, \hat{x}_2)$ of $x$.
These two estimates are then filtered out by two filters $H_1$ and $H_2$ and summed to gives the super sensor estimate $\hat{x}$.
\begin{equation}
\begin{split}
\hat{x} = {}&\left( H_1 \hat{G}_1^{-1} G_1 + H_2 \hat{G}_2^{-1} G_2 \right) x \\
&+ \left( H_1 \hat{G}_1^{-1} G_1 N_1 \right) \tilde{n}_1 + \left( H_2 \hat{G}_2^{-1} G_2 N_2 \right) \tilde{n}_2
\end{split}
\end{equation}
Suppose the sensor dynamical model $\hat{G}_i$ is perfect:
\begin{equation}
\hat{G}_i = G_i
\end{equation}
We considered here complementary filters:
\begin{equation}
H_1(s) + H_2(s) = 1
\end{equation}
In such case, the super sensor estimate $\hat{x}$ is equal to $x$ plus the noise of the individual sensors filtered out by the complementary filters:
\begin{equation}
\hat{x} = x + \left( H_1 N_1 \right) \tilde{n}_1 + \left( H_2 N_2 \right) \tilde{n}_2
\end{equation}
** Super Sensor Noise
Let's note $n$ the super sensor noise.
\begin{equation}
n = \left( H_1 N_1 \right) \tilde{n}_1 + \left( H_2 N_2 \right) \tilde{n}_2
\end{equation}
As the noise of both sensors are considered to be uncorrelated, the PSD of the super sensor noise is computed as follow:
\begin{equation}
\Phi_n(\omega) = \left| H_1 N_1 \right|^2 + \left| H_2 N_2 \right|^2
\end{equation}
It is clear that the PSD of the super sensor depends on the norm of the complementary filters.
** $\mathcal{H}_2$ Synthesis of Complementary Filters
The goal is to design $H_1(s)$ and $H_2(s)$ such that the effect of the noise sources $\tilde{n}_1$ and $\tilde{n}_2$ has the smallest possible effect on the noise $n$ of the estimation $\hat{x}$.
And the goal is the minimize the Root Mean Square (RMS) value of $n$:
#+name: eq:rms_value_estimation
\begin{equation}
\sigma_{n} = \sqrt{\int_0^\infty \Phi_{n}(\omega) d\omega} = \left\| \begin{matrix} H_1 N_1 \\ H_2 N_2 \end{matrix} \right\|_2
\end{equation}
Thus, the goal is to design $H_1(s)$ and $H_2(s)$ such that $H_1(s) + H_2(s) = 1$ and such that $\sigma_n$ is minimized.
This can be cast into an $\mathcal{H}_2$ synthesis problem by considering the following generalized plant (also represented in Figure ref:fig:h_two_optimal_fusion):
\begin{equation}
\begin{pmatrix}
z_1 \\ z_2 \\ v
\end{pmatrix} = \underbrace{\begin{bmatrix}
N_1 & -N_1 \\
0 & N_2 \\
1 & 0
\end{bmatrix}}_{P_{\mathcal{H}_2}} \begin{pmatrix}
w \\ u
\end{pmatrix}
\end{equation}
Applying the $\mathcal{H}_2$ synthesis on $P_{\mathcal{H}_2}$ will generate a filter $H_2(s)$ such that the $\mathcal{H}_2$ norm from $w$ to $(z_1,z_2)$ is minimized:
#+NAME: eq:H2_norm
\begin{equation}
\left\| \begin{matrix} z_1/w \\ z_2/w \end{matrix} \right\|_2 = \left\| \begin{matrix} N_1 (1 - H_2) \\ N_2 H_2 \end{matrix} \right\|_2
\end{equation}
The $\mathcal{H}_2$ norm of Eq. eqref:eq:H2_norm is equals to $\sigma_n$ by defining $H_1(s)$ to be the complementary filter of $H_2(s)$:
\begin{equation}
H_1(s) = 1 - H_2(s)
\end{equation}
We then have that the $\mathcal{H}_2$ synthesis applied on $P_{\mathcal{H}_2}$ generates two complementary filters $H_1(s)$ and $H_2(s)$ such that the RMS value of super sensor noise is minimized.
#+name: fig:h_two_optimal_fusion
#+caption: Generalized plant $P_{\mathcal{H}_2}$ used for the $\mathcal{H}_2$ synthesis of complementary filters
#+attr_latex: :scale 1
[[file:figs/h_two_optimal_fusion.pdf]]
** Example
#+name: fig:figure_name
#+caption: Figure caption
#+attr_latex: :scale 1
[[file:figs/sensors_nominal_dynamics.pdf]]
** Robustness Problem
* Robust Sensor Fusion: $\mathcal{H}_\infty$ Synthesis
<<sec:robust_fusion>>
** Representation of Sensor Dynamical Uncertainty
In Section ref:sec:optimal_fusion, the model $\hat{G}_i(s)$ of the sensor was considered to be perfect.
In reality, there are always uncertainty (neglected dynamics) associated with the estimation of the sensor dynamics.
The Uncertainty on the sensor dynamics $G_i(s)$ is here modelled by (input) multiplicative uncertainty:
\begin{equation}
G_i(s) = \hat{G}_i(s) \left( 1 + W_i(s) \Delta_i(s) \right); \quad |\Delta_i(j\omega)| < 1 \forall \omega
\end{equation}
where $\hat{G}_i(s)$ is the nominal model, $W_i$ a weight representing the size of the uncertainty at each frequency, and $\Delta_i$ is any complex perturbation such that $\left\| \Delta_i \right\|_\infty < 1$.
The sensor can then be represented as shown in Figure ref:fig:sensor_model_uncertainty.
#+name: fig:sensor_model_uncertainty
#+caption: Sensor Model including Dynamical Uncertainty
#+attr_latex: :scale 1
[[file:figs/sensor_model_uncertainty.pdf]]
** Sensor Fusion Architecture
Let's consider the sensor fusion architecture shown in Figure ref:fig:sensor_fusion_arch_uncertainty where the dynamical uncertainties of both sensors are included.
The super sensor estimate is then:
\begin{equation}
\begin{aligned}
\hat{x} &= \Big( H_1 \hat{G}_1^{-1} \hat{G}_1 (1 + W_1 \Delta_1) \\
& \quad + H_2 \hat{G}_2^{-1} \hat{G}_2 (1 + W_2 \Delta_2) \Big) x \\
&= \Big( H_1 (1 + W_1 \Delta_1) + H_2 (1 + W_2 \Delta_2) \Big) x
\end{aligned}
\end{equation}
with $\Delta_i$ is any transfer function satisfying $\| \Delta_i \|_\infty < 1$.
As $H_1$ and $H_2$ are complementary filters, we finally have:
\begin{equation}
\hat{x} = \left( 1 + H_1 W_1 \Delta_1 + H_2 W_2 \Delta_2 \right) x, \quad \|\Delta_i\|_\infty<1
\end{equation}
#+name: fig:sensor_fusion_arch_uncertainty
#+caption: Sensor Fusion Architecture with sensor model uncertainty
#+attr_latex: :scale 1
[[file:figs/sensor_fusion_arch_uncertainty.pdf]]
** Super Sensor Dynamical Uncertainty
The uncertainty set of the transfer function from $\hat{x}$ to $x$ at frequency $\omega$ is bounded in the complex plane by a circle centered on 1 and with a radius equal to $|W_1(j\omega) H_1(j\omega)| + |W_2(j\omega) H_2(j\omega)|$ as shown in Figure ref:fig:uncertainty_set_super_sensor.
And we can see that the dynamical uncertainty of the super sensor is equal to the sum of the individual sensor uncertainties filtered out by the complementary filters.
#+name: fig:uncertainty_set_super_sensor
#+caption: Super Sensor model uncertainty displayed in the complex plane
#+attr_latex: :scale 1
[[file:figs/uncertainty_set_super_sensor.pdf]]
# Some comments on the weights
At frequencies where $\left|W_i(j\omega)\right| > 1$ the uncertainty exceeds $100\%$ and sensor fusion is impossible.
** $\mathcal{H_\infty}$ Synthesis of Complementary Filters
In order for the fusion to be "robust", meaning no phase drop will be induced in the super sensor dynamics,
The goal is to design two complementary filters $H_1(s)$ and $H_2(s)$ such that the super sensor noise uncertainty is kept reasonably small.
To define what by "small" we mean, we use a weighting filter $W_u(s)$ such that the synthesis objective is:
\begin{equation}
\left| W_1(j\omega)H_1(j\omega) \right| + \left| W_2(j\omega)H_2(j\omega) \right| < \frac{1}{\left| W_u(j\omega) \right|}, \quad \forall \omega
\end{equation}
# Comments on the choice of the weights => we cannot ask for less uncertainty than both sensors
This is actually almost equivalent as to have (within a factor $\sqrt{2}$):
\begin{equation}
\left\| \begin{matrix} W_u W_1 H_1 \\ W_u W_2 H_2 \end{matrix} \right\|_\infty < 1
\end{equation}
This problem can thus be dealt with an $\mathcal{H}_\infty$ synthesis problem by considering the following generalized plant (Figure ref:fig:h_infinity_robust_fusion):
\begin{equation}
\begin{pmatrix}
z_1 \\ z_2 \\ v
\end{pmatrix} = \underbrace{\begin{bmatrix}
W_u W_1 & -W_u W_1 \\
0 & W_u W_2 \\
1 & 0
\end{bmatrix}}_{P_{\mathcal{H}_\infty}} \begin{pmatrix}
w \\ u
\end{pmatrix}
\end{equation}
Applying the $\mathcal{H}_\infty$ synthesis on $P_{\mathcal{H}_\infty}$ will generate a filter $H_2(s)$ such that the $\mathcal{H}_\infty$ norm from $w$ to $(z_1,z_2)$ is minimized:
#+NAME: eq:Hinf_norm
\begin{equation}
\left\| \begin{matrix} z_1/w \\ z_2/w \end{matrix} \right\|_\infty = \left\| \begin{matrix} W_u W_1 (1 - H_2) \\ W_u W_2 H_2 \end{matrix} \right\|_\infty
\end{equation}
The $\mathcal{H}_\infty$ norm of Eq. eqref:eq:Hinf_norm is equals to $\sigma_n$ by defining $H_1(s)$ to be the complementary filter of $H_2(s)$:
\begin{equation}
H_1(s) = 1 - H_2(s)
\end{equation}
#+name: fig:h_infinity_robust_fusion
#+caption: Generalized plant $P_{\mathcal{H}_\infty}$ used for the $\mathcal{H}_\infty$ synthesis of complementary filters
#+attr_latex: :scale 1
[[file:figs/h_infinity_robust_fusion.pdf]]
** Example
* Optimal and Robust Sensor Fusion: Mixed $\mathcal{H}_2/\mathcal{H}_\infty$ Synthesis
<<sec:optimal_robust_fusion>>
** Sensor with noise and model uncertainty
We wish now to combine the two previous synthesis, that is to say
The sensors are now modelled by a white noise with unitary PSD $\tilde{n}_i$ shaped by a LTI transfer function $N_i(s)$.
The dynamical uncertainty of the sensor is modelled using multiplicative uncertainty
\begin{equation}
v_i = \hat{G}_i (1 + W_i \Delta_i) x + \hat{G_i} (1 + W_i \Delta_i) N_i \tilde{n}_i
\end{equation}
Multiplying by the inverse of the nominal model of the sensor dynamics gives an estimate $\hat{x}_i$ of $x$:
\begin{equation}
\hat{x} = (1 + W_i \Delta_i) x + (1 + W_i \Delta_i) N_i \tilde{n}_i
\end{equation}
#+name: fig:sensor_model_noise_uncertainty
#+caption: Sensor Model including Noise and Dynamical Uncertainty
#+attr_latex: :scale 1
[[file:figs/sensor_model_noise_uncertainty.pdf]]
** Sensor Fusion Architecture
For reason of space, the blocks $\hat{G}_i$ and $\hat{G}_i^{-1}$ are omitted.
\begin{equation}
\begin{aligned}
\hat{x} = &\Big( H_1 (1 + W_1 \Delta_1) + H_2 (1 + W_2 \Delta_2) \Big) x \\
&+ \Big( H_1 (1 + W_1 \Delta_1) N_1 \Big) \tilde{n}_1 + \Big( H_2 (1 + W_2 \Delta_2) N_2 \Big) \tilde{n}_2
\end{aligned}
\end{equation}
\begin{equation}
\begin{aligned}
\hat{x} = &\Big( 1 + H_1 W_1 \Delta_1 + H_2 W_2 \Delta_2 \Big) x \\
&+ \Big( H_1 (1 + W_1 \Delta_1) N_1 \Big) \tilde{n}_1 + \Big( H_2 (1 + W_2 \Delta_2) N_2 \Big) \tilde{n}_2
\end{aligned}
\end{equation}
The estimate $\hat{x}$ of $x$
#+name: fig:sensor_fusion_arch_full
#+caption: Super Sensor Fusion with both sensor noise and sensor model uncertainty
#+attr_latex: :scale 1
[[file:figs/sensor_fusion_arch_full.pdf]]
** Mixed $\mathcal{H}_2/\mathcal{H}_\infty$ Synthesis
The synthesis objective is to generate two complementary filters $H_1(s)$ and $H_2(s)$ such that the uncertainty associated with the super sensor is kept reasonably small and such that the RMS value of super sensors noise is minimized.
To specify how small we want the super sensor dynamic spread, we use a weighting filter $W_u(s)$ as was done in Section ref:sec:robust_fusion.
This synthesis problem can be solved using the mixed $\mathcal{H}_2/\mathcal{H}_\infty$ synthesis on the following generalized plant:
\begin{equation}
\begin{pmatrix}
z_{\infty, 1} \\ z_{\infty, 2} \\ z_{2, 1} \\ z_{2, 2} \\ v
\end{pmatrix} = \underbrace{\begin{bmatrix}
W_u W_1 & W_u W_1 \\
0 & W_u W_2 \\
N_1 & N_1 \\
0 & N_2 \\
1 & 0
\end{bmatrix}}_{P_{\mathcal{H}_2/\mathcal{H}_\infty}} \begin{pmatrix}
w \\ u
\end{pmatrix}
\end{equation}
The synthesis objective is to:
- Keep the $\mathcal{H}_\infty$ norm from $w$ to $(z_{\infty,1}, z_{\infty,2})$ below $1$
- Minimize the $\mathcal{H}_2$ norm from $w$ to $(z_{2,1}, z_{2,2})$
#+name: fig:mixed_h2_hinf_synthesis
#+caption: Generalized plant $P_{\mathcal{H}_2/\matlcal{H}_\infty}$ used for the mixed $\mathcal{H}_2/\mathcal{H}_\infty$ synthesis of complementary filters
#+attr_latex: :scale 1
[[file:figs/mixed_h2_hinf_synthesis.pdf]]
** Example
* Experimental Validation
<<sec:experimental_validation>>
** Experimental Setup
** Sensor Noise and Dynamical Uncertainty
** Mixed $\mathcal{H}_2/\mathcal{H}_\infty$ Synthesis
** Super Sensor Noise and Dynamical Uncertainty
* Conclusion
<<sec:conclusion>>
* Acknowledgment
* Bibliography :ignore:
\bibliography{ref}