# Strapdown Sculling Velocity Algorithms Using Novel Input Combinations

Authors: Lei Huang; Zhaochun Li; Fei Xie; Kai Feng
Journal: Mathematical Problems in Engineering
 (2018)

---

## Abstract

Sculling motion is a standard input to evaluate the performance of the velocity algorithm in a highly dynamic environment. Conventional sculling algorithms usually adopt incremental angle/specific force increments or angular rate/specific force as algorithm inputs. However modern inertial sensors have different output types now, which do not correspond to the inputs of those traditional algorithms. For example, some inertial sensors have the integrated angular rate (incremental angle)/specific force outputs or angular rate/specific force increments outputs. Hence the conventional sculling algorithms cannot be easily applied to these situations. A novel sculling algorithm using incremental angle/specific force inputs or angular rate/specific force increments inputs is developed in this paper. The advantage of the novel algorithm is that it can calculate the carrier velocity directly without converting the dimension of inertial sensor outputs values. Theoretical analysis, digital simulations, and a trial study are carried out to verify our algorithm. The results demonstrate that for corresponding types of strapdown inertial navigation systems (SINS) the novel sculling algorithm exhibits better performance than the conventional sculling velocity algorithms.


---

## Body

## 1. Introduction

Improvements in maneuverability of flight vehicles necessitate SINS capable of efficiency in highly dynamic environments. To improve the precision of SINS, sculling motion is usually employed as a standard input to evaluate the performance of the velocity algorithm in a dynamic environment. Savage provided an analytical description of sculling motion in two forms [1, 2]. In that study a digital algorithm capable of calculating the sculling integral term was described. An analytical model for the evaluation of error build-up under band-limited random process input for the digital integration algorithm was developed in a later study [3]. It was demonstrated that the digital integration process introduced a random walk type error in the output that was directly proportional to the root-mean-square input amplitude, directly proportional to the square-root of the input bandwidth, and inversely proportional to the digital integration update frequency. Ignagni derived a class of optimized sculling algorithms and demonstrated a duality between the derived class of sculling algorithms and a previously derived class of coning algorithms [4]. Kelly developed a generic equivalency between coning and sculling integrals and algorithms. The equivalency allows a coning algorithm based on incremental angle input to be converted to its corresponding sculling algorithm using a simple mathematical formula [5]. In [6] two alternative approaches were developed for deriving strapdown navigation sculling algorithms. A key point of the two approaches is the use of additional gyro/accelerometer output signals which are the increments of the angular rate/specific force multiple integrals over the iteration interval. However, all these conventional velocity algorithms adopt incremental angle/specific force increments or angular rate/specific force as algorithm inputs. However modern inertial sensors produce different types of output now. For example, certain fiber optic gyros (FOGs) and the microelectromechanical systems (MEMS) gyros have angular rate sampled output, but the laser gyro usually has integrated angular rate output. The quartz accelerometer output is usually specific force, but some other type of accelerometer output carrier’s specific force increments. If the SINS use a gyro with an output of angular rate and an accelerometer with an output of specific force increments, these conventional sculling velocity algorithms are no longer very applicable. To solve this problem, a novel sculling algorithm using incremental angle/specific force inputs or angular rate/specific force increments inputs is developed in this paper. The novel algorithm can calculate out the carrier velocity directly without converting the dimension of inertial sensor outputs values. Owing to this, the precision of the algorithm is considerably high.


## 2. Conventional Sculling Algorithms

Velocity rate equation is(1)V˙=Cbnfb-2ωien+ωenn×Vn+gnThe carrier velocity in navigation coordinates at timetm is then obtained as the integral of (1) from time tm-1, evaluated at time tm as [1](2)Vmn=Vm-1n+Cbm-1nm-1∫tm-1tmCbtbm-1fbdt+∫tm-1tmgn-2ωien+ωenn×Vm-1ndt=Vm-1n+Cm-1ΔVsfm+ΔVg/cornwhere m is the computer cycle index, ΔVsfm is the integrated transformed specific force increment, and ΔVg/corn is the gravity/Carioles velocity increment. Calculating ΔVg/corn is a relatively simple process and is therefore omitted. ΔVsfm can be expanded as [5](3)ΔVsfm=ΔVm+12Δθm×ΔVm+12∫tm-1tmΔθt×ft+ΔVt×ωtdt=ΔVm+ΔVrotm+ΔVsculmwhere(4)ΔVt=∫fdt,ΔVm=∫tm-1tmfdt,Δθt=∫ωdtIn (3) ΔVrotm is the velocity rotation correction and ΔVsculm is the sculling correction. ΔVsculm in (3) is a continuous integral form. The discrete algorithm for ΔVsculm, which is usually referred to as sculling algorithm, can be obtained from the coning algorithm using a simple duality formula [4, 5, 7]. For example, the 2-interval optimal sculling algorithm using incremental angle/specific force increments inputs is [5, 8–10](5)ΔV^sculm=23Δθ1×ΔV2+ΔV1×Δθ2Its coning algorithm counterpart, namely, the 2-interval optimal coning algorithm using incremental angle input, is [11](6)ΔΦ=23Δθ1×Δθ2The 2-interval optimal sculling algorithm using angular rate/specific force inputs is [12, 13](7)ΔV^sculm=1180ω1×f3+f1×ω3H2+745ω1×f2+f1×ω2H2where H is the attitude and velocity update period H=tm-tm-1. Its coning algorithm counterpart using angular rate input is [14](8)ΔΦ=145ω1×ω3h2+2845ω1×ω2h2where h is the algorithm iteration interval. In a 2-interval algorithm there isH=2h.


## 3. Sculling Algorithm Using Incremental Angle/Specific Force Input

If the inertial sensors produce integrated angular rate (incremental angle)/specific force outputs, the conventional sculling algorithms such as (5) and (7) cannot calculate out the carrier’s velocity directly. The velocity algorithm must include a step for conversion of integrated angular rate (incremental angle) into angular rate by digital differentiation in order to use (7) or else convert specific force into specific force increments by digital integration in order to use (5). These steps will increase computational error. To solve this problem we have developed a novel sculling algorithm using incremental angle/specific force input.


### 3.1. Generalized Sculling Algorithm

For a 2-interval sculling velocity algorithm, there are two sample gyro outputsΔθi (i=1, 2) at time tm-1/2, tm, and three sample accelerometer outputs fj (j=1, 2, 3) at times tm-1, tm-1/2, and tm over an update period (tm-1, tm). Assume that the incremental angle Δθ and specific force f can be approximated by the second-order polynomial: (9)Δθ=at-tm-1+bt-tm-12f=A+2Bt-tm-1+3Ct-tm-12wherea,b,A,B, and C are the polynomials coefficients. Then(10)aH=3Δθ1-Δθ2bH2=2Δθ2-Δθ1,A=f1BH=12-3f1+4f2-f3CH2=23f1-2f2+f3Substituting (9) into ΔVsculm given by (3) gives(11)ΔV^sculm=12∫tm-1tmΔθt×ft+ΔVt×ωtdt=16A×bH3+16a×BH3+14a×CH4+110b×CH5Substituting (10) into (11) gives(12)ΔV^sculm=-H20Δθ1×f1-7H60Δθ2×f1+4H15Δθ1×f2-4H15Δθ2×f2+7H60Δθ1×f3+H20Δθ2×f3This is the 2-interval generalized sculling algorithm using incremental angle/specific force input.


### 3.2. Optimal Sculling Algorithm

A typical sculling motion is defined as [15](13)ω=bΩcos⁡ΩtJ,f=csin⁡ΩtKwhere b is the amplitude of the angular vibration,c is the amplitude of the specific force vibration,J,K are the unit vectors along the two body axes (y,z) about which the oscillations are occurring, andΩ is the frequency associated with the angular and specific force oscillations.The incremental angle and specific force increments of the sculling motion are(14)Δθ=∫tm-1tωdt=bsin⁡Ωt-sin⁡Ωtm-1JΔV=∫tm-1tfdt=-cΩcos⁡Ωt-cos⁡Ωtm-1KSubstituting (13) and (14) into the ΔVsculm term in (3) yields the truth sculling correction:(15)ΔVsculm=bc2H-1Ωsin⁡ΩHAs is seen in (15), in a sculling environment the true sculling correction ΔVsculm is a constant value. For a 2-interval system, the outputs of inertial sensors over a velocity update period are(16)Δθi=bsin⁡Ωtm-1+i2ΩH-sin⁡Ωtm-1+i-12ΩHJ,i=1,2fj=csin⁡Ωtm-1+j-12HK,j=1,2,3The generalized form of the sculling correction using incremental angle/specific input can be given as(17)ΔV^sculm=∑j=i+1N∑i=1N-1kijΔθi×fj-Δθj×fiH,N=2where N is the number of iteration intervals over the velocity update period. For a 2-interval algorithm,N=2. It follows from (16) that(18)Δθi×fj-Δθj×fiH=bchsin⁡ΩH4sin⁡2j-2i+14ΩH-sin⁡2i-2j+14ΩH=bchsin⁡ΩH2sin⁡j-i2ΩHObviously, the sculling correctionΔVsculm is only determined by |j-i|. Therefore (17) can be simplified as(19)ΔV^sculm=∑j=2Nkj-1Δθ1×fj-Δθj×f1HFor a 2-interval sculling algorithm,N=2. Substituting (18) into (19) gives(20)ΔV^sculm=k1bchsin2⁡ΩH2Sculling correctionΔV^sculm should be equal to the true sculling correction ΔVsculm, ΔV^sculm=ΔVsculm. Using (19) and (15), the simultaneous equation for the unknown parameter k can be obtained. Then the equation can be simplified by Taylor expanding “ΩH”: (21)Ω2H3:ΔV^sculmΔVsculmk14bc112bcThe solution forΔV^sculm=ΔVsculm is k1=1/3. Hence the 2-interval optimal sculling algorithm using incremental angle/specific force input is derived:(22)ΔV^sculm=13Δθ1×f2-Δθ2×f1HThe per-unit time algorithm error is(23)δV^sculm=V^sculm-Vsculm=bc360ΩH4In (2) and (3), the integrated transformed specific force increment ΔVsfm is composed of ΔVsculm, ΔVrotm, and ΔVm. ΔVm and Δθm in (3) can be calculated by digital integration:(24)Δθ^m=Δθ1+Δθ2,ΔV^m=f16+4f26+f36HSubstituting (24) into (3) gives(25)ΔV^rotm=12Δθ1+Δθ2×f16+4f26+f36HSubstituting (22), (24), and (25) into (3) gives the integrated transformed specific force increments:(26)ΔV^sfm=f16+4f26+f36H+12Δθ1+Δθ2×f16+4f26+f36H+13Δθ1×f2-Δθ2×f1HAs described previously,ΔVg/corn in (2) can be calculated out easily; indeed it can be calculated approximatively as a constant during one update period and omitted here. Vm-1n in (2), i.e., the carrier velocity at tm-1, has been calculated out during the last algorithm update period. Thus the carrier velocity at time tm can be calculated out by substituting (26) into (2).


### 3.3. Formalized Optimal Sculling Algorithm

For anN-interval sculling velocity algorithm using incremental angle/specific force input, the sample number of the accelerometer outputs (specific force) isN+1, and the number of the gyro outputs (integrated angular rate) is N. The gyro/accelerometer outputs in a sculling environment defined by (13) are(27)Δθi=2bsin⁡ΩH4cos⁡Ωtm-1+2i-12NHJ,i=1,2,…,Nfj=csin⁡Ωtm-1+j-1NHK,j=1,2,…N+1As previously mentioned,N-interval sculling velocity algorithm can be formulated as (19). Substituting (27) into (19) we obtain(28)ΔV^sculm=bcH∑i=1N-1kisin⁡ΩHNsin⁡iΩHNApplying (28) with Taylor series expansion for the coefficient terms “ΩH”, we obtain(29)ΔV^sculm=bcHk1+2k2+⋯N-1kN-1ΩHN2+-k13!-k13!-2k23!-23k23!-33k33!-3k33!⋯ΩHN4+…Applying (15) with Taylor series expansion for the coefficient terms “ΩH” gives(30)ΔVsculm=bc2ΩH33!Ω-ΩH55!Ω+⋯FromΔV^sculm=ΔVsculm we can obtain(31)AN-1×N-1·GN-1×1=DN-1×1where (32)
A
=
1
N
2
2
N
2
⋯
N
-
1
N
2
1
+
1
3
N
4
3
!
2
+
2
3
N
4
3
!
⋯
N
-
1
+
N
-
1
3
N
4
3
!
⋯
⋯
⋯
1
+
1
2
N
-
3
N
2
N
-
1
2
N
-
3
!
2
+
2
2
N
-
3
N
2
N
-
1
2
N
-
3
!
⋯
N
-
1
+
N
-
1
2
N
-
3
N
2
N
-
1
2
N
-
3
!
︸
N
-
1
×
N
-
1
,
G
=
k
1
k
2
⋯
k
N
-
1
︸
N
-
1
×
1
T
,
D
=
1
2
·
3
!
1
2
·
5
!
⋯
1
2
·
2
N
-
1
!
︸
N
-
1
×
1
TThe solution to (31) isG =A−1D. Details regarding the optimal coefficients are shown in Table 1.Table 1
Sculling algorithm optimal coefficients.
N G = A −1 D δ V ^ s c u l m (per-unit algorithm error) 2 k 1 = 1 3 b c 360 ( Ω H ) 4 3 k 1 k 2 = 23 40 7 80 T 17 b c 4898880 ( Ω H ) 6 … … …Comparing the developed sculling algorithm given by (22) with the conventional sculling algorithms represented in (5) or (7), we can see the advantages of the developed algorithm are that it is able to calculate out the sculling correction and then the velocity at tm directly without any requirements to perform the dimension conversion of inertial sensor outputs.


## 3.1. Generalized Sculling Algorithm

For a 2-interval sculling velocity algorithm, there are two sample gyro outputsΔθi (i=1, 2) at time tm-1/2, tm, and three sample accelerometer outputs fj (j=1, 2, 3) at times tm-1, tm-1/2, and tm over an update period (tm-1, tm). Assume that the incremental angle Δθ and specific force f can be approximated by the second-order polynomial: (9)Δθ=at-tm-1+bt-tm-12f=A+2Bt-tm-1+3Ct-tm-12wherea,b,A,B, and C are the polynomials coefficients. Then(10)aH=3Δθ1-Δθ2bH2=2Δθ2-Δθ1,A=f1BH=12-3f1+4f2-f3CH2=23f1-2f2+f3Substituting (9) into ΔVsculm given by (3) gives(11)ΔV^sculm=12∫tm-1tmΔθt×ft+ΔVt×ωtdt=16A×bH3+16a×BH3+14a×CH4+110b×CH5Substituting (10) into (11) gives(12)ΔV^sculm=-H20Δθ1×f1-7H60Δθ2×f1+4H15Δθ1×f2-4H15Δθ2×f2+7H60Δθ1×f3+H20Δθ2×f3This is the 2-interval generalized sculling algorithm using incremental angle/specific force input.


## 3.2. Optimal Sculling Algorithm

A typical sculling motion is defined as [15](13)ω=bΩcos⁡ΩtJ,f=csin⁡ΩtKwhere b is the amplitude of the angular vibration,c is the amplitude of the specific force vibration,J,K are the unit vectors along the two body axes (y,z) about which the oscillations are occurring, andΩ is the frequency associated with the angular and specific force oscillations.The incremental angle and specific force increments of the sculling motion are(14)Δθ=∫tm-1tωdt=bsin⁡Ωt-sin⁡Ωtm-1JΔV=∫tm-1tfdt=-cΩcos⁡Ωt-cos⁡Ωtm-1KSubstituting (13) and (14) into the ΔVsculm term in (3) yields the truth sculling correction:(15)ΔVsculm=bc2H-1Ωsin⁡ΩHAs is seen in (15), in a sculling environment the true sculling correction ΔVsculm is a constant value. For a 2-interval system, the outputs of inertial sensors over a velocity update period are(16)Δθi=bsin⁡Ωtm-1+i2ΩH-sin⁡Ωtm-1+i-12ΩHJ,i=1,2fj=csin⁡Ωtm-1+j-12HK,j=1,2,3The generalized form of the sculling correction using incremental angle/specific input can be given as(17)ΔV^sculm=∑j=i+1N∑i=1N-1kijΔθi×fj-Δθj×fiH,N=2where N is the number of iteration intervals over the velocity update period. For a 2-interval algorithm,N=2. It follows from (16) that(18)Δθi×fj-Δθj×fiH=bchsin⁡ΩH4sin⁡2j-2i+14ΩH-sin⁡2i-2j+14ΩH=bchsin⁡ΩH2sin⁡j-i2ΩHObviously, the sculling correctionΔVsculm is only determined by |j-i|. Therefore (17) can be simplified as(19)ΔV^sculm=∑j=2Nkj-1Δθ1×fj-Δθj×f1HFor a 2-interval sculling algorithm,N=2. Substituting (18) into (19) gives(20)ΔV^sculm=k1bchsin2⁡ΩH2Sculling correctionΔV^sculm should be equal to the true sculling correction ΔVsculm, ΔV^sculm=ΔVsculm. Using (19) and (15), the simultaneous equation for the unknown parameter k can be obtained. Then the equation can be simplified by Taylor expanding “ΩH”: (21)Ω2H3:ΔV^sculmΔVsculmk14bc112bcThe solution forΔV^sculm=ΔVsculm is k1=1/3. Hence the 2-interval optimal sculling algorithm using incremental angle/specific force input is derived:(22)ΔV^sculm=13Δθ1×f2-Δθ2×f1HThe per-unit time algorithm error is(23)δV^sculm=V^sculm-Vsculm=bc360ΩH4In (2) and (3), the integrated transformed specific force increment ΔVsfm is composed of ΔVsculm, ΔVrotm, and ΔVm. ΔVm and Δθm in (3) can be calculated by digital integration:(24)Δθ^m=Δθ1+Δθ2,ΔV^m=f16+4f26+f36HSubstituting (24) into (3) gives(25)ΔV^rotm=12Δθ1+Δθ2×f16+4f26+f36HSubstituting (22), (24), and (25) into (3) gives the integrated transformed specific force increments:(26)ΔV^sfm=f16+4f26+f36H+12Δθ1+Δθ2×f16+4f26+f36H+13Δθ1×f2-Δθ2×f1HAs described previously,ΔVg/corn in (2) can be calculated out easily; indeed it can be calculated approximatively as a constant during one update period and omitted here. Vm-1n in (2), i.e., the carrier velocity at tm-1, has been calculated out during the last algorithm update period. Thus the carrier velocity at time tm can be calculated out by substituting (26) into (2).


## 3.3. Formalized Optimal Sculling Algorithm

For anN-interval sculling velocity algorithm using incremental angle/specific force input, the sample number of the accelerometer outputs (specific force) isN+1, and the number of the gyro outputs (integrated angular rate) is N. The gyro/accelerometer outputs in a sculling environment defined by (13) are(27)Δθi=2bsin⁡ΩH4cos⁡Ωtm-1+2i-12NHJ,i=1,2,…,Nfj=csin⁡Ωtm-1+j-1NHK,j=1,2,…N+1As previously mentioned,N-interval sculling velocity algorithm can be formulated as (19). Substituting (27) into (19) we obtain(28)ΔV^sculm=bcH∑i=1N-1kisin⁡ΩHNsin⁡iΩHNApplying (28) with Taylor series expansion for the coefficient terms “ΩH”, we obtain(29)ΔV^sculm=bcHk1+2k2+⋯N-1kN-1ΩHN2+-k13!-k13!-2k23!-23k23!-33k33!-3k33!⋯ΩHN4+…Applying (15) with Taylor series expansion for the coefficient terms “ΩH” gives(30)ΔVsculm=bc2ΩH33!Ω-ΩH55!Ω+⋯FromΔV^sculm=ΔVsculm we can obtain(31)AN-1×N-1·GN-1×1=DN-1×1where (32)
A
=
1
N
2
2
N
2
⋯
N
-
1
N
2
1
+
1
3
N
4
3
!
2
+
2
3
N
4
3
!
⋯
N
-
1
+
N
-
1
3
N
4
3
!
⋯
⋯
⋯
1
+
1
2
N
-
3
N
2
N
-
1
2
N
-
3
!
2
+
2
2
N
-
3
N
2
N
-
1
2
N
-
3
!
⋯
N
-
1
+
N
-
1
2
N
-
3
N
2
N
-
1
2
N
-
3
!
︸
N
-
1
×
N
-
1
,
G
=
k
1
k
2
⋯
k
N
-
1
︸
N
-
1
×
1
T
,
D
=
1
2
·
3
!
1
2
·
5
!
⋯
1
2
·
2
N
-
1
!
︸
N
-
1
×
1
TThe solution to (31) isG =A−1D. Details regarding the optimal coefficients are shown in Table 1.Table 1
Sculling algorithm optimal coefficients.
N G = A −1 D δ V ^ s c u l m (per-unit algorithm error) 2 k 1 = 1 3 b c 360 ( Ω H ) 4 3 k 1 k 2 = 23 40 7 80 T 17 b c 4898880 ( Ω H ) 6 … … …Comparing the developed sculling algorithm given by (22) with the conventional sculling algorithms represented in (5) or (7), we can see the advantages of the developed algorithm are that it is able to calculate out the sculling correction and then the velocity at tm directly without any requirements to perform the dimension conversion of inertial sensor outputs.


## 4. Sculling Algorithm Using Angular Rate/Specific Force Increments Input

### 4.1. Generalized Sculling Algorithm

If inertial sensors output angular rate/specific force increments, for a 2-interval sculling velocity algorithm there are three sample gyro outputsω (i=1, 2, 3) at times tm-1, tm-1/2, and tm and two sample accelerometer outputs ΔVj (j=1, 2) at times tm-1/2, tm over an update period (tm-1, tm). Assume that the angular rate ω and the specific force increments ΔVj can be approximated by the second-order polynomial:(33)ω=a+2bt-tm-1+3ct-tm-12ΔV=At-tm-1+Bt-tm-12wherea,b,A,B, and C are the polynomials coefficients. We then obtain the following:(34)AH=3ΔV1-ΔV2BH2=2ΔV2-ΔV1,a=ω1bH=12-3ω1+4ω2-ω3cH2=23ω1-2ω2+ω3Comparing (9) and (10) with (33) and (34) we can see that there is a duality between the sculling algorithm using incremental angle/specific force inputs and the sculling algorithm using angular rate/specific force increments inputs. Eqs. (9) and (10) have the identical mathematical forms to (33) and (34), and they equal each other when the terms Δθ,f,aH,bH2,A,BH, andCH2 in (9) and (10) are replaced by ΔV, ω,AH,BH2,a,bH, andcH2 respectively. The 2-interval generalized sculling algorithm using angular rate/specific force increments inputs can therefore be given as(35)ΔV^sculm=H20ΔV1×ω1-7H60ΔV2×ω1+4H15ΔV1×ω2-4H15ΔV2×ω2+7H60ΔV1×ω3+H20ΔV2×ω3


### 4.2. Formalized Optimal Sculling Algorithm

ForN-interval sculling velocity algorithm using angular rate/specific force increments inputs, the sample number of the accelerometer outputs (specific force increments) isN-1, and the sample number of the gyro outputs (angular rate) is N. The gyro/accelerometer outputs in a sculling environment defined by (13) are(36)ωi=bΩcos⁡Ωtm+i-1NHJ,i=1,2,…,N+1ΔVj=2cΩsin⁡ΩH2Nsin⁡Ωtm-1+2j-1H2NK,j=1,2,…,NSimilar to the derivations of (15)-(17), the generalized form for sculling correction algorithm using angular rate/specific force increments inputs is(37)ΔV^sculm=∑j=i+1N∑i=1N-1kijωi×ΔVj-ωj×ΔViH,N=2It can be derived from (36) that(38)ωi×ΔVj-ωj×ΔViH=bcHsin⁡ΩH2sin⁡j-i2ΩHObviously, the sculling correctionΔV^sculm in (37) is only controlled by |j-i|. Therefore (37) can be simplified as(39)ΔV^sculm=∑j=2Nkj-1ω1×ΔVj-ωj×ΔV1HEqs. (19) and (39) have the identical mathematical forms when the terms of Δθ,f in (19) are replaced by ΔV, ω. Hence the optimal values for coefficients k1, k2… in (39) are as same as those in (9). That is, the optimal values for coefficients shown in Table 1 are also appropriate for the sculling algorithm using angular rate/specific force increments inputs. For example, the optimal coefficient for a 2-interval sculling algorithm using angular rate/specific force increments inputs isk=1/3, and the corresponding sculling algorithm is(40)ΔV^sculm=13ω1×ΔV2-ω2×ΔV1HThe algorithm error per unit time is(41)δV^sculm=V^sculm-Vsculm=bc360ΩH4


## 4.1. Generalized Sculling Algorithm

If inertial sensors output angular rate/specific force increments, for a 2-interval sculling velocity algorithm there are three sample gyro outputsω (i=1, 2, 3) at times tm-1, tm-1/2, and tm and two sample accelerometer outputs ΔVj (j=1, 2) at times tm-1/2, tm over an update period (tm-1, tm). Assume that the angular rate ω and the specific force increments ΔVj can be approximated by the second-order polynomial:(33)ω=a+2bt-tm-1+3ct-tm-12ΔV=At-tm-1+Bt-tm-12wherea,b,A,B, and C are the polynomials coefficients. We then obtain the following:(34)AH=3ΔV1-ΔV2BH2=2ΔV2-ΔV1,a=ω1bH=12-3ω1+4ω2-ω3cH2=23ω1-2ω2+ω3Comparing (9) and (10) with (33) and (34) we can see that there is a duality between the sculling algorithm using incremental angle/specific force inputs and the sculling algorithm using angular rate/specific force increments inputs. Eqs. (9) and (10) have the identical mathematical forms to (33) and (34), and they equal each other when the terms Δθ,f,aH,bH2,A,BH, andCH2 in (9) and (10) are replaced by ΔV, ω,AH,BH2,a,bH, andcH2 respectively. The 2-interval generalized sculling algorithm using angular rate/specific force increments inputs can therefore be given as(35)ΔV^sculm=H20ΔV1×ω1-7H60ΔV2×ω1+4H15ΔV1×ω2-4H15ΔV2×ω2+7H60ΔV1×ω3+H20ΔV2×ω3


## 4.2. Formalized Optimal Sculling Algorithm

ForN-interval sculling velocity algorithm using angular rate/specific force increments inputs, the sample number of the accelerometer outputs (specific force increments) isN-1, and the sample number of the gyro outputs (angular rate) is N. The gyro/accelerometer outputs in a sculling environment defined by (13) are(36)ωi=bΩcos⁡Ωtm+i-1NHJ,i=1,2,…,N+1ΔVj=2cΩsin⁡ΩH2Nsin⁡Ωtm-1+2j-1H2NK,j=1,2,…,NSimilar to the derivations of (15)-(17), the generalized form for sculling correction algorithm using angular rate/specific force increments inputs is(37)ΔV^sculm=∑j=i+1N∑i=1N-1kijωi×ΔVj-ωj×ΔViH,N=2It can be derived from (36) that(38)ωi×ΔVj-ωj×ΔViH=bcHsin⁡ΩH2sin⁡j-i2ΩHObviously, the sculling correctionΔV^sculm in (37) is only controlled by |j-i|. Therefore (37) can be simplified as(39)ΔV^sculm=∑j=2Nkj-1ω1×ΔVj-ωj×ΔV1HEqs. (19) and (39) have the identical mathematical forms when the terms of Δθ,f in (19) are replaced by ΔV, ω. Hence the optimal values for coefficients k1, k2… in (39) are as same as those in (9). That is, the optimal values for coefficients shown in Table 1 are also appropriate for the sculling algorithm using angular rate/specific force increments inputs. For example, the optimal coefficient for a 2-interval sculling algorithm using angular rate/specific force increments inputs isk=1/3, and the corresponding sculling algorithm is(40)ΔV^sculm=13ω1×ΔV2-ω2×ΔV1HThe algorithm error per unit time is(41)δV^sculm=V^sculm-Vsculm=bc360ΩH4


## 5. Simulations

The sculling motion is defined by (13). For this 600s duration test, the amplitude of the angular vibrationb=1°, the amplitude of the specific force vibrationc=10g, the frequency associated with the angular and specific force oscillationsΩ=2π rad/s (oscillation frequency is 1Hz). The inertial sensors outputs are given by (16). The velocity update periodH=0.01s. The initial attitude is (0, 0, 0)°. The initial velocity is (0, 0, 0)m/s. The initial position is (118.813773°, 32.035512°, 10m). The navigation coordinate frame is set to east-north-up. The error comparisons between the developed 2-interval sculling algorithm given by (22) and the conventional 2-interval sculling algorithm given by (5) are shown in Figures 1 and 2. The solid line represents the developed sculling algorithm errors; the dotted line represents the conventional sculling algorithm errors.Figure 1
Comparison of the horizontal velocity determination results between two algorithms under sculling environment.
(a)
Eastward velocity error (b)
Northward velocity errorFigure 2
Comparison of the horizontal position determination results between two algorithms under sculling environment.
(a)
Longitude error (b)
Latitude errorAs can be seen in Figure1, the eastward velocity errors of both algorithms are larger about one order than those northern velocity errors. This is because in a sculling environment defined by (13), the sculling error mainly exists in thex-axis of the carrier. The corresponding velocity component is VE in the east-north-up coordinate frame.Particularly, for the traditional algorithm the sculling correction termΔVsculm given in (15) has not been compensated effectively due to the computational error caused by the conversion of specific force into specific force increments by digital integration. There is a constant error term in the eastward velocity of the traditional algorithm, so the eastward velocity error curve of the traditional algorithm increases rapidly and linearly due to the error propagation.However, the accuracy of bothVE and VN as estimated by the proposed algorithm is improved by one order of magnitude when compared with those measured by the traditional sculling algorithm. This is because using the proposed sculling algorithm can calculate out the velocity directly without dimension conversion of inertial sensor outputs. Therefore, the sculling correction has been compensated effectively and the velocity determination precision is improved dramatically.From Figure2 we can see that the longitude errors of both algorithms are larger than the latitude errors of both algorithms. This is because the eastward velocity error is the main reason for the longitude error. As mentioned in the third paragraph before, the eastward velocity errors of both algorithms are larger about one order than those northern velocity errors.The increase of the longitude error curve of the traditional algorithm is particularly rapid, because when the inertial sensors output integrated angular rate/specific force and the carrier is in a sculling motion environment, the traditional algorithm cannot compensate the sculling correction well. It will induce a rapid error propagation in eastward velocity and then a rapid increasing longitude error finally.However, the position errors of the proposed algorithm are reduced by more than one order of magnitude compared with those of the traditional sculling algorithm. This is because the improved precision in velocity determination will also result in improved precision in position determination.


## 6. Trial Study

As is shown in Figure3, a dynamic car test was performed to validate the performance of our proposed sculling algorithm. For this 20-minute test, the constant gyro drift is 0.01°/h; the accelerometer bias is 5 × 10−5g. The update period for the velocity algorithm is 0.01s. A GPS/INS integrated navigation system (SPAN-CPT, NovAtel in Sweden) is also used as the benchmark for attitude, velocity, and position. NovAtel has claimed that the performance of this integrated navigation system is better than 0.06° for heading and 0.02° for pitch and roll, 0.015m/s for horizontal velocity, and 1.2m for horizontal position accuracy.Figure 3
Experimental photograph.Trial results for the comparative study between the novel and traditional algorithm are shown in Figures4 and 5. Obviously, the accuracy of horizontal (eastward/northward) velocity and horizontal position (longitude/latitude) is improved when using the novel algorithm. These trial results are consistent with both theoretical analysis (Section 3.3) and simulation results before (Figures 1 and 2).Figure 4
Comparison of horizontal velocity determination results of the dynamic car test between two algorithms.
(a)
Eastward velocity error (b)
Northward velocity errorFigure 5
Comparison of horizontal position determination results of the dynamic car test between two algorithms.
(a)
Longitude error (b)
Latitude error


## 7. Conclusions

To solve the issue that in certain situations the output parameters of inertial sensor do not match the input parameters required by the conventional sculling algorithms, an optimal sculling algorithm using incremental angle/specific force input or angular rate/specific force increments inputs is developed in this paper. The developed sculling algorithms can calculate out the carrier velocity directly without the dimension conversion of inertial sensor outputs. Accordingly, the developed algorithms provide higher precision than conventional sculling algorithms in the SINS in which the employed inertial sensors have the integrated angular rate/specific force or angular rate/specific force increments outputs. Our novel sculling velocity algorithm thus has great useful value in such cases.



---

*Source: 9823138-2018-10-28.xml*