Come far girare la testa a un robot

Come far girare la testa a un robot

“Il nemico è a ore due!”. Quante volte abbiamo sentito una frase del genere, per esempio in un film d’azione? Probabilmente a pronunciarla è stato un compagno del protagonista, il quale, ricevendo l’informazione nel suo auricolare, si sarà girato alla sua destra di circa sessanta gradi per sferrare un colpo.
Ora consideriamo invece che la scena sia quella di uno scontro aereo e che il protagonista sia un abile pilota in grado di muovere il proprio velivolo in ogni direzione nello spazio. Come faremmo, se fossimo i suoi compagni di flotta, a dargli le istruzioni precise per indirizzare l’aereo nel verso giusto per attaccare? Sicuramente esiste un linguaggio in codice anche per questo, però bisogna ammettere che espressioni come “a ore due” non sono esattamente precisissime.

Gli angoli di Eulero

Ci sono diverse situazioni in cui bisogna dare in modo molto dettagliato delle istruzioni per ruotare un oggetto nello spazio. Queste possono essere di natura virtuale o reale. Nel primo caso, stiamo parlando della computer grafica. Nella progettazione di videogiochi o film d’animazione, infatti, è indispensabile sapere come fare per animare la rotazione di un oggetto nello spazio. Nel secondo caso, invece, consideriamo la robotica industriale. Anche qui è essenziale avere a disposizione un metodo efficace per dare le istruzioni a un braccio robotico, affinché questo compia una certa rotazione.


Il metodo matematico standard che può essere usato in questi casi è quello basato sugli angoli di Eulero. Normalmente, per descrivere lo spazio fisico, usiamo le tre coordinate x,y,z, considerando i tre assi fissi e supponendo che un qualsiasi corpo rigido che si muova nello spazio cambi la propria posizione rispetto a tale sistema. Possiamo considerare, tuttavia, un secondo sistema di assi (che possiamo chiamare x’,y’,z’) che stia, per così dire, attaccato al nostro corpo. Quando questo si muove, il suo sistema di assi “personale” si muoverà con lui. Ora facciamo attenzione a due piani, il primo formato dagli assi x e y e l’altro formato dagli assi x’ e y’. Se come oggetto prendiamo una barca, il primo piano sarà quello della superficie del mare e il secondo quello dello scafo. Se la nostra barca si inclina, i due piani non saranno più paralleli, ma si intersecheranno in una retta, detta linea dei nodi. A questo punto consideriamo tre angoli: l’angolo tra l’asse x e la linea dei nodi (precessione), l’angolo tra gli assi z e z’ (nutazione), l’angolo tra la linea dei nodi e l’asse x’ (rotazione propria).

I tre angoli di Eulero, precessione φ , nutazione θ, rotazione propria ψ. In azzurro il sistema di assi fisso, in rosso quello solidale con l’oggetto, in verde la linea dei nodi w. Fonte immagine Wikimedia Commons.

Le proprietà delle rotazioni

Per descrivere una rotazione nello spazio mediante gli angoli di Eulero, quindi, dobbiamo usare tre rotazioni consecutive, ognuna delle quali farà cambiare uno dei tre angoli. L’uso degli angoli di Eulero, tuttavia, presenta dei problemi tecnici, come quello del cosiddetto blocco cardanico. Questo si verifica quando i due piani xy e x’y’ coincidono, in questo caso, è possibile ottenere solo rotazioni attorno all’asse z. Per ovviare, si è dovuti ricorrere ad altre strutture matematiche, come i quaternioni.
Prima di descrivere nel dettaglio i quaternioni, però, ricordiamo che in matematica le rotazioni vengono espresse mediante matrici quadrate 3×3 e che la composizione di più rotazioni si costruisce facendo il prodotto tra matrici. Conseguenza di ciò è che, in sostanza, tre rotazioni si possono esprimere attraverso una sola. Se la volessimo descrivere, avremmo bisogno prima di tutto di un asse attorno al quale l’oggetto deve ruotare. Per definire quest’ultimo ci vuole un vettore che ci dia la direzione di tale asse, e questo vettore lo esprimiamo attraverso le sue tre coordinate nello spazio. Poi dobbiamo dire di quanti gradi il nostro corpo deve ruotare attorno all’asse. Quindi, in definitiva, per descrivere la rotazione avremmo bisogno di soli quattro numeri: le tre coordinate del vettore e l’angolo di rotazione.

Rotazione dell’oggetto di angolo θ attorno ad un’asse data dal vettore v, che ha coordinate vx ,vy ,vz.

Ma, allora, quali oggetti matematici usiamo che abbiano quattro componenti e descrivano bene le rotazioni? Bisogna far attenzione che questi oggetti abbiano le stesse proprietà delle rotazioni, in particolare il prodotto non può essere commutativo. Cioè non vale la regola che abbiamo con i numeri che se 2×3=6 anche 3×2=6. Provate, prendete il vostro smartphone e posizionatelo come al solito con lo schermo rivolto verso di voi. Poi ruotatelo verso la vostra destra di 90° e poi verso di voi di 90°. Quello che vedete è un lato corto del telefono. Ma se invertite le due operazioni, cioè lo girate prima verso di voi e poi a destra, vedrete un lato lungo.

I quaternioni

Gli oggetti matematici che meglio si prestano a rappresentare le rotazioni e ne preservano le proprietà sono i quaternioni. I quaternioni sono una struttura algebrica definita dal matematico irlandese William Rowan Hamilton nel 1843. Hamilton era alla ricerca di un modo per estendere i numeri complessi e alla fine arrivò alla formulazione dei quaternioni dopo un’intuizione che gli venne mentre passeggiava sul Broom Bridge di Dublino. L’idea lo rese talmente entusiasta che la incise anche su una pietra vicino al ponte, dove oggi è stata posta una targa. Ciò che balenò in testa a Hamilton fu di considerare non una unità immaginaria, ma ben tre, che indicò con i, j, k. Ognuna di queste è tale che il suo quadrato è pari -1 e, inoltre, anche il prodotto tra i, j e k vale -1. In questo modo, un quaternione si scrive nella forma a+bi+cj+dk, con a, b, c, d numeri reali. Inoltre, la struttura algebrica che formano i quaternioni non è commutativa rispetto al prodotto.

Ecco, dunque, che più di cento anni dopo questi oggetti si sono rivelati estremamente utili nel descrivere le rotazioni. Se vogliamo, ad esempio, esprimere la rotazione attorno all’asse che ha per direzione il vettore (4,2,-3) di un angolo di 30°, basterà scrivere il quaternione cos(15°)+4 sen(15°)i+ sen(15°)2j-3 sen(15°)k. Anche se sembra una scrittura un po’ complicata, è sicuramente più comoda da usare rispetto alle matrici ed evita il problema del blocco cardanico.
Per questo motivo oggi i quaternioni sono largamente utilizzati in vari ambiti. Nel 1996 i quaternioni sono stati usati per la prima volta nell’ambito della progettazione dei videogiochi per animare le innumerevoli rotazioni della treccia di Lara Croft in Tomb Raider. D’altra parte, i quaternioni e una loro ulteriore estensione (gli ottonioni) sono stati recentemente visti con interesse da alcuni fisici, che li considerano la struttura algebrica più adatta per descrivere il modello standard. Ma questa storia la racconteremo per farvi… girare la testa un’altra volta!

FARE SCIENZA
Scienze e matematica
1) Disegnare varie direzioni sul piano cartesiano usando i vettori, cioè disegnando una freccia che parta dall’origine e arrivi in un punto di coordinate (x,y). Esprimere poi il cambio di direzione attraverso l’angolo che si forma.

2) Estendere l’attività nello spazio. Prendere un angolo della stanza come origine degli assi, definire il piano xy prendendo il pavimento e l’asse z lungo la parete. Attraverso un’asta costruire un vettore nello spazio che dia l’asse di rotazione e riportare le sue coordinate (x,y,z). Prendere poi un oggetto e ruotarlo attorno all’asse di un certo angolo (seguendo la regola della mano destra, cioè il pollice nella direzione dell’asse e la rotazione data dalle altre dita che si chiudono).

3) Ripetere l’esempio del cellulare con vari oggetti per verificare la non commutatività delle rotazioni.

4) Scrivere una serie di comandi per far compiere a un braccio robotico dotato di mano il “saluto della regina”:
• Il braccio si trova inizialmente allineato con l’asse z
• Ruotare il braccio di 45° attorno all’asse dato dal vettore (1,1,0)
• Ruotare la mano di 180° attorno all’asse dato dal vettore (1,0,1)

Leggi anche

Non far piovere sul bagnato. L’agricoltura di precisione entra in classe
Il correttore ortografico è il nonno dell'IA
Perché il peperoncino brucia e la menta è fresca?
In cucina con intelligenza: esperimenti con l’IA
La natura in cattedra per professioni all’avanguardia. La robotica bioispirata in versione “soft”
La lunga strada degli RNA