Progetto Follow Camera

Ciao a tutti,

mi sono da poco iscritto al vostro forum e chiedo subito un consiglio sulla parte elettronica e sull'approccio.
Progetto:
Vorrei realizzare una sistema "follow camera" basato su una telecamera gopro. Il sistema sarà installato in un centro urbano per lo snowboard jump training.
La struttura utilizzata è alta 11 metri e lunga circa 35.
L'obiettivo è attivare il sistema al rilevamento della discesa di un atleta e seguirlo (circa 170° di spostamento), per poi ritornare in posizione originale.
Le mie domane sull'approccio sono queste: esiste un sensore già pronto che fa questo lavoro oppure con un sensore di movimento devo accorgermi appunto del movimento ed in base alla velocità media dell'atleta (definita a priori) passo al servo i dati di velocità di rotazione ed angolo di rotazione e dopo tot secondi lo riporto alla posizione originale?
Elettronica: sono un programmatore ma capisco veramente poco di elettronica XD potete indicarmi l'hardware necessario a questo progetto? Per il codice sto leggendo qualcosa, non penso di avere grossi problemi.

Grazie mille a tutti e scusate se ho dimenticato info essenziali.

Le mie domane sull'approccio sono queste: esiste un sensore già pronto che fa questo lavoro oppure con un sensore di movimento devo accorgermi appunto del movimento ed in base alla velocità media dell'atleta (definita a priori) passo al servo i dati di velocità di rotazione ed angolo di rotazione e dopo tot secondi lo riporto alla posizione originale?

Cosa indendi per definita a priori?

Forse volevi dire rilevata a priori, nel senso che il dato di velocità deve essere rilevato per motivi documentali non inerenti il tuo progetto.

Io credo che ti serva rilevare la velocità ad ogni istante, devi solo definire solo quanto grande è questo istante, maggiore è l'istante di rilevazione minore sarà la reattività del movimento.

A me non viene in mente alcun sensore in grado di misurare la velocità di un'atleta diciamo ad ogni secondo. L'unica cosa che mi viene in mente è una camera posta di fronte all'atleta, diciamo a fine percorso (sempre se questo percorso è rettilineo), allora usare OpenCV per determinare frame per frame l'ingrandimento nell'unità di tempo così da ricavare la velocità dell'atleta istante per istante.

Ricavata la velocità la invii tramite USB ad arduino che si farà il calcolo della rotazione, istante per istante. Diciamo che in arduino c'è un PID, ma basta un proporzionale, la differenza tra velocità angolare e velocità dell'atleta rappresenta l'errore da minimizzare o azzerare.

Certo che se ci fosse un sensore magico da montare e da cui prelevare il dato di velocità avresti risolto.

Ciao.

ciao e grazie mille per la risposta.

per definita a priori intendo calcolare una velocità media di tot atleti (anche banalmente con un cronometro), quindi parametrizzare la rotazione in base a questo dato rilevato (quindi non in tempo reale).
Non mi serve un dato ad "alta precisione" in quando alla massima risoluzione la gopro ha un angolo di visuale pari a 127°.

Per comodità allego una bozza della struttura in essere, ovviamente è quella piu spostata a sinistra.

L'idea era di metterla circa a metà della rampa di discesa per valutare poi tutte le fasi, dalla partenza, percorrenza stacco (arrivo non è fontamentale avere la visuale laterale-laterale/posteriore).

Ok, quindi non ti serve una inquadratura centrata con precisione.
Mi vengono in mente queste considerazioni:

Una sequenza è un'insieme di operazioni delimitata da un'inizio e una fine.
La sequenza opera su dati statici già conosciuti, quali:
La velocità media di discesa, cronometrata è posta in un'array tanto per avere la velocità di partenza e altri punti medi.
Il punto di partenza, viene ricavato dal sensore di partenza, fotocellula o cancelletto e contatto magnetico.... dipende.
Il punto di arrivo non serve neanche perchè la sequenza dura tot tempo e anche se la camera rimane orientata per 3 secondi sull'arrivo
non ha importanza.

Se queste considerazioni sono valide e non ho dimenticato niente, ti serve solo un sensore di start competition per avviare la sequenza.
Se la sequenza dura 10 secondi, attendi altri 10 secondi e riporti la camera in posizione di partenza. Dico questo perchè penso che chi scende fa il salto e poi atterra sul materasso (sembra un materasso) e vorrai inquadrarlo anche quando si rialza e scende e quindi potrebbe stare li più di 10 secondi.

Però.... però, se l'atleta scende e cade il sistema non lo rileva e continuerà a spostarsi come programmato, con OpenCV invece si fermerebbe a inquadrarlo seguendolo o almeno ci proverebbe. Comunque questa e teoria perchè non ho mai usato OpenCV e non conosco quanto affidabile sia.

Ciao.

Ciao.

Ciao,

puoi utilizzare piu' soluzioni, ma forse la piu' veloce e semplice da realizzare e' quella di utilizzare delle fotocellule.
Se ne utilizzi 2 (o piu') di una puoi anche misurare la (le) velocita' lungo la rampae far muovere la telecamera di conseguenza.

Se poi vuoi invece fare il tracking dell'atleta, allora puoi utilizzare sistemi basati su riprese video (trovi molti algoritmi e software in giro, anche GPL).

Ciao,
Marco.

MauroTec:
La velocità media di discesa, cronometrata è posta in un'array tanto per avere la velocità di partenza e altri punti medi.

perfetto, avevo pensato anche io ad una cosa del genere.

MauroTec:
Il punto di partenza, viene ricavato dal sensore di partenza, fotocellula o cancelletto e contatto magnetico.... dipende.

l'idea era di far partire il tutto dal pir (da valutare il campo coperto da tale sensore/a quanti metri dalla partenza è posizionato)

MauroTec:
Se queste considerazioni sono valide e non ho dimenticato niente, ti serve solo un sensore di start competition per avviare la sequenza.

Perfetto! Quindi ora rimane da valutare l'hardware da usare :smiley: :smiley: :smiley:

MauroTec:
Però.... però, se l'atleta scende e cade il sistema non lo rileva e continuerà a spostarsi come programmato, con OpenCV invece si fermerebbe a inquadrarlo seguendolo o almeno ci proverebbe. Comunque questa e teoria perchè non ho mai usato OpenCV e non conosco quanto affidabile sia.

Per ora penso non ci siano problemi per questo.

L'altra cosa che mi viene in mente è la possibilità di spegnere/accendere la gopro in base (modalità one button) in base a quando il sensore rileva il movimento / si raggiunge il limite di tempo; questo sarà sicuramente il secondo step ma magari bisogna tenerlo in considerazione nella scelta dell'hardware

l'idea era di far partire il tutto dal pir (da valutare il campo coperto da tale sensore/a quanti metri dalla partenza è posizionato)

Il pir, ammesso che funzioni non è affidabile, poi il pir rileva gli infrarossi. Quindi servo non delle fotocellule IR tipo quelle dei cancelli scorrevoli o ad ante che sia.

C'è anche una possibilità di upgrade: Avendo sul percorso 3 coppie di fotocellule puoi rilevale la velocità in 3 punti differenti e corregere il tiro e anche fare la verifica che l'atleta ha compiuto il salto. Se l'atleta cade non interrompe le tre fotocellule, se interrompe solo quella di partenza quasi certamente è caduto e si trova nel primo tratto. se ne interrompe due si troverà..... ecc. Avendo anche la velocità la puoi pure visualizzare sul tabellone, interessante sarebbe la velocità di stacco.

L'altra cosa che mi viene in mente è la possibilità di spegnere/accendere la gopro in base (modalità one button) in base a quando il sensore rileva il movimento / si raggiunge il limite di tempo; questo sarà sicuramente il secondo step ma magari bisogna tenerlo in considerazione nella scelta dell'hardware

Non conosco la camera di cui parli, se questa ha interfaccia per lo spegnimento il gioco è fatto, se invece c'è un semplice pulsante ti tocca aprire la camera e fare modifiche.

Perfetto! Quindi ora rimane da valutare l'hardware da usare smiley-grin smiley-grin smiley-grin

Fotocellule, capaci di comunicare a distanza di percorso, di solito quelle dei cancelli sono buone anche oltre i 5 metri la rogna e allinearle ma l'operazione si fa una volta a meno di movimenti della struttura.

Arduino 2009 o UNO.

Se la camera ha base rotante di suo dovrai interfacciarti a questa e li potrebbe esserci la difficoltà diresamente basta un servo motore, oppure un motore passo passo ( più complessa la meccanica), ma in ogni caso conviene usare trazione a cinghia.

Ciao.

MauroTec:
Il pir, ammesso che funzioni non è affidabile, poi il pir rileva gli infrarossi. Quindi servo non delle fotocellule IR tipo quelle dei cancelli scorrevoli o ad ante che sia.

C'è anche una possibilità di upgrade: Avendo sul percorso 3 coppie di fotocellule puoi rilevale la velocità in 3 punti differenti e corregere il tiro e anche fare la verifica che l'atleta ha compiuto il salto. Se l'atleta cade non interrompe le tre fotocellule, se interrompe solo quella di partenza quasi certamente è caduto e si trova nel primo tratto. se ne interrompe due si troverà..... ecc. Avendo anche la velocità la puoi pure visualizzare sul tabellone, interessante sarebbe la velocità di stacco.

Perfetto, mi documento allora su questo tipo di Hardware e che cosa serve lato arduino per farle comunicare a distanza.

Non conosco la camera di cui parli, se questa ha interfaccia per lo spegnimento il gioco è fatto, se invece c'è un semplice pulsante ti tocca aprire la camera e fare modifiche.

Per la camera ci sono già in giro queste soluzioni
http://code.google.com/p/arducam-osd/wiki/GoPro_HD_Hacking

Fotocellule, capaci di comunicare a distanza di percorso, di solito quelle dei cancelli sono buone anche oltre i 5 metri la rogna e allinearle ma l'operazione si fa una volta a meno di movimenti della struttura.

Arduino 2009 o UNO.

Se la camera ha base rotante di suo dovrai interfacciarti a questa e li potrebbe esserci la difficoltà diresamente basta un servo motore, oppure un motore passo passo ( più complessa la meccanica), ma in ogni caso conviene usare trazione a cinghia.

Ciao.

Ok, inizio a fare la lista della spesa e vi tengo aggiornati :smiley:
Sei stao gentilissimo.
Torno al mio lavoro, poi rispondo singolarmente anche agli altri post che avete postato.

Perfetto, mi documento allora su questo tipo di Hardware e che cosa serve lato arduino per farle comunicare a distanza.

Mi sono espresso male. Le fotocellule sono composte da un emettitore di raggi infrarosso e da un rivelatore, ponendo emettitore e rilevatore in linea l'uno di fronte all'altro si viene a creare una comunicazione. La comunicazione è semplice, se il rilevatore rileva un fascio di raggi infrarossi non ci sono oggetti in mezzo che interrompono il fasci. Un'oggetto o un'atleta che interrompe il fascio verrà rilevato dal rilevatore IR (infrarossi).

Ci sono coppie di fotocellule che riescono a lavorare (comunicare) a distanza di oltre 5 metri. Di base la distanza dipende dalla potenza del fascio IR e dalle lenti usate per focalizzarlo.

Tu avevi capito che potevi collegarle via etere. Quindi non ti serve altro che le fotocellule che abbiano la portata in base alla larghezza della pista.

Sei stao gentilissimo.
Torno al mio lavoro, poi rispondo singolarmente anche agli altri post che avete postato.

Puoi ricambiare la mia gentilezza, condividendo tutti i risultati buoni o brutti che si presentano lungo il cammino, così come pure il codice sorgente e tutto il resto. Tieniti solo per te quando ti scappa pupù :smiley:

Ciao.