Next: Osservazione sui tipi di
Up: Realizzazione del metodo di
Previous: Richiamo teorico alle operazioni
  Indice
In Figura A.2 sono presenti i file del programma che si trovano nella directory principale
(Essa si trova in /home/galtarossa nel computer del robot MORO2:
il nome della directory del programma di esplorazione è del tipo: FLEA-<versione>).
La directory laser contiene le librerie d'uso del laser, necessarie per rilevare
le scansioni, robuter contiene le librerie necessarie al movimento del robot
e alle rilevazioni odometriche.
In _TODO_ ci sono brevi note di compilazione ed esecuzione del programma.
I file di programma sono tutti quelli che hanno l'estensione
.cpp .h, eccetto quelli delle librerie che sono
file .c e .h. I file .txt contengono le mappe parziali, i log e le coordinate
dei candidati e vengono generati in modo automatico a runtime. Allo stesso modo vengono
generati anche i file postscript contenenti le snapshot delle mappe che vengono visualizzate
a video durante l'esecuzione dell'algoritmo. I file delle mappe vengono numerati
a seconda dell'iterazione dell'algoritmo (il numero è in testa al nome del file)
e sono raggruppabili secondo le seguenti categorie:
- *both* sono i file che contengono immagini in cui sono presenti due mappe riferite
allo stesso sistema di assi coordinati:
un nuovo scan e una mappa parziale, una mappa parziale e la corrente mappa globale, i candidati e
la mappa globale costruita fino a quel momento, ....
- *map* contiene la mappa globale costruita fino all'iterazione corrente
con eventualmente altri elementi (candidati, mappe parziali, ...).
- *new_scan* contiene la mappa parziale costruita nelle diverse iterazioni.
- *cluster* contiene una mappa (globale o parziale) a valle della procedura di clustering.
- *scan* contiene le singole scansioni eseguite per costruire la mappa parziale nella posizione corrente del robot.
- *cand* contiene i candidati generati per la scelta della successiva posizione di esplorazione.
I file eseguibili sono:
- c compila il programma con il compilatore GCC 2.9*.
- ccc compila il programma con il compilatore di default.
- c_debug compila il programma attivando il flag di debug per
la numerazione delle righe (vedere man g++),
utile per verificare l'esecuzione del programma con GDB.
- c_opt fornisce una compilazione ottimizzante per il sistema in uso.
- e è il file eseguibile contenente il valore di default
per i parametri in ingresso al programma.
- flea rappresenta il file eseguibile ottenuto dalla compilazione.
Per compilare il programma è sufficiente digitare c oppure ./c nella directory
del programma (a seconda che il proprio PATH contenga anche la directory corrente o meno: per verificarlo
digitare ``echo $PATH'').
Per eseguire il programma basta digitare ``e'' oppure ``./e''
nella directory del programma
per usare i parametri di default.
Per passare al programma valori parametrici
diversi usare ``e n m'' oppure ``./e n m'', dove
n è il numero di passi di esplorazione che si vogliono eseguire e m rappresenta
il numero scelto per la generazione dei candidati. Sono disponibili tre possibili scelte:
- 1: genera 40A.1 candidati equidistanziati su un cerchio di raggio max_scan_lenght/2A.2
- 2: genera 40 candidati in modo random su una corona circolare di raggio compreso
tra max_scan_lenght/3 e 2*max_scan_lenght/3.
- 3: genera solo 4 candidati davanti, dietro e ai lati del robot: questa opzione serve
per verificare i parametri di scelta del candidato ottimo.
Per questo motivo accanto ai candidati viene inserito il valore
corrente dei parametri di scelta. L'immagine che visualizza i candidati durante l'esecuzione del programma
viene anche salvata nel file plot_circles.ps (vedi Figura A.1).
Figura A.1:
Parametri di scelta della nuova posizione di esplorazione
|
|
Figura A.2:
Directory del programma e relativo contenuto
|
|
Il programma durante la sua esecuzione scrive su standard output alcune indicazioni
sulle operazioni che compie e sui valori correnti dei parametri di scelta dei candidati.
Sono state inserite delle pause per permettere le visualizzazione dei messaggi più
importanti e degli eventuali errori (es.: fallimento delle rilevazioni odometriche).
Alla fine dell'esecuzione il file log.txt contiene alcune tra le informazioni visualizzate
a video durante il processo di esplorazione. All'avvio il programma pulisce lo
schermo e stampa i parametri passati da riga di comando e le informazioni riguardanti l'inizializzazione
dell'apparato odometrico del robot:
Durante l'esecuzione del programma verranno visualizzate a video immagini della mappa in costruzione,
della generazione dei candidati, del path del robot e della scelta del candidato ottimo per la
prossima posizione di esplorazione (vedi Figura A.3). Esse possono essere utili per verificare
visivamente la correttezza delle operazioni effettuate dal robot durante l'esplorazione.
Figura A.3:
Immagine dello schermo con i dati visualizzati e i plot a video.
|
|
Next: Osservazione sui tipi di
Up: Realizzazione del metodo di
Previous: Richiamo teorico alle operazioni
  Indice
umberto
2004-04-16