I riassunti , gli appunti i testi contenuti nel nostro sito sono messi a disposizione gratuitamente con finalità illustrative didattiche, scientifiche, a carattere sociale, civile e culturale a tutti i possibili interessati secondo il concetto del fair use e con l' obiettivo del rispetto della direttiva europea 2001/29/CE e dell' art. 70 della legge 633/1941 sul diritto d'autore
Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).
La robotica costituisce una sfida interessante per l’Intelligenza Artificiale sia perché necessita di hardware funzionante nella pratica, sia perché il robot deve funzionare nel mondo reale e non in mondi software simulati.
Definiamo robot un agente artificiale attivo il cui ambiente è il mondo reale.
Quindi non tratteremo più con agenti software o softbots, ma con robot agenti nel mondo reale, in particolare con robot autonomi, che prendono decisioni guidati dagli stimoli provenienti dai loro sensori.
Agenti pianificatori o decisori dotati di attuatori non funzionerebbero nel mondo reale, perché esso è:
UTILITA’ DEI ROBOT
Un campo applicativo tradizionale per i robot è l’industria manifatturiera. Nel 1954 Devol progettò il primo braccio robotico programmabile a schede perforate, come il telaio Jacquard.
Nel 1985 c’erano nel mondo 180000 robot nelle linee di produzione, nel 2000 più di un milione, specie nelle industrie automobilistiche e di microelettronica.
I robot industriali in genere non sono autonomi e operano in un mondo ristretto. Tuttavia per problemi semplici l’ideale sono macchine semplici.
Altro campo di applicazione è la manipolazione dei materiali, per stoccaggio, trasporto e consegna di piccoli e grandi materiali.
Si va da piccoli manipolatori da tavolo alle gru delle piattaforme spaziali. In questo campo ci sono anche robot autonomi (come i veicoli che trasportano materiali all’interno delle fabbriche), per arrivare ai robot super avanzati spediti sui pianeti del sistema solare.
Per i manipolatori, ogni componente viene messa su una paletta dotata di codice a barre, che la rende facile da identificare. L’impacchettamento e la manipolazione di cibo sono più complesse ma costituiscono un ambito di grande interesse futuro.
Nell’industria edile ci sono robot in grado di spostare tonnellate con precisione millimetrica.
In Australia vengono utilizzati per la tosatura delle pecore. Le pecore sono tutte diverse, e sensibili sensori tattili in controreazione permettono di non ferirle.
Robot mobili (mobots) vengono utilizzati come fattorini in grandi edifici come ospedali. Possono passare per corridoi e ascensori ed evitare ostacoli. Il robot è disponibile 24 ore al giorno, altamente affidabile e si può monitorare nei suoi spostamenti.
Ci sono veicoli autonomi che guidano in autostrada e veicoli sottomarini, molto meno cari delle persone: possono resistere mesi e compiere esplorazioni scientifiche o riparare cavi sottomarini.
Infatti un uso importante dei robot è la riduzione dei rischi per l’uomo in ambienti pericolosi.
Durante la bonifica di Chernobyl diversi robot esploratori lunari vennero convertiti in veicoli pulitori controllati a distanza.
In Giappone e Francia vengono comunemente adottati per operazioni di routine in impianti nucleari.
Altri usi sono all’interno di edifici pericolanti, in presenza di fumi tossici, incendi, radiazioni, per esplorazione, sminamento, manipolazione di materiale biologicamente pericoloso.
A New York la polizia usa robot teleguidati per migliaia di allarmi bomba.
Dove l’ambiente è troppo lontano per una comunicazione efficiente, come su Marte, l’autonomia è fondamentale.
Inoltre un robot deve poter lavorare su terreni molto accidentati senza ribaltarsi, in assenza di luce ed evitare di arrecare pericolo.
L’incremento delle tecniche di realtà virtuale viene utilizzato per costruire modelli di ambienti ed edifici ed esaminarli dall’interno.
Medici possono visitare pazienti lontani, chirurghi operare vedendo l’interno del corpo senza aprirlo, attraverso un catetere.
Sono state costruite mani antropomorfe e guanti che indossati permettono di muoverle a distanza.
La simulazione della sensibilità tattile comporta algoritmi che trattano inerzia, sfregamento, elasticità, plasticità, ruvidità degli oggetti.
Molti progressi sono stati fatti anche per la duplicazione di attuattori umani danneggiati o persi: protesi bioniche sfruttano le stimolazioni elettriche ancora presenti all’estremità degli arti amputati, e le amplificano fino a muovere arti artificiali.
Alcune protesi hanno stimolatori elettrocutanei che danno il senso tattile.
Altre protesi danno percezioni aggiuntive tramite sensori artificiali: retine e coclee artificiali, o accompagnatori per non vedenti dotati di sensori ad ultrasuoni.
ATTUATORI
Un robot è composto da un corpo rigido, dotato di bracci rigidi che si incontrano in giunti. In questo senso le dita sono fatte di tre bracci, due per il pollice.
Alla fine dei bracci si trovano gli attuatori finali: ventose, pinze, cacciaviti, saldatori, spruzzatori di vernice, ecc.
Ogni robot è poi dotato di sensori: telecamere, sensori ad infrarosso, radar, sonar, accelerometri.
Un attuatore è qualunque dispositivo controllato dal robot che possa modificare l’ambiente.
L’attuatore deve comprendere un convertitore che tramuti i comando software in movimenti fisici: motori elettrici, cilindri idraulici o pneumatici.
Ogni convertitore che determina un singolo movimento dota il robot di un grado di libertà. Un giradischi ha 3 gradi di libertà: rotazione del disco, braccio che si alza e si abbassa, braccio che si sposta.
Gli attuatori vengono utilizzati per la locomozione del robot e per la manipolazione degli oggetti da parte del robot.
LOCOMOZIONE
La locomozione su gambe è un problema difficile che solo recentemente viene risolto in modo efficiente. Sono stati sviluppati robot staticamente stabili, ossia che si possono fermare in qualsiasi istante senza cadere, ma i più veloci sono solo dinamicamente stabili.
La locomozione più semplice è quella basata su ruote o superfici di contatto mobili.
Un autoveicolo ha tre gradi di libertà: due per la propria posizione x-y ed uno per la propria direzione, ma hanno solo due attuatori: motore e sterzo. Un autoveicolo con rimorchio ha 4 gradi di libertà e sempre solo due controllabili.
Un robot con questo tipo di locomozione è detto anolonomo, perchè ha un numero di gradi di libertà controllabili inferiore al numero di gradi di libertà. Se il numero di gradi di libertà controllabili è pari al numero di quelli non controllabili il robot è detto olonomo. I robot anolonomi sono più difficili da controllare.
Invece i robot olonomi hanno spesso rulli al posto delle ruote, allineati alla direzione del movimento.
I robot anolonomi vengono dotati di un meccanismo di rotazione su ruota libera o della possibilità di un raggio di curvatura e di un pianificatore di percorso, in genere composto da una linea retta che unisce archi di circonferenza.
Questi robot sono in grado di gestire movimenti complessi difficili per l’uomo, come la retromarcia in veicoli a più rimorchi , in uso ad esempio in aeroporto.
MANIPOLAZIONE
La maggior parte dei manipolatori permette o il movimento rotatorio intorno ad un perno fisso o il movimento prismatico (a pistone).
Un tipico manipolatore è mostrato in figura.
Si tratta di un sistema a sei giunti rotanti in sequenza. Un corpo libero nello spazio ha 6 gradi di libertà (tre per la posizione e tre per l’orientazione), dunque 6 è il numero minimo di giunti per posizionare arbitrariamente l’attuatore finale, che può essere un qualunque attrezzo.
Spesso l’industria manifatturiera utilizza attuatori a pinza a due o tre dita.
Recentemente sono state perfezionate mani antropomorfe a molti gradi di libertà.
Gli attuatori sono guidati da segnali elettrici (o radio se telecomandati). Alcuni accettano segnali acceso-spento, altri valori scalari (es. sinistra tre gradi). Alcuni ambienti di sviluppo forniscono librerie che consentono la specifica di azioni complesse.
SENSORI
Anche i robot devono essere dotati di propriocezione, ossia della capacità di conoscere la propria posizione. Codificatori all’interno dei giunti forniscono dati sul loro angolo ed estensione. Questo consente una precisione di movimento molto maggiore di quella umana, dell’ordine del micrometro, laddove l’uomo riesce a gestire i movimenti con l’accuratezza del centimetro.
Il cambiamento di posizione può essere valutato tramite odometria, ossia misura della rotazione delle ruote. A causa dello slittamento questa misura diviene inaccurata con l’aumentare della distanza. L’orientazione viene misurata con compassi magnetici o giroscopi, il cambiamento di velocità con accelerometri.
Molti compiti necessitano non solo della conoscenza della posizione, ma anche di sensori di forza. Ad es. rimuovere la vernice da un vetro richiede una precisione di un micron,e un errore comporta la rottura del vetro o la mancata asportazione della vernice. Altri compiti simili sono la scrittura, l’assemblaggio di parti fini, ecc.
I sensori di forza devono essere posti fra il manipolatore e l’attuatore per sentire forze e torsioni in sei direzioni e per mantenere il contatto ad una pressione fissa (movimenti ottemperanti).
Il senso tattile permette all’uomo di mantenere la giusta pressione sugli oggetti fragili in modo da afferrarli senza romperli. I sensori tattili in un robot forniscono l’informazione necessaria: utilizzano un materiale elastico e una misura di distorsione del materiale, fornendo i dati da un insieme di punti della superficie elastica. Vengono utilizzati algoritmi matematici simili a quelli adottati nella visione automatica.
I sensori tattili possono anche percepire le vibrazioni, in modo da sentire l’eventuale scivolamento dell’oggetto. Un servomeccanismo in controreazione può completare lo schema, impedendo la caduta allo stesso modo in cui reagisce un essere umano.
SONAR
Per evitare collisioni il robot viene ricoperto di una dozzina di sensori sonar, ognuno orientato in una direzione diversa.
Il sonar funziona misurando il tempo che intercorre fra l’emissione di un segnale sonoro dal sensore ed il suo ritorno, con frequenza dell’ordine di 50 KHz, ad più del doppio della soglia di udibilità (circa 20 KHz). Poichè la velocità del suono è di 330 m/s, il tempo di rilevazione ad un metro è 6 x 10-3 secondi, quindi molto efficace sulle brevi distanze.
Purtroppo il fascio emesso è ampio (circa 10 gradi), e la lunghezza d’onda lunga (circa 7 mm), il che rende impreciso lo strumento.
Gli oggetti lisci riflettono come specchi, quindi sono percepibili solo da sensori perpendicolari alla superficie. Se il suono così riflesso incontra un’altra superficie più ruvida, sarà questa ad essere rilevata generando un “fantasma”.
TELECAMERE
Per aiutare i sistemi di visione artificiale si possono aggiungere vincoli di dominio, in cui pareti e pavimenti sono valutati in modo geometrico.
L’ambiente può essere anche modificato aggiungendo codici a barre adesivi in vari punti raggiungibili dal robot, o sensori di luce strutturata: ad es. un fascio di luce verticale, se incontra un oggetto predefinito, fornisce un’immagine di forma specifica che può essere facilmente compresa.
Esistono a questo scopo anche sofisticati sistemi multisensore a fascio luminoso incrociato o parallelo che colpiscono l’oggetto con un laser da più direzioni e rilevano il fascio riflesso .
I rilevatori di distanza laser sono ormai strumenti precisissimi per la rilevazione delle distanze e vengono utilizzati come sensori di profondità aggiornabili svariate volte al secondo.
ARCHITETTURE ROBOTICHE
L’architettura di un robot definisce come viene organizzata la generazione delle azioni dalle percezioni.
Per robot autonomi in ambienti dinamici, la quantità di percezioni raccolte dal robot è enorme, ma va gestita velocemente.
I primi tentativi in questo senso risalgono agli anni 60 con Shakey, che però rivelò subito i limiti dell’approccio classico di pianificazione. I piani divenivano complessi nel mondo reale, e non funzionavano mai a causa della propagazione degli errori di misura e dello slittamento delle ruote.
Nuove versioni di Shakey comprendevano, accanto al pianificatore, programmi specializzati detti azioni di livello intermedio (ILA). Questi gestivano routine di basso livello per il controllo fisico del robot e la capacità di gestire gli errori.
Lo stato del mondo era espresso in logica del primo ordine, ma le ILA lo modificavano in base agli errori rilevati e alle nuove percezioni di posizione che venivano richiamate in caso di errore.
Il sistema di pianificazione era l’algoritmo STRIPS, un dimostratore automatico che generava sequenze di azioni e le compilava in macro-operatori utili per i problemi successivi.
Questa tecnica è stata poi perfezionata in tempi più recenti, migliorando sia il pianificatore simbolico che i componenti di controllo, arrivando a tempi di calcolo brevissimi e compatibili con il tempo reale.
In compiti di routine il robot è molto efficiente perchè richiama le macro compilate, mentre è più lento in situazioni insapettate.
Per migliorare l’efficienza sono stati progettati automi situati, ossia automi a stati finiti in cui gli ingressi sono forniti da sensori e le uscite sono legate agli attuatori. Tali automi sono stati sviluppati secondo due approcci:
Un teorema dimostra che ogni automa a stati finiti può essere realizzato con un registro di stato ed un circuito che aggiorna lo stato in base allo stato corrente ed agli ingressi dei sensori, oltre ad un altro circuito che calcola le uscite in base al registro di stato.
Questo tipo di robot basati su automi situati è ovviamente molto veloce.
Se il compilatore è incluso nel software del robot, questo può compilare da solo il proprio automa una volta assegnatogli un compito. In domini complessi però l’automa completo diventa troppo grande.
La rappresentazione degli stati del mondo, che è la parte più costosa dell’architettura, viene in questo modo evitata.
Questo approccio richiede comunque il progetto di nuovo controllore per ogni compito.
LO SPAZIO DELLE CONFIGURAZIONI
Il cuore del problema per l’architettura robotica classica è lo spazio degli stati, che descrive tutte le possibili configurazioni dell’ambiente ed il robot stesso. Ma poichè il robot vive in spazio degli stati continui, gli algoritmi classici sono impossibili da applicare essendo il numero di stati e di azioni infinito.
Parte del lavoro di pianificazione è dunque dedicato all’adattamento degli spazi degli stati .
Consideriamo un robot con k gradi di libertà, ad esempio k=6 angoli di giunti. Questi k valori sono un solo punto, facile da rappresentare, in uno stato a k dimensioni chiamato spazio delle configurazioni C.
Utilizziamo C per determinare se c’è un percorso fra due posizioni percorribile dal robot. Possiamo visualizzare in C i punti in cui il robot incontra ostacoli (spazio delle configurazioni ostacolo O). L’insieme differenza C – O è chiamato spazio libero F.
Diremo che il robot può muoversi liberamente fra due punti c1 e c2 se e solo se c’è un percorso fra c1 e c2 che ricade completamente in F.
Il braccio umano ha 7 gradi di libertà, quindi può raggiungere qualunque punto tenendo la mano in un punto ed evitando gli ostacoli, ad es. per arrampicarsi sugli alberi.
La pianificazione di assemblaggio comporta l’utilizzo di uno spazio delle configurazioni generalizzato, che comprende cioè anche la presenza di altri oggetti.
Lo spazio libero sarà quello che elimina le configurazioni per le quali il robot si sovrappone ad un oggetto, in cui l’oggetto è vincolato ad essere sul piano, su un altro oggetto o in mano al robot. Si possono prevedere anche posizioni legate allo scivolamento degli oggetti.
Alla fine lo spazio W navigabile dal robot viene detto foliazione, ossia una specie di libro in cui ogni pagina è uno spazio libero lievemente diverso, definito da posizioni lievemente diverse degli oggetti mobili.
I movimenti di transito sono possibili all’interno di qualsiasi pagina, ma non fra le pagine. I movimenti di trasferimento (in cui il robot muove altri oggetti) sono possibili attraverso le pagine.
Questa pianificazione è enormemente difficile. E’ possibile trattarla in questo modo:
E’ possibile generare sequenze di assemblaggio in tempo polinomiale se non si generano tutte le sequenze possibili o si vincolano i passi di assemblaggio.
In seguito viene descritto un pianificatore di questo tipo che tratta anche l’incertezza del controllo dei sensori, generando quindi non una singola traiettoria ma un inviluppo di possibili traiettorie.
PIANIFICAZIONE E NAVIGAZIONE
Gli algoritmi che trattano il modo di muoversi nello spazio delle configurazioni C si possono dividere in 5 classi principali:
Si costruisce un grafo delle adiacenze fra celle, si determina in quali celle giacciono posizione iniziale e obiettivo, e si cerca un cammino su questo grafo.
All’interno di ciascuna cella si calcola un cammino da un confine all’altro adiacente alla cella successiva.
La parte delicata è la decomposizione in celle, e spesso viene trattata adattivamente dall’algoritmo di pianificazione, creando celle più piccole intorno a zone critiche.
Questo algoritmo crea percorsi sicuri, ma non è completo perchè può non trovare il percorso.
La scheletrizzazione avviene creando una ragnatela con un numero finito di vertici. Percorsi interni allo scheletro vengono calcolati con il metodo di ricerca su grafi, permettendo un notevole risparmio di tempo rispetto alla ricerca su spazio libero.
La pianificazione di movimento fine pianifica movimenti piccoli e precisi per l’assemblaggio.
Il robot non conosce l’ambiente e non conosce accuratamente la propria posizione, ma ha una conoscenza parziale che include modelli espliciti dell’incertezza dei sensori e della forma dell’ambiente.
Un piano in questo modello consiste di una serie di movimenti controllati, ossia un comando di movimento ed una condizione di terminazione. Il robot è in grado di slittare quando si trova in rotta di collisione con un ostacolo, ed un sistema meccanico di smorzatori glielo consente. Le possibili traiettorie quindi sono molte, ma terminano tutte sull’obiettivo.
L’incertezza a proposito dell’ambiente (es. incertezza nella profondità di un foro da scorrere) può essere aggiunta come grado di libertà nello spazio delle configurazioni.
La complessità di questa pianificazione è molto alta.
Si assume che l’ambiente contenga marcatori (es. codici a barre) facilmente riconoscibili, che fungono da punti centrali di campi di influenza. All’interno di questi il robot si localizza esattamente. Se si trova al di fuori, non ha informazioni sulla propria posizione.
Quando gli viene comandato di muoversi, assumiamo che il movimento ricada in una regione che conosciamo. Si pianifica una strategia per il robot lavorando a ritroso a partire dall’obiettivo.
Con velocità comandata v e proiezione a ritroso, il robot raggiunge il disco che contiene l’obiettivo. La proiezione ha un’intersezione con il marcatore di territorio D1, e il robot sa autolocalizzarsi ed arrivare al punto obiettivo.
Continuando a ritroso, si raggiunge la regione di partenza.
E’ necessario ricercare fra molte possibilità, ma non c’è esplosione esponenziale perchè le proiezioni a ritroso hanno tutte la stessa forma.
Spesso i robot devono affrontare compiti ad alta precisione, come nell’assemblaggio elettronico.
E’ possibile produrre a questo scopo un piano condizionale che produca decisioni in tempo reale.
Questi algoritmi devono quindi essere semplici, e non potranno comprendere la conoscenza dell’ambiente. Il robot rileva con i sensori un confine quando ci finisce addosso, ha un sensore di posizione e conosce la posizione dell’obiettivo.
La strategia è la seguente:
Quasi sempre questo non è il percorso più breve, e a volte è molto svantaggioso se il robot si mette ad aggirare l’ostacolo dalla parte più lunga. Tuttavia il robot può lavorare senza conoscenza sull’ambiente.
Fonte: https://homes.di.unimi.it/pizzi/AIlezioni/ROBOTICA.doc
Sito web da visitare: https://homes.di.unimi.it/pizzi
Autore del testo: non indicato nel documento di origine
Il testo è di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente i loro testi per finalità illustrative e didattiche. Se siete gli autori del testo e siete interessati a richiedere la rimozione del testo o l'inserimento di altre informazioni inviateci un e-mail dopo le opportune verifiche soddisferemo la vostra richiesta nel più breve tempo possibile.
I riassunti , gli appunti i testi contenuti nel nostro sito sono messi a disposizione gratuitamente con finalità illustrative didattiche, scientifiche, a carattere sociale, civile e culturale a tutti i possibili interessati secondo il concetto del fair use e con l' obiettivo del rispetto della direttiva europea 2001/29/CE e dell' art. 70 della legge 633/1941 sul diritto d'autore
Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).
"Ciò che sappiamo è una goccia, ciò che ignoriamo un oceano!" Isaac Newton. Essendo impossibile tenere a mente l'enorme quantità di informazioni, l'importante è sapere dove ritrovare l'informazione quando questa serve. U. Eco
www.riassuntini.com dove ritrovare l'informazione quando questa serve