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.

Algoritmo 1 Fusão Sensorial GPS/IMU utilizando o CEKF<br />

Inicialização: ˆx (0) , P (0)<br />

Parâmetros ajustáveis: Q (k) , R (k)<br />

Laço Principal<br />

Se há dados não processados , então<br />

Se dados provenientes da IMU , então<br />

Etapa <strong>de</strong> Predição :<br />

˜Q (k) = F u η u F u T + Q (k)<br />

ˆx (k|k−1) ← f(ˆx (k−1) , u (k) )<br />

ˆP (k|k−1) ← F x ˆP(k−1) F x T + ˜Q (k)<br />

Etapa <strong>de</strong> Correção (atitu<strong>de</strong>) :<br />

˜R (k) = G u η u G T u + G m η m G T m + R (k)<br />

˜S (k) = F u η u G u<br />

(<br />

K (k) = ˆP(k|k−1) H T + ˜S<br />

)<br />

(k)<br />

(H ˆP (k|k−1) H T + H˜S (k) + ˜S T (k) HT + ˜R<br />

) −1<br />

(k)<br />

y [1:4]<br />

(k)<br />

= g(u (k) , m (k) )<br />

)<br />

ˆx (k) ← ˆx (k|k−1) + K (k)<br />

(y (k) − h(ˆx (k|k−1) )<br />

(<br />

ˆP (k) ← I − K (k) H)<br />

ˆP(k|k−1)<br />

Se dados provenientes do GPS , então<br />

Etapa <strong>de</strong> Correção (posição e velocida<strong>de</strong>) :<br />

K (k) = ˆP (k|k−1) H T ( H ˆP (k|k−1) H T + ˜R (k)<br />

) −1<br />

y [5:10]<br />

(k)<br />

= y GP S<br />

)<br />

ˆx (k) ← ˆx (k|k−1) + K (k)<br />

(y (k) − h(ˆx (k|k−1) )<br />

(<br />

ˆP (k) ← I − K (k) H)<br />

ˆP(k|k−1)<br />

Etapa <strong>de</strong> Correção (pseudo-medição) :<br />

K (k) = ˆP (k|k−1) H T ( H ˆP (k|k−1) H T + ˜R (k)<br />

) −1<br />

y [11] ∣∣ ∣∣ (k) = 1 − ∣∣ ∣∣q b ∣∣ ∣∣<br />

n<br />

)<br />

ˆx (k) ← ˆx (k|k−1) + K (k)<br />

(y (k) − h(ˆx (k|k−1) )<br />

(<br />

ˆP (k) ← I − K (k) H)<br />

ˆP(k|k−1)<br />

5.5.6 Decoupled EKF<br />

Durante as simulações, <strong>de</strong>tectou-se <strong>um</strong> problema com o implementação utilizada do CEKF:<br />

em situações on<strong>de</strong> o acelerômetro está sujeito a forças diferentes da gravida<strong>de</strong> por longos períodos<br />

<strong>de</strong> tempo, a estimativa <strong>de</strong> orientação ficava ruim, errando em mais <strong>de</strong> 20 graus a estimativa.<br />

Esse tipo <strong>de</strong> situação é com<strong>um</strong> em situações <strong>de</strong> pouso, <strong>de</strong>colagem e curvas, que são os momentos<br />

que o sistema <strong>de</strong> controle mais <strong>de</strong>pen<strong>de</strong> da estimativa <strong>de</strong> orientação. O <strong>de</strong>sempenho do filtro<br />

também não era muito bom em situações on<strong>de</strong> o acelerômetro está sujeito a muito ruído, que foi<br />

observado na prática em alguns voos iniciais. Dessa forma, optou-se por <strong>de</strong>senvolver <strong>um</strong>a nova<br />

forma <strong>de</strong> incorporar as medidas <strong>de</strong> orientação provindas do magnetômetro e acelerômetro <strong>de</strong> forma<br />

in<strong>de</strong>pen<strong>de</strong>nte, permitindo assim modular a matriz <strong>de</strong> covariância da medição R (k) <strong>de</strong> acordo com<br />

111

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

Saved successfully!

Ooh no, something went wrong!