You are on page 1of 23

Capitolo 2: Animazione di Strutture Articolate

_________________________________________________________________________________
Capitolo 2
Animazione di Strutture
Articolate
2.1 Introduzione
Lanimazione di figure articolate divenuta molto popolare nellultimo decennio,
spinta dal desiderio di creare attori sintetici nellambiente tridimensionale
dellanimazione al computer. Nel film Tony de Peltrie lattore la caricatura
tridimensionale di un pianista jazz, che canta, parla, e si muove come un normale
essere umano. Il suo volto molto espressivo e naturale. Nel film Thalmann sono
state modellate le figure di due grandi attori: Marilyn Monroe e Humphrey Bogart,
pi di recente in film come Jurrasic Park, Relic, Toy Story, si sfruttato a
pieno il computer per rendere il pi possibile reali e fluidi i movimenti dei
personaggi.
In questi casi si sono utilizzate strutture articolate o scheletri sulle quali basare i
movimenti. Questultimi vengono poi vestiti da grafica pi complessa (clothed
skeletons).
Un semplice esempio il lavoro di Zelter, il quale progett un sistema di controllo
che permetteva allutente di governare i movimenti di uno scheletro, visualizzando
per non una figura elementare bens uno scheletro umano.
8
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
Un controllo invocato ad alto livello, per esempio, di una semplice passeggiata,
richiede come parametri la velocit ed il numero di passi. Questo comando
invocher il controllo del cammino, che governa una struttura con 22 gradi di
libert (DOF), in cui sono incluse caviglie, ginocchia, anche, polsi, gomiti, spalle,
ecc.
2.2 Tecniche di Animazione di Figure Articolate
I principi che governano la computer animations si fondano sui risultati ottenuti
dagli studi nel settore della robotica, aventi come scopo la determinazione degli
algoritmi cinematici e dinamici che gestiscono il movimento dei robot. Tale osmosi
ha permesso la migrazione di molti termini, propriamente robotici, nel ramo delle
animazioni grafiche.
Col termine figura articolata, intendiamo una struttura formata da una serie di corpi
rigidi connessi da articolazioni.
Nel campo della robotica i due metodi principali che sono utilizzati per il controllo
di bracci articolati sono la cinematica e la dinamica. La cinematica lo studio del
movimento, senza considerare leffetto delle forze e si divide in cinematica diretta e
inversa; daltra parte nella dinamica la descrizione degli oggetti include attributi
fisici come il centro di massa, la massa totale, il momento di inerzia ecc. Anche la
dinamica si divide in diretta e inversa.
Nella robotica sindividuano due tipi di giunti, rotoidali e di traslazione,
nellanimazione al computer invece il campo si ristringe ai giunti rotoidali.
9
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
2.3 Cinematica
Lanimazione cinematica di strutture articolate composta fondamentalmente, da
due categorie:
1. Cinematica Diretta (Forwards Kinematics)
X = ()
Il movimento di ogni singola articolazione (join), appartenente alla struttura
espressa esplicitamente. Il movimento dellend-effector (estremit della
catena dei giunti alla quale nei robot industriali collegato un utensile)
quindi determinato indirettamente come somma dei movimenti di ogni
singolo braccio. Nel caso illustrato in figura 3.1, quindi, dati
1
e
2
, siamo
in grado di calcolare X(x,y) = (
1
,
2
).
2. Cinematica Inversa (Inverse Kinematics)
=


-1
(X)
Qualche volta chiamata anche goal-directed motion. In questo caso
lanimatore definisce solo la posizione dellend-effector. La cinematica
inversa risolve la posizione e lorientamento di tutte le articolazioni nella
gerarchia dei link che conduce fino allend-effector.
Quindi dato X, calcolato.
10
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
Tramite questo esempio
possiamo vedere la
differenza tra i due
approcci. La Figura 2.1
mostra una semplice
struttura costituita da due
bracci che si muovono
entrambi sul piano.
La soluzione, utilizzando la
cinematica diretta, ci viene
dalla trigonometria, ed
)) sin( sin ), cos( cos (
2 1 2 1 1 2 1 2 1
+ + + + l l l l X
Applicando semplici regole trigonometriche, siamo in grado di calcolare la
soluzione inversa, e quindi di risolvere il problema cinematico inverso.
2 1
2
2
2
1
2 2
2
2
) (
arccos
l l
l l y x +

x l l y l
y l l x l
) cos ( ) sin (
) cos ( ) sin (
2 2 1 2 2
2 2 1 2 2
1

+ +
+ +

Entrambe le tecniche diventano sempre pi complicate da utilizzare con il crescere


della complessit della struttura articolata. Ogni articolazione in pi nella struttura,
aggiunge almeno un grado di libert (DOF) nella figura, e almeno una dimensione
nel vettore di stato .
Nel caso della cinematica diretta, lanimatore ha molte trasformazioni da
controllare, ovviamente pi giunti danno una maggiore liberta e quindi espressivit
allanimazione, ma possono essere anche molto complicati ed intricati da utilizzare
nella pratica.
Oggi esistono molti software di modellazione 3D come 3D Studio Max,
LightWave, SoftImage, Cinema 4D, ecc., che implementano la cinematica diretta e
11
Figura 2.1 Catena cinematica planare a due bracci
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
inversa, e mettono a disposizione linguaggi di script per semplificare il lavoro
dellanimatore.
Nel caso della cinematica inversa, al crescere di n, il problema di determinare
dato X diventa sotto definito, e il sistema viene detto ridondante. Si cerca quindi di
risolvere il problema riducendo lo spazio delle possibili soluzioni.
2.4 Cinematica Diretta
Un manipolatore costituito da un insieme di corpi rigidi (bracci) connessi in
cascata tramite coppie cinematiche e giunti, a formare quella che generalmente
denominata come catena
cinematica. Per descrivere la
cinematica diretta e inversa,
assumiamo che ad ogni giunto
corrisponde un grado di mobilit
della struttura meccanica a cui si
associa la variabile di giunto. I
giunti possono essere di due tipi:
giunti di rotazione rotoidali e
giunti di traslazione prismatici.
Un estremo della catena
vincolato ad una base; laltro estremo che viene denominate end-effector (organo
terminale) libero di muoversi.
Consideriamo un manipolatore costituito da n+1 bracci connessi tramite n giunti.
Obiettivo della cinematica diretta la determinazione di posizione e orientamento
dellargano terminale del manipolatore, in funzione dei valori assunti dalle variabili
di giunto.
Definita una terna di riferimento O
0
(x
0
,y
0
,z
0
), la funzione cinematica diretta
espressa dalla matrice di trasformazione omogenea.
12
Figura 2.2 Esempio di manipolatore con n+1 bracci e
n giunti
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
1
]
1


1 0 0 0
) ( ) ( ) ( ) (
) (
0 0 0 0
0
q p q a q s q n
q
In cui q il vettore (n x 1) delle variabili di giunto, n, s, a sono i versori di una
terna solidale allorgano terminale del manipolatore, e p il vettore posizione
dellorigine della terna solidale allorgano terminale rispetto allorigine della terna
O
0
. Una prima strada per il calcolo della cinematica diretta offerta dallanalisi
geometrica della struttura del manipolatore. Quando per, questa complessa ed il
numero di giunti diventa elevato, si rende preferibile ladozione di una soluzione
meno diretta, ma basata su una procedura sistematica e generale.
2.4.1 Convenzione di Denavit-Hartenberg
La costruzione di una procedura operativa per il computo della cinematica diretta
scaturisce naturalmente dalla struttura a catena cinematica aperta del manipolatore.
Infatti, dal momento che ciascun giunto connette due e solo due bracci consecutivi,
ragionevole considerare dapprima isolatamente il problema della descrizione dei
legami cinematici tra bracci consecutivi e successivamente risolvere in maniera
ricorsiva il problema della descrizione complessiva della cinematica del
manipolatore.
Figura 2.3 Parametri cinematici di Denavit-Hartenberg
13
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
Come primo passo si deve definire un metodo generale e sistematico per definire
posizione e orientamento relativi di due bracci consecutivi; il problema si riconduce
allindividuazione di terne solidali a ciascun braccio ed alla determinazione della
trasformazione di coordinate che lega le due terne. Con riferimento alla figura,
assunto come asse i, lasse del giunto che connette il braccio i-1 al braccio i, si
opera la cosiddetta convenzione Denavit-Hartenberg:
si sceglie lasse z
i
giacente lungo lasse del giunto i+1;
si individua O
i
allinterno dellasse z
i
con la normale comune agli assi z
i-1
e
z
i
, e con O
i
si indica lintersezione della normale comune con z
i-1
;
si assume lasse x
i
diretto lungo la normale comune agli assi z
i-1
e z
i
con
verso positivo dal giunto i al giunto i+1;
si sceglie lasse y
i
in modo da completare una terna levogira.
Una volta definite le terne solidali ai bracci, la posizione e lorientamento della
terna i rispetto a i-1 risultano completamente specificati dai seguenti parametri:
a
i
distanza di O
i
da O
i
;
d
i
coordinata su z
i-1
di O
i
;

i
angolo intorno allasse x
i
tra lasse z
i-1
e lasse z
i
valutato positivo in senso
antiorario;

i
angolo intorno allasse z
i-1
tra lasse x
i-1
e lasse x
i
valutato positivo in
senso antiorario.
Dei quattro parametri, due (a
i
e
i
) sono sempre costanti e dipendono soltanto dalla
geometria di connessione dei giunti consecutivi dettata dalla presenza del braccio i.
Degli altri due (d
i
e
i
) uno soltanto variabile in dipendenza del tipo di giunto
utilizzato per connettere il braccio i-1 al braccio i.
A questo punto si in grado di esprimere la trasformazione di coordinate che lega la
terna i alla terna i-1:
si parte da una terna coincidente con la terna i-1;
14
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
si trasla la terna scelta di lungo lasse z
i-1
ruotandola di
i
intorno allasse z
i-
1
; questa operazione porta la terna a sovrapporsi alla terna i ed descritta
dalla matrice di transizione omogenea
1
1
1
1
]
1

1 0 0 0
1 0 0
0 0
0 0
1
'
i
i
i
d
c s
s c
i i
i i
A


;
si trasla la terna ora sovrapposta alla terna i di ai lungo lasse x
i
ruotandola
di
i
intorno allasse x
i
; questa operazione porta la terna a sovrapporsi alla
terna i ed descritta dalla matrice di trasformazione omogenea
1
1
1
1
]
1

1 0 0 0
0 0
0 0
0 0 1
'
i i
i i
c s
s c
a
i
i
i A


;
avendo operato due trasformazioni di coordinate definite rispetto a terna
corrente, la trasformazione di coordinate complessiva si ottiene
moltiplicando le singole trasformazioni componenti come segue:
1
1
1
1
]
1



1 0 0 0
0
) (
' 1
'
1
'
i
i
i
i
i
i
i
i
i
i
d c s
s a s c c c s
c a s s c s c
q
i i
i i i i i i
i i i i i i
A A A



.
Si noti che la matrice di trasformazione della terna i alla terna i-1 dipende soltanto
dalla variabile del giunto i, nella veste di
i
se il giunto rotoidale.
15
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
2.4.2 Algoritmo
La convenzione DH appena descritta consente di realizzare la procedura di
costruzione della funzione cinematica diretta per composizione delle singole
trasformazioni di coordinate in ununica matrice ti trasformazione omogenea. Dal
momento che su ogni braccio stata definita una terna ad esso solidale, la
trasformazione di coordinate complessiva, che esprime posizione e orientamento
della terna n rispetto alla terna base, data da
) ( )... ( ) ( ) (
1
2
1
2
1
0
1
n
n
n
o
n
q q q q
A A A T

.
La costruzione ricorsiva della funzione cinematica diretta consente di isolare i
contributi di mobilit, che ciascun giunto conferisce alla struttura e di ricostruire
leffetto complessivo con una semplice legge di composizione del prodotto. Il
procedimento che ne scaturisce pu essere applicato con semplicit ad una catena
cinematica aperta comunque complessa e si presta ad una facile riscrittura in forma
operativa.
Figura 2.4 Trasformazione di coordinate della terna n rispetto alla terna base
1. Individuare e numerare consecutivamente gli assi dei giunti; assegnare
rispettivamente, le direzioni agli assi z
0
, , z
n-1
2. Fissare la terna base posizionandone lorigine sullasse z
0
; gli assi x
0
e y
0
sono scelti in maniera tale da ottenere una terna levogira.
16
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
Eseguire i passi 3 e 5 per i=1, , n-1
3. Individuare lorigine O
i
allintersezione di z
i
con la normale comune agli
assi z
i-1
e z
i
. Se gli assi z
i-1
e z
i
sono paralleli e il giunto i rotoidale,
posizionare O
i
in modo da annullare d
i
; se il giunto i prismatico, scegliere
O
i
in corrispondenza di una posizione di riferimento per la corsa del giunto.
4. Fissare lasse x
i
diretto lungo la normale comune agli assi z
i-1
e z
i
con verso
positivo dal giunto i al giunto i+1.
Fissare lasse y
i
in modo da ottenere una terna levogira.
Per completare
Fissare la terna n, allineando z
n
lungo la direzione di z
n-1
se il giunto
n rotoidale, ovvero scegliendo z
n
in maniera arbitraria se il giunto
n prismatico; fissare lasse x
n
un accordo al punto 4.
5. Costruire per i=1, , n la tabella dei parametri a
i
, d
i
,
i
,
i
6. Calcolare sulla base dei parametri di cui al punto 7 le matrici di
trasformazione omogenea
7. Calcolare la funzione cinematica diretta T che fornisce posizione e
orientamento della terna n rispetto alla terna base.
2.4.3 Ridondanza Cinematica
Un manipolatore detto ridondante da un punto di vista cinematica, quando
possiede un numero di gradi di mobilit maggiore del numero di variabili necessarie
alla caratterizzazione del suo compito. Nel caso che stiamo studiando si suppone
che il compito significhi la possibilit di raggiungere qualunque punto nello spazio
operativo. In questo caso i gradi n di libert richiesti sono sei, tre per individuare il
punto nello spazio, e tre per lorientamento. Allora se i gradi di mobilit m
m=n=6 il manipolatore non ridondante, con m>n, in questo caso m>6, il
manipolatore viene detto ridondante.
2.5 Cinematica inversa
17
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
Lequazione cinematica diretta, in una delle sue forme, consente di definire le
relazioni funzionali esistenti tra le variabili di giunto, la posizione e lorientamento
dellorgano terminale. Il problema cinematico inverso riguarda la determinazione
delle variabili di giunto una volta assegnati posizioni e orientamento dellorgano
terminale. Con lequazione cinematica diretta, la posizione e la matrice di rotazione
relativi alla terna n, sono determinate in maniera univoca una volta assegnata la
variabile di giunto. Per contro il sistema cinematico inverso pi complesso per le
seguenti ragioni:
Le equazioni da risolvere sono in generale equazioni non lineari di cui non
sempre possibile trovare una soluzione analitica (in forma chiusa);
si possono avere soluzioni multiple;
si possono avere infinite soluzioni, come nel caso di manipolatori ridondanti
( quando cio il numero di gradi di mobilit maggiore del numero di gradi
di libert);
possono non esistere soluzioni ammissibili, data la struttura cinematica del
manipolatore.
Per quanto riguarda il problema delle soluzioni multiple, questo dipende non solo
dal numero dei gradi di mobilit, ma anche dal numero di parametri di Denavit-
Hartenberg nulli; in generale, maggiore il numero di parametri diversi da zero,
maggiore il numero di configurazioni ammissibili. Per un manipolatore a sei gradi
di libert (DOF) esistono fino a 16 soluzioni ammissibili. Questa situazione impone
lesistenza di criteri di scelta delle soluzioni dinteresse.
Ci sono tre metodi principali per risolvere il problema cinamatico inverso:
algebrico, geometrico e iterativo. Ognuno di questi ha dei vantaggi e dei limiti.
La determinazione di soluzioni in forma chiusa richiede intuizione algebrica per
lindividuazione di quelle equazioni significative contenenti le incognite del
manipolatore, cio richiede intuizione geometrica per la determinazione di quei
punti significativi sulla struttura rispetto ai quali esprimere posizione e/o
orientamenti in funzione di un numero ridotto di variabili di giunto. Daltra parte in
18
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
tutti quei casi dove non semplice o non possibile determinare soluzioni
analitiche, opportuno ricorrere a tecniche numeriche di soluzione: queste hanno
lindubbio vantaggio di essere applicabili a qualunque struttura cinematica, ma in
generale non consentono la determinazione di tutte le soluzioni possibili.
2.5.1 Metodo Algebrico
Per risolvere lequazione cinematica inversa algebricamente, quindi, necessario
risolvere lespressione
1
1
1
1
]
1



1 0 0 0
) ( )... ( ) ( ) (
0 0 0 0
0 0 0 0
0 0 0 0
1
2
1
2
1
0
1
PZ AZ OZ NZ
PY AY OY NY
PX AX OX NX
q q q q
n
n
n
o
n A A A T
Il problema quello di risolvere un sistema di n equazioni in n incognite.
Questo metodo non garantisce di determinare una soluzione in forma chiusa per
ogni configurazione di manipolatore, nella robotica, infatti, spesso vengono
progettate architetture di manipolatori dove la soluzione in forma chiusa esiste.
Manocha e Zhu (1994) hanno proposto una generalizzazione della soluzione in
forma chiusa per manipolatori fino a sei gradi di libert, tali algoritmo stato anche
utilizzato per la creazione di un pacchetto generico, KINEM, scritto in c, per la
risoluzione della cinematica inversa di manipolatori.
2.5.2 Metodo Geometrico
19
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
In opposizione ai metodi algebrici, una soluzione in forma chiusa, pu essere
determinata usando la geometria del manipolatore. Un esempio rilevante ci arriva
da Lu e Zhou (1997) i quali hanno proposto metodi geometrici per il calcolo della
cinematica inversa di qualunque tipo di manipolatore a tre link, cio con tutte le
combinazioni possibili di articolazioni, tra rotoidali e prismatiche (RRR, RRP,
RPR, ecc). Ancora una volta siamo interessati in particolare ai manipolatori con
articolazioni rotoidali, essendo praticamente gli unici utilizzati nellanimazione al
computer. In appendice possibile consultare le formule, appunto per il 3R estratte
con Maple.
Alcune volte il metodo algebrico, e il metodo geometrico, sono utilizzati in
cooperazione per ricavare la soluzione in forma chiusa del manipolatore.
2.5.3 Metodo Iterativo
Abbiamo affermato che un metodo per risolvere la cinematica inversa quella di
utilizzare un algoritmo iterativo. In realt ci sono pochi lavori che usano questi
metodi poich risultano molto lenti, daltra parte per garantiscono una soluzione
generale del problema. Goldenberg e Lawrence (1985) usano il metodo modificato
di Newton per risolvere la cinematica inversa, Sasaki (1994) fornisce una
comparazione di vari metodi con la minimizzazione del gradiente, dove richiesta
la derivata di una funzione obiettivo.
I metodi iterativi, in generale necessitano di una funzione obiettivo da minimizzare.
Un metodo quello di rappresentare questa funzione come un vettore di sei
elementi
R = [
x
,
y
,
z
,
x
,
y
,
z
]
I quali rappresentano la posizione e lorientamento residuo tra lend-effector e il
target.
Vediamo pi in dettaglio la formulazione di Sasaki:
1. Calcola la posizione attuale dellend-effector usando la forward kinematics
e la descrive con la matrice seguente:
20
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
1
1
1
1
]
1



1 0 0 0
) ( )... ( ) ( ) (
0 0 0 0
0 0 0 0
0 0 0 0
1
2
1
2
1
0
1
PZ AZ OZ NZ
PY AY OY NY
PX AX OX NX
q q q q
n
n
n
o
n A A A T
2. Data la posizione e lorientamento richiesto dellend effector tramite la
matrice
1
1
1
1
]
1

1 0 0 0
d d d d
d d d d
d d d d
PZ AZ OZ NZ
PY AY OY NY
PX AX OX NX
Tramite queste due matrici otteniamo un sistema di dodici equazioni non lineari
d
d
d
d
d
d
d
d
d
d
d
d
PZ PZ f
PY PY f
PX PX f
AZ AZ f
AY AY f
AX AX f
OZ OZ f
OY OY f
OX OX f
NZ NZ f
NY NY f
NX NX f












) ( ) (
) ( ) (
) ( ) (
) ( ) (
) ( ) (
) ( ) (
) ( ) (
) ( ) (
) ( ) (
) ( ) (
) ( ) (
) ( ) (
0 12
0 11
0 10
0 9
0 8
0 7
0 6
0 5
0 4
0 3
0 2
0 1












Risolvere il problema cinematica inverso diviene, quindi, trovare
1

n
, che
minimizzano linsieme di equazioni non lineari ( IK()=f
i
()=0 ) dove:

12
1
2
)] ( [ ) (
i
i
f IK
In questo modo sono derivate dodici equazioni non-lineari, se il numero di gradi di
libert maggiore di dodici allora necessario aggiungere altri vincoli.
Vediamo lo pseodo-codice per la determinazione della funzione obiettivo:
21
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
Input: q
1
,q
n
output: error / e
1. Calcolare la posizione corrente dellend-effector tramite la funzione
cinematica diretta FK
2. calcolare il vettore residuo r usando ad esempio il metodo descritto da
Sasaki.
3. Calcolare lerrore

G
i
i
r e
1
2
In questo paragrafo abbiamo solo accennato alla risoluzione della IK con metodi
iterativi, per parlarne in maniera pi approfondita, dobbiamo prima fare un altro
passo in avanti, che consiste nellintrodurre la cinematica differenziale, e lo
jacobiano, lo faremo nei prossimi paragrafi.
2.6 Cinematica differenziale
La cinematica differenziale caratterizza i legami tra le velocit dei giunti e le
corrispondenti velocit, lineare e angolare, dellend effector. Tali legami sono
descritti da una matrice di trasformazione, dipendente dalla configurazione del
manipolatore, denominato Jacobiano geometrico. Per altra via, possibile calcolare
lo Jacobiano direttamente, mediante unoperazione di differenziazione della
funzione cinematica diretta rispetto alle variabili di giunto; lo Jacobiano che si
ottiene denominato Jacobiano analitico ed in generale diverso da quello
geometrico. Lo Jacobiano costituisce uno degli strumenti pi importanti per la
caratterizzazione del manipolatore.
2.6.1 Jacobiano Geometrico
22
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
Si consideri un manipolatore a n gradi di mobilit. Sia nota lequazione cinematica
diretta nella forma T(q), dove q =[q
1
,,q
n
]
T
il vettore delle variabili di giunto. Al
variare di q variano sia la posizione che lorientamento dellend-effector.
Obiettivo della cinematica differenziale quello di determinare la relazione tra
velocit ai giunti e velocit lineare e angolare dellorgano terminale. Si vuole in
pratica esprimere come vettori liberi la velocit lineare
p
e la velocit angolare
dellend-effector.
q q J p
p
) (
q q J
o
) (
Dove J
p
la matrice (3 x n) relativa al contributo della velocit dei giunti alla
velocit lineare
p
dellorgano terminale, mentre J
o
la matrice (3 x n) relativa al
contributo delle velocit dei giunti alla velocit angolare dellorgano terminale.
In forma compatta si pu scrivere
q q J
p
v

) (
1
]
1

che rappresenta lequazione cinematica differenziale del manipolatore. La matrice


J (6 x n) lo Jacobiano geometrico del manipolatore che risulta funzione delle
variabili di giunto.
1
]
1

o
p
J
J
J
2.6.2 Calcolo dello Jacobiano
Sezioniamo lo Jacobiano secondo i vettori colonna (3x1)
23
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
1
]
1

on o
pn p
j j
j j
J
1
1
...
il termine
pi i
j q
rappresenta il contributo del singolo giunto i alla velocit lineare
dellorgano terminale, mentre il termine
oi i
j q
esprime il contributo dello stesso
giunto alla velocit angolare dellend-effector. Per determinare lo Jacobiano
pertanto conveniente calcolare i singoli contributi distinguendo il caso di giunti
prismatici (q
i
= d
i
) dal caso dei giunti rotoidali (q
i
=
i
).
Nel caso il giunto i sia rotoidale si ottiene
1

i oi i
z j q

e quindi
1

i oi
z j
Per il calcolo di contributo della velocit lineare
) (
1 1 , 1 , 1

i i i n i i i pi i
p p z r j q

e quindi
) (
1 1

i i pi
p p z j
In definitiva, risulta:

'

1
]
1


1
]
1

1
]
1

1
1 1
1
) (
0
i
i i
i
oi
pi
z
p p z
z
j
j
Queste relazioni consentono il calcolo dello Jacobiano in maniera semplice e
sistematica sulla base di relazioni cinematiche dirette. Infatti, i vettori z
i-1
, p e p
i-1
risultano funzioni delle variabili di giunto.
2.6.3 Inversione della Cinematica Differenziale
24
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
Abbiamo finora mostrato che il problema cinematico inverso ammette soluzioni in
forma chiusa solo per strutture di manipolatori semplici. I problemi sorgono quando
lend-effector assume particolari posizioni o orientamenti nello spazio operativo,
quando la struttura complessa, e quando il manipolatore ridondante.
Lequazione cinematica differenziale rappresenta viceversa una trasformazione
lineare tra spazio dei giunti e spazio operativo; essa, infatti, consente di stabilire tra
le velocit ai giunti e la velocit dellend-effector un legame lineare, seppure
dipendente dalla configurazione del manipolatore. Questa propriet suggerisce la
possibilit di utilizzare lequazione cinematica differenziale per affrontare il
problema dellinversione cinematica.
Linversione cinematica ottenuta utilizzando legami differenziali prescinde dalla
risolvibilit della struttura cinematica; peraltro necessario che lo Jacobiano sia
quadrato e di rango pieno, per essere invertito, altrimenti servono altre tecniche per
risolvere manipolatori ridondanti o situazioni di singolarit cinematica.
Lequazione cinematica da considerare pu essere scritta formalmente come
q q J v ) (
in cui v il vettore (r x 1) delle velocit dellend-effector J la corrispondente
matrice jacobiana (r x n) estratta dallo Jacobiano geometrico;
q
il vettore (n x 1)
delle velocit dei giunti. Se r<n il manipolatore risulta ridondante ed esistono n-r
gradi di mobilit ridondanti.
Si supponga assegnata per lend-effector una traiettoria di moto specificando v(t) e
le condizioni iniziali su posizione e orientamento. Lobiettivo quello di
determinare una possibile traiettoria ai giunti (q(t),
) (t q
) che riproduca la
traiettoria. Nellipotesi n=r, le velocit ai giunti possono essere ottenute mediante
inversione dello Jacobiano
v q J q ) (
1

Nota la posizione iniziale del manipolatore q(0), le posizioni possono essere
calcolate integrando le velocit nel dominio del tempo, cio

+
t
q d q t q
0
) 0 ( ) ( ) (
25
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
Lintegrazione pu essere effettuata a tempo discreto ricorrendo a metodi numerici.
Il metodo pi semplice basato sulla regola di integrazione di Eulero; fissato un
intervallo di integrazione
t t q t q t q
k k k
+
+
) ( ) ( ) (
1

2.7 Algoritmi per lInversione Cinematica
Il calcolo della velocit ai giunti ottenuto con riferimento allinversa dello
Jacobiano valutata in corrispondenza delle posizione dei giunti allistante
precedente
t t v t q J t q t q
k k k k
+

+
) ( )) ( ( ) ( ) (
1
1

ne consegue che le
q
calcolate non coincidono con quelle che soddisfano
lequazione nel continuo. Loperazione dintegrazione numerica comporta quindi,
dei fenomeni di deriva della soluzione.
E possibile ovviare a tale inconveniente ricorrendo ad uno schema di soluzione che
tenga conto dellerrore nello spazio operativo tra posizione e orientamento
desiderati e posizione e orientamento calcolati. Sia
x x e
d

lespressione di tale errore. Consideriamo la derivata temporale
x x e
d

tenendo conto della cinematica differenziale pu riscriversi come
(270)
q q J x e
d
) (
Affinch tale equazione possa portare allindividuazione di un algoritmo per
linversione cinematica, necessario che il vettore calcolato delle velocit ai giunti
q
sia dipendente dallerrore e.
26
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
2.7.1 Pseudo-Inversa dello Jacobiano
Figura 2.5 Algoritmo per linversione cinematica con inversa dello Jacobiano
Nellipotesi di matrice J quadrata e non singolare, la scelta
(271a) ) )( (
1
Ke x q J q
d

conduce al sistema lineare equivalente


(271b) 0 + Ke e
Se K una matrice definita positiva (solitamente diagonale) il sistema (271b) risulta
asintoticamente stabile: lerrore tende quindi a zero lungo la traiettoria con una
velocit di convergenza che dipende dagli autovalori della matrice k; pi questi
sono grandi pi veloce la convergenza.
Si nota inoltre che la (271a) per
d
x
= 0, corrisponde al metodo di Newton per la
soluzione di sistemi di equazioni non lineari.
Nel caso di manipolatore ridondante la generalizzazione della (271a) conduce ad:
a d
q J J I Ke x J q ) ( ) (

+ +
dove
1
) (

T T
JJ J J .
27
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
2.7.2 Trasposta dello Jacobiano
Figura 2.6 Algoritmo per linversione cinematica con trasposta dello Jacobiano
Un algoritmo per linversione cinematica, pi semplice del precedente da un punto
di vista computazionale, si determina ricavando un legame tra
q
ed e che assicuri la
convergenza a zero dellerrore, senza richiedere la linearizzazione della (360a). Ne
consegue che il metodo diretto di Lyapunov pu essere utilizzato per
lindividuazione di un legame
) (e q
che assicuri la stabilit asintotica del sistema di
errore. Si sceglie come funzione candidata di Lyapunov
(270) Ke e e V
T
2
1
) (
con K matrice simmetrica definita positiva. Tale funzione gode delle propriet
0 ) ( > e V
0 e , V(0) = 0
Differenziando la (272a), si ha
x K e x K e V
T
d
T


tenendo conto della cinematica differenziale
q q KJ e x K e V
T
d
T

) (
La scelta della velocit ai giunti come
(272b) ) )( ( Ke q J q
T

comporta che
Ke q J q KJ e x K e V
T T
d
T
) ( ) (

28
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
Lo schema di inversione cinematica di Figura 2.6 mette in luce la caratteristica
notevole dellalgoritmo di richiedere il solo computo di funzioni cinematiche
dirette. La (272b) corrisponde al metodo del gradiente per la soluzione di un
sistema di equazioni non lineari.
2.8 Sistemi Multi-Body
Questa una espressione di origine anglosassone la cui traduzione suonerebbe pi o
meno cos: sistemi meccanici composti di pi corpi, rigidi o deformabili, suscettibili
di movimenti relativi dovuti alla deformabilit stessa dei corpi o pi propriamente
alla presenza di vari tipi di coppie cinematiche e di vincoli relativi.
In pratica quasi ogni sistema fisico nel quale possono essere individuate pi parti o
corpi (ad eccezione quindi dei sistemi strettamente continui) pu essere visto come
un sistema multi-body.
Classici esempi di sistemi multi-body sono per esempio i veicoli terrestri: composti
di ruote, sospensioni (con i relativi meccanismi), il telaio, modellato come rigido o
deformabile, ed eventualmente i passeggeri.
Anche gli animali e lo stesso corpo umano
possono essere modellati come sistemi multi-
body.
In Figura 2.7 si pu vedere un esempio di
simulazione multi-body. In questo caso si
tratta della simulazione di un possibile
incidente. Il modello comprende un corpo
rigido, il tavolo, e un sistema articolato di
corpi che rappresenta un bambino.
29
Figura 2.7 Esempio di sistema multi-
body
Capitolo 2: Animazione di Strutture Articolate
_________________________________________________________________________________
Tali sistemi sono impiagati in quella che denominata prototipazione virtuale, i
quali simulano il reale comportamento di una macchina o di un insieme doggetti
ancor prima di costruirli fisicamente. Un esempio notevole di software ideato per la
prototipazione virtuale senza alcun dubbio Working Model, sfruttato dalla Kodak
per la simulazione di otturatori, dalla Bticino per la simulazione dinterruttori
magnetotermici e dallAprilia per lo sviluppo di sistemi di sospensioni e di
trasmissioni.
2.8.1 Dinamica
Lanimazione basata sulla simulazione dinamica molto interessante poich il moto
generato fedele alle leggi fisiche, e si riesce ad ottenere un livello di realismo
difficilmente ottenibile mediante la cinematica.
Come abbiamo accennato in precedenza, nellanalisi dinamica la descrizione degli
oggetti deve includere attributi fisici necessari per formulare lequazione del moto.
Anche questa tecnica, come la cinematica, si divide in dinamica diretta e in
dinamica inversa.
Nella dinamica diretta, il movimento approssimato mediante una serie di passi
discreti; ad ogni passo si risolve lequazione del moto per le accelerazioni che gli
oggetti subiscono sottoposti a determinate forze. Data la posizione e la velocit di
un oggetto al passo precedente, laccelerazione a pu essere integrata due volte per
determinare la nuova velocit e posizione al passo attuale.
Estendiamo questo approccio alla simulazione di strutture articolate: In generale c
una equazione del moto per ogni grado di libert. Questo ci conduce ad un grosso
sistema di equazioni che deve essere risolto con metodi numerici, i quali sono
computazionalmente molto costosi.
La dinamica inversa determina automaticamente le forze e i momenti di inerzia
necessari per spostare loggetto nel punto desiderato.
30

You might also like