Outils pour utilisateurs

Outils du site


projets:plim:20142015:gr8

Ceci est une ancienne révision du document !


MAIN INFORMATIONS about the Project

This project is part of the “Plateformes Logicielles pour l’Informatique Mobile” (Software Platforms for Mobile Computing) course in our last year of Computer Science Engineering studies. It consists of developing a Windows Phone 8 mobile app that leverages the various sensors available on a smartphone, and using Machine Learning techniques to categorize the measured data and detecting different possible states. In our case, the measured information is the geographic location of the device.

MEMBERS

[Montana][Perron]

Name of the members of the Group

  • MONTANA
  • Thomas
  • IHM
  • montana@polytech.unice.fr
  • PERRON
  • Morgane
  • IHM
  • perron@polytech.unice.fr

Equipments

  • Model and Type of your phone : Iphone and Huawei
  • Personal Windows Phone Y/N : N
  • IMEI of the phone (that you have created your developer account) : 358721050411700

Contents of the Project

The application contains one main view that serves as a demonstration of the clustering algorithm we used. The sample data used for the clustering is manually entered by telling the device to record its current GPS coordinates (read from its Assisted GPS sensor) to a local database. We use the namespace Windows.Devices.Geolocation to access the current position of the device. We used the AlgLib C# library to compute the coordinates clusters in our application. It implements the well-known K-Means cluster analysis algorithm, which partitions n vectors (in our case, dimension 2 GPS coordinates vectors) into k < n clusters. It is possible to set the number of clusters to look for, and run the algorithm, which will compute the different cluster centers (GPS coordinates). Currently, the results are stored in a local variable, then displayed on-screen. Once the clusters have been computed, the user can ask his phone to locate him and tell him which cluster he is currently located in. In the same way that the position vectors are partitioned, we compare the distance from the current location to each cluster center and select the nearest one to determine where it falls on the partition.

The obtained information is displayed on the screen in the following way: * Cluster #0: lat23.0, lon145.2 * Cluster #1: lat27.4, lon145.6 * … * Cluster #k: lat54.1, lon103.5

The interface also shows the last coordinates recorded to the sample data and the number of coordinates saved in the local database.

When the user wants to know which cluster he is currently located in, an alert dialog is displayed indicating the index of the cluster.

Our idea for this project came from our interest for Human-Machine Interactions, and particularly the problem of HMI adaptation based on the usage context (which represents the variables of the User, the Device and the Environment). Since a user doesn’t use his phone the same way when he is at work or at home, for example, his phone should be “intelligent” enough to detect context information (here the environment) and dynamically adapt its features. We thought the easiest way (but still efficient) to detect this information would be to use the user’s location and set geographic areas. Changing area would trigger the UI adaptation. To recognize the different areas, we would use sample data provided by the user and a machine learning algorithm to determine the clusters.

We didn’t have enough time to implement the adaptation, but were able to implement the cluster recognition from the data measured with the GPS sensor.

SOFTWARE PACKAGES of the Project

  • README File

Requirements: * A PC computer running Windows 8.1 * Visual Studio Professional 2013 SP2 * Windows Phone 8.1 Silverlight SDK * A Windows Phone running WP8.1 for real-life tests

Steps to open and run the project: - Uncompress the Project_gr8.zip archive - Open the LearningMachine/LearningMachine.sln project file with Visual Studio - Run the application on the Windows Phone Emulator (8.1) or with a Windows Phone running WP8.1 Silverlight

  • Project archive

Project_gr8.zip

HOW TO USE IT

- Launch the app.

- You can add your current coordinates to the sample data DB by pressing the “+” button. The Location Count field will update to show the number of items in the DB and the Latest Measure field will show the coordinates you just added (your current location).

- Once there are enough coordinates in the sample DB, you can run the K-Means clustering algorithm, by setting the number of clusters to detect (which must never be greater than the Location Count) and then tapping the “Run clustering” button. - The clusters will be printed in the text box below the button, along with their center’s coordinates (computed by averaging every point inside the cluster).

- To know which cluster you’re currently located in, tap the “Where am I ?” button, which will display an alert box displaying your current cluster’s index (0 = first on the list).

RESULTS

In this project, we were able to: * Use mainstream UI elements and manage interactions with them. * Get asynchronously the GPS coordinates of the device. * Persist data in a local Object-Relational database. * Run a clustering algorithm with an existing data processing library. * Determine which cluster a GPS Coordinates point falls in.

Evolutions du projet

La première évolution de notre projet serait de définir un périmètre pour chaque cluster afin de vraiment pouvoir définir des zones (ex: Maison, Polytech). Puis notre projet pourra définir le nom de chaque zone et d’inclure l’action d’ouvrir des url dès que l’utilisateur entrera dans la zone. (ex: ouvrir http://edt.polytech.unice.fr/ en rentrant dans la zone Polytech). L’utilisateur pourra en suite, ajouter, modifier le nom des zones ou les url à ouvrir et supprimer une zone.

CONSIGNES ET RAPPELS

Some Instructions :
  1. Warning : everything must be written in english ….
  2. Warning : every added file (ex. figures, picture, sources, binaries, video …) must be added through a web links on a Web repository. You can use such a syntax to integrate the link in this page :
     [[http://example.com|Lien externe]] 
  3. For more informations on DokuWiki syntax go to syntax dokuwiki
projets/plim/20142015/gr8.1416307969.txt.gz · Dernière modification : 2014/11/18 10:52 de perron