dehaeze20_optim_robus_compl.../paper/paper.org

20 KiB

Optimal and Robust Sensor Fusion

\bibliographystyle{IEEEtran}

Abstract   ignore

Abstract text to be done

Keywords   ignore

Complementary Filters, Sensor Fusion, H-Infinity Synthesis

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} \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}

/tdehaeze/dehaeze20_optim_robus_compl_filte/src/commit/5ee0701244133136466894a8f63ba6712248ff4f/paper/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.

/tdehaeze/dehaeze20_optim_robus_compl_filte/src/commit/5ee0701244133136466894a8f63ba6712248ff4f/paper/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$:

\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:

\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.

/tdehaeze/dehaeze20_optim_robus_compl_filte/src/commit/5ee0701244133136466894a8f63ba6712248ff4f/paper/figs/h_two_optimal_fusion.pdf

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.

/tdehaeze/dehaeze20_optim_robus_compl_filte/src/commit/5ee0701244133136466894a8f63ba6712248ff4f/paper/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}

/tdehaeze/dehaeze20_optim_robus_compl_filte/src/commit/5ee0701244133136466894a8f63ba6712248ff4f/paper/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.

/tdehaeze/dehaeze20_optim_robus_compl_filte/src/commit/5ee0701244133136466894a8f63ba6712248ff4f/paper/figs/uncertainty_set_super_sensor.pdf

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}

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:

\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}

/tdehaeze/dehaeze20_optim_robus_compl_filte/src/commit/5ee0701244133136466894a8f63ba6712248ff4f/paper/figs/h_infinity_robust_fusion.pdf

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}

/tdehaeze/dehaeze20_optim_robus_compl_filte/src/commit/5ee0701244133136466894a8f63ba6712248ff4f/paper/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$

/tdehaeze/dehaeze20_optim_robus_compl_filte/src/commit/5ee0701244133136466894a8f63ba6712248ff4f/paper/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})$

/tdehaeze/dehaeze20_optim_robus_compl_filte/src/commit/5ee0701244133136466894a8f63ba6712248ff4f/paper/figs/mixed_h2_hinf_synthesis.pdf

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}