Benvenuto Ospite,
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:
Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-
Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:
Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-
Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum
Nuovo progetto Lightgun
Nuovo progetto Lightgun
Ho avuto questa idea, una lightgun basata su sensore IMU (accelerometro e giroscopio) con un singolo led IR come ancora.
come hardware sto usando:
XIAO ESP32S3 Sense come microcontrollore principale (25-30€ su aliexpress)
IMU LSM6DSOX settato a 833 Hz, è il cuore del puntamento (io avevo il "modulino" del kit Arduino, ma si trovano le schedine adafruit/sparkfun a pochi €)
Camera OV2640 (inclusa con il Sense)
LED IR 850 nm + filtro ottico 850 nm (che mi devono ancora arrivare)
Come funziona:
Attualmente viene visto come USB HID assoluto (mouse assoluto, compatibile quindi con giochi ed emulatori)
L'approccio è diverso dalle lightgun classiche: il puntamento è guidato dall'IMU (giroscopio + accelerometro), non dalla camera. La camera serve solo come ancora ottica lenta (30fps) per limitare il drift nel tempo.
nel firmware viene usato un MEKF (Multiplicative Extended Kalman Filter) 8x8 custom che stima:
orientazione tramite quaternione, il bias del giroscopio e l'offset camera-IMU
il cursore sempre è attivo anche quando il LED non è visibile (es. off-screen)
c'è l'off-screen detection con isteresi ai bordi
i GPIO del microcontrollore sono configurabili come tasti tastiera o pulsanti mouse
la posizione del puntatore è aggiornata 500 volte al secondo (testato), ho fatto un video a 240 fps in cui riprendo il monitor, impostato a 120 fps, dove il prototipo e la freccia del mouse partono a muoversi e cambiano direzione nello stesso frame video, quindi latenza inferiore a 4ms, l'usb comunica col pc a 1000 Hz
Video (scarica e visualizza con VLC per avanzare frame per frame
appena mi arrivano i led ed i filtrini IR faccio un po di tuning finale contro blob ambientali multipli,
valutazione del drift su sessioni lunghe (30+ min), misure di latenza end-to-end (devo capire come oltre al video)
poi farò la variante wireless Bluetooth HID con gestione della batteria, infine recoil con solenoide.
può interessare?
come hardware sto usando:
XIAO ESP32S3 Sense come microcontrollore principale (25-30€ su aliexpress)
IMU LSM6DSOX settato a 833 Hz, è il cuore del puntamento (io avevo il "modulino" del kit Arduino, ma si trovano le schedine adafruit/sparkfun a pochi €)
Camera OV2640 (inclusa con il Sense)
LED IR 850 nm + filtro ottico 850 nm (che mi devono ancora arrivare)
Come funziona:
Attualmente viene visto come USB HID assoluto (mouse assoluto, compatibile quindi con giochi ed emulatori)
L'approccio è diverso dalle lightgun classiche: il puntamento è guidato dall'IMU (giroscopio + accelerometro), non dalla camera. La camera serve solo come ancora ottica lenta (30fps) per limitare il drift nel tempo.
nel firmware viene usato un MEKF (Multiplicative Extended Kalman Filter) 8x8 custom che stima:
orientazione tramite quaternione, il bias del giroscopio e l'offset camera-IMU
il cursore sempre è attivo anche quando il LED non è visibile (es. off-screen)
c'è l'off-screen detection con isteresi ai bordi
i GPIO del microcontrollore sono configurabili come tasti tastiera o pulsanti mouse
la posizione del puntatore è aggiornata 500 volte al secondo (testato), ho fatto un video a 240 fps in cui riprendo il monitor, impostato a 120 fps, dove il prototipo e la freccia del mouse partono a muoversi e cambiano direzione nello stesso frame video, quindi latenza inferiore a 4ms, l'usb comunica col pc a 1000 Hz
Video (scarica e visualizza con VLC per avanzare frame per frame
appena mi arrivano i led ed i filtrini IR faccio un po di tuning finale contro blob ambientali multipli,
valutazione del drift su sessioni lunghe (30+ min), misure di latenza end-to-end (devo capire come oltre al video)
poi farò la variante wireless Bluetooth HID con gestione della batteria, infine recoil con solenoide.
può interessare?
-
Tox Nox Fox
- Moderatore

- Messaggi: 12742
- Iscritto il: 14/01/2007, 23:35
- Medaglie: 4
- Grazie Inviati: 245 volte
- Grazie Ricevuti: 367 volte
- Alessandro Satanassi
- Newbie

- Messaggi: 5
- Iscritto il: oggi, 13:09
- Città: Sarsina
Re: Nuovo progetto Lightgun
Sarà opensource il tuo progetto ? .. se si dove trovo il repository ? ... grazie ... in futuro pensavo di aggiungere un giroscopio anche al mio progetto a cui sto lavorando (https://github.com/alessandro-satanassi ... ware-ESP32), proprio per gestire ancor meglio la perdita di visuale dei sensori
Re: Nuovo progetto Lightgun
Open source si, ma voglio lavorarci un po' prima di rendere pubblici i sorgenti, almeno testarlo, spero arrivino presto i led e i filtri IR, attualmente ogni sorgente luminosa la vede come blob da seguire, quindi l'ancoraggio si sposta e salta continuamente, senza camera invece è già piuttosto preciso, il calcolo MEKF fa un buon lavoro, si può usare tranquillamente come air mouse,
ho anche visto delle schedine con l'imu LSM6DSV sui 6€ su aliexpress che dovrebbero essere ancora piu precise, pensare che il LSM6DSV lo fanno in Italia
ho anche visto delle schedine con l'imu LSM6DSV sui 6€ su aliexpress che dovrebbero essere ancora piu precise, pensare che il LSM6DSV lo fanno in Italia
- Alessandro Satanassi
- Newbie

- Messaggi: 5
- Iscritto il: oggi, 13:09
- Città: Sarsina
Re: Nuovo progetto Lightgun
Se non sbaglio anche i primi giroscopi che montarono sui controlli della Wii, li fecero in Italia ... quando sarai pronto, fammelo sapere, grazie .. cosa usi, platformio ?