🚗
Car States Estimation
  • AI IMU Dead-Reckoning paper explained
  • Implement Extended Kalman Filter (EKF) algorithms
  • Invariant EKF
  • Task 1. Estimate the orientation of the IMU
  • Task 2. Dead-reckoning based on IMU and GPS data using IEKF
  • All Result Plot
Powered by GitBook
On this page
  • The IMU/GPS RT3000 is used in the Kitti Dataset
  • AI-IMU Dead-Reckoning Algorithms Block Diagram
  • Lie Group and Lie Algebra
  • Invariant Exended Kalman Filter
  • Result of paper
  • References

AI IMU Dead-Reckoning paper explained

This page to summary the paper AI-IMU Dead-Reckoning Brossard, Martin & Barrau, Axel & Bonnabel, Silvère. (2020).. PP. 1-1. 10.1109/TIV.2020.2980758.

NextImplement Extended Kalman Filter (EKF) algorithms

Last updated 2 years ago

IMU Dead-Reckoning Problem: Given an initial known configuration (R0IMU,v0IMU,p0IMU)(R^{IMU}_0, \boldsymbol{v}^{IMU}_0, \boldsymbol{p}^{IMU}_0)(R0IMU​,v0IMU​,p0IMU​) perform the real-time IMU dead-reckoning, that is estimate the IMU and car variables. But using only the inertial measurement unit velocity and acceleration data ωnIMU,anIMU\omega^{IMU}_n, a^{IMU}_nωnIMU​,anIMU​ from the gyroscope and acceleration sensor, respectively.

xn:=(RnIMU,vnIMU,pnIMU,bnω,bna,Rnc,pnc)x_n := (\boldsymbol{R}^{IMU}_n, \boldsymbol{v}^{IMU}_n, \boldsymbol{p}^{IMU}_n, \boldsymbol{b}^\omega_n, \boldsymbol{b}^a_n, \boldsymbol{R}^c_n, \boldsymbol{p}^c_n)xn​:=(RnIMU​,vnIMU​,pnIMU​,bnω​,bna​,Rnc​,pnc​)

The IMU/GPS RT3000 is used in the Kitti Dataset

The data get from IMU/GPS data. Sensor update frequences IMU (100 Hz) and GPS (1Hz) [1]

  • Lattitude [lat_oxts], Longitude [long_oxts], Altitude [alt_oxts],

  • Acceleration[af, al, au], Acceleration bias [ax, ay, az],

  • Gyro[wf, wl, wu], gyro bias [wx, wy, wz],

  • Velocity v_gt[ve,vn,vu]: East Velocity, North Velocity, Up Velocity

  • Angular [ang_gt] =[ roll [roll_gt], pitch [pitch_gt], yaw [yaw_gt]],

  • position [p_oxts] in NEU (North -East -Up) coordinate

  • IMU data [u] = [gyro , acceleration ]

AI-IMU Dead-Reckoning Algorithms Block Diagram

Lie Group and Lie Algebra

Common Group Matrix

  • General Linear group GL(n). The invertible matrix of n × n with matrix multiplication.

  • Special Orthogonal Group SO(n). Or the rotation matrix group, where SO(2) and SO(3) is the most common.

  • Special Euclidean group SE(n). Or the n-dimensional transformation described earlier, such as SE(2) and SE(3)

Lie algebra describes the local structure of the Lie group around its identity point, which is the tangent space.

Invariant Exended Kalman Filter

The IEKF includes 2 main steps: predict step and update step

Step 1. Propagation (Predict step):

xn+1=f(xn,un)+wnx_{n+1} = f(x_n , u_n) +w_nxn+1​=f(xn​,un​)+wn​

where xnx_nxn​ denotes the state to be estimated, unu_nun​ is an input, and wnw_nwn​ is the process noise which is assumed Gaussian with zero mean and covariance matrix QnQ_nQn​.

State xn:=(RnIMU,vnIMU,pnIMU,bnω,bna,Rnc,pnc)x_n := (\boldsymbol{R}^{IMU}_n, \boldsymbol{v}^{IMU}_n, \boldsymbol{p}^{IMU}_n, \boldsymbol{b}^\omega_n, \boldsymbol{b}^a_n, \boldsymbol{R}^c_n, \boldsymbol{p}^c_n)xn​:=(RnIMU​,vnIMU​,pnIMU​,bnω​,bna​,Rnc​,pnc​),

Input un:=(t,u,R)u_n :=(t, u, R)un​:=(t,u,R) where uuu is the IMU data concatenates with gyro and acceleration, RR Ris the measurement covariance used in the measurement step, and measurement covariance R is trained by using the MeshNet see in the block diagram.

The covariance matrix P can write by the equation bellow

Pn+1=FnPnFT+GnQnGnTP_{n+1} = F_nP_nF^T + G_nQ_nG_n^TPn+1​=Fn​Pn​FT+Gn​Qn​GnT​

2 Jacobian matrices Fn,GnF_n , G_nFn​,Gn​ of f(.)f(.)f(.) respect to xn,unx_n , u_nxn​,un​. Noise parameter QnQ_n Qn​is learned from Neural Net.

Step 2. Measurement Update:

yn=h(xn)+nny_n = h(x_n) + n_nyn​=h(xn​)+nn​
S=HPn+1HT+RS = HP_{n+1}H^T + RS=HPn+1​HT+R
K=Pn+1STH−1K = P_{n+1}S^TH^{-1}K=Pn+1​STH−1
x=xn+1+Kynx = x_{n+1} + Ky_nx=xn+1​+Kyn​
P=(I−KH)Pn+1P = (I - KH)P_{n+1}P=(I−KH)Pn+1​

The velocity of the origin point of the car frame vncv_n^cvnc​

vnc=RncTRnimuTvnimu+(ωn)×pncv^c_n = R^{cT}_nR^{imuT}_nv^{imu}_n + (\omega_n)_\times p_n^cvnc​=RncT​RnimuT​vnimu​+(ωn​)×​pnc​

Result of paper

The result includes 10 sequences but for a better overview, 3 of them are over 400s were chosen to plot the result below.

  1. Sequence 2011_09_30_drive_0028_extract in 538.48 s

2. Sequence 2011_10_03_drive_0027_extract in 474.54i s

3. Sequence 2011_10_03_drive_0034_extract in 484.11 s

A problem in data occurs (2 seconds are missing). It is remarkable that the proposed method is robust to such trouble-causing shift estimates but has no divergence.

References

  1. Xu, Jing & Yang, Gongliu & Sun, Yiding & Picek, Stjepan. (2021). A Multi-Sensor Information Fusion Method Based on Factor Graph for Integrated Navigation System. IEEE Access. PP. 1-1. 10.1109/ACCESS.2021.3051715.

  2. M. Hagemann, D. Klawitter, D. Lordick: Force Driven Ruled Surfaces

Setup of the RT3000 in the car see

Lie group is a that is also a . A is a space that locally resembles , whereas groups define the abstract concept of a along with the additional properties it must have to be a group, for instance multiplication and the taking of inverses (division), or equivalently, the concept of addition and the taking of inverses (subtraction) [3]

https://www.cvlibs.net/datasets/kitti/setup.php
group
differentiable manifold
manifold
Euclidean space
binary operation
https://en.wikipedia.org/wiki/Lie_group
Summary Brossard paper
SE(3) and the corresponding Lie algebra as tangent space at identity[2]
Alighed Position on Sequence 2011_09_30_drive_0028_extract i