Dare la vista ai nostri progetti, grazie ad AVRcam oggi si può

Grazie ad AVRcam possiamo aggiungere un modulo per il riconoscimento ed il tracking degli oggetti ai nostri progetti in modo semplice e veloce.

AVRcam nasce appositamente per venire incontro alle esigenze di tanti come noi che si dedicato alla progettazione ed allo sviluppo elettronico fai da te. Consente di acquisire immagini a colori e di fare il tacking di oggetti. Come si vede nella immagine sottostante

il sistema è basato su di un controllore Atmet AVR mega8 ed usa un sensore CMOS per le immagini Omnivision OV6620. Le sue potenzialità sono notevoli:

    - tracking di otto oggetti con otto colori diversi indicati dall'utente con 30 fps

    - statistiche in real time dell'attività tramite una porta seriale standard

    - risoluzione delle immagini 88x144 pixels

    - basso consumo di potenza

    - possibilità di ampliare il software esistente con nuovi moduli

    - dulcis in fundo: completamente open source, quindi abbiamo a disposiozione tutto ciò che serve per costruirlo.

Inoltre è disponibile per il libero download un programma di gestione per il PC (AVRcam VIEW) che consente di acquisire immagini dal dispositivo con una risoluzione di 176x144 pixel e di monitorare le statistiche di funzionamento in tempo reale. Tale programma è multi piattaforma, poichè scritto in Java, ed è stato testato sia su Linux che su Windows. Il tutto è ancora una volta completamente open source.

Vediamo nel dettaglio l'architettura hardware di questo piccolo miracolo

Il microcontrollore Atmel AVR mega8 fornisce la potenza di calcolo. Il sensore CMOS Omnivision OV6620 è usato come già detto per l'acquisizione delle immagini. I due vi costeranno intorno ai 20 €, il componente più costoso è il sensore CMOS. Lo schema della AVRcam è mostrato in figura sotto.

Il sensore CMOS per le immagini è collegato direttamene al ATmega8 che lo gestisce. Un ATtiny12 viene usato come supporto per la configurazione del sensore CMOS OV6620. Il segnale di clock è condiviso tra ATmega8 e OV6620 consentendo la necessaria sincronizazione per la gestione dello strem in real-time di dati provenienti dal OV6620.

Vediamo adesso lo schema a blocchi del software di gestione per il microcontrollore. Il codice è stato sviluppato in modo modulare di modo da consentire una facile espansione e gestione del codice esistente. Lo schema sottostante illustra i vari moduli software.

Le strutture dati usate da ogni modulo (indicato con rettangolo nero grassetto) sono racchiuse in rettangoli con i bordi tratteggiati.

Lo schema sopra risulta molto utile in fase di gestione ed estensione del codice poichè è facile evincere il ruole della varie componenti anche solo dal nome di ogni blocco in figura.

Il codice è scritto quasi interamente in C e compilato usando il compilatore gratuito AVR-GCC. Le routines più critiche da un punto di vista delle prestazioni, in particolar modo quelle relative alla gestione del flusso dati del OV6620 sono in assembler.

Vediamo le caratteristiche del software di gestione lato PC, cioè di AVRcamVIEW PC.

Si può testare e calibrare in modo semplice l'AVRcam sia da windows che da Linux come già detto prima. Il software è in Java e l'interfaccia grafica è mostrata nella figura sotto.

Si può definire una color map ed inviarla ad AVRcam. Nella modalità di tracking vengono visualizzati gli oggetti seguiti visualizzando la loro bounding box ed il relativo colore di riferimento.

Tutto il software citato sopra è disponibile a questo link.

La versione attuale del codice usa solo 4KB dei 7KB disponibili sulla memoria flash riprogrammabile, 700bytes su 1KB di RAM disponibile e 48 bytes di 512 byted di EEPROM. Rimane quindi ampio spazio per sviluppare le proprie applicazioni per il processamento delle immagini. Il software è molto chiaro e ben commentato ma per eventuali dubbi è possibile contattare l'autore direttamente tramite il forum.

Una ultima nota sulla licenza. Il tutto è rilasciato sotto licenza GNU GPL, quindi se usate tale materiale a scopo commerciale informatevi bene prima di procedere.

Abbiamo visto come realizzare un sistema per il riconoscimento ed il tracking degli oggetti molto interessante e ben fatto che consente con poche modifiche di ottenere nuovi interessanti risultati.

Scarica subito una copia gratis
Tags:,

2 Commenti

  1. Avatar photo Bazinga 22 Agosto 2011
  2. Avatar photo divivoma 2 Novembre 2011

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend