Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D La Corte in Rete
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Alberto Finzi » 6.Modelli di moto


Modelli di Moto

Incertezza nel movimento

  • Modello Probabilistico.
  • Filtro Bayesiano.
  • Un modello possibile sono le reti bayesiane.
  • Azioni, Osservazioni, Transizioni.

Localizzazione: Tassonomia

Locale vs Globale: Location Tracking (posa iniziale nota); Global localization (posa iniziale non nota); kidnapped robot (riposizionamento).

Statica vs Dinamica: oggetti statici o dinamici.

Passiva vs Attiva: movimenti del robot per aiutare la localizzazione.
Robot vs Multi-Robot: più robot possono cooperare per localizzarsi reciprocamente.

Localizzazione Markoviana

Variante del Filtro di Bayes

Richiede una mappa m

Modello di misura: P(zt | xt, m)

Modello di moto: P(xt | ut, xt-1, m)
Vediamo come si istanziano il modello di moto e il modello di misura.

Sistema di Riferimento

  • Configurazione di un robot mobile (posa) descritta da 6 parametri. Coordinate 3D più 3 angoli di Eulero: pitch, roll, and tilt.
  • Assumendo una superficie planare lo spazio di stato è 3-dimensionale (x,y,θ).

Modelli di Moto

Consideriamo due tipi di modelli di moto:

  • basato su odometria;
  • basato su velocità (dead reckoning).

Basato su odometria: usati se il sistema è dotato di wheel encoders.
Basato su velocità: usati senza wheel encoders. La nuova posa calcolata con velocità e il tempo passato.

Modello odometrico

L’odometria è sensore, non controllo.

In questo modello si assume odometria come controllo.

u_t=\left(\begin{array}{cc} \bar x_{t-1}\\ \bar x_t\end{array}\right ) \;\;\text{spostamento}

Modello usato in diversi sistemi di localizzazione e mapping.

Modello Odometrico (segue)

Robot va dalla posa \langle\bar x,\bar y,\bar \theta\rangle  alla posa \langle \bar x',\bar y',\bar \theta'\rangle

Informazione Odometrica: u=\langle \delta_{rot 1}, \delta_{rot 2}, \delta_{trans}\rangle

\delta_{trans}=\sqrt{(\bar x'-\bar x)^2+(\bar y'-\bar y)^2}

\delta_{rot 1}=\text{atan 2}(\bar y'-\bar y, \bar x'-\bar x)-\bar \theta

\delta_{rot 2}=\bar \theta '-\bar \theta-\delta_{rot 1}


Modello Odometrico (segue)

Con la funzione arcotangente modificata:

\text{atan 2}(y,x)=\left\{\begin{array}{llll} \text{atan}(y/x)\;\;\;\;\;\;\;\;\;\;\; \;\;\;\;\;\;\;\;\;\;\;\;\;\;\; \text{if}\; x>0 \\ \text{sign}(y)(\pi-\text{atan}(|y/x|))\;\;\;\;\text{if}\;x<0\\ 0\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\text{if}\;x=y=0\\ \text{sign}(y)\pi/2\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\text{if}\;x=0,y\neq 0\end{array}\right

Modello di Rumore

Il movimento stimato è dato dal movimento reale più un disturbo.

rotazione

\hat \delta_{rot 1}=\delta_{rot 1}+\varepsilon_{\alpha_1|\delta_{rot 1}|+\alpha_2|\delta_{trans}|}

traslazione

\hat \delta_{trans}=\delta_ {trans}+\varepsilon_{\alpha_3|\delta_{trans}|+\alpha_4|\delta_{rot 1}+\delta_{rot 2}|}

rotazione

\hat\delta_{rot 2}=\delta_{rot 2}+\varepsilon_{\alpha_1|\delta_{rot 2}|+\alpha_2|\delta_{trans}|}

Parametri dipendenti dal robot definiscono l’errore.

Distribuzione di probabilità

Distribuzioni di errore tipicamente impiegate.

Distribuzioni di errore tipicamente impiegate.


Distribuzione di probabilità (segue)


Calcolo del Post

Update P(xt | xt-1 e ut ) a partire da xt-1 e ut.

Update P(xt | xt-1 e ut ) a partire da xt-1 e ut.


Applicazione

Andamento tipico – Distribuzione sullo stato x dopol’esecuzione delle azioni u a partire dallo stato x’.

Andamento tipico - Distribuzione sullo stato x dopo l'esecuzione delle azioni u a partire dallo stato x'.


Esempi (Odometry-Based) per diversi setting dei parametri


Modello Basato su velocità

Velocity-Based Model

Sistema controllato in velocità

u_t=\left(\begin{array}{cc} v_t\\ w_t\end{array}\right)

(v,w) Fisse nell’intervallo (t-1,t]

Mov. circolare con raggio

r=\biggl | \frac v w\biggr |

x_c=x-\frac v w\sin \theta

y_c=y+\frac v w \cos \theta


Modello Basato su velocità (segue)

Centro del circolo

\left (\begin{array}{cc} x*\\ y*\end{array}\right) =\left (\begin{array}{cc} x \\ y\end{array}\right)+\left(\begin{array}{cc} -\lambda \sin\theta \\ \lambda \cos\theta\end{array}\right )= \left(\begin{array}{cc}\frac{x+x'}2+\mu(y-y')\\ \frac{y+y'}2+\mu(x'-x)\end{array}\right)

dove

\mu=\frac 1 2 \frac{(x-x')\cos \theta+(y-y')\sin \theta}{(y-y')\cos \theta - (x-x')sin \theta}


Modello Basato su velocità (segue)

Quindi … centro del circolo

\left (\begin{array}{cc} x*\\ y*\end{array}\right) = \left(\begin{array}{cc}\frac{x+x'}2+\frac 1 2 \frac{(x-x')\cos \theta +(y-y')\sin\theta}{(y-y')\cos \theta -(x-x')\sin \theta} (y-y') \\ \\ \frac{y+y'}2+\frac 1 2\frac{(x-x')\cos \theta +(y-y')\sin\theta}{(y-y')\cos\theta -(x-x')\sin\theta}(x'-x)\end{array}\right)

… raggio del circolo

r*=\sqrt{(x-x^*)^2+(y-y^*)^2}=\sqrt{(x'-x^*)^2+(y'-y^*)^2}

… variazione angolare

\Delta\theta=\text{atan2}(y'-y^*, x'-x^*)-\text{atan2}(y-y^*,x-x^*)

Rispetto a x,y e x’,y’

Modello Basato su velocità: Calcolo del Post


Esempi distribuzioni (velocity based)


Consistenza rispetto alla mappa

Se si considera la mappa occorre integrare gli ostacoli.

p(x_t | u_t, x_{t-1})\neq p(x_t | u_t, x_{t-1}, m)

p(x | u,x')\;\;\;\;\;\;\;\;\;\;\;\; p(x | u, x',m)

Approssimazione:

p(x | u, x', m)=\eta \;p(x|m)p(x|u,x')

Sommario Modelli di Moto

  • Modelli basati su odometria e velocità
  • Calcolo della posterior probability p(x| x’, u).
  • Campionamento da p(x| x’, u).
  • Calcolo da intervalli di tempo fissi t.
  • Parameteri del modello devono essere appresi.
  • Modello esteso che considera la mappa.
  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93