scaricare
Transcript
scaricare
ROBOTICA AVANZATA ROBOT MOBILI Vincoli anolonomi Modello cinematico Pianificazione Controllo del moto Localizzazione odometrica Prof. Bruno SICILIANO ROBOTICA AVANZATA Prof. Bruno SICILIANO ROBOT MOBILI • I problemi fondamentali della robotica mobile ⋆ localizzazione (dove sono?) ⋆ pianificazione del percorso e della traiettoria (come raggiungo l’obiettivo?) ⋆ controllo del moto (come faccio a muovermi?) • Saper risolvere simultaneamente i tre problemi di sopra in ambienti ⋆ incerti ⋆ non strutturati ⋆ dinamici ⇓ Autonomia ROBOTICA AVANZATA Prof. Bruno SICILIANO Architettura deliberativa • Percezione ⋆ propriocettiva: posizione, orientamento, velocità del robot stesso ⋆ esterocettiva: posizione relativa di ostacoli, altri robot, persone • ampia gamma di sensori ⋆ propriocettivi: encoders, inertial navigation systems (INS), global positioning systems (GPS) ⋆ esterocettivi: range finders, videocamere, sensori tattili, sensori di prossimità ROBOTICA AVANZATA Altre architetture • architettura reattiva ⋆ non pensare, (re-)agisci • architettura ibrida ⋆ pensa e agisci simultaneamente • architettura comportamentale ⋆ pensa alla modalità di azione Prof. Bruno SICILIANO ROBOTICA AVANZATA Prof. Bruno SICILIANO VINCOLI ANOLONOMI • Vincoli cinematici che limitano la mobilità locale ⋆ non impediscono di raggiungere qualsiasi punto dello spazio delle configurazioni (in assenza di ostacoli) q∈C ⋆ localmente q ∈ IRn (lo spazio delle configurazioni è una varietà topologica (manifold)) • Vincoli olonomi (integrabili) hi (q) = 0 i = 1, . . . , k < n ⋆ la dimensione dello spazio delle configurazioni si riduce • Vincoli cinematici ai (q, q̇) = 0 i = 1, . . . , k < n ⋆ limitano i moti istantanei ammissibili ⋆ forma Pfaffiana (lineare nelle velocità) aTi (q)q̇ = 0 ai : C 7→ IRn i = 1, . . . , k < n di classe C ∞ o in forma matriciale AT (q)q̇ = 0 ROBOTICA AVANZATA Prof. Bruno SICILIANO • Se un sistema meccanico è soggetto a vincoli olonomi allora è soggetto anche a vincoli cinematici (in forma Pfaffiana) hi (q) = 0 ⇒ ∂hi (q) dhi (q) = q̇ = 0 dt ∂q i = 1, . . . , k • Il viceversa è vero solo se il vincolo cinematico è integrabile, altrimenti esso di dice anolonomo ⋆ condizione di integrabilità per un singolo vincolo Pfaffiano ∃h(q) : ∂h = γ(q)aT (q) ∂q con fattore di integrazione γ(q) 6= 0, e quindi h(q) = c superficie di livello di dimensione n − 1 perdita di accessibilità dello spazio delle configurazioni ⇓ vincolo olonomo • I vincoli anolonomi non riducono la dimensione dello spazio delle configurazioni però limitano la mobilità del sistema ⋆ sono ammissibili solo le velocità nel N (aT (q)) ROBOTICA AVANZATA Prof. Bruno SICILIANO Esempio r ? • Disco che rotola senza strisciare ⋆ coordinate generalizzate q = [x y θ ]T ⋆ vincolo cinematico (puro rotolamento) ẋ sin θ − ẏ cos θ = [ sin θ −cos θ 0 ] q̇ = 0 la velocità lineare del punto di contatto non può avere componenti lungo la direzione normale al piano sagittale la velocità di rotazione del disco intorno all’asse verticale è libera ROBOTICA AVANZATA Prof. Bruno SICILIANO r R7 RW ? • non c’è perdità di accessibilità • il disco può essere condotto da una qualunque configurazione qi = [ xi yi θi ]T a una qualunque configurazione qf = [ xf yf θf ]T senza violare il vincolo con la sequenza di tre manovre ⋆ ruoto il disco intorno all’asse verticale in modo che l’asse sagittale passi per il punto (xf , yf ) ⋆ rotolo il disco fino a raggiungere (xf , yf ) ⋆ ruoto attorno all’asse verticale fino a che θ = θf ROBOTICA AVANZATA Prof. Bruno SICILIANO Condizioni di integrabilità • Per stabilire se il vincolo è olonomo o anolonomo, occorre stabilire se esso è integrabile o no • Condizione necessaria e sufficiente affinché un singolo vincolo Pfaffiano aT (q)q̇ = n X aj (q)q̇j = 0 j=1 sia integrabile, è l’esistenza di una funzione scalare h(q) e un fattore di integrazione γ(q) 6= 0 tali che γ(q)aj (q) = ∂h(q) ∂qj j = 1, . . . , n • Una condizione equivalente che non contiene la funzione incognita h(q) si ottiene applicando il teorema di Schwarz sulle derivate seconde ∂(γaj ) ∂(γak ) = ∂qj ∂qk j, k = 1, . . . , n, j 6= k ⋆ basta osservare che, per il suddetto teorema ∂(γaj ) ∂2h ∂2h ∂(γak ) = = = ∂qk ∂qk qj ∂qj qk ∂qj • Nel caso di vincoli Pfaffiani multipli, useremo un diverso approccio ROBOTICA AVANZATA Prof. Bruno SICILIANO Esempio • Si consideri il vincolo cinematico di puro rotolamento del disco su un piano orizzontale ẋ sin θ − ẏ cos θ = [ sin θ −cos θ 0 ][ ẋ ẏ θ̇ ]T = 0 ⋆ applicando la condizione di integrabilità ∂γ ∂γ = −cos θ ∂y ∂x ∂γ = γsin θ cos θ ∂θ ∂γ sin θ = −γcos θ ∂θ sin θ ⋆ quadrando e sommando le ultime due risulta cui ∂γ ∂θ = ±γ, per γcos θ = γsin θ γsin θ = −γcos θ che ha come unica soluzione γ = 0 e quindi il vincolo non è integrabile per cui è anolonomo ROBOTICA AVANZATA Prof. Bruno SICILIANO MODELLO CINEMATICO • Consideriamo un sistema di k vincoli Pfaffiani AT (q)q̇ = 0 ⋆ le velocità ammissibili sono quelle che appartengono al N (AT (q)) che ha dimensione n − k, una cui base sia { g1 (q), . . . , gn−k (q) } ⋆ dunque le velocità ammissibili sono tali che q̇ = m X gj (q)uj = G(q)u m=n−k j=1 • Tale equazione può essere vista come quella di un sistema dinamico non lineare del primo ordine con stato q ∈ IRn e ingresso di controllo u ∈ IRm ⋆ le soluzioni del sistema sono le traiettorie q(t) eseguite dal sistema meccanico vincolato ⋆ esistono infinite scelte possibili per G(q) e può accadere che u non abbia il significato degli ingressi di controllo q̇ = G(q)u modello cinematico ROBOTICA AVANZATA Prof. Bruno SICILIANO • Si può dimostrare che l’anolonomia dei vincoli cinematici è equivalente alla controllabilità del modello cinematico (sistema non lineare) q̇ = G(q)u ⋆ se il sistema è controllabile vuol dire che comunque date due configurazioni qi e qf in C, esiste sempre un ingresso u(t) che porta da qi a qf , cioè esiste una traiettoria q(t) che unisce qi e qf rispettando i vincoli ⋆ se il sistema non è controllabile vuol dire che i vincoli cinematici riducono l’accessibilità di C a seconda della dimensione ν del sottospazio di accessibilità ⇒ m<ν<n vincoli parzialmente integrabili ⇓ sistema meccanico anolonomo m=ν ⇒ vincoli completamente integrabili ⇓ sistema meccanico olonomo • Lo studio della controllabilità dei sistemi non lineari in generale esula dai limiti di questo corso ⋆ nel caso di un singolo vincolo cinematico la condizione di integrabilità coincide con quella di involutività della ∆ = span{g1 , . . . , gn−1 } ROBOTICA AVANZATA Prof. Bruno SICILIANO Uniciclo r K 4 F1 Fn ? • È un veicolo con una sola ruota che rotola senza strisciare ⋆ coordinate generalizzate: q = [ x y θ ]T ⋆ vincolo cinematico di puro rotolamento ẋ sin θ − ẏ cos θ = [ sin θ −cos θ 0 ]q̇ = 0 ROBOTICA AVANZATA Prof. Bruno SICILIANO • Modello cinematico ⋆ lo spazio nullo della matrice (vettore riga) AT (q) ha per base g1 (q) e g2 (q) colonne della matrice cos θ 0 G(q) = [ g1 (q) g2 (q) ] = sin θ 0 0 1 ⋆ le velocità si possono quindi scrivere come combinazione lineare di tali colonne ẋ 0 cos θ ẏ = sin θ v + 0 ω 1 0 θ̇ v è la velocità lineare del punto di contatto ω è la velocità angolare del robot (rotazione intorno all’asse verticale) ROBOTICA AVANZATA Prof. Bruno SICILIANO • I robot reali non hanno mai una sola ruota per problemi di stabilità meccanica ⋆ veicolo a trazione differenziale r(ωR − ωL ) r(ωR + ωL ) ω= 2 d r è il raggio delle ruote d è la distanza tra i centri delle ruote il punto medio dell’asse delle ruote è il punto di coordinate (x, y) θ è l’orientamento delle ruote e quindi del veicolo v= ROBOTICA AVANZATA Prof. Bruno SICILIANO Biciclo * r g f ? • È un veicolo avente una ruota orientabile e una ruota fissa ⋆ coordinate generalizzate: q = [ x y θ φ ]T (x, y): coordinate cartesiane del punto di contatto tra la ruota posteriore e il suolo θ: orientamento del veicolo rispetto all’asse x φ: angolo di sterzo della ruota anteriore rispetto al veicolo • Due vincoli cinematici di puro rotolamento, uno per ogni ruota ẋf sin (θ + φ) − ẏf cos (θ + φ) = 0 ẋ sin θ − ẏ cos θ = 0 ROBOTICA AVANZATA Prof. Bruno SICILIANO ⋆ posizione cartesiana del centro della ruota anteriore xf = x + ℓ cos θ yf = y + ℓ sin θ ℓ: distanza tra le ruote ẋ sin (θ + φ) − ẏ cos (θ + φ) − ℓ θ̇ cos φ = 0 ROBOTICA AVANZATA Prof. Bruno SICILIANO • Vincoli Pfaffiani sin θ AT (q) = sin (θ + φ) −cos θ 0 −cos (θ + φ) −ℓ cos φ 0 0 ⋆ rango costante k = 2 ⇒ velocità ammissibili come combinazione lineare di una base del N (AT (q)) (n − k = 2) ẋ cos θ cos φ 0 ẏ sin θ cos φ 0 = u + u2 1 θ̇ sin φ/ℓ 0 0 1 φ̇ • La ruota anteriore è orientabile ⇒ u2 = ω velocità angolare di sterzo ROBOTICA AVANZATA Prof. Bruno SICILIANO • Trazione anteriore: u1 = v (velocità lineare di trazione) ⋆ modello cinematico ẋ 0 cos θ cos φ ẏ sin θ cos φ 0 = v + ω = g1 (q)v + g2 (q)ω θ̇ 0 sin φ/ℓ 1 0 φ̇ cos θ sin φ sin θ sin φ g3 (q) = [g1 , g2 ](q) = −cos φ/ℓ 0 −sin θ/ℓ cos θ/ℓ g4 (q) = [g1 , g3 ](q) = 0 0 entrambi linearmente indipendenti da g1 (q) e g2 (q) ⇓ dim ∆A = dim ∆3 = dim span{g1 , g2 , g3 , g4 } = 4 ⋆ il biciclo a trazione anteriore è controllabile con grado di anolonomia κ = 3 ROBOTICA AVANZATA Prof. Bruno SICILIANO • Trazione posteriore: u1 = v/cos φ (velocità lineare di trazione) ⋆ modello cinematico (φ 6= ±π/2) ẋ 0 cos θ ẏ sin θ 0 = v + ω θ̇ 0 tan φ/ℓ 1 0 φ̇ 0 0 1 g3 (q) = [g1 , g2 ](q) = − ℓ cos 2 φ 0 sin θ − ℓ cos 2 φ cos θ g4 (q) = [g1 , g3 ](q) = ℓ cos 2 φ 0 0 linearmente indipendenti da g1 (q) e g2 (q). ⋆ il biciclo a trazione posteriore è controllabile con grado di anolonomia κ = 3 ROBOTICA AVANZATA Prof. Bruno SICILIANO • Veicoli cinematicamente equivalenti (meccanicamente bilanciati) ⋆ triciclo ⋆ automobile ⋆ stessi modelli cinematici (trazione anteriore o posteriore) (x, y): coordinate cartesiane del punto medio dell’asse posteriore θ: orientamento del veicolo φ: angolo di sterzo ROBOTICA AVANZATA Prof. Bruno SICILIANO PIANIFICAZIONE • Separazione cammino-legge oraria t ∈ [ti , tf ] q(t) q(ti ) = qi q(tf ) = qf q(s), s ∈ [0, L] : q(0) = qi , ⋆ cammino dq(s) 6= 0 ds q(L) = qf ∀s ⋆ legge oraria s(t), s(ti ) = 0, s(tf ) = L ṡ(t) ≥ 0, t ∈ [ti , tf ] • la velocità nello spazio delle configurazioni è allora parallela alla tangente al cammino q̇ = dq dq = ṡ = q ′ ṡ dt ds ROBOTICA AVANZATA Prof. Bruno SICILIANO • I vincoli anolonomi cui è soggetto il robot mobile sono allora AT (q)q̇ = AT (q)q ′ ṡ = 0 ⇓ se ṡ(t) > 0 ⋆ ammissibilità geometrica AT (q)q ′ = 0 ∀s • Il cammino q(s) è la soluzione del sistema dinamico non lineare q ′ = G(q)ũ ⋆ ũ sono gli ingressi geometrici u(t) = ũ(s)ṡ(t) ⋆ assegnati gli ingressi geometrici, il cammino è univocamente determinato • Come fare a determinare gli ingressi geometrici tali che il corrispondente cammino soddisfi il vincolo di anolonomia? ROBOTICA AVANZATA Prof. Bruno SICILIANO Uscite piatte • I modelli cinematici di molti robot mobili (tra cui uniciclo e biciclo) godono della proprietà di piattezza differenziale ẋ = f (x) + G(x)u ⋆ esiste un insieme di uscite y tali che lo stato e gli ingressi sono esprimibili algebricamente in funzione di tale uscita e un certo numero di sue derivate x = x(y, ẏ, ÿ, . . . , y (r) ) u = u(y, ẏ, ÿ, . . . , y (r) ) • Per l’uniciclo e il biciclo le uscite piatte sono proprio la posizione (x, y) nel piano cartesiano ⋆ per l’uniciclo i cammini geometricamente ammissibili sono le soluzioni del sistema x′ = cos θṽ y ′ = sin θṽ θ′ = ω̃ ROBOTICA AVANZATA Prof. Bruno SICILIANO • Dato un cammino cartesiano (x(s), y(s)) lo stato ad esso associato è q(s) = [ x(s) y(s) θ(s) ]T , dove θ(s) = Atan2(y ′ (s), x′ (s)) + kπ k = 0, 1 ⋆ k = 0 corrisponde alla marcia in avanti ⋆ k = 1 corrisponde alla marcia indietro • Gli ingressi geometrici sono facilmente ottenibili algebricamente p ṽ(s) = ± ((x′ (s))2 + (y ′ (s))2 y ′′ (s)x′ (s) − x′′ (s)y ′ (s) ω̃(s) = (x′ (s))2 + (y ′ (s))2 • Casi particolari ⋆ la scelta del segno di ṽ(s) è legata al senso di marcia ⋆ se per qualche s̄ risulta x′ (s̄) = y ′ (s̄) = 0 l’orientamento e la velocità angolare vanno calcolati per continuità (come limite per s → s̄− ) ⋆ se il cammino degenera in un punto θ e ω̃ non sono ricostruibili ROBOTICA AVANZATA Prof. Bruno SICILIANO Pianificazione di cammini mediante polinomi cartesiani • Se il modello cinematico di un robot mobile ammette uscite piatte ⋆ si pianifica il cammino per tali uscite ⋆ dal modello cinematico si ricavano (algebricamente) il cammino per lo stato e i corrispondenti ingressi geometrici ⋆ questa procedura garantisce che il cammino nello spazio delle configurazioni q(s) soddisfi i vincoli anolonomi • Pianificazione per un uniciclo ⋆ configurazione iniziale qi = q(0) = [ xi yi θi ]T ⋆ configurazione finale qf = q(1) = [ xf yf θf ]T ⋆ (x, y) sono uscite piatte ⇒ è sufficiente interpolare con due polinomi (cubici) x(s) e y(s) i valori iniziali e finali x(s) = s3 xf − (s − 1)3 xi + αx s2 (s − 1) + βx s(s − 1)2 y(s) = s3 yf − (s − 1)3 yi + αy s2 (s − 1) + βy s(s − 1)2 ⋆ per soddisfare le condizioni al contorno sull’orientamento x′ (0) = ki cos θi x′ (1) = kf cos θf y ′ (0) = ki sin θi y ′ (1) = kf sin θf con ki e kf parametri liberi ROBOTICA AVANZATA Prof. Bruno SICILIANO ⋆ ponendo per esempio ki = kf = k > 0 si ottiene αx αy kcos θf − 3xf = ksin θf − 3yf βx βy kcos θi + 3xi = ksin θi + 3yi ⋆ il cammino dell’orientamento e gli ingressi geometrici vengono determinati dal modello cinematico come visto ⋆ il valore di k influenza la forma del cammino pianificato manovra di parcheggio parallelo RW >P@ >P@ RW R7 R7 >P@ k = 10 >P@ k = 20 ROBOTICA AVANZATA Prof. Bruno SICILIANO Pianificazione di traiettorie • Le tecniche viste finora potrebbero essere applicate anche considerando la variabile s come la variabile temporale s = t ⋆ la durata della traiettoria è stabilita a priori tf − ti = sf − si ⋆ se le velocità calcolate eccedono i limiti ammissibili per il robot |v(t)| < vmax |ω(t)| < ωmax ∀t allora occorrerebbe aumentare la durata e quindi ripianificare il cammino • Adottando invece la separazione tra cammino e legge oraria, è sufficiente scalare uniformemente la traiettoria ds 1 ds dτ = ṽ(s) dτ dt dτ T ds 1 ds dτ = ω̃(s) ω(t) = ω̃(s)ṡ(t) = ω̃(s) dτ dt dτ T v(t) = ṽ(s)ṡ(t) = ṽ(s) con τ = t/T e T = tf − ti sufficientemente alto in modo da rispettare i limiti di velocità • La legge oraria s(t) si può ricavare con i metodi già visti per la pianificazione di traiettorie per i robot manipolatori ROBOTICA AVANZATA Prof. Bruno SICILIANO CONTROLLO DEL MOTO Rw0D RQ 0 RQw0D R( • I problemi di controllo del moto sono i due classici ⋆ inseguimento di traiettoria (sinistra) ⋆ regolazione di configurazione (destra) • Il primo è quello più rilevante in pratica ⋆ permette di gestire la presenza di ostacoli • Gli ingressi di controllo sono quasi sempre le velocità e non le forze generalizzate ⋆ disponibilità di anelli di controllo di basso livello già integrati nell’architettura hw/sw del robot ⋆ uso del modello cinematico per risolvere il problema del controllo del moto ROBOTICA AVANZATA Prof. Bruno SICILIANO Inseguimento di traiettorie • Traiettoria desiderata ammissibile ẋd = vd cos θd ẏd = vd sin θd θ̇d = ωd ⋆ uso degli schemi di pianificazione studiati (uscite piatte) xd (t), yd (t) ⇓ θd = Atan2(ẏd (t), ẋd (t)) + kπ q vd (t) = ± ẋ2d (t) + ẏd2 (t) ωd (t) = k = 0, 1 ÿd (t)ẋd (t) − ẍd (t)ẏd (t) ẋ2d (t) + ẏd2 (t) • Definizione dell’errore di inseguimento e1 cos θ e = e2 = −sin θ e3 0 sin θ cos θ 0 0 xd − x xd − x 0 yd − y = Rz (θ) yd − y 1 θd − θ θd − θ ROBOTICA AVANZATA Prof. Bruno SICILIANO • Considerando il modello cinematico dell’uniciclo, si ottiene la dinamica dell’errore ė1 = vd cos e3 − v + e2 ω ė2 = vd sin e3 − e1 ω ė3 = ωd − ω ⋆ trasformazione (invertibile) degli ingressi v = vd cos e3 − u1 ω = ωd − u2 ⋆ dinamica dell’errore 0 ė = −ωd 0 ωd 0 0 0 0 1 −e2 u 0 e+ sin e3 vd + 0 e1 1 u2 0 0 0 1 ⋆ primo termine lineare tempo-variante ⋆ secondo e terzo termine non lineari ROBOTICA AVANZATA Prof. Bruno SICILIANO • Controllo via linearizzazione ⋆ linearizzando attorno all’origine e = 0 0 ė = −ωd 0 ωd 0 0 0 1 0 u vd e + 0 0 1 u2 0 1 0 ⋆ legge di controllo (in retroazione) lineare nello stato u1 = −k1 e1 u2 = −k2 e2 − k3 e3 ⋆ sistema a ciclo chiuso −k1 ė = A(t)e = −ωd 0 ωd 0 −k2 0 vd e −k3 ⋆ il polinomio caratteristico è p(λ) = λ(λ + k1 )(λ + k3 ) + ωd2 (λ + k3 ) + vd k2 (λ + k1 ) ROBOTICA AVANZATA Prof. Bruno SICILIANO ⋆ se ωd e vd sono costanti il sistema a ciclo chiuso è stabile scegliendo k1 = k3 = 2ζa a2 − ωd2 k2 = vd infatti p(λ) = (λ + 2ζa)(λ2 + 2ζaλ + a2 ) ⋆ e quindi l’origine e = 0 è localmente asintoticamente stabile ⋆ si noti come k2 → ∞ quando vd → 0 ⇓ ⋆ traiettorie cartesiane persistenti ⋆ gli ingressi di controllo in velocità vanno cosı̀ ricostruiti v = vd cos e3 − u1 ω = ωd − u2 che tendono ai riferimenti quando l’errore tende a zero ROBOTICA AVANZATA Prof. Bruno SICILIANO • Controllo non lineare ⋆ dinamica dell’errore di inseguimento ė1 = e2 ω + u1 ė2 = vd sin e3 − e1 ω ė3 = u2 ⋆ legge di controllo non lineare u1 = −k1 (vd , ωd )e1 sin e3 e2 − k3 (vd , ωd )e3 u2 = −k2 vd e3 nell’ipotesi che k1 (·, ·) > 0, k3 (·, ·) > 0 limitate e con derivate limitate k2 > 0 costante vd , ωd limitate e con derivate limitate e non entrambi nulle ⋆ l’errore di inseguimento converge globalmente a zero • Dimostrazione basata sul lemma di Barbalat . . . ROBOTICA AVANZATA Prof. Bruno SICILIANO • Linearizzazione ingresso–uscita ⋆ nuove uscite: posizione di un punto B lungo l’asse sagittale a distanza |b| 6= 0 dal punto di contatto della ruota y1 = x + bcos θ y2 = y + bsin θ ⋆ dinamica delle uscite ẏ1 ẏ2 = cos θ sin θ v v −bsin θ = T (θ) ω ω bcos θ con T (θ) invertibile (det(T (θ)) = b 6= 0) ⋆ controllo linearizzante u v = T −1 (θ) 1 u2 ω ⋆ sistema a ciclo chiuso ẏ1 = u1 ẏ2 = u2 u2 cos θ − u1 sin θ θ̇ = rimane non controllata b ⋆ legge di controllo lineare per portare l’errore a zero u1 = ẏ1d + k1 (y1d − y1 ) u2 = ẏ2d + k2 (y2d − y2 ) ROBOTICA AVANZATA Prof. Bruno SICILIANO • Simulazione: traiettoria circolare e controllo via linearizzazione xd (t) = xc + Rcos (ωd t) yd (t) = yc + Rsin (ωd t) HUURUHFDUWHVLDQR >P@ >P@ >P@ >V@ • Simulazione: traiettoria a otto e controllo non lineare xd (t) = xc + R1 sin (2ωd t) yd (t) = yc + R2 sin (ωd t) >P@ >P@ HUURUHFDUWHVLDQR >P@ >V@ ROBOTICA AVANZATA Prof. Bruno SICILIANO • Simulazione: traiettoria quadrata e controllo con linearizzazione ingresso-uscita (b = 0.2) >PV@ >P@ YHORFLWjOLQHDUH >V@ YHORFLWjDQJRODUH >UDGV@ >P@ >V@ • Simulazione: traiettoria quadrata e controllo con linearizzazione ingresso-uscita (b = 0.75) YHORFLWjOLQHDUH >PV@ YHORFLWjDQJRODUH >UDGV@ >P@ >P@ >V@ ROBOTICA AVANZATA Prof. Bruno SICILIANO LOCALIZZAZIONE ODOMETRICA • Gli algoritmi di controllo del moto richiedono la misura della configurazione del robot mobile (posizione e orientamento in un sistema di riferimento fisso) ⋆ gli encoder montati sulle ruote forniscono solo la rotazione di queste ultime ⋆ occorre un sistema di stima della posizione assoluta del robot mobile (localizzazione) • Localizzazione passiva (dead reckoning) ⋆ si integra numericamente il modello cinematico assumendo che le velocità siano costanti nell’intervallo di campionamento metodo di Eulero in avanti xk+1 = xk + vk Ts cos θk yk+1 = yk + vk Ts sin θk θk+1 = θk + ωk Ts metodo di Runge-Kutta xk+1 yk+1 θk+1 ωk Ts = xk + vk Ts cos θk + 2 ωk Ts = yk + vk Ts sin θk + 2 = θk + ωk Ts ROBOTICA AVANZATA Prof. Bruno SICILIANO • È bene non usare gli ingressi di riferimento ma usare misure da sensori propriocettivi vk Ts = ∆s ωk Ts = ∆θ ⋆ per un veicolo a trazione differenziale ∆s = r (∆φR + ∆φL ) 2 ∆θ = r (∆φR − ∆φL ) d ⋆ è necessario conoscere la configurazione iniziale ⋆ fenomeno della deriva per errori numerici di integrazione ⋆ slittamento delle ruote, raggi delle ruote non noti perfettamente R>Ld R>Ld R>Ld X X X p R> p p R> R> • Localizzazione attiva ⋆ uso di sensori esterocettivi per la correzione della stima ottenuta tramite la localizzazione odometrica ⋆ tecniche di fusione sensoriale (stima Bayesiana)