Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Cinematica inversa
Prof. Alessandro De Luca
Robotica 1
data una posa (posizione + orientamento) dellend-effector determinare linsieme di valori delle variabili di giunto che la realizza problema di sintesi, con dati nella forma:
T=
R p 000 1
r =
Robotica 1
workspace primario WS1: insieme dei punti p raggiungibili con almeno un orientamento ( o R)
fuori da WS1 il problema non ha soluzione per p WS1 e (o R) opportuno esiste almeno una soluzione
workspace secondario WS2 (o di destrezza): insieme dei punti p raggiungibili con qualsiasi orientamento (tra quelli realizzabili dal robot)
WS2 WS1
Robotica 1
Spazio di lavoro
Fanuc R-2000i/165F
Robotica 1
Spazio di lavoro
robot 2R planare
2 orientamenti y l2 l1 q1 x WS1 1 orientamento p q2 |l1-l2| l1+l2
if l1 l2
WS1 = {p R2: |l1-l2| p l1+l2} WS2 = WS1 = {p R2: p 2} WS2 = {p = 0} (infiniti orientamenti possibili allorigine)
5
if l1 = l2 =
Robotica 1
DX DW
SN UP
8 soluzioni se si considera anche lorientamento dellE-E (polso sferico: 2 soluzioni alternative per gli ultimi 3 giunti)
DX UP
Robotica 1
Molteplicit soluzioni
2 soluzioni in WS1 1 soluzione su WS1 per l1 = l2: soluzioni in WS2 4 soluzioni in WS1
singolari
robot 6R
16 soluzioni, fuori dalle singolarit: questo upper bound effettivamente raggiunto da un particolare robot ortogonale, cio con i = 0, /2 (i) analisi basata su trasformazioni algebriche della cinematica in una equazione polinomiale di grado pi basso possibile
Robotica 1
Spazio di lavoro
robot 3R planare
q3 l2 l1 q1 q2 l3 p y
l1 = l2 = l3 = WS1 = {p R2: p 3}
x
WS2 = {p R2: p }
1. in WS1 : 1 soluzioni tutte non singolari (tranne casi 2. e 3.) in cui lE-E pu assumere un continuum di orientamenti (ma non tutti!) 2. if p= 3 : 1 soluzione singolare 3. if p= 4. if p<
Robotica 1
Molteplicit soluzioni
sommario generale dei casi
se m = n
soluzioni soluzioni multiple in numero finito (caso generico) infinite soluzioni degeneri o un numero finito diverso da quello generico (in singolarit) soluzioni n-m soluzioni soluzioni singolari in numero finito o infinito
Robotica 1
Robot Dexter 8R
m = 6 (posizione e orientamento dellorgano terminale) n = 8 (tutti giunti rotatori) 2 soluzioni cinematiche inverse (ridondanza)
video
Metodi di soluzione
soluzione ANALITICA (in forma chiusa) preferibile, se possibile trovarla* ispezione geometrica ad hoc metodi algebrici (soluzione equazioni polinomiali*) metodi sistematici di generazione di set minimali di equazioni da risolvere
*
soluzione NUMERICA (in forma iterativa) necessaria se n>m (ridondanti) o in singolarit pi lenta, ma di facile derivazione richiede il calcolo dello Jacobiano analitico della cinematica diretta
3 assi di giunto rotoidali consecutivi incidenti (es. polso sferico), oppure 3 assi di giunto rotoidali consecutivi paralleli
Robotica 1
fr (q) Jr(q) = q
11
Cinematica inversa 2R
y py l1 l2 q1 px x p q2 cinematica diretta px = l1 c1 + l2 c12 py = l1 s1 + l2 s12 dati q1, q2 incognite
quadrando e sommando le equazioni della cinematica diretta px2 + py2 - (l12 + l22) = 2 l1 l2 (c1 c12 + s1 s12) = 2 l1 l2 c2 da cui in forma analitica
c2 = (px2 + py2 - l12 - l22)/ 2 l1 l2, s2 = 1 - c22, q2 = ATAN2 {s2, c2} deve essere in [-1,1] (altrimenti, fuori dal workspace!)
Robotica 1
2 soluzioni
12
Cinematica inversa 2R
y py q1 px x p q2
(continua)
q1 = -
{q1,q2}UP/LEFT q1 q1
Robotica 1
q2
p q2
{q1,q2}DW/RIGHT
q2 e q2 uguali in modulo e opposti in segno
13
px
j6
W z3
z4 z5 x6
y6 O6 = p z6 = a
z0 y0 x0 j1
j5
j4
1. W = p - d6 a q1, q2, q3
2. R = 0R3(q1, q2, q3) 3R6(q4, q5, q6) q4, q5, q6 (cinematica inversa polso) data
Robotica 1
nota, dopo 1.
0y
0z
esistono 8 soluzioni inverse in forma chiusa (vedi Paul, Shimano, Mayer; 1981)
Robotica 1 17
la soluzione analitica di r = f(q) non esiste o di difficile derivazione fr (Jacobiano analitico) Jr(q) = q metodo di Newton (qui nel caso m=n)
converge se q0 (stima iniziale) sufficientemente vicina a q*: fr(q*) = r ha problemi vicino alle singolarit dello Jacobiano Jr(q) non si applica per robot ridondanti (m<n) [uso pseudoinversa Jr#(q)] ha convergenza quadratica vicino alla soluzione (rapido!)
18
Robotica 1
il passo deve garantire che la funzione derrore decresca ad ogni passo (per troppo grande si potrebbe scavalcare il minimo) per troppo piccolo, la convergenza eccessivamente lenta
Robotica 1
19
Interpretazione in feedback
rd
+ -
Jr
T(q)
. q
q(0)
rd = cost ( = 1)
fr(q)
e = rd - fr(q) 0
pi semplice dal punto di vista computazionale [Jacobiano trasposto, anzich (pseudo)-invertito] si applica direttamente anche a robot ridondanti pu non convergere a una soluzione, ma non diverge mai levoluzione della stima a tempo discreto data da
che equivale a un passo del metodo del gradiente (con =T) si pu accelerare con una matrice di guadagno K>0, ponendo
. q = JrT(q) K e
nota: K pu usarsi per uscire da una situazione di stallo in un minimo locale: permette la rotazione dellerrore e fuori dal nucleo di JrT (se si incontrata una singolarit)
Robotica 1 21
Considerazioni aggiuntive
iterazioni iniziali con il gradiente (convergenza sicura, ma pi lenta = lineare) e finali con Newton (convergenza terminale con tasso quadratico) scelte 0 inizializzazione q (genera una sola delle soluzioni) passo ottimale nel metodo del gradiente criteri di arresto qk+1-qk q
incremento dellalgoritmo
r - f(qk)
(evtl. separato per posizione e orientamento)
Robotica 1
errore cartesiano
min{J(qk)} 0
condizionamento dello Jacobiano (SVD)
22