\ No newline at end of file
diff --git a/_relative_includes/architecture_sptm.html b/_relative_includes/architecture_sptm.html
deleted file mode 100644
index 8043bbd..0000000
--- a/_relative_includes/architecture_sptm.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- SPTM Retrieval
-
-
-
- SPTM Locomotion
-
-
-
\ No newline at end of file
diff --git a/_relative_includes/architecture_ving.html b/_relative_includes/architecture_ving.html
deleted file mode 100644
index 92badf2..0000000
--- a/_relative_includes/architecture_ving.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- ViNG
-
-
-
\ No newline at end of file
diff --git a/_relative_includes/augmentations_images.html b/_relative_includes/augmentations_images.html
deleted file mode 100644
index 0a60e51..0000000
--- a/_relative_includes/augmentations_images.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
- {{ include.caption_1 }}
-
-
-
- {{ include.caption_2 }}
-
-
-
- {{ include.caption_3 }}
-
-
-
- {{ include.caption_4 }}
-
-
-
- {{ include.caption_5 }}
-
-
-
\ No newline at end of file
diff --git a/_relative_includes/banana_comparison.html b/_relative_includes/banana_comparison.html
new file mode 100644
index 0000000..54d39ad
--- /dev/null
+++ b/_relative_includes/banana_comparison.html
@@ -0,0 +1,8 @@
+
+
+
+
+ Comparison of the HEF capturing the banana-shape distribution versus three other well-established filtering approaches.
+
+
+
diff --git a/_relative_includes/banana_gif.html b/_relative_includes/banana_gif.html
new file mode 100644
index 0000000..6167423
--- /dev/null
+++ b/_relative_includes/banana_gif.html
@@ -0,0 +1,8 @@
+
+
+
+
+ The banana-shape distribution after consecutive prediction steps.
+
+
+
\ No newline at end of file
diff --git a/_relative_includes/doors_video.html b/_relative_includes/doors_video.html
new file mode 100644
index 0000000..5668f64
--- /dev/null
+++ b/_relative_includes/doors_video.html
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/_relative_includes/graph_embedding_images_1.html b/_relative_includes/graph_embedding_images_1.html
deleted file mode 100644
index 558dea6..0000000
--- a/_relative_includes/graph_embedding_images_1.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- Aloha
-
-
-
-
- Annawan
-
-
-
-
- Cantwell
-
-
-
-
- Dunmor
-
-
-
-
-
\ No newline at end of file
diff --git a/_relative_includes/graph_embedding_images_2.html b/_relative_includes/graph_embedding_images_2.html
deleted file mode 100644
index b689fdc..0000000
--- a/_relative_includes/graph_embedding_images_2.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- Eastville
-
-
-
-
- Hambleton
-
-
-
-
- Nicut
-
-
-
-
- Sodaville
-
-
-
-
-
\ No newline at end of file
diff --git a/_relative_includes/hef_comparison.html b/_relative_includes/hef_comparison.html
new file mode 100644
index 0000000..80408e0
--- /dev/null
+++ b/_relative_includes/hef_comparison.html
@@ -0,0 +1,15 @@
+
\ No newline at end of file
diff --git a/_relative_includes/jackal_video.html b/_relative_includes/jackal_video.html
deleted file mode 100644
index a44a868..0000000
--- a/_relative_includes/jackal_video.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/_relative_includes/landmarks.html b/_relative_includes/landmarks.html
new file mode 100644
index 0000000..697b77c
--- /dev/null
+++ b/_relative_includes/landmarks.html
@@ -0,0 +1,24 @@
+
\ No newline at end of file
diff --git a/_relative_includes/main_table.html b/_relative_includes/main_table.html
deleted file mode 100644
index 0417160..0000000
--- a/_relative_includes/main_table.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/_relative_includes/main_video.html b/_relative_includes/main_video.html
index 536f738..210df88 100644
--- a/_relative_includes/main_video.html
+++ b/_relative_includes/main_video.html
@@ -1,5 +1,5 @@
-
\ No newline at end of file
diff --git a/_relative_includes/mathjax.html b/_relative_includes/mathjax.html
deleted file mode 100644
index e950e7a..0000000
--- a/_relative_includes/mathjax.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
diff --git a/_relative_includes/method_diagram.html b/_relative_includes/method_diagram.html
new file mode 100644
index 0000000..f3a1a07
--- /dev/null
+++ b/_relative_includes/method_diagram.html
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_relative_includes/potentials.html b/_relative_includes/potentials.html
deleted file mode 100644
index fab9a1b..0000000
--- a/_relative_includes/potentials.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/_relative_includes/row_videos_x2.html b/_relative_includes/row_videos_x2.html
new file mode 100644
index 0000000..0520d0b
--- /dev/null
+++ b/_relative_includes/row_videos_x2.html
@@ -0,0 +1,19 @@
+
+
{{ include.title }}
+
+
+
{{ include.title_1 }}
+
+
+
+
+
{{ include.title_2 }}
+
+
+
+
+
\ No newline at end of file
diff --git a/_relative_includes/jackal_table.html b/_relative_includes/runtime_table.html
similarity index 69%
rename from _relative_includes/jackal_table.html
rename to _relative_includes/runtime_table.html
index bc155cd..fb368cd 100644
--- a/_relative_includes/jackal_table.html
+++ b/_relative_includes/runtime_table.html
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/_relative_includes/simulator_table.html b/_relative_includes/simulator_table.html
new file mode 100644
index 0000000..34851e9
--- /dev/null
+++ b/_relative_includes/simulator_table.html
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/_relative_includes/simulator_video.html b/_relative_includes/simulator_video.html
new file mode 100644
index 0000000..1909d76
--- /dev/null
+++ b/_relative_includes/simulator_video.html
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/_relative_includes/uwb_table.html b/_relative_includes/uwb_table.html
new file mode 100644
index 0000000..81e67c7
--- /dev/null
+++ b/_relative_includes/uwb_table.html
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/img/ADD_PROJECT_IMAGES_HERE b/img/ADD_PROJECT_IMAGES_HERE
deleted file mode 100644
index e69de29..0000000
diff --git a/img/banana.png b/img/banana.png
new file mode 100644
index 0000000..156fbf3
Binary files /dev/null and b/img/banana.png differ
diff --git a/img/comparison/kld_vs_kappa.jpg b/img/comparison/kld_vs_kappa.jpg
new file mode 100644
index 0000000..4a2bed6
Binary files /dev/null and b/img/comparison/kld_vs_kappa.jpg differ
diff --git a/img/comparison/kld_vs_num_samples.jpg b/img/comparison/kld_vs_num_samples.jpg
new file mode 100644
index 0000000..f4cb05f
Binary files /dev/null and b/img/comparison/kld_vs_num_samples.jpg differ
diff --git a/img/comparison/von_mise_reconstruction.jpg b/img/comparison/von_mise_reconstruction.jpg
new file mode 100644
index 0000000..e8809d0
Binary files /dev/null and b/img/comparison/von_mise_reconstruction.jpg differ
diff --git a/img/doors/result.mp4 b/img/doors/result.mp4
new file mode 100644
index 0000000..0bf96d8
Binary files /dev/null and b/img/doors/result.mp4 differ
diff --git a/img/github.png b/img/github.png
new file mode 100644
index 0000000..ea6ff54
Binary files /dev/null and b/img/github.png differ
diff --git a/img/hef.mp4 b/img/hef.mp4
new file mode 100644
index 0000000..aa9f082
Binary files /dev/null and b/img/hef.mp4 differ
diff --git a/img/moving_banana.gif b/img/moving_banana.gif
new file mode 100644
index 0000000..c627e34
Binary files /dev/null and b/img/moving_banana.gif differ
diff --git a/img/o4a.mp4 b/img/o4a.mp4
new file mode 100644
index 0000000..7bb9148
Binary files /dev/null and b/img/o4a.mp4 differ
diff --git a/img/paper_image.png b/img/paper_image.png
new file mode 100644
index 0000000..c2d060e
Binary files /dev/null and b/img/paper_image.png differ
diff --git a/img/result.mp4 b/img/result.mp4
new file mode 100644
index 0000000..c23f82b
Binary files /dev/null and b/img/result.mp4 differ
diff --git a/img/runtime_table.png b/img/runtime_table.png
new file mode 100644
index 0000000..4b537bd
Binary files /dev/null and b/img/runtime_table.png differ
diff --git a/img/simulator/table.png b/img/simulator/table.png
new file mode 100644
index 0000000..eea9945
Binary files /dev/null and b/img/simulator/table.png differ
diff --git a/img/simulator/video.mp4 b/img/simulator/video.mp4
new file mode 100644
index 0000000..9ca38e6
Binary files /dev/null and b/img/simulator/video.mp4 differ
diff --git a/img/spaces.svg b/img/spaces.svg
new file mode 100644
index 0000000..e0fda1d
--- /dev/null
+++ b/img/spaces.svg
@@ -0,0 +1,1733 @@
+
+
+
+
diff --git a/img/timelapse.mp4 b/img/timelapse.mp4
new file mode 100644
index 0000000..e012fdc
Binary files /dev/null and b/img/timelapse.mp4 differ
diff --git a/img/uwb/five_landmarks.png b/img/uwb/five_landmarks.png
new file mode 100644
index 0000000..8ff5c88
Binary files /dev/null and b/img/uwb/five_landmarks.png differ
diff --git a/img/uwb/four_landmarks.png b/img/uwb/four_landmarks.png
new file mode 100644
index 0000000..26b0ed4
Binary files /dev/null and b/img/uwb/four_landmarks.png differ
diff --git a/img/uwb/main.png b/img/uwb/main.png
new file mode 100644
index 0000000..3e392f3
Binary files /dev/null and b/img/uwb/main.png differ
diff --git a/img/uwb/one_landmark.png b/img/uwb/one_landmark.png
new file mode 100644
index 0000000..b50da2f
Binary files /dev/null and b/img/uwb/one_landmark.png differ
diff --git a/img/uwb/result.gif b/img/uwb/result.gif
new file mode 100644
index 0000000..02e60dc
Binary files /dev/null and b/img/uwb/result.gif differ
diff --git a/img/uwb/result.mp4 b/img/uwb/result.mp4
new file mode 100644
index 0000000..c23f82b
Binary files /dev/null and b/img/uwb/result.mp4 differ
diff --git a/img/uwb/three_landmarks.png b/img/uwb/three_landmarks.png
new file mode 100644
index 0000000..1677a20
Binary files /dev/null and b/img/uwb/three_landmarks.png differ
diff --git a/img/uwb/two_landmarks.png b/img/uwb/two_landmarks.png
new file mode 100644
index 0000000..7ad3841
Binary files /dev/null and b/img/uwb/two_landmarks.png differ
diff --git a/img/uwb/uwb_table.png b/img/uwb/uwb_table.png
new file mode 100644
index 0000000..0290156
Binary files /dev/null and b/img/uwb/uwb_table.png differ
diff --git a/index.html b/index.html
deleted file mode 100644
index fd078ab..0000000
--- a/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
----
-layout: default
-title: Project template
-permalink: index.html
----
-
-Edit this
diff --git a/index.md b/index.md
new file mode 100644
index 0000000..f1888f5
--- /dev/null
+++ b/index.md
@@ -0,0 +1,161 @@
+---
+layout: default
+title: Project template
+permalink: index.html
+use_math: True
+carousels:
+ - images:
+ - image: "img/moving_banana.gif"
+ - image: "img/banana.png"
+---
+
+
The Harmonic Exponential Filter for Nonparametric Estimation on Motion Groups
+
+
+[//]: # (TODO: Fix paper badge)
+
+{% include_relative _relative_includes/badges.html %}
+
+
+
+[//]: # (TODO: Update video once final one is ready)
+
+{% include_relative _relative_includes/main_video.html %}
+
+
+
+[//]: # (Abstract)
+
+
+ Abstract. Bayesian estimation is a vital tool in robotics as it allows systems to update the belief of the robot state using incomplete information from noisy sensors. To render the state estimation problem tractable, many systems assume that the motion and measurement noise, as well as the state distribution, are all unimodal and Gaussian. However, there are numerous scenarios and systems that do not comply with these assumptions. Existing non-parametric filters that are used to model multimodal distributions have drawbacks that limit their ability to represent a diverse set of distributions.
+In this paper, we introduce a novel approach to nonparametric Bayesian filtering to cope with multimodal distributions using harmonic exponential distributions. This approach leverages two key insights of harmonic exponential distributions: a) the product of two distributions can be expressed as the element-wise addition of their log-likelihood Fourier coefficients, and b) the convolution of two distributions can be efficiently computed as the tensor product of their Fourier coefficients. These observations enable the development of an efficient and exact solution to the Bayes filter up to the band limit of a Fourier transform. We demonstrate our filter's superior performance compared with established nonparametric filtering methods across a range of simulated and real-world localization tasks.
+
+
+## About
+[//]: # (TODO: update paper link)
+
+ In this page we present an intuitive introduction to our Harmonic Exponential filter, as well as additional videos. For further information and a more detailed explanation, please refer to our paper!
+
+
+## Task
+
+ In this work, we address the problem of non-parametric Bayesian filtering for multimodal distributions. The goal is to estimate the posterior belief $bel(x_t) = p(x_t\vert z_{1:t},u_{1:t})$ over the state $x_t$ of an agent at time $t$, given a sequence of noisy measurements $z_{1:t}$ and controls $u_{1:t}$. We consider the case where the state space is defined on a motion group, such as $SE(2)$, with a focus on tasks involving multimodal localization from range-only and bearing-only sensors.
+
+
+## Method
+
+ We propose the Harmonic Exponential Filter (HEF), an exact approach to computing the posterior belief $p(x_t\vert z_{1:t},u_{1:t})$ of the Bayes filter on a compact Lie group (such as motion groups), for band limited prior $p(x_{t-1}\vert z_{1:t-1},u_{1:t-1})$, motion $p(x_t \vert u_t, x_{t-1})$, and measurement likelihood $p(z_t \vert x_t)$. The key idea of our filter is to leverage the harmonic exponential distribution, a class of probability distributions supported on groups and homogeneous spaces and whose parameters are the Fourier coefficients of the log-likelihood function. To preserve the structure of motion groups, we use a generalized form of the Fourier transform that allows us to compute the convolution and product of two distributions efficiently. These two insights allow us to compute the prediction and update step as follows.
+
+
+
Prediction step: By assuming that the motion is fully defined by the control input $u_t$, we write the motion model as the likelihood of the relative motion from $x_{t−1}$ to $x_t$, matching the relative motion induced by $u_t$ Hence, the integral $\overline{bel}(x_t) = \int_{SE(N)} p(x_t \vert u_t, x_{t-1}) bel(x_{t-1}) \, dx_{t-1}$ can be written as a convolution, which we efficiently solve using the Fourier convolution theorem.
+
Update step: Given a predicted belief and measurement likelihood, both defined as harmonic exponential distributions, the update step is computed via an element-wise addition of the parameters of the two densities.
+
Normalization: We can compute the normalization constant using Fourier analysis and compute the exact expression for the posterior belief.
+
+
+
+ To showcase the effectiveness of our approach capturing real-world distributions, such as the banana-shape distribution. This distribution appears when the uncertainty in the heading of an agent increases due to the accumulation of error during multiple prediction steps. Starting from a rectangular prior and a Gaussian motion likelihood, we take steps in a horizontal straight path to the right. As expected, the banana-shape distribution emerges after few iterations.
+
+ We compare the ability of our HEF capturing the banana-shape distribution against three other well established filtering approaches in the literature. The results highlight how only the HEF and particle filter are capable of modelling the banana distribution.
+
+ Lastly, we present a runtime comparison between a histogram-based approach and the HEF for computing the convolution of two functions. Hist (PP) is a direct convolution written in pure python. Hist (Scipy) uses the $\texttt{scipy.signal.convolve()}$ function, and the HEF, implemented in python using the Numpy FFT library.
+
+ The results show how the histogram approach quickly becomes intractable while ours scale more gracefully.
+
+
+## Experimental setup
+
+ All our experiments focus on two main metrics. The first is the root mean squared error (RMSE) of the posterior predictive mean to the ground truth position of the agent, measured in meters. However, as this metric does not entirely encapsulate the non-Gaussian nature of these estimators, we also calculate the negative log-likelihood (NLL) of the ground truth position under the current belief. In these assessments, our proposed HEF is compared against the following filtering approaches: an EKF implementation that assumes unimodal Gaussian state and error, a histogram filter (HistF), and a particle filter (PF).
+
+
+## Simulation experiments
+
+ The simulation experiments use range-only measurements. This environment includes a series of landmarks arranged in a line. The robot travels in a counterclockwise circle around the landmarks. The landmarks alternate in providing a range measurement at each timestamp, where we assume known correspondence.
+
+
+
+ We showcase the performance of HEF in this localization task and show the predicted belief, $\overline{bel}(x_t)$, measurement likelihood, $p(z_t \vert x_t)$, and posterior belief, $bel(x_t)$, at each timestamp alongside its posterior mean estimate (left). Similarly, we show the uncertainty of the HEF and the baselines (right).
+
+ The quantitative results of this experiment are presented in the following table, where metrics are computed over 10 different random seeds. Overall, our filter is comparable if not better than the baselines.
+
+ For the UWB experiments, we used a Clearpath Husky unmanned ground vehicle (UGV). The UGV is equipped with an ultra-wideband (UWB) tag that communicates with stationary UWB beacons in the surrounding room. Using a ranging protocol between the UGV-mounted UWB tag and the stationary UWB beacons, range measurements between each are computed. The experiment consists of two runs, each with a total of five beacons that were premapped prior to the experiment. For each run, we removed beacons one by one by ignoring their range measurements, producing a total of five trials per run. We assume known correspondence. The motion of the robot is estimated from noisy odometry and IMU data.
+
+ We present the performance of the HEF and the baselines during the two runs, with different landmark configurations. The left column are from the first run and the right one from the second run.
+
+
+
+{% include_relative _relative_includes/row_videos_x2.html title_1="Run 1 - Five landmarks" title_2="Run 2 - Five landmarks" src_1="img/uwb/result.mp4" src_2="img/uwb/result.mp4" %}
+{% include_relative _relative_includes/row_videos_x2.html title_1="Run 1 - Four landmarks" title_2="Run 2 - Four landmarks" src_1="img/uwb/result.mp4" src_2="img/uwb/result.mp4" %}
+{% include_relative _relative_includes/row_videos_x2.html title_1="Run 1 - Three landmarks" title_2="Run 2 - Three landmarks" src_1="img/uwb/result.mp4" src_2="img/uwb/result.mp4" %}
+{% include_relative _relative_includes/row_videos_x2.html title_1="Run 1 - Two landmarks" title_2="Run 2 - Two landmarks" src_1="img/uwb/result.mp4" src_2="img/uwb/result.mp4" %}
+{% include_relative _relative_includes/row_videos_x2.html title_1="Run 1 - One landmarks" title_2="Run 2 - One landmarks" src_1="img/uwb/result.mp4" src_2="img/uwb/result.mp4" %}
+
+
+
+ The quantitative evaluation in this real-world experiments highlights the performance of our filter.
+
+ This experiment consists of localizing an agent navigating in an anticlockwise direction in a corridor using doors detected in RGB images as landmarks. All doors share similar semantic features, such as color or handle. Therefore, we do not assume known correspondence on which of the 21 doors generated a given measurement. We premapped the environment using gmapping and assumed a bearing-only measurement model. Bearing measurements are computed using the centroid of the doors. We integrate the IMU and wheel encoders to estimate the motion of a Jackal platform.
+