Spazio dei giunti e spazio operativo
Lo spazio dei giunti (o spazio delle configurazioni) è lo
spazio in cui è definito il vettore q delle variabili di giunto.
La sua dimensione è indicata con N.
Lo Spazio operativo (o spazio Cartesiano) è lo spazio in cui
è definito il vettore x = (p, )T. La sua dimensione è indicata
con M.
p è il vettore delle coordinate cartesiane della posizione
dell’organo terminale. In generale ha dimensione 3x1
(coordinate x,y,z).
 è il vettore rappresentante l’orientamento dell’organo
terminale. In generale ha dimensione 3x1.
Le dimensioni effettive dei vettori p e  dipendono dallo
spazio di lavoro e dal compito che il robot deve eseguire.
Il problema cinematico inverso
Il problema cinematico inverso riguarda la
determinazione delle variabili di giunto una volta
assegnati posizione e orientamento dell’organo
terminale.
Il problema cinematico inverso
Le equazioni da risolvere sono in generale non lineari
• Non è sempre possibile trovare una soluzione analitica
(in forma chiusa)
• Si possono avere soluzioni multiple.
• Si possono avere infinite soluzioni (manipolatori
ridondanti).
• In funzione della struttura cinematica del braccio,
possono non esistere soluzioni ammissibili.
L’esistenza di una soluzione è sempre garantita se la
posizione e l’orientamento desiderati appartengono allo
spazio di lavoro destro del manipolatore.
Il problema delle soluzioni multiple è legato non solo al
numero di gradi di libertà ma anche al numero di
parametri di D-H nulli.
Il problema cinematico inverso
Nei casi in cui non sia facile o non esistano soluzioni
analitiche si ricorre a tecniche numeriche di soluzione
Nel caso di manipolatore a sei gradi di libertà l’esistenza
di una soluzione analitica è sempre garantita se ricorre
almeno una delle seguenti condizioni:
A) tre assi di giunti rotoidali adiacenti si intersecano
(polso sferico);
B) tre assi di giunti rotoidali adiacenti sono paralleli
Nel caso A, si può scindere il problema in due
sottoproblemi disaccoppiando la soluzione per la
posizione da quella per l’orientamento.
Cinematica differenziale
Determinazione della relazione tra le velocità dei
giunti e le corrispondenti velocità angolari e lineari
dell’organo terminale. Tali legami sono descritti da
una matrice di trasformazione dipendente dalla
configurazione del manipolatore.
Matrice Jacobiana e cinematica
differenziale
Si consideri una funzione vettoriale g(x) di dimensioni (m x 1),
i cui elementi gi siano dotati di derivata rispetto al vettore x di
dimensioni (n x 1).
Si definisce matrice Jacobiana (o Jacobiano) la matrice (m x n)
 g1  x  
 x 
 g  x  
g  x   2 
J g x  
  x 
x
  
 g m  x  
 x 
Se x(t) è una funzione derivabile rispetto a t, si ha
d
g
g x   g  xt  
x  J g x x
dt
x
Cinematica differenziale
Jacobiano geometrico = matrice di trasformazione
dipendente dalla configurazione corrente del braccio
 p 
v     J q q
 
Jacobiano analitico = matrice delle derivate parziali
della funzione di cinematica diretta rispetto alle variabili
di giunto
 p 
x      J A q q
 
k q 
J A q  
q
Cinematica differenziale e statica
Importanza del calcolo dello Jacobiano del
braccio:
• individuazione delle singolarità
• analisi della ridondanza
• algoritmi per l’inversione cinematica
• individuazione del legame tra forze applicate all’organo
terminale e coppie sviluppate ai giunti (statica)
• derivazione equazioni di moto e sintesi degli schemi di
controllo
Singolarità cinematiche
Le configurazioni che causano una diminuzione di rango
della matrice Jacobiana J sono dette singolarità
cinematiche.
In corrispondenza delle singolarità:
a) si ha una perdita di mobilità della struttura
b) possono esistere infinite soluzioni al problema
cinematico inverso
c) velocità ridotte nello spazio operativo possono
causare velocità molto elevate nello spazio dei giunti
Singolarità cinematiche
Per manipolatori a polso sferico, il problema
dell’individuazione delle singolarità può essere
disaccoppiato:
 J 11 0 
J 

J
J
22 
 21
det( J )  det( J 11 ) det( J 22 )
• singolarità di polso, caratterizzate nello spazio
dei giunti e difficilmente gestibili
det(J22)=0
• singolarità di struttura portante,
caratterizzate nello spazio operativo (cartesiano) e
facilmente evitabili.
det(J11)=0
Cinematica differenziale e statica
Obiettivo della cinematica differenziale è quello di
determinare la relazione tra la velocità ai giunti e la
velocità dell’organo terminale.
P = Jp(q)q
p
V=
= J(q) q
w
w = Jo(q)q
J è lo Jacobiano geometrico
del manipolatore
Cinematica differenziale e statica
Determinare le velocità ai giunti data la velocità nello
spazio operativo
V = p = J(q) q
w
q = J-1(q) p
w
J-1 è l’inversa dello Jacobiano
Metodi di integrazione numerica consentono di ricavare il
vettore q dal vettore delle velocità ai giunti
Statica
Lo Jacobiano J lega anche le forze esplicate dall’organo
terminale e le coppie applicate ai giunti:
  J T q 
 è il vettore delle coppie ai giunti
 è il vettore delle forze all’organo terminale
Pianificazione di traiettorie
OBIETTIVO: generare gli ingressi di riferimento per il
sistema di controllo del moto:
xstart --> xgoal
PERCORSO: luogo dei punti dello spazio dei giunti o
dello spazio operativo che il manipolatore deve
descrivere nell’esecuzione del movimento assegnato
TRAIETTORIA: percorso su cui è specificata la legge
oraria di moto (velocità ed accelerazione in ogni
punto)
Pianificazione di traiettorie
DATI IN INPUT:
definizione del percorso
vincoli del percorso
vincoli dovuti alla dinamica del manipolatore
DATI IN OUTPUT:
nello spazio dei giunti: traiettorie dei vari giunti
nello spazio operativo: traiettoria dell’organo
terminale
Traiettorie nello spazio dei giunti
L’algoritmo di pianificazione genera una funzione q(t)
che interpola i valori assegnati per le variabili di
giunto nel rispetto dei vincoli imposti.
In generale l’utente individua la posizione e
l’orientamento desiderati per l’organo terminale
(spazio operativo). Generare una traiettoria nello
spazio dei giunti richiede un’inversione cinematica che
fornisca i valori di riferimento per le variabili di giunto.
Traiettorie nello spazio dei giunti
L’algoritmo di pianificazione deve in generale
soddisfare i seguenti requisiti:
•Le traiettorie generate devono essere poco
onerose dal punto di vista computazionale
•Le posizioni e le velocità dei giunti siano
funzioni continue del tempo
•Siano minimizzati effetti indesiderati (e.g.
traiettorie a curvatura non regolare)
Traiettorie nello spazio dei giunti
Moto punto-punto: il manipolatore deve muoversi
da una configurazione iniziale delle variabili di giunto
ad una finale in un intervallo di tempo fissato tf.
Per imporre la legge di moto su un giunto si possono
scegliere funzioni polinomiali.
Polinomio cubico: consente di imporre i valori iniziale
qi e finale qf delle variabili di giunto e le velocità
iniziale e finale (generalmente nulle).
Polinomio di quinto grado: consente di imporre i
valori iniziale qi e finale qf delle variabili di giunto, le
velocità iniziale e finale e il valore dell’accelerazione
iniziale e finale.
Traiettorie nello spazio dei giunti
Polinomio cubico:
qt   a3t  a2t  a1t  a0
3
2
q t   3a3t  2a2t  a1
qt   6a3t  2a2
2
(velocità parabolica)
(accelerazione lineare)
I coefficienti del polinomio sono determinati
imponendo le 4 condizioni iniziali su posizione e
velocità:
a0  qi
a1  qi
a3t 3f  a2t 2f  a1t f  a0  q f
3a3t 2f  2a2t f  a1  q f
Profilo di velocità trapezoidale
Traiettorie nello spazio dei giunti
Profilo di velocità trapezoidale
Il profilo di velocità trapezoidale è utilizzato in
ambito industriale.
Presenta una accelerazione costante nella fase di
partenza, una velocità di crociera e una deceleraione
costante nella fase di arrivo. La traiettoria
corrispondente è di tipo polinomiale misto: un tratto
lineare raccordato con due tratti parabolici
nell’intorno delle posizioni iniziale e finale.
Traiettorie nello spazio operativo
L’algoritmo di pianificazione di traiettoria nello
spazio operativo genera la legge di moto
dell’organo terminale, secondo un percorso di
caratteristiche geometriche definite nello
spazio operativo.
Per esprimere analiticamente
il
moto
dell’organo terminale si fa riferimento a
primitive di percorso.
Traiettorie nello spazio operativo
Siano p un vettore 3x1 e f() una funzione
vettoriale continua nell’intervallo [i, f ],
p= f()
definisce la rappresentazione parametrica della
curva  e  viene detto parametro.
Si chiama ascissa curvilinea s del punto p la
lunghezza d’arco di  di estremi p e pi se p
segue pi, l’opposto di tale lunghezza se p
precede pi.
La relazione p= f(s) fornisce una nuova
rappresentazione parametrica di 
Traiettorie nello spazio operativo
In corrispondenza del punto p sono definiti 3
versori caratteristici della curva:
dp
versore tangente
t
ds
2
1 d p
n 2
versore normale
2
d p ds
2
ds
b  tn
versore binormale
Traiettorie nello spazio operativo
Traiettorie nello spazio operativo
Segmento nello spazio:
Il segmento congiungente il punto pi con il
punto pf ha rappresentazione parametrica
s
 p f  pi 
ps   pi 
p f  pi
dp
1
 p f  pi 

ds
p f  pi
d2p
0
2
ds
La legge oraria lungo il percorso è descritta
dalla funzione s(t)
Controllo del moto
In generale, il problema del controllo di un
manipolatore consiste nel determinare
l’andamento delle forze o coppie che gli
attuatori devono applicare ai giunti in modo
da garantire l’esecuzione di operazioni
comandate
Il controllo del moto può essere realizzato
nello spazio dei giunti o nello spazio
Cartesiano.
Controllo nello spazio dei giunti
Il problema del controllo nello spazio dei giunti
richiede la risoluzione di due problemi:
1) Inversione cinematica per convertire le
specifiche di moto espresse nello spazio
operativo in specifiche di moto nello spazio dei
giunti
2) Sistema di controllo nello spazio dei giunti in
grado di garantire l’inseguimento dei riferimenti
ottenuti al punto 1)
Controllo nello spazio dei giunti
Controllo nello spazio operativo
Percezione del robot
 Sensori per la percezione dello stato interno del
robot (sensori per la misura della posizione dei
giunti del braccio, ad es. encoder) utilizzati per il
controllo del moto del manipolatore
 Sensori per la percezione dello stato esterno del
manipolatore (sensori di prossimità, contatto e
distanza, ad es. visione) utilizzati per la
pianificazione dei comportamenti del robot
Encoder incrementale
Controllo di un manipolatore nello
spazio dei giunti
Sistema di controllo PID (Proporzionale-IntegraleDerivativo):
V  K p eq  K d eq  K i  eq t dt
e p  qd  q
e p 
de p
dt
Controllo di un manipolatore nello
spazio dei giunti
qd
+/-
q
ep
Kd
+
ep
qd
+/-
Kp
∫
V
+
Ki
Sist
Attuazione
Robot
+
q
Controllo di un manipolatore nello
spazio dei giunti
 In ogni istante di campionamento devo
passare da q(t) = qact a q(t+dt) = qnext
 qact -> qnext : impostare una tensione al
motore per far compiere al giunto
qnext – qact gradi
Controllo del moto
Un sistema di controllo fornisce un comando
in tensione o in corrente agli attuatori
(motori) dei giunti.
La potenza di controllo Pc associata al
segnale di controllo deve essere trasformata
in potenza utile Pu adatta ad attuare il
movimento dei giunti
Controllo del moto
Un sistema di attuazione è costituito da:
•una sorgente di alimentazione
•un amplificatore di potenza
•un servomotore
•un organo di trasmissione
Algoritmo del controllo
q = 0; p=pi; q=qi;
While t<tf
J(q)
q(t) = q(t-dt) + q(t-dt)dt
q(t) = J-1(q(t-dt)) v(t-dt)
t=t+dt
End while
Struttura geometrica del Dexter
x2x3
3
z3
x1
1
z0
8
4
x4x5
5
z2
x0z1
2
z5
6
z7x6
x7
z8
x8
z4
z6
7
Architettura hardware del Dexter
PC
CPU
Controllo
Schede
Controllo Assi
Convertitore
AD/DA
Tensioni
di
riferimento
Driver di
Potenza
Segnali Encoder
Tensioni
per i
motori
Dexter
(Attuatori e
Encoder)
Dinamica di un robot manipolatore
Il modello dinamico di un manipolatore
descrive le relazioni esistenti tra le coppie di
attuazione ai giunti e il moto della struttura.
La conoscenza del modello dinamico è
fondamentale nei problemi di simulazione del
moto, di analisi di strutture di manipolazione e
di determinazione degli algoritmi di controllo.
Dinamica di un robot manipolatore
Per un manipolatore a link rigidi, il modello
dinamico nello spazio dei giunti è espresso
come:
Bq q  C q, q q  Fv q  Fs sgn q   g q     J q h
T
Dinamica di un robot manipolatore
La matrice B è di dimensioni nxn e tiene conto dei
momenti di inerzia di ogni link.
Il vettore C q è di dimensioni nx1 e tiene conto
dell’effetto centrifugo e dell’effetto di Coriolis
indotto a ciascun giunto
Fv q e Fs sgn q  rappresentano i vettori delle
coppie di attrito viscoso e di attrito statico
coulombiano
g(q) è il vettore di coppie gravitazionali
 è il vettore nx1 delle coppie ai giunti
J h è il vettore di coppie corrispondenti alle forze
esterne h agenti sull’organo terminale
T
Scarica

Document