Stabilizzazione orizzontale supporto camera

Salve a tutti, sono nuovo nuovo!
Avrei bisogno di un consiglio da voi esperti per realizzare quanto scritto nel titolo, ovvero un supporto autolivellante da montare sulla moto, in modo che quando scende in piega la camera rimanga (per quanto possibile) orizzontale, ossia stabilizzata su un solo asse.

Ho provato con un giroscopio meccanico composto da motorini di vecchi CDrom ma con scarsi risultati.

Leggendo un pò di discussioni qui sul forum credo che l'accoppiata Arduino più una scheda IMU faccia al caso mio, il problema è che la mia conoscenza in ambito di programmazione è quasi nulla.
Diciamo che sono rimasto fermo al Commodore64! Ma la voglia di apprendere è tanta e vorrei provare a realizzare questo progettino.

In teoria per realizzare il tutto dovrebbe bastare un accelerometro su due assi, uno per misurare l'inclinazione e l'altro per misurare la forza centrifuga che si presenta in curva, che ne pensate?

Il problema vedo nella programmazione per eliminare vibrazioni, colpi e variazioni troppo brusche per avere un movimento fluido e non troppo nervoso del motore che tiene la videocamera in orizontale.
Ciao Uwe

Ciao Uwe, si potrebbe fare una media abbastanza lunga sui valori misurati in moto da smorzare un pò le brusche variazioni, oppure che vengano tralasciate oscillazioni troppo improvvise in un certo range di tempo, non mi interessa che sia super reattivo il livellamento ma piuttosto morbido, potrebbe essere un'idea valida?
Per ammortizzare i colpi e le vibrazioni potrei montare il tutto su supporti apposta per smorzarle nel limite del possibile, ho recuperato dei gommini in silicone dai CDRom davvero adatti allo scopo.

Riguardo ai sensori questa scheda IMU dovrebbe essere sufficente?
IMU 6 DOF

Con questa e Arduino UNO dovrei essere a posto giusto?

Scusate per le troppe domande ma ho troppa voglia di mettermi all'opera.

È una moto da strada o volevi usare la videocamera su un enduro fuoristrada?
Il problema é proprio quello. Il posizionamento deve essere non troppo lento e non troppo velove, un valore in mezzo che va bene. Trovarlo!!
Se troppo lento é peggio di non avere niente. Guardando il filmato Ti viene il mal di mare. Troppo veloce ti reagisce a ogni piccolo urto o imperfezione della strada. Devi trovare un valore intermedio facendo delle prove pratiche.
La schedina IMU che proponi misura troppo per il Tuo uso. Ti serve un giroscopio solo in un direzione e niente accelerometri. Quelli non sono attendibili visto le forze di acelerazione del moto non rettilineo durante le curve.
http://www.robot-italy.com/product_info.php?cPath=15_137&products_id=1689 potrebbe andare bene.
Ciao Uwe

E' una moto da strada, per i valori mi divertirò a trovare quelli giusti :smiley:

Leggendo in giro avevo pensato a degli accelerometri perchè dicono che i giroscopi dopo un pò accumulano errori e perdono l'orientamento rispetto al terreno falsando così la linea dell'orizzonte.
Sicuramente dovrò calcolare anche la forza centrifuga per correggere l'assetto che non sarebbe ideale altrimenti, per quello che pensavo a quella scheda, anche per applicazioni future magari.
Nel mio caso basterebbe escludere dai collegamenti gli assi non utilizzati per non complicarmi la vita con inutili misurazioni?

L' accelerometro non funziona perché la forza centrifuga nelle curve falsifica la lettura. Se ti inclini nella curva lo fai in modo che la forza centrifuga della curva equivale alla forza di gravitá percui l' accelerometro direbbe che sei in orizontale. (spero che i miei raggionamenti siano giusti).
Quel modulo che hai proposto costra il doppio di un modulo giroscopio.
Non ho esperienza cos'é la soluzione migliore.
Ciao Uwe

Ho sentito che nel moto GP, usavano un sistema con sensori, ma poi sono passati ad un sistema a bolla, questo penso per l'orizzonte, ma anche per le micro vibrazioni, però ne hanno fatto c'ènno gli speaker, Reggiani e Meda, ma non so quanto ci sia di vero e come è fatto, però funziona bene ed offre immagini spettacolari ed emozionanti, sembra di stare in sella.

Valentino va lentino sulla Ducati, non vedo l'ora che mette a posto sta moto, speriamo in bene.

Ciao.

l'ideale è un'accoppiata accelerometro + giroscopio.
La IMU è troppo perché quelle sono a 3 assi, a te ne basta uno solo.
in pratica, normalmente ti basi solo sull'accelerometro (quando la forza che rileva è simile a 1G e il giroscopio ha le sue normali piccole oscillazioni).
quando farai le curve, l'accelerometro "impazzirà" (non è vero, ma per capirci valori differenti da 1G e alti valori di giroscopio) e basi la tua lettura sul giroscopio.
Poi volendo aumentare la precisione, anziché basarti su un solo sensore alla volta puoi "incrociare" i dati con degli algoritmi come il filtro di kallmann o la direct cosine matrix.

In tutti i modi hai un sistema che attraverso il giroscopio segue bene le curve, e grazie all'accelerometro ritorna sempre ben livellato. Cambia solo la precisione e i tempi di risposta.

Accelerometri economici (3 assi) sono i nunchuck, per i giroscopi i motion plus (sempre 3 assi). Per gli algoritmi di stabilizzazione guarda i quadricotteri, in particolare il wiicopter che usa proprio questi componenti come default... ma non credere sia una cosa facile

@MauroTec: credo che i sistemi a bolla abbiano gli stessi identici problemi degli accelerometri. Direi che il sistema migliore sia un giroscopio meccanico, che però in determinati casi soffre di gimbal lock (perdita degli assi di liberà)

Grazie ragazzi, in tuo ragionamento lesto è quello a cui sono arrivato anch'io, l'usare l'accelerometro per tornare in orizzontale credo che sia la soluzione migliore.
La Wii ce l'avevo ma l'ho venduta!
Al giroscopio meccanico avevo già pensato, ho fatto anche delle prove ma risultava troppo ingombrante e complicato da mettere a punto.

Vedendo la realizzazione di un quadricottero e pensando a quello che devo fare io mi viene da dire che le difficoltà dovrebbero essere minori, visto che devo stabilizzare un solo asse...si vedrà più avanti, comunque resta una sfida stimolante!

Vorrei mostrarvi un video che mostra il mio scopo:

In un forum di modelliamo l'autore dice di usare un giroscopio e un accelerometro a 2 assi (anche se il video è intitolato 1 DOF, chi me la spiega questa?), se osservate simula anche i movimenti che potrebbe avere una moto, come la forza laterale e verticale rispondendo perfettamente.

esistono dei sensori che leggono la linea dell'orizzonte e vengono usati in campo aeronautico ma ci sono anche per uso hobbystico. però giuro che non mi ricordo il nome.
atrimenti ti fai tu un sistema giroscopico con 2 sfere una dentro l'altra lubrificate molto di cui quella più interna abbia un peso consistente sotto la telecamera, quella più esterna la fissi alla moto così quella interna gira stando sempre rivolta parallela all'orizzonte.
questo sistema veniva utilizzato per gli inclinometri meccanici degli aerei anche se più avanzato in quanto per un aereo veniva anche tolta l'aria e così via ma per creare 2 sfere non credo sia difficile :wink:

superlol:
atrimenti ti fai tu un sistema giroscopico con 2 sfere una dentro l'altra lubrificate molto di cui quella più interna abbia un peso consistente sotto la telecamera, quella più esterna la fissi alla moto così quella interna gira stando sempre rivolta parallela all'orizzonte.

Non funziona. Nelle curve c'é la forza centrifuga che piega il Tuo sistema.
Se vuoi verificarlo prendi un pezzo di spago con un peso e come copilota lo guardi mentre la macchina fa curve. Se hai ragione Tu il peso dovrebbe stare fermo e non oscillare.

Ciao Uwe

no non hai capito uwe, in pratica la forza centrifuga che dici tu tende a spingere il corpo verso l'esterno della curva ed è pari e opposta alla forza centripeta se vuoi calcolare la forza cetrifuga la formula è massa per velocità al quadrato fratto il raggio della curva.
e questa non arriva a piegare il sistema se fissato bene, invece si potrebbe avere che nelle frenate e accelerazioni la sfera interna oscilli anche in avanti e indietro e per rimediare potresti fare unvece che 2 sfere 2 cilindri e allora il movimento rotatorio sarebbe vincolato solo su 1 asse.
ora in elettronica non sarò bravo ma in meccanica e fisica me la cavo egregiamente :smiley:
se intendi il peso comunque conta che è una moto che piega in curva e per quello le riprese verrebbero forse anche più fluide :wink: e questo sistema è utilizzato ad hollywood, o comunque è un sistema simile per le riprese di inseguimenti in moto

superlol:
no non hai capito uwe, in pratica la forza centrifuga che dici tu tende a spingere il corpo verso l'esterno della curva ed è pari e opposta alla forza centripeta se vuoi calcolare la forza cetrifuga la formula è massa per velocità al quadrato fratto il raggio della curva.
e questa non arriva a piegare il sistema se fissato bene, invece si potrebbe avere che nelle frenate e accelerazioni la sfera interna oscilli anche in avanti e indietro e per rimediare potresti fare unvece che 2 sfere 2 cilindri e allora il movimento rotatorio sarebbe vincolato solo su 1 asse.
ora in elettronica non sarò bravo ma in meccanica e fisica me la cavo egregiamente :smiley:
se intendi il peso comunque conta che è una moto che piega in curva e per quello le riprese verrebbero forse anche più fluide :wink: e questo sistema è utilizzato ad hollywood, o comunque è un sistema simile per le riprese di inseguimenti in moto

Il punto di fissaggio sulla moto é fisso e fermo.
Il sistema (videocamera piú ispositivo per tenerla orizontale) come lo descrivi é un pendolo con un cusinetto dato da 2 superfici circolari o sferice ( a secondo della scelta se cilindro o sfera) e un peso montato e dimensionato in modo che il baricentro é piú basso dell'asse. Per questo il sistema se é fermo é sempre in bolla indipendentemente dalla rotazione del punto di fissaggio (nel Tuo caso la sfera o cilindro esterno).
Se il sitema é in moto accelerato (accelarazione, frenate o moto curvilineo) ho delle forze dato dall'inerzia del peso del sistema (nelle accelerazioni e frenate) e centrifugali nel caso di curve.

L'asse veticale del sistema si inclinerá in modo che il momento dato dalla forza centrifuga si equivale al momento dato dalla forza gravizionale del peso del sistema.

Se vai in moto nelle curve la inclini in modo che la forza risultante dalla forza centrifuga e dalla forza di gravità va cadere nella superfice del pneumatico che tocca la strada.

Ciao Uwe

è ovvio questo e infatti il peso deve essere proporzionato alla forza con un braccio della leva calcolato giusto in modo che non offra ne troppa ne troppo poca leva e come già detto il peso dev'essere sufficiente quindi superiore alla forza centifuga e su quello ti do ragione, scusa se mi sono spiegato male :wink:
comunque rimane che anche utilizzando il metodo del giroscopio e arduino le vibrazioni possono essere rimosse magari con un software di video editing, insomma è un costo in più ma io l'estate racimolo soldi facendo riprese e montandole per un'azienda e beh quando sei su un gommone a riprendere i windsurf e le onde vengono contro le riprese vengono molto mosse ma con i giusti software la vibrazione risulta minima quasi impercettibile (e funziona anche con riprese da elicotteri!!!)

Ho già provato con un sistema meccanico e se perfezionato funziona anche ma risulta molto ingombrante.

Vi posto un video, scusate per l'intromissione dei miei gatti e il mio ansimare orgasmico ma mi stavo spaccando le dita, la risoluzione è orribile ma il mio cel più di questo fa:

Oscilla parecchio, un pò a causa del cuscinetto che non è propio scorrevolissimo, un pò per il vento e un pò per i fili che stavano in mezzo alle scatole e si tiravano dietro il tutto.
Stavo pensando di sostituire i cd con delle rondelle in acciaio, molto più pesanti e meno ingombranti ma non saprei come fissarle all'alberino dei motori

A parte questo volevo adottare un sistema elettronico per via della praticità che offre anche in caso di sostituzione della camera con una di diverso peso, in un sistema meccanico sarebbe da rivedere la distribuzione dei pesi tutte le volte...

Detto questo ricapitolando in teoria mi serve:

Giroscopio per misurare l'inclinazione sull'asse X
Accelerometro su asse Y per misurare la forza centrifuga in modo che quando è prossima a 0 il sistema si rimetta orizzontale
Accelerometro su asse Z per misurare la forza di gravità in modo che quando è 1g il sistema si rimetta orizzontale

In questo modo dovrei riuscire a eliminare un'eventuale errore accumulato dal giroscopio che a lungo andare mi farebbe perdere la "bolla"
Così dovrebbe funzionare anche indipendentemente dalle forze di accelerazione e decelerazione frontali livellandosi anche in salita o discesa, tipiche delle strade collinari, che ne dite ci siamo?

Adesso non mi resta che trovare una scheda IMU con questi sensori o prenderli separatamente, anche se nell'ultimo caso andrei a spendere di più che la IMU 6 DOF postata qualche messaggio fa...

mi è appena venuto in mente:
steadicam mai sentito? viene usata in maniera spopositata in riprese video io ho avuto il piacere di provare la flycam nano e beh se tarata bene è perfetta a mio parere.

paglia80:
Detto questo ricapitolando in teoria mi serve:

Giroscopio per misurare l'inclinazione sull'asse X

non misuri l'inclinazione, ma la variazione di inclinazione.

paglia80:
Accelerometro su asse Y per misurare la forza centrifuga in modo che quando è prossima a 0 il sistema si rimetta orizzontale
Accelerometro su asse Z per misurare la forza di gravità in modo che quando è 1g il sistema si rimetta orizzontale

non servono 2 accelerometri, ne basta uno che misura l'inclinazione dell'asse Y. Se il suo output fosse compreso tra -1G e 1G (per sapere se sta agendo della forza centrifuga basta il giroscopio) il coseno del valore (o era il seno?) ti restituisce l'angolo.

Se usi le funzioni matematiche sin() e cos() di arduino occhio che NON lavori in gradi MA in radianti, quindi anche il valore letto dal giroscopio, secondo il datascheet, va calcolato in radianti al secondo.
A questo punto fai qualche prova a giroscopio fermo, noterai che non sarà mai 0 ma sballerà un poco. Allora dirai al tuo arduino che se il giroscopio è nella zona "di sballo" di fidarsi della lettura accelerometrica, se invece esce dalla zona (può uscirne sia in positivo che in negativo, dipende se stai curvando a destra o sinistra), di sommare all'ultimo angolo rilevato la lettura giroscopica moltiplicata per 1/frequenza di aggiornamento del giroscopio ( o meglio del loop() ), stai effettuando un'integrazione!

edit: do per scontato che la moto si muova lungo l'asse X

@superlol

Ci ho già provato ma s'innescano movimenti incontrollabili a meno che non ti fermi e aspetti che si ristabilizzi il tutto :frowning:

@lele

Si la moto si muove sull'asse X ma mi sono dimenticato di dirvi una cosa importate su un movimento in particolare che compie la moto in fase di frenata, in pratica si effettua una derapata, questo per farvi un'esempio:

dal minuto 1.30 in poi si vede bene, questo movimento andrebbe a sballare i calcoli sulla forza centrifuga?

Questo mio ragionamento:

Giroscopio per misurare l'inclinazione sull'asse X
Accelerometro su asse Y per misurare la forza centrifuga in modo che quando è prossima a 0 il sistema si rimetta orizzontale
Accelerometro su asse Z per misurare la forza di gravità in modo che quando è 1g il sistema si rimetta orizzontale

In questo modo dovrei riuscire a eliminare un'eventuale errore accumulato dal giroscopio che a lungo andare mi farebbe perdere la "bolla"
Così dovrebbe funzionare anche indipendentemente dalle forze di accelerazione e decelerazione frontali livellandosi anche in salita o discesa, tipiche delle strade collinari, che ne dite ci siamo?

é stato fatto con l'idea di montare i sensori direttamente sul supporto che andrà a ruotare invece che sulla moto, in questo modo non dovrebbero risultare più semplici i calcoli da fare per farlo funzionare al meglio?

lesto toglimi una curiosità, in che modo il giroscopio riesce a misurare la forza centrifuga?

Ho cercato un pò in giro per i sensori ma li trovo solo separatamente e non propio a buon mercato :frowning:

errore mio, col giroscopio vedi che ti stai cambiando la tua inclinazione, per la forza centrifuga vedi l'accelerometro che ha valori sballati.

La derapata non influisce, o meglio ce ne possiamo fregare (se non erro diminuisce la forza centrifuga rilevata perché ne segue la direzione)

é stato fatto con l'idea di montare i sensori direttamente sul supporto che andrà a ruotare invece che sulla moto, in questo modo non dovrebbero risultare più semplici i calcoli da fare per farlo funzionare al meglio?

non cambia molto se l'attuatore (il motore che tiene ferma la camera) è preciso. Altrimenti montare il sensore relativo alla camera e non alla moto rende più precisa la lettura, ma non cambia nulla dal punto di vista dei sensori:
sensori relativi alla camera:
devi manovrare il motore per mantenere l'angolo sempre a 0: quindi anche se tieni la moto inclinata (da fermo) l'accelerometro dovrebbe leggere un angolo 0 gradi
sensori relativi alla moto:
devi manovrare il motore per mantenere l'angolo sempre uguale all'angolo rilevato: quindi se tieni la moto inclinata (da fermo) l'accelerometro dovrebbe leggere un angolo X gradi e manovrare l'attuatore di conseguenza.

edit: comunque essere relativi alla camera mi pare più comodo e preciso come metodo

errore mio, col giroscopio vedi che ti stai cambiando la tua inclinazione, per la forza centrifuga vedi l'accelerometro che ha valori sballati.

Mi avevi mandato in palla :smiley:

non cambia molto se l'attuatore (il motore che tiene ferma la camera) è preciso. Altrimenti montare il sensore relativo alla camera e non alla moto rende più precisa la lettura, ma non cambia nulla dal punto di vista dei sensori:
sensori relativi alla camera:
devi manovrare il motore per mantenere l'angolo sempre a 0: quindi anche se tieni la moto inclinata (da fermo) l'accelerometro dovrebbe leggere un angolo 0 gradi
sensori relativi alla moto:
devi manovrare il motore per mantenere l'angolo sempre uguale all'angolo rilevato: quindi se tieni la moto inclinata (da fermo) l'accelerometro dovrebbe leggere un angolo X gradi e manovrare l'attuatore di conseguenza.

edit: comunque essere relativi alla camera mi pare più comodo e preciso come metodo

Tutto chiaro, allora monterò i sensori in relazione alla camera, a meno che non saltino fuori complicazioni nella realizzazione pratica.

Avrei bisogno di un consiglio per gli acquisti da fare.
Per l'arduino andrei con Arduino UNO

Di accelerometri ad un solo asse non ne ho trovati, stessa cosa per il giro, ovviamente parlo di materiale reperibile in un solo sito.
Per i sensori ho visto questi:
Accelerometri e giroscopi

Prendo anche una breadboard e ponticelli per fare delle prove, considerate che in casa non ho niente a parte qualche led, un paio di servi li ho già...non mi dovrebbe servire altro!

edit: ho visto adesso che su quel sito è disponibile solo questo accelerometro:
Accelerometro 3 assi MMA7361L Pololu con regolatore
e con questo gyro
Giroscopio 2 assi LPR510AL Pitch/Roll Pololu 100°/s e 400°/
Dovrei essere a posto, che ne dite?