Go Down

Topic: Official topic: multicotteri con arduino! (Read 358574 times) previous topic - next topic

FEDERICO


fate attenzione quando usate il WMP!! quì http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Wii_Motion_Plus dice che ci sono 3 bit (uno per asse) detti di lentezza. Se sono a 0 l'asse è in lettura veloce, quindi sensibilità di 2.27mV/°/s, altrimenti la sensibilità è 0.5mV/°/s.
Quindi la lettura viene fortemente influenzata da questo particolare. In oltre la tolleranza è di 50mV. Il codice che mi son scritto per ricavare la velocità angolare in gradi:

Nel senso che non tutti i nintendo wmp sono uguali?
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

FEDERICO

Quindi se monti giroscopio, accelerometro, magnetometro, e' la morte sua...
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

superlol


Quindi se monti giroscopio, accelerometro, magnetometro, e' la morte sua...

manca solo un GPS con software adattato e sei a posto per creare un terminator schwarzenegger XD
http://www.aug-altogarda.it/ <- Il nuovo AUG per basso trentino e dintorni!

milvusmilvus

scusate ma il magnetometro, no indica l' orientamentno merso il nord?? cioè è una bussola

superlol


scusate ma il magnetometro, no indica l' orientamentno merso il nord?? cioè è una bussola

ma su 3 assi non hai una retta che ti indica il nord ma un punto preciso a nord, in base a questo trovi la sua inclinazione
http://www.aug-altogarda.it/ <- Il nuovo AUG per basso trentino e dintorni!

milvusmilvus

appunto mi chiedevo come facesse a orientarsi anche in verticale, evidentemente ha un giroscopio... con un oggetto del genere ed un gps si puo pensare di fare il uav come lo avevo pensato io qualche pagia fa, cioè calcola l' angolo rispetto al punto di arrivo e si muove in quella direzione finche non lo raggiunge

astrobeed


un magnetometro ti ritorna la posizione assoluta rispetto ad un punto  quindi hai un punto fisso e tu hai un'inclinazione rispetto a questo punto


Ti hanno spiegato molto male  :)
Il magnetometro, come dice il nome stesso, misura un campo magnetico, nel caso specifico quello terrestre, combinando la misura di due assi, X e Y, si ottiene una bussola elettronica che ti dice dove si trova il nord magnetico, però è fortemente influenzata dai campi magnetici e dalle masse ferromagnetiche presenti nei dintorni.
Una bussola elettronica è precisa solo se è perfettamente in bolla, l'eventuale inclinazione su uno degli assi influenza molto la direzione misurata del nord magnetico, per ovviare si utilizza un inclinometro per misurare il fuori bolla e correggere di conseguenza la lettura per ottenere il vero nord magnetico.
Nelle IMU il magnetometro si usa sia come inclinometro assoluto, molto efficace e non è influenzato dalle accelerazioni del mezzo, sia come bussola elettronica quando l'assetto non è troppo inclinato utilizzando i dati dell'accelerometro e del giroscopio per compensare l'errore dovuto all'inclinazione.
Lo so che sembra complicato, infatti lo è  :)

Quote

, mentre nel gioroscopio il punto sarebbe quello di partenza, hai un delta e non valore assoluto ovvero una variazione di inclinazione.


Il giroscopio misura la velocità angolare, è possibile ottenere l'angolo di rotazione integrando le letture, ma in brevissimo tempo, poche decine di secondi, si perde l'esatta misura dell'angolo di rotazione per tutta una serie di problemi legati al drift del sensore, il rumore, la quantizzazione, la velocità di campionamento etc.
Per ovviare si ricorre alla sensor fusion, cioè si utilizzano i dati di più sensori tra loro complementari per estrapolare il dato corretto e compensato, nel caso della IMU si utilizza un giroscopio e un accelerometro per ogni asse come minimo, se poi se si aggiunge anche il magnetometro, viene usato come inclinometro assoluto, si ottiene un'ottima precisione, e stabilità, nel rilevamento dell'assetto.
Una IMU fatta bene, sia come hardware che come software che gestisce i dati, permette di conoscere l'assetto del mezzo, la velocità di spostamento, la direzione di marcia e di stimare la posizione del mezzo nello spazio, cioè dove si trova rispetto al punto di partenza.

Scientia potentia est

lestofante


davvero interessante, ma che significa che è a tre assi??? ti dice anche l' inclinazione verso il terreno?

si, il nord magnetico, soprattutto alle nostre latitudini, è fortemente verso il basso (oltre che a nord).
Quindi il magnetometro oltre ad indicare il nord, quindi una lettura assoluta sullo YAW, fa anche da "aiuto" all'accelerometro


fate attenzione quando usate il WMP!! quì http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Wii_Motion_Plus dice che ci sono 3 bit (uno per asse) detti di lentezza. Se sono a 0 l'asse è in lettura veloce, quindi sensibilità di 2.27mV/°/s, altrimenti la sensibilità è 0.5mV/°/s.
Quindi la lettura viene fortemente influenzata da questo particolare. In oltre la tolleranza è di 50mV. Il codice che mi son scritto per ricavare la velocità angolare in gradi:

Nel senso che non tutti i nintendo wmp sono uguali?


no, nel senso che quando il WMP rileva di essere mosso in fretta, anzichè usare la scala "sensibile" passa alla scala "ampia", in modo da avere sempre una lettura corretta nelle rotazioni veloci, e precisa in quelle lente
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

astrobeed


Devo dire che i tre tizi sono veramente inquietanti...


Io trovo molto inquietante quello che si vede per primo, è il fratello gemello di Morticia Addams  :D
Scientia potentia est

astrobeed


per quello che posso capire computa l'orientamento dell'elicottero tramite due giroscopi:
uno per le due direzioni X-Y
- uno per la direzione Z


Nello schema a blocchi dell'elettronica c'è n giroscopio a tre assi, un accelerometro a tre assi e un processore ARM Cortex M3, praticamente la stessa cosa che si fa con un WMP più un Nunchuk, o altro accelerometro a 3 assi, e Arduino dotato di software MultiWii con la differenza che loro usano un buon processore a 32 bit.
Scientia potentia est

milvusmilvus



per quello che posso capire computa l'orientamento dell'elicottero tramite due giroscopi:
uno per le due direzioni X-Y
- uno per la direzione Z


Nello schema a blocchi dell'elettronica c'è n giroscopio a tre assi, un accelerometro a tre assi e un processore ARM Cortex M3, praticamente la stessa cosa che si fa con un WMP più un Nunchuk, o altro accelerometro a 3 assi, e Arduino dotato di software MultiWii con la differenza che loro usano un buon processore a 32 bit.


a questo punto si potrebbe usarequesto invece che il multiwii + nunchuk???'

a porposito di tipi inquietanti che posseggono un multicoso che ne pensate del cugino di sheldon???;
http://www.youtube.com/watch?v=3CPQgyGI0n4

ha fatto questo... http://www.rcexplorer.se/projects/tricopter/tricopter.html anche senz ausare arduino, ma ho cisto che molti hanno preso spunto da qui :D

astrobeed


a questo punto si potrebbe usarequesto invece che il multiwii + nunchuk???'


Il WMP + Nunchuk è solo un modo per risparmiare qualche Euro, in particolare il WMP ha un rapporto prezzo prestazioni ottimo, con circa 20 Euro ti ritrovi con un giroscopio a tre assi, già filtrato, tutto sommato decente e sufficiente per lo scopo, però c'è di meglio.
Per quanto riguarda l'utilizzo dell'accelerometro del Nunchuk lo sconsiglio sia perché la conversione è fatta solo a 10 bit, tanto vale usare direttamente l'ADC dell'ATmega, sia perchè un ADXL335 già saldato su una breakout board costa di meno ed è meno ingombrante.

Quote

ha fatto questo... http://www.rcexplorer.se/projects/tricopter/tricopter.html anche senz ausare arduino, ma ho cisto che molti hanno preso spunto da qui :D


Usano dei normali giroscopi per elicotteri, esattamente come fa GAUI 330, ottenendo solo la stabilizzazione degli assi, non hanno l'autolivellamento per il quale serve anche l'accelerometro.
Scientia potentia est

dab77

Perdonatemi una domanda da profano sul WMP (che è il WiiMote, giusto?), se ho capito è quello che ho io, cioè quello che si collega bluetooth.
se è così, vorrei sapere se la porta che ha 'sotto', serve solo a collegare i moduli aggiuntivi, o si può usare anche per leggere direttamente i segnali I2C del Wiimote stesso.

lo chiedo, perchè su linux ho difficoltà ad interfacciarlo in bluetooth con processing, e mi chiedevo se si potesse leggerlo direttamente con arduino senza passare per il bluetooth.
Grazie, Davide.

astrobeed


Perdonatemi una domanda da profano sul WMP (che è il WiiMote, giusto?), se ho capito è quello che ho io, cioè quello che si collega bluetooth.


No il WMP è il WiiMote PLUS, cioè un'estensione che colleghi al WiiMote alla porta che ha sul fondo, in particolare il WMP è un giroscopio a 3 assi che viene utilizzato dal WiiMote per migliorare la precisione di alcuni movimenti.

Quote

se è così, vorrei sapere se la porta che ha 'sotto', serve solo a collegare i moduli aggiuntivi, o si può usare anche per leggere direttamente i segnali I2C del Wiimote stesso.


Per quanto ne so io la porta sotto è di tipo master e non puoi leggere i dati del WiiMote, quelli li prendi solo tramite Bluetooth.

Quote

lo chiedo, perchè su linux ho difficoltà ad interfacciarlo in bluetooth con processing


Se ti può consolare è un problema anche con Windows.
Attenzione che non tutti i bluetooth sono compatibili con il WiiMote sia come hardware che come software, p.e. io ho due key usb bluetooth, entrambi di Sitecom anche se di diversi modelli, una funziona perfettamente con il WiiMote, l'altra lo vede, ma non si riesce a comunicare.

Scientia potentia est

dab77

ah, è vero, mi ero dimenticato della 'prolunga' (il WM+)

per la verità la comunicazione bluetooth va bene, quello che non riesco a capire sono le librerie.. non è spiegato per niente bene in giro come usarle e quali. oltretutto tutte le spiegazioni erano sul forum wiili, che è morto da un pò ed è andato quasi tutto perso, almeno le ultime discussioni..

ci sono tre librerie, una è la wrj4p5 di un giapponese, che però fa un pò acqua sulla lettura degli accelerometri.. poi c'è  la wiiremotej che non riesco a far funzionare e una Loc che non ho capito a cosa serve...
metti che c'è qualcuno linuxiano che le sa usare, mi fa un fischio?

Go Up