• Contatto vendite Cognex: +39 02 3057 8196

  • Contatti

Blog Cognex

Uno Sguardo Più Da Vicino Alla Lettura Di Codici A Barre Multi-Codice Con Dispositivi Mobili

Multi-Code large

È impossibile negare i guadagni di produttività in termini tanto di velocità quanto di precisione che la scansione dei codici a barre può portare a numerosi flussi di lavoro. Virtualmente tutti i punti vendita al dettaglio, dai negozi di alimentari a quelli di articoli sportivi, beneficiano dei codici a barre dei prodotti scansionabili non soltanto per la gestione del punto vendita, ma anche quella dell'inventario e del riassortimento. Centri di distribuzione, magazzini, rivenditori di biglietti per eventi, compagnie aeree... la lista dei settori e delle applicazioni per i codici a barre è interminabile.

Nel ricercare guadagni di produttività sempre maggiori, le organizzazioni cercano ora di leggere più codici a barre in un'unica scansione. Per applicazioni quali l'etichetta di un pallet, che può avere una mezza dozzina circa di codici a barre GS1 correlati, si tratta di un'estensione ovvia. La scansione di un'etichetta di un prodotto multi-codice per la ricezione dell'inventario è un altro esempio comune. Tuttavia, dato che le soluzioni per dispositivi mobili sono diventate più potenti, con telecamere migliori e processori più veloci, gli utenti stanno cercando usi di scansione multi-codice ancora più avanzati.

In uno di questi casi, un cliente si è rivolto a noi di recente per quello che per lui era un caso d'uso convincente per la lettura di codici a barre multi-codice. Nel loro caso, dato che gli articoli erano utilizzati prelevandoli da un armadio di fornitura, le etichette dei prodotti erano posizionate su un modulo di riordino; ciascuna etichetta aveva due codici a barre di identificazione del prodotto; ogni pagina poteva contenere da una a 15 etichette, posizionate in una o due colonne. Il cliente voleva scansionare ogni pagina di codici a barre utilizzando un dispositivo mobile, tenendo semplicemente il cellulare sopra la pagina e scansionando l'intera pagina.

Ci ha mostrato una suadente dimostrazione di un prodotto della concorrenza che evidenziava i codici a barre in maniera relativamente rapida per poi restituire un elenco di risultati. Il loro primo tentativo con questa demo è consistito nel cercare di tenere il cellulare sopra il foglio di carta per acquisire l'intera pagina in un'unica volta; tuttavia, tale operazione non ha funzionato molto bene, poiché i codici a barre erano relativamente piccoli, alcuni dei quali presentavano una qualità discutibile e il software non sempre riusciva a leggerli tutti in una volta da lontano.

Il loro secondo tentativo è stato quindi quello di utilizzare una “modalità a lotti” nell'ambito della quale il cellulare era tenuto più vicino ai codici e veniva quindi spostato sulla pagina passando sul foglio e raccogliendo i codici a barre durante tale spostamento. Dato che il cellulare era tenuto più vicino, questo metodo è risultato funzionare meglio. Ci sono stati soltanto due problemi: i codici a barre non venivano restituiti nello stesso ordine in cui erano riportati sul foglio di carta (aspetto fondamentale per le esigenze del cliente) e, a volte, alcuni dei codici mancavano misteriosamente dai risultati. Tutto quello che dovevamo fare era fornire una soluzione che svolgesse la stessa operazione, ma restituisse tutti i codici nell'ordine corretto. Semplice, vero? Beh, no.

Come funziona la lettura di codici a barre multi-codice

Da decenni Cognex fornisce sistemi di scansione di codici a barre tramite sistemi fissi, scanner palmari e, più recentemente, terminali mobili per codici a barre, telefoni cellulari e tablet. La lettura di codici a barre multi-codice è comune nelle applicazioni a montaggio fisso, meno nei casi di dispositivi palmari e mobili. Il motivo principale di ciò è la stabilità dell'immagine: nelle applicazioni a montaggio fisso (nelle quali un sistema di scansione di codici a barre è montato in una posizione fissa) la telecamera non si muove, è posta in un orientamento noto ed è regolata in base alla distanza di scansione e al campo visivo ottimali per effettuare la scansione degli elementi di interesse. Inoltre, di norma, illuminazione e movimento sono ben controllati o compresi, aspetto questo che consente una regolazione ancora migliore delle prestazioni di scansione. Sebbene queste caratteristiche di un'implementazione di scansione a montaggio fisso rendano l'ambiente più controllato per la scansione multi-codice, non si tratta comunque di un compito facile.

In un mondo ideale, uno scanner di immagini sarebbe in grado di scattare una singola istantanea del campo dei codici a barre e di localizzarli e decodificarli tutti; tuttavia questo si verifica di rado: non tutti i codici a barre saranno localizzabili o decodificabili a causa di variazioni nella messa a fuoco, nell'illuminazione, nell'inclinazione, ecc. Anche nelle applicazioni a montaggio fisso questo non succede praticamente mai. La decodifica multi-codice si ottiene piuttosto esaminando molte singole immagini (fotogrammi) da un flusso video dal vivo proveniente dalla telecamera e combinando quindi i risultati di questa serie di scansioni. Nella maggior parte delle applicazioni ciò comporta l'unione dei risultati decodificati di 10, 20, 30 o anche più fotogrammi, poiché è improbabile che ogni singolo fotogramma contenga ogni singolo codice a barre.

Analizzando più fotogrammi e combinando i risultati, occorre che gli algoritmi di decodifica siano abbastanza sofisticati da eliminare i duplicati, senza però filtrare i dati validi. Si consideri il seguente semplice esempio di quattro codici a barre:


Esempio di codice a barre multi-codice a 4 codici a barre

Quando il nostro utente scansiona questi codici con uno scanner multi-codice, si aspetta quattro risultati: {A, B, C, A}. Supponiamo che, quando si esegue la scansione di questi codici, in ragione delle variazioni nella messa a fuoco e nell'illuminazione, sia necessario effettuare la scansione di due immagini (fotogrammi) per trovare tutti i codici. Sul primo fotogramma, vengono decodificati i primi due codici a barre {A, B}:


Multi-codice - fotogramma 1

Mentre sul secondo fotogramma, vengono decodificati i tre inferiori {B, C, A}:


Multi-codice - fotogramma 2

Ogni fotogramma rappresenta un insieme di codici a barre, tuttavia non è possibile effettuare una semplice unione di questi due insiemi: altrimenti i nostri risultati sarebbero {A, B, C} e andrebbe persa la seconda occorrenza di A! Di conseguenza, l'unione dei risultati di più fotogrammi deve essere molto più sofisticata rispetto a una semplice eliminazione dei valori dei codici a barre duplicati.

Aggiungere un po' di (o molto) movimento

Può sembrare che una soluzione ovvia per unire i risultati di più fotogrammi consista nell'includere le informazioni di posizione e il valore del codice a barre durante la fase di filtro dei duplicati; dopo tutto, è evidente nel nostro esempio che la seconda occorrenza del CODICI A BARRE A si trova in una posizione distinta rispetto alla prima occorrenza riscontrata nel primo fotogramma. Infatti vi sono alcune implementazioni multi-codice che fanno proprio questo per determinare se un codice è un duplicato o meno. Tuttavia ciò si basa sul fatto che le posizioni relative dei codici a barre non cambino o, quanto meno, cambiano di molto poco, da un fotogramma al successivo.

Tuttavia, ancora una volta, consideriamo il nostro caso d'uso di un dispositivo mobile, nell'ambito del quale la tipica esperienza di scansione consiste nel fornire un'anteprima dal vivo a schermo della telecamera affinché l'utente possa posizionare (puntare) il dispositivo mobile sopra i codici a barre da scansionare. Mentre l'utente posiziona il telefono cellulare molti fotogrammi vengono catturati e decodificati, durante tale arco di tempo il cellulare si muove per tutto il tempo anche nelle mani più stabili.

L'esempio di cui sopra è semplice, è un esempio nel quale l'utente può probabilmente posizionare la telecamera per acquisire tutti e quattro i codici a barre contemporaneamente. Ma cosa succede se ci sono troppi codici (come nell'esempio del nostro cliente: un'intera pagina) e ora l'utente sta “facendo passare” la telecamera sui i codici a barre per scansionarli tutti? In altre parole, lo spostamento del dispositivo mobile è necessario per acquisire tutti i codici.

La gestione del movimento con uno scanner mobile può essere molto impegnativa, dato che di norma la velocità e la direzione del movimento non sono note allo scanner e, ancora peggio, quasi certamente esse varieranno man mano che l'utente continua a tenere e spostare il dispositivo mobile.

Se soltanto la scansione multi-codice fosse così semplice

Un'ulteriore complessità della scansione multi-codice non consiste soltanto nell'individuare tutti i codici a barre, ma anche nello stabilire quando interrompere la ricerca di ulteriori codici a barre. Nel nostro semplice esempio di cui sopra, il numero di codici a barre da scansionare è noto. Lo scanner può essere configurato per cercare esplicitamente quattro codici a barre prima di restituire i risultati.

Ma che dire del caso d'uso del nostro cliente nel quale la pagina può avere da due a 30 codici a barre? Nel caso di una pagina con un certo numero sconosciuto di codici a barre e alcuni sono mancati o danneggiati, come potrebbe un sistema multi-codice informare l'utente? Come farebbe lo scanner multi-codice a sapere che tutti i codici non sono stati letti? La mancanza di codici: questa è di gran lunga la trappola principale di una soluzione di scansione multi-codice non ben concepita. Se non gestiti correttamente, i codici mancanti possono eliminare facilmente i guadagni di produttività che l'uso di un approccio di scansione multi-codice intendeva realizzare.

Non trattare una demo come la soluzione a qualsiasi problema

Nel caso dei nostri clienti, la demo che stavano tentando di implementare stava restituendo risultati inaffidabili, probabilmente perché:

  • i codici a barre che stavano tentando di scansionare avevano codici duplicati che erano dati validi ma venivano filtrati dal software di scansione come letture duplicate del medesimo codice a barre;
  • i codici non potevano essere restituiti nell'ordine preciso in cui apparivano sulla pagina perché il software dello scanner non disponeva di modalità precise di misurazione della direzione o dell'orientamento della scansione dato che l'utente spostava il telefono sui codici e questi venivano acquisiti. Dato che il software di scansione non sapeva dove si trovava l'“intestazione” della pagina, i codici a barre venivano restituiti secondo l'ordine di scansione e non quello fisico della pagina.

Tuttavia, anche se queste due questioni fossero risolte, si avrebbe comunque un flusso di lavoro scadente in caso di rilevamento di un codice a barre illeggibile: l'utente di tale sistema non avrebbe modo di sapere quale codice è stato saltato e dovrebbe essere gestito manualmente.

Alla fine, abbiamo comunque raccomandato una soluzione multi-codice: tuttavia una soluzione nella quale l'utente scansionava ogni 2 etichette di codici singolarmente, in progressione: in questo modo l'applicazione poteva verificare ogni etichetta/scansione man mano che l'utente si spostava, fornendo un feedback positivo (e un feedback negativo in caso di problemi). L'applicazione risultante non era così desiderabile come sembrava essere la demo originale, tuttavia forniva un flusso di lavoro solido e utilizzabile per gli utenti dell'azienda.

Con le loro telecamere ad alta risoluzione e i loro potenti processori, i telefoni cellulari e i tablet sono sempre più in grado di eseguire complesse operazioni di scansione di codici a barre, compresa la lettura multi-codice. Tuttavia non si può presuppore che tentare di scansionare un intero foglio di codici a barre o un intero scaffale di prodotti in una sola volta costituisca il miglior flusso di lavoro. Tali scenari possono andare bene per alcune demo entusiasmanti perché in genere vengono eseguite in condizioni ideali; tuttavia, quando si progetta un flusso di lavoro multi-codice occorre accertarsi di tenere conto di tutte le variabili che possono influire sulla sua efficacia. Per saperne di più sui terminali mobili e altre soluzioni mobili offerti da Cognex, scarica la Guida prodotto sulle soluzioni mobili.

Altri post in merito a

OTTIENI L’ACCESSO AD ASSISTENZA E FORMAZIONE IN MERITO AI PRODOTTI E MOLTO ALTRO ANCORA

Entra a far parte di MyCognex

AVETE DELLE DOMANDE?

I rappresentanti Cognex sono disponibili in tutto il mondo per supportarvi nelle vostre necessità di lettura dei codici a barre industriali

CONTATTI
Loading...