Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 02 settembre 17, 00:02   #11 (permalink)  Top
User
 
L'avatar di aero330
 
Data registr.: 03-09-2012
Residenza: Gubbio-Ravenna
Messaggi: 1.771
Per la mia tesi ho dovuto anche usare un raspberry con accelerometri, giroscopi e magnetometri montati a bordo per poi replicare i movimenti su pc con Matlab....per quanto su internet si riesca a trovare qualcosa, la matematica che ci sta dietro è alquanto complessa. Per il mio progetto ho trovato questo articolo che può darti qualche spunto, in cui vengonon mostrati i calcoli e le formule per arrivare a stimare gli angoli di pitch, roll e azimuth con solo accelerometro e magneometro (nel modello con gli apparati radio a bordo non è proprio idoneo quest'ultimo).
Utilizzando le formule opportune sono riuscito ad ottenere buoni risultati (anche se non era questo il focus della tesi) ma comunque utili per quello che mi serviva: unica condizione è che la scheda con a bordo i sensori deve muoversi molto lentamente perchè non ho compensato con i dati del giroscopio (mancanza di tempo)

Come dice El Nonino i dati vanno gestiti in modo adeguato con filtri (tipo Kalman) e quaternioni e secondo me non è semplice...ma comunque fattibile!!
__________________
Divertirsi insieme e con poco? Prova il combat! Curtman Squadron Combat
Sito Web: https://sites.google.com/site/curtmansquadroncombat/

Ultima modifica di aero330 : 02 settembre 17 alle ore 00:06
aero330 non è collegato   Rispondi citando
Vecchio 02 settembre 17, 13:47   #12 (permalink)  Top
Rivenditore - devCad
 
L'avatar di devCad
 
Data registr.: 04-12-2013
Messaggi: 1.265
Citazione:
Originalmente inviato da ElNonino Visualizza messaggio
Non ho chiaro cosa intendi per "logica Hold" se ti riferisci alla calibrazione a terra del velivolo come si fa con i multifrulli ruotandoli sui tre assi) e non sono nemmeno molto esperto di piattaforme inerziali però direi che interpolando i 3 assi di un giroscopio sia possibile, in assenza di variazioni di velocità significative da cui accelerazioni modeste, stabilire nello spazio l'orientamento di un piano.

Se poniamo riferiti all'accelerometro: asse X = rollio, asse Y = beccheggio , asse Z verticale anche in caso di virata a coltello avremo che l' asse Z indicherà l'accelerazione centrifuga (con segno opposto in caso di virata rovescia) e l'asse X l'accelerazione di gravità, mentre l'asse Y il relativo angolo di beccheggio.

Chiaramente è necessario filtrare i segnali dell'accelerometro applicando opportuni algoritmi, se già non li conosci dai un occhiata ai quaternioni.

IMHO.

La logica di tipo Hold e' quella che facendo di continuo l'integrale dei dati ricevuti da un giroscopio (quindi un accelerometro non lineare, ma angolare) calcola continuamente l'angolo di deviazione su quell'asse rispetto all'angolo di reset o di ultimo comando applicato.
Questo funziona solo su sensori di tipo giroscopico e non su accelerometri lineari.
I primi giroscopi per elicotteri rc si limitavano infatti a correggere l'imbardata istantanea e richiedevano un preciso trimmaggio. Tutti quelli meccanici ad esempio erano di questo tipo.
Poi sono arrivati quelli con logica Hold, in cui si poteva scegliere di 'tenere la coda fissa all'ultimo comando inviato'. Con questi non serve il trimmaggio, in quanto applicano a tempo indefinito la correzione necessaria per riportare all'ultimo angolo specificato dal comando ricevuto.
Un giroscopio di questo tipo lo si vede subito, in quanto se muoviamo manualmente la coda su un elicottero fermo posato a terra, il servo manda il comando lentamente ma inesorabilmente a fondo corsa, invece di dare un semplice impulso di correzione.

Sono arrivato a dire questo perche' l'asse di rollio di un aereo (caso preso in esame all'origine di questa discussione) e' analogo all'asse di imbardata di un elicottero, e per quel caso esiste una marea di documentazione su come affrontarlo.
Gli accelerometri lineari li vedo estremamenti inadatti allo scopo, anche perche', come gia' detto, su un aereo in virata corretta anche a 45 gradi indicherebbero inclinazione zero rispetto a terra (vedi pendolino in cabina).
Per calcolare l'angolo dovrebbero aggiungere l'incremento di componente verticale (riferirita al sistema di riferimento dell'aereo), ma poi si andrebbe ad incasinare con una eventuale accelerazione reale verticale, e quindi vi sono comunque piu' gradi di liberta' che valori ricevuti. Qualcosa di simile all'esperimento ideale base di Einstein sulle misurazioni fisiche possibili all'interno di un ascensore posto in un campo gravitazionale...
Naturalmente tutto quanto detto rispecchia il mio pensiero e quello che ho capito studiando questa problematica negli ultimi 15 anni.
I quaternioni li conosco piuttosto bene, sono il metodo di calcolo base che si usa nelle applicazioni di grafica 3D, ma non li vedo molto utili per risolvere i problemi descritti sopra.

Ultima modifica di devCad : 02 settembre 17 alle ore 13:53
devCad non è collegato   Rispondi citando
Vecchio 02 settembre 17, 15:13   #13 (permalink)  Top
User
 
L'avatar di ElNonino
 
Data registr.: 06-05-2007
Residenza: Tre Ville (Preore)
Messaggi: 3.605
Invia un messaggio via MSN a ElNonino
Citazione:
Originalmente inviato da devCad Visualizza messaggio
La logica di tipo Hold e' quella che facendo di continuo l'integrale dei dati ricevuti da un giroscopio (quindi un accelerometro non lineare, ma angolare) calcola continuamente l'angolo di deviazione su quell'asse rispetto all'angolo di reset o di ultimo comando applicato.
Questo funziona solo su sensori di tipo giroscopico e non su accelerometri lineari.
I primi giroscopi per elicotteri rc si limitavano infatti a correggere l'imbardata istantanea e richiedevano un preciso trimmaggio. Tutti quelli meccanici ad esempio erano di questo tipo.
Poi sono arrivati quelli con logica Hold, in cui si poteva scegliere di 'tenere la coda fissa all'ultimo comando inviato'. Con questi non serve il trimmaggio, in quanto applicano a tempo indefinito la correzione necessaria per riportare all'ultimo angolo specificato dal comando ricevuto.
Un giroscopio di questo tipo lo si vede subito, in quanto se muoviamo manualmente la coda su un elicottero fermo posato a terra, il servo manda il comando lentamente ma inesorabilmente a fondo corsa, invece di dare un semplice impulso di correzione.

Sono arrivato a dire questo perche' l'asse di rollio di un aereo (caso preso in esame all'origine di questa discussione) e' analogo all'asse di imbardata di un elicottero, e per quel caso esiste una marea di documentazione su come affrontarlo.
Gli accelerometri lineari li vedo estremamenti inadatti allo scopo, anche perche', come gia' detto, su un aereo in virata corretta anche a 45 gradi indicherebbero inclinazione zero rispetto a terra (vedi pendolino in cabina).
Per calcolare l'angolo dovrebbero aggiungere l'incremento di componente verticale (riferirita al sistema di riferimento dell'aereo), ma poi si andrebbe ad incasinare con una eventuale accelerazione reale verticale, e quindi vi sono comunque piu' gradi di liberta' che valori ricevuti. Qualcosa di simile all'esperimento ideale base di Einstein sulle misurazioni fisiche possibili all'interno di un ascensore posto in un campo gravitazionale...
Naturalmente tutto quanto detto rispecchia il mio pensiero e quello che ho capito studiando questa problematica negli ultimi 15 anni.
I quaternioni li conosco piuttosto bene, sono il metodo di calcolo base che si usa nelle applicazioni di grafica 3D, ma non li vedo molto utili per risolvere i problemi descritti sopra.
Capito cosa intendi per logica Hold, la conosco benino visto che di elicotteri ne ho un discreto numero da molti anni e ci ho volato/volo spesso.....

Dissento invece sul resto, un accelerometro a 3 assi è sempre in grado di indicare l'inclinazione sull'asse di rollio.

In volo rettilineo dritto a quota costante, con ali livellate l'asse z dell' accelerometro misurerà l'accelerazione di gravità con segno positivo, gli assi x ed y avranno uscita pari a 0.

Nelle stesse condizioni ma in volo rovescio l'asse z misurerà l'accelerazione di gravità ma con segno negativo, gli altri assi daranno 0.

in caso di virata a velocità costante con il resto nelle stesse condizioni precedenti (quindi ignorando il valore momentaneo di accelerazione) l'asse z indicherà l'accelerazione centrifuga mentre quello x restituirà un valore positivo o negativo a seconda del verso della virata.

Lo stesso concetto si applica per l'asse y, quindi interpolando i valori dei tre assi si conoscerà l'esatta inclinazione del piano del velivolo nello spazio.

Campionando i segnali velocemente rispetto alla velocità del mezzo e calcolando la derivata prima e seconda sui tre assi è possibile ottenere la posizione anche in presenza di accelerazioni, se poi si fondono i dati dell'accelerometro con quelli di un giroscopio a tre assi.....

Per inciso nel mio sistema di antirotazione per le barelle (brevettato) uso un accelerometro a 3 assi ed un giroscopio ad un asse e posso garantirti che funziona sia durante le operazioni in hovering che in volo traslato.

Utilizzo da nove anni un semplice accelerometro a 3 assi anche per misurare l'inclinazione verticale dei pannelli FV del mio sistema di Suntracking in baita, onde poterli posizionare ad angoli ben precisi in caso di vento, neve o particolari condizioni di insolazione.

__________________
Peace & Love
Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein)
ElNonino non è collegato   Rispondi citando
Vecchio 02 settembre 17, 17:01   #14 (permalink)  Top
User
 
L'avatar di ElNonino
 
Data registr.: 06-05-2007
Residenza: Tre Ville (Preore)
Messaggi: 3.605
Invia un messaggio via MSN a ElNonino
Addendum...

Chiaramente per mantenere una velocità di rotazione nulla intorno ad un asse basta un giroscopio e questo vale sia per la rotazione della coda di un elicottero che per un qualsiasi asse di un velivolo, è la filosofia utilizzata dai vari stabilizzatori Safe o 3GX.

Il miglior risultato lo si ottiene chiaramente, come già detto, con gyro + acc a 3 assi.

__________________
Peace & Love
Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein)
ElNonino non è collegato   Rispondi citando
Vecchio 03 settembre 17, 01:24   #15 (permalink)  Top
Rivenditore - devCad
 
L'avatar di devCad
 
Data registr.: 04-12-2013
Messaggi: 1.265
Citazione:
Originalmente inviato da ElNonino Visualizza messaggio
...
Dissento invece sul resto, un accelerometro a 3 assi è sempre in grado di indicare l'inclinazione sull'asse di rollio.
...
Ok.

Se hai 3 accelerometri lineari che ti danno questi valori:
x = 0.0 g
y = 0.0 g
z = 1.2 g

come stabilisci se il modello e' in virata o sta accelerando verso l'alto?

Io non saprei dirlo.
devCad non è collegato   Rispondi citando
Vecchio 03 settembre 17, 13:12   #16 (permalink)  Top
User
 
L'avatar di sub53
 
Data registr.: 05-02-2005
Residenza: Milano
Messaggi: 1.351
Citazione:
Originalmente inviato da devCad Visualizza messaggio
Ok.

Se hai 3 accelerometri lineari che ti danno questi valori:
x = 0.0 g
y = 0.0 g
z = 1.2 g

come stabilisci se il modello e' in virata o sta accelerando verso l'alto?

Io non saprei dirlo.
Sono davvero curioso di leggere la soluzione, ho giocato/lavorato un poco sulla stabilizzazione e per la mia, modesta, esperienza il gyro è essenziale ma sono sempre pronto ad imparare qualcosa di nuovo !
sub53 non è collegato   Rispondi citando
Vecchio 09 settembre 17, 16:52   #17 (permalink)  Top
User
 
L'avatar di ElNonino
 
Data registr.: 06-05-2007
Residenza: Tre Ville (Preore)
Messaggi: 3.605
Invia un messaggio via MSN a ElNonino
Citazione:
Originalmente inviato da devCad Visualizza messaggio
Ok.

Se hai 3 accelerometri lineari che ti danno questi valori:
x = 0.0 g
y = 0.0 g
z = 1.2 g

come stabilisci se il modello e' in virata o sta accelerando verso l'alto?

Io non saprei dirlo.
Chiaramente i 3 valori sono quelli iniziali con il modello in piano e fermo, e da questi si parte a campionarli ad intervallo di tempo costante.

Allora se accelera verso l'alto con ali in piano ci sarà solo una variazione iniziale dell'asse z che andrà ad azzerarsi quando il rateo di salita (velocità asse z) diverrà costante ma avendo integrato i valori letti potremo ricavare la velocità ed in caso di variazioni della lettura sapremo anche se sta in hovering o se casca.....

In virata piatta avremo che l'asse x avrà una variazione iniziale per poi stabilizzarsi su un valore proporzionale all'accelerazione centrifuga (con segno diverso se cw o ccw), inoltre anche l'asse y avrà variazioni iniziali proporzionali al verso della virata mentre z resterà costante; nella classica virata avremo che varieranno tutti e tre gli assi e queste variazioni, diverse, le troveremo anche in virata con spirale in salita/discesa.

La similitudine con un pendolo ad infiniti gradi di libertà forse non si adatta bene a rappresentare un accelerometro a 3 assi, forse è più adatto immaginarlo come 3 pendoli vincolati con un solo grado di libertà.

E' chiaro che per interpretare i dati e quindi ricavare l'assetto del velivolo e la direzione e velocità del suo moto è necessaria tanta matematica (meglio se in floating point....) e potrebbero esserci casi particolari in cui il risultato non è univoco.

Un grosso limite degli accelerometri è quello dato dalla non linearità degli stessi (ha andamento sinusoidale e per avere valori precisi già solo di angolo statico richiede l'uso di tabelle di linearizzazione per ogni singolo asse ed interpolazione).

Su Wiki si trovano sintetizzate formule interessanti: https://it.wikipedia.org/wiki/Equazione_del_moto che sono utilizzate/implementate anche in sensori evoluti come questo (anche se definito obsoleto): ADIS16305 Datasheet and Product Info | Analog Devices


__________________
Peace & Love
Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein)
ElNonino non è collegato   Rispondi citando
Vecchio 10 settembre 17, 19:43   #18 (permalink)  Top
User
 
L'avatar di sub53
 
Data registr.: 05-02-2005
Residenza: Milano
Messaggi: 1.351
Citazione:
Originalmente inviato da ElNonino Visualizza messaggio
Chiaramente i 3 valori sono quelli iniziali con il modello in piano e fermo, e da questi si parte a campionarli ad intervallo di tempo costante.

Allora se accelera verso l'alto con ali in piano ci sarà solo una variazione iniziale dell'asse z che andrà ad azzerarsi quando il rateo di salita (velocità asse z) diverrà costante ma avendo integrato i valori letti potremo ricavare la velocità ed in caso di variazioni della lettura sapremo anche se sta in hovering o se casca.....

In virata piatta avremo che l'asse x avrà una variazione iniziale per poi stabilizzarsi su un valore proporzionale all'accelerazione centrifuga (con segno diverso se cw o ccw), inoltre anche l'asse y avrà variazioni iniziali proporzionali al verso della virata mentre z resterà costante; nella classica virata avremo che varieranno tutti e tre gli assi e queste variazioni, diverse, le troveremo anche in virata con spirale in salita/discesa.

La similitudine con un pendolo ad infiniti gradi di libertà forse non si adatta bene a rappresentare un accelerometro a 3 assi, forse è più adatto immaginarlo come 3 pendoli vincolati con un solo grado di libertà.

E' chiaro che per interpretare i dati e quindi ricavare l'assetto del velivolo e la direzione e velocità del suo moto è necessaria tanta matematica (meglio se in floating point....) e potrebbero esserci casi particolari in cui il risultato non è univoco.

Un grosso limite degli accelerometri è quello dato dalla non linearità degli stessi (ha andamento sinusoidale e per avere valori precisi già solo di angolo statico richiede l'uso di tabelle di linearizzazione per ogni singolo asse ed interpolazione).

Su Wiki si trovano sintetizzate formule interessanti: https://it.wikipedia.org/wiki/Equazione_del_moto che sono utilizzate/implementate anche in sensori evoluti come questo (anche se definito obsoleto): ADIS16305 Datasheet and Product Info | Analog Devices


Quindi concordi che alla fine è più pratico usare i gyro
sub53 non è collegato   Rispondi citando
Vecchio 10 settembre 17, 20:32   #19 (permalink)  Top
User
 
L'avatar di ElNonino
 
Data registr.: 06-05-2007
Residenza: Tre Ville (Preore)
Messaggi: 3.605
Invia un messaggio via MSN a ElNonino
Citazione:
Originalmente inviato da sub53 Visualizza messaggio
Quindi concordi che alla fine è più pratico usare i gyro
Anche con i Gyro devi usare tanta matematica, per sapere l'angolo d'inclinazione su un asse devi partire da una velocità angolare e dal tempo, con gli accelerometri usa un accelerazione ed il tempo, in un caso integri nell'altro differenzi.

L'accelerometro in più può fornire anche una velocità stimata sull'asse del moto mentre il gyro no perchè lavora sulla velocità angolare quindi se vuoi tenere ferma la coda di un eli ok per gyro se vuoi tenere in piano e fermo un eli od un multirotore meglio l'accelerometro.

Nel mio sistema antirotazione delle barelle uso quella piattaforma inerziale citata perchè con due assi dell'accelerometro compenso l'inclinazione della barella sull'asse di rollio (varia a seconda del peso del soccorritore e se dx o sx) indispensabile affinchè l'ala in assenza di rotazione resti verticale, mentre il gyro mi permette di contrastare e azzerare la rotazione indotta dal flusso circolare rotorico dell'elicottero.

__________________
Peace & Love
Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein)
ElNonino non è collegato   Rispondi citando
Vecchio 11 settembre 17, 02:54   #20 (permalink)  Top
User
 
L'avatar di sub53
 
Data registr.: 05-02-2005
Residenza: Milano
Messaggi: 1.351
Citazione:
Originalmente inviato da ElNonino Visualizza messaggio
Anche con i Gyro devi usare tanta matematica, per sapere l'angolo d'inclinazione su un asse devi partire da una velocità angolare e dal tempo, con gli accelerometri usa un accelerazione ed il tempo, in un caso integri nell'altro differenzi.

L'accelerometro in più può fornire anche una velocità stimata sull'asse del moto mentre il gyro no perchè lavora sulla velocità angolare quindi se vuoi tenere ferma la coda di un eli ok per gyro se vuoi tenere in piano e fermo un eli od un multirotore meglio l'accelerometro.

Nel mio sistema antirotazione delle barelle uso quella piattaforma inerziale citata perchè con due assi dell'accelerometro compenso l'inclinazione della barella sull'asse di rollio (varia a seconda del peso del soccorritore e se dx o sx) indispensabile affinchè l'ala in assenza di rotazione resti verticale, mentre il gyro mi permette di contrastare e azzerare la rotazione indotta dal flusso circolare rotorico dell'elicottero.

La soluzione migliore e più semplice, per me e per la mia esperienza ovviamente, sono 3 gyro + 3 accelerometri... ed eventualmente un magnetometro a 3 assi, per correggere gli errori nel lungo periodo sulla rotazione dell'asse verticale, ma sicuramente ci sono scelte migliori .... forse
sub53 non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
T REX 500/T REX 450/ GYRO ALIGN GP 780/GYRO SPARTAN DS 760/rx spektum zeus463 Merc. Elimodellismo 3 12 marzo 13 11:02
Distinguere mini elicottero con gyro e senza gyro e-falcon Elimodellismo Principianti 42 30 gennaio 12 15:42



Tutti gli orari sono GMT +2. Adesso sono le 16:45.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002