• Non ci sono risultati.

Metodo delle intersezioni delle sfere

4. Analisi sperimentale

4.2 Metodo delle intersezioni delle sfere

In questo metodo, anziché ricavare un sistema di equazioni lineari, si cerca direttamente di risolvere il sistema non lineare con le equazioni delle sfere visto nel paragrafo precedente. Questo si risolve per via numerica tramite l’utilizzo della funzione fsolve di MATLAB. Anche in questo caso la coordinata z del tag verrà imposta a un valore costante, e si cercherà la soluzione ottima per le altre 2 coordinate.

Questo metodo ovviamente ha un costo computazionale decisamente maggiore rispetto al precedente, dovuto al fatto che ad ogni passo di campionamento si deve risolvere un sistema di equazioni non lineare con un metodo iterativo. Di contro però ci si aspetta una precisione maggiore proprio perché tiene conto anche dei termini quadratici.

Si parte sempre dallo stesso sistema non lineare con le equazioni delle sfere: x2 + y2 + z2 + α1 x + β1 y + γ1 z + δ1 = 0 (1)

x2 + y2 + z2 + α

2 x + β2 y + γ2 z + δ2 = 0 (2)

x2 + y2 + z2 + α

3 x + β3 y + γ3 z + δ3 = 0. (3)

Si calcolano direttamente i parametri delle equazioni in base alle coordinate delle ancore in vista e alle distanze misurate dal tag.

Per la generica ancora i-esima, i parametri dell’equazione della sfera si calcolano nel seguente modo:

αi = –2 xi

βi = –2 yi

γi = –2 zi

δi = 2 xi2 +2 yi2 +2 zi2 –ri2

Dove (xi, yi, zi) sono le coordinate del centro della sfera, ovvero le coordinate dell’ancora i-

4.2.1 Prestazioni per il caso di muletto fermo

Si comincia anche in questo caso analizzando il caso di muletto fermo e confrontando la varianza dei punti ottenuti, con quelli misurati dal sistema UWB.

In Figura 36 viene mostrato il risultato della stima con il metodo solve di MATLAB, che va confrontato con quello in Figura 29.

In Tabella 6 viene confrontata la varianza delle coordinate con metodo fsolve rispetto alle misure l’applicazione Decawave.

Decawave fsolve Varianza X (cm2) 2.11 25.23 Varianza Y (cm2) 4.98 17.03 Varianza Z (cm2) 0.92 0* Numero di campioni 36 36 Tempo di esecuzione (ms) - 1836

Anche con il metodo delle intersezioni delle sfere si ottiene un insieme di punti distribuito intorno alla posizione del muletto, e con varianza visibilmente maggiore rispetto alle misure del sistema UWB. Si cerca quindi di nuovo di ridurre gli spostamenti indesiderati introducendo un filtro di Kaiser. I risultati ottenuti dopo il filtraggio vengono mostrati in Figura 37.

Figura 37: Posizione stimata con il metodo fsolve e dopo il filtro di Kaiser. Si nota come gli spostamenti indesiderati si

In Tabella 7 viene confrontata la varianza delle coordinate con metodo fsolve dopo il filtraggio rispetto alle misure l’applicazione Decawave.

Decawave Fsolve con filtraggio

Varianza X (cm2) 2.11 1.04

Varianza Y (cm2) 4.98 2.97

Varianza Z (cm2) 0.92 0*

Numero di campioni 36 36

Tempo di esecuzione (ms) - 2050

Tabella 7: Confronto tra la varianza del sistema Decawave e il metodo fsolve dopo il filtraggio.

L’inserimento del filtro di Kaiser complica ancora di più l’algoritmo, ma permette di ottenere dei risultati migliori in termini di precisione.

Dai valori di varianza calcolati, si nota che anche risolvendo il sistema non lineare, la varianza dei punti aumenta notevolmente rispetto alle misure del sistema UWB. Tuttavia, è comunque inferiore a quella ottenuta con il metodo LSE.

L’aggiunta del filtro di Kaiser riduce di molto la varianza e lo porta a valori addirittura inferiori a quelli misurati, a costo però di complicare ulteriormente l’algoritmo.

4.2.2 Prestazioni per il caso di traiettoria rettilinea

Dopo aver valutato la varianza della stima con il metodo fsolve di MATLAB, si prosegue confrontando la stima della traiettoria rettilinea, come fatto col metodo LSE. Anche in questo caso il confronto viene fatto visivamente sovrapponendo i due grafici in Figura 38.

Figura 38: Confronto tra la traiettoria misurata tramite UWB (in blu) e la traiettoria stimata con il metodo fsolve (in

In Figura 39 viene mostrato il risultato ottenuto dopo aver aggiunto il filtro di Kaiser, confrontandolo sempre con la traiettoria misurata dal sistema UWB.

Figura 39: Confronto tra la traiettoria misurata tramite UWB (in blu) e la traiettoria stimata con il metodo fsolve dopo

il filtro di Kaiser (in rosso) per un movimento rettilineo. Si nota come anche in questo caso il filtraggio migliora notevolmente le prestazioni in termini di precisione, a costo ovviamente di complicare l’algoritmo.

In questo caso si vede che la traiettoria in rosso diventa molto più lineare rispetto a quella misurata dall’applicazione Decawave. Tuttavia, l’aggiunta del filtro di Kaiser aumenta ulteriormente la complessità di calcolo.

4.2.3 Prestazioni per il caso di traiettoria ad L

In questo paragrafo si confronta la traiettoria stimata con il metodo iterativo della funzione

fsolve, con quella misurata dal sistema UWB per il caso in cui il muletto si muova in un

percorso a L, valutando il tracciamento della traiettoria quando si percorre la curva. In Figura 40 viene mostrato tale confronto.

Figura 40: Confronto tra la traiettoria misurata tramite UWB (in blu) e la traiettoria stimata con il metodo fsolve (in rosso) per un movimento ad L.

Entrambe le traiettorie presentano degli spostamenti laterali inattesi e risulta difficile capire quale sia il metodo più accurato in questo caso.

In Figura 41 si mostra il confronto dopo aver applicato nuovamente il filtro di Kaiser.

Figura 41: Confronto tra la traiettoria misurata tramite UWB (in blu) e la traiettoria stimata con il metodo fsolve dopo

il filtro di Kaiser (in rosso) per un movimento ad L.

Si nota come l’aggiunta del filtro riduce notevolmente gli spostamenti laterali inattesi, risultando in una traiettoria curva molto più dolce.

Dai risultati ottenuti in questo paragrafo si può giungere alla conclusione che la soluzione del sistema non lineare tramite la funzione fsolve di MATLAB, risulta sicuramente più precisa del metodo LSE, ma ha anche un costo computazionale maggiore in quando ha bisogno di sfruttare metodi iterativi. La traiettoria ottenuta non è visibilmente migliore di quella misurata dal sistema UWB, ma ha ancora bisogno di un filtraggio, che va ad aumentare ulteriormente la complessità di calcolo.

Documenti correlati