|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2005
Città: Gualdo Tadino, Perugia
Messaggi: 1692
|
domanda sensori inerziali (leggi accelerometri)
salve a tutti, mi rendo conto che la domanda non è tanto semplice, ma ci provo lo stesso...
dunque, devo sviluppare un software per un sistema inerziale, che deve entrare in funzione nel momento in cui il segnale del gps non riesce a dare informazioni! il sistema inerziale è composto di accelerometri e girscopio, combinando i dati ricevuti da tali sensori e dall'ultima posizione gps, riesco a tirar fuori una stima dei valori della longitudine e della latitudine! per ora però ho solo 2 accelerometri, uno lungo la direzione della macchina e uno perpendicolare... mi domando, è possibile ricavare l'angolo di sterzata ad ogni istante di campionamento solo con il contributo di questi due accelerometri? pensavo di si, ma quando ho provato il tutto in matlab, mi son reso conto che non era così semplice... mi sono calcolato l'accelerazione come vettore risultante delle due componenti, poi ho calcolato l'angolo di sterzata come l'angolo compreso tra il vettore risultante e la direzione della macchina! con questi valori ho calcolato le stime e m'è venuto fuori che la macchina ha fatto solo una serie infinita di testacoda... qualcuno sa dirmi se sbaglio qualcosa?
__________________
E d'un tratto capii che il pensare è per gli stupidi, mentre i cervelluti si affidano all'ispirazione. |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Jun 2004
Città: Provincia di Torino
Messaggi: 64
|
Se parli di un'auto, quello che ti interessa non e' l'accelerazione lungo l'asse longitudinale, ma la velocita' istantanea, che e' l'integrale dell'accelerazione che misuri.
Quando hai la velocita' istantanea longitudinale (periferica) e l'accelerazione laterale (centrifuga) puoi calcolare l'angolo di sterzata, o meglio il raggio di curvatura, posto ti serva a qualcosa e posto che l'auto non slitti (l'accelerazione laterale va a zero). Se quello che cerchi e' la posizione, quello che ti interessa e' fare due volte l'integrale dell'uscita dei due accelerometri. Al primo colpo ottieni le velocita', al secondo gli spostamenti e solo a quel punto componi i vettori. Se parli di un'auto, che fai del girometro?
__________________
Marco - Hardware Upgrade Aerospace Group - Clan Anti K "per un mondo migliore" I am a leaf on the wind - watch how I soar. Get your motor runnin', Head out on the highway Lookin' for adventure And whatever comes our way. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2005
Città: Gualdo Tadino, Perugia
Messaggi: 1692
|
ciao, ho cercato di contattarti via msn...
allora il problema è questo io ho due accelerometri montati su di una macchina, uno nella direzione della macchina e l'altro perpendicolare, solo che non riesco a far quello che mi stai dicendo tu... sto lavorando con matlab per ora, per poi scriverlo in c e metterlo in un dispositivo per la navigazione inerziale!
__________________
E d'un tratto capii che il pensare è per gli stupidi, mentre i cervelluti si affidano all'ispirazione. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2005
Città: Gualdo Tadino, Perugia
Messaggi: 1692
|
la mia esigenza è quella di far cooperare questo sistema inerziale con un gps, in modo tale che quando il gps perde il segnale, entra in gioco l'ins...
io procedo in questa maniera, prendo i dati del gps dell'ultima misurazione (longitudine, latitudine, velocità e angolo rispetto al nord), prendo i dati che mi da il sistema inerziale, (per ora sono accelerazione x e accelerazione y, una che va nella direzione dlla macchina e l'altra in maniera perpendicolare), calcolo il vettore accelerazione risultante facendo la radice della somma dei quadrati delle componenti lungo x e lungo y calcolo l'angolo che c'è tra il vettore risultante e la direzione della macchina facendo l'arcotangente della componente y sulla componente x calcolo la nuova velocità sommando alla vecchia velocità il vettore accelerazione risultante moltiplicato per il periodo di campionamento (nel mio caso 1/10s) calcolo la nuova direzione rispetto al nord sommando la variazione del nuovo angolo alla vecchia direzione rispetto al nord trovo le variazioni di latitudine e longitudine moltiplicando lo spazio percorso (nuova velocità per periodo di campionamento) per il coseno e il seno dell'angolo rispetto al nord sommo queste due variazioni ed in teoria ho le nuove coordinate di longitudine e latitudine dove sbaglio?
__________________
E d'un tratto capii che il pensare è per gli stupidi, mentre i cervelluti si affidano all'ispirazione. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2005
Città: Gualdo Tadino, Perugia
Messaggi: 1692
|
se puoi ci sentiamo domattina, dalle 9 in poi sono collegato sia qui su hwupgrade che su msn
__________________
E d'un tratto capii che il pensare è per gli stupidi, mentre i cervelluti si affidano all'ispirazione. |
![]() |
![]() |
![]() |
#6 | |
Member
Iscritto dal: Jun 2004
Città: Provincia di Torino
Messaggi: 64
|
Quote:
Pensa di percorrere una curva a raggio costante e a velocita' costante. La velocita' tangenziale, quindi quella misurata dall'accelerometro longitudinale, e' costante, quindi non c'e' accelerazione e l'uscita dell'accelerometro e' zero. Al contrario, l'accelerometro laterale misura un'accelerazione costante (centripeta o centrifuga, fa lo stesso, cambia solo un segno). Se tu componi le due accelerazioni ottieni un vettore di modulo costante con direzione laterale, e basta. Fai poi tutti i tuoi calcoli e il risultato e' che ti sei spostato di lato senza rotazioni sull'asse verticale. Per quello ti dico che devi fare prima gli integrali. L'integrale dell'accelerazione, se l'accelerazione e' zero, non e' zero, ma un valore costante. Velocita' costante, appunto. L'integrale di una velocita' costante e' uno spazio che si incrementa. Devi riuscire a arrivare ai due vettori spazio e comporre quelli.
__________________
Marco - Hardware Upgrade Aerospace Group - Clan Anti K "per un mondo migliore" I am a leaf on the wind - watch how I soar. Get your motor runnin', Head out on the highway Lookin' for adventure And whatever comes our way. |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2005
Città: Gualdo Tadino, Perugia
Messaggi: 1692
|
si, ma io sto lavorando in tempo discreto, dove devo fare tutto sto lavoro ad ogni istante di campionamento!!!
aiutatemi per favore...
__________________
E d'un tratto capii che il pensare è per gli stupidi, mentre i cervelluti si affidano all'ispirazione. |
![]() |
![]() |
![]() |
#8 | |
Member
Iscritto dal: Jun 2004
Città: Provincia di Torino
Messaggi: 64
|
Quote:
E' quello che fanno gli inerziali. Non si tratta di inventare nessun concetto nuovo, ma di applicare quelli esistenti. Fai qualche ricerca per navigatori inerziali o INS.
__________________
Marco - Hardware Upgrade Aerospace Group - Clan Anti K "per un mondo migliore" I am a leaf on the wind - watch how I soar. Get your motor runnin', Head out on the highway Lookin' for adventure And whatever comes our way. |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2005
Città: Gualdo Tadino, Perugia
Messaggi: 1692
|
mi sa che allora non sono in grado di fare adeguatamente questo lavoro, ho cercato un pò ovunque su internet...
sto cercando di capire come fare quello che mi dici, ma non è così semplice... io ho ad esempio 65000 campioni relativi ad un circuito, questi campioni sono dei due accelerometri uno longitudinale alla macchine e l'altro trasversale! come unità di misura i valori hanno [g] il problema mi viene quando devo trovare l'angolo... in teoria se faccio arcotangente della componente trasversale/componente longitudinale non dovrei ottenere l'angolo di variazione della direzione?
__________________
E d'un tratto capii che il pensare è per gli stupidi, mentre i cervelluti si affidano all'ispirazione. |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2005
Città: Gualdo Tadino, Perugia
Messaggi: 1692
|
e comunque, scusami sul serio, ma non so come fare l'integrale dell'accelerazione, ad esempio l'accelerazione di 0.24 g verso x (longitudinale), 0.06 g verso y, la velocità allo step precedente era ad esempio 1 km/h, o se preferisci 1 m/s!
come faresti tu a trovare la nuova posizione ipotizzando che la posizione iniziale fosse (0,0)?
__________________
E d'un tratto capii che il pensare è per gli stupidi, mentre i cervelluti si affidano all'ispirazione. |
![]() |
![]() |
![]() |
#11 |
Member
Iscritto dal: Jun 2004
Città: Provincia di Torino
Messaggi: 64
|
L'integrazione la fai, per forza, tra due campioni successivi, applicando le formule della cinematica, oppure elettronicamente in analogico o digitale.
Supponiamo di applicare le formule e assumiamo anche che i campioni siano sufficientemente vicini nel tempo da poter trascurare il fatto che effettivamente l'auto si muova lungo una curva (quella complicazione aggiungila poi tu, se vuoi). Intanto converti i g in m/s^2. Basta moltiplicare per 9.8. Poi scegli se fare due passaggi (v=v0+at) o trovare direttamente lo spostamento s=v0t + 1/2 at^2. Lo fai per le due direzioni (in laterale assumi al primo giro v0 = 0) e componi i vettori spazio. Se preferisci la strada meno approssimata, ma piu' complicata, assumi che in presenza di accelerazione laterale il moto sia circolare (lo approssimi a circolare tra due campioni sufficientemente vicini nel tempo). L'accelerazione longitudinale e' l'accelerazione tangenziale, v0 e' la velocita' tangenziale iniziale, l'accelerazione laterale e' l'accelerazione centripeta. Ti manca il raggio, ma l'accelerazione centripeta nell'istante iniziale e' v0^2/r, per cui lo ricavi a ogni iterazione per quel tratto. Personalmente, considerato l'utilizzo e se i campioni sono vicini (che so, 0.1 secondi) trascurerei la curvatura e comporrei due moti rettilinei (gli spostamenti, non le accelerazioni). L'errore concettuale tanto lo fai gia' utilizzando queste formule invece del calcolo differenziale. Ma i risultati sono sufficientemente vicini alla realta', inutile andare a farsi male. Per l'angolo trovi l'angolo del segmento che congiunge il punto iniziale e quello finale di ogni tratto. Per utilizzare i valori del tuo esempio assumo che il tempo tra due campioni sia 0.1 secondi (il dato non c'e'). Assumo che la velocita' iniziale sia 1 km/h = 3.6 m/s. L'accelerazione longitudinale e' 0.24 g = 2.35 m/s^2 Assumo che positivo voglia dire verso destra, il dato manca. L'accelerazione laterale e' 0.06 g = 0.59 m/s^2. In senso longitudinale: s = 3.6 x 0.1 + 1/2 x 2.35 x 0.01 = 0.37 m In senso laterale: s = 1/2 x 0.59 x 0.01 = 0.03 m Queste sono le coordinate dopo 0.1 s. L'angolo e' l'arcotangente del rapporto tra delta longitudinale e delta laterale. In questo caso e' 85 gradi. Se devi riportarlo a angoli sulla bussola devi invertirlo di segno e aggiungere 90 gradi (nord = zero gradi e cresce in senso orario), quindi 5 gradi.
__________________
Marco - Hardware Upgrade Aerospace Group - Clan Anti K "per un mondo migliore" I am a leaf on the wind - watch how I soar. Get your motor runnin', Head out on the highway Lookin' for adventure And whatever comes our way. |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Apr 2005
Città: Gualdo Tadino, Perugia
Messaggi: 1692
|
le formule sono le stesse che ho adoperato io...
anche se sbagliavo il calcolo della distanza percorsa, il problema pare essere l'angolo! ogni volta che faccio una nuova misurazione, eseguo i calcoli necessari, mi calcolo l'angolo di variazione facendo l'arcotangente e sommo questa variazione all'angolo rispetto al nord (o comunque rispetto ad un riferimento) in modo da avere lo spostamento in un riferimento rispetto al nord (devo ragionare in longitudine e latitudine) ma le variazioni di angoli sono troppo elevate (a proposito il periodo di campionamento era proprio 0.1s), ad esempio dopo 500 campioni ho fatto un giro di 500 radianti, eppure i valori misurati dagli accelerometri sono corretti... mah, ti ringrazio non voglio tediarti oltre, cerco di risolvere il problema... grazie mille davvero per la tua disponibilità
__________________
E d'un tratto capii che il pensare è per gli stupidi, mentre i cervelluti si affidano all'ispirazione. |
![]() |
![]() |
![]() |
#13 |
Member
Iscritto dal: Jun 2004
Città: Provincia di Torino
Messaggi: 64
|
Scusa, ma sbagli l'angolo come conseguenza dell'errore sulla distanza percorsa.
__________________
Marco - Hardware Upgrade Aerospace Group - Clan Anti K "per un mondo migliore" I am a leaf on the wind - watch how I soar. Get your motor runnin', Head out on the highway Lookin' for adventure And whatever comes our way. |
![]() |
![]() |
![]() |
#14 |
Member
Iscritto dal: Jun 2004
Città: Provincia di Torino
Messaggi: 64
|
Inoltre l'angolo che calcoli tra due punti non e' una variazione, ma una direzione assoluta (ok, relativa a un riferimento, ma assoluta nel senso che non la sommi a quelle precedenti).
__________________
Marco - Hardware Upgrade Aerospace Group - Clan Anti K "per un mondo migliore" I am a leaf on the wind - watch how I soar. Get your motor runnin', Head out on the highway Lookin' for adventure And whatever comes our way. |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2005
Città: Gualdo Tadino, Perugia
Messaggi: 1692
|
tanto ci devo riuscire...
il fatto è che non tieni conto, nel tuo ragionamento, del movimento degli assi x e y... questi seguono l'andamento della macchina ed ogni volta si devono pesare i contributi rispetto al nord... ma è sempre un problema...
__________________
E d'un tratto capii che il pensare è per gli stupidi, mentre i cervelluti si affidano all'ispirazione. |
![]() |
![]() |
![]() |
#16 | |
Member
Iscritto dal: Jun 2004
Città: Provincia di Torino
Messaggi: 64
|
Quote:
Devi tenere conto ogni volta della direzione iniziale, azzerare tutto, fare i conti come se stessi andando verso nord e sommare poi nel modo giusto. Nell'esempio sarebbero 5 gradi piu' la direzione iniziale.
__________________
Marco - Hardware Upgrade Aerospace Group - Clan Anti K "per un mondo migliore" I am a leaf on the wind - watch how I soar. Get your motor runnin', Head out on the highway Lookin' for adventure And whatever comes our way. |
|
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Apr 2005
Città: Gualdo Tadino, Perugia
Messaggi: 1692
|
è quello che faccio, il problema è sempre la variazione ad ogni misurazione che p troppo elevata e piano piano mi fa variazioni troppo elevate...
ti ringrazio per l'aiuto. mi ci rimetto domani a mente fresca o semmai stasera!
__________________
E d'un tratto capii che il pensare è per gli stupidi, mentre i cervelluti si affidano all'ispirazione. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:14.