Research Article

Highly Efficient Sigma Point Filter for Spacecraft Attitude and Rate Estimation

Table 4

Pseudocode and computational expense evaluation of the MEKF with closed-form solutions.

Algorithm × +

Initialize ̂ 𝐱 0 ̂ 𝐚 = [ 𝑇 0 ̂ 𝐛 , Δ 𝑇 0 ] 𝑇 = 𝟎 6 × 1 , ̂ 𝐪 0 = [ 𝟎 𝑇 3 × 1 , 1 ] 𝑇 , ̂ 𝐛 0 = 𝟎 3 × 1
𝐏 𝐴 0 = 𝜀 2 𝑎 𝐈 3 , 𝐏 𝐵 0 = 𝜀 2 𝑏 𝐈 3 ,
𝐐 𝐴 𝑘 = 𝑇 ( 𝜎 2 A R W + ( 1 / 3 ) 𝜎 2 R R W 𝑇 2 ) 𝐈 3
𝐐 𝑘 𝐵 𝐴 = ( 1 / 2 ) 𝜎 2 R R W 𝑇 2 𝐈 3 , 𝐐 𝐵 𝑘 = 𝜎 2 R R W 𝑇 𝐈 3

Propagation 𝝎 𝑘 1 = 𝜔 m e a s 𝑘 1 ̂ 𝐛 𝑘 1 , 𝜔 𝑘 1 𝝎 = | 𝑘 1 | , 𝜙 𝑘 1 = 𝜔 𝑘 1 𝑇 6 5 1
̂ 𝐪 𝝎 𝑘 1 𝝓 = [ 8 𝑇 𝑘 1 𝜙 , ( 1 6 2 𝑘 1 ) ] 𝑇 𝜙 / ( 1 6 + 2 𝑘 1 ) 6 2
̂ 𝝎 𝐧 = 𝑘 1 / 𝜔 𝑘 1 3
Φ 𝑘 1 = 𝐈 3 𝜙 s i n 𝑘 1 [ ̂ 𝜙 𝐧 × ] + ( 1 c o s 𝑘 1 ̂ ) [ 𝐧 × ] 2 𝐈 3 𝜙 ( 𝑘 1 𝜙 ( 3 𝑘 1 ̂ 𝜙 / 6 ) ) [ 𝐧 × ] + ( 2 𝑘 1 ̂ / 2 ) [ 𝐧 × ] 2 49 30
Ψ 𝑘 1 = ( 𝑇 / 2 ) 𝐈 3 𝜙 ( ( 1 c o s 𝑘 1 ) / 𝜔 𝑘 1 ̂ 𝐧 ) [ 𝑘 1 𝜙 × ] + ( ( 𝑘 1 𝜙 s i n 𝑘 1 ) / 𝜔 𝑘 1 ̂ 𝐧 ) [ 𝑘 1 × ] 2 ( 𝑇 / 2 ) 𝐈 3 𝜙 ( 2 𝑘 1 / 2 𝜔 𝑘 1 ̂ 𝐧 ) [ 𝑘 1 𝜙 × ] + ( 3 𝑘 1 / 6 𝜔 𝑘 1 ̂ 𝐧 ) [ 𝑘 1 × ] 2 51 30
𝐏 𝐴 𝑘 / 𝑘 1 = Φ 𝑘 1 𝐏 𝐴 𝑘 1 Φ 𝑇 𝑘 1 + Ψ 𝑘 1 𝐏 𝐵 𝑘 1 Ψ 𝑇 𝑘 1 10881
+ Ψ 𝑘 1 𝐏 𝐵 𝐴 𝑘 1 Φ 𝑇 𝑘 1 + ( Ψ 𝑘 1 𝐏 𝐵 𝐴 𝑘 1 Φ 𝑇 𝑘 1 ) 𝑇 + 𝐐 𝐴 𝑘 54 57
𝐏 𝐵 𝐴 𝑘 / 𝑘 1 = 𝐏 𝐵 𝐴 𝑘 1 Φ 𝑇 𝑘 1 + 𝐏 𝐵 𝑘 1 Ψ 𝑇 𝑘 1 + 𝐐 𝑘 𝐵 𝐴 54 48
𝐏 𝐵 𝑘 / 𝑘 1 = 𝐏 𝐵 𝑘 1 + 𝐐 𝐵 𝑘 3
̂ 𝐪 𝑘 / 𝑘 1 = ̂ 𝐪 𝑘 1 ̂ 𝐪 𝝎 𝑘 1 , ̂ 𝐪 𝑘 / 𝑘 1 = ̂ 𝐪 𝑘 / 𝑘 1 ̂ / 𝐪 𝑘 / 𝑘 1 22 15 1
̂ 𝐛 𝑘 / 𝑘 1 = ̂ 𝐛 𝑘 1

353 271 2

Measurement update 𝐏 𝑍 𝑘 / 𝑘 1 = 𝐇 𝑘 𝐏 𝑋 𝑘 / 𝑘 1 𝐇 𝑇 𝑘 + 𝐑 𝑘 = 𝐏 𝐴 𝑘 / 𝑘 1 + 𝐑 𝑘 3
𝐏 𝐴 𝑍 𝑘 / 𝑘 1 = 𝐏 𝐴 𝑘 / 𝑘 1 𝐇 𝑇 𝑘 = 𝐏 𝐴 𝑘 / 𝑘 1
𝐏 𝐵 𝑍 𝑘 / 𝑘 1 = 𝐏 𝐵 𝐴 𝑘 / 𝑘 1 𝐇 𝑇 𝑘 = 𝐏 𝐵 𝐴 𝑘 / 𝑘 1
𝐊 𝑘 𝐴 𝑍 = 𝐏 𝐴 𝑘 / 𝑘 1 ( 𝐏 𝑍 𝑘 / 𝑘 1 ) 1 , 𝐊 𝑘 𝐵 𝑍 = 𝐏 𝐵 𝐴 𝑘 / 𝑘 1 ( 𝐏 𝑍 𝑘 / 𝑘 1 ) 1 114 58
𝛿 𝐪 m e a s 𝑘 = ̂ 𝐪 1 𝑘 / 𝑘 1 𝐪 m e a s 𝑘 16 12
𝑧 m e a s 𝑘 = 4 𝐪 m e a s 𝑘 / ( 1 + 𝑞 4 m e a s 𝑘 ) , 𝜸 m e a s 𝑘 = ̂ 𝑧 m e a s 𝑘 5 4
̂ 𝐚 𝑘 = 𝐊 𝑘 𝐴 𝑍 𝜸 m e a s 𝑘 , Δ ̂ 𝐛 𝑘 = 𝐊 𝑘 𝐵 𝑍 𝜸 m e a s 𝑘 18 9
𝐏 𝐴 𝑘 = 𝐏 𝐴 𝑘 / 𝑘 1 𝐊 𝑘 𝐴 𝑍 ( 𝐏 𝐴 𝑍 𝑘 / 𝑘 1 ) 𝑇 27 27
𝐏 𝑘 𝐵 𝐴 = 𝐏 𝐵 𝐴 𝑘 / 𝑘 1 𝐊 𝑘 𝐵 𝑍 ( 𝐏 𝐴 𝑍 𝑘 / 𝑘 1 ) 𝑇 27 27
𝐏 𝐵 𝑘 = 𝐏 𝐵 𝑘 / 𝑘 1 𝐊 𝐵 𝑍 𝑘 / 𝑘 1 ( 𝐏 𝐵 𝑍 𝑘 / 𝑘 1 ) 𝑇 27 27
̂ 𝐪 𝑘 = ̂ 𝐪 𝑘 / 𝑘 1 ̂ 𝛿 ̂ 𝐚 𝐪 ( 𝑘 ) , ̂ 𝐪 𝑘 = ̂ 𝐪 𝑘 ̂ / 𝐪 𝑘 22 15 1
̂ 𝐛 𝑘 = ̂ 𝐛 𝑘 / 𝑘 1 ̂ 𝐛 + Δ 𝑘 3

256 185 1