SlideShare a Scribd company logo
Università degli Studi di Milano Bicocca
Facoltà di Scienze Matematiche Fisiche e Naturali
Corso di Laurea in Informatica
Controllo di un'entità mobile da
un'applicazione Android
Relatore:
Dott.ssa Daniela Micucci
Correlatore:
Dott. Francesco Fiamberti
Relazione della prova finale di:
Emanuele Cucci
Matricola 717558
Sessione di Laurea: Febbraio 2014
Anno Accademico 2012-2013
Cucci Emanuele 717558
Controllo di un'entità mobile da un'applicazione Android
2
Obiettivi
Realizzazione di un'applicazione Android che permetta di
monitorare e controllare l'entità mobile Poomba utilizzando la
piattaforma SIS.
SIS
Device Android Poomba
Cucci Emanuele 717558
Controllo di un'entità mobile da un'applicazione Android
3
Soluzione preesistente
SIS
Poo-Commander
L'applicazione Android
che permette di
visualizzare la posizione
di Poomba e di
comandarne lo
spostamento
PathFinder
L'applicazione che
determina il percorso
minimo tra la posizione
attuale di Poomba e la
destinazione
ModMap
L'applicazione che
aggiorna lo stato di
Poomba in termini di
posizione e
orientamento
Poo-Execute
L'applicazione Android
che converte il
cammino minimo in
una sequenza di
comandi da inviare a
Poomba.
Cucci Emanuele 717558
Controllo di un'entità mobile da un'applicazione Android
4
Problematiche
Poo-Commander Client Poomba
Cucci Emanuele 717558
Controllo di un'entità mobile da un'applicazione Android
5
Struttura del software
Grid2D
SAL
Details Flows.MobileEntities
Grid2D
SAL1
Grid2D
SAL2Grid2D
CORR
PoombaOstacolo
- Definizione di ulteriori spazi
- Inspect su SIS nella fase di costruzione
INSPECT
Cucci Emanuele 717558
Controllo di un'entità mobile da un'applicazione Android
6
Struttura del software
Rappresentazione grafica dell'ambiente con grafo
Cucci Emanuele 717558
Controllo di un'entità mobile da un'applicazione Android
7
Struttura del software
Rappresentazione grafica dell'ambiente con planimetria
Cucci Emanuele 717558
Controllo di un'entità mobile da un'applicazione Android
8
Struttura del software
Rappresentazione grafica di una stanza
Cucci Emanuele 717558
Controllo di un'entità mobile da un'applicazione Android
9
Struttura del software
- Pubblicazione delle coordinate di destinazione
- Polling e ispezione del cambiamento di stato delle locazioni
publish
Grid2D
SAL
Flows.MobileEntities
Poomba
Cucci Emanuele 717558
Controllo di un'entità mobile da un'applicazione Android
10
Sperimentazione
Device utilizzato: Samsung Galaxy Tab (Android 4.0.4)
Entità mobile: Poomba
Test effettuato sulla porzione di edificio U14 definita in SIS
Video – Client Poomba
http://www.youtube.com/watch?v=Sqf2bvwUSc0
Video – Client Poomba (solo movimento)
http://www.youtube.com/watch?v=uqLQ9AfFL8M
Cucci Emanuele 717558
Controllo di un'entità mobile da un'applicazione Android
11
Sviluppi futuri

Miglioramento dell'interfaccia
grafica delle stanze rendendola
più dinamica gestendo le opzioni
di ingrandimento e
rimpicciolimento della griglia.

La visualizzazione della stanza
potrebbe essere ottimizzata
aggiungendo le immagini degli
oggetti presenti in essa tenendo
conto delle celle che la
rappresentano.

More Related Content

Similar to Controllo di un'entità mobile da un'applicazione Android - 2013/2014

Android Visual Odometry
Android Visual OdometryAndroid Visual Odometry
Android Visual OdometryMarco Righini
 
Presentazione laurea
Presentazione laureaPresentazione laurea
Presentazione laureamikydevelop
 
follow-app BOOTCAMP 3: Android
follow-app BOOTCAMP 3: Androidfollow-app BOOTCAMP 3: Android
follow-app BOOTCAMP 3: AndroidQIRIS
 
OpenGeoData Italia 2014 Fabio Rinnone e Gianfranco Di Pietro “Come costruire...
OpenGeoData Italia 2014 Fabio Rinnone e Gianfranco Di Pietro  “Come costruire...OpenGeoData Italia 2014 Fabio Rinnone e Gianfranco Di Pietro  “Come costruire...
OpenGeoData Italia 2014 Fabio Rinnone e Gianfranco Di Pietro “Come costruire...giovannibiallo
 
Acadevmy - AngularDay 2018 - Change Detection, Zone.js ed altri mostri
Acadevmy - AngularDay 2018 - Change Detection, Zone.js ed altri mostriAcadevmy - AngularDay 2018 - Change Detection, Zone.js ed altri mostri
Acadevmy - AngularDay 2018 - Change Detection, Zone.js ed altri mostriFrancesco Sciuti
 
Smart pon04a3 00402
Smart pon04a3 00402Smart pon04a3 00402
Smart pon04a3 00402abbia18
 
v2 Presentazione Lelli
v2 Presentazione Lelliv2 Presentazione Lelli
v2 Presentazione LelliMatteo Lelli
 
Android App Development - Unimore
Android App Development - UnimoreAndroid App Development - Unimore
Android App Development - UnimoreNicola Corti
 
Slide vincenzo masullo
Slide vincenzo masulloSlide vincenzo masullo
Slide vincenzo masullovinc3nt83
 

Similar to Controllo di un'entità mobile da un'applicazione Android - 2013/2014 (9)

Android Visual Odometry
Android Visual OdometryAndroid Visual Odometry
Android Visual Odometry
 
Presentazione laurea
Presentazione laureaPresentazione laurea
Presentazione laurea
 
follow-app BOOTCAMP 3: Android
follow-app BOOTCAMP 3: Androidfollow-app BOOTCAMP 3: Android
follow-app BOOTCAMP 3: Android
 
OpenGeoData Italia 2014 Fabio Rinnone e Gianfranco Di Pietro “Come costruire...
OpenGeoData Italia 2014 Fabio Rinnone e Gianfranco Di Pietro  “Come costruire...OpenGeoData Italia 2014 Fabio Rinnone e Gianfranco Di Pietro  “Come costruire...
OpenGeoData Italia 2014 Fabio Rinnone e Gianfranco Di Pietro “Come costruire...
 
Acadevmy - AngularDay 2018 - Change Detection, Zone.js ed altri mostri
Acadevmy - AngularDay 2018 - Change Detection, Zone.js ed altri mostriAcadevmy - AngularDay 2018 - Change Detection, Zone.js ed altri mostri
Acadevmy - AngularDay 2018 - Change Detection, Zone.js ed altri mostri
 
Smart pon04a3 00402
Smart pon04a3 00402Smart pon04a3 00402
Smart pon04a3 00402
 
v2 Presentazione Lelli
v2 Presentazione Lelliv2 Presentazione Lelli
v2 Presentazione Lelli
 
Android App Development - Unimore
Android App Development - UnimoreAndroid App Development - Unimore
Android App Development - Unimore
 
Slide vincenzo masullo
Slide vincenzo masulloSlide vincenzo masullo
Slide vincenzo masullo
 

Controllo di un'entità mobile da un'applicazione Android - 2013/2014

  • 1. Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Controllo di un'entità mobile da un'applicazione Android Relatore: Dott.ssa Daniela Micucci Correlatore: Dott. Francesco Fiamberti Relazione della prova finale di: Emanuele Cucci Matricola 717558 Sessione di Laurea: Febbraio 2014 Anno Accademico 2012-2013
  • 2. Cucci Emanuele 717558 Controllo di un'entità mobile da un'applicazione Android 2 Obiettivi Realizzazione di un'applicazione Android che permetta di monitorare e controllare l'entità mobile Poomba utilizzando la piattaforma SIS. SIS Device Android Poomba
  • 3. Cucci Emanuele 717558 Controllo di un'entità mobile da un'applicazione Android 3 Soluzione preesistente SIS Poo-Commander L'applicazione Android che permette di visualizzare la posizione di Poomba e di comandarne lo spostamento PathFinder L'applicazione che determina il percorso minimo tra la posizione attuale di Poomba e la destinazione ModMap L'applicazione che aggiorna lo stato di Poomba in termini di posizione e orientamento Poo-Execute L'applicazione Android che converte il cammino minimo in una sequenza di comandi da inviare a Poomba.
  • 4. Cucci Emanuele 717558 Controllo di un'entità mobile da un'applicazione Android 4 Problematiche Poo-Commander Client Poomba
  • 5. Cucci Emanuele 717558 Controllo di un'entità mobile da un'applicazione Android 5 Struttura del software Grid2D SAL Details Flows.MobileEntities Grid2D SAL1 Grid2D SAL2Grid2D CORR PoombaOstacolo - Definizione di ulteriori spazi - Inspect su SIS nella fase di costruzione INSPECT
  • 6. Cucci Emanuele 717558 Controllo di un'entità mobile da un'applicazione Android 6 Struttura del software Rappresentazione grafica dell'ambiente con grafo
  • 7. Cucci Emanuele 717558 Controllo di un'entità mobile da un'applicazione Android 7 Struttura del software Rappresentazione grafica dell'ambiente con planimetria
  • 8. Cucci Emanuele 717558 Controllo di un'entità mobile da un'applicazione Android 8 Struttura del software Rappresentazione grafica di una stanza
  • 9. Cucci Emanuele 717558 Controllo di un'entità mobile da un'applicazione Android 9 Struttura del software - Pubblicazione delle coordinate di destinazione - Polling e ispezione del cambiamento di stato delle locazioni publish Grid2D SAL Flows.MobileEntities Poomba
  • 10. Cucci Emanuele 717558 Controllo di un'entità mobile da un'applicazione Android 10 Sperimentazione Device utilizzato: Samsung Galaxy Tab (Android 4.0.4) Entità mobile: Poomba Test effettuato sulla porzione di edificio U14 definita in SIS Video – Client Poomba http://www.youtube.com/watch?v=Sqf2bvwUSc0 Video – Client Poomba (solo movimento) http://www.youtube.com/watch?v=uqLQ9AfFL8M
  • 11. Cucci Emanuele 717558 Controllo di un'entità mobile da un'applicazione Android 11 Sviluppi futuri  Miglioramento dell'interfaccia grafica delle stanze rendendola più dinamica gestendo le opzioni di ingrandimento e rimpicciolimento della griglia.  La visualizzazione della stanza potrebbe essere ottimizzata aggiungendo le immagini degli oggetti presenti in essa tenendo conto delle celle che la rappresentano.

Editor's Notes

  1. Lo scopo è quello di realizzare un software che permetta di pilotare un'entità mobile di nome Poomba sfruttando una piattaforma già esistente SIS. (Space Integration Services) SIS è una piattaforma che permette la comunicazione tra applicazioni in maniera trasparente, Le applicazioni in questo modo non comunicano direttamente. *SIS permette di definire spazi e mapping *uno spazio è un'istanza di tipologia spaziale definito come un insieme di locazioni (nel nostro caso ogni stanza è uno spazio a griglia e le sue locazioni sono le singole celle) *mapping: correlazione tra locazioni di spazi differenti *utilizza i metodi publish() e subscribe() per far fluire le informazioni *publish(): permette di pubblicare su un determinato locator una ThematicInfo *subscribe(): permette di iscriversi ad uno spazio e ricevere le pubblicazioni effettuate sullo spazio Poomba è l'entità mobile realizzata all'interno del dipartimento di informatica, realizzata a basso costo dotata di sensori laser, videocamera e magnetometro. L'applicazione sarà sviluppata in Java per il sistema operativo Android e installata poi su un dispositivo smartphone o tablet dotato di connessione WIFI.
  2. Questa soluzione è stata già sviluppata mediante 4 applicazioni: (vedi slide)
  3. L'interfaccia dell'applicazione Poo-Commander non era chiara per l'interazione con l'utente. La visione dell'ambiente era rappresentata mediante una griglia di numeri, molto difficile da interpretare dall'utente finale. Si è pensato quindi di perfezionarla andando a sviluppare una visualizzazione planimetrica, ovvero vista dall'alto, ottenendo una riproduzione coerente a quella reale. L'applicazione, inoltre, possiede nuove opzioni di visualizzazione dell'ambiente, come ad esempio la possibilità di visualizzare il sistema mediante un grafo. Interfaccia chiara, innovativa ed orientata al miglioramento della user experience. Un altro svantaggio, dell'applicazione precedente ma poi implementato in Client Poomba, è dato dalla portabilità del codice consentendo la sua esecuzione in ambienti diversi da quello originario. Il design è uno dei fattori più importanti in ambito mobile, non è sufficiente che un'applicazione funzioni, deve anche essere elegante e gradevole alla vista. Per questo motivo, Client Poomba segue lo stile Holo ( cosi chiamata l'interfaccia di Android ICS ), in modo da creare uno standard per tutti e, di conseguenza, creare più omogenuità nello sviluppo delle applicazioni. Il nuovo look di Client Poomba rappresenta un bel passo avanti rispetto alla versione precedente. L'applicazione, infatti, ha aggiunto nuove funzioni di rappresentazioni interessanti, tra cui la possibilità di scegliere e visionare in modo più dettagliato le stanze; risultando, quindi, più intuitiva e facile da utilizzare.
  4. Grafo – Planimetria – Stanza dettagliata Per questo motivo è stato necessario definire ulteriori spazi e un inspect su SIS nella fase di costruzione
  5. offre all'utente la visione dell'ambiente in forma a grafo realizzando una interfaccia grafica che mostra tutte le stanze e i collegamenti di esse. Nodi = stanze Archi = stanze comunicanti L'utilizzo di un grafo rende molto più intuitiva e veloce la consultazione delle informazioni sull'ambiente globale. Oltre al grafo sarà indicata la posizione dell'entità mobile all'interno dell'ambiente con un piccolo fumetto che apparirà ogni qual volta l'utente effettuerà un evento touchscreen. accedere ad una precisa stanza nella mappa tramite la sua selezione navigazione a schede, una funzione che consente di accedere a più pagine mantenendo però il tutto all'interno di una sola finestra, in modo da semplificare la navigazione tra l'una e l'altra.
  6. (vedi slide precedente) Diversamente dalla rappresentazione a grafo sarà possibile distinguere la grandezza delle stanze all'interno dello spazio globale. Predispone algoritmi che permettono una rappresentazione in scala delle stanze in base alle grandezze fisiche che misurano. SELEZIONE DELLA STANZA
  7. interfaccia grafica atta a visualizzare all'utente tutte le informazioni di una determinata stanza entrando in dettaglio maggiore rispetto alla visualizzazione globale. Si presenta sotto forma di griglia, necessaria a suddividere lo spazio in celle, cosi da permettere di avere uno spostamento più accurato dell'entità mobile. Inoltre l'interfaccia grafica deve essere realizzata in modo tale da fornire per ogni cella un colore che ne rappresenti in modo intuitivo il suo stato. Troveremo, dunque, celle di colore marrone (celle libere) o di colore nero (celle occupate). Ovviamente le celle coperte rappresenteranno tutti i punti in cui l'entità mobile non potrà accedere e quindi non saranno selezionabili. Questa interfaccia riesce ad indicare in maniera più precisa tutte le posizioni in cui Poomba può muoversi all'interno della stanza selezionata. Se l'utente desidera effettuare uno spostamento dell'entità mobile, selezionerà una cella libera e Poomba inizierà a muoversi.
  8. Grafo – Planimetria – Stanza dettagliata Per questo motivo è stato necessario definire ulteriori spazi e un inspect su SIS nella fase di costruzione
  9. Video di presentazione dell'applicazione
  10. Trattandosi di un progetto sperimentale gli sviluppi futuri sono molteplici Due funzionalità che aumentano l'interazione con l'utente sono: (vedi slide) Immagini = applicazione risulta più intuitiva