18.08.2013 Views

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

La funzione init_kalman_subsystem(), dovendo accedere ai file, deve essere<br />

chiamata prima dell'eventuale avvio di HARTIK.<br />

L'evoluzione dello stato interno della batteria di filtri avviene richiamando<br />

la funzione add_survey(), che provvede a inserire il nuovo rilevamento nel buffer<br />

degli input e calcola il nuovo stato di ciascun filtro della batteria secondo quanto<br />

illustrato al paragrafo 2.5.5, nel quale si descrivono le basi teoriche del filtro di<br />

Kalman.<br />

La caratteristica più importante della libreria è, senza dubbio,<br />

l'implementazione di due diverse strategie di predizione indipendenti fra loro, di<br />

cui una bufferizzata. Queste due strategie sono esemplificate in figura 5.15.<br />

x1(k)<br />

Kalman 1<br />

xn(k) Kalman n<br />

predict(n) previsioni bufferizzate<br />

predict(n)<br />

Figura 5.15. Strategie di previsione della libreria.<br />

La prima e più semplice strategia di previsione può essere effettuata<br />

richiamando la funzione predict(), nel seguente modo:<br />

predict(TSurvey *pr, TSurvey s, int n);<br />

Alla funzione devono essere passati s, cioè il nuovo valore di input e n, cioè<br />

il numero di step in avanti al quale deve corrispondere la previsione. Nel<br />

145<br />

nstep<br />

previsioni bufferizzate<br />

nstep<br />

get_buf_pred(n)<br />

get_buf_pred(n)

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

Saved successfully!

Ooh no, something went wrong!