La Raspberry Pi (RPi) è un’ottima piattaforma di sviluppo per ogni progetto che ha come requisiti un basso costo, elevate capacità di calcolo e che necessita di diverse interfacce di comunicazione. Vogliamo riportare qui di seguito la nostra esperienza nella realizzazione della piattaforma che usiamo per il benchmarking di algoritmi di visione e di sensors-fusion tra immagini e sensoristica inerziale.
I requisiti del nostro sistema sono i seguenti:
- acquisizione e data processing a 5Hz di un frame video per l’identificazione di 4 markers IR con risoluzione 1280×1024 pixel (black/white) o 640×480 pixel (color);
- acquisizione e data processing a 5Hz di dati 3D inerziali relativi ad un accelerometro e un magnetometro;
- presenza di un’interfaccia utente per: la visualizzazione della sintesi dei calcoli su display, il settaggio del menù e dei parametri di configurazione attraverso pulsanti e il feedback luminoso sui led di stato;
- interazione con una console di test e validazione remota, in grado di visualizzare le immagini acquisite e di configurare il sistema;
- visualizzazione di informazioni di debug;
- autonomia di funzionamento: 3h;
- costo per unità max: 200e;
- fattore di forma poco maggiore della RPi stessa.
In particolare, abbiamo voluto realizzare una expansion board per la RPi collegata ad un accelerometro e magnetometro MEMS di STM, presenti in un unico chip LSM303DLHC via I2C, un LCD compatibile con controller hd44780 via bus parallelo a 4bit, pulsanti e led per l’interazione con l’utente via GPIO. Usiamo inoltre la porta Ethernet per il trasferimento di immagini ad un terminale remoto su socket TCP e la porta UART per trasmettere verso una console di debug. Come sensore video abbiamo usato il modulo camera a 5Mpx rilasciato dai produttori della RPi.
La scheda è alimentata da una batteria a Li-Ion da 3.7v e 2.5A che fornisce potenza alla RPi (i consumi dichiarati in stato attivo sono pari a 3.5W), alla scheda di espansione ed ad un modulo di 4 illuminatori IR a 850nm, utile nel caso in cui camera e algoritmo lavorino nel campo dell’IR. Per l’alimentazione (+5v per la scheda e +12v per gli illuminatori) abbiamo impiegato due convertitori DC-DC step-up della Texas Instrument (5W ognuno).
La distribuzione software che abbiamo adottato è quella ufficiale, basata su una Debian modificata, la Raspbian “wheezy”.