Come si muove un robot: concetti base

I robot sono uno degli elementi cardine dell’automazione industriale moderna. Dall’assemblaggio alla movimentazione di componenti passando per tutte le lavorazioni più importanti in cui precisione e continuità sono importanti, rappresentano il punto di incontro tra meccanica, elettronica e software.

Ogni loro movimento è il risultato di una modellazione matematica precisa, che definisce in che modo il robot può muoversi e raggiungere determinate posizioni nello spazio. I robot infatti non percepiscono lo spazio come noi, per capire davvero cosa accade è necessario partire dalle basi, cioè come un robot viene descritto matematicamente.

Il robot come catena

In generale un braccio robotico può essere interpretato come una sequenza di segmenti rigidi, chiamati link, collegati tra di loro da dei punti, detti giunti, da cui nasce il movimento. Ogni giunto introduce una possibilità di movimento e combinandole, cioè collegando due o più giunti insieme, è possibile ottenere una catena (cinematica) che determina la posizione assunta dal robot in ogni momento. Principalmente, esistono due tipi di giunti:

  • Rotazionale: permette una rotazione intorno un asse, come un’articolazione umana.

  • Prismatico: permette una traslazione lungo una direzione.

In generale, i robot industriali classici, sono una catena di giunti rotazionali, ma il principio che seguirà è esattamente lo stesso. La combinazione dei movimenti elementari di ogni singolo giunto, determinerà il movimento complessivo del robot.

Gradi di libertà e punti orientati

Come accennato, ogni giunto introduce una possibilità di movimento al robot, questa viene tipicamente chiamata grado di libertà (o degree of freedom, DoF). Nel nostro mondo, possiamo determinare un punto nello spazio utilizzando 3 coordinate: X, Y e Z. In generale, un robot con 3 gradi di libertà è in grado di controllare la posizione e quindi permette di raggiungere un punto nello spazio.

Può essere necessario però, arrivare in un punto con un orientamento preciso. Questo è possibile descriverlo in varie rappresentazioni, tipicamente diverse da robot a robot, ma tipicamente sono necessari un totale di 6 gradi di libertà per controllare posizione e orientamento di un punto nello spazio. Per questo motivo, la maggior parte dei robot industriali hanno proprio 6 giunti.

A voler essere precisi, non è sufficiente che un robot abbia 6 giunti per controllare appieno posizione e orientamento, è necessario infatti che i gradi di libertà siano indipendenti: ogni nuovo giunto, deve produrre un effetto che non può essere ottenuto combinando gli altri. Se questo non succede, si ha una ridondanza e il grado di controllo è inferiore a quanto atteso. Robot con giunti ridondanti o con più di 6 giunti, possono essere utili per raggiungere lo stesso punto in più posizioni o per ottimizzare movimenti e evitare ostacoli.

Avere il totale controllo però non significa semplificare. Al contrario, ogni grado di libertà aggiunge complessità alla modellazione matematica e alle equazioni che guidano il robot.

Lo spazio dei robot è diverso dal nostro

La posizione che assume il robot in ogni momento è detta configurazione. In altre parole, la configurazione del robot sono i valori assunti da tutti i giunti in quel momento e rappresentano completamente il suo stato attuale. Ovviamente, ad ogni configurazione corrisponde esattamente un punto orientato nello spazio cartesiano. Da qui nasce una distinzione fondamentale:

  • Spazio dei giunti: cioè lo spazio di tutte le configurazioni che il robot può assumere ed è lo spazio in cui tipicamente ragiona un robot.

  • Spazio cartesiano: cioè lo spazio tridimensionale in cui viviamo e in cui, tipicamente, ragioniamo noi umani, fatto di punti e orientazioni.

Il collegamento tra questi due spazi è il cuore della robotica e da cui derivano le due domande più importanti:

  • come può un robot, che ragiona nel suo spazio dei giunti, descrivermi un punto nel mio spazio cartesiano?

  • come posso descrivere un punto nello spazio cartesiano a un robot nel suo spazio dei giunti?

Nel primo caso avremo un problema di cinematica diretta: con una data configurazione, in che punto si trova il robot e con quale orientamento?

Nel secondo caso si avrà un problema di cinematica inversa: dato un punto orientato, quale configurazione dovrà assumere il robot per raggiungerlo?

Per risolvere entrambi i problemi, sarà necessario modellizzare matematicamente i giunti del robot in una catena cinematica.

Come è fatto un robot?

Abbiamo già detto che un robot è formato da una catena di link collegati tra loro da dei giunti cioè punti in cui i link ruotano (giunto rotazionale) o traslano (giunto prismatico) lungo un asse o una direzione. Per descrivere matematicamente questa struttura esistono diversi approcci, quello più diffuso è la convenzione di Denavit-Hartenberg (DH).

Questo non è altro che un metodo per descrivere allo stesso modo robot diversi, in modo da rendere più agevole il loro confronto e la loro simulazione. La convenzione DH permette di rappresentare la catena cinematica del robot descrivendo semplicemente un giunto in funzione del precedente, ovvero, quanto è distante e come è orientato un giunto della catena rispetto al precedente? Per farlo, prima di tutto viene definito l’asse Z quello in cui il giunto ruota attorno, o trasla in quella direzione. Detto ciò, si necessitano solo di 4 parametri per giunto:

  • θ - è l’angolo di rotazione attorno all’asse Z del giunto. Nei giunti rotazionali, corrisponde con il grado di libertà ed è variabile.

  • d - è la traslazione lungo l’asse Z del giunto. Nei giunti prismatici corrisponde con la direzione di traslazione ed è variabile.

  • α - rappresenta l’inclinazione tra due link, è l’angolo tra due assi Z consecutivi, tipicamente lungo l’asse X.

  • a - rappresenta la lunghezza del link, è la distanza tra due assi Z consecutivi misurata lungo l’asse X.

Per un maggior approfondimento e una rappresentazione visiva, consiglio e ringrazio gli autori, per questo video di riferimento: https://www.youtube.com/watch?v=nuB_7BkYNMk

Cinematica diretta

Questi 4 parametri, rappresentano il minimo necessario per descrivere completamente la relazione tra due giunti consecutivi in una catena cinematica: utilizzando solo questi è possibile infatti costruire la trasformazione che porta il giunto i-esimo al suo successore:

Matrice trasformazione DH, robotica

Questa espressione si ottiene combinando nell’ordine:

  1. una traslazione lungo l’asse Z di d.

  2. una rotazione attorno all’asse Z di θ.

  3. una traslazione lungo X di a.

  4. una rotazione attorno all’asse X di α​.

La concatenazione di tutte queste trasformazioni permetterà di ricreare matematicamente tutta la catena cinematica del robot. In altre parole, una volta in possesso di questi parametri per ogni giunto del robot, data la configurazione del robot nello spazio dei giunti, è possibile conoscere la sua posizione e orientazione finale, risolvere cioè il problema di cinematica diretta. Per farlo sarà sufficiente moltiplicare in sequenza tutte le matrici per ottenere la trasformazione complessiva del robot.

Un primo passo

Abbiamo visto come il movimento di un robot industriale non è una “magia” nascosta, ma il risultato di un modello geometrico ben definito: una catena di link e giunti descritta attraverso pochi parametri Denavit‑Hartenberg per ogni asse con cui costruire le matrici di trasformazione che legano tra loro i vari giunti e moltiplicandole tra di loro per ottenere la posizione e l’orientazione finale del robot a partire dalla configurazione dei giunti.

In Kessel lavoriamo ogni giorno con robot in condizioni reali. Capire questa struttura di base, e avere chiaro il modello cinematico non è un vezzo accademico: è quello che ci permette di dire con sicurezza se un certo movimento è fattibile, sicuro e ripetibile. Una conoscenza profonda, è quello che ci permette di analizzare e simulare con precisione e realismo i limiti e le possibilità di ogni impianto anche grazie al nostro software Nemesis.

Nel prossimo articolo approfondiremo il “problema inverso”: dato un punto nello spazio (una posa desiderata dell’utensile), come si può risalire alle configurazioni di giunto che lo realizzano, quali ambiguità e limiti compaiono, e perché questo passaggio è più delicato della cinematica diretta.

Avanti
Avanti

Dallo spazio un’insegnamento per l’automazione industriale