Blog

Usare una telecamera con il Raspberry Pi

Alessandro Panait·

Una telecamera trasforma un Raspberry Pi da controllore a robot che vede. Questo sblocca il line following, il rilevamento di oggetti e la navigazione, tutto dai pixel.

Due tipi di telecamera

  • Telecamere a nastro (CSI) si collegano alla porta dedicata del Pi e si gestiscono con la libreria moderna picamera2. Veloci e a bassa latenza.
  • Telecamere USB si collegano a una porta USB e funzionano con VideoCapture di OpenCV. Comode, latenza un po' piu' alta.

Il loop centrale

Ogni programma di visione e' un ciclo: prendi un frame, elaboralo, agisci.

frame = camera.capture_array()      # prendi un'immagine
# elabora: trova la linea, rileva un oggetto
# decidi cosa deve fare il robot

La risoluzione e' un compromesso

Un'immagine piu' grande ha piu' dettaglio ma richiede piu' tempo per l'elaborazione, il che abbassa il frame rate. I robot quasi sempre rimpiccioliscono l'immagine prima di elaborarla (ad esempio a qualche centinaio di pixel di larghezza). Meno risoluzione significa loop piu' veloce, e un loop veloce fa reagire il robot in tempo. Il dettaglio che non ti serve rallenta e basta.

L'illuminazione e' tutto

Le telecamere valgono quanto la luce. Ombre e riflessi rovinano il rilevamento del colore. I robot seri aggiungono la propria illuminazione LED e calibrano i colori sul campo vero, perche' la luce in gara non e' mai la luce del tuo laboratorio.

Dai pixel alle decisioni

Una volta ottenuto un frame usi l'elaborazione immagini (OpenCV) o una rete neurale per trovare cio' che conta: la linea, un marcatore, un target. Vediamo le basi nella lezione su OpenCV.

Commenti (0)