2020-10-25 10:05:56 +01:00
% Created 2020-10-25 dim. 10:05
2019-08-14 12:08:30 +02:00
% Intended LaTeX compiler: pdflatex
2020-08-17 17:56:40 +02:00
\documentclass [conference] { IEEEtran}
2019-08-14 12:08:30 +02:00
\usepackage [utf8] { inputenc}
\usepackage [T1] { fontenc}
\usepackage { graphicx}
\usepackage { grffile}
\usepackage { longtable}
\usepackage { wrapfig}
\usepackage { rotating}
\usepackage [normalem] { ulem}
\usepackage { amsmath}
\usepackage { textcomp}
\usepackage { amssymb}
\usepackage { capt-of}
\usepackage { hyperref}
\usepackage [most] { tcolorbox}
2020-08-17 17:56:40 +02:00
\usepackage { bm}
\usepackage { booktabs}
\usepackage { tabularx}
\usepackage { array}
2019-08-14 12:08:30 +02:00
\usepackage { siunitx}
2020-08-17 17:56:40 +02:00
\IEEEoverridecommandlockouts
\usepackage { cite}
\usepackage { amsmath,amssymb,amsfonts}
\usepackage { algorithmic}
\usepackage { graphicx}
\usepackage { textcomp}
\usepackage { xcolor}
\usepackage { cases}
\usepackage { tabularx,siunitx,booktabs}
\usepackage { algorithmic}
\usepackage { import, hyperref}
\renewcommand { \citedash } { --}
\def \BibTeX { { \rm B\kern -.05em{ \sc i\kern -.025em b} \kern -.08em T\kern -.1667em\lower .7ex\hbox { E} \kern -.125emX} }
2020-09-22 09:51:26 +02:00
\usepackage { showframe}
2020-08-17 17:56:40 +02:00
\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 } }
2020-10-25 10:05:56 +01:00
\date { 2020-10-25}
2020-09-22 11:29:13 +02:00
\title { Optimal and Robust Sensor Fusion}
2019-08-14 12:08:30 +02:00
\begin { document}
\maketitle
\begin { abstract}
Abstract text to be done
\end { abstract}
\begin { IEEEkeywords}
2020-08-17 17:56:40 +02:00
Complementary Filters, Sensor Fusion, H-Infinity Synthesis
2019-08-14 12:08:30 +02:00
\end { IEEEkeywords}
\section { Introduction}
2020-10-25 10:05:56 +01:00
\label { sec:org2a4e2c2}
2020-08-17 17:56:40 +02:00
\label { sec:introduction}
2019-08-14 12:08:30 +02:00
2020-09-22 21:58:37 +02:00
\begin { itemize}
\item Section \ref { sec:optimal_ fusion}
\item Section \ref { sec:robust_ fusion}
\item Section \ref { sec:optimal_ robust_ fusion}
\item Section \ref { sec:experimental_ validation}
\end { itemize}
2020-09-22 11:29:13 +02:00
2020-08-17 17:56:40 +02:00
\section { Optimal Super Sensor Noise: \( \mathcal { H } _ 2 \) Synthesis}
2020-10-25 10:05:56 +01:00
\label { sec:orgb0fb3f0}
2020-08-17 17:56:40 +02:00
\label { sec:optimal_ fusion}
2019-08-14 12:08:30 +02:00
2020-09-22 09:51:26 +02:00
\subsection { Sensor Model}
2020-10-25 10:05:56 +01:00
\label { sec:org9e4a17b}
2020-09-22 21:58:37 +02:00
Let's consider a sensor measuring a physical quantity \( x \) (Figure \ref { fig:sensor_ model_ noise} ).
2020-09-22 11:29:13 +02:00
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}
2020-09-22 21:58:37 +02:00
\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}
2020-09-22 11:29:13 +02:00
\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}
2020-09-22 21:58:37 +02:00
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} ):
2020-09-22 11:29:13 +02:00
\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
2020-09-22 21:58:37 +02:00
\includegraphics [scale=1] { figs/sensor_ model_ noise.pdf}
\caption { \label { fig:sensor_ model_ noise} Sensor Model}
2020-09-22 11:29:13 +02:00
\end { figure}
2020-09-22 09:51:26 +02:00
2020-08-17 17:56:40 +02:00
\subsection { Sensor Fusion Architecture}
2020-10-25 10:05:56 +01:00
\label { sec:orge7841b3}
2020-09-22 11:29:13 +02:00
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.
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/sensor_ fusion_ noise_ arch.pdf}
2020-09-22 10:15:26 +02:00
\caption { \label { fig:sensor_ fusion_ noise_ arch} Sensor Fusion Architecture with sensor noise}
2020-08-17 17:56:40 +02:00
\end { figure}
2019-08-14 12:08:30 +02:00
2020-09-22 11:29:13 +02:00
The output of both sensors \( ( v 1 ,v 2 ) \) 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 } \) .
2020-09-22 10:15:26 +02:00
2020-09-22 09:51:26 +02:00
\begin { equation}
2020-09-22 11:29:13 +02:00
\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}
2020-09-22 09:51:26 +02:00
\end { equation}
Suppose the sensor dynamical model \( \hat { G } _ i \) is perfect:
\begin { equation}
\hat { G} _ i = G_ i
\end { equation}
2020-09-22 11:29:13 +02:00
We considered here complementary filters:
2020-09-22 09:51:26 +02:00
\begin { equation}
H_ 1(s) + H_ 2(s) = 1
\end { equation}
2020-09-22 11:29:13 +02:00
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:
2020-09-22 09:51:26 +02:00
\begin { equation}
2020-09-22 11:29:13 +02:00
\hat { x} = x + \left ( H_ 1 N_ 1 \right ) \tilde { n} _ 1 + \left ( H_ 2 N_ 2 \right ) \tilde { n} _ 2
2020-09-22 09:51:26 +02:00
\end { equation}
2020-08-17 17:56:40 +02:00
\subsection { Super Sensor Noise}
2020-10-25 10:05:56 +01:00
\label { sec:orge42a7c0}
2020-09-22 09:51:26 +02:00
Let's note \( n \) the super sensor noise.
2020-09-22 11:29:13 +02:00
\begin { equation}
n = \left ( H_ 1 N_ 1 \right ) \tilde { n} _ 1 + \left ( H_ 2 N_ 2 \right ) \tilde { n} _ 2
\end { equation}
2020-09-22 09:51:26 +02:00
2020-09-22 11:29:13 +02:00
As the noise of both sensors are considered to be uncorrelated, the PSD of the super sensor noise is computed as follow:
2020-09-22 09:51:26 +02:00
\begin { equation}
2020-09-22 11:29:13 +02:00
\Phi _ n(\omega ) = \left | H_ 1 N_ 1 \right |^ 2 + \left | H_ 2 N_ 2 \right |^ 2
2020-09-22 09:51:26 +02:00
\end { equation}
2019-08-14 12:08:30 +02:00
2020-09-22 11:29:13 +02:00
It is clear that the PSD of the super sensor depends on the norm of the complementary filters.
2020-08-17 17:56:40 +02:00
\subsection { \( \mathcal { H } _ 2 \) Synthesis of Complementary Filters}
2020-10-25 10:05:56 +01:00
\label { sec:org150fd28}
2020-09-22 21:58:37 +02:00
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 } \) .
2020-09-22 09:51:26 +02:00
And the goal is the minimize the Root Mean Square (RMS) value of \( n \) :
\begin { equation}
\label { eq:rms_ value_ estimation}
2020-09-22 21:58:37 +02:00
\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
2020-09-22 09:51:26 +02:00
\end { equation}
2020-09-22 21:58:37 +02:00
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.
2020-09-22 09:51:26 +02:00
2020-09-22 21:58:37 +02:00
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} ):
2020-09-22 09:51:26 +02:00
\begin { equation}
\begin { pmatrix}
z_ 1 \\ z_ 2 \\ v
2020-09-22 21:58:37 +02:00
\end { pmatrix} = \underbrace { \begin { bmatrix}
2020-10-05 15:42:08 +02:00
N_ 1 & -N_ 1 \\
0 & N_ 2 \\
2020-09-22 11:29:13 +02:00
1 & 0
2020-09-22 21:58:37 +02:00
\end { bmatrix} } _ { P_ { \mathcal { H} _ 2} } \begin { pmatrix}
2020-09-22 09:51:26 +02:00
w \\ u
\end { pmatrix}
\end { equation}
2020-09-22 21:58:37 +02:00
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:
\begin { equation}
\label { eq:H2_ norm}
\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.
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/h_ two_ optimal_ fusion.pdf}
2020-09-22 10:15:26 +02:00
\caption { \label { fig:h_ two_ optimal_ fusion} Generalized plant \( P _ { \mathcal { H } _ 2 } \) used for the \( \mathcal { H } _ 2 \) synthesis of complementary filters}
2020-08-17 17:56:40 +02:00
\end { figure}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\subsection { Example}
2020-10-25 10:05:56 +01:00
\label { sec:org4abe5c3}
2020-10-05 15:42:08 +02:00
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/sensors_ nominal_ dynamics.pdf}
\caption { \label { fig:sensors_ nominal_ dynamics} Sensor nominal dynamics from the velocity of the object to the output voltage}
\end { figure}
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/sensors_ noise.pdf}
\caption { \label { fig:sensors_ noise} Amplitude spectral density of the sensors \( \sqrt { \Phi _ { n _ i } ( \omega ) } = |N _ i ( j \omega ) | \) }
\end { figure}
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/htwo_ comp_ filters.pdf}
\caption { \label { fig:htwo_ comp_ filters} Obtained complementary filters using the \( \mathcal { H } _ 2 \) Synthesis}
\end { figure}
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/psd_ sensors_ htwo_ synthesis.pdf}
\caption { \label { fig:psd_ sensors_ htwo_ synthesis} Power Spectral Density of the estimated \( \hat { x } \) using the two sensors alone and using the optimally fused signal}
\end { figure}
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/super_ sensor_ time_ domain_ h2.pdf}
\caption { \label { fig:super_ sensor_ time_ domain_ h2} Noise of individual sensors and noise of the super sensor}
\end { figure}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\subsection { Robustness Problem}
2020-10-25 10:05:56 +01:00
\label { sec:org1116fe0}
2020-10-05 15:42:08 +02:00
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/sensors_ nominal_ dynamics_ and_ uncertainty.pdf}
\caption { \label { fig:sensors_ nominal_ dynamics_ and_ uncertainty} Nominal Sensor Dynamics \( \hat { G } _ i \) (solid lines) as well as the spread of the dynamical uncertainty (background color)}
\end { figure}
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/super_ sensor_ dynamical_ uncertainty_ H2.pdf}
\caption { \label { fig:super_ sensor_ dynamical_ uncertainty_ H2} Super sensor dynamical uncertainty when using the \( \mathcal { H } _ 2 \) Synthesis}
\end { figure}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\section { Robust Sensor Fusion: \( \mathcal { H } _ \infty \) Synthesis}
2020-10-25 10:05:56 +01:00
\label { sec:orgcf4e02a}
2020-08-17 17:56:40 +02:00
\label { sec:robust_ fusion}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\subsection { Representation of Sensor Dynamical Uncertainty}
2020-10-25 10:05:56 +01:00
\label { sec:org45ee620}
2020-09-22 10:15:26 +02:00
2020-09-22 21:58:37 +02:00
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:
2020-09-22 10:15:26 +02:00
\begin { equation}
2020-09-22 21:58:37 +02:00
G_ i(s) = \hat { G} _ i(s) \left ( 1 + W_ i(s) \Delta _ i(s) \right ); \quad |\Delta _ i(j\omega )| < 1 \forall \omega
2020-09-22 10:15:26 +02:00
\end { equation}
2020-09-22 21:58:37 +02:00
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 \) .
2020-09-22 10:15:26 +02:00
2020-09-22 21:58:37 +02:00
The sensor can then be represented as shown in Figure \ref { fig:sensor_ model_ uncertainty} .
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/sensor_ model_ uncertainty.pdf}
\caption { \label { fig:sensor_ model_ uncertainty} Sensor Model including Dynamical Uncertainty}
\end { figure}
2020-09-22 09:51:26 +02:00
\subsection { Sensor Fusion Architecture}
2020-10-25 10:05:56 +01:00
\label { sec:orgec549bc}
2020-09-22 21:58:37 +02:00
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.
2020-09-22 09:51:26 +02:00
2020-09-22 21:58:37 +02:00
The super sensor estimate is then:
2020-09-22 09:51:26 +02:00
\begin { equation}
2020-09-22 21:58:37 +02:00
\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}
2020-09-22 09:51:26 +02:00
\end { equation}
2020-09-22 21:58:37 +02:00
with \( \Delta _ i \) is any transfer function satisfying \( \| \Delta _ i \| _ \infty < 1 \) .
2020-09-22 09:51:26 +02:00
2020-09-22 21:58:37 +02:00
As \( H _ 1 \) and \( H _ 2 \) are complementary filters, we finally have:
2020-09-22 09:51:26 +02:00
\begin { equation}
2020-09-22 21:58:37 +02:00
\hat { x} = \left ( 1 + H_ 1 W_ 1 \Delta _ 1 + H_ 2 W_ 2 \Delta _ 2 \right ) x, \quad \| \Delta _ i\| _ \infty <1
2020-09-22 09:51:26 +02:00
\end { equation}
2019-08-14 12:08:30 +02:00
\begin { figure} [htbp]
\centering
2020-08-17 17:56:40 +02:00
\includegraphics [scale=1] { figs/sensor_ fusion_ arch_ uncertainty.pdf}
2020-09-22 10:15:26 +02:00
\caption { \label { fig:sensor_ fusion_ arch_ uncertainty} Sensor Fusion Architecture with sensor model uncertainty}
2019-08-14 12:08:30 +02:00
\end { figure}
2020-08-17 17:56:40 +02:00
\subsection { Super Sensor Dynamical Uncertainty}
2020-10-25 10:05:56 +01:00
\label { sec:org6867184}
2020-09-22 21:58:37 +02:00
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} .
2020-09-22 09:51:26 +02:00
2020-09-22 21:58:37 +02:00
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.
2019-08-14 12:08:30 +02:00
\begin { figure} [htbp]
\centering
2020-08-17 17:56:40 +02:00
\includegraphics [scale=1] { figs/uncertainty_ set_ super_ sensor.pdf}
2020-09-22 10:15:26 +02:00
\caption { \label { fig:uncertainty_ set_ super_ sensor} Super Sensor model uncertainty displayed in the complex plane}
2019-08-14 12:08:30 +02:00
\end { figure}
2020-09-22 21:58:37 +02:00
At frequencies where \( \left |W _ i ( j \omega ) \right | > 1 \) the uncertainty exceeds \( 100 \% \) and sensor fusion is impossible.
2020-08-17 17:56:40 +02:00
\subsection { \( \mathcal { H _ \infty } \) Synthesis of Complementary Filters}
2020-10-25 10:05:56 +01:00
\label { sec:org9cbbe5b}
2020-09-22 21:58:37 +02:00
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.
2020-09-23 15:33:27 +02:00
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}
2020-10-05 15:42:08 +02:00
This is actually almost equivalent as to have (within a factor \( \sqrt { 2 } \) ):
2020-09-23 15:33:27 +02:00
\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} ):
2020-09-22 21:58:37 +02:00
\begin { equation}
\begin { pmatrix}
z_ 1 \\ z_ 2 \\ v
\end { pmatrix} = \underbrace { \begin { bmatrix}
2020-10-05 15:42:08 +02:00
W_ u W_ 1 & -W_ u W_ 1 \\
0 & W_ u W_ 2 \\
1 & 0
2020-09-22 21:58:37 +02:00
\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:
\begin { equation}
\label { eq:Hinf_ norm}
2020-09-23 15:33:27 +02:00
\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
2020-09-22 21:58:37 +02:00
\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}
2020-09-22 09:51:26 +02:00
2020-08-17 17:56:40 +02:00
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/h_ infinity_ robust_ fusion.pdf}
2020-09-22 10:15:26 +02:00
\caption { \label { fig:h_ infinity_ robust_ fusion} Generalized plant \( P _ { \mathcal { H } _ \infty } \) used for the \( \mathcal { H } _ \infty \) synthesis of complementary filters}
2020-08-17 17:56:40 +02:00
\end { figure}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\subsection { Example}
2020-10-25 10:05:56 +01:00
\label { sec:orgfc0d330}
2020-10-05 15:42:08 +02:00
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/sensors_ uncertainty_ weights.pdf}
\caption { \label { fig:sensors_ uncertainty_ weights} Magnitude of the multiplicative uncertainty weights \( |W _ i ( j \omega ) | \) }
\end { figure}
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/weight_ uncertainty_ bounds_ Wu.pdf}
\caption { \label { fig:weight_ uncertainty_ bounds_ Wu} Uncertainty region of the two sensors as well as the wanted maximum uncertainty of the super sensor (dashed lines)}
\end { figure}
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/hinf_ comp_ filters.pdf}
\caption { \label { fig:hinf_ comp_ filters} Obtained complementary filters using the \( \mathcal { H } _ \infty \) Synthesis}
\end { figure}
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/super_ sensor_ dynamical_ uncertainty_ Hinf.pdf}
\caption { \label { fig:super_ sensor_ dynamical_ uncertainty_ Hinf} Super sensor dynamical uncertainty (solid curve) when using the \( \mathcal { H } _ \infty \) Synthesis}
\end { figure}
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/psd_ sensors_ hinf_ synthesis.pdf}
\caption { \label { fig:psd_ sensors_ hinf_ synthesis} Power Spectral Density of the estimated \( \hat { x } \) using the two sensors alone and using the \( \mathcal { H } _ \infty \) synthesis}
\end { figure}
2020-09-22 21:58:37 +02:00
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\section { Optimal and Robust Sensor Fusion: Mixed \( \mathcal { H } _ 2 / \mathcal { H } _ \infty \) Synthesis}
2020-10-25 10:05:56 +01:00
\label { sec:org81d3977}
2020-08-17 17:56:40 +02:00
\label { sec:optimal_ robust_ fusion}
2019-08-14 12:08:30 +02:00
2020-10-05 15:42:08 +02:00
\subsection { Sensor with noise and model uncertainty}
2020-10-25 10:05:56 +01:00
\label { sec:orgcd51fc4}
2020-10-05 15:42:08 +02:00
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}
2020-09-22 21:58:37 +02:00
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/sensor_ model_ noise_ uncertainty.pdf}
\caption { \label { fig:sensor_ model_ noise_ uncertainty} Sensor Model including Noise and Dynamical Uncertainty}
\end { figure}
2020-10-05 15:42:08 +02:00
\subsection { Sensor Fusion Architecture}
2020-10-25 10:05:56 +01:00
\label { sec:org32c4c98}
2020-10-05 15:42:08 +02:00
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 \)
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/sensor_ fusion_ arch_ full.pdf}
2020-09-22 10:15:26 +02:00
\caption { \label { fig:sensor_ fusion_ arch_ full} Super Sensor Fusion with both sensor noise and sensor model uncertainty}
2020-08-17 17:56:40 +02:00
\end { figure}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\subsection { Mixed \( \mathcal { H } _ 2 / \mathcal { H } _ \infty \) Synthesis}
2020-10-25 10:05:56 +01:00
\label { sec:org73e0335}
2020-10-05 15:42:08 +02:00
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:
\begin { itemize}
\item Keep the \( \mathcal { H } _ \infty \) norm from \( w \) to \( ( z _ { \infty , 1 } , z _ { \infty , 2 } ) \) below \( 1 \)
\item Minimize the \( \mathcal { H } _ 2 \) norm from \( w \) to \( ( z _ { 2 , 1 } , z _ { 2 , 2 } ) \)
\end { itemize}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/mixed_ h2_ hinf_ synthesis.pdf}
2020-09-22 10:15:26 +02:00
\caption { \label { fig:mixed_ h2_ hinf_ synthesis} Generalized plant \( P _ { \mathcal { H } _ 2 / \matlcal { H } _ \infty } \) used for the mixed \( \mathcal { H } _ 2 / \mathcal { H } _ \infty \) synthesis of complementary filters}
2020-08-17 17:56:40 +02:00
\end { figure}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\subsection { Example}
2020-10-25 10:05:56 +01:00
\label { sec:orga68c808}
2020-10-05 15:42:08 +02:00
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/htwo_ hinf_ comp_ filters.pdf}
\caption { \label { fig:htwo_ hinf_ comp_ filters} Obtained complementary filters after mixed \( \mathcal { H } _ 2 / \mathcal { H } _ \infty \) synthesis}
\end { figure}
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/psd_ sensors_ htwo_ hinf_ synthesis.pdf}
\caption { \label { fig:psd_ sensors_ htwo_ hinf_ synthesis} Power Spectral Density of the Super Sensor obtained with the mixed \( \mathcal { H } _ 2 / \mathcal { H } _ \infty \) synthesis}
\end { figure}
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/super_ sensor_ time_ domain_ h2_ hinf.pdf}
\caption { \label { fig:super_ sensor_ time_ domain_ h2_ hinf} Noise of individual sensors and noise of the super sensor}
\end { figure}
\begin { figure} [htbp]
\centering
\includegraphics [scale=1] { figs/super_ sensor_ dynamical_ uncertainty_ Htwo_ Hinf.pdf}
\caption { \label { fig:super_ sensor_ dynamical_ uncertainty_ Htwo_ Hinf} Super sensor dynamical uncertainty (solid curve) when using the mixed \( \mathcal { H } _ 2 / \mathcal { H } _ \infty \) Synthesis}
\end { figure}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\section { Experimental Validation}
2020-10-25 10:05:56 +01:00
\label { sec:orga4af6ce}
2020-08-17 17:56:40 +02:00
\label { sec:experimental_ validation}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\subsection { Experimental Setup}
2020-10-25 10:05:56 +01:00
\label { sec:orgab10fd3}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\subsection { Sensor Noise and Dynamical Uncertainty}
2020-10-25 10:05:56 +01:00
\label { sec:orgc6d5bae}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\subsection { Mixed \( \mathcal { H } _ 2 / \mathcal { H } _ \infty \) Synthesis}
2020-10-25 10:05:56 +01:00
\label { sec:orga5c7815}
2019-08-14 12:08:30 +02:00
2020-08-17 17:56:40 +02:00
\subsection { Super Sensor Noise and Dynamical Uncertainty}
2020-10-25 10:05:56 +01:00
\label { sec:orgd7da409}
2019-08-14 12:08:30 +02:00
\section { Conclusion}
2020-10-25 10:05:56 +01:00
\label { sec:org6eddbc8}
2019-08-14 12:08:30 +02:00
\label { sec:conclusion}
\section { Acknowledgment}
2020-10-25 10:05:56 +01:00
\label { sec:org44ed488}
2019-08-14 12:08:30 +02:00
\bibliography { ref}
2020-08-17 17:56:40 +02:00
\end { document}