Calcolo dei morti con accelerometro e giroscopio. Possibile?


11

Ho un accelerometro a 3 assi e un giroscopio a 3 assi. Mi è stato assegnato il compito di sviluppare un sistema di resa dei conti morto usando questo hardware.

In sostanza, ciò che serve è sviluppare un codice per tracciare la posizione nello spazio 3d della scheda in tempo reale. Quindi, se inizio con la tavola su un tavolo e la sollevo 1 m verso l'alto, dovrei essere in grado di vedere quel movimento sullo schermo. Anche le rotazioni devono essere prese in considerazione, quindi se capovolgo la tavola a metà dello stesso movimento, dovrebbe comunque mostrare lo stesso risultato di 1 m verso l'alto. Lo stesso dovrebbe valere per qualsiasi movimento complesso per un periodo di pochi secondi.

Ignorare la matematica necessaria per calcolare e ruotare i vettori ecc., È possibile anche con un dispositivo così economico? Per quanto ne so, non sarò in grado di rimuovere la gravità con una precisione del 100%, il che significa che il mio angolo rispetto al suolo sarà spento, il che significa che le mie rotazioni vettoriali saranno disattivate, il che porta a una misurazione della posizione errata.

Ho anche rumore dall'accelerometro e dalla distorsione giroscopica di cui tenere conto.

Può essere fatto?


2
Può essere fatto con la precisione consentita dai sensori. Gli errori di posizione si accumuleranno nel tempo. Dipende se l'accuratezza è sufficiente per il tuo progetto.
Wouter van Ooijen,

1
La matematica avanzata è ciò che renderà possibile il progetto. Dovrai usare i quaternioni, un filtro Kalman e uno schema ZUPT o ZARU. Da lì, sì, puoi seguirlo accuratamente per diversi secondi. Parlo per esperienza diretta.
Samuel,

Ho una meravigliosa citazione di Lord Kelvin appesa al muro del mio ufficio per alcuni decenni: "I quaternioni venivano da Hamilton ... e sono stati un male non mescolato per coloro che li hanno toccati in qualche modo. Il vettore è una sopravvivenza inutile ... e non è mai stato del minimo utilizzo per nessuna creatura. "
Scott Seidman,

I quaternioni di @ScottSeidman non sono così male se li pensi in termini di rotazioni attorno ai vettori di unità. Quindi hai solo bisogno di un po 'di trigonometria per convertire in / dalla forma quaternione.
JAB,

@JAB, ovviamente loro (o qualche altro approccio) sono necessari poiché le rotazioni non commutano, mettendo alcune sfumature piuttosto interessanti sulla matematica.
Scott Seidman,

Risposte:


11

Le risposte e i commenti che ricevi sono eccellenti, ovviamente, ma posso aggiungere un po 'di colore.

Per quello che vale, il nostro sistema neurosensoriale utilizza più o meno gli stessi strumenti e non sempre ottiene la risposta giusta! Abbiamo accelerometri 3D (gli organi degli otoliti) e "giroscopi" 3D (velocitomeri angolari, canali semicircolari), eppure soffriamo di ogni sorta di illusioni quando il sistema non è in grado di ottenere la giusta "risposta", come l'illusione dell'ascensore e l'illusione oculogravica. Spesso questi guasti si verificano durante le accelerazioni lineari a bassa frequenza, che sono difficili da distinguere dalla gravità. C'è stato un tempo in cui i piloti si immergevano nell'oceano durante i decolli di catapulta sulle portaerei a causa della forte percezione del tono derivante dall'accelerazione a bassa frequenza associata al lancio, fino a quando i protocolli di addestramento hanno insegnato loro a ignorare quelle percezioni.

Certo, i sensori fisiologici hanno alcuni tagli di frequenza e livelli di rumore diversi rispetto ai sensori MEMS, ma abbiamo anche un'enorme rete neurale lanciata al problema - sebbene poco in termini di pressione evolutiva per risolvere correttamente il problema a questi estremi a bassa frequenza, fintanto che i lanci di catapulta sono abbastanza rari ;-).

Immagina questo buonsenso "calcolo dei conti" che molti hanno sperimentato, e penso che vedrai come questo si ripercuote sul mondo MEMS. Sali su un jet, decolla in Nord America, accelera a velocità di crociera, attraversa l'oceano, decelera e atterra in Europa. Anche rimuovendo le ambiguità della traduzione inclinata dal problema, e ipotizzando una rotazione zero, ci sarebbero poche speranze di una reale implementazione di una doppia integrazione dei profili di accelerazione che produca un profilo di posizione ovunque abbastanza accurato da dirti che hai raggiunto l'Europa . Anche se avessi un giroscopio / accelerometro a 6 assi molto preciso seduto sulle tue ginocchia durante il viaggio, anche questo avrebbe i suoi problemi.

Quindi questo è un estremo. Ci sono molte prove che suggeriscono che per i comportamenti quotidiani gli animali usano un semplice presupposto che le accelerazioni a bassa frequenza che vengono rilevate sono probabilmente causate da riorientamento rispetto alla gravità. Una combinazione di giroscopi e accelerometri che hanno risposte di frequenza più ampie rispetto al nostro orecchio interno può risolvere il problema molto meglio, ovviamente, ma avrà comunque problemi all'estremo a causa del rumore di fondo, delle soglie e simili.

Quindi, per epoche brevi con accelerazioni non banali, la resa dei conti con la giusta strumentazione non è un problema così grave. A lungo termine, con piccole accelerazioni e accelerazioni a bassa frequenza, la resa dei conti è un grosso problema. Per ogni data situazione, è necessario capire in quale parte dello spettro si trova il tuo particolare problema e quanto siano precisi i tuoi bisogni di calcolo dei morti per determinare se il meglio che puoi fare è abbastanza buono. Chiamiamo ingegneria di processo.


Grazie per la risposta illuminante. Tuttavia, mi chiedo alcune cose: 1) cosa intendi con accelerazioni a bassa frequenza? 2) Se il problema fosse ridotto dalla posizione 3D allo spostamento laterale (ignora Z), sarebbe più facile? e 3) Che dire di un movimento lento nell'acqua di mare, dove l'effetto della gravità è ridotto? Tutti i suggerimenti per leggere materiale su questi calcoli sarebbero apprezzati.
Achennu,

In realtà, i vecchi sistemi di navigazione intertial sarebbero precisi entro poche miglia dopo un lungo volo. Devono essere stati estremamente precisi. (Vivevano in una scatola piuttosto grande.) La tecnologia è stata sviluppata negli anni '50 per guidare le ICBM.
Montabile il

9

I problemi principali con i calcoli morti che ho riscontrato durante un progetto di progettazione senior simile al tuo è che un accelerometro misura solo l'accelerazione. Devi integrare una volta per ottenere la velocità più una costante C. Quindi devi integrarti di nuovo per ottenere la posizione + Cx + D. Ciò significa che una volta calcolata la posizione dai dati di un accelerometro, finisci con un offset, ma hai anche un errore che cresce linearmente con il tempo. Per il sensore MEM che ho usato, in 1 secondo, si è calcolato che si trovasse ad almeno un metro di distanza da dove si trovava effettivamente. Affinché ciò sia utile, in genere è necessario trovare un modo per azzerare gli errori molto spesso in modo da evitare l'accumulo di errori. Alcuni progetti sono in grado di farlo, ma molti non lo sono.

Gli accelerometri forniscono un bel vettore di gravità che non aumenta nel tempo e le bussole elettroniche forniscono orientamento senza accumulare errori, ma nel complesso il problema dei calcoli morti non è stato risolto da tonnellate di denaro speso dalla marina per tonnellate di sensori sulle navi . Sono meglio di quello che puoi fare, ma l'ultima volta che ho letto, si sono comunque trovati a staccarsi di 1 km quando viaggiano 1000 km. In realtà è abbastanza buono per i calcoli dei morti, ma senza le loro attrezzature, non sarai in grado di ottenere nulla di simile.


Sicuramente l'errore è il quadrato della distanza / tempo? L'errore di velocità sarà lineare, quindi lo spostamento del quadrato. Ciò che è interessante e non affrontato è quanto siano bravi quegli acceleratori economici.
Montabile il

@Tuntable Speriamo di avere un accelerometro che non sia così male da avere un offset di accelerazione costante significativo . Se ne hai uno così male, allora sì, finirai con un errore quadrato con distanza / tempo.
horta,

7

Avrai anche parzialità negli accelerometri e rumore nei giroscopi.

E la gravità non dovrebbe introdurre errori nelle misurazioni dell'angolo; al contrario, il vettore di gravità fornisce un "riferimento assoluto" che consente di azzerare la distorsione accumulata degli angoli "beccheggio" e "rollio".

Sì, quello che vuoi fare è possibile, ma le scarse prestazioni dei dispositivi MEMS a basso costo significano che gli errori si accumuleranno rapidamente - sia i cambiamenti di polarizzazione che la "camminata casuale" generata dal rumore (sia negli accelerometri che nei giroscopi di velocità) farà sì che i risultati si discostino dalla realtà in pochi secondi o minuti.

Per risolvere questo problema, è necessario incorporare nel sistema ulteriori sensori che non soffrono di questo tipo di errori. Come accennato in precedenza, l'utilizzo dell'angolo del vettore di gravità è un modo per correggere alcuni degli errori giroscopici, ma è necessario essere consapevoli di quando si dispone di una misurazione della gravità accurata (altrimenti i sistemi non vengono accelerati) prima di poter utilizzare esso.

Un altro modo per correggere la deriva angolare è incorporare un magnetometro per misurare il campo magnetico terrestre. I magnetometri presentano errori relativamente grandi, ma non soffrono di deriva a lungo termine.

La correzione degli errori di posizione creati dai componenti di deriva delle letture dell'accelerometro richiede un riferimento di posizione assoluto di qualche tipo. Il GPS viene comunemente utilizzato (quando disponibile), ma è possibile utilizzare anche altri sensori, come barometri (per altitudine), contachilometri (se si hanno ruote a terra), sensori a ultrasuoni o infrarossi o persino sensori di immagine.

Indipendentemente dalla combinazione di sensori che finisci per utilizzare, tutti questi dati devono essere "fusi" in un modello software autoconsistente dello stato del sistema, che include non solo la posizione e l'atteggiamento attuali, ma anche le stime della distorsione attuale , fattore di scala e livelli di rumore dei sensori stessi. Un approccio comune consiste nell'utilizzare un filtro Kalman, che può essere mostrato per fornire una stima "ottimale" (ovvero la migliore stima disponibile) dello stato del sistema per un determinato set di letture del sensore.


4

La risposta breve è "non esattamente". La lunga risposta è che puoi formulare dichiarazioni come "Date le mie letture giroscopiche, sono fiducioso al 95% che il dispositivo sia stato ruotato tra 28 gradi e 32 gradi dall'ultima lettura".

dθ(t)dt=r(t)
d2p(t)dt2=r(t)
r(t)t

Queste equazioni differenziali "rumorose" di solito vanno sotto il nome di "equazioni differenziali stocastiche" in cui si presume che il rumore sia il rumore bianco generato attraverso una camminata casuale. La matematica può essere generalizzata ad altre situazioni in cui il rumore non proviene da una camminata casuale. In ogni caso particolare, il rumore avrà una distribuzione che può essere determinata sperimentalmente, i cui parametri dipenderanno dal dispositivo specifico e dall'applicazione. A causa dell'accumulo di rumore, indipendentemente da ciò che fai per ottenere buone stime su intervalli di tempo relativamente lunghi, dovrai sempre calibrare periodicamente su una posizione nota. Esempi di riferimenti fissi sono basi domestiche, letture della bussola e gravità.

Se decidi di seguire questa strada, devi decidere alcune cose:

  • Qual è un livello accettabile di errore? Vuoi essere sicuro al 95% che sia entro un grado dopo 2 secondi o vuoi essere sicuro all'80% che lo è in 5 gradi dopo 2 secondi?

  • Prendi alcune letture dal tuo giroscopio / accelerometro. Questo può essere usato per calcolare la distribuzione empirica del rumore che stima il rumore reale. Usa questo per risolvere la tua equazione differenziale rumorosa e calcolare i tuoi intervalli di confidenza.

  • Da quanto sopra, dovrebbe essere chiaro in che modo l'accuratezza della lettura (varianza) dalla scheda tecnica influisce sulla soluzione dell'equazione differenziale rumorosa. Sarà anche chiaro come influisce sugli intervalli di confidenza.

  • Scegli un dispositivo con parametri accettabili in modo da ottenere gli intervalli di confidenza desiderati nel primo passaggio. È possibile che i parametri di precisione del dispositivo desiderati / necessari non corrispondano a quelli disponibili e / o al budget. D'altra parte, potresti essere sorpreso dai risultati che ottieni per dispositivi più economici.


Il problema (o un problema) sta nel fatto che l'accelerometro è sensibile a più di p (t). È anche sensibile ai cambiamenti nel theta attorno a determinati assi.
Scott Seidman,

Sono d'accordo. Ecco perché è sempre meglio usare i vettori quando si fa qualsiasi analisi di un sistema multiparametro. La generalizzazione da processi stocastici a valori vettoriali dal singolo caso variabile è banale rispetto al resto dei problemi.
SomeEE
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.