NOTE / 12/4/2021

[SINS] Initial Alignment for High-Accuracy Strapdown INS

SLAMTechnical NotesSLAMVIOsensor fusion

I recently learned some material about high-accuracy strapdown inertial navigation and summarize it here. I am still new to this area, so corrections are welcome.

High-accuracy gyroscopes can sense Earth’s rotation rate (∼15∘/h\sim15^\circ/\mathrm h), while accelerometers measure gravity. Under stationary conditions, a high-accuracy IMU can therefore determine its own attitude without external aiding and perform initial alignment.

Coarse alignment on a stationary base

In the local navigation frame (ENU), Earth gravity is

gn=[00−g].\mathbf g^n= \begin{bmatrix}0\\0\\-g\end{bmatrix}.

Earth’s rotation rate is

ωien=[0ωiecos⁡Lωiesin⁡L].\boldsymbol\omega^n_{ie}= \begin{bmatrix} 0\\ \omega_{ie}\cos L\\ \omega_{ie}\sin L \end{bmatrix}.

Here ωie\omega_{ie} is Earth’s rotation rate, approximately 15.041067∘/h15.041067^\circ/\mathrm h, and LL is geographical latitude.

The inertial-navigation angular-rate measurement relation and the specific-force equation are

Cbnωibb=ωibn=ωien+ωenn+ωnbn,\mathbf C^n_b\boldsymbol\omega^b_{ib} =\boldsymbol\omega^n_{ib} =\boldsymbol\omega^n_{ie}+\boldsymbol\omega^n_{en}+\boldsymbol\omega^n_{nb}, v˙n=Cbnfsfb−2(ωien+ωenn)×vn+gn.\dot{\mathbf v}^n= \mathbf C^n_b\mathbf f^b_{sf} -2(\boldsymbol\omega^n_{ie}+\boldsymbol\omega^n_{en})\times\mathbf v^n +\mathbf g^n.

On a stationary base, acceleration and velocity are approximately zero and ωien+ωenn\boldsymbol\omega^n_{ie}+\boldsymbol\omega^n_{en} is very small. With these approximations,

C~bnω~ibb=ωien,C~bnf~sfb=−gn.\tilde{\mathbf C}^n_b\tilde{\boldsymbol\omega}^b_{ib} =\boldsymbol\omega^n_{ie}, \qquad \tilde{\mathbf C}^n_b\tilde{\mathbf f}^b_{sf} =-\mathbf g^n.

Solving the two equations gives the attitude matrix:

C^bn=[−(f~sfb×ω~ibb)T/∥f~sfb×ω~ibb∥(f~sfb×ω~ibb×f~sfb)T/∥f~sfb×ω~ibb×f~sfb∥(f~sfb)T/∥f~sfb∥].\hat{\mathbf C}^n_b= \begin{bmatrix} -(\tilde{\mathbf f}^b_{sf}\times\tilde{\boldsymbol\omega}^b_{ib})^\mathsf T/ \lVert\tilde{\mathbf f}^b_{sf}\times\tilde{\boldsymbol\omega}^b_{ib}\rVert\\ (\tilde{\mathbf f}^b_{sf}\times\tilde{\boldsymbol\omega}^b_{ib}\times\tilde{\mathbf f}^b_{sf})^\mathsf T/ \lVert\tilde{\mathbf f}^b_{sf}\times\tilde{\boldsymbol\omega}^b_{ib}\times\tilde{\mathbf f}^b_{sf}\rVert\\ (\tilde{\mathbf f}^b_{sf})^\mathsf T/ \lVert\tilde{\mathbf f}^b_{sf}\rVert \end{bmatrix}.

The attitude matrix therefore has no explicit geographic-position term.

Experiment

Professor Gongmin Yan has open-sourced a high-accuracy integrated-navigation algorithm and provides high-accuracy inertial-navigation data. We use one of those data sets for the experiment.

The SPANISA vehicle test uses a NovAtel 100C fiber-optic IMU. It includes stationary data at both the beginning and end, and also provides an IE post-processing result that can serve as ground truth for evaluating static-alignment accuracy.

Starting position

MethodYaw (degree)Pitch (degree)Roll (degree)
IE post-processing ground truth116.41221.1547-0.6703
Stationary-base coarse alignment116.97591.2903-0.5747
Error0.56370.13550.0955

Ending position

MethodYaw (degree)Pitch (degree)Roll (degree)
IE post-processing ground truth-66.18691.2109-0.0910
Stationary-base coarse alignment-67.51761.3439-0.0046
Error-1.33070.13300.0864

The static-alignment accuracy for roll and pitch is very high; yaw is less accurate.

For factors that affect stationary-base alignment errors, see reference [1]. Its conclusion is reproduced below.

Article illustration

Source code

ydsf16/TinyGrapeKit — SINS