Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
I corsi di Scienze Matematiche Fisiche e Naturali
 
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