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