La Robotica (industriale)

U

Utente 16812

Ospite
INTRODUZIONE ALLA ROBOTICA INDUSTRIALE (parte prima)
-------------------------------------------------------------------

La parola "Robot" è di origine ceca ("robota" significa "lavoratore"); essa venne impiegata per la prima volta in un dramma utopico (a sfondo fantascientifico) del 1920 dello scrittore ceco Karel Capek (si pronuncia "Ciapek") e identificava degli umanoidi meccanici (in realtà inizialmente si trattava di "replicanti organici", simili a quelli visti in "Blade Runner") progettati dall'ingegnere Rossum per essere di ausilio all'uomo. In questa e in altre narrazioni i robot solitamente erano i protagonisti negativi in quanto si ponevano come antagonisti dell'uomo.
1623822650091.png
Nel 1942 lo scrittore americano Isaac Asimov modificò questa "visione negativa" dei robot, immaginando che gli androidi sarebbero stati costruiti per compiere un determinato lavoro.
A lui va riconosciuto il merito di aver fondato la "Robotica", sebbene in chiave puramente fantascientifica, come "scienza della progettazione e della costruzione di robot".
1623822945384.png
Nel racconto "The Caves of Steel" ("Abissi d'acciaio" in italiano) del 1953, Asimov immaginò che i robot dovessero incorporare, già in fase di progettazione, l'obbligo di sottostare alle tre leggi della robotica: 1) un robot non può causare danno ad un essere umano (prima legge della robotica); 2) un robot deve obbedire agli ordini di un essere umano a patto che tali ordini non contravvengano alla prima legge (seconda legge della robotica); 3) un robot deve proteggere la sua esistenza purché la difesa non contrasti con la prima e con la seconda legge (terza legge della robotica).
Dal 1961, anno in cui Unimation costruì (per la General Motors) il primo robot industriale chiamato "Unimate", ad oggi la robotica ha consentito un notevole salto qualitativo nel campo dell'automazione industriale.
1623823121627.png
Vediamo ora la definizione precisa di robot data dall'ISO, in seguito vedremo cosa intendo io per robot: un robot industriale è un manipolatore con vari gradi di libertà, automatico e riprogrammabile (cioè le sue funzioni possono essere modificate senza cambiare la struttura meccanica del sistema), multiscopo (ossia adatto a diverse applicazioni), fisso o mobile per uso in applicazioni di automazione industriale.
Personalmente preferisco utilizzare il termine più corretto di "automa", vale a dire che il robot è un automa "predisposto" a sostituire l'uomo in alcune lavorazioni di manipolazione con utensili, di montaggio, di controllo e di ispezione, dotato di memoria per l'immagazzinamento di istruzioni, programmabile secondo cicli ripetitivi su diversi assi di movimentazione e infine flessibile (in modo da eseguire differenti operazioni).
Pertanto, le caratteristiche salienti possedute da un robot sono le seguenti: 1) un robot deve essere idoneo ad eseguire compiti diversi; 2) un robot non ha bisogno del controllo da parte dell'uomo; 3) un robot è in grado di manipolare pezzi; 4) un robot può eseguire lavori pericolosi per l'uomo.
Della robotica industriale ho parlato anche qui:
A presto ?

P.S. Faccio presente che il termine "intelligente" applicato ai robot non ha nulla a che vedere col significato corrente, in questo contesto la terminologia corretta è "macchina adattativa" ?
 
Ultima modifica da un moderatore:
U

Utente 16812

Ospite
INTRODUZIONE ALLA ROBOTICA INDUSTRIALE (parte seconda)
----------------------------------------------------------------------

Prima di dare alcune importanti definizioni relative alla struttura meccanica di un robot, vorrei puntualizzare un paio di aspetti che ritengo interessanti: in primo luogo, i robot, pur essendo macchine flessibili, sono strutturati in modo diverso, in base alle mansioni a cui sono destinati e quindi non esistono (e probabilmente non esisteranno mai) "robot universali".
Se consideriamo, però, i soli "automi industriali", le differenze strutturali sono meno spiccate poiché, essendo essi manipolatori, essenzialmente operano tutti con un "braccio" e con una "mano".
In secondo luogo, gli automi sono sistemi "a retroazione" (feedback), vale a dire che operano ad "anello chiuso" (chi non sapesse di cosa sto parlando, vada a rileggersi i miei appunti di "Cibernetica", in questa stessa sezione); il feedback necessario "all'unità di governo" per la gestione del sistema è fornito da quelle grandezze rilevate tramite opportuni sensori, a sua volta l'unità di governo impartisce gli ordini al sistema di azionamento il quale, mediante degli attuatori, è in grado di muovere la struttura (che interagisce con l'ambiente esterno).
Passiamo ora ad elencare alcune definizioni: 1) la struttura a cui viene fissato il braccio si chiama "struttura portante" (support structure); 2) il "braccio" (arm) è una catena cinematica in grado di sostenere e muovere l'attuatore finale (può essere presente un "avambraccio", in tal caso il giunto si chiama "gomito"); 3) la "mano" (hand) rappresenta l'organo di presa; 4) la parte terminale del braccio viene chiamata "end effector" (attuatore finale); 5) il meccanismo designato per eseguire movimenti sia lineari che di rivoluzione si chiama "giunto" (joint); 6) ciascuna delle direzioni verso cui un punto può muoversi si chiama "grado di libertà" (in pratica definisce la posizione del punto).
Infine possiamo definire un "orientamento" (yaw, l'imbardata, la rotazione angolare del corpo verso destra o sinistra), "un'inclinazione" (pitch, il beccheggio, la rotazione angolare del corpo verso l'alto o il basso) e una "rotazione" (roll, il rollio, la rotazione della mano attorno all'asse del braccio).

1623496583244.png
 
Ultima modifica da un moderatore:
  • Mi piace
Reazioni: Unreal6777
U

Utente 16812

Ospite
TIPI DI GIUNTI
----------------

Un corpo rigido costituente la catena cinematica di un robot è chiamato "Link"; i link sono collegati tra loro mediante giunti (joint) meccanici di diverso tipo.
I giunti possono essere rotoidali (o rotazionali) e prismatici (o traslazionali):
1623562781221.png
Poi ci sono i giunti sferici e i giunti elicoidali:

1623563230720.png
1623563446066.png
A presto ?
 
Ultima modifica da un moderatore:
  • Mi piace
Reazioni: Unreal6777
U

Utente 16812

Ospite
GRADI DI LIBERTA'
--------------------

Il moto complessivo di un robot è scomponibile in una serie di moti elementari tra le coppie braccio-giunto, ciascuno dei quali implementa un "grado di libertà".
La somma dei vari gradi di libertà garantisce il raggiungimento del cosiddetto "spazio di lavoro" (o volume di lavoro) da parte del robot.
Ora, considerando una terna di riferimento xyz fissa e una terna di riferimento x'y'z' mobile, solidale con l'end-effector, in fase di lavorazione un robot deve innanzitutto "posizionare" l'utensile in un dato punto nello spazio e poi "orientare" l'utensile in modo arbitrario nello spazio.
Pertanto, i gradi di libertà necessari ad un robot per poter raggiungere un punto dello spazio di lavoro sono sei (non sono tutti necessari, dipende dal tipo di lavorazione, solitamente si cerca di limitarli allo stretto necessario per motivi di precisione) e precisamente: 1) tre gradi di libertà per il posizionamento dell'end-effector rispetto alla terna fissa xyz; 2) tre gradi di libertà per l'orientazione dell'end-effector rispetto alla terna mobile x'y'z' (attorno alla terna fissa).
1623739884316.png
A presto ?

P.S. Riguardo all'aspetto cinematico, si possono avere due tipi di configurazione: 1) robot a cinematica seriale, in cui i link sono connessi in serie a giunti che ne collegano al massimo due, in modo da formare una catena cinematica aperta; 2) robot a cinematica parallela, in cui all'interno della catena cinematica si configura un percorso chiuso.
Un robot a cinematica parallela è stato presentato qui da Fea: https://forum.tomshw.it/threads/hexapod-matematica.643744/ ?
 
  • Mi piace
Reazioni: Unreal6777
U

Utente 16812

Ospite
GEOMETRIE DI UN ROBOT
-----------------------------

Generalmente un robot è dotato di tre assi "principali" nel braccio e da uno a tre assi "addizionali" nel polso.
La classificazione più nota dei robot viene stilata in base al tipo di coordinate che individuano la posizione dell'end-effector per effetto dell'azionamento dei tre assi principali (è chiamata anche classificazione "cinematica").
Un robot si definisce "cartesiano" quando i suoi assi hanno un moto definibile mediante coordinate cartesiane, composte da tre segmenti perpendicolari che si intersecano nell'origine.
1623907933265.png
La struttura a giunti prismatici gli consente di ottenere una buona precisione.
Il robot "cilindrico" è dotato di un braccio orizzontale, che scorre su un asse verticale, montato su una struttura rotante.
1623908496910.png
Si tratta di una catena cinematica formata da due giunti prismatici (per le due traslazioni) e da uno rotante (per la rotazione).
Ciascun punto dello spazio di lavoro (formato da cilindri concentrici) è individuato da una coordinata angolare, una radiale e una verticale (rispetto al piano di riferimento).
Il robot "polare" (il robot Unimate era di questo tipo) è simile a quello cilindrico, con la differenza che allo spostamento verticale si sostituisce l'inclinazione del braccio.
1623909229129.png
La struttura meccanica è composta da due coppie rotoidali e da una coppia prismatica; essa può essere descritta secondo un sistema di coordinate polari. Lo spazio di lavoro è rappresentato da porzioni di sfera.
Infine i robot "articolati" (spesso definiti "antropomorfi" per la somiglianza con il braccio umano) sono dotati di giunti solo di tipo rotante.
1623910046506.png
Il braccio viene montato su una struttura rotante ed è formato da due giunti rotanti: la "spalla" e il "gomito".
Questo tipo di struttura, per così dire, "antropomorfa" consente un'ampia flessibilità e molteplici impieghi, per contro la sua programmazione risulta più complessa per cui è richiesto un sistema di governo più evoluto.
Tra i robot articolati ci sono anche quelli di tipo SCARA (Selective Compliance Assembly Robot Arm), concettualmente di costruzione piuttosto semplice, che possiamo considerare come una combinazione tra un robot articolato e uno cilindrico.
1623911293531.png
Ha una configurazione orizzontale, con due o tre giunti ("spalla", "gomito" e "polso") e un asse verticale, generalmente il suo spazio di lavoro è limitato per cui è adatto particolarmente per piccoli montaggi.
A presto ?
 
  • Mi piace
Reazioni: Unreal6777
U

Utente 16812

Ospite
COS'E' UNA TRASFORMAZIONE GEOMETRICA
--------------------------------------------------

Una trasformazione geometrica è una corrispondenza biunivoca che consente di associare a ciascun punto di un piano un altro punto del piano stesso. Si dice che una trasformazione geometrica è una funzione biiettiva del piano in sé.
Le proprietà di figure geometriche che in una trasformazione non cambiano si definiscono "invarianti" per quella trasformazione.
Ad esempio, in un omeomorfismo (dal greco "forma simile"), una particolare trasformazione "topologica", l'invariante è la "continuità" della figura (se su un palloncino si disegna una figura e poi lo si gonfia, la figura si deforma).
In una trasformazione "proiettiva", in cui i segmenti si trasformano in segmenti e le rette in rette, l'invariante che si conserva è la "convessità" della figura (si pensi all'ombra di un libro generata da una lampada).
In una trasformazione "affine" si conserva anche il parallelismo tra rette.
Le isometrie (la rotazione, la traslazione, la simmetria centrale e la simmetria assiale) descrivono i movimenti rigidi, ossia quei movimenti in cui le misure degli oggetti rimangono inalterate (in pratica la distanza tra i punti è l'invariante).
In natura esistono numerosi esempi di trasformazioni in formazioni che presentano simmetrie regolari (si pensi ai fiocchi di neve e alle felci). E' possibile, attraverso la rappresentazione "frattale", la "modellazione" di queste figure così ricorrenti.
In questo trattato considererò le "affinità", trasformazioni in cui non si hanno deformazioni (è sufficiente l'identificazione di alcuni vertici della figura).

TRASLAZIONE
---------------
Traslare un punto di coordinate P0(x0,y0) significa muoverlo lungo gli assi cartesiani xy di Dx e Dy unità, operazione che equivale ad una traslazione del riferimento cartesiano. Le coordinate del nuovo punto P1 sono x1=x0+Dx e y1=y0+Dy.
1624107065667.png
Adottando la notazione matriciale, più compatta, avremo che un punto è rappresentato da un vettore delle sue coordinate mentre il vettore degli spiazzamenti Dx e Dy costituisce la matrice di traslazione T.

Evidentemente avremo: P1=P0+T.


ROTAZIONE
-------------
Ruotare un punto P0(x0,y0) significa spostarlo di un certo angolo alpha, mantenendo inalterata la distanza rispetto all'origine.
Le coordinate del nuovo punto P1 rispetto al riferimento xy sono x1=x0*cos(alpha)-y0*sin(alpha) e y1=x0*sin(alpha)+y0*cos(alpha).
Con la rappresentazione matriciale avremo: P1=R*P0, in cui R è la matrice di rotazione.


ROTO-TRASLAZIONE
-----------------------
Avvalendoci delle matrici di traslazione e rotazione è possibile comporre i movimenti elementari traslatori e rotatori, concatenando le trasformazioni di base e coinvolgendo soltanto prodotti tra matrici (per motivi di semplicità matematica).
Si faccia attenzione al fatto che la composizione delle trasformazioni non è "commutativa", pertanto una traslazione seguita da una rotazione è diversa da una rotazione seguita da una traslazione: occorre necessariamente seguire l'ordine effettivo con cui avvengono le trasformazioni.
Premesso ciò, adopereremo le coordinate "omogenee", vale a dire che prenderemo in considerazione, sia per la rotazione che per la traslazione, matrici di dimensione 3x3, moltiplicabili tra loro.
Avremo le seguenti matrici R (la matrice di rotazione) e T (la matrice di traslazione) nella notazione in coordinate omogenee:

Come si nota dall'immagine in basso, dal punto di vista del risultato non cambia nulla, ponendo una terza riga di valore 1 nel vettore delle coordinate del punto.

A presto ?
 
U

Utente 16812

Ospite
I VETTORI
-----------

Le grandezze fisiche possono essere scalari o vettoriali; le grandezze vettoriali si identificano geometricamente attraverso un segmento orientato AB (nello spazio) avente alcune caratteristiche: 1) la direzione (la retta passante per i punti A e B; 2) il verso (sulla retta congiungente i due punti) che va da A a B oppure da B ad A; 3) la lunghezza (detta anche "modulo") che è la misura in valore assoluto del segmento AB rispetto all'unità di misura prefissata.
Di solito un vettore si indica con una lettera scritta in grassetto, ad esempio V. Si chiama versore un vettore di lunghezza unitaria; il versore che ha lo stesso verso e la stessa direzione del vettore V si indica con versV.
Due o più vettori che hanno la stessa direzione sono paralleli. Due vettori (V e -V) sono opposti se hanno la stessa direzione e la stessa lunghezza ma versi opposti.
Tre o più vettori sono complanari (ricordo che due vettori sono sempre complanari) se i loro rappresentanti sono paralleli ad uno stesso piano.
Due vettori V1 e V2 si possono sommare con la regola del parallelogramma: dati due vettori V1 e V2 applicati nello stesso punto, il vettore somma (detto anche "risultante") è dato dalla diagonale del parallelogramma che ha per lati i due vettori. E' possibile utilizzare anche il metodo "punta-coda", in cui il vettore V2 è applicato all'estremo del vettore V1, in pratica si fa coincidere la punta del primo vettore con la coda del secondo; la risultante si determina unendo la coda del primo vettore con la punta del secondo. La somma di due o più vettori gode della proprietà commutativa: V1+V2=V2+V1.
La somma di tre o più vettori gode della proprietà associativa: (V1+V2)+V3=V1+(V2+V3).
La differenza tra due vettori V1 e V2 si ottiene dalla somma di V1 e dell'opposto di V2, cioè V1-V2=V1+(-V2).
Il prodotto di un vettore V per un numero reale a è quel vettore che ha: 1) la stessa direzione di V; 2) il verso concorde con quello di V se a>0 o opposto a quello di V se a<0; 3) la lunghezza pari al prodotto a*V.
I vettori V e a*V sono sempre paralleli, ne consegue che un vettore si può scrivere nella forma V=V*versV.
Consideriamo ora n vettori V1, V2, ..., Vn; il vettore W=a1*V1+a2*V2+ ... + an*Vn è una "combinazione lineare" degli n vettori (i numeri reali a1, a2, ..., an sono i coefficienti della combinazione lineare).
Se esistono coefficienti a1, a2, ..., an non tutti nulli in modo che risulta a1*V1+a2*V2 + ... + an*Vn=0, si dice che gli n vettori sono "linearmente dipendenti", mentre se l'espressione è verificata solo se i coefficienti sono tutti nulli, gli n vettori sono "linearmente indipendenti".
Illustriamo ora brevemente la rappresentazione cartesiana di un vettore nello spazio. Consideriamo un sistema cartesiano ortogonale Oxyz e i tre versori "fondamentali" i, j, k, degli assi (che hanno la stessa direzione e lo stesso verso degli assi x, y, z rispettivamente).
1624367491291.png
In questo sistema di riferimento prendiamo un vettore arbitrario V (i tre versori i, j, k sono applicati nell'origine O) applicato in O. I quattro vettori V, i, j, k sono linearmente dipendenti (mentre i, j, k sono linearmente indipendenti) e quindi possiamo esprimere V come combinazione lineare di i, j, k.
Avremo V=Vx*i+Vy*j+Vz*k (in cui Vx, Vy e Vz sono le componenti di V), ovvero la rappresentazione cartesiana di V nello spazio.
Il prodotto scalare di due vettori V1*V2 (si legge "V1 scalare V2") è il valore reale dato dal prodotto delle lunghezze dei due vettori per il coseno del loro angolo (V1*V2=V1*V2*cos(V1V2), in cui V1V2 è l'angolo formato dai due vettori).
Il prodotto scalare gode delle proprietà commutativa e distributiva rispetto alla somma.
Il prodotto vettoriale di due vettori V1xV2 (si legge "V1 vettore V2") è quel vettore che ha lunghezza pari a V=V1*V2*sin(V1V2), direzione ortogonale a V1 e V2, verso tale che la rotazione che porta V1 su V2 sia antioraria (vista da V).
Il prodotto vettoriale gode della proprietà associativa con la moltiplicazione per uno scalare, della proprietà distributiva rispetto all'addizione e della proprietà alternante.
Infine la derivata di una funzione vettoriale V(t) è data dal limite del suo rapporto incrementale: lim DV/Dt per Dt --> 0, pari a (dV)/(dt). Valgono le consuete regole di derivazione riguardo alle normali operazioni tra vettori.
A presto ?

P.S. Non si confondano "i componenti di un vettore" con "le componenti di un vettore", fanno riferimento a due terminologie differenti: i componenti sono vettori veri e propri mentre le componenti di un vettore rappresentano grandezze scalari dotate di segno ☺️
 
Ultima modifica da un moderatore:
U

Utente 16812

Ospite
LE MATRICI
-------------

Spesso nella formulazione di problemi scientifici si perviene alla stesura di sistemi di equazioni piuttosto grandi che possiedono caratteristiche comuni tali da consentirne una rappresentazione matriciale, più compatta.
Una matrice è un raggruppamento ordinato di numeri, ad esempio (vedi immagine sotto):

Le n-ple di numeri in orizzontale sono le righe, le m-ple in verticale sono le colonne, quindi una matrice ha una rappresentazione rettangolare di dimensione n x m, ossia n righe e m colonne.
La moltiplicazione di due matrici A x B è possibile se il numero di colonne di A è uguale al numero di righe di B.
Il risultato sarà una matrice di dimensione n(A) x m(B), ad esempio (vedi immagine sotto):

In un prodotto tra matrici, per definizione, il coefficiente di riga i e colonna j della matrice risultato è dato dalla somma dei prodotti dei termini della riga i della matrice A per i termini della colonna j della matrice B.
Il prodotto di un vettore per una matrice dà come risultato ancora un vettore.
La regola che perviene al risultato è la stessa del prodotto tra due matrici (con l'ovvia differenza che in questo caso si ha una sola riga o una sola colonna del vettore) e si possono avere due diverse configurazioni: 1) un prodotto vettore x matrice (possibile se m(V) = n(A), con vettore risultato di dimensione m(R) = m(A)); 2) un prodotto matrice x vettore (possibile se m(A) = n(V), con vettore risultato di dimensione n(R) = n(A)).


A presto ?
 
U

Utente 16812

Ospite
RAPPRESENTAZIONI GRAFICHE DI UN ROBOT
--------------------------------------------------

Come abbiamo visto, la struttura meccanica di un automa è costituita da una catena cinematica aperta, composta da elementi solitamente posti in serie (il primo elemento è il basamento, l'ultimo è l'end-effector, diverso in base al tipo di applicazione).
Ciascun link è collegato al successivo per mezzo di giunti prismatici o rotoidali.
Per rappresentare la flessibilità che caratterizza un robot, secondo il volume di lavoro, il numero di gradi di libertà e così via, si fa ricorso ad alcune rappresentazioni grafiche come ad esempio le fotografie e i disegni tecnici delle diverse viste.
Questa è la fotografia del robot SMART della COMAU: 1624950710362.png
Di seguito il disegno tecnico dello SMART della COMAU con le specifiche relative al volume di lavoro e all'ingombro:
1624950944512.png
Gli schemi funzionali rappresentano modelli grafici atti a descrivere alcune funzionalità dell'automa, in base all'aspetto che si vuole considerare, e possono essere: 1) geometrici (evidenziano le posizioni dei singoli elementi); 2) cinematici (relativi al movimento dei link); 3) dinamici (al fine di definire la dinamica del sistema, ad es. per il calcolo della posizione dei baricentri, ecc.).
In base alla sequenza dei giunti che compongono la struttura, indicando con R il giunto rotoidale e con P il giunto prismatico, avremo le seguenti configurazioni: 1) manipolatore cartesiano PPP (tre giunti prismatici), 2) manipolatore cilindrico RPP (un giunto rotante e due prismatici); 3) manipolatore polare o sferico RRP (due giunti rotanti e uno prismatico); 4) manipolatore articolato RRR (tre giunti rotanti); 5) manipolatore SCARA PRR o RRP (le due rotazioni avvengono attorno ad assi paralleli).
 
U

Utente 16812

Ospite
RAPPRESENTAZIONE GEOMETRICA (ANGOLI DI EULERO)
--------------------------------------------------------------

Sappiamo che un punto nello spazio è caratterizzato da tre coordinate, mentre il moto di un corpo rigido viene descritto con sei coordinate, di cui tre definiscono lo spostamento di un suo punto (ad es. il baricentro) e le altre tre rappresentano le rotazioni rispetto alla terna di riferimento; pertanto la posizione di un corpo nello spazio, conoscendo la sua forma geometrica, è individuata da sei grandezze. Si dice che un corpo rigido si muove nello spazio con sei gradi di libertà.
Ora, le rotazioni rispetto alla terna di riferimento possono essere espresse per mezzo di uno strumento matematico, assumendo un secondo riferimento solidale col corpo rigido, chiamato "angoli di Eulero".
Il teorema di Eulero (del 1775) afferma che un qualsiasi spostamento di un corpo nello spazio, con un punto che permane fisso, equivale ad una rotazione del corpo attorno ad un asse che passa per il punto fisso.
1625034425077.png
Indicando con X0, Y0, Z0 e X1, Y1, Z1 le due terne di riferimento che hanno la stessa origine O e diverso orientamento, esiste sempre un asse di rotazione (quello rosso, in figura) con cui il primo sistema assume la stessa configurazione del secondo (in altre parole, una qualsiasi rotazione può essere espressa mediante tre rotazioni elementari attorno ad uno degli assi coordinati).
Il verso della rotazione è individuato tramite la regola della mano destra e ciascuna rotazione viene espressa da una matrice omogenea quadrata di ordine tre, chiamata "matrice di rotazione R".
Una rotazione, quindi, si scompone in tre matrici elementari, ad esempio potremo adottare la convenzione relativa alla seguente sequenza XYZ: 1) rotazione attorno all'asse X di un angolo phi; 2) rotazione attorno all'asse Y di un angolo theta; 3) rotazione attorno all'asse Z di un angolo psi.
Gli angoli phi, theta e psi vengono chiamati angoli di Eulero.
Un'altra convenzione comunemente utilizzata è quella che fa riferimento alla sequenza ZYZ, vale a dire: 1) rotazione attorno all'asse z di un angolo phi; 2) rotazione attorno all'asse y (corrente) di un angolo theta; 3) rotazione attorno all'asse z (corrente) di un angolo psi.
1625036408596.png
Questi tre angoli hanno una particolare denominazione: 1) phi è l'angolo di precessione (da 0 a 2*pi); 2) theta è l'angolo di nutazione; 3) psi è l'angolo di rotazione propria.
Matematicamente ciascuna di queste rotazioni è rappresentata da una matrice 3 x 3 di rotazione e la matrice relativa alla rotazione complessiva si ottiene moltiplicando le tre matrici elementari nell'ordine inverso.

P.S. Nella pratica per la descrizione di rotazioni nello spazio si utilizzano strumenti matematici più complessi, denominati "quaternioni di Hamilton", che in questo trattato non verranno illustrati.
 
U

Utente 16812

Ospite
Al fine di facilitare l'analisi di un robot, vengono utilizzate diverse terne di riferimento, tra cui la terna di coordinate della flangia (il polso) e la terna di riferimento dell'utensile, espressa rispetto al sistema della flangia e il cui punto di origine è denominato TCP (Tool Center Point - punto centrale dell'utensile).
Generalmente l'attività di un robot si esprime in termini di TCP e particolare rilevanza assume la posizione del punto centrale (l'orientamento dell'utensile è parimenti importante): per poter essere univocamente definita nello spazio, la posizione del TCP richiede 6 coordinate (tre traslazioni e tre rotazioni).
Ciò significa che un robot è in grado di "posizionare" e "orientare" totalmente l'end-effector solo se dispone di sei GDL (gradi di libertà); un numero di GDL inferiore a 6 non consente il posizionamento e l'orientamento completo dell'effettore mentre un numero di GDL superiore a 6 è definito "ridondante".
Ad esempio, un robot a tre GDL che deve posizionare il TCP in un punto del piano è ridondante poiché un punto nel piano è definito da due coordinate (la ridondanza è 3-2=1, ciò vuol dire che una coordinata è libera).
Vediamo ora come sono disposte alcune terne di riferimento: la terna fissa di base O-X-Y-Z (solidale col basamento del robot) è orientata in modo che il piano X-Y è quello a cui appartiene la piastra di montaggio della base mentre la terna di estremità Oe-Xe-Ye-Ze consente l'individuazione di un punto rispetto alla terna di base (per mezzo del vettore O-Oe).
Ciascun accoppiamento tra link e giunti è definito da un asse di rotazione o di traslazione, a cui si associa un moto.
A ciascun moto corrisponde un GDL, ne consegue che il numero di GDL è pari a quello degli accoppiamenti (Ng=Na).
Essendo Nl il numero totale di link del braccio, si ha Nl-1=Na=Ng.
1625493994514.png
 
U

Utente 16812

Ospite
INDIVIDUAZIONE DEI LINK (CONVENZIONE DI DENAVIT-HARTENBERG)
-------------------------------------------------------------------------------

Allo scopo di identificare univocamente gli elementi di un robot, è necessario definire una convenzione per la scelta delle terne di riferimento di ciascun link: qui prenderò in considerazione la convenzione di Denavit-Hartenberg.
1625637446340.png
Solitamente si indicano il telaio con il riferimento F ("frame") e i vari link col riferimento i.
Possiamo considerare valide le seguenti regole: 1) l'asse z(i) giace sull'asse del moto relativo tra l'elemento i e l'elemento (i-1); 2) l'asse x(i) è normale all'asse z(i-1) e all'asse z(i), con orientamento positivo dal giunto i al giunto (i+1); 3) l'asse y(i) costituisce il terzo elemento della terna cartesiana destrorsa (nell'immagine sopra la terna viene considerata levogira); 4) O(i) si individua all'intersezione dell'asse z(i) e la normale comune agli assi z(i) e z(i-1); 5) con O'(i) si indica l'intersezione della normale comune con l'asse z(i-1).
Vi sono alcuni casi particolari in cui una terna non è univocamente definita, in tali casi l'indeterminazione può essere utilizzata per semplificare il metodo.
Per la definizione della posizione relativa di due link consecutivi si usano i quattro parametri di Denavit-Hartenberg: 1) la distanza di O(i) da O'(i), misurata lungo l'asse x(i); 2) la coordinata di O'(i) sull'asse z(i-1); 3) l'angolo alpha attorno all'asse x(i) tra z(i-1) e z(i), positivo se antiorario; 4) l'angolo theta attorno all'asse z(i-1) tra x(i-1) e x(i), positivo se antiorario.

P.S. In seguito vedremo l'applicazione della procedura di Denavit-Hartenberg all'analisi cinematica di un robot ☺️
 
U

Utente 16812

Ospite
ANALISI CINEMATICA
------------------------

L'analisi cinematica di un robot consiste nel determinare la posizione nello spazio dell'effettore finale, in base ad un certo orientamento, rispetto ad un riferimento cartesiano solidale col mondo esterno all'automa, le cui coordinate prendono il nome di "coordinate mondo" ("World coordinates" in inglese ma di solito nella letteratura tecnica il sistema di riferimento viene indicato come "frame").
Dunque effettuare l'analisi cinematica del braccio di un robot consiste nella determinazione degli spostamenti di tutti i giunti affinché l'attuatore finale possa raggiungere una certa posizione nello spazio, con la giusta angolazione.
Dal punto di vista matematico il problema si pone in due forme: 1) diretta (consente la determinazione della posizione e dell'orientamento del TCP, nelle coordinate mondo, a partire dalla conoscenza della posizione e dell'orientamento dei link rispetto a riferimenti solidali coi giunti); 2) inversa (consente la determinazione della posizione e dell'orientamento dei link, in riferimenti solidali coi giunti, a partire dalla conoscenza della posizione e dell'orientamento del TCP nel frame).
Per risolvere tale problema ci avvarremo delle nostre conoscenze del calcolo matriciale.
 
U

Utente 16812

Ospite
MATRICI DI TRASFORMAZIONE
----------------------------------

Abbiamo visto che il concetto di trasformazione di coordinate (nello spazio) tra riferimenti diversi è alla base dell'analisi cinematica di un robot.
Considerando una terna mobile A e una terna fissa B, nel caso della traslazione avremo che le coordinate di un punto P in B si calcolano mediante il prodotto della matrice di traslazione per il vettore colonna che determina la posizione di P in A, mentre nel caso della rotazione le coordinate di P in B si calcolano mediante il prodotto della matrice di rotazione per il vettore colonna che individua la posizione di P in A.
Generalizzando il discorso, possiamo affermare che le coordinate mondo del punto di un corpo a cui vengono applicate rotazioni e traslazioni, facendo coincidere il frame con la terna mobile solidale col corpo, si ottengono attraverso il prodotto delle diverse matrici di traslazione e di rotazione e poi moltiplicando il risultato per il vettore posizione.
Ricordo sempre che per le matrici non è valida la proprietà commutativa del prodotto, pertanto esse dovranno essere moltiplicate nell'ordine corretto.
Il prodotto di tutte le matrici di rotazione e di traslazione si chiama "matrice di trasformazione".
Se ne deduce che, dato un punto P in A e il suo vettore posizione P(A), nota la matrice di trasformazione nelle coordinate mondo, la posizione di P in B si ottiene mediante il prodotto P(B) = T * P(A).



Quindi la procedura di Denavit-Hartenberg prevede i seguenti quattro passi: 1) la scelta delle terne solidali ai bracci del robot (tramite la convenzione già vista); 2) la definizione dei parametri geometrici (distanze e angoli) tra due giunti contigui (anche questo l'abbiamo già visto); 3) l'attuazione dei movimenti di trasformazione (sempre secondo la convenzione D-H); 4) il calcolo delle matrici di trasformazione (componendo le varie matrici di rotazione e traslazione con la legge del prodotto).
 
U

Utente 16812

Ospite
Completati i paragrafi sulla cinematica diretta e sulla cinematica inversa, l'analisi dinamica (la dinamica lagrangiana), i sistemi di azionamento, l'end effector (organi di presa e utensili), il sistema di comando di un Robot (e le capacità sensoriali).
Mi accingo ora ad illustrare la programmazione online e la programmazione offline di un automa ?
A presto ?
 
  • Mi piace
Reazioni: Unreal6777

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!