Add test on H2 synthesis

This commit is contained in:
Thomas Dehaeze 2020-09-22 11:29:13 +02:00
parent 29363ad27e
commit 333f814d47
3 changed files with 168 additions and 75 deletions

View File

@ -1,4 +1,4 @@
#+TITLE: Robust and Optimal Sensor Fusion
#+TITLE: Optimal and Robust Sensor Fusion
:DRAWER:
#+LATEX_CLASS: IEEEtran
#+LATEX_CLASS_OPTIONS: [conference]
@ -87,30 +87,68 @@
* 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 [[fig:sensor_model]]).
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 [[fig:sensor_model]]):
\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
#+caption: Sensor Model
#+attr_latex: :scale 1
[[file:figs/sensor_model.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 [[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]]
Let note $\Phi$ the PSD.
$\tilde{n}_1$ and $\tilde{n}_2$ are white noise with unitary power spectral density:
\begin{equation}
\Phi_{\tilde{n}_i}(\omega) = 1
\end{equation}
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}
\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{split}
\end{equation}
Suppose the sensor dynamical model $\hat{G}_i$ is perfect:
@ -118,50 +156,65 @@ Suppose the sensor dynamical model $\hat{G}_i$ is perfect:
\hat{G}_i = G_i
\end{equation}
Complementary Filters
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}
Perfect dynamics + filter noise
** 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}
Its PSD is determined by:
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}
** $\mathcal{H}_2$ Synthesis of Complementary Filters
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_{\hat{n}}(\omega) d\omega} = \left\| \begin{matrix} H_1 N_1 \\ H_2 N_2 \end{matrix} \right\|_2
\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 $\left\| \begin{matrix} H_1 N_1 \\ H_2 N_2 \end{matrix} \right\|_2$ is minimized.
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 [[fig:h_two_optimal_fusion]]):
\begin{equation}
\begin{pmatrix}
z_1 \\ z_2 \\ v
\end{pmatrix} = \begin{bmatrix}
\end{pmatrix} = \underbrace{\begin{bmatrix}
N_1 & N_1 \\
0 & N_2 \\
1 & 0
\end{bmatrix} \begin{pmatrix}
\end{bmatrix}}_{P_{\mathcal{H}_2}} \begin{pmatrix}
w \\ u
\end{pmatrix}
\end{equation}
The $\mathcal{H}_2$ synthesis of the complementary filters thus minimized the RMS value of the super sensor noise.
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

Binary file not shown.

View File

@ -1,4 +1,4 @@
% Created 2020-09-22 mar. 10:15
% Created 2020-09-22 mar. 11:10
% Intended LaTeX compiler: pdflatex
\documentclass[conference]{IEEEtran}
\usepackage[utf8]{inputenc}
@ -36,7 +36,7 @@
\usepackage{showframe}
\author{\IEEEauthorblockN{Dehaeze Thomas} \IEEEauthorblockA{\textit{European Synchrotron Radiation Facility} \\ Grenoble, France\\ \textit{Precision Mechatronics Laboratory} \\ \textit{University of Liege}, Belgium \\ thomas.dehaeze@esrf.fr }\and \IEEEauthorblockN{Collette Christophe} \IEEEauthorblockA{\textit{BEAMS Department}\\ \textit{Free University of Brussels}, Belgium\\ \textit{Precision Mechatronics Laboratory} \\ \textit{University of Liege}, Belgium \\ ccollett@ulb.ac.be }}
\date{2020-09-22}
\title{Robust and Optimal Sensor Fusion}
\title{Optimal and Robust Sensor Fusion}
\begin{document}
\maketitle
@ -50,18 +50,61 @@ Complementary Filters, Sensor Fusion, H-Infinity Synthesis
\end{IEEEkeywords}
\section{Introduction}
\label{sec:org4ebc807}
\label{sec:orgfaa194e}
\label{sec:introduction}
Section \ref{sec:optimal_fusion}
Section \ref{sec:robust_fusion}
Section \ref{sec:optimal_robust_fusion}
Section \ref{sec:experimental_validation}
\section{Optimal Super Sensor Noise: \(\mathcal{H}_2\) Synthesis}
\label{sec:org86da8fa}
\label{sec:org08f9f0e}
\label{sec:optimal_fusion}
\subsection{Sensor Model}
\label{sec:org60743ab}
\label{sec:orgaa5ec56}
Let's consider a sensor measuring a physical quantity \(x\) (Figure \ref{fig:sensor_model}).
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}
\begin{equation}
\label{eq:unitary_sensor_noise_psd}
\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}):
\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}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/sensor_model.pdf}
\caption{\label{fig:sensor_model}Sensor Model}
\end{figure}
\subsection{Sensor Fusion Architecture}
\label{sec:org49f3948}
\label{sec:org17e7387}
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.
\begin{figure}[htbp]
\centering
@ -69,18 +112,14 @@ Complementary Filters, Sensor Fusion, H-Infinity Synthesis
\caption{\label{fig:sensor_fusion_noise_arch}Sensor Fusion Architecture with sensor noise}
\end{figure}
Let note \(\Phi\) the PSD.
\(\tilde{n}_1\) and \(\tilde{n}_2\) are white noise with unitary power spectral density:
\begin{equation}
\Phi_{\tilde{n}_i}(\omega) = 1
\end{equation}
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}
\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} N_1 \right) \tilde{n}_1 + \left( H_2 \hat{G}_2^{-1} N_2 \right) \tilde{n}_2
\end{split}
&+ \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:
@ -88,48 +127,49 @@ Suppose the sensor dynamical model \(\hat{G}_i\) is perfect:
\hat{G}_i = G_i
\end{equation}
Complementary Filters
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 \hat{G}_1^{-1} N_1 \right) \tilde{n}_1 + \left( H_2 \hat{G}_2^{-1} N_2 \right) \tilde{n}_2
\hat{x} = x + \left( H_1 N_1 \right) \tilde{n}_1 + \left( H_2 N_2 \right) \tilde{n}_2
\end{equation}
Perfect dynamics + filter noise
\subsection{Super Sensor Noise}
\label{sec:org06ff958}
\label{sec:orgb010f68}
Let's note \(n\) the super sensor noise.
Its PSD is determined by:
\begin{equation}
\Phi_n(\omega) = \left| H_1 \hat{G}_1^{-1} N_1 \right|^2 + \left| H_2 \hat{G}_2^{-1} N_2 \right|^2
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.
\subsection{\(\mathcal{H}_2\) Synthesis of Complementary Filters}
\label{sec:orgeaad969}
\label{sec:orgf1d735c}
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\):
\begin{equation}
\label{eq:rms_value_estimation}
\sigma_{n} = \sqrt{\int_0^\infty \Phi_{\hat{n}}(\omega) d\omega} = \left\| \begin{matrix} \hat{G}_1^{-1} N_1 H_1 \\ \hat{G}_2^{-1} N_2 H_2 \end{matrix} \right\|_2
\sigma_{n} = \sqrt{\int_0^\infty \Phi_{\hat{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 \(\left\| \begin{matrix} \hat{G}_1^{-1} N_1 H_1 \\ \hat{G}_2^{-1} N_2 H_2 \end{matrix} \right\|_2\) is minimized.
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 \(\left\| \begin{matrix} H_1 N_1 \\ H_2 N_2 \end{matrix} \right\|_2\) is minimized.
\begin{equation}
\begin{pmatrix}
z_1 \\ z_2 \\ v
\end{pmatrix} = \begin{bmatrix}
\hat{G}_1^{-1} N_1 & -\hat{G}_1^{-1} N_1 \\
0 & \hat{G}_2^{-1} N_2 \\
N_1 & N_1 \\
0 & N_2 \\
1 & 0
\end{bmatrix} \begin{pmatrix}
w \\ u
@ -145,17 +185,17 @@ The \(\mathcal{H}_2\) synthesis of the complementary filters thus minimized the
\end{figure}
\subsection{Example}
\label{sec:org50664f6}
\label{sec:org074433c}
\subsection{Robustness Problem}
\label{sec:orgaa5f7af}
\label{sec:org21dc09f}
\section{Robust Sensor Fusion: \(\mathcal{H}_\infty\) Synthesis}
\label{sec:org88ac630}
\label{sec:org2041184}
\label{sec:robust_fusion}
\subsection{Representation of Sensor Dynamical Uncertainty}
\label{sec:orgde90433}
\label{sec:orgfd12a50}
Suppose that the sensor dynamics \(G_i(s)\) can be modelled by a nominal d
\begin{equation}
@ -164,7 +204,7 @@ Suppose that the sensor dynamics \(G_i(s)\) can be modelled by a nominal d
\subsection{Sensor Fusion Architecture}
\label{sec:orgda3fb09}
\label{sec:org11c9d00}
\begin{equation}
\begin{split}
\hat{x} = \Big( {} & H_1 \hat{G}_1^{-1} \hat{G}_1 (1 + w_1 \Delta_1) \\
@ -189,7 +229,7 @@ Suppose the model inversion is equal to the nominal model:
\end{figure}
\subsection{Super Sensor Dynamical Uncertainty}
\label{sec:orgc9ca84c}
\label{sec:org6673a25}
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)|\).
@ -200,7 +240,7 @@ The uncertainty set of the transfer function from \(\hat{x}\) to \(x\) at freque
\end{figure}
\subsection{\(\mathcal{H_\infty}\) Synthesis of Complementary Filters}
\label{sec:orgbb494ca}
\label{sec:org41ccb1e}
In order to minimize the super sensor dynamical uncertainty
@ -211,14 +251,14 @@ In order to minimize the super sensor dynamical uncertainty
\end{figure}
\subsection{Example}
\label{sec:orgad1fefd}
\label{sec:orgba594da}
\section{Optimal and Robust Sensor Fusion: Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis}
\label{sec:orgfb16ef1}
\label{sec:orgc07eeab}
\label{sec:optimal_robust_fusion}
\subsection{Sensor Fusion Architecture}
\label{sec:orgd611f0b}
\label{sec:orgddd6d33}
\begin{figure}[htbp]
\centering
@ -227,10 +267,10 @@ In order to minimize the super sensor dynamical uncertainty
\end{figure}
\subsection{Synthesis Objective}
\label{sec:org567ad90}
\label{sec:org79824da}
\subsection{Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis}
\label{sec:org42ee907}
\label{sec:org247ac1c}
\begin{figure}[htbp]
\centering
@ -239,30 +279,30 @@ In order to minimize the super sensor dynamical uncertainty
\end{figure}
\subsection{Example}
\label{sec:org3967eb3}
\label{sec:org7af2158}
\section{Experimental Validation}
\label{sec:org06c0515}
\label{sec:orgb54c59b}
\label{sec:experimental_validation}
\subsection{Experimental Setup}
\label{sec:orgeaa87ec}
\label{sec:org40eadad}
\subsection{Sensor Noise and Dynamical Uncertainty}
\label{sec:orgad4e45c}
\label{sec:orgb81743f}
\subsection{Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis}
\label{sec:org1c2c752}
\label{sec:orgb2232ac}
\subsection{Super Sensor Noise and Dynamical Uncertainty}
\label{sec:org06f5947}
\label{sec:orgd80a558}
\section{Conclusion}
\label{sec:orgfb9928f}
\label{sec:org0da5eb6}
\label{sec:conclusion}
\section{Acknowledgment}
\label{sec:org267a8aa}
\label{sec:orge5b9b80}
\bibliography{ref}
\end{document}