2015-04-18 16 views
6

Un accelerometro ha tre valori: x, y, z.Come identificare il rovescio e il dritto con l'accelerometro?

Immaginiamo che una racchetta abbia un accelerometro. se metto la racchetta a faccia in su, so dove sono le direzioni di x, yez. Tuttavia, se lancio la racchetta e la metto giù. Il valore di x, y, z è in direzioni opposte.

In altre parole, se colpisco la palla in direzione x con il mio rovescio, è possibile che io possa ottenere un valore x positivo o negativo. (Dipende se faccio girare la racchetta o meno [La racchetta ha due facce]).

La mia domanda è Come può il sensore dirmi che sto colpendo la palla usando la mano indietro ma non il dritto perché posso ottenere gli stessi valori dell'accelerometro sia per il dritto che per il rovescio.

Grazie, Jimmy

risposta

1

Ci sono due sistemi di coordinate in gioco qui: l'accelerometro e il mondo. L'accelerometro avrà le direzioni x/y/z fisse nella sua vista del mondo, ma esse cambiano in relazione alle coordinate del mondo in base all'orientamento.

Se si utilizzano i valori dell'accelerometro così come sono, è possibile ottenere impulsi positivi o negativi in ​​caso di impatto. Ma quando li converti nel sistema di coordinate del mondo - cioè, giù è sempre verso il centro della Terra - otterrai sempre gli stessi valori per il rovescio e l'opposto per il dritto.

Supponiamo che la direzione x dell'accelerometro sia normale rispetto alla rete, z sia parallelo al manico e y sia "alto" quando la racchetta è la sua normale posizione laterale.

Dal momento che nel tennis la racchetta è praticamente su un piano (non si colpisce con la rete rivolta verso il basso, ad esempio), e a meno che non si stia facendo un overhead (nel qual caso penso che il rovescio sia fuori questione), avrai sempre y che punta a 1 o -1 quando la racchetta è a riposo. Il modo più semplice (ma non il più preciso!) È quello di verificare quale sia il segno y e modificare di conseguenza x. In questo modo non otterrete i vettori esatti, ma otterrete le informazioni sia che si tratti di rovescio o di diritto.

Il problema è anche che si deve monitorare la racchetta prima che il colpo anche, dal momento che se il colpo non è perfettamente orizzontale (raramente è), l'accelerazione y cambia anche quando la racchetta si muove verso l'alto o verso il basso mentre colpire e non mostrerà l'orientamento della racchetta al momento dell'impatto.

Per letture più accurate, è necessario determinare la differenza tra i sistemi di coordinate e ruotare di conseguenza.

+0

si avrà sempre y che punta a 1 o -1. Il modo più semplice (ma non il più preciso!) È quello di verificare quale sia il segno y e modificare di conseguenza x. In questo modo non otterrete i vettori esatti, ma otterrete le informazioni sia che si tratti di rovescio o di diritto. -----> Per me questo non è corretto, perché il tennista è in grado di affettare o far girare la palla. Vedi youtube.com/watch?v=JwMNv9JjA3Y e https://www.youtube.com/watch?v=wa-3GStYh_I –

+0

@JimmyLee Ecco perché aggiunto il commento sul tracciamento della racchetta in ogni momento, poiché durante il successo sarà non essere così semplice Lo modificherò un po 'più chiaramente. –

2

EDIT: cambiato idea su questo, seguendo @ commenti di Sami :)

Immaginate gli assi X e Y sono nel piano delle corde racchetta (dicono X è lungo la linea della maniglia, Y è su/giù) e Z è nella direzione di colpire la palla. Quindi la maggior parte dell'accelerazione quando colpisci il colpo & sarà nell'asse Z (+ o - a seconda di quale faccia della racchetta colpisce la palla); c'è un po 'di accelerazione dell'asse X se stai oscillando in un arco, ma è sempre nella stessa direzione in cui viene colpito il viso. C'è un'accelerazione dell'asse Y costante verso l'alto.

enter image description here

Così si può guardare al valore Z del accelerometro per determinare quale volto è colpito, e si può guardare a Il valore Y per dire in che modo il racket si sta svolgendo.Da ciò si può capire se il "fronte" o "indietro" (relativo al modo in cui la racchetta è orientata) viene colpito, e quindi dire se si sta giocando un colpo di mano o di rovescio.

Naturalmente, devi anche sapere se il giocatore avesse ragione o sinistra :)

Per un dato manualità, si potrebbe calcolare il tipo di oscillazione come segue:

enter image description here

Per l'altra mano, i risultati sarebbero invertiti. I valori "+" e "-" sono relativi al modo in cui è installato il tuo accelerometro, quindi devi eseguire la calibrazione.

+0

Perché non dovrebbe esserci un'accelerazione in direzione y in base all'attrazione gravitazionale? Ovviamente la rotazione non causerà accelerazione, ma causerà un cambiamento nell'accelerazione gravitazionale rilevata. –

+0

L'accelerazione è un cambiamento di velocità: cioè niente a che fare con la gravità (a meno che non si lasci cadere la racchetta!). La gravità verrebbe comunque rilevata da un inclinometro. –

+0

Ho parecchi accelerometri MEMS qui e ognuno di loro mostra accelerazione nella direzione della gravità, dal momento che è così che sono fatti. I vecchi telefoni avevano solo un accelerometro e potevano benissimo dire la direzione in cui sono tenuti (semplicemente non ruotando attorno all'asse gravitazionale). Quindi, anche se l'accelerazione è un cambiamento di velocità, il lavoro dell'accelerometro è diverso. –

0

Per colpo Forehand, - Y ha meno valore di accelerazione di gravità e z ha un valore (indipendentemente positivo o negativo)

Per colpo di rovescio, - Se Y ha valore di accelerazione gravitazionale positivo e z ha un valore (indipendentemente dal positivo o dal negativo)