E L A I R O T I D E
Deep learning e big data La tecnologia di deep learning si basa su reti neurali articiali (ANN) che ricevono costantemente algoritmi di apprendimento e quantità di dati in continua crescita per aumentare
l'ecienza dei processi di formazione. Maggiore è il volume di dati, più ecienti saranno i processi. La tecnica di deep learning consiste essenzialmente di due fasi: addestra-
mento e inferenza. L'addestramento è un processo di etichettatura di grandi quantità di dati e determinazione delle loro caratteristiche di corrispondenza. Durante la fase inferenziale, invece, l'algoritmo giunge a conclusioni ed etichetta nuovi dati usando le loro conoscenze precedenti. Gli analisti hanno stimato un mercato globale dell'apprendimento profondo di oltre 300
milioni di dollari. La sua parte signicativa appartiene sia all'industria aerospaziale che alla difesa. L'ultimo rapporto di Grand View Research (GVR) aerma che questo mercato raggiungerà un valore di circa 11 miliardi di dollari entro la ne del 2025. Poiché l'apprendimento profondo può creare determinate funzionalità senza un intervento umano, gli scienziati dei dati possono risparmiare molto tempo lavorando con i big data, facendo quindi adamento su questa tecnologia. Consente
loro di utilizzare un set di funzionalità più complesso rispetto ai tradizionali software di apprendimento automatico. Gli algoritmi di deep learning sono addestrati per imparare progressivamente usando i dati. Sono necessari ampi set di dati per assicurarsi che la macchina fornisca i risultati desiderati. Poiché il cervello umano ha bisogno di molte esperienze per apprendere e dedurre le informazioni, l'analoga rete neurale articiale richiede un'abbondante quantità di dati. Con l'aumentare del usso di dati (IoT e smart city/home), l'apprendimento profondo sta diventando un ruolo chiave nel fornire soluzioni di analisi predittiva di big data. Il deep learning è abbastanza impegnativo per le risorse computazionali. Richiede GPU più più potenti, unità di elaborazione graca ad alte prestazioni, grandi quantità di storage per addestrare i modelli, ecc. Inoltre, questa tecnologia ha bisogno di più tempo per allenarsi rispetto alle machine learning. Nonostante tutte le sue sde, l'apprendimento profondo scopre nuovi metodi migliorati di analisi dei big data. In eetti, le aziende possono trarre vantaggi signicativi dall'uso dell'apprendimento profondo nell'ambito dei loro compiti di elaborazione dei dati . In futuro, gli osservatori del settore sono tenuti ad analizzare l'impatto del deep learning in altre tecnologie come Internet of Things o Advanced System Architecture.
Maurizio Di Paolo Emilio
1
E L A I R O T I D E
Deep learning e big data La tecnologia di deep learning si basa su reti neurali articiali (ANN) che ricevono costantemente algoritmi di apprendimento e quantità di dati in continua crescita per aumentare
l'ecienza dei processi di formazione. Maggiore è il volume di dati, più ecienti saranno i processi. La tecnica di deep learning consiste essenzialmente di due fasi: addestra-
mento e inferenza. L'addestramento è un processo di etichettatura di grandi quantità di dati e determinazione delle loro caratteristiche di corrispondenza. Durante la fase inferenziale, invece, l'algoritmo giunge a conclusioni ed etichetta nuovi dati usando le loro conoscenze precedenti. Gli analisti hanno stimato un mercato globale dell'apprendimento profondo di oltre 300
milioni di dollari. La sua parte signicativa appartiene sia all'industria aerospaziale che alla difesa. L'ultimo rapporto di Grand View Research (GVR) aerma che questo mercato raggiungerà un valore di circa 11 miliardi di dollari entro la ne del 2025. Poiché l'apprendimento profondo può creare determinate funzionalità senza un intervento umano, gli scienziati dei dati possono risparmiare molto tempo lavorando con i big data, facendo quindi adamento su questa tecnologia. Consente
loro di utilizzare un set di funzionalità più complesso rispetto ai tradizionali software di apprendimento automatico. Gli algoritmi di deep learning sono addestrati per imparare progressivamente usando i dati. Sono necessari ampi set di dati per assicurarsi che la macchina fornisca i risultati desiderati. Poiché il cervello umano ha bisogno di molte esperienze per apprendere e dedurre le informazioni, l'analoga rete neurale articiale richiede un'abbondante quantità di dati. Con l'aumentare del usso di dati (IoT e smart city/home), l'apprendimento profondo sta diventando un ruolo chiave nel fornire soluzioni di analisi predittiva di big data. Il deep learning è abbastanza impegnativo per le risorse computazionali. Richiede GPU più più potenti, unità di elaborazione graca ad alte prestazioni, grandi quantità di storage per addestrare i modelli, ecc. Inoltre, questa tecnologia ha bisogno di più tempo per allenarsi rispetto alle machine learning. Nonostante tutte le sue sde, l'apprendimento profondo scopre nuovi metodi migliorati di analisi dei big data. In eetti, le aziende possono trarre vantaggi signicativi dall'uso dell'apprendimento profondo nell'ambito dei loro compiti di elaborazione dei dati . In futuro, gli osservatori del settore sono tenuti ad analizzare l'impatto del deep learning in altre tecnologie come Internet of Things o Advanced System Architecture.
Maurizio Di Paolo Emilio
1
EDITORIALE
SCI & TECH
BOARD
Deep learning e big data 1
Uno sguardo al futuro 3 dell’intelligenza articiale: le deep neural networks
Il kit di sviluppo per l’Energy Harvesting
Founder & Publisher Emanuele Bonanni
Editor-in-Chief Maurizio Di Paolo Emilio Editorial Assistant Maria Pisani Marketing Sara Ercolani Advertising Francesca Ceroni
[email protected]
Gr aphic aphic Designer esigner Marilde Mirra Circulation Users - 130.022 Social Network - 121.833 © Copyright Tutti i diritti di riproduzione o di traduzione degli articoli pubblicati sono riservati.
Come ridare colore 14 ad una vecchia foto B/N Corso di Elettronica 24 per ragazzi 7-12: collegamenti in serie e in parallelo IOTA: una criptovaluta hash-based per la protezione delle transazioni IoT
52
MAKER
Vinduino: una conveniente tecnologia open-source per il risparmio idrico La Stampante 3D Renkforce RF100 XL con lamento
8
49
Manoscritti e disegni sono di proprietà di EMCelettronica Srl. E’ vietata la riproduzione anche parziale degli articoli salvo espressa autorizzazione scritta dell’editore. I contenuti pubblicitari sono riportati senza responsabilità, a puro titolo informativo.
ROBOT
Corso sugli Aeromobili 32 a Pilotaggio Remoto partendo da zero: controllo automatico del volo
45
H C E T & I C S
Uno sguardo al futuro dell’intelligenza artificiale: le deep neural networks di Angelo Cardellicchio
Dispositivi come auto automatiche e case intelligenti sono ormai entrati nel gergo quotidiano. Rendere una macchina ‘intelligente’ è comunque una sda complessa; di recente, però, c'è stato un notevole balzo in avanti, legato sia all'introduzione del GPGPU, che ha aumentato le potenzialità dei nostri cal - - colatori, sia a notevoli avanzamenti nel campo del machine learning, che hanno reso possibile emulare il ragionamento umano. In questo articolo, parleremo di questo, illustrando il perché stia raccogliendo
le attenzioni dei ricercatori e dell’industria.
DAL TURCO A TURING
L
mali: quali sono le macchine che, al giorno d'oggi,
a comprensione dei meccanismi di apprendimen-
deniamo 'intelligenti'? In 'intelligenti'? In generale, possiamo denideni-
to ed inferenza di conoscenza del cervello uma-
re come 'intelligente' una macchina in grado di ricono-
no è complessa, ma attira numerose attenzioni
scere lo stato in cui si trova, ed agire di conseguenza.
(e ricerche) da ormai molto tempo. I primi esperimenti
Ad esempio, una self-driving car deve agire in base alle
in tal senso sono riconducibili alla ne del diciottesimo
condizioni della strada, dei pedoni e delle altre auto,
secolo quando, in alcune corti nobiliari tedesche, si po-
mentre un macchinario industriale esegue ciclicamente
teva trovare un esemplare del Turco di von Kempelen, Kempelen,
una serie di operazioni, interrompendole in determinate
una 'macchina' in grado di giocare a scacchi, e battere,
situazioni (ad esempio, un essere umano nel raggio di
un essere umano. Ovviamente, un automa del genere
azione, un incendio, e così via).
non poteva esistere a quel tempo: e, infatti, il Turco era
Consideriamo una self-driving car. L'idea più semplice
un guscio vuoto, adatto ad ospitare, al suo interno, una
sarebbe modellarne il comportamento mediante una
persona di bassa statura.
macchina a stati, considerando magari un mondo sem-
Nella prima metà del secolo scorso, però, le cose inizia-
plicato, nel quale l'auto può solo accelerare e sterzare,
rono a farsi serie: Turing formulò il suo test, che denideni-
ed è in grado di distinguere tra semaforo verde e rosso;
sce intelligente una macchina in grado di ingannare,
mapperemo quindi tutte le possibili coppie stato/azione
in una conversazione, un interlocutore, interlocutore, facendogli
in una LUT:
credere di trovarsi di fronte ad un altro essere umano.
1. Accelera no ad arrivare alla velocità di crociera.
Per dovere di cronaca, il test di Turing non è ancora
2.
stato superato (o, forse, sì, ma l'argomento è oggetto di controversie). In seguito, nel 1956, durante una se-
gui. 3.
rie di conferenze tenutesi a Dartmouth, furono deniti i concetti di intelligenza articiale generale (general
Se trovi un semaforo, ed è verde verde, proseSe trovi un semaforo, ed è rosso, fermati. Al verde, torna ad uno.
4.
AI), propria di macchine in grado di replicare in maniera
Se il percorso prevede una svolta, gira nella direzione opportuna.
completa i comportamenti umani (come Terminator, o C-3PO), e di intelligenza articiale ristretta (narrow
Semplice, giusto? Ma cosa succede se teniamo in con-
conoscenAI), focalizzata su uno specico ambito di conoscen-
to i pedoni? Ovviamente, dovremo rivedere lo schema
za; ed è qui che si iniziò a denire il moderno campo
precedente, inserendo almeno un nuovo stato:
dell'intelligenza articiale; per ulteriori dettagli 'storici', vi
1.
...
rimandiamo a un nostro articolo precedente. precedente.
2.
Se trovi un pedone, fermati. Quando il pedone è fuori dal campo visivo, torna ad 1.
MACCHINE CHE APPRENDONO Poniamoci una domanda, che esuli dalle denizioni for 3
3.
…
E cosa accade se occorre evitare un'altra auto, la cui
SCI & TECH
posizione e velocità variano in maniera dinamica? Ov-
dello strato 2 in base alla forma dello stesso, è probabile
viamente, occorre modicare di nuovo la macchina a
che i neuroni fortemente attivi in caso di segnale blu ab-
stati. E i possibili stati aumentano esponenzialmente
biano connessioni molto forti con i neuroni attivi in caso
con all'aumento delle variabili considerate, no a renren-
di segnale di forma circolare o rettangolare, mentre le
dere questo approccio 'hard-coded' ingestibile: ed è qui
connessioni con i neuroni attivi in caso di forma triango-
che entra in gioco il concetto di machine learning, os-
lare abbiano minor rilevanza.
sia di macchine in grado di apprendere, e risponde-
Come si tarano, quindi, i pesi delle connessioni tra i vari
re autonomamente a stimoli esterni.
neuroni? La risposta è semplice: mediante una proce-
Per illustrare i vantaggi di una macchina che appren-
dura chiamata addestramento. Il progettista della rete,
de automaticamente, analizziamo nello specico uno
infatti, deve, una volta denitane l'architettura, dare in
dei problemi che devono essere risolti dalla nostra self-
pasto all'ANN un insieme di dati sucientemente dede-
driving car, ossia il riconoscimento dei segnali stradali.
scrittivo del fenomeno da caratterizzare, e denire una
L'auto deve riconoscere segnali di diverso tipo (obblighi,
funzione obiettivo, o di costo, che permetta di valutare
precedenze, etc.), in dierenti condizioni (inquadratura
quanto l'uscita eettiva della rete si discosti da quella
perfetta, fenomeni occlusivi, nebbia, inquadrature di
attesa. Nel nostro esempio, i dati di addestramento sa-
lato, etc.); per farlo, esistono vari metodi, a partire da
ranno un insieme di immagini di cartelli stradali, riprese
quelli supervisionati, che sfruttano la conoscenza di un
a varie angolazioni, o soggette a fenomeni di occlusione
esperto, il quale individua un insieme di 'caratteristiche',
parziale; la funzione obiettivo, invece, assumerà valore
o feature, che permettono di distinguere ciascun segna-
tanto maggiore quanto le caratteristiche estratte dalla
le dagli altri (ad esempio, forma, colore e scritta); queste
rete dieriranno da quelle predenite per ogni tipo di
sono utilizzate per addestrare un classicatore, classicatore, il qua-
segnale stradale. Notiamo che che il processo di adde-
le sarà in grado di determinare la classe di un segnale
stramento non è diretto, ma iterativo, iterativo, in quanto pre-
mai visto in precedenza. Gli approcci supervisionati,
vede che, passo dopo passo, siano rideniti i pesi delle
però, hanno dei limiti: alle volte non è semplice trova-
connessioni, allo scopo di minimizzare il valore assunto
re un insieme di feature sucientemente discriminatidiscriminati-
dalla funzione di costo.
ve, ed è probabile che si scelga un insieme sub-ottimo,
E' evidente come addestrare una rete neurale richie-
andando quindi a considerare caratteristiche inadatte ai
da molto tempo, in funzione della quantità di dati usati
ni della classicazione (ad esempio, lo spessore dei
per il training e della complessità dell'architettura. Ed
segnali stradali, o la loro distanza dal suolo). Di conse-
è per questo motivo che, no a poco tempo fa, le uniuni-
guenza, nel corso degli anni sono stat i sviluppati diversi
che reti che era possibile utilizzare erano le cosiddette
approcci non supervisionati, tra i quali i più conosciuti
architetture shallow, shallow, o superciali, che constavano di
sono le articial neural network (ANN), (ANN), di cui abbiamo
un unico layer di neuroni tra l'input e l'output. Questa
già accennato in un nostro precedente articolo. articolo.
scelta ha comunque solide fondamenta teoriche: infatti, il teorema dell'approssimazione universale aerma che
EMULARE IL CERVELLO UMANO
una rete con un unico strato nascosto, e dotata di
Le ANN (più comunemente note come reti neurali) si
un numero arbitrario di neuroni, è in grado di ap-
ispirano al cervello umano, il quale è composto da un
prossimare qualunque funzione. L'aumento delle ca-
elevato numero di neuroni (compreso tra i 10 ed i 100 mi-
pacità di elaborazione, ed in particolare l'introduzione di
liardi), ttamente interconnessi. Ovviamente, una strutstrut-
paradigmi di programmazione massivamente paralleli,
tura che riproduca fedelmente un cervello umano non è,
ha però permesso l'utilizzo di architetture con più layer,
con la tecnologia attuale, realizzabile; di conseguenza,
dette anche deep neural networks (DNN), (DNN), che, a pa-
le ANN sono organizzate in strati, o layer , successivi
rità di performance, permettono di ridurre il numero di
di neuroni; ogni neurone è connesso esclusivamente a
neuroni utilizzati, ed analizzare le feature estratte dalla
tutti i neuroni degli strati immediatamente precedente
rete a dierenti livelli di astrazione (questo concetto sarà
e successivo, denendo una direzione di propagazione
più chiaro in seguito). Le DNN hanno permesso un no-
dei dati, ed agisce da sommatore, pesando l'ingresso in
tevole avanzamento tecnologico: emblematico è il risul-
funzione del peso assegnato a ciascuna connessione
tato mostrato nel 2012 da Andrew Ng, uno dei massimi
con i neuroni dello strato precedente; tali pesi rappre-
esperti del settore, che è riuscito, assieme al suo team
sentano l'anità tra i neuroni di strati successivi: nel nono-
di collaboratori, ad addestrare una DNN composta da
stro caso, immaginando che i neuroni dello strato 1 si
10 miliardi di neuroni, usando 10 milioni di video presi
attivino in base al colore del segnale stradale, e quelli
casualmente da YouTube, anché classicasse corretcorret4
SCI & TECH
tamente praticamente qualsiasi oggetto sulla quale ve-
stramento, che prevedono l'utilizzo di operazioni di alge-
nisse interrogata.
bra tensoriale. Di conseguenza, è opportuno adarsi a
Nonostante questo, comunque, l'addestramento di una
framework già consolidati ed ottimizzati.
rete neurale rimane un'operazione onerosa. Se non vi
Ve ne sono vari, ognuno con un dierente livello di
fosse alcun modo di 'aggirare' questo limite, le DNN sa-
astrazione, e con il supporto a determinati linguaggi di
rebbero dei bei 'giocattoli' per ricercatori, ma di dubbia
programmazione. Tra i più importanti, ricordiamo Cae,
utilità, in quanto non utilizzabili in tempo reale. Invece,
disponibile come libreria Python, C e MATLAB, adatto
i nostri smartphone (e perno i dispositivi embedded)
per chi vuole utilizzare DNN 'standard', e che ore mag-
usano quotidianamente software sviluppato a partire da
giori performance a scapito del minore controllo sulle
una DNN, che permette loro di comprendere ciò che di-
parti della rete; abbiamo poi Theano, framework Py-
ciamo, o di taggare automaticamente i volti dei nostri
thon, che ore maggior controllo sull'architettura di rete,
amici nelle foto che postiamo sui social; ci deve quindi
a scapito ovviamente delle performance (se non ottimiz-
essere un modo per denire, a partire da una rete già
zato a dovere); da notare che Theano ha bisogno anche
addestrata, una sorta di 'database', accessibile in tempo
di appoggiarsi a librerie esterne per il calcolo numerico,
(quasi) reale, che permette di associare nuovi oggetti
come Scipy e Numpy. Degni di menzione sono anche
alle classi già individuate dalla rete. Ovviamente, que-
Torch, che si posiziona, come astrazione, tra Theano e
sta tecnica esiste, ed è chiamata inferenza: in questa
Cae; TensorFlow, framework mantenuto da Google e
modalità la DNN, dopo essere stata opportunamente
che, a giudizio di chi scrive, risulta essere estremamen-
addestrata, diventa un semplice sommatore pesato, in
te interessante, soprattutto in ottica futura; inne, citia-
quanto le connessioni tra neuroni sono già state deni-
mo MatConvNet, libreria MATLAB esplicitamente rivol-
te, ed facilmente gestibile in tempo reale dalla maggior
ta alla costruzione di un particolare tipo di DNN, ossia le
parte dei dispositivi attualmente disponibili.
convolutional neural network (CNN), particolarmente
Rimane quindi un ultimo problema: come fanno i pro-
importanti nel campo della classicazione delle immagi-
grammatori a trasformare i concetti esposti in applica-
ni, e che ci accingiamo a scoprire insieme.
zioni reali?
E NEL MONDO REALE?
UN ESEMPIO: LE CONVOLUTIONAL NEU- RAL NETWORKS
Nonostante si basino su intuizioni tutto sommato sem-
Come già accennato, non esiste un unico tipo di DNN:
plici (si parla pur sempre di sommatori pesati), non è
vi sono architetture orientate all'analisi probabilistica de-
banale implementare una DNN in maniera eciente,
gli stati che un sistema può assumere (le deep belief
anche a causa dei complessi algoritmi usati nell'adde-
networks, ad esempio), altre dedicate alla riduzione del
Figura 1 - Convolutional Neural Network 5
SCI & TECH
Figura 2 - Convoluzione di un'immagine (a sinistra) per un kernel di edge detection
rumore (denoising autoencoders), ed alcune, come le
ogni pixel dell'immagine originaria, e la somma, pesata
già citate CNN, rivolte espressamente al pattern reco-
secondo i valori della matrice-kernel, dei pixel nell'intor-
gnition, con particolare attenzione verso la classicazio-
no 'coperto' dal ltro, va a costituire il valore assunto dal
ne di immagini ed il riconoscimento vocale. Vediamo un
corrispondente pixel dell'immagine di uscita. Per meglio
esempio di CNN in gura 1.
comprendere il concetto, aiutiamoci con la gura 2.
Una CNN è composta da quattro dierenti tipi di layer.
Il kernel, che nello specico è utilizzato per l'indivi-
Il primo è il layer di convoluzione, che eettua un'ope-
duazione dei bordi dell'immagine, viene fatto scorrere
razione di 'ltraggio' dell'immagine, facendovi scorrere
sull'immagine di Lena, e questa operazione dà in uscita
un kernel, o ltro, di convoluzione. Il concetto è abba-
l'immagine a destra. La gura 2 ci dà un indizio sul ruo-
stanza semplice, e lo abbiamo introdotto negli articoli
lo dello strato di convoluzione: infatti, viene creata una
sul GPGPU, ma è opportuno richiamarlo brevemente.
mappa di attivazione, che evidenzia le zone dell'im-
Ricordando che le immagini digitali altro non sono se
magine che rispondono al kernel utilizzato, e ore una
non matrici di numeri interi, sulle quali è quindi possibile
rappresentazione del contenuto informativo dell'im-
eettuare operazioni matematiche, la convoluzione pre-
magine ad un livello di astrazione più elevato (in
vede che si faccia scorrere un kernel (anch'esso sotto
questo caso, evidenziando i bordi). Di solito, nelle CNN
forma matriciale, di solito di dimensioni 3 x 3 o 5 x 5) su
si usano dei banchi di ltri, per cui la mappa di attiva-
Figura 3 - Eetti di un layer ReLU 6
SCI & TECH
Figura 4 - Eetti del layer di max pooling
zione è normalmente un tensore a tre dimensioni, nel
il comportamento del cervello umano, che classica gli
quale ogni matrice rappresenta la mappa di attivazione
oggetti basandosi dapprima sui bordi, per poi passare
dell'immagine per il corrispondente ltro.
alle forme, alle informazioni di tessitura, e via dicendo.
Tenendo bene a mente questi concetti, introduciamo
L'ultimo layer di una CNN è il fully connected layer , os-
il secondo tipo di layer, ossia quello di attivazione. Il
sia uno strato i cui neuroni sono connessi a tutti i neuro-
compito di questo strato, che segue sempre il layer di
ni dello strato precedente. Questo tipo di layer funziona
convoluzione, è quello di inserire delle non-linearità nei
esattamente con le classiche architetture shallow, ed il
dati estratti dal layer precedente: questo avviene allo
suo compito è, essenzialmente, assegnare una catego-
scopo di caratterizzare al meglio i fenomeni reali, che
ria all'oggetto inquadrato nell'immagine.
come ben possono essere fortemente non lineari. In gura 3 si mostra l'azione di un tipo di layer di attivazione,
CONCLUSIONI
nello specico il rectied linear unit (ReLU), che agi-
Questo articolo ci ha dato una panoramica sulla rivo-
sce portando a zero tutti i pixel il cui valore è al di sotto
luzione cui stiamo assistendo nel mondo dell'intelligen-
di una certa soglia.
za articiale, dove il deep learning sta rivoluzionando i
Il terzo tipo di layer è di pooling , e serve, in buona so-
classici paradigmi, dando risultati insperati no a pochi
stanza, a sottocampionare la mappa delle feature in
anni fa, e facendo intravedere prospettive senz'altro ro-
uscita dal layer di attivazione.
see (o tetre, se siete amanti dello sci-).
Questa operazione è necessaria essenzialmente per
Ovviamente, l'argomento è molto vasto, e non può es-
ridurre i fenomeni di overtting, per i quali la rete potreb-
sere esaurito nello spazio di un unico articolo; in un
be aderire eccessivamente a feature non signicative, e
prossimo articolo, dunque, approfondiremo le CNN,
per ridurre la dimensionalità del problema, aumentando
introducendo una delle librerie citate in precedenza
l'ecienza della rete. In gura 4 è mostrato un esempio
(MatConvNet), e facendo degli esperimenti pratici sul-
di max pooling, per il quale la mappa di attivazione in
le immagini, dando un feedback pratico dei concetti qui
ingresso viene suddivisa in quadrati di dimensione 2 x
introdotti.
2, e di ciascuno di essi viene considerato soltanto il valore massimo. Nelle CNN, gli strati di convoluzione, attivazione e pooling sono reiterati in cascata, e quindi la mappa di attivazione in uscita dal primo 'gruppo' convoluzione - attivazione - pooling va in ingresso al gruppo successivo; questo permette di estrarre feature a livello di astrazione crescente, andando di conseguenza ad approssimare 7
L’autore è a disposizione nei commenti per eventuali approfondimenti sul tema dell’Articolo. Di seguito il link per accedere direttamente all’articolo sul Blog e partecipare alla discussione: https://it.emcelettronica.com/uno-sguardo-al-futurodellintelligenza-articiale-le-deep-neural-networks
R E K A M
Vinduino: una conveniente tecnologia open-source per il risparmio idrico di Andrea Garrapa
Vinduino è un sistema basato su tecnologie open-source sia hardware che software che permette l'irri- gazione automatica dei campi e al contempo un notevole risparmio idrico. Il signor Reinier van der Lee, ideatore del progetto, dopo aver testato il sistema nelle sue vigne in California, ha deciso di rendere pubbliche le speciche di Vinduino in modo che anche altri agricoltori possano avvalersi di questa miglioria. Data la natura open-source del progetto, esso rappresenta una possibilità di innovazione agricola a basso costo. In questo articolo verrano evidenziati un pò tutti gli aspetti del progetto, grazie
al materiale fornito direttamente dal creatore di Vinduino.
INTRODUZIONE
IL PROGETTO VINDUINO
irca il 70% dell'acqua potabile disponibile nel
C
L'idea per il progetto Vinduino è venuta dalla necessità
mondo viene utilizzata per scopi agricoli. Per
di meglio gestire l'irrigazione del vigneto Van der Lee,
questo è assolutamente ragionevole pensare di
un terreno di 4 acri coltivato a vigna in Temecula, Ca-
avvalersi della tecnologia per ottimizzare l'uso agricolo
lifornia.
di questa importante risorsa.
La regione vinicola di Temecula è posizionata nel sud
Le tecnologie per la gestione dell'irrigazione sono in giro
della California, tra San Diego e Los Angeles. Ci sono
da un pò di tempo, ma solo come sistemi proprietari.
circa 35 vigneti in questa zona, che ricevono ogni anno
Questo implica che un agricoltore che utilizza un dato
quasi 1,3 milioni di visitatori.
sistema è vincolato al suo fornitore. Usualmente questo
La versione originale era un maneggevole lettore per
porta a costi elevati e all'utilizzo di vecchie tecnologie
l'umidità del suolo, che doveva essere portato attraver-
poichè non vi sono incentivi all'innovazione per i pro-
so il vigneto e collegato ai sensori nei blocchi di gesso
duttori.
per misurare localmente i livelli di umidità del terreno.
Alcuni sistemi presenti sul mercato sono vantaggiosi
Il progetto Vinduino è stato premiato come "Miglior pro-
economicamente solo per i grandi produttori, lasciando
dotto" per il 2015 al Premio Hackaday, una competizio-
i piccoli coltivatori senza opzioni nell'ottica del risparmio
ne di ingegneria open-source con 900 concorrenti da
della risorsa idrica.
tutto il mondo.
HARDWARE E SOFTWARE OPEN-SOURCE
APPROCCIO ALL'IRRIGAZIONE
Sfruttando altri progetti open-source e strumenti softwa-
Le attuali pratiche di irrigazione dei vigneti, che sono
re a distribuzione gratuita, il progetto Vinduino utilizza
poi quelle utilizzate per decenni, prevedono una lunga
piattoforme disponibili a tutti come Arduino, Raspberry
irrigazione una volta a settimana. Una lunga irrigazione
Pi e il sito internet ThingSpeak, che sono ben documen-
drena in profondità nel terreno, laddove un'irrigazione
tati, a basso costo e modicabili da chiunque.
breve permette all'acqua di stazionare solo ai livelli su-
Il progetto Vinduino sviluppa un sensore a basso costo
periori.
e ben calibrato per valutare l'umidità del suolo, basato
Analizzando i dati dell'evapotraspirazione (ET), forniti
sulla tecnologia blocco di gesso WWII.
da stazioni meteo locali, è possibile stimare la quantità
Ora, più sensori possono essere usati per fornire dati
di acqua usata giornalmente.
maggiormente granulari sull'umidità del suolo, renden-
Allora è possibile determinare quanto è necessario irri-
dola una soluzione conveniente per i piccoli coltivatori.
gare il terreno per ristabilire la quantità di acqua perduta
La soluzione oerta è robusta, facile da installare e usa-
a causa della traspirazione delle piante e dall'evapora-
re proprio perchè pensata per i coltivatori diretti.
zione del suolo. 8
MAKER
Figura 1: dierenze, nel drenaggio dell'acqua nel terreno, tra irrigazione lunga (settimanale) e quella breve (giornaliera)
Irrigando una volta a settimana, e rimpiazzando la
un sensore di umidità al di sotto della zona attiva, è
quantità d'acqua settimanale in un solo ciclo di irriga-
possibile misurare quali profondità l'acqua raggiunge a
zione, viene rilasciata al suolo una quantità tale che
causa del drenaggio del terreno. Evitando che l'acqua
non può essere assorbita in uno o due giorni. L'acqua
dreni al di sotto delle radici, l'irrigazione può essere otti-
in eccesso viene drenata in profondità laddove le radici
mizzata per una migliore ditribuzione dell'acqua.
non possono più raggiungerla. A dierenza di quanto si
Gestendo i tempi di irrigazione in modo da restare nella
creda, anche per le piante con lunghe radici, come la
zona attiva delle radici, tutta l'acqua rimane disponibile
vite, l'approviggionamento eettivo di acqua avviene a
alle piante, in tal modo in sole due stagioni di crescita si
livello superciale (no a 4 piedi di profondità). La gura
è raggiunto il 25% di risparmio della risorsa idrica.
1 evidenzia quanto descritto sopra.
I livelli di umidità del terreno si possono esprimere in
Insieme al drenaggio dell'acqua anche i fertilizzanti ven-
due modi:
gono drenati via. Questo riduce l'ecacia di questi ultimi
•
Volumetrico/gravimetrico: 0-100%
del conte-
e aumenta l'inquinamento delle falde.
nuto d'acqua disponibile per unità di volume o
Irrigando con maggiore frequenza, tipo giornalmente, è
peso. Sensori di umidità del suolo come quelli
possibile dosare l'acqua in modo granulare, consenten-
Capacitivi o del tipo TDR, forniscono una misura
do di avvalersi dei dati giornalieri sull'evapotraspirazio-
volumetrica.
ne. L'obiettivo è quello di fornire esattamente la quantità
•
Tensione dell'acqua nel suolo: rappresenta l'e-
di acqua necessaria e distribuirla solo ai livelli di terreno
nergia necessaria per estrarre l'acqua dal suolo,
ove vi sia un sistema attivo di radici, poichè è da li che
generalmente espressa in centibars o kPa. Ten-
le piante assorbono l'acqua.
siometri o sensori resistivi come i blocchi di gesso o i sensori Watermark forniscono una misura
SENSORI DI UMIDITÀ
di questa grandezza.
Molteplici sensori sono stati instalallati in profondità nella zona attiva delle radici per monitorare se acqua
I metodi Gravimetrici e Tensiometrici sono semplici da
a sucienza è disponibile per le piante. Posizionando
capire e da calibrare. Per esprimere il contenuto d'ac-
9
MAKER
qua per unità di peso, occorre prendere un campione
agricola durante la seconda guerra mondiale. Questo
di suolo, pesarlo, quindi seccarlo in un forno, e ripesar-
semplice design, due elettrodi in un blocco di gesso, è
lo di nuovo. Il suolo totalmente secco contiene lo 0%
stato usato come un'alternativa a basso costo rispetto ai
di acqua. Quando invece viene saturato si ha il 100%,
costosi sensori commerciali nelle fasi iniziali del proget-
ed occorre pesarlo. Fatto ciò è possibile valutare con
to Vinduino. Questi sensori avevano svolto bene il loro
una proporzione il contenuto d'acqua gravimetrico dei
compito per diversi anni, ma il loro intervallo di rivela-
campioni precedenti. I metodi volumetrici e gravimetrici
mento iniziava a -55 kPa rendendoli inutili per le colture
sono dipendenti dal tipo di suolo, cosi occorre aggiusta-
tolleranti alla siccità.
re le letture in base alle proprietà locali del suolo. Ve-
Una nuova generazione di sensori è ora in fase di pre-
diamo un'esempio per illustrare l'importanza di questo
produzione. I test di calibrazione mostrano pieni inter-
accorgimento:
valli di rivelamento, 0-300 kPa, rendendoli adatti per tutti
Suoli argillosi presentano una grana na rispetto a quelli
i tipi di colture.
sabbiosi, e pertanto le forze capillari in grado di trattenere l'acqua sono di entità maggiore. Le piante inizieranno
USANDO LORA PER L'IOT AGRICOLO
a morire ad una tensione di terreno pari -150 kPa (infatti
Basandosi sui feedback di altri coltivatori, una versione
a questo punto, le radici delle piante non riescono a su-
wireless del lettore di umidità del suolo Vinduino è stata
perare la forza di aspirazione necessaria per estrarre
sviluppata. Inizialmente basata su collegamento Wi-,
più acqua dal terreno).
questa versione si è dimostrata non eciente a causa
Una tensione di -150 kPa equivale ad un contenuto di
della scarsa copertura oerta dal segnale.
acqua disponibile stimato intorno al 25% nell'argilla, ma
LoRa, una tecnologia wireless a lungo raggio senza li-
solo al 5% di acqua disponibile nella sabbia. Quindi dal
cenza, si è dimostrata adatta a soddisfare le esigenze
punto di vista di una pianta, la disponibilità di acqua di-
in termini di copertura e di costi contenuti. A seconda
pende dalla tensione del suolo, e non è la stessa quan-
delle condizioni climatiche locali, sono stati ottenuti col-
tità disponibile misurata con metodo volumetrico.
legamenti radio robusti su distanze di oltre 5 miglia. La
Ci sono punti di vista dierenti su quale sia la tipolo-
gura 2 evidenzia le dierenze nella copertura tra Wi-
gia migliore di sensore per il controllo dell'irrigazione.
e LoRa.
Comunque, nella maggior parte dei casi, gli agricoltori
Dopo aver valutato diversi kit di sviluppo LoRa, il signor
preferiscono i sensori per la tensione idrica del suolo
Van der Lee ha optato per i prodotti oerti da GlobalSat.
per farsi guidare nelle scelte sull'irrigazione.
Le motivazioni di questa scelta sono da ricercarsi nella
La prima generazione di sensori resistivi per l'umidità
facilità di sviluppo, nell'omologazione FCC e nella com-
del suolo, erano sensori in blocchi di gesso sviluppati
pletezza della sua gamma di prodotti.
da Bouyoucos e Mick nel 1940 come parte di una ri-
LoRa utilizza una topologia a stella, una congurazione
cerca nanziata dal governo per migliorare l'ecienza
dove no a 300 stazioni sensoristiche possono spedire
Figura 2: dierenze nella copertura tra Wi- e tecnologia LoRa 10
MAKER
Figura 3: una stazione sensoristica del progetto Vinduino
i loro dati a un singolo gateway centrale che li collezio-
Quattro terminali connettono i sensori di umidità del
na per inviarli su internet. Il progetto Vinduino utilizza
suolo: tre di questi monitorano i livelli di acqua nella
un protocollo di trasferimento dati con basso overhead,
zona attiva delle radici, mentre uno è installato al di
assumendo che tutti i dati arrivino e con suciente ri-
sotto di essa. Una scheda Vinduino supporta anche
dondanza.
l'aggiunta di un sensore di umidità/temperatura relativi
Molteplici gateways possono essere usati nella stessa
come il DHT22, che fornisce un'accuratezza dello 0,5%
copertura d'area. Quando 2 gateways ricevono e rispe-
nella lettura della temperatura. Un interrutore di poten-
discono uno stesso messaggio, solo il p rimo ad arrivare
za integrato, fornisce alimentazione ai sensori attivi solo
viene utilizzato. Questo risulta utile per molti coltivatori
quando occorre prendere una misura, facendo diminui-
che preferiscono operarare con la propria rete locale in
re cosi i consumi.
aree dove la copertura LoRa è indisponibile o intralciata.
A seconda del tipo di coltura utilizzata, sensori dieren-
Nella regione vinicola di Temecula, sono stati installati
ti possono essere considerati. Per gli agrumeti, il gelo
molteplici gateway le cui coperture si sovrappongono in
può provocare danni considerevoli, per cui un sensore
alcune zone, laddove in teoria sarebbero bastati 2 o 3
di temperatura può risultare utile. Un controllo della ve-
gateway per coprire l'intera area vinicola.
locità del vento con un anemometro prima di tirar fuori il trattore con lo spruzzatore può far risparmiare un sacco
STAZIONE SENSORISTICA VINDUINO
di tempo. Infatti quando la velocità del vento è troppo
La stazione sensoristica Vinduino colleziona i dati dai
alta, rende l'irrorazione dei campi inecace o indeside-
sensori nei campi e li trasmette in modalità wireless ad
rabile per l'ambiente.
intervalli di tempo programmati per limitare i consumi
La stazione Vinduino viene alimentata da un pannello
di potenza (gura 3). Per comunicazioni wireless, un
solare che ricarica una piccola batteria per mantenere
modulo LoRa può essere connesso per aumentare le
l'unità attiva dopo il tramonto o durante le giornate nu-
distanze del collegamento. In tal modo, durante i test,
volose.
una distanza di 6 miglia è stata coperta nella regione vi-
Il microcontrollore utilizzato in una stazione Vinduino
nicola di Temecula. Con antenne direzionali e condizioni
è compatibile con Arduino, rendendo semplice perso-
con linea di vista, si potrebbero coprire anche distanze
nalizzare il software e supportando un'ampia scelta di
maggiori, rimanendo comunque all'interno dei regola-
sensori e casi d'uso. Per tale motivo, il software della
menti FCC.
stazione Vinduino cosi come i suoi dettagli hardware,
Per le applicazioni vicine all'abitazione, un modulo Wi-
sono stati resi di dominio pubblico.
ESP8266 può essere usato in alternativa. In tal modo la connessione diretta ad internet elimina la necessità
IL GATEWAY LORA
di un gateway.
Per connettere le stazioni di sensori LoRa ad internet, è
11
MAKER
necessario un LoRa Gateway. Per il progetto Vinduino
ThingSpeak.com immagazzina i dati dei sensori in un
una selezione di Gateway disponibili viene riportata di
database, ed essi si possono scaricare in un formato da
seguito:
foglio di calcolo per analisi di tipo locale.
•
Commerciali - LG-S201H LoRa MOST Gateway.
Per chi volesse maggiori opzioni diverse compagnie
•
Open-source - basato su Raspberry Pi e modulo
orono strumenti fai da te basati su ThingSpeak.com.
USB LoRa GlobalSat LD-20.
Esempi di questo tipo sono FreeBoard, e gli script Java Highstock, gratuiti per usi non commerciali.
RISPARMI REALIZZATI Nei primi mesi del 2015, il signor Van der Lee ha installato delle valvole a batteria per il controllo dell'irrigazione in sostituzione del controllo manuale. Usando i dati sull'evapotraspirazione e sull'umidità del suolo, per prendere le decisioni sull'irrigazione dei campi. Basandosi sui dati dell'evapotraspirazione, ha potuto calcolare quanti galloni di acqua per vite al giorno fossero necessari. Se, ad esempio, le temperature avessero subito un'impennata oltre i 100 °F, i calcoli fatti avrebbero riportato un fabbisogno giornaliero di 4 galloni per vite. Ogni pianta di vite presenta 2 gocciolatori progettati per fornire ognuno 1 gallone d'acqua ogni ora. Allora sarebbe suciente impostare il tempo di irrigazione a 2 ore per fornire i 4 galloni
Figura 4: Gateway LoRa
necessari. I dati dei sensori di umidità del suolo Con questa congurazione un Gateway open-source
possono essere usati per creare un sistema ad anello
può gestire no a 300 stazioni di sensori entro un raggio
chiuso. Supponendo ad esempio come errate le stime
di 5 miglia. In gura 4 viene riportato un LoRa gateway
dell'evapotraspirazione, allora si dovrebbe notare un
utilizzato nei campi Van der Lee.
trend negativo o positivo dell'umidità del terreno, quan-
L'installazione tecnica della versione open-source del
do invece si dovrebbe mantenere costante. Utilizzando
gateway può essere limitata allo scaricamento ed instal-
la tendenza dell'umidità è possibile correggere i tempi di
lazione dell'ambiente di programmazione per il linguag-
irrigazione per mantenere costante l'umidità del suolo.
gio libero Python, al caricamento e installazione del sof-
Il 2015 è stato l'anno più caldo della storia, e come tale,
tware libero per il gateway Vinduino, e al collegamento
un confronto diretto con gli anni precedenti in termini di
del dongle LoRa alla porta USB.
utilizzo di acqua risulterebbe non adabile. Nonostan-
Essendo il software basato sul linguaggio di program-
te ciò, la stima del risparmio di acqua per l'anno 2015
mazione Python, le piattaforme PC supportate con pos-
rispetto agli anni precedenti è risultato pari al 25% com-
sibilità di funzionare come gateway includono Windows,
parando l'uso di acqua nel periodo del raccolto. Inoltre
MacOS, Ubuntu Linux, e Raspberry Pi.
con le nuove soluzioni adottate vi è stato anche un ri-
I dati di base si possono visualizzare gratuitamente sul
sparmio sul costo per il funzionamento manuale dell'ir-
sito ThingSpeak.com. Il software per il gateway Vindu-
rigazione.
ino è impostato per spedire i dati dei sensori diretta-
Ma la cosa più importante secondo il signor Van der
mente a ThingSpeak.com, il quale ore rappresentazio-
Lee, risulta essere il fatto di possedere gli strumenti
ni grache dei dati dei sensori ed anche alcune opzioni
per gestire l'irrigazione senza compromettere la salute
di personalizzazione come scale temporali e medie.
del vigneto o la resa dei campi. Dopotutto, la resa delle
12
MAKER
colture è quella che paga le bollette per un agricoltore. I risultati del risparmio iniziale hanno dimostrato la sostenibilità del progetto, e spinto a rendere Vinduino di dominio pubblico per essere sfruttato da altri agricoltori.
VALORE AGGIUNTO Il progetto Vinduino avendo a che fare con sensori, stazioni e gateway presenta ampie possibilità di miglioria grazie alla possibilità di personalizzazione e all'aggiunta di app per smartphone. Avere un sistema open-source rende semplice per gli sviluppatori personalizzare e aggiungere valore al sistema. Aggiunte future potrebbero includere un controllo per l'attuatore di irrigazione, già previsto nell'hardware Vinduino, e una macchina per l'apprendimento in grado di ottimizzare la programmazione di irrigazione.
CONCLUSIONI Il concetto di utilizzare tecnologie open-source per la creazione di sistemi per il risparmio idrico a prezzi accessibili è ben accetto all'interno delle comunità di coltivatori. Le soluzioni proposte da Vinduino hanno trovato spazio presso diversi vigneti negli Stati Uniti, ed anche presso un crescente numero di paesi oltremare , tra cui Argentina, Australia, Brasile, Cile, Francia, Germania, e Tunisia. L'applicazione non è limitata solo ai vigneti, ma molte altre colture come fagioli, caè, frutteti, potrebbero usufruirne nel prossimo futuro.
NOTE
Si ringrazia il signor Reinier van der Lee per la documentazione fornita, con cui è stato scrio questo ar colo. Reinier van der Lee è un vicoltore nel tempo libero, ed opera come Direore del Product Markeng per una compagnia high-tech nel campo dei semiconduori ad Irvine.
L’autore è a disposizione nei commenti per eventuali approfondimenti sul tema dell’Articolo. Di seguito il link per accedere direttamente all’articolo sul Blog e partecipare alla discussione: https://it.emcelettronica.com/vinduino-una-convenientetecnologia-open-source-per-il-risparmio-idrico
13
H C E T & I C S
Come ridare colore ad una vecchia foto B/N di Giovanni Di Maria
Con un software di graca e di fotoritocco, l'operazione di trasformazione delle immagini, da colore a bianco e nero, è un'operazione assai semplice e basta solo un click per eettuarla. Ben più complicata risulta l'operazione opposta, ossia quella di dare colore ad una foto antica o monocromatica. Seguendo attentamente questa guida e applicando con precisione le azioni corrette, è possibile ottenere perfette fotograe ricolorate, per un risultato incredibile. L'operazione può essere svolta con diversi programmi di graca, quali PhotoShop, Gimp e Photoltre.
a trasformazione di una vecchia foto priva di cro-
IMMAGINI IN SCALA DI GRIGI
mature in un'immagine colorata è indubbiamente
Fondamentalmente, in una foto in scala di grigi, i pixel
una sda per tutti. Un'emozione che ridà ai vecchi
possono avere un valore oscillante tra zero (nero asso-
ricordi una nuova vita. Con il colore, infatti, i partico-
luto) e 255 (bianco assoluto). Tra i due estremi vi sono
lari nascosti tornano miracolosamente visibili e l'intera
diversi valori che rappresentano le diverse graduazioni
atmosfera acquisisce una nuova linfa vitale. La ricolo-
di grigio (gura 1).
L
razione può diventare anche un mestiere o una professione. Sono molte le persone che vogliono far tornare
IMMAGINI A COLORI
verdi i ricordi e tale processo graco e fotograco è, in-
Esistono diverse codiche delle immagini a colori. Il
dubbiamente, l'occasione migliore.
modello RGB prevede che ogni componente di colo-
A livello di "pixel", un'immagine a colori è, ovviamente,
re sia compreso tra 0 e 255, al ne di disporre di ben
diversa da una in bianco e nero. Per essere più precisi,
256^3=16777216 cromature diverse per ogni pixel.
la foto dovrebbe essere denominata "in scala di grigi",
Ogni punto è codicato, in questo caso, non da un sin-
proprio per evidenziare la presenza di diversi livelli di
golo valore (come nel caso di immagini in scala di gri-
luminosità del singolo punto.
gi) ma da tre numeri rappresentanti, rispettivamente, la
Figura 1: Scala di grigi 14
SCI & TECH
Figura 2: Codici RGB di alcuni colori
Figura 3: come calcolare la luminanza
quantità di rosso (R), di verde (G) e di blu (B) presenti
componenti RGB sono, infatti, sempre uguali tra loro.
(gura 2).
Si può provare ciò impostando la palette di colore in un
Un ampio approfondimento sul tema è consultabile in
qualsiasi software di graca.
questo link.
Basta, infatti, calcolare la media aritmetica dei valori RGB, ossia sommare questi ultimi e dividere per tre, se-
DA COLORE A SCALA DI GRIGI
condo la formula (R+G+B)/3 (gura 3).
Da un punto di vista matematico, è molto semplice tra-
Adesso un esempio pratico: si supponga di avere cinque
sformare un pixel colorato in uno in "grayscale". Le tre
pixel colorati in RGB, secondo la seguente tabella:
15
SCI & TECH
Pixel 2
Pixel 3
Pixel 4
Pixel 5
Rosso (R)
40
248
12
244
137
Verde (G)
215
51
7
232
35
Blu (B)
15
16
177
72
33
Pixel 1 Colore
A questo punto è suciente calcolare la media aritmeti-
DA SCALA DI GRIGI A COLORE
ca delle componenti RGB di ogni punto e "rimpiazzare"
E veniamo adesso
gli stessi con il risultato ottenuto. Ad esempio, il primo
come trasformare, o meglio, ricolorare una vecchia foto
pixel verde dell'esempio è caratterizzato dai valori:
bianco e nero. Si tratta di un'esperienza unica e ricca di
all'argomento dell'articolo, ossia
soddisfazioni, se eseguita bene. Come detto prima, la R=40 G=215 B=15
massima euforia si ha quando chi vede la foto ritoccata, esclama con sorpresa: "Ah, era prima in bianco e nero?
La media ammonta a (40+215+15)/3 = 90
Non l'avrei mai sospettato!". E' molti dicile, se non im-
Il pixel nale avrà i seguenti valori di RGB:
possibile infatti, ridare l'originale crominanza all'immagine e molte volte si deve agire di istinto, usando molta
R=90 G=90 B=90
immaginazione e fantasia. L'immagine mostrata in gura 5 mostra una foto del
ed esso risulterà sicuramente di colore grigio.
grande scienziato Albert Einstein in bianco e nero (a
Per tutti gli altri pixel si seguirà lo stesso criterio ed il
sinistra). Seguendo il procedimento illustrato in seguito,
risultato nale è mostrato nella gura 4.
sono riuscito, con buoni risultati, a riprodurre un'immagine a colori del Genio, in pochi minuti. Occorre fare un po' di pratica e avere l'occhio per "azzeccare" i giusti colori e le corrette tonalità.
GLI STRUMENTI DA UTILIZZARE Per eettuare questa tipologia di operazioni si deve usare un software di graca e di fotoritocco. Anticamente, le ricolorazioni erano eettuate dipingendo a mano, con inchiostri semitrasparenti, le fotograe. Si trattava di operazioni particolarmente laboriose e distruttive, e se si commettevano errori, si poteva dire addio alla foto originale. Per le nostre prove utilizziamo il software Gimp, un Figura 4: Alcuni colori e relativa rappresentazione in grigio
grandioso programma "free" di fotoritocco, succedaneo a PhotoShop. Esso è reperibile in questo sito. Potranno, naturalmente, essere anche utilizzati altri software
Proprio a causa di questo eetto "distruttivo" di infor -
equivalenti.
mazioni, la procedura è irreversibile, nel senso che è
I requisiti richiesti dall'applicativo dovranno essere i se-
impossibile ricostruire il colore da una immagine in sca-
guenti:
la di grigi.
•
Possibilità di gestire i livelli (gura 6);
Un punto grigio, infatti, potrebbe essere stato originaria-
•
I livelli dovranno prevedere la modalità "colore"
mente giallo, verde, rosso o un altro colore ancora.
oltre che quella "normale".
Se si ragiona bene, infatti, un punto caratterizzato da 256^3 combinazioni possibili è stato "declassato" ad un
LA PROCEDURA "BASE"
punto avente solo 256 possibilità di valori.
Vediamo adesso quali sono i passi fondamentali per 16
SCI & TECH
Figura 5: Lo scienziato ricolorato
nostro caso uno scatto dello scienziato Albert Einstein). Ognuno può, naturalmente, eettuare le prove con le vecchie foto dei propri avi. Il successivo passo è quello della ricolorazione. Si tratta di una fase estremamente divertente e creativa, ma anche laboriosa e impegnativa, nella quale si vedrà crescere il proprio lavoro e migliorare passo dopo passo. Allo scopo, si consiglia di utilizzare un buon monitor, ben luminoso, di alta qualità e dai colori fedeli. La ricolorazione non deve interessare tutta l'intera foto, in un unico passaggio, bensì i singoli elementi devono essere trattati uno per volta. Si passerà, dunque, a colorare il volto, i mobili, la maglia, il muro, eccetera, dedicando ad essi una fase ben precisa e specica di lavoro. Le procedure adottate, pertanto, potrebbero cambiare da caso a caso.
COLORAZIONE DEL MAGLIONE Iniziamo naturalmente dalle procedure più semplici. Anche se la tecnica è sempre la stessa, conviene togliersi prima i lavori facili. Ovviamente non possiamo sapere quale fosse il colore originale del maglione ma dal vaFigura 6: Livelli
lore di luminanza si desume facilmente che esso fosse abbastanza scuro. Si può sceglierlo, pertanto, seguendo i propri gusti e, ovviamente, le usanze dell'epoca.
iniziare una ricolorazione di una fotograa. Ovviamente
Optiamo, dunque, per una tonalità che dia sul blu.
essa deve risultare in scala di grigi o, meglio, priva delle
Occorre, allo scopo, creare un nuovo livello, da spostare
componenti cromatiche, ma in codica RGB (gura 7),
sopra a quello di background (il volto del genio). Dopo
in modo da poter modicare i punti per la successiva
la scelta del colore di foreground (blu) e l'assegnazione
colorazione. Con il Gimp si apra una vecchia foto (nel
del nome del nuovo livello (maglione) si provvederà a
17
SCI & TECH
Figura 7: Modalità RGB della foto
denirne la modalità "colore" (gura 8).
A questo punto, con lo strumento "pennello" o "matita", si può tranquillamente disegnare e dipingere sul maglione, non preoccupandosi, al momento, della qualità del risultato nale. Il colore deve risultare uniforme e le pennellate devono ricoprire interamente il capo di abbigliamento (vedi gura 9). Ovviamente occorre lavorare con molta precisione, evitando errori e sbavature. Come si vede dal risultato (a sinistra) il maglione è ancora caratterizzato da un colore troppo "acceso" ed elettrico. Abbassando l'opacità del livello la sua tonalità si ammorbidirà decisamente. In alto a destra è visualizzato il singolo livello contenente la copertura blu appena eettuata. Con un valore del 40% di opacità (gura 10), il risultato è abbastanza verosimile. Tale valore, ovviamente, sarà scelto in base alle caratteristiche grache della foto.
COLORAZIONE DEGLI OCCHI Figura 8: Modalità Colore del Layer
Anche questa fase segue perfettamente lo stile di quel18
SCI & TECH
Figura 9: Il livello ricolorato del maglione
Figura 10: Regolazione dell'opacità
la precedente. Occorre scegliere la tonalità desiderata,
COLORAZIONE DELLA PELLE
creare un nuovo livello impostandolo in modalità "colo-
Ahimè, questo è il passaggio più duro e complicato. Ri-
re" e colorare le parti interessate in maniera precisa (nel
uscire a riportare in vita il colore della carnagione è in
nostro caso gli occhi saranno di colore marrone, come
assoluto l'operazione più complicata, nella ricolorazione
mostrato in gura 11).
delle vecchie foto.
19
SCI & TECH
Con la stessa metodologia precedente, si copra l'intero volto stando bene attenti a considerare anche tutte le altre componenti, come le orecchie, il naso, le palpebre, ecc. Le labbra, dal momento che hanno una colorazione diversa, le lasciamo per un successivo passaggio. Occorre prestare attenzione anche a non "invadere" i capelli, le sopracciglia e i ba. Per la migliore riuscita si consiglia di alternare l'utilizzo del pennello e della Figura 11: Operazione agli occhi
matita. Inoltre, conviene utilizzare un pennello grosso per ini-
La scelta della tonalità "giusta" è estremamente critica
ziare a lavorare su vaste aree (gura 13), e poi ridurlo
e dipende da molti fattori. Basterebbe, infatti, un minimo
progressivamente per ritoccare i particolari.
scostamento di valore per determinare una pelle troppo scura, troppo olivastra o del tutto innaturale. In ogni caso si deve procedere per tentativi, non esiste un valore assoluto RGB adatto per ogni occasione. Un buon punto da cui partire è quello di una tonalità RGB pari a {212,80,22} (#d45016) o, meglio ancora, {212,100,22} (#d46416). Proviamo adesso il secondo valore e controlliamo se esso ben si adatta al volto dello scienziato. Questa tonalità tende a un marronearancione di media luminosità (gura
Figura 13: Maschera del volto
12). Erroneamente si è tentati a scegliere direttamente il colore rosa, ma in quest'ultimo caso la pelle risulterebbe troppo tenue.
Il colore della pelle risulta evidentemente troppo acceso. E' suciente abbassare l'opacità del livello (gura 14), come in precedenza, per ottenerne una buona qualità. Nel nostro caso la percentuale è pari al 50%. Fate valutare il risultato a persone estranee al lavoro, come i vostri familiari e colleghi. Un occhio "esterno" e fresco, in questi casi, è di grande aiuto e un consiglio da parte dei "non addetti" è realmente molto prezioso e sicuramente pratico e veritiero.
COLORAZIONE LABBRA MARGINE PALPEBRALE
E
A tale scopo si deve usare lo stesso colore della pelle, aumentando però la tonalità di rosso (o diminuendo quella verde). Con una buona scelta dell'opacità, e un po' di fantasia, si possono ottenere risultati davvero imFigura 12: Colorazione della pelle
pressionanti (vedi gura 15). 20
SCI & TECH
•
Luce debole
•
Estrazione grana
•
Fusione grana
•
Dierenza
•
Somma
•
Sottrazione
•
Solo toni scuri
•
Solo toni chiari
•
Tonalità
•
Saturazione
•
Colore (quello usato da noi)
•
Valore
Ogni eetto è caratterizzato da una precisa formula matematica. Quello utilizzato nell'esempio usa la tonalità e la saturazione del livello superiore e il valore del livello inferiore (gura 17) per formare l'immagine risultante. Figura 14: Colorazione parziale
Figura 15: Aggiunta di rosso
LE MODALITÀ DI LIVELLO Il Gimp mette a disposizione ben 21 modalità di livello. Esse hanno lo scopo di rappresentare e visualizzare un livello in maniera dierente, in base ai livelli sottostanti. Avviene, in pratica, una sorta di "mix" tra i layer che si trovano sotto quello corrente. Con tali possibilità si possono ottenere eetti realmente fantastici e sorprendenti, dicilmente ottenibili con altri mezzi. Le modalità di livello (gura 17), almeno nella versione
Figura 17: I vari livelli utilizzati
corrente di Gimp (2.8.14) sono le seguenti:
21
•
Normale
•
Dissolvenza
CONCLUSIONI
•
Moltiplicatore
La ricolorazione di una foto, anticamente, era conside-
•
Divisore
rata un'arte e solo pochi esperti di fotograa e pittura sa-
•
Schermo
pevano eseguirla. Oggi, grazie alla presenza di softwa-
•
Sovrapposto
re sosticati, essa può essere eettuata da un numero
•
Scherma
maggiore di utenti. Bisogna non dimenticare, però, che
•
Brucia
l'aspetto artistico è sempre presente e per ottenere otti-
•
Luce forte
mi risultati occorre tanta precisione, passione e tempo a
SCI & TECH
Figura 16: Colorazione completata
disposizione. Durante le fasi di lavorazione è consiglia-
Ovviamente non si è obbligati ad utilizzare solo la mo-
bile riposarsi un po' e distogliere lo sguardo dall'immagi-
dalità di livello "colore". Infatti, con altre modalità si
ne. L'occhio "consumato", infatti perde quella elasticità e
possono ottenere diverse altre tipologie di colorazioni
quella prontezza nel cogliere le sfumature impercettibili.
certamente più ecaci e adatte ad ogni singolo caso.
Un occhio estraneo e "nuovo", invece, si accorgerebbe
Si devono sempre fare degli esperimenti. Per iniziare a
subito di eventuali imperfezioni e dissonanze cromati-
intraprendere questo ramo del fotoritocco si consiglia di
che. Un altro consiglio, già accennato in precedenza, è
rispolverare il cassetto dei ricordi di famiglia e di sceglie-
quello di fare commentare e giudicare il lavoro da altre
re qualche foto di particolare interesse, ragurante avi,
persone (familiari, colleghi, bambini, ecc). I non addetti
nonni e antenati. Altresì, è opportuno che la foto conten-
ai lavori, infatti, colgono quei particolari che normalmen-
ga anche altri elementi "materiali", come mobili, oggetti,
te sfuggono a chi esegue la ricolorazione.
natura morta, paesaggi naturali, ecc. In questo modo si 22
SCI & TECH
Figura 19: Una ricolorazione ben riuscita
Figura 18: Le modalità di livello
può sperimentare il metodo su un ampio raggio di azione, espandendo la casistica delle metodologie da usare e da adottare. Non dimenticate di correggere anche le imperfezioni delle immagini, ricostruendo zone mancanti con la clonatura e regolando eetti e ltri secondo le esigenze del caso, in modo che il restauro risulti perfetto. La gura 20 è una foto antica del 1950 che un mio cliente (adesso anziano ma a quei tempi prestava servizio militare) ha voluto riportare in vita, facendomela ricolorare (gura 19) come se fosse stata scattata ai giorni d'oggi. Penso che i risultati ottenuti siano più che lusinghieri. Per i colori e le caratteristiche del jukebox ho eseguito una ricerca su Internet proprio sul modello presente nell'immagine.
L’autore è a disposizione nei commenti per eventuali approfondimenti sul tema dell’Articolo. Di seguito il link per accedere direttamente all’articolo sul Blog e partecipare alla discussione: https://it.emcelettronica.com/come-ridare-colore-ad-unavecchia-foto-bn
Figura 20: Antica foto originale 23
H C E T & I C S
Corso di Elettronica per ragazzi 7-12: collegamenti in serie e in parallelo di Giovanni Di Maria
In questa seconda puntata del corso di elettronica per ragazzi scopriremo, sempre in maniera semplice e divertente, cosa sono e a che servono i collegamenti in serie e in parallelo in un circuito. Inoltre ini - zieremo a parlare della legge di Ohm, tanto essenziale e importante per la determinazione del corretto
valore dei componenti elettronici.
CUNICOLI
I
•
le resistenze, rappresentate da R1 e da R2,
n un circuito elettrico, i componenti elettronici, quando
sono come delle strettoie nel cunicolo che limi-
sono più di uno, possono essere collegati tra loro in
tano il transito dei bambini, facendone passare
due diverse modalità:
meno;
•
in serie;
•
in parallelo.
•
l'utilizzatore (in questo caso la lampadina), rappresentato da L1, è come un gioco di sonagli che i bambini muovono al loro passaggio. Costi-
Tale dierenziazione cambia totalmente il modo in cui la
tuisce la nalità stessa del circuito, ossia quella
corrente elettrica si distribuisce in esso, modicando
per cui è stato realizzato l'insieme dei cunicoli,
anche la sua nalità. Vediamo di capire, innanzitutto, le
che è il divertimento dei bimbi. Si noti che l'u-
due diverse tipologie, rarontando gli elettroni a dei
tilizzatore è anche una sorta di resistenza, in
bambini che, attraversando un cunicolo, compiono al-
quanto anch'essa limita il cammino dei bimbi;
cune divertenti operazioni.
•
il simbolo di massa (o terra) è sempre necessario in un circuito e ssa, su tale punto, una
COLLEGAMENTO IN SERIE
tensione di 0V.
In questo tipo di collegamento (vedi gura 1) gli elettroni, ossia i bambini, possono attraversare una sola stra-
COLLEGAMENTO IN PARALLELO
da, disponendosi uno dietro l'altro. Se un bambino si
In questo tipo di collegamento (vedi gura 2) gli elettro-
ferma si blocca il usso del cammino di tutti gli altri.
ni, ossia i bambini, possono attraversare diverse strade
Andiamo attentamente a esaminare le varie parti che
alternative. Se un bambino blocca il usso del cam-
compongono il circuito in serie, osservando le due illu-
mino in una strada, gli altri bimbi possono continua-
strazioni, sapendo che la comprensione di tale losoa
re a percorrere le altre vie. Andiamo nuovamente a
è indispensabile per il proseguo della lettura:
esaminare le varie parti che compongono il circuito in
•
gli elettroni sono come dei bambini, che corrono e che si muovono solo in un senso, all'interno
•
parallelo, osservando le due illustrazioni sotto: •
anche qui gli elettroni sono come dei bambini,
del cunicolo. Quest'ultimo rappresenta il sistema
che corrono e che si muovono solo in un senso,
dei conduttori elettrici del circuito, ossia i li e i
all'interno del cunicolo. Esso rappresenta l'insie-
cavi, dai quali essi non possono uscire;
me dei conduttori elettrici del circuito, ossia i li
la pila, rappresentata da V1, è come il latte e
e i cavi. I bambini, in questo caso, scelgono ca-
serve per dare energia ai bambini. Se l'alimento
sualmente la strada da percorrere;
termina i bambini non si muovono più. Esso è denito anche "generatore di tensione";
•
la pila, rappresentata da V1, è come il latte e serve per dare energia ai bambini; 24
SCI & TECH
Figura 1: comprendere il collegamento in serie in un circuito elettrico
•
gli utilizzatori (in questo caso le tre lampadine),
sario in un circuito è ssa, su tale punto, una
rappresentate da L1, L2 e L3, sono come dei
tensione di 0V.
giocattoli che i bambini utilizzano momentaneastessa del circuito, ossia quella per cui è stato
REALIZZIAMO UN CIRCUITO IN SERIE CON QUATTRO DIODI LED
realizzato l'insieme dei cunicoli. Si noti che gli
Bene, adesso che sono stati compresi i concetti base
utilizzatori si comportano come le resisten-
dei tipi di collegamento tra i vari componenti, possiamo
ze, in quanto essi limitano il cammino dei bimbi;
approntare e realizzare il circuito elettrico proposto in
il simbolo di massa (o terra) è sempre neces-
gura 3. Esso risulta formato dai seguenti componenti
mente al loro passaggio. Costituiscono la nalità
• 25
•
SCI & TECH
Figura 2: comprendere il collegamento in parallelo in un circuito elettrico
elettronici: •
una batteria da 9V, utilizzata quale generatore una resistenza di limitazione di corrente, dal va-
ESPERIENZE SUL CIRCUITO IN SERIE CON QUATTRO DIODI LED
lore di 100 ohm (colori marrone, nero e marro-
Completato il cablaggio elettrico possiamo subito pas-
ne), che ha la funzione di non far bruciare i diodi
sare a eseguire alcune esperienze pratiche che, ripe-
Led;
tiamo, sono indispensabili alla comprensione dell'argo-
quattro diodi Led, collegati in serie, nel quale il
mento. La sola lettura degli articoli non basta.
di tensione; •
•
successivo, in cascata.
catodo di un diodo è collegato con l'anodo del
•
ESPERIMENTO: Si stacchi e attacchi ripetuta26
SCI & TECH
neranno. Questo perché i diodi Led sono componenti elettronici "polarizzati" e hanno bisogno della giusta polarità della pila, per funzionare. *** •
ESPERIMENTO: Si elimini un diodo
Led lasciando staccati i li rimasti. Quale sarà il risultato? •
RISULTATO : Nessun diodo Led si il-
luminerà. E' suciente staccarne almeno uno che il circuito in serie non funzioni
più. In pratica si interrompe il cammino degli elettroni. *** •
ESPERIMENTO: Si inverta il verso di
uno dei diodi Led, a piacimento, cambiando tra loro il catodo con l'anodo. Quale sarà il risultato?
Figura 3: il cablaggio di quattro diodi Led in serie
•
RISULTATO : Il circuito in serie si inter-
rompe e nessun diodo Led si illuminerà. mente il lo da un qualsiasi polo dalla pila. Quale sarà il risultato? •
•
suo posto si colleghi uno spezzone di lo. Quale
diodi Led si illumineranno, viceversa rimarranno
sarà il risultato? •
***
•
ESPERIMENTO: Si elimini la resistenza e al
RISULTATO : Se il lo sarà collegato, i quattro spenti.
•
***
RISULTATO: Inizialmente tutti i quattro diodi Led si illumineranno con tanto vigore ma dopo qual-
ESPERIMENTO: Si inverta la polarità della pila,
che secondo, visto che non c'è più la limitazione
connettendo il polo negativo al lo rosso e il polo
di corrente, i componenti si bruceranno e la
positivo al lo nero. Quale sarà il risultato?
luce, pian piano, si aevolirà. I diodi possono
RISULTATO : I quattro diodi Led non si illumi-
essere gettati nella pattumiera (essi costano po-
Figura 4: la misura di tensione ai vari nodi del circuito in serie 27
SCI & TECH
chi centesimi di euro), ma l'esperimento è stato
•
spostiamo, inne, il puntale positivo (rosso) al
un buon investimento di conoscenza ed espe-
punto (f). Su tale nodo si leggerà la tensione di
rienza.
9V. Di fatto stiamo misurando la tensione generata dalla pila.
MISURE DI TENSIONE SUL CIRCUITO IN SE- RIE CON QUATTRO DIODI LED Dopo aver realizzato il circuito ed eseguito le varie esperienze, dovremmo già avere acquisito qualche bagaglio
“
I vari punti del circuito sono detti nodi
tecnico in più. Eseguiamo, adesso, alcune misure di tensione, al ne di aumentare la nostra consapevolez-
Come abbiamo visto, collegando il tester a un diodo
za teorica e pratica sui circuiti. Ricordiamo, nuovamen-
Led, otteniamo la lettura di una determinata tensione
te, che in questo tipo di collegamento, gli elettroni che
ai capi. Si noti che, erroneamente a quanto si potreb-
attraversano la pila, la resistenza e i quattro diodi Led
be pensare, non è il diodo a generare tensione elettrica
sono gli stessi, dalla loro uscita dalla pila no al loro
ma si tratta di quella della batteria che, poco a poco, si
ingresso nel generatore. Essi producono gli eetti su un
abbassa per eetto dei vari componenti. Non troveremo
componente e poi passano al successivo.
mai in qualsiasi nodo, infatti, una tensione più grande
Allo scopo predisponiamo il tester (o i tester) alla misu-
di 9V.
ra della tensione (Volt) e colleghiamo lo strumento così come è indicato nella gura 4. Precisamente eseguiamo quanto segue: •
il puntale negativo (di colore nero) del tester va
Dopo aver esaminato il circuito in serie passiamo a rea-
"messo a terra", ossia si deve collegare (in que-
lizzare il circuito elettrico proposto in gura 5. Esso risul-
sto caso) al polo negativo della pila (chiamato
ta formato dai seguenti componenti elettronici:
anche "ritorno comune"); •
REALIZZIAMO UN CIRCUITO IN PARALLELO CON QUATTRO DIODI LED
•
di tensione;
colleghiamo adesso il puntale positivo del tester (di colore rosso) al punto (a) del circuito. I più
una batteria da 9V, utilizzata quale generatore
•
quattro diodi Led, collegati in parallelo, precedu-
attenti avranno capito subito che tale punto com-
ti dalle relative resistenze di limitazione da 470
bacia con la massa stessa, quindi i due terminali
ohm (colori giallo, viola e marrone).
dello strumento di misura sono, a tutti gli eetti,
•
connessi tra loro. In questo caso leggeremo
Dal circuito di cui sopra si possono notare due curiose
sul display una tensione pari a 0V;
particolarità:
spostiamo, quindi, il puntale positivo (rosso) al
•
punto (b). Esso è l'anodo dell'ultimo diodo. Su tale nodo si leggerà la tensione di 1.8V, corrispondente alla caduta di tensione ai capi di tale
Ogni resistenza e diodo sono collegati in serie tra loro;
•
Le quattro celle resistenza+diodo sono collega-
te in parallelo tra loro.
componente, come abbiamo visto nella prima •
•
•
puntata;
Questo fatto deve cominciare a fare capire che un cir-
spostiamo, poi, il puntale positivo (sempre ros-
cuito elettrico è un insieme di collegamenti in serie e in
so) al punto (c). Su tale nodo si leggerà la ten-
parallelo, al ne di produrre il risultato desiderato.
sione di 3.6V che, guarda caso, corrisponde
Fornendo tensione elettrica al circuito si illumineranno,
alla caduta di tensione ai capi di due diodi Led
ovviamente, i quattro diodi Led. Con questa tipologia di
(1.8+1.8=3.6);
collegamento i semiconduttori luminosi sono totalmente
spostiamo, ancora più su, il puntale positi-
indipendenti tra loro e tale fatto sarà compreso piena-
vo (sempre rosso) al punto (d). Su tale nodo
mente eseguendo le esperienze proposte sotto. Il valore
si leggerà la tensione di 5.4V che corrisponde
delle resistenze non è determinato a caso ma il calcolo
alla caduta di tensione ai capi di tre diodi Led
segue semplici calcoli dettati dalla legge di Ohm, che
(1.8+1.8+1.8=5.4);
vedremo la prossima puntata.
spostiamo, ulteriormente, il puntale positivo tensione di 7.2V che corrisponde alla caduta di
ESPERIENZE SUL CIRCUITO IN PARALLELO CON QUATTRO DIODI LED
tensione ai capi di quattro diodi Led (1.8*4=7.2);
Possiamo subito passare a eseguire alcune esperienze
(rosso) al punto (e). Su tale nodo si leggerà la
28
SCI & TECH
Figura 5: il cablaggio di quattro diodi Led in parallelo
Figura 6: la misura di tensione ai vari nodi del circuito in parallelo
pratiche che ci daranno una chiara idea del funziona-
mente il lo da un qualsiasi polo dalla pila. Quale
mento del circuito in parallelo.
sarà il risultato?
“
Non collegate mai direttamente con un lo il polo positivo di una pila al polo negativo. Si genererebbe una grande quantità di calore.
•
RISULTATO: Se il lo sarà collegato, i quattro diodi Led si illumineranno, viceversa rimarranno spenti. ***
•
ESPERIMENTO: Si inverta la polarità della pila, connettendo il polo negativo al lo rosso e il polo
• 29
ESPERIMENTO: Si stacchi e attacchi ripetuta-
positivo al lo nero. Quale sarà il risultato?
SCI & TECH
Figura 7: il pannello luminoso dell'Italia Politica
30
SCI & TECH
•
RISULTATO : I quattro diodi Led non si illumine-
9V, quella della batteria. Di fatto stiamo misuran-
ranno, per i motivi spiegati prima.
do la tensione generata dalla pila.
*** • •
ESPERIMENTO: Si elimini un diodo Led lascian-
Leggi anche: Faretto a LED e luci di stop per bici-
do staccati i li rimasti. Quale sarà il risultato?
cletta elettrica
RISULTATO : I rimanenti tre diodi Led si illumineranno normalmente. Le quattro celle sono
indipendenti tra loro. Lo stesso dicasi se si eli-
ESERCIZIO
mina una sola delle resistenze di limitazione
Proponiamo, adesso, un esercizio utile a grandi e pic-
*** •
•
cini. Occorre realizzare una cartina geograca dell'I-
ESPERIMENTO: Si inverta il verso di uno dei
talia nella quale ogni Capoluogo di Regione deve risul-
diodi Led, a piacimento, cambiando tra loro il ca-
tare illuminato da un diodo Led, come visibile in gura
todo con l'anodo. Quale sarà il risultato?
7. Una soluzione sarebbe quella di incollare la cartina
RISULTATO : Il diodo Led invertito non si illumi-
su un foglio di compensato, eettuare dei piccoli fori in
nerà, gli altri tre si accenderanno normalmente.
corrispondenza dei capoluoghi e farvi passare la testa del Led.
MISURE DI TENSIONE SUL CIRCUITO IN PA- RALLELO CON QUATTRO DIODI LED
Occorre, dunque, utilizzare ben venti elementi luminosi,
Eseguiamo, ora, alcune semplici misure di tensione, al
Quello che chiediamo è: "Quale tipologia di collega-
ne di aumentare la consapevolezza teorica e pratica
mento, tra "in serie" e "in parallelo" si deve usare,
sui circuiti.
sapendo che la pila utilizzata sarà di 9V?".
Ricordiamo che in questo tipo di collegamento, gli elet-
Ovviamente sono possibili tante soluzioni valide, purché
troni si dividono in quattro strade diverse, a meno che
si usi molta fantasia.
dal momento che in Italia vi sono venti regioni.
un diodo Led o una resistenza vengano scollegati. Predisponiamo il tester (o i tester) alla misura della tensione (Volt) e colleghiamo lo strumento così come è indicato nella gura 6.
“
La creazione di un circuito elettrico necessita di molta fantasia.
Eseguiamo i seguenti collegamenti con il tester: •
il puntale negativo (di colore nero) va "messo a
Il pannello luminoso, se ben realizzato, potrebbe costi-
terra", ossia esso si deve collegare (in questo
tuire un utile gadget da donare alla scuola, con la felicità
caso) al polo negativo del circuito (chiamato an-
delle maestre di geograa.
che "ritorno comune") che corrisponde al polo •
•
negativo della pila;
CONCLUSIONI
si colleghi alternativamente il puntale positivo
Termina qui anche la seconda puntata del corso.
del tester (di colore rosso) ai punti (a), (b), (c),
Al momento abbiamo utilizzato massivamente i diodi
(d) del circuito, corrispondenti al lo di colore
Led, quale componenti elettronici protagonisti, poiché
nero. I più attenti avranno capito subito che tali
essi risultano semplici da usare e, soprattutto, si vedono
punti combaciano con la massa, quindi i due ter-
subito, con i propri occhi, i loro eetti di funzionamento.
minali dello strumento di misura sono, a tutti gli
Invitiamo i lettori a soermarsi sulla totalità dei punti trat-
eetti, connessi tra loro. In questo caso leggere-
tati e a provare sempre tutti gli esempi proposti. Inoltre
mo sul display una tensione pari a 0V;
esortiamo a porre qualsiasi tipologia di domanda an-
spostiamo, quindi, il puntale positivo (rosso) al
ché possano chiarirsi, n da subito, eventuali dubbi e
punto (e), poi (f), poi (g) e inne (h). Essi cor -
incertezze. Alla prossima.
rispondono agli anodi dei quattro diodi Led. Su tali nodi si leggerà la tensione di 1.8V, corrispondente alla caduta di tensione ai capi di tali componenti, come abbiamo visto nella prima puntata. Le quattro celle sono, come si nota, perfettamente equivalenti tra loro; •
spostiamo, inne, il puntale positivo (rosso) al punto (i). Su tale nodo si leggerà la tensione di
31
L’autore è a disposizione nei commenti per eventuali approfondimenti sul tema dell’Articolo. Di seguito il link per accedere direttamente all’articolo sul Blog e partecipare alla discussione: https://it.emcelettronica.com/corso-di-elettronica-per-ragazzi-712-collegamenti-in-serie-e-in-parallelo
T O B O R
Corso sugli Aeromobili a Pilotaggio Remoto partendo da zero: controllo automatico del volo di Giuseppe Silano
Continua il corso dedicato agli Aeromobili a Pilotaggio Remoto (APR). Nell'articolo precedente abbia- mo descritto il modello matematico di un multi-rotore, in particolare quello di un esacottero, utilizzando due dierenti approcci: Eulero-Lagrange e Newton-Eulero. Ricavate le equazioni del moto ne è stata
espressa l'equivalente rappresentazione nella forma dello spazio di stato. Nell'appuntamento di oggi analizzeremo una delle tecniche di possibile impiego per sintetizzare, dall'insieme delle rilevazioni che contornano il target, un'unica bounding box che lo delimiti. Successivamente, ve rrà descritto il proces-
so utilizzato per l'estrazione delle informazioni in merito alla posizione assoluta del drone all'interno dello scenario virtuale (continuo dell'esempio preso in considerazione nei precedenti episodi). Tali informazioni sono necessarie, al controllo del volo, per variare la posa dell'aeromobile di modo da non perdere di vista il target. Inne, è introdotta la dinamica del velivolo, il conseguente controllo in traiet - toria e le simulazioni ottenute che comprovano il funzionamento dell'intero sistema, contestualizzando, nella vita reale, l'utilizzo di tale tecnologia.
CALCOLO DELLA BOUNDING BOX
I
eventuali falsi positivi (concetto espresso nel prece-
llustrati i passi che hanno consentito di ottenere
dente appuntamento), generando così un controsen-
un modello in grado di riconoscere l'auto all'interno
so: realizzato l'algoritmo di riconoscimento, non si ha
dell'ambiente virtuale - illustrato nel secondo artico-
ducia delle rilevazioni ottenute e pertanto si introduce
lo di questo mini corso - in questo paragrafo analizze-
un onore computazionale maggiore per il calcolo della
remo lo script impiegato per ricavare, dall'insieme
bounding box media. Tale è la ragione per cui si è de-
delle rilevazioni che contornano il veicolo, un'unica
ciso di impiegare la prima delle due soluzioni proposte
bounding box . La stessa box impiegata per l'estrazione
(la massima nestra) per la sintesi di un'unica bounding
delle informazioni (paragrafo successivo) necessarie al
box che delimiti l'autovettura. Tale scelta non è vincolan-
sistema di volo per l'attuazione della legge di controllo.
te per il funzionamento del sistema, in maniera del tutto
Lo script, ssato il numero di immagini campione, rico-
equivalente si può pensare di utilizzare la bounding box
nosce il target all'interno dei singoli frame ottenendo
media oppure quella ottenuta attraverso una tecnica di-
così, per ogni fotogramma, l'insieme delle bounding box
versa che, ad esempio, attribuisce un peso alla distanza
che contornano l'auto. Da ogni nestra (Figura 1) ne
tra i due centroidi: quello dell'auto e quello della boun-
estrae la posizione del frame, espressa in coordinate
ding box . I tests comparativi condotti hanno validato la
( x vrt , y vrt ), altezza (hbb) e larghezza (w bb), per poi calco-
scelta fatta, evidenziando prestazioni migliori a fronte di
larne la massima, in termini di area occupata, e quella
una riduzione dell'onere computazionale.
media.
In Figura 2 è riportato il risultato della detection condotta
La nestra media da poca ducia all'algoritmo di rico-
su di un'immagine campione, la relativa bounding box
noscimento sintetizzato, considerando la presenza di
media, ottenuta mediando aritmeticamente le nestre 32
ROBOT
Figura 1: Struttura bounding box ottenuta dal processo di detection.
presenti nell'insieme delle rilevazioni, e quella massi-
dove, nel caso in esame, w img =600 px, himg =800 px (ri-
ma. Come si può vedere, la nestra massima inqua-
spettivamente larghezza ed altezza del frame), hbb e
dra maggiormente il target , migliorando così il sistema
w bb (altezza e larghezza della bounding box) variano ad
di controllo che regola l'avvicinamento/allontanamento
ogni rivelazione, mentre x dist è il vettore costituito dall'in-
dell'APR dal veicolo.
sieme dei punti, sull'asse delle ascisse, che separano i due centroidi.
ESTRAZIONE DELLE INFORMAZIONI
In Figura 3 è rappresentato schematicamente quanto
Ottenuta un'unica bounding box che contorna il
sopra discusso. I due centroidi, riferiti rispetto allo spigo-
target è necessario estrarre informazioni in merito alla sua posizione all'interno del frame. Tali dati sono
lo superiore sinistro ( x 0 , y 0 ), sono indicati con due pallini
fondamentali per il sistema di controllo che varia la posa
in verde. L'obiettivo del sistema di controllo è minimizza-
del drone, all'interno dello scenario, di modo da non per-
re tale vettore, agendo sull'orientamento dell'aeromobi-
dere di vista l'autovettura (uscita dal suo campo visivo).
le: imabardata (ψ), beccheggio (θ) e rollio (φ).
Si è proceduto, quindi, a realizzare uno script che cal-
Il processo di estrazione consente, però , di ottenere
cola per ogni fotogramma, esportato dall'ambiente vir-
solo una stima della posizione relativa, e non assolu-
tuale, il centroide dell'immagine ( x img , y img ), quello della
ta [La posizione assoluta non è funzione della posi-
bounding box ( x bb, y bb), ed il vettore distanza tra i due
zione dell'osservatore, al contrario di quella relativa],
centroidi f( x dist ):
dell'autovettura all'interno dello scenario. La posi-
pieni, mentre il vettore distanza f( x dist ) è rappresentato
zione, infatti, è riferita sempre rispetto al
centro
dell'im-
magine ( x img , y img ) che non costituisce un sistema di riferimento inerziale ma in realtà è un sistema assi-corpo. Al ne di ricavare la posizione assoluta è fondamentale tenere in conto anche i parametri della fotocamera, conside33
ROBOT
Figura 2: Esempio di bounding box media e massima.
Figura 3: Schema del processo di estrazione delle informazioni.
rando dunque il modello pinhole camera ideale (tipico
le ascisse (e px ) e quello delle ordinate (e py ), per variare i
degli ambienti di realtà virtuale, caratterizzato dall'as-
riferimenti di orientamento dell'aeromobile.
senza di lenti quindi distorsione), quali FOV (Field Of
L'obiettivo del controllo di orientamento è minimiz-
View ), lunghezza focale (f ), angolo di visione (α), e così
zare il vettore distanza (il cui modulo, direzione e
via. Tali caratteristiche non sono state prese in conside-
verso variano ad ogni frame), agendo sui tre an-
razione per scelta progettuale: le ipotesi semplicative
goli di imbardata (ψr ), beccheggio (θr ) e rollio (φr ),
hanno consentito di ridurre al minimo i tempi di sviluppo,
di modo che il centroide dell'immagine (x img , y img ) coincida con quello della bounding box (x bb, y bb),
rimandando l'approfondimento a lavori successivi.
valori di riferimento per il controllo della dinamica.
REFERENCE GENERATOR
Al primo frame, l'angolo di rollio è mantenuto voluta-
Capito come estrarre le informazioni dai singoli foto-
mente a zero al ne di evitare rotazioni del velivolo che
grammi, si è passati alla progettazione del generatore
possano portare miss detection, conseguentemente l'u-
di riferimenti (Figura 4). Lo schema di controllo utilizza
scita del target dal campo visivo dell'APR. Al contrario,
le proiezioni del vettore distanza f( x dist ), lungo l'asse del-
nei fotogrammi successivi esso assume il valore impo34
ROBOT
sto dalla dinamica dell'aeromobile. Tale ipotesi non è
come si evince dallo schema in Figura 4. Tali uscite sono
Figura 4: Rappresentazione schematica del reference generator.
limitativa, se si suppone che l'autovettura abbia una di-
confrontate rispettivamente con ψrif e θrif , ovvero l'orien-
namica più lenta di quella del drone, perché meramente
tamento di riferimento che si desidera assuma il velivolo
funzione delle sue caratteristiche.
durante il tracking del target . Entrambi sono ssati di
L'obiettivo, quindi, del reference generator (controllo ad
modo da mantenere l'APR sempre in asse con il piano
alto livello) è generare una traiettoria di riferimento sul-
orizzontale, portando conseguentemente ad un innalza-
la base delle immagini acquisite dallo scenario virtuale.
mento/abbassamento della quota (movimenti trasversa-
Tale traiettoria è poi inseguita da un secondo sistema
li) o ad uno spostamento in avanti/indietro (movimenti
di controllo (controllo a basso livello) che determina i
longitudinali). Tali valori prendono in considerazione la
comandi (U1, U2, U3, U4, vedi puntata precedente) da
posizione iniziale della camera nello scenario virtuale,
inviare al velivolo anché lo stesso si porti lungo il per -
riportata in Figura 6.
corso desiderato, entro un certo errore. Il generatore di riferimenti è disaccoppiato: due PI in parallelo agiscono su due dei sei DOFs del drone (ψr e θr ). I guadagni Kp=1·105 e Ki=1·103 sono stati scelti in modo tale da tenere in conto del verso di crescenza degli angoli nello scenario virtuale (Figura 5). Le uscite, però, non sono direttamente gli angoli di ψr e θr da inviare al controllo di posizione (del generatore di riferimenti) bensì la loro variazione (Δψr e Δθr ), a cui vanno sommati gli angoli (ψinit e θinit ) che identicano l'orientamento iniziale del velivolo. Viceversa, il controllo di posizione non è disaccoppiato perché funzione delle uscite del precedente (ψr e θr ), 35
Figura 6: Posizione iniziale camera nel VR di Matlab.
ROBOT
Figura 5: Verso di crescenza degli angoli di beccheggio, rollio ed imbardata nello scenario virtuale.
Identicamente a quanto visto con il controllo di orienta-
l'angolo misurato e quello di riferimento, sia esso di im-
mento, due PI in parallelo agiscono su due dei sei DOFs
bardata oppure beccheggio, in questo caso è pari allo
dell'aeromobile (y r e x r ) , i cui guadagni sono rispetti-
scarto tra l'area di riferimento ( arearif ) e l'area misurata
vamente K p,yr =1, Ki,yr =2, K p,xr =1.5 e Ki,xr =40. Ancora
(areamis).
una volta, le uscite del sistema di controllo non rappre-
Con il termine area misurata si intende l'area della -
sentano direttamente le posizione (y r e x r ) del velivolo
nestra che contorna l'autovettura, banalmente data dal
all'interno dello scenario, ma ne indicano le variazioni
prodotto areamis=w bb·hbb. Al contrario, l'area di riferimen-
(Δy r e Δ x r ) a cui vanno sommate le posizioni iniziali (y init
to è calcolata sull'insieme delle immagini utilizzate per
e x init ) che identicano lo stato del drone al primo frame.
il processo di training del classicatore - secondo arti-
Per quanto concerne il controllo sull'ultimo DOFs (z r ) il
colo del mini-corso -, acquisite sorvolando l'autovettura
discorso è leggermente diverso. Mentre nel caso pre-
percorrendo una traiettoria ad aspirale alla distanza di
cedente il segnale di errore era dato dalla dierenza tra
15 m (analizzata con la dovuta attenzione nel paragrafo 36
ROBOT
Figura 7: Traiettoria APR ed auto nel VR di Matlab.
successivo). In sintesi, il confronto tra le aree viene uti-
sistema nel suo complesso.
lizzato per capire quanto ci si discosta dalla distanza di
Dal graco in Figura 7 si può notare che l'aeromobile si
riferimento (15 m) che si desidera il drone mantenga dal
trova già in volo prima di intraprendere l'inseguimento
veicolo durante l'inseguimento del target .
dell'auto. Questa è una mera casualità, e non inuisce
In maniera del tutto equivalente ai casi precedenti, il si-
minimamente sulle prestazioni dell'algoritmo. Il velivo-
stema di controllo è realizzato con un PI i cui guadagni
lo è, infatti, capace di muoversi in completa autonomia
-6
sono pari a K p,zr =1·10
-5
e Ki,zr =1·10 . Altra costante ri-
estraendo semplicemente le informazioni presenti all'in-
spetto al caso precedente, il controllo non è direttamen-
terno delle immagini.
te la posizione z r che l'aeromobile deve assumere nello
Quanto sopra discusso viene attuato se e solo se l'au-
scenario, ma la sua variazione (Δz r ) a cui va sommata
tovettura è identicata all'interno del frame, in caso con-
la posizione iniziale (z init ) assunta al primo istante di si-
trario il drone rimane sospeso in area (hovering ) no al
mulazione.
termine della simulazione o al riconoscimento dell'au-
Concludendo, il controllo del volo analizzato è progetta-
tovettura, come riportato nel diagramma di usso in Fi-
to impiegando tecniche euristiche e discretizzato utiliz-
gura 8.
zando Backward Eulero, avente come obiettivo la minimizzazione dell'errore (e px , e py , earea, etc).
STIMA AREA DI RIFERIMENTO
In Figura 7 è riportato il graco che presenta la tra-
Prima di leggere questa sezione si suggerisce, per chi
iettoria assunta dal veicolo e dall'APR durante l'inte-
non avesse mai sentito parlare di distribuzione statisti-
ra simulazione priva della dinamica e, conseguente-
che, di leggere quanto presente in un relativo articolo.
mente, del controllo in traiettoria. L'obiettivo è testare
Per la stima dell'area non è possibile utilizzare lo sti-
il funzionamento del sistema ad alto livello prima di in-
matore MVU (Minimum Variance Unbiased ) o quello ML
globare il successivo. L'autovettura si muove di un tratto
(Maximum Likelihood ) perché non vi una conoscenza
rettilineo, per poi arontare una piccola curva, ed inne
statistica degli osservabili (le misure di area). Inoltre, un
percorre l'ultimo tratto nuovamente in linea retta. Al link
così basso numero di osservazioni non giustica il pas-
è presente il video che mostra il funzionamento del
saggio per la ECDF (Empirical Cumulative Distribution
37
ROBOT
Figura 8: Diagramma di usso reference generator.
Function). In questo caso un'alternativa è lo stimatore
naturale (eq. 5) o la stima LS (Least Square, eq. 6):
dove ||y-v(x)|| è l'errore di misura. Entrambi non richiedono la conoscenza statistica della caratterizzazione degli osservabili, la scelta tra l'uno o l'altro è funzione solo del valore assunto dalla varianza.
Il bias (Figura 11) è due ordini di grandezza più picco-
Al ne di stimare la varianza ed il bias (eq. 10), indici di
lo della varianza (il graco di confronto tra le varianze
qualità di uno stimatore, è stata impiegata la varianza
è riportato in Figura 12), per questo è stato trascurato
campionaria non polarizzata (corretta, eq. 7) e quella
(Sn-12 ≈Sn2 ). Stesso ragionamento per la varianza com-
polarizzata (eq. 8), mostrate rispettivamente in Figura
parata alle aree delle bounding box : una piccola varian-
9 e 10.
za indica che i data point tendono a chiudersi al valore
Dove N è il numero di immagini utilizzate nel processo
vero. Tale è la ragione per cui è stata utilizzata la media
di training del classicatore.
campionaria, chiamata anche stimatore naturale, per la 38
ROBOT
stima dell'area della nestra che contorna l'auto. Il valo-
che gli accoppiamenti incrociati. Il modello, quindi, può
re di riferimento così ottenuto è di 32 376 px2.
essere riscritto come:
La media campionaria, inoltre, è uno stimatore non polarizzato (la sequenza degli errori di stima tende a zero, eq. 11) e consistente (l'errore quadratico medio tende a zero al diminuire delle osservazioni, eq. 12).
Includendo nella (eq. 13) le dinamiche degli ingressi, è possibile riformulare il modello appena sintetizzato nel dominio di Laplace:
CONTROLLO DELLA DINAMICA Progettato e validato il generatore di riferimenti, esplicando come la scelta della bounding box possa condizionare le prestazioni del generatore, si è proceduto ad inglobare la dinamica del velivolo all'interno della catena di controllo (Figura 13). Dunque, si è reso necessario progettare un controllo in traiettoria basato sul modello dell'aeromobile, che utilizzasse come segnale di riferimento ( x r , y r , z r , ψ r ) quanto fornito dal controllore a monte. Tale annessione proietta verso test HIL (Hardwarein-the-loop), simulando qualcosa sempre più simile ad uno scenario reale, rendendo il simulatore sviluppato uno strumento indispensabile per collaudare l'intero sistema di rilevamento ed inseguimento. Ancora una volta, Simulink & MATLAB svolgono un ruolo chiave nella realizzazione della piattaforma, sia per la parte di riconoscimento che per quella di controllo. Per
Figura 9: Varianza campionaria corretta.
chi fosse digiuno di tali concetti si consiglia di leggere quanto descritto in un precedente articolo. In questa sezione, quindi, è presentata la tecnica di controllo PID combinata successivamente con il Backstepping - si rimanda l'approfondimento al lettore più curioso dato la complessità matematica dell'argomento - al ne di ottenere l'Integral Backstepping per la sintesi dell'algoritmo di controllo. Sono, inoltre, esposte le simulazioni condotte che hanno consentito di comprovarne l'ottimo funzionamento, passo fondamentale prima di inglobare il tutto nel sistema nale.
PID La dinamica del modello (equazioni viste nel precedente articolo) presenta due eetti giroscopici. La loro inuenza è trascurabile rispetto all'azione dei motori, soprattutto perché si sta considerando una situazione prossima allo stazionamento in volo. Dunque, al ne di progettare un sistema di controllo PID disaccoppiato, sono trascurati oltre ai sopraccitati eetti giroscopici an39
Figura 10: Varianza campionaria polarizzata.
ROBOT
adoperato sia per il controllo d'assetto che per quello di posizione.
CONTROLLO IN TRAIETTORIA Il controllo in traiettoria varia la posizione dell'aeromobile di modo che dove A e B sono i coecienti delle dinamiche dei rotori
segua quella di riferimento: le coordinate ( x r , z r ) che il
linearizzate mentre C assume un valore così piccolo da poter essere trascurato. Utilizzando gli ingressi di controllo U i (rispettivamente spinta, beccheggio, rollio ed imbardata) invece degli ingressi dei motori ui la (eq. 14) diventa:
Sostituendo la (eq. 15) i rispettivi valori numerici si ottiene:
Figura 11: Rappresentazione del bias.
A valle della (eq. 16), è stato impiegato quanto ricavato per sintetizzare i regolatori del controllo d'assetto (Figura 14).
INTEGRAL BACKSTEPPING La strada migliore per il controllo della dinamica dell'aeromobile è la combinazione tra un sistema di controllo PID ed uno Backstepping , chiamato Integral Backstep ping . L'obiettivo è combinare la reiezione ai distur -
bi, oerta dal Backstepping, con la robustezza alle incertezze sul modello ottenuti dall'azione integrale (PID), come rappresentato in Figura 15. Tale sistema consente manovre di volo più complesse rispetto al semplicemente stazionamento, ragion per cui è stato
Figura 12: Confronto tra varianza corretta e varianza polarizzata. 40
ROBOT
Figura 13: Catena di controllo sistema nale, dove con il pedice r sono indicati i segnali di riferimento, con c quelli di comando e con d la posa del drone.
Figura 14: Schema controllo PID, per chi non ne avesse mai sentito parlare di consiglia quanto presente nel nostro approfondimento. 41
ROBOT
Figura 15: Schema sistema di controllo.
velivolo deve assumere in uno spazio bidimensionale, trascurando la quota (y r ) rispetto alla terra. In pratica, il controllo in traiettoria varia il rollio (φd) ed il beccheggio (θd) del drone in risposta alla variazione, rispettivamente, dei segnali di riferimento z r e x r . Dunque, le uscite del sistema di controllo costituiscono i riferimenti (φr e
Conseguentemente, gli errori di velocità nell'insegui-
θr ) per il regolatore d'assetto.
mento della traiettoria di riferimento sono:
A questo punto, ricordando che l'orientamento del vettore spinta nel sistema di riferimento verticale-locale è dato da R (eq. 17), la matrice di rotazione, applicando l'approssimazione per piccoli angoli è possibile scrivere: In denitiva, le leggi di controllo che consentono dalla traiettoria desiderata di ricavare i segnali di riferimento per il controllo d'assetto risultano:
Si può quindi semplicare la dinamica del moto di un multi-rotore come:
dove (c9, c10, c11, c12, λ5, λ6) sono delle costanti denite positive, mentre χ5 e χ6 sono pari a:
Da qui, è possibile derivare la legge di controllo utilizzando la tecnica Integral Backstepping , con l'errore di inseguimento per x e z denito di seguito: 42
ROBOT
Figura 16: Schema sistema di inseguimento.
In Figura 16 è riportato lo schema che riassume l'inte-
L'utilizzo delle coordinate polari per descrivere la traiet-
ro sistema di inseguimento: dal percorso di riferimento,
toria di riferimento non è casuale: tale rappresentazione
passando per il controllo in traiettoria e d'assetto (il re-
consente di conoscere per ogni x e z il valore dell'angolo
golatore della posa), no ad arrivare alla dinamica del
di imbardata, tre delle quattro informazioni necessarie
velivolo sulla quale viene chiuso il ciclo di regolazione.
alla simulazione. Per quanto concerne la quota y è de-
A verica del funzionamento dell'algoritmo sviluppa-
nita come un segnale esterno.
to, sono state realizzate delle simulazioni in ambiente
Al link è disponibile il video che mostra i risultati ot-
Matlab/Simulink variando la traiettoria di riferimento.
tenuti integrando il generatore di riferimenti con la
In Figura 17 è riportato il confronto tra una traiettoria
dinamica del velivolo. A quasi metà della simulazione
di riferimento circolare, descritta dalle coordinate pola-
(13.08 secondi) l'auto acquisisce una velocità tale da
ri [Un sistema di coordinate bidimensionale nel quale
causare un eccessivo rollio dell'aeromobile, dunque del-
ogni punto del piano è identicato da un angolo e dalla
la camera (congurazione eye in hand , argomento trat-
distanza da un punto sso detto polo] e quella percorsa
tato nella prima lezione), con una conseguente perdita
dal velivolo: l'errore di inseguimento misurato si attesta
del target (uscita dal suo campo visivo). Tale risultato
intorno al 10%, validando così le ottime prestazioni del
evidenza il funzionamento del sistema, ed i limiti intrin-
sistema di controllo progettato.
seci della congurazione eye in hand : non è possibile rilevare ed inseguire oggetti più veloci del velivolo. Difatti, un eccessivo rollio si traduce in rotazione della camera e, di conseguenza, dell'immagine acquisita, dunque in una mancata rilevazione dell'oggetto. Nonostante il problema riscontrato, legato unicamente ai parametri dell'aeromobile e della vettura (nell'ambiente di realtà virtuale scelto non è possibile intervenire in
43
ROBOT
Figura 17: Confronto tra la traiettoria di riferimento e quella percorsa dall'aeromobile.
alcun modo, per lo scenario già strutturato utilizzato), i
calcolo numerico Matlab® per poi citare e descrivere le
risultati ottenuti hanno consentito di confermare la vali-
peculiarità degli ambienti più diusi. Da qui la necessi-
dità del sistema sviluppato.
tà di disporre di un sistema di riconoscimento e la loro
In conclusione, quanto presentato nel corso di questo
importanza sugli APR, fornendo l'idea di visione arti-
articolo è sola una delle metodologie che vengono im-
ciale ed object detection. Inne introducendo il modello
piegate, tra quelle presenti in letteratura, per il ricono-
matematico di un multi-rotore, in particolare quello di
scimento di un target in movimento all'interno di uno
un esacottero, è stato possibile descrivere le tecniche
scenario, che sia virtuale o reale, per po inseguirlo. At-
di possibile impiego per sintetizzare, dall'insieme delle
tualmente, questa tecnologia è utilizzata nell'ambito
rilevazioni che contornano il target, un'unica bounding
della sicurezza: all'interno di parcheggi sotterranei per
box che lo delimiti. Il processo di estrazione delle in-
il monitoraggio della auto in sosta e dalle forze dell'ordi-
formazioni in merito alla posizione assoluta del drone
ne dove droni aanco le pattuglie nel corso di insegui-
all'interno dello scenario virtuale, ha permesso di sin-
menti, per tutto quello che è il contesto sicurezza.
tetizzare il controllo del volo (generatore di riferimenti e controllo della dinamica9 che varia la posa dell'aeromo-
CONCLUSIONI
bile di modo da non perdere di vista il target (l'auto). In
All'interno di questo paragrafo viene riassunto breve-
ogni fase, le simulazioni ottenute hanno comprovato il
mente l'intero corso, traendo le opportune conclusioni.
funzionamento del sistema esposto contestualizzando,
Il lavoro si è posto come obiettivo principale presenta-
nella vita reale, l'utilizzo della tecnologia.
re ai neoti i fondamenti della tecnologia, i principi di
Il lettore ora ha una prima panoramica sul mondo che
funzionamento, lo stato dell'arte e la storia di questi
circonda i velivoli sprovvisti di pilota ed ha gli strumenti
magnici velivoli. Si è partiti illustrando l'architettura di
necessari per iniziare a districarsi nella giungla di infor-
un aeromobile a pilotaggio remoto, le congurazioni più
mazioni che il web mette a disposizione.
comuni, passando per le schede di volo (open e closed source) che li equipaggiano, terminando con il protocollo di comunicazione MAVLink. Successivamente, l'introduzione dei simulatori di scenari ha permesso di capire come sia possibile simulare, e la sua importanza, il comportamento del singolo o di una otta di velivoli prima delle prove sul campo, analizzando l'ambiente di
L’autore è a disposizione nei commenti per eventuali approfondimenti sul tema dell’Articolo. Di seguito il link per accedere direttamente all’articolo sul Blog e partecipare alla discussione: https://it.emcelettronica.com/corso-sugli-aeromobili-a-pilotaggioremoto-partendo-da-zero-controllo-automatico-del-volo
44
D R A O B
Il kit di sviluppo per l’Energy Harvesting di Maurizio Di Paolo Emilio
Il kit di sviluppo "Energy Harvesting Solution To Go" che andremo ad analizzare in questo articolo permette un facile accesso alle tecnologie di energy harvesting , aiutando gli sviluppatori a realizzare circuiti di power management per dispositivi dell'ecosistema IoT. Il kit include una scheda energy har - vesting con vari trasduttori e un Energy Micro Giant Gecko EFM32 Starter Kit.
INTRODUZIONE
I
l kit "Solution To Go" fornisce un approccio di design completo che consente agli sviluppatori di aggiungere la raccolta, la gestione e l'immagazzinamento dell'e-
nergia per speciche applicazioni. La scheda di raccolta dell'energia è multi-sorgente (DC2080A) con quattro convertitori di tensione della Linear Technology/Analog Devices ottimizzati per diverse fonti di energia: solare, elettromagnetica, piezoelettrica e termica. La scheda ore due fonti di energia integrate per iniziare immediatamente la valutazione: una cella solare (32 mm x 50 mm) e un termogeneratore (40 mm x 40 mm). Ulteriori fonti di energia esterne possono anche essere aggiunte alla scheda tramite opportuni pin (e jumper) disposti sui lati della scheda. Il kit Giant Gecko Starter include il MCU Giant Gecko EFM32, il microcontroller con processore ARM Cortex M3, 48 MHz, ash a 1024KB, RAM a 128KB, USB, controllo LCD e vari sensori. Giant Gecko Starter Kit può essere collegato sulla scheda di raccolta dell'energia tramite un'intestazione di espan-
Figura 1: il kit di sviluppo energy harvesting solution to go
sione a 20 pin. Gli MCU Giant Gecko sono disponibili in package no a 7x7 mm, e sono dotati di periferiche autonome a bassa energia, tra cui crittograa AES, UART
LA SCHEDA MULTI-SOURCE
e amplicatori operazionali. Gli MCU Giant Gecko forni-
La DC2080 è una scheda dimostrativa versatile per la
scono supporto per host USB, dispositivi e congurazio-
raccolta di energia capace di accettare in input vari tra-
ni on-the-go, nonché bootloader tramite USB.
sduttori come il piezoelettrico, solare, fonti di energia
Alcune principali caratteristiche possono essere rias-
termica. La scheda contiene quattro circuiti indipendenti
sunte nei seguenti punti:
costituiti dai seguenti circuiti integrati: LTC3588-1: Pie-
•
Multi-sorgente.
zoelectric Energy Harvesting Power
•
2 trasduttori energy harvesting integrati sulla
Supply; LTC3108: convertitore CC-CC step-up per ten-
scheda.
sioni ultra-basse ; LTC3105: convertitore CC-CC step-
•
Connettori per trasduttori esterni opzionali.
up e regolatore LDO; LTC3459: convertitore boost sin-
•
Jumper per una congurazione essibile.
crono micropower da 10 V; LTC2935-2 e LTC2935-4: supervisori dell'alimentazione ultra-low con soglie se-
Il Kit ore una soluzione completa per un facile trasferi-
lezionabili per
mento della soluzione per il design, orendo un insieme
di interruzione di corrente e le funzioni di ripristino. La
di componenti per la gestione energetica davvero e-
bassa corrente di riposo (500nA tipica) rende LTC2935
ciente.
la scelta ideale per le applicazioni a batteria. La scheda
45
l'inizializzazione del sistema, l'avviso
BOARD
alto e VIN scende al di sotto della caduta UVLO, PGOOD rimarrà alto no a quando VOUT scende al 92% del punto di regolazione desiderato. •
JP6: Instrada il segnale PGOOD del
LTC3108 all'intestazione di uscita PGOOD. •
JP7: indirizza il segnale PGOOD del
LTC3105 all'intestazione di uscita PGOOD. •
JP8: Instrada il segnale PGOOD del
LTC3459 all'intestazione di uscita PGOOD. •
JP9: collega i quindici condensatori di
accumulo di energia opzionali direttamente a VOUT per essere utilizzati dal carico per l'immagazzinamento. • Figura 2: la scheda multi-source energy harvesting
JP10: collega i quindici condensatori
di accumulo di energia opzionali direttamente su VSTORE del TEG LTC3108.
include due raccoglitori di energia e una morsettiera per
Un grande condensatore può essere col-
il collegamento di una sorgente AC ad alta impedenza
legato da VSTORE a GND per alimentare il si-
(in alto a destra, gura 2). La scheda contiene diver -
stema nel caso la tensione di ingresso dovesse
si jumper che consentono di essere congurata in vari
mancare.
modi, personalizzando le varie esigenze nali. Questa
•
compatibilità lo rende uno strumento di valutazione perfetto per qualsiasi sistema di raccolta dell'energia a
JP11: congura l'ingresso AC per un trasduttore PMDM vibrazionale.
•
JP12: congura l'ingresso AC per l'utilizzo con
bassa potenza (Figura 2).
qualsiasi sorgente ad alta impedenza compresi i
Congurazione dei jumper:
trasduttori piezoelettrici ed elettromeccanici.
•
JP1: ponticello di alimentazione utilizzato per selezionare
•
•
•
•
•
LTC3588-1,Piezoelectric
Energy
I pin PZ1 - PZ2 permettono la connessione di ulteriori
Harvesting Power.
elementi piezoelettrici attraverso BGND che rappre-
JP2: ponticello di alimentazione utilizzato per
senta il pin di massa della scheda (HGND è riferito al
selezionare LTC3108, TEG Powered Energy
connettore header). Supportano una massima corrente
Harvester.
di circa 50 mA. VIN, da 20mV a 400mV (E3), è l'ingresso
JP3: ponticello di alimentazione utilizzato per
nel LTC3108, TEG powered Energy Harvester. L'impe-
selezionare LTC3105, alimentato da un diode
denza di ingresso è di circa 3Ω, quindi l'impedenza del-
voltage drop in un loop da 4 mA a 20 mA.
la sorgente deve essere inferiore a 10Ω per garantire un
JP4: ponticello di alimentazione utilizzato per
buon trasferimento di potenza. +VIN, da 4 mA a 20 mA
selezionare LTC3459, alimentato da un pannel-
loop (E5), è l'ingresso nel LTC3105 fornito da una cadu-
lo solare.
ta di tensione del diodo. La corrente in questo termina-
JP5: indirizza il segnale PGOOD del LTC3588-1
le deve essere limitata tra 4 mA e 20 mA. VIN SOLAR
all'intestazione di uscita PGOOD. Il comparatore
(E7) è l' ingresso nel LTC3459 con controllo del punto
PGOOD LTC3588-1 produce un segnale logico
di massima potenza, fornito dal LTC2935-4. Il punto di
alto riferito a VOUT sul pin PGOOD, la prima
regolazione dell'ingresso per l'MPPC è 1.73V. L'interval-
volta che il convertitore raggiunge la soglia di
lo di input è compreso tra 1,72 V e 3,3 V. VMCU (E10,
sleep del VOUT programmato, segnalando che
E12) è l'uscita regolata di tutte le energie dei vari circuiti
l'uscita è in
di power management riferita a BGND. Quando VMCU
regolazione. Il pin PGOOD rimarrà alto no a
fa riferimento a HGND, è un'uscita commutata attraver-
quando VOUT scende al 92% della tensione di
so l'intestazione J1 per alimentare il carico. La raccolta
regolazione desiderata. Inoltre, se PGOOD è
dell'energia piezoelettrica con LTC3588-1 viene sele46
BOARD
Figura 3: dettagli circuitali del pin PGOOD LTC3459 usando LTC2935-2
zionata installando il ponticello di selezione dell'alimen-
tor .
tazione JP1. Il segnale PGOOD può essere indirizzato
•
160 segment Energy Micro LCD.
al header con il jumper JP5. Se l'applicazione richiede
•
20 pin expansion header.
una nestra di isteresi ampia per il segnale PGOOD, la
•
Power supply con USB e batteria CR2032.
scheda ha la possibilità di utilizzare il segnale PGOOD
•
2 user buttons, 2 user LEDs e touch slider.
indipendente, come mostrato in Figura 3, generato dal-
•
Sensore di luce ambientale e sensore metallico
l'LTC2935-2 e disponibile su JP8.
capacitivo induttivo. •
EFM32 OPAMP footprint.
GIANT GECKO STARTER KIT (EFM32GG- STK3700)
•
32 MB NAND Flash.
•
USB Micro-AB (OTG).
EFM32GG-STK3700 è un eccellente punto di parten-
•
Super Capacitor 0.03F .
za per familiarizzare con i microcontrollori Giant Gecko
•
Crystals per LFXO e HFXO: 32.768kHz e
EFM32 . Il kit contiene sensori e periferiche che dimo-
48.000MHz.
strano alcune delle numerose funzionalità dei MCU. Il kit può anche servire come punto di partenza per lo
Il pacchetto software Simplicity Studio contiene tutti gli
sviluppo di applicazioni in diversi campi applicativi
strumenti, i driver, gli esempi software e documenta-
oltre all'energy harvesting (gura 4 e 5). Alcune caratte-
zione necessaria per utilizzare il kit EFM32. Simplicity
ristiche sono riassunte di seguito:
Studio semplica il processo di sviluppo IoT for-
• •
47
EFM32GG990F1024 MCU con 1 MB Flash e
nendo tutto ciò che serve agli sviluppatori che devono
128 KB RAM.
completare i loro progetti utilizzando un ambiente di svi-
Sistema avanzato di monitoraggio dell'energia
luppo integrato (IDE) basato su Eclipse 4.5. Simplicity
per la misura precisa della corrente. Advanced
Studio include una potente suite di strumenti per il pro-
Energy Monitor (AEM) è in grado di misurare
ling energetico, la congurazione e l'analisi della rete
correnti nell'intervallo da 0,1 μA a 50 mA. Per
wireless, oltre a demo, supporto tecnico e forum. Questi
correnti superiori a 250 μA, l'AEM è preciso en-
strumenti e funzionalità integrati si combinano per ren-
tro 0,1 mA. Quando si misurano correnti inferiori
dere lo sviluppo integrato semplice e produttivo per gli
a 250 μA, la
sviluppatori IoT di tutti i livelli applicativi. Simplicity Stu-
•
la precisione aumenta a 1 μA.
dio fornisce intelligenza integrata per rilevare automati-
•
Integrated Segger J-Link USB debugger/emula-
camente MCU a 8 bit o 32 bit o il SoC wireless, congu-
BOARD
Figura 4: schema a blocchi del EFM32 Giant Gecko Starter Kit
CONCLUSIONI L'energy harvesting è ormai entrato di diritto nel mercato, forte anche dei consumi ultra bassi che la microelettronica è riuscita ad imporre nei vari dispositivi che coinvolgono l'IoT (wearable, medical). Il kit di sviluppo disponibile a catalogo Mouser - Distributore Autorizzato, si dimostra essere molto ecace combinando un mix di sorgenti con una scheda di controllo EFM32 per la gestione delle funzionalità: una soluzione "go to" per velocizzare e testare le applicazioni dell'eFigura 5: EFM32 Giant Gecko Starter Kit
nergy harvesting. I trasduttori di energy harvesting possono derivare la raccol-
ta da diverse fonti, oltre a quella solare, rare gracamente il dispositivo e mostrare le opzioni di
abbiamo anche diverse sorgenti di energia cinetica e
congurazione supportate per aiutare gli sviluppatori a
termica. Utilizzando quindi le fonti energetiche presenti
realizzare i propri progetti in pochi minuti.
nell'ambiente, come la RF che può essere considera-
Molti dei pin EFM32 sono indirizzati verso "pad brea-
ta una sorgente indiretta, possiamo creare sorgenti di
kout" ai bordi superiore e inferiore del kit.
alimentazione che possano supportare vari dispositivi
Sul lato destro della scheda è presente un'intestazione
elettronici low power.
di espansione angolata a 20 pin per consentire il collegamento di periferiche o schede di plugin. Il connettore contiene un numero di pin I/O che può essere utilizzato con la maggior parte di le caratteristiche del Giant Gecko EFM32. Inoltre, vengono esportate anche le barre di alimentazione VMCU da 3V3 e 5V.
L’autore è a disposizione nei commenti per eventuali approfondimenti sul tema dell’Articolo. Di seguito il link per accedere direttamente all’articolo sul Blog e partecipare alla discussione: https://it.emcelettronica.com/il-kit-di-sviluppo-per-lenergyharvesting
48
R E K A M
La Stampante 3D Renkforce RF100 XL con filamento di Maurizio Di Paolo Emilio
La stampante Renkforce RF100 XL è la sorella maggiore della RF100 v2 con diversi modelli in 3D già pronti e la possibilità di ottenere rappresentazioni grache no a un massimo di 200 x 200 x 200 mm. In questa nuova versione oltre all'area di stampa, è st ata migliorata anche la qualità con cui gli oggetti
vengono realizzati.
INTRODUZIONE
L
a rapida prototipazione e la stampa tridimensionale rimuovono parte del tempo e delle spese del processo per la creazione di nuovi oggetti com-
merciali e industriali. Invece di utilizzare una fabbrica per creare un campione da testare, le stampanti autonome creano oggetti da disegni CAD tridimensionali. Questi elementi vengono stampati uno strato alla volta, consentendo maggiore creatività e controllo sulla forma nale rispetto a qualsiasi altro metodo di costruzione. La stampa 3D è un processo di produzione additivo che crea un oggetto sico da un progetto digitale. Esistono diverse tecnologie di stampa 3D e materiali con cui è possibile stampare, e si basano su un unico principio: un modello digitale viene trasformato in un solido oggetto sico tridimensionale aggiungendo materiale strato per strato. Caratteristiche come velocità di stampa, tipo di lamento, qualità ed area di lavoro sono solo alcuni parametri che bisogna tener in mente nella scelta di una stampante 3D. Il modello Renkforce RF100 XL viene fornita con tutto quello che occorre per procedere
Figura 1: stampante Renkforce RF100 XL
con la stampa 3D di vari modelli. Oltre al software in dotazione da utilizzare con un computer esterno, la
rametri di stampa come velocità e livello di qualità. Le
stampante può essere gestita anche attraverso il di-
principali caratteristiche della stampante RF100 XL
splay touch-screen a colori integrato con dimensioni di
sono descritte in tabella 1. Il display da 3.2'' ore un
3.2'' (gura 1).
menu molto semplice con interfaccia intuitiva, al ne di orire un tool chiaro per poter gestire le fasi di stampa.
CARATTERISTICHE
I processi di stampa possono essere gestiti tramite la
La nuova stampante 3D vuole orire un sistema ottima-
scheda SD o chiavetta USB. I cuscinetti a strisciamento
le con dimensioni di stampa di 200 x 200 x 200 mm
orono un'alta qualità di stampa, orendo una elevata
e illuminazione RGB della zona di lavoro. Il sistema è
resistenza anche alle alte temperatura. Nella scheda
dotato di una sicura chiusura per proteggere il processo
SD in dotazione ci sono oltre 100 modelli 3D per essere
di stampa, orendo nello stesso tempo sicurezza per
utilizzati ma anche modicati a piacimento per adattarli
l'operatore. L'utilizzo della stampante è decisamente
alle proprie esigenze. La struttura è in alluminio e ac-
semplice, dal menù basta scegliere l'immagine da ri-
ciaio, una combinazione tale da orire robustezza e sta-
produrre dopo aver correttamente impostato alcuni pa-
bilità, orendo, di fatto, una lunga durata.
49
MAKER
Categoria
Stampante 3D
Materiali di stampa supportati
PLA, PLA Compounds, Elastisch
Larghezza stampa (X) max.
200 mm
Profondità stampa (Y) max.
200 mm
Altezza stampa (Z) max.
200 mm
Proprietà tappetino di stampa
magnetico, variabile
Tipo estrusore
Single
Adatto per diametro lamento
1.75 mm
Ø Ugello
0.4 mm
Spessore strato (min.)
0.1 mm
Spessore strato (max.)
0.3 mm
Slot scheda SD
Sì
Interfacce
USB, SD
Software
Cura 15.04+ (open source)
Colore
Nero
Materiale alloggiamento
Metallo
Larghezza
417 mm
Altezza
397 mm
Profondità
370 mm
Peso
15.5 kg
Tensione d’esercizio
12 V
Consumo energetico (max.)
60 W
Caratteristiche
incl. Filamento Tabella 1: caratteristiche principale della stampante RF100XL
La casa madre mette a disposizione anche il lamento
tre a una bobina da 250g di PLA, sono compresi nella
che può essere PLA e PLA misto ad altre bre, e ul-
fornitura della stampante 3D Renkforce diverse confe-
teriori materiali con lamenti luminescenti o uorescenti
zioni campione di lamento renkforce PLA-Compound
in vari colori. In questo modo è possibile utilizzarlo con
in legno, rame e un lamento elastico da 50gr (gura
lamenti PLA compound, caricati con altri materiali, ad
2). La stampante RF100 può utilizzare una vasta gam-
esempio bre di legno, alluminio, rame e ottone. Ol-
ma di lamenti da 1,75 mm di diametro. Modicando 50
MAKER
Figura 2: la stampante Renkforce RF100 XL con i lamenti in dotazione
la temperatura di stampa, è possibile rendere il colore
Rispetto alla produzione tradizionale, in cui sono richie-
dell'oggetto più chiaro o più scuro creando diversi eetti
sti tipicamente macchinisti e operatori altamente quali-
per varie applicazioni.
cati, i costi di manodopera per una stampante 3D sono quasi pari a zero.
CONCLUSIONI E CONSIDERAZIONI
Per la produzione di prototipi che vericano forma e
Uno dei principali vantaggi della produzione additiva è
adattamento, è signicativamente più economico rispet-
la velocità con cui è possibile produrre oggetti rispetto
to ad altri metodi alternativi ed è spesso competitivo per
ai metodi di produzione tradizionali. I progetti complessi
la produzione di parti funzionali.
possono essere caricati da un modello CAD e stampati in poche ore. Il vantaggio di questo è la rapida veri-
LA STAMPANTE 3D RENKFORCE RF100 XL E' DI-
ca e lo sviluppo veloce di idee di design.
SPONIBILE A CATALOGO CONRAD CON SPEDIZIO-
Ci sono molte applicazioni in cui una stampante 3D è
NI 24H
in grado di fornire un design in maniera rapida e con elevata precisione da un materiale funzionale. La capacità di personalizzare i materiali utilizzati per la produzione, persino la stampa di tessuti viventi, vedrà una trasformazione notevole per la produzione di oggetti, con alcuni medici che vedranno impiegare in maniera signicativa la stampa 3D per la produzione di protesi. Uno dei principali vantaggi della stampa 3D è il basso costo. Post elaborazione a parte, la Renkforce RF100 XL richiede solo un operatore e con un semplice pulsante si avvia la stampa. 51
L’autore è a disposizione nei commenti per eventuali approfondimenti sul tema dell’Articolo. Di seguito il link per accedere direttamente all’articolo sul Blog e partecipare alla discussione: https://it.emcelettronica.com/la-stampante-3d-renkforce-rf100xl-con-lamento
H C E T & I C S
IOTA: una criptovaluta hash-based per la protezione delle transazioni IoT di Maurizio Di Paolo Emilio
IOTA è un protocollo decentralizzato per micro-transazioni e orientato verso l'Internet of Things (IoT). La base di tutto è il Tangle, simile alla blockchain ma molto più versatile, che consente di eettuare
transazioni sicure di pagamento machine-to-machine e provvedere ad una conservazione accurata dei dati.
INTRODUZIONE
che alla ne ritorna nuovamente al vertice A. In gura 1
T
un esempio di grafo DAG.
angle è una criptovaluta sviluppata per l'Internet of Things nel 2015. L'idea è stata concepita quando i creatori si sono resi conto che la
maggior parte dei dispositivi connessi a Internet aveva bisogno di un modo sicuro per trasferire dati e transazioni anché tutto l'IoT funzionasse senza intoppi. La necessità di questi micro-pagamenti è recentemente aumentata a causa del rapido sviluppo dell'industria IoT. Per consentire l'accesso ai micropagamenti, è necessario un nuovo sistema tecnologico. Bitcoin e gli altri sistemi di criptovaluta sono basati sulla tecnologia blockchain. Blockchain è un database distribuito che mantiene un ampio elenco di record ordinati chiamati "blocchi". Ogni blocco ha un timestamp e un link al blocco precedente. Una volta registrati, i dati contenuti nel blocco non possono essere modicati. Nei sistemi attualmente disponibili, deve essere pagata una commissione per eettuare una transazione di qualsiasi importo; da qui la mancanza di microtransazioni in quanto i clienti non vogliono pagare una tassa per importi così piccoli. D'altra parte, i creatori dei blocchi sono quelli pagati per fornire questo servizio, rendendo quasi im-
Figura 1: struttura di un DAG
possibile eliminare queste tasse.
APPLICAZIONI DI IOTA
IOTA è orientato verso dispositivi IoT, il che signica
IOTA utilizza un grafo aciclico diretto (DAG). QL'architet-
che esiste una quantità innita di possibili applicazioni.
tura DAG presuppone che l'utente e il validatore siano
Lo IOTA potrebbe essere impiegato nel monitoraggio
gli stessi. Un DAG è costituito da molti vertici e bordi, in
e controllo a distanza di sensori, nell'asset tracking e
cui ciascun bordo è diretto da un vertice all'altro; questo
tracciamento, nella gestione intelligente dell'energia.
per garantire che non ci sia modo di iniziare dal vertice A
Potrebbe essere utilizzata, ovviamente, anche nei pa-
e seguire una sequenza di bordi coerentemente diretta
gamenti rapidi nei bancomat, distributori automatici e 52
Figura 2: struttura di una rma digitale
parchimetri. Il futuro è sempre più orientato all'IoT e
ro, è pratico combinare molte di tali chiavi all'interno di
IOTA è in grado di aiutare a sviluppare la sicurezza IoT
un'unica struttura più grande. A tal ne viene utilizzata
per gestire le varie microtransazioni. In un futuro non
una struttura ad albero di Merkle. In questa struttura ge-
tanto lontano, potremmo dover gestire un mercato di
rarchica dei dati, una funzione di hash e una concate-
criptovalute IoT con caratteristiche di sicurezza sempre
nazione vengono utilizzate ripetutamente per calcolare
più performanti.
i nodi dell'albero. Le rme Lamport sono un esempio di uno schema di rme one-time che può essere combina-
LA SICUREZZA IN IOTA
to con una struttura ad albero di Merkle.
IOTA utilizza rme basate su hash anziché crittogra-
Una funzione di hash prende una stringa di qualsiasi
a a curva ellittica (ECC). Non solo le rme basate su
lunghezza come input e produce una stringa di lunghez-
hash sono molto più veloci di ECC, ma semplicano
za ssa che funge da tipo di "rma" per i dati forniti. In
notevolmente anche il protocollo generale (rma e ve-
questo modo, una persona che conosce il "valore hash"
rica). IOTA utilizza le rme di crittograa Winternitz. La
non è in grado di conoscere il messaggio originale, ma
funzione di hash ternario dello IOTA si chiama Curl. Le
solo la persona che conosce il messaggio originale
rme hash-based si basano sulle cosiddette "one
può provare che il "valore hash" è stato creato da quel
time signature" (OTS). Come suggerisce il termine,
messaggio. Una funzione di hash crittograca dovrebbe
una singola coppia di chiavi deve essere utilizzata
comportarsi il più possibile come una funzione casuale
una sola volta. In caso contrario, un utente malin-
pur essendo deterministica ed ecientemente calcola-
tenzionato può rivelare più parti della chiave privata
bile. Una funzione di hash crittograca è considerata
e falsicare le rme (gura 2).
"non sicura" da un punto di vista della sicurezza, se uno
La crittograa hash-based è il termine generico per le
dei seguenti punti è da considerare fattibile dal punto di
costruzioni di primitive crittograche basate sulla sicu-
vista computazionale:
rezza delle corrispondenti funzioni hash. Finora, la crit-
•
Individuazione di un messaggio (precedente-
tograa basata su hash è limitata agli schemi di rme
mente non visualizzato) che corrisponde a de-
digitali come Merkle. Gli schemi di rma basati su hash
terminati valori hash.
combinano una struttura monouso con una ad albero di Merkle (gura 3). Poiché una chiave di schema di rma unica può rmare un singolo messaggio in modo sicu53
•
Individuazione di "collisioni", in cui due messaggi diversi hanno lo stesso valore di hash.
Figura 3: struttura albero della rma Merkle
Un modo tipico per costruire una funzione hash consiste
spezza in blocchi di messaggi e quindi copia in modo in-
nell'applicare iterativamente una funzione di compres-
terposto ogni blocco di messaggi nello stato corrente ed
sione a lunghezza xed-input. Quasi tutte le moderne
esegue la funzione Trasform() nello stato da aggiornare.
funzioni di hash si basano su questo principio e l'appli-
La funzione Transform usata da Curl è un substitution-
cazione più diusa di una costruzione iterativa è il para-
permutation network (SPN). Nella crittograa, una rete
digma Merkle-Damgard (MD). Anche se il paradigma
SP, o una rete di permutazione SPN, è una serie di
giace su solide basi teoriche, ci sono stati alcuni difetti
operazioni matematiche collegate utilizzando algoritmi
esposti nel design, trasformando la costruzione MD in
di crittograa a blocchi. Tale rete prende un blocco del
un modello insicuro. Diversi attacchi hanno dimostrato
testo in chiaro e la chiave come input e applica diversi
che il paradigma iterativo non è equivalente al modello di oracolo casuale utilizzato in molte prove di sicurezza dei protocolli crittograci. Nel metodo MD un messaggio di lunghezza arbitraria è suddiviso in m blocchi di bit (con un processo di riempimento sull'ultimo blocco), che vengono iniettati sequenzialmente in una funzione
Curl(message) # the state consists of 729 trits. It is initalized to all zero. state = [0]*729
di compressione resistente alle collisioni interne. La funzione di compressione genera un insieme intermedio di n bit, utilizzando il blocco di input e il risultato intermedio precedente. Il team IOTA ha progettato la propria funzione di hash crittograca chiamata Curl. Viene utilizzato per una serie di scopi tra cui creazione dell'indirizzo di transazione, creazione del digest di messaggi, Poof (Proof-of-Work) e rme basate su hash. A dierenza della maggior parte delle funzioni hash crittograche, Curl opera su numeri di base 3 (logica ternaria). Curl prende un messaggio, lo
# The message is broken into message blocks of size 243 MB_0, MB_1, ... MB_n = split(message) for MB_i in MB_0, MB_1, ... MB_n: # The current message block is copyed into the rst 243 trits of the state state[0:243] = MB_i state = Transform(state)
54