Il 0% ha trovato utile questo documento (0 voti)
7 visualizzazioni46 pagine

EOS Book4D

elettronica 4d

Caricato da

robb robb
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
7 visualizzazioni46 pagine

EOS Book4D

elettronica 4d

Caricato da

robb robb
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Machine learning e deep

ED IT ORIA LE learning

Algoritmi, set di dati, apprendimento automatico, apprendimento approfondito, calcolo cogni-


tivo, big data e intelligenza artificiale: espressioni IT che hanno assunto il linguaggio di molte
realtà industriali. ML è una delle tecnologie più eccitanti che si sarebbero mai potute incon-
trare. Come è evidente dal nome, dà al computer ciò che lo rende più simile agli umani: la
capacità di apprendere. Oggi l'apprendimento automatico viene utilizzato attivamente, forse
in molti più posti di quanto ci si aspetterebbe.

L'apprendimento automatico è un sottoinsieme dell'IA. Cioè, tutto l'apprendimento automatico conta


come AI, ma non tutti i topics di intelligenza artificiale sono considerati come apprendimento automa-
tico. L'apprendimento automatico è il campo dell'informatica che consente ai computer di apprende-
re senza essere programmati esplicitamente sulla base di statistiche computazionali e data mining.
Come per le statistiche tradizionali, l'apprendimento automatico richiede set di dati di addestramento
sufficienti e gli algoritmi corretti per ottimizzare le prestazioni sul set di dati di addestramento prima del
test. Tuttavia, contrariamente ai metodi tradizionali, l'apprendimento automatico è incentrato sulla
costruzione di sistemi decisionali automatizzati.

L'apprendimento automatico supervisionato può anche essere implementato in modo efficace per
prevedere eventi sanitari basati su vari dati di input, che possono essere classificati in modo lineare.
Ad esempio, dalle statistiche sui tassi di vaccinazione contro il morbillo e le epidemie dai Centri per
il controllo e la prevenzione delle malattie, così come i dati sanitari non tradizionali, inclusi i social
media e i dati di sorveglianza sindromica generati da software che estrae una vasta gamma di fonti
di documentazione medica, un algoritmo può fornire una mappa affidabile dei futuri punti focali per
l'epidemia di morbillo.

Maurizio Di Paolo Emilio

1
Founder & Publisher EDITORIALE MAKER
Emanuele Bonanni
Machine learning e Realizzare una bobina in 28
Editor-in-Chief 1
deep learning casa dal valore ESATTO
Maurizio Di Paolo Emilio
CFO
Lidia Balica
ROBOT
Come scegliere il
Editorial Assistant 4
Maria Pisani motore e le eliche
migliori per il tuo
Marketing
Sara Ercolani drone
Advertising
Francesca Ceroni L’importanza dei driver 19
francesca@[Link]
motori
Graphic Designer
Marilde Mirra
SCI&TECH
Scientific Committee: Machine Learning con 8
Maurizio di Paolo Emilio
Python: introduzione
Emanuele Bonanni al progetto
Giuseppe Ferri - University of
L’Aquila
Vincenzo Stornelli - University of Machine learning con 14
L’Aquila Python: descrizione
Ubaldo Denni - INFN del codice
Lucio Di Jasio

Circulation Ricetrasmettitore
Users - 131.025 33
Social Network - 111.446 a RF: omodina e
© Copyright
supereterodina
Tutti i diritti di riproduzione o di traduzione
degli articoli pubblicati sono riservati.
Manoscritti e disegni sono di proprietà di Il progetto DREAM 2020 40
EMCelettronica Srl.
E’ vietata la riproduzione anche
e l’utilizzo dei robot nel
parziale degli articoli salvo espressa trattamento dell’autismo
autorizzazione scritta dell’editore. I
contenuti pubblicitari sono riportati senza
responsabilità, a puro titolo informativo.
Come scegliere il
R O BO T
motore e le eliche
migliori per il tuo
drone di Gaetano Aerialclick

Le performance del tuo drone dipendono molto (possiamo dire quasi al 100%) dalle sue componenti
e materiali che lo costituiscono. Due elementi importantissimi che agiscono sulle prestazioni del dro-
ne, sulla sua stabilità, velocità, efficienza e durata della batteria, sono le eliche e i motori. Queste due
componenti sono strettamente legate tra loro, e vanno scelte prima di tutto tenendo a mente il tipo di
utilizzo e ambito applicativo del velivolo che vuoi acquistare/progettare/costruire. In questo articolo ti
indicheremo quali sono gli elementi da tenere in considerazione al momento della scelta delle eliche e
del motore del tuo drone.

INTRODUZIONE singolo drone. Prima di parlare dei giusti motori e delle

N
on tutti i droni sono uguali, e questa non è certo giuste eliche da scegliere, però, è bene stabilire qual è il
una notizia nuova. Ogni multicottero è costruito rapporto che li lega nella meccanica di un drone.
e pensato sulla base dell’utilizzo che ne deve Anzitutto diciamo che i motori presenti su ogni multi-
fare il suo/la sua pilota e dal momento che sono infiniti cottero variano a seconda del numero di eliche: 3 per
i campi di applicazione e di utilizzo di un drone, va da un tricottero (3 eliche), 4 per un quadricottero, 6 per un
sé che saranno notevoli le variabili di meccanica e fun- esacottero e 8 per un optacottero.
zionamento e le caratteristiche delle componenti di ogni I motori installati sui droni sono motori elettrici, princi-
palmente di tipo “brushless”, (senza
spazzole), ossia senza contatti elet-
trici striscianti sull’albero motore, così
da avere meno resistenza, ovviare al
rischio scintille, diminuire il rischio e i
tempi di usura.
I motori brishless, decisamente i mi-
gliori, hanno bisogno di un altro com-
ponente fondamentale: l’ESC (Elec-
tronic Speed Controller). Si tratta
di quella parte del drone che collega
i motori brushless al Flight Controller
(centralina) ed è costituito da un insie-
me di cavi connessi ad una minuscola
e complessa scheda elettronica, che
consente ai motori di girare in entrambi
i sensi e a velocità variabili, sulla base
dei comandi trasmessi.
Fatta questa premessa, entriamo nello
specifico di eliche e motori: possiamo
Figura 1: Eliche di un drone dire che gli aspetti più importanti relati-

4
ROBOT

vi al buon funzionamento del tuo drone e al suo essere eliche), esacotteri (6 eliche) optacotteri (8 eliche).
idoneo all’utilizzo per il quale lo hai acquistato/costruito/
progettato, sono riassumibili sempre e comunque con DIMENSIONI E MISURE
4 parole Parleremo meglio nei prossimi punti di passo e diame-
• Velocità, tro, due parole chiave importantissime cui far caso per il
• Reattività, funzionamento ottimale del nostro drone (figura 1).
• Autonomia, Prima è bene però dire che le eliche vanno scelte in
• Dimensioni. base al peso della macchina e dei dispositivi che su di
essa sono installati (foto/video camera, schede elettro-
Le prestazioni relative a velocità, reattività, autonomia e niche, gimbal, paracadute ecc). Per un drone da peso
dimensioni del drone e la loro ottimale regolazione sulla e carico complessivo inferiore a 4-4.5 kg ad esem-
base del tipo di multicottero che abbiamo scelto, sono pio possono usare eliche tra i 9-13 pollici di diame-
gli elementi da cui partire e da prendere attentamente in tro con passi di circa 5 pollici, mentre queste misure
considerazione quando si tratta di scegliere la combina- salgono quando si tratta di droni più grandi, spesso
zione tra motore ed eliche. quelli per uso professionale. In realtà, la prima cosa
da analizzare all’atto della scelta di eliche e motori è
PARTIAMO DALLE ELICHE: COME SCE- proprio l’utilizzo che vogliamo fare del nostro velivolo e,
GLIERLE? quindi, le prestazioni che da esso vogliamo ottenere e
Non è difficile comprendere l’importanza delle giuste eli- che ci sono più utili proprio in termini di autonomia, reat-
che su un drone se si pensa che la prima categorizzazio- tività, velocità e dimensioni. Scendiamo nel dettaglio di
ne di queste macchine viene fatta proprio dal numero di dimensioni, misure e materiali.
eliche (e quindi di motori ad esse collegati). Infatti quelli
che tutti chiamano semplicemente droni dovrebbero più ELICHE PICCOLE O ELICHE GRANDI?
correttamente essere chiamati quadricotteri (se hanno 4 Dalle dimensioni delle eliche che abbiamo appena men-

Figura 2: Kit drone

5
ROBOT

zionato, dipendono manovrabilità, reattività, autonomia. eliche.


Le prime due variabili dipendono dai giri del motore, che I principali presenti in commercio sono plastica, carbo-
determinano la velocità di cambio della spinta. nio e legno. Ovviamente il materiale delle eliche influi-
Se il tuo drone deve essere molto agile e reattivo (ele- sce sul costo complessivo del drone.
mento importantissimo per i velivoli utilizzati per le ri-
prese documentaristiche e giornalistiche, per le riprese • Le eliche in plastica sono più economiche ma
wildlife, per i droni ad uso di protezione civile ecc), la con efficienze aerodinamiche più basse.
scelta sarà di un tipo di elica piccola. Al contrario, se • Le eliche in carbonio sono più leggere e re-
la stabilità di volo è l’elemento predominante del nostro sistenti (e anche più costose), usate per scopi
multicottero, utilizzato ad esempio per riprese fotogram- professionali
metriche e uso agricolo, la scelta potrebbe ricadere su • le eliche in legno sono meno resistenti ma in
un’elica grande. caso d’urto riparano maggiormente la struttura
del drone.
CHE DIAMETRO SCEGLIERE?
L’autonomia del drone dipende d’altro canto dall’effi- Ci sono anche eliche ibride (ad esempio legno e resina,
cienza della spinta, a sua volta legata alle dimensioni o polimero e carbonio o ancora in fibra di vetro) ma non
delle eliche e in particolare dal loro diametro (figura 2). stiamo qui a discuterne dato che sono riservate solo ad
La durata della batteria è direttamente proporziona- utilizzi estremamente particolari e per un mercato di nic-
le alla superficie di lavoro (diametro) perché da esso chia.
dipende l’efficacia e la forza della spinta. Quindi, durata
maggiore della batteria corrisponde ad una maggiore QUALE MOTORE PER QUALE DRONE (E
superficie di lavoro (diametro). QUALE ELICA)?
Come abbiamo detto in apertura, alla tipologia e nume-
STARE AL PASSO ro di eliche sono strettamente legati i motori. Ma il moto-
Ultimo aspetto, ma molto importante, da considerare re di un drone è anche conseguentemente legato all’uso
nella scelta delle eliche è il così detto passo geometri- e alle dimensioni generiche del velivolo.
co, in inglese pitch. In pratica in un’elica, il passo geo- Per i multicotteri che necessitano, per questioni di uti-
metrico corrisponde all’inclinazione delle pale rispetto al lizzo, di una maggiore agilità, i motori brushless devono
perno e si contrappone al passo reale, ossia l’effettiva girare velocemente per generare una spinta sufficiente
velocità di avanzamento di un’elica considerando tutte e adeguata.
le variabili atmosferiche e ambientali che agiscono su Motori in grado di generare massima potenza ma a bas-
di essa. In pratica dal passo o pitch dipende la quantità so regime sono indispensabili per massimizzare l’effi-
di aria che viene “avvitata” dall’elica nella fase di rota- cienza, accoppiati quindi ad un tipo di elica di diametro
zione. maggiore, che giri a velocità inferiore assorbendo molta
La differenza tra passo geometrico e passo reale corrente.
viene detto “regresso”, anche questo elemento im- Ma facciamo un passo indietro: ti ricordi le 4 parole chia-
portante, ora vedremo perché. ve che abbiamo utilizzato per ponderare la scelta delle
Questo va calcolato sulla base al regime dei giri del mo- eliche?
tore ideale per il tuo drone e dal diametro delle eliche. Velocità, Reattività, Autonomia, Dimensioni. Bene,
Le eliche piccole comportano per lo più pitch elevati, non è difficile capire che anche la scelta dei motori in-
ideali per piccoli quadricotteri da sfruttare in velocità: in- cide su questi 4 importanti aspetti e sulla base di essi e
fatti le pale molto inclinate consentono di eludere il pro- dell’utilizzo del tuo drone dovrai scegliere il numero e il
blema della perdita di spinta a velocità molto sostenute, tipo di motori.
e quindi di coprire il così detto regresso. Invece, per Per un consumo minore di batteria, un numero minore
massimizzare i livelli di autonomia per i quadricotteri da di motori è indicato, così come anche per una maggiore
ripresa, che lavorano per lo più in condizioni standard di agilità del mezzo. 4 motori consumano meno di 6 e un
velocità, è preferibile un passo geometrico ridotto con quadricottero sarà più agile un ottacottero, va da sé.
eliche dalla superficie maggiore. Tuttavia, più motori garantiscono maggiore stabilità e
un maggiore carico utile (indispensabili caratteristiche
I MATERIALI DELLE ELICHE quando si tratta di installazione di videocamere profes-
È d’uopo fare una piccola parentesi sui materiali delle sionali con gimbal adeguati).

6
ROBOT

Non solo, anche il contrasto con attriti e raffiche di vento PERCHÈ PROPRIO QUESTO MOTORE?
saranno maggiori per esacotteri per non parlare della Perchè fa al caso nostro... o meglio, se noi dividessimo
sicurezza in caso di avaria ad uno dei motori o problemi il peso ipotizzato su 4 motori, avremmo 400 grammi a
con le eliche, nella cui eventualità per gli esacotteri è motore.
di certo più facile riportare a terra la macchina in modo Con un possibile motore potremmo raggiungere i 400
meno traumatico per le componenti. grammi sia con una batteria 4s (da 14.8V) con poco
meno il 65% di giri, sia con una batteria 3s (da 11.1V)
UN ESEMPIO PRATICO: SCEGLIAMO ELI- con il 70% di giri.
CHE E MOTORI PER IL NOSTRO QUADRI- Ed allora quale scegliere?
COTTERO LEGGERO Ecco che interviene l'efficienza! Con la batteria 3S
Ipotizziamo di voler costruire un piccolo quadricotte- (quella da 11.1 V) il grafico di prima ci mostra una effi-
ro che ha l'obiettivo di trasportare una action cam (ad cienza di circa l'8% (sempre per 400 grammi a motore)
esempio una gopro) e relativo gimbal (lo strumento di contro una efficienza del 6.89 di una batteria 4S (quella
stabilizzazione dell'immagine composto da motorini da 14.8V).
brushless di piccola dimensione ma molto molto precisi) E' fatta! Abbiamo scelto la nostra batteria e il nostro mo-
per poter poi fare degli stupendi video aerei da mostrare tore... e l'elica? Anche qui, incrociando i dati di spinta e
su internet. di efficienza (ossia la capacità di ottenere uno stesso
Innanzitutto facciamo una stima spannometrica di quan- risultato utilizzando meno energia), l'elica migliore è la
to dovrebbe essere il peso totale del nostro mezzo, ma- 10 x 3.3 (seppur difficili da trovare in commercio) in car-
gari vedendo anche le soluzioni dei nostri competitor. bonio (notare la scritta CF vicino alla dicitura 10x3.3 che
Quindi considerando: sta per carbon fibre).

• un 250 grammi di actioncam e gimbal; FINITO QUI?


• motori (confrontando con quelli dei competitor Certo che no! Ora che abbiamo davvero tutte le compo-
siamo sui 50 grammi a motore); nenti (ed abbiamo scelto anche la nostra batteria 3s),
• esc (gli electronic speed controller adatti proprio facciamoci un bel foglio excel e mettiamo all'interno tut-
a quei motori, pochi grammi); te le nostre componenti definitive, calcoliamo il peso e
• telaio (circa 300 grammi); vediamo se manca qualcosa.
• batteria (anche qui vediamo cosa offre il merca- Se il peso è superiore a quello stimato inizialmente c'è
to e stimiamo circa 500 grammi per una batteria qualcosa che non va: o un errore di calcolo o bisogna
3s); ristudiare la nostra componentistica e i nostri motori.
• elettronica (200 grammi); Se il peso è inferiore (ma di poco), allora va tutto bene,
• carrello (ci sono in giro carrelli in plastica da po- sicuramente i nostri motori continueranno a sostenere
chi grammi). quel carico e il nostro drone a volare egregiamente.
Ed allora, pronti a volare?
Il nostro drone peserà all'incirca (mettendoci per sicu- Ora dovete solo armarvi di tanta pazienza, acquistare
rezza un pò di peso in più) 1600 grammi, ossia 1.6kg. tutte le componenti, assemblare il vostro primo drone e
Andiamo quindi a scegliere il nostro motore e prendia- spiccare il volo!
mo come riferimento i motori T-Motor, ad oggi forse la Attenzione comunque a dove volate, in Italia non si può
soluzione sul mercato più affidabile e professionale. I volare ovunque e l'attuale normativa è alquanto severa
T-Motor sono infatti motori già bilanciati, efficienti, dalle sia per le zone dove poter volare sia per le multe in caso
caratteristiche note e con i cuscinetti a sfera di matrice di volo non in regola!
tedesca.
Dopo aver girato in lungo e in largo sul sito del produt-
tore ci accorgiamo di un motore molto interessante e
con le caratteristiche simili a quello che interessa a noi.
L’autore è a disposizione nei commenti per eventuali
Il motore in questione si chiama T-Motor MN2214, della approfondimenti sul tema dell’Articolo. Di seguito il link per
serie antigravity. accedere direttamente all’articolo sul Blog e partecipare alla
Si tratta di motori brushless molto performanti, dal peso discussione:
[Link]
ridotto, in grado di essere alimentati sia con batterie 3s
migliori-per-il-tuo-drone
che 4s e con eliche sia da 9 pollici sia da 10 pollici.

7
Machine Learning con
S C I& T EC H
Python: introduzione
al progetto
di Andrea Garrapa

Negli ultimi anni il linguaggio di programmazione Python ha visto un sempre maggiore utilizzo nella re-
alizzazione di progetti legati al Machine Learning. L'apprendimento automatico consiste nell'utilizzare i
dati per fare in modo che una macchina prenda decisioni intelligenti. Ad esempio, è possibile creare un
algoritmo di rilevamento dello spam in cui l'apprendimento delle regole dai dati avviene esaminando le
mail precedenti. In questo articolo andremo a descrivere la prima parte della realizzazione passo passo
di un progetto di machine learning utilizzando il linguaggio di programmazione Python.

INTRODUZIONE • sebbene sia più lento di altri linguaggi, la capaci-

L
'apprendimento automatico non è altro che tà di gestione dei dati è ottima
riconoscere i modelli nei dati. Sviluppare pro- • i numerosi package presenti in repository open
cedure per l'apprendimento automatico implica source permettono di svolgere le operazioni più
estrarre, elaborare, definire, pulire, organizzare e quindi complesse partendo da zero.
comprendere i dati. Tutte queste operazioni sui dati non
sono di facile implementazione e richiedono conoscen- In questo articolo si daranno per noti molti dei concet-
ze approfondite sia in termini matematico/statistici che ti riguardanti il linguaggio di programmazione Python.
in termini di programmazione. Python è un linguaggio L'oggetto di questo articolo è l'implementazione di
di programmazione open source che presenta delle ca- procedure di ML attraverso Python, e non la descri-
ratteristiche tali da rendere più agevole una qualsiasi zione del linguaggio. Comunque sia, nel caso si fosse
implementazione di applicazione per il Machine Lear- completamente ignari dell'esistenza di Python esiste
ning (ML). una guida online in italiano dettagliata e gratuita.
I punti di forza di Python in relazione al machine le-
arning sono i seguenti: AMBIENTE DI LAVORO
• linguaggio facilmente leggibile e con minore Prima di partire con la descrizione dello script oggetto
complessità rispetto a C, C++ e Java dell'articolo, occorre configurare l'ambiente di lavoro.

Figura 1: numero di versione di Python e dei principali package scaricati ed installati.

8
SCI&TECH

Figura 2: alcuni elementi descrittivi del dataset dei fiori dell'iris.

Occorre cioè preventivamente assicurarsi che sul pro- vendoli. Una volta scaricato ed installato Python per
prio computer sia presente una distribuzione Python e i completare la configurazione dell'ambiente di lavoro,
package necessari. Nel caso contrario si può procedere sarà sufficiente scaricare ed installare alcuni pacchetti,
in due modi: semplicemente immettendo nel prompt dei comandi la
1. Scaricare ed installare una distribuzione Python seguente riga:
già completa dei pacchetti necessari, come ad
esempio Anaconda.
2. Oppure scaricare ed installare Python dal sito py -m pip install --user numpy scipy matplotlib ipy-
ufficiale e poi scaricare i pacchetti necessari at- thon jupyter pandas nose
traverso il package manager pip.

Il Python Package Index (PyPI) è un repository che Una volta terminata l'installazione, allo stesso modo si
contiene decine di migliaia di package scritti in Python. dovrà scaricare ed installare l'ultimo pacchetto scikit-
Chiunque può scaricare package esistenti o condividere learn, immettendo nel prompt la seguente riga:
nuovi package su PyPI. È possibile accedere ai packa-
ge del Python Package Index sia tramite un browser
py -m pip install --user scikit-learn
(all’indirizzo [Link] sia tramite un tool chia-
mato pip. Il tool pip è già incluso nelle versioni di Py-
thon più recenti. Si tratta di uno strumento che permette Dopo aver eseguito questa procedura iniziale, l'ambien-
di cercare, scaricare ed installare package Python che te di lavoro sarà pronto per la realizzazione del primo
si trovino sul Python Package Index, e consente inoltre progetto di machine learning. Per sicurezza, comun-
di gestire i package già scaricati, aggiornandoli o rimuo- que, sarebbe consigliabile controllare le versioni di tutti

9
SCI&TECH

i package installati. Per fare ciò basta aprire il blocco • algebra lineare, trasformata di Fourier e numeri
note e copiare le seguenti linee di codice. casuali

Oltre ai suoi ovvi usi scientifici, NumPy può anche es-


# Python version sere usato come un efficiente contenitore multidimen-
import sys sionale di dati generici. È possibile definire tipi di dati
print('Python: {}'.format([Link])) arbitrari. Ciò consente a NumPy di ​​integrarsi facilmente
# scipy e rapidamente con un'ampia varietà di database.
import scipy La libreria SciPy è uno dei pacchetti principali che com-
print('scipy: {}'.format(scipy.__version__)) pongono lo stack SciPy. Fornisce molte routine nume-
# numpy riche user-friendly ed efficienti come le routine per l'in-
import numpy tegrazione numerica, l'interpolazione, l'ottimizzazione,
print('numpy: {}'.format(numpy.__version__)) l'algebra lineare e le statistiche.
# matplotlib Matplotlib è una libreria di rappresentazione grafica 2D
import matplotlib per Python. Matplotlib può essere utilizzato negli script
print('matplotlib: {}'.format(matplotlib.__version__)) Python, nelle shell Python e IPython, nel notebook
# pandas Jupyter, nei server di applicazioni Web e in quattro kit di
import pandas interfaccia grafica utente.
print('pandas: {}'.format(pandas.__version__)) Pandas è una libreria open source con licenza BSD che
# scikit-learn import sklearn fornisce strutture dati e strumenti di analisi dei dati ad
print('sklearn: {}'.format(sklearn.__version__)) alte prestazioni, facili da usare per il linguaggio di pro-
grammazione Python.
Scikit-learn è una libreria open source di apprendimen-
Una volta salvato e lanciato lo script, si dovrebbe ot- to automatico per Python. Contiene algoritmi di classi-
tenere nel proprio prompt qualcosa di simile a quanto ficazione, regressione e clustering (raggruppamento),
riportato in figura 1. A seconda della data di pubblica- SVC, regressione logistica, classificazione bayesiana,
zione di questo articolo, le librerie potrebbero essere k-means e DBSCAN, ed è progettato per operare con le
state aggiornate ad una versione più recente. I package librerie NumPy e SciPy.
installati risultano fondamentali perchè permettono di
utilizzare funzioni di calcolo, di grafica ed altro che sono CARICAMENTO DEL DATASET
state implementate da altri utenti e messe a disposizio- Il dataset dei fiori dell'iris, è quello che viene definito il
ne di tutti. I package scaricati vengono descritti breve- "Ciao Mondo" dell'apprendimento automatico. Questo
mente di seguito. NumPy è il pacchetto fondamentale set di dati è famoso perché viene usato da quasi tutti,
per il calcolo scientifico con Python. Consente tra le al- come punto di partenza per sperimentare con il ML. Il
tre cose: dataset presenta le seguenti caratteristiche:
• creazione e manipolazioni di array e matrici • il set di dati contiene 150 osservazioni di fiori di
• funzioni sofisticate (broadcasting) iris
• trumenti per l'integrazione di codice C / C ++ e • le osservazioni consistono di 50 campioni per
Fortran ognuna delle 3 specie di iris (Iris setosa, Iris vir-

Figura 3: esempio descrittivo della rappresentazione grafica "baffi e scatola".

10
SCI&TECH

ginica e Iris versicolor)


• le 4 caratteristiche (features) misurate per ogni
# shape
campione sono: lunghezza e larghezza del se-
print([Link])
palo, lunghezza e larghezza del petalo
# head
• le misure sono espresse in centimetri
print([Link](20))
• nel dataset ci sono quattro colonne, una per
# descriptions
ogni misura. La quinta colonna indica la specie
print([Link]())
(class) del fiore osservato.
# class distribution
print([Link]('class').size())
Il caricamento dei dati del dataset avviene per mazzo
dell'URL del file CSV. Il package pandas viene utilizzato
sia per caricare i dati che per esplorarli. Si può notare Per valutare il numero di istanze (righe) e di attributi (co-
che i nomi di ciascuna colonna del dataset vengono de- lonne) che realizzano il dataset è possibile utilizzare la
finiti durante il caricamento del file, questo rende l'esplo- proprietà shape. Il file è caratterizzato da 150 istanze e
razione futura dei dati molto più semplice. Tutti i moduli, da 5 attributi, come visibile in figura 2. Per mezzo della
le funzioni e gli oggetti utilizzati nello script vengono im- proprietà head è possibile dare uno sguardo alle prime
portati tramite il comando "import" all'inizio del codice. n (nel caso in figura si è scelto 10) righe del dataset. La
Per realizzare quanto appena descritto basta aprire un proprietà describe() genera statistiche descrittive che
nuovo file del blocco note, copiare le righe di codice se- riassumono la tendenza centrale (mean), la dispersio-
guenti e salvare. ne (std) e la forma della distribuzione di un set di dati.
Per impostazione predefinita vengono riportati i valori
# Load libraries massimi e minimi di ogni attributo e i valori relativi ai
import pandas percentili 0.25, 0.5 e 0.75. Infine la proprietà groupy()
from [Link] import scatter_matrix consente di raggruppare le istanze rispetto alla classe di
import [Link] as plt appartenenza con relativo conteggio (size). Le istanze
from sklearn import model_selection sono ripartite equamente tra le 3 classi.
from [Link] import classification_report Guardare i dati grezzi può innescare delle intuizioni
from [Link] import confusion_matrix che possono poi crescere in idee su come preelabo-
from [Link] import accuracy_score rare e gestire meglio i dati per le attività di machine
from sklearn.linear_model import LogisticRegression learning. Avere un controllo sulla quantità di dati che si
from [Link] import DecisionTreeClassifier ha, sia in termini di righe che di colonne è importante.
from [Link] import KNeighborsClassifier Alcuni algoritmi potrebbero richiedere troppo tempo per
from sklearn.discriminant_analysis import LinearDi- essere addestrati a causa di troppe righe. Le statisti-
scriminantAnalysis che descrittive possono dare una visione approfondita
from sklearn.naive_bayes import GaussianNB della forma di ciascun attributo. Nei problemi di classifi-
from [Link] import SVC cazione è consigliabile sapere quanto siano equilibrati i
valori delle classi. Problemi molto squilibrati (molte più
# Load dataset osservazioni per una classe piuttosto che un'altra) sono
url = "[Link] comuni e potrebbero richiedere un trattamento speciale
Datasets/master/[Link]" nella fase di preparazione dei dati del progetto.
names = ['sepal-length', 'sepal-width', 'petal-length',
'petal-width', 'class'] ESPLORAZIONE GRAFICA
dataset = pandas.read_csv(url, names=names) I dati possono essere esplorati anche dal punto di vista
grafico. Spesso avere un'immagine grafica di un feno-
ESPLORAZIONE DEI DATI meno risulta più "amichevole" da comprendere rispet-
Una fase importante del machine learning è l'esplora- to ai freddi numeri. Una tipologia di rappresentazione
zione dei dati. Comprendere la struttura dei dati facilita grafica che ben si adatta all'indagine statistica, è la co-
la scelta degli strumenti con cui operare nelle fasi suc- siddetta rappresentazione "baffi e scatola". In figura 3
cessive. viene riportato un esempio di questa rappresentazione
Occorre quindi inserire nello script realizzato nel prece- grafica. Il rettangolo (la "scatola") è delimitato dal primo
dente paragrafo, le seguenti righe di codice: e dal terzo quartile, q1/4 e q3/4, e diviso al suo interno

11
SCI&TECH

Figura 4: rappresentazione "baffi e scatola" dei quattro attributi numerici del dataset dei fiori dell'iris.

Figura 5: grafico a matrice di dispersione per ciascuna variabile di input per il set di dati dei fiori dell'iris.

dalla mediana, q1/2. I segmenti (i "baffi") sono delimitati


# box and whisker plots
dal minimo e dal massimo dei valori. In questo modo
[Link](kind='box', subplots=True, layout=(2,2),
vengono rappresentati graficamente i quattro inter-
sharex=False, sharey=False)
valli ugualmente popolati delimitati dai quartili. Ci
[Link]()
possono essere anche dei dati anomali (definiti Outlier
in statistica) e che vengono rappresentati con dei cer- L'immagine che si dovrebbe ottenere è mostrata in fi-
chietti esterni rispetto al grafico. Per ottenere quattro gura 4. Nelle righe di codice per la rappresentazione
grafici "baffi e scatole", uno per ogni attributo numerico "baffi e scatole", è possibile modificare il tipo (kind) di
del dataset, occorre copiare nello script le seguenti linee grafico, sostituendo alla parola box un altro identificati-
di codice. vo. Ad esempio si potrebbe inserire hist e visualizzare

12
SCI&TECH

degli istogrammi per ogni attributo, cosi da visualizzare


la frequenza di ripetizione di certi valori degli attributi nel
dataset. Altri tipi di rappresentazioni utili sono quel-
le che mettono in luce le relazioni tra gli attributi.
In particolare il grafico di dispersione (scatter plot) può
essere realizzato mettendo su un piano cartesiano le
varie istanze del dataset. Gli assi del piano cartesiano
rappresentano due dei 4 attributi numerici del dataset.
Si possono ottenere 16 grafici di dispersione utilizzando
tutte le possibili coppie di attributi . Il codice per realiz-
zare la matrice dei grafici di dispersione è il seguente:

# scatter plot matrix


scatter_matrix(dataset)
[Link]()

Una volta inserite le righe nel codice completo si do-


vrebbe ottenere un'immagine uguale a quella riportata
in figura 5. Risulta degno di nota il raggruppamento dia-
gonale di alcune coppie di attributi. Questo suggerisce
un'alta correlazione tra le due variabili e una relazione
prevedibile.

CONCLUSIONE
In questo articolo è stata trattata la prima parte dell'im-
plementazione di uno script in Python per un'attività di
machine learning. Il focus è stato dato alle operazioni
preliminari per la configurazione dell'ambiente di lavoro,
per il caricamento dei dati e per l'analisi statistica e gra-
fica del dataset oggetto di studio. Nella seconda parte
l'enfasi sarà invece posta sugli algoritmi di classifi-
cazione e sulle loro performance. Per comprendere
lo script non è necessario essere un programmatore
poichè Python è un linguaggio intuitivo e nella maggior
parte dello script si fà un uso frequente a chiamate di
funzioni e assegnamenti di variabili. Nel caso non fos-
se tutto chiaro al primo passaggio si può fare uso della
guida help("nome_funzione") della sintassi di aiuto in
Python per conoscere tutte le funzioni utilizzate, oltre
che commentare l'articolo sul blog di Elettronica Open
Source.

Lo script parziale si può scaricare facendo clic su


questo link

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:
[Link]
introduzione-al-progetto

13
Machine learning con
S C I& T EC H
Python: descrizione
del codice
di Andrea Garrapa

Nella prima parte del tutorial sull'uso del linguaggio di programmazione Python per progetti di appren-
dimento automatico, erano state presentate e commentate le sezioni di codice relative all'impostazione
dell'ambiente di lavoro, al caricamento delle librerie e del dataset, alla descrizione statistica e grafica
dei dati. In questa seconda parte invece si proseguirà con la descrizione del codice che comprenderà:
i metodi di suddivisione del dataset, gli algoritmi di classificazione e le metriche di valutazione.

INTRODUZIONE zione è una stima dell'efficacia dell'algoritmo nella

Q
uanto operano bene gli algoritmi su dati mai vi- pratica, non è una garanzia di prestazioni. Il dataset
sti? Questa è la domanda che ci si dovrebbe su cui operare va quindi suddiviso in due parti: una par-
porre quando si valutano le performance degli te con cui addestrare l'algoritmo (set di addestramen-
algoritmi di classificazione per un dato problema. Due to) e l'altra con cui testarlo (set di prova).
sono le metodologie prevalenti per valutare le presta-
zioni di un algoritmo: SUDDIVISIONE DEL DATASET
1. fare previsioni per nuovi dati di cui si conoscono Tra le varie tecniche che si possono utilizzare per sud-
già le risposte dividere il set di dati e creare utili stime di rendimento
2. utilizzare tecniche basate su statistiche denomi- per gli algoritmi di apprendimento automatico, le due
nate metodi di ricampionamento che consento- principali sono:
no di effettuare stime accurate del livello di effi- 1. uddivisione in set di addestramento e di prova.
cienza dell'algoritmo sui nuovi dati. 2. Validazione incrociata K-fold.
Perché non è possibile addestrare gli algoritmi di ap- Nella suddivisione in set di addestramento e di pro-
prendimento automatico su un dataset e utilizzare le va, il set di dati originale, viene diviso in due parti. L'al-
previsioni dello stesso dataset per valutare le perfor- goritmo viene addestrato sulla prima parte, le previsioni
mance degli algoritmi di apprendimento automatico? vengono fatte sulla seconda parte e vengono valutate
La risposta è semplice: sovradattamento. Supponen- le previsioni rispetto ai risultati noti. La dimensione della
do esista un algoritmo che ricordi ogni osservazione che divisione può dipendere dalle dimensioni e dalle spe-
gli viene mostrata. Se valutato sullo stesso set di dati cifiche del set di dati, sebbene sia comune utilizzare il
utilizzato per addestrarlo, tale algoritmo otterrebbe un 67% dei dati per l'addestramento e il restante 33% per
punteggio perfetto nel set di dati di addestramento la prova. Questa tecnica di valutazione dell'algoritmo è
Ma le previsioni fatte su nuovi dati sarebbero terribili. molto veloce. È ideale per dataset di grandi dimensioni
Non riesce a generalizzare! Occorre valutare gli al- (milioni di record) in cui esiste una forte evidenza che
goritmi di apprendimento automatico sui dati che non entrambe le suddivisioni dei dati siano rappresentative
vengono utilizzati per addestrare l'algoritmo. La valuta- del problema sottostante. A causa della velocità, è uti-

Figura 1: stime di accuratezza per i sei modelli analizzati.

14
SCI&TECH

le utilizzare questo approccio quando l'algoritmo che si La convalida incrociata 10-fold verrà utilizzata per va-
sta studiando è lento da addestrare. Uno svantaggio di lutare l'accuratezza dei modelli. La metrica di Accura-
questa tecnica è che può avere un'alta varianza. Ciò tezza per valutare i modelli, è il rapporto del numero
significa che le differenze nel set di dati di addestra- di istanze correttamente previste diviso per il numero
mento e di test possono determinare differenze signi- totale di istanze nel set di dati moltiplicato per 100 (ad
ficative nella stima dell'accuratezza. Oltre a specificare esempio accuratezza del 95%).
la dimensione della divisione, si può specificare anche il
seme casuale (seed). Essendo la suddivisione dei dati # Test options and evaluation metric
casuale, occorre garantire che i risultati siano riproduci- seed = 7
bili. Specificando il seed si otterranno gli stessi numeri scoring = 'accuracy'
casuali ogni volta che viene eseguito il codice. Questo
è importante nel confronto dell'accuratezza stimata tra VALUTAZIONE DEI MODELLI
configurazioni diverse o tra algoritmi di apprendimen- La scelta dell'algoritmo più adatto al problema e le mi-
to automatico differenti. La validazione incrociata k- gliori configurazioni da utilizzare, rappresentano un
fold, permette di stimare le prestazioni di un algoritmo passo importante nel processo di apprendimento au-
di apprendimento automatico con una varianza inferiore tomatico. Dall'osservazione del dataset si ricava che
rispetto a una singola suddivisione addestramento-test alcune classi sono parzialmente separabili linearmente
dei dati. Funziona dividendo il set di dati in K parti (ad in alcune dimensioni, quindi ci si può aspettare risultati
esempio K = 5 o K = 10). Ogni suddivisione dei dati è generalmente buoni, con tutti i modelli valutati. I modelli
definita fold. L'algoritmo viene addestrato su k-1 fold, sotto inchiesta saranno 6:
e testato sul fold rimasto fuori. Questo viene ripetuto in 1. Logistic Regression (LR)
modo che a ciascun fold del set di dati venga data la 2. Linear Discriminant Analysis (LDA)
possibilità di essere un set di prova. Dopo aver eseguito 3. K-Nearest Neighbours (KNN)
la convalida incrociata si ottengono K diversi punteggi 4. Classification and Regression Trees (CART)
delle prestazioni che è possibile riepilogare utilizzando 5. Gaussian Naive Bayes (NB)
una media e una deviazione standard. Il risultato è una 6. Support Vector Machines (SVM)
stima più affidabile delle prestazioni dell'algoritmo in In LR l'obiettivo è trovare i valori per i coefficienti che
esame. È più accurato perché l'algoritmo viene adde- pesano ciascuna variabile di input come nella regres-
strato e valutato più volte su dati diversi. La scelta di sione lineare. A differenza della regressione lineare, la
K deve consentire che la dimensione di ciascuna par- previsione dell'output viene trasformata utilizzando una
tizione di test sia sufficientemente ampia da essere un funzione non lineare denominata funzione logistica. La
campione ragionevole del problema, pur consentendo rappresentazione con LDA è piuttosto semplice. Con-
sufficienti ripetizioni dell'algoritmo di valutazione. Per siste nel calcolo delle proprietà statistiche dei dati, per
set di dati di dimensioni modeste in migliaia o decine ogni classe. Le previsioni vengono fatte calcolando un
di migliaia di record, valori di K comuni sono 3, 5 e 10. valore discriminante per ogni classe e facendo una pre-
Passando al codice, il set di dati caricato verrà diviso visione per la classe con il valore maggiore. In KNN la
in due, l'80% dei quali usati per addestrare i modelli e il previsione per ogni nuovo ingresso viene fatta cercando
20% tenuti da parte come set di dati di convalida. Ora nell'intero set di addestramento le K istanze più simili
si dispone di dati di allenamento in X_train e Y_train (vicine) e classificando con la classe più frequente tra le
per preparare i modelli, e di dati di test in X_validation K istanze. Il trucco sta nel modo di determinare la somi-
e Y_validation da utilizzare in seguito. glianza tra le istanze di dati. La tecnica più semplice, se
gli attributi sono tutti della stessa scala, consiste nell'u-
# Split-out validation dataset tilizzare la distanza euclidea. La rappresentazione per il
array = [Link] modello CART è un albero binario. Ogni nodo rappre-
X = array[:,0:4] senta una singola variabile di input (x) e un punto di di-
Y = array[:,4] visione su quella variabile (assumendo che la variabile
validation_size = 0.20 sia numerica). I nodi foglia dell'albero contengono una
seed = 7
variabile di output (y) che viene utilizzata per effettuare
X_train, X_validation, Y_train, Y_validation = model_
selection.train_test_split(X, Y, test_size=validation_ una previsione. Le previsioni vengono effettuate cam-
size, random_state=seed) minando lungo le divisioni dell'albero fino ad arrivare a
un nodo foglia e generare il valore della classe in quel

15
SCI&TECH

zione dei modelli.

# Spot Check Algorithms


models = []
[Link](('LR', LogisticRegression(solver='libli
near', multi_class='ovr')))
[Link](('LDA', LinearDiscriminantA-
nalysis()))
[Link](('KNN', KNeighborsClassifier()))
[Link](('CART', DecisionTreeClassifier()))
[Link](('NB', GaussianNB()))
[Link](('SVM', SVC(gamma='auto')))
# evaluate each model in turn
results = []
names = []
for name, model in models:
kfold = model_selection.KFold(n_splits=10, ran-
Figura 4: rappresentazione "baffi e scatola" dei quattro attri- dom_state=seed)
buti numerici del dataset dei fiori dell'iris. cv_results = model_selection.cross_val_
score(model, X_train, Y_train, cv=kfold,
scoring=scoring)
nodo foglia. Il modello NB comprende due tipi di proba- [Link](cv_results)
bilità che possono essere calcolati direttamente dai dati [Link](name)
di addestramento: (1) la probabilità di ogni classe, (2) la msg = "%s: %f (%f)" % (name, cv_results.mean(),
probabilità condizionale per ogni classe dato ogni va- cv_results.std())
lore x. Una volta calcolate, il modello di probabilità può print(msg)
essere utilizzato per fare previsioni per nuovi dati usan-
do il Teorema di Bayes. Nel modello SVM un iperpiano Una volta salvato e lanciato lo script, si dovrebbe ot-
viene selezionato per separare al meglio i punti nello tenere qualcosa di simile a ciò che viene presentato
spazio delle variabili di input in funzione della classe di in figura 1. Le stime di accuratezza per ciascuno dei
appartenenza. L'algoritmo di apprendimento SVM trova 6 modelli presentati sono riportate in figura 1. Support
i coefficienti che determinano la migliore separazione Vector Machines (SVM) presenta il più alto punteggio di
delle classi grazie all'iperpiano. La distanza tra l'iperpia- accuratezza stimata. Occorre comunque notare che an-
no e i punti dati più vicini viene indicata come margine. che gli altri modelli si comportano bene. Nella scelta del
L'iperpiano migliore o ottimale che può separare le clas- modello, a parità di accuratezza stimata, va tenuto con-
si è la linea che presenta il margine più grande. Solo to anche di altri fattori come la semplicità dell'algoritmo,
questi punti sono rilevanti nel definire l'iperpiano e nella la sua velocità di esecuzione o il carico sulla memoria.
costruzione del classificatore. Questi punti sono chia-
mati vettori di supporto, poichè supportano o definisco- FARE PREDIZIONI
no l'iperpiano. In pratica, viene utilizzato un algoritmo di Una volta scelto il modello, è possibile fare delle pre-
ottimizzazione per trovare i valori per i coefficienti che dizioni grazie al set di validazione (quel 20% dei dati
massimizzano il margine. lasciati da parte). Anche se non il migliore, l'algoritmo
Questa è una buona combinazione di semplici algorit- KNN è molto semplice ed è risultato un modello accu-
mi lineari (LR e LDA) e non lineari (KNN, CART, NB e rato, per questo risulta un buon candidato per la con-
SVM). Ripristinare il seed prima di ogni analisi garantirà valida. Ma come validare il modello con il set di conva-
che la valutazione di ciascun algoritmo venga eseguita lida? Eseguendo il modello KNN direttamente sul set di
utilizzando esattamente le stesse suddivisioni di dati. In convalida e riassumendo i risultati come un punteggio
In tal modo i risultati saranno direttamente confrontabili. di accuratezza finale, matrice di confusione e rapporto
Non è importante il valore del seed, quello che importa è di classificazione. L'accuratezza della classificazione
che sia sempre lo stesso. Passando al codice, ripreso è il numero di previsioni corrette in rapporto con tutte
lo script creato nel primo articolo del tutorial, occore co- le previsioni fatte. Questa è la metrica di valutazione
piare ed incollare sia il codice relativo alla suddivisione più comune per i problemi di classificazione. È davvero
del dataset, sia il codice seguente relativo alla valuta- adatta solo quando ci sono un numero uguale di osser-

16
SCI&TECH

Figura 2: accuratezza, matrice di confusione e rapporto di classificazione per l'algoritmo KNN operante sul set di convalida.

vazioni in ogni classe (raramente) e solo quando tutte di simile a quanto riportato in figura 2.
le previsioni e gli errori di predizione sono ugualmente
# Make predictions on validation dataset
importanti. La matrice di confusione è una comoda
knn = KNeighborsClassifier()
presentazione della precisione di un modello con due
[Link](X_train, Y_train)
o più classi. L'accuratezza non è affidabile quando le
predictions = [Link](X_validation)
classi sono sbilanciate. La tabella 1 presenta un esem-
print(accuracy_score(Y_validation, predictions))
pio di matrice di confusione per un algoritmo di appren- print(confusion_matrix(Y_validation, predictions))
dimento automatico il cui scopo è classificare un anima- print(classification_report(Y_validation, predictions))
le come Gatto o Non-Gatto. Le previsioni sono disposte
sull'asse x e le classi attuali sull'asse y. L'accuratezza calcolata risulta pari a 0,9 o 90%. La ma-
Le decisioni prese dall'algoritmo possono ricadere in trice di confusione fornisce un'indicazione dei tre errori
una delle 4 celle (VP, VN, FP, FN) della tabella. In ogni commessi. Infine, il rapporto di classificazione fornisce
cella avviene il conteggio del numero di volte che l'algo- una suddivisione di ogni classe per precisione, richiamo,
ritmo ha preso una decisione caduta nella cella stessa. punteggio f1 mostrando risultati eccellenti (nonstante il
Le celle sono cosi descritte: set di dati di convalida fosse piccolo).
• la previsione Gatto su un animale effettivamente
Gatto prende il nome di Vero Positivo (VP); CONCLUSIONE
• la previsione Non-Gatto su un animale effetti- In questo Articolo, suddiviso in due parti, è stato descrit-
vamente Gatto prende il nome di Falso Positivo to il procedimento passo dopo passo per implementare
(FP); un progetto di machine learning nel linguaggio di pro-
• la previsione Gatto su un animale effettivamen- grammazione Python. Il completamento di un piccolo
te Non-Gatto prende il nome di Falso Negativo progetto, dal caricamento dei dati al fare previsioni è
(FN); il modo migliore per familiarizzare con una nuova piat-
• la previsione Non-Gatto su un animale effettiva- taforma. Non tutti i passaggi di un progetto di machine
mente Non-Gatto prende il nome di Vero Nega- learning sono stati trattati perché è meglio concentrare
tivo (VN). l'attenzione su pochi passaggi chiave, piuttosto che per-
Il rapporto di classificazione presenta quattro metriche: dersi in troppi dettagli. Caricare i dati, esaminarli, valuta-
la precisione, il richiamo, il punteggio f1 e il supporto re algoritmi e fare previsioni sono le fasi fondamentali di
per ogni classe. Precisione e Richiamo vengono cal- qualsiasi progetto di apprendimento automatico.
colati in base alla matrice di confusione. La Precisione
è data dal rapporto tra (VP/VP+FP), ovvero sul totale Lo script completo si può scaricare facendo clic su
di classificati come Gatti quanti realmente sono Gatti; questo link
mentre il Richiamo come (VP/VP+FN), ovvero sul totale
dei veri gatti quanti sono stati classificati correttamen-
te. Punteggio f1 è una media armonica ponderata delle
L’autore è a disposizione nei commenti per eventuali
metriche Precisione e Richiamo in modo tale che il pun- approfondimenti sul tema dell’Articolo. Di seguito il link per
teggio migliore sia 1 e il peggiore sia 0. Si calcola come accedere direttamente all’articolo sul Blog e partecipare alla
2*(Precisione*Richiamo)/(Precisione+Richiamo). Pas- discussione:
[Link]
sando al codice, inserendo nello script l'ultima parte
descrizione-del-codice
del codice e lanciandolo si dovrebbe ottenere qualcosa

17
L’importanza dei driver
R O BO T motori
di Pavan Andrea

In quasi tutte le piccole grandi applicazioni robotiche c'è la necessità di "azionare" motori elettrici per il
movimento del robot, quale per esempio quello relativo alle braccia meccaniche, oppure meccanismi di
pan & tilt, posizionatori e numerosi altri. Ogni tecnologia costruttiva di motori elettrici richiede un par-
ticolare tipo di "pilotaggio", un motore in corrente continua a spazzole può essere messo in rotazione
semplicemente fornendo tensione continua sufficiente ai suoi morsetti, mentre per un motore di tipo
brushless tutto ciò non basterà. L'oggetto che si interpone tra motore e "intelligenza" viene chiamato
driver e, in questo articolo, dopo aver discusso e illustrato qualche nozione generale, ne verranno
presentati ed analizzati tre in particolare: l'Arduino Motor Shield R3 , il Pololu Dual MC33926 (versione
adattata per Raspberry Pi) e il TB6612FNG della Sparkfun.

INTRODUZIONE di feedback al driver tramite dell'opportuna sensoristica,

L
'interfaccia in ingresso ad un driver motori ha il per esempio: finecorsa, encoder, effetto Hall ecc. ecc.
compito di comunicare al motore le funziona- I motivi per i quali può essere conveniente/necessario
lità desiderate, rispettando i limiti delle capacità un driver motori opportuno sono i seguenti:
circuitali e del cinematismo (Figura 1). La logica inter- • solitamente l'oggetto che gestisce la logica (mi-
na al driver elaborerà la nostra richiesta fornendo in crocontrollore, PLC, PC ecc. ecc.) non è in gra-
output dei segnali adatti a pilotare il generico stadio di do di pilotare direttamente un motore (in primis)
amplificazione che per esempio, potrebbe essere un per le grandezze elettriche in gioco. Per esem-
comune "ponte-H". Lo stadio di amplificazione, a sua pio, solitamente un GPIO (General Purpose In-
volta, "reimpasterà" le grandezze elettriche in ingresso put Output) di un microcontrollore può "erogare"
dall'alimentazione: tensione, frequenza, corrente ecc. al massimo 15mA e una tensione che non su-
e le trasformerà opportunamente per pilotare il motore pererà quella di alimentazione dello stesso (5V,
elettrico collegato alla sua uscita. Il motore potrebbe, se 3,3V), quindi, come farà per esempio a pilotare
necessario e se supportato dal driver, fornire dei segnali un motore avente per tensione di funzionamento

Figura 1: Schema a blocchi di un generico driver motori.

19
ROBOT

Figura 2: Formule per il calcolo del "timing" del segnale PWM.

12V e una corrente assorbita nominale di 1A? Si al driver il compito di interfacciarsi correttamente
rischierebbe di bruciare il microcontrollore. con il motore.
• A volte, nei driver motori più "smart", sono già
implementati controlli di coppia, velocità e altre COME SCEGLIERE UN DRIVER MOTORI?
grandezze fisiche legate al motore e al suo ci- Una volta compreso il generico funzionamento e, capiti
nematismo, quindi, tramite la logica, dovremo i motivi e le necessità per cui si utilizza un driver motori,
preoccuparci solamente di indicare il valore de- proviamo a redarre una lista delle caratteristiche e dei
siderato della grandezza opportuna e il driver si parametri di cui uno sviluppatore deve tener conto nella
occuperà autonomamente di portarla al valore scelta del driver:
desiderato. • Tipologia di motore da pilotare: motore asin-
• I driver motori sono già ottimizzati per le nume- crono trifase, motore in corrente continua a spaz-
rose e particolari tecnologie costruttive dei mo- zole, motore passo-passo, motore brushless
tori. Per esempio, il pilotaggio di un motore con cassa rotante, motore sincrono ecc.
di tipo passo-passo richiederebbe parecchio • Potenza elettrica, tensione nominale, cor-
tempo di sviluppo software & hardware, men- rente e frequenza nominale del motore: que-
tre l'utilizzo di un apposito driver permetterebbe ste grandezze fisiche devono essere inferiori e
allo sviluppatore di dare in pasto al driver stesso compatibili con le caratteristiche del driver scel-
solamente il movimento desiderato, tralasciando to. Per esempio, un driver capace di pilotare un

Figura 3: Schema a blocchi di un motore pilotato con tecnica PWM.

20
ROBOT

motore da 12V 4A non potrà pilotare un motore un tempo di permanenza a livello alto chiamato anche
da 20V 10A. "duty cycle" ed espresso in percentuale rispetto al perio-
• Potenza elettrica, tensione, corrente e fre- do "T" del segnale. Vediamo un esempio:
quenza nominale disponibili dalla fonte di • Periodo: 1s -> frequenza: 1Hz
alimentazione: batteria/e nelle varie chimiche • Duty cycle: 70%
disponibili, alimentazione da rete industriale a
50Hz, alimentazione da BUS in corrente con- In accordo a questi parametri il segnale PWM, avente
tinua, alimentazioni con tensioni differenti da periodo 1 s, avrà un tempo di permanenza a livello alto
quelle di lavoro del motore da pilotare ecc. ecc. di 0,7s (70% di 1 s) e un tempo di permanenza a livello
• Tipologia di azionamento: le applicazioni pos- basso di 0,3s. Di seguito, in figura 2, le formule utilizza-
sono spaziare dal posizionamento di un utensile te per il calcolo dei tempi del segnale a livello alto e a
su un asse di una CNC , alla trazione elettrica, livello basso.
al mantenimento di una coppia o una velocità Ora, definito il PWM, vediamo cosa capita se con que-
costante ecc. sto segnale pilotiamo un interruttore statico che a sua
• Interfaccia con l'intelligenza: Ethernet, USB, volta pilota un motore.
ingressi digitali, ingressi analogici ecc. A secon- Come illustrato in figura 3, il segnale PWM pilota l'in-
da di quali periferiche ha a bordo "l'intelligenza", terruttore statico "chiudendolo" quando il segnale è alto
e quali sono i tempi di risposta del sistema de- e, "aprendolo" quando il segnale è basso. L'interruttore
siderati. statico, che in questo caso è anche lo stadio di "poten-
za", a sua volta pilota il motore alimentandolo/disali-
LA TECNICA DI PILOTAGGIO: IL PWM mentandolo numerose volte ogni secondo. Il risultato
Il PWM (Pulse Width Modulation) è la modulazione di un finale di questi veloci "on-off" è quello qualitativamente
impulso digitale nella quale, variando i tempi di perma- illustrato nei grafici di figura 4 dai quali si evince che,
nenza del segnale a livello alto e a livello basso, possia- all'aumentare del duty cycle, quindi della permanenza
mo scambiare dei dati oppure, come nel nostro caso, del segnale a livello alto, la coppia meccanica o cop-
pilotare un interruttore statico (un Mosfet, un transistor pia all'albero erogata dal motore aumenta nel corso
ecc.) ad alta frequenza. Il segnale è contraddistinto da del tempo. In sostanza, prendendo in considerazione la

Figura 4: Grafici qualitativi della relazione tra coppia sviluppata all'albero e duty cycle del PWM.

21
ROBOT

Figura 5: Arduino Motor Shield R3

Figura 6: Il pinout dei due package del L298.

nostra applicazione, maggiore sarà il duty cycle, mag- • Tensione di alimentazione esterna: da 5 a
giore sarà la velocità di rotazione dei motori. 12V.
• Driver motori: L298 (in package PowerSO20).
L'ARDUINO MOTOR SHIELD R3 • Massima corrente: 2A o 4A con alimentazione
Arduino Motor Shield è un driver dual full-bridge per esterna per canale.
pilotare due motori a corrente continua con la scheda • Tipi di motori pilotabili: motore passo-passo,
Arduino, controllando a sua volta la velocità e la direzio- motore a spazzole in corrente continua.
ne di ciascuno di essi in modo indipendente (figura 5). • Interfaccia: PWM e input digitali.
È inoltre possibile misurare l'assorbimento di corrente di • Altro: funzione di frenatura, senso di rotazione,
ogni singolo motore. feedback analogico della corrente assorbita,
Caratteristiche principali: protezione da sovratemperatura.

22
ROBOT

Figura 7: Caratteristiche del L298

L'integrato "L298" è un driver dual full-bridge adatto a pi- pilotare carichi induttivi come motori, solenoidi e relè.
lotare carichi induttivi. Può essere acquistato nei packa- Viene fornito nel package 32 pin PQFN, contiene al suo
ge Multiwatt 15 e PowerSO20, e contiene al suo interno interno tutta la logica e la parte di potenza per pilotare
la logica e gli stadi di amplificazione per pilotare due ca- due canali in entrambe le direzioni. Dispone inoltre di
nali in entrambe le direzioni. Dispone inoltre di feedback feedback della corrente assorbita e l'abilitazione/disabi-
della corrente assorbita e l'abilitazione/disabilitazione di litazione di ciascun canale. Lo schema elettrico è visua-
ciascun canale (Figura 6 e 7). lizzato in figura 10, mentre nella figura 11 i collegamenti
Oltre all'integrato L298, Arduino Motor Shield R3 si con la board Raspberry.
compone di diodi di ricircolo, gli operazionali per portare La sorgente di alimentazione esterna viene connessa ai
a fondo scala di 3,3V il feedback della corrente assor- morsetti "VIN" e "GND", i motori ai due canali disponibili:
bita, qualche led per segnalare la direzione di moto, la "M1A", "M1B" e "M2A", "M2B". La board inoltre, ha un
possibilità di abilitare e disabilitare la funzione di frena- regolatore DC/DC a bordo che permette di alimentare
tura, l'impostazione tramite pin digitale della direzione e Raspberry Pi con i 5V richiesti.
la compatibilità con Arduino UNO. In figura 8 è visualiz-
zato lo schema elettrico. IL DRIVER TB6612FNG
Il driver TB6612FNG è una "breakout-board" adatta a
IL POLOLU DUAL MC33926 MOTOR DRIVER pilotare motori passo-passo e motori in corrente con-
PER RASPBERRY PI tinua di piccola taglia: 1,2A per canale e una tensione
Il driver Pololu consta di due Freescale MC33926 H- massima di alimentazione dei motori di 15V. A differen-
bridge con un ampio campo di funzionamento da 5 - 28 za delle precedenti si presenta con una forma adatta ad
V e può offrire quasi 3 A continua (5 A picco) a ciascun essere installata e interfacciata con qualunque micro-
motore. MC33926 dispone di protezione di bassa ten- controllore che, in alcune applicazioni, può essere utile
sione, protezione da sovracorrente e sovratemperatura per motivi costruttivi e dimensionali (figura 12).
(figura 9). Caratteristiche principali:
Caratteristiche principali: • Tensione di alimentazione esterna: 15V max
• Tensione di alimentazione esterna: da 5 a per i motori, da 2,7 a 5,5V per la logica.
28V. • Driver motori: TB6612FNG (in package
• Massima corrente: 3A per canale. SSOP24).
• Tipi di motori pilotabili: motore passo-passo, • Massima corrente: 1,2A per canale.
motore a spazzole in corrente continua. • Tipi di motori pilotabili: motore passo-passo,
• Interfaccia: PWM e input digitali. motore a spazzole in corrente continua.
• Altro: limitazione di corrente, senso di rotazio- • Interfaccia: PWM e input digitali.
ne, feedback analogico della corrente assorbita, • Altro: senso di rotazione, protezione da sovra-
protezione da sovratemperatura. temperatura, frenata.

L'integrato "MC33926" è un driver full-bridge adatto a Il TB6612FNG della Toshiba è un IC dual full-bridge for-

23
ROBOT

Figura 8: Lo schema elettrico della Arduino Motor Shield R3.

24
ROBOT

sua logica interna. In figura 13 è riportato lo schema


elettrico, mentre al seguente link è possibile scaricare i
file schematic e PCB realizzati con Eagle.
Il collegamento tra la board, Arduino, i motori e la sor-
gente di alimentazione esterna è visualizzato in figura
14.
In questo caso la logica del driver motori viene alimen-
tata dall'uscita a 5V del regolatore a bordo della scheda
Arduino, la parte di potenza viene invece alimentata da
una sorgente di alimentazione esterna. Le altre con-
nessioni (pin 3,5,8,9,10,11,12 di Arduino) servono per
indicare al driver alcuni parametri come la direzione,
velocità e stato.

CONCLUSIONI
Figura 9: Il Pololu Dual MC33926 per Raspberry Pi. Il mercato offre numerosissime possibilità per l'acquisto
di un driver motori: dal più costoso al meno, dall'open
nito nei package SSOP24 e può pilotare due canali in- source a quello non open source, da quello con svariate
dipendentemente. Necessita di due alimentazioni: una funzioni e controlli a quello che assolve al solo com-
per la parte di logica e controllo, l'altra per i motori; que- pito di "amplificatore", l'importante è tenere conto delle
ste ultime possono coincidere se entrambe rientrano nei nostre esigenze progettuali/realizzative e "incastrare" il
5,5V massimi applicabili ai pin di alimentazione della giusto driver tra "intelligenza" e motori/e. Nel mercato

Figura 10: Lo schema elettrico della Pololu MC33926 per Raspberry Pi.

25
ROBOT

Figura 11: Collegamento di motore e sorgente di alimentazione al driver motori.

troviamo molte soluzioni da implementare con le board


embedded come abbiamo visto nei paragrafi preceden-
ti, così come singoli IC che molte aziende quali Maxim
Integrated, Linear, Texas Instruments mettono a dispo-
sizione.
Le parole chiave che devono circolare nella mente del
maker, del progettista, dell'hobbista e chi altro, quando
deve scegliere un driver motori sono le seguenti:
• Funzione: controllo, regolazione, velocità, cop-
pia....
• Motore: potenza, tensione, corrente, tipo...
• Interfaccia: seriale, digitale, analogica...
Figura 12: Il driver TB6612FNG

Figura 13: Lo schema elettrico della board TB6612FNG.

26
ROBOT

Figura 14: Schema di collegamento tra Arduino e il driver motori

L'uso dei motori in settori quali l'automotive e quello in- Gli azionamenti controllano il movimento di parti mec-
dustriale è sempre più diffuso, grazie anche all'affidabi- caniche e sono ampiamente utilizzati in varie applica-
lità meccanica che combinata con una circuiteria elet- zioni come sistemi di trasporto, ventilatori, pompe, così
tronica garantisce un ottimo sistema di controllo delle come in molti prodotti consumer.
movimentazioni. I motori passo passo per esempio tro-
vano applicazione nelle stampanti 3D; la loro precisione
permette di ottenere piccoli movimenti, detti appunto
L’autore è a disposizione nei commenti per eventuali
step, al fine di permettere alla stampante di eseguire la-
approfondimenti sul tema dell’Articolo. Di seguito il link per
vorazioni precise. La velocità di rotazione viene control- accedere direttamente all’articolo sul Blog e partecipare alla
lata applicando il concetto di azionamento che permette discussione:
di ottimizzare i movimenti in relazione all'obiettivo della [Link]

stampante 3D o comunque a qualche altra macchina.

27
Realizzare una bobina in
MAK ER
casa dal valore ESATTO
di Giovanni Di Maria

Le bobine sono componenti elettronici da autocostruire, poiché sul mercato difficilmente si trovano
esemplari che soddisfino esattamente le esigenze del progettista. In questa guida vedremo come re-
alizzare facilmente, e in modo preciso, gli induttori con nucleo ad aria, avvolte su un singolo strato di
filo. Vedrete che, in definitiva, per la realizzazione di una bobina occorre più matematica che lavoro
fisico.

INTRODUZIONE del primo progetto proposto nel volume, il più semplice,

Q
uando ero ragazzino, durante un viaggio a che prevedeva la costruzione di un ricevitore a cristallo,
Roma, comprai in una bancarella il famoso libro ovviamente da zero.
di Ravalico, dal titolo "Primo avviamento alla Mi procurai, dunque, i primi componenti elettronici: cuf-
conoscenza della radio" (vedi figura 1). Parliamo di circa fia ad alta impedenza, condensatore variabile, fili elet-
quarant'anni fa, ne rimasi fulminato e, man mano che trici, diodo al germanio; sembrava tutto filare liscio per
sfogliavo le pagine, la voglia di iniziare a ricevere i primi il reperimento dell'occorrente quando mi bloccai per la
segnali dall'etere aumentava a dismisura. Ero ancora bobina: un grosso tubo dal diametro di 5 cm. e lungo 20
alle prime armi e le mie conoscenze sull'elettronica era- cm. Mi recai presso la rivendita di componenti elettroni-
no minime. Mi soffermai, ovviamente, alla realizzazione ci e, mostrando l'illustrazione dell'induttore al venditore,
chiesi se era disponibile.
L'uomo mi guardò con uno sguardo tra lo stupito e il te-
nero e mi disse che queste tipologie di componentistica
non esistevano sul mercato e dovevano essere realiz-
zate in casa.
Ovviamente fui preso dallo sconforto: pur seguendo i

Figura 1: il libro "Primo avviamento alla conoscenza della


radio" di Ravalico. Figura 2: bobina autocostruita.

28
MAKER

LA BOBINA AUTOCOSTRUITA
Il presente articolo tratterà di bobine autocostruite su
un nucleo d'aria e composte da un solo strato di avvol-
gimento (vedi figura 2). Si vedrà come alcune formule
matematiche, ben precise, governeranno tutti i parame-
Figura 3: formula per calcolare l'induttanza di una bobina.
tri iniziali e finali. Si vedrà, soprattutto, come le varie
grandezze e i parametri coinvolti nella realizzazione si-
consigli del libro capii subito che un valore induttivo non ano strettamente connessi tra di loro ed è sufficiente
poteva essere ottenuto da un numero aleatorio di spire la modifica di un solo valore per sovvertire l'intera ope-
intorno al tubo ma che, invece, ci sarebbe stata dietro razione finale. La costruzione di una bobina, per alta
una legge matematica (avevo già da piccolo la passione frequenza e non, potrebbe risultare problematica per chi
per i numeri). non possiede un induttanzimetro. Per fortuna esistono
Il volume di Ravalico non faceva un minimo accenno a delle buone formule empiriche che aiutano il progettista
equazioni e formule ma si limitava a riportare il numero nel calcolo e nella realizzazione degli avvolgimenti, rag-
di giri di filo elettrico, dal diametro di un certo valore, giungendo un buon grado di precisione.
intorno ad un tubo di cartone o plastica.
Se avessi avuto le conoscenze che ho adesso, tutto sa- LA NOSTRA PRIMA BOBINA
rebbe stato più semplice e avrei realizzato la mia radio Il primo esperimento dimostrerà come i parametri co-
con cognizione di causa, e invece mi toccava seguire struttivi di un induttore possano influenzare in manie-
ciecamente le istruzioni imposte, senza ottenere alcune ra decisiva il valore del componente. Per il momento,
motivazioni sulla scelta dei componenti e relativi valori. senza badare a misure di lunghezza, di spessore e di
Inoltre, a quei tempi, non esisteva Internet come lo co- numero di spire, si prenda un tubetto di plastica (o altro
nosciamo oggi e l'accesso a una documentazione tec- materiale isolante, come il legno, il cartone o la plastica)
nica era alquanto difficoltosa. Purtroppo non disponevo e si avvolga attorno, in modo molto stretto e serrato,
ancora di un induttanzimetro e non sapevo neanche il del filo elettrico per tutta la sua lunghezza, lasciando un
valore necessario posseduto della bobina (in microHen- paio di centimetri non coperti alle estremità. Per permet-
ry) poiché il libro non lo spiegava. tere un'ottima stabilità dell'avvolgimento si pratichino
Le mie domande erano, dunque, sempre le stesse: "Se due fori, uno iniziale e uno finale, per poter assicurare
aumento o diminuisco il valore del condensatore varia- il filo in modo che non scappi via una volta che è stato
bile, devo modificare quello della bobina?", "Esiste un fissato. Se si vuole migliorare l'aspetto estetico si potrà
nesso tra capacità e induttanza?", e così via. preventivamente verniciare la superficie del supporto
All'età di 10-12 anni queste domande non erano ascol- con smalto spray di opportuno colore, ma alle alte fre-
tate dai "grandi" e, come detto prima, i mezzi per re- quenze è bene stare sempre attenti alle capacità paras-
perire le informazioni tecniche erano alquanto scarse site causate dai fattori più disparati. L'aspetto didattico,
(parliamo degli anni 1975-80). infatti, è in primo piano e i discenti odierebbero delle
prove effettuate con materiale "brut-
to a vedersi". Anche in questo caso,
dunque, l'occhio vuole la sua parte.
Il componente che abbiamo realiz-
zato non è semplicemente un filo av-
volto ma un complesso componente
elettronico senza il quale molte appa-
recchiature non potrebbero esistere,
tra le quali i radioricevitori e trasmet-
titori. Un dato assolutamente da co-
noscere della bobina è il valore della
sua induttanza, espresso in Henry.
Senza un opportuno strumento di
misura sarebbe oltremodo difficile
calcolarlo, se non quello di disporre
Figura 4: bobina autocostruita per la prima misurazione. di generatori di segnali, di oscillosco-

29
MAKER

pi e quant'altro. Tale parametro è strettamente legato • diametro delle spire (D): 2.1 cm;
alle caratteristiche fisiche della bobina, e come struttura • lunghezza della bobina (L): 7.5 cm;
cilindrica più semplice possibile, la sua induttanza è in- • numero delle spire (N): 43.
fluenzata da:
• diametro delle spire (d); Applicando le misure effettuate e sostituendole alla for-
• lunghezza totale della bobina (l); mula di figura 3, otteniamo l'induttanza della bobina,
• numero delle spire (n); pari a 9.51 microHenry. Come si vede in figura 6, la
• diametro del filo utilizzato; misurazione reale con un buon induttanzimetro re-
• distanza tra una spira e la successiva. stituisce un risultato abbastanza affidabile. Per la
natura dello strumento utilizzato, bobine con maggiori
Per la determinazione del valore finale esistono molte induttanze permettono di ottenere risultati ancora più
equazioni, alcune generiche e meno precise, altre più precisi.
adatte per certe tipologie di bobine. Come al solito, è
la Matematica a svelare i segreti di tutto. CALCOLI CON IL PARI/GP
Una delle più semplici formule in assoluto, e quella che Al fine di automatizzare i calcoli, liberandosi dallo stress
proponiamo in figura 3, particolarmente adatta ad esse- di una normale calcolatrice, e velocizzare il processo
re applicata ad induttori con una lunghezza di almeno aritmetico, è possibile utilizzare il programma Pari/GP.
0.4d, cioè 0,4 volte il diametro delle spire. In altre paro- E' sufficiente creare una funzione numerica come la se-
le, la lunghezza della bobina deve essere apprezzabile, guente:
rispetto il diametro delle spire. L'induttanza (L) è espres-
sa in microHenry, il diametro delle spire (d) in centimetri L(d,l,n) = 0.394 * ( (d2 * n2) / (18 * d + 40 * l) )
come pure la lunghezza (l). Essa non prevede lo spes-
sore del filo e la distanza tra le spire, in quanto è la stes- e quindi sostituire i valori:
sa formula strutturata in modo che tali grandezze siano
ricavate indirettamente. Il coefficiente 0.394 permette di L(2.1 , 7.5 , 43)
adattare la formula ai centimetri. Senza di esso il calco-
lo è riferito alle misure in pollici, ma occorre modificare come mostrato in figura 7. In alternativa si può utilizzare
qualche parametro. con successo un foglio elettronico o, addirittura, realiz-
La figura 4 mostra la bobina realizzata e pronta per es- zare un piccolo software adatto allo scopo.
sere misurata, sia con un induttanzimetro che con la
formula riportata sopra. Vedremo se i due risultati com- ALTRE FORMULE
bacieranno. Esistono tante formule, alternative e ottimizzate, che
Misurando con un calibro il componente appena realiz- permettono di ottenere e di calcolare l'induttanza di una
zato, registriamo le seguenti quote, espresse in centi- bobina cilindrica con i parametri sopra riportati. Una di
metri: queste è la seguente:

uH = (raggio2 * spire2) / (9*raggio +


10*lunghezza )

ma esige le misure delle lunghezze in


inches. In rete esistono molte varia-
zioni di questa formula, dove si pre-
vede l'area della sezione della bobina
o il raggio o il diametro, ma sostan-
zialmente il calcolo resta equivalente.
Un'altra potente formula, riportata in
figura 8, un po' più complessa e che
tiene conto di ulteriori informazioni è
la seguente:
dove:
Figura 5: come prendere le misure di una bobina. • Lcoil rappresenta l'induttanza

30
MAKER

della bobina, espressa in Henry (H); Il valore di Y, sempre nella rivista sopra citata, doveva
• N è il numero di spire; essere recuperato da una tabella tenendo conto del rap-
• µ0 è la permeabilità dello spazio libero, equiva- porto tra il diametro e la lunghezza della bobina. Con la
lente a 4π*10^-7; nostra modifica, tale calcolo è stato, in un certo senso,
• µr è la permeabilità relativa; semplificato, per cui il valore di Y può essere determina-
• D è il diametro della spira; to secondo la seguente formula, che rispetta il modello
• d è il diametro del filo utilizzato. matematico MMF:

Un'altra soluzione, riportata a suo tempo sulla rivista y=(a*b+c*xd)/(b+xd)


Nuova Elettronica, ma da noi leggermente modificata
per evitare le tediose tabelle di conversione, è proposta dove:
dalla formula in figura 9: • a = 9.99161148358E-001
dove: • b = 2.00226437281E+000
• L=lunghezza in cm; • c = 6.68023414651E-002
• D=diametro in cm; • d = 1.04694281135E+000
• N=numero spire; • x = il rapporto tra il diametro e la lunghezza della
• Y=vedi sotto. bobina.

Si rammenti che è buona norma aggiungere al diametro


del supporto quello del filo elettrico utilizzato.

LE FORMULE INVERSE
Con le formule sopra esposte, il progettista riesce a cal-
colare e a ottenere il valore di induttanza di una bobina
(in microHenry) avendo a disposizione i vari parametri
di lunghezza, del raggio, del diametro, del numero di
spire, ecc. In questo modo, però, la bobina viene re-
alizzata dopo aver effettuato vari tentativi di avvolgi-
mento. Non si conoscono, infatti, a priori alcuni dati
costruttivi del componente. Ad esempio, una tipica
esigenza che si verifica soprattutto per la realizzazione
di un radioricevitore è la seguente:
"Devo realizzare una bobina dal valore di 325 µH e ho a
disposizione un tubo di plastica dal diametro di 52 mil-
limetri e del filo da 1 millimetro di diametro. Quanti giri
di filo devo effettuare attorno al tubo?" E' possibile, in
questa fase, decidere anche la spaziatura tra le spire
(anche minima), scelta molto consigliata per ridurre la
capacità parassita tra spira e spira.
Dando in pasto i dati alla formula di cui alla figura 10, i
risultati sono:
• Giri da effettuare: 154;
• Lunghezza effettiva della bobina scelta da noi:
18 cm.

Il risultato ci indica che dovremo leggermente spaziare


le spire tra loro per coprire una lunghezza (arbitraria) di
18 centimetri.
Si noti che in questa formula inversa i parametri variabili
hanno il seguente significato:
Figura 6: misura della bobina mediante induttanzimetro. • d: diametro della bobina;

31
MAKER

Figura 7: esecuzione dei calcoli con il Pari/GP.

trattasse. Le formule trattate in questo articolo sono ri-


volte al calcolo e al dimensionamento delle bobine ad
un unico strato su supporto isolante. Per altre tipologie
di induttanze esistono diverse formule. Come si vede, è
sempre la matematica a organizzare il comportamento
Figura 8: un'altra formula per il calcolo dell'induttanza.
e l'interazione tra le varie grandezze
e l'applicazione di opportune formule
non può essere assolutamente evita-
ta, anche per le operazioni più sem-
plici. Se si utilizza il filo smaltato
occorre raschiare con una lametta
Figura 9: un'altra formula per calcolare l'induttanza. o un cutter i terminali, per poter
garantire il corretto collegamento
al circuito. Si noti, inoltre, che per
bobine dal valore molto basso, diciamo al di sotto di 30
µH, una spira in più o meno potrebbe determinare una
significativa variazione della sua induttanza. Per com-
ponenti più "robusti", questo problema è, invece, ridotto
al minimo. Per un perfetto avvolgimento si possono uti-
lizzare utilmente appositi avvolgitori meccanici, magari
autocostruiti. A volte, infatti, è davvero stressante avvol-
Figura 10: Formula inversa per calcolare il numero di spire. gere centinaia e centinaia di spire di filo attorno ad un
tubo e spesso si rischia di ottenere risultati per nulla pro-
• l: lunghezza della bobina; fessionali. Applicando le giuste formule, le bobine non
• L: valore induttivo espresso in µH. risulteranno più dei componenti ostici e misteriosi ma
semplici dispositivi senza segreti, modellabili secondo
CONCLUSIONI le nostre più svariate esigenze.
La realizzazione delle bobine è una delle attività più
critiche ma, allo stesso tempo, più soddisfacenti dell'e-
lettronica. Pensare come, con del semplice filo avvolto,
L’autore è a disposizione nei commenti per eventuali
si riescano a costruire componenti dedicati alla produ- approfondimenti sul tema dell’Articolo. Di seguito il link per
zione del suono o alla ricezione delle onde radio è una accedere direttamente all’articolo sul Blog e partecipare alla
delle cose più stupefacenti di questa attività. Quando discussione:
[Link]
non conoscevo le tecniche per realizzare questi com-
valore-esatto
ponenti, abbandonavo subito qualsiasi progetto che li

32
Ricetrasmettitore
S C I& T EC H a RF: omodina e
supereterodina
di Andrea Garrapa

Un ricetrasmettitore a radio frequenza (RF transceiver) è un sistema complesso in grado di trasmet-


tere e ricevere segnali operanti nella banda di frequenza che va da qualche kHz a 300 GHz. In questo
articolo vengono presi in esame le due più comuni ed utilizzate architetture di ricetrasmettitori a RF: la
supereterodina e la omodina. Per entrambe vengono riportati gli schemi a blocchi e le caratteristiche
fondamentali e le differenze che possono rendere l'una preferibile all'altra. Per consentire la compren-
sione di ciò anche al lettore meno esperto, è presente un'introduzione sugli aspetti fondamentali che
guidano il design di questi sistemi, ovvero: la linearità e il rumore.

INTRODUZIONE segnale dall'antenna e lo elabora per ottenere il dato

N
ella progettazione di un ricetrasmettitore RF si originario. La figura 2 riporta lo schema a blocchi di un
ha a che fare con numerose scelte necessarie tipico ricetrasmettitore digitale.
all'ottimizzazione del sistema. La figura 1 rap- I blocchi DSP rappresentano le unità di elaborazione del
presenta le principali variabili in gioco e i legami tra loro. segnale digitale in cui vengono effettuate le operazioni
Ad esempio se si volesse diminuire il rumore si potreb- di modulazione, codifica e cifratura e le relative opera-
be scegliere di aumentare la potenza oppure sacrificare zioni inverse rispettivamente in fase di trasmissione e
un pò di linearità. ricezione. All'interno del transceiver vi sono i blocchi
All'interno di un transceiver vi sono un trasmettitore (TX) Trasmettitore (TX) e Ricevitore (RX) necessari per per-
ed un ricevitore (RX): il primo elabora il segnale e ap- mettere al segnale di viaggiare sul canale (Channel).
plica il risultato all'antenna, mentre il secondo rileva il Ogni blocco è costituito a sua volta da due sottoblocchi,

Figura 1: principali variabili e trade-off nel design di ricevitori RF

33
SCI&TECH

come evidenziato nella figura 3. LINEARITÀ


I sottoblocchi presenti sia nel ricevitore che nel trasmet- Introduciamo in primis i concetti di linearità e tempo-
titore sono indicati con la stessa sigla ma operano in varianza. Prendiamo un sistema qualsiasi come quello
maniera opposta: riportato in figura 4.
• Il blocco RF, lavora ad alta frequenza ed è total- Tale sistema si dice lineare se dato in ingresso la som-
mente analogico. Tra le varie funzioni svolte, in ma xs(t) di due segnali x1(1) e x2(t), l'uscita può essere
trasmissione porta il segnale a radio frequenza, espressa come combinazione lineare delle risposte del
mentre in ricezione lo riporta in banda base. sistema ai singoli segnali:
• Il blocco BB, lavora a bassa frequenza ed è co- • y1(t) = F[x1(t)]
stituito da circuiteria mista ma principalmente • y2(t) = F[x2(t)]
digitale. • ys(t) = F[xs(t)] = F[x1(t)+x2(t)] = aF[x1(t)] + bF[x2(t)]
= ay1(t) + by2(t)
In questo articolo ci soffermeremo sul ricevitore con i coefficienti a e b che assumono valori arbitrari.
(RX) ed in particolare sul sottoblocco RF, in quanto Un sistema invece si dice tempo-invariante se uno
risulta essere il blocco più critico dal punto di vista spostamento nel tempo del segnale d'ingresso x(t-τ)
del design. La maggiore criticità nel design del ricevi- corrisponde ad uno stesso spostamento della risposta
tore, può essere spiegata semplicemente in questi ter- del sistema y(t-τ) = F[x(t-τ)] per ogni τ arbitrario. Un si-
mini: mentre il trasmettitore processa un segnale di cui stema si dice "senza memoria" o statico, se l'uscita non
conosce precisamente larghezza di banda e potenza, dipende dai valori passati dell'ingresso (o della stessa
il ricevitore non ha questa fortuna. Infatti il ricevitore si uscita) . Quindi un sistema statico lineare tempo-in-
trova ad elaborare un segnale di bassa potenza all'in- variante si può esprimere come:
gresso dell'antenna, e la cui banda non è ben definita
a causa della presenza di canali adiacenti o altri segna-
li interferenti. Prima però di affrontare l'architettura dei
principali ricevitori, effettueremo una panoramica sulle
problematiche che affliggono il design dovute alle non con a0 e a1 opportuni coefficienti. Se i coefficienti sono
linearità ed al rumore. Questo permetterà in seguito di funzioni del tempo (a0(t) a1(t)), allora il sistema diventa
comprendere le differenze in termini di svantaggi e van- tempo variante. Un sistema statico non lineare è defi-
taggi dei diversi ricevitori. nito invece dalla seguente espressione:

Figura 2: schema a blocchi di un generico ricetrasmettitore a RF

34
SCI&TECH

Figura 3: blocchi fondamentali di un trasmettitore e ricevitore a RF

zione. Questi livelli di linearità possono essere misura-


ti attraverso alcuni parametri che vengono descritti di
seguito.
La distorsione armonica è quel fenomeno per cui, for-
Anche in questo caso se i coefficienti sono indipendenti nita una sinusoide in ingresso ad un sistema non line-
dal tempo il sistema diventa tempo-invariante, altrimenti are, esso produce in uscita anche delle componenti
il contrario. Il concetto di linearità ha a che fare con la in frequenza che sono multiple intere della frequenza
massima ampiezza del segnale che è possibile ela- del segnale d'ingresso. Questo fenomemo è stimabile
borare senza incorrere nella distorsione di quest'ul- attraverso il parametro THD (Total Harmonic Distor-
timo. I sistemi elettronici analogici sono generalmente tion) come il rapporto tra la somma dei quadrati delle
dei sistemi non lineari, che è però possibile approssima- ampiezze delle armoniche e il quadrato dell'ampiezza
re a modelli lineari attraverso la serie di Taylor, qualora della fondamentale. Se si utilizzano sistemi differenziali
le non linearità siano di debole entità. Prendiamo ad le armoniche di ordine pari possono essere soppresse,
esempio la caratteristica I-V (corrente-tensione) di un anche se il mismatch tra i rami può comportare una sop-
diodo, riportata in figura 5. pressione solo parziale.
Tale caratteristica è visibilmente non lineare, se però il Spesso in questi sistemi il guadagno dipende dall'am-
segnale d'ingresso Vi non eccede nella sua escursione piezza del segnale di ingresso. Per valori elevati di
dinamica (sinusoide nera) nell'intorno del punto di lavo- ampiezza si può avere una diminuzione del guadagno,
ro (ID,VD), allora è possibile considerare il diodo come chiamata tecnicamente "compressione del guadagno".
avente una caratteristica lineare similmente ad un resi- Tale compressione evidenzia un comportamento non
store. Se invece il segnale d'ingresso ha un'escursione lineare del sistema. Una misura di tale fenomeno viene
elevata (sinusoide rossa), utilizzando l'approssimazione definita dal "1dB - Compressione Point", ovvero il va-
lineare, introdurremo distorsione sull'uscita. lore di potenza del segnale d'ingresso per cui si ha una
In sostanza, affinchè un sistema non introduca di- differenza di un 1dB tra la retta ideale del guadagno e
storsione sul segnale da elaborare, esso dovrà es- la curva reale.
sere lineare. Nella realtà nessun sistema attivo (con Viene definito Blocker un segnale interferente indesi-
guadagno) risulta essere esente da non linearità. Esi- derato di ampiezza maggiore del segnale d'ingresso. I
stono comunque dei livelli di non linearità che possono due segnali si sommano con la possibilità di portare il
essere accettabili a seconda della particolare applica- sistema a lavorare con guadagno nullo. Inoltre se l'am-

35
SCI&TECH

piezza del blocker varia nel tempo, in uscita dal siste- SNRo, rispettivamente il rapporto segnale-rumore all'in-
ma il segnale desiderato presenterà una modulazione gresso del sistema e all'uscita:
di ampiezza non desiderata (Cross modulation). Tale
modulazione spesso si verifica negli amplificatori che
devono elaborare simultaneamente segnali da canali
indipendenti.
Se invece ci sono due interferenti ad accompagnare il
segnale, all'uscita di una sistema non lineare si avrà In-
termodulazione. Ovvero oltre alle armoniche dei toni, Se lo stadio non introduce rumore allora NF vale 1, al-
in uscita si avranno anche toni a frequenza pari alla trimenti NF sarà maggiore di 1. Per una successione di
somma delle armoniche. Ad esempio, se ω1 e ω2 sono n stadi in cascata la cifra di rumore totale NFTOTAL può
le frequenze dei due toni, in uscita dal sistema si avran- essere valutata con la seguente formula:
no altri toni a frequenza 2ω1, 2ω2, 3ω1 etc, ma anche
ω1+ω2, 2ω1+ω2 etc. Nei ricevitori si ha a che fare con
cascate di stadi non lineari. In questo caso i prodot-
ti di non linearità alla fine della cascata sono cer-
tamente maggiori della somma dei prodotti di non
linearità dei singoli blocchi. tale formula afferma che il contributo di rumore di
Per combattere questi fenomeni occorrono sistemi il più ogni stadio diminuisce all'aumentare del guadagno
possibile lineari, ma anche filtri che siano in grado di degli stadi precedenti.
selezionare il segnale di interesse lasciando fuori gli in- Nel design di circuiti a RF un parametro che meglio de-
terferenti. scrive le richieste in termini di rumore di un sistema è la
Occorre cioè una buona selettività dei filtri (identi- Sensitivity.
camente un elevato fattore di qualità Q) affinchè vi Esso rappresenta il livello minimo di segnale che un ri-
sia una sufficiente reiezione degli interferenti. cevitore può rilevare con un'accettabile qualità, ovvero
un'accettabile rapporto segnale-rumore.
RUMORE
Il rumore elettronico presente nei dispositivi limita i ri- ARCHITETTURE DEI RICEVITORI A RF
cevitori a RF, nel rilevare i segnali di debole entità. Il Nei precedenti paragrafi sono stati delineati i due prin-
rumore è dovuto principalmente alle fluttuazioni irrego- cipali parametri che caratterizzano i ricevitori a RF: la
lari delle cariche elettriche nei conduttori. Si tratta quindi selettività e la sensitivity. Il primo ha a che fare con la
di un processo aleatorio caratterizzato per mezzo della linearità del sistema mente il secondo con la capacità
Densità Spettrale di Potenza (PSD) S(f). Nel design di di distinguere un segnale di debole potenza rispetto al
circuiti operanti a RF, per misurare le caratteristiche di rumore.
rumore di un sistema si utilizza il parametro noto come Questi due parametri dovrebbero essere entrambi ele-
Figura di Rumore o Cifra di Rumore (Noise Figure), vati, purtroppo spesso le due richieste risultano in con-
indicato con la sigla NF. NF rappresenta una misura trasto tra loro, e se non lo sono ci sarà un terzo fattore a
della degradazione di un segnale che passa attraverso farne le spese come la potenza o la complessità.
un sistema, ed è valutato come il rapporto tra SNRi e Nei moderni ricevitori RF, i filtri di selezione dovrebbe-

Figura 4: generico sistema a blocchi, in evidenzia il legame ingresso uscita

36
SCI&TECH

Figura 5: caratteristica corrente-tensione di un diodo e approssimazione per piccolo segnale

Figura 6: schema a blocchi di un ricevitore a supereterodina

ro essere in grado di presentare elevata selettività ma dicati come fuori-banda appunto.


anche la possibilità di cambiare la frequenza centrale • LNA (Low Noise Amplifier) è un amplificatore
nel caso il segnale cambi di portante. Tali richieste non che serve per aumentare la potenza del debole
sono di facile implementazione alle radiofrequenze, per segnale proveniente dall'antenna. Il fatto che sia
questo si preferisce effettuare tale operazione a fre- a basso rumore è fondamentale, poichè come
quenze minori per mezzo di una down-conversion. indicato dalla precedente formula sulla cifra di
rumore (NFTOTAL), dalla rumorosità del primo
RICEVITORE SUPERETERODINA blocco della catena dipende quella dell'intero
Il ricevitore supereterodina è uno dei più comuni ri- sistema.
cevitori. La figura 6 riporta lo schema a blocchi di un • Il filtro IR, svolge la funzione di eliminare le
generico ricevitore supereterodina. eventuali componenti alla frequenza immagine,
Andiamo a descrivere i singoli blocchi: concetto che verrà descritto nel seguito.
• Il filtro RF svolge la funzione di filtrare il segnale • Segue poi un mixer che per mezzo di un oscil-
nella banda di interesse dello standard utilizzato latore locale (LO1) porta il segnale ad una fre-
(GSM, UMTS, etc), eliminando gli interferenti in- queza fIF data dalla differenza tra la frequenza

37
SCI&TECH

Figura 7: fenomeno della frequenza immagine

Figura 8: schema a blocchi di un ricevitore omodina

fRF e quella dell'oscillatore locale fLO1. stesso ruolo che svolgevano nel ricevitore ete-
• Segue poi un filtraggio a frequenza fIF e un'am- rodina.
plificazione che preparano il segnale per essere • La conversione in frequenza avviene portando
poi convertito in banda base ed elaborato ulte- direttamente il segnale in banda base, quindi la
riormente. frequenza dell'oscillatore locale sarà pari a fRF
(fLO = fRF).
Il mixer converte il segnale proveniente da LNA, alla • Per portare il segnale in banda base si utilizza un
frequenza intermedia fIF. Questo valore di frequenza mixer che effettua una I-Q down-conversion
sara dato dalla differenza tra |fRF - fLO1|. Dalla figura 7 si (fase - quadratura), in sostanza si sdoppia il se-
può notare che se un disturbo è presente alla frequenza gnale moltiplicandolo per una sinusoide (fase) e
fLO + fIF, verrà traslato alla frequenza fIF dopo la down- per la stessa sfasata di 90 gradi (quadratura). I
conversion. Per questo si rende necessario un filtro di segnali reali sono in genere simmetrici, ma alcu-
reiezione dell'immagine prima del mixaggio. ni fattori possono alterare tale simmetria. La I-Q
down-conversion permette di mitigare queste
RICEVITORE OMODINA problematiche.
Il ricevitore omodina anche noto come ricevitore a • Quindi un filtro passa basso (LPF) per selezio-
conversione diretta è un'altra architettura notevole per nare il canale d'interesse prima dell'elaborazio-
quanto concerne i ricevitori a RF. Esso permette di con- ne in banda base.
vertire il segnale a RF direttamente in banda base sen-
za passare da frequenze intermedie. In figura 8 viene Gli ultimi due blocchi descritti vengono applicati tali
riportato lo schema a blocchi del ricevitore omodina. e quali al ricevitore supereterodina dopo l'amplifi-
Andiamo a descrivere i singoli blocchi: catore IFA e prima dell'elaborazione in banda base.
• Il filtro RF e l'amplificatore LNA svolgono lo Nel ricevitore omodina il filtro passa basso (LPF) pre-

38
SCI&TECH

Ricevitore Vantaggi Svantaggi

NF Non piena integrazione

Supereterodina SNR Frequenza immagine

Rilassamento specifiche Maggiore complessità

Minore complessità Specifiche stringenti

Omodina Piena integrazione SNR, NF

Riconfigurabilità DC offset

Tabella 1: vantaggi e svantaggi dei ricevitori omodina e supereterodina

senta anche la dicitura Rimozione DC, infatti in questo CONCLUSIONI


tipo di ricevitore si rende necessaria la rimozione di una Il design di un ricetrasmettitore a radio frequenza com-
componente in continua artificialmente introdotta nel se- porta una serie di sfide e di scelte dal punto di vista
gnale, a causa dell'accoppiamento tra segnale a fRF e progettuale.
segnale a frequenza fLO. I progettisti contemporanei devono scontrarsi con le ine-
vitabili richieste dei dispositivi mobili, come ad esempio
DIFFERENZE TRA OMODINA E SUPERETE- bassi consumi di potenza, ma anche con la necessità di
RODINA rendere adattabile il ricevitore a molti standard di comu-
Le differenze in termini di blocchi tra i due ricevitori sono nicazione presenti. In questo articolo sono stati descritti
evidenti, focalizziamo invece l'analisi sui vantaggi e gli i due principali ricevitori a RF: quello a supereterodina
svantaggi di entrambi. e quello a omodina. Dei due sono state analizzate le
Il ricevitore supereterodina presenta una buona se- architetture nonchè i vantaggi e gli svantaggi in termini
lettività e una buona sensitivity, ed inoltre le richieste di rumore, linearità, complessità e integrazione. Per ora
in termini di performance dei singoli blocchi sono meno è stata completamente tralasciata la sezione del ricevi-
stringenti poichè la catena presenta diversi blocchi di tore operante in banda base (blocco BB), e questo per
elaborazione. una futura particolareggiata trattazione.
D'altro canto l'elevato numero di sottosistemi rappre-
senta un eccesso di complessità. Inoltre, il sistema non RIFERIMENTI
è totalmente integrabile data la difficoltà di integrazione • Rf Microelectronics (second edition), Behazad
dei filtri IF e IR. Razavi, Prentice Hall 2012.
Il ricevitore omodina invece presenta una piena inte- • The Differences Between Receiver Types, Part
grazione grazie al numero modesto di blocchi e all'as- 1, Chris DeMartino Microwave&RF.
senza dei filtri intermedi e immagine. • The Differences Between Receiver Types, Part
La sua semplicità si ripercuote anche sui consumi mi- 2, Chris DeMartino Microwave&RF.
nori e sulla facilità di riconfigurare il sistema per operare
con più standard.
Tra gli svantaggi ci sono una maggiore difficoltà di sin-
L’autore è a disposizione nei commenti per eventuali
tesi dei blocchi date le caratteristiche più stringenti per approfondimenti sul tema dell’Articolo. Di seguito il link per
ognuno, ed anche una maggiore difficoltà di ottenere accedere direttamente all’articolo sul Blog e partecipare alla
una NF e un SNR paragonabili al supereterodina. Nella discussione:
[Link]
tabella 1 vengono riassunti i vantaggi e gli svantaggi per
supereterodina
le due tipologie di ricevitori.

39
Il progetto DREAM 2020
S C I& T EC H
e l’utilizzo dei robot nel
trattamento dell’autismo
di Fabio Ambrosino

I rapidi sviluppi tecnologici degli ultimi anni, in particolar modo nel campo della robotica, hanno portato
a innovazioni terapeutiche importanti nella cura dei pazienti affetti da disturbi dello spettro autistico
(DSA). Il progredire della ricerca ha permesso di realizzare dei dispositivi in grado di sostituire o affian-
care il terapeuta umano in molti dei compiti finalizzati a migliorare le competenze sociali e individuali
delle persone autistiche. Tuttavia, nonostante l’utilizzo di robot nel trattamento dei bambini con DSA
abbia suscitato l’interesse dei media nel corso degli ultimi dieci anni, quest’area di ricerca si trova an-
cora in fase embrionale e saranno necessari ancora molti studi prima che si possano definire dei pro-
tocolli terapeutici strutturati. A questo obiettivo puntano molti progetti di larga portata, come l’europeo
DREAM2020, il quale prende in esame l’impiego di due prototipi: Nao e Probo.

TRATTAMENTO DELL’AUTISMO: PERCHÈ I suo bambino o alla sua bambina, ha ingiustamente col-
ROBOT? pevolizzato centinaia di donne per anni.

P
er i genitori dei bambini affetti da disturbi dello Ora invece, pur non essendo ancora chiare tutte le va-
spettro autistico quello di non poter creare un riabili che determinano lo sviluppo della malattia, è noto
vero legame emotivo con i propri figli rappresen- che l’autismo coinvolge una componente genetica
ta uno degli aspetti più dolorosi della malattia. In passa- non trascurabile e che le problematiche sociali che af-
to si era persino giunti a credere che proprio l’assenza fliggono questi pazienti sono da considerare più un sin-
di un’adeguata relazione tra madre e figlio fosse alla tomo che una causa della patologia.
base della patologia. Il modello della cosiddetta “madre- La maggior parte dei DSA, che sono tra i disturbi neu-
frigorifero”, incapace di trasmettere il proprio amore al ropsichiatrici infantili più diffusi, si caratterizza infatti per

40
SCI&TECH

problemi nella comunicazione e nell’interazione so- modo limitato, lo sviluppo di queste competenze.
ciale, oltre che per pattern comportamentali stereotipati Negli ultimi anni invece si è assistito a un radicale cam-
e gli interessi limitati. biamento nell’approccio terapeutico di questo di-
Questi sintomi emergono molto presto nella vita di que- sturbo. Infatti, da alcuni studi è emerso che le capacità
sti individui e persistono durante tutte le fasi dello svi- di imitazione e di attenzione condivisa dei bambini
luppo. autistici migliorano maggiormente quando nel set-
Pur manifestando un leggero miglioramento nel corso ting terapeutico vengono coinvolti degli strumenti
dell’adolescenza e nella vita adulta, i DSA sono infat- tecnologici.
ti da considerarsi una malattia debilitante cronica, Molte teorie hanno provato a ipotizzare il perché di que-
spesso associata a una prognosi piuttosto negativa: la sta preferenza per l’interazione con le macchine elet-
maggior parte dei pazienti necessita di cure professio- troniche.
nali per tutta la vita. Una di queste, detta Teoria della Mente e descritta nel
Come detto, anche se molte teorie sono state ipotizza- 1997 dallo psicologo Simon Baron-Cohen, sostiene che
te, non esiste al momento una spiegazione esaustiva i bambini autistici abbiano delle difficoltà a interpreta-
dei fattori che determinano l’autismo. re gli stati mentali delle altre persone, come creden-
Per questo motivo, gran parte della ricerca psicologica in ze, desideri, intenzioni e emozioni.
questo campo si è focalizzata sullo studio dei compor- Di conseguenza, poiché comprendere le interazioni
tamenti di base (es. imitazione) e delle competenze umane può essere per loro molto complicato, questi
cognitivo-comportamentali (es. attenzione condivisa pazienti preferiscono interagire con strumenti tec-
e turn taking) associate ai deficit di comunicazione e nologici, i quali garantiscono una maggior prevedi-
di interazione sociale. bilità. Infatti, le situazioni sociali sono caratterizzate da
Infatti, è stato dimostrato che l’incapacità di imitare i un numero elevatissimo di informazioni da elaborare e
comportamenti altrui e di utilizzare l’attenzione condi- categorizzare mentre l’interazione con un robot è solita-
visa, cioè la capacità del bambino di coordinare la sua mente più semplice e stereotipata.
attenzione di con quella di un adulto, costituiscono dei Quindi, data questa preferenza per l’interazione con si-
marker affidabili nel determinare la futura evoluzione del stemi tecnologici si è pensato che i robot potessero ave-
disturbo. re delle potenzialità come mediatori nella relazione tra
Per oltre 40 anni, i ricercatori hanno quindi sviluppato bambino con DSA e terapeuta.
protocolli terapeutici finalizzati a migliorare queste ca- Nel cosiddetto approccio Robot-Mediator, il robot è
pacità, la maggior parte dei quali prevedeva una relazio- utilizzato come mezzo per facilitare il trattamento, in
ne adulto-bambino in un setting terapeutico più o meno quanto permette un coinvolgimento maggiore del pa-
costante ed era in grado di stimolare, anche se solo in ziente rispetto alle condizioni classiche di interazione

41
SCI&TECH

psicologo-bambino. L’ingegneria robotica ha raggiunto negli ultimi anni ri-


L’umanoide ha quindi un ruolo fondamentale nel pro- sultati impressionanti. Con tutta probabilità la nuova ge-
cesso terapeutico: senza la sua mediazione il bambi- nerazione di robot collaborerà con gli esseri umani in
no con DSA va incontro a miglioramenti minori e più molti aspetti della vita quotidiana: dai lavori domestici
lenti. Altri approcci considerano invece gradi diversi di all’assistenza, dalla salute all’educazione.
coinvolgimento degli strumenti tecnologici: l’approccio La comunicazione è quindi un fattore fondamentale,
Robot-Therapist prevede l’assenza completa del tera- necessario per permettere una convivenza serena e
peuta umano e l’intera gestione del processo a carico soddisfacente e per ottenere quei risultati, soprattutto in
del robot, mentre l’approccio Robot-Assistant prevede ambito sanitario, per i quali i robot vengono progettati.
un ruolo marginale di facilitazione da parte dell’umanoi- Circa il 60% della comunicazione umana è non-ver-
de, il quale non rappresenta in questo caso un elemento bale e dipendente nella maggior parte dall’attività
cruciale del processo terapeutico. dei muscoli facciali; ciò rende necessario progettare
L’approccio Robot-Mediator è alla base di un ambizio- umanoidi in grado di riprodurre almeno parzialmente il
so progetto europeo denominato DREAM2020 (Deve- bagaglio di espressività degli esseri umani.
lopment of Robo-Enhanced therapy for children with L’abilità dei robot di interagire e comunicare con le per-
AutisM spectrum disorders) che ha l’obiettivo di svilup- sone in modo naturale e intuitivo favorisce infatti un sen-
pare e testare scientificamente una nuova genera- so di familiarità che rende meno difficile e più spontanea
zione di robot sociali da integrare nei protocolli psico- l’interazione.
terapeutici per il trattamento dell’autismo. Per questo motivo i robot sviluppati per fare da media-
Il progetto ha inoltre la finalità di fornire linee guida e tori nelle terapie per i bambini con DSA sono dotati di
vincoli etici per la legislazione riguardante questo tipo personalità, gesti, espressioni facciali e intelligenza
di terapie. sociale.

NAO E PROBO: DUE ROBOT USATI NEL NAO


TRATTAMENTO DEI DSA La principale piattaforma testata nel progetto DRE-
Come abbiamo visto, nell’approccio suggerito da DRE- AM2020 è Nao, un robot umanoide di taglia media, au-
AM2020 lo psicologo non scompare dalla scena del set- tonomo e programmabile, sviluppato dalla Aldebaran
ting terapeutico, ma viene affiancato da un robot che Robotics. Alto 58 cm, Nao dispone di 25 gradi di libertà
ha il ruolo di catalizzare l’attenzione del paziente, favo- ed è equipaggiato con numerosi sensori, a partire da
rendo un apprendimento più rapido e quantitativamente quelli di prossimità e di pressione che gli permettono di
maggiore. Ma quali sono, e come sono progettati, questi rimanere in posizione eretta.
robot? È dotato inoltre di un sistema multimodale evoluto (4

42
SCI&TECH

bot è stato progetta-


to dando priorità alla
comunicazione ver-
bale e non verbale e
agisce da interfaccia
sociale fornendo sti-
moli e modalità co-
municative del tutto
simili a quelle uma-
ne.
È caratterizzato da
una testa con 20
motori che permet-
tono di esprimere
attenzione e emo-
zioni attraverso le
espressioni facciali
e lo sguardo. Per
garantire un’intera-
microfoni, due altoparlanti e due videocamere CMOS) zione sicura tra robot e bambini il dispositivo è dotato
per la sintesi vocale, il riconoscimento facciale, il rico- di sistemi di attuazione soft e una struttura stratificata
noscimento di oggetti e la localizzazione nello spazio. composta da schiuma e tessuto che lo rende morbido
Possiede inoltre dei sensori tattili sulla testa, due sen- e “abbracciabile”.
sori LED infrarossi e due sensori di contatto nelle punte Nulla del design e nella programmazione di Probo è la-
dei piedi. sciato al caso.
Dotato di Linux come sistema operativo integrato, Nao Innanzitutto, per garantire una maggiore socialità que-
è comunque compatibile per Mac OS e Windows ed è sto robot è dotato di un nome proprio e di una breve
distribuito con un software di programmazione e di ma- storia personale, ma soprattutto è in grado di fornire
nipolazione (Choregraphe) sviluppato apposta per lui. risposte emozionali differenziate grazie a un complesso
Ha un’autonomia di circa 4 ore. sistema di software e hardware che produce lievi e sfu-
Nao è stato utilizzato in numerosi studi che indagavano mati movimenti del viso. Inoltre, per evitare l’effetto per
l’interazione tra robot e bambini con DSA. Queste ricer- cui un robot troppo simile a un essere umano tende a
che hanno dimostrato che a causa delle sue dimensioni essere rifiutato dalle persone, Probo ha le sembianze di
e il suo aspetto, questo umanoide è solitamente ben un animale immaginario. In questo modo si evita che il
accolto dai bambini, i quali tendono a instaurare con bambino abbia aspettative sui comportamenti messi in
lui una relazione affettiva. atto dal dispositivo, come succederebbe nel caso di un
Tuttavia, Nao non ha lo stesso effetto facilitatore su tut- robot gatto o cane.
ti i bambini. Le variabili individuali, così come l’enorme In aggiunta il prototipo sviluppato dall’Università di Bru-
diversità presente all’interno delle varie patologie che xelles è, non a caso, di colore verde.
compongono i cosiddetti disturbi dello spettro autistico, Infatti, è stato dimostrato che questo colore elicita rispo-
fanno sì che un approccio di questo tipo vada bene ste emozionali positive, caratterizzate da calma, rilassa-
per alcuni bambini e male per altri. mento e positività.
In questo senso è necessario progettare altri studi, pre- Da un punto di vista hardware Probo risulta essere
feribilmente con campioni numerosi, per indagare in estremamente modulare.
quale circostanze specifiche può essere utile proporre Esso consiste in una serie di diversi sistemi funzionali
un intervento robo-mediato con Nao. come gli occhi, le sopracciglia, le orecchie, la bocca, il
tronco e il collo.
PROBO Tutti questi hanno le stesse due funzioni: creare movi-
La seconda piattaforma utilizzata nel progetto DRE- mento e espressione.
AM2020 è Probo. Tuttavia, per renderlo sicuro e morbido per un’interazio-
Sviluppato dall’ Università Vrije di Bruxelles, questo ro- ne fisica, non si è potuto utilizzare attuatori tradizionali

43
SCI&TECH

In tutti questi casi


è stato dimostrato
che la mediazione
di un robot genera
un alto grado di
motivazione e di
engagement nei
bambini, e in par-
ticolare in coloro
che sono maggior-
mente sensibili, in
senso negativo,
all’interazione con
l’essere umano.
Questo dimostra il
grande potenzia-
le di questo tipo
di approccio nel
coinvolgere i pa-
in quanto rigidi, non sicuri e innaturali al tatto. zienti con DSA, nel trasmettere loro competenze sociali,
Per ovviare a questo problema sono stati utilizzati due e nell’assisterli nel trasferimento della conoscenza du-
sistemi di attuazione speciali: rante l’interazione con il terapeuta umano.
• Non-back drivable servo (NBDS): un sistema di
servomotore su misura che consiste principal- PROSPETTIVE FUTURE
mente in un motore a corrente continua, un tre- L’area di ricerca riguardante l’utilizzo di robot nel tratta-
no di ingranaggi non-back drivable e un’unità di mento di bambini con DSA è ancora agli esordi, con la
controllo, combinati con componenti flessibili e maggior parte degli studi peer-reviewed ancora annove-
materiali come schiuma, silicone e molle. rabili nella categoria delle ricerche preliminari e esplo-
• Compliant Bowden cable-driven actuator rative. Molti di questi lavori possono essere considerati
(CBCDA): un sistema servomotore passivo che pioneristici, con diverse idee innovative sulle possibili
trasmette il moto su una distanza relativamente applicazioni in ambito clinico di questi prototipi. Al mo-
lunga rispetto alle sue dimensioni, grazie a un mento però, esistono pochi studi che dimostrano, oltre
cavo Bowden. L’utilizzo di sistemi CBCDA per- a una preferenza dei bambini con DSA per l’interazione
mette di raggruppare e isolare i diversi attuatori con queste tecnologie, l’efficacia di questo tipo di inter-
e posizionarli in qualsiasi punto del robot. venti. In futuro, un importante aspetto da indagare in
questo campo di ricerca sarà la caratterizzazione dei
L’utilizzo di questi sistemi riduce la probabilità di dan- partecipanti, in particolar modo per quegli studi che
neggiamento dei componenti interni del robot e lo prevedono un utilizzo dei robot in ambito diagnostico o
rende naturale e confortevole al tatto. Questo è un terapeutico. La ricerca futura non dovrebbe focalizzar-
aspetto di Probo che fa sicuramente la differenza in un si solamente sul cosa (quale tipo di robot) e sul come
contesto terapeutico come quello del trattamento per (quale uso clinico) ma dovrebbe considerare anche il
bambini con DSA. Infatti, questo tipo di umanoide ha chi, ovvero i bambini che poi usufruiranno di questi trat-
mostrato ottimi risultati in diversi studi dove si stu- tamenti.
diava la sua interazione con pazienti autistici.
In generale, questi robot sociali vengono utilizzati con
finalità diverse all’interno del setting terapeutico.
L’autore è a disposizione nei commenti per eventuali
Queste sono state raggruppate da Joshua Diehl, psico- approfondimenti sul tema dell’Articolo. Di seguito il link per
logo dell’Università di Notre Dame di Parigi, in quattro accedere direttamente all’articolo sul Blog e partecipare alla
macro categorie: interagire grazie alle caratteristiche discussione:
[Link]
del robot, elicitare comportamenti specifici, educa-
dei-robot-nel-trattamento-dellautismo
re e insegnare, fornire feedback e incoraggiamento.

44
+ 130.000 REGISTERED USERS
THE BIGGEST
EMBEDDED
5.752 AVERAGE DAILY PAGEVIEWS COMMUNITY
IN ITALY
932.061 2018 ANNUAL VISITORS SOCIAL CONNECTIONS

CATEGORIES + 83.000
COMPANIES/CONSULTANTS
53 % + 23.000
ACADEMICS/STUDENTS
25 %
MAKERS/HOBBYISTS
22 %

Potrebbero piacerti anche