---
abstract: 'Different application scenarios will cause IMU to exhibit different error characteristics which will cause trouble to robot application. However, most data processing methods need to be designed for specific scenario. To solve this problem, we propose a few-shot domain adaptation method. In this work, a domain adaptation framework is considered for denoising the IMU, a reconstitution loss is designed to improve domain adaptability. In addition, in order to further improve the adaptability in the case of limited data, a few-shot training strategy is adopted. In the experiment, we quantify our method on two datasets (EuRoC and TUM-VI) and two real robots (car and quadruped robot) with three different precision IMUs. According to the experimental results, the adaptability of our framework is verified by t-SNE. In orientation results, our proposed method shows the great denoising performance.'
author:
- 'Feiyu Yao$^{\dagger}$, Zongkai Wu$^{\dagger*}$, Zhenyu Wei$^{}$ and Donglin Wang$^{*}$[^1] [^2]'
bibliography:
- 'ref.bib'
title: '**Few-shot Domain Adaptation for IMU Denoising** '
---

INTRODUCTION
============

Inertial measurement unit (IMU) plays great importance in robotics. It consists of a gyroscope, which senses angular velocities, and an accelerometer, which can measure linear acceleration signals on three axes in space. Both angular velocities and accelerations are crucial for robotics.

Nowadays, the rapid development in robotics proposes higher demand for IMU. For example, same IMU may need to adapt to different robots or different IMUs can employ same parameters for calibration. And IMU noise problems is very serious since robots usually use low-cost IMU. The demands can be summarized as dealing gyroscope noise from multiple domains (different IMUs and different robotics). Although different methods are proposed for denoising gyroscope, from nonlinear filter methods @conventional1, @wang2018adaptive and @conventional2 denoising the IMU signal using filters to neural network methods @nn1, @wu2019ins and @nn2, they just perform well in one specific domain or need sufficiently broad range of motions to realize generalization. Recently a lot of works on few-shot learning has been done to alleviate generalization problem @cross-domain, @cross-domain-cvpr. However, these works can hardly deal with long-sequence, low-dimensional and high-variant IMU measurements.

In order to solve this problem, we propose a few-shot domain adaptation IMU denoising framework. This contains an embedding module, a restructor module and a generator module. The framework projects the IMU sequence into high-dimensional representation by embedding module and then use the generator to generate accurate velocities noise and bias. The restructor along with reconstitution loss is employed for embedding module to learn better representation. The framework also contains few-shot domain adaptation strategy to adapt the new domain. It employed tasks from multiple domains to update embedding module parameters by few-shot training method. This equips the model with the following ability: 1) High accurate motion information can be achieved through our denoising framework. 2) High accurate performance can be transferred to multiple IMUs and robots without readjusting.

The main contributions of this work are as followed:

-   We present a few-shot domain adaption framework with embedding module, restructor nodule and generator module, which can effectively achieve accurate angular velocity error among multiple IMUs and robots without specially training the parameters for each of them.

-   We propose a few-shot domain adaptation strategy for IMU sequence denoising. This strategy helps accelerate the learning process and improve its generalization ability.

-   We implement our denoising method both on open dataset (EuRoC and TUM-VI) and two real robot (car and Quadruped robots) with multiple IMUs. The performance verifies the effectiveness of our method.

![IMU is mounted on various devices: from phones and cars in daily life to unmanned aerial vehicles, Quadruped robots, ships in industry.<span data-label="fig1"></span>](figure_1.eps)

RELATED WORK
============

IMU Signal Denoising
--------------------

IMU has gyroscope noise which is made up of inherent noise, linear vibration and misalignment errors. Referring to @conventional1, these parts are related to not only IMU itself, but also the domain in which it is used (such as the robotics mechanical structure, tasks and environments). So IMU noise differs among domains.

@conventional1 and @conventional2 are conventional IMU signal denoising methods choosing suitable filters to denoising IMU signal. @conventional1 takes two steps to improve the precision. First, sophisticated dynamics models is established, considering earth self rotation, measurement bias, and system noise. Then it applies a sigma Kalman filter for system state estimation. @conventional2 employs Savitzky-Golay filters and can achieve great denoising performance with little computations time.

@nn1 and @nn2 are different from conventional methods. Artificial neural network is applied. @nn1 views IMU signal as time series and filters it by using Long Short Term Memory (LSTM) Recurrent Neural Network (RNN). @nn2 analyzes the combination between IMU denoising and RNN. It uses four different ways to analysis and finds that each performs well in specific denoising task. The artificial neural network method seems to perform well but still cannot generalize to many domains and needs plenty of labeled data.

\[t\] ![image](framework.eps)

Few-shot Learning
-----------------

The pursuit of few-shot learning is to train a model with the "learning to learn" ability. So the model uses just small amount of training samples to learn and can handle tasks in new domain. A remarkable work in few-shot learning is MAML @MAML. In this work, the parameters are trained so that it can generalize well to new domain tasks with just a small number of gradient steps with a small amount of training samples from that task. To gain this, the sensitivity of the loss functions of new domain tasks with respect to the parameters is maximized in the learning process. MAML is model-agnostic so it can be applied in many learning problems such as classification, regression and reinforcement learning. And @MAML-1, @MAML-2, @MAML-3, @wang2020visual and @MAML-4 all prove that MAML has great performance and can be generalized to many models theoretically.

@Few-shot-Denosing1 and @Few-shot-Denosing2 makes some attempts in applying few-shot learning in image denoising. The former proposes a model which is meta-trained using known synthetic noise models. The trained model can performs well with real noise after just being fine-tuned with small real training set. In this work, model is meta-trained in small training sets of synthetically generated data. So the model can generate infinite number of training tasks and the learning process only needs small training sets. These contribute to the good generalization. The latter attempts to combine meta-learning with conventional denoising methods. In this work, the model is trained through conventional methods and meta-learning enables quick adaptation of model parameters to the input when testing. Thus the model can employ with state-of-the-art denoising networks and achieve better performance.

Few-shot DOMAIN ADAPTATION
==========================

The error characterises of gyroscope differ among multiple IMUs on multiple robots. We define them as different domains. As described by the framework in Fig. \[framework\], The domain adaptation method we propose has three parts: embedding module, restructor module and generator module. The embedding module achieves high dimensional representations for IMU sequence. Then the restructor is designed to reconstruct IMU sequences for better representations. The generator can output angular velocity noises in different domains without specifically tuning parameters for that domain. Here the restructor and the generator have the same neural network structure. Besides, a few-shot training strategy is also applied to help embedding module efficiently adapt to multiple domains. In this section, firstly, the task is formalized. Then key modules in our framework are introduced, which is followed by the embedding module and its training method. At last, the structure of generator is introduced.

Task Formulation
----------------

Given noisy and biased IMU measurements of angular rate and acceleration, our domain adaptation method is to denoise accurate angular velocity in multiple domains without further updating any parameter.

We consider specific domain tasks $T$ made up by IMU sequences from multiple domains. The measurement of acceleration is represented as $\mathbf{a}_{n}$ and the noisy and biased measurement of gyroscope is expressed as $\boldsymbol{\omega}_{n}$. The estimated angular rate is $\hat{\boldsymbol{\omega}}_{n}$. The real angular rate is $\boldsymbol{\tilde \omega}_{n}$.

Embedding, Restructor and Generator module
------------------------------------------

The embedding module creates representations where the data distributions difference among multiple domains are similar. The embedding module structure is Multi-Layer Perception (MLP) The restructor module and the generator module have the same structure. After being latent represented by embedding module, IMU measurements should go through generator module to generate accurate angular velocities noise and bias.

Referring to @ORI, we can model the noise-free angular rate as:

$$\hat{\boldsymbol{\omega}}_{n}=\hat{\mathbf{C}}_{\boldsymbol{\omega}} \boldsymbol{\omega}_{n}^{\mathrm{IMU}}+\tilde{\boldsymbol{\omega}}_{n}$$

![Restructor and Generator module structure sketch map<span data-label="DCNN"></span>](DCNN.eps)

Here, the intrinsic parameters $\hat{\mathbf{C}}_{\boldsymbol{\omega}}=\hat{\mathbf{S}}_{\boldsymbol{\omega}} \hat{\mathbf{M}}_{\boldsymbol{\omega}} \in \mathbb{R}^{3 \times 3}$. The gyro bias $\hat{\boldsymbol{\omega}}_{n} = \hat{c}_{n} + \hat{b}_{n}$, in which $\hat{c}_{n}$ is a time-varying variable and $\hat{b}_{n}$ is static bias. So we need to compute $\hat{\boldsymbol{\omega}}_{n}$ and $\hat{\mathbf{C}}_{\boldsymbol{\omega}}$. Notice that they have the above relations and the IMU won't change in a task. So if one is accurately estimated, the other can be optimized. Thus we apply neural network to estimate $\hat{\omega}_{n}$. For $\hat{\mathbf{C}}_{\boldsymbol{\omega}}$, we initialize it as a unit matrix $I\in \mathbb{R}^{3 \times 3}$ and then optimize it during the training process.

Inspired by @DCNN and @ORI, we employ the dilated neural network structure:

$$\tilde{\boldsymbol{\omega}}_{n}=f\left(\mathbf{u}_{n-N}^{\mathrm{IMU}}, \ldots, \mathbf{u}_{n}^{\mathrm{IMU}}\right),$$

where $\mathbf{u}_{n}^{\mathrm{IMU}}=\left[\begin{array}{l}\boldsymbol{\omega}_{n}^{\mathrm{IMU}} \\ \mathbf{a}_{n}^{\mathrm{IMU}}\end{array}\right]$. The N represents the length of local window of previous measurements, which is the base of correction for current state. $f(\cdot)$ is the function defined by neural network, which has dilated convolutions strategy. Thus it can correct the data smoothly and extract time multi-scale information.

As Fig. \[DCNN\] represents, in each layer, the data is handled with dilation gaps. The dilation gap in hidden layer 1 is 1. The dilation gap in hidden layer 1 is 2. In generator structure, we have 5 layers with dilation gap 1, 4, 16, 64, 1 separately. The kernel dimensions for each layer are all 7.

For the loss function, as @ORI mentions, it is not suitable to use mean-square error since tracking system performance relates to frequency. Thus we apply rotate matrix to build loss function:

$$L_{j}=\sum_{i} \rho \left(\log \left(\delta \mathbf{R}_{i, i+j} \delta \hat{\mathbf{R}}_{i, i+j}^{T}\right)\right)$$

in which logarithm map SO(3) is $log(\cdot)$ and Huber loss $\rho(\cdot)$ are contained. The $\delta \mathbf{R}_{i, i+j}$ is defined as:

$$\delta \mathbf{R}_{i, i+j}=\mathbf{R}_{i}^{T} \mathbf{R}_{i+j}=\prod_{k=i}^{i+j-1} \exp \left(\boldsymbol{\omega}_{k}\right)$$

The parameter $j$ is used to reduce the frequency of IMU. The loss with different parameter $j$ can be added to achieve the final loss in order to gain better performance.

few-shot training strategy
--------------------------

Since in real life, labelling data is quite time-consuming and laborious. For better representation with limited data, a few-shot training strategy is applied to learn the domain invariant representation $z$. Referring to MAML @MAML structure in few-shot tasks, we apply meta-training methods to train embedding module suitable for multiple domains. . Here comes the training method especially for embedding module.

![Diagram of our few-shot training strategy, which optimizes the parameter $\theta_{e}$ using data from different robots.<span data-label="figure3"></span>](meta.eps)

We represent the framework $G$ by two parameterized function $f$ and $h$. $f$ represents the reconstruction process and $h$ represents the angular velocity error generating process. We use parameters $\theta_{e}$, $\theta_{r}$ and $\theta_{g}$ to represent the embedding module, restructor module and generator module separately. Thus $f$ has parameters $ \theta_{e}$ and $\theta_{r}$ while $h$ has parameters $\theta_{e}$ and $\theta_{g}$. The parameterized function is a structure which applies a sequence of noised angular rate $W_{n}$ and a sequence of acceleration $A_{n}$ as inputs. The updated model parameters are represented as $\theta_{i}^{\prime}$ when the new task $\tau_{i}$ comes.

There are two kinds of training methods in the framework: The embedding module is trained through a meta-learning method. The restructor and generator are trained through gradient method. We will specialize the training process for embedding module as followed:

In a training phase for task $\tau_{i}$, there are $n$ length angular rate sequence $W_{n}^{i}$, $n$ length angular acceleration sequence $A_{n}^{i}$ and n length ground truth angular angular rate sequence $W_{real_{n}}^{i}$. The target is to obtain the meta parameters $\theta_{e}^{meta}$ by few-shot training and two parameters $\theta_{r}$ and $\theta_{g}$ by normal gradient descent. Few-shot training phase is made up by two phases: adaption optimizing phase and meta optimizing phase. These two phases use different IMU sequences set $\tau_{1}$ and $\tau_{2}$ from same distribution.

When adapting to a new domain, the embedding module parameters $ \theta_{e}$ update into $\theta_{e}^{\prime}$. The parameter $\theta_{e}$ is updated by the following gradient descent for several times.

$$\theta_{ei}^{\prime}=\theta_{e}-\alpha \nabla_{\theta_{e}} \emph{L}_{\tau_{1i}}\left(G) \right),$$

in which $\theta_{ei}^{\prime}$ is the updated model parameters in task $\tau_{1i}$. $\alpha$ is the fixed hyper-parameter. $\emph{L}_{\tau_{1i}}\left(G\right)$ has two kinds of loss from feature extractor structure and denoise structure separately:

$$\emph{L}_{\tau_{1i}}\left(G \right)=\emph{L}^{f}_{\tau_{1i}}(f) +\gamma \emph{L}^{d}_{\tau_{1i}}(h),$$

in which $\gamma$ is hyper-parameter. $\emph{L}^{f}_{\tau_{1i}}$ is the reconstitution loss of for feature extractor structure:

$$\emph{L}^{f}_{\tau_{i}}\left(f\right)=\sum_{W_{n}^{i},A_{n}^{i},\tilde    W_{n}^{i} \sim \tau_{i}}\left\|f\left(W_{n}^{i}, A_{n}^{i}\right)-\tilde W_{n}^{i}\right\|_{2}^{2}$$

$\emph{L}^{d}_{\tau_{1i}}$ is the loss which will be introduced in the denosing structure.

In meta optimizing phase: The model employs the rest data pairs, which are $W_{ n}$, $A_{n}$ and $\tilde W_{n}$. The model parameters $\theta_{e}$ is updated also through gradient descent, which means:

$$\theta_{e,g,r}=\theta_{e,g,r}-\beta \nabla_{\theta_{e,g,r}} \sum_{\tau_{2i} \sim \tau_{2}}  L_{\tau_{2i}}(G_{\theta_{ei}^{\prime},{\theta_{g},\theta_{r}}})$$

Here $\theta_{ei}^{\prime}$ are the updated model parameters mentioned in the adaptation optimizing phase and $\beta$ is a fixed hyper-parameter. $L_{\tau_{2i}}(G))$ is the loss in sequence set $\tau_{2}$. $\theta_{e}$ is updated through meta-training method while $\theta_{r}$ and $\theta_{g}$ are updated through gradient descent method.

After being updated through all several training phases, the final updated model parameters is the meta-trained model parameter $\theta_{meta}$. The whole training algorithm is outlined in Algorithm 1.

\[t\]

  -- ---------------------- ------------- -------------- ------------- ------------- ------------- ------------- ------------ ------------- -------------
                                                                                                                                            
                                DIGDL         FSDA-F         FSDA          DIGDL        FSDA-F         FSDA         DIGDL        FSDA-F         FSDA
        MH 04 difficult        14.8929        8.5595      **8.0016**      1.3958      **-0.2955**     -0.4349      -13.884       -6.954      **-6.5309**
          V2 02 medium        -36.0116     **-29.2852**    -30.1808        6.88         6.8074       **6.321**     34.9578     **27.1108**     28.1112
        V1 03 difficult        4.0002       **0.0878**      -0.6424     **-0.9801**     -1.8096       -1.1578       -5.041     **-0.3453**     -1.0451
           V1 01 easy          11.0515        4.2057      **2.8124**      1.3716        -1.3953     **-1.2938**     -9.249       -1.5872     **-0.4603**
      **Absolute Average**     16.4891       10.5346      **10.4093**     2.6569         2.577      **2.3019**      15.783     **8.9993**      9.0369
             Room2           **-0.3668**      0.7688         0.587        -1.844      **-0.8445**     -0.8855     **8.9574**     13.5548       10.3237
             Room4             0.3393       **0.0081**      0.1228      **0.0971**      -0.3237       -0.2693      15.7828       10.6631     **9.4537**
             Room6             -0.427      **-0.0642**      -0.2079       0.2103        0.1573      **0.1517**      9.8187       12.2971     **8.8088**
      **Absolute Average**     0.2833       **0.2103**      0.2294        0.5379        0.3314      **0.3266**      8.6397       9.1288      **7.1466**
  -- ---------------------- ------------- -------------- ------------- ------------- ------------- ------------- ------------ ------------- -------------

\[table\]

\[t\]

\[1\] Sequence set $T$ containing different domain sequences $\tau^{d}_{1},\tau^{d}_{2},...,\tau^{d}_{n}$, each with IMU data and labeled data. $\theta_{e}$, $\theta_{r}$, $\theta_{g}$: random initialized model parameters. $\alpha$ and $\beta$: hyper-parameters; Meta-learned embedding module parameter $\theta_{e}^{meta}$, Restructor module $\theta_{r}$ and Generator module $\theta_{g}$; Sample batch sequences set $\tau$ from $T$ Partition the sequences set $\tau$ into $\tau_{1}$ and $\tau_{2}$ : Achieve $\theta^{\prime}_{ei}$ using: $\theta_{ei}^{\prime}=\theta_{e}-\alpha \nabla_{\theta_{e}}\emph{L}_{\tau_{1i}}\left(G \right)$; $\theta_{e,g,r}=\theta_{e,g,r}-\beta \nabla_{\theta_{e,g,r}} \sum_{\tau_{i} \sim \tau_{2}}  L_{\tau_{2i}}(G_{\theta_{ei}^{\prime},{\theta_{g},\theta_{r}}})$; $[\theta_{e}^{meta},\theta_g,\theta_r]=\theta_{e,g,r}$

Experiment Results
==================

Experiment Setup
----------------

To illustrate the priority of our method, we apply it in public datasets: $EuRoC$ @euroc and $TUM-VI$ @tumvi:

-   $EuRoC$: The data comes from a micro aerial vehicle (MAV) equipped with not calibrated ADIS16448 IMU. This dataset is composed by eleven sequences: MH 01 easy, MH 02 easy, MH 03 medium, MH 04 difficult, MH 05 difficult, V1 01 easy, V1 02 medium, V1 03 difficult, V2 01 easy, V2 02 medium and V2 03 difficult. MH is for industrial machine hall. V1 and V2 is for vicon room but V2 is created more than three months later. Easy, medium, hard mark different flight tasks.

-   $TUM-VI$: The data comes from a hand-held device equipped with calibrated BMI160 IMU in different places and different motion modes. The ground truth is made by motion capture system but it only exists in a few sequences. So we use all six sequences with ground truth: Room 1-6.

![Orientation estimates on the test sequence room4 for different methods.<span data-label="resultcurve1"></span>](room4.eps)

![Orientation errors on the test sequence room4 for different methods.<span data-label="resultcurve2"></span>](room4_error.eps)

![Orientation estimates on the test sequence V1 01 easy for different methods.<span data-label="resultcurve3"></span>](V1_01_easy.eps)

![Orientation errors on the test sequence V1 01 easy for different methods.<span data-label="resultcurve4"></span>](V1_01_easy_err.eps)

Compared Methods
----------------

We compare the following approaches:

-   GT: This is ground truth angular velocities.

-   DIGDL: This method @ORI beats top-ranked IMU denoising algorithms and visual-inertial odometry systems. Its training, validation and test sets are the same with our approach.

-   FSDA-F: This is our framework without few-shot learning strategy for embedding module.

-   FSDA: This is the proposed method.

Evaluation Metrics
------------------

We evaluate methods by Relative Orientation Error (ROE):

$$\operatorname{ROE}=\left\|\log \left(\delta \mathbf{R}_{n}^{T} \delta \hat{\mathbf{R}}_{n}\right)\right\|_{2}$$

The symbols in above equations are defined in denoising structure in session (III).

Results
-------

In open datasets experiments, we set MH 01 easy, MH 02 easy, MH 03 medium, MH 05 difficult, V1 02 medium, V2 01 easy, V2 03 difficult from EuRoC, and room1, room3, room5 from TUM-VI as training sets and set MH 04 difficult, V1 01 easy, V1 03 difficult, V2 02 medium, room2, room4 and room6 as test sets. In each training set, data is divided into two parts for learning and validation. Here learning part is for optimizing parameters and validation part is for evaluating bias.

From TABLE \[table\], we first consider the denosing performance at the end of the sequence. Our proposed method performs $37.7\%$ and $18.6\%$ better than DIGDL respectively on EuRoC and TUM-VI in average. However, this results cannot evaluate the whole process since IMU sequence has large jitters, so we also need to see the denoising performance in whole IMU sequence. Fig. \[resultcurve1\], \[resultcurve2\], \[resultcurve3\] and \[resultcurve4\] represent the whole processing results for room4 and v1 01 easy. Obviously, FSDA and FSDA-F all perform better than DIGDL in all orientations. The comparison between FSDA and FSDA-F shows that few-shot learning strategy really works.

Interpreting the Embedding Module
---------------------------------

The ability of our embedding module is qualified by the t-SNE projection (a tool to visualize high-dimension data) to show IMU sequences from multiple domains to an identical representation. The same t-SNE parameters (Perplexity=10, step=1000) are applied. As can be seen in Fig. \[tsne\], originally, data points from different domains are distinctly separated into four folds. However, after the representation of embedding module, the data points are scattered more dispersively. Even for EuRoC (the uncalibrated IMU), the distributions of its data points has intersections with that of others. This verifies the effectiveness of embedding module and domain adaptability of our method.

![Visualization of extracted representations of IMU sequence from different domains. Here, the EuRoC uses uncalibrated IMU.<span data-label="tsne"></span>](tsne_seem_best.eps)

Execution on real robots
------------------------

We executed our few-shot domain adaptation method in two real robots and three different types of IMUs.

![Two robots (car on top left and quadruped robot on the top right), trajectories ( on the down left) and three-axis angular velocity from gyroscopes<span data-label="robot"></span>](figurereal.eps)

### IMU Setup

We choose three IMUs with different precision. From high precision to low precision, they are CERTUS-EVO from ADVANCED NAVIGATION, MTI 600 series from XSENS and MPU-9250 from TDK InvenSense:

-   The CERTUS-EVO has the gyroscope with $0.2 ^{\circ}/hr$ bias instability, $6^{\circ} /hr/ \sqrt[]{Hz}$ noise density and $<0.03 \% $ non-linearity, and accelerometer with $8 \mu g$ bias instability, $2 \mu g/\sqrt[]{Hz}$ noise density and $<0.05\%$ non-linearity.

-   The MTI 600 series has the gyroscope with $8 ^{\circ}/hr$ bias instability, $0.007^{\circ} /s/ \sqrt[]{Hz}$ noise density and $0.1 \% FS $ non-linearity, and accelerometer with $15 \mu g$ bias instability, $60 \mu g/\sqrt[]{Hz}$ noise density and $0.1\% FS$ non-linearity.

-   The MPU-9250 has the gyroscope with $0.01^{\circ} /s/ \sqrt[]{Hz}$ noise density and $\pm 0.1 \% $ non-linearity, and accelerometer with $300 \mu g/\sqrt[]{Hz}$ noise density and $\pm 0.5\%$ non-linearity.

    With dual antenna system, the CERTUS-EVO can also provide high-precision orientation which can be seen as ground truth.

### Robot Platform

Two robot platforms are car and quadruped, which are set up as shown in \[real-robot\].

![Implementation on real robots<span data-label="real-robot"></span>](real-robot.eps)

In implementation, the car robot drives six times and each time it drove in a circle. The quadruped robot walked twice and each time it's trajectory was 3/4 lap. Due to page limitation, we choose the yaw angle that is most likely to accumulate errors to show the performance of our method. The performance is shown in Fig. \[real-robot\]. As can be seen, our few-shot domain adaptation method works well on real robots and IMUs. Obviously, the divergence of the DICDL is serious, which means DICDL has no adaptability in sequence from different domains. Our FSDA framework drastically reduces the error. With the few-shot learning strategy, the performance is further improved.

Conclusion
==========

To improve the IMU adaptability in multiple scenarios, we propose a few-shot domain adaptation method. To achieve the error of angular velocity, we propose a domain adaptation framework composed by embedding module, restructor module and generator module. The reconstitution loss is designed to improve domain adaptability. In addition, we adopt a few-shot training strategy for further improving the adaptability in the case of limited data. In the experiment, we first test our method on two datasets (EuRoC and TUM-VI). Performance is verified on the endpoint and the whole process of the sequence. We also implement our methods on two real robots with three kinds of IMUs. Besides, t-SNE is used to visualize the results of embedding module on datasets and real robots. This further proves the adaptability of our method.

[^1]: $^{\dagger}$ Contributed equally. $^{*}$ Corresponding author.

[^2]: Z. Wu, Z. Wei and D. Wang are with Machine Intelligence Lab (MiLAB), School of Engineering, Westlake University, Hangzhou 310024, China, and Institute of Advanced Technology, Westlake Institute for Advanced Study, Hangzhou 310024, China. F. Yao is Columbia University student and works on this project as visiting students at MiLAB, Westlake University. E-mail:{yaofeiyu,wuzongkai,weizhenyu,ladams@example.com, ladams@example.com

{'source': 'arXiv_out/2201'}