SlideShare a Scribd company logo
MTP:
MOTION TRACKING
PLATFORM
BlockRoad – Hackathon 2021
L’idea
La nostra idea è quella di risolvere un problema che si presenta durante l’osservazione al
microscopio di campioni che abbiano elevata mobilità. Osservare uno di questi campioni
mantenendo l’oggetto di interesse nel campo visivo e focale, specialmente se l’oggetto è in grado
di muoversi rapidamente, può essere complicato. Noi proponiamo un sistema di tracciamento
che acquisisce immagini in tempo reale da una videocamera e permette di selezionare un’area e
di mantenere quell’area al centro del campo visivo tramite l’uso di 3 motori stepper.
La nostra proposta
Proponiamo un sistema che, tramite
Python, elabora immagini in
ingresso.
Un Arduino si occuperà di gestire i
motori.
◦ Il sistema quindi si compone di:
◦ Un Arduino
◦ Tre motori passo passo con relativi driver
◦ Una piattaforma di movimento XY (inclusi
sensori di fine corsa)
◦ Un PC
◦ Una videocamera
Inizializzazione del codice Python
Ricerca porte
Arduino e
connessione
Verifica della
connessione
seriale
Scelta tra i
possibili sistemi di
tracciamento
Inizializzazione del
sistema di
tracciamento
Ricerca e selezione
della videocamera
Inizializzazione
dell’interfaccia
grafica
La logica di Python
◦ Il codice richiede inizialmente di selezionare una ROI, una volta fatto viene creato un tracker
che, usando uno degli algoritmi di tracking disponibili, permette di seguire i movimenti di
quest’area.
◦ Il software calcola la posizione attuale dell’oggetto di interesse e, qualora non fosse al centro
del campo visivo della webcam, manda i comandi ad Arduino per muovere la piattaforma di
conseguenza.
Il codice Arduino
◦ Arduino riceve una stringa di dati da python tramite connessione seriale, scompone la stringa
nei vari elementi di interesse, salva il valore di questi elementi nelle variabili e, in base ai valori
ottenuti esegue varie operazioni.
Codice Arduino
Comunicazione
seriale con
Python
getDataFromPC
parseData
strtok
atoi
Controllo dei
motori
pin di accensione
pin di direzione
pin di velocità
Conclusioni
◦ Crediamo che il sistema che abbiamo realizzato sia in grado di seguire con successo il
movimento di un oggetto e che possa essere facilmente integrato ad esempio in ambito
microscopico.

More Related Content

PDF
Internet delle cose
PPTX
An IoT prototype: from ideation to promotion
PPTX
Sviluppo di un sistema per la stabilizzazione dinamica di un processo intrins...
PDF
Sviluppo del sistema di controllo dell'assetto di un quadricottero con proces...
PDF
Digitalizzazione di un processo industriale
PDF
Telemetria dei parametri dinamici di un drone marino
PDF
Arduino basic workshop
PDF
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Internet delle cose
An IoT prototype: from ideation to promotion
Sviluppo di un sistema per la stabilizzazione dinamica di un processo intrins...
Sviluppo del sistema di controllo dell'assetto di un quadricottero con proces...
Digitalizzazione di un processo industriale
Telemetria dei parametri dinamici di un drone marino
Arduino basic workshop
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012

More from NECST Lab @ Politecnico di Milano (20)

PDF
Mesticheria Team - WiiReflex
PPTX
Punto e virgola Team - Stressometro
PDF
BitIt Team - Stay.straight
PDF
BabYodini Team - Talking Gloves
PDF
printf("Nome Squadra"); Team - NeoTon
PDF
#include<brain.h> Team - HomeBeatHome
PDF
Flipflops Team - Wave U
PDF
Bug(atta) Team - Little Brother
PDF
#NECSTCamp: come partecipare
PDF
NECSTLab101 2020.2021
PDF
TreeHouse, nourish your community
PDF
TiReX: Tiled Regular eXpressionsmatching architecture
PDF
Embedding based knowledge graph link prediction for drug repurposing
PDF
PLASTER - PYNQ-based abandoned object detection using a map-reduce approach o...
PDF
EMPhASIS - An EMbedded Public Attention Stress Identification System
PDF
Luns - Automatic lungs segmentation through neural network
PDF
BlastFunction: How to combine Serverless and FPGAs
PDF
Maeve - Fast genome analysis leveraging exact string matching
PDF
EMoCy - Emotions Monitoring via wearable Computing System
Mesticheria Team - WiiReflex
Punto e virgola Team - Stressometro
BitIt Team - Stay.straight
BabYodini Team - Talking Gloves
printf("Nome Squadra"); Team - NeoTon
#include<brain.h> Team - HomeBeatHome
Flipflops Team - Wave U
Bug(atta) Team - Little Brother
#NECSTCamp: come partecipare
NECSTLab101 2020.2021
TreeHouse, nourish your community
TiReX: Tiled Regular eXpressionsmatching architecture
Embedding based knowledge graph link prediction for drug repurposing
PLASTER - PYNQ-based abandoned object detection using a map-reduce approach o...
EMPhASIS - An EMbedded Public Attention Stress Identification System
Luns - Automatic lungs segmentation through neural network
BlastFunction: How to combine Serverless and FPGAs
Maeve - Fast genome analysis leveraging exact string matching
EMoCy - Emotions Monitoring via wearable Computing System
Ad

BlackBoard Team - Motion Tracking Platform

  • 2. L’idea La nostra idea è quella di risolvere un problema che si presenta durante l’osservazione al microscopio di campioni che abbiano elevata mobilità. Osservare uno di questi campioni mantenendo l’oggetto di interesse nel campo visivo e focale, specialmente se l’oggetto è in grado di muoversi rapidamente, può essere complicato. Noi proponiamo un sistema di tracciamento che acquisisce immagini in tempo reale da una videocamera e permette di selezionare un’area e di mantenere quell’area al centro del campo visivo tramite l’uso di 3 motori stepper.
  • 3. La nostra proposta Proponiamo un sistema che, tramite Python, elabora immagini in ingresso. Un Arduino si occuperà di gestire i motori.
  • 4. ◦ Il sistema quindi si compone di: ◦ Un Arduino ◦ Tre motori passo passo con relativi driver ◦ Una piattaforma di movimento XY (inclusi sensori di fine corsa) ◦ Un PC ◦ Una videocamera
  • 5. Inizializzazione del codice Python Ricerca porte Arduino e connessione Verifica della connessione seriale Scelta tra i possibili sistemi di tracciamento Inizializzazione del sistema di tracciamento Ricerca e selezione della videocamera Inizializzazione dell’interfaccia grafica
  • 6. La logica di Python ◦ Il codice richiede inizialmente di selezionare una ROI, una volta fatto viene creato un tracker che, usando uno degli algoritmi di tracking disponibili, permette di seguire i movimenti di quest’area. ◦ Il software calcola la posizione attuale dell’oggetto di interesse e, qualora non fosse al centro del campo visivo della webcam, manda i comandi ad Arduino per muovere la piattaforma di conseguenza.
  • 7. Il codice Arduino ◦ Arduino riceve una stringa di dati da python tramite connessione seriale, scompone la stringa nei vari elementi di interesse, salva il valore di questi elementi nelle variabili e, in base ai valori ottenuti esegue varie operazioni.
  • 8. Codice Arduino Comunicazione seriale con Python getDataFromPC parseData strtok atoi Controllo dei motori pin di accensione pin di direzione pin di velocità
  • 9. Conclusioni ◦ Crediamo che il sistema che abbiamo realizzato sia in grado di seguire con successo il movimento di un oggetto e che possa essere facilmente integrato ad esempio in ambito microscopico.