Professional Documents
Culture Documents
Registrati
HOME
CHI SONO
SMART LIFTING
ARTICOLI
DCSS IL LIBRO
CONTATTI
Kalman? Magari!
Alimentazione
Ok, nel precedente articolo ho tentato di illustrare pregi e difetti degli accelerometri e dei giroscopi per
costruire un semplice inclinometro bidimensionale, che possiamo riassumere cos:
Allenamento
Accelerometri Pregio: inclinazione calcolata con valori istantanei. Difetti: rumorosi, le vibrazioni
Altri autori
interferiscono con la misura, misurano tutte le forze agenti sul wiimote, non solo quella di Gravit.
Bang Project
Giroscopi Pregio: immuni da vibrazioni, poco rumorosi. Difetto: drift che determina una deriva della
misura degli angoli calcolati come somma di tutte le variazioni angolari fino allistante considerato.
Biomeccanica
Mettere insieme i pregi per eliminare i difetti sembra essere lunica strada da percorrere, per questo
DCSS Training
motivo solitamente accelerometri e giroscopi sono usati insieme. Addirittura vengono venduti package
che li contengono entrambi. Il problema : come fonderli insieme?
Flames e polemiche
Le soluzioni che troverete in rete sono le pi disparate, ma alla fine convergono tutte su un algoritmo: il
Riflessioni
Rigenerazione e recupero
Scienze Motorie
Scoliosi
Tecnica degli esercizi
L'atleta vincente
giugno 10th, 2013, 1 anno ago
Leggendo tutto il materiale che ho razzolato nessuno mi toglie questa sensazione: quando si scrive uno
studio necessario utilizzare notazioni astruse e scrivere in sanscrito o cuneiforme anche le cose
semplici. Apici, pedici, cose assurde per complicare concetti semplici perch altrimenti non
scientifico. Non solo, io ho questa impressione: il filtro di Kalman qualcosa di complicato perch basato
su concetti molto complicati.
Di sicuro gli ingegneri non ci capiscono una mazza, e di sicuro anche chi si occupa di biomeccanica non
ferratissimo. Per funziona, e allora dato che funziona, ci appiccichiamo una bella spiegazione
teorica da manuale, di quelle classiche che si copiano un po ovunque (ho trovato tesi in cui la parte
teorica identica, lapproccio computazionale del filtro di Kalman, lapproccio algoritmico del filtro di
Kalman, sempre la solita roba con la solita notazione). Ma che avessi trovato due righe di codice schie
Devil's Tablet
Allo stesso tempo, sui forum che parlano di accelerometri e giroscopi palese che gli smanettoni
sbattono i denti su cose che non comprendono, mantenendo per il solito atteggiamento da megaesperti
che le sanno tutte ma tutte. Uno chiede mi spiegate il filtro di Kalman? e gi ma semplicissimo,
leggiti questi link e via con link che hanno dellincomprensibile perch si torna a questa roba qua sopra.
Perci, tutti parlano del filtro di Kalman, tutti lo usano, ma che ce ne fosse uno che spiega perch
funziona, come funziona, come si realizza.
Misuriamo la forza
giugno 26th, 2014, 6 mesi ago
Onde spumeggianti
luglio 15th, 2011, 3 anni ago
Lo squat PDP
maggio 26th, 2012, 3 anni ago
Questo un bel documento che spiega i concetti di base del filtro di Kalman. Kalman descrisse la sua
teoria nel 1960 e in questo articolo del 1967 gi si diceva che si usavano sistemi troppo complicati per
spiegarlo e notazioni troppo astruse per descriverlo. Perci alla fine il filtro di Kalman diventato un
cult, tutti ne parlano ma che si trovi roba che lo descriva per bene eppure, ragazzi, sono due sputi di
codice alla fine
Il Continuum ripetizioni-serie
novembre 25th, 2011, 3 anni ago
Supercompensazione, 1
luglio 4th, 2013, 1 anno ago
Le capacit condizionali
giugno 25th, 2014, 6 mesi ago
Il metodo di Bosco, 1
luglio 4th, 2014, 5 mesi ago
Cerca, razzola, scartabella, ecco lUNICO documento intelligente ed interessante che ho trovato su
Internet, e ci sono tantissimi rimandi a questo: un filtro quasi di Kalman realizzato per una piattaforma
a microcontrollore che si chiama Arduino. Di preciso non so cosa sia Arduino, ma questo lunica
spiegazione decente che ho trovato. Per questo scrivo questa roba: continuo a girare la ruota di chi ha
scritto gratuitamente per il prossimo. Anche se questo pezzo non cos ben fatto come loriginale.
Ecco come funziona lalgoritmo che viene proposto, rimaneggiato un po. Vi prego di soffermarvi sul
concetto. Supponiamo di avere un po di accelerometri ed un po di giroscopi.
Ecco gli attori del nostro algoritmo: il pedice i indica listante di tempo attuale, li-esimo di una lunga serie.
Listante precedente pertanto i-1, listante iniziale 0. Indico con la lettera psi la stima dellangolo di
inclinazione. una stima: il risultato di una elaborazione fra langolo calcolato con gli accelerometri, psi
con il pedice A, e quello calcolato con i giroscopi, psi con il pedice G. Nessuno potr mai conoscere
langolo vero, perch se lo conoscessimo non staremmo a parlarne, no?
Dato che gli accelerometri forniscono un valore di inclinazione ad ogni istante, allistante iniziale avremo
questo:
Cio langolo di inclinazione calcolato con i giroscopi e langolo di inclinazione stimato sono pari
allangolo di inclinazione calcolato con gli accelerometri. Sar sbagliato, ma comunque un punto di
partenza ragionevole.
Allistante 1, nel nostro caso dopo un centesimo di secondo, langolo di inclinazione calcolato con i
giroscopi pari allangolo precedente a cui si somma la variazione angolare nellistante considerato, cio
la velocit di rotazione misurata dai giroscopi, omega, moltiplicata per lintervallo di tempo, nominalmente
un centesimo di secondo.
Mi sembra ragionevole, no? Langolo allistante 1 pari a quello precedente a cui si somma quanto
cambiato in un istante.
Ovviamente allistante 1 gli accelerometri permetteranno di calcolare linclinazione a quellistante,
pertanto allistante 1 avr a disposizione:
Bene. Come li sommo insieme per ottenere la stima dellangolo? Ecco come:
Non mi dite che difficile eh Nella parentesi c la differenza fra langolo calcolato con i giroscopi e
quello con gli accelerometri. Ammettiamo di muovere piano il wiimote, questa differenza sar piccola
perch, a parte lerrore dovuto alle vibrazioni ed al rumore, gli accelerometri restituiranno valori simili fra
loro. Se muoviamo velocemente il wiimote, sottoponendolo ad accelerazioni, la differenza sar elevata.
Langolo stimato cos pari allangolo istantaneo dato dagli accelerometri a cui si somma K volte la
differenza fra i due angoli. K il peso che viene dato allerrore fra i due angoli, ed un numero compreso
fra 0 e 1.
Se K vale 0, langolo stimato sar pari a quello dato dagli accelerometri, cio non si terr conto dei
giroscopi, se K vale 1, langolo stimato sar pari a quello dato dai giroscopi, cio non si terr conto degli
accelerometri (provate, scrivete 1 al posto di K, fate le addizioni e le sottrazioni).
Se K compreso fra 0 e 1 allangolo degli accelerometri viene sommata quella che una correzione,
dovuta alla differenza fra le due letture. Pertanto la misura degli accelerometri viene corretta con quella
dei giroscopi!
Ora, in questo algoritmo, K fisso, nel filtro di Kalman il K (che si chiama, guarda un po guadagno di
Kalman o Kalman Gain) viene aggiornato per essere il miglior valore per ottenere la miglior stima.
Per, ragazzi, mi spiace, ma io non ho capito come funziona. E a me non piace lavorare con cose che
non capisco. Preciso: non che non ho capito niente, solo che la derivazione dellaggiornamento del
guadagno di Kalman piena di concetti che non mi sono chiarissimi perch dovrei applicarmici di pi e
non ho tempo. Nellalgoritmo del forum di Arduino, invece, il K fisso, compreso fra 0,83 e 0,95 perch
da prove pratiche funziona.
Riformulo lalgoritmo per un istante generico:
Per gli accelerometri, si tratta della differenza fra langolo attuale e quello precedente, per i giroscopi il
valore della misura moltiplicato per il tempo, ovviamente
Calcolo la differenza fra questi due angoli in valore assoluto, e con questa calcolo K:
Perci pi questa differenza grande allistante i e pi il wiimote soggetto a forze e la sua misura va
scartata. La funzione f modella quello che ho scritto fino ad ora, me la invento come una semplice
funzione lineare a tratti, cos:
Ecco qua: se la differenza allistante i fra i due angoli pari a 5, K vale sempre 0,95, se sopra i 15, K
pari a 0,99. In pratica la correzione passa da molta a quasi tutta. Come ho scelto questi valori?
Provando, provando, provando.
Mi sembrano quelli pi soddisfacenti, cio guardando a video i dati in tempo reale mi sembrano i valori
che determinano il miglior andamento fra quelli provati. Lo so che non proprio preciso, ma per essere
preciso avrei bisogno di un segnale corretto da confrontare con il mio. Non ce lho e mi arrangio. Per
quello che ottengo plausibile, come vedrete.
Ecco il risultato sul primo esempio del precedente articolo: metto in piedi un wiimote che orizzontale,
poi lo rimetto steso sulla scrivania. Notate come lalgoritmo corregga langolo calcolato con gli
accelerometri: la curva rossa bella liscia, quella blu tutta frastagliata.
Questa una elaborazione in tempo reale: notate anche come il ritardo, il delay tipico dei filtri, sia
veramente minimo, nel senso che la riga rossa sovrapposta a quella della riga blu e non rimane
indietro.
E nel caso della simulazione di squat dinamico come si comporta il filtro?
Anche in questo caso il comportamento eccellente, no? La curva rossa rappresenta bene landamento
dellinclinazione (io lho visto in tempo reale a video e vi dico che cos), non solo vengono eliminati
tutti i picchi spurii, ma anche leffetto nefasto delle forze sul Wiimote!
Per capire quanto funzioni il filtro ho fatto un banale quanto efficace esperimento: ho messo il Wiimote in
verticale su un tavolo liscio e, non facendolo oscillare, lho strusciato avanti ed indietro per 10 cm il pi
velocemente possibile. Un filtro perfetto avrebbe registrato un angolo di inclinazione fisso, di 90,
indipendentemente dalle forze applicate al wiimote, notevoli direi.
A fronte di un angolo calcolato con gli accelerometri che del tutto senza senso, il filtro filtra. Ok, c
una oscillazione di 15, per filtra un segnale assurdo, no? una scatoletta, non un essere umano si
ficcano dentro dei dati, lui spara fuori un risultato.
Ho visto simulazioni con un vero filtro di Kalman e questo simile nel comportamento, come dicono gli
americani, ive not pissed out of the vase, no?
In questo video potete vedere come si comporta il filtro dal vivo. Notate come la barretta si inclina
seguendo il wiimote, il ritardo fra barretta e wiimote il ritardo introdotto dal filtro, e vi posso dire che
rispetto alla versione a K fisso il K variabile determina un comportamento migliore. Poi, non una gara a
chi ce lha pi lungo: per quello che voglio fare io ho trovato una soluzione, mi spiace solo che non sia un
vero filtro di Kalman, lo so che non dormir stanotte e la mia autostima avr un contraccolpo, ma me ne
far una ragione.
Lalgoritmo completo, pertanto, questo:
Come vedete, alla fine sono 4 formule del (beep), si realizza BENISSIMO con Excel e un filtro di Kalman
simile: che non sia riuscito a trovarne uno che a pedate funziona veramente un mistero
Ovviamente, c poi tutta una scrittura di codice aggiuntivo dovuta al fatto che le velocit angolari non
sono in gradi al secondo ma in altre unit, che si parla di Roll, Pitch, Yaw, che c una convenzione dei
segni etc etc, ma questo fa parte del gioco, sono problemi secondari: il cuore dellalgoritmo, come la sua
spiegazione, questa qua.
Non fate gli smanettoni informatici del cazzo, per favore: lo smanettone informatico del cazzo uno che
ha un bel kit di sviluppo per smartphone che gli spara i dati degli accelerometri e dei giroscopi, poi
razzola su Internet per trovare un algoritmo che filtra i dati e rabbercia codice che va alla prima. Per non
ha capito una mazza di quello che sta facendo. Mi raccomando, gli algoritmi sono come i pesi: vanno
compresi battendoci il muso, cio serve quella che si chiama esperienza. E, come sempre,
lesperienza ci si fa non solo smanettando ma anche studiando. Bene battere le dentate, ma perch
batterne pi di quante ne servono?
Adesso c da chiedersi: cosa ci si pu fare con un inclinometro? Ma questo il next step di questo
angosciante BANG Project
COMMENTA
Bisogna effettuare il log in per pubblicare un commento.
Never Surrender
Facebook ha
Ripropongo questo
Londra, 1908,
lincredibile capacit
articolo con il
Olimpiadi. Dorando
di invitare al
medesimo titolo
Pietri arriva al
cazzeggio passivo,
perch ha avuto
termine della
Maratona, Dorando
informazioni, cio si le
0 Comments
6 Comments
2 Comments
Trocanteri svantaggiosi
Il bodybuilding
Una piccola
Nel precedente
comunicazione di
antropometriche ci
diventare pi forte,
perch ho ricevuto
un quesito: ok,
3 Comments
10 Comments
4 Comments
Smartlifting
Chi sono
Smart Lifting
Articoli
DCSS Il libro
Contatti
Copyright 2014 Smartlifting. Grafica a cura di Valerio Treviso. Tutti i diritti riservati: nessuna parte del
presente sito pu essere riprodotta o diffusa con qualsiasi mezzo senza il consenso scritto degli autori.