PIANIFICAZIONE DEL MOTO Il problema canonico Spazio delle

Transcript

PIANIFICAZIONE DEL MOTO Il problema canonico Spazio delle
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
PIANIFICAZIONE DEL MOTO
Il problema canonico
Spazio delle configurazioni
Pianificazione mediante ritrazione
Pianificazione mediante decomposizione in celle
Pianificazione probabilistica
Pianificazione mediante potenziali artificiali
Il caso dei robot manipolatori
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
IL PROBLEMA CANONICO
• Pianificare un moto ≡ decidere quale movimento deve
effettuare il robot per eseguire un compito di trasferimento
da una postura iniziale a una finale senza collidere con ostacoli
⋆ pianificazione autonoma: sulla base di una descrizione ad
alto livello del compito e di una rappresentazione dello
spazio di lavoro (fuori linea o in linea)
• Problema canonico
⋆ robot B in spazio di lavoro W = IRN (N = 2 o 3), in moto
libero (no vincoli cinematici)
⋆ ostacoli O1 , . . . , Op
⇓
• date posture iniziale e finale di B in W, generare se esiste
un cammino (sequenza continua di posture) che porti il robot
dall’una all’altra e che sia privo di collisioni (inclusi i contatti)
tra B e gli ostacoli O1 , . . . , Op
⋆ N = 2: piano movers’ problem
⋆ N = 3: generalized movers’ problem
• Situazioni reali
⋆ ambienti non strutturati (ostacoli mobili)
⋆ vincoli anolonomi
⋆ contatti voluti (manipolazione, assemblaggio)
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
SPAZIO DELLE CONFIGURAZIONI
• Insieme delle configurazioni che il robot può assumere C
• Configurazione q ∈ IRn
⋆ robot mobile nel piano: C ≡ IR2 × SO(2) (n = 3)
⋆ robot mobile nello spazio: C ≡ IR3 × SO(3) (n = 6)
⋆ manipolatore planare a base fissa a n bracci (giunti
elementari): C ⊂ (IR2 × SO(2))n (3n − 2n = n)
⋆ manipolatore spaziale a base fissa a n bracci (giunti
elementari): C ⊂ (IR3 × SO(3))n (6n − 5n = n)
⋆ robot mobile con rimorchio nel piano: C ⊂ (IR2 ×SO(2))×
(IR2 × SO(2)) (rimorchio connesso con giunto rotoidale
n = 4: posizione+orientamento per motrice + orientamento
per rimorchio)
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Esempio
• Manipolatore planare 2R
Q = {q = (q1 , q2 ) : q1 ∈ [0, 2π), q2 ∈ [0, 2π)}
C ≡ SO(2) × SO(2)
R1
a
1$
7
R4
R\
(
R4
1$
Rd
R1
R\
Rd
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Distanza
• B ⊂ W ⇒ p(q): posizione del punto su B
• Definizione
d1 (q1 , q2 ) = max kp(q1 ) − p(q2 )k
p∈B
• Norma euclidea
d2 (q1 , q2 ) = kq1 − q2 k
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Ostacoli
⋆ necessità di costruire ‘immagini’ degli ostacoli in C
• C–ostacolo
COi = {q ∈ C : B(q) ∩ Oi 6= ∅}
• Regione dei C–ostacoli
CO =
p
[
COi
i=1
• Spazio libero delle configurazioni
Cf ree = C − CO = {q ∈ C : B(q) ∩
[
p
i=1
Oi
= ∅}
⋆ Cf ree può non essere connesso, a causa di occlusioni dovute
ai C–ostacoli
• Problema di generare un cammino libero tra qs e qg
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Esempi di ostacoli
• Robot sfera in W = IRN
q2
y
x
q1
• Robot poliedrale libero di traslare (orientamento fisso) in IRN
B
Oi
q2
y
x
q1
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
• Manipolatore planare (filiforme) 2R
• In generale, procedure complesse di generazione di CO
⋆ risoluzione della griglia di calcolo
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
PIANIFICAZIONE MEDIANTE RITRAZIONE
• Rappresentazione di Cf ree mediante una rete R ⊂ Cf ree di
cammini monodimensionali (mappa stradale o roadmap)
• La soluzione viene individuata connettendo (ritraendo) qs e qg
a R e individuando su quest’ultima un cammino tra i punti di
connessione
⋆ ipotesi Cf ree : sottoinsieme limitato di C = IR2 di tipo
poligonale (regione dei C–ostacoli anch’essa poligonale)
• Minima distanza (clearance)
γ(q) =
min
s∈∂Cf ree
kq − sk
⋆ ∂Cf ree : frontiera di Cf ree
• Insieme dei punti vicini a q
N (q) = {s ∈ ∂Cf ree : kq − sk = γ(q)}
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
• Il diagramma generalizzato di Voronoi di Cf ree è l’insieme
delle configurazioni che hanno più di un vicino:
V(Cf ree ) = {q ∈ Cf ree : card(N (q)) > 1}
R[S[/
„wR[[S/DS
„wR[[SXDS
R[S[X
⋆ i suoi tratti elementari sono rettilinei (lato–lato, vertice–
vertice) o parabolici (lato–vertice)
⋆ può essere considerato come un grafo avente come archi i
tratti elementari e come nodi gli estremi degli archi
• Roadmap naturale massimizzando localmente la clearance
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
• Procedura di ritrazione per connettere q a V(Cf ree )
V
N(q)
(q)
q
n(q)
r(q)
⋆ segui ∇γ(q) sino alla prima intersezione q con V(Cf ree )
⋆ r(·) preserva la connettività di Cf ree (q e r(q) appartengono
sempre alla stessa componente connessa di Cf ree )
⇓
• Esiste un cammino libero da qs a qg se e solo se esiste un
cammino libero tra r(qs ) e r(qg )
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Algoritmo
1. Costruire il diagramma generalizzato di Voronoi V(Cf ree )
2. Determinare le ritrazioni r(qs ) e r(qg ) su V(Cf ree )
3. Ricercare su V(Cf ree ) una sequenza di archi consecutivi tali
che r(qs ) appartenga al primo e r(qg ) all’ultimo di essi
4. Se la ricerca ha successo, sostituire al primo arco della sequenza
il suo sottoarco che origina in r(qs ) e all’ultimo il suo sottoarco
che termina in r(qg ), e fornire in uscita il cammino costituito
dal segmento di retta che unisce qs a r(qs ), dalla sequenza
modificata di archi e dal segmento di retta che unisce qg a
r(qg ); altrimenti, riportare un fallimento
• Si utilizzano metodi di ricerca su grafo
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
PIANIFICAZIONE MEDIANTE
DECOMPOSIZIONE IN CELLE
• Decomposizione di Cf ree in celle:
⋆ è facile calcolare un cammino privo di collisioni tra due
configurazioni nella stessa cella
⋆ è facile calcolare un cammino privo di collisioni tra due
celle adiacenti
• Calcolata una decomposizione in celle di Cf ree , si cerca una
sequenza di celle (canale) con qs nella prima e qg nell’ultima
• Si ottengono metodi differenti a seconda del tipo di celle usate
per la decomposizione
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Decomposizione esatta
• Ipotesi
⋆ Cf ree sottoinsieme limitato poligonale di C = IR2
• Decomposizione in celle attraverso poligoni convessi
⋆ semplicità di transizione da una cella a quella adiacente
(passando per il punto medio del segmento di frontiera
comune)
• Algoritmo sweep line per la decomposizione di Cf ree in
poligoni convessi (geometria computazionale)
ROBOTICA AVANZATA
c3
c4
Prof. Bruno SICILIANO
c5
c10
qs
c18
c11
c12 c13 c17
c9
c2
c6
c1
c7 c 8
c14
c15
c19
c16
c20
c21
qg
c22
• Retta non parallela ad alcun lato di ∂Cf ree , a spazzare tutto
Cf ree
⋆ ogni volta che si incontra un vertice di Cf ree , due segmenti
(estensioni) originano dal vertice
⋆ una estensione in Cf ree è parte della frontiera della cella; il
resto è costituito da lati di Cf ree
⇓
• Decomposizione trapezoidale
ROBOTICA AVANZATA
c3
Prof. Bruno SICILIANO
c4
c5
c10
c2
c11
c19
c12
c9
c6 c7
c1
c18
c13
c14
c8
c15
c16
c17 c20
c21 c22
• Si costruisce il grafo di connettività C
⋆ si individuano i nodi (celle) cs e cg cui appartengono qs e
qg
• La ricerca su grafo fornisce un canale tra cs e cg
⋆ si estrae un cammino libero che unisce qs a qg via i punti
medi dei segmenti di frontiera comune tra celle adiacenti
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Algoritmo
1. Generare una decomposizione poligonale convessa (trapezoidale)
di Cf ree
2. Costruire il grafo di connettività C associato alla decomposizione
3. Ricercare su C un canale di celle da cs a cg
4. Se la ricerca ha successo, estrarre un cammino privo di collisioni
tra qs e qg ; altrimenti, riportare un fallimento
• Per la ricerca di un cammino minimo, si usa l’algoritmo di
ricerca A⋆
• Il metodo è multiple-query (il grafo di connettività può essere
riutilizzato)
• Il canale è più flessibile della roadmap poiché contiene una
infinità di cammini (vincoli cinematici, ostacoli imprevisti)
• Possibilità di curve fitting tra spezzate
• Se Cf ree è un sottoinsieme limitato poliedrale di C = IR3 ⇒
algoritmo sweep-plane
• Estensione a spazi di configurazione di dimensione arbitraria
⇒ complessità esponenziale nella dimensione di C
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Decomposizione approssimata
• Ipotesi
⋆ Cf ree sottoinsieme limitato poligonale di C = IR2
• Celle disgiunte ma di forma predefinita, per es. quadrati
(approssimazione per difetto)
⋆ la convessità garantisce la semplicità di pianificare in una
cella e tra celle adiacenti
• Algoritmo ricorsivo per la decomposizione
⋆ compromesso tra semplicità e accuratezza
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
qs
qg
qs
qg
• Dividere inizialmente Cf ree in 4 celle, classificandole:
⋆ celle libere, il cui interno non ha intersezioni con la regione
dei C–ostacoli
⋆ celle occupate, interamente contenute nella regione dei C–
ostacoli
⋆ celle miste, né libere né occupate.
• Costruire il grafo di connettività C associato al livello corrente
⋆ nodi ≡ celle libere e miste
⋆ archi ≡ congiungono nodi rappresentativi di celle adiacenti
• Cercare un cammino (canale libero) tra i nodi corrispondenti a
qs e qg (via algoritmo A⋆ ); altrimenti fallimento
⋆ se canale misto, decomporre ciascuna cella mista in 4 celle
. . . sino a trovare un canale libero o una dimensione minima
per le celle
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
• Riducendo la dimensione minima ammissibile, si trova una
soluzione se esiste (metodo completo in risoluzione)
• Più semplice della decomposizione esatta
• Decomposizione ricorsiva usando quadtrees
⋆ generalizzabile in IR3 (octrees)
⋆ complessità esponenziale (max n = 4)
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
PIANIFICAZIONE PROBABILISTICA
• Pianificatori basati su campionamento
⋆ efficienti per pianificazione in spazi delle configurazioni a
dimensione elevata
• Roadmap costruita attraverso un insieme finito di configurazioni
appartenenti a Cf ree a connettività soddisfacente, quindi si itera
⋆ approccio deterministico (griglia regolare sovrapposta a C)
⋆ approccio randomizzato (configurazioni campione generate
in modo casuale)
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Metodo Probabilistic Roadmap (PRM)
• Iterazione base per costruire la PRM
⋆ generare qrand in C secondo una distribuzione di probabilità
uniforme
⋆ test di collisione su B(qrand )
⋆ se qrand ∈ Cf ree , aggiungerla alla PRM; altrimenti,
scartarla
⋆ cercare lungo la PRM configurazioni sufficientemente
vicine qnear (metrica euclidea o altre)
⋆ se possibile, connettere qrand a qnear con un cammino
locale libero (rettilineo)
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
qs
qg
• Presenza di componenti della PRM non connesse tra di loro
(una isolata)
• Non si calcolano i C–ostacoli
• I passaggi stretti sono scarsamente campionati (distribuzioni
diverse da quella uniforme)
• La generazione della PRM viene arrestata quando:
⋆ si raggiunge un numero max di iterazioni
⋆ il numero di componenti non connesse diventa inferiore a
limite assegnato
⇓
• Se qs e qg possono essere connesse alla stessa componente della
PRM, trovare la soluzione con una ricerca su grafo; altrimenti,
infittire la PRM attraverso più iterazioni
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
• Caratteristiche del metodo PRM
⋆ intrinsecamente multiple-query
⋆ semplice e veloce: il tempo per trovare una soluzione in
spazi delle configurazioni di dimensione elevata ridotto di
vari ordini di grandezza rispetto ai metodi precedenti
⋆ è solo completo in probabilità ≡ la probabilità di trovare una
soluzione al problema di pianificazione, se questa esiste,
tende a 1 al tendere del tempo di esecuzione a ∞ (se non
esiste una soluzione, si arresta comunque dopo un numero
max di iterazioni)
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Metodo Rapidly-exploring Random Tree (RRT)
bidirezionale
• Iterazione base per costruire un albero T
⋆ Ts con radice in qs
⋆ generare qrand in C secondo una distribuzione di probabilità
uniforme
⋆ cercare l’albero per la configurazione più vicina qnear
(metrica euclidea o altre)
⋆ generare qnew a distanza δ da qnear nella direzione di qrand
⋆ test di collisione su B(qnew ) e il segmento da qnear a qnew
⋆ se il test è negativo, aggiungere qnew a Ts (espansione)
• Il processo di generazione di qnew risulta automaticamente
polarizzato verso regioni di Cf ree ancora non visitate
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
qs
qs
Ts
qnear
&
q new
Tg
qg
qg
qrand
q new
• Introduzione di Tg con radice in qg
• Espansione dei due alberi, estendendo l’uno verso l’altro
⋆ usare l’ultima qnew generata per Ts come qrand per Tg sino
a trovare un cammino libero, altrimenti si invertono i ruoli
di Ts e Tg
• Caratteristiche del metodo RRT bidirezionale
⋆ intrinsecamente single-query
⋆ completo in probabilità
⋆ passo δ variabile (variante greedy)
⋆ può essere adattato a estensioni del problema di
pianificazione canonico
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
• Estensione ai robot anolonomi
⋆ pianificazione del moto per un uniciclo in C = IR2 × SO(2)
  

 
ẋ
cos θ
0
 ẏ  =  sin θ  v +  0  ω
1
θ̇
0
⋆ cammini lineari in C come quelli impiegati per connettere
qnear a qrand non sono ammissibili
⋆ è possibile impiegare primitive di moto per una scelta
opportuna degli ingressi di velocità (Dubins car)
v = v̄
ω = {−ω̄, 0, ω̄}
t ∈ [0, ∆]
cui corrispondono tre cammini elementari
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
⋆ l’algoritmo è lo stesso con l’unica differenza che qnew viene
generato da qnear scegliendo uno dei possibili cammini (in
maniera randomizzata o come quello che porta l’uniciclo
più vicino a qrand )
⋆ se è possibile raggiungere qg da qs con una concatenazione
libera di primitive, la probabilità di trovare una soluzione
tende a 1 al tendere del tempo a ∞
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
PIANIFICAZIONE MEDIANTE POTENZIALI
ARTIFICIALI
• I robot di servizio devono essere in grado di pianificare il moto
in linea, utilizzando informazioni parziali sullo spazio di lavoro
raccolte attraverso i sensori (caratteristiche di autonomia)
⋆ informazioni sensoriali integrate in una mappa secondo un
paradigma sense–plan–move (navigazione deliberativa)
⋆ informazioni sensoriali impiegate per pianificare moti
secondo un paradigma stimulus-response (navigazione
reattiva)
• Campi di potenziali artificiali
⋆ il punto che rappresenta il robot viene attratto (potenziale
Ua ) da qg e respinto (potenziale Ur ) dalla regione CO
⋆ pianificazione in modo incrementale: a ogni configurazione
q, la forza artificiale viene generata come −∇(Ua (q) +
Ur (q))
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Potenziale attrattivo
• Obiettivo: guidare il robot verso qg
• Paraboloide
Ua1 (q) =
1
1
ka eT (q)e(q) = ka ke(q)k2
2
2
⋆ forza lineare in e = qg − q
fa1 (q) = −∇Ua1 (q) = ka e(q)
• Conica
Ua2 (q) = ka ke(q)k
⋆ forza costante
fa2 (q) = −∇Ua2 (q) = ka
e(q)
ke(q)k
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
• Soluzione conveniente
Ua (q) =
1
ka ke(q)k2
kb ke(q)k
2
ke(q)k ≤ ρ
ke(q)k > ρ
⋆ Continuità di fa nella transizione
ka e(q) = kb
ovvero kb = ρ ka
e(q)
ke(q)k
ke(q)k = ρ
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Potenziale repulsivo
• Obiettivo: tenere il robot lontano da CO
• Ipotesi
⋆ CO decomposta in componenti convesse COi
• Per ogni COi , si definisce un potenziale repulsivo

γ
1
1
k
 r,i
−
Ur,i (q) =
γ
ηi (q) η0,i

0
ove kr,i > 0, γ = 2, 3, . . . e
′
kq
−
q
k
ηi (q) = min
′
q ∈CO i
⋆ η0,i è il raggio di influenza di CO i
ηi (q) ≤ η0,i
ηi (q) > η0,i
ROBOTICA AVANZATA
⋆ kr = 1, γ = 2
Prof. Bruno SICILIANO
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
• Forza repulsiva
fr,i (q) = −∇Ur,i (q)

γ−1
1
1
 kr,i
∇ηi (q) ηi (q) ≤ η0,i
= ηi2 (q) ηi (q) − η0,i

0
ηi (q) > η0,i
⋆ fr,i è ortogonale al contorno equipotenziale passante per q
e punta nella direzione che si allontana dall’ostacolo
⋆ fr,i è continua ovunque grazie alla decomposizione
convessa di CO
• Potenziale repulsivo aggregato di CO
Ur (q) =
p
X
i=1
Ur,i (q)
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Potenziale totale
• Sovrapposizione
Ut (q) = Ua (q) + Ur (q)
• Campo di forza
ft (q) = −∇Ut (q) = fa (q) +
p
X
i=1
⋆ minimi locali
fr,i (q)
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Tecniche di pianificazione
1. τ = ft (q)
⋆ comandi diretti in coppia al robot
2. q̈ = ft (q)
⋆ necessario risolvere la dinamica inversa
3. q̇ = ft (q)
⋆ controllo cinematico
• La 1. genera i movimenti più dolci, mentre la 3. è più veloce
(indipendentemente dalla dinamica del robot) per correggere il
moto; la 2. fornisce risultati intermedi
• Solo la 3. garantisce (in assenza di minimi locali) la stabilità
asintotica di qg ; smorzamento in velocità necessario per le 1. e
2.
• Pianificazione fuori linea
⋆ cammini generati integrando numericamente . . . con
riferimento alla 3. (algoritmo di massima discesa)
qk+1 = qk + T ft (qk )
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Il problema dei minimi locali
• Se un cammino pianificato entra nel bacino di attrazione di un
minimo locale qm di Ut , la pianificazione si blocca ft (qm ) =
−∇Ut (qm ) = 0
• Il potenziale totale presenta inevitabilmente minimi locali =⇒
metodi non completi (qg può non essere raggiunta anche quando
una soluzione al problema esiste)
⋆ esistono rimedi, seppure la completezza non sia tipicamente
richiesta per la pianificazione in linea
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
• Algoritmo best-first
⋆ costruire una rappresentazione discretizzata (per difetto) di
Cf ree tramite una griglia regolare e associare a ogni cella
libera della cella il valore di Ut al suo punto centrale
⋆ costruire l’albero T con radice in qs : a ogni iterazione,
selezionare la foglia di T con il valore minimo di Ut e
aggiungere come successori le celle adiacenti a essa che
non sono in T
⋆ arrestarsi quando si raggiunge qg o riportare il fallimento
⋆ nel caso di successo, costruire il cammino soluzione
risalendo l’albero da qg a qs
• Caratteristiche
⋆ evolve come versione discretizzata su griglia del metodo di
massima discesa sino a incontrare un minimo locale
⋆ in un minimo locale, “riempie” il bacino di attrazione sino
a trovare una via d’uscita
⋆ è completo in risoluzione
⋆ la sua complessità è esponenziale nella dimensione di C
(n ≤ 3)
⋆ l’efficienza migliora se si alternano passi casuali (random
walks) alle iterazioni per riempire il bacino (randomized
best-first)
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
• Funzioni di navigazione
⋆ i cammini generati dall’algoritmo best-first sono tutt’altro
che efficienti (minimi locali non evitati)
⋆ si costruiscono dei potenziali artificiali privi di minimi locali
(funzioni di navigazione)
⋆ se i C–ostacoli sono stellati, si può costruire un
diffeomorfismo che trasformi CO in una collezione di
sfere, generare il potenziale nello spazio trasformato, e
antitrasformarlo per ottenere un potenziale privo di minimi
locali in C
⋆ una possibilità alternativa è quella di definire il potenziale
come una funzione armonica
• Funzione numerica di navigazione
2
1
2
1
0
1
2
1
2
3
3
4
3
4
3
5
6
7
8
9
19
6
7
8
9
10
18
7
8
10 11
17
5
6
7
12
16
5
6
7
12 13
15
4
8
5
6
7
6
7
8
9
6
7
8
7
8
9
10 11 12 13 14 15
10 11 12 13 14
⋆ wavefront expansion algorithm
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
IL CASO DEI ROBOT MANIPOLATORI
• La complessità della pianificazione del moto è notevole, a causa
della dimensione elevata dello spazio delle configurazioni (n ≥
4)
⋆ manipolatore antropomorfo a 6 gradi di libertà: sostituire il
polso sferico (e l’organo terminale) con il volume ‘spazzato’
(approssimazione per eccesso dell’ingombro)
• La costruzione e la forma di CO sono complicate dalla presenza
dei giunti rotoidali
• Pianificazione fuori linea
⋆ i metodi probabilistici forniscono le prestazioni migliori
(test di collisione onerosi)
• Pianificazione in linea
⋆ adattamento del metodo dei potenziali artificiali
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
Potenziali artificiali
• Per evitare il calcolo di CO e lavorare in uno spazio a
dimensione ridotta, si costruisce il potenziale in W = IRN
(anziché in C) e viene fatto agire su un insieme di punti di
controllo distribuiti lungo il robot
⋆ un punto per braccio p1 , . . . , pP −1 sui quali agisce il
potenziale repulsivo Ur
⋆ un punto sull’organo terminale pP su cui agisce il potenziale
totale Ut = Ua + Ur
1. Si impongono ai giunti del robot le forze generalizzate risultanti
dai vari campi di forza
τ =−
P
−1
X
JiT (q)∇Ur (pi ) − JPT (q)∇Ut (pP )
i=1
⋆ Ji (q), i = 1, . . . , P : Jacobiano relativo al punto di controllo
2. Pianificazione puramente cinematica
q̇ = −
P
−1
X
JiT (q)∇Ur (pi ) − JPT (q)∇Ut (pP )
i=1
⋆ velocità di giunto come riferimento per gli anelli di controllo
di basso livello
ROBOTICA AVANZATA
Prof. Bruno SICILIANO
• La 2. corrisponde a un passo di minimizzazione basata su
gradiente di un potenziale combinato in W
∇q U (pi ) =
∂U (pi (q))
∂q
T
=
∂U (pi ) ∂pi
∂pi ∂q
T
= JiT (q)∇U (pi )
• La 1. genera movimenti più dolci, mentre la 2. è più veloce
(indipendentemente dalla dinamica del robot) per effettuare
correzioni del moto
• Entrambe possono bloccarsi in corrispondenza di equilibri tra
forze puramente repulsive e forze attrattive–repulsive (anche se
Ut non è in un minimo locale)
S
S
G
G
⋆ il metodo dovrebbe essere utilizzato in congiunzione con
un algoritmo best-first