Arduino
navigazione inerziale con arduino


FinePagina

qqcreafis

Avatar
PetaWatt


Utente
Msg:10029

Stato:



Inviato il: 30/09/2016 13:15:40

come si fa a costruire un sistema d navigazione inerziale con arduino per aereomodello



ci sono degli accelerometri integrati, li voleva usare Bolle come sensori sismici


qualcuno ha idee o ha fatto qualche cosa del genere???????????



---------------
ODE AD UNO STUDENTE MERITEVOLE (Sermone)
Allora Xyz è stato bravo! noi dobbiamo riconoscere ...

 

BellaEli

Avatar
GigaWatt


MODERATORE
Msg:3286

Stato:



Inviato il: 30/09/2016 13:25:18

Ci sono vari progetti in giro per la realizzazione di droni con arduino et simila.

Come sensori spesso li recuperano da altri dispositivi, perchè più raffinati, ad esempio quelli del telecomando della Wii.

Se provi a cercare "Drone Arduino" o "Drone DIY" troverai una miriade di progetti dove implementano ciò che cerchi.

Elix



---------------
C'è un limite al fai da te ???
Si, ma lo stabiliamo noi !!!






 

RAUNARDE
GigaWatt


Utente
Msg:1225

Stato:



Inviato il: 30/09/2016 13:59:22

usano un accelerometro

ti metto qualche link:
MMA7361
mpu-6050-gy-521 con giroscopio
MMA7361



---------------



 

qqcreafis

Avatar
PetaWatt


Utente
Msg:10029

Stato:



Inviato il: 10/09/2018 11:25:54

recuperato un mpu6050 ma i valori che da sono strani dice che cancella g ma non mi sembra

ci sono tanti formati in uscita



---------------
ODE AD UNO STUDENTE MERITEVOLE (Sermone)
Allora Xyz è stato bravo! noi dobbiamo riconoscere ...

 

RAUNARDE
GigaWatt


Utente
Msg:1225

Stato:



Inviato il: 11/09/2018 08:21:12

prova a guardare in queste realizzazioni se c'è qualcosa che ti può essere utile

LINK



---------------



 

AlexB
milliWatt


Utente
Msg:13

Stato:



Inviato il: 13/09/2018 17:27:41

CITAZIONE (qqcreafis, 30/09/2016 13:15:40 ) Discussione.php?214003&1#MSG0

come si fa a costruire un sistema d navigazione inerziale con arduino per aereomodello



ci sono degli accelerometri integrati, li voleva usare Bolle come sensori sismici


qualcuno ha idee o ha fatto qualche cosa del genere???????????



per la navigazione questo è fatto molto bene

http://www.varesano.net/projects/hardware/FreeIMU


per la gestione del 6050

https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050

spero possa esserti utile.


per i terremoti

https://circuitdigest.com/microcontroller-projects/arduino-earthquake-detector-alarm-circuit

( usa un chip diverso ma il concetto è simile..ho provato a costruirlo e funziona però forse un geofono è molto più sensibile )


fammi un fischio se hai bisogno.



Modificato da AlexB - 13/09/2018, 17:32:40


---------------



 

qqcreafis

Avatar
PetaWatt


Utente
Msg:10029

Stato:



Inviato il: 14/09/2018 21:41:20

grazie AlexB sembra roba interessante


Ma tuttavia, d'altra parte siamo in un'epoca in cui le parole "cambiano" di significato ...

navigazione inerziale è tutta un'altra roba


significa senza riferimenti esterni, senza satelliti sapere dove ci si trova

tanto per capirsi un missile balistico lanciato dal friuli è in grado di centrare un quadrato di 10mX10m in sardegna "semplicemente" seguendo grazie ad accelerometri la giusta traiettoria



---------------
ODE AD UNO STUDENTE MERITEVOLE (Sermone)
Allora Xyz è stato bravo! noi dobbiamo riconoscere ...

 

qqcreafis

Avatar
PetaWatt


Utente
Msg:10029

Stato:



Inviato il: 14/09/2018 22:25:31

in una sitazione semplificata


ammettiamo di misurare l'accelerazione ogni delta_t ad es ogni 0,01s

ammettiamo un solo asse

posizione ogni delta_T

X0;X1;X2...;Xn-1;Xn;Xn+1, .....


velocità al tempo ((n-1)+n)/2*delta_t=(n-1/2)*delta_t


V(n-1/2)=(Xn-Xn+1)/delta_t

velocità al tempo ((n+1)+n)/2*delta_t=(n+1/2)*delta_t


V(n+1/2)=(Xn+1-Xn)/delta_t

accelerazione al tempo n*delta_t


an=[V(n+1/2)-V(n-1/2)]/delta_t=(Xn+1-2Xn+Xn-1)/delta_t^2


ma "noi" si conosce l'accelerazione ogni delta_t

a0;a2;a3;..........an......

quindi

Xn+1=2Xn-Xn-1 + an*delta_t^2


ovvero

CONOSCENDO LA POSIZIONE AL TEMPO n*DELTA_T (Xn), CALCOLATA PRIMA,

QUELLA PRECEDENTE AL TEMPO (N-1)*DELTA_T (Xn-1), CALCOLATA PRIMA

L'ACCELERAZIONE AL TEMPO n*DELTA_T (an), MISURATA ORA DALL'ACCELEROMETRO,

SI è IN GRADO DI CALCOLARE LA POSIZIONE AL TEMPO SUCCESSIVO Xn+1



IN ALTRE PAROLE

se si conosce la posizione iniziale X0 (quella di partenza)

se si conosce la posizione iniziale X1 (quella al tempo 1*delta_t) (vedremo poi come si fa)

si può calcolare X3

X3 = 2*X2-X1+a2*delta_t^2

quindi dato che conosciamo X3 e X2 e a3 possiamo calcolare X4 come


X4 = 2*X3-X2+a3*delta_t^2


quindi si calcola X5 poichè si conosce X4, X3, a4


X5 = 2*X4-X3+a4*delta_t^2

e via

quindi ad ogni misura di accelerazione siamo in grado di calcolare la posizione successiva
















Modificato da qqcreafis - 14/09/2018, 22:57:44


---------------
ODE AD UNO STUDENTE MERITEVOLE (Sermone)
Allora Xyz è stato bravo! noi dobbiamo riconoscere ...

 

qqcreafis

Avatar
PetaWatt


Utente
Msg:10029

Stato:



Inviato il: 15/09/2018 16:48:53

quindi siamo in grado di ricostruire la traiettoria

X0;X1;X2...;Xn-1;Xn;Xn+1, .....

e l'importante è che si può fare in tempo reale


per calcolare X1 si può pensare che la velocità di partenza sia zero ed il moto unif accelerato

X1=1/2*a0*delta_t^2


fin quà sembra tutto "semplice" maaaa c'è l accelerazione di gravità


che va eliminata ..... il soft MPU6050 dice di si ma a mè non sembra e poi l'uscita del giroscopio dove è????



---------------
ODE AD UNO STUDENTE MERITEVOLE (Sermone)
Allora Xyz è stato bravo! noi dobbiamo riconoscere ...

 

AlexB
milliWatt


Utente
Msg:13

Stato:



Inviato il: 17/09/2018 18:28:34

avevo capito che ti volessi costruire un drone oppure una imu per un aeromodello.. non un ATLAS! ...

comunque forse nella libreria di gestione della mpu che ti ho allegato dovrebbe esserci più o meno tutto quello che ti serve.. rotazioni sull'asse x,y,z rispettive accelerazioni .. tutto in uscita tramite bus. Sono previsti dei metodi per azzerare gli offset dovuti al montaggio e tanto altro.

poi

https://www.samba.org/tridge/UAV/madgwick_internal_report.pdf

dovrebbe fare al caso tuo.. esiste anche una implementazione come libreria per arduino.

ciao



Modificato da AlexB - 17/09/2018, 18:49:07


---------------



 
 InizioPagina
 

Versione Completa!

Home page     TOP100-SOLAR    Home page forum