Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti...
Transcript of Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti...
Controllo dei Robot P. Lino
Corso di Controllo dei Robot
Cinematica differenziale
Paolo LinoDipartimento di Ing. Elettrica e dell’Informazione (DEI)
Controllo dei Robot P. Lino
Cinematica differenziale
La cinematica differenziale caratterizza i legami tra levelocità dei giunti e le corrispondenti velocità lineare eangolare dell’organo terminale.
Tali legami sono espressi da una matrice di trasformazione,dipendente dalla configurazione del manipolatore,denominata Jacobiano geometrico.
Per altra via, se la postura dell’organo terminale è espressafacendo riferimento ad una rappresentazione in formaminima dello spazio operativo, è possibile calcolare loJacobiano direttamente, mediante operazione didifferenziazione della funzione cinematica diretta rispettoalla variabile di giunto; lo Jacobiano che ne viene fuori èdenominato Jacobiano analitico ed è in generale diverso daquello geometrico.
Controllo dei Robot P. Lino
Jacobiano geometricoEquazione cinematica diretta per manipolatore a n gradi di libertà:
10
)()()(
T
qpqRqT
qqJ
qqJp
o
p
)(
)(
velocità lineare dell’organo terminale
Jp rappresenta la matrice (3xn) relativa al contributo delle velocità dei giunti alla velocità
lineare dell’organo terminale, mentre Jo è la matrice (3xn) relativa al contributo delle
velocità dei giunti alla velocità angolare dell’organo terminale
qqJp
v
)(
o
p
J
JJ
equazione cinematica
differenziale del
manipolatore
Jacobiano geometrico
del manipolatore
velocità angolare dell’organo terminale
Controllo dei Robot P. Lino
(Alcune) Proprietà di una matrice anti-simmetrica
• La matrice S contiene solo 3 elementi
indipendenti𝑆 =
0 −𝑠3 𝑠2𝑠3 0 −𝑠1−𝑠2 𝑠1 0
• Per il generico vettore
𝜔 = 𝜔𝑥 𝜔𝑦 𝜔𝑧 𝑇 si definisce la matrice:𝑆 𝜔 =
0 −𝜔𝑧 𝜔𝑦
𝜔𝑧 0 −𝜔𝑥
−𝜔𝑦 𝜔𝑥 0
• Per ogni vettore 𝜔, 𝑝 ∈ ℝ3 vale la
relazione:
𝑆 𝜔 𝑝 = 𝜔 ∧ 𝑝
• Per ogni vettore 𝜔 ∈ ℝ3 , 𝑅 matrice
ortogonale, vale la relazione:𝑅𝑆 𝜔 𝑅𝑇 = 𝑆 𝑅𝜔
𝑅𝑆 𝜔 𝑅𝑇𝑏 = 𝑅 𝜔 ∧ 𝑅𝑇𝑏 = 𝑅𝜔 ∧ 𝑅𝑅𝑇𝑏 = 𝑅𝜔 ∧ 𝑏 = 𝑅𝑆 𝜔 𝑏𝐷𝑖𝑚.
Controllo dei Robot P. Lino
Derivata di una matrice di rotazione
Si supponga che la matrice di rotazione vari nel tempo, in altre parole R = R(t). Dalla
proprietà di ortogonalità di R si ha la relazione R(t)RT(t) = I che, derivata rispetto al
tempo, fornisce l’identità
0)()()()( tRtRtRtR TT
)()()( tRtRtS T
Poniamo :
Anti-simmetrica : 0)()( tStS T
Moltiplichiamo a destra ambo i membri dell’espressione di S(t) per R(t):
)()()()()( tRtRtRtRtS T )()()( tRtStR
𝑠𝑖𝑗 = −𝑠𝑗𝑖𝑠𝑖𝑖 = 0
Controllo dei Robot P. Lino
Interpretazione fisicaSi consideri un vettore 𝑝′ costante ed il vettore 𝑝 𝑡 = 𝑅 𝑡 𝑝′.
La derivata temporale di 𝑝 𝑡 risulta:
ptRtp )()( ptRtStp )()()(
Dalla meccanica classica risulta che la velocità di
un vettore applicato si esprime nella forma:
ptRttp )()()(
con (t) velocità angolare della terna R(t)
rispetto alla terna di riferimento.
Uguagliando le due espressioni si osserva che la matrice 𝑆 𝑡 esprime il prodotto
vettoriale tra il vettore velocità angolare (t) ed il vettore 𝑅 𝑡 𝑝′.
x
y
x’
y’
Pp
𝜔
Controllo dei Robot P. Lino
Velocità angolare
0)()(
)(0)(
)()(0
)(
00
00
00
0
tt
tt
tt
tS
xy
xz
yz
S(t) = S((t)).
ptRtSptRttp )()()()()(
𝑝 solidale a 𝑂𝑥’y’𝑂𝑥′𝑦′ruota con velocità angolare
𝜔 𝑡 = 𝜔𝑥 , 𝜔𝑦, 𝜔𝑧𝑇
x
y
x’
y’
Pp
𝜔
Controllo dei Robot P. Lino
EsempioConsideriamo la matrice di rotazione elementare intorno all’asse z:
100
0cossen
0sencos
)(
zR
Supponiamo che vari nel tempo. Calcolando la derivata rispetto al tempo di Rz((t)),
la matrice S(t) è data da:
000
00
00
100
0
0
000
0
0
)()()(
cs
sc
sc
cs
tRtRtS T
0
0
0
)(
xy
xz
yz
tS
Controllo dei Robot P. Lino
quindi il vettore velocità angolare della terna ruotata rispetto alla terna base vale:
0
0
)()()( tRtStR
000
0
0
000
0
0
100
00
00
)()(
sc
cs
cs
sc
tRtS
Controllo dei Robot P. Lino
Composizione di velocità
10
1
0
1
0 pRop
10
1
10
1
0
1
0 pRpRop
10
1
0
1
10
1
0
1
0 )( pRSpRop
10
1
0
1 pRr 0
1
0
1
10
1
0
1
0 rpRop
se p1 è costante nel tempo (fisso rispetto alla terna 1): 0
1
0
1
0
1
0 rop
𝑝 = 𝑅𝑧 𝛼 𝑝1
α
Ppy
pxx
y
x’
y’
p’yp’x
zz’
Controllo dei Robot P. Lino
Velocità di un braccio
1
,111
i
iiiii rRpp
1
,111
1
,111 )(
i
iiii
i
iiiii rRSrRpp
iiiiiii rvpp ,11,11
vi-1,i indica la velocità dell’origine della terna i
rispetto all’origine della terna i – 1, espressa nella
terna baseLa terna i è solidale al
braccio (conv. DH)
Velocità Traslazionale
0
1
0
1
10
1
0
1
0 rpRop
Controllo dei Robot P. Lino
Velocità angolare
1
1
i
iii RRR
1
1
1
1
i
ii
i
iii RRRRR
11
,11
1
11 )()()(
i
i
i
iii
i
iiiii RSRRRSRS
11
,111 )()()(
i
i
i
iiiiiii RSRRSRS
Derivando:
Controllo dei Robot P. Lino
Velocità angolarePer l’ortogonalità delle matrici di rotazione si può ancora scrivere
11
,111 )()()(
i
i
i
iiiiiii IRSRRSRS
1
11
1
,111 )()()(
i
ii
T
i
i
iiiiiii RRRSRRSRS
i
T
i
i
iiiiiii RRSRRSRS 1
1
,111 )()()(
Osserviamo che per le matrici di rotazione vale la relazione, RS()RT = S(R), quindi:
i
i
iiiiiii RRSRSRS )()()( 1
,111
1
,111
i
iiiii R iiii ,11
Controllo dei Robot P. Lino
Composizione di velocità
iiii
iiiiiii rvpp
,11
,11,11
Le relazioni trovate possono
essere particolareggiate per
giunti prismatici o rotoidali
Controllo dei Robot P. Lino
Giunto prismatico
i-1,i = 0
1,1 iiii zdv
1
,1111
ii
iiiiii rzdpp
Giunto rotoidale
11
,11,1,11
iiii
iiiiiiiii
z
rrpp
11
,1,111
iiii
iiiiiii
z
rpp
11
,11
iiii
iiiii
z
rpp
iiii
iiiiiii rvpp
,11
,11,11
Controllo dei Robot P. Lino
Calcolo dello Jacobiano
n
n
oo
pp
o
p
jj
jj
J
JJ
1
1
qqJ
qqJp
o
p
)(
)(
qqJ
p
)(
𝑝 = 𝑝 𝑞 𝑡 𝑝 =𝜕𝑝
𝜕𝑞 𝑞 =
𝑖=1
𝑛𝜕𝑝
𝜕𝑞𝑖 𝑞𝑖 =
𝑖=1
𝑛
𝑗𝑝𝑖 𝑞𝑖
n
oo
pp
q
q
q
jj
jjp
n
n
2
1
1
1
velocità lineare
velocità angolare 𝜔 =
𝑖=1
𝑛
𝜔𝑖−1,𝑖 =
𝑖=1
𝑛
𝑗𝑜𝑖 𝑞𝑖
(ciascun termine rappresenta il contributo del singolo giunto alla velocità dell’end effector)
Controllo dei Robot P. Lino
Calcolo dello Jacobiano
Giunto prismatico
1
1,1
,1
00
ip
o
ii
iiiipii
ioii
zj
j
dq
zdqjv
qj
i
i
i
Giunto rotoidale
)()(
11
1
11,1
1
,1,1,1
1,1
iip
io
ii
iiiipei
iiio
iiiiii
iiioii
ppzj
zj
q
ppzqjv
zqj
rv
zqj
i
i
i
ii
velocità lineare dell’organo terminale
quando gli altri giunti sono fermi
Controllo dei Robot P. Lino
Calcolo dello jacobiano
z
)(z
0
1-i
11-i
1
i
i
i
i
pp
z
Jo
JpJ
𝑧𝑖−1 è dato dalla terza colonna della matrice di rotazione 𝑅𝑖−10
, e quindi
01
2
11
0
11 )()( zqRqRz i
i
ii
z0 = [0, 0, 1]T Vettore di selezione
della terza colonna
giunto prismatico
giunto rotoidale
Controllo dei Robot P. Lino
0
1
1
0
1~)()(~ pqAqAp n
n
n
1
0
0
0
~0p
01
2
11
0
11~)()(~ pqAqAp i
i
ii
Si osserva che lo Jacobiano dipende dalla terna rispetto alla quale viene espressa la
velocità dell’organo terminale.
JRo
oRJ
p
Ro
oRpu
u
u
u
u
u
u
𝑝 è dato dai primi tre elementi della quarta colonna della matrice di trasformazione 𝑇𝑛0
𝑝𝑖−1 è dato dai primi tre elementi della quarta colonna della matrice di
trasformazione 𝑇𝑛−10
Controllo dei Robot P. Lino
Esempio: Manipolatore a tre bracci
1
2
3
1
11 )()(
i
ii
z
ppzqJ
con i = 1, 2, 3
210
221100)(
zzz
ppzppzppzqJ
y3x3
Controllo dei Robot P. Lino
1
0
0
0
1000
0100
0
0
~~)(~ 1233123211123123
123312211123123
0
2
3
1
2
0
10
0
3
ssscs
cccsc
pAAApqTp
0
123312211
123312211
sss
ccc
p
01
2
11
0
11~)()(~ pqAqAp i
i
ii
01
2
11
0
11 )()( zqRqRz i
i
ii
𝐴10 𝜃1 = 𝐴2
1 𝜃2 = 𝐴32 𝜃3 =
𝑐𝑖 −𝑠𝑖 0 ℓ𝑖𝑐𝑖𝑠𝑖 𝑐𝑖 0 ℓ𝑖𝑠𝑖0 0 1 00 0 0 1
Controllo dei Robot P. Lino
𝑝1 = 𝐴10 𝜃1 𝑝0 =
𝑐1 −𝑠1 0 ℓ1𝑐1𝑠1 𝑐1 0 ℓ1𝑠10 0 1 00 0 0 1
0001
=
ℓ1𝑐1ℓ1𝑠101
𝑝1 =ℓ1𝑐1ℓ1𝑠10
𝑝0 = 𝐴00 𝜃1 𝑝0 =
1 0 0 00 1 0 00 0 1 00 0 0 1
0001
=
0001
𝑝0 =000
𝑝2 = 𝐴10 𝜃1 𝐴2
1 𝜃2 𝑝0 =
𝑐12 −𝑠12 0 ℓ1𝑐1 + ℓ2𝑐12𝑠12 𝑐12 0 ℓ1𝑠1 + ℓ2𝑠120 0 1 00 0 0 1
0001
=
ℓ1𝑐1 + ℓ2𝑐12ℓ1𝑠1 + ℓ2𝑠12
01
𝑧0 =001
𝑧1 =001
𝑧2 =001
𝑝2 =ℓ1𝑐1 + ℓ2𝑐12ℓ1𝑠1 + ℓ2𝑠12
0
Controllo dei Robot P. Lino
Prodotto vettoriale tra due vettori 𝑃 ≡ 𝑃𝑥, 𝑃𝑦, 𝑃𝑧 e 𝑄 ≡ 𝑄𝑥 , 𝑄𝑦 , 𝑄𝑧
0
)( 123312211
123312211
00 ccc
sss
ppz
0
)( 1233122
1233122
11 cc
ss
ppz
0
)( 1233
1233
22 c
s
ppz
𝑃 ∧ 𝑄 =
𝑄𝑦𝑃𝑧 − 𝑄𝑧𝑃𝑦𝑄𝑧𝑃𝑥 − 𝑄𝑥𝑃𝑧𝑄𝑥𝑃𝑦 − 𝑄𝑦𝑃𝑥
Controllo dei Robot P. Lino
111
000
000
000)(
12331233122123312211
12331233122123312211
cccccc
ssssss
qJ
111
)( 12331233122123312211
12331233122123312211
cccccc
ssssss
qJ
Nel piano x-y :
Controllo dei Robot P. Lino
Jacobiano analitico
qqJqq
pp P
)(
qqJqq
)(
La derivata rispetto al tempo di non coincide, in generale, con il vettore velocità
angolare definito in precedenza
: rappresentazione minima dell’orientamento
qqJqqJ
qJpx A
P
)(
)(
)(
q
qkqJ A
)()(
p origine della terna utensile rispetto alla terna base
Controllo dei Robot P. Lino
Legame tra Jacobiano analitico e jacobiano geometrico
csscs
ssccscsscccs
sccssccssccc
RRRR zyzEUL
Velocità di rotazione in terna corrente di angoli di Eulero ZYZ
Controllo dei Robot P. Lino
1
0
0
0
0
z
y
x
00
0
c
s
z
y
x
c
ss
sc
z
y
x
0
0
)(
01
0
0
T
c
ssc
scs
Controllo dei Robot P. Lino
Singolarità di rappresentazione di
Il determinante della matrice T è pari a -s, il che significa che la relazione non è
invertibile per = 0, .
Ciò significa che, sebbene ogni velocità di rotazione della terna possa essere espressa
mediante un opportuno vettore di velocità angolare , esistono velocità angolari che
non possono essere espresse mediante , quando l’orientamento della terna utensile
impone s = 0.
In questa situazione, infatti, le velocità angolari che possono essere descritte da sono
vincolate ad avere componenti nelle direzioni ortogonali all’asse z tra di loro
dipendenti
Gli orientamenti che annullano il determinante della matrice di trasformazione sono
dette singolarità di rappresentazione di .
222 yx
Controllo dei Robot P. Lino
Significati fisici di e di
Da un punto di vista fisico il significato di è piùintuitivo di quello di
Tuttavia l’integrale di corrisponde a ed esprimequindi le variazioni impresse sugli angoli di Eulero perpassare da un orientamento ad un altro, mentrel’integrale di non ammette alcuna interpretazionefisica
Controllo dei Robot P. Lino
Legame tra Jacobiano analitico e jacobiano geometrico
xTxT
Iv A
)(0
0
qqJp
v
)(
qqJq
qJ
qJpx A
P
)(
)(
)(
J = TA()JA
Controllo dei Robot P. Lino
Singolarità Cinematiche Tutte quelle configurazioni, per le quali J diminuisce il
suo rango sono chiamate singolarità cinematiche.
La caratteristica delle singolarità è di notevole interesseper i seguenti motivi:
a) Le singolarità rappresentano configurazioni in corrispondenzadelle quali si ha una perdita di mobilità della struttura, ovveronon è possibile imporre all’organo terminale leggi di motoarbitrarie.
b) Quando la struttura è in una configurazione singolare, possonoesistere infinite soluzioni al problema cinematico inverso
c) Nell’intorno di una singolarità, velocità ridotte nello spaziooperativo possono indurre velocità molto alte nello spazio deigiunti.
Controllo dei Robot P. Lino
Singolarità cinematiche
Singolarità ai confini dello spazio di lavoro raggiungibileche si presentano quando il manipolatore è tutto steso otutto ripiegato su se stesso. Queste singolarità possonoessere evitate.
Singolarità all’interno dello spazio di lavoro raggiungibileche sono generalmente causate dall’allineamento di dueo più assi di moto, in altre parole dall’assunzione diconfigurazioni particolari da parte dell’organo terminale.Queste costituiscono un problema serio in quanto,essendo all’interno dello spazio di lavoro, possonoessere interessate da traiettorie pianificate nello spaziooperativo.
Controllo dei Robot P. Lino
1
02
1
0
0
2
Esempio
12212211
12212211
cacaca
sasasaJ
det(J) = a1a2s2
Il determinante si annulla per 2 = 0, , mentre 1 è ininfluente ai fini delle
determinazioni di posizioni singolari.
Le due configurazioni trovate corrispondono ai casi in cui l’organo terminale del
manipolatore è situato al confine esterno (2 = 0, rappresentato in figura) o interno
(2 = ).
12121
12121
cacaa
sasaaJ
Controllo dei Robot P. Lino
Analisi della ridondanza
qqJv )(
• v è da intendersi come il vettore (rx1) delle velocità dell’organo terminale necessarie
per specificare il compito;
• J come la corrispondente matrice Jacobiana (rxn) estratta dallo Jacobiano
geometrico;
• 𝑞 è il vettore (nx1) delle velocità dei giunti.
Se r < n, il manipolatore risulta ridondante da un punto di vista cinematico ed esistono
(n-r) gradi di mobilità ridondanti.
Controllo dei Robot P. Lino
ee
L’immagine di J è il sottospazio R(J) in r che individua le velocità dell’organo
terminale che possono essere generate dalle velocità di giunto, nella configurazione
assegnata al manipolatore;
Il nullo di J è il sottospazio N(J) a cui appartengono le velocità di giunto che non
producono alcuna velocità all’organo terminale, nella configurazione assegnata al
manipolatore.
qqJv )(
Controllo dei Robot P. Lino
Se lo Jacobiano è a rango pieno, si ha:
dim(R(J)) = r dim(N(J)) = n – r
e l’immagine di J ricopre l’intero spazio
Al contrario, se lo Jacobiano degenera in una singolarità, la dimensione dell’immagine
diminuisce e, allo stesso tempo, la dimensione del nullo aumenta, in quanto vale la
relazione:
dim(R(J)) + dim(N(J)) = n (n è la dimensione dello spazio dei giunti)
indipendentemente dal rango della matrice J.
Manipolatore ridondante, quando N(J) 0
Sia 𝑞∗ soluzione della 𝜈 = 𝐽 𝑞 𝑞 e P matrice tale che 𝑅 𝑃 ≡ 𝑁 𝐽
Sia 𝑞𝑎 vettore arbitrario di velocità nello spazio dei giunti
𝑞 = 𝑞∗ + 𝑃 𝑞𝑎 𝐽 𝑞 = 𝐽 𝑞∗ + 𝐽𝑃 𝑞𝑎 = 𝐽 𝑞∗ = 𝜈
Controllo dei Robot P. Lino
qqJqqJ
qJpx A
P
)(
)(
)(
vqJq )(1
t
dqqtq0
)()0()(
Inversione della cinematica differenziale
Si intende determinare le velocità di giunto che permettono di ottenere le velocità
(lineare ed angolare) 𝑣 dell'organo terminale desiderate, a partire da una postura iniziale
Invertendo l'equazione cinematica differenziale (𝑱 quadrata e di rango pieno) è
possibile determinare una possibile traiettoria ai giunti 𝑞 𝑡 , 𝑞 𝑡 che riproduca la
traiettoria assegnata
Regola di integrazione di Eulero – Velocità dei giunti all’istante 𝑡𝑘+1=𝑡𝑘 + ∆𝑡
con 𝑞 𝑡𝑘 = 𝐽−1 𝑞 𝑡𝑘 𝑣 𝑡𝑘𝑞 𝑡𝑘+1 = 𝑞 𝑡𝑘 + 𝑞 𝑡𝑘 ∆𝑡
𝑣 = 𝐽 𝑞 𝑞
Controllo dei Robot P. Lino
Cinematica inversa dei manipolatori ridondanti
Se il manipolatore è ridondante (r < n), lo Jacobiano è una matrice
rettangolare bassa e si pone il problema significativo di trovare le soluzioni
(ne esisterà più di una) all’equazione 𝜈 = 𝐽 𝑞 𝑞.
qWqqg T 2
1)(
dove W è un’opportuna matrice (n x n) di peso, simmetrica e definita
positiva.
Minimizzare qqJv )(Con il vincolo
Un possibile metodo di soluzione è quello di formulare il problema d’ottimo
vincolato:
Controllo dei Robot P. Lino
Metodo dei moltiplicatori di Lagrange
)(2
1),( qJvqWqqg TT funzionale di costo modificato, con 𝜆
vettore incognito 𝑟x1 di moltiplicatori
Soluzione :
T
T
JWqq
qg 10),(
qJvqg
T
0
),(
𝑞 = 𝑊−1𝐽𝑇𝜆
𝑣 = 𝐽 𝑞
Sistema nelle due
incognite 𝑞 e 𝜆
Controllo dei Robot P. Lino
Sostituendo in 𝑞 = 𝑊−1𝐽𝑇𝜆
Caso particolare: la matrice di peso W coincide con la matrice identità I
Pseudo inversa destra
La soluzione ottenuta è quella che minimizza localmente la norma delle velocità ai giunti
𝑞 = 𝑊−1𝐽𝑇𝜆
𝑣 = 𝐽 𝑞𝑣 = 𝐽𝑊−1𝐽𝑇𝜆
𝜆 = 𝐽𝑊−1𝐽𝑇 −1𝑣 Se 𝐽 è di rango pieno
𝑞 = 𝑊−1𝐽𝑇 𝐽𝑊−1𝐽𝑇 −1𝑣
𝐽+ = 𝐽𝑇 𝐽𝐽𝑇 −1
𝑞 = 𝐽+𝑣
Controllo dei Robot P. Lino
Tutte (le infinite) soluzioni della cinematica differenziale inversa
𝑅 𝑃 ≡ 𝑁 𝐽 , quindi 𝑞𝑛 ∈ 𝑁 𝐽 , ovvero 𝐽 𝑞𝑛 = 0
𝐽 𝑞 = 𝐽 𝐽+ 𝑝 + 𝑞𝑛 = 𝐽𝐽+ 𝑝 + 𝐽 𝑞𝑛 = 𝑝
In generale, anche il vettore così ottenuto è una soluzione:
Sia 𝑞∗ = 𝐽+ 𝑝 soluzione dell’equazione 𝑣 = 𝐽 𝑞 che
minimizza 𝑞 per una assegnata 𝑣 ≡ 𝑝
𝑞∗ = 𝐽+ 𝑝 = 𝐽𝑇 𝐽𝐽𝑇 −1 𝑝
𝑞 = 𝑞∗ + 𝑃 𝑞𝑑 = 𝐽+ 𝑝 + 𝑞𝑛
con
Infatti:
Controllo dei Robot P. Lino
Scelta possibile:
con 𝑞𝑑 velocità di giunto qualsiasi
L’espressione è quella che ci assicura il minor discostamento
di 𝑞 da 𝑞𝑑, poiché è anche la soluzione di un problema
modificato di ottimizzazione vincolata (polarizzato su 𝑞𝑑)
𝑃 ≡ 𝐽∗ = 𝐼 − 𝐽+𝐽
Infatti, per qualsiasi 𝑞 vale 𝐽 𝐽∗ 𝑞 = 𝐽 𝐼 − 𝐽+𝐽 𝑞 = 0
𝑞 = 𝐽+ 𝑝 + 𝐼 − 𝐽+𝐽 𝑞𝑑
𝑞 = 𝑞∗ + 𝑃 𝑞𝑑 = 𝐽+ 𝑝 + 𝑞𝑛
min𝐻 =1
2 𝑞 − 𝑞𝑑 𝐽 𝑞 − 𝑣 = 0con vincolo
Tutte (le infinite) soluzioni della cinematica differenziale inversa
Controllo dei Robot P. Lino
velocità di giunto in corrispondenza della quale e solo in
corrispondenza della quale si ha una variazione di 𝑝
velocità di giunto in corrispondenza della quale non può
aversi variazione di 𝑝 moti interni che riconfigurano
manipolatore lasciando inalterata posizione ed orientamento
dell’organo terminale
𝑞 = 𝐽+ 𝑝 + 𝐼 − 𝐽+𝐽 𝑞𝑑
soluzione a norma
minima (unica)
soluzione dell’equazione
omogenea associata
𝐼 − 𝐽+𝐽 𝑞𝑑
𝐽+ 𝑝
Come scegliere 𝑞𝑑?
Controllo dei Robot P. Lino
Minimizzazione di obiettivi
Se riusciamo mediante 𝑞𝑑 ad imporre 𝐻 < 0potremmo avvicinarci ad un minimo assoluto per 𝐻
Sia 𝐻 𝑞 funzione obiettivo (secondario) derivabile
𝐻 𝑞 𝑡 definita positiva
𝐻 =𝜕𝐻
𝜕𝑞 𝑞 =
𝜕𝐻
𝜕𝑞𝐽+ 𝑝 +
𝜕𝐻
𝜕𝑞𝐼 − 𝐽+𝐽 𝑞𝑑
Controllo dei Robot P. Lino
𝐻 =𝜕𝐻
𝜕𝑞 𝑞 =
𝜕𝐻
𝜕𝑞𝐽+ 𝑝 +
𝜕𝐻
𝜕𝑞𝐼 − 𝐽+𝐽 𝑞𝑑
𝑞𝑑 = −𝐾𝜕𝐻
𝜕𝑞
𝑇
con 𝐾 > 0Scelta tipica:
𝐻 = −𝐾𝜕𝐻
𝜕𝑞𝐼 − 𝐽+𝐽
𝜕𝐻
𝜕𝑞
𝑇
+𝜕𝐻
𝜕𝑞𝐽+ 𝑝
Il primo addendo è sicuramente negativo, mentre sul
segno del secondo non si può dire niente
Controllo dei Robot P. Lino
Esempi di task
oqpqHop
)(min,
p: generico punto del manipolatore
0: punto su di un ostacolo
Massimizzando H si può riuscire ad aggirare un ostacolo.
2
12
1
n
i imiM
ii
nqH
q qiM im( ): rappresenta la massima (minima)
escursione per la rispettiva variabile giunto
e qi è il valore medio della corsa .
Minimizzando H si può riuscire a starelontano dai fine corsa.
)()(det)( qJqJqH TLa H così definita rappresenta una misuradella manipolabilità.
Massimizzando H si può riuscire a stare lontani dalle singolarità.
𝑞 = 𝐽+ 𝑝 + 𝐼 − 𝐽+𝐽 𝑞𝑑 = 𝐽+ 𝑝 − 𝐾 𝐼 − 𝐽+𝐽𝜕𝐻
𝜕𝑞
𝑇
Controllo dei Robot P. Lino
Inversione cinematica
xxe d
qqJxxxe Add )(
Deriva numerica:
E’ necessario, nella definizione di un algoritmo di inversione, far
dipendere 𝑞 da 𝑒 in modo tale che l’equazione differenziale precedente
produca un 𝑒(𝑡) convergente (asintoticamente) a zero
𝑞 𝑡𝑘+1 = 𝑞 𝑡𝑘 + 𝐽−1 𝑞 𝑡𝑘 𝑣 𝑡𝑘 ∆𝑡
𝑞 𝑡𝑘+1 ≠ 0
𝑡𝑘+1
𝑞 𝜉 𝑑𝜉 + 𝑞 0
Controllo dei Robot P. Lino
(Pseudo-)inversa dello Jacobiano
KexqJq dA )(1
0 Kee
0)()( qJJIKexqJq AAdA
qqJxe Ad )(
Per un manipolatore ridondante:
Controllo dei Robot P. Lino
Trasposta dello Jacobiano
KeeeV T
2
1)( 0)0(,00)( VeeV
qqKJexKexKexKeV A
T
d
TT
d
T )(
KeqJq T
A )(
KeqJqKJexKeV T
AA
T
d
T )()(
Per un riferimento costante ( 𝒙𝒅 = 𝟎) risulta definita negativa.
( 𝑽 < 𝟎; 𝑽 > 𝟎 sistema asintoticamente stabile)
Scegliamo le velocità dei giunti come:
Controllo dei Robot P. Lino
KeqJq T
A )(
Controllo dei Robot P. Lino
Trasposta dello Jacobiano
Richiede solo il computo di funzioni cinematiche dirette
Se il riferimento non è nullo la derivata della funzione diLyapunov può essere resa definita negativa tramite untermine dipendente dalla (pseudo)inversa dello jacobiano(perdo i vantaggi)
In ogni caso, anche utilizzando lo schema basato sulcalcolo della traposta, l’errore di inseguimento si puòmantenere limitato. Esso sarà tanto più piccolo quanto piùgrande è la norma della matrice dei guadagni K
Tuttavia l’implementazione a tempo discretodell’algoritmo impone limiti superiori della norma di K