Cubo led RGB 3x3x3 con Arduino nano

CUBO

cubo rgb 3x3x3

Sto elaborando un progetto per un cubo led RGB.

Nel prototipo ho usato dei transistori BC107B. Nello schema successivo  (ancora da verificare)  provo a pilotare i led direttamente da arduino nano con delle resistenze.

Pubblicato in Uncategorized | Contrassegnato , , , , , , | Lascia un commento

L’efficacia e l’efficienza dell’Intelligenza Artificiale – Tesi di Maturità (2017)

“La misura dell’Intelligenza è la capacità di cambiare […] Un giorno le macchine riusciranno a risolvere tutti i problemi, ma mai nessuna di esse potrà porne uno”   (A. Einstein)

È con tale citazione che il lavoro intrapreso per affrontare la maturità 2017 si avvia, costituendo altresì un punto di inizio per successivi e continui approfondimenti e/o studi.

Lo scopo del presente lavoro è quello di mettere in evidenzia l’efficienza e l’efficacia dell’ Intelligenza Artificiale (“IA”) nei principali settori di sviluppo e processo economico, in un’ottica di progresso sociale e opportuno sostegno per il mantenimento delle generazioni future. Tale analisi non si limiterà solo ai riferimenti, oggigiorno più discussi quali i settori della Robotica e dell’Automazione, (sezioni industriali che rispecchiano maggiormente l’importanza dell’IA) ma si espanderà verso tutti quei principi fisico – matematici sui quali l’Intelligenza Artificiale medesima si basa. Di conseguenza verrà evidenziato non solo come quest’ultima sia intervenuta nel corso della Storia moderna, ma anche come sia inevitabilmente subordinata al controllo umano, senza dunque rappresentare una minaccia o un rischio, talvolta definito come “invisibile” od “occulto”, in un mondo sempre più propenso allo sviluppo tecnologico.
Nello specifico è opportuno considerare che i progressi nell’ applicazione o sperimentazione dell’ intelligenza artificiale ottenuti negli ultimi anni non hanno precedenti: computer sempre più potenti e la possibilità di avere enormi quantità di dati, grazie a Internet, hanno reso possibile la creazione di software molto elaborati, che nei prossimi anni potrebbero cambiare sensibilmente il nostro rapporto con i computer, le macchine e più in generale il mondo.

Finora non vi è alcuna specifica definizione di “intelligenza artificiale” (IA) e, in realtà, non è affatto facile darne una effettivamente valida.

“L’IA è una disciplina appartenente a

ll’informatica che studia i fondamenti teorici, le metodologie e le tecniche che consentono la progettazione di sistemi hardware e sistemi di programmi software capaci di fornire all’elaboratore elettronico prestazioni che, a un osservatore comune, sembrerebbero essere di pertinenza esclusiva dell’intelligenza umana.”

Seppure tale definizione (espressa da Marco Somalvico, ingegnere specializzato in IA) potrebbe essere apparentemente valida, ancora oggi non esiste una spiegazione oggettiva, o quanto meno ampiamente condivisa su cosa sia l’intelligenza stessa. In genere, si intende la capacità di completare compiti e risolvere problemi nuovi (Problem solving), eventualmente sorti durante il completamento del compito originale, nonché la capacità di adattarsi all’ambiente e ai suoi mutamenti. Si vuole aggiungere a questa definizione alquanto pragmatica ed operativa anche la capacità della comprensione della realtà (qualunque cosa questa sia), includendo in questa la comprensione del linguaggio.                 Oggigiorno si tende a superare questa forma di intelligenza esclusivamente intellettuale, e si parla anche di altre tipologie di intelligenze, come l’intelligenza emotiva e quella relazionale (approfondita nel link seguente).

È proprio dal confronto e dalla possibile relazione con l’intelligenza umana, ancora oggi oggetto di analisi scientifici, che si origina e si sviluppa l’IA stessa. Altresì, quest’ultima viene impiegata non solo per fornire prestazioni prettamente intellettuali, o meglio, conoscitive al pari del livello umano, o quasi, ma anche per poter svolgere operazioni decisamente complesse o troppo articolate per essere praticate o, talvolta, comprese dall’essere umano (passando alla cosiddetta “coscienza artificiale“).

Prevedere il prima possibile l’insorgere di malattie nei pazienti, individuare le aree di una città in cui c’è bisogno dell’intervento della polizia e, ovviamente, guidare le auto in piena autonomia, che saranno in circolazione nel giro di pochi anni, questi e molti altri i compiti affidati alle intelligenze artificiali, sempre più delicati e di maggiore responsabilità. La fiducia che il settore scientifico ripone in queste macchine si basa su un semplice fatto: spesso e volentieri ottengono risultati migliori degli esseri umani.
Va precisato, del resto, che le intelligenze artificiali basate sul machine learning (definito approfonditamente da Anna Ukhanova di Google, qui), infatti, non seguono passo dopo passo le istruzioni decise dai programmatori, come avviene con i normali software, ma imparano da sole attraverso milioni di calcoli probabilistici estremamente elaborati. Questi calcoli sono così numerosi e così complessi che, per gli scienziati informatici, è umanamente impossibile capire in che punto l’algoritmo abbia sbagliato le previsioni. Questo problema (noto in gergo come black box, scatola nera) rischia di limitare non poco le possibili applicazioni dell’intelligenza artificiale, soprattutto in campi delicati come quello medico.

Sulla base di tali considerazioni, è opportuno quindi definire il percorso sviluppato e, sul quale, si basa tutto il lavoro svolto: per sostenere l’efficacia e l’efficienza dell’intelligenza artificiale è opportuno verificarne la funzionalità, dimostrandone i principi, le tecniche e le applicazioni che testimoniano tali peculiarità. Nel mondo moderno, il primo settore che sviluppa costantemente le caratteristiche dell’IA è quello della Robotica e dell’ Automazione, ampliamente cresciuto nel corso della ormai affermata Quarta rivoluzione industriale (definita alternativamente come Industria 4.0). I robot, macchine intelligenti in grado di svolgere specifici lavori, sono ormai impiegati in vari ambiti: medico, aeronautico e spaziale, trasporti e, ovviamente, l’automazione industriale. Pertanto le varie applicazioni dell’apparato robotico hanno dato vita a diverse tipologie di robot:  umanoidi, robot telecomandati a distanza e persino robot mobili autonomi. Questi ultimi, in particolar dotati della capacita di muoversi in ambienti terrestri, marini o aerei e di svolgere lavori differenti, a seconda del livello di programmazione correlato, riescono a soddisfare determinati obiettivi (definiti nell’AI come “goals”). Tale tipologia di Robot viene definita autonoma per due motivi specifici:

  1. Autonomia relativa alle fonti di energia: Se le fonti di energia per alimentare la macchina sono collocate a bordo, o dispongono di sistemi ricaricabili, il robot viene definito come autonomo;
  2. Autonomia rispetto alle unità di elaborazione e calcolo (la cosiddetta “intelligenza”): in tale sezione i robot possono essere sia telecomandati a distanza, in tal caso però dipendono direttamente dall’operatore, sia gestiti da sistemi programmabili, i quali permettono a tali macchine di operare autonomamente ed efficacemente nell’ambiente esterno.

Di conseguenza, per essere definiti autonomi, tali robot devono possedere la capacità di muoversi in assenza di cavi di collegamento diretto a fonti di energia esterne (i cosiddetti cordoni ombelicali) e che possiedono una qualche “intelligenza” a bordo, sotto forma di CPU, memorie, sensori e possibilità, talvolta, di comandare attuatori.

Il progetto sperimentale realizzato: un robot autonomo 4WD controllabile a distanza.

Tali macchinari, a seconda della rispettiva costituzione, decisamente variabile essendo una tipologia di apparecchiatura decisamente versatile, sono costituiti da varie sezioni, separate nella parte relativa al lato Hardware e Software, approfondite negli articoli successivi. In tale contesto, il robot in futura analisi è contraddistinto da ben quattro ruote motrici, vari sensori per l’interfacciamento con l’ambiente esterno ed infine la capacità di essere controllato da remoto. Sulla base di tali aspetti, si basa l’ambiente di sviluppo Arduino, con il quale è stato programmato il robot medesimo. Tuttavia, per poter adeguatamente eseguire le operazioni per il quale è stato programmato, così come tutti i dispositivi basati sull’Intelligenza Artificiale, occorre evidenziare tre principi necessari e basilari nella relazione ambiente – macchina. Primo tra tutti il processo di Digitalizzazione dei segnali analogici, e le fasi che ne conseguono, essendo, nel mondo puramente reale, analogiche tutte le grandezze fisiche, e quindi dotate di infiniti valori. Di conseguenza, per essere efficacemente analizzate dai sistemi digitali, che presentano invece valori limitati, i segnali analogici vanno opportunamente campionati, quantizzati e, quindi, opportunamente digitalizzati, procedendo pertanto nel processo di conversione che, applicato alla misurazione di un fenomeno fisico, ne determina il passaggio dal campo dei valori continui a quello dei valori discreti. Analogamente, tale processo rientra nel ben più ampio concetto del cosiddetto “Agente Intelligente”, un’entità in grado di percepire l’ambiente che lo circonda attraverso dei sensori e di eseguire delle azioni attraverso degli attuatori. Tale principio è uno degli obiettivi fondamentali, se non quello decisamente più importante, dell’Intelligenza Artificiale. Essendo un riferimento soprattutto ai sistemi digitali, per poter reagire all’ambiente circostante, tale sistema deve essere in grado di acquisire i dati necessari dall’esterno, sfruttando appositi sensori, a seguire digitalizzarli per poterli elaborare ed infine fornire le elaborazioni prodotte attraverso gli attuatori, per soddisfare il goal specifico. Nel campo dei robot mobili autonomi, l’attuatore più diffuso è senza dubbio il motore elettrico. Quest’ultimo permette a tali dispositivi di riuscire a mantenere stabile la circolazione nell’ambiente, evitando ostacoli, o problematiche associate, attraverso l’utilizzo, e l’elaborazione necessaria, dei dati provenienti dai sensori. Le informazioni ricavate in digitale sono, del resto, essenziali per essere elaborate secondo il processo di ragionamento umano. Necessarie si rivelano le reti neurali artificiali, utilizzate ampiamente sia per ottenere una comprensione delle reti neurali biologiche, ma ancor di più per risolvere problemi ingegneristici di intelligenza artificiale come quelli che si pongono in diversi ambiti tecnologici (elettronica, ingegneria informatica e molte altre discipline).

Quanto evidenziato rappresenta essenzialmente la prima sezione, o capitolo se in riferimento alla tesi (il cui link è proposto in fondo alla pagina), del lavoro svolto, nel quale viene descritto approfonditamente il progetto sperimentale. Nella seconda fase, o capitolo, si procederà con l’analisi delle ulteriori materie, non specificatamente tecniche come le ultime trattate, ma che contribuiscono efficacemente a definire ed evidenziare l’efficacia dell’IA, comparando quest’ultima all’Intelligenza Umana.

Difatti l’analisi in lingua inglese di tali caratteristiche dell’IA permette di evidenziare al meglio entro quali limiti essa viene progettata e, ovviamente, entro quali capacità specifiche, definite o ancora da definire, viene programmata.
Generalmente tale processo si effettua comparando l’intelligenza umana, di base, ai ragionamenti artificiali, per cui è evidente la rigida subordinazione dell’IA all’uomo. Talvolta, però si tende a constatare sostanzialmente che tale intelligenza permetta alle macchine, in un futuro molto prossimo, di non rivestire più un ruolo benefico per l’umanità, bensì problematico, incontenibile e forzatamente negativo. Qui si introduce quindi l’analisi matematica della coerenza dei sistemi formali, come dimostrano i teoremi di incompletezza enunciati dal logico matematico Kurt Gödel e, attraverso il concetto del “limite invalicabile della forma”, ribadiscono lo sviluppo dell’IA entro certe variabili, a sostegno di una ipotetica visione positiva e propositiva. D’altra parte lo stesso Gödel ha condiviso le proprie idee con il matematico Alan Turing (l’ideatore della Macchina di Turing), padre fondatore dell’informatica e profeta dell’Intelligenza Artificiale. Emblematico esponente del contesto di crittografia nel Secondo conflitto mondiale lo stesso Turing il quale, assieme agli altri crittografi di Bletchley Park del “Department of Communications” britannico, ha dato vita al progetto “ULTRA” che ha rappresentato, assieme alla disfatta della macchina tedesca “Enigma”, una delle cause primarie, se non la più importante, per la vittoria degli alleati nella seconda guerra mondiale, in un contesto mondiale sconvolto dalla guerra e offeso dalle dittature. Analogamente, la superiorità dell’Intelligenza umana, oltre ad essere matematicamente trattata costituisce, inoltre, un tema letterario proprio della produzione  “stravagante”  di Gabriele D’Annunzio, dove accanto alle concezioni di estetismo e di panismo primeggia il concetto del “superuomo”, una figura dotata della capacità intellettiva ( intesa soprattutto come “volontà di potenza”) di essere superiore agli altri, talvolta imponendosi addirittura come guida del popolo. In tal senso è resa nota la versatilità dell’Intelligenza alquanto necessaria, sia per l’essere umano che per la  macchina.

Come largamente evidenziato dalle tesi esposte, quindi, l’Intelligenza Artificiale, un argomento così ampio, profondo e controverso, può ritenersi un mezzo efficiente ed efficace per contribuire a migliorare le condizioni di vita dell’uomo, in una prospettiva di progresso sociale mondiale.

“L’AI è estremamente eccitante. Le sue applicazioni pratiche possono aiutarci ad affrontare importanti problemi sociali, e a facilitare lo svolgimento di molte attività nella vita quotidiana […]Finora la tecnologia ha portato a grandi progressi, ma se abusata presenta gravi pericoli”

Margaret Boden (professore di scienze cognitive presso l’Università di Sussex) nel libro “AI: Its nature and future”

Intelligenza Artificiale e Robot: minaccia od opportunità?

Con tale citazione si conclude l’introduzione della tesi il cui lavoro, complesso e completo, si presenta nel link seguente in vari formati che oscillano dalla presentazione in PP e la mappa concettuale alla tesina puramente scritta! Buona lettura e consultazione (qui). Nell’articolo successivo, invece, verrà accuratamente descritto il progetto sperimentale legato a tale analisi scientifica.

Pubblicato in Ambiente, didattica digitale, Elettronica, Informatica, laboratori, Letture/Visioni | Contrassegnato , , , , , , , , , , , , , | Lascia un commento

Efficacia ed Efficienza dell’IA – Robot mobile intelligente 4WD controllato a distanza (Progetto sperimentale)

Come analizzato nel precedente articolo, principi quali le reti neurali, l’agente intelligente e la digitalizzazione dei segnali analogici, ad esempio, sono essenziali per analizzare, comprendere e studiare il comportamento dei sistemi di elaborazione digitale quali l’Intelligenza Artificiale.

Ognuno dei principi elencati, e ovviamente il progetto stesso, contribuiscono ad evidenziare come i sistemi di elaborazione digitale, tra i quali l’Intelligenza Artificiale stessa, permettano di impiegare i processi computazionali in vari settori, industriali e non, contribuendo così al miglioramento della società che ne regola le dinamiche (infatti, l’impatto riguarda, oggigiorno, circa il 9% della forza lavoro globale. A decidere un salto sempre più in avanti contribuiscono i progressi nel deep learning e nelle reti neurali grazie anche all’impegno nella ricerca di base.).

Tra tutti, il settore che maggiormente risente di tale influenza è la robotica e l’automazione. È ovvio ormai come l’Intelligenza Artificiale permetta di ottimizzare i processi produttivi, ridurre i costi e le problematiche, potenziare gli strumenti delle tecnologie dell’informazione e della comunicazione che, di conseguenza, aumentano la produttività nelle occupazioni collegate all’economia della conoscenza. Secondo il McKinsey Global Institute, la multinazionale di consulenza strategica, la robotica è un’area che andrà incontro a profondi cambiamenti nei prossimi anni. Del resto, occorre precisare, i robot sono tuttora applicati in vasti e vari settori applicativi e, al fine di svolgere un’ampia gamma di operazioni, essi si sono sviluppati in varie modalità, passando dagli umanoidi ai robot controllati a distanza e robot mobili intelligenti e/o autonomi. Non a caso, infatti, il settore della robotica che più evidenzia lo sviluppo e l’influenza dell’Intelligenza Artificiale è quello della robotica mobile.

La robotica mobile autonoma costituisce un’area di ricerca affascinante per molte ragioni.     La prima riguarda l’ampia sfera di conoscenze coinvolte. Infatti, per trasformare un robot mobile da un computer su ruote – capace soltanto di percepire alcune delle proprietà fisiche dell’ambiente attraverso i suoi sensori – in un agente intelligente – in grado di identificare le caratteristiche dell’ambiente, determinare campioni e regolarità, imparare dall’esperienza, localizzare, costruire mappe e navigare – occorre la contemporanea applicazione di molte discipline. Per questa sua specificità, la robotica mobile capovolge la tendenza attuale della scienza verso una specializzazione sempre maggiore e richiede la combinazione di numerose aree di ricerca, divenendo direttamente correlata all’Intelligenza Artificiale medesima.
L’ingegneria e l’informatica sono ovviamente le discipline cardine della robotica: tuttavia, quando si affrontano i quesiti relativi al comportamento intelligente sono l’intelligenza artificiale, le scienze cognitive, la psicologia e la filosofia a offrire ipotesi e risposte. Altri aspetti, quali l’analisi dei comportamenti del sistema (per esempio mediante il calcolo degli errori e le valutazioni statistiche) e di tutti i sistemi in generale, rientrano nell’ambito della matematica che, supportata dalla fisica, fornisce molte spiegazioni.
In secondo luogo, i robot mobili rappresentano tuttora la migliore approssimazione di agenti intelligenti, un sogno antico. Da secoli gli uomini hanno desiderato costruire macchine in grado di imitare i comportamenti degli esseri viventi. La domanda “Che cos’è la vita e come possiamo comprenderla?” ha sempre stimolato la ricerca in questo campo, dalla realizzazione di animali meccanici con movimenti a orologeria fino allo sviluppo di software e agenti fisici di vita artificiale. Il sogno di sempre è stato riprodurre il comportamento intelligente. Negli esseri viventi la percezione e l’azione sono strettamente legate. Gli animali, per esempio, compiono specifici movimenti della testa e degli occhi per osservare l’ambiente: per interagire con esso, anticipano il risultato delle loro azioni e prevedono il comportamento di tutto ciò che rientra nel loro campo visivo. Per comunicare, alterano l’ambiente (ciò che viene definita stigmergia): la costruzione dei formicai è un esempio di tale comportamento. Questo stretto legame tra percezione e azione costituisce una motivazione importante per lo studio del comportamento intelligente per mezzo degli agenti ‘situati”, cioè i robot mobili. Per analizzare le simulazioni di agenti vivi o artificiali, che interagiscono intelligentemente con l’ambiente, è necessario chiudere il ciclo tra percezione e azione, permettendo all’agente di determinare la sua percezione del mondo esterno. Sia che i robot autonomi raggiungano livelli di intelligenza umana entro 50 anni, come alcuni autori predicono, o che gli esseri umani divengano obsoleti in questo arco di tempo (affermazioni molto vaghe, dato che le definizioni di “intelligente” e “obsoleto” non sono del tutto chiare), sia che si debbano attendere altri 100 anni per disporre di robot domestici veramente intelligenti, come sostengono altri, i robot autonomi mobili offrono una piattaforma unica di ricerca per indagare il comportamento intelligente.
Inoltre, esistono applicazioni commerciali di robot mobili: per esempio nel trasporto, nella sorveglianza, nell’ispezione, nella pulizia o anche in ambito domestico. Tuttavia, i robot mobili autonomi non hanno ancora un impatto significativo sulle applicazioni industriali e domestiche, principalmente a causa della mancanza di una navigazione robusta, affidabile e flessibile e di meccanismi di comportamento per robot mobili autonomi operanti in ambienti semistrutturati e non modificati. La possibilità di disporre di robot mobili in grado di lavorare in aree inaccessibili agli esseri umani o di effettuare compiti ripetitivi, difficili o pericolosi, costituisce un’altra forte motivazione alla ricerca e alla realizzazione di robot intelligenti e autonomi.
Infine, vi è anche l’aspetto estetico o artistico della robotica mobile. Sciami di robot che collaborano per realizzare un particolare compito o che si muovono per evitare collisioni tra loro e con gli oggetti presenti nell’ambiente, robot mobili disegnati in maniera elegante – come i microrobot o i robot in miniatura muniti di “gambe” – stimolano il nostro senso estetico. Non è dunque sorprendente che robot mobili o dotati di braccia siano stati impiegati in rappresentazioni artistiche (ne è un esempio l’artista Stelarc).

Robot 4WD intelligente controllabile a distanza, come evince il telecomando IR posto sulla destra.

La capacità dei robot mobili di muoversi autonomamente in un ambiente determina le loro migliori applicazioni: compiti che riguardono il trasporto, l’esplorazione, la sorveglianza, la guida, l’ispezione eccetera. In particolare, i robot mobili sono utilizzati per applicazioni in ambienti inaccessibili o ostili per gli umani. Esempi sono i robot sottomarini, quelli che esplorano le superfici di altri pianeti (planetary rover, i quali ultimamente guadagnano sempre più “velocità”) o quelli che operano in ambienti contaminati. Una seconda vasta area di applicazioni della robotica mobile è costituita dai campi dell’intelligenza artificiale, della scienza cognitiva e della psicologia.

I robot autonomi mobili offrono un mezzo eccellente per verificare le ipotesi sul comportamento intelligente, sulla percezione e sulla cognizione. Il programma di controllo di un robot mobile autonomo può essere analizzato in dettaglio; le procedure e l’assetto sperimentali possono essere controllati con attenzione, permettendo la replica e la verifica indipendente degli esperimenti; inoltre i parametri sperimentali individuali possono essere modificati in modo controllato. Comunque, per far fronte a situazioni impreviste e adattarsi agli ambienti dinamici, è necessaria la capacità di autogoverno ( principio di “autonomia forte”). L’autogoverno implica che la macchina sia capace di determinare il corso delle sue azioni mediante il suo processo di ragionamento, piuttosto che seguendo una sequenza fissa di istruzioni fornite dall’esterno. L’autonomia forte richiede la capacità di costruire rappresentazioni interne del mondo, di pianificare e di apprendere dall’esperienza.

Un robot mobile autonomo, quindi, ha la capacità di muoversi nel proprio ambiente per compiere un certo numero di compiti differenti, è capace di adattarsi ai cambiamenti di tale ambiente, di imparare dall’esperienza – modificando di conseguenza il proprio comportamento – e di costruire rappresentazioni interne del proprio mondo che possano essere utilizzate per processi razionali come la navigazione.

Proseguendo nello specifico, il robot realizzato, sulla base dei principi espressi nel paragrafo precedente, è specificatamente un robot autonomo intelligente, capace di evitare ostacoli e bordi sfruttando ampiamente le quattro ruote motrici di cui dispone. D’altra parte, altra funzionalità implementata nel robot nelle fasi successive della sperimentazione, è la capacità di reagire efficacemente a controlli remoti di ricevitori ad infrarosso. Tra le principali funzionalità di tale “agente” vi è la possibilità di:

  • Controllare la velocità e la direzione aggiungendo un controllo del movimento migliore e funzionalmente ottimizzato. Tra i movimenti permessi al robot rientra la capacità di:
    1. Muoversi in avanti. In tal caso i motori girano in avanti alla stessa velocità;
    2. Muoversi all’indietro. Pertanto entrambi i motori girano nella direzione opposta alla stessa velocità;
    3. Muoversi a sinistra. In tale caso i motori di sinistra sono fermi, mentre quelli sulla destra girano in avanti;
    4. Muoversi a destra, prevedendo una situazione opposta rispetto il caso precedente. Di conseguenza i motori di sinistra girano in avanti e quelli di destra sono fermi;
    5. Fermarsi, bloccando i motori;
    6. Incrementare o decrementare la velocità di movimento (sfruttando le funzioni PWM);
    7. Impostare la velocità di movimento, associata alle future azioni del robot;
  • Rendere il robot capace di vedere il suolo, utilizzando sensori IR per riconoscere linee e bordi;
  • Rendere il robot capace di guardarsi intorno, utilizzando un servomotore che gli permetta di scegliere la direzione migliore per muoversi;
  • Aggiungere, come accennato, il controllo remoto utilizzando un telecomando per la recezione degli infrarossi;
  • Implementare, modificare ed ottimizzare i sistemi di alimentazione (sia con batteria sia con caricatore a compensazione, ricaricabile).

La scelta di implementare un robot a quattro ruote motrici rappresenta l’opzione più valida per permettere al robot di operare su superfici anche irregolari. Tale piattaforma è dotata di un’ampia piastra in cima che è possibile utilizzare per fargli trasportare piccoli oggetti. Tuttavia, va sottolineato che il robot in questione richiederà maggiore corrente e sarà più pesante rispetto la controparte semplificata a due ruote motrici. Di conseguenza verranno richiesti degli opportuni accorgimenti per gestire la durata della batteria. Per tale motivo, il robot dispone di una duplice alimentazione, come evidenziato. Le ampie capacità di tale macchinario sono permesse dall’opportuna integrazione tra i sistemi hardware e software che costituiscono il medesimo. Tali sistemi, suddivisi in categorie ma interconnessi tra loro, contribuiscono a garantire, se opportunamente configurati, efficienza e stabilità al robot.

L’HW nella fase finale.

In un primo momento, l’architettura Hardware coinvolge tutti i componenti e dispositivi che costituiscono il robot, i quali sono molteplici (passando dai sensori SONAR ed IR al servomotore e la motor shield, ad esempio) e ognuno di essi detiene una capacità, o meglio, funzionalità specifica. Dalla gestione dei motori e rilevamento dei bordi sino al controllo remoto vi è una “sezione” specifica del robot che svolge la relativa funzione. L’elevata integrazione tra le varie componenti permette di considerare il dispositivo come un vero e proprio sistema.    Il centro di quest’ultimo è Arduino, una piattaforma hardware composta da una serie di schede elettroniche dotate di un microcontrollore. Generalmente con Arduino si possono realizzare in maniera relativamente rapida e semplice piccoli dispositivi come controllori di luci, di velocità per motori, sensori di luce, autolavaggi, temperatura e umidità e molti altri progetti che utilizzano sensori, attuatori e comunicazione con altri dispositivi. È abbinato ad un semplice ambiente di sviluppo integrato (IDE) per la programmazione del microcontrollore.

In secondo luogo, Il software di gestione del dispositivo è decisamente ampio e complesso e gestisce il robot e ogni singolo componente del medesimo impiegando otto differenti schede. Da precisare, tuttavia, che il codice di programmazione è stato realizzato sfruttando l’ambiente di sviluppo integrato IDE (Integrated Development Environment) di Arduino, ossia un’applicazione multipiattaforma scritta in Java, ed è derivata dall’IDE creato per il linguaggio di programmazione Processing e per il progetto Wiring. Tale ambiente è molto versatile, adatto per i principianti nella programmazione e, al contempo, provvisto di tutte le risorse necessarie per concepire programmi (definiti Sketch) di alto livello. Il codice del robot è stato realizzato completamente in inglese ed è provvisto di commenti in lingua italiana ed è, inoltre come accennato, ripartito in otto differenti schede, così denominate:

  • Scheda “4WD Project” (nominata arbitrariamente come “MarkII”), la quale costituisce la prima fase del codice che richiama le funzioni e definisce le librerie necessarie;
  • Scheda “Distance”: Scheda funzionale a gestire il sensore Ping, restituendo la distanza in centimetri;

    La scheda iniziale “4WD Project”

  • Scheda “IrSensors”: Tale scheda è funzionale per gestire, configurare e calibrare i sensori di riflessione a infrarossi IR;
  • Scheda “Look”: Tale scheda permette di ricercare eventuali ostacoli per intraprendere il percorso più opportuno, facendo ruotare il servomotore;
  • Scheda“Move”: La scheda in questione permette di richiamare le funzioni di movimento o di gestione del robot per permettere a quest’ultimo di spostarsi e, quindi, gestisce i motori;
  • Scheda “RemoteService”: Funzionale al controllo remoto, essa permette di inviare dati non solo tramite il telecomando di codifica, bensì anche da seriale (opzione aggiuntiva);
  • Scheda “softServo”: Fornisce gli angoli per controllare il servomotore, regolando la larghezza dell’impulso sul pin di Arduino collegato a quest’ultimo;
  • Scheda “robotDefines”: Essa definisce le ulteriori variabili globali di sistema e, quindi, i sensori IR, le variabili di direzione ed infine i comandi.

Altresì, altra possibilità prevista nel robot, è quella di analizzare in tempo reale il comportamento del robot e, in particolar modo, dei sensori di riflessione e dell’analizzatore di distanza. Tale processo viene effettuato sfruttando l’ambiente, già descritto, di sviluppo “Processing” e, al contempo, cambiando codice. Il codice utilizzato è secondario a quello analizzato nel dettaglio e permette esclusivamente di analizzare il comportamento dei sensori, lavorando quindi in parallelo con lo Sketch di processing. Lo Sketch di Processing risultano infatti molto articolati, in quanto sono essenzialmente funzionali a realizzare oggetti grafici, come tabelle, stringhe ed elementi che necessitano di variare secondo le informazioni inviate dallo Sketch di Arduino. La schermata di processing, in particolar modo, mostra i valori di analogRead ricavati dai sensori, destro e l’eventuale sensore centrale e dal sensore di distanza, evidenziando i valori minimi e massimi raggiunti da questi ultimi.

Il risultato dell’integrazione dello Sketch di Processing, opportunamente configurato con il codice del robot.

Il progetto, la cui documentazione completa è presente qui (nel primo capitolo dedicato a tale progetto), basa il proprio sviluppo e processo operativo su alcuni principi che regolano la robotica e, più in generale, l’Intelligenza Artificiale, secondo le tematiche affrontate nella premessa. Nel video seguente, è possibile analizzare accuratamente i processi del progetto sperimentale, l’architettura HW e SW ed alcune delle funzionalità permesse da tale integrazione.

 

Pubblicato in Ambiente, didattica digitale, Elettronica, Informatica, laboratori, Make | Contrassegnato , , , , , , , , , , , , , , | 2 commenti

Automobilina con Arduino

Automobilina ricavata da una vecchia auto radiocomandata.

Si muove autonomamente decidendo la direzione (avanti-indietro) e se girare (destra-sinistra) in base alla misura della distanza ottenuta con dei sensori ad ultrasuoni (due davanti e uno dietro).

Viene regolata anche la potenza dei motori con l’integrato L293 e le uscite D9 D10 D11 comandate dalle istruzioni analogWrite().

Automobile Arduino

Pubblicato in Uncategorized | Contrassegnato , , , , , , , | Lascia un commento

Bill Gates: «Bisogna tassare i robot come gli umani per fronteggiare l’occupazione»

NEW YORK – La bizzarra proposta dell’uomo più ricco del mondo che divide l’opinione pubblica.

Al centro di dibattiti mondiali il binomio Robot e Lavoro. La proposta del fondatore di Microsoft: È indispensabile una tassa sui robot che svolgono i lavori umani per compensare la perdita dei posti di lavoro.

I robot capaci di svolgere i lavori umani dovrebbero essere tassati. A sostenere tale proposta rivoluzionaria è il celebre Bill Gates, imprenditore statunitense e fondatore della Microsoft Corporation, una delle più importanti multinazionali di tecnologia americana.

“Al momento se un lavoratore umano guadagna 50.000 dollari lavorando in una fabbrica, il suo reddito è tassato. Nel caso in cui un robot svolga lo stesso lavoro, dovrebbe essere tassato allo stesso livello”

Spiega il miliardario in una recente intervista presso il sito di news economiche “Quartz”, inserendosi a pieno titolo nella discussione riguardante l’incremento incessante dell’automazione e la conseguente riduzione dei posti di lavoro (l’intervista completa è consultabile presso Quartz stesso, il giornale online statunitense di informazione economica e politica, qui).
Quest’ultimo è un tema che richiama sempre di più ormai l’attenzione globale e, in particolar modo, quella delle più grandi potenze mondiali.
Difatti secondo alcuni dati convalidati dal rapporto della banca mondiale nel 2016, circa otto milioni di posti di lavoro negli Stati Uniti e perfino quindici milioni in Gran Bretagna sono a rischio per l’avvento inarrestabile dei robot. Ciononostante il dibattito è aperto su più fronti, talvolta, contrastanti.
In relazione ad una recente analisi condotta dalla società internazionale di consulenza manageriale denominata “McKinsey Global Institute”, gli impieghi più in pericolo sono quelli meno retribuiti, che equivalgono al 5% delle occupazioni attuali (Il report completo della società, con i grafici esplicativi dell’incremento potenziale dell’automazione nelle occupazioni lavorative, è disponibile di seguito).

L’immagine evidenzia il grafico del Report del “McKinsey Global Institute”. Lo stesso evidenzia la relazione che intercorre tra le attività lavorative e i rispettivi gradi (in %) di automazione presente.

Una percentuale che, seppur in un primo momento possa rivelarsi poco preoccupante, è destinata inesorabilmente a crescere in maniera proporzionale al progresso robotico. Precisamente molte delle mansioni attuali, in particolar modo nel settore manifatturiero, edile e informativo, presentano un elevato potenziale di automatizzazione, che oscilla tra il 45 ed il 78%.
Le macchine non sono del resto esclusivamente utilizzate nelle fabbriche; a San Francisco, per esempio esse sono già diffuse nel settore dei servizi: è presente, infatti, un caffè totalmente automatizzato, capace di offrire prodotti a prezzi molto competitivi e risparmiando al contempo sul costo dei lavoratori umani (Lo stesso argomento nel dettaglio: Al Café X l’espresso lo serve un robot).
Eppure lo stesso Bill Gates si mantiene notevolmente fiducioso nei confronti delle potenzialità della forza lavoro umana, che rimarrà comunque necessaria per il bilanciamento socio-economico mondiale.

“ I lavori svolti dagli esseri umani saranno sempre necessari […] Quello che il mondo vuole oggi è cogliere l’opportunità di produrre beni e servizi per liberare lavoro per altri”

Mette in evidenza lo stesso Gates. D’altra parte oggigiorno è inevitabile il processo di incremento e sviluppo dell’automazione, industriale e non, che favorisce senza sosta una parziale espulsione dei lavoratori nelle attività produttive di competenza. Le conseguenze sociali che ne derivano non sono per nulla trascurabili e per tale motivo si inserisce qui la proposta dell’uomo più ricco del mondo, quella di tassare i robot al pari degli esseri umani.

Tasse anche per i robot al fine di salvaguardare il lavoro umano. È questa l’idea di Bill Gates.

Un’idea secondo la quale è possibile anche sovvenzionare la riqualificazione della forza lavoro respinta gradualmente dall’automazione. In poche parole se le macchine automatizzate provvederanno a “rubare” i posti lavorativi agli umani, è giusto che siano tassate, permettendo così di stabilire e di finanziare nuovi percorsi di formazione.

“Non ritengo che le aziende che producono robot si arrabbierebbero se fosse imposta loro una tassa. L’utilizzo dell’intelligenza artificiale può generare profitti con notevoli risparmi sul costo del lavoro”

Aggiunge in un secondo momento il miliardario statunitense.
Seppur si dimostri una valida opportunità per regolamentare e sostenere le continue perdite di posti di lavoro per gli operatori umani, al contempo quella di Bill Gates è una proposta che ha incrementato numerose discussioni a riguardo, accentuando così un rilevante divario tra chi è favorevole e chi è contrario all’idea in questione.
Tra i favorevoli rientra maggiormente l’Europarlamentare Mady Delvaux, secondo la quale è necessario disciplinare tutte le attività nelle quali vengono impiegati i robot, considerati dalla deputata come delle “persone elettroniche”. Tuttavia la proposta di creare uno status giuridico dedicato alle macchine intelligenti, portata avanti dalla stessa nella seduta planetaria tenutasi il 15 febbraio scorso, è stata approvata dai vari membri della conferenza, a differenza della proposta di tassazione concernente la produzione e/o impiego di robot stessi (La seduta planetaria in questione, dalla durata complessiva di un’ora e trenta minuti circa, è analizzabile presso la pagina ufficiale del Parlamento europeo, attraverso il link seguente). Sulla questione si è espresso anche il docente e saggista italiano Stefano Micelli.

“Il dibattito sulla tassazione dei robot potrebbe apparire, in Italia e nel mondo, come una novità assoluta […] In linea generale è comprensibile che per l’utilizzo dei robot possa valere lo stesso principio ‘compensativo’ rispetto ai posti di lavoro per umani che le nuove tecnologie potrebbero far scomparire”

Ha dichiarato il docente di International management al Corriere della Sera.
Più accesi sono invece i giudizi contrari alla proposta, che la interpretano come una provocazione, altresì definendola come “un’idiozia economica”. Prevedibile è l’intervento dell’International Federation of Robotics (IFR), un’organizzazione internazionale a difesa dell’industria robotica. Quest’ultima rivendica in maniera esplicita che tassare i robot potrebbe bloccare l’innovazione, danneggiando di conseguenza il settore. Analoga teoria ha sostenuto l’economista Tim Wostall sulle pagine della rivista statunitense di economia e finanza “Forbes”, presso la quale ha fortemente affermato come la proposta di Gates non può essere in nessun modo applicata.

“La tassa sui robot dovrebbe essere un equivalente delle imposte sul reddito dei lavoratori, ma i robot non hanno reddito. E tassarli significherebbe solo tassare le imprese, rallentando l’innovazione e la diffusione della tecnologia e riducendo la produzione”

Ha enunciato il giornalista britannico, evidenziando il notevole errore di fondo celato dietro la proposta del fondatore di Microsoft. Anche la conduttrice italiana e giornalista Milena Gabanelli ha espresso il giudizio in merito alla questione, in una recente intervista presso il Corriere della Sera. In quest’ultima la stessa ha posto l’accento sull’elevata importanza che riveste la robotica, in particolar modo nelle attività di bassa manovalanza e nei lavori usuranti e pericolosi per l’uomo.

“La robotica si produce perché crea valore […] Se negli anni Ottanta si fosse pensato di tassare i pc e i relativi software, che hanno cancellato dalla faccia della terra milioni di impiegati, lo sviluppo informatico sarebbe stato rallentato, e la Microsoft di Bill Gates probabilmente non sarebbe quella che è oggi. Anche allora c’erano gli stessi timori, ma a distanza di anni si è visto che, essendosi creata la necessità di nuove competenze, i nuovi posti di lavoro hanno superato quelli perduti”.

Lo ha affermato, nel suo breve ma incisivo intervento, l’ex conduttrice del programma “Report” di Rai Tre (Per approfondire in merito ai vari giudizi affiancati alla proposta del fondatore di Microsoft da parte dell’opinione pubblica mondiale, si prega di far riferimento all’articolo seguente, che evidenzia e sottolinea i vari punti di vista associati alla questione in analisi).
Un’ipotesi molto contrastata e discussa quella del magnate statunitense, il quale sostiene apertamente che in un futuro molto prossimo i robot saranno in grado di sostituire gli esseri umani in un’ampia gamma di settori lavorativi. Un futuro che, d’altra parte, nel caso in cui si sviluppi in tal senso, predisporrà un cambiamento inesorabile che necessiterà inevitabilmente di una regolamentazione. Secondo lo stesso Bill Gates la politica di tassazione dei robot si rivela alquanto necessaria per rallentare il trend, attualmente stabile, di crescita dell’automazione.

“In un attimo si attraverserà la soglia di totale sostituzione del lavoro in alcuni settori […] Si deve essere disposti a tassare i robot anche per rallentare la velocità di automazione”

Ha infine dichiarato l’imprenditore americano nella sua intervista presso “Quartz”, facendo notare come questa tassa sui robot, seppur apparentemente bizzarra, sia l’unica possibilità per amministrare i cambiamenti causati dallo sviluppo incontrastato delle macchine (Resteranno, del resto, sempre e comunque delle professioni che i robot non potranno “rubare”).

Matteo Valentini

Pubblicato in Ambiente, didattica digitale, Informatica, laboratori, Letture/Visioni | Contrassegnato , , , , , , , , , | 1 commento

MakerSpace in StartUP!

In questi giorni si sta tenendo presso l’IIS “Einstein-Bachelet” di Roma l’attività in alternanza scuola-lavoro che prelude all’apertura del nuovo laboratorio di fabbricazione digitale dell’istituto: un makerspace.

logo

logo provvisorio del laboratorio

O più precisamente un MakerSpace@Scuola, visto che trae spunto dall’originale progetto fablab@school”, per realizzare una moderna “Officina digitale” come si legge anche nell’introduzione del progetto stesso:

Il processo di apprendimento che si vuole applicare nel makerspace è ispirato alle teorie costruzioniste di Papert, secondo cui i giovani apprendono più facilmente costruendo artefatti e condividendo tra loro, nonché al progetto fablab@school del prof. Paulo Blikstein <https://tltl.stanford.edu/project/fablabschool>, che ha messo a punto il modello di laboratorio di fabbricazione digitale applicato all’educazione.
La didattica attiva realizzabile in un makerspace e la sua gestione come impresa  inducono a riconsiderare tempi e modi dell’apprendimento passando da un modello di scuola basato su apprendimenti formali ad un apprendimento basato su compiti/attività e progetti da realizzare, nel quale l’alunno opera da protagonista in una dimensione concreta, significativa e collaborativa.
In questo ambiente hands-on, gli studenti tracciano il proprio percorso dall’idea al prodotto finito artefatto, e non ci sono due viaggi degli studenti che siano esattamente gli stessi.
Mentre il modello tradizionale enfatizza l’uniformità e la prevedibilità, makerspace @ Scuola sottolinea la collaborazione e il problem-solving creativo.
Nel makerspace si abbandona la logica della semplice ri-produzione del sapere per fare spazio alla ri-costruzione, re-invenzione, scoperta delle conoscenze.

La didattica quotidiana mediante “esperienze di laboratorio”- LEARNING BY DOING – stimola la mentalità imprenditoriale tra i giovani offrendo loro un percorso formativo che mette in evidenza aspetti caratteriali ed attitudinali, nonché le capacità e le competenze tecniche necessarie per lo sviluppo di un’idea imprenditoriale.

Un percorso ambizioso che i ragazzi stanno definendo in questa fase di “startup” insieme ai tutors di Roma Makers, partner del progetto; il gruppo di docenti da cui è nata questa idea infatti ritiene prioritario che il disegno, la missione e la gestione reale del makerspace  restino nelle mani degli studenti nella forma più ampia possibile.
Lo spazio, come sta venendo fuori dal processo di design thinking partecipato di questi giorni, deve rappresentare per gli studenti un ambiente sicuro in cui possano sperimentare liberamente, condividere conoscenze, socializzare e mettersi al servizio della comunità di territorio per diffondere la cultura, digitale ma non solo.

Molto forte infatti l’attenzione per l’ambiente naturale ed il benessere, la vivibilità degli spazi di vita e lavoro.  Nei modelli di lab disegnati dai ragazzi non mancano mai gli spazi verdi, che si vogliono integrare nel laboratorio, a migliorare anche le condizioni di vivibilità dello spazio di lavoro, nonché nei suoi immediati dintorni.
Seppur non degradato l’ambiente scolastico è pur sempre di un grigio… cemento  🙁

Si sta lavorando, insomma… restate sintonizzati.

 

Pubblicato in didattica digitale, laboratori, Make, Pedagogie | Contrassegnato , , , , | Lascia un commento

Discorso dello studente al PoliTO

Discorso lungo ma denso di significati…

Pubblicato in Letture/Visioni | Contrassegnato , , , | Lascia un commento

Giostra con ballerine

ballerine1

In questa giostrina ho usato un motore brushless di un vecchio disco rigido. L’ho pilotato a impulsi e sincronizzato con un led da 3W che uso come flash. Le immagini l’ho ricavade dal video del test clockwise-anticlockwise che si trova su internet, isolando le singole immagini con il programma LIVES, scegliendone 12 e stampandole su carta lucida con la dimensione giusta e a colori invertiti (ho usato GIMP). L’unico problema è il sincronismo del motore e la partenza: bisogna calibrare bene la durata degli impulsi e dare una spinta all’inizio del movimento. Ho provato a mettere un piccolo led con un fotodiodo e delle finesrelle per sincronizzare il movimento, che sembra stabile a regime ma non sono certo se la stabilità del movimento dipende da loro o soltanto dalla calibrazione degli impulsi del motore.

Pubblicato in Elettronica, Informatica | Contrassegnato , , , , | Lascia un commento

Led RGB Con 6 Pulsanti

luci-rgb-con-6-pulsanti_schem

Variazione di luminosità di un Led RGB ottenuta con sei pulsanti (due per colore) per alzare o abbassare la luminosità. Le uscite per i Led varieranno da 0 a 5V (analogWrite) per un massimo di 8 step ottenuti raddoppiando (o dimezzando) il valore di partenza.

luci-led-rgb-comandate-da-6-pulsanti

Pubblicato in didattica digitale, Elettronica, Informatica, laboratori | Contrassegnato , , , | Lascia un commento

Ciao Dario

Tra le tante attività della sua lunga carriera vogliamo ricordarlo così…

Musica per vecchi animali from StefanoBenni.it on Vimeo.

Un film scritto e diretto da Stefano Benni e Umberto Angelucci.
Con Dario Fo, Paolo Rossi e Viola Simoncioni.

Pubblicato in Letture/Visioni | Contrassegnato , , , | Lascia un commento