Martin Brossard

Axel Barrau

Silvère Bonnabel

RINS-W: Robust Inertial Navigation System on Wheels

Keywords: inertial navigation, deep learning, invariant extended Kalman filter, autonomous vehicle, inertial odometry

This paper proposes a real-time approach for longterm inertial navigation based only on an Inertial Measurement Unit (IMU) for self-localizing wheeled robots. The approach builds upon two components: 1) a robust detector that uses recurrent deep neural networks to dynamically detect a variety of situations of interest, such as zero velocity or no lateral slip; and 2) a state-of-the-art Kalman filter which incorporates this knowledge as pseudo-measurements for localization. Evaluations on a publicly available car dataset demonstrates that the proposed scheme may achieve a final precision of 20 m for a 21 km long trajectory of a vehicle driving for over an hour, equipped with an IMU of moderate precision (the gyro drift rate is 10 deg/h). To our knowledge, this is the first paper which combines sophisticated deep learning techniques with state-ofthe-art filtering methods for pure inertial navigation on wheeled vehicles and as such opens up for novel data-driven inertial navigation techniques. Moreover, albeit taylored for IMU-only based localization, our method may be used as a component for self-localization of wheeled robots equipped with a more complete sensor suite.

I. INTRODUCTION

Inertial navigation, or "inertial odometry", uses an Inertial Measurement Unit (IMU) consisting of accelerometers and gyrometers to calculate in real time by dead reckoning the position, the orientation, and the 3D velocity vector of a moving object without the need for external references or extra sensors. Albeit a mature field, the development of lowcost and small size inertial sensors over the past two decades has attracted much interest for robotics and autonomous systems applications, see e.g. [START_REF] Oxts | Why it is Necessary to Integrate an Inertial Measurement Unit with Imaging Systems on an Autonomous Vehicle[END_REF]- [START_REF] Kok | Using Inertial Sensors for Position and Orientation Estimation[END_REF].

High precision Inertial Navigation Systems (INS) achieve very small localization errors but are costly and rely on timeconsuming initialization procedures [START_REF] Safran | Inertial navigation systems[END_REF]. In contrast, MEMSbased IMU suffer from large errors such as scale factor, axis misalignment, thermo-mechanical white noise and random walk noise, resulting in rapid localization drift. This prompts the need for fusion with complementary sensors such as GPS, cameras, or LiDAR, see e.g., [START_REF] Cadena | Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age[END_REF]- [START_REF] Deschaud | IMLS-SLAM: Scan-to-Model Matching Based on 3D Data[END_REF].

In this paper, we provide a method for long-term localization for wheeled robots only using an IMU. Our contributions, and the paper's organization, are as follows:

• we introduce specific motion profiles frequently encountered by a wheeled vehicle which bring information about the motion when correctly identified, along with their mathematical description in Section III;

• we design an algorithm which automatically detects in real time if any of those assumptions about the motion holds in Section IV-A, based only on the IMU measurements. The detector builds upon recurrent deep neural networks [START_REF] Goodfellow | Deep Learning[END_REF] and is trained using IMU and ground truth data;

• we implement a state-of-the-art invariant extended Kalman filter [START_REF] Barrau | The Invariant Extended Kalman Filter as a Stable Observer[END_REF][START_REF]Invariant Kalman Filtering[END_REF] that exploits the detector's outputs as pseudo-measurements to combine them with the IMU outputs in a statistical way, in Section IV-B. It yields accurate estimates of pose, velocity and sensor biases, along with associated uncertainty (covariance);

• we demonstrate the performances of the approach on a publicly available car dataset [START_REF] Jeong | Complex Urban LiDAR Data Set[END_REF] in Section V. Our approach solely based on the IMU produces accurate estimates with a final distance w.r.t. ground truth of 20 m on the 73 minutes test sequence urban16, see Figure 1. In particular, our approach outperforms differential wheel odometry, as well as wheel odometry aided by an expensive fiber optics gyro whose drift is 200 times smaller than the one of the IMU we use;

• this evidences that accurately detecting some specific patterns in the IMU data and incorporating this information in a filter may prove very fruitful for localization;

• the method is not restricted to IMU only based navigation. It is possible to feed the Kalman filter with other sensors' measurements. Besides, once trained the detector may be used as a building block in any localization algorithm.

A. Related Works

Odometry and localization based on inertial sensors, cameras, and/or LIDARs have made tremendous progresses over the last decade, enabling robust real-time localization systems, see e.g., [START_REF] Cadena | Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age[END_REF]- [START_REF] Deschaud | IMLS-SLAM: Scan-to-Model Matching Based on 3D Data[END_REF]. As concerns back-end techniques, although optimization-based methods tend to presently prevail, filtering based methods building upon the Invariant Extended Kalman Filter (IEKF) [START_REF] Barrau | The Invariant Extended Kalman Filter as a Stable Observer[END_REF][START_REF]Invariant Kalman Filtering[END_REF] are currently gaining interest, owing to its theoretical guarantees in terms of convergence and consistency. The IEKF [START_REF] Barrau | The Invariant Extended Kalman Filter as a Stable Observer[END_REF] has already given rise to a commercial product in the field of high precision navigation, see [START_REF]Invariant Kalman Filtering[END_REF][START_REF] Barrau | Aligment Method for an Inertial Unit[END_REF]. It has also been successfully applied to visual inertial odometry, in [START_REF] Wu | An invariant-EKF VINS algorithm for improving consistency[END_REF]- [START_REF] Brossard | Unscented Kalman Filter on Lie Groups for Visual Inertial Odometry[END_REF] and bipedal robotics [START_REF] Hartley | Contact-Aided Invariant Extended Kalman Filtering for Legged Robot State Estimation[END_REF].

Taking into account vehicle constraints and odometer measurements are known to increase the robustness of visual--0. 1. Trajectory ground truth and estimates obtained by various methods: integration of IMU signals; odometry based on a differential wheel encoder system; odometry combined with an highly accurate and expensive Fiber optics Gyro (FoG) that provides orientation estimates; and the proposed RINS-W approach which considers only the IMU sensor embarked in the vehicle, and which outperforms the other schemes. The final distance error for this long-term sequence urban16 (73 minutes) of the car dataset [START_REF] Jeong | Complex Urban LiDAR Data Set[END_REF] is 20 m for the RINS-W solution. The deep learning based detector (see Section IV-A) has of course not been trained or cross-validated on this sequence. inertial systems [START_REF] Wu | VINS on Wheels[END_REF][START_REF] Zheng | Odometry Vision Based Ground Vehicle Motion Estimation With SE(2)-Constrained SE(3) Poses[END_REF]. Although quite successful, systems using vision continuously process a large amount of data which is computationally demanding and energy consuming. Moreover, an autonomous vehicle should run in parallel its own robust IMU-based localization algorithm to perform maneuvers such as emergency stops if LiDAR and camera are unavailable due to lack of texture or information, and more generally failures [START_REF] Oxts | Why it is Necessary to Integrate an Inertial Measurement Unit with Imaging Systems on an Autonomous Vehicle[END_REF].

Inertial navigation systems have long leveraged pseudomeasurements from IMU signals, e.g. the widespread Zero velocity UPdaTe (ZUPT) [START_REF] Ramanandan | Inertial Navigation Aiding by Stationary Upyears[END_REF][START_REF] Skog | Zero-Velocity Detection-An Algorithm Evaluation[END_REF]. Upon detection of a zerovelocity event, such pseudo-measurement can be fused with the dead reckoning motion model in an extended Kalman filter [START_REF] Dissanayake | The Aiding of a Low-cost Strapdown Inertial Measurement Unit Using Vehicle Model Constraints for Land Vehicle Applications[END_REF][START_REF] Solin | Inertial Odometry on Handheld Smartphones[END_REF] or in a factor graph, see [START_REF] Atchuthan | Odometry Based on Auto-Calibrating Inertial Measurement Unit Attached to the Feet[END_REF].

Very recently, great efforts have been devoted to the use of deep learning and more generally machine learning frameworks for pedestrian inertial navigation [START_REF] Yan | RIDI: Robust IMU Double Integration[END_REF]- [START_REF] Chen | OxIOD: The Dataset for Deep Inertial Odometry[END_REF]. In [START_REF] Yan | RIDI: Robust IMU Double Integration[END_REF] velocity is estimated using support vector regression whereas [START_REF] Wagstaff | LSTM-Based Zero-Velocity Detection for Robust Inertial Navigation[END_REF]- [START_REF] Chen | IONet: Learning to Cure the Curse of Drift in Inertial Odometry[END_REF] use recurrent neural networks respectively for ZUPT detection, speed estimation, and end-to-end inertial navigation. Those methods are promising but difficult to transfer to a wheeled robots since they generally only consider horizontal planar motion, and must infer velocity directly from a small sequence of IMU measurements, whereas we can afford to use larger sequences. Finally, in [START_REF] Brossard | Learning Wheel Odometry and IMU Errors for Localization[END_REF], we used Gaussian Processes to learn and correct wheel encoders errors to improve wheel encoder based dead reckoning in 2D.

II. INERTIAL NAVIGATION SYSTEM & SENSOR MODEL

Denoting the IMU orientation by R n ∈ SO(3), i.e. the rotation matrix that maps the body frame to the world frame W, its velocity in W by v W n ∈ R 3 and its position in W by p W n ∈ R 3 , the dynamics are as follows

R n+1 = R n exp SO(3) (ω n dt) , (1)
v W n+1 = v W n + (R n a n + g) dt, (2)
p W n+1 = p W n + v W n dt, (3)
between two discrete times, with sampling time dt, and where (R 0 , v W 0 , p W 0 ) is the initial configuration. The true angular velocity ω n ∈ R 3 and the true specific acceleration a n ∈ R 3 are the inputs of the system (1)-(3). In our application scenarios, the effects of earth rotation and Coriolis acceleration are ignored, and earth is considered flat.

A. Inertial Measurement Unit (IMU) Model

The IMU provides noisy and biased measurements of ω n ∈ R 3 and a n ∈ R 3 as follows

ω IMU n = ω n + b ω n + w ω n , (4)
a IMU n = a n + b a n + w a n , (5)
where b ω n , b a n are quasi-constant biases and w ω n , w a n are zero-mean Gaussian noises. The biases follow a random-walk

b ω n+1 = b ω n + w bω n , (6)
b a n+1 = b a n + w ba n , (7)
where w bω n , w ba n are zero-mean Gaussian noises. All sources of error -particularly biases -are yet undesirable since a simple implementation of ( 1)-( 3) leads to a triple integration of raw data, which is much more harmful that the unique integration of differential wheel speeds. Even a small error may thus cause the position estimate to be way off the true position, within seconds.

III. SPECIFIC MOTION PROFILES FOR WHEELED SYSTEMS

We describe in this section characteristic motions frequently encountered by a wheeled robot, that provide useful complementary information to the IMU when correctly detected.

A. Considered Motion Profiles

We consider 4 distinct specific motion profiles, whose validity is encoded in the following binary vector:

z n = (z VEL n , z ANG n , z LAT n , z UP n ) ∈ {0, 1} 4 . (8)
• Zero velocity: the velocity of the platform is null. As a consequence so is the linear acceleration, yielding:

z VEL n = 1 ⇒ v n = 0 R n a n + g = 0 . (9)
Such profiles frequently occur for vehicles moving in urban environments, and are leveraged in the well known Zero velocity UPdaTe (ZUPT), see e.g. [START_REF] Ramanandan | Inertial Navigation Aiding by Stationary Upyears[END_REF][START_REF] Skog | Zero-Velocity Detection-An Algorithm Evaluation[END_REF].

• Zero angular velocity: the heading is constant:

z ANG n = 1 ⇒ ω n = 0. (10)
• Zero lateral velocity 1 : the lateral velocity is considered roughly null

z LAT n = 1 ⇒ v LAT n 0, (11)
where we obtain the lateral velocity v LAT n after expressing the velocity in the body frame B as

v B n = R T n v W n =   v FOR n v LAT n v UP n   . (12)
• Zero vertical velocity: the vertical velocity is considered roughly null

z UP n = 1 ⇒ v UP n 0. (13)
The two latter are common assumptions for wheeled robots or cars moving forward on human made roads.

B. Discussion on the Choice of Profiles

The motion profiles were carefully chosen in order to match the specificity of wheeled robots equipped with shock absorbers. Indeed, as illustrated on Figure 2, when the wheels of a car actually stop, the car undergoes a rotational motion 1 Without loss of generality, we assume that the body frame is aligned with the IMU frame. t (s)

10 4 m/s, rad/s v W n ωn z VEL n Fig. 2.
Real IMU data of a car stopping from sequence urban06 of [START_REF] Jeong | Complex Urban LiDAR Data Set[END_REF]. We see ( 9) holds and thus z VEL n = 1 at t = 5.8s while [START_REF]Invariant Kalman Filtering[END_REF] does not hold yet.

forward and then backward. As a result, null velocity (9) does not imply null angular velocity [START_REF]Invariant Kalman Filtering[END_REF]. For the level of precision we pursue in the present paper, distinguishing ( 9) and ( 10) is pivotal since it allows us to: i) properly label motion profiles before training (see Section V-B, where we have different thresholds on position and on angular velocity); and: ii) improve detection accuracy since only one motion pattern can be identified as valid.

(11) and ( 13) generally hold for robots moving indoors or cars on roads. Note that ( 13) is expressed in the body frame, and thus generally holds for a car moving on a road even if the road is not level. As such ( 13) is more refined that just assuming the car is moving in a 2D horizontal plane. And it is actually quite a challenge for an IMU-based detector to identify when [START_REF] Jeong | Complex Urban LiDAR Data Set[END_REF] and ( 13) are not valid.

C. Expected Impacts on Robot Localization

The motion profiles fall into two categories in terms of the information they bring:

1) Zero velocity constraints: the profiles ( 9)-( 10), when correctly detected may allow to correct the IMU biases, the pitch and the roll. 2) Vehicle motion constraints: the profiles (11) and [START_REF] Wu | An invariant-EKF VINS algorithm for improving consistency[END_REF] are useful constraints for the estimates accuracy over the long term. In particular, Section V-E will experimentally demonstrate the benefits of accounting for [START_REF] Jeong | Complex Urban LiDAR Data Set[END_REF] and [START_REF] Wu | An invariant-EKF VINS algorithm for improving consistency[END_REF].

IV. PROPOSED RINS-W ALGORITHM

This section describes our system for recovering trajectory and sensor bias estimates from an IMU. Figure 3 illustrates the approach which consists of two main blocks summarized as follow:

• the detector estimates the binary vector z n from raw IMU signals, and consists of recurrent neural networks;

• the filter integrates the IMU measurements in its dynamic model and exploits the detected motion profiles as pseudo-measurements to refine its estimates, as customary in inertial navigation, see e.g. [START_REF] Ramanandan | Inertial Navigation Aiding by Stationary Upyears[END_REF]. The detector does not use the filter's output and is based only on IMU measurements. Thus the detector operates autonomously and is trained independently, see Section V-B. Fig. 4. Structure of the detector, which consists for each motion pattern of a recurrent neural network (LSTM) followed by a threshold to obtain an output vector ẑn that consists of binary components. The hidden state hn of the neural network allows the full structure to be recursive.

Note that our approach is different from more tightly coupled approaches such as [START_REF] Haarnoja | Backprop KF: Learning Discriminative Deterministic State Estimators[END_REF]. We now describe each block.

A. The Specific Motion Profile Detector

The detector determines at each instant n which ones of the specific motion profiles (8) are valid, see Figure 4. The base core of the detector is a recurrent neural network, namely a Long-Short Term Memory (LSTM) [START_REF] Goodfellow | Deep Learning[END_REF]. The LSTMs take as input the IMU measurements and compute:

ûn+1 , h n+1 = LSTM {ω IMU i , a IMU i } n i=0 (14)
= LSTM (ω IMU n , a IMU n , h n ) , (15)
where ûn+1 ∈ R 4 contains probability scores for each motion profiles h n is the hidden state of the neural network. Probability scores are then converted to a binary vector ẑn = Threshold (û n+1 ) with a threshold for each motion profile. The thresholds must be set with care, and the procedure will be described in Section V-A. Indeed, false alarms lead to degraded performance, since a zero velocity assumption is incompatible with an actual motion. On the other hand, a missed profile is not harmful since it results in standard IMU based dead reckoning using (1)-(3).

B. The Invariant Extended Kalman Filter

The extended Kalman filter is the most widespread technique in the inertial navigation industry, since it was first successfully used in the Apollo program half a century ago. However, recent work advocates the use of a modified version, the Invariant Extended Kalman Filter (IEKF) [START_REF] Barrau | The Invariant Extended Kalman Filter as a Stable Observer[END_REF] that has proved to bring drastic improvement over EKF, and has recently given raise to a commercial product, see [START_REF]Invariant Kalman Filtering[END_REF][START_REF] Barrau | Aligment Method for an Inertial Unit[END_REF], and various successes in robotics [START_REF] Wu | An invariant-EKF VINS algorithm for improving consistency[END_REF]- [START_REF] Hartley | Contact-Aided Invariant Extended Kalman Filtering for Legged Robot State Estimation[END_REF]. We thus opt for an IEKF to perform the fusion between the IMU measurements and the detected specific motion profiles. The IEKF outputs the state xn that consists of pose and velocity of the IMU, the IMU biases, along with their covariance. We now describe the filter more in detail, whose architecture is displayed on Figure 5.

1) IMU state: we define the IMU state as

x n = (R n , v W n , p W n , b ω n , b a n ) , (16)
which contains robot pose, velocity, and the IMU biases. The state evolution is given by the dynamics ( 1)-( 7), see Section II. As ( 9)-( 13) are all measurements expressed in the robot's frame, they lend themselves to the Right IEKF methodology, see [START_REF] Barrau | The Invariant Extended Kalman Filter as a Stable Observer[END_REF]. Applying it, we define the linearized state error as

e n = ξ n e b n ∼ N (0, P n ) , ( 17
)
where uncertainty is based on the use of the Lie exponential as advocated in [START_REF] Barfoot | Associating Uncertainty With Three-Dimensional Poses for Use in Estimation Problems[END_REF] in a wheel odometry context, and mapped to the state as

χ n = exp SE2(3) (ξ n ) χn , (18)
b n = bn + e b n , (19)
where χ n ∈ SE 2 (3) is a matrix that lives is the Lie group SE 2 (3) and represents the vehicle state R n , v W n , p W n (see Appendix A for the definition of SE 2 (3) and its exponential map), P n ∈ R 15×15 is the error state covariance matrix,

b n = (b ω n , b a n ) ∈ R 6 , bn = bω n , ba n ∈ R 6
, and (•) denote estimated variables.

2) Propagation step: if no specific motion is detected, i.e. ẑVEL n+1 = 0, ẑANG n+1 = 0, we apply (1)-( 7) to propagate the state and obtain xn+1 and associated covariance through the Riccati equation

P n+1 = F n P n F T n + G n Q n G T n , (20)
where the Jacobians F n , G n are given in Appendix B, and where Q n denotes the covariance matrix of the noise

w n = w ω n , w a n , w b ω n , w b a n ∼ N (0, Q n ).
By contrast, if a specific motion profile is detected, we modify model ( 1)-( 7) as follows:

ẑVEL n+1 = 1 ⇒ v W n+1 = v W n p W n+1 = p W n , (21)
ẑANG n+1 = 1 ⇒ R n+1 = R n , (22)
and the estimated state xn+1 and covariance P n+1 are modified accordingly.

3) Update: each motion profile yields one of the following pseudo-measurements:

y VEL n+1 = R T n+1 v W n+1 b a n+1 -R T n+1 g = 0 a IMU n , (23)
y ANG n+1 = b ω n+1 = ω IMU n , (24)
y LAT n+1 = v LAT n+1 = 0, (25)
y UP n+1 = v UP n+1 = 0. (26)
A vector y n+1 is computed by stacking the pseudomeasurements of the detected motion profiles. Note that, if ẑVEL n+1 = 1 we do not consider ( 25)-( 26) since ( 23) implies ( 25)-( 26). If no specific motion is detected, the update step is skipped, otherwise we follow the IEKF methodology [START_REF] Barrau | The Invariant Extended Kalman Filter as a Stable Observer[END_REF] and compute

K = P n+1 H T n+1 / H n+1 P n+1 H T n+1 + N n+1 , (27)
e + = K (y n+1 -ŷn+1 ) = ξ + e b+ , (28)
χ+ n+1 = exp ξ + χn+1 , b + n+1 = b n+1 + e b+ , (29)
P + n+1 = (I -KH n+1 ) P n+1 , (30)
summarized as Kalman gain [START_REF] Chen | IONet: Learning to Cure the Curse of Drift in Inertial Odometry[END_REF], state innovation [START_REF] Chen | OxIOD: The Dataset for Deep Inertial Odometry[END_REF], state update (29) and covariance update [START_REF] Haarnoja | Backprop KF: Learning Discriminative Deterministic State Estimators[END_REF], where H n+1 is the measurement Jacobian matrix given in Appendix B and N n+1 the noise measurement covariance. 4) Initialization: launching the system when the platform is moving without estimating biases and orientation can induce drift at the beginning which then is impossible to compensate. As the filter is able to correctly self-initialize the biases, pitch, roll and its covariance matrix when the trajectory is first stationary, we enforce each sequence in Section V to start by a minimum of 1 s stop. Admittedly restrictive, the required stop is of extremely short duration, especially as compared to standard calibration techniques [START_REF] Safran | Inertial navigation systems[END_REF].

V. RESULTS ON CAR DATASET

The following results are obtained on the complex urban LiDAR dataset [START_REF] Jeong | Complex Urban LiDAR Data Set[END_REF], that consists of data recorded on a consumer car moving in complex urban environments, e.g. metropolitan areas, large building complexes and underground parking lots, see Figure 6. Our goal is to show that using an IMU of moderate cost, one manages to obtain surprisingly accurate dead reckoning by using state-of-the-art machine learning techniques to detect relevant assumptions that can be fed into a state-of-the-art Kalman filter. The detector is trained on a series of sequences and tested on another sequences, but all sequences involve the same car and inertial sensors. Generalization to different robot and IMU is not considered herein and is left for future work.

A. Implementation Details

We provide in this section the detector and filter setting of the RINS-W system. The detector disposes of four LSTMs, one for each motion profile. Each LSTM consists of 2 layers of 250 hidden units and its hidden state is mapped to a score probability by a 2 layers multi-perceptron network with a ReLU activation function and is followed by a sigmoid function [START_REF] Goodfellow | Deep Learning[END_REF] that outputs a scalar value in the range [0, 1]. We implement the detector on PyTorch3 and set the threshold values to 0.95 for (z VEL n , z ANG n ), and 0.5 for (z LAT n , z UP n ). The filter operates at the 100 Hz IMU rate (dt = 10 -2 s) and its noise covariance matrices are parameterized as

Q n = diag σ 2 ω I, σ 2 a I, σ 2 bω I, σ 2 ba I , (31)
N n = diag σ 2 VEL,v I, σ 2 VEL,a I, σ 2 ANG I, σ 2 LAT , σ 2 UP , (32)
where we set σ ω = 0.01 rad/s, σ a = 0.2 m/s 2 , σ bω = 0.001 rad/s, σ ba = 0.02 m/s 2 for the noise propagation covariance matrix Q n , and σ VEL,v = 1 m/s, σ VEL,a = 0.4 m/s 2 , σ ANG = 0.04 rad/s, σ LAT = 3 m/s, and σ UP = 3 m/s for the noise measurement covariance matrix N n .

B. Detector Training

The detector is trained with the sequences urban06 to urban14, that represents 100 km of training data (sequences urban00 to urban05 does not have acceleration data). For each sequence, we compute ground truth position velocity v W n and angular velocity ω n after differentiating the ground pose and applying smoothing. We then compute the groundtruth z n by applying a small threshold on the ground truth velocities, e.g. we consider

z VEL n = 1 if v W
n < 0.01 m/s. We set similarly the other motion profiles and use a threshold of 0.005 rad/s for the angular velocity, and a threshold of 0.1 m/s for the lateral and upward velocities.

The detector is trained during 500 epochs with the ADAM optimizer [START_REF] Kingma | Adam: A Method for Stochastic Optimization[END_REF], whose learning rate is initializing at 10 -3 and managed by a learning rate scheduler. Regularization is enforced with dropout layer, where p = 0.4 is the probability of any element to be zero. We use the binary cross entropy loss since we have four binary classification problems. For each epoch, we organize data as a batch of 2 min sequences, where we randomly set the start instant of each sequence, and constraints each starting sequence to be a stop of at minimum 1 s. 1. Results obtained by the 3 methods on urban test sequences 15, 16, 17 in terms of: m-ATE /aligned m-ATE / final distance error to ground truth, in m. Last line is the concatenation of the three sequences. Direct IMU integration always diverges. The proposed RINS-W outperforms differential wheel speeds based odometry and outperforms on average (see last line) the expensive combination of odometry + FoG. Indeed, RINS-W uses an IMU with gyro stability of 10 deg /h, whereas FoG stability is 0.05 deg /h.

C. Evaluation Metrics

To assess performances we consider three error metrics: 1) Mean Absolute Trajectory Error (m-ATE): which averages the planar translation error of estimated poses with respect to a ground truth trajectory and is less sensitive to single poor estimates than root mean square error;

2) Mean Absolute Aligned Trajectory Error (aligned m-ATE): that first aligns the estimated trajectory with the ground truth and then computes the mean absolute trajectory error. This metric evaluates the consistency of the trajectory estimates;

3) Final distance error: which is the final distance between the un-aligned estimates and the ground truth.

D. Trajectory Results

After training the detector on sequences urban06 to urban14, we evaluate the approach on test sequences urban15 to urban17, that represent 40 km of evaluation data. We compare 4 methods:

• IMU: the direct integration of the IMU measurements based on (1)- [START_REF] Deschaud | IMLS-SLAM: Scan-to-Model Matching Based on 3D Data[END_REF], that is, pure inertial navigation;

• Odometry: the integration of a differential wheel encoder which computes linear and angular velocities;

• RINS-W (ours): the proposed approach, that uses only the IMU signals and involves no other sensor.

• Odometry + FoG: the integration of a differential wheel encoder which computes only linear velocity. The angular velocity is obtained after integrating the increments of an highly accurate and costly KVH DSP-1760 4 Fiber optics Gyro (FoG). The FoG gyro bias stability (0.05 deg /h) is 200 times smaller than the gyro stability of the IMU used by RINS-W; We delay each sequence such that the trajectory starts with a 1 s stop to initialize the orientation and the biases, see Section IV-B. Bias initialization is also performed for IMU pure integration and the FoG. Optimized parameters for wheel speeds sensors calibration are provided by the dataset.

Experimental results in terms of error with respect to ground truth are displayed in 7. Ground truth and trajectory estimates for the test sequence urban15 of the car dataset [START_REF] Jeong | Complex Urban LiDAR Data Set[END_REF]. RINS-W obtains results comparable with FoG-based odometry.

• directly integrating IMU leads to divergence at the first turn, even after a careful calibration procedure;

• wheel-based differential odometry accurately estimates the linear velocity but has troubles estimating the yaw during sharp bends, even if the dataset has been obtained in an urban environment and the odometry parameters are calibrated. This drawback may be remedied at the expense of using an additional high-cost gyroscope;

• the proposed scheme completely outperforms wheel encoders, albeit in urban environment. More surprisingly, our approach competes with the combination of wheel speed sensors + (200 hundred times more accurate) Fyber optics Gyro, and even outperforms it on average. Furthermore, although comparisons were performed in 2D environments our method yields the full 3D pose of the robot, and as such is compatible with non planar environments.

E. Discussion

The performances of RINS-W can be explained by: i) a false-alarm free detector; ii) the fact incorporating side information into IMU integration obviously yields better results; and iii) the use of a recent IEKF that has been proved to be well suited for localization tasks.

We also emphasize the importance of ( 11) and (13) in the procedure, i.e. applying (25)- [START_REF] Cortes | Deep Learning Based Speed Estimation for Constraining Strapdown Inertial Navigation on Smartphones[END_REF]. For illustration, we consider sequence urban07 of [START_REF] Jeong | Complex Urban LiDAR Data Set[END_REF], where the vehicle moves during 7 minutes without stop so that ZUPT may not be used. We implement the detector trained on the first 6 sequences, and compare the proposed RINS-W to a RINS-W which does not use updates ( 25)-( 26) when detected, see Figure 9. Clearly, the reduced RINS-W diverges at the first turn whereas the full RINS-W is accurate along all the 8. Ground truth and trajectory estimates for the test sequence urban17 of the car dataset [START_REF] Jeong | Complex Urban LiDAR Data Set[END_REF]. RINS-W clearly outperforms the odometry and even the odometry + FoG solution. We note that RINS-W accurately follows the interchange road located at (x = 2, y = 1).

trajectory and obtains a final distance w.r.t. ground truth of 5 m. In contrast, odometry + FoG achieves 16 m.

F. Detector Evaluation

In Section V-E we mentioned three possible reasons explaining the performances of RINS-W, but could not assess what is owed to each. To assess the detector's performance, and to demonstrate the interest of our powerful deep neural network based approach (see Section IV-A) we focus on the zero velocity detection [START_REF] Barrau | The Invariant Extended Kalman Filter as a Stable Observer[END_REF], and compare the detector with the Acceleration-Moving Variance Detector (AMVD) [START_REF] Skog | Zero-Velocity Detection-An Algorithm Evaluation[END_REF] on the test sequences urban15-17, which represent 64.10 4 measurements. The AMVD computes the accelerometer variance over a sample window W = 10 2 and assumes the vehicle is stationary if the variance falls below a threshold γ = 10 -3 . To make sure AMVD performs at its best, the parameters W and γ are optimized by grid search on the test sequences. Results are shown in Table 2 and demonstrate the detector is more accurate than this "ideal" AMVD.

VI. CONCLUSION

This paper proposes a novel approach for robust inertial navigation for wheeled robots (RINS-W). Even if an autonomous vehicle is equipped with wheel encoders, LiDAR, and vision besides the IMU, the algorithm may be run in parallel for safety, in case of sensor failure, or more simply for validation such as slip angle monitoring [START_REF] Oxts | Why it is Necessary to Integrate an Inertial Measurement Unit with Imaging Systems on an Autonomous Vehicle[END_REF]. Our approach exploits deep neural networks to identify specific patterns in wheeled vehicle motions and incorporates this knowledge in IMU integration for localization. The entire algorithm is fed with IMU signals only, and requires no other sensor. The true trajectory usual estimation proposed estimation Fig. 9. Comparison on the sequence urban07 between proposed RINS-W, and a similar algorithm that does not use zero lateral and vertical velocities assumptions brought by the detector, see ( 25)- [START_REF] Cortes | Deep Learning Based Speed Estimation for Constraining Strapdown Inertial Navigation on Smartphones[END_REF]. The final distance between ground truth and RINS-W estimates is as small as 5 m, whereas ignoring ( 25)- [START_REF] Cortes | Deep Learning Based Speed Estimation for Constraining Strapdown Inertial Navigation on Smartphones[END_REF] [START_REF] Skog | Zero-Velocity Detection-An Algorithm Evaluation[END_REF] and the proposed detector on test sequences urban15-17. The proposed detector systematically obtains better results and precision. This is remarkable because the detector is not trained on those sequences, whereas AMVD parameters were optimized on the considered test sequences.

method leads to surprisingly accurate results, and opens new perspectives for combination of data-driven methods with well established methods for autonomous systems. Moreover, the pseudo measurements output by the detector are not reserved for dead reckoning and may prove useful in any fusion scheme. In future work, we would like to address the learning of the Kalman covariance matrices, and also the issue of generalization from one vehicle to another.

Fig. 3 .

 3 Fig. 3. Structure of the proposed RINS-W system for inertial navigation. The detector identifies specific motion profiles (8) from raw IMU signals only.

Fig. 5 .

 5 Fig. 5. Structure of the IEKF. The filter leverages motion profile information ẑn both for the propagation and the update of the state xn+1 .

Fig. 6 .

 6 Fig.6. The considered dataset[START_REF] Jeong | Complex Urban LiDAR Data Set[END_REF] contains data logs of a Xsens MTi-300 2 (right) recorded at 100 Hz along with the ground truth pose.

  Fig.8. Ground truth and trajectory estimates for the test sequence urban17 of the car dataset[START_REF] Jeong | Complex Urban LiDAR Data Set[END_REF]. RINS-W clearly outperforms the odometry and even the odometry + FoG solution. We note that RINS-W accurately follows the interchange road located at (x = 2, y = 1).

Table

  Training the full detector takes less than one day with a GTX 1080 GPU.

	test seq.	wheels odo.	odo. + FoG	RINS-W
	15: 16 min	19 / 5 / 36	7 / 2 / 7	7 / 5 / 12
	16: 73 min	140 / 127 / 1166	34 / 20 / 164 27 / 11 / 20
	17: 19 min	96 / 64 / 427	58 / 51 / 166 13 / 11 / 13
	15-17: 108 min	114 / 98 / 677 34 / 30 / 152 22 / 10 / 18

Table 1 ,

 1 and illustrated on Figures1, 7, and 8. Results demonstrate that:

			ground truth	IMU
			odometry	odometry+FoG
		0.6	proposed RINS-W
		0.4
	y (km)	0.2	ground	* * *
			truth end
		0
				start
		-0.2
		-0.6	-0.4 x (km)	-0.2	0
	Fig.

Table 2 .

 2 yields divergence. positive / false pos. 47.10 4 / 4.10 3 48.10 4 / 7.10 2 true negative / false neg. 16.10 4 / 1.10 4 16.10 4 / 9.10 3 Results on zero velocity (9) detection obtained by an ideal AMVD

	z vel n detection	ideal AMVD	our detector
	precision / recall	0.974 / 0.940	0.996 / 0.940

true

https://www.xsens.com/

https://pytorch.org/

https://www.kvh.com

APPENDIX A

The Lie group SE 2 (3) is an extension of the Lie group SE(3) and is described as follow, see [START_REF] Barrau | The Invariant Extended Kalman Filter as a Stable Observer[END_REF] for more details. A 5 × 5 matrix χ n ∈ SE 2 (3) is defined as

The uncertainties ξ n ∈ R 9 are mapped to the Lie algebra se 2 (3) through the transformation ξ n → ξ ∧ n defined as

where (•) × transforms a vector to a skew-symmetric matrix,

The closed-form expression for the exponential map is given as

where a =

.

APPENDIX B

Following the Right IEKF of [START_REF] Barrau | The Invariant Extended Kalman Filter as a Stable Observer[END_REF], the Jacobians required for the computation of the filter propagation [START_REF] Skog | Zero-Velocity Detection-An Algorithm Evaluation[END_REF] are given as

when ẑVEL n = 0 and ẑANG n = 0. Otherwise, we set the appropriate rows to zero in F n and G n , i.e.:

• if ẑVEL n = 1 we set the 4 to 9 rows of the right part of F n in (37) and of G n to zero.

• if ẑANG n = 1 we set the 3 first rows of the right part of F n in (37) and of G n to zero. Once again following [START_REF] Barrau | The Invariant Extended Kalman Filter as a Stable Observer[END_REF], the measurement Jacobians used in the filter update ( 27)- [START_REF] Haarnoja | Backprop KF: Learning Discriminative Deterministic State Estimators[END_REF] are given as

and we obtains H LAT n and H UP n as respectively the second and third row of H VEL n .


Sidi Ould

Saad Hamady
email: sidi.hamady@univ-lorraine.fr

Nicolas Fressengeas

Christyves Chevallier

Queny Kieffer

Mohd Zainuriah Hassan

Ahmad Anas

Way Foong Lim

Sha Shiong Ng

M A Anas

Development of Novel Thin Film Solar Cells: Design and Numerical Optimisation

Keywords: Solar Cell, Photovoltaics, InGaN, Schottky, Simulation, Numerical Optimization

ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

INTRODUCTION

The optimization of thin film solar cells involve many physical and technological parameters such as the active layers' composition, doping, thickness, optical parameters, density of defects… The development of numerical optimization methods using all these parameters are crucial in the design and, in fine, the fabrication of cost effective solar cells. One main prerequisite for these methods is to take into account the solar cell parameters' interdependence. For instance, the optimal composition depends on the doping and the absorber thickness, while the optimal thickness depends on the optical parameters such as the absorption coefficient and the refractive index. To optimize the solar cell efficiency with respect to all these parameters, the so-called parametric analysis is usually used: only one parameter is varying at a time while the other parameters are kept constant. [START_REF] Zhang | Simulation of In0.65Ga0.35N single-junction solar cell[END_REF][START_REF] Feng | Theoretical simulations of the effects of the indium content, thickness, and defect density of the -layer on the performance of InGaN single homojunction solar cell[END_REF] This standard procedure has two main drawbacks. It does not take into account the parameters' interdependence highlighted previously and, secondly, it does not give the absolute optimal efficiency. The new methodology based on a global Bayesian algorithm addressing these drawbacks is presented in the next section.

METHODOLOGY

As an alternative to parametric analysis, we developed a new methodology using nonlinear optimization algorithms to calculate the set of parameters maximizing the efficiency. [START_REF] Saad Hamady | SLALOM: Open-source, portable, and easy-to-use solar cell optimizer. Application to the design of InGaN solar cells[END_REF] This methodology permits to simultaneously optimize a large set of parameters taking automatically into account their interdependence while drastically reduce the computing time when compared to the parametric analysis. The developed code, SLALOM (SoLAr ceLl multivariate OptiMizer), implements this methodology and the including steps. Firstly, one define a set of crucial parameters to the solar cell operation (e.g. composition, doping concentration, layers thickness...). Then a semiconductor devices simulator is used to perform the numerical evaluation of the solar cell efficiency from its parameters using a mathematical algorithm designed to find the set of values that maximizes the efficiency using a numerical iterative procedure. The new implemented optimization method uses a global Bayesian algorithm. [START_REF] Locatelli | Bayesian algorithms for one-dimensional global optimization[END_REF] This global algorithm ensures that the found optimum is absolute and takes less computation time than the previously used methods. The global Bayesian algorithm implemented in SLALOM is used in this work to optimize a Schottky Based Solar Cell (SBSC) using Indium Gallium Nitride (InGaN) as the absorber. InGaN has the potential to achieve high photovoltaic efficiency since its bandgap can cover the whole solar spectrum, as illustrated in figure 1, by changing the indium composition. [START_REF] Fabien | Guidelines and limitations for the design of high-efficiency InGaN single-junction solar cells[END_REF] In addition, this ternary alloy can potentially permit to fabricate cost effective and robust solar cells operating at high temperature and high light intensity, e.g. in concentrator solar cells. The main drawbacks of using this material are the difficulty to grow thin film with high indium composition, the difficulty of p-type doping and the realization of ohmic contacts. [START_REF] Fabien | Guidelines and limitations for the design of high-efficiency InGaN single-junction solar cells[END_REF][START_REF] Yamamoto | Metal-organic vapor-phase epitaxial growth of InGaN and InAlN for multijunction tandem solar cells[END_REF] Using the SBSC technology is proposed to address the p-doping challenge. The InGaN SBSC structure is shown in figure 2. The main parameters used in the simulations, taken or extrapolated from experimental data, are summarized in table 1. The parameters to be optimized for this structure are the Schottky contact workfunction, the indium composition in InGaN, the doping concentration and the layer thickness.

Figure 2: InGaN Schottky based solar cell structure. The InGaN layer is grown on a GaN template substrate on Sapphire. The role of the GaN is twofold. It is used as a substrate for the epitaxy growth of the InGaN absorber and to realize the back ohmic contact. It is heavily doped to reduce the ohmic contact resistance. The InGaN doping is 6.5×10 16 cm -3 with a thickness of 0.86 µm. The GaN layer doping is about 10 19 cm -3 and its thickness is about 4 µm. Extracted from experimental data. [START_REF] Brown | Finite element simulations of compositionally graded InGaN solar cells[END_REF] Caughey-Thomas Model. [START_REF] Schwierz | An electron mobility model for wurtzite GaN[END_REF] Adachi Model. [START_REF] Djurisic | Modeling the optical constants of hexagonal GaN, InN, and AlN[END_REF] based on simulations using parameters extracted from experimental data, associated to a rigorous optimization global Bayesian algorithm. Therefore, we ensure that the obtained efficiency is optimal and not overestimated. This optimal efficiency is obtained for the following set of values: a layer thickness of 0.86 µm, a doping of 6.5×10 16 cm -3 , a metal workfunction of 6.30 eV and an indium composition of 56 %. The indium composition that is necessary for the optimal Schottky solar cell is still challenging. If we decrease the composition down to 30 %, the efficiency decreases to around 10 %. The simplicity of the SBSC structure, with only one n-doped layer, makes it very cost effective and robust when compared to the standard PN, PIN or multijunction structures. One aspect, crucial for the development of this technology, is the fabrication tolerance. The tolerance that is allowed on each parameter is the range in which this parameter can vary without decreasing the efficiency by more than 10 % of its maximum. [START_REF] Saad Hamady | Numerical simulation of InGaN Schottky solar cell[END_REF] This latter value is relative. For instance, if the optimized efficiency is 22 %, then in the considered parameter's tolerance range the efficiency remains between 19.8 % and 22 %. Table 2 displays for each optimized parameter the corresponding tolerance range, showing that the proposed InGaN SBSC structure exhibits high fabrication tolerances. For instance, the layer thickness can vary between 0.53 µm and 1 µm with an efficiency between 19.8 % and its optimal value of 22 %. One of the main advantages of decreasing the layer thickness is the possibility to grow epitaxial high quality layer using less material. In addition, the large tolerance in the doping can permit to use the residual InGaN n-doping without need to intentionally dope the layer. These results pave the way to the actual fabrication of the optimized InGaN SBSC solar cell with two main planned steps. The first step involves the optimization of the InGaN MOCVD epitaxial growth for high indium composition. [START_REF] Abud | Structural and Optical properties of In0.27Ga0.73N/Si(111) film grown using PA-MBE technique[END_REF] The shortterm objective is to grow an optimized InGaN layer with 20 % of indium and, in mid-term, to increase this composition up to 30 %. The second step is the fabrication of the semi-transparent Schottky contact using platinum. The final objective is to obtain the first InGaN SBSC with more than 20 % of indium.

CONCLUSION

In this paper, a new numerical optimization method is used to design a Schottky based solar cell using InGaN as the absorber. The global Bayesian algorithm used in this method takes into account the interdependence of the solar cell parameters and ensures the absoluteness of the optimized efficiency. The obtained results, based on using empirical parameters, precise physical models and rigorous optimization methodology, demonstrates the potential of this technology for cost effective and robust solar cells. The next step, based on this design and numerical optimization work, is the actual fabrication of the solar cell with the growth of the InGaN absorber and the realization of the semi-transparent Schottky contact in order to fabricate the first Schottky based solar cell using InGaN with more than 20 % of indium.

ACKNOWLEDGEMENTS

This research was supported by "Pôle M4 -Université de Lorraine", "Partenariats Hubert Curien (PHC) Hibiscus, INSOL project" and "Lorraine Université d'Excellence (LUE)" in the framework of the "HECTOR (High EfficienCy Thin Film sOlaR cells)" research project.

Figure 1 :

 1 Figure 1: A schematic AM0 solar spectrum showing the matching with the InGaN bandgap with indium composition x varying from 0 (GaN) to 1 (InN).

Figure 3 :

 3 Figure 3: Evolution of the InGaN SBSC photovoltaic performances during the global Bayesian optimization process. The time (x-axis) is expressed in minutes. VOC is the open-circuit voltage and JSC the short-circuit current. The Bayesian algorithm iterates until the desired precision is obtained. In this case, the necessary time for convergence is about 102 minutes.

Table 1 :

 1 The InGaN parameters used in the numerical simulations. Bandgap, affinity, density of states in valence and conduction bands, permittivity, absorption, SRH, Auger and direct recombination data are taken from literature or extrapolated from GaN and InN experimental data. Figure3displays the photovoltaic performances (efficiency, short-circuit current and open-circuit voltage) obtained using the global Bayesian optimization method. The total computation time, with high precision, is about 2 hours while it takes about 500 hours for the standard parametric analysis, and with lesser precision. The optimized parameters are shown in table 2. The InGaN SBSC exhibits an optimal efficiency of approximately 22 %, very close to the record efficiency obtained for the well-established thin film solar cells.[START_REF] Green | Solar cell efficiency tables (version 54)[END_REF] This obtained result is

	Parameters	InN	GaN
	Bandgap (eV)	0.7	3.42
	Affinity (eV)	5.6	4.1
	Carrier lifetime (ns)	1	1
	Permittivity	15.3	8.9
	Density of states in conduction band NC (cm -3 )	9.1×10 17	2.3×10 18
	Density of states in valence band NV (cm -3 )	5.3×10 19	4.6×10 17
	Absorption
	Mobility
	Refractive Index

3. RESULTS AND DISCUSSION

Table 2 :

 2 The optimized InGaN SBSC parameters and the corresponding fabrication tolerance range. The parameters to be optimized for this SBSC structure are the Schottky contact workfunction, the InGaN composition, doping concentration and layer thickness. The optimized efficiency is 22 %. In the considered fabrication tolerance range the efficiency remains between 19.8 % and 22 %.