26.12.2014 Views

Desenvolvimento de um Veículo Aéreo Não-Tripulado - LARA ...

Desenvolvimento de um Veículo Aéreo Não-Tripulado - LARA ...

Desenvolvimento de um Veículo Aéreo Não-Tripulado - LARA ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

A escolha das matrizes R <strong>de</strong> covariância das medidas é feita <strong>de</strong> acordo com a característica<br />

dos sensores. Um caso especial é para o algoritmo TRIAD, on<strong>de</strong> a covariância po<strong>de</strong> ser calculada<br />

com base na transformada Unscented a partir da incerteza das medidas do acelerômetro e<br />

magnetômetro. Outra forma é sobrestimar o valor <strong>de</strong> R. O implementado código visa propagar a<br />

incerteza utilizando <strong>um</strong>a linearização n<strong>um</strong>érica em torno <strong>de</strong> ponto <strong>de</strong> operação [5].<br />

Um <strong>de</strong>talhe importante é a restrição: a norma do quaternion <strong>de</strong>ve ser igual a 1 para representar<br />

<strong>um</strong>a rotação, ou seja, esse norma <strong>de</strong>ve ser mantida para garantir a estabilida<strong>de</strong> do algoritmo <strong>de</strong><br />

localização. Essa restrição é incorporada diretamente no filtro utilizando <strong>um</strong>a pseudo-medida:<br />

∣<br />

e pseudo(k) = 1 − ∣ ∣∣ (5.59)<br />

∣q b n(k)<br />

A principal diferença <strong>de</strong>ssa implementação é levar em conta que as medidas do acelerômetro são<br />

utilizadas na etapa <strong>de</strong> correção e predição, o que leva a <strong>um</strong>a implementação correlata. Na prática,<br />

isso significa utilizar <strong>um</strong> conjunto <strong>de</strong> equações <strong>um</strong> pouco diferente da abordagem tradicional.<br />

A seguir, estão as equações e o algoritmo da implementação do CEKF, adaptadas <strong>de</strong> [5], e<br />

verificadas <strong>de</strong> acordo com [75, 76].<br />

⎡<br />

−<br />

−<br />

f(x (k−1) , u (k) ) =<br />

⎢<br />

⎣<br />

Mo<strong>de</strong>lo não-linear<br />

cos(d/2)q 0 − δ x<br />

sen(d/2)<br />

d<br />

q 1 − δ y<br />

sen(d/2)<br />

d<br />

q 2 − δ z<br />

sen(d/2)<br />

d<br />

q 3<br />

δ x<br />

sen(d/2)<br />

d<br />

q 0 + cos(d/2)q 1 + δ z<br />

sen(d/2)<br />

d<br />

q 2 − δ y<br />

sen(d/2)<br />

d<br />

q 3<br />

δ y<br />

sen(d/2)<br />

d<br />

q 0 + δ z<br />

sen(d/2)<br />

d<br />

q 1 + cos(d/2)q 2 − δ x<br />

sen(d/2)<br />

d<br />

q 3<br />

δ z<br />

sen(d/2)<br />

d<br />

q 0 − δ y<br />

sen(d/2)<br />

d<br />

q 1 + δ x<br />

sen(d/2)<br />

d<br />

q 2 + cos(d/2)q 3<br />

v x + (c x + g x )∆T<br />

v y + (c x + g y )∆T<br />

v z + (c z + g z )∆T<br />

r x + v x ∆T + (c x + g x ) ∆T 2<br />

2<br />

r y + v y ∆T + (c y + g y ) ∆T 2<br />

2<br />

r z + v z ∆T + (c z + g z ) ∆T 2<br />

2<br />

b fx<br />

b fy<br />

b fz<br />

⎤<br />

⎥<br />

⎦<br />

(5.60)<br />

[<br />

h(x (k) ) =<br />

∣<br />

q 0 q 1 q 2 q 3 v x v y v z r x r y r z 1 − ∣<br />

∣qn<br />

b ∣<br />

∣<br />

∣<br />

] T<br />

(5.61)<br />

c x = (q 2 0 + q 2 1 − q 2 2 − q 2 3)f x + (2q 1 q 2 − 2q 0 q 3 )f y + (2q 1 q 3 + 2q 0 q 2 )f z<br />

c y = (2q 1 q 2 + 2q 0 q 3 )f x + (q 2 0 − q 2 1 + q 2 2 − q 2 3)f y + (2q 2 q 3 − 2q 0 q 1 )f z<br />

c z = (2q 1 q 3 − 2q 0 q 2 )f x + (2q 2 q 3 + 2q 0 q 1 )f y + (q 2 0 − q 2 1 − q 2 2 + q 2 3)f z<br />

(5.62a)<br />

(5.62b)<br />

(5.62c)<br />

108

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!