Anteprima
Vedrai una selezione di 10 pagine su 44
Robot Pag. 1 Robot Pag. 2
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Robot Pag. 6
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Robot Pag. 11
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Robot Pag. 16
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Robot Pag. 21
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Robot Pag. 26
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Robot Pag. 31
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Robot Pag. 36
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Robot Pag. 41
1 su 44
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi

Sommario
- MiniRobot 2008
- Il campo da gioco
- La nostra soluzione
- Lego Mindstorms
- Programmare l’NXT
- Programmazione concorrente
- Multi-thread
- Il Bluetooth
- Cut The Cables!
- Trasmissione seriale
- Standard di interfaccia seriale RS 232-C
- Robot industriali
- La società del benessere in Italia
- Eugenio Montale
- l'ultimo Montale: quale attualità?
- é ancora possibile la poesia?

Introduzione
Automa, operatore automatico meccanico controllato da un cervello elettronico, con particolare riferimento agli apparecchi programmabili usati in alcuni settori dell’industria e della ricerca scientifica per sostituire l’uomo in attività manuali faticose, pericolose o troppo costose dal punto di vista del profitto. Così è com’è definito un robot dai dizionari: una macchina in grado di sostituire l’uomo. È davvero corretto però che l’uomo trovi un sostituto per l’attività che più delle altre lo rende “umano”, ovvero il lavoro?
L’interesse della scienza per tutto ciò che è inerente alla robotica è elevato per diversi motivi. La robotica (branca dell’ingegneria) è una scienza che abbraccia molte discipline scientifiche, tra cui: automazione, elettronica, fisica, informatica, matematica, meccanica ma anche umanistiche come biologia, fisiologia, linguistica e psicologia. Inoltre l’uomo è sempre stato affascinato dall’idea di una macchina simile all’uomo come nel caso dei cosiddetti “androidi”, una parola che deriva dal greco e significa “simile all’uomo”, poiché sono costruiti con materiali simili ai tessuti umani e possiedono qualche forma di pensiero cosciente o persino capacità emotiva.
Bisogna però stare attenti a non cadere in visioni fantascientifiche di questi robot come spesso siamo portati a fare da una serie illimitata di produzioni cinematografiche che stuzzicano fin dal lontano 1897 (data del primo film in cui si parla di robot – Gugusse et l’automation) la fantasia delle persone.
Ai nostri giorni la parola “robot” è identificabile nell’ambito dell’industria moderna che, attraverso l’uso di queste particolari macchine, è riuscita a ridurre il tempo e le difficoltà fisiche per la creazione di tutti quei beni che per l’uomo odierno sono indispensabili: automobili, lavatrici, frigoriferi e tutti gli elettrodomestici e le comodità che ci circondano. Sull’utilità di questi prodotti ormai è difficile dubitare, ma bisogna analizzare attentamente sia gli aspetti positivi senza tralasciare quelli negativi, che sono riscontrabili nella storia dai non troppo lontani anni ’50, gli anni che sono caratterizzati dalla ricostruzione post bellica.
La voglia di approfondire questo tema è nata dalla partecipazione al progetto MiniRobot 2008 che si è svolto durante l’anno scolastico. Il MiniRobot è una competizione organizzata dalla residenza universitaria Alcantara di Catania in collaborazione con il DIEES (Dipartimento di Ingegneria Elettrica, Elettronica e dei Sistemi), “che mira a suscitare e sviluppare l’interesse del grande pubblico verso la robotica e avvicinare i giovani al mondo della scienza e della tecnologia”.
Estratto del documento

P1 P2 P3 P4 P5

sequenzialità

P3 P6

Scambio

P1 P2 P8

P5

messaggi P7

P4

concorrenza

Si può parlare di concorrenza nel caso di:

parallelismo reale di esecuzione (nel caso di sistemi

 multiprocessore dove si possono eseguire parallelamente un

numero di processi pari al numero di processori)

parallelismo virtuale di esecuzione (come nel caso del

 pipelining).

Multi-thread

Nel caso specifico della programmazione dell’NXT si parla di una tecnica

di programmazione multi-thread che permette di avere più flussi di

(thread)

esecuzione contemporanei di uno stesso programma, in

esecuzione su CPU differenti o sulla stessa.

In pratica, i threads sono processi dotati di un proprio stack, ma che

possono condividere variabili globali, essendo stati collegati nell'ambito

della stessa operazione di linking .

4

4 Il Linking (collegamento) è il procedimento di integrazione dei vari moduli a cui un

programma fa riferimento (i quali possono essere sottoprogrammi o librerie), per creare una

11

Il multithreading permette di suddividere il lavoro a più processori in

modo efficiente, ma introduce una notevole complessità che può essere

sincronizzazione

spesso difficile da gestire. Il problema maggiore è la tra i

vari thread: spesso un thread ha bisogno dei risultati di un altro, oppure

deve sovrascrivere i dati di un altro ma non prima di un dato momento.

I sistemi operativi moderni permettono l'esecuzione contemporanea

(quasi!!) di più applicazioni e per questo vengono detti Multitask. Una

applicazione può quindi essere eseguita contemporaneamente ad

un'altra (per esempio quando navighiamo su internet e

contemporaneamente controlliamo la posta, oppure ricerchiamo un file

sul disco). Durante la sua esecuzione, una applicazione deve bloccare

completamente l'esecuzione quando aspetta che terminino processi lenti

come l'accesso ai dischi o la comunicazione con altri computer. Molte

volte le applicazioni possono essere organizzate in maniera tale da

ovviare a questi colli di bottiglia o in maniera da suddividere la loro

esecuzione in più processi, magari ripartiti su più processori in sistemi

multiprocessore. Ecco che in alcuni dei moderni sistemi operativi ci

vengono in contro i Thread. In questo caso avremo a che fare con

sistemi operativi multithread. La differenza tra questi due tipi di

sistema operativo sta nel fatto che nel primo tipo, l'unità elementare di

esecuzione è il task (processo), mentre nel secondo è il thread. I task

sono processi dotati di un contesto proprio che comprende anche aree di

memoria proprie. Ogni task è ottenuto da una separata operazione di

collegamento (linking). Ogni task può consistere di più thread. La

creazione di un nuovo thread non richiede l'impiego di grandi risorse di

sistema al contrario della creazione di un nuovo task.

Per Esempio: linker link editor)

singola unità eseguibile. Il (o è un programma che prende uno o più oggetti

generati dai compilatori e li assembla in un unico programma eseguibile.

12 In questo esempio di codice NXC (not

Boolean a=0; exactly C - il linguaggio simile al C

thread muoviti() { utilizzato per la programmazione del

OnFwd(OUT_BC, 50); robot NXT) viene mostrato un esempio

} di programma multi-thread.

Il thread “muoviti” include una

thread controllosensore() { semplice istruzione che indica al robot

SetSensorLowspeed(IN_4); di utilizzare le uscite B e C dei motori

While(a==0) per andare dritto al 50% della potenza

{ massima.

If (SensorUS(IN_4)<30) Il thread “controllosensore” invece

{ imposta l’ingresso 4 per l’uso del

a=1; sensore a ultrasuoni (che rileva la

} distanza dagli oggetti) e poi, attraverso

} un ciclo while, controlla il valore di

Off(OUT_BC); ritorno del sensore (la distanza

Exit(); dall’oggetto rilevato espressa in

} centimetri) e comanda al robot di

fermarsi nel momento in cui vede un

ostacolo a distanza minore di 30 cm.

task main() {

Precedes (vaidritto, controllosensore); Nel task principale l’unica istruzione

} indica di eseguire

contemporaneamente i due thread

scritti precedentemente.

In questo esempio quindi, mentre il robot si muove eseguendo un

processo (o fa qualunque altra operazione), ne convive un altro che nello

stesso momento effettua un controllo e in caso positivo interrompe

l’esecuzione di tutto il programma. Quindi il task è il programma che

viene mandato in esecuzione, poi spetterà al processore riconoscere i

vari thread che costituiscono il task e assegnare loro un tempo di

esecuzione. 13

Come detto in precedenza una delle altre caratteristiche fondamentali

del robot NXT è quella di poter comunicare tramite Bluetooth. Questa

importanza è data dalla capacità che gli da di comunicare, oltre che con

il pc, con gli altri robot della stessa categoria (Lego Mindstorm NXT). Ciò

permette di mandare messaggi tra un robot e l’altro o di sincronizzare

due “cervelli” NXT, con un parallelismo che garantisce il doppio delle

porte disponibili da sfruttare per tutte le apparecchiature esterne.

Un’altra possibilità che da questa tecnologia è quella di controllare i

movimenti del robot remotamente attraverso un altro dispositivo

portatile dotato di Bluetooth quale uno smartphone o un palmare. La

specifica Bluetooth è stata sviluppata da Ericsson e in seguito

formalizzata dalla Bluetooth Special Interest Group (SIG). SIG, la cui

costituzione è stata formalmente annunciata il 20 maggio 1999, è

un'associazione formata da Sony Ericsson, IBM, Intel, Toshiba, Nokia e

altre società che si sono aggiunte come associate o come membri

aggiunti. Adesso, insieme a tutte la altre tecnologie Wireless, è utilizzata

moltissimo sia in ambito industriale che domestico per dare un definitivo

addio all’utilizzo di ingombranti e fastidiosi cavi.

Il Bluetooth

Lo scopo principale della nascita della tecnologia bluetooth risiede nella

capacità di far dialogare e interagire fra loro dispositivi diversi (telefoni,

stampanti, notebook, PDA, impianti HiFi, tv,computer, PC, cellulari,

elettrodomestici, device, etc ) senza la necessità di collegamenti via

cavo, ciò che va sotto il nome di wireless. In un sistema wireless la

trasmissione avviene principalmente via radiofrequenza (RF) o via

infrarosso (IR).

Il nome Bluetooth, deriva dal soprannome di un famoso condottiero

scandinavo, re di Danimarca del medioevo, Harald Blatand o Harold

Bluetooth in inglese che conquistò la Norvegia. Il logo della tecnologia

unisce infatti le rune nordiche (Hagall) e (Berkanan), analoghe alle

moderne H e B

Wireless consente in un ufficio, in una casa di far dialogare tra loro tutti i

dispositivi elettronici presenti. Lo scambio di informazione fra gli

strumenti avviene attraverso onde radio, eliminando qualsiasi tipo di

connessione fisica tra dispositivi. Per fare ciò ciascun dispositivo deve

14

possedere all'interno di un chip, integrato, in grado di trasmettere e

ricevere informazioni nell'etere.

La tecnologia Bluetooth è specificatamente progettata per realizzare

la comunicazione senza fili per apparecchi di piccole dimensioni. Il

concetto chiave ispiratore di questa tecnologia è quello di eliminare

completamente i cavi necessari alla comunicazione fra apparecchi, come

abbiamo visto.

Tutte le apparecchiature bluetooth predisposte in un ambiente di lavoro

sono nella condizione di generare piccoli network ( reti ) senza fili.

Diversamente da una lan i dispositivi interconnessi non si limitano ai

computer ma ad altri diversificati apparecchi elettronici come

cellulari,cuffie,proiettori, scanner, videocamere, fotocamere,

elettrodomestici vari. Questi collegamenti senza fili sono effettuati

usando un ricetrasmettitore che opera nella frequenza di 2,4 GHz,

frequenza assegnata per usi industriali. Le frequenze utilizzate variano

da paese a paese, in relazione alle normative nazionali.

Questi piccoli network wireless sono generalmente chiamati piconet. Un

piconet è costituito da due o più periferiche che condividono un canale di

comunicazione utilizzando Bluetooth , fino ad un massimo di 8

dispositivi. Il sistema di comunicazione bluetooth è progettato per

funzionare anche in ambienti con forte presenza di interferenze, ciò che

va sotto il nome di elettrosmog, ciò per assicurare collegamenti sempre

efficienti e affidabili. E' possibile ad esempio ascoltare musica dell'

impianto stereo o della Tv tramite la cuffia senza fili anche se ci sono

altre apparecchiature che mandano segnali elettromagnetici, come

15

cellulari, router wireless, o oggetti, ostacoli interposti, cosa impossibile

con le cuffie a raggi infrarossi (tecnologia Irda).

La velocità di comunicazione è prossima ad 1 Mbps anche con piccole

potenze nell'ordine di alcuni mW.

In relazione alla potenza i dispositivi Bluetooth vengono distinti in classi,

classe 1, 2, 3, generalmente un notebook implementa un terminale

bluetooth in classe 2 con raggio d'azione di diversi metri.

Lo standard Bluetooth consente di creare delle Wpan (Wireless personal

area networks)con diversi nuovi servizi. quelle che vengono definite

"reti wireless individuali", ossia gruppi di dispositivi differenti tra loro

collegati per soddisfare le esigenze del singolo. Bluetooth permette

infatti di gestire sia i dati sia la voce, utilizzando una trasmissione a

pacchetto su rete radio per i dati e una modalità connection-oriented per

la voce.

Gli elementi base di un sistema Bluetooth sono l' RU( unità radio) e l' BU

( unità base).

I dispositivi comunicano tra loro in modo dinamico, la picorete si

configura automaticamente quando si inserisce o si elimina un

dispositivo. A loro volta più picoreti possono interconnettersi tra loro

aumentando le possibilità di espansione. Ciò permette, ad esempio, di

16

sincronizzare i dati di un Pc portatile e un Pda semplicemente

avvicinando i due apparecchi, oppure di passare automaticamente al

vivavoce quando si entra in auto parlando al cellulare. Tutto questo è

possibile grazie al "service discovery protocol" ( SDP )che permette ad

un dispositivo Bluetooth di determinare quali sono i servizi che gli altri

apparecchi presenti nella picorete mettono a disposizione. Ogni

apparecchio dispone delle informazioni relative ai servizi di cui è capace

e dei protocolli supportati.

In un collegamento tutti gli apparecchi Bluetooth connessi sono

generalmente in modalità standby, cioè di attesa, seguendo un ciclo di

scansione ad intervalli di tempo di 1,28 secondi al fine di verificare la

presenza di eventuali altri dispositivi; in tale modalità tutti i dispositivi

bluetooth sono a basso consumo energetico. La scansione effettuata può

essere di due tipi : PS ( Page Scan ) e IS ( Inquiry Scan ).

La scansione PS consente la ricerca di un collegamento con un altro

connectable non-

apparecchio Bleutooth, che può risultare in modalità o

connectable. La scansione IS simile alla precedente, permette di

identificare la tipologia di apparecchi disponibili nella picorete, e di

approntare i necessari protocolli per il collegamento. Un comando inquiry

viene emesso quando l'indirizzo o il numero di identificazione di un

dispositivo non è conosciuto, successivamente al riconoscimento seguirà

un comando page che servirà per risvegliare l'altra unità e stabilire così

una connessione completa tra i dispositivi.

17

I risultati di una scansione sono : A ( Active ) la connessione è attiva

può avvenire la trasmissione e la ricezione dati, H ( Hold ) può svolgere

operazioni IS e PS con basso consumo energetico , S ( Sniff) riduzione del

carico di lavoro in modalità di ascolto della piconet, P ( Park) modalità di

attesa rimanendo sincronizzato alla piconet.

Come abbiamo visto la tecnologia Bluetooth opera nella gamma di

frequenza dai 2,4 ai 2,483 Ghz, suddivisa in canali da 1 Mhz impiegando

Frequency Hopping Spread Spectrum,

la tecnica FHSS*.( tecnologia che

consente a più utenti di condividere lo stesso insieme di frequenze,

cambiando automaticamente la frequenza di trasmissione fino a 1600

volte al secondo, al fine di una maggiore stabilità di connessione e di una

riduzione delle interferenze tra canali di trasmissione).

18

La comunicazione viene gestita dall'unità master tramite FHSS

Dettagli
Publisher
44 pagine
771 download