Categorie
Winzipedia Uso dell'wiki |
Robotica /
05-1L7-MappeDiOccupazioneRobotica.05-1L7-MappeDiOccupazione VersioniNascondi le modifiche minori - Mostra le modifiche Modificate le linee 2-4: da:
''' '''Hanno contribuito:''' a:
'''Autore:''' [[Profiles/DavideGhezzi | Davide Ghezzi]] Modificata la linea 15: da:
**v = di propagazione del segnale {$ %height=65px% v=331+0 a:
**v = di propagazione del segnale {$ %height=65px% v=331+0.6T [m/s] $} Aggiunte le linee 88-89:
Esempio di una griglia di occupazione costruita tramite misurazioni di un sensore sonar: Attach:occupancygridex.jpg Modificate le linee 33-34: da:
a:
Attach:occupancygrid.jpg Modificata la linea 15: da:
**v = di propagazione del segnale {$ v=331+0,6T [m/s] $} a:
**v = di propagazione del segnale {$ %height=65px% v=331+0,6T [m/s] $} Modificata la linea 17: da:
**d = distanza coperta (andata + ritorno) {$ d=vt $} a:
**d = distanza coperta (andata + ritorno) {$ %height=40px% d=vt $} Aggiunta la linea 85:
Attach:fsmodel2.jpg Modificata la linea 76: da:
Il modello diretto del sensore a:
Il modello diretto del sensore la che il sensore misuri una distanza z dato che c' un ostacolo in m'_x,y_' Modificate le linee 79-84: da:
a:
Sotto una rappresentazione 3D della di di un sensore sonar Attach:fsmodel.jpg condizionale espressa in funzione dell'incertezza ->radiale{$%height=30px%sigma_theta $} ->e angolare{$%height=30px%sigma_rho $} Cancellata la linea 86:
Modificate le linee 80-81: da:
{$ p(z|rho,theta)=1/(2*pi*sigma_rho*sigma_theta)e^(- 1/2(((z-rho)^2)/(sigma_rho^2)-(theta^2)/(sigma_theta^2)) $} a:
{$ %height=90px% p(z|rho,theta)=1/(2*pi*sigma_rho*sigma_theta)e^(- 1/2(((z-rho)^2)/(sigma_rho^2)-(theta^2)/(sigma_theta^2)) $} Modificate le linee 80-81: da:
p(z a:
{$ p(z|rho,theta)=1/(2*pi*sigma_rho*sigma_theta)e^(- 1/2(((z-rho)^2)/(sigma_rho^2)-(theta^2)/(sigma_theta^2)) $} Attach:fsmodel.jpg Modificate le linee 68-71: da:
Dalle formule si nota che per calcolare la griglia di occupazione necessario conoscere solo due : #p(m'_x #p(m'_x,y_'|z) a:
Con queste nuove formule si noti che possibile calcolare il nuovo valore senza ricalcolare tutto ogni volta, ma semplicemente sommando il valore calcolato precedentemente al valore ottenuto dalla misurazione attuale. Inoltre i dati necessari si limitano alle due : #'''p(m'_x,y_')''' che in questo caso rappresenta l'inizializzazione della griglia di occupazione. Generalmente si utilizzano valori compresi tra 0.2 e 0.5 a seconda del tipo di ambiente e della di osctacoli che mi aspetto di trovare. #'''p(m'_x,y_'|z)''' che rappresenta la di occupazione della cella x,y in base ad una misurazione z. Modificata la linea 77: da:
->p(z|m'_x,y_') a:
->'''p(z|m'_x,y_')''' Modificate le linee 46-48: da:
a:
'''P(m'_x,y_')''' la che la cella x,y sia occupata '''z'_t_'''' rappresenta la misurazione t ottenuta dal sensore Aggiunta la linea 52:
Modificate le linee 61-62: da:
{$ l $} a:
{$ l_(x,y)^T=log(p(m_(x,y)|z_1,...,z_T))/(1-p(m_(x,y)|z_1,...,z_T))$} {$ p(m_(x,y)|z_1,...,z_T)=1-[e^(l_(x,y)^T)]^(-1) $} Modificata la linea 64: da:
a:
{$ l_(x,y)^t=log(p(m_(x,y)|z_t))/(1-p(m_(x,y)|z_t))+log(1-p(m_(x,y)))/(p(m_(x,y)))+l_(x,y)^(t-1) $} Modificate le linee 66-67: da:
a:
{$ l_(x,y)^0=log(p(m_(x,y)))/(p(1-m_(x,y))) $} Modificata la linea 2: da:
'''Autori:''' [[Profiles/ a:
'''Autori:''' [[Profiles/DavideGhezzi | Ghez]]\\ Aggiunte le linee 43-75:
!!!Costruire la griglia di occupazione tramite il modello diretto del sensore Posto che: P(m'_x,y_'): Prob che la cella x,y sia occupata z'_t_': Rappresenta la misurazione t ottenuta dal sensore Ogni cella va aggiornata singolarmente utilizzando un filtro di Bayes binario. {$ p(m_(x,y)|z_1,...,z_t) = (p(z_t|z_1,...,z_(t-1),m_(x,y))p(m_(x,y)|z_1,...,z_(t-1)))/(p(z_t|z_1,...,z_(t-1))) $} {$ p(z_t|z_1,...,z_(t-1),m_(x,y))=p(z_t|m_(x,y)) $} si arriva a questa formula semplificata: {$ p(m_(x,y)|z_1,...,z_t) = (p(z_t|m_(x,y))p(m_(x,y)|z_1,...,z_(t-1)))/(p(z_t|z_1,...,z_(t-1))) $} Si arriva alla formulazione logaritmica ('''log-odds''') {$ l $} E di conseguenza all'equazione ricorsiva con l'inizializzazione !!!L'algoritmo !!!Modello diretto del sensore (forward sensor model) ->p(z|m'_x,y_') p(z Modificate le linee 39-40: da:
La alta si ha in corrispondenza della cella perpendicolare al sensore alla distanza calcolata La zona rossa significa che a quella distanza dal sonar stato rilevato a:
La alta si ha in corrispondenza della cella perpendicolare al sensore, alla distanza calcolata dalla misurazione (al contrario di quanto si vede dall'immagine questa non 1 ma comunque un numero molto vicino). La zona rossa significa che a quella distanza dal sonar stato rilevato un'ostacolo. Si noti come la scenda molto velocemente avvicinandosi all'emettitore (es. passa da 1 a 0.44 in un solo passo) mentre al contrario come cali di poco spostandosi lateralmente restando sulla zona rossa. Cancellate le linee 42-45:
!!!Sottosezione Contenuto della sottosezione. Modificate le linee 42-43: da:
a:
>>>>>>> Modificata la linea 45: da:
Contenuto della sottosezione. a:
Contenuto della sottosezione. Modificate le linee 6-10: da:
!!Sezione Contenuto della sezione. a:
!!Sensore sonar !!!Caratteristiche Tecniche *Emette un segnale agli ultrasuoni (pulse) che viaggia verso un'oggetto riflettente. *Riceve l'eco del segnale. *Misura il ritardo tra l'invio del segnale e la ricezione dell'eco. *Calcola la distanza dall'oggetto in questo modo: **T = temperatura dell'aria **t = tempo di volo del segnale (andata + ritorno) **d = distanza coperta (andata + ritorno) {$ d=vt $} *Lo stesso sensore agisce sia da emettitore che da ricevitore *Ovviamente la risoluzione del sonar varia a seconda del modello. In linea di massima comunque i sonar possono rilevare ostacoli posti ad una distanza compresa tra 0.2 e 10m con una precisione di 0.03m (meno dei laser) !!!Possibili sorgenti di errore *Interferenza con altri segnali. http://www.engin.umich.edu/research/mrl/00morobitem_158.jpg"Sonars crosstalk" | '''Interferenza diretta (a sinistra) e indiretta (a destra)''' !!Griglia di occupazione (Occupancy grid) Immagine pag 10 (da inserire) *0 rappresenta la certezza che la cella sia vuota. *1 rappresenta la certezza che la cella sia piena. *0.5 rappresenta la totale incertezza. 19/10/2006 ore 21:03 CEST
di - Creazione della pagina
Aggiunte le linee 1-12:
!Lezione 6: le mappe di occupazione (L1.7) '''Autori:''' [[Profiles/Testa | Testa]]\\ '''Hanno contribuito:''' ->'''Sommario''' ->[-Contenuto del sommario.-] !!Sezione Contenuto della sezione. !!!Sottosezione Contenuto della sottosezione. |