Limiti della resa dei conti con i sensori MEMS


13

Sto cercando di rintracciare le parti del corpo relative al busto di una persona. Vedo alcune domande sull'uso di accelerometri e giroscopi MEMS per i calcoli morti, e confermano i miei sospetti che vari fattori limitano notevolmente la loro utilità per questo tipo di applicazioni, ma sto cercando di chiarire questi limiti:

  • Quali sono esattamente questi limiti?

    Altre risposte hanno affrontato il motivo per cui esistono questi limiti. Naturalmente le specifiche delle parti nel sistema in questione e ciò che è considerato "errore accettabile" per il sistema cambieranno entrambi i limiti esatti, ma esiste un singolo ordine di grandezza nel tempo o distanza che posso aspettarmi che i calcoli morti funzionino? Sono ben consapevole del fatto che su lunghe distanze (qualche metro circa) l'errore diventa troppo grande per la maggior parte degli scopi pratici, ma che ne dici di pochi piedi?

  • Cosa posso fare per migliorare questi limiti?

    Attualmente sto cercando di utilizzare un accelerometro e un giroscopio. Quali altri sensori posso aggiungere al sistema per migliorare il tasso di errore? So che su lunghe distanze può essere utilizzato un GPS, ma dubito che qualsiasi GPS di elettronica di consumo abbia una risoluzione sufficiente per aiutare nel mio caso.

    Inoltre, un consenso generale sembra che l'unico modo per migliorare questi limiti oltre il punto di miglioramento dei sensori sia quello di fornire un riferimento non soggetto ad errore. Alcuni sistemi risolvono questo problema utilizzando fotocamere e pennarelli. Che tipo di punti di riferimento può fornire un dispositivo portatile / indossabile?

    Ho visto l'uso delle onde radio per misurare accuratamente lunghe distanze, ma non posso dire se un tale sistema potrebbe essere preciso su una scala così piccola (in termini di distanza misurata) utilizzando componenti "pronti all'uso".


9
Per la persona che ha contrassegnato questo per la chiusura, e tutti gli altri di quel genere - questa è una domanda di progettazione elettronica del primo ordine. Si sta chiedendo come costruire un'unità di navigazione inerziale migliore usando parti COTS e quant'altro sia possibile, quali siano i limiti attuali e cosa ci si può aspettare dai miglioramenti suggeriti. La domanda non può essere ragionevolmente suddivisa in domande più piccole per coloro che non riescono a gestirne l'ambito in quanto l'integrazione di tutti i fattori per ottenere un risultato migliore è l'idea fondamentale.
Russell McMahon,

Un magnetometro può essere aggiunto a un giroscopio a 6 DOF e un chip accelerometro.
Russell McMahon,

In realtà stavo considerando il fatto che la domanda è composta da due domande più piccole, ma è arrivata alla conclusione esatta che @RussellMcMahon ha notato.
Selali Adobor,

1
Dubito che qualsiasi GPS di elettronica di consumo abbia una risoluzione sufficiente per aiutare nel mio caso. Esiste infatti un GPS di consumo che fornisce una precisione al centimetro. Se +/- 1 cm è sufficientemente preciso per l'applicazione non è stato specificato. E, naturalmente, costa un po 'di più rispetto ai tipici moduli GPS accurati +/- 3m
krb686

1
Non ne avevo visto nessuno nella mia ricerca, hai i numeri di parte per nessuno di loro?
Selali Adobor,

Risposte:


6
  • Che cosa sono esattamente?

Le fonti di errore includono offset zero (bias) ed errori di scala (che tendono a variare lentamente) e rumore. I prezzi dei sensori MEMS variano da meno di $ 10 a oltre $ 1000 e l'entità dei termini di errore copre una vasta gamma, a seconda della qualità del sensore.

Il grosso problema è che di solito è necessaria l'integrazione per passare dal valore del sensore (accelerazione, velocità angolare) al valore desiderato (posizione, angolo). Tutte le fonti di errore sono composte - crescendo con il tempo - quando integrate. Il valore dei dati per il decadimento dei calcoli morti si riduce nel tempo, con sensori economici che offrono al massimo pochi minuti di dati utili e sensori di fascia alta che vanno bene forse per alcune ore.

  • Cosa posso fare per migliorare questi limiti?

Come hai già scoperto, il modo migliore per sbarazzarsi dei crescenti errori integrati è quello di combinare i dati del sensore con altre fonti indipendenti di dati che non presentano gli stessi tipi di errori. Ad esempio, il GPS può fornire un valore di posizione assoluto che non va alla deriva a lungo termine, ma ha una componente di "rumore" relativamente grande. Puoi utilizzare questi dati per stimare gli errori di polarizzazione e di scala dei tuoi accelerometri, che ti consentono di correggerli in tempo reale. Inoltre, consente di annullare la "camminata casuale" creata dal rumore del sensore. Un filtro Kalman è un metodo comune utilizzato per modellare il sistema (compresi i termini di errore del sensore) e combinare i dati per ottenere una stima ottimale dello stato del sistema in qualsiasi momento.

Un altro esempio è quello di utilizzare il "vettore di gravità", misurato dagli accelerometri, per annullare la deriva angolare dei giroscopi. Il trucco qui è sapere esattamente quando hai un vettore di gravità valido; cioè, il sistema non sta accelerando in nessuna direzione. A tale scopo vengono utilizzate varie euristiche (ad es. "Aggiornamento zero"). Un magnetometro può anche essere usato per misurare gli errori giroscopici, anche se non si conosce la direzione assoluta del campo magnetico, purché si possa presumere che sia costante.

Il rilevamento ottico è un altro modo per ottenere una stima della velocità, dell'angolo o della posizione senza deriva, ma l'elaborazione delle immagini richiesta può richiedere molti cicli CPU (o FPGA) e lo sviluppo di un tale sistema è piuttosto complicato.


Questa è davvero un'ottima risposta, ma penso che manchi l'intento di una parte della domanda (forse dovrei chiarirla sopra). "Cosa sono" si riferisce a quali sono questi limiti. Vado in dettaglio su cosa intendo con quello nella domanda, poiché mi rendo conto che i valori varieranno in base a molti fattori.
Selali Adobor,

Non riuscivo a capire se stavi chiedendo della natura degli errori o dell'entità degli errori. Ho provato ad affrontare entrambi nella prima parte della mia risposta.
Dave Tweed

Oh, capisco, quindi il tempo è probabilmente un fattore maggiore della distanza in questo caso (mi rendo conto che non sarà sempre l' uno o l'altro)
Selali Adobor,

3

Hai chiesto cos'altro si potrebbe aggiungere. Un magnetometro a 3 assi dovrebbe essere utile. Il campo magnetico terrestre tende a muoversi sostanzialmente più lentamente rispetto all'utente medio (per fortuna).
Guarda il favoloso MPU6000 / 6050

Una versione fornisce l'interfaccia SPI e IIC, l'altra solo IIC.

Questo contiene un giroscopio a 3 assi + un accelerometro a 3 assi più ingressi per consentirgli di integrare il segnale da un magnetometro esterno a 3 assi.
L'IC contiene un "processore di movimento digitale" che integra i segnali dall'array di sensori 3 x 3. Non ho ancora preso confidenza con la precisa funzionalità fornita, ma l'intenzione è di elaborare le 3 sorgenti di segnale separate in un utile sistema di analisi del movimento

Scheda tecnica qui

Il circuito integrato costa circa $ 10/1 da Digikey e una scheda di valutazione è di circa $ 50 + dal produttore. Oppure puoi acquistare una scheda completa dalla Cina - vendono qui per circa $ 6 al dettaglio negli Stati Uniti in 1 - IC e PCB assemblati.
Non ho ancora capito come succede o se sono reali o ... Ne ho ricevuto uno ieri ma non riuscirò a giocarci per un po '. ("Whiles" varia notevolmente in grandezza, da molto piccolo a volte superando grande, ahimè). Ci sono un certo numero di articoli sul web su come usarli ad esempio con Arduinos.

Quanto preciso ?:

C'è probabilmente molta discussione di questo sul web.
Se leggo correttamente la scheda tecnica (e non è un tipo di dispositivo con cui ho troppe dimestichezza), la
Tabella 6.1 a pagina 12 suggerisce che il giroscopio ha una deriva di +/- 20 gradi / secondo max a 25 ° C e altrettanto di nuovo - Intervallo di temperatura da 40 a + 85 ° C. Supponendo una velocità effettiva di 20 gradi / secondo che è un giro completo in 18 secondi. Tuttavia, sia il magnetometro che l'accelerometro forniscono accesso a vettori di riferimento esterni (gravità e campo magnetico terrestre) e segnali da questi possono essere utilizzati per derivare e compensare la velocità di deriva del giroscopio a breve e lungo termine. Questo potrebbe far parte di ciò che fa il loro "motion processor".

L'errore dell'accelerometro sembra in genere inferiore a +/- 5%.
Mi aspetto (e potrebbe essere molto sbagliato) che l'uso dell'accelerometro e del magnetometro per tagliare gli errori di deriva del giroscopio su zero a lungo termine consentirebbe di utilizzare i segnali del giroscopio per la navigazione da secondi a minuti. Il GPS fornisce anche segnali di velocità e la combinazione di posizione GP + velocità con l'unità 9DOF sembra molto utile.

Wooly: Quanto sopra sembra più debole di quanto vorrei. Mi aspetto di sapere qualcosa in più su questo nelle prossime settimane. Sarei interessato a sapere cosa scopri e se apprendo cose utili proverò a riferire.

.


A seconda della tua applicazione potresti essere in grado di depositare temporaneamente un GPS di riferimento e un ricevitore in una posizione comoda, il che potrebbe essere estremamente compatto: GPS + batteria + TX. Una volta depositato, sa dove si trova e può trasmettere correzioni in base alla posizione del sistema. L'uso della stessa costellazione satellitare è "probabilmente una buona idea". Se l'utente e il GPS di riferimento si trovano nello stesso punto in cui è depositato tanto meglio, ma questo sistema tende a funzionare anche se sono sempre spazialmente separati.

... Dubito che qualsiasi GPS di elettronica di consumo abbia una risoluzione sufficiente per aiutare nel mio caso.

Non sapere quale sia il tuo caso rende difficile dirlo. Ma la relativa risoluzione GPS da campione a campione è in genere molto superiore a ciò che si ottiene in pochi minuti o ore. Ho condotto dei test in cui ho guidato su un percorso urbano, tracciato le coordinate GPS e ripetuto l'esercizio diverse ore dopo. I due percorsi erano in alcuni casi distanti alcuni metri ma quando diciamo di guidare in linea retta lungo una strada urbana la trama era una linea retta con "rumore" ai lati di una linea retta forse meno di un metro. (È stato alcuni anni fa - è facile provarlo da soli. Ho appena registrato i dati da un'uscita seriale RS232 GPS (in genere 4800 baud) e in quel caso li ho tracciati in Excel come grafico XY.

Il GPS differenziale può essere utilizzato in base al quale un ricevitore locale fisso di posizione fissa fornisce correzioni di errori in base a dove lo sa e dove il sistema ora lo dice. Ci sono molti fornitori di tali sistemi ma il concetto è abbastanza semplice da implementare se con un budget limitato.


Voglio discutere di questa deriva. Ciò che menzionano nel foglio dati non è la deriva, ma ciò che il Gyro emette come valori pur essendo a velocità di rotazione 0. La seconda cifra sarebbe quindi quanto questo valore differisce nell'intero intervallo di temperature. Pensi che abbia senso?
Jonas Schäfer,

Sto cercando di rintracciare le parti del corpo relative al busto di una persona (l'ho menzionato nella domanda, ma probabilmente dovrei spostarlo all'introduzione, l'ho seppellito per errore). Vedo alcune schede breakout per questo su E-bay, sto per ordinarne una. Guardando il foglio dati è un dispositivo molto promettente. La nota sul GPS si riferisce a quanto è breve la distanza (<1 metro). I dispositivi che ho visto per quel tipo di misurazione utilizzavano hardware molto specializzato. Non avevo mai pensato di usare un sistema GPS differenziale. Ne ho sentito parlare, ma non ne so molto di loro, quindi leggerò, grazie!
Selali Adobor,

"L'uso della stessa costellazione satellitare è probabilmente una buona idea." Non è così che funziona DGPS. La stazione di riferimento calcola correzioni pseudorange ai singoli satelliti nella sua vista e li trasmette. L'altra stazione utilizza solo le correzioni per quei satelliti che sono anche a suo modo di vedere.
Dave Tweed

Invensense ora ha la sua MPU-9250, che combina la MPU-6000 (Gyro / Accel) con un magnetometro a 3 assi (Asahi Kasei AK8963), che fornisce 9 assi su un chip. Ed è più piccolo
dell'MPU

Aveva anche elenchi di e-bay simili, quindi ne ho ordinato uno poiché il prezzo medio dei magnetometri sulle schede di breakout era più o meno lo stesso (queste schede sono sicuramente economiche!)
Selali Adobor,

3

Qualcosa che non è ancora trattato in queste risposte è la tua specifica applicazione, che in realtà è stata affrontata almeno una dozzina di volte da persone molto intelligenti. Le due parole chiave qui sono cinematica inversa e filtri di Kalman.

Ormai dovrebbe essere chiaro quale sia la fonte degli errori per la tua applicazione e come risolverli. Ma quando si ha a che fare con sensori che sono essenzialmente fissi su un essere umano, è possibile ridurre la gamma di posizioni spaziali e angolari dei sensori applicando la cinematica inversa all'equazione. Questo in pratica significa che segui le posizioni relative di quante più articolazioni possibile sul corpo e ad esso applica un modello cinematico del corpo umano. Ad esempio, la lunghezza delle braccia delle persone non varia nel tempo, né la loro gamma di movimento cambia sensibilmente. Le ossa non si piegano (in circostanze normali). Tutto ciò può essere utilizzato per limitare le posizioni dei sensori.

L'altra soluzione è utilizzare il maggior numero possibile di sensori ortogonali. Ortogonale nel senso di: usare principi di misurazione fondamentalmente diversi. Utilizzando il maggior numero possibile di input per i sensori, puoi utilizzare un cosiddetto filtro Kalman per allenarti nel modo più preciso possibile, dati i dati sui tuoi sensori. I filtri di Kalman non sono un'entità magica che cerca la migliore risposta. Sono modelli matematici che devono essere sintonizzati e modificati per la tua specifica applicazione, e può essere una seccatura farli funzionare bene. Ma ti consente, in una sorta di rotonda, di combinare i dati dei sensori altrimenti molto difficili da correlare. Gli input per questo tipo di filtri possono essere qualsiasi cosa: sensori di posizione, accelerazione e velocità, ma anche sensori di luce che possono aggiungere informazioni rispondendo a fonti di luce visibili a determinati angoli.

Alcuni "powergloves" con questo principio di funzionamento (cinematica + filtri kalman) sono stati dimostrati da aziende e università. Il più recente che ho visto al TU Eindhoven ha usato MPU6050 su substrati flessibili intessuti in un guanto e alcuni sensori di supporto (penso che al momento siano solo webcam) tutti alimentati in un grande filtro Kalman alimentato da Matlab. Funziona fino a 1 mm di ripetibilità.


Ho già esaminato questi aspetti del problema finora per il mio caso specifico, quindi sono più interessato a cosa posso fare con l'hardware, ma questi sono punti eccellenti (specialmente usando IK per i vincoli).
Selali Adobor,

0

Il problema fondamentale

Naturalmente le specifiche delle parti nel sistema in questione e ciò che è considerato "errore accettabile" per il sistema cambieranno entrambi i limiti esatti, ma esiste un singolo ordine di grandezza nel tempo o distanza che posso aspettarmi che i calcoli morti funzionino? Sono ben consapevole del fatto che su lunghe distanze (qualche metro circa) l'errore diventa troppo grande per la maggior parte degli scopi pratici, ma che ne dici di pochi piedi?

Questo può essere affrontato studiando la dinamica degli errori a breve termine di un sistema di navigazione inerziale. È trattato in dettaglio in molti testi , ma ecco la breve versione "senza equazioni".

La navigazione inerziale funziona come segue:

  1. Conoscere con precisione la posizione iniziale, la velocità e l'atteggiamento (ad es. Beccheggio e imbardata).

  2. Δt

  3. Usa il tuo nuovo atteggiamento che hai appena calcolato per ruotare matematicamente le letture dell'accelerometro in modo che siano a livello della terra.

  4. Sottrai la gravità dalle letture dell'accelerometro di nuovo livello.

  5. Δt

  6. Δt

  7. Ripeti i passaggi da 2 a 6 per tutto il tempo che desideri.

bgbg×Δt×Δt×Δt=bg(Δt)3

Inoltre, tale distorsione si accumulerà in atteggiamento, il che causerà un livellamento errato degli accelerometri, il che causerà un livellamento dell'accelerazione nella direzione sbagliata, che verrà quindi integrata nella direzione sbagliata - tre livelli di errori.

Ciò significa che gli errori giroscopici causano la crescita degli errori di posizione con il cubo del tempo .

Allo stesso modo, l' accelerometro logico fa sì che gli errori di posizione crescano con il quadrato del tempo .

Per questo motivo, otterrai pochi secondi di utile (pura) navigazione inerziale da sensori MEMS di livello mobile.

Anche se disponi di sensori inerziali estremamente buoni - diciamo, grado di aeromobili - allora sei sostanzialmente limitato a poco meno di dieci minuti di navigazione (pura) inerziale. Il motivo è il passaggio 3: la gravità cambia con l'altezza. Prendi la tua altezza sbagliata e la tua gravità sarà sbagliata, il che fa sì che la tua altezza sia sbagliata, il che fa sì che la tua gravità sia più sbagliata e così via - crescita esponenziale dell'errore. Pertanto, anche un sistema di navigazione inerziale "puro" come quelli che si trovano nei getti militari di solito avrà qualcosa come un altimetro barometrico. Fonte .

soluzioni

Inoltre, un consenso generale sembra che l'unico modo per migliorare questi limiti oltre il punto di miglioramento dei sensori sia quello di fornire un riferimento non soggetto ad errore.

t2

Alcuni sistemi risolvono questo problema utilizzando fotocamere e pennarelli. Che tipo di punti di riferimento può fornire un dispositivo portatile / indossabile?

Ci sono sia prodotti di ricerca che commerciali che possono fare questo.

Concettualmente, funziona come la visione stereo: hai una linea di base nota tra le telecamere e un'angolazione diversa rispetto a ciascun marker visto da ciascuna telecamera. Da questo, è possibile calcolare la posizione 3D di ciascun segno (rispetto alla telecamera). Può funzionare meglio con più fotocamere.

Ho visto l'uso delle onde radio per misurare accuratamente lunghe distanze, ma non posso dire se un tale sistema potrebbe essere preciso su una scala così piccola (in termini di distanza misurata) utilizzando componenti "pronti all'uso".

Usando hardware economico, il decawave UWB potrebbe essere di qualche utilità (10 cm circa). Dovrai inventare i tuoi algoritmi.

So che su lunghe distanze può essere utilizzato un GPS, ma dubito che qualsiasi GPS di elettronica di consumo abbia una risoluzione sufficiente per aiutare nel mio caso.

Accanto al corpo, un sistema GPS farà fatica. Ottenere il GPS a livello di cm si basa sul monitoraggio continuo della fase dei segnali GPS (molto, molto deboli), il che è estremamente difficile se l'antenna si trova vicino al corpo e il corpo si sta muovendo! Per i soli sistemi L1 - indipendentemente dal fatto che siano economici o costosi - il tracciamento deve durare a lungo (10min +) ed è quindi poco pratico per questo problema. Un ricevitore a doppia frequenza potrebbe funzionare a volte , ma in realtà non è economico (migliaia di dollari).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.