Robotica

Da Wikipedia, l'enciclopedia libera.

La robotica è la disciplina dell'ingegneria che studia e sviluppa metodi che permettano a un robot di eseguire dei compiti specifici riproducendo il lavoro umano. Anche se la robotica è una branca dell'ingegneria - più precisamente della meccatronica - in essa confluiscono approcci di molte discipline sia di natura umanistica, come linguistica e psicologia, che scientifica: biologia, fisiologia, automazione, elettronica, fisica, informatica, matematica e meccanica.

Origini del termine[modifica | modifica wikitesto]

La parola robotica proviene dal ceco robota, dove ha il significato di "lavoro pesante" o "lavoro forzato". Questo termine è stato introdotto dallo scrittore ceco Karel Čapek, nel 1920 nel suo racconto R.U.R. (Rossum's Universal Robots).[1] Il termine inglese derivato robotics, secondo l'Oxford English Dictionary, compare per la prima volta in un racconto di fantascienza dello scrittore Isaac Asimov intitolato Bugiardo! (Liar!, 1941) sempre ad Asimov si deve anche l'invenzione delle famose Tre Leggi della Robotica enunciate interamente nel racconto Circolo vizioso (Runaround, 1942); entrambi i racconti fanno parte dell'antologia Io, Robot.

Campi di utilizzo[modifica | modifica wikitesto]

La scienza robotica proprio in virtù della sua natura interdisciplinare trova applicazioni in molteplici contesti, questo ha fatto sì che nascessero varie sotto-discipline fra le quali però raramente esiste una netta linea di demarcazione.

  • Arte robotica robotica utilizzata sia per creare nuove forme di espressione artistica sia per imitare e riprodurre le forme artistiche già esistenti come i robot progettati per dipingere o per suonare uno strumento musicale analizzando in tempo reale uno spartito.
  • Domotica automazione applicata all'ambiente domestico, tra gli sviluppi a breve termine più interessanti ci sono le tecnologie di aiuto in casa ai portatori di handicap mentali o fisici.
  • Microrobotica si occupa dello studio e della diffusione di piccoli robot a basso costo utilizzati per scopi educativi o ludici.
  • Robotica biomedica ramo della robotica molto vasto che comprende diversi tipi di robot; si va infatti dai robot capaci di assistere il chirurgo durante le operazioni alla radioterapia robotica, alla robotica che tramite tecnologie di telepresenza permette al chirurgo di operare a distanza. Rientrano nella categoria anche le sofisticate apparecchiature per analisi biologiche utilizzate nei laboratori.
  • Robotica degli sciami.
  • Robotica di intrattenimento si occupa delle tecnologie utilizzate nei parchi tematici, nei musei o negli effetti speciali cinematografici per intrattenere ed educare grandi quantità di pubblico; un esempio di utilizzo sono gli audioanimatroni spesso utilizzati per riprodurre le fattezze di personaggi fantastici o di specie animali oggi estinte come i dinosauri.
  • Robotica evoluzionistica metodologia che attraverso lo studio di algoritmi evolutivi tenta di realizzare robot sempre più versatili in modo da rendere meno essenziale il supporto umano.
  • Robotica industriale il campo industriale è sicuramente quello in cui i robot hanno trovato maggiore diffusione: il loro impiego nelle catene di montaggio ha permesso alle aziende di abbattere notevolmente i costi accelerando e migliorando la produzione. Fra i robot più utilizzati dall'industria vi è il braccio robotico o robot manipolatore, costruito a imitazione del braccio umano ma spesso dotato di più gradi di libertà: è una macchina molto versatile che si presta a svariate mansioni tra cui verniciatura, saldatura o montaggio. Interessante notare come questa tipologia di macchine sia spesso utilizzata per produrre altri robot simili rendendo le speculazioni fatte dalla fantascienza sulle macchine autoreplicanti un discorso molto più vicino alla nostra quotidianità.
  • Robotica marina Si tratta di una branca in via di espansione per le numerose applicazioni di tipo industriale (principalmente legate al settore petrolifero), scientifico, archeologico e militare.
  • Robotica militare anche se la fantascienza è ricca di riferimenti a robot utilizzati in ambito militare nel pratico questi sono utilizzati più che altro con scopi di ricognizione e vigilanza fra i quali troviamo ad esempio gli aerei privi di equipaggio detti droni. Questo tipo di veicoli è sì controllato a distanza da personale apposito ma in caso di emergenza può anche compiere diversi compiti in totale autonomia permettendo la ricognizione di teatri di guerra pesantemente difesi senza mettere a repentaglio vite umane. Altro esempio di robotica militare sono i robot artificieri che sono in grado, grazie al numeroso set di strumenti di cui sono muniti, di compiere analisi su un ordigno esplosivo ed eventualmente neutralizzarlo a distanza riducendo drasticamente i rischi per gli artificieri.
  • Robotica sociale cerca di sviluppare tecnologie che rendano i robot sempre più capaci di interagire e comunicare con gli esseri umani in modo autonomo.
  • Robotica spaziale anche se sviluppa tecnologie e metodiche destinate all'impiego di robot fuori dall'atmosfera terrestre questo settore della robotica ha raggiunto dei risultati utili anche in campi che esulano dalla ricerca spaziale. Esempi di questi robot sono le sonde esplorative impiegate in diverse missioni sui pianeti del sistema solare ma anche robot più tradizionali come il famoso braccio manipolatore dello Space Shuttle o quello di sembianze umane destinato alla ISS che verrà utilizzato in sostituzione degli astronauti nelle attività extraveicolari.
  • Robotica umanoide.
  • Telerobotica.
  • Competizioni robotiche.

Modellistica[modifica | modifica wikitesto]

La realizzazione di un qualsiasi compito da parte di un robot è subordinata all'esecuzione di un movimento specifico che necessita di essere pianificato. L'esecuzione corretta di tale movimento è affidata a un'unità di controllo, che invia un insieme opportuno di comandi sulla base del tipo di moto desiderato. Un sistema robotico presenta una struttura meccanica articolata, ed è fondamentale schematizzarne il comportamento mediante un modello matematico che individui i legami di causa-effetto tra gli organi costituenti.

Analisi cinematica[modifica | modifica wikitesto]

L'analisi cinematica di un robot concerne la descrizione del suo moto prescindendo dalle considerazioni sulle forze e i momenti che lo provocano. Essa si divide in:

L'individuazione di tali legami consente di formulare il problema cinematico inverso, che consiste nel ricavare i valori da attribuire ai parametri interni del robot per inseguire una determinata specifica di moto.

Analisi dinamica[modifica | modifica wikitesto]

Modellare la dinamica di un robot è indispensabile per progettarne il sistema di controllo. Di fatto il moto di un sistema robotico è assicurato da un sistema di attuazione, che ha il compito di fornire la potenza necessaria ai compiti da svolgere trasformandola da una forma all'altra in base alle esigenze. Anche qui occorre distinguere tra dinamica e dinamica inversa: la prima si occupa del calcolo delle accelerazioni dei componenti del robot in funzione delle forze di attuazione, ed è utile in simulazione, la seconda ricerca metodi per effettuare l'operazione contraria.

Pianificazione[modifica | modifica wikitesto]

Un problema cruciale risiede nella specifica dei movimenti da imporre al robot per svolgere i compiti ad esso affidati. Compito della pianificazione di traiettorie è quello di generare leggi orarie per le variabili caratteristiche del sistema, partendo da una descrizione informale del tipo di moto che si vuole ottenere. In particolare bisogna evitare le collisioni con i possibili ostacoli presenti nell'ambiente di lavoro, attraverso strumenti di natura algoritmica quali i diagrammi di Voronoi o il metodo dei potenziali artificiali.

Controllo[modifica | modifica wikitesto]

Le traiettorie generate nella fase di pianificazione costituiscono l'ingresso di riferimento del sistema di controllo del robot. Quest'ultimo è un sistema di estrema complessità, e ogni suo modello risulta inadeguato a causa della presenza di numerosi effetti dinamici imprevisti, tra i quali gli attriti e gli accoppiamenti tra i componenti. È dunque necessario introdurre un certo numero di anelli di retroazione, senza i quali risulterebbe impossibile garantire il soddisfacimento dei requisiti di precisione desiderati. Affinché il robot possa monitorare istante per istante di quanto il suo comportamento si scosti da quello pianificato, deve essere dotato di sensori in grado di misurare grandezze quali posizione, velocità, forze scambiate con l'ambiente.

Sensori[modifica | modifica wikitesto]

I sensori si dividono in due grandi categorie:

  • Sensori propriocettivi: misurano variabili interne al robot(ad esempio la velocità delle ruote o il livello di alimentazione della batteria).
  • Sensori esterocettivi: misurano quantità esterne, come la distanza dagli ostacoli o la posizione degli oggetti sui quali svolgere un compito.

Encoder[modifica | modifica wikitesto]

Gli encoder sono sensori propriocettivi in grado di effettuare la trasduzione della posizione angolare del robot. Rivestono un ruolo essenziale nell'ambito della robotica industriale. Ne esistono due tipologie.

  • L'encoder assoluto è un disco di vetro ottico sul quale sono presenti delle tracce concentriche. Ciascuna traccia è caratterizzata da una sequenza di settori opachi e trasparenti. Sulla base dell'alternanza di tali settori, sfruttando un raggio di luce captato da un fototransistor, è possibile individuare univocamente una stringa di bit che esprime in forma digitale lo spostamento angolare dei giunti.
  • L'encoder incrementale riporta due tracce i cui settori opachi e trasparenti sono in quadratura tra loro. Consente di ricavare, oltre alla posizione angolare, anche il verso della rotazione effettuata.

Distanza[modifica | modifica wikitesto]

Tra i sensori in grado di valutare la distanza degli oggetti nelle vicinanze vi sono i SONAR, che utilizzano impulsi acustici dei quali viene misurato il tempo di volo sensore-ostacolo-sensore. Conoscendo la velocità di propagazione del suono è possibile calcolare la distanza dall'ostacolo. Nelle applicazioni di robotica sottomarina e negli ambienti con scarsa visibilità sono spesso l'unica soluzione attuabile. Un'ulteriore possibilità è costituita dal LASER, la cui efficacia è però limitata dal minimo intervallo di tempo osservabile (l'elevatissimo valore della velocità della luce rende il tempo di volo generalmente impercettibile).

Visione[modifica | modifica wikitesto]

Un altro strumento utile al robot per orientarsi nell'ambiente in cui opera è la telecamera. Essa sfrutta l'intensità luminosa riflessa dagli oggetti per ricostruirne l'aspetto. Conoscendo i parametri caratteristici della lente è possibile risalire dalla rappresentazione dell'oggetto nel piano immagine alle sue dimensioni reali e alla sua distanza. Spesso i robot impiegano un sistema di telecamere multiplo che consente di valutare la profondità dell'ambiente.

Attuazione[modifica | modifica wikitesto]

Sulla base dell'errore di inseguimento tra i riferimenti e i valori misurati delle grandezze di interesse del robot, il controllore del sistema deve effettuare un'azione correttiva volta a modificare i parametri correnti del moto della struttura. A tale scopo occorrerà amplificare o ridurre la potenza fornita ai motori del robot, che si occupano di convertire l'energia ricevuta dalla fonte di alimentazione in energia meccanica. Ne esistono varie tipologie:

Architettura software[modifica | modifica wikitesto]

L'unità di controllo di un sistema robotico ha il compito di gestire le operazioni che devono essere effettuate sulla base di un modello interno del robot e dei dati forniti dai sensori. Per ottenere un'organizzazione flessibile in grado di separare le attività ad alto livello da quelle più elementari, è opportuno che l'architettura di controllo sia ripartita in livelli gerarchici. In particolare, sul gradino più alto vi è la decomposizione del compito da svolgere in attività ad un elevato grado di astrazione, mentre alla base della piramide vi sono gli algoritmi che determinano i segnali forniti ai motori. Ciascun livello invia il risultato della propria computazione al livello sottostante, dal quale è retroattivamente influenzato.

Programmazione[modifica | modifica wikitesto]

Vi sono tre approcci principali alla programmazione di un robot.

  • Teaching-by-showing: il robot viene guidato lungo un percorso e apprende le posizioni raggiunte grazie ai sensori; in seguito, si limita a replicare quella sequenza di posizioni;
  • Robot-oriented: vi è un linguaggio di programmazione ad alto livello con strutture dati complesse, variabili, routine;
  • Object-oriented: come sopra, solo che il linguaggio è orientato agli oggetti.

Note[modifica | modifica wikitesto]

  1. ^ Arduino, p. 562

Bibliografia[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

ingegneria Portale Ingegneria: accedi alle voci di Wikipedia che trattano di ingegneria