Lezione 2 di 18

RI Lezione 02

🤖 Robotica Industriale · III Anno · Lezione 02

Anatomia del FANUC ER-4iA 🔬

Link · Giunti · Parametri DH · TCP · Cinematica diretta nel simulatore

⏱️ Durata stimata: 60–75 min 📊 Livello: Base (III anno) 🔧 Strumenti: Simulatore web · Jog JOINT 📋 Prerequisiti: Lezione 01

🎯 Obiettivi della lezione

  • Identificare i 6 link e i 6 giunti del FANUC ER-4iA e le loro dimensioni reali
  • Comprendere cosa sono i parametri di Denavit-Hartenberg (DH) e a cosa servono
  • Leggere la tabella DH del robot e associare ogni parametro a una dimensione fisica
  • Capire cosa sono il TCP (Tool Center Point) e il flange
  • Osservare nel simulatore come la cinematica diretta traduce angoli articolari in posizione TCP

📖 1. Teoria

1.1 — Link e giunti: la catena cinematica

Un robot articolato è una catena cinematica seriale: una sequenza di corpi rigidi (link) collegati tra loro da giunti rotoidali. Ogni giunto aggiunge un grado di libertà. Nel FANUC ER-4iA la catena parte dalla base fissa e termina al flange, dove si monta l’utensile.

🏗️ Base
fissa a terra
→
J1
Link 1
→
J2
Link 2
→
J3
Link 3
→
J4
Link 4
→
J5
Link 5
→
J6
Link 6
→
🔧 Flange
TCP

Ogni link è il segmento rigido tra due giunti consecutivi. Ogni giunto è il motore che permette la rotazione. La lunghezza e l’orientamento dei link determinano la geometria del robot e quindi il suo volume di lavoro.

Link Connette Nome meccanico Lunghezza approssimativa
L0Terra → J1Base / Corpoh = 145 mm (altezza asse J1)
L1J1 → J2Colonnaa₁ = 75 mm
L2J2 → J3Braccio superiorea₂ = 270 mm
L3J3 → J4Avambraccioa₃ = 70 mm (offset)
L4J4 → J5Polso (prossimale)d₄ = 235 mm
L5J5 → J6Polso (distale)d₆ = 70 mm

1.2 — Il TCP: Tool Center Point

Il TCP (Tool Center Point) è il punto di riferimento del robot: è il punto nello spazio di cui il controller conosce sempre la posizione e l’orientamento. Di default coincide con il centro del flange (l’ultima flangia del robot). Quando si monta un utensile, il TCP viene spostato alla punta dell’utensile stesso tramite la definizione del Tool Frame.

✅ TCP = flange (default)

Quando non è montato nessun utensile o il tool frame non è stato definito. Il simulatore parte in questa configurazione.

🔧 TCP = punta utensile

Quando è montata una pinza o un saldatore. Il TCP viene spostato alla punta reale tramite il Tool Frame (Lezione 03).

💡 Perché è importante: tutta la programmazione del robot — movimenti, velocità, posizioni — è espressa rispetto al TCP. Quando scrivi L P[1] 250mm/sec FINE, stai dicendo al controller “porta il TCP al punto P[1] a 250 mm/s”. Il controller calcola da solo quali angoli J1–J6 servono per farlo.

1.3 — I parametri di Denavit-Hartenberg (DH)

Come si descrive matematicamente la geometria di un robot? Nel 1955 Denavit e Hartenberg proposero una convenzione standard per associare un sistema di riferimento a ogni link di una catena cinematica. Bastano 4 parametri per link per descrivere completamente la geometria:

ai
Lunghezza del link
Distanza tra gli assi di Ji e Ji+1 lungo l’asse X. Misura quanto è “lungo” il link.
di
Offset del giunto
Distanza tra i link lungo l’asse Z del giunto. Misura lo “spostamento assiale” tra un giunto e il successivo.
αi
Torsione del link
Angolo tra gli assi Z di due giunti consecutivi attorno all’asse X. Descrive come cambia l’orientamento tra un giunto e il prossimo.
θi
Angolo del giunto
L’angolo di rotazione del giunto i. È l’unica variabile che cambia durante il movimento — gli altri 3 sono costanti geometrici del robot.

📌 Concetto chiave: a, d e α sono costanti — sono le misure fisiche del robot, non cambiano mai. Solo θ varia: è l’angolo che il motore muove quando programmi un movimento. La tabella DH è quindi una “carta d’identità geometrica” del robot.

1.4 — Tabella DH del FANUC ER-4iA

Ecco i parametri DH del FANUC ER-4iA, ricavati dalla geometria reale del robot. Questi sono i valori implementati nel simulatore:

Link i ai (mm) di (mm) αi (°) θi (variabile) Interpretazione
1 75 145 –90° J1 Base: altezza 145 mm, offset 75 mm, asse J2 perpendicolare a J1
2 270 0 0° J2 Braccio superiore: lungo 270 mm, no offset, J3 parallelo a J2
3 –70 0 90° J3 Offset negativo per allineamento polso; J4 perpendicolare a J3
4 0 235 –90° J4 Avambraccio: 235 mm lungo l’asse, J5 perpendicolare a J4
5 0 0 90° J5 Polso: no lunghezza, J6 perpendicolare a J5
6 0 70 0° J6 Flange: 70 mm dal polso al TCP, stesso orientamento di J5

✅ Come leggere la tabella: vai riga per riga seguendo la catena dalla base al flange. Per il link 2 (braccio superiore): a₂=270 mm significa che il braccio è lungo 270 mm; d₂=0 e α₂=0° significano che J3 è parallelo a J2, senza offset né torsione — esattamente come un normale “gomito” planare.

1.5 — Cinematica diretta: da angoli a posizione

La cinematica diretta (forward kinematics) risponde alla domanda: dati gli angoli J1…J6, dove si trova il TCP?

Il controller esegue questo calcolo in continuo, migliaia di volte al secondo. Matematicamente si ottiene moltiplicando le 6 matrici di trasformazione omogenea ricavate dalla tabella DH:

T_tcp = T₁(J1) · T₂(J2) · T₃(J3) · T₄(J4) · T₅(J5) · T₆(J6)
La matrice risultante 4×4 contiene posizione (x, y, z) e orientamento (W, P, R) del TCP nel world frame.

Non ti serve fare questo calcolo a mano — il simulatore lo fa per te in tempo reale. Quello che devi capire è il principio: muovendo un asse, cambia la matrice di quel link, e la posizione del TCP cambia di conseguenza lungo tutta la catena.

💡 Cinematica inversa: il problema opposto — dati X, Y, Z, W, P, R del TCP, quali angoli J1…J6 servono? — è molto più difficile e ha spesso soluzioni multiple. Il simulatore implementa la soluzione analitica completa per il polso sferico dell’ER-4iA. Lo vedremo in dettaglio nella Lezione 03.


💻 2. Esempi guidati nel simulatore

Esempio A — Osservare la cinematica diretta in tempo reale

Apri il simulatore con tutti gli assi a 0°. Nel pannello Posizione corrente leggi le coordinate cartesiane del TCP (X, Y, Z) e l’orientamento (W, P, R). Ora:

  1. Con tutti gli assi a 0°, annota i valori di X, Y, Z del TCP.
  2. Muovi J1 = +45°. Osserva: X e Y cambiano, Z rimane uguale. Perché?
  3. Riporta J1 = 0°. Muovi J2 = +30°. Osserva: X e Z cambiano. Perché?
  4. Riporta J2 = 0°. Muovi J3 = +60°. Osserva come cambia la posizione del polso.
  5. Prova ora a muovere solo J4, J5 o J6: la posizione X, Y, Z cambia? E W, P, R?
📌 Cosa aspettarsi al punto 5: muovendo J4, J5 o J6 la posizione (X, Y, Z) del TCP non cambia (o quasi), ma l’orientamento (W, P, R) cambia. Questo conferma il principio: J1–J3 posizionano, J4–J6 orientano.

Esempio B — Misura il braccio superiore

Verifichiamo sperimentalmente la lunghezza del link 2 (a₂ = 270 mm) tramite il simulatore:

  1. Porta tutti gli assi a 0°. Annota Z del TCP = ______ mm
  2. Porta J2 = +90° (braccio orizzontale). Annota X del TCP = ______ mm
  3. La differenza tra la posizione X al punto 2 e l’offset iniziale ti dà la proiezione del braccio.
  4. Considera che con J2=90° e J3=0°, il TCP si trova a: X ≈ a₁ + a₂ = 75 + 270 = 345 mm dall’asse J1. Confronta con il valore letto nel simulatore.
✅ Se il simulatore mostra X ≈ 345 mm con J2=90°, J3=0° e tutti gli altri assi a 0°, i parametri DH sono corretti e il simulatore è fedele alla geometria reale.

🏋️ 3. Esercizi

🟢 Esercizio 1 — Tabella DH sul quaderno (Facile)

Ricopia la tabella DH del FANUC ER-4iA sul quaderno. Per ogni riga scrivi una frase che descrive cosa rappresenta fisicamente quel link nel robot. Usa la colonna “Interpretazione” come punto di partenza, ma rielaborala con parole tue.

🔵 Esercizio 2 — J4/J5/J6 e l’orientamento (Medio)

Porta il robot in questa configurazione: J1=0°, J2=–45°, J3=90°, J4=0°, J5=0°, J6=0°.
Annota i valori di X, Y, Z, W, P, R.

Ora, tenendo J1–J3 fissi, muovi uno alla volta J4, J5 e J6 di +45°. Per ognuno:
a) Quanto cambia X? Quanto cambia Y? Quanto cambia Z?
b) Quale componente di orientamento (W, P o R) cambia di più?

Conclusione: scrivi una regola generale su quali assi controllano posizione e quali orientamento.

🟠 Esercizio 3 — Verifica sperimentale del link 4 (Medio)

Dalla tabella DH sai che d₄ = 235 mm (lunghezza dell’avambraccio lungo l’asse). Progetta un esperimento nel simulatore per verificare questo valore, analogamente all’Esempio B dove abbiamo verificato a₂.

Suggerimento: pensa a quale configurazione degli assi isola l’effetto del solo link 4 sulla posizione del TCP. Scrivi la procedura, eseguila e confronta il risultato con il valore DH.

🟣 Esercizio 4 — Sbraccio massimo (Difficile)

Lo sbraccio massimo dell’ER-4iA è 550 mm. Trovalo nel simulatore: qual è la configurazione degli assi J1–J6 che porta il TCP alla distanza massima dalla base (asse J1)?

Usa il pannello posizione per calcolare la distanza dal centro: √(X² + Y² + Z²) non è lo sbraccio — lo sbraccio è la distanza orizzontale dall’asse J1, cioè √(X² + Y²). Cerca la configurazione che massimizza questo valore e confronta con 550 mm.


❓ 4. Quiz di verifica

1. Quanti parametri DH descrivono un link? Quali sono costanti e quale varia?

Mostra risposta

4 parametri: a (lunghezza link), d (offset giunto), α (torsione link), θ (angolo giunto). a, d e α sono costanti geometriche del robot fisico — non cambiano mai. Solo θ varia durante il movimento ed è l’angolo comandato dal motore.


2. Cos’è il TCP e dove si trova di default nel simulatore?

Mostra risposta

Il TCP (Tool Center Point) è il punto di riferimento del robot, rispetto al quale vengono espresse tutte le posizioni programmate. Di default coincide con il centro del flange (l’ultima flangia, fine del link 6). Quando si monta un utensile, il TCP viene ridefinito alla punta dell’utensile tramite il Tool Frame.


3. Muovi solo J5 di +30°: cosa cambia tra posizione e orientamento del TCP?

Mostra risposta

La posizione (X, Y, Z) cambia leggermente perché il polso non è esattamente sferico in modo ideale (il TCP si sposta di qualche mm), ma la variazione principale riguarda l’orientamento: P (pitch, beccheggio) cambia in modo diretto. J5 è l’asse di beccheggio del polso. In prima approssimazione: J5 orienta il tool su/giù.


4. Perché α₁ = –90° nella tabella DH dell’ER-4iA?

Mostra risposta

Perché l’asse di rotazione di J2 (spalla) è perpendicolare all’asse di rotazione di J1 (base). J1 ruota attorno all’asse verticale Z; J2 ruota attorno a un asse orizzontale. La torsione α₁ = –90° descrive esattamente questo cambio di orientamento tra i due assi di rotazione consecutivi. Se fosse α₁ = 0°, J1 e J2 sarebbero paralleli — il robot girerebbe come un braccio planare, non nello spazio 3D.


5. Qual è la differenza tra cinematica diretta e cinematica inversa?

Mostra risposta

Cinematica diretta (FK): dati gli angoli J1…J6 → calcola posizione e orientamento del TCP. Ha sempre una soluzione unica. Cinematica inversa (IK): data la posizione e orientamento del TCP → calcola gli angoli J1…J6. È molto più complessa e può avere più soluzioni (configurazioni diverse che portano il TCP nello stesso punto), nessuna soluzione (punto fuori dal volume di lavoro) o richiedere metodi numerici se non esiste soluzione analitica.


📚 Riepilogo della lezione

Cosa hai imparato oggi:
  • Il robot è una catena cinematica seriale: 6 link rigidi connessi da 6 giunti rotoidali
  • Il TCP è il punto di controllo del robot; di default è al centro del flange
  • I parametri DH (a, d, α, θ) descrivono la geometria di ogni link: solo θ varia durante il movimento
  • La cinematica diretta converte angoli → posizione TCP; la cinematica inversa fa il contrario
  • J1–J3 controllano principalmente la posizione del TCP; J4–J6 controllano principalmente l’orientamento

Prossima lezione →

Lezione 03 — Sistemi di riferimento
World frame, Joint frame, Tool frame, User frame
e prima prova di cinematica inversa nel simulatore.

© Prof. D. Bertolino · Robotica Industriale FANUC ER-4iA · Lezione 02 di 18