Selezione di un accelerometro per Deduced Reckoning


11

Non ho mai usato un accelerometro prima, ma sono consapevole che sono dotati di uscite I2C, SPI e analogiche. Se scelgo di utilizzare un dispositivo I2c o SPI, accumulerò errori dovuti al tempo di comunicazione?

È probabile che il campionamento rapido di un segnale analogico mi dia una posizione dedotta più accurata rispetto all'utilizzo di I2C?

Sarà vero per questo?

  1. Un robot che si muove in una stanza
  2. Un robot si muove in un terreno esterno ed è probabile che scivoli e rotoli giù da un pendio.

Inoltre, non ho alcun senso di Gs. Ho provato a muovere rapidamente la mano con il telefono in esecuzione con andro-sensor nel pugno e ho visto che le letture erano sature a 20m / s 2 . Che G posso aspettarmi che il mio robot sperimenti se viene colpito da un altro robot in movimento grasso o urtato da un essere umano che cammina veloce?

Risposte:


5

L'aumento della frequenza di campionamento del sensore non migliora l'accuratezza o la precisione. Questa è una caratteristica del sensore che di solito non è possibile modificare. Se si tenta di stimare la propria posizione attraverso l'integrazione accelerazioni da solo, è sicuramente sarà accumulano errori nel corso del tempo, perché ogni sensore è rumoroso. Se si desidera utilizzare gli accelerometri per determinare la posizione o la velocità, è necessario combinarli con qualche altro sensore che effettivamente misura la posizione (anche con una precisione inferiore) o la velocità. Quindi, puoi combinare questi diversi segnali del sensore con un filtro Kalman per ottenere una stima ragionevole della tua posizione e della velocità con cui ti stai muovendo.

Considerando le forze G, considera che 1 G è 9,81 m / s ^ 2, il che mi sembra molto, nel contesto di piccoli robot hobby, almeno per i robot indoor. L'outdoor potrebbe essere una storia diversa, a seconda della potenza del tuo motore. Una saturazione a 20 m / s ^ 2 dovrebbe essere sufficiente.


4

Pensa in termini di velocità del circuito di controllo. Una tipica velocità di loop di controllo veloce è 1kHz. Alcuni robot usano un ritmo più veloce, un po 'più lento. Di solito la velocità del tuo circuito di controllo è più alta di quanto tu abbia realmente bisogno.

Quindi ogni frame di controllo dura 1000us. All'interno di questo quadro di controllo è necessario:

  • Campiona i tuoi sensori
  • Eseguire i calcoli di controllo
  • Invia le nuove uscite ai motori

Finché puoi fare tutto comodamente entro il termine, non avrai problemi. Quanto tempo ci vuole per leggere l'accelerometro? Se si tratta di un dispositivo a 3 assi, utilizzando I2C a 400 kbps, potrebbero essere necessari circa 160us per leggere i dati. Ciò ti lascia 840us per eseguire il calcolo e aggiornare i motori. Anche un PIC a 8 bit può gestirlo.


A proposito delle forze G. Durante un impatto, possono essere sorprendentemente alti. Ad esempio, quanto credi che ci vorrebbe per rompere un disco rigido? Probabilmente non così tanto. Bene, un disco rigido che avevo recentemente detto che era valutato per un'accelerazione massima di 75G. Quindi aspettatevi che due robot in collisione producano almeno diversi G. È impossibile stimare con precisione perché dipende enormemente dalla progettazione meccanica dei robot. Se sono entrambi completamente solidi come le palle da biliardo, allora puoi aspettarti accelerazioni molto elevate. Se hanno una sorta di guscio flessibile, questo ridurrà notevolmente l'accelerazione. Ma la domanda è: hai davvero bisogno di conoscere il valore reale dell'accelerazione durante un impatto?


1

Dalla tua domanda immagino che tu stia cercando di ottenere la tua posizione dagli accelerometri. Dai un'occhiata a che tipo di erroriti aspetti prima, e poi magari riconsiderare. La stima della posizione presenta errori molto grandi, principalmente a causa dell'incertezza nell'orientamento. L'applicazione su navi, aerei, razzi, ecc. Utilizza IMU di qualità di navigazione ad alta precisione molto costose. La latenza, alla quale si riduce la tua domanda, non è un problema. Più rilevante è la sincronizzazione tra gli altri sensori (ad es. Gyros). Gli accelerometri di solito non sono usati per la stima della posizione (ci sono alcuni casi in cui aiuta, ma solo per brevi periodi), ma piuttosto per compensare la deriva del giroscopio nella stima dell'orientamento. Puoi anche usarli direttamente per stimare il tuo orientamento, ma poi la tua stima è perturbata dalle accelerazioni dinamiche.

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.